diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index df49c1d6b0f2e22bd12156d7f956b64f2f8c0418..83abd90fc9e1a62e9e2d300f69b1746d3d0b01bd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,60 +1,178 @@
+workflow:
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED != "true"'
+      when: never
+    - when: always
+
 stages:
   - build
   - test
   - check
   - deploy
+  - smoketest
+
+default:
+  tags:
+    - exec-docker
 
 .dind:
   tags:
     - exec-dind
   # see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
   # for image usage and settings for building with TLS and docker in docker
-  image: docker:19.03.1
+  image: docker:20.10.12
   services:
-    - docker:19.03.1-dind
+    - docker:20.10.12-dind
   variables:
     DOCKER_TLS_CERTDIR: "/certs"
 
+.kaniko-push:
+  image:
+    name: gcr.io/kaniko-project/executor:debug
+    entrypoint: [""]
+  script:
+    - mkdir -p /kaniko/.docker
+    - echo "{\"auths\":{\"${CR_HOST}\":{\"auth\":\"$(printf "%s:%s" "${CR_USER}" "${CR_PW}" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
+    - >
+      if [ $IMAGE_TAG ]; then
+        KANIKO_D="$KANIKO_D -d $CR_HOST/$CR_ORG/$IMAGE_NAME:$IMAGE_TAG"
+        export PUBLISHED_IMAGE_TAG=$IMAGE_TAG
+      elif [ $CI_COMMIT_TAG ]; then
+        KANIKO_D="$KANIKO_D -d $CR_HOST/$CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
+        export PUBLISHED_IMAGE_TAG=$CI_COMMIT_TAG
+      else
+        DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
+        KANIKO_D="$KANIKO_D -d $CR_HOST/$CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
+        KANIKO_D="$KANIKO_D -d $CR_HOST/$CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
+        export PUBLISHED_IMAGE_TAG=$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA
+      fi
+    - "[ $DOCKERFILE ] && KANIKO_DOCKERFILE=\"--dockerfile $DOCKERFILE\""
+    - "BUILD_ARGS=$(printenv | sed -n 's/BUILD_ARG_/--build-arg=/p')"
+    - /kaniko/executor --context `pwd`/$CONTEXT $KANIKO_DOCKERFILE $KANIKO_D $BUILD_ARGS
+    - echo "PUBLISHED_IMAGE_TAG=$PUBLISHED_IMAGE_TAG" >> $CI_PROJECT_DIR/build.env
+  artifacts:
+    reports:
+      dotenv: build.env
+
 
 # Theodolite Docs
 
-build-docs:
-  stage: build
-  image: ruby:2.7
-  tags:
-    - exec-docker
+.docs:
+  image: alpine/bundle:3.0.3
   cache:
     paths:
       - docs/vendor
   before_script:
     - cd docs
-    - gem install bundler
     - bundle config set --local path 'vendor'
     - bundle install
+  rules:
+    - changes:
+      - docs/**/*
+    - when: manual
+      allow_failure: true
+
+build-docs:
+  stage: build
+  extends: .docs
   script: bundle exec jekyll build
   artifacts:
     paths:
       - docs/_site
 
+test-docs-links:
+  stage: test
+  extends: .docs
+  needs:
+    - build-docs
+  script: bundle exec htmlproofer --assume-extension --allow_hash_href ./_site
+
+build-docs-crds:
+  stage: build
+  image:
+    name: ghcr.io/fybrik/crdoc:0.6.1
+    entrypoint: [""]
+  script: /crdoc --resources theodolite/crd/ --template docs/api-reference/crds.tmpl --output docs/api-reference/crds.ref.md
+  artifacts:
+    paths:
+      - docs/api-reference/crds.ref.md
+    expire_in: 1 week
+  rules:
+    - changes:
+      - docs/api-reference/crds.tmpl
+      - theodolite/crd/**/*
+    - when: manual
+      allow_failure: true
+
+test-docs-crds-regression:
+  stage: test
+  needs:
+    - build-docs-crds
+  image: alpine:3.15
+  before_script:
+    - cd docs
+  script:
+    - cmp api-reference/crds.md api-reference/crds.ref.md
+  artifacts:
+    when: on_failure
+    paths:
+      - docs/api-reference/crds.ref.md
+    expire_in: 1 week
+
 
 # Theodolite Helm Chart
 
 lint-helm:
   stage: check
+  needs: []
   image:
     name: alpine/helm:3.5.2
     entrypoint: [""]
-  tags:
-    - exec-docker
   script: helm lint helm/
+  rules:
+  - changes:
+    - helm/**/*
+  - when: manual
+    allow_failure: true
+
+test-helm:
+  stage: smoketest
+  extends: .dind
+  needs:
+    - lint-helm
+    # - deploy-theodolite
+  image: ghcr.io/cau-se/theodolite-build-k3d-helm:20.10.12
+  variables:
+    CLUSTERNAME: "$CI_PROJECT_NAME-$CI_PIPELINE_ID"
+  cache:
+    paths:
+      - helm/charts
+  before_script:
+    - k3d help
+    - k3d version
+    #- k3d cluster create testgitlabci --agents 1 --wait -p "30000:30000@agent[0]"
+    - k3d cluster create $CLUSTERNAME --agents 1 --wait -p "30000:30000@agent:0" # k3d 5.0
+    # show cluster info
+    - kubectl cluster-info
+    - helm version
+  script:
+    # Display initial pods, etc.
+    - cd helm
+    - helm dependencies update .
+    - helm install theodolite . -f preconfigs/minimal.yaml --wait
+    - kubectl get nodes -o wide
+    - kubectl get pods --all-namespaces -o wide
+    - kubectl get services --all-namespaces -o wide
+    - helm test theodolite
+  after_script:
+    - k3d cluster delete $CLUSTERNAME
 
 
 # Theodolite Benchmarks
 
 .benchmarks:
   image: openjdk:11-jdk
-  tags:
-    - exec-docker
   variables:
     GRADLE_OPTS: "-Dorg.gradle.daemon=false"
   cache:
@@ -64,6 +182,11 @@ lint-helm:
   before_script:
     - export GRADLE_USER_HOME=`pwd`/.gradle
     - cd theodolite-benchmarks
+  rules:
+    - changes:
+      - theodolite-benchmarks/**/*
+    - when: manual
+      allow_failure: true
 
 build-benchmarks:
   stage: build
@@ -83,6 +206,7 @@ test-benchmarks:
     - build-benchmarks
   script: ./gradlew test --continue
   artifacts:
+    when: always
     reports:
       junit:
         - "theodolite-benchmarks/**/build/test-results/test/TEST-*.xml"
@@ -130,32 +254,22 @@ spotbugs-benchmarks:
   stage: deploy
   extends:
     - .benchmarks
-    - .dind
+    - .kaniko-push
   needs:
     - build-benchmarks
     - checkstyle-benchmarks
     - pmd-benchmarks
     - spotbugs-benchmarks
-  script:
-    - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-    - docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
-    - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
-    - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-    - "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
-    - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-    - docker push $CR_HOST/$CR_ORG/$IMAGE_NAME
-    - docker logout
+  variables:
+    CONTEXT: "/$JAVA_PROJECT_NAME"
+  #before_script:
+  #  - cd theodolite-benchmarks/$JAVA_PROJECT_NAME
   rules:
-    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
-      when: always
     - changes:
       - theodolite-benchmarks/*
       - theodolite-benchmarks/$JAVA_PROJECT_NAME/**/*
-      - theodolite-benchmarks/kstreams-commons/**/*
-      - theodolite-benchmarks/flink-commons/**/*
-      - theodolite-benchmarks/load-generator-commons/**/*
-      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
-      when: always
+      - theodolite-benchmarks/{commons,$JAVA_PROJECT_DEPS}/**/*
+      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $JAVA_PROJECT_DEPS"
     - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
       when: manual
       allow_failure: true
@@ -165,82 +279,378 @@ deploy-uc1-kstreams:
   variables:
     IMAGE_NAME: "theodolite-uc1-kstreams-app"
     JAVA_PROJECT_NAME: "uc1-kstreams"
+    JAVA_PROJECT_DEPS: "kstreams-commons"
 
 deploy-uc2-kstreams:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc2-kstreams-app"
     JAVA_PROJECT_NAME: "uc2-kstreams"
+    JAVA_PROJECT_DEPS: "kstreams-commons"
 
 deploy-uc3-kstreams:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc3-kstreams-app"
     JAVA_PROJECT_NAME: "uc3-kstreams"
+    JAVA_PROJECT_DEPS: "kstreams-commons"
 
 deploy-uc4-kstreams:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc4-kstreams-app"
     JAVA_PROJECT_NAME: "uc4-kstreams"
+    JAVA_PROJECT_DEPS: "kstreams-commons"
 
 deploy-uc1-flink:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc1-flink"
     JAVA_PROJECT_NAME: "uc1-flink"
+    JAVA_PROJECT_DEPS: "flink-commons"
 
 deploy-uc2-flink:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc2-flink"
     JAVA_PROJECT_NAME: "uc2-flink"
+    JAVA_PROJECT_DEPS: "flink-commons"
 
 deploy-uc3-flink:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc3-flink"
     JAVA_PROJECT_NAME: "uc3-flink"
+    JAVA_PROJECT_DEPS: "flink-commons"
 
 deploy-uc4-flink:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc4-flink"
     JAVA_PROJECT_NAME: "uc4-flink"
+    JAVA_PROJECT_DEPS: "flink-commons"
+
+deploy-uc1-hazelcastjet:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc1-hazelcastjet"
+    JAVA_PROJECT_NAME: "uc1-hazelcastjet"
+    JAVA_PROJECT_DEPS: "hazelcastjet-commons"
+
+deploy-uc2-hazelcastjet:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc2-hazelcastjet"
+    JAVA_PROJECT_NAME: "uc2-hazelcastjet"
+    JAVA_PROJECT_DEPS: "hazelcastjet-commons"
+
+deploy-uc3-hazelcastjet:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc3-hazelcastjet"
+    JAVA_PROJECT_NAME: "uc3-hazelcastjet"
+    JAVA_PROJECT_DEPS: "hazelcastjet-commons"
+
+deploy-uc4-hazelcastjet:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc4-hazelcastjet"
+    JAVA_PROJECT_NAME: "uc4-hazelcastjet"
+    JAVA_PROJECT_DEPS: "hazelcastjet-commons"
+
+deploy-uc1-beam-flink:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc1-beam-flink"
+    JAVA_PROJECT_NAME: "uc1-beam-flink"
+    JAVA_PROJECT_DEPS: "beam-commons,uc1-beam"
+
+deploy-uc2-beam-flink:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc2-beam-flink"
+    JAVA_PROJECT_NAME: "uc2-beam-flink"
+    JAVA_PROJECT_DEPS: "beam-commons,uc2-beam"
+
+deploy-uc3-beam-flink:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc3-beam-flink"
+    JAVA_PROJECT_NAME: "uc3-beam-flink"
+    JAVA_PROJECT_DEPS: "beam-commons,uc3-beam"
+
+deploy-uc4-beam-flink:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc4-beam-flink"
+    JAVA_PROJECT_NAME: "uc4-beam-flink"
+    JAVA_PROJECT_DEPS: "beam-commons,uc4-beam"
+
+deploy-uc1-beam-samza:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc1-beam-samza"
+    JAVA_PROJECT_NAME: "uc1-beam-samza"
+    JAVA_PROJECT_DEPS: "beam-commons,uc1-beam"
+
+deploy-uc2-beam-samza:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc2-beam-samza"
+    JAVA_PROJECT_NAME: "uc2-beam-samza"
+    JAVA_PROJECT_DEPS: "beam-commons,uc2-beam"
+
+deploy-uc3-beam-samza:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc3-beam-samza"
+    JAVA_PROJECT_NAME: "uc3-beam-samza"
+    JAVA_PROJECT_DEPS: "beam-commons,uc3-beam"
+
+deploy-uc4-beam-samza:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-uc4-beam-samza"
+    JAVA_PROJECT_NAME: "uc4-beam-samza"
+    JAVA_PROJECT_DEPS: "beam-commons,uc4-beam"
 
 deploy-uc1-load-generator:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc1-workload-generator"
     JAVA_PROJECT_NAME: "uc1-load-generator"
+    JAVA_PROJECT_DEPS: "load-generator-commons"
 
 deploy-uc2-load-generator:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc2-workload-generator"
     JAVA_PROJECT_NAME: "uc2-load-generator"
+    JAVA_PROJECT_DEPS: "load-generator-commons"
 
 deploy-uc3-load-generator:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc3-workload-generator"
     JAVA_PROJECT_NAME: "uc3-load-generator"
+    JAVA_PROJECT_DEPS: "load-generator-commons"
 
 deploy-uc4-load-generator:
   extends: .deploy-benchmarks
   variables:
     IMAGE_NAME: "theodolite-uc4-workload-generator"
     JAVA_PROJECT_NAME: "uc4-load-generator"
-      
+    JAVA_PROJECT_DEPS: "load-generator-commons"
+
+deploy-http-bridge:
+  extends: .deploy-benchmarks
+  variables:
+    IMAGE_NAME: "theodolite-http-bridge"
+    JAVA_PROJECT_NAME: "http-bridge"
+    JAVA_PROJECT_DEPS: "load-generator-commons"
+
+.smoketest-benchmarks:
+  stage: smoketest
+  extends:
+    - .dind
+  image: ghcr.io/cau-se/theodolite-build-docker-compose-jq:20.10.12
+  before_script:
+    - cd theodolite-benchmarks/docker-test
+  # variables:
+  #   TEST_LOG_FILE: "test.log"
+  script:
+    - export THEODOLITE_TAG=$PUBLISHED_IMAGE_TAG
+    - ./smoketest-runner.sh ./$DOCKER_COMPOSE_DIR
+    # - cat test.log
+  after_script:
+    - cd ./$DOCKER_COMPOSE_DIR
+    - docker-compose down
+  rules:
+    - changes:
+      - theodolite-benchmarks/*
+      - theodolite-benchmarks/{$JAVA_PROJECT_DEPS}/**/*
+      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $DOCKER_COMPOSE_DIR && $JAVA_PROJECT_DEPS"
+    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $DOCKER_COMPOSE_DIR && $JAVA_PROJECT_DEPS"
+      when: manual
+      allow_failure: true
+
+smoketest-uc1-kstreams:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-kstreams
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-kstreams"
+    JAVA_PROJECT_DEPS: "uc1-kstreams,kstreams-commons,uc1-load-generator,load-generator-commons"
+
+smoketest-uc1-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-flink
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-flink"
+    JAVA_PROJECT_DEPS: "uc1-flink,flink-commons,uc1-load-generator,load-generator-commons"
+
+smoketest-uc1-beam-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-beam-flink
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-beam-flink"
+    JAVA_PROJECT_DEPS: "uc1-beam-flink,uc1-beam,beam-commons,uc1-load-generator,load-generator-commons"
+
+smoketest-uc1-beam-samza:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-beam-samza
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-beam-samza"
+    JAVA_PROJECT_DEPS: "uc1-beam-samza,uc1-beam,beam-commons,uc1-load-generator,load-generator-commons"
+
+smoketest-uc1-hazelcastjet:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc1-hazelcastjet
+    - deploy-uc1-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc1-hazelcastjet"
+    JAVA_PROJECT_DEPS: "uc1-hazelcastjet,hazelcastjet-commons,uc1-load-generator,load-generator-commons"
+
+smoketest-uc2-kstreams:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-kstreams
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-kstreams"
+    JAVA_PROJECT_DEPS: "uc2-kstreams,kstreams-commons,uc2-load-generator,load-generator-commons"
+
+smoketest-uc2-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-flink
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-flink"
+    JAVA_PROJECT_DEPS: "uc2-flink,flink-commons,uc2-load-generator,load-generator-commons"
+
+smoketest-uc2-beam-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-beam-flink
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-beam-flink"
+    JAVA_PROJECT_DEPS: "uc2-beam-flink,uc2-beam,beam-commons,uc2-load-generator,load-generator-commons"
+
+smoketest-uc2-beam-samza:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-beam-samza
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-beam-samza"
+    JAVA_PROJECT_DEPS: "uc2-beam-samza,uc2-beam,beam-commons,uc2-load-generator,load-generator-commons"
+
+smoketest-uc2-hazelcastjet:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc2-hazelcastjet
+    - deploy-uc2-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc2-hazelcastjet"
+    JAVA_PROJECT_DEPS: "uc2-hazelcastjet,hazelcastjet-commons,uc2-load-generator,load-generator-commons"
+
+smoketest-uc3-kstreams:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc3-kstreams
+    - deploy-uc3-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc3-kstreams"
+    JAVA_PROJECT_DEPS: "uc3-kstreams,kstreams-commons,uc3-load-generator,load-generator-commons"
+
+smoketest-uc3-beam-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc3-beam-flink
+    - deploy-uc3-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc3-beam-flink"
+    JAVA_PROJECT_DEPS: "uc3-beam-flink,uc3-beam,beam-commons,uc3-load-generator,load-generator-commons"
+
+smoketest-uc3-beam-samza:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc3-beam-samza
+    - deploy-uc3-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc3-beam-samza"
+    JAVA_PROJECT_DEPS: "uc3-beam-samza,uc3-beam,beam-commons,uc3-load-generator,load-generator-commons"
+
+smoketest-uc3-hazelcastjet:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc3-hazelcastjet
+    - deploy-uc3-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc3-hazelcastjet"
+    JAVA_PROJECT_DEPS: "uc3-hazelcastjet,hazelcastjet-commons,uc3-load-generator,load-generator-commons"
+
+smoketest-uc4-kstreams:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-kstreams
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-kstreams"
+    JAVA_PROJECT_DEPS: "uc4-kstreams,kstreams-commons,uc4-load-generator,load-generator-commons"
+
+smoketest-uc4-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-flink
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-flink"
+    JAVA_PROJECT_DEPS: "uc4-flink,flink-commons,uc4-load-generator,load-generator-commons"
+
+smoketest-uc4-beam-flink:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-beam-flink
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-beam-flink"
+    JAVA_PROJECT_DEPS: "uc4-beam-flink,uc4-beam,beam-commons,uc4-load-generator,load-generator-commons"
+
+smoketest-uc4-beam-samza:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-beam-samza
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-beam-samza"
+    JAVA_PROJECT_DEPS: "uc4-beam-samza,uc4-beam,beam-commons,uc4-load-generator,load-generator-commons"
+
+smoketest-uc4-hazelcastjet:
+  extends: .smoketest-benchmarks
+  needs:
+    - deploy-uc4-hazelcastjet
+    - deploy-uc4-load-generator
+  variables:
+    DOCKER_COMPOSE_DIR: "uc4-hazelcastjet"
+    JAVA_PROJECT_DEPS: "uc4-hazelcastjet,hazelcastjet-commons,uc4-load-generator,load-generator-commons"
 
 # Theodolite Framework
 
 .theodolite:
   image:
-    name: ghcr.io/graalvm/native-image:java11-21.1.0
+    name: ghcr.io/graalvm/native-image:java11-21.3.0
     entrypoint: [""]
-  tags:
-    - exec-docker
   variables:
     GRADLE_OPTS: "-Dorg.gradle.daemon=false"
   cache:
@@ -250,6 +660,11 @@ deploy-uc4-load-generator:
   before_script:
     - export GRADLE_USER_HOME=`pwd`/.gradle
     - cd theodolite
+  rules:
+    - changes:
+      - theodolite/**/*
+    - when: manual
+      allow_failure: true
 
 build-theodolite-jvm:
   stage: build
@@ -257,8 +672,10 @@ build-theodolite-jvm:
   script: ./gradlew --build-cache assemble
   artifacts:
     paths:
-      - "theodolite/build/lib/*"
-      - "theodolite/build/*-runner.jar"
+      - "theodolite/build/quarkus-app/lib/"
+      - "theodolite/build/quarkus-app/*.jar"
+      - "theodolite/build/quarkus-app/app/"
+      - "theodolite/build/quarkus-app/quarkus/"
     expire_in: 6 hours
 
 build-theodolite-native:
@@ -280,6 +697,7 @@ test-theodolite:
     #- build-theodolite-native
   script: ./gradlew test --stacktrace
   artifacts:
+    when: always
     reports:
       junit:
         - "theodolite/**/build/test-results/test/TEST-*.xml"
@@ -306,78 +724,88 @@ deploy-theodolite:
   stage: deploy
   extends:
     - .theodolite
-    - .dind
+    - .kaniko-push
   needs:
     #- build-theodolite-native
     - build-theodolite-jvm
     - test-theodolite
-  script:
-    - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-    #- docker build -f src/main/docker/Dockerfile.native -t theodolite .
-    - docker build -f src/main/docker/Dockerfile.jvm -t theodolite .
-    - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
-    - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-    - "[ $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:$CI_COMMIT_TAG"
-    - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-    - docker push $CR_HOST/$CR_ORG/theodolite
-    - docker logout
+  variables:
+    IMAGE_NAME: theodolite
+    DOCKERFILE: src/main/docker/Dockerfile.jvm
+    #DOCKERFILE: src/main/docker/Dockerfile.native
   rules:
-    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_COMMIT_TAG"
-      when: always
     - changes:
       - theodolite/**/*
       if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
-      when: always
     - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
       when: manual
       allow_failure: true
 
 
-# Theodolite SLO Checker: Lag Trend
+# Theodolite SLO Checker
 
 test-slo-checker-lag-trend:
   stage: test
+  needs: []
   image: python:3.7-slim
-  tags:
-    - exec-docker
-  script:
+  before_script:
     - cd slo-checker/record-lag
+  script:
     - pip install -r requirements.txt
     - cd app
     - python -m unittest
+  rules:
+    - changes:
+      - slo-checker/record-lag/**/*
+    - when: manual
+      allow_failure: true
 
 test-slo-checker-dropped-records-kstreams:
   stage: test
+  needs: []
   image: python:3.7-slim
-  tags:
-    - exec-docker
-  script:
+  before_script:
     - cd slo-checker/dropped-records
+  script:
     - pip install -r requirements.txt
     - cd app
     - python -m unittest
+  rules:
+    - changes:
+      - slo-checker/dropped-records/**/*
+    - when: manual
+      allow_failure: true
+
+test-slo-checker-generic:
+  stage: test
+  needs: []
+  image: python:3.7-slim
+  before_script:
+    - cd slo-checker/generic
+  script:
+    - pip install -r requirements.txt
+    - cd app
+    - python -m unittest
+  rules:
+    - changes:
+      - slo-checker/generic/**/*
+    - when: manual
+      allow_failure: true
 
 deploy-slo-checker-lag-trend:
   stage: deploy
   extends:
-    - .dind
+    - .kaniko-push
   needs:
     - test-slo-checker-lag-trend
-  script:
-    - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-    - docker build --pull -t theodolite-slo-checker-lag-trend slo-checker/record-lag
-    - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite-slo-checker-lag-trend $CR_HOST/$CR_ORG/theodolite-slo-checker-lag-trend:${DOCKER_TAG_NAME}latest"
-    - "[ $CI_COMMIT_TAG ] && docker tag theodolite-slo-checker-lag-trend $CR_HOST/$CR_ORG/theodolite-slo-checker-lag-trend:$CI_COMMIT_TAG"
-    - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-    - docker push $CR_HOST/$CR_ORG/theodolite-slo-checker-lag-trend
-    - docker logout
+  before_script:
+    - cd slo-checker/record-lag
+  variables:
+    IMAGE_NAME: theodolite-slo-checker-lag-trend
   rules:
-    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_COMMIT_TAG"
-      when: always
     - changes:
       - slo-checker/record-lag/**/*
       if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
-      when: always
     - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
       when: manual
       allow_failure: true
@@ -385,24 +813,35 @@ deploy-slo-checker-lag-trend:
 deploy-slo-checker-dropped-records-kstreams:
   stage: deploy
   extends:
-    - .dind
+    - .kaniko-push
   needs:
     - test-slo-checker-dropped-records-kstreams
-  script:
-    - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-    - docker build --pull -t theodolite-slo-checker-dropped-records-kstreams slo-checker/dropped-records
-    - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite-slo-checker-dropped-records-kstreams $CR_HOST/$CR_ORG/theodolite-slo-checker-dropped-records-kstreams:${DOCKER_TAG_NAME}latest"
-    - "[ $CI_COMMIT_TAG ] && docker tag theodolite-slo-checker-dropped-records-kstreams $CR_HOST/$CR_ORG/theodolite-slo-checker-dropped-records-kstreams:$CI_COMMIT_TAG"
-    - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-    - docker push $CR_HOST/$CR_ORG/theodolite-slo-checker-dropped-records-kstreams
-    - docker logout
+  before_script:
+    - cd slo-checker/dropped-records
+  variables:
+    IMAGE_NAME: theodolite-slo-checker-dropped-records-kstreams
   rules:
-    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_COMMIT_TAG"
-      when: always
     - changes:
       - slo-checker/dropped-records/**/*
       if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
-      when: always
+    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
+      when: manual
+      allow_failure: true
+
+deploy-slo-checker-generic:
+  stage: deploy
+  extends:
+    - .kaniko-push
+  needs:
+    - test-slo-checker-generic
+  before_script:
+    - cd slo-checker/generic
+  variables:
+    IMAGE_NAME: theodolite-slo-checker-generic
+  rules:
+    - changes:
+      - slo-checker/generic/**/*
+      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
     - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
       when: manual
       allow_failure: true
@@ -413,24 +852,56 @@ deploy-slo-checker-dropped-records-kstreams:
 deploy-random-scheduler:
   stage: deploy
   extends:
-    - .dind
+    - .kaniko-push
   needs: []
-  script:
-    - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-    - docker build --pull -t theodolite-random-scheduler execution/infrastructure/random-scheduler
-    - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite-random-scheduler $CR_HOST/$CR_ORG/theodolite-random-scheduler:${DOCKER_TAG_NAME}latest"
-    - "[ $CI_COMMIT_TAG ] && docker tag theodolite-random-scheduler $CR_HOST/$CR_ORG/theodolite-random-scheduler:$CI_COMMIT_TAG"
-    - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-    - docker push $CR_HOST/$CR_ORG/theodolite-random-scheduler
-    - docker logout
+  before_script:
+    - cd execution/infrastructure/random-scheduler
+  variables:
+    IMAGE_NAME: theodolite-random-scheduler
   rules:
-    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_COMMIT_TAG"
-      when: always
     - changes:
       - execution/infrastructure/random-scheduler/**/*
       if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
-      when: always
     - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
       when: manual
       allow_failure: true
-      
\ No newline at end of file
+
+deploy-buildimage-docker-compose-jq:
+  stage: deploy
+  extends:
+    - .kaniko-push
+  needs: []
+  variables:
+    DOCKER_VERSION: 20.10.12
+    IMAGE_NAME: theodolite-build-docker-compose-jq
+    IMAGE_TAG: $DOCKER_VERSION
+  before_script:
+    - cd buildimages/docker-compose-jq
+  rules:
+    - changes:
+      - buildimages/docker-compose-jq/Dockerfile
+      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
+    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_PIPELINE_SOURCE == 'web'"
+      when: manual
+      allow_failure: true
+
+deploy-buildimage-k3d-helm:
+  stage: deploy
+  extends:
+    - .kaniko-push
+  needs: []
+  variables:
+    DOCKER_VERSION: 20.10.12
+    BUILD_ARG_DOCKER_VERSION: $DOCKER_VERSION
+    BUILD_ARG_KUBECTL: v1.21.3
+    IMAGE_NAME: theodolite-build-k3d-helm
+    IMAGE_TAG: $DOCKER_VERSION
+  before_script:
+    - cd buildimages/k3d-helm
+  rules:
+    - changes:
+      - buildimages/k3d-helm/Dockerfile
+      if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
+    - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_PIPELINE_SOURCE == 'web'"
+      when: manual
+      allow_failure: true
diff --git a/CITATION.cff b/CITATION.cff
index ca94e1c5039d3aeac3a4535767d5217de4960a6f..160146c844b1d128299617ae8d93ac4af77e4ca0 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -1,6 +1,6 @@
 cff-version: "1.1.0"
 message: "If you use Theodolite, please cite it using these metadata."
-authors: 
+authors:
   - family-names: Henning
     given-names: "Sören"
     orcid: "https://orcid.org/0000-0001-6912-2549"
@@ -8,13 +8,13 @@ authors:
     given-names: Wilhelm
     orcid: "https://orcid.org/0000-0001-6625-4335"
 title: Theodolite
-version: "0.5.1"
+version: "0.7.0"
 repository-code: "https://github.com/cau-se/theodolite"
 license: "Apache-2.0"
 doi: "10.1016/j.bdr.2021.100209"
 preferred-citation:
   type: article
-  authors: 
+  authors:
     - family-names: Henning
       given-names: "Sören"
       orcid: "https://orcid.org/0000-0001-6912-2549"
diff --git a/binder/requirements.txt b/binder/requirements.txt
new file mode 120000
index 0000000000000000000000000000000000000000..6de15663a8c83876719aa07d6cb09b5a7b71df21
--- /dev/null
+++ b/binder/requirements.txt
@@ -0,0 +1 @@
+../analysis/requirements.txt
\ No newline at end of file
diff --git a/buildimages/docker-compose-jq/Dockerfile b/buildimages/docker-compose-jq/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..cd3f60ba3e75ab5767acff788c3bb69c8640cd4c
--- /dev/null
+++ b/buildimages/docker-compose-jq/Dockerfile
@@ -0,0 +1,6 @@
+FROM docker:${DOCKER_VERSION:-latest}
+
+RUN apk update && \
+    apk add jq && \
+    apk add py-pip python3-dev libffi-dev openssl-dev gcc libc-dev rust cargo make && \
+    pip install docker-compose
diff --git a/buildimages/k3d-helm/Dockerfile b/buildimages/k3d-helm/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..496cddd68a230a7ea8b0f73adb9ffa37e35e6719
--- /dev/null
+++ b/buildimages/k3d-helm/Dockerfile
@@ -0,0 +1,14 @@
+ARG DOCKER_VERSION=latest
+
+FROM docker:${DOCKER_VERSION}
+
+ARG KUBECTL_VERSION=v1.21.3
+
+RUN apk add -U wget bash openssl
+# install kubectl
+RUN wget -q -O /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl && \
+    chmod +x /usr/local/bin/kubectl
+# install k3d
+RUN wget -q -O - https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash
+# install Helm
+RUN wget -q -O - https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
diff --git a/codemeta.json b/codemeta.json
index a158e30eb7f1ab433779678aba3a1cc3b7e33c80..fa2eb23a956d9ad2525beee1b5ca343845c38d2d 100644
--- a/codemeta.json
+++ b/codemeta.json
@@ -5,16 +5,20 @@
     "codeRepository": "https://github.com/cau-se/theodolite",
     "dateCreated": "2020-03-13",
     "datePublished": "2020-07-27",
-    "dateModified": "2021-11-12",
+    "dateModified": "2022-05-11",
     "downloadUrl": "https://github.com/cau-se/theodolite/releases",
     "name": "Theodolite",
-    "version": "0.5.1",
-    "description": "Theodolite is a framework for benchmarking the horizontal and vertical scalability of stream processing engines.",
+    "version": "0.7.0",
+    "description": "Theodolite is a framework for benchmarking the horizontal and vertical scalability of cloud-native applications.",
     "developmentStatus": "active",
+    "relatedLink": [
+        "https://www.theodolite.rocks"
+    ],
     "referencePublication": "https://doi.org/10.1016/j.bdr.2021.100209",
     "programmingLanguage": [
-        "Python",
-        "Java"
+        "Kotlin",
+        "Java",
+        "Python"
     ],
     "runtimePlatform": [
         "Kubernetes"
diff --git a/docs/CNAME b/docs/CNAME
new file mode 100644
index 0000000000000000000000000000000000000000..b1c7ffdbcd7523245c451869092ff0498bd7b8db
--- /dev/null
+++ b/docs/CNAME
@@ -0,0 +1 @@
+www.theodolite.rocks
\ No newline at end of file
diff --git a/docs/Gemfile b/docs/Gemfile
index ef3436c16b884aaca76405cbf09fef1a42b7be1e..b2bab9c1cd6c4591d474c8545e459276692ab487 100644
--- a/docs/Gemfile
+++ b/docs/Gemfile
@@ -9,16 +9,18 @@ source "https://rubygems.org"
 # Happy Jekylling!
 #gem "jekyll", "~> 4.2.0"
 # This is the default theme for new Jekyll sites. You may change this to anything you like.
-gem "minima", "~> 2.5"
+#gem "minima", "~> 2.5"
 # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
 # uncomment the line below. To upgrade, run `bundle update github-pages`.
-# gem "github-pages", group: :jekyll_plugins
-gem "github-pages", "~> 215", group: :jekyll_plugins
+gem "github-pages", group: :jekyll_plugins
+#gem "github-pages", "~> 226", group: :jekyll_plugins
 # If you have any plugins, put them here!
 #group :jekyll_plugins do
   #gem "jekyll-feed", "~> 0.12"
 #end
 
+gem 'html-proofer'
+
 # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
 # and associated library.
 platforms :mingw, :x64_mingw, :mswin, :jruby do
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index c02c195db7e5a655feab6e738fb4c4f0ba58af33..4acb2ba79d5cde699cf9dd4d379bf17c3c93e068 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -1,57 +1,67 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.4)
+    activesupport (6.0.4.8)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
       zeitwerk (~> 2.2, >= 2.2.2)
-    addressable (2.7.0)
+    addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     coffee-script (2.4.1)
       coffee-script-source
       execjs
     coffee-script-source (1.11.1)
     colorator (1.1.0)
-    commonmarker (0.17.13)
-      ruby-enum (~> 0.5)
-    concurrent-ruby (1.1.9)
-    dnsruby (1.61.7)
+    commonmarker (0.23.4)
+    concurrent-ruby (1.1.10)
+    dnsruby (1.61.9)
       simpleidn (~> 0.1)
-    em-websocket (0.5.2)
+    em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
-      http_parser.rb (~> 0.6.0)
-    ethon (0.14.0)
+      http_parser.rb (~> 0)
+    ethon (0.15.0)
       ffi (>= 1.15.0)
     eventmachine (1.2.7)
     execjs (2.8.1)
-    faraday (1.4.3)
+    faraday (1.10.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
+      faraday-httpclient (~> 1.0)
+      faraday-multipart (~> 1.0)
       faraday-net_http (~> 1.0)
-      faraday-net_http_persistent (~> 1.1)
-      multipart-post (>= 1.2, < 3)
+      faraday-net_http_persistent (~> 1.0)
+      faraday-patron (~> 1.0)
+      faraday-rack (~> 1.0)
+      faraday-retry (~> 1.0)
       ruby2_keywords (>= 0.0.4)
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
+    faraday-httpclient (1.0.1)
+    faraday-multipart (1.0.3)
+      multipart-post (>= 1.2, < 3)
     faraday-net_http (1.0.1)
-    faraday-net_http_persistent (1.1.0)
-    ffi (1.15.3)
+    faraday-net_http_persistent (1.2.0)
+    faraday-patron (1.0.0)
+    faraday-rack (1.0.0)
+    faraday-retry (1.0.3)
+    ffi (1.15.5)
     forwardable-extended (2.6.0)
     gemoji (3.0.1)
-    github-pages (215)
-      github-pages-health-check (= 1.17.2)
-      jekyll (= 3.9.0)
+    github-pages (226)
+      github-pages-health-check (= 1.17.9)
+      jekyll (= 3.9.2)
       jekyll-avatar (= 0.7.0)
       jekyll-coffeescript (= 1.1.1)
-      jekyll-commonmark-ghpages (= 0.1.6)
+      jekyll-commonmark-ghpages (= 0.2.0)
       jekyll-default-layout (= 0.1.4)
       jekyll-feed (= 0.15.1)
       jekyll-gist (= 1.5.0)
       jekyll-github-metadata (= 2.13.0)
+      jekyll-include-cache (= 0.2.1)
       jekyll-mentions (= 1.6.0)
       jekyll-optional-front-matter (= 0.3.2)
       jekyll-paginate (= 1.1.0)
@@ -60,45 +70,53 @@ GEM
       jekyll-relative-links (= 0.6.1)
       jekyll-remote-theme (= 0.4.3)
       jekyll-sass-converter (= 1.5.2)
-      jekyll-seo-tag (= 2.7.1)
+      jekyll-seo-tag (= 2.8.0)
       jekyll-sitemap (= 1.4.0)
       jekyll-swiss (= 1.0.0)
-      jekyll-theme-architect (= 0.1.1)
-      jekyll-theme-cayman (= 0.1.1)
-      jekyll-theme-dinky (= 0.1.1)
-      jekyll-theme-hacker (= 0.1.2)
-      jekyll-theme-leap-day (= 0.1.1)
-      jekyll-theme-merlot (= 0.1.1)
-      jekyll-theme-midnight (= 0.1.1)
-      jekyll-theme-minimal (= 0.1.1)
-      jekyll-theme-modernist (= 0.1.1)
-      jekyll-theme-primer (= 0.5.4)
-      jekyll-theme-slate (= 0.1.1)
-      jekyll-theme-tactile (= 0.1.1)
-      jekyll-theme-time-machine (= 0.1.1)
+      jekyll-theme-architect (= 0.2.0)
+      jekyll-theme-cayman (= 0.2.0)
+      jekyll-theme-dinky (= 0.2.0)
+      jekyll-theme-hacker (= 0.2.0)
+      jekyll-theme-leap-day (= 0.2.0)
+      jekyll-theme-merlot (= 0.2.0)
+      jekyll-theme-midnight (= 0.2.0)
+      jekyll-theme-minimal (= 0.2.0)
+      jekyll-theme-modernist (= 0.2.0)
+      jekyll-theme-primer (= 0.6.0)
+      jekyll-theme-slate (= 0.2.0)
+      jekyll-theme-tactile (= 0.2.0)
+      jekyll-theme-time-machine (= 0.2.0)
       jekyll-titles-from-headings (= 0.5.3)
       jemoji (= 0.12.0)
-      kramdown (= 2.3.1)
+      kramdown (= 2.3.2)
       kramdown-parser-gfm (= 1.1.0)
       liquid (= 4.0.3)
       mercenary (~> 0.3)
       minima (= 2.5.1)
-      nokogiri (>= 1.10.4, < 2.0)
+      nokogiri (>= 1.13.4, < 2.0)
       rouge (= 3.26.0)
       terminal-table (~> 1.4)
-    github-pages-health-check (1.17.2)
+    github-pages-health-check (1.17.9)
       addressable (~> 2.3)
       dnsruby (~> 1.60)
       octokit (~> 4.0)
-      public_suffix (>= 2.0.2, < 5.0)
+      public_suffix (>= 3.0, < 5.0)
       typhoeus (~> 1.3)
-    html-pipeline (2.14.0)
+    html-pipeline (2.14.1)
       activesupport (>= 2)
       nokogiri (>= 1.4)
-    http_parser.rb (0.6.0)
+    html-proofer (3.19.3)
+      addressable (~> 2.3)
+      mercenary (~> 0.3)
+      nokogiri (~> 1.12)
+      parallel (~> 1.3)
+      rainbow (~> 3.0)
+      typhoeus (~> 1.3)
+      yell (~> 2.0)
+    http_parser.rb (0.8.0)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    jekyll (3.9.0)
+    jekyll (3.9.2)
       addressable (~> 2.4)
       colorator (~> 1.0)
       em-websocket (~> 0.5)
@@ -116,12 +134,12 @@ GEM
     jekyll-coffeescript (1.1.1)
       coffee-script (~> 2.2)
       coffee-script-source (~> 1.11.1)
-    jekyll-commonmark (1.3.1)
-      commonmarker (~> 0.14)
-      jekyll (>= 3.7, < 5.0)
-    jekyll-commonmark-ghpages (0.1.6)
-      commonmarker (~> 0.17.6)
-      jekyll-commonmark (~> 1.2)
+    jekyll-commonmark (1.4.0)
+      commonmarker (~> 0.22)
+    jekyll-commonmark-ghpages (0.2.0)
+      commonmarker (~> 0.23.4)
+      jekyll (~> 3.9.0)
+      jekyll-commonmark (~> 1.4.0)
       rouge (>= 2.0, < 4.0)
     jekyll-default-layout (0.1.4)
       jekyll (~> 3.0)
@@ -132,6 +150,8 @@ GEM
     jekyll-github-metadata (2.13.0)
       jekyll (>= 3.4, < 5.0)
       octokit (~> 4.0, != 4.4.0)
+    jekyll-include-cache (0.2.1)
+      jekyll (>= 3.7, < 5.0)
     jekyll-mentions (1.6.0)
       html-pipeline (~> 2.3)
       jekyll (>= 3.7, < 5.0)
@@ -151,50 +171,50 @@ GEM
       rubyzip (>= 1.3.0, < 3.0)
     jekyll-sass-converter (1.5.2)
       sass (~> 3.4)
-    jekyll-seo-tag (2.7.1)
+    jekyll-seo-tag (2.8.0)
       jekyll (>= 3.8, < 5.0)
     jekyll-sitemap (1.4.0)
       jekyll (>= 3.7, < 5.0)
     jekyll-swiss (1.0.0)
-    jekyll-theme-architect (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-architect (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-cayman (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-cayman (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-dinky (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-dinky (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-hacker (0.1.2)
+    jekyll-theme-hacker (0.2.0)
       jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-leap-day (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-leap-day (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-merlot (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-merlot (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-midnight (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-midnight (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-minimal (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-minimal (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-modernist (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-modernist (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-primer (0.5.4)
+    jekyll-theme-primer (0.6.0)
       jekyll (> 3.5, < 5.0)
       jekyll-github-metadata (~> 2.9)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-slate (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-slate (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-tactile (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-tactile (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
-    jekyll-theme-time-machine (0.1.1)
-      jekyll (~> 3.5)
+    jekyll-theme-time-machine (0.2.0)
+      jekyll (> 3.5, < 5.0)
       jekyll-seo-tag (~> 2.0)
     jekyll-titles-from-headings (0.5.3)
       jekyll (>= 3.3, < 5.0)
@@ -204,12 +224,12 @@ GEM
       gemoji (~> 3.0)
       html-pipeline (~> 2.2)
       jekyll (>= 3.0, < 5.0)
-    kramdown (2.3.1)
+    kramdown (2.3.2)
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
     liquid (4.0.3)
-    listen (3.5.1)
+    listen (3.7.1)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
@@ -217,26 +237,26 @@ GEM
       jekyll (>= 3.5, < 5.0)
       jekyll-feed (~> 0.9)
       jekyll-seo-tag (~> 2.1)
-    minitest (5.14.4)
+    minitest (5.15.0)
     multipart-post (2.1.1)
-    nokogiri (1.11.7-x86_64-linux)
+    nokogiri (1.13.6-x86_64-linux)
       racc (~> 1.4)
-    octokit (4.21.0)
+    octokit (4.22.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
+    parallel (1.22.1)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (4.0.6)
-    racc (1.5.2)
-    rb-fsevent (0.11.0)
+    public_suffix (4.0.7)
+    racc (1.6.0)
+    rainbow (3.1.1)
+    rb-fsevent (0.11.1)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
     rexml (3.2.5)
     rouge (3.26.0)
-    ruby-enum (0.9.0)
-      i18n
-    ruby2_keywords (0.0.4)
-    rubyzip (2.3.0)
+    ruby2_keywords (0.0.5)
+    rubyzip (2.3.2)
     safe_yaml (1.0.5)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
@@ -257,17 +277,17 @@ GEM
       thread_safe (~> 0.1)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.7)
-    unicode-display_width (1.7.0)
-    zeitwerk (2.4.2)
+    unf_ext (0.0.8.1)
+    unicode-display_width (1.8.0)
+    yell (2.2.2)
+    zeitwerk (2.5.4)
 
 PLATFORMS
   x86_64-linux
-  x86_64-linux-musl
 
 DEPENDENCIES
-  github-pages (~> 215)
-  minima (~> 2.5)
+  github-pages
+  html-proofer
   tzinfo (~> 1.2)
   tzinfo-data
   wdm (~> 0.1.1)
diff --git a/docs/README.md b/docs/README.md
index c65d29845358b588eece0caa995fbeb5f8f6e66b..a19f94305dfdcb1de7c46da98afbb52b28a6bfa0 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -30,8 +30,14 @@ bundle exec jekyll build
 
 ## CRD API Reference
 
-We use the [crdoc](https://github.com/fybrik/crdoc) tool to generate the API reference for our CRDs.
+We use the [crdoc](https://github.com/fybrik/crdoc) tool to generate the API reference for our CRDs:
 
 ```sh
-crdoc --resources ../theodolite/crd/ --output api-reference/crds.md
+crdoc --resources ../theodolite/crd/ --template api-reference/crds.tmpl  --output api-reference/crds.md
+```
+
+With the following command, crdoc is executed in Docker:
+
+```sh
+docker run --rm -v "`pwd`/../theodolite/crd/":/crd -v "`pwd`/api-reference":/api-reference ghcr.io/fybrik/crdoc:0.6.1 --resources /crd/ --template /api-reference/crds.tmpl --output /api-reference/crds.md
 ```
diff --git a/docs/_config.yml b/docs/_config.yml
index a4997a99b26fcdb24b08a892a64fefa14bf69081..95cc5a635494842f1894c572cb117aafb3bb6810 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,15 +1,17 @@
 title: "Theodolite"
 description: >-
   Theodolite is a framework for benchmarking the horizontal and vertical
-  scalability of stream processing engines.
+  scalability of cloud-native applications.
 
-remote_theme: pmarsceill/just-the-docs
-#color_scheme: "dark"
+remote_theme: just-the-docs/just-the-docs
 aux_links:
     "Theodolite on GitHub":
       - "//github.com/cau-se/theodolite"
 
 exclude:
+  - "*.tmpl"
   - Gemfile
   - Gemfile.lock
-  - vendor
+  - README.md
+  - vendor/
+  - drafts/
diff --git a/docs/_sass/custom/custom.scss b/docs/_sass/custom/custom.scss
new file mode 100644
index 0000000000000000000000000000000000000000..d0f66e2d2aa3d469a1a751c59fd22626326da3d9
--- /dev/null
+++ b/docs/_sass/custom/custom.scss
@@ -0,0 +1,3 @@
+.theodolite-logo {
+    height: 18em;
+}
\ No newline at end of file
diff --git a/docs/api-reference/crds.md b/docs/api-reference/crds.md
index d650fa7d423d49d74f1be28c10ec6b6f4e5f3acf..9a42d0b5dee3f211ebbc2ea82cb2ab7976dd44d8 100644
--- a/docs/api-reference/crds.md
+++ b/docs/api-reference/crds.md
@@ -10,9 +10,9 @@ nav_order: 1
 
 Packages:
 
-- [theodolite.com/v1](#theodolitecomv1)
+- [theodolite.rocks/v1beta1](#theodoliterocksv1beta1)
 
-# theodolite.com/v1
+# theodolite.rocks/v1beta1
 
 Resource Types:
 
@@ -24,7 +24,7 @@ Resource Types:
 
 
 ## benchmark
-<sup><sup>[↩ Parent](#theodolitecomv1 )</sup></sup>
+<sup><sup>[↩ Parent](#theodoliterocksv1beta1 )</sup></sup>
 
 
 
@@ -45,7 +45,7 @@ Resource Types:
     <tbody><tr>
       <td><b>apiVersion</b></td>
       <td>string</td>
-      <td>theodolite.com/v1</td>
+      <td>theodolite.rocks/v1beta1</td>
       <td>true</td>
       </tr>
       <tr>
@@ -60,45 +60,18 @@ Resource Types:
       <td>Refer to the Kubernetes API documentation for the fields of the `metadata` field.</td>
       <td>true</td>
       </tr><tr>
-        <td><b><a href="#benchmarkstatus">status</a></b></td>
+        <td><b><a href="#benchmarkspec">spec</a></b></td>
         <td>object</td>
         <td>
           <br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr><tr>
-        <td><b><a href="#benchmarkspec">spec</a></b></td>
+        <td><b><a href="#benchmarkstatus">status</a></b></td>
         <td>object</td>
         <td>
           <br/>
         </td>
-        <td>true</td>
-      </tr></tbody>
-</table>
-
-
-### benchmark.status
-<sup><sup>[↩ Parent](#benchmark)</sup></sup>
-
-
-
-
-
-<table>
-    <thead>
-        <tr>
-            <th>Name</th>
-            <th>Type</th>
-            <th>Description</th>
-            <th>Required</th>
-        </tr>
-    </thead>
-    <tbody><tr>
-        <td><b>resourceSetsState</b></td>
-        <td>string</td>
-        <td>
-          The status of a Benchmark indicates whether all resources are available to start the benchmark or not.<br/>
-        </td>
         <td>false</td>
       </tr></tbody>
 </table>
@@ -121,31 +94,6 @@ Resource Types:
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecinfrastructure">infrastructure</a></b></td>
-        <td>object</td>
-        <td>
-          (Optional) A list of file names that reference Kubernetes resources that are deployed on the cluster to create the required infrastructure.<br/>
-          <br/>
-            <i>Default</i>: map[]<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b>name</b></td>
-        <td>string</td>
-        <td>
-          This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.<br/>
-          <br/>
-            <i>Default</i>: <br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b><a href="#benchmarkspeckafkaconfig">kafkaConfig</a></b></td>
-        <td>object</td>
-        <td>
-          Contains the Kafka configuration.<br/>
-        </td>
-        <td>true</td>
-      </tr><tr>
         <td><b><a href="#benchmarkspecloadgenerator">loadGenerator</a></b></td>
         <td>object</td>
         <td>
@@ -166,6 +114,13 @@ Resource Types:
           A list of resource types that can be scaled for this `benchmark` resource. For each resource type the concrete values are defined in the `execution` object.<br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecslosindex">slos</a></b></td>
+        <td>[]object</td>
+        <td>
+          List of resource values for the specified resource type.<br/>
+        </td>
+        <td>true</td>
       </tr><tr>
         <td><b><a href="#benchmarkspecsut">sut</a></b></td>
         <td>object</td>
@@ -173,16 +128,50 @@ Resource Types:
           The appResourceSets specifies all Kubernetes resources required to start the sut. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.<br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructure">infrastructure</a></b></td>
+        <td>object</td>
+        <td>
+          (Optional) A list of file names that reference Kubernetes resources that are deployed on the cluster to create the required infrastructure.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspeckafkaconfig">kafkaConfig</a></b></td>
+        <td>object</td>
+        <td>
+          Contains the Kafka configuration.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>waitForResourcesEnabled</b></td>
+        <td>boolean</td>
+        <td>
+          If true, Theodolite waits to create the resource for the SUT until the infrastructure resources are ready, and analogously, Theodolite waits to create the load-gen resource until the resources of the SUT are ready.<br/>
+          <br/>
+            <i>Default</i>: false<br/>
+        </td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.infrastructure
+### benchmark.spec.loadGenerator
 <sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
 
 
 
-(Optional) A list of file names that reference Kubernetes resources that are deployed on the cluster to create the required infrastructure.
+The loadGenResourceSets specifies all Kubernetes resources required to start the load generator. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
 
 <table>
     <thead>
@@ -194,7 +183,25 @@ Resource Types:
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecinfrastructureresourcesindex">resources</a></b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindex">afterActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          Load generator after actions are executed after the teardown of the load generator.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindex">beforeActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          Load generator before actions are executed before the load generator is started.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecloadgeneratorresourcesindex">resources</a></b></td>
         <td>[]object</td>
         <td>
           <br/>
@@ -206,8 +213,8 @@ Resource Types:
 </table>
 
 
-### benchmark.spec.infrastructure.resources[index]
-<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup>
+### benchmark.spec.loadGenerator.afterActions[index]
+<sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup>
 
 
 
@@ -223,29 +230,29 @@ Resource Types:
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecinfrastructureresourcesindexconfigmap">configMap</a></b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexdelete">delete</a></b></td>
         <td>object</td>
         <td>
-          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+          Specifies deletion of a resource.<br/>
         </td>
         <td>false</td>
       </tr><tr>
-        <td><b><a href="#benchmarkspecinfrastructureresourcesindexfilesystem">fileSystem</a></b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexexec">exec</a></b></td>
         <td>object</td>
         <td>
-          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+          Specifies a command that gets executed within a Container of a Pod<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.infrastructure.resources[index].configMap
-<sup><sup>[↩ Parent](#benchmarkspecinfrastructureresourcesindex)</sup></sup>
+### benchmark.spec.loadGenerator.afterActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindex)</sup></sup>
 
 
 
-The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
+Specifies deletion of a resource.
 
 <table>
     <thead>
@@ -257,29 +264,22 @@ The configMap resourceSet loads the Kubernetes manifests from an Kubernetes conf
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
-        <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b>name</b></td>
-        <td>string</td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
         <td>
-          The name of the configMap<br/>
+          Defines how to select the resource to delete.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.infrastructure.resources[index].fileSystem
-<sup><sup>[↩ Parent](#benchmarkspecinfrastructureresourcesindex)</sup></sup>
+### benchmark.spec.loadGenerator.afterActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindexdelete)</sup></sup>
 
 
 
-The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
+Defines how to select the resource to delete.
 
 <table>
     <thead>
@@ -291,29 +291,38 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
         <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr><tr>
-        <td><b>path</b></td>
+        <td><b>kind</b></td>
         <td>string</td>
         <td>
-          The path to the folder which contains the Kubernetes manifests files.<br/>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.kafkaConfig
-<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
+### benchmark.spec.loadGenerator.afterActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindex)</sup></sup>
 
 
 
-Contains the Kafka configuration.
+Specifies a command that gets executed within a Container of a Pod
 
 <table>
     <thead>
@@ -325,29 +334,36 @@ Contains the Kafka configuration.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>bootstrapServer</b></td>
-        <td>string</td>
+        <td><b>command</b></td>
+        <td>[]string</td>
         <td>
-          The bootstrap servers connection string.<br/>
+          The command to be executed as string array.<br/>
         </td>
         <td>true</td>
       </tr><tr>
-        <td><b><a href="#benchmarkspeckafkaconfigtopicsindex">topics</a></b></td>
-        <td>[]object</td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexexecselector">selector</a></b></td>
+        <td>object</td>
         <td>
-          List of topics to be created for each experiment. Alternative theodolite offers the possibility to remove certain topics after each experiment.<br/>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
         </td>
         <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.kafkaConfig.topics[index]
-<sup><sup>[↩ Parent](#benchmarkspeckafkaconfig)</sup></sup>
-
+### benchmark.spec.loadGenerator.afterActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindexexec)</sup></sup>
 
 
 
+The selector specifies which resource should be selected for the execution of the command.
 
 <table>
     <thead>
@@ -359,51 +375,31 @@ Contains the Kafka configuration.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>numPartitions</b></td>
-        <td>integer</td>
-        <td>
-          The number of partitions of the topic.<br/>
-          <br/>
-            <i>Default</i>: 0<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b>removeOnly</b></td>
-        <td>boolean</td>
+        <td><b>container</b></td>
+        <td>string</td>
         <td>
-          Determines if this topic should only be deleted after each experiement. For removeOnly topics the name can be a RegEx describing the topic.<br/>
+          Specifies the container.<br/>
           <br/>
-            <i>Default</i>: false<br/>
+            <i>Default</i>: <br/>
         </td>
         <td>false</td>
       </tr><tr>
-        <td><b>replicationFactor</b></td>
-        <td>integer</td>
+        <td><b><a href="#benchmarkspecloadgeneratorafteractionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
         <td>
-          The replication factor of the topic.<br/>
-          <br/>
-            <i>Default</i>: 0<br/>
+          Specifies the pod.<br/>
         </td>
         <td>false</td>
-      </tr><tr>
-        <td><b>name</b></td>
-        <td>string</td>
-        <td>
-          The name of the topic.<br/>
-          <br/>
-            <i>Default</i>: <br/>
-        </td>
-        <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadGenerator
-<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
+### benchmark.spec.loadGenerator.afterActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorafteractionsindexexecselector)</sup></sup>
 
 
 
-The loadGenResourceSets specifies all Kubernetes resources required to start the load generator. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
+Specifies the pod.
 
 <table>
     <thead>
@@ -415,19 +411,19 @@ The loadGenResourceSets specifies all Kubernetes resources required to start the
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecloadgeneratorresourcesindex">resources</a></b></td>
-        <td>[]object</td>
+        <td><b>matchLabels</b></td>
+        <td>map[string]string</td>
         <td>
+          The matchLabels of the desired pod.<br/>
           <br/>
-          <br/>
-            <i>Default</i>: []<br/>
+            <i>Default</i>: map[]<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadGenerator.resources[index]
+### benchmark.spec.loadGenerator.beforeActions[index]
 <sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup>
 
 
@@ -444,29 +440,29 @@ The loadGenResourceSets specifies all Kubernetes resources required to start the
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecloadgeneratorresourcesindexconfigmap">configMap</a></b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexdelete">delete</a></b></td>
         <td>object</td>
         <td>
-          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+          Specifies deletion of a resource.<br/>
         </td>
         <td>false</td>
       </tr><tr>
-        <td><b><a href="#benchmarkspecloadgeneratorresourcesindexfilesystem">fileSystem</a></b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexexec">exec</a></b></td>
         <td>object</td>
         <td>
-          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+          Specifies a command that gets executed within a Container of a Pod<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadGenerator.resources[index].configMap
-<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorresourcesindex)</sup></sup>
+### benchmark.spec.loadGenerator.beforeActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindex)</sup></sup>
 
 
 
-The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
+Specifies deletion of a resource.
 
 <table>
     <thead>
@@ -478,29 +474,22 @@ The configMap resourceSet loads the Kubernetes manifests from an Kubernetes conf
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
-        <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b>name</b></td>
-        <td>string</td>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
         <td>
-          The name of the configMap<br/>
+          Defines how to select the resource to delete.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadGenerator.resources[index].fileSystem
-<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorresourcesindex)</sup></sup>
+### benchmark.spec.loadGenerator.beforeActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindexdelete)</sup></sup>
 
 
 
-The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
+Defines how to select the resource to delete.
 
 <table>
     <thead>
@@ -512,29 +501,38 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
         <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr><tr>
-        <td><b>path</b></td>
+        <td><b>kind</b></td>
         <td>string</td>
         <td>
-          The path to the folder which contains the Kubernetes manifests files.<br/>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadTypes[index]
-<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
-
+### benchmark.spec.loadGenerator.beforeActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindex)</sup></sup>
 
 
 
+Specifies a command that gets executed within a Container of a Pod
 
 <table>
     <thead>
@@ -546,29 +544,72 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecloadtypesindexpatchersindex">patchers</a></b></td>
-        <td>[]object</td>
+        <td><b>command</b></td>
+        <td>[]string</td>
         <td>
-          List of patchers used to scale this resource type.<br/>
+          The command to be executed as string array.<br/>
         </td>
         <td>true</td>
       </tr><tr>
-        <td><b>typeName</b></td>
-        <td>string</td>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexexecselector">selector</a></b></td>
+        <td>object</td>
         <td>
-          Name of the load type.<br/>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
         </td>
         <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.loadTypes[index].patchers[index]
-<sup><sup>[↩ Parent](#benchmarkspecloadtypesindex)</sup></sup>
+### benchmark.spec.loadGenerator.beforeActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindexexec)</sup></sup>
+
+
+
+The selector specifies which resource should be selected for the execution of the command.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>container</b></td>
+        <td>string</td>
+        <td>
+          Specifies the container.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecloadgeneratorbeforeactionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies the pod.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
 
+### benchmark.spec.loadGenerator.beforeActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorbeforeactionsindexexecselector)</sup></sup>
 
 
 
+Specifies the pod.
 
 <table>
     <thead>
@@ -580,37 +621,121 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>properties</b></td>
+        <td><b>matchLabels</b></td>
         <td>map[string]string</td>
         <td>
-          (Optional) Patcher specific additional arguments.<br/>
+          The matchLabels of the desired pod.<br/>
           <br/>
             <i>Default</i>: map[]<br/>
         </td>
         <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.loadGenerator.resources[index]
+<sup><sup>[↩ Parent](#benchmarkspecloadgenerator)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecloadgeneratorresourcesindexconfigmap">configMap</a></b></td>
+        <td>object</td>
+        <td>
+          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+        </td>
+        <td>false</td>
       </tr><tr>
-        <td><b>resource</b></td>
+        <td><b><a href="#benchmarkspecloadgeneratorresourcesindexfilesystem">fileSystem</a></b></td>
+        <td>object</td>
+        <td>
+          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.loadGenerator.resources[index].configMap
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorresourcesindex)</sup></sup>
+
+
+
+The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>name</b></td>
         <td>string</td>
         <td>
-          Specifies the Kubernetes resource to be patched.<br/>
-          <br/>
-            <i>Default</i>: <br/>
+          The name of the configMap<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.loadGenerator.resources[index].fileSystem
+<sup><sup>[↩ Parent](#benchmarkspecloadgeneratorresourcesindex)</sup></sup>
+
+
+
+The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
       </tr><tr>
-        <td><b>type</b></td>
+        <td><b>path</b></td>
         <td>string</td>
         <td>
-          Type of the Patcher.<br/>
-          <br/>
-            <i>Default</i>: <br/>
+          The path to the folder which contains the Kubernetes manifests files.<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.resourceTypes[index]
+### benchmark.spec.loadTypes[index]
 <sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
 
 
@@ -627,7 +752,7 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecresourcetypesindexpatchersindex">patchers</a></b></td>
+        <td><b><a href="#benchmarkspecloadtypesindexpatchersindex">patchers</a></b></td>
         <td>[]object</td>
         <td>
           List of patchers used to scale this resource type.<br/>
@@ -637,15 +762,15 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         <td><b>typeName</b></td>
         <td>string</td>
         <td>
-          Name of the resource type.<br/>
+          Name of the load type.<br/>
         </td>
         <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.resourceTypes[index].patchers[index]
-<sup><sup>[↩ Parent](#benchmarkspecresourcetypesindex)</sup></sup>
+### benchmark.spec.loadTypes[index].patchers[index]
+<sup><sup>[↩ Parent](#benchmarkspecloadtypesindex)</sup></sup>
 
 
 
@@ -661,15 +786,6 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>properties</b></td>
-        <td>map[string]string</td>
-        <td>
-          (Optional) Patcher specific additional arguments.<br/>
-          <br/>
-            <i>Default</i>: map[]<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
         <td><b>resource</b></td>
         <td>string</td>
         <td>
@@ -682,21 +798,30 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         <td><b>type</b></td>
         <td>string</td>
         <td>
-          Type of the patcher.<br/>
+          Type of the Patcher.<br/>
           <br/>
             <i>Default</i>: <br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b>properties</b></td>
+        <td>map[string]string</td>
+        <td>
+          (Optional) Patcher specific additional arguments.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.sut
+### benchmark.spec.resourceTypes[index]
 <sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
 
 
 
-The appResourceSets specifies all Kubernetes resources required to start the sut. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
+
 
 <table>
     <thead>
@@ -708,20 +833,72 @@ The appResourceSets specifies all Kubernetes resources required to start the sut
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecsutresourcesindex">resources</a></b></td>
+        <td><b><a href="#benchmarkspecresourcetypesindexpatchersindex">patchers</a></b></td>
         <td>[]object</td>
         <td>
+          List of patchers used to scale this resource type.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>typeName</b></td>
+        <td>string</td>
+        <td>
+          Name of the resource type.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.resourceTypes[index].patchers[index]
+<sup><sup>[↩ Parent](#benchmarkspecresourcetypesindex)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>resource</b></td>
+        <td>string</td>
+        <td>
+          Specifies the Kubernetes resource to be patched.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>type</b></td>
+        <td>string</td>
+        <td>
+          Type of the patcher.<br/>
           <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>properties</b></td>
+        <td>map[string]string</td>
+        <td>
+          (Optional) Patcher specific additional arguments.<br/>
           <br/>
-            <i>Default</i>: []<br/>
+            <i>Default</i>: map[]<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.sut.resources[index]
-<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup>
+### benchmark.spec.slos[index]
+<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
 
 
 
@@ -737,29 +914,1224 @@ The appResourceSets specifies all Kubernetes resources required to start the sut
         </tr>
     </thead>
     <tbody><tr>
-        <td><b><a href="#benchmarkspecsutresourcesindexconfigmap">configMap</a></b></td>
-        <td>object</td>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          The name of the SLO.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>offset</b></td>
+        <td>integer</td>
+        <td>
+          Hours by which the start and end timestamp will be shifted (for different timezones).<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>prometheusUrl</b></td>
+        <td>string</td>
+        <td>
+          Connection string for Promehteus.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>sloType</b></td>
+        <td>string</td>
+        <td>
+          The type of the SLO. It must match 'lag trend'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>properties</b></td>
+        <td>map[string]string</td>
+        <td>
+          (Optional) SLO specific additional arguments.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut
+<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
+
+
+
+The appResourceSets specifies all Kubernetes resources required to start the sut. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindex">afterActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          SUT after actions are executed after the teardown of the SUT.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindex">beforeActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          SUT before actions are executed before the SUT is started.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutresourcesindex">resources</a></b></td>
+        <td>[]object</td>
+        <td>
+          <br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index]
+<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindexdelete">delete</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies deletion of a resource.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindexexec">exec</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies a command that gets executed within a Container of a Pod<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindex)</sup></sup>
+
+
+
+Specifies deletion of a resource.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          Defines how to select the resource to delete.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindexdelete)</sup></sup>
+
+
+
+Defines how to select the resource to delete.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
+        <td>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>kind</b></td>
+        <td>string</td>
+        <td>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindex)</sup></sup>
+
+
+
+Specifies a command that gets executed within a Container of a Pod
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>command</b></td>
+        <td>[]string</td>
+        <td>
+          The command to be executed as string array.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindexexecselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindexexec)</sup></sup>
+
+
+
+The selector specifies which resource should be selected for the execution of the command.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>container</b></td>
+        <td>string</td>
+        <td>
+          Specifies the container.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutafteractionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies the pod.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.afterActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecsutafteractionsindexexecselector)</sup></sup>
+
+
+
+Specifies the pod.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>matchLabels</b></td>
+        <td>map[string]string</td>
+        <td>
+          The matchLabels of the desired pod.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index]
+<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindexdelete">delete</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies deletion of a resource.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindexexec">exec</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies a command that gets executed within a Container of a Pod<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindex)</sup></sup>
+
+
+
+Specifies deletion of a resource.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          Defines how to select the resource to delete.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindexdelete)</sup></sup>
+
+
+
+Defines how to select the resource to delete.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
+        <td>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>kind</b></td>
+        <td>string</td>
+        <td>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindex)</sup></sup>
+
+
+
+Specifies a command that gets executed within a Container of a Pod
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>command</b></td>
+        <td>[]string</td>
+        <td>
+          The command to be executed as string array.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindexexecselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindexexec)</sup></sup>
+
+
+
+The selector specifies which resource should be selected for the execution of the command.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>container</b></td>
+        <td>string</td>
+        <td>
+          Specifies the container.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutbeforeactionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies the pod.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.beforeActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecsutbeforeactionsindexexecselector)</sup></sup>
+
+
+
+Specifies the pod.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>matchLabels</b></td>
+        <td>map[string]string</td>
+        <td>
+          The matchLabels of the desired pod.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.resources[index]
+<sup><sup>[↩ Parent](#benchmarkspecsut)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecsutresourcesindexconfigmap">configMap</a></b></td>
+        <td>object</td>
+        <td>
+          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecsutresourcesindexfilesystem">fileSystem</a></b></td>
+        <td>object</td>
+        <td>
+          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.resources[index].configMap
+<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup>
+
+
+
+The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          The name of the configMap<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.sut.resources[index].fileSystem
+<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup>
+
+
+
+The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>path</b></td>
+        <td>string</td>
+        <td>
+          The path to the folder which contains the Kubernetes manifests files.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure
+<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
+
+
+
+(Optional) A list of file names that reference Kubernetes resources that are deployed on the cluster to create the required infrastructure.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindex">afterActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          Infrastructure after actions are executed after the teardown of the infrastructure.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindex">beforeActions</a></b></td>
+        <td>[]object</td>
+        <td>
+          Infrastructure before actions are executed before the infrastructure is set up.<br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructureresourcesindex">resources</a></b></td>
+        <td>[]object</td>
+        <td>
+          <br/>
+          <br/>
+            <i>Default</i>: []<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index]
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindexdelete">delete</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies deletion of a resource.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindexexec">exec</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies a command that gets executed within a Container of a Pod<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindex)</sup></sup>
+
+
+
+Specifies deletion of a resource.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          Defines how to select the resource to delete.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindexdelete)</sup></sup>
+
+
+
+Defines how to select the resource to delete.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
+        <td>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>kind</b></td>
+        <td>string</td>
+        <td>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindex)</sup></sup>
+
+
+
+Specifies a command that gets executed within a Container of a Pod
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>command</b></td>
+        <td>[]string</td>
+        <td>
+          The command to be executed as string array.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindexexecselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindexexec)</sup></sup>
+
+
+
+The selector specifies which resource should be selected for the execution of the command.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>container</b></td>
+        <td>string</td>
+        <td>
+          Specifies the container.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructureafteractionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies the pod.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.afterActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureafteractionsindexexecselector)</sup></sup>
+
+
+
+Specifies the pod.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>matchLabels</b></td>
+        <td>map[string]string</td>
+        <td>
+          The matchLabels of the desired pod.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index]
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexdelete">delete</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies deletion of a resource.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexexec">exec</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies a command that gets executed within a Container of a Pod<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index].delete
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindex)</sup></sup>
+
+
+
+Specifies deletion of a resource.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexdeleteselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          Defines how to select the resource to delete.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index].delete.selector
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindexdelete)</sup></sup>
+
+
+
+Defines how to select the resource to delete.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>apiVersion</b></td>
+        <td>string</td>
+        <td>
+          Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>kind</b></td>
+        <td>string</td>
+        <td>
+          Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>nameRegex</b></td>
+        <td>string</td>
+        <td>
+          Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.<br/>
+          <br/>
+            <i>Default</i>: *<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index].exec
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindex)</sup></sup>
+
+
+
+Specifies a command that gets executed within a Container of a Pod
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>command</b></td>
+        <td>[]string</td>
+        <td>
+          The command to be executed as string array.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexexecselector">selector</a></b></td>
+        <td>object</td>
+        <td>
+          The selector specifies which resource should be selected for the execution of the command.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>timeoutSeconds</b></td>
+        <td>integer</td>
+        <td>
+          Specifies the timeout (in seconds) for the specified command.<br/>
+        </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index].exec.selector
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindexexec)</sup></sup>
+
+
+
+The selector specifies which resource should be selected for the execution of the command.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>container</b></td>
+        <td>string</td>
+        <td>
+          Specifies the container.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructurebeforeactionsindexexecselectorpod">pod</a></b></td>
+        <td>object</td>
+        <td>
+          Specifies the pod.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.beforeActions[index].exec.selector.pod
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructurebeforeactionsindexexecselector)</sup></sup>
+
+
+
+Specifies the pod.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>matchLabels</b></td>
+        <td>map[string]string</td>
+        <td>
+          The matchLabels of the desired pod.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.resources[index]
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructure)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b><a href="#benchmarkspecinfrastructureresourcesindexconfigmap">configMap</a></b></td>
+        <td>object</td>
+        <td>
+          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b><a href="#benchmarkspecinfrastructureresourcesindexfilesystem">fileSystem</a></b></td>
+        <td>object</td>
+        <td>
+          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.resources[index].configMap
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureresourcesindex)</sup></sup>
+
+
+
+The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          The name of the configMap<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.infrastructure.resources[index].fileSystem
+<sup><sup>[↩ Parent](#benchmarkspecinfrastructureresourcesindex)</sup></sup>
+
+
+
+The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>files</b></td>
+        <td>[]string</td>
+        <td>
+          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>path</b></td>
+        <td>string</td>
+        <td>
+          The path to the folder which contains the Kubernetes manifests files.<br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### benchmark.spec.kafkaConfig
+<sup><sup>[↩ Parent](#benchmarkspec)</sup></sup>
+
+
+
+Contains the Kafka configuration.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>bootstrapServer</b></td>
+        <td>string</td>
         <td>
-          The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.<br/>
+          The bootstrap servers connection string.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr><tr>
-        <td><b><a href="#benchmarkspecsutresourcesindexfilesystem">fileSystem</a></b></td>
-        <td>object</td>
+        <td><b><a href="#benchmarkspeckafkaconfigtopicsindex">topics</a></b></td>
+        <td>[]object</td>
         <td>
-          The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.<br/>
+          List of topics to be created for each experiment. Alternative theodolite offers the possibility to remove certain topics after each experiment.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.sut.resources[index].configMap
-<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup>
+### benchmark.spec.kafkaConfig.topics[index]
+<sup><sup>[↩ Parent](#benchmarkspeckafkaconfig)</sup></sup>
+
 
 
 
-The configMap resourceSet loads the Kubernetes manifests from an Kubernetes configMap.
 
 <table>
     <thead>
@@ -771,29 +2143,51 @@ The configMap resourceSet loads the Kubernetes manifests from an Kubernetes conf
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
+        <td><b>name</b></td>
+        <td>string</td>
         <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
+          The name of the topic.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>numPartitions</b></td>
+        <td>integer</td>
+        <td>
+          The number of partitions of the topic.<br/>
+          <br/>
+            <i>Default</i>: 0<br/>
         </td>
         <td>false</td>
       </tr><tr>
-        <td><b>name</b></td>
-        <td>string</td>
+        <td><b>removeOnly</b></td>
+        <td>boolean</td>
         <td>
-          The name of the configMap<br/>
+          Determines if this topic should only be deleted after each experiement. For removeOnly topics the name can be a RegEx describing the topic.<br/>
+          <br/>
+            <i>Default</i>: false<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>replicationFactor</b></td>
+        <td>integer</td>
+        <td>
+          The replication factor of the topic.<br/>
+          <br/>
+            <i>Default</i>: 0<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 
-### benchmark.spec.sut.resources[index].fileSystem
-<sup><sup>[↩ Parent](#benchmarkspecsutresourcesindex)</sup></sup>
+### benchmark.status
+<sup><sup>[↩ Parent](#benchmark)</sup></sup>
+
 
 
 
-The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
 
 <table>
     <thead>
@@ -805,24 +2199,17 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>files</b></td>
-        <td>[]string</td>
-        <td>
-          (Optional) Specifies which files from the configMap should be loaded. If this field is not set, all files are loaded.<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
-        <td><b>path</b></td>
+        <td><b>resourceSetsState</b></td>
         <td>string</td>
         <td>
-          The path to the folder which contains the Kubernetes manifests files.<br/>
+          The status of a Benchmark indicates whether all resources are available to start the benchmark or not.<br/>
         </td>
         <td>false</td>
       </tr></tbody>
 </table>
 
 ## execution
-<sup><sup>[↩ Parent](#theodolitecomv1 )</sup></sup>
+<sup><sup>[↩ Parent](#theodoliterocksv1beta1 )</sup></sup>
 
 
 
@@ -843,7 +2230,7 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
     <tbody><tr>
       <td><b>apiVersion</b></td>
       <td>string</td>
-      <td>theodolite.com/v1</td>
+      <td>theodolite.rocks/v1beta1</td>
       <td>true</td>
       </tr>
       <tr>
@@ -857,13 +2244,6 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
       <td>object</td>
       <td>Refer to the Kubernetes API documentation for the fields of the `metadata` field.</td>
       <td>true</td>
-      </tr><tr>
-        <td><b><a href="#executionstatus">status</a></b></td>
-        <td>object</td>
-        <td>
-          <br/>
-        </td>
-        <td>false</td>
       </tr><tr>
         <td><b><a href="#executionspec">spec</a></b></td>
         <td>object</td>
@@ -871,36 +2251,9 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
           <br/>
         </td>
         <td>true</td>
-      </tr></tbody>
-</table>
-
-
-### execution.status
-<sup><sup>[↩ Parent](#execution)</sup></sup>
-
-
-
-
-
-<table>
-    <thead>
-        <tr>
-            <th>Name</th>
-            <th>Type</th>
-            <th>Description</th>
-            <th>Required</th>
-        </tr>
-    </thead>
-    <tbody><tr>
-        <td><b>executionDuration</b></td>
-        <td>string</td>
-        <td>
-          Duration of the execution in seconds<br/>
-        </td>
-        <td>false</td>
       </tr><tr>
-        <td><b>executionState</b></td>
-        <td>string</td>
+        <td><b><a href="#executionstatus">status</a></b></td>
+        <td>object</td>
         <td>
           <br/>
         </td>
@@ -926,15 +2279,6 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>name</b></td>
-        <td>string</td>
-        <td>
-          This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.<br/>
-          <br/>
-            <i>Default</i>: <br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
         <td><b>benchmark</b></td>
         <td>string</td>
         <td>
@@ -956,7 +2300,7 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
         </td>
         <td>true</td>
       </tr><tr>
-        <td><b><a href="#executionspecload">load</a></b></td>
+        <td><b><a href="#executionspecloads">loads</a></b></td>
         <td>object</td>
         <td>
           Specifies the load values that are benchmarked.<br/>
@@ -969,13 +2313,22 @@ The fileSystem resourceSet loads the Kubernetes manifests from the filesystem.
           Specifies the scaling resource that is benchmarked.<br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.<br/>
+          <br/>
+            <i>Default</i>: <br/>
+        </td>
+        <td>false</td>
       </tr><tr>
         <td><b><a href="#executionspecslosindex">slos</a></b></td>
         <td>[]object</td>
         <td>
-          List of resource values for the specified resource type.<br/>
+          List of SLOs with their properties, which differ from the benchmark definition.<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
@@ -1031,15 +2384,6 @@ Patcher used to patch a resource
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>properties</b></td>
-        <td>map[string]string</td>
-        <td>
-          (Optional) Patcher specific additional arguments.<br/>
-          <br/>
-            <i>Default</i>: map[]<br/>
-        </td>
-        <td>false</td>
-      </tr><tr>
         <td><b>resource</b></td>
         <td>string</td>
         <td>
@@ -1057,6 +2401,15 @@ Patcher used to patch a resource
             <i>Default</i>: <br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b>properties</b></td>
+        <td>map[string]string</td>
+        <td>
+          (Optional) Patcher specific additional arguments.<br/>
+          <br/>
+            <i>Default</i>: map[]<br/>
+        </td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
@@ -1078,45 +2431,93 @@ Defines the overall parameter for the execution.
         </tr>
     </thead>
     <tbody><tr>
-        <td><b>loadGenerationDelay</b></td>
+        <td><b>duration</b></td>
         <td>integer</td>
         <td>
-          Seconds to wait between the start of the SUT and the load generator.<br/>
+          Defines the duration of each experiment in seconds.<br/>
         </td>
-        <td>false</td>
+        <td>true</td>
       </tr><tr>
-        <td><b>duration</b></td>
+        <td><b>repetitions</b></td>
         <td>integer</td>
         <td>
-          Defines the duration of each experiment in seconds.<br/>
+          Number of repititions for each experiment.<br/>
         </td>
         <td>true</td>
       </tr><tr>
-        <td><b>repetitions</b></td>
+        <td><b><a href="#executionspecexecutionstrategy">strategy</a></b></td>
+        <td>object</td>
+        <td>
+          Defines the used strategy for the execution, either 'LinearSearch', 'BinarySearch' or 'InitialGuessSearch'.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
+        <td><b>loadGenerationDelay</b></td>
         <td>integer</td>
         <td>
-          Numper of repititions for each experiments.<br/>
+          Seconds to wait between the start of the SUT and the load generator.<br/>
+        </td>
+        <td>false</td>
+      </tr><tr>
+        <td><b>metric</b></td>
+        <td>string</td>
+        <td>
+          <br/>
+        </td>
+        <td>false</td>
+      </tr></tbody>
+</table>
+
+
+### execution.spec.execution.strategy
+<sup><sup>[↩ Parent](#executionspecexecution)</sup></sup>
+
+
+
+Defines the used strategy for the execution, either 'LinearSearch', 'BinarySearch' or 'InitialGuessSearch'.
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          <br/>
         </td>
         <td>true</td>
+      </tr><tr>
+        <td><b>guessStrategy</b></td>
+        <td>string</td>
+        <td>
+          <br/>
+        </td>
+        <td>false</td>
       </tr><tr>
         <td><b>restrictions</b></td>
         <td>[]string</td>
         <td>
-          List of restriction strategys used to delimit the search space.<br/>
+          List of restriction strategies used to delimit the search space.<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr><tr>
-        <td><b>strategy</b></td>
+        <td><b>searchStrategy</b></td>
         <td>string</td>
         <td>
-          Defines the used strategy for the execution, either 'LinearSearch' or 'BinarySearch'<br/>
+          <br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr></tbody>
 </table>
 
 
-### execution.spec.load
+### execution.spec.loads
 <sup><sup>[↩ Parent](#executionspec)</sup></sup>
 
 
@@ -1201,6 +2602,13 @@ Specifies the scaling resource that is benchmarked.
         </tr>
     </thead>
     <tbody><tr>
+        <td><b>name</b></td>
+        <td>string</td>
+        <td>
+          The name of the SLO. It must match a SLO specified in the Benchmark.<br/>
+        </td>
+        <td>true</td>
+      </tr><tr>
         <td><b>properties</b></td>
         <td>map[string]string</td>
         <td>
@@ -1208,27 +2616,58 @@ Specifies the scaling resource that is benchmarked.
           <br/>
             <i>Default</i>: map[]<br/>
         </td>
+        <td>true</td>
+      </tr></tbody>
+</table>
+
+
+### execution.status
+<sup><sup>[↩ Parent](#execution)</sup></sup>
+
+
+
+
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody><tr>
+        <td><b>completionTime</b></td>
+        <td>string</td>
+        <td>
+          Time when this execution was stopped<br/>
+          <br/>
+            <i>Format</i>: date-time<br/>
+        </td>
         <td>false</td>
       </tr><tr>
-        <td><b>offset</b></td>
-        <td>integer</td>
+        <td><b>executionDuration</b></td>
+        <td>string</td>
         <td>
-          Hours by which the start and end timestamp will be shifted (for different timezones).<br/>
+          Duration of the execution<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr><tr>
-        <td><b>prometheusUrl</b></td>
+        <td><b>executionState</b></td>
         <td>string</td>
         <td>
-          Connection string for Promehteus.<br/>
+          <br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr><tr>
-        <td><b>sloType</b></td>
+        <td><b>startTime</b></td>
         <td>string</td>
         <td>
-          The type of the SLO. It must match 'lag trend'.<br/>
+          Time this execution started<br/>
+          <br/>
+            <i>Format</i>: date-time<br/>
         </td>
-        <td>true</td>
+        <td>false</td>
       </tr></tbody>
 </table>
\ No newline at end of file
diff --git a/docs/api-reference/crds.tmpl b/docs/api-reference/crds.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..3f642f371823a75b069f4747fcb0c1715fa5f31d
--- /dev/null
+++ b/docs/api-reference/crds.tmpl
@@ -0,0 +1,104 @@
+---
+title: Theodolite CRDs
+has_children: false
+parent: API Reference
+nav_order: 1
+---
+
+
+# API Reference
+
+Packages:
+{{range .Groups}}
+- [{{.Group}}/{{.Version}}](#{{ anchorize (printf "%s/%s" .Group .Version) }})
+{{- end -}}{{/* range .Groups */}}
+
+{{- range .Groups }}
+{{- $group := . }}
+
+# {{.Group}}/{{.Version}}
+
+Resource Types:
+{{range .Kinds}}
+- [{{.Name}}](#{{ anchorize .Name }})
+{{end}}{{/* range .Kinds */}}
+
+{{range .Kinds}}
+{{$kind := .}}
+## {{.Name}}
+<sup><sup>[↩ Parent](#{{ anchorize (printf "%s/%s" $group.Group $group.Version) }} )</sup></sup>
+
+{{range .Types}}
+
+{{if not .IsTopLevel}}
+### {{.Name}}
+{{if .ParentKey}}<sup><sup>[↩ Parent](#{{.ParentKey}})</sup></sup>{{end}}
+{{end}}
+
+
+{{.Description}}
+
+<table>
+    <thead>
+        <tr>
+            <th>Name</th>
+            <th>Type</th>
+            <th>Description</th>
+            <th>Required</th>
+        </tr>
+    </thead>
+    <tbody>
+      {{- if .IsTopLevel -}}
+      <tr>
+      <td><b>apiVersion</b></td>
+      <td>string</td>
+      <td>{{$group.Group}}/{{$group.Version}}</td>
+      <td>true</td>
+      </tr>
+      <tr>
+      <td><b>kind</b></td>
+      <td>string</td>
+      <td>{{$kind.Name}}</td>
+      <td>true</td>
+      </tr>
+      <tr>
+      <td><b><a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#objectmeta-v1-meta">metadata</a></b></td>
+      <td>object</td>
+      <td>Refer to the Kubernetes API documentation for the fields of the `metadata` field.</td>
+      <td>true</td>
+      </tr>
+      {{- end -}}
+      {{- range .Fields -}}
+      <tr>
+        <td><b>{{if .TypeKey}}<a href="#{{.TypeKey}}">{{.Name}}</a>{{else}}{{.Name}}{{end}}</b></td>
+        <td>{{.Type}}</td>
+        <td>
+          {{.Description}}<br/>
+          {{- if or .Schema.Format .Schema.Enum .Schema.Default .Schema.Minimum .Schema.Maximum }}
+          <br/>
+          {{- end}}
+          {{- if .Schema.Format }}
+            <i>Format</i>: {{ .Schema.Format }}<br/>
+          {{- end }}
+          {{- if .Schema.Enum }}
+            <i>Enum</i>: {{ .Schema.Enum | toStrings | join ", " }}<br/>
+          {{- end }}
+          {{- if .Schema.Default }}
+            <i>Default</i>: {{ .Schema.Default }}<br/>
+          {{- end }}
+          {{- if .Schema.Minimum }}
+            <i>Minimum</i>: {{ .Schema.Minimum }}<br/>
+          {{- end }}
+          {{- if .Schema.Maximum }}
+            <i>Maximum</i>: {{ .Schema.Maximum }}<br/>
+          {{- end }}
+        </td>
+        <td>{{.Required}}</td>
+      </tr>
+      {{- end -}}
+    </tbody>
+</table>
+
+{{- end}}{{/* range .Types */}}
+{{- end}}{{/* range .Kinds */}}
+{{- end}}{{/* range .Groups */}}
\ No newline at end of file
diff --git a/docs/api-reference/patchers.md b/docs/api-reference/patchers.md
index 17f6d5271d36b00e78a02b9046d0e6c5963db502..bea63ccd23decef5654f257221ce0358b4f68e45 100644
--- a/docs/api-reference/patchers.md
+++ b/docs/api-reference/patchers.md
@@ -11,19 +11,23 @@ Patchers can be seen as functions which take a value as input and modify a Kuber
 
 ## Available Patchers
 
-* **ReplicaPatcher**: Allows to modify the number of Replicas for a Kubernetes deployment.
+* **ReplicaPatcher**: Modifies the number of replicas for a Kubernetes deployment.
   * **type**: "ReplicaPatcher"
   * **resource**: "uc1-kstreams-deployment.yaml"
 
-* **NumSensorsLoadGeneratorReplicaPatcher**: Allows to scale the number of load generators. Scales according to the following formula: (value + 15_000 - 1) / 15_000
+* **NumSensorsLoadGeneratorReplicaPatcher**: Modifies the number of load generators, according to the following formula: *(value + loadGenMaxRecords - 1) / loadGenMaxRecords*
   * **type**: "NumSensorsLoadGeneratorReplicaPatcher"
   * **resource**: "uc1-load-generator-deployment.yaml"
+  * **properties**:
+    * loadGenMaxRecords: 150000
 
-* **NumNestedGroupsLoadGeneratorReplicaPatcher**: Allows to scale the number of load generators. Scales according to the following formula: (4^(value) + 15_000 -1) /15_000
+* **NumNestedGroupsLoadGeneratorReplicaPatcher**: Modifies the number of load generators, according to the following formula: *(4^(value) + loadGenMaxRecords - 1) / loadGenMaxRecords*
   * **type**: "NumNestedGroupsLoadGeneratorReplicaPatcher"
   * **resource**: "uc1-load-generator-deployment.yaml"
+  * **properties**:
+    * loadGenMaxRecords: 150000
 
-* **EnvVarPatcher**: Allows to modify the value of an environment variable for a container in a Kubernetes deployment. 
+* **EnvVarPatcher**: Modifies the value of an environment variable for a container in a Kubernetes deployment. 
   * **type**: "EnvVarPatcher"
   * **resource**: "uc1-load-generator-deployment.yaml"
   * **properties**:
@@ -35,23 +39,44 @@ Patchers can be seen as functions which take a value as input and modify a Kuber
   * **resource**: "uc1-load-generator-deployment.yaml"
   * **properties**:
     * variableName: "env"
-  * **value**: "prod"
+  * **example value**: "prod"
 
 * **ResourceLimitPatcher**: Changes the resource limit for a Kubernetes resource.
   * **resource**: "uc1-kstreams-deployment.yaml"
   * **properties**:
     * container: "uc-application"
     * variableName: "cpu" or "memory"
-  * **value**:"1000m" or "2Gi"
+  * **example value**:"1000m" or "2Gi"
   
 * **SchedulerNamePatcher**: Changes the scheduler for Kubernetes resources.
   * **type**: "SchedulerNamePatcher"
   * **resource**: "uc1-kstreams-deployment.yaml"
-  * **value**: "random-scheduler"
+  * **example value**: "random-scheduler"
+
+* **LabelPatcher**: Changes the label of a Kubernetes Deployment or StatefulSet. The patched field is: `metadata.labels`
+  * **type**: "LabelPatcher"
+  * **resource**: "uc1-kstreams-deployment.yaml"
+  * **properties**:
+    * variableName: "app"
+  * **example value**: "theodolite-sut"
+
+* **MatchLabelPatcher**: Changes the match labels of a Kubernetes Deployment or StatefulSet. The patched field is: `spec.selector.matchLabels`
+  * **type**: "MatchLabelPatcher"
+  * **resource**: "uc1-kstreams-deployment.yaml"
+  * **properties**:
+    * variableName: "app"
+  * **example value**: "theodolite-sut"
+
+* **TemplateLabelPatcher**: Changes the template labels of a Kubernetes Deployment or StatefulSet. The patched field is: `spec.template.metadata.labels`
+  * **type**: "MatchLabelPatcher"
+  * **resource**: "uc1-kstreams-deployment.yaml"
+  * **properties**:
+    * variableName: "app"
+  * **example value**: "theodolite-sut"
 
-* **ImagePatcher**: Changes the image of a Kubernetes resource. Currently not fully implemented.
+* **ImagePatcher**: Changes the image of a Kubernetes resource. **Currently not fully implemented.**
   * **type**: "ImagePatcher"
   * **resource**: "uc1-kstreams-deployment.yaml"
   * **properties**:
     * container: "uc-application"
-  * **value**: "dockerhub-org/image-name"
+  * **example value**: "dockerhub-org/image-name"
diff --git a/docs/assets/logo/theodolite-horizontal-transparent.svg b/docs/assets/logo/theodolite-horizontal-transparent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2388d2586ae333f6e0e53a8a8096a5975a2ff293
--- /dev/null
+++ b/docs/assets/logo/theodolite-horizontal-transparent.svg
@@ -0,0 +1,4333 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   version="1.1"
+   id="Layer_2"
+   x="0px"
+   y="0px"
+   viewBox="0 0 822.86941 267.65771"
+   xml:space="preserve"
+   sodipodi:docname="Theodolite-01_no-background.svg"
+   width="822.86945"
+   height="267.65771"
+   inkscape:version="1.1.1 (eb90963e84, 2021-10-02)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"><defs
+   id="defs2153" /><sodipodi:namedview
+   id="namedview2151"
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1.0"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   inkscape:pagecheckerboard="0"
+   showgrid="false"
+   inkscape:zoom="1.0369526"
+   inkscape:cx="411.30136"
+   inkscape:cy="133.56445"
+   inkscape:window-width="2488"
+   inkscape:window-height="1376"
+   inkscape:window-x="4552"
+   inkscape:window-y="27"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_2" />
+<style
+   type="text/css"
+   id="style2">
+	.st1{fill:#4D4639;}
+</style>
+<g
+   id="g2148"
+   transform="translate(-183.83057,-287.11556)">
+	<g
+   id="g2124">
+		<g
+   id="g298">
+			<path
+   class="st1"
+   d="m 333.44,523.56 c -0.03,-0.54 -0.07,-1.07 -0.12,-1.61 -0.01,-0.16 -0.02,-0.32 -0.04,-0.48 0.34,-0.61 0.37,-1.33 -0.15,-2.03 -0.45,-0.6 -1.16,-0.97 -1.87,-1.24 -0.87,-0.34 -1.79,-0.59 -2.7,-0.79 -1.43,-0.31 -3.01,-0.53 -4.53,-0.43 -0.01,-0.1 -0.01,-0.21 -0.01,-0.31 -0.04,-0.64 -0.06,-1.29 -0.11,-1.93 -0.02,-0.3 -0.03,-0.62 -0.07,-0.93 -0.05,0.02 -0.1,0.03 -0.15,0.06 0.53,-0.39 1.03,-0.83 1.47,-1.32 0.32,-0.35 0.58,-0.75 0.82,-1.17 0.09,-0.03 0.18,-0.08 0.25,-0.14 0.49,-0.39 0.3,-1.33 0.26,-1.88 -0.03,-0.57 -0.07,-1.14 -0.1,-1.71 -0.02,-0.42 -0.05,-0.84 -0.07,-1.26 0.04,-0.23 0.07,-0.47 0.11,-0.7 0,0 0,-0.01 0,-0.01 -0.06,-0.6 -0.12,-1.21 -0.15,-1.81 -0.27,-0.88 -0.81,-1.67 -1.47,-2.38 -0.03,-0.36 -0.05,-0.73 -0.1,-1.09 -0.1,-0.85 -0.2,-1.74 -0.52,-2.54 -0.11,-0.28 -0.27,-0.58 -0.47,-0.82 0.02,-0.24 -0.01,-0.49 -0.02,-0.73 -0.01,-0.37 -0.03,-0.74 -0.04,-1.11 -0.01,-0.37 -0.04,-0.74 -0.07,-1.11 -0.01,-0.22 -0.05,-0.43 -0.09,-0.64 -0.01,-0.08 -0.03,-0.16 -0.05,-0.24 -0.03,-0.11 -0.09,-0.21 -0.12,-0.31 -0.06,-0.17 -0.23,-0.24 -0.38,-0.22 -0.28,-0.28 -0.65,-0.49 -0.96,-0.63 -0.57,-0.26 -1.16,-0.4 -1.79,-0.41 -0.59,-0.01 -1.2,0.08 -1.75,0.28 -0.55,0.2 -1.42,0.56 -1.58,1.18 -0.08,0.3 0.08,0.52 0.32,0.62 0.02,0.04 0.04,0.08 0.07,0.12 -0.01,0.42 -0.02,0.84 0,1.26 0.02,0.59 0.03,1.2 0.08,1.79 -0.22,0.09 -0.41,0.22 -0.58,0.39 -1.73,-0.43 -3.5,-0.69 -5.28,-0.89 0,-0.09 0,-0.18 0.01,-0.26 0.02,-0.44 0.04,-0.89 0.04,-1.33 0,-0.43 0,-0.86 -0.02,-1.28 -0.01,-0.32 -0.03,-0.71 -0.13,-1.05 0.01,-0.03 0.03,-0.05 0.04,-0.08 0.03,-0.23 -0.08,-0.42 -0.26,-0.55 -0.23,-0.15 -0.54,-0.17 -0.81,-0.23 -0.24,-0.05 -0.48,-0.08 -0.72,-0.11 -0.35,-0.05 -0.74,-0.12 -1.11,-0.1 -0.02,-0.04 -0.04,-0.08 -0.07,-0.12 0.01,-0.11 0.02,-0.22 -0.01,-0.33 -0.06,-0.24 -0.21,-0.41 -0.38,-0.54 0.03,-0.07 0.07,-0.13 0.1,-0.2 0.03,-0.07 0.06,-0.14 0.09,-0.21 0,0 0,-0.01 0.01,-0.01 0.07,-0.14 0.14,-0.29 0.22,-0.42 0.15,-0.28 0.33,-0.54 0.5,-0.81 0.08,-0.13 0.18,-0.26 0.26,-0.39 0.07,-0.11 0.12,-0.18 0.19,-0.27 0.87,-0.48 1.55,-1.36 1.5,-2.38 -0.03,-0.66 -0.37,-1.29 -0.88,-1.71 -0.6,-0.49 -1.28,-0.57 -1.99,-0.26 -0.1,0.05 -0.17,0.11 -0.23,0.19 0.01,-0.11 -0.1,-0.22 -0.23,-0.15 -0.33,0.18 -0.64,0.39 -0.96,0.59 -0.17,-0.18 -0.31,-0.38 -0.49,-0.56 -0.13,-0.13 -0.33,0.07 -0.2,0.2 0.02,0.02 0.03,0.04 0.05,0.06 -0.03,0 -0.05,0.01 -0.08,0.03 -0.15,0.13 -0.3,0.27 -0.45,0.4 -0.24,-0.34 -0.49,-0.67 -0.73,-1.01 -0.13,-0.18 -0.43,-0.01 -0.3,0.17 l 0.76,1.08 c -0.28,0.25 -0.57,0.5 -0.85,0.76 -0.1,-0.14 -0.2,-0.29 -0.3,-0.43 0.26,-0.17 0.53,-0.34 0.81,-0.48 0.17,-0.09 0.02,-0.34 -0.15,-0.25 -0.29,0.15 -0.57,0.31 -0.85,0.48 -0.08,-0.12 -0.17,-0.23 -0.25,-0.35 -0.11,-0.16 -0.37,-0.01 -0.26,0.15 0.08,0.12 0.17,0.24 0.25,0.37 -0.12,0.08 -0.24,0.17 -0.36,0.25 -0.2,-0.14 -0.38,-0.32 -0.56,-0.48 0.02,-0.02 0.04,-0.05 0.07,-0.07 0.15,-0.14 -0.07,-0.36 -0.23,-0.23 -0.03,0.03 -0.06,0.06 -0.09,0.09 -0.06,-0.06 -0.12,-0.09 -0.18,-0.15 -0.23,-0.25 -0.55,-0.2 -0.76,-0.02 -0.03,-0.04 -0.04,-0.09 -0.08,-0.12 -0.16,-0.12 -0.4,-0.12 -0.54,0.03 -0.1,0.1 -0.19,0.19 -0.3,0.28 -0.1,0.09 -0.2,0.18 -0.29,0.29 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.07,-0.14 -0.16,-0.28 -0.31,-0.39 -0.2,-0.15 -0.44,-0.18 -0.64,0 -0.37,0.34 -0.56,0.79 -0.87,1.15 -0.48,0.05 -0.97,0.21 -1.42,0.32 -0.02,0 -0.03,0.01 -0.05,0.01 0.03,-0.02 0.05,-0.05 0.05,-0.08 0,-0.01 0.02,-0.01 0.02,-0.02 0.01,-0.1 0,-0.21 -0.04,-0.3 -0.04,-0.09 -0.1,-0.17 -0.17,-0.24 -0.06,-0.06 -0.14,-0.11 -0.22,-0.15 0.39,-0.15 0.77,-0.32 1.14,-0.5 0.11,-0.06 0.03,-0.23 -0.08,-0.19 -0.71,0.2 -1.4,0.45 -2.11,0.67 -0.33,0.1 -0.67,0.19 -1.01,0.29 0.04,-0.17 0.08,-0.33 0.14,-0.49 0.04,-0.09 -0.04,-0.21 -0.13,-0.23 -0.11,-0.03 -0.19,0.04 -0.23,0.13 -0.09,0.23 -0.16,0.46 -0.19,0.71 -0.21,0.06 -0.42,0.13 -0.63,0.18 -0.31,0.08 -0.62,0.14 -0.93,0.21 0,-0.1 0.01,-0.2 0.02,-0.29 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.1,-0.04 0.1,-0.22 -0.03,-0.21 -0.02,0 -0.03,0.01 -0.05,0.01 0.02,-0.11 0.04,-0.21 0.07,-0.32 0.07,-0.23 -0.29,-0.33 -0.36,-0.1 -0.05,0.16 -0.08,0.32 -0.11,0.48 -0.25,0.05 -0.5,0.09 -0.75,0.15 0.03,-0.12 0.05,-0.24 0.1,-0.36 0.04,-0.09 -0.04,-0.21 -0.13,-0.23 -0.11,-0.03 -0.19,0.04 -0.23,0.13 -0.07,0.17 -0.11,0.35 -0.14,0.53 -0.25,0.04 -0.51,0.08 -0.76,0.11 -0.02,-0.31 -0.04,-0.62 -0.05,-0.93 -0.01,-0.26 -0.42,-0.26 -0.41,0 0.02,0.33 0.03,0.66 0.05,0.99 -0.06,0.01 -0.12,0.02 -0.19,0.03 -0.36,0.04 -0.71,0.07 -1.07,0.1 0.03,-0.18 0.07,-0.36 0.15,-0.53 0.04,-0.09 0.03,-0.2 -0.07,-0.25 -0.08,-0.05 -0.21,-0.03 -0.25,0.07 -0.1,0.24 -0.16,0.49 -0.19,0.75 -0.48,0.04 -0.97,0.06 -1.46,0.07 -0.07,-0.33 -0.05,-0.68 0.04,-1.01 0.07,-0.23 -0.28,-0.32 -0.36,-0.1 -0.12,0.36 -0.13,0.74 -0.07,1.11 -0.36,0 -0.72,0.01 -1.08,0 -0.03,-0.15 -0.05,-0.29 -0.08,-0.44 -0.01,-0.07 -0.1,-0.12 -0.17,-0.1 -0.08,0.02 -0.11,0.1 -0.1,0.17 0.02,0.12 0.04,0.24 0.07,0.36 -0.46,-0.01 -0.92,-0.04 -1.38,-0.07 0,-0.21 0.01,-0.42 0.03,-0.62 0.01,-0.09 -0.02,-0.17 -0.11,-0.2 -0.08,-0.02 -0.19,0.03 -0.2,0.11 -0.03,0.22 -0.04,0.45 -0.04,0.67 -0.34,-0.03 -0.68,-0.06 -1.01,-0.1 -0.03,-0.19 -0.07,-0.38 -0.1,-0.57 -0.02,-0.08 -0.12,-0.13 -0.19,-0.11 -0.09,0.02 -0.12,0.11 -0.11,0.19 0.03,0.15 0.05,0.3 0.08,0.45 -0.3,-0.04 -0.59,-0.09 -0.89,-0.13 -0.01,-0.12 -0.02,-0.23 -0.01,-0.35 0.01,-0.21 -0.31,-0.21 -0.33,0 -0.01,0.1 0.01,0.2 0.01,0.3 -0.05,-0.01 -0.11,-0.02 -0.16,-0.02 -0.12,-0.02 -0.18,0.17 -0.05,0.19 0.07,0.01 0.15,0.02 0.22,0.03 0.02,0.19 0.07,0.37 0.13,0.54 0.04,0.12 0.1,0.23 0.16,0.34 -0.11,-0.01 -0.22,-0.01 -0.33,-0.02 -0.26,-0.03 -0.53,-0.07 -0.79,-0.1 -0.02,-0.08 -0.05,-0.16 -0.07,-0.25 -0.05,-0.33 -0.03,-0.66 0.05,-0.98 0.05,-0.18 -0.23,-0.26 -0.28,-0.08 -0.1,0.36 -0.12,0.74 -0.07,1.11 0.01,0.05 0.03,0.11 0.04,0.16 -0.31,-0.04 -0.62,-0.07 -0.93,-0.11 -0.02,-0.08 -0.03,-0.17 -0.06,-0.25 -0.11,-0.25 -0.29,-0.46 -0.53,-0.6 -0.16,-0.09 -0.3,0.15 -0.14,0.25 0.18,0.11 0.32,0.29 0.39,0.48 0.01,0.03 0.01,0.05 0.02,0.08 -0.19,-0.03 -0.37,-0.07 -0.56,-0.1 -0.01,-0.06 -0.01,-0.12 -0.02,-0.18 -0.02,-0.11 -0.04,-0.23 -0.05,-0.34 -0.01,-0.06 -0.09,-0.11 -0.15,-0.09 -0.06,0.02 -0.11,0.09 -0.09,0.15 0.03,0.11 0.07,0.21 0.1,0.32 0.01,0.03 0.03,0.07 0.04,0.1 -0.25,-0.04 -0.49,-0.09 -0.74,-0.14 0,-0.02 0,-0.03 -0.01,-0.05 -0.03,-0.25 -0.06,-0.51 -0.08,-0.76 -0.01,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.03,0.25 0.05,0.5 0.08,0.75 -0.23,-0.05 -0.47,-0.08 -0.7,-0.13 -0.17,-0.04 -0.24,0.21 -0.07,0.25 0.27,0.07 0.54,0.12 0.8,0.18 0,0.03 0.01,0.07 0.01,0.1 0.01,0.07 0.02,0.13 0.03,0.2 0,0.03 0.01,0.06 0.02,0.08 0.01,0.04 0.04,0.06 0.07,0.09 0.01,0.01 0.02,0.01 0.04,0.01 0.02,0.01 0.04,0.03 0.07,0.03 0.11,0 0.14,-0.13 0.08,-0.19 0,-0.02 0.01,-0.03 0.01,-0.06 0,-0.06 -0.01,-0.11 -0.01,-0.17 0,0 0,-0.01 0,-0.01 0.49,0.11 0.99,0.21 1.49,0.3 0,0.01 0,0.03 0,0.04 0,0.08 -0.01,0.15 0.05,0.22 0.04,0.04 0.1,0.04 0.15,0.02 0.08,-0.03 0.1,-0.13 0.11,-0.2 0,-0.01 0,-0.02 0,-0.03 0.34,0.06 0.67,0.11 1.01,0.15 0.06,0.15 0.15,0.32 0.28,0.41 0.05,0.04 0.14,-0.01 0.13,-0.08 -0.01,-0.09 -0.04,-0.19 -0.08,-0.28 0.01,0 0.03,0 0.04,0.01 0.42,0.05 0.84,0.07 1.25,0.1 0.05,0.04 0.09,0.08 0.15,0.1 0.06,0.02 0.1,-0.03 0.11,-0.08 0.24,0.02 0.47,0.04 0.71,0.06 0.03,0.01 0.05,0.01 0.07,0 0.37,0.02 0.74,0.02 1.11,0.03 0.02,0.06 0.04,0.12 0.07,0.18 0.04,0.09 0.08,0.19 0.16,0.25 -1.96,-0.07 -3.91,-0.25 -5.84,-0.53 -0.66,-0.1 -1.39,-0.19 -2.11,-0.34 0,0 0,0 0,0 -0.01,-0.11 -0.12,-0.2 -0.18,-0.28 -0.06,-0.08 -0.12,-0.17 -0.16,-0.27 -0.08,-0.18 -0.12,-0.38 -0.1,-0.59 0.01,-0.08 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 -0.02,0.25 0.03,0.49 0.13,0.72 0.05,0.11 0.11,0.21 0.19,0.3 0.01,0.01 0.02,0.01 0.02,0.02 -0.94,-0.24 -1.82,-0.6 -2.46,-1.26 -0.3,-0.31 -0.86,0.1 -0.61,0.47 0.27,0.38 0.57,0.72 0.91,1.02 -0.02,0.15 -0.04,0.31 -0.06,0.46 -0.27,-0.08 -0.54,-0.18 -0.8,-0.31 -0.02,-0.01 -0.03,-0.02 -0.05,-0.03 0.02,-0.18 0.05,-0.36 0.09,-0.54 0.04,-0.19 -0.24,-0.27 -0.29,-0.08 -0.03,0.15 -0.05,0.3 -0.08,0.45 -0.21,-0.13 -0.42,-0.27 -0.61,-0.43 0.03,-0.27 0.08,-0.54 0.05,-0.8 -0.01,-0.07 -0.06,-0.11 -0.11,-0.11 -0.14,-0.36 -0.66,-0.53 -0.93,-0.2 -0.05,-0.08 -0.11,-0.16 -0.16,-0.25 -0.1,-0.18 -0.37,-0.02 -0.28,0.16 0.08,0.15 0.17,0.28 0.27,0.42 -0.09,0.2 -0.18,0.41 -0.25,0.62 -0.27,-0.52 -0.59,-1.02 -1.01,-1.45 -0.48,-0.51 -1.19,0.18 -0.85,0.71 -0.26,0.22 -0.52,0.43 -0.78,0.65 -0.27,-0.3 -0.53,-0.59 -0.8,-0.89 0.08,-0.08 0.16,-0.15 0.24,-0.23 0.12,-0.11 -0.06,-0.29 -0.18,-0.18 -0.22,0.2 -0.44,0.39 -0.66,0.59 -0.13,-0.12 -0.27,-0.24 -0.41,-0.35 -0.1,-0.08 -0.21,-0.14 -0.32,-0.21 0.05,-0.04 0.1,-0.08 0.15,-0.13 0.14,-0.12 -0.06,-0.32 -0.21,-0.21 -0.07,0.05 -0.13,0.11 -0.2,0.16 -2.55,-1.51 -6.08,-1.33 -8.3,0.54 -0.06,-0.04 -0.12,-0.08 -0.18,-0.12 0.28,-0.2 0.55,-0.39 0.83,-0.59 0.12,-0.09 0.01,-0.29 -0.12,-0.21 -0.32,0.22 -0.63,0.43 -0.94,0.65 -0.26,-0.16 -0.52,-0.32 -0.78,-0.48 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.05,-0.05 -0.02,-0.14 -0.08,-0.1 -0.03,0.02 -0.06,0.03 -0.09,0.05 -0.15,-0.09 -0.28,-0.18 -0.43,-0.26 -0.16,-0.09 -0.31,0.16 -0.15,0.25 0.09,0.05 0.17,0.11 0.26,0.17 -0.25,0.16 -0.48,0.34 -0.71,0.53 -0.11,-0.08 -0.22,-0.16 -0.33,-0.25 0.1,-0.17 0.2,-0.34 0.3,-0.51 0.22,-0.38 -0.23,-0.89 -0.62,-0.62 -1.05,0.72 -1.69,1.99 -2,3.21 -0.31,1.24 -0.31,2.57 0.05,3.8 0.35,1.18 1.01,2.27 1.88,3.13 0.11,0.11 0.24,0.23 0.38,0.35 -0.54,-0.19 -1.13,-0.28 -1.71,-0.27 -0.63,0.01 -1.22,0.15 -1.79,0.41 -0.31,0.14 -0.68,0.36 -0.96,0.63 -0.15,-0.02 -0.33,0.04 -0.38,0.22 -0.03,0.1 -0.09,0.2 -0.12,0.31 -0.02,0.08 -0.03,0.16 -0.05,0.24 -0.04,0.21 -0.07,0.42 -0.09,0.64 -0.03,0.37 -0.05,0.74 -0.07,1.11 -0.01,0.37 -0.03,0.74 -0.04,1.11 -0.01,0.24 -0.04,0.49 -0.02,0.73 -0.2,0.25 -0.36,0.55 -0.47,0.82 -0.32,0.8 -0.42,1.69 -0.52,2.54 -0.04,0.31 -0.06,0.62 -0.08,0.93 -0.06,-0.01 -0.11,-0.03 -0.18,0 -1.4,0.54 -2.03,1.8 -2.02,3.19 0,0.49 0.12,0.96 0.27,1.41 0,0.46 0.01,0.92 0.02,1.38 0.03,0.89 0.06,1.79 0.09,2.68 -0.07,0.13 -0.08,0.28 0.01,0.42 0,0.02 0,0.03 0,0.05 0.02,0.44 0.37,0.66 0.71,0.66 0.75,0.67 1.59,1.25 2.48,1.77 -0.14,0.49 -0.14,1.04 -0.17,1.53 -0.04,0.64 -0.07,1.29 -0.1,1.93 -0.01,0.1 -0.01,0.21 -0.01,0.31 -1.42,-0.1 -2.91,0.12 -4.24,0.43 -0.86,0.2 -1.72,0.45 -2.54,0.79 -0.67,0.28 -1.33,0.64 -1.76,1.24 -0.49,0.7 -0.46,1.41 -0.14,2.03 -0.01,0.16 -0.02,0.33 -0.04,0.48 -0.04,0.54 -0.09,1.07 -0.11,1.61 -0.03,0.52 -0.05,1.03 -0.07,1.55 -0.02,0.56 -0.07,1.1 0.13,1.63 0.12,0.31 0.4,0.4 0.65,0.34 0.49,0.66 1.19,1.18 1.94,1.51 1.39,0.62 2.94,0.8 4.46,0.93 -0.09,0.23 -0.14,0.48 -0.17,0.7 -0.05,0.28 -0.06,0.57 -0.08,0.86 -0.47,0.42 -0.8,0.97 -1,1.6 -0.11,0.06 -0.21,0.15 -0.25,0.29 -0.51,1.49 -0.58,3.13 -0.45,4.69 0.06,0.79 0.18,1.57 0.34,2.35 0.08,0.37 0.16,0.73 0.27,1.09 0.06,0.21 0.12,0.45 0.23,0.64 0.11,0.19 0.28,0.3 0.44,0.45 0.04,0.04 0.09,0.05 0.14,0.07 1.83,2.01 4.2,3.39 6.45,4.56 2.64,1.38 5.49,2.18 8.32,2.83 6.28,1.45 12.68,2.39 19.08,2.81 6.53,0.42 13.09,0.29 19.6,-0.53 6.44,-0.81 12.88,-2.23 19.07,-4.56 2.69,-1.01 5.5,-2.31 7.48,-4.8 0.35,-0.44 0.65,-0.96 0.91,-1.5 0.19,-0.24 0.3,-0.49 0.37,-0.85 0.08,-0.4 0.14,-0.8 0.19,-1.21 0.11,-0.82 0.16,-1.65 0.15,-2.48 -0.01,-0.72 -0.08,-1.44 -0.19,-2.14 0,-0.02 0.01,-0.05 0.01,-0.07 0,0 0,0 0,0 0,0 0,0 0,-0.01 -0.05,-0.73 -0.09,-1.46 -0.11,-2.19 -0.32,-1.31 -1.04,-2.48 -1.93,-3.5 -0.02,-0.17 -0.02,-0.33 -0.05,-0.5 -0.04,-0.22 -0.09,-0.47 -0.19,-0.7 1.62,-0.14 3.28,-0.31 4.76,-0.93 0.8,-0.34 1.55,-0.86 2.07,-1.51 0.27,0.07 0.56,-0.03 0.69,-0.34 0.22,-0.53 0.16,-1.07 0.14,-1.63 0.05,-0.5 0.03,-1.01 0,-1.53 z m -7.89,-5.41 c 0.92,0.13 1.83,0.3 2.73,0.53 0.86,0.22 1.73,0.48 2.55,0.82 0.47,0.19 1.25,0.53 1.26,1.1 0.01,0.5 -0.6,0.82 -1.01,1.02 -0.64,0.3 -1.38,0.46 -2.07,0.64 -1.59,0.4 -3.21,0.69 -4.84,0.85 -3.27,0.32 -6.59,0.2 -9.81,-0.41 -1.47,-0.28 -3.09,-0.57 -4.45,-1.17 -0.11,-0.05 -0.22,-0.1 -0.33,-0.17 0,-0.02 0.01,-0.04 0.01,-0.06 0.01,-0.06 0.01,-0.13 0.03,-0.19 0.03,-0.13 0.07,-0.26 0.12,-0.39 0.11,-0.25 0.26,-0.46 0.45,-0.65 0.09,-0.09 -0.04,-0.22 -0.14,-0.14 -0.22,0.19 -0.39,0.44 -0.51,0.7 -0.06,0.13 -0.11,0.27 -0.14,0.41 -0.01,0.05 -0.02,0.11 -0.03,0.17 -0.23,-0.19 -0.39,-0.43 -0.27,-0.74 0.18,-0.47 0.83,-0.79 1.28,-0.99 1.45,-0.64 3.18,-0.96 4.75,-1.2 0.45,-0.07 0.9,-0.1 1.35,-0.14 l -0.02,1.18 c -0.55,-0.1 -1.14,0.22 -1.31,0.76 -0.08,0.26 -0.06,0.55 0.05,0.8 0.1,0.23 0.31,0.47 0.57,0.53 0.08,0.02 0.14,-0.08 0.08,-0.14 -0.08,-0.07 -0.16,-0.14 -0.22,-0.23 -0.05,-0.08 -0.11,-0.16 -0.15,-0.25 -0.08,-0.19 -0.11,-0.41 -0.05,-0.61 0.12,-0.4 0.56,-0.68 0.97,-0.61 0.02,0 0.04,-0.01 0.05,-0.01 l -0.01,0.42 c 0,0 0,0 -0.01,0 -0.27,-0.08 -0.54,0.18 -0.46,0.43 0.08,0.25 0.11,0.46 0.3,0.66 0.15,0.17 0.32,0.32 0.51,0.45 0.39,0.26 0.85,0.44 1.3,0.6 0.88,0.3 1.86,0.39 2.79,0.29 0.96,-0.11 1.91,-0.4 2.69,-0.94 0.44,-0.3 0.83,-0.69 0.92,-1.21 0.07,-0.38 -0.04,-0.79 -0.36,-0.99 -0.01,-0.23 -0.03,-0.45 -0.04,-0.67 -0.01,-0.2 -0.02,-0.4 -0.03,-0.6 0.51,0.04 1.01,0.08 1.5,0.15 z m -10.96,11.42 c -0.07,0.29 -0.1,0.58 -0.11,0.89 -0.19,-0.34 -0.42,-0.66 -0.73,-0.91 -0.13,-0.11 -0.32,0.08 -0.19,0.19 0.39,0.32 0.69,0.74 0.86,1.21 0.02,0.06 0.03,0.13 0.05,0.2 0,0.12 0,0.23 0,0.34 -0.01,0.36 -0.02,0.72 -0.02,1.08 0,0.38 -0.04,0.78 0.04,1.16 0.03,0.16 0.14,0.27 0.26,0.34 -0.03,0.03 -0.06,0.07 -0.05,0.12 0.08,0.57 -0.05,1.15 -0.33,1.64 -0.01,0.02 -0.03,0.04 -0.05,0.06 -0.59,0.01 -1.18,0.05 -1.76,0.13 -0.17,0.02 -0.17,0.3 0,0.27 0.51,-0.07 1.02,-0.09 1.53,-0.11 -0.27,0.32 -0.57,0.59 -0.94,0.8 -0.1,0.06 -0.04,0.23 0.08,0.2 0.54,-0.16 0.96,-0.54 1.26,-1 0.49,0 0.98,0.03 1.46,0.08 -0.05,0.05 -0.08,0.1 -0.13,0.15 -0.09,0.08 -0.17,0.15 -0.27,0.22 -0.1,0.07 -0.22,0.12 -0.32,0.21 -0.06,0.06 -0.02,0.18 0.07,0.18 0.25,-0.02 0.52,-0.21 0.71,-0.36 0.12,-0.1 0.2,-0.23 0.3,-0.35 0.51,0.06 1.02,0.13 1.52,0.23 0.01,0 0.02,0.01 0.03,0.01 -0.03,0.04 -0.06,0.07 -0.08,0.11 -0.06,0.08 -0.12,0.15 -0.15,0.24 -0.03,0.11 0.09,0.2 0.19,0.14 0.08,-0.05 0.13,-0.11 0.18,-0.18 0.06,-0.07 0.12,-0.14 0.17,-0.21 0.01,-0.01 0.02,-0.02 0.02,-0.03 0.17,0.04 0.35,0.07 0.51,0.12 0.29,0.1 0.55,0.25 0.85,0.32 0.1,0.02 0.17,-0.12 0.07,-0.18 -0.25,-0.13 -0.53,-0.18 -0.8,-0.26 -0.17,-0.05 -0.35,-0.1 -0.52,-0.16 0.06,-0.08 0.13,-0.15 0.19,-0.23 0.06,-0.07 0.12,-0.14 0.17,-0.22 0.59,0.02 1.18,0 1.73,-0.01 0.28,0 0.57,0 0.87,-0.01 -0.05,0.05 -0.11,0.09 -0.16,0.14 -0.09,0.08 -0.18,0.16 -0.27,0.24 -0.05,0.04 -0.1,0.08 -0.15,0.13 -0.05,0.04 -0.09,0.1 -0.13,0.15 -0.05,0.06 -0.06,0.13 -0.01,0.19 0.04,0.06 0.13,0.08 0.19,0.04 0.06,-0.03 0.12,-0.07 0.17,-0.11 0.05,-0.04 0.1,-0.08 0.15,-0.12 0.1,-0.08 0.2,-0.17 0.3,-0.25 0.17,-0.14 0.34,-0.28 0.51,-0.43 0.85,-0.03 1.71,-0.13 2.42,-0.45 0.74,-0.33 1.48,-1.06 1.55,-1.85 0.1,-0.28 0.16,-0.57 0.2,-0.84 0.06,-0.37 0.08,-0.73 0.09,-1.1 0.19,0.56 0.33,1.15 0.41,1.75 -0.1,0.11 -0.16,0.26 -0.12,0.45 0.05,0.26 0.08,0.52 0.12,0.78 0,0.03 0,0.05 0.01,0.08 -0.01,0.1 0,0.21 -0.02,0.31 0.19,1.69 -0.7,3.27 -1.8,4.35 -1.36,1.33 -3.15,2.05 -4.82,2.74 -3.59,1.48 -7.28,2.62 -11.03,3.47 -7.49,1.7 -15.15,2.22 -22.77,2.12 -3.85,-0.05 -7.7,-0.26 -11.54,-0.56 -3.86,-0.3 -7.72,-0.72 -11.53,-1.51 -3.76,-0.78 -7.48,-1.91 -11.01,-3.55 -2.47,-1.15 -5.72,-3.28 -4.95,-6.77 0.03,0.14 0.07,0.26 0.11,0.39 0.07,0.8 0.76,1.52 1.45,1.85 1.06,0.51 2.49,0.46 3.64,0.48 0.52,0.01 1.08,0.02 1.64,0.01 0,0 0,0.01 0,0.01 0.09,0.22 0.17,0.45 0.28,0.66 0.06,0.12 0.24,0.04 0.21,-0.09 -0.05,-0.2 -0.12,-0.4 -0.2,-0.59 0.56,-0.03 1.11,-0.1 1.61,-0.27 0.25,0.45 0.56,0.86 0.93,1.23 0.18,0.18 0.38,0.35 0.59,0.51 0.2,0.15 0.43,0.3 0.67,0.38 0.08,0.03 0.15,-0.09 0.08,-0.14 -0.19,-0.16 -0.4,-0.29 -0.6,-0.44 -0.2,-0.15 -0.39,-0.32 -0.57,-0.49 -0.13,-0.13 -0.25,-0.27 -0.37,-0.41 0.07,0.01 0.14,-0.04 0.1,-0.11 -0.03,-0.06 -0.07,-0.12 -0.11,-0.17 -0.04,-0.05 -0.08,-0.11 -0.12,-0.16 -0.08,-0.11 -0.16,-0.21 -0.24,-0.32 0.39,-0.17 0.74,-0.41 0.96,-0.79 0.1,-0.18 0.21,-0.42 0.25,-0.66 0.14,-0.03 0.26,-0.1 0.34,-0.22 0,0 0,0.01 0,0.01 l 0.41,0.74 c 0.07,0.12 0.13,0.24 0.2,0.37 0.03,0.06 0.07,0.12 0.1,0.17 0.04,0.06 0.09,0.12 0.14,0.18 0.05,0.06 0.15,0 0.13,-0.07 -0.05,-0.14 -0.1,-0.26 -0.17,-0.39 -0.07,-0.12 -0.14,-0.24 -0.2,-0.37 -0.14,-0.25 -0.28,-0.5 -0.42,-0.74 -0.03,-0.05 -0.08,-0.06 -0.13,-0.04 0.01,-0.02 0.02,-0.04 0.02,-0.06 0.08,-0.37 0.04,-0.78 0.03,-1.16 0,-0.36 -0.01,-0.72 -0.02,-1.08 0,-0.16 0,-0.33 0,-0.5 0.38,0.02 0.76,0.03 1.14,0.05 -0.01,0.05 -0.04,0.09 -0.05,0.14 -0.06,0.23 -0.14,0.49 -0.13,0.73 0,0.04 0.06,0.05 0.07,0.01 0.06,-0.22 0.09,-0.45 0.15,-0.67 0.02,-0.07 0.05,-0.14 0.08,-0.21 0.87,0.04 1.74,0.08 2.6,0.12 0.75,0.03 1.49,0.06 2.24,0.08 0.08,0 0.16,0.01 0.24,0.01 -0.07,0.16 -0.15,0.31 -0.19,0.47 -0.02,0.08 0.09,0.12 0.13,0.06 0.12,-0.17 0.24,-0.34 0.35,-0.51 0.52,0.03 1.04,0.06 1.57,0.06 -0.01,0.06 -0.01,0.12 -0.02,0.17 -0.08,0.12 -0.15,0.26 -0.22,0.38 -0.04,0.07 0.06,0.12 0.1,0.06 0.04,-0.05 0.07,-0.1 0.11,-0.14 0,0.49 0.12,0.97 0.32,1.43 -0.37,0.13 -0.75,0.28 -1.11,0.4 -0.08,0.03 -0.17,0.05 -0.25,0.08 0,-0.06 -0.03,-0.12 -0.09,-0.12 -0.06,0 -0.12,0.01 -0.17,0.02 -0.14,-0.49 -0.17,-1.01 -0.04,-1.5 0.04,-0.17 -0.22,-0.24 -0.27,-0.07 -0.03,0.09 -0.04,0.18 -0.05,0.28 -0.82,-0.07 -1.65,-0.03 -2.48,-0.03 -0.5,0 -1,0 -1.5,0 -0.02,-0.28 -0.01,-0.56 0.05,-0.83 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.07,0.3 -0.09,0.6 -0.07,0.9 -0.25,0 -0.49,0 -0.74,0 -0.15,0 -0.15,0.24 0,0.24 0.26,0 0.51,0 0.77,0 0.04,0.27 0.11,0.54 0.22,0.8 0.21,0.49 0.57,1 1.03,1.3 -0.5,0.09 -1,0.16 -1.5,0.21 -0.28,-0.35 -0.54,-0.7 -0.76,-1.09 -0.27,-0.48 -0.47,-1 -0.6,-1.54 -0.04,-0.18 -0.31,-0.1 -0.27,0.08 0.13,0.56 0.34,1.11 0.62,1.61 0.2,0.37 0.46,0.7 0.74,1.01 -0.07,0.07 -0.05,0.21 0.07,0.2 0.04,0 0.07,-0.01 0.11,-0.02 0.05,0.05 0.09,0.11 0.15,0.15 0.1,0.08 0.22,-0.04 0.14,-0.14 -0.01,-0.02 -0.02,-0.03 -0.04,-0.05 0.88,-0.1 1.76,-0.26 2.63,-0.45 0.18,0.25 0.35,0.51 0.54,0.76 0.05,0.06 0.15,0.01 0.1,-0.06 -0.16,-0.25 -0.33,-0.49 -0.5,-0.73 0.21,-0.05 0.43,-0.08 0.64,-0.14 0.37,-0.09 0.73,-0.21 1.1,-0.31 0.02,0.04 0.02,0.07 0.04,0.11 0.31,0.67 0.83,1.19 1.5,1.49 -0.05,0.02 -0.1,0.04 -0.15,0.06 -0.36,0.13 -0.73,0.27 -1.09,0.4 -0.76,0.28 -1.51,0.55 -2.27,0.83 -0.14,0.05 -0.08,0.27 0.06,0.22 0.77,-0.27 1.55,-0.54 2.32,-0.81 0.38,-0.13 0.76,-0.26 1.14,-0.4 0.37,-0.13 0.77,-0.24 1.11,-0.44 0.1,-0.06 0.03,-0.2 -0.08,-0.18 -0.28,0.04 -0.55,0.14 -0.82,0.24 0,-0.04 -0.01,-0.08 -0.04,-0.1 0.27,-0.2 0.56,-0.37 0.88,-0.49 0.15,-0.06 0.31,-0.1 0.46,-0.14 0.51,0.44 1.08,0.81 1.7,1.09 0.06,0.03 0.12,0.05 0.19,0.08 -0.19,0 -0.4,0.05 -0.56,0.08 -0.3,0.05 -0.59,0.13 -0.88,0.22 -0.57,0.19 -1.11,0.45 -1.61,0.78 -0.16,0.11 -0.01,0.37 0.15,0.26 0.49,-0.32 1.01,-0.57 1.57,-0.75 0.27,-0.09 0.55,-0.15 0.82,-0.2 0.26,-0.05 0.59,-0.03 0.83,-0.15 0.04,-0.02 0.05,-0.06 0.05,-0.09 0.56,0.23 1.13,0.44 1.71,0.54 0.07,0.01 0.12,-0.08 0.05,-0.12 -0.65,-0.35 -1.37,-0.56 -2.04,-0.88 -0.55,-0.26 -1.08,-0.58 -1.56,-0.96 0,0 0.01,0 0,0 -0.01,0.01 0.04,-0.01 0.05,-0.01 0.05,-0.02 0.08,-0.03 0.12,-0.07 0.04,-0.04 0.03,-0.11 -0.01,-0.14 0.1,0.08 0.21,0.15 0.32,0.23 -0.01,0.03 0,0.07 0.01,0.1 0.04,0.06 0.11,0.07 0.17,0.04 0.01,0 0.01,-0.01 0.02,-0.01 0.74,0.47 1.58,0.8 2.42,1.05 0.92,0.28 1.85,0.53 2.79,0.75 -0.19,0.08 -0.38,0.16 -0.57,0.24 -0.58,0.25 -1.15,0.5 -1.73,0.75 -0.17,0.07 -0.05,0.37 0.13,0.3 0.58,-0.24 1.17,-0.47 1.75,-0.71 0.29,-0.12 0.58,-0.24 0.87,-0.36 0.06,-0.03 0.13,-0.05 0.19,-0.08 0.91,0.21 1.82,0.4 2.73,0.56 0,0.05 0.02,0.11 0.09,0.13 0.41,0.16 0.81,0.33 1.22,0.49 0.4,0.16 0.82,0.32 1.23,0.44 0.1,0.03 0.17,-0.13 0.07,-0.18 -0.39,-0.2 -0.8,-0.37 -1.21,-0.53 -0.15,-0.06 -0.3,-0.12 -0.44,-0.18 0.88,0.14 1.77,0.27 2.66,0.38 3.32,0.4 6.66,0.49 9.99,0.28 2.97,-0.19 6.02,-0.53 8.88,-1.4 0.58,-0.18 1.16,-0.39 1.73,-0.62 0.22,0.09 0.44,0.18 0.66,0.27 0.23,0.09 0.45,0.19 0.68,0.28 0.22,0.09 0.48,0.21 0.71,0.25 0.13,0.02 0.2,-0.13 0.09,-0.21 -0.19,-0.14 -0.45,-0.23 -0.67,-0.32 -0.23,-0.1 -0.47,-0.19 -0.7,-0.29 -0.12,-0.05 -0.24,-0.1 -0.36,-0.15 0.41,-0.18 0.81,-0.39 1.21,-0.61 0.51,0.08 1.03,0.17 1.54,0.25 0.26,0.04 0.52,0.09 0.78,0.13 0.26,0.03 0.52,0.09 0.78,0.05 0.09,-0.01 0.1,-0.15 0.02,-0.19 -0.22,-0.12 -0.49,-0.15 -0.73,-0.19 -0.26,-0.05 -0.53,-0.08 -0.79,-0.12 -0.39,-0.06 -0.78,-0.12 -1.17,-0.18 0.08,-0.05 0.16,-0.09 0.24,-0.14 0.63,-0.4 1.25,-0.86 1.76,-1.4 0.41,-0.43 0.7,-0.88 0.93,-1.4 0.03,-0.06 0.08,-0.11 0.11,-0.17 0.17,-0.33 0.31,-0.69 0.39,-1.05 0.04,-0.2 0.07,-0.39 0.05,-0.6 -0.01,-0.1 -0.01,-0.21 -0.04,-0.31 0.17,-0.02 0.34,-0.04 0.51,-0.05 0,0.02 -0.01,0.05 0.01,0.07 0.19,0.35 0.27,0.74 0.29,1.13 -0.21,-0.01 -0.43,-0.01 -0.64,-0.02 -0.18,-0.01 -0.18,0.26 0,0.27 0.22,0.01 0.44,0.03 0.66,0.04 -0.01,0.24 -0.06,0.48 -0.13,0.71 -0.03,0.09 -0.07,0.17 -0.11,0.25 -0.08,0 -0.17,-0.01 -0.25,-0.01 -0.2,-0.01 -0.2,0.3 0,0.31 0.04,0 0.08,0.01 0.12,0.01 -0.02,0.04 -0.03,0.07 -0.05,0.11 -0.05,0.12 0.08,0.25 0.19,0.15 0.07,-0.07 0.12,-0.15 0.17,-0.23 0.35,0.02 0.69,0.04 1.04,0.07 -0.01,0.01 -0.01,0.03 -0.02,0.04 -0.09,0.22 -0.19,0.43 -0.28,0.65 -0.08,0.18 -0.15,0.37 -0.22,0.56 -0.02,0 -0.04,0.01 -0.06,0.02 -0.32,0.08 -0.64,0.13 -0.97,0.16 -0.66,0.06 -1.33,0.02 -1.98,-0.11 -0.22,-0.04 -0.32,0.29 -0.09,0.34 0.69,0.15 1.4,0.2 2.11,0.15 0.35,-0.03 0.7,-0.08 1.04,-0.15 0.31,-0.07 0.67,-0.17 0.92,-0.38 0.07,-0.07 0.01,-0.19 -0.08,-0.19 -0.21,0 -0.42,0.05 -0.62,0.1 0.06,-0.13 0.13,-0.26 0.19,-0.39 0.1,-0.21 0.19,-0.42 0.28,-0.64 0.02,-0.05 0.04,-0.09 0.06,-0.14 0.01,0 0.02,0 0.03,0 0.29,0.02 0.58,0.04 0.87,0.06 0.15,0.01 0.29,0.02 0.44,0.03 0.15,0.01 0.28,0.03 0.42,-0.04 0.12,-0.06 0.1,-0.23 0,-0.3 -0.13,-0.08 -0.27,-0.07 -0.42,-0.07 -0.13,0 -0.27,-0.01 -0.4,-0.01 l -0.77,-0.02 c 0.12,-0.27 0.23,-0.54 0.35,-0.81 0.02,-0.04 0.01,-0.07 0,-0.11 0.3,0.02 0.61,0.04 0.91,0.05 0.28,0.02 0.56,0.03 0.83,0.04 -0.03,0.46 -0.17,0.9 -0.41,1.3 -0.17,0.29 -0.39,0.54 -0.64,0.76 -0.27,0.24 -0.57,0.38 -0.89,0.54 -0.1,0.05 -0.03,0.2 0.07,0.18 0.35,-0.06 0.69,-0.29 0.96,-0.51 0.29,-0.24 0.53,-0.55 0.71,-0.88 0.23,-0.43 0.36,-0.91 0.38,-1.39 0.2,0.01 0.41,0.02 0.61,0.03 0.28,0.01 0.56,0.03 0.83,0.04 0.11,0 0.21,-0.01 0.31,-0.01 -0.19,0.85 -0.64,1.64 -1.29,2.22 -0.09,0.08 0.03,0.24 0.13,0.17 0.66,-0.49 1.11,-1.15 1.36,-1.94 0.05,-0.15 0.08,-0.3 0.11,-0.46 0.09,-0.01 0.18,0 0.27,-0.01 0.14,-0.01 0.2,-0.24 0.04,-0.27 -0.09,-0.02 -0.17,-0.02 -0.26,-0.04 0.05,-0.5 0.02,-1.01 -0.12,-1.5 0.24,0.02 0.49,0.04 0.71,-0.01 0.16,-0.04 0.13,-0.24 0,-0.3 -0.23,-0.09 -0.51,-0.1 -0.77,-0.11 0,-0.01 0,-0.01 0,-0.02 -0.05,-0.36 -0.17,-0.7 -0.33,-1.03 -0.32,-0.65 -0.84,-1.19 -1.49,-1.51 -0.15,-0.07 -0.28,0.15 -0.13,0.23 0.19,0.1 0.33,0.24 0.49,0.37 -0.33,0.01 -0.65,0.04 -0.97,0.06 -0.36,0.02 -0.71,0.05 -1.07,0.07 -0.22,-0.26 -0.47,-0.5 -0.73,-0.72 0.29,-0.08 0.57,-0.16 0.86,-0.24 0.19,0.2 0.38,0.4 0.57,0.58 0.09,0.08 0.23,-0.02 0.17,-0.13 -0.11,-0.2 -0.26,-0.37 -0.42,-0.55 0,0 0,0 0.01,0 0.24,-0.07 0.51,-0.13 0.76,-0.21 0.36,0.13 0.72,0.26 1.08,0.37 0.81,0.25 1.59,0.42 2.37,0.56 z m 3.27,0.35 c -0.01,0.28 -0.03,0.55 -0.04,0.83 0,0.03 0,0.05 0,0.08 -0.23,-0.01 -0.46,-0.03 -0.67,-0.08 0.01,-0.29 0.05,-0.58 0.1,-0.86 0.2,0.01 0.41,0.02 0.61,0.03 z m 1.52,0.02 c 0.01,0.26 0.03,0.51 0.04,0.77 0,0 0,0 0,0 -0.35,0.04 -0.79,0.09 -1.24,0.11 0,-0.01 0,-0.02 0,-0.03 0.01,-0.28 0.02,-0.57 0.03,-0.85 0.39,0 0.78,0 1.17,0 z m 4.36,3.8 c 0.01,0.11 0.01,0.23 0.07,0.33 0.06,0.1 0.19,0.1 0.25,0 0.06,-0.1 0.06,-0.21 0.07,-0.33 0.01,-0.1 0.01,-0.2 0.01,-0.31 0,-0.13 0,-0.25 -0.01,-0.38 0.25,-0.16 0.48,-0.34 0.71,-0.54 -0.01,0.03 0,0.07 -0.01,0.1 -0.08,0.4 -0.26,0.8 -0.27,1.2 0,0 0,0.01 0,0.01 -0.05,0.06 -0.09,0.12 -0.16,0.17 -0.32,0.23 -0.78,0.32 -1.16,0.4 -0.34,0.07 -0.7,0.1 -1.05,0.13 0.02,-0.13 0.01,-0.28 0.02,-0.39 0,-0.07 0.01,-0.14 0.01,-0.21 0.02,0 0.03,-0.01 0.05,-0.01 0.52,-0.14 1.01,-0.34 1.47,-0.6 0,0.03 0,0.06 0,0.1 -0.01,0.11 -0.01,0.22 0,0.33 z m -5.74,2.63 c -0.01,0 -0.02,0 -0.02,-0.01 -0.48,-0.14 -0.95,-0.24 -1.44,-0.32 0,0 0.01,-0.01 0.01,-0.01 0.05,-0.09 0.08,-0.2 0.12,-0.29 0.51,0.16 1.06,0.23 1.62,0.26 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.09,0.12 -0.18,0.23 -0.27,0.35 z m -1.75,-5.74 c 0.16,0.13 0.36,0.22 0.56,0.28 0,0.11 0,0.21 0,0.32 -0.19,-0.05 -0.37,-0.11 -0.56,-0.17 0,-0.13 0,-0.28 0,-0.43 z m 5.56,1.02 c 0.01,0.06 0.02,0.12 0.03,0.17 -0.16,0.01 -0.32,0.02 -0.48,0.02 0,0 0,0 0,0 0,-0.29 0,-0.58 0,-0.87 0,-0.07 0,-0.13 0,-0.2 0.03,0 0.07,-0.01 0.1,-0.01 0.11,-0.02 0.21,-0.03 0.32,-0.05 -0.02,0.32 -0.02,0.63 0.03,0.94 z m 0.01,1.8 c 0,0.04 -0.01,0.08 -0.01,0.12 -0.37,0.08 -0.75,0.15 -1.13,0.17 -0.26,0.01 -0.51,0.01 -0.76,-0.01 0.04,-0.05 0.03,-0.13 -0.05,-0.12 -0.17,0.02 -0.34,0.05 -0.51,0.08 -0.05,0 -0.09,-0.01 -0.14,-0.01 -0.05,0 -0.08,0.02 -0.1,0.05 -0.16,0.03 -0.32,0.07 -0.48,0.1 -0.03,0.01 -0.07,0.01 -0.1,0.02 -0.04,-0.28 -0.03,-0.57 0.01,-0.85 0.87,0.09 1.79,0.14 2.63,-0.05 0.09,-0.02 0.07,-0.12 0,-0.16 0.03,-0.01 0.06,-0.01 0.07,-0.04 0.09,-0.17 0.09,-0.38 0.09,-0.58 0.19,0 0.37,-0.02 0.55,-0.03 0,0 0,0 0,0.01 0,0.43 -0.03,0.86 -0.07,1.3 z m -4.35,0.83 c 0.25,-0.05 0.49,-0.1 0.74,-0.15 0.03,0.15 0.08,0.28 0.12,0.43 -0.32,-0.02 -0.63,-0.05 -0.93,-0.11 -0.36,-0.07 -0.63,-0.21 -0.92,-0.39 -0.01,-0.09 -0.03,-0.19 -0.03,-0.28 -0.02,-0.22 -0.05,-0.44 -0.07,-0.66 -0.02,-0.16 -0.02,-0.32 -0.04,-0.48 0.23,0.05 0.47,0.1 0.71,0.14 0.06,0.23 0.14,0.46 0.27,0.64 0.1,0.13 0.29,0.05 0.26,-0.11 -0.02,-0.15 -0.07,-0.31 -0.12,-0.46 0.11,0.02 0.23,0.04 0.34,0.06 0.05,0.1 0.18,0.14 0.24,0.04 0.03,0 0.07,0.01 0.1,0.02 0.02,0 0.05,0 0.08,0.01 -0.05,0.32 -0.06,0.64 -0.02,0.96 -0.26,0.05 -0.52,0.1 -0.78,0.15 -0.14,0.01 -0.09,0.22 0.05,0.19 z m -1.68,-1.71 c 0,-0.03 0,-0.06 0,-0.08 0.06,0.02 0.11,0.03 0.17,0.05 0.02,0.21 0.02,0.42 0.05,0.63 0.02,0.21 0.05,0.41 0.09,0.61 0,0.02 0.01,0.04 0.01,0.06 -0.08,-0.05 -0.16,-0.09 -0.24,-0.16 -0.04,-0.04 -0.07,-0.07 -0.1,-0.1 0.04,-0.34 0.02,-0.68 0.02,-1.01 z m 1.54,-0.12 c -0.07,-0.27 -0.12,-0.55 -0.15,-0.83 0.2,0.05 0.4,0.1 0.6,0.15 0,0.01 0,0.01 0,0.02 -0.01,0.27 -0.02,0.54 -0.01,0.82 -0.14,-0.02 -0.27,-0.04 -0.41,-0.06 -0.01,-0.04 -0.03,-0.07 -0.03,-0.1 z m 3.75,0.3 c 0,0.01 0.01,0 0.02,0.01 -0.43,-0.03 -0.85,-0.02 -1.28,-0.02 0.03,-0.19 0.03,-0.38 0.02,-0.57 0,-0.02 0,-0.05 0,-0.07 0.38,0.04 0.77,0.06 1.16,0.07 -0.02,0.2 -0.01,0.41 0.08,0.58 z m -1.57,-0.58 c 0.01,0.19 0.03,0.38 0.08,0.57 -0.33,-0.01 -0.67,-0.03 -1,-0.06 -0.03,-0.16 -0.28,-0.22 -0.33,-0.03 0,0 0,0 0,0.01 -0.02,0 -0.05,0 -0.07,0 -0.03,0 -0.06,-0.01 -0.09,-0.01 0.03,-0.26 0.04,-0.52 0.05,-0.78 0,-0.01 0,-0.02 0,-0.03 0.41,0.08 0.82,0.18 1.25,0.23 0.04,0 0.07,0.01 0.11,0.01 0,0.02 0,0.06 0,0.09 z m 1.48,-1.19 c 0,0.28 0,0.57 0,0.85 -0.39,0 -0.78,-0.02 -1.18,-0.05 -0.01,-0.12 -0.01,-0.24 -0.02,-0.36 -0.01,-0.15 -0.02,-0.31 -0.02,-0.46 0.41,-0.04 0.82,-0.09 1.22,-0.14 0,0.05 0,0.11 0,0.16 z m -1.52,0.44 c 0.01,0.11 0.01,0.23 0.02,0.34 -0.02,0 -0.03,0 -0.05,0 -0.43,-0.04 -0.86,-0.13 -1.28,-0.22 0.01,-0.15 0.01,-0.3 0.02,-0.45 0.31,0 0.61,-0.03 0.87,-0.05 0.13,-0.01 0.27,-0.03 0.4,-0.05 0,0.15 0.01,0.29 0.02,0.43 z m -1.68,0.07 c -0.21,-0.05 -0.42,-0.1 -0.63,-0.15 -0.01,-0.11 -0.01,-0.21 -0.01,-0.32 0.21,0.04 0.43,0.06 0.65,0.07 0,0.13 0,0.27 -0.01,0.4 z m -0.97,0.01 c 0,0.04 0,0.08 0,0.11 0.03,0.29 0.08,0.58 0.15,0.87 -0.22,-0.04 -0.43,-0.08 -0.65,-0.12 -0.01,-0.19 -0.04,-0.38 -0.05,-0.58 -0.01,-0.15 0,-0.31 -0.01,-0.46 0.19,0.06 0.37,0.12 0.56,0.18 z m -0.88,0.77 c -0.05,-0.01 -0.11,-0.02 -0.16,-0.04 -0.01,-0.25 -0.01,-0.49 -0.02,-0.74 0,-0.11 0,-0.22 0,-0.34 0.05,0.02 0.1,0.03 0.15,0.05 0,0.21 -0.01,0.42 0,0.63 0,0.15 0.02,0.3 0.03,0.44 z m -0.73,2.53 c 0.26,0.42 0.7,0.67 1.18,0.85 -0.04,0.07 -0.05,0.15 -0.1,0.21 -0.03,0.05 -0.07,0.08 -0.11,0.12 -0.51,-0.06 -1.02,-0.08 -1.53,-0.08 0.27,-0.54 0.38,-1.16 0.3,-1.73 0.05,0.24 0.16,0.46 0.26,0.63 z m 3.51,-0.22 c -0.06,-0.17 -0.12,-0.34 -0.15,-0.51 0,0 0,-0.01 0,-0.01 0.04,-0.01 0.08,-0.02 0.11,-0.02 0.18,-0.04 0.36,-0.07 0.54,-0.1 0.47,0.16 1.01,0.2 1.5,0.19 0.36,0 0.71,-0.05 1.06,-0.11 0,0.04 -0.01,0.08 -0.01,0.12 -0.01,0.13 -0.03,0.28 -0.01,0.42 -0.48,0.02 -0.97,0.01 -1.43,0.02 -0.53,0 -1.07,0.01 -1.61,0 z m 3.52,-1.1 c 0,-0.01 0,-0.02 0,-0.04 0.01,-0.18 0.02,-0.36 0.03,-0.53 0.04,0.06 0.08,0.12 0.13,0.18 0.06,0.06 0.15,0 0.13,-0.08 -0.06,-0.26 -0.15,-0.51 -0.23,-0.76 0,-0.04 0,-0.09 0.01,-0.13 0.34,-0.04 0.68,-0.1 1,-0.18 0.1,-0.03 0.08,-0.19 -0.02,-0.18 -0.37,0.01 -0.74,0.03 -1.11,0.06 -0.02,-0.07 -0.04,-0.13 -0.05,-0.19 -0.05,-0.31 -0.05,-0.63 -0.03,-0.94 0.2,-0.03 0.39,-0.06 0.59,-0.09 0.29,-0.05 0.61,-0.1 0.9,-0.19 0.01,0.09 0.03,0.18 0.04,0.28 0.03,0.17 0.05,0.33 0.08,0.5 0.01,0.08 0.03,0.17 0.04,0.25 0,0.02 0.01,0.03 0.01,0.05 -0.01,0.43 -0.01,0.86 -0.02,1.29 0,0.04 0,0.08 0,0.12 -0.48,0.23 -0.98,0.44 -1.5,0.58 z m 1.25,-3.74 c 0.02,0.14 0.04,0.27 0.06,0.41 -0.27,0.02 -0.55,0.08 -0.8,0.12 -0.21,0.03 -0.41,0.06 -0.62,0.1 0.01,-0.07 0.01,-0.15 0.02,-0.22 0.04,-0.19 -0.26,-0.28 -0.3,-0.08 -0.02,0.12 -0.03,0.24 -0.04,0.35 -0.05,0.01 -0.1,0.02 -0.15,0.02 -0.1,0.02 -0.21,0.02 -0.31,0.04 0,-0.2 0,-0.39 0,-0.59 0.71,-0.04 1.43,-0.09 2.14,-0.15 z m -2.49,0.78 c -0.41,0.06 -0.83,0.11 -1.24,0.15 -0.01,-0.24 -0.03,-0.49 -0.04,-0.73 0.43,-0.01 0.86,-0.02 1.29,-0.04 -0.01,0.21 -0.01,0.41 -0.01,0.62 z m -4.19,0.12 c -0.21,-0.08 -0.4,-0.2 -0.55,-0.37 0,-0.16 0.02,-0.31 0.02,-0.47 0.21,0.02 0.43,0.05 0.64,0.06 -0.05,0.26 -0.09,0.52 -0.11,0.78 z m -0.89,-0.35 c -0.01,0.23 -0.01,0.45 -0.01,0.68 -0.05,-0.02 -0.1,-0.03 -0.15,-0.04 0,-0.4 -0.01,-0.8 -0.08,-1.19 0.01,0 0.02,0 0.02,0 0,0.02 -0.01,0.04 -0.01,0.06 0.06,0.19 0.14,0.35 0.23,0.49 z m 10.95,9.48 c -0.01,0.07 -0.02,0.15 -0.02,0.22 -0.01,-0.04 -0.03,-0.07 -0.06,-0.1 0.02,-0.05 0.05,-0.08 0.08,-0.12 z m -78.76,-7.13 c 0,-0.02 0,-0.04 0,-0.06 0.15,0.04 0.31,0.07 0.46,0.1 0.03,0.15 0.05,0.3 0.09,0.45 0.06,0.2 0.13,0.4 0.21,0.58 0.04,0.1 0.09,0.19 0.14,0.28 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.25 0.01,0.49 0.02,0.74 0.01,0.35 0.02,0.69 0.04,1.04 0.01,0.16 0.02,0.32 0.03,0.48 0,0.02 0,0.05 0,0.07 -0.21,-0.06 -0.4,-0.14 -0.56,-0.27 -0.06,-0.05 -0.1,-0.11 -0.15,-0.17 0,0 0,-0.01 0,-0.01 -0.01,-0.4 -0.18,-0.8 -0.26,-1.2 -0.07,-0.36 -0.1,-0.72 -0.11,-1.08 0,-0.03 0,-0.05 0,-0.08 0.05,-0.05 0.09,-0.12 0.14,-0.17 0.24,-0.2 0.14,-0.59 -0.08,-0.73 z m 0.68,-0.76 c 0,-0.09 -0.07,-0.13 -0.14,-0.14 0.66,0.07 1.32,0.12 1.99,0.17 -0.05,0.02 -0.08,0.06 -0.08,0.13 0.01,0.2 0.03,0.4 0.04,0.6 -0.59,-0.05 -1.17,-0.13 -1.75,-0.23 -0.03,-0.17 -0.05,-0.35 -0.06,-0.53 z m 10.49,-0.58 c 0.01,0.04 0.04,0.07 0.09,0.08 0.19,0.01 0.39,0.04 0.58,0.05 -0.3,0.36 -0.56,0.75 -0.75,1.17 -0.03,0.07 -0.05,0.14 -0.07,0.2 -0.42,-0.02 -0.83,-0.04 -1.25,-0.05 0,-0.37 -0.03,-0.75 -0.1,-1.1 0.5,-0.09 1,-0.21 1.5,-0.35 z m 0.68,-0.19 c 0.9,-0.3 1.84,-0.66 2.66,-1.16 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.35,0.32 -0.7,0.64 -1.03,0.98 -0.09,0.1 -0.2,0.21 -0.3,0.31 -0.52,-0.04 -1.03,-0.07 -1.55,-0.1 0.09,-0.01 0.17,-0.03 0.25,-0.05 z m -6.43,-11.37 v -0.11 c 0.14,-0.01 0.28,-0.01 0.41,-0.03 0.02,0 0.05,-0.01 0.07,-0.01 l -0.01,0.78 c -0.15,0.05 -0.31,0.08 -0.46,0.12 0,-0.26 0,-0.51 -0.01,-0.75 z m -1.27,-0.52 c -0.02,-0.2 -0.03,-0.39 -0.05,-0.59 0.33,0.06 0.67,0.09 1.01,0.08 0,0.22 0.01,0.44 0.01,0.66 -0.08,0 -0.16,0.02 -0.24,0.02 -0.24,0 -0.48,-0.03 -0.72,-0.06 -0.01,-0.03 -0.01,-0.07 -0.01,-0.11 z m -0.07,-0.91 c -0.01,-0.14 -0.02,-0.29 -0.03,-0.43 0.24,0.08 0.48,0.15 0.74,0.18 0.11,0.01 0.22,0.01 0.33,0.01 0,0.13 0,0.25 0,0.38 -0.35,0.01 -0.69,-0.02 -1.03,-0.08 -0.01,-0.02 -0.01,-0.04 -0.01,-0.06 z m 0.94,-1.13 c 0.02,0.01 0.05,0.02 0.07,0.03 0,0.17 0,0.34 0.01,0.51 -0.09,0 -0.18,0 -0.26,-0.01 -0.29,-0.03 -0.56,-0.12 -0.82,-0.22 -0.02,-0.26 -0.04,-0.51 -0.06,-0.77 0.35,0.15 0.71,0.31 1.06,0.46 z m 1.59,2.94 c -0.13,0.04 -0.25,0.07 -0.38,0.12 l -0.01,-0.73 c 0.15,-0.03 0.29,-0.09 0.42,-0.15 -0.01,0.26 -0.03,0.51 -0.03,0.76 z m -0.37,1.62 c 0,-0.37 0,-0.75 0,-1.12 0.13,-0.04 0.25,-0.09 0.37,-0.14 0,0.42 -0.01,0.84 -0.01,1.26 -0.12,-0.01 -0.24,0 -0.36,0 z m 0.43,-2.99 c 0,0.01 0,0.02 0,0.02 -0.01,0.11 -0.01,0.22 -0.01,0.33 -0.14,0.02 -0.29,0.05 -0.43,0.09 l -0.01,-0.61 c 0.07,-0.02 0.15,-0.01 0.22,-0.03 0.08,-0.02 0.17,-0.05 0.25,-0.08 0,0.08 -0.01,0.16 -0.01,0.23 -0.02,0 -0.03,0 -0.05,0 0.01,0.02 0.02,0.04 0.04,0.05 z m -1.28,-0.67 c 0.18,-0.01 0.35,-0.04 0.53,-0.07 v 0.35 c -0.17,0.03 -0.34,0.07 -0.52,0.09 z m 0.82,-0.13 c 0.15,-0.04 0.31,-0.09 0.46,-0.16 0.04,0.01 0.07,0.03 0.11,0.04 -0.03,0.11 -0.06,0.22 -0.07,0.34 -0.11,0.04 -0.21,0.08 -0.32,0.1 -0.06,0.02 -0.12,0.02 -0.18,0.03 z m -0.24,-0.31 c -0.19,0.05 -0.39,0.07 -0.59,0.08 l -0.01,-0.41 c 0.25,0.1 0.5,0.19 0.75,0.28 -0.05,0.01 -0.1,0.04 -0.15,0.05 z m -0.57,1.08 c 0.17,-0.01 0.34,-0.05 0.51,-0.08 l -0.01,0.65 c -0.02,0 -0.03,0.01 -0.05,0.01 -0.15,0.03 -0.29,0.03 -0.44,0.04 z m 0.49,2 c 0,0.34 0,0.69 0,1.03 -0.15,0 -0.29,0 -0.44,0.01 0,-0.17 0,-0.34 0,-0.5 0,-0.14 0,-0.28 -0.01,-0.43 0.15,-0.04 0.3,-0.07 0.45,-0.11 z m -0.5,1.92 c 0.03,-0.2 0.05,-0.41 0.05,-0.62 0.15,0 0.29,0 0.44,0 -0.01,0.2 -0.01,0.4 0,0.6 -0.01,0 -0.03,0.01 -0.04,0.01 -0.15,0.02 -0.3,0.02 -0.46,0.03 0,-0.02 0.01,-0.02 0.01,-0.02 z m 0.86,-0.63 c 0.11,0 0.23,0 0.35,0 0,0.17 0,0.33 0,0.5 -0.11,0.02 -0.23,0.03 -0.34,0.05 -0.01,-0.19 -0.01,-0.37 -0.01,-0.55 z m 1.57,-3.19 c 0,-0.05 0,-0.1 -0.01,-0.15 -0.02,-0.17 -0.03,-0.36 -0.06,-0.54 1.8,0.54 3.64,0.93 5.48,1.26 2.71,0.48 5.44,0.87 8.18,1.19 -0.42,0.46 -0.76,1.03 -0.99,1.55 -0.15,0.34 -0.26,0.68 -0.35,1.03 -0.01,0 -0.02,-0.02 -0.03,-0.02 -0.41,-0.09 -0.84,0.01 -1.25,0.09 -0.33,0.06 -0.65,0.14 -0.97,0.24 -0.47,0.15 -0.92,0.35 -1.35,0.58 0,-0.01 0,-0.02 0,-0.02 -0.05,-0.4 -0.08,-0.91 -0.27,-1.3 -0.02,-0.45 -0.18,-0.89 -0.47,-1.26 -0.5,-0.63 -1.23,-1.03 -1.96,-1.32 -0.96,-0.37 -1.97,-0.64 -2.97,-0.86 -0.98,-0.22 -1.98,-0.37 -2.98,-0.47 z m 34.85,3.28 c -0.16,0.02 -0.32,0.04 -0.49,0.07 -0.41,0.06 -0.82,0.12 -1.24,0.17 0,-0.02 -0.01,-0.03 -0.01,-0.05 -0.06,-0.28 -0.12,-0.56 -0.19,-0.83 0.6,-0.02 1.2,-0.04 1.8,-0.07 -0.04,0.02 -0.08,0.07 -0.06,0.13 0.07,0.19 0.13,0.39 0.19,0.58 z m -2.2,-0.64 0.19,0.91 c 0.04,0.19 0.08,0.38 0.12,0.57 0.04,0.18 0.06,0.42 0.18,0.57 0.06,0.07 0.17,0.03 0.19,-0.05 0.03,-0.1 0,-0.19 -0.02,-0.29 -0.02,-0.1 -0.04,-0.21 -0.06,-0.31 -0.02,-0.08 -0.04,-0.16 -0.05,-0.25 0.41,-0.05 0.81,-0.1 1.22,-0.14 0.18,-0.02 0.36,-0.04 0.54,-0.06 0.03,0.11 0.07,0.23 0.11,0.34 0.05,0.14 0.11,0.27 0.17,0.41 0.05,0.09 0.16,0.02 0.15,-0.06 -0.02,-0.14 -0.04,-0.27 -0.08,-0.41 -0.03,-0.1 -0.06,-0.2 -0.09,-0.3 0.18,-0.02 0.36,-0.03 0.52,-0.11 0.1,-0.05 0.08,-0.22 -0.03,-0.24 -0.19,-0.04 -0.39,0.01 -0.58,0.03 -0.06,-0.2 -0.13,-0.41 -0.19,-0.61 -0.01,-0.04 -0.03,-0.06 -0.06,-0.07 0.43,-0.02 0.87,-0.05 1.3,-0.08 0.28,0.36 0.57,0.71 0.85,1.07 0.17,0.21 0.33,0.41 0.5,0.62 0.08,0.1 0.16,0.2 0.24,0.3 0.07,0.09 0.15,0.18 0.24,0.23 -0.25,0.02 -0.51,0.05 -0.76,0.08 -0.64,0.07 -1.27,0.17 -1.91,0.24 -0.12,0.01 -0.13,0.21 0,0.2 0.65,-0.05 1.3,-0.06 1.94,-0.11 0.32,-0.02 0.64,-0.05 0.95,-0.08 0.29,-0.03 0.64,-0.02 0.91,-0.14 0.1,-0.05 0.07,-0.21 -0.03,-0.23 -0.28,-0.07 -0.63,0 -0.91,0.03 -0.01,0 -0.01,0 -0.02,0 0.02,-0.03 0.04,-0.07 0.03,-0.11 -0.02,-0.12 -0.13,-0.23 -0.2,-0.33 -0.08,-0.1 -0.16,-0.2 -0.24,-0.3 l -0.51,-0.64 c -0.23,-0.29 -0.46,-0.57 -0.69,-0.86 0.29,-0.02 0.57,-0.03 0.86,-0.05 0,0 0,0 0.01,0.01 0.4,0.15 0.75,0.38 1.07,0.66 -0.24,0.03 -0.48,0.06 -0.72,0.09 -0.17,0.02 -0.18,0.28 0,0.27 0.34,-0.02 0.67,-0.07 1.01,-0.1 0.05,0.05 0.11,0.09 0.16,0.14 0.2,0.23 0.37,0.49 0.51,0.76 0.14,0.28 0.24,0.58 0.36,0.87 0.03,0.07 0.15,0.07 0.15,-0.02 -0.01,-0.14 -0.04,-0.27 -0.07,-0.41 0.59,-0.04 1.18,-0.11 1.77,-0.18 0.07,0.14 0.16,0.26 0.23,0.4 0.07,0.15 0.13,0.31 0.19,0.47 -0.15,0.02 -0.29,0.05 -0.44,0.07 -0.16,0.02 -0.12,0.3 0.04,0.28 0.17,-0.02 0.34,-0.04 0.51,-0.06 0.05,0.16 0.09,0.33 0.18,0.46 0.05,0.07 0.19,0.08 0.21,-0.03 0.02,-0.16 -0.02,-0.32 -0.07,-0.47 0.14,-0.01 0.28,-0.03 0.42,-0.05 0.41,-0.05 0.84,-0.08 1.23,-0.22 0.12,-0.04 0.1,-0.21 -0.03,-0.22 -0.41,-0.04 -0.83,0.05 -1.24,0.11 -0.16,0.02 -0.32,0.05 -0.48,0.08 -0.06,-0.16 -0.12,-0.33 -0.19,-0.49 -0.06,-0.13 -0.15,-0.24 -0.21,-0.37 0.65,-0.09 1.3,-0.19 1.95,-0.31 0.1,0.14 0.21,0.27 0.3,0.42 0.12,0.21 0.22,0.43 0.32,0.65 0.11,0.24 0.18,0.49 0.3,0.73 0.06,0.11 0.21,0.03 0.19,-0.08 -0.07,-0.49 -0.35,-1 -0.6,-1.42 -0.07,-0.12 -0.17,-0.22 -0.25,-0.34 0.36,-0.07 0.73,-0.14 1.09,-0.21 0.15,0.24 0.31,0.48 0.43,0.74 0.02,0.04 0.03,0.08 0.05,0.12 -0.19,0.05 -0.38,0.09 -0.57,0.14 -0.24,0.06 -0.14,0.42 0.1,0.36 0.2,-0.05 0.41,-0.09 0.61,-0.14 0.12,0.33 0.23,0.66 0.35,0.99 0.01,0.03 0.03,0.05 0.05,0.06 -0.56,0.13 -1.14,0.24 -1.71,0.3 -0.22,0.02 -0.23,0.36 0,0.35 0.8,-0.05 1.58,-0.17 2.35,-0.39 0.39,-0.11 0.77,-0.24 1.14,-0.4 0.03,-0.01 0.07,-0.03 0.1,-0.04 0.01,0.3 0.02,0.6 0.01,0.9 -0.06,0.02 -0.11,0.05 -0.17,0.07 -0.17,0.07 -0.35,0.13 -0.53,0.2 -0.07,-0.11 -0.26,-0.1 -0.25,0.05 0,0.01 0,0.02 0,0.04 -0.35,0.13 -0.7,0.25 -1.06,0.37 -0.1,0.04 -0.06,0.2 0.05,0.17 0.34,-0.11 0.69,-0.22 1.03,-0.33 0.03,0.3 0.05,0.59 0.08,0.89 -0.13,0.04 -0.26,0.08 -0.4,0.12 -0.18,0.05 -0.36,0.08 -0.54,0.13 0,-0.02 0,-0.05 0,-0.07 -0.01,-0.19 -0.31,-0.19 -0.3,0 0,0.05 0,0.09 0,0.14 -0.32,0.08 -0.64,0.16 -0.97,0.22 -0.07,-0.03 -0.14,-0.02 -0.18,0.03 -1.24,0.21 -2.53,0.19 -3.78,0.13 -0.16,-0.01 -0.16,0.24 0,0.25 1.26,0.07 2.5,-0.06 3.75,-0.18 0.02,0.27 0.03,0.54 0.05,0.81 -0.35,0.11 -0.71,0.21 -1.06,0.32 -0.17,0.05 -0.1,0.31 0.07,0.26 0.33,-0.1 0.67,-0.2 1,-0.29 0.02,0.35 0.04,0.71 0.07,1.06 -0.37,0.07 -0.74,0.13 -1.1,0.21 -0.56,0.12 -1.12,0.25 -1.67,0.37 -0.14,0.03 -0.08,0.25 0.06,0.22 0.49,-0.11 0.97,-0.22 1.46,-0.33 0,0.01 -0.01,0.02 -0.01,0.03 -0.04,0.33 -0.03,0.66 0.03,0.99 0.03,0.16 0.07,0.32 0.13,0.47 0.05,0.15 0.12,0.33 0.26,0.42 0.07,0.04 0.15,-0.01 0.15,-0.09 0.01,-0.15 -0.08,-0.3 -0.13,-0.44 -0.05,-0.14 -0.09,-0.29 -0.12,-0.44 -0.06,-0.3 -0.07,-0.61 -0.03,-0.91 0,-0.03 -0.01,-0.06 -0.03,-0.08 0.35,-0.08 0.69,-0.17 1.03,-0.26 0.02,0.33 0.04,0.65 0.06,0.98 0.02,0.26 0.02,0.56 0.08,0.83 -0.06,0.02 -0.11,0.04 -0.17,0.06 -0.05,0.02 -0.07,0.06 -0.07,0.1 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.55,0.24 -1.1,0.46 -1.66,0.67 -1.04,0.39 -2.13,0.63 -3.23,0.82 -1.18,0.2 -2.38,0.39 -3.58,0.5 -0.23,0.02 -0.24,0.37 0,0.37 1.18,0.02 2.33,-0.02 3.49,-0.19 1.19,-0.17 2.36,-0.43 3.54,-0.66 1.13,-0.22 2.3,-0.5 3.4,-0.85 0.59,-0.19 1.17,-0.44 1.73,-0.71 0.22,-0.1 0.44,-0.22 0.64,-0.35 0.19,0.29 0.42,0.55 0.69,0.7 -0.03,0.1 -0.05,0.19 -0.08,0.29 -0.02,0.07 -0.04,0.13 -0.06,0.19 -0.01,0.03 -0.02,0.06 -0.04,0.1 -0.07,0.13 -0.13,0.27 -0.21,0.4 -0.04,0.06 -0.07,0.11 -0.11,0.17 -0.02,0.03 -0.11,0.18 -0.13,0.18 0.06,-0.07 0.07,-0.09 0.04,-0.05 -0.01,0.01 -0.02,0.02 -0.03,0.04 -0.02,0.03 -0.05,0.06 -0.07,0.09 -0.05,0.06 -0.1,0.11 -0.15,0.17 -0.19,0.19 -0.49,0.38 -0.64,0.63 -0.03,0.03 -0.06,0.06 -0.09,0.08 0,0 0,0.01 0,0.01 -0.31,0.28 -0.64,0.54 -0.98,0.78 -0.98,0.66 -2.06,1.17 -3.18,1.55 -2.47,0.85 -5.09,1.21 -7.67,1.46 -6.02,0.57 -12.14,0.18 -18.03,-1.21 -1.52,-0.36 -3.21,-0.68 -4.6,-1.41 -0.92,-0.48 -1.67,-1.37 -1.74,-2.4 0.34,-0.27 0.59,-0.67 0.78,-1.12 0.44,0.35 0.9,0.67 1.39,0.96 0.28,0.16 0.57,0.32 0.87,0.45 0.31,0.13 0.64,0.3 0.97,0.35 0.12,0.02 0.2,-0.14 0.09,-0.2 -0.27,-0.16 -0.59,-0.25 -0.87,-0.4 -0.29,-0.15 -0.59,-0.29 -0.88,-0.45 -0.46,-0.26 -0.89,-0.56 -1.31,-0.87 0.68,0.31 1.41,0.54 2.09,0.77 1.07,0.36 2.18,0.69 3.3,0.88 1.07,0.18 2.18,0.18 3.27,0.27 1.04,0.09 2.27,0.31 3.28,0 0.18,-0.05 0.17,-0.3 0,-0.36 -0.97,-0.31 -2.09,-0.21 -3.1,-0.34 -0.7,-0.09 -1.37,-0.27 -2.03,-0.45 0,-0.02 0,-0.04 0,-0.06 -0.02,-0.22 -0.05,-0.44 -0.08,-0.66 -0.04,-0.3 -0.08,-0.6 -0.12,-0.9 0.06,-0.01 0.12,0 0.17,-0.02 0.12,-0.03 0.11,-0.2 0,-0.24 -0.07,-0.02 -0.14,-0.03 -0.21,-0.04 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.08,0 -0.18,0.08 -0.17,0.17 0,0.03 0.01,0.06 0.01,0.09 -0.09,0 -0.18,-0.01 -0.27,-0.02 -0.3,-0.02 -0.59,-0.05 -0.89,-0.09 -0.05,-0.01 -0.1,-0.02 -0.15,-0.03 -0.02,-0.3 -0.01,-0.6 0.05,-0.9 0.04,-0.19 -0.24,-0.27 -0.29,-0.08 -0.07,0.3 -0.09,0.61 -0.08,0.92 -0.36,-0.06 -0.72,-0.12 -1.08,-0.2 0.01,-0.22 0.01,-0.43 0.02,-0.65 l 0.02,-0.65 c 0.2,0.03 0.39,0.05 0.59,0.09 0.37,0.06 0.79,0.22 1.16,0.12 0.08,-0.02 0.07,-0.12 0,-0.15 -0.35,-0.14 -0.78,-0.06 -1.15,-0.1 -0.21,-0.02 -0.4,-0.06 -0.6,-0.11 l 0.03,-1.02 c 0.01,-0.17 -0.25,-0.16 -0.26,0 l -0.05,0.95 c -0.11,-0.03 -0.22,-0.06 -0.34,-0.09 -0.17,-0.05 -0.33,-0.11 -0.5,-0.16 0.02,-0.34 0.03,-0.68 0.05,-1.02 0.01,-0.17 -0.26,-0.17 -0.26,0 -0.02,0.31 -0.03,0.62 -0.05,0.94 -0.32,-0.1 -0.63,-0.22 -0.95,-0.33 0,-0.02 0,-0.05 0,-0.07 0.02,-0.42 0.03,-0.83 0.04,-1.25 0.69,0.31 1.39,0.59 2.11,0.79 0.5,0.14 1,0.25 1.51,0.34 0.5,0.08 1.02,0.17 1.52,0.16 0.08,0 0.11,-0.13 0.02,-0.15 -0.5,-0.07 -1,-0.1 -1.49,-0.18 -0.5,-0.08 -0.99,-0.19 -1.47,-0.32 -0.76,-0.21 -1.49,-0.5 -2.2,-0.83 0.01,-0.26 0.02,-0.52 0.02,-0.79 0.23,0.07 0.47,0.14 0.7,0.17 0.1,0.01 0.18,-0.12 0.08,-0.18 -0.24,-0.12 -0.5,-0.21 -0.77,-0.29 0,-0.04 0,-0.08 0,-0.11 0,-0.12 -0.17,-0.11 -0.18,0 0,0.02 0,0.04 0,0.06 -0.11,-0.03 -0.23,-0.07 -0.34,-0.1 -0.18,-0.06 -0.37,-0.11 -0.55,-0.17 0,-0.68 0.05,-1.35 0.2,-2.02 0.16,0.11 0.33,0.21 0.5,0.31 -0.08,0.32 -0.14,0.64 -0.12,0.95 0.01,0.11 0.17,0.14 0.2,0.03 0.08,-0.27 0.14,-0.54 0.2,-0.81 0.3,0.15 0.61,0.27 0.93,0.38 -0.02,0.13 -0.04,0.27 -0.05,0.4 0,0.1 0.15,0.12 0.17,0.02 0.03,-0.12 0.06,-0.24 0.09,-0.36 0.06,0.02 0.13,0.04 0.19,0.06 0.39,0.1 0.78,0.15 1.17,0.18 0.02,0.01 0.04,0.01 0.06,0.01 0.03,0 0.06,0.01 0.09,0.01 0.44,0.04 0.98,0.13 1.42,0.01 0.1,-0.03 0.07,-0.16 -0.02,-0.17 -0.21,-0.02 -0.44,0.01 -0.66,0.01 -0.22,0 -0.44,-0.01 -0.66,-0.04 0.08,-0.13 0.15,-0.27 0.22,-0.39 0.09,-0.16 0.18,-0.31 0.28,-0.47 0.37,0.09 0.74,0.17 1.1,0.23 0.18,0.03 0.26,-0.24 0.08,-0.28 -0.33,-0.06 -0.66,-0.13 -0.99,-0.22 0.15,-0.22 0.31,-0.44 0.48,-0.65 0.18,0.03 0.35,0.09 0.52,0.12 0.54,0.07 1.06,0.12 1.59,-0.02 0.08,-0.02 0.08,-0.14 0,-0.16 -0.5,-0.12 -1.01,-0.13 -1.53,-0.2 -0.1,-0.01 -0.2,-0.05 -0.31,-0.07 0.2,-0.22 0.41,-0.42 0.62,-0.61 0.59,0.13 1.18,0.22 1.78,0.32 -0.07,0.12 -0.15,0.23 -0.21,0.35 -0.08,0.16 -0.16,0.32 -0.22,0.49 -0.06,0.16 -0.14,0.34 -0.13,0.51 0,0.14 0.18,0.17 0.25,0.07 0.09,-0.13 0.14,-0.29 0.2,-0.44 0.06,-0.15 0.13,-0.3 0.2,-0.45 0.08,-0.16 0.18,-0.31 0.27,-0.46 0.15,0.02 0.29,0.06 0.44,0.08 0.39,0.05 0.79,0.08 1.18,0.11 0,0 0,0.01 0,0.01 -0.04,0.18 -0.08,0.37 -0.1,0.56 -0.28,-0.03 -0.55,-0.05 -0.83,-0.08 -0.06,-0.01 -0.12,0.06 -0.12,0.12 0,0.07 0.05,0.11 0.12,0.12 0.28,0.03 0.55,0.06 0.83,0.09 0,0.05 -0.01,0.11 0,0.16 0.03,0.14 0.23,0.12 0.27,0 0.01,-0.04 0.02,-0.09 0.03,-0.13 0.18,0.02 0.35,0.03 0.52,0 0.08,-0.01 0.06,-0.13 0,-0.15 -0.13,-0.04 -0.27,-0.06 -0.4,-0.08 -0.02,0 -0.05,0 -0.07,-0.01 0.02,-0.17 0.05,-0.34 0.09,-0.5 0.01,-0.02 0.02,-0.04 0.02,-0.07 0.72,0.07 1.43,0.12 2.15,0.15 0,0.21 0.01,0.41 0.07,0.61 0.03,0.08 0.14,0.06 0.15,-0.02 0.02,-0.19 0.04,-0.38 0.06,-0.58 0.46,0.02 0.92,0.05 1.39,0.05 0.28,0 0.56,0.01 0.84,0.02 -0.02,0.21 -0.01,0.43 0.13,0.59 0.05,0.05 0.13,0.03 0.17,-0.02 0.1,-0.16 0.1,-0.36 0.1,-0.56 0.42,0.01 0.83,0 1.24,-0.03 -0.04,0.12 -0.06,0.24 -0.07,0.36 0,0.1 0.14,0.18 0.21,0.09 0.12,-0.15 0.18,-0.32 0.25,-0.5 0.06,-0.01 0.12,-0.01 0.17,-0.02 0.11,-0.02 0.07,-0.18 -0.03,-0.19 -0.02,0 -0.05,0 -0.07,0 0.05,-0.14 0.1,-0.29 0.15,-0.43 l 0.19,-0.55 c 0.72,-0.03 1.47,-0.04 2.23,-0.07 z m 18.68,2.75 c 0,0.17 0.01,0.34 0.02,0.51 -0.18,0.17 -0.35,0.35 -0.52,0.53 -0.26,-0.11 -0.53,-0.22 -0.79,-0.33 0.03,-0.02 0.07,-0.03 0.1,-0.06 0.17,-0.17 0.3,-0.42 0.27,-0.66 -0.01,-0.07 -0.03,-0.13 -0.06,-0.19 z m -0.11,2.42 c -0.31,-0.12 -0.63,-0.22 -0.96,-0.31 0.26,-0.25 0.52,-0.5 0.78,-0.74 0.09,0.04 0.19,0.08 0.28,0.11 -0.02,0.06 -0.02,0.13 0.01,0.2 0.04,0.09 0.11,0.17 0.16,0.26 0.01,0.07 0.03,0.14 0.05,0.21 -0.03,0.02 -0.05,0.05 -0.08,0.07 -0.09,0.07 -0.17,0.14 -0.24,0.2 z m 5.18,3.44 c 0.2,0.22 0.38,0.46 0.51,0.74 0.14,0.29 0.23,0.6 0.28,0.91 0,0 0,0.01 0,0.01 -0.32,-0.02 -0.64,-0.03 -0.96,-0.04 -0.42,-0.01 -0.84,0 -1.27,0.01 -0.08,-0.31 -0.19,-0.62 -0.34,-0.9 -0.11,-0.21 -0.26,-0.39 -0.39,-0.58 0.32,-0.02 0.64,-0.03 0.96,-0.05 0.4,-0.03 0.82,-0.02 1.21,-0.1 z m -0.81,3.46 c -0.01,-0.12 -0.02,-0.24 -0.04,-0.36 -0.02,-0.1 -0.18,-0.06 -0.16,0.04 0.02,0.1 0.02,0.21 0.03,0.31 -0.26,-0.01 -0.52,-0.02 -0.78,-0.03 -0.81,-0.02 -1.63,-0.05 -2.44,-0.07 -0.02,-0.43 -0.12,-0.85 -0.32,-1.24 0.25,-0.02 0.5,-0.03 0.76,-0.04 0.01,0.14 0.02,0.29 0.06,0.42 0.03,0.1 0.17,0.09 0.2,0 0.04,-0.13 0.05,-0.28 0.04,-0.43 0.4,-0.02 0.81,-0.04 1.21,-0.05 0.19,0 0.39,0 0.58,0 0.03,0.28 0.03,0.55 0.07,0.83 0.02,0.12 0.19,0.09 0.22,0 0.09,-0.25 0.06,-0.55 0.01,-0.83 0.4,0 0.79,-0.01 1.19,0 0.33,0.01 0.66,0.02 0.99,0.04 0,0.02 0,0.05 0,0.07 0,0.17 -0.03,0.34 -0.01,0.51 0.01,0.11 0.16,0.18 0.23,0.08 0.02,0.28 0.02,0.56 -0.02,0.83 -0.08,-0.01 -0.15,-0.03 -0.23,-0.03 -0.28,-0.02 -0.56,-0.02 -0.83,-0.03 -0.25,-0.01 -0.5,-0.01 -0.76,-0.02 z m -2.55,1.18 c -0.34,-0.01 -0.68,-0.02 -1.02,-0.03 0.12,-0.31 0.19,-0.65 0.21,-0.95 0.41,0.02 0.81,0.05 1.22,0.07 -0.14,0.3 -0.27,0.61 -0.41,0.91 z m -7.52,-3.53 c -0.03,-0.34 -0.06,-0.68 -0.09,-1.02 0.07,-0.02 0.14,-0.04 0.2,-0.05 0.18,-0.04 0.36,-0.06 0.54,-0.1 0.01,0.31 0.02,0.62 0.03,0.93 0.01,0.2 0,0.43 0.01,0.65 -0.21,0.11 -0.41,0.22 -0.62,0.33 0,0 0,0 -0.01,0 0.01,-0.25 -0.04,-0.52 -0.06,-0.74 z m -0.28,-3.3 c 0.29,-0.03 0.58,-0.09 0.87,-0.14 0.01,0.21 0.01,0.42 0.02,0.63 -0.28,0.08 -0.55,0.17 -0.83,0.25 -0.02,-0.24 -0.04,-0.49 -0.06,-0.74 z m 2.3,-1.69 c 0.18,-0.05 0.37,-0.11 0.55,-0.16 0.03,-0.01 0.07,-0.02 0.1,-0.03 0,0.05 0,0.11 0,0.16 0,0.25 -0.01,0.49 -0.01,0.74 -0.1,0.03 -0.2,0.07 -0.3,0.1 -0.08,0.02 -0.16,0.05 -0.24,0.07 -0.04,-0.29 -0.07,-0.58 -0.1,-0.88 z m 2.08,-1.13 c 0.06,0 0.12,0.01 0.17,-0.01 0.28,0.12 0.57,0.24 0.85,0.36 -0.26,0.27 -0.53,0.53 -0.8,0.8 -0.07,-0.01 -0.14,-0.02 -0.21,-0.03 0.02,-0.37 0.01,-0.74 -0.01,-1.12 z m 1.75,0.2 c 0.01,0.08 0.02,0.16 0.03,0.24 -0.06,-0.03 -0.13,-0.06 -0.19,-0.08 0.05,-0.05 0.11,-0.11 0.16,-0.16 z m 0.06,3.13 c -0.19,0.09 -0.38,0.18 -0.57,0.27 -0.12,0.06 -0.08,0.2 0.01,0.25 -0.37,-0.22 -0.77,-0.39 -1.19,-0.48 -0.02,-0.23 -0.04,-0.45 -0.05,-0.68 0.61,0.17 1.22,0.39 1.8,0.64 z m 0.08,1.35 c 0.1,0.1 0.18,0.22 0.27,0.33 -0.23,0.02 -0.46,0.03 -0.68,0.05 -0.17,0.01 -0.17,0.27 0,0.26 0.3,-0.02 0.6,-0.03 0.9,-0.05 0.04,0.06 0.07,0.12 0.1,0.18 -0.56,0.15 -1.11,0.31 -1.67,0.47 -0.07,-0.1 -0.13,-0.19 -0.19,-0.3 -0.27,-0.52 -0.43,-1.1 -0.52,-1.68 -0.02,-0.12 -0.02,-0.24 -0.03,-0.36 0.55,0.17 1.07,0.45 1.51,0.83 -0.21,0.06 -0.41,0.13 -0.62,0.19 -0.18,0.05 -0.1,0.34 0.08,0.28 0.27,-0.08 0.55,-0.16 0.82,-0.23 0.01,0.01 0.02,0.02 0.03,0.03 z m 1.37,2.01 c -0.05,-0.28 -0.14,-0.56 -0.25,-0.82 -0.02,-0.04 -0.05,-0.08 -0.07,-0.12 0.49,-0.11 0.98,-0.23 1.46,-0.38 0.1,0.14 0.21,0.27 0.29,0.42 0.15,0.27 0.26,0.56 0.33,0.86 -0.19,0 -0.37,0 -0.56,0 -0.41,0.02 -0.81,0.05 -1.21,0.08 0.02,-0.01 0.02,-0.03 0.01,-0.04 z m -0.51,-1.31 c -0.02,-0.04 -0.04,-0.08 -0.07,-0.12 0.25,-0.01 0.5,-0.03 0.75,-0.04 -0.23,0.05 -0.46,0.1 -0.68,0.16 z m -5.87,-0.71 c -0.01,-0.38 -0.03,-0.76 -0.04,-1.14 0.32,-0.09 0.65,-0.19 0.97,-0.29 0.01,0 0.01,0 0.02,-0.01 0.01,0.12 0.02,0.25 0.03,0.37 0.02,0.25 0.01,0.54 0.1,0.78 -0.1,0.03 -0.21,0.05 -0.31,0.08 -0.25,0.07 -0.51,0.15 -0.76,0.22 -0.01,0.01 -0.01,0 -0.01,-0.01 z m 1.3,-1.09 c -0.02,-0.14 -0.03,-0.29 -0.05,-0.43 0.09,-0.03 0.18,-0.05 0.27,-0.08 0.05,-0.02 0.11,-0.03 0.16,-0.04 0.01,0.39 0.04,0.79 0.09,1.18 -0.07,0.02 -0.14,0.04 -0.21,0.06 -0.07,0.02 -0.15,0.04 -0.22,0.06 0.03,-0.25 -0.02,-0.52 -0.04,-0.75 z m 3.71,0.75 c -0.19,-0.17 -0.39,-0.33 -0.61,-0.46 0.03,0.01 0.07,0.01 0.11,-0.01 l 0.79,-0.37 c 0.29,0.14 0.56,0.32 0.83,0.5 -0.37,0.11 -0.75,0.22 -1.12,0.34 z m -3.49,-2.03 c 0.05,-0.01 0.1,-0.03 0.16,-0.04 0,0.15 0,0.3 0.01,0.44 -0.08,0.02 -0.16,0.05 -0.23,0.07 -0.08,0.02 -0.15,0.04 -0.23,0.07 0,-0.05 -0.01,-0.09 -0.01,-0.14 -0.01,-0.11 -0.02,-0.21 -0.03,-0.32 0.1,-0.02 0.21,-0.04 0.33,-0.08 z m -0.62,0.44 c 0.01,0.06 0.01,0.13 0.02,0.19 -0.02,0.01 -0.05,0.01 -0.07,0.02 -0.3,0.09 -0.6,0.18 -0.9,0.27 -0.01,-0.2 -0.01,-0.39 -0.02,-0.59 0.21,-0.04 0.42,-0.05 0.62,-0.1 0.11,-0.02 0.23,-0.06 0.34,-0.08 0,0.11 0,0.2 0.01,0.29 z m -1.26,0.88 c 0.01,0.35 0.02,0.7 0.03,1.05 0,0.03 0,0.07 0,0.1 -0.19,0.05 -0.38,0.1 -0.57,0.14 -0.06,0.01 -0.12,0.02 -0.18,0.04 -0.03,-0.36 -0.06,-0.73 -0.09,-1.09 0.27,-0.08 0.54,-0.16 0.81,-0.24 z m 1.68,2.09 c -0.41,0.21 -0.83,0.42 -1.25,0.63 -0.01,-0.16 -0.02,-0.32 -0.03,-0.46 -0.01,-0.33 -0.03,-0.66 -0.04,-0.99 0.27,-0.05 0.54,-0.1 0.81,-0.15 0.26,-0.04 0.53,-0.09 0.79,-0.14 0.08,-0.01 0.16,-0.03 0.24,-0.04 0.04,0.22 0.08,0.45 0.14,0.67 0.01,0.05 0.03,0.11 0.05,0.16 -0.24,0.07 -0.48,0.21 -0.71,0.32 z m 3.16,1.2 c -0.07,-0.27 -0.22,-0.52 -0.39,-0.75 0.57,-0.11 1.13,-0.22 1.7,-0.34 0.03,0.06 0.07,0.12 0.1,0.19 0.09,0.23 0.17,0.47 0.21,0.71 0,0.01 0,0.02 0,0.03 -0.54,0.04 -1.08,0.09 -1.62,0.16 z m 1.13,-1.92 c -0.11,-0.14 -0.22,-0.28 -0.34,-0.41 0.4,-0.11 0.8,-0.23 1.21,-0.34 0.25,0.2 0.5,0.41 0.71,0.65 -0.53,0.03 -1.05,0.06 -1.58,0.1 z m 1.03,-1.16 c -0.06,0.02 -0.11,0.03 -0.17,0.05 -0.28,-0.2 -0.56,-0.39 -0.86,-0.54 l 0.64,-0.3 c 0.09,-0.04 0.17,-0.08 0.26,-0.12 0.17,0.13 0.36,0.23 0.52,0.37 0.12,0.1 0.22,0.21 0.33,0.32 -0.24,0.08 -0.48,0.15 -0.72,0.22 z m -0.52,-1.07 c -0.29,0.14 -0.59,0.28 -0.88,0.43 -0.41,-0.19 -0.84,-0.35 -1.28,-0.48 0.3,-0.26 0.6,-0.52 0.89,-0.77 0.28,0.12 0.56,0.26 0.83,0.41 0.19,0.11 0.35,0.25 0.53,0.38 -0.03,0 -0.06,0.01 -0.09,0.03 z m -2.45,-0.27 c -0.04,0.03 -0.05,0.07 -0.05,0.11 -0.16,-0.05 -0.32,-0.1 -0.49,-0.14 0,-0.22 0,-0.44 0,-0.66 0.04,0 0.08,-0.01 0.12,-0.05 0.09,-0.09 0.19,-0.18 0.28,-0.27 0.32,0.08 0.63,0.18 0.94,0.3 -0.26,0.23 -0.53,0.47 -0.8,0.71 z m -0.16,-3.61 c 0,0.03 0.01,0.06 0.01,0.09 0,0 0,0.01 0.01,0.03 0,0 0,0 0,0.01 0,0.01 0,0.01 0,0.02 0,0.03 0,0.05 0,0.08 0,0.01 0,0.03 0,0.04 0,0 0,0.01 0,0.01 -0.01,0.02 -0.01,0.06 -0.02,0.08 -0.01,0.03 -0.01,0.05 -0.02,0.08 0,0.01 -0.01,0.03 -0.02,0.04 0,0 0,0 0,0.01 -0.01,0.03 -0.03,0.05 -0.04,0.08 -0.01,0.01 -0.01,0.02 -0.02,0.03 0,0 0,0 0,0.01 -0.02,0.02 -0.04,0.05 -0.06,0.07 -0.01,0.01 -0.02,0.02 -0.03,0.03 0,0 0,0 0,0 -0.02,0.01 -0.05,0.03 -0.07,0.05 -0.01,0.01 -0.02,0.01 -0.04,0.02 0,0 0,0 -0.01,0 -0.02,0.01 -0.05,0.01 -0.07,0.02 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.01,-0.1 0,-0.19 -0.01,-0.29 -0.02,-0.2 -0.06,-0.4 -0.09,-0.6 0.15,0.02 0.32,0.05 0.49,0.09 z m -6.04,-1.3 c -0.14,-0.19 -0.27,-0.4 -0.43,-0.58 -0.19,-0.21 -0.39,-0.4 -0.61,-0.59 0.38,-0.09 0.76,-0.18 1.14,-0.28 0.32,0.31 0.63,0.65 0.89,1.01 0.04,0.06 0.07,0.12 0.11,0.18 -0.36,0.09 -0.73,0.18 -1.09,0.26 0,0 -0.01,0 -0.01,0 z m -4.15,0.69 c -0.16,-0.44 -0.43,-0.85 -0.72,-1.17 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 0.53,-0.06 1.06,-0.12 1.59,-0.21 0.2,0.22 0.41,0.44 0.58,0.69 0.1,0.15 0.17,0.31 0.26,0.46 -0.55,0.09 -1.11,0.17 -1.66,0.24 0,0 -0.01,0.01 -0.02,0.02 z m 1.66,-0.9 c -0.15,-0.21 -0.33,-0.38 -0.5,-0.57 0.45,-0.08 0.91,-0.15 1.36,-0.24 0.11,-0.02 0.23,-0.06 0.34,-0.09 0.24,0.21 0.47,0.42 0.68,0.66 0.13,0.15 0.23,0.33 0.35,0.49 -0.63,0.12 -1.26,0.23 -1.9,0.33 -0.11,-0.19 -0.2,-0.39 -0.33,-0.58 z M 301.1,522 c -0.24,-0.32 -0.51,-0.6 -0.79,-0.89 0.07,-0.02 0.15,-0.03 0.22,-0.05 0.17,-0.05 0.33,-0.1 0.5,-0.15 0.29,0.4 0.59,0.79 0.88,1.19 0.02,0.02 0.03,0.04 0.05,0.06 -0.21,0.05 -0.42,0.1 -0.64,0.15 -0.08,-0.1 -0.15,-0.21 -0.22,-0.31 z m 0.89,0.57 c 0.07,-0.02 0.14,-0.04 0.21,-0.05 0.06,0.08 0.12,0.17 0.18,0.25 0.09,0.12 0.17,0.24 0.26,0.35 0.05,0.07 0.1,0.13 0.16,0.19 -0.07,0.02 -0.14,0.03 -0.21,0.05 -0.21,0.05 -0.41,0.1 -0.62,0.15 -0.13,-0.29 -0.28,-0.58 -0.44,-0.85 0.16,-0.04 0.31,-0.06 0.46,-0.09 z m 1.6,-0.22 c 0.12,0.23 0.19,0.48 0.27,0.72 -0.12,-0.01 -0.26,0.03 -0.38,0.07 -0.07,-0.3 -0.15,-0.59 -0.22,-0.89 0.08,-0.02 0.16,-0.04 0.24,-0.06 0.02,0.06 0.06,0.11 0.09,0.16 z m -0.37,0.86 c -0.05,0.01 -0.09,0.02 -0.14,0.03 -0.02,-0.12 -0.1,-0.21 -0.17,-0.31 -0.08,-0.11 -0.17,-0.22 -0.25,-0.33 -0.04,-0.06 -0.09,-0.12 -0.13,-0.17 0.16,-0.04 0.31,-0.07 0.47,-0.11 0,0 0,0 0,0 0.07,0.3 0.15,0.59 0.22,0.89 z m -0.54,0.53 c 0.21,-0.05 0.42,-0.1 0.64,-0.15 0.02,0.06 0.03,0.13 0.05,0.19 0.04,0.16 0.11,0.32 0.16,0.48 0.04,0.11 0.19,0.07 0.17,-0.05 -0.03,-0.17 -0.05,-0.34 -0.09,-0.5 -0.01,-0.06 -0.03,-0.12 -0.05,-0.18 0.07,-0.02 0.14,-0.03 0.2,-0.05 0.06,-0.02 0.12,-0.03 0.18,-0.06 0.07,0.33 0.12,0.66 0.14,1 -0.06,0.02 -0.12,0.05 -0.18,0.07 -0.37,0.13 -0.74,0.25 -1.11,0.35 -0.13,0.04 -0.27,0.06 -0.41,0.1 0.02,-0.02 0.02,-0.05 0.02,-0.09 -0.05,-0.33 -0.15,-0.67 -0.27,-0.99 0.19,-0.03 0.37,-0.08 0.55,-0.12 z m 0.3,-1.84 c -0.24,0.06 -0.48,0.12 -0.72,0.18 -0.04,-0.05 -0.08,-0.1 -0.12,-0.15 -0.28,-0.37 -0.56,-0.74 -0.84,-1.11 0.16,-0.05 0.31,-0.1 0.47,-0.15 0.59,0.21 1.11,0.65 1.48,1.15 -0.09,0.03 -0.18,0.06 -0.27,0.08 z m -2.27,-1.41 c 0.05,0.03 0.09,0.06 0.16,0.06 0.03,0 0.07,0 0.1,0 -0.18,0.06 -0.35,0.12 -0.53,0.18 -0.13,0.04 -0.26,0.06 -0.39,0.1 -0.08,-0.08 -0.18,-0.13 -0.27,-0.2 0.31,-0.05 0.62,-0.1 0.93,-0.14 z m -1.41,0.2 c 0.03,0 0.06,-0.01 0.09,-0.01 0.1,0.08 0.21,0.15 0.31,0.24 -0.38,0.1 -0.77,0.21 -1.16,0.3 -0.18,-0.14 -0.36,-0.27 -0.55,-0.39 0.44,-0.06 0.87,-0.09 1.31,-0.14 z m -1.62,0.16 c 0.21,0.13 0.42,0.27 0.62,0.42 -0.02,0 -0.04,0.01 -0.07,0.02 -0.52,0.12 -1.04,0.2 -1.56,0.29 -0.2,-0.2 -0.42,-0.39 -0.64,-0.57 0.55,-0.04 1.1,-0.1 1.65,-0.16 z m -2.03,0.2 c 0.24,0.19 0.49,0.37 0.71,0.59 -0.55,0.09 -1.1,0.16 -1.65,0.22 -0.29,-0.27 -0.62,-0.48 -0.97,-0.65 0.63,-0.04 1.27,-0.1 1.91,-0.16 z m -29.66,16.37 c -0.48,-0.32 -0.86,-0.78 -1.1,-1.31 0.14,-0.04 0.29,-0.08 0.43,-0.12 0.38,-0.12 0.77,-0.26 1.15,-0.42 0.22,0.43 0.51,0.82 0.85,1.17 -0.1,0.03 -0.2,0.05 -0.3,0.09 -0.37,0.14 -0.71,0.34 -1.03,0.59 z m -4.24,-0.78 c -0.22,-0.19 -0.45,-0.35 -0.64,-0.57 -0.2,-0.23 -0.36,-0.49 -0.48,-0.77 -0.1,-0.22 -0.16,-0.46 -0.2,-0.7 0.49,0 0.98,0 1.47,0 0.81,0 1.63,0.04 2.44,-0.03 -0.05,0.39 -0.03,0.79 0.07,1.17 -0.09,0.02 -0.17,0.04 -0.25,0.06 l -0.8,0.17 c -0.29,0.06 -0.58,0.12 -0.86,0.19 -0.1,-0.14 -0.19,-0.28 -0.29,-0.42 -0.05,-0.08 -0.18,0 -0.12,0.07 0.09,0.13 0.18,0.25 0.27,0.38 -0.19,0.04 -0.37,0.08 -0.56,0.12 -0.15,0.03 -0.09,0.27 0.06,0.23 0.22,-0.04 0.44,-0.09 0.65,-0.13 0.01,0.02 0.02,0.03 0.03,0.05 -0.27,0.06 -0.52,0.13 -0.79,0.18 z m 0.9,-0.25 c 0.26,-0.05 0.52,-0.11 0.78,-0.16 0.14,-0.03 0.28,-0.06 0.42,-0.09 -0.13,0.04 -0.26,0.09 -0.4,0.12 -0.26,0.07 -0.52,0.11 -0.77,0.17 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 z m 5.37,0.22 c 0.02,0 -0.06,-0.02 -0.08,-0.02 -0.07,0 -0.14,0.02 -0.22,0.03 -0.37,-0.34 -0.7,-0.76 -0.94,-1.21 0.1,-0.05 0.21,-0.09 0.3,-0.15 0.01,-0.01 0,-0.02 0.01,-0.02 0.03,0.06 0.05,0.11 0.08,0.17 0,0.01 -0.01,0.01 -0.01,0.02 0,0.04 0.02,0.09 0.05,0.12 0.01,0.01 0.02,0.01 0.03,0.01 0.08,0.13 0.16,0.26 0.25,0.38 0.2,0.27 0.44,0.5 0.69,0.7 -0.04,-0.03 -0.08,-0.04 -0.13,-0.04 0.01,0.01 -0.04,0.01 -0.03,0.01 z m -1.64,-3.2 c 0.02,-0.03 0.04,-0.07 0.06,-0.1 0.16,-0.24 0.32,-0.49 0.49,-0.73 0.06,-0.09 -0.09,-0.18 -0.15,-0.09 -0.11,0.17 -0.23,0.34 -0.34,0.51 0.02,-0.16 -0.22,-0.23 -0.27,-0.06 -0.02,0.06 -0.03,0.13 -0.04,0.19 -0.47,-0.05 -0.94,-0.06 -1.42,-0.08 0.08,-0.11 0.15,-0.23 0.23,-0.34 0.18,-0.24 0.4,-0.46 0.6,-0.68 0.27,0.04 0.54,0.08 0.82,0.13 0.3,0.05 0.64,0.13 0.94,0.12 -0.19,0.37 -0.39,0.73 -0.43,1.17 0,0.01 0,0.01 0,0.02 -0.12,0.55 -0.06,1.11 0.16,1.65 0,0 -0.01,-0.01 -0.01,-0.01 -0.11,0.02 -0.22,0.07 -0.33,0.1 -0.26,-0.57 -0.39,-1.18 -0.31,-1.8 z m -5.35,-1.88 c -0.15,0.17 -0.29,0.35 -0.38,0.54 -0.03,0.06 0.04,0.12 0.1,0.07 0.19,-0.18 0.36,-0.39 0.53,-0.6 0.34,0.03 0.67,0.06 1.01,0.09 -0.23,0.28 -0.44,0.58 -0.64,0.88 -0.04,0.05 0.05,0.1 0.09,0.05 0.22,-0.32 0.47,-0.63 0.72,-0.92 0.31,0.03 0.62,0.05 0.92,0.09 0.11,0.01 0.21,0.03 0.32,0.04 -0.09,0.14 -0.18,0.27 -0.25,0.41 -0.12,0.23 -0.29,0.52 -0.32,0.78 -0.46,-0.02 -0.92,-0.05 -1.38,-0.07 -0.83,-0.04 -1.66,-0.07 -2.49,-0.11 0.02,-0.06 0.04,-0.11 0.06,-0.17 0.19,-0.44 0.45,-0.84 0.76,-1.2 0.31,0.05 0.63,0.09 0.95,0.12 z m 13.05,-9.08 c -0.29,-0.06 -0.58,-0.1 -0.86,-0.19 -0.2,-0.06 -0.39,-0.15 -0.58,-0.23 0.17,-0.2 0.35,-0.4 0.55,-0.57 0.51,0.13 1.02,0.26 1.53,0.38 -0.21,0.19 -0.43,0.37 -0.62,0.59 -0.01,0 -0.01,0.01 -0.02,0.02 z m -0.96,0.17 c 0.23,0.07 0.47,0.1 0.71,0.16 -0.16,0.21 -0.33,0.41 -0.48,0.63 -0.41,-0.13 -0.8,-0.3 -1.19,-0.47 -0.04,-0.02 -0.07,-0.04 -0.11,-0.05 0.09,-0.17 0.18,-0.33 0.29,-0.49 0.02,-0.02 0.04,-0.05 0.06,-0.07 0.24,0.1 0.47,0.22 0.72,0.29 z m -0.16,1.46 c -0.07,0.15 -0.16,0.34 -0.2,0.51 -0.38,-0.07 -0.75,-0.16 -1.11,-0.28 -0.05,-0.02 -0.1,-0.04 -0.15,-0.06 0.1,-0.34 0.23,-0.68 0.37,-1 0.04,0.02 0.07,0.04 0.11,0.05 0.38,0.16 0.78,0.28 1.19,0.4 -0.07,0.12 -0.14,0.24 -0.21,0.38 z m -2.17,-1.36 c 0.26,0.15 0.54,0.28 0.82,0.4 -0.16,0.33 -0.28,0.68 -0.36,1.03 -0.3,-0.11 -0.6,-0.22 -0.89,-0.36 0.02,-0.08 0.04,-0.16 0.06,-0.23 0.11,-0.29 0.24,-0.57 0.37,-0.84 z m 1,0.05 c -0.26,-0.12 -0.52,-0.24 -0.78,-0.37 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0.03,-0.05 0.05,-0.11 0.09,-0.16 0.08,-0.13 0.17,-0.25 0.26,-0.37 0.26,0.14 0.53,0.26 0.81,0.38 -0.14,0.17 -0.25,0.35 -0.35,0.54 z m -1.02,-0.73 c -0.03,0.05 -0.06,0.11 -0.08,0.16 -0.17,-0.1 -0.34,-0.19 -0.51,-0.29 0.13,-0.2 0.28,-0.35 0.44,-0.51 0.13,0.09 0.27,0.17 0.41,0.25 -0.09,0.14 -0.19,0.26 -0.26,0.39 z m -0.76,0.17 c 0.16,0.12 0.32,0.23 0.49,0.33 -0.14,0.28 -0.26,0.56 -0.36,0.86 -0.02,0.07 -0.04,0.15 -0.06,0.22 -0.18,-0.09 -0.35,-0.2 -0.52,-0.3 0.11,-0.39 0.27,-0.76 0.45,-1.11 z m -0.43,4.71 c 0.18,0.09 0.36,0.16 0.54,0.25 -0.02,0.43 -0.05,0.86 -0.07,1.3 0,0.01 0,0.02 0,0.03 -0.12,-0.05 -0.24,-0.08 -0.36,-0.14 -0.15,-0.07 -0.29,0.16 -0.13,0.23 0.16,0.07 0.32,0.13 0.48,0.19 -0.02,0.32 -0.03,0.64 -0.05,0.96 0,0.06 -0.01,0.11 -0.01,0.17 -0.2,-0.09 -0.41,-0.17 -0.61,-0.27 0.04,-0.83 0.01,-1.67 -0.03,-2.51 -0.02,-0.4 -0.03,-0.79 -0.04,-1.19 0.15,0.05 0.3,0.09 0.45,0.14 0.14,0.04 0.28,0.09 0.42,0.14 -0.01,0.25 -0.03,0.5 -0.04,0.75 -0.15,-0.07 -0.31,-0.13 -0.46,-0.21 -0.1,-0.05 -0.19,0.1 -0.09,0.16 z m 4.07,4.43 c 0.03,0.21 0.07,0.42 0.14,0.63 0.06,0.18 0.14,0.47 0.32,0.54 0.07,0.03 0.15,-0.03 0.16,-0.09 0.03,-0.11 -0.03,-0.2 -0.07,-0.3 -0.03,-0.09 -0.06,-0.17 -0.09,-0.26 -0.05,-0.15 -0.08,-0.3 -0.11,-0.45 0.01,0 0.01,0 0.02,0 0.29,0.04 0.59,0.07 0.89,0.09 0.13,0.01 0.27,0.02 0.4,0.02 0.04,0.3 0.07,0.6 0.11,0.9 0.02,0.2 0.05,0.4 0.08,0.6 -0.27,-0.08 -0.55,-0.15 -0.82,-0.22 -1.02,-0.25 -2.04,-0.5 -3.04,-0.81 -0.82,-0.26 -1.62,-0.62 -2.44,-0.88 0.01,-0.03 0.01,-0.06 0.02,-0.08 0.07,-0.35 0.11,-0.71 0.13,-1.07 0.2,0.1 0.4,0.19 0.6,0.28 -0.02,0.27 -0.03,0.55 0,0.82 0.01,0.11 0.18,0.15 0.2,0.03 0.03,-0.14 0.03,-0.28 0.04,-0.42 0.02,0.02 0.05,0.03 0.08,0.04 0.02,0.01 0.04,0.01 0.06,0.01 0.01,0 0.01,0 0.02,0 0.02,0 0.03,0 0.04,-0.01 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 0.01,0 0.01,0 0.02,-0.01 0.02,-0.01 0.04,-0.02 0.05,-0.04 0.02,-0.02 0.03,-0.05 0.03,-0.08 0,-0.04 -0.05,-0.06 -0.08,-0.03 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.01,0.01 0,0 0,0 0,0 0,0 0,0 -0.01,0 0,0 0,0 -0.01,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.03,-0.01 -0.04,-0.01 0,0 0,0 -0.01,0 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,0 0,0 -0.01,0 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,0 0,0 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 0,-0.05 0.01,-0.1 0.01,-0.15 0.3,0.13 0.6,0.23 0.91,0.34 -0.01,0.23 -0.02,0.46 -0.01,0.69 0.01,0.12 0.21,0.17 0.23,0.03 0.03,-0.21 0.04,-0.42 0.05,-0.63 0.27,0.09 0.54,0.19 0.82,0.26 -0.01,0.13 -0.01,0.27 -0.02,0.4 -0.01,0.15 -0.03,0.31 0.02,0.45 0.04,0.13 0.2,0.11 0.24,0 0.06,-0.14 0.05,-0.31 0.05,-0.45 0.01,-0.11 0.01,-0.22 0.02,-0.33 0.41,0.07 0.77,0.14 1.14,0.21 0,-0.01 0,-0.01 0,0 z m -9,-4.84 c 0.26,-0.2 0.53,-0.38 0.81,-0.56 0.18,0.15 0.35,0.29 0.53,0.44 -0.26,0.11 -0.52,0.22 -0.79,0.32 -0.15,0.06 -0.09,0.3 0.07,0.25 0.32,-0.12 0.65,-0.24 0.98,-0.36 0.12,0.1 0.25,0.2 0.37,0.3 -0.15,0.05 -0.31,0.08 -0.46,0.14 -0.28,0.11 -0.54,0.25 -0.8,0.39 -0.24,-0.18 -0.48,-0.37 -0.71,-0.55 0,-0.12 -0.01,-0.24 0,-0.37 z m 1.66,-1.01 c 0.19,0.18 0.38,0.35 0.57,0.53 -0.07,0.03 -0.13,0.05 -0.2,0.08 -0.13,0.05 -0.26,0.11 -0.4,0.16 -0.19,-0.15 -0.38,-0.31 -0.57,-0.46 0.2,-0.11 0.4,-0.21 0.6,-0.31 z m 0.66,4.94 c -0.11,-0.07 -0.22,-0.14 -0.33,-0.21 -0.24,-0.14 -0.47,-0.28 -0.71,-0.43 0.35,-0.25 0.73,-0.45 1.13,-0.63 0.03,0.02 0.05,0.04 0.07,0.06 0.18,0.14 0.35,0.28 0.53,0.42 0.09,0.07 0.18,0.14 0.28,0.21 0,0.02 0,0.05 0,0.07 -0.34,0.15 -0.66,0.32 -0.97,0.51 z m -0.77,0.33 c -0.35,-0.11 -0.69,-0.22 -1.04,-0.34 0.03,-0.02 0.05,-0.05 0.08,-0.08 0.14,-0.13 0.3,-0.24 0.45,-0.36 0.27,0.16 0.54,0.33 0.8,0.49 0.07,0.04 0.14,0.08 0.21,0.13 -0.1,0.07 -0.19,0.15 -0.29,0.23 -0.06,-0.03 -0.14,-0.05 -0.21,-0.07 z m 0.3,-2.04 c 0.12,0.1 0.24,0.19 0.36,0.29 -0.41,0.18 -0.8,0.39 -1.17,0.65 -0.15,-0.09 -0.31,-0.19 -0.46,-0.28 0.39,-0.23 0.79,-0.45 1.21,-0.64 0.02,-0.01 0.04,-0.02 0.06,-0.02 z m 1.39,-2.75 c 0,0.19 0.01,0.39 0.02,0.58 -0.08,-0.07 -0.16,-0.14 -0.24,-0.21 -0.07,-0.06 -0.14,-0.13 -0.21,-0.19 0.03,-0.01 0.06,-0.02 0.1,-0.04 0.1,-0.04 0.22,-0.09 0.33,-0.14 z m 0.07,3.48 c -0.03,-0.02 -0.05,-0.04 -0.08,-0.06 -0.16,-0.13 -0.33,-0.25 -0.49,-0.38 0.19,-0.08 0.39,-0.13 0.59,-0.19 0,0.2 -0.01,0.41 -0.02,0.63 z m -0.51,-2.9 c 0.03,0.02 0.05,0.05 0.08,0.07 -0.01,0 -0.03,0 -0.04,0.01 -0.19,0.04 -0.36,0.11 -0.55,0.17 -0.13,-0.11 -0.26,-0.21 -0.39,-0.32 0.08,-0.03 0.16,-0.06 0.24,-0.09 0.12,-0.04 0.23,-0.09 0.35,-0.13 0.11,0.1 0.21,0.2 0.31,0.29 z m 0.1,0.42 c 0.1,-0.02 0.2,-0.03 0.31,-0.05 0.02,0.02 0.05,0.04 0.07,0.07 0.01,0.21 0.02,0.41 0.03,0.62 -0.22,-0.17 -0.43,-0.35 -0.65,-0.52 -0.02,-0.01 -0.03,-0.03 -0.05,-0.04 0.09,-0.02 0.19,-0.06 0.29,-0.08 z m 0.43,1.63 c -0.26,0.07 -0.52,0.15 -0.78,0.25 -0.12,-0.09 -0.24,-0.18 -0.35,-0.27 0.19,-0.07 0.37,-0.15 0.56,-0.22 0.19,-0.06 0.38,-0.12 0.57,-0.18 -0.01,0.14 -0.01,0.28 0,0.42 z m -0.06,-3.76 c -0.02,0.27 -0.02,0.53 -0.03,0.8 -0.17,0.04 -0.34,0.1 -0.49,0.16 -0.08,0.03 -0.15,0.06 -0.23,0.09 -0.2,-0.18 -0.41,-0.36 -0.61,-0.55 0.03,-0.01 0.05,-0.03 0.08,-0.04 0.38,-0.17 0.77,-0.32 1.16,-0.44 0.05,0 0.09,-0.01 0.12,-0.02 z m -1.57,2.47 c 0.18,-0.06 0.37,-0.1 0.55,-0.16 0.07,0.06 0.14,0.12 0.21,0.17 0.24,0.2 0.48,0.4 0.72,0.59 -0.44,0.09 -0.87,0.28 -1.27,0.45 -0.08,-0.06 -0.15,-0.12 -0.23,-0.18 -0.24,-0.18 -0.48,-0.37 -0.72,-0.56 0.25,-0.1 0.49,-0.22 0.74,-0.31 z m -0.24,1.1 c 0.04,0.03 0.09,0.07 0.13,0.1 -0.44,0.2 -0.87,0.44 -1.28,0.7 -0.19,-0.12 -0.38,-0.23 -0.57,-0.35 0.2,-0.13 0.4,-0.27 0.62,-0.39 0.15,-0.08 0.01,-0.31 -0.13,-0.23 -0.15,0.09 -0.29,0.19 -0.44,0.28 0.03,-0.09 0.05,-0.18 0.07,-0.27 0.26,-0.18 0.52,-0.35 0.8,-0.49 0.27,0.23 0.54,0.44 0.8,0.65 z m -1.41,0.98 c -0.07,0.04 -0.13,0.08 -0.2,0.13 -0.21,0.15 -0.42,0.32 -0.62,0.49 -0.27,-0.09 -0.53,-0.17 -0.8,-0.26 0.24,-0.17 0.48,-0.34 0.73,-0.5 0.11,-0.07 0.21,-0.13 0.32,-0.2 0.19,0.11 0.38,0.22 0.57,0.34 z m 0,0.31 c 0.08,-0.06 0.17,-0.1 0.26,-0.16 0.16,0.1 0.33,0.2 0.49,0.3 -0.13,0.1 -0.27,0.2 -0.4,0.31 -0.06,0.05 -0.11,0.12 -0.17,0.17 -0.24,-0.08 -0.48,-0.15 -0.72,-0.23 0.18,-0.13 0.35,-0.27 0.54,-0.39 z m -0.09,0.89 c -0.26,0.27 -0.5,0.55 -0.71,0.86 -0.01,0.02 -0.03,0.04 -0.04,0.06 -0.13,-0.02 -0.25,-0.03 -0.38,-0.05 -0.26,-0.03 -0.52,-0.05 -0.78,-0.07 0.36,-0.38 0.73,-0.74 1.14,-1.06 0.25,0.09 0.51,0.18 0.77,0.26 z m 0.28,0.1 c 0.4,0.13 0.79,0.27 1.19,0.4 -0.14,0.12 -0.3,0.21 -0.43,0.34 -0.09,0.09 -0.18,0.18 -0.27,0.28 -0.41,-0.06 -0.82,-0.11 -1.23,-0.16 0.22,-0.3 0.47,-0.59 0.74,-0.86 z m 1,0.94 c 0.16,-0.15 0.35,-0.28 0.52,-0.42 0.31,0.12 0.64,0.24 0.95,0.26 0.15,0.01 0.18,-0.19 0.07,-0.26 -0.17,-0.11 -0.39,-0.17 -0.58,-0.23 -0.03,-0.01 -0.07,-0.02 -0.1,-0.03 0.08,-0.06 0.14,-0.13 0.22,-0.18 0.12,0.07 0.24,0.15 0.38,0.18 0.1,0.02 0.17,-0.09 0.1,-0.17 -0.06,-0.07 -0.13,-0.12 -0.2,-0.17 0.21,-0.13 0.42,-0.24 0.64,-0.35 -0.07,0.52 -0.19,1.03 -0.37,1.52 -0.04,0.1 -0.09,0.2 -0.13,0.3 -0.29,-0.13 -0.64,-0.16 -0.95,-0.21 -0.22,-0.03 -0.44,-0.07 -0.67,-0.1 0.04,-0.05 0.08,-0.1 0.12,-0.14 z m 6.4,-1.51 c -0.01,0.19 -0.02,0.38 -0.03,0.57 -0.28,-0.07 -0.54,-0.17 -0.81,-0.25 0.01,-0.24 0.01,-0.49 0.02,-0.73 0.01,-0.16 0.01,-0.31 0.02,-0.47 0.15,0.04 0.3,0.09 0.45,0.12 0.13,0.02 0.26,0.04 0.39,0.06 z m -1.1,-0.44 c -0.01,0.22 -0.03,0.45 -0.04,0.67 -0.31,-0.1 -0.61,-0.22 -0.92,-0.34 0,-0.08 0,-0.16 0.01,-0.23 0.01,-0.31 0.02,-0.61 0.03,-0.92 0.31,0.12 0.62,0.22 0.94,0.31 0,0.17 -0.01,0.34 -0.02,0.51 z m -3.47,-5.15 c -0.41,0.14 -0.8,0.31 -1.19,0.5 -0.07,0.03 -0.13,0.08 -0.2,0.11 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.12,-0.11 -0.28,0.04 -0.21,0.16 -0.21,0.11 -0.41,0.22 -0.61,0.34 0,0 0,0 0,0 -0.12,-0.1 -0.27,0.04 -0.22,0.15 -0.21,0.14 -0.41,0.29 -0.6,0.44 0,-0.21 0.02,-0.41 0.02,-0.62 0,-0.12 -0.02,-0.24 -0.02,-0.36 0.54,-0.15 1.09,-0.31 1.64,-0.43 0.32,-0.07 0.63,-0.14 0.95,-0.19 0.08,-0.01 0.16,-0.03 0.24,-0.04 0.04,-0.01 0.08,-0.01 0.12,-0.02 0,0 0,0 0,0 0.06,-0.01 0.13,-0.01 0.19,-0.02 -0.03,-0.01 -0.06,0 -0.08,0.01 z m -3.1,2.7 c 0.15,0.12 0.29,0.23 0.44,0.35 -0.14,0.08 -0.26,0.17 -0.39,0.25 -0.01,-0.07 -0.04,-0.14 -0.09,-0.19 0.01,-0.14 0.03,-0.28 0.04,-0.41 z m -1.83,2.75 c 0.27,0.09 0.54,0.18 0.81,0.27 -0.39,0.35 -0.75,0.73 -1.08,1.12 -0.34,-0.03 -0.68,-0.07 -1.02,-0.1 0.06,-0.07 0.12,-0.15 0.18,-0.22 0.31,-0.34 0.63,-0.67 0.98,-0.98 0.04,-0.02 0.08,-0.05 0.13,-0.09 z m 0.9,2.32 c 0.09,-0.16 0.19,-0.32 0.29,-0.48 0.38,0.05 0.77,0.1 1.15,0.15 -0.29,0.33 -0.56,0.68 -0.77,1.06 -0.13,0 -0.26,-0.01 -0.39,-0.01 -0.21,-0.01 -0.42,-0.02 -0.63,-0.03 0.14,-0.21 0.23,-0.47 0.35,-0.69 z m 22.1,-10.37 c -0.07,0.18 -0.13,0.36 -0.2,0.54 -0.43,-0.01 -0.87,-0.02 -1.3,0 0.02,-0.22 0.06,-0.43 0.12,-0.64 0.03,-0.11 0.08,-0.21 0.12,-0.32 0.47,0 0.94,-0.01 1.42,-0.01 -0.06,0.14 -0.11,0.28 -0.16,0.43 z m -1.74,-0.2 c -0.07,0.24 -0.12,0.5 -0.15,0.75 -0.17,0.01 -0.33,0.01 -0.5,0.01 -0.57,0 -1.15,-0.03 -1.72,-0.07 0.03,-0.18 0.07,-0.36 0.13,-0.53 0.06,-0.15 0.14,-0.3 0.22,-0.44 0.7,0.02 1.41,0.04 2.11,0.04 -0.02,0.09 -0.06,0.16 -0.09,0.24 z m -2.68,0.68 c -0.22,-0.02 -0.44,-0.03 -0.65,-0.04 -0.47,-0.03 -0.94,-0.1 -1.42,-0.14 0.05,-0.16 0.09,-0.32 0.16,-0.48 0.06,-0.12 0.13,-0.23 0.2,-0.35 0.15,0.01 0.29,0.02 0.44,0.02 0.53,0.02 1.05,0.02 1.58,0.03 -0.16,0.3 -0.27,0.63 -0.31,0.96 z m -2.23,-0.8 c -0.08,0.18 -0.14,0.38 -0.2,0.57 -0.52,-0.06 -1.03,-0.12 -1.55,-0.19 0.02,-0.03 0.03,-0.06 0.05,-0.09 0.15,-0.21 0.32,-0.41 0.49,-0.61 0.45,0.02 0.9,0.06 1.34,0.08 -0.03,0.08 -0.09,0.16 -0.13,0.24 z m -1.94,0.09 c -0.05,0.08 -0.09,0.16 -0.15,0.24 -0.56,-0.08 -1.13,-0.16 -1.68,-0.26 0,0 -0.01,0 -0.01,0 0.21,-0.18 0.45,-0.33 0.68,-0.49 0.51,0.03 1.01,0.06 1.52,0.09 -0.12,0.13 -0.25,0.27 -0.36,0.42 z m -2.25,-0.1 c -0.53,-0.09 -1.06,-0.2 -1.59,-0.31 0.12,-0.1 0.25,-0.2 0.39,-0.29 0.6,0.05 1.2,0.12 1.8,0.16 -0.21,0.14 -0.41,0.28 -0.6,0.44 z m -1.91,-0.37 c -0.21,-0.05 -0.42,-0.08 -0.63,-0.13 -0.1,-0.02 -0.14,0.13 -0.04,0.16 0.17,0.05 0.35,0.08 0.52,0.13 -0.18,0.17 -0.35,0.35 -0.51,0.54 -0.29,-0.12 -0.57,-0.23 -0.84,-0.37 0.2,-0.25 0.41,-0.47 0.64,-0.69 0.4,0.04 0.8,0.07 1.19,0.11 -0.12,0.07 -0.23,0.15 -0.33,0.25 z m -1.82,0.14 c -0.13,-0.07 -0.25,-0.14 -0.37,-0.21 0.14,-0.12 0.27,-0.25 0.41,-0.39 0.15,0.02 0.29,0.03 0.44,0.04 -0.18,0.18 -0.34,0.37 -0.48,0.56 z m -15.05,14.65 c -0.33,0.24 -0.61,0.4 -1.02,0.49 -0.88,0.19 -1.85,0.14 -2.74,0.13 -0.89,-0.01 -1.86,0.01 -2.74,-0.17 -0.06,-0.01 -0.13,-0.03 -0.2,-0.05 0,-0.05 0,-0.1 0,-0.15 0,-0.16 0,-0.32 0,-0.48 -0.01,-0.35 -0.02,-0.69 -0.04,-1.04 -0.03,-0.64 -0.06,-1.29 -0.09,-1.93 0.39,0.06 0.77,0.1 1.16,0.13 -0.01,0.02 -0.03,0.03 -0.03,0.05 0,0.06 -0.01,0.11 -0.01,0.17 -0.1,0 -0.14,0.15 -0.03,0.17 0.01,0 0.01,0 0.02,0 -0.03,0.35 -0.05,0.71 -0.08,1.06 -0.02,0.23 -0.03,0.47 -0.05,0.7 -0.01,0.11 -0.01,0.22 -0.02,0.33 -0.01,0.12 -0.03,0.25 0,0.37 0.05,0.17 0.26,0.14 0.32,0 0.05,-0.11 0.04,-0.25 0.04,-0.37 0.01,-0.11 0.01,-0.22 0.02,-0.33 0.01,-0.23 0.02,-0.47 0.03,-0.7 0.01,-0.12 0.01,-0.24 0.02,-0.36 0.01,0.05 0.02,0.11 0.04,0.16 0.06,0.11 0.21,0.07 0.25,-0.03 0,0 0,0 0,-0.01 0.01,0.01 0.02,0.03 0.05,0.03 0.14,0.03 0.28,0.03 0.42,0.06 0,0.22 0.05,0.43 0.16,0.62 0.05,0.08 0.11,0.15 0.17,0.22 -0.3,0.01 -0.59,0.01 -0.89,0.01 -0.11,0 -0.11,0.17 0,0.17 0.37,0 0.73,0.02 1.1,0.03 0.07,0.05 0.16,0.09 0.23,0.07 0.03,-0.01 0.05,-0.03 0.06,-0.06 0.26,0.01 0.51,0.01 0.77,0.02 0.01,0.09 0,0.18 0.01,0.27 0.02,0.14 0.2,0.14 0.21,0 0.01,-0.09 0.01,-0.17 0.01,-0.26 0.11,0 0.22,0.01 0.34,0.01 0.32,0.01 0.63,0.01 0.95,0.02 0.01,0.2 0.02,0.4 0.06,0.59 0.03,0.11 0.21,0.12 0.23,0 0.03,-0.19 0.03,-0.39 0.02,-0.59 0.03,0 0.06,0 0.1,0 0.1,0 0.21,0 0.32,0.01 0.01,0.24 0.02,0.49 0.06,0.73 0.01,0.08 0.14,0.08 0.15,0 0.04,-0.24 0.05,-0.48 0.06,-0.72 0.24,0 0.48,-0.01 0.71,-0.06 0.11,-0.03 0.11,-0.19 0,-0.22 -0.22,-0.06 -0.45,-0.07 -0.68,-0.07 0,-0.25 0,-0.5 0,-0.75 0.01,0 0.02,0 0.03,0 0.27,-0.04 0.55,-0.09 0.83,-0.16 0.02,0.14 0.05,0.28 0.13,0.39 0.01,0.01 0.02,0.01 0.03,0.01 0,0.03 0,0.06 0,0.09 0,0.33 -0.02,0.67 0.02,1 -0.03,0.03 -0.06,0.07 -0.09,0.1 -0.14,0.14 -0.29,0.21 -0.42,0.3 z m -1.15,-0.95 c -0.04,0 -0.07,0 -0.11,0 0,-0.03 0,-0.06 0,-0.09 -0.01,-0.2 -0.02,-0.4 -0.02,-0.6 0.15,-0.01 0.29,-0.02 0.44,-0.04 0,0.24 -0.01,0.48 0,0.72 -0.11,0.01 -0.22,0.01 -0.31,0.01 z m -2.84,0.04 c -0.04,-0.03 -0.09,-0.05 -0.12,-0.08 -0.08,-0.07 -0.16,-0.15 -0.21,-0.25 -0.09,-0.14 -0.14,-0.31 -0.15,-0.47 0.46,0.07 0.91,0.11 1.37,0.13 -0.01,0.22 0,0.44 0,0.66 -0.3,0 -0.59,0 -0.89,0.01 z m -1.16,-1.45 c 0,-0.06 -0.01,-0.13 -0.01,-0.19 0.35,0.06 0.71,0.1 1.06,0.13 -0.01,0.18 -0.01,0.37 0.02,0.55 -0.15,-0.01 -0.29,-0.03 -0.44,-0.05 -0.03,-0.04 -0.1,-0.05 -0.14,-0.02 -0.13,-0.02 -0.26,-0.02 -0.4,-0.04 -0.04,-0.01 -0.06,0.01 -0.09,0.03 0.02,-0.14 0.01,-0.29 0,-0.41 z m 2.31,0.78 c 0.28,0.01 0.55,0.03 0.83,0.02 0.14,-0.01 0.28,-0.03 0.41,-0.04 0.01,0.19 0.01,0.38 0.02,0.57 0,0.03 0,0.06 0,0.09 -0.31,0 -0.63,0.01 -0.94,0.01 -0.11,0 -0.22,0 -0.33,0.01 0.01,-0.23 0.02,-0.44 0.01,-0.66 z m 2.3,-0.41 c 0,-0.27 0,-0.54 0,-0.81 0.21,-0.06 0.44,-0.13 0.66,-0.21 0.02,0.13 0.05,0.26 0.07,0.39 0.03,0.16 0.06,0.31 0.09,0.47 -0.24,0.05 -0.48,0.11 -0.72,0.15 -0.04,0.01 -0.07,0.01 -0.1,0.01 z m 1.05,-0.47 c -0.01,-0.07 -0.03,-0.14 -0.05,-0.21 -0.03,-0.15 -0.06,-0.29 -0.09,-0.44 0.05,-0.02 0.09,-0.05 0.14,-0.07 0,0.25 0,0.49 0,0.72 z m 0.02,-1.63 c 0.01,0.03 0.01,0.07 0.02,0.1 -0.02,0.18 -0.03,0.36 -0.04,0.54 -0.07,0.02 -0.14,0.04 -0.21,0.07 -0.03,-0.15 -0.07,-0.31 -0.1,-0.46 -0.03,-0.16 -0.27,-0.09 -0.24,0.07 0.03,0.16 0.06,0.32 0.09,0.48 -0.2,0.07 -0.4,0.15 -0.6,0.21 0,-0.2 0,-0.4 0,-0.61 0.2,-0.12 0.42,-0.23 0.66,-0.3 0.13,-0.05 0.28,-0.07 0.42,-0.1 z m -1.38,2.14 c -0.15,0.02 -0.3,0.03 -0.45,0.05 0,-0.06 0,-0.11 -0.01,-0.17 l -0.02,-0.57 c 0.16,-0.03 0.32,-0.05 0.48,-0.09 0,0.26 0,0.52 0,0.78 z m -0.76,-0.12 c 0,0.07 0,0.14 0.01,0.21 -0.14,0.01 -0.27,0.04 -0.41,0.05 -0.28,0.02 -0.56,0 -0.84,0 0,-0.07 0,-0.14 -0.01,-0.21 0,-0.13 0,-0.26 0,-0.39 0.2,-0.01 0.4,-0.02 0.6,-0.04 0.21,-0.02 0.42,-0.08 0.63,-0.12 0.01,0.16 0.01,0.33 0.02,0.5 z m -1.48,0.04 c 0,0.07 0,0.14 -0.01,0.21 -0.25,-0.01 -0.5,-0.02 -0.76,-0.04 0.05,-0.18 0.07,-0.37 0.08,-0.56 0.23,0.01 0.46,0.02 0.69,0.01 0,0.13 0,0.25 0,0.38 z m -0.67,-0.62 c 0.01,-0.11 0.01,-0.21 0.02,-0.32 0.22,0 0.44,0 0.66,-0.02 0,0.11 0,0.21 0,0.32 -0.23,0.02 -0.45,0.02 -0.68,0.02 z m -0.33,-0.01 c -0.36,-0.01 -0.73,-0.05 -1.09,-0.1 0,-0.05 -0.01,-0.1 -0.01,-0.14 0,-0.04 -0.01,-0.08 -0.01,-0.11 0.37,0.03 0.75,0.04 1.12,0.04 0,0.1 -0.01,0.2 -0.01,0.31 z m 3.52,-1.36 c -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 0.05,0 0.1,-0.01 0.16,-0.01 -0.05,0.02 -0.1,0.04 -0.14,0.07 z m -0.27,0.04 c 0,0.06 0,0.11 0,0.17 -0.09,0.07 -0.2,0.14 -0.28,0.22 -0.11,0.11 0.06,0.28 0.17,0.17 0.03,-0.03 0.07,-0.05 0.11,-0.07 0,0.16 0,0.31 0,0.47 -0.16,0.04 -0.33,0.07 -0.5,0.1 L 254.78,532 c 0.2,-0.01 0.39,-0.02 0.59,-0.03 -0.02,0.01 -0.04,0.04 -0.04,0.08 z m -0.83,-0.04 c 0.01,0.38 0.02,0.77 0.04,1.15 -0.22,0.04 -0.44,0.11 -0.67,0.14 -0.18,0.02 -0.37,0.03 -0.56,0.05 0,-0.11 0,-0.22 0,-0.33 0.19,-0.02 0.37,-0.04 0.56,-0.08 0.09,-0.02 0.06,-0.14 -0.02,-0.15 -0.18,-0.02 -0.36,-0.02 -0.54,-0.02 0,-0.13 0,-0.25 0,-0.38 0,-0.14 -0.21,-0.14 -0.21,0 0,0.12 0,0.25 0,0.37 -0.22,0 -0.43,0 -0.65,0 0,-0.01 0,-0.01 0,-0.02 0.01,-0.24 0.02,-0.48 0.03,-0.71 0.67,0 1.35,0 2.02,-0.02 z m -2.39,0.71 c 0,0 0,0.01 0,0.01 -0.39,-0.01 -0.78,-0.03 -1.17,-0.05 -0.02,-0.21 -0.03,-0.42 -0.05,-0.63 0,-0.05 -0.03,-0.09 -0.06,-0.12 0.44,0.03 0.88,0.05 1.32,0.07 -0.01,0.24 -0.02,0.48 -0.04,0.72 z m -3.09,0.05 c 0,0.12 0.01,0.25 0.01,0.37 -0.01,-0.04 -0.03,-0.07 -0.04,-0.11 -0.03,-0.09 -0.04,-0.19 -0.07,-0.28 0.04,0.01 0.07,0.02 0.1,0.02 z m 61.31,-4.26 c -0.06,0.02 -0.12,0.04 -0.18,0.06 -0.15,-0.15 -0.31,-0.3 -0.46,-0.43 -0.13,-0.11 -0.27,-0.21 -0.41,-0.31 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.03,0.02 0.06,0.04 0.09,0.05 0.37,0.22 0.78,0.39 1.19,0.56 -0.1,0.03 -0.19,0.07 -0.27,0.09 z m -2.11,-1.38 c -0.23,-0.13 -0.47,-0.24 -0.7,-0.35 0.03,-0.03 0.06,-0.05 0.09,-0.08 0.01,0 0.01,-0.01 0.02,-0.01 0.04,0.04 0.07,0.09 0.12,0.12 0.11,0.08 0.22,0.12 0.34,0.15 0.19,0.17 0.4,0.32 0.61,0.46 -0.16,-0.1 -0.31,-0.2 -0.48,-0.29 z m -0.1,-7.74 c -0.31,0.37 -0.48,0.81 -0.5,1.26 -0.2,0.39 -0.23,0.9 -0.28,1.3 -0.04,0.3 -0.04,0.6 -0.06,0.89 -0.08,-0.01 -0.16,-0.02 -0.23,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.02,0 -0.03,0.01 -0.05,0.01 -0.24,-0.03 -0.47,-0.06 -0.71,-0.08 -0.37,-0.04 -0.74,-0.09 -1.12,-0.11 -0.23,-0.69 -0.56,-1.34 -1.08,-1.86 -0.25,-0.25 -0.54,-0.46 -0.84,-0.64 1.7,-0.27 3.4,-0.57 5.09,-0.93 -0.07,0.07 -0.14,0.13 -0.2,0.2 z m 11.38,-3.34 c 0.02,0.01 0.03,0.03 0.05,0.03 0.3,0.03 0.61,0.06 0.91,0.09 0.09,0.01 0.18,0.02 0.27,0.03 v 0.41 c 0,0.04 0,0.08 0,0.13 -0.06,0.01 -0.13,0.02 -0.19,0.03 -0.17,0.01 -0.35,-0.01 -0.52,-0.03 -0.03,-0.12 -0.18,-0.13 -0.23,-0.03 -0.26,-0.06 -0.49,-0.16 -0.72,-0.29 0,-0.07 -0.01,-0.13 -0.01,-0.2 0.15,-0.06 0.29,-0.11 0.44,-0.17 z m 0.35,2.2 c 0.01,0.15 0.02,0.3 0.02,0.46 -0.1,-0.01 -0.19,-0.01 -0.29,-0.03 -0.15,-0.02 -0.29,-0.07 -0.43,-0.11 -0.01,-0.25 -0.02,-0.5 -0.03,-0.75 0,-0.02 0,-0.03 0,-0.05 0.22,0.09 0.44,0.18 0.67,0.24 0.01,0 0.03,0.01 0.04,0.01 0.01,0.08 0.01,0.15 0.02,0.23 z m -0.94,0.73 c 0.01,0.29 0.01,0.58 0.04,0.87 -0.06,-0.03 -0.11,-0.05 -0.17,-0.08 -0.09,-0.06 -0.16,0.02 -0.16,0.1 -0.06,-0.03 -0.12,-0.05 -0.17,-0.08 -0.03,-0.02 -0.06,0 -0.08,0.02 0.02,-0.43 0.01,-0.86 -0.02,-1.28 0.16,0.09 0.32,0.19 0.49,0.25 0.02,0.01 0.04,0.01 0.06,0.02 0,0.05 0.01,0.12 0.01,0.18 z m 0.87,-1.97 c 0.01,0.25 0.03,0.51 0.04,0.76 -0.24,-0.07 -0.48,-0.15 -0.71,-0.25 -0.01,-0.25 -0.02,-0.5 -0.03,-0.75 0.23,0.11 0.46,0.19 0.7,0.24 z m -1.23,-0.61 c 0.09,0.07 0.19,0.13 0.28,0.19 0.01,0.26 0.02,0.53 0.03,0.79 -0.13,-0.07 -0.27,-0.13 -0.4,-0.21 -0.12,-0.08 -0.23,0.11 -0.11,0.19 0.17,0.11 0.34,0.2 0.52,0.28 0,0.07 0,0.15 0.01,0.22 0.01,0.21 0.01,0.42 0.02,0.63 -0.2,-0.08 -0.39,-0.17 -0.56,-0.29 -0.02,-0.21 -0.03,-0.42 -0.05,-0.63 -0.03,-0.35 -0.06,-0.7 -0.08,-1.05 0.11,-0.04 0.22,-0.08 0.34,-0.12 z m -0.64,0.22 c 0.01,0 0.01,-0.01 0.02,-0.01 0.02,0.33 0.04,0.67 0.06,1 0.01,0.12 0.02,0.23 0.02,0.35 -0.06,-0.05 -0.12,-0.09 -0.18,-0.14 -0.01,-0.38 -0.02,-0.75 -0.05,-1.13 0,-0.01 0,-0.02 0,-0.02 0.01,0 0.01,-0.01 0.01,-0.02 0.05,-0.01 0.09,-0.02 0.12,-0.03 z m 4.66,-1.89 c 0.01,0.64 0.03,1.29 0.05,1.93 0.02,0.64 0.04,1.29 0.07,1.93 0.02,0.62 -0.01,1.29 0.1,1.91 -0.18,0.1 -0.36,0.19 -0.54,0.27 -0.59,0.25 -1.25,0.36 -1.9,0.37 -0.69,0 -1.38,-0.12 -2.03,-0.36 -0.16,-0.06 -0.3,-0.13 -0.45,-0.21 -0.01,-0.8 -0.01,-1.6 -0.02,-2.4 0.06,0.05 0.13,0.11 0.19,0.16 0.04,0.52 0.08,1.04 0.19,1.55 0.01,0.07 0.09,0.05 0.12,0 0,0.02 -0.01,0.04 0.01,0.06 0.35,0.21 0.74,0.37 1.13,0.46 0.2,0.04 0.39,0.07 0.59,0.08 0.2,0.01 0.42,0.03 0.62,-0.03 0.11,-0.04 0.08,-0.19 -0.03,-0.2 -0.08,-0.01 -0.16,0 -0.25,0 0.06,-0.05 0.02,-0.17 -0.05,-0.18 -0.14,-0.03 -0.29,0.01 -0.43,0.01 -0.13,0.01 -0.27,0 -0.4,-0.02 -0.13,-0.02 -0.25,-0.05 -0.37,-0.1 0.03,-0.35 -0.01,-0.71 -0.02,-1.06 0,-0.01 0,-0.02 0,-0.02 0.11,0.03 0.22,0.08 0.34,0.1 0.12,0.02 0.25,0.04 0.38,0.05 0.01,0.1 0.01,0.2 0.02,0.3 0.02,0.13 0.01,0.27 0.06,0.39 0.03,0.08 0.15,0.09 0.17,0 0.05,-0.22 0.02,-0.49 0.01,-0.71 0,0 0,0 0,0 0.03,0 0.05,0 0.08,-0.01 0.12,-0.03 0.12,-0.22 0,-0.24 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.01,-0.16 -0.02,-0.32 -0.03,-0.48 0,-0.06 -0.01,-0.11 -0.01,-0.17 0.41,0.09 0.86,0.15 1.26,0.08 0.12,-0.02 0.08,-0.19 -0.03,-0.2 -0.25,-0.03 -0.51,-0.02 -0.76,-0.05 -0.17,-0.02 -0.33,-0.06 -0.49,-0.09 -0.01,-0.26 -0.03,-0.53 -0.04,-0.79 0.16,0.02 0.32,0.05 0.48,0.04 0.07,0 0.14,-0.02 0.21,-0.03 0,0.13 0.01,0.27 0.02,0.4 0.01,0.09 0.17,0.09 0.19,0 0.02,-0.15 0.03,-0.3 0.02,-0.45 0.1,-0.03 0.19,-0.06 0.27,-0.11 0.08,-0.06 0.06,-0.21 -0.06,-0.2 -0.07,0 -0.15,0.02 -0.22,0.03 0,-0.03 0,-0.06 0,-0.09 0,-0.13 0,-0.26 0,-0.39 0.13,0.01 0.29,0.04 0.41,0 0.09,-0.03 0.12,-0.16 0.03,-0.22 -0.12,-0.07 -0.29,-0.06 -0.43,-0.08 0,-0.05 0,-0.1 0,-0.14 0,-0.15 -0.23,-0.15 -0.23,0 v 0.13 c -0.09,-0.01 -0.17,-0.02 -0.26,-0.02 -0.15,-0.01 -0.31,-0.02 -0.46,-0.04 0.88,-0.36 1.74,-0.77 2.55,-1.25 0.03,0.01 0.03,0.06 0.03,0.1 z m 0.53,-2.33 c 0,-0.13 -0.02,-0.26 -0.03,-0.38 -0.01,-0.18 0,-0.36 0.02,-0.53 0.05,-0.35 0.15,-0.69 0.31,-1 0.08,-0.16 -0.16,-0.3 -0.24,-0.14 -0.18,0.34 -0.31,0.72 -0.37,1.1 -0.03,0.19 -0.05,0.38 -0.05,0.57 0,0.19 0,0.4 0.09,0.57 -0.23,0.17 -0.46,0.33 -0.7,0.48 0.02,-0.14 0.02,-0.28 0.01,-0.42 0,-0.19 0,-0.39 -0.01,-0.58 0,-0.39 -0.01,-0.77 -0.01,-1.16 0,-0.03 -0.02,-0.04 -0.03,-0.06 0.59,-0.3 1.16,-0.64 1.68,-1.01 0.02,0.3 0.05,0.6 0.07,0.9 0.01,0.16 0.02,0.32 0.04,0.47 0.01,0.08 0.02,0.16 0.03,0.25 0.01,0.07 0.03,0.12 0.06,0.16 -0.27,0.27 -0.56,0.54 -0.87,0.78 z m 1.15,-1.07 c 0,-0.06 -0.01,-0.11 -0.01,-0.16 -0.02,-0.15 -0.03,-0.3 -0.05,-0.46 -0.03,-0.32 -0.07,-0.63 -0.1,-0.95 0,-0.04 -0.02,-0.08 -0.05,-0.11 0.38,-0.3 0.73,-0.62 1.05,-0.98 -0.01,0.27 -0.02,0.53 -0.02,0.8 -0.01,0.28 -0.01,0.57 -0.01,0.85 -0.14,0.22 -0.29,0.43 -0.46,0.63 -0.12,0.14 -0.24,0.26 -0.35,0.38 z m 0.65,-7.27 c -0.01,0.02 -0.02,0.04 -0.02,0.07 -0.01,-0.07 -0.01,-0.14 -0.02,-0.2 0.01,-0.15 0.02,-0.3 0.02,-0.46 0.01,0.2 0.02,0.39 0.02,0.59 z m -4.3,1.83 c -0.9,0.1 -1.87,0.17 -2.75,-0.05 -0.34,-0.08 -0.68,-0.17 -1,-0.31 -0.01,-0.29 -0.09,-0.59 -0.13,-0.88 -0.03,-0.19 -0.03,-0.38 -0.05,-0.57 0.24,0.05 0.46,0.08 0.65,0.11 0.99,0.14 2.01,0.19 3.01,0.15 1.18,-0.04 2.44,-0.37 3.31,-1.12 0,0.12 0,0.24 0,0.36 -0.01,0.37 -0.03,0.74 -0.06,1.11 -0.18,0.27 -0.41,0.49 -0.7,0.65 -0.68,0.38 -1.53,0.47 -2.28,0.55 z m -1.61,-8.69 c -0.14,-0.03 -0.27,-0.08 -0.4,-0.13 -0.01,-0.12 -0.08,-0.21 -0.19,-0.27 0,-0.01 0,-0.02 0,-0.03 0.25,0.03 0.49,0.05 0.74,0.08 0.3,0.03 0.6,0.08 0.89,0.06 0.16,-0.01 0.21,-0.25 0.04,-0.29 -0.3,-0.07 -0.61,-0.08 -0.92,-0.11 -0.25,-0.02 -0.51,-0.04 -0.76,-0.06 -0.02,-0.47 -0.06,-0.94 -0.09,-1.4 -0.01,-0.17 -0.03,-0.34 -0.05,-0.51 0.08,0.04 0.16,0.07 0.24,0.1 0.5,0.2 1.06,0.29 1.6,0.29 0.54,0 1.09,-0.09 1.6,-0.28 0.27,-0.1 0.55,-0.23 0.8,-0.4 -0.01,0.31 -0.01,0.62 -0.01,0.93 0,0.01 0,0.01 0,0.02 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.08,-0.04 -0.19,-0.04 -0.26,0.03 -0.02,0.02 -0.03,0.03 -0.05,0.05 0.01,-0.01 -0.04,0.06 -0.06,0.08 0.01,-0.01 0.02,-0.02 0,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.02,0.02 -0.03,0.04 -0.05,0.06 -0.03,0.04 -0.07,0.07 -0.11,0.1 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.02,0.01 -0.04,0.03 -0.06,0.04 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.01,0 -0.02,0.01 -0.03,0.01 0,0 0,0 -0.01,0 0,0 0,0 0.01,0 -0.04,0.01 -0.09,0.03 -0.13,0.04 -0.02,0.01 -0.05,0.01 -0.07,0.02 -0.01,0 -0.02,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.05,0 -0.1,0 -0.15,0 -0.12,-0.01 -0.23,0.11 -0.22,0.22 0.01,0.13 0.1,0.21 0.22,0.22 0.24,0.02 0.5,-0.04 0.71,-0.16 0.18,-0.1 0.35,-0.27 0.44,-0.46 0,0.26 0.01,0.52 0.01,0.78 0,0.08 0,0.17 0,0.26 -0.12,0.06 -0.19,0.17 -0.22,0.29 -0.23,0.1 -0.46,0.22 -0.69,0.29 -0.42,0.13 -0.84,0.19 -1.27,0.2 -0.48,0.02 -0.91,-0.01 -1.35,-0.12 z m -0.14,-4.14 c 0.46,-0.17 0.87,-0.23 1.35,-0.23 0.45,0.01 0.9,0.09 1.35,0.24 0.16,0.05 0.3,0.14 0.44,0.21 -0.21,0.11 -0.41,0.23 -0.63,0.3 -0.42,0.14 -0.8,0.2 -1.24,0.19 -0.43,-0.01 -0.83,-0.09 -1.26,-0.26 -0.15,-0.06 -0.29,-0.15 -0.44,-0.25 0.15,-0.06 0.3,-0.15 0.43,-0.2 z m -1.24,4.94 c 0.13,0.09 0.28,0.17 0.44,0.23 -0.09,0.06 -0.18,0.11 -0.26,0.19 -0.06,0.06 -0.06,0.16 0,0.22 0.06,0.06 0.16,0.06 0.22,0 0.15,-0.14 0.34,-0.22 0.54,-0.26 0.06,0.01 0.13,0.03 0.18,0.04 0.52,0.12 1.08,0.17 1.61,0.13 0.53,-0.04 1.05,-0.14 1.55,-0.32 l -0.03,0.03 c -0.08,0.06 -0.07,0.21 0,0.27 0.08,0.08 0.19,0.07 0.27,0 0.17,-0.14 0.33,-0.27 0.5,-0.41 0.04,-0.03 0.08,-0.07 0.12,-0.1 0.04,-0.03 0.07,-0.07 0.11,-0.11 0.01,-0.01 0.02,-0.03 0.03,-0.04 0.01,0.01 0.02,0.02 0.03,0.04 0.15,0.25 0.23,0.54 0.3,0.82 0.18,0.75 0.26,1.53 0.32,2.29 0.02,0.29 0.04,0.58 0.05,0.87 -0.08,0.11 -0.17,0.2 -0.27,0.3 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.06,0 -0.12,0.04 -0.17,0.07 l -0.25,0.13 c -0.11,0.06 -0.22,0.11 -0.34,0.17 -0.08,-0.18 -0.17,-0.35 -0.25,-0.53 -0.04,-0.09 -0.17,-0.11 -0.25,-0.07 -0.09,0.06 -0.11,0.16 -0.07,0.25 0.1,0.21 0.2,0.42 0.31,0.64 -0.76,0.29 -1.65,0.36 -2.4,0.33 -0.82,-0.03 -1.66,-0.07 -2.47,-0.22 -0.28,-0.05 -0.56,-0.12 -0.83,-0.21 0,-0.31 0.01,-0.61 0.03,-0.92 0.34,0.29 0.72,0.53 1.15,0.65 0.27,0.08 0.55,0.12 0.83,0.12 0.27,0 0.62,-0.02 0.85,-0.17 0.12,-0.07 0.07,-0.26 -0.07,-0.27 -0.12,0 -0.24,0.02 -0.37,0.04 -0.13,0.01 -0.26,0.01 -0.39,0.01 -0.26,-0.01 -0.5,-0.04 -0.75,-0.11 -0.47,-0.13 -0.88,-0.38 -1.23,-0.72 0.01,-0.06 0.01,-0.13 0.01,-0.19 0,-0.02 0.01,-0.05 0.01,-0.07 h 0.91 c 0.38,0 0.76,0.01 1.14,-0.02 0.16,-0.02 0.16,-0.23 0,-0.25 -0.38,-0.04 -0.76,-0.02 -1.14,-0.02 h -0.87 c 0.08,-0.64 0.18,-1.27 0.37,-1.89 0.13,-0.35 0.31,-0.68 0.55,-0.94 z m -11.58,9.52 c 0,-0.03 0,-0.05 0,-0.08 0,-0.25 0,-0.51 -0.01,-0.76 0,-0.18 -0.27,-0.18 -0.27,0 0,0.25 0,0.51 -0.01,0.76 0,0.06 0,0.12 0,0.19 -0.41,0.16 -0.83,0.31 -1.25,0.45 -0.02,-0.08 -0.04,-0.16 -0.07,-0.24 -0.05,-0.19 -0.11,-0.37 -0.16,-0.56 -0.03,-0.09 -0.12,-0.14 -0.21,-0.12 -0.09,0.02 -0.14,0.12 -0.12,0.21 0.05,0.19 0.1,0.37 0.16,0.56 0.02,0.09 0.05,0.17 0.08,0.26 -0.08,0.03 -0.15,0.06 -0.23,0.08 -0.51,0.16 -1.03,0.3 -1.55,0.43 0,-0.02 0,-0.04 -0.01,-0.06 -0.03,-0.23 -0.06,-0.45 -0.09,-0.68 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.07,0 -0.16,0.07 -0.15,0.15 l 0.08,0.69 c 0.01,0.04 0.01,0.08 0.02,0.13 -0.49,0.12 -0.98,0.23 -1.47,0.33 0.01,-0.11 -0.04,-0.22 -0.08,-0.32 -0.04,-0.1 -0.09,-0.2 -0.13,-0.31 -0.09,-0.2 -0.17,-0.4 -0.26,-0.6 -0.01,-0.03 -0.05,-0.05 -0.08,-0.06 1.01,-0.18 2.02,-0.37 3.02,-0.59 1.3,-0.28 2.61,-0.62 3.85,-1.12 0,0.13 0,0.25 0.02,0.38 0.02,0.16 0.06,0.32 0.12,0.47 0,0.01 0.01,0.02 0.02,0.03 -0.36,0.19 -0.7,0.38 -1.07,0.53 z m -32.25,2.18 c -0.03,-0.1 -0.06,-0.21 -0.09,-0.31 -0.03,-0.09 -0.12,-0.14 -0.21,-0.12 -0.09,0.02 -0.14,0.12 -0.12,0.21 0.02,0.06 0.03,0.12 0.05,0.18 -0.02,0 -0.04,0 -0.06,-0.01 -0.76,-0.09 -1.51,-0.2 -2.26,-0.34 -0.07,-0.09 -0.14,-0.19 -0.2,-0.28 -0.05,-0.07 -0.13,-0.1 -0.21,-0.05 -0.07,0.04 -0.1,0.14 -0.05,0.21 0.01,0.02 0.02,0.03 0.03,0.05 -0.04,-0.01 -0.08,-0.02 -0.12,-0.03 -0.01,-0.07 -0.02,-0.14 -0.04,-0.21 -0.03,-0.14 -0.05,-0.28 -0.08,-0.42 -0.02,-0.08 -0.12,-0.13 -0.19,-0.11 -0.08,0.03 -0.13,0.11 -0.11,0.19 0.03,0.14 0.06,0.27 0.09,0.41 0,0.02 0.01,0.04 0.01,0.06 -0.29,-0.06 -0.58,-0.14 -0.87,-0.21 0,-0.03 -0.01,-0.06 -0.01,-0.09 -0.03,-0.23 -0.05,-0.46 -0.08,-0.69 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.08,0 -0.16,0.07 -0.15,0.15 0.02,0.23 0.05,0.47 0.07,0.7 0,0 0,0 0,0 -0.19,-0.05 -0.39,-0.08 -0.58,-0.14 -0.18,-0.05 -0.34,-0.12 -0.52,-0.18 0.01,-0.02 0.03,-0.04 0.03,-0.07 0.01,-0.27 0.02,-0.54 0.02,-0.81 0,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.16,0.07 -0.16,0.16 0.01,0.27 0.02,0.53 0.02,0.8 -0.39,-0.14 -0.78,-0.3 -1.16,-0.48 -0.02,-0.07 -0.05,-0.13 -0.07,-0.19 -0.06,-0.19 -0.1,-0.38 -0.13,-0.57 -0.03,-0.21 -0.04,-0.43 -0.04,-0.65 1.42,0.75 3.03,1.2 4.57,1.47 3.53,0.61 7.11,0.89 10.69,1.03 6.14,0.23 12.32,-0.14 18.39,-1.2 -0.06,0.05 -0.07,0.12 -0.04,0.19 0.08,0.2 0.17,0.39 0.25,0.59 0.04,0.1 0.08,0.2 0.12,0.29 0.04,0.08 0.08,0.17 0.15,0.24 -1.77,0.36 -3.56,0.62 -5.36,0.78 -7.05,0.66 -14.22,0.55 -21.27,-0.24 z m -12.48,-0.9 c -0.36,0.15 -0.9,0.23 -1.28,0.17 -0.93,-0.14 -1.66,-0.96 -1.77,-1.92 -0.04,-0.34 0.05,-0.68 0.22,-0.98 0.03,0.07 0.1,0.11 0.17,0.06 0.12,-0.09 0.24,-0.17 0.35,-0.27 0.1,-0.09 0.19,-0.17 0.29,-0.26 0.48,-0.04 0.94,-0.34 1.42,-0.46 0.51,-0.13 0.99,-0.07 1.39,0.22 0.8,0.57 0.84,1.71 0.3,2.54 -0.28,0.42 -0.63,0.7 -1.09,0.9 z m -6.62,-15.76 c -0.21,-0.21 -0.4,-0.43 -0.58,-0.67 0.17,-0.19 0.33,-0.38 0.5,-0.56 0.2,-0.21 0.41,-0.41 0.61,-0.62 0.16,0.34 0.38,0.68 0.64,0.95 -0.11,0.11 -0.25,0.21 -0.35,0.33 -0.21,0.24 -0.4,0.5 -0.58,0.77 -0.08,-0.07 -0.17,-0.13 -0.24,-0.2 z m -0.14,-7.48 c 0.18,0.15 0.37,0.29 0.55,0.44 -0.16,0.11 -0.31,0.22 -0.47,0.32 -0.08,0.06 -0.17,0.12 -0.25,0.18 -0.2,-0.13 -0.39,-0.27 -0.6,-0.39 0.02,-0.02 0.05,-0.03 0.08,-0.05 0.18,-0.13 0.37,-0.26 0.56,-0.4 0.04,-0.03 0.09,-0.07 0.13,-0.1 z m 0.26,0.97 c 0.17,-0.12 0.34,-0.24 0.51,-0.36 0.13,0.1 0.25,0.2 0.38,0.3 -0.2,0.16 -0.41,0.32 -0.61,0.49 -0.15,-0.1 -0.3,-0.2 -0.46,-0.3 0.06,-0.04 0.12,-0.08 0.18,-0.13 z m 4.06,-1.15 c 0.07,0.06 0.14,0.12 0.21,0.18 -0.31,0.24 -0.62,0.48 -0.93,0.72 -0.14,-0.11 -0.29,-0.2 -0.44,-0.31 0.36,-0.24 0.75,-0.44 1.16,-0.59 z m 5.11,0.29 c 0.01,0.01 0.03,0.03 0.04,0.04 -0.2,0.16 -0.41,0.33 -0.61,0.49 -0.15,0.12 -0.29,0.24 -0.44,0.36 -0.26,-0.28 -0.52,-0.57 -0.76,-0.86 0.02,0.05 0.09,0.07 0.12,0.01 0.07,-0.14 0.13,-0.27 0.22,-0.39 0.06,-0.09 -0.06,-0.19 -0.14,-0.14 -0.13,0.08 -0.26,0.18 -0.38,0.29 -0.11,-0.14 -0.23,-0.28 -0.33,-0.42 0.78,0.08 1.57,0.29 2.28,0.62 z m 3.69,1.18 c 0.19,0.22 0.38,0.45 0.57,0.67 -0.16,0.13 -0.32,0.25 -0.48,0.38 -0.13,-0.35 -0.29,-0.7 -0.49,-1.02 0.08,-0.07 0.17,-0.14 0.25,-0.21 0.04,0.07 0.1,0.12 0.15,0.18 z m 1.72,0.66 c -0.06,-0.09 -0.13,-0.17 -0.19,-0.26 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 0.03,-0.02 0.06,-0.05 0.08,-0.07 0.06,0.12 0.11,0.25 0.15,0.39 z m 0.93,5.05 c -0.13,0.04 -0.27,0.07 -0.4,0.12 0.12,-0.13 0.22,-0.28 0.3,-0.41 0.04,0.1 0.07,0.2 0.1,0.29 z m -14.96,4.75 c 0.27,-0.05 0.54,-0.1 0.81,-0.16 0,0 0,0 0,0 0.04,0.35 0.12,0.69 0.35,0.97 0.17,0.2 0.38,0.38 0.59,0.55 -0.02,0 -0.03,0 -0.05,0.01 -0.16,0.03 -0.32,0.07 -0.48,0.12 -0.12,0.04 -0.24,0.09 -0.36,0.15 -0.15,0.04 -0.31,0.07 -0.46,0.12 0.01,0.01 0.02,0.02 0.04,0.03 0.02,0.02 0.03,0.04 0.05,0.05 -0.11,0.07 -0.22,0.13 -0.32,0.21 -0.01,0.01 -0.01,0.04 -0.02,0.05 -0.07,-0.04 -0.15,-0.06 -0.23,-0.1 0.05,-0.59 0.06,-1.2 0.08,-1.79 0,-0.07 0,-0.14 0,-0.21 z m 0.59,-6.8 c 0,-0.01 0,-0.01 -0.01,-0.02 0.04,-0.03 0.07,-0.06 0.11,-0.1 0.13,0.12 0.27,0.23 0.39,0.35 0.17,0.16 0.33,0.34 0.49,0.52 -0.12,0.08 -0.24,0.13 -0.35,0.21 -0.26,-0.26 -0.49,-0.55 -0.63,-0.96 z m -0.87,-3.15 c 0.06,0.04 0.12,0.08 0.17,0.12 -0.02,0.04 -0.04,0.07 -0.05,0.1 -0.16,0.4 -0.26,0.82 -0.32,1.26 -0.04,0.03 -0.09,0.07 -0.13,0.1 -0.29,-0.2 -0.58,-0.41 -0.88,-0.59 0.38,-0.31 0.76,-0.62 1.14,-0.93 0.02,-0.03 0.05,-0.05 0.07,-0.06 z m 6.91,-1.45 c 0.23,0.29 0.48,0.58 0.73,0.86 -0.04,0.03 -0.07,0.06 -0.11,0.09 -0.37,-0.15 -0.75,-0.25 -1.16,-0.28 -0.06,0 -0.12,0.01 -0.18,0.01 0.2,-0.19 0.4,-0.37 0.59,-0.56 0.05,-0.04 0.09,-0.08 0.13,-0.12 z m 1.64,0.57 c 0.21,-0.18 0.42,-0.36 0.63,-0.53 0.23,0.22 0.46,0.44 0.68,0.66 -0.03,0.02 -0.05,0.05 -0.08,0.07 -0.31,0.28 -0.63,0.57 -0.94,0.85 0,0 0,0 0,0 -0.11,-0.1 -0.22,-0.2 -0.33,-0.3 -0.13,-0.13 -0.25,-0.27 -0.38,-0.4 0.15,-0.12 0.28,-0.24 0.42,-0.35 z m 5.24,5.59 c -0.25,0.55 -0.56,1.01 -0.99,1.43 -0.39,0.38 -0.88,0.71 -1.38,0.91 -0.04,0.01 -0.08,0.02 -0.12,0.03 0.25,-0.29 0.5,-0.58 0.77,-0.85 0.53,-0.55 1.11,-1.06 1.72,-1.53 0,0 0,0.01 0,0.01 z m -2.59,3.75 c -0.08,0.11 -0.15,0.22 -0.22,0.33 -0.15,0 -0.3,0.03 -0.44,0.05 -0.01,0 -0.01,0 -0.02,0 -0.01,-0.01 -0.01,-0.03 -0.03,-0.03 -0.03,0 -0.03,0.03 -0.04,0.04 -0.06,0.01 -0.11,0.03 -0.17,0.04 -0.02,-0.12 -0.04,-0.23 -0.07,-0.35 0.32,0.05 0.66,0 0.99,-0.08 z m -4.78,-3.59 c -0.17,0.01 -0.17,0.27 0,0.26 0.73,-0.04 1.4,0.34 1.8,0.93 -1.15,-0.56 -2.39,-0.72 -3.65,-0.38 -0.42,0.11 -0.83,0.29 -1.22,0.49 0.02,-0.08 0.06,-0.16 0.11,-0.23 0.2,-0.26 0.56,-0.34 0.86,-0.22 0.08,0.03 0.17,-0.03 0.19,-0.11 0.02,-0.09 -0.03,-0.16 -0.11,-0.19 -0.31,-0.13 -0.69,-0.08 -0.97,0.11 -0.27,0.18 -0.44,0.51 -0.44,0.84 -0.03,0.02 -0.06,0.03 -0.09,0.05 0.02,-0.17 0.05,-0.34 0.07,-0.51 0.01,-0.09 0.01,-0.18 0.01,-0.28 0.15,-0.18 0.32,-0.35 0.51,-0.48 0.43,-0.32 0.94,-0.54 1.47,-0.61 0.18,-0.02 0.18,-0.3 0,-0.28 -0.59,0.07 -1.16,0.28 -1.65,0.63 -0.12,0.08 -0.21,0.19 -0.31,0.29 0.01,-0.19 0.03,-0.39 0.03,-0.58 0.19,-0.25 0.39,-0.48 0.62,-0.69 0.48,-0.45 1.05,-0.82 1.66,-1.06 0.18,-0.07 0.11,-0.37 -0.08,-0.3 -0.67,0.24 -1.3,0.61 -1.82,1.09 -0.14,0.12 -0.25,0.27 -0.37,0.41 -0.01,-0.23 -0.02,-0.46 -0.06,-0.69 0,0 0,-0.01 0,-0.01 0.11,-0.15 0.22,-0.31 0.36,-0.43 0.45,-0.37 1.03,-0.58 1.61,-0.54 0.17,0.01 0.17,-0.25 0,-0.26 -0.66,-0.06 -1.3,0.17 -1.81,0.58 -0.03,0.03 -0.06,0.06 -0.09,0.09 0.12,-0.32 0.22,-0.65 0.4,-0.95 0.08,-0.12 0.17,-0.22 0.26,-0.32 0.17,0.12 0.34,0.24 0.52,0.33 0.1,0.05 0.18,-0.06 0.11,-0.15 -0.12,-0.14 -0.27,-0.26 -0.41,-0.39 0.1,-0.09 0.2,-0.17 0.32,-0.25 0.17,-0.11 0.35,-0.2 0.54,-0.29 0.06,0.06 0.13,0.11 0.19,0.17 0.22,0.2 0.44,0.46 0.7,0.59 0.11,0.06 0.24,-0.06 0.18,-0.18 -0.15,-0.26 -0.41,-0.47 -0.63,-0.67 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 0.36,-0.12 0.73,-0.18 1.12,-0.14 0.08,0.01 0.15,0.04 0.23,0.05 0.03,0.04 0.07,0.07 0.13,0.05 0.01,0 0.02,-0.01 0.03,-0.01 0.37,0.1 0.71,0.28 1.01,0.52 0.07,0.17 0.13,0.34 0.2,0.51 0.09,0.22 0.17,0.44 0.27,0.65 0.03,0.06 0.13,0.02 0.11,-0.05 -0.06,-0.22 -0.15,-0.44 -0.22,-0.66 -0.02,-0.06 -0.04,-0.12 -0.06,-0.18 0.04,0.04 0.09,0.08 0.13,0.12 0.22,0.24 0.39,0.53 0.51,0.83 0.07,0.17 0.12,0.36 0.15,0.55 0.02,0.09 0.04,0.17 0.07,0.25 -0.03,-0.02 -0.06,-0.04 -0.1,-0.06 -0.05,-0.02 -0.09,-0.04 -0.14,-0.06 -0.09,-0.04 -0.19,-0.08 -0.28,-0.12 -0.19,-0.08 -0.38,-0.16 -0.57,-0.25 -0.05,-0.02 -0.12,-0.02 -0.15,0.04 -0.03,0.05 -0.01,0.12 0.04,0.15 0.19,0.09 0.38,0.17 0.57,0.26 0.1,0.04 0.19,0.09 0.29,0.13 0.05,0.02 0.09,0.04 0.14,0.07 0.05,0.02 0.1,0.04 0.16,0.05 0.05,0.01 0.07,-0.02 0.09,-0.05 0.03,0.07 0.06,0.14 0.09,0.21 -0.02,0.54 -0.04,1.07 -0.03,1.61 -0.02,-0.01 -0.03,-0.04 -0.05,-0.05 -0.09,-0.04 -0.18,-0.08 -0.27,-0.12 -0.19,-0.08 -0.37,-0.17 -0.56,-0.25 -0.37,-0.16 -0.73,-0.33 -1.1,-0.49 -0.15,-0.07 -0.28,0.15 -0.13,0.22 0.37,0.17 0.74,0.34 1.11,0.52 0.18,0.08 0.36,0.17 0.54,0.25 0.09,0.04 0.18,0.08 0.27,0.12 0.05,0.02 0.1,0.05 0.15,0.06 0.01,0 0.03,0 0.04,0 0,0.04 0,0.08 0,0.12 0,0.19 0,0.39 0,0.58 -0.06,0.12 -0.06,0.26 0,0.38 0,0.03 0,0.06 0,0.09 -0.09,-0.08 -0.19,-0.15 -0.29,-0.21 0.01,-0.02 0.02,-0.05 0,-0.07 -0.34,-0.86 -1.28,-1.44 -2.24,-1.37 z m -5.7,-2.49 c 0,-0.01 0,-0.01 0,-0.02 0.39,-0.32 0.79,-0.64 1.19,-0.96 0.09,0.07 0.17,0.15 0.26,0.22 -0.41,0.31 -0.81,0.64 -1.2,0.97 -0.08,-0.06 -0.16,-0.14 -0.25,-0.21 z m 2.07,-1.55 c 0.06,0.05 0.12,0.1 0.18,0.14 -0.04,0.06 -0.08,0.11 -0.12,0.17 -0.02,0 -0.04,0 -0.07,0.01 -0.11,0.08 -0.21,0.16 -0.32,0.24 -0.09,-0.07 -0.18,-0.15 -0.27,-0.22 0.17,-0.14 0.35,-0.27 0.53,-0.4 0.03,0.02 0.05,0.04 0.07,0.06 z m -0.86,0.14 c -0.16,-0.13 -0.33,-0.25 -0.49,-0.38 0,0 0.01,0 0.01,-0.01 0.17,-0.14 0.34,-0.27 0.52,-0.41 0.17,0.13 0.33,0.26 0.5,0.39 -0.18,0.15 -0.37,0.27 -0.54,0.41 z m -0.67,-0.64 c -0.03,0.02 -0.05,0.04 -0.08,0.06 -0.02,-0.02 -0.04,-0.03 -0.07,-0.05 0.1,-0.2 0.21,-0.39 0.33,-0.57 0.09,0.07 0.18,0.14 0.27,0.21 -0.15,0.12 -0.3,0.23 -0.45,0.35 z m -0.11,0.48 c 0.16,0.13 0.33,0.25 0.49,0.38 -0.31,0.25 -0.63,0.5 -0.94,0.75 0.01,-0.3 0.07,-0.6 0.15,-0.9 0.1,-0.07 0.2,-0.15 0.3,-0.23 z m 1.26,1.01 c 0.02,0.02 0.05,0.03 0.07,0.05 -0.05,0.13 -0.09,0.25 -0.11,0.38 -0.18,0.02 -0.34,0.14 -0.36,0.37 -0.02,0.28 -0.08,0.54 -0.1,0.82 -0.1,-0.1 -0.21,-0.2 -0.3,-0.29 -0.12,-0.12 -0.26,-0.22 -0.38,-0.33 0.37,-0.35 0.77,-0.68 1.18,-1 z m 7.64,-0.11 c 0.2,0.16 0.41,0.37 0.66,0.44 0.12,0.03 0.24,-0.11 0.17,-0.22 -0.13,-0.21 -0.37,-0.34 -0.56,-0.49 -0.06,-0.05 -0.12,-0.1 -0.18,-0.15 0.05,-0.05 0.1,-0.09 0.15,-0.14 0.28,-0.24 0.55,-0.47 0.82,-0.71 0.08,0.07 0.15,0.15 0.23,0.22 0.12,0.26 0.21,0.54 0.27,0.83 -0.01,0 -0.01,0.01 -0.02,0.01 -0.22,0.21 -0.43,0.44 -0.65,0.66 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.1,-0.1 -0.25,0.05 -0.15,0.15 0.01,0.01 0.02,0.02 0.03,0.03 -0.1,0.1 -0.2,0.2 -0.3,0.31 -0.13,0.14 -0.26,0.29 -0.38,0.43 0.02,-0.14 0.03,-0.28 0,-0.45 -0.04,-0.25 -0.11,-0.49 -0.2,-0.73 -0.04,-0.09 -0.09,-0.18 -0.13,-0.27 0.03,-0.03 0.06,-0.05 0.09,-0.08 0.05,0.08 0.11,0.14 0.18,0.19 z m 1.64,0.57 c 0,0.17 -0.01,0.34 -0.03,0.51 -0.13,-0.14 -0.27,-0.27 -0.4,-0.41 0.14,-0.14 0.27,-0.29 0.41,-0.42 0,0.11 0.02,0.21 0.02,0.32 z m -0.1,0.85 c -0.02,0.11 -0.04,0.22 -0.08,0.32 -0.24,0.25 -0.49,0.5 -0.73,0.75 -0.2,0.21 -0.41,0.42 -0.61,0.63 -0.02,0.03 -0.05,0.05 -0.08,0.08 -0.01,-0.4 -0.02,-0.79 -0.05,-1.19 0.08,-0.09 0.15,-0.18 0.22,-0.26 0.17,-0.2 0.34,-0.39 0.52,-0.59 0.09,-0.1 0.18,-0.19 0.27,-0.28 0.18,0.18 0.36,0.36 0.54,0.54 z m -0.73,-2.92 -0.77,0.64 c -0.09,0.07 -0.17,0.14 -0.25,0.21 -0.04,-0.04 -0.09,-0.07 -0.13,-0.11 -0.22,-0.18 -0.42,-0.38 -0.63,-0.58 0.3,-0.27 0.6,-0.55 0.89,-0.82 0.04,-0.03 0.07,-0.07 0.11,-0.1 0.24,0.23 0.47,0.46 0.71,0.69 0.02,0.02 0.04,0.04 0.07,0.07 z m -7.26,0.01 c -0.14,0.14 -0.29,0.3 -0.43,0.48 -0.05,-0.04 -0.1,-0.07 -0.14,-0.11 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 0.27,-0.21 0.54,-0.41 0.81,-0.62 0.02,0.02 0.05,0.04 0.07,0.06 -0.09,0.08 -0.19,0.14 -0.28,0.22 z m -0.87,0.15 c -0.17,-0.13 -0.34,-0.26 -0.52,-0.39 0.28,-0.22 0.55,-0.44 0.83,-0.65 0.18,0.14 0.35,0.28 0.52,0.43 -0.27,0.2 -0.55,0.4 -0.83,0.61 z m -0.77,-0.58 c -0.11,-0.08 -0.22,-0.17 -0.33,-0.25 0.21,-0.27 0.45,-0.51 0.72,-0.72 0.15,0.11 0.3,0.21 0.45,0.32 -0.28,0.21 -0.56,0.43 -0.84,0.65 z m -1.64,0.02 c -0.02,-0.01 -0.04,-0.02 -0.05,-0.04 0.04,-0.03 0.08,-0.07 0.12,-0.1 -0.03,0.05 -0.05,0.09 -0.07,0.14 z m 1.56,4.37 c 0,0.04 0,0.08 0,0.12 0,0.05 -0.01,0.1 -0.01,0.15 -0.06,-0.05 -0.11,-0.1 -0.17,-0.16 0.05,-0.04 0.12,-0.07 0.18,-0.11 z m -0.08,1.16 c -0.02,0.17 -0.01,0.34 -0.04,0.51 -0.05,0.38 -0.13,0.75 -0.2,1.13 -0.24,-0.13 -0.5,-0.24 -0.73,-0.37 -0.26,-0.16 -0.51,-0.33 -0.75,-0.52 0.17,-0.29 0.36,-0.56 0.58,-0.82 0.09,-0.11 0.21,-0.19 0.31,-0.3 0.25,0.19 0.53,0.33 0.83,0.37 z m -1.52,3.55 c 0.03,-0.04 0.05,-0.08 0.07,-0.12 0.23,-0.1 0.4,-0.32 0.32,-0.62 -0.01,-0.05 -0.06,-0.09 -0.08,-0.14 0.24,0.11 0.47,0.18 0.71,0.22 -0.15,0.37 -0.23,0.76 -0.23,1.16 -0.27,0.05 -0.53,0.1 -0.79,0.15 0,-0.22 0,-0.43 0,-0.65 z m 1.78,7.39 c -0.03,-0.27 -0.05,-0.53 -0.09,-0.8 -0.13,-0.79 -0.35,-1.88 -0.83,-2.67 0.1,-0.04 0.19,-0.08 0.29,-0.12 0.25,-0.1 0.52,-0.17 0.79,-0.22 -0.03,0.82 -0.07,1.63 -0.1,2.45 -0.01,0.45 -0.04,0.9 -0.06,1.36 z m 1.15,-7.66 c -0.01,-0.04 -0.01,-0.08 -0.03,-0.12 -0.1,-0.31 -0.49,-0.28 -0.6,0 -0.19,0.47 -0.21,1.04 -0.24,1.54 -0.01,0.15 -0.02,0.29 -0.02,0.44 -0.04,-0.13 -0.06,-0.26 -0.1,-0.41 -0.06,-0.25 -0.1,-0.47 -0.09,-0.73 0.01,-0.19 0.06,-0.38 0.12,-0.56 0.07,-0.14 0.14,-0.28 0.2,-0.43 0.1,-0.17 0.21,-0.34 0.35,-0.48 0.87,-0.95 2.25,-1.44 3.53,-1.32 1.1,0.11 2.17,0.81 2.59,1.86 0.15,0.37 0.17,0.76 0.12,1.15 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.06,0.06 -0.1,0.1 -0.17,-0.72 -0.58,-1.42 -1.06,-1.85 -1.13,-1.01 -2.81,-1.04 -3.98,-0.07 -0.29,0.27 -0.5,0.55 -0.67,0.87 z m 7.04,1.49 c 0.01,-0.01 0.01,-0.01 0,0 0,0.01 -0.01,0.03 -0.01,0.05 0,-0.02 0.01,-0.04 0.01,-0.05 z m 4.39,-8.34 c 0.03,0.52 -0.02,1.03 -0.14,1.54 -0.01,0.02 -0.02,0.05 -0.03,0.06 0.01,-0.02 -0.1,0.06 -0.12,0.08 -0.11,0.11 -0.19,0.26 -0.25,0.4 -0.09,0.2 -0.16,0.41 -0.23,0.62 -0.03,-0.1 -0.13,-0.18 -0.24,-0.1 -0.64,0.48 -1.26,1 -1.83,1.57 -0.28,0.28 -0.56,0.57 -0.82,0.87 -0.13,0.15 -0.26,0.3 -0.38,0.46 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.03,0.01 -0.05,0.02 -0.08,0.02 -0.12,0.03 -0.24,0.05 -0.36,0.08 0,-0.08 -0.01,-0.15 -0.01,-0.23 0,-0.16 -0.01,-0.32 -0.01,-0.48 0.02,0 0.04,-0.01 0.06,-0.02 -0.01,0.01 -0.02,0.02 -0.02,0.04 -0.07,0.14 0.11,0.29 0.22,0.17 0.12,-0.13 0.24,-0.27 0.35,-0.41 0.78,-0.4 1.43,-1.19 1.82,-2.03 0.06,-0.06 0.12,-0.12 0.18,-0.17 0.04,0.04 0.08,0.08 0.12,0.12 0.09,0.09 0.18,0.19 0.29,0.25 0.09,0.05 0.19,-0.05 0.14,-0.14 -0.05,-0.11 -0.15,-0.2 -0.23,-0.28 -0.04,-0.05 -0.09,-0.09 -0.13,-0.14 0.39,-0.36 0.79,-0.72 1.22,-1.04 0.15,-0.12 0,-0.39 -0.15,-0.27 -0.4,0.3 -0.78,0.61 -1.15,0.94 0.06,-0.19 0.11,-0.39 0.13,-0.57 0.04,-0.27 0.05,-0.55 0.05,-0.82 0.15,-0.16 0.3,-0.32 0.45,-0.48 0.01,0.02 0.02,0.03 0.03,0.05 0.09,0.14 0.18,0.29 0.27,0.43 0.05,0.08 0.09,0.15 0.15,0.22 0.06,0.07 0.1,0.14 0.19,0.18 0.08,0.03 0.15,-0.05 0.15,-0.12 0,-0.09 -0.05,-0.17 -0.09,-0.24 -0.04,-0.08 -0.1,-0.15 -0.15,-0.22 -0.09,-0.14 -0.19,-0.27 -0.28,-0.41 -0.02,-0.03 -0.05,-0.07 -0.07,-0.1 0.25,-0.26 0.49,-0.53 0.74,-0.79 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.03 0.05,0.03 0.08,0.04 0.05,0.26 0.09,0.52 0.11,0.78 0.01,0.04 0.01,0.06 0.01,0.09 z M 269.33,488 c -0.06,0.06 -0.11,0.11 -0.16,0.17 0.05,-0.07 0.09,-0.15 0.12,-0.23 0.01,0.02 0.03,0.04 0.04,0.06 z m -0.41,-0.58 c 0.07,0.1 0.14,0.21 0.21,0.32 0,0 -0.01,0 -0.01,0 -0.06,0.03 -0.1,0.07 -0.15,0.13 -0.09,-0.11 -0.19,-0.2 -0.28,-0.31 0.07,-0.06 0.14,-0.11 0.21,-0.17 0.01,0.01 0.02,0.02 0.02,0.03 z m -0.05,0.83 c 0.07,0.07 0.16,0.05 0.22,-0.01 -0.17,0.17 -0.33,0.34 -0.5,0.52 -0.11,-0.17 -0.23,-0.34 -0.34,-0.51 -0.09,-0.14 -0.31,-0.01 -0.22,0.13 0.12,0.19 0.24,0.38 0.37,0.58 -0.1,0.1 -0.2,0.2 -0.3,0.31 0,-0.02 -0.01,-0.04 -0.02,-0.06 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.04,-0.32 -0.09,-0.63 -0.19,-0.94 0.19,-0.16 0.38,-0.32 0.57,-0.48 0.13,0.16 0.27,0.32 0.42,0.48 z m -3.19,-1.35 c -0.1,-0.1 -0.21,-0.2 -0.31,-0.3 0,0 0,0 0.01,-0.01 0.1,0.11 0.2,0.21 0.3,0.31 z m -4.21,-1.66 c 0.11,0.14 0.21,0.28 0.32,0.42 -0.04,0.04 -0.09,0.08 -0.13,0.12 -0.24,0.22 -0.48,0.44 -0.72,0.66 -0.04,0.03 -0.07,0.07 -0.11,0.1 -0.17,-0.11 -0.34,-0.23 -0.5,-0.35 0.37,-0.28 0.72,-0.56 1.09,-0.84 0.05,-0.02 0.06,-0.06 0.05,-0.11 z m -0.95,1.41 c -0.46,0.09 -0.9,0.25 -1.29,0.5 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 0.32,-0.24 0.64,-0.49 0.96,-0.73 0.13,0.09 0.27,0.19 0.4,0.29 z m -1.6,0.25 c -0.18,-0.14 -0.35,-0.29 -0.54,-0.43 0.3,-0.24 0.61,-0.48 0.91,-0.72 0.19,0.15 0.39,0.29 0.59,0.43 -0.32,0.24 -0.64,0.48 -0.96,0.72 z m -4.12,0.28 c -0.41,0.33 -0.82,0.66 -1.23,0.99 -0.2,-0.12 -0.39,-0.24 -0.6,-0.35 0,0 0,0 0,0 0.15,-0.11 0.31,-0.22 0.46,-0.33 0.3,-0.21 0.59,-0.42 0.89,-0.62 0.17,0.1 0.33,0.2 0.48,0.31 z m -1.46,1.19 c -0.15,0.12 -0.3,0.25 -0.45,0.37 0,-0.21 0.01,-0.41 0.03,-0.62 0.15,0.08 0.28,0.16 0.42,0.25 z m -0.44,0.74 c 0.02,-0.01 0.03,-0.03 0.05,-0.04 0.22,-0.18 0.45,-0.36 0.67,-0.54 0.3,0.19 0.58,0.39 0.87,0.59 -0.03,0.02 -0.05,0.04 -0.08,0.06 -0.33,0.26 -0.67,0.52 -1,0.78 -0.11,0.09 -0.22,0.17 -0.34,0.26 -0.09,-0.35 -0.15,-0.73 -0.17,-1.11 z m 0.26,1.47 c 0.14,-0.1 0.27,-0.21 0.4,-0.32 0.33,-0.26 0.67,-0.52 1,-0.78 0.07,-0.05 0.13,-0.1 0.2,-0.15 0.03,0.02 0.05,0.04 0.08,0.06 0,0.22 0,0.43 0.03,0.65 -0.02,0.01 -0.04,0.03 -0.05,0.04 -0.47,0.38 -0.94,0.77 -1.4,1.17 -0.11,-0.22 -0.19,-0.44 -0.26,-0.67 z m 0.41,0.96 c 0.46,-0.38 0.91,-0.76 1.37,-1.14 0.02,0.1 0.03,0.2 0.06,0.29 0.02,0.05 0.04,0.1 0.06,0.16 -0.24,0.23 -0.49,0.47 -0.72,0.71 -0.15,0.16 -0.31,0.33 -0.47,0.5 -0.1,-0.17 -0.2,-0.34 -0.3,-0.52 z m 0.79,5.42 c 0,0.04 -0.01,0.08 -0.01,0.12 -0.19,0.04 -0.38,0.07 -0.56,0.1 -0.26,0.05 -0.15,0.45 0.11,0.4 0.14,-0.03 0.28,-0.05 0.42,-0.08 -0.04,0.57 -0.09,1.15 -0.1,1.72 -0.11,0.06 -0.18,0.15 -0.19,0.27 -0.13,0.05 -0.26,0.1 -0.4,0.13 -0.43,0.11 -0.87,0.15 -1.32,0.14 -0.43,-0.01 -0.86,-0.08 -1.27,-0.2 -0.23,-0.07 -0.46,-0.19 -0.69,-0.29 -0.02,-0.13 -0.1,-0.23 -0.22,-0.29 0,-0.09 0,-0.18 0,-0.26 0,-0.37 0.01,-0.74 0.01,-1.11 0,-0.31 -0.01,-0.62 -0.01,-0.93 0.25,0.17 0.54,0.29 0.8,0.4 0.5,0.19 1.06,0.28 1.6,0.28 0.54,0 1.1,-0.09 1.6,-0.29 0.07,-0.04 0.15,-0.07 0.23,-0.11 z m -3.72,5.91 c -0.07,-0.04 -0.14,-0.08 -0.21,-0.12 -0.07,-0.04 -0.15,-0.07 -0.22,-0.11 -0.15,-0.08 -0.29,-0.16 -0.43,-0.25 -0.19,-0.13 -0.35,-0.31 -0.51,-0.48 0.04,-0.24 0.07,-0.48 0.13,-0.72 0.07,-0.28 0.15,-0.57 0.3,-0.82 0.02,-0.04 0.06,-0.07 0.08,-0.1 0.28,0.17 0.61,0.3 0.88,0.4 0.52,0.19 1.07,0.3 1.62,0.34 0.54,0.04 1.09,-0.02 1.61,-0.13 0.36,-0.08 0.8,-0.2 1.13,-0.42 0.06,0.07 0.12,0.14 0.17,0.21 -0.11,0.09 -0.22,0.17 -0.35,0.23 -0.3,0.15 -0.64,0.23 -0.98,0.22 -0.22,0 -0.22,0.34 0,0.35 0.4,0.01 0.8,-0.08 1.16,-0.25 0.13,-0.06 0.25,-0.15 0.37,-0.23 0.06,0.13 0.12,0.27 0.16,0.41 0.01,0.02 0.01,0.05 0.02,0.07 -0.03,0.02 -0.06,0.04 -0.09,0.05 -0.16,0.1 -0.33,0.18 -0.51,0.25 -0.35,0.14 -0.73,0.22 -1.1,0.24 -0.17,0.01 -0.17,0.27 0,0.26 0.41,-0.02 0.82,-0.1 1.21,-0.26 0.19,-0.07 0.37,-0.16 0.54,-0.27 0.01,0 0.01,-0.01 0.02,-0.01 0.1,0.37 0.17,0.75 0.23,1.13 -0.03,-0.01 -0.06,-0.02 -0.09,0 -0.42,0.21 -0.85,0.42 -1.31,0.53 -0.46,0.11 -0.94,0.13 -1.4,0.07 -0.15,-0.02 -0.19,0.24 -0.04,0.27 0.97,0.14 2.11,-0.03 2.86,-0.7 0.03,0.21 0.06,0.41 0.08,0.62 0.02,0.15 0.02,0.3 0.03,0.45 -0.06,0.03 -0.12,0.07 -0.19,0.1 -0.33,0.15 -0.69,0.25 -1.04,0.3 -0.72,0.11 -1.47,0.02 -2.14,-0.27 -0.13,-0.06 -0.24,0.18 -0.1,0.24 0.72,0.32 1.5,0.43 2.28,0.33 0.37,-0.05 0.74,-0.15 1.09,-0.29 0.04,-0.02 0.08,-0.04 0.12,-0.06 0.01,0.25 0.02,0.5 0.02,0.75 -0.27,0.09 -0.55,0.16 -0.83,0.21 -0.81,0.14 -1.65,0.19 -2.47,0.22 -1.26,0.05 -2.92,-0.17 -3.7,-1.28 0,-0.02 0,-0.05 0,-0.07 0.05,0.04 0.09,0.08 0.14,0.12 0.17,0.1 0.35,0.19 0.54,0.24 0.09,0.03 0.19,0.05 0.28,0.06 0.11,0.02 0.24,0.05 0.34,-0.02 0.09,-0.05 0.08,-0.17 0,-0.22 -0.08,-0.06 -0.18,-0.04 -0.28,-0.06 -0.09,-0.01 -0.17,-0.03 -0.26,-0.05 -0.17,-0.05 -0.33,-0.12 -0.48,-0.21 -0.1,-0.06 -0.19,-0.14 -0.27,-0.22 0.01,-0.14 0.01,-0.29 0.02,-0.43 0.04,-0.42 0.08,-0.84 0.14,-1.26 0.14,0.13 0.26,0.28 0.42,0.4 0.14,0.1 0.29,0.19 0.44,0.26 0.08,0.04 0.16,0.08 0.25,0.1 0.08,0.02 0.17,0.04 0.26,0.05 0.08,-0.02 0.14,-0.13 0.06,-0.17 z m -1.58,4.26 c -0.03,-0.37 -0.05,-0.74 -0.06,-1.11 0,-0.12 0,-0.24 0,-0.36 0.86,0.76 2.13,1.08 3.31,1.12 1,0.04 2.02,-0.01 3.01,-0.15 0.19,-0.03 0.41,-0.06 0.65,-0.11 -0.02,0.19 -0.03,0.38 -0.05,0.57 -0.04,0.29 -0.13,0.59 -0.13,0.88 -0.32,0.14 -0.65,0.23 -1,0.31 -0.89,0.22 -1.85,0.15 -2.75,0.05 -0.75,-0.08 -1.6,-0.16 -2.27,-0.54 -0.3,-0.17 -0.53,-0.39 -0.71,-0.66 z m 9.17,-4.62 c -0.01,0.06 0,0.12 0.04,0.17 0.03,0.03 0.07,0.04 0.11,0.03 0.11,-0.04 0.12,-0.15 0.17,-0.25 0.04,-0.08 0.08,-0.17 0.13,-0.25 0.09,-0.17 0.21,-0.31 0.35,-0.44 0.28,-0.25 0.63,-0.4 1,-0.42 0.2,-0.01 0.2,-0.33 0,-0.32 -0.45,0.02 -0.87,0.2 -1.21,0.5 -0.17,0.14 -0.31,0.32 -0.42,0.51 -0.05,0.09 -0.11,0.19 -0.13,0.3 -0.01,0.04 -0.03,0.11 -0.04,0.17 0,-0.08 0,-0.16 0.01,-0.24 0.01,-0.36 0.02,-0.71 0.04,-1.07 0.01,0 0.01,0 0.02,0 0.07,-0.07 0.14,-0.13 0.2,-0.21 0.05,-0.08 0.11,-0.15 0.17,-0.22 0.12,-0.15 0.26,-0.29 0.41,-0.41 0.29,-0.24 0.63,-0.43 0.99,-0.54 0.17,-0.05 0.1,-0.33 -0.08,-0.27 -0.4,0.13 -0.77,0.33 -1.1,0.6 -0.16,0.13 -0.3,0.27 -0.43,0.43 -0.06,0.08 -0.12,0.16 -0.18,0.24 0.02,-0.58 0.04,-1.17 0.06,-1.75 0,-0.06 0,-0.13 0,-0.19 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.04,-0.04 0.07,-0.09 0.1,-0.13 0.07,-0.09 0.14,-0.18 0.21,-0.27 0.15,-0.17 0.31,-0.32 0.49,-0.46 0.36,-0.27 0.76,-0.48 1.2,-0.6 0.17,-0.05 0.1,-0.3 -0.07,-0.26 -0.47,0.12 -0.92,0.34 -1.3,0.63 -0.19,0.15 -0.37,0.31 -0.54,0.49 -0.04,0.05 -0.08,0.1 -0.13,0.16 0,-0.2 0.01,-0.4 0.01,-0.6 0.04,0.02 0.08,0.03 0.12,0 0.07,-0.06 0.13,-0.14 0.19,-0.21 0.07,-0.08 0.12,-0.16 0.19,-0.24 0.13,-0.15 0.28,-0.28 0.43,-0.39 0.33,-0.23 0.69,-0.39 1.08,-0.45 0.07,-0.01 0.11,-0.1 0.1,-0.17 -0.02,-0.08 -0.1,-0.11 -0.17,-0.1 -0.43,0.06 -0.84,0.23 -1.19,0.48 -0.17,0.13 -0.34,0.27 -0.48,0.43 -0.11,0.13 -0.21,0.28 -0.26,0.44 0,-0.04 0,-0.07 0,-0.11 0,-0.08 0,-0.17 0,-0.25 0.02,-0.02 0.05,-0.04 0.06,-0.07 0.06,-0.19 0.13,-0.27 0.27,-0.41 0.11,-0.1 0.19,-0.23 0.31,-0.33 0.25,-0.21 0.51,-0.38 0.81,-0.53 0.13,-0.06 0.23,-0.11 0.4,-0.16 0.08,-0.02 0.17,-0.04 0.25,-0.06 0.02,0 0.04,-0.01 0.05,-0.01 0.04,0 0.07,-0.01 0.11,-0.01 0.16,-0.01 0.33,-0.02 0.49,0 0.02,0.01 0.16,0.04 0.18,0.04 0.07,0.02 0.15,0.04 0.22,0.07 0,0 0,0 0.01,0 0.03,0.02 0.07,0.03 0.1,0.05 0.07,0.04 0.15,0.08 0.22,0.13 0.03,0.02 0.07,0.05 0.1,0.07 -0.05,-0.03 -0.04,-0.03 0.02,0.02 0.06,0.06 0.12,0.11 0.18,0.17 0.01,0.01 0.1,0.12 0.12,0.13 0.05,0.06 0.09,0.13 0.13,0.19 0.04,0.07 0.09,0.15 0.12,0.22 0.02,0.03 0.03,0.07 0.05,0.1 0,0 0,0 0,0 0.06,0.15 0.1,0.3 0.14,0.46 0.01,0.04 0.01,0.07 0.02,0.11 0,0.01 0,0.02 0,0.03 0.01,0.08 0.01,0.17 0.01,0.25 0,0.08 -0.01,0.17 -0.01,0.25 0,0.02 -0.03,0.27 -0.01,0.14 -0.03,0.2 -0.05,0.39 -0.06,0.59 -0.01,0.12 0.04,0.23 0.11,0.32 -0.06,0.88 -0.1,1.76 -0.11,2.64 -0.01,0.81 0,1.62 0.02,2.43 -0.5,-0.3 -1.09,-0.46 -1.68,-0.42 -0.53,0.04 -1.02,0.19 -1.5,0.4 -0.06,0.03 -0.12,0.05 -0.17,0.08 -0.06,0.01 -0.11,0.02 -0.17,0.04 -0.1,0.03 -0.19,0.08 -0.28,0.12 0.02,-0.05 0.05,-0.1 0.08,-0.15 0.05,-0.09 0.09,-0.13 0.16,-0.21 0.25,-0.26 0.58,-0.43 0.93,-0.45 0.25,-0.01 0.25,-0.39 0,-0.38 -0.46,0.01 -0.89,0.22 -1.2,0.55 -0.07,0.08 -0.11,0.18 -0.17,0.26 0.02,-0.04 0.03,-0.08 0.05,-0.11 0.04,-0.08 0.08,-0.17 0.13,-0.25 0.09,-0.16 0.2,-0.3 0.33,-0.43 0.25,-0.25 0.57,-0.44 0.92,-0.53 0.21,-0.06 0.12,-0.39 -0.09,-0.33 -0.4,0.11 -0.78,0.32 -1.08,0.61 -0.15,0.14 -0.28,0.31 -0.38,0.49 -0.06,0.09 -0.11,0.19 -0.14,0.29 -0.04,0.09 -0.08,0.22 -0.08,0.32 0.01,0.14 0.16,0.18 0.26,0.09 -0.03,0.06 -0.08,0.1 -0.11,0.16 -0.04,0.1 -0.07,0.2 -0.09,0.3 0,0.02 0,0.03 0,0.05 -0.07,0.05 -0.14,0.09 -0.2,0.14 0,0 0,0 0,0 -0.01,-0.7 0.01,-1.45 0.04,-2.21 z m 0.5,3.17 c 0.04,-0.04 0.08,-0.07 0.12,-0.11 0,0 0,0 0.01,0 -0.02,0.02 -0.05,0.04 -0.07,0.06 -0.03,0.02 -0.05,0.05 -0.07,0.07 0,-0.01 0.01,-0.01 0.01,-0.02 z m 5.39,0.86 c -0.02,-0.3 -0.09,-0.6 -0.19,-0.89 -0.02,-0.42 -0.03,-0.83 -0.04,-1.25 -0.02,-0.87 -0.03,-1.75 -0.02,-2.62 0.01,-0.78 0.03,-1.56 0.05,-2.34 0.44,-0.23 0.8,-0.59 1.05,-1.03 -0.1,0.29 -0.18,0.59 -0.24,0.89 -0.11,0.55 -0.19,1.13 -0.13,1.69 0.03,0.26 0.06,0.51 0.09,0.77 -0.03,-0.14 -0.07,-0.28 -0.08,-0.43 -0.01,-0.13 -0.21,-0.13 -0.2,0 0.05,1.17 0.56,2.26 1.36,3.09 0.4,0.41 0.87,0.77 1.39,1.02 0.49,0.24 1.1,0.49 1.66,0.42 0.09,-0.01 0.11,-0.13 0.02,-0.16 -0.52,-0.18 -1.04,-0.25 -1.54,-0.5 -0.49,-0.24 -0.93,-0.57 -1.31,-0.96 -0.65,-0.66 -1.1,-1.51 -1.29,-2.42 0.05,0.31 0.19,0.52 0.29,0.82 0.1,0.31 0.45,0.25 0.56,0 0.27,0.34 0.58,0.65 0.94,0.88 0.09,0.06 0.21,-0.08 0.12,-0.16 -0.29,-0.25 -0.58,-0.51 -0.82,-0.8 -0.05,-0.07 -0.09,-0.15 -0.14,-0.22 0.04,-0.13 0.09,-0.25 0.12,-0.38 0.04,-0.24 0.07,-0.48 0.13,-0.72 0.08,-0.33 0.16,-0.66 0.24,-0.99 0.51,1.09 1.35,2.01 2.38,2.62 0.54,0.32 1.13,0.56 1.74,0.7 0.59,0.14 1.23,0.22 1.82,0.09 0.11,-0.02 0.08,-0.19 -0.03,-0.2 -0.61,-0.03 -1.2,-0.03 -1.79,-0.18 -0.57,-0.15 -1.12,-0.38 -1.63,-0.68 -1.03,-0.62 -1.86,-1.53 -2.34,-2.63 -0.02,-0.04 -0.04,-0.06 -0.07,-0.06 0.01,-0.03 0.01,-0.06 0.02,-0.09 0.09,-0.36 0.22,-0.69 0.34,-1.04 0.23,0.58 0.66,1.07 1.15,1.45 1.21,0.92 2.75,1.57 4.2,2.01 3.1,0.93 6.31,1.62 9.55,1.31 0.28,-0.03 0.28,-0.4 0,-0.43 -2.82,-0.34 -5.62,-0.8 -8.29,-1.8 -1.3,-0.49 -2.56,-1.1 -3.81,-1.7 -0.55,-0.26 -1.17,-0.55 -1.55,-1.05 -0.36,-0.48 -0.31,-1.03 -0.39,-1.58 0,0 0,0 0,-0.01 0.05,-0.07 0.11,-0.13 0.16,-0.2 0.06,0.08 0.12,0.15 0.18,0.23 0.09,0.12 0.19,0.24 0.29,0.36 0.1,0.12 0.2,0.25 0.32,0.34 0.07,0.05 0.19,-0.04 0.15,-0.12 -0.06,-0.15 -0.17,-0.27 -0.26,-0.4 -0.09,-0.13 -0.19,-0.26 -0.29,-0.39 -0.07,-0.09 -0.14,-0.18 -0.22,-0.27 0.4,-0.53 0.84,-1.01 1.33,-1.43 0.15,0.28 0.32,0.55 0.53,0.79 0.18,0.19 0.38,0.36 0.59,0.52 0.11,0.08 0.21,0.14 0.33,0.21 0.11,0.06 0.24,0.15 0.37,0.12 0.07,-0.02 0.09,-0.1 0.06,-0.16 -0.05,-0.1 -0.2,-0.15 -0.29,-0.21 -0.1,-0.06 -0.2,-0.13 -0.3,-0.2 -0.2,-0.14 -0.38,-0.3 -0.54,-0.48 -0.22,-0.23 -0.39,-0.49 -0.55,-0.76 0.32,-0.27 0.66,-0.54 1,-0.8 0.28,0.61 0.69,1.16 1.21,1.59 0.32,0.26 0.66,0.49 1.04,0.67 0.33,0.16 0.78,0.37 1.15,0.29 0.1,-0.02 0.1,-0.15 0.03,-0.2 -0.15,-0.1 -0.34,-0.15 -0.51,-0.21 -0.18,-0.06 -0.36,-0.13 -0.53,-0.21 -0.34,-0.16 -0.66,-0.36 -0.94,-0.6 -0.5,-0.41 -0.88,-0.95 -1.17,-1.53 0.11,-0.08 0.22,-0.17 0.33,-0.25 0.15,0.14 0.32,0.24 0.53,0.29 0.05,0.01 0.1,-0.02 0.15,-0.02 0.44,0.56 1,1.03 1.68,1.43 1.14,0.66 2.44,1.09 3.75,1.39 3.44,0.77 7.04,1.04 10.58,0.84 0.35,-0.02 0.69,-0.07 1.04,-0.1 0.03,0.01 0.05,0.01 0.08,-0.01 0.47,-0.04 0.94,-0.08 1.41,-0.13 0.01,0 0.01,0 0.02,0 0.19,-0.02 0.37,-0.03 0.56,-0.05 0.41,-0.05 0.87,-0.11 1.32,-0.21 0.22,0.23 0.59,0.3 0.83,0.11 0.07,0.02 0.14,0.04 0.21,0.06 -0.1,0.18 -0.05,0.39 0.14,0.53 0.26,0.19 0.62,0.2 0.93,0.27 0.29,0.06 0.58,0.12 0.86,0.21 0.3,0.09 0.59,0.22 0.86,0.36 -0.68,0.11 -1.35,0.25 -2.02,0.37 -0.88,0.16 -1.77,0.33 -2.65,0.49 -0.14,0.03 -0.08,0.24 0.06,0.22 0.87,-0.14 1.74,-0.29 2.61,-0.44 0.79,-0.14 1.6,-0.23 2.38,-0.41 0.12,0.08 0.26,0.14 0.37,0.23 0.01,0.01 0.01,0.01 0.02,0.02 -0.08,0.02 -0.16,0.05 -0.25,0.07 -0.16,0.04 -0.33,0.08 -0.49,0.11 -0.36,0.07 -0.72,0.15 -1.08,0.22 -0.72,0.15 -1.43,0.3 -2.15,0.45 -0.12,0.02 -0.07,0.2 0.05,0.18 0.72,-0.13 1.44,-0.27 2.16,-0.41 0.36,-0.07 0.72,-0.14 1.08,-0.21 0.18,-0.04 0.36,-0.07 0.55,-0.09 0.14,-0.02 0.27,-0.03 0.41,-0.07 0.22,0.19 0.42,0.39 0.6,0.61 -0.2,0.02 -0.4,0.05 -0.6,0.08 -0.57,0.1 -1.12,0.26 -1.66,0.45 -0.17,0.06 -0.1,0.33 0.07,0.27 0.53,-0.19 1.08,-0.33 1.64,-0.44 0.25,-0.05 0.5,-0.08 0.75,-0.11 0.11,0.15 0.22,0.3 0.31,0.46 -0.21,0.06 -0.41,0.13 -0.55,0.17 -1,0.27 -1.97,0.63 -2.98,0.86 -2.03,0.47 -4.12,0.89 -6.19,1.14 -0.22,0.03 -0.24,0.36 0,0.36 0.94,0.02 1.87,0.05 2.81,0 0.92,-0.05 1.84,-0.14 2.75,-0.26 0.94,-0.13 1.87,-0.29 2.8,-0.43 0.44,-0.07 0.86,-0.15 1.29,-0.26 0.25,-0.06 0.51,-0.12 0.76,-0.2 0.03,0.06 0.06,0.12 0.08,0.18 0.05,0.12 0.12,0.24 0.17,0.36 -0.61,0.22 -1.2,0.52 -1.8,0.78 -0.68,0.29 -1.37,0.54 -2.05,0.82 -0.14,0.06 -0.08,0.29 0.06,0.23 0.68,-0.26 1.36,-0.56 2.04,-0.82 0.63,-0.24 1.27,-0.44 1.89,-0.71 0.3,0.57 0.65,1.09 1.1,1.54 -0.31,0.03 -0.61,0.09 -0.92,0.13 -0.41,0.06 -0.83,0.12 -1.24,0.18 -0.83,0.12 -1.65,0.24 -2.48,0.38 -0.16,0.03 -0.12,0.31 0.04,0.29 0.81,-0.1 1.63,-0.2 2.44,-0.31 l 1.24,-0.17 c 0.41,-0.06 0.84,-0.08 1.24,-0.18 0,0 0,0 0.01,-0.01 0.18,0.15 0.36,0.29 0.57,0.41 -0.09,0 -0.19,0 -0.28,0 -0.38,0.01 -0.77,0.03 -1.15,0.08 -0.74,0.09 -1.46,0.25 -2.17,0.47 -0.18,0.06 -0.1,0.33 0.08,0.28 0.7,-0.21 1.41,-0.36 2.13,-0.43 0.34,-0.03 0.68,-0.05 1.03,-0.06 0.34,0 0.73,0.07 1.05,-0.02 0.29,0.11 0.6,0.2 0.91,0.26 -3.07,0.68 -6.18,1.15 -9.3,1.44 -6.81,0.64 -13.62,0.37 -20.42,-0.26 -3.07,-0.28 -6.42,-0.89 -8.59,-3.25 -0.04,0.18 -0.15,0.35 -0.3,0.46 -0.05,0.08 -0.12,0.15 -0.2,0.21 v 0.41 c 0.25,0.28 0.53,0.53 0.81,0.76 0.02,0.4 0.04,0.79 0.06,1.19 0,0.09 0.01,0.17 0.02,0.26 -0.19,-0.14 -0.43,-0.29 -0.66,-0.44 z m 26.3,-19.07 c 0,-0.1 0,-0.19 0,-0.29 0,-0.13 -0.01,-0.26 -0.02,-0.4 0.25,-0.04 0.49,-0.08 0.74,-0.12 0.02,0.08 0.02,0.17 0.05,0.25 0.05,0.15 0.12,0.31 0.23,0.44 -0.34,0.05 -0.67,0.09 -1,0.12 z m 1.81,-1.04 c 0.01,0.09 0.01,0.17 0.02,0.26 0.01,0.09 0.03,0.18 0.06,0.26 0.01,0.04 0.03,0.07 0.05,0.1 -0.21,0.05 -0.41,0.1 -0.62,0.15 -0.03,0.01 -0.05,0.03 -0.06,0.05 -0.02,-0.06 -0.03,-0.12 -0.05,-0.18 -0.03,-0.09 -0.06,-0.18 -0.08,-0.26 -0.02,-0.07 -0.03,-0.14 -0.04,-0.21 0.24,-0.06 0.48,-0.11 0.72,-0.17 z m 3.93,-0.28 c 0,0 0,0 0,0 -0.3,0.08 -0.6,0.15 -0.89,0.22 -0.24,0.06 -0.48,0.11 -0.72,0.17 0,-0.03 -0.01,-0.05 -0.01,-0.08 0.22,-0.04 0.44,-0.08 0.66,-0.12 0.29,-0.06 0.58,-0.11 0.88,-0.17 0.02,-0.01 0.05,-0.02 0.08,-0.02 z m -1.93,0.76 c 0,0.01 0.01,0.02 0.01,0.03 -0.17,0.03 -0.35,0.06 -0.52,0.09 0.18,-0.04 0.34,-0.08 0.51,-0.12 z m 5.13,0.23 c 0.03,-0.03 0.07,-0.06 0.1,-0.1 0.12,0.07 0.25,0.12 0.38,0.19 0.33,0.17 0.66,0.34 0.97,0.53 0.63,0.38 1.2,0.84 1.79,1.28 0.49,0.36 1,0.7 1.53,0.98 -0.1,0.02 -0.21,0.04 -0.31,0.07 -0.36,0.1 -0.69,0.26 -1.01,0.44 -0.4,-0.18 -0.85,0.04 -0.98,0.5 -0.08,0.29 -0.02,0.55 0.14,0.77 -0.04,0.22 -0.04,0.44 0,0.65 0.04,0.22 0.13,0.42 0.25,0.61 -1.23,-0.38 -2.44,-0.85 -3.6,-1.43 -0.95,-0.47 -1.86,-1 -2.76,-1.56 -0.45,-0.28 -0.89,-0.57 -1.32,-0.87 -0.24,-0.17 -0.49,-0.35 -0.75,-0.52 0.79,-0.11 1.58,-0.22 2.36,-0.38 1.14,-0.22 2.31,-0.43 3.21,-1.16 z m 2.49,-1.39 c 0.1,0.12 0.21,0.23 0.32,0.34 -0.05,0.04 -0.1,0.08 -0.14,0.12 -0.14,0.13 -0.29,0.28 -0.43,0.43 -0.06,-0.03 -0.11,-0.07 -0.17,-0.1 0.1,-0.22 0.2,-0.44 0.32,-0.64 0.03,-0.06 0.07,-0.1 0.1,-0.15 z m 8.54,7.74 c 0.04,-0.01 0.08,-0.03 0.11,-0.04 0,0.01 0,0.02 0,0.02 0,0.43 0,0.86 -0.02,1.28 -0.01,0.43 -0.04,0.86 -0.07,1.28 -0.01,0.1 -0.02,0.2 -0.04,0.31 -0.25,0.08 -0.51,0.16 -0.77,0.24 -0.09,0.01 -0.16,0.03 -0.24,0.07 -0.54,0.17 -1.08,0.35 -1.62,0.51 -0.51,0.14 -1.01,0.29 -1.52,0.43 -0.3,0.08 -0.6,0.17 -0.88,0.28 -0.03,-0.28 -0.05,-0.56 -0.07,-0.84 -0.03,-0.56 -0.04,-1.12 -0.06,-1.69 0.01,0 0.02,0 0.03,0 1.01,-0.25 1.99,-0.67 2.96,-1.04 0.47,-0.18 0.94,-0.36 1.41,-0.54 0.27,-0.08 0.52,-0.18 0.78,-0.27 z m -7.47,11.03 c -0.56,-0.11 -1.1,-0.36 -1.55,-0.71 -0.82,-0.64 -1.21,-1.61 -1.62,-2.55 0,-0.02 0.02,-0.05 0.02,-0.07 0,-0.33 -0.13,-0.5 -0.33,-0.6 -0.04,-0.08 -0.07,-0.16 -0.11,-0.23 -0.18,-0.34 -0.39,-0.65 -0.62,-0.95 0.01,-0.09 0.01,-0.19 0.02,-0.28 0.01,-0.16 0.01,-0.32 0.01,-0.47 0,-0.12 -0.01,-0.25 -0.01,-0.37 0.26,0.04 0.52,0.08 0.77,0.09 0.04,0 0.07,-0.01 0.1,-0.02 l 0.03,0.3 c 0.01,0.12 0.03,0.25 0.04,0.37 0.02,0.13 0.02,0.26 0.07,0.38 0.03,0.08 0.16,0.06 0.18,-0.02 0.03,-0.12 0,-0.25 -0.01,-0.37 -0.01,-0.12 -0.03,-0.25 -0.04,-0.37 -0.01,-0.1 -0.02,-0.21 -0.04,-0.31 0.08,0.02 0.16,0.03 0.23,0.05 0.18,0.04 0.36,0.06 0.55,0.09 0.01,0.39 0.02,0.77 0.04,1.16 0.01,0.26 0.01,0.53 0.04,0.79 0.03,0.24 0.04,0.5 0.1,0.74 0.01,0.04 0.08,0.04 0.08,0 0.04,-0.24 0.02,-0.5 0.03,-0.74 0,-0.26 -0.02,-0.53 -0.04,-0.79 -0.02,-0.38 -0.05,-0.75 -0.08,-1.13 0.19,0.03 0.37,0.07 0.56,0.1 0,0.37 0,0.74 -0.01,1.12 0,0.25 -0.01,0.5 0,0.75 0,0.11 0.01,0.23 0.02,0.34 0.01,0.13 0.04,0.24 0.06,0.36 0.01,0.06 0.11,0.06 0.12,0 0.02,-0.12 0.06,-0.23 0.06,-0.36 0.01,-0.11 0.02,-0.23 0.02,-0.34 0.01,-0.25 0,-0.5 0,-0.75 0,-0.36 0,-0.71 -0.01,-1.07 0.25,0.04 0.5,0.08 0.75,0.12 0,0.23 0,0.47 0,0.7 0,0.18 0,0.36 0,0.54 0,0.16 -0.01,0.36 0.03,0.51 0.02,0.06 0.11,0.06 0.12,0 0.04,-0.16 0.03,-0.35 0.03,-0.51 0,-0.18 0,-0.36 0,-0.54 0,-0.22 0,-0.45 0,-0.67 0.38,0.06 0.76,0.12 1.14,0.18 0,0.33 0.03,0.66 0.04,0.98 0.02,0.54 0.04,1.09 0.06,1.63 0.03,0.98 0.07,1.96 0.1,2.95 -0.3,-0.02 -0.65,0.03 -0.95,-0.03 z m -9.87,-9.68 c -0.02,-0.65 -0.04,-1.29 -0.05,-1.94 -0.02,-1.12 0,-2.23 -0.03,-3.35 0.24,0.26 0.53,0.49 0.78,0.69 0.44,0.35 0.89,0.68 1.34,1 0.91,0.63 1.89,1.18 2.88,1.68 2,1 4.11,1.75 6.29,2.28 0.04,0.01 0.07,0 0.11,0 -0.07,0.61 -0.11,1.21 -0.11,1.83 0,0.25 0.01,0.49 0.02,0.74 -0.35,-0.05 -0.7,-0.1 -1.05,-0.15 -0.04,-0.07 -0.08,-0.14 -0.12,-0.21 -0.11,-0.19 -0.22,-0.39 -0.33,-0.58 -0.05,-0.09 -0.14,-0.08 -0.2,-0.03 -0.04,-0.14 -0.08,-0.27 -0.12,-0.41 -0.02,-0.09 -0.12,-0.14 -0.21,-0.12 -0.09,0.02 -0.14,0.12 -0.12,0.21 0.06,0.2 0.12,0.4 0.17,0.6 0.03,0.1 0.06,0.2 0.09,0.3 0.02,0.05 0.04,0.09 0.07,0.13 -0.19,-0.03 -0.37,-0.05 -0.55,-0.08 -0.26,-0.04 -0.53,-0.07 -0.79,-0.1 0.02,-0.1 0.03,-0.21 0.03,-0.31 0,-0.14 0,-0.27 0,-0.41 0,-0.28 0,-0.55 0,-0.83 0,-0.2 -0.3,-0.2 -0.3,0 0,0.28 0,0.55 0,0.83 0,0.14 0,0.27 0,0.41 0,0.09 0.01,0.19 0.02,0.28 -0.18,-0.02 -0.35,-0.05 -0.53,-0.07 -0.13,-0.01 -0.28,-0.03 -0.43,-0.05 -0.07,-0.06 -0.14,-0.1 -0.24,-0.13 -0.58,-0.17 -1.22,-0.22 -1.82,-0.33 -0.61,-0.1 -1.22,-0.2 -1.83,-0.29 -0.57,-0.09 -1.15,-0.19 -1.72,-0.27 -0.06,-0.29 -0.14,-0.58 -0.2,-0.87 -0.08,-0.41 -0.15,-0.82 -0.19,-1.24 -0.09,-0.83 -0.09,-1.66 -0.02,-2.49 0.02,-0.17 -0.25,-0.17 -0.26,0 -0.09,0.86 -0.09,1.73 0,2.59 0.04,0.41 0.11,0.82 0.19,1.23 0.05,0.25 0.11,0.51 0.19,0.75 -0.13,-0.01 -0.26,-0.02 -0.39,-0.03 -0.02,-0.17 -0.14,-0.32 -0.34,-0.38 -0.06,-0.02 -0.12,-0.02 -0.18,-0.03 -0.01,-0.29 -0.04,-0.58 -0.05,-0.85 z m 9.39,-8.51 c 0.16,0.14 0.33,0.27 0.51,0.4 0.01,0.01 0.01,0.02 0.02,0.02 -0.03,0.02 -0.05,0.05 -0.08,0.07 -0.13,0.12 -0.27,0.25 -0.4,0.37 -0.18,-0.13 -0.37,-0.25 -0.56,-0.37 0.1,-0.11 0.21,-0.22 0.31,-0.33 0.07,-0.05 0.13,-0.1 0.2,-0.16 z m 3.74,-0.19 0.12,0.17 c 0.07,0.1 0.14,0.2 0.21,0.3 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.21,-0.05 -0.41,-0.12 -0.62,-0.19 0.09,-0.09 0.18,-0.18 0.28,-0.27 0.01,-0.01 0.02,-0.02 0.03,-0.03 z m 2.24,-0.72 c 0.03,0.02 0.05,0.04 0.08,0.06 0.06,0.05 0.11,0.09 0.17,0.14 0.03,0.03 0.07,0.06 0.1,0.08 0.04,0.02 0.08,0.03 0.13,0.04 0.11,0.03 0.2,-0.05 0.22,-0.15 0.06,0.14 0.09,0.29 0.01,0.45 -0.14,0.3 -0.41,0.48 -0.72,0.59 -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 0.14,-0.15 0.27,-0.29 0.41,-0.44 0.16,-0.17 -0.09,-0.43 -0.26,-0.26 -0.12,0.12 -0.24,0.25 -0.37,0.37 -0.09,-0.13 -0.18,-0.26 -0.27,-0.39 0.18,-0.13 0.35,-0.29 0.52,-0.45 z m -0.9,3.38 c -0.21,0.16 -0.43,0.3 -0.66,0.44 -0.11,0.07 -0.22,0.13 -0.34,0.19 -0.19,-0.06 -0.39,-0.11 -0.59,-0.17 -0.01,0 -0.02,-0.01 -0.03,-0.01 0.04,-0.05 0.09,-0.09 0.13,-0.13 0.09,-0.09 0.17,-0.18 0.26,-0.27 0,0 0.01,0.01 0.01,0.01 0.12,0.08 0.25,-0.05 0.22,-0.17 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 0.07,-0.08 0.14,-0.15 0.21,-0.23 0.36,0.07 0.72,0.11 1.08,0.1 -0.05,0.07 -0.11,0.13 -0.16,0.2 -0.02,0.03 -0.06,0.07 -0.1,0.1 z m -3.46,-0.48 c 0.04,-0.04 0.08,-0.08 0.11,-0.12 0,0 0,0 0,0 0.07,0.08 0.14,0.18 0.23,0.27 -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.1,-0.06 -0.2,-0.11 -0.3,-0.18 z m 0.07,-0.79 c -0.05,-0.06 -0.1,-0.12 -0.15,-0.17 0.08,0.04 0.15,0.08 0.23,0.12 -0.02,0.02 -0.04,0.05 -0.07,0.07 0,-0.01 -0.01,-0.01 -0.01,-0.02 z m 0.51,0.16 c 0.14,0.06 0.28,0.13 0.43,0.19 -0.04,0.04 -0.09,0.08 -0.13,0.11 -0.08,0.07 -0.16,0.14 -0.24,0.22 -0.05,-0.07 -0.12,-0.14 -0.17,-0.2 -0.03,-0.03 -0.05,-0.06 -0.08,-0.1 0.06,-0.08 0.13,-0.15 0.19,-0.22 z m 0.56,0.63 c 0.1,-0.09 0.2,-0.18 0.3,-0.27 0.08,0.03 0.16,0.06 0.24,0.09 0.06,0.09 0.13,0.19 0.19,0.28 0.02,0.03 0.05,0.07 0.07,0.1 -0.08,0.09 -0.17,0.18 -0.25,0.26 -0.08,0.09 -0.18,0.19 -0.25,0.3 -0.17,-0.07 -0.34,-0.12 -0.5,-0.2 -0.09,-0.05 -0.17,-0.11 -0.26,-0.15 0.15,-0.14 0.3,-0.28 0.46,-0.41 z m 2.7,-1.76 c -0.07,0.08 -0.15,0.15 -0.22,0.23 -0.17,0 -0.33,0 -0.48,-0.02 -0.03,0 -0.07,-0.01 -0.1,-0.02 -0.02,-0.03 -0.04,-0.05 -0.06,-0.08 0.2,-0.18 0.39,-0.35 0.59,-0.53 0.09,0.14 0.18,0.28 0.27,0.42 z m -4.73,0.6 c 0.03,-0.02 0.05,-0.05 0.08,-0.07 0.03,0.04 0.06,0.07 0.09,0.1 -0.11,0.12 -0.2,0.26 -0.3,0.39 -0.06,-0.04 -0.12,-0.08 -0.18,-0.13 0.1,-0.09 0.2,-0.19 0.31,-0.29 z m 0.44,0.37 c 0.06,0.08 0.13,0.15 0.19,0.23 0.03,0.03 0.06,0.07 0.09,0.1 -0.06,0.07 -0.12,0.15 -0.17,0.22 -0.12,-0.09 -0.24,-0.17 -0.36,-0.26 0.08,-0.1 0.16,-0.2 0.25,-0.29 z m 1.61,3.44 c 0.44,-0.02 0.89,-0.01 1.33,0.07 0.21,0.04 0.42,0.09 0.63,0.15 0,0 0.02,0.01 0.06,0.02 -0.06,0.01 -0.12,0.02 -0.18,0.03 -0.23,0.01 -0.47,0 -0.7,0 -0.53,0 -1.07,0 -1.6,-0.01 -0.34,0 -0.69,0 -1.04,-0.01 0.06,-0.02 0.13,-0.03 0.19,-0.05 0.42,-0.11 0.86,-0.17 1.31,-0.2 z m -1.07,1.35 c 0.61,0.01 1.21,0.03 1.82,0.04 0.54,0.01 1.15,0.11 1.67,-0.08 0.03,-0.01 0.06,-0.04 0.09,-0.05 0.11,0.28 0.14,0.54 -0.08,0.71 -0.23,0.18 -0.71,0.14 -0.98,0.16 -0.45,0.03 -0.91,0.05 -1.36,0.06 -0.69,0.01 -1.49,0.02 -2.05,-0.46 -0.14,-0.12 -0.23,-0.26 -0.29,-0.4 0.38,0.05 0.81,0.02 1.18,0.02 z m -1.42,4.97 c 0.05,0.08 0.09,0.17 0.14,0.25 0,0.01 0.01,0.02 0.01,0.03 -0.05,-0.01 -0.1,-0.01 -0.16,-0.02 0.01,-0.03 0.02,-0.06 0.02,-0.08 0,-0.07 0,-0.12 -0.01,-0.18 z m -5.1,0.81 c 0.26,0.04 0.51,0.09 0.78,0.14 0,0.14 -0.01,0.28 -0.01,0.42 0,0.13 0,0.26 0.01,0.39 -0.34,-0.38 -0.73,-0.72 -1.15,-1.02 0.13,0.03 0.25,0.05 0.37,0.07 z m 9.33,-8.45 c -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0.03,-0.02 0.07,-0.04 0.11,-0.06 0.02,-0.01 0.04,-0.03 0.06,-0.04 -0.03,0.06 -0.06,0.12 -0.09,0.18 -0.02,-0.02 -0.03,-0.04 -0.05,-0.06 z m 0.77,-4.79 c 0.08,0.07 0.16,0.13 0.25,0.2 0,0 0.01,0.01 0.01,0.01 0.05,0.04 0.1,0.08 0.16,0.13 -0.15,0.13 -0.3,0.26 -0.45,0.39 -0.02,-0.02 -0.03,-0.05 -0.05,-0.07 -0.09,-0.12 -0.21,-0.23 -0.31,-0.35 0.12,-0.11 0.26,-0.21 0.39,-0.31 z m -0.38,0.86 c 0.02,0.03 0.04,0.07 0.07,0.1 -0.2,0.18 -0.41,0.35 -0.61,0.53 -0.07,-0.09 -0.13,-0.18 -0.2,-0.27 -0.04,-0.06 -0.09,-0.12 -0.13,-0.19 0.2,-0.17 0.4,-0.34 0.6,-0.51 0.08,0.12 0.19,0.22 0.27,0.34 z m -1.13,-0.17 c -0.07,-0.1 -0.14,-0.19 -0.21,-0.29 0.19,-0.15 0.39,-0.31 0.59,-0.45 0.07,0.09 0.14,0.17 0.21,0.26 -0.19,0.15 -0.39,0.31 -0.59,0.48 z m -0.29,0.24 c -0.02,0.02 -0.04,0.03 -0.06,0.05 -0.16,0.14 -0.3,0.3 -0.46,0.44 -0.14,-0.05 -0.28,-0.11 -0.42,-0.16 0.08,-0.08 0.16,-0.16 0.24,-0.23 0.16,-0.14 0.33,-0.26 0.49,-0.39 z m -40.78,21.41 c -0.01,-0.17 -0.02,-0.33 -0.03,-0.5 -0.02,-0.31 -0.04,-0.62 -0.07,-0.93 0.32,0.24 0.65,0.46 0.99,0.65 -0.02,0.27 -0.02,0.54 0.01,0.81 0.02,0.19 0.06,0.38 0.11,0.57 -0.34,-0.18 -0.68,-0.39 -1.01,-0.6 z m 42.3,-0.35 c -0.05,-0.14 -0.09,-0.28 -0.12,-0.43 -0.02,-0.14 -0.03,-0.29 -0.02,-0.44 0.41,-0.18 0.81,-0.37 1.19,-0.59 0.25,-0.14 0.5,-0.31 0.75,-0.48 0,0.15 -0.01,0.31 -0.01,0.46 0,0.17 -0.01,0.34 -0.01,0.52 -0.4,0.24 -0.81,0.48 -1.23,0.7 -0.17,0.09 -0.36,0.17 -0.55,0.26 z m 3.95,-4.23 c 0.02,0.05 0.05,0.09 0.07,0.14 0.19,0.55 0.08,1.16 -0.22,1.69 -0.07,0.12 -0.17,0.21 -0.25,0.32 -0.02,-0.06 -0.03,-0.12 -0.04,-0.18 -0.06,-0.19 -0.12,-0.38 -0.17,-0.57 -0.03,-0.1 -0.13,-0.17 -0.23,-0.13 -0.1,0.03 -0.16,0.13 -0.13,0.23 0.05,0.19 0.1,0.38 0.15,0.57 0.03,0.12 0.08,0.24 0.12,0.36 -0.34,0.18 -0.67,0.37 -1,0.56 0,-0.08 -0.01,-0.17 -0.01,-0.25 -0.01,-0.25 -0.01,-0.5 -0.02,-0.76 0.69,-0.54 1.32,-1.21 1.73,-1.98 z m -2.31,-3.31 c 0.08,0.78 0.2,1.55 0.37,2.32 0.06,0.27 0.33,0.46 0.61,0.48 -0.62,0.7 -1.28,1.34 -2.12,1.85 -0.96,0.59 -2.02,0.97 -3.09,1.28 0.01,-0.07 0.02,-0.13 0.01,-0.2 0.03,-0.06 0.04,-0.13 0.04,-0.21 -0.04,-1.09 -0.08,-2.18 -0.12,-3.26 -0.02,-0.54 -0.04,-1.09 -0.06,-1.63 -0.01,-0.24 0,-0.49 -0.01,-0.75 0.04,-0.01 0.08,-0.01 0.12,-0.01 0.02,0.23 0.04,0.45 0.07,0.68 0.01,0.14 0.03,0.28 0.04,0.41 0.02,0.13 0.01,0.28 0.06,0.4 0.02,0.06 0.12,0.08 0.14,0 0.02,-0.13 -0.01,-0.27 -0.02,-0.4 -0.01,-0.14 -0.03,-0.28 -0.04,-0.41 -0.02,-0.23 -0.05,-0.47 -0.07,-0.7 0.14,-0.01 0.27,-0.03 0.41,-0.04 0.02,1.43 -0.01,2.9 0.2,4.32 0.01,0.05 0.08,0.03 0.08,-0.01 0.13,-1.45 0,-2.94 -0.07,-4.39 0,-0.03 -0.01,-0.04 -0.03,-0.06 0.28,-0.02 0.55,-0.07 0.83,-0.13 0,0.01 -0.01,0.02 -0.01,0.03 0,0.39 0,0.77 0,1.16 0,0.19 0,0.38 0,0.57 0,0.19 0,0.38 0.03,0.57 0.01,0.07 0.14,0.07 0.15,0 0.03,-0.19 0.02,-0.38 0.03,-0.57 0,-0.19 0,-0.38 0,-0.57 0,-0.39 0,-0.77 0,-1.16 0,-0.03 -0.01,-0.05 -0.03,-0.07 0.15,-0.03 0.31,-0.08 0.46,-0.11 0.02,0.31 0.04,0.63 0.06,0.94 0.02,0.4 0.03,0.82 0.13,1.21 0.02,0.07 0.12,0.05 0.12,-0.02 0.04,-0.4 0,-0.82 -0.03,-1.22 -0.02,-0.32 -0.04,-0.64 -0.06,-0.97 0.25,-0.06 0.5,-0.11 0.75,-0.18 0.33,-0.09 0.65,-0.21 0.98,-0.3 0,0.03 0,0.05 0,0.08 0.01,0.35 0.04,0.71 0.07,1.07 z m 0.3,-6.73 c -0.06,0.02 -0.13,0.05 -0.19,0.07 -0.11,0.04 -0.21,0.08 -0.32,0.12 0.01,-0.12 0,-0.23 0,-0.35 0.17,0.05 0.33,0.11 0.5,0.15 0,0.01 0,0.01 0.01,0.01 z m -1.63,-8.53 c 0.01,0 0,-0.01 0.01,-0.01 -0.05,0.1 -0.08,0.2 -0.09,0.31 -0.04,0.01 -0.09,0.03 -0.11,0.07 -0.01,0.01 0,0.03 -0.01,0.04 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.01,0.02 -0.01,0.04 -0.02,0.07 -0.14,0.1 -0.29,0.21 -0.43,0.31 -0.07,-0.08 -0.13,-0.15 -0.2,-0.23 0.29,-0.2 0.58,-0.4 0.89,-0.58 z m -1.64,0.26 c 0.02,-0.02 0.02,-0.04 0.02,-0.05 0.08,0.09 0.15,0.19 0.23,0.28 -0.2,0.13 -0.39,0.28 -0.58,0.43 -0.05,-0.06 -0.09,-0.13 -0.14,-0.19 0.16,-0.17 0.32,-0.32 0.47,-0.47 z m -0.73,0.71 0.11,0.16 c -0.17,0.13 -0.35,0.26 -0.52,0.4 -0.12,0.1 -0.23,0.22 -0.35,0.33 -0.02,-0.03 -0.04,-0.06 -0.06,-0.09 0.28,-0.27 0.55,-0.53 0.82,-0.8 z m -1.61,0.23 c 0.1,0.15 0.2,0.3 0.3,0.44 -0.18,-0.09 -0.35,-0.18 -0.52,-0.28 0.08,-0.05 0.15,-0.11 0.22,-0.16 z m -2.99,0.75 c 0.04,-0.06 0.08,-0.11 0.12,-0.17 0.08,-0.11 0.16,-0.22 0.24,-0.34 0.08,-0.11 0.14,-0.24 0.2,-0.36 0.01,-0.02 0.02,-0.03 0.03,-0.05 0.08,0.13 0.18,0.25 0.27,0.37 -0.06,0.09 -0.13,0.17 -0.19,0.25 -0.13,0.21 -0.24,0.43 -0.34,0.66 -0.15,-0.07 -0.31,-0.13 -0.46,-0.19 0,0 0.01,0 0.01,-0.01 0.04,-0.04 0.08,-0.1 0.12,-0.16 z m -3.73,0.26 c 0.24,-0.05 0.49,-0.1 0.74,-0.15 -0.72,0.35 -1.58,0.47 -2.35,0.62 -0.28,0.06 -0.56,0.09 -0.85,0.14 0,-0.02 -0.01,-0.03 -0.01,-0.05 0.25,-0.06 0.5,-0.11 0.75,-0.17 0.58,-0.12 1.15,-0.25 1.72,-0.39 z m -0.41,-0.74 c 0.01,0.01 0.03,0.03 0.04,0.04 0.01,0.01 0.01,0.01 0.02,0.02 0,0 0.03,0.03 0.01,0.02 -0.01,-0.02 0.01,0.01 0.01,0.02 0.01,0.01 0.01,0.02 0.02,0.02 0.01,0.02 0.02,0.03 0.03,0.05 0.02,0.04 0.04,0.07 0.06,0.1 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,-0.01 0.01,0.02 0.01,0.03 0,0 0,0 0,0 -0.13,0.01 -0.27,0.03 -0.4,0.06 0,-0.06 0,-0.12 0,-0.18 0,-0.1 0,-0.21 0,-0.31 0.01,0 0.01,0 0.02,0.01 0,0 0,0 0,0 0.04,0.02 0.07,0.04 0.1,0.06 0.01,0.01 0.02,0.01 0.03,0.02 0,0 0.01,0.01 0.01,0.01 0,0 0.01,0.01 0.02,0.01 0,0.01 0.01,0.02 0.02,0.02 z m -1.15,0.05 c 0.21,-0.07 0.43,-0.15 0.64,-0.23 0,0.12 0,0.25 0,0.37 0,0.08 0,0.16 0,0.24 -0.02,0 -0.04,0.01 -0.06,0.01 -0.3,0.06 -0.61,0.11 -0.91,0.17 l -0.67,0.13 c 0,-0.04 -0.01,-0.07 -0.02,-0.1 0,-0.1 0.01,-0.2 0.02,-0.31 0.34,-0.1 0.67,-0.18 1,-0.28 z m -1.38,0.39 c 0,0.08 -0.02,0.16 -0.01,0.24 0,0.04 0.02,0.09 0.02,0.13 l -0.78,0.15 c -0.13,0.02 -0.07,0.22 0.05,0.19 0.25,-0.05 0.51,-0.1 0.76,-0.14 0.01,0.03 0.01,0.06 0.02,0.1 -0.5,0.12 -1.01,0.24 -1.51,0.36 0,-0.03 0,-0.06 0,-0.08 -0.02,-0.09 -0.03,-0.18 -0.04,-0.27 -0.01,-0.09 -0.01,-0.18 -0.02,-0.27 0.17,-0.04 0.34,-0.07 0.51,-0.11 0.33,-0.1 0.67,-0.21 1,-0.3 z m -1.89,-0.2 c -0.01,0.09 -0.02,0.18 -0.02,0.27 -0.25,0.06 -0.51,0.12 -0.76,0.17 0,-0.1 0,-0.2 0.01,-0.3 0.26,-0.04 0.52,-0.09 0.77,-0.14 z m -1.14,0.21 c -0.01,0.1 -0.02,0.2 -0.01,0.3 -0.23,0.04 -0.47,0.08 -0.7,0.12 -0.01,-0.1 -0.01,-0.2 -0.02,-0.31 0.24,-0.03 0.49,-0.07 0.73,-0.11 z m -1.14,0.17 c 0,0.09 0.01,0.18 0.01,0.27 0,0.02 0,0.03 0,0.05 -0.2,0.03 -0.41,0.08 -0.61,0.1 -0.22,0.03 -0.44,0.05 -0.66,0.07 -0.01,-0.05 -0.03,-0.11 -0.03,-0.16 0,-0.07 0.01,-0.14 0.01,-0.21 0.43,-0.04 0.85,-0.07 1.28,-0.12 z m -1.62,0.53 c -0.41,0.05 -0.82,0.1 -1.23,0.13 -0.03,-0.05 -0.05,-0.09 -0.07,-0.14 -0.04,-0.1 -0.07,-0.2 -0.1,-0.3 0.46,-0.01 0.91,-0.03 1.37,-0.06 0,0.06 -0.01,0.12 -0.01,0.18 0.01,0.06 0.03,0.13 0.04,0.19 z m -1.81,-0.31 c 0.04,0.16 0.08,0.31 0.16,0.46 0,0 0,0 0,0 -0.38,0.02 -0.77,0.05 -1.15,0.06 -0.02,-0.13 -0.05,-0.25 -0.07,-0.37 -0.01,-0.04 -0.02,-0.09 -0.02,-0.13 0.36,0 0.72,-0.01 1.08,-0.02 z m -1.36,0 c 0.01,0.07 0.02,0.13 0.04,0.2 0.02,0.11 0.04,0.22 0.06,0.33 -0.47,0.01 -0.93,0 -1.4,0 -0.03,-0.11 -0.06,-0.22 -0.08,-0.34 -0.02,-0.1 -0.02,-0.19 -0.02,-0.29 0.46,0.04 0.93,0.08 1.4,0.1 z m -1.73,-0.12 c 0.01,0.11 0.01,0.23 0.02,0.34 0.01,0.1 0.05,0.21 0.07,0.31 -0.32,-0.01 -0.63,-0.02 -0.95,-0.03 -0.01,-0.04 -0.02,-0.08 -0.02,-0.12 -0.02,-0.16 -0.05,-0.32 -0.08,-0.48 -0.01,-0.05 -0.02,-0.09 -0.03,-0.14 0.33,0.05 0.66,0.09 0.99,0.12 z m -1.91,0.49 c -0.08,-0.13 -0.15,-0.27 -0.21,-0.42 -0.04,-0.12 -0.07,-0.25 -0.09,-0.37 0.3,0.05 0.6,0.1 0.9,0.14 0.02,0.08 0.03,0.17 0.05,0.25 0.03,0.15 0.06,0.3 0.09,0.45 0,0.02 0.01,0.04 0.01,0.06 -0.23,-0.01 -0.47,-0.03 -0.7,-0.05 -0.03,-0.02 -0.04,-0.04 -0.05,-0.06 z m 2.45,0.66 c -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 0.2,0 0.4,0.02 0.6,0.01 0.27,0 0.53,-0.02 0.79,-0.03 0.01,0.03 0.01,0.07 0.03,0.1 0.04,0.12 0.23,0.11 0.23,-0.03 0,-0.03 -0.01,-0.05 -0.01,-0.07 0.46,-0.02 0.93,-0.03 1.39,-0.06 0.04,0.04 0.07,0.08 0.11,0.11 0.11,0.07 0.2,-0.03 0.19,-0.13 0.38,-0.03 0.75,-0.06 1.13,-0.11 0.03,0.09 0.07,0.19 0.11,0.28 0.04,0.09 0.12,0.17 0.2,0.23 0.08,0.07 0.21,0 0.18,-0.11 -0.02,-0.09 -0.03,-0.18 -0.07,-0.26 -0.02,-0.06 -0.04,-0.12 -0.06,-0.18 0.41,-0.05 0.81,-0.12 1.21,-0.18 0.01,0.1 0.01,0.2 0.02,0.3 0.01,0.12 0.02,0.24 0.04,0.36 -0.14,0.01 -0.27,0.04 -0.41,0.05 -1.87,0.17 -3.75,0.21 -5.63,0.15 0.02,-0.02 0.04,-0.03 0.04,-0.06 0.01,-0.1 -0.03,-0.19 -0.06,-0.27 z m 5.35,1.74 c -0.01,0 -0.02,0 -0.03,0 -0.66,0.08 -1.32,0.13 -1.98,0.14 -0.44,0.01 -0.88,-0.03 -1.32,-0.06 1.11,0.01 2.22,-0.02 3.33,-0.08 z m -12.4,-0.72 c -0.01,0.02 -0.02,0.03 -0.02,0.06 0.03,0.37 0.05,0.75 0.08,1.12 0.01,0.18 0.02,0.36 0.04,0.54 0.01,0.1 0.02,0.19 0.03,0.29 0.01,0.1 0.01,0.19 0.09,0.27 0.07,0.07 0.17,0.04 0.23,-0.03 0.06,-0.08 0.04,-0.18 0.04,-0.28 0,-0.08 -0.01,-0.17 -0.01,-0.25 -0.01,-0.19 -0.03,-0.37 -0.04,-0.56 -0.03,-0.36 -0.05,-0.73 -0.08,-1.09 0.43,0.08 0.86,0.16 1.29,0.22 l -0.08,0.79 c -0.01,0.14 -0.03,0.28 -0.04,0.41 0,0.07 -0.01,0.15 -0.01,0.22 -0.01,0.08 -0.01,0.16 0.06,0.22 0.04,0.04 0.11,0.05 0.16,0.02 0.13,-0.08 0.11,-0.29 0.13,-0.42 0.02,-0.15 0.03,-0.3 0.05,-0.44 0.02,-0.26 0.05,-0.51 0.07,-0.77 1.41,0.2 2.84,0.32 4.26,0.4 0.1,0.01 0.21,0 0.31,0.01 1.25,0.28 2.52,0.43 3.8,0.43 0.68,0 1.36,-0.05 2.03,-0.13 0.65,-0.08 1.37,-0.15 1.99,-0.4 0.04,-0.01 0.06,-0.05 0.07,-0.08 0.16,-0.01 0.31,-0.03 0.47,-0.04 0,0.01 -0.01,0.02 -0.01,0.03 -0.05,0.51 -0.07,1.03 -0.08,1.54 -0.05,0 -0.09,0.03 -0.09,0.09 0,0.76 -0.01,1.52 -0.01,2.28 0,0.76 -0.05,1.52 0.04,2.28 0.01,0.05 0.04,0.07 0.07,0.07 0,0.15 0,0.31 0,0.47 -0.18,0.02 -0.35,0.04 -0.52,0.07 0.02,-0.3 0.01,-0.6 0.01,-0.89 0,-0.37 0,-0.73 -0.01,-1.1 -0.01,-0.73 -0.02,-1.46 -0.03,-2.2 0,-0.13 -0.2,-0.13 -0.2,0 -0.01,0.73 -0.02,1.46 -0.03,2.2 0,0.35 -0.01,0.7 -0.01,1.05 0,0.32 -0.01,0.65 0.01,0.97 -0.05,0.01 -0.1,0.01 -0.14,0.02 -0.2,0.03 -0.4,0.04 -0.6,0.07 0,-0.06 -0.01,-0.11 -0.01,-0.17 -0.01,-0.49 -0.03,-0.97 -0.04,-1.46 -0.04,-1 -0.07,-2.01 -0.11,-3.01 0,-0.11 -0.17,-0.11 -0.17,0 0.01,1.02 0.03,2.04 0.05,3.06 0.01,0.5 0.02,1 0.04,1.5 0,0.03 0,0.07 0,0.1 -0.37,0.04 -0.75,0.09 -1.12,0.12 l 0.02,-0.95 c 0.02,-0.85 0.04,-1.69 0.07,-2.54 0,-0.14 -0.22,-0.14 -0.22,0 -0.03,0.83 -0.06,1.66 -0.09,2.49 -0.01,0.34 -0.03,0.68 -0.04,1.02 -0.05,0 -0.1,0.01 -0.14,0.02 -0.37,0.03 -0.73,0.03 -1.1,0.05 0.04,-0.27 0.08,-0.53 0.1,-0.8 0.06,-0.71 0.04,-1.42 -0.04,-2.12 -0.01,-0.08 -0.13,-0.08 -0.12,0 0.05,0.68 0.05,1.37 -0.01,2.05 -0.03,0.3 -0.07,0.59 -0.12,0.89 -0.42,0.02 -0.83,0.05 -1.25,0.05 0,-0.01 0,-0.03 0,-0.04 0.01,-0.26 0.02,-0.52 0.04,-0.77 0.02,-0.51 0.05,-1.01 0.07,-1.52 0.01,-0.13 -0.2,-0.13 -0.21,0 -0.03,0.51 -0.06,1.01 -0.09,1.52 -0.02,0.25 -0.03,0.5 -0.05,0.75 0,0.02 0,0.04 -0.01,0.07 -0.35,0 -0.7,-0.01 -1.06,-0.02 0,-0.03 0,-0.07 0,-0.1 0.01,-0.32 0.02,-0.64 0.02,-0.95 0.01,-0.64 0.03,-1.27 0.04,-1.91 0,-0.08 -0.13,-0.08 -0.13,0 -0.02,0.62 -0.05,1.25 -0.07,1.87 -0.01,0.31 -0.03,0.61 -0.03,0.92 0,0.06 -0.01,0.12 -0.01,0.17 -0.34,-0.01 -0.68,0 -1.03,-0.02 -0.08,0 -0.16,-0.02 -0.24,-0.02 -0.01,-0.07 -0.01,-0.13 -0.02,-0.2 -0.03,-0.31 -0.05,-0.62 -0.08,-0.93 -0.01,-0.17 -0.28,-0.17 -0.27,0 0.03,0.32 0.05,0.63 0.08,0.95 0,0.05 0.01,0.11 0.01,0.16 -0.87,-0.06 -1.74,-0.14 -2.6,-0.25 -0.02,-0.08 -0.03,-0.17 -0.05,-0.25 -0.06,-0.32 -0.11,-0.63 -0.17,-0.95 -0.02,-0.13 -0.22,-0.07 -0.2,0.05 0.05,0.31 0.1,0.62 0.15,0.93 l 0.03,0.18 c -0.5,-0.07 -1.01,-0.13 -1.5,-0.22 0.04,-0.22 0.05,-0.45 0.06,-0.67 0.02,-0.32 0.03,-0.64 0.04,-0.95 0.03,-0.64 0.05,-1.27 0.08,-1.91 0.01,-0.18 -0.27,-0.18 -0.27,0 -0.03,0.64 -0.06,1.27 -0.09,1.91 -0.01,0.32 -0.03,0.64 -0.04,0.95 0,0.21 -0.01,0.42 0,0.63 -0.62,-0.11 -1.25,-0.24 -1.87,-0.4 0,-0.01 0,-0.02 -0.01,-0.03 -0.03,-0.12 -0.05,-0.24 -0.08,-0.37 -0.06,-0.25 -0.11,-0.51 -0.17,-0.76 -0.03,-0.16 -0.28,-0.09 -0.24,0.07 0.05,0.25 0.11,0.51 0.16,0.76 0.02,0.08 0.04,0.16 0.05,0.24 -0.25,-0.07 -0.5,-0.15 -0.75,-0.23 0,-0.1 0,-0.2 0,-0.3 0,-0.39 0,-0.77 -0.01,-1.16 0,-0.15 -0.24,-0.15 -0.24,0 0,0.39 0,0.77 -0.01,1.16 0,0.08 0,0.15 0,0.23 -0.12,-0.04 -0.26,-0.07 -0.38,-0.12 -0.09,-0.04 -0.18,-0.09 -0.28,-0.13 -0.02,-0.22 -0.04,-0.44 -0.07,-0.66 -0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 0.02,0.18 0.03,0.35 0.05,0.53 -0.91,-0.42 -1.74,-1 -2.34,-1.74 -0.12,-0.33 -0.3,-0.65 -0.4,-0.96 -0.2,-0.61 -0.35,-1.26 -0.41,-1.9 -0.01,-0.07 0,-0.15 -0.01,-0.22 0.02,-0.02 0.05,-0.04 0.06,-0.07 0.11,-0.27 0.12,-0.6 0.15,-0.89 0.21,0.13 0.43,0.23 0.65,0.35 -0.12,0.69 -0.12,1.41 -0.02,2.1 0.06,0.39 0.16,0.77 0.28,1.15 0.11,0.35 0.22,0.73 0.41,1.05 0.04,0.08 0.18,0.03 0.15,-0.06 -0.12,-0.35 -0.27,-0.68 -0.37,-1.04 -0.1,-0.37 -0.16,-0.75 -0.21,-1.13 -0.08,-0.62 -0.07,-1.23 -0.04,-1.85 0.02,0.13 0.06,0.25 0.11,0.36 0.06,0.11 0.23,0.05 0.23,-0.06 0,-0.08 -0.01,-0.16 -0.02,-0.24 0.18,0.08 0.36,0.13 0.55,0.2 0,0 0,0.01 0,0.01 -0.01,0.12 -0.04,0.26 -0.01,0.38 0.03,0.11 0.18,0.13 0.24,0.03 0.06,-0.09 0.06,-0.21 0.08,-0.32 0.19,0.06 0.38,0.12 0.57,0.17 0.28,0.23 0.56,0.46 0.86,0.67 0.1,0.07 0.22,-0.09 0.13,-0.17 -0.06,-0.05 -0.12,-0.1 -0.18,-0.15 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.06 0.01,-0.13 -0.01,-0.19 0.09,0.01 0.17,0.04 0.26,0.05 0.12,0.01 0.14,-0.18 0.03,-0.21 -0.13,-0.03 -0.25,-0.06 -0.38,-0.09 -0.02,-0.08 -0.05,-0.17 -0.07,-0.25 -0.05,-0.23 -0.06,-0.47 -0.05,-0.71 0.01,-0.2 0.06,-0.39 0.11,-0.57 0.18,-0.01 0.35,-0.04 0.53,-0.07 0.12,0.04 0.23,0.09 0.35,0.13 -0.1,0.32 -0.17,0.65 -0.18,0.98 -0.01,0.25 0.01,0.51 0.06,0.76 0.04,0.25 0.1,0.51 0.27,0.7 0.07,0.07 0.2,0.02 0.2,-0.08 0,-0.23 -0.09,-0.46 -0.14,-0.68 -0.04,-0.22 -0.06,-0.44 -0.06,-0.66 0,-0.32 0.06,-0.63 0.15,-0.93 0.29,0.08 0.59,0.15 0.88,0.21 0.12,-0.03 0.2,-0.02 0.27,-0.01 z m -3.4,-0.51 c 0.25,0.06 0.51,0.1 0.77,0.11 -0.06,0.19 -0.11,0.39 -0.13,0.59 -0.02,0.26 -0.01,0.53 0.04,0.79 0,0.02 0.01,0.04 0.02,0.07 -0.07,-0.02 -0.15,-0.04 -0.22,-0.06 -0.2,-0.16 -0.39,-0.32 -0.59,-0.49 0.02,-0.19 0.04,-0.38 0.06,-0.56 0.02,-0.15 0.04,-0.3 0.05,-0.45 z m 0.09,-0.75 c 0.2,0.15 0.39,0.32 0.63,0.44 0.04,0.02 0.09,0.03 0.13,0.05 -0.16,-0.01 -0.31,-0.02 -0.47,-0.06 -0.11,-0.02 -0.21,-0.06 -0.32,-0.08 0,-0.12 0.01,-0.23 0.03,-0.35 z m -0.37,0.67 c -0.02,0.17 -0.04,0.34 -0.07,0.51 -0.02,0.12 -0.03,0.24 -0.05,0.36 -0.14,-0.09 -0.32,0.09 -0.19,0.2 0.05,0.04 0.1,0.08 0.14,0.12 0,0.02 -0.01,0.04 -0.01,0.07 0,0.01 0,0.02 0,0.03 -0.14,-0.05 -0.29,-0.09 -0.43,-0.15 -0.07,-0.03 -0.13,-0.07 -0.2,-0.1 -0.01,-0.04 -0.02,-0.08 -0.02,-0.12 -0.03,-0.24 -0.04,-0.48 -0.05,-0.72 0,-0.17 0.01,-0.34 0.03,-0.51 0.27,0.11 0.55,0.22 0.85,0.31 z m -1.13,0.86 c -0.26,-0.13 -0.51,-0.26 -0.76,-0.41 0.03,-0.22 0.06,-0.45 0.08,-0.67 0.03,-0.22 0.05,-0.45 0.08,-0.67 0.19,0.15 0.39,0.28 0.6,0.4 -0.02,0.22 -0.04,0.45 -0.04,0.68 0,0.22 0.01,0.44 0.04,0.67 z m -3.65,-2.82 c 0.25,0.31 0.46,0.64 0.64,1 -0.02,0 -0.03,0 -0.05,0.01 -0.03,0.02 -0.06,0.05 -0.09,0.07 -0.12,-0.17 -0.24,-0.33 -0.36,-0.5 -0.05,-0.07 -0.13,-0.1 -0.2,-0.05 -0.07,0.04 -0.1,0.14 -0.05,0.2 0.12,0.18 0.25,0.36 0.37,0.54 -0.08,0.06 -0.16,0.13 -0.25,0.19 -0.21,-0.22 -0.41,-0.45 -0.62,-0.67 -0.05,-0.05 -0.09,-0.1 -0.14,-0.16 0.26,-0.21 0.5,-0.42 0.75,-0.63 z m -1.17,0.57 c -0.07,0.06 -0.15,0.12 -0.22,0.19 -0.22,-0.32 -0.47,-0.62 -0.75,-0.89 0.06,-0.06 0.13,-0.12 0.19,-0.18 0.26,0.29 0.52,0.59 0.78,0.88 z m -5.99,-1.41 c 0.02,0.03 0.05,0.07 0.08,0.1 -0.03,0 -0.06,0 -0.09,0.02 -0.41,0.29 -0.8,0.6 -1.21,0.9 -0.2,-0.14 -0.41,-0.28 -0.61,-0.43 0.23,-0.18 0.46,-0.36 0.68,-0.54 0.38,-0.05 0.77,-0.07 1.15,-0.05 z m -1.72,0.15 c -0.11,0.08 -0.22,0.17 -0.33,0.25 -0.05,-0.04 -0.1,-0.08 -0.15,-0.12 0.14,-0.05 0.29,-0.09 0.43,-0.13 0.03,0 0.04,0 0.05,0 z m -3,0.4 c -0.23,0.22 -0.45,0.45 -0.64,0.71 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.12,-0.09 -0.25,-0.19 -0.37,-0.28 0.28,-0.2 0.55,-0.39 0.83,-0.59 0.06,0.04 0.13,0.09 0.2,0.14 z m -1.13,-0.72 c 0.23,0.14 0.46,0.28 0.69,0.43 -0.27,0.19 -0.55,0.38 -0.82,0.57 -0.19,-0.14 -0.38,-0.29 -0.57,-0.43 0.23,-0.18 0.48,-0.37 0.7,-0.57 z m -1.16,0.51 c -0.02,0.02 -0.05,0.04 -0.07,0.06 -0.18,0.14 -0.35,0.29 -0.53,0.43 -0.02,0.02 -0.04,0.04 -0.07,0.06 0.13,-0.26 0.27,-0.51 0.41,-0.76 0.09,0.07 0.17,0.14 0.26,0.21 z m -0.87,0.98 c 0.02,-0.01 0.04,-0.03 0.07,-0.04 0.2,0.12 0.39,0.27 0.6,0.4 -0.26,0.18 -0.52,0.36 -0.78,0.54 -0.08,0.06 -0.16,0.11 -0.25,0.17 0,-0.01 0,-0.02 0.01,-0.03 0.07,-0.37 0.2,-0.71 0.35,-1.04 z m -2.36,9.17 c 0.45,-0.16 0.9,-0.24 1.35,-0.24 0.48,-0.01 0.89,0.06 1.35,0.23 0.14,0.05 0.28,0.13 0.42,0.21 -0.15,0.1 -0.3,0.19 -0.44,0.25 -0.42,0.16 -0.83,0.25 -1.26,0.26 -0.44,0.01 -0.82,-0.05 -1.24,-0.19 -0.22,-0.08 -0.43,-0.19 -0.63,-0.3 0.15,-0.09 0.29,-0.17 0.45,-0.22 z m -4,10.25 c 0.13,-0.42 0.39,-0.8 0.71,-1.12 -0.01,0.35 -0.03,0.69 -0.02,1.04 0,0.22 0.02,0.45 0.03,0.67 -0.04,0.21 -0.05,0.43 0,0.69 0.01,0.04 0.03,0.09 0.04,0.13 0.03,0.44 0.07,0.95 0.49,1.18 0.08,0.05 0.18,0.06 0.26,0.05 0.74,0.75 1.8,1.08 2.81,1.27 1.25,0.23 2.51,0.39 3.76,0.11 0.49,-0.11 1.08,-0.36 1.54,-0.73 0.01,0.02 0.01,0.03 0.03,0.05 0.38,0.23 0.77,0.45 1.15,0.68 0.19,0.11 0.37,0.23 0.57,0.33 0.09,0.05 0.19,0.09 0.29,0.14 0.1,0.05 0.2,0.11 0.31,0.13 0.09,0.02 0.15,-0.08 0.09,-0.15 -0.08,-0.08 -0.18,-0.14 -0.27,-0.21 -0.09,-0.06 -0.17,-0.12 -0.26,-0.18 -0.19,-0.12 -0.38,-0.22 -0.57,-0.33 -0.38,-0.21 -0.75,-0.43 -1.13,-0.64 0.08,-0.08 0.14,-0.16 0.21,-0.24 0,0.01 0,0.01 0.01,0.02 0.12,0.21 0.34,0.25 0.53,0.19 0.34,0.54 0.82,0.99 1.43,1.26 0.42,0.19 0.88,0.28 1.33,0.29 0.5,0.16 1,0.33 1.5,0.49 0.28,0.09 0.56,0.18 0.84,0.27 0.15,0.05 0.3,0.09 0.46,0.13 0.14,0.03 0.28,0.1 0.42,0.08 0.06,-0.01 0.1,-0.08 0.05,-0.13 -0.1,-0.09 -0.22,-0.12 -0.34,-0.17 -0.15,-0.06 -0.3,-0.12 -0.45,-0.17 -0.29,-0.1 -0.58,-0.19 -0.87,-0.28 -0.29,-0.09 -0.58,-0.18 -0.86,-0.27 0.32,-0.05 0.62,-0.15 0.92,-0.28 0.31,0.15 0.62,0.31 0.93,0.46 0.2,0.1 0.4,0.2 0.61,0.29 0.2,0.09 0.42,0.22 0.63,0.26 0.1,0.02 0.2,-0.11 0.11,-0.19 -0.16,-0.14 -0.38,-0.23 -0.57,-0.32 -0.21,-0.1 -0.42,-0.2 -0.63,-0.3 -0.25,-0.12 -0.51,-0.24 -0.77,-0.35 0.33,-0.19 0.62,-0.43 0.88,-0.71 0.26,0.24 0.54,0.46 0.83,0.65 0.26,0.17 0.52,0.31 0.8,0.44 0.15,0.07 0.3,0.13 0.45,0.17 0.14,0.04 0.29,0.08 0.44,0.05 0.08,-0.02 0.09,-0.11 0.04,-0.16 -0.09,-0.1 -0.22,-0.15 -0.34,-0.22 -0.13,-0.07 -0.27,-0.14 -0.41,-0.2 -0.27,-0.13 -0.53,-0.27 -0.78,-0.43 -0.28,-0.19 -0.55,-0.4 -0.8,-0.62 0.18,-0.26 0.34,-0.53 0.45,-0.82 0.9,0.83 2.03,1.4 3.16,1.86 1.44,0.58 2.96,0.91 4.49,1.14 3.66,0.56 7.38,0.8 11.07,0.91 3.77,0.11 7.55,0.05 11.31,-0.25 3.18,-0.25 6.37,-0.68 9.44,-1.55 1.68,-0.48 3.33,-1.1 4.89,-1.88 0.53,-0.27 1.06,-0.56 1.57,-0.88 0.35,-0.14 0.7,-0.3 1.02,-0.51 0.83,-0.56 1.48,-1.29 1.85,-2.22 0.34,-0.85 0.31,-1.78 -0.12,-2.6 -0.39,-0.75 -1.08,-1.3 -1.93,-1.19 -0.08,-0.37 -0.14,-0.74 -0.2,-1.11 0.35,0.02 0.7,0.08 1.04,0.2 0.31,0.11 0.6,0.27 0.87,0.46 0.14,0.1 0.28,0.22 0.4,0.34 0.11,0.11 0.22,0.28 0.36,0.34 0.11,0.05 0.21,-0.03 0.19,-0.15 -0.03,-0.16 -0.2,-0.32 -0.31,-0.43 -0.13,-0.13 -0.28,-0.25 -0.43,-0.36 -0.3,-0.21 -0.63,-0.38 -0.97,-0.5 -0.38,-0.13 -0.79,-0.2 -1.19,-0.2 -0.01,-0.08 -0.02,-0.15 -0.03,-0.23 -0.01,-0.13 -0.02,-0.25 -0.03,-0.38 0.49,0.09 0.97,0.19 1.46,0.28 0.32,0.06 0.63,0.12 0.95,0.18 0.3,0.06 0.61,0.13 0.92,0.09 0.07,-0.01 0.12,-0.11 0.04,-0.15 -0.27,-0.14 -0.58,-0.18 -0.88,-0.24 -0.32,-0.06 -0.64,-0.11 -0.95,-0.17 -0.52,-0.09 -1.04,-0.18 -1.56,-0.26 -0.01,-0.14 -0.02,-0.29 -0.03,-0.43 -0.01,-0.13 -0.01,-0.26 -0.02,-0.39 0.03,-0.01 0.06,-0.02 0.09,-0.03 0.25,0.02 0.5,0.05 0.75,0.08 -0.05,0.08 -0.04,0.21 0.07,0.23 0.43,0.06 0.86,0.17 1.26,0.34 0.2,0.08 0.38,0.19 0.57,0.28 0.2,0.1 0.38,0.24 0.58,0.32 0.13,0.06 0.26,-0.09 0.16,-0.2 -0.14,-0.17 -0.36,-0.29 -0.55,-0.41 -0.2,-0.12 -0.42,-0.21 -0.64,-0.3 -0.18,-0.07 -0.36,-0.12 -0.54,-0.17 0.22,0.02 0.44,0.04 0.65,0.07 1.11,0.14 2.21,0.35 3.3,0.6 -0.22,0.62 -0.35,1.3 -0.43,1.83 -0.11,0.69 -0.16,1.38 -0.18,2.08 -0.01,0 -0.02,0 -0.03,0 -0.11,0.04 -0.19,0.13 -0.24,0.23 -0.08,-0.11 -0.14,-0.23 -0.24,-0.32 -0.06,-0.06 -0.17,0.02 -0.12,0.09 0.14,0.18 0.24,0.39 0.35,0.59 0.03,0.12 0.09,0.23 0.17,0.33 0.06,0.14 0.1,0.28 0.14,0.42 0.02,0.33 0.04,0.65 0.08,0.98 0.01,0.08 0.02,0.17 0.03,0.25 -0.17,0.04 -0.32,0.17 -0.3,0.37 0.02,0.25 0.11,0.48 0.25,0.69 -0.16,0.56 -0.46,1.08 -0.85,1.52 -0.19,0.21 -0.41,0.41 -0.64,0.57 -0.23,0.16 -0.52,0.28 -0.73,0.46 -0.08,0.07 -0.02,0.23 0.09,0.23 0.3,-0.02 0.61,-0.23 0.85,-0.4 0.27,-0.19 0.52,-0.41 0.74,-0.66 0.36,-0.41 0.62,-0.89 0.8,-1.41 0.2,0.2 0.43,0.36 0.69,0.5 -0.04,0.12 -0.06,0.25 -0.12,0.37 -0.2,0.39 -0.5,0.69 -0.86,0.94 -0.06,0.04 -0.03,0.16 0.06,0.13 0.58,-0.21 0.98,-0.74 1.15,-1.32 0.29,0.14 0.58,0.24 0.85,0.3 0.11,0.03 0.22,0.03 0.34,0.05 -0.13,0.12 -0.26,0.23 -0.39,0.35 -0.12,0.11 -0.24,0.21 -0.36,0.33 -0.12,0.12 -0.25,0.22 -0.35,0.35 -0.05,0.06 0.01,0.16 0.09,0.11 0.14,-0.09 0.26,-0.2 0.38,-0.3 0.13,-0.11 0.25,-0.21 0.38,-0.32 0.17,-0.15 0.34,-0.31 0.52,-0.46 0.23,0.03 0.47,0.05 0.7,0.05 -0.09,0.08 -0.18,0.17 -0.27,0.25 -0.13,0.11 -0.25,0.22 -0.36,0.36 -0.06,0.08 0.05,0.18 0.13,0.13 0.14,-0.08 0.26,-0.2 0.39,-0.31 0.13,-0.11 0.25,-0.22 0.38,-0.33 0.04,-0.03 0.08,-0.07 0.11,-0.1 0.68,-0.02 1.36,-0.11 2.04,-0.24 -0.01,0.03 -0.02,0.05 -0.03,0.08 -0.04,0.1 -0.1,0.21 -0.09,0.32 0.01,0.08 0.1,0.12 0.16,0.07 0.08,-0.07 0.12,-0.18 0.16,-0.27 0.04,-0.09 0.08,-0.18 0.11,-0.26 0.93,-0.2 1.88,-0.52 2.55,-1.21 0.09,0.01 0.18,0 0.26,-0.05 0.42,-0.23 0.45,-0.74 0.49,-1.18 0.01,-0.04 0.03,-0.09 0.04,-0.13 0.02,-0.09 0.02,-0.17 0.02,-0.26 0,0 0,0 0,0 -0.01,0.08 0,0.17 -0.02,0.25 0.22,1.39 -0.62,2.72 -1.68,3.63 -1.31,1.13 -3.05,1.75 -4.67,2.34 -3.49,1.28 -7.09,2.28 -10.75,3.04 -7.31,1.52 -14.81,2.07 -22.29,2.1 -3.78,0.02 -7.55,-0.1 -11.32,-0.29 -3.79,-0.19 -7.58,-0.48 -11.33,-1.08 -3.7,-0.59 -7.37,-1.46 -10.86,-2.77 -2.57,-0.98 -5.93,-2.77 -4.95,-5.85 z m 0.33,7.06 c -0.01,-0.22 -0.03,-0.43 -0.04,-0.65 0,-0.02 0,-0.03 0,-0.05 0.01,-0.26 0.02,-0.53 0.03,-0.79 0.01,-0.13 0.01,-0.26 0.01,-0.39 0,-0.13 -0.02,-0.24 -0.03,-0.36 0,-0.09 -0.08,-0.08 -0.13,-0.04 0,-0.06 -0.01,-0.12 -0.01,-0.18 0.12,0.12 0.22,0.24 0.35,0.35 1.37,1.14 3.08,1.82 4.77,2.44 1.85,0.68 3.74,1.25 5.66,1.7 3.93,0.93 7.96,1.44 11.99,1.79 4.01,0.34 8.04,0.52 12.06,0.59 8.02,0.14 16.08,-0.24 23.97,-1.65 3.94,-0.71 7.83,-1.67 11.59,-2.97 1.33,-0.46 2.83,-0.96 4.21,-1.62 0,0.36 -0.01,0.72 -0.01,1.08 0,0.19 0,0.39 -0.01,0.58 0,0.19 -0.02,0.39 0.03,0.57 0,0.01 0.02,0.01 0.02,0.02 -0.38,0.23 -0.76,0.44 -1.16,0.63 0,-0.08 -0.01,-0.15 -0.03,-0.23 -0.02,-0.09 -0.05,-0.18 -0.06,-0.27 -0.03,-0.17 -0.05,-0.35 -0.04,-0.52 0.01,-0.36 0.11,-0.71 0.29,-1.02 0.11,-0.19 -0.18,-0.35 -0.29,-0.17 -0.21,0.36 -0.33,0.76 -0.35,1.17 -0.01,0.2 0,0.4 0.04,0.6 0.04,0.17 0.1,0.42 0.25,0.53 -0.59,0.27 -1.2,0.52 -1.82,0.74 0,-0.01 0,-0.03 0,-0.04 0,-0.07 0,-0.14 -0.01,-0.22 0,-0.16 0.01,-0.31 0.03,-0.47 0.05,-0.31 0.15,-0.6 0.3,-0.88 0.09,-0.17 -0.17,-0.32 -0.26,-0.15 -0.17,0.3 -0.28,0.63 -0.34,0.96 -0.03,0.17 -0.04,0.33 -0.04,0.5 0,0.09 0.01,0.18 0.02,0.27 0.01,0.04 0.01,0.08 0.02,0.11 -0.14,0.05 -0.27,0.1 -0.41,0.14 -0.15,0.05 -0.3,0.09 -0.45,0.14 0.03,-0.05 0.05,-0.1 0.08,-0.15 0.04,-0.1 0.08,-0.19 0.11,-0.29 l 0.17,-0.58 c 0.03,-0.09 -0.03,-0.21 -0.13,-0.23 -0.1,-0.02 -0.2,0.03 -0.23,0.13 -0.05,0.19 -0.11,0.39 -0.16,0.58 -0.03,0.1 -0.04,0.2 -0.06,0.31 -0.01,0.1 -0.03,0.2 -0.03,0.3 0,0 0.01,0 0.01,0.01 -0.38,0.12 -0.77,0.23 -1.15,0.35 0.01,-0.07 0.02,-0.15 0.02,-0.22 0.03,-0.32 0.06,-0.63 0.08,-0.95 0.01,-0.09 -0.08,-0.16 -0.16,-0.16 -0.09,0 -0.15,0.07 -0.16,0.16 -0.03,0.31 -0.06,0.62 -0.09,0.93 -0.01,0.11 -0.02,0.23 -0.03,0.34 -0.33,0.1 -0.66,0.21 -1,0.3 0,-0.03 0.01,-0.05 0.01,-0.08 0.03,-0.28 0.05,-0.56 0.08,-0.84 0.01,-0.06 -0.06,-0.12 -0.12,-0.12 -0.07,0 -0.11,0.05 -0.12,0.12 l -0.09,0.83 c -0.01,0.06 -0.01,0.11 -0.02,0.17 -0.48,0.14 -0.96,0.28 -1.44,0.41 0.01,-0.08 0.02,-0.16 0.02,-0.24 0.05,-0.56 0.1,-1.11 0.16,-1.67 0.02,-0.2 -0.29,-0.2 -0.31,0 -0.06,0.55 -0.12,1.09 -0.19,1.64 -0.01,0.12 -0.03,0.24 -0.04,0.36 -0.5,0.13 -0.99,0.25 -1.49,0.37 0.02,-0.07 0.04,-0.15 0.06,-0.22 0.02,-0.07 -0.02,-0.15 -0.09,-0.16 -0.07,-0.02 -0.15,0.02 -0.16,0.09 -0.02,0.11 -0.05,0.22 -0.07,0.33 v 0.02 c -0.48,0.12 -0.95,0.25 -1.43,0.36 v -0.68 c 0,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.16,0.07 -0.16,0.16 v 0.76 c -0.52,0.12 -1.05,0.21 -1.58,0.32 0,-0.02 -0.01,-0.04 -0.01,-0.05 -0.02,-0.08 -0.04,-0.16 -0.07,-0.24 -0.05,-0.17 -0.11,-0.33 -0.16,-0.5 -0.02,-0.07 -0.1,-0.12 -0.17,-0.1 -0.07,0.02 -0.12,0.1 -0.1,0.17 0.06,0.17 0.11,0.34 0.17,0.51 0.03,0.09 0.06,0.17 0.1,0.26 0,0 0,0 0,0 -2.41,0.5 -4.84,0.93 -7.28,1.26 -6.08,0.8 -12.24,1.07 -18.37,0.92 -5.78,-0.15 -11.56,-0.65 -17.28,-1.5 0,-0.06 0,-0.12 0,-0.18 0,-0.07 -0.06,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.06 -0.14,0.14 0,0.05 0,0.09 0,0.14 -0.23,-0.04 -0.47,-0.06 -0.7,-0.1 -1.08,-0.17 -2.17,-0.36 -3.25,-0.57 0,-0.08 0,-0.17 0,-0.25 0,-0.17 0,-0.34 0,-0.52 0,-0.08 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 0,0.17 0,0.34 0,0.52 0,0.07 0,0.13 0,0.2 -0.89,-0.18 -1.78,-0.37 -2.66,-0.59 0.07,-0.21 0.12,-0.43 0.17,-0.66 0.05,-0.24 0.11,-0.49 0.16,-0.73 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.06,0.25 -0.11,0.5 -0.17,0.75 -0.05,0.22 -0.09,0.43 -0.12,0.66 -0.49,-0.12 -0.98,-0.25 -1.46,-0.39 0.01,-0.22 0.02,-0.43 0.02,-0.65 0,-0.11 -0.18,-0.11 -0.18,0 0,0.2 0.01,0.41 0.02,0.61 0,0 -0.01,0 -0.01,0 -1.05,-0.3 -2.07,-0.65 -3.07,-1.04 v -1.19 c 0,-0.14 -0.21,-0.14 -0.21,0 v 1.11 c -0.22,-0.09 -0.44,-0.17 -0.66,-0.26 0,0 0,0 0,-0.01 -0.01,-0.17 -0.02,-0.33 -0.04,-0.5 -0.03,-0.33 -0.05,-0.66 -0.08,-1 -0.01,-0.15 -0.25,-0.15 -0.24,0 0.02,0.34 0.05,0.68 0.07,1.01 0.01,0.12 0.02,0.24 0.03,0.37 -0.27,-0.12 -0.53,-0.25 -0.8,-0.38 0,-0.05 0,-0.1 0,-0.15 0.01,-0.22 0,-0.44 0,-0.66 0,-0.44 0,-0.88 -0.01,-1.33 0,-0.16 -0.25,-0.16 -0.25,0 0,0.44 0,0.88 -0.01,1.33 0,0.22 -0.01,0.44 0,0.66 0,0.01 0,0.02 0,0.03 -0.04,-0.02 -0.08,-0.03 -0.12,-0.05 0.02,-0.25 0.03,-0.5 0.03,-0.74 0,-0.3 0,-0.6 -0.01,-0.89 0,-0.13 -0.2,-0.13 -0.2,0 0,0.3 0,0.6 -0.01,0.89 0,0.22 0.01,0.45 0.03,0.67 -0.34,-0.18 -0.67,-0.38 -1,-0.58 0,-0.01 0.01,0 0.01,-0.01 0.03,-0.38 0.02,-0.76 0.02,-1.14 0,-0.12 -0.18,-0.12 -0.18,0 0,0.36 -0.01,0.71 0.01,1.07 -0.15,-0.09 -0.31,-0.17 -0.46,-0.27 0.02,-0.29 -0.04,-0.59 -0.07,-0.88 -0.03,-0.3 -0.06,-0.59 -0.09,-0.89 0,-0.11 0,-0.22 0,-0.32 0,-0.16 -0.25,-0.16 -0.25,0 v 0.83 c 0,0.27 -0.02,0.55 0.02,0.82 0.01,0.07 0.08,0.07 0.14,0.04 0.01,0.1 0.03,0.19 0.04,0.29 -0.02,-0.01 -0.04,-0.02 -0.05,-0.03 -0.17,-0.19 -0.43,-0.36 -0.7,-0.54 z m 4.4,3.77 c 0.02,0.26 0.04,0.52 0.06,0.78 -0.33,-0.17 -0.64,-0.38 -0.91,-0.64 -0.1,-0.09 -0.28,0.03 -0.2,0.15 0.3,0.4 0.69,0.68 1.14,0.88 0.01,0.18 0.03,0.35 0.04,0.53 -0.22,-0.05 -0.43,-0.09 -0.64,-0.17 -0.14,-0.06 -0.2,0.17 -0.06,0.23 0.23,0.09 0.48,0.15 0.73,0.21 0.02,0.25 0.04,0.5 0.06,0.74 0,0 0,0.01 0,0.01 -0.3,-0.05 -0.59,-0.13 -0.87,-0.23 -0.15,-0.05 -0.21,0.18 -0.06,0.23 0.31,0.12 0.63,0.21 0.96,0.27 0.02,0.21 0.04,0.42 0.08,0.63 0.03,0.12 0.19,0.08 0.2,-0.03 0.02,-0.19 0.01,-0.38 -0.01,-0.57 0.23,0.03 0.47,0.07 0.7,0.07 0.08,0 0.16,-0.02 0.24,-0.02 0,0.03 0,0.06 0,0.09 0,0.27 0.01,0.54 0.01,0.81 -0.05,0.01 -0.09,0.03 -0.14,0.04 -0.67,0.12 -1.34,0.17 -2.02,0.11 -0.16,-0.01 -0.16,0.24 0,0.25 0.69,0.08 1.39,0.08 2.07,-0.04 0.03,-0.01 0.06,-0.02 0.09,-0.02 0,0.1 0,0.2 0,0.31 0,0.18 0.01,0.37 0.01,0.55 -0.51,0.01 -1.02,0.02 -1.53,0.03 -0.14,0 -0.14,0.22 0,0.22 0.52,0 1.03,0.01 1.55,0.01 0.01,0.21 0.03,0.42 0.07,0.62 0,0.01 0.02,0.01 0.02,0.02 -0.39,0.02 -0.77,0.02 -1.16,-0.02 -0.18,-0.02 -0.18,0.26 0,0.28 0.59,0.06 1.19,0.06 1.79,0.01 0,0 0.01,0 0.01,0 0,0 0,0 0,0.01 -0.53,0.18 -1.08,0.29 -1.64,0.29 -0.61,0 -1.23,-0.12 -1.78,-0.37 -0.16,-0.07 -0.34,-0.16 -0.5,-0.27 0.1,-0.62 0.07,-1.29 0.09,-1.91 0.02,-0.64 0.05,-1.29 0.07,-1.93 0.01,-0.64 0.03,-1.29 0.04,-1.93 0,-0.3 0.02,-0.62 0,-0.94 0.49,0.25 0.99,0.49 1.49,0.71 z m -9.23,4.99 c 0.77,-0.34 1.58,-0.6 2.39,-0.82 0.84,-0.23 1.7,-0.4 2.56,-0.53 0.46,-0.07 0.92,-0.11 1.39,-0.16 -0.01,0.2 -0.02,0.4 -0.02,0.6 -0.01,0.22 -0.02,0.44 -0.04,0.67 -0.3,0.2 -0.4,0.62 -0.33,0.99 0.09,0.52 0.45,0.91 0.86,1.21 0.73,0.54 1.63,0.84 2.53,0.94 0.87,0.1 1.79,0.01 2.61,-0.29 0.42,-0.15 0.85,-0.34 1.22,-0.6 0.18,-0.13 0.34,-0.28 0.48,-0.45 0.17,-0.21 0.2,-0.42 0.28,-0.66 0.08,-0.25 -0.18,-0.51 -0.43,-0.43 0,0 0,0 -0.01,0 l -0.03,-1.84 c 0.42,0.04 0.85,0.07 1.27,0.14 1.47,0.24 3.1,0.55 4.46,1.2 0.42,0.2 1.03,0.52 1.2,0.99 0.19,0.53 -0.34,0.86 -0.75,1.05 -1.28,0.6 -2.79,0.89 -4.17,1.17 -3.02,0.61 -6.14,0.73 -9.2,0.41 -1.53,-0.16 -3.05,-0.45 -4.54,-0.85 -0.65,-0.17 -1.34,-0.33 -1.94,-0.64 -0.39,-0.2 -0.96,-0.52 -0.95,-1.02 -0.01,-0.55 0.72,-0.89 1.16,-1.08 z m 1.3,8.17 c 0.03,-0.18 0.01,-0.38 0,-0.55 -0.01,-0.21 -0.03,-0.41 -0.04,-0.62 -0.03,-0.41 -0.06,-0.83 -0.09,-1.24 -0.01,-0.19 -0.31,-0.2 -0.3,0 0.02,0.42 0.05,0.85 0.07,1.27 0.01,0.21 0.02,0.42 0.04,0.62 0.01,0.14 0.02,0.3 0.05,0.44 -0.28,-0.1 -0.55,-0.22 -0.81,-0.36 0,-0.06 0,-0.12 0,-0.17 0,-0.29 0,-0.58 0,-0.87 0,-0.58 -0.01,-1.16 -0.01,-1.74 0,-0.19 -0.29,-0.19 -0.29,0 0,0.58 -0.01,1.16 -0.01,1.74 0,0.29 0,0.58 0,0.87 0,0 0,0 0,0 -0.13,-0.08 -0.25,-0.17 -0.37,-0.26 0,-0.02 0.01,-0.03 0.01,-0.05 0,-0.04 0,-0.09 0,-0.13 0,-0.1 0,-0.19 0,-0.29 0,-0.19 0,-0.39 0,-0.58 0,-0.18 -0.28,-0.18 -0.28,0 0,0.19 0,0.39 0,0.58 0,0.09 0,0.18 0,0.26 -0.18,-0.16 -0.34,-0.34 -0.49,-0.52 0.02,-0.29 0.01,-0.58 0.01,-0.88 0,-0.52 0,-1.03 0.01,-1.55 0,-0.33 0.01,-0.66 0.02,-0.99 0.1,0.07 0.21,0.13 0.32,0.19 0.04,0.02 0.09,0.03 0.14,0.06 -0.01,0.02 -0.03,0.03 -0.04,0.05 -0.06,0.34 -0.08,0.68 -0.11,1.02 -0.01,0.16 -0.04,0.33 -0.03,0.5 0.01,0.17 -0.02,0.34 0.01,0.51 0.03,0.13 0.19,0.1 0.23,0 0.06,-0.15 0.06,-0.32 0.09,-0.48 0.03,-0.16 0.04,-0.34 0.05,-0.5 0.03,-0.33 0.06,-0.65 0.06,-0.98 1.43,0.61 3.06,0.93 4.58,1.19 3.61,0.62 7.29,0.62 10.89,0 1.7,-0.29 3.49,-0.67 5.08,-1.36 0.24,-0.1 0.46,-0.23 0.67,-0.38 0.01,0.36 0.02,0.72 0.01,1.07 0,0 0,0 0,0 -0.02,-0.01 -0.04,-0.03 -0.06,-0.03 -0.07,0 -0.15,0.07 -0.14,0.14 0.03,0.3 0.05,0.61 0.08,0.91 0.01,0.1 0.03,0.2 0.04,0.3 -0.01,0.07 -0.01,0.15 -0.01,0.22 -0.03,0.27 -0.11,0.59 -0.13,0.91 -0.07,0.04 -0.13,0.08 -0.2,0.12 0,-0.01 0,-0.02 0,-0.03 0,-0.2 0,-0.4 0,-0.6 0,-0.39 0,-0.79 0,-1.18 0,-0.14 -0.22,-0.14 -0.22,0 0,0.39 0,0.79 0,1.18 0,0.19 0,0.39 0,0.58 0,0.06 0,0.13 0,0.19 -0.15,0.09 -0.3,0.18 -0.46,0.25 -0.23,0.1 -0.46,0.22 -0.69,0.34 -0.03,-0.26 -0.05,-0.52 -0.05,-0.77 -0.01,-0.53 0.04,-1.05 0.15,-1.57 0.04,-0.18 -0.23,-0.25 -0.27,-0.07 -0.12,0.53 -0.18,1.07 -0.18,1.61 0,0.27 0.01,0.55 0.04,0.82 0,0.04 0.01,0.08 0.01,0.12 -0.35,0.17 -0.7,0.34 -1.06,0.48 0.01,-0.26 0,-0.52 0,-0.77 0,-0.41 0,-0.83 0,-1.24 0,-0.18 -0.28,-0.18 -0.28,0 0,0.41 0,0.83 0,1.24 0,0.29 -0.01,0.58 0.01,0.87 -0.43,0.15 -0.87,0.28 -1.31,0.4 -0.02,-0.13 -0.03,-0.26 -0.03,-0.38 0,-0.33 0.06,-0.65 0.17,-0.95 0.06,-0.18 -0.21,-0.25 -0.28,-0.08 -0.13,0.33 -0.2,0.69 -0.2,1.05 0,0.14 0.01,0.29 0.04,0.44 -0.4,0.1 -0.81,0.18 -1.22,0.25 0,0 0,0 0,0 0,-0.19 0,-0.38 0,-0.57 0,-0.13 -0.21,-0.13 -0.21,0 0,0.19 0,0.38 0,0.57 0,0.01 0,0.03 0,0.04 -0.41,0.07 -0.83,0.12 -1.24,0.17 -1.85,0.2 -3.71,0.15 -5.56,0.01 -0.39,-0.03 -0.79,-0.06 -1.19,-0.09 -0.03,-0.11 -0.06,-0.21 -0.08,-0.33 -0.03,-0.33 0.02,-0.66 0.15,-0.97 0.06,-0.14 -0.14,-0.26 -0.21,-0.12 -0.16,0.34 -0.23,0.71 -0.2,1.09 0.01,0.1 0.04,0.2 0.06,0.3 -0.52,-0.04 -1.04,-0.09 -1.56,-0.14 0,-0.02 -0.01,-0.04 -0.01,-0.07 -0.03,-0.17 -0.05,-0.33 -0.08,-0.5 -0.01,-0.09 -0.15,-0.05 -0.14,0.04 0.03,0.16 0.06,0.32 0.08,0.49 0,0.01 0,0.01 0,0.02 -0.72,-0.08 -1.43,-0.17 -2.13,-0.31 -0.31,-0.07 -0.61,-0.15 -0.9,-0.25 z m 4.64,1.98 c 0.05,0 0.09,0.01 0.14,0.01 -0.07,0 -0.14,0.05 -0.14,0.14 0,0.16 0.02,0.32 0.03,0.48 -0.13,-0.02 -0.26,-0.04 -0.39,-0.06 0.03,-0.19 0.06,-0.4 0.08,-0.6 0.09,0.01 0.18,0.02 0.28,0.03 z m -1.28,8.86 c 0.06,0.71 0.18,1.41 0.27,2.11 0.05,0.36 0.1,0.72 0.15,1.08 -0.05,-0.04 -0.1,-0.08 -0.15,-0.12 0.02,-0.24 0.02,-0.46 -0.06,-0.73 -0.11,-0.36 -0.21,-0.72 -0.3,-1.08 -0.15,-0.6 -0.26,-1.21 -0.33,-1.83 0.12,0.19 0.27,0.38 0.42,0.57 z m 77.74,3.51 c -0.01,-0.13 -0.03,-0.25 -0.03,-0.38 -0.01,-0.41 0.04,-0.82 0.15,-1.22 0.06,-0.21 -0.26,-0.3 -0.33,-0.09 -0.13,0.43 -0.19,0.88 -0.19,1.33 0,0.23 0.02,0.45 0.05,0.68 0,0.01 0,0.01 0,0.02 -0.31,0.29 -0.64,0.54 -0.98,0.79 0.01,-0.11 0.01,-0.21 0.02,-0.32 0.03,-0.44 0.05,-0.88 0.08,-1.32 0.01,-0.2 -0.3,-0.2 -0.31,0 -0.03,0.43 -0.06,0.86 -0.09,1.29 -0.01,0.2 -0.03,0.39 -0.04,0.59 -0.48,0.33 -0.98,0.62 -1.49,0.89 0,-0.22 0,-0.44 0.02,-0.65 0.05,-0.49 0.16,-0.96 0.33,-1.42 0.08,-0.2 -0.25,-0.29 -0.33,-0.09 -0.18,0.48 -0.29,0.98 -0.35,1.48 -0.03,0.25 -0.04,0.51 -0.03,0.77 0,0.03 0.01,0.06 0.01,0.09 -0.35,0.17 -0.7,0.33 -1.05,0.48 0.01,-0.2 0.01,-0.4 0.02,-0.6 0.02,-0.56 0.04,-1.13 0.06,-1.69 0.01,-0.2 -0.31,-0.2 -0.32,0 -0.03,0.55 -0.06,1.11 -0.1,1.66 -0.02,0.26 -0.03,0.52 -0.05,0.78 -0.22,0.09 -0.45,0.18 -0.67,0.26 -0.37,0.14 -0.74,0.24 -1.1,0.37 0,-0.01 0,-0.03 0,-0.04 0,-0.21 0,-0.42 0,-0.63 0,-0.42 0,-0.85 -0.01,-1.27 0,-0.19 -0.3,-0.19 -0.3,0 0,0.42 0,0.85 -0.01,1.27 0,0.21 0,0.42 0,0.63 0,0.04 0,0.1 0,0.14 -0.4,0.14 -0.8,0.27 -1.2,0.41 0.1,-0.49 0.13,-0.99 0.18,-1.48 0.01,-0.07 -0.07,-0.13 -0.13,-0.13 -0.08,0 -0.12,0.06 -0.13,0.13 -0.05,0.49 -0.13,0.97 -0.14,1.46 0,0.03 0.01,0.06 0.04,0.08 -0.73,0.24 -1.46,0.49 -2.19,0.71 v -0.79 c 0,-0.22 -0.35,-0.22 -0.35,0 v 0.89 c -0.39,0.12 -0.79,0.22 -1.19,0.33 0,-0.06 0.01,-0.12 0.01,-0.18 0,-0.1 -0.01,-0.19 -0.03,-0.29 -0.03,-0.19 -0.05,-0.39 -0.08,-0.58 -0.01,-0.1 -0.08,-0.19 -0.2,-0.17 -0.11,0.02 -0.16,0.11 -0.14,0.22 0.03,0.19 0.06,0.39 0.09,0.58 0.01,0.1 0.02,0.19 0.06,0.29 0.02,0.07 0.05,0.14 0.07,0.2 -1.17,0.33 -2.35,0.63 -3.54,0.91 0,-0.01 0,-0.03 0.01,-0.04 0.03,-0.23 0.05,-0.45 0.08,-0.68 0.01,-0.08 -0.07,-0.15 -0.15,-0.15 -0.09,0 -0.14,0.07 -0.15,0.15 l -0.08,0.66 c 0,0.04 -0.01,0.08 -0.01,0.12 -0.41,0.09 -0.82,0.18 -1.23,0.27 0,-0.04 -0.02,-0.09 -0.02,-0.13 0,-0.36 0.11,-0.7 0.31,-0.99 0.11,-0.16 -0.15,-0.31 -0.26,-0.15 -0.24,0.33 -0.37,0.74 -0.39,1.14 0,0.07 0.02,0.14 0.02,0.21 -0.83,0.17 -1.66,0.34 -2.49,0.49 -0.02,-0.2 -0.01,-0.4 0.06,-0.59 0.03,-0.08 -0.03,-0.17 -0.11,-0.2 -0.09,-0.02 -0.17,0.03 -0.2,0.11 -0.09,0.23 -0.1,0.48 -0.07,0.73 -1.1,0.19 -2.2,0.39 -3.31,0.54 -0.02,0 -0.05,0 -0.07,0.01 0.03,-0.06 0.04,-0.14 -0.02,-0.19 -0.06,-0.06 -0.18,-0.07 -0.23,0 -0.06,0.07 -0.09,0.15 -0.12,0.23 -0.68,0.09 -1.36,0.15 -2.04,0.23 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 -0.04,-0.1 -0.14,-0.18 -0.25,-0.14 -0.1,0.03 -0.19,0.15 -0.14,0.25 0,0.01 0.01,0.02 0.01,0.03 -5.27,0.56 -10.57,0.7 -15.85,0.44 -5.35,-0.26 -10.68,-0.88 -15.97,-1.84 0,-0.01 0,-0.01 0,-0.02 0,-0.12 0,-0.25 0,-0.37 0,-0.25 0,-0.5 -0.01,-0.75 0,-0.2 -0.31,-0.2 -0.31,0 0,0.25 0,0.5 -0.01,0.75 0,0.11 0,0.22 0,0.33 -0.77,-0.14 -1.53,-0.27 -2.3,-0.42 -1.66,-0.34 -3.32,-0.73 -4.95,-1.2 0.04,0.01 0.08,0.03 0.12,0.02 0.06,-0.02 0.11,-0.09 0.08,-0.15 -0.03,-0.08 -0.08,-0.13 -0.14,-0.19 -0.02,-0.02 -0.05,-0.04 -0.07,-0.07 -0.02,-0.02 -0.04,-0.04 -0.07,-0.06 0.02,0.02 -0.01,0 -0.01,-0.01 -0.05,-0.04 -0.1,-0.09 -0.15,-0.14 -0.03,-0.03 -0.05,-0.05 -0.07,-0.08 -0.01,-0.01 -0.02,-0.02 -0.03,-0.04 0,0 -0.02,-0.02 -0.02,-0.03 -0.18,-0.23 -0.27,-0.45 -0.33,-0.73 -0.02,-0.1 -0.14,-0.16 -0.23,-0.13 -0.11,0.03 -0.15,0.13 -0.13,0.23 0.05,0.3 0.18,0.6 0.36,0.85 0.1,0.13 0.2,0.25 0.33,0.35 0.05,0.04 0.11,0.07 0.16,0.11 -1,-0.29 -2,-0.6 -2.98,-0.96 -1.58,-0.58 -3.11,-1.26 -4.58,-2.09 0.09,0.04 0.17,-0.04 0.16,-0.13 -0.01,-0.1 -0.08,-0.19 -0.13,-0.28 -0.04,-0.08 -0.09,-0.16 -0.13,-0.25 -0.09,-0.18 -0.18,-0.37 -0.25,-0.56 -0.14,-0.38 -0.23,-0.77 -0.27,-1.17 -0.02,-0.18 -0.3,-0.18 -0.29,0 0.03,0.43 0.12,0.86 0.27,1.27 0.07,0.2 0.15,0.4 0.25,0.58 0.05,0.1 0.11,0.19 0.18,0.29 0.06,0.08 0.11,0.17 0.2,0.23 -0.46,-0.26 -0.91,-0.53 -1.35,-0.83 0.03,-0.01 0.05,-0.04 0.05,-0.08 -0.02,-0.2 -0.11,-0.4 -0.15,-0.59 -0.05,-0.19 -0.08,-0.39 -0.1,-0.59 -0.03,-0.41 0.01,-0.82 0.13,-1.22 0.05,-0.17 -0.22,-0.25 -0.27,-0.07 -0.13,0.42 -0.18,0.87 -0.15,1.31 0.02,0.22 0.05,0.43 0.11,0.64 0.05,0.16 0.12,0.34 0.22,0.48 -0.45,-0.31 -0.9,-0.62 -1.34,-0.97 -0.05,-0.04 -0.1,-0.08 -0.15,-0.12 -0.01,-0.08 -0.02,-0.15 -0.03,-0.23 -0.05,-0.39 -0.1,-0.77 -0.15,-1.16 -0.08,-0.56 -0.15,-1.13 -0.24,-1.69 0,0 0.01,0.01 0.01,0.01 1.37,1.4 3.1,2.25 4.8,3.04 1.87,0.86 3.79,1.57 5.74,2.16 3.99,1.19 8.08,1.89 12.18,2.38 4.08,0.49 8.18,0.78 12.29,0.94 8.17,0.32 16.4,0.01 24.48,-1.54 4.03,-0.78 8.02,-1.87 11.89,-3.37 2.53,-0.98 5.64,-2.11 7.54,-4.4 0.02,0.24 0.04,0.48 0.07,0.73 0.01,0.15 0.03,0.3 0.04,0.46 0,0 0,0 0,0 -0.02,0.12 -0.05,0.25 -0.07,0.38 0,-0.26 -0.01,-0.53 -0.01,-0.79 0,-0.22 -0.34,-0.22 -0.35,0 0,0.3 -0.01,0.61 -0.01,0.91 0,0.15 -0.01,0.3 -0.01,0.46 0,0.1 -0.01,0.22 0,0.33 -0.02,0.02 -0.03,0.05 -0.05,0.07 -0.35,0.52 -0.75,0.95 -1.16,1.36 z m -0.06,-13.72 c 0.05,0.38 0.07,0.77 0.06,1.16 -0.01,0.22 -0.04,0.43 -0.07,0.64 -0.05,-0.01 -0.1,-0.01 -0.15,0.03 -0.19,0.16 -0.39,0.3 -0.6,0.44 -0.01,-0.42 -0.01,-0.83 -0.02,-1.25 0,-0.06 -0.03,-0.1 -0.06,-0.13 -0.01,-0.06 -0.02,-0.11 -0.03,-0.17 -0.03,-0.17 -0.06,-0.33 -0.09,-0.5 l -0.07,-0.39 c 0,0 0,0 0,-0.01 l -0.09,-0.49 c 0.16,-0.01 0.33,-0.03 0.49,-0.04 0.02,0.34 0.04,0.68 0.05,1.02 0.01,0.23 0.02,0.47 0.04,0.7 0.01,0.22 0,0.49 0.09,0.69 0.05,0.13 0.24,0.15 0.28,0 0.06,-0.21 0.02,-0.47 0.01,-0.69 -0.01,-0.23 -0.03,-0.47 -0.05,-0.7 -0.02,-0.35 -0.05,-0.7 -0.07,-1.05 0.05,0 0.11,-0.01 0.16,-0.01 0.03,0.25 0.08,0.51 0.12,0.75 z m 6.13,-3.39 c 0,-0.15 -0.01,-0.3 -0.01,-0.46 -0.01,-0.29 -0.03,-0.58 -0.04,-0.87 -0.03,-0.58 -0.06,-1.16 -0.09,-1.74 -0.01,-0.18 -0.29,-0.18 -0.29,0 0.02,0.58 0.05,1.16 0.07,1.74 0.01,0.29 0.02,0.58 0.03,0.87 0.01,0.2 0.02,0.41 0.05,0.61 -0.33,0.18 -0.68,0.33 -1.05,0.45 0,-0.05 0,-0.11 -0.01,-0.16 l -0.04,-0.95 c -0.02,-0.64 -0.05,-1.27 -0.07,-1.91 -0.01,-0.2 -0.32,-0.2 -0.31,0 0.02,0.65 0.03,1.3 0.05,1.94 l 0.02,0.95 c 0,0.08 0.01,0.15 0.01,0.23 -0.29,0.08 -0.58,0.16 -0.87,0.21 -0.11,0.02 -0.23,0.03 -0.35,0.05 0,-0.05 0,-0.11 0,-0.16 0,-0.12 0,-0.25 0,-0.37 0,-0.25 0,-0.5 0,-0.75 0,-0.17 -0.27,-0.17 -0.27,0 0,0.25 0,0.5 0,0.75 0,0.12 0,0.25 0,0.37 0,0.07 0,0.14 0,0.21 -0.35,0.05 -0.69,0.11 -1.04,0.15 0.02,-0.38 0.01,-0.77 0.01,-1.15 0,-0.17 -0.27,-0.17 -0.27,0 0,0.39 0,0.78 0.01,1.17 -0.54,0.06 -1.09,0.11 -1.64,0.15 -0.02,-0.07 -0.04,-0.14 -0.06,-0.21 -0.06,-0.17 -0.11,-0.33 -0.17,-0.5 -0.02,-0.07 -0.09,-0.11 -0.16,-0.09 -0.07,0.02 -0.11,0.09 -0.09,0.16 0.05,0.17 0.11,0.33 0.16,0.5 0.02,0.06 0.04,0.11 0.06,0.16 -0.61,0.04 -1.22,0.09 -1.83,0.13 -1.55,0.11 -3.09,0.16 -4.64,0.08 -0.05,-0.1 -0.19,-0.1 -0.26,-0.02 -0.09,-0.01 -0.17,-0.01 -0.26,-0.02 0,-0.01 0.01,-0.02 0.01,-0.03 0.01,-0.01 0.02,-0.03 0.02,-0.05 0.01,-0.02 0.01,-0.03 0.01,-0.05 v -0.25 c 0,-0.04 -0.02,-0.08 -0.04,-0.11 -0.03,-0.03 -0.07,-0.05 -0.11,-0.04 -0.04,0 -0.08,0.01 -0.11,0.04 -0.03,0.03 -0.04,0.07 -0.04,0.11 v 0.25 c 0,0.02 0,0.03 0.01,0.05 0,0.01 0.01,0.03 0.02,0.05 0,0 0,0.01 0.01,0.01 -0.18,-0.01 -0.37,-0.02 -0.55,-0.04 -1.4,-0.14 -2.77,-0.39 -4.11,-0.79 0,-0.06 0,-0.12 -0.01,-0.18 -0.01,-0.2 -0.03,-0.4 -0.04,-0.6 -0.03,-0.39 -0.06,-0.79 -0.09,-1.18 -0.01,-0.18 -0.3,-0.19 -0.29,0 0.02,0.39 0.05,0.79 0.07,1.18 0.01,0.19 0.02,0.39 0.03,0.58 0,0.04 0.01,0.07 0.01,0.11 -0.13,-0.04 -0.27,-0.08 -0.4,-0.12 -0.15,-0.05 -0.28,-0.12 -0.42,-0.18 0.03,-0.16 0.04,-0.32 0.05,-0.48 l 0.12,-2.24 c 0.01,-0.17 -0.26,-0.17 -0.27,0 -0.03,0.5 -0.05,0.99 -0.08,1.49 -0.01,0.25 -0.03,0.5 -0.04,0.75 -0.01,0.12 -0.02,0.25 -0.01,0.38 -0.43,-0.19 -0.86,-0.37 -1.28,-0.57 0.04,-0.01 0.08,-0.03 0.1,-0.07 0.05,-0.18 0.05,-0.38 0.07,-0.56 0.02,-0.19 0.02,-0.39 0.03,-0.58 0.02,-0.39 0.04,-0.77 0.06,-1.16 0.01,-0.14 -0.21,-0.14 -0.22,0 -0.03,0.39 -0.06,0.77 -0.1,1.16 -0.02,0.19 -0.04,0.39 -0.05,0.58 -0.01,0.19 -0.03,0.38 0,0.56 0.01,0.04 0.04,0.04 0.07,0.05 -0.09,-0.04 -0.18,-0.08 -0.27,-0.12 -0.22,-0.09 -0.44,-0.21 -0.65,-0.34 0,-0.63 0.01,-1.27 0.01,-1.9 0,-0.1 -0.15,-0.1 -0.15,0 0,0.61 0,1.21 0.01,1.82 -0.05,-0.03 -0.11,-0.06 -0.16,-0.1 -0.03,-0.31 -0.11,-0.64 -0.14,-0.91 -0.06,-0.52 -0.1,-1.03 -0.11,-1.55 -0.01,-0.36 0,-0.72 0.01,-1.07 0.23,0.15 0.47,0.28 0.72,0.38 1.7,0.69 3.6,1.06 5.42,1.36 3.85,0.62 7.77,0.62 11.62,0 1.76,-0.28 3.69,-0.61 5.31,-1.35 0.12,-0.05 0.23,-0.12 0.34,-0.19 0,0.25 0.01,0.5 0.01,0.74 0,0.36 0,0.72 0,1.08 0,0.22 0,0.44 0,0.66 0,0.11 0,0.22 0,0.33 0,0.08 0,0.16 0.02,0.23 0,0.13 0.01,0.25 0.02,0.38 -0.31,0.39 -0.68,0.7 -1.09,0.96 z"
+   id="path4" />
+			<path
+   class="st1"
+   d="m 273.24,491.38 c -0.02,-0.1 -0.17,-0.06 -0.15,0.04 0.05,0.35 0.1,0.71 0.15,1.06 0.05,0.35 0.09,0.71 0.18,1.05 0.02,0.09 0.17,0.07 0.16,-0.02 -0.02,-0.36 -0.09,-0.71 -0.15,-1.06 -0.07,-0.36 -0.13,-0.72 -0.19,-1.07 z"
+   id="path6" />
+			<path
+   class="st1"
+   d="m 273.69,494.04 c 0.07,0 0.07,-0.1 0,-0.1 -0.07,0 -0.07,0.1 0,0.1 z"
+   id="path8" />
+			<path
+   class="st1"
+   d="m 274.86,491.96 c -0.03,-0.41 -0.06,-0.81 -0.09,-1.22 -0.01,-0.17 -0.28,-0.17 -0.27,0 0.03,0.41 0.05,0.83 0.08,1.24 0.01,0.21 0.02,0.42 0.04,0.62 0.02,0.2 0.03,0.41 0.08,0.6 0.03,0.11 0.18,0.08 0.19,-0.03 0.02,-0.2 0,-0.42 0,-0.62 0,-0.19 -0.02,-0.39 -0.03,-0.59 z"
+   id="path10" />
+			<path
+   class="st1"
+   d="m 277.56,495.11 c 0.02,0.11 0.06,0.33 0.22,0.29 0.15,-0.04 0.09,-0.26 0.07,-0.37 -0.03,-0.14 -0.06,-0.28 -0.1,-0.42 -0.06,-0.27 -0.12,-0.54 -0.19,-0.81 -0.04,-0.18 -0.31,-0.1 -0.27,0.08 0.06,0.27 0.12,0.55 0.18,0.82 0.03,0.13 0.06,0.27 0.09,0.41 z"
+   id="path12" />
+			<path
+   class="st1"
+   d="m 281.83,493.99 c -0.03,-0.33 -0.06,-0.65 -0.09,-0.98 -0.01,-0.11 -0.18,-0.11 -0.17,0 0.03,0.33 0.05,0.66 0.08,0.99 0.01,0.17 0.03,0.33 0.04,0.5 0.02,0.16 0.02,0.33 0.07,0.48 0.02,0.07 0.12,0.05 0.13,-0.02 0.02,-0.16 -0.01,-0.34 -0.02,-0.5 -0.01,-0.15 -0.03,-0.31 -0.04,-0.47 z"
+   id="path14" />
+			<path
+   class="st1"
+   d="m 295.56,495.73 c 0.02,0.19 0.03,0.42 0.13,0.59 0.04,0.06 0.13,0.05 0.15,-0.02 0.05,-0.18 -0.01,-0.4 -0.03,-0.58 -0.03,-0.21 -0.06,-0.43 -0.09,-0.64 -0.06,-0.42 -0.12,-0.84 -0.18,-1.27 -0.02,-0.13 -0.24,-0.1 -0.22,0.03 0.06,0.42 0.11,0.84 0.17,1.27 0.02,0.2 0.05,0.41 0.07,0.62 z"
+   id="path16" />
+			<path
+   class="st1"
+   d="m 296.78,496.03 c 0.01,0.08 0.02,0.15 0.03,0.23 0.01,0.07 0.01,0.16 0.05,0.22 0.04,0.05 0.13,0.07 0.16,0 0.06,-0.12 0.02,-0.3 0.01,-0.43 -0.01,-0.16 -0.03,-0.32 -0.04,-0.47 -0.03,-0.31 -0.06,-0.62 -0.09,-0.93 -0.02,-0.15 -0.26,-0.16 -0.24,0 0.03,0.31 0.05,0.62 0.08,0.93 0.01,0.14 0.02,0.3 0.04,0.45 z"
+   id="path18" />
+			<path
+   class="st1"
+   d="m 298.26,496.25 c 0.01,0.06 0.01,0.11 0.02,0.17 0.01,0.07 0.03,0.13 0.05,0.19 0.02,0.06 0.14,0.08 0.15,0 0.01,-0.07 0.02,-0.13 0.02,-0.19 -0.01,-0.06 -0.01,-0.11 -0.02,-0.17 -0.01,-0.12 -0.02,-0.25 -0.04,-0.37 -0.03,-0.25 -0.06,-0.5 -0.08,-0.75 -0.01,-0.06 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.12,0.05 -0.12,0.12 0.03,0.25 0.06,0.5 0.08,0.75 0.03,0.12 0.04,0.25 0.06,0.37 z"
+   id="path20" />
+			<path
+   class="st1"
+   d="m 299.49,496.57 c 0.01,0.08 0.02,0.15 0.03,0.23 0.01,0.07 0.02,0.14 0.08,0.19 0.03,0.03 0.09,0.04 0.13,0 0.09,-0.11 0.06,-0.28 0.05,-0.41 -0.01,-0.14 -0.02,-0.28 -0.04,-0.41 -0.02,-0.29 -0.05,-0.57 -0.07,-0.86 -0.02,-0.18 -0.3,-0.18 -0.29,0 0.02,0.29 0.05,0.57 0.07,0.86 0.01,0.13 0.03,0.26 0.04,0.4 z"
+   id="path22" />
+			<path
+   class="st1"
+   d="m 301.5,501.52 c 0.07,0 0.07,-0.1 0,-0.1 -0.07,0 -0.07,0.1 0,0.1 z"
+   id="path24" />
+			<path
+   class="st1"
+   d="m 303.12,499.91 c 0.08,0 0.08,-0.13 0,-0.13 -0.08,0 -0.08,0.13 0,0.13 z"
+   id="path26" />
+			<path
+   class="st1"
+   d="m 306.54,502.34 c 0.07,0 0.07,-0.11 0,-0.11 -0.07,0 -0.07,0.11 0,0.11 z"
+   id="path28" />
+			<path
+   class="st1"
+   d="m 308.65,498.61 c 0.08,0 0.09,-0.13 0,-0.13 -0.08,0 -0.08,0.13 0,0.13 z"
+   id="path30" />
+			<path
+   class="st1"
+   d="m 268.16,503.98 c -0.12,0 -0.12,0.19 0,0.19 0.12,0 0.12,-0.19 0,-0.19 z"
+   id="path32" />
+			<path
+   class="st1"
+   d="m 270.25,505.79 c 0.27,0.08 0.54,0.17 0.81,0.25 0.13,0.04 0.27,0.08 0.4,0.12 0.14,0.04 0.28,0.06 0.43,0.08 0.06,0.01 0.12,-0.08 0.05,-0.12 -0.13,-0.06 -0.26,-0.12 -0.4,-0.17 -0.13,-0.04 -0.27,-0.08 -0.4,-0.12 -0.28,-0.08 -0.55,-0.16 -0.83,-0.24 -0.13,-0.02 -0.18,0.17 -0.06,0.2 z"
+   id="path34" />
+			<path
+   class="st1"
+   d="m 291.58,504.54 h 0.99 c 0.17,0 0.33,0 0.5,-0.01 0.16,-0.01 0.33,0 0.49,-0.04 0.1,-0.03 0.1,-0.17 0,-0.2 -0.16,-0.04 -0.33,-0.03 -0.49,-0.04 -0.17,-0.01 -0.33,-0.01 -0.5,-0.01 h -0.99 c -0.18,0.02 -0.18,0.3 0,0.3 z"
+   id="path36" />
+			<path
+   class="st1"
+   d="m 292.36,505.58 c -0.16,0.03 -0.09,0.28 0.07,0.25 0.3,-0.05 0.61,-0.1 0.91,-0.16 0.15,-0.03 0.3,-0.06 0.45,-0.09 0.15,-0.03 0.3,-0.05 0.44,-0.11 0.1,-0.04 0.04,-0.19 -0.05,-0.19 -0.15,-0.01 -0.31,0.03 -0.46,0.05 -0.15,0.02 -0.31,0.05 -0.46,0.08 -0.3,0.05 -0.6,0.11 -0.9,0.17 z"
+   id="path38" />
+			<path
+   class="st1"
+   d="m 260.99,498.22 c 0,-0.07 -0.07,-0.15 -0.15,-0.15 -0.47,0.04 -0.93,0.19 -1.33,0.44 -0.2,0.12 -0.38,0.27 -0.54,0.44 -0.08,0.09 -0.17,0.18 -0.24,0.28 -0.06,0.09 -0.16,0.22 -0.12,0.33 0.02,0.05 0.06,0.1 0.12,0.09 0.12,-0.01 0.17,-0.11 0.25,-0.19 0.07,-0.08 0.13,-0.17 0.21,-0.24 0.15,-0.15 0.31,-0.29 0.48,-0.4 0.35,-0.24 0.75,-0.4 1.17,-0.45 0.08,-0.02 0.15,-0.07 0.15,-0.15 z"
+   id="path40" />
+			<path
+   class="st1"
+   d="m 250.89,501.52 c 0.04,-0.03 0.1,-0.06 0.13,-0.12 0.02,-0.05 0.01,-0.11 -0.05,-0.13 -0.03,-0.01 -0.05,-0.01 -0.08,-0.01 -0.01,0 -0.03,0 -0.04,0 0,0 -0.02,0 -0.01,0 -0.04,0 -0.08,-0.01 -0.12,0 -0.02,0.01 -0.05,0.01 -0.07,0.01 0.02,0 -0.01,0 -0.02,0 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.05,0 -0.07,0 -0.06,0 -0.09,0 -0.13,-0.01 -0.19,-0.03 -0.35,-0.12 -0.48,-0.25 -0.13,-0.14 -0.33,0.07 -0.21,0.21 0.16,0.17 0.39,0.29 0.62,0.33 0.12,0.02 0.23,0.03 0.35,0.01 0.07,0.01 0.15,0 0.21,-0.04 z"
+   id="path42" />
+			<path
+   class="st1"
+   d="m 253.2,498.94 c -0.05,0 -0.1,0.04 -0.1,0.1 0,0.05 0.04,0.1 0.1,0.1 0.11,0 0.22,0 0.33,0 0.05,0 0.1,0 0.16,0 0.06,0 0.11,-0.01 0.17,-0.01 0.1,-0.01 0.1,-0.15 0,-0.16 -0.05,-0.01 -0.11,-0.01 -0.16,-0.01 -0.05,0 -0.11,0 -0.16,0 -0.12,-0.02 -0.23,-0.02 -0.34,-0.02 z"
+   id="path44" />
+			<path
+   class="st1"
+   d="m 317.11,500.16 c 0.33,0 0.65,0 0.98,0 0.33,0 0.65,0.01 0.98,-0.02 0.17,-0.02 0.17,-0.24 0,-0.26 -0.33,-0.03 -0.65,-0.02 -0.98,-0.02 -0.33,0 -0.65,0 -0.98,0 -0.19,0 -0.19,0.3 0,0.3 z"
+   id="path46" />
+			<path
+   class="st1"
+   d="m 317.92,499 c 0.19,0 0.38,0.01 0.57,0.01 0.09,0 0.19,0.01 0.28,0.01 0.1,0 0.21,0.01 0.31,-0.01 0.15,-0.02 0.15,-0.28 0,-0.3 -0.1,-0.02 -0.21,-0.01 -0.31,-0.01 -0.09,0 -0.19,0.01 -0.28,0.01 -0.19,0 -0.38,0.01 -0.57,0.01 -0.17,0.02 -0.17,0.28 0,0.28 z"
+   id="path48" />
+			<path
+   class="st1"
+   d="m 319.06,495.65 c -0.17,0 -0.17,0.26 0,0.26 0.17,0 0.17,-0.26 0,-0.26 z"
+   id="path50" />
+			<path
+   class="st1"
+   d="m 322.11,501.27 c 0.14,-0.11 0.27,-0.22 0.41,-0.32 0.14,-0.11 0.26,-0.23 0.37,-0.36 0.08,-0.08 -0.02,-0.21 -0.12,-0.15 -0.16,0.09 -0.31,0.19 -0.46,0.3 -0.14,0.11 -0.28,0.22 -0.41,0.33 -0.06,0.05 -0.05,0.16 0,0.21 0.06,0.05 0.14,0.04 0.21,-0.01 z"
+   id="path52" />
+			<path
+   class="st1"
+   d="m 322.31,499.56 c 0.05,0 0.11,-0.02 0.14,-0.06 0.08,-0.09 0.15,-0.17 0.23,-0.26 0.08,-0.09 0.15,-0.18 0.22,-0.27 0.03,-0.03 0.04,-0.06 0.04,-0.11 0,-0.04 -0.02,-0.08 -0.04,-0.11 -0.03,-0.03 -0.07,-0.05 -0.11,-0.04 -0.04,0 -0.07,0.02 -0.11,0.04 -0.09,0.07 -0.18,0.14 -0.27,0.22 -0.09,0.08 -0.17,0.15 -0.26,0.23 -0.08,0.07 -0.08,0.21 0,0.28 0.06,0.06 0.11,0.08 0.16,0.08 z"
+   id="path54" />
+			<path
+   class="st1"
+   d="m 322.08,495.33 c 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 z"
+   id="path56" />
+			<path
+   class="st1"
+   d="m 296.98,488.93 c 0.59,-0.12 1.17,-0.31 1.75,-0.47 0.57,-0.16 1.15,-0.3 1.67,-0.58 0.06,-0.03 0.04,-0.14 -0.04,-0.14 -0.59,0.04 -1.16,0.22 -1.72,0.39 -0.58,0.17 -1.17,0.31 -1.73,0.52 -0.19,0.06 -0.12,0.32 0.07,0.28 z"
+   id="path58" />
+			<path
+   class="st1"
+   d="m 300.3,488.36 c -0.36,0.16 -0.7,0.33 -1.07,0.45 -0.37,0.11 -0.76,0.17 -1.14,0.18 -0.16,0 -0.16,0.26 0,0.25 0.41,0 0.82,-0.06 1.22,-0.17 0.39,-0.11 0.8,-0.25 1.12,-0.5 0.12,-0.1 0.01,-0.28 -0.13,-0.21 z"
+   id="path60" />
+			<path
+   class="st1"
+   d="m 299.61,489.03 c -0.52,0.2 -1.05,0.4 -1.57,0.6 -0.16,0.06 -0.1,0.33 0.07,0.27 0.54,-0.19 1.07,-0.38 1.61,-0.57 0.27,-0.09 0.54,-0.19 0.8,-0.29 0.13,-0.05 0.27,-0.1 0.4,-0.15 0.12,-0.05 0.24,-0.08 0.34,-0.17 0.09,-0.09 0.02,-0.23 -0.1,-0.24 -0.13,-0.01 -0.26,0.06 -0.39,0.1 -0.13,0.05 -0.27,0.1 -0.4,0.15 -0.24,0.1 -0.5,0.2 -0.76,0.3 z"
+   id="path62" />
+			<path
+   class="st1"
+   d="m 300.34,489.75 c -0.44,0.12 -0.88,0.23 -1.32,0.35 -0.17,0.04 -0.1,0.31 0.07,0.26 0.44,-0.11 0.88,-0.22 1.33,-0.33 l 0.65,-0.16 c 0.21,-0.05 0.44,-0.11 0.63,-0.23 0.07,-0.05 0.04,-0.15 -0.04,-0.16 -0.21,-0.01 -0.44,0.04 -0.64,0.09 -0.23,0.06 -0.46,0.12 -0.68,0.18 z"
+   id="path64" />
+			<path
+   class="st1"
+   d="m 301.58,490.59 c 0.04,-0.06 0,-0.15 -0.07,-0.16 -0.17,-0.05 -0.39,0.08 -0.54,0.15 -0.18,0.07 -0.36,0.15 -0.55,0.22 -0.36,0.15 -0.73,0.29 -1.09,0.44 -0.07,0.03 -0.12,0.09 -0.1,0.17 0.02,0.07 0.1,0.13 0.17,0.1 0.37,-0.14 0.74,-0.29 1.11,-0.43 l 0.55,-0.21 c 0.17,-0.07 0.43,-0.13 0.52,-0.28 z"
+   id="path66" />
+			<path
+   class="st1"
+   d="m 301.59,491.27 c -0.22,0.16 -0.44,0.32 -0.65,0.48 -0.03,0.02 -0.06,0.05 -0.07,0.09 -0.01,0.03 -0.01,0.08 0.01,0.11 0.04,0.06 0.13,0.1 0.2,0.05 0.22,-0.16 0.43,-0.33 0.65,-0.49 0.03,-0.02 0.05,-0.04 0.06,-0.08 0.01,-0.03 0,-0.08 -0.01,-0.11 -0.04,-0.05 -0.13,-0.09 -0.19,-0.05 z"
+   id="path68" />
+			<path
+   class="st1"
+   d="m 276.36,497.27 c -0.05,-0.03 -0.11,-0.05 -0.16,-0.08 -0.11,-0.05 -0.22,-0.09 -0.34,-0.13 -0.23,-0.08 -0.45,-0.17 -0.68,-0.25 -0.06,-0.02 -0.12,0.02 -0.14,0.08 -0.02,0.06 0.02,0.12 0.08,0.14 0.22,0.08 0.44,0.17 0.66,0.25 0.11,0.04 0.22,0.08 0.33,0.12 0.06,0.02 0.11,0.04 0.17,0.05 0.06,0.01 0.11,0.04 0.17,0.03 0.06,-0.01 0.09,-0.07 0.05,-0.12 -0.04,-0.04 -0.09,-0.06 -0.14,-0.09 z"
+   id="path70" />
+			<path
+   class="st1"
+   d="m 277.75,497.63 c -0.14,0 -0.14,0.21 0,0.21 0.14,0 0.14,-0.21 0,-0.21 z"
+   id="path72" />
+			<path
+   class="st1"
+   d="m 272.67,497.44 c -0.08,-0.02 -0.16,-0.03 -0.25,-0.04 -0.17,-0.02 -0.33,-0.05 -0.5,-0.07 -0.04,-0.01 -0.09,0.01 -0.1,0.06 -0.01,0.04 0.01,0.09 0.06,0.1 0.17,0.03 0.34,0.06 0.5,0.1 0.08,0.02 0.17,0.03 0.25,0.04 0.09,0.01 0.17,0.02 0.26,0.01 0.05,-0.01 0.06,-0.09 0.01,-0.11 -0.07,-0.05 -0.15,-0.07 -0.23,-0.09 z"
+   id="path74" />
+			<path
+   class="st1"
+   d="m 284.52,498.3 c 0.15,0.02 0.3,0.04 0.46,0.05 0.14,0.01 0.3,0.02 0.44,-0.01 0.09,-0.02 0.07,-0.14 0,-0.17 -0.13,-0.05 -0.3,-0.07 -0.44,-0.09 -0.15,-0.02 -0.3,-0.02 -0.46,-0.03 -0.3,-0.02 -0.61,-0.03 -0.91,-0.05 -0.12,-0.01 -0.12,0.17 0,0.19 0.3,0.03 0.6,0.07 0.91,0.11 z"
+   id="path76" />
+			<path
+   class="st1"
+   d="m 286.86,498.51 c 0.19,0 0.39,0 0.58,0 0.1,0 0.19,0 0.29,-0.01 0.1,-0.01 0.2,0 0.29,-0.03 0.09,-0.03 0.09,-0.15 0,-0.18 -0.09,-0.03 -0.19,-0.03 -0.29,-0.03 -0.1,-0.01 -0.19,-0.01 -0.29,-0.01 -0.19,0 -0.39,0 -0.58,0 -0.16,0.01 -0.16,0.26 0,0.26 z"
+   id="path78" />
+			<path
+   class="st1"
+   d="m 288.81,498.49 c 0.37,0.03 0.75,0.07 1.12,0.05 0.36,-0.02 0.72,-0.07 1.08,-0.1 0.36,-0.03 0.72,-0.02 1.08,-0.07 0.32,-0.04 0.71,-0.07 1,-0.22 0.09,-0.05 0.05,-0.19 -0.05,-0.19 -0.32,0 -0.66,0.12 -0.98,0.19 -0.38,0.08 -0.74,0.17 -1.13,0.2 -0.35,0.03 -0.69,0 -1.04,-0.02 -0.36,-0.02 -0.72,-0.02 -1.08,-0.05 -0.13,-0.01 -0.13,0.2 0,0.21 z"
+   id="path80" />
+			<path
+   class="st1"
+   d="m 287.51,499.8 c 0.3,0 0.61,0.01 0.91,0.01 0.15,0 0.3,0 0.46,0 0.14,0 0.31,0.01 0.45,-0.04 0.09,-0.03 0.09,-0.15 0,-0.18 -0.13,-0.05 -0.3,-0.04 -0.45,-0.04 -0.15,0 -0.3,0 -0.46,0 -0.3,0 -0.61,0.01 -0.91,0.01 -0.15,0.01 -0.15,0.24 0,0.24 z"
+   id="path82" />
+			<path
+   class="st1"
+   d="m 267.54,511.12 c 0.1,0.04 0.2,0.09 0.3,0.12 0.1,0.04 0.21,0.09 0.31,0.09 0.09,0 0.13,-0.11 0.07,-0.17 -0.07,-0.08 -0.18,-0.11 -0.27,-0.16 -0.1,-0.05 -0.2,-0.1 -0.31,-0.14 -0.2,-0.08 -0.39,-0.16 -0.59,-0.25 -0.06,-0.03 -0.14,0.02 -0.16,0.08 -0.02,0.06 -0.01,0.14 0.05,0.17 0.21,0.08 0.4,0.17 0.6,0.26 z"
+   id="path84" />
+			<path
+   class="st1"
+   d="m 265.39,511.14 c -0.12,0 -0.12,0.18 0,0.18 0.12,0 0.12,-0.18 0,-0.18 z"
+   id="path86" />
+			<path
+   class="st1"
+   d="m 260.98,510.9 c 0.05,0.01 0.11,0.03 0.16,0.04 0.05,0.01 0.11,0.02 0.17,0.03 0.09,0.01 0.13,-0.11 0.04,-0.14 -0.05,-0.02 -0.11,-0.04 -0.16,-0.05 -0.05,-0.02 -0.11,-0.03 -0.16,-0.04 -0.11,-0.03 -0.22,-0.05 -0.33,-0.08 -0.1,-0.03 -0.15,0.13 -0.04,0.16 z"
+   id="path88" />
+			<path
+   class="st1"
+   d="m 255.45,510.18 1.38,0.5 c 0.46,0.17 0.91,0.37 1.38,0.48 0.1,0.02 0.18,-0.13 0.07,-0.18 -0.44,-0.21 -0.92,-0.34 -1.38,-0.49 -0.47,-0.16 -0.94,-0.32 -1.41,-0.48 -0.1,-0.03 -0.14,0.13 -0.04,0.17 z"
+   id="path90" />
+			<path
+   class="st1"
+   d="m 252.36,511.16 c 0.24,0.08 0.49,0.16 0.73,0.24 0.24,0.08 0.49,0.17 0.74,0.23 0.08,0.02 0.14,-0.1 0.06,-0.14 -0.24,-0.1 -0.49,-0.18 -0.73,-0.26 -0.25,-0.08 -0.5,-0.17 -0.75,-0.25 -0.11,-0.04 -0.16,0.14 -0.05,0.18 z"
+   id="path92" />
+			<path
+   class="st1"
+   d="m 313.2,503.83 c 0.02,0.15 0.01,0.32 0.08,0.46 0.04,0.08 0.17,0.06 0.19,-0.02 0.04,-0.14 0,-0.31 -0.01,-0.45 -0.01,-0.15 -0.03,-0.3 -0.05,-0.46 -0.03,-0.3 -0.07,-0.61 -0.1,-0.91 -0.02,-0.14 -0.23,-0.15 -0.22,0 0.02,0.31 0.04,0.62 0.07,0.93 0.01,0.15 0.02,0.3 0.04,0.45 z"
+   id="path94" />
+			<path
+   class="st1"
+   d="m 311.71,507.76 c 0.29,-0.29 0.52,-0.63 0.75,-0.97 0.23,-0.34 0.46,-0.68 0.7,-1.02 0.06,-0.09 -0.08,-0.17 -0.15,-0.09 -0.25,0.32 -0.49,0.65 -0.74,0.97 -0.25,0.32 -0.49,0.64 -0.67,1.01 -0.03,0.09 0.05,0.16 0.11,0.1 z"
+   id="path96" />
+			<path
+   class="st1"
+   d="m 310.77,508.66 c 0.25,0 0.25,-0.39 0,-0.39 -0.25,0 -0.25,0.39 0,0.39 z"
+   id="path98" />
+			<path
+   class="st1"
+   d="m 311.67,508.49 c -0.08,0.06 -0.03,0.18 0.07,0.16 0.58,-0.13 1.11,-0.57 1.51,-0.99 0.42,-0.43 0.75,-0.94 0.97,-1.49 0.52,-1.28 0.42,-2.73 -0.24,-3.95 -0.05,-0.1 -0.2,-0.01 -0.15,0.09 0.57,1.15 0.64,2.56 0.14,3.75 -0.21,0.52 -0.53,1 -0.93,1.4 -0.4,0.42 -0.9,0.68 -1.37,1.03 z"
+   id="path100" />
+			<path
+   class="st1"
+   d="m 311.74,509.79 c 0.03,0 0.03,-0.05 0,-0.05 -0.03,0 -0.03,0.05 0,0.05 z"
+   id="path102" />
+			<path
+   class="st1"
+   d="m 320.25,508.39 c 0.02,-0.01 0.04,-0.04 0.04,-0.06 0.01,-0.02 0,-0.05 -0.01,-0.07 -0.03,-0.04 -0.08,-0.06 -0.13,-0.03 l -0.32,0.18 c -0.04,0.02 -0.05,0.07 -0.03,0.11 0.03,0.04 0.07,0.05 0.11,0.03 0.12,-0.06 0.23,-0.11 0.34,-0.16 z"
+   id="path104" />
+			<path
+   class="st1"
+   d="m 288.57,512.46 c 0.19,0 0.38,0 0.57,-0.02 0.09,-0.01 0.09,-0.13 0,-0.14 -0.19,-0.02 -0.38,-0.02 -0.57,-0.02 -0.19,0 -0.38,0 -0.57,0 -0.12,0 -0.12,0.18 0,0.18 0.19,0 0.38,0 0.57,0 z"
+   id="path106" />
+			<path
+   class="st1"
+   d="m 292.06,512.63 c 0.22,0 0.44,0 0.66,0 0.22,0 0.44,0 0.65,-0.04 0.06,-0.01 0.06,-0.11 0,-0.12 -0.21,-0.04 -0.44,-0.04 -0.65,-0.04 -0.22,0 -0.44,0 -0.66,0 -0.12,0 -0.12,0.2 0,0.2 z"
+   id="path108" />
+			<path
+   class="st1"
+   d="m 294.99,512.5 c 0.69,-0.03 1.38,-0.04 2.07,-0.12 0.35,-0.04 0.69,-0.11 1.04,-0.14 0.32,-0.03 0.67,-0.01 0.97,-0.11 0.05,-0.02 0.06,-0.1 0,-0.11 -0.31,-0.04 -0.66,0.02 -0.97,0.04 -0.35,0.03 -0.69,0.02 -1.04,0.02 -0.69,0.01 -1.38,0.12 -2.07,0.2 -0.12,0.03 -0.13,0.23 0,0.22 z"
+   id="path110" />
+			<path
+   class="st1"
+   d="m 300.71,511.74 c 0.17,-0.03 0.33,-0.06 0.5,-0.08 0.15,-0.03 0.33,-0.03 0.47,-0.09 0.05,-0.03 0.02,-0.1 -0.03,-0.1 -0.08,-0.01 -0.17,0.02 -0.25,0.03 -0.08,0.01 -0.15,0.03 -0.23,0.04 -0.17,0.03 -0.33,0.06 -0.5,0.09 -0.33,0.06 -0.66,0.12 -0.99,0.18 -0.07,0.01 -0.04,0.12 0.03,0.11 z"
+   id="path112" />
+			<path
+   class="st1"
+   d="m 291.74,513.31 c 0.44,0 0.88,0 1.33,0 0.43,0 0.88,0.04 1.3,-0.06 0.07,-0.02 0.07,-0.13 0,-0.15 -0.42,-0.09 -0.87,-0.06 -1.3,-0.06 -0.44,0 -0.88,0 -1.33,0 -0.16,0.01 -0.16,0.27 0,0.27 z"
+   id="path114" />
+			<path
+   class="st1"
+   d="m 298.11,512.77 c -0.21,0.02 -0.41,0.06 -0.62,0.09 l -1.24,0.18 c -0.16,0.02 -0.12,0.3 0.04,0.28 0.41,-0.05 0.83,-0.1 1.24,-0.15 0.21,-0.02 0.41,-0.05 0.62,-0.08 0.2,-0.03 0.42,-0.05 0.61,-0.12 0.13,-0.05 0.11,-0.22 -0.03,-0.24 -0.2,-0.02 -0.42,0.02 -0.62,0.04 z"
+   id="path116" />
+			<path
+   class="st1"
+   d="m 301.28,512.47 c -0.15,0.02 -0.29,0.05 -0.44,0.08 -0.28,0.06 -0.56,0.12 -0.84,0.18 -0.17,0.04 -0.1,0.29 0.07,0.26 0.28,-0.05 0.55,-0.1 0.83,-0.16 0.14,-0.03 0.28,-0.05 0.41,-0.09 0.13,-0.03 0.28,-0.06 0.39,-0.13 0.06,-0.04 0.06,-0.16 -0.02,-0.17 -0.13,-0.02 -0.27,0.01 -0.4,0.03 z"
+   id="path118" />
+			<path
+   class="st1"
+   d="m 304.55,511.95 c -0.22,0.11 -0.44,0.23 -0.66,0.34 -0.11,0.05 -0.01,0.21 0.09,0.16 0.22,-0.11 0.44,-0.21 0.65,-0.32 0.22,-0.11 0.45,-0.2 0.65,-0.33 0.08,-0.05 0.03,-0.2 -0.07,-0.16 -0.23,0.07 -0.44,0.2 -0.66,0.31 z"
+   id="path120" />
+			<path
+   class="st1"
+   d="m 302.31,510.92 c 0.88,-0.03 1.76,-0.13 2.61,-0.35 0.44,-0.11 0.84,-0.3 1.28,-0.42 0.41,-0.11 0.84,-0.22 1.2,-0.45 0.11,-0.07 0.04,-0.26 -0.09,-0.22 -0.4,0.11 -0.78,0.32 -1.16,0.48 -0.41,0.17 -0.83,0.22 -1.26,0.31 -0.85,0.19 -1.71,0.32 -2.58,0.37 -0.17,0.01 -0.18,0.28 0,0.28 z"
+   id="path122" />
+			<path
+   class="st1"
+   d="m 307.04,511.76 c 0.22,-0.04 0.44,-0.09 0.66,-0.14 0.1,-0.02 0.06,-0.18 -0.04,-0.15 -0.22,0.06 -0.43,0.12 -0.65,0.18 -0.08,0.02 -0.05,0.13 0.03,0.11 z"
+   id="path124" />
+			<path
+   class="st1"
+   d="m 278.89,512.8 c 0.13,0 0.13,-0.21 0,-0.21 -0.13,0 -0.13,0.21 0,0.21 z"
+   id="path126" />
+			<path
+   class="st1"
+   d="m 275.8,513.96 c -0.05,0 -0.05,0.08 0,0.08 0.05,-0.01 0.05,-0.08 0,-0.08 z"
+   id="path128" />
+			<path
+   class="st1"
+   d="m 273.01,512.96 c 0.33,0.06 0.66,0.12 0.99,0.18 0.16,0.03 0.33,0.07 0.49,0.08 0.16,0.02 0.34,0.05 0.5,0.03 0.07,-0.01 0.12,-0.11 0.04,-0.15 -0.15,-0.07 -0.31,-0.09 -0.47,-0.13 -0.16,-0.04 -0.33,-0.06 -0.5,-0.08 -0.33,-0.05 -0.67,-0.1 -1,-0.15 -0.13,-0.01 -0.2,0.2 -0.05,0.22 z"
+   id="path130" />
+			<path
+   class="st1"
+   d="m 276.91,513.32 c 0.5,0.07 1,0.14 1.49,0.2 0.25,0.03 0.5,0.06 0.75,0.09 0.23,0.03 0.51,0.07 0.74,0.03 0.07,-0.01 0.09,-0.13 0.02,-0.16 -0.2,-0.09 -0.46,-0.11 -0.68,-0.14 -0.26,-0.04 -0.52,-0.06 -0.77,-0.09 -0.51,-0.06 -1.01,-0.11 -1.52,-0.16 -0.13,-0.02 -0.17,0.21 -0.03,0.23 z"
+   id="path132" />
+			<path
+   class="st1"
+   d="m 276.09,514.41 c 0.64,0.04 1.27,0.07 1.91,0.11 0.62,0.03 1.27,0.13 1.88,0.04 0.09,-0.01 0.08,-0.15 0,-0.17 -0.6,-0.15 -1.27,-0.12 -1.88,-0.15 -0.64,-0.03 -1.27,-0.06 -1.91,-0.1 -1.29,-0.06 -2.58,-0.11 -3.87,-0.16 -0.11,0 -0.11,0.16 0,0.17 1.29,0.09 2.58,0.18 3.87,0.26 z"
+   id="path134" />
+			<path
+   class="st1"
+   d="m 282.31,514.3 c 0.27,-0.02 0.54,-0.03 0.81,-0.06 0.11,-0.01 0.11,-0.16 0,-0.17 -0.27,-0.03 -0.54,-0.04 -0.81,-0.06 -0.07,0 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.15 0.14,0.15 z"
+   id="path136" />
+			<path
+   class="st1"
+   d="m 253.91,515.95 c 0.06,-0.48 0.03,-0.98 0.03,-1.46 0,-0.12 -0.19,-0.12 -0.19,0 0,0.49 -0.03,0.98 0.03,1.46 0.01,0.08 0.12,0.08 0.13,0 z"
+   id="path138" />
+			<path
+   class="st1"
+   d="m 254.82,516.01 c 0.04,0 0.06,-0.03 0.06,-0.06 l 0.03,-0.33 c 0,-0.05 -0.05,-0.09 -0.09,-0.09 -0.05,0 -0.1,0.04 -0.09,0.09 l 0.03,0.33 c 0,0.03 0.03,0.06 0.06,0.06 z"
+   id="path140" />
+			<path
+   class="st1"
+   d="m 258.76,517.09 c 0,0.06 0.01,0.12 0.02,0.18 0.02,0.1 0.19,0.1 0.2,0 0.01,-0.06 0.02,-0.12 0.02,-0.18 v -0.16 c 0,-0.11 0,-0.22 0,-0.33 0,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.11 0,0.22 0,0.33 z"
+   id="path142" />
+			<path
+   class="st1"
+   d="m 261.49,517.68 c 0.14,0 0.14,-0.21 0,-0.21 -0.14,0 -0.14,0.21 0,0.21 z"
+   id="path144" />
+			<path
+   class="st1"
+   d="m 263.63,517.59 c 0,0.04 0,0.07 0.01,0.11 0.01,0.03 0.03,0.06 0.04,0.09 0.04,0.07 0.14,0.07 0.18,0 0.04,-0.06 0.05,-0.12 0.06,-0.19 0,-0.06 0,-0.11 0,-0.17 0,-0.11 0,-0.23 0,-0.34 0,-0.08 -0.07,-0.15 -0.15,-0.15 -0.08,0 -0.15,0.07 -0.15,0.15 v 0.34 z"
+   id="path146" />
+			<path
+   class="st1"
+   d="m 324.67,509.31 c -0.07,-0.04 -0.18,-0.02 -0.21,0.06 -0.19,0.36 -0.23,0.79 -0.13,1.18 0.02,0.1 0.07,0.22 0.14,0.29 0.06,0.05 0.14,0.06 0.2,0.02 0.06,-0.05 0.07,-0.13 0.05,-0.2 -0.05,-0.18 -0.11,-0.35 -0.12,-0.54 -0.01,-0.2 0.03,-0.41 0.12,-0.59 0.04,-0.09 0.03,-0.18 -0.05,-0.22 z"
+   id="path148" />
+			<path
+   class="st1"
+   d="m 244.78,528.14 v 0.87 c 0,0.04 0,0.09 0,0.13 0,0.05 0.01,0.11 0.03,0.16 0.02,0.1 0.18,0.1 0.2,0 0.01,-0.05 0.02,-0.11 0.03,-0.16 0,-0.04 0,-0.09 0,-0.13 v -0.87 c -0.01,-0.16 -0.26,-0.16 -0.26,0 z"
+   id="path150" />
+			<path
+   class="st1"
+   d="m 250.27,530.54 c 0.15,0 0.15,-0.23 0,-0.23 -0.15,-0.01 -0.15,0.23 0,0.23 z"
+   id="path152" />
+			<path
+   class="st1"
+   d="m 314.69,527.35 c -0.03,-0.22 -0.05,-0.44 -0.08,-0.66 -0.01,-0.07 -0.05,-0.13 -0.13,-0.13 -0.06,0 -0.14,0.06 -0.13,0.13 0.03,0.23 0.06,0.45 0.08,0.68 0.01,0.11 0.03,0.22 0.04,0.33 0.01,0.12 0.02,0.24 0.07,0.35 0.04,0.08 0.18,0.06 0.19,-0.03 0.02,-0.11 0,-0.22 -0.01,-0.33 -0.01,-0.12 -0.02,-0.23 -0.03,-0.34 z"
+   id="path154" />
+			<path
+   class="st1"
+   d="m 316.97,527.6 c -0.02,-0.07 -0.05,-0.14 -0.08,-0.21 -0.05,-0.14 -0.11,-0.28 -0.16,-0.41 -0.03,-0.08 -0.11,-0.13 -0.2,-0.09 -0.09,0.04 -0.1,0.13 -0.07,0.21 0.06,0.14 0.12,0.27 0.18,0.41 0.03,0.07 0.06,0.14 0.09,0.2 0.02,0.03 0.03,0.07 0.05,0.1 0.02,0.03 0.05,0.06 0.08,0.09 0.06,0.05 0.15,0.01 0.15,-0.06 0,-0.04 0.01,-0.08 0,-0.12 -0.02,-0.05 -0.03,-0.08 -0.04,-0.12 z"
+   id="path156" />
+			<path
+   class="st1"
+   d="m 256.63,522.75 c 0,0 0,0 0,0 -0.01,0.01 -0.02,0.01 -0.03,0.01 -0.01,0 -0.03,0.02 -0.03,0.02 -0.05,0.02 -0.09,0.06 -0.08,0.12 0.01,0.05 0.05,0.1 0.11,0.09 0.04,0 0.07,-0.01 0.11,-0.01 0.01,0 0.01,0 0.02,0 0.02,0 0.05,0 0.07,-0.01 0.07,-0.02 0.14,-0.08 0.19,-0.13 0.09,-0.1 0.16,-0.22 0.2,-0.36 0.08,-0.27 0.03,-0.57 -0.15,-0.8 -0.09,-0.11 -0.23,-0.19 -0.38,-0.22 -0.13,-0.02 -0.18,0.16 -0.06,0.2 0.12,0.04 0.18,0.12 0.23,0.23 0,0 0,0 0,0 0,0.01 0,0.01 0.01,0.02 0.01,0.02 0.01,0.03 0.01,0.05 0.01,0.03 0.02,0.07 0.02,0.1 0,0.01 0.01,0.03 0.01,0.03 0,0.01 0,0.02 0,0.04 0,0.03 0,0.06 0,0.1 0,0.03 0,0.06 -0.01,0.08 0,0.01 0,0.03 0,0.03 0,0.02 -0.01,0.03 -0.01,0.05 -0.01,0.03 -0.02,0.06 -0.03,0.09 0,0.01 -0.01,0.02 -0.01,0.03 -0.01,0.01 -0.02,0.03 -0.02,0.04 -0.01,0.01 -0.02,0.03 -0.03,0.04 0,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.05,0.04 -0.07,0.07 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.03,0.02 -0.04,0.03 0,0.01 -0.01,0.03 -0.02,0.04 z"
+   id="path158" />
+			<path
+   class="st1"
+   d="m 257.78,522.2 c 0.02,0.3 -0.03,0.59 -0.11,0.88 -0.02,0.1 0.11,0.15 0.16,0.07 0.35,-0.57 0.21,-1.36 -0.17,-1.88 -0.07,-0.1 -0.24,-0.01 -0.17,0.1 0.17,0.25 0.27,0.54 0.29,0.83 z"
+   id="path160" />
+			<path
+   class="st1"
+   d="m 257.7,520.98 c 0.38,0.14 0.68,0.45 0.85,0.81 0.08,0.17 0.14,0.37 0.16,0.56 0.02,0.2 -0.01,0.4 -0.04,0.6 -0.01,0.11 0.17,0.16 0.21,0.06 0.21,-0.42 0.09,-0.96 -0.11,-1.35 -0.21,-0.41 -0.57,-0.74 -1.02,-0.89 -0.12,-0.04 -0.18,0.17 -0.05,0.21 z"
+   id="path162" />
+			<path
+   class="st1"
+   d="m 259.29,522.92 c -0.04,0.11 0.13,0.18 0.19,0.08 0.39,-0.69 -0.05,-1.62 -0.75,-1.9 -0.1,-0.04 -0.17,0.13 -0.07,0.17 0.63,0.28 0.85,1.03 0.63,1.65 z"
+   id="path164" />
+			<path
+   class="st1"
+   d="m 260,522.06 c 0.04,0.15 0.06,0.3 0.07,0.45 0,0.08 0,0.16 0,0.23 0,0.09 -0.02,0.17 0.02,0.25 0.04,0.07 0.14,0.08 0.19,0.02 0.11,-0.11 0.08,-0.36 0.08,-0.51 -0.01,-0.18 -0.04,-0.36 -0.09,-0.53 -0.09,-0.34 -0.26,-0.65 -0.48,-0.93 -0.09,-0.11 -0.29,0.04 -0.2,0.16 0.19,0.27 0.33,0.55 0.41,0.86 z"
+   id="path166" />
+			<path
+   class="st1"
+   d="m 260.62,522.13 c 0.03,0.08 0.07,0.15 0.11,0.22 0.07,0.12 0.26,0.04 0.23,-0.1 -0.02,-0.07 -0.03,-0.15 -0.06,-0.22 -0.03,-0.07 -0.05,-0.13 -0.08,-0.2 -0.05,-0.14 -0.11,-0.27 -0.16,-0.41 -0.03,-0.07 -0.1,-0.13 -0.18,-0.1 -0.07,0.02 -0.14,0.11 -0.1,0.18 0.06,0.14 0.11,0.28 0.17,0.41 0.02,0.09 0.04,0.16 0.07,0.22 z"
+   id="path168" />
+			<path
+   class="st1"
+   d="m 247.19,522.51 c -0.01,0.1 0.01,0.2 0.03,0.29 0.03,0.12 0.19,0.08 0.21,-0.03 0.01,-0.08 0.03,-0.16 0.04,-0.24 0.01,-0.07 0.03,-0.15 0.05,-0.22 0.05,-0.14 0.12,-0.28 0.21,-0.4 0.2,-0.25 0.47,-0.42 0.78,-0.46 0.13,-0.02 0.1,-0.25 -0.03,-0.24 -0.38,0.05 -0.72,0.24 -0.96,0.53 -0.12,0.15 -0.22,0.31 -0.28,0.49 -0.02,0.1 -0.04,0.19 -0.05,0.28 z"
+   id="path170" />
+			<path
+   class="st1"
+   d="m 246.36,522.87 c 0.03,0.19 0.12,0.35 0.26,0.47 0.08,0.07 0.19,-0.04 0.12,-0.12 -0.4,-0.46 -0.14,-1.32 0.48,-1.41 0.09,-0.01 0.07,-0.16 -0.02,-0.15 -0.38,0.05 -0.65,0.33 -0.78,0.68 -0.07,0.16 -0.09,0.35 -0.06,0.53 z"
+   id="path172" />
+			<path
+   class="st1"
+   d="m 245.43,523.37 c 0.05,0.05 0.15,0 0.12,-0.07 -0.03,-0.1 -0.06,-0.2 -0.08,-0.3 -0.02,-0.09 -0.04,-0.18 -0.04,-0.28 0,-0.2 0.05,-0.41 0.15,-0.58 0.19,-0.36 0.53,-0.65 0.95,-0.66 0.12,0 0.12,-0.18 0,-0.18 -0.49,-0.01 -0.92,0.31 -1.15,0.73 -0.12,0.21 -0.19,0.45 -0.19,0.69 0,0.12 0.01,0.24 0.04,0.35 0.04,0.12 0.1,0.21 0.2,0.3 z"
+   id="path174" />
+			<path
+   class="st1"
+   d="m 244.34,523.11 c 0.16,0.11 0.4,0.18 0.59,0.12 0.07,-0.02 0.08,-0.13 0,-0.15 -0.08,-0.02 -0.17,-0.03 -0.24,-0.07 -0.04,-0.03 -0.09,-0.06 -0.13,-0.09 -0.03,-0.02 -0.06,-0.04 -0.09,-0.07 -0.12,-0.12 -0.22,-0.26 -0.22,-0.44 -0.01,-0.34 0.31,-0.64 0.64,-0.64 0.18,0 0.18,-0.27 0,-0.28 -0.38,-0.01 -0.73,0.25 -0.87,0.6 -0.14,0.38 0.01,0.8 0.32,1.02 z"
+   id="path176" />
+			<path
+   class="st1"
+   d="m 243.63,523.15 c 0.03,-0.06 0.02,-0.14 0,-0.2 -0.01,-0.07 -0.02,-0.13 -0.03,-0.2 -0.01,-0.14 -0.01,-0.29 0.02,-0.43 0.06,-0.28 0.19,-0.54 0.4,-0.74 0.1,-0.09 -0.05,-0.23 -0.15,-0.15 -0.24,0.22 -0.41,0.51 -0.48,0.83 -0.04,0.16 -0.05,0.32 -0.04,0.48 0.01,0.13 0.04,0.38 0.17,0.45 0.04,0.01 0.09,0 0.11,-0.04 z"
+   id="path178" />
+			<path
+   class="st1"
+   d="m 242.42,523.5 c 0.04,0.02 0.09,0.01 0.12,-0.03 0.04,-0.06 0.02,-0.15 0.01,-0.21 -0.01,-0.07 -0.02,-0.14 -0.02,-0.22 0,-0.15 0.01,-0.29 0.05,-0.43 0.08,-0.29 0.23,-0.54 0.46,-0.73 0.1,-0.09 -0.04,-0.23 -0.15,-0.15 -0.25,0.21 -0.43,0.5 -0.52,0.82 -0.04,0.15 -0.07,0.32 -0.07,0.48 0,0.09 0.01,0.17 0.02,0.26 0.01,0.07 0.03,0.17 0.1,0.21 z"
+   id="path180" />
+			<path
+   class="st1"
+   d="m 314.99,519.43 c -0.58,-0.01 -1.15,0.34 -1.38,0.88 -0.11,0.26 -0.13,0.56 -0.08,0.84 0.05,0.26 0.19,0.6 0.43,0.74 0.08,0.05 0.16,-0.04 0.12,-0.12 -0.06,-0.11 -0.14,-0.2 -0.2,-0.3 -0.06,-0.11 -0.1,-0.23 -0.13,-0.35 -0.05,-0.24 -0.03,-0.5 0.06,-0.72 0.19,-0.47 0.68,-0.78 1.18,-0.77 0.13,0 0.13,-0.2 0,-0.2 z"
+   id="path182" />
+			<path
+   class="st1"
+   d="m 313.96,519.38 c 0.13,0.04 0.19,-0.16 0.06,-0.21 -0.54,-0.18 -1.15,-0.04 -1.57,0.34 -0.44,0.39 -0.57,1.01 -0.41,1.56 0.08,0.28 0.26,0.63 0.54,0.76 0.08,0.04 0.2,-0.05 0.13,-0.13 -0.09,-0.12 -0.21,-0.23 -0.29,-0.37 -0.07,-0.13 -0.13,-0.26 -0.16,-0.41 -0.07,-0.3 -0.04,-0.63 0.1,-0.91 0.3,-0.55 1.01,-0.82 1.6,-0.63 z"
+   id="path184" />
+			<path
+   class="st1"
+   d="m 311.42,519.56 c -0.52,0.11 -0.94,0.59 -0.94,1.13 0,0.27 0.09,0.52 0.26,0.73 0.16,0.2 0.4,0.38 0.67,0.39 0.07,0 0.1,-0.1 0.04,-0.14 -0.1,-0.05 -0.19,-0.09 -0.28,-0.16 -0.09,-0.07 -0.17,-0.13 -0.24,-0.21 -0.14,-0.17 -0.23,-0.39 -0.23,-0.61 0,-0.45 0.35,-0.85 0.78,-0.94 0.11,-0.03 0.06,-0.22 -0.06,-0.19 z"
+   id="path186" />
+			<path
+   class="st1"
+   d="m 324.43,519.21 c 0.37,0 0.72,0.27 0.82,0.63 0.04,0.17 0.02,0.36 -0.05,0.52 -0.03,0.08 -0.08,0.16 -0.13,0.24 -0.05,0.08 -0.13,0.14 -0.19,0.21 -0.05,0.06 0,0.15 0.08,0.14 0.11,-0.03 0.2,-0.11 0.29,-0.18 0.09,-0.08 0.15,-0.17 0.2,-0.28 0.09,-0.22 0.12,-0.47 0.06,-0.7 -0.12,-0.47 -0.59,-0.8 -1.07,-0.79 -0.16,-0.02 -0.16,0.21 -0.01,0.21 z"
+   id="path188" />
+			<path
+   class="st1"
+   d="m 325.36,519.03 c 0.47,0.14 0.79,0.57 0.91,1.03 0.06,0.23 0.07,0.47 0.02,0.7 -0.05,0.23 -0.15,0.48 -0.29,0.66 -0.07,0.09 0.04,0.21 0.13,0.13 0.12,-0.09 0.22,-0.19 0.29,-0.32 0.06,-0.12 0.12,-0.25 0.14,-0.38 0.06,-0.29 0.05,-0.59 -0.03,-0.87 -0.15,-0.56 -0.55,-1.04 -1.12,-1.2 -0.14,-0.03 -0.2,0.2 -0.05,0.25 z"
+   id="path190" />
+			<path
+   class="st1"
+   d="m 327.53,520.72 c 0,0.14 -0.02,0.29 -0.09,0.42 -0.03,0.06 -0.07,0.12 -0.11,0.17 -0.05,0.06 -0.11,0.1 -0.17,0.16 -0.05,0.06 0,0.16 0.08,0.14 0.17,-0.05 0.29,-0.22 0.36,-0.37 0.07,-0.16 0.11,-0.34 0.1,-0.52 -0.02,-0.35 -0.19,-0.7 -0.52,-0.86 -0.09,-0.05 -0.18,0.09 -0.08,0.14 0.28,0.14 0.42,0.43 0.43,0.72 z"
+   id="path192" />
+			<path
+   class="st1"
+   d="m 327.79,519.38 c 0.41,0.11 0.72,0.51 0.72,0.94 0,0.2 -0.08,0.41 -0.2,0.57 -0.14,0.18 -0.3,0.3 -0.49,0.4 -0.07,0.04 -0.04,0.16 0.04,0.15 0.55,-0.05 0.93,-0.6 0.92,-1.12 0,-0.54 -0.41,-1.03 -0.92,-1.15 -0.15,-0.04 -0.21,0.17 -0.07,0.21 z"
+   id="path194" />
+			<path
+   class="st1"
+   d="m 329.26,519.51 c 0.28,0.11 0.41,0.43 0.4,0.71 0,0.14 -0.05,0.3 -0.11,0.41 -0.04,0.07 -0.07,0.12 -0.13,0.17 -0.05,0.05 -0.12,0.09 -0.18,0.14 -0.07,0.06 -0.02,0.19 0.08,0.19 0.16,-0.01 0.29,-0.12 0.39,-0.24 0.1,-0.12 0.16,-0.26 0.19,-0.42 0.05,-0.3 0,-0.62 -0.17,-0.87 -0.1,-0.14 -0.24,-0.25 -0.41,-0.31 -0.14,-0.04 -0.19,0.17 -0.06,0.22 z"
+   id="path196" />
+			<path
+   class="st1"
+   d="m 330.49,520.86 c -0.02,0.04 -0.04,0.09 -0.06,0.13 -0.03,0.06 0.03,0.12 0.09,0.09 0.03,-0.02 0.07,-0.03 0.1,-0.06 0.01,-0.01 0.03,-0.02 0.04,-0.03 -0.04,0.03 0.01,-0.01 0.02,-0.01 0.06,-0.04 0.11,-0.13 0.14,-0.2 0.07,-0.14 0.1,-0.29 0.12,-0.45 0.03,-0.3 -0.05,-0.62 -0.24,-0.86 -0.12,-0.15 -0.33,0.01 -0.21,0.16 0.13,0.17 0.19,0.4 0.19,0.61 0,0.11 -0.02,0.22 -0.06,0.32 -0.04,0.11 -0.11,0.2 -0.13,0.3 z"
+   id="path198" />
+			<path
+   class="st1"
+   d="m 287.02,522.81 c 0.25,0 0.25,-0.39 0,-0.39 -0.25,0 -0.25,0.39 0,0.39 z"
+   id="path200" />
+			<path
+   class="st1"
+   d="m 287.19,523.85 c 0.47,0.03 0.94,0.06 1.41,0.09 0.23,0.02 0.47,0.03 0.7,0.05 0.22,0.01 0.45,0.04 0.67,0.01 0.09,-0.01 0.08,-0.15 0,-0.17 -0.21,-0.06 -0.45,-0.05 -0.67,-0.07 -0.23,-0.02 -0.47,-0.03 -0.7,-0.04 -0.47,-0.02 -0.94,-0.05 -1.41,-0.07 -0.13,0 -0.13,0.19 0,0.2 z"
+   id="path202" />
+			<path
+   class="st1"
+   d="m 296.78,525.81 c 0.41,0 0.83,0.01 1.24,0.01 0.2,0 0.41,0 0.61,0 0.2,0 0.42,0.01 0.61,-0.04 0.08,-0.02 0.08,-0.15 0,-0.17 -0.19,-0.05 -0.41,-0.03 -0.61,-0.04 -0.2,0 -0.41,0 -0.61,0 -0.41,0 -0.83,0.01 -1.24,0.01 -0.14,0.02 -0.14,0.23 0,0.23 z"
+   id="path204" />
+			<path
+   class="st1"
+   d="m 274.15,526.86 c -0.48,-0.06 -0.96,-0.1 -1.43,-0.16 -0.08,-0.01 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.13 0.14,0.14 0.48,0.05 0.96,0.11 1.43,0.16 0.08,0.01 0.14,-0.07 0.14,-0.14 0,-0.08 -0.07,-0.13 -0.14,-0.14 z"
+   id="path206" />
+			<path
+   class="st1"
+   d="m 279.5,531.71 c -0.08,-0.01 -0.17,-0.01 -0.25,-0.02 -0.19,-0.01 -0.37,-0.02 -0.56,-0.04 -0.37,-0.02 -0.73,-0.05 -1.1,-0.07 -0.15,-0.01 -0.15,0.22 0,0.23 0.36,0.03 0.72,0.05 1.08,0.08 0.18,0.01 0.36,0.03 0.54,0.04 0.08,0.01 0.17,0.01 0.25,0.02 0.09,0 0.19,0.02 0.27,-0.01 0.07,-0.03 0.1,-0.13 0.02,-0.18 -0.07,-0.04 -0.16,-0.04 -0.25,-0.05 z"
+   id="path208" />
+			<path
+   class="st1"
+   d="m 270.08,534.97 c -0.47,-0.19 -0.94,-0.39 -1.41,-0.58 -0.12,-0.05 -0.17,0.14 -0.05,0.19 0.46,0.19 0.92,0.38 1.38,0.57 0.46,0.19 0.92,0.39 1.39,0.54 0.07,0.02 0.12,-0.09 0.05,-0.12 -0.43,-0.23 -0.9,-0.41 -1.36,-0.6 z"
+   id="path210" />
+			<path
+   class="st1"
+   d="m 295.15,536.25 c 0.3,0 0.61,0 0.91,0 0.15,0 0.3,0 0.46,0 0.07,0 0.14,0 0.21,-0.01 0.08,-0.01 0.16,-0.03 0.24,-0.05 0.09,-0.02 0.09,-0.17 0,-0.19 -0.08,-0.01 -0.16,-0.04 -0.24,-0.05 -0.07,-0.01 -0.14,-0.01 -0.21,-0.01 -0.15,0 -0.3,0 -0.46,0 -0.3,0 -0.61,0 -0.91,0 -0.18,0.03 -0.18,0.31 0,0.31 z"
+   id="path212" />
+			<path
+   class="st1"
+   d="m 298.89,535.89 c 1.01,-0.1 1.97,-0.32 2.93,-0.63 0.46,-0.15 0.91,-0.32 1.35,-0.51 0.23,-0.1 0.46,-0.2 0.69,-0.31 0.21,-0.1 0.45,-0.2 0.63,-0.36 0.06,-0.05 0,-0.14 -0.07,-0.12 -0.21,0.05 -0.39,0.17 -0.58,0.27 -0.21,0.11 -0.43,0.2 -0.64,0.3 -0.47,0.2 -0.94,0.38 -1.43,0.52 -0.93,0.28 -1.91,0.46 -2.87,0.56 -0.19,0.01 -0.19,0.29 -0.01,0.28 z"
+   id="path214" />
+			<path
+   class="st1"
+   d="m 288.73,535.12 -1.22,0.07 c -0.17,0.01 -0.17,0.27 0,0.26 0.41,-0.03 0.83,-0.05 1.24,-0.08 0.4,-0.03 0.82,-0.06 1.22,-0.13 0.09,-0.02 0.06,-0.15 -0.02,-0.16 -0.4,0 -0.81,0.02 -1.22,0.04 z"
+   id="path216" />
+			<path
+   class="st1"
+   d="m 288.65,533.87 c -0.43,0 -0.87,0 -1.3,0 -0.15,0 -0.15,0.24 0,0.24 0.43,0 0.87,0 1.3,0 0.43,0 0.87,0.02 1.3,-0.03 0.12,-0.01 0.12,-0.17 0,-0.18 -0.43,-0.04 -0.87,-0.03 -1.3,-0.03 z"
+   id="path218" />
+			<path
+   class="st1"
+   d="m 292.07,534 c 0.36,-0.02 0.72,-0.05 1.08,-0.07 0.18,-0.01 0.36,-0.02 0.54,-0.04 0.18,-0.02 0.35,-0.02 0.53,-0.07 0.13,-0.03 0.09,-0.2 -0.03,-0.21 -0.18,-0.02 -0.36,0 -0.54,0 -0.17,0 -0.35,0.02 -0.52,0.03 -0.35,0.03 -0.71,0.05 -1.06,0.08 -0.18,0.01 -0.19,0.29 0,0.28 z"
+   id="path220" />
+			<path
+   class="st1"
+   d="m 296.98,533.48 c 0.47,-0.13 0.94,-0.26 1.42,-0.38 0.23,-0.06 0.45,-0.12 0.68,-0.19 0.12,-0.04 0.24,-0.08 0.36,-0.11 0.12,-0.04 0.22,-0.1 0.33,-0.15 0.1,-0.05 0.06,-0.23 -0.06,-0.22 -0.12,0.01 -0.24,0.01 -0.36,0.05 -0.12,0.03 -0.24,0.07 -0.37,0.1 -0.23,0.06 -0.45,0.13 -0.68,0.2 -0.15,0.05 -0.3,0.1 -0.45,0.15 -0.01,-0.11 -0.04,-0.23 -0.07,-0.34 -0.04,-0.16 -0.08,-0.31 -0.13,-0.46 -0.08,-0.3 -0.17,-0.61 -0.25,-0.91 -0.05,-0.17 -0.31,-0.1 -0.27,0.07 0.08,0.3 0.16,0.61 0.24,0.91 0.04,0.15 0.08,0.3 0.12,0.45 0.04,0.12 0.07,0.24 0.12,0.36 -0.24,0.08 -0.48,0.15 -0.71,0.23 -0.16,0.03 -0.09,0.28 0.08,0.24 z"
+   id="path222" />
+			<path
+   class="st1"
+   d="m 265.72,534.59 c 0.14,0 0.14,-0.21 0,-0.21 -0.14,0 -0.14,0.21 0,0.21 z"
+   id="path224" />
+			<path
+   class="st1"
+   d="m 251.11,539.3 c -0.14,-0.22 -0.27,-0.43 -0.41,-0.65 -0.08,-0.13 -0.29,-0.01 -0.21,0.12 0.14,0.22 0.27,0.44 0.41,0.66 0.14,0.22 0.27,0.45 0.44,0.64 0.03,0.03 0.09,0.03 0.12,0.01 0.04,-0.03 0.04,-0.07 0.02,-0.12 -0.05,-0.12 -0.12,-0.23 -0.19,-0.34 -0.05,-0.1 -0.12,-0.21 -0.18,-0.32 z"
+   id="path226" />
+			<path
+   class="st1"
+   d="m 269.69,540.12 c 0.39,-0.18 0.78,-0.36 1.17,-0.55 0.2,-0.09 0.4,-0.19 0.6,-0.28 0.12,-0.06 0.46,-0.15 0.35,-0.35 -0.1,-0.18 -0.39,0.02 -0.51,0.08 -0.2,0.09 -0.4,0.19 -0.6,0.28 -0.39,0.18 -0.78,0.36 -1.17,0.55 -0.18,0.09 -0.02,0.36 0.16,0.27 z"
+   id="path228" />
+			<path
+   class="st1"
+   d="m 300,539.15 c 0.55,0.1 1.1,0.24 1.66,0.28 0.08,0.01 0.09,-0.11 0.02,-0.13 -0.52,-0.17 -1.07,-0.26 -1.61,-0.37 -0.15,-0.03 -0.21,0.19 -0.07,0.22 z"
+   id="path230" />
+			<path
+   class="st1"
+   d="m 319.38,537.53 c 0.66,-0.03 1.33,-0.05 1.99,-0.08 0.33,-0.01 0.66,-0.03 0.99,-0.05 0.31,-0.02 0.64,-0.02 0.94,-0.1 0.08,-0.02 0.08,-0.15 0,-0.16 -0.3,-0.05 -0.63,-0.03 -0.94,-0.03 -0.33,0.01 -0.66,0.02 -0.99,0.03 -0.66,0.03 -1.33,0.05 -1.99,0.08 -0.19,0.02 -0.19,0.32 0,0.31 z"
+   id="path232" />
+			<path
+   class="st1"
+   d="m 259.87,540.55 c -0.14,0 -0.14,0.22 0,0.22 0.14,0.01 0.14,-0.22 0,-0.22 z"
+   id="path234" />
+			<path
+   class="st1"
+   d="m 255.03,540.22 -1.61,-1.4 c -0.14,-0.12 -0.34,0.08 -0.2,0.2 0.55,0.47 1.09,0.95 1.64,1.42 0.53,0.46 1.06,0.95 1.65,1.35 0.08,0.06 0.16,-0.06 0.1,-0.13 -0.48,-0.52 -1.04,-0.98 -1.58,-1.44 z"
+   id="path236" />
+			<path
+   class="st1"
+   d="m 265.37,541.74 c 0.05,0.01 0.1,-0.01 0.12,-0.06 0.02,-0.04 0.01,-0.11 -0.04,-0.13 -0.32,-0.15 -0.66,-0.25 -0.99,-0.36 -0.07,-0.02 -0.14,0.03 -0.16,0.09 -0.02,0.07 0.02,0.14 0.09,0.16 0.32,0.11 0.64,0.23 0.98,0.3 z"
+   id="path238" />
+			<path
+   class="st1"
+   d="m 280.55,541.3 c -0.28,-0.04 -0.56,-0.09 -0.83,-0.16 -0.55,-0.13 -1.08,-0.33 -1.58,-0.58 -0.13,-0.07 -0.25,0.13 -0.12,0.2 0.52,0.27 1.06,0.48 1.63,0.63 0.28,0.07 0.57,0.13 0.86,0.17 0.27,0.04 0.58,0.1 0.85,0.05 0.12,-0.02 0.11,-0.2 0,-0.22 -0.26,-0.07 -0.54,-0.06 -0.81,-0.09 z"
+   id="path240" />
+			<path
+   class="st1"
+   d="m 284.75,541.37 -0.16,-0.01 -0.33,-0.01 c -0.07,0 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.13 0.13,0.13 0.11,0 0.22,-0.01 0.33,-0.01 l 0.16,-0.01 c 0.06,0 0.12,-0.01 0.18,-0.02 0.09,-0.01 0.09,-0.16 0,-0.18 -0.06,-0.01 -0.12,-0.02 -0.18,-0.02 z"
+   id="path242" />
+			<path
+   class="st1"
+   d="m 290.28,541.36 c -0.46,-0.04 -0.92,-0.02 -1.38,-0.02 -0.46,0 -0.92,0 -1.38,0 -0.18,0 -0.18,0.27 0,0.27 0.46,0 0.92,0 1.38,0 0.46,0 0.92,0.02 1.38,-0.02 0.15,-0.01 0.15,-0.22 0,-0.23 z"
+   id="path244" />
+			<path
+   class="st1"
+   d="m 295.06,541.26 c 0.09,-0.04 0.08,-0.22 -0.03,-0.23 -0.18,-0.02 -0.35,0.02 -0.53,0.04 -0.19,0.02 -0.37,0.06 -0.56,0.09 -0.36,0.06 -0.73,0.13 -1.09,0.19 -0.14,0.03 -0.11,0.28 0.04,0.26 0.37,-0.05 0.73,-0.09 1.1,-0.14 0.18,-0.02 0.36,-0.04 0.54,-0.08 0.17,-0.04 0.36,-0.05 0.53,-0.13 z"
+   id="path246" />
+			<path
+   class="st1"
+   d="m 298.06,540.98 c -0.11,0.03 -0.22,0.05 -0.33,0.08 -0.05,0.01 -0.08,0.07 -0.07,0.12 0.01,0.05 0.07,0.08 0.12,0.07 0.11,-0.03 0.22,-0.05 0.32,-0.08 0.11,-0.03 0.21,-0.06 0.32,-0.1 0.04,-0.01 0.07,-0.06 0.06,-0.1 -0.01,-0.05 -0.06,-0.06 -0.1,-0.06 -0.1,0.02 -0.22,0.04 -0.32,0.07 z"
+   id="path248" />
+			<path
+   class="st1"
+   d="m 296.08,543.72 c -0.19,-0.02 -0.39,-0.02 -0.58,-0.04 -0.39,-0.02 -0.77,-0.04 -1.16,-0.06 -0.15,-0.01 -0.15,0.22 0,0.23 0.38,0.03 0.76,0.05 1.14,0.08 0.19,0.01 0.37,0.03 0.56,0.04 0.19,0.01 0.39,0.03 0.58,0 0.1,-0.01 0.14,-0.16 0.02,-0.18 -0.18,-0.05 -0.37,-0.06 -0.56,-0.07 z"
+   id="path250" />
+			<path
+   class="st1"
+   d="m 304.61,542.24 c -0.44,0.05 -0.85,0.19 -1.28,0.3 -0.41,0.1 -0.83,0.2 -1.24,0.3 -0.86,0.21 -1.71,0.43 -2.57,0.65 -0.14,0.04 -0.08,0.26 0.06,0.22 0.84,-0.2 1.69,-0.39 2.53,-0.6 0.41,-0.1 0.83,-0.2 1.24,-0.3 0.43,-0.1 0.87,-0.17 1.29,-0.32 0.12,-0.04 0.12,-0.27 -0.03,-0.25 z"
+   id="path252" />
+			<path
+   class="st1"
+   d="m 307.11,541.62 1,-0.49 c 0.33,-0.16 0.67,-0.32 0.95,-0.55 0.08,-0.07 -0.01,-0.2 -0.1,-0.17 -0.17,0.04 -0.34,0.12 -0.51,0.18 -0.18,0.06 -0.34,0.17 -0.51,0.25 -0.33,0.17 -0.66,0.34 -0.99,0.5 -0.19,0.09 -0.03,0.37 0.16,0.28 z"
+   id="path254" />
+			<path
+   class="st1"
+   d="m 310.67,539.15 c 0.08,-0.05 0.16,-0.11 0.24,-0.16 0.08,-0.06 0.16,-0.12 0.23,-0.18 0.02,-0.02 0.04,-0.03 0.05,-0.06 0.01,-0.03 0,-0.06 -0.01,-0.08 -0.03,-0.05 -0.09,-0.07 -0.14,-0.04 -0.08,0.05 -0.17,0.09 -0.25,0.15 -0.08,0.05 -0.16,0.11 -0.24,0.16 -0.05,0.04 -0.08,0.11 -0.04,0.17 0.02,0.05 0.1,0.07 0.16,0.04 z"
+   id="path256" />
+			<path
+   class="st1"
+   d="m 309.63,542.84 c -1.5,0.6 -3.11,0.97 -4.72,1.09 -0.13,0.01 -0.13,0.21 0,0.2 1.67,-0.09 3.31,-0.43 4.87,-1.04 0.76,-0.3 1.5,-0.64 2.21,-1.05 0.36,-0.21 0.71,-0.43 1.05,-0.66 0.32,-0.22 0.72,-0.46 0.95,-0.78 0.09,-0.12 -0.08,-0.23 -0.18,-0.18 -0.36,0.17 -0.69,0.48 -1.01,0.71 -0.32,0.22 -0.64,0.43 -0.98,0.63 -0.7,0.42 -1.43,0.78 -2.19,1.08 z"
+   id="path258" />
+			<path
+   class="st1"
+   d="m 314.93,539.3 c 0.24,-0.22 0.5,-0.43 0.73,-0.65 0.12,-0.11 0.21,-0.24 0.32,-0.36 0.05,-0.06 0.11,-0.11 0.17,-0.16 0.07,-0.05 0.13,-0.12 0.19,-0.18 0.06,-0.06 -0.03,-0.15 -0.1,-0.1 -0.06,0.05 -0.13,0.1 -0.19,0.16 -0.06,0.06 -0.12,0.11 -0.18,0.16 -0.07,0.05 -0.14,0.09 -0.2,0.13 -0.07,0.05 -0.13,0.1 -0.2,0.15 -0.25,0.21 -0.49,0.43 -0.73,0.65 -0.14,0.12 0.06,0.31 0.19,0.2 z"
+   id="path260" />
+			<path
+   class="st1"
+   d="m 313.09,542.79 c 1.24,-0.36 2.41,-0.85 3.49,-1.58 0.51,-0.35 1.04,-0.71 1.5,-1.14 0.23,-0.22 0.43,-0.48 0.66,-0.69 0.24,-0.22 0.49,-0.39 0.66,-0.68 0.04,-0.07 -0.04,-0.16 -0.11,-0.11 -0.25,0.18 -0.41,0.43 -0.62,0.66 -0.2,0.22 -0.45,0.38 -0.69,0.56 -0.51,0.4 -1.01,0.8 -1.56,1.13 -1.06,0.65 -2.21,1.22 -3.4,1.6 -0.15,0.05 -0.09,0.29 0.07,0.25 z"
+   id="path262" />
+			<path
+   class="st1"
+   d="m 320.2,538.12 c 0.07,0 0.07,-0.11 0,-0.11 -0.07,0 -0.07,0.11 0,0.11 z"
+   id="path264" />
+			<path
+   class="st1"
+   d="m 264.83,540.99 c -0.67,-0.23 -1.34,-0.51 -1.97,-0.83 -1.25,-0.65 -2.43,-1.5 -3.5,-2.41 -0.14,-0.12 -0.35,0.08 -0.21,0.21 1.07,1.03 2.28,1.81 3.61,2.45 0.65,0.31 1.31,0.59 2,0.82 0.68,0.22 1.37,0.43 2.09,0.47 0.06,0 0.06,-0.08 0.01,-0.1 -0.66,-0.22 -1.36,-0.38 -2.03,-0.61 z"
+   id="path266" />
+			<path
+   class="st1"
+   d="m 271.07,541.98 c -0.39,-0.06 -0.77,-0.05 -1.16,0.01 -0.08,0.01 -0.12,0.11 -0.1,0.18 0.02,0.08 0.1,0.11 0.18,0.1 0.34,-0.05 0.7,-0.05 1.04,0.01 0.35,0.06 0.67,0.21 1.01,0.27 0.09,0.02 0.17,-0.09 0.09,-0.16 -0.28,-0.26 -0.69,-0.35 -1.06,-0.41 z"
+   id="path268" />
+			<path
+   class="st1"
+   d="m 274.18,542.82 c 0.05,0 0.05,-0.08 0,-0.08 -0.05,0 -0.06,0.08 0,0.08 z"
+   id="path270" />
+			<path
+   class="st1"
+   d="m 265.12,543.28 c 0.01,-0.02 0.01,-0.05 -0.02,-0.07 -0.13,-0.06 -0.26,-0.1 -0.39,-0.15 -0.4,-0.19 -0.8,-0.37 -1.21,-0.56 -0.07,-0.03 -0.13,0 -0.16,0.05 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.09,-0.03 -0.13,0.11 -0.04,0.14 0.06,0.02 0.13,0.05 0.19,0.07 0.34,0.15 0.67,0.31 1.01,0.46 0.35,0.16 0.71,0.32 1.08,0.45 0.08,0.03 0.13,-0.1 0.06,-0.14 -0.16,-0.07 -0.32,-0.15 -0.48,-0.23 z"
+   id="path272" />
+			<path
+   class="st1"
+   d="m 269.62,544.5 c 0.12,0 0.12,-0.18 0,-0.18 -0.12,-0.01 -0.12,0.18 0,0.18 z"
+   id="path274" />
+			<path
+   class="st1"
+   d="m 252.52,545.73 c -0.05,-0.26 -0.04,-0.54 0.03,-0.8 0.05,-0.19 -0.25,-0.27 -0.3,-0.08 -0.08,0.31 -0.09,0.63 -0.03,0.95 0.05,0.3 0.16,0.64 0.42,0.82 0.07,0.05 0.16,-0.03 0.14,-0.11 -0.03,-0.14 -0.1,-0.26 -0.15,-0.39 -0.05,-0.13 -0.09,-0.26 -0.11,-0.39 z"
+   id="path276" />
+			<path
+   class="st1"
+   d="m 254.03,546.56 c -0.03,-0.23 -0.05,-0.46 -0.08,-0.69 -0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 0.02,0.23 0.05,0.47 0.07,0.7 0.01,0.11 0.02,0.23 0.04,0.34 0.01,0.12 0.01,0.27 0.11,0.35 0.04,0.03 0.1,0.02 0.13,-0.02 0.09,-0.09 0.05,-0.24 0.03,-0.36 z"
+   id="path278" />
+			<path
+   class="st1"
+   d="m 255.22,547.2 c -0.02,-0.1 -0.05,-0.19 -0.08,-0.29 l -0.17,-0.59 c -0.05,-0.19 -0.34,-0.11 -0.29,0.08 0.06,0.2 0.11,0.39 0.17,0.59 0.03,0.1 0.06,0.19 0.09,0.29 0.02,0.05 0.03,0.1 0.05,0.15 0.02,0.06 0.04,0.11 0.08,0.15 0.06,0.06 0.18,0.04 0.2,-0.05 0.01,-0.04 0.01,-0.07 0.01,-0.11 0,-0.02 -0.01,-0.04 -0.02,-0.07 -0.02,-0.05 -0.03,-0.1 -0.04,-0.15 z"
+   id="path280" />
+			<path
+   class="st1"
+   d="m 257.24,548.09 -0.16,-0.32 c -0.11,-0.22 -0.23,-0.45 -0.34,-0.67 -0.05,-0.09 -0.17,-0.11 -0.25,-0.07 -0.09,0.05 -0.11,0.16 -0.07,0.25 0.11,0.23 0.22,0.45 0.33,0.68 0.05,0.11 0.11,0.22 0.16,0.33 0.03,0.05 0.06,0.11 0.08,0.16 0.05,0.08 0.08,0.14 0.18,0.18 0.08,0.03 0.17,-0.03 0.2,-0.11 0.03,-0.09 -0.01,-0.16 -0.05,-0.24 -0.02,-0.07 -0.05,-0.13 -0.08,-0.19 z"
+   id="path282" />
+			<path
+   class="st1"
+   d="m 261.38,548.88 c -0.09,-0.31 -0.17,-0.62 -0.26,-0.93 -0.04,-0.14 -0.26,-0.08 -0.23,0.06 0.08,0.31 0.16,0.62 0.25,0.93 0.04,0.15 0.08,0.3 0.12,0.45 0.04,0.15 0.07,0.33 0.17,0.44 0.04,0.05 0.14,0.03 0.15,-0.04 0.03,-0.15 -0.04,-0.32 -0.08,-0.47 -0.04,-0.14 -0.08,-0.29 -0.12,-0.44 z"
+   id="path284" />
+			<path
+   class="st1"
+   d="m 263.12,549.25 c -0.06,-0.27 -0.12,-0.54 -0.18,-0.82 -0.04,-0.18 -0.32,-0.1 -0.28,0.08 0.06,0.27 0.12,0.54 0.18,0.82 0.03,0.14 0.06,0.28 0.09,0.42 0.02,0.11 0.05,0.35 0.22,0.3 0.17,-0.05 0.09,-0.26 0.06,-0.38 -0.03,-0.14 -0.06,-0.28 -0.09,-0.42 z"
+   id="path286" />
+			<path
+   class="st1"
+   d="m 264.35,549.93 c -0.04,-0.04 -0.08,-0.09 -0.12,-0.13 -0.08,-0.09 -0.16,-0.17 -0.24,-0.25 -0.05,-0.05 -0.14,-0.05 -0.19,0 -0.05,0.05 -0.05,0.13 0,0.19 0.08,0.09 0.16,0.17 0.24,0.26 0.04,0.04 0.08,0.08 0.12,0.12 0.02,0.02 0.04,0.04 0.06,0.06 0.03,0.03 0.06,0.04 0.09,0.06 0.04,0.02 0.1,0.02 0.13,-0.02 0.03,-0.04 0.04,-0.08 0.02,-0.13 -0.02,-0.03 -0.03,-0.06 -0.05,-0.09 -0.02,-0.03 -0.04,-0.05 -0.06,-0.07 z"
+   id="path288" />
+			<path
+   class="st1"
+   d="m 311.15,549.65 c -0.01,-0.01 -0.03,-0.02 -0.05,-0.03 -0.02,-0.01 -0.04,-0.02 -0.07,-0.04 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0,0 -0.03,-0.02 -0.02,-0.01 0.02,0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.04,-0.03 -0.08,-0.06 -0.11,-0.1 -0.02,-0.02 -0.04,-0.04 -0.05,-0.06 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 0.02,0.03 -0.01,-0.01 -0.01,-0.01 -0.03,-0.04 -0.06,-0.08 -0.08,-0.13 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 0,0 0,0 0,-0.01 0,0 0,0 0,-0.01 0,-0.01 -0.01,-0.03 -0.01,-0.04 -0.02,-0.05 -0.03,-0.09 -0.03,-0.14 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.04 0,-0.03 0,-0.06 0,-0.08 0,-0.08 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 -0.02,0.24 0.05,0.5 0.18,0.69 0.07,0.1 0.16,0.21 0.27,0.27 0.05,0.03 0.11,0.06 0.17,0.08 0.07,0.03 0.14,0.05 0.21,0.02 0.09,-0.03 0.1,-0.12 0.05,-0.19 0,0.03 -0.03,-0.01 -0.04,-0.01 z"
+   id="path290" />
+			<path
+   class="st1"
+   d="m 283.94,490.78 c 1.18,-0.05 2.36,-0.09 3.54,-0.14 0.58,-0.02 1.17,-0.05 1.75,-0.08 0.58,-0.02 1.17,-0.03 1.74,-0.12 0.16,-0.03 0.11,-0.25 -0.04,-0.26 -0.58,-0.04 -1.17,0.01 -1.75,0.04 -0.58,0.03 -1.17,0.06 -1.75,0.09 -1.17,0.06 -2.33,0.12 -3.5,0.19 -0.18,0 -0.18,0.28 0.01,0.28 z"
+   id="path292" />
+			<path
+   class="st1"
+   d="m 287.51,491.29 h -0.49 c -0.05,0 -0.1,0.05 -0.1,0.1 0,0.05 0.04,0.1 0.1,0.1 h 0.48 c 0.06,0 0.11,-0.01 0.17,-0.02 0.05,-0.01 0.08,-0.03 0.08,-0.08 0,-0.05 -0.04,-0.08 -0.08,-0.08 -0.05,-0.01 -0.1,-0.02 -0.16,-0.02 z"
+   id="path294" />
+			<path
+   class="st1"
+   d="m 279.65,490.14 c 0.68,0.16 1.35,0.33 2.03,0.49 0.68,0.16 1.36,0.34 2.05,0.44 0.19,0.03 0.27,-0.23 0.08,-0.29 -0.66,-0.23 -1.34,-0.38 -2.02,-0.55 -0.68,-0.17 -1.35,-0.33 -2.03,-0.49 -0.27,-0.07 -0.38,0.34 -0.11,0.4 z"
+   id="path296" />
+		</g>
+		<g
+   id="g308">
+			<g
+   id="g302">
+				<rect
+   x="325.48999"
+   y="510.20999"
+   class="st1"
+   width="34.549999"
+   height="2.05"
+   id="rect300" />
+			</g>
+			<g
+   id="g306">
+				<rect
+   x="214.19"
+   y="510.20999"
+   class="st1"
+   width="32.919998"
+   height="2.05"
+   id="rect304" />
+			</g>
+		</g>
+		<g
+   id="g2122">
+			<path
+   class="st1"
+   d="m 238.67,457.13 c -0.01,0 -0.02,0.01 -0.03,0.01 -0.16,0.07 0,0 0.03,-0.01 z"
+   id="path310" />
+			<path
+   class="st1"
+   d="m 239.03,457.02 c -0.01,0 -0.01,0 -0.02,0 0,0 0,0 -0.01,0 0.02,0 0.03,0 0.03,0 0,0 0,0 0,0 z"
+   id="path312" />
+			<path
+   class="st1"
+   d="m 242.18,440.12 c 0,0 0.01,0 0,0 0.06,0.01 0.14,0 0,0 z"
+   id="path314" />
+			<path
+   class="st1"
+   d="m 283.47,399.15 c -0.38,-0.18 -0.8,-0.23 -1.21,-0.13 -0.22,0.05 -0.55,0.21 -0.76,0.42 -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.12,0.12 -0.22,0.28 -0.28,0.43 -0.15,0.35 -0.2,0.72 -0.12,1.09 0.15,0.75 0.85,1.23 1.58,1.26 0.77,0.04 1.46,-0.48 1.65,-1.22 0.18,-0.7 -0.15,-1.56 -0.82,-1.88 z m -0.09,1.53 c -0.01,0.02 -0.01,0.05 -0.01,0.08 -0.01,0.06 -0.03,0.12 -0.05,0.18 0,0 0,0 0,0 -0.01,0.03 -0.03,0.05 -0.04,0.08 -0.01,0.02 -0.03,0.04 -0.04,0.07 0,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.04,0.04 -0.06,0.07 -0.01,0.01 -0.02,0.02 -0.04,0.03 -0.01,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.02 -0.06,0.04 -0.09,0.05 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.03,0.01 -0.05,0.02 -0.03,0.01 -0.06,0.02 -0.09,0.02 -0.01,0 -0.05,0.01 -0.07,0.01 -0.01,0 -0.02,0 -0.02,0 -0.03,0 -0.05,0 -0.08,0 -0.03,0 -0.06,0 -0.09,0 -0.01,0 -0.02,0 -0.03,0 -0.05,-0.01 -0.11,-0.02 -0.16,-0.04 -0.03,-0.01 -0.05,-0.02 -0.08,-0.03 -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.05,-0.03 -0.11,-0.06 -0.16,-0.09 0,0 0,0 0,0 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 -0.02,-0.02 -0.04,-0.04 -0.06,-0.07 0,0 0,0 0,0 0,0 0,0 0,0 -0.03,-0.05 -0.06,-0.1 -0.08,-0.15 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 0,-0.01 -0.01,-0.04 -0.01,-0.07 0,-0.02 0,-0.04 0,-0.05 0,-0.06 0,-0.12 0.01,-0.19 0,-0.02 0,-0.03 0.01,-0.04 0.01,-0.03 0.02,-0.07 0.02,-0.1 0.01,-0.03 0.02,-0.07 0.03,-0.1 0,-0.01 0,0 0,-0.01 0.05,-0.02 0.1,-0.05 0.14,-0.09 0.02,-0.02 0.04,-0.04 0.06,-0.06 0.01,-0.01 0.03,-0.02 0.04,-0.04 0.02,-0.01 0.04,-0.03 0.04,-0.03 0.02,-0.01 0.04,-0.03 0.07,-0.04 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.01,0 0.02,-0.01 0.03,-0.01 0.06,-0.02 0.12,-0.03 0.17,-0.05 0,0 0,0 0.01,0 0.03,0 0.06,-0.01 0.1,-0.01 0.05,0 0.11,0.01 0.16,0.01 0,0 0,0 0,0 0.03,0.01 0.07,0.01 0.1,0.02 0.03,0.01 0.06,0.02 0.09,0.03 0,0 0,0 0,0 0.05,0.03 0.1,0.06 0.15,0.09 0.01,0 0.01,0.01 0.02,0.01 0.02,0.02 0.04,0.04 0.07,0.06 0,0 0.01,0.01 0.01,0.01 0,0 0,-0.01 -0.01,-0.01 0,0.01 0.01,0.01 0.01,0.02 0,0 0.01,0.01 0.01,0.01 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.01 0.02,0.03 0.03,0.04 0,0 0.01,0.01 0.01,0.02 0,-0.01 0.01,0 0.01,0.02 0,0.01 0,0.01 0.01,0.02 0,0 0.01,0.01 0.01,0.01 0,0 0,-0.01 -0.01,-0.01 0,0 0,0.01 0,0.01 0.02,0.06 0.03,0.12 0.04,0.18 0,0 0,0 0,0 0,0.03 0,0.06 0,0.09 0,0.07 -0.01,0.13 -0.01,0.2 0,0.01 0,0.01 0,0.02 -0.01,0.02 -0.01,0.02 0,0 z"
+   id="path316" />
+			<path
+   class="st1"
+   d="m 283.33,400.21 c -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 0,0.01 0,0.03 0.02,0.04 0,0.01 0,0.01 0,0 z"
+   id="path318" />
+			<path
+   class="st1"
+   d="m 283.25,400.09 c 0,0 0,0 0,0 0,0.02 0.02,0.03 0.02,0.03 0,-0.01 -0.01,-0.02 -0.02,-0.03 z"
+   id="path320" />
+			<path
+   class="st1"
+   d="m 282.27,348.14 c 1.4,0.21 2.73,-0.65 3.22,-1.95 0.52,-1.36 -0.19,-2.98 -1.42,-3.69 -0.74,-0.43 -1.64,-0.51 -2.42,-0.15 -0.35,0.16 -0.69,0.44 -0.89,0.78 -0.18,0.15 -0.32,0.33 -0.45,0.51 -0.36,0.51 -0.57,1.18 -0.53,1.81 0.09,1.33 1.17,2.5 2.49,2.69 z m -1.12,-3.75 c 0.04,-0.02 0.08,-0.04 0.12,-0.07 0.34,-0.34 0.53,-0.68 0.91,-0.88 0.14,-0.07 0.31,-0.11 0.51,-0.11 0.18,0 0.39,0.05 0.56,0.12 0.45,0.19 0.78,0.54 0.99,0.98 0.18,0.37 0.23,0.83 0.13,1.2 -0.2,0.74 -0.95,1.32 -1.69,1.31 -0.33,0 -0.75,-0.16 -1.02,-0.37 -0.34,-0.27 -0.56,-0.6 -0.66,-0.99 -0.11,-0.37 -0.05,-0.8 0.15,-1.19 z"
+   id="path322" />
+			<path
+   class="st1"
+   d="m 283.75,357.44 c 0.01,-0.01 0.02,-0.02 0.03,-0.03 0,0 -0.03,0.01 -0.04,0.04 0.01,0 0.01,-0.01 0.01,-0.01 z"
+   id="path324" />
+			<path
+   class="st1"
+   d="m 284.14,356.82 c 0,-0.01 0,-0.01 0,-0.02 -0.01,0.01 0,0.02 0,0.02 0,0 0,0 0,0 z"
+   id="path326" />
+			<path
+   class="st1"
+   d="m 283.57,357.55 c 0,0 0,0 0,0 -0.03,0 -0.05,0.01 -0.06,0.02 0.02,-0.01 0.04,-0.02 0.06,-0.02 z"
+   id="path328" />
+			<path
+   class="st1"
+   d="m 213.83,341.2 c 0,0 0,0 0,0 -0.03,-0.04 -0.02,-0.03 0,0 z"
+   id="path330" />
+			<path
+   class="st1"
+   d="m 340.57,298.82 c -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0.01 -0.02,0.01 0.01,0 0.01,0 0.02,-0.01 z"
+   id="path332" />
+			<path
+   class="st1"
+   d="m 340.57,298.82 c 0.01,0 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 -0.02,0.01 z"
+   id="path334" />
+			<path
+   class="st1"
+   d="m 378.8,319.53 c -0.01,-0.13 -0.04,-0.24 -0.12,-0.35 0,0 0,0 -0.01,-0.01 0.08,-0.85 -0.05,-1.75 -0.17,-2.58 -0.14,-1.04 -0.31,-2.08 -0.52,-3.11 -0.41,-2.06 -0.95,-4.1 -1.61,-6.09 -1.31,-3.99 -3.15,-7.78 -5.4,-11.33 -0.62,-0.99 -1.28,-1.95 -1.97,-2.9 -0.35,-0.48 -0.71,-0.95 -1.08,-1.41 -0.36,-0.46 -0.7,-0.94 -1.18,-1.28 -0.16,-0.11 -0.31,-0.06 -0.41,0.06 -0.15,-0.03 -0.31,0.01 -0.44,0.13 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.06,0.04 -0.09,0.06 -0.05,0.03 -0.1,0.05 -0.15,0.08 -0.08,0.03 -0.17,0.06 -0.26,0.08 -0.02,0 -0.03,0.01 -0.05,0.01 0,0 -0.01,0 -0.01,0 -0.05,0 -0.1,0.01 -0.15,0.01 -0.05,0 -0.1,0 -0.15,-0.01 -0.01,0 -0.01,0 -0.01,0 -0.08,-0.04 -0.16,-0.07 -0.24,-0.1 -0.03,-0.17 -0.13,-0.32 -0.33,-0.38 -0.42,-0.11 -0.98,-0.04 -1.41,0.05 -0.43,0.09 -0.84,0.26 -1.26,0.41 -0.92,0.34 -1.83,0.7 -2.73,1.1 -0.86,0.38 -1.71,0.8 -2.54,1.25 -0.82,0.44 -1.78,0.89 -2.45,1.54 -0.14,0.13 -0.17,0.3 -0.15,0.46 -0.11,0.08 -0.17,0.2 -0.2,0.33 -0.23,0.1 -0.45,0.2 -0.66,0.3 -0.42,0.19 -0.86,0.39 -1.25,0.64 -0.36,0.23 -0.71,0.5 -0.99,0.82 -0.15,0.17 -0.31,0.36 -0.42,0.57 -0.03,0.06 -0.05,0.12 -0.08,0.18 -0.06,0.02 -0.12,0.04 -0.19,0.06 -0.56,0.17 -1.13,0.3 -1.66,0.56 -0.47,0.24 -0.9,0.62 -1.14,1.1 -0.13,0.25 -0.2,0.53 -0.2,0.81 -0.3,0.12 -0.6,0.23 -0.9,0.36 -0.57,-0.61 -1.17,-1.21 -1.94,-1.56 -0.43,-0.19 -1.1,-0.33 -1.61,-0.16 0,-0.01 -0.01,-0.02 -0.01,-0.04 -0.09,-0.23 -0.17,-0.47 -0.27,-0.69 0.58,-0.25 1.15,-0.49 1.73,-0.74 0.21,-0.09 0.3,-0.33 0.29,-0.55 0.07,-0.13 0.1,-0.28 0.08,-0.46 -0.24,-1.6 -0.95,-3.23 -1.63,-4.68 -0.34,-0.72 -0.72,-1.42 -1.14,-2.1 -0.21,-0.34 -0.43,-0.67 -0.65,-1 -0.22,-0.32 -0.41,-0.62 -0.74,-0.79 -0.13,-0.19 -0.36,-0.31 -0.63,-0.22 -0.51,0.17 -1,0.43 -1.5,0.64 -0.47,0.2 -0.95,0.39 -1.42,0.58 -0.49,0.19 -0.98,0.39 -1.48,0.58 -0.39,0.15 -0.83,0.28 -1.19,0.52 -0.35,-0.52 -0.72,-1.03 -1.13,-1.5 -0.27,-0.32 -0.59,-0.73 -0.97,-0.98 0,-0.01 0,-0.02 0,-0.03 -0.03,-0.09 -0.08,-0.17 -0.14,-0.24 -0.08,-0.08 -0.25,-0.17 -0.37,-0.15 -0.08,0.01 -0.17,0.01 -0.24,0.04 -0.07,0.02 -0.13,0.06 -0.2,0.08 -0.07,0.03 -0.15,0.06 -0.22,0.09 -0.14,0.06 -0.27,0.12 -0.41,0.18 -0.14,0.06 -0.27,0.12 -0.4,0.18 -0.07,0.04 -0.14,0.07 -0.21,0.11 -0.09,0.06 -0.17,0.13 -0.25,0.2 -0.13,0.11 -0.15,0.33 -0.09,0.48 0,0 0,0 0.01,0.01 -0.11,0.25 -0.14,0.53 -0.08,0.8 0.01,0.05 0.04,0.09 0.06,0.14 -5.57,2.51 -11.15,4.98 -16.74,7.45 -1.58,-1.12 -3.21,-2.17 -4.91,-3.1 -5.22,-2.88 -10.92,-4.9 -16.78,-5.98 -5.88,-1.09 -11.89,-1.26 -17.82,-0.49 -6.6,0.86 -13.02,2.99 -18.85,6.21 -6.3,3.48 -11.84,8.25 -16.21,13.97 -4.08,5.33 -7.19,11.4 -9.11,17.84 -0.76,2.56 -1.32,5.19 -1.7,7.84 -3.77,1.55 -7.53,3.11 -11.26,4.75 -0.37,0.16 -0.33,0.62 -0.11,0.88 0,0.35 0.07,0.71 0.11,1.03 0.05,0.32 0.13,0.64 0.19,0.96 -0.48,0.14 -0.95,0.36 -1.41,0.54 -0.23,0.09 -0.46,0.19 -0.69,0.28 -0.04,-0.1 -0.08,-0.21 -0.13,-0.31 -0.05,-0.09 -0.09,-0.17 -0.15,-0.26 -0.01,-0.01 -0.05,-0.07 -0.08,-0.1 -0.07,-0.09 -0.13,-0.14 -0.23,-0.2 -0.15,-0.1 -0.33,-0.06 -0.46,0.04 -0.17,0.03 -0.33,0.12 -0.49,0.18 -0.14,0.06 -0.28,0.12 -0.42,0.18 -0.13,0.06 -0.27,0.11 -0.39,0.19 -0.15,0.09 -0.29,0.2 -0.42,0.32 -0.05,0.05 -0.07,0.11 -0.09,0.17 -0.14,-0.07 -0.35,0.01 -0.33,0.19 l 0.01,0.08 c -0.04,0.11 -0.06,0.22 -0.03,0.35 0.02,0.09 0.04,0.17 0.07,0.25 0.02,0.08 0.06,0.15 0.09,0.22 -0.24,0.11 -0.49,0.22 -0.74,0.34 -0.07,0.01 -0.12,0.05 -0.18,0.1 -0.28,0.16 -0.54,0.34 -0.73,0.58 -0.15,0.2 -0.1,0.47 0.12,0.57 -0.02,0.07 -0.05,0.14 -0.06,0.22 -0.11,0.5 -0.13,1.02 -0.07,1.53 0.12,1.16 0.52,2.22 1.02,3.27 0.43,0.92 0.87,1.99 1.67,2.67 0.65,0.56 1.61,0.83 2.38,0.49 -0.03,0.05 -0.07,0.1 -0.08,0.17 -0.1,0.85 0.04,1.73 0.16,2.58 0,0.02 0.01,0.03 0.01,0.05 -0.35,0.15 -0.7,0.31 -1.05,0.46 -0.28,0.13 -0.24,0.48 -0.04,0.66 -0.33,0.56 -0.51,1.24 -0.58,1.92 -0.15,0.06 -0.3,0.12 -0.44,0.18 -1.27,0.52 -2.53,1.06 -3.79,1.6 -1.22,0.52 -2.45,1.03 -3.66,1.57 -0.62,0.27 -1.25,0.54 -1.85,0.84 -0.13,0.07 -0.28,0.13 -0.43,0.2 -0.08,-0.03 -0.17,-0.03 -0.26,0.02 -0.75,0.42 -1.21,0.93 -1.53,1.73 -0.35,0.88 -0.45,1.74 -0.35,2.69 0.05,0.49 0.13,0.98 0.22,1.46 -0.46,0.17 -0.91,0.35 -1.36,0.53 -1.41,0.57 -2.83,1.14 -4.24,1.71 -1.38,0.56 -2.77,1.12 -4.14,1.69 -1.2,0.5 -2.45,0.96 -3.62,1.56 -0.12,0.03 -0.24,0.09 -0.36,0.19 -0.09,0.05 -0.18,0.09 -0.26,0.14 -0.23,0.13 -0.29,0.36 -0.23,0.57 -0.01,0.03 -0.03,0.06 -0.04,0.09 -0.09,0.22 -0.13,0.45 -0.16,0.69 -0.01,0.01 -0.02,0.01 -0.04,0.02 -0.21,0.09 -0.42,0.19 -0.64,0.28 -0.21,0.09 -0.42,0.19 -0.64,0.28 -0.1,0.05 -0.2,0.09 -0.31,0.14 -0.15,0.07 -0.27,0.15 -0.4,0.25 -0.12,0.1 -0.14,0.27 -0.12,0.43 -0.13,0.21 -0.24,0.45 -0.32,0.74 -0.16,0.64 -0.16,1.32 -0.11,1.97 0.14,1.57 0.72,3.07 1.39,4.48 0.67,1.41 1.51,3.02 2.73,4.02 0.35,0.28 0.8,0.52 1.28,0.66 0.02,0.01 0.02,0.02 0.03,0.03 0.04,0.02 0.09,0.03 0.13,0.04 0.06,0.02 0.12,0.04 0.18,0.04 0.03,0 0.06,-0.01 0.09,-0.01 0.64,0.1 1.26,-0.02 1.66,-0.5 l 0.27,-0.11 c 0.15,-0.06 0.31,-0.12 0.46,-0.18 0.48,0.27 1.01,0.37 1.6,0.1 0.08,-0.04 0.14,-0.08 0.19,-0.14 2.94,-0.76 5.81,-1.95 8.61,-3.09 1.56,-0.63 3.1,-1.29 4.63,-1.97 0.18,-0.08 0.35,-0.18 0.53,-0.26 0.01,0.01 0.02,0.02 0.02,0.03 0.6,0.67 1.28,1.29 2.03,1.78 0.44,0.29 1.02,0.64 1.6,0.8 0.12,0.15 0.32,0.24 0.55,0.18 0.13,-0.03 0.26,-0.08 0.39,-0.12 0.06,-0.01 0.12,-0.02 0.18,-0.04 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.96,-0.3 1.9,-0.71 2.83,-1.09 1.14,-0.47 2.28,-0.93 3.42,-1.4 1.11,-0.45 2.22,-0.92 3.33,-1.39 0.33,-0.14 0.65,-0.28 0.98,-0.41 0.79,0.39 2.04,0.44 2.56,-0.27 4.17,-1.66 8.31,-3.37 12.45,-5.11 0.11,0.16 0.22,0.32 0.34,0.47 0.87,1.15 1.78,2.28 2.73,3.36 0.98,1.1 2.09,2.07 3.14,3.09 0.2,0.19 0.42,0.25 0.63,0.22 3.92,3.49 8.34,6.42 13.11,8.6 1.74,0.8 3.52,1.49 5.33,2.09 -0.32,1.26 -0.64,2.53 -0.96,3.79 -0.4,1.59 -0.79,3.17 -1.18,4.76 -0.1,0.01 -0.21,0.02 -0.31,0.03 -0.04,-0.72 -0.07,-1.46 -0.26,-2.15 -0.09,-0.33 -0.54,-0.4 -0.75,-0.17 -0.15,-0.04 -0.3,-0.05 -0.45,-0.07 -0.14,-0.01 -0.27,-0.02 -0.41,-0.04 -0.14,-0.01 -0.27,-0.02 -0.41,-0.02 -0.18,0.01 -0.35,0.03 -0.53,0.05 -0.02,0.01 -0.04,0.02 -0.07,0.03 -0.14,-0.37 -0.67,-0.45 -0.81,0 -0.47,1.53 -0.37,3.32 -0.3,4.91 0.07,1.66 0.29,3.31 0.62,4.93 0.06,0.29 0.26,0.43 0.48,0.45 0,0.02 -0.01,0.04 -0.01,0.07 0.02,0.17 0.15,0.35 0.33,0.39 0.04,0.01 0.07,0.02 0.11,0.02 0.11,0.04 0.22,0.06 0.34,0.06 0.09,0 0.19,0 0.28,0 0.01,0 0.03,0 0.04,0 -1.13,4.61 -2.25,9.23 -3.4,13.84 -0.63,2.54 -1.26,5.08 -1.89,7.63 -0.31,1.24 -0.62,2.48 -0.96,3.71 -0.29,1.08 -0.63,2.15 -0.73,3.27 -1.07,0.16 -2.14,0.4 -3.17,0.72 -0.64,0.2 -1.28,0.44 -1.9,0.7 -0.16,-0.46 -0.56,-0.75 -0.98,-1.05 -0.43,-0.31 -0.91,-0.55 -1.4,-0.75 -0.25,-0.1 -0.52,-0.18 -0.78,-0.25 0.02,-0.47 0.05,-0.93 0.06,-1.4 0.09,-0.09 0.16,-0.21 0.18,-0.35 0.06,-0.45 -0.3,-0.92 -0.63,-1.2 -0.37,-0.31 -0.79,-0.5 -1.27,-0.53 -0.42,-0.02 -0.87,0.1 -1.23,0.32 -0.19,0.12 -0.42,0.3 -0.57,0.51 -0.06,-0.02 -0.12,-0.05 -0.18,-0.04 -0.2,0.03 -0.31,0.18 -0.33,0.38 -0.08,0.67 -0.03,1.35 -0.01,2.03 0,0.15 0.01,0.31 0.01,0.46 -0.52,0.18 -1.02,0.4 -1.48,0.69 -0.75,0.46 -1.72,1.19 -2.06,2.05 -0.05,0.08 -0.11,0.15 -0.15,0.24 -0.11,0.24 -0.19,0.49 -0.27,0.74 -0.15,0.5 -0.26,1.01 -0.33,1.53 -0.16,1.1 -0.13,2.19 0.03,3.29 0.01,0.09 0.07,0.17 0.14,0.24 -0.23,0.57 -0.46,1.14 -0.68,1.72 -0.26,0.68 -0.51,1.36 -0.75,2.05 -0.06,0.18 -0.18,0.43 -0.27,0.69 -0.36,0.17 -0.71,0.35 -1.04,0.56 -0.11,0.07 -0.04,0.27 0.09,0.22 0.2,-0.06 0.4,-0.15 0.6,-0.23 -0.11,0.12 -0.21,0.25 -0.3,0.38 -0.2,0.05 -0.4,0.12 -0.58,0.18 -0.62,0.22 -1.22,0.52 -1.76,0.92 -0.55,0.41 -1.03,0.86 -1.44,1.41 -0.16,0.22 -0.32,0.46 -0.45,0.71 -0.15,-0.03 -0.31,0.02 -0.42,0.17 -0.03,0.04 -0.05,0.11 -0.07,0.16 -0.24,0.12 -0.41,0.42 -0.24,0.73 0.02,0.04 0.05,0.08 0.07,0.12 0,0.23 0,0.46 0,0.65 0,0.59 -0.01,1.17 -0.01,1.76 0,0.57 -0.01,1.13 -0.01,1.7 0,0.42 -0.1,1 0.08,1.41 0,0.06 0.02,0.12 0.05,0.18 -0.9,0.61 -1.67,1.65 -2.06,2.66 -0.15,0.39 -0.21,0.82 -0.23,1.24 -0.18,0.51 -0.2,1.1 -0.23,1.61 -0.05,0.79 0.01,1.58 0.13,2.36 0.11,0.75 0.29,1.52 0.6,2.22 0.16,0.37 0.35,0.71 0.61,1.02 0.02,0.03 0.04,0.05 0.06,0.08 1.69,2.57 4.46,4.14 7.31,5.26 3.96,1.54 8.19,2.53 12.34,3.36 8.83,1.76 17.85,2.42 26.84,2.48 8.98,0.06 17.96,-0.36 26.92,-0.9 8.58,-0.52 17.22,-1.29 25.57,-3.43 4.14,-1.06 8.19,-2.47 12.05,-4.31 1.67,-0.79 3.26,-1.71 4.71,-2.86 0.71,-0.57 1.44,-1.23 2.05,-1.97 0.19,-0.18 0.37,-0.39 0.53,-0.59 0.44,-0.55 0.71,-1.2 0.86,-1.88 0.07,0.01 0.13,0 0.2,-0.01 0.08,-0.02 0.16,-0.04 0.25,-0.06 0.09,-0.01 0.17,-0.02 0.26,-0.02 0.08,0 0.16,-0.01 0.23,-0.02 0.08,-0.02 0.15,-0.06 0.22,-0.1 0.04,-0.02 0.08,-0.05 0.12,-0.07 0.25,0.05 0.5,0.09 0.76,0.12 l 0.01,0.58 c 0,0.2 0.01,0.4 0.02,0.6 0.01,0.14 0.01,0.28 0.03,0.42 0.03,0.13 0.08,0.24 0.16,0.33 0.02,0.03 0.02,0.06 0.04,0.08 0.02,0.02 0.05,0.04 0.07,0.06 0.15,0.28 0.58,0.44 0.85,0.53 0.34,0.12 0.73,0.16 1.09,0.19 0.73,0.06 1.54,0.01 2.1,-0.51 0.07,-0.06 0.11,-0.15 0.12,-0.24 0.17,-0.09 0.3,-0.25 0.28,-0.46 -0.03,-0.36 -0.05,-0.72 -0.1,-1.07 -0.02,-0.13 -0.05,-0.27 -0.07,-0.4 0.39,-0.03 0.74,-0.15 0.9,-0.48 0.25,-0.14 0.51,-0.27 0.75,-0.42 0.2,-0.12 0.4,-0.26 0.59,-0.39 0.21,-0.14 0.45,-0.27 0.63,-0.45 0.19,0.05 0.4,0.01 0.54,-0.14 0.12,-0.13 0.21,-0.27 0.2,-0.46 0,-0.05 -0.01,-0.1 -0.02,-0.15 -0.02,-0.15 -0.03,-0.31 -0.05,-0.46 -0.03,-0.22 -0.06,-0.45 -0.09,-0.67 -0.03,-0.22 -0.06,-0.45 -0.09,-0.67 -0.04,-0.21 -0.09,-0.42 -0.15,-0.63 0.04,-0.25 0.04,-0.52 0.05,-0.73 0.03,-0.4 0.06,-0.8 0.06,-1.21 0.01,-0.73 -0.02,-1.46 -0.13,-2.18 0.07,-0.17 0.07,-0.38 -0.03,-0.54 -0.07,-0.11 -0.16,-0.18 -0.26,-0.23 0,-0.05 0.01,-0.11 -0.01,-0.16 -0.07,-0.22 -0.13,-0.44 -0.21,-0.65 -0.04,-0.1 -0.08,-0.21 -0.12,-0.31 -0.03,-0.07 -0.06,-0.15 -0.1,-0.22 0.38,-0.05 0.72,-0.1 1.01,-0.39 0.11,-0.11 0.16,-0.26 0.18,-0.42 0.1,-0.12 0.17,-0.26 0.16,-0.43 -0.03,-0.54 -0.07,-1.07 -0.1,-1.61 -0.01,-0.17 -0.03,-0.35 -0.05,-0.52 0.17,-0.34 0.06,-0.82 -0.32,-0.96 -0.15,-0.13 -0.35,-0.19 -0.54,-0.08 -0.02,0.01 -0.04,0.03 -0.06,0.05 -0.03,0 -0.07,0 -0.1,0 0.04,-0.2 0.01,-0.4 -0.02,-0.6 0,-0.04 -0.01,-0.07 -0.01,-0.11 0.08,-0.09 0.13,-0.19 0.13,-0.33 0,-0.16 -0.1,-0.33 -0.24,-0.43 -0.02,-0.15 -0.04,-0.3 -0.07,-0.46 -0.06,-0.35 -0.13,-0.69 -0.2,-1.03 0.06,-0.12 0.05,-0.26 -0.01,-0.39 0.01,-0.02 0.03,-0.04 0.03,-0.06 0.09,-0.33 -0.11,-0.59 -0.4,-0.7 -0.92,-0.37 -1.85,-0.74 -2.77,-1.11 -0.79,-0.32 -1.59,-0.68 -2.42,-0.87 -0.1,-0.19 -0.3,-0.3 -0.52,-0.31 -0.2,-0.01 -0.41,0.04 -0.61,0.07 -0.17,0.02 -0.34,0.05 -0.51,0.08 -0.32,0.05 -0.63,0.1 -0.95,0.15 -0.32,0.05 -0.63,0.1 -0.95,0.16 -0.01,0 -0.02,0.01 -0.03,0.01 -0.01,-0.26 -0.04,-0.53 -0.13,-0.76 1.34,-0.24 2.65,-0.58 3.94,-1.02 0.23,-0.08 0.37,-0.24 0.43,-0.42 0.13,-0.05 0.25,-0.13 0.32,-0.27 0.1,-0.19 0.14,-0.37 0.13,-0.58 0,-0.1 -0.01,-0.19 -0.01,-0.29 -0.01,-0.22 -0.02,-0.44 -0.02,-0.66 -0.01,-0.21 -0.01,-0.42 -0.03,-0.63 -0.04,-0.29 -0.04,-0.6 -0.18,-0.86 -0.05,-0.1 -0.15,-0.17 -0.25,-0.22 -0.13,-0.31 -0.38,-0.59 -0.66,-0.76 -0.55,-0.33 -1.22,-0.32 -1.84,-0.35 -1.34,-0.07 -2.68,-0.13 -4.03,-0.12 -1.3,0.01 -2.6,0.09 -3.88,0.3 -1.29,0.21 -2.67,0.5 -3.76,1.26 -0.04,0.03 -0.05,0.06 -0.07,0.1 -0.09,0.04 -0.18,0.1 -0.23,0.18 -0.08,0.02 -0.16,0.06 -0.21,0.14 -0.12,0.18 -0.16,0.47 -0.15,0.69 0.01,0.19 0.04,0.39 0.06,0.58 0.02,0.19 0.04,0.39 0.05,0.58 0.01,0.16 0.03,0.32 0.05,0.49 -0.01,0.02 -0.03,0.04 -0.03,0.07 -0.01,0.58 0.08,1.03 0.53,1.44 0.44,0.4 1.04,0.54 1.61,0.62 0.92,0.13 1.84,0.17 2.77,0.18 -0.12,0.34 -0.09,0.74 -0.08,1.1 0.01,0.37 0.01,0.74 0.03,1.1 -0.07,0.01 -0.13,0.01 -0.2,0.02 -0.02,-0.12 -0.06,-0.23 -0.15,-0.32 -0.16,-0.26 -0.41,-0.45 -0.74,-0.46 -0.05,0 -0.1,0.01 -0.15,0.02 -0.04,-0.04 -0.09,-0.08 -0.15,-0.09 -0.82,-0.17 -1.64,-0.11 -2.46,0.02 -0.67,0.1 -1.52,0.25 -1.84,0.92 -0.05,0 -0.09,-0.02 -0.14,-0.01 -0.06,0.01 -0.11,0.02 -0.17,0.03 -0.03,0.01 -0.06,0.01 -0.09,0.02 -0.01,-0.11 -0.04,-0.22 -0.1,-0.32 0,-0.01 0,-0.01 0,-0.02 0,-0.02 -0.02,-0.02 -0.02,-0.04 -0.01,-0.03 -0.02,-0.05 -0.04,-0.08 -0.01,-0.02 -0.03,-0.02 -0.04,-0.04 -0.03,-0.03 -0.04,-0.06 -0.08,-0.08 -0.41,-0.47 -1.12,-0.6 -1.71,-0.7 -0.42,-0.07 -0.86,-0.13 -1.28,-0.12 -0.22,0 -0.44,0.04 -0.66,0.08 -0.02,-0.06 -0.03,-0.13 -0.06,-0.19 0.06,-0.08 0.12,-0.17 0.13,-0.28 0.06,-0.41 0.03,-0.83 -0.04,-1.25 0.07,-0.05 0.14,-0.11 0.19,-0.18 0.3,-0.47 0.6,-0.94 0.9,-1.41 1.56,0.25 3.11,-0.84 3.75,-2.23 0.74,-1.63 0.33,-3.59 -0.68,-5.01 -1.07,-1.51 -2.71,-2.46 -4.39,-3.17 -1.71,-0.73 -3.71,-1.21 -5.51,-0.48 -0.85,0.35 -1.62,0.93 -2.03,1.76 -0.37,0.76 -0.62,1.87 -0.11,2.62 0.01,0.01 0.02,0.01 0.03,0.02 -0.03,0.05 -0.06,0.1 -0.09,0.15 -0.62,-0.27 -1.28,-0.47 -1.91,-0.65 -1.03,-0.3 -2.08,-0.54 -3.13,-0.7 0.41,-0.59 0.57,-1.3 0.56,-2.02 -0.01,-0.9 -0.15,-1.8 -0.24,-2.69 -0.05,-0.46 -0.1,-0.91 -0.15,-1.37 -0.03,-0.25 -0.07,-0.5 -0.13,-0.75 -0.02,-0.07 -0.05,-0.14 -0.07,-0.21 0.35,-0.01 0.7,-0.01 1.06,-0.02 0.2,0 0.41,-0.01 0.61,-0.01 0.17,0.08 0.38,0.04 0.55,-0.08 0.15,-0.06 0.28,-0.15 0.41,-0.32 0.15,-0.2 0.08,-0.46 -0.05,-0.65 0.01,-0.4 -0.04,-0.81 -0.06,-1.19 -0.04,-0.65 -0.07,-1.3 -0.11,-1.95 -0.03,-0.63 -0.08,-1.25 -0.12,-1.88 -0.02,-0.31 -0.04,-0.63 -0.08,-0.94 -0.01,-0.07 -0.02,-0.15 -0.03,-0.23 0.16,-0.4 -0.04,-0.96 -0.6,-0.95 -0.83,0 -1.66,0 -2.49,0.02 -0.79,0.01 -1.59,0.01 -2.37,0.1 -0.01,-0.1 -0.01,-0.2 -0.02,-0.31 -0.03,-0.52 -0.05,-1.05 -0.09,-1.57 -0.04,-0.52 -0.02,-1.1 -0.21,-1.59 -0.04,-0.11 -0.12,-0.19 -0.21,-0.24 0,-0.02 0.01,-0.05 0.01,-0.07 -0.01,-0.26 -0.19,-0.58 -0.47,-0.62 -0.45,-0.07 -0.91,-0.04 -1.36,-0.03 -0.41,0.01 -0.83,0.01 -1.24,0.02 -0.1,0 -0.2,0.03 -0.3,0.09 -1.48,-4.62 -2.97,-9.24 -4.39,-13.88 -1.23,-4 -2.42,-8.02 -3.63,-12.03 2.84,-1.2 5.59,-2.63 8.17,-4.31 5.18,-3.37 9.76,-7.66 13.52,-12.56 3.8,-4.96 6.79,-10.51 8.78,-16.43 1.99,-5.91 2.97,-12.15 2.81,-18.39 -0.05,-1.98 -0.23,-3.96 -0.49,-5.93 3.81,-1.61 7.62,-3.22 11.42,-4.84 2.56,-1.08 5.11,-2.18 7.68,-3.25 0.93,-0.39 1.85,-0.77 2.78,-1.16 0.14,0.15 0.3,0.28 0.44,0.37 0.53,0.34 1.16,0.42 1.77,0.33 0.67,-0.1 1.29,-0.4 1.89,-0.71 0.26,-0.13 0.52,-0.26 0.8,-0.34 0.13,0.13 0.27,0.24 0.41,0.32 0.39,0.21 0.85,0.31 1.29,0.31 0.53,0 1.03,-0.16 1.5,-0.37 0.22,-0.1 0.44,-0.22 0.65,-0.34 0.04,-0.02 0.09,-0.05 0.13,-0.08 0.2,0.5 0.81,0.48 1.13,0.14 1.73,-0.32 3.43,-1.04 5.01,-1.79 0.8,-0.38 1.62,-0.78 2.37,-1.24 0.41,-0.25 0.85,-0.55 1.21,-0.9 0.11,0.02 0.24,0.02 0.38,-0.01 0.28,-0.07 0.55,-0.15 0.83,-0.22 0.02,-0.01 0.03,-0.02 0.05,-0.03 0.13,0.02 0.26,-0.01 0.36,-0.11 0.07,-0.08 0.14,-0.16 0.2,-0.25 0.04,-0.06 0.07,-0.13 0.11,-0.2 0.07,-0.11 0.14,-0.22 0.21,-0.33 0.11,-0.13 0.22,-0.25 0.35,-0.35 -0.04,0.03 -0.08,0.06 -0.12,0.09 0.11,-0.08 0.22,-0.16 0.32,-0.25 0.18,-0.08 0.25,-0.27 0.24,-0.39 z m -33.32,-15.97 c -0.01,0.01 -0.01,0.03 -0.02,0.04 -0.02,0.03 -0.04,0.07 -0.06,0.1 0.01,-0.01 0.01,0 0,0.02 0,0 -0.01,0.01 -0.01,0.01 0,0.01 -0.01,0.01 -0.01,0.02 0,-0.01 0,-0.01 0.01,-0.01 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.01,0.01 -0.03,0.03 -0.04,0.04 -0.03,0.02 -0.07,0.04 -0.1,0.06 -0.01,0 -0.02,0.01 -0.03,0.01 -0.01,0 -0.01,0 -0.02,0.01 -0.05,0.02 -0.09,0.03 -0.14,0.04 -0.01,0 -0.02,0 -0.04,0.01 -0.04,0 -0.08,0.01 -0.12,0 -0.02,0 -0.04,0 -0.06,0 0,0 -0.01,0 -0.01,0 -0.04,-0.01 -0.08,-0.02 -0.11,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,-0.02 -0.03,-0.02 -0.07,-0.03 -0.1,-0.05 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 0.01,0 0.01,0 0.01,0.01 -0.02,-0.02 -0.04,-0.04 -0.05,-0.05 0,0 -0.02,-0.01 -0.03,-0.03 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 0.01,0.01 0.01,0.01 0.01,0.01 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.01,-0.02 -0.02,-0.04 -0.03,-0.05 -0.01,-0.04 -0.03,-0.09 -0.04,-0.13 -0.01,-0.02 -0.01,-0.05 -0.01,-0.07 0,0.02 0.01,0.02 0.01,0.03 0,0 0,-0.01 0,-0.01 0,-0.06 0,-0.12 0,-0.17 0,-0.01 0,-0.03 0,-0.04 0,-0.01 0,-0.01 0,-0.02 0.01,-0.03 0.02,-0.06 0.02,-0.09 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.09,-0.06 0.18,-0.13 0.26,-0.2 -0.04,0.03 -0.08,0.06 -0.12,0.09 0.06,-0.04 0.12,-0.08 0.19,-0.11 0.08,-0.03 0.16,-0.05 0.24,-0.06 -0.01,0 -0.01,0 -0.02,0 0.02,0 0.05,-0.01 0.07,-0.01 0.01,-0.01 0.03,-0.01 0.04,-0.02 0,0 0.01,0 0.02,-0.01 0.01,0 0.01,-0.01 0.02,-0.01 0.01,0 0.03,0.01 0.04,0.01 0.02,0 0.03,0.01 0.05,0.01 0.01,0 0.01,0 0.01,0 0.03,0.02 0.07,0.03 0.1,0.06 0,0 -0.01,-0.01 -0.01,-0.01 0.01,0.02 0.04,0.03 0.06,0.05 0.02,0.01 0.03,0.03 0.05,0.05 -0.01,-0.01 -0.01,0 0.03,0.03 0,0 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.01 0.01,0.01 0.01,0.02 0.02,0.02 -0.01,0 -0.01,-0.01 -0.01,-0.01 0.01,0.02 0.03,0.04 0.04,0.07 0.01,0.02 0.02,0.03 0.02,0.05 0,0 0,-0.01 0,-0.01 0,0.01 0,0.01 0.01,0.02 0,0 0,0 0,0 0,0 0,0 0,-0.01 0.01,0.06 0.02,0.06 0.01,0.04 0.01,0.02 0.02,0.04 0.02,0.06 0.01,0.03 0.01,0.05 0.02,0.08 0,0 0,0.01 0.01,0.04 0,0 0,0 0,0 0,0 0,0 0,0 0,0.01 0,0.02 0.01,0.03 0,-0.01 0,-0.01 -0.01,-0.02 0,0.03 0,0.05 0,0.08 0,0.03 -0.02,0.1 0.01,-0.01 0,0.02 -0.01,0.04 -0.01,0.06 -0.02,0.02 -0.03,0.06 -0.04,0.09 -0.01,0.01 -0.01,0.01 -0.01,0.02 0.01,-0.01 0.01,-0.01 0.01,-0.02 z m -2.19,-3.44 c 0.34,0.05 0.62,0.22 0.87,0.44 0.48,0.42 0.9,0.9 1.29,1.4 -0.07,-0.03 -0.13,-0.07 -0.2,-0.09 -0.01,0 -0.03,-0.01 -0.05,-0.01 -0.01,0 -0.01,0 -0.01,0 -0.05,-0.02 -0.1,-0.04 -0.14,-0.06 -0.1,-0.04 -0.21,-0.06 -0.32,-0.05 -0.23,0.02 -0.43,0.07 -0.64,0.17 -0.21,0.1 -0.37,0.24 -0.5,0.43 -0.08,0.12 -0.09,0.28 -0.05,0.42 -0.13,0.31 -0.18,0.63 -0.11,0.96 0.14,0.66 0.76,1.09 1.41,1.11 0.66,0.02 1.27,-0.41 1.44,-1.05 0.05,-0.19 0.06,-0.4 0.04,-0.61 0.39,0.61 0.73,1.24 1.02,1.9 -0.44,0.22 -0.89,0.42 -1.34,0.61 -0.33,0.14 -0.66,0.29 -0.99,0.43 -0.14,0.06 -0.28,0.12 -0.42,0.19 -0.37,-0.87 -0.95,-1.67 -1.53,-2.35 -0.44,-0.52 -0.95,-0.98 -1.5,-1.38 -0.45,-0.33 -1.01,-0.72 -1.58,-0.86 0.03,-0.06 0.06,-0.12 0.1,-0.17 0.02,-0.03 0.04,-0.07 0.07,-0.1 0,-0.01 0.04,-0.05 0.05,-0.07 0.04,-0.06 0.09,-0.11 0.14,-0.16 0.01,-0.01 0.02,-0.02 0.03,-0.04 0.17,0.24 0.4,0.49 0.68,0.46 0.13,-0.01 0.26,-0.09 0.34,-0.19 0.04,0.02 0.07,0.05 0.11,0.07 0.09,0.03 0.18,0.04 0.27,0.04 0.06,0 0.12,0 0.18,0 0.21,-0.02 0.37,-0.06 0.56,-0.15 0.08,-0.03 0.14,-0.09 0.21,-0.14 0.02,0 0.05,0 0.07,-0.01 0.26,-0.08 0.46,-0.36 0.37,-0.64 -0.05,-0.16 -0.11,-0.32 -0.17,-0.49 0.1,-0.01 0.2,-0.03 0.3,-0.01 z m 2.72,6.94 c -0.63,0.26 -1.26,0.53 -1.89,0.8 0,-0.02 0.01,-0.04 0.01,-0.05 0.01,-0.07 0.03,-0.15 0.05,-0.22 0.01,-0.04 0.02,-0.07 0.03,-0.11 0.01,-0.03 0.07,-0.15 0.01,-0.02 0.02,-0.04 0.04,-0.09 0.06,-0.13 0.05,-0.03 0.1,-0.05 0.16,-0.08 0.32,-0.04 0.64,-0.16 0.94,-0.28 0.34,-0.13 0.67,-0.26 1.01,-0.39 0.55,-0.21 1.1,-0.42 1.67,-0.59 0,0.04 0.01,0.08 0.01,0.11 -0.25,0.12 -0.49,0.27 -0.72,0.37 -0.46,0.22 -0.9,0.41 -1.34,0.59 z m -3.35,-1.31 c -0.23,-0.37 -0.49,-0.72 -0.78,-1.06 -0.29,-0.35 -0.62,-0.68 -1.04,-0.87 -0.05,-0.02 -0.09,-0.02 -0.14,-0.03 -0.02,-0.14 -0.03,-0.28 -0.03,-0.43 -0.35,0.15 -0.7,0.31 -1.06,0.46 0,-0.01 -0.01,-0.02 -0.01,-0.03 0.01,-0.14 -0.01,-0.29 -0.01,-0.43 -0.01,-0.18 0,-0.36 0.03,-0.54 0,-0.01 0.01,-0.06 0.01,-0.09 0,-0.02 0.01,-0.07 0.01,-0.08 0.01,-0.07 0.03,-0.13 0.05,-0.2 0.18,0.11 0.37,0.21 0.56,0.32 0.25,0.15 0.5,0.31 0.73,0.49 0.49,0.38 0.94,0.82 1.33,1.3 0.38,0.47 0.66,0.99 0.91,1.54 0.09,0.19 0.15,0.38 0.21,0.58 -0.01,0.03 -0.03,0.06 -0.04,0.1 -0.02,0.08 -0.04,0.16 -0.05,0.25 -0.01,0.03 -0.01,0.06 -0.01,0.09 -0.02,-0.05 -0.04,-0.11 -0.06,-0.16 -0.18,-0.41 -0.37,-0.82 -0.61,-1.21 z m -6.55,-0.39 c -3.55,1.54 -7.1,3.07 -10.65,4.59 -0.45,-0.63 -0.9,-1.26 -1.37,-1.88 0.09,-0.04 0.18,-0.07 0.27,-0.11 2.12,-0.86 4.24,-1.73 6.37,-2.59 1.65,-0.67 3.32,-1.32 4.95,-2.05 0.17,0.31 0.53,0.42 0.84,0.34 0.05,0.08 0.12,0.15 0.2,0.2 0.14,0.09 0.3,0.08 0.45,0.06 0.06,-0.01 0.11,-0.02 0.17,-0.03 0.1,-0.02 0.2,-0.08 0.29,-0.13 l 0.63,-0.3 c 0.1,-0.05 0.22,-0.09 0.31,-0.16 0.04,-0.03 0.07,-0.06 0.11,-0.1 0.01,0.09 0.01,0.18 0.03,0.27 -0.07,0.07 -0.13,0.16 -0.15,0.25 -0.01,0.04 -0.02,0.08 -0.02,0.12 -0.01,0.09 -0.03,0.16 -0.02,0.24 0.01,0.04 0.01,0.09 0.02,0.13 0,0.02 0,0.04 0.01,0.06 -0.8,0.38 -1.62,0.74 -2.44,1.09 z m -33.26,14.26 c 1.04,-1.35 2.08,-2.71 3.12,-4.06 1.97,-0.82 3.93,-1.65 5.9,-2.47 1.98,-0.82 3.97,-1.63 5.96,-2.44 0.53,0.63 1.04,1.27 1.53,1.93 -5.49,2.35 -11,4.7 -16.51,7.04 z m -26.08,10.93 c -0.39,-0.72 -0.78,-1.44 -1.17,-2.17 6.7,-2.87 13.4,-5.71 20.11,-8.53 -1.06,1.38 -2.13,2.75 -3.19,4.13 -5.24,2.2 -10.5,4.39 -15.75,6.57 z m -4.1,1.7 c -0.08,-0.15 -0.16,-0.31 -0.25,-0.46 0.24,-0.06 0.47,-0.13 0.71,-0.19 0.05,0.05 0.1,0.1 0.15,0.15 0.06,0.06 0.13,0.11 0.2,0.16 -0.27,0.11 -0.54,0.22 -0.81,0.34 z m -13.96,5.72 c -1.49,-0.13 -2.97,-0.26 -4.46,-0.39 4.26,-1.85 8.52,-3.71 12.79,-5.54 1.12,-0.48 2.23,-0.95 3.35,-1.43 0.37,0.71 0.73,1.42 1.1,2.13 -4.25,1.75 -8.51,3.5 -12.78,5.23 z m 10.09,-2.34 c 0.03,0.17 0.05,0.33 0.08,0.5 0.01,0.08 0.03,0.16 0.04,0.24 0.02,0.1 0.05,0.18 0.09,0.27 0.01,0.02 0.03,0.02 0.05,0.03 -0.53,0.07 -1.07,0.15 -1.59,0.27 -0.02,-0.15 -0.04,-0.31 -0.07,-0.46 -0.03,-0.16 -0.05,-0.32 -0.08,-0.48 0.08,-0.03 0.15,-0.06 0.23,-0.09 0.41,-0.16 0.81,-0.33 1.21,-0.49 z m 4.5,2.16 c 2.05,-0.12 4.09,-0.22 6.14,-0.27 4.1,-0.1 8.2,0 12.29,0.26 2.24,0.14 4.48,0.34 6.71,0.59 -0.07,0.55 -0.04,1.15 0,1.72 -0.01,-0.02 -0.02,-0.05 -0.04,-0.07 -0.07,-0.12 -0.25,-0.01 -0.19,0.11 0.09,0.17 0.17,0.35 0.26,0.53 0,0.02 0,0.03 0,0.05 0.03,0.91 0.08,1.82 0.1,2.73 0.06,1.88 0.08,3.77 0.06,5.65 -0.02,1.88 -0.09,3.77 -0.23,5.65 -0.07,0.91 -0.14,1.82 -0.2,2.72 -0.03,0.43 -0.06,0.85 -0.09,1.28 -0.64,0.01 -1.29,0.09 -1.94,0.17 -0.02,-0.21 -0.04,-0.43 -0.06,-0.64 -0.01,-0.06 -0.05,-0.11 -0.11,-0.11 -0.06,0 -0.12,0.05 -0.11,0.11 0.02,0.22 0.04,0.45 0.06,0.67 -0.17,0.02 -0.34,0.04 -0.51,0.06 -0.26,0.02 -0.53,0.04 -0.79,0.06 0.02,-0.09 0.01,-0.19 0,-0.28 -0.02,-0.15 -0.04,-0.29 -0.04,-0.43 0.01,-0.33 0.05,-0.65 0.07,-0.98 0.04,-0.64 0.03,-1.28 0.03,-1.92 0,-0.11 -0.16,-0.11 -0.17,0 -0.03,0.64 -0.07,1.28 -0.07,1.92 0,0.31 0.02,0.63 0.02,0.94 0,0.18 -0.04,0.34 -0.07,0.51 -0.02,0.09 -0.02,0.18 -0.01,0.26 -0.55,0.05 -1.09,0.09 -1.64,0.13 0.05,-0.24 -0.02,-0.53 -0.02,-0.77 0,-0.37 0.02,-0.75 0.04,-1.12 0.01,-0.36 0.06,-0.72 0.06,-1.08 0.01,-0.37 0.01,-0.75 0.02,-1.12 0,-0.13 -0.19,-0.13 -0.2,0 -0.01,0.36 -0.03,0.72 -0.04,1.08 -0.01,0.37 0.01,0.75 0,1.12 0,0.36 0,0.72 -0.02,1.08 -0.01,0.25 -0.1,0.57 -0.05,0.83 -0.04,0 -0.08,0.01 -0.12,0.01 -0.47,0.03 -0.93,0.04 -1.4,0.07 0.02,-0.05 0.04,-0.1 0.05,-0.14 0.02,-0.06 -0.05,-0.1 -0.1,-0.07 -0.02,-0.31 -0.07,-0.62 -0.08,-0.92 -0.02,-0.39 -0.02,-0.79 -0.02,-1.18 0,-0.8 0.03,-1.61 0.11,-2.41 0.01,-0.12 -0.18,-0.12 -0.19,0 -0.08,0.82 -0.13,1.64 -0.14,2.46 0,0.41 0.01,0.82 0.02,1.23 0.01,0.34 0,0.71 0.06,1.05 -0.44,0.03 -0.88,0.04 -1.32,0.07 0.01,-0.25 0.02,-0.49 0.03,-0.74 0.03,-0.7 -0.01,-1.41 0,-2.11 0,-0.07 -0.11,-0.07 -0.11,0 -0.03,0.71 -0.1,1.41 -0.1,2.11 0,0.25 -0.01,0.5 -0.01,0.75 -0.05,0 -0.09,0 -0.14,0.01 -0.04,-0.16 -0.08,-0.32 -0.12,-0.48 -0.11,-0.46 -0.23,-0.93 -0.39,-1.37 -0.3,-0.83 -0.69,-1.61 -1.24,-2.29 -0.04,-0.05 -0.09,-0.1 -0.14,-0.15 0.09,-0.08 0.16,-0.19 0.15,-0.31 0,-0.08 -0.11,-0.09 -0.14,-0.02 -0.03,0.08 -0.08,0.14 -0.14,0.2 -0.15,-0.16 -0.31,-0.31 -0.48,-0.46 0.04,-0.05 0.09,-0.08 0.16,-0.1 0.06,-0.01 0.13,-0.01 0.2,0 0.04,0.01 0.06,0.02 0.09,0.04 0.02,0.01 0.02,0.01 0.03,0.02 0.01,0.01 0.01,0.01 0.02,0.02 0,0 0.02,0.03 0.02,0.02 0.03,0.04 0.08,0.06 0.12,0.03 0.04,-0.02 0.06,-0.08 0.03,-0.12 -0.2,-0.26 -0.59,-0.26 -0.81,-0.03 -0.12,-0.09 -0.24,-0.17 -0.36,-0.25 0.06,-0.18 0.12,-0.35 0.17,-0.53 0.01,-0.05 -0.06,-0.08 -0.08,-0.03 -0.08,0.16 -0.15,0.31 -0.23,0.47 -0.37,-0.22 -0.77,-0.4 -1.19,-0.52 0.04,-0.19 0.03,-0.4 0.05,-0.6 0.02,-0.24 0.03,-0.48 0.04,-0.72 0.01,-0.3 0.02,-0.59 0.03,-0.89 0.35,-0.13 0.68,-0.28 1,-0.46 v 0.15 c 0,0.17 0,0.33 -0.01,0.5 0,0.16 -0.02,0.33 0.02,0.49 0.03,0.11 0.18,0.11 0.21,0 0.04,-0.16 0.02,-0.33 0.02,-0.49 0,-0.17 0,-0.33 -0.01,-0.5 v -0.29 c 0.4,-0.25 0.78,-0.53 1.13,-0.85 -0.04,0.54 -0.08,1.07 -0.12,1.61 -0.04,0.62 -0.12,1.27 -0.06,1.9 0.01,0.09 0.15,0.12 0.17,0.02 0.13,-0.61 0.13,-1.26 0.16,-1.88 0.03,-0.62 0.05,-1.24 0.08,-1.86 0.3,-0.31 0.57,-0.65 0.81,-1.01 -0.01,0.4 -0.02,0.79 -0.02,1.19 v 0.88 c 0,0.27 -0.02,0.58 0.04,0.84 0.02,0.08 0.15,0.08 0.17,0 0.07,-0.26 0.04,-0.57 0.04,-0.84 v -0.88 c 0,-0.51 -0.02,-1.01 -0.03,-1.52 0.09,-0.16 0.2,-0.31 0.28,-0.47 1.41,-2.94 0.41,-6.49 -2.16,-8.44 -0.17,-0.13 -0.36,-0.21 -0.53,-0.32 -0.06,-0.19 -0.12,-0.39 -0.18,-0.58 -0.05,-0.15 -0.28,-0.09 -0.24,0.07 0.03,0.11 0.06,0.22 0.09,0.32 -1.28,-0.67 -2.73,-0.9 -4.18,-0.67 -0.3,0.05 -0.6,0.13 -0.9,0.22 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.02,-0.04 -0.07,-0.05 -0.11,-0.03 -0.04,0.02 -0.05,0.07 -0.03,0.11 0,0.01 0.01,0.01 0.01,0.02 -0.72,0.24 -1.42,0.59 -2.01,1.06 v -0.58 c 0,-0.11 -0.18,-0.11 -0.18,0 v 0.66 c 0,0.02 0,0.05 0.01,0.07 -0.41,0.36 -0.77,0.78 -1.03,1.26 -0.01,0.01 -0.01,0.03 -0.01,0.04 -0.74,0.92 -1.21,2.05 -1.36,3.24 -0.41,3.31 1.81,6.4 4.99,7.3 0.6,0.17 1.22,0.22 1.82,0.2 0.01,0.25 0.02,0.49 0.03,0.74 0.01,0.16 0.01,0.31 0.02,0.47 0.01,0.14 0.01,0.29 0.05,0.43 -0.45,0.05 -0.88,0.15 -1.31,0.29 0,-0.13 0.02,-0.25 0.02,-0.38 0,-0.26 0,-0.52 0,-0.77 0,-0.11 -0.17,-0.11 -0.17,0 0,0.26 0,0.52 0,0.77 0,0.15 0.01,0.29 0.02,0.44 -0.31,0.11 -0.61,0.24 -0.9,0.39 0.02,-0.15 0.02,-0.3 0.02,-0.44 v -0.7 c 0,-0.48 -0.01,-0.96 -0.02,-1.44 0,-0.14 -0.22,-0.14 -0.22,0 -0.01,0.48 -0.02,0.96 -0.02,1.44 v 0.7 c 0,0.18 0,0.38 0.04,0.57 -0.57,0.34 -1.11,0.74 -1.56,1.24 -0.36,0.39 -0.67,0.82 -0.95,1.26 -0.01,-0.25 -0.02,-0.51 -0.03,-0.76 0,-0.1 -0.15,-0.1 -0.15,0 -0.01,0.32 -0.02,0.64 -0.03,0.96 0,0.05 0,0.1 0,0.16 -0.08,0.14 -0.18,0.27 -0.25,0.42 -0.32,0.6 -0.64,1.27 -0.79,1.95 -0.13,-0.01 -0.27,-0.01 -0.4,-0.01 -0.04,-0.35 -0.09,-0.7 -0.12,-1.05 -0.04,-0.57 -0.06,-1.14 -0.05,-1.72 0.01,-1.17 0.11,-2.34 0.29,-3.49 0.02,-0.1 -0.13,-0.14 -0.15,-0.04 -0.22,1.15 -0.35,2.31 -0.37,3.48 -0.01,0.59 0,1.18 0.04,1.76 0.02,0.34 0.05,0.7 0.08,1.05 -0.26,-0.01 -0.51,-0.01 -0.77,-0.02 0.01,-0.4 0,-0.8 0,-1.19 0,-0.59 -0.04,-1.17 -0.05,-1.76 -0.01,-0.57 0.01,-1.14 0.02,-1.71 0.01,-0.6 -0.03,-1.21 -0.03,-1.81 0,-0.06 -0.08,-0.06 -0.09,0 -0.01,0.59 -0.06,1.17 -0.06,1.76 0,0.59 0.02,1.17 0,1.76 -0.02,0.57 -0.07,1.14 -0.07,1.71 -0.01,0.4 -0.03,0.82 -0.02,1.23 -0.14,-0.01 -0.28,-0.01 -0.42,-0.01 -0.13,-0.01 -0.26,-0.02 -0.39,-0.03 0,-0.21 0.01,-0.41 0.01,-0.62 0.02,-0.63 0.01,-1.26 0.01,-1.89 0,-0.11 -0.16,-0.11 -0.17,0 -0.04,0.63 -0.08,1.26 -0.1,1.89 -0.01,0.2 -0.01,0.4 -0.02,0.6 -0.3,-0.02 -0.6,-0.04 -0.89,-0.06 0,-0.09 0,-0.19 0,-0.28 0,-0.21 0,-0.43 0,-0.64 -0.01,-0.43 -0.03,-0.87 -0.04,-1.3 0,-0.09 -0.13,-0.09 -0.14,0 -0.02,0.43 -0.04,0.87 -0.04,1.3 0,0.21 0,0.43 0,0.64 0,0.09 0,0.18 0,0.26 -0.37,-0.03 -0.75,-0.06 -1.12,-0.09 0.04,-0.65 0.03,-1.3 0.04,-1.94 0.02,-0.85 0.01,-1.71 0,-2.56 0,-0.1 -0.15,-0.1 -0.15,0 -0.04,0.85 -0.1,1.71 -0.12,2.56 -0.02,0.63 -0.05,1.28 -0.05,1.92 -0.4,-0.03 -0.8,-0.05 -1.2,-0.08 0.03,-0.42 -0.07,-0.87 -0.09,-1.28 -0.02,-0.45 0.01,-0.89 0.04,-1.34 0.07,-0.91 0.14,-1.82 0.29,-2.72 0.02,-0.15 -0.2,-0.21 -0.23,-0.06 -0.16,0.9 -0.29,1.82 -0.3,2.74 -0.01,0.46 0.02,0.92 0.02,1.39 0,0.4 -0.04,0.86 0.05,1.27 -0.32,-0.02 -0.64,-0.03 -0.97,-0.05 -0.02,-0.63 -0.04,-1.27 -0.03,-1.9 0.02,-0.92 0.03,-1.84 0.01,-2.76 0,-0.13 -0.2,-0.13 -0.2,0 -0.02,0.92 0,1.84 0.01,2.76 0.01,0.63 -0.01,1.26 -0.03,1.89 -0.13,0 -0.26,-0.01 -0.39,-0.01 -0.07,-0.63 -0.16,-1.27 -0.23,-1.9 -0.09,-0.9 -0.17,-1.79 -0.25,-2.69 -0.16,-1.86 -0.31,-3.72 -0.36,-5.58 -0.05,-1.86 -0.06,-3.73 -0.03,-5.59 0.01,-0.9 0.04,-1.8 0.07,-2.7 0.03,-0.79 0.07,-1.6 0.02,-2.4 1.97,-0.02 3.95,-0.31 5.9,-0.42 z m 31.16,10.45 c 0.8,0.08 1.6,0.15 2.4,0.23 7.1,0.67 14.21,1.26 21.31,1.95 0.28,0.03 0.49,-0.1 0.63,-0.29 -0.93,5.22 -2.72,10.26 -5.26,14.91 -2.62,4.79 -5.99,9.16 -10,12.87 -2.4,2.22 -5.03,4.19 -7.83,5.88 -0.3,-0.68 -0.62,-1.34 -1.06,-1.95 -0.5,-0.7 -0.92,-1.42 -1.35,-2.17 -0.77,-1.35 -1.52,-2.72 -2.27,-4.09 -1.53,-2.79 -3.07,-5.57 -4.6,-8.36 -0.37,-0.67 -0.73,-1.34 -1.09,-2.01 0.28,-0.87 0.68,-1.69 1.18,-2.46 0.54,-0.85 1.19,-1.66 1.9,-2.39 0.03,-0.01 0.05,-0.01 0.08,-0.02 0.24,0.18 0.54,0.24 0.82,0.08 0.54,-0.32 0.55,-0.83 0.59,-1.4 0.03,-0.45 0.06,-0.91 0.08,-1.36 0.05,-0.97 0.07,-1.94 0.08,-2.92 0.01,-1.55 0.01,-3.09 0.01,-4.64 1.46,-0.63 2.92,-1.25 4.38,-1.86 z m 4.68,-1.98 c -0.01,0.05 -0.02,0.1 -0.03,0.15 -0.03,0.18 -0.06,0.36 -0.09,0.54 -0.01,0.07 -0.02,0.14 -0.03,0.22 -0.55,-0.05 -1.09,-0.1 -1.64,-0.15 0.6,-0.26 1.19,-0.51 1.79,-0.76 z m 20.11,-8.51 c 0.2,2.07 0.27,4.16 0.19,6.24 -0.09,-0.11 -0.22,-0.19 -0.38,-0.22 -0.77,-0.13 -1.53,-0.23 -2.32,-0.2 -0.86,0.03 -1.69,-0.01 -2.55,-0.06 -1.56,-0.09 -3.11,-0.22 -4.66,-0.34 -0.87,-0.07 -1.75,-0.13 -2.62,-0.2 4.11,-1.74 8.22,-3.48 12.34,-5.22 z m -0.34,11.7 c -0.07,-0.2 -0.22,-0.36 -0.51,-0.39 -0.19,-0.02 -0.37,-0.04 -0.56,-0.05 0.02,-0.01 0.05,0 0.07,-0.03 0.05,-0.08 0.08,-0.17 0.11,-0.27 0.16,0.01 0.32,0.01 0.48,-0.02 0.09,-0.01 0.12,-0.14 0.02,-0.17 -0.14,-0.04 -0.28,-0.07 -0.42,-0.09 0.02,-0.07 0.04,-0.15 0.05,-0.22 0.07,-0.28 0.13,-0.57 0.19,-0.85 0.02,-0.1 0.05,-0.21 0.07,-0.31 0.13,0.02 0.27,0.03 0.4,0.03 0.08,0 0.09,-0.12 0.02,-0.14 -0.12,-0.03 -0.25,-0.05 -0.38,-0.06 0.04,-0.2 0.09,-0.4 0.13,-0.59 0.24,0.01 0.48,0.01 0.72,-0.03 -0.09,1.08 -0.22,2.14 -0.39,3.19 z m -19.49,-2.98 c 0.02,-0.11 0.04,-0.22 0.05,-0.33 0.37,0.01 0.74,0.02 1.11,0.04 0,0.02 -0.01,0.04 -0.01,0.07 -0.03,0.18 -0.06,0.36 -0.08,0.54 -0.02,0.17 -0.07,0.36 -0.03,0.52 -0.33,-0.03 -0.67,-0.07 -1,-0.1 -0.05,-0.01 -0.11,-0.01 -0.16,-0.02 0.01,-0.06 0.03,-0.12 0.04,-0.18 0.03,-0.18 0.05,-0.36 0.08,-0.54 z m 17.18,0.96 c 0.03,-0.19 0.06,-0.39 0.09,-0.58 0.06,0.01 0.11,0.01 0.17,0.02 0.32,0.04 0.64,0.08 0.96,0.12 0.1,0.01 0.2,0.03 0.3,0.04 -0.02,0.09 -0.04,0.18 -0.07,0.26 -0.07,0.27 -0.14,0.54 -0.2,0.81 -0.02,0.1 -0.04,0.2 -0.06,0.3 -0.07,-0.01 -0.14,-0.01 -0.21,-0.02 l -0.99,-0.08 c -0.04,0 -0.08,-0.01 -0.11,-0.01 0.01,-0.04 0.01,-0.08 0.02,-0.12 0.02,-0.24 0.06,-0.49 0.1,-0.74 z m 1.16,-1.22 c 0.18,0.03 0.36,0.04 0.54,0.06 -0.05,0.19 -0.1,0.39 -0.14,0.58 -0.09,-0.01 -0.18,-0.02 -0.26,-0.03 -0.33,-0.04 -0.66,-0.08 -0.99,-0.13 -0.06,-0.01 -0.12,-0.02 -0.18,-0.02 0.04,-0.22 0.07,-0.44 0.11,-0.67 0.29,0.09 0.6,0.16 0.92,0.21 z m -1.64,2.38 c -0.01,0.08 -0.01,0.17 -0.01,0.25 -1.41,-0.13 -2.82,-0.27 -4.24,-0.41 0.24,0.01 0.47,0.02 0.71,0.03 1.17,0.05 2.36,0.15 3.54,0.13 z m 0.3,-0.01 c 0.01,0 0.02,0 0.02,0 0.03,0 0.06,0.01 0.09,0.01 0.32,0.03 0.64,0.06 0.96,0.09 0.08,0.01 0.16,0.01 0.23,0.02 -0.01,0.08 -0.03,0.16 -0.02,0.23 0,0.04 0.03,0.05 0.06,0.07 -0.47,-0.04 -0.95,-0.09 -1.42,-0.14 0.04,-0.09 0.07,-0.18 0.08,-0.28 z m 2.9,-2.5 c -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.22,-0.02 -0.44,-0.03 -0.66,-0.04 0.02,-0.11 0.05,-0.21 0.07,-0.32 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.03,0.12 -0.06,0.25 -0.09,0.37 -0.21,-0.01 -0.42,-0.03 -0.63,-0.06 -0.51,-0.08 -1.01,-0.21 -1.49,-0.39 -0.16,-0.06 -0.23,0.2 -0.07,0.26 0.12,0.04 0.24,0.07 0.36,0.11 l -0.11,0.71 c -0.51,-0.06 -1.01,-0.13 -1.52,-0.19 -0.12,-0.02 -0.12,0.17 0,0.19 0.07,0.01 0.13,0.02 0.2,0.02 -0.03,0.19 -0.05,0.37 -0.08,0.56 -0.01,0.1 -0.03,0.2 -0.04,0.3 -0.01,0.1 -0.03,0.2 -0.01,0.31 0.02,0.09 0.15,0.1 0.19,0.03 0.05,-0.09 0.06,-0.19 0.07,-0.29 0.02,-0.1 0.03,-0.19 0.04,-0.29 0.03,-0.19 0.06,-0.39 0.08,-0.58 0,0 0,-0.01 0,-0.01 0.35,0.04 0.69,0.08 1.04,0.13 l -0.09,0.57 c -0.04,0.26 -0.08,0.53 -0.12,0.79 -0.01,0.04 -0.01,0.07 -0.02,0.11 -0.53,-0.04 -1.05,-0.08 -1.58,-0.12 -0.08,-0.01 -0.12,0.05 -0.12,0.11 -0.43,-0.02 -0.87,-0.03 -1.3,-0.05 -1.21,-0.06 -2.42,-0.11 -3.63,-0.17 -0.88,-0.04 -1.76,-0.07 -2.64,-0.11 -2.08,-0.21 -4.17,-0.42 -6.25,-0.62 0.09,-0.14 0.1,-0.32 0.13,-0.48 0.03,-0.18 0.06,-0.36 0.09,-0.54 0.01,-0.04 0.01,-0.08 0.02,-0.12 0.35,0.01 0.7,0.02 1.04,0.04 l -0.07,0.26 c -0.06,0.2 -0.17,0.45 -0.14,0.67 0.01,0.08 0.14,0.12 0.19,0.05 0.13,-0.17 0.16,-0.44 0.22,-0.64 0.03,-0.11 0.06,-0.21 0.09,-0.32 0.3,0.01 0.59,0.03 0.89,0.05 0,0.01 0,0.02 0,0.02 -0.03,0.22 -0.08,0.48 -0.02,0.7 0.04,0.13 0.21,0.12 0.25,0 0.07,-0.2 0.05,-0.44 0.08,-0.65 0,-0.02 0.01,-0.04 0.01,-0.05 0.42,0.03 0.85,0.05 1.27,0.08 -0.01,0.05 -0.03,0.1 -0.04,0.14 -0.04,0.15 -0.08,0.3 -0.11,0.45 -0.04,0.15 -0.09,0.3 -0.09,0.45 0.01,0.13 0.17,0.17 0.24,0.06 0.08,-0.13 0.12,-0.29 0.16,-0.43 0.04,-0.14 0.09,-0.27 0.13,-0.41 0.02,-0.08 0.04,-0.16 0.07,-0.24 0.53,0.04 1.07,0.08 1.6,0.13 0.05,0.07 0.15,0.09 0.21,0.02 0.38,0.04 0.76,0.08 1.14,0.12 -0.01,0.02 -0.01,0.04 -0.02,0.06 -0.07,0.17 -0.18,0.36 -0.18,0.55 0,0.1 0.14,0.17 0.21,0.09 0.12,-0.14 0.17,-0.35 0.24,-0.52 0.02,-0.05 0.04,-0.09 0.05,-0.14 0.37,0.04 0.74,0.08 1.1,0.12 -0.01,0.05 -0.03,0.11 -0.04,0.16 -0.02,0.08 -0.04,0.16 -0.07,0.24 -0.02,0.08 -0.06,0.16 -0.02,0.24 0.03,0.06 0.11,0.12 0.18,0.07 0.13,-0.09 0.14,-0.3 0.18,-0.44 0.02,-0.08 0.04,-0.16 0.06,-0.24 0.36,0.05 0.72,0.09 1.08,0.14 0,0.02 -0.01,0.03 -0.01,0.05 -0.03,0.18 -0.07,0.4 -0.02,0.58 0.04,0.11 0.19,0.11 0.23,0 0.06,-0.17 0.05,-0.37 0.08,-0.54 0,-0.02 0.01,-0.03 0.01,-0.05 0.04,0.01 0.07,0.01 0.11,0.01 0.26,0.04 0.51,0.07 0.76,0.11 0.08,0.01 0.16,0.03 0.24,0.04 0,0.01 0,0.02 -0.01,0.02 -0.07,0.22 -0.15,0.45 -0.17,0.68 -0.01,0.13 0.18,0.17 0.24,0.06 0.11,-0.2 0.16,-0.44 0.22,-0.67 0.01,-0.02 0.01,-0.05 0.02,-0.07 0.06,0 0.11,0.01 0.17,0.01 0.17,-0.01 0.19,-0.23 0.04,-0.29 -0.04,-0.01 -0.08,-0.02 -0.12,-0.03 0.03,-0.09 0.05,-0.18 0.08,-0.26 0.13,-0.44 0.26,-0.89 0.39,-1.33 0.05,-0.18 -0.23,-0.26 -0.28,-0.08 -0.13,0.44 -0.26,0.89 -0.39,1.33 -0.03,0.09 -0.05,0.18 -0.08,0.28 -0.3,-0.06 -0.62,-0.09 -0.91,-0.14 -0.07,-0.01 -0.15,-0.02 -0.22,-0.03 0.01,-0.05 0.02,-0.1 0.03,-0.15 0.11,-0.35 0.26,-0.68 0.46,-0.99 0.1,-0.16 -0.15,-0.31 -0.25,-0.15 -0.21,0.33 -0.38,0.69 -0.49,1.06 -0.02,0.06 -0.03,0.12 -0.04,0.19 -0.26,-0.04 -0.52,-0.07 -0.79,-0.11 -0.09,-0.01 -0.18,-0.02 -0.27,-0.03 0.08,-0.28 0.15,-0.56 0.23,-0.84 0.05,-0.18 -0.22,-0.25 -0.27,-0.08 l -0.24,0.88 c -0.36,-0.04 -0.71,-0.08 -1.07,-0.12 0.01,-0.02 0.02,-0.05 0.03,-0.07 0.12,-0.31 0.24,-0.63 0.36,-0.94 0.62,0.07 1.24,0.14 1.86,0.13 0.1,0 0.13,-0.16 0.02,-0.18 -0.62,-0.14 -1.27,-0.21 -1.9,-0.28 -0.02,-0.01 -0.03,0 -0.05,-0.01 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.42,-0.05 -0.83,-0.09 -1.25,-0.14 0.07,-0.24 0.15,-0.48 0.22,-0.73 0.23,0.02 0.47,0.04 0.7,0.06 1.75,0.14 3.49,0.26 5.24,0.42 0.9,0.08 1.82,0.11 2.7,0.3 0.91,0.2 1.78,0.24 2.7,0.23 0.16,0 0.28,-0.06 0.38,-0.14 -0.04,0.4 -0.05,0.74 -0.08,1.08 z m -11.19,0.28 c -0.24,-0.03 -0.47,-0.06 -0.71,-0.08 -0.14,-0.01 -0.28,-0.02 -0.42,-0.04 0.11,-0.3 0.21,-0.61 0.3,-0.91 0.01,-0.03 0.02,-0.07 0.03,-0.1 0.39,0.04 0.79,0.09 1.18,0.13 -0.11,0.29 -0.22,0.58 -0.34,0.87 -0.01,0.04 -0.03,0.09 -0.04,0.13 z m -1.16,-1.15 c -0.11,0.33 -0.22,0.66 -0.3,1 -0.51,-0.05 -1.02,-0.09 -1.53,-0.13 0.03,-0.11 0.06,-0.23 0.09,-0.34 0.07,-0.24 0.13,-0.48 0.2,-0.72 0.37,0.04 0.73,0.08 1.1,0.12 0.15,0.02 0.29,0.03 0.44,0.05 0,0.01 0,0.01 0,0.02 z m -3.11,-0.37 c 0.42,0.05 0.84,0.09 1.25,0.14 -0.07,0.22 -0.13,0.45 -0.2,0.67 -0.04,0.13 -0.08,0.27 -0.12,0.4 -0.44,-0.03 -0.87,-0.05 -1.31,-0.07 0.02,-0.09 0.03,-0.18 0.05,-0.27 0.08,-0.3 0.21,-0.59 0.33,-0.87 z m 2.72,-0.01 c -0.36,-0.04 -0.71,-0.08 -1.07,-0.11 0.06,-0.23 0.12,-0.45 0.18,-0.68 0.53,0.04 1.07,0.09 1.6,0.13 -0.08,0.24 -0.15,0.48 -0.23,0.71 -0.15,-0.02 -0.31,-0.04 -0.48,-0.05 z m -1.19,-0.82 c -0.07,0.22 -0.13,0.45 -0.2,0.67 -0.41,-0.04 -0.82,-0.09 -1.24,-0.13 0.01,-0.03 0.02,-0.06 0.03,-0.09 0.05,-0.1 -0.01,-0.18 -0.09,-0.22 0.23,-0.1 0.47,-0.2 0.7,-0.3 0.28,0.03 0.54,0.05 0.8,0.07 z m -1.76,0.5 c -0.1,-0.01 -0.2,-0.02 -0.29,-0.03 0.12,-0.05 0.25,-0.11 0.37,-0.16 -0.03,0.07 -0.05,0.13 -0.08,0.19 z m -0.85,0.21 c 0.24,0.03 0.48,0.05 0.72,0.08 -0.11,0.27 -0.2,0.55 -0.27,0.83 -0.03,0.11 -0.04,0.22 -0.06,0.33 -0.29,-0.01 -0.57,-0.03 -0.86,-0.05 l 0.3,-1.13 c 0.06,-0.01 0.12,-0.04 0.17,-0.06 z m -0.49,0.21 c -0.08,0.31 -0.17,0.61 -0.25,0.92 l -0.02,0.06 c 0,0 0,0 0,0 -0.36,-0.01 -0.72,-0.01 -1.08,-0.02 0.02,-0.14 0.04,-0.28 0.07,-0.41 0.42,-0.19 0.85,-0.37 1.28,-0.55 z m -1.66,0.95 c -0.19,0 -0.38,-0.01 -0.57,-0.01 0.2,-0.09 0.41,-0.17 0.61,-0.26 -0.01,0.09 -0.03,0.18 -0.04,0.27 z m -14.92,22.36 c -0.08,0.06 -0.16,0.13 -0.24,0.19 -0.02,-0.04 -0.05,-0.08 -0.07,-0.11 -0.14,-0.48 -0.29,-0.95 -0.43,-1.43 0.25,0.45 0.49,0.9 0.74,1.35 z m 3.35,9.81 c 0.09,0.18 0.17,0.37 0.25,0.55 -0.03,0.02 -0.07,0.05 -0.1,0.07 -0.21,0.15 -0.42,0.29 -0.63,0.44 -0.12,-0.39 -0.23,-0.79 -0.35,-1.18 0.01,0 0.02,0 0.04,0 0.2,-0.1 0.39,-0.21 0.57,-0.32 0.08,0.14 0.15,0.29 0.22,0.44 z m 0.45,0.97 c 0.09,0.22 0.19,0.44 0.3,0.66 -0.17,0.13 -0.34,0.25 -0.51,0.38 -0.11,0.08 -0.22,0.17 -0.33,0.25 -0.01,0 -0.01,0.01 -0.02,0.01 -0.09,-0.3 -0.18,-0.61 -0.27,-0.91 0.24,-0.16 0.48,-0.33 0.72,-0.49 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.01,0.06 0.03,0.1 0.05,0.14 z m 0.45,2.17 c 0,0 0.01,-0.01 0.01,-0.01 0.16,0.28 0.33,0.56 0.5,0.84 -0.07,0.06 -0.14,0.12 -0.21,0.18 -0.09,0.08 -0.18,0.15 -0.27,0.23 -0.15,-0.31 -0.31,-0.61 -0.46,-0.92 0.14,-0.1 0.29,-0.21 0.43,-0.32 z m -2.95,-10.24 c -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.1,-0.17 -0.2,-0.34 -0.3,-0.51 0.06,-0.06 0.1,-0.13 0.15,-0.19 0.12,0.22 0.24,0.44 0.36,0.67 -0.06,-0.05 -0.13,-0.04 -0.18,0 z m -0.31,0.26 c -0.1,0.08 -0.19,0.17 -0.29,0.25 -0.02,0.02 -0.04,0.04 -0.06,0.05 -0.06,-0.22 -0.13,-0.45 -0.19,-0.67 0.03,-0.02 0.07,-0.02 0.1,-0.04 0.05,-0.03 0.1,-0.07 0.15,-0.11 0.09,0.17 0.19,0.35 0.29,0.52 z m 2.27,3.01 c -0.02,0.02 -0.05,0.04 -0.07,0.06 -0.04,-0.08 -0.09,-0.15 -0.13,-0.23 -0.05,-0.08 -0.09,-0.16 -0.14,-0.24 0.03,-0.02 0.06,-0.04 0.08,-0.06 0.09,0.15 0.17,0.31 0.26,0.47 z m -0.5,0 c 0.05,0.09 0.11,0.17 0.16,0.26 -0.24,0.18 -0.48,0.37 -0.72,0.55 -0.02,0.01 -0.04,0.03 -0.05,0.04 -0.1,-0.17 -0.19,-0.34 -0.29,-0.51 0.23,-0.15 0.45,-0.31 0.67,-0.47 0.04,-0.03 0.08,-0.06 0.11,-0.08 0.03,0.07 0.08,0.14 0.12,0.21 z m -0.74,2.01 c -0.06,-0.2 -0.12,-0.4 -0.18,-0.6 0.06,-0.05 0.13,-0.1 0.19,-0.15 0.1,0.18 0.21,0.36 0.31,0.54 -0.09,0.06 -0.18,0.11 -0.27,0.17 -0.02,0.01 -0.04,0.03 -0.05,0.04 z m -0.36,-1.18 c -0.03,-0.11 -0.06,-0.21 -0.09,-0.32 0.01,0 0.02,0 0.03,0 0.1,0.17 0.2,0.35 0.3,0.53 -0.05,0.04 -0.09,0.07 -0.14,0.11 -0.03,-0.11 -0.07,-0.22 -0.1,-0.32 z m 0.93,0.81 c -0.1,-0.19 -0.22,-0.38 -0.33,-0.56 0.03,-0.02 0.05,-0.04 0.08,-0.06 0.23,-0.18 0.46,-0.36 0.7,-0.54 0.1,0.16 0.2,0.32 0.3,0.49 0.03,0.05 0.06,0.1 0.09,0.15 -0.28,0.16 -0.56,0.34 -0.84,0.52 z m -0.22,-1.98 c -0.22,0.16 -0.43,0.32 -0.64,0.49 -0.15,-0.24 -0.3,-0.48 -0.45,-0.71 0.16,-0.11 0.31,-0.21 0.47,-0.32 0.11,-0.08 0.23,-0.16 0.34,-0.24 0.14,0.23 0.27,0.46 0.41,0.7 -0.04,0.01 -0.09,0.04 -0.13,0.08 z m -0.83,-0.87 c -0.13,0.09 -0.26,0.17 -0.39,0.26 -0.06,-0.2 -0.12,-0.41 -0.18,-0.61 0.2,-0.14 0.4,-0.29 0.6,-0.44 v 0 c 0.11,0.19 0.22,0.37 0.33,0.56 -0.12,0.07 -0.24,0.15 -0.36,0.23 z m -0.16,-1 c -0.16,0.13 -0.32,0.26 -0.48,0.39 -0.06,-0.2 -0.11,-0.39 -0.17,-0.59 0.06,-0.05 0.12,-0.1 0.18,-0.15 0.08,-0.07 0.16,-0.13 0.23,-0.2 0.1,0.17 0.19,0.34 0.29,0.51 -0.02,0.01 -0.04,0.02 -0.05,0.04 z m 2.34,9.93 c 0.11,0.23 0.23,0.46 0.34,0.68 -0.04,0.03 -0.07,0.06 -0.11,0.1 -0.07,-0.26 -0.15,-0.52 -0.23,-0.78 z m -1.27,-4.25 c -0.12,-0.4 -0.24,-0.79 -0.35,-1.19 0.04,-0.02 0.08,-0.05 0.11,-0.07 0.09,-0.05 0.17,-0.11 0.26,-0.16 0.18,0.34 0.35,0.7 0.52,1.05 -0.18,0.11 -0.37,0.24 -0.54,0.37 z m 0.28,-1.59 c 0.28,-0.18 0.57,-0.36 0.85,-0.54 0.12,0.2 0.25,0.39 0.4,0.57 0.06,0.07 0.18,0 0.15,-0.09 -0.13,-0.34 -0.32,-0.67 -0.5,-0.98 -0.11,-0.19 -0.22,-0.38 -0.33,-0.58 0.02,-0.02 0.05,-0.04 0.07,-0.05 0.14,0.25 0.27,0.5 0.41,0.75 0.22,0.41 0.44,0.81 0.66,1.22 -0.3,0.19 -0.6,0.38 -0.91,0.57 -0.1,0.06 -0.2,0.12 -0.3,0.18 -0.16,-0.34 -0.32,-0.7 -0.5,-1.05 z m 0.05,-2.52 c -0.13,-0.23 -0.27,-0.46 -0.4,-0.69 0.04,-0.03 0.07,-0.05 0.11,-0.08 0.13,0.23 0.26,0.47 0.38,0.7 -0.03,0.02 -0.06,0.04 -0.09,0.07 z m -0.57,-1 c -0.11,-0.19 -0.21,-0.37 -0.32,-0.56 -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 l 0.13,-0.1 c 0.11,0.21 0.22,0.41 0.33,0.62 -0.04,0.03 -0.08,0.05 -0.12,0.08 z m -0.49,-0.84 c -0.1,-0.17 -0.21,-0.35 -0.31,-0.52 0.03,-0.02 0.06,-0.05 0.08,-0.07 0.03,-0.03 0.04,-0.06 0.04,-0.1 0.11,0.2 0.21,0.39 0.32,0.59 -0.04,0.03 -0.09,0.07 -0.13,0.1 z m -0.89,-1.5 c -0.13,-0.22 -0.27,-0.45 -0.4,-0.67 0.07,-0.06 0.13,-0.12 0.2,-0.18 0.12,0.22 0.24,0.44 0.36,0.66 -0.05,0.06 -0.1,0.13 -0.16,0.19 z m -0.55,-0.93 c -0.11,-0.18 -0.21,-0.36 -0.32,-0.53 0,0 0,0 0,0 0.07,-0.07 0.14,-0.13 0.22,-0.2 0.1,0.19 0.2,0.37 0.3,0.56 -0.06,0.05 -0.13,0.11 -0.2,0.17 z m -0.11,0.49 c 0.13,0.23 0.26,0.45 0.39,0.68 -0.05,0.03 -0.09,0.07 -0.14,0.1 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.08,-0.26 -0.15,-0.52 -0.23,-0.79 0.01,-0.01 0.02,-0.01 0.03,-0.02 z m 6.55,15.78 c -0.05,-0.06 -0.14,-0.08 -0.2,-0.04 -0.25,0.17 -0.5,0.33 -0.74,0.5 -0.01,0 -0.01,0.01 -0.02,0.01 -0.1,0.05 -0.2,0.09 -0.29,0.13 -0.37,-0.69 -0.73,-1.39 -1.09,-2.08 -0.1,-0.35 -0.21,-0.7 -0.31,-1.05 0,0 0,0 0,0 0.05,-0.04 0.1,-0.09 0.15,-0.14 0.04,0.08 0.08,0.16 0.12,0.23 0.13,0.25 0.25,0.51 0.37,0.77 -0.04,0.03 -0.07,0.07 -0.1,0.11 -0.04,0.07 -0.09,0.15 -0.06,0.23 0.05,0.16 0.22,0.08 0.33,0 0.14,0.28 0.29,0.54 0.46,0.79 0,0.05 -0.03,0.09 -0.02,0.13 0.01,0.08 0.07,0.17 0.16,0.16 0.09,0 0.16,-0.07 0.16,-0.16 0,-0.02 0,-0.05 0,-0.07 0,-0.01 0,-0.02 0,-0.02 0,-0.02 0.01,-0.05 0.01,-0.07 -0.01,0.04 0,0 0,-0.01 0,-0.01 0.01,-0.03 0.01,-0.04 0.01,-0.03 0.01,-0.05 0.02,-0.08 0,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,0 0,-0.01 0,0 0,0 0,0 0.01,-0.02 0.02,-0.05 0.04,-0.07 0.01,-0.02 0.03,-0.05 0.04,-0.07 0.01,-0.01 0.02,-0.02 0.02,-0.03 0,0 0,0 0,-0.01 0,0 0,0 0.01,-0.01 0.04,-0.04 0.07,-0.08 0.11,-0.12 0.01,-0.01 0.02,-0.02 0.03,-0.03 -0.02,0.02 0.01,0 0.01,-0.01 0.02,-0.02 0.05,-0.03 0.07,-0.04 0.02,-0.01 0.05,-0.03 0.07,-0.04 0,0 0.04,-0.02 0.02,-0.01 -0.01,0.01 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.11,-0.03 0.17,-0.04 0.07,-0.01 0.11,-0.1 0.1,-0.16 -0.01,-0.07 -0.07,-0.13 -0.14,-0.13 -0.27,0.03 -0.52,0.16 -0.7,0.36 -0.07,0.08 -0.13,0.18 -0.17,0.28 -0.1,-0.23 -0.19,-0.46 -0.3,-0.69 0.15,-0.15 0.29,-0.3 0.44,-0.45 0.23,-0.24 0.46,-0.47 0.69,-0.71 0.15,-0.15 -0.08,-0.38 -0.23,-0.23 -0.36,0.35 -0.72,0.7 -1.07,1.05 -0.11,-0.2 -0.21,-0.4 -0.31,-0.6 -0.06,-0.12 -0.12,-0.25 -0.19,-0.37 0.08,-0.08 0.17,-0.15 0.25,-0.22 0.08,-0.07 0.16,-0.14 0.24,-0.21 0,0 0.01,0.01 0.01,0.01 0.04,0.07 0.14,0.01 0.11,-0.06 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 0.13,-0.11 0.25,-0.23 0.38,-0.34 0.14,-0.13 -0.06,-0.32 -0.2,-0.2 -0.11,0.09 -0.21,0.18 -0.32,0.28 -0.15,-0.28 -0.31,-0.56 -0.47,-0.84 0,0 -0.01,0 -0.01,-0.01 0.29,-0.22 0.57,-0.44 0.86,-0.66 0.13,-0.1 -0.04,-0.34 -0.18,-0.24 -0.34,0.25 -0.68,0.49 -1.02,0.74 -0.13,0.09 -0.25,0.18 -0.38,0.28 -0.04,-0.07 -0.07,-0.14 -0.11,-0.21 -0.07,-0.14 -0.15,-0.29 -0.22,-0.43 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.11,-0.08 0.23,-0.17 0.34,-0.25 0.17,-0.12 0.33,-0.25 0.5,-0.37 0.02,0.04 0.04,0.08 0.06,0.12 0.04,0.07 0.15,0.02 0.13,-0.06 -0.01,-0.06 -0.03,-0.11 -0.05,-0.17 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.06,-0.04 0.08,-0.11 0.05,-0.17 -0.03,-0.04 -0.09,-0.06 -0.14,-0.05 -0.09,-0.28 -0.19,-0.56 -0.31,-0.83 0.25,-0.18 0.51,-0.35 0.76,-0.53 0.16,-0.11 0.01,-0.39 -0.16,-0.27 -0.24,0.17 -0.49,0.34 -0.73,0.51 -0.07,-0.15 -0.14,-0.3 -0.2,-0.45 -0.08,-0.18 -0.18,-0.35 -0.26,-0.53 0.11,-0.07 0.22,-0.14 0.33,-0.21 l 0.88,-0.55 c 0.57,1.04 1.15,2.07 1.7,3.12 0.42,0.8 0.91,1.58 1.23,2.43 0.32,0.83 0.74,1.55 1.23,2.28 -0.69,0.37 -1.36,0.73 -2.05,1.07 z m -2.35,-37.16 c -0.01,-1.34 -0.04,-2.67 -0.08,-4.01 0.01,0.04 0.03,0.08 0.04,0.11 0.22,0.74 0.38,1.51 0.5,2.27 0.07,0.4 0.12,0.8 0.16,1.21 0,0.05 0.01,0.1 0.01,0.15 -0.22,0.09 -0.43,0.18 -0.63,0.27 z m -21.69,9.71 c 0.32,-0.59 0.69,-1.16 1.14,-1.66 0.58,-0.65 1.31,-1.17 2.11,-1.5 -0.19,0.16 -0.36,0.33 -0.49,0.55 -0.16,0.27 -0.22,0.58 -0.2,0.89 0,0.02 0.01,0.04 0.01,0.06 -0.08,0.45 0.01,0.92 0.21,1.33 0.23,0.46 0.73,0.77 1.2,0.92 0.46,0.14 0.99,0.15 1.45,0 0.49,-0.16 0.94,-0.5 1.19,-0.96 0.22,-0.4 0.28,-0.91 0.23,-1.35 -0.06,-0.51 -0.26,-0.97 -0.6,-1.36 -0.15,-0.16 -0.33,-0.28 -0.52,-0.38 0.96,0.2 1.78,0.76 2.36,1.64 0.4,0.6 0.66,1.25 0.87,1.94 0.12,0.39 0.19,0.8 0.28,1.21 -0.42,0.02 -0.84,0.05 -1.26,0.06 -2.87,0.08 -5.73,0.05 -8.6,-0.03 0.21,-0.45 0.39,-0.92 0.62,-1.36 z m 0.13,-16.84 c 1.09,-1.11 2.72,-1.67 4.27,-1.57 0.16,0.01 0.27,-0.08 0.34,-0.19 0.63,0.05 1.25,0.21 1.81,0.49 2.23,1.1 3.57,3.8 2.91,6.23 -0.65,2.39 -2.98,4.18 -5.47,4.05 -2.58,-0.14 -4.89,-2.1 -5.23,-4.69 -0.21,-1.56 0.27,-3.2 1.37,-4.32 z m 6.17,10.12 -0.03,0.8 c -0.01,0.24 -0.02,0.48 -0.01,0.72 0,0.18 -0.01,0.37 0,0.56 -0.49,-0.13 -1.01,-0.18 -1.54,-0.15 0.02,-0.13 0,-0.26 0,-0.39 -0.01,-0.16 -0.02,-0.31 -0.03,-0.47 -0.02,-0.25 -0.04,-0.49 -0.05,-0.74 0.56,-0.04 1.12,-0.15 1.66,-0.33 z m -0.55,5.39 c 0,0.01 0,0.02 -0.01,0.02 0,0.01 0,0.02 0,0.02 0,-0.01 0,-0.01 0,-0.02 0,0.01 0,0.02 -0.01,0.03 -0.01,0.05 -0.03,0.09 -0.04,0.13 0,0 0,0 0,0 0,0 0,0 0,0 -0.02,0.03 -0.03,0.06 -0.05,0.09 -0.04,0.07 -0.08,0.13 -0.12,0.2 -0.01,0.01 -0.01,0.02 -0.01,0.02 -0.03,0.03 -0.06,0.06 -0.09,0.09 -0.01,0.01 -0.02,0.01 -0.03,0.02 0,0 0,0.01 -0.02,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.02,0.02 0,-0.01 0.01,-0.01 0.01,-0.01 -0.01,0.01 -0.02,0.02 -0.04,0.02 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.01,0 -0.01,0.01 -0.02,0.01 0,0 0.01,0 0.01,0 -0.01,0 -0.01,0 -0.02,0.01 -0.01,0 -0.02,0.01 -0.02,0.01 -0.03,0.01 -0.04,0.01 -0.03,0 -0.06,0.02 -0.12,0.05 -0.17,0.06 -0.04,0.01 -0.08,0.02 -0.12,0.03 0,0 -0.01,0 -0.01,0 -0.08,0 -0.17,0.01 -0.25,0.01 -0.04,0 -0.07,-0.01 -0.11,-0.01 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.08,-0.02 -0.17,-0.04 -0.25,-0.06 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.03,-0.02 -0.09,-0.04 -0.1,-0.05 -0.03,-0.02 -0.06,-0.04 -0.09,-0.05 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 -0.01,-0.01 -0.03,-0.02 -0.03,-0.03 0,0 0.01,0.01 0.01,0.01 -0.02,-0.02 -0.04,-0.04 -0.06,-0.06 -0.03,-0.03 -0.06,-0.06 -0.09,-0.09 -0.04,-0.04 -0.07,-0.08 -0.11,-0.13 0.01,0.02 0.06,0.08 0,0 -0.02,-0.03 -0.04,-0.05 -0.05,-0.08 -0.03,-0.05 -0.06,-0.11 -0.09,-0.16 0.04,0.07 -0.03,-0.08 -0.03,-0.1 0,-0.01 -0.01,-0.02 -0.01,-0.04 0.06,-0.06 0.11,-0.13 0.13,-0.22 0.01,-0.04 0.02,-0.07 0.03,-0.1 0,-0.01 0.01,-0.02 0.01,-0.02 0.04,-0.08 0.09,-0.16 0.13,-0.24 0.03,-0.06 0.07,-0.12 0.11,-0.17 0.01,-0.01 0.02,-0.03 0.03,-0.03 0.03,-0.04 0.07,-0.07 0.1,-0.11 0.03,-0.03 0.06,-0.05 0.08,-0.07 0,0 0,0 0,0 0,0 0,0 0.01,-0.01 0.07,-0.05 0.15,-0.09 0.22,-0.13 0.01,0 0.02,-0.01 0.03,-0.01 0.03,-0.01 0.08,-0.03 0.09,-0.04 0.08,-0.03 0.16,-0.04 0.24,-0.06 0.02,0 0.04,-0.01 0.04,-0.01 0.04,0 0.07,0 0.11,0 0.03,0 0.06,0 0.1,0 0.02,0 0.04,0 0.04,0.01 0.04,0.01 0.08,0.02 0.12,0.03 0.01,0 0.03,0.01 0.04,0.01 0.04,0.03 0.18,0.1 0.2,0.11 0,0 0.01,0.01 0.01,0.01 0.03,0.03 0.06,0.05 0.09,0.08 0.02,0.03 0.05,0.05 0.07,0.08 0,0 0,0 0,0 0,0 0,0 0,-0.01 -0.03,-0.08 0,0.01 0.02,0.03 0.04,0.06 0.08,0.13 0.12,0.2 0,0.01 0.01,0.02 0.01,0.03 0.01,0.03 0.04,0.11 0.04,0.12 0.02,0.07 0.04,0.15 0.06,0.22 0,0.01 0,0.01 0,0.01 0,0.04 0.01,0.08 0.01,0.12 0.01,0.07 -0.01,0.16 0,0.22 0,-0.03 0.02,-0.05 0,0 z m -26.07,67.79 c -0.04,0 -0.08,0 -0.11,0.02 -0.03,0.01 -0.07,0.03 -0.1,0.04 -0.07,0.03 -0.14,0.05 -0.21,0.08 -0.14,0.06 -0.27,0.12 -0.4,0.18 -0.07,0.03 -0.09,0.13 -0.06,0.2 0.03,0.06 0.11,0.12 0.18,0.09 0.14,-0.06 0.27,-0.11 0.41,-0.17 0.07,-0.03 0.14,-0.06 0.2,-0.09 0.01,0 0.01,-0.01 0.02,-0.01 -0.1,0.41 -0.21,0.83 -0.31,1.24 -0.05,0.19 -0.1,0.39 -0.14,0.58 -0.02,-0.01 -0.05,-0.02 -0.08,-0.03 -0.03,0 -0.06,0 -0.09,0 -0.07,0 -0.13,-0.01 -0.2,-0.01 -0.13,-0.01 -0.26,0 -0.39,0 -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.08,0.19 0.19,0.19 0.13,0 0.26,0 0.39,0 0.06,0 0.13,-0.01 0.19,-0.01 0.03,0 0.06,0 0.09,0 -0.06,0.24 -0.12,0.48 -0.18,0.72 -0.01,0 -0.02,0.01 -0.03,0.01 -0.12,0.04 -0.25,0.08 -0.37,0.11 -0.21,0.06 -0.41,0.13 -0.62,0.19 0.08,-0.32 0.15,-0.64 0.23,-0.96 0.07,-0.31 0.15,-0.61 0.22,-0.92 0.11,-0.03 0.23,-0.06 0.34,-0.08 0.22,-0.05 0.47,-0.09 0.66,-0.21 0.12,-0.08 0.06,-0.24 -0.07,-0.25 -0.07,-0.01 -0.13,-0.01 -0.2,0.01 -0.05,0.01 -0.1,0.02 -0.15,0.03 -0.11,0.03 -0.23,0.06 -0.34,0.08 -0.05,0.01 -0.1,0.03 -0.16,0.04 0.13,-0.54 0.26,-1.08 0.39,-1.61 0.11,-0.03 0.21,-0.09 0.33,-0.1 0.22,-0.04 0.45,-0.03 0.67,-0.01 -0.03,0.13 -0.07,0.3 -0.11,0.46 z m -7.65,30.46 c -0.02,-0.17 -0.04,-0.34 -0.06,-0.51 -0.03,-0.21 -0.08,-0.42 -0.09,-0.62 -0.01,-0.19 0,-0.39 0.01,-0.58 0.01,-0.39 0.02,-0.77 0,-1.16 -0.02,-0.38 -0.01,-0.79 -0.13,-1.16 -0.04,-0.13 -0.27,-0.16 -0.3,0 -0.06,0.36 -0.01,0.74 0.02,1.11 0.03,0.39 0.1,0.77 0.16,1.15 0.03,0.21 0.08,0.42 0.09,0.64 0.02,0.19 0,0.39 -0.01,0.58 0,0.19 0,0.39 0.01,0.58 0.01,0.18 0,0.4 0.07,0.57 0.01,0.02 0.04,0.03 0.06,0.04 -0.12,0.46 -0.24,0.92 -0.36,1.38 -0.05,-0.06 -0.1,-0.11 -0.17,-0.17 -0.06,-0.06 -0.12,-0.13 -0.17,-0.2 -0.05,-0.08 -0.1,-0.16 -0.14,-0.24 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 0.08,-0.22 0.04,-0.46 0.02,-0.71 -0.02,-0.28 -0.04,-0.57 -0.05,-0.85 -0.03,-0.53 -0.04,-1.05 -0.05,-1.58 0,-0.69 0.05,-1.38 0.03,-2.06 0.02,-0.09 0.03,-0.19 0,-0.29 0,0 0,0 0,-0.01 0,-0.09 -0.02,-0.17 -0.02,-0.26 0.01,0 0.02,0.01 0.04,0.01 0.45,0.14 0.9,0.26 1.36,0.39 0,0.01 -0.01,0.02 -0.01,0.03 l 0.05,1.16 c 0.01,0.19 0.02,0.39 0.02,0.58 0.01,0.18 0.01,0.39 0.08,0.56 0,0 0,0 0.01,0 -0.16,0.57 -0.31,1.13 -0.45,1.69 z m 0.74,11.88 c 0.78,0 1.55,0.01 2.33,0.01 1.65,0 3.3,0.01 4.95,0.06 1.62,0.04 3.23,0.12 4.85,0.23 0.81,0.05 1.61,0.15 2.42,0.23 0.65,0.06 1.35,0.22 2,0.1 0.08,0.06 0.15,0.13 0.22,0.2 0.07,0.06 0.15,0.1 0.23,0.13 0.12,0.14 0.26,0.27 0.36,0.38 0.28,0.29 0.6,0.55 0.9,0.81 0.53,0.47 1.07,0.92 1.61,1.37 -0.16,0.23 -0.33,0.45 -0.47,0.69 -0.15,0.26 -0.27,0.53 -0.39,0.8 -0.21,-0.19 -0.43,-0.36 -0.63,-0.52 -0.54,-0.43 -1.1,-0.81 -1.71,-1.12 -1.24,-0.64 -2.59,-1.05 -3.97,-1.29 -3.21,-0.55 -6.46,-0.2 -9.69,-0.02 -0.99,0.06 -1.99,0.09 -2.98,0.05 -0.88,-0.03 -1.75,-0.18 -2.63,-0.24 0.15,-0.61 0.31,-1.21 0.47,-1.82 0.71,0.02 1.43,-0.05 2.13,-0.05 z m 12.51,-28.44 c 0.93,-0.06 1.86,-0.12 2.77,-0.27 0.07,-0.01 0.05,-0.13 -0.02,-0.13 -0.9,-0.01 -1.8,0.06 -2.7,0.14 0.09,-0.44 0.18,-0.89 0.27,-1.33 0.17,0.01 0.34,0.02 0.51,0.03 0.15,0.01 0.29,0.01 0.44,0.01 0.14,0 0.29,0.01 0.43,-0.02 0.09,-0.02 0.08,-0.15 0,-0.17 -0.14,-0.04 -0.29,-0.05 -0.43,-0.07 -0.15,-0.02 -0.29,-0.03 -0.44,-0.04 -0.15,-0.01 -0.3,-0.02 -0.45,-0.03 0.13,-0.66 0.26,-1.33 0.4,-1.99 0.36,0.02 0.73,0.03 1.09,0.03 0.41,0 0.86,0.03 1.26,-0.1 0.12,-0.04 0.12,-0.2 0,-0.24 -0.39,-0.14 -0.84,-0.12 -1.26,-0.12 -0.07,0 -0.14,0 -0.21,0 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.06,-0.02 -0.12,-0.04 -0.19,-0.05 -0.13,-0.04 -0.26,-0.07 -0.39,-0.11 -0.07,-0.02 -0.15,0.02 -0.17,0.09 -0.01,0.03 0,0.06 0.01,0.09 -0.02,0 -0.03,0 -0.05,0 0.02,-0.08 0.03,-0.16 0.05,-0.24 0.04,-0.02 0.07,-0.04 0.11,-0.05 0.04,-0.02 0.07,-0.04 0.1,-0.06 0.03,-0.02 0.07,-0.04 0.1,-0.07 0.02,-0.01 0.03,-0.02 0.04,-0.03 0.09,0 0.18,0 0.27,0 0.02,0 0.03,0 0.05,0 0.08,0.08 0.19,0.14 0.31,0.16 1.43,0.18 2.88,0.13 4.32,0.13 1.44,0 2.88,0 4.32,-0.01 2.88,-0.03 5.75,-0.05 8.63,-0.08 5.72,-0.05 11.44,-0.11 17.16,-0.16 1.6,-0.02 3.2,-0.03 4.81,-0.04 0.47,0 0.95,-0.01 1.42,-0.01 -0.18,-0.5 -0.35,-0.99 -0.52,-1.49 h -0.32 c -1.44,0.02 -2.88,0.04 -4.32,0.06 -2.88,0.03 -5.75,0.06 -8.63,0.09 -5.75,0.06 -11.51,0.12 -17.26,0.18 -1.63,0.02 -3.27,0.05 -4.9,0.08 -1.62,0.03 -3.24,0 -4.85,0.24 -0.18,0.03 -0.28,0.11 -0.33,0.22 -0.06,0.01 -0.12,0.01 -0.17,0.04 0,0 -0.03,0.01 0,0 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.03,0.01 -0.06,0.02 -0.08,0.04 -0.03,0.01 -0.05,0.03 -0.08,0.05 0.11,-0.56 0.22,-1.12 0.33,-1.68 0.04,-0.21 0.09,-0.43 0.13,-0.64 0.07,0.03 0.14,0.05 0.22,0.06 1.35,0.15 2.75,0.07 4.11,0.08 1.37,0.01 2.74,0.01 4.11,0.02 2.74,0.01 5.49,0.02 8.23,0.02 5.52,0.02 11.04,0.03 16.55,0.05 1.53,0 3.07,0.01 4.6,0.01 0.14,0 0.28,0 0.42,0 0.22,0.37 0.76,0.32 0.98,0 0.31,0 0.62,0 0.92,0 -0.06,-0.18 -0.12,-0.36 -0.18,-0.54 0.11,-0.02 0.23,-0.03 0.34,-0.07 0.05,-0.02 0.08,-0.05 0.11,-0.08 0.36,1.33 0.72,2.66 1.08,3.98 -0.04,-0.01 -0.07,-0.01 -0.11,-0.01 -0.03,0 -0.05,0 -0.08,0.01 -0.05,0.01 -0.11,0.01 -0.16,0.02 -0.11,0.01 -0.22,0.02 -0.33,0.02 -0.09,0.01 -0.18,0.08 -0.18,0.18 0,0.1 0.08,0.17 0.18,0.18 0.11,0.01 0.22,0.01 0.33,0.02 0.05,0 0.1,0.01 0.16,0.01 0.03,0 0.05,0 0.08,0.01 0.05,0 0.09,0 0.14,-0.01 0.03,-0.01 0.06,-0.03 0.08,-0.06 0.1,0.38 0.21,0.77 0.31,1.15 -0.01,0 -0.02,0 -0.02,0.01 -0.02,0.01 -0.04,0.02 -0.06,0.02 -0.02,0.01 -0.06,0.01 -0.08,0.01 -0.06,0 -0.12,0.01 -0.18,0.01 -0.06,0 -0.12,-0.02 -0.18,-0.03 -0.12,-0.02 -0.12,0.17 0,0.15 0.06,-0.01 0.12,-0.03 0.18,-0.03 0.06,0 0.12,0.01 0.18,0.01 0.03,0 0.06,0 0.08,0.01 0.01,0 0.03,0.02 0.04,0.02 0.03,0.01 0.06,0.02 0.09,0.03 0.24,0.91 0.49,1.81 0.73,2.72 -0.58,0.01 -1.16,0.01 -1.73,0.02 l -10.32,0.13 c -6.88,0.08 -13.75,0.17 -20.63,0.25 -3.86,0.05 -7.73,0.05 -11.59,0.23 -0.06,0 -0.11,0.02 -0.16,0.04 0.09,-0.37 0.16,-0.74 0.24,-1.11 z m 1.39,-5.06 c 0,0.01 0.01,0.02 0.01,0.03 -0.05,0 -0.11,0 -0.16,0 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.01,0 0.02,-0.01 0.03,-0.01 H 265 c 0.03,0 0.05,0 0.06,0 z m 0.83,-6.02 c 0.02,0.03 0.06,0.05 0.1,0.05 0.23,0 0.45,0.01 0.68,0.01 0.11,0 0.22,0 0.33,0 0.11,0 0.26,0.01 0.35,-0.05 0.08,-0.05 0.08,-0.15 0,-0.2 -0.09,-0.06 -0.23,-0.05 -0.34,-0.05 -0.11,0 -0.23,0 -0.34,0 l -0.68,0.01 c -0.03,0 -0.04,0.02 -0.06,0.03 0.17,-0.86 0.35,-1.71 0.52,-2.57 h 0.04 c 0.05,0 0.11,0 0.16,0 0.05,-0.01 0.09,-0.01 0.14,-0.02 0.05,-0.01 0.09,-0.07 0.08,-0.11 0,-0.05 -0.03,-0.1 -0.08,-0.11 -0.05,-0.01 -0.09,-0.01 -0.14,-0.02 -0.05,-0.01 -0.09,0 -0.14,0 0.08,-0.38 0.15,-0.76 0.23,-1.14 0,0 0,0 0,0.01 0.02,0.07 0.09,0.11 0.16,0.09 0.09,-0.02 0.18,-0.04 0.27,-0.06 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.04,-0.02 0.09,-0.03 0.13,-0.05 0.05,-0.02 0.08,-0.06 0.08,-0.12 -0.01,-0.05 -0.05,-0.1 -0.11,-0.09 -0.05,0 -0.09,0.01 -0.14,0.01 -0.05,0 -0.11,0.02 -0.16,0.03 -0.09,0.02 -0.18,0.04 -0.28,0.05 -0.03,0.01 -0.05,0.03 -0.07,0.05 0.12,-0.6 0.24,-1.2 0.36,-1.8 0.08,0.04 0.18,0.07 0.28,0.07 1.5,0.09 3.01,0.1 4.51,0.14 0.74,0.02 1.47,0.03 2.21,0.05 0.33,0.01 0.7,0.05 1.07,0.05 -0.02,0.11 -0.03,0.21 -0.05,0.32 -0.1,0.46 -0.21,0.93 -0.31,1.39 -0.86,0.01 -1.73,0.02 -2.59,0.04 -1.11,0.02 -2.26,-0.03 -3.37,0.1 -0.01,-0.26 -0.02,-0.52 -0.04,-0.78 0.05,0.01 0.1,0.01 0.15,0.02 0.13,0.01 0.27,0.01 0.4,0.01 0.13,0 0.26,0.01 0.39,0.01 0.06,0 0.13,0 0.19,-0.01 0.01,0 0.02,0 0.03,0 -0.19,0.01 -0.19,0.3 0.01,0.3 0.31,0.01 0.63,0.02 0.94,0.01 0.15,0 0.31,0 0.46,-0.01 0.16,-0.01 0.32,0.01 0.47,-0.04 0.11,-0.04 0.12,-0.2 0,-0.23 -0.15,-0.05 -0.32,-0.03 -0.47,-0.04 -0.15,-0.01 -0.31,-0.01 -0.46,-0.01 -0.3,0 -0.61,0.01 -0.91,0.01 0.05,0 0.1,-0.01 0.15,-0.05 0.09,-0.07 0.09,-0.18 0,-0.25 -0.1,-0.08 -0.28,-0.06 -0.4,-0.06 -0.13,0 -0.27,0 -0.4,0.01 -0.13,0 -0.26,0 -0.39,0.01 -0.06,0 -0.12,0.01 -0.18,0.02 -0.01,-0.09 -0.01,-0.19 -0.01,-0.28 0,0 0,-0.01 0,-0.01 0.22,0.04 0.48,0 0.69,0 0.33,-0.01 0.67,-0.01 1,-0.02 0.33,-0.01 0.65,-0.02 0.98,-0.06 0.18,-0.02 0.37,-0.03 0.55,-0.05 0.14,-0.01 0.29,-0.01 0.41,-0.07 0.05,-0.03 0.06,-0.12 0,-0.15 -0.13,-0.06 -0.27,-0.05 -0.41,-0.06 -0.17,-0.01 -0.35,-0.01 -0.52,-0.02 -0.34,-0.02 -0.67,-0.02 -1,-0.02 -0.33,0 -0.67,0.02 -1,0.03 -0.26,0.01 -0.59,-0.03 -0.84,0.08 -0.28,-0.27 -0.84,-0.17 -0.86,0.34 -0.03,1.1 0.02,2.2 0.03,3.3 0.01,0.54 0.02,1.08 0.03,1.62 0,0.13 0,0.28 -0.01,0.42 -0.45,0.17 -0.43,0.83 0.08,0.93 0.03,0.11 0.06,0.22 0.12,0.31 0.04,0.07 0.1,0.13 0.18,0.17 -0.02,0 -0.04,0 -0.06,0 -0.38,0 -0.75,-0.01 -1.13,-0.01 -0.27,0 -0.55,-0.01 -0.83,0 0.03,-0.04 0.06,-0.08 0.09,-0.12 0.01,0 0.02,0 0.03,0 0.02,0 0.04,0 0.06,-0.01 0.01,0 0.03,0 0.04,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.01,0 0.02,-0.01 0.02,-0.01 0.03,-0.01 0.04,-0.05 0.04,-0.08 0,-0.03 -0.02,-0.06 -0.04,-0.08 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.01,0 -0.02,0 -0.04,-0.01 -0.02,0 -0.04,0 -0.06,-0.01 -0.02,0 -0.04,-0.01 -0.07,-0.01 -0.05,-0.02 -0.11,-0.03 -0.14,0.02 -0.1,0.13 -0.2,0.26 -0.31,0.39 -0.08,0.1 -0.03,0.23 0.1,0.25 0.37,0.05 0.76,0.04 1.13,0.04 0.38,0.01 0.75,0.01 1.13,0.02 0.38,0.01 0.75,0 1.13,0 0.35,0 0.73,0.04 1.07,-0.04 0.12,-0.03 0.11,-0.2 0,-0.23 -0.34,-0.08 -0.73,-0.05 -1.07,-0.06 -0.2,-0.01 -0.4,-0.01 -0.59,-0.01 0.07,-0.04 0.13,-0.1 0.17,-0.18 0.04,-0.09 0.07,-0.18 0.09,-0.27 0.73,0.01 1.46,-0.01 2.18,-0.01 1.05,0 2.09,-0.01 3.14,-0.01 2.09,-0.01 4.19,-0.02 6.28,-0.02 4.19,-0.01 8.38,-0.04 12.57,-0.08 2.3,-0.02 4.61,0.04 6.9,-0.08 0.26,0.21 0.66,0.19 0.85,-0.13 0.25,-0.41 0.12,-1.05 0.11,-1.52 -0.01,-0.5 -0.02,-1 -0.04,-1.51 l -0.08,-2.96 c -0.02,-0.67 -0.91,-0.76 -1.14,-0.26 -0.05,-0.01 -0.11,0 -0.15,0.04 -0.03,0.03 -0.05,0.07 -0.05,0.12 0,0.04 0.02,0.09 0.05,0.12 0.02,0.02 0.06,0.02 0.09,0.02 0,0.3 0.01,0.6 0.01,0.9 -0.03,-0.01 -0.06,-0.02 -0.09,-0.02 -1.92,0.02 -3.84,0.05 -5.76,0.07 -0.12,-0.42 -0.28,-0.83 -0.44,-1.24 -0.02,-0.06 -0.05,-0.12 -0.07,-0.18 0.45,0 0.9,0 1.35,0 0.24,0 0.48,-0.01 0.72,-0.02 0.22,-0.01 0.51,0.01 0.71,-0.1 0.09,-0.05 0.1,-0.2 0,-0.24 -0.2,-0.09 -0.46,-0.07 -0.68,-0.06 -0.25,0.01 -0.5,0.02 -0.75,0.04 -0.49,0.04 -0.97,0.08 -1.46,0.11 -0.04,-0.1 -0.08,-0.2 -0.12,-0.3 0.54,0.05 1.14,-0.05 1.66,-0.09 0.63,-0.04 1.26,-0.09 1.9,-0.13 1.03,-0.07 2.05,-0.14 3.08,-0.2 0.04,0.04 0.1,0.08 0.14,0.11 0.22,0.12 0.54,0.16 0.76,0 0.07,-0.05 0.14,-0.12 0.21,-0.17 0.78,3.06 1.49,6.13 2.24,9.19 -1.19,0 -2.39,-0.01 -3.58,-0.01 -2.74,-0.01 -5.49,-0.01 -8.23,-0.02 -5.52,-0.01 -11.04,-0.02 -16.55,-0.04 -1.53,0 -3.07,-0.01 -4.6,-0.01 -1.55,0 -3.15,-0.1 -4.69,0.06 0.1,-0.5 0.2,-0.99 0.3,-1.49 0.07,0 0.13,0 0.2,0 0.07,0 0.15,0 0.22,0 0.08,0 0.18,0 0.25,-0.04 0.07,-0.05 0.07,-0.14 0,-0.18 -0.07,-0.05 -0.16,-0.04 -0.24,-0.04 -0.08,0 -0.15,0 -0.23,0 -0.05,0 -0.09,0 -0.14,0 0.01,-0.2 0.05,-0.42 0.1,-0.63 z m 15.12,-59.72 c 0.01,0.25 0.01,0.5 0.02,0.75 -0.35,-0.02 -0.69,-0.03 -1.04,-0.02 -0.01,-0.24 -0.05,-0.49 -0.07,-0.73 0.37,0 0.73,0 1.09,0 z m 0.64,0 c 0.23,-0.01 0.47,-0.01 0.7,-0.01 -0.02,0.53 -0.02,1.06 0,1.58 -0.14,0 -0.28,0.01 -0.42,0.01 -0.19,0 -0.37,-0.01 -0.56,-0.01 0,-0.13 0.01,-0.26 0.01,-0.38 0,-0.07 0,-0.15 0,-0.22 0.01,0 0.01,0 0.02,0 0.1,-0.01 0.1,-0.19 0,-0.2 -0.01,0 -0.01,0 -0.02,0 0.01,-0.25 0.01,-0.51 0.01,-0.77 0.1,0 0.18,0 0.26,0 z m 4.36,22.12 c -0.01,-0.02 -0.01,-0.04 -0.04,-0.05 -0.36,-0.05 -0.75,-0.02 -1.11,0 0,0 0,0 -0.01,0 0,-0.02 0,-0.04 0,-0.06 0.01,-0.12 -0.18,-0.12 -0.19,0 0,0.02 0,0.04 -0.01,0.07 -0.33,0.01 -0.65,0.03 -0.98,0.05 -0.01,0 -0.02,0 -0.03,0 0.01,-0.11 0.01,-0.22 0.02,-0.33 0,-0.06 -0.03,-0.09 -0.08,-0.1 0.44,-0.01 0.89,-0.01 1.33,-0.02 0.35,0 0.7,0 1.04,0 0.03,0.14 0.04,0.29 0.06,0.44 z m -2.92,0.03 c 0,-0.01 0,-0.02 0,-0.02 -0.02,-0.12 -0.04,-0.24 -0.04,-0.35 0,-0.03 0.01,-0.05 0.01,-0.08 0.16,0 0.32,0 0.47,-0.01 -0.04,0.01 -0.08,0.04 -0.09,0.1 -0.01,0.11 -0.02,0.23 -0.03,0.34 -0.11,0.01 -0.21,0.02 -0.32,0.02 z m -1.45,0.08 c -0.02,-0.17 -0.02,-0.34 -0.02,-0.51 0.2,0 0.41,-0.01 0.61,-0.02 0.18,0 0.36,0 0.53,-0.01 0,0.03 -0.01,0.06 -0.01,0.09 0,0.13 0.01,0.26 0.03,0.38 -0.37,0.03 -0.75,0.05 -1.14,0.07 z m -3.21,0.19 c -0.01,-0.2 -0.02,-0.4 -0.03,-0.61 0.16,0 0.32,-0.01 0.48,-0.01 0.06,0.05 0.17,0.05 0.23,-0.01 0.44,-0.01 0.88,-0.03 1.32,-0.04 -0.01,0.18 -0.01,0.36 -0.02,0.54 -0.65,0.05 -1.32,0.09 -1.98,0.13 z m -1.74,0.12 0.09,-0.7 c 0.02,0.01 0.03,0.02 0.05,0.02 0,0 0.01,0 0.01,0 0,0.01 0,0.02 0,0.03 0,0.09 0.01,0.19 0.01,0.28 0,0.09 0.01,0.18 0.08,0.25 0.04,0.04 0.13,0.05 0.18,0 0.11,-0.14 0.06,-0.36 0.05,-0.53 0,-0.01 0,-0.03 0,-0.04 0.31,-0.01 0.62,-0.02 0.93,-0.03 0,0.21 0.01,0.41 0.01,0.62 -0.46,0.03 -0.92,0.05 -1.37,0.08 -0.02,0 -0.03,0.01 -0.04,0.02 z m 4.36,-21.35 c 0,0.13 0.01,0.25 0.02,0.38 -0.35,0 -0.69,0 -1.04,-0.01 -0.01,-0.18 -0.01,-0.37 -0.02,-0.55 0.34,0.01 0.69,0 1.03,-0.02 0.01,0.07 0.01,0.14 0.01,0.2 z m 1.33,0.87 c 0.01,0.07 0.12,0.1 0.13,0.02 0.01,-0.07 0.01,-0.15 0.02,-0.23 0.38,-0.01 0.76,-0.01 1.14,-0.03 0.01,0.11 0.01,0.23 0.01,0.34 0.01,0.16 0.02,0.31 0.03,0.47 -0.05,0.03 -0.09,0.09 -0.07,0.15 0.01,0.04 0.05,0.03 0.08,0.04 0.01,0.2 0.02,0.4 0.03,0.6 -0.48,0.03 -0.96,0.07 -1.44,0.09 -0.34,0.01 -0.68,0.01 -1.02,0.02 0.01,-0.23 0.02,-0.45 0.03,-0.68 0.18,0 0.35,-0.01 0.52,-0.05 0.09,-0.02 0.09,-0.17 0,-0.18 -0.17,-0.02 -0.34,-0.02 -0.51,-0.02 0.01,-0.25 0.02,-0.51 0.03,-0.76 0.21,0 0.41,0.01 0.62,0.01 0.13,0 0.26,-0.01 0.39,-0.01 0.01,0.08 0.01,0.15 0.01,0.22 z m 0.51,18.94 c -0.04,0.12 -0.04,0.25 -0.06,0.37 -0.2,0 -0.39,0 -0.59,0.01 -0.2,0 -0.4,0.02 -0.6,0.02 0.02,-0.27 0.06,-0.53 0.13,-0.79 0.73,0 1.46,0.01 2.19,0.04 0.22,0.01 0.44,0.02 0.67,0.04 0.01,0.12 0.02,0.25 0.05,0.37 0.02,0.08 0.13,0.06 0.14,-0.02 0.01,-0.11 0.01,-0.23 0.01,-0.34 0.08,0 0.16,0.01 0.23,0.01 0.27,0.02 0.55,0.05 0.83,0.06 0.01,0.19 0.03,0.38 0.04,0.57 -0.34,0 -0.68,0 -1.01,0 -0.61,0 -1.21,0.01 -1.82,0.02 0.02,-0.1 0.01,-0.2 0.04,-0.3 0.05,-0.15 -0.2,-0.22 -0.25,-0.06 z m -2.23,0.44 c 0,-0.27 0,-0.53 0.01,-0.8 0.27,-0.01 0.54,-0.02 0.81,-0.03 -0.06,0.26 -0.11,0.53 -0.13,0.8 -0.23,0.01 -0.46,0.02 -0.69,0.03 z m -2.19,-1.5 c 0.11,-0.07 0.21,-0.14 0.32,-0.2 0.01,0 0.03,0 0.04,0 0,0.21 0,0.42 0,0.63 -0.13,0.01 -0.26,0.03 -0.38,0.04 0.01,-0.16 0.01,-0.32 0.02,-0.47 z m -0.31,0.49 c -0.04,0 -0.07,0.01 -0.11,0.01 0.05,-0.05 0.09,-0.11 0.12,-0.16 0,0.05 0,0.1 -0.01,0.15 z m 2.37,-3.68 c 0,-0.17 0,-0.35 0,-0.53 v -0.05 c 0.39,0 0.78,-0.01 1.16,-0.03 -0.02,0.3 -0.04,0.6 -0.05,0.9 -0.37,-0.01 -0.74,-0.01 -1.12,0.01 0.01,-0.09 0.01,-0.2 0.01,-0.3 z m -0.24,-1.57 v 0.67 c -0.18,0 -0.36,0 -0.54,0.01 -0.02,-0.03 -0.06,-0.05 -0.09,-0.04 -0.04,0 -0.07,0.02 -0.1,0.05 -0.13,0 -0.27,0 -0.4,0 0,-0.34 -0.01,-0.68 -0.01,-1.01 0.12,0 0.24,0.01 0.37,0.01 0.03,0.02 0.07,0.02 0.11,0 0.73,0.02 1.46,0.03 2.19,0.05 0,0.28 0.01,0.55 0.01,0.83 -0.05,0 -0.11,0.03 -0.11,0.1 0,0 0,0 0,0 -0.39,0.01 -0.79,0.01 -1.18,0.01 v -0.66 c -0.01,-0.18 -0.25,-0.18 -0.25,-0.02 z m -2.05,0.3 c -0.01,-0.25 -0.01,-0.51 -0.01,-0.76 0.01,0.05 0.05,0.1 0.12,0.11 0.17,0 0.34,0.01 0.5,0.01 0,0.34 -0.01,0.68 -0.01,1.02 -0.2,0 -0.39,0.01 -0.59,0.01 0,-0.13 0,-0.26 -0.01,-0.39 z m 1.11,-2.77 c 0.01,0.18 0.01,0.36 0.01,0.55 -0.08,0 -0.15,0.01 -0.23,0.01 0,-0.26 0,-0.51 -0.01,-0.77 0.07,0 0.15,0 0.22,0 0,0.07 0,0.14 0.01,0.21 z m 0.02,0.83 c 0.01,0.34 0.04,0.68 0.08,1.02 -0.1,0 -0.2,0 -0.31,0 0,-0.34 -0.01,-0.67 -0.01,-1.01 0.08,0 0.16,-0.01 0.24,-0.01 z m 5.76,4.1 v 0.21 c -0.01,0 -0.02,0 -0.03,0 -0.04,0 -0.08,0.01 -0.12,0.01 0.04,-0.41 0.06,-0.82 0.12,-1.23 0.02,-0.16 -0.22,-0.23 -0.25,-0.07 -0.07,0.44 -0.1,0.88 -0.14,1.32 -0.29,0.02 -0.58,0.04 -0.87,0.05 0.04,-0.4 0.08,-0.8 0.16,-1.2 0.03,-0.14 -0.18,-0.2 -0.21,-0.06 -0.1,0.42 -0.16,0.85 -0.21,1.27 -0.19,0.01 -0.37,0.02 -0.56,0.03 -0.02,0 -0.04,0 -0.06,0 0.02,-0.25 0.04,-0.49 0.06,-0.74 0.01,-0.09 -0.1,-0.11 -0.15,-0.07 -0.01,-0.01 -0.01,-0.03 -0.02,-0.03 -0.28,-0.09 -0.62,-0.09 -0.93,-0.09 0.01,-0.27 0.01,-0.54 0.02,-0.82 0.05,0.01 0.1,-0.01 0.11,-0.08 0,0 0,-0.01 0,-0.01 0.06,0 0.12,0 0.18,0 0.55,-0.03 1.1,-0.07 1.65,-0.11 0.01,0.13 0.02,0.26 0.06,0.37 0.02,0.07 0.15,0.09 0.16,0 0.02,-0.12 0.02,-0.26 0.02,-0.39 0.03,0 0.07,0 0.1,-0.01 0.63,-0.05 1.29,-0.06 1.91,-0.17 -0.04,0.32 -0.08,0.64 -0.11,0.96 -0.04,0.01 -0.07,0 -0.11,0.01 -0.08,0.01 -0.16,0.03 -0.25,0.04 -0.16,0.02 -0.32,0.05 -0.49,0.07 -0.06,0.01 -0.1,0.08 -0.09,0.14 0.01,0.06 0.06,0.12 0.12,0.11 0.16,-0.02 0.32,-0.03 0.48,-0.05 0.04,0 0.08,-0.01 0.12,-0.01 0.01,0.01 0.01,0.02 0.02,0.02 0.05,0.02 0.11,0 0.17,-0.02 -0.02,0.23 -0.03,0.47 -0.04,0.7 -0.12,0.01 -0.24,0.01 -0.36,0.02 -0.17,-0.05 -0.31,-0.13 -0.46,-0.17 z m -2.67,-2.73 c 0.46,0.01 0.93,0.02 1.39,0.02 -0.01,0.2 -0.02,0.39 -0.02,0.59 0,0.08 0,0.16 0,0.25 -0.56,0.02 -1.12,0.04 -1.68,0.05 -0.04,0 -0.08,0 -0.13,0 0.01,-0.31 0.02,-0.62 0.01,-0.92 0.15,0 0.29,0.01 0.43,0.01 z m 3.71,0.27 c -0.01,0 -0.01,0 -0.02,0 -0.01,0 -0.02,0 -0.03,0 -0.02,0.01 -0.04,0.02 -0.05,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.01,0.02 -0.02,0.04 -0.02,0.06 0,0.02 0,0.03 0,0.05 0,0 0,0.01 0,0.01 0,0.01 0,0.03 0.01,0.04 0,0.01 0,0.02 0.01,0.02 0,0.01 0.01,0.02 0.01,0.03 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.01 0.01,0.01 0.02,0.01 0.01,0 0.01,0 0.02,0 -0.01,0.05 -0.01,0.09 -0.02,0.14 -0.32,0 -0.64,0.05 -0.97,0.07 -0.34,0.03 -0.68,0.04 -1.01,0.06 -0.02,0 -0.04,0 -0.05,0 0,-0.06 0,-0.12 0,-0.17 0,-0.22 0.01,-0.44 0.01,-0.65 0.13,0 0.25,0 0.38,0.01 0.34,0.01 0.69,0.01 1.03,0.02 0.23,0 0.46,0.01 0.7,0.01 -0.01,0.07 -0.02,0.14 -0.03,0.21 z m -3.71,-0.57 c -0.14,0 -0.28,0 -0.42,-0.01 0,-0.35 0,-0.7 0,-1.05 0,-0.06 -0.04,-0.09 -0.09,-0.1 0.37,-0.02 0.74,-0.04 1.11,-0.06 0.26,-0.02 0.52,-0.04 0.78,-0.06 0.07,0 0.14,-0.01 0.21,-0.01 -0.08,0.43 -0.15,0.87 -0.18,1.31 -0.47,-0.01 -0.94,-0.02 -1.41,-0.02 z m -0.65,-1.06 v 1.05 c -0.71,-0.01 -1.41,-0.02 -2.12,-0.03 0,-0.34 -0.02,-0.69 -0.05,-1.03 0.61,-0.02 1.23,-0.03 1.84,-0.06 0.14,-0.01 0.27,-0.02 0.41,-0.02 -0.04,0.01 -0.08,0.03 -0.08,0.09 z m 0.06,4.23 c 0.01,-0.14 0.01,-0.28 0.02,-0.42 0.3,0.01 0.62,0.04 0.91,0 -0.02,0.21 -0.04,0.42 -0.06,0.64 -0.3,0.02 -0.59,0.04 -0.89,0.07 0,-0.1 0.01,-0.19 0.02,-0.29 z m -0.17,0.64 c 0.01,0 0.01,0 0.02,0 0.33,-0.02 0.66,-0.03 1,-0.05 -0.01,0.06 -0.01,0.12 -0.02,0.17 -0.04,0.43 -0.12,0.87 -0.08,1.3 0.01,0.07 0.11,0.1 0.14,0.02 0.11,-0.41 0.11,-0.87 0.14,-1.29 0.01,-0.07 0.01,-0.14 0.02,-0.21 0.03,0 0.06,0 0.09,0 0.17,-0.01 0.34,-0.02 0.51,-0.03 -0.02,0.22 -0.03,0.44 -0.02,0.66 0,0.08 0,0.17 0,0.25 0,0 -0.01,0 -0.01,0 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.02,0.02 -0.03,0.04 -0.04,0.06 -0.01,0.02 -0.02,0.05 -0.02,0.07 0,0.02 0,0.03 0.01,0.05 0.01,0.03 0.02,0.06 0.05,0.08 l 0.04,0.03 c 0.02,0.01 0.04,0.01 0.06,0.02 0.01,0.06 0.01,0.12 0.03,0.18 0.04,0.13 0.21,0.09 0.23,-0.03 0.01,-0.08 0,-0.15 0,-0.23 0.01,-0.01 0.02,-0.02 0.02,-0.03 0.01,-0.02 0.01,-0.04 0.01,-0.06 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.02 -0.02,-0.04 -0.03,-0.05 -0.01,-0.11 -0.01,-0.22 -0.02,-0.33 0,-0.23 0.01,-0.45 0.02,-0.68 0.29,-0.02 0.58,-0.04 0.87,-0.05 -0.02,0.19 -0.05,0.37 -0.06,0.56 -0.02,0.38 -0.04,0.76 -0.02,1.14 0.01,0.1 0.01,0.21 0.02,0.32 -0.19,-0.01 -0.39,-0.02 -0.58,-0.03 -0.73,-0.03 -1.46,-0.04 -2.18,-0.03 -0.05,-0.06 -0.15,-0.07 -0.21,0 -0.32,0.01 -0.65,0.03 -0.97,0.04 -0.03,-0.05 -0.09,-0.05 -0.12,0.01 -0.45,0.02 -0.91,0.04 -1.36,0.07 0,-0.2 0,-0.4 0,-0.6 0.25,-0.01 0.5,-0.02 0.75,-0.03 0.72,-0.03 1.44,-0.06 2.15,-0.19 0.11,-0.02 0.07,-0.18 -0.03,-0.19 -0.06,-0.01 -0.13,0 -0.19,-0.01 0,0 0.01,0 0.01,-0.01 0.04,-0.02 0.07,-0.05 0.1,-0.08 0.01,-0.01 0.01,-0.03 0.01,-0.04 -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 -0.04,0.01 -0.08,0.02 -0.11,0.03 l -0.11,0.04 c -0.03,0.01 -0.03,0.04 -0.03,0.07 -0.6,-0.03 -1.2,-0.01 -1.8,0.02 -0.11,0.01 -0.22,0.01 -0.34,0.02 0.34,-0.16 0.67,-0.31 1.03,-0.42 -0.04,-0.14 -0.05,-0.29 -0.08,-0.44 0.39,-0.04 0.8,-0.06 1.21,-0.08 z m -2.86,2.3 c 0,0.26 0,0.53 0,0.79 -0.14,0.01 -0.29,0.01 -0.43,0.02 0,-0.26 0.02,-0.52 0.03,-0.78 0.13,-0.01 0.27,-0.02 0.4,-0.03 z m 0.32,-0.02 c 0.44,-0.03 0.88,-0.04 1.32,-0.05 -0.01,0.27 -0.02,0.53 -0.03,0.8 -0.43,0.01 -0.86,0.03 -1.29,0.05 0.01,-0.27 0,-0.54 0,-0.8 z m 6,-0.41 c -0.11,-0.01 -0.21,-0.01 -0.32,-0.02 0,-0.11 0,-0.22 0,-0.33 0.02,-0.36 0.01,-0.73 0.03,-1.09 0.01,-0.21 0.04,-0.41 0.06,-0.62 0.05,0 0.11,-0.01 0.16,-0.01 0.01,0 0.02,0 0.03,0 v 0.94 c 0.26,0.11 0.51,0.24 0.76,0.38 0,0.27 0,0.53 0.01,0.8 -0.24,-0.02 -0.49,-0.03 -0.73,-0.05 z m 1.28,-5.33 c 0.02,0 0.05,0 0.07,0 0.13,-0.02 0.13,-0.23 0,-0.26 -0.02,0 -0.03,0 -0.05,0 0.01,-0.06 0.01,-0.11 0.02,-0.17 0.02,-0.13 -0.21,-0.16 -0.23,-0.03 -0.01,0.06 -0.01,0.12 -0.02,0.18 -0.23,-0.01 -0.46,-0.01 -0.69,-0.02 -0.34,-0.01 -0.69,-0.01 -1.03,-0.02 -0.14,0 -0.27,0 -0.41,-0.01 0.03,-0.44 0.09,-0.89 0.16,-1.32 0.09,-0.01 0.19,-0.01 0.27,-0.03 0.1,-0.02 0.06,-0.15 -0.02,-0.16 -0.07,-0.01 -0.15,-0.01 -0.23,-0.01 0,-0.03 0,-0.05 0.01,-0.08 0.03,-0.14 -0.18,-0.2 -0.21,-0.06 -0.01,0.04 -0.01,0.09 -0.02,0.14 -0.11,0.01 -0.23,0.01 -0.34,0.01 -0.26,0 -0.52,0 -0.78,0 -0.51,0 -1.01,0.02 -1.52,0.03 -0.6,0.02 -1.21,0.05 -1.81,0.08 -0.02,-0.21 -0.04,-0.42 -0.05,-0.63 0,-0.04 0,-0.08 0,-0.11 0.94,0 1.89,0 2.83,0 0.65,0 1.3,-0.01 1.95,-0.02 0.33,0 0.65,-0.01 0.98,-0.01 0.28,0 0.57,0 0.85,-0.04 -0.01,0.01 -0.02,0.02 -0.02,0.04 0,0.27 0,0.54 0,0.81 0,0.13 0,0.27 0,0.4 0,0.14 0.02,0.28 0.03,0.41 0.01,0.08 0.12,0.08 0.13,0 0.02,-0.14 0.03,-0.27 0.03,-0.41 0,-0.13 0,-0.27 0,-0.4 0,-0.27 0,-0.54 0,-0.81 0,-0.04 -0.02,-0.07 -0.05,-0.08 0.06,-0.04 0.07,-0.15 -0.02,-0.17 -0.29,-0.06 -0.61,-0.04 -0.9,-0.04 -0.33,0 -0.65,0 -0.98,0 -0.67,0 -1.33,0.01 -2,0.01 -0.95,0.01 -1.89,0.03 -2.84,0.04 -0.01,-0.35 -0.02,-0.7 -0.03,-1.04 h 0.04 c 0.29,0 0.59,0 0.88,0 0.14,0 0.27,0 0.41,0 0.14,0 0.3,0.01 0.44,-0.03 0.11,-0.03 0.11,-0.18 0,-0.22 -0.12,-0.04 -0.26,-0.03 -0.39,-0.03 0.01,-0.34 0.01,-0.67 0,-1.01 0.17,0 0.34,-0.01 0.5,-0.04 0.1,-0.02 0.1,-0.19 0,-0.21 -0.17,-0.03 -0.34,-0.04 -0.51,-0.04 0,-0.11 -0.01,-0.23 -0.01,-0.34 0,-0.12 -0.01,-0.24 -0.01,-0.36 0.23,0.03 0.45,0.04 0.68,0.05 0.02,0.24 0.03,0.47 0.07,0.71 0.01,0.08 0.12,0.05 0.13,-0.02 0.02,-0.23 0.01,-0.46 0.01,-0.68 0.05,0 0.11,0.01 0.16,0.01 0.08,0 0.1,-0.12 0.02,-0.14 -0.06,-0.02 -0.12,-0.02 -0.18,-0.04 -0.01,-0.55 -0.03,-1.09 -0.05,-1.63 -0.01,-0.17 -0.27,-0.17 -0.26,0 0,0.03 0,0.06 0,0.09 -0.63,-0.09 -1.28,-0.12 -1.92,-0.13 0.01,-0.27 0,-0.55 0.01,-0.82 0.11,0 0.21,0 0.32,0 0,0.18 0,0.35 0,0.53 0,0.15 0.22,0.14 0.22,0 0.01,-0.18 0,-0.35 0.01,-0.53 0.03,0 0.06,0 0.09,0 0.4,0 0.79,0 1.19,-0.01 0.34,-0.01 0.68,-0.01 1.02,-0.05 0,0.02 0,0.04 0.01,0.06 0.02,0.04 0.08,0.05 0.09,0 0.01,-0.02 0,-0.04 0,-0.07 0.07,-0.01 0.07,-0.14 0,-0.15 0,0 0,0 0,0 0,-0.05 -0.01,-0.1 -0.01,-0.16 l -0.03,-0.39 c -0.02,-0.26 -0.03,-0.52 -0.05,-0.77 0,-0.07 -0.12,-0.08 -0.12,0 0.02,0.26 0.03,0.52 0.05,0.77 l 0.03,0.39 c 0,0.05 0.01,0.1 0.01,0.15 -0.33,-0.04 -0.67,-0.04 -1,-0.05 -0.4,-0.02 -0.79,-0.02 -1.19,-0.02 -0.03,0 -0.05,0 -0.08,0 0.01,-0.3 0.02,-0.59 0.02,-0.89 0.06,0 0.11,0 0.17,0 0.22,0 0.47,0 0.69,-0.04 0.08,-0.02 0.09,-0.15 0,-0.17 -0.22,-0.04 -0.46,-0.04 -0.69,-0.04 -0.05,0 -0.11,0 -0.16,0 0,-0.09 0,-0.17 0,-0.26 0.39,-0.01 0.8,-0.01 1.18,-0.08 0.11,-0.02 0.07,-0.17 -0.02,-0.18 -0.38,-0.04 -0.78,0 -1.16,0.02 0,-0.16 -0.01,-0.31 -0.01,-0.47 0.36,0 0.72,-0.01 1.09,-0.02 0,0.01 0,0.03 0,0.04 0,0.06 0.09,0.06 0.09,0 0,-0.01 0,-0.03 0,-0.04 0.36,-0.01 0.72,0 1.08,-0.02 0.47,-0.02 0.94,-0.06 1.41,-0.09 0.03,0.39 0.07,0.77 0.12,1.16 -0.18,0.02 -0.37,0.04 -0.55,0.05 -0.15,0.01 -0.15,0.25 0,0.24 0.19,-0.02 0.38,-0.03 0.58,-0.05 0.02,0.13 0.02,0.26 0.04,0.39 0.01,0.06 0.1,0.04 0.11,-0.01 0.01,-0.13 0,-0.26 0,-0.39 0.38,-0.03 0.77,-0.07 1.15,-0.1 0.2,-0.02 0.39,-0.04 0.59,-0.06 0,0.04 0,0.09 0.01,0.13 0.01,0.07 0.12,0.07 0.14,0 0.01,-0.05 0.01,-0.1 0.02,-0.15 0.06,-0.01 0.13,-0.01 0.19,-0.02 0.2,-0.02 0.42,-0.04 0.63,-0.07 0,0.27 0.01,0.54 0.01,0.8 -0.01,1.6 -0.02,3.19 -0.02,4.79 -0.01,1.56 0.02,3.13 -0.03,4.69 -0.03,0.85 -0.09,1.72 -0.13,2.58 -0.13,0.01 -0.25,0.02 -0.37,0.03 0,-0.94 0.06,-1.87 0.16,-2.81 z m -6.92,-4.44 c 0,-0.2 0.01,-0.41 0,-0.61 0,0 0,0 0.01,0 h 0.97 c 0.07,0 0.14,0 0.21,0 0.01,0.34 0.03,0.68 0.06,1.01 -0.1,0 -0.2,0 -0.3,0 -0.29,0 -0.59,0 -0.88,0 h -0.05 c -0.01,-0.13 -0.02,-0.27 -0.02,-0.4 z m -1.47,-4.96 c -0.01,-0.18 -0.02,-0.36 -0.03,-0.54 0.01,0.05 0.04,0.09 0.11,0.09 0.16,0 0.31,0 0.47,0 -0.02,0.3 -0.03,0.6 -0.05,0.89 -0.16,0 -0.33,0 -0.49,0 0,-0.14 0,-0.29 -0.01,-0.44 z m 0.87,-0.92 c 0.32,-0.01 0.63,-0.02 0.95,-0.03 0,0.08 0.01,0.17 0.01,0.25 -0.1,0 -0.2,0 -0.3,0 -0.22,0 -0.45,0 -0.67,0 0,-0.07 0,-0.14 0.01,-0.22 z m 0.36,-2.13 c 0.08,0.03 0.15,0.07 0.24,0.09 -0.01,-0.26 0,-0.52 0.04,-0.78 0.06,0 0.12,0.01 0.18,0.01 0.03,0.28 0.06,0.56 0.07,0.84 -0.22,0.01 -0.44,0.02 -0.66,0.03 0.05,-0.05 0.09,-0.12 0.13,-0.19 z m 0.8,0.39 c 0.3,0 0.6,-0.01 0.9,-0.02 0.05,0 0.11,0 0.16,0 0.01,0.22 0.02,0.45 0.03,0.67 -0.36,0.01 -0.72,0.02 -1.08,0.02 0,-0.23 0,-0.45 -0.01,-0.67 z m -0.51,2.21 c 0.1,0 0.2,0 0.3,0 0,0.3 0,0.59 0,0.89 -0.35,0 -0.69,0 -1.04,0 0.02,-0.3 0.04,-0.6 0.06,-0.89 0.22,0 0.45,0 0.68,0 z m 1.97,3.63 c -0.22,-0.05 -0.44,-0.1 -0.67,-0.13 -0.01,-0.38 -0.03,-0.75 -0.04,-1.13 0,-0.02 -0.02,-0.02 -0.03,-0.03 0.22,-0.01 0.45,-0.02 0.67,-0.04 0.01,0.44 0.03,0.88 0.07,1.33 z m -0.87,-0.16 c -0.12,-0.02 -0.24,-0.03 -0.36,-0.05 -0.26,-0.04 -0.52,-0.07 -0.78,-0.1 0,-0.32 0,-0.65 0.01,-0.97 0.38,0.01 0.76,0.01 1.13,0 -0.01,0.01 -0.03,0.01 -0.02,0.02 0.01,0.37 0.01,0.73 0.02,1.1 z m -1.34,-0.18 c -0.22,-0.03 -0.43,-0.06 -0.65,-0.08 -0.03,0 -0.05,0.01 -0.08,0.03 0.05,-0.3 0.09,-0.61 0.12,-0.92 0.21,0.01 0.41,0.02 0.62,0.02 -0.01,0.32 -0.01,0.64 -0.01,0.95 z m -0.58,-1.29 c 0.02,-0.27 0.04,-0.55 0.06,-0.82 0.19,0 0.37,0 0.56,0.01 -0.01,0.27 0,0.55 -0.01,0.82 -0.21,-0.01 -0.41,-0.01 -0.61,-0.01 z m -0.68,-0.83 c 0.15,0 0.31,0 0.46,0 -0.02,0.27 -0.04,0.55 -0.07,0.82 -0.13,0 -0.25,0 -0.38,0 0,-0.27 0,-0.54 -0.01,-0.82 z m 0.02,1.12 c 0.12,0 0.23,0.01 0.35,0.01 -0.03,0.35 -0.05,0.7 -0.05,1.04 0,0.09 0.12,0.11 0.16,0.04 0.01,0.04 0.03,0.07 0.08,0.08 0.23,0.03 0.45,0.07 0.68,0.1 0,0.31 -0.02,0.62 -0.02,0.92 -0.39,0 -0.78,0 -1.17,0 0.01,-0.72 -0.01,-1.45 -0.03,-2.19 z m 1.44,1.31 c 0.26,0.04 0.51,0.08 0.77,0.11 0.13,0.02 0.26,0.03 0.39,0.05 0,0.13 0.01,0.26 0.01,0.39 0,0.11 0.01,0.23 0.01,0.34 -0.07,0 -0.14,0 -0.2,0 h -0.97 c 0,0 0,0 0,0 -0.02,-0.29 -0.01,-0.59 -0.01,-0.89 z m 4.51,-5.82 c 0.15,-0.02 0.3,-0.03 0.46,-0.05 0.41,-0.06 0.87,-0.12 1.28,-0.27 -0.01,0.23 -0.01,0.46 -0.01,0.69 -0.34,0.04 -0.69,0.08 -1.03,0.11 -0.22,0.02 -0.45,0.03 -0.67,0.04 -0.01,-0.18 -0.02,-0.35 -0.03,-0.52 z m 0.74,0.8 c 0.32,-0.03 0.65,-0.06 0.98,-0.09 0,0.01 0,0.02 0,0.03 0,0.36 0,0.74 0.03,1.1 -0.19,0.02 -0.38,0.03 -0.57,0.05 -0.38,0.04 -0.77,0.07 -1.15,0.11 0.01,-0.39 0.02,-0.77 0.01,-1.16 0.23,-0.02 0.46,-0.02 0.7,-0.04 z m 1.99,-0.24 c 0,0.4 0,0.81 0.01,1.21 -0.21,0 -0.43,0.02 -0.63,0.04 -0.05,0 -0.11,0.01 -0.16,0.01 0.04,-0.36 0.05,-0.73 0.07,-1.09 0,-0.02 0,-0.04 0,-0.06 0.24,-0.02 0.48,-0.07 0.71,-0.11 z m 0.01,-0.28 c -0.24,0.02 -0.47,0.03 -0.71,0.06 0.01,-0.27 0.01,-0.53 0.02,-0.8 0.05,-0.03 0.1,-0.06 0.15,-0.09 0.08,0.09 0.18,0.17 0.31,0.21 0.09,0.03 0.18,0.03 0.26,0.01 -0.01,0.2 -0.03,0.4 -0.03,0.61 z m -5.65,-0.54 c -0.05,0 -0.1,0 -0.15,0 -0.3,0 -0.6,0.02 -0.9,0.03 -0.01,-0.27 -0.02,-0.55 -0.03,-0.82 0.35,0.01 0.7,0.01 1.04,0.01 0.01,0.26 0.02,0.52 0.04,0.78 z m -1.43,-1.07 c -0.03,0 -0.06,0 -0.09,0 0.02,-0.08 0.02,-0.16 0.05,-0.24 -0.12,-0.02 -0.25,-0.02 -0.37,-0.03 -0.01,-0.1 -0.02,-0.19 -0.02,-0.29 0.13,0 0.25,0 0.38,0 0.02,0.19 0.03,0.37 0.05,0.56 z m 0.11,1.34 c 0.01,0.22 0.01,0.45 0.02,0.67 -0.29,0 -0.57,-0.01 -0.86,-0.02 0.01,-0.21 0.01,-0.43 0.02,-0.64 0.28,0 0.55,0 0.82,-0.01 z m 0.03,0.98 c 0,0.16 0.01,0.32 0.01,0.48 -0.31,0.01 -0.62,0.03 -0.92,0.04 0.01,-0.18 0.03,-0.37 0.04,-0.55 0.29,0.01 0.58,0.03 0.87,0.03 z m -1.22,0.99 c -0.16,0 -0.32,0 -0.48,0 -0.07,0 -0.1,0.05 -0.11,0.1 -0.01,-0.38 -0.04,-0.76 -0.06,-1.14 0.24,0.01 0.47,0.01 0.71,0.02 -0.02,0.34 -0.04,0.68 -0.06,1.02 z m 0.68,5.04 c 0,0.22 -0.01,0.44 -0.01,0.66 0,0.12 0.01,0.23 0.01,0.35 l -0.81,0.01 c 0,-0.01 0,-0.01 0,-0.02 0.01,-0.09 0.02,-0.18 0.03,-0.28 0.02,-0.18 0.04,-0.37 0.05,-0.55 0.01,-0.06 -0.06,-0.12 -0.12,-0.12 -0.07,0 -0.11,0.05 -0.12,0.12 -0.02,0.18 -0.04,0.36 -0.06,0.54 -0.01,0.09 -0.02,0.18 -0.03,0.27 0,0.01 0,0.03 0,0.04 h -0.1 c 0,-0.14 -0.01,-0.28 -0.01,-0.41 0,-0.2 -0.01,-0.41 -0.01,-0.61 0.41,0 0.79,0 1.18,0 z m -1.02,1.28 c 0.03,0.07 0.14,0.1 0.16,0.01 0,0 0,0 0,0 l 0.87,0.01 c 0.01,0.35 0.02,0.7 0.03,1.05 -0.07,0 -0.14,0 -0.21,0 0,-0.22 0,-0.43 -0.01,-0.65 0,-0.14 -0.22,-0.14 -0.22,0 0,0.22 0,0.43 -0.01,0.65 -0.14,0 -0.28,0 -0.42,0.01 -0.15,0 -0.15,0.24 0,0.24 0.14,0 0.28,0 0.42,0 0,0.26 -0.01,0.52 -0.01,0.78 -0.17,0.01 -0.35,0.01 -0.52,0.02 -0.17,0.01 -0.18,0.28 0,0.27 0.17,0 0.35,-0.01 0.52,-0.02 0,0.33 -0.01,0.66 -0.01,1 -0.17,0 -0.34,0 -0.51,-0.01 -0.07,0 -0.11,0.05 -0.12,0.1 -0.02,-0.64 -0.02,-1.28 -0.04,-1.93 0.01,0.02 0.02,0.05 0.05,0.05 0.12,0 0.12,-0.18 0,-0.18 -0.03,0 -0.04,0.03 -0.05,0.05 -0.01,-0.49 -0.02,-0.97 -0.03,-1.46 z m -0.02,4.95 c 0.19,0.01 0.39,0.01 0.58,0.01 0,0.36 0,0.71 0,1.07 -0.18,0.03 -0.37,0.05 -0.55,0.08 -0.01,-0.38 -0.02,-0.77 -0.03,-1.16 z m 0.9,0.02 c 0.12,0 0.24,0.01 0.36,0.01 v 0.11 c 0,0.06 0,0.11 0,0.17 0,0.03 0,0.06 0,0.08 0,0.05 0.02,0.08 0.04,0.12 0.04,0.07 0.16,0.07 0.2,0 0.02,-0.04 0.04,-0.08 0.04,-0.12 0,-0.03 0,-0.05 0,-0.08 0,-0.06 0,-0.11 0,-0.17 0,-0.03 0,-0.07 0,-0.1 0.17,0 0.34,0.01 0.51,0 v 0.05 c 0,0.18 0,0.35 0,0.53 0,0.11 0,0.22 0.01,0.32 -0.38,0.02 -0.76,0.06 -1.13,0.1 -0.03,-0.34 -0.03,-0.68 -0.03,-1.02 z m 1.4,1.21 c 0.36,-0.01 0.71,-0.02 1.07,-0.02 -0.01,0.13 -0.02,0.25 -0.02,0.38 0,0.1 0,0.2 -0.01,0.29 0,0.02 0,0.03 0,0.05 -0.39,0.03 -0.79,0.06 -1.18,0.09 -0.03,-0.19 -0.09,-0.38 -0.11,-0.57 -0.39,0.11 -0.77,0.27 -1.15,0.44 0,-0.18 0,-0.36 0,-0.54 0.47,-0.04 0.93,-0.1 1.4,-0.12 z m -3.43,4 c -0.01,-0.11 -0.01,-0.23 -0.02,-0.34 0.07,-0.07 0.14,-0.12 0.21,-0.19 0.27,-0.02 0.53,-0.04 0.8,-0.06 -0.02,0.25 -0.03,0.51 -0.03,0.77 -0.32,0.02 -0.63,0.02 -0.95,0.04 0,-0.08 0,-0.15 -0.01,-0.22 z m 3.53,0.38 c 0.23,-0.01 0.45,-0.01 0.68,-0.02 0,0.17 0,0.34 0.02,0.51 -0.23,0.01 -0.46,0.03 -0.7,0.04 0,-0.17 0,-0.35 0,-0.53 z m 5.6,-0.97 c 0,0 0,0 0,0 0.21,-0.02 0.27,-0.31 0.06,-0.36 -0.02,-0.01 -0.05,-0.01 -0.07,-0.01 -0.01,-0.22 -0.01,-0.45 -0.02,-0.67 0.13,0.08 0.26,0.18 0.38,0.27 0,0.02 0,0.04 0,0.06 0,0.05 0.02,0.09 0.03,0.13 0.02,0.29 0.04,0.57 0.07,0.86 0.01,0.1 0.02,0.2 0.03,0.29 -0.15,0 -0.3,0 -0.45,0 -0.01,-0.2 -0.02,-0.39 -0.03,-0.57 z m 0.11,-2.64 c 0.08,0 0.16,-0.01 0.23,-0.01 0,0.04 0,0.08 0,0.12 -0.08,-0.04 -0.15,-0.07 -0.23,-0.11 z m -1.34,-17.67 c 0,0.24 -0.01,0.49 -0.01,0.74 -0.27,0.06 -0.53,0.13 -0.79,0.17 -0.09,0.01 -0.17,0.02 -0.26,0.03 -0.02,-0.48 -0.05,-0.95 -0.08,-1.43 0.37,0.01 0.75,0.01 1.09,-0.08 0.04,-0.01 0.05,-0.04 0.05,-0.07 0,0.22 0,0.43 0,0.64 z m -1.37,1.08 c -0.37,0.01 -0.74,0.02 -1.11,0.02 0.05,-0.53 0.09,-1.05 0.1,-1.59 0.22,0 0.44,-0.01 0.66,-0.01 0.1,0 0.2,0 0.31,0.01 0.01,0.52 0.02,1.05 0.04,1.57 z m -4.04,-0.82 c -0.13,0 -0.25,0 -0.38,0 -0.02,-0.24 -0.06,-0.47 -0.09,-0.7 0,-0.01 -0.01,-0.02 -0.01,-0.03 0.13,0 0.26,0 0.4,0 0.03,0.24 0.06,0.48 0.08,0.73 z m -1.39,-1.26 c -0.01,0.02 -0.02,0.05 -0.03,0.07 0.01,-0.02 0.01,-0.05 0.02,-0.07 0,0 0.01,0 0.01,0 z m -0.11,0.45 c 0,0.01 0,0.02 0.01,0.02 0,0.03 -0.01,0.07 -0.01,0.1 -0.01,0.23 -0.01,0.46 0,0.69 -0.03,0 -0.07,0 -0.1,0 -0.03,0 -0.06,0.02 -0.08,0.03 0.07,-0.28 0.13,-0.56 0.18,-0.84 z m -0.21,1.01 c 0.02,0.04 0.05,0.08 0.11,0.08 0.04,0 0.07,0 0.11,0 0.01,0.16 0.02,0.32 0.02,0.48 -0.12,-0.01 -0.24,-0.01 -0.36,-0.02 0.05,-0.18 0.09,-0.36 0.12,-0.54 z m -0.17,0.81 c 0.14,0.01 0.29,0.01 0.43,0.02 0,0.06 0.01,0.12 0.01,0.17 0.01,0.16 0,0.35 0.06,0.5 0.05,0.12 0.13,0.23 0.23,0.31 -0.07,0 -0.15,0.01 -0.22,0.01 -0.11,0.01 -0.11,0.17 0,0.17 0.16,0 0.31,0 0.46,0 -0.01,0.21 -0.01,0.42 -0.02,0.63 -0.24,0 -0.49,-0.01 -0.73,-0.01 -0.01,-0.17 -0.01,-0.33 -0.02,-0.5 -0.02,-0.23 -0.07,-0.72 -0.23,-1.08 0,-0.08 0.02,-0.15 0.03,-0.22 z m 0.56,16.26 c -0.01,-0.15 -0.01,-0.29 -0.01,-0.44 0.18,-0.02 0.36,-0.03 0.54,-0.05 0,0.22 0,0.44 0,0.67 -0.17,0.09 -0.33,0.18 -0.49,0.28 -0.01,-0.16 -0.03,-0.31 -0.04,-0.46 z m -1.48,3.32 c 0,0.01 0,0.03 0,0.04 0,0.07 0.01,0.15 0.01,0.22 0,0 0,0 0,0 -0.06,0 -0.09,0.04 -0.11,0.08 -0.03,-0.03 -0.07,-0.04 -0.11,-0.04 -0.03,0 -0.05,0.02 -0.07,0.03 0.1,-0.1 0.18,-0.22 0.28,-0.33 z m 1.29,1.4 c 0,0.02 0,0.05 0,0.08 -0.23,-0.01 -0.47,-0.03 -0.7,-0.05 0.23,-0.01 0.46,-0.02 0.7,-0.03 z m 0.35,0.1 c 0,-0.04 -0.01,-0.08 -0.01,-0.12 0.65,-0.03 1.31,-0.06 1.96,-0.09 0,0.08 -0.01,0.17 -0.01,0.25 -0.65,0 -1.3,-0.01 -1.94,-0.04 z m 2.19,0.05 c 0,-0.09 0,-0.18 0,-0.27 0.24,-0.01 0.49,-0.02 0.73,-0.03 0,0 0.01,0 0.01,0 0,0.02 0.01,0.04 0.01,0.07 0.02,0.09 0.04,0.17 0.07,0.24 -0.27,0 -0.55,-0.01 -0.82,-0.01 z m 1.04,-0.27 c 0,-0.02 0,-0.03 -0.01,-0.05 0.42,-0.02 0.84,-0.04 1.26,-0.06 0.02,0.01 0.02,0.04 0.05,0.05 0.05,0.01 0.08,-0.01 0.11,-0.05 0,0 0,-0.01 0,-0.01 0.09,0 0.19,-0.01 0.28,-0.01 0,0.04 -0.01,0.09 -0.01,0.13 -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.54,0.03 -1.09,0.06 -1.63,0.07 0.01,-0.1 -0.01,-0.19 -0.03,-0.28 z m 1.94,-0.01 c 0,-0.05 0,-0.1 0.01,-0.14 0.02,0 0.03,0 0.05,0 0.32,-0.02 0.63,-0.04 0.95,-0.06 -0.01,0.11 -0.02,0.23 -0.03,0.34 -0.1,0.01 -0.21,0.02 -0.31,0.03 -0.22,0.02 -0.45,0.02 -0.67,0.03 -0.01,-0.06 -0.01,-0.13 0,-0.2 z m 1.21,-0.21 c 0.01,0 0.01,0 0.02,0 0.36,-0.02 0.76,-0.03 1.11,-0.12 0.03,-0.01 0.03,-0.04 0.04,-0.06 0.01,0.13 0.02,0.26 0.04,0.39 -0.41,0.04 -0.82,0.08 -1.22,0.11 0,-0.1 0.01,-0.21 0.01,-0.32 z m 1.54,0.19 c -0.01,0 -0.01,0 0,0 -0.03,-0.3 -0.04,-0.6 -0.06,-0.9 0.15,0 0.31,0 0.46,0 0.01,0.08 0.01,0.15 0.02,0.23 0.02,0.19 0.03,0.41 0.09,0.61 -0.18,0.02 -0.35,0.04 -0.51,0.06 z m 0.72,-0.7 c -0.01,-0.07 -0.01,-0.13 -0.02,-0.2 0.15,0 0.29,0 0.43,-0.07 0.07,-0.03 0.07,-0.15 0,-0.19 -0.15,-0.07 -0.3,-0.07 -0.46,-0.07 -0.01,-0.11 -0.02,-0.22 -0.03,-0.33 -0.01,-0.1 -0.02,-0.2 -0.03,-0.3 0.19,0.13 0.42,0.17 0.64,0.13 0.01,0.01 0.02,0.02 0.03,0.03 -0.01,0.1 -0.02,0.19 -0.02,0.29 -0.01,0.13 -0.05,0.31 -0.01,0.43 0.05,0.13 0.25,0.19 0.33,0.04 0.06,-0.11 0.05,-0.26 0.06,-0.4 0.17,0.19 0.32,0.4 0.46,0.61 -0.01,0.02 -0.02,0.03 -0.02,0.05 0,0.02 0,0.05 0.01,0.07 -0.26,0 -0.51,0.01 -0.77,0.01 -0.17,0 -0.17,0.26 0,0.26 0.26,0.01 0.53,0.01 0.79,0.02 0,0.01 0,0.01 0,0.02 -0.44,0.07 -0.89,0.14 -1.33,0.19 -0.01,-0.19 -0.04,-0.4 -0.06,-0.59 z m 2.8,-0.6 c -0.44,-0.68 -0.99,-1.27 -1.58,-1.8 0.05,-1.39 -0.08,-2.82 -0.13,-4.21 -0.06,-1.59 -0.01,-3.2 -0.01,-4.79 0,-1.56 0,-3.13 0,-4.69 0,-1.17 0.1,-2.42 -0.01,-3.62 0.25,0.93 0.49,1.85 0.74,2.78 0.5,1.91 1,3.82 1.48,5.73 0.47,1.88 0.93,3.77 1.38,5.65 0.22,0.94 0.44,1.89 0.66,2.83 0.17,0.75 0.33,1.49 0.58,2.21 -1.03,0.26 -2.07,0.49 -3.12,0.68 0.15,-0.2 0.2,-0.48 0.01,-0.77 z m -2.13,-20.59 c -0.14,-0.09 -0.31,-0.08 -0.47,-0.02 -0.01,-0.15 -0.01,-0.3 -0.02,-0.45 -0.01,-0.24 -0.02,-0.48 -0.03,-0.72 0.13,0.02 0.26,0.04 0.38,0.06 -0.09,0.38 0.03,0.76 0.14,1.13 z m -1.95,0.43 c -0.16,0 -0.32,0.01 -0.47,0.04 0,-0.23 -0.01,-0.45 -0.01,-0.68 0,-0.41 -0.01,-0.81 -0.02,-1.22 0.19,0.02 0.37,0.04 0.56,0.06 -0.03,0.6 -0.05,1.2 -0.06,1.8 z m -0.78,-1.27 c 0,-0.03 -0.02,-0.06 -0.05,-0.07 -0.35,-0.09 -0.74,-0.09 -1.11,-0.07 -0.01,-0.17 -0.02,-0.35 -0.03,-0.52 0.4,0.01 0.8,0.03 1.2,0.06 -0.01,0.2 -0.01,0.4 -0.01,0.6 z m -1.45,-0.67 c 0,0.18 0.01,0.35 0.02,0.53 -0.08,0 -0.17,0.01 -0.25,0 -0.23,0 -0.47,-0.01 -0.7,-0.01 0,-0.18 0,-0.36 0.01,-0.53 0.03,0 0.07,0 0.1,0 0.27,-0.01 0.54,0 0.82,0.01 z m -1.23,0.52 c -0.24,0 -0.48,0 -0.71,-0.01 -0.08,0 -0.16,0 -0.25,0 0,-0.16 -0.02,-0.31 -0.02,-0.47 0.34,-0.01 0.67,-0.04 1.01,-0.04 -0.01,0.17 -0.02,0.34 -0.03,0.52 z m -1.34,-0.01 c -0.37,0 -0.74,0 -1.11,0 -0.01,-0.13 -0.02,-0.26 -0.04,-0.39 0.09,-0.01 0.17,-0.02 0.26,-0.03 0.3,-0.02 0.61,-0.02 0.91,-0.04 -0.01,0.16 -0.03,0.31 -0.02,0.46 z m -1.54,-0.34 c 0.01,0.12 0.02,0.23 0.04,0.35 -0.14,0 -0.29,0 -0.43,0 0,-0.1 0.01,-0.2 0.01,-0.3 0.12,-0.02 0.25,-0.04 0.38,-0.05 z m -3.04,8.56 c 0.03,1 0.05,2.01 0.09,3.01 0.06,1.59 0.09,3.18 0.13,4.76 0.02,0.78 0.05,1.56 0.05,2.33 0,0.39 0,0.78 -0.01,1.17 0,0.2 0,0.39 0.01,0.57 -0.6,0.62 -1.09,1.34 -1.43,2.16 -0.21,0.49 0.41,0.88 0.72,0.42 0.13,-0.2 0.3,-0.38 0.46,-0.57 0,0.01 -0.01,0.02 -0.01,0.03 -0.04,0.29 -0.07,0.59 -0.11,0.88 -0.99,-0.09 -1.98,-0.2 -2.97,-0.35 0,-0.01 0,-0.02 0.01,-0.03 1,-4.78 2.03,-9.58 3.06,-14.38 z m -3.72,17.59 c 0.7,0.23 1.4,0.43 2.13,0.54 0.41,0.06 0.82,0.11 1.23,0.14 0.38,0.03 0.87,0.11 1.22,-0.04 0.13,-0.05 0.14,-0.22 0,-0.27 -0.36,-0.14 -0.84,-0.07 -1.22,-0.1 -0.41,-0.03 -0.81,-0.07 -1.22,-0.13 -0.7,-0.11 -1.4,-0.26 -2.08,-0.45 0.03,-0.17 0.07,-0.33 0.1,-0.5 0.27,0.05 0.55,0.11 0.82,0.16 0.19,0.03 0.39,0.06 0.58,0.09 0.11,0.02 0.21,0.02 0.32,0.03 0.1,0.01 0.2,0.02 0.29,-0.03 0.08,-0.04 0.09,-0.16 0.03,-0.22 -0.07,-0.08 -0.17,-0.09 -0.27,-0.12 -0.1,-0.03 -0.2,-0.05 -0.31,-0.07 -0.19,-0.03 -0.39,-0.06 -0.58,-0.08 -0.27,-0.04 -0.54,-0.07 -0.82,-0.1 0.03,-0.12 0.05,-0.25 0.08,-0.37 1.03,0.16 2.07,0.31 3.12,0.41 5.57,0.53 11.23,0.15 16.68,-1.12 0.57,-0.13 1.13,-0.28 1.69,-0.43 -0.18,-0.56 -0.35,-1.13 -0.51,-1.7 -0.13,0.04 -0.27,0.06 -0.41,0.1 -0.09,-0.73 -0.26,-1.45 -0.43,-2.17 -0.22,-0.94 -0.44,-1.89 -0.67,-2.83 -0.46,-1.92 -0.93,-3.83 -1.42,-5.74 -0.48,-1.88 -0.97,-3.76 -1.47,-5.63 -0.25,-0.94 -0.51,-1.87 -0.77,-2.8 -0.13,-0.47 -0.26,-0.93 -0.39,-1.4 -0.1,-0.35 -0.18,-0.73 -0.39,-1.02 0.04,0.01 0.09,0 0.13,0 0.15,0.55 0.31,1.1 0.46,1.66 1.91,6.82 3.88,13.62 5.8,20.44 0.12,0.41 0.23,0.82 0.34,1.23 -0.28,0.08 -0.56,0.16 -0.84,0.25 -0.6,0.17 -1.19,0.37 -1.78,0.56 -0.58,0.18 -1.16,0.36 -1.73,0.54 -0.28,0.09 -0.58,0.13 -0.86,0.2 -0.32,0.09 -0.63,0.19 -0.94,0.29 -0.19,0.06 -0.11,0.34 0.08,0.29 0.3,-0.08 0.6,-0.15 0.9,-0.24 0.28,-0.08 0.55,-0.21 0.84,-0.29 0.6,-0.17 1.2,-0.31 1.8,-0.48 0.58,-0.16 1.17,-0.3 1.75,-0.46 0.28,-0.08 0.57,-0.16 0.85,-0.24 0.01,0 0.03,-0.01 0.04,-0.01 0.05,0.16 0.09,0.33 0.14,0.5 -0.18,0.03 -0.36,0.13 -0.52,0.21 -0.23,0.11 -0.45,0.22 -0.68,0.32 -0.49,0.21 -0.98,0.4 -1.49,0.56 -0.49,0.16 -0.99,0.32 -1.51,0.39 -0.51,0.07 -1.03,0.14 -1.54,0.19 -0.2,0.02 -0.21,0.33 0,0.32 0.52,-0.03 1.03,-0.08 1.54,-0.2 0.53,-0.13 1.07,-0.21 1.6,-0.35 0.51,-0.14 1.02,-0.3 1.51,-0.5 0.24,-0.09 0.47,-0.19 0.7,-0.3 0.17,-0.08 0.34,-0.16 0.48,-0.27 0.12,0.43 0.24,0.86 0.36,1.29 0,-0.01 -0.01,-0.01 -0.01,-0.02 -3.56,1 -7.22,1.62 -10.89,1.87 -4.06,0.28 -8.15,0.11 -12.17,-0.5 0.12,-0.49 0.21,-0.95 0.31,-1.4 z m 23.44,2.37 c -0.54,0.31 -1.23,0.32 -1.84,0.37 -0.66,0.06 -1.33,0.09 -2,0.11 -0.17,0.01 -0.35,-0.01 -0.52,-0.01 0.72,-0.14 1.44,-0.29 2.15,-0.46 0.69,-0.16 1.38,-0.34 2.07,-0.53 0.04,0.18 0.09,0.35 0.14,0.52 z m -7.29,11.26 c -0.07,0 -0.13,0.06 -0.13,0.13 v 0.23 c 0,0.04 0,0.08 0,0.12 -0.06,0 -0.12,0 -0.18,0 0,-0.02 0,-0.05 0.01,-0.07 0.01,-0.15 0.02,-0.31 0.03,-0.46 0.02,-0.3 0.03,-0.6 0.05,-0.9 0.01,-0.16 -0.24,-0.16 -0.25,0 -0.02,0.29 -0.04,0.59 -0.06,0.88 -0.01,0.15 -0.02,0.29 -0.03,0.44 0,0.03 0,0.07 -0.01,0.11 -0.12,0 -0.25,0.01 -0.37,0.01 -0.15,0 -0.3,0 -0.45,0 0.01,-0.14 0.01,-0.29 0.02,-0.43 0.02,-0.38 0.03,-0.75 0.05,-1.13 0.01,-0.15 -0.23,-0.15 -0.23,0 l -0.06,1.13 c -0.01,0.11 -0.01,0.23 -0.02,0.34 -0.01,0.02 -0.02,0.03 -0.02,0.05 0,0.01 0,0.02 0,0.04 -0.2,0 -0.4,0 -0.6,0 -0.01,-0.19 -0.01,-0.38 -0.01,-0.57 -0.01,-0.4 -0.03,-0.8 -0.05,-1.21 -0.01,-0.1 -0.16,-0.1 -0.16,0 0.01,0.4 0.02,0.8 0.05,1.21 0.01,0.19 0.03,0.38 0.04,0.57 -0.24,0 -0.47,0 -0.71,0 0.15,-0.24 0.17,-0.58 0.2,-0.85 0.03,-0.28 0.05,-0.55 0.07,-0.83 0.03,-0.46 0.05,-0.92 0.05,-1.38 0.01,0 0.01,0 0.02,0 0.37,-0.03 0.74,-0.06 1.11,-0.09 0.66,-0.05 1.35,-0.08 2.01,-0.16 0.08,0.25 0.13,0.52 0.2,0.79 0.11,0.37 0.13,0.55 0.16,0.88 0.01,0.16 0.02,0.32 0.01,0.49 0,0.09 -0.01,0.17 -0.02,0.26 0,0.04 -0.01,0.08 -0.01,0.12 -0.01,0.07 -0.02,0.14 -0.04,0.21 -0.01,0.03 -0.02,0.06 -0.04,0.09 0,0.01 -0.01,0.02 -0.01,0.03 -0.06,0.13 -0.1,0.27 -0.15,0.41 -0.11,0 -0.23,0 -0.34,0.01 0,-0.04 0,-0.08 0,-0.12 v -0.23 c 0,-0.06 -0.06,-0.13 -0.13,-0.12 z m -6.23,0.51 c -0.33,0 -0.66,0 -0.99,0 -0.08,-0.09 -0.16,-0.18 -0.22,-0.29 0.05,-0.26 0.09,-0.52 0.16,-0.77 0.04,-0.14 0.08,-0.27 0.13,-0.41 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.02 0.02,-0.04 0.03,-0.06 0.03,-0.07 0.07,-0.14 0.11,-0.21 0.03,-0.05 0.06,-0.1 0.1,-0.15 0.01,-0.02 0.03,-0.04 0.04,-0.06 0,0 0,0 0,0 0.06,-0.07 0.13,-0.13 0.19,-0.2 0.01,0 0.02,-0.01 0.03,-0.01 0.14,-0.05 0.3,-0.07 0.42,-0.12 0.1,-0.04 0.22,-0.1 0.33,-0.15 0.02,-0.01 0.04,-0.02 0.07,-0.04 0.02,0 0.03,0 0.03,0 0.05,0.01 0.1,0.02 0.15,0.03 0.02,0.01 0.09,0.03 0.11,0.04 0.01,0 0.02,0.01 0.02,0.01 0.03,0.02 0.07,0.03 0.1,0.05 0.05,0.03 0.09,0.06 0.14,0.09 0,0 0.01,0.01 0.03,0.02 0.02,0.01 0.04,0.03 0.05,0.04 0.04,0.04 0.08,0.07 0.12,0.11 0.01,0.01 0.06,0.07 0.08,0.08 0.01,0.02 0.06,0.08 0.07,0.1 0.03,0.04 0.05,0.09 0.08,0.14 0,0 0.03,0.07 0.04,0.09 0.02,0.07 0.04,0.13 0.05,0.2 0,0.02 0.01,0.04 0.01,0.06 0,0 0,0 0,0.01 0,0.07 0.01,0.14 0.01,0.21 0,0.05 0,0.09 -0.01,0.14 0,0.01 -0.01,0.08 -0.02,0.1 -0.01,0.06 -0.03,0.12 -0.04,0.17 -0.01,0.03 -0.02,0.06 -0.03,0.08 0,0.01 -0.02,0.04 -0.02,0.06 -0.01,0.01 -0.01,0.03 -0.01,0.03 -0.02,0.04 -0.03,0.07 -0.05,0.11 -0.03,0.05 -0.06,0.1 -0.09,0.15 -0.03,0.05 -0.06,0.1 -0.1,0.15 0.06,-0.08 -0.05,0.06 -0.07,0.08 -0.04,0.04 -0.07,0.08 -0.11,0.11 -0.34,0.03 -0.64,0.03 -0.95,0.03 z m -3.89,-1.47 c -0.02,0.36 -0.05,0.71 -0.07,1.07 -0.01,0.14 -0.02,0.28 -0.02,0.42 -0.23,0 -0.46,0 -0.68,0 0.05,-0.34 0.06,-0.69 0.06,-1.04 0,-0.37 0,-0.74 0,-1.11 0,-0.14 -0.22,-0.14 -0.22,0 0,0.37 0,0.74 0,1.11 0,0.35 0,0.69 0.06,1.04 -0.17,0 -0.34,0 -0.51,0 -0.27,0 -0.54,0.01 -0.81,0.01 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.05,-0.22 -0.09,-0.44 -0.12,-0.67 -0.05,-0.45 -0.05,-0.9 0,-1.35 0.02,-0.15 -0.22,-0.15 -0.23,0 -0.05,0.47 -0.06,0.95 0,1.42 0.02,0.21 0.06,0.42 0.1,0.62 -0.24,0 -0.48,0 -0.72,0.01 0.03,-0.15 0,-0.31 -0.04,-0.47 -0.02,-0.07 -0.03,-0.15 -0.04,-0.22 0,-0.03 -0.01,-0.05 -0.01,-0.08 0,-0.01 0,-0.03 -0.01,-0.05 -0.03,-0.29 -0.05,-0.58 -0.05,-0.86 0,-0.47 0.08,-0.95 0.06,-1.42 0.7,0.09 1.42,0.09 2.13,0.1 0.38,0.01 0.75,0.02 1.13,0.03 0.27,0.01 0.54,-0.02 0.78,-0.11 -0.01,0.4 -0.02,0.81 -0.03,1.21 -0.01,0.01 -0.04,0.01 -0.04,0.04 0,0.29 -0.01,0.59 -0.01,0.88 0,0.15 0,0.29 0,0.44 0,0.14 0,0.27 0.02,0.4 0,0.01 0,0.01 0,0.02 -0.01,0.02 0,0.04 -0.01,0.06 -0.17,0 -0.34,0 -0.51,0 0.01,-0.14 0.01,-0.28 0.02,-0.42 0.01,-0.36 0.02,-0.71 0.04,-1.07 -0.01,-0.13 -0.25,-0.13 -0.26,0.02 z m -8.56,-0.17 c 0.01,0 0.03,0 0.04,0 0.09,0 0.18,0 0.28,0 0.1,0 0.19,0 0.29,-0.03 0.12,-0.04 0.12,-0.2 0,-0.24 -0.1,-0.03 -0.19,-0.03 -0.29,-0.03 -0.09,0 -0.17,0 -0.26,0 0.04,-0.22 0.09,-0.44 0.13,-0.67 0.18,0 0.36,0 0.55,0.01 0.17,0 0.33,0 0.5,0 0.09,0 0.18,0 0.27,-0.01 0.03,0 0.05,0 0.08,-0.01 -0.01,0.24 -0.03,0.47 -0.04,0.71 -0.03,0.49 -0.08,1 -0.12,1.5 0,-0.04 -0.02,-0.07 -0.06,-0.09 -0.15,-0.04 -0.3,-0.02 -0.46,-0.02 -0.16,0.01 -0.31,0.01 -0.47,0.02 l -0.66,0.04 c 0.06,-0.39 0.14,-0.78 0.22,-1.18 z m 1.65,-6.06 c -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.04,-0.02 -0.07,-0.03 -0.12,-0.03 -0.03,0 -0.07,0 -0.1,-0.01 -0.07,0 -0.14,0.01 -0.2,0.01 0.08,-0.38 0.16,-0.76 0.24,-1.14 0.18,-0.01 0.36,-0.02 0.55,-0.03 -0.07,0.45 -0.08,0.92 -0.1,1.35 0,-0.03 -0.01,-0.05 -0.03,-0.07 -0.04,-0.03 -0.07,-0.05 -0.12,-0.06 -0.01,0 -0.1,-0.01 -0.1,-0.02 -0.01,0 0,0 0,0.01 z m 13.96,-2.37 c 0.01,0.16 0.02,0.31 0.04,0.47 0.01,0.07 0.02,0.14 0.03,0.22 0,0.02 0.01,0.04 0.01,0.05 -0.34,-0.41 -0.76,-0.76 -1.26,-1.01 0.39,0 0.78,0 1.16,-0.01 0.01,0.1 0.01,0.19 0.02,0.28 z m -0.73,7.71 c -0.12,-0.23 -0.27,-0.43 -0.45,-0.62 0.13,-0.07 0.25,-0.15 0.37,-0.24 0.05,0.03 0.11,0.07 0.17,0.09 -0.03,0.26 -0.06,0.51 -0.09,0.77 z m 0.37,-4.03 c -0.18,1.22 -1.13,2.38 -2.4,2.55 -1.22,0.16 -2.55,-0.55 -3.03,-1.71 -0.25,-0.6 -0.25,-1.27 -0.07,-1.88 0.22,-0.2 0.45,-0.4 0.67,-0.61 0.29,-0.27 0.55,-0.56 0.87,-0.79 0.55,-0.39 1.21,-0.68 1.89,-0.56 1.36,0.23 2.26,1.67 2.07,3 z m -6.12,-3.91 c 0.69,0.02 1.38,0.03 2.07,0.02 -0.03,0.02 -0.07,0.02 -0.1,0.04 -0.44,0.25 -0.84,0.58 -1.21,0.93 -0.03,-0.01 -0.05,-0.03 -0.08,-0.04 -0.21,-0.07 -0.44,-0.06 -0.66,-0.07 -0.05,0 -0.1,0 -0.14,0 0.33,-0.13 0.53,-0.67 0.12,-0.88 z m -5.99,3.86 c 0.02,0.07 0.09,0.13 0.18,0.11 0.08,-0.02 0.16,-0.04 0.24,-0.06 -0.01,0.13 -0.01,0.26 -0.01,0.39 -0.15,0.06 -0.29,0.14 -0.43,0.22 0,-0.22 0.01,-0.44 0.02,-0.66 z m 1.04,-1.1 c 0.02,0 0.05,0 0.07,0 0,0.08 0,0.16 0,0.23 0,0.14 -0.01,0.28 -0.01,0.42 -0.03,0.01 -0.06,0.02 -0.09,0.03 -0.06,0.02 -0.13,0.03 -0.19,0.05 0.01,-0.24 0.02,-0.47 0.03,-0.71 0.06,-0.01 0.12,-0.02 0.19,-0.02 z m -0.18,4.07 c -0.06,0.01 -0.11,0.04 -0.16,0.05 0.01,-0.22 0.02,-0.44 0.02,-0.67 0.02,-0.01 0.05,-0.01 0.07,-0.02 0.08,-0.02 0.15,-0.05 0.23,-0.07 -0.01,0.23 -0.02,0.45 -0.02,0.68 -0.04,0.02 -0.09,0.02 -0.14,0.03 z m -0.5,-1.24 c 0,0.12 -0.01,0.25 -0.01,0.37 -0.15,0.05 -0.29,0.1 -0.44,0.15 l 0.02,-0.39 c 0.13,-0.06 0.28,-0.1 0.43,-0.13 z m 0.67,0.14 c -0.1,0.03 -0.2,0.06 -0.3,0.1 0,-0.12 0.01,-0.23 0.01,-0.35 0.1,-0.01 0.2,-0.02 0.29,-0.03 0.01,0.1 0.01,0.19 0,0.28 z m 0.03,-0.8 c 0,0.04 0,0.08 0,0.12 -0.1,0.01 -0.2,0.02 -0.29,0.03 0.01,-0.17 0.01,-0.35 0.02,-0.52 0.05,-0.01 0.09,-0.03 0.14,-0.04 0.05,-0.01 0.1,-0.01 0.16,-0.02 -0.02,0.14 -0.03,0.29 -0.03,0.43 z m -1.18,1.54 c 0.15,-0.04 0.3,-0.09 0.45,-0.13 -0.01,0.23 -0.02,0.46 -0.02,0.69 -0.16,0.07 -0.31,0.15 -0.46,0.24 z m 1.56,-2.8 c 0.04,-0.01 0.07,-0.02 0.11,-0.02 0.08,-0.02 0.16,-0.04 0.23,-0.06 0,0.16 0,0.32 0,0.48 -0.1,-0.06 -0.22,-0.06 -0.34,-0.05 0,-0.12 0,-0.23 0,-0.35 z m 0.35,-0.44 c -0.03,0 -0.07,0.01 -0.1,0.02 -0.08,0.02 -0.16,0.04 -0.23,0.06 0,0 -0.01,0 -0.01,0 0,-0.09 0,-0.18 0,-0.27 0,-0.1 0,-0.2 0.01,-0.3 0.05,0 0.11,-0.01 0.16,-0.02 0.07,-0.01 0.14,-0.02 0.2,-0.05 -0.02,0.18 -0.03,0.37 -0.03,0.56 z m -0.7,0.52 c 0,0.11 -0.01,0.22 -0.01,0.34 -0.09,0.02 -0.18,0.03 -0.27,0.06 -0.01,0 -0.01,0 -0.02,0.01 0,-0.11 0.01,-0.22 0.01,-0.33 0.1,-0.03 0.19,-0.06 0.29,-0.08 z m -1.14,1.14 c 0.02,0 0.04,0.01 0.07,-0.01 0.12,-0.07 0.24,-0.13 0.36,-0.18 -0.01,0.15 -0.01,0.31 -0.02,0.46 -0.15,0.04 -0.29,0.08 -0.43,0.13 0.01,-0.13 0.02,-0.27 0.02,-0.4 z m -0.12,2.68 c 0.05,0.04 0.12,0.07 0.2,0.02 0.08,-0.05 0.17,-0.09 0.26,-0.13 -0.01,0.19 -0.01,0.38 -0.02,0.57 -0.16,0.05 -0.32,0.1 -0.47,0.17 z m 0.86,-0.26 c 0.09,-0.03 0.19,-0.07 0.28,-0.09 0.01,0 0.02,0 0.03,-0.01 0,0.24 0.01,0.47 0.01,0.71 -0.12,0.01 -0.24,0.01 -0.35,0.03 0.01,-0.22 0.02,-0.43 0.03,-0.64 z m 0.88,-0.68 c -0.05,0.02 -0.09,0.07 -0.13,0.11 0,0 0,0 0,0 -0.01,0 -0.02,0 -0.04,0.01 0,-0.25 0.01,-0.49 0.01,-0.74 0.02,-0.01 0.05,-0.02 0.07,-0.02 0.1,-0.04 0.17,-0.06 0.21,-0.17 0.02,-0.07 -0.02,-0.14 -0.07,-0.17 -0.07,-0.05 -0.14,-0.04 -0.21,-0.02 0,-0.07 0,-0.14 0,-0.2 0.09,-0.01 0.16,-0.01 0.23,-0.07 0.06,-0.05 0.05,-0.14 0,-0.19 -0.06,-0.07 -0.14,-0.08 -0.23,-0.09 0,-0.05 0,-0.09 0,-0.14 0,-0.16 0.01,-0.32 0.01,-0.48 0.12,-0.01 0.25,-0.03 0.35,-0.1 -0.01,0.29 -0.01,0.59 -0.02,0.88 -0.01,0.3 -0.07,0.7 0.01,1.03 -0.11,0.08 -0.17,0.21 -0.19,0.36 z m 0.27,-4.2 c 0,0 0,0 0,0 -0.11,-0.06 -0.25,-0.04 -0.37,-0.03 0,-0.15 0,-0.3 0,-0.44 0.08,0 0.16,0 0.23,0 0.09,0 0.17,0.02 0.25,-0.03 -0.05,0.16 -0.09,0.33 -0.11,0.5 z m -0.72,-0.01 c -0.03,0 -0.05,0 -0.08,0.01 -0.06,0 -0.12,0.01 -0.18,0.01 0.01,-0.16 0,-0.31 0,-0.47 0.03,0 0.05,-0.01 0.08,-0.02 0.07,-0.01 0.13,0 0.2,0 -0.01,0.17 -0.02,0.32 -0.02,0.47 z m -0.66,0.06 c -0.07,0.01 -0.14,0.01 -0.21,0.02 -0.08,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 0.07,0 0.13,-0.01 0.2,-0.01 -0.01,0.26 -0.01,0.53 -0.02,0.79 -0.11,0.03 -0.22,0.06 -0.33,0.09 -0.05,0.01 -0.08,0.05 -0.1,0.09 0.01,-0.28 0.02,-0.55 0.03,-0.83 0.01,-0.26 0.03,-0.53 0.05,-0.8 0.14,-0.04 0.27,-0.05 0.41,-0.08 -0.01,0.12 -0.02,0.26 -0.03,0.41 z m -0.68,6.17 c 0.15,-0.08 0.31,-0.14 0.47,-0.19 -0.01,0.29 -0.02,0.58 -0.03,0.87 -0.16,0.06 -0.32,0.14 -0.46,0.23 0,-0.31 0.01,-0.61 0.02,-0.91 z m 0.87,-0.21 c 0,-0.03 0,-0.05 0,-0.08 0.01,0 0.03,-0.01 0.04,-0.01 0.09,-0.01 0.19,-0.01 0.29,-0.01 -0.01,0.12 -0.03,0.24 -0.04,0.35 -0.01,0.15 0,0.29 0,0.44 -0.11,0.02 -0.22,0.02 -0.32,0.05 0.01,-0.25 0.02,-0.49 0.03,-0.74 z m 2.31,-3.2 c 0,-0.36 0,-0.72 -0.01,-1.08 -0.01,-0.64 0.03,-1.31 -0.08,-1.95 0.66,0.03 1.32,0.02 1.97,0.03 0.32,0 0.63,0 0.94,0 -0.06,0.1 -0.12,0.19 -0.19,0.29 0,0 0,0 0,0 -0.05,0.03 -0.09,0.09 -0.07,0.15 0,0.01 0.01,0.01 0.01,0.01 -0.01,0.05 -0.01,0.1 0,0.15 -0.01,0.03 -0.01,0.07 -0.02,0.1 -0.15,0.02 -0.3,0.05 -0.44,0.07 -0.29,0.04 -0.58,0.08 -0.86,0.12 -0.17,0.02 -0.13,0.33 0.04,0.31 0.29,-0.04 0.58,-0.07 0.87,-0.11 0.1,-0.01 0.21,-0.02 0.31,-0.04 -0.08,0.36 -0.12,0.73 -0.08,1.1 0.02,0.18 0.07,0.36 0.11,0.53 -0.14,0.01 -0.27,0.02 -0.41,0.03 -0.34,0.02 -0.68,0.04 -1.01,0.06 -0.18,0.01 -0.18,0.28 0,0.28 0.34,-0.02 0.69,-0.03 1.03,-0.05 0.16,-0.01 0.32,-0.01 0.49,-0.02 0.07,0.2 0.16,0.39 0.27,0.57 -0.12,-0.01 -0.24,-0.02 -0.35,-0.04 -0.18,-0.03 -0.36,-0.02 -0.55,-0.03 -0.37,-0.02 -0.74,-0.03 -1.11,-0.05 -0.18,-0.01 -0.18,0.27 0,0.28 0.37,0.02 0.74,0.04 1.11,0.05 0.18,0.01 0.37,0.02 0.55,0.02 0.17,-0.01 0.33,0.01 0.49,-0.01 0.03,0.05 0.07,0.1 0.1,0.15 -0.21,-0.07 -0.45,-0.08 -0.68,-0.08 -0.38,0 -0.75,0.01 -1.13,0.01 -0.44,0 -0.88,0 -1.32,0.01 0.01,-0.1 0.01,-0.2 0.01,-0.3 0.01,-0.18 0.01,-0.37 0.01,-0.56 z m 4.06,3.66 c -0.02,-0.64 -0.05,-1.27 -0.08,-1.91 0.27,0.19 0.55,0.37 0.86,0.49 -0.19,0.22 -0.36,0.47 -0.48,0.74 -0.14,0.21 -0.23,0.44 -0.3,0.68 z m -5.12,-7.33 c 0,0.03 0.01,0.05 0.02,0.08 -0.06,-0.03 -0.13,-0.05 -0.2,-0.06 -0.09,-0.02 -0.18,-0.03 -0.27,-0.04 0,0 0,0 -0.01,0 -0.01,-0.11 -0.01,-0.23 -0.02,-0.34 0.13,-0.01 0.27,-0.02 0.4,-0.03 0.08,0 0.16,-0.01 0.23,-0.01 -0.1,0.11 -0.16,0.24 -0.15,0.4 z m -0.72,-0.01 c -0.09,0 -0.19,0 -0.28,0.01 -0.02,0 -0.03,0.01 -0.04,0.01 0,-0.11 0.01,-0.21 0,-0.32 0.12,-0.01 0.24,-0.02 0.36,-0.03 -0.02,0.1 -0.03,0.21 -0.04,0.33 z m -0.66,0.07 c -0.14,0.03 -0.29,0.07 -0.42,0.12 0,-0.15 -0.01,-0.29 -0.03,-0.44 0.16,-0.01 0.32,-0.02 0.48,-0.04 -0.02,0.12 -0.02,0.24 -0.03,0.36 z m -0.78,8.4 c 0.15,-0.11 0.31,-0.2 0.47,-0.28 0,0.15 -0.01,0.29 -0.01,0.44 0,0.05 0,0.1 0,0.16 -0.16,0 -0.32,0.01 -0.48,0.02 0,-0.12 0.01,-0.23 0.02,-0.34 z m 0.83,0.32 c 0,-0.04 0,-0.07 0.01,-0.11 0.01,-0.19 0.02,-0.39 0.03,-0.58 0,-0.01 0,-0.03 0,-0.04 0.04,-0.01 0.07,-0.03 0.11,-0.04 0.08,-0.02 0.16,-0.02 0.23,-0.03 0,0.01 0,0.03 0,0.04 0.01,0.15 0.02,0.3 0.03,0.45 0.01,0.12 0.03,0.22 0.06,0.32 -0.16,-0.01 -0.31,-0.01 -0.47,-0.01 z m 11.19,-0.06 c 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 z m 6.54,-0.09 c -0.02,0.01 -0.04,0.02 -0.07,0.03 -0.05,0 -0.1,0 -0.14,0 -0.01,-0.13 -0.01,-0.26 -0.02,-0.39 0,0 0,0 0,0 0.05,-0.03 0.09,-0.07 0.09,-0.14 0,-0.01 0,-0.03 -0.01,-0.04 -0.02,-0.05 -0.05,-0.08 -0.09,-0.1 -0.01,-0.28 -0.01,-0.56 -0.02,-0.83 0.09,-0.02 0.18,-0.04 0.28,-0.04 0.01,0 0.02,0 0.04,0 0,0.37 -0.01,0.75 -0.04,1.12 -0.01,0.14 -0.02,0.27 -0.02,0.39 z m -1.27,-5.63 c 0,0.13 0.01,0.26 0.01,0.39 -0.05,0.01 -0.09,0.01 -0.14,0.02 -0.03,0.01 -0.05,0.03 -0.06,0.05 0.02,-0.14 0.04,-0.27 0.05,-0.41 0,-0.01 0,-0.02 0,-0.04 0.05,0 0.1,0 0.14,-0.01 z m 1.33,2.62 c -0.07,0.01 -0.14,0.03 -0.21,0.04 -0.04,0.01 -0.09,0.02 -0.13,0.04 -0.01,-0.24 -0.01,-0.47 -0.02,-0.71 0.07,0 0.15,0 0.22,-0.02 0.04,-0.01 0.08,-0.01 0.13,-0.02 0.01,0.23 0.01,0.45 0.01,0.67 z m -0.63,2.4 c -0.03,0.01 -0.05,0.01 -0.08,0.02 -0.02,0 -0.04,0.01 -0.06,0.01 0.02,-0.25 0.01,-0.49 -0.01,-0.73 0.04,-0.02 0.08,-0.03 0.12,-0.04 0.02,0.24 0.03,0.49 0.03,0.74 z m -0.37,-3.39 c -0.01,-0.31 -0.01,-0.63 -0.02,-0.94 0.09,-0.01 0.18,-0.04 0.27,-0.04 0.01,0.21 0.01,0.42 0.02,0.63 0,0.12 0.01,0.24 0.01,0.36 l -0.28,0.02 c 0,-0.02 0,-0.02 0,-0.03 z m 0.29,0.38 c 0.01,0.26 0.01,0.52 0.02,0.78 -0.1,0.03 -0.2,0.06 -0.31,0.08 0.01,-0.28 0.01,-0.56 0,-0.84 0.1,-0.01 0.2,-0.01 0.29,-0.02 z m -0.28,1.25 c 0.1,-0.03 0.21,-0.05 0.31,-0.08 0.01,0.23 0.01,0.46 0.02,0.69 -0.05,0.02 -0.1,0.04 -0.15,0.06 -0.03,-0.23 -0.11,-0.45 -0.18,-0.67 z m 0.24,-2.94 c -0.09,0 -0.18,0.03 -0.27,0.04 0,-0.13 0,-0.26 -0.01,-0.4 0.06,-0.01 0.11,-0.02 0.17,-0.02 0.03,0 0.07,-0.01 0.1,-0.01 0,0.12 0,0.25 0.01,0.39 z m -0.92,0.93 c 0.07,-0.17 0.09,-0.36 0.11,-0.54 0,-0.02 0,-0.04 0.01,-0.06 0.03,0.06 0.09,0.11 0.18,0.08 0.02,-0.01 0.04,0 0.06,-0.01 0.01,0.3 0.01,0.6 0.02,0.9 0,0.01 0,0.03 0,0.04 l -0.32,0.02 c 0,-0.02 0,-0.04 0,-0.05 -0.01,-0.1 -0.06,-0.2 -0.12,-0.28 0.02,-0.03 0.05,-0.06 0.06,-0.1 z m 0.38,0.79 c 0,0.15 0,0.3 0.01,0.45 -0.03,-0.05 -0.05,-0.11 -0.08,-0.16 -0.07,-0.1 -0.15,-0.18 -0.23,-0.27 0.09,0 0.2,-0.01 0.3,-0.02 z m 0.5,3.58 c 0.01,-0.09 0.01,-0.18 0.01,-0.26 0.05,-0.01 0.1,-0.01 0.15,-0.02 h 0.01 c 0,0.11 0,0.22 0,0.33 -0.06,0 -0.12,0 -0.18,0 0,-0.02 0.01,-0.04 0.01,-0.05 z m 0.47,-1.85 c 0,-0.23 -0.01,-0.46 -0.01,-0.68 0.07,-0.02 0.15,-0.04 0.22,-0.06 0.04,-0.01 0.08,-0.03 0.11,-0.04 0,0.24 0.01,0.49 0.01,0.73 -0.02,0 -0.05,0 -0.07,0.01 -0.09,0.01 -0.17,0.03 -0.26,0.04 z m 0.31,-2.37 c 0,0.07 0,0.14 0,0.21 -0.06,0 -0.12,-0.01 -0.17,-0.01 -0.06,0 -0.12,0.01 -0.18,0.01 0,-0.11 0,-0.23 -0.01,-0.34 0,-0.21 -0.01,-0.42 -0.01,-0.63 0.04,0 0.08,0 0.12,0.01 0.03,0 0.06,0.01 0.08,0.01 0.05,0.01 0.08,0 0.13,0 0,0 0,0 0.01,0 0,0.25 0.02,0.49 0.03,0.74 z m -0.2,-1.06 c -0.06,-0.01 -0.13,-0.01 -0.19,-0.02 0,-0.15 -0.01,-0.31 -0.01,-0.46 0.1,-0.02 0.2,-0.03 0.27,-0.1 0.03,-0.02 0.04,-0.06 0.03,-0.1 0.01,0.24 0.03,0.48 0.04,0.72 -0.04,-0.02 -0.08,-0.03 -0.14,-0.04 z m 0.06,-1.43 c 0.02,0.25 0.02,0.5 0.04,0.75 0,-0.04 -0.02,-0.07 -0.06,-0.09 -0.08,-0.03 -0.16,-0.03 -0.25,-0.02 -0.01,-0.33 -0.01,-0.66 -0.02,-0.99 0.09,0 0.17,0 0.26,0 0.01,0.12 0.03,0.24 0.03,0.35 z m -0.62,0.7 c -0.05,0.01 -0.11,0.02 -0.16,0.03 -0.04,0.01 -0.07,0.01 -0.11,0.02 -0.01,-0.33 -0.02,-0.66 -0.02,-0.99 0.09,-0.02 0.17,-0.07 0.26,-0.08 0.01,0.33 0.02,0.67 0.03,1.02 z m -0.56,0.09 c -0.04,0.01 -0.08,0.01 -0.13,0.02 0.02,-0.27 0.03,-0.54 0.03,-0.81 0,-0.04 -0.01,-0.09 -0.01,-0.13 0.03,-0.01 0.07,-0.02 0.1,-0.03 0,0.31 0,0.63 0.01,0.95 z m 1.11,-1.53 c -0.08,-0.01 -0.16,-0.03 -0.24,-0.02 -0.01,-0.17 -0.02,-0.34 -0.02,-0.51 0.07,0.01 0.14,0.02 0.21,0.03 0.02,0.16 0.03,0.33 0.05,0.5 z m -0.58,0.01 c -0.03,0 -0.06,0 -0.09,0.01 -0.06,0.01 -0.12,0.03 -0.18,0.05 -0.01,-0.23 -0.01,-0.45 -0.02,-0.68 0.07,0.01 0.14,0.02 0.2,0.03 0.03,0 0.05,0.01 0.08,0.01 0.01,0.19 0.01,0.38 0.01,0.58 z m -0.55,0.13 c -0.04,0.01 -0.08,0.04 -0.12,0.05 -0.01,-0.2 -0.02,-0.41 -0.05,-0.61 -0.01,-0.08 -0.03,-0.17 -0.05,-0.27 0.07,0.01 0.14,0.02 0.21,0.03 0,0.27 0.01,0.53 0.01,0.8 z m 1.02,-1.96 c -0.01,0.33 0.02,0.66 0.04,0.99 -0.05,-0.01 -0.1,-0.01 -0.14,-0.02 -0.02,0 -0.04,-0.01 -0.07,-0.01 -0.01,-0.32 -0.02,-0.64 -0.04,-0.96 0.08,0 0.14,0 0.21,0 z m -0.48,0.92 c 0,0 0,0 0,0 -0.1,-0.01 -0.19,-0.03 -0.29,-0.04 -0.01,-0.29 -0.01,-0.58 -0.02,-0.86 0,0 0.01,0 0.01,0 0.1,-0.01 0.19,0 0.29,0 0.01,0.29 0.01,0.6 0.01,0.9 z m -0.57,-0.87 c 0,0.26 0.01,0.53 0.01,0.79 -0.07,-0.01 -0.15,-0.02 -0.22,-0.03 -0.01,0 -0.01,0 -0.02,0 0.14,-0.13 0.24,-0.3 0.23,-0.49 0,-0.09 -0.03,-0.17 -0.06,-0.26 0.02,0 0.04,0 0.06,-0.01 z m -1.58,1.03 c 0.03,0 0.07,0 0.1,0 0,0.14 0,0.29 0.01,0.42 0.02,0.36 0.05,0.71 0.04,1.07 0,0.36 -0.03,0.71 -0.06,1.07 -0.02,0.21 -0.03,0.28 -0.05,0.44 -0.03,0.22 -0.09,0.43 -0.09,0.65 0,0.02 0.01,0.03 0.01,0.05 -0.15,0.02 -0.3,0.04 -0.45,0.05 -0.37,0.04 -0.74,0.07 -1.11,0.11 -0.35,0.03 -0.7,0.07 -1.05,0.1 0.01,-0.01 0.01,-0.02 0.02,-0.03 l 0.81,-0.1 0.43,-0.05 c 0.14,-0.02 0.36,-0.02 0.44,-0.15 0.03,-0.05 0.02,-0.13 -0.02,-0.17 -0.11,-0.11 -0.33,-0.05 -0.47,-0.03 -0.14,0.02 -0.29,0.05 -0.43,0.07 -0.19,0.03 -0.38,0.06 -0.57,0.09 0.09,-0.17 0.17,-0.35 0.24,-0.53 0.17,-0.01 0.34,-0.03 0.5,-0.04 0.11,-0.01 0.22,-0.02 0.33,-0.03 0.12,-0.01 0.24,-0.01 0.35,-0.07 0.08,-0.04 0.06,-0.17 -0.03,-0.19 -0.11,-0.03 -0.22,-0.01 -0.33,-0.01 -0.11,0.01 -0.22,0.01 -0.33,0.02 -0.13,0.01 -0.26,0.02 -0.39,0.03 0.01,-0.02 0.01,-0.04 0.02,-0.05 0.07,-0.26 0.11,-0.51 0.14,-0.77 0.25,-0.02 0.51,-0.05 0.76,-0.07 0.16,-0.01 0.31,-0.04 0.47,-0.06 0.15,-0.02 0.35,-0.02 0.46,-0.13 0.04,-0.04 0.03,-0.12 -0.02,-0.14 -0.14,-0.08 -0.33,-0.03 -0.48,-0.02 -0.16,0.02 -0.32,0.03 -0.47,0.05 l -0.72,0.1 c 0.01,-0.31 -0.02,-0.61 -0.08,-0.91 0.09,0 0.17,-0.01 0.26,-0.01 0.14,-0.01 0.28,-0.01 0.41,-0.02 0.06,0 0.13,-0.01 0.19,-0.02 0.08,-0.01 0.14,-0.04 0.22,-0.06 0.12,-0.03 0.08,-0.19 -0.03,-0.21 -0.07,-0.01 -0.14,-0.03 -0.21,-0.03 -0.07,0 -0.14,0.01 -0.21,0.01 -0.13,0.01 -0.27,0.02 -0.4,0.03 -0.1,0.01 -0.2,0.02 -0.31,0.02 -0.04,-0.14 -0.09,-0.28 -0.14,-0.42 0.41,0.01 0.83,0 1.24,-0.01 0.36,-0.02 0.68,-0.03 1,-0.05 z m -16.67,-2.68 c 1.2,0.19 2.41,0.36 3.62,0.47 0.12,0.01 0.24,0.02 0.37,0.03 -0.3,0.01 -0.61,0.02 -0.91,0.05 -1.07,0.1 -2.2,0.19 -3.28,0.42 0.07,-0.34 0.14,-0.65 0.2,-0.97 z m -0.93,4.56 h 0.13 c 0,0 0,0 0.01,0.01 0.1,0.02 0.19,0.04 0.29,0.06 0.05,0.01 0.09,0.02 0.14,0.03 0.02,0.01 0.05,0.01 0.07,0.01 0.03,0 0.05,0.01 0.08,0 0.02,-0.01 0.04,-0.02 0.05,-0.02 0.03,-0.02 0.05,-0.05 0.05,-0.08 0,-0.04 -0.01,-0.06 -0.03,-0.09 -0.03,-0.03 -0.05,-0.05 -0.1,-0.06 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.01,-0.02 -0.01,-0.04 -0.03,-0.05 -0.05,-0.03 -0.11,-0.04 -0.17,-0.04 -0.06,-0.01 -0.13,-0.02 -0.19,-0.02 -0.04,0 -0.09,0 -0.13,0 0.04,-0.21 0.09,-0.43 0.13,-0.64 0.09,0.01 0.19,0.02 0.29,0.01 0.03,0 0.06,0 0.1,0 0.05,0 0.08,-0.01 0.13,-0.03 0.01,0 0.01,0 0.02,-0.01 0.01,-0.01 0.01,0 -0.01,0.01 0,0 0.09,-0.02 0.1,-0.02 0.05,-0.01 0.09,-0.03 0.12,-0.06 0.02,-0.01 0.02,-0.04 0.03,-0.06 0,0.05 0,0.1 -0.01,0.14 -0.04,0.59 -0.08,1.17 -0.12,1.76 -0.1,-0.04 -0.22,-0.06 -0.32,-0.06 -0.15,0 -0.31,0.02 -0.46,0.06 -0.08,0.02 -0.15,0.06 -0.23,0.09 0.06,-0.32 0.12,-0.62 0.18,-0.92 z m -0.44,2.25 c 0.06,-0.01 0.12,-0.01 0.19,-0.03 l 0.19,-0.03 c 0.03,-0.01 0.06,-0.01 0.1,-0.02 0.05,-0.01 0.08,-0.03 0.12,-0.07 0.06,-0.05 0.04,-0.16 -0.02,-0.19 -0.05,-0.02 -0.09,-0.04 -0.14,-0.03 -0.03,0 -0.07,0.01 -0.1,0.01 -0.06,0.01 -0.13,0.01 -0.19,0.02 -0.03,0 -0.05,0.01 -0.07,0.01 0.04,-0.22 0.08,-0.43 0.13,-0.65 0.13,-0.04 0.25,-0.11 0.38,-0.13 0.12,-0.02 0.25,-0.03 0.38,-0.04 0.06,0 0.12,-0.01 0.19,-0.01 0.04,0 0.07,0 0.11,-0.01 -0.01,0.23 -0.03,0.46 -0.05,0.69 -0.03,0.58 -0.07,1.16 -0.1,1.73 -0.03,0 -0.06,-0.01 -0.09,-0.01 -0.09,-0.01 -0.18,-0.01 -0.27,-0.01 -0.17,0 -0.33,0 -0.5,0 -0.16,0 -0.32,0 -0.49,0.01 0.06,-0.41 0.14,-0.82 0.23,-1.24 z m -1.03,5.23 c 0.22,0.02 0.43,0.05 0.65,0.06 0.04,0 0.08,-0.02 0.1,-0.06 0.02,-0.03 0.02,-0.06 0.01,-0.09 -0.01,-0.04 -0.04,-0.08 -0.08,-0.08 -0.21,-0.03 -0.42,-0.05 -0.63,-0.07 0.06,-0.33 0.13,-0.66 0.2,-1 0.24,-0.01 0.48,-0.02 0.71,-0.03 0.16,-0.01 0.31,-0.02 0.47,-0.03 0.16,-0.01 0.31,-0.01 0.46,-0.07 0.04,-0.01 0.06,-0.05 0.06,-0.09 -0.03,0.4 -0.06,0.8 -0.05,1.19 0.02,0.65 0.62,0.82 1.04,0.58 0.66,0.08 1.38,0.02 2.01,0.02 0.91,0 1.83,0 2.74,-0.01 1.43,-0.02 2.86,-0.03 4.3,-0.04 0.34,0.17 0.72,0.26 1.11,0.24 0.35,-0.02 0.68,-0.12 0.98,-0.26 1.4,-0.01 2.8,-0.03 4.19,-0.04 1.82,-0.02 3.67,0.04 5.49,-0.05 0.83,-0.04 0.83,-1.26 0,-1.29 -0.15,-0.01 -0.3,0 -0.44,0 0.01,-0.14 0,-0.28 0,-0.44 -0.01,-0.45 0,-0.89 0,-1.34 0,-0.86 -0.02,-1.73 -0.05,-2.59 -0.01,-0.24 -0.03,-0.47 -0.05,-0.71 0.03,0.03 0.06,0.05 0.11,0.05 h 0.39 c 0.06,0 0.13,-0.01 0.19,-0.01 0.08,-0.01 0.17,0 0.24,-0.05 0.08,-0.06 0.08,-0.16 0,-0.22 -0.07,-0.05 -0.15,-0.04 -0.23,-0.05 -0.07,-0.01 -0.13,-0.01 -0.2,-0.01 h -0.39 c -0.05,0 -0.09,0.02 -0.12,0.06 -0.03,-0.54 -0.06,-1.09 -0.1,-1.63 -0.08,-0.87 -0.12,-1.78 -0.36,-2.62 -0.14,-0.48 -0.73,-0.47 -0.95,-0.13 -0.01,0 -0.01,0 -0.02,0 -0.09,0 -0.19,0.01 -0.28,0.01 0,-0.02 0,-0.05 0,-0.07 -0.01,-0.17 -0.26,-0.17 -0.26,0 0,0.03 0,0.06 0,0.09 -0.11,0.01 -0.21,0 -0.32,0.02 -0.18,0.02 -0.35,0.06 -0.53,0.09 -0.06,-0.05 -0.14,-0.09 -0.22,-0.1 -0.36,-0.06 -0.72,0.01 -1.08,0.04 -0.26,0.02 -0.52,0.06 -0.78,0.09 0.35,-0.08 0.7,-0.15 1.06,-0.16 0.19,-0.01 0.39,-0.01 0.58,-0.01 0.21,0.01 0.42,0.05 0.62,0.01 0.13,-0.03 0.17,-0.24 0.04,-0.3 -0.19,-0.09 -0.41,-0.09 -0.62,-0.1 -0.22,-0.01 -0.43,0 -0.65,0.02 -0.42,0.04 -0.84,0.13 -1.25,0.26 -0.18,0.06 -0.12,0.32 0.06,0.3 -0.02,0 -0.05,0.01 -0.07,0.01 -0.23,0.03 -0.46,0.06 -0.69,0.09 0,-0.04 -0.01,-0.08 -0.01,-0.12 -0.02,-0.2 -0.05,-0.4 -0.09,-0.6 -0.02,-0.12 -0.04,-0.24 -0.06,-0.36 0.35,-0.04 0.69,-0.08 1.04,-0.12 0.05,0.11 0.14,0.2 0.29,0.23 1.34,0.29 2.75,0.35 4.12,0.36 0.69,0.01 1.39,-0.02 2.08,-0.07 0.64,-0.05 1.36,-0.22 2,-0.06 0.07,0.02 0.13,0 0.19,0 0.12,0.45 0.25,0.9 0.38,1.35 -0.07,-0.05 -0.16,-0.08 -0.25,-0.09 -0.11,-0.02 -0.21,-0.03 -0.32,-0.02 -0.21,0 -0.43,0.04 -0.62,0.12 -0.07,0.03 -0.12,0.1 -0.1,0.18 0.02,0.07 0.1,0.13 0.18,0.1 0.18,-0.06 0.37,-0.1 0.56,-0.1 0.09,0 0.18,0.01 0.27,0.03 0.05,0.01 0.1,0.02 0.14,0.03 0.06,0.01 0.1,0 0.16,0.01 0.02,0 0.03,-0.02 0.04,-0.03 0.06,0.23 0.13,0.46 0.19,0.69 v 0 c -0.04,-0.02 -0.08,-0.04 -0.12,-0.06 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0 -0.06,0 -0.02,0 -0.04,0.01 -0.05,0.03 -0.02,0.01 -0.03,0.03 -0.04,0.04 -0.02,0.04 -0.03,0.08 -0.02,0.12 0.01,0.04 0.04,0.07 0.07,0.09 0.04,0.02 0.08,0.05 0.12,0.07 0.02,0.01 0.04,0.02 0.06,0.03 0.02,0.01 0.03,0.02 0.05,0.02 0.04,0.01 0.09,0.01 0.13,-0.02 0,0 0.01,-0.01 0.01,-0.01 0.04,0.16 0.08,0.32 0.13,0.48 -0.22,0.02 -0.45,0.05 -0.67,0.07 -0.53,0.06 -1.07,0.11 -1.6,0.17 -0.18,0.02 -0.18,0.3 0,0.29 l 1.63,-0.17 c 0.24,-0.02 0.48,-0.05 0.72,-0.07 0.42,1.54 0.82,3.09 1.24,4.63 -0.78,0.02 -1.55,0.11 -2.3,0.29 -0.14,0.03 -0.08,0.24 0.06,0.21 0.77,-0.16 1.54,-0.21 2.32,-0.21 0.3,1.11 0.6,2.22 0.89,3.34 0,0 0,0 0,0 -0.74,0.31 -1.44,0.68 -2.09,1.14 -0.33,0.24 -0.66,0.49 -0.98,0.74 -0.25,0.19 -0.46,0.4 -0.66,0.63 -0.48,0.36 -0.93,0.75 -1.34,1.13 -1.17,1.07 -2.24,2.37 -2.95,3.8 -0.81,1.64 -0.88,3.29 -0.24,4.99 0.53,1.4 1.63,3.21 0.91,4.73 -0.67,0.08 -1.34,0.14 -2.02,0.16 -0.45,0.01 -0.9,-0.01 -1.35,-0.02 -0.06,0 -0.16,0 -0.27,0 -0.01,-1.08 -0.12,-2.19 -0.42,-3.24 0.03,-0.03 0.07,-0.05 0.08,-0.09 0.38,-0.86 -0.43,-1.81 -1.17,-2.18 -0.94,-0.48 -2.07,-0.48 -3.11,-0.49 -0.79,-0.01 -1.61,0.07 -2.37,0.32 0,0 0,0 0,-0.01 -0.11,-0.03 -0.23,-0.02 -0.35,-0.04 -0.1,-0.02 -0.19,-0.02 -0.29,-0.02 -0.22,-0.01 -0.44,-0.01 -0.66,-0.01 -0.44,0 -0.88,0 -1.33,0 -0.19,0 -0.19,0.29 0,0.29 0.44,0 0.88,0 1.33,0 0.22,0 0.44,0 0.66,-0.01 0.04,0 0.08,-0.01 0.12,-0.01 -0.02,0.01 -0.04,0.01 -0.05,0.02 -0.34,0.16 -0.7,0.4 -1,0.7 -0.05,0.01 -0.09,0.03 -0.13,0.07 -0.57,0.7 -0.72,1.78 -0.8,2.65 -0.05,0.46 -0.05,0.93 -0.02,1.4 0.02,0.23 0.03,0.47 0.06,0.71 -0.52,0.03 -1.04,0.06 -1.56,0.09 -0.36,0.02 -0.72,0.05 -1.08,0.08 -0.16,0.01 -0.32,0.03 -0.48,0.06 0.03,-0.43 -0.13,-0.85 -0.13,-1.29 0,-0.39 0.06,-0.77 0.14,-1.14 0.17,-0.85 0.41,-1.68 0.52,-2.54 0.22,-1.59 -0.09,-3.18 -0.78,-4.62 -0.53,-1.11 -1.3,-2.07 -2.21,-2.89 0.5,0.02 1,0.03 1.5,0.04 0.3,0.01 0.61,0.01 0.91,0 0.27,-0.01 0.55,0.01 0.82,-0.03 0.07,0.06 0.14,0.12 0.21,0.18 0.2,0.19 0.4,0.39 0.59,0.6 0.38,0.41 0.72,0.85 1.02,1.33 0.3,0.48 0.53,0.98 0.77,1.49 0.12,0.24 0.2,0.5 0.28,0.76 0.08,0.27 0.1,0.6 0.33,0.8 0.09,0.07 0.19,0.08 0.29,0.05 0.04,0.02 0.06,0.05 0.11,0.06 1.02,0.13 2.04,0.2 3.07,0.22 0.51,0.01 1.02,0.03 1.53,0.04 0.5,0.01 1.08,0.11 1.58,0 0.48,-0.11 0.53,-0.72 0.22,-1.01 0,-0.04 0.01,-0.07 0.01,-0.11 0.03,-0.3 0.09,-0.6 0.17,-0.88 0.16,-0.57 0.43,-1.09 0.72,-1.61 0.11,-0.2 0.24,-0.38 0.36,-0.57 0.01,0.07 0.05,0.14 0.14,0.14 0.28,-0.01 0.55,-0.01 0.83,-0.02 0.27,-0.01 0.55,-0.03 0.82,-0.1 0.07,-0.02 0.07,-0.13 0,-0.15 -0.27,-0.06 -0.55,-0.07 -0.82,-0.06 -0.28,0.01 -0.55,0.01 -0.83,0.02 -0.02,0 -0.03,0.02 -0.05,0.02 0.17,-0.25 0.36,-0.48 0.57,-0.71 0.21,-0.23 0.43,-0.44 0.67,-0.64 0.15,-0.12 0.3,-0.23 0.45,-0.35 0.04,-0.04 0.1,-0.06 0.13,-0.11 0.05,-0.04 0.1,-0.08 0.14,-0.12 0.24,-0.25 0.14,-0.65 -0.12,-0.8 0.35,0 0.7,0.01 1.06,0.01 0.2,0 0.41,0.01 0.61,0 0.19,-0.01 0.4,0 0.59,-0.06 0.1,-0.03 0.1,-0.17 0,-0.2 -0.19,-0.05 -0.4,-0.04 -0.59,-0.06 -0.2,-0.01 -0.41,0 -0.61,0 -0.41,0 -0.81,0.01 -1.22,0.01 -0.13,0 -0.17,0.15 -0.11,0.23 -0.02,0 -0.04,0 -0.06,0.01 -0.03,-0.01 -0.04,-0.04 -0.07,-0.05 -0.54,-0.16 -1.09,-0.12 -1.64,-0.11 -0.52,0 -1.04,0 -1.56,0 -1.11,0 -2.21,0 -3.32,0.01 -1.07,0.01 -2.15,0.01 -3.22,0.03 -1.02,0.02 -2.25,-0.12 -3.19,0.31 -0.15,0.07 -0.23,0.23 -0.24,0.4 -0.1,0.15 -0.14,0.35 -0.04,0.54 0.06,0.11 0.15,0.2 0.25,0.29 -0.22,-0.03 -0.44,-0.03 -0.66,-0.06 -0.3,-0.03 -0.61,-0.05 -0.91,-0.06 -0.61,-0.02 -1.22,-0.04 -1.82,-0.05 -0.01,0 -0.02,0.01 -0.03,0.01 -0.14,-0.11 -0.26,-0.23 -0.41,-0.34 -0.43,-0.33 -0.9,-0.6 -1.37,-0.85 0.3,0.01 0.61,0.02 0.91,0.02 0.23,0 0.45,0 0.68,-0.01 0.22,-0.02 0.46,-0.03 0.68,-0.07 0.11,-0.02 0.11,-0.19 0,-0.21 -0.22,-0.04 -0.46,-0.06 -0.68,-0.07 -0.23,-0.02 -0.45,-0.01 -0.68,-0.01 -0.46,0 -0.92,0.02 -1.38,0.03 -0.04,0 -0.08,0.02 -0.1,0.04 -0.03,-0.02 -0.06,-0.03 -0.1,-0.05 -0.52,-0.23 -1.2,-0.58 -1.81,-0.6 0.04,-0.21 0.08,-0.42 0.12,-0.63 0.02,-0.12 0.05,-0.24 0.07,-0.36 0.23,0.02 0.47,0.05 0.7,0.07 0.21,0.02 0.42,0.04 0.64,0.06 0.21,0.02 0.41,0.04 0.61,0.01 0.1,-0.02 0.08,-0.16 0,-0.19 -0.2,-0.07 -0.41,-0.08 -0.61,-0.1 -0.21,-0.02 -0.42,-0.04 -0.64,-0.05 -0.22,-0.02 -0.43,-0.03 -0.65,-0.05 0.04,-0.19 0.08,-0.38 0.11,-0.58 0.13,0 0.26,0 0.39,0 0.18,0 0.37,-0.01 0.55,-0.01 0.17,0 0.37,0.01 0.53,-0.07 0.05,-0.03 0.05,-0.11 0,-0.14 -0.15,-0.07 -0.34,-0.06 -0.51,-0.06 -0.19,0 -0.38,0.01 -0.57,0.01 -0.11,0 -0.23,0.01 -0.34,0.01 0.03,-0.32 0.09,-0.62 0.15,-0.92 z m 34.26,15.98 c -0.06,-0.02 -0.12,-0.03 -0.17,-0.04 -0.14,-0.02 -0.29,-0.02 -0.44,0 -0.19,0.02 -0.37,0.07 -0.54,0.13 -0.04,-0.15 -0.08,-0.31 -0.13,-0.46 0.21,-0.04 0.42,-0.09 0.63,-0.11 0.17,-0.01 0.34,-0.01 0.51,-0.01 0.05,0.15 0.1,0.32 0.14,0.49 z m -0.59,0.31 c 0.12,0 0.24,0 0.36,0.02 0.1,0.02 0.22,0.04 0.33,0.02 0.07,0.25 0.14,0.5 0.21,0.76 -0.1,-0.04 -0.2,-0.05 -0.31,-0.06 -0.13,-0.01 -0.25,0 -0.38,0.01 -0.16,0.02 -0.31,0.08 -0.46,0.13 -0.07,-0.26 -0.14,-0.52 -0.21,-0.79 0.14,-0.05 0.3,-0.08 0.46,-0.09 z m 1.52,3.07 c 0.03,0.1 0.06,0.2 0.08,0.3 -0.07,0.01 -0.14,0.02 -0.21,0.03 -0.01,0 -0.01,0 0.01,0 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.04,0.01 -0.07,0.01 -0.04,0.01 -0.08,0.01 -0.11,0.02 -0.08,0.01 -0.17,0.02 -0.25,0.03 -0.09,0.01 -0.18,0.07 -0.18,0.18 0,0.09 0.08,0.18 0.18,0.18 0.17,-0.01 0.33,-0.02 0.5,-0.02 0.04,0 0.08,0 0.12,0 0,0.01 0,0.03 -0.01,0.04 -0.01,0.09 0.1,0.18 0.19,0.15 0.01,0 0.02,-0.01 0.03,-0.02 0.02,0.07 0.04,0.14 0.06,0.21 -0.05,0.01 -0.1,0.02 -0.15,0.03 -0.03,0.01 -0.06,0.01 -0.1,0.02 -0.01,0 -0.05,0.01 -0.05,0.01 -0.06,0.01 -0.12,0.01 -0.18,0.01 -0.24,0.01 -0.46,-0.01 -0.69,-0.06 0,0 -0.01,0 -0.01,0 -0.1,-0.38 -0.21,-0.76 -0.31,-1.14 0.18,0 0.35,0.01 0.53,0.01 0.2,0.01 0.4,0.01 0.6,0.01 0,0 0.03,0 0.05,0 z m -0.49,1.84 c -0.05,0.04 -0.1,0.08 -0.15,0.11 -0.04,-0.13 -0.07,-0.27 -0.11,-0.4 0.16,0.04 0.33,0.08 0.49,0.09 -0.08,0.07 -0.15,0.14 -0.23,0.2 z m 0.63,0.56 c 0.01,-0.01 0.02,-0.02 0.02,-0.02 0.03,-0.02 0.06,-0.02 0.09,-0.04 0.05,-0.03 0.1,-0.07 0.15,-0.11 0.08,-0.06 0.09,-0.21 0.04,-0.29 -0.06,-0.09 -0.16,-0.13 -0.27,-0.11 -0.02,0 -0.05,0.01 -0.07,0.01 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.06,-0.03 0.12,-0.05 0.18,-0.07 0.04,-0.02 0.08,-0.04 0.12,-0.06 0.07,0.25 0.14,0.5 0.2,0.74 -0.03,-0.01 -0.05,-0.03 -0.08,-0.03 -0.14,0 -0.28,0.03 -0.42,0.07 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 z m -0.8,-2.86 c -0.21,0.01 -0.43,0.01 -0.64,0.01 -0.05,-0.2 -0.11,-0.39 -0.16,-0.59 0.16,-0.03 0.33,-0.06 0.49,-0.04 0.03,0 0.05,0 0.08,0.01 0.03,0 0.03,0 0.02,0 0.02,0 0.04,0.01 0.06,0.01 0.02,0 0.04,0.01 0.06,0.01 0.03,0 0.03,0 0.02,0 0.03,0 0.05,0.01 0.08,0.01 0.06,0.01 0.12,0.03 0.18,0.04 0.04,0.01 0.08,0.02 0.11,0.02 0.03,0 0.06,0 0.08,-0.01 -0.02,0 -0.01,-0.01 0.01,-0.01 0,0 0,-0.01 0.01,-0.01 0.05,0.18 0.1,0.36 0.15,0.54 -0.2,0 -0.37,0.01 -0.55,0.01 z m 0.07,-1.03 c -0.12,-0.02 -0.24,-0.02 -0.37,-0.01 -0.21,0.02 -0.41,0.05 -0.61,0.1 -0.04,-0.14 -0.07,-0.27 -0.11,-0.41 0.13,-0.04 0.26,-0.09 0.38,-0.1 0.12,-0.01 0.24,-0.01 0.35,0 0.13,0.01 0.23,0.03 0.37,0 0.02,0 0.01,-0.02 0.03,-0.03 0.04,0.16 0.09,0.32 0.13,0.48 -0.04,-0.02 -0.1,-0.03 -0.17,-0.03 z m -1.71,-2.64 c -0.05,-0.19 -0.1,-0.38 -0.16,-0.58 0.26,0.01 0.53,0.02 0.79,0.03 0.13,0 0.25,0.01 0.38,0.01 0.03,0.13 0.07,0.25 0.1,0.38 -0.37,0.01 -0.74,0.07 -1.11,0.16 z m 0.64,-0.92 c -0.29,0.01 -0.59,0.02 -0.88,0.03 -0.03,-0.12 -0.06,-0.23 -0.09,-0.35 0.1,-0.01 0.21,-0.02 0.31,-0.02 0.09,-0.01 0.18,-0.01 0.27,-0.02 0.1,-0.01 0.21,-0.01 0.3,-0.04 0.08,-0.03 0.13,-0.1 0.12,-0.18 -0.01,-0.09 -0.08,-0.14 -0.17,-0.15 -0.09,-0.01 -0.18,0 -0.27,0.01 -0.09,0.01 -0.18,0.02 -0.27,0.03 -0.13,0.02 -0.26,0.03 -0.39,0.05 -0.08,-0.28 -0.15,-0.57 -0.23,-0.85 0.16,0.04 0.33,0.07 0.49,0.11 0.13,0.03 0.25,0.05 0.38,0.07 0.07,0.01 0.16,0.03 0.23,0.04 0.03,0 0.07,-0.01 0.11,-0.02 0.12,0.43 0.23,0.86 0.35,1.29 -0.08,-0.01 -0.17,-0.01 -0.26,0 z m -0.51,-2.9 c 0.03,0.13 0.07,0.25 0.1,0.38 -0.03,-0.01 -0.06,-0.03 -0.09,-0.04 l -0.24,-0.11 c -0.16,-0.07 -0.33,-0.14 -0.49,-0.22 -0.02,-0.01 -0.04,0 -0.06,-0.01 0.15,-0.03 0.3,-0.05 0.45,-0.08 0.04,-0.01 0.09,-0.01 0.14,-0.02 0.02,0.04 0.06,0.08 0.1,0.09 0.03,0.02 0.06,0.01 0.09,0.01 z m -0.44,-0.47 c -0.17,0.04 -0.35,0.07 -0.52,0.11 -0.1,0.02 -0.17,0.15 -0.14,0.24 0.03,0.1 0.12,0.14 0.21,0.13 -0.03,0.01 -0.07,0.03 -0.09,0.07 -0.04,0.08 -0.03,0.22 0.07,0.26 0.17,0.07 0.33,0.15 0.5,0.22 0.08,0.04 0.17,0.07 0.25,0.11 0.05,0.02 0.1,0.05 0.15,0.06 0.04,0.01 0.09,0.02 0.13,0.03 0.03,0.01 0.06,0 0.08,-0.01 0.04,0.15 0.08,0.3 0.12,0.46 -0.04,-0.01 -0.08,-0.03 -0.12,-0.04 -0.13,-0.03 -0.25,-0.07 -0.38,-0.09 -0.25,-0.05 -0.49,-0.1 -0.74,-0.15 -0.02,-0.09 -0.05,-0.19 -0.08,-0.28 -0.15,-0.59 -0.31,-1.17 -0.46,-1.76 0.18,-0.04 0.37,-0.07 0.55,-0.05 0.12,0.01 0.22,0.02 0.34,0.04 0.09,0.02 0.18,0.03 0.26,0.05 0.05,0.17 0.09,0.35 0.14,0.52 -0.08,0.03 -0.18,0.06 -0.27,0.08 z m -33.23,8.04 c -0.01,-0.09 -0.01,-0.19 -0.02,-0.27 -0.01,-0.22 -0.02,-0.45 -0.02,-0.67 0,0 0,0 0,0 -0.01,0.19 0.25,0.27 0.31,0.07 0.01,-0.02 0.01,-0.04 0.01,-0.06 0.19,0 0.39,-0.01 0.58,-0.01 0,0.01 0,0.03 0,0.04 0.02,0.06 0.11,0.08 0.15,0.02 0.01,-0.02 0.01,-0.04 0.02,-0.06 0.18,0 0.37,-0.01 0.55,-0.01 0.03,0.04 0.08,0.06 0.13,0.03 0.02,-0.01 0.02,-0.02 0.03,-0.04 1.33,-0.01 2.67,-0.02 4,-0.04 0.03,0.07 0.05,0.14 0.09,0.19 v 0 c -0.1,0.04 -0.1,0.17 0,0.21 0.01,0 0.01,0 0.02,0.01 0.02,0.01 0.04,0.03 0.07,0.03 0,0 0.05,0.01 0.03,0 0.02,0.01 0.04,0.02 0.06,0.02 0.05,0.01 0.11,0.02 0.16,0.02 0.05,0.03 0.11,0.04 0.16,0.05 0.01,0.02 0.02,0.04 0.03,0.07 0.13,0.26 0.45,0.23 0.61,0.05 0.05,0.01 0.1,0.03 0.15,0.03 0.16,0.02 0.33,0.02 0.5,0.01 0.36,-0.01 0.72,-0.01 1.08,-0.03 0.62,-0.03 1.25,-0.06 1.87,-0.09 0.08,0.07 0.17,0.11 0.29,0.1 0.13,-0.02 0.27,-0.12 0.32,-0.25 0.06,-0.06 0.1,-0.14 0.12,-0.23 0.15,0.01 0.3,0.03 0.45,0.03 0.04,0 0.07,0 0.11,0.01 0.01,0.11 0.06,0.21 0.21,0.24 0.01,0 0.03,0 0.04,0 0.11,0.08 0.27,0.09 0.41,0.04 0.61,0.07 1.23,0.08 1.85,0.04 0.38,-0.02 0.75,-0.06 1.13,-0.11 0.24,-0.03 0.48,-0.06 0.73,-0.11 0.03,0.01 0.05,0.05 0.09,0.05 0.18,0.02 0.39,-0.08 0.46,-0.26 0.04,-0.04 0.09,-0.08 0.11,-0.13 0.05,0 0.1,0.01 0.15,0.01 0.08,0 0.16,0 0.24,0 0.03,0.08 0.1,0.11 0.18,0.1 -0.21,0.07 -0.42,0.15 -0.62,0.26 -0.07,0.04 -0.1,0.14 -0.06,0.22 0.05,0.08 0.14,0.09 0.22,0.06 0.28,-0.13 0.58,-0.2 0.89,-0.25 0.15,-0.02 0.29,-0.04 0.44,-0.05 0.04,0 0.09,0 0.13,-0.01 0.04,-0.01 0.06,-0.02 0.1,-0.02 0.08,-0.01 0.16,-0.01 0.24,-0.03 0.09,-0.02 0.11,-0.15 0.03,-0.2 -0.06,-0.03 -0.13,-0.04 -0.2,-0.06 0.1,0 0.21,0 0.31,-0.01 0.03,0.04 0.07,0.07 0.12,0.09 0.16,0.3 0.74,0.35 1.01,0.38 0.46,0.04 0.93,0.06 1.4,0.07 0.66,0.01 1.33,-0.05 2,-0.13 0.06,0.06 0.13,0.12 0.2,0.17 -1.68,0.02 -3.36,0.04 -5.04,0.06 -4.19,0.05 -8.38,0.15 -12.57,0.22 -1.15,0.02 -2.29,0.04 -3.44,0.06 -0.87,0.04 -1.75,0.04 -2.62,0.07 z m 5.57,-3.02 c 0.02,0 0.05,0 0.07,0 -0.04,0.29 -0.07,0.64 -0.07,0.99 -0.07,-0.01 -0.14,0.03 -0.16,0.1 0,0 0,0 0,0 -0.08,0 -0.16,0 -0.24,0 0.01,-0.02 0.02,-0.04 0.02,-0.06 0.06,-0.16 0.12,-0.31 0.17,-0.47 0.06,-0.18 0.14,-0.37 0.21,-0.56 z m -0.49,0.48 c -0.06,0.15 -0.11,0.3 -0.17,0.45 -0.02,0.06 -0.05,0.12 -0.07,0.18 -0.23,0 -0.46,0.01 -0.69,0.01 0.07,-0.14 0.15,-0.28 0.21,-0.43 0.09,-0.22 0.17,-0.45 0.23,-0.68 0.23,0 0.45,0 0.68,-0.01 -0.07,0.16 -0.13,0.32 -0.19,0.48 z m -1.04,0.06 c -0.09,0.19 -0.19,0.37 -0.29,0.55 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.2,0 -0.41,0.01 -0.61,0.01 0.09,-0.19 0.18,-0.38 0.26,-0.57 0.08,-0.18 0.16,-0.37 0.24,-0.56 0.21,0 0.42,0 0.63,-0.01 -0.05,0.19 -0.12,0.37 -0.2,0.54 z m -0.97,-0.11 c -0.1,0.22 -0.2,0.43 -0.3,0.65 -0.01,0.03 -0.03,0.05 -0.04,0.08 -0.2,0 -0.4,0.01 -0.59,0.02 0.04,-0.12 0.09,-0.24 0.13,-0.36 0.09,-0.26 0.18,-0.53 0.28,-0.79 0.1,0 0.2,0 0.3,0 0.14,0 0.29,0 0.43,0 -0.08,0.13 -0.14,0.26 -0.21,0.4 z m -1.08,0.29 c -0.06,0.16 -0.12,0.31 -0.18,0.47 -0.19,0.01 -0.38,0.01 -0.58,0.02 0.04,-0.16 0.07,-0.32 0.12,-0.48 0.07,-0.23 0.16,-0.46 0.26,-0.68 0.21,0 0.43,-0.01 0.64,-0.01 -0.08,0.22 -0.17,0.45 -0.26,0.68 z m -0.88,-0.09 c -0.06,0.19 -0.11,0.39 -0.16,0.58 -0.16,0.01 -0.31,0.01 -0.47,0.01 0.03,-0.13 0.06,-0.26 0.09,-0.4 0.05,-0.22 0.09,-0.43 0.14,-0.65 0.01,-0.05 0.02,-0.1 0.03,-0.15 0.2,0 0.41,0.02 0.61,0.02 -0.08,0.2 -0.17,0.39 -0.24,0.59 z m -0.72,-0.56 c -0.05,0.22 -0.11,0.45 -0.16,0.67 -0.04,0.17 -0.07,0.34 -0.1,0.5 -0.04,0 -0.07,0 -0.11,0 -0.03,0 -0.06,0.01 -0.09,0.02 0,-0.06 0,-0.13 -0.01,-0.19 -0.01,-0.35 -0.02,-0.71 -0.03,-1.06 0.17,0.01 0.34,0.01 0.51,0.02 0,0.01 -0.01,0.02 -0.01,0.04 z m 11.58,-2.86 c 0.02,0.02 0.04,0.03 0.08,0.03 0.99,-0.01 1.98,-0.02 2.98,-0.05 0.49,-0.02 0.98,-0.03 1.46,-0.05 0.37,-0.01 0.77,-0.01 1.15,-0.06 0.17,0.09 0.33,0.21 0.46,0.36 0.19,0.21 0.24,0.46 0.34,0.69 -0.02,0.03 -0.04,0.08 -0.03,0.11 0.01,0.07 0.08,0.14 0.15,0.13 0,0 0,0 0,0 0.03,0.15 0.05,0.3 0.07,0.45 -0.17,0 -0.35,0.01 -0.52,0.03 -0.14,0.01 -0.28,0.02 -0.42,0.03 -0.05,-0.06 -0.15,-0.05 -0.2,0.01 -0.21,0.01 -0.43,0.02 -0.64,0.05 0,-0.05 0,-0.1 0,-0.15 0.12,0 0.25,0 0.35,-0.07 0.06,-0.04 0.06,-0.12 0,-0.16 -0.11,-0.07 -0.24,-0.07 -0.37,-0.07 -0.01,-0.15 -0.03,-0.31 -0.08,-0.46 -0.01,-0.04 -0.04,-0.07 -0.06,-0.09 0.38,-0.01 0.77,-0.01 1.13,-0.09 0.07,-0.01 0.07,-0.12 0,-0.14 -0.49,-0.08 -1,-0.05 -1.49,-0.04 -0.39,0 -0.77,0.01 -1.16,0.02 -0.31,0 -0.62,-0.01 -0.92,-0.02 -0.33,0 -0.66,-0.02 -0.98,0 -0.17,0.01 -0.35,0 -0.51,0.05 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.36,0.01 -0.72,0.02 -1.08,0.03 -0.15,0 -0.15,0.24 0,0.24 0.16,0 0.32,0 0.48,-0.01 -0.13,0.29 -0.1,0.67 -0.11,0.98 -0.09,0 -0.17,0.01 -0.26,0.01 -0.2,0.01 -0.41,0.02 -0.61,0.03 -0.02,0 -0.04,0.02 -0.06,0.02 0.03,-0.21 0.04,-0.42 0.09,-0.63 0.05,-0.21 0.11,-0.42 0.17,-0.62 0.2,-0.22 0.41,-0.42 0.65,-0.59 z m 0.55,-0.31 c 0.75,-0.3 1.56,-0.3 2.36,-0.26 0.6,0.03 1.23,0.04 1.83,0.14 -0.05,0 -0.11,0.01 -0.17,0.01 -0.5,0.01 -1.01,0.02 -1.51,0.04 -0.85,0.02 -1.71,0.06 -2.56,0.1 0.01,-0.01 0.03,-0.02 0.05,-0.03 z m 5.08,5.15 c 0.04,0 0.08,0 0.12,0 0.03,0 0.06,0 0.08,0 -0.1,0.02 -0.19,0.05 -0.28,0.08 0.03,-0.01 0.06,-0.03 0.07,-0.06 0.01,0 0.01,-0.01 0.01,-0.02 z m -6.54,-0.62 c 0,0.01 0,0.01 0,0.02 -0.02,-0.13 -0.05,-0.26 -0.06,-0.39 -0.04,-0.42 -0.05,-0.85 -0.03,-1.27 0.05,0.02 0.11,0.04 0.16,0.04 0.08,0 0.16,0 0.24,0 -0.06,0.33 -0.13,0.67 -0.19,1 -0.05,0.2 -0.08,0.4 -0.12,0.6 z m 0.38,-0.56 c 0.06,-0.35 0.13,-0.7 0.19,-1.06 0.03,0 0.07,0 0.1,0 0.08,0 0.16,0 0.25,0 0,0.1 0,0.2 0,0.31 0,0.13 0,0.26 0,0.39 -0.02,0.02 -0.04,0.05 -0.04,0.09 -0.02,0.18 -0.04,0.37 -0.06,0.55 -0.01,0.09 -0.02,0.18 -0.02,0.28 0,0.02 0,0.03 0,0.05 -0.03,0 -0.07,0 -0.1,0 -0.14,-0.01 -0.28,0 -0.42,-0.01 0.03,-0.2 0.07,-0.4 0.1,-0.6 z m 5.6,0.21 c -0.03,0.08 -0.06,0.16 -0.1,0.23 -0.03,0 -0.07,0 -0.1,0 0,-0.08 0,-0.15 0,-0.23 0,-0.34 0.01,-0.69 0.01,-1.03 0,-0.15 0,-0.3 0,-0.45 0.19,0.01 0.37,0.01 0.55,-0.01 -0.03,0.27 -0.08,0.53 -0.15,0.8 -0.05,0.24 -0.13,0.46 -0.21,0.69 z m -4.14,0.78 c -0.02,-0.08 -0.05,-0.15 -0.11,-0.2 0,-0.14 -0.01,-0.29 -0.01,-0.43 0,-0.37 0,-0.74 -0.01,-1.11 0,-0.36 0,-0.71 -0.01,-1.07 -0.01,-0.21 0.01,-0.46 -0.02,-0.69 0.22,0.1 0.5,0.09 0.73,0.1 0.3,0.01 0.61,0.02 0.91,0.03 0.59,0.02 1.18,0.04 1.78,0.04 -0.02,0.16 -0.03,0.33 -0.05,0.49 -0.03,0.33 -0.05,0.66 -0.07,0.99 -0.02,0.33 -0.04,0.66 -0.05,0.99 -0.01,0.18 -0.03,0.36 -0.04,0.54 -0.19,0.04 -0.38,0.08 -0.56,0.11 -0.35,0.05 -0.7,0.09 -1.05,0.12 -0.48,0.05 -0.96,0.07 -1.44,0.09 z m 4.42,-0.56 c 0.01,-0.03 0.02,-0.06 0.03,-0.09 0.09,-0.24 0.16,-0.49 0.22,-0.74 0.07,-0.29 0.1,-0.59 0.13,-0.89 0.13,0 0.25,-0.01 0.38,-0.01 l -0.35,0.98 c -0.08,0.23 -0.16,0.46 -0.24,0.69 -0.01,0.02 -0.01,0.04 -0.02,0.05 -0.05,0.01 -0.1,0.01 -0.15,0.01 z m 1.07,-0.01 c -0.17,0 -0.35,0 -0.52,0.01 0.07,-0.21 0.14,-0.43 0.21,-0.64 0.12,-0.37 0.23,-0.73 0.35,-1.1 0.1,-0.01 0.21,-0.01 0.31,-0.02 0,0.03 0.01,0.06 0.01,0.09 0.02,0.14 0.02,0.28 0.03,0.42 -0.06,0 -0.12,0.03 -0.13,0.09 l -0.11,0.5 -0.05,0.24 c -0.01,0.04 -0.02,0.08 -0.03,0.12 -0.01,0.05 -0.01,0.1 -0.01,0.15 0.01,0.1 0.15,0.16 0.2,0.06 0.02,-0.04 0.05,-0.08 0.06,-0.13 0.01,-0.04 0.02,-0.08 0.02,-0.11 0.02,-0.08 0.04,-0.17 0.06,-0.25 0.01,-0.05 0.02,-0.1 0.03,-0.14 0.01,0.25 0.01,0.49 0.02,0.74 -0.15,-0.03 -0.3,-0.03 -0.45,-0.03 z m 6.29,1.06 c 0.11,-0.23 0.2,-0.47 0.26,-0.7 1.92,-0.03 3.85,-0.06 5.77,-0.09 0,0.11 0,0.22 0,0.33 -0.08,-0.01 -0.15,-0.02 -0.23,-0.03 -0.15,-0.01 -0.29,-0.02 -0.44,-0.04 -0.09,-0.01 -0.17,0.07 -0.18,0.16 -0.01,0.08 0.04,0.18 0.13,0.2 0.15,0.02 0.29,0.05 0.44,0.07 0.09,0.01 0.17,0.02 0.26,0.03 0.01,0 0.02,0 0.03,0 0,0.09 0,0.18 0,0.27 -1.94,-0.04 -3.89,0.04 -5.82,0.06 -0.15,0 -0.29,0 -0.44,0.01 0.09,-0.06 0.16,-0.15 0.22,-0.27 z m 5.98,-2.17 c 0.01,-0.03 0.03,-0.06 0.04,-0.09 0,0.16 0,0.32 0,0.47 -0.08,0 -0.15,0 -0.23,0 0.02,-0.03 0.04,-0.06 0.05,-0.09 0.05,-0.1 0.09,-0.2 0.14,-0.29 z m -0.25,-0.13 c -0.05,0.1 -0.09,0.2 -0.14,0.3 -0.03,0.07 -0.06,0.15 -0.08,0.22 -0.11,0 -0.22,0 -0.33,0.01 0.01,-0.03 0.02,-0.06 0.04,-0.08 0.06,-0.14 0.12,-0.27 0.18,-0.41 0.05,-0.12 0.11,-0.25 0.16,-0.37 0.11,0 0.22,0 0.33,0 -0.06,0.1 -0.11,0.21 -0.16,0.33 z m -0.54,-0.09 c -0.07,0.13 -0.13,0.27 -0.2,0.4 -0.03,0.07 -0.08,0.14 -0.11,0.22 -0.29,0.01 -0.57,0.01 -0.86,0.02 0.06,-0.14 0.11,-0.28 0.17,-0.42 0.06,-0.15 0.12,-0.3 0.19,-0.46 0.31,0 0.62,-0.01 0.93,-0.01 -0.03,0.09 -0.07,0.17 -0.12,0.25 z m -1.22,0.1 c -0.07,0.15 -0.14,0.31 -0.21,0.46 -0.01,0.03 -0.03,0.06 -0.04,0.08 -0.27,0.01 -0.54,0.01 -0.81,0.02 0.07,-0.12 0.13,-0.25 0.2,-0.37 0.09,-0.17 0.19,-0.35 0.28,-0.52 0.25,0 0.49,-0.01 0.74,-0.01 -0.05,0.12 -0.11,0.23 -0.16,0.34 z m -1.14,0.04 c -0.09,0.16 -0.19,0.32 -0.28,0.48 -0.01,0.02 -0.02,0.04 -0.03,0.06 -0.26,0.01 -0.52,0.01 -0.79,0.02 0.03,-0.07 0.06,-0.14 0.09,-0.21 0.1,-0.23 0.19,-0.46 0.29,-0.69 0.31,0 0.62,-0.01 0.92,-0.01 -0.06,0.11 -0.13,0.23 -0.2,0.35 z m -1.29,0.22 c -0.05,0.11 -0.1,0.23 -0.15,0.34 -0.23,0 -0.46,0.01 -0.69,0.01 0.02,-0.13 0.04,-0.27 0.08,-0.4 0.05,-0.18 0.13,-0.34 0.2,-0.51 0.27,0 0.55,-0.01 0.82,-0.01 -0.09,0.19 -0.18,0.38 -0.26,0.57 z m -1.07,-0.13 c -0.02,0.09 -0.04,0.18 -0.06,0.27 0,-0.23 -0.02,-0.46 -0.05,-0.69 0.09,0 0.19,0 0.28,0 -0.05,0.14 -0.13,0.28 -0.17,0.42 z m -1.6,-4.97 c -0.18,-0.82 -0.07,-1.63 0.23,-2.41 0.55,-1.43 1.58,-2.71 2.66,-3.78 0.91,-0.89 1.97,-1.55 2.98,-2.3 0.27,1.48 0.73,2.95 1.09,4.4 0.3,1.17 0.6,2.35 0.89,3.52 -1.28,0.14 -2.56,0.26 -3.85,0.37 -0.66,0.06 -1.32,0.11 -1.97,0.17 -0.63,0.06 -1.36,0.04 -1.95,0.29 -0.03,-0.09 -0.06,-0.18 -0.08,-0.26 z m 7.47,-6.18 c 0.19,0.02 0.39,0.04 0.58,0.08 0.11,0.02 0.22,0.03 0.33,0.05 0.02,0 0.03,0 0.05,0 0.03,0.1 0.05,0.19 0.08,0.29 -0.06,0 -0.12,-0.01 -0.19,0 -0.25,0.03 -0.5,0.13 -0.71,0.27 -0.08,0.05 -0.12,0.16 -0.06,0.24 0.05,0.08 0.16,0.11 0.24,0.06 0.1,-0.06 0.17,-0.09 0.28,-0.12 0.01,0 0.03,-0.01 0.04,-0.01 0.01,0 0.01,0 0.01,0 0.03,0 0.06,-0.01 0.09,-0.01 0,0 0,0 0.01,0 0.01,0 0.03,0 0.04,0 0.03,0 0.06,0 0.08,0 0.06,0 0.11,0 0.17,0.01 0,0 0.04,0.01 0.04,0.01 0.02,0 0.04,0.01 0.06,0.01 0,0 0,0 0.01,0 0.05,0.2 0.11,0.4 0.16,0.6 -0.11,-0.01 -0.23,-0.03 -0.34,-0.02 -0.26,0.01 -0.5,0.08 -0.74,0.18 -0.19,-0.74 -0.39,-1.49 -0.58,-2.23 -0.07,-0.27 -0.14,-0.55 -0.22,-0.83 0.14,0 0.28,0 0.42,0.01 0.08,0 0.17,0 0.25,0 0.05,0 0.09,0 0.14,-0.01 0.05,-0.01 0.09,-0.03 0.13,-0.05 0.07,-0.04 0.07,-0.14 0,-0.17 -0.04,-0.02 -0.08,-0.05 -0.13,-0.05 -0.05,-0.01 -0.09,-0.01 -0.14,-0.01 -0.08,0 -0.17,0 -0.25,0 -0.16,0 -0.33,0 -0.49,0.01 -0.05,-0.17 -0.1,-0.34 -0.15,-0.51 0.12,0 0.25,-0.01 0.37,-0.01 0.11,-0.01 0.22,-0.01 0.33,-0.02 0.13,-0.01 0.25,-0.01 0.36,-0.08 0.01,-0.01 0,-0.02 0.01,-0.02 0.11,0.42 0.22,0.83 0.33,1.24 -0.07,-0.01 -0.15,-0.02 -0.23,-0.01 -0.21,0.01 -0.42,0.06 -0.61,0.15 -0.09,0.04 -0.12,0.17 -0.08,0.25 0.04,0.08 0.14,0.15 0.23,0.11 0.08,-0.03 0.17,-0.06 0.25,-0.07 0.01,0 0.03,0 0.04,-0.01 0.01,0 0.03,0 0.03,0 0.04,0 0.09,-0.01 0.13,-0.01 0.04,0 0.08,0 0.12,0.01 0.01,0 0.04,0.01 0.05,0.01 0.01,0 0.03,0 0.04,0.01 0.05,0.01 0.09,0.02 0.14,0.03 0.03,0.13 0.07,0.26 0.1,0.39 -0.08,0 -0.16,-0.01 -0.23,-0.01 -0.21,0 -0.41,-0.02 -0.62,-0.03 -0.09,-0.01 -0.16,0.08 -0.16,0.16 0.04,0.05 0.11,0.1 0.19,0.11 z m 1.6,2.49 c -0.01,0 -0.01,0 -0.02,0 -0.13,-0.02 -0.26,-0.02 -0.39,-0.02 -0.23,0.01 -0.46,0.06 -0.68,0.13 -0.05,-0.2 -0.11,-0.41 -0.16,-0.61 0.02,0 0.03,0.01 0.05,0 0.21,-0.08 0.39,-0.11 0.6,-0.11 0.05,0 0.11,0 0.16,0.01 0.01,0 0.01,0 0.01,0 0.01,0 0.02,0 0.03,0.01 0.03,0 0.05,0.01 0.08,0.01 0.06,0.01 0.12,0.01 0.19,0.02 0.03,0.18 0.08,0.37 0.13,0.56 z m 0.33,1.25 c -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 -0.02,-0.02 -0.05,-0.03 -0.08,-0.05 -0.02,-0.02 -0.05,-0.04 -0.08,-0.06 -0.02,-0.01 -0.05,-0.02 -0.08,-0.03 -0.06,-0.02 -0.12,-0.02 -0.18,-0.02 -0.1,0 -0.2,0.02 -0.3,0.04 -0.14,0.03 -0.26,0.1 -0.37,0.18 -0.07,-0.28 -0.14,-0.56 -0.22,-0.83 0.2,-0.04 0.39,-0.07 0.6,-0.06 0.11,0.01 0.21,0.02 0.32,0.05 0.06,0.01 0.12,0.03 0.18,0.04 0.01,0 0.03,0 0.04,0 0.07,0.27 0.14,0.54 0.21,0.8 z m -1.86,-6.97 c -0.01,0 -0.01,0 0,0 0,0 0,0 0,0 z m 0,0.01 c 0.06,0.21 0.11,0.42 0.17,0.63 -0.11,-0.03 -0.21,-0.02 -0.33,-0.01 -0.11,0.01 -0.22,0.02 -0.33,0.03 -0.15,0.02 -0.31,0.04 -0.46,0.05 -0.03,-0.1 -0.06,-0.19 -0.09,-0.29 0.03,-0.02 0.05,-0.04 0.08,-0.06 0.02,-0.01 0.01,-0.03 0.02,-0.04 0.08,-0.03 0.14,-0.06 0.23,-0.09 0.18,-0.06 0.36,-0.12 0.55,-0.18 0.05,-0.01 0.11,-0.02 0.16,-0.04 z m 2.08,8.09 c -0.13,-0.02 -0.27,-0.03 -0.4,-0.01 -0.22,0.02 -0.43,0.06 -0.64,0.12 -0.07,-0.28 -0.14,-0.55 -0.22,-0.83 0.01,-0.01 0.02,0 0.03,-0.01 0,0 0,0 0,0 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.02 0.06,-0.04 0.02,-0.01 0.03,-0.02 0.05,-0.03 0.01,0 0.02,-0.01 0.03,-0.01 0,0 0.01,0 0.02,-0.01 0,0 0,0 0,0 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.02,0 0.04,-0.01 0.06,-0.01 0.01,0 0.02,0 0.03,-0.01 -0.02,0.01 -0.04,0 -0.01,0 0.04,0 0.08,0 0.12,0 0.02,0 0.04,0 0.06,0 0.01,0 0.02,0 0.02,0 0.05,0.01 0.11,0.02 0.16,0.02 0.02,0 0.05,0 0.07,0 0.01,0 0.03,0.01 0.04,0.01 0.09,0.02 0.18,-0.02 0.22,-0.11 0.01,-0.02 0,-0.03 0,-0.05 0.09,0.34 0.18,0.68 0.27,1.02 -0.02,0 -0.05,-0.01 -0.08,-0.01 z m -15.04,-4.59 c 0,-0.02 -0.01,-0.03 -0.02,-0.04 0.26,0 0.53,0 0.79,0 -0.29,0.31 -0.55,0.66 -0.78,1.03 0,-0.11 0.01,-0.21 0.01,-0.32 0,-0.23 0,-0.45 0,-0.67 z m -0.21,1.32 c -0.03,0.06 -0.07,0.11 -0.1,0.16 -0.1,0.19 -0.16,0.39 -0.24,0.59 0,-0.27 0,-0.53 -0.01,-0.8 0,-0.25 -0.01,-0.5 -0.01,-0.75 0,-0.02 0,-0.02 0,-0.03 0,-0.09 0,-0.18 0,-0.26 0.07,-0.05 0.06,-0.14 0,-0.2 0,-0.03 0,-0.05 0,-0.08 0.12,0 0.24,0 0.37,0 -0.01,0.01 -0.02,0.02 -0.02,0.04 0,0.22 0,0.44 0,0.66 -0.02,0.23 -0.03,0.45 0.01,0.67 z m -2.07,3.07 c -0.06,0 -0.06,0.06 -0.02,0.09 -0.42,0 -0.83,0 -1.25,0.01 -0.74,0 -1.48,0.04 -2.21,0.09 0.01,-0.02 0.02,-0.03 0.02,-0.04 -0.03,-0.32 -0.05,-0.64 -0.06,-0.96 0,-0.08 -0.11,-0.08 -0.12,0 -0.01,0.32 -0.03,0.64 -0.06,0.96 0,0.02 0.02,0.03 0.03,0.05 -0.18,0.01 -0.36,0.02 -0.54,0.04 -0.02,-0.1 -0.04,-0.2 -0.06,-0.3 -0.06,-0.3 -0.14,-0.6 -0.21,-0.91 -0.15,-0.6 -0.42,-1.17 -0.72,-1.71 -0.04,-0.07 -0.08,-0.13 -0.12,-0.2 0.05,0 0.11,-0.02 0.12,-0.08 0.03,-0.15 0.06,-0.29 0.09,-0.44 0,-0.02 -0.02,-0.03 -0.03,-0.05 0.12,0 0.24,0.01 0.36,0.02 -0.01,0.11 -0.02,0.22 -0.03,0.33 -0.09,0.03 -0.09,0.15 -0.02,0.2 0,0.01 0,0.02 0,0.03 -0.01,0.1 -0.01,0.2 -0.02,0.3 -0.01,0.1 -0.02,0.18 0.04,0.27 0.02,0.04 0.08,0.05 0.11,0.01 0.07,-0.07 0.08,-0.14 0.09,-0.24 0.01,-0.11 0.03,-0.22 0.04,-0.33 0,0 0,0 0,-0.01 0.17,0.01 0.34,0.03 0.52,0.04 0.03,0.02 0.05,0.02 0.08,0.01 0.12,0.01 0.23,0.02 0.35,0.03 -0.01,0.4 -0.01,0.81 0.03,1.21 0,0 0,0 0,0 0,0.06 0.04,0.12 0.12,0.12 0.23,-0.01 0.45,-0.02 0.68,-0.02 0.01,0.09 0.01,0.18 0.02,0.27 0.01,0.08 0.02,0.14 0.04,0.21 0.02,0.07 0.03,0.14 0.06,0.21 0.02,0.05 0.1,0.03 0.11,-0.01 0.02,-0.07 0.02,-0.15 0.03,-0.23 0.01,-0.07 0.01,-0.13 0.01,-0.2 0,-0.09 -0.01,-0.18 -0.01,-0.26 0.15,-0.01 0.3,-0.01 0.45,-0.02 l 0.69,-0.03 c 0.22,-0.01 0.45,0 0.67,-0.05 0.1,-0.03 0.11,-0.2 0,-0.22 -0.22,-0.04 -0.45,-0.01 -0.67,0 -0.23,0.01 -0.46,0.02 -0.69,0.03 -0.15,0.01 -0.31,0.01 -0.46,0.02 -0.02,-0.27 -0.04,-0.54 -0.06,-0.8 -0.01,-0.15 -0.25,-0.16 -0.24,0 0.01,0.27 0.03,0.54 0.04,0.81 -0.22,0.01 -0.43,0.02 -0.65,0.03 0.05,-0.35 0.07,-0.7 0.08,-1.05 0.53,0.03 1.07,0.05 1.6,0.05 0,0.01 0,0.01 0,0.02 0.01,0.23 0.03,0.48 0.07,0.71 0.02,0.08 0.15,0.09 0.17,0 0.03,-0.24 0.04,-0.49 0.03,-0.73 0.29,0 0.57,0 0.85,-0.01 0,0.17 0.01,0.35 0.04,0.52 0.01,0.05 0.08,0.04 0.09,0 0.05,-0.17 0.07,-0.35 0.09,-0.52 0.11,-0.01 0.21,-0.02 0.32,-0.03 0,0.09 -0.01,0.17 -0.01,0.26 -0.01,0.24 -0.01,0.51 0.03,0.74 0.02,0.1 0.17,0.09 0.19,0 0.06,-0.23 0.07,-0.5 0.08,-0.74 0,-0.09 0.01,-0.19 0.01,-0.28 0.19,-0.01 0.38,-0.03 0.58,-0.05 0.01,0.2 0.01,0.41 0.02,0.61 0.01,0.08 0.12,0.08 0.13,0 0.02,-0.21 0.02,-0.41 0.02,-0.62 0.01,0 0.01,0 0.02,0 0.16,-0.02 0.17,-0.26 0,-0.25 0,0 -0.01,0 -0.01,0 0,-0.19 0.01,-0.37 0.01,-0.56 0.15,-0.01 0.3,-0.04 0.45,-0.07 0,0.2 0,0.41 0,0.61 0,0.29 0,0.57 0,0.86 0,0.24 -0.01,0.5 0.06,0.74 -0.05,0.18 -0.1,0.37 -0.14,0.55 -0.07,0.34 -0.12,0.68 -0.14,1.03 -0.32,0 -0.64,0.03 -0.93,0.03 -0.08,0 -0.16,0 -0.24,0 0.03,-0.04 0.03,-0.1 -0.02,-0.1 z m -5.49,-3.46 c 0.04,0.03 0.08,0.03 0.12,0.01 0.02,0 0.05,0 0.07,0 0,0 -0.01,0 -0.01,0 -0.04,0.14 -0.08,0.27 -0.12,0.41 -0.09,-0.15 -0.18,-0.3 -0.28,-0.44 0.08,0.01 0.15,0.02 0.22,0.02 z m 6.91,-0.51 c -0.15,0 -0.3,0 -0.45,0.02 0,-0.04 0,-0.09 0,-0.13 0.15,0 0.3,-0.02 0.45,-0.03 0,0.04 0,0.09 0,0.14 z m -0.66,0.04 c -0.07,0.01 -0.14,0.02 -0.2,0.02 -0.11,0.01 -0.22,0.01 -0.32,0.02 0,-0.06 0,-0.12 0,-0.18 0.11,0 0.23,-0.01 0.34,-0.01 0.06,0 0.12,0 0.18,0 0,0.05 0,0.1 0,0.15 z m -2.28,0.91 c -0.01,-0.14 -0.01,-0.29 -0.02,-0.42 0,0 0,-0.01 0,-0.01 0.3,-0.02 0.61,-0.03 0.91,-0.06 0,0.08 -0.01,0.15 -0.01,0.23 0,0.08 0,0.17 -0.01,0.25 -0.29,0 -0.58,0.01 -0.87,0.01 z m 1.13,-0.27 c 0,-0.08 0.01,-0.16 0.01,-0.24 0.1,-0.01 0.2,-0.02 0.31,-0.03 0,0.09 -0.01,0.19 -0.01,0.28 0,0.07 -0.01,0.15 -0.01,0.22 -0.1,0 -0.21,0.01 -0.31,0.01 0,-0.07 0.01,-0.16 0.01,-0.24 z m 0.61,0.01 c 0,-0.1 0,-0.21 0.01,-0.31 0.14,-0.01 0.29,-0.03 0.43,-0.04 0.03,0 0.07,-0.01 0.1,-0.01 0,0.18 0.01,0.36 0.01,0.55 -0.19,0.01 -0.37,0.01 -0.55,0.02 -0.01,-0.07 0,-0.14 0,-0.21 z m -0.28,-0.59 c -0.1,0.01 -0.21,0.01 -0.31,0.02 0,-0.07 0.01,-0.13 0.01,-0.2 0.1,0 0.21,-0.01 0.31,-0.01 0,0.06 0,0.13 -0.01,0.19 z m -0.55,0.03 c -0.32,0.01 -0.63,0.01 -0.95,0.02 0,-0.07 -0.01,-0.13 -0.01,-0.2 0.32,-0.01 0.65,-0.02 0.97,-0.02 0,0.06 0,0.13 -0.01,0.2 z m -1.21,0.02 c -0.22,0 -0.44,0.01 -0.66,0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.06 0,-0.11 0,-0.17 0.22,-0.01 0.44,-0.01 0.66,-0.02 0,0.07 0,0.13 0,0.2 z m -0.88,0.57 c 0.05,0.07 0.13,0.07 0.19,0 0.03,-0.04 0.04,-0.09 0.04,-0.14 0.22,-0.01 0.44,-0.03 0.67,-0.04 0,0.14 0.01,0.28 0.02,0.43 -0.53,0 -1.05,0 -1.58,-0.02 0,-0.03 0,-0.06 0,-0.08 0,-0.1 0,-0.19 0.01,-0.29 0.21,0 0.41,0.01 0.62,0.01 -0.01,0.04 0,0.09 0.03,0.13 z m -0.93,0.11 c 0,0.03 0,0.07 0,0.1 -0.08,0 -0.17,-0.01 -0.25,-0.01 0,0 0,0 0,-0.01 0.01,-0.07 0,-0.15 0,-0.23 0,-0.04 0,-0.08 0,-0.12 0.09,0 0.17,0 0.26,0 0,0.09 0,0.18 -0.01,0.27 z m -0.52,0.07 c -0.13,-0.01 -0.27,-0.01 -0.4,-0.02 0.01,-0.11 0.02,-0.21 0.03,-0.32 0.12,0 0.24,0 0.37,0 0,0.04 0,0.08 0,0.12 0,0.07 -0.01,0.14 0,0.22 -0.01,-0.01 0,-0.01 0,0 z m 5.57,-1.33 c -0.15,-0.01 -0.3,-0.01 -0.45,-0.01 0,-0.01 0,-0.01 0,-0.02 0.15,0 0.3,0 0.46,0 -0.01,0.01 -0.01,0.02 -0.01,0.03 z m -0.66,-0.01 c -0.09,0 -0.18,0.01 -0.27,0.01 -0.08,0 -0.16,0 -0.25,0.01 0,-0.01 0,-0.02 0,-0.04 0.17,0 0.35,0 0.52,0 0,0.01 0,0.01 0,0.02 z m -0.79,0.02 c -0.1,0 -0.21,0 -0.31,0.01 0,0 0,-0.01 0,-0.01 0,-0.02 -0.01,-0.02 -0.01,-0.04 0.11,0 0.22,0 0.33,0 -0.01,0.01 -0.01,0.03 -0.01,0.04 z m -0.55,0 c 0,0.01 0,0.01 0,0.02 -0.01,0 -0.01,0 -0.02,0 -0.33,0.01 -0.65,0.02 -0.98,0.02 0,-0.03 0,-0.05 0,-0.08 0.34,0 0.68,0 1.02,0 -0.01,0.01 -0.02,0.02 -0.02,0.04 z m -1.26,-0.04 c 0,0.03 0,0.05 0,0.08 -0.22,0.01 -0.43,0.01 -0.65,0.02 0,-0.02 0,-0.04 0,-0.06 0,-0.02 -0.01,-0.02 -0.02,-0.04 0.23,0 0.45,0 0.67,0 z m -0.89,0.04 c 0,0.02 0,0.05 0,0.07 -0.03,0 -0.06,0 -0.1,0 -0.21,0.01 -0.21,0.33 0,0.33 0.03,0 0.06,0 0.09,0 0,0.06 0,0.11 0,0.17 0,0.01 0,0.01 0,0.02 -0.2,0 -0.41,0 -0.61,-0.01 0.01,-0.21 0.01,-0.41 0.02,-0.62 0.21,0 0.42,0 0.62,0 -0.01,0.01 -0.02,0.02 -0.02,0.04 z m -0.88,0.57 c -0.09,0 -0.18,0 -0.28,0 0,-0.2 0,-0.41 -0.01,-0.61 0.1,0 0.2,0 0.3,0 0.01,0.2 0,0.41 -0.01,0.61 z m -0.54,0 c -0.11,0 -0.22,0 -0.33,0 0.02,-0.2 0.04,-0.41 0.05,-0.61 0.09,0 0.19,0 0.28,0 0,0.2 0,0.4 0,0.61 z m -0.6,-0.02 c -0.18,-0.01 -0.36,-0.02 -0.54,-0.03 0,-0.1 0,-0.19 0,-0.29 0,-0.09 0,-0.19 0,-0.29 0.1,0 0.21,0 0.3,0 0.1,0 0.2,0 0.29,0 -0.01,0.21 -0.03,0.41 -0.05,0.61 z m -0.81,-0.04 c -0.16,-0.01 -0.31,-0.01 -0.47,-0.01 -0.08,-0.1 -0.16,-0.21 -0.25,-0.31 -0.07,-0.08 -0.16,-0.15 -0.23,-0.23 0.32,0.01 0.63,0 0.94,0 0,0.09 0,0.19 0,0.28 0,0.09 0,0.18 0.01,0.27 z m -10.42,-1.79 c 0.17,0.09 0.36,0.17 0.54,0.25 0.34,0.15 0.67,0.31 0.99,0.48 0.64,0.34 1.26,0.75 1.84,1.2 1.12,0.89 2.05,2.03 2.6,3.36 0.31,0.75 0.45,1.51 0.48,2.28 -0.38,-0.02 -0.78,0.02 -1.12,0.01 -0.77,-0.01 -1.53,-0.02 -2.3,-0.02 -1.5,-0.01 -3.01,-0.05 -4.51,-0.01 0,0 -0.01,0 -0.01,0 0.51,-2.51 1,-5.03 1.49,-7.55 z m 42.01,38.28 c 0.01,0.06 0.01,0.13 0.02,0.19 -0.04,0.01 -0.08,0.01 -0.12,0.02 0.02,-0.14 0.04,-0.27 0.05,-0.41 0.02,0.06 0.04,0.13 0.05,0.2 z m -35.45,0.05 c 5.99,0.09 12,-0.05 17.99,-0.24 5.73,-0.18 11.47,-0.55 17.11,-1.49 0.02,0.08 0.04,0.16 0.06,0.24 -0.01,0.02 -0.02,0.03 -0.02,0.05 -0.03,0.3 -0.06,0.6 -0.09,0.89 -0.01,0.15 -0.03,0.29 -0.04,0.44 -0.01,0.11 -0.01,0.21 -0.01,0.32 -0.27,0.05 -0.54,0.09 -0.82,0.13 0,-0.05 0.01,-0.11 0.02,-0.16 0.01,-0.16 0.03,-0.32 0.04,-0.48 0.03,-0.33 0.05,-0.65 0.08,-0.98 0.01,-0.18 -0.26,-0.18 -0.28,0 -0.03,0.38 -0.06,0.75 -0.1,1.13 -0.01,0.18 -0.03,0.35 -0.04,0.53 -0.45,0.07 -0.91,0.15 -1.36,0.22 0,-0.13 0,-0.26 0,-0.39 0,-0.28 0,-0.55 0,-0.83 0,-0.2 -0.3,-0.2 -0.3,0 0,0.28 0,0.55 0,0.83 0,0.14 0,0.27 0,0.41 0,0.01 0,0.02 0,0.03 -0.54,0.07 -1.08,0.12 -1.63,0.18 -0.02,-0.08 -0.05,-0.17 -0.05,-0.26 -0.01,-0.27 0.05,-0.54 0.19,-0.78 0.09,-0.15 -0.14,-0.29 -0.24,-0.14 -0.17,0.28 -0.25,0.6 -0.23,0.93 0.01,0.09 0.04,0.18 0.06,0.27 -0.53,0.06 -1.07,0.13 -1.6,0.18 0,-0.07 0.01,-0.13 0.01,-0.2 v -0.49 c 0,-0.13 -0.2,-0.13 -0.2,0 v 0.49 c 0,0.07 0.01,0.15 0.01,0.22 -0.63,0.06 -1.25,0.1 -1.88,0.15 0,-0.29 0,-0.57 0,-0.86 0,-0.18 -0.28,-0.18 -0.28,0 0,0.29 0,0.59 0,0.88 -0.72,0.06 -1.43,0.12 -2.15,0.16 0,-0.02 -0.01,-0.04 -0.01,-0.07 0.01,-0.16 -0.24,-0.16 -0.25,0 0,0.03 0.01,0.05 0.01,0.08 -1.21,0.07 -2.43,0.14 -3.64,0.19 -5.84,0.24 -11.7,0.35 -17.54,0.35 -2.65,0 -5.31,-0.05 -7.97,-0.15 0,-0.01 0.01,-0.02 0.02,-0.03 0.01,-0.04 0.02,-0.09 0.02,-0.13 0.02,-0.1 0.03,-0.2 0.05,-0.3 0.03,-0.2 0.06,-0.39 0.08,-0.59 0.01,-0.1 -0.02,-0.22 -0.14,-0.24 -0.09,-0.02 -0.23,0.03 -0.24,0.14 -0.03,0.2 -0.06,0.39 -0.08,0.59 -0.02,0.11 -0.03,0.21 -0.04,0.32 -0.01,0.08 -0.02,0.16 -0.01,0.24 -0.53,-0.02 -1.07,-0.06 -1.6,-0.09 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.05,-0.23 -0.05,-0.47 0,-0.71 0.04,-0.2 -0.26,-0.29 -0.31,-0.08 -0.06,0.28 -0.06,0.58 0,0.86 0,0 0,0 0,0.01 -0.52,-0.03 -1.05,-0.06 -1.57,-0.1 -0.05,-0.2 -0.1,-0.4 -0.14,-0.6 -0.05,-0.2 -0.36,-0.11 -0.31,0.08 0.04,0.16 0.08,0.33 0.12,0.49 -0.52,-0.04 -1.05,-0.08 -1.57,-0.12 0,0 0,-0.01 0,-0.01 0,-0.19 0,-0.39 0,-0.58 0,-0.16 -0.26,-0.16 -0.25,0 0,0.19 0,0.38 0,0.57 -0.37,-0.03 -0.74,-0.07 -1.1,-0.11 0,-0.02 0,-0.03 0,-0.05 v -0.73 c 0,-0.14 -0.22,-0.14 -0.22,0 v 0.73 c 0,0.01 0,0.02 0,0.03 -0.51,-0.05 -1.03,-0.09 -1.54,-0.15 0.02,-0.31 0.01,-0.62 0.01,-0.93 0,-0.36 0,-0.72 0,-1.09 0.16,-0.87 0.34,-1.74 0.51,-2.61 0,-0.02 0.01,-0.04 0.01,-0.06 3.07,0.64 6.22,0.92 9.35,1.15 3.19,0.23 6.39,0.37 9.59,0.42 6.34,0.09 12.67,-0.35 18.99,-0.89 1.78,-0.15 3.57,-0.33 5.34,-0.54 0.89,-0.1 1.78,-0.18 2.66,-0.29 0.7,-0.09 1.39,-0.17 2.05,-0.37 0.08,0.3 0.16,0.59 0.24,0.89 -4.83,0.81 -9.74,1.18 -14.64,1.38 -5.81,0.24 -11.64,0.35 -17.46,0.35 -5.39,0 -10.79,-0.16 -16.15,-0.75 -0.16,0.43 -0.3,0.87 -0.44,1.31 4.63,0.58 9.29,0.83 13.95,0.91 z m -12.64,-5.95 c -0.02,-0.18 -0.03,-0.37 -0.04,-0.55 0.03,0 0.07,-0.01 0.1,-0.01 0.05,0.2 0.1,0.41 0.15,0.61 -0.02,0 -0.04,0.01 -0.06,0.01 -0.05,0.01 -0.09,0.01 -0.14,0.01 0,-0.02 -0.01,-0.04 -0.01,-0.07 z m 0.06,-1.91 c 0.08,0 0.16,0 0.23,-0.01 0,0.12 -0.01,0.24 -0.02,0.36 -0.1,0 -0.21,0 -0.31,0.01 0,-0.02 0,-0.04 0,-0.06 0,-0.01 -0.01,-0.02 -0.01,-0.03 0.02,-0.09 0.03,-0.18 0.05,-0.26 0.02,-0.01 0.04,-0.01 0.06,-0.01 z m 0.2,0.68 c 0,0.05 0,0.09 -0.01,0.14 -0.12,-0.09 -0.33,0 -0.28,0.18 -0.01,0 -0.02,0 -0.03,0 0,-0.11 0.01,-0.22 0.01,-0.33 0.1,0 0.21,0 0.31,0.01 z m 0.63,2.34 c -0.02,-0.1 -0.05,-0.19 -0.08,-0.28 -0.05,-0.19 -0.1,-0.37 -0.15,-0.56 0.02,-0.04 0.05,-0.07 0.06,-0.11 0.03,-0.09 -0.05,-0.18 -0.14,-0.18 0,-0.02 -0.01,-0.03 -0.01,-0.05 l 0.02,-0.44 c 0.01,0 0.02,0 0.03,0 0.09,0.01 0.18,0.02 0.28,0.02 0,0.2 0,0.4 -0.01,0.59 0,0.33 -0.01,0.67 0,1.01 z m -0.72,-0.31 c 0,0.04 0,0.08 -0.01,0.12 -0.01,-0.03 -0.02,-0.06 -0.02,-0.1 0.01,0 0.02,-0.01 0.03,-0.02 z m 0.36,0.48 c 0.01,0.04 0.04,0.07 0.05,0.11 -0.02,0 -0.04,0 -0.07,0 0,-0.04 0.01,-0.07 0.02,-0.11 z m 0.37,-2.13 c -0.09,-0.03 -0.19,-0.04 -0.27,-0.05 -0.01,0 -0.02,0 -0.04,0 v -0.01 c 0,-0.11 0,-0.21 0.01,-0.32 0.1,0 0.2,0 0.3,0 0.01,0.12 0,0.25 0,0.38 z m -0.6,-1.33 c 0,0 0,0 0,0 -0.08,-0.01 -0.16,-0.01 -0.24,-0.01 0.04,-0.19 0.08,-0.39 0.11,-0.58 0.01,-0.05 0.02,-0.11 0.03,-0.16 0.04,0 0.09,0.01 0.13,0.01 -0.01,0.25 -0.02,0.5 -0.03,0.74 z m -0.62,1.9 c 0.01,0.12 0,0.23 0.02,0.35 0,0.01 0,0.03 0.01,0.04 -0.03,0 -0.07,0.01 -0.1,0.01 0.02,-0.14 0.05,-0.27 0.07,-0.4 z m 0.17,1.32 c 0.02,0.11 0.06,0.21 0.1,0.31 -0.2,-0.01 -0.39,-0.03 -0.59,-0.04 0,-0.01 0,-0.02 0,-0.02 0.18,-0.07 0.34,-0.15 0.49,-0.25 z m 39.85,-0.22 c -0.1,0 -0.2,0.01 -0.3,0.01 -0.08,0 -0.16,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.1,0 0.2,0.01 0.31,0.01 0.03,0 0.06,0 0.09,0 0.03,0.08 0.06,0.16 0.1,0.22 0.03,0.05 0.1,0.08 0.16,0.06 0.03,-0.01 0.04,-0.02 0.06,-0.04 0.04,-0.03 0.05,-0.1 0.04,-0.14 -0.02,-0.06 -0.04,-0.13 -0.06,-0.19 0.02,-0.02 0.05,-0.02 0.06,-0.05 0.01,-0.03 0.01,-0.06 0,-0.08 -0.02,-0.06 -0.07,-0.09 -0.13,-0.1 -0.02,-0.08 -0.06,-0.16 -0.07,-0.25 -0.02,-0.15 0,-0.3 0.01,-0.45 0.21,0 0.41,0 0.62,0 0.01,0.13 0.01,0.27 0.02,0.4 0,0.07 0.01,0.13 0.01,0.2 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.18,0 -0.18,0.28 0,0.28 0.02,0 0.02,-0.01 0.03,-0.01 0.01,0.13 0.01,0.28 0.09,0.38 0.04,0.05 0.12,0.03 0.15,-0.02 0.04,-0.06 0.03,-0.14 0.04,-0.21 0,-0.06 0,-0.13 0,-0.19 -0.01,-0.14 -0.02,-0.29 -0.03,-0.43 l -0.03,-0.38 c 0.05,0 0.1,0 0.15,0 0.04,0.24 0.08,0.49 0.12,0.73 0.03,0.19 0.07,0.39 0.1,0.58 -0.9,0.12 -1.81,0.23 -2.71,0.33 0,0 0.01,0 0.01,-0.01 0.02,-0.08 -0.01,-0.14 -0.03,-0.21 -0.02,-0.07 -0.04,-0.14 -0.06,-0.21 -0.04,-0.13 -0.07,-0.26 -0.09,-0.39 -0.03,-0.24 -0.01,-0.48 0.02,-0.71 0.26,0 0.52,0 0.76,-0.07 0.03,-0.01 0.02,-0.04 0.04,-0.05 0.17,0 0.35,0.01 0.52,0.01 -0.03,0.24 -0.03,0.47 0.02,0.69 z m -14.55,0.23 c 0,-0.02 -0.01,-0.04 -0.01,-0.07 0.2,0 0.42,-0.01 0.63,-0.04 0.09,-0.02 0.09,-0.16 0,-0.18 -0.2,-0.05 -0.43,-0.07 -0.64,-0.09 -0.01,0 -0.02,0 -0.04,0 -0.01,-0.06 -0.02,-0.12 -0.03,-0.18 0.35,0 0.7,-0.01 1.05,-0.01 0.01,0.32 0.02,0.65 0.03,0.97 0,0.02 0,0.05 0,0.07 -0.1,-0.01 -0.21,-0.02 -0.31,-0.02 -0.19,0 -0.38,0.01 -0.56,0.01 -0.04,-0.15 -0.08,-0.3 -0.12,-0.46 z m 2.76,0.12 c 0.25,0.01 0.51,0 0.76,0.01 0.01,0.12 0.03,0.23 0.05,0.35 -0.04,0 -0.08,0 -0.12,0 -0.3,0 -0.6,0.02 -0.9,0.04 -0.03,-0.11 -0.06,-0.22 -0.08,-0.34 -0.06,-0.26 -0.13,-0.52 -0.19,-0.78 0.16,0 0.33,-0.01 0.49,-0.01 0.16,0 0.32,-0.01 0.48,-0.03 0.06,0 0.12,-0.01 0.18,-0.01 l 0.06,0.51 c -0.24,0.01 -0.49,0 -0.73,0.01 -0.15,0.02 -0.15,0.25 0,0.25 z m -0.76,-0.71 c 0.06,0.28 0.13,0.56 0.19,0.84 0.02,0.09 0.04,0.19 0.06,0.28 -0.07,0 -0.13,0.01 -0.2,0 -0.24,-0.01 -0.47,-0.04 -0.71,-0.06 0,-0.04 0,-0.07 -0.01,-0.11 -0.02,-0.32 -0.04,-0.63 -0.06,-0.95 0.15,0 0.29,0 0.44,0 0.1,0.01 0.2,0 0.29,0 z m -1.35,1.41 c 0.13,0.01 0.25,0 0.37,0 0,0.12 0.02,0.24 0.03,0.37 -0.24,0.01 -0.47,0.04 -0.71,0.07 0.01,-0.15 -0.05,-0.31 -0.11,-0.46 0.14,0.01 0.28,0.02 0.42,0.02 z m 0.71,0 c 0.23,-0.01 0.46,-0.02 0.69,-0.03 0.09,0 0.18,0.01 0.27,0.02 0.03,0.12 0.06,0.24 0.11,0.36 0.05,0.12 0.26,0.12 0.24,-0.03 -0.01,-0.1 -0.03,-0.2 -0.05,-0.31 0.26,0.03 0.53,0.06 0.79,0.07 0.08,0 0.16,0 0.25,0.01 0.03,0.1 0.06,0.19 0.1,0.28 0.04,0.07 0.15,0.05 0.16,-0.02 0.02,-0.08 0.02,-0.16 0.02,-0.24 0.28,0.01 0.56,0 0.81,-0.07 0.13,-0.04 0.12,-0.22 0,-0.25 -0.26,-0.08 -0.55,-0.1 -0.83,-0.1 -0.01,-0.12 -0.03,-0.23 -0.05,-0.35 0.3,0.01 0.6,0.01 0.91,0.01 0,0.02 0,0.05 0,0.07 0.01,0.13 0,0.3 0.07,0.42 0.04,0.08 0.16,0.05 0.19,-0.02 0.04,-0.12 0.01,-0.28 0.01,-0.41 0,-0.02 0,-0.03 0,-0.05 0.39,0 0.78,0.02 1.17,0.02 0,0.01 0,0.01 0,0.02 0.04,0.1 0.21,0.1 0.21,-0.02 0.08,0 0.16,0 0.25,0 0.21,0 0.42,0 0.63,0 0.01,0.04 0.01,0.08 0.03,0.12 0.02,0.06 0.05,0.13 0.08,0.2 -0.42,0.02 -0.85,0.03 -1.27,0.05 -0.23,0.01 -0.23,0.36 0,0.36 0.59,0.01 1.17,0.03 1.76,0.03 0.61,0 1.21,-0.08 1.81,-0.09 0.59,-0.01 1.17,-0.02 1.76,0 0.26,0.01 0.52,0.02 0.79,0.02 -2.96,0.31 -5.96,0.56 -8.93,0.6 -0.65,0.01 -1.3,0.01 -1.96,0.02 0,-0.01 0.01,-0.01 0.01,-0.02 -0.01,-0.25 -0.01,-0.46 -0.03,-0.67 z m 4.92,-1.38 c -0.02,-0.07 -0.03,-0.15 -0.05,-0.22 0.3,0 0.61,0 0.91,0 0,0.18 0.02,0.36 0.04,0.53 0,0.03 0.01,0.05 0.02,0.08 -0.18,0 -0.36,0 -0.54,0 -0.1,0 -0.2,0 -0.3,0 -0.03,-0.13 -0.05,-0.26 -0.08,-0.39 z m 5.22,1.06 c -0.6,0.02 -1.21,0.03 -1.81,0.03 -0.59,0 -1.17,-0.07 -1.76,-0.06 -0.08,0 -0.16,0.01 -0.23,0.01 -0.02,-0.09 -0.05,-0.18 -0.08,-0.27 0,-0.01 0,-0.02 -0.01,-0.03 0.31,0 0.63,0 0.94,-0.01 0.03,0 0.07,0 0.1,0 0.01,0.09 0.01,0.19 0.06,0.26 0.05,0.09 0.16,0.05 0.19,-0.03 0.03,-0.07 0.03,-0.16 0.02,-0.24 0.2,0 0.4,-0.01 0.6,-0.01 0.08,0 0.18,0 0.26,0 0,0.01 0,0.02 0.01,0.04 0.03,0.13 0.23,0.1 0.23,-0.03 0,0 0,-0.01 0,-0.01 0.16,0 0.31,-0.02 0.45,-0.07 0.07,-0.03 0.07,-0.12 0,-0.15 -0.15,-0.06 -0.31,-0.07 -0.48,-0.07 -0.02,-0.16 -0.03,-0.32 -0.06,-0.48 -0.01,-0.07 -0.02,-0.15 -0.03,-0.22 0.02,0 0.04,0 0.05,0 0.26,0 0.52,0.01 0.78,0.02 0.03,0.16 0.07,0.32 0.1,0.49 0.03,0.13 0.05,0.25 0.08,0.38 0.01,0.06 0.04,0.12 0.05,0.19 0.02,0.06 0.03,0.13 0.07,0.19 0.04,0.07 0.13,0.03 0.13,-0.04 0.01,-0.07 -0.01,-0.13 -0.02,-0.2 -0.01,-0.06 -0.01,-0.12 -0.02,-0.18 -0.03,-0.13 -0.06,-0.26 -0.08,-0.39 -0.03,-0.14 -0.06,-0.28 -0.09,-0.42 0.34,0.01 0.67,0.03 1.01,0.03 0.1,0 0.2,0 0.3,0 0.04,0.14 0.07,0.28 0.11,0.42 0.04,0.14 0.07,0.27 0.11,0.41 0.04,0.14 0.06,0.31 0.16,0.42 0.06,0.06 0.17,0.03 0.19,-0.05 0.03,-0.14 -0.04,-0.3 -0.07,-0.44 -0.03,-0.14 -0.07,-0.27 -0.11,-0.41 -0.03,-0.11 -0.06,-0.23 -0.09,-0.34 0.11,0 0.22,0 0.34,0 -0.03,0.24 -0.05,0.49 -0.02,0.74 0.02,0.15 0.05,0.3 0.09,0.45 0.01,0.04 0.03,0.08 0.04,0.11 -0.48,-0.1 -1,-0.06 -1.51,-0.04 z m -4.01,-0.82 c -0.03,-0.15 -0.04,-0.31 -0.05,-0.47 0.17,0 0.34,0.01 0.51,0 0.21,-0.01 0.42,-0.02 0.63,-0.03 0.01,0.15 0.02,0.3 0.03,0.45 0,0.06 0.01,0.13 0.01,0.19 -0.01,0 -0.02,0 -0.03,0 -0.36,0 -0.72,0 -1.08,0 0.01,-0.04 -0.01,-0.09 -0.02,-0.14 z m 2.18,-0.25 c 0.02,0.14 0.05,0.28 0.07,0.42 -0.05,0 -0.11,0 -0.17,0 -0.22,-0.01 -0.45,-0.01 -0.67,-0.01 0,-0.07 -0.01,-0.14 -0.01,-0.21 -0.01,-0.15 -0.02,-0.3 -0.03,-0.45 0.26,-0.01 0.52,-0.02 0.77,-0.02 z m -3.77,-0.22 c 0.02,0 0.04,0 0.06,0 0.02,0.09 0.04,0.18 0.06,0.28 0.03,0.12 0.06,0.23 0.09,0.34 -0.37,0 -0.74,0.01 -1.11,0.02 0,-0.02 0,-0.04 0,-0.06 -0.02,-0.26 -0.04,-0.51 -0.06,-0.77 0.27,0 0.54,0 0.8,0 0,0.1 0.05,0.19 0.16,0.19 z m -1.2,-0.19 c 0.02,0.26 0.03,0.52 0.05,0.79 0,0.02 0,0.03 0,0.05 -0.31,0 -0.62,0.01 -0.93,0.01 -0.03,-0.18 -0.06,-0.37 -0.09,-0.55 0.01,0 0.03,0 0.04,-0.01 0.14,-0.06 0.15,-0.24 0,-0.29 0.32,0 0.62,0 0.93,0 z m -4.81,0.05 c 0,-0.02 0,-0.05 0,-0.07 0.58,0 1.16,0.01 1.74,0.01 -0.58,0.01 -1.16,0.03 -1.74,0.06 z m -0.29,0.02 c -0.21,0.03 -0.21,0.34 0.01,0.35 0,0.05 0.01,0.11 0.02,0.16 -0.1,-0.01 -0.21,-0.02 -0.31,-0.02 -0.15,-0.01 -0.3,-0.01 -0.45,-0.02 -0.02,-0.19 -0.05,-0.38 -0.07,-0.57 0.27,0 0.54,0 0.8,0 0,0.03 0,0.07 0,0.1 z m -1.09,-0.1 c 0.02,0.19 0.04,0.38 0.06,0.57 -0.19,-0.01 -0.39,-0.01 -0.58,-0.02 -0.22,-0.01 -0.22,0.33 0,0.34 0.21,0.01 0.41,0.02 0.62,0.03 0.02,0.15 0.03,0.3 0.05,0.45 0.02,0.16 0.02,0.34 0.08,0.49 0.04,0.1 0.23,0.14 0.25,0 0.02,-0.17 0,-0.33 -0.02,-0.49 -0.02,-0.14 -0.03,-0.29 -0.05,-0.43 0.14,0.01 0.27,0.01 0.41,0.02 0.12,0 0.23,0 0.35,0 0.01,0.04 0.01,0.09 0.02,0.13 0.02,0.14 0.06,0.27 0.1,0.4 -0.16,0.01 -0.32,0.01 -0.49,0.01 -0.16,0 -0.16,0.25 0,0.25 0.19,0.01 0.37,0.02 0.56,0.04 0.05,0.16 0.12,0.37 0.24,0.51 -0.01,0 -0.01,0 -0.02,0 -0.36,0.03 -0.71,0.05 -1.07,0.06 -0.72,0.01 -1.45,-0.03 -2.17,-0.14 -0.18,-0.03 -0.26,0.24 -0.08,0.28 0.01,0 0.02,0 0.03,0.01 -0.67,0 -1.34,-0.01 -2.01,-0.01 0.03,-0.17 0.02,-0.36 0.02,-0.51 0,-0.25 0,-0.5 -0.01,-0.75 0,-0.09 0,-0.17 -0.01,-0.26 0.23,0 0.47,0 0.7,0 0.22,0 0.45,-0.01 0.67,-0.02 v 0.06 c 0,0.2 0.02,0.4 0.04,0.6 0.01,0.06 0.08,0.06 0.09,0 0.03,-0.2 0.04,-0.4 0.04,-0.6 v -0.07 c 0.01,0 0.01,0 0.02,0 0.12,-0.01 0.12,-0.18 0,-0.19 -0.01,0 -0.01,0 -0.02,0 v -0.34 c 0,0 0,0 0,0 0.15,0 0.3,0.01 0.45,0.01 0.1,0 0.12,-0.15 0.02,-0.17 -0.6,-0.13 -1.2,-0.2 -1.81,-0.26 1.18,-0.01 2.35,-0.01 3.52,0 z m -14.47,2.05 c -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 -0.01,0 -0.02,0.01 -0.03,0.01 -0.5,-0.04 -1,-0.08 -1.5,-0.12 0,-0.12 0.01,-0.23 -0.01,-0.36 0,-0.03 -0.02,-0.04 -0.04,-0.05 -0.02,-0.18 -0.03,-0.37 -0.05,-0.55 0.16,0 0.33,-0.01 0.49,-0.01 0,0.03 0,0.06 0,0.08 0,0.08 0.01,0.17 0.01,0.25 0.01,0.08 0,0.17 0.05,0.24 -0.21,-0.01 -0.2,0.31 0.01,0.34 1.17,0.11 2.33,0.2 3.5,0.27 0,0.02 0.01,0.03 0.01,0.05 -0.65,-0.04 -1.3,-0.06 -1.94,-0.1 -0.15,0 -0.3,-0.01 -0.46,-0.03 z m -0.88,-0.75 c 0,-0.08 -0.01,-0.15 -0.01,-0.23 0,-0.03 0,-0.07 -0.01,-0.1 0.21,0 0.41,0.01 0.62,0.01 0,0.01 0,0.02 0,0.03 0,0.04 0.02,0.07 0.04,0.11 0.03,0.07 0.16,0.07 0.2,0 0.01,-0.03 0.03,-0.06 0.03,-0.09 0,-0.02 0,-0.03 0,-0.05 0.15,0 0.31,0 0.46,0.01 0,0.1 0.01,0.2 0.01,0.3 0.01,0.13 0.02,0.25 0.03,0.38 -0.47,-0.03 -0.94,-0.07 -1.41,-0.11 0,0 0,0 0,0 0.06,-0.09 0.04,-0.17 0.04,-0.26 z m 1.6,0.37 c 0,-0.13 0.01,-0.26 0,-0.39 0,-0.1 -0.01,-0.2 -0.02,-0.29 0.2,0.01 0.41,0.02 0.61,0.03 0.01,0.1 0.02,0.2 0.04,0.29 0.03,0.12 0.19,0.08 0.2,-0.03 0.01,-0.08 0,-0.17 0,-0.25 0.24,0.01 0.49,0.02 0.73,0.03 0.02,0.22 0.03,0.45 0.05,0.67 0,0.02 0,0.04 0.01,0.06 -0.54,-0.04 -1.08,-0.08 -1.62,-0.12 z m 1.54,-1.03 c -0.24,-0.01 -0.48,-0.02 -0.73,-0.03 0,-0.03 -0.01,-0.06 -0.01,-0.09 0,-0.05 -0.01,-0.1 -0.01,-0.15 0.24,0 0.49,0 0.72,-0.07 0.01,0.11 0.02,0.23 0.03,0.34 z m -0.97,-0.11 c 0,0.02 0,0.05 0,0.07 -0.2,-0.01 -0.4,-0.02 -0.61,-0.02 0,-0.07 -0.01,-0.13 -0.01,-0.2 0.2,0 0.41,0 0.61,0 0,0.04 0.01,0.1 0.01,0.15 z m -0.86,0.04 c -0.15,0 -0.3,0 -0.44,0 0,-0.05 0,-0.09 0,-0.14 0,-0.02 0,-0.04 0,-0.07 0.15,0 0.29,0 0.44,0.01 0,0.07 0,0.14 0,0.2 z m -0.71,-0.14 c 0,0.05 0,0.09 0,0.14 -0.22,0 -0.43,-0.01 -0.65,0 0,0 0,-0.01 0,-0.01 0,-0.07 -0.01,-0.13 -0.01,-0.2 0.22,0 0.44,0.01 0.66,0.01 z m 2.91,1.73 c 0.7,0.04 1.4,0.08 2.1,0.11 0.97,0.03 1.95,0.05 2.93,0.05 0.92,0 1.85,0.04 2.76,-0.11 0,0.03 0,0.07 0,0.1 0,0.06 0,0.12 0.01,0.18 -2.6,-0.04 -5.2,-0.13 -7.8,-0.27 -0.01,-0.03 0,-0.05 0,-0.06 z m 7.13,-0.6 c -0.02,-0.21 -0.05,-0.42 -0.08,-0.64 l -0.1,-0.76 c 0.28,0.03 0.57,0.06 0.85,0.1 -0.01,0.32 -0.02,0.64 -0.02,0.96 0,0.24 0,0.48 -0.01,0.72 0,0.02 0,0.04 0,0.06 -0.22,-0.03 -0.44,-0.05 -0.66,-0.06 0.02,-0.13 0.03,-0.26 0.02,-0.38 z m -1.42,-1.12 c 0,0.07 0.01,0.14 0.01,0.2 -0.07,0.01 -0.15,0.02 -0.22,0.02 -0.19,0.01 -0.38,0.02 -0.57,0.03 0,-0.05 0,-0.1 0,-0.15 v -0.45 c 0.21,0 0.42,0 0.63,0 0.04,0 0.08,0 0.12,0 0.01,0.12 0.02,0.23 0.03,0.35 z m -2.02,0.21 c -0.02,-0.16 -0.05,-0.33 -0.07,-0.49 0.23,-0.03 0.46,-0.06 0.7,-0.07 0.13,0 0.25,0 0.38,0 v 0.45 c 0,0.05 0,0.11 0,0.16 -0.03,0 -0.07,0 -0.1,0 -0.3,0.01 -0.6,0 -0.9,0.02 0,-0.02 -0.01,-0.05 -0.01,-0.07 z m 5.8,0.09 c -0.22,-0.01 -0.45,-0.02 -0.67,-0.02 -0.24,0 -0.47,0 -0.71,0 0,-0.14 0,-0.28 -0.01,-0.42 0.46,0.05 0.92,0.09 1.39,0.11 0,0 0,0 0,0 z m -7.46,-0.82 c 0,0.02 0.01,0.04 0.01,0.05 -0.1,0.02 -0.2,0.03 -0.31,0.05 -0.18,0.03 -0.14,0.33 0.04,0.31 0.11,-0.01 0.21,-0.02 0.32,-0.03 0.01,0.08 0.03,0.16 0.04,0.25 0.02,0.11 0.04,0.22 0.06,0.33 0.02,0.1 0.03,0.22 0.08,0.31 0.02,0.04 0.1,0.04 0.11,-0.01 0.02,-0.11 -0.01,-0.22 -0.03,-0.32 -0.02,-0.11 -0.03,-0.23 -0.05,-0.34 -0.01,-0.08 -0.03,-0.15 -0.04,-0.23 0.25,-0.02 0.51,-0.04 0.76,-0.07 0.12,-0.01 0.24,-0.02 0.35,-0.03 0.02,0.17 0.04,0.33 0.07,0.5 0,0.02 0.01,0.04 0.01,0.06 -0.23,0.02 -0.46,0.04 -0.69,0.05 -0.18,0.01 -0.19,0.3 0,0.29 0.25,-0.01 0.5,-0.02 0.74,-0.03 0.01,0.06 0.01,0.12 0.03,0.18 0.02,0.09 0.04,0.18 0.06,0.26 0.02,0.1 0.09,0.23 0.07,0.34 0,0.03 0.02,0.05 0.05,0.06 0.12,0.04 0.23,-0.1 0.16,-0.21 -0.02,-0.04 -0.09,-0.01 -0.08,0.03 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.01,-0.08 0,-0.17 0,-0.25 0,-0.1 -0.01,-0.19 -0.01,-0.29 0,-0.05 -0.01,-0.1 -0.02,-0.16 0.3,-0.02 0.6,-0.06 0.9,-0.09 0.02,0 0.05,0 0.07,0 0,0.09 0.01,0.17 0.04,0.25 0.02,0.05 0.12,0.05 0.14,0 0.04,-0.08 0.04,-0.18 0.04,-0.27 0.22,-0.02 0.43,-0.04 0.65,-0.04 0.06,0 0.11,0 0.17,0 0.01,0.11 0.01,0.24 0.06,0.33 0.04,0.06 0.16,0.08 0.19,0 0.05,-0.1 0.03,-0.22 0.02,-0.33 0.15,0 0.3,-0.01 0.45,-0.05 0.14,-0.03 0.1,-0.23 -0.03,-0.24 -0.15,-0.01 -0.29,0 -0.44,0.01 0,-0.06 -0.01,-0.12 -0.01,-0.18 -0.01,-0.11 -0.02,-0.22 -0.02,-0.33 0.08,0 0.15,0 0.23,0.01 0.16,0.01 0.33,0.02 0.49,0 0.03,0.27 0.06,0.53 0.1,0.8 0.02,0.21 0.05,0.42 0.08,0.62 0.02,0.1 0.03,0.19 0.06,0.29 0.01,0.03 0.02,0.07 0.03,0.11 -0.67,-0.02 -1.34,0.01 -2.01,0.01 -0.8,0 -1.59,-0.02 -2.39,-0.05 0.02,-0.02 0.03,-0.04 0.05,-0.06 0.01,-0.02 0.01,-0.05 -0.01,-0.07 -0.02,-0.02 -0.05,-0.02 -0.07,-0.01 -0.06,0.04 -0.12,0.09 -0.18,0.13 -0.09,0 -0.19,0 -0.28,-0.01 -0.69,-0.02 -1.37,-0.06 -2.06,-0.1 0,-0.02 0,-0.05 0,-0.07 -0.02,-0.22 -0.03,-0.44 -0.05,-0.66 0.23,0.01 0.46,0.02 0.68,0.03 0.16,0.01 0.33,0.01 0.5,0.01 0,0.06 0,0.11 0,0.17 0.01,0.14 0.21,0.14 0.22,0 0,-0.06 0,-0.12 0,-0.18 0.04,0 0.09,0 0.14,-0.01 0.12,-0.02 0.1,-0.19 0,-0.23 -0.04,-0.02 -0.09,-0.02 -0.13,-0.03 0,-0.31 0.01,-0.61 0,-0.92 0.22,0.03 0.45,0.03 0.67,0.04 z m 0.16,0 c 0.05,0 0.09,0 0.14,0 -0.05,0.01 -0.09,0.02 -0.14,0.02 0.01,-0.01 0.01,-0.01 0,-0.02 z m -1.07,-0.02 c 0,0.29 0,0.58 0,0.87 -0.15,-0.02 -0.31,-0.04 -0.45,-0.05 -0.26,-0.03 -0.51,-0.05 -0.77,-0.07 -0.02,-0.26 -0.04,-0.52 -0.07,-0.78 0.43,0.01 0.86,0.03 1.29,0.03 z m -1.54,-0.03 c 0,0.07 0.01,0.13 0.01,0.2 -0.24,-0.07 -0.49,-0.06 -0.74,-0.07 0,-0.05 -0.01,-0.1 -0.01,-0.15 0.25,0.01 0.49,0.02 0.74,0.02 z m -0.96,-0.02 c 0,0.05 0.01,0.1 0.01,0.15 -0.2,0 -0.41,0 -0.61,0 0,-0.05 -0.01,-0.11 -0.01,-0.16 0.2,0.01 0.41,0.01 0.61,0.01 z m -0.84,-0.01 c 0,0.06 0,0.11 0.01,0.17 -0.14,0 -0.29,0 -0.43,0.01 0,-0.06 0,-0.12 0,-0.18 0.14,-0.01 0.28,0 0.42,0 z m -0.69,0.18 c -0.23,0 -0.46,0.01 -0.68,0.01 0,-0.07 -0.01,-0.14 -0.01,-0.21 0.23,0.01 0.47,0.01 0.7,0.01 z m -0.96,-0.21 0.01,0.22 c 0,0 0,0 0,0 -0.21,0 -0.21,0.32 0,0.32 0.01,0 0.01,0 0.02,0 l 0.01,0.2 c 0,0 0,0.01 0,0.01 -0.17,0 -0.34,0 -0.52,0 -0.03,-0.26 -0.07,-0.51 -0.11,-0.77 0.2,0.01 0.4,0.01 0.59,0.02 z m -0.91,-0.02 c 0.03,0.26 0.07,0.53 0.11,0.79 -0.12,0.01 -0.23,0.03 -0.35,0.04 -0.02,-0.28 -0.03,-0.56 -0.06,-0.84 0.1,0.01 0.2,0.01 0.3,0.01 z m -0.17,1.94 c -0.02,-0.26 -0.04,-0.52 -0.06,-0.78 0.13,0.01 0.26,0.03 0.39,0.03 0.05,0.31 0.11,0.62 0.17,0.93 -0.16,-0.01 -0.32,-0.03 -0.48,-0.04 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 z m 38.23,-0.89 c -0.81,0.13 -1.61,0.28 -2.42,0.4 -0.01,-0.04 -0.01,-0.08 -0.02,-0.12 l -0.12,-0.63 c -0.04,-0.21 -0.08,-0.43 -0.12,-0.64 0.51,-0.4 0.36,-1.31 -0.46,-1.4 -1.16,-0.12 -2.36,-0.04 -3.53,-0.05 -1.11,0 -2.22,0 -3.33,0 -2.29,0 -4.57,0 -6.86,0.02 -4.57,0.03 -9.15,0.03 -13.72,0.03 -2.61,0 -5.23,0.04 -7.84,0.09 -0.1,0 -0.19,0.03 -0.27,0.06 -0.22,-0.14 -0.55,-0.09 -0.61,0.21 -0.07,0.33 -0.09,0.65 -0.08,0.99 0.01,0.33 0.02,0.66 0.02,0.99 0.01,0.32 0.02,0.64 0.02,0.95 0,0 0,0 0,0 -1.18,-0.11 -2.36,-0.21 -3.54,-0.31 0.04,-0.46 0.02,-0.94 0.02,-1.4 0,-0.52 -0.01,-1.03 -0.01,-1.55 -0.01,-0.84 -0.02,-1.68 -0.05,-2.52 6.42,0.1 12.85,-0.1 19.26,-0.18 l 20.63,-0.26 c 1.12,-0.01 2.23,-0.03 3.35,-0.04 -0.13,-0.44 -0.23,-0.88 -0.32,-1.32 0.14,0.53 0.29,1.07 0.43,1.6 0.43,1.61 0.86,3.22 1.3,4.83 -0.58,0.05 -1.15,0.16 -1.73,0.25 z m -44.66,-5 c 0.09,0.08 0.21,0.13 0.37,0.14 0.05,0 0.1,0 0.15,0 -0.02,0.81 -0.04,1.61 -0.04,2.42 -0.1,-0.01 -0.2,0 -0.29,0 0.01,-0.46 0.03,-0.92 0.04,-1.38 0.08,-0.04 0.06,-0.14 0.01,-0.19 0,-0.18 0.01,-0.36 0.01,-0.54 0,-0.2 -0.3,-0.2 -0.31,0 -0.01,0.15 -0.01,0.3 -0.02,0.46 -0.03,0 -0.05,-0.01 -0.08,-0.01 0.04,-0.3 0.1,-0.6 0.16,-0.9 z m -0.91,4.62 c 0.08,0 0.15,-0.01 0.23,-0.01 0.01,0.07 0.02,0.13 0.03,0.2 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.1,0.07 -0.2,0.13 -0.31,0.19 0.02,-0.14 0.05,-0.27 0.08,-0.41 z m -1.1,6.55 c -0.03,0 -0.06,-0.01 -0.09,-0.01 0.02,-0.22 0.05,-0.43 0.08,-0.65 0,0.22 0,0.44 0.01,0.66 z m 0.18,1.37 c 0,0.17 0,0.33 0,0.5 0,0.32 0,0.66 0.08,0.97 0.02,0.06 0.11,0.06 0.13,0 0.08,-0.32 0.08,-0.65 0.08,-0.97 v -0.47 c 1.21,0.15 2.42,0.28 3.63,0.39 0,0.24 0,0.49 0,0.73 0,0.15 0,0.29 0.01,0.44 0.01,0.14 0,0.29 0.04,0.43 0.02,0.09 0.16,0.09 0.18,0 0.04,-0.14 0.03,-0.29 0.04,-0.43 0.01,-0.15 0.01,-0.29 0.01,-0.44 0,-0.24 0,-0.47 0,-0.71 0.92,0.08 1.84,0.16 2.77,0.22 0,0.42 0,0.84 0,1.26 0,0.46 -0.05,0.95 0.06,1.4 0.02,0.07 0.12,0.07 0.14,0 0.11,-0.45 0.06,-0.94 0.06,-1.4 0,-0.41 0,-0.83 0,-1.24 1.01,0.06 2.02,0.12 3.03,0.16 0.01,0.23 0.02,0.47 0.03,0.7 0.02,0.35 0.03,0.69 0.12,1.03 0.02,0.06 0.12,0.07 0.13,0 0.05,-0.34 0.04,-0.68 0.02,-1.03 -0.01,-0.23 -0.02,-0.46 -0.04,-0.69 0.38,0.01 0.76,0.02 1.14,0.03 0.02,0.21 0.04,0.42 0.07,0.64 0.02,0.15 0.03,0.3 0.05,0.45 0.01,0.08 0.02,0.16 0.03,0.24 0.01,0.08 0.01,0.16 0.08,0.22 0.07,0.06 0.15,0.05 0.2,-0.03 0.05,-0.07 0.03,-0.15 0.02,-0.24 -0.01,-0.08 -0.02,-0.16 -0.03,-0.24 -0.02,-0.15 -0.04,-0.3 -0.06,-0.45 -0.03,-0.2 -0.06,-0.39 -0.09,-0.59 0.49,0.01 0.99,0.03 1.48,0.04 0,0.16 0,0.33 0,0.49 0,0.08 0,0.16 0,0.24 0,0.04 0,0.08 0,0.12 0,0.04 0.02,0.09 0.02,0.13 0.01,0.05 0.09,0.05 0.1,0 0.01,-0.04 0.02,-0.08 0.02,-0.12 0,-0.04 0,-0.08 0,-0.13 0,-0.08 0,-0.16 0,-0.24 0,-0.16 0,-0.33 0,-0.49 0.21,0 0.43,0.01 0.64,0.02 0.11,0 0.22,0 0.33,0 l -0.01,0.57 c 0,0.13 0,0.26 0,0.39 0,0.14 0.03,0.28 0.04,0.42 0.01,0.14 0.21,0.14 0.22,0 0.01,-0.14 0.04,-0.27 0.04,-0.41 0,-0.14 0,-0.27 0,-0.41 l -0.01,-0.57 c 0.49,0.01 0.97,0.01 1.46,0.01 0,0.15 0,0.31 0,0.46 0,0.1 0,0.2 0.01,0.3 0.01,0.1 0,0.21 0.03,0.3 0.03,0.08 0.14,0.08 0.17,0 0.04,-0.09 0.03,-0.2 0.03,-0.3 0.01,-0.1 0.01,-0.2 0.01,-0.3 0,-0.15 0,-0.31 0,-0.46 0.43,0 0.86,0.01 1.29,0.01 -0.01,0.02 -0.03,0.03 -0.03,0.06 v 0.56 c 0,0.09 0,0.18 0,0.28 0,0.05 0,0.09 0.01,0.14 0,0.06 0.01,0.1 0.04,0.16 0.03,0.07 0.14,0.07 0.18,0 0.03,-0.05 0.03,-0.1 0.04,-0.16 0,-0.04 0,-0.09 0.01,-0.13 0,-0.1 0,-0.19 0,-0.29 v -0.56 c 0,-0.03 -0.01,-0.04 -0.03,-0.06 0.77,0 1.53,-0.01 2.3,-0.01 0,0.05 0.01,0.09 0.01,0.14 0.01,0.1 0.02,0.2 0.03,0.3 0.01,0.05 0.01,0.09 0.02,0.14 0.01,0.06 0.03,0.11 0.05,0.17 0.03,0.08 0.17,0.1 0.18,0 0.01,-0.05 0.02,-0.11 0.02,-0.17 0,-0.05 -0.01,-0.09 -0.01,-0.14 -0.01,-0.1 -0.02,-0.2 -0.03,-0.3 0,-0.05 -0.01,-0.09 -0.01,-0.14 0.48,0 0.95,-0.01 1.43,-0.01 0,0.01 0,0.01 0,0.01 0.04,0.2 0.07,0.41 0.11,0.61 0.04,0.2 0.06,0.42 0.16,0.59 0.04,0.06 0.16,0.06 0.17,-0.02 0.04,-0.21 -0.02,-0.43 -0.06,-0.64 l -0.1,-0.56 c 0.38,-0.01 0.76,-0.01 1.14,-0.01 0.02,0.14 0.04,0.28 0.07,0.42 0.03,0.16 0.07,0.33 0.1,0.49 l 0.11,0.49 c 0.04,0.18 0.07,0.35 0.16,0.51 0.07,0.13 0.26,0.06 0.27,-0.07 0.01,-0.17 -0.03,-0.34 -0.07,-0.5 -0.04,-0.17 -0.08,-0.34 -0.11,-0.51 -0.04,-0.16 -0.07,-0.32 -0.11,-0.49 -0.03,-0.12 -0.06,-0.24 -0.09,-0.35 1.39,-0.02 2.78,-0.05 4.17,-0.09 -0.02,0.02 -0.04,0.05 -0.04,0.09 0,0.09 0,0.18 0,0.28 0,0.05 0,0.09 0,0.14 0,0.05 0.01,0.1 0.02,0.16 0.02,0.1 0.18,0.1 0.2,0 0.01,-0.05 0.02,-0.1 0.02,-0.16 0,-0.05 0,-0.09 0,-0.14 0,-0.09 0,-0.18 0,-0.28 0,-0.04 -0.02,-0.07 -0.04,-0.09 0.91,-0.02 1.82,-0.05 2.73,-0.08 0.01,0.06 0.01,0.12 0.02,0.17 0,0.03 0.01,0.05 0.03,0.07 0.02,0.02 0.04,0.03 0.07,0.03 0.06,0 0.09,-0.04 0.1,-0.1 0.01,-0.06 0.01,-0.12 0.02,-0.18 0.41,-0.01 0.82,-0.02 1.23,-0.04 0.31,-0.01 0.62,-0.03 0.93,-0.04 0.01,0.13 0.02,0.25 0.02,0.38 0.02,0.26 0.04,0.51 0.11,0.76 0.01,0.05 0.11,0.06 0.12,0 0.02,-0.12 0.01,-0.25 0.02,-0.37 0.01,-0.13 -0.01,-0.26 -0.02,-0.39 -0.01,-0.13 -0.02,-0.26 -0.03,-0.39 0.59,-0.02 1.19,-0.05 1.78,-0.07 0.01,0.04 0.01,0.08 0.02,0.13 0.01,0.08 0.01,0.16 0.03,0.24 0.04,0.14 0.05,0.29 0.11,0.43 0.04,0.1 0.17,0.08 0.18,-0.02 0.02,-0.14 -0.01,-0.29 0,-0.43 0,-0.07 -0.01,-0.14 -0.02,-0.21 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 0.49,-0.02 0.97,-0.04 1.46,-0.06 -0.04,0.01 -0.07,0.04 -0.07,0.09 0,0.27 0.01,0.54 0.02,0.81 0.01,0.27 0,0.54 0.03,0.81 0.01,0.07 0.1,0.07 0.1,0 0.03,-0.27 0.02,-0.54 0.03,-0.81 0.01,-0.27 0.01,-0.54 0.02,-0.81 0,-0.06 -0.04,-0.08 -0.08,-0.09 1.03,-0.05 2.06,-0.13 3.09,-0.21 0,0.19 0,0.39 0,0.58 0,0.12 0,0.24 0,0.36 0,0.12 0,0.24 0.03,0.36 0.03,0.11 0.2,0.11 0.22,0 0.03,-0.12 0.03,-0.24 0.03,-0.36 0,-0.12 0,-0.24 0,-0.36 0,-0.2 0,-0.4 0,-0.6 0.39,-0.03 0.78,-0.05 1.16,-0.08 0,0.21 0,0.42 0,0.63 0,0.13 0,0.26 0,0.39 0,0.13 -0.01,0.26 0.03,0.38 0.02,0.08 0.14,0.08 0.17,0 0.04,-0.12 0.02,-0.25 0.03,-0.38 0,-0.13 0,-0.26 0,-0.39 0,-0.22 0,-0.43 0,-0.65 0.62,-0.05 1.24,-0.13 1.87,-0.19 -0.06,0.23 -0.1,0.46 -0.09,0.7 0,0.15 0.01,0.3 0.04,0.45 0.01,0.07 0.04,0.13 0.07,0.2 0.03,0.08 0.05,0.15 0.11,0.21 0.05,0.06 0.17,0.03 0.18,-0.05 0.01,-0.07 0,-0.13 0,-0.2 -0.01,-0.07 0,-0.14 -0.01,-0.21 -0.01,-0.13 -0.03,-0.27 -0.03,-0.4 0,-0.25 0.02,-0.49 0.08,-0.73 0.27,-0.03 0.54,-0.05 0.81,-0.08 l 0.04,0.64 c 0.01,0.13 0.01,0.26 0.02,0.39 0.01,0.13 0.01,0.26 0.05,0.39 0.03,0.09 0.18,0.11 0.2,0 0.03,-0.13 0.02,-0.26 0.01,-0.39 -0.01,-0.13 -0.02,-0.26 -0.03,-0.39 -0.01,-0.22 -0.03,-0.44 -0.04,-0.67 0.26,-0.03 0.51,-0.05 0.77,-0.08 -0.02,0.58 -0.04,1.16 -0.06,1.74 -0.02,0.68 -0.05,1.36 0.07,2.04 0.01,0.06 0.1,0.05 0.11,0 0.15,-0.67 0.14,-1.36 0.15,-2.04 0.01,-0.59 0.01,-1.19 0.02,-1.78 0.21,-0.03 0.42,-0.07 0.63,-0.09 0.01,0.22 0.03,0.44 0.04,0.66 0.01,0.15 0.02,0.29 0.03,0.44 0.01,0.14 0.02,0.3 0.08,0.43 0.03,0.07 0.14,0.09 0.17,0 0.04,-0.14 0.04,-0.29 0.03,-0.43 -0.01,-0.15 -0.02,-0.29 -0.02,-0.44 -0.01,-0.23 -0.03,-0.47 -0.04,-0.7 0.53,-0.07 1.06,-0.16 1.59,-0.24 0,0.48 -0.01,0.96 -0.01,1.44 0,0.27 0,0.53 0,0.8 0,0.24 -0.02,0.53 0.04,0.76 0.02,0.08 0.15,0.08 0.17,0 0.07,-0.23 0.05,-0.52 0.04,-0.76 0,-0.27 0,-0.53 0,-0.8 0,-0.49 -0.01,-0.99 -0.01,-1.48 0.28,-0.04 0.56,-0.08 0.84,-0.13 0,0 0,0 0,0 0,0 0,0 0,0 -0.02,0.25 -0.04,0.51 -0.05,0.76 -0.02,0.25 -0.05,0.51 -0.03,0.76 0,0.05 0.04,0.07 0.08,0.09 -0.03,0.36 -0.07,0.72 -0.14,1.08 -0.05,0.02 -0.1,0.07 -0.1,0.13 l 0.01,0.37 c -0.15,0.64 -0.36,1.26 -0.61,1.86 -0.02,-0.13 -0.03,-0.27 -0.04,-0.4 -0.01,-0.31 0.01,-0.61 0.07,-0.92 0.04,-0.19 -0.24,-0.27 -0.3,-0.08 -0.09,0.32 -0.15,0.65 -0.16,0.98 0,0.16 0,0.32 0.02,0.48 0.02,0.14 0.04,0.34 0.13,0.46 -0.21,0.01 -0.43,0.03 -0.64,0.06 -0.02,-0.03 -0.03,-0.06 -0.05,-0.09 -0.04,-0.06 -0.07,-0.12 -0.1,-0.18 -0.06,-0.12 -0.1,-0.25 -0.12,-0.38 -0.05,-0.26 -0.03,-0.54 0.05,-0.79 0.03,-0.08 -0.03,-0.17 -0.11,-0.19 -0.09,-0.02 -0.16,0.03 -0.19,0.11 -0.11,0.31 -0.14,0.63 -0.09,0.95 0.02,0.16 0.07,0.31 0.14,0.46 0.02,0.05 0.05,0.11 0.08,0.17 -0.41,0.05 -0.81,0.12 -1.22,0.19 -0.03,-0.13 -0.06,-0.25 -0.07,-0.38 -0.04,-0.33 -0.04,-0.66 0.01,-0.99 0.01,-0.08 -0.02,-0.15 -0.1,-0.17 -0.07,-0.02 -0.16,0.02 -0.17,0.1 -0.05,0.36 -0.06,0.72 -0.02,1.08 0.02,0.14 0.05,0.28 0.08,0.42 -0.31,0.06 -0.62,0.11 -0.93,0.16 -0.01,-0.08 -0.01,-0.16 -0.02,-0.25 -0.02,-0.15 -0.04,-0.3 -0.06,-0.45 -0.04,-0.31 -0.08,-0.61 -0.12,-0.92 -0.01,-0.07 -0.05,-0.13 -0.13,-0.13 -0.06,0 -0.14,0.06 -0.13,0.13 0.04,0.31 0.07,0.63 0.11,0.94 0.02,0.16 0.04,0.31 0.05,0.47 0.01,0.09 0.03,0.17 0.04,0.25 -0.24,0.04 -0.48,0.09 -0.72,0.12 -0.03,0 -0.06,0.01 -0.09,0.01 0,-0.02 0.01,-0.03 0.01,-0.05 0.01,-0.08 0.02,-0.16 0.02,-0.24 0,-0.18 0,-0.36 0,-0.55 v -1.07 c 0,-0.18 -0.28,-0.18 -0.28,0 v 1.6 c 0,0.09 0.01,0.17 0.02,0.26 0,0.03 0.01,0.05 0.01,0.08 -0.56,0.08 -1.11,0.14 -1.67,0.22 -0.01,-0.11 -0.02,-0.22 -0.03,-0.33 -0.02,-0.24 -0.04,-0.49 -0.06,-0.73 -0.01,-0.14 -0.23,-0.14 -0.22,0 0.01,0.24 0.03,0.49 0.04,0.73 0.01,0.12 0.01,0.24 0.02,0.36 0,0 0,0 0,0 -0.38,0.05 -0.76,0.1 -1.14,0.15 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.04,-0.1 -0.07,-0.21 -0.08,-0.32 -0.04,-0.21 -0.02,-0.44 0.03,-0.64 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.06,0.25 -0.07,0.51 -0.03,0.77 0.02,0.11 0.05,0.22 0.09,0.33 -0.37,0.04 -0.73,0.1 -1.1,0.14 -0.06,0.01 -0.13,0.01 -0.19,0.02 0.03,-0.36 0.05,-0.73 0.06,-1.08 0.02,-0.59 0.03,-1.18 0.04,-1.77 0,-0.17 -0.26,-0.17 -0.26,0 -0.02,0.59 -0.05,1.18 -0.07,1.77 -0.01,0.36 -0.01,0.73 0,1.1 -0.46,0.05 -0.91,0.08 -1.37,0.13 0.01,-0.07 0.01,-0.13 0.02,-0.2 0.02,-0.21 0.04,-0.42 0.06,-0.63 0.01,-0.08 -0.07,-0.15 -0.15,-0.15 -0.09,0 -0.14,0.07 -0.15,0.15 -0.02,0.21 -0.04,0.41 -0.06,0.62 -0.01,0.08 -0.01,0.16 -0.02,0.24 -1.19,0.12 -2.39,0.22 -3.59,0.31 -0.02,-0.14 -0.03,-0.28 -0.05,-0.42 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.07,0 -0.16,0.07 -0.15,0.15 0.02,0.15 0.03,0.29 0.05,0.44 -0.26,0.02 -0.52,0.03 -0.78,0.05 0,-0.02 0,-0.04 0,-0.05 0,-0.02 -0.01,-0.04 -0.03,-0.06 -0.02,-0.02 -0.04,-0.03 -0.06,-0.03 -0.02,0 -0.05,0.01 -0.06,0.03 -0.02,0.02 -0.02,0.04 -0.03,0.06 0,0.02 0,0.04 -0.01,0.06 -0.86,0.06 -1.73,0.13 -2.59,0.17 -0.14,0.01 -0.27,0.01 -0.41,0.01 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.07 -0.01,0.1 0,0 0,0.01 0,0.01 -0.75,0.03 -1.5,0.06 -2.25,0.08 0,0 0,-0.01 0,-0.01 0,-0.04 0,-0.08 0.01,-0.11 0,-0.03 -0.02,-0.07 -0.04,-0.09 -0.02,-0.02 -0.06,-0.04 -0.09,-0.04 -0.03,0 -0.07,0.01 -0.09,0.04 -0.02,0.02 -0.04,0.06 -0.04,0.09 0,0.04 0,0.08 0.01,0.11 0,0.01 0,0.01 0,0.02 -0.53,0.02 -1.07,0.05 -1.6,0.06 0,-0.14 0,-0.27 0,-0.41 0,-0.16 -0.25,-0.16 -0.25,0 0,0.14 0,0.27 0,0.41 -0.34,0.01 -0.67,0 -1.01,0.01 0.01,-0.5 0.02,-1 0.02,-1.5 0,-0.1 -0.16,-0.1 -0.16,0 0,0.5 0.01,1 0.02,1.5 -0.51,0.01 -1.03,0.01 -1.54,0.01 0,-0.12 0.01,-0.24 0.01,-0.36 0,-0.28 0,-0.55 0,-0.83 0,-0.18 -0.27,-0.18 -0.27,0 0,0.28 0,0.55 0,0.83 0,0.12 0,0.24 0.01,0.36 -0.57,0 -1.14,0.02 -1.71,0.01 0,-0.47 0,-0.95 0,-1.42 0,-0.14 -0.22,-0.14 -0.22,0 0,0.47 0,0.94 0,1.42 -0.32,0 -0.64,-0.02 -0.97,-0.02 0.03,-0.23 -0.02,-0.46 -0.03,-0.69 -0.02,-0.23 -0.04,-0.47 -0.06,-0.7 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.14 0.02,0.24 0.03,0.48 0.05,0.72 0.02,0.22 0.02,0.45 0.07,0.67 -0.31,0 -0.63,-0.01 -0.94,-0.02 0,-0.07 0,-0.14 0,-0.22 0,-0.28 0,-0.55 0,-0.83 0,-0.16 -0.26,-0.16 -0.25,0 0,0.28 0,0.55 0,0.83 0,0.07 0,0.14 0,0.21 -0.33,-0.01 -0.67,-0.01 -1,-0.02 -0.01,-0.11 -0.03,-0.22 -0.04,-0.33 -0.03,-0.23 -0.05,-0.46 -0.08,-0.69 -0.05,-0.47 -0.11,-0.94 -0.16,-1.41 -0.02,-0.14 -0.25,-0.15 -0.23,0 0.05,0.48 0.1,0.96 0.15,1.44 0.02,0.24 0.05,0.48 0.07,0.72 0.01,0.09 0.02,0.18 0.03,0.27 -0.55,-0.02 -1.1,-0.03 -1.65,-0.06 0,-0.03 0,-0.05 0,-0.08 v -0.55 c 0,-0.14 -0.21,-0.14 -0.21,0 v 0.55 c 0,0.02 0,0.05 0,0.07 -0.29,-0.01 -0.58,-0.03 -0.87,-0.04 0,-0.01 0,-0.03 0,-0.04 0,-0.13 0,-0.27 0,-0.4 0,-0.26 0,-0.53 0,-0.79 0,-0.14 -0.21,-0.14 -0.21,0 0,0.26 0,0.53 0,0.79 0,0.13 0,0.26 0,0.39 0,0.01 0,0.03 0,0.04 -0.42,-0.02 -0.84,-0.04 -1.25,-0.06 0.02,-0.01 0.05,-0.01 0.06,-0.04 0.03,-0.1 0.03,-0.2 0.03,-0.31 0,-0.1 0.01,-0.2 0.01,-0.3 0,-0.2 0,-0.41 0,-0.61 0,-0.19 -0.29,-0.19 -0.29,0 0,0.2 0,0.41 0,0.61 0,0.1 0,0.2 0.01,0.3 0,0.11 0,0.21 0.03,0.31 0.01,0.03 0.03,0.03 0.05,0.04 -0.46,-0.03 -0.91,-0.04 -1.37,-0.07 -0.14,-0.01 -0.29,-0.02 -0.43,-0.03 0.03,-0.18 0.02,-0.37 0.02,-0.55 0,-0.2 0,-0.41 0,-0.61 0,-0.19 -0.29,-0.19 -0.29,0 0,0.2 0,0.41 0.01,0.61 0,0.17 -0.01,0.36 0.02,0.53 -0.32,-0.02 -0.64,-0.05 -0.97,-0.07 0,-0.02 0,-0.03 0,-0.04 -0.01,-0.1 -0.02,-0.2 -0.02,-0.3 -0.02,-0.2 -0.03,-0.41 -0.05,-0.61 -0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 0.02,0.2 0.03,0.41 0.05,0.61 0.01,0.1 0.02,0.2 0.02,0.3 0,0.01 0,0.02 0,0.02 -0.42,-0.03 -0.84,-0.07 -1.26,-0.1 0,-0.13 0.01,-0.27 0.02,-0.4 0,-0.05 -0.04,-0.09 -0.09,-0.09 -0.05,0 -0.09,0.04 -0.09,0.09 0,0.13 0.01,0.26 0.01,0.39 -0.42,-0.04 -0.84,-0.08 -1.26,-0.11 0.02,-0.02 0.03,-0.05 0.02,-0.09 -0.08,-0.27 -0.17,-0.54 -0.21,-0.83 -0.04,-0.28 -0.03,-0.57 0.01,-0.85 0.01,-0.07 -0.02,-0.13 -0.08,-0.15 -0.06,-0.02 -0.14,0.02 -0.15,0.08 -0.09,0.59 -0.05,1.27 0.24,1.81 -0.4,-0.04 -0.8,-0.07 -1.2,-0.11 0.01,-0.01 0.03,-0.01 0.03,-0.02 0.03,-0.12 0.03,-0.23 0.03,-0.35 0,-0.06 0.01,-0.12 0.01,-0.18 0,-0.06 -0.01,-0.12 -0.01,-0.18 -0.02,-0.24 -0.03,-0.48 -0.05,-0.72 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.08,0 -0.15,0.07 -0.15,0.15 0.02,0.24 0.04,0.48 0.05,0.72 0.01,0.12 0.02,0.24 0.05,0.37 0.02,0.12 0.03,0.23 0.08,0.35 0,0.01 0.02,0.01 0.02,0.02 -0.57,-0.05 -1.15,-0.1 -1.72,-0.15 -0.01,-0.1 -0.03,-0.2 -0.03,-0.31 0,-0.22 0.04,-0.43 0.11,-0.63 0.02,-0.06 -0.03,-0.14 -0.09,-0.16 -0.07,-0.02 -0.13,0.02 -0.16,0.09 -0.08,0.23 -0.12,0.47 -0.12,0.71 0,0.09 0.01,0.18 0.03,0.27 -0.59,-0.05 -1.18,-0.09 -1.77,-0.13 -0.05,-0.1 -0.1,-0.2 -0.15,-0.3 0,-0.1 -0.01,-0.2 -0.01,-0.28 0,-0.26 0,-0.52 0,-0.77 0,-0.51 -0.01,-1.01 -0.01,-1.52 0,-0.17 -0.26,-0.17 -0.26,0 0,0.51 -0.01,1.01 -0.01,1.52 0,0.14 0,0.28 0,0.42 -0.15,-0.36 -0.29,-0.72 -0.4,-1.09 -0.37,-1.26 -0.47,-2.57 -0.41,-3.87 0.09,-0.04 0.21,-0.02 0.34,-0.01 z m 9.3,8.08 c 3.21,0.24 6.44,0.38 9.66,0.43 6.44,0.1 12.89,-0.18 19.31,-0.81 1.78,-0.17 3.55,-0.39 5.32,-0.59 0.93,-0.11 1.86,-0.22 2.78,-0.35 0.37,-0.05 0.75,-0.1 1.12,-0.15 -0.55,0.84 -1.15,1.63 -1.81,2.39 -0.04,-0.08 -0.11,-0.14 -0.23,-0.16 -1.33,-0.18 -2.72,-0.05 -4.06,0.08 -1.35,0.14 -2.7,0.26 -4.06,0.38 -2.74,0.23 -5.48,0.41 -8.23,0.55 -5.43,0.27 -10.86,0.31 -16.29,0.26 -1.55,-0.01 -3.1,-0.04 -4.65,-0.09 -0.77,-0.02 -1.55,-0.07 -2.33,-0.06 -0.61,0.01 -1.23,-0.02 -1.82,0.09 -0.8,-0.82 -1.55,-1.68 -2.21,-2.62 -0.03,-0.04 -0.05,-0.09 -0.08,-0.13 2.52,0.39 5.06,0.6 7.58,0.78 z m 53.59,-4.95 c -0.13,-0.02 -0.25,-0.03 -0.38,-0.03 h -1.03 c -0.09,-0.28 -0.19,-0.57 -0.28,-0.85 0.24,-0.02 0.48,-0.04 0.72,-0.06 0.17,-0.01 0.33,-0.03 0.5,-0.04 0.16,-0.02 0.37,-0.01 0.51,-0.09 0.11,-0.06 0.07,-0.21 -0.03,-0.25 -0.15,-0.06 -0.34,-0.01 -0.5,0 -0.17,0.01 -0.33,0.03 -0.5,0.04 -0.27,0.02 -0.54,0.05 -0.81,0.07 -0.23,-0.71 -0.47,-1.41 -0.7,-2.12 0.35,-0.18 0.67,-0.41 0.95,-0.68 0.06,0.02 0.12,0.05 0.18,0.07 0.09,0.03 0.17,0.06 0.26,0.09 0.04,0.02 0.09,0.03 0.13,0.05 0.06,0.02 0.12,0.02 0.19,0 0.09,-0.03 0.16,-0.15 0.1,-0.24 -0.05,-0.06 -0.09,-0.1 -0.16,-0.13 -0.04,-0.01 -0.09,-0.03 -0.13,-0.04 -0.09,-0.03 -0.17,-0.05 -0.26,-0.08 0,0 -0.01,0 -0.01,0 0.13,-0.15 0.26,-0.3 0.37,-0.47 0.12,-0.17 0.23,-0.36 0.32,-0.55 0.1,0.02 0.2,0.03 0.3,0.05 0.18,0.03 0.36,0.06 0.54,0.08 0.18,0.02 0.37,0.07 0.55,0.04 0.11,-0.01 0.13,-0.19 0.03,-0.24 -0.16,-0.08 -0.34,-0.09 -0.52,-0.12 -0.18,-0.03 -0.36,-0.06 -0.54,-0.08 l -0.25,-0.04 c 0.03,-0.09 0.08,-0.18 0.1,-0.27 0.05,-0.2 0.07,-0.4 0.06,-0.6 0,0 0.01,0.01 0.01,0.01 0,0 0,0.01 0.01,0.01 0.01,0 0.01,0.01 0.01,0.02 0.01,0.01 0.03,0 0.04,0 0.01,0 0.02,0.01 0.04,0.02 0.23,0.03 0.46,0.06 0.69,0.09 0.11,0.01 0.22,0.03 0.33,0.04 0.06,0.01 0.12,0.02 0.18,0.02 0.07,0.01 0.13,0.02 0.18,-0.04 0.03,-0.04 0.04,-0.09 0.02,-0.14 -0.03,-0.07 -0.1,-0.08 -0.17,-0.09 -0.06,-0.01 -0.12,-0.01 -0.18,-0.02 -0.11,-0.01 -0.23,-0.03 -0.34,-0.04 -0.14,-0.02 -0.28,-0.03 -0.41,-0.05 0.1,-0.07 0.22,-0.13 0.34,-0.16 0.1,-0.02 0.21,-0.03 0.32,-0.02 0.11,0.01 0.21,0.06 0.31,0.08 0.1,0.02 0.19,-0.1 0.11,-0.18 -0.11,-0.1 -0.25,-0.14 -0.4,-0.16 -0.14,-0.02 -0.28,-0.01 -0.41,0.02 -0.27,0.06 -0.51,0.22 -0.68,0.44 -0.01,-0.1 -0.04,-0.19 -0.06,-0.28 0.02,-0.03 0.05,-0.05 0.07,-0.08 0.05,-0.09 0.07,-0.2 0.08,-0.3 0.57,0.11 1.2,0.08 1.75,0.09 0.74,0.02 1.49,0.03 2.23,0.05 0.19,0 0.54,-0.03 0.85,-0.01 -0.31,0.26 -0.56,0.59 -0.82,0.89 -0.39,0.45 -0.77,0.91 -1.15,1.36 -0.6,0.73 -1.2,1.45 -1.79,2.18 -0.01,0 -0.01,0 -0.02,0 -0.28,-0.03 -0.56,-0.07 -0.84,-0.1 -0.57,-0.07 -1.14,-0.08 -1.71,-0.12 -0.21,-0.02 -0.4,0.18 -0.43,0.38 -0.03,0.21 0.1,0.41 0.31,0.48 0.54,0.16 1.08,0.35 1.63,0.49 0.14,0.03 0.27,0.07 0.41,0.1 0.03,0.14 0.09,0.28 0.24,0.39 0.06,0.04 0.12,0.07 0.19,0.1 -0.03,0.38 -0.02,0.77 -0.01,1.12 0.01,0.44 0.07,0.88 0.16,1.32 -0.1,-0.05 -0.22,-0.08 -0.31,-0.1 -0.15,-0.03 -0.31,-0.05 -0.47,-0.05 -0.31,0 -0.61,0.07 -0.9,0.2 -0.13,-0.4 -0.27,-0.8 -0.4,-1.2 h 0.94 c 0.13,0 0.25,-0.01 0.38,-0.03 0.07,-0.03 0.07,-0.22 -0.04,-0.24 z m 0.37,-17.33 c 0.18,-0.3 0.37,-0.59 0.57,-0.88 0.07,-0.1 0.13,-0.2 0.19,-0.3 0.81,-0.29 1.71,-0.11 2.53,0.17 0.95,0.33 1.91,0.77 2.73,1.36 0.74,0.53 1.34,1.25 1.58,2.14 0.05,0.19 0.09,0.39 0.1,0.59 -0.04,-0.15 -0.08,-0.31 -0.13,-0.46 -0.08,-0.27 -0.16,-0.54 -0.24,-0.81 -0.03,-0.1 -0.19,-0.06 -0.16,0.04 0.08,0.27 0.16,0.54 0.24,0.81 0.08,0.27 0.15,0.55 0.26,0.81 0,0.01 0.02,0.01 0.03,0.01 0,0.06 0,0.12 -0.01,0.17 0,0.01 -0.01,0.03 -0.01,0.04 -0.06,-0.12 -0.13,-0.24 -0.19,-0.36 -0.15,-0.31 -0.31,-0.62 -0.46,-0.93 -0.31,-0.6 -0.61,-1.21 -0.92,-1.81 -0.07,-0.14 -0.28,-0.02 -0.21,0.12 0.3,0.61 0.59,1.22 0.89,1.83 0.15,0.3 0.29,0.6 0.44,0.9 0.1,0.21 0.21,0.43 0.34,0.64 -0.1,0.3 -0.22,0.59 -0.28,0.89 0,0.02 0,0.03 0,0.05 -0.2,0.25 -0.4,0.51 -0.59,0.77 -0.08,0.11 -0.15,0.22 -0.23,0.32 0.04,-0.32 0.03,-0.66 0,-0.96 -0.05,-0.42 -0.15,-0.83 -0.31,-1.22 -0.31,-0.78 -0.81,-1.48 -1.46,-2 -0.1,-0.08 -0.25,0.06 -0.15,0.15 0.63,0.51 1.12,1.18 1.41,1.94 0.14,0.37 0.24,0.76 0.28,1.16 0.02,0.19 0.03,0.37 0.03,0.56 0,0.21 -0.04,0.42 -0.03,0.63 0,0.02 0.02,0.02 0.03,0.03 -0.09,0.13 -0.18,0.26 -0.27,0.38 -0.07,-0.71 -0.39,-1.44 -0.74,-2.05 -0.38,-0.66 -0.89,-1.26 -1.46,-1.75 -0.09,-0.08 -0.22,0.05 -0.13,0.13 0.55,0.5 0.99,1.08 1.35,1.73 0.18,0.32 0.33,0.65 0.46,0.99 0.12,0.34 0.2,0.69 0.31,1.03 -0.31,-0.75 -0.7,-1.43 -1.21,-2.06 -0.52,-0.64 -1.15,-1.22 -1.86,-1.65 -0.37,-0.22 -0.76,-0.41 -1.16,-0.57 -0.33,-0.13 -0.69,-0.17 -1.04,-0.22 -0.05,-0.12 -0.13,-0.22 -0.23,-0.29 -0.23,-0.4 -0.56,-0.76 -0.88,-1 0.17,-0.34 0.37,-0.71 0.59,-1.07 z m 11.67,14.98 c 1.01,0 2.02,-0.03 3.02,-0.06 0.52,-0.02 1.04,-0.04 1.56,-0.07 0.07,0 0.15,-0.01 0.22,-0.01 -0.01,0.32 0.03,0.65 0.05,0.94 0.03,0.42 0.05,0.83 0.1,1.25 -0.01,0 -0.01,0 -0.02,0 -0.28,0.03 -0.55,0.06 -0.83,0.1 0.03,-0.16 0.02,-0.32 -0.05,-0.46 -0.05,-0.11 -0.15,-0.21 -0.26,-0.26 -0.14,-0.07 -0.28,-0.07 -0.42,-0.01 -0.08,0.03 -0.1,0.14 -0.07,0.21 0.03,0.07 0.12,0.13 0.2,0.1 0.01,0 0.03,-0.01 0.04,-0.01 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0.01,0 0.02,0.01 0.02,0.01 0,0 0,0 0,0 0.01,0.01 0.02,0.01 0.03,0.02 0,0 0.01,0 0.01,0.01 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.03,0.03 0.04,0.04 0,0 0,0 0,0 0.01,0.01 0.01,0.02 0.02,0.03 0,0.01 0.01,0.03 0.02,0.03 -0.01,-0.01 -0.01,-0.03 0,0 0,0.01 0.01,0.02 0.01,0.03 0,0 0,0.01 0,0.02 0,0.01 0,0.02 0,0.03 0,0.01 0,0.03 0,0.04 0,0.01 0,0.03 0,0.04 0,0.01 -0.01,0.06 0,0.02 0,0.03 -0.01,0.05 -0.01,0.08 -0.01,0.03 -0.01,0.05 -0.02,0.08 -0.04,0 -0.08,0.01 -0.12,0.01 v -0.01 c -0.03,-0.08 -0.06,-0.17 -0.09,-0.25 -0.02,-0.07 -0.1,-0.12 -0.17,-0.1 -0.07,0.02 -0.12,0.1 -0.1,0.17 0.02,0.07 0.05,0.15 0.07,0.22 -0.22,0.02 -0.44,0.04 -0.65,0.06 -0.14,-0.4 -0.19,-0.82 -0.09,-1.24 0.05,-0.21 -0.27,-0.3 -0.32,-0.09 -0.11,0.44 -0.11,0.92 0.03,1.36 -0.22,0.02 -0.44,0.04 -0.66,0.06 -0.01,-0.06 -0.04,-0.11 -0.04,-0.17 -0.02,-0.27 0.04,-0.54 0.19,-0.78 0.11,-0.17 -0.16,-0.33 -0.27,-0.16 -0.18,0.28 -0.26,0.62 -0.24,0.95 0,0.06 0.03,0.12 0.04,0.19 -0.28,0.02 -0.56,0.05 -0.84,0.07 -0.2,0.01 -0.39,0.02 -0.59,0.03 -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 -0.07,-0.25 -0.07,-0.54 0.03,-0.78 0.04,-0.09 0.03,-0.19 -0.06,-0.24 -0.08,-0.04 -0.2,-0.02 -0.24,0.06 -0.15,0.33 -0.18,0.7 -0.09,1.05 0.01,0.02 0.02,0.04 0.03,0.05 -0.24,0.01 -0.48,0.02 -0.72,0.03 -0.01,-0.05 -0.01,-0.1 -0.02,-0.15 -0.03,-0.25 -0.06,-0.51 -0.09,-0.76 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.03,0.26 0.06,0.52 0.08,0.77 0.01,0.05 0.01,0.1 0.02,0.15 -0.28,0.01 -0.56,0.03 -0.84,0.04 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.05,-0.11 -0.09,-0.23 -0.12,-0.35 -0.05,-0.24 -0.04,-0.48 0.02,-0.72 0.05,-0.18 -0.23,-0.26 -0.28,-0.08 -0.08,0.28 -0.09,0.57 -0.03,0.86 0.02,0.11 0.06,0.21 0.1,0.31 -0.27,0.01 -0.54,0.01 -0.82,0.01 -0.04,-0.43 -0.09,-0.87 -0.14,-1.3 -0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 0.04,0.43 0.08,0.87 0.12,1.3 -0.26,0 -0.53,0 -0.79,0.01 -0.01,-0.08 -0.03,-0.17 -0.04,-0.25 -0.06,-0.37 -0.11,-0.73 -0.17,-1.1 -0.03,-0.17 -0.28,-0.1 -0.25,0.07 0.05,0.36 0.11,0.72 0.16,1.08 0.01,0.07 0.02,0.14 0.03,0.21 -0.08,0 -0.15,0.02 -0.23,0.02 -0.47,-0.74 -0.64,-1.64 -0.66,-2.53 0,-0.13 0.01,-0.25 0.01,-0.38 0.88,0.15 1.81,0.16 2.69,0.2 1.03,0.03 2.04,0.03 3.05,0.03 z m 4.3,-2.01 c -0.01,-0.17 -0.02,-0.35 -0.03,-0.53 0,-0.02 0,-0.03 -0.01,-0.05 0.01,0 0.02,0 0.03,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 0,0 0.12,0.02 0.23,0.03 0.35,0.04 0,0.03 0,0.05 0,0.08 0.02,0.34 0.02,0.69 0.09,1.03 -0.11,0.01 -0.21,0.02 -0.31,0.03 -0.04,0 -0.07,0 -0.11,0.01 0.03,-0.12 0.05,-0.24 0.04,-0.36 -0.01,-0.09 -0.02,-0.17 -0.02,-0.25 z m 3.48,-1.91 c 0.02,0.26 0.04,0.53 0.07,0.79 -0.23,0.01 -0.46,0.02 -0.69,0.04 -0.02,-0.14 -0.04,-0.28 -0.05,-0.41 -0.01,-0.06 -0.01,-0.11 -0.02,-0.17 0.12,0 0.24,0.01 0.35,0 0.07,-0.01 0.07,-0.1 0,-0.11 -0.12,-0.01 -0.24,0 -0.36,0 -0.03,-0.3 -0.06,-0.59 -0.09,-0.89 0.24,-0.05 0.48,-0.13 0.72,-0.22 0.02,0.33 0.04,0.65 0.07,0.97 z m -1.08,-0.7 c 0.03,0.28 0.05,0.56 0.08,0.85 -0.08,0 -0.16,0 -0.24,0 -0.25,0 -0.51,0 -0.76,0 -0.02,-0.27 -0.03,-0.54 -0.05,-0.8 0.33,0.01 0.65,0 0.97,-0.05 z m 5.96,18.97 c -0.3,0 -0.6,-0.02 -0.91,0.01 -0.18,0.01 -0.36,0.02 -0.53,0.07 -0.16,0.04 -0.29,0.13 -0.45,0.18 -0.09,0.03 -0.14,0.09 -0.18,0.17 0.05,-0.69 0.05,-1.39 0.02,-2.09 -0.02,-0.51 -0.05,-1.01 -0.04,-1.52 0,-0.14 0,-0.27 0.01,-0.41 0.02,-0.35 0.01,-0.71 -0.03,-1.08 0,-0.02 -0.02,-0.03 -0.02,-0.05 0.04,-0.01 0.09,-0.01 0.13,-0.02 0.07,-0.01 0.15,-0.03 0.23,-0.02 0.08,0 0.15,0.01 0.23,0.02 0.03,0 0.07,0.01 0.1,0.01 0.04,0 0.07,-0.01 0.11,-0.02 0.02,0.03 0.03,0.06 0.06,0.08 0.17,0.14 0.32,0.18 0.53,0.19 0.11,0 0.22,0.01 0.33,0.01 0.23,0 0.45,-0.01 0.68,-0.01 0,0 0,0 0,0 0.09,0.1 0.2,0.16 0.33,0.17 0,0.03 0,0.05 0,0.08 0.01,0.28 0.02,0.57 0.04,0.85 0.01,0.27 0.04,0.54 0.06,0.82 0.01,0.14 0.02,0.27 0.03,0.41 0,0 0,0 0,0.01 -0.18,0.08 -0.29,0.29 -0.27,0.48 0.04,0.24 0.22,0.39 0.46,0.4 0.11,0.01 0.22,0.02 0.32,0.03 0.02,0 0.04,0.01 0.07,0.01 0,0 0.01,0 0.01,0 0.12,0.02 0.25,0.03 0.4,0.05 0.02,0 0.15,0.02 0.16,0.02 0.05,0.01 0.1,0.01 0.15,0.02 0.14,0.02 0.28,0.05 0.42,0.08 0.26,0.06 0.52,0.13 0.77,0.22 0.13,0.04 0.25,0.09 0.38,0.14 -0.01,0 -0.01,0 -0.01,-0.01 0.01,0 0.01,0 0.02,0.01 0,0.02 -0.02,0.04 -0.02,0.06 -0.01,0.23 0.02,0.46 0.04,0.69 -0.57,0.01 -1.15,0.02 -1.72,0.01 -0.65,-0.03 -1.28,-0.06 -1.91,-0.07 z m -5.33,-4.11 c -0.06,0.02 -0.12,0.04 -0.18,0.07 -0.05,-0.14 -0.11,-0.28 -0.16,-0.41 -0.11,-0.28 -0.24,-0.56 -0.39,-0.83 -0.24,-0.43 -0.52,-0.84 -0.88,-1.18 0.24,-0.28 0.37,-0.65 0.44,-1.05 0,-0.01 0.01,-0.01 0.01,-0.02 0.08,0.02 0.17,0.04 0.25,0.07 0.08,0.02 0.15,0.04 0.24,0.04 0.01,0 0.02,0 0.02,0 0.03,0.05 0.05,0.11 0.09,0.16 0.01,0.21 0.04,0.42 0.1,0.61 0.03,0.09 0.18,0.11 0.2,0 0.06,0.13 0.16,0.24 0.31,0.28 0.01,0 0.03,0.01 0.04,0.01 0.09,0.12 0.18,0.24 0.27,0.36 0.36,0.47 0.71,0.95 1.06,1.43 -0.2,0.06 -0.4,0.11 -0.6,0.18 -0.29,0.09 -0.56,0.19 -0.82,0.28 z m -3.38,-2.98 c -0.02,-0.08 -0.04,-0.16 -0.05,-0.23 -0.04,-0.3 -0.07,-0.6 -0.08,-0.89 -0.02,-0.62 0.04,-1.23 0.18,-1.84 0.04,-0.17 -0.21,-0.24 -0.26,-0.07 -0.16,0.62 -0.25,1.26 -0.26,1.91 0,0.32 0.02,0.63 0.06,0.94 0.02,0.15 0.04,0.33 0.08,0.5 -0.3,0.32 -0.61,0.63 -0.94,0.93 0,-0.03 0,-0.06 0,-0.09 0,-0.28 0,-0.56 -0.01,-0.84 0,-0.57 -0.01,-1.14 -0.01,-1.71 0,-0.15 -0.23,-0.15 -0.23,0 0,0.57 -0.01,1.14 -0.01,1.71 0,0.28 0,0.56 -0.01,0.84 0,0.12 0,0.24 0,0.35 -0.29,0.26 -0.6,0.49 -0.91,0.73 -0.01,-0.25 -0.02,-0.49 -0.03,-0.74 -0.03,-0.69 -0.07,-1.38 -0.1,-2.07 -0.01,-0.16 -0.26,-0.16 -0.25,0 0.02,0.69 0.04,1.38 0.07,2.07 0.01,0.32 0.02,0.65 0.03,0.97 -0.37,0.28 -0.73,0.57 -1.12,0.83 0,-0.11 -0.01,-0.21 -0.01,-0.31 0,-0.36 0,-0.72 0,-1.08 -0.01,-0.72 -0.01,-1.44 -0.02,-2.16 0,-0.16 -0.25,-0.16 -0.25,0 -0.01,0.72 -0.01,1.44 -0.02,2.16 0,0.36 0,0.72 0,1.08 0,0.16 -0.01,0.33 -0.01,0.51 -0.26,0.17 -0.52,0.33 -0.79,0.48 0,-0.02 0,-0.04 0,-0.07 0.01,-0.23 0.02,-0.46 0.04,-0.69 0.02,-0.45 0.05,-0.9 0.07,-1.35 0.01,-0.19 -0.28,-0.18 -0.29,0 -0.03,0.45 -0.06,0.9 -0.1,1.35 -0.02,0.22 -0.03,0.44 -0.05,0.66 -0.01,0.09 -0.02,0.2 -0.03,0.31 -0.13,0.07 -0.24,0.16 -0.37,0.23 -0.8,0.43 -1.63,0.8 -2.47,1.13 0,-0.01 0,-0.01 -0.01,-0.02 l -0.01,-0.01 c 0,0 0,0 0,0 l -0.03,-0.02 c -0.02,-0.01 -0.05,-0.02 -0.08,-0.02 -0.01,0 -0.03,0 -0.04,0 -0.03,0 -0.06,0 -0.09,-0.01 -0.02,0 -0.04,0 -0.06,0.01 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.01,0.01 -0.02,0.03 -0.03,0.05 -0.01,0.02 -0.01,0.04 -0.01,0.06 0,0.02 0.02,0.05 0.03,0.07 -0.93,0.35 -1.88,0.65 -2.85,0.91 0,-0.03 0,-0.07 -0.01,-0.1 -0.02,-0.17 -0.03,-0.34 -0.05,-0.52 -0.03,-0.34 -0.06,-0.68 -0.1,-1.01 -0.02,-0.17 -0.28,-0.17 -0.26,0 0.02,0.34 0.05,0.69 0.07,1.03 0.01,0.17 0.02,0.33 0.04,0.5 0,0.06 0.01,0.12 0.02,0.18 -0.11,0.03 -0.23,0.06 -0.34,0.09 0,-0.08 0,-0.15 0,-0.23 0,-0.41 0,-0.83 -0.01,-1.24 0,-0.17 -0.27,-0.17 -0.27,0 0,0.41 0,0.83 -0.01,1.24 0,0.1 0,0.21 0,0.31 -0.28,0.07 -0.57,0.14 -0.85,0.2 -0.03,-0.1 -0.06,-0.2 -0.1,-0.3 -0.09,-0.22 -0.19,-0.43 -0.31,-0.64 0,-0.03 0,-0.07 -0.01,-0.1 -0.01,-0.15 -0.03,-0.3 -0.04,-0.46 -0.03,-0.3 -0.05,-0.61 -0.08,-0.91 -0.01,-0.16 -0.26,-0.16 -0.25,0 0.03,0.31 0.06,0.62 0.09,0.93 0.01,0.05 0.01,0.1 0.02,0.16 -0.1,-0.13 -0.21,-0.24 -0.32,-0.36 0.04,-0.14 0.05,-0.3 -0.01,-0.48 -0.26,-0.75 -0.51,-1.5 -0.77,-2.25 2.63,-0.46 5.21,-1.09 7.66,-2.04 2.47,-0.96 4.93,-2.29 6.84,-3.99 0.01,0 0.03,0 0.05,0 0.38,-0.03 0.76,-0.07 1.14,-0.11 0,0.05 0,0.09 0,0.14 0,0.01 -0.01,0.02 -0.01,0.03 0,0.06 0.01,0.13 0.01,0.19 0,0.02 0,0.05 0,0.07 0.02,0.67 0.07,1.34 0.04,2.01 0,0.02 -0.01,0.04 -0.01,0.06 -0.23,0.34 -0.5,0.68 -0.79,1 z m -16.43,9.25 c -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.01,-0.01 -0.01,-0.03 -0.01,-0.01 0.01,0.02 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.02,-0.03 -0.02,-0.04 0,-0.01 -0.01,-0.01 -0.01,-0.02 0,0 0,0 0,0 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 0,0 0,0 0,-0.01 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,-0.02 0,-0.03 0,-0.05 0,-0.02 0,-0.04 0,-0.05 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0.01,-0.03 0.01,-0.05 0,-0.01 0.01,-0.02 0.01,-0.02 0,0 0,0 0,0 0,-0.01 0.02,-0.04 0.02,-0.04 0,-0.01 0.01,-0.01 0.01,-0.02 0,0 0,0 0,0 0.05,-0.06 0.06,-0.16 0,-0.22 -0.06,-0.05 -0.16,-0.07 -0.22,0 -0.13,0.16 -0.18,0.36 -0.14,0.57 0.01,0.08 0.05,0.17 0.09,0.24 -0.04,0 -0.09,0.01 -0.13,0.01 -0.46,0.05 -0.93,0.09 -1.39,0.14 0,-0.07 0,-0.14 0,-0.21 0,-0.34 -0.01,-0.68 -0.01,-1.01 0,-0.18 -0.28,-0.18 -0.29,0 0,0.34 -0.01,0.68 -0.01,1.01 0,0.08 0,0.16 0,0.24 -0.41,0.04 -0.82,0.08 -1.22,0.12 -0.09,0.01 -0.18,0.02 -0.26,0.03 -0.02,-0.13 -0.03,-0.26 -0.05,-0.39 -0.04,-0.34 -0.08,-0.68 -0.12,-1.02 -0.01,-0.08 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.07 -0.14,0.14 0.02,0.34 0.05,0.68 0.07,1.02 0.01,0.14 0.02,0.29 0.03,0.43 -0.41,0.04 -0.81,0.08 -1.22,0.13 0.05,-0.02 0.08,-0.06 0.08,-0.11 0,-0.03 0,-0.06 -0.01,-0.09 -0.01,-0.04 -0.05,-0.08 -0.06,-0.1 -0.02,-0.03 -0.06,-0.09 -0.09,-0.13 -0.07,-0.1 -0.12,-0.19 -0.15,-0.29 -0.07,-0.21 -0.06,-0.42 0.02,-0.64 0.06,-0.16 -0.21,-0.28 -0.28,-0.12 -0.12,0.27 -0.15,0.57 -0.08,0.85 0.03,0.14 0.09,0.27 0.16,0.39 0.08,0.12 0.22,0.26 0.37,0.25 -0.55,0.06 -1.09,0.11 -1.64,0.17 0,-0.06 0,-0.13 0,-0.19 0,-0.25 0,-0.49 -0.01,-0.74 0,-0.18 -0.27,-0.18 -0.28,0 l -0.01,0.74 c 0,0.07 0,0.15 0,0.22 -0.31,0.03 -0.62,0.06 -0.93,0.1 0,-0.06 -0.01,-0.12 -0.01,-0.18 -0.03,-0.4 -0.06,-0.8 -0.09,-1.2 -0.01,-0.19 -0.31,-0.19 -0.3,0 0.03,0.4 0.05,0.8 0.08,1.2 0,0.07 0.01,0.14 0.01,0.21 -0.26,0.03 -0.51,0.05 -0.77,0.08 0,0 0,-0.01 0,-0.01 -0.02,-0.12 -0.05,-0.24 -0.06,-0.36 -0.03,-0.22 -0.05,-0.45 -0.05,-0.67 -0.01,-0.47 0.05,-0.93 0.16,-1.39 0.05,-0.21 -0.27,-0.3 -0.33,-0.09 -0.13,0.48 -0.19,0.98 -0.19,1.48 0,0.24 0.02,0.48 0.05,0.72 0.02,0.12 0.03,0.24 0.06,0.35 -0.58,0.06 -1.15,0.12 -1.73,0.18 0,-0.02 0,-0.04 0,-0.06 0,-0.23 0,-0.45 0,-0.68 0,-0.17 -0.26,-0.17 -0.26,0 0,0.23 0,0.45 0,0.68 0,0.03 0,0.06 0,0.09 -0.44,0.05 -0.88,0.09 -1.32,0.14 -0.01,-0.03 -0.03,-0.05 -0.04,-0.07 -0.05,-0.2 -0.04,-0.42 0.04,-0.62 0.03,-0.08 -0.03,-0.17 -0.11,-0.19 -0.09,-0.02 -0.16,0.03 -0.19,0.11 -0.1,0.26 -0.11,0.54 -0.05,0.81 -0.45,0.05 -0.9,0.09 -1.35,0.14 -0.04,-0.06 -0.09,-0.13 -0.11,-0.19 -0.08,-0.21 -0.09,-0.44 0,-0.64 0.03,-0.07 0.02,-0.15 -0.05,-0.19 -0.06,-0.04 -0.16,-0.02 -0.19,0.05 -0.12,0.27 -0.14,0.58 -0.04,0.86 0.02,0.05 0.06,0.1 0.08,0.15 -0.07,0.01 -0.13,0.01 -0.2,0.02 -0.43,0.04 -0.85,0.08 -1.28,0.13 -0.02,-0.03 -0.03,-0.05 -0.05,-0.08 -0.02,-0.03 -0.05,-0.07 -0.09,-0.12 -0.03,-0.05 -0.06,-0.1 -0.09,-0.15 -0.02,-0.04 -0.03,-0.07 -0.05,-0.13 -0.02,-0.05 -0.03,-0.1 -0.04,-0.16 0,-0.01 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,-0.01 0,-0.03 0,-0.04 0,-0.03 0,-0.06 -0.01,-0.09 0,-0.06 0,-0.11 0,-0.17 0.01,-0.11 -0.15,-0.18 -0.23,-0.09 -0.14,0.17 -0.3,0.33 -0.47,0.49 -0.1,0.09 0.05,0.24 0.15,0.15 0.08,-0.08 0.16,-0.16 0.25,-0.23 0.01,0.15 0.04,0.3 0.1,0.44 0.04,0.09 0.1,0.16 0.15,0.24 -0.43,0.04 -0.85,0.08 -1.28,0.13 -0.46,0.04 -0.91,0.09 -1.37,0.13 -0.11,0.01 -0.22,0.02 -0.32,0.04 0.12,-0.15 0.22,-0.31 0.36,-0.46 0.23,-0.26 0.48,-0.51 0.75,-0.74 0.55,-0.46 1.16,-0.86 1.8,-1.18 2.49,-1.26 5.32,-1.54 8.06,-1.62 1.75,-0.05 3.5,-0.03 5.24,-0.18 0.83,-0.07 1.66,-0.17 2.49,-0.33 0.82,-0.16 1.63,-0.32 2.37,-0.71 0.07,0.1 0.16,0.19 0.23,0.29 0.11,0.14 0.2,0.29 0.28,0.45 0.01,0.02 0.01,0.02 0.01,0.02 0,0 0,0 0.01,0.01 0.02,0.04 0.03,0.07 0.05,0.11 0.04,0.08 0.07,0.16 0.1,0.25 0.02,0.05 0.03,0.09 0.04,0.14 -0.24,0.05 -0.49,0.11 -0.73,0.15 -0.01,0.25 -0.02,0.51 -0.04,0.76 -0.02,-0.01 -0.04,-0.03 -0.06,-0.03 -0.1,0 -0.18,0.08 -0.18,0.18 0,0.19 -0.01,0.39 -0.01,0.58 0,0.06 0,0.11 0,0.17 -0.34,0 -0.68,0.04 -1.02,0.08 z m -23.89,1.34 c -0.03,-0.07 -0.07,-0.14 -0.09,-0.21 -0.08,-0.2 -0.14,-0.41 -0.19,-0.62 -0.09,-0.44 -0.11,-0.9 -0.05,-1.35 0.02,-0.13 -0.18,-0.19 -0.2,-0.05 -0.08,0.47 -0.07,0.95 0.01,1.42 0.04,0.24 0.11,0.47 0.19,0.69 0.02,0.04 0.04,0.09 0.05,0.14 -0.48,0.03 -0.95,0.06 -1.43,0.09 0,-0.01 0,-0.02 0,-0.02 -0.01,-0.36 -0.04,-0.72 -0.06,-1.08 -0.05,-0.73 -0.13,-1.46 -0.19,-2.2 -0.01,-0.13 -0.21,-0.13 -0.2,0 0.05,0.75 0.08,1.49 0.14,2.24 0.03,0.36 0.06,0.71 0.1,1.07 -0.2,0.01 -0.39,0.03 -0.59,0.04 -1,0.06 -2,0.1 -3,0.15 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.06,-0.19 -0.11,-0.39 -0.17,-0.58 -0.04,-0.15 -0.28,-0.09 -0.24,0.07 0.05,0.18 0.11,0.37 0.16,0.55 -0.45,0.02 -0.9,0.05 -1.35,0.07 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.08,-0.11 -0.15,-0.23 -0.21,-0.35 -0.11,-0.24 -0.15,-0.51 -0.13,-0.78 0.01,-0.06 -0.05,-0.11 -0.11,-0.11 -0.07,0 -0.1,0.05 -0.11,0.11 -0.03,0.3 0.02,0.61 0.13,0.89 0.04,0.1 0.1,0.18 0.15,0.27 -0.41,0.02 -0.82,0.05 -1.23,0.06 -4.08,0.17 -8.16,0.26 -12.24,0.27 0,-0.04 -0.01,-0.07 -0.01,-0.11 -0.03,-0.24 -0.05,-0.49 -0.08,-0.73 -0.01,-0.07 -0.05,-0.13 -0.13,-0.13 -0.06,0 -0.13,0.06 -0.13,0.13 0.03,0.25 0.05,0.5 0.08,0.75 0,0.03 0.01,0.07 0.01,0.1 -0.56,0 -1.13,0 -1.69,0 -0.01,-0.14 -0.02,-0.28 -0.03,-0.41 -0.03,-0.41 -0.06,-0.83 -0.08,-1.24 -0.01,-0.18 -0.28,-0.18 -0.28,0 0.02,0.42 0.04,0.85 0.06,1.27 0.01,0.13 0.01,0.26 0.02,0.39 -0.32,0 -0.65,0 -0.97,0 0,0 0.01,0 0.01,-0.01 0.04,-0.2 -0.07,-0.42 -0.12,-0.62 -0.06,-0.22 -0.1,-0.44 -0.14,-0.66 -0.07,-0.45 -0.07,-0.9 -0.03,-1.35 0.01,-0.17 -0.24,-0.16 -0.26,0 -0.05,0.46 -0.05,0.93 0.01,1.39 0.03,0.22 0.07,0.44 0.12,0.65 0.04,0.19 0.1,0.45 0.24,0.59 -0.04,0 -0.08,0 -0.12,0 -0.14,0 -0.3,-0.01 -0.45,-0.01 0,-0.15 0,-0.31 -0.01,-0.46 -0.01,-0.45 -0.01,-0.9 -0.02,-1.35 0,-0.17 -0.26,-0.17 -0.26,0 l -0.02,1.35 c 0,0.15 0,0.3 -0.01,0.45 -0.47,-0.02 -0.96,-0.02 -1.43,0 0.01,-0.24 0.02,-0.48 0.03,-0.71 0.02,-0.58 0.03,-1.16 0.05,-1.74 0.01,-0.2 -0.29,-0.19 -0.3,0 -0.04,0.58 -0.07,1.16 -0.11,1.74 -0.01,0.24 -0.03,0.49 -0.04,0.73 -0.31,0.03 -0.62,0.08 -0.91,0.17 -0.01,-0.23 -0.03,-0.46 -0.04,-0.69 -0.02,-0.29 -0.03,-0.57 -0.05,-0.86 0.05,-0.09 0.09,-0.18 0.14,-0.27 0.06,-0.09 0.11,-0.19 0.16,-0.29 0.01,-0.01 0.02,-0.01 0.02,-0.02 0.14,-0.16 0.22,-0.39 0.22,-0.62 0,-0.01 0.01,-0.02 0.01,-0.03 0.04,-0.17 -0.04,-0.31 -0.16,-0.38 -0.02,-0.03 -0.03,-0.06 -0.06,-0.09 -0.69,-0.56 -1.39,-1.11 -2.09,-1.65 -0.3,-0.23 -0.61,-0.47 -0.93,-0.68 0,-0.07 -0.02,-0.13 -0.04,-0.2 0.06,0.08 0.14,0.15 0.24,0.18 1.13,0.32 2.36,0.3 3.52,0.37 1.19,0.08 2.39,0.1 3.58,0.13 2.36,0.06 4.71,0.06 7.07,0.02 4.71,-0.07 9.42,-0.31 14.12,-0.72 1.32,-0.12 2.64,-0.24 3.95,-0.39 0.53,-0.06 1.06,-0.12 1.59,-0.18 -0.2,0.17 -0.39,0.33 -0.59,0.5 -0.67,0.59 -1.32,1.18 -1.97,1.79 -0.03,0.03 -0.04,0.06 -0.06,0.09 -0.12,0.09 -0.18,0.23 -0.14,0.39 0,0.01 0.01,0.02 0.01,0.03 0,0.04 0.01,0.09 0.02,0.13 -0.07,0.01 -0.14,0.05 -0.13,0.13 0.07,0.51 0.14,1.02 0.2,1.53 0.03,0.25 0.07,0.5 0.1,0.75 0,0.01 0,0.02 0.01,0.04 -0.11,0.01 -0.23,0.02 -0.34,0.02 -0.14,0.04 -0.31,0.05 -0.48,0.06 z m 1.19,-0.08 c 0,-0.01 0,-0.02 0,-0.03 -0.04,-0.26 -0.08,-0.52 -0.12,-0.77 -0.06,-0.4 -0.13,-0.81 -0.19,-1.21 0.02,0.02 0.03,0.05 0.05,0.07 0.01,0.01 0.02,0.01 0.02,0.01 0.06,0.09 0.12,0.19 0.18,0.28 0.19,0.27 0.37,0.55 0.53,0.84 0.02,0.04 0.05,0.09 0.07,0.13 0.01,0.01 0.01,0.02 0.01,0.02 0.03,0.07 0.07,0.14 0.1,0.21 0.07,0.15 0.13,0.29 0.19,0.44 -0.29,-0.02 -0.57,-0.01 -0.84,0.01 z m 23.78,-9.75 c 0,0.02 0,0.04 0.01,0.05 0.05,0.08 0.13,0.09 0.21,0.05 0.14,-0.06 0.28,-0.12 0.42,-0.18 0.18,-0.02 0.35,-0.05 0.53,-0.07 0.4,-0.05 0.79,-0.1 1.19,-0.15 0.39,-0.05 0.89,-0.04 1.2,-0.3 0.11,0.04 0.22,0.05 0.33,0.01 0.02,-0.01 0.03,-0.01 0.05,-0.02 -0.1,0.01 -0.1,0 0.02,-0.01 0.1,-0.01 0.19,-0.05 0.27,-0.1 0.12,-0.07 0.2,-0.16 0.29,-0.26 0.13,-0.13 0.25,-0.27 0.38,-0.4 0.26,-0.28 0.52,-0.55 0.77,-0.83 0.25,-0.27 0.5,-0.54 0.74,-0.82 0.06,-0.06 0.11,-0.14 0.16,-0.2 0.03,0.03 0.06,0.05 0.12,0.04 0.49,-0.14 0.97,-0.34 1.42,-0.58 0.17,-0.09 0.34,-0.2 0.51,-0.3 0.09,0 0.18,0.01 0.27,0.01 0.35,0.02 0.71,0.01 1.06,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.1,0.07 -0.2,0.15 -0.3,0.22 -0.2,0.14 -0.39,0.29 -0.59,0.43 0,0 0,0 0,0 -0.98,0.43 -1.93,0.9 -2.9,1.34 -0.06,0.03 -0.01,0.12 0.06,0.1 0.94,-0.43 1.9,-0.83 2.85,-1.27 0.03,0.02 0.07,0.03 0.11,0.01 0.09,-0.06 0.17,-0.12 0.26,-0.18 0.12,-0.06 0.25,-0.11 0.37,-0.17 0.04,-0.02 0.03,-0.06 0.01,-0.09 0.09,-0.06 0.17,-0.12 0.26,-0.18 0.05,-0.04 0.11,-0.07 0.16,-0.11 0.03,-0.03 0.05,-0.06 0.07,-0.09 0.56,0.01 1.11,0.04 1.67,0.03 0.04,0 0.08,0 0.11,-0.01 -0.93,0.63 -1.9,1.2 -2.94,1.69 -2.84,1.35 -5.97,2.16 -9.15,2.71 -0.04,-0.13 -0.09,-0.26 -0.13,-0.39 0.03,-0.01 0.09,-0.01 0.14,-0.01 z m 1.16,-7.38 c 0.01,-0.02 0.01,-0.04 0.02,-0.07 0.6,-0.72 1.18,-1.44 1.78,-2.17 0.37,-0.45 0.73,-0.9 1.08,-1.35 0.2,-0.25 0.4,-0.5 0.59,-0.75 -0.03,0.32 -0.1,0.63 -0.13,0.86 -0.28,2.34 -0.59,5.04 1.13,6.9 -0.02,0.02 -0.05,0.04 -0.07,0.06 -0.28,0.26 -0.55,0.52 -0.82,0.78 -0.26,0.26 -0.52,0.52 -0.78,0.78 -0.11,0.11 -0.22,0.21 -0.32,0.32 -0.05,-0.06 -0.11,-0.11 -0.18,-0.14 -0.22,-0.12 -0.47,-0.17 -0.67,-0.27 -0.21,-0.11 -0.37,-0.24 -0.54,-0.41 -0.31,-0.32 -0.56,-0.72 -0.71,-1.14 -0.2,-0.55 -0.28,-1.13 -0.31,-1.71 -0.04,-0.54 0.04,-1.14 -0.07,-1.69 z m 5.63,3.87 c 0.05,-0.08 0.09,-0.16 0.13,-0.24 0.09,-0.1 0.15,-0.22 0.17,-0.35 0.04,0.01 0.08,0.01 0.12,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.29,0.02 0.58,0.04 0.87,0.05 -0.04,0.03 -0.08,0.06 -0.13,0.08 -0.39,0.22 -0.8,0.39 -1.22,0.52 0.01,-0.02 0.02,-0.03 0.03,-0.04 z m 22.95,0.4 c 0.02,0.04 0.03,0.08 0.05,0.12 0.03,0.07 0.05,0.14 0.08,0.2 0.03,0.07 0.07,0.14 0.11,0.21 0.03,0.05 0.07,0.05 0.11,0.04 0,0.03 0.01,0.06 0.02,0.1 -0.41,0.1 -0.82,0.26 -1.2,0.36 -0.28,0.07 -0.56,0.13 -0.83,0.2 -0.05,-0.15 -0.09,-0.31 -0.14,-0.46 -0.06,-0.19 -0.35,-0.11 -0.3,0.08 0.04,0.15 0.08,0.3 0.12,0.46 -0.31,0.08 -0.62,0.16 -0.93,0.23 -0.05,-0.09 -0.1,-0.17 -0.13,-0.26 -0.09,-0.29 -0.09,-0.59 0.01,-0.88 0,-0.01 0,-0.01 0,-0.02 0.15,-0.02 0.31,-0.02 0.46,-0.04 0.81,-0.09 1.61,-0.19 2.41,-0.3 0.05,-0.03 0.1,-0.03 0.16,-0.04 z m 1.01,4.11 c -0.02,0.39 -0.04,0.78 -0.07,1.16 0,0.01 0,0.01 0,0.02 -0.09,0.01 -0.18,0.01 -0.27,0.02 -0.16,0.01 -0.31,0.01 -0.47,0.02 0.06,-0.02 0.12,-0.05 0.14,-0.12 0.03,-0.09 0.05,-0.19 0.07,-0.28 0.01,-0.01 0.03,-0.01 0.03,-0.02 0.01,-0.06 0.01,-0.12 0.01,-0.18 0.01,-0.05 0.03,-0.1 0.03,-0.16 0,-0.03 -0.02,-0.06 -0.04,-0.08 0,-0.11 -0.02,-0.22 -0.03,-0.33 -0.03,-0.25 -0.06,-0.5 -0.09,-0.75 -0.01,-0.04 -0.03,-0.08 -0.06,-0.1 -0.02,-0.02 -0.04,-0.02 -0.07,-0.03 -0.01,0 -0.01,-0.01 -0.01,-0.01 0,0 0,0 0,0 -0.08,-0.01 -0.18,0.03 -0.18,0.14 0,0.29 -0.01,0.58 -0.02,0.87 -0.01,0.29 -0.03,0.58 -0.03,0.87 0,0.1 0.07,0.16 0.15,0.18 -0.16,0.01 -0.31,0.01 -0.47,0.02 0,0 -0.01,0 -0.01,0 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.22 -0.03,-0.43 -0.04,-0.65 -0.03,-0.42 -0.06,-0.85 -0.09,-1.27 0,-0.03 -0.02,-0.05 -0.03,-0.07 0.06,-0.03 0.12,-0.06 0.17,-0.09 0.47,-0.23 0.94,-0.47 1.42,-0.7 -0.01,0.53 -0.02,1.05 -0.04,1.57 z m -13.02,-3.27 c -0.01,-0.07 -0.02,-0.14 -0.03,-0.21 -0.01,-0.21 -0.02,-0.42 -0.01,-0.63 -0.04,-0.01 -0.08,0.01 -0.12,0.01 -0.01,-0.1 -0.01,-0.21 -0.02,-0.3 -0.02,-0.32 -0.04,-0.63 -0.06,-0.95 0.02,0.01 0.04,0.03 0.06,0.05 0.12,0.07 0.25,0.13 0.37,0.21 0.04,0.59 0.09,1.17 0.13,1.76 0,0.01 0,0.01 0,0.02 -0.08,0 -0.17,0.02 -0.24,0.04 -0.03,-0.01 -0.06,0 -0.08,0 z m 3.98,3.07 c -0.2,0.06 -0.32,0.25 -0.3,0.45 0,0.02 0.02,0.03 0.02,0.04 -0.01,0 -0.02,0.02 -0.03,0.03 0,0 -0.01,0 -0.01,0 -0.02,-0.03 -0.02,-0.05 -0.04,-0.08 -0.23,-0.28 -0.45,-0.56 -0.68,-0.85 0.19,0.04 0.37,0.08 0.56,0.11 0.29,0.06 0.59,0.14 0.89,0.15 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.13,0.06 -0.26,0.1 -0.38,0.13 z m 0.44,-3.18 c 0.02,0 0.04,-0.01 0.06,-0.01 -0.03,0.21 -0.03,0.43 -0.05,0.63 -0.01,0.07 0,0.14 0,0.21 0,-0.06 -0.01,-0.12 -0.01,-0.18 l -0.04,-0.66 c 0.02,0 0.03,0.01 0.04,0.01 z m 1.31,2.79 0.25,-0.09 c 0.03,-0.01 0.04,-0.03 0.06,-0.05 0.21,-0.02 0.42,-0.05 0.63,-0.08 0.01,0.01 0.01,0.02 0.02,0.03 0.06,0.07 0.17,0.02 0.18,-0.06 0.11,-0.02 0.22,-0.03 0.33,-0.05 0.7,-0.1 1.4,-0.23 2.1,-0.39 0.35,-0.08 0.7,-0.19 1.04,-0.28 -0.09,0.05 -0.19,0.1 -0.28,0.14 -0.17,0.09 -0.32,0.18 -0.48,0.28 -0.08,0.05 -0.16,0.09 -0.24,0.14 -0.11,0.08 -0.16,0.16 -0.25,0.26 -0.05,0.05 -0.07,0.12 -0.09,0.19 -0.04,0 -0.08,0 -0.12,0 -0.13,0.01 -0.26,0.04 -0.39,0.06 -0.12,0.02 -0.24,0.06 -0.36,0.1 -0.02,-0.02 -0.04,-0.05 -0.06,-0.06 -0.27,-0.17 -0.57,-0.11 -0.87,-0.08 -0.26,0.03 -0.52,0.05 -0.78,0.09 -0.21,0.03 -0.43,0.07 -0.64,0.1 -0.02,0 -0.04,0.01 -0.06,0.01 0.01,-0.08 0.02,-0.17 0.01,-0.26 z m 2.31,2.5 c 0,0 0,-0.01 0,-0.01 -0.04,-0.37 -0.09,-0.74 -0.15,-1.11 0.11,-0.04 0.23,-0.08 0.34,-0.12 0.02,-0.01 0.04,-0.01 0.05,-0.02 0.07,0.35 0.15,0.69 0.22,1.04 -0.01,0 -0.02,0.01 -0.03,0.01 -0.14,0.06 -0.29,0.13 -0.43,0.21 z m 0.81,-0.36 -0.26,-1.02 c 0.09,-0.03 0.18,-0.06 0.27,-0.1 0.09,-0.04 0.18,-0.08 0.26,-0.13 0.02,-0.01 0.18,-0.12 0.11,-0.08 0.05,-0.03 0.1,-0.06 0.15,-0.09 0.04,-0.03 0.06,-0.07 0.09,-0.11 0.1,0 0.2,0 0.3,-0.02 0.01,0 0.01,-0.01 0.02,-0.01 -0.02,0.27 -0.02,0.55 0.02,0.83 0.02,0.16 0.07,0.32 0.12,0.48 -0.11,-0.06 -0.24,-0.08 -0.36,-0.03 -0.24,0.09 -0.48,0.19 -0.72,0.28 z m 1.5,-0.2 c -0.06,-0.19 -0.12,-0.38 -0.16,-0.58 -0.05,-0.31 -0.04,-0.62 -0.01,-0.93 0.15,-0.06 0.31,-0.12 0.45,-0.19 0.18,-0.09 0.35,-0.17 0.53,-0.26 0.02,0.41 0.03,0.81 0.05,1.22 0.01,0.21 0.02,0.41 0.03,0.62 0,0.02 0,0.04 0,0.06 -0.29,0.01 -0.59,0.03 -0.89,0.06 z m -1.76,-4.07 c 0.02,0.08 0.07,0.14 0.11,0.22 -0.2,0.04 -0.39,0.08 -0.59,0.11 -0.01,-0.05 -0.03,-0.1 -0.04,-0.16 -0.05,-0.34 -0.03,-0.7 0.05,-1.03 0.01,-0.03 -0.01,-0.06 -0.01,-0.08 0.17,-0.02 0.34,-0.03 0.5,-0.05 -0.11,0.32 -0.12,0.67 -0.02,0.99 z m -0.83,0.4 c -0.27,0.05 -0.55,0.11 -0.82,0.16 -0.1,0.02 -0.2,0.03 -0.3,0.05 0,-0.03 -0.01,-0.05 -0.02,-0.08 -0.05,-0.45 -0.04,-0.9 0.03,-1.34 0.13,-0.01 0.27,-0.02 0.4,-0.03 0.25,-0.02 0.5,-0.05 0.75,-0.07 -0.12,0.43 -0.13,0.88 -0.04,1.31 z m -1.49,0.15 c 0,0.04 0.01,0.07 0.02,0.11 -0.19,0.03 -0.38,0.06 -0.58,0.1 0,-0.27 0,-0.54 -0.02,-0.81 -0.02,-0.23 -0.02,-0.48 -0.07,-0.72 0.23,0 0.45,-0.01 0.68,-0.02 -0.06,0.45 -0.08,0.9 -0.03,1.34 z m -2.24,-1.26 c 0.01,0.24 0.03,0.48 0.04,0.73 0.01,0.21 0.02,0.41 0.04,0.62 0.01,0.15 0.04,0.29 0.06,0.43 -0.14,-0.02 -0.28,-0.04 -0.41,-0.06 l -0.28,-0.05 c -0.01,-0.11 -0.05,-0.23 -0.08,-0.34 -0.05,-0.15 -0.1,-0.3 -0.14,-0.44 -0.08,-0.29 -0.15,-0.58 -0.21,-0.87 -0.02,-0.12 -0.03,-0.25 -0.05,-0.37 0.34,0.13 0.68,0.26 1.03,0.35 z m -1.41,-0.5 c 0.02,0.01 0.03,0.01 0.05,0.02 0.02,0.18 0.04,0.37 0.07,0.55 0.05,0.31 0.12,0.61 0.2,0.91 0.05,0.19 0.11,0.44 0.2,0.64 l -0.2,-0.03 c -0.23,-0.04 -0.46,-0.06 -0.7,-0.09 -0.02,-0.14 -0.05,-0.28 -0.07,-0.41 -0.04,-0.3 -0.08,-0.61 -0.11,-0.91 -0.04,-0.32 -0.08,-0.65 -0.12,-0.97 0.23,0.09 0.45,0.2 0.68,0.29 z m -0.98,-0.43 c 0.04,0.38 0.09,0.76 0.13,1.14 0.03,0.3 0.07,0.61 0.1,0.91 0.01,0.1 0.02,0.21 0.03,0.33 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.06,-0.08 -0.12,-0.16 -0.19,-0.24 -0.19,-0.24 -0.38,-0.5 -0.65,-0.66 -0.02,-0.04 -0.04,-0.09 -0.05,-0.13 -0.03,-0.04 -0.06,-0.08 -0.1,-0.12 -0.06,-0.06 -0.15,-0.1 -0.23,-0.13 l -0.01,-0.07 c -0.05,-0.53 -0.09,-1.07 -0.14,-1.6 0.22,0.12 0.43,0.26 0.66,0.37 0.18,0.07 0.35,0.14 0.52,0.21 z m 9.08,7.75 c -0.08,0.05 -0.13,0.12 -0.18,0.19 -0.2,-0.12 -0.43,-0.19 -0.65,-0.26 -0.28,-0.09 -0.57,-0.16 -0.87,-0.2 -0.29,-0.04 -0.59,-0.07 -0.88,-0.09 0,-0.04 -0.01,-0.09 -0.01,-0.13 0.03,0 0.06,-0.01 0.08,-0.01 0.18,-0.03 0.36,-0.08 0.54,-0.14 0.03,0.11 0.08,0.22 0.16,0.28 0.06,0.04 0.16,0.01 0.2,-0.05 0.05,-0.1 0.04,-0.23 0.01,-0.36 0.25,-0.09 0.5,-0.18 0.75,-0.27 0.06,-0.02 0.12,-0.06 0.17,-0.1 0.54,0.01 1.08,0.02 1.62,0 0.33,-0.01 0.66,-0.02 1,-0.04 0.05,0 0.11,0 0.17,0 -0.02,0.01 -0.05,0.02 -0.07,0.03 -0.03,0.02 -0.04,0.02 -0.03,0.02 -0.05,0.02 -0.15,0.07 -0.17,0.08 -0.05,0.03 -0.11,0.06 -0.16,0.08 -0.18,0.1 -0.37,0.19 -0.55,0.3 -0.4,0.22 -0.76,0.44 -1.13,0.67 z m 1.59,-7.36 c -0.01,-0.03 -0.02,-0.06 -0.04,-0.09 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 0.03,0 0.06,-0.01 0.09,-0.01 0,0.05 -0.02,0.11 -0.02,0.18 z m 0.84,-3.3 c 0,0.08 0,0.17 0,0.25 0,0.38 0.01,0.76 0.01,1.14 -0.11,0.02 -0.21,0.03 -0.33,0.05 -0.41,0.07 -0.82,0.13 -1.23,0.19 -0.78,0.11 -1.56,0.22 -2.35,0.31 -0.8,0.1 -1.59,0.19 -2.39,0.29 -0.58,0.07 -1.2,0.1 -1.77,0.25 -0.03,-0.36 -0.06,-0.71 -0.1,-1.07 -0.03,-0.24 -0.05,-0.49 -0.08,-0.74 0.11,-0.04 0.19,-0.11 0.26,-0.21 0.47,-0.03 0.93,-0.07 1.4,-0.11 0.8,-0.07 1.59,-0.12 2.39,-0.17 1.39,-0.09 2.79,-0.15 4.19,-0.18 z m -9.6,1.44 c 0.01,0.17 0.03,0.34 0.04,0.51 -0.15,-0.05 -0.3,-0.09 -0.45,-0.15 -0.45,-0.16 -0.88,-0.34 -1.3,-0.52 -0.45,-0.2 -0.9,-0.39 -1.33,-0.61 -0.2,-0.1 -0.4,-0.17 -0.6,-0.25 0,-0.01 0.01,-0.03 0.01,-0.04 -0.01,-0.47 -0.09,-0.94 -0.14,-1.4 -0.02,-0.19 -0.04,-0.39 -0.06,-0.59 0.08,0.06 0.16,0.13 0.25,0.18 0.49,0.32 1.01,0.59 1.52,0.86 0.5,0.27 1.01,0.51 1.52,0.74 0.16,0.07 0.32,0.14 0.49,0.21 -0.02,0.37 0.02,0.73 0.05,1.06 z m -17.49,-9.37 c -0.05,-0.11 -0.11,-0.22 -0.17,-0.33 -0.08,-0.14 -0.16,-0.28 -0.25,-0.43 -0.18,-0.3 -0.36,-0.61 -0.54,-0.91 -0.36,-0.6 -0.72,-1.21 -1.08,-1.81 -0.08,-0.14 -0.3,-0.01 -0.22,0.13 0.35,0.61 0.71,1.22 1.06,1.83 0.18,0.3 0.35,0.61 0.53,0.91 0.08,0.14 0.17,0.28 0.25,0.42 0.04,0.06 0.07,0.12 0.11,0.18 -0.31,0 -0.62,-0.01 -0.92,-0.01 -0.02,-0.06 -0.04,-0.11 -0.06,-0.16 -0.14,-0.35 -0.31,-0.68 -0.53,-0.99 -0.37,-0.53 -0.86,-0.95 -1.4,-1.29 0.01,-0.02 0.02,-0.03 0.03,-0.05 0.14,-0.25 0.06,-0.51 -0.11,-0.69 0,-0.03 0,-0.05 -0.01,-0.08 -0.02,-0.34 -0.03,-0.68 -0.05,-1.02 -0.01,-0.31 -0.02,-0.64 -0.03,-0.96 0.12,0.07 0.25,0.15 0.38,0.22 0.3,0.17 0.6,0.34 0.88,0.55 0.55,0.41 1.08,0.89 1.5,1.44 0.41,0.52 0.77,1.15 1,1.75 0.13,0.34 0.23,0.68 0.31,1.04 0.02,0.11 0.03,0.21 0.05,0.31 -0.26,-0.03 -0.49,-0.04 -0.73,-0.05 z m -4.92,0.07 c -0.02,-0.13 -0.04,-0.25 -0.06,-0.38 0.01,0.05 0.01,0.1 0.02,0.15 -0.01,-0.08 -0.02,-0.16 -0.04,-0.24 0.32,-0.27 0.62,-0.55 0.9,-0.85 0.24,0.23 0.5,0.44 0.72,0.69 0.15,0.17 0.28,0.34 0.42,0.52 -0.64,-0.01 -1.35,-0.06 -1.96,0.11 z m 2.29,-0.1 c -0.17,-0.23 -0.35,-0.46 -0.54,-0.68 -0.24,-0.27 -0.51,-0.5 -0.78,-0.74 0.08,-0.09 0.15,-0.18 0.22,-0.27 0.18,-0.07 0.34,-0.21 0.4,-0.43 0.01,-0.04 0,-0.08 0.01,-0.12 0.5,0.33 0.95,0.74 1.28,1.25 0.19,0.29 0.35,0.59 0.47,0.91 0.01,0.03 0.02,0.06 0.03,0.09 -0.36,0 -0.72,0 -1.09,-0.01 z m 4.35,-1.84 c 0.02,0.03 0.04,0.05 0.08,0.06 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.02,-0.03 -0.04,-0.06 -0.05,-0.1 z m -6.31,-2.7 c 0,0.09 0,0.18 -0.01,0.27 -0.01,0.28 -0.02,0.56 -0.04,0.84 -0.03,0.05 -0.04,0.1 -0.02,0.16 0,0.01 0.01,0.01 0.01,0.02 -0.01,0.15 -0.02,0.31 -0.03,0.48 -0.35,0.33 -0.7,0.64 -1.07,0.95 -0.01,-0.09 -0.03,-0.19 -0.03,-0.28 -0.01,-0.31 0.04,-0.61 0.15,-0.9 0.03,-0.07 -0.03,-0.16 -0.1,-0.18 -0.08,-0.02 -0.15,0.03 -0.18,0.1 -0.12,0.32 -0.18,0.66 -0.17,1 0,0.16 0.02,0.33 0.05,0.49 -0.22,0.18 -0.43,0.37 -0.67,0.53 -0.07,0.05 -0.15,0.09 -0.22,0.14 0,-0.12 0,-0.24 0,-0.36 l -0.01,-1.43 c 0.88,-0.51 1.68,-1.12 2.34,-1.83 z m -2.63,3.27 c 0,0.18 0,0.37 0,0.55 -0.28,0.18 -0.57,0.35 -0.86,0.5 0,-0.06 0,-0.12 0,-0.18 0,-0.55 -0.01,-1.11 -0.01,-1.66 0,0 0,-0.01 0,-0.01 0.3,-0.15 0.6,-0.31 0.89,-0.47 z m -1.1,0.87 c 0,0.1 0,0.21 0,0.31 -0.11,0.06 -0.21,0.12 -0.32,0.17 -0.18,-0.55 -0.36,-1.1 -0.54,-1.64 0.29,-0.12 0.58,-0.26 0.87,-0.39 -0.01,0.51 -0.01,1.03 -0.01,1.55 z m 2.22,0.85 c 0.04,0.33 0.1,0.66 0.22,0.97 0.04,0.12 0.12,0.22 0.21,0.31 -0.01,0.02 -0.01,0.03 -0.03,0.06 -0.05,0.1 -0.1,0.2 -0.14,0.3 -0.01,0.03 -0.03,0.07 -0.04,0.1 0,0.01 -0.01,0.01 -0.01,0.03 -0.04,0.08 -0.07,0.16 -0.1,0.24 0,0.01 0,0.01 -0.01,0.02 -0.04,0.08 -0.07,0.16 -0.12,0.24 -0.08,0.15 -0.17,0.3 -0.27,0.44 -0.02,0.02 -0.03,0.04 -0.05,0.07 -0.01,0.01 -0.02,0.02 -0.03,0.04 -0.06,0.07 -0.12,0.14 -0.18,0.2 -0.12,0.12 -0.24,0.23 -0.38,0.34 0,0 -0.01,0 -0.01,0.01 -0.04,0.03 -0.08,0.06 -0.12,0.08 -0.06,0.04 -0.13,0.08 -0.19,0.12 -0.27,-0.82 -0.54,-1.63 -0.81,-2.45 0.71,-0.34 1.41,-0.7 2.06,-1.12 z m 2.48,10.9 c -0.13,-0.05 -0.31,-0.01 -0.45,0.01 -0.15,0.02 -0.3,0.03 -0.46,0.05 -0.12,0.01 -0.24,0.02 -0.35,0.04 -0.13,-0.38 -0.25,-0.77 -0.38,-1.15 0.02,0 0.04,0 0.06,-0.01 0.24,-0.1 0.5,-0.15 0.76,-0.15 0.13,0 0.25,0.01 0.37,0.04 0.06,0.01 0.13,0.03 0.19,0.05 0.08,0.02 0.14,0.06 0.22,0.05 0.02,0 0.03,-0.02 0.05,-0.03 0.05,0.19 0.08,0.39 0.16,0.58 0.24,0.59 0.56,1.14 1.01,1.6 0.13,0.13 0.29,0.27 0.45,0.39 -0.27,0.04 -0.53,0.09 -0.8,0.13 -0.5,0.08 -1.01,0.16 -1.51,0.28 -0.03,-0.09 -0.06,-0.17 -0.09,-0.26 0.04,0.01 0.09,0.01 0.13,0.02 0.09,0.01 0.19,0.03 0.28,0.04 0.11,0.02 0.22,0.04 0.33,0.04 0.04,0 0.07,-0.01 0.1,-0.03 0.04,-0.01 0.07,-0.01 0.1,-0.04 0.05,-0.04 0.06,-0.1 0.02,-0.15 -0.02,-0.03 -0.06,-0.05 -0.09,-0.06 -0.02,-0.03 -0.05,-0.05 -0.08,-0.06 -0.1,-0.03 -0.21,-0.03 -0.31,-0.04 -0.1,-0.01 -0.2,-0.02 -0.29,-0.03 l -0.28,-0.03 c -0.1,-0.3 -0.2,-0.61 -0.3,-0.91 0.09,-0.01 0.19,-0.02 0.28,-0.02 0.15,-0.01 0.3,-0.02 0.46,-0.04 0.15,-0.01 0.34,-0.01 0.47,-0.09 0.08,-0.06 0.05,-0.19 -0.05,-0.22 z m -0.61,7.25 c -0.87,0.12 -1.73,0.33 -2.6,0.42 -0.99,0.1 -1.98,0.14 -2.98,0.15 -3.23,0.04 -6.5,-0.09 -9.67,0.67 -1.36,0.33 -2.68,0.83 -3.87,1.55 -0.59,0.35 -1.13,0.77 -1.63,1.23 -0.19,0.17 -0.39,0.36 -0.59,0.56 -0.14,-0.26 -0.27,-0.52 -0.44,-0.77 0,0 -0.01,-0.01 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.15,-0.22 -0.32,-0.43 -0.49,-0.63 0.51,-0.49 1.02,-0.98 1.52,-1.48 0.29,-0.29 0.58,-0.56 0.84,-0.87 0.1,-0.12 0.22,-0.25 0.34,-0.4 0.08,-0.04 0.15,-0.08 0.22,-0.14 0.07,-0.07 0.14,-0.14 0.21,-0.21 0.65,0.08 1.34,-0.13 1.99,-0.23 0.8,-0.13 1.6,-0.28 2.4,-0.39 1.6,-0.21 3.21,-0.4 4.82,-0.55 1.64,-0.16 3.29,-0.27 4.93,-0.39 0.77,-0.05 1.55,-0.12 2.32,-0.17 0.69,-0.04 1.42,-0.04 2.11,-0.12 0.19,0.6 0.39,1.19 0.59,1.79 z m -57.72,-2.08 c 0.71,0.08 1.42,0.13 2.13,0.16 1.39,0.07 2.78,0.14 4.17,0.18 2.71,0.1 5.43,0.12 8.15,0.1 5.5,-0.05 10.99,-0.29 16.47,-0.71 1.55,-0.12 3.09,-0.26 4.64,-0.41 1.37,-0.13 2.82,-0.27 4.14,-0.7 -0.57,0.62 -1.16,1.23 -1.75,1.83 -0.26,-0.02 -0.53,0 -0.81,0.03 -0.61,0.07 -1.22,0.14 -1.83,0.21 -1.16,0.13 -2.31,0.24 -3.47,0.35 -2.35,0.21 -4.7,0.39 -7.05,0.52 -4.71,0.27 -9.42,0.36 -14.13,0.32 -1.29,-0.01 -2.58,-0.05 -3.87,-0.07 -1.32,-0.02 -2.71,-0.15 -4.01,0.07 -0.33,0.06 -0.41,0.38 -0.32,0.65 -0.04,-0.07 -0.08,-0.14 -0.15,-0.2 -0.88,-0.76 -1.76,-1.54 -2.62,-2.35 0.09,0 0.2,0.01 0.31,0.02 z m 2.22,9.25 c -0.1,0 -0.2,-0.01 -0.3,-0.01 -0.05,-0.04 -0.09,-0.1 -0.14,-0.13 -0.1,-0.07 -0.2,0.03 -0.2,0.12 -0.24,-0.01 -0.49,-0.01 -0.73,-0.02 -0.07,0 -0.14,0 -0.21,-0.01 -0.01,-0.05 -0.01,-0.11 -0.02,-0.16 -0.03,-0.32 -0.06,-0.63 -0.09,-0.95 -0.02,-0.2 -0.32,-0.2 -0.31,0 0.02,0.32 0.04,0.64 0.06,0.97 0,0.04 0.01,0.09 0.01,0.13 -0.37,-0.01 -0.75,-0.02 -1.12,-0.03 -0.01,-0.14 -0.01,-0.29 0,-0.44 0.02,-0.35 0.11,-0.71 0.25,-1.03 0.04,-0.08 0.02,-0.18 -0.06,-0.22 -0.07,-0.04 -0.19,-0.02 -0.22,0.06 -0.17,0.37 -0.27,0.76 -0.31,1.16 -0.01,0.15 -0.01,0.31 0,0.46 -0.31,-0.01 -0.62,-0.02 -0.93,-0.03 -0.04,0 -0.07,0 -0.11,0 0,-0.13 0,-0.27 0,-0.4 0,-0.32 0,-0.63 0,-0.95 0,-0.2 -0.31,-0.2 -0.31,0 0,0.32 0,0.63 0,0.95 0,0.13 0,0.26 0,0.39 -0.38,-0.01 -0.76,-0.03 -1.14,-0.04 0,-0.07 0.01,-0.15 0.01,-0.22 0,-0.18 0,-0.35 -0.01,-0.53 0,-0.34 -0.01,-0.69 -0.01,-1.03 0,-0.2 -0.31,-0.2 -0.31,0 0,0.34 -0.01,0.69 -0.01,1.03 0,0.17 0,0.34 -0.01,0.51 0,0.08 0,0.15 0,0.23 -0.51,-0.02 -1.02,-0.04 -1.53,-0.06 0,0 0,0 0,0 0.1,-0.12 0.07,-0.33 0.07,-0.47 0,-0.15 0,-0.3 0,-0.46 0,-0.32 0,-0.63 0,-0.95 0,-0.2 -0.31,-0.2 -0.31,0 0,0.32 0,0.63 0,0.95 0,0.15 0,0.3 0,0.46 0,0.15 -0.03,0.35 0.07,0.47 -0.75,-0.03 -1.5,-0.06 -2.26,-0.08 0,-0.06 -0.01,-0.11 -0.05,-0.16 -0.03,-0.06 -0.06,-0.11 -0.09,-0.17 -0.05,-0.11 -0.1,-0.23 -0.13,-0.35 -0.06,-0.24 -0.07,-0.5 -0.02,-0.74 0.01,-0.07 -0.02,-0.15 -0.1,-0.17 -0.07,-0.02 -0.15,0.02 -0.17,0.1 -0.06,0.29 -0.06,0.58 0.01,0.86 0.03,0.14 0.08,0.27 0.14,0.4 0.03,0.07 0.07,0.13 0.1,0.19 0.01,0.01 0.02,0.02 0.03,0.04 -0.38,-0.01 -0.76,-0.03 -1.14,-0.04 -0.03,-0.05 -0.05,-0.11 -0.07,-0.16 -0.06,-0.12 -0.1,-0.25 -0.12,-0.39 -0.05,-0.27 -0.02,-0.55 0.08,-0.8 0.03,-0.09 -0.04,-0.19 -0.12,-0.21 -0.1,-0.03 -0.18,0.03 -0.21,0.12 -0.13,0.31 -0.15,0.65 -0.1,0.98 0.02,0.16 0.07,0.31 0.14,0.45 -0.26,-0.01 -0.53,-0.02 -0.79,-0.03 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.09,-0.07 -0.17,-0.16 -0.24,-0.24 -0.02,-0.02 -0.06,-0.08 -0.09,-0.13 -0.03,-0.05 -0.06,-0.1 -0.09,-0.16 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 0.01,0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.02,-0.06 -0.03,-0.12 -0.04,-0.18 0,-0.01 -0.01,-0.04 0,-0.02 0,-0.02 0,-0.03 0,-0.05 0,-0.03 0,-0.06 0,-0.09 0,-0.06 0,-0.13 0.01,-0.19 0.01,-0.08 -0.07,-0.16 -0.15,-0.17 -0.08,-0.01 -0.17,0.04 -0.19,0.12 -0.05,0.3 0,0.59 0.12,0.87 0.06,0.13 0.14,0.25 0.24,0.36 -0.41,-0.01 -0.81,-0.03 -1.22,-0.04 -0.01,-0.07 -0.02,-0.14 -0.02,-0.19 -0.02,-0.14 -0.03,-0.28 -0.05,-0.41 -0.03,-0.29 -0.07,-0.57 -0.1,-0.86 -0.01,-0.07 -0.05,-0.13 -0.13,-0.13 -0.07,0 -0.13,0.06 -0.13,0.13 0.03,0.29 0.05,0.58 0.08,0.88 0.01,0.14 0.02,0.29 0.04,0.43 0,0.05 0.01,0.1 0.02,0.15 -0.33,-0.01 -0.65,-0.02 -0.98,-0.03 -0.03,-0.11 -0.06,-0.23 -0.09,-0.34 -0.05,-0.23 -0.09,-0.47 -0.11,-0.71 -0.05,-0.5 -0.05,-0.99 0.03,-1.48 0,0 0,0 0,0 1.7,0.02 3.39,-0.1 5.09,-0.17 2.74,-0.1 5.59,-0.01 8.15,1.08 0.66,0.28 1.3,0.64 1.88,1.06 0.28,0.21 0.55,0.44 0.8,0.69 0.14,0.14 0.26,0.29 0.39,0.43 -0.14,-0.04 -0.25,-0.04 -0.36,-0.05 z m -17.16,-0.59 c 0,-0.02 0,-0.04 0,-0.07 0,-0.17 0,-0.33 0,-0.5 0,-0.13 -0.21,-0.13 -0.21,0 0,0.17 0,0.33 0,0.5 0,0.02 0,0.04 0,0.06 -0.26,-0.01 -0.52,-0.02 -0.77,-0.03 -0.01,-0.06 -0.02,-0.11 -0.02,-0.16 -0.01,-0.11 -0.03,-0.22 -0.04,-0.33 -0.03,-0.23 -0.06,-0.46 -0.09,-0.69 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.03,0.23 0.06,0.47 0.08,0.7 0.01,0.11 0.03,0.23 0.04,0.34 0,0.03 0.01,0.08 0.01,0.12 -0.2,-0.01 -0.4,-0.01 -0.6,-0.02 -0.07,0 -0.14,-0.01 -0.2,-0.01 -0.02,-0.11 -0.04,-0.21 -0.06,-0.32 -0.06,-0.28 -0.11,-0.56 -0.17,-0.84 -0.03,-0.15 -0.26,-0.09 -0.23,0.06 0.06,0.28 0.11,0.55 0.17,0.83 0.02,0.09 0.04,0.18 0.06,0.26 -0.53,-0.03 -1.07,-0.06 -1.61,-0.06 -0.02,-0.05 -0.04,-0.1 -0.06,-0.15 -0.08,-0.3 -0.1,-0.61 -0.06,-0.92 0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.08,0 -0.12,0.06 -0.13,0.13 -0.04,0.34 -0.01,0.68 0.08,1 0.01,0.03 0.02,0.05 0.03,0.07 -0.08,0 -0.15,0.01 -0.23,0.01 -0.06,-0.17 -0.11,-0.33 -0.15,-0.51 0,0 0,-0.01 0,-0.01 -0.02,-0.33 -0.02,-0.65 -0.02,-0.98 0,0 0,0 0,0 0.01,-0.04 0.01,-0.08 0.02,-0.12 0.02,-0.1 0.04,-0.19 0.07,-0.29 0.02,-0.09 0.05,-0.17 0.08,-0.25 0.01,-0.04 0.03,-0.07 0.04,-0.11 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0.01,-0.03 0.08,-0.16 0.16,-0.32 0.25,-0.47 0.06,-0.1 0.14,-0.2 0.21,-0.3 0.77,0.34 1.59,0.45 2.42,0.55 0.8,0.1 1.6,0.14 2.4,0.16 -0.08,0.5 -0.12,1.01 -0.09,1.51 0.02,0.26 0.05,0.52 0.1,0.77 0.01,0.08 0.04,0.15 0.05,0.23 -0.32,0.03 -0.64,0.02 -0.97,0.01 z m -6.36,-2.48 c 0.01,-0.12 0,-0.23 0,-0.34 -0.01,-0.24 -0.01,-0.49 -0.02,-0.73 -0.01,-0.45 -0.03,-0.91 -0.04,-1.36 -0.03,-0.89 -0.05,-1.78 -0.08,-2.67 0.72,0.13 1.45,0.26 2.17,0.37 -0.06,-0.54 -0.1,-1.09 -0.12,-1.64 -1.89,-0.29 -3.77,-0.65 -5.65,-1.03 0.53,-0.14 1.06,-0.32 1.54,-0.61 0.8,-0.47 1.4,-1.12 1.86,-1.86 0.37,0.24 0.73,0.48 1.1,0.72 0.45,0.3 0.91,0.63 1.4,0.86 0.06,0.03 0.14,-0.05 0.08,-0.1 -0.41,-0.35 -0.9,-0.63 -1.35,-0.92 l -1.13,-0.72 c 0.15,-0.27 0.29,-0.54 0.4,-0.83 0.14,-0.17 0.23,-0.37 0.28,-0.58 0.13,0.35 0.33,0.67 0.61,0.91 0.02,0.01 0.04,0.03 0.05,0.04 -0.01,0.08 0.05,0.18 0.16,0.16 0.02,0 0.03,-0.01 0.05,-0.01 0.27,0.17 0.58,0.3 0.89,0.29 0.07,0 0.08,-0.1 0.02,-0.11 -0.19,-0.05 -0.37,-0.1 -0.55,-0.18 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 0.38,-0.06 0.77,-0.12 1.15,-0.18 0.25,-0.04 0.5,-0.08 0.75,-0.11 0.08,-0.01 0.15,-0.02 0.23,-0.04 -0.56,2.15 -1.1,4.3 -1.66,6.45 -0.22,0.82 -0.43,1.64 -0.66,2.46 -0.05,0.18 -0.03,0.34 0.02,0.47 -0.02,0.03 -0.05,0.05 -0.07,0.08 0.03,-0.2 0.02,-0.4 0.02,-0.6 0,-0.23 -0.01,-0.46 -0.01,-0.69 -0.01,-0.47 -0.01,-0.94 -0.01,-1.41 0,-0.18 -0.28,-0.18 -0.28,0 0,0.47 -0.01,0.94 -0.01,1.41 0,0.23 -0.01,0.46 -0.01,0.69 0,0.24 -0.02,0.47 0.03,0.7 0.01,0.06 0.06,0.09 0.12,0.1 -0.11,0.15 -0.2,0.31 -0.28,0.47 0,-0.21 -0.04,-0.43 -0.08,-0.63 -0.05,-0.33 -0.11,-0.66 -0.16,-0.99 -0.11,-0.65 -0.21,-1.3 -0.32,-1.95 -0.03,-0.16 -0.27,-0.09 -0.25,0.07 0.1,0.64 0.19,1.28 0.29,1.91 l 0.15,0.96 c 0.04,0.29 0.05,0.64 0.2,0.89 0.01,0.01 0.03,0.01 0.04,0.02 -0.06,0.13 -0.12,0.27 -0.16,0.4 0,0.01 0,0.02 -0.01,0.03 -0.23,-0.04 -0.44,-0.08 -0.64,-0.13 z m -1.2,-0.26 c -0.03,-0.08 -0.05,-0.16 -0.08,-0.24 -0.11,-0.38 -0.21,-0.76 -0.28,-1.15 -0.15,-0.81 -0.22,-1.63 -0.2,-2.45 0,-0.16 -0.24,-0.16 -0.25,0 -0.04,0.83 0.01,1.66 0.15,2.48 0.07,0.4 0.15,0.8 0.26,1.2 0.01,0.02 0.01,0.05 0.02,0.08 -0.28,-0.06 -0.55,-0.13 -0.83,-0.19 0,-0.09 -0.01,-0.19 -0.01,-0.28 -0.01,-0.4 -0.03,-0.8 -0.04,-1.2 -0.03,-0.8 -0.07,-1.6 -0.1,-2.4 0,-0.1 -0.15,-0.1 -0.16,0 0,0 0,0 0,0 0.01,-0.18 0,-0.36 0,-0.54 0,-0.2 0,-0.41 0,-0.61 0.76,0.15 1.52,0.31 2.28,0.44 0.02,0.92 0.04,1.85 0.06,2.77 0.01,0.47 0.02,0.94 0.03,1.41 0.01,0.27 -0.02,0.6 0.02,0.9 -0.28,-0.09 -0.57,-0.16 -0.87,-0.22 z m -5.77,-19.4 c -0.78,0.02 -1.56,0.22 -2.3,0.54 0.13,-0.09 0.25,-0.18 0.38,-0.26 0.53,-0.3 1.1,-0.53 1.69,-0.68 0.17,-0.04 0.1,-0.31 -0.07,-0.27 -0.61,0.15 -1.21,0.38 -1.76,0.7 -0.18,0.1 -0.35,0.22 -0.52,0.34 0.11,-0.29 0.21,-0.59 0.32,-0.88 0.78,-0.53 1.67,-0.87 2.64,-0.9 0.12,0 0.12,-0.18 0,-0.18 -0.87,-0.01 -1.73,0.24 -2.5,0.67 0.02,-0.05 0.03,-0.09 0.05,-0.14 0.04,-0.05 0.08,-0.11 0.12,-0.15 0.19,-0.22 0.4,-0.44 0.62,-0.63 0.46,-0.4 0.99,-0.72 1.56,-0.94 0.07,-0.03 0.04,-0.14 -0.03,-0.11 -0.59,0.21 -1.13,0.51 -1.62,0.9 -0.18,0.15 -0.34,0.32 -0.5,0.48 0.2,-0.58 0.38,-1.17 0.55,-1.75 0.14,-0.13 0.27,-0.27 0.42,-0.38 0.55,-0.41 1.18,-0.72 1.85,-0.9 0.09,-0.02 0.05,-0.15 -0.04,-0.13 -0.7,0.16 -1.37,0.46 -1.95,0.89 -0.07,0.05 -0.12,0.11 -0.18,0.17 0.07,-0.26 0.15,-0.52 0.21,-0.79 0.12,-0.2 0.24,-0.41 0.38,-0.6 0.11,-0.1 0.22,-0.2 0.34,-0.28 0.59,-0.41 1.31,-0.64 2.04,-0.62 0.14,0 0.17,-0.23 0.03,-0.24 -0.51,-0.07 -1.01,0 -1.49,0.17 0.44,-0.37 0.94,-0.68 1.52,-0.85 0.65,-0.19 1.34,-0.21 2,-0.06 0.34,0.08 0.65,0.2 0.97,0.36 0.23,0.12 0.44,0.27 0.66,0.42 -0.02,0.12 -0.05,0.23 -0.06,0.34 -0.04,0.42 -0.01,0.84 0.05,1.26 0,0.02 0.01,0.04 0.01,0.06 -0.02,-0.02 -0.04,-0.04 -0.06,-0.05 -0.31,-0.21 -0.67,-0.33 -1.04,-0.34 -0.1,0 -0.1,0.16 0,0.16 0.34,0.01 0.67,0.13 0.95,0.33 0.08,0.05 0.14,0.13 0.2,0.19 0.01,0.07 0.02,0.14 0.04,0.21 0.05,0.22 0.11,0.5 0.25,0.68 0.1,0.14 0.24,0.24 0.4,0.28 0.4,0.57 0.93,1.04 1.54,1.43 -0.07,0.23 -0.14,0.46 -0.18,0.71 -0.09,0.45 -0.15,0.9 -0.23,1.35 -0.15,0.93 -0.28,1.87 -0.42,2.81 -0.01,0.1 -0.03,0.19 -0.04,0.29 -0.06,-0.12 -0.15,-0.22 -0.21,-0.33 0.03,-0.02 0.07,-0.04 0.07,-0.08 0,-0.43 -0.28,-0.92 -0.5,-1.28 -0.25,-0.41 -0.57,-0.78 -0.93,-1.09 -0.72,-0.62 -1.61,-0.99 -2.56,-1.05 -0.12,-0.01 -0.11,0.17 0,0.18 0.9,0.08 1.75,0.49 2.43,1.08 0.33,0.29 0.62,0.63 0.85,1 0.12,0.19 0.22,0.4 0.31,0.61 0.03,0.07 0.05,0.15 0.08,0.23 -0.8,-1.12 -1.93,-1.99 -3.22,-2.47 -0.94,-0.35 -2.05,-0.5 -3.12,-0.41 z m 9.88,-0.48 c -0.02,0.07 -0.05,0.14 -0.07,0.22 -0.29,0.09 -0.58,0.18 -0.88,0.24 -0.13,0.02 -0.26,0.05 -0.4,0.07 0.03,-0.24 0.06,-0.48 0.09,-0.72 0.01,-0.11 0.01,-0.21 0.01,-0.32 0.41,0.19 0.83,0.36 1.25,0.51 z m 1.01,8.71 c -0.43,-0.03 -0.84,-0.22 -1.18,-0.5 0.15,-0.02 0.3,-0.03 0.45,-0.05 0.31,-0.04 0.63,-0.06 0.92,-0.18 -0.07,0.24 -0.13,0.48 -0.19,0.73 z m -2.82,-1.13 c -0.01,-0.08 -0.13,-0.08 -0.13,0 0.01,0.18 0.06,0.34 0.12,0.51 -0.19,0.02 -0.38,0.05 -0.56,0.07 0,-0.01 0,-0.02 0.01,-0.04 l 0.19,-1.36 c 0,-0.02 0.01,-0.04 0.01,-0.06 0.23,-0.02 0.46,-0.04 0.7,-0.06 0,0.11 0,0.21 0.04,0.31 0.02,0.05 0.12,0.08 0.13,0 0.01,-0.11 0.02,-0.22 0.02,-0.32 0.06,0 0.11,-0.01 0.17,-0.01 0.01,0.49 0.2,0.95 0.51,1.32 -0.08,0.01 -0.15,0.02 -0.23,0.03 -0.28,0.04 -0.56,0.07 -0.83,0.11 -0.09,-0.16 -0.14,-0.33 -0.15,-0.5 z m 0.05,1.91 c -0.3,-0.26 -0.53,-0.59 -0.64,-0.97 -0.01,-0.02 -0.03,-0.01 -0.04,-0.02 0,-0.01 0.01,-0.02 0.01,-0.04 0.25,-0.03 0.49,-0.06 0.74,-0.09 0.14,0.24 0.32,0.46 0.55,0.63 0.19,0.15 0.4,0.26 0.63,0.33 -0.38,0.07 -0.76,0.14 -1.14,0.2 -0.04,0 -0.08,-0.01 -0.11,-0.04 z m -0.37,-3.12 c 0.03,-0.21 0.06,-0.42 0.09,-0.63 0.04,0 0.08,0.01 0.11,0.01 -0.04,0.07 0.04,0.16 0.12,0.11 0.04,-0.03 0.07,-0.07 0.1,-0.1 0.14,0.01 0.27,0.02 0.41,0.03 -0.04,0.08 -0.08,0.16 -0.11,0.24 -0.03,0.08 -0.04,0.17 -0.05,0.26 -0.23,0.03 -0.45,0.06 -0.67,0.08 z m 1.64,-2.37 c -0.17,0 -0.33,0 -0.5,0.01 -0.1,0 -0.2,0 -0.3,0 0.09,-0.06 0.19,-0.13 0.28,-0.19 0.24,-0.17 0.48,-0.34 0.72,-0.51 0,0.2 0.01,0.39 0.01,0.59 -0.01,0.01 -0.02,0 -0.03,0.01 -0.03,0.03 -0.05,0.06 -0.08,0.08 -0.03,0.02 -0.07,0.01 -0.1,0.01 z m -1.12,-1.37 c 0.06,0 0.12,-0.01 0.17,-0.01 0,0 0,0 0,0 -0.07,0.08 -0.12,0.17 -0.18,0.26 -0.01,0.02 -0.02,0.04 -0.03,0.06 0.01,-0.09 0.02,-0.2 0.04,-0.31 z m -0.19,1.39 c 0,-0.02 0.01,-0.04 0.01,-0.07 0.03,-0.23 0.06,-0.46 0.09,-0.69 0.03,0 0.05,0.01 0.07,-0.01 0.07,-0.07 0.13,-0.14 0.2,-0.22 0.07,-0.07 0.15,-0.13 0.22,-0.2 0.1,-0.09 0.21,-0.17 0.32,-0.25 0.09,0 0.18,-0.01 0.27,-0.01 0.11,-0.01 0.21,-0.01 0.32,-0.02 0,0.14 0,0.29 0,0.43 0,0.03 0,0.05 0,0.08 0,0 0,0 -0.01,0 -0.27,0.19 -0.55,0.39 -0.82,0.58 -0.13,0.09 -0.27,0.19 -0.39,0.29 -0.03,0.02 -0.06,0.05 -0.09,0.07 -0.06,0.02 -0.13,0.02 -0.19,0.02 z m 1.51,-1.77 c -0.01,0 -0.02,0 -0.04,0 0.01,-0.01 0.02,-0.02 0.04,-0.02 0,0 0,0.01 0,0.02 z m -0.08,2.08 c 0.03,0 0.06,0 0.1,0 0,0.1 0,0.2 0,0.31 0.01,0.28 0.03,0.57 0.05,0.85 0,0.04 0.01,0.09 0.01,0.13 -0.24,-0.03 -0.48,-0.05 -0.71,-0.06 0.04,-0.06 0.07,-0.12 0.12,-0.17 0.09,-0.1 -0.06,-0.24 -0.15,-0.15 -0.09,0.09 -0.16,0.2 -0.22,0.31 -0.1,-0.01 -0.2,-0.01 -0.3,-0.02 0.02,-0.03 0.05,-0.05 0.08,-0.07 0.14,-0.15 0.28,-0.31 0.42,-0.46 0.2,-0.23 0.4,-0.45 0.6,-0.67 z m -0.83,1.79 c 0.03,-0.11 0.08,-0.21 0.13,-0.3 0.28,0.02 0.57,0.04 0.86,0.05 -0.02,0.1 -0.03,0.21 -0.02,0.31 -0.25,0.03 -0.5,0.05 -0.75,0.08 -0.04,-0.05 -0.1,-0.06 -0.12,0.01 0,0 0,0 0,0 -0.04,0 -0.08,0.01 -0.12,0.01 0,-0.05 0,-0.11 0.02,-0.16 z m 0.23,0.48 c 0.26,-0.02 0.52,-0.05 0.78,-0.07 0,0 0.01,0 0.01,0 0.05,0.23 0.13,0.45 0.25,0.65 0.08,0.14 0.19,0.27 0.3,0.38 0.08,0.08 0.16,0.15 0.25,0.21 0.01,0.01 0.02,0.01 0.03,0.01 -0.14,0.02 -0.28,0.04 -0.42,0.05 -0.23,0.03 -0.46,0.06 -0.69,0.09 -0.32,-0.38 -0.51,-0.84 -0.51,-1.32 z m 0.69,-4.75 c -0.04,0.01 -0.09,0.02 -0.13,0.04 -0.2,0.08 -0.39,0.18 -0.56,0.31 -0.04,0.03 -0.07,0.07 -0.11,0.1 -0.17,0.01 -0.33,0.02 -0.5,0.03 0.03,-0.22 0.06,-0.44 0.09,-0.66 0.03,0 0.05,0.01 0.08,0.01 0.25,0 0.49,-0.03 0.73,-0.06 0.14,-0.02 0.27,-0.06 0.4,-0.09 0.01,0.1 0.01,0.21 0,0.32 z m -1.57,2.51 c 0,0 0.01,0 0,0 0.04,-0.01 0.06,-0.03 0.09,-0.05 0.26,0 0.51,0.01 0.77,0.01 0.1,0 0.21,0 0.31,0 -0.15,0.17 -0.31,0.34 -0.46,0.5 -0.14,0.15 -0.27,0.3 -0.41,0.45 -0.07,0.08 -0.14,0.16 -0.21,0.24 -0.08,0 -0.17,-0.01 -0.25,-0.01 0.05,-0.38 0.11,-0.76 0.16,-1.14 z m 2.76,4.72 c -0.12,0.02 -0.25,0.05 -0.35,0.07 -0.21,0.04 -0.42,0.08 -0.64,0.12 -0.09,-0.01 -0.18,-0.01 -0.27,-0.04 -0.25,-0.07 -0.48,-0.18 -0.69,-0.34 -0.2,-0.15 -0.36,-0.33 -0.49,-0.53 0.24,-0.03 0.48,-0.06 0.73,-0.09 0.16,-0.02 0.32,-0.04 0.47,-0.06 0.37,0.32 0.83,0.52 1.33,0.53 -0.03,0.12 -0.06,0.23 -0.09,0.34 z m 1.73,-6.69 c -0.01,-0.16 -0.02,-0.32 -0.03,-0.47 l -0.06,-1.13 c 0.16,0.04 0.31,0.09 0.47,0.13 -0.13,0.48 -0.26,0.98 -0.38,1.47 z m 0.77,-2.98 c -0.01,0 -0.01,-0.01 0,0 -0.03,-0.13 -0.06,-0.25 -0.08,-0.37 -0.06,-0.25 -0.11,-0.51 -0.17,-0.76 -0.04,-0.18 -0.31,-0.1 -0.27,0.07 0.06,0.25 0.11,0.51 0.17,0.76 l 0.08,0.37 c 0.02,0.08 0.04,0.16 0.06,0.25 -0.28,-0.07 -0.56,-0.14 -0.85,-0.21 0,-0.08 -0.01,-0.16 -0.01,-0.22 0,-0.2 0,-0.4 0,-0.6 0,-0.39 0,-0.79 -0.01,-1.18 0,-0.16 -0.25,-0.16 -0.25,0 0,0.39 0,0.79 -0.01,1.18 0,0.19 0,0.39 0,0.58 0,0.05 0,0.11 -0.01,0.17 -0.37,-0.09 -0.74,-0.19 -1.12,-0.3 -0.01,-0.11 -0.02,-0.22 -0.03,-0.34 -0.03,-0.22 -0.05,-0.43 -0.08,-0.65 -0.01,-0.05 -0.04,-0.09 -0.09,-0.09 -0.04,0 -0.1,0.04 -0.09,0.09 0.03,0.22 0.06,0.44 0.08,0.66 0.01,0.09 0.03,0.18 0.04,0.27 -0.7,-0.21 -1.39,-0.45 -2.02,-0.76 0,-0.02 0,-0.05 0,-0.07 0,-0.15 -0.09,-0.23 -0.19,-0.29 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.05,-0.19 -0.09,-0.39 -0.12,-0.59 -0.06,-0.41 -0.06,-0.83 -0.01,-1.24 0.01,-0.11 -0.16,-0.11 -0.17,0 -0.05,0.43 -0.05,0.86 0,1.28 0.03,0.2 0.06,0.4 0.12,0.59 0,0 0,0.01 0,0.01 -0.06,0.01 -0.12,0.03 -0.17,0.07 -0.44,-0.27 -0.84,-0.57 -1.18,-0.94 0.01,-0.05 0.02,-0.09 0.02,-0.14 -0.04,-0.38 -0.21,-0.74 -0.28,-1.12 -0.05,-0.29 -0.07,-0.63 -0.06,-0.99 0,-0.06 0.01,-0.11 0.01,-0.17 0.12,0.13 0.26,0.25 0.4,0.37 0.01,0.19 0.03,0.37 0.05,0.56 0.03,0.28 0.04,0.56 0.11,0.83 0.04,0.15 0.26,0.11 0.26,-0.04 0.01,-0.27 -0.03,-0.54 -0.06,-0.81 -0.01,-0.09 -0.02,-0.19 -0.03,-0.28 1.02,0.76 2.31,1.27 3.54,1.65 0.96,0.3 1.93,0.56 2.9,0.81 -0.16,0.56 -0.31,1.13 -0.45,1.69 z m 1.27,-5.01 c -0.01,0 -0.03,-0.01 -0.04,-0.01 -0.39,-0.09 -0.88,-0.16 -1.19,-0.42 -0.64,-0.54 0.44,-1 0.83,-1.23 0.3,-0.17 0.62,-0.31 0.94,-0.46 -0.19,0.71 -0.36,1.41 -0.54,2.12 z m 4.58,-22.41 c 0.03,0 0.07,0.01 0.1,-0.01 0.04,-0.02 0.07,-0.04 0.11,-0.06 0.02,-0.01 0.04,-0.02 0.06,-0.03 0,0 0,0 0,0 0.01,0 0.02,-0.01 0.04,-0.01 0.08,-0.03 0.17,-0.05 0.26,-0.07 0,0 0,0 0,0 0.01,0 0.02,0 0.02,0 0.02,0 0.05,0 0.07,-0.01 0.05,0 0.09,0 0.14,0 0.08,0 0.16,0.01 0.24,0.01 -0.04,0.16 -0.08,0.32 -0.12,0.47 -0.04,0.01 -0.07,0.01 -0.11,0.02 -0.21,0.04 -0.42,0.08 -0.63,0.12 -0.08,0.01 -0.12,0.11 -0.1,0.18 0.02,0.08 0.1,0.11 0.18,0.1 0.19,-0.03 0.39,-0.07 0.58,-0.1 -0.07,0.26 -0.13,0.53 -0.2,0.79 -0.27,-0.04 -0.54,-0.04 -0.82,0.01 -0.06,0.01 -0.11,0.03 -0.17,0.04 0.11,-0.48 0.23,-0.97 0.35,-1.45 z m -0.67,6.69 c -0.01,-0.02 -0.01,-0.04 -0.03,-0.05 -0.07,-0.05 -0.16,-0.05 -0.25,-0.05 -0.08,-0.01 -0.15,-0.01 -0.23,-0.01 h -0.39 c 0.03,-0.15 0.07,-0.29 0.1,-0.44 0.26,-0.08 0.52,-0.16 0.79,-0.24 0.07,-0.02 0.15,-0.05 0.22,-0.07 -0.07,0.29 -0.14,0.58 -0.21,0.86 z m -0.98,0.22 c 0.01,0 0.01,0.01 0.02,0.01 h 0.45 c 0.07,0 0.15,0 0.22,-0.01 0.08,-0.01 0.17,0 0.24,-0.05 -0.02,0.07 -0.04,0.15 -0.05,0.22 -0.12,0.05 -0.24,0.11 -0.36,0.16 -0.22,0.1 -0.45,0.2 -0.67,0.29 0.05,-0.2 0.1,-0.41 0.15,-0.62 z m 0.1,3.33 c -0.01,0 -0.01,0 0,0 -0.07,-0.01 -0.13,-0.02 -0.2,-0.03 l -0.38,-0.05 c -0.04,-0.01 -0.08,-0.01 -0.12,0.02 -0.03,0.02 -0.06,0.06 -0.07,0.1 -0.02,0.08 0.02,0.18 0.11,0.2 l 0.35,0.05 c -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.22,0.09 -0.44,0.18 -0.67,0.27 0.08,-0.35 0.17,-0.7 0.25,-1.05 0.14,-0.06 0.28,-0.12 0.42,-0.16 0.12,-0.03 0.23,-0.05 0.35,-0.06 0.06,-0.01 0.12,-0.01 0.18,-0.01 -0.07,0.23 -0.13,0.46 -0.18,0.7 z m -1.13,0.98 c 0.12,-0.04 0.23,-0.08 0.35,-0.12 -0.03,0.02 -0.06,0.03 -0.09,0.05 -0.09,0.05 -0.19,0.11 -0.28,0.16 0.01,-0.03 0.01,-0.06 0.02,-0.09 z m -0.22,0.98 c 0.01,0.01 0.02,0.02 0.03,0.02 0.13,0.02 0.25,0.04 0.38,0.06 0.06,0.01 0.11,0.01 0.17,0.02 0.01,0 0.01,0 0.02,0 -0.13,0.02 -0.26,0.06 -0.38,0.1 -0.1,0.03 -0.2,0.1 -0.3,0.14 0.03,-0.11 0.05,-0.23 0.08,-0.34 z m 0.84,0.08 c -0.03,0 -0.07,0.01 -0.1,0.01 0.02,-0.01 0.05,-0.01 0.07,-0.02 0.03,-0.02 0.05,-0.05 0.06,-0.09 -0.02,0.04 -0.02,0.07 -0.03,0.1 z m -1.23,4.93 c -0.26,-0.01 -0.53,-0.01 -0.79,0.01 0.08,-0.23 0.15,-0.46 0.21,-0.7 0,0 0,0 0,0 0.02,-0.01 0.04,-0.02 0.05,-0.04 0.04,-0.02 0.08,-0.05 0.12,-0.07 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.01,0 0.02,-0.01 0.03,-0.01 0.01,0 0.01,0 0.01,0 0,0 0,0 0,0 0,0 0.04,-0.01 0.04,-0.02 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.02 0.07,-0.02 0.04,-0.01 0.09,-0.03 0.13,-0.04 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.02,0 0.04,-0.01 0.06,-0.01 0.05,-0.01 0.07,-0.05 0.1,-0.08 0.03,-0.04 0.02,-0.12 -0.02,-0.15 -0.05,-0.05 -0.11,-0.06 -0.19,-0.06 -0.06,0 -0.12,0.01 -0.18,0.02 -0.11,0.02 -0.21,0.05 -0.31,0.1 -0.01,0 -0.02,0.01 -0.03,0.02 0.06,-0.27 0.12,-0.54 0.18,-0.81 0.01,-0.01 0.02,0 0.03,-0.01 0.04,-0.04 0.08,-0.07 0.12,-0.1 0.02,0.11 0.12,0.17 0.22,0.15 0.06,-0.01 0.11,-0.03 0.17,-0.04 0.03,0.02 0.06,0.05 0.1,0.05 0.04,0 0.08,0 0.12,0 -0.13,0.61 -0.29,1.25 -0.45,1.88 z m 0.57,-2.28 c -0.04,0 -0.08,-0.01 -0.11,-0.01 -0.06,-0.03 -0.14,-0.04 -0.21,0 0,0 0,0 0,0 -0.03,0 -0.05,0 -0.08,0.01 0.05,-0.03 0.1,-0.06 0.16,-0.09 0.02,-0.01 0.05,-0.02 0.07,-0.03 0,0 0.02,-0.01 0.03,-0.01 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.05,-0.02 0.1,-0.04 0.15,-0.05 -0.02,0.06 -0.03,0.13 -0.05,0.2 z m 0.16,-0.64 c -0.06,0 -0.13,0.02 -0.19,0.03 -0.14,0.04 -0.28,0.1 -0.41,0.16 -0.11,0.05 -0.2,0.14 -0.31,0.22 0.03,-0.15 0.07,-0.31 0.1,-0.46 0.05,0.04 0.12,0.06 0.18,0.02 0.17,-0.09 0.33,-0.18 0.5,-0.28 0.08,-0.05 0.15,-0.1 0.23,-0.16 0,0 0,0 0.01,-0.01 -0.03,0.17 -0.07,0.32 -0.11,0.48 z m 0.2,-0.79 c -0.08,0.02 -0.15,0.06 -0.23,0.09 -0.09,0.04 -0.17,0.07 -0.26,0.11 -0.15,0.08 -0.3,0.16 -0.44,0.25 0.07,-0.31 0.14,-0.61 0.21,-0.92 0.15,-0.08 0.3,-0.15 0.46,-0.2 0.15,-0.04 0.3,-0.06 0.45,-0.08 -0.07,0.24 -0.13,0.5 -0.19,0.75 z m 0.33,-1.35 c 0,-0.04 -0.01,-0.08 -0.04,-0.11 -0.04,-0.04 -0.07,-0.06 -0.12,-0.08 -0.03,-0.01 -0.05,-0.01 -0.08,-0.01 -0.06,-0.01 -0.11,-0.02 -0.17,-0.03 -0.11,-0.02 -0.23,-0.03 -0.34,-0.05 -0.02,0 -0.04,0.01 -0.06,0.01 0.02,-0.07 0.03,-0.13 0.05,-0.2 0.05,0.02 0.1,0.03 0.16,0 0.13,-0.07 0.26,-0.15 0.39,-0.22 0.06,-0.04 0.13,-0.07 0.19,-0.11 0.07,-0.04 0.13,-0.1 0.2,-0.15 0.05,-0.04 0.05,-0.13 0.02,-0.18 -0.02,-0.03 -0.04,-0.05 -0.07,-0.06 0.04,-0.01 0.08,-0.03 0.12,-0.04 0.02,-0.01 0.05,-0.02 0.07,-0.02 -0.11,0.41 -0.21,0.83 -0.32,1.25 z m 0.75,-3.03 c -0.23,-0.01 -0.47,0.02 -0.7,0.07 -0.09,0.02 -0.16,0.07 -0.25,0.1 0.05,-0.21 0.1,-0.41 0.15,-0.62 0.08,0.01 0.16,0.02 0.25,0.04 0.07,0.01 0.15,0.01 0.22,0.01 0.07,0 0.14,0.01 0.21,-0.01 0.09,-0.03 0.1,-0.14 0.03,-0.2 -0.06,-0.04 -0.13,-0.05 -0.19,-0.07 -0.06,-0.02 -0.12,-0.04 -0.19,-0.05 -0.08,-0.01 -0.17,-0.02 -0.25,-0.04 0.03,-0.12 0.06,-0.25 0.09,-0.37 0.01,0 0.02,0 0.03,0 0.31,-0.13 0.61,-0.26 0.92,-0.39 0.02,-0.01 0.05,-0.02 0.07,-0.03 -0.12,0.51 -0.26,1.04 -0.39,1.56 z m 2.86,-11.52 c -0.08,0.01 -0.17,0.01 -0.25,0.02 -0.19,0.02 -0.38,0.04 -0.57,0.06 -0.09,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.17 0.16,0.16 l 0.58,-0.06 c 0.05,-0.01 0.11,-0.01 0.16,-0.02 -0.03,0.13 -0.06,0.26 -0.1,0.39 -0.04,0.01 -0.08,0.03 -0.11,0.04 -0.16,0.06 -0.32,0.11 -0.48,0.17 -0.09,0.03 -0.15,0.12 -0.12,0.22 0.03,0.09 0.12,0.15 0.22,0.12 l 0.4,-0.13 c -0.06,0.26 -0.13,0.52 -0.19,0.77 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.18,-0.07 -0.39,-0.07 -0.58,-0.04 -0.14,0.02 -0.27,0.09 -0.4,0.14 0.23,-0.96 0.46,-1.92 0.69,-2.88 0.04,0.02 0.08,0.03 0.12,0.01 0.18,-0.07 0.37,-0.15 0.55,-0.22 0.15,-0.06 0.3,-0.12 0.44,-0.2 -0.11,0.44 -0.22,0.88 -0.32,1.31 z m 0.4,-1.64 c -0.02,-0.01 -0.04,-0.02 -0.07,-0.02 -0.21,0.02 -0.41,0.13 -0.61,0.21 -0.14,0.06 -0.29,0.12 -0.43,0.18 0.03,-0.12 0.06,-0.23 0.08,-0.35 0.06,0.02 0.12,0.01 0.17,-0.03 0.14,-0.13 0.35,-0.21 0.54,-0.21 0.12,0 0.19,0 0.3,0.04 0.02,0.01 0.04,0.01 0.06,0.02 -0.01,0.05 -0.03,0.1 -0.04,0.16 z m 0.5,-2.03 c -0.03,0 -0.05,0.01 -0.08,0.02 -0.09,0.02 -0.18,0.04 -0.28,0.06 -0.18,0.04 -0.37,0.08 -0.55,0.11 -0.09,0.02 -0.15,0.13 -0.12,0.22 0.03,0.1 0.12,0.14 0.22,0.12 0.18,-0.04 0.37,-0.07 0.55,-0.11 0.06,-0.01 0.11,-0.02 0.17,-0.03 -0.1,0.39 -0.19,0.78 -0.29,1.17 -0.11,-0.04 -0.23,-0.08 -0.35,-0.08 -0.25,-0.01 -0.49,0.08 -0.7,0.21 0.19,-0.78 0.37,-1.57 0.56,-2.35 0.02,0 0.04,0.01 0.06,0.01 0.21,-0.04 0.43,-0.07 0.64,-0.11 0.13,-0.02 0.25,-0.05 0.38,-0.08 -0.07,0.28 -0.14,0.56 -0.21,0.84 z m 0.29,-1.2 c -0.18,0.02 -0.37,0.04 -0.55,0.07 -0.18,0.03 -0.35,0.06 -0.53,0.09 0.13,-0.54 0.26,-1.09 0.39,-1.63 0.04,-0.18 0.08,-0.35 0.13,-0.53 0.19,-0.07 0.38,-0.1 0.58,-0.08 0.09,0.01 0.21,0.04 0.32,0.07 0.04,0.01 0.09,0.03 0.13,0.04 -0.04,0.18 -0.09,0.36 -0.13,0.54 -0.01,0 -0.01,0 -0.02,0 -0.07,0.02 -0.14,0.04 -0.22,0.05 -0.15,0.04 -0.3,0.08 -0.45,0.11 -0.11,0.03 -0.18,0.15 -0.15,0.26 0.04,0.11 0.14,0.18 0.26,0.15 0.15,-0.04 0.3,-0.08 0.45,-0.11 0,0 0.01,0 0.01,0 -0.06,0.33 -0.14,0.65 -0.22,0.97 z m 0.56,-2.3 c -0.03,-0.01 -0.04,-0.03 -0.07,-0.05 -0.15,-0.06 -0.29,-0.09 -0.45,-0.1 -0.17,-0.01 -0.34,0.01 -0.5,0.06 0.06,-0.23 0.11,-0.46 0.17,-0.69 0.03,0.03 0.07,0.05 0.12,0.05 0.31,-0.02 0.62,-0.03 0.93,-0.06 -0.07,0.26 -0.14,0.52 -0.2,0.79 z m 0.57,-4.44 c 0.17,-0.01 0.34,-0.02 0.51,-0.03 -0.02,0.08 -0.04,0.15 -0.06,0.23 -0.01,0 -0.02,0 -0.03,0.01 -0.07,0.03 -0.15,0.06 -0.22,0.09 -0.13,0.06 -0.26,0.11 -0.39,0.17 -0.06,0.02 -0.07,0.1 -0.06,0.16 -0.01,0 -0.02,0 -0.02,0 -0.01,-0.22 -0.02,-0.43 -0.03,-0.65 0.1,0.01 0.2,0.03 0.3,0.02 z m -0.27,0.98 0.33,-0.04 c -0.11,0.04 -0.22,0.07 -0.33,0.11 0,-0.03 0,-0.05 0,-0.07 z m -0.78,1.81 c 0.24,-0.04 0.54,-0.05 0.75,-0.19 0.11,-0.07 0.18,-0.16 0.24,-0.26 -0.07,0.31 -0.15,0.61 -0.22,0.92 -0.11,0.01 -0.22,0.01 -0.33,0.02 -0.23,0.02 -0.46,0.04 -0.69,0.07 -0.02,0 -0.03,0.02 -0.05,0.02 0.04,-0.18 0.09,-0.37 0.13,-0.55 0.05,-0.01 0.11,-0.02 0.17,-0.03 z m 1.06,-0.74 c 0,-0.04 0.03,-0.08 0.02,-0.13 -0.02,-0.18 -0.13,-0.36 -0.29,-0.48 0.15,-0.04 0.29,-0.08 0.44,-0.12 -0.05,0.24 -0.11,0.48 -0.17,0.73 z m 1.06,-4.42 c 0,-0.01 0,-0.03 0,-0.04 0.01,-0.44 0.02,-0.88 0.03,-1.33 0,-0.15 -0.23,-0.15 -0.23,0 -0.02,0.43 -0.03,0.87 -0.05,1.3 -0.01,0.3 -0.03,0.61 -0.03,0.92 -0.06,0.01 -0.11,0.02 -0.17,0.02 0,-0.23 0,-0.46 0,-0.69 0,-0.55 -0.01,-1.11 -0.01,-1.66 0,-0.13 -0.2,-0.13 -0.21,0 -0.01,0.55 -0.02,1.11 -0.03,1.66 0,0.24 -0.01,0.48 -0.01,0.72 -0.09,0.01 -0.18,0.02 -0.27,0.04 0,-0.03 0,-0.05 0,-0.08 0,-0.26 -0.01,-0.52 -0.02,-0.78 -0.01,-0.25 -0.03,-0.5 -0.04,-0.75 -0.01,-0.25 -0.02,-0.51 -0.07,-0.76 -0.04,-0.19 -0.29,-0.12 -0.31,0.04 -0.03,0.25 0,0.5 0.01,0.75 0.01,0.25 0.02,0.5 0.04,0.75 0.02,0.25 0.03,0.5 0.06,0.75 0,0.04 0.01,0.09 0.01,0.13 -0.05,0.01 -0.1,0.03 -0.15,0.04 -0.04,-0.55 -0.08,-1.09 -0.11,-1.63 -0.02,-0.47 -0.05,-0.93 -0.07,-1.4 0.16,0.02 0.31,0.04 0.47,0.04 l 0.56,0.01 c 0.19,0 0.38,0.01 0.56,0.01 0.09,0 0.17,0 0.26,0.01 h 0.13 c 0.03,0 0.06,-0.01 0.09,-0.01 -0.14,0.66 -0.29,1.3 -0.44,1.94 z m 1.24,-5.4 c -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.04,-0.01 -0.09,-0.02 -0.13,-0.03 -0.11,-0.02 -0.21,-0.03 -0.32,-0.03 -0.19,0 -0.37,0.04 -0.55,0.11 0.08,-0.36 0.17,-0.71 0.25,-1.07 0.02,0.09 0.09,0.17 0.19,0.16 0.16,-0.02 0.33,-0.03 0.49,-0.05 0.1,-0.01 0.21,-0.03 0.31,-0.04 -0.07,0.33 -0.14,0.64 -0.22,0.96 z m 0.32,-1.37 c -0.14,0.01 -0.28,0.03 -0.42,0.04 -0.16,0.02 -0.32,0.04 -0.48,0.06 -0.05,0.01 -0.1,0.03 -0.14,0.06 0.06,-0.27 0.13,-0.54 0.19,-0.82 0.06,-0.03 0.12,-0.06 0.18,-0.08 0.09,-0.03 0.19,-0.06 0.29,-0.07 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.02,0 0.03,0 0.05,-0.01 0.08,-0.01 0.05,0 0.09,0 0.14,0 0.05,0 0.09,0 0.14,0.01 0.03,0 0.05,0 0.08,0.01 -0.03,0 -0.02,0 0.04,0.01 0.01,0 0.03,0 0.04,-0.01 -0.06,0.26 -0.12,0.53 -0.18,0.8 z m 0.27,-1.17 c -0.01,0 -0.01,0 0,0 -0.11,-0.06 -0.26,-0.06 -0.38,-0.06 -0.12,0 -0.24,0.02 -0.35,0.04 -0.1,0.02 -0.18,0.07 -0.28,0.11 0.05,-0.2 0.09,-0.4 0.14,-0.59 0.14,0 0.28,0.01 0.41,0.01 0.08,0 0.16,0 0.23,0 0.1,0 0.2,0.01 0.29,-0.02 0.03,-0.01 0.05,-0.03 0.07,-0.05 -0.05,0.2 -0.09,0.38 -0.13,0.56 z m 0.17,-0.77 c -0.02,-0.05 -0.06,-0.09 -0.12,-0.11 -0.09,-0.03 -0.19,-0.02 -0.28,-0.02 h -0.24 c -0.11,0 -0.21,0 -0.32,0.01 0.06,-0.24 0.11,-0.48 0.17,-0.72 0.06,-0.02 0.11,-0.04 0.17,-0.05 0.01,0 0.03,-0.01 0.04,-0.01 0.02,0 0.04,0 0.05,-0.01 0.04,0 0.08,0 0.12,0 0.02,0 0.04,0 0.07,0 0.01,0 0.04,0 0.05,0 0.01,0 0.02,0 0.03,0.01 0.02,0 0.04,0.01 0.07,0.01 0.11,0.02 0.25,0.1 0.34,0.02 0.07,-0.06 0.1,-0.12 0.09,-0.22 -0.02,-0.14 -0.21,-0.19 -0.33,-0.21 -0.1,-0.02 -0.21,-0.03 -0.31,-0.03 -0.1,0 -0.19,0.05 -0.29,0.07 0.07,-0.3 0.14,-0.59 0.21,-0.89 0.01,0 0.02,0 0.03,0 0.02,0 0.04,0 0.07,0 0.01,0 0.02,0 0.03,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 0,0 0.01,0 0.02,0.01 0.02,0 0.02,0 0.04,0.01 0.05,0.01 0.02,0 0.04,0.01 0.07,0.02 0.04,0.01 0.09,0.02 0.13,0.04 0.01,0 0.02,0.01 0.03,0.01 0,0 -0.01,0 -0.01,0 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0,0 0,0 0,0 0.02,0.01 0.03,0.02 0.05,0.02 0.04,0.02 0.08,0.04 0.12,0.06 0.02,0.01 0.04,0.02 0.06,0.04 0.01,0.01 0.02,0.01 0.02,0.02 0,0 0,0 0,0 0.02,0.02 0.05,0.05 0.08,0.07 0.04,0.02 0.09,0.03 0.13,0.03 0.01,0 0.02,-0.01 0.02,-0.01 -0.16,0.62 -0.3,1.23 -0.44,1.84 z m 1.3,-9.71 c 0.04,0.02 0.08,0.03 0.12,0.02 0.25,-0.09 0.51,-0.17 0.76,-0.26 0.03,-0.01 0.07,-0.02 0.1,-0.04 -0.04,0.19 -0.09,0.38 -0.13,0.57 -0.02,-0.01 -0.05,-0.01 -0.08,-0.01 -0.02,0 -0.04,0 -0.06,0 -0.1,0.01 -0.2,0.03 -0.29,0.06 -0.18,0.07 -0.35,0.17 -0.48,0.32 -0.03,0.04 -0.04,0.07 -0.05,0.12 -0.03,-0.01 -0.06,-0.02 -0.09,-0.03 0.08,-0.24 0.14,-0.5 0.2,-0.75 z m 0.33,0.89 c 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.05,-0.03 0.03,-0.02 0.06,-0.03 0.09,-0.04 0.01,0 0.02,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.02,0 0.03,-0.01 0.05,-0.01 0,0 0.01,0 0.01,0 0.04,0 0.07,-0.01 0.11,0 0.01,0 0.02,0 0.02,0 -0.02,0.09 -0.04,0.17 -0.06,0.26 -0.13,-0.04 -0.25,-0.08 -0.38,-0.11 0.01,-0.01 0.02,-0.02 0.02,-0.03 z m 0.95,-2.41 c -0.05,0.24 -0.11,0.48 -0.16,0.72 -0.12,0.04 -0.23,0.09 -0.34,0.13 -0.22,0.08 -0.45,0.17 -0.67,0.25 0.05,-0.22 0.1,-0.44 0.16,-0.67 0.13,-0.56 0.27,-1.12 0.4,-1.68 0.02,0.01 0.04,0.03 0.06,0.03 0.16,0.01 0.33,0.01 0.49,0.02 0.08,0 0.16,0 0.23,0.01 0.03,0 0.07,0 0.11,0 -0.03,0.12 -0.05,0.24 -0.08,0.35 -0.13,0.05 -0.26,0.08 -0.39,0.15 -0.21,0.11 -0.4,0.25 -0.58,0.4 -0.17,0.14 0.05,0.42 0.23,0.3 0.09,-0.06 0.19,-0.11 0.28,-0.17 0.03,-0.02 0,0 0.03,-0.02 0.04,-0.02 0.08,-0.03 0.12,-0.05 0,0 0.03,-0.01 0.04,-0.02 0.02,-0.01 0.04,-0.02 0.07,-0.03 0.02,-0.01 0.05,-0.01 0.07,-0.02 -0.03,0.11 -0.05,0.2 -0.07,0.3 z m 3.74,-19.31 c 0.13,0.04 0.26,0.06 0.39,0.08 0.04,0.01 0.09,0.01 0.13,0.01 0.01,0.04 0.03,0.08 0.04,0.12 -0.03,0.11 -0.05,0.22 -0.08,0.34 -0.07,-0.01 -0.14,-0.03 -0.22,-0.03 -0.13,0 -0.25,0.06 -0.37,0.09 0.04,-0.21 0.07,-0.41 0.11,-0.61 z m -0.17,0.95 c 0.14,-0.05 0.29,-0.08 0.44,-0.08 0.05,0 0.09,0 0.13,0.01 -0.03,0.14 -0.07,0.28 -0.1,0.43 h -0.27 c -0.08,0 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.15 0.16,0.15 0.07,0 0.13,0 0.2,0 -0.02,0.07 -0.03,0.13 -0.05,0.2 -0.2,0.02 -0.39,0.08 -0.57,0.16 0.08,-0.35 0.15,-0.69 0.22,-1.03 z m -0.3,1.42 c 0.02,0 0.04,0.01 0.06,-0.01 0.16,-0.09 0.34,-0.14 0.51,-0.16 -0.06,0.25 -0.12,0.5 -0.17,0.75 -0.11,0.01 -0.21,0.03 -0.32,0.04 -0.1,0.01 -0.19,0.08 -0.19,0.19 0,0.09 0.08,0.2 0.19,0.19 0.08,-0.01 0.15,-0.02 0.23,-0.02 -0.04,0.17 -0.08,0.34 -0.12,0.51 -0.02,0.01 -0.04,0.01 -0.05,0.02 -0.09,0.03 -0.16,0.12 -0.13,0.22 0.02,0.05 0.05,0.09 0.1,0.11 -0.04,0.19 -0.08,0.38 -0.13,0.58 -0.11,0.02 -0.23,0.03 -0.34,0.05 -0.05,0.01 -0.1,0.02 -0.14,0.06 -0.03,0.03 -0.06,0.09 -0.06,0.14 0,0.1 0.09,0.21 0.2,0.2 0.08,-0.01 0.17,-0.02 0.25,-0.03 -0.04,0.2 -0.09,0.39 -0.13,0.59 -0.09,0.02 -0.18,0.03 -0.26,0.05 -0.11,0.03 -0.2,0.09 -0.31,0.14 0.04,-0.19 0.09,-0.38 0.14,-0.57 0.24,-1.02 0.45,-2.03 0.67,-3.05 z m -1.62,9.66 c -0.08,0.02 -0.17,0.04 -0.25,0.06 -0.17,0.05 -0.35,0.09 -0.52,0.14 0.1,-0.33 0.2,-0.66 0.29,-0.99 0.21,-0.04 0.42,-0.09 0.63,-0.13 0.02,0 0.04,-0.01 0.06,-0.01 -0.07,0.31 -0.14,0.62 -0.21,0.93 z m -0.6,2.63 c -0.1,0.04 -0.2,0.07 -0.29,0.11 -0.21,0.08 -0.43,0.15 -0.64,0.23 0.08,-0.33 0.16,-0.66 0.24,-0.99 0.13,-0.06 0.27,-0.12 0.41,-0.16 0.14,-0.04 0.29,-0.07 0.44,-0.08 0.01,0 0.03,0 0.04,0 -0.06,0.29 -0.13,0.59 -0.2,0.89 z m 1.75,-7.78 c -0.19,0.04 -0.38,0.08 -0.58,0.12 0.04,-0.17 0.08,-0.34 0.12,-0.51 0.18,-0.09 0.34,-0.17 0.55,-0.22 0.01,0 0.03,-0.01 0.04,-0.01 -0.04,0.21 -0.09,0.41 -0.13,0.62 z m -1.3,3.21 c 0.13,-0.01 0.26,-0.03 0.39,-0.04 0.07,-0.01 0.14,-0.02 0.22,-0.03 -0.05,0.23 -0.11,0.46 -0.16,0.7 -0.08,0.02 -0.16,0.04 -0.24,0.06 -0.15,0.04 -0.3,0.08 -0.45,0.12 0.07,-0.27 0.14,-0.54 0.21,-0.82 0.01,0 0.02,0.01 0.03,0.01 z m 0.79,-0.9 c -0.03,0.15 -0.07,0.29 -0.1,0.44 -0.04,0 -0.09,0 -0.12,0.01 -0.08,0.01 -0.15,0.02 -0.23,0.03 -0.09,0.02 -0.18,0.03 -0.27,0.05 0.01,-0.03 0.02,-0.07 0.03,-0.1 0.04,-0.14 0.07,-0.28 0.1,-0.42 l 0.64,-0.17 c -0.02,0.05 -0.04,0.11 -0.05,0.16 z m 0.01,-0.6 c -0.17,0.05 -0.34,0.1 -0.51,0.16 0.12,-0.48 0.23,-0.96 0.35,-1.44 0.04,0.04 0.1,0.06 0.16,0.05 0.13,-0.02 0.27,-0.05 0.4,-0.07 -0.09,0.42 -0.18,0.84 -0.28,1.27 -0.03,0.01 -0.07,0.02 -0.12,0.03 z m -2.24,6.62 c 0.02,0.01 0.03,0.01 0.06,0.01 0.24,-0.06 0.48,-0.13 0.73,-0.19 0.04,-0.01 0.09,-0.02 0.13,-0.03 -0.05,0.2 -0.09,0.4 -0.13,0.6 -0.15,0.04 -0.3,0.1 -0.42,0.19 -0.21,0.16 -0.37,0.36 -0.46,0.6 -0.04,0.09 0.04,0.21 0.13,0.23 0.11,0.03 0.19,-0.03 0.23,-0.13 -0.01,0.02 0,0.01 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.03 0.01,-0.02 0.02,-0.04 0.04,-0.06 0.01,-0.02 0.03,-0.04 0.04,-0.06 0,0 0.01,-0.01 0.01,-0.01 0.01,-0.01 0.01,-0.02 0.01,-0.02 0.03,-0.04 0.07,-0.07 0.1,-0.11 0.01,-0.01 0.02,-0.01 0.02,-0.02 0,0 0.01,-0.01 0.02,-0.02 0,0 0.01,-0.01 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.03,-0.02 0.03,-0.02 0.06,-0.04 0.1,-0.06 -0.13,0.56 -0.26,1.13 -0.38,1.69 -0.06,0 -0.12,0 -0.18,0 -0.08,0 -0.16,0 -0.24,0.01 -0.16,0 -0.32,0.01 -0.48,0.01 0.21,-0.85 0.42,-1.7 0.62,-2.56 z m 1.26,-1.73 c -0.04,0 -0.08,0 -0.12,0 -0.17,0.02 -0.34,0.06 -0.51,0.11 -0.09,0.03 -0.17,0.07 -0.26,0.11 0.05,-0.19 0.09,-0.37 0.14,-0.56 0.07,-0.18 0.14,-0.37 0.2,-0.55 0.24,-0.05 0.48,-0.1 0.72,-0.15 0.02,0 0.04,-0.01 0.06,-0.01 -0.07,0.35 -0.15,0.7 -0.23,1.05 z m 2.79,-13.84 c -0.1,-0.01 -0.2,-0.03 -0.3,-0.02 0.03,-0.17 0.06,-0.34 0.09,-0.52 0.07,0.18 0.15,0.36 0.21,0.54 z m -2.06,4.56 c -0.02,0.03 -0.05,0.04 -0.06,0.08 -1.23,4.48 -2.25,9.02 -3.37,13.53 -0.29,1.17 -0.59,2.35 -0.88,3.52 -3.54,-1.18 -6.94,-2.76 -10.11,-4.74 0.04,-0.03 0.08,-0.05 0.12,-0.09 0.53,-0.58 1.01,-1.18 1.41,-1.86 0.43,-0.74 0.91,-1.43 1.41,-2.12 0.91,-1.27 1.84,-2.51 2.77,-3.76 1.9,-2.55 3.8,-5.1 5.7,-7.66 1.17,-1.57 2.36,-3.13 3.54,-4.69 0.09,0.17 0.2,0.33 0.29,0.5 0.18,0.34 0.35,0.69 0.52,1.04 -0.45,2.08 -0.88,4.17 -1.34,6.25 z m -32.79,4.16 c -0.29,-0.33 -0.56,-0.67 -0.83,-1.02 -0.49,-0.65 -0.94,-1.34 -1.36,-2.05 -0.53,-0.91 -0.98,-1.85 -1.36,-2.82 0.4,0.35 0.83,0.67 1.29,0.95 0.46,0.94 0.94,1.88 1.49,2.76 0.5,0.8 1.07,1.58 1.78,2.21 -0.23,0.1 -0.46,0.2 -0.7,0.3 -0.11,-0.11 -0.22,-0.22 -0.31,-0.33 z m -16.27,-21.64 c 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.26,-0.33 -0.52,-0.67 -0.82,-0.96 -0.32,-0.31 -0.68,-0.49 -1.03,-0.75 -0.15,-0.12 -0.32,-0.01 -0.4,0.14 -0.04,-0.09 -0.09,-0.19 -0.13,-0.28 0.58,-0.26 1.15,-0.53 1.71,-0.83 0.22,-0.12 0.45,-0.24 0.68,-0.36 0.24,0.35 0.48,0.71 0.75,1.03 0.24,0.29 0.59,0.27 0.86,0.09 0.13,0.08 0.29,0.11 0.46,0.04 1.51,-0.61 3.01,-1.25 4.51,-1.89 0.05,0.37 0.1,0.75 0.16,1.12 -2.24,0.88 -4.49,1.77 -6.74,2.67 z m -0.28,7.81 c -0.47,0.21 -0.95,0.39 -1.43,0.58 -0.14,0.06 -0.37,0.15 -0.58,0.29 -0.09,-0.19 -0.2,-0.38 -0.29,-0.57 -0.19,-0.4 -0.37,-0.81 -0.53,-1.23 -0.3,-0.76 -0.56,-1.53 -0.79,-2.32 -0.22,-0.78 -0.41,-1.58 -0.56,-2.38 -0.12,-0.63 -0.2,-1.27 -0.31,-1.9 0.07,-0.03 0.14,-0.06 0.21,-0.09 0.03,-0.01 0.06,-0.03 0.09,-0.05 0.02,0.06 0.05,0.12 0.07,0.17 0.15,0.41 0.23,0.83 0.36,1.24 -0.1,-0.01 -0.19,0.03 -0.19,0.16 0,0.43 0.03,0.81 0.13,1.23 0.09,0.38 0.2,0.76 0.33,1.13 0.27,0.79 0.55,1.58 0.93,2.34 0.16,0.33 0.34,0.77 0.65,0.98 0.35,0.23 0.73,0.14 1.07,-0.03 0.38,-0.19 0.75,-0.4 1.12,-0.6 0.39,-0.21 0.84,-0.4 1.17,-0.7 0.36,-0.32 0.04,-0.92 -0.39,-0.91 -0.13,-0.26 -0.26,-0.52 -0.39,-0.78 -0.19,-0.37 -0.35,-0.76 -0.53,-1.14 -0.18,-0.38 -0.35,-0.76 -0.53,-1.14 -0.13,-0.26 -0.27,-0.49 -0.42,-0.73 0.11,-0.14 0.16,-0.31 0.09,-0.49 -0.06,-0.16 -0.15,-0.3 -0.23,-0.45 0.06,0.09 0.13,0.18 0.19,0.27 0.46,0.68 0.87,1.4 1.26,2.12 0.67,1.24 1.19,2.54 1.6,3.88 -0.21,0.13 -0.43,0.26 -0.65,0.39 -0.47,0.26 -0.96,0.51 -1.45,0.73 z m -4.05,-11.71 c 0.07,-0.01 0.13,-0.01 0.2,-0.01 0.05,0.26 0.09,0.53 0.16,0.78 0.14,0.53 0.32,1.05 0.51,1.56 0.19,0.53 0.42,1.04 0.65,1.55 0.09,0.19 0.18,0.39 0.28,0.58 -0.06,0.03 -0.13,0.06 -0.19,0.09 -0.11,0.05 -0.22,0.11 -0.32,0.16 -0.03,0.02 -0.07,0.04 -0.1,0.06 -0.13,-0.3 -0.27,-0.61 -0.39,-0.92 -0.18,-0.45 -0.37,-0.91 -0.56,-1.35 -0.33,-0.74 -0.67,-1.52 -1.17,-2.16 0.02,-0.01 0.04,-0.03 0.07,-0.04 0.05,0 0.09,-0.01 0.14,-0.02 0.08,-0.03 0.15,-0.06 0.22,-0.1 0.05,-0.03 0.11,-0.06 0.16,-0.08 0.1,-0.05 0.22,-0.08 0.34,-0.1 z m 3.06,7.77 c 0,0 0.01,0.01 0.02,0.04 0,0 0,0 0,0.01 0,0.01 0.01,0.02 0.01,0.03 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 0.01,0.02 0.01,0.04 0.02,0.05 0,0 0,0.02 0.01,0.04 0,0 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,0.01 0.01,0.04 0.01,0.05 -0.01,-0.01 -0.01,-0.02 -0.01,-0.03 0,0.03 0,0.07 -0.01,0.1 0,-0.01 0,-0.01 0,-0.02 0,0.02 -0.01,0.03 -0.01,0.05 -0.01,0.04 -0.02,0.09 -0.04,0.13 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.03 -0.03,0.06 -0.04,0.08 0.01,-0.01 0.01,0 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.03 0,0 0.01,0 0.01,-0.01 0,0 -0.01,0 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.03,0.02 0,0 0,0 0,0 -0.02,0.01 -0.03,0.02 -0.03,0.02 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.01,0 -0.02,0 -0.03,0.01 -0.01,0 -0.03,0.01 -0.04,0.01 -0.04,0 -0.08,0 -0.12,0 -0.01,0 -0.02,0 -0.04,-0.01 -0.04,-0.01 -0.1,-0.04 -0.13,-0.04 0.01,0 0.02,0.01 0.03,0.01 0.07,0.03 0.04,0.02 -0.09,-0.04 0,0 0,0 -0.01,0 -0.03,-0.02 -0.07,-0.03 -0.1,-0.05 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.01,-0.01 -0.03,-0.03 -0.04,-0.04 -0.02,-0.03 -0.04,-0.06 -0.06,-0.1 0,0.01 0,0.01 0,0.01 0,0 0,-0.01 -0.01,-0.02 0,0 0,0 0,0 -0.02,-0.03 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.04 -0.01,-0.05 -0.01,-0.03 -0.01,-0.06 -0.02,-0.08 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.06 0,-0.12 0,-0.17 0,0 0,0 0,0 0,-0.02 0.01,-0.04 0.01,-0.06 0.01,-0.06 0.03,-0.11 0.05,-0.16 0.01,-0.02 0.02,-0.04 0.03,-0.06 0.03,-0.01 0.07,-0.01 0.11,-0.02 0.01,0 0.03,0 0.03,0 0.09,-0.01 0.17,-0.01 0.26,-0.02 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0.02,0 0.04,0.01 0.06,0.01 0.04,0.01 0.08,0.02 0.13,0.04 0.02,0.01 0.03,0.02 0.05,0.03 0.01,0.01 0.03,0.02 0.04,0.03 0,0 0,0 0.01,0.01 0.03,0.03 0.06,0.06 0.09,0.09 0.01,0.01 0.01,0.02 0.02,0.03 0.02,0 0.02,0.02 0.03,0.03 z m -0.69,1.65 c 0.61,0.16 1.28,-0.09 1.58,-0.66 0.01,-0.01 0.01,-0.03 0.01,-0.04 0.1,0.24 0.19,0.48 0.29,0.72 -0.09,0.06 -0.18,0.11 -0.28,0.17 -0.3,0.18 -0.61,0.36 -0.91,0.54 -0.13,0.08 -0.28,0.15 -0.4,0.24 -0.02,-0.03 -0.04,-0.06 -0.05,-0.06 -0.19,-0.3 -0.38,-0.6 -0.56,-0.91 -0.04,-0.06 -0.07,-0.13 -0.1,-0.19 0.12,0.08 0.26,0.15 0.42,0.19 z m 0.59,-2.86 c -0.15,-0.06 -0.33,-0.12 -0.49,-0.12 -0.16,-0.01 -0.37,0 -0.52,0.06 -0.12,0.05 -0.21,0.1 -0.29,0.2 -0.04,0.06 -0.07,0.13 -0.09,0.2 -0.01,0.03 -0.03,0.06 -0.03,0.08 -0.02,0.07 -0.03,0.15 0,0.22 0,0.01 0.01,0.01 0.01,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.13,0.22 -0.2,0.48 -0.21,0.74 -0.05,-0.12 -0.11,-0.24 -0.16,-0.36 -0.12,-0.34 -0.23,-0.67 -0.34,-1.01 -0.07,-0.23 -0.16,-0.45 -0.25,-0.66 0.18,0.1 0.41,0.1 0.58,0 0.07,0.01 0.14,0.01 0.21,-0.01 0.17,-0.05 0.32,-0.1 0.48,-0.17 0.11,-0.05 0.22,-0.1 0.33,-0.15 0.09,-0.04 0.19,-0.08 0.28,-0.12 0.06,0.03 0.12,0.06 0.19,0.06 0.07,0.26 0.13,0.52 0.24,0.78 0.04,0.1 0.09,0.19 0.13,0.29 -0.02,-0.04 -0.04,-0.05 -0.06,-0.06 z m 2.76,-1.46 c -0.02,0.18 -0.02,0.36 -0.03,0.54 0,0.07 0,0.14 0,0.21 -0.19,-0.32 -0.39,-0.63 -0.6,-0.93 0.23,-0.09 0.46,-0.18 0.68,-0.27 -0.02,0.15 -0.04,0.3 -0.05,0.45 z m -0.2,-5.42 c -0.23,-0.08 -0.42,-0.27 -0.48,-0.52 l -0.07,-0.26 c 0,0 0,-0.01 0,-0.01 l -0.04,-0.14 c -0.01,0 -0.03,0 -0.04,0.01 -0.04,0.01 -0.07,0.03 -0.11,0.05 -0.13,-0.2 -0.26,-0.39 -0.38,-0.6 -0.56,-0.98 -1.07,-2 -1.51,-3.05 -0.43,-1.02 -0.8,-2.06 -1.1,-3.13 -0.15,-0.52 -0.29,-1.04 -0.42,-1.56 -0.07,-0.29 -0.13,-0.62 -0.23,-0.94 0.41,-0.15 0.82,-0.32 1.23,-0.47 0.01,0.16 0.03,0.33 0.04,0.49 0.01,0.16 0.02,0.33 0.05,0.48 0.03,0.15 0.05,0.31 0.11,0.46 0.03,0.09 0.18,0.11 0.2,0 0.05,-0.31 0.02,-0.63 -0.01,-0.94 -0.02,-0.21 -0.04,-0.41 -0.06,-0.62 0.41,-0.15 0.81,-0.31 1.22,-0.46 -0.03,0.25 -0.04,0.5 -0.01,0.75 0.03,0.27 0.08,0.58 0.26,0.79 0.06,0.07 0.2,0.01 0.19,-0.08 -0.02,-0.13 -0.06,-0.25 -0.09,-0.37 -0.03,-0.12 -0.06,-0.25 -0.08,-0.37 -0.03,-0.25 -0.03,-0.5 0.01,-0.74 0,-0.03 0,-0.05 -0.01,-0.08 0.6,-0.23 1.19,-0.45 1.79,-0.68 0.01,0.18 0.03,0.36 0.04,0.54 0.01,0.15 0.02,0.3 0.03,0.45 0.01,0.08 0.02,0.16 0.03,0.24 0.01,0.09 0.01,0.17 0.08,0.23 0.05,0.04 0.14,0.06 0.19,0 0.06,-0.08 0.06,-0.14 0.06,-0.23 0,-0.08 -0.01,-0.16 -0.01,-0.24 -0.01,-0.15 -0.03,-0.3 -0.04,-0.45 -0.02,-0.22 -0.04,-0.44 -0.06,-0.66 1.02,-0.4 2.03,-0.81 3.05,-1.22 -0.01,0.02 -0.02,0.04 -0.01,0.07 0.05,0.2 0.11,0.41 0.16,0.61 0.03,0.1 0.05,0.2 0.08,0.3 0.03,0.11 0.05,0.25 0.16,0.31 0.06,0.04 0.14,0.01 0.18,-0.05 0.06,-0.11 0.01,-0.23 -0.02,-0.34 -0.03,-0.1 -0.06,-0.21 -0.08,-0.31 -0.06,-0.2 -0.11,-0.41 -0.17,-0.61 -0.01,-0.04 -0.04,-0.06 -0.07,-0.08 0.62,-0.25 1.25,-0.5 1.87,-0.75 -0.02,0.11 -0.04,0.22 -0.05,0.34 -0.01,0.14 0,0.28 0.03,0.42 0.02,0.13 0.06,0.32 0.16,0.4 0.06,0.05 0.18,0.04 0.2,-0.05 0.01,-0.04 0.01,-0.07 0.01,-0.11 -0.01,-0.03 -0.02,-0.06 -0.02,-0.09 -0.01,-0.06 -0.03,-0.12 -0.04,-0.18 -0.02,-0.12 -0.03,-0.24 -0.03,-0.36 0,-0.17 0.03,-0.33 0.08,-0.5 1.04,-0.42 2.08,-0.85 3.12,-1.28 -0.12,0.48 -0.13,1.05 0.09,1.5 0.03,0.05 0.1,0.07 0.15,0.05 0.06,-0.02 0.08,-0.08 0.07,-0.14 -0.04,-0.23 -0.09,-0.46 -0.1,-0.69 -0.01,-0.23 0.01,-0.47 0.06,-0.69 0.01,-0.05 -0.01,-0.09 -0.04,-0.12 0.07,-0.03 0.14,-0.06 0.21,-0.09 0.09,0.14 0.35,0.1 0.38,-0.11 0,-0.02 0,-0.03 0.01,-0.05 1.13,-0.47 2.27,-0.93 3.4,-1.4 l -0.07,0.36 c -0.02,0.08 -0.03,0.16 -0.05,0.24 -0.02,0.09 -0.03,0.17 -0.03,0.26 0,0.05 0.04,0.1 0.09,0.1 0.05,0.01 0.09,-0.02 0.11,-0.07 0.03,-0.08 0.05,-0.15 0.07,-0.23 0.02,-0.08 0.03,-0.16 0.05,-0.24 0.03,-0.16 0.07,-0.32 0.1,-0.47 0,-0.02 0,-0.04 -0.01,-0.05 1.15,-0.48 2.31,-0.95 3.46,-1.43 0,0.04 0,0.07 0,0.11 0,0.09 0.02,0.17 0.03,0.25 0.01,0.05 0.07,0.1 0.13,0.1 0.05,0 0.12,-0.04 0.13,-0.1 0.01,-0.08 0.03,-0.16 0.03,-0.24 0,-0.08 0,-0.15 -0.01,-0.23 0,0 0,-0.01 0,-0.01 0.16,-0.07 0.32,-0.13 0.49,-0.2 0.33,-0.14 0.67,-0.28 1,-0.41 0,0.2 -0.02,0.41 0.02,0.61 0.02,0.1 0.19,0.1 0.21,0 0.04,-0.21 0.03,-0.42 0.03,-0.63 0,-0.03 0,-0.05 0,-0.08 0.54,-0.22 1.08,-0.45 1.62,-0.67 l -0.01,0.07 c -0.01,0.11 -0.03,0.23 -0.03,0.34 0,0.06 0.01,0.12 0.01,0.18 0.01,0.06 0.01,0.12 0.02,0.17 0.02,0.06 0.11,0.08 0.14,0.02 0.1,-0.22 0.1,-0.46 0.12,-0.69 0,-0.06 0.01,-0.13 0.01,-0.19 0.55,-0.23 1.09,-0.45 1.64,-0.68 0,0.02 0,0.05 0.01,0.07 0.01,0.11 0.02,0.21 0.04,0.32 0.02,0.1 0.04,0.21 0.08,0.3 0.03,0.07 0.14,0.05 0.16,-0.02 0.03,-0.1 0.03,-0.2 0.03,-0.31 0,-0.1 0,-0.2 -0.01,-0.31 -0.01,-0.06 -0.01,-0.12 -0.02,-0.19 0.42,-0.17 0.84,-0.35 1.26,-0.52 -0.04,0.11 -0.07,0.23 -0.07,0.34 0,0.19 0.05,0.43 0.22,0.53 0.04,0.02 0.09,0.02 0.12,-0.01 0.04,-0.03 0.05,-0.07 0.04,-0.12 0,-0.01 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.04 0,0 -0.02,-0.04 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.01,-0.04 -0.02,-0.07 -0.02,-0.11 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.02 0,-0.02 0,-0.02 0,-0.04 0,-0.06 0,-0.02 0,-0.04 0,-0.06 0,-0.01 0,-0.02 0,-0.02 0,0 0,-0.01 0,-0.01 0.01,-0.04 0.01,-0.07 0.02,-0.1 0.01,-0.02 0.01,-0.04 0.02,-0.06 0,0.01 -0.01,0.01 0,0 0,-0.01 0.01,-0.02 0.01,-0.03 0.02,-0.04 0.04,-0.07 0.06,-0.1 0.02,-0.03 0.02,-0.07 0.01,-0.11 0.62,-0.26 1.24,-0.51 1.86,-0.77 0,0.08 0.01,0.16 0.01,0.24 0.01,0.19 0.02,0.37 0.05,0.55 0.01,0.05 0.09,0.04 0.09,-0.01 0.01,-0.18 -0.01,-0.37 -0.02,-0.55 -0.01,-0.09 -0.01,-0.18 -0.02,-0.28 0.42,-0.17 0.84,-0.35 1.26,-0.52 0.01,0.11 0.02,0.22 0.03,0.33 0.03,0.19 0.08,0.36 0.14,0.54 0.03,0.09 0.08,0.17 0.13,0.25 0.05,0.09 0.09,0.17 0.17,0.25 0.05,0.05 0.14,0.01 0.14,-0.06 0,-0.09 -0.02,-0.17 -0.04,-0.26 -0.02,-0.09 -0.02,-0.18 -0.04,-0.28 -0.04,-0.17 -0.08,-0.35 -0.11,-0.53 -0.03,-0.14 -0.01,-0.27 -0.03,-0.41 0.65,-0.27 1.29,-0.53 1.94,-0.8 0.03,0.32 0.06,0.64 0.08,0.96 0.03,0.33 0.03,0.68 0.15,0.99 0.03,0.09 0.19,0.12 0.21,0 0.06,-0.33 0,-0.66 -0.04,-0.99 -0.04,-0.33 -0.07,-0.67 -0.11,-1 0,-0.02 -0.02,-0.04 -0.03,-0.06 0.46,-0.19 0.93,-0.38 1.4,-0.58 -0.01,0.08 -0.04,0.15 -0.04,0.23 -0.01,0.16 -0.01,0.31 0.02,0.46 0.02,0.15 0.03,0.31 0.11,0.45 0.05,0.08 0.2,0.07 0.21,-0.03 0.02,-0.14 0,-0.29 0,-0.43 0,-0.14 0,-0.29 0.01,-0.43 0,-0.14 0.04,-0.27 0.06,-0.4 0.62,-0.26 1.23,-0.51 1.85,-0.77 0,0.1 -0.01,0.21 -0.01,0.31 0,0.1 0,0.19 0,0.29 0,0.05 0,0.1 0,0.15 0,0.02 0,0.04 0,0.06 0,0.04 0.02,0.07 0.04,0.1 0.04,0.08 0.16,0.07 0.2,0 0.05,-0.09 0.05,-0.21 0.05,-0.31 0.01,-0.1 0.01,-0.19 0.01,-0.29 0,-0.14 0.01,-0.29 0.01,-0.43 0.39,-0.16 0.77,-0.32 1.16,-0.48 0,0.19 0,0.37 0,0.56 0,0.1 -0.01,0.21 0,0.31 0,0.05 0,0.1 0.01,0.15 0.01,0.06 0.03,0.12 0.04,0.18 0.02,0.12 0.21,0.12 0.24,0 0.01,-0.06 0.03,-0.11 0.04,-0.17 0,-0.05 0.01,-0.1 0.01,-0.14 0.01,-0.11 0,-0.21 0,-0.32 0,-0.21 0,-0.42 0,-0.63 0,-0.02 -0.02,-0.04 -0.02,-0.05 0.7,-0.29 1.39,-0.58 2.09,-0.86 -0.02,0.15 -0.05,0.3 -0.04,0.45 0.01,0.12 0.03,0.23 0.06,0.35 0.02,0.05 0.03,0.1 0.05,0.16 0.01,0.03 0.02,0.07 0.04,0.1 0.02,0.03 0.04,0.05 0.07,0.07 0.08,0.08 0.22,0.02 0.22,-0.09 0,-0.11 -0.04,-0.21 -0.07,-0.32 -0.02,-0.09 -0.04,-0.19 -0.05,-0.27 -0.02,-0.2 -0.01,-0.39 0.04,-0.58 0.77,-0.32 1.54,-0.64 2.31,-0.96 0.13,-0.05 0.26,-0.11 0.39,-0.16 0.01,0.06 0.02,0.13 0.03,0.19 0.02,0.09 0.03,0.18 0.05,0.27 0.02,0.1 0.03,0.2 0.08,0.28 0.06,0.09 0.19,0.08 0.23,-0.03 0.03,-0.1 0,-0.2 -0.01,-0.3 -0.01,-0.1 -0.03,-0.19 -0.04,-0.29 -0.01,-0.08 -0.03,-0.16 -0.04,-0.25 0.33,-0.14 0.66,-0.28 0.99,-0.42 0.01,0.05 0.03,0.11 0.04,0.16 0.05,0.17 0.08,0.38 0.18,0.52 0.05,0.07 0.15,0.04 0.16,-0.04 0.02,-0.18 -0.06,-0.37 -0.11,-0.55 -0.02,-0.06 -0.03,-0.13 -0.05,-0.19 0.52,-0.21 1.03,-0.44 1.55,-0.65 0.01,0.13 0.02,0.26 0.03,0.39 0.01,0.09 0.01,0.19 0.02,0.28 0.01,0.1 0.02,0.19 0.04,0.29 0.01,0.06 0.07,0.09 0.13,0.08 0.06,-0.01 0.1,-0.05 0.1,-0.11 0,-0.05 0.01,-0.09 0.01,-0.14 0,-0.05 -0.01,-0.09 -0.01,-0.14 -0.01,-0.09 -0.01,-0.18 -0.02,-0.27 -0.01,-0.17 -0.02,-0.33 -0.03,-0.5 0.5,-0.21 1,-0.42 1.5,-0.63 0,0.05 -0.01,0.1 0,0.15 0.02,0.13 0.04,0.26 0.07,0.39 0.02,0.06 0.04,0.12 0.06,0.18 0.01,0.04 0.02,0.08 0.04,0.11 0.02,0.03 0.05,0.06 0.07,0.09 0.08,0.09 0.23,0.02 0.23,-0.1 0,-0.13 -0.05,-0.24 -0.08,-0.36 -0.03,-0.11 -0.05,-0.22 -0.06,-0.33 -0.01,-0.09 0.01,-0.19 0.01,-0.29 0.96,-0.4 1.92,-0.81 2.88,-1.21 0,0 0,0.01 0.01,0.02 0.08,0.06 0.15,0.12 0.23,0.18 0.04,0.03 0.07,0.06 0.11,0.09 0.02,0.02 0.05,0.04 0.07,0.06 0.02,0.02 0.04,0.03 0.07,0.03 0.02,0 0.04,0 0.07,0 0.04,-0.01 0.08,-0.06 0.08,-0.1 0,-0.02 0,-0.03 -0.01,-0.05 -0.01,-0.03 -0.03,-0.05 -0.05,-0.07 -0.02,-0.02 -0.04,-0.03 -0.06,-0.05 -0.04,-0.03 -0.07,-0.06 -0.11,-0.09 -0.05,-0.04 -0.1,-0.08 -0.15,-0.12 0.28,-0.12 0.55,-0.23 0.83,-0.35 0.02,0.07 0.09,0.13 0.18,0.1 0.11,-0.03 0.12,-0.14 0.08,-0.21 0.19,-0.08 0.37,-0.16 0.56,-0.24 0.12,0.1 0.25,0.18 0.35,0.28 0.11,0.12 0.2,0.25 0.31,0.37 0.12,0.12 0.18,0.28 0.31,0.4 0.1,0.1 0.24,0 0.22,-0.13 -0.03,-0.18 -0.15,-0.32 -0.23,-0.48 -0.08,-0.16 -0.22,-0.3 -0.35,-0.42 -0.07,-0.07 -0.14,-0.12 -0.21,-0.19 0.58,-0.24 1.16,-0.49 1.74,-0.73 0.11,0.12 0.21,0.23 0.34,0.32 0.09,0.07 0.21,-0.06 0.15,-0.15 -0.07,-0.1 -0.15,-0.19 -0.24,-0.28 0.68,-0.29 1.36,-0.57 2.04,-0.86 0.05,0.07 0.1,0.15 0.16,0.22 0.1,0.12 0.19,0.26 0.3,0.37 0.06,0.05 0.14,-0.01 0.11,-0.08 -0.06,-0.15 -0.17,-0.27 -0.25,-0.41 -0.04,-0.06 -0.08,-0.12 -0.12,-0.18 0.63,-0.27 1.26,-0.53 1.88,-0.79 0.05,0.05 0.09,0.11 0.14,0.16 0.08,0.1 0.17,0.23 0.29,0.27 0.1,0.03 0.17,-0.06 0.15,-0.15 -0.01,-0.08 -0.06,-0.12 -0.11,-0.18 -0.04,-0.05 -0.09,-0.1 -0.13,-0.15 l -0.06,-0.07 c 0.62,-0.27 1.25,-0.52 1.88,-0.79 0.05,0.06 0.11,0.11 0.16,0.17 0.07,0.07 0.13,0.14 0.2,0.21 0.03,0.03 0.07,0.07 0.1,0.1 0.04,0.04 0.08,0.07 0.14,0.08 0.04,0 0.08,-0.04 0.08,-0.08 0,-0.06 -0.04,-0.1 -0.07,-0.14 -0.03,-0.04 -0.06,-0.07 -0.09,-0.1 -0.07,-0.07 -0.14,-0.14 -0.21,-0.21 -0.03,-0.04 -0.07,-0.07 -0.1,-0.11 0.5,-0.21 1,-0.42 1.5,-0.63 0,0 0,0 0.01,0.01 0.06,0.05 0.12,0.1 0.19,0.15 l 0.09,0.08 c 0.02,0.01 0.04,0.03 0.06,0.04 0.02,0.01 0.04,0.02 0.06,0.02 0.08,0.02 0.13,-0.07 0.1,-0.13 -0.02,-0.04 -0.05,-0.07 -0.08,-0.1 -0.03,-0.03 -0.06,-0.05 -0.09,-0.08 -0.04,-0.03 -0.07,-0.06 -0.11,-0.09 0.48,-0.21 0.96,-0.4 1.45,-0.61 0.09,0.08 0.18,0.16 0.28,0.24 0.1,0.09 0.22,0.17 0.34,0.24 0.04,0.02 0.08,0.01 0.11,-0.02 0.03,-0.03 0.04,-0.08 0.01,-0.11 -0.04,-0.06 -0.09,-0.11 -0.14,-0.17 -0.04,-0.05 -0.09,-0.09 -0.14,-0.13 -0.06,-0.06 -0.13,-0.11 -0.19,-0.17 0.52,-0.22 1.04,-0.45 1.55,-0.67 0.27,0.13 0.55,0.25 0.82,0.38 0.14,0.06 0.28,0.14 0.43,0.19 0.07,0.02 0.15,0.04 0.22,0.07 0.08,0.03 0.15,0.05 0.23,0.05 0.07,0.01 0.1,-0.09 0.05,-0.13 -0.11,-0.11 -0.25,-0.16 -0.37,-0.25 -0.06,-0.05 -0.14,-0.08 -0.22,-0.11 -0.07,-0.03 -0.14,-0.07 -0.21,-0.1 l -0.58,-0.27 c 0.49,-0.21 0.97,-0.42 1.46,-0.63 0.07,0.07 0.14,0.13 0.2,0.2 0.08,0.07 0.15,0.15 0.23,0.22 0.04,0.04 0.08,0.07 0.12,0.11 0.05,0.04 0.09,0.08 0.16,0.1 0.04,0.01 0.09,-0.01 0.11,-0.04 0.03,-0.04 0.03,-0.08 0.01,-0.12 -0.04,-0.1 -0.14,-0.17 -0.21,-0.25 -0.07,-0.08 -0.15,-0.15 -0.23,-0.22 -0.04,-0.04 -0.08,-0.07 -0.12,-0.11 0.17,-0.07 0.33,-0.14 0.5,-0.22 0.04,0.07 0.08,0.14 0.11,0.21 0.03,0.05 0.06,0.1 0.09,0.16 0.04,0.06 0.07,0.12 0.13,0.15 0.07,0.03 0.18,0.01 0.19,-0.08 0.01,-0.08 -0.01,-0.13 -0.04,-0.2 -0.03,-0.05 -0.05,-0.11 -0.08,-0.16 -0.04,-0.07 -0.08,-0.13 -0.12,-0.2 0.68,-0.29 1.36,-0.59 2.04,-0.88 0.03,0.03 0.06,0.06 0.09,0.09 0.05,0.05 0.11,0.1 0.16,0.14 0.06,0.05 0.12,0.1 0.18,0.14 0.06,0.04 0.14,-0.04 0.1,-0.1 -0.04,-0.07 -0.09,-0.12 -0.14,-0.18 -0.05,-0.06 -0.09,-0.11 -0.14,-0.17 -0.01,-0.01 -0.02,-0.02 -0.02,-0.02 0.25,-0.11 0.51,-0.22 0.76,-0.33 0.3,0.15 0.59,0.33 0.84,0.55 0.19,0.17 0.35,0.36 0.49,0.57 0.07,0.11 0.13,0.22 0.19,0.34 0.05,0.1 0.11,0.23 0.21,0.28 0.02,0.01 0.06,0.01 0.08,-0.02 0.1,-0.22 -0.12,-0.54 -0.22,-0.73 -0.14,-0.24 -0.32,-0.47 -0.51,-0.68 -0.19,-0.2 -0.4,-0.37 -0.63,-0.51 0.43,-0.19 0.87,-0.38 1.3,-0.56 0.12,0.11 0.23,0.21 0.35,0.32 0.1,0.09 0.2,0.18 0.31,0.26 0.11,0.07 0.21,0.17 0.33,0.22 0.06,0.03 0.11,-0.06 0.08,-0.11 -0.07,-0.11 -0.18,-0.21 -0.27,-0.3 -0.09,-0.09 -0.19,-0.17 -0.29,-0.26 -0.09,-0.08 -0.18,-0.15 -0.27,-0.23 0.49,-0.21 0.99,-0.43 1.48,-0.64 0.02,0.01 0.04,0.03 0.06,0.04 0.05,0.03 0.09,0.07 0.14,0.1 0.02,0.02 0.05,0.03 0.07,0.05 0.02,0.02 0.05,0.03 0.08,0.04 0.04,0.02 0.08,0.01 0.11,-0.02 0.03,-0.04 0.02,-0.08 -0.01,-0.11 -0.02,-0.02 -0.04,-0.04 -0.06,-0.06 -0.03,-0.02 -0.06,-0.04 -0.08,-0.06 -0.03,-0.02 -0.06,-0.04 -0.08,-0.06 0.5,-0.22 1,-0.43 1.5,-0.65 0.21,0.18 0.43,0.36 0.66,0.52 0.08,0.05 0.16,-0.06 0.1,-0.13 -0.17,-0.17 -0.37,-0.32 -0.56,-0.48 0.55,-0.24 1.1,-0.47 1.65,-0.71 0.05,0.02 0.1,0.04 0.14,0.07 0.09,0.04 0.16,-0.08 0.08,-0.14 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 0.53,-0.23 1.06,-0.46 1.58,-0.68 0.11,0.1 0.23,0.2 0.35,0.29 0.07,0.05 0.14,-0.06 0.09,-0.11 -0.09,-0.09 -0.18,-0.17 -0.27,-0.25 1.38,-0.6 2.76,-1.19 4.14,-1.79 0,0 0.01,0.01 0.01,0.01 0.13,0.1 0.25,0.2 0.38,0.3 0.12,0.1 0.25,0.2 0.4,0.25 0.07,0.03 0.13,-0.07 0.09,-0.12 -0.08,-0.13 -0.21,-0.24 -0.33,-0.34 -0.09,-0.07 -0.17,-0.15 -0.26,-0.22 0.49,-0.21 0.97,-0.42 1.46,-0.63 0.01,0 0.02,-0.01 0.03,-0.01 0.07,0.06 0.16,0.1 0.23,0.16 0.08,0.08 0.16,0.17 0.23,0.26 0.08,0.11 0.14,0.23 0.24,0.33 0.04,0.04 0.11,0.05 0.16,0.02 0.05,-0.03 0.07,-0.09 0.06,-0.15 -0.02,-0.14 -0.1,-0.26 -0.18,-0.37 -0.08,-0.12 -0.17,-0.22 -0.27,-0.32 -0.03,-0.03 -0.08,-0.05 -0.11,-0.08 0.54,-0.23 1.07,-0.47 1.61,-0.7 0.06,0.04 0.12,0.07 0.19,0.11 0.12,0.07 0.24,0.15 0.37,0.22 0.06,0.03 0.13,0.07 0.19,0.1 0.08,0.04 0.15,0.08 0.24,0.08 0.11,-0.01 0.17,-0.11 0.12,-0.21 -0.04,-0.08 -0.11,-0.12 -0.18,-0.16 -0.06,-0.04 -0.12,-0.08 -0.18,-0.11 -0.11,-0.07 -0.23,-0.13 -0.34,-0.19 0.56,-0.24 1.12,-0.49 1.67,-0.73 0.11,0.06 0.22,0.13 0.33,0.19 0.07,0.04 0.13,0.07 0.2,0.11 0.03,0.02 0.07,0.04 0.1,0.06 0.04,0.02 0.08,0.04 0.13,0.05 0.09,0.02 0.15,-0.09 0.09,-0.15 -0.03,-0.03 -0.06,-0.06 -0.1,-0.08 -0.03,-0.02 -0.07,-0.04 -0.1,-0.06 -0.07,-0.04 -0.13,-0.08 -0.2,-0.12 -0.06,-0.04 -0.12,-0.07 -0.18,-0.1 0.63,-0.27 1.25,-0.55 1.88,-0.82 0.17,0.09 0.33,0.17 0.5,0.26 0.12,0.06 0.24,0.13 0.36,0.19 0.12,0.06 0.25,0.14 0.38,0.17 0.06,0.01 0.12,-0.07 0.07,-0.11 -0.1,-0.09 -0.23,-0.14 -0.34,-0.2 -0.12,-0.07 -0.25,-0.13 -0.37,-0.19 -0.13,-0.07 -0.26,-0.13 -0.39,-0.19 0.69,-0.3 1.37,-0.6 2.06,-0.9 0.05,0.03 0.09,0.06 0.14,0.09 0.04,0.03 0.08,0.05 0.11,0.08 0.04,0.03 0.09,0.04 0.13,0.06 0.09,0.04 0.18,0.09 0.27,0.13 0.07,0.03 0.11,-0.07 0.07,-0.12 -0.07,-0.07 -0.14,-0.13 -0.21,-0.19 -0.04,-0.04 -0.07,-0.08 -0.12,-0.11 -0.03,-0.02 -0.07,-0.05 -0.1,-0.07 0.56,-0.25 1.12,-0.49 1.69,-0.74 0.1,0.06 0.21,0.09 0.31,0.16 0.13,0.08 0.25,0.18 0.38,0.26 0.14,0.08 0.25,0.21 0.39,0.29 0.1,0.06 0.21,-0.06 0.15,-0.16 -0.08,-0.15 -0.22,-0.25 -0.34,-0.38 -0.12,-0.12 -0.27,-0.22 -0.42,-0.31 -0.02,-0.02 -0.05,-0.02 -0.08,-0.04 0.55,-0.24 1.09,-0.48 1.64,-0.72 0.15,0.09 0.29,0.17 0.44,0.26 0.14,0.08 0.28,0.17 0.42,0.25 0.07,0.04 0.15,0.08 0.23,0.11 0.08,0.03 0.16,0.08 0.24,0.1 0.07,0.01 0.12,-0.07 0.07,-0.12 -0.05,-0.06 -0.13,-0.1 -0.19,-0.15 -0.07,-0.05 -0.14,-0.1 -0.21,-0.14 -0.14,-0.09 -0.29,-0.17 -0.44,-0.25 -0.1,-0.06 -0.2,-0.11 -0.29,-0.17 0.44,-0.19 0.87,-0.38 1.31,-0.57 0.18,0.12 0.37,0.23 0.54,0.37 0.15,0.13 0.29,0.27 0.4,0.43 0.11,0.16 0.21,0.33 0.33,0.49 0.08,0.1 0.24,0.01 0.18,-0.1 -0.1,-0.17 -0.24,-0.32 -0.38,-0.46 -0.15,-0.15 -0.29,-0.3 -0.44,-0.45 -0.13,-0.13 -0.28,-0.26 -0.42,-0.37 0.42,-0.18 0.85,-0.37 1.27,-0.55 0.07,0.06 0.15,0.11 0.22,0.17 0.08,0.06 0.17,0.12 0.25,0.17 0.09,0.06 0.18,0.13 0.29,0.16 0.07,0.02 0.13,-0.06 0.09,-0.12 -0.06,-0.09 -0.15,-0.15 -0.23,-0.22 -0.08,-0.07 -0.16,-0.14 -0.24,-0.2 -0.04,-0.03 -0.07,-0.05 -0.11,-0.08 0.65,-0.28 1.3,-0.57 1.95,-0.85 l 0.19,0.11 c 0.1,0.06 0.2,0.11 0.3,0.16 0.11,0.05 0.22,0.11 0.34,0.14 0.09,0.02 0.15,-0.08 0.08,-0.15 -0.08,-0.08 -0.19,-0.15 -0.28,-0.21 -0.1,-0.07 -0.2,-0.13 -0.3,-0.19 l -0.01,-0.01 c 0.59,-0.26 1.17,-0.51 1.76,-0.77 0.12,0.09 0.24,0.19 0.37,0.28 0.09,0.07 0.17,0.13 0.26,0.19 0.09,0.06 0.18,0.13 0.29,0.16 0.08,0.02 0.15,-0.07 0.11,-0.14 -0.06,-0.09 -0.15,-0.16 -0.23,-0.23 -0.08,-0.07 -0.17,-0.14 -0.26,-0.21 -0.08,-0.06 -0.16,-0.12 -0.24,-0.18 0.57,-0.25 1.15,-0.5 1.72,-0.75 0.26,0.16 0.51,0.32 0.74,0.52 0.13,0.11 0.26,0.23 0.39,0.35 0.06,0.06 0.13,0.11 0.19,0.17 0.07,0.06 0.13,0.13 0.2,0.18 0.07,0.05 0.14,-0.05 0.11,-0.11 -0.04,-0.08 -0.09,-0.15 -0.15,-0.22 -0.06,-0.07 -0.1,-0.15 -0.16,-0.21 -0.12,-0.14 -0.26,-0.26 -0.4,-0.38 -0.19,-0.16 -0.4,-0.29 -0.61,-0.43 0.42,-0.18 0.83,-0.36 1.25,-0.55 l 0.42,0.28 c 0.07,0.05 0.14,0.09 0.21,0.13 0.07,0.05 0.15,0.1 0.23,0.12 0.01,0 0.03,-0.01 0.04,-0.02 0.13,0.22 0.26,0.44 0.38,0.67 0.62,1.14 1.2,2.29 1.69,3.49 0.48,1.17 0.91,2.35 1.26,3.56 0.18,0.61 0.34,1.22 0.48,1.83 0.04,0.15 0.06,0.31 0.09,0.47 -0.2,0.07 -0.39,0.15 -0.58,0.22 -0.01,-0.32 -0.06,-0.65 -0.09,-0.94 -0.06,-0.52 -0.15,-1.04 -0.28,-1.55 -0.25,-1.02 -0.63,-2 -1.11,-2.94 -0.08,-0.15 -0.29,-0.02 -0.22,0.13 0.44,0.92 0.78,1.9 1.01,2.89 0.12,0.5 0.2,1 0.26,1.51 0.03,0.25 0.05,0.49 0.07,0.74 0.01,0.09 0.01,0.19 0.01,0.28 -0.22,0.09 -0.45,0.16 -0.68,0.25 -0.01,-0.3 -0.08,-0.62 -0.14,-0.91 -0.08,-0.4 -0.18,-0.79 -0.3,-1.18 -0.24,-0.76 -0.48,-1.52 -0.79,-2.25 -0.03,-0.08 -0.17,-0.05 -0.14,0.04 0.3,0.72 0.56,1.46 0.74,2.22 0.09,0.38 0.17,0.76 0.24,1.15 0.06,0.33 0.1,0.68 0.19,1.01 -0.32,0.13 -0.64,0.26 -0.96,0.4 0.04,-0.34 -0.02,-0.73 -0.07,-1.06 -0.06,-0.43 -0.15,-0.86 -0.27,-1.28 -0.25,-0.84 -0.62,-1.63 -1.09,-2.37 -0.1,-0.15 -0.33,-0.01 -0.24,0.14 0.45,0.72 0.8,1.49 1.03,2.31 0.11,0.39 0.2,0.79 0.25,1.19 0.03,0.22 0.05,0.45 0.07,0.68 0.01,0.17 0.01,0.34 0.05,0.5 -0.38,0.16 -0.75,0.32 -1.13,0.47 0.02,-0.32 -0.03,-0.65 -0.05,-0.94 -0.05,-0.45 -0.13,-0.89 -0.24,-1.33 -0.23,-0.9 -0.6,-1.76 -1.07,-2.56 -0.09,-0.15 -0.32,-0.01 -0.24,0.14 0.44,0.79 0.76,1.63 0.96,2.51 0.1,0.44 0.17,0.88 0.21,1.32 0.03,0.32 0.02,0.67 0.06,1 -0.02,0.01 -0.03,0.01 -0.05,0.02 -0.23,0.1 -0.47,0.19 -0.7,0.29 0.01,-0.05 0.01,-0.1 0.01,-0.15 0.01,-0.12 0,-0.25 0,-0.38 -0.01,-0.23 -0.03,-0.46 -0.07,-0.68 -0.07,-0.48 -0.21,-0.95 -0.39,-1.39 -0.05,-0.12 -0.26,-0.07 -0.21,0.06 0.16,0.43 0.28,0.89 0.33,1.35 0.03,0.22 0.04,0.45 0.04,0.67 0,0.12 -0.01,0.23 -0.01,0.35 0,0.1 -0.01,0.2 0.01,0.3 -0.26,0.11 -0.53,0.22 -0.79,0.33 0.03,-0.3 0.01,-0.62 -0.02,-0.91 -0.04,-0.4 -0.11,-0.79 -0.21,-1.18 -0.21,-0.81 -0.55,-1.57 -1,-2.28 -0.05,-0.08 -0.17,-0.01 -0.12,0.07 0.42,0.7 0.73,1.47 0.91,2.26 0.09,0.4 0.15,0.8 0.18,1.21 0.02,0.3 0.01,0.62 0.03,0.92 -0.23,0.09 -0.45,0.19 -0.68,0.28 0.01,-0.14 0,-0.28 -0.02,-0.42 -0.03,-0.23 -0.06,-0.45 -0.12,-0.67 -0.11,-0.46 -0.29,-0.91 -0.53,-1.33 -0.08,-0.14 -0.28,-0.01 -0.21,0.12 0.22,0.4 0.38,0.83 0.49,1.27 0.05,0.22 0.09,0.43 0.11,0.66 0.01,0.15 0.03,0.31 0.05,0.46 -0.32,0.13 -0.64,0.27 -0.96,0.4 -0.08,-0.77 -0.28,-1.54 -0.52,-2.27 -0.3,-0.91 -0.7,-1.79 -1.19,-2.61 -0.07,-0.12 -0.25,-0.01 -0.19,0.11 0.47,0.83 0.84,1.71 1.13,2.62 0.24,0.75 0.36,1.51 0.49,2.27 -0.28,0.11 -0.55,0.23 -0.83,0.34 -0.07,-0.43 -0.19,-0.85 -0.29,-1.27 -0.12,-0.48 -0.23,-0.97 -0.35,-1.45 -0.03,-0.14 -0.26,-0.08 -0.22,0.06 l 0.34,1.42 c 0.1,0.44 0.19,0.89 0.33,1.32 -0.17,0.07 -0.34,0.14 -0.51,0.21 -0.27,0.11 -0.53,0.22 -0.8,0.33 0.06,-0.75 -0.12,-1.56 -0.35,-2.25 -0.29,-0.87 -0.75,-1.67 -1.33,-2.38 -0.11,-0.13 -0.29,0.06 -0.18,0.19 0.55,0.69 0.96,1.47 1.23,2.31 0.13,0.42 0.23,0.85 0.29,1.28 0.04,0.32 0.05,0.64 0.08,0.96 -0.24,0.1 -0.48,0.2 -0.72,0.3 -0.02,-0.29 -0.05,-0.58 -0.11,-0.87 -0.12,-0.59 -0.35,-1.14 -0.65,-1.66 -0.09,-0.16 -0.33,-0.02 -0.25,0.15 0.26,0.49 0.43,1.03 0.53,1.58 0.05,0.27 0.07,0.55 0.08,0.83 0,0.05 0,0.09 0,0.14 -0.3,0.12 -0.6,0.25 -0.9,0.38 -0.03,-0.16 -0.06,-0.32 -0.09,-0.48 -0.09,-0.46 -0.22,-0.91 -0.38,-1.36 -0.3,-0.86 -0.72,-1.67 -1.21,-2.43 -0.09,-0.14 -0.33,-0.01 -0.23,0.14 0.47,0.74 0.85,1.55 1.12,2.39 0.13,0.4 0.24,0.82 0.33,1.23 0.05,0.22 0.07,0.44 0.1,0.67 -0.43,0.18 -0.86,0.36 -1.29,0.54 0.02,-0.21 0,-0.43 -0.02,-0.62 -0.03,-0.26 -0.07,-0.51 -0.13,-0.77 -0.11,-0.54 -0.28,-1.06 -0.46,-1.57 -0.06,-0.16 -0.31,-0.09 -0.26,0.07 0.17,0.51 0.29,1.04 0.38,1.56 0.05,0.26 0.09,0.53 0.12,0.79 0.02,0.21 0.04,0.44 0.11,0.64 -0.31,0.13 -0.61,0.26 -0.92,0.38 0.01,-0.04 0.03,-0.08 0.03,-0.13 0,-0.1 -0.01,-0.19 -0.02,-0.29 -0.02,-0.2 -0.04,-0.39 -0.08,-0.58 -0.08,-0.38 -0.2,-0.75 -0.36,-1.1 -0.03,-0.07 -0.13,-0.08 -0.19,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.19 0.14,0.33 0.25,0.68 0.32,1.04 0.03,0.17 0.06,0.35 0.07,0.53 0.01,0.09 0.01,0.18 0.01,0.27 0,0.08 0.02,0.15 0.05,0.22 -0.37,0.15 -0.74,0.31 -1.11,0.46 0.01,-0.1 0.02,-0.2 0.03,-0.29 0.02,-0.24 0.02,-0.48 0,-0.72 -0.03,-0.47 -0.11,-0.94 -0.24,-1.39 -0.27,-0.9 -0.75,-1.72 -1.4,-2.4 -0.11,-0.11 -0.28,0.06 -0.17,0.17 0.61,0.67 1.05,1.47 1.29,2.35 0.12,0.43 0.19,0.86 0.21,1.31 0.01,0.21 0.01,0.43 -0.01,0.64 -0.01,0.15 -0.03,0.31 -0.04,0.47 -0.26,0.11 -0.51,0.21 -0.77,0.32 -0.01,-0.18 -0.04,-0.37 -0.06,-0.53 -0.05,-0.38 -0.11,-0.75 -0.19,-1.11 -0.17,-0.73 -0.42,-1.44 -0.72,-2.13 -0.07,-0.17 -0.32,-0.02 -0.25,0.15 0.29,0.67 0.5,1.36 0.65,2.07 0.07,0.35 0.13,0.71 0.17,1.07 0.02,0.17 0.03,0.35 0.05,0.52 0,0.04 0.01,0.07 0.01,0.11 -0.34,0.14 -0.69,0.29 -1.03,0.43 -0.05,-1.26 -0.47,-2.52 -1.08,-3.61 -0.09,-0.16 -0.32,-0.02 -0.24,0.14 0.32,0.58 0.57,1.2 0.74,1.84 0.15,0.57 0.23,1.16 0.28,1.75 -0.29,0.12 -0.59,0.24 -0.88,0.37 0,-0.02 -0.01,-0.03 -0.01,-0.04 -0.03,-0.1 -0.06,-0.21 -0.09,-0.31 -0.06,-0.2 -0.12,-0.4 -0.18,-0.6 -0.12,-0.41 -0.23,-0.82 -0.34,-1.23 -0.04,-0.16 -0.3,-0.1 -0.25,0.07 0.11,0.41 0.22,0.82 0.33,1.23 0.05,0.2 0.1,0.4 0.15,0.61 0.02,0.1 0.05,0.19 0.07,0.29 0.01,0.04 0.02,0.07 0.03,0.11 -0.05,0.02 -0.09,0.04 -0.14,0.06 -0.71,0.3 -1.43,0.6 -2.14,0.9 -0.02,-0.13 -0.06,-0.27 -0.08,-0.39 -0.06,-0.26 -0.13,-0.52 -0.21,-0.78 -0.16,-0.51 -0.37,-1 -0.62,-1.46 -0.08,-0.15 -0.3,-0.02 -0.23,0.13 0.23,0.46 0.43,0.94 0.58,1.43 0.07,0.24 0.13,0.48 0.19,0.73 0.03,0.14 0.05,0.3 0.09,0.46 -0.4,0.17 -0.79,0.33 -1.19,0.5 -0.04,-0.21 -0.1,-0.42 -0.15,-0.61 -0.11,-0.45 -0.25,-0.89 -0.42,-1.33 -0.34,-0.87 -0.8,-1.67 -1.33,-2.43 -0.07,-0.09 -0.22,-0.01 -0.15,0.09 0.5,0.75 0.9,1.57 1.22,2.41 0.15,0.41 0.28,0.82 0.38,1.24 0.05,0.2 0.1,0.41 0.14,0.61 0.01,0.04 0.01,0.09 0.02,0.14 -0.25,0.1 -0.5,0.21 -0.75,0.31 0,0 0,0 0,-0.01 -0.02,-0.02 -0.06,-0.04 -0.1,-0.04 -0.04,0 -0.07,0.01 -0.1,0.04 -0.02,0.03 -0.04,0.06 -0.04,0.1 0,0 0,0.01 0,0.01 -0.24,0.1 -0.47,0.2 -0.71,0.3 -0.02,-0.18 -0.07,-0.37 -0.1,-0.52 -0.07,-0.35 -0.17,-0.69 -0.28,-1.02 -0.23,-0.65 -0.53,-1.26 -0.9,-1.84 -0.09,-0.14 -0.31,-0.01 -0.22,0.13 0.35,0.57 0.61,1.19 0.81,1.83 0.09,0.3 0.17,0.61 0.23,0.92 0.03,0.18 0.06,0.35 0.09,0.53 0.01,0.04 0.01,0.08 0.02,0.13 -0.22,0.09 -0.44,0.18 -0.66,0.28 -0.02,-0.1 -0.04,-0.2 -0.06,-0.3 -0.01,-0.07 -0.09,-0.12 -0.16,-0.11 -0.07,0.01 -0.13,0.07 -0.13,0.14 0.01,0.1 0.01,0.21 0.02,0.31 v 0.08 c -0.29,0.12 -0.58,0.24 -0.87,0.37 0.05,-0.68 -0.12,-1.41 -0.31,-2.05 -0.23,-0.78 -0.56,-1.53 -0.98,-2.22 -0.08,-0.14 -0.3,-0.01 -0.22,0.13 0.4,0.68 0.71,1.41 0.92,2.17 0.1,0.36 0.18,0.74 0.24,1.11 0.05,0.32 0.09,0.64 0.15,0.95 -0.35,0.15 -0.7,0.29 -1.04,0.44 0,-0.04 0.01,-0.08 0.01,-0.12 0,-0.24 -0.02,-0.49 -0.07,-0.72 -0.09,-0.47 -0.28,-0.92 -0.54,-1.33 -0.09,-0.13 -0.29,-0.01 -0.21,0.12 0.24,0.38 0.4,0.79 0.48,1.23 0.04,0.21 0.06,0.43 0.05,0.65 0,0.1 -0.01,0.19 -0.02,0.29 -0.39,0.16 -0.78,0.33 -1.16,0.49 -0.02,-0.11 -0.03,-0.21 -0.05,-0.32 -0.07,-0.42 -0.17,-0.82 -0.3,-1.23 -0.24,-0.78 -0.59,-1.5 -0.99,-2.21 -0.06,-0.11 -0.23,-0.01 -0.16,0.1 0.39,0.68 0.68,1.43 0.9,2.18 0.1,0.36 0.19,0.73 0.26,1.1 0.03,0.16 0.05,0.32 0.07,0.49 -0.27,0.11 -0.54,0.23 -0.81,0.34 -0.03,-0.12 -0.05,-0.25 -0.08,-0.37 -0.07,-0.33 -0.15,-0.66 -0.22,-0.99 -0.04,-0.16 -0.28,-0.09 -0.25,0.07 0.07,0.33 0.13,0.66 0.2,1 0.03,0.14 0.05,0.28 0.08,0.41 -0.3,0.13 -0.6,0.25 -0.9,0.38 -0.02,-0.17 -0.05,-0.34 -0.09,-0.5 -0.09,-0.36 -0.24,-0.7 -0.45,-1.01 -0.09,-0.14 -0.31,-0.01 -0.22,0.13 0.19,0.29 0.32,0.61 0.4,0.95 0.04,0.18 0.05,0.36 0.07,0.54 -0.32,0.13 -0.64,0.27 -0.96,0.4 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.06,-0.25 -0.13,-0.49 -0.21,-0.73 -0.16,-0.48 -0.36,-0.95 -0.6,-1.41 -0.06,-0.12 -0.23,-0.01 -0.18,0.1 0.21,0.45 0.39,0.92 0.54,1.4 0.07,0.23 0.13,0.47 0.19,0.71 0,0.02 0.01,0.05 0.01,0.07 -0.48,0.2 -0.96,0.4 -1.45,0.61 0,-0.01 0,-0.03 -0.01,-0.04 -0.07,-0.37 -0.18,-0.74 -0.32,-1.09 -0.27,-0.67 -0.66,-1.29 -1.15,-1.82 -0.11,-0.12 -0.29,0.06 -0.18,0.18 0.47,0.52 0.84,1.12 1.09,1.78 0.12,0.31 0.21,0.63 0.27,0.96 0.01,0.05 0.01,0.1 0.02,0.15 -0.48,0.2 -0.96,0.4 -1.44,0.6 -0.05,-0.2 -0.09,-0.39 -0.15,-0.59 -0.13,-0.49 -0.26,-0.98 -0.39,-1.47 -0.03,-0.13 -0.22,-0.07 -0.2,0.05 0.11,0.49 0.21,0.97 0.32,1.46 0.05,0.22 0.1,0.44 0.15,0.65 -0.31,0.13 -0.62,0.26 -0.93,0.39 -0.05,-0.41 -0.14,-0.82 -0.25,-1.2 -0.21,-0.75 -0.56,-1.47 -0.98,-2.12 -0.09,-0.14 -0.31,-0.01 -0.22,0.13 0.4,0.64 0.7,1.34 0.9,2.07 0.11,0.41 0.17,0.83 0.22,1.25 -0.32,0.14 -0.64,0.27 -0.96,0.4 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 -0.06,-0.24 -0.13,-0.47 -0.19,-0.71 -0.13,-0.47 -0.26,-0.94 -0.39,-1.41 -0.04,-0.16 -0.3,-0.1 -0.25,0.07 l 0.38,1.42 c 0.06,0.24 0.13,0.47 0.19,0.71 0.01,0.03 0.02,0.07 0.02,0.1 -0.35,0.15 -0.69,0.29 -1.04,0.44 -0.02,-0.12 -0.04,-0.25 -0.06,-0.37 -0.06,-0.39 -0.15,-0.77 -0.27,-1.14 -0.24,-0.76 -0.61,-1.48 -1.05,-2.14 -0.09,-0.13 -0.29,-0.01 -0.21,0.12 0.42,0.66 0.73,1.36 0.96,2.1 0.11,0.35 0.19,0.7 0.26,1.06 0.03,0.16 0.04,0.33 0.06,0.5 -0.27,0.12 -0.55,0.23 -0.82,0.34 -0.07,0.03 -0.15,0.06 -0.22,0.09 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 -0.05,-0.24 -0.12,-0.49 -0.19,-0.72 -0.15,-0.47 -0.37,-0.92 -0.61,-1.35 -0.08,-0.13 -0.28,-0.01 -0.21,0.12 0.23,0.42 0.41,0.86 0.55,1.33 0.07,0.22 0.12,0.45 0.17,0.68 0.01,0.07 0.03,0.14 0.04,0.21 -0.4,0.17 -0.8,0.34 -1.21,0.51 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 -0.07,-0.36 -0.17,-0.72 -0.3,-1.06 -0.24,-0.67 -0.57,-1.3 -0.97,-1.88 -0.07,-0.1 -0.22,-0.01 -0.16,0.09 0.39,0.59 0.68,1.22 0.9,1.89 0.1,0.31 0.19,0.63 0.26,0.95 0.02,0.09 0.03,0.19 0.04,0.28 -0.45,0.19 -0.9,0.38 -1.34,0.57 -0.02,-0.06 -0.04,-0.11 -0.06,-0.17 -0.1,-0.29 -0.2,-0.58 -0.31,-0.87 -0.21,-0.57 -0.43,-1.13 -0.65,-1.69 -0.04,-0.11 -0.21,-0.07 -0.18,0.05 0.17,0.58 0.34,1.15 0.53,1.72 0.09,0.28 0.19,0.56 0.28,0.84 0.03,0.08 0.06,0.16 0.08,0.24 -0.32,0.14 -0.64,0.27 -0.96,0.41 -0.01,-0.02 -0.01,-0.05 -0.02,-0.08 -0.11,-0.4 -0.24,-0.8 -0.4,-1.18 -0.3,-0.74 -0.7,-1.44 -1.16,-2.1 -0.07,-0.1 -0.22,-0.01 -0.16,0.09 0.44,0.68 0.81,1.4 1.09,2.16 0.14,0.36 0.25,0.73 0.35,1.11 0.01,0.04 0.01,0.08 0.02,0.12 -0.3,0.13 -0.6,0.26 -0.9,0.38 -0.06,-0.27 -0.14,-0.55 -0.22,-0.81 -0.19,-0.57 -0.44,-1.12 -0.72,-1.65 -0.05,-0.09 -0.19,-0.01 -0.14,0.08 0.26,0.53 0.47,1.1 0.63,1.67 0.08,0.27 0.15,0.55 0.21,0.82 -0.39,0.17 -0.78,0.33 -1.17,0.5 -0.03,-0.18 -0.07,-0.36 -0.11,-0.54 -0.09,-0.42 -0.2,-0.84 -0.33,-1.26 -0.26,-0.81 -0.6,-1.59 -1.01,-2.33 -0.07,-0.12 -0.25,-0.01 -0.18,0.11 0.39,0.75 0.71,1.53 0.96,2.34 0.12,0.39 0.22,0.78 0.3,1.17 0.04,0.21 0.08,0.42 0.11,0.63 -0.94,0.4 -1.88,0.8 -2.82,1.2 -0.08,-0.51 -0.27,-1.03 -0.44,-1.5 -0.23,-0.62 -0.53,-1.22 -0.86,-1.8 -0.05,-0.09 -0.19,-0.01 -0.14,0.08 0.31,0.58 0.56,1.19 0.78,1.81 0.11,0.3 0.2,0.61 0.28,0.92 0.05,0.19 0.1,0.38 0.15,0.58 -0.37,0.16 -0.75,0.32 -1.12,0.48 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 -0.04,-0.24 -0.1,-0.47 -0.17,-0.7 -0.15,-0.47 -0.37,-0.92 -0.64,-1.33 -0.07,-0.1 -0.23,-0.01 -0.16,0.1 0.24,0.42 0.43,0.86 0.56,1.33 0.07,0.22 0.12,0.45 0.16,0.68 0.01,0.06 0.02,0.12 0.03,0.17 -0.31,0.13 -0.62,0.26 -0.93,0.39 0,0 0,-0.01 0,-0.02 -0.04,-0.16 -0.09,-0.32 -0.13,-0.48 -0.09,-0.31 -0.17,-0.63 -0.26,-0.94 -0.05,-0.17 -0.31,-0.1 -0.27,0.07 0.08,0.31 0.17,0.63 0.25,0.94 0.04,0.15 0.08,0.31 0.12,0.46 0.01,0.02 0.01,0.05 0.02,0.07 -0.39,0.17 -0.78,0.33 -1.17,0.5 -0.02,-0.13 -0.05,-0.27 -0.07,-0.39 -0.08,-0.42 -0.2,-0.83 -0.36,-1.23 -0.3,-0.78 -0.72,-1.48 -1.23,-2.13 -0.09,-0.12 -0.29,0.04 -0.2,0.16 0.49,0.65 0.87,1.38 1.14,2.14 0.13,0.38 0.24,0.76 0.31,1.16 0.03,0.15 0.04,0.3 0.06,0.45 -0.26,0.11 -0.51,0.22 -0.77,0.33 0.01,-0.04 0.02,-0.07 0.02,-0.11 0,-0.13 -0.04,-0.27 -0.11,-0.38 -0.04,-0.06 -0.13,-0.1 -0.2,-0.05 -0.07,0.04 -0.09,0.13 -0.05,0.2 0.01,0.01 0.01,0.02 0.02,0.03 0,0 0,0.01 0.01,0.01 0.01,0.02 0.02,0.04 0.02,0.07 0,0.01 0.01,0.02 0.01,0.04 0,0 0,0 0,0 0,0 0,0 0,0 0,0.03 0,0.05 0,0.08 0,0.01 0,0.02 0,0.03 0,0 0,0 0,0 0,0 0,0 0,0.01 0,0.03 -0.01,0.05 -0.02,0.07 0,0.01 -0.01,0.02 -0.01,0.03 0,0 0,0.01 -0.01,0.01 -0.01,0.03 -0.03,0.06 -0.03,0.1 0,0 0,0.01 0,0.01 -0.16,0.07 -0.33,0.14 -0.49,0.21 -0.02,-0.07 -0.04,-0.14 -0.07,-0.2 -0.06,-0.18 -0.13,-0.37 -0.19,-0.55 -0.13,-0.38 -0.26,-0.76 -0.39,-1.14 -0.06,-0.19 -0.36,-0.11 -0.3,0.08 0.12,0.39 0.24,0.78 0.35,1.18 0.06,0.19 0.11,0.39 0.17,0.58 0.02,0.07 0.04,0.14 0.07,0.21 -0.43,0.18 -0.86,0.37 -1.29,0.55 -0.03,-0.03 -0.06,-0.04 -0.1,-0.03 -0.12,-0.32 -0.27,-0.64 -0.4,-0.95 -0.18,-0.43 -0.36,-0.86 -0.53,-1.29 -0.06,-0.15 -0.31,-0.09 -0.25,0.07 0.17,0.44 0.34,0.88 0.51,1.33 0.13,0.34 0.26,0.7 0.4,1.04 -0.31,0.13 -0.63,0.27 -0.94,0.4 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 -0.02,-0.06 -0.04,-0.12 -0.05,-0.18 -0.02,-0.07 -0.09,-0.12 -0.16,-0.09 -0.07,0.02 -0.11,0.09 -0.09,0.16 l 0.04,0.18 c 0.01,0.03 0.01,0.06 0.02,0.09 0.01,0.02 0.01,0.05 0.02,0.07 -0.23,0.1 -0.46,0.2 -0.69,0.3 -0.12,-0.22 -0.24,-0.43 -0.36,-0.65 -0.28,-0.51 -0.56,-1.01 -0.84,-1.52 -0.07,-0.14 -0.28,-0.01 -0.21,0.12 0.26,0.52 0.52,1.03 0.79,1.55 0.11,0.21 0.21,0.42 0.32,0.62 -0.17,0.07 -0.34,0.14 -0.5,0.21 -0.05,-0.11 -0.11,-0.22 -0.16,-0.33 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.18 0.05,0.1 0.09,0.2 0.14,0.3 -0.3,0.13 -0.6,0.25 -0.9,0.38 -0.01,-0.02 -0.01,-0.04 -0.02,-0.05 -0.03,-0.06 -0.06,-0.12 -0.09,-0.19 -0.07,-0.14 -0.14,-0.28 -0.21,-0.42 -0.14,-0.27 -0.27,-0.55 -0.41,-0.82 -0.03,-0.07 -0.13,-0.09 -0.2,-0.05 -0.07,0.04 -0.08,0.13 -0.05,0.2 0.13,0.27 0.26,0.54 0.38,0.82 0.06,0.14 0.13,0.27 0.19,0.41 0.04,0.08 0.07,0.16 0.11,0.23 -0.75,0.32 -1.5,0.65 -2.25,0.97 -0.08,-0.26 -0.21,-0.51 -0.32,-0.75 -0.13,-0.32 -0.27,-0.63 -0.41,-0.95 -0.28,-0.63 -0.57,-1.25 -0.83,-1.88 -0.08,-0.19 -0.35,-0.02 -0.27,0.16 0.27,0.63 0.51,1.27 0.77,1.91 0.12,0.31 0.25,0.61 0.38,0.91 0.1,0.24 0.19,0.51 0.32,0.75 -0.32,0.14 -0.64,0.28 -0.96,0.41 -0.07,-0.1 -0.14,-0.19 -0.2,-0.29 -0.08,-0.13 -0.16,-0.27 -0.23,-0.42 -0.14,-0.29 -0.23,-0.6 -0.29,-0.91 -0.01,-0.08 -0.11,-0.12 -0.18,-0.1 -0.08,0.02 -0.12,0.1 -0.1,0.18 0.05,0.34 0.15,0.67 0.28,0.98 0.1,0.24 0.24,0.48 0.39,0.69 -0.32,0.14 -0.65,0.28 -0.97,0.42 -0.04,-0.05 -0.08,-0.1 -0.13,-0.16 -0.11,-0.14 -0.22,-0.29 -0.32,-0.44 -0.2,-0.3 -0.36,-0.61 -0.49,-0.94 -0.06,-0.16 -0.33,-0.09 -0.26,0.07 0.14,0.36 0.3,0.7 0.49,1.03 0.1,0.16 0.2,0.32 0.31,0.47 0.03,0.04 0.06,0.07 0.08,0.11 -0.36,0.16 -0.72,0.31 -1.08,0.47 -0.06,-0.12 -0.13,-0.24 -0.18,-0.36 -0.15,-0.33 -0.31,-0.67 -0.46,-1 -0.3,-0.66 -0.6,-1.31 -0.9,-1.97 -0.07,-0.15 -0.28,-0.02 -0.22,0.13 0.29,0.65 0.58,1.3 0.87,1.94 0.14,0.32 0.29,0.65 0.43,0.97 0.06,0.14 0.12,0.27 0.18,0.4 -0.35,0.15 -0.7,0.3 -1.04,0.45 -0.05,-0.08 -0.11,-0.15 -0.16,-0.23 -0.22,-0.31 -0.45,-0.62 -0.67,-0.92 -0.11,-0.15 -0.35,-0.01 -0.24,0.14 0.22,0.32 0.44,0.63 0.66,0.95 0.04,0.06 0.08,0.12 0.13,0.18 -0.51,0.22 -1.02,0.44 -1.53,0.66 -0.15,-0.19 -0.3,-0.38 -0.46,-0.57 -0.05,-0.06 -0.14,-0.05 -0.19,0 -0.06,0.06 -0.04,0.13 0,0.19 0.13,0.16 0.26,0.32 0.39,0.49 -0.42,0.18 -0.83,0.36 -1.25,0.54 -0.02,-0.07 -0.05,-0.14 -0.08,-0.21 -0.05,-0.09 -0.1,-0.19 -0.15,-0.28 -0.09,-0.17 -0.19,-0.34 -0.28,-0.51 -0.2,-0.35 -0.39,-0.71 -0.59,-1.06 -0.08,-0.14 -0.29,-0.02 -0.22,0.13 0.19,0.36 0.37,0.72 0.56,1.08 0.09,0.17 0.18,0.35 0.27,0.52 0.05,0.09 0.1,0.19 0.15,0.28 0.03,0.06 0.08,0.1 0.12,0.15 -0.4,0.17 -0.81,0.35 -1.21,0.52 -0.04,-0.07 -0.09,-0.14 -0.13,-0.21 -0.12,-0.18 -0.23,-0.36 -0.35,-0.53 -0.24,-0.36 -0.49,-0.72 -0.73,-1.08 -0.1,-0.16 -0.36,-0.01 -0.25,0.15 0.23,0.37 0.47,0.75 0.7,1.12 0.12,0.19 0.23,0.37 0.35,0.56 0.02,0.04 0.05,0.09 0.08,0.13 -0.4,0.17 -0.8,0.35 -1.2,0.52 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.1,-0.08 -0.21,-0.16 -0.31,-0.24 -0.2,-0.17 -0.38,-0.37 -0.53,-0.58 -0.31,-0.43 -0.53,-0.91 -0.63,-1.43 -0.03,-0.18 -0.3,-0.1 -0.27,0.07 0.1,0.55 0.31,1.09 0.63,1.55 0.16,0.23 0.34,0.44 0.54,0.63 0.08,0.07 0.16,0.13 0.24,0.2 -0.38,0.17 -0.76,0.33 -1.14,0.49 -0.07,-0.06 -0.15,-0.13 -0.22,-0.19 -0.19,-0.18 -0.37,-0.37 -0.54,-0.58 -0.33,-0.41 -0.6,-0.85 -0.81,-1.33 -0.06,-0.14 -0.3,-0.04 -0.25,0.1 0.2,0.51 0.47,0.99 0.8,1.43 0.17,0.21 0.34,0.42 0.54,0.61 0.04,0.04 0.09,0.08 0.13,0.12 -0.46,0.2 -0.92,0.4 -1.38,0.6 -0.16,-0.11 -0.33,-0.21 -0.48,-0.34 -0.17,-0.14 -0.33,-0.3 -0.48,-0.48 -0.3,-0.35 -0.53,-0.75 -0.69,-1.17 -0.05,-0.15 -0.29,-0.09 -0.24,0.07 0.16,0.46 0.4,0.89 0.71,1.27 0.24,0.3 0.55,0.57 0.88,0.78 -0.49,0.21 -0.99,0.43 -1.48,0.64 -0.22,-0.17 -0.44,-0.33 -0.63,-0.53 -0.32,-0.32 -0.6,-0.67 -0.84,-1.05 -0.47,-0.76 -0.78,-1.61 -0.86,-2.49 -0.01,-0.14 -0.23,-0.15 -0.22,0 0.06,0.92 0.34,1.82 0.82,2.61 0.23,0.38 0.51,0.74 0.82,1.06 0.18,0.18 0.38,0.37 0.6,0.54 -0.45,0.19 -0.9,0.39 -1.34,0.58 -0.06,-0.04 -0.12,-0.07 -0.17,-0.11 -0.19,-0.14 -0.37,-0.3 -0.53,-0.48 -0.32,-0.36 -0.55,-0.78 -0.67,-1.25 -0.04,-0.14 -0.25,-0.08 -0.22,0.06 0.12,0.49 0.35,0.96 0.67,1.35 0.16,0.19 0.34,0.36 0.54,0.51 0.02,0.02 0.05,0.03 0.07,0.05 -0.44,0.19 -0.88,0.38 -1.32,0.57 -0.1,-0.09 -0.2,-0.18 -0.29,-0.27 -0.28,-0.3 -0.52,-0.63 -0.71,-0.99 -0.38,-0.71 -0.6,-1.51 -0.6,-2.31 0,-0.13 -0.2,-0.13 -0.21,0 -0.03,0.85 0.17,1.69 0.57,2.45 0.2,0.37 0.44,0.71 0.73,1.02 0.07,0.07 0.14,0.15 0.22,0.23 -0.46,0.2 -0.91,0.4 -1.37,0.6 -0.48,-0.45 -0.92,-0.91 -1.25,-1.49 -0.35,-0.61 -0.59,-1.27 -0.71,-1.96 -0.02,-0.14 -0.23,-0.08 -0.21,0.06 0.2,1.31 0.86,2.64 1.87,3.52 -0.32,0.14 -0.64,0.28 -0.97,0.42 0,0 0,0 0,0 -0.09,-0.04 -0.18,-0.09 -0.27,-0.15 -0.18,-0.12 -0.35,-0.26 -0.5,-0.42 -0.29,-0.32 -0.5,-0.7 -0.61,-1.12 -0.04,-0.15 -0.27,-0.09 -0.23,0.06 0.11,0.46 0.33,0.88 0.65,1.23 0.15,0.17 0.33,0.32 0.51,0.45 0.04,0.03 0.09,0.05 0.14,0.08 -0.27,0.12 -0.55,0.24 -0.82,0.36 -0.2,-0.14 -0.44,-0.25 -0.64,-0.4 -0.26,-0.2 -0.49,-0.44 -0.68,-0.71 -0.37,-0.53 -0.58,-1.16 -0.58,-1.82 0,-0.16 -0.25,-0.16 -0.25,0 -0.01,0.7 0.21,1.4 0.61,1.98 0.19,0.28 0.43,0.54 0.69,0.76 0.15,0.12 0.32,0.25 0.5,0.34 -0.31,0.14 -0.63,0.28 -0.94,0.41 -0.1,-0.09 -0.2,-0.17 -0.29,-0.26 -0.29,-0.3 -0.52,-0.66 -0.67,-1.04 -0.05,-0.13 -0.26,-0.08 -0.21,0.06 0.16,0.42 0.39,0.81 0.67,1.15 0.07,0.08 0.15,0.15 0.23,0.22 -0.18,0.08 -0.35,0.15 -0.53,0.23 -0.13,-0.11 -0.27,-0.21 -0.38,-0.33 -0.32,-0.34 -0.57,-0.74 -0.73,-1.18 -0.05,-0.14 -0.27,-0.08 -0.22,0.06 0.16,0.48 0.41,0.92 0.75,1.3 0.09,0.1 0.21,0.19 0.31,0.28 -0.44,0.19 -0.87,0.38 -1.31,0.57 -0.11,-0.09 -0.22,-0.18 -0.32,-0.28 -0.32,-0.34 -0.6,-0.73 -0.83,-1.14 -0.45,-0.82 -0.7,-1.76 -0.71,-2.7 0,-0.13 -0.2,-0.13 -0.2,0 -0.03,0.98 0.21,1.94 0.67,2.8 0.23,0.42 0.51,0.82 0.83,1.17 0.08,0.09 0.17,0.18 0.26,0.28 -0.41,0.18 -0.81,0.36 -1.22,0.54 -0.02,-0.04 -0.04,-0.07 -0.06,-0.11 -0.12,-0.21 -0.25,-0.42 -0.37,-0.63 -0.26,-0.44 -0.53,-0.86 -0.79,-1.29 -0.07,-0.12 -0.26,-0.01 -0.19,0.11 0.24,0.44 0.48,0.89 0.73,1.33 0.12,0.21 0.24,0.42 0.36,0.63 0.01,0.02 0.03,0.05 0.04,0.07 -0.32,0.14 -0.65,0.28 -0.97,0.43 -0.15,-0.16 -0.31,-0.31 -0.45,-0.48 -0.26,-0.32 -0.48,-0.66 -0.67,-1.02 -0.37,-0.72 -0.61,-1.5 -0.69,-2.31 -0.01,-0.16 -0.26,-0.16 -0.25,0 0.06,0.83 0.27,1.64 0.64,2.39 0.19,0.38 0.42,0.73 0.68,1.07 0.12,0.16 0.26,0.33 0.42,0.5 -0.44,0.19 -0.87,0.38 -1.31,0.57 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.19,-0.19 -0.35,-0.4 -0.49,-0.63 -0.29,-0.45 -0.48,-0.96 -0.55,-1.5 -0.02,-0.17 -0.29,-0.17 -0.27,0 0.07,0.57 0.25,1.13 0.54,1.63 0.14,0.23 0.31,0.45 0.49,0.65 -0.04,0.02 -0.09,0.04 -0.13,0.06 -0.32,0.14 -0.64,0.28 -0.96,0.42 -0.09,-0.08 -0.19,-0.16 -0.28,-0.25 -0.25,-0.27 -0.47,-0.57 -0.66,-0.89 -0.38,-0.64 -0.59,-1.38 -0.64,-2.12 -0.01,-0.11 -0.18,-0.11 -0.17,0 0.04,0.77 0.26,1.51 0.62,2.2 0.18,0.34 0.39,0.65 0.64,0.94 0.07,0.08 0.16,0.16 0.23,0.25 -0.37,0.16 -0.74,0.33 -1.11,0.49 0,0 -0.01,-0.01 -0.01,-0.01 -0.13,-0.16 -0.26,-0.33 -0.37,-0.5 -0.23,-0.34 -0.43,-0.7 -0.59,-1.07 -0.05,-0.11 -0.22,-0.01 -0.17,0.1 0.17,0.38 0.36,0.75 0.6,1.09 0.11,0.17 0.23,0.33 0.35,0.48 -0.23,0.1 -0.46,0.2 -0.69,0.3 -1.22,-0.85 -2.05,-2.22 -2.19,-3.71 -0.01,-0.12 -0.21,-0.13 -0.2,0 0.13,1.52 0.93,2.91 2.15,3.81 -0.36,0.16 -0.71,0.31 -1.07,0.47 -0.05,-0.11 -0.13,-0.22 -0.19,-0.31 -0.1,-0.15 -0.2,-0.31 -0.3,-0.46 -0.2,-0.31 -0.41,-0.63 -0.61,-0.94 -0.1,-0.15 -0.33,-0.01 -0.24,0.14 0.2,0.32 0.41,0.64 0.61,0.96 0.1,0.16 0.2,0.32 0.31,0.48 0.05,0.08 0.1,0.17 0.16,0.25 -0.27,0.12 -0.54,0.24 -0.82,0.36 -0.25,-0.34 -0.53,-0.65 -0.77,-1 -0.24,-0.35 -0.46,-0.72 -0.65,-1.09 -0.4,-0.78 -0.71,-1.61 -0.91,-2.46 -0.04,-0.17 -0.29,-0.1 -0.25,0.07 0.19,0.87 0.48,1.72 0.88,2.51 0.2,0.39 0.42,0.77 0.67,1.13 0.23,0.33 0.47,0.68 0.76,0.97 -0.21,0.09 -0.42,0.19 -0.63,0.28 -0.01,-0.02 -0.01,-0.04 -0.03,-0.05 -0.67,-0.47 -1.2,-1.08 -1.48,-1.86 -0.05,-0.15 -0.3,-0.09 -0.24,0.07 0.27,0.78 0.79,1.51 1.49,1.97 -0.25,0.11 -0.49,0.23 -0.74,0.34 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.57,-0.38 -1.01,-0.94 -1.23,-1.58 -0.05,-0.13 -0.26,-0.08 -0.21,0.06 0.22,0.67 0.66,1.25 1.22,1.66 -0.3,0.13 -0.59,0.28 -0.89,0.41 0.01,-0.04 0.02,-0.08 -0.01,-0.11 -0.03,-0.03 -0.07,-0.06 -0.1,-0.08 l -0.1,-0.08 c -0.06,-0.05 -0.13,-0.1 -0.19,-0.15 -0.13,-0.1 -0.26,-0.22 -0.38,-0.33 -0.06,-0.05 -0.14,0.03 -0.09,0.09 0.12,0.12 0.25,0.24 0.36,0.36 0.06,0.06 0.11,0.12 0.17,0.19 0.06,0.06 0.11,0.13 0.18,0.19 -0.29,0.13 -0.58,0.27 -0.87,0.4 -0.25,-0.29 -0.5,-0.58 -0.72,-0.91 -0.27,-0.41 -0.5,-0.85 -0.68,-1.3 -0.06,-0.14 -0.28,-0.08 -0.23,0.06 0.19,0.48 0.42,0.93 0.71,1.36 0.21,0.31 0.45,0.61 0.72,0.88 -0.26,0.12 -0.51,0.23 -0.77,0.35 0.01,-0.04 0.01,-0.08 -0.02,-0.12 -0.1,-0.13 -0.25,-0.23 -0.36,-0.34 -0.12,-0.12 -0.24,-0.25 -0.34,-0.38 -0.22,-0.26 -0.41,-0.53 -0.58,-0.83 -0.06,-0.1 -0.2,-0.01 -0.15,0.09 0.16,0.31 0.34,0.62 0.56,0.89 0.11,0.14 0.23,0.27 0.35,0.4 0.12,0.12 0.24,0.27 0.39,0.35 0,0 0,0 0,0 -0.32,0.15 -0.64,0.29 -0.95,0.44 -0.33,-0.28 -0.62,-0.6 -0.79,-1 -0.04,-0.1 -0.21,-0.03 -0.17,0.07 0.14,0.4 0.37,0.76 0.67,1.06 -0.11,0.05 -0.22,0.1 -0.33,0.15 -0.18,-0.26 -0.35,-0.52 -0.53,-0.78 0.01,-0.01 0.03,-0.02 0.04,-0.04 0.03,-0.03 0.05,-0.06 0.07,-0.1 -0.18,-0.06 -0.22,-0.11 -0.26,-0.17 z m 65.15,-40.58 c -5.84,2.52 -11.68,5.01 -17.53,7.5 -3.13,-5.89 -6.19,-11.82 -9.44,-17.63 2.3,-1.13 4.68,-2.07 7.12,-2.81 5.03,-1.52 10.29,-2.17 15.54,-2 5.25,0.17 10.46,1.17 15.41,2.94 2.76,0.99 5.42,2.24 7.96,3.72 -6.35,2.76 -12.7,5.53 -19.06,8.28 z m -28.18,-9.52 c 2.8,5.59 5.82,11.07 8.76,16.58 0.18,0.33 0.36,0.67 0.54,1 -0.88,0.38 -1.76,0.76 -2.65,1.13 -2.7,-5.12 -5.4,-10.24 -8.15,-15.34 0.24,-0.12 0.48,-0.24 0.72,-0.37 l 0.5,-0.25 c 0.04,0.06 0.06,0.12 0.1,0.17 0.06,0.08 0.17,-0.01 0.15,-0.09 -0.01,-0.06 -0.04,-0.12 -0.06,-0.18 0.22,-0.11 0.49,-0.22 0.68,-0.39 0.06,-0.06 -0.01,-0.15 -0.08,-0.13 -0.23,0.05 -0.46,0.19 -0.68,0.3 -0.03,-0.07 -0.06,-0.14 -0.09,-0.21 -0.09,-0.19 -0.17,-0.38 -0.26,-0.57 0.1,-0.07 0.21,-0.13 0.3,-0.21 0.08,-0.07 -0.01,-0.23 -0.11,-0.19 -0.11,0.04 -0.2,0.1 -0.3,0.16 -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 0.04,-0.07 0.02,-0.18 -0.07,-0.17 0,0 0,0 0,0 -0.09,-0.19 -0.18,-0.38 -0.27,-0.57 0.33,-0.19 0.68,-0.37 1.03,-0.55 z m -1.99,2.45 c 0.04,0.03 0.09,0.05 0.14,0.02 0.07,-0.04 0.13,-0.08 0.2,-0.12 0,0 0,0.01 0,0.01 0.08,0.15 0.16,0.34 0.29,0.45 0.11,0.1 0.27,0 0.24,-0.14 -0.03,-0.17 -0.14,-0.34 -0.23,-0.49 0,0 0,-0.01 -0.01,-0.01 0.11,-0.06 0.21,-0.13 0.32,-0.19 0.08,-0.05 0.17,-0.1 0.26,-0.15 0.11,0.25 0.23,0.5 0.37,0.75 -0.16,0.08 -0.33,0.17 -0.49,0.25 -0.24,0.12 -0.47,0.24 -0.71,0.36 -0.12,-0.25 -0.25,-0.5 -0.38,-0.74 z m 1.11,-0.89 c -0.09,0.06 -0.19,0.12 -0.28,0.17 -0.1,0.06 -0.21,0.13 -0.31,0.19 -0.03,-0.06 -0.07,-0.13 -0.1,-0.19 l -0.03,-0.06 c 0.06,-0.02 0.11,-0.04 0.17,-0.06 0.12,-0.04 0.24,-0.08 0.36,-0.13 0.05,-0.02 0.1,-0.04 0.15,-0.06 0,0.06 0.02,0.1 0.04,0.14 z m -1,0.36 c 0.04,0.07 0.07,0.13 0.11,0.2 -0.07,0.04 -0.14,0.08 -0.21,0.13 -0.05,0.03 -0.06,0.08 -0.05,0.12 -0.09,-0.18 -0.19,-0.35 -0.28,-0.53 0.03,0.04 0.07,0.06 0.13,0.04 0.08,-0.03 0.16,-0.05 0.24,-0.08 0.01,0.03 0.04,0.07 0.06,0.12 z m 0.6,-1.23 c 0.08,0.17 0.15,0.33 0.23,0.5 -0.16,0.04 -0.32,0.1 -0.47,0.15 -0.08,0.03 -0.15,0.05 -0.23,0.08 l -0.18,-0.33 c 0.21,-0.14 0.43,-0.27 0.65,-0.4 z m -0.96,0.57 c 0.05,0.09 0.1,0.18 0.15,0.27 -0.06,0.02 -0.11,0.04 -0.17,0.06 -0.08,0.03 -0.11,0.1 -0.09,0.17 -0.05,-0.09 -0.09,-0.17 -0.14,-0.26 -0.01,-0.03 -0.03,-0.04 -0.05,-0.06 0.1,-0.06 0.2,-0.12 0.3,-0.18 z m -1.21,0.74 c 2.96,5.75 5.98,11.47 9,17.18 -7.5,3.18 -15,6.33 -22.53,9.44 -2.31,0.95 -4.62,1.9 -6.94,2.84 0.89,-3.89 2.25,-7.67 4.06,-11.22 2.73,-5.35 6.43,-10.19 10.95,-14.16 1.72,-1.49 3.55,-2.85 5.46,-4.08 z m 76.37,-9.58 c -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.07,-0.05 -0.14,-0.1 -0.21,-0.15 -0.1,-0.07 -0.2,-0.14 -0.3,-0.2 0.09,-0.04 0.17,-0.07 0.26,-0.11 0.1,0.15 0.2,0.32 0.29,0.49 z m -32.61,29.55 c -0.1,-0.07 -0.2,-0.13 -0.29,-0.2 0.18,-0.21 0.36,-0.41 0.53,-0.63 0.04,0.03 0.08,0.06 0.12,0.09 0.07,0.05 0.15,0.08 0.22,0.13 -0.15,0.23 -0.31,0.45 -0.45,0.68 0,0 0,0.01 -0.01,0.01 -0.05,-0.02 -0.08,-0.05 -0.12,-0.08 z m 3.31,-2.69 c -0.23,0.3 -0.45,0.6 -0.68,0.9 -0.08,-0.05 -0.15,-0.11 -0.23,-0.16 -0.09,-0.06 -0.2,-0.11 -0.29,-0.17 0.23,-0.27 0.47,-0.54 0.72,-0.8 0.15,0.08 0.31,0.16 0.48,0.23 z m -1.95,2.13 c -0.11,-0.05 -0.21,-0.12 -0.31,-0.17 0.04,-0.06 0.07,-0.11 0.11,-0.17 0.22,-0.32 0.46,-0.62 0.7,-0.92 0.09,0.06 0.19,0.11 0.28,0.17 0.08,0.06 0.17,0.12 0.25,0.18 -0.03,0.04 -0.05,0.07 -0.08,0.11 -0.23,0.31 -0.47,0.62 -0.7,0.92 -0.09,-0.04 -0.17,-0.08 -0.25,-0.12 z m -0.06,0.37 c -0.28,0.12 -0.55,0.23 -0.83,0.35 0.12,-0.2 0.26,-0.4 0.39,-0.6 0.11,0.06 0.21,0.13 0.32,0.19 0.04,0.02 0.08,0.03 0.12,0.06 z m -1.5,-1.32 c 0.22,-0.32 0.42,-0.65 0.62,-0.98 0.18,0.06 0.35,0.13 0.53,0.21 -0.25,0.35 -0.52,0.69 -0.79,1.02 -0.11,-0.09 -0.24,-0.17 -0.36,-0.25 z m 1.41,-0.66 c 0.07,0.03 0.14,0.06 0.21,0.1 0.05,0.03 0.1,0.06 0.16,0.09 -0.24,0.29 -0.47,0.58 -0.69,0.89 -0.05,0.07 -0.09,0.14 -0.14,0.21 -0.07,-0.04 -0.15,-0.08 -0.22,-0.12 -0.04,-0.02 -0.07,-0.05 -0.11,-0.08 0.28,-0.36 0.55,-0.72 0.79,-1.09 z m 0.62,-0.12 c -0.07,-0.04 -0.14,-0.09 -0.21,-0.12 -0.07,-0.03 -0.13,-0.06 -0.2,-0.09 0.15,-0.23 0.3,-0.47 0.44,-0.71 0.11,-0.05 0.22,-0.09 0.32,-0.14 0.12,0.09 0.24,0.17 0.37,0.25 -0.24,0.27 -0.49,0.54 -0.72,0.81 z m -0.66,-0.31 c -0.12,-0.05 -0.24,-0.11 -0.36,-0.16 0.22,-0.09 0.43,-0.18 0.65,-0.27 -0.11,0.14 -0.2,0.29 -0.29,0.43 z m -1.19,0.19 c -0.15,0.22 -0.31,0.44 -0.46,0.66 -0.11,-0.09 -0.22,-0.18 -0.33,-0.27 0.02,-0.03 0.05,-0.06 0.07,-0.09 0.24,-0.1 0.48,-0.2 0.72,-0.3 z m -0.97,0.63 c 0.11,0.1 0.22,0.19 0.33,0.29 -0.17,0.24 -0.32,0.48 -0.5,0.71 -0.13,-0.09 -0.27,-0.18 -0.4,-0.27 0.19,-0.25 0.38,-0.49 0.57,-0.73 z m -0.74,0.96 c 0.14,0.09 0.27,0.19 0.41,0.28 -0.03,0.05 -0.06,0.1 -0.1,0.14 -0.32,0.42 -0.65,0.83 -0.99,1.23 -0.16,-0.04 -0.33,-0.09 -0.49,-0.13 0.39,-0.51 0.78,-1.02 1.17,-1.52 z m 0.56,0.65 c 0.04,-0.06 0.08,-0.12 0.13,-0.17 0.07,0.05 0.15,0.1 0.22,0.16 0.01,0.01 0.03,0.02 0.04,0.03 -0.1,0.11 -0.19,0.22 -0.28,0.33 -0.25,0.27 -0.51,0.54 -0.76,0.82 -0.08,-0.02 -0.16,-0.04 -0.23,-0.06 0.3,-0.38 0.6,-0.74 0.88,-1.11 z m 0.53,-0.27 c -0.07,-0.05 -0.15,-0.1 -0.22,-0.15 0.17,-0.22 0.33,-0.45 0.49,-0.67 0.11,0.09 0.23,0.17 0.35,0.25 -0.17,0.21 -0.36,0.42 -0.54,0.62 -0.04,-0.02 -0.06,-0.03 -0.08,-0.05 z m 4.19,-2.57 c -0.01,0 -0.01,0 -0.02,-0.01 -0.2,-0.07 -0.39,-0.15 -0.58,-0.25 -0.03,-0.03 -0.07,-0.06 -0.11,-0.06 -0.1,-0.05 -0.18,-0.11 -0.27,-0.17 0.45,-0.19 0.9,-0.38 1.36,-0.57 0.03,0.02 0.06,0.03 0.09,0.05 0.07,0.04 0.14,0.08 0.21,0.12 -0.24,0.3 -0.46,0.6 -0.68,0.89 z m 0.91,-1.2 c -0.03,-0.01 -0.06,-0.03 -0.08,-0.04 0.06,-0.02 0.11,-0.05 0.17,-0.07 -0.03,0.03 -0.06,0.07 -0.09,0.11 z m -28.99,14.2 c -0.06,-0.1 -0.1,-0.2 -0.15,-0.3 0.21,-0.09 0.43,-0.18 0.65,-0.26 0.12,-0.04 0.23,-0.08 0.35,-0.12 0.01,0.02 0.02,0.04 0.03,0.06 0.04,0.12 0.1,0.23 0.16,0.34 -0.08,0.01 -0.17,0.03 -0.24,0.05 -0.11,0.03 -0.23,0.06 -0.34,0.1 -0.15,0.04 -0.31,0.08 -0.46,0.13 z m -2.3,-1.04 c 0.04,0.06 0.09,0.12 0.14,0.18 -0.11,0.05 -0.22,0.1 -0.33,0.14 -0.04,-0.07 -0.07,-0.13 -0.11,-0.2 0.11,-0.03 0.21,-0.08 0.3,-0.12 z m 1.07,0.91 c -0.16,-0.18 -0.29,-0.38 -0.44,-0.57 0.31,-0.13 0.62,-0.26 0.93,-0.39 0.01,0 0.02,-0.01 0.03,-0.01 0.03,0.21 0.08,0.42 0.15,0.62 -0.23,0.11 -0.45,0.22 -0.67,0.35 z m -0.69,0.47 c -0.13,-0.25 -0.27,-0.51 -0.4,-0.76 0.13,-0.05 0.25,-0.11 0.38,-0.16 0.15,0.21 0.3,0.43 0.47,0.62 -0.16,0.1 -0.31,0.2 -0.45,0.3 z m 1.64,-0.96 c -0.07,-0.2 -0.12,-0.4 -0.14,-0.61 0.2,-0.09 0.4,-0.17 0.6,-0.26 0.06,-0.03 0.13,-0.06 0.19,-0.09 0.1,0.19 0.2,0.38 0.31,0.57 -0.11,0.04 -0.21,0.07 -0.3,0.11 -0.22,0.08 -0.44,0.18 -0.66,0.28 z m 0.39,-1.45 c 0.03,0.06 0.06,0.12 0.09,0.18 -0.06,0.02 -0.11,0.05 -0.17,0.07 -0.16,0.07 -0.31,0.14 -0.47,0.2 0,-0.07 -0.01,-0.14 0,-0.21 0.19,-0.08 0.37,-0.16 0.55,-0.24 z m -0.83,0.36 c 0,0.07 0,0.14 0,0.22 -0.06,0.02 -0.11,0.05 -0.17,0.07 -0.33,0.15 -0.66,0.29 -0.99,0.44 -0.04,-0.06 -0.1,-0.11 -0.13,-0.18 0.42,-0.18 0.85,-0.36 1.29,-0.55 z m -0.56,1.99 c 0.02,0.02 0.04,0.04 0.06,0.06 l -0.3,0.09 c 0.08,-0.05 0.16,-0.1 0.24,-0.15 z m 0.27,-0.16 c 0.19,-0.11 0.38,-0.2 0.58,-0.3 0.04,0.09 0.08,0.18 0.13,0.26 l -0.57,0.16 c -0.05,-0.04 -0.09,-0.08 -0.14,-0.12 z m -18.13,8.16 c 0.11,0 0.14,-0.11 0.11,-0.19 0.18,0.02 0.37,0.03 0.55,0.05 0.45,-0.18 0.9,-0.33 1.35,-0.49 -1.19,0.48 -2.37,0.96 -3.56,1.44 0.01,-0.06 0.01,-0.11 0.02,-0.16 0.02,-0.12 0.05,-0.24 0.09,-0.36 0.01,0 0.02,0 0.03,0 0.29,0.01 0.68,0.08 0.96,-0.02 0.1,-0.04 0.16,-0.21 0.03,-0.26 -0.26,-0.11 -0.59,-0.09 -0.87,-0.09 0.03,-0.07 0.07,-0.15 0.1,-0.22 0.36,0.03 0.72,0.06 1.09,0.1 -0.05,0.07 -0.02,0.2 0.1,0.2 z m 4.43,3.62 c 0.11,0.45 0.17,0.96 0.41,1.37 0.04,0.07 0.13,0.02 0.11,-0.05 -0.07,-0.45 -0.27,-0.87 -0.35,-1.32 -0.08,-0.47 -0.11,-0.95 -0.12,-1.42 -0.02,-0.83 0.05,-1.64 0.21,-2.46 0.24,-0.1 0.47,-0.19 0.71,-0.29 -0.02,0.18 -0.03,0.36 -0.03,0.54 0,0.19 0.02,0.38 0.04,0.57 0.03,0.18 0.05,0.38 0.14,0.54 0.07,0.12 0.24,0.06 0.25,-0.07 0.01,-0.17 -0.04,-0.35 -0.05,-0.52 -0.02,-0.17 -0.03,-0.35 -0.03,-0.53 0,-0.23 0.03,-0.46 0.05,-0.69 0.52,-0.21 1.04,-0.42 1.56,-0.63 -0.06,0.28 -0.14,0.57 -0.17,0.86 -0.02,0.24 -0.03,0.47 -0.02,0.71 0.01,0.24 0.06,0.48 0.1,0.71 0.02,0.09 0.17,0.07 0.16,-0.02 -0.01,-0.23 0.02,-0.46 0.02,-0.69 0,-0.23 0.01,-0.46 0.03,-0.69 0.03,-0.34 0.09,-0.67 0.17,-0.99 0.45,-0.18 0.91,-0.36 1.36,-0.55 -0.05,0.33 -0.08,0.66 -0.07,0.99 0.01,0.22 0.03,0.43 0.06,0.64 0.02,0.11 0.04,0.21 0.07,0.31 0.03,0.1 0.05,0.21 0.12,0.29 0.05,0.06 0.17,0.03 0.18,-0.05 0.02,-0.09 -0.01,-0.18 -0.02,-0.28 -0.02,-0.1 -0.02,-0.2 -0.04,-0.3 -0.04,-0.21 -0.06,-0.41 -0.07,-0.62 -0.02,-0.37 -0.01,-0.74 0.04,-1.11 0.46,-0.18 0.91,-0.37 1.37,-0.55 -0.01,0.01 -0.02,0.01 -0.02,0.03 -0.15,0.89 -0.2,1.88 0.12,2.74 0.03,0.07 0.15,0.07 0.14,-0.02 -0.03,-0.44 -0.09,-0.87 -0.1,-1.31 -0.01,-0.45 0.02,-0.89 0.09,-1.33 0.01,-0.08 -0.04,-0.13 -0.1,-0.15 0.43,-0.17 0.86,-0.34 1.28,-0.51 0.02,0.14 0.05,0.29 0.07,0.43 0.02,0.16 0.05,0.31 0.08,0.47 -0.06,0.01 -0.12,0.02 -0.18,0.04 -0.11,0.03 -0.19,0.09 -0.25,0.15 -0.15,0.03 -0.29,0.13 -0.34,0.34 -0.23,0.89 -0.27,1.84 -0.32,2.76 -0.02,0.03 -0.02,0.04 0,0.07 -0.05,0.96 -0.08,1.92 -0.11,2.88 -0.05,1.86 -0.05,3.73 -0.01,5.59 0.04,1.86 0.08,3.72 0.18,5.58 0.01,0.24 0.04,0.47 0.05,0.71 -0.34,-0.9 -0.63,-1.81 -0.87,-2.74 -0.04,-0.15 -0.27,-0.09 -0.23,0.06 0.29,1.26 0.7,2.49 1.18,3.69 0.03,0.39 0.05,0.77 0.08,1.16 0.04,0.48 0.07,0.96 0.11,1.45 -0.59,-1 -1.12,-2.05 -1.54,-3.13 -0.05,-0.12 -0.24,-0.07 -0.19,0.05 0.44,1.22 0.98,2.41 1.6,3.55 0.08,0.14 0.17,0.28 0.26,0.42 0.03,0.19 0.04,0.38 0.08,0.56 0.07,0.34 0.32,0.52 0.61,0.57 0.03,0.04 0.05,0.08 0.07,0.12 0.19,0.28 0.38,0.55 0.58,0.81 0.06,0.09 0.13,0.19 0.2,0.28 -0.35,0.15 -0.69,0.29 -1.04,0.44 -0.03,-0.03 -0.05,-0.05 -0.08,-0.08 -0.25,-0.28 -0.5,-0.56 -0.73,-0.85 -0.5,-0.63 -0.96,-1.3 -1.36,-2 -0.79,-1.37 -1.4,-2.86 -1.76,-4.4 -0.04,-0.19 -0.33,-0.11 -0.29,0.08 0.37,1.6 0.94,3.12 1.75,4.55 0.4,0.69 0.84,1.35 1.33,1.98 0.24,0.31 0.49,0.6 0.75,0.89 -0.31,0.13 -0.62,0.26 -0.93,0.39 -0.25,-0.29 -0.5,-0.58 -0.74,-0.88 -0.5,-0.62 -0.98,-1.27 -1.42,-1.94 -0.86,-1.32 -1.61,-2.72 -2.2,-4.18 -0.06,-0.15 -0.3,-0.09 -0.24,0.07 0.65,1.65 1.45,3.22 2.41,4.7 0.48,0.74 1,1.45 1.56,2.13 0.07,0.09 0.15,0.18 0.22,0.28 -0.15,0.06 -0.3,0.13 -0.45,0.19 -0.09,-0.13 -0.21,-0.25 -0.31,-0.37 -0.14,-0.16 -0.27,-0.32 -0.41,-0.49 -0.26,-0.32 -0.51,-0.65 -0.76,-0.98 -0.48,-0.66 -0.93,-1.34 -1.35,-2.04 -0.07,-0.12 -0.26,-0.01 -0.19,0.11 0.43,0.73 0.89,1.43 1.39,2.12 0.24,0.33 0.49,0.65 0.74,0.96 0.21,0.26 0.43,0.55 0.67,0.78 -0.35,0.15 -0.69,0.29 -1.04,0.44 -0.36,-0.38 -0.74,-0.75 -1.08,-1.14 -0.43,-0.49 -0.83,-1 -1.2,-1.53 -0.74,-1.04 -1.38,-2.15 -1.91,-3.31 -0.07,-0.15 -0.29,-0.02 -0.22,0.13 0.54,1.19 1.19,2.32 1.95,3.39 0.36,0.51 0.75,1 1.16,1.48 0.33,0.38 0.67,0.75 1.04,1.1 -0.39,0.17 -0.79,0.33 -1.18,0.5 -0.12,-0.09 -0.24,-0.18 -0.35,-0.27 -0.26,-0.22 -0.5,-0.45 -0.73,-0.7 -0.45,-0.52 -0.83,-1.1 -1.12,-1.72 -0.05,-0.1 -0.2,-0.01 -0.15,0.09 0.3,0.63 0.68,1.21 1.13,1.73 0.23,0.26 0.47,0.51 0.73,0.74 0.09,0.08 0.18,0.15 0.27,0.22 -0.35,0.15 -0.69,0.29 -1.04,0.44 -0.18,-0.17 -0.37,-0.32 -0.54,-0.49 -0.3,-0.28 -0.59,-0.57 -0.86,-0.87 -0.54,-0.59 -1.04,-1.23 -1.48,-1.9 -0.88,-1.37 -1.54,-2.87 -1.96,-4.44 -0.04,-0.15 -0.26,-0.08 -0.23,0.06 0.4,1.6 1.06,3.13 1.95,4.52 0.43,0.68 0.91,1.32 1.44,1.93 0.28,0.32 0.57,0.63 0.87,0.92 0.14,0.14 0.29,0.29 0.44,0.43 -0.39,0.16 -0.77,0.33 -1.16,0.49 -0.15,-0.14 -0.3,-0.27 -0.44,-0.4 -0.24,-0.24 -0.48,-0.48 -0.71,-0.73 -0.47,-0.53 -0.91,-1.1 -1.3,-1.69 -0.76,-1.17 -1.36,-2.44 -1.75,-3.77 -0.04,-0.12 -0.22,-0.07 -0.18,0.05 0.39,1.36 0.97,2.66 1.73,3.85 0.37,0.58 0.79,1.14 1.23,1.66 0.23,0.27 0.47,0.53 0.72,0.78 0.12,0.12 0.25,0.26 0.38,0.39 -0.31,0.13 -0.62,0.27 -0.94,0.4 -0.21,-0.11 -0.42,-0.22 -0.61,-0.39 -0.26,-0.24 -0.5,-0.51 -0.73,-0.77 -0.52,-0.6 -1.02,-1.22 -1.48,-1.87 -0.91,-1.27 -1.73,-2.6 -2.41,-4.01 -0.06,-0.12 -0.24,-0.01 -0.18,0.11 0.69,1.5 1.5,2.95 2.47,4.29 0.46,0.64 0.96,1.27 1.48,1.87 0.27,0.32 0.62,0.71 1.01,0.97 -0.31,0.13 -0.61,0.26 -0.92,0.39 -0.47,-0.42 -0.95,-0.84 -1.39,-1.3 -0.55,-0.56 -1.06,-1.17 -1.52,-1.81 -0.93,-1.27 -1.77,-2.65 -2.36,-4.11 -0.03,-0.06 -0.13,-0.04 -0.11,0.03 0.57,1.52 1.27,2.96 2.22,4.28 0.8,1.1 1.73,2.19 2.79,3.07 -0.33,0.14 -0.67,0.28 -1,0.43 -0.16,-0.16 -0.33,-0.31 -0.49,-0.47 -0.27,-0.26 -0.52,-0.53 -0.77,-0.81 -0.52,-0.58 -1.01,-1.18 -1.47,-1.81 -0.89,-1.24 -1.65,-2.6 -2.23,-4.01 -0.05,-0.11 -0.24,-0.07 -0.19,0.05 0.57,1.45 1.28,2.82 2.15,4.11 0.43,0.63 0.89,1.24 1.39,1.82 0.25,0.29 0.52,0.58 0.79,0.86 0.13,0.13 0.26,0.29 0.41,0.43 -0.24,0.1 -0.49,0.21 -0.73,0.31 -0.17,-0.18 -0.35,-0.35 -0.51,-0.53 -0.26,-0.27 -0.51,-0.56 -0.76,-0.84 -0.51,-0.6 -0.98,-1.23 -1.4,-1.89 -0.41,-0.64 -0.78,-1.3 -1.11,-1.97 -0.35,-0.71 -0.7,-1.43 -0.95,-2.18 -0.02,-0.05 -0.09,-0.03 -0.07,0.02 0.23,0.73 0.45,1.46 0.77,2.16 0.33,0.73 0.71,1.43 1.13,2.11 0.41,0.65 0.85,1.28 1.33,1.89 0.24,0.31 0.5,0.61 0.76,0.9 0.15,0.16 0.3,0.33 0.46,0.49 -0.14,0.06 -0.28,0.12 -0.42,0.18 -1.53,-1.84 -2.93,-3.81 -4.16,-5.87 0.12,-1.77 -0.23,-3.56 -0.94,-5.18 -0.72,-1.63 -1.88,-3.01 -3.32,-4.01 -0.28,-0.82 -0.55,-1.65 -0.78,-2.49 -0.24,-0.87 -0.45,-1.76 -0.57,-2.65 -0.12,-0.88 -0.04,-1.71 0.05,-2.58 0.17,-0.07 0.34,-0.14 0.52,-0.21 -0.01,0.12 -0.02,0.24 -0.03,0.34 -0.03,0.31 -0.04,0.62 -0.02,0.92 0.02,0.29 0.05,0.59 0.1,0.88 0.05,0.28 0.1,0.61 0.25,0.86 0.06,0.09 0.19,0.05 0.2,-0.05 0.02,-0.28 -0.07,-0.59 -0.09,-0.88 -0.02,-0.28 -0.04,-0.55 -0.04,-0.83 0,-0.28 0,-0.56 0.01,-0.83 0.01,-0.14 0.02,-0.28 0.03,-0.42 0.01,-0.06 0.01,-0.1 0.01,-0.15 1.14,-0.46 2.28,-0.92 3.43,-1.37 -0.11,0.4 -0.14,0.85 -0.16,1.24 -0.03,0.53 -0.04,1.07 0.01,1.6 0.05,0.5 0.19,0.98 0.29,1.47 0.1,0.48 0.12,1.05 0.38,1.48 0.03,0.06 0.14,0.04 0.13,-0.04 -0.03,-0.47 -0.25,-0.93 -0.35,-1.39 -0.11,-0.51 -0.08,-1.04 -0.1,-1.56 -0.02,-0.49 -0.03,-0.97 -0.01,-1.46 0.01,-0.25 0.03,-0.5 0.06,-0.75 0.02,-0.23 0.07,-0.47 0.07,-0.71 0.46,-0.18 0.92,-0.37 1.37,-0.55 -0.16,0.38 -0.26,0.77 -0.29,1.19 -0.03,0.5 0.05,1.05 0.31,1.48 0.05,0.08 0.2,0.05 0.19,-0.05 -0.03,-0.24 -0.06,-0.47 -0.08,-0.71 -0.03,-0.23 -0.03,-0.47 -0.03,-0.7 0.01,-0.46 0.09,-0.91 0.24,-1.35 0.61,-0.25 1.23,-0.49 1.84,-0.74 -0.06,0.32 -0.12,0.65 -0.13,0.98 -0.01,0.2 0.01,0.39 0.03,0.59 0.01,0.09 0.02,0.19 0.03,0.28 0.01,0.1 0.05,0.2 0.09,0.3 0.04,0.12 0.22,0.1 0.22,-0.03 0,-0.09 0.01,-0.18 0.01,-0.27 0,-0.09 -0.01,-0.18 -0.01,-0.27 -0.01,-0.19 0,-0.38 0,-0.57 0.01,-0.37 0.04,-0.74 0.11,-1.1 0,-0.01 -0.01,-0.02 -0.01,-0.03 0.5,-0.2 1.01,-0.4 1.51,-0.61 -0.03,0.03 -0.05,0.06 -0.06,0.11 l -0.11,1.17 c -0.02,0.19 -0.04,0.37 -0.05,0.56 0,0.1 0,0.2 0,0.3 0,0.1 -0.01,0.2 0.03,0.3 0.03,0.1 0.19,0.14 0.24,0.03 0.08,-0.17 0.09,-0.4 0.11,-0.58 0.02,-0.19 0.03,-0.39 0.04,-0.58 0.02,-0.4 0.04,-0.79 0.06,-1.19 0.01,-0.11 -0.07,-0.16 -0.15,-0.16 0.52,-0.21 1.04,-0.42 1.57,-0.63 -0.02,0.21 -0.04,0.41 -0.06,0.62 -0.02,0.2 -0.04,0.4 -0.05,0.61 -0.01,0.1 0,0.21 0,0.31 0,0.1 -0.01,0.2 0.01,0.3 0.02,0.1 0.18,0.13 0.22,0.03 0.04,-0.09 0.05,-0.19 0.07,-0.29 0.02,-0.1 0.04,-0.21 0.05,-0.31 0.02,-0.21 0.04,-0.42 0.06,-0.63 0.02,-0.26 0.04,-0.52 0.06,-0.79 0.58,-0.23 1.15,-0.46 1.73,-0.69 -0.03,0.34 -0.06,0.68 -0.09,1.03 -0.02,0.21 -0.03,0.43 -0.04,0.65 -0.01,0.22 -0.02,0.46 0.02,0.67 0.02,0.11 0.18,0.09 0.21,0 0.07,-0.21 0.09,-0.45 0.11,-0.67 0.02,-0.22 0.04,-0.43 0.05,-0.65 0.02,-0.39 0.04,-0.77 0.06,-1.16 0.46,-0.18 0.92,-0.37 1.38,-0.55 -0.17,0.78 -0.25,1.59 -0.19,2.37 0.07,0.44 0.15,0.9 0.26,1.36 z m 7.82,21.59 c -0.1,-0.04 -0.2,-0.08 -0.3,-0.13 -0.09,-0.04 -0.19,-0.03 -0.24,0.06 -0.04,0.07 -0.02,0.2 0.06,0.24 0.09,0.04 0.17,0.07 0.26,0.11 -0.12,0.16 -0.23,0.31 -0.35,0.47 -0.02,0 -0.04,-0.01 -0.06,0 -0.01,0 -0.03,0.01 -0.04,0.01 0,0 -0.01,0 -0.02,0 -0.05,0.01 -0.11,0.01 -0.16,0 -0.01,0 -0.03,0 -0.04,0 -0.03,0 0,0 -0.01,0 -0.03,0 -0.05,-0.01 -0.08,-0.02 -0.03,-0.01 -0.05,-0.01 -0.08,-0.02 -0.01,0 -0.02,-0.01 -0.03,-0.01 0,0 -0.02,-0.01 -0.02,-0.01 -0.1,-0.05 -0.18,-0.1 -0.25,-0.17 -0.03,-0.03 -0.05,-0.06 -0.07,-0.09 0.14,-0.19 0.28,-0.37 0.42,-0.56 0.53,-0.23 1.07,-0.45 1.6,-0.68 -0.2,0.28 -0.39,0.54 -0.59,0.8 z m -4.52,6.08 c -0.08,-0.02 -0.16,-0.03 -0.24,-0.04 -0.13,-0.03 -0.26,-0.06 -0.38,-0.09 -0.23,-0.07 -0.45,-0.16 -0.66,-0.26 0.28,-0.3 0.54,-0.6 0.81,-0.91 0.1,0.05 0.2,0.11 0.3,0.15 0.27,0.11 0.56,0.23 0.85,0.25 -0.23,0.29 -0.46,0.59 -0.68,0.9 z m -3.01,0.84 c -0.12,-0.07 -0.24,-0.14 -0.36,-0.21 0.23,-0.28 0.45,-0.56 0.68,-0.84 0.08,0.05 0.16,0.1 0.23,0.16 0.09,0.06 0.18,0.12 0.27,0.18 -0.24,0.26 -0.47,0.52 -0.71,0.78 -0.03,-0.03 -0.07,-0.05 -0.11,-0.07 z m 4.95,-6.37 c -0.34,0.31 -0.67,0.63 -1,0.94 -0.16,-0.11 -0.32,-0.21 -0.48,-0.32 0.49,-0.2 0.99,-0.41 1.48,-0.62 z m 1.16,-0.49 c -0.05,0.06 -0.1,0.12 -0.15,0.18 -0.03,-0.03 -0.07,-0.05 -0.12,-0.03 -0.07,0.02 -0.12,0.1 -0.09,0.16 0.01,0.03 0.03,0.05 0.04,0.07 -0.18,0.23 -0.37,0.45 -0.56,0.68 -0.01,-0.02 -0.04,-0.03 -0.05,-0.05 -0.09,-0.15 -0.32,-0.02 -0.23,0.14 0.03,0.05 0.08,0.08 0.11,0.12 -0.16,0.19 -0.32,0.39 -0.48,0.58 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.12,-0.08 -0.24,-0.16 -0.36,-0.24 0.36,-0.35 0.72,-0.71 1.1,-1.05 0.07,-0.07 0.04,-0.15 -0.02,-0.2 0.28,-0.11 0.55,-0.23 0.83,-0.35 z M 263,368.01 C 262.99,368 262.98,368 262.97,368 c -0.18,-0.1 -0.33,-0.23 -0.49,-0.36 0.23,-0.24 0.45,-0.48 0.68,-0.72 0.1,0.08 0.2,0.15 0.29,0.23 0.05,0.04 0.1,0.08 0.16,0.12 -0.2,0.24 -0.39,0.49 -0.59,0.72 C 263.01,368 263,368 263,368.01 Z m -3.01,2.01 c -0.13,-0.09 -0.27,-0.18 -0.4,-0.26 0.12,-0.13 0.23,-0.27 0.35,-0.4 0.1,0.12 0.22,0.22 0.33,0.32 -0.09,0.11 -0.18,0.21 -0.27,0.32 0,0.01 0,0.01 -0.01,0.02 z m -0.88,-0.58 c 0.4,-0.51 0.79,-1.02 1.19,-1.53 0.08,0.09 0.18,0.16 0.26,0.24 -0.38,0.5 -0.76,0.99 -1.12,1.51 -0.1,-0.08 -0.21,-0.15 -0.33,-0.22 z m 1,-0.26 c 0,0 0,0 0,0 0.22,-0.27 0.45,-0.54 0.68,-0.82 0.12,0.1 0.23,0.19 0.36,0.28 -0.24,0.28 -0.48,0.56 -0.71,0.85 -0.11,-0.1 -0.23,-0.2 -0.33,-0.31 z m 0.83,-1 c 0.16,-0.2 0.33,-0.4 0.49,-0.6 0.09,-0.11 0.18,-0.23 0.28,-0.34 0.11,0.14 0.22,0.28 0.35,0.41 -0.18,0.19 -0.37,0.38 -0.55,0.57 -0.07,0.08 -0.13,0.16 -0.2,0.24 -0.13,-0.09 -0.25,-0.19 -0.37,-0.28 z m 1.96,-2.36 c 0.19,0.13 0.37,0.25 0.56,0.38 -0.12,0.11 -0.24,0.22 -0.36,0.34 -0.18,-0.14 -0.35,-0.27 -0.53,-0.41 0.07,-0.08 0.13,-0.17 0.19,-0.26 0.05,-0.01 0.1,-0.03 0.14,-0.05 z m -0.49,0.53 c 0.17,0.13 0.34,0.26 0.5,0.39 -0.23,0.23 -0.45,0.47 -0.67,0.7 -0.14,-0.13 -0.26,-0.27 -0.37,-0.42 0.18,-0.22 0.36,-0.45 0.54,-0.67 z m -0.65,2.05 c 0.17,-0.19 0.36,-0.37 0.53,-0.56 0.16,0.14 0.33,0.28 0.51,0.39 -0.22,0.25 -0.44,0.49 -0.66,0.73 -0.09,-0.05 -0.19,-0.08 -0.29,-0.14 -0.1,-0.06 -0.19,-0.13 -0.29,-0.2 0.07,-0.07 0.13,-0.14 0.2,-0.22 z m 1.86,-1.46 c -0.09,-0.07 -0.18,-0.14 -0.27,-0.21 0.12,-0.12 0.25,-0.23 0.37,-0.35 0.13,0.09 0.27,0.18 0.4,0.27 0,0 0,0 0.01,0 -0.11,0.14 -0.22,0.28 -0.34,0.41 -0.06,-0.04 -0.12,-0.08 -0.17,-0.12 z m -1.52,-0.78 c -0.33,0.41 -0.65,0.84 -0.98,1.25 -0.14,0.18 -0.27,0.37 -0.41,0.56 -0.09,-0.08 -0.18,-0.15 -0.26,-0.24 0.34,-0.43 0.67,-0.86 1.01,-1.29 0.21,-0.1 0.42,-0.19 0.64,-0.28 z m -3.15,3.49 c 0.12,0.08 0.24,0.16 0.36,0.24 0,0.05 0.05,0.09 0.1,0.06 0.14,0.09 0.28,0.19 0.42,0.28 -0.23,0.29 -0.45,0.58 -0.67,0.87 -0.28,-0.17 -0.57,-0.33 -0.85,-0.5 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 0.25,-0.3 0.49,-0.62 0.74,-0.94 z m 1.49,0.66 c -0.07,-0.05 -0.15,-0.1 -0.22,-0.15 0.01,-0.01 0.02,-0.03 0.04,-0.04 0.07,-0.09 0.15,-0.17 0.22,-0.25 0.16,0.14 0.34,0.25 0.52,0.36 -0.09,0.09 -0.17,0.19 -0.26,0.28 -0.1,-0.07 -0.2,-0.13 -0.3,-0.2 z m 0.19,-0.63 c 0.25,-0.29 0.51,-0.58 0.76,-0.87 0.11,0.07 0.21,0.16 0.33,0.23 0.08,0.04 0.16,0.07 0.24,0.12 -0.27,0.29 -0.53,0.59 -0.8,0.89 -0.18,-0.12 -0.36,-0.23 -0.53,-0.37 z m 2.89,-0.15 c -0.01,-0.01 0,-0.03 -0.02,-0.04 -0.26,-0.12 -0.55,-0.17 -0.81,-0.27 -0.09,-0.03 -0.18,-0.09 -0.27,-0.13 0.22,-0.25 0.44,-0.49 0.66,-0.74 0.17,0.08 0.34,0.18 0.52,0.24 0.13,0.04 0.27,0.09 0.41,0.11 0.03,0.01 0.08,0.01 0.12,0.02 -0.21,0.27 -0.41,0.54 -0.61,0.81 z m 0.79,-1.06 c -0.07,-0.01 -0.14,-0.03 -0.21,-0.04 -0.13,-0.03 -0.26,-0.06 -0.39,-0.1 -0.15,-0.05 -0.29,-0.13 -0.44,-0.19 0.19,-0.22 0.37,-0.46 0.56,-0.68 0.05,0.04 0.11,0.08 0.16,0.13 0.09,0.07 0.18,0.14 0.26,0.2 0.09,0.07 0.18,0.15 0.3,0.17 0.07,0.01 0.13,-0.08 0.11,-0.14 -0.04,-0.11 -0.13,-0.17 -0.22,-0.23 -0.09,-0.07 -0.17,-0.13 -0.26,-0.2 -0.06,-0.04 -0.11,-0.09 -0.17,-0.13 0.12,-0.14 0.23,-0.28 0.35,-0.43 0.12,0.08 0.24,0.16 0.35,0.24 0.11,0.07 0.21,0.14 0.32,0.22 0.04,0.02 0.08,0.05 0.11,0.08 -0.27,0.35 -0.55,0.72 -0.83,1.1 z m 1,-1.35 c -0.03,-0.02 -0.06,-0.06 -0.1,-0.08 -0.11,-0.07 -0.21,-0.14 -0.32,-0.21 -0.12,-0.08 -0.24,-0.16 -0.36,-0.24 0.14,-0.18 0.29,-0.35 0.43,-0.52 0.13,0.1 0.28,0.18 0.44,0.22 0.15,0.04 0.31,0.05 0.47,0.03 0.01,0 0.02,-0.01 0.03,-0.01 -0.19,0.28 -0.39,0.54 -0.59,0.81 z m 0.86,-1.16 c -0.05,0.01 -0.09,0.02 -0.14,0.03 -0.07,0.02 -0.13,0.03 -0.19,0.03 -0.11,0.01 -0.24,0.01 -0.35,-0.02 -0.13,-0.03 -0.24,-0.08 -0.35,-0.16 0.17,-0.22 0.33,-0.45 0.5,-0.67 0.1,0.12 0.21,0.22 0.35,0.28 0.13,0.06 0.26,0.1 0.4,0.11 0.03,0 0.05,0 0.08,0 -0.1,0.15 -0.2,0.27 -0.3,0.4 z m 2.14,-4.52 c -0.18,-0.24 -0.36,-0.49 -0.54,-0.73 0.12,-0.05 0.24,-0.11 0.32,-0.21 0.08,0.01 0.16,0.03 0.24,0.04 0.12,0.39 0.36,0.76 0.6,1.11 -0.11,0.05 -0.22,0.1 -0.34,0.14 -0.09,-0.12 -0.19,-0.23 -0.28,-0.35 z m -23.52,11.69 c -0.09,-0.05 -0.19,-0.09 -0.27,-0.14 -0.16,-0.09 -0.31,-0.18 -0.45,-0.28 -0.3,-0.21 -0.57,-0.47 -0.81,-0.74 -0.28,-0.32 -0.5,-0.68 -0.68,-1.06 0.35,-0.12 0.7,-0.25 1.03,-0.4 0.09,-0.04 0.17,-0.09 0.26,-0.13 0.22,0.43 0.48,0.84 0.8,1.2 0.23,0.26 0.5,0.5 0.78,0.72 0.14,0.11 0.28,0.21 0.43,0.3 0.03,0.02 0.06,0.03 0.09,0.05 -0.39,0.16 -0.78,0.32 -1.18,0.48 z m 1.7,-0.69 c -0.05,0.02 -0.11,0.04 -0.17,0.07 -0.08,-0.05 -0.16,-0.11 -0.24,-0.16 -0.14,-0.09 -0.28,-0.18 -0.42,-0.29 -0.27,-0.2 -0.51,-0.43 -0.74,-0.67 -0.32,-0.34 -0.58,-0.73 -0.81,-1.14 0.42,-0.22 0.82,-0.45 1.2,-0.72 0.24,0.51 0.54,0.98 0.93,1.39 0.23,0.24 0.49,0.46 0.77,0.66 0.14,0.1 0.28,0.19 0.43,0.28 0.04,0.02 0.1,0.06 0.16,0.09 -0.37,0.17 -0.74,0.34 -1.11,0.49 z m 1.43,-0.63 c -0.09,-0.07 -0.21,-0.12 -0.3,-0.17 -0.14,-0.08 -0.27,-0.16 -0.4,-0.25 -0.28,-0.19 -0.54,-0.4 -0.78,-0.64 -0.4,-0.39 -0.73,-0.84 -1,-1.33 0.36,-0.26 0.7,-0.55 1.01,-0.86 0.44,1.19 1.27,2.2 2.36,2.85 -0.29,0.14 -0.59,0.27 -0.89,0.4 z m 1.74,-0.76 c -0.05,-0.02 -0.11,-0.02 -0.15,0.04 0,0.01 0,0.02 -0.01,0.02 -0.08,0.03 -0.15,0.07 -0.23,0.1 -1.17,-0.62 -2.12,-1.62 -2.59,-2.86 0.29,-0.3 0.56,-0.61 0.81,-0.94 0.34,0.57 0.71,1.12 1.11,1.65 0.39,0.52 0.81,1.07 1.31,1.48 0.13,0.1 0.28,-0.05 0.18,-0.18 -0.2,-0.25 -0.43,-0.48 -0.64,-0.73 -0.21,-0.24 -0.42,-0.49 -0.62,-0.74 -0.41,-0.51 -0.78,-1.05 -1.13,-1.61 -0.02,-0.03 -0.05,-0.05 -0.08,-0.06 0.16,-0.22 0.3,-0.44 0.44,-0.66 0.11,0.18 0.22,0.36 0.33,0.54 0.69,1.12 1.6,2.52 2.78,3.25 -0.41,0.19 -0.81,0.38 -1.22,0.57 -0.1,0.05 -0.2,0.09 -0.29,0.13 z m -0.82,-6.1 c 0.07,-0.19 0.12,-0.38 0.17,-0.57 0.13,0.21 0.26,0.43 0.39,0.63 0.93,1.45 1.96,2.83 3.02,4.19 -1.35,-0.34 -2.28,-2 -2.97,-3.04 -0.23,-0.35 -0.45,-0.71 -0.67,-1.07 0.02,-0.05 0.04,-0.09 0.06,-0.14 z m -5.76,-12.9 c -0.25,-0.91 -0.48,-1.82 -0.67,-2.73 -0.19,-0.93 -0.31,-1.88 -0.28,-2.84 0.01,-0.45 0.09,-0.86 0.2,-1.26 0.07,-0.02 0.14,-0.05 0.21,-0.07 0.13,-0.04 0.23,-0.11 0.31,-0.19 0.03,0.04 0.07,0.09 0.1,0.13 -0.58,1.52 -0.36,3.43 -0.02,4.97 0.16,0.73 0.36,1.45 0.58,2.16 -0.15,-0.06 -0.29,-0.11 -0.43,-0.17 z M 235.92,346 c -0.82,0.33 -1.62,0.68 -2.43,1.03 -0.01,-0.11 -0.02,-0.22 -0.04,-0.32 3.31,-1.46 6.62,-2.94 9.93,-4.4 1.25,0.12 2.49,0.24 3.74,0.35 -1.29,0.52 -2.57,1.04 -3.86,1.56 -0.08,0.03 -0.16,0.06 -0.23,0.09 -0.02,-0.19 -0.11,-0.37 -0.24,-0.49 0,0 0,0 0,0 0.19,-0.49 -0.58,-0.94 -0.9,-0.52 -0.15,0.2 -0.28,0.41 -0.4,0.62 -1.87,0.66 -3.73,1.34 -5.57,2.08 z m -5.74,3.23 c 0.02,0.06 0.05,0.12 0.09,0.16 -0.05,0.02 -0.09,0.04 -0.14,0.05 0.02,-0.06 0.04,-0.13 0.05,-0.21 z m 0.03,-0.33 c -0.02,0.02 -0.02,0.05 -0.02,0.08 -0.06,-0.28 -0.48,-0.32 -0.67,-0.1 -0.12,0.14 -0.21,0.3 -0.3,0.47 -0.03,-0.25 -0.07,-0.5 -0.1,-0.75 0.73,-0.32 1.47,-0.64 2.2,-0.96 0.01,0.11 0.03,0.21 0.04,0.32 -0.47,0.25 -0.9,0.54 -1.15,0.94 z m 23.06,-9.69 c -0.22,0 -0.43,-0.01 -0.65,-0.01 -0.16,0 -0.31,-0.01 -0.47,-0.01 0.04,-0.11 0.07,-0.22 0.12,-0.32 0.38,0.03 0.76,0.07 1.14,0.1 -0.04,0.08 -0.1,0.16 -0.14,0.24 z m -1.36,1.52 c 0,-0.01 0,-0.02 0,-0.02 0,-0.06 0,-0.12 0,-0.18 0,0 0,0 0,0 0.14,0.01 0.28,0.02 0.41,0.03 -0.13,0.06 -0.27,0.11 -0.41,0.17 z m -4.57,0.15 c 0.02,-0.11 0.04,-0.22 0.06,-0.32 0.21,-0.09 0.43,-0.18 0.64,-0.28 0.09,0.01 0.18,0.01 0.27,0.02 l -0.06,0.16 c -0.06,0.16 -0.12,0.33 -0.18,0.49 -0.06,0.16 -0.17,0.37 -0.09,0.54 0.01,0.03 0.04,0.05 0.07,0.07 -0.28,-0.03 -0.56,-0.05 -0.84,-0.08 0.01,-0.05 0.02,-0.11 0.03,-0.16 0.04,-0.15 0.07,-0.3 0.1,-0.44 z m 1.78,0.77 c -0.32,-0.03 -0.64,-0.06 -0.96,-0.09 0.02,-0.01 0.04,0 0.06,-0.02 0.04,-0.04 0.08,-0.06 0.11,-0.11 0.02,-0.04 0.03,-0.08 0.05,-0.12 0.03,-0.08 0.06,-0.17 0.09,-0.26 0.05,-0.17 0.11,-0.33 0.16,-0.5 0.03,-0.08 0.05,-0.16 0.08,-0.24 0.17,0.01 0.34,0.02 0.51,0.03 -0.02,0.11 -0.05,0.22 -0.07,0.33 -0.03,0.17 -0.05,0.35 -0.06,0.52 -0.01,0.17 -0.03,0.33 0.03,0.46 z m 0.41,0.04 c -0.04,0 -0.08,-0.01 -0.12,-0.01 0.08,-0.12 0.08,-0.29 0.09,-0.43 0.02,-0.17 0.04,-0.34 0.06,-0.51 0.02,-0.12 0.05,-0.23 0.07,-0.35 0.17,0.01 0.35,0.02 0.52,0.03 0.15,0.01 0.3,0.02 0.46,0.03 -0.01,0.08 -0.03,0.16 -0.04,0.24 -0.01,0.15 -0.02,0.3 -0.02,0.45 0,0.05 0,0.09 0,0.13 -0.34,0.14 -0.68,0.28 -1.02,0.42 z m 1.44,-2.69 c -0.02,0.05 -0.03,0.1 -0.05,0.16 -0.1,0 -0.2,0 -0.29,-0.01 0.11,-0.05 0.23,-0.1 0.34,-0.15 z m -1.12,0.49 c 0.21,-0.09 0.42,-0.18 0.62,-0.27 -0.06,0.09 -0.02,0.24 0.12,0.25 0.07,0 0.15,0.01 0.22,0.01 -0.03,0.11 -0.08,0.21 -0.11,0.32 -0.02,0.09 -0.03,0.18 -0.04,0.28 -0.17,-0.01 -0.34,-0.02 -0.52,-0.03 -0.15,-0.01 -0.3,-0.02 -0.45,-0.02 0.02,-0.07 0.02,-0.14 0.04,-0.21 0.05,-0.12 0.09,-0.22 0.12,-0.33 z m 1.21,0.6 c 0.01,-0.06 0.01,-0.13 0.03,-0.19 0.03,-0.14 0.08,-0.27 0.13,-0.41 0.14,0.01 0.28,0.01 0.42,0.02 -0.05,0.2 -0.08,0.41 -0.1,0.61 -0.16,-0.01 -0.32,-0.02 -0.48,-0.03 z m -0.1,0.68 c 0.01,-0.1 0.03,-0.2 0.04,-0.3 0.17,0.01 0.34,0.02 0.51,0.03 0,0.06 -0.01,0.12 0,0.18 0.01,0.06 0.02,0.13 0.03,0.19 -0.2,0.08 -0.4,0.16 -0.6,0.24 0.01,-0.11 0.01,-0.22 0.02,-0.34 z m 2.06,-0.57 c -0.35,-0.03 -0.71,-0.03 -1.05,-0.05 -0.01,0 -0.02,0 -0.03,0 0.02,-0.2 0.04,-0.39 0.08,-0.59 0,-0.01 0.01,-0.02 0.01,-0.03 0.18,0.01 0.37,0.02 0.55,0.02 0.19,0.01 0.39,0.02 0.58,0.02 -0.05,0.17 -0.12,0.34 -0.14,0.52 0,0.03 0,0.07 0,0.11 z m -1.27,-1.02 c -0.15,0 -0.29,-0.01 -0.44,-0.01 0.05,-0.13 0.11,-0.25 0.16,-0.37 0.14,0.01 0.27,0.02 0.41,0.04 -0.04,0.11 -0.09,0.22 -0.13,0.34 z m -2.39,0.52 c -0.03,0.1 -0.04,0.2 -0.06,0.29 -0.16,-0.01 -0.32,-0.02 -0.47,-0.02 0,-0.01 0.01,-0.03 0.01,-0.04 0.17,-0.08 0.35,-0.15 0.52,-0.23 0,0 0,0 0,0 z m -2.33,1.01 c -0.01,0.03 -0.01,0.05 -0.02,0.08 -0.03,0.14 -0.06,0.28 -0.08,0.41 -0.01,0.07 -0.03,0.14 -0.04,0.21 0,0.01 0,0.02 0,0.03 -0.42,-0.04 -0.84,-0.08 -1.26,-0.12 0.47,-0.2 0.93,-0.4 1.4,-0.61 z m -17.18,10.22 c 0.01,0 0.01,0 0,0 0.01,-0.04 0.02,-0.08 0.02,-0.11 0,0 0,0 0,0 0.01,-0.05 0.01,-0.11 0.02,-0.16 0.02,-0.13 0.08,-0.26 0.13,-0.37 0.03,-0.06 0.07,-0.12 0.1,-0.17 0.03,-0.04 0.06,-0.08 0.09,-0.12 0,0 0,0 0,0.01 0,0.01 0,0.04 0,0.02 0,0.02 0,0.03 0,0.05 0,0.07 0,0.14 0.02,0.21 0.02,0.07 0.13,0.1 0.17,0.02 0.03,-0.06 0.05,-0.12 0.07,-0.18 0.02,-0.06 0.06,-0.1 0.08,-0.17 0.01,-0.03 0.02,-0.06 0.03,-0.09 0,-0.01 0.01,-0.02 0.01,-0.03 0,0 0.01,-0.03 0.01,-0.03 0.02,-0.06 0.05,-0.11 0.08,-0.17 0.03,-0.07 0.07,-0.13 0.11,-0.19 0.07,-0.02 0.15,-0.03 0.22,-0.03 0.01,0 0.03,0 0.04,0 0.07,0 0.15,0.02 0.22,0.03 0.12,-0.03 0.25,-0.07 0.37,-0.11 -0.04,0.11 -0.07,0.21 -0.1,0.32 -0.03,0.12 -0.09,0.25 -0.07,0.38 0.02,0.08 0.12,0.1 0.18,0.05 0.05,-0.05 0.07,-0.11 0.09,-0.18 0.02,-0.06 0.04,-0.12 0.06,-0.18 0.04,-0.11 0.08,-0.22 0.11,-0.34 0.02,-0.06 0.03,-0.11 0.05,-0.17 0.37,-0.14 0.74,-0.32 1.08,-0.47 -0.01,0.05 -0.02,0.11 -0.03,0.16 -0.03,0.14 -0.06,0.28 -0.09,0.42 -0.01,0.07 -0.02,0.14 -0.03,0.21 -0.01,0.08 -0.03,0.16 0,0.23 0.02,0.06 0.1,0.09 0.15,0.04 0.05,-0.06 0.06,-0.13 0.09,-0.2 0.02,-0.07 0.04,-0.14 0.06,-0.22 0.03,-0.14 0.06,-0.28 0.08,-0.42 l 0.07,-0.36 c 0.01,0 0.01,-0.01 0.02,-0.01 0.41,-0.17 0.82,-0.33 1.22,-0.5 -0.14,0.25 -0.25,0.52 -0.31,0.8 -0.03,0.14 -0.06,0.28 -0.07,0.42 -0.01,0.08 0,0.15 0.01,0.22 0.01,0.07 0.01,0.14 0.05,0.21 0.03,0.06 0.11,0.03 0.13,-0.02 0.02,-0.06 0.02,-0.13 0.03,-0.19 0.01,-0.07 0.02,-0.13 0.03,-0.2 0.01,-0.13 0.03,-0.26 0.06,-0.39 0.06,-0.26 0.15,-0.51 0.28,-0.74 0.04,-0.08 -0.01,-0.14 -0.08,-0.16 0.56,-0.23 1.12,-0.46 1.68,-0.68 0.06,-0.02 0.12,-0.05 0.19,-0.07 -0.01,0.1 -0.03,0.2 -0.04,0.3 -0.02,0.18 -0.04,0.36 -0.05,0.54 0,0.08 0,0.16 0.01,0.23 0.02,0.08 0.01,0.18 0.02,0.27 0.01,0.09 0.12,0.11 0.15,0.02 0.03,-0.08 0.04,-0.18 0.08,-0.26 0.03,-0.07 0.05,-0.14 0.06,-0.22 0.03,-0.18 0.05,-0.36 0.07,-0.54 0.01,-0.16 0.03,-0.32 0.04,-0.47 0.49,-0.19 0.98,-0.38 1.47,-0.56 -0.05,0.38 -0.11,0.76 -0.15,1.13 -0.06,0.49 -0.13,0.99 -0.1,1.48 0.01,0.09 0.13,0.11 0.15,0.02 0.15,-0.46 0.19,-0.96 0.25,-1.44 0.05,-0.43 0.09,-0.87 0.14,-1.3 0.52,-0.19 1.04,-0.38 1.55,-0.57 -0.06,0.33 -0.13,0.66 -0.19,1 -0.08,0.41 -0.16,0.84 -0.15,1.26 0,0.08 0.12,0.13 0.16,0.04 0.17,-0.39 0.24,-0.8 0.31,-1.22 0.07,-0.4 0.14,-0.8 0.21,-1.2 0.13,-0.05 0.26,-0.09 0.39,-0.13 -0.13,0.97 -0.07,1.99 0.06,2.9 0.14,1.02 0.38,2.03 0.64,3.03 -0.25,-0.06 -0.51,-0.11 -0.76,-0.15 0.01,-0.01 0.03,-0.02 0.03,-0.03 -0.05,-0.54 -0.24,-1.07 -0.38,-1.6 -0.04,-0.14 -0.25,-0.08 -0.21,0.06 0.14,0.52 0.25,1.07 0.48,1.57 -0.21,-0.03 -0.43,-0.05 -0.65,-0.06 -0.04,-0.14 -0.08,-0.29 -0.11,-0.43 -0.1,-0.45 -0.16,-0.91 -0.18,-1.38 -0.01,-0.13 -0.2,-0.13 -0.2,0 0,0.47 0.04,0.95 0.14,1.42 0.03,0.13 0.06,0.25 0.1,0.37 -0.48,-0.02 -0.96,0 -1.44,0.04 -0.01,-0.05 -0.03,-0.1 -0.04,-0.15 -0.07,-0.27 -0.07,-0.56 -0.04,-0.84 0,-0.04 -0.06,-0.04 -0.07,0 -0.03,0.29 -0.03,0.58 -0.01,0.87 0,0.04 0.01,0.09 0.02,0.13 -0.5,0.05 -1,0.14 -1.48,0.26 -0.01,-0.6 -0.08,-1.2 -0.15,-1.79 -0.02,-0.14 -0.24,-0.15 -0.22,0 0.06,0.61 0.12,1.23 0.25,1.83 -0.51,0.13 -1.02,0.29 -1.5,0.5 -0.09,0.04 -0.17,0.08 -0.25,0.12 0,-0.01 0,-0.02 0,-0.03 0,-0.03 0,-0.05 0,-0.08 0,-0.06 -0.01,-0.11 -0.02,-0.17 -0.01,-0.11 -0.02,-0.22 -0.04,-0.33 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 l 0.03,0.33 c 0.01,0.06 0.01,0.11 0.02,0.17 0.01,0.06 0.02,0.15 0.06,0.2 0,0 0.01,0 0.01,0.01 -0.41,0.2 -0.81,0.43 -1.17,0.71 -0.53,0.4 -0.92,0.91 -1.37,1.39 -0.29,0.31 -0.55,0.65 -0.79,1 -0.12,0.16 -0.21,0.34 -0.32,0.51 -0.01,-0.07 -0.03,-0.13 -0.04,-0.2 -0.08,-0.42 -0.16,-0.84 -0.24,-1.25 -0.03,-0.14 -0.23,-0.08 -0.21,0.06 0.08,0.42 0.16,0.84 0.24,1.25 0.03,0.13 0.05,0.27 0.08,0.4 -0.13,0.21 -0.29,0.42 -0.41,0.64 -0.17,-0.62 -0.33,-1.25 -0.47,-1.87 -0.21,-1 -0.36,-2.02 -0.33,-3.05 0,-0.38 0.05,-0.74 0.11,-1.11 z m 1.09,8.73 c 0.22,-1.1 0.63,-2.15 1.24,-3.1 0.26,-0.41 0.57,-0.79 0.91,-1.14 0.4,-0.41 0.93,-0.67 1.41,-0.96 3.72,-2.26 8.98,-1.77 11.57,1.97 1.27,1.84 1.85,4.16 1.53,6.38 -0.32,2.19 -1.52,4.08 -3.29,5.39 -1.78,1.31 -3.95,1.97 -6.16,1.75 -2.2,-0.22 -4.22,-1.48 -5.62,-3.16 -0.28,-0.33 -0.53,-0.69 -0.76,-1.06 -0.83,-1.93 -1.26,-3.95 -0.83,-6.07 z m 7.54,14.4 c -0.6,-0.51 -1.1,-1.14 -1.52,-1.79 -0.26,-0.4 -0.51,-0.82 -0.74,-1.24 0.36,0.12 0.72,0.21 1.08,0.28 0.22,0.87 0.73,1.63 1.32,2.31 0.33,0.38 0.69,0.71 1.09,1.01 0.14,0.1 0.29,0.2 0.44,0.3 -0.6,-0.22 -1.15,-0.43 -1.67,-0.87 z m 2.36,0.48 c -0.08,-0.17 -0.37,-0.05 -0.3,0.13 0.03,0.07 0.07,0.13 0.1,0.2 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.24,-0.13 -0.48,-0.27 -0.7,-0.43 -0.39,-0.29 -0.74,-0.63 -1.06,-0.99 -0.52,-0.6 -0.87,-1.34 -1.17,-2.08 0.27,0.04 0.54,0.07 0.81,0.08 0.26,0.65 0.59,1.29 1.06,1.8 0.27,0.3 0.58,0.57 0.9,0.82 0.24,0.19 0.49,0.36 0.74,0.53 -0.08,0.04 -0.16,0.08 -0.24,0.11 -0.04,-0.07 -0.07,-0.13 -0.1,-0.19 z m 0.66,-0.07 c -0.02,-0.03 -0.03,-0.07 -0.05,-0.1 -0.04,-0.05 -0.13,-0.04 -0.13,0.03 0,0.02 0.01,0.04 0.01,0.07 -0.28,-0.14 -0.56,-0.29 -0.8,-0.48 -0.3,-0.24 -0.58,-0.52 -0.82,-0.82 -0.43,-0.52 -0.78,-1.08 -1.05,-1.69 0.42,0.02 0.84,0.02 1.26,-0.02 -0.01,0.02 -0.04,0.02 -0.03,0.05 0.14,0.67 0.45,1.3 0.91,1.81 0.22,0.25 0.48,0.47 0.75,0.67 0.14,0.1 0.28,0.19 0.43,0.28 0,0 0,0 0,0 -0.15,0.06 -0.32,0.13 -0.48,0.2 z m 0.65,-0.28 c -0.03,-0.02 -0.07,-0.03 -0.1,-0.05 -0.14,-0.08 -0.27,-0.16 -0.4,-0.25 -0.27,-0.19 -0.51,-0.43 -0.72,-0.69 -0.42,-0.51 -0.73,-1.1 -0.89,-1.74 0,-0.02 -0.02,-0.01 -0.03,-0.02 0.41,-0.04 0.81,-0.1 1.21,-0.18 0,0.01 -0.02,0.02 -0.01,0.04 0.09,0.13 0.19,0.26 0.28,0.38 0.05,0.06 0.09,0.13 0.14,0.19 0.05,0.06 0.09,0.13 0.15,0.19 0.04,0.04 0.09,-0.01 0.07,-0.05 -0.04,-0.07 -0.08,-0.14 -0.13,-0.2 -0.04,-0.06 -0.09,-0.12 -0.13,-0.18 -0.09,-0.13 -0.18,-0.25 -0.27,-0.38 0.33,-0.07 0.65,-0.16 0.97,-0.25 0.19,0.42 0.42,0.83 0.72,1.18 0.25,0.3 0.54,0.56 0.85,0.79 0.16,0.12 0.32,0.22 0.49,0.32 0.01,0 0.02,0.01 0.03,0.02 -0.74,0.28 -1.49,0.57 -2.23,0.88 z m 4.9,-0.41 c 1.13,-0.47 2.26,-0.96 3.38,-1.46 0.56,-0.25 1.12,-0.51 1.67,-0.76 0.57,-0.27 1.21,-0.5 1.74,-0.85 0.03,-0.02 0.05,-0.05 0.08,-0.08 0.23,-0.15 0.32,-0.37 0.31,-0.61 0.13,-0.17 0.19,-0.38 0.16,-0.59 1.44,-0.61 2.88,-1.22 4.31,-1.83 -2.98,3.89 -5.94,7.79 -8.95,11.67 -0.05,0.06 -0.07,0.13 -0.1,0.2 -0.88,-0.74 -1.75,-1.49 -2.57,-2.29 -0.43,-0.49 -0.84,-0.99 -1.26,-1.47 -0.3,-0.34 -0.58,-0.69 -0.87,-1.04 0.7,-0.3 1.4,-0.6 2.1,-0.89 z m 3.72,6.4 c 0.24,-0.31 0.49,-0.62 0.73,-0.94 0,0 0,0 0,0 0.21,0.27 0.43,0.54 0.65,0.82 0.21,0.27 0.41,0.56 0.66,0.8 0.05,0.05 0.13,-0.01 0.09,-0.07 -0.18,-0.3 -0.42,-0.56 -0.63,-0.83 l -0.65,-0.83 c -0.01,-0.01 -0.02,0 -0.03,0 1.61,-2.09 3.22,-4.17 4.85,-6.25 0.4,0.24 0.8,0.48 1.2,0.72 0.23,0.14 0.47,0.28 0.7,0.42 0.11,0.06 0.22,0.13 0.33,0.19 0.12,0.07 0.23,0.15 0.36,0.18 0.1,0.02 0.17,-0.09 0.1,-0.17 -0.09,-0.1 -0.22,-0.16 -0.34,-0.23 -0.11,-0.07 -0.22,-0.13 -0.33,-0.2 -0.23,-0.14 -0.47,-0.27 -0.71,-0.41 -0.4,-0.23 -0.79,-0.46 -1.19,-0.69 0.23,-0.29 0.45,-0.58 0.67,-0.87 0.43,0.27 0.85,0.53 1.28,0.8 0.22,0.14 0.44,0.28 0.66,0.41 0.1,0.06 0.21,0.13 0.31,0.19 0.11,0.07 0.22,0.16 0.35,0.18 0.08,0.02 0.19,-0.08 0.13,-0.17 -0.14,-0.18 -0.41,-0.3 -0.6,-0.42 -0.23,-0.14 -0.46,-0.28 -0.68,-0.43 -0.42,-0.26 -0.85,-0.53 -1.27,-0.79 0.24,-0.31 0.48,-0.61 0.71,-0.92 -0.01,0.05 0,0.09 0.05,0.12 0.28,0.16 0.55,0.33 0.83,0.49 -0.12,0.16 -0.24,0.33 -0.34,0.5 -0.05,0.08 0.06,0.17 0.13,0.1 0.14,-0.16 0.27,-0.32 0.4,-0.49 0.13,0.08 0.26,0.16 0.39,0.23 l 0.06,0.04 c -0.17,0.19 -0.34,0.37 -0.51,0.56 -0.07,0.07 0.03,0.17 0.11,0.11 0.2,-0.18 0.38,-0.38 0.58,-0.57 l 0.46,0.27 c 0.23,0.13 0.45,0.27 0.7,0.36 0,0 0.01,0 0.01,0 -0.06,0.13 -0.12,0.25 -0.18,0.38 -0.02,0.05 0.04,0.09 0.07,0.04 0.24,-0.42 0.46,-0.85 0.67,-1.29 0.04,-0.08 -0.08,-0.15 -0.12,-0.07 -0.13,0.26 -0.25,0.52 -0.37,0.77 -0.2,-0.17 -0.42,-0.3 -0.65,-0.43 -0.13,-0.08 -0.27,-0.16 -0.4,-0.24 0.25,-0.24 0.5,-0.48 0.75,-0.74 0.32,0.22 0.64,0.44 0.98,0.62 0.12,0.06 0.27,-0.1 0.15,-0.2 -0.29,-0.23 -0.6,-0.44 -0.91,-0.64 0.09,-0.09 0.19,-0.18 0.28,-0.27 0.24,0.12 0.49,0.23 0.75,0.3 0.13,0.04 0.27,0.07 0.41,0.1 0.04,0.01 0.09,0.02 0.14,0.03 -0.76,1.01 -1.53,2.03 -2.29,3.04 -1.05,1.4 -2.08,2.82 -3.15,4.2 -0.55,0.71 -1.07,1.48 -1.7,2.12 -0.65,0.66 -1.15,1.37 -1.63,2.17 -0.03,0.06 -0.04,0.11 -0.06,0.17 -0.17,-0.12 -0.35,-0.23 -0.53,-0.35 -0.86,-0.6 -1.7,-1.25 -2.52,-1.9 0.02,0.04 0.06,0.03 0.09,-0.02 z m 23.03,-48.4 c -0.09,-0.08 -0.19,-0.16 -0.28,-0.24 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 0.14,-0.04 0.28,-0.07 0.42,-0.11 0.02,0 0.04,-0.01 0.05,-0.01 0.05,0.08 0.11,0.17 0.18,0.26 -0.1,0.03 -0.21,0.08 -0.33,0.13 z m 0.65,-0.27 c -0.02,-0.03 -0.05,-0.06 -0.07,-0.09 -0.03,-0.04 -0.06,-0.09 -0.09,-0.13 0.12,-0.03 0.24,-0.06 0.35,-0.09 0.12,-0.03 0.25,-0.06 0.37,-0.1 0.1,-0.03 0.2,-0.07 0.29,-0.12 0.03,0.04 0.05,0.1 0.08,0.14 -0.31,0.13 -0.62,0.26 -0.93,0.39 z m 21.09,-9.49 c 0.16,0.04 0.32,0.09 0.48,0.13 -0.16,0.19 -0.33,0.38 -0.49,0.57 -0.26,0.11 -0.51,0.21 -0.77,0.32 0.26,-0.34 0.52,-0.68 0.78,-1.02 z m 0.84,0.23 c 0.04,0.01 0.09,0.02 0.13,0.04 0.01,0 0.02,0.01 0.03,0.01 -0.04,0.02 -0.08,0.03 -0.12,0.05 -0.07,0.03 -0.13,0.05 -0.2,0.08 0.06,-0.06 0.11,-0.12 0.16,-0.18 z m 1.01,-0.31 c 0.16,-0.16 0.31,-0.32 0.46,-0.48 0.11,-0.12 0.21,-0.25 0.32,-0.38 0.1,0.07 0.21,0.15 0.31,0.22 0.05,0.03 0.1,0.06 0.14,0.09 -0.01,0.01 -0.01,0.02 -0.02,0.04 -0.4,0.16 -0.81,0.34 -1.21,0.51 z m 23.6,-10.06 c -0.48,-0.65 -0.97,-1.29 -1.49,-1.92 0.25,-0.1 0.5,-0.2 0.74,-0.31 0.23,0.32 0.46,0.64 0.69,0.96 0.21,0.29 0.42,0.57 0.63,0.86 0.03,0.04 0.06,0.08 0.09,0.12 -0.22,0.1 -0.44,0.19 -0.66,0.29 z m 0.94,-0.4 c -0.05,-0.07 -0.1,-0.14 -0.15,-0.2 -0.2,-0.28 -0.41,-0.55 -0.61,-0.83 -0.22,-0.3 -0.44,-0.59 -0.66,-0.89 0.25,-0.1 0.51,-0.21 0.76,-0.31 0.27,0.33 0.53,0.67 0.8,1.01 0.16,0.2 0.32,0.4 0.48,0.6 0.07,0.09 0.14,0.18 0.22,0.28 -0.3,0.1 -0.57,0.22 -0.84,0.34 z m 1.09,-0.47 c 0,0 -0.01,-0.01 -0.01,-0.01 -0.08,-0.11 -0.17,-0.21 -0.25,-0.31 -0.17,-0.21 -0.33,-0.41 -0.5,-0.62 -0.25,-0.31 -0.5,-0.62 -0.75,-0.93 0.26,-0.1 0.51,-0.21 0.77,-0.32 0.49,0.62 0.96,1.25 1.42,1.89 -0.23,0.1 -0.45,0.2 -0.68,0.3 z m 16.63,-11.35 c 0.04,0.17 0.09,0.34 0.16,0.51 -0.29,0.19 -0.52,0.52 -0.69,0.8 -0.09,0.15 -0.16,0.31 -0.23,0.48 -0.09,-0.47 -0.19,-0.94 -0.32,-1.41 0.37,-0.11 0.73,-0.24 1.08,-0.38 z m 1.75,-1.21 c 0.02,0.1 0.04,0.2 0.06,0.3 0.06,0.24 0.13,0.48 0.21,0.72 0.11,0.33 0.22,0.67 0.33,1 -0.02,0.01 -0.05,0.03 -0.07,0.04 -0.07,0.03 -0.14,0.04 -0.21,0.06 -0.05,0 -0.09,0.01 -0.14,0.01 -0.04,0 -0.07,0 -0.11,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 0,0 0,0 0,0 -0.07,-0.01 -0.14,0 -0.21,0.02 -0.02,-0.02 -0.04,-0.05 -0.05,-0.07 0.06,0.08 -0.02,-0.03 -0.03,-0.05 -0.14,-0.2 -0.27,-0.41 -0.38,-0.63 -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 0,0.01 -0.04,-0.11 -0.05,-0.12 -0.02,-0.06 -0.05,-0.11 -0.07,-0.17 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.05 -0.04,-0.1 -0.06,-0.14 -0.05,-0.13 -0.08,-0.26 -0.14,-0.38 0.07,-0.01 0.13,-0.04 0.19,-0.07 0.04,-0.02 0.09,-0.04 0.13,-0.06 0.03,-0.02 0.07,-0.04 0.1,-0.06 0.12,-0.07 0.24,-0.13 0.37,-0.19 0.1,-0.03 0.18,-0.05 0.26,-0.07 z m -5.68,-7.54 c 0.23,-0.08 0.45,-0.17 0.68,-0.25 0.06,0.09 0.12,0.18 0.17,0.28 0.07,0.11 0.13,0.21 0.2,0.32 0.04,0.05 0.08,0.11 0.12,0.16 0.04,0.05 0.07,0.11 0.13,0.13 0.06,0.02 0.12,0 0.13,-0.07 0,-0.06 -0.03,-0.12 -0.06,-0.18 -0.03,-0.06 -0.06,-0.12 -0.09,-0.17 -0.06,-0.11 -0.13,-0.21 -0.2,-0.32 -0.05,-0.08 -0.1,-0.16 -0.15,-0.24 0.19,-0.07 0.38,-0.14 0.57,-0.21 0.51,-0.2 1.01,-0.41 1.51,-0.62 0.32,-0.13 0.64,-0.26 0.96,-0.41 0.02,0.04 0.05,0.07 0.07,0.11 0.06,0.09 0.12,0.19 0.18,0.28 0.07,0.11 0.14,0.22 0.24,0.29 0.02,0.02 0.05,0.03 0.08,0.04 0.12,0.19 0.24,0.38 0.36,0.58 0.39,0.66 0.74,1.35 1.06,2.05 0.32,0.7 0.6,1.41 0.84,2.14 0.22,0.67 0.37,1.36 0.56,2.04 l -0.37,0.16 c -0.02,-0.2 -0.04,-0.4 -0.08,-0.6 -0.09,-0.52 -0.22,-1.04 -0.4,-1.53 -0.35,-0.97 -0.88,-1.84 -1.54,-2.62 -0.08,-0.09 -0.2,0.04 -0.13,0.13 0.63,0.79 1.09,1.7 1.42,2.65 0.15,0.45 0.27,0.9 0.34,1.37 0.04,0.24 0.06,0.49 0.08,0.74 l -0.45,0.19 c -0.01,0 -0.02,-0.02 -0.03,-0.02 -0.01,-0.06 -0.02,-0.13 -0.03,-0.18 -0.05,-0.33 -0.12,-0.65 -0.21,-0.97 -0.17,-0.64 -0.43,-1.25 -0.71,-1.85 -0.06,-0.13 -0.26,-0.02 -0.2,0.12 0.27,0.59 0.45,1.22 0.6,1.85 0.07,0.31 0.14,0.62 0.18,0.94 0,0.03 0,0.06 0.01,0.08 -0.12,0.02 -0.23,0.04 -0.34,0.07 -0.2,0.05 -0.39,0.13 -0.57,0.22 -0.02,0.01 -0.04,0.03 -0.06,0.04 0,-0.04 0.01,-0.08 0.01,-0.11 0.01,-0.35 -0.02,-0.7 -0.09,-1.04 -0.13,-0.7 -0.41,-1.36 -0.82,-1.94 -0.1,-0.14 -0.33,-0.01 -0.23,0.14 0.38,0.55 0.64,1.16 0.76,1.81 0.06,0.33 0.09,0.66 0.08,1 0,0.12 -0.02,0.25 -0.04,0.37 -0.03,0.02 -0.06,0.04 -0.09,0.06 -0.09,0.08 -0.18,0.21 -0.24,0.34 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.03,0.01 -0.07,0.03 -0.1,0.05 -0.02,-0.06 -0.04,-0.13 -0.05,-0.19 -0.08,-0.31 -0.18,-0.61 -0.3,-0.92 -0.22,-0.6 -0.51,-1.18 -0.81,-1.74 -0.07,-0.13 -0.27,-0.01 -0.2,0.12 0.3,0.56 0.53,1.14 0.73,1.74 0.1,0.29 0.19,0.59 0.27,0.89 0.02,0.07 0.04,0.16 0.05,0.24 -0.19,0.08 -0.37,0.16 -0.56,0.25 -0.1,-0.73 -0.25,-1.45 -0.51,-2.15 -0.35,-0.93 -0.84,-1.74 -1.44,-2.52 -0.08,-0.1 -0.26,-0.01 -0.18,0.11 0.51,0.78 0.94,1.64 1.28,2.51 0.27,0.7 0.48,1.44 0.62,2.18 -0.14,0.07 -0.29,0.15 -0.43,0.22 -0.09,-0.28 -0.18,-0.56 -0.27,-0.84 -0.45,-1.37 -1.01,-2.72 -1.65,-4.01 -0.49,-1 -1.05,-1.96 -1.65,-2.9 0.02,0 0.04,-0.01 0.07,-0.01 0.07,0.06 0.14,0.12 0.21,0.18 0.11,0.1 0.22,0.19 0.33,0.29 0.12,0.1 0.22,0.19 0.37,0.25 0.08,0.03 0.14,-0.07 0.11,-0.14 -0.08,-0.14 -0.19,-0.22 -0.31,-0.32 -0.11,-0.09 -0.22,-0.18 -0.33,-0.27 -0.03,-0.02 -0.06,-0.04 -0.08,-0.07 0.22,-0.09 0.44,-0.18 0.65,-0.25 z m -4.89,-2.13 c 0.14,-0.05 0.28,-0.11 0.41,-0.16 0.09,-0.03 0.18,-0.07 0.27,-0.1 0.18,0.34 0.43,0.66 0.61,0.94 0.35,0.54 0.73,1.07 1.07,1.62 0.73,1.18 1.39,2.4 1.97,3.66 0.57,1.23 1.04,2.5 1.44,3.79 0.39,1.27 0.63,2.56 0.94,3.84 -0.08,0.04 -0.17,0.08 -0.25,0.12 l -0.31,0.16 c -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.14,-1.18 -0.51,-2.39 -0.86,-3.52 -0.4,-1.29 -0.87,-2.56 -1.43,-3.79 -0.55,-1.2 -1.17,-2.37 -1.87,-3.49 -0.59,-0.94 -1.24,-1.92 -2.08,-2.65 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.09,-0.08 -0.17,-0.16 -0.26,-0.23 0.17,-0.04 0.31,-0.1 0.45,-0.15 z m -0.71,0.48 c 0,-0.01 0,-0.02 0,-0.03 0.02,0.05 0.04,0.1 0.06,0.15 -0.01,0 -0.02,0.01 -0.03,0.01 -0.01,-0.04 -0.03,-0.08 -0.03,-0.13 z m -95.65,27.9 c 2.99,-5.86 7.04,-11.16 11.99,-15.5 5.43,-4.77 11.94,-8.33 18.86,-10.42 5.51,-1.66 11.26,-2.38 17.01,-2.19 5.75,0.18 11.46,1.28 16.87,3.22 4.04,1.45 7.9,3.41 11.47,5.8 -0.18,0.08 -0.36,0.16 -0.54,0.24 -0.17,-0.25 -0.38,-0.49 -0.59,-0.69 -0.26,-0.25 -0.54,-0.49 -0.84,-0.7 -0.6,-0.41 -1.28,-0.72 -1.97,-0.93 -0.12,-0.04 -0.16,0.14 -0.05,0.18 0.68,0.23 1.29,0.57 1.85,1.01 0.27,0.21 0.53,0.43 0.77,0.68 0.18,0.19 0.35,0.39 0.52,0.59 -0.3,0.13 -0.6,0.27 -0.89,0.4 -2.25,-2.24 -5.19,-3.86 -8.19,-4.82 -0.91,-0.29 -1.83,-0.54 -2.78,-0.7 -0.15,-0.02 -0.22,0.21 -0.07,0.24 1.64,0.32 3.23,0.76 4.76,1.43 1.49,0.66 2.89,1.51 4.19,2.49 0.62,0.47 1.19,0.98 1.76,1.5 -0.17,0.07 -0.34,0.15 -0.51,0.22 -0.22,-0.18 -0.46,-0.34 -0.68,-0.49 -0.44,-0.32 -0.9,-0.62 -1.38,-0.89 -0.92,-0.53 -1.89,-0.98 -2.9,-1.33 -0.16,-0.06 -0.23,0.2 -0.07,0.25 1,0.35 1.96,0.8 2.86,1.33 0.44,0.26 0.86,0.53 1.27,0.83 0.19,0.14 0.38,0.29 0.57,0.43 -0.07,0.03 -0.14,0.06 -0.22,0.09 -0.68,-0.42 -1.36,-0.85 -2.06,-1.23 -4.77,-2.63 -9.98,-4.47 -15.33,-5.46 -5.37,-1 -10.86,-1.15 -16.28,-0.44 -6.03,0.79 -11.89,2.73 -17.22,5.67 -5.76,3.18 -10.81,7.54 -14.81,12.76 -3.73,4.87 -6.57,10.41 -8.32,16.29 -0.42,1.42 -0.76,2.86 -1.05,4.31 -0.24,0.1 -0.49,0.2 -0.73,0.3 0.04,-0.3 0.09,-0.6 0.14,-0.9 0.16,-0.85 0.36,-1.68 0.57,-2.52 0.43,-1.69 1.13,-3.3 1.88,-4.86 0.06,-0.12 -0.11,-0.22 -0.17,-0.1 -0.85,1.55 -1.47,3.2 -2.02,4.88 -0.28,0.84 -0.49,1.72 -0.66,2.59 -0.07,0.37 -0.13,0.74 -0.19,1.11 -0.27,0.11 -0.55,0.22 -0.82,0.33 0.09,-0.66 0.18,-1.32 0.3,-1.98 0.18,-0.96 0.39,-1.91 0.63,-2.85 0.25,-0.94 0.52,-1.87 0.84,-2.79 0.31,-0.92 0.61,-1.84 0.97,-2.74 0.02,-0.06 -0.08,-0.1 -0.11,-0.04 -0.32,0.68 -0.65,1.36 -0.91,2.07 -0.26,0.71 -0.51,1.43 -0.73,2.16 -0.45,1.47 -0.81,2.96 -1.08,4.47 -0.11,0.62 -0.22,1.24 -0.29,1.87 -0.24,0.1 -0.47,0.19 -0.71,0.29 0.89,-5.39 2.62,-10.62 5.09,-15.46 z m -22.21,25.43 c 0.15,-0.04 0.29,-0.09 0.43,-0.15 0.14,-0.05 0.27,-0.1 0.41,-0.16 0.02,-0.01 0.04,-0.02 0.06,-0.02 0.03,0.09 0.06,0.17 0.09,0.26 0.07,0.18 0.13,0.36 0.2,0.54 l 0.1,0.28 c 0.01,0.02 0.02,0.05 0.03,0.07 -0.12,0.05 -0.24,0.1 -0.36,0.15 -0.18,0.08 -0.37,0.14 -0.54,0.24 -0.02,0.01 -0.04,0.03 -0.06,0.04 -0.05,-0.12 -0.12,-0.24 -0.18,-0.36 l -0.24,-0.45 c -0.07,-0.14 -0.15,-0.27 -0.24,-0.4 0.09,-0.01 0.2,-0.01 0.3,-0.04 z m -0.55,5.97 c -0.35,-0.73 -0.64,-1.51 -0.8,-2.31 -0.07,-0.36 -0.1,-0.73 -0.1,-1.09 0,-0.19 0.01,-0.37 0.02,-0.56 0,-0.01 0,-0.01 0,-0.02 0.26,-0.1 0.52,-0.22 0.76,-0.32 0.05,0.12 0.11,0.23 0.2,0.3 0.16,0.13 0.35,0.18 0.55,0.11 0.01,0.01 0.02,0.03 0.04,0.04 0.11,0.06 0.22,0.09 0.35,0.09 0.11,-0.01 0.23,-0.04 0.34,-0.07 0.15,-0.04 0.3,-0.1 0.45,-0.15 0.31,-0.12 0.61,-0.23 0.92,-0.35 0.14,-0.05 0.25,-0.12 0.32,-0.25 0.07,-0.11 0.09,-0.28 0.05,-0.41 -0.01,-0.04 -0.03,-0.07 -0.05,-0.1 0,-0.02 0.02,-0.04 0.02,-0.06 -0.01,-0.12 -0.04,-0.23 -0.08,-0.35 0.18,-0.07 0.35,-0.13 0.53,-0.2 0.44,-0.16 0.93,-0.28 1.38,-0.45 0.26,0.94 0.55,1.87 0.91,2.77 0.51,1.29 1.13,2.6 1.85,3.84 -0.08,0.05 -0.16,0.1 -0.25,0.16 -0.02,-0.04 -0.04,-0.08 -0.05,-0.11 -0.05,-0.1 -0.1,-0.2 -0.15,-0.3 -0.11,-0.23 -0.22,-0.46 -0.34,-0.68 -0.22,-0.44 -0.45,-0.89 -0.67,-1.33 -0.07,-0.15 -0.3,-0.02 -0.22,0.13 0.21,0.44 0.42,0.88 0.62,1.33 0.1,0.22 0.21,0.44 0.32,0.66 0.05,0.1 0.1,0.2 0.15,0.3 0.03,0.05 0.05,0.12 0.08,0.17 -0.01,0.01 -0.03,0.02 -0.04,0.02 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.04,-0.05 -0.09,-0.1 -0.12,-0.14 -0.14,-0.18 -0.27,-0.37 -0.4,-0.57 -0.24,-0.38 -0.46,-0.77 -0.64,-1.18 -0.38,-0.84 -0.64,-1.75 -0.76,-2.67 -0.01,-0.1 -0.19,-0.08 -0.18,0.02 0.08,0.95 0.32,1.87 0.7,2.74 0.19,0.44 0.42,0.86 0.68,1.26 0.13,0.21 0.28,0.41 0.43,0.6 0.02,0.02 0.04,0.05 0.05,0.07 -0.18,0.1 -0.37,0.2 -0.55,0.29 -0.01,-0.01 -0.02,-0.02 -0.03,-0.02 -0.06,-0.05 -0.12,-0.1 -0.17,-0.14 -0.11,-0.1 -0.22,-0.2 -0.33,-0.31 -0.06,-0.06 -0.15,0.03 -0.09,0.09 0.1,0.11 0.21,0.22 0.3,0.34 0.04,0.05 0.08,0.1 0.12,0.15 -0.17,0.09 -0.34,0.19 -0.52,0.28 -0.02,-0.06 -0.05,-0.12 -0.07,-0.18 -0.1,-0.26 -0.21,-0.51 -0.31,-0.77 -0.04,-0.11 -0.1,-0.2 -0.15,-0.29 0,-0.06 0.03,-0.12 0.01,-0.18 -0.06,-0.26 -0.33,-0.42 -0.59,-0.44 -0.01,-0.04 -0.03,-0.08 -0.04,-0.11 -0.18,-0.46 -0.37,-0.91 -0.56,-1.36 -0.06,-0.14 -0.28,-0.08 -0.23,0.06 0.18,0.47 0.36,0.93 0.55,1.4 0,0.01 0.01,0.02 0.01,0.03 -0.09,0.01 -0.19,0.02 -0.28,0.04 -0.24,0.05 -0.48,0.16 -0.68,0.29 -0.06,0.04 -0.11,0.08 -0.17,0.13 -0.09,0.07 -0.14,0.13 -0.21,0.23 -0.04,0.06 -0.06,0.13 -0.07,0.21 -0.11,-0.19 -0.23,-0.37 -0.32,-0.58 -0.24,-0.56 -0.41,-1.13 -0.46,-1.73 -0.01,-0.1 -0.17,-0.1 -0.16,0 0.04,0.6 0.17,1.2 0.4,1.75 0.11,0.25 0.24,0.51 0.4,0.76 -0.07,0.05 -0.11,0.13 -0.09,0.23 0.11,0.56 0.33,1.09 0.56,1.62 -0.04,0.02 -0.09,0.03 -0.13,0.05 -0.01,0 -0.03,-0.01 -0.04,-0.01 0.02,-0.04 0.02,-0.08 0,-0.11 -0.08,-0.12 -0.18,-0.23 -0.27,-0.34 -0.09,-0.11 -0.18,-0.21 -0.26,-0.32 -0.04,-0.04 -0.11,-0.04 -0.15,-0.01 -0.04,0.03 -0.06,0.1 -0.03,0.15 l 0.25,0.33 c 0.08,0.1 0.15,0.2 0.23,0.3 -0.03,0.01 -0.06,0 -0.09,0.01 -0.61,0.19 -1.04,-0.03 -1.4,-0.57 -0.48,-0.71 -0.85,-1.49 -1.21,-2.23 z m 3.33,4.04 c 0,-0.01 0,-0.01 0,0 0.05,-0.02 0.1,-0.04 0.15,-0.05 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.02,0.02 -0.05,0.04 -0.07,0.05 -0.04,0.03 -0.08,0.06 -0.11,0.09 -0.03,0 -0.05,-0.01 -0.07,-0.01 0.04,-0.04 0.09,-0.06 0.13,-0.1 z m -26.5,34.47 c -0.84,-0.99 -1.5,-2.2 -2.06,-3.36 -0.52,-1.07 -0.99,-2.23 -1.27,-3.39 -0.18,-0.74 -0.17,-1.56 0.08,-2.29 0.11,-0.04 0.21,-0.08 0.32,-0.12 0.13,-0.05 0.25,-0.09 0.38,-0.14 -0.02,0.04 -0.05,0.08 -0.06,0.13 -0.02,0.09 -0.04,0.18 -0.04,0.28 0,0.05 0.02,0.09 0.03,0.13 -0.05,-0.06 -0.16,-0.06 -0.18,0.04 -0.07,0.27 -0.1,0.55 -0.08,0.82 0.01,0.28 0.06,0.56 0.18,0.81 0.05,0.11 0.21,0.03 0.19,-0.08 -0.05,-0.25 -0.12,-0.49 -0.14,-0.74 -0.02,-0.24 0,-0.48 0.05,-0.72 0,0.01 0,0.02 0,0.02 0.02,0.06 0.07,0.1 0.13,0.09 0.06,-0.01 0.1,-0.06 0.11,-0.12 0,-0.02 0,-0.04 0,-0.06 0,-0.01 0,-0.04 0,-0.01 0,-0.02 0,-0.03 0.01,-0.05 0,-0.04 0,-0.08 0,-0.12 0,-0.04 0,-0.08 0.01,-0.12 0,-0.01 0,-0.02 0,-0.03 0,0 0,0 0,-0.01 0,0 0,0 0,0 0,-0.02 0.01,-0.04 0.01,-0.06 0.01,-0.04 0.02,-0.07 0.03,-0.11 0.01,-0.02 0.01,-0.04 0.02,-0.06 0,-0.01 0.01,-0.02 0.01,-0.03 0,0 0.01,-0.03 0.01,-0.01 -0.01,0.01 0.01,-0.02 0.01,-0.02 0,-0.01 0.01,-0.02 0.01,-0.02 0.01,-0.02 0.02,-0.04 0.03,-0.05 0,0 0,-0.01 0.01,-0.01 l 0.13,-0.05 c 0,0.04 0,0.07 0.01,0.11 0.15,1.69 0.7,3.32 1.42,4.84 0.73,1.54 1.63,2.99 2.54,4.42 0.15,0.24 0.33,0.49 0.52,0.75 -0.12,0.06 -0.23,0.12 -0.35,0.17 -0.22,-0.25 -0.45,-0.49 -0.65,-0.76 -0.62,-0.83 -1.14,-1.72 -1.55,-2.67 -0.04,-0.09 -0.2,-0.03 -0.17,0.07 0.4,0.99 0.9,1.93 1.54,2.8 0.18,0.24 0.38,0.46 0.57,0.69 -0.03,0.01 -0.05,0.03 -0.07,0.04 -0.08,-0.01 -0.15,-0.02 -0.23,-0.03 -0.46,-0.57 -0.9,-1.18 -1.31,-1.79 -0.04,-0.06 -0.13,-0.01 -0.1,0.06 0.31,0.59 0.68,1.13 1.07,1.66 -0.48,-0.17 -0.86,-0.53 -1.17,-0.9 z m 17.98,-4.82 c -0.09,0.04 -0.18,0.07 -0.26,0.11 -0.27,-0.38 -0.55,-0.76 -0.8,-1.16 -0.71,-1.14 -1.33,-2.33 -1.86,-3.57 -0.05,-0.11 -0.24,-0.03 -0.19,0.08 0.49,1.26 1.09,2.48 1.8,3.63 0.24,0.39 0.5,0.76 0.76,1.13 -0.18,0.08 -0.37,0.15 -0.55,0.23 -0.07,-0.08 -0.14,-0.15 -0.21,-0.23 -0.42,-0.52 -0.76,-1.1 -1.02,-1.72 -0.05,-0.11 -0.23,-0.03 -0.19,0.08 0.25,0.64 0.58,1.26 0.99,1.81 0.04,0.06 0.1,0.12 0.15,0.18 -0.14,0.06 -0.27,0.11 -0.41,0.17 -1.03,-1.19 -1.79,-2.61 -2.15,-4.13 -0.04,-0.16 -0.28,-0.09 -0.25,0.07 0.33,1.56 1.06,2.99 2.08,4.2 -0.23,0.1 -0.46,0.19 -0.69,0.29 -0.47,-0.53 -0.85,-1.14 -1.12,-1.79 -0.06,-0.14 -0.29,-0.08 -0.23,0.06 0.27,0.67 0.67,1.27 1.12,1.83 -0.25,0.1 -0.49,0.21 -0.74,0.31 -0.15,-0.15 -0.31,-0.29 -0.45,-0.46 -0.52,-0.65 -0.92,-1.39 -1.16,-2.19 -0.04,-0.12 -0.23,-0.07 -0.2,0.05 0.23,0.83 0.63,1.61 1.16,2.29 0.12,0.15 0.26,0.27 0.39,0.41 -0.19,0.08 -0.38,0.16 -0.57,0.24 -0.04,0.02 -0.09,0.03 -0.13,0.05 -0.32,-0.37 -0.6,-0.79 -0.79,-1.25 -0.04,-0.1 -0.21,-0.06 -0.17,0.05 0.18,0.47 0.43,0.89 0.74,1.29 -0.22,0.09 -0.45,0.18 -0.67,0.27 -0.18,-0.2 -0.37,-0.39 -0.53,-0.6 -0.5,-0.67 -0.9,-1.39 -1.19,-2.18 -0.02,-0.06 -0.12,-0.04 -0.1,0.03 0.28,0.8 0.66,1.59 1.16,2.27 0.14,0.2 0.31,0.37 0.47,0.56 -0.22,0.09 -0.44,0.18 -0.66,0.26 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.39,-0.49 -0.67,-1.06 -0.82,-1.66 -0.03,-0.12 -0.21,-0.07 -0.19,0.05 0.13,0.63 0.4,1.22 0.78,1.74 -0.17,0.06 -0.34,0.13 -0.51,0.2 -0.22,-0.25 -0.43,-0.51 -0.61,-0.79 -0.55,-0.84 -0.97,-1.77 -1.21,-2.75 -0.01,-0.05 -0.09,-0.03 -0.07,0.02 0.29,1.3 0.91,2.53 1.75,3.57 -0.21,0.08 -0.42,0.16 -0.63,0.24 -0.38,-0.48 -0.72,-1.01 -0.96,-1.58 -0.06,-0.14 -0.29,-0.08 -0.23,0.06 0.23,0.58 0.53,1.12 0.89,1.64 -0.2,0.08 -0.4,0.15 -0.61,0.23 -0.2,-0.19 -0.4,-0.38 -0.58,-0.6 -0.58,-0.69 -1.04,-1.49 -1.37,-2.33 -0.04,-0.11 -0.22,-0.07 -0.18,0.05 0.3,0.86 0.74,1.65 1.3,2.37 0.17,0.22 0.37,0.41 0.56,0.61 -0.22,0.08 -0.44,0.17 -0.66,0.26 -0.23,-0.27 -0.44,-0.56 -0.6,-0.89 -0.03,-0.06 -0.12,-0.01 -0.09,0.05 0.14,0.32 0.33,0.61 0.53,0.9 -0.15,0.06 -0.29,0.11 -0.44,0.17 -0.09,-0.1 -0.19,-0.18 -0.27,-0.28 -0.45,-0.55 -0.81,-1.17 -1.09,-1.82 -0.02,-0.04 -0.09,-0.01 -0.08,0.03 0.27,0.67 0.62,1.3 1.04,1.88 0.06,0.09 0.14,0.17 0.21,0.26 -0.17,0.07 -0.34,0.13 -0.51,0.2 -0.25,-0.31 -0.47,-0.65 -0.61,-1.03 -0.04,-0.09 -0.19,-0.06 -0.15,0.04 0.13,0.38 0.34,0.73 0.57,1.06 -0.2,0.08 -0.4,0.17 -0.61,0.25 -0.14,-0.13 -0.28,-0.26 -0.4,-0.4 -0.55,-0.62 -0.96,-1.36 -1.18,-2.16 -0.02,-0.07 -0.12,-0.04 -0.11,0.03 0.21,0.81 0.61,1.57 1.16,2.21 0.12,0.14 0.27,0.25 0.41,0.38 -0.12,0.05 -0.25,0.11 -0.37,0.16 -0.07,-0.08 -0.14,-0.15 -0.21,-0.22 -0.41,-0.46 -0.77,-0.96 -1.06,-1.5 -0.02,-0.03 -0.07,0 -0.05,0.03 0.28,0.56 0.6,1.11 0.98,1.61 0.05,0.06 0.1,0.11 0.15,0.17 -0.1,0.04 -0.2,0.09 -0.29,0.13 -0.03,-0.01 -0.06,-0.03 -0.09,-0.03 -0.08,-0.01 -0.14,-0.02 -0.2,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.48,-0.58 -0.85,-1.28 -1.1,-1.99 -0.03,-0.09 -0.17,-0.06 -0.15,0.04 0.16,0.69 0.47,1.3 0.88,1.87 -0.14,-0.06 -0.27,-0.15 -0.43,-0.32 -0.37,-0.4 -0.64,-0.89 -0.93,-1.35 -0.75,-1.17 -1.47,-2.37 -2.09,-3.62 -0.59,-1.19 -1.08,-2.43 -1.35,-3.72 -0.11,-0.53 -0.2,-1.07 -0.23,-1.62 0.01,-0.04 -0.01,-0.09 -0.01,-0.13 0,-0.04 -0.01,-0.09 -0.01,-0.13 0,-0.23 0.01,-0.5 0.08,-0.76 0.14,-0.04 0.29,-0.08 0.43,-0.13 0,0.06 0.01,0.12 0.01,0.17 0.01,0.15 0.02,0.3 0.04,0.45 0.02,0.15 0.03,0.31 0.06,0.46 0.02,0.15 0.02,0.33 0.09,0.47 0.05,0.09 0.18,0.06 0.21,-0.03 0.05,-0.13 0.01,-0.3 0.01,-0.44 0,-0.16 -0.01,-0.31 -0.01,-0.47 0,-0.15 -0.02,-0.3 -0.03,-0.45 -0.01,-0.08 -0.01,-0.19 -0.04,-0.28 0.48,-0.17 0.96,-0.35 1.44,-0.54 -0.01,0.23 -0.02,0.47 -0.01,0.7 0.02,0.49 0.07,0.99 0.26,1.45 0.03,0.07 0.15,0.03 0.15,-0.04 -0.02,-0.47 -0.11,-0.94 -0.13,-1.41 -0.01,-0.28 0.02,-0.55 0.04,-0.83 0.3,-0.12 0.61,-0.24 0.91,-0.36 l 0.02,0.81 c 0,0.16 0,0.32 0.02,0.47 0.01,0.15 0.01,0.33 0.06,0.48 0.03,0.08 0.15,0.09 0.17,0 0.04,-0.14 0.03,-0.31 0.03,-0.46 0,-0.16 -0.01,-0.33 -0.01,-0.49 -0.01,-0.31 -0.02,-0.61 -0.03,-0.92 0.38,-0.15 0.76,-0.3 1.13,-0.45 0,0.16 0,0.33 -0.01,0.49 v 0.39 c 0,0.07 0,0.13 0,0.2 0,0.07 0.02,0.14 0.03,0.2 0.02,0.08 0.14,0.08 0.15,0 0.02,-0.07 0.04,-0.13 0.04,-0.2 0,-0.06 0,-0.12 0,-0.18 0,-0.14 0,-0.27 0,-0.41 0,-0.19 0,-0.39 0.01,-0.58 0.25,-0.1 0.5,-0.2 0.76,-0.3 -0.04,0.19 -0.06,0.38 -0.06,0.58 0,0.21 0.03,0.41 0.08,0.61 0.03,0.1 0.06,0.21 0.1,0.3 0.04,0.09 0.09,0.21 0.18,0.26 0.06,0.03 0.14,0.01 0.15,-0.06 0.02,-0.09 -0.02,-0.17 -0.05,-0.26 -0.03,-0.09 -0.05,-0.18 -0.08,-0.27 -0.05,-0.18 -0.08,-0.37 -0.09,-0.56 -0.01,-0.24 0.02,-0.49 0.08,-0.72 0.36,-0.14 0.72,-0.29 1.09,-0.43 -0.03,0.02 -0.05,0.04 -0.06,0.08 -0.04,0.29 -0.05,0.57 -0.01,0.86 0.02,0.14 0.04,0.27 0.08,0.4 0.02,0.07 0.04,0.14 0.07,0.21 0.03,0.07 0.05,0.15 0.13,0.19 0.07,0.03 0.14,0 0.16,-0.07 0.02,-0.07 -0.01,-0.13 -0.03,-0.19 -0.02,-0.06 -0.04,-0.12 -0.06,-0.18 -0.04,-0.13 -0.06,-0.26 -0.08,-0.39 -0.03,-0.25 -0.03,-0.51 0,-0.76 0.01,-0.07 -0.02,-0.15 -0.1,-0.17 -0.03,-0.01 -0.06,0 -0.09,0.01 0.2,-0.08 0.41,-0.16 0.61,-0.24 0.73,-0.29 1.46,-0.58 2.18,-0.87 -0.03,0.35 -0.02,0.69 0.02,1.04 0.05,0.4 0.14,0.82 0.32,1.19 0.05,0.11 0.23,0.03 0.2,-0.08 -0.06,-0.19 -0.13,-0.38 -0.18,-0.58 -0.05,-0.19 -0.09,-0.39 -0.12,-0.58 -0.05,-0.36 -0.05,-0.71 -0.02,-1.07 0.35,-0.14 0.69,-0.28 1.04,-0.41 l -0.01,0.18 c -0.01,0.12 -0.01,0.23 -0.02,0.35 0,0.12 -0.03,0.27 0.03,0.37 0.04,0.06 0.15,0.09 0.2,0.02 0.05,-0.06 0.06,-0.12 0.07,-0.19 0.01,-0.06 0.01,-0.12 0.02,-0.18 0.01,-0.12 0.02,-0.24 0.03,-0.36 l 0.02,-0.32 c 0.13,-0.05 0.25,-0.1 0.38,-0.15 0.41,-0.16 0.82,-0.33 1.22,-0.5 0.27,1 0.6,1.98 0.95,2.94 0.69,1.91 1.52,3.76 2.51,5.54 0.61,1.1 1.27,2.19 2.02,3.22 0,0.03 -0.05,0.05 -0.1,0.07 z m 12,-0.15 c -0.06,-0.04 -0.11,-0.08 -0.17,-0.12 -0.17,-0.12 -0.33,-0.25 -0.49,-0.38 -0.3,-0.24 -0.6,-0.5 -0.88,-0.76 -0.57,-0.53 -1.11,-1.09 -1.61,-1.69 -1,-1.21 -1.86,-2.54 -2.52,-3.96 -0.06,-0.12 -0.22,-0.01 -0.17,0.1 0.62,1.46 1.43,2.83 2.43,4.07 0.5,0.61 1.04,1.19 1.62,1.73 0.28,0.27 0.58,0.52 0.88,0.76 0.14,0.11 0.29,0.23 0.43,0.34 0.03,0.02 0.07,0.05 0.1,0.08 -0.7,0.3 -1.39,0.6 -2.09,0.89 -0.34,-0.23 -0.68,-0.46 -1,-0.73 -0.4,-0.34 -0.77,-0.71 -1.11,-1.12 -0.69,-0.83 -1.23,-1.76 -1.6,-2.77 -0.04,-0.1 -0.2,-0.06 -0.16,0.04 0.36,1.02 0.88,1.98 1.55,2.83 0.34,0.43 0.72,0.83 1.13,1.2 0.26,0.24 0.55,0.47 0.85,0.68 -0.27,0.12 -0.55,0.23 -0.82,0.35 -0.07,0.03 -0.14,0.06 -0.22,0.09 -0.81,-0.82 -1.57,-1.68 -2.24,-2.61 -0.87,-1.21 -1.59,-2.52 -2.18,-3.89 -0.02,-0.04 -0.08,-0.01 -0.07,0.03 1.01,2.41 2.46,4.65 4.23,6.58 -0.34,0.14 -0.68,0.29 -1.03,0.44 -0.16,-0.13 -0.32,-0.27 -0.47,-0.41 -0.31,-0.28 -0.61,-0.57 -0.91,-0.88 -0.6,-0.63 -1.15,-1.3 -1.65,-2.01 -0.99,-1.42 -1.78,-3.01 -2.34,-4.65 -0.03,-0.1 -0.19,-0.06 -0.16,0.04 0.47,1.71 1.23,3.3 2.24,4.76 0.49,0.71 1.04,1.39 1.64,2.02 0.31,0.33 0.63,0.64 0.96,0.94 0.12,0.11 0.25,0.22 0.38,0.33 -0.19,0.09 -0.37,0.19 -0.56,0.28 -0.26,-0.17 -0.54,-0.3 -0.83,-0.41 -0.51,-0.38 -0.92,-0.9 -1.3,-1.4 -0.69,-0.92 -1.3,-1.89 -1.9,-2.87 -0.05,-0.09 -0.18,-0.01 -0.14,0.08 0.56,1.13 1.25,2.18 2.02,3.17 0.16,0.2 0.32,0.42 0.49,0.62 0,0.01 0,0.01 0,0.02 -0.34,-0.2 -0.65,-0.43 -0.95,-0.68 0.01,0 0.02,0.01 0.03,0.01 0.06,0.03 0.12,0.07 0.19,0.09 0.06,0.02 0.12,-0.06 0.08,-0.11 -0.04,-0.06 -0.09,-0.11 -0.15,-0.16 0,-0.01 0,-0.01 0,-0.02 -0.01,-0.03 -0.04,-0.05 -0.07,-0.06 -0.02,-0.02 -0.05,-0.03 -0.07,-0.05 -0.04,-0.03 -0.09,-0.06 -0.13,-0.1 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.01,0.02 -0.01,0.05 -0.01,0.08 -0.11,-0.1 -0.22,-0.19 -0.32,-0.29 0,0 0,0 0,0 0,0 0.01,0 0.01,-0.01 -0.01,0 -0.01,0 -0.02,0 -1.09,-1.09 -1.93,-2.39 -2.72,-3.71 -1.87,-3.13 -3.2,-6.49 -4.12,-10.02 -0.25,-0.97 -0.42,-1.91 -0.38,-2.91 0.01,-0.39 0.1,-0.81 0.24,-1.22 0.21,-0.01 0.42,-0.07 0.64,-0.14 -0.01,0.08 -0.04,0.15 -0.05,0.23 -0.04,0.41 -0.03,0.83 0.14,1.21 0.06,0.15 0.28,0.06 0.28,-0.08 0.01,-0.36 -0.02,-0.73 0.03,-1.09 0.02,-0.15 0.06,-0.3 0.1,-0.45 0.09,-0.04 0.19,-0.07 0.27,-0.1 0.64,-0.22 1.27,-0.48 1.9,-0.73 0.3,-0.12 0.6,-0.25 0.9,-0.37 0,0.12 -0.01,0.24 -0.01,0.36 -0.01,0.27 -0.04,0.55 0.02,0.81 0.03,0.13 0.24,0.13 0.27,0 0.06,-0.26 0.04,-0.54 0.04,-0.81 0,-0.16 0,-0.33 0,-0.49 0.27,-0.11 0.54,-0.22 0.81,-0.34 -0.12,0.67 -0.12,1.34 -0.01,2.02 0.14,0.82 0.45,1.73 1,2.37 0.08,0.09 0.2,-0.03 0.16,-0.12 -0.37,-0.75 -0.71,-1.45 -0.86,-2.28 -0.13,-0.69 -0.1,-1.41 0.01,-2.1 0.42,-0.17 0.84,-0.34 1.25,-0.52 -0.05,0.57 -0.07,1.14 -0.06,1.7 0.01,0.39 0.03,0.78 0.07,1.17 0.03,0.35 0.05,0.77 0.18,1.1 0.04,0.11 0.2,0.1 0.21,-0.03 0.03,-0.38 -0.07,-0.78 -0.1,-1.16 -0.03,-0.37 -0.05,-0.75 -0.06,-1.12 -0.01,-0.59 0,-1.19 0.04,-1.78 0.4,-0.17 0.79,-0.34 1.19,-0.5 -0.24,0.9 -0.31,1.81 -0.18,2.74 0.07,0.52 0.2,1.04 0.38,1.54 0.17,0.45 0.37,0.99 0.73,1.33 0.05,0.05 0.15,0 0.13,-0.07 -0.15,-0.46 -0.43,-0.87 -0.6,-1.32 -0.18,-0.47 -0.31,-0.96 -0.38,-1.46 -0.15,-0.94 -0.1,-1.91 0.12,-2.84 0.44,-0.18 0.88,-0.37 1.32,-0.56 -0.1,0.47 -0.17,0.94 -0.18,1.42 -0.01,0.29 0,0.58 0.03,0.87 0.02,0.28 0.06,0.6 0.18,0.85 0.04,0.09 0.17,0.04 0.18,-0.05 0.03,-0.28 -0.03,-0.58 -0.05,-0.86 -0.02,-0.27 -0.03,-0.54 -0.02,-0.81 0.01,-0.52 0.07,-1.04 0.17,-1.55 0.18,-0.08 0.36,-0.15 0.53,-0.22 0.24,1.94 0.87,3.86 1.49,5.7 1.51,4.46 3.58,8.74 6.15,12.69 0.37,0.57 0.75,1.19 1.2,1.75 0,0 -0.01,0 -0.01,0.01 -0.24,-0.25 -0.47,-0.5 -0.69,-0.77 -0.45,-0.54 -0.87,-1.11 -1.26,-1.7 -0.78,-1.18 -1.44,-2.43 -1.97,-3.74 -0.04,-0.1 -0.19,-0.06 -0.16,0.04 0.51,1.33 1.15,2.61 1.92,3.82 0.38,0.59 0.78,1.16 1.22,1.7 0.2,0.25 0.41,0.52 0.63,0.78 -0.14,0.06 -0.28,0.12 -0.41,0.17 -0.24,-0.27 -0.47,-0.54 -0.7,-0.82 -0.5,-0.62 -0.96,-1.26 -1.39,-1.93 -0.88,-1.33 -1.63,-2.74 -2.22,-4.22 -0.05,-0.11 -0.23,-0.07 -0.19,0.05 0.56,1.5 1.25,2.94 2.09,4.3 0.41,0.66 0.87,1.3 1.35,1.91 0.23,0.29 0.46,0.58 0.71,0.86 -0.22,0.09 -0.44,0.19 -0.66,0.28 -0.08,-0.07 -0.15,-0.16 -0.21,-0.24 -0.08,-0.12 -0.19,-0.23 -0.28,-0.34 -0.09,-0.12 -0.18,-0.24 -0.26,-0.37 -0.06,-0.1 -0.21,-0.01 -0.15,0.09 0.07,0.14 0.15,0.27 0.23,0.4 0.09,0.12 0.18,0.26 0.3,0.35 0.07,0.05 0.14,0.11 0.22,0.17 -0.11,0.05 -0.22,0.09 -0.33,0.14 -2.49,-1.93 -4.4,-4.59 -5.47,-7.55 -0.03,-0.08 -0.16,-0.05 -0.14,0.04 0.97,3.01 2.82,5.66 5.27,7.65 -0.25,0.1 -0.51,0.2 -0.76,0.31 z m 7.19,-1.8 c -0.03,0.01 -0.07,0.03 -0.1,0.04 -0.11,-0.08 -0.25,-0.14 -0.39,-0.15 -0.05,0 -0.1,0.01 -0.15,0.01 -0.12,-0.11 -0.24,-0.23 -0.36,-0.34 -0.25,-0.24 -0.49,-0.5 -0.73,-0.75 -0.5,-0.54 -0.96,-1.1 -1.4,-1.69 -0.84,-1.13 -1.57,-2.35 -2.2,-3.61 -0.05,-0.11 -0.2,-0.01 -0.16,0.09 0.58,1.33 1.31,2.57 2.18,3.73 0.42,0.56 0.86,1.1 1.33,1.61 0.24,0.26 0.48,0.51 0.73,0.76 0.09,0.09 0.18,0.17 0.27,0.26 -0.05,0.01 -0.1,0.02 -0.15,0.04 -0.12,0.04 -0.22,0.07 -0.35,0.07 -0.4,-0.02 -0.71,-0.31 -0.96,-0.59 -0.64,-0.7 -1.13,-1.57 -1.64,-2.37 -1.11,-1.73 -2.13,-3.53 -3.03,-5.38 -1.72,-3.5 -3.16,-7.25 -3.98,-11.06 -0.18,-0.82 -0.24,-1.63 -0.2,-2.46 0.02,-0.36 0.04,-0.68 0.18,-1.03 0.07,-0.17 0.16,-0.33 0.25,-0.49 0.1,0.46 0.2,0.91 0.32,1.36 0.02,0.09 0.06,0.18 0.09,0.27 -0.02,0.25 -0.04,0.49 -0.04,0.74 0,0.37 0.01,0.73 0.03,1.1 0.02,0.36 0.03,0.79 0.16,1.13 0.04,0.09 0.21,0.13 0.23,0 0.05,-0.34 -0.02,-0.71 -0.04,-1.05 -0.02,-0.32 -0.03,-0.64 -0.03,-0.96 0.14,0.42 0.25,0.85 0.41,1.27 0.11,0.29 0.22,0.6 0.35,0.92 0.14,0.62 0.28,1.25 0.43,1.87 0.16,0.65 0.29,1.31 0.54,1.93 0.03,0.06 0.14,0.06 0.13,-0.02 -0.06,-0.66 -0.24,-1.3 -0.4,-1.95 -0.06,-0.25 -0.13,-0.51 -0.19,-0.76 0.09,0.15 0.18,0.29 0.29,0.41 0.3,0.35 0.76,0.16 0.93,-0.17 0.05,0.01 0.1,0.01 0.15,0.01 0.08,0.33 0.16,0.65 0.25,0.98 0.05,0.21 0.11,0.43 0.16,0.64 0.05,0.2 0.09,0.45 0.22,0.61 0.05,0.06 0.18,0.03 0.19,-0.05 0.03,-0.19 -0.05,-0.42 -0.1,-0.61 -0.06,-0.22 -0.12,-0.44 -0.18,-0.67 -0.08,-0.31 -0.16,-0.61 -0.25,-0.92 0.22,-0.04 0.44,-0.09 0.61,-0.13 0.18,-0.04 0.35,-0.11 0.52,-0.17 0.01,0.09 0.02,0.17 0.04,0.26 0.05,0.21 0.11,0.41 0.19,0.61 0.04,0.09 0.08,0.18 0.14,0.26 0.06,0.09 0.1,0.2 0.19,0.26 0.07,0.06 0.17,0 0.15,-0.09 -0.01,-0.09 -0.07,-0.18 -0.11,-0.26 -0.04,-0.09 -0.07,-0.19 -0.11,-0.29 -0.07,-0.19 -0.14,-0.37 -0.18,-0.57 -0.02,-0.09 -0.03,-0.18 -0.04,-0.27 0.27,-0.1 0.54,-0.22 0.81,-0.33 0.11,-0.05 0.21,-0.1 0.31,-0.15 0.02,0.11 0.05,0.21 0.07,0.32 0.09,0.38 0.15,0.79 0.31,1.15 0.02,0.06 0.13,0.06 0.12,-0.02 -0.02,-0.39 -0.13,-0.79 -0.22,-1.17 -0.03,-0.13 -0.06,-0.25 -0.09,-0.38 0.3,-0.14 0.61,-0.28 0.9,-0.44 0.06,-0.03 0.12,-0.07 0.19,-0.11 0.05,0.2 0.09,0.4 0.14,0.59 0.05,0.22 0.1,0.45 0.15,0.67 0.02,0.11 0.05,0.22 0.07,0.32 0.03,0.13 0.09,0.24 0.14,0.36 0.03,0.07 0.14,0.07 0.14,-0.02 -0.01,-0.12 -0.01,-0.24 -0.03,-0.35 -0.02,-0.11 -0.05,-0.22 -0.07,-0.32 -0.06,-0.23 -0.11,-0.47 -0.17,-0.7 -0.05,-0.23 -0.11,-0.45 -0.16,-0.68 0.09,-0.06 0.19,-0.11 0.28,-0.17 0.05,-0.03 0.1,-0.07 0.16,-0.1 0.21,-0.02 0.42,-0.11 0.56,-0.27 0.08,0.26 0.16,0.51 0.25,0.77 0.06,0.18 0.12,0.37 0.18,0.55 0.03,0.09 0.07,0.18 0.1,0.27 0.04,0.09 0.06,0.17 0.12,0.25 0.05,0.07 0.15,0.01 0.15,-0.06 0.01,-0.1 -0.03,-0.2 -0.05,-0.29 -0.02,-0.09 -0.04,-0.17 -0.07,-0.26 -0.06,-0.18 -0.12,-0.37 -0.18,-0.55 -0.11,-0.35 -0.23,-0.7 -0.34,-1.06 0.01,-0.09 0.01,-0.17 -0.02,-0.27 -0.46,-1.61 -1.1,-3.16 -1.93,-4.62 0.03,-0.08 0.04,-0.17 0.06,-0.25 0.02,-0.09 0.04,-0.17 0.05,-0.26 0.03,-0.17 0.06,-0.35 0.08,-0.52 0.02,-0.2 0.04,-0.4 0.05,-0.61 0.24,-0.09 0.48,-0.19 0.72,-0.28 -0.01,0.08 -0.04,0.16 -0.04,0.24 -0.01,0.18 -0.01,0.36 0,0.54 0.01,0.09 0.03,0.18 0.04,0.27 0.01,0.09 0.03,0.17 0.07,0.25 0.03,0.07 0.15,0.05 0.17,-0.02 0.01,-0.09 0.01,-0.17 0,-0.26 0,-0.08 0,-0.16 0,-0.24 -0.01,-0.17 -0.01,-0.35 0,-0.52 0,-0.12 0.04,-0.24 0.05,-0.37 0.15,-0.06 0.3,-0.12 0.45,-0.18 -0.02,0.4 -0.02,0.79 -0.01,1.19 0.01,0.37 0.03,0.74 0.07,1.1 0.04,0.34 0.06,0.72 0.18,1.04 0.03,0.09 0.17,0.08 0.17,-0.02 0.02,-0.36 -0.04,-0.74 -0.07,-1.1 -0.03,-0.35 -0.05,-0.71 -0.06,-1.07 -0.01,-0.42 0.01,-0.84 0.01,-1.26 0.26,-0.1 0.53,-0.2 0.79,-0.31 -0.11,0.99 -0.1,1.99 0.04,2.99 0.09,0.68 0.24,1.36 0.45,2.02 0.2,0.64 0.45,1.32 0.82,1.89 0.04,0.07 0.17,0.03 0.14,-0.06 -0.21,-0.63 -0.47,-1.23 -0.66,-1.86 -0.19,-0.64 -0.33,-1.28 -0.43,-1.94 -0.15,-1.03 -0.17,-2.1 -0.08,-3.14 0.41,-0.16 0.83,-0.32 1.24,-0.48 -0.09,0.76 -0.15,1.52 -0.12,2.29 0.02,0.49 0.07,0.98 0.17,1.46 0.11,0.51 0.2,1.04 0.38,1.53 0.02,0.05 0.09,0.03 0.08,-0.02 -0.08,-0.5 -0.21,-0.98 -0.26,-1.49 -0.05,-0.49 -0.09,-0.98 -0.12,-1.48 -0.04,-0.79 -0.01,-1.58 0.07,-2.37 0.28,-0.11 0.55,-0.21 0.83,-0.32 -0.14,1.2 -0.12,2.41 0.05,3.61 0.12,0.8 0.3,1.59 0.55,2.36 0.13,0.38 0.27,0.76 0.42,1.13 0.13,0.32 0.27,0.73 0.51,0.97 0.08,0.08 0.19,-0.01 0.17,-0.1 -0.06,-0.36 -0.3,-0.73 -0.44,-1.07 -0.15,-0.36 -0.28,-0.73 -0.4,-1.1 -0.23,-0.71 -0.4,-1.45 -0.51,-2.19 -0.19,-1.23 -0.2,-2.49 -0.08,-3.73 0.03,-0.01 0.05,-0.02 0.08,-0.03 0.19,-0.07 0.38,-0.15 0.56,-0.22 0.02,0.63 0.04,1.26 0.06,1.9 0.02,0.5 0.04,1 0.06,1.5 0.02,0.48 0,1.01 0.11,1.48 0.03,0.14 0.21,0.09 0.23,-0.03 0.07,-0.5 -0.01,-1.04 -0.03,-1.55 -0.02,-0.48 -0.04,-0.97 -0.07,-1.45 -0.03,-0.65 -0.07,-1.3 -0.11,-1.95 0.12,-0.05 0.24,-0.09 0.36,-0.14 0,0.04 -0.01,0.07 -0.01,0.11 -0.1,0.96 -0.03,1.94 0.1,2.9 0.21,1.47 0.61,2.92 1.05,4.34 -0.78,2.43 -0.48,5 0.69,7.26 0.51,1 1.2,1.9 2,2.69 0.39,1.17 0.89,2.31 1.51,3.38 0.42,0.74 0.89,1.45 1.4,2.12 0.25,0.33 0.5,0.65 0.77,0.96 0.1,0.11 0.2,0.22 0.3,0.34 -0.24,0.1 -0.48,0.2 -0.71,0.31 -0.17,-0.29 -0.48,-0.53 -0.71,-0.78 -0.24,-0.26 -0.46,-0.52 -0.68,-0.79 -0.48,-0.58 -0.92,-1.2 -1.32,-1.84 -0.78,-1.25 -1.46,-2.6 -1.92,-4 -0.04,-0.11 -0.21,-0.07 -0.18,0.05 0.45,1.44 1.04,2.82 1.84,4.1 0.39,0.63 0.82,1.23 1.28,1.8 0.24,0.29 0.48,0.58 0.73,0.86 0.2,0.23 0.43,0.52 0.69,0.7 -0.3,0.13 -0.59,0.26 -0.89,0.38 -0.07,-0.11 -0.17,-0.2 -0.27,-0.29 -0.17,-0.15 -0.33,-0.31 -0.49,-0.47 -0.3,-0.3 -0.58,-0.61 -0.86,-0.93 -0.56,-0.65 -1.06,-1.35 -1.5,-2.09 -0.89,-1.48 -1.55,-3.11 -1.93,-4.79 -0.03,-0.15 -0.26,-0.09 -0.23,0.06 0.37,1.74 1.01,3.4 1.92,4.92 0.45,0.75 0.96,1.46 1.52,2.12 0.29,0.34 0.6,0.67 0.92,0.99 0.16,0.16 0.32,0.31 0.49,0.46 0.05,0.05 0.1,0.09 0.15,0.13 -0.27,0.11 -0.53,0.23 -0.8,0.34 -0.24,-0.34 -0.55,-0.64 -0.81,-0.95 -0.34,-0.4 -0.67,-0.81 -0.99,-1.23 -0.61,-0.79 -1.19,-1.61 -1.72,-2.45 -0.06,-0.1 -0.22,-0.01 -0.16,0.1 0.53,0.88 1.09,1.74 1.71,2.57 0.29,0.39 0.6,0.77 0.91,1.14 0.26,0.31 0.53,0.65 0.84,0.93 -0.38,0.17 -0.77,0.33 -1.15,0.5 -0.07,-0.07 -0.14,-0.14 -0.21,-0.21 -0.3,-0.32 -0.59,-0.64 -0.87,-0.97 -0.6,-0.71 -1.14,-1.46 -1.64,-2.24 -0.98,-1.53 -1.8,-3.2 -2.38,-4.92 -0.04,-0.12 -0.22,-0.07 -0.19,0.05 0.43,1.39 0.98,2.71 1.68,3.99 0.7,1.27 1.53,2.46 2.47,3.56 0.25,0.3 0.51,0.61 0.79,0.91 -0.24,0.11 -0.48,0.21 -0.73,0.32 -0.04,-0.04 -0.09,-0.08 -0.13,-0.12 -0.26,-0.26 -0.51,-0.52 -0.75,-0.79 -0.49,-0.54 -0.94,-1.11 -1.37,-1.7 -0.84,-1.16 -1.57,-2.41 -2.17,-3.71 -0.06,-0.14 -0.26,-0.02 -0.2,0.12 0.58,1.35 1.3,2.63 2.16,3.82 0.41,0.57 0.86,1.13 1.33,1.66 0.24,0.27 0.49,0.54 0.74,0.79 0.02,0.02 0.05,0.05 0.07,0.07 -0.32,0.14 -0.64,0.28 -0.96,0.42 -0.17,-0.14 -0.34,-0.29 -0.5,-0.44 -0.3,-0.27 -0.59,-0.55 -0.86,-0.84 -0.54,-0.58 -1.03,-1.2 -1.47,-1.86 -0.88,-1.33 -1.55,-2.81 -1.96,-4.35 -0.04,-0.14 -0.24,-0.08 -0.21,0.06 0.39,1.59 1.04,3.11 1.94,4.48 0.44,0.67 0.94,1.31 1.48,1.9 0.38,0.41 0.79,0.85 1.24,1.21 -0.26,0.11 -0.51,0.23 -0.77,0.34 -1.71,-1.63 -3.12,-3.6 -4.01,-5.79 -0.04,-0.09 -0.19,-0.06 -0.15,0.04 0.85,2.23 2.17,4.22 3.88,5.88 -0.36,0.16 -0.71,0.31 -1.07,0.47 -1.17,-1.11 -2.24,-2.29 -3.13,-3.64 -0.98,-1.48 -1.77,-3.09 -2.36,-4.76 -0.04,-0.12 -0.23,-0.07 -0.19,0.05 0.53,1.72 1.32,3.35 2.3,4.85 0.86,1.31 1.87,2.57 3.03,3.65 -0.16,0.07 -0.32,0.14 -0.48,0.21 -0.16,0.19 -0.42,0.34 -0.7,0.46 z m 24.84,5.68 c -2.36,-1.63 -4.6,-3.47 -6.69,-5.47 -0.47,-0.54 -0.92,-1.08 -1.38,-1.61 -0.72,-0.82 -1.4,-1.67 -2.07,-2.53 0.19,-0.04 0.33,-0.14 0.43,-0.28 0.12,-0.03 0.24,-0.06 0.36,-0.1 0.46,0.88 0.97,1.74 1.59,2.53 0.45,0.59 0.93,1.17 1.51,1.63 0.59,0.47 1.1,1.03 1.69,1.5 0.65,0.52 1.35,1.03 2.1,1.4 0.13,0.06 0.23,-0.11 0.11,-0.19 -0.6,-0.41 -1.22,-0.79 -1.8,-1.22 -0.59,-0.44 -1.23,-0.87 -1.7,-1.43 -0.94,-1.12 -1.9,-2.23 -2.67,-3.48 -0.17,-0.27 -0.32,-0.55 -0.48,-0.83 0.22,-0.07 0.43,-0.13 0.65,-0.2 0.33,0.45 0.66,0.91 1,1.36 0.23,0.3 0.45,0.6 0.68,0.9 0.12,0.15 0.24,0.3 0.37,0.44 0.13,0.14 0.25,0.29 0.39,0.41 0.1,0.08 0.23,-0.02 0.18,-0.14 -0.07,-0.17 -0.19,-0.33 -0.29,-0.49 -0.1,-0.16 -0.22,-0.32 -0.33,-0.47 -0.23,-0.31 -0.47,-0.61 -0.7,-0.91 -0.32,-0.41 -0.64,-0.81 -0.97,-1.22 0.25,-0.09 0.51,-0.17 0.76,-0.27 0.44,0.54 0.87,1.09 1.33,1.61 0.89,1.01 1.9,1.89 2.87,2.82 0.18,0.17 0.39,0.22 0.58,0.2 3.58,3.19 7.62,5.86 11.98,7.86 1.47,0.67 2.98,1.24 4.51,1.76 -0.01,0.02 -0.01,0.04 -0.02,0.06 0.08,0.01 0.16,0.02 0.24,0.03 0.03,0.01 0.05,0.01 0.08,0.02 0.07,0.03 0.18,0.07 0.26,0.12 0.08,0.05 0.16,0.11 0.22,0.18 0.01,-0.05 0.02,-0.1 0.04,-0.15 0.29,0.09 0.58,0.2 0.87,0.28 -0.07,0.29 -0.13,0.58 -0.2,0.87 -0.04,-0.01 -0.07,-0.02 -0.11,-0.03 -0.3,-0.09 -0.59,-0.18 -0.89,-0.27 -0.6,-0.18 -1.19,-0.36 -1.78,-0.57 -1.19,-0.43 -2.37,-0.9 -3.52,-1.41 -0.13,-0.06 -0.25,0.14 -0.12,0.2 1.14,0.52 2.3,1 3.48,1.44 0.58,0.22 1.17,0.45 1.75,0.65 0.31,0.11 0.62,0.21 0.93,0.31 0.06,0.02 0.11,0.04 0.17,0.05 -0.08,0.35 -0.16,0.69 -0.24,1.04 -0.16,-0.03 -0.33,-0.06 -0.48,-0.1 -0.33,-0.09 -0.65,-0.2 -0.97,-0.33 -0.67,-0.27 -1.31,-0.61 -1.91,-1 -0.12,-0.08 -0.24,0.12 -0.11,0.2 0.6,0.4 1.23,0.74 1.9,1.02 0.34,0.14 0.68,0.27 1.03,0.39 0.15,0.05 0.31,0.12 0.48,0.17 -0.02,0.1 -0.05,0.21 -0.07,0.31 -0.3,-0.09 -0.6,-0.17 -0.89,-0.26 0.03,-0.12 0.06,-0.24 0.08,-0.35 -0.04,0.02 -0.08,0.04 -0.12,0.05 0,0 -0.01,0 -0.01,0.01 -0.14,0.04 -0.29,0.04 -0.43,0 -0.06,-0.03 -0.13,-0.05 -0.19,-0.08 -0.05,-0.03 -0.1,-0.07 -0.15,-0.11 -0.02,0.07 -0.04,0.14 -0.05,0.22 -4.72,-1.55 -9.19,-3.72 -13.28,-6.54 z m 14.63,8.8 c -0.02,0.09 -0.04,0.18 -0.06,0.27 -0.05,-0.06 -0.11,-0.12 -0.17,-0.16 -0.09,-0.07 -0.19,-0.11 -0.29,-0.15 -0.14,-0.04 -0.28,-0.05 -0.42,-0.04 0.02,-0.06 0.03,-0.13 0.05,-0.2 0.29,0.1 0.59,0.19 0.89,0.28 z m -2.42,6.14 c 0.04,0.02 0.09,0.04 0.14,0.02 0.08,-0.03 0.17,-0.05 0.26,-0.07 0.01,0 0.02,0 0.03,0 0,0 0.01,0 0.02,0 0.02,0 0.04,0 0.06,0 0.04,0 0.09,0 0.13,0 0.04,0 0.09,0 0.13,0.01 0.01,0 0.01,0 0.01,0 0,0 0,0 0.01,0 0.03,0 0.05,0.01 0.08,0.01 0.04,0.01 0.09,0.02 0.13,0.03 0.01,0 0.01,0 0.02,0.01 0,0 0,0 0,0 -0.05,0.2 -0.09,0.4 -0.14,0.6 -0.14,0.02 -0.28,0.05 -0.42,0.09 -0.14,0.04 -0.28,0.08 -0.42,0.12 -0.11,0.03 -0.19,0.16 -0.16,0.28 0.04,0.12 0.15,0.18 0.28,0.16 0.14,-0.03 0.29,-0.06 0.43,-0.09 0.06,-0.01 0.12,-0.04 0.19,-0.05 -0.04,0.19 -0.08,0.37 -0.13,0.56 -0.02,0 -0.03,-0.01 -0.05,-0.01 -0.01,0 -0.03,0 -0.04,0 -0.06,-0.01 -0.13,0.01 -0.19,0.03 -0.05,0.02 -0.09,0.03 -0.14,0.04 l -0.28,0.07 c -0.04,0 -0.07,0 -0.11,0 -0.08,0 -0.17,0 -0.25,0.01 0.13,-0.62 0.27,-1.22 0.41,-1.82 z m -0.6,1.81 c -0.05,0 -0.09,0 -0.14,0 -0.19,0 -0.38,0.01 -0.56,0.01 -0.05,0 -0.1,0.01 -0.15,0.01 0.26,-0.18 0.58,-0.18 0.85,-0.02 z m -3.19,7.27 c -0.05,0.01 -0.1,0.03 -0.15,0.05 0,-0.04 0.01,-0.08 0,-0.12 -0.01,-0.07 -0.02,-0.14 -0.04,-0.2 0.06,0.02 0.15,0 0.18,-0.06 0.01,-0.02 0.02,-0.04 0.03,-0.05 0,0 0,0 0,0 0,0 0.01,-0.01 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.04,-0.03 0,0 0,0 0,0 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.03,-0.02 0.05,-0.02 -0.05,0.03 0,0 0.02,0 0.02,-0.01 0.04,-0.01 0.05,-0.01 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0.02,0 0.04,0 0.06,0 0.01,0 0.02,0 0.03,0 0.03,0.01 0.07,0.02 0.1,0.03 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.03,0.01 0.05,0.02 0,0 0,0 0,0 0.04,0.02 0.08,0.04 0.12,0.05 0.01,0.01 0.01,0.01 0.02,0.02 0.02,0.02 0.04,0.04 0.07,0.06 0.06,0.04 0.13,0 0.15,-0.06 0.02,-0.07 0,-0.14 -0.03,-0.2 -0.01,-0.07 -0.06,-0.12 -0.12,-0.17 -0.05,-0.04 -0.11,-0.07 -0.17,-0.08 -0.11,-0.03 -0.22,-0.03 -0.33,-0.01 -0.19,0.03 -0.33,0.15 -0.42,0.3 -0.05,-0.26 -0.09,-0.52 -0.14,-0.77 0.11,-0.01 0.21,-0.02 0.32,-0.03 0.09,-0.01 0.17,-0.02 0.26,-0.03 0.11,-0.01 0.23,-0.01 0.3,-0.11 0.03,-0.05 0.02,-0.11 -0.02,-0.15 -0.08,-0.08 -0.2,-0.05 -0.3,-0.04 l -0.25,0.03 c -0.12,0.01 -0.24,0.03 -0.36,0.04 -0.02,-0.09 -0.04,-0.19 -0.05,-0.28 0.09,-0.01 0.19,-0.02 0.28,-0.03 0.08,-0.01 0.17,-0.02 0.25,-0.03 0.04,0 0.08,-0.01 0.11,-0.01 0.05,-0.01 0.1,-0.02 0.15,-0.04 0.06,-0.02 0.1,-0.07 0.09,-0.13 -0.01,-0.06 -0.06,-0.1 -0.12,-0.1 -0.04,-0.01 -0.08,-0.01 -0.12,-0.01 -0.04,0 -0.08,0.01 -0.12,0.01 -0.08,0.01 -0.16,0.02 -0.24,0.03 -0.11,0.01 -0.21,0.03 -0.32,0.04 -0.08,-0.54 -0.13,-1.08 -0.18,-1.62 0.16,0 0.31,0.01 0.47,0.01 0.09,0 0.18,0.01 0.28,0 0.1,0 0.25,0.02 0.32,-0.07 0.05,-0.06 0.05,-0.13 0,-0.2 -0.07,-0.09 -0.21,-0.07 -0.31,-0.07 -0.1,0 -0.19,0 -0.29,0 -0.17,0 -0.33,0.01 -0.5,0.01 -0.02,-0.2 -0.05,-0.4 -0.06,-0.6 0.03,0.03 0.07,0.04 0.11,0.05 0.35,0.03 0.71,0.04 1.06,0.03 0.1,0 0.19,-0.08 0.19,-0.19 0,-0.1 -0.08,-0.19 -0.19,-0.19 -0.35,-0.01 -0.71,0 -1.06,0.03 -0.05,0 -0.09,0.03 -0.12,0.06 -0.04,-0.72 -0.06,-1.44 -0.05,-2.16 0.01,-0.47 0.02,-0.94 0.03,-1.42 0.12,0.05 0.24,0.09 0.37,0.12 0.13,0.03 0.26,0.05 0.39,0.07 0.13,0.02 0.26,0.04 0.39,0.06 0.13,0.02 0.28,0.04 0.42,0.05 -0.04,1.17 0.1,2.37 0.15,3.51 0.06,1.46 0.04,2.96 0.19,4.41 -0.16,0.03 -0.32,0.06 -0.48,0.1 -0.23,0 -0.43,0.04 -0.63,0.11 z m -8.89,31.27 c 0.8,-0.21 1.61,-0.36 2.42,-0.47 0.16,0.06 0.31,0.03 0.45,-0.07 0.35,-0.04 0.74,-0.07 1.13,-0.11 -0.07,0.27 -0.13,0.55 -0.2,0.82 -0.71,0.11 -1.4,0.31 -2.04,0.64 -0.47,0.25 -0.96,0.54 -1.25,0.99 -0.34,0.51 -0.34,1.16 -0.03,1.69 0.44,0.76 1.33,1.05 2.19,1.24 -0.02,0.06 -0.03,0.12 -0.05,0.19 -0.05,0.22 -0.11,0.43 -0.17,0.65 -0.32,-0.07 -0.64,-0.15 -0.95,-0.23 -2.1,-0.54 -4.8,-1.07 -6.26,-2.74 0.02,-0.03 0.04,-0.07 0.04,-0.11 0.01,-0.31 0.41,-0.77 0.65,-0.95 0.38,-0.27 0.84,-0.44 1.26,-0.61 0.92,-0.36 1.86,-0.68 2.81,-0.93 z m -5.93,-0.69 c 0.43,0.17 0.83,0.4 1.21,0.67 0.2,0.14 0.37,0.3 0.54,0.43 -0.01,0 -0.02,0.01 -0.03,0.01 -0.1,0.05 -0.19,0.13 -0.29,0.19 -0.28,-0.23 -0.64,-0.38 -0.95,-0.52 -0.35,-0.15 -0.7,-0.26 -1.07,-0.35 0.19,-0.07 0.31,-0.25 0.33,-0.46 0,-0.02 0,-0.04 0,-0.05 0.09,0.02 0.17,0.04 0.26,0.08 z m -1.02,-2.18 c -0.06,0.5 -0.11,1 -0.16,1.5 -0.01,0 -0.02,0.01 -0.02,0.01 -0.05,0.05 -0.11,0.1 -0.16,0.14 -0.07,0.02 -0.15,0.04 -0.22,0.06 0,0 -0.1,0.02 -0.15,0.02 -0.06,0 -0.12,0 -0.17,-0.01 -0.03,0 -0.05,-0.01 -0.08,-0.01 0.01,0 0.02,0 0.02,0 -0.06,-0.01 -0.12,-0.02 -0.18,-0.04 -0.06,-0.01 -0.11,-0.03 -0.17,-0.05 0,0 -0.01,0 -0.01,0 -0.01,-0.01 -0.04,-0.02 -0.05,-0.02 -0.06,-0.03 -0.11,-0.06 -0.17,-0.09 -0.03,-0.02 -0.05,-0.03 -0.08,-0.05 0,0 0,0 0,0 -0.04,-0.05 -0.12,-0.1 -0.16,-0.14 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.01,-0.02 -0.05,-0.04 -0.07,-0.06 -0.05,-0.04 -0.09,-0.09 -0.13,-0.13 0,0 0,0 0,0 0,0 0,0 0,0 -0.02,-0.03 -0.04,-0.05 -0.07,-0.08 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.01,-0.01 -0.02,-0.01 -0.03,-0.03 -0.02,-0.2 -0.03,-0.41 -0.05,-0.61 -0.03,-0.35 -0.05,-0.7 -0.08,-1.05 0.24,0.33 0.57,0.6 0.95,0.73 0.35,0.12 0.77,0.14 1.13,0.04 0.04,-0.01 0.1,-0.04 0.16,-0.06 z m -2.15,2.5 c 0.01,-0.02 0.02,-0.05 0.03,-0.08 0.04,0.03 0.08,0.06 0.12,0.09 -0.06,0.01 -0.13,0.02 -0.19,0.03 0.01,-0.02 0.03,-0.02 0.04,-0.04 z m 0.36,-3.96 c 0,0 0.01,-0.01 0.01,-0.01 0.06,-0.04 0.12,-0.08 0.19,-0.11 0.01,0 0.06,-0.03 0.08,-0.04 0.02,-0.01 0.04,-0.02 0.06,-0.02 0.08,-0.03 0.15,-0.04 0.23,-0.06 0,0 0,0 0.01,0 0,0 0,0 0,0 0.04,0 0.07,0 0.11,-0.01 0.04,0 0.09,0 0.13,0 0,0 0,0 0.01,0 0.07,0.02 0.14,0.03 0.2,0.05 0.03,0.01 0.07,0.02 0.1,0.03 0.01,0 0.01,0 0.02,0 0,0 0,0 0.01,0 0.06,0.03 0.13,0.07 0.19,0.1 0.01,0 0.02,0.02 0.04,0.03 0.02,0.02 0.04,0.03 0.06,0.05 0.06,0.05 0.11,0.11 0.16,0.17 0,0 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.02,0.02 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.06,0.04 -0.11,0.07 -0.17,0.1 -0.03,0.01 -0.06,0.02 -0.08,0.03 -0.06,0.02 -0.11,0.03 -0.17,0.05 -0.03,0.01 -0.06,0.02 -0.1,0.02 -0.01,0 -0.06,0.01 -0.07,0.01 0,0 -0.01,0 -0.01,0 -0.03,0 -0.07,0 -0.1,0 -0.03,0 -0.07,0 -0.1,0 0,0 0,0 -0.01,0 -0.12,-0.02 -0.23,-0.05 -0.34,-0.09 0,0 -0.05,-0.02 -0.06,-0.03 -0.01,-0.01 -0.03,-0.02 -0.03,-0.02 -0.05,-0.03 -0.1,-0.06 -0.15,-0.1 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.02,-0.02 -0.05,-0.04 -0.07,-0.07 -0.04,-0.04 -0.07,-0.08 -0.11,-0.12 -0.02,0.03 -0.02,0.03 -0.01,0.02 0,0 0,0 0,0 z m -3.44,4.76 c 0.33,-0.31 0.68,-0.58 1.07,-0.81 0.33,-0.19 0.68,-0.34 1.03,-0.46 0.02,0.17 0.05,0.34 0.15,0.47 0.06,0.08 0.14,0.14 0.23,0.18 -0.15,0.04 -0.3,0.08 -0.45,0.13 -0.91,0.33 -1.76,0.84 -2.47,1.5 -0.09,0.09 -0.18,0.19 -0.27,0.28 0.04,-0.15 0.08,-0.31 0.12,-0.46 0.02,-0.09 0.03,-0.17 0.05,-0.26 0.17,-0.19 0.34,-0.39 0.54,-0.57 z m -1.04,3.33 c 0.38,-0.53 0.68,-1.11 1.15,-1.58 0.61,-0.61 1.34,-1.09 2.17,-1.35 0.83,-0.26 1.78,-0.26 2.64,-0.11 0.42,0.07 0.85,0.19 1.25,0.36 0.23,0.1 0.45,0.25 0.69,0.38 -0.07,0.14 -0.1,0.28 -0.11,0.41 0,0 0,0 0,0 -0.11,-0.02 -0.22,0 -0.31,0.05 -0.52,-0.29 -1.11,-0.49 -1.64,-0.59 -0.91,-0.18 -1.87,-0.14 -2.76,0.17 -1.37,0.48 -2.56,1.58 -3,2.97 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.03,0.06 -0.06,0.13 -0.09,0.19 -0.01,-0.3 0.01,-0.61 0.04,-0.92 z m -2.81,10.01 c 0.46,-1.08 1.36,-1.93 2.42,-2.43 0.72,-0.15 1.41,-0.29 2.12,-0.33 -0.21,0.09 -0.4,0.2 -0.58,0.35 -0.1,0.09 0.04,0.23 0.15,0.15 0.35,-0.28 0.79,-0.43 1.24,-0.45 0.22,-0.01 0.43,0.01 0.65,0.07 0.1,0.03 0.21,0.06 0.31,0.1 0.1,0.04 0.2,0.11 0.31,0.13 0.06,0.01 0.11,-0.04 0.11,-0.1 1.1,0.34 2.09,0.96 2.8,1.88 1.45,1.87 1.33,4.61 -0.45,6.24 -1.88,1.74 -5.26,1.57 -7.32,0.28 -1.94,-1.21 -2.63,-3.83 -1.76,-5.89 z m -3.38,1.66 c 0.37,-0.41 0.77,-0.8 1.23,-1.1 0.24,-0.17 0.5,-0.32 0.76,-0.45 -0.58,1.87 -0.26,4.02 0.93,5.58 -0.99,-0.48 -1.93,-1.06 -2.74,-1.81 -0.38,-0.36 -0.71,-0.76 -1.01,-1.18 0.28,-0.33 0.53,-0.7 0.83,-1.04 z m -0.16,3.51 c -0.01,-0.04 -0.01,-0.08 -0.02,-0.12 0.04,0.04 0.09,0.08 0.13,0.12 -0.04,-0.02 -0.08,-0.02 -0.11,0 z m -0.34,-0.41 c 0.04,0.38 0.09,0.75 0.14,1.12 0.03,0.2 0.06,0.41 0.09,0.61 0.02,0.13 0.06,0.26 0.09,0.39 0,0.05 0,0.1 0.01,0.15 0.01,0.29 0.02,0.58 0.04,0.87 0.02,0.27 0.02,0.58 0.1,0.83 0.03,0.08 0.16,0.09 0.18,0 0.06,-0.26 0.03,-0.56 0.03,-0.83 -0.01,-0.29 -0.02,-0.58 -0.04,-0.87 -0.03,-0.58 -0.06,-1.16 -0.09,-1.74 0,-0.03 -0.02,-0.04 -0.03,-0.06 0.72,0.62 1.52,1.14 2.37,1.59 -0.09,0.33 -0.14,0.68 -0.11,1.03 0.01,0.18 0.04,0.38 0.1,0.55 0.07,0.18 0.14,0.35 0.24,0.52 0.05,0.1 0.19,0.01 0.15,-0.09 -0.07,-0.16 -0.12,-0.32 -0.15,-0.5 -0.03,-0.18 -0.07,-0.34 -0.09,-0.52 -0.02,-0.3 0.02,-0.59 0.09,-0.88 0.52,0.26 1.05,0.5 1.59,0.72 -0.02,0.02 -0.03,0.05 -0.03,0.08 0.02,0.39 0.05,0.77 0.07,1.16 0.01,0.19 0.02,0.39 0.03,0.58 0.01,0.18 0,0.39 0.07,0.56 0.03,0.09 0.17,0.1 0.19,0 0.04,-0.18 0.01,-0.38 0,-0.56 -0.01,-0.19 -0.03,-0.39 -0.04,-0.58 -0.03,-0.39 -0.06,-0.77 -0.09,-1.16 0.29,0.11 0.59,0.21 0.89,0.31 -0.04,0.32 -0.05,0.64 -0.01,0.95 0.05,0.42 0.14,0.88 0.37,1.24 0.07,0.11 0.26,0.04 0.22,-0.09 -0.11,-0.39 -0.26,-0.76 -0.31,-1.17 -0.03,-0.28 -0.02,-0.56 0,-0.84 0.78,0.26 1.58,0.48 2.37,0.7 -0.01,0.5 -0.02,1 0.02,1.49 0.01,0.13 0.19,0.13 0.2,0 0.04,-0.47 0.03,-0.95 0.02,-1.42 0.61,0.16 1.22,0.3 1.83,0.45 0,0 0,0 0,0 0.03,0.39 0.05,0.77 0.08,1.16 0.03,0.38 0.04,0.77 0.1,1.15 0.02,0.13 0.22,0.09 0.22,-0.03 0.01,-0.38 -0.03,-0.76 -0.05,-1.14 l -0.07,-1.07 c 0.51,0.12 1.01,0.23 1.52,0.34 0,0.22 0,0.45 0,0.67 0,0.18 -0.01,0.36 0,0.54 0.01,0.17 0,0.36 0.05,0.52 0.03,0.1 0.16,0.1 0.2,0 0.04,-0.13 0.05,-0.29 0.05,-0.43 0.01,0.77 0.01,1.55 0.03,2.32 0.01,0.4 0.02,0.8 0.02,1.2 0,0.07 0,0.14 0,0.22 -0.35,-0.09 -0.7,-0.18 -1.06,-0.27 0,-0.19 0,-0.38 0,-0.57 0,-0.45 0,-0.9 -0.01,-1.35 0,-0.15 -0.23,-0.15 -0.23,0 0,0.45 0,0.9 -0.01,1.35 0,0.17 0,0.34 0,0.51 -0.53,-0.14 -1.07,-0.27 -1.6,-0.41 0,-0.07 -0.01,-0.14 -0.01,-0.21 0.02,-0.39 0.02,-0.77 0.01,-1.16 -0.03,-0.79 -0.06,-1.57 -0.09,-2.36 -0.01,-0.14 -0.22,-0.14 -0.21,0 0.02,0.79 0.04,1.57 0.06,2.36 0.01,0.39 0.04,0.77 0.09,1.16 0.01,0.06 0,0.11 0.01,0.17 -0.08,-0.02 -0.17,-0.04 -0.25,-0.07 -0.2,-0.06 -0.4,-0.11 -0.6,-0.17 0,0 0,-0.01 0,-0.01 -0.03,-0.28 -0.06,-0.55 -0.09,-0.83 -0.01,-0.06 -0.05,-0.11 -0.11,-0.11 -0.06,0 -0.12,0.05 -0.11,0.11 0.02,0.26 0.05,0.51 0.07,0.77 -0.38,-0.11 -0.77,-0.22 -1.15,-0.34 0,-0.09 0.01,-0.18 0.01,-0.27 0,-0.22 0,-0.43 0,-0.65 0,-0.14 -0.22,-0.14 -0.22,0 0,0.22 0,0.43 0,0.65 0,0.07 0.01,0.13 0.01,0.2 -0.48,-0.15 -0.97,-0.32 -1.44,-0.5 -0.01,-0.11 -0.01,-0.22 -0.02,-0.33 -0.02,-0.26 -0.03,-0.52 -0.05,-0.77 -0.04,-0.51 -0.07,-1.01 -0.11,-1.52 -0.01,-0.11 -0.17,-0.11 -0.17,0 0.02,0.51 0.04,1.01 0.06,1.52 0.01,0.25 0.02,0.5 0.03,0.75 0,0.09 0.01,0.17 0.01,0.26 -0.35,-0.14 -0.7,-0.28 -1.04,-0.44 0,-0.01 0.01,-0.01 0.01,-0.02 -0.02,-0.07 -0.08,-0.13 -0.12,-0.18 l -0.12,-0.16 -0.25,-0.32 c -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.08,0.1 -0.04,0.15 0.08,0.11 0.16,0.22 0.24,0.33 0.01,0.02 0.03,0.04 0.04,0.06 -0.58,-0.28 -1.13,-0.6 -1.66,-0.95 0,-0.07 -0.01,-0.14 -0.01,-0.21 -0.02,-0.26 -0.04,-0.53 -0.06,-0.79 -0.04,-0.4 -0.08,-0.8 -0.13,-1.19 0.04,0.06 0.07,0.13 0.12,0.18 0.07,0.06 0.18,0 0.16,-0.09 -0.02,-0.11 -0.09,-0.21 -0.13,-0.31 -0.04,-0.1 -0.08,-0.19 -0.12,-0.29 -0.08,-0.2 -0.14,-0.42 -0.18,-0.63 -0.08,-0.43 -0.08,-0.88 0,-1.32 0.03,-0.17 -0.23,-0.24 -0.26,-0.07 -0.09,0.47 -0.1,0.95 -0.01,1.42 0.04,0.22 0.1,0.44 0.18,0.65 -0.02,0.02 -0.04,0.05 -0.04,0.09 0.05,0.53 0.09,1.05 0.16,1.58 0.03,0.25 0.06,0.5 0.1,0.75 0.01,0.03 0.01,0.06 0.01,0.1 -0.48,-0.34 -0.95,-0.71 -1.37,-1.14 -0.04,-0.04 -0.07,-0.09 -0.11,-0.13 -0.01,-0.16 -0.01,-0.32 0.02,-0.48 0.03,-0.14 -0.18,-0.2 -0.22,-0.06 -0.02,0.09 -0.02,0.18 -0.03,0.27 -0.29,-0.34 -0.56,-0.71 -0.79,-1.1 0.19,-0.4 0.09,-0.96 0.08,-1.38 -0.01,-0.59 -0.03,-1.17 -0.04,-1.76 -0.01,-0.25 -0.01,-0.51 -0.02,-0.76 0.09,0.07 0.19,0.18 0.3,0.29 z m -2.23,6.89 c 0.26,-0.85 0.89,-1.44 1.38,-2.13 1.57,2.36 4.18,3.83 6.8,4.83 1.68,0.64 3.4,1.18 5.14,1.65 0.28,0.13 0.56,0.25 0.84,0.38 0.22,0.1 0.44,0.2 0.66,0.29 0.21,0.09 0.42,0.21 0.65,0.26 0.11,0.03 0.17,-0.12 0.08,-0.19 -0.2,-0.13 -0.44,-0.21 -0.65,-0.31 -0.06,-0.03 -0.12,-0.05 -0.19,-0.08 1.08,0.27 2.16,0.53 3.24,0.77 0.02,0.34 0.06,0.69 0.16,1.01 0.06,0.19 0.2,0.35 0.37,0.44 0.03,0.2 0.17,0.37 0.44,0.42 0.95,0.19 1.94,0.18 2.91,0.23 0.98,0.05 1.96,0.1 2.94,0.15 1.96,0.1 3.92,0.2 5.88,0.29 1.96,0.09 3.92,0.19 5.88,0.28 0.98,0.05 1.96,0.11 2.94,0.16 0.46,0.03 0.92,0.05 1.37,0.08 0.53,0.03 1.09,0.12 1.47,-0.33 0.19,-0.22 0.3,-0.58 0.11,-0.84 -0.02,-0.02 -0.04,-0.04 -0.06,-0.06 0.08,-0.01 0.16,-0.04 0.23,-0.08 0.14,-0.02 0.27,-0.07 0.37,-0.18 0.28,-0.31 0.33,-0.74 0.46,-1.13 0.05,-0.16 0.1,-0.31 0.16,-0.47 0.03,-0.07 0.06,-0.15 0.09,-0.22 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.04 0.04,-0.09 0.06,-0.13 0.03,-0.07 0.07,-0.13 0.11,-0.2 0.01,0.16 0.02,0.32 0.03,0.48 0.02,0.28 0.03,0.55 0.04,0.83 -0.32,0.31 -0.24,0.88 0.24,1.05 0.96,0.33 2.09,0.23 3.09,0.25 1.04,0.02 2.08,0.03 3.11,0.03 2.04,0 4.09,-0.02 6.13,-0.06 4.12,-0.08 8.24,-0.25 12.35,-0.49 1.17,-0.07 2.33,-0.14 3.5,-0.23 0.55,-0.04 1.14,-0.02 1.67,-0.15 0.22,-0.05 0.44,-0.11 0.65,-0.18 0.01,0.03 0.01,0.07 0.02,0.11 0.05,0.12 0.23,0.14 0.27,0 0.02,-0.07 0.02,-0.15 0.02,-0.23 0.07,0.03 0.14,0.04 0.21,0.05 -0.02,0.02 -0.04,0.04 -0.05,0.06 -0.17,0.27 -0.04,0.63 0.17,0.83 0.42,0.42 0.96,0.3 1.49,0.23 0.45,-0.06 0.91,-0.11 1.36,-0.17 0.97,-0.12 1.95,-0.24 2.92,-0.36 1.95,-0.23 3.9,-0.45 5.85,-0.68 1.24,-0.14 2.48,-0.29 3.71,-0.44 -0.52,0.15 -1.05,0.29 -1.58,0.41 -1.36,0.3 -2.75,0.48 -4.14,0.57 -0.16,0.01 -0.16,0.25 0,0.25 1.41,-0.05 2.8,-0.23 4.18,-0.52 0.69,-0.15 1.37,-0.32 2.05,-0.52 0.37,-0.11 0.74,-0.23 1.11,-0.37 0.18,-0.02 0.35,-0.04 0.53,-0.06 0.98,-0.12 1.95,-0.23 2.93,-0.35 0.96,-0.11 1.95,-0.17 2.89,-0.42 0.27,-0.07 0.39,-0.25 0.41,-0.45 0.17,-0.1 0.3,-0.27 0.34,-0.46 0.03,-0.14 0.04,-0.28 0.06,-0.42 5.39,-1.19 10.73,-3.25 14.06,-7.69 0.06,0.11 0.11,0.23 0.17,0.35 -0.01,0.01 -0.03,0 -0.03,0.02 -0.49,1.21 -1.18,2.29 -2.17,3.14 -0.48,0.42 -1.01,0.79 -1.58,1.06 -0.29,0.14 -0.59,0.25 -0.9,0.35 -0.32,0.1 -0.64,0.14 -0.96,0.22 -0.05,0.01 -0.04,0.09 0.01,0.09 0.63,-0.01 1.3,-0.24 1.88,-0.48 0.62,-0.26 1.21,-0.6 1.73,-1.02 1,-0.81 1.82,-1.97 2.11,-3.23 0.1,0.19 0.2,0.38 0.29,0.58 0.03,0.06 0.06,0.12 0.08,0.18 0.01,0.03 0.03,0.06 0.04,0.09 0,0 0,0 0,0.01 0.03,0.08 0.07,0.17 0.11,0.25 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 -0.64,1.02 -1.41,1.96 -2.33,2.74 -0.51,0.44 -1.07,0.82 -1.65,1.16 -0.28,0.17 -0.57,0.32 -0.87,0.47 -0.3,0.15 -0.63,0.27 -0.93,0.43 -0.07,0.04 -0.02,0.14 0.05,0.13 0.32,-0.06 0.66,-0.2 0.96,-0.34 0.32,-0.14 0.65,-0.3 0.95,-0.48 0.58,-0.34 1.13,-0.73 1.64,-1.16 0.91,-0.77 1.67,-1.68 2.27,-2.7 0.03,0.08 0.06,0.16 0.09,0.25 0.05,0.15 0.09,0.32 0.18,0.46 0.11,0.16 0.3,0.27 0.5,0.27 0.05,0.02 0.09,0.05 0.14,0.06 -1,1.81 -2.69,3.12 -4.65,3.81 -0.11,0.04 -0.06,0.19 0.05,0.17 2.12,-0.47 3.9,-2.04 4.89,-3.95 0.17,-0.01 0.34,-0.03 0.5,-0.06 0.28,-0.04 0.56,-0.09 0.84,-0.13 0.17,-0.03 0.33,-0.07 0.5,-0.1 -0.15,0.25 -0.3,0.5 -0.47,0.74 -0.03,-0.05 -0.12,-0.08 -0.16,-0.01 -0.56,0.85 -1.27,1.58 -2.07,2.21 -0.8,0.63 -1.69,1.09 -2.62,1.5 -0.1,0.04 -0.03,0.2 0.07,0.17 0.97,-0.28 1.87,-0.79 2.66,-1.43 -1.01,0.89 -2.14,1.64 -3.32,2.29 -3.5,1.93 -7.34,3.31 -11.17,4.41 -8.02,2.31 -16.36,3.22 -24.66,3.78 -8.65,0.59 -17.33,1.05 -26,1.16 -8.74,0.11 -17.55,-0.17 -26.21,-1.5 -4.29,-0.66 -8.55,-1.55 -12.72,-2.75 -2.34,-0.67 -4.79,-1.44 -6.92,-2.71 -0.17,-0.18 -0.37,-0.33 -0.57,-0.49 -0.4,-0.33 -0.83,-0.6 -1.23,-0.93 -0.76,-0.62 -1.43,-1.33 -1.78,-2.27 -0.31,-0.85 -0.48,-1.69 -0.21,-2.58 z m 97,13.3 c 0,0 0,0 0,0 -0.03,-0.17 -0.06,-0.34 -0.09,-0.5 -0.01,-0.07 -0.1,-0.11 -0.16,-0.09 -0.07,0.02 -0.1,0.09 -0.09,0.16 l 0.08,0.49 v 0 c -0.32,0.08 -0.64,0.14 -0.95,0.21 -0.04,-0.17 -0.03,-0.35 0.03,-0.5 0.03,-0.07 0.02,-0.15 -0.05,-0.19 -0.06,-0.03 -0.16,-0.02 -0.19,0.05 -0.1,0.22 -0.12,0.46 -0.07,0.7 -0.31,0.07 -0.62,0.14 -0.92,0.21 -0.01,-0.09 -0.02,-0.18 -0.03,-0.27 -0.03,-0.25 -0.05,-0.5 -0.08,-0.75 -0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 0.03,0.25 0.05,0.5 0.08,0.75 0.01,0.11 0.02,0.22 0.03,0.32 -0.68,0.14 -1.36,0.26 -2.03,0.39 0,-0.11 0,-0.21 0,-0.32 0,-0.06 -0.09,-0.06 -0.09,0 0,0.11 0,0.22 0,0.34 -5.47,1 -11.03,1.54 -16.57,1.92 -8.65,0.59 -17.33,1.05 -26,1.16 -8.74,0.11 -17.55,-0.17 -26.21,-1.5 -1.72,-0.26 -3.44,-0.58 -5.15,-0.92 -0.02,-0.05 -0.04,-0.1 -0.06,-0.15 -0.05,-0.21 -0.05,-0.43 0,-0.64 0.04,-0.15 -0.19,-0.21 -0.23,-0.06 -0.07,0.25 -0.07,0.52 -0.01,0.78 0,0.01 0.01,0.02 0.01,0.03 -1.37,-0.28 -2.73,-0.58 -4.09,-0.92 0,-0.02 0,-0.04 -0.01,-0.06 -0.04,-0.23 -0.09,-0.47 -0.13,-0.7 -0.09,-0.47 -0.17,-0.94 -0.26,-1.41 -0.03,-0.17 -0.28,-0.1 -0.25,0.07 0.08,0.46 0.15,0.92 0.23,1.39 0.04,0.21 0.07,0.42 0.11,0.63 -0.39,-0.1 -0.78,-0.21 -1.17,-0.31 l -0.01,-0.1 c -0.03,-0.22 -0.06,-0.44 -0.08,-0.66 -0.01,-0.06 -0.05,-0.11 -0.11,-0.11 -0.05,0 -0.12,0.05 -0.11,0.11 l 0.08,0.68 v 0.02 c -0.33,-0.09 -0.67,-0.17 -1,-0.27 -0.01,-0.04 -0.03,-0.08 -0.05,-0.12 -0.03,-0.06 -0.07,-0.13 -0.1,-0.19 -0.06,-0.13 -0.1,-0.26 -0.13,-0.39 -0.06,-0.27 -0.06,-0.56 0,-0.83 0.03,-0.15 -0.2,-0.21 -0.23,-0.06 -0.07,0.31 -0.07,0.63 -0.01,0.94 0.03,0.15 0.08,0.3 0.14,0.44 0.02,0.04 0.04,0.08 0.06,0.14 -0.05,-0.01 -0.1,-0.03 -0.15,-0.04 -0.83,-0.24 -1.69,-0.49 -2.53,-0.77 0,-0.01 0,-0.03 0.01,-0.04 0.02,-0.14 0.03,-0.28 0.04,-0.42 0.03,-0.29 0.05,-0.57 0.08,-0.86 0.01,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.12,0.06 -0.13,0.13 -0.03,0.28 -0.06,0.56 -0.09,0.84 -0.01,0.13 -0.03,0.26 -0.04,0.39 -2.43,-0.83 -4.81,-1.92 -6.62,-3.74 -0.28,-0.28 -0.53,-0.58 -0.77,-0.88 -0.01,-0.03 -0.02,-0.07 -0.02,-0.1 -0.08,-0.34 -0.17,-0.68 -0.28,-1.02 -0.21,-0.68 -0.43,-1.35 -0.56,-2.05 -0.03,-0.16 -0.05,-0.32 -0.07,-0.49 0.19,0.25 0.4,0.49 0.62,0.72 0.03,0.44 0.09,0.89 0.15,1.33 0.03,0.22 0.05,0.44 0.08,0.66 0.03,0.21 0.04,0.46 0.13,0.66 0.05,0.1 0.22,0.08 0.24,-0.03 0.04,-0.21 -0.01,-0.44 -0.03,-0.65 -0.02,-0.23 -0.06,-0.46 -0.08,-0.69 -0.04,-0.31 -0.08,-0.62 -0.13,-0.94 0.06,0.06 0.12,0.11 0.18,0.16 1.42,1.51 3.24,2.6 5.16,3.45 0.01,0.14 0.02,0.27 0.04,0.41 0.04,0.22 0.11,0.44 0.19,0.65 0.07,0.19 0.17,0.43 0.32,0.57 0.08,0.08 0.21,0 0.18,-0.11 -0.05,-0.2 -0.17,-0.39 -0.24,-0.58 -0.07,-0.19 -0.13,-0.39 -0.17,-0.59 -0.02,-0.08 -0.02,-0.15 -0.03,-0.23 0.25,0.11 0.5,0.22 0.76,0.32 2.86,1.11 5.86,1.93 8.87,2.62 -0.07,0 -0.16,0.05 -0.14,0.15 0.05,0.36 0.1,0.72 0.15,1.08 0.03,0.18 0.05,0.36 0.08,0.54 0.01,0.08 0.03,0.16 0.05,0.25 0.02,0.09 0.03,0.19 0.08,0.26 0.05,0.07 0.16,0.06 0.19,-0.02 0.03,-0.09 0.01,-0.18 0,-0.28 -0.01,-0.08 -0.02,-0.16 -0.03,-0.25 -0.03,-0.19 -0.06,-0.37 -0.09,-0.56 -0.06,-0.37 -0.12,-0.73 -0.18,-1.1 -0.01,-0.04 -0.02,-0.06 -0.05,-0.07 1.14,0.26 2.29,0.5 3.42,0.73 8.83,1.76 17.85,2.42 26.84,2.48 8.98,0.06 17.96,-0.36 26.92,-0.9 8.57,-0.52 17.2,-1.29 25.55,-3.43 -0.02,0.02 -0.03,0.05 -0.03,0.08 0.03,0.48 0.05,0.96 0.08,1.44 0.01,0.23 0.02,0.47 0.04,0.7 -0.59,0.15 -1.16,0.31 -1.73,0.44 z m 17.03,-6.97 c 0,-0.04 0,-0.08 0,-0.12 0,-0.29 0,-0.57 0,-0.86 0,-0.18 -0.28,-0.18 -0.28,0 0,0.29 0,0.57 0,0.86 0,0.11 0,0.22 0,0.34 -0.28,0.2 -0.55,0.41 -0.83,0.6 0,-0.14 0,-0.29 0,-0.43 0,-0.4 -0.01,-0.8 -0.01,-1.21 0,-0.19 -0.3,-0.19 -0.3,0 0,0.4 -0.01,0.8 -0.01,1.21 0,0.19 0,0.39 0,0.58 0,0.02 0,0.03 0,0.05 -0.33,0.21 -0.65,0.41 -0.99,0.6 0,-0.01 0,-0.02 0,-0.03 0,-0.48 -0.01,-0.96 -0.01,-1.44 0,-0.18 -0.28,-0.18 -0.28,0 0,0.48 -0.01,0.96 -0.01,1.44 0,0.06 0,0.13 0,0.19 -0.38,0.21 -0.78,0.39 -1.17,0.59 v -0.91 c 0,-0.18 -0.29,-0.18 -0.29,0 v 1.01 c 0,0.01 0,0.03 0,0.04 -0.4,0.2 -0.8,0.41 -1.21,0.6 l -0.15,-0.88 c -0.03,-0.17 -0.28,-0.1 -0.25,0.07 0.05,0.3 0.1,0.61 0.15,0.91 -1.53,0.68 -3.09,1.28 -4.68,1.82 0,-0.02 0,-0.03 0,-0.05 0.03,-0.31 0.05,-0.62 0.08,-0.93 0.01,-0.08 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 -0.03,0.3 -0.06,0.61 -0.09,0.91 -0.01,0.06 -0.01,0.12 -0.02,0.17 -0.35,0.12 -0.7,0.22 -1.06,0.34 -0.01,-0.04 -0.03,-0.09 -0.04,-0.13 -0.06,-0.17 -0.11,-0.34 -0.17,-0.51 -0.02,-0.07 -0.09,-0.11 -0.17,-0.09 -0.07,0.02 -0.12,0.1 -0.09,0.17 0.06,0.17 0.11,0.34 0.17,0.51 0.02,0.05 0.03,0.09 0.05,0.14 -0.43,0.13 -0.85,0.27 -1.28,0.39 -0.01,-0.06 -0.01,-0.12 -0.02,-0.17 -0.03,-0.25 -0.06,-0.5 -0.08,-0.75 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.03,0.25 0.06,0.51 0.08,0.76 0.01,0.08 0.02,0.16 0.03,0.24 -0.08,0.02 -0.15,0.05 -0.22,0.07 -0.43,0.12 -0.87,0.23 -1.31,0.35 -0.01,-0.22 -0.03,-0.44 -0.04,-0.66 -0.03,-0.47 -0.05,-0.94 -0.08,-1.41 0,-0.07 -0.05,-0.11 -0.11,-0.12 4.1,-1.06 8.11,-2.46 11.93,-4.28 1.67,-0.79 3.26,-1.71 4.71,-2.86 0.85,-0.68 1.73,-1.49 2.4,-2.41 -0.01,0.38 -0.02,0.77 -0.07,1.14 -0.03,0.19 -0.08,0.39 -0.12,0.59 -0.01,-0.17 -0.02,-0.35 -0.03,-0.52 -0.01,-0.16 -0.25,-0.16 -0.25,0 0,0.24 0.01,0.48 0,0.72 0,0.12 -0.01,0.24 -0.01,0.36 0,0.11 -0.01,0.23 0,0.34 -0.08,0.09 -0.14,0.18 -0.22,0.26 -0.16,0.16 -0.34,0.3 -0.51,0.45 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.03 0,-0.02 0,0 0,-0.02 0,-0.05 -0.01,-0.07 0,-0.02 0,-0.04 0,-0.07 0,0 0,0 0,0 0,-0.01 0,-0.02 0.01,-0.03 0,-0.02 0.01,-0.04 0.02,-0.06 0,0 0,-0.01 0.01,-0.02 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.01,-0.02 0.02,-0.04 0.03,-0.06 0,0 0.01,-0.01 0.01,-0.02 0,0 0,0 0,0 l 0.01,-0.01 c 0.01,-0.02 0.03,-0.03 0.05,-0.04 0,0 0,0 0,0 0,0 0,0 0,0 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.07,-0.04 0.1,-0.15 0.06,-0.22 -0.05,-0.08 -0.14,-0.1 -0.22,-0.06 -0.23,0.12 -0.35,0.37 -0.36,0.62 0,0.13 0.02,0.26 0.08,0.37 0.01,0.02 0.03,0.03 0.04,0.05 -0.21,0.17 -0.41,0.35 -0.62,0.5 0,-0.13 -0.01,-0.26 -0.01,-0.4 -0.01,-0.34 -0.01,-0.68 -0.02,-1.01 0,-0.21 -0.32,-0.21 -0.32,0 -0.01,0.34 -0.01,0.68 -0.02,1.01 0,0.17 -0.01,0.33 -0.01,0.5 0,0.06 0,0.11 0,0.17 -0.22,0.15 -0.43,0.31 -0.65,0.44 -0.22,0.19 -0.44,0.33 -0.65,0.5 z m 10.3,-1.8 c -0.01,0 -0.02,0 -0.04,0.01 -0.12,0.01 -0.23,0.03 -0.35,0.04 0.12,-0.02 -0.12,0.01 -0.14,0.01 -0.06,0.01 -0.12,0.01 -0.18,0.01 -0.15,0.01 -0.31,0.01 -0.46,0 -0.07,0 -0.14,-0.01 -0.21,-0.01 -0.02,0 -0.16,-0.02 -0.17,-0.02 -0.13,-0.02 -0.27,-0.05 -0.4,-0.07 -0.09,-0.01 -0.2,-0.04 -0.3,-0.06 0,-0.1 0,-0.19 -0.01,-0.28 -0.01,-0.2 -0.02,-0.4 -0.04,-0.6 -0.01,-0.16 -0.02,-0.31 -0.04,-0.46 0.25,0.01 0.51,0.04 0.76,0.05 0.6,0.02 1.21,0.02 1.81,0.01 -0.01,0.17 -0.02,0.34 -0.02,0.5 0,0.29 0.02,0.57 0.03,0.86 -0.04,0 -0.08,0 -0.11,0 -0.06,0 -0.1,0 -0.13,0.01 z m 3.12,-3.92 c -0.1,0.07 -0.2,0.15 -0.31,0.22 -0.21,0.15 -0.43,0.3 -0.63,0.46 -0.18,0.14 -0.35,0.29 -0.52,0.43 -0.05,-0.02 -0.09,-0.03 -0.14,-0.04 0,-0.01 -0.01,-0.03 -0.01,-0.04 -0.07,-0.3 -0.2,-0.59 -0.32,-0.87 0.02,-0.02 0.04,-0.05 0.05,-0.08 0.15,0.05 0.31,0.05 0.45,-0.04 l 1.11,-0.72 c 0.3,-0.2 0.58,-0.42 0.86,-0.65 -0.01,0.1 -0.03,0.21 -0.04,0.31 -0.02,0.23 -0.03,0.46 -0.05,0.69 0,0.03 0,0.06 0,0.1 -0.01,0 -0.02,0 -0.02,0 -0.17,0.07 -0.3,0.14 -0.43,0.23 z m -3.86,-12.74 c -0.83,0.06 -1.66,0.16 -2.49,0.26 -0.54,0.07 -1.08,0.15 -1.61,0.26 -0.12,-0.05 -0.24,-0.1 -0.35,-0.15 -0.24,-0.1 -0.48,-0.21 -0.72,-0.32 -0.51,-0.23 -1.03,-0.48 -1.53,-0.73 -0.49,-0.25 -0.97,-0.51 -1.45,-0.78 -0.26,-0.14 -0.52,-0.27 -0.78,-0.39 -0.11,-0.05 -0.22,-0.1 -0.33,-0.14 -0.01,0 -0.02,-0.02 -0.03,-0.02 -0.02,-0.01 -0.03,0 -0.05,-0.01 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,-0.03 0,-0.05 0.01,-0.08 0.13,0.09 0.27,0.18 0.41,0.24 0.38,0.17 0.78,0.29 1.19,0.35 0.44,0.06 0.89,0.02 1.33,-0.06 0.33,-0.06 0.64,-0.2 0.91,-0.38 0.02,0 0.03,0.01 0.05,0.01 0.66,0.48 1.45,0.79 2.21,1.06 0.9,0.32 1.82,0.56 2.76,0.71 0.26,0.04 0.52,-0.03 0.68,-0.23 0.59,0 1.18,-0.06 1.77,-0.12 0.46,-0.04 0.92,-0.09 1.38,-0.14 0.01,0.16 0.04,0.32 0.09,0.47 -1.15,0.05 -2.29,0.11 -3.43,0.2 z m 3.21,-2.73 c 0.01,0.24 0,0.49 0.02,0.73 0.01,0.1 0.02,0.21 0.03,0.31 -0.45,0.05 -0.9,0.1 -1.34,0.15 -0.61,0.07 -1.22,0.14 -1.82,0.27 -0.04,-0.04 -0.1,-0.06 -0.15,-0.09 -0.02,-0.12 -0.04,-0.25 -0.07,-0.36 -0.03,-0.17 -0.06,-0.35 -0.1,-0.52 -0.03,-0.11 -0.05,-0.23 -0.08,-0.34 0.63,-0.03 1.27,-0.07 1.9,-0.1 0.38,-0.02 0.76,-0.03 1.13,-0.04 0.16,0 0.32,-0.01 0.48,-0.01 z m -4.59,0.22 c 0.01,0.14 0.02,0.28 0.03,0.42 0.01,0.15 0.04,0.31 0.06,0.46 -0.52,-0.12 -1.03,-0.25 -1.54,-0.41 -0.67,-0.22 -1.33,-0.52 -2,-0.74 -0.02,-0.52 -0.05,-1.05 -0.08,-1.57 0,0 0.01,0.01 0.01,0.01 0.17,0.11 0.35,0.21 0.52,0.3 0.36,0.2 0.74,0.38 1.12,0.57 0.36,0.18 0.72,0.37 1.08,0.55 0.25,0.14 0.52,0.29 0.8,0.41 z m -2.29,-2.64 c 0.31,-0.05 0.61,-0.09 0.92,-0.14 0.31,-0.05 0.66,-0.06 0.95,-0.17 0.01,0 0.02,-0.01 0.04,-0.02 0.75,0.45 1.59,0.75 2.4,1.08 0.5,0.21 1.01,0.41 1.51,0.62 -0.23,0.04 -0.46,0.08 -0.68,0.11 -0.68,0.1 -1.37,0.19 -2.05,0.29 -0.09,-0.15 -0.24,-0.26 -0.42,-0.23 -0.01,0 -0.02,0.01 -0.03,0.02 -0.21,-0.1 -0.43,-0.2 -0.63,-0.3 l -1.13,-0.56 c -0.36,-0.18 -0.72,-0.37 -1.09,-0.53 -0.08,-0.04 -0.17,-0.07 -0.25,-0.11 0.16,-0.02 0.31,-0.04 0.46,-0.06 z m -2.46,-0.77 c 0.01,0.38 0.02,0.76 0.04,1.13 0.02,0.64 0.04,1.28 0.06,1.92 -0.21,0.06 -0.43,0.13 -0.64,0.18 -0.18,0.04 -0.28,0.06 -0.42,0.07 -0.18,0.02 -0.36,0.02 -0.55,0.01 -0.58,0 -1.18,-0.14 -1.71,-0.4 0,-0.01 0,-0.01 0,-0.02 -0.02,-0.39 -0.03,-0.78 -0.05,-1.18 0,-0.02 0,-0.03 0,-0.05 0.25,0 0.5,0 0.75,0 0.08,0 0.17,0 0.25,0 0.01,0.09 0.02,0.17 0.02,0.26 0.01,0.11 0.02,0.22 0.02,0.33 -0.23,0.02 -0.47,0.03 -0.7,0.05 -0.17,0.01 -0.17,0.28 0,0.27 0.24,-0.02 0.48,-0.04 0.72,-0.05 0.02,0.2 0.04,0.4 0.1,0.58 0.04,0.13 0.22,0.1 0.24,-0.03 0.02,-0.18 0.01,-0.38 -0.01,-0.57 0.23,-0.02 0.46,-0.03 0.69,-0.06 0.02,0.22 0.04,0.44 0.12,0.65 0.02,0.06 0.12,0.07 0.13,0 0.05,-0.23 0.02,-0.46 0,-0.69 0.1,-0.03 0.08,-0.17 -0.02,-0.2 -0.03,-0.27 -0.05,-0.54 -0.08,-0.81 -0.04,-0.36 -0.07,-0.72 -0.11,-1.08 0.07,-0.04 0.15,-0.06 0.21,-0.11 0.07,-0.05 0.03,-0.18 -0.06,-0.15 -0.06,0.02 -0.11,0.04 -0.17,0.06 -0.02,-0.16 -0.03,-0.31 -0.05,-0.47 -0.01,-0.14 -0.23,-0.14 -0.22,0 0.02,0.18 0.03,0.37 0.05,0.55 -0.23,0.09 -0.47,0.17 -0.72,0.23 -0.04,-0.35 -0.07,-0.7 -0.11,-1.05 0.75,-0.05 1.5,-0.13 2.25,-0.24 -0.05,0.29 -0.03,0.6 -0.03,0.87 z m -2.01,-5.91 c 1.1,-0.02 2.21,0.01 3.31,0.07 0.54,0.03 1.07,0.06 1.61,0.09 0.24,0.01 0.5,0.02 0.74,0.06 -2.01,0.42 -4.02,0.7 -6.08,0.79 -1.13,0.05 -2.26,0.05 -3.39,0.02 -0.65,-0.02 -1.45,0 -2.1,-0.26 0.85,-0.17 1.68,-0.38 2.54,-0.51 1.11,-0.17 2.24,-0.24 3.37,-0.26 z m -5.76,3.78 c -0.18,-0.06 -0.42,-0.17 -0.61,-0.31 0.08,-0.09 0.12,-0.21 0.13,-0.34 0.02,-0.24 -0.05,-0.49 -0.1,-0.72 -0.03,-0.19 -0.07,-0.38 -0.1,-0.57 -0.01,-0.07 -0.03,-0.14 -0.04,-0.21 0.52,0.35 1.15,0.5 1.83,0.57 1.25,0.12 2.51,0.12 3.76,0.09 2.43,-0.06 4.89,-0.31 7.29,-0.74 0,0.04 0,0.08 0,0.12 v 0.63 c 0,0.1 0,0.21 0,0.31 -2.24,0.74 -4.55,1.22 -6.91,1.37 -1.19,0.08 -2.38,0.08 -3.57,0.02 -0.55,-0.03 -1.15,-0.03 -1.68,-0.22 z m 4.62,1.58 c 0.22,-0.01 0.45,-0.03 0.67,-0.05 0.03,0.36 0.07,0.72 0.1,1.08 -0.32,0.05 -0.64,0.07 -0.96,0.04 -0.02,-0.35 -0.02,-0.76 -0.16,-1.08 0.11,0 0.23,0.01 0.35,0.01 z m -2.69,3.32 c 0,0.01 0,0.02 0,0.03 0.01,0.17 0.01,0.34 0.02,0.5 0.01,0.21 0,0.42 0.08,0.62 0,0.01 0.02,0.02 0.02,0.03 -0.11,0 -0.21,0.01 -0.32,0.02 -1.01,0.04 -2.02,0.07 -3.02,0.07 -0.09,0 -0.18,0 -0.27,0 0.17,-0.11 0.27,-0.31 0.21,-0.52 -0.04,-0.12 -0.07,-0.25 -0.1,-0.37 0.1,0.01 0.21,0.03 0.31,0.04 0.79,0.07 1.59,0.01 2.36,-0.18 0.24,-0.05 0.47,-0.15 0.71,-0.24 z m -3.42,-0.7 c 0.1,-0.09 0.27,-0.11 0.39,-0.14 0.19,-0.05 0.39,-0.09 0.59,-0.13 0.58,-0.11 1.16,-0.15 1.75,-0.19 0.02,0.06 0.05,0.11 0.09,0.15 -0.27,0.09 -0.54,0.16 -0.82,0.22 -0.33,0.07 -0.67,0.12 -1.01,0.15 -0.3,0.02 -0.71,0.05 -0.96,0 0,0 -0.04,-0.01 -0.08,-0.01 0.02,-0.02 0.03,-0.04 0.05,-0.05 z m -0.93,0.82 c 0.02,0.3 0.06,0.6 0.15,0.89 0.03,0.11 0.11,0.2 0.2,0.26 -0.25,0 -0.51,0 -0.76,-0.01 0.02,-0.06 0.04,-0.12 0.05,-0.19 0.02,-0.31 0.01,-0.62 -0.01,-0.93 0.12,0 0.25,0 0.37,-0.02 z m -2.24,0.09 c 0.26,0.01 0.52,0.01 0.78,-0.03 -0.01,0.3 -0.03,0.6 -0.01,0.89 0,0.06 0.02,0.12 0.05,0.18 -0.13,0 -0.25,0 -0.38,0 -0.89,-0.02 -1.82,-0.09 -2.72,-0.03 0.03,-0.26 0.05,-0.53 0.09,-0.79 0.01,-0.1 0.03,-0.21 0.04,-0.31 0.35,0.02 0.7,0.03 1.04,0.04 0.37,0.02 0.74,0.04 1.11,0.05 z m -0.41,-1.27 c 0.06,0.01 0.11,0.03 0.17,0.04 -0.25,-0.01 -0.49,-0.01 -0.74,-0.02 -0.34,-0.01 -0.69,-0.02 -1.03,-0.03 0,-0.07 0.01,-0.13 0.01,-0.19 0.18,0.02 0.37,0.05 0.55,0.07 0.35,0.03 0.69,0.06 1.04,0.13 z m -8.55,-13.08 c 0.28,-0.62 0.77,-1.12 1.38,-1.4 1.42,-0.67 3.03,-0.31 4.4,0.29 2.34,1.02 5.43,3.08 4.99,6.05 -0.16,1.1 -0.91,1.92 -1.89,2.23 0.93,-0.62 0.98,-2.14 0.77,-3.12 -0.26,-1.26 -1.07,-2.27 -2.08,-3.03 -1.02,-0.77 -2.26,-1.26 -3.48,-1.58 -0.81,-0.21 -1.69,-0.26 -2.47,-0.01 -0.13,-0.15 -0.34,-0.23 -0.54,-0.11 -0.16,0.1 -0.33,0.2 -0.46,0.34 -0.14,0.16 -0.28,0.33 -0.4,0.5 -0.13,0.18 -0.25,0.37 -0.38,0.55 0.01,-0.23 0.05,-0.46 0.16,-0.71 z m -1.55,3.42 c 0.04,0.15 0.13,0.29 0.28,0.37 0.13,0.07 0.28,0.09 0.43,0.06 0.14,0.11 0.27,0.22 0.38,0.37 0.03,0.04 0.05,0.09 0.07,0.13 -0.62,0.59 -1.25,1.17 -1.96,1.66 -0.81,0.56 -1.69,1.03 -2.59,1.44 -0.07,-0.21 -0.14,-0.41 -0.2,-0.62 -0.03,-0.08 -0.05,-0.16 -0.08,-0.24 0.15,-0.09 0.31,-0.17 0.44,-0.29 0.6,-0.51 0.86,-1.36 0.41,-2.06 -0.42,-0.66 -1.17,-0.91 -1.92,-0.98 -0.15,-0.46 -0.29,-0.92 -0.44,-1.38 0.89,0.18 1.77,0.37 2.64,0.62 0.84,0.27 1.73,0.53 2.54,0.92 z m -5.73,-3.2 c -0.3,-0.93 -0.6,-1.86 -0.9,-2.79 0.13,0 0.25,-0.01 0.38,-0.01 0.18,-0.01 0.37,-0.03 0.55,-0.04 0.1,-0.01 0.2,-0.02 0.3,-0.02 0.02,0 0.04,0 0.05,0 0.02,0.22 0.04,0.45 0.05,0.67 0.04,0.6 0.12,1.29 -0.16,1.85 -0.06,0.12 -0.16,0.23 -0.27,0.34 z m -0.61,-6.4 c 0.1,0.12 0.24,0.21 0.41,0.19 0.15,-0.02 0.29,-0.06 0.41,-0.13 -0.03,0.23 -0.06,0.47 -0.05,0.72 0.01,0.35 0.06,0.71 0.09,1.06 0.01,0.12 0.02,0.24 0.03,0.36 -0.1,0.01 -0.19,0.02 -0.29,0.04 -0.23,0.03 -0.46,0.05 -0.68,0.09 -0.18,0.03 -0.36,0.06 -0.54,0.1 -0.01,0 -0.03,0.01 -0.04,0.01 -0.18,-0.55 -0.36,-1.1 -0.53,-1.66 0.04,-0.27 0.06,-0.55 0.06,-0.83 0.37,0.02 0.75,0.05 1.13,0.05 z m 2.52,11.17 c 0,0.02 0,0.05 0,0.07 0,0 0,0 0,0.02 -0.03,0.11 -0.13,0.22 -0.24,0.32 -0.1,-0.29 -0.19,-0.59 -0.28,-0.88 0.1,0.04 0.21,0.06 0.3,0.13 -0.03,-0.02 0.1,0.09 0.13,0.12 0.05,0.05 0.05,0.05 0.09,0.14 -0.05,-0.09 0,0.1 0,0.08 z m 0.34,-18.06 c 0,0.29 0.02,0.59 0.02,0.84 0.01,0.63 0.01,1.25 0.03,1.88 0.01,0.63 0.03,1.25 0.04,1.88 0.01,0.3 0,0.6 0.01,0.89 -0.09,0.01 -0.19,0.02 -0.27,0.02 -0.46,0.02 -0.92,0.04 -1.38,0.06 -0.13,0.01 -0.25,0.01 -0.38,0.02 -0.04,-0.9 -0.08,-1.8 -0.12,-2.69 -0.03,-0.59 -0.06,-1.19 -0.08,-1.78 -0.02,-0.35 -0.02,-0.75 -0.07,-1.13 0.05,0 0.11,0 0.16,0 0.68,0.01 1.36,0.01 2.04,0.01 z m -3.22,-0.04 c 0,0.13 0,0.27 0,0.39 0,0.27 0,0.55 0.01,0.82 0.02,0.59 0.04,1.19 0.06,1.78 0.03,0.89 0.06,1.79 0.1,2.68 -0.33,0.02 -0.67,0.07 -1,0.12 -0.03,-0.31 -0.05,-0.62 -0.06,-0.92 -0.05,-1.08 -0.09,-2.16 -0.15,-3.24 -0.03,-0.57 -0.06,-1.14 -0.09,-1.71 0.38,0.05 0.75,0.07 1.13,0.08 z m -3.53,-4.32 c 0.37,0 0.74,0.01 1.11,-0.01 -0.05,0.39 -0.04,0.78 -0.04,1.17 0.01,0.52 0.03,1.05 0.05,1.57 0.04,1.08 0.08,2.16 0.12,3.24 0.02,0.59 0.05,1.18 0.08,1.76 -0.33,-1.04 -0.67,-2.08 -1,-3.12 -0.49,-1.54 -0.98,-3.08 -1.48,-4.62 0.38,-0.01 0.77,0 1.16,0.01 z m -0.45,7.56 c 2.08,6.56 4.18,13.12 6.32,19.66 1.78,5.44 3.61,10.87 5.4,16.31 -0.54,-0.01 -1.09,0.01 -1.61,0.01 -0.84,0 -1.68,0 -2.52,0.03 -1.61,0.05 -3.23,0.17 -4.84,0.3 -1.64,0.14 -3.28,0.31 -4.92,0.51 -0.8,0.1 -1.61,0.17 -2.41,0.28 0,0 0,0 0,0 0.19,-0.2 0.38,-0.4 0.57,-0.61 0.02,0.01 0.04,0.03 0.06,0.02 1.3,-0.06 2.6,-0.14 3.9,-0.22 0.63,-0.04 1.27,-0.09 1.9,-0.13 0.32,-0.02 0.65,-0.04 0.97,-0.07 0.31,-0.02 0.67,-0.01 0.97,-0.12 0.14,-0.05 0.17,-0.28 0,-0.31 -0.3,-0.06 -0.62,-0.01 -0.92,0.01 l -0.97,0.07 c -0.65,0.05 -1.3,0.09 -1.95,0.14 -1.22,0.09 -2.45,0.19 -3.67,0.3 0.42,-0.47 0.83,-0.97 1.23,-1.47 0.01,0 0.01,0.01 0.02,0.01 0.19,0.03 0.38,0.02 0.57,0.01 0.17,0 0.35,-0.01 0.53,-0.02 0.18,-0.01 0.35,-0.03 0.53,-0.04 0.17,-0.01 0.39,-0.02 0.54,-0.11 0.06,-0.04 0.07,-0.15 0,-0.18 -0.16,-0.08 -0.36,-0.07 -0.54,-0.07 -0.17,0 -0.35,0 -0.53,0 -0.18,0.01 -0.35,0.02 -0.53,0.03 -0.1,0.01 -0.21,0.01 -0.32,0.02 0.83,-1.09 1.56,-2.24 2.12,-3.49 0.6,-1.34 0.99,-2.77 1.09,-4.24 0.12,-1.74 -0.14,-3.46 -0.51,-5.16 -0.78,-3.49 -1.81,-6.94 -2.74,-10.4 -0.93,-3.45 -1.86,-6.9 -2.8,-10.35 -1.88,-6.93 -3.81,-13.85 -5.8,-20.75 -1.97,-6.87 -3.95,-13.74 -5.9,-20.61 -1.96,-6.91 -3.92,-13.82 -5.97,-20.7 -0.11,-0.38 -0.47,-0.46 -0.75,-0.34 -1.81,-0.25 -3.62,-0.42 -5.46,-0.39 -0.91,0.02 -1.83,0.07 -2.73,0.18 -0.75,0.09 -1.62,0.14 -2.35,0.41 -0.26,-0.03 -0.52,0.08 -0.6,0.41 -1.58,7.01 -3.07,14.03 -4.56,21.06 -1.49,6.99 -3,13.98 -4.5,20.96 -1.52,7.02 -2.98,14.05 -4.39,21.09 -0.7,3.51 -1.4,7.01 -2.09,10.52 -0.69,3.51 -1.5,7.02 -2.03,10.56 -0.26,1.72 -0.4,3.45 -0.17,5.18 0.19,1.39 0.64,2.71 1.28,3.96 0.02,0.14 0.08,0.28 0.2,0.37 1.21,2.19 2.95,4.05 4.79,5.74 0,0 0,0 0,0 -0.81,-0.05 -1.61,-0.07 -2.42,-0.11 -1.65,-0.09 -3.29,-0.15 -4.94,-0.18 -1.61,-0.03 -3.24,-0.03 -4.85,0.02 -0.84,0.03 -1.68,0.09 -2.52,0.14 -0.53,0.03 -1.07,0.06 -1.61,0.11 1.43,-5.55 2.89,-11.1 4.3,-16.65 1.69,-6.67 3.35,-13.35 4.98,-20.04 1.63,-6.69 3.12,-13.41 4.69,-20.12 1.57,-6.7 3.1,-13.41 4.61,-20.13 1.5,-6.72 2.97,-13.45 4.36,-20.19 0.08,-0.38 0.15,-0.76 0.22,-1.14 0.32,-0.13 0.58,-0.52 0.44,-0.86 -0.06,-0.14 -0.13,-0.28 -0.19,-0.43 0,-0.02 0.01,-0.05 0.01,-0.07 0.05,-0.29 -0.11,-0.5 -0.31,-0.61 -0.32,-0.72 -0.67,-1.42 -1.04,-2.11 0,0 0,0 0,0 -0.05,-0.09 -0.09,-0.19 -0.15,-0.28 0.34,0.02 0.68,0.03 1.02,0.05 0.18,0.01 0.37,0.02 0.55,0.03 0.18,0.01 0.36,0.03 0.54,0 0.09,-0.02 0.08,-0.16 0,-0.18 -0.17,-0.05 -0.36,-0.04 -0.54,-0.05 -0.18,-0.01 -0.37,-0.02 -0.55,-0.03 -0.37,-0.02 -0.74,-0.03 -1.11,-0.05 -0.02,0 -0.02,0.01 -0.04,0.01 -0.31,-0.54 -0.64,-1.08 -0.99,-1.59 -0.13,-0.19 -0.26,-0.39 -0.4,-0.59 1.21,0.13 2.43,0.2 3.64,0.27 2.03,0.12 4.06,0.2 6.09,0.24 4.07,0.08 8.13,-0.01 12.19,-0.28 1.16,-0.07 2.32,-0.16 3.47,-0.27 0.56,-0.05 1.13,-0.08 1.71,-0.12 -0.48,0.44 -0.93,0.92 -1.34,1.47 -0.66,0.87 -1.18,1.83 -1.64,2.82 -0.29,0.06 -0.55,0.32 -0.45,0.69 0.03,0.11 0.06,0.23 0.09,0.34 0,0.13 0.04,0.25 0.1,0.36 0.15,0.59 0.31,1.17 0.47,1.76 1.84,6.63 3.75,13.25 5.7,19.85 1.95,6.6 3.94,13.19 5.95,19.78 2.03,6.6 3.98,13.21 6.05,19.77 z m 21.64,-77.03 c -0.99,5.9 -2.99,11.6 -5.86,16.85 -2.87,5.24 -6.56,10.03 -10.95,14.09 -4.27,3.96 -9.18,7.18 -14.52,9.51 -0.09,-0.3 -0.18,-0.6 -0.27,-0.9 0.84,-0.38 1.67,-0.75 2.5,-1.15 l 1.49,-0.71 c 0.26,-0.13 0.53,-0.25 0.79,-0.38 0.24,-0.12 0.51,-0.23 0.7,-0.42 0.09,-0.09 0.03,-0.29 -0.12,-0.28 -0.26,0.02 -0.49,0.15 -0.73,0.26 -0.25,0.12 -0.49,0.24 -0.74,0.36 -0.52,0.26 -1.04,0.51 -1.57,0.77 -0.81,0.4 -1.62,0.82 -2.42,1.24 -0.09,-0.3 -0.18,-0.6 -0.27,-0.91 0.43,-0.18 0.86,-0.36 1.28,-0.55 0.36,-0.16 0.72,-0.32 1.08,-0.48 0.34,-0.15 0.73,-0.33 1.01,-0.58 0.06,-0.06 0.02,-0.18 -0.07,-0.17 -0.35,0.04 -0.71,0.2 -1.03,0.33 -0.38,0.16 -0.75,0.34 -1.12,0.51 -0.42,0.19 -0.84,0.39 -1.26,0.59 -0.02,-0.07 -0.04,-0.14 -0.06,-0.21 2.42,-1.05 4.76,-2.29 6.97,-3.73 4.73,-3.08 8.91,-6.99 12.35,-11.47 3.47,-4.53 6.2,-9.6 8.02,-15 1.82,-5.4 2.71,-11.1 2.57,-16.79 -0.03,-1.37 -0.14,-2.73 -0.28,-4.09 0.15,-0.06 0.31,-0.13 0.46,-0.19 0.01,0.05 0.02,0.1 0.03,0.15 0.07,0.42 0.13,0.84 0.18,1.26 0.1,0.83 0.16,1.67 0.19,2.51 0.03,0.84 0.06,1.68 0.03,2.51 -0.01,0.22 -0.01,0.44 -0.01,0.66 0,0.21 0.04,0.43 0,0.64 -0.04,0.22 -0.1,0.42 -0.14,0.64 -0.03,0.2 -0.04,0.41 -0.06,0.61 -0.02,0.17 0.28,0.22 0.31,0.04 0.03,-0.2 0.07,-0.4 0.09,-0.61 0.02,-0.22 -0.01,-0.44 -0.01,-0.66 0,-0.24 0.08,-0.48 0.11,-0.72 0.02,-0.17 0.04,-0.34 0.05,-0.51 0.05,-0.87 0.09,-1.74 0.05,-2.61 -0.03,-0.85 -0.1,-1.71 -0.2,-2.55 -0.05,-0.41 -0.11,-0.82 -0.17,-1.23 -0.02,-0.1 -0.03,-0.2 -0.05,-0.3 0.07,-0.03 0.13,-0.06 0.2,-0.08 0.23,-0.1 0.46,-0.19 0.69,-0.29 0.04,0.86 0.07,1.72 0.12,2.58 0.04,0.73 0.08,1.46 0.12,2.19 0.04,0.73 0.04,1.47 0.21,2.18 0.03,0.14 0.21,0.09 0.23,-0.03 0.08,-0.73 0,-1.47 -0.05,-2.19 -0.04,-0.73 -0.09,-1.46 -0.13,-2.2 -0.05,-0.89 -0.12,-1.78 -0.19,-2.66 0.24,-0.1 0.48,-0.2 0.73,-0.31 0.58,4.8 0.52,9.7 -0.28,14.48 z m 14.43,-22.25 c -0.03,-0.32 -0.08,-0.64 -0.12,-0.94 -0.1,-0.74 -0.24,-1.47 -0.42,-2.19 -0.36,-1.43 -0.92,-2.79 -1.62,-4.09 -0.06,-0.11 -0.22,-0.01 -0.16,0.1 0.64,1.3 1.12,2.67 1.47,4.07 0.17,0.69 0.31,1.39 0.41,2.1 0.05,0.35 0.09,0.71 0.11,1.07 0,0.01 0,0.02 0,0.02 -0.53,0.23 -1.07,0.45 -1.6,0.68 -0.02,-0.3 -0.04,-0.6 -0.07,-0.89 -0.06,-0.74 -0.16,-1.48 -0.29,-2.21 -0.27,-1.49 -0.69,-2.95 -1.29,-4.34 -0.34,-0.81 -0.74,-1.59 -1.19,-2.35 -0.07,-0.11 -0.24,-0.01 -0.17,0.1 0.91,1.69 1.61,3.51 2.06,5.38 0.22,0.93 0.38,1.87 0.48,2.82 0.05,0.48 0.08,0.97 0.09,1.45 0,0.06 0,0.12 0,0.19 -0.54,0.23 -1.08,0.46 -1.62,0.69 -0.03,-1 -0.16,-2.01 -0.38,-2.97 -0.38,-1.67 -1.08,-3.25 -2.01,-4.68 -0.08,-0.12 -0.26,-0.01 -0.19,0.11 0.86,1.43 1.47,3 1.83,4.63 0.23,1.03 0.32,2.06 0.33,3.09 -0.53,0.22 -1.06,0.45 -1.59,0.67 0,-0.25 -0.01,-0.51 -0.02,-0.76 -0.04,-0.75 -0.13,-1.49 -0.25,-2.23 -0.25,-1.49 -0.66,-2.95 -1.25,-4.34 -0.34,-0.8 -0.74,-1.57 -1.18,-2.31 -0.07,-0.11 -0.23,-0.01 -0.17,0.1 0.91,1.67 1.59,3.47 2.02,5.32 0.21,0.92 0.36,1.85 0.43,2.79 0.04,0.48 0.05,0.95 0.06,1.43 0,0.05 0,0.11 0,0.16 -0.36,0.15 -0.73,0.31 -1.09,0.46 -0.03,-0.27 -0.06,-0.53 -0.09,-0.79 -0.1,-0.74 -0.24,-1.47 -0.43,-2.19 -0.38,-1.45 -0.96,-2.81 -1.7,-4.11 -0.05,-0.09 -0.18,-0.01 -0.13,0.08 0.69,1.29 1.2,2.69 1.55,4.11 0.18,0.71 0.31,1.43 0.39,2.16 0.03,0.3 0.05,0.6 0.07,0.9 -0.33,0.14 -0.65,0.28 -0.98,0.42 0,-0.38 -0.05,-0.78 -0.09,-1.14 -0.06,-0.57 -0.16,-1.14 -0.3,-1.69 -0.29,-1.14 -0.74,-2.24 -1.31,-3.27 -0.06,-0.1 -0.22,-0.01 -0.16,0.09 0.56,1.02 0.97,2.11 1.23,3.24 0.13,0.57 0.23,1.14 0.29,1.72 0.03,0.27 0.04,0.54 0.05,0.82 0,0.12 0,0.23 0.01,0.35 -0.34,0.14 -0.67,0.29 -1.01,0.43 -0.45,-3.28 -1.58,-6.49 -3.2,-9.36 -0.07,-0.13 -0.26,-0.01 -0.19,0.11 1.6,2.93 2.57,6.1 3.08,9.38 -0.28,0.12 -0.57,0.24 -0.85,0.36 0.01,-0.33 -0.03,-0.67 -0.06,-0.98 -0.05,-0.44 -0.11,-0.88 -0.2,-1.31 -0.19,-0.9 -0.47,-1.79 -0.82,-2.64 -0.04,-0.09 -0.2,-0.06 -0.16,0.04 0.33,0.83 0.57,1.69 0.73,2.57 0.08,0.44 0.15,0.89 0.19,1.34 0.03,0.35 0.02,0.74 0.07,1.1 -0.42,0.18 -0.83,0.35 -1.25,0.53 -0.03,-0.24 -0.07,-0.49 -0.11,-0.72 -0.07,-0.43 -0.15,-0.86 -0.23,-1.29 -0.17,-0.83 -0.39,-1.65 -0.64,-2.45 -0.5,-1.63 -1.18,-3.2 -1.99,-4.7 -0.06,-0.12 -0.24,-0.01 -0.18,0.11 0.77,1.51 1.39,3.09 1.88,4.71 0.24,0.79 0.44,1.6 0.6,2.41 0.08,0.4 0.15,0.8 0.22,1.2 0.05,0.29 0.08,0.58 0.12,0.87 -0.06,0.03 -0.12,0.05 -0.18,0.08 -0.32,0.14 -0.65,0.28 -0.97,0.41 -0.06,-0.41 -0.13,-0.83 -0.21,-1.23 -0.11,-0.6 -0.24,-1.19 -0.39,-1.77 -0.31,-1.17 -0.68,-2.33 -1.08,-3.47 -0.02,-0.04 -0.09,-0.03 -0.07,0.02 0.39,1.13 0.7,2.29 0.95,3.46 0.12,0.58 0.24,1.16 0.34,1.74 0.08,0.45 0.14,0.91 0.21,1.36 -0.2,0.08 -0.4,0.17 -0.6,0.25 0,-0.01 0,-0.02 0,-0.03 -0.02,-0.18 -0.29,-0.19 -0.29,0 0,0.05 0.01,0.1 0.01,0.15 -0.08,0.03 -0.15,0.07 -0.23,0.1 -0.06,-0.45 -0.13,-0.9 -0.22,-1.34 -0.18,-0.95 -0.41,-1.89 -0.71,-2.81 -0.58,-1.84 -1.38,-3.61 -2.43,-5.24 -0.08,-0.12 -0.26,-0.01 -0.19,0.11 0.94,1.65 1.73,3.4 2.3,5.21 0.28,0.89 0.51,1.8 0.69,2.72 0.09,0.49 0.16,0.98 0.23,1.48 -0.45,0.19 -0.89,0.38 -1.34,0.57 -0.07,-0.34 -0.13,-0.68 -0.21,-1.02 -0.18,-0.8 -0.39,-1.6 -0.64,-2.38 -0.48,-1.55 -1.07,-3.08 -1.8,-4.53 -0.42,-0.83 -0.87,-1.64 -1.36,-2.44 -0.08,-0.12 -0.27,-0.01 -0.19,0.11 1.62,2.79 2.86,5.81 3.61,8.95 0.11,0.44 0.2,0.88 0.29,1.32 0.01,0.03 0.01,0.07 0.02,0.1 -0.55,0.23 -1.09,0.46 -1.64,0.7 -0.01,-0.03 -0.01,-0.07 -0.02,-0.1 -0.11,-0.61 -0.24,-1.21 -0.39,-1.8 -0.31,-1.21 -0.76,-2.38 -1.24,-3.53 -0.02,-0.06 -0.12,-0.03 -0.09,0.03 0.46,1.14 0.8,2.33 1.08,3.53 0.14,0.58 0.26,1.17 0.36,1.77 0.01,0.08 0.02,0.16 0.03,0.24 -0.65,0.28 -1.31,0.56 -1.96,0.83 -0.03,-0.6 -0.08,-1.2 -0.15,-1.79 -0.12,-0.94 -0.3,-1.86 -0.54,-2.78 -0.49,-1.85 -1.25,-3.63 -2.23,-5.28 -0.09,-0.15 -0.31,-0.01 -0.23,0.13 0.95,1.64 1.66,3.4 2.15,5.23 0.24,0.91 0.42,1.84 0.54,2.78 0.08,0.61 0.1,1.23 0.12,1.84 -0.41,0.17 -0.82,0.35 -1.23,0.52 -0.23,-3.11 -1.17,-6.19 -2.58,-8.95 -0.07,-0.13 -0.26,-0.02 -0.2,0.12 0.7,1.54 1.26,3.16 1.68,4.8 0.35,1.38 0.56,2.79 0.72,4.2 -0.38,0.16 -0.77,0.33 -1.15,0.49 -0.43,-2.66 -1.15,-5.27 -2.21,-7.74 -0.37,-0.87 -0.78,-1.72 -1.21,-2.55 -0.07,-0.13 -0.27,-0.01 -0.2,0.12 1.46,2.88 2.53,5.95 3.16,9.12 0.08,0.39 0.13,0.78 0.19,1.18 -0.32,0.14 -0.64,0.27 -0.96,0.41 -0.01,-0.08 -0.02,-0.16 -0.03,-0.24 -0.06,-0.52 -0.15,-1.04 -0.26,-1.56 -0.23,-1.03 -0.57,-2.03 -1.01,-2.99 -0.06,-0.14 -0.27,-0.02 -0.21,0.12 0.42,0.94 0.74,1.93 0.95,2.94 0.11,0.51 0.19,1.02 0.25,1.53 0.01,0.11 0.01,0.21 0.02,0.32 -0.51,0.22 -1.02,0.43 -1.53,0.65 -0.06,-0.5 -0.14,-0.99 -0.23,-1.47 -0.17,-0.96 -0.41,-1.91 -0.71,-2.84 -0.59,-1.84 -1.42,-3.6 -2.46,-5.23 -0.08,-0.12 -0.27,-0.01 -0.19,0.11 1,1.62 1.8,3.37 2.38,5.19 0.28,0.9 0.51,1.82 0.68,2.75 0.09,0.47 0.16,0.94 0.21,1.41 0.01,0.07 0.01,0.14 0.02,0.21 -0.49,0.21 -0.99,0.42 -1.48,0.63 -0.15,-1 -0.35,-1.99 -0.62,-2.94 -0.47,-1.68 -1.12,-3.3 -1.93,-4.85 -0.06,-0.12 -0.24,-0.01 -0.18,0.1 0.77,1.54 1.37,3.16 1.8,4.82 0.26,1 0.43,2 0.56,3.02 -0.47,0.2 -0.95,0.4 -1.42,0.6 -0.01,-1.86 -0.48,-3.74 -1.33,-5.37 -0.05,-0.09 -0.19,-0.01 -0.14,0.08 0.51,0.99 0.88,2.05 1.08,3.15 0.14,0.74 0.17,1.49 0.16,2.24 -0.38,0.16 -0.76,0.32 -1.14,0.49 -0.07,-0.45 -0.15,-0.9 -0.23,-1.35 -0.16,-0.83 -0.36,-1.64 -0.59,-2.45 -0.45,-1.59 -1.07,-3.1 -1.79,-4.59 -0.05,-0.11 -0.21,-0.01 -0.16,0.1 0.7,1.48 1.25,3.04 1.7,4.61 0.21,0.76 0.4,1.54 0.55,2.31 0.1,0.49 0.17,0.99 0.24,1.49 -0.27,0.11 -0.54,0.23 -0.81,0.34 -0.15,-0.55 -0.31,-1.1 -0.46,-1.65 -0.24,-0.85 -0.47,-1.71 -0.71,-2.56 -0.04,-0.14 -0.26,-0.08 -0.22,0.06 0.23,0.85 0.46,1.71 0.69,2.56 0.15,0.56 0.29,1.13 0.45,1.69 -0.44,0.19 -0.89,0.38 -1.33,0.57 -0.03,-0.36 -0.07,-0.72 -0.12,-1.08 -0.12,-0.88 -0.3,-1.75 -0.53,-2.61 -0.46,-1.71 -1.14,-3.32 -1.99,-4.86 -0.05,-0.09 -0.19,-0.01 -0.14,0.08 0.82,1.53 1.44,3.18 1.87,4.85 0.22,0.85 0.39,1.71 0.5,2.58 0.05,0.39 0.09,0.78 0.11,1.17 -0.45,0.19 -0.91,0.39 -1.36,0.58 -0.38,-3.26 -1.46,-6.4 -3.13,-9.23 -0.04,-0.07 -0.15,-0.01 -0.11,0.06 1.62,2.84 2.61,6.04 2.96,9.29 -0.49,0.21 -0.98,0.42 -1.48,0.63 -0.02,-0.4 -0.06,-0.8 -0.11,-1.2 -0.11,-0.83 -0.28,-1.66 -0.53,-2.46 -0.49,-1.61 -1.26,-3.17 -2.2,-4.56 -0.04,-0.05 -0.12,0 -0.09,0.05 0.94,1.4 1.61,2.9 2.06,4.52 0.22,0.8 0.39,1.62 0.5,2.44 0.05,0.41 0.09,0.82 0.11,1.24 0,0.03 0,0.05 0,0.08 -0.43,0.18 -0.87,0.37 -1.3,0.55 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,-0.13 -0.04,-0.26 -0.07,-0.39 -0.08,-0.43 -0.17,-0.87 -0.28,-1.3 -0.22,-0.86 -0.55,-1.68 -0.88,-2.51 -0.03,-0.09 -0.18,-0.05 -0.14,0.04 0.32,0.8 0.55,1.65 0.75,2.49 0.1,0.41 0.19,0.83 0.27,1.25 0.03,0.18 0.06,0.35 0.08,0.53 -0.35,0.15 -0.7,0.3 -1.06,0.45 -0.06,-0.37 -0.13,-0.75 -0.21,-1.12 -0.18,-0.83 -0.4,-1.64 -0.65,-2.45 -0.52,-1.62 -1.19,-3.19 -2,-4.69 -0.06,-0.12 -0.24,-0.01 -0.18,0.11 0.79,1.5 1.43,3.08 1.92,4.7 0.24,0.79 0.44,1.6 0.61,2.41 0.08,0.39 0.15,0.77 0.21,1.16 -0.41,0.17 -0.82,0.35 -1.23,0.52 -0.01,-0.08 -0.02,-0.16 -0.03,-0.24 -0.03,-0.29 -0.07,-0.57 -0.12,-0.85 -0.11,-0.62 -0.25,-1.22 -0.43,-1.82 -0.36,-1.17 -0.88,-2.26 -1.51,-3.3 -0.06,-0.09 -0.2,-0.01 -0.15,0.09 0.61,1.04 1.08,2.17 1.42,3.33 0.16,0.56 0.29,1.12 0.39,1.69 0.05,0.32 0.09,0.64 0.12,0.96 0.01,0.09 0.01,0.18 0.02,0.27 -0.51,0.22 -1.02,0.43 -1.53,0.65 -0.04,-0.53 -0.11,-1.06 -0.19,-1.58 -0.14,-0.89 -0.33,-1.78 -0.58,-2.64 -0.24,-0.85 -0.53,-1.69 -0.88,-2.5 -0.36,-0.85 -0.81,-1.64 -1.27,-2.44 -0.04,-0.06 -0.13,-0.01 -0.1,0.06 0.87,1.54 1.52,3.25 1.99,4.95 0.23,0.84 0.4,1.7 0.53,2.56 0.08,0.58 0.12,1.16 0.16,1.73 -0.3,0.13 -0.6,0.26 -0.91,0.38 -0.03,-0.34 -0.07,-0.67 -0.12,-1 -0.09,-0.65 -0.2,-1.29 -0.35,-1.93 -0.29,-1.26 -0.73,-2.45 -1.28,-3.62 -0.03,-0.07 -0.15,-0.02 -0.12,0.05 0.48,1.16 0.85,2.37 1.13,3.6 0.14,0.62 0.25,1.26 0.33,1.89 0.05,0.38 0.07,0.76 0.09,1.14 -0.18,0.08 -0.35,0.15 -0.53,0.23 0,-0.02 -0.01,-0.05 -0.01,-0.07 -0.06,-0.4 -0.13,-0.79 -0.2,-1.19 -0.15,-0.79 -0.36,-1.57 -0.58,-2.35 -0.06,-0.23 -0.14,-0.45 -0.21,-0.67 0,-0.11 0,-0.22 -0.01,-0.33 -0.04,-0.97 -0.07,-1.95 -0.15,-2.92 -0.07,-0.84 -0.04,-1.83 -0.38,-2.63 0.04,-0.1 0.07,-0.21 0.07,-0.31 0,-0.49 -0.37,-0.78 -0.8,-0.82 -0.15,-0.02 -0.3,-0.03 -0.45,-0.05 -0.13,-0.24 -0.26,-0.48 -0.39,-0.72 -0.05,-0.09 -0.18,-0.01 -0.14,0.08 0.09,0.2 0.17,0.4 0.25,0.61 -7.96,-0.87 -16.04,-1.11 -24.02,-0.48 -1.13,0.09 -2.27,0.19 -3.4,0.31 -0.46,0.05 -0.92,0.1 -1.39,0.15 0.01,-0.02 0.04,-0.02 0.04,-0.04 0.01,-0.1 0.01,-0.18 0,-0.28 -0.01,-0.08 -0.02,-0.16 -0.04,-0.24 -0.03,-0.17 -0.05,-0.35 -0.09,-0.52 -0.02,-0.09 -0.03,-0.19 -0.05,-0.28 0.24,-0.1 0.49,-0.2 0.73,-0.3 0.01,0.04 0.01,0.09 0.02,0.13 0.02,0.14 0.05,0.27 0.07,0.41 0.01,0.07 0.03,0.14 0.04,0.2 0.01,0.08 0.02,0.15 0.07,0.22 0.07,0.1 0.2,0.08 0.25,-0.03 0.05,-0.12 0,-0.29 -0.01,-0.42 -0.02,-0.15 -0.03,-0.3 -0.05,-0.45 -0.01,-0.07 -0.02,-0.14 -0.03,-0.21 0.48,-0.19 0.96,-0.39 1.43,-0.58 0.03,0.18 0.07,0.36 0.1,0.54 0.05,0.25 0.08,0.51 0.2,0.74 0.05,0.08 0.15,0.04 0.16,-0.04 0.03,-0.26 -0.04,-0.52 -0.09,-0.77 -0.04,-0.19 -0.08,-0.38 -0.11,-0.57 0.5,-0.2 0.99,-0.4 1.49,-0.6 0.03,0.11 0.06,0.22 0.09,0.33 0.02,0.06 0.03,0.11 0.05,0.17 0.02,0.07 0.05,0.13 0.07,0.2 0.04,0.12 0.07,0.25 0.14,0.35 0.03,0.06 0.13,0.03 0.13,-0.03 0,-0.12 -0.04,-0.25 -0.06,-0.37 -0.01,-0.06 -0.01,-0.13 -0.03,-0.19 -0.02,-0.06 -0.03,-0.12 -0.05,-0.19 -0.03,-0.12 -0.07,-0.24 -0.1,-0.36 0.55,-0.22 1.11,-0.45 1.66,-0.68 l 0.08,0.28 c 0.04,0.16 0.09,0.32 0.13,0.48 0.02,0.08 0.04,0.16 0.07,0.24 0.03,0.08 0.05,0.17 0.12,0.23 0.06,0.06 0.16,0.03 0.19,-0.05 0.03,-0.08 0,-0.17 -0.01,-0.25 -0.01,-0.08 -0.03,-0.15 -0.05,-0.22 -0.05,-0.17 -0.09,-0.33 -0.14,-0.5 -0.03,-0.11 -0.06,-0.21 -0.09,-0.32 0.39,-0.16 0.78,-0.32 1.17,-0.48 0.02,0.06 0.05,0.12 0.07,0.18 0.06,0.16 0.12,0.33 0.23,0.46 0.04,0.05 0.12,0.01 0.12,-0.05 -0.01,-0.17 -0.07,-0.33 -0.13,-0.48 -0.03,-0.07 -0.05,-0.13 -0.07,-0.2 0.28,-0.12 0.57,-0.23 0.85,-0.35 0.15,0.22 0.3,0.45 0.45,0.67 0.08,0.12 0.16,0.24 0.26,0.35 0.09,0.1 0.17,0.21 0.29,0.28 0.07,0.04 0.14,-0.03 0.13,-0.1 -0.02,-0.14 -0.1,-0.26 -0.16,-0.38 -0.06,-0.12 -0.14,-0.23 -0.22,-0.34 -0.15,-0.2 -0.29,-0.4 -0.44,-0.61 1.7,-0.69 3.4,-1.39 5.1,-2.09 0.12,0.18 0.23,0.35 0.35,0.53 0.06,0.1 0.13,0.19 0.19,0.29 0.06,0.09 0.13,0.22 0.23,0.28 0.07,0.05 0.14,-0.03 0.13,-0.1 -0.01,-0.06 -0.04,-0.11 -0.08,-0.16 -0.03,-0.05 -0.06,-0.1 -0.1,-0.15 -0.06,-0.09 -0.12,-0.19 -0.19,-0.28 -0.11,-0.16 -0.22,-0.33 -0.33,-0.49 0.27,-0.11 0.54,-0.22 0.81,-0.34 0.01,0 0.01,0 0.02,0 0.05,0.01 0.09,0.02 0.14,0.04 0.01,0 0.02,0.01 0.04,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0.02,0.01 0.04,0.02 0.06,0.03 0.04,0.02 0.08,0.05 0.12,0.07 0.01,0.01 0.04,0.02 0,0 0.01,0 0.02,0.01 0.02,0.02 0.02,0.01 0.04,0.03 0.05,0.04 0.04,0.03 0.07,0.07 0.11,0.1 0.02,0.02 0.03,0.03 0.05,0.05 0.01,0.01 0.01,0.02 0.02,0.02 0,0 0,0 0,0 0,0 0,0.01 0.01,0.01 0.03,0.04 0.05,0.08 0.08,0.13 0.02,0.04 0.08,0.08 0.13,0.07 0.04,0 0.06,-0.01 0.09,-0.03 0.01,0 0.01,-0.01 0.02,-0.01 0.04,-0.03 0.05,-0.1 0.04,-0.15 -0.08,-0.23 -0.23,-0.42 -0.44,-0.56 -0.03,-0.02 -0.07,-0.03 -0.11,-0.05 0.32,-0.13 0.65,-0.27 0.97,-0.4 0.08,0.12 0.15,0.23 0.23,0.35 0.06,0.1 0.13,0.19 0.21,0.28 0.08,0.09 0.14,0.19 0.23,0.27 0.06,0.06 0.18,0 0.15,-0.09 -0.04,-0.12 -0.11,-0.22 -0.16,-0.32 -0.02,-0.05 -0.04,-0.09 -0.07,-0.14 -0.03,-0.05 -0.07,-0.1 -0.1,-0.15 -0.07,-0.1 -0.14,-0.21 -0.21,-0.31 0.54,-0.22 1.08,-0.45 1.62,-0.67 0.18,0.15 0.36,0.3 0.54,0.45 0.12,0.1 0.24,0.21 0.37,0.3 0.13,0.09 0.26,0.19 0.4,0.26 0.07,0.03 0.18,-0.05 0.12,-0.12 -0.1,-0.13 -0.22,-0.22 -0.33,-0.34 -0.11,-0.11 -0.24,-0.2 -0.36,-0.3 -0.15,-0.12 -0.3,-0.24 -0.45,-0.36 0.66,-0.27 1.33,-0.55 1.99,-0.82 0.01,0.01 0.01,0.03 0.03,0.04 0.21,0.13 0.4,0.3 0.56,0.5 0.08,0.09 0.15,0.19 0.21,0.29 0.03,0.05 0.06,0.1 0.09,0.16 0.03,0.06 0.08,0.11 0.12,0.17 0.06,0.1 0.2,0.03 0.18,-0.08 -0.01,-0.07 -0.01,-0.14 -0.04,-0.2 -0.03,-0.07 -0.06,-0.14 -0.09,-0.2 -0.07,-0.13 -0.15,-0.25 -0.24,-0.36 -0.15,-0.17 -0.33,-0.31 -0.53,-0.43 1.85,-0.77 3.71,-1.53 5.56,-2.3 0.01,0.03 0.02,0.05 0.05,0.07 0.68,0.45 1.26,1.02 1.72,1.69 0.22,0.32 0.41,0.65 0.57,1.01 0.08,0.19 0.16,0.38 0.22,0.57 0.06,0.18 0.1,0.37 0.19,0.54 0.05,0.09 0.19,0.05 0.19,-0.05 0.01,-0.37 -0.2,-0.8 -0.34,-1.13 -0.17,-0.4 -0.39,-0.78 -0.64,-1.13 -0.47,-0.66 -1.06,-1.21 -1.73,-1.66 2.05,-0.85 4.1,-1.71 6.14,-2.57 0.66,0.44 1.26,0.98 1.71,1.62 0.24,0.34 0.45,0.7 0.62,1.08 0.19,0.42 0.29,0.87 0.46,1.29 0.03,0.07 0.14,0.07 0.14,-0.02 -0.01,-0.43 -0.16,-0.86 -0.33,-1.25 -0.19,-0.44 -0.43,-0.86 -0.71,-1.25 -0.46,-0.63 -1.04,-1.14 -1.69,-1.56 0.46,-0.19 0.92,-0.39 1.38,-0.58 0.01,0.04 0.03,0.08 0.07,0.11 0.39,0.26 0.76,0.56 1.06,0.92 0.15,0.17 0.28,0.36 0.4,0.56 0.06,0.1 0.11,0.2 0.17,0.3 0.06,0.1 0.1,0.23 0.19,0.31 0.1,0.08 0.23,0.02 0.24,-0.1 0.02,-0.12 -0.05,-0.24 -0.09,-0.35 -0.05,-0.12 -0.11,-0.24 -0.18,-0.36 -0.13,-0.22 -0.28,-0.43 -0.44,-0.62 -0.31,-0.37 -0.69,-0.67 -1.11,-0.89 1.03,-0.43 2.05,-0.86 3.08,-1.29 0.19,0.04 0.38,0.08 0.55,0.15 0.12,0.05 0.24,0.11 0.36,0.18 0.06,0.03 0.12,0.06 0.18,0.09 0.06,0.03 0.13,0.07 0.19,0.09 0.07,0.02 0.14,-0.07 0.1,-0.13 -0.04,-0.06 -0.09,-0.11 -0.14,-0.15 -0.06,-0.05 -0.12,-0.11 -0.19,-0.14 -0.13,-0.08 -0.27,-0.14 -0.41,-0.19 -0.07,-0.03 -0.15,-0.03 -0.23,-0.05 0.64,-0.27 1.28,-0.54 1.92,-0.81 0.21,0.07 0.41,0.16 0.59,0.29 0.14,0.1 0.27,0.22 0.4,0.34 0.06,0.06 0.13,0.12 0.19,0.19 0.06,0.07 0.12,0.14 0.18,0.21 0.06,0.06 0.17,0 0.15,-0.09 -0.05,-0.18 -0.17,-0.37 -0.3,-0.52 -0.13,-0.15 -0.28,-0.27 -0.45,-0.38 -0.12,-0.08 -0.25,-0.14 -0.38,-0.2 0.16,-0.07 0.32,-0.14 0.48,-0.2 0.01,0.01 0.01,0.03 0.02,0.04 0.35,0.28 0.72,0.53 1.07,0.83 0.17,0.14 0.33,0.28 0.49,0.44 0.08,0.08 0.17,0.16 0.26,0.24 0.07,0.07 0.16,0.15 0.25,0.2 0.04,0.03 0.11,-0.02 0.09,-0.07 -0.03,-0.1 -0.09,-0.2 -0.15,-0.28 -0.07,-0.09 -0.13,-0.19 -0.21,-0.28 -0.15,-0.18 -0.31,-0.35 -0.48,-0.51 -0.3,-0.28 -0.65,-0.55 -1.01,-0.75 0.67,-0.28 1.34,-0.57 2,-0.85 0.2,0.16 0.39,0.31 0.59,0.47 0.16,0.12 0.31,0.24 0.47,0.36 0.16,0.12 0.32,0.22 0.49,0.32 0.1,0.06 0.21,-0.08 0.12,-0.16 -0.14,-0.13 -0.28,-0.27 -0.44,-0.39 -0.16,-0.12 -0.31,-0.24 -0.47,-0.36 -0.16,-0.12 -0.32,-0.24 -0.49,-0.36 0.73,-0.31 1.46,-0.62 2.18,-0.93 0.06,0.07 0.11,0.14 0.17,0.2 0.1,0.12 0.21,0.24 0.32,0.35 0.11,0.11 0.23,0.26 0.37,0.31 0.09,0.03 0.19,-0.07 0.16,-0.16 -0.03,-0.09 -0.08,-0.15 -0.15,-0.22 -0.05,-0.06 -0.1,-0.12 -0.15,-0.17 -0.11,-0.11 -0.22,-0.22 -0.33,-0.34 -0.03,-0.03 -0.07,-0.06 -0.1,-0.1 0.37,-0.16 0.73,-0.31 1.1,-0.47 0.2,0.14 0.4,0.29 0.61,0.42 0.13,0.09 0.27,0.17 0.4,0.25 0.07,0.04 0.15,0.08 0.22,0.12 0.08,0.04 0.15,0.08 0.23,0.1 0.08,0.02 0.19,-0.08 0.12,-0.16 -0.05,-0.07 -0.12,-0.12 -0.19,-0.17 -0.06,-0.05 -0.12,-0.1 -0.19,-0.14 -0.14,-0.09 -0.28,-0.18 -0.42,-0.27 -0.16,-0.1 -0.32,-0.18 -0.48,-0.27 0.62,-0.26 1.23,-0.52 1.85,-0.78 -0.01,0.04 -0.01,0.09 0.03,0.12 0.2,0.16 0.39,0.32 0.59,0.48 0.1,0.08 0.2,0.16 0.3,0.24 0.1,0.08 0.2,0.18 0.33,0.22 0.1,0.03 0.18,-0.08 0.13,-0.17 -0.06,-0.11 -0.18,-0.18 -0.28,-0.26 -0.1,-0.08 -0.19,-0.15 -0.29,-0.23 -0.2,-0.15 -0.39,-0.31 -0.59,-0.46 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 0.58,-0.25 1.17,-0.49 1.75,-0.74 0.67,-0.29 1.34,-0.58 2.01,-0.86 0.2,0.24 0.4,0.47 0.6,0.7 0.27,0.31 0.52,0.61 0.83,0.88 0.1,0.08 0.27,-0.03 0.19,-0.15 -0.23,-0.34 -0.51,-0.63 -0.79,-0.94 -0.19,-0.21 -0.38,-0.41 -0.57,-0.61 0.43,-0.18 0.85,-0.37 1.28,-0.55 0.54,0.44 1.03,0.92 1.51,1.42 0.27,0.28 0.52,0.57 0.75,0.88 0.22,0.29 0.42,0.61 0.65,0.89 0.03,0.04 0.1,0 0.08,-0.05 -0.28,-0.69 -0.79,-1.33 -1.26,-1.9 -0.42,-0.51 -0.92,-0.96 -1.44,-1.37 0.5,-0.22 1,-0.43 1.51,-0.65 0.17,0.1 0.33,0.21 0.5,0.31 0.12,0.07 0.24,0.14 0.36,0.21 0.13,0.07 0.26,0.17 0.4,0.19 0.12,0.02 0.2,-0.11 0.12,-0.2 -0.09,-0.11 -0.24,-0.18 -0.36,-0.25 -0.12,-0.08 -0.25,-0.14 -0.37,-0.21 -0.11,-0.06 -0.22,-0.12 -0.33,-0.18 0.57,-0.24 1.13,-0.49 1.7,-0.73 0.22,0.09 0.44,0.18 0.65,0.3 0.33,0.18 0.62,0.41 0.89,0.67 0.26,0.26 0.48,0.54 0.67,0.86 0.1,0.16 0.18,0.33 0.26,0.5 0.07,0.18 0.1,0.36 0.19,0.53 0.05,0.11 0.21,0.05 0.21,-0.06 0,-0.2 -0.07,-0.39 -0.13,-0.57 -0.06,-0.19 -0.14,-0.37 -0.23,-0.55 -0.18,-0.36 -0.43,-0.69 -0.71,-0.98 -0.28,-0.29 -0.61,-0.54 -0.96,-0.73 -0.12,-0.06 -0.25,-0.12 -0.38,-0.17 0.53,-0.23 1.06,-0.46 1.59,-0.68 0.15,0.12 0.31,0.25 0.46,0.36 0.19,0.15 0.39,0.31 0.63,0.38 0.07,0.02 0.15,-0.07 0.1,-0.14 -0.14,-0.2 -0.35,-0.34 -0.55,-0.48 -0.12,-0.08 -0.24,-0.16 -0.36,-0.25 0.38,-0.17 0.77,-0.33 1.15,-0.49 0.2,0.19 0.4,0.38 0.6,0.58 0.12,0.12 0.25,0.23 0.38,0.35 0.12,0.11 0.27,0.26 0.43,0.31 0.07,0.02 0.15,-0.05 0.12,-0.12 -0.06,-0.16 -0.21,-0.29 -0.34,-0.41 -0.13,-0.12 -0.25,-0.23 -0.38,-0.35 -0.18,-0.16 -0.36,-0.32 -0.54,-0.48 1.17,-0.51 2.35,-1.01 3.52,-1.51 0.17,0.1 0.34,0.19 0.51,0.3 0.24,0.16 0.46,0.36 0.7,0.51 0.23,0.15 0.44,0.36 0.64,0.55 0.22,0.21 0.36,0.46 0.55,0.7 0.04,0.05 0.11,-0.02 0.08,-0.07 -0.12,-0.27 -0.32,-0.5 -0.48,-0.75 -0.08,-0.12 -0.17,-0.25 -0.26,-0.37 -0.1,-0.11 -0.21,-0.22 -0.3,-0.33 -0.18,-0.23 -0.45,-0.41 -0.69,-0.56 -0.1,-0.07 -0.21,-0.11 -0.31,-0.17 0.46,-0.2 0.92,-0.4 1.38,-0.6 0.18,0.18 0.36,0.36 0.55,0.53 0.12,0.11 0.25,0.23 0.37,0.34 0.07,0.06 0.13,0.11 0.2,0.17 0.07,0.06 0.14,0.12 0.24,0.12 0.07,0 0.14,-0.06 0.14,-0.13 -0.01,-0.1 -0.07,-0.16 -0.14,-0.23 -0.06,-0.06 -0.12,-0.12 -0.19,-0.18 -0.12,-0.11 -0.25,-0.22 -0.38,-0.33 -0.16,-0.14 -0.33,-0.27 -0.5,-0.41 0.42,-0.18 0.84,-0.36 1.25,-0.54 0.14,0.14 0.29,0.27 0.43,0.41 0.13,0.12 0.25,0.24 0.38,0.36 0.13,0.11 0.26,0.25 0.41,0.32 0.11,0.05 0.24,-0.06 0.17,-0.17 -0.08,-0.15 -0.23,-0.27 -0.35,-0.38 -0.12,-0.12 -0.26,-0.23 -0.39,-0.35 -0.12,-0.1 -0.23,-0.21 -0.35,-0.31 0.41,-0.18 0.82,-0.36 1.23,-0.53 0.23,0.18 0.46,0.35 0.69,0.53 0.13,0.09 0.26,0.2 0.39,0.28 0.07,0.04 0.15,0.08 0.22,0.12 0.07,0.04 0.14,0.09 0.23,0.11 0.09,0.03 0.17,-0.08 0.12,-0.16 -0.04,-0.07 -0.1,-0.12 -0.16,-0.17 -0.06,-0.06 -0.12,-0.12 -0.18,-0.18 -0.12,-0.12 -0.27,-0.22 -0.4,-0.32 -0.17,-0.13 -0.35,-0.25 -0.53,-0.38 0.14,-0.06 0.27,-0.12 0.41,-0.18 0.07,0.08 0.13,0.15 0.2,0.23 0.24,0.29 0.46,0.6 0.65,0.92 0.18,0.31 0.36,0.65 0.49,0.96 0.06,0.16 0.12,0.32 0.17,0.48 0,0.02 -0.01,0.03 -0.01,0.05 0.03,0.06 0.05,0.13 0.08,0.19 0.04,0.17 0.09,0.35 0.19,0.49 0.01,0.02 0.03,0.02 0.04,0.04 0.02,0.04 0.03,0.09 0.07,0.13 0.02,0.02 0.06,0.02 0.08,0.01 0.1,0.07 0.22,0.12 0.37,0.1 0,0 0.01,0 0.01,0 0.08,0.22 0.3,0.41 0.56,0.32 0.03,-0.01 0.07,-0.03 0.1,-0.04 0.14,0.14 0.28,0.29 0.42,0.43 0.13,0.13 0.26,0.27 0.39,0.4 0.06,0.06 0.13,0.12 0.19,0.17 0.07,0.06 0.13,0.13 0.22,0.16 0.07,0.02 0.14,-0.05 0.12,-0.12 -0.03,-0.09 -0.1,-0.15 -0.16,-0.22 -0.06,-0.07 -0.11,-0.13 -0.17,-0.19 -0.13,-0.13 -0.26,-0.26 -0.39,-0.39 -0.11,-0.11 -0.23,-0.23 -0.34,-0.34 0.51,-0.18 1,-0.37 1.5,-0.56 0.05,0.17 0.13,0.33 0.25,0.46 0.07,0.08 0.14,0.14 0.23,0.2 0.09,0.06 0.18,0.11 0.29,0.12 0.07,0 0.1,-0.08 0.05,-0.13 -0.06,-0.06 -0.14,-0.1 -0.2,-0.16 -0.07,-0.06 -0.13,-0.13 -0.19,-0.2 -0.09,-0.11 -0.15,-0.24 -0.19,-0.38 0.2,-0.08 0.4,-0.15 0.61,-0.22 0.18,-0.07 0.36,-0.14 0.54,-0.21 0.12,0.15 0.24,0.31 0.36,0.46 0.07,0.1 0.15,0.19 0.22,0.29 0.08,0.1 0.15,0.21 0.25,0.28 0.07,0.05 0.18,-0.03 0.15,-0.12 -0.04,-0.11 -0.12,-0.21 -0.19,-0.3 -0.07,-0.09 -0.15,-0.19 -0.22,-0.28 -0.11,-0.14 -0.22,-0.28 -0.33,-0.42 0.18,-0.07 0.36,-0.14 0.54,-0.21 0.3,-0.12 0.68,-0.21 1,-0.35 l 0.16,0.27 c 0.07,0.12 0.14,0.24 0.21,0.36 0.07,0.12 0.14,0.26 0.28,0.31 0.06,0.02 0.13,-0.02 0.14,-0.08 0.03,-0.15 -0.07,-0.27 -0.14,-0.39 -0.07,-0.12 -0.14,-0.24 -0.22,-0.36 -0.06,-0.09 -0.11,-0.18 -0.17,-0.27 0.05,-0.04 0.11,-0.07 0.15,-0.11 0.19,-0.19 0.19,-0.46 0.08,-0.68 0,-0.1 -0.01,-0.19 -0.05,-0.28 -0.04,-0.18 -0.06,-0.36 -0.12,-0.54 -0.06,-0.19 -0.12,-0.38 -0.18,-0.57 -0.04,-0.12 -0.13,-0.2 -0.24,-0.26 -0.37,-0.79 -0.81,-1.55 -1.32,-2.27 0.38,-0.18 0.76,-0.37 1.14,-0.56 0.04,0.06 0.07,0.12 0.11,0.18 0.23,0.37 0.45,0.74 0.67,1.11 0.44,0.75 0.86,1.5 1.28,2.27 0.8,1.47 1.56,2.96 2.26,4.48 1.41,3.06 2.6,6.23 3.56,9.47 0.46,1.54 0.87,3.11 1.2,4.68 -0.2,0.08 -0.4,0.17 -0.6,0.25 0,0 0,-0.01 0,-0.01 -0.03,-0.1 -0.05,-0.21 -0.05,-0.32 -0.02,-0.22 0.01,-0.45 -0.01,-0.67 -0.04,-0.44 -0.11,-0.89 -0.17,-1.33 -0.02,-0.17 -0.32,-0.13 -0.3,0.04 0.03,0.45 0.04,0.89 0.09,1.34 0.03,0.23 0.1,0.44 0.12,0.67 0.01,0.14 0.01,0.28 0,0.42 -0.11,0.05 -0.22,0.09 -0.33,0.14 -0.01,-0.12 -0.02,-0.24 -0.03,-0.36 -0.04,-0.48 -0.1,-0.97 -0.16,-1.45 -0.13,-0.97 -0.33,-1.94 -0.57,-2.89 -0.49,-1.9 -1.18,-3.75 -2.04,-5.51 -0.08,-0.16 -0.32,-0.02 -0.24,0.14 0.84,1.74 1.49,3.58 1.94,5.46 0.22,0.92 0.4,1.86 0.53,2.8 0.07,0.48 0.12,0.96 0.16,1.43 0.01,0.17 0.02,0.35 0.03,0.52 -0.44,0.19 -0.87,0.37 -1.31,0.56 0,-0.72 -0.07,-1.45 -0.16,-2.15 -0.11,-0.87 -0.28,-1.72 -0.5,-2.57 -0.45,-1.71 -1.12,-3.34 -1.98,-4.89 -0.07,-0.12 -0.26,-0.01 -0.19,0.11 0.83,1.52 1.45,3.17 1.88,4.85 0.22,0.85 0.38,1.71 0.49,2.58 0.09,0.73 0.11,1.46 0.15,2.19 -0.24,0.11 -0.49,0.21 -0.74,0.31 -0.01,-0.12 -0.02,-0.25 -0.03,-0.37 -0.09,-0.74 -0.22,-1.47 -0.4,-2.2 -0.37,-1.46 -0.93,-2.87 -1.67,-4.19 -0.07,-0.13 -0.27,-0.01 -0.2,0.12 0.72,1.3 1.27,2.69 1.62,4.14 0.18,0.73 0.31,1.47 0.39,2.22 0.01,0.13 0.02,0.26 0.03,0.39 -0.26,0.11 -0.51,0.22 -0.77,0.33 -0.09,-0.44 -0.19,-0.89 -0.3,-1.33 -0.25,-0.98 -0.54,-1.95 -0.88,-2.9 -0.04,-0.1 -0.19,-0.06 -0.16,0.04 0.3,0.95 0.55,1.91 0.76,2.88 0.1,0.47 0.19,0.94 0.27,1.42 0,0.01 0,0.01 0,0.02 -0.37,0.16 -0.75,0.32 -1.12,0.49 -0.02,-0.17 -0.03,-0.34 -0.05,-0.51 -0.08,-0.73 -0.19,-1.46 -0.34,-2.18 -0.29,-1.48 -0.73,-2.93 -1.29,-4.33 -0.06,-0.15 -0.31,-0.09 -0.25,0.07 0.53,1.38 0.93,2.8 1.22,4.25 0.14,0.73 0.26,1.46 0.34,2.19 0.02,0.21 0.04,0.43 0.06,0.65 -0.43,0.19 -0.86,0.37 -1.29,0.56 -0.01,-0.16 -0.02,-0.32 -0.03,-0.47 -0.03,-0.4 -0.07,-0.8 -0.12,-1.2 -0.09,-0.78 -0.22,-1.57 -0.39,-2.34 -0.33,-1.54 -0.8,-3.06 -1.43,-4.5 -0.36,-0.84 -0.78,-1.65 -1.22,-2.44 -0.08,-0.14 -0.29,-0.01 -0.21,0.13 1.46,2.74 2.41,5.83 2.82,8.91 0.06,0.44 0.1,0.87 0.14,1.31 0.02,0.25 0.03,0.51 0.05,0.78 -0.38,0.16 -0.75,0.33 -1.13,0.49 0.02,-0.05 -0.02,-0.04 -0.05,-0.02 z m 13.52,-3.69 c -0.06,0.03 -0.12,0.07 -0.18,0.1 -0.06,-0.58 -0.15,-1.16 -0.24,-1.72 -0.14,-0.89 -0.33,-1.78 -0.54,-2.66 -0.41,-1.75 -0.95,-3.46 -1.63,-5.13 -0.05,-0.13 -0.26,-0.07 -0.21,0.06 0.63,1.66 1.17,3.36 1.57,5.09 0.2,0.87 0.36,1.74 0.5,2.62 0.07,0.46 0.14,0.92 0.19,1.38 0.02,0.17 0.04,0.34 0.05,0.52 -0.17,0.09 -0.34,0.18 -0.51,0.26 -0.01,-0.06 -0.02,-0.12 -0.03,-0.17 -0.06,-0.41 -0.13,-0.82 -0.2,-1.22 -0.16,-0.85 -0.34,-1.68 -0.57,-2.51 -0.44,-1.64 -1.01,-3.24 -1.72,-4.78 -0.04,-0.09 -0.21,-0.03 -0.17,0.07 0.65,1.55 1.2,3.15 1.63,4.78 0.21,0.8 0.39,1.61 0.54,2.42 0.07,0.41 0.14,0.82 0.2,1.23 0.02,0.11 0.02,0.22 0.03,0.33 -0.08,0.04 -0.15,0.08 -0.24,0.11 -0.39,0.15 -0.81,0.24 -1.21,0.12 0.12,-0.05 0.24,-0.1 0.36,-0.15 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 0.15,-0.16 0.23,-0.37 0.17,-0.64 -0.82,-3.35 -1.7,-6.65 -2.9,-9.89 -1.18,-3.2 -2.58,-6.31 -4.19,-9.32 -0.45,-0.85 -0.93,-1.68 -1.42,-2.5 -0.25,-0.43 -0.51,-0.85 -0.77,-1.27 -0.25,-0.4 -0.46,-0.88 -0.89,-1.1 -0.15,-0.08 -0.33,-0.07 -0.48,-0.02 -0.03,-0.03 -0.06,-0.06 -0.1,-0.09 0.02,-0.02 0.02,-0.06 0.04,-0.08 0.14,-0.19 0.36,-0.33 0.6,-0.44 0.56,0.5 1.08,1.06 1.5,1.69 0.21,0.32 0.41,0.65 0.58,1 0.17,0.35 0.29,0.75 0.53,1.05 0.07,0.08 0.21,0.07 0.21,-0.06 0.01,-0.38 -0.18,-0.76 -0.34,-1.1 -0.18,-0.38 -0.39,-0.75 -0.62,-1.1 -0.4,-0.61 -0.88,-1.17 -1.41,-1.67 0.25,-0.08 0.51,-0.15 0.76,-0.23 0.2,0.34 0.44,0.66 0.68,0.97 0.12,0.16 0.25,0.32 0.37,0.48 0.06,0.08 0.14,0.15 0.21,0.23 0.07,0.08 0.14,0.16 0.22,0.22 0.07,0.05 0.21,0.01 0.17,-0.1 -0.04,-0.09 -0.09,-0.17 -0.14,-0.26 -0.06,-0.09 -0.1,-0.18 -0.16,-0.27 -0.12,-0.17 -0.25,-0.34 -0.38,-0.5 -0.22,-0.3 -0.46,-0.59 -0.71,-0.86 0.21,-0.06 0.41,-0.14 0.61,-0.22 0.19,0.33 0.38,0.67 0.58,1 0.13,0.23 0.27,0.45 0.4,0.68 0.13,0.22 0.29,0.45 0.46,0.64 0.07,0.07 0.21,0 0.17,-0.1 -0.08,-0.23 -0.21,-0.47 -0.34,-0.68 -0.14,-0.24 -0.28,-0.47 -0.43,-0.7 -0.2,-0.32 -0.4,-0.64 -0.61,-0.96 0.22,-0.11 0.42,-0.24 0.62,-0.4 0.84,1.53 1.78,3 2.63,4.52 0.92,1.64 1.77,3.31 2.57,5.01 1.6,3.43 2.92,6.98 3.98,10.62 0.5,1.74 0.87,3.5 1.28,5.25 -0.15,0.04 -0.29,0.1 -0.44,0.17 -0.03,-0.17 -0.06,-0.33 -0.09,-0.48 -0.07,-0.46 -0.15,-0.91 -0.24,-1.36 -0.17,-0.89 -0.36,-1.78 -0.58,-2.66 -0.44,-1.78 -0.98,-3.53 -1.63,-5.24 -0.37,-0.96 -0.77,-1.91 -1.22,-2.84 -0.06,-0.12 -0.23,-0.01 -0.18,0.11 1.41,3.34 2.55,6.77 3.22,10.34 0.09,0.48 0.18,0.97 0.25,1.46 0.04,0.25 0.08,0.5 0.11,0.76 0,0.03 0.01,0.06 0.01,0.08 -0.06,0.08 -0.16,0.13 -0.26,0.18 z m 4.1,-0.34 c -0.02,0.02 -0.06,0.05 -0.07,0.05 -0.05,0.04 -0.11,0.07 -0.16,0.11 -0.02,-0.5 -0.09,-1.01 -0.17,-1.49 -0.12,-0.76 -0.24,-1.51 -0.41,-2.26 -0.34,-1.49 -0.83,-2.94 -1.48,-4.32 -0.04,-0.08 -0.19,-0.02 -0.15,0.06 0.58,1.4 1.06,2.84 1.39,4.32 0.17,0.75 0.31,1.51 0.37,2.28 0.04,0.54 0.07,1.08 0.12,1.63 -0.01,0.01 -0.02,0.02 -0.04,0.03 -0.08,0.05 -0.17,0.1 -0.26,0.14 -0.03,0.02 -0.07,0.03 -0.1,0.05 0,0 -0.08,0.04 -0.1,0.04 -0.09,0.03 -0.18,0.06 -0.28,0.09 0,0 -0.01,0 -0.02,0 0.01,-0.07 0.02,-0.15 0.01,-0.23 -0.29,-1.9 -0.85,-3.8 -1.38,-5.65 -0.53,-1.87 -1.13,-3.71 -1.81,-5.53 -1.34,-3.61 -2.94,-7.13 -4.8,-10.5 -1.05,-1.9 -2.14,-3.82 -3.52,-5.49 -0.01,-0.02 -0.03,-0.02 -0.04,-0.04 0.24,-0.12 0.48,-0.22 0.73,-0.29 0.18,0.25 0.37,0.5 0.55,0.75 0.15,0.2 0.29,0.39 0.45,0.58 0.08,0.1 0.16,0.18 0.24,0.28 0.08,0.09 0.15,0.19 0.25,0.27 0.1,0.08 0.23,-0.02 0.18,-0.14 -0.05,-0.11 -0.13,-0.21 -0.19,-0.31 -0.07,-0.1 -0.13,-0.21 -0.21,-0.31 -0.15,-0.2 -0.3,-0.39 -0.45,-0.59 -0.16,-0.21 -0.33,-0.42 -0.5,-0.62 0.21,-0.05 0.44,-0.08 0.66,-0.12 0.31,0.55 0.7,1.07 1,1.56 0.57,0.91 1.12,1.82 1.66,2.74 1.07,1.82 2.06,3.68 2.97,5.58 1.8,3.74 3.29,7.62 4.47,11.6 0.53,1.8 1,3.64 1.43,5.48 -0.09,0.06 -0.18,0.12 -0.27,0.19 0.03,-0.02 -0.04,0.03 -0.07,0.06 z m 8.39,-3.08 c -0.07,0.04 -0.14,0.07 -0.2,0.11 0,-0.16 0,-0.33 0.01,-0.49 0.01,-0.54 0.01,-1.07 0.02,-1.61 0,-0.21 -0.33,-0.21 -0.33,0 -0.01,0.53 -0.02,1.05 -0.03,1.58 -0.01,0.24 -0.01,0.47 -0.01,0.71 -0.29,0.15 -0.57,0.3 -0.86,0.45 0.14,-1.38 0.08,-2.79 -0.11,-4.15 -0.22,-1.58 -0.63,-3.12 -1.26,-4.58 -0.04,-0.09 -0.2,-0.03 -0.17,0.07 0.53,1.45 0.94,2.96 1.16,4.49 0.11,0.78 0.17,1.56 0.19,2.35 0.01,0.66 -0.02,1.31 -0.07,1.96 -0.23,0.12 -0.46,0.25 -0.7,0.36 -0.11,0.05 -0.23,0.1 -0.34,0.16 0,-0.04 0,-0.08 0.01,-0.12 0.03,-0.41 0.04,-0.83 0.04,-1.25 0,-0.86 -0.1,-1.71 -0.22,-2.56 -0.12,-0.85 -0.28,-1.7 -0.54,-2.52 -0.13,-0.41 -0.22,-0.83 -0.32,-1.25 -0.11,-0.4 -0.32,-0.8 -0.49,-1.18 -0.05,-0.12 -0.25,-0.03 -0.21,0.09 0.15,0.38 0.25,0.8 0.42,1.17 0.18,0.39 0.33,0.76 0.43,1.17 0.2,0.84 0.38,1.69 0.49,2.55 0.1,0.82 0.11,1.66 0.11,2.49 0,0.42 -0.02,0.83 -0.05,1.25 -0.01,0.11 -0.03,0.23 -0.04,0.34 -0.24,0.11 -0.49,0.22 -0.73,0.32 0,-0.56 -0.01,-1.13 -0.04,-1.68 -0.04,-0.91 -0.13,-1.82 -0.26,-2.72 -0.26,-1.86 -0.7,-3.69 -1.31,-5.47 -0.34,-0.99 -0.73,-1.96 -1.18,-2.92 -0.07,-0.14 -0.27,-0.02 -0.21,0.12 1.54,3.36 2.45,7.01 2.66,10.71 0.03,0.52 0.05,1.04 0.05,1.55 0,0.17 0,0.35 -0.01,0.52 -0.36,0.15 -0.71,0.3 -1.07,0.44 0,-0.07 0,-0.14 0,-0.2 0.01,-0.34 0.01,-0.67 0.01,-1.01 -0.01,-0.66 -0.05,-1.32 -0.13,-1.97 -0.07,-0.63 -0.17,-1.27 -0.31,-1.89 -0.15,-0.66 -0.36,-1.3 -0.56,-1.94 -0.01,-0.04 -0.08,-0.02 -0.07,0.02 0.36,1.25 0.55,2.57 0.67,3.86 0.06,0.63 0.09,1.25 0.1,1.88 0,0.32 0,0.64 -0.01,0.97 -0.01,0.14 -0.02,0.29 -0.04,0.44 -0.15,0.06 -0.3,0.12 -0.45,0.18 -0.04,-0.92 -0.14,-1.85 -0.3,-2.76 -0.2,-1.13 -0.48,-2.24 -0.88,-3.32 -0.03,-0.08 -0.16,-0.05 -0.13,0.04 0.31,1.07 0.58,2.16 0.76,3.25 0.16,0.96 0.22,1.93 0.27,2.91 -0.08,0.03 -0.16,0.07 -0.24,0.1 -0.35,-1.8 -0.76,-3.58 -1.27,-5.35 -0.59,-2.06 -1.26,-4.09 -2.02,-6.09 -1.51,-3.97 -3.35,-7.83 -5.49,-11.5 -0.6,-1.03 -1.23,-2.04 -1.89,-3.04 -0.34,-0.51 -0.68,-1.02 -1.04,-1.51 -0.1,-0.14 -0.21,-0.28 -0.32,-0.43 0.01,-0.2 -0.06,-0.4 -0.18,-0.55 0.26,-0.11 0.51,-0.23 0.77,-0.37 -0.01,0.05 0,0.11 0.06,0.15 0.33,0.18 0.62,0.41 0.89,0.67 0.13,0.13 0.25,0.26 0.37,0.4 0.06,0.07 0.11,0.16 0.18,0.22 0.07,0.06 0.13,0.14 0.18,0.22 0.09,0.12 0.27,0.02 0.21,-0.12 -0.04,-0.08 -0.08,-0.17 -0.12,-0.25 -0.04,-0.1 -0.11,-0.18 -0.17,-0.27 -0.12,-0.16 -0.26,-0.31 -0.41,-0.45 -0.29,-0.27 -0.63,-0.5 -0.98,-0.68 0,0 0,0 -0.01,0 0.35,-0.19 0.7,-0.39 1.05,-0.56 0.52,-0.26 1.06,-0.49 1.6,-0.73 0.85,0.77 1.63,1.62 2.27,2.56 0.71,1.02 1.2,2.13 1.72,3.25 0.05,0.1 0.2,0.03 0.17,-0.07 -0.28,-1.21 -0.94,-2.37 -1.64,-3.38 -0.64,-0.93 -1.42,-1.75 -2.28,-2.47 0.22,-0.1 0.43,-0.2 0.65,-0.3 0.52,-0.22 1.05,-0.42 1.58,-0.62 0,0.03 0.01,0.05 0.03,0.07 0.34,0.38 0.79,0.68 1.17,1.01 0.4,0.35 0.78,0.72 1.15,1.11 0.35,0.38 0.69,0.77 1.01,1.18 0.16,0.21 0.32,0.42 0.48,0.64 0.15,0.21 0.28,0.46 0.46,0.64 0.07,0.07 0.2,0 0.17,-0.1 -0.07,-0.24 -0.24,-0.47 -0.38,-0.69 -0.15,-0.24 -0.31,-0.47 -0.47,-0.7 -0.31,-0.43 -0.65,-0.85 -1.01,-1.24 -0.37,-0.4 -0.77,-0.78 -1.18,-1.14 -0.37,-0.32 -0.78,-0.66 -1.23,-0.87 0.25,-0.09 0.5,-0.2 0.75,-0.29 0.42,-0.15 0.84,-0.28 1.25,-0.44 0.21,-0.08 0.44,-0.19 0.66,-0.32 0.23,0.2 0.47,0.4 0.69,0.6 -0.01,0.04 0,0.07 0.03,0.11 0.16,0.18 0.32,0.36 0.48,0.54 0.08,0.09 0.16,0.18 0.24,0.27 0.08,0.09 0.18,0.16 0.27,0.25 0.02,0.02 0.05,0.01 0.07,0 0.53,0.66 0.99,1.37 1.43,2.09 1.11,1.84 2.14,3.73 3.08,5.67 1.88,3.9 3.35,7.99 4.38,12.19 0.53,2.17 0.96,4.37 1.27,6.59 -0.05,0.01 -0.09,0.02 -0.14,0.03 -0.22,0.05 -0.36,0.18 -0.46,0.32 -0.09,0.02 -0.17,0.05 -0.26,0.08 0,-0.02 0,-0.05 0,-0.07 -0.02,-0.42 -0.04,-0.83 -0.07,-1.25 -0.01,-0.2 -0.32,-0.21 -0.32,0 l 0.03,1.25 c 0,0.07 0,0.14 0.01,0.21 -0.36,0.17 -0.69,0.35 -0.99,0.51 z m 3.7,-1.68 c -1.3,-8.54 -4.3,-16.91 -8.87,-24.24 -0.71,-1.13 -1.53,-2.48 -2.6,-3.43 0.17,-0.08 0.32,-0.16 0.47,-0.28 0.18,0.26 0.38,0.51 0.57,0.76 0.32,0.42 0.63,0.84 0.93,1.27 0.59,0.83 1.17,1.67 1.72,2.54 1.09,1.73 2.06,3.53 2.95,5.37 1.76,3.66 3.11,7.54 3.99,11.5 0.25,1.11 0.46,2.23 0.64,3.35 0.09,0.59 0.15,1.18 0.24,1.77 0.06,0.38 0.13,0.79 0.23,1.18 -0.1,0.07 -0.18,0.13 -0.27,0.21 z"
+   id="path336" />
+			<path
+   class="st1"
+   d="m 344.47,303.81 c 0,0 0,0 0,0 0.03,0.03 0.07,0.04 0,0 z"
+   id="path338" />
+			<path
+   class="st1"
+   d="m 345.39,303.73 c 0,-0.01 0.01,-0.02 0.02,-0.03 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.01,0.01 0,0.01 0,0 z"
+   id="path340" />
+			<path
+   class="st1"
+   d="m 344.39,303.72 c 0.01,0.01 0.02,0.02 0.03,0.03 0,0 -0.01,-0.01 -0.03,-0.03 0,0 0,0 0,0 z"
+   id="path342" />
+			<path
+   class="st1"
+   d="m 345.27,302.86 c 0,0 0,-0.01 0,0 0.04,0.05 0.04,0.02 0,0 z"
+   id="path344" />
+			<polygon
+   class="st1"
+   points=""
+   id="polygon346" />
+			<path
+   class="st1"
+   d="m 218.94,357.31 c -0.01,-0.01 -0.02,-0.03 -0.02,-0.04 0,-0.01 0.01,0.01 0.02,0.04 0,0 0,0 0,0 z"
+   id="path348" />
+			<path
+   class="st1"
+   d="m 218.05,357.64 c 0,0 0.01,0.01 0.01,0.01 0,-0.01 -0.01,-0.02 -0.01,-0.02 0,0 0,0.01 0,0.01 z"
+   id="path350" />
+			<path
+   class="st1"
+   d="m 218.84,357.83 c 0.01,-0.01 0.01,-0.01 0.01,-0.02 0,-0.01 0.01,-0.01 0.01,-0.02 -0.01,0.01 -0.02,0.02 -0.02,0.04 -0.01,0.01 -0.01,0 0,0 z"
+   id="path352" />
+			<path
+   class="st1"
+   d="m 218.83,357.84 c -0.01,0.01 -0.02,0.02 -0.03,0.03 0,0 0,0 -0.01,0 0.01,0 0.01,-0.01 0.02,-0.01 0.01,-0.01 0.01,-0.01 0.02,-0.02 z"
+   id="path354" />
+			<path
+   class="st1"
+   d="m 218.96,357.52 c 0,0 0,-0.01 0,0 -0.03,0.09 0,0.04 0,0 z"
+   id="path356" />
+			<path
+   class="st1"
+   d="m 233.06,363.97 c 1.17,2.88 4.4,4.66 7.46,4.06 1.61,-0.32 3.04,-1.28 4.01,-2.6 0.99,-1.35 1.28,-2.93 1.1,-4.58 -0.35,-3.3 -2.98,-5.86 -6.3,-6.06 -1.84,-0.11 -3.61,0.57 -4.94,1.83 -0.63,0.6 -1.13,1.36 -1.49,2.15 -0.18,0.41 -0.26,0.75 -0.26,1.19 0,0.35 -0.04,0.68 -0.01,1.03 -0.08,1.02 0.05,2.04 0.43,2.98 z m 0.6,-4.3 c 0.04,-0.07 0.09,-0.15 0.12,-0.22 0.29,-0.6 0.67,-1.12 1.14,-1.61 0.91,-0.95 2.04,-1.58 3.36,-1.78 2.73,-0.4 5.55,1.2 6.35,3.89 0.83,2.79 -0.79,5.83 -3.5,6.84 -2.5,0.93 -5.42,-0.22 -6.84,-2.44 -0.9,-1.4 -1.05,-3.1 -0.63,-4.68 z"
+   id="path358" />
+			<path
+   class="st1"
+   d="m 237.57,359.37 c -0.66,0.45 -1.07,1.19 -1.03,2 0.01,0.11 0.02,0.21 0.06,0.32 0.01,0.03 0.02,0.06 0.03,0.09 0.01,0.03 0.02,0.07 0.04,0.1 0.03,0.05 0.03,0.07 0.01,0.04 0.03,0.12 0.07,0.23 0.12,0.35 0.07,0.27 0.19,0.53 0.36,0.76 0.83,1.1 2.48,1.34 3.57,0.47 1.01,-0.81 1.19,-2.45 0.44,-3.49 -0.8,-1.11 -2.48,-1.41 -3.6,-0.64 z m 1.76,0.66 c 0.01,0 0.03,0 0.04,0.01 0.07,0.01 0.14,0.03 0.21,0.05 0.05,0.02 0.11,0.03 0.16,0.05 0,0 0,0 0,0 0,0 0,0 0,0 0.02,0.01 0.04,0.02 0.06,0.03 0.06,0.03 0.11,0.06 0.16,0.09 0.03,0.02 0.15,0.11 0.09,0.06 0.05,0.04 0.1,0.08 0.14,0.13 0.02,0.02 0.03,0.03 0.05,0.05 0.01,0.01 0.03,0.03 0.04,0.04 0.01,0.01 0.01,0.01 0.01,0.02 0.02,0.03 0.04,0.05 0.05,0.08 0.04,0.06 0.07,0.12 0.1,0.18 0.01,0.02 0.02,0.03 0.02,0.05 0,0.01 0.01,0.02 0.01,0.02 0.02,0.06 0.04,0.12 0.06,0.18 0.01,0.05 0.02,0.11 0.03,0.16 0,0 0,0 0,0.01 0,0.03 0.01,0.06 0.01,0.09 0.01,0.12 0,0.24 -0.01,0.36 0,0.01 0,0.02 0,0.03 0,0.02 -0.01,0.03 -0.01,0.05 -0.02,0.07 -0.03,0.14 -0.05,0.21 -0.02,0.05 -0.03,0.11 -0.05,0.16 0,0 0,0 0,0 0,0 0,0 0,0.01 -0.01,0.02 -0.02,0.04 -0.03,0.06 -0.03,0.06 -0.06,0.11 -0.09,0.16 -0.02,0.03 -0.03,0.05 -0.05,0.08 0,0 0,0 -0.01,0.01 -0.04,0.05 -0.08,0.1 -0.13,0.14 -0.02,0.02 -0.03,0.03 -0.05,0.05 -0.01,0.01 -0.03,0.03 -0.04,0.04 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.03,0.02 -0.05,0.04 -0.08,0.05 -0.06,0.04 -0.12,0.08 -0.18,0.11 -0.02,0.01 -0.09,0.04 -0.1,0.04 -0.05,0.02 -0.1,0.04 -0.15,0.05 -0.05,0.02 -0.11,0.03 -0.16,0.04 -0.02,0 -0.05,0.01 -0.07,0.01 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.02,0 -0.12,0.01 -0.24,0.01 -0.36,0 -0.03,0 -0.06,0 -0.09,-0.01 -0.07,-0.01 -0.14,-0.02 -0.21,-0.04 -0.24,-0.06 -0.36,-0.11 -0.58,-0.25 -0.04,-0.03 -0.19,-0.16 -0.22,-0.2 -0.08,-0.1 -0.14,-0.21 -0.2,-0.32 -0.06,-0.14 -0.11,-0.33 -0.13,-0.51 0.07,-0.23 0.12,-0.46 0.19,-0.68 0,-0.01 0.01,-0.02 0.01,-0.03 0.01,-0.01 0.01,-0.02 0.02,-0.04 0.03,-0.05 0.05,-0.1 0.08,-0.15 0.03,-0.06 0.06,-0.11 0.1,-0.17 0.01,-0.02 0.03,-0.04 0.04,-0.06 0,-0.01 0,0 0,-0.01 0,0 0,0 0.01,-0.01 0.04,-0.05 0.09,-0.1 0.13,-0.14 0.01,-0.01 0.07,-0.06 0.09,-0.08 0.02,-0.01 0.08,-0.05 0.1,-0.06 0.06,-0.04 0.12,-0.07 0.19,-0.1 0.01,0 0.02,-0.01 0.03,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.06,-0.02 0.12,-0.04 0.18,-0.06 0.05,-0.01 0.11,-0.02 0.16,-0.04 0.01,0 0.02,0 0.03,0 0.01,0 0.05,-0.01 0.07,-0.01 0.12,0 0.24,0 0.36,0 0.01,0.02 0.02,0.02 0.04,0.02 z"
+   id="path360" />
+			<path
+   class="st1"
+   d="m 209.95,371.51 c -0.61,-0.12 -1.27,-0.01 -1.78,0.36 -0.15,0.11 -0.28,0.23 -0.39,0.36 -0.33,0.25 -0.55,0.66 -0.69,1.05 -0.18,0.52 -0.19,1.14 0.02,1.66 0.46,1.14 1.68,1.82 2.89,1.58 1.15,-0.22 2.05,-1.39 2.02,-2.55 -0.04,-1.16 -0.94,-2.23 -2.07,-2.46 z m 0.83,2.62 c 0,0.01 0,0.02 0,0.03 -0.01,0.05 -0.02,0.09 -0.03,0.14 -0.01,0.05 -0.03,0.1 -0.04,0.16 0,0 -0.03,0.06 -0.03,0.09 -0.01,0.03 -0.03,0.07 -0.03,0.07 -0.03,0.06 -0.07,0.12 -0.11,0.19 -0.01,0.01 -0.01,0.01 -0.01,0.02 0,0 0,0 -0.01,0.01 -0.03,0.04 -0.06,0.07 -0.09,0.1 -0.04,0.04 -0.08,0.08 -0.12,0.12 0,0 -0.03,0.03 -0.06,0.05 -0.03,0.02 -0.07,0.05 -0.07,0.05 -0.05,0.03 -0.09,0.06 -0.14,0.08 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.01,0 -0.06,0.02 -0.09,0.03 -0.05,0.02 -0.11,0.03 -0.16,0.04 -0.01,0 -0.02,0.01 -0.03,0.01 -0.01,0 -0.01,0 -0.02,0 -0.09,0 -0.18,0 -0.27,0 -0.01,0 -0.02,0 -0.03,0 -0.01,0 -0.01,0 -0.03,-0.01 -0.03,-0.01 -0.07,-0.01 -0.1,-0.02 -0.05,-0.01 -0.1,-0.03 -0.15,-0.04 -0.03,-0.01 -0.05,-0.02 -0.08,-0.03 -0.01,0 -0.01,0 -0.02,-0.01 -0.08,-0.04 -0.16,-0.08 -0.23,-0.13 -0.01,-0.01 -0.07,-0.05 -0.08,-0.06 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 -0.06,-0.06 -0.12,-0.12 -0.18,-0.18 -0.02,-0.02 -0.05,-0.07 -0.06,-0.07 -0.03,-0.04 -0.06,-0.09 -0.08,-0.14 -0.01,-0.01 -0.03,-0.07 -0.04,-0.09 -0.02,-0.05 -0.03,-0.09 -0.05,-0.14 -0.01,-0.04 -0.02,-0.09 -0.03,-0.13 0,-0.01 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.06 -0.01,-0.09 0,-0.03 0,-0.05 0,-0.08 0.28,-0.06 0.45,-0.28 0.47,-0.56 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0.01,-0.01 0.01,-0.03 0.04,-0.14 0.01,-0.07 0.01,-0.04 0.03,-0.09 0.05,-0.13 0,-0.01 0.01,-0.01 0.02,-0.03 0.01,-0.01 0.02,-0.04 0.04,-0.07 0.01,-0.02 0.03,-0.03 0.04,-0.05 0.04,-0.04 0.09,-0.11 0.15,-0.16 0.02,-0.02 0.04,-0.03 0.07,-0.05 0.03,-0.02 0.05,-0.03 0.08,-0.05 0.01,-0.01 0.04,-0.03 0.07,-0.04 0.03,-0.01 0.05,-0.02 0.08,-0.03 0.08,-0.03 0.15,-0.04 0.23,-0.06 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0.05,0 0.09,0 0.14,0 0.02,0 0.09,0.01 0.1,0.01 0.03,0.01 0.06,0.01 0.1,0.02 0.03,0.01 0.07,0.02 0.1,0.03 0.01,0 0.02,0 0.03,0.01 0.01,0 0.01,0.01 0.02,0.01 0.09,0.04 0.17,0.09 0.25,0.14 0.01,0.01 0.03,0.02 0.05,0.03 0.04,0.04 0.09,0.08 0.13,0.12 0.03,0.03 0.06,0.06 0.09,0.09 0.01,0.01 0.02,0.03 0.03,0.04 0.06,0.08 0.11,0.16 0.15,0.24 0.02,0.03 0.03,0.06 0.05,0.09 -0.07,-0.13 0,0.01 0.01,0.04 0.03,0.08 0.05,0.17 0.06,0.26 0,0.03 0.01,0.08 0.01,0.09 0,0.04 0,0.09 0,0.15 z"
+   id="path362" />
+			<path
+   class="st1"
+   d="m 268.78,349.16 c 0.02,0.06 0.1,0.04 0.11,-0.01 0.03,-0.22 -0.01,-0.44 -0.03,-0.65 -0.02,-0.22 -0.04,-0.43 -0.06,-0.65 -0.01,-0.08 -0.14,-0.09 -0.13,0 0.01,0.22 0.03,0.44 0.04,0.66 0.01,0.22 0,0.44 0.07,0.65 z"
+   id="path364" />
+			<path
+   class="st1"
+   d="m 268.73,350.99 -0.01,0.88 c 0,0.15 0,0.29 0,0.44 0,0.14 0,0.29 0.03,0.43 0.01,0.06 0.11,0.06 0.12,0 0.03,-0.14 0.03,-0.29 0.03,-0.43 0,-0.15 0,-0.29 0,-0.44 l -0.01,-0.88 c 0,-0.1 -0.16,-0.1 -0.16,0 z"
+   id="path366" />
+			<path
+   class="st1"
+   d="m 270.28,351.1 c 0.03,-0.65 -0.05,-1.3 -0.09,-1.95 -0.01,-0.12 -0.19,-0.12 -0.19,0 0.03,0.66 0.02,1.32 0.13,1.97 0.01,0.09 0.14,0.07 0.15,-0.02 z"
+   id="path368" />
+			<path
+   class="st1"
+   d="m 271.55,352.4 c 0.02,-0.31 0,-0.61 0,-0.92 v -0.92 c 0,-0.04 -0.07,-0.04 -0.07,0 v 0.92 c 0,0.31 -0.01,0.62 0,0.92 0.01,0.04 0.07,0.04 0.07,0 z"
+   id="path370" />
+			<path
+   class="st1"
+   d="m 272.9,350.37 c 0.07,-0.48 0.06,-0.97 0.05,-1.46 -0.01,-0.5 -0.03,-0.99 -0.05,-1.49 0,-0.1 -0.15,-0.1 -0.16,0 -0.02,0.5 -0.05,0.99 -0.05,1.49 -0.01,0.49 -0.02,0.97 0.05,1.46 0.02,0.07 0.15,0.07 0.16,0 z"
+   id="path372" />
+			<path
+   class="st1"
+   d="m 272.74,352.08 c -0.01,0.37 -0.01,0.74 -0.02,1.11 0,0.18 0,0.36 0,0.54 0,0.18 0,0.36 0.03,0.54 0.01,0.07 0.12,0.07 0.13,0 0.03,-0.17 0.03,-0.36 0.03,-0.54 0,-0.18 0,-0.36 0,-0.54 l -0.02,-1.11 c 0.01,-0.11 -0.15,-0.11 -0.15,0 z"
+   id="path374" />
+			<path
+   class="st1"
+   d="m 275.02,351.43 c 0.01,-0.25 0.01,-0.51 0.01,-0.76 0,-0.04 -0.07,-0.04 -0.07,0 0,0.25 0,0.51 0.01,0.76 -0.01,0.03 0.05,0.03 0.05,0 z"
+   id="path376" />
+			<path
+   class="st1"
+   d="m 276.37,350.8 c 0.04,-0.17 0.02,-0.37 0.02,-0.54 0,-0.18 -0.01,-0.36 -0.01,-0.54 -0.01,-0.37 -0.03,-0.74 -0.03,-1.11 0,-0.06 -0.1,-0.06 -0.1,0 -0.01,0.37 -0.02,0.74 -0.03,1.11 -0.01,0.18 -0.01,0.36 -0.01,0.54 0,0.18 -0.03,0.37 0.02,0.54 0,0.08 0.12,0.08 0.14,0 z"
+   id="path378" />
+			<path
+   class="st1"
+   d="m 277.91,353.62 c 0.09,-0.6 0.07,-1.22 0.08,-1.83 0.01,-0.63 0.03,-1.25 0.04,-1.88 0,-0.13 -0.2,-0.13 -0.2,0 -0.02,0.61 -0.04,1.23 -0.05,1.84 -0.02,0.61 -0.08,1.24 -0.02,1.84 0.01,0.08 0.14,0.12 0.15,0.03 z"
+   id="path380" />
+			<path
+   class="st1"
+   d="m 279.07,354.14 c 0.05,-0.41 0.01,-0.84 0.01,-1.25 0,-0.42 -0.01,-0.83 -0.01,-1.25 0,-0.09 -0.15,-0.1 -0.15,0 0,0.42 -0.01,0.83 -0.01,1.25 0,0.41 -0.03,0.84 0.01,1.25 0.02,0.09 0.14,0.09 0.15,0 z"
+   id="path382" />
+			<path
+   class="st1"
+   d="m 288.49,354.77 c 0.02,-0.57 0.01,-1.14 -0.01,-1.71 0,-0.07 -0.11,-0.07 -0.11,0 -0.01,0.57 -0.02,1.14 -0.01,1.71 0.01,0.28 0.01,0.56 0.01,0.84 0,0.27 -0.05,0.56 -0.01,0.82 0.01,0.06 0.12,0.06 0.13,0 0.04,-0.27 -0.01,-0.55 -0.01,-0.82 0.01,-0.28 0,-0.56 0.01,-0.84 z"
+   id="path384" />
+			<path
+   class="st1"
+   d="m 289.51,350.67 c -0.02,0.61 -0.05,1.22 -0.07,1.82 -0.01,0.3 -0.02,0.61 -0.03,0.91 -0.01,0.28 -0.03,0.59 0.02,0.86 0.01,0.07 0.13,0.07 0.15,0 0.06,-0.27 0.06,-0.58 0.07,-0.86 0.01,-0.3 0.02,-0.61 0.02,-0.91 0.01,-0.61 0.02,-1.22 0.04,-1.82 -0.01,-0.12 -0.2,-0.12 -0.2,0 z"
+   id="path386" />
+			<path
+   class="st1"
+   d="m 290.89,353.1 c 0.07,-0.17 0.06,-0.38 0.07,-0.56 0.01,-0.21 0.01,-0.42 0.02,-0.63 0.01,-0.41 0.02,-0.83 0.03,-1.24 0,-0.11 -0.16,-0.1 -0.16,0 -0.03,0.41 -0.06,0.81 -0.08,1.22 -0.01,0.2 -0.03,0.41 -0.04,0.61 -0.01,0.18 -0.05,0.41 0.01,0.58 0.01,0.06 0.12,0.09 0.15,0.02 z"
+   id="path388" />
+			<path
+   class="st1"
+   d="m 292.77,351.45 v 0.54 c 0,0.18 0,0.37 0.03,0.54 0.02,0.08 0.15,0.08 0.16,0 0.03,-0.18 0.03,-0.36 0.03,-0.54 0,-0.18 0,-0.36 0,-0.54 0,-0.37 0,-0.74 -0.01,-1.11 0,-0.13 -0.21,-0.13 -0.21,0 z"
+   id="path390" />
+			<path
+   class="st1"
+   d="m 294.73,350.67 c 0,-0.15 -0.23,-0.15 -0.23,0 -0.01,0.64 -0.02,1.29 -0.02,1.93 0,0.62 -0.02,1.27 0.08,1.88 0.01,0.06 0.11,0.06 0.12,0 0.1,-0.61 0.08,-1.26 0.08,-1.88 -0.01,-0.64 -0.02,-1.29 -0.03,-1.93 z"
+   id="path392" />
+			<path
+   class="st1"
+   d="m 296.21,351.77 c 0.1,-0.44 0.1,-0.9 0.11,-1.35 0.01,-0.46 0.02,-0.92 0.03,-1.38 0,-0.14 -0.21,-0.14 -0.21,0 -0.02,0.46 -0.05,0.92 -0.08,1.38 -0.03,0.45 -0.06,0.9 0,1.35 0.01,0.08 0.13,0.08 0.15,0 z"
+   id="path394" />
+			<path
+   class="st1"
+   d="m 296.18,353.6 c -0.02,0.16 -0.04,0.33 -0.06,0.49 -0.01,0.08 -0.02,0.16 -0.03,0.24 0,0.04 0,0.08 0,0.11 0,0.05 0,0.09 0,0.13 0.01,0.05 0.07,0.07 0.09,0.01 0.02,-0.04 0.02,-0.09 0.03,-0.13 0.01,-0.04 0.02,-0.07 0.02,-0.11 0.01,-0.08 0.02,-0.17 0.03,-0.25 0.02,-0.17 0.03,-0.33 0.05,-0.5 0,-0.04 -0.04,-0.07 -0.07,-0.07 -0.03,0.01 -0.05,0.04 -0.06,0.08 z"
+   id="path396" />
+			<path
+   class="st1"
+   d="m 296.07,356.6 c 0.02,0.13 0.03,0.25 0.07,0.38 0.02,0.08 0.14,0.06 0.14,-0.02 0.01,-0.13 0,-0.26 0,-0.39 0,-0.12 0,-0.25 0,-0.37 -0.02,-0.25 -0.04,-0.51 -0.06,-0.76 -0.01,-0.08 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.02,0.26 0.04,0.52 0.07,0.77 0.01,0.14 0.04,0.26 0.06,0.39 z"
+   id="path398" />
+			<path
+   class="st1"
+   d="m 297.62,349.82 c 0.03,-0.17 0.02,-0.35 0.02,-0.52 v -0.51 c 0,-0.35 0,-0.7 -0.01,-1.05 0,-0.12 -0.19,-0.12 -0.19,0 0,0.35 0,0.7 -0.01,1.05 v 0.51 c 0,0.17 -0.01,0.35 0.02,0.52 0.02,0.08 0.16,0.08 0.17,0 z"
+   id="path400" />
+			<path
+   class="st1"
+   d="m 297.5,352.19 c 0,0.99 0.01,1.99 0.03,2.98 0.01,0.24 0.04,0.49 0.03,0.73 -0.01,0.24 -0.04,0.49 -0.05,0.73 -0.01,0.5 -0.01,1.01 0,1.52 0,0.16 0.24,0.16 0.24,0 0,-0.49 -0.01,-0.98 -0.03,-1.47 -0.01,-0.26 -0.05,-0.52 -0.07,-0.78 -0.01,-0.24 0.02,-0.49 0.02,-0.73 0,-0.99 0,-1.99 -0.03,-2.98 0.02,-0.1 -0.14,-0.1 -0.14,0 z"
+   id="path402" />
+			<path
+   class="st1"
+   d="m 276.67,340.59 c 0.01,0.05 0.02,0.11 0.02,0.16 0.01,0.06 0.02,0.1 0.07,0.13 0.03,0.02 0.08,0.01 0.11,-0.01 0.04,-0.04 0.04,-0.09 0.04,-0.15 0,-0.05 0,-0.1 -0.01,-0.15 -0.01,-0.09 -0.02,-0.18 -0.03,-0.28 -0.02,-0.19 -0.04,-0.38 -0.06,-0.57 -0.01,-0.06 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.13,0.06 -0.12,0.12 0.02,0.19 0.04,0.39 0.06,0.58 0.02,0.1 0.03,0.2 0.04,0.29 z"
+   id="path404" />
+			<path
+   class="st1"
+   d="m 275.18,341.91 c 0.04,-0.15 0.03,-0.33 0.03,-0.48 0,-0.17 0,-0.33 0,-0.5 0,-0.33 0,-0.66 -0.01,-0.99 0,-0.13 -0.2,-0.13 -0.2,0 0,0.33 0,0.66 -0.01,0.99 0,0.17 0,0.33 0,0.5 0,0.15 -0.01,0.33 0.03,0.48 0.02,0.08 0.14,0.08 0.16,0 z"
+   id="path406" />
+			<path
+   class="st1"
+   d="m 273.2,343.08 c 0.01,0.07 0.1,0.07 0.1,0 0.03,-0.29 0.01,-0.58 0.02,-0.87 0,-0.29 0,-0.58 0,-0.87 0,-0.09 -0.14,-0.09 -0.14,0 0,0.29 0,0.58 0,0.87 0.01,0.29 -0.01,0.58 0.02,0.87 z"
+   id="path408" />
+			<path
+   class="st1"
+   d="m 287.92,340.25 c -0.03,-0.15 -0.05,-0.29 -0.08,-0.44 -0.01,-0.03 -0.05,-0.06 -0.08,-0.05 -0.03,0.01 -0.06,0.05 -0.05,0.08 0.04,0.14 0.09,0.28 0.13,0.43 0.01,0.06 0.08,0.04 0.08,-0.02 z"
+   id="path410" />
+			<path
+   class="st1"
+   d="m 289.42,342.56 c 0.03,0.1 0.16,0.1 0.2,0 0.04,-0.12 0.03,-0.25 0.03,-0.37 0.01,-0.11 0.01,-0.23 0.01,-0.34 0,-0.25 0,-0.5 -0.01,-0.75 0,-0.5 -0.01,-0.99 -0.01,-1.49 0,-0.15 -0.23,-0.15 -0.24,0 0,0.5 -0.01,0.99 -0.01,1.49 0,0.25 -0.01,0.5 -0.01,0.75 0,0.12 0,0.23 0.01,0.34 0,0.13 -0.01,0.26 0.03,0.37 z"
+   id="path412" />
+			<path
+   class="st1"
+   d="m 289.42,343.87 c 0.03,0.14 0.06,0.29 0.09,0.43 0.03,0.14 0.05,0.29 0.1,0.43 0.02,0.06 0.08,0.11 0.15,0.09 0.07,-0.02 0.1,-0.09 0.09,-0.15 -0.02,-0.14 -0.07,-0.28 -0.11,-0.42 -0.04,-0.14 -0.08,-0.28 -0.12,-0.42 -0.04,-0.14 -0.23,-0.09 -0.2,0.04 z"
+   id="path414" />
+			<path
+   class="st1"
+   d="m 291.01,342.4 c 0.01,0.16 0.01,0.34 0.06,0.48 0.03,0.08 0.15,0.09 0.18,0 0.04,-0.15 0.02,-0.33 0.02,-0.48 -0.01,-0.17 -0.02,-0.33 -0.03,-0.5 -0.02,-0.33 -0.04,-0.66 -0.06,-1 -0.01,-0.15 -0.24,-0.15 -0.24,0 0.01,0.33 0.03,0.66 0.05,1 0,0.17 0.01,0.34 0.02,0.5 z"
+   id="path416" />
+			<path
+   class="st1"
+   d="m 291.24,344.77 c 0,-0.06 0,-0.11 0,-0.17 0,-0.05 -0.04,-0.1 -0.1,-0.1 -0.05,0 -0.1,0.04 -0.1,0.1 0,0.06 0,0.11 0,0.17 0,0.03 0,0.06 0,0.08 0,0.01 0,0.03 0,0.04 0,0.03 0.01,0.05 0.03,0.08 0.03,0.06 0.12,0.06 0.15,0 0.01,-0.02 0.03,-0.05 0.03,-0.08 0,-0.01 0,-0.03 0,-0.04 0,-0.03 0,-0.05 -0.01,-0.08 z"
+   id="path418" />
+			<path
+   class="st1"
+   d="m 292.63,343.75 c 0.06,-0.43 0.11,-0.86 0.12,-1.3 0.01,-0.44 0.03,-0.88 0.04,-1.33 0,-0.16 -0.24,-0.16 -0.25,0 -0.02,0.43 -0.05,0.87 -0.07,1.3 -0.02,0.44 -0.02,0.86 0.01,1.3 0,0.09 0.13,0.12 0.15,0.03 z"
+   id="path420" />
+			<path
+   class="st1"
+   d="m 292.68,345.77 c -0.01,-0.35 -0.02,-0.71 -0.02,-1.06 0,-0.14 -0.21,-0.14 -0.21,0 0,0.35 -0.01,0.71 -0.02,1.06 -0.01,0.16 0.25,0.16 0.25,0 z"
+   id="path422" />
+			<path
+   class="st1"
+   d="m 294.68,342.15 c 0.03,-0.06 0.07,-0.14 0.07,-0.21 0.01,-0.06 0.01,-0.13 0.02,-0.19 0.01,-0.14 0.03,-0.29 0.03,-0.43 0.01,-0.28 0.02,-0.56 0.04,-0.85 0.01,-0.19 -0.27,-0.18 -0.29,0 l -0.07,0.83 c -0.01,0.14 -0.02,0.28 -0.02,0.41 0,0.06 -0.01,0.13 -0.01,0.19 0,0.07 0.02,0.15 0.04,0.22 0.03,0.08 0.15,0.11 0.19,0.03 z"
+   id="path424" />
+			<path
+   class="st1"
+   d="m 294.78,343.84 c 0,0.18 0,0.36 0,0.54 0,0.18 -0.01,0.36 0.01,0.54 0.01,0.05 0.08,0.05 0.08,0 0.02,-0.18 0.01,-0.36 0.01,-0.54 0,-0.18 0,-0.36 0,-0.54 0,-0.06 -0.1,-0.06 -0.1,0 z"
+   id="path426" />
+			<path
+   class="st1"
+   d="m 269.43,342.02 c 0.02,-0.13 0.04,-0.25 0.04,-0.38 0,-0.13 0,-0.26 0,-0.39 v -0.77 c 0,-0.14 -0.22,-0.14 -0.22,0 0,0.26 0,0.52 0,0.77 0,0.13 0,0.26 0,0.39 0,0.13 0.02,0.25 0.04,0.38 0,0.08 0.13,0.08 0.14,0 z"
+   id="path428" />
+			<path
+   class="st1"
+   d="m 269.46,344.32 c 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 0,-0.01 0.01,0.01 0,0.02 0,0.02 z"
+   id="path430" />
+			<polygon
+   class="st1"
+   points="269.47,344.3 269.47,344.31 "
+   id="polygon432" />
+			<path
+   class="st1"
+   d="m 269.47,344.31 c 0,0 0,0 0,0 v 0 c 0,0.01 0,0.02 0,0.03 0,0 0,0 0,0 0,0 0,0.01 0,0.01 0,0 0,0.01 -0.01,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0.01,-0.01 0.01,-0.02 0.01,-0.05 0.01,-0.06 -0.01,-0.02 -0.01,-0.03 -0.03,-0.04 -0.03,-0.02 -0.08,-0.02 -0.11,0.01 -0.04,0.04 -0.06,0.09 -0.05,0.14 0,0.03 0.01,0.06 0.03,0.09 0.01,0.02 0.02,0.04 0.04,0.05 0.02,0.02 0.05,0.04 0.08,0.04 0.04,0.01 0.08,0.01 0.12,-0.02 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.02,-0.02 0.04,-0.05 0.05,-0.08 0.01,-0.02 0.01,-0.05 0.01,-0.08 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.02 -0.02,-0.03 -0.03,-0.05 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.01 -0.04,-0.01 -0.02,0 -0.03,0.01 -0.04,0.02 -0.05,0.02 -0.06,0.04 -0.05,0.07 0,0 0,0 0,0 0,0 0,0 0,0 z"
+   id="path434" />
+			<polygon
+   class="st1"
+   points=""
+   id="polygon436" />
+			<path
+   class="st1"
+   d="m 271.27,342.54 c 0.03,-0.29 0.01,-0.58 0.01,-0.87 0,-0.29 0,-0.58 0,-0.87 0,-0.1 -0.16,-0.1 -0.16,0 0,0.29 0,0.58 0,0.87 0,0.29 -0.02,0.58 0.01,0.87 0,0.09 0.13,0.09 0.14,0 z"
+   id="path438" />
+			<path
+   class="st1"
+   d="m 271.23,345.74 c 0,0.04 0,0.09 0,0.13 0,0.05 0.01,0.09 0.01,0.14 0.01,0.07 0.11,0.08 0.12,0 0,-0.05 0.01,-0.09 0.01,-0.14 0,-0.04 0,-0.09 0,-0.13 0,-0.09 0,-0.18 0,-0.27 0,-0.09 -0.14,-0.09 -0.14,0 0,0.09 0,0.18 0,0.27 z"
+   id="path440" />
+			<path
+   class="st1"
+   d="m 272.72,361.99 c -0.19,-0.02 -0.39,-0.03 -0.58,-0.03 -0.39,-0.02 -0.77,-0.04 -1.16,-0.05 -0.2,-0.01 -0.2,0.3 0,0.31 0.39,0.02 0.77,0.04 1.16,0.06 0.37,0.02 0.77,0.06 1.14,0 0.1,-0.02 0.09,-0.17 0,-0.2 -0.18,-0.07 -0.37,-0.08 -0.56,-0.09 z"
+   id="path442" />
+			<path
+   class="st1"
+   d="m 275.75,362.33 c 0.08,0 0.08,-0.12 0,-0.12 -0.08,0 -0.08,0.12 0,0.12 z"
+   id="path444" />
+			<path
+   class="st1"
+   d="m 277.1,363.02 c -0.27,0.02 -0.54,0.03 -0.81,0.05 -0.11,0.01 -0.11,0.18 0,0.17 0.28,-0.02 0.55,-0.03 0.83,-0.05 0.27,-0.02 0.55,-0.02 0.81,-0.08 0.07,-0.02 0.05,-0.11 -0.02,-0.12 -0.26,-0.02 -0.54,0.01 -0.81,0.03 z"
+   id="path446" />
+			<path
+   class="st1"
+   d="m 278.18,361.72 c 0.39,0.01 0.78,0.03 1.17,0.04 0.39,0.01 0.8,0.05 1.19,-0.02 0.08,-0.01 0.07,-0.13 0,-0.15 -0.37,-0.09 -0.76,-0.08 -1.14,-0.1 -0.39,-0.01 -0.78,-0.02 -1.17,-0.04 -0.79,-0.02 -1.59,-0.05 -2.38,-0.08 -1.59,-0.06 -3.17,-0.12 -4.76,-0.16 -0.16,0 -0.16,0.25 0,0.25 1.59,0.06 3.17,0.12 4.76,0.16 0.78,0.04 1.56,0.07 2.33,0.1 z"
+   id="path448" />
+			<path
+   class="st1"
+   d="m 281.71,361.75 c 0.54,0.01 1.08,0 1.63,-0.01 0.54,-0.02 1.09,0.01 1.63,-0.04 0.09,-0.01 0.09,-0.13 0,-0.14 -0.54,-0.05 -1.08,-0.02 -1.63,-0.04 -0.54,-0.02 -1.08,-0.02 -1.63,-0.01 -0.16,-0.02 -0.16,0.23 0,0.24 z"
+   id="path450" />
+			<path
+   class="st1"
+   d="m 286.26,361.65 c 0.04,0 0.04,-0.06 0,-0.06 -0.18,-0.01 -0.36,-0.02 -0.54,-0.02 -0.07,0 -0.07,0.12 0,0.11 0.18,-0.01 0.36,-0.02 0.54,-0.03 z"
+   id="path452" />
+			<path
+   class="st1"
+   d="m 287.84,361.71 c 0.31,0.01 0.62,0.04 0.92,0 0.12,-0.02 0.12,-0.18 0,-0.19 -0.3,-0.04 -0.62,-0.01 -0.92,0 -0.31,0.01 -0.61,0.03 -0.92,0.04 -0.07,0 -0.07,0.11 0,0.11 0.3,0.02 0.61,0.04 0.92,0.04 z"
+   id="path454" />
+			<path
+   class="st1"
+   d="m 290.49,361.8 c 0.07,0.01 0.14,0.01 0.21,0.01 0.03,0 0.07,0 0.1,0 0.04,0 0.08,-0.01 0.12,-0.01 0.09,-0.01 0.09,-0.13 0,-0.14 -0.04,0 -0.08,-0.01 -0.11,-0.01 -0.03,0 -0.07,0 -0.1,0 -0.07,0 -0.14,0.01 -0.22,0.01 -0.14,0.01 -0.29,0.02 -0.43,0.02 -0.06,0 -0.06,0.09 0,0.09 0.14,0.01 0.29,0.01 0.43,0.03 z"
+   id="path456" />
+			<path
+   class="st1"
+   d="m 292.99,361.88 0.66,0.06 c 0.22,0.02 0.45,0.06 0.67,-0.01 0.08,-0.03 0.11,-0.15 0.03,-0.19 -0.21,-0.11 -0.45,-0.11 -0.68,-0.13 -0.23,-0.02 -0.45,-0.03 -0.68,-0.05 -0.08,-0.01 -0.16,0.08 -0.16,0.16 0,0.1 0.07,0.16 0.16,0.16 z"
+   id="path458" />
+			<path
+   class="st1"
+   d="m 284.78,362.58 c -0.51,-0.09 -1.06,-0.05 -1.58,-0.06 -0.55,-0.01 -1.1,-0.02 -1.65,-0.02 -1.1,-0.01 -2.2,0 -3.3,0.01 -0.15,0 -0.15,0.23 0,0.24 1.1,0.03 2.2,0.06 3.3,0.07 0.53,0.01 1.07,0.01 1.6,0.01 0.54,0 1.1,0.06 1.63,-0.03 0.11,-0.01 0.11,-0.2 0,-0.22 z"
+   id="path460" />
+			<path
+   class="st1"
+   d="m 281.17,363.43 c -0.4,0 -0.8,0 -1.19,0 -0.18,0 -0.18,0.27 0,0.27 0.4,0 0.8,0 1.19,0 0.4,0 0.8,0.02 1.19,-0.03 0.14,-0.02 0.14,-0.2 0,-0.22 -0.39,-0.04 -0.79,-0.02 -1.19,-0.02 z"
+   id="path462" />
+			<path
+   class="st1"
+   d="m 285.69,363.4 c -0.35,0.02 -0.7,0.04 -1.05,0.06 -0.16,0.01 -0.16,0.26 0,0.25 0.35,-0.02 0.7,-0.03 1.05,-0.05 0.18,-0.01 0.35,-0.01 0.53,-0.03 0.17,-0.01 0.35,-0.01 0.51,-0.06 0.1,-0.02 0.11,-0.19 0,-0.21 -0.34,-0.03 -0.7,0.02 -1.04,0.04 z"
+   id="path464" />
+			<path
+   class="st1"
+   d="m 291.55,363.61 c 0.28,0 0.54,0 0.81,-0.06 0.08,-0.02 0.09,-0.15 0,-0.17 -0.27,-0.06 -0.53,-0.06 -0.81,-0.06 -0.29,0 -0.57,0 -0.86,0.01 -0.57,0.02 -1.14,0.03 -1.71,0.03 -0.14,0 -0.14,0.22 0,0.22 0.57,0 1.14,0.01 1.71,0.03 0.28,0 0.57,0 0.86,0 z"
+   id="path466" />
+			<path
+   class="st1"
+   d="m 289,362.7 c -0.22,-0.06 -0.45,-0.07 -0.68,-0.1 -0.22,-0.03 -0.45,-0.04 -0.68,-0.06 -0.46,-0.04 -0.92,-0.07 -1.38,-0.11 -0.18,-0.01 -0.18,0.27 0,0.28 0.45,0.04 0.9,0.07 1.36,0.11 0.22,0.02 0.44,0.04 0.66,0.05 0.23,0.01 0.46,0.03 0.69,0.01 0.11,0 0.14,-0.15 0.03,-0.18 z"
+   id="path468" />
+			<path
+   class="st1"
+   d="m 291.36,362.96 c 0.24,-0.02 0.49,-0.04 0.73,-0.05 0.12,-0.01 0.24,-0.01 0.36,-0.02 0.13,-0.01 0.26,-0.01 0.38,-0.06 0.1,-0.04 0.07,-0.21 -0.03,-0.23 -0.12,-0.03 -0.24,-0.01 -0.37,0 -0.12,0.01 -0.24,0.03 -0.36,0.04 -0.24,0.03 -0.48,0.05 -0.72,0.07 -0.07,0.01 -0.13,0.05 -0.13,0.13 0.01,0.06 0.07,0.12 0.14,0.12 z"
+   id="path470" />
+			<path
+   class="st1"
+   d="m 276.86,364.51 c -0.42,0 -0.85,0.01 -1.27,0.01 -0.85,0 -1.7,0.06 -2.55,0.09 -0.16,0.01 -0.16,0.25 0,0.25 0.87,-0.02 1.73,-0.02 2.6,-0.08 0.42,-0.03 0.85,-0.05 1.27,-0.07 0.41,-0.03 0.84,-0.01 1.24,-0.07 0.08,-0.01 0.05,-0.12 -0.02,-0.13 -0.41,-0.05 -0.85,0 -1.27,0 z"
+   id="path472" />
+			<path
+   class="st1"
+   d="m 277.07,365.11 c -0.27,0.01 -0.53,0.03 -0.8,0.05 -0.53,0.03 -1.07,0.07 -1.6,0.1 -0.19,0.01 -0.2,0.32 0,0.3 0.53,-0.03 1.07,-0.07 1.6,-0.1 0.27,-0.02 0.53,-0.03 0.8,-0.05 0.12,-0.01 0.25,-0.03 0.37,-0.04 0.13,-0.02 0.27,-0.02 0.39,-0.07 0.08,-0.03 0.1,-0.16 0,-0.18 -0.23,-0.05 -0.52,-0.03 -0.76,-0.01 z"
+   id="path474" />
+			<path
+   class="st1"
+   d="m 281.72,365.05 c -0.19,-0.01 -0.39,0 -0.58,0 -0.39,0.01 -0.77,0.02 -1.16,0.03 -0.15,0 -0.15,0.24 0,0.24 0.39,0.01 0.77,0.02 1.16,0.03 0.19,0 0.39,0.01 0.58,0 0.18,-0.01 0.39,-0.01 0.56,-0.06 0.09,-0.03 0.09,-0.16 0,-0.18 -0.18,-0.05 -0.38,-0.05 -0.56,-0.06 z"
+   id="path476" />
+			<path
+   class="st1"
+   d="m 290.3,365.41 c 0,0.04 0.04,0.08 0.08,0.08 0.14,0 0.29,-0.01 0.43,-0.02 0.03,0 0.06,-0.03 0.06,-0.06 0,-0.04 -0.03,-0.06 -0.06,-0.06 -0.14,-0.01 -0.29,-0.02 -0.43,-0.02 -0.04,0 -0.08,0.04 -0.08,0.08 z"
+   id="path478" />
+			<path
+   class="st1"
+   d="m 293.18,365.64 c 0.05,0 0.1,-0.01 0.15,-0.02 0.04,-0.01 0.08,-0.06 0.08,-0.1 0,-0.04 -0.03,-0.09 -0.08,-0.1 -0.05,-0.01 -0.1,-0.02 -0.15,-0.02 -0.05,0 -0.09,0 -0.14,0 -0.09,0 -0.18,0 -0.28,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.07 0.05,0.12 0.12,0.12 0.09,0 0.18,0 0.28,0 0.05,0 0.1,0 0.14,0 z"
+   id="path480" />
+			<path
+   class="st1"
+   d="m 284.64,368.43 c -0.16,0 -0.16,0.25 0,0.25 0.16,0 0.16,-0.25 0,-0.25 z"
+   id="path482" />
+			<path
+   class="st1"
+   d="m 283.01,372.26 c 0.08,0 0.15,0 0.23,0 0.05,0 0.09,0 0.14,-0.01 0.05,-0.01 0.11,-0.01 0.14,-0.05 0.04,-0.05 0.04,-0.1 0,-0.15 -0.03,-0.04 -0.09,-0.04 -0.13,-0.05 -0.05,-0.01 -0.09,-0.01 -0.14,-0.01 -0.08,0 -0.15,0 -0.23,0 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.09 0.05,0.14 0.12,0.14 z"
+   id="path484" />
+			<path
+   class="st1"
+   d="m 284.68,373.83 c 0.12,-0.01 0.25,-0.01 0.37,-0.02 0,0.02 0,0.05 0,0.07 -0.01,0.15 -0.02,0.29 -0.03,0.44 -0.01,0.14 -0.03,0.29 0,0.42 0.01,0.05 0.07,0.04 0.09,0 0.04,-0.13 0.04,-0.28 0.04,-0.42 0.01,-0.15 0.02,-0.29 0.02,-0.44 0,-0.03 0,-0.05 0,-0.08 0,0 0,0 0.01,0 0.16,-0.01 0.33,0 0.47,-0.09 0.05,-0.03 0.04,-0.1 -0.02,-0.12 -0.15,-0.06 -0.3,-0.02 -0.45,0.01 0.01,-0.2 0.02,-0.4 0.03,-0.6 0,-0.08 -0.11,-0.07 -0.12,0 -0.01,0.21 -0.03,0.41 -0.04,0.62 -0.13,0.02 -0.27,0.05 -0.4,0.07 -0.33,0.06 -0.67,0.11 -1,0.16 -0.03,0 -0.02,0.06 0.01,0.06 0.34,-0.04 0.68,-0.06 1.02,-0.08 z"
+   id="path486" />
+			<path
+   class="st1"
+   d="m 285.24,375.15 c 0.01,0 0.02,0 0.02,0 l -0.01,0.53 c 0,0.23 0,0.45 0,0.68 0,0.23 -0.01,0.46 0.03,0.68 0.02,0.12 0.21,0.12 0.23,0 0.04,-0.23 0.03,-0.45 0.03,-0.68 0,-0.23 0,-0.45 0,-0.68 0,-0.17 0,-0.35 -0.01,-0.52 0.18,0.01 0.37,0.01 0.54,-0.03 0.07,-0.02 0.07,-0.12 0,-0.14 -0.17,-0.04 -0.35,-0.04 -0.54,-0.03 0,-0.22 -0.01,-0.44 -0.01,-0.66 0,-0.16 -0.24,-0.16 -0.25,0 l -0.01,0.67 c -0.01,0 -0.02,0 -0.03,0 -0.28,0 -0.56,0.01 -0.84,0.01 -0.57,0.01 -1.14,0.01 -1.71,0.02 -0.08,0 -0.08,0.12 0,0.12 0.57,0.01 1.14,0.01 1.71,0.02 0.29,0.01 0.57,0.01 0.85,0.01 z"
+   id="path488" />
+			<path
+   class="st1"
+   d="m 286.59,377.22 c -0.02,0 -0.04,0 -0.05,0 0.01,-0.24 0.01,-0.48 0.02,-0.72 0.01,-0.59 -0.04,-1.18 -0.03,-1.77 0,-0.04 -0.06,-0.04 -0.06,0 -0.04,0.59 -0.13,1.18 -0.16,1.77 -0.01,0.25 -0.02,0.49 -0.03,0.74 -0.1,0.01 -0.19,0.03 -0.28,0.04 -0.1,0.01 -0.2,0.03 -0.3,0.04 0,-0.11 0,-0.21 0,-0.32 0,-0.1 -0.16,-0.1 -0.16,0 0,0.11 0,0.23 0,0.34 -0.05,0.01 -0.1,0.01 -0.15,0.02 -0.28,0.04 -0.57,0.08 -0.85,0.12 0.01,-0.31 0.02,-0.62 0.01,-0.94 0.18,-0.01 0.36,-0.02 0.54,-0.04 0.07,-0.01 0.12,-0.09 0.12,-0.15 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.07 -0.09,-0.12 -0.15,-0.12 -0.17,0 -0.34,0.03 -0.51,0.04 0,-0.18 -0.01,-0.36 -0.01,-0.54 0,-0.14 -0.22,-0.14 -0.22,0 0,0.19 -0.01,0.37 -0.01,0.56 -0.18,0.02 -0.35,0.04 -0.53,0.06 -0.08,0.01 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.15 0.14,0.14 0.18,-0.01 0.35,-0.02 0.53,-0.03 -0.01,0.32 0,0.63 0.01,0.95 -0.05,0.01 -0.09,0.01 -0.14,0.02 -0.18,0.02 -0.1,0.29 0.07,0.27 0.03,0 0.05,-0.01 0.08,-0.01 0.01,0.13 0,0.27 0.01,0.4 0.01,0.11 0.16,0.11 0.17,0 0.01,-0.14 0.01,-0.28 0.01,-0.43 0.3,-0.04 0.61,-0.08 0.91,-0.13 0.03,0 0.06,-0.01 0.1,-0.01 0,0.16 0,0.32 0,0.48 0,0.18 0,0.36 -0.01,0.54 0,0.09 0,0.17 -0.01,0.26 0,0.09 -0.02,0.2 0.01,0.28 0.03,0.08 0.13,0.08 0.17,0 0.03,-0.08 0.02,-0.18 0.01,-0.26 0,-0.09 -0.01,-0.19 -0.01,-0.28 0,-0.18 -0.01,-0.36 -0.01,-0.54 0,-0.17 0,-0.33 0,-0.5 0.11,-0.01 0.22,-0.03 0.33,-0.04 0.08,-0.01 0.16,-0.03 0.24,-0.04 -0.01,0.23 -0.02,0.47 0.03,0.69 0.02,0.08 0.13,0.07 0.15,0 0.07,-0.23 0.08,-0.49 0.08,-0.74 0.03,-0.01 0.06,-0.01 0.09,-0.02 0.17,-0.02 0.15,-0.22 0,-0.23 z"
+   id="path490" />
+			<path
+   class="st1"
+   d="m 284.73,378.44 c -0.02,0 -0.03,0 -0.05,0.01 -0.02,0.01 -0.05,0.01 -0.07,0.02 -0.05,0.01 -0.1,0.04 -0.15,0.06 -0.1,0.04 -0.19,0.08 -0.29,0.12 -0.03,0.01 -0.05,0.03 -0.07,0.05 -0.01,0.02 -0.02,0.06 -0.01,0.09 0.02,0.05 0.08,0.1 0.14,0.08 0.1,-0.04 0.19,-0.08 0.29,-0.12 0.05,-0.02 0.11,-0.04 0.16,-0.06 0.02,-0.01 0.04,-0.02 0.07,-0.04 0.02,-0.01 0.03,-0.02 0.05,-0.03 0.02,-0.02 0.02,-0.04 0.03,-0.06 0.01,-0.03 -0.01,-0.08 -0.04,-0.1 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 z"
+   id="path492" />
+			<path
+   class="st1"
+   d="m 281.25,372.35 c 0,0.18 -0.01,0.36 0,0.54 0,0.03 0.05,0.03 0.05,0 0.01,-0.18 0,-0.36 0,-0.54 0.01,-0.03 -0.05,-0.03 -0.05,0 z"
+   id="path494" />
+			<path
+   class="st1"
+   d="m 283.96,374.39 c -0.02,-0.05 -0.07,-0.08 -0.12,-0.07 -0.05,0.02 -0.08,0.07 -0.07,0.12 l 0.05,0.17 c 0.01,0.03 0.02,0.07 0.03,0.1 0.02,0.03 0.04,0.06 0.06,0.08 0.02,0.02 0.06,0.03 0.08,0.02 0.03,-0.01 0.04,-0.04 0.05,-0.07 0,-0.04 0,-0.07 0,-0.11 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.01,-0.05 -0.03,-0.1 -0.05,-0.16 z"
+   id="path496" />
+			<path
+   class="st1"
+   d="m 285.72,375.85 c 0.04,0 0.04,-0.06 0,-0.06 -0.03,0 -0.04,0.06 0,0.06 z"
+   id="path498" />
+			<path
+   class="st1"
+   d="m 285.51,379.78 c 0.07,0 0.07,-0.11 0,-0.11 -0.08,0 -0.08,0.11 0,0.11 z"
+   id="path500" />
+			<path
+   class="st1"
+   d="m 274.25,367.01 c 0.26,0.01 0.53,0.02 0.78,-0.08 0.11,-0.04 0.11,-0.19 0,-0.23 -0.25,-0.09 -0.52,-0.08 -0.78,-0.08 -0.26,0.01 -0.52,0.02 -0.77,0.04 -0.2,0.01 -0.2,0.29 0,0.3 0.25,0.03 0.51,0.05 0.77,0.05 z"
+   id="path502" />
+			<path
+   class="st1"
+   d="m 276.59,367.1 c -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.03,-0.01 -0.05,-0.01 -0.02,0 -0.05,0.01 -0.07,0.03 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.01,0.01 -0.01,0.02 -0.01,0.04 0,0.02 0,0.03 0.01,0.05 0.01,0.01 0.02,0.02 0.03,0.03 l 0.12,0.08 c 0,0 0.01,0 0.01,0.01 0.01,0 0.02,0 0.02,0 0.01,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.01,-0.02 0.02,-0.03 0,-0.01 0,-0.02 0,-0.02 0,-0.01 0,-0.02 -0.01,-0.02 -0.01,-0.06 -0.04,-0.1 -0.06,-0.14 z"
+   id="path504" />
+			<path
+   class="st1"
+   d="m 274.72,368.33 c -0.2,0 -0.4,0 -0.6,0 -0.16,0 -0.16,0.25 0,0.25 0.2,0 0.4,0 0.6,0 0.2,0 0.4,-0.01 0.6,-0.02 0.12,-0.01 0.12,-0.19 0,-0.19 -0.2,-0.03 -0.4,-0.04 -0.6,-0.04 z"
+   id="path506" />
+			<path
+   class="st1"
+   d="m 274.49,369.63 c -0.1,0 -0.2,-0.01 -0.3,-0.01 -0.2,0 -0.41,0 -0.61,0 -0.17,0 -0.17,0.27 0,0.27 0.2,0 0.41,0 0.61,0 0.1,0 0.2,-0.01 0.3,-0.01 0.1,0 0.21,0 0.31,-0.03 0.09,-0.03 0.09,-0.15 0,-0.18 -0.1,-0.04 -0.21,-0.04 -0.31,-0.04 z"
+   id="path508" />
+			<path
+   class="st1"
+   d="m 275.64,369.95 c 0.12,0 0.12,-0.18 0,-0.18 -0.12,0 -0.12,0.18 0,0.18 z"
+   id="path510" />
+			<path
+   class="st1"
+   d="m 274.2,370.91 c -0.13,-0.02 -0.25,-0.04 -0.38,-0.06 -0.05,-0.01 -0.09,0.02 -0.1,0.07 -0.01,0.05 0.03,0.08 0.08,0.09 0.13,0.02 0.25,0.03 0.38,0.05 0.12,0.01 0.25,0.03 0.38,0.03 0.05,0 0.06,-0.08 0.01,-0.09 -0.12,-0.05 -0.25,-0.07 -0.37,-0.09 z"
+   id="path512" />
+			<path
+   class="st1"
+   d="m 275.21,370.96 c -0.25,0 -0.25,0.39 0,0.39 0.25,0 0.25,-0.39 0,-0.39 z"
+   id="path514" />
+			<path
+   class="st1"
+   d="m 273.09,375.69 c -0.25,-0.03 -0.49,-0.02 -0.73,0.04 -0.13,0.04 -0.08,0.24 0.06,0.21 0.21,-0.05 0.43,-0.07 0.64,-0.04 0.11,0.02 0.22,0.04 0.32,0.08 0.1,0.04 0.2,0.08 0.31,0.11 0.08,0.02 0.13,-0.07 0.07,-0.13 -0.17,-0.17 -0.44,-0.24 -0.67,-0.27 z"
+   id="path516" />
+			<path
+   class="st1"
+   d="m 273.91,376.24 c 0.12,0 0.12,-0.18 0,-0.18 -0.12,-0.01 -0.12,0.18 0,0.18 z"
+   id="path518" />
+			<path
+   class="st1"
+   d="m 273.38,377.26 c -0.04,-0.01 -0.08,-0.02 -0.12,-0.03 -0.02,0 -0.05,0 -0.07,-0.01 -0.03,-0.01 -0.04,-0.02 -0.07,-0.02 -0.08,0 -0.16,0 -0.24,0 -0.17,0 -0.33,0 -0.5,0 -0.08,0 -0.14,0.06 -0.14,0.14 0,0.08 0.06,0.14 0.14,0.14 h 0.5 c 0.08,0 0.16,0 0.24,0 0.03,0 0.04,-0.01 0.07,-0.02 0.02,-0.01 0.04,-0.01 0.06,-0.01 0.04,-0.01 0.09,-0.01 0.13,-0.03 0.08,-0.03 0.08,-0.13 0,-0.16 z"
+   id="path520" />
+			<path
+   class="st1"
+   d="m 273.69,377.41 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path522" />
+			<path
+   class="st1"
+   d="m 271.09,379.08 c 0.17,0 0.33,0.01 0.5,0.01 0.08,0 0.17,0 0.25,0 0.09,0 0.17,-0.01 0.26,-0.02 0.1,-0.01 0.1,-0.18 0,-0.19 -0.09,-0.01 -0.17,-0.02 -0.26,-0.02 -0.08,0 -0.17,0 -0.25,0 -0.17,0 -0.33,0.01 -0.5,0.01 -0.15,-0.02 -0.15,0.21 0,0.21 z"
+   id="path524" />
+			<path
+   class="st1"
+   d="m 273.47,379.16 c 0.11,0 0.11,-0.18 0,-0.18 -0.11,0 -0.11,0.18 0,0.18 z"
+   id="path526" />
+			<path
+   class="st1"
+   d="m 273.05,380.19 c -0.14,0 -0.28,-0.03 -0.42,-0.03 -0.13,0 -0.27,0.01 -0.4,0.02 -0.27,0.02 -0.55,0.04 -0.82,0.05 -0.17,0.01 -0.17,0.27 0,0.27 0.27,-0.01 0.55,-0.02 0.82,-0.03 0.13,-0.01 0.27,-0.01 0.4,-0.02 0.11,-0.01 0.22,-0.04 0.33,-0.06 -0.01,0.01 -0.03,0.02 -0.05,0.02 -0.05,0.01 -0.04,0.08 0,0.09 0.13,0.05 0.27,-0.12 0.22,-0.25 0,-0.03 -0.04,-0.06 -0.08,-0.06 z"
+   id="path528" />
+			<path
+   class="st1"
+   d="m 271.78,381.22 c -0.12,0.01 -0.23,0.01 -0.34,0.02 -0.23,0.02 -0.45,0.04 -0.68,0.06 -0.08,0.01 -0.15,0.06 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.23,-0.02 0.46,-0.03 0.69,-0.05 0.11,-0.01 0.22,-0.02 0.33,-0.03 0.12,-0.01 0.27,-0.01 0.37,-0.09 0.06,-0.05 0.04,-0.15 -0.02,-0.19 -0.11,-0.05 -0.24,-0.02 -0.35,-0.02 z"
+   id="path530" />
+			<path
+   class="st1"
+   d="m 272.5,381.65 c 0.1,0 0.1,-0.16 0,-0.16 -0.11,0 -0.11,0.16 0,0.16 z"
+   id="path532" />
+			<path
+   class="st1"
+   d="m 271.35,383.19 c -0.05,-0.01 -0.1,-0.02 -0.15,-0.02 h -0.15 c -0.2,0 -0.41,0 -0.61,0 -0.17,0 -0.17,0.27 0,0.27 0.2,0 0.41,0 0.61,0 0.05,0 0.09,0 0.14,0 0.06,0 0.11,-0.02 0.16,-0.02 0.1,-0.01 0.2,-0.02 0.3,-0.04 0.07,-0.02 0.07,-0.12 0,-0.14 -0.1,-0.03 -0.2,-0.03 -0.3,-0.05 z"
+   id="path534" />
+			<path
+   class="st1"
+   d="m 270.11,386.37 c 0.22,0.02 0.44,0.04 0.66,0.06 0.11,0.01 0.22,0.01 0.33,0.01 0.11,0 0.22,0.01 0.33,-0.02 0.07,-0.02 0.09,-0.12 0.02,-0.15 -0.1,-0.04 -0.21,-0.06 -0.31,-0.08 -0.12,-0.02 -0.23,-0.04 -0.35,-0.05 -0.23,-0.02 -0.45,-0.04 -0.68,-0.05 -0.08,-0.01 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.14 0.14,0.14 z"
+   id="path536" />
+			<path
+   class="st1"
+   d="m 271.95,386.42 c -0.17,0 -0.17,0.26 0,0.26 0.17,0.01 0.17,-0.26 0,-0.26 z"
+   id="path538" />
+			<path
+   class="st1"
+   d="m 271.19,387.82 c -0.12,0 -0.24,0 -0.36,0.01 -0.24,0 -0.48,0.01 -0.72,0.01 -0.16,0 -0.16,0.25 0,0.25 0.24,0 0.48,0.01 0.72,0.01 0.12,0 0.24,0.01 0.36,0.01 0.12,0 0.25,0.01 0.36,-0.03 0.11,-0.04 0.11,-0.18 0,-0.22 -0.11,-0.05 -0.24,-0.04 -0.36,-0.04 z"
+   id="path540" />
+			<path
+   class="st1"
+   d="m 268.59,389.85 c 0.31,0 0.63,0.01 0.94,0.01 0.15,0 0.31,0.01 0.46,0 0.15,-0.01 0.34,0.01 0.47,-0.05 0.11,-0.05 0.11,-0.18 0,-0.22 -0.14,-0.06 -0.32,-0.04 -0.47,-0.05 -0.15,-0.01 -0.31,0 -0.46,0 -0.31,0 -0.63,0.01 -0.94,0.01 -0.19,0 -0.19,0.3 0,0.3 z"
+   id="path542" />
+			<path
+   class="st1"
+   d="m 271.28,389.73 c -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 -0.01,-0.01 -0.03,-0.01 -0.04,-0.01 -0.01,0 -0.02,0 -0.03,0 -0.02,0.01 -0.04,0.02 -0.05,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.01,0.02 -0.02,0.04 -0.02,0.06 0,0.02 0,0.04 0,0.06 0,0.02 0,0.03 0.01,0.04 0,0 0,0.01 0,0.01 0,0.01 0.01,0.02 0.01,0.03 0,0.01 0.01,0.01 0.01,0.02 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.01,0.01 0.02,0.01 0.01,0.01 0.02,0.01 0.04,0.01 0.01,0 0.02,0 0.02,0 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.03 0.04,-0.06 0,-0.01 0.01,-0.02 0.01,-0.03 0,0 0,-0.01 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.04 0,-0.02 0,-0.04 0,-0.06 0,-0.02 0,-0.03 -0.01,-0.04 0.02,-0.02 0.01,-0.03 0,-0.04 z"
+   id="path544" />
+			<path
+   class="st1"
+   d="m 270.4,390.9 c -0.11,0 -0.21,0.02 -0.32,0.03 -0.21,0.02 -0.41,0.04 -0.62,0.06 -0.07,0.01 -0.13,0.05 -0.13,0.13 0,0.07 0.06,0.14 0.13,0.13 0.21,-0.02 0.41,-0.04 0.62,-0.06 0.11,-0.01 0.21,-0.02 0.31,-0.03 0.05,-0.01 0.1,-0.01 0.14,-0.02 -0.11,0.01 -0.11,0.18 0.01,0.18 0.12,0 0.12,-0.17 0,-0.18 0.05,-0.01 0.11,-0.01 0.15,-0.04 0.05,-0.04 0.07,-0.13 0,-0.17 -0.08,-0.06 -0.19,-0.04 -0.29,-0.03 z"
+   id="path546" />
+			<path
+   class="st1"
+   d="m 269.04,392.75 c -0.22,-0.02 -0.44,-0.03 -0.66,-0.05 -0.07,-0.01 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.12 0.13,0.13 0.22,0.02 0.43,0.03 0.65,0.05 0.21,0.02 0.44,0.05 0.65,0.03 0.11,-0.01 0.15,-0.17 0.03,-0.21 -0.22,-0.07 -0.45,-0.07 -0.67,-0.08 z"
+   id="path548" />
+			<path
+   class="st1"
+   d="m 269.16,394.37 c -0.06,-0.01 -0.12,-0.03 -0.18,-0.03 h -0.16 c -0.11,0 -0.22,0 -0.33,0 -0.07,0 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.14 0.14,0.14 l 0.33,-0.01 c 0.05,0 0.11,0 0.16,0 0.06,0 0.12,-0.02 0.18,-0.03 0.1,-0.04 0.1,-0.19 0,-0.21 z"
+   id="path550" />
+			<path
+   class="st1"
+   d="m 269.57,394.62 c -0.03,0.01 -0.05,0.01 -0.08,0.02 -0.06,0.01 -0.11,0.03 -0.17,0.04 -0.04,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.04 -0.02,0.08 -0.01,0.12 0.01,0.03 0.04,0.06 0.07,0.07 0.02,0.01 0.03,0.01 0.05,0.01 0.03,0 0.05,-0.01 0.07,-0.02 0.05,-0.02 0.1,-0.05 0.15,-0.07 0.03,-0.01 0.05,-0.02 0.08,-0.03 0.03,-0.01 0.05,-0.03 0.07,-0.04 0.03,-0.02 0.06,-0.07 0.04,-0.11 -0.01,-0.04 -0.05,-0.07 -0.09,-0.07 -0.03,0.01 -0.06,0.01 -0.1,0.02 z"
+   id="path552" />
+			<path
+   class="st1"
+   d="m 267.43,403.01 c -0.03,0 -0.06,0 -0.09,-0.01 -0.07,-0.01 -0.13,-0.01 -0.2,-0.02 -0.13,0 -0.26,0 -0.39,0 -0.08,0 -0.16,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.13,0 0.26,0 0.39,0 0.06,0 0.13,-0.01 0.19,-0.02 0.03,0 0.06,0 0.1,-0.01 0.05,0 0.08,-0.02 0.13,-0.04 0.07,-0.03 0.07,-0.15 0,-0.18 -0.04,0 -0.08,-0.01 -0.13,-0.02 z"
+   id="path554" />
+			<path
+   class="st1"
+   d="m 268.27,403.33 c -0.03,0 -0.05,0.01 -0.07,0.02 -0.03,0.01 -0.06,0.03 -0.09,0.04 -0.01,0.01 -0.03,0.02 -0.03,0.03 -0.01,0.02 -0.01,0.03 -0.01,0.05 0,0.02 0,0.03 0.01,0.05 0.01,0.01 0.02,0.03 0.03,0.03 0.03,0.01 0.06,0.03 0.09,0.04 0.02,0.01 0.05,0.02 0.07,0.02 0.03,0 0.05,-0.01 0.07,-0.02 0.04,-0.03 0.07,-0.07 0.07,-0.12 0,-0.05 -0.03,-0.1 -0.07,-0.12 -0.02,-0.02 -0.05,-0.02 -0.07,-0.02 z"
+   id="path556" />
+			<path
+   class="st1"
+   d="m 266.53,405.1 c -0.13,0 -0.13,0.21 0,0.21 0.14,-0.01 0.14,-0.21 0,-0.21 z"
+   id="path558" />
+			<path
+   class="st1"
+   d="m 268.05,405.26 c 0.07,0 0.07,-0.11 0,-0.11 -0.07,0 -0.07,0.11 0,0.11 z"
+   id="path560" />
+			<path
+   class="st1"
+   d="m 264.69,407.51 c 0.22,0 0.44,0 0.66,0 0.22,0 0.46,0.02 0.67,-0.03 0.11,-0.03 0.11,-0.19 0,-0.22 -0.21,-0.06 -0.45,-0.03 -0.67,-0.03 -0.22,0 -0.44,0 -0.66,0 -0.18,0 -0.18,0.28 0,0.28 z"
+   id="path562" />
+			<path
+   class="st1"
+   d="m 267.32,407.28 c -0.05,-0.01 -0.09,-0.02 -0.14,-0.03 -0.09,-0.02 -0.19,-0.03 -0.28,-0.05 -0.04,-0.01 -0.08,-0.01 -0.12,0.02 -0.03,0.02 -0.06,0.06 -0.07,0.09 -0.02,0.08 0.02,0.17 0.11,0.19 0.09,0.02 0.19,0.04 0.28,0.07 0.05,0.01 0.09,0.02 0.14,0.03 0.03,0.01 0.07,0.02 0.11,0.02 0.05,0 0.09,-0.03 0.13,-0.06 0.04,-0.04 0.04,-0.1 0.02,-0.15 -0.02,-0.05 -0.06,-0.08 -0.11,-0.1 -0.02,-0.02 -0.04,-0.02 -0.07,-0.03 z"
+   id="path564" />
+			<path
+   class="st1"
+   d="m 265.73,408.88 c -0.13,0 -0.26,0 -0.39,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.06 0.05,0.12 0.12,0.12 0.13,0 0.26,0 0.39,0 0.06,0 0.13,-0.01 0.19,-0.01 0.07,-0.01 0.14,0 0.2,-0.03 0.07,-0.03 0.07,-0.12 0,-0.15 -0.06,-0.02 -0.13,-0.02 -0.2,-0.03 -0.06,-0.01 -0.13,-0.02 -0.19,-0.02 z"
+   id="path566" />
+			<path
+   class="st1"
+   d="m 266.64,408.87 c -0.16,0 -0.16,0.25 0,0.25 0.16,0 0.16,-0.25 0,-0.25 z"
+   id="path568" />
+			<path
+   class="st1"
+   d="m 264.75,410.83 c 0.07,-0.04 0.07,-0.15 0,-0.19 -0.09,-0.05 -0.19,-0.04 -0.29,-0.05 -0.1,-0.01 -0.19,-0.01 -0.29,-0.01 -0.19,0 -0.38,0 -0.56,0 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.19,0 0.38,0 0.56,0 0.09,0 0.18,0 0.28,-0.01 0.1,0 0.21,0.01 0.3,-0.04 z"
+   id="path570" />
+			<path
+   class="st1"
+   d="m 265.96,410.71 c -0.06,-0.01 -0.11,-0.01 -0.17,-0.01 -0.11,0 -0.23,0 -0.34,0 -0.07,0 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.13 0.14,0.14 0.11,0 0.23,0 0.34,0 0.06,0 0.11,-0.01 0.17,-0.01 0.07,-0.01 0.13,-0.01 0.19,-0.04 0.06,-0.04 0.06,-0.13 0,-0.16 -0.06,-0.05 -0.13,-0.05 -0.19,-0.06 z"
+   id="path572" />
+			<path
+   class="st1"
+   d="m 265.25,412.23 c -0.07,-0.03 -0.14,-0.05 -0.22,-0.07 -0.14,-0.04 -0.28,-0.08 -0.42,-0.12 -0.05,-0.01 -0.1,0.01 -0.14,0.05 0.04,-0.08 0.01,-0.19 -0.11,-0.19 -0.17,0 -0.17,0.26 0,0.26 0.03,0 0.05,-0.02 0.08,-0.03 0,0 -0.01,0 -0.01,0.01 -0.02,0.08 0.02,0.15 0.1,0.18 0.14,0.04 0.28,0.08 0.42,0.12 0.07,0.02 0.15,0.04 0.22,0.05 0.04,0.01 0.08,0.02 0.12,0.02 0.06,0 0.12,-0.04 0.13,-0.09 0.02,-0.06 -0.02,-0.12 -0.07,-0.15 -0.02,-0.02 -0.06,-0.03 -0.1,-0.04 z"
+   id="path574" />
+			<path
+   class="st1"
+   d="m 263.72,421.36 c -0.09,-0.02 -0.18,-0.05 -0.27,-0.06 -0.19,-0.03 -0.37,-0.06 -0.56,-0.1 -0.08,-0.01 -0.18,0.02 -0.2,0.11 -0.02,0.08 0.02,0.18 0.11,0.2 0.19,0.04 0.37,0.08 0.56,0.13 0.09,0.02 0.19,0.03 0.28,0.04 0.11,0.02 0.22,0.04 0.32,0.01 0.05,-0.01 0.09,-0.06 0.09,-0.11 0.01,-0.06 -0.02,-0.1 -0.06,-0.13 -0.07,-0.05 -0.17,-0.07 -0.27,-0.09 z"
+   id="path576" />
+			<path
+   class="st1"
+   d="m 264.68,421.58 c -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.05,0 -0.09,0.03 -0.12,0.07 -0.02,0.04 -0.05,0.09 -0.07,0.13 0,0.01 -0.01,0.02 -0.01,0.02 0,0.01 0,0.03 0,0.04 0,0.01 0,0.02 0.01,0.02 0,0.01 0.01,0.02 0.02,0.03 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.02,0.01 0.02,0.01 0.01,0 0.03,0 0.04,0 0.01,0 0.02,0 0.04,-0.01 0.04,-0.02 0.09,-0.05 0.13,-0.07 0.04,-0.02 0.07,-0.07 0.07,-0.12 v -0.04 c -0.03,-0.01 -0.05,-0.03 -0.06,-0.05 z"
+   id="path578" />
+			<path
+   class="st1"
+   d="m 260.79,424.11 c 0.2,0 0.41,0 0.61,0 0.1,0 0.2,0 0.3,0 0.05,0 0.1,0 0.14,0 0.06,0 0.11,-0.03 0.17,-0.05 0.1,-0.03 0.1,-0.18 0,-0.21 -0.05,-0.01 -0.1,-0.04 -0.15,-0.05 -0.05,-0.01 -0.11,0 -0.16,-0.01 -0.1,0 -0.2,0 -0.3,0 h -0.61 c -0.2,0.02 -0.2,0.32 0,0.32 z"
+   id="path580" />
+			<path
+   class="st1"
+   d="m 263.37,424.14 c -0.01,-0.02 -0.01,-0.04 -0.03,-0.05 -0.01,-0.01 -0.03,-0.02 -0.05,-0.03 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.02,-0.01 -0.04,-0.01 -0.07,0 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.04 -0.02,0.06 0,0.02 0,0.03 0.01,0.05 0.01,0.02 0.01,0.03 0.03,0.04 0.02,0.02 0.03,0.03 0.06,0.03 0.02,0.01 0.04,0.01 0.07,0 l 0.06,-0.01 c 0.01,0 0.02,0 0.03,0 0.02,-0.01 0.04,-0.01 0.05,-0.03 0.01,-0.01 0.02,-0.02 0.02,-0.04 0,-0.01 0,-0.01 0.01,-0.01 0,-0.01 0,-0.02 0,-0.03 0,-0.01 0,-0.01 0,-0.03 0,0.01 0,0 0,0 z"
+   id="path582" />
+			<path
+   class="st1"
+   d="m 262.43,425.39 c -0.07,0.01 -0.15,0.02 -0.22,0.03 -0.15,0.02 -0.29,0.04 -0.44,0.06 -0.07,0.01 -0.12,0.05 -0.12,0.12 0,0.06 0.06,0.13 0.12,0.12 0.15,-0.02 0.3,-0.04 0.45,-0.05 0.08,-0.01 0.15,-0.02 0.23,-0.03 0.08,-0.01 0.17,-0.02 0.24,-0.06 0.07,-0.05 0.06,-0.15 -0.02,-0.18 -0.09,-0.03 -0.16,-0.02 -0.24,-0.01 z"
+   id="path584" />
+			<path
+   class="st1"
+   d="m 263.06,425.66 c 0.1,0 0.1,-0.16 0,-0.16 -0.1,0.01 -0.1,0.16 0,0.16 z"
+   id="path586" />
+			<path
+   class="st1"
+   d="m 259.53,427.68 c 0.24,-0.04 0.49,-0.05 0.74,-0.01 0.12,0.02 0.25,0.05 0.37,0.08 0.12,0.03 0.25,0.1 0.38,0.1 0.1,0 0.14,-0.11 0.08,-0.19 -0.05,-0.06 -0.11,-0.09 -0.18,-0.12 -0.07,-0.03 -0.14,-0.06 -0.21,-0.09 -0.13,-0.05 -0.27,-0.07 -0.41,-0.09 -0.28,-0.04 -0.57,-0.02 -0.84,0.03 -0.08,0.02 -0.12,0.11 -0.1,0.18 0.01,0.09 0.09,0.13 0.17,0.11 z"
+   id="path588" />
+			<path
+   class="st1"
+   d="m 262.61,427.75 c -0.02,-0.01 -0.03,-0.01 -0.06,-0.01 0,0 -0.01,0 -0.01,0 h -0.13 c -0.03,0 -0.06,0.01 -0.09,0.04 -0.02,0.02 -0.04,0.06 -0.04,0.09 0,0.03 0.01,0.06 0.04,0.09 0.02,0.02 0.05,0.04 0.09,0.04 h 0.11 c 0.03,0 0.05,0 0.08,-0.01 0.02,-0.01 0.05,-0.02 0.07,-0.03 0.06,-0.04 0.06,-0.13 0,-0.17 -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 z"
+   id="path590" />
+			<path
+   class="st1"
+   d="m 261.37,429.14 c -0.06,0 -0.13,0 -0.19,0 -0.13,0 -0.26,0 -0.39,0 -0.07,0 -0.14,0.06 -0.13,0.13 0,0.07 0.06,0.13 0.13,0.13 0.13,0 0.26,0 0.39,0 0.06,0 0.13,0 0.19,0 0.07,0 0.14,-0.01 0.21,-0.03 0.1,-0.02 0.1,-0.17 0,-0.2 -0.08,-0.02 -0.14,-0.02 -0.21,-0.03 z"
+   id="path592" />
+			<path
+   class="st1"
+   d="m 259.59,431.08 c -0.07,0.01 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.14 0.14,0.14 0.2,-0.02 0.41,-0.04 0.61,-0.06 0.2,-0.02 0.42,-0.02 0.62,-0.08 0.13,-0.04 0.09,-0.21 -0.03,-0.23 -0.2,-0.02 -0.4,0.01 -0.6,0.03 -0.2,0.03 -0.4,0.05 -0.6,0.06 z"
+   id="path594" />
+			<path
+   class="st1"
+   d="m 261.87,431.4 c 0.09,0 0.09,-0.15 0,-0.15 -0.09,0.01 -0.09,0.15 0,0.15 z"
+   id="path596" />
+			<path
+   class="st1"
+   d="m 260.77,432.58 c -0.14,0 -0.28,0 -0.42,0.01 -0.29,0.01 -0.58,0.02 -0.86,0.02 -0.17,0 -0.17,0.26 0,0.26 0.29,0 0.58,0.01 0.86,0.02 0.14,0.01 0.28,0.01 0.42,0.01 0.12,0 0.36,0.02 0.36,-0.16 0,-0.18 -0.24,-0.16 -0.36,-0.16 z"
+   id="path598" />
+			<path
+   class="st1"
+   d="m 261.44,432.85 c -0.01,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.01,0 -0.03,0 -0.04,0.01 -0.03,0.01 -0.05,0.02 -0.07,0.04 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.05 -0.02,0.08 0,0.02 0,0.04 0,0.06 v 0.01 c 0,0 0,0.01 0,0.01 0,0.02 0,0.04 0.01,0.06 0.01,0.02 0.02,0.03 0.03,0.05 0.01,0.01 0.03,0.02 0.04,0.03 0.02,0.01 0.04,0.02 0.06,0.02 0.02,0 0.04,-0.01 0.06,-0.02 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.01,-0.01 0.02,-0.02 0.02,-0.03 0.01,-0.02 0.02,-0.05 0.02,-0.08 0,0 0,0 0,-0.01 v -0.02 c 0,-0.02 0,-0.04 0,-0.06 0,-0.02 0,-0.04 -0.01,-0.06 0.01,-0.02 0,-0.04 -0.01,-0.05 z"
+   id="path600" />
+			<path
+   class="st1"
+   d="m 260.19,434.57 c -0.23,-0.02 -0.47,-0.03 -0.7,-0.05 -0.08,-0.01 -0.15,0.07 -0.15,0.15 0,0.09 0.07,0.14 0.15,0.15 0.23,0.02 0.46,0.04 0.69,0.05 0.11,0.01 0.22,0.02 0.33,0.03 0.06,0 0.12,0 0.18,-0.01 0.06,-0.01 0.12,-0.01 0.17,-0.06 0.03,-0.03 0.04,-0.09 0.02,-0.12 -0.07,-0.1 -0.23,-0.11 -0.34,-0.12 -0.12,0 -0.24,-0.01 -0.35,-0.02 z"
+   id="path602" />
+			<path
+   class="st1"
+   d="m 258.04,442.19 c 0.17,-0.09 0.36,-0.12 0.55,-0.11 0.09,0.01 0.18,0.03 0.27,0.05 0.1,0.03 0.18,0.09 0.28,0.12 0.09,0.02 0.17,-0.08 0.12,-0.16 -0.07,-0.11 -0.19,-0.17 -0.31,-0.21 -0.11,-0.05 -0.23,-0.07 -0.36,-0.08 -0.24,-0.02 -0.49,0.04 -0.7,0.16 -0.14,0.08 0,0.31 0.15,0.23 z"
+   id="path604" />
+			<path
+   class="st1"
+   d="m 259.7,442.37 c 0.12,0 0.12,-0.18 0,-0.18 -0.11,0 -0.11,0.18 0,0.18 z"
+   id="path606" />
+			<path
+   class="st1"
+   d="m 256.02,445.02 c 0.23,0 0.47,0.01 0.7,0.01 0.11,0 0.23,0 0.35,0 0.12,0 0.24,-0.03 0.36,-0.04 0.14,-0.02 0.14,-0.2 0,-0.22 -0.12,-0.01 -0.24,-0.03 -0.36,-0.04 -0.11,0 -0.23,0 -0.35,0 -0.23,0 -0.47,0.01 -0.7,0.01 -0.18,0 -0.19,0.28 0,0.28 z"
+   id="path608" />
+			<path
+   class="st1"
+   d="m 259.33,445.03 c -0.02,-0.03 -0.04,-0.05 -0.07,-0.06 -0.01,0 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.06,-0.02 -0.08,-0.03 l -0.17,-0.07 c -0.03,-0.01 -0.08,0 -0.1,0.01 -0.03,0.02 -0.05,0.05 -0.06,0.08 -0.02,0.07 0.02,0.14 0.09,0.16 0.06,0.02 0.12,0.03 0.17,0.05 0.03,0.01 0.06,0.02 0.09,0.02 0.01,0 0.01,0 0.02,0.01 0.04,0.01 0.06,0 0.1,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.03,-0.03 0.04,-0.05 0.01,-0.02 0,-0.04 -0.01,-0.07 -0.02,0 -0.03,-0.01 -0.03,-0.02 z"
+   id="path610" />
+			<path
+   class="st1"
+   d="m 256.88,446.55 c -0.11,-0.01 -0.22,-0.02 -0.33,-0.04 -0.02,0 -0.06,0.01 -0.07,0.03 -0.02,0.02 -0.03,0.05 -0.03,0.07 0,0.03 0.01,0.06 0.03,0.07 0.02,0.02 0.05,0.03 0.07,0.03 0.11,-0.01 0.22,-0.02 0.33,-0.04 0.04,0 0.07,-0.03 0.07,-0.07 0,-0.02 -0.03,-0.05 -0.07,-0.05 z"
+   id="path612" />
+			<path
+   class="st1"
+   d="m 258.73,446.53 c -0.11,0 -0.11,0.17 0,0.17 0.11,0 0.11,-0.17 0,-0.17 z"
+   id="path614" />
+			<path
+   class="st1"
+   d="m 255.04,447.93 c 0.24,0.02 0.48,0.04 0.72,0.06 0.12,0.01 0.24,0.02 0.36,0.03 0.06,0 0.11,0.01 0.17,0.01 0.07,0.01 0.13,0 0.2,-0.01 0.12,-0.02 0.1,-0.19 0,-0.22 -0.12,-0.04 -0.24,-0.04 -0.36,-0.05 -0.12,-0.01 -0.24,-0.02 -0.36,-0.03 -0.24,-0.02 -0.48,-0.04 -0.72,-0.06 -0.07,-0.01 -0.14,0.07 -0.14,0.14 0,0.07 0.06,0.12 0.13,0.13 z"
+   id="path616" />
+			<path
+   class="st1"
+   d="m 258.72,448.12 c 0.02,-0.01 0.03,-0.02 0.04,-0.03 0.05,-0.04 0.05,-0.1 0,-0.14 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.03,-0.01 -0.06,-0.02 -0.09,-0.02 -0.04,0 -0.08,-0.01 -0.11,-0.01 -0.07,-0.01 -0.15,0 -0.23,0 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.13 0.13,0.13 0.07,0 0.15,0.01 0.23,0 0.04,0 0.07,-0.01 0.11,-0.01 0.03,0 0.06,-0.01 0.09,-0.02 z"
+   id="path618" />
+			<path
+   class="st1"
+   d="m 258.29,449.16 c -0.08,0 -0.08,0.12 0,0.12 0.08,0 0.08,-0.12 0,-0.12 z"
+   id="path620" />
+			<path
+   class="st1"
+   d="m 254.5,451.07 c 0.38,0.02 0.76,0.04 1.14,0.05 0.19,0.01 0.37,0.02 0.56,0.02 0.19,0 0.39,-0.02 0.58,-0.03 0.08,0 0.11,-0.14 0.02,-0.15 -0.19,-0.03 -0.37,-0.07 -0.56,-0.08 -0.19,-0.02 -0.39,-0.03 -0.58,-0.04 -0.39,-0.02 -0.77,-0.03 -1.16,-0.05 -0.18,0 -0.18,0.28 0,0.28 z"
+   id="path622" />
+			<path
+   class="st1"
+   d="m 258.05,451.11 c -0.01,0.04 -0.01,0.08 0.01,0.11 0.02,0.03 0.05,0.05 0.09,0.07 0.05,0.02 0.1,0.04 0.15,0.05 0.03,0.01 0.05,0.01 0.08,0.02 0.03,0.01 0.06,0.01 0.08,0.02 0.03,0.01 0.07,0.01 0.1,-0.01 0.02,-0.02 0.04,-0.04 0.05,-0.06 0.02,-0.06 0,-0.14 -0.05,-0.17 -0.06,-0.03 -0.11,-0.06 -0.18,-0.08 -0.05,-0.02 -0.1,-0.03 -0.16,-0.05 -0.06,-0.03 -0.15,0.02 -0.17,0.1 z"
+   id="path624" />
+			<path
+   class="st1"
+   d="m 256.87,452.47 c -0.36,-0.02 -0.71,-0.03 -1.07,-0.05 -0.18,-0.01 -0.17,0.26 0,0.27 0.36,0.02 0.71,0.04 1.07,0.06 0.18,0.01 0.35,0.02 0.53,0.03 0.16,0.01 0.38,0.05 0.52,-0.03 0.07,-0.04 0.06,-0.14 0,-0.18 -0.07,-0.05 -0.17,-0.05 -0.26,-0.06 -0.08,-0.01 -0.16,-0.01 -0.24,-0.02 -0.19,0 -0.37,-0.01 -0.55,-0.02 z"
+   id="path626" />
+			<path
+   class="st1"
+   d="m 253.49,454.84 c 0.26,0.04 0.51,0.08 0.77,0.12 0.26,0.04 0.52,0.09 0.78,0.07 0.11,-0.01 0.12,-0.14 0.02,-0.18 -0.24,-0.09 -0.49,-0.12 -0.75,-0.16 -0.25,-0.04 -0.51,-0.07 -0.76,-0.11 -0.07,-0.01 -0.14,0.02 -0.16,0.09 -0.01,0.07 0.03,0.16 0.1,0.17 z"
+   id="path628" />
+			<path
+   class="st1"
+   d="m 256.89,454.94 c -0.11,0 -0.22,-0.01 -0.33,-0.01 -0.07,0 -0.15,0.07 -0.14,0.14 0,0.08 0.06,0.14 0.14,0.14 0.11,0 0.22,-0.01 0.33,-0.01 0.06,0 0.11,0 0.17,0 0.06,0 0.12,-0.02 0.18,-0.04 0.09,-0.02 0.09,-0.16 0,-0.19 -0.06,-0.01 -0.12,-0.03 -0.18,-0.04 -0.06,0.01 -0.11,0.01 -0.17,0.01 z"
+   id="path630" />
+			<path
+   class="st1"
+   d="m 253.42,456.72 c 0.37,0 0.74,0 1.11,0 0.18,0 0.37,0 0.55,0 0.09,0 0.17,-0.02 0.26,-0.02 0.09,-0.01 0.18,-0.01 0.28,-0.03 0.07,-0.02 0.07,-0.13 0,-0.15 -0.09,-0.02 -0.18,-0.02 -0.28,-0.03 -0.09,-0.01 -0.17,-0.02 -0.26,-0.02 -0.18,0 -0.37,0 -0.55,0 -0.37,0 -0.74,0 -1.11,0 -0.17,-0.01 -0.17,0.25 0,0.25 z"
+   id="path632" />
+			<path
+   class="st1"
+   d="m 258.11,456.94 c 0.07,-0.01 0.13,-0.01 0.17,-0.08 0.02,-0.03 0.02,-0.08 0,-0.11 -0.05,-0.07 -0.1,-0.07 -0.17,-0.08 -0.06,0 -0.12,0 -0.18,0 -0.11,0 -0.23,0 -0.34,0 -0.23,0 -0.47,0.01 -0.7,0.01 -0.16,0 -0.16,0.25 0,0.25 0.23,0 0.47,0.01 0.7,0.01 0.11,0 0.23,0 0.34,0 0.06,0.01 0.12,0.01 0.18,0 z"
+   id="path634" />
+			<path
+   class="st1"
+   d="m 252.98,461.18 c 0.76,0.03 1.52,0.08 2.28,0.01 0.07,-0.01 0.11,-0.13 0.02,-0.14 -0.76,-0.14 -1.53,-0.16 -2.3,-0.19 -0.21,-0.02 -0.21,0.31 0,0.32 z"
+   id="path636" />
+			<path
+   class="st1"
+   d="m 256.95,461.09 c -0.03,-0.01 -0.05,-0.02 -0.08,-0.02 -0.06,-0.02 -0.11,-0.03 -0.17,-0.05 -0.06,-0.02 -0.14,0.02 -0.15,0.09 -0.02,0.07 0.02,0.13 0.09,0.15 0.06,0.02 0.11,0.04 0.17,0.06 0.03,0.01 0.05,0.02 0.08,0.03 0.01,0 0.03,0.01 0.04,0.01 0.01,0 0.01,0 0.02,0 0.02,0.01 0.04,0.01 0.07,0 0,0 0.01,0 0.01,0 0.04,-0.01 0.07,-0.05 0.08,-0.08 0.01,-0.04 0,-0.08 -0.03,-0.11 -0.04,-0.05 -0.09,-0.07 -0.13,-0.08 z"
+   id="path638" />
+			<path
+   class="st1"
+   d="m 252.55,462.82 c 0.07,0 0.15,0 0.22,0 0.04,0 0.07,0 0.11,0 0.03,0 0.06,0 0.08,-0.01 0.02,-0.01 0.04,-0.01 0.05,-0.02 0.05,-0.02 0.1,-0.07 0.1,-0.13 0,-0.06 -0.04,-0.11 -0.1,-0.13 -0.02,-0.01 -0.04,-0.01 -0.05,-0.02 -0.03,-0.01 -0.05,-0.01 -0.08,-0.01 -0.04,0 -0.07,0 -0.11,0 -0.07,0 -0.15,0 -0.22,0 -0.09,0 -0.17,0.08 -0.16,0.16 0,0.09 0.07,0.17 0.16,0.16 z"
+   id="path640" />
+			<path
+   class="st1"
+   d="m 255.58,462.75 c 0.12,0 0.12,-0.18 0,-0.18 -0.12,0 -0.12,0.18 0,0.18 z"
+   id="path642" />
+			<path
+   class="st1"
+   d="m 255.63,463.48 c -0.47,0 -0.94,-0.01 -1.4,-0.02 -0.92,-0.02 -1.84,0 -2.76,0.01 -0.22,0 -0.22,0.33 0,0.33 0.92,0.02 1.84,0.04 2.76,0.01 0.45,-0.01 0.9,-0.02 1.36,-0.02 0.42,0 0.93,0.07 1.34,-0.04 0.11,-0.03 0.11,-0.19 0,-0.23 -0.41,-0.11 -0.89,-0.04 -1.3,-0.04 z"
+   id="path644" />
+			<path
+   class="st1"
+   d="m 258.21,463.75 0.04,-0.02 c 0.04,-0.01 0.06,-0.06 0.06,-0.1 0,-0.04 -0.02,-0.08 -0.06,-0.1 -0.01,-0.01 -0.02,-0.01 -0.04,-0.02 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.02,0 -0.03,0 -0.05,-0.01 h -0.08 c -0.06,0 -0.11,0 -0.17,0 -0.04,0 -0.08,0.02 -0.1,0.04 -0.02,0.02 -0.04,0.07 -0.04,0.1 0,0.04 0.01,0.08 0.04,0.1 0.03,0.03 0.06,0.04 0.1,0.04 0.06,0 0.11,0 0.17,0 h 0.08 c 0.02,0 0.03,0 0.05,-0.01 0.01,0.02 0.02,0.01 0.04,0 z"
+   id="path646" />
+			<path
+   class="st1"
+   d="m 259.38,463.8 0.83,-0.05 c 0.14,-0.01 0.28,-0.02 0.41,-0.02 0.14,-0.01 0.29,0 0.42,-0.03 0.07,-0.02 0.12,-0.09 0.11,-0.17 -0.01,-0.08 -0.07,-0.12 -0.15,-0.13 -0.13,-0.02 -0.28,0.01 -0.41,0.02 -0.13,0.01 -0.27,0.02 -0.4,0.03 -0.27,0.02 -0.54,0.04 -0.81,0.06 -0.19,0.01 -0.19,0.3 0,0.29 z"
+   id="path648" />
+			<path
+   class="st1"
+   d="m 256.82,464.55 c -0.32,-0.12 -0.75,-0.06 -1.09,-0.05 -0.38,0.01 -0.76,0.01 -1.13,0.02 -0.76,0.03 -1.51,0.06 -2.27,0.15 -0.13,0.01 -0.13,0.19 0,0.2 0.77,0.06 1.54,0.07 2.31,0.07 0.38,0 0.76,-0.01 1.13,-0.01 0.34,0 0.76,0.04 1.08,-0.1 0.14,-0.06 0.07,-0.23 -0.03,-0.28 z"
+   id="path650" />
+			<path
+   class="st1"
+   d="m 258.89,464.72 c -0.07,-0.01 -0.14,-0.03 -0.21,-0.04 -0.13,0 -0.26,0 -0.39,0 -0.08,0 -0.16,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.13,0 0.26,0 0.39,0 0.07,0 0.14,-0.03 0.21,-0.04 0.06,-0.01 0.12,-0.02 0.18,-0.03 0.08,-0.02 0.08,-0.13 0,-0.16 -0.06,-0.02 -0.12,-0.02 -0.18,-0.03 z"
+   id="path652" />
+			<path
+   class="st1"
+   d="m 259.7,465 c 0.64,0.01 1.29,-0.01 1.93,-0.02 0.32,-0.01 0.64,0.01 0.97,0.02 0.29,0 0.65,0.05 0.93,-0.04 0.12,-0.04 0.12,-0.21 0,-0.25 -0.27,-0.1 -0.64,-0.05 -0.93,-0.04 -0.32,0 -0.64,0.02 -0.97,0.02 -0.64,-0.01 -1.29,-0.03 -1.93,-0.02 -0.22,-0.01 -0.22,0.33 0,0.33 z"
+   id="path654" />
+			<path
+   class="st1"
+   d="m 252.44,464.99 c -0.25,-0.01 -0.51,-0.02 -0.76,-0.02 h -0.76 c -0.25,0 -0.25,0.39 0,0.39 h 0.76 c 0.25,0 0.51,-0.02 0.76,-0.02 0.22,-0.02 0.22,-0.35 0,-0.35 z"
+   id="path656" />
+			<path
+   class="st1"
+   d="m 291.3,367.61 c 0.06,0 0.13,0 0.19,0 0.07,-0.01 0.15,-0.03 0.22,-0.04 0.1,-0.02 0.1,-0.18 0,-0.19 -0.07,-0.01 -0.15,-0.03 -0.22,-0.04 -0.06,-0.01 -0.13,0 -0.19,0 -0.14,0 -0.28,-0.01 -0.41,-0.01 -0.28,0 -0.55,0 -0.83,0 -0.19,0 -0.19,0.29 0,0.29 0.28,0 0.55,0 0.83,0 0.14,0 0.27,0 0.41,-0.01 z"
+   id="path658" />
+			<path
+   class="st1"
+   d="m 293.24,367.19 c -0.05,0 -0.1,0 -0.15,0 -0.04,0 -0.09,0.02 -0.12,0.05 -0.03,0.03 -0.05,0.08 -0.05,0.12 0,0.04 0.02,0.09 0.05,0.12 0.03,0.03 0.07,0.05 0.12,0.05 h 0.15 c 0.02,0 0.05,0 0.07,0 0.05,0 0.1,0 0.15,-0.03 0.05,-0.03 0.08,-0.08 0.08,-0.14 0,-0.06 -0.03,-0.11 -0.08,-0.14 -0.04,-0.03 -0.1,-0.03 -0.14,-0.03 -0.03,0 -0.05,0 -0.08,0 z"
+   id="path660" />
+			<path
+   class="st1"
+   d="m 292.23,368.59 c -0.07,-0.01 -0.14,-0.02 -0.21,-0.03 -0.07,-0.01 -0.14,0 -0.21,0 -0.13,0 -0.27,0.01 -0.4,0.02 -0.27,0.02 -0.54,0.03 -0.81,0.05 -0.17,0.01 -0.17,0.28 0,0.27 0.28,-0.02 0.55,-0.04 0.83,-0.06 0.14,-0.01 0.28,-0.02 0.41,-0.03 0.06,-0.01 0.13,-0.01 0.19,-0.02 0.07,-0.02 0.14,-0.04 0.21,-0.06 0.1,-0.01 0.07,-0.13 -0.01,-0.14 z"
+   id="path662" />
+			<path
+   class="st1"
+   d="m 292.88,368.77 c 0.01,0.01 0.02,0.02 0.03,0.02 0.02,0.01 0.05,0.02 0.07,0.02 0.02,0 0.03,0 0.05,0 0.01,0 0.01,0 0.02,0 0.02,0 0.04,0 0.06,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.01,-0.02 0.01,-0.03 0.01,-0.05 0,-0.01 0,-0.02 0,-0.04 l -0.01,-0.03 c -0.01,-0.02 -0.02,-0.03 -0.04,-0.04 -0.01,-0.01 -0.03,-0.02 -0.05,-0.02 -0.01,0 -0.01,0 -0.02,0 -0.01,0 -0.01,0 -0.02,0 0,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.02,0 -0.03,0 -0.05,0 -0.02,0 -0.04,0 -0.06,0.01 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.01,0.01 -0.02,0.03 -0.03,0.05 -0.01,0.02 -0.01,0.04 -0.01,0.06 0,0.01 0,0.03 0.01,0.04 0.01,0 0.03,0.02 0.04,0.04 z"
+   id="path664" />
+			<path
+   class="st1"
+   d="m 291.58,369.71 c -0.19,0 -0.19,0.3 0,0.3 0.19,0 0.19,-0.3 0,-0.3 z"
+   id="path666" />
+			<path
+   class="st1"
+   d="m 292.72,370.17 c 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.01,-0.02 0.03,-0.04 0.02,-0.07 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.02 -0.04,-0.05 -0.07,-0.05 l -0.2,-0.04 c -0.03,-0.01 -0.06,-0.01 -0.09,0 -0.03,0.01 -0.05,0.02 -0.07,0.04 -0.03,0.03 -0.05,0.07 -0.05,0.11 0,0.04 0.02,0.08 0.05,0.11 0.04,0.04 0.1,0.05 0.16,0.04 0.07,-0.01 0.14,-0.03 0.2,-0.04 0.02,0 0.03,0 0.04,-0.01 z"
+   id="path668" />
+			<path
+   class="st1"
+   d="m 294.58,375.13 c 0.2,0.01 0.4,0.01 0.6,0.03 0.11,0.01 0.12,-0.15 0.02,-0.18 -0.19,-0.06 -0.38,-0.12 -0.58,-0.16 -0.2,-0.04 -0.41,-0.05 -0.62,-0.06 -0.41,-0.02 -0.82,0.02 -1.23,0.07 -0.16,0.02 -0.17,0.27 0,0.25 0.4,-0.04 0.8,-0.03 1.21,-0.01 0.2,0.03 0.4,0.05 0.6,0.06 z"
+   id="path670" />
+			<path
+   class="st1"
+   d="m 293.96,376.82 c 0.16,0 0.16,-0.25 0,-0.25 -0.16,-0.01 -0.16,0.25 0,0.25 z"
+   id="path672" />
+			<path
+   class="st1"
+   d="m 294.67,378.19 c 0.09,-0.04 0.07,-0.19 -0.03,-0.2 -0.04,-0.01 -0.09,-0.02 -0.13,-0.01 -0.03,0 -0.07,0.01 -0.1,0.01 -0.07,0.01 -0.15,0.02 -0.22,0.03 -0.15,0.02 -0.29,0.04 -0.44,0.06 -0.07,0.01 -0.14,0.06 -0.13,0.13 0,0.06 0.06,0.14 0.13,0.13 0.15,-0.02 0.3,-0.04 0.45,-0.06 0.07,-0.01 0.15,-0.02 0.22,-0.03 0.04,0 0.07,-0.01 0.11,-0.01 0.05,0 0.09,-0.02 0.14,-0.05 z"
+   id="path674" />
+			<path
+   class="st1"
+   d="m 295.7,378.21 c 0.04,0 0.08,-0.01 0.11,-0.01 0.03,0 0.05,-0.01 0.08,-0.01 0.01,0 0.02,0 0.03,-0.01 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.03,-0.03 0.03,-0.08 0,-0.1 -0.01,-0.01 -0.03,-0.03 -0.05,-0.03 -0.01,0 -0.02,0 -0.03,-0.01 -0.02,-0.01 -0.05,-0.01 -0.08,-0.01 -0.04,0 -0.08,-0.01 -0.11,-0.01 -0.03,0 -0.06,0.02 -0.08,0.03 -0.02,0.02 -0.04,0.05 -0.03,0.08 0,0.03 0.01,0.06 0.03,0.08 0.02,0.02 0.05,0.04 0.08,0.03 z"
+   id="path676" />
+			<path
+   class="st1"
+   d="m 295.05,379.49 c -0.07,0 -0.15,-0.01 -0.22,-0.01 -0.07,0 -0.14,0.07 -0.14,0.14 0,0.07 0.06,0.14 0.14,0.14 l 0.22,-0.01 c 0.04,0 0.07,0 0.11,-0.01 0.04,0 0.09,-0.01 0.13,-0.02 0.1,-0.02 0.1,-0.17 0,-0.2 -0.04,-0.01 -0.08,-0.02 -0.13,-0.02 -0.04,-0.01 -0.07,-0.01 -0.11,-0.01 z"
+   id="path678" />
+			<path
+   class="st1"
+   d="m 296.37,379.66 c 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.02,0.01 0.03,0.02 0.01,0 0.03,0.01 0.04,0.01 0.01,0 0.01,0 0.02,0 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.01,0 0.02,0.01 0.04,0.01 0.06,0 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.01,-0.01 0.01,-0.02 0.02,-0.02 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.01 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.03,-0.02 -0.05,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 -0.03,0.01 -0.04,0.01 -0.01,0 -0.02,0.01 -0.02,0.01 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.04 v 0.03 c 0.01,0.03 0.01,0.04 0.01,0.04 z"
+   id="path680" />
+			<path
+   class="st1"
+   d="m 295.95,384.01 c 0.07,0 0.15,-0.01 0.22,-0.02 0.08,-0.01 0.16,-0.01 0.24,-0.06 0.08,-0.05 0.09,-0.18 0,-0.22 -0.13,-0.06 -0.3,-0.04 -0.44,-0.03 -0.15,0.01 -0.31,0.03 -0.46,0.04 -0.3,0.03 -0.6,0.05 -0.9,0.07 -0.17,0.01 -0.17,0.27 0,0.26 0.3,-0.01 0.6,-0.03 0.9,-0.04 0.15,0.01 0.3,0 0.44,0 z"
+   id="path682" />
+			<path
+   class="st1"
+   d="m 296.88,384.05 c 0.01,0 0.02,0 0.03,0.01 0.02,0 0.04,0.01 0.05,0.01 0.02,0.01 0.04,0.01 0.07,0 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.01,-0.01 0.01,-0.02 0.02,-0.02 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.02 -0.01,-0.03 -0.03,-0.04 -0.02,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,-0.01 -0.04,-0.01 -0.07,0 -0.02,0 -0.04,0.01 -0.05,0.01 -0.01,0 -0.02,0 -0.03,0.01 -0.02,0 -0.04,0.01 -0.05,0.03 l -0.02,0.02 c 0,0 0,0 0,0 0,0 0,0 0,0.01 -0.02,0.03 -0.02,0.06 0,0.09 0,0 0,0 0,0.01 0.02,0.01 0.04,0.03 0.07,0.03 z"
+   id="path684" />
+			<path
+   class="st1"
+   d="m 296.77,385.43 c 0.19,-0.01 0.39,-0.02 0.58,-0.02 0.17,-0.01 0.41,0 0.57,-0.08 0.06,-0.03 0.07,-0.15 0,-0.18 -0.16,-0.07 -0.37,-0.04 -0.54,-0.04 -0.2,0.01 -0.4,0.02 -0.6,0.03 -0.39,0.02 -0.79,0.04 -1.18,0.06 -0.18,0.01 -0.18,0.28 0,0.28 0.38,-0.02 0.78,-0.03 1.17,-0.05 z"
+   id="path686" />
+			<path
+   class="st1"
+   d="m 297.14,386.77 c -0.12,-0.04 -0.25,-0.03 -0.37,-0.03 -0.12,0 -0.23,0 -0.35,0 -0.24,0 -0.48,0.01 -0.72,0.01 -0.17,0 -0.17,0.26 0,0.26 0.24,0 0.48,0.01 0.72,0.01 0.12,0 0.23,0 0.35,0 0.12,0 0.25,0.01 0.37,-0.03 0.11,-0.03 0.11,-0.19 0,-0.22 z"
+   id="path688" />
+			<path
+   class="st1"
+   d="m 298.41,387.11 c 0.16,0 0.16,-0.24 0,-0.24 -0.16,0 -0.16,0.24 0,0.24 z"
+   id="path690" />
+			<path
+   class="st1"
+   d="m 297.21,388.63 c 0.17,0 0.17,-0.26 0,-0.26 -0.16,0.01 -0.16,0.26 0,0.26 z"
+   id="path692" />
+			<path
+   class="st1"
+   d="m 298.46,390.88 c 0.14,-0.01 0.31,0 0.43,-0.09 -0.02,0.01 -0.04,0.02 -0.06,0.04 0.06,-0.02 0.13,-0.03 0.18,-0.06 0.06,-0.04 0.07,-0.13 0,-0.17 -0.06,-0.03 -0.13,-0.04 -0.19,-0.04 -0.11,-0.04 -0.26,-0.02 -0.37,-0.01 -0.14,0.01 -0.27,0.03 -0.41,0.04 -0.27,0.03 -0.54,0.05 -0.82,0.07 -0.18,0.02 -0.18,0.29 0,0.28 0.28,-0.01 0.56,-0.02 0.83,-0.03 0.13,-0.02 0.27,-0.02 0.41,-0.03 z"
+   id="path694" />
+			<path
+   class="st1"
+   d="m 299.58,390.67 c 0,0.07 0.06,0.13 0.13,0.13 0.08,0 0.15,0 0.23,0 0.04,0 0.07,0 0.11,0 0.04,0 0.07,0 0.11,-0.02 0.02,-0.01 0.04,-0.03 0.05,-0.04 0.04,-0.03 0.04,-0.1 0,-0.13 -0.02,-0.01 -0.04,-0.03 -0.05,-0.04 -0.03,-0.02 -0.07,-0.02 -0.11,-0.02 h -0.11 c -0.08,0 -0.15,0 -0.23,0 -0.07,0 -0.13,0.05 -0.13,0.12 z"
+   id="path696" />
+			<path
+   class="st1"
+   d="m 299.62,392.15 c 0.07,-0.02 0.07,-0.12 0,-0.14 -0.06,-0.02 -0.13,-0.02 -0.2,-0.03 -0.07,-0.01 -0.14,-0.02 -0.21,-0.02 -0.14,-0.01 -0.27,-0.01 -0.41,-0.01 -0.28,-0.01 -0.55,-0.01 -0.83,-0.01 -0.17,0 -0.17,0.27 0,0.27 0.28,0 0.55,0 0.83,-0.01 0.14,0 0.27,0 0.41,-0.01 0.07,0 0.13,-0.02 0.2,-0.02 0.07,0 0.14,0 0.21,-0.02 z"
+   id="path698" />
+			<path
+   class="st1"
+   d="m 299.49,396.09 c -0.15,0 -0.15,0.23 0,0.23 h 0.44 c 0.15,0 0.31,0.01 0.45,-0.04 0.08,-0.02 0.08,-0.13 0,-0.16 -0.14,-0.04 -0.3,-0.04 -0.45,-0.04 h -0.44 z"
+   id="path700" />
+			<path
+   class="st1"
+   d="m 301.44,396.17 c -0.05,0 -0.05,0.07 0,0.07 0.05,0 0.05,-0.07 0,-0.07 z"
+   id="path702" />
+			<path
+   class="st1"
+   d="m 300.2,397.65 c -0.13,0.02 -0.26,0.03 -0.39,0.05 -0.08,0.01 -0.14,0.06 -0.13,0.15 0.01,0.08 0.08,0.12 0.16,0.11 l 0.38,-0.06 c 0.06,-0.01 0.13,-0.02 0.19,-0.04 0.03,-0.01 0.06,-0.01 0.09,-0.02 0.04,-0.01 0.07,-0.02 0.1,-0.04 0.06,-0.03 0.05,-0.14 -0.02,-0.15 -0.04,-0.01 -0.07,-0.01 -0.11,-0.01 -0.03,0 -0.06,0 -0.09,0.01 -0.05,-0.01 -0.11,-0.01 -0.18,0 z"
+   id="path704" />
+			<path
+   class="st1"
+   d="m 301.66,397.75 c -0.11,0 -0.11,0.17 0,0.17 0.11,-0.01 0.11,-0.17 0,-0.17 z"
+   id="path706" />
+			<path
+   class="st1"
+   d="m 300.41,399.69 h -0.16 c -0.04,0 -0.09,0.04 -0.09,0.09 0,0.05 0.04,0.09 0.09,0.09 h 0.16 c 0.05,0 0.11,-0.01 0.16,-0.01 0.02,0 0.04,-0.01 0.05,-0.02 0.01,-0.01 0.02,-0.03 0.02,-0.05 0,-0.04 -0.03,-0.07 -0.07,-0.07 -0.05,-0.02 -0.1,-0.03 -0.16,-0.03 z"
+   id="path708" />
+			<path
+   class="st1"
+   d="m 301.55,401.52 c 0.15,0 0.15,-0.23 0,-0.23 -0.15,0 -0.15,0.23 0,0.23 z"
+   id="path710" />
+			<path
+   class="st1"
+   d="m 302.24,408.49 c 0.26,-0.06 0.53,-0.09 0.8,-0.08 0.27,0.01 0.54,0.08 0.81,0.04 0.08,-0.01 0.11,-0.13 0.05,-0.18 -0.24,-0.19 -0.57,-0.22 -0.86,-0.21 -0.3,0.01 -0.6,0.05 -0.88,0.14 -0.19,0.06 -0.11,0.34 0.08,0.29 z"
+   id="path712" />
+			<path
+   class="st1"
+   d="m 304.3,408.53 c 0.01,0.01 0.03,0.02 0.05,0.03 0.02,0 0.04,0 0.05,0 l 0.06,-0.01 c 0,0 0.01,0 0.01,0 0.02,-0.01 0.05,-0.02 0.06,-0.04 0.01,-0.01 0.01,-0.03 0.01,-0.04 0,-0.02 -0.01,-0.03 -0.01,-0.04 -0.01,-0.02 -0.03,-0.04 -0.06,-0.04 0,0 -0.01,0 -0.01,0 l -0.06,-0.01 c -0.02,0 -0.04,0 -0.05,0 -0.02,0 -0.03,0.01 -0.05,0.03 -0.02,0.02 -0.03,0.04 -0.03,0.07 0,0.01 0,0.03 0.01,0.04 0,-0.01 0.01,0 0.02,0.01 z"
+   id="path714" />
+			<path
+   class="st1"
+   d="m 303.51,409.73 c -0.18,0.02 -0.37,0.04 -0.55,0.06 -0.08,0.01 -0.16,0.06 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 l 0.56,-0.05 c 0.09,-0.01 0.18,-0.02 0.28,-0.03 0.11,-0.01 0.22,-0.01 0.31,-0.07 0.1,-0.06 0.07,-0.2 -0.03,-0.24 -0.09,-0.04 -0.19,-0.02 -0.29,-0.01 -0.09,0 -0.19,0.01 -0.28,0.02 z"
+   id="path716" />
+			<path
+   class="st1"
+   d="m 303.26,411.18 c -0.06,0.01 -0.11,0.02 -0.17,0.03 -0.06,0.02 -0.11,0.03 -0.16,0.05 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.07 -0.01,0.11 0.01,0.03 0.03,0.06 0.06,0.08 0.03,0.02 0.07,0.03 0.11,0.01 0.05,-0.02 0.11,-0.04 0.16,-0.06 0.06,-0.02 0.12,-0.05 0.18,-0.08 0.05,-0.02 0.06,-0.09 0.04,-0.13 -0.01,-0.02 -0.02,-0.04 -0.04,-0.05 -0.03,-0.02 -0.06,-0.02 -0.09,-0.02 z"
+   id="path718" />
+			<path
+   class="st1"
+   d="m 304.8,411.39 c 0.15,0 0.15,-0.23 0,-0.23 -0.14,0 -0.14,0.23 0,0.23 z"
+   id="path720" />
+			<path
+   class="st1"
+   d="m 303.9,413.2 c -0.07,0.01 -0.11,0.1 -0.09,0.16 0.02,0.07 0.09,0.11 0.16,0.09 0.23,-0.04 0.46,-0.04 0.69,0 0.11,0.02 0.23,0.05 0.34,0.08 0.11,0.03 0.23,0.08 0.34,0.08 0.05,0 0.09,-0.06 0.06,-0.1 -0.08,-0.1 -0.19,-0.16 -0.31,-0.21 -0.13,-0.05 -0.25,-0.09 -0.39,-0.11 -0.26,-0.04 -0.53,-0.04 -0.8,0.01 z"
+   id="path722" />
+			<path
+   class="st1"
+   d="m 306.34,413.75 c 0.06,0 0.11,0 0.17,0 0.06,0 0.14,0.01 0.19,-0.04 0.03,-0.03 0.03,-0.08 0,-0.1 -0.05,-0.05 -0.12,-0.04 -0.18,-0.04 -0.06,0 -0.12,0 -0.18,0 l -0.34,0.01 c -0.11,0 -0.11,0.16 0,0.17 z"
+   id="path724" />
+			<path
+   class="st1"
+   d="m 305.67,415.1 c 0.19,0 0.19,-0.29 0,-0.29 -0.18,0 -0.19,0.29 0,0.29 z"
+   id="path726" />
+			<path
+   class="st1"
+   d="m 306.54,415.27 c -0.15,0 -0.15,0.24 0,0.24 0.15,0 0.15,-0.24 0,-0.24 z"
+   id="path728" />
+			<path
+   class="st1"
+   d="m 306.43,421.35 c 0.29,0.02 0.59,0.04 0.88,0.05 0.15,0 0.3,0.01 0.44,0.01 0.14,0 0.28,0.01 0.42,-0.03 0.03,-0.01 0.04,-0.06 0.01,-0.07 -0.13,-0.06 -0.27,-0.06 -0.4,-0.08 -0.15,-0.02 -0.3,-0.03 -0.45,-0.05 -0.3,-0.03 -0.6,-0.04 -0.9,-0.06 -0.16,-0.02 -0.15,0.22 0,0.23 z"
+   id="path730" />
+			<path
+   class="st1"
+   d="m 308.49,421.31 c -0.06,0 -0.06,0.09 0,0.09 0.05,0 0.05,-0.09 0,-0.09 z"
+   id="path732" />
+			<path
+   class="st1"
+   d="m 306.12,419.85 c -0.06,0.04 -0.05,0.14 -0.01,0.19 0.04,0.05 0.13,0.08 0.19,0.04 0.03,-0.02 0.07,-0.05 0.1,-0.06 0.02,-0.01 0.04,-0.02 0.06,-0.03 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0.02,-0.01 0.03,-0.01 0.04,-0.01 0.08,-0.03 0.12,-0.03 0.02,0 0.04,-0.01 0.06,-0.01 0,0 0.01,0 0.02,0 0.01,0 0.03,0 0.03,0 0.04,0 0.08,0 0.12,0 0.02,0 0.04,0 0.06,0 0,0 0.01,0 0.01,0 0.01,0 0.02,0 0.02,0 0.03,0 0.06,0.01 0.09,0.01 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0.01,0 0.02,0 0.03,0.01 0.04,0.01 0.07,0.01 0.11,0 0.01,0 0.02,0 0.02,-0.01 0,0 0.02,-0.01 0.03,-0.01 0.07,-0.03 0.1,-0.09 0.06,-0.16 -0.05,-0.11 -0.19,-0.16 -0.31,-0.17 -0.1,-0.01 -0.21,-0.01 -0.31,0.01 -0.19,0.02 -0.38,0.11 -0.54,0.23 z"
+   id="path734" />
+			<path
+   class="st1"
+   d="m 307.89,424.09 c -0.09,0.01 -0.18,0.01 -0.27,0.02 -0.18,0.02 -0.36,0.04 -0.54,0.05 -0.06,0.01 -0.12,0.05 -0.12,0.12 0,0.06 0.05,0.12 0.12,0.12 0.18,-0.02 0.37,-0.04 0.55,-0.06 0.1,-0.01 0.19,-0.02 0.28,-0.04 0.09,-0.01 0.18,-0.04 0.27,-0.06 0.09,-0.02 0.06,-0.15 -0.02,-0.15 -0.09,0.01 -0.18,0 -0.27,0 z"
+   id="path736" />
+			<path
+   class="st1"
+   d="m 309.36,424.13 c 0.05,-0.01 0.1,-0.02 0.16,-0.04 0.05,-0.01 0.1,-0.02 0.15,-0.02 0.07,0 0.12,-0.07 0.1,-0.13 -0.02,-0.06 -0.1,-0.1 -0.16,-0.06 -0.09,0.06 -0.19,0.11 -0.29,0.14 -0.1,0.04 -0.21,0.08 -0.31,0.12 -0.05,0.02 -0.03,0.1 0.02,0.08 0.12,-0.03 0.22,-0.06 0.33,-0.09 z"
+   id="path738" />
+			<path
+   class="st1"
+   d="m 308.04,425.4 c -0.02,0.03 -0.03,0.08 -0.01,0.11 0.02,0.08 0.1,0.12 0.18,0.1 0.09,-0.02 0.18,-0.04 0.27,-0.07 0.05,-0.01 0.09,-0.02 0.14,-0.03 0.05,-0.01 0.1,-0.04 0.15,-0.06 0.04,-0.02 0.06,-0.08 0.05,-0.12 -0.01,-0.04 -0.05,-0.08 -0.1,-0.08 -0.02,0 -0.05,0 -0.07,0 -0.03,0 -0.06,0 -0.09,0.01 -0.05,0.01 -0.09,0.02 -0.14,0.02 -0.09,0.02 -0.19,0.03 -0.28,0.05 -0.05,0.01 -0.08,0.05 -0.1,0.07 z"
+   id="path740" />
+			<path
+   class="st1"
+   d="m 309.79,425.66 c 0.1,0 0.1,-0.16 0,-0.16 -0.1,0 -0.1,0.16 0,0.16 z"
+   id="path742" />
+			<path
+   class="st1"
+   d="m 309.4,426.89 c -0.11,-0.05 -0.25,-0.06 -0.37,-0.08 -0.13,-0.01 -0.27,-0.02 -0.4,-0.03 -0.26,-0.02 -0.53,-0.04 -0.79,-0.05 -0.18,-0.01 -0.17,0.26 0,0.27 0.26,0.02 0.52,0.03 0.77,0.05 0.13,0.01 0.26,0.02 0.39,0.02 0.12,0.01 0.26,0.02 0.38,-0.02 0.07,-0.02 0.1,-0.13 0.02,-0.16 z"
+   id="path744" />
+			<path
+   class="st1"
+   d="m 310.22,427.11 c 0.08,0 0.15,0 0.23,0 0.04,0 0.07,0 0.11,0 0.03,0 0.05,-0.01 0.08,-0.02 0.03,-0.01 0.07,-0.02 0.08,-0.06 0.02,-0.03 0.02,-0.06 0,-0.09 -0.02,-0.03 -0.05,-0.05 -0.08,-0.06 -0.03,-0.01 -0.05,-0.02 -0.08,-0.02 -0.04,0 -0.07,0 -0.11,0 -0.08,0 -0.15,0 -0.23,0 -0.06,0 -0.12,0.06 -0.12,0.12 0.01,0.08 0.06,0.13 0.12,0.13 z"
+   id="path746" />
+			<path
+   class="st1"
+   d="m 309.26,428.63 c -0.02,0.02 -0.04,0.07 -0.04,0.1 0,0.04 0.01,0.08 0.04,0.1 0.03,0.02 0.06,0.05 0.1,0.04 l 0.17,-0.02 0.08,-0.01 c 0.02,0 0.04,0 0.06,-0.01 0.01,0 0.03,-0.01 0.04,-0.01 0.04,-0.01 0.07,-0.05 0.07,-0.09 0,-0.04 -0.03,-0.08 -0.07,-0.09 -0.01,0 -0.03,-0.01 -0.04,-0.01 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.03,0 -0.05,-0.01 -0.08,-0.01 -0.06,-0.01 -0.11,-0.01 -0.17,-0.02 -0.04,-0.01 -0.08,0.01 -0.1,0.04 z"
+   id="path748" />
+			<path
+   class="st1"
+   d="m 310.44,428.96 c 0.16,0 0.16,-0.25 0,-0.25 -0.16,0 -0.16,0.25 0,0.25 z"
+   id="path750" />
+			<path
+   class="st1"
+   d="m 309.2,430.35 c 0,0.08 0.07,0.16 0.16,0.16 0.21,-0.02 0.41,-0.04 0.62,-0.06 0.11,-0.01 0.22,-0.01 0.32,-0.04 0.1,-0.02 0.22,-0.04 0.3,-0.09 0.07,-0.05 0.05,-0.14 -0.02,-0.17 -0.09,-0.04 -0.21,-0.03 -0.3,-0.03 -0.1,-0.01 -0.2,0.01 -0.3,0.02 -0.2,0.02 -0.41,0.04 -0.61,0.06 -0.1,0.01 -0.17,0.06 -0.17,0.15 z"
+   id="path752" />
+			<path
+   class="st1"
+   d="m 311.21,430.57 c 0.01,0.01 0.02,0.01 0.03,0.02 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.03,0.01 0.05,0.02 0.02,0 0.05,0 0.07,0 0.01,0 0.02,0 0.03,0 0.02,0 0.04,0 0.05,-0.01 0.02,-0.01 0.03,-0.03 0.03,-0.05 0,-0.02 0,-0.04 -0.02,-0.05 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.02,-0.03 -0.05,-0.04 -0.08,-0.06 -0.02,-0.01 -0.04,-0.02 -0.06,-0.03 -0.03,-0.01 -0.06,-0.02 -0.09,-0.01 -0.03,0.01 -0.06,0.03 -0.07,0.06 -0.01,0.03 -0.02,0.06 -0.01,0.09 0.01,0.03 0.03,0.06 0.06,0.07 0,0 0.02,0.01 0.04,0.02 z"
+   id="path754" />
+			<path
+   class="st1"
+   d="m 309.79,431.72 c -0.16,0.01 -0.17,0.27 0,0.26 0.28,-0.02 0.56,-0.03 0.85,-0.05 0.14,-0.01 0.28,-0.01 0.41,-0.03 0.07,-0.01 0.14,-0.01 0.21,-0.03 0.07,-0.01 0.15,-0.02 0.2,-0.05 0.05,-0.03 0.06,-0.12 0,-0.15 -0.06,-0.03 -0.13,-0.03 -0.2,-0.03 -0.06,0 -0.13,0 -0.19,0 -0.14,0.01 -0.29,0.02 -0.43,0.03 -0.29,0.01 -0.57,0.03 -0.85,0.05 z"
+   id="path756" />
+			<path
+   class="st1"
+   d="m 311.85,432 c 0.04,0 0.08,0 0.12,0 0.03,0 0.06,0 0.09,-0.01 0.02,-0.01 0.04,-0.01 0.05,-0.02 0.02,-0.01 0.03,-0.03 0.05,-0.05 0.02,-0.03 0.02,-0.07 0,-0.1 -0.01,-0.02 -0.03,-0.04 -0.05,-0.05 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.04,0 -0.08,0 -0.12,0 -0.03,0 -0.07,0.01 -0.09,0.04 -0.02,0.02 -0.04,0.06 -0.04,0.09 0,0.03 0.01,0.07 0.04,0.09 0.03,0.02 0.06,0.04 0.09,0.04 z"
+   id="path758" />
+			<path
+   class="st1"
+   d="m 310.87,433.26 c -0.17,0 -0.17,0.26 0,0.26 0.17,0 0.17,-0.26 0,-0.26 z"
+   id="path760" />
+			<path
+   class="st1"
+   d="m 311.74,434.07 c 0.18,0 0.18,-0.27 0,-0.27 -0.17,-0.01 -0.17,0.27 0,0.27 z"
+   id="path762" />
+			<path
+   class="st1"
+   d="m 311.2,435.46 c 0.15,0 0.15,-0.23 0,-0.23 -0.15,0 -0.15,0.23 0,0.23 z"
+   id="path764" />
+			<path
+   class="st1"
+   d="m 311.2,436.33 c 0.33,-0.01 0.66,-0.03 1,-0.04 0.17,-0.01 0.33,-0.01 0.5,-0.02 0.08,-0.01 0.15,-0.01 0.23,-0.02 0.09,-0.01 0.17,-0.04 0.26,-0.06 0.13,-0.03 0.09,-0.2 -0.03,-0.21 -0.08,-0.01 -0.16,-0.03 -0.25,-0.03 -0.08,0 -0.17,0.01 -0.25,0.01 -0.16,0 -0.32,0.02 -0.48,0.03 -0.33,0.02 -0.65,0.04 -0.98,0.06 -0.18,0.01 -0.19,0.29 0,0.28 z"
+   id="path766" />
+			<path
+   class="st1"
+   d="m 311.63,438.03 c -0.16,0 -0.16,0.25 0,0.25 0.17,0.01 0.17,-0.25 0,-0.25 z"
+   id="path768" />
+			<path
+   class="st1"
+   d="m 314.13,437.85 c -0.12,0 -0.12,0.19 0,0.19 0.12,0 0.12,-0.19 0,-0.19 z"
+   id="path770" />
+			<path
+   class="st1"
+   d="m 312.39,439.76 c 0.39,-0.03 0.78,-0.05 1.16,-0.09 0.19,-0.02 0.39,-0.05 0.58,-0.07 0.09,-0.01 0.18,-0.02 0.27,-0.02 0.1,0 0.2,0.01 0.29,-0.02 0.07,-0.03 0.09,-0.14 0,-0.16 -0.09,-0.02 -0.18,0 -0.27,0.02 -0.1,0.01 -0.19,0.02 -0.29,0.03 -0.19,0.01 -0.39,0.01 -0.58,0.03 -0.39,0.03 -0.77,0.07 -1.16,0.11 -0.11,0.01 -0.11,0.18 0,0.17 z"
+   id="path772" />
+			<path
+   class="st1"
+   d="m 313.53,440.88 c 0.05,0 0.11,0 0.16,0 0.07,0 0.13,0.01 0.19,-0.04 0.03,-0.03 0.04,-0.09 0.02,-0.12 -0.04,-0.06 -0.1,-0.07 -0.17,-0.08 -0.06,-0.01 -0.13,-0.02 -0.2,-0.02 -0.13,0 -0.26,0.01 -0.38,0.03 -0.25,0.04 -0.49,0.11 -0.71,0.22 -0.07,0.03 -0.09,0.13 -0.05,0.2 0.04,0.07 0.13,0.09 0.2,0.05 0.2,-0.1 0.41,-0.16 0.63,-0.2 0.09,-0.03 0.2,-0.04 0.31,-0.04 z"
+   id="path774" />
+			<path
+   class="st1"
+   d="m 314.54,447.04 h -0.41 c -0.06,0 -0.12,0.06 -0.12,0.12 0,0.07 0.05,0.12 0.12,0.12 h 0.41 c 0.05,0 0.1,-0.01 0.15,-0.02 0.1,-0.02 0.1,-0.18 0,-0.2 -0.05,-0.01 -0.1,-0.02 -0.15,-0.02 z"
+   id="path776" />
+			<path
+   class="st1"
+   d="m 314.89,448.78 c 0.14,0 0.14,-0.22 0,-0.22 -0.14,0.01 -0.14,0.22 0,0.22 z"
+   id="path778" />
+			<path
+   class="st1"
+   d="m 314.68,450.77 c -0.18,0.02 -0.37,0.04 -0.55,0.05 -0.07,0.01 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.14 0.13,0.13 0.19,-0.02 0.38,-0.04 0.56,-0.06 0.09,-0.01 0.18,-0.02 0.28,-0.03 0.1,-0.01 0.2,-0.02 0.3,-0.06 0.08,-0.04 0.06,-0.16 -0.02,-0.19 -0.09,-0.03 -0.19,-0.01 -0.28,0 -0.11,0.01 -0.2,0.02 -0.29,0.03 z"
+   id="path780" />
+			<path
+   class="st1"
+   d="m 316.4,450.9 h 0.33 0.16 c 0.07,0 0.18,-0.02 0.23,-0.08 0.05,-0.06 0.05,-0.14 0,-0.2 -0.05,-0.06 -0.16,-0.08 -0.23,-0.08 h -0.16 c -0.11,0 -0.22,0 -0.33,0 -0.09,0 -0.17,0.08 -0.17,0.17 0.01,0.12 0.08,0.19 0.17,0.19 z"
+   id="path782" />
+			<path
+   class="st1"
+   d="m 314.87,452.36 c 0,0.06 0.06,0.13 0.13,0.13 0.17,-0.02 0.34,-0.04 0.51,-0.06 0.08,-0.01 0.17,-0.02 0.25,-0.03 0.09,-0.01 0.19,-0.01 0.27,-0.06 0.08,-0.05 0.06,-0.16 -0.02,-0.19 -0.09,-0.03 -0.17,-0.01 -0.26,0 -0.08,0.01 -0.17,0.02 -0.25,0.03 -0.17,0.02 -0.33,0.04 -0.5,0.06 -0.07,0 -0.13,0.05 -0.13,0.12 z"
+   id="path784" />
+			<path
+   class="st1"
+   d="m 317.12,452.36 c -0.01,0.01 -0.01,0.03 -0.02,0.04 0,0.01 0,0.01 -0.01,0.02 0,0.01 -0.01,0.02 -0.01,0.03 0,0.01 0,0.03 0,0.04 0,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.02,0.02 0.03,0.02 0.01,0 0.03,0 0.04,0 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.02,-0.01 0.04,-0.02 0.07,-0.04 0.04,-0.02 0.06,-0.07 0.06,-0.11 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.04,0 -0.09,0.02 -0.11,0.06 -0.01,0.03 -0.02,0.05 -0.04,0.07 z"
+   id="path786" />
+			<path
+   class="st1"
+   d="m 317.05,454.48 c -0.43,-0.03 -0.87,-0.09 -1.3,-0.11 -0.43,-0.02 -0.87,-0.01 -1.3,-0.02 -0.18,0 -0.18,0.28 0,0.29 0.43,0 0.87,0.01 1.3,0 0.43,-0.01 0.87,-0.06 1.3,-0.09 0.05,0 0.05,-0.06 0,-0.07 z"
+   id="path788" />
+			<path
+   class="st1"
+   d="m 317.7,454.49 c -0.06,0 -0.06,0.09 0,0.09 0.06,-0.01 0.06,-0.09 0,-0.09 z"
+   id="path790" />
+			<path
+   class="st1"
+   d="m 312.39,457.62 c 0.39,-0.02 0.77,-0.04 1.16,-0.05 0.19,-0.01 0.39,-0.02 0.58,-0.04 0.19,-0.02 0.39,-0.01 0.57,-0.06 0.11,-0.03 0.12,-0.21 0,-0.23 -0.19,-0.04 -0.38,-0.01 -0.57,-0.02 -0.19,0 -0.39,0 -0.58,0.01 -0.39,0.02 -0.77,0.03 -1.16,0.05 -0.22,-0.01 -0.23,0.35 0,0.34 z"
+   id="path792" />
+			<path
+   class="st1"
+   d="m 317.31,456.95 c -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.03,0.01 -0.06,0.05 -0.06,0.08 -0.01,0.02 -0.01,0.04 0,0.06 0,0.02 0.01,0.04 0.02,0.05 0.02,0.03 0.05,0.06 0.08,0.06 0.04,0.01 0.07,0 0.11,-0.01 0.04,-0.02 0.07,-0.04 0.11,-0.06 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.01,-0.01 0.01,-0.02 0.02,-0.02 0.02,-0.03 0.02,-0.08 0,-0.12 -0.02,-0.04 -0.06,-0.06 -0.1,-0.06 -0.01,0 -0.02,0 -0.03,0 -0.03,0 -0.06,0.01 -0.09,0.02 -0.03,0.01 -0.05,0.02 -0.07,0.03 z"
+   id="path794" />
+			<path
+   class="st1"
+   d="m 313.48,458.77 c 0.01,0.07 0.07,0.1 0.13,0.09 0.32,-0.05 0.64,-0.09 0.96,-0.16 0.06,-0.01 0.04,-0.1 -0.01,-0.1 -0.33,0.01 -0.65,0.04 -0.98,0.06 -0.06,0 -0.1,0.05 -0.1,0.11 z"
+   id="path796" />
+			<path
+   class="st1"
+   d="m 317.49,458.39 c -0.01,0.01 -0.01,0.03 -0.01,0.05 0,0.02 0,0.03 0.01,0.05 0,0.01 0.01,0.03 0.02,0.04 0.01,0.01 0.02,0.01 0.02,0.02 0.02,0.01 0.04,0.02 0.06,0.02 0.01,0 0.02,0 0.03,0 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.02,-0.02 0.04,-0.04 0.06,-0.06 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.01,-0.01 0.02,-0.02 0.02,-0.03 0,-0.01 0.01,-0.02 0.01,-0.03 v -0.03 c 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.03 -0.01,-0.04 0,-0.01 -0.01,-0.02 -0.02,-0.03 -0.02,-0.02 -0.04,-0.03 -0.07,-0.03 h -0.01 c 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.02,0 -0.03,0.01 -0.04,0.01 -0.01,0.01 -0.02,0.01 -0.02,0.02 0,0 0,0 0,0 0,0 0,0 0,0 l -0.09,0.08 c -0.01,0 -0.02,0.01 -0.02,0.03 z"
+   id="path798" />
+			<path
+   class="st1"
+   d="m 312.32,460.84 c 0.31,-0.06 0.63,-0.11 0.94,-0.17 0.16,-0.03 0.31,-0.05 0.47,-0.09 0.15,-0.03 0.32,-0.05 0.46,-0.12 0.09,-0.05 0.08,-0.22 -0.03,-0.23 -0.16,-0.02 -0.31,0.02 -0.47,0.04 -0.16,0.02 -0.33,0.05 -0.49,0.08 -0.32,0.06 -0.64,0.11 -0.96,0.17 -0.08,0.01 -0.13,0.12 -0.11,0.2 0.02,0.1 0.11,0.14 0.19,0.12 z"
+   id="path800" />
+			<path
+   class="st1"
+   d="m 317.16,460.1 c -0.1,0.01 -0.19,0.08 -0.17,0.2 0.01,0.05 0.03,0.08 0.07,0.11 0.05,0.04 0.09,0.04 0.15,0.03 0.15,-0.02 0.29,-0.04 0.44,-0.06 0.07,-0.01 0.14,-0.03 0.22,-0.04 0.03,-0.01 0.07,-0.01 0.1,-0.02 0.04,-0.01 0.08,-0.03 0.12,-0.05 0.09,-0.05 0.07,-0.19 -0.03,-0.21 -0.04,-0.01 -0.09,-0.02 -0.13,-0.02 h -0.1 c -0.07,0 -0.15,0 -0.22,0.01 -0.15,0.02 -0.3,0.04 -0.45,0.05 z"
+   id="path802" />
+			<path
+   class="st1"
+   d="m 318.93,460.3 c 0.03,-0.01 0.06,-0.02 0.1,-0.02 0.01,0 0.01,0 0,0 0.01,0 0.02,0 0.03,0 0.02,0 0.03,0 0.05,0 0.02,0 0.03,0 0.05,0 0.01,0 0.03,0 0.03,0 0.03,0 0.06,0.01 0.09,0.02 0.01,0 0.03,0.01 0.04,0.01 0.01,0 0.02,0.01 0.03,0.01 0.02,0.01 -0.02,-0.01 0,0 0.04,0.02 0.07,0.03 0.11,0.05 0.01,0 -0.01,-0.01 0.01,0 0.01,0 0.01,0.01 0.02,0.01 0.01,0.01 0.03,0.02 0.04,0.02 0.03,0.02 0.06,0.04 0.1,0.05 0.06,0.01 0.1,-0.04 0.09,-0.09 -0.01,-0.07 -0.09,-0.14 -0.15,-0.19 -0.07,-0.06 -0.15,-0.09 -0.24,-0.12 -0.16,-0.04 -0.33,-0.04 -0.49,0.01 -0.06,0.02 -0.11,0.08 -0.08,0.15 0.04,0.06 0.11,0.11 0.17,0.09 z"
+   id="path804" />
+			<path
+   class="st1"
+   d="m 313.8,461.81 c 0.16,0 0.16,-0.25 0,-0.25 -0.16,0 -0.16,0.25 0,0.25 z"
+   id="path806" />
+			<path
+   class="st1"
+   d="m 316.58,461.5 c 0.03,-0.01 0.06,-0.01 0.09,-0.02 0.04,-0.01 0.07,-0.02 0.11,-0.04 0.07,-0.04 0.06,-0.15 -0.02,-0.17 -0.04,-0.01 -0.07,-0.02 -0.11,-0.01 -0.03,0 -0.06,0.01 -0.09,0.01 -0.06,0.01 -0.13,0.01 -0.19,0.02 -0.13,0.02 -0.26,0.03 -0.39,0.05 -0.08,0.01 -0.14,0.06 -0.13,0.15 0.01,0.09 0.09,0.12 0.17,0.11 0.13,-0.02 0.26,-0.04 0.39,-0.06 0.04,-0.01 0.11,-0.03 0.17,-0.04 z"
+   id="path808" />
+			<path
+   class="st1"
+   d="m 318.51,461.3 c 0.19,-0.04 0.38,-0.07 0.56,-0.11 0.1,-0.02 0.2,-0.04 0.29,-0.08 0.04,-0.02 0.08,-0.03 0.12,-0.04 0.06,-0.02 0.1,-0.04 0.14,-0.07 0.06,-0.05 0.02,-0.15 -0.04,-0.17 -0.09,-0.03 -0.19,0 -0.28,0 -0.1,0 -0.21,0.03 -0.31,0.04 -0.19,0.03 -0.37,0.08 -0.56,0.12 -0.09,0.02 -0.13,0.12 -0.11,0.2 0.01,0.09 0.1,0.13 0.19,0.11 z"
+   id="path810" />
+			<path
+   class="st1"
+   d="m 320.52,461.06 c 0.18,0 0.35,0.01 0.53,0.01 0.18,0 0.35,0.02 0.53,0.01 0.2,-0.01 0.2,-0.29 0,-0.31 -0.18,-0.01 -0.35,0 -0.53,0.01 -0.18,0 -0.35,0.01 -0.53,0.01 -0.17,0.01 -0.17,0.26 0,0.27 z"
+   id="path812" />
+			<path
+   class="st1"
+   d="m 313.98,462.54 c -0.52,0.06 -1.04,0.11 -1.57,0.15 -0.51,0.04 -1.02,0.06 -1.53,0.08 -0.51,0.02 -1.06,-0.04 -1.56,0.07 -0.12,0.03 -0.12,0.21 0,0.24 0.49,0.13 1.06,0.06 1.56,0.04 0.54,-0.02 1.08,-0.05 1.62,-0.1 0.51,-0.05 1.01,-0.1 1.51,-0.17 0.52,-0.07 1.07,-0.11 1.55,-0.32 0.07,-0.03 0.03,-0.13 -0.04,-0.14 -0.5,-0.03 -1.02,0.09 -1.54,0.15 z"
+   id="path814" />
+			<path
+   class="st1"
+   d="m 316.98,462.31 c 0.02,-0.01 0.03,-0.03 0.05,-0.05 0.02,-0.03 0.02,-0.08 -0.01,-0.11 -0.02,-0.01 -0.03,-0.03 -0.06,-0.04 -0.02,0 -0.03,0 -0.05,0 -0.01,0 -0.02,0 -0.04,0 -0.01,0 -0.03,0 -0.04,0 0,0 0,0 -0.01,0 -0.02,-0.01 -0.04,-0.01 -0.07,0 -0.03,0 -0.07,0 -0.1,0.01 -0.1,0.02 -0.19,0.04 -0.29,0.06 -0.07,0.02 -0.12,0.11 -0.1,0.18 0.03,0.08 0.1,0.11 0.18,0.1 0.1,-0.02 0.19,-0.03 0.29,-0.05 0.02,0 0.05,-0.01 0.07,-0.02 0.02,-0.01 0.04,-0.01 0.06,-0.02 0,0 0.01,-0.01 0.01,-0.01 0.01,0 0.01,0 -0.01,0 0.02,0 0.05,-0.02 0.07,-0.03 0.02,0 0.03,-0.01 0.05,-0.02 z"
+   id="path816" />
+			<path
+   class="st1"
+   d="m 317.27,462.3 c 0.83,-0.02 1.65,-0.02 2.48,-0.03 0.41,-0.01 0.81,-0.01 1.22,-0.02 0.2,-0.01 0.41,-0.02 0.61,-0.02 0.19,-0.01 0.37,0.01 0.54,-0.08 0.09,-0.05 0.1,-0.2 0,-0.25 -0.18,-0.08 -0.35,-0.05 -0.54,-0.05 -0.19,0.01 -0.37,0.02 -0.56,0.02 -0.42,0.02 -0.84,0.05 -1.26,0.08 -0.83,0.05 -1.65,0.12 -2.48,0.17 -0.13,0 -0.13,0.18 -0.01,0.18 z"
+   id="path818" />
+			<path
+   class="st1"
+   d="m 317.16,462.96 c -0.02,-0.01 -0.05,-0.01 -0.07,-0.01 -0.04,0 -0.08,-0.01 -0.12,-0.01 -0.07,-0.01 -0.15,-0.01 -0.22,0 -0.15,0.01 -0.31,0.01 -0.46,0.02 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.13 0.13,0.13 0.15,0.01 0.31,0.01 0.46,0.02 0.07,0 0.15,0 0.22,0 0.04,0 0.08,-0.01 0.12,-0.01 0.02,0 0.05,0 0.07,-0.01 0.03,-0.01 0.05,-0.03 0.08,-0.05 0.05,-0.04 0.04,-0.13 0,-0.16 -0.02,-0.02 -0.04,-0.04 -0.08,-0.05 z"
+   id="path820" />
+			<path
+   class="st1"
+   d="m 317.81,462.95 c -0.19,0.02 -0.2,0.32 0,0.31 0.79,-0.05 1.58,-0.1 2.38,-0.17 0.78,-0.07 1.56,-0.1 2.32,-0.3 0.15,-0.04 0.11,-0.25 -0.04,-0.26 -0.78,-0.05 -1.55,0.07 -2.33,0.15 -0.78,0.07 -1.55,0.17 -2.33,0.27 z"
+   id="path822" />
+			<path
+   class="st1"
+   d="m 264.56,395.16 c 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 0,0 0,0 z"
+   id="path824" />
+			<path
+   class="st1"
+   d="m 259.17,406.62 c -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.02,0 -0.04,0 -0.06,-0.01 -0.05,0 -0.1,-0.01 -0.14,0 -0.09,0 -0.19,0 -0.28,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.07 0.05,0.12 0.12,0.12 h 0.28 c 0.05,0 0.09,0 0.14,0 0.02,0 0.05,0 0.07,-0.01 0.02,0 0.03,0 0.05,-0.01 0.02,0 0.03,-0.02 0.05,-0.03 0.06,-0.04 0.06,-0.12 0,-0.16 -0.03,0 -0.04,0 -0.05,-0.01 z"
+   id="path826" />
+			<path
+   class="st1"
+   d="m 276.83,399.81 c 0.13,0 0.26,0 0.39,0 0.06,0 0.13,-0.01 0.19,-0.01 0.07,0 0.14,0 0.21,-0.03 0.1,-0.04 0.1,-0.16 0,-0.2 -0.07,-0.03 -0.14,-0.03 -0.21,-0.03 -0.06,0 -0.13,-0.01 -0.19,-0.01 -0.13,0 -0.26,0 -0.39,0 -0.07,0 -0.14,0.06 -0.14,0.14 0,0.08 0.06,0.14 0.14,0.14 z"
+   id="path828" />
+			<path
+   class="st1"
+   d="m 276.92,401.27 c 0,0.07 0.06,0.14 0.13,0.13 0.24,-0.01 0.48,-0.03 0.72,-0.04 0.12,-0.01 0.25,-0.01 0.37,-0.03 0.12,-0.02 0.23,-0.06 0.34,-0.09 0.06,-0.02 0.08,-0.13 0,-0.14 -0.12,-0.02 -0.23,-0.03 -0.35,-0.04 -0.12,-0.01 -0.24,0.01 -0.36,0.02 l -0.72,0.07 c -0.07,0 -0.13,0.05 -0.13,0.12 z"
+   id="path830" />
+			<path
+   class="st1"
+   d="m 288.43,399.48 c -0.11,0 -0.11,0.17 0,0.17 0.11,0 0.11,-0.17 0,-0.17 z"
+   id="path832" />
+			<path
+   class="st1"
+   d="m 277.27,405.73 c -0.07,0 -0.11,0.06 -0.12,0.12 -0.02,0.14 -0.04,0.29 -0.06,0.43 -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.01,0.08 -0.01,0.15 -0.01,0.22 0.01,0.1 0.14,0.12 0.18,0.02 0.03,-0.07 0.04,-0.14 0.05,-0.22 0.01,-0.07 0.02,-0.15 0.04,-0.22 0.02,-0.15 0.04,-0.31 0.06,-0.46 0.01,-0.04 -0.06,-0.1 -0.12,-0.1 z"
+   id="path834" />
+			<path
+   class="st1"
+   d="m 287.78,405.09 c -0.02,0.33 -0.04,0.66 -0.06,0.99 -0.02,0.33 -0.05,0.65 0,0.98 0.01,0.09 0.14,0.08 0.16,0 0.08,-0.32 0.09,-0.65 0.1,-0.98 0.02,-0.33 0.04,-0.66 0.05,-0.99 0.02,-0.16 -0.24,-0.16 -0.25,0 z"
+   id="path836" />
+			<path
+   class="st1"
+   d="m 271.63,403.16 c 0.17,0 0.17,-0.26 0,-0.26 -0.17,0 -0.17,0.26 0,0.26 z"
+   id="path838" />
+			<path
+   class="st1"
+   d="m 271.2,405.87 c 0.02,0 0.04,-0.01 0.06,-0.02 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.01,0 0.01,-0.01 0.02,-0.01 0,0 0,0 0.01,0 0.01,0 0.01,-0.01 0.02,-0.01 v 0 c 0,0 0,0 0.01,-0.01 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.01 0,-0.01 0,-0.02 0,-0.01 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0.01 -0.06,0.02 -0.04,0.02 -0.06,0.06 -0.06,0.11 0,0.05 0.02,0.09 0.06,0.11 0,0.02 0.02,0.03 0.05,0.03 z"
+   id="path840" />
+			<path
+   class="st1"
+   d="m 271.07,408.52 c 0.01,0 0.01,0.01 0.02,0.01 0.01,0.01 0.03,0.02 0.04,0.03 0.02,0.01 0.04,0.02 0.06,0.02 0.02,0 0.04,-0.01 0.06,-0.02 0.04,-0.02 0.06,-0.06 0.06,-0.11 0,-0.04 -0.02,-0.09 -0.06,-0.11 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0.01 -0.06,0.02 -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.02 0,0.01 -0.01,0.02 -0.01,0.02 0,0.02 0.01,0.04 0.02,0.05 0.01,0.02 0.02,0.03 0.03,0.03 z"
+   id="path842" />
+			<path
+   class="st1"
+   d="m 273.49,410.09 c 0.07,-0.01 0.11,-0.09 0.1,-0.15 -0.01,-0.06 -0.07,-0.13 -0.14,-0.12 -0.28,0.03 -0.57,0.07 -0.85,0.11 -0.07,0.01 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.15 0.14,0.14 0.3,-0.04 0.6,-0.07 0.89,-0.12 z"
+   id="path844" />
+			<path
+   class="st1"
+   d="m 271.95,409.68 c 0.29,0 0.59,0.01 0.88,0.01 0.15,0 0.29,0 0.44,0 0.14,0 0.3,0.02 0.44,-0.03 0.12,-0.04 0.12,-0.2 0,-0.24 -0.14,-0.05 -0.3,-0.03 -0.44,-0.03 -0.15,0 -0.29,0 -0.44,0 -0.29,0 -0.59,0.01 -0.88,0.01 -0.17,0 -0.17,0.27 0,0.28 z"
+   id="path846" />
+			<path
+   class="st1"
+   d="m 275.75,409.65 c 0.13,0 0.26,0 0.39,0 0.06,0 0.13,-0.01 0.19,-0.01 0.07,0 0.13,-0.01 0.2,-0.02 0.07,-0.02 0.07,-0.12 0,-0.14 -0.07,-0.02 -0.13,-0.02 -0.2,-0.02 -0.06,0 -0.13,-0.01 -0.19,-0.01 -0.13,-0.01 -0.26,-0.01 -0.39,0 -0.06,0 -0.11,0.05 -0.11,0.11 0,0.04 0.05,0.09 0.11,0.09 z"
+   id="path848" />
+			<path
+   class="st1"
+   d="m 278.24,409.9 0.72,-0.04 c 0.12,-0.01 0.24,-0.01 0.36,-0.02 0.12,-0.01 0.25,0 0.36,-0.05 0.1,-0.04 0.12,-0.19 0,-0.22 -0.12,-0.03 -0.24,-0.01 -0.36,0 -0.12,0.01 -0.24,0.02 -0.36,0.03 -0.24,0.02 -0.48,0.04 -0.72,0.06 -0.07,0.01 -0.13,0.06 -0.13,0.13 0,0.05 0.06,0.12 0.13,0.11 z"
+   id="path850" />
+			<path
+   class="st1"
+   d="m 293.66,397.99 c 0.02,0 0.04,0 0.06,0 0.04,0 0.09,0 0.13,-0.01 0.06,-0.01 0.12,-0.05 0.13,-0.11 0.01,-0.07 -0.03,-0.12 -0.09,-0.14 -0.04,-0.01 -0.09,-0.02 -0.13,-0.03 -0.02,0 -0.04,-0.01 -0.06,-0.01 0.01,0 0.01,0 -0.01,-0.01 -0.01,-0.01 -0.03,-0.01 -0.04,-0.01 -0.09,-0.02 -0.19,-0.03 -0.28,-0.04 -0.17,-0.01 -0.33,-0.01 -0.5,0 -0.15,0 -0.18,0.22 -0.04,0.26 0.16,0.04 0.31,0.08 0.48,0.1 0.09,0.01 0.19,0.02 0.28,0.02 0.03,-0.01 0.1,-0.03 0.07,-0.02 z"
+   id="path852" />
+			<path
+   class="st1"
+   d="m 294.94,397.93 c 0.2,-0.02 0.4,-0.04 0.6,-0.05 0.2,-0.02 0.41,-0.01 0.6,-0.06 0.13,-0.03 0.09,-0.21 -0.03,-0.22 -0.1,-0.01 -0.19,0.01 -0.29,0.02 -0.1,0.01 -0.19,0.02 -0.29,0.03 l -0.58,0.05 c -0.07,0.01 -0.12,0.05 -0.12,0.12 -0.02,0.05 0.04,0.12 0.11,0.11 z"
+   id="path854" />
+			<path
+   class="st1"
+   d="m 293.7,398.7 c 0,0.08 0.07,0.15 0.15,0.15 0.15,0 0.3,0 0.45,0 0.07,0 0.15,0 0.22,-0.01 0.08,-0.01 0.18,0 0.25,-0.05 0.07,-0.05 0.07,-0.13 0,-0.18 -0.07,-0.05 -0.16,-0.04 -0.24,-0.05 -0.08,-0.01 -0.15,-0.01 -0.23,-0.01 -0.15,0 -0.3,0 -0.45,0 -0.07,0 -0.15,0.07 -0.15,0.15 z"
+   id="path856" />
+			<path
+   class="st1"
+   d="m 294.72,399.43 c -0.07,0.01 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.14 0.14,0.14 l 0.73,-0.05 c 0.12,-0.01 0.24,-0.02 0.36,-0.03 0.13,-0.01 0.26,-0.01 0.37,-0.07 0.09,-0.05 0.06,-0.18 -0.03,-0.2 -0.11,-0.04 -0.24,-0.01 -0.36,-0.01 -0.12,0.01 -0.24,0.02 -0.36,0.03 z"
+   id="path858" />
+			<path
+   class="st1"
+   d="m 294.83,401.75 c 0.32,-0.02 0.64,-0.03 0.96,-0.05 0.16,-0.01 0.31,-0.02 0.47,-0.02 0.08,0 0.16,-0.01 0.23,-0.03 0.08,-0.01 0.16,-0.01 0.23,-0.06 0.05,-0.04 0.07,-0.13 0,-0.16 -0.07,-0.04 -0.15,-0.03 -0.23,-0.04 -0.07,0 -0.14,-0.01 -0.22,0 -0.16,0.01 -0.33,0.02 -0.49,0.03 -0.32,0.02 -0.64,0.04 -0.96,0.07 -0.15,0.02 -0.15,0.27 0.01,0.26 z"
+   id="path860" />
+			<path
+   class="st1"
+   d="m 297.14,401.87 c 0.07,-0.02 0.15,-0.04 0.22,-0.06 0.04,-0.01 0.07,-0.02 0.11,-0.03 0.05,-0.01 0.09,-0.04 0.13,-0.06 0.04,-0.03 0.07,-0.09 0.06,-0.14 -0.02,-0.05 -0.06,-0.09 -0.12,-0.09 -0.05,0 -0.09,0 -0.14,0.01 -0.04,0.01 -0.08,0.02 -0.11,0.03 l -0.22,0.06 c -0.07,0.02 -0.12,0.1 -0.1,0.17 0.02,0.08 0.1,0.13 0.17,0.11 z"
+   id="path862" />
+			<path
+   class="st1"
+   d="m 295.5,403.23 c -0.29,0 -0.59,0.01 -0.88,0.01 -0.15,0 -0.15,0.23 0,0.23 0.29,0 0.59,0.01 0.88,0.01 0.29,0 0.58,0.01 0.86,-0.08 0.05,-0.02 0.05,-0.08 0,-0.09 -0.28,-0.09 -0.57,-0.08 -0.86,-0.08 z"
+   id="path864" />
+			<path
+   class="st1"
+   d="m 296.67,403.39 c 0.01,0.05 0.05,0.1 0.11,0.1 0.17,-0.01 0.34,-0.03 0.51,-0.04 0.08,-0.01 0.17,-0.01 0.25,-0.02 0.1,-0.01 0.19,-0.01 0.28,-0.06 0.08,-0.05 0.06,-0.17 -0.03,-0.2 -0.09,-0.03 -0.18,-0.01 -0.27,0.01 -0.09,0.01 -0.17,0.02 -0.26,0.03 -0.17,0.02 -0.34,0.05 -0.5,0.07 -0.06,0 -0.09,0.06 -0.09,0.11 z"
+   id="path866" />
+			<path
+   class="st1"
+   d="m 295.49,404.48 c 0.09,0 0.18,-0.01 0.28,-0.01 0.1,0 0.19,0 0.28,-0.03 0.1,-0.04 0.1,-0.17 0,-0.21 -0.09,-0.03 -0.19,-0.03 -0.28,-0.03 -0.09,0 -0.18,-0.01 -0.28,-0.01 -0.18,0 -0.37,0 -0.55,0 -0.18,0 -0.18,0.28 0,0.28 0.18,0.01 0.37,0.01 0.55,0.01 z"
+   id="path868" />
+			<path
+   class="st1"
+   d="m 297.42,404.28 c -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 l -0.1,-0.02 c -0.02,-0.01 -0.05,-0.01 -0.07,0 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.04 -0.02,0.07 0,0.02 0,0.04 0.01,0.05 0.01,0.02 0.01,0.03 0.03,0.04 0.02,0.02 0.04,0.03 0.06,0.03 0.02,0.01 0.05,0.01 0.07,0 l 0.1,-0.02 0.03,-0.01 c 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.01,-0.01 0.01,-0.02 0.01,-0.02 0.01,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,-0.02 0,-0.03 z"
+   id="path870" />
+			<path
+   class="st1"
+   d="m 294.29,405.3 c -0.07,0 -0.12,0.06 -0.12,0.12 0,0.07 0.06,0.12 0.12,0.12 0.15,0 0.29,0 0.44,0 0.07,0 0.15,0 0.22,-0.01 0.07,-0.01 0.15,-0.03 0.22,-0.04 0.07,-0.01 0.07,-0.12 0,-0.14 -0.07,-0.02 -0.15,-0.04 -0.22,-0.04 -0.07,-0.01 -0.15,-0.01 -0.22,-0.01 -0.15,-0.01 -0.3,-0.01 -0.44,0 z"
+   id="path872" />
+			<path
+   class="st1"
+   d="m 295.56,406.28 c -0.06,0.01 -0.09,0.08 -0.07,0.13 0.02,0.06 0.07,0.08 0.13,0.07 0.22,-0.04 0.44,-0.07 0.66,-0.11 0.11,-0.02 0.22,-0.04 0.33,-0.05 0.05,-0.01 0.1,-0.02 0.15,-0.03 0.06,-0.01 0.11,-0.04 0.17,-0.06 0.09,-0.04 0.04,-0.17 -0.05,-0.17 -0.22,-0.01 -0.45,0.05 -0.67,0.1 -0.21,0.03 -0.43,0.07 -0.65,0.12 z"
+   id="path874" />
+			<path
+   class="st1"
+   d="m 297.76,406.1 c -0.1,0 -0.1,0.16 0,0.16 0.1,0 0.1,-0.16 0,-0.16 z"
+   id="path876" />
+			<path
+   class="st1"
+   d="m 294.18,407.1 c -0.17,0.02 -0.18,0.29 0,0.27 0.76,-0.07 1.51,-0.13 2.27,-0.19 0.38,-0.03 0.76,-0.06 1.13,-0.1 0.36,-0.03 0.72,-0.05 1.08,-0.13 0.12,-0.03 0.09,-0.21 -0.03,-0.21 -0.38,-0.02 -0.76,0.03 -1.13,0.07 -0.36,0.03 -0.73,0.06 -1.09,0.1 -0.75,0.06 -1.49,0.12 -2.23,0.19 z"
+   id="path878" />
+			<path
+   class="st1"
+   d="m 297.57,407.89 c -0.09,-0.03 -0.18,0.01 -0.27,0.03 -0.09,0.03 -0.18,0.05 -0.28,0.07 -0.18,0.04 -0.36,0.07 -0.54,0.09 -0.15,0.02 -0.31,0 -0.46,0 -0.02,-0.05 -0.06,-0.08 -0.11,-0.09 -0.02,0 -0.05,0 -0.07,0 -0.03,0 -0.06,0 -0.09,0.01 -0.05,0.01 -0.09,0.02 -0.14,0.03 -0.09,0.02 -0.18,0.04 -0.28,0.05 -0.01,0 -0.02,0.02 -0.03,0.03 -0.01,0.01 -0.03,0.01 -0.03,0.03 -0.03,0.04 -0.05,0.09 -0.04,0.13 0.02,0.06 0.08,0.09 0.14,0.1 0,0 0,0 0.01,0 0.01,0 0.02,0 0.02,0 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.01,0 0.37,0.04 0.75,0.05 1.13,0.01 0.19,-0.02 0.38,-0.05 0.56,-0.09 0.17,-0.04 0.43,-0.06 0.54,-0.21 0.05,-0.07 -0.01,-0.16 -0.09,-0.19 z"
+   id="path880" />
+			<path
+   class="st1"
+   d="m 284.1,409.8 c 0.24,0 0.49,0 0.73,0 0.12,0 0.24,0 0.36,0 0.06,0 0.12,0 0.18,0 0.03,0 0.06,0 0.08,0 0.04,0 0.08,-0.02 0.12,-0.04 0.08,-0.03 0.08,-0.17 0,-0.21 -0.07,-0.03 -0.12,-0.04 -0.2,-0.04 -0.06,0 -0.11,0 -0.17,0 -0.12,0 -0.25,0 -0.37,0 -0.24,0 -0.49,0 -0.73,0 -0.2,-0.01 -0.2,0.29 0,0.29 z"
+   id="path882" />
+			<path
+   class="st1"
+   d="m 287.67,409.67 c 0.18,0 0.37,0 0.55,0 0.19,0 0.37,0 0.55,-0.06 0.07,-0.02 0.07,-0.13 0,-0.15 -0.18,-0.06 -0.37,-0.06 -0.55,-0.06 -0.18,0 -0.37,0 -0.55,0 -0.16,0.01 -0.16,0.27 0,0.27 z"
+   id="path884" />
+			<path
+   class="st1"
+   d="m 290.82,409.69 c 0.18,0 0.37,0 0.55,0.01 0.09,0 0.18,0 0.28,0 0.1,0 0.19,0 0.29,-0.03 0.12,-0.04 0.12,-0.19 0,-0.24 -0.09,-0.04 -0.19,-0.03 -0.29,-0.03 -0.09,0 -0.18,0 -0.28,0 -0.18,0 -0.37,0 -0.55,0.01 -0.19,-0.02 -0.19,0.28 0,0.28 z"
+   id="path886" />
+			<path
+   class="st1"
+   d="m 293.64,409.48 c 0.23,-0.02 0.45,-0.04 0.68,-0.06 0.11,-0.01 0.23,-0.02 0.34,-0.03 0.1,-0.02 0.28,-0.01 0.28,-0.16 0,-0.16 -0.19,-0.13 -0.3,-0.13 -0.11,0 -0.22,0.02 -0.33,0.03 -0.23,0.02 -0.45,0.05 -0.68,0.07 -0.08,0.01 -0.14,0.06 -0.14,0.14 0.01,0.07 0.07,0.14 0.15,0.14 z"
+   id="path888" />
+			<path
+   class="st1"
+   d="m 297.76,408.42 c -0.07,0.01 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.15 0.14,0.14 0.23,-0.02 0.45,-0.03 0.68,-0.05 0.11,-0.01 0.22,-0.01 0.33,-0.03 0.1,-0.01 0.29,-0.05 0.29,-0.17 0,-0.13 -0.19,-0.14 -0.29,-0.14 -0.11,0 -0.22,0.02 -0.33,0.03 -0.23,0.03 -0.46,0.06 -0.68,0.08 z"
+   id="path890" />
+			<path
+   class="st1"
+   d="m 294.31,400.51 c 0.06,-0.01 0.12,-0.07 0.13,-0.13 0.01,-0.06 0.01,-0.09 -0.02,-0.14 -0.03,-0.05 -0.1,-0.1 -0.16,-0.09 -0.26,0.03 -0.52,0.08 -0.78,0.12 -0.04,0.01 -0.09,0.05 -0.11,0.08 -0.02,0.04 -0.03,0.1 -0.02,0.14 0.01,0.04 0.04,0.09 0.08,0.11 0.05,0.02 0.09,0.03 0.14,0.02 0.12,-0.02 0.24,-0.03 0.37,-0.05 0.12,-0.03 0.25,-0.04 0.37,-0.06 z"
+   id="path892" />
+			<path
+   class="st1"
+   d="M 294.07,403.04 C 294.04,403.01 294,403 293.96,403 c -0.04,0 -0.07,-0.01 -0.11,0 -0.04,0 -0.07,0.01 -0.11,0.01 -0.07,0.01 -0.14,0.02 -0.22,0.03 -0.04,0 -0.08,0.01 -0.11,0.03 -0.02,0.01 -0.03,0.02 -0.05,0.04 -0.05,0.05 -0.07,0.12 -0.06,0.19 0.01,0.06 0.04,0.11 0.08,0.15 0.05,0.04 0.13,0.07 0.2,0.04 0.07,-0.03 0.14,-0.06 0.21,-0.08 0.03,-0.01 0.07,-0.03 0.1,-0.04 0.03,-0.01 0.06,-0.02 0.08,-0.04 0.02,-0.01 0.03,-0.02 0.05,-0.03 0.05,-0.04 0.09,-0.1 0.07,-0.17 0.01,-0.05 -0.01,-0.07 -0.02,-0.09 z"
+   id="path894" />
+			<path
+   class="st1"
+   d="m 274.88,412.37 c 0.17,0 0.35,0 0.52,0.01 0.17,0 0.35,0.01 0.52,0.01 0.17,0 0.18,-0.27 0,-0.27 -0.17,0 -0.35,0 -0.52,0.01 -0.17,0 -0.35,0 -0.52,0.01 -0.16,-0.01 -0.16,0.23 0,0.23 z"
+   id="path896" />
+			<path
+   class="st1"
+   d="m 272.71,411.56 c -0.18,0.01 -0.18,0.3 0,0.29 0.28,-0.02 0.55,-0.04 0.83,-0.06 0.14,-0.01 0.28,-0.02 0.41,-0.03 0.14,-0.01 0.28,-0.01 0.41,-0.05 0.1,-0.03 0.12,-0.2 0,-0.22 -0.14,-0.02 -0.27,-0.01 -0.41,0 -0.14,0.01 -0.28,0.02 -0.41,0.03 z"
+   id="path898" />
+			<path
+   class="st1"
+   d="m 276.18,414.6 c -0.08,0 -0.17,0 -0.25,0 -0.17,0 -0.34,0 -0.51,0 -0.08,0 -0.14,0.07 -0.14,0.14 0,0.08 0.07,0.14 0.14,0.14 0.17,0 0.34,0 0.51,0 0.08,0 0.17,0 0.25,0 0.09,0 0.19,0.01 0.27,-0.05 0.07,-0.05 0.07,-0.14 0,-0.19 -0.07,-0.05 -0.17,-0.04 -0.27,-0.04 z"
+   id="path900" />
+			<path
+   class="st1"
+   d="m 277.16,415.4 c 0.13,-0.01 0.25,-0.03 0.38,-0.04 0.06,-0.01 0.12,-0.01 0.19,-0.02 0.07,-0.01 0.15,-0.01 0.22,-0.04 0.07,-0.02 0.11,-0.08 0.1,-0.15 -0.01,-0.07 -0.07,-0.12 -0.14,-0.12 -0.07,0 -0.14,0.01 -0.22,0.03 l -0.18,0.03 c -0.13,0.02 -0.25,0.04 -0.38,0.06 -0.06,0.01 -0.1,0.08 -0.09,0.14 0,0.05 0.05,0.11 0.12,0.11 z"
+   id="path902" />
+			<path
+   class="st1"
+   d="m 277.69,416.86 c 0.09,-0.01 0.19,-0.01 0.28,-0.05 0.1,-0.05 0.07,-0.21 -0.03,-0.23 -0.08,-0.02 -0.18,0 -0.26,0.01 -0.08,0.01 -0.16,0.02 -0.24,0.03 -0.16,0.02 -0.33,0.04 -0.49,0.06 -0.07,0.01 -0.13,0.05 -0.13,0.13 0,0.06 0.06,0.13 0.13,0.13 0.17,-0.02 0.33,-0.03 0.5,-0.05 0.07,-0.02 0.15,-0.02 0.24,-0.03 z"
+   id="path904" />
+			<path
+   class="st1"
+   d="m 278.5,417.66 c -0.02,-0.02 -0.03,-0.04 -0.06,-0.06 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 -0.1,-0.05 -0.22,-0.08 -0.34,-0.08 -0.23,-0.01 -0.45,0.07 -0.61,0.24 -0.05,0.05 -0.05,0.14 0,0.19 0.05,0.05 0.14,0.05 0.19,0 0.02,-0.01 0.03,-0.03 0.05,-0.04 -0.02,0.02 0.01,-0.01 0.01,-0.01 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.02 0.06,-0.03 0,0 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.01,0 0.02,0 0.03,-0.01 0,0 0.04,-0.01 0.02,0 -0.02,0 0.02,0 0.02,0 0.01,0 0.03,0 0.04,0 0.02,0 0.04,0 0.06,0 0.01,0 0.02,0 0.03,0 0,0 0,0 0,0 0,0 0,0 0,0 0.02,0 0.04,0.01 0.06,0.01 0.04,0.01 0.08,0.02 0.11,0.04 0.01,0 0.02,0.01 0.02,0.01 0.01,0 0.02,0.01 0.02,0.01 0.02,0.01 0.04,0.02 0.06,0.02 0.02,0 0,0 0.01,0 0.05,0.02 0.08,0.05 0.14,0.06 0.05,0 0.08,-0.04 0.09,-0.09 0,-0.07 -0.05,-0.12 -0.08,-0.17 0.03,0.02 0.01,0 0.01,-0.01 z"
+   id="path906" />
+			<path
+   class="st1"
+   d="m 277.98,419.7 h -0.5 c -0.07,0 -0.14,0.06 -0.14,0.14 0,0.07 0.06,0.14 0.14,0.14 h 0.5 c 0.17,0 0.34,0.02 0.51,-0.03 0.11,-0.03 0.11,-0.19 0,-0.22 -0.17,-0.05 -0.34,-0.03 -0.51,-0.03 z"
+   id="path908" />
+			<path
+   class="st1"
+   d="m 277.48,411.94 c 0.63,-0.01 1.26,-0.01 1.88,-0.13 0.15,-0.03 0.1,-0.25 -0.03,-0.26 -0.61,-0.05 -1.23,0.03 -1.84,0.08 -0.2,0.03 -0.2,0.32 -0.01,0.31 z"
+   id="path910" />
+			<path
+   class="st1"
+   d="m 282.36,411.72 c 0.29,0 0.58,0 0.87,0 0.14,0 0.28,-0.01 0.43,-0.02 0.15,-0.01 0.3,-0.01 0.44,-0.03 0.1,-0.01 0.1,-0.15 0,-0.16 -0.15,-0.02 -0.29,-0.02 -0.44,-0.03 -0.14,-0.01 -0.28,-0.02 -0.43,-0.02 -0.29,0 -0.58,0 -0.87,0 -0.16,0.02 -0.16,0.26 0,0.26 z"
+   id="path912" />
+			<path
+   class="st1"
+   d="m 293.42,412.39 c 0.19,0 0.19,-0.29 0,-0.29 -0.19,0 -0.19,0.29 0,0.29 z"
+   id="path914" />
+			<path
+   class="st1"
+   d="m 291.63,413.65 c -0.18,0.01 -0.35,0.02 -0.53,0.03 -0.35,0.02 -0.7,0.04 -1.05,0.05 -0.16,0.01 -0.16,0.25 0,0.25 0.35,-0.02 0.7,-0.03 1.05,-0.05 0.18,-0.01 0.35,-0.02 0.53,-0.03 0.17,-0.01 0.35,0 0.51,-0.05 0.09,-0.02 0.11,-0.18 0,-0.2 -0.17,-0.03 -0.33,-0.01 -0.51,0 z"
+   id="path916" />
+			<path
+   class="st1"
+   d="m 291.03,415.16 c -0.01,0 -0.02,0 -0.02,0 -0.01,0 -0.02,0.01 -0.03,0.01 h -0.03 c -0.02,0 -0.05,0 -0.07,0.01 -0.02,0 -0.04,0.02 -0.06,0.02 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.02,0.01 -0.04,0.04 -0.04,0.07 0,0.03 0.01,0.06 0.04,0.07 0.01,0.01 0.02,0.01 0.04,0.02 0.02,0.01 0.04,0.02 0.06,0.03 0.02,0.01 0.05,0 0.07,0.01 0.01,0 0.02,0 0.03,0 0.01,0 0.02,0.01 0.03,0.01 0.01,0 0.02,0 0.02,0 0.03,0 0.07,-0.02 0.09,-0.04 0.02,-0.02 0.04,-0.06 0.04,-0.09 0,-0.03 -0.01,-0.07 -0.04,-0.09 -0.02,-0.04 -0.05,-0.06 -0.09,-0.05 z"
+   id="path918" />
+			<path
+   class="st1"
+   d="m 289.17,416.38 c -0.43,0.01 -0.85,0.03 -1.28,0.04 -0.17,0.01 -0.17,0.28 0,0.27 0.43,-0.02 0.85,-0.04 1.28,-0.05 0.21,-0.01 0.43,-0.02 0.64,-0.03 0.14,-0.01 0.28,-0.01 0.41,-0.03 -0.01,0.06 0.06,0.11 0.11,0.08 0.06,-0.03 0.1,-0.08 0.14,-0.13 0.05,-0.05 0.03,-0.15 -0.04,-0.16 -0.41,-0.06 -0.85,-0.01 -1.26,0.01 z"
+   id="path920" />
+			<path
+   class="st1"
+   d="m 289.22,417.79 c -0.04,-0.01 -0.07,-0.03 -0.12,-0.04 -0.04,-0.01 -0.09,0 -0.13,0 -0.07,0 -0.14,0.01 -0.22,0.01 -0.16,0.01 -0.31,0.02 -0.47,0.03 -0.31,0.02 -0.63,0.04 -0.94,0.06 -0.19,0.01 -0.19,0.3 0,0.29 0.32,-0.02 0.64,-0.03 0.96,-0.05 0.16,-0.01 0.31,-0.02 0.47,-0.02 0.08,0 0.16,-0.01 0.23,-0.02 0.04,0 0.08,0 0.11,-0.01 0.04,-0.01 0.08,-0.04 0.12,-0.06 0.1,-0.04 0.07,-0.17 -0.01,-0.19 z"
+   id="path922" />
+			<path
+   class="st1"
+   d="m 288.13,419.07 c -0.03,0 -0.06,0.01 -0.09,0.01 -0.07,0.01 -0.15,0.01 -0.22,0.02 -0.13,0.02 -0.26,0.04 -0.39,0.06 -0.07,0.01 -0.12,0.11 -0.1,0.17 0.03,0.08 0.09,0.11 0.17,0.1 0.13,-0.02 0.26,-0.04 0.39,-0.06 0.06,-0.01 0.13,-0.02 0.19,-0.04 0.03,-0.01 0.06,-0.01 0.09,-0.02 0.04,-0.01 0.07,-0.02 0.11,-0.04 0.07,-0.05 0.06,-0.16 -0.02,-0.19 -0.06,-0.01 -0.09,-0.01 -0.13,-0.01 z"
+   id="path924" />
+			<path
+   class="st1"
+   d="m 290.31,419.27 c -0.15,-0.03 -0.31,-0.03 -0.46,-0.03 -0.15,0 -0.29,0 -0.44,0 -0.09,0 -0.17,0.07 -0.16,0.16 0,0.09 0.07,0.16 0.16,0.16 0.15,0 0.29,0 0.44,0 0.15,0 0.31,0 0.46,-0.03 0.14,-0.01 0.14,-0.24 0,-0.26 z"
+   id="path926" />
+			<path
+   class="st1"
+   d="m 280.75,417.01 c 0,0 -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 0,0 -0.01,0 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 0,-0.01 -0.01,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 -0.01,-0.02 0,0 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,0 0,0 0,0 0,0 0.01,-0.01 0.01,-0.01 0,0 -0.01,0 -0.01,0.01 0,0 0,0 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0 0.02,-0.01 0.03,-0.02 0.03,-0.04 0,-0.02 0,-0.04 -0.01,-0.06 -0.02,-0.03 -0.06,-0.05 -0.1,-0.03 -0.06,0.03 -0.09,0.09 -0.09,0.16 0,0.06 0.02,0.12 0.06,0.17 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.01 0.04,0.02 0.06,0.02 0.01,0 0.02,0 0.04,-0.01 -0.01,0 -0.01,0 -0.02,0 0.03,0 0.07,-0.01 0.09,-0.03 0.01,-0.01 0.02,-0.03 0.02,-0.05 0,-0.02 -0.01,-0.04 -0.03,-0.05 0.01,0 0,-0.01 -0.01,-0.01 z"
+   id="path928" />
+			<path
+   class="st1"
+   d="m 283.36,417.84 c 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 0,0 -0.01,-0.01 -0.01,-0.01 0,0 0,0 0,-0.01 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.02 0,0.01 0,0 0,0 0,-0.01 -0.01,-0.01 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.01 0,0.01 0,0 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.04 0,-0.06 0,0 0,0 0,-0.01 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0.01,-0.03 0,0 0,-0.01 0,-0.01 0.01,-0.02 0,0.01 0,0 0,-0.01 0.01,-0.02 0.02,-0.03 0.02,-0.03 0.01,-0.07 -0.02,-0.08 -0.03,-0.02 -0.07,-0.01 -0.08,0.02 -0.06,0.08 -0.08,0.18 -0.06,0.28 0.01,0.05 0.02,0.11 0.04,0.16 0.01,0.03 0.03,0.06 0.06,0.08 0.03,0.01 0.05,0.04 0.08,0.04 0.04,0 0.07,-0.03 0.07,-0.07 0,-0.02 -0.01,-0.04 -0.02,-0.05 0,-0.01 0,-0.01 0,-0.02 z"
+   id="path930" />
+			<path
+   class="st1"
+   d="m 284.42,416.74 c 0.07,0 0.07,-0.1 0,-0.1 -0.06,0 -0.06,0.1 0,0.1 z"
+   id="path932" />
+			<path
+   class="st1"
+   d="m 285.7,417.67 c 0,-0.22 -0.01,-0.43 -0.01,-0.65 0,-0.09 -0.15,-0.09 -0.15,0 -0.01,0.22 -0.01,0.43 -0.01,0.65 0,0.11 0.17,0.11 0.17,0 z"
+   id="path934" />
+			<path
+   class="st1"
+   d="m 283.83,417.07 c -0.16,0.01 -0.33,0.02 -0.49,0.03 -0.08,0.01 -0.14,0.07 -0.13,0.15 0.01,0.09 0.09,0.12 0.17,0.11 0.16,-0.02 0.32,-0.05 0.48,-0.07 0.16,-0.02 0.32,-0.04 0.48,-0.08 0.09,-0.03 0.07,-0.16 -0.02,-0.16 -0.17,-0.01 -0.33,0.01 -0.49,0.02 z"
+   id="path936" />
+			<path
+   class="st1"
+   d="m 272.93,421.92 c 0.11,0 0.23,0.01 0.34,0.01 0.06,0 0.11,0 0.17,0.01 0.03,0 0.05,0 0.08,0 0.05,0 0.09,-0.02 0.13,-0.04 0.08,-0.04 0.08,-0.18 0,-0.22 -0.04,-0.02 -0.08,-0.04 -0.13,-0.04 -0.03,0 -0.05,0 -0.08,0 -0.06,0 -0.11,0 -0.17,0.01 -0.11,0 -0.23,0.01 -0.34,0.01 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.12 0.13,0.13 z"
+   id="path938" />
+			<path
+   class="st1"
+   d="m 271.84,422.68 c 0.31,0 0.63,0 0.94,-0.02 0.08,-0.01 0.15,-0.01 0.23,-0.02 0.08,-0.01 0.16,-0.04 0.24,-0.06 0.07,-0.02 0.14,-0.03 0.21,-0.04 0.08,-0.01 0.17,-0.01 0.24,-0.05 0.06,-0.02 0.07,-0.11 0,-0.13 -0.09,-0.03 -0.19,-0.02 -0.29,-0.02 -0.1,0 -0.2,-0.02 -0.31,-0.03 0.02,0.01 0.05,0.01 0.07,0.02 -0.1,-0.05 -0.22,-0.04 -0.33,-0.04 -0.11,0 -0.23,0.01 -0.34,0.02 -0.22,0.02 -0.45,0.04 -0.67,0.07 -0.18,0.01 -0.19,0.3 0.01,0.3 z"
+   id="path940" />
+			<path
+   class="st1"
+   d="m 273.44,422.87 c 0,0.08 0.06,0.14 0.14,0.14 0.15,0 0.29,0 0.44,0 0.07,0 0.14,0 0.22,0 0.08,0 0.16,-0.01 0.24,-0.03 0.12,-0.02 0.12,-0.22 0,-0.24 -0.08,-0.01 -0.16,-0.03 -0.24,-0.03 -0.07,0 -0.14,0 -0.22,0 -0.15,0 -0.29,0 -0.44,0 -0.07,0.02 -0.15,0.09 -0.14,0.16 z"
+   id="path942" />
+			<path
+   class="st1"
+   d="m 281.31,422.06 c 0.16,0 0.31,-0.01 0.47,-0.02 0.16,-0.01 0.32,-0.02 0.48,-0.05 0.15,-0.03 0.31,-0.03 0.46,-0.08 0.09,-0.03 0.11,-0.18 0,-0.2 -0.15,-0.03 -0.31,-0.02 -0.46,-0.02 -0.16,-0.01 -0.33,0 -0.49,0 -0.16,0.01 -0.31,0.02 -0.47,0.04 -0.16,0.02 -0.32,0.06 -0.48,0.08 -0.13,0.02 -0.09,0.22 0.03,0.22 0.15,0.01 0.31,0.03 0.46,0.03 z"
+   id="path944" />
+			<path
+   class="st1"
+   d="m 284.75,421.93 c 0.33,0.01 0.65,0.01 0.98,0.02 0.16,0 0.32,0.01 0.48,0 0.15,0 0.35,0.02 0.47,-0.09 0.04,-0.04 0.04,-0.12 0,-0.16 -0.12,-0.1 -0.3,-0.08 -0.45,-0.09 -0.17,0 -0.33,0 -0.5,0 -0.33,0 -0.65,0.01 -0.98,0.02 -0.19,0.02 -0.19,0.3 0,0.3 z"
+   id="path946" />
+			<path
+   class="st1"
+   d="m 297.36,421.6 c 0.11,-0.04 0.23,-0.07 0.34,-0.11 0.06,-0.02 0.11,-0.04 0.17,-0.05 0.07,-0.02 0.17,-0.04 0.21,-0.11 0.03,-0.06 0.02,-0.15 -0.05,-0.18 -0.04,-0.02 -0.07,-0.03 -0.11,-0.02 -0.01,0 -0.03,0.01 -0.04,0.01 -0.03,0.01 -0.06,0.02 -0.09,0.03 l -0.17,0.06 c -0.11,0.04 -0.22,0.08 -0.34,0.11 -0.07,0.02 -0.12,0.1 -0.1,0.17 0.03,0.06 0.11,0.11 0.18,0.09 z"
+   id="path948" />
+			<path
+   class="st1"
+   d="m 299.06,421.81 c -0.44,0.05 -0.88,0.15 -1.32,0.21 -0.42,0.05 -0.85,0.07 -1.28,0.09 -0.87,0.04 -1.74,0.08 -2.61,0.08 -0.19,0 -0.18,0.27 0,0.29 0.89,0.07 1.77,0.09 2.66,0.02 0.44,-0.03 0.88,-0.09 1.32,-0.14 0.43,-0.05 0.86,-0.07 1.28,-0.15 0.22,-0.05 0.17,-0.43 -0.05,-0.4 z"
+   id="path950" />
+			<path
+   class="st1"
+   d="m 271.83,426.75 c -0.18,-0.14 -0.45,-0.08 -0.66,-0.07 -0.23,0.02 -0.46,0.04 -0.69,0.06 -0.23,0.02 -0.45,0.06 -0.68,0.1 -0.23,0.04 -0.47,0.05 -0.7,0.12 -0.12,0.04 -0.09,0.2 0.03,0.21 0.24,0.03 0.47,0 0.71,0 0.22,0 0.44,0 0.66,-0.01 0.22,-0.01 0.44,-0.03 0.66,-0.05 0.2,-0.02 0.52,0 0.66,-0.16 0.06,-0.05 0.08,-0.15 0.01,-0.2 z"
+   id="path952" />
+			<path
+   class="st1"
+   d="m 272.06,427.01 c 0.16,0.01 0.33,0.02 0.49,0.04 0.08,0.01 0.16,0.02 0.24,0.01 0.09,-0.01 0.19,0 0.27,-0.06 h 0.01 c 0.11,-0.04 0.11,-0.18 0,-0.22 0,0 -0.01,0 -0.01,0 -0.08,-0.05 -0.17,-0.05 -0.27,-0.06 -0.08,0 -0.16,0 -0.24,0.01 -0.16,0.02 -0.32,0.03 -0.49,0.04 -0.16,0 -0.16,0.23 0,0.24 z"
+   id="path954" />
+			<path
+   class="st1"
+   d="m 273.36,427.02 c 0.16,-0.01 0.33,-0.01 0.49,-0.02 0.09,0 0.18,-0.01 0.26,-0.03 0.08,-0.01 0.15,-0.02 0.21,-0.05 0.07,-0.02 0.15,-0.03 0.2,-0.09 0.05,-0.06 0.04,-0.14 -0.02,-0.18 -0.05,-0.04 -0.13,-0.04 -0.2,-0.04 -0.07,-0.03 -0.15,-0.02 -0.23,-0.01 -0.09,0.01 -0.18,0.01 -0.27,0.03 -0.16,0.03 -0.32,0.05 -0.48,0.08 -0.08,0.01 -0.12,0.1 -0.11,0.17 0.01,0.08 0.07,0.15 0.15,0.14 z"
+   id="path956" />
+			<path
+   class="st1"
+   d="m 294.46,426.68 c 0.26,0.05 0.53,0.02 0.8,0.01 0.13,-0.01 0.26,-0.01 0.39,-0.02 0.07,-0.01 0.14,-0.02 0.21,-0.04 0.05,-0.01 0.09,-0.03 0.13,-0.06 0.04,-0.02 0.08,-0.04 0.11,-0.09 0.02,-0.04 0.01,-0.08 -0.01,-0.11 -0.02,-0.03 -0.06,-0.04 -0.09,-0.06 -0.05,-0.04 -0.11,-0.05 -0.18,-0.05 -0.06,0 -0.12,-0.01 -0.18,-0.01 -0.13,0.01 -0.26,0.02 -0.39,0.03 -0.26,0.02 -0.53,0.03 -0.78,0.11 -0.14,0.04 -0.16,0.26 -0.01,0.29 z"
+   id="path958" />
+			<path
+   class="st1"
+   d="m 296.89,426.48 c 0.15,0.01 0.3,0.03 0.45,0.03 0.15,0 0.28,-0.04 0.42,-0.07 0.08,-0.02 0.15,0 0.22,0.03 0.01,-0.01 0.02,-0.01 0.03,0.02 0.01,0.01 0.03,0.02 0.05,0.03 0.03,0.01 0.06,0.03 0.09,0.04 0.13,0.03 0.34,0.06 0.44,-0.05 0.03,-0.03 0.05,-0.09 0.02,-0.13 -0.09,-0.12 -0.27,-0.13 -0.41,-0.12 -0.04,0 -0.09,0.01 -0.13,0.03 0.04,-0.02 -0.1,0.05 -0.05,0.03 -0.09,0.04 -0.18,0.03 -0.27,0 -0.06,-0.02 -0.11,-0.04 -0.17,-0.06 -0.07,-0.03 -0.15,-0.04 -0.23,-0.05 -0.15,-0.02 -0.31,-0.03 -0.46,-0.03 -0.08,0 -0.16,0.07 -0.16,0.16 0.01,0.07 0.08,0.13 0.16,0.14 z"
+   id="path960" />
+			<path
+   class="st1"
+   d="m 267.24,425.52 c -0.02,-0.01 -0.04,-0.02 -0.06,-0.03 -0.03,-0.02 -0.06,-0.02 -0.1,-0.03 -0.09,-0.02 -0.19,-0.04 -0.28,-0.05 -0.04,-0.01 -0.08,-0.01 -0.12,0.02 -0.03,0.02 -0.06,0.06 -0.07,0.1 -0.02,0.08 0.02,0.18 0.11,0.2 l 0.28,0.05 c 0.03,0.01 0.07,0.02 0.1,0.02 0.03,0 0.06,-0.01 0.1,-0.01 0.02,0 0.04,-0.01 0.06,-0.01 0.02,0 0.04,-0.01 0.06,-0.02 0.05,-0.02 0.08,-0.09 0.04,-0.13 -0.04,-0.06 -0.08,-0.08 -0.12,-0.11 z"
+   id="path962" />
+			<path
+   class="st1"
+   d="m 271.41,429.17 c 0.33,0 0.66,0.01 0.99,0.01 0.17,0 0.33,0.01 0.5,0 0.16,-0.01 0.33,0 0.48,-0.04 0.09,-0.02 0.09,-0.16 0,-0.18 -0.16,-0.04 -0.32,-0.03 -0.48,-0.04 -0.17,-0.01 -0.33,0 -0.5,0 -0.33,0 -0.66,0.01 -0.99,0.01 -0.15,0.01 -0.15,0.24 0,0.24 z"
+   id="path964" />
+			<path
+   class="st1"
+   d="m 275.42,429.42 h 0.83 c 0.14,0 0.28,0 0.41,-0.01 0.14,0 0.28,0 0.41,-0.03 0.11,-0.03 0.11,-0.19 0,-0.22 -0.13,-0.04 -0.27,-0.03 -0.41,-0.03 -0.14,0 -0.28,-0.01 -0.41,-0.01 h -0.83 c -0.19,0 -0.19,0.3 0,0.3 z"
+   id="path966" />
+			<path
+   class="st1"
+   d="m 279.98,429.28 c 0.09,0 0.18,0 0.28,0 0.05,0 0.09,0 0.14,0 0.05,0 0.1,-0.01 0.15,-0.02 0.09,-0.02 0.09,-0.17 0,-0.19 -0.05,-0.01 -0.1,-0.02 -0.15,-0.02 -0.05,0 -0.09,0 -0.14,0 -0.09,0 -0.18,0 -0.28,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.05 0.05,0.11 0.12,0.11 z"
+   id="path968" />
+			<path
+   class="st1"
+   d="m 293.2,428.98 c 0.2,0 0.41,0 0.61,0 0.1,0 0.2,0 0.3,0 0.11,0 0.21,-0.01 0.31,-0.03 0.12,-0.02 0.12,-0.22 0,-0.23 -0.11,-0.01 -0.21,-0.03 -0.31,-0.03 -0.1,0 -0.2,0 -0.3,0 -0.2,0 -0.41,0 -0.61,0 -0.19,0 -0.19,0.29 0,0.29 z"
+   id="path970" />
+			<path
+   class="st1"
+   d="m 297.14,428.86 c 0.11,-0.02 0.22,-0.05 0.33,-0.07 0.05,-0.01 0.11,-0.02 0.16,-0.03 l 0.08,-0.02 c 0.03,-0.01 0.06,-0.02 0.09,-0.04 0.07,-0.04 0.06,-0.16 -0.02,-0.17 -0.03,-0.01 -0.07,-0.01 -0.1,-0.01 -0.03,0 -0.05,0.01 -0.08,0.01 -0.06,0.01 -0.11,0.01 -0.17,0.02 -0.11,0.01 -0.22,0.03 -0.33,0.04 -0.04,0 -0.07,0.01 -0.1,0.04 -0.03,0.03 -0.04,0.07 -0.04,0.11 0.02,0.09 0.1,0.14 0.18,0.12 z"
+   id="path972" />
+			<path
+   class="st1"
+   d="m 299.6,428.76 c 0.46,0.01 0.92,0.01 1.38,0 0.23,-0.01 0.45,-0.02 0.68,-0.03 0.23,-0.01 0.46,0.03 0.68,-0.01 0.11,-0.02 0.11,-0.2 0,-0.22 -0.22,-0.04 -0.45,0 -0.68,-0.01 -0.23,-0.01 -0.45,-0.02 -0.68,-0.03 -0.46,-0.01 -0.92,0 -1.38,0 -0.19,0.02 -0.19,0.3 0,0.3 z"
+   id="path974" />
+			<path
+   class="st1"
+   d="m 301.88,426.29 c 0.21,0 0.21,-0.32 0,-0.32 -0.21,0 -0.21,0.32 0,0.32 z"
+   id="path976" />
+			<path
+   class="st1"
+   d="m 284.78,446.35 c -0.01,-0.03 -0.02,-0.06 -0.03,-0.08 -0.01,-0.02 -0.02,-0.04 -0.03,-0.05 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.03,-0.02 -0.07,-0.02 -0.11,-0.01 -0.03,0.01 -0.05,0.03 -0.06,0.06 -0.01,0.03 -0.02,0.08 0.01,0.11 0.01,0.01 0.02,0.03 0.03,0.04 -0.25,0.05 -0.5,0.11 -0.74,0.21 -0.13,0.06 -0.04,0.29 0.1,0.23 0.27,-0.11 0.56,-0.19 0.85,-0.21 0.15,-0.01 0.29,-0.01 0.43,-0.01 0.07,0 0.13,-0.01 0.2,-0.02 0,0.12 0,0.24 0.02,0.35 0.01,0.09 0.16,0.09 0.18,0 0.02,-0.12 0.02,-0.24 0.02,-0.36 0.01,0 0.02,0 0.03,0 0.08,-0.02 0.09,-0.14 0.02,-0.18 -0.01,-0.01 -0.03,-0.01 -0.05,-0.01 0,-0.12 -0.01,-0.25 -0.01,-0.37 0,-0.31 0,-0.63 0,-0.94 0,-0.13 -0.2,-0.13 -0.2,0 0,0.31 0,0.63 0,0.94 0,0.1 0,0.21 -0.01,0.31 -0.06,-0.01 -0.12,-0.03 -0.18,-0.04 -0.16,0 -0.31,0.02 -0.45,0.05 z"
+   id="path978" />
+			<path
+   class="st1"
+   d="m 267.62,434.6 c 0.22,-0.02 0.44,-0.04 0.66,-0.05 0.22,-0.02 0.45,-0.02 0.66,-0.11 0.07,-0.03 0.08,-0.14 0,-0.15 -0.22,-0.05 -0.44,-0.02 -0.66,0 -0.22,0.02 -0.44,0.04 -0.66,0.06 -0.07,0.01 -0.13,0.05 -0.13,0.13 0,0.06 0.06,0.13 0.13,0.12 z"
+   id="path980" />
+			<path
+   class="st1"
+   d="m 270.87,434.58 c 0.14,0 0.14,-0.22 0,-0.22 -0.14,0 -0.14,0.22 0,0.22 z"
+   id="path982" />
+			<path
+   class="st1"
+   d="m 266.55,435.49 c -0.34,-0.07 -0.68,-0.08 -1.03,-0.07 -0.35,0 -0.7,0 -1.05,0 -0.19,0 -0.19,0.29 0,0.29 0.35,0 0.7,0 1.05,0 0.35,0 0.69,0 1.03,-0.07 0.07,-0.03 0.07,-0.14 0,-0.15 z"
+   id="path984" />
+			<path
+   class="st1"
+   d="m 268.27,435.53 c -0.18,0 -0.18,0.28 0,0.28 0.18,-0.01 0.18,-0.28 0,-0.28 z"
+   id="path986" />
+			<path
+   class="st1"
+   d="m 269.89,435.58 c 0.44,0.01 0.88,0.01 1.33,0.02 0.22,0 0.44,0.01 0.66,0 0.1,0 0.2,-0.01 0.31,-0.02 0.11,-0.01 0.23,-0.01 0.33,-0.04 0.09,-0.03 0.09,-0.15 0,-0.19 -0.1,-0.04 -0.22,-0.03 -0.33,-0.04 -0.1,-0.01 -0.2,-0.02 -0.31,-0.02 -0.22,0 -0.44,0 -0.66,0 -0.44,0.01 -0.88,0.01 -1.33,0.02 -0.17,0.01 -0.17,0.27 0,0.27 z"
+   id="path988" />
+			<path
+   class="st1"
+   d="m 274.77,435.56 c 0.09,0 0.18,0 0.28,0 0.05,0 0.09,0 0.14,0 0.05,0 0.1,-0.01 0.16,-0.02 0.09,-0.02 0.09,-0.17 0,-0.18 -0.05,-0.01 -0.1,-0.02 -0.16,-0.02 -0.05,0 -0.09,0 -0.14,0 -0.09,0 -0.18,0 -0.28,0 -0.06,0 -0.12,0.05 -0.12,0.12 0.01,0.05 0.06,0.1 0.12,0.1 z"
+   id="path990" />
+			<path
+   class="st1"
+   d="m 277.37,435.69 c 0.18,0 0.37,0.01 0.55,0.01 0.09,0 0.18,0 0.28,0 0.1,0 0.19,-0.01 0.29,-0.03 0.12,-0.02 0.12,-0.22 0,-0.24 -0.1,-0.02 -0.19,-0.03 -0.29,-0.03 -0.09,0 -0.18,0 -0.28,0 -0.18,0 -0.37,0.01 -0.55,0.01 -0.16,0.02 -0.16,0.28 0,0.28 z"
+   id="path992" />
+			<path
+   class="st1"
+   d="m 281.06,435.55 c 0.13,0 0.13,-0.2 0,-0.2 -0.13,0 -0.13,0.2 0,0.2 z"
+   id="path994" />
+			<path
+   class="st1"
+   d="m 273.8,436.87 c 1.19,0.02 2.38,0.08 3.57,0.05 0.59,-0.02 1.17,-0.05 1.76,-0.04 0.58,0.01 1.16,0.06 1.73,-0.06 0.06,-0.01 0.06,-0.12 0,-0.13 -0.55,-0.11 -1.12,-0.06 -1.68,-0.06 -0.6,0.01 -1.21,-0.02 -1.81,-0.04 -1.19,-0.03 -2.38,0.02 -3.57,0.05 -0.15,0 -0.15,0.22 0,0.23 z"
+   id="path996" />
+			<path
+   class="st1"
+   d="m 282.47,437.09 c 0.09,0 0.18,0 0.28,0 h 0.14 c 0.05,0 0.1,-0.01 0.16,-0.02 0.09,-0.02 0.09,-0.17 0,-0.18 -0.05,-0.01 -0.1,-0.02 -0.16,-0.02 h -0.14 -0.28 c -0.06,0 -0.12,0.06 -0.12,0.12 0,0.04 0.05,0.1 0.12,0.1 z"
+   id="path998" />
+			<path
+   class="st1"
+   d="m 284.24,437.09 c 0.18,-0.04 0.37,-0.07 0.55,-0.11 0.09,-0.02 0.18,-0.04 0.27,-0.07 0.09,-0.03 0.18,-0.05 0.27,-0.09 0.08,-0.04 0.03,-0.14 -0.04,-0.15 -0.09,-0.01 -0.18,0.01 -0.28,0.02 -0.1,0.01 -0.19,0.02 -0.29,0.04 -0.18,0.04 -0.37,0.08 -0.55,0.12 -0.07,0.01 -0.1,0.09 -0.09,0.15 0.02,0.07 0.09,0.1 0.16,0.09 z"
+   id="path1000" />
+			<path
+   class="st1"
+   d="m 286.59,436.85 c 0.12,0 0.12,-0.19 0,-0.19 -0.12,-0.01 -0.12,0.19 0,0.19 z"
+   id="path1002" />
+			<path
+   class="st1"
+   d="m 273.47,437.73 c 0.61,-0.03 1.23,-0.07 1.84,-0.1 0.18,-0.01 0.18,-0.3 0,-0.29 -0.61,0.03 -1.23,0.07 -1.84,0.11 -0.18,0.02 -0.18,0.29 0,0.28 z"
+   id="path1004" />
+			<path
+   class="st1"
+   d="m 291.36,437.3 c 0.26,0.01 0.52,0.01 0.77,0.02 0.13,0 0.26,0.01 0.39,0.01 0.13,0 0.26,0.01 0.39,-0.02 0.11,-0.03 0.11,-0.19 0,-0.22 -0.13,-0.04 -0.26,-0.02 -0.39,-0.02 -0.13,0 -0.26,0 -0.39,0.01 -0.26,0.01 -0.52,0.01 -0.77,0.02 -0.14,-0.03 -0.14,0.19 0,0.2 z"
+   id="path1006" />
+			<path
+   class="st1"
+   d="m 295.05,437.39 c 0.55,-0.02 1.1,0 1.65,-0.04 0.57,-0.04 1.13,-0.12 1.7,-0.15 0.55,-0.02 1.1,-0.01 1.65,-0.04 0.26,-0.01 0.52,-0.02 0.78,-0.07 0.28,-0.05 0.55,-0.14 0.84,-0.19 0.03,-0.01 0.02,-0.05 -0.01,-0.05 -0.28,-0.02 -0.57,-0.08 -0.85,-0.1 -0.27,-0.02 -0.54,0.01 -0.8,0.02 -0.55,0.03 -1.1,0.1 -1.65,0.14 -0.53,0.04 -1.07,0.02 -1.6,0.04 -0.57,0.02 -1.13,0.1 -1.7,0.15 -0.19,0.02 -0.2,0.3 -0.01,0.29 z"
+   id="path1008" />
+			<path
+   class="st1"
+   d="m 302.99,436.76 c -0.03,0 -0.06,-0.01 -0.09,-0.01 -0.04,0 -0.06,-0.02 -0.1,-0.02 -0.03,0 -0.06,0 -0.1,0 -0.13,0 -0.26,0.01 -0.39,0.01 -0.06,0 -0.13,0.06 -0.12,0.12 0,0.07 0.05,0.12 0.12,0.12 0.13,0 0.26,0.01 0.39,0.01 0.03,0 0.06,0 0.1,0 0.04,0 0.07,-0.01 0.1,-0.02 0.07,-0.01 0.14,-0.01 0.21,-0.04 0.05,-0.02 0.05,-0.12 0,-0.14 -0.04,-0.02 -0.07,-0.03 -0.12,-0.03 z"
+   id="path1010" />
+			<path
+   class="st1"
+   d="m 304.39,436.78 c -0.07,-0.01 -0.14,-0.02 -0.21,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,0 -0.02,0.01 -0.04,0.02 -0.05,0.03 -0.02,0.02 -0.03,0.05 -0.03,0.08 0,0.03 0.01,0.06 0.03,0.08 0.01,0.01 0.03,0.02 0.05,0.03 0.02,0.01 0.04,0.01 0.06,0 0.07,-0.01 0.14,-0.02 0.21,-0.03 l 0.02,-0.01 c 0.01,-0.01 0.02,-0.01 0.02,-0.02 0.01,-0.01 0.02,-0.03 0.02,-0.05 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.02 -0.03,-0.04 -0.05,-0.04 z"
+   id="path1012" />
+			<path
+   class="st1"
+   d="m 304.98,436.86 c 0.01,0.07 0.07,0.14 0.15,0.13 0.15,-0.02 0.31,-0.03 0.47,-0.05 0.07,-0.01 0.14,-0.03 0.22,-0.05 0.07,-0.02 0.14,-0.04 0.21,-0.07 0.11,-0.04 0.08,-0.19 -0.03,-0.19 -0.07,0 -0.15,-0.01 -0.22,-0.01 -0.07,0 -0.15,0 -0.22,0.01 -0.16,0.01 -0.31,0.04 -0.47,0.07 -0.08,0.01 -0.12,0.09 -0.11,0.16 z"
+   id="path1014" />
+			<path
+   class="st1"
+   d="m 306.87,436.85 c 0.02,0 0.04,0 0.06,0 0.01,0 0.03,0 0.04,0 0.01,0 0.02,-0.01 0.03,-0.01 0.01,0 0.02,-0.01 0.02,-0.01 0.03,-0.01 0.04,-0.05 0.04,-0.07 0,-0.02 -0.02,-0.06 -0.04,-0.07 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.04,0 -0.06,0 -0.04,0 -0.08,0 -0.11,0 -0.02,0 -0.05,0.01 -0.07,0.03 -0.02,0.02 -0.03,0.04 -0.03,0.07 0,0.05 0.04,0.09 0.1,0.1 0.02,-0.02 0.06,-0.02 0.1,-0.02 z"
+   id="path1016" />
+			<path
+   class="st1"
+   d="m 291.79,435.12 c 0.39,0.02 0.77,0.06 1.16,0.09 0.19,0.02 0.39,0.04 0.58,0.04 0.19,0 0.39,0.02 0.57,-0.02 0.14,-0.03 0.12,-0.22 0,-0.26 -0.18,-0.06 -0.38,-0.06 -0.57,-0.07 -0.19,-0.01 -0.39,-0.01 -0.58,-0.01 -0.39,-0.01 -0.77,0 -1.16,-0.02 -0.15,0 -0.15,0.24 0,0.25 z"
+   id="path1018" />
+			<path
+   class="st1"
+   d="m 296.67,435.37 c 0.21,-0.02 0.41,-0.03 0.62,-0.06 0.1,-0.01 0.2,-0.02 0.3,-0.04 0.11,-0.01 0.23,-0.01 0.32,-0.07 0.08,-0.05 0.06,-0.16 -0.03,-0.19 -0.1,-0.03 -0.21,-0.01 -0.31,0 -0.1,0.01 -0.2,0.01 -0.3,0.02 -0.2,0.01 -0.41,0.04 -0.61,0.05 -0.08,0.01 -0.14,0.06 -0.14,0.14 0.01,0.08 0.08,0.16 0.15,0.15 z"
+   id="path1020" />
+			<path
+   class="st1"
+   d="m 298.84,435.14 c 0.22,0.01 0.44,0.02 0.66,0.02 0.11,0 0.22,0 0.33,-0.01 0.11,-0.01 0.23,-0.02 0.34,-0.06 0.08,-0.03 0.08,-0.14 0,-0.17 -0.1,-0.04 -0.23,-0.05 -0.34,-0.06 -0.11,-0.01 -0.22,-0.01 -0.33,-0.01 -0.22,0 -0.44,0.01 -0.66,0.02 -0.16,0.02 -0.16,0.27 0,0.27 z"
+   id="path1022" />
+			<path
+   class="st1"
+   d="m 300.9,435.2 c 0.32,-0.01 0.64,0 0.96,-0.01 0.16,-0.01 0.31,-0.02 0.47,-0.04 0.09,-0.01 0.16,-0.04 0.24,-0.05 0.08,-0.01 0.15,-0.04 0.23,-0.07 0.09,-0.04 0.05,-0.17 -0.02,-0.19 -0.08,-0.03 -0.16,-0.04 -0.24,-0.04 -0.07,0 -0.14,-0.03 -0.22,-0.03 -0.16,0 -0.31,0 -0.47,0.02 -0.31,0.03 -0.63,0.07 -0.94,0.1 -0.22,0 -0.22,0.31 -0.01,0.31 z"
+   id="path1024" />
+			<path
+   class="st1"
+   d="m 304.04,434.97 c 0.13,0 0.26,0 0.39,0.01 0.07,0 0.13,0 0.2,-0.01 0.03,0 0.06,0 0.09,0 0.02,0 0.05,0 0.07,-0.01 0.03,-0.01 0.05,-0.02 0.07,-0.04 0.09,-0.06 0.09,-0.17 0,-0.23 -0.02,-0.01 -0.03,-0.02 -0.05,-0.03 -0.03,-0.01 -0.06,-0.01 -0.09,-0.02 -0.03,0 -0.06,0 -0.09,0 -0.07,0 -0.13,-0.01 -0.2,-0.01 -0.13,0 -0.26,0 -0.39,0.01 -0.09,0 -0.17,0.08 -0.17,0.17 0.01,0.08 0.08,0.15 0.17,0.16 z"
+   id="path1026" />
+			<path
+   class="st1"
+   d="m 303.61,437.93 c -0.16,0 -0.16,0.25 0,0.25 0.16,0 0.16,-0.25 0,-0.25 z"
+   id="path1028" />
+			<path
+   class="st1"
+   d="m 306.65,438.21 0.35,-0.04 c 0.03,0 0.06,-0.01 0.08,-0.01 0.05,-0.01 0.1,0 0.14,-0.03 0.01,0 0,0 0.01,-0.01 0,0 0,0 0,0 0.02,0 0.03,-0.01 0.05,-0.02 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.03,-0.01 0.04,-0.04 0.06,-0.06 0.02,-0.04 0.02,-0.1 -0.02,-0.13 -0.02,-0.02 -0.04,-0.04 -0.07,-0.04 -0.02,-0.01 -0.04,0 -0.06,0 -0.01,0 -0.03,0 -0.04,0 0,0 -0.01,0 -0.01,0 0,0 0,0 -0.01,0 -0.05,-0.01 -0.1,0 -0.15,0.01 -0.03,0.01 -0.05,0.01 -0.08,0.02 -0.12,0.02 -0.23,0.04 -0.35,0.07 -0.07,0.01 -0.11,0.09 -0.1,0.15 0.01,0.05 0.07,0.11 0.14,0.11 z"
+   id="path1030" />
+			<path
+   class="st1"
+   d="m 301.88,436.33 c 0.55,-0.01 1.11,-0.03 1.66,-0.04 0.54,-0.01 1.09,0.01 1.62,-0.1 0.12,-0.02 0.08,-0.19 -0.03,-0.2 -0.54,-0.07 -1.09,-0.01 -1.63,0.02 -0.54,0.03 -1.08,0.05 -1.63,0.07 -0.15,0.01 -0.15,0.26 0.01,0.25 z"
+   id="path1032" />
+			<path
+   class="st1"
+   d="m 266.94,443.54 c -0.05,-0.02 -0.09,-0.03 -0.15,-0.04 -0.05,0 -0.09,-0.01 -0.14,-0.01 -0.18,-0.02 -0.37,-0.03 -0.55,-0.05 -0.08,-0.01 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.13 0.14,0.14 0.18,0.02 0.37,0.04 0.55,0.06 0.04,0 0.08,0.01 0.13,0.01 0.05,0 0.1,-0.01 0.15,-0.01 0.09,-0.01 0.18,-0.01 0.27,-0.02 0.08,-0.01 0.06,-0.12 0,-0.14 -0.08,-0.03 -0.17,-0.05 -0.26,-0.08 z"
+   id="path1034" />
+			<path
+   class="st1"
+   d="m 266.32,444.35 c -0.13,0 -0.13,0.2 0,0.2 0.13,0 0.13,-0.2 0,-0.2 z"
+   id="path1036" />
+			<path
+   class="st1"
+   d="m 266.91,445.76 c -0.01,0 -0.03,-0.01 -0.04,-0.01 -0.01,0 -0.03,-0.01 0,0 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -0.05,-0.03 -0.08,-0.05 -0.01,0 -0.01,-0.01 -0.02,-0.01 0.03,0.02 0.01,0.01 0,0 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.02,-0.02 -0.04,-0.04 -0.06,-0.06 0,0 -0.01,-0.01 -0.01,-0.01 0,0 0,0 0,0 -0.01,-0.01 -0.02,-0.02 -0.02,-0.04 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 0,0 0,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.03 -0.01,-0.04 0.01,0 0.02,0.01 0.02,0.01 0.03,0.01 0.06,0.01 0.08,0.01 0.01,0 0.03,0 0.04,0 0.06,0 0.12,-0.04 0.14,-0.1 0.01,-0.03 0.01,-0.06 -0.01,-0.09 -0.01,-0.03 -0.03,-0.05 -0.06,-0.07 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.04,-0.02 -0.08,-0.04 -0.12,-0.05 -0.06,-0.02 -0.12,-0.04 -0.17,-0.06 -0.04,-0.01 -0.09,0 -0.12,0.02 -0.03,0.02 -0.06,0.06 -0.07,0.09 -0.01,0.04 -0.01,0.09 0.02,0.12 0.02,0.03 0.05,0.05 0.08,0.06 -0.02,0.03 -0.06,0.05 -0.06,0.1 0.03,0.15 0.12,0.3 0.25,0.39 0.06,0.04 0.13,0.07 0.19,0.09 0.04,0.01 0.08,0.02 0.12,0.02 0.04,0 0.08,0 0.12,-0.01 0.08,-0.02 0.08,-0.15 0,-0.17 -0.04,0 -0.07,-0.01 -0.09,-0.02 z"
+   id="path1038" />
+			<path
+   class="st1"
+   d="m 268.27,442.14 c -0.04,-0.01 -0.09,-0.01 -0.13,-0.02 -0.09,-0.01 -0.18,-0.02 -0.27,-0.03 -0.19,-0.03 -0.39,-0.05 -0.58,-0.07 -0.08,-0.01 -0.17,0.08 -0.16,0.16 0,0.1 0.07,0.15 0.16,0.16 0.18,0.02 0.37,0.03 0.55,0.05 0.09,0.01 0.18,0.01 0.28,0.02 0.04,0 0.09,0.01 0.13,0.01 0.06,0 0.11,0 0.16,-0.02 0.09,-0.02 0.12,-0.18 0.03,-0.22 -0.06,-0.01 -0.11,-0.03 -0.17,-0.04 z"
+   id="path1040" />
+			<path
+   class="st1"
+   d="m 271.42,442.14 c -0.09,-0.01 -0.17,-0.01 -0.26,-0.01 -0.17,-0.01 -0.34,0 -0.51,0 -0.08,0 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 0.17,0 0.34,0 0.51,0 0.17,-0.01 0.36,0.01 0.52,-0.07 0.06,-0.03 0.06,-0.13 0,-0.16 -0.08,-0.06 -0.18,-0.07 -0.26,-0.08 z"
+   id="path1042" />
+			<path
+   class="st1"
+   d="m 272.9,442.38 c -0.03,0 -0.06,0.03 -0.07,0.06 -0.02,0.03 -0.02,0.07 -0.01,0.1 0.02,0.06 0.09,0.1 0.15,0.09 0.18,-0.05 0.36,-0.09 0.53,-0.15 0.04,-0.01 0.06,-0.05 0.06,-0.09 -0.01,-0.04 -0.04,-0.07 -0.08,-0.07 -0.2,0 -0.39,0.03 -0.58,0.06 z"
+   id="path1044" />
+			<path
+   class="st1"
+   d="m 303.11,441.6 c -0.11,0 -0.23,0 -0.34,0.01 -0.23,0 -0.45,0.01 -0.68,0.01 -0.15,0 -0.15,0.23 0,0.23 0.23,0 0.45,0.01 0.68,0.01 0.11,0 0.23,0 0.34,0.01 0.11,0 0.24,0.01 0.34,-0.04 0.07,-0.04 0.07,-0.14 0,-0.18 -0.1,-0.06 -0.24,-0.05 -0.34,-0.05 z"
+   id="path1046" />
+			<path
+   class="st1"
+   d="m 305.51,441.51 c -0.05,0 -0.11,-0.01 -0.16,-0.01 -0.11,0 -0.22,0 -0.33,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.06 0.05,0.12 0.12,0.12 0.11,0 0.22,0 0.33,0 0.05,0 0.11,0 0.16,-0.01 0.06,0 0.12,0 0.18,-0.02 0.09,-0.04 0.09,-0.15 0,-0.18 -0.05,-0.02 -0.11,-0.01 -0.18,-0.02 z"
+   id="path1048" />
+			<path
+   class="st1"
+   d="m 307.48,441.73 c 0.08,0.02 0.17,0.03 0.25,0.05 0.04,0.01 0.08,0.02 0.12,0.02 0.02,0 0.04,0.01 0.06,0.01 0.05,0.01 0.09,0 0.12,-0.03 0.01,0 0.02,-0.01 0.02,-0.01 0.03,-0.01 0.05,-0.03 0.06,-0.06 0.01,-0.03 0,-0.06 -0.02,-0.08 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.01,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.02 -0.05,-0.03 -0.07,-0.04 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.04,-0.01 -0.08,-0.01 -0.12,-0.02 -0.08,-0.01 -0.17,-0.02 -0.25,-0.04 -0.04,-0.01 -0.07,-0.01 -0.1,0.01 -0.03,0.02 -0.05,0.05 -0.06,0.08 -0.01,0.08 0.02,0.16 0.09,0.17 z"
+   id="path1050" />
+			<path
+   class="st1"
+   d="m 306.52,442.39 c 0.05,0 0.1,-0.01 0.15,-0.02 0.04,-0.01 0.07,-0.05 0.07,-0.09 0,-0.04 -0.03,-0.08 -0.07,-0.09 -0.05,-0.01 -0.1,-0.02 -0.15,-0.02 h -0.14 c -0.09,0 -0.18,0 -0.28,0 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.06 0.05,0.12 0.12,0.12 0.09,0 0.18,0 0.28,0 z"
+   id="path1052" />
+			<path
+   class="st1"
+   d="m 308.16,442.11 c -0.04,0 -0.08,0.01 -0.1,0.04 -0.03,0.03 -0.04,0.07 -0.04,0.1 0,0.04 0.01,0.08 0.04,0.1 0.03,0.03 0.06,0.05 0.1,0.04 l 0.16,-0.01 c 0.03,0 0.05,0 0.08,-0.01 0.02,0 0.04,0 0.05,-0.01 0.02,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.04,-0.02 0.06,-0.06 0.06,-0.1 0,-0.04 -0.02,-0.09 -0.06,-0.1 -0.04,-0.02 -0.08,-0.04 -0.13,-0.04 -0.03,0 -0.05,0 -0.08,0 z"
+   id="path1054" />
+			<path
+   class="st1"
+   d="m 307.76,443.26 c 0.13,-0.01 0.26,-0.02 0.39,-0.02 0.11,0 0.28,0.01 0.38,-0.05 0.04,-0.03 0.05,-0.09 0,-0.11 -0.11,-0.05 -0.25,-0.02 -0.36,-0.01 -0.13,0.02 -0.27,0.03 -0.4,0.03 -0.26,0.01 -0.53,0.03 -0.79,0.05 -0.11,0.01 -0.11,0.18 0,0.17 0.25,-0.02 0.52,-0.04 0.78,-0.06 z"
+   id="path1056" />
+			<path
+   class="st1"
+   d="m 307.21,444.24 c 0.08,0 0.22,0.01 0.27,-0.08 0.02,-0.03 0.02,-0.06 0,-0.09 -0.05,-0.08 -0.18,-0.08 -0.27,-0.08 -0.09,0 -0.17,0 -0.26,0.01 -0.18,0 -0.35,0.01 -0.53,0.01 -0.14,0 -0.14,0.21 0,0.21 0.18,0 0.35,0.01 0.53,0.01 0.09,0.01 0.18,0.01 0.26,0.01 z"
+   id="path1058" />
+			<path
+   class="st1"
+   d="m 308.06,444.12 c -0.14,0 -0.14,0.22 0,0.22 0.14,0 0.14,-0.22 0,-0.22 z"
+   id="path1060" />
+			<path
+   class="st1"
+   d="m 306.97,444.87 c -0.16,0 -0.16,0.25 0,0.25 0.16,-0.01 0.16,-0.25 0,-0.25 z"
+   id="path1062" />
+			<path
+   class="st1"
+   d="m 308.4,444.86 -0.37,0.04 c -0.24,0.03 -0.49,0.06 -0.73,0.08 -0.07,0.01 -0.13,0.06 -0.13,0.13 0,0.07 0.06,0.14 0.13,0.13 0.24,-0.02 0.49,-0.03 0.73,-0.04 0.12,0 0.24,-0.01 0.36,-0.01 0.12,0 0.28,-0.02 0.38,-0.09 0.07,-0.05 0.09,-0.16 0,-0.21 -0.1,-0.05 -0.25,-0.05 -0.37,-0.03 z"
+   id="path1064" />
+			<path
+   class="st1"
+   d="m 261.58,457.05 c 0.01,0.03 0.04,0.06 0.08,0.06 0.04,0 0.07,-0.02 0.08,-0.06 0.01,-0.02 0.01,-0.03 0.02,-0.05 0.01,-0.02 0,-0.05 0,-0.08 v -0.11 c 0,-0.02 -0.01,-0.05 -0.03,-0.07 -0.02,-0.02 -0.04,-0.03 -0.07,-0.03 -0.05,0 -0.09,0.04 -0.09,0.09 v 0.11 c 0,0.03 0,0.05 0,0.08 -0.01,0.02 0,0.04 0.01,0.06 z"
+   id="path1066" />
+			<path
+   class="st1"
+   d="m 262.94,454.33 c 0.01,0.07 0.02,0.14 0.05,0.22 0.03,0.08 0.14,0.07 0.15,-0.02 0.01,-0.14 -0.01,-0.29 -0.03,-0.43 -0.01,-0.14 -0.04,-0.29 -0.06,-0.43 -0.01,-0.05 -0.04,-0.1 -0.1,-0.1 -0.05,0 -0.11,0.05 -0.1,0.1 0.02,0.15 0.03,0.3 0.06,0.45 0.01,0.07 0.02,0.14 0.03,0.21 z"
+   id="path1068" />
+			<path
+   class="st1"
+   d="m 263.91,455.64 c 0.05,-0.16 0.04,-0.35 0.04,-0.51 0,-0.18 -0.01,-0.35 -0.01,-0.53 -0.01,-0.35 -0.02,-0.7 -0.04,-1.05 0,-0.1 -0.16,-0.1 -0.16,0 -0.01,0.35 -0.03,0.7 -0.04,1.05 0,0.18 -0.01,0.35 -0.01,0.53 0,0.16 -0.01,0.35 0.04,0.51 0.03,0.09 0.16,0.09 0.18,0 z"
+   id="path1070" />
+			<path
+   class="st1"
+   d="m 263.89,457.3 c -0.01,0.01 -0.02,0.03 -0.02,0.04 0,0.02 0.01,0.03 0.02,0.04 0.02,0.02 0.04,0.03 0.06,0.05 0.01,0.01 0.02,0.02 0.03,0.02 0.01,0.01 0.02,0.01 0.02,0.02 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.04,0.01 0.05,-0.01 0.01,-0.01 0.02,-0.03 0.01,-0.05 l -0.01,-0.02 c 0,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -0.02,-0.02 -0.03,-0.04 -0.05,-0.06 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.02,0.02 -0.04,0.02 -0.05,0.03 z"
+   id="path1072" />
+			<path
+   class="st1"
+   d="m 265.23,456.87 c -0.06,0 -0.06,0.1 0,0.1 0.06,0 0.06,-0.1 0,-0.1 z"
+   id="path1074" />
+			<path
+   class="st1"
+   d="m 266.77,455.64 c 0.02,0.09 0.15,0.09 0.17,0 0.04,-0.12 0.03,-0.26 0.04,-0.38 0.01,-0.13 0.01,-0.26 0.01,-0.39 0,-0.26 0,-0.52 0,-0.77 0,-0.17 -0.26,-0.17 -0.26,0 0,0.26 0,0.52 0,0.77 0,0.13 0,0.26 0.01,0.39 0,0.12 0,0.26 0.03,0.38 z"
+   id="path1076" />
+			<path
+   class="st1"
+   d="m 266.86,457.13 c -0.14,0 -0.14,0.21 0,0.21 0.14,0.01 0.14,-0.21 0,-0.21 z"
+   id="path1078" />
+			<path
+   class="st1"
+   d="m 268.4,458.11 c 0,0.02 0.02,0.04 0.03,0.05 0.03,0.03 0.08,0.03 0.1,0 0,0 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.03 0.03,-0.04 0,-0.01 0,-0.02 0.01,-0.03 0,-0.02 0.01,-0.04 0.01,-0.05 0.01,-0.02 0.01,-0.04 0,-0.06 -0.01,-0.02 -0.01,-0.03 -0.03,-0.05 -0.02,-0.02 -0.05,-0.03 -0.07,-0.03 -0.01,0 -0.03,0 -0.04,0.01 -0.01,0 -0.02,0.01 -0.03,0.02 -0.01,0.01 -0.02,0.03 -0.03,0.05 -0.01,0.02 -0.01,0.04 0,0.06 0,0.02 0.01,0.04 0.01,0.05 0,0.01 0,0.02 0,0.03 z"
+   id="path1080" />
+			<path
+   class="st1"
+   d="m 269.9,455.21 c 0.02,0.1 0.19,0.1 0.21,0 0.01,-0.03 0.01,-0.07 0.02,-0.1 0.01,-0.04 0,-0.07 0,-0.11 0,-0.06 0,-0.13 0,-0.19 0,-0.13 0,-0.26 0,-0.39 0,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.13 0,0.26 0,0.39 0,0.06 0,0.13 0,0.19 0,0.04 0,0.07 0,0.11 0.01,0.03 0.02,0.07 0.03,0.1 z"
+   id="path1082" />
+			<path
+   class="st1"
+   d="m 271.82,457.44 c 0.01,0.05 0.01,0.09 0.02,0.14 0.01,0.05 0.01,0.1 0.04,0.14 0.03,0.04 0.11,0.06 0.14,0 0.04,-0.08 0.02,-0.18 0.02,-0.28 0,-0.1 -0.02,-0.19 -0.03,-0.29 -0.02,-0.19 -0.04,-0.38 -0.06,-0.56 -0.01,-0.06 -0.05,-0.11 -0.11,-0.11 -0.06,0 -0.12,0.05 -0.11,0.11 l 0.06,0.56 c 0.01,0.1 0.01,0.19 0.03,0.29 z"
+   id="path1084" />
+			<path
+   class="st1"
+   d="m 272.03,458.69 0.06,0.23 c 0.01,0.04 0.02,0.08 0.03,0.11 0.01,0.04 0.02,0.07 0.05,0.1 0.02,0.02 0.04,0.03 0.06,0.04 0.05,0.03 0.11,0.01 0.14,-0.04 0.01,-0.02 0.02,-0.04 0.03,-0.07 0.01,-0.04 0.01,-0.08 0,-0.12 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.02,-0.08 -0.04,-0.15 -0.06,-0.23 -0.02,-0.07 -0.11,-0.13 -0.18,-0.1 -0.08,0.03 -0.12,0.11 -0.1,0.19 z"
+   id="path1086" />
+			<path
+   class="st1"
+   d="m 275.05,457.19 c 0.04,-0.04 0.04,-0.09 0.04,-0.14 0,-0.05 0,-0.1 0,-0.15 0,-0.09 0,-0.18 0,-0.28 0,-0.19 0,-0.38 0,-0.57 0,-0.11 -0.18,-0.11 -0.18,0 v 0.57 c 0,0.09 0,0.18 0,0.28 0,0.05 0,0.1 0,0.15 0,0.06 0,0.1 0.04,0.14 0.01,0.03 0.07,0.03 0.1,0 z"
+   id="path1088" />
+			<path
+   class="st1"
+   d="m 276.04,457.8 c 0,0 0.01,0.01 0.01,0.01 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.01,0 0.02,-0.01 0.01,0 0.02,-0.01 0.02,-0.02 0,-0.03 0.01,-0.07 0.01,-0.1 0,-0.01 0,-0.02 0,-0.03 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 -0.01,0 -0.03,0.01 -0.04,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.02 0,0.01 0,0.02 0,0.03 0.01,0.03 0.01,0.07 0.02,0.11 0,0 0,0 0,0 z"
+   id="path1090" />
+			<path
+   class="st1"
+   d="m 280.17,454.98 v 0.11 c 0,0.05 0.01,0.09 0.03,0.14 0.03,0.07 0.15,0.07 0.18,0 0.02,-0.05 0.03,-0.08 0.03,-0.14 0,-0.03 0,-0.07 0,-0.1 0,-0.08 0,-0.15 0,-0.23 0,-0.15 0,-0.3 0,-0.45 0,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.14 0,0.15 0,0.3 0,0.45 0.04,0.08 0.04,0.15 0.04,0.22 z"
+   id="path1092" />
+			<path
+   class="st1"
+   d="m 282.04,456.54 c 0.02,0 0.05,-0.03 0.05,-0.05 -0.02,-0.15 -0.04,-0.31 -0.06,-0.46 0,-0.02 -0.03,-0.05 -0.05,-0.06 -0.02,-0.01 -0.05,-0.02 -0.08,-0.01 -0.05,0.02 -0.09,0.07 -0.07,0.13 0.05,0.14 0.1,0.28 0.15,0.42 0.01,0.01 0.04,0.03 0.06,0.03 z"
+   id="path1094" />
+			<path
+   class="st1"
+   d="m 283.88,457.34 c 0.13,0 0.13,-0.21 0,-0.21 -0.13,0.01 -0.13,0.21 0,0.21 z"
+   id="path1096" />
+			<path
+   class="st1"
+   d="m 282.25,459.02 c -0.09,0 -0.09,0.13 0,0.13 0.09,0 0.09,-0.13 0,-0.13 z"
+   id="path1098" />
+			<path
+   class="st1"
+   d="m 262.91,457.13 c 0.02,0.3 0.04,0.6 0.05,0.9 0.01,0.15 0.01,0.3 0.03,0.44 0.01,0.07 0.02,0.15 0.03,0.22 0.01,0.07 0.02,0.15 0.05,0.22 0.04,0.07 0.13,0.04 0.16,-0.02 0.03,-0.07 0.02,-0.15 0.02,-0.23 0,-0.07 0.01,-0.14 0.01,-0.2 0,-0.15 -0.02,-0.3 -0.03,-0.44 -0.02,-0.29 -0.04,-0.59 -0.06,-0.88 0,-0.18 -0.27,-0.18 -0.26,-0.01 z"
+   id="path1100" />
+			<path
+   class="st1"
+   d="m 288.05,458.32 c 0.02,-0.25 0.01,-0.51 0.02,-0.76 0,-0.09 -0.14,-0.09 -0.14,0 0,0.25 0,0.51 0.02,0.76 0,0.07 0.1,0.07 0.1,0 z"
+   id="path1102" />
+			<path
+   class="st1"
+   d="m 289.19,459.72 c 0.13,0 0.13,-0.2 0,-0.2 -0.12,0.01 -0.12,0.2 0,0.2 z"
+   id="path1104" />
+			<path
+   class="st1"
+   d="m 290.33,458.58 c 0.02,0.11 0.02,0.23 0.07,0.33 0.03,0.06 0.12,0.04 0.13,-0.02 0.03,-0.1 0.02,-0.22 0.02,-0.33 0,-0.11 -0.01,-0.22 -0.01,-0.33 -0.02,-0.22 -0.03,-0.44 -0.05,-0.66 0,-0.07 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.13,0.06 -0.12,0.12 l 0.05,0.68 c 0.01,0.11 0.01,0.22 0.03,0.33 z"
+   id="path1106" />
+			<path
+   class="st1"
+   d="m 291.91,459.46 c 0.01,0.04 0.02,0.07 0.03,0.11 0.01,0.02 0.01,0.03 0.02,0.05 0.01,0.04 0.03,0.06 0.05,0.09 0.06,0.08 0.22,0.04 0.24,-0.06 0.01,-0.08 -0.01,-0.18 -0.03,-0.26 -0.02,-0.08 -0.04,-0.15 -0.06,-0.22 -0.04,-0.15 -0.08,-0.29 -0.12,-0.44 -0.02,-0.08 -0.11,-0.13 -0.19,-0.11 -0.08,0.03 -0.12,0.1 -0.11,0.19 0.04,0.15 0.07,0.3 0.11,0.44 0.03,0.06 0.05,0.14 0.06,0.21 z"
+   id="path1108" />
+			<path
+   class="st1"
+   d="m 293.45,458.85 c 0.04,0.21 0.07,0.47 0.21,0.63 0.04,0.05 0.15,0.03 0.16,-0.04 0.04,-0.22 -0.05,-0.46 -0.08,-0.67 -0.04,-0.22 -0.06,-0.45 -0.08,-0.68 -0.04,-0.46 -0.03,-0.93 0.02,-1.39 0.02,-0.18 -0.26,-0.18 -0.29,0 -0.06,0.48 -0.07,0.96 -0.04,1.44 0.03,0.24 0.06,0.47 0.1,0.71 z"
+   id="path1110" />
+			<path
+   class="st1"
+   d="m 286.74,454.9 c 0.01,0.1 0.01,0.2 0.1,0.26 0.04,0.02 0.1,0.02 0.13,-0.02 0.07,-0.07 0.05,-0.17 0.04,-0.26 -0.01,-0.07 -0.02,-0.15 -0.03,-0.22 -0.02,-0.15 -0.04,-0.31 -0.05,-0.46 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.02,0.16 0.04,0.31 0.06,0.47 0.01,0.08 0.02,0.16 0.03,0.23 z"
+   id="path1112" />
+			<path
+   class="st1"
+   d="m 286.9,456.09 c 0.02,0.07 0.06,0.14 0.12,0.19 0.06,0.05 0.13,0.1 0.21,0.09 0.08,-0.01 0.11,-0.09 0.06,-0.15 -0.01,-0.02 0.01,0.02 0,0 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 -0.01,-0.02 -0.01,-0.05 -0.02,-0.07 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.03 0,-0.04 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.02 0.01,-0.03 0,-0.01 0.01,-0.02 0.01,-0.04 0,0 0,0 0,0 0,-0.01 0.01,-0.01 0.01,-0.02 0.03,-0.06 0.02,-0.14 -0.05,-0.17 -0.06,-0.03 -0.14,-0.02 -0.17,0.05 -0.07,0.12 -0.08,0.27 -0.03,0.41 z"
+   id="path1114" />
+			<path
+   class="st1"
+   d="m 287.13,455.88 c 0,-0.02 0,-0.02 0,0 0,0 0,0 0,0 0,0 0,0 0,0 z"
+   id="path1116" />
+			<path
+   class="st1"
+   d="m 297.11,455.53 c -0.11,0 -0.11,0.17 0,0.17 0.1,0 0.1,-0.17 0,-0.17 z"
+   id="path1118" />
+			<path
+   class="st1"
+   d="m 301.77,455.65 c -0.09,0 -0.09,0.14 0,0.14 0.09,0 0.09,-0.14 0,-0.14 z"
+   id="path1120" />
+			<path
+   class="st1"
+   d="m 305.24,455.8 c 0,0 0.01,0.01 0,0 0.02,0.06 0.05,0.08 0.09,0.08 0.01,0 0.01,0 0.02,0 0,0 0,0 0,0 0.04,0 0.08,-0.02 0.09,-0.07 0,0 0,0 0,-0.01 0,0 0,-0.01 0,-0.01 0,-0.01 0.01,-0.03 0.01,-0.04 0.06,-0.19 -0.29,-0.19 -0.23,0 0.01,0.02 0.02,0.03 0.02,0.05 0,0 0,0 0,0 z"
+   id="path1122" />
+			<path
+   class="st1"
+   d="m 309.07,456.28 c 0.01,0.07 0.13,0.07 0.14,0 0.08,-0.5 0.05,-1.01 0.05,-1.51 0,-0.52 0,-1.03 0,-1.55 0,-0.15 -0.24,-0.15 -0.24,0 0,0.52 0,1.03 0,1.55 0,0.51 -0.03,1.02 0.05,1.51 z"
+   id="path1124" />
+			<path
+   class="st1"
+   d="m 296.99,458.55 c 0.02,0.13 0.03,0.27 0.1,0.38 0.06,0.09 0.21,0.08 0.24,-0.03 0.04,-0.13 0.01,-0.26 -0.01,-0.39 -0.02,-0.14 -0.04,-0.28 -0.06,-0.42 -0.04,-0.26 -0.08,-0.53 -0.11,-0.79 -0.01,-0.09 -0.12,-0.13 -0.2,-0.11 -0.09,0.03 -0.12,0.11 -0.11,0.2 0.03,0.26 0.07,0.52 0.1,0.78 0.02,0.13 0.03,0.26 0.05,0.38 z"
+   id="path1126" />
+			<path
+   class="st1"
+   d="m 229.92,474.18 c -0.03,-0.39 -0.06,-0.77 -0.08,-1.16 -0.01,-0.11 -0.18,-0.11 -0.17,0 0.03,0.39 0.05,0.77 0.08,1.16 0.01,0.19 0.03,0.39 0.04,0.58 0.02,0.18 0.02,0.37 0.08,0.55 0.01,0.04 0.08,0.05 0.09,0 0.03,-0.18 0.01,-0.37 0,-0.55 -0.01,-0.2 -0.02,-0.39 -0.04,-0.58 z"
+   id="path1128" />
+			<path
+   class="st1"
+   d="m 230.07,475.62 c 0,0.05 0,0.11 0.01,0.16 0,0.02 0.01,0.03 0.03,0.03 0.02,0 0.03,-0.01 0.03,-0.03 0,-0.05 0,-0.11 0.01,-0.16 0,-0.02 -0.02,-0.04 -0.04,-0.04 -0.02,0 -0.04,0.02 -0.04,0.04 z"
+   id="path1130" />
+			<path
+   class="st1"
+   d="m 230.84,474.62 c -0.02,-0.12 -0.19,-0.07 -0.17,0.05 0.05,0.33 0.1,0.65 0.15,0.98 0.05,0.32 0.08,0.66 0.18,0.97 0.03,0.09 0.17,0.08 0.17,-0.02 -0.01,-0.33 -0.09,-0.66 -0.15,-0.98 -0.06,-0.34 -0.12,-0.67 -0.18,-1 z"
+   id="path1132" />
+			<path
+   class="st1"
+   d="m 232.92,477.22 c -0.02,-0.14 -0.03,-0.29 -0.05,-0.43 -0.03,-0.28 -0.06,-0.56 -0.1,-0.84 -0.01,-0.13 -0.21,-0.13 -0.2,0 0.03,0.29 0.05,0.57 0.08,0.86 0.01,0.14 0.02,0.28 0.04,0.41 0.01,0.07 0.01,0.15 0.02,0.22 0.01,0.07 0,0.14 0.06,0.19 0.05,0.04 0.11,0.03 0.15,-0.02 0.05,-0.06 0.03,-0.13 0.02,-0.21 0,-0.05 -0.01,-0.12 -0.02,-0.18 z"
+   id="path1134" />
+			<path
+   class="st1"
+   d="m 234.82,478.09 c 0,-0.02 -0.01,-0.04 -0.02,-0.07 -0.03,-0.06 -0.06,-0.11 -0.09,-0.16 -0.03,-0.05 -0.1,-0.07 -0.14,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.14 0.03,0.06 0.05,0.11 0.08,0.17 0.01,0.02 0.03,0.03 0.04,0.05 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.02 0.03,0.03 0.04,0.04 0.04,0.03 0.09,-0.01 0.09,-0.05 0,-0.04 -0.01,-0.07 -0.02,-0.1 0.01,-0.01 0,-0.03 0,-0.04 z"
+   id="path1136" />
+			<path
+   class="st1"
+   d="m 237.78,477.57 c -0.01,-0.08 -0.12,-0.08 -0.12,0 0.02,0.33 0.04,0.66 0.06,1 0.02,0.32 0.02,0.66 0.1,0.97 0.01,0.05 0.07,0.03 0.08,-0.01 0.04,-0.32 -0.01,-0.66 -0.04,-0.98 -0.02,-0.33 -0.05,-0.65 -0.08,-0.98 z"
+   id="path1138" />
+			<path
+   class="st1"
+   d="m 248.54,481 c -0.03,-0.11 -0.06,-0.23 -0.09,-0.34 -0.06,-0.23 -0.12,-0.46 -0.17,-0.69 -0.04,-0.16 -0.29,-0.09 -0.25,0.07 0.06,0.23 0.11,0.46 0.17,0.69 0.03,0.11 0.05,0.23 0.08,0.34 0.03,0.11 0.06,0.24 0.15,0.32 0.04,0.03 0.1,0.01 0.12,-0.03 0.06,-0.11 0.02,-0.25 -0.01,-0.36 z"
+   id="path1140" />
+			<path
+   class="st1"
+   d="m 248.64,481.69 c -0.13,0 -0.13,0.21 0,0.21 0.14,0 0.14,-0.21 0,-0.21 z"
+   id="path1142" />
+			<path
+   class="st1"
+   d="m 250.6,481.55 c 0.1,0 0.1,-0.16 0,-0.16 -0.11,0 -0.11,0.16 0,0.16 z"
+   id="path1144" />
+			<path
+   class="st1"
+   d="m 252.51,481.6 c -0.05,-0.16 -0.11,-0.33 -0.16,-0.49 -0.02,-0.07 -0.09,-0.11 -0.16,-0.09 -0.07,0.02 -0.12,0.1 -0.09,0.16 0.06,0.17 0.11,0.33 0.17,0.5 0.03,0.08 0.05,0.16 0.08,0.24 0.03,0.09 0.07,0.17 0.11,0.26 0.02,0.05 0.09,0.07 0.14,0.05 0.05,-0.02 0.08,-0.08 0.06,-0.13 -0.02,-0.08 -0.03,-0.16 -0.06,-0.25 -0.03,-0.09 -0.06,-0.17 -0.09,-0.25 z"
+   id="path1146" />
+			<path
+   class="st1"
+   d="m 254.5,481.18 c -0.16,0 -0.16,0.25 0,0.25 0.16,0 0.16,-0.25 0,-0.25 z"
+   id="path1148" />
+			<path
+   class="st1"
+   d="m 255.29,481.74 c -0.14,-0.11 -0.28,-0.22 -0.41,-0.33 -0.03,-0.02 -0.06,-0.03 -0.09,0 -0.02,0.02 -0.03,0.07 0,0.09 0.14,0.11 0.28,0.22 0.41,0.33 0.07,0.05 0.13,0.11 0.2,0.16 0.04,0.03 0.07,0.05 0.11,0.08 0.04,0.03 0.07,0.06 0.11,0.07 0.03,0.02 0.09,-0.02 0.06,-0.06 -0.05,-0.07 -0.12,-0.12 -0.19,-0.18 -0.06,-0.05 -0.13,-0.1 -0.2,-0.16 z"
+   id="path1150" />
+			<path
+   class="st1"
+   d="m 256.94,482.65 c -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 -0.04,-0.03 -0.08,-0.06 -0.12,-0.09 -0.08,-0.06 -0.17,-0.12 -0.25,-0.17 -0.06,-0.04 -0.16,-0.01 -0.19,0.05 -0.04,0.07 -0.01,0.15 0.05,0.19 0.08,0.06 0.17,0.11 0.25,0.17 0.04,0.03 0.08,0.06 0.12,0.08 0.02,0.01 0.04,0.03 0.06,0.04 0.04,0.02 0.07,0.02 0.12,0.03 0.04,0 0.08,-0.03 0.1,-0.06 0.02,-0.04 0.02,-0.08 0,-0.11 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.03 -0.03,-0.04 -0.06,-0.06 z"
+   id="path1152" />
+			<path
+   class="st1"
+   d="m 257.91,482.67 c -0.13,0 -0.13,0.21 0,0.21 0.14,0 0.14,-0.21 0,-0.21 z"
+   id="path1154" />
+			<path
+   class="st1"
+   d="m 233.92,465.4 c 0.03,0.09 0.14,0.09 0.17,0 0.04,-0.09 0.03,-0.21 0.03,-0.31 0,-0.1 0.01,-0.19 0.01,-0.29 0,-0.21 0,-0.41 -0.01,-0.62 0,-0.41 -0.01,-0.83 -0.01,-1.24 0,-0.14 -0.22,-0.14 -0.22,0 0,0.41 -0.01,0.83 -0.01,1.24 0,0.21 0,0.41 -0.01,0.62 0,0.1 0,0.19 0.01,0.29 0.01,0.1 0,0.21 0.04,0.31 z"
+   id="path1156" />
+			<path
+   class="st1"
+   d="m 237.47,465.22 c 0.06,-0.44 0.05,-0.88 0.05,-1.31 0,-0.12 -0.19,-0.12 -0.19,0 0,0.44 -0.01,0.88 0.05,1.31 0,0.05 0.09,0.05 0.09,0 z"
+   id="path1158" />
+			<path
+   class="st1"
+   d="m 272.16,474.69 c 0.01,-0.01 0.01,-0.03 0.02,-0.04 0.01,-0.02 0.02,-0.04 0.03,-0.06 0,-0.01 0,-0.03 0.01,-0.04 0,-0.01 0.01,-0.03 0.02,-0.04 0.02,-0.06 0.04,-0.11 0.07,-0.17 0.01,-0.02 -0.01,-0.05 -0.03,-0.06 -0.02,-0.01 -0.05,0 -0.07,0.02 -0.03,0.05 -0.07,0.1 -0.1,0.15 0,0.01 -0.01,0.01 -0.01,0.02 0,0 0,0.01 -0.01,0.01 0,0.01 0,0.01 0,0 0.01,-0.01 -0.01,0.01 -0.01,0.01 0,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.04,0.06 -0.06,0.09 -0.02,0.04 -0.01,0.1 0.03,0.13 0.03,0.02 0.09,0.01 0.12,-0.04 z"
+   id="path1160" />
+			<path
+   class="st1"
+   d="m 273.7,467.81 c -0.01,0.44 -0.01,0.88 -0.02,1.33 0,0.22 0,0.43 0,0.65 0,0.1 0,0.2 0.02,0.3 0.02,0.11 0.01,0.24 0.05,0.35 0.03,0.09 0.15,0.09 0.18,0 0.04,-0.1 0.03,-0.21 0.05,-0.32 0.02,-0.11 0.02,-0.22 0.02,-0.33 0,-0.22 0.01,-0.43 0,-0.65 -0.01,-0.44 -0.01,-0.88 -0.02,-1.33 0.02,-0.19 -0.28,-0.19 -0.28,0 z"
+   id="path1162" />
+			<path
+   class="st1"
+   d="m 273.96,471.06 c 0,-0.06 -0.05,-0.11 -0.11,-0.11 -0.06,0 -0.1,0.05 -0.11,0.11 0,0.11 -0.01,0.22 -0.01,0.33 0,0.05 0,0.1 0,0.16 0,0.06 -0.01,0.13 0.01,0.19 0.02,0.05 0.06,0.09 0.11,0.08 0.05,0 0.09,-0.04 0.11,-0.08 0.02,-0.06 0.01,-0.12 0.01,-0.18 0,-0.05 0,-0.11 0,-0.16 -0.01,-0.12 -0.01,-0.23 -0.01,-0.34 z"
+   id="path1164" />
+			<path
+   class="st1"
+   d="m 295.64,470.12 c 0.04,0 0.04,-0.06 0,-0.06 -0.04,0 -0.04,0.06 0,0.06 z"
+   id="path1166" />
+			<path
+   class="st1"
+   d="m 297.27,471.95 c 0.1,0 0.1,-0.16 0,-0.16 -0.1,0.01 -0.1,0.16 0,0.16 z"
+   id="path1168" />
+			<path
+   class="st1"
+   d="m 330.16,465.05 c -0.03,-0.49 -0.05,-0.98 -0.08,-1.46 -0.01,-0.18 -0.29,-0.18 -0.28,0 0.03,0.5 0.05,0.99 0.08,1.49 0.01,0.25 0.03,0.5 0.04,0.75 0.01,0.24 0.02,0.48 0.07,0.72 0.03,0.13 0.2,0.08 0.21,-0.03 0.03,-0.25 0,-0.5 -0.01,-0.75 -0.01,-0.24 -0.02,-0.48 -0.03,-0.72 z"
+   id="path1170" />
+			<path
+   class="st1"
+   d="m 331.8,464.4 v 1.08 c 0,0.18 0,0.36 0,0.54 0,0.17 0.01,0.35 0.04,0.52 0.01,0.07 0.12,0.07 0.14,0 0.04,-0.16 0.04,-0.35 0.04,-0.52 0,-0.18 0,-0.36 0,-0.54 0,-0.36 0,-0.72 0,-1.08 0,-0.14 -0.22,-0.14 -0.22,0 z"
+   id="path1172" />
+			<path
+   class="st1"
+   d="m 333.83,463.09 c 0,-0.17 -0.27,-0.17 -0.27,0 0,0.3 0,0.61 0,0.91 0,0.15 0,0.3 0,0.46 0,0.15 -0.01,0.31 0.03,0.45 0.03,0.1 0.18,0.1 0.21,0 0.04,-0.14 0.03,-0.3 0.03,-0.45 0,-0.15 0,-0.3 0,-0.46 0,-0.3 0,-0.6 0,-0.91 z"
+   id="path1174" />
+			<path
+   class="st1"
+   d="m 331.17,444.01 c 0.03,0.24 0,0.49 0.04,0.73 0.01,0.06 0.11,0.06 0.12,0 0.05,-0.24 0.01,-0.53 -0.02,-0.78 -0.03,-0.26 -0.08,-0.51 -0.15,-0.76 -0.14,-0.51 -0.37,-1 -0.66,-1.44 -0.05,-0.08 -0.18,0 -0.13,0.07 0.29,0.43 0.51,0.9 0.64,1.4 0.08,0.26 0.13,0.52 0.16,0.78 z"
+   id="path1176" />
+			<path
+   class="st1"
+   d="m 342.48,448.25 c -0.05,0 -0.05,0.08 0,0.08 0.05,0.01 0.05,-0.08 0,-0.08 z"
+   id="path1178" />
+			<path
+   class="st1"
+   d="m 260.35,471.93 c 0,-0.34 -0.01,-0.69 -0.01,-1.03 0,-0.19 -0.29,-0.19 -0.29,0 l -0.01,1.03 c 0,0.17 0,0.33 0,0.5 0,0.09 0,0.18 0,0.27 0,0.09 0,0.18 0.07,0.24 0.06,0.05 0.12,0.05 0.18,0 0.08,-0.06 0.07,-0.15 0.07,-0.24 0,-0.09 0,-0.18 0,-0.27 -0.01,-0.16 -0.01,-0.33 -0.01,-0.5 z"
+   id="path1180" />
+			<path
+   class="st1"
+   d="m 306.38,472.24 c 0.05,0 0.05,-0.07 0,-0.07 -0.05,0 -0.05,0.07 0,0.07 z"
+   id="path1182" />
+			<path
+   class="st1"
+   d="m 248,447.81 c -0.03,-0.33 -0.05,-0.65 -0.08,-0.98 -0.01,-0.11 -0.18,-0.11 -0.18,0 0.03,0.33 0.06,0.66 0.08,0.99 0.01,0.17 0.03,0.33 0.04,0.5 0.01,0.16 0.04,0.32 0.07,0.48 0.01,0.07 0.12,0.05 0.12,-0.02 0,-0.17 0,-0.33 -0.02,-0.5 0,-0.15 -0.02,-0.31 -0.03,-0.47 z"
+   id="path1184" />
+			<path
+   class="st1"
+   d="m 245.08,452.03 c -0.16,-0.38 -0.37,-0.74 -0.63,-1.07 -0.51,-0.65 -1.19,-1.15 -1.96,-1.45 -0.12,-0.05 -0.17,0.14 -0.05,0.19 0.73,0.3 1.37,0.81 1.84,1.44 0.23,0.31 0.43,0.65 0.58,1.01 0.07,0.17 0.13,0.34 0.18,0.52 0.03,0.09 0.05,0.18 0.08,0.27 0.03,0.09 0.03,0.19 0.09,0.26 0.03,0.05 0.1,0.04 0.12,-0.02 0.06,-0.16 -0.01,-0.4 -0.04,-0.56 -0.06,-0.2 -0.13,-0.39 -0.21,-0.59 z"
+   id="path1186" />
+			<path
+   class="st1"
+   d="m 244.32,449.55 c -0.59,-0.55 -1.27,-0.98 -2.02,-1.27 -0.08,-0.03 -0.12,0.1 -0.04,0.13 0.73,0.3 1.39,0.73 1.95,1.28 0.28,0.27 0.53,0.56 0.76,0.87 0.11,0.15 0.21,0.31 0.31,0.47 0.1,0.17 0.18,0.35 0.29,0.52 0.05,0.07 0.17,0.03 0.14,-0.06 -0.11,-0.37 -0.37,-0.73 -0.6,-1.04 -0.23,-0.32 -0.5,-0.63 -0.79,-0.9 z"
+   id="path1188" />
+			<path
+   class="st1"
+   d="m 241.65,447.17 c 0.87,0.08 1.71,0.45 2.39,1 0.69,0.56 1.15,1.27 1.48,2.09 0.05,0.13 0.25,0.08 0.22,-0.06 -0.23,-0.89 -0.85,-1.69 -1.56,-2.24 -0.73,-0.57 -1.6,-0.92 -2.52,-0.99 -0.15,-0.02 -0.14,0.19 -0.01,0.2 z"
+   id="path1190" />
+			<path
+   class="st1"
+   d="m 235.05,455.42 c -0.09,0.25 -0.17,0.5 -0.26,0.74 -0.04,0.12 -0.08,0.24 -0.12,0.36 -0.02,0.07 -0.03,0.13 -0.04,0.2 -0.01,0.06 -0.03,0.12 -0.03,0.19 0,0.07 0.09,0.08 0.12,0.03 0.04,-0.06 0.06,-0.12 0.09,-0.18 0.03,-0.06 0.06,-0.12 0.08,-0.18 0.04,-0.12 0.08,-0.24 0.12,-0.36 0.08,-0.25 0.16,-0.5 0.24,-0.75 0.04,-0.12 -0.16,-0.17 -0.2,-0.05 z"
+   id="path1192" />
+			<path
+   class="st1"
+   d="m 234.64,458.46 c -0.05,0.01 -0.06,0.06 -0.06,0.1 0.05,0.27 0.09,0.54 0.14,0.8 0.01,0.06 0.08,0.09 0.13,0.07 0.06,-0.02 0.09,-0.07 0.07,-0.13 -0.06,-0.26 -0.12,-0.53 -0.18,-0.79 -0.01,-0.03 -0.06,-0.06 -0.1,-0.05 z"
+   id="path1194" />
+			<path
+   class="st1"
+   d="m 235.68,458.55 c 0,-0.51 -0.07,-1.01 -0.02,-1.52 0.05,-0.52 0.19,-1.04 0.4,-1.52 0.05,-0.12 -0.13,-0.23 -0.18,-0.11 -0.23,0.49 -0.38,1.01 -0.44,1.54 -0.07,0.52 -0.08,1.12 0.12,1.62 0.02,0.07 0.12,0.06 0.12,-0.01 z"
+   id="path1196" />
+			<path
+   class="st1"
+   d="m 235.96,457.47 c -0.07,-0.01 -0.17,0.05 -0.13,0.13 0.08,0.2 0.16,0.4 0.24,0.59 0.04,0.1 0.08,0.2 0.13,0.3 0.05,0.1 0.09,0.21 0.16,0.28 0.06,0.06 0.17,0.02 0.17,-0.07 -0.01,-0.11 -0.05,-0.2 -0.09,-0.3 -0.04,-0.11 -0.09,-0.21 -0.13,-0.31 -0.03,-0.06 -0.05,-0.11 -0.08,-0.17 0,-0.01 0.01,-0.01 0.02,-0.01 0.03,-0.1 0.01,-0.2 0.01,-0.3 0,-0.11 0.01,-0.22 0.02,-0.33 0.02,-0.21 0.07,-0.42 0.13,-0.63 0.13,-0.41 0.34,-0.8 0.64,-1.12 0.1,-0.11 -0.06,-0.28 -0.17,-0.17 -0.33,0.34 -0.58,0.75 -0.73,1.19 -0.08,0.22 -0.12,0.45 -0.15,0.68 -0.04,0.09 -0.04,0.17 -0.04,0.24 z"
+   id="path1198" />
+			<path
+   class="st1"
+   d="m 237.23,457.98 c 0.03,0.21 0.1,0.41 0.21,0.59 0.25,0.39 0.61,0.66 1.04,0.82 0.84,0.32 1.78,-0.04 2.22,-0.82 0.41,-0.74 0.37,-1.77 -0.29,-2.36 -0.37,-0.33 -0.85,-0.5 -1.34,-0.5 -0.28,0 -0.53,0.07 -0.79,0.18 -0.12,0.05 -0.22,0.12 -0.32,0.2 -0.09,0.07 -0.15,0.16 -0.19,0.26 0,0.01 0,0.02 -0.01,0.03 -0.06,0.06 -0.1,0.14 -0.16,0.21 0.07,-0.14 0.15,-0.27 0.25,-0.39 0.12,-0.14 -0.08,-0.34 -0.2,-0.2 -0.22,0.26 -0.39,0.57 -0.48,0.9 -0.09,0.32 -0.14,0.7 -0.03,1.02 0.02,0.04 0.05,0.04 0.09,0.06 z m 0.94,-0.54 c 0,0 0,-0.01 0,-0.03 0,0 0,0 0,-0.01 0.01,-0.04 0.02,-0.08 0.03,-0.12 0,-0.01 0,-0.01 0.01,-0.02 0.03,-0.02 0.07,-0.03 0.1,-0.04 0,0 0.01,0 0.01,0 0.11,0 0.22,-0.04 0.32,-0.08 0,0 0,0 0.01,0 0.04,-0.02 0.07,-0.03 0.1,-0.05 0,0 0,0 0.01,0 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.06,-0.02 0.13,-0.03 0.19,-0.04 -0.02,0 -0.04,0.01 -0.04,0 0.01,-0.01 0.04,-0.01 0.07,-0.01 0.01,0 0.02,0 0.03,0 -0.01,0 -0.01,0 -0.03,0 0.02,0 0.03,0 0.04,0 0.05,0 0.1,0 0.15,0.01 0.04,0.01 0.07,0.02 0.11,0.03 0.02,0.01 0.04,0.01 0.06,0.02 0.04,0.02 0.09,0.05 0.13,0.08 0.02,0.02 0.04,0.04 0.06,0.06 0.02,0.03 0.04,0.05 0.05,0.08 0.01,0.01 0.01,0.02 0.02,0.03 0,0.01 0,0.01 0.01,0.02 0.01,0.03 0.02,0.06 0.03,0.09 0,0.01 0.01,0.03 0.01,0.05 0,0.02 0,0.03 0,0.04 0,0.03 0,0.06 0,0.1 0,0.02 0,0.05 0,0.07 -0.01,0.06 -0.03,0.12 -0.05,0.18 0,0.01 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.02,0.04 -0.03,0.06 -0.03,0.05 -0.06,0.09 -0.08,0.13 -0.03,0.03 -0.05,0.05 -0.08,0.08 0,0 -0.01,0.01 -0.02,0.01 -0.02,0.01 -0.04,0.03 -0.05,0.03 -0.03,0.02 -0.05,0.03 -0.08,0.04 -0.06,0.02 -0.12,0.03 -0.17,0.05 -0.04,0 -0.08,0 -0.12,0 -0.02,0 -0.05,-0.01 -0.08,-0.01 -0.07,-0.01 -0.14,-0.04 -0.21,-0.06 -0.03,-0.02 -0.06,-0.03 -0.09,-0.05 -0.03,-0.02 -0.06,-0.03 -0.09,-0.05 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.04,-0.04 -0.09,-0.08 -0.13,-0.12 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.02,-0.02 -0.04,-0.06 -0.05,-0.07 -0.03,-0.06 -0.07,-0.12 -0.1,-0.17 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 0,0 0,0 0,-0.01 0,0 0,0 0,-0.01 0,0 0,0 0,0.01 -0.02,-0.03 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 0,-0.01 0,-0.03 0,-0.03 -0.01,-0.05 -0.01,-0.09 -0.01,-0.14 z"
+   id="path1200" />
+			<path
+   class="st1"
+   d="m 240.94,456.46 c 0.25,0.42 0.36,0.91 0.32,1.4 -0.02,0.23 -0.07,0.47 -0.16,0.68 -0.04,0.11 -0.1,0.22 -0.15,0.33 -0.05,0.11 -0.12,0.2 -0.16,0.31 -0.02,0.05 0.05,0.11 0.1,0.08 0.19,-0.13 0.32,-0.4 0.39,-0.61 0.09,-0.25 0.14,-0.51 0.15,-0.78 0.02,-0.52 -0.11,-1.04 -0.4,-1.48 -0.03,-0.04 -0.12,0.01 -0.09,0.07 z"
+   id="path1202" />
+			<path
+   class="st1"
+   d="m 241.91,458.63 c -0.03,0.15 -0.08,0.3 -0.13,0.45 -0.05,0.14 -0.13,0.28 -0.18,0.42 -0.02,0.05 0.06,0.1 0.09,0.06 0.21,-0.22 0.33,-0.58 0.4,-0.88 0.07,-0.33 0.09,-0.67 0.06,-1 -0.06,-0.66 -0.33,-1.29 -0.79,-1.78 -0.06,-0.07 -0.16,0.03 -0.1,0.1 0.42,0.48 0.66,1.1 0.71,1.73 0.03,0.3 0.01,0.61 -0.06,0.9 z"
+   id="path1204" />
+			<path
+   class="st1"
+   d="m 242.66,458.32 c -0.1,0.31 -0.29,0.57 -0.4,0.87 -0.03,0.07 0.07,0.1 0.12,0.07 0.25,-0.2 0.4,-0.58 0.49,-0.88 0.1,-0.33 0.15,-0.69 0.14,-1.04 -0.02,-0.69 -0.26,-1.37 -0.69,-1.9 -0.05,-0.07 -0.17,0.02 -0.12,0.09 0.41,0.53 0.61,1.17 0.61,1.84 -0.01,0.32 -0.06,0.64 -0.15,0.95 z"
+   id="path1206" />
+			<path
+   class="st1"
+   d="m 243.23,459 c -0.03,0.08 0.07,0.18 0.13,0.1 0.36,-0.46 0.49,-1.09 0.48,-1.67 -0.01,-0.6 -0.18,-1.19 -0.51,-1.69 -0.06,-0.09 -0.19,-0.01 -0.14,0.08 0.3,0.47 0.45,1.02 0.45,1.58 0,0.58 -0.18,1.09 -0.41,1.6 z"
+   id="path1208" />
+			<path
+   class="st1"
+   d="m 240.27,459.77 c 0.07,-0.07 -0.03,-0.17 -0.11,-0.11 -0.63,0.5 -1.54,0.59 -2.2,0.1 -0.04,-0.03 -0.1,0.04 -0.06,0.07 0.67,0.54 1.76,0.56 2.37,-0.06 z"
+   id="path1210" />
+			<path
+   class="st1"
+   d="m 240.98,459.63 c -0.15,0.08 -0.26,0.22 -0.4,0.32 -0.14,0.1 -0.29,0.19 -0.45,0.26 -0.33,0.15 -0.69,0.24 -1.05,0.27 -0.71,0.05 -1.47,-0.14 -2.03,-0.58 -0.09,-0.07 -0.21,0.05 -0.12,0.12 0.61,0.51 1.37,0.75 2.16,0.68 0.38,-0.03 0.76,-0.13 1.11,-0.29 0.3,-0.14 0.74,-0.37 0.89,-0.68 0.02,-0.07 -0.05,-0.14 -0.11,-0.1 z"
+   id="path1212" />
+			<path
+   class="st1"
+   d="m 239.71,461.32 c -0.28,0.11 -0.58,0.17 -0.87,0.2 -0.59,0.06 -1.2,-0.11 -1.7,-0.43 -0.07,-0.04 -0.13,0.06 -0.06,0.11 0.53,0.35 1.15,0.5 1.79,0.49 0.59,-0.01 1.3,-0.21 1.7,-0.66 0.05,-0.06 -0.01,-0.14 -0.08,-0.1 -0.27,0.13 -0.51,0.28 -0.78,0.39 z"
+   id="path1214" />
+			<path
+   class="st1"
+   d="m 237.66,455.52 c 0.3,-0.25 0.68,-0.4 1.07,-0.44 0.19,-0.02 0.38,-0.02 0.57,0.01 0.09,0.02 0.19,0.03 0.28,0.06 0.09,0.02 0.18,0.07 0.28,0.07 0.08,0.01 0.11,-0.1 0.06,-0.15 -0.07,-0.08 -0.18,-0.11 -0.28,-0.15 -0.1,-0.04 -0.2,-0.07 -0.31,-0.09 -0.22,-0.03 -0.44,-0.04 -0.66,-0.01 -0.43,0.06 -0.84,0.25 -1.17,0.54 -0.09,0.11 0.06,0.25 0.16,0.16 z"
+   id="path1216" />
+			<path
+   class="st1"
+   d="m 240.07,454.19 c -0.22,-0.08 -0.46,-0.12 -0.69,-0.13 -0.47,-0.02 -0.93,0.11 -1.32,0.37 -0.11,0.07 -0.01,0.25 0.1,0.18 0.36,-0.23 0.79,-0.34 1.22,-0.32 0.21,0.01 0.42,0.05 0.61,0.13 0.1,0.04 0.2,0.08 0.29,0.13 0.09,0.05 0.17,0.12 0.28,0.13 0.08,0.01 0.11,-0.08 0.08,-0.14 -0.04,-0.09 -0.17,-0.16 -0.25,-0.2 -0.11,-0.06 -0.21,-0.11 -0.32,-0.15 z"
+   id="path1218" />
+			<path
+   class="st1"
+   d="m 239.41,453.62 c 0.3,0.03 0.6,0.08 0.88,0.16 0.28,0.08 0.57,0.24 0.85,0.28 0.07,0.01 0.15,-0.08 0.08,-0.14 -0.22,-0.2 -0.56,-0.29 -0.84,-0.36 -0.3,-0.08 -0.61,-0.14 -0.92,-0.17 -0.64,-0.05 -1.29,0.02 -1.9,0.2 -0.1,0.03 -0.06,0.18 0.04,0.16 0.6,-0.15 1.2,-0.19 1.81,-0.13 z"
+   id="path1220" />
+			<path
+   class="st1"
+   d="m 245.72,462.4 c -0.05,0 -0.05,0.08 0,0.08 0.11,0 0.22,0 0.33,-0.01 0.04,0 0.04,-0.07 0,-0.07 -0.12,0.01 -0.22,0.01 -0.33,0 z"
+   id="path1222" />
+			<path
+   class="st1"
+   d="m 248.64,461.36 c 0.07,-0.01 0.07,-0.1 0,-0.1 -0.22,-0.02 -0.43,-0.01 -0.65,-0.01 h -0.65 c -0.08,0 -0.08,0.13 0,0.13 h 0.65 c 0.22,-0.01 0.44,-0.01 0.65,-0.02 z"
+   id="path1224" />
+			<path
+   class="st1"
+   d="m 240.77,475.09 c 0.6,0.13 1.21,0.24 1.81,0.34 0.32,0.05 0.64,0.1 0.96,0.15 0.29,0.04 0.6,0.12 0.9,0.09 0.1,-0.01 0.11,-0.13 0.02,-0.17 -0.24,-0.1 -0.5,-0.13 -0.76,-0.17 -0.27,-0.05 -0.54,-0.1 -0.81,-0.15 -0.53,-0.1 -1.06,-0.19 -1.58,-0.3 -1.03,-0.21 -2.07,-0.45 -3.08,-0.77 -1.81,-0.56 -3.57,-1.37 -5.06,-2.56 -0.8,-0.64 -1.52,-1.38 -2.11,-2.22 -0.07,-0.09 -0.22,-0.01 -0.16,0.09 2.19,3.33 6.12,4.88 9.87,5.67 z"
+   id="path1226" />
+			<path
+   class="st1"
+   d="m 241.85,473.77 c 0.9,0.23 1.81,0.42 2.73,0.48 0.09,0.01 0.12,-0.15 0.02,-0.17 -1.58,-0.35 -3.16,-0.64 -4.7,-1.16 -1.55,-0.51 -3.05,-1.17 -4.49,-1.95 -0.81,-0.44 -1.59,-0.91 -2.35,-1.43 -0.1,-0.07 -0.19,0.09 -0.09,0.16 2.67,1.91 5.7,3.28 8.88,4.07 z"
+   id="path1228" />
+			<path
+   class="st1"
+   d="m 240.84,471.6 c 0.8,0.26 1.61,0.48 2.44,0.67 0.78,0.18 1.62,0.42 2.43,0.41 0.1,0 0.12,-0.14 0.02,-0.17 -0.4,-0.13 -0.82,-0.19 -1.23,-0.27 -0.38,-0.08 -0.77,-0.16 -1.15,-0.25 -0.81,-0.19 -1.6,-0.41 -2.39,-0.66 -1.58,-0.5 -3.12,-1.13 -4.62,-1.84 -0.13,-0.06 -0.25,0.13 -0.11,0.2 1.48,0.78 3.03,1.41 4.61,1.91 z"
+   id="path1230" />
+			<path
+   class="st1"
+   d="m 277.43,474.92 c 0.44,0.01 0.88,0.01 1.33,0.02 0.22,0.01 0.44,0.01 0.66,0 0.21,-0.01 0.43,-0.01 0.64,-0.06 0.08,-0.02 0.08,-0.15 0,-0.17 -0.21,-0.05 -0.43,-0.04 -0.64,-0.06 -0.22,-0.01 -0.44,0 -0.66,0 -0.44,0.01 -0.88,0.02 -1.33,0.02 -0.15,0.02 -0.15,0.25 0,0.25 z"
+   id="path1232" />
+			<path
+   class="st1"
+   d="m 282.65,475 c 0.9,-0.19 1.82,-0.33 2.74,-0.41 0.44,-0.04 0.89,-0.07 1.33,-0.08 0.22,-0.01 0.44,-0.01 0.67,0 0.22,0 0.44,0.03 0.65,-0.02 0.11,-0.03 0.1,-0.19 0,-0.22 -0.22,-0.07 -0.47,-0.05 -0.7,-0.05 -0.22,0 -0.44,0 -0.67,0.01 -0.46,0.01 -0.92,0.04 -1.38,0.09 -0.91,0.09 -1.81,0.26 -2.7,0.49 -0.13,0.03 -0.08,0.22 0.06,0.19 z"
+   id="path1234" />
+			<path
+   class="st1"
+   d="m 282.02,476.23 c 0.79,0.03 1.57,0.03 2.36,0.02 0.77,-0.01 1.57,0.01 2.33,-0.11 0.06,-0.01 0.04,-0.1 -0.01,-0.11 -0.78,-0.05 -1.58,0.03 -2.36,0.04 -0.79,0.01 -1.57,0 -2.36,-0.02 -1.57,-0.04 -3.15,-0.14 -4.71,-0.31 -0.08,-0.01 -0.08,0.11 0,0.12 1.57,0.2 3.16,0.32 4.75,0.37 z"
+   id="path1236" />
+			<path
+   class="st1"
+   d="m 286.43,477.51 c 1.01,-0.03 2.03,-0.07 3.03,-0.2 0.07,-0.01 0.08,-0.12 0,-0.12 -1.78,0.07 -3.56,0.21 -5.35,0.21 -1.77,0 -3.54,-0.07 -5.3,-0.2 -1.01,-0.08 -2.02,-0.18 -3.02,-0.3 -0.11,-0.01 -0.1,0.15 0,0.17 3.54,0.42 7.09,0.56 10.64,0.44 z"
+   id="path1238" />
+			<path
+   class="st1"
+   d="m 270.92,478.17 c 5.86,0.76 11.83,0.9 17.72,0.47 0.83,-0.06 1.67,-0.13 2.5,-0.22 0.23,-0.02 0.46,-0.05 0.69,-0.08 -0.01,0.01 -0.02,0.02 -0.02,0.04 0,0.02 0.01,0.04 0.02,0.06 0.02,0.01 0.04,0.03 0.06,0.02 l 0.16,-0.01 c 0.02,0 0.04,-0.01 0.05,-0.02 0.01,-0.01 0.02,-0.03 0.02,-0.05 0,-0.02 -0.01,-0.04 -0.02,-0.05 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 0.5,-0.06 1,-0.13 1.49,-0.24 0.13,-0.03 0.1,-0.24 -0.03,-0.24 -1.47,0.05 -2.94,0.28 -4.41,0.4 -1.47,0.12 -2.95,0.21 -4.43,0.26 -2.92,0.11 -5.85,0.05 -8.77,-0.13 -1.67,-0.1 -3.33,-0.24 -4.99,-0.43 -0.15,-0.01 -0.15,0.21 -0.01,0.23 z"
+   id="path1240" />
+			<path
+   class="st1"
+   d="m 321.83,473.53 c 0.98,-0.23 1.97,-0.46 2.94,-0.77 0.12,-0.04 0.07,-0.22 -0.05,-0.2 -1.71,0.39 -3.41,0.85 -5.13,1.2 -1.7,0.35 -3.42,0.65 -5.14,0.9 -1.01,0.15 -2.02,0.29 -3.03,0.4 -0.11,0.01 -0.11,0.18 0,0.17 3.51,-0.33 6.98,-0.9 10.41,-1.7 z"
+   id="path1242" />
+			<path
+   class="st1"
+   d="m 316.1,476.04 c -1.12,0.14 -2.25,0.25 -3.38,0.34 -0.09,0.01 -0.09,0.15 0,0.14 4.05,-0.26 8.06,-0.88 11.99,-1.86 1.11,-0.28 2.23,-0.56 3.32,-0.92 0.13,-0.04 0.08,-0.24 -0.06,-0.21 -1.95,0.53 -3.87,1.08 -5.85,1.5 -1.99,0.43 -4,0.76 -6.02,1.01 z"
+   id="path1244" />
+			<path
+   class="st1"
+   d="m 253.52,381.53 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path1246" />
+			<path
+   class="st1"
+   d="m 253.63,379.55 c 0.1,0.08 0.22,0.18 0.35,0.22 0.09,0.02 0.16,-0.07 0.12,-0.15 -0.07,-0.11 -0.21,-0.2 -0.31,-0.28 l -0.34,-0.26 c -0.22,-0.17 -0.45,-0.34 -0.67,-0.5 -0.06,-0.04 -0.15,-0.01 -0.18,0.05 -0.04,0.07 -0.01,0.14 0.05,0.18 0.22,0.17 0.44,0.33 0.66,0.5 0.1,0.08 0.21,0.16 0.32,0.24 z"
+   id="path1248" />
+			<path
+   class="st1"
+   d="m 254.28,378.04 c 0.14,0.12 0.27,0.24 0.41,0.37 0.07,0.06 0.14,0.12 0.2,0.18 0.07,0.06 0.13,0.13 0.22,0.17 0.06,0.03 0.13,-0.03 0.1,-0.1 -0.04,-0.08 -0.11,-0.13 -0.18,-0.19 -0.07,-0.06 -0.14,-0.12 -0.2,-0.18 -0.14,-0.13 -0.28,-0.25 -0.42,-0.38 -0.28,-0.25 -0.55,-0.49 -0.83,-0.74 -0.09,-0.08 -0.21,0.05 -0.13,0.13 0.28,0.24 0.56,0.49 0.83,0.74 z"
+   id="path1250" />
+			<path
+   class="st1"
+   d="m 254.68,377.14 c 0.09,0.08 0.19,0.16 0.28,0.24 0.1,0.08 0.19,0.18 0.3,0.24 0.07,0.03 0.16,-0.04 0.11,-0.11 -0.07,-0.1 -0.18,-0.18 -0.27,-0.26 -0.1,-0.08 -0.2,-0.17 -0.29,-0.25 -0.19,-0.16 -0.39,-0.33 -0.58,-0.49 -0.09,-0.08 -0.22,0.05 -0.13,0.13 0.2,0.17 0.39,0.34 0.58,0.5 z"
+   id="path1252" />
+			<path
+   class="st1"
+   d="m 255.93,376.8 c 0.07,0.04 0.13,-0.07 0.07,-0.11 -0.26,-0.17 -0.54,-0.34 -0.81,-0.5 -0.09,-0.05 -0.17,0.08 -0.08,0.14 0.27,0.15 0.54,0.32 0.82,0.47 z"
+   id="path1254" />
+			<path
+   class="st1"
+   d="m 257.09,375.75 c -0.12,-0.04 -0.24,-0.08 -0.36,-0.12 -0.25,-0.08 -0.5,-0.16 -0.75,-0.25 -0.08,-0.03 -0.11,0.1 -0.03,0.12 0.25,0.08 0.5,0.17 0.74,0.25 0.12,0.04 0.24,0.08 0.36,0.12 0.12,0.04 0.25,0.1 0.38,0.11 0.06,0.01 0.07,-0.08 0.03,-0.11 -0.11,-0.06 -0.25,-0.08 -0.37,-0.12 z"
+   id="path1256" />
+			<path
+   class="st1"
+   d="m 256.81,374.74 c 0.18,0.11 0.36,0.22 0.53,0.34 0.16,0.1 0.35,0.26 0.54,0.29 0.08,0.01 0.18,-0.07 0.12,-0.16 -0.11,-0.16 -0.32,-0.26 -0.49,-0.35 -0.19,-0.11 -0.37,-0.22 -0.56,-0.33 -0.37,-0.22 -0.73,-0.44 -1.1,-0.66 -0.13,-0.08 -0.24,0.12 -0.12,0.2 0.37,0.22 0.73,0.45 1.08,0.67 z"
+   id="path1258" />
+			<path
+   class="st1"
+   d="m 324.09,345.47 c -0.12,0.39 -0.23,0.79 -0.35,1.18 -0.06,0.19 -0.11,0.39 -0.17,0.58 -0.03,0.1 -0.06,0.2 -0.08,0.3 -0.02,0.1 -0.06,0.2 -0.03,0.3 0.03,0.1 0.15,0.12 0.22,0.06 0.08,-0.07 0.1,-0.17 0.13,-0.26 0.03,-0.1 0.06,-0.2 0.09,-0.3 0.06,-0.19 0.11,-0.39 0.17,-0.58 0.11,-0.39 0.22,-0.79 0.33,-1.18 0.07,-0.22 -0.25,-0.31 -0.31,-0.1 z"
+   id="path1260" />
+			<path
+   class="st1"
+   d="m 247.97,341.44 c 0,0.02 0.01,0.03 0.02,0.04 -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 z"
+   id="path1262" />
+			<polygon
+   class="st1"
+   points="247.99,341.48 247.99,341.49 247.99,341.48 "
+   id="polygon1264" />
+			<path
+   class="st1"
+   d="m 258.38,304.35 c -0.03,-0.06 -0.06,-0.11 -0.08,-0.16 -0.01,-0.02 -0.04,-0.03 -0.07,-0.02 -0.02,0.01 -0.03,0.04 -0.02,0.07 0.03,0.05 0.05,0.11 0.08,0.16 0.01,0.03 0.03,0.05 0.04,0.08 0.02,0.03 0.03,0.05 0.05,0.08 0.01,0.02 0.03,0.02 0.05,0.02 0.02,-0.01 0.03,-0.03 0.02,-0.05 -0.01,-0.03 -0.02,-0.06 -0.04,-0.09 0,-0.04 -0.02,-0.07 -0.03,-0.09 z"
+   id="path1266" />
+			<path
+   class="st1"
+   d="m 259.05,303.64 c -0.11,0 -0.11,0.17 0,0.17 0.11,0 0.11,-0.17 0,-0.17 z"
+   id="path1268" />
+			<path
+   class="st1"
+   d="m 258.56,303.6 c 0.05,0 0.05,-0.08 0,-0.08 -0.05,0 -0.05,0.08 0,0.08 z"
+   id="path1270" />
+			<path
+   class="st1"
+   d="m 258.89,305.1 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path1272" />
+			<path
+   class="st1"
+   d="m 259.94,305.65 c 0.11,-0.06 0.22,-0.11 0.32,-0.17 0.05,-0.03 0.11,-0.06 0.16,-0.08 0.05,-0.03 0.1,-0.07 0.15,-0.1 0.05,-0.04 0.08,-0.09 0.05,-0.15 -0.02,-0.06 -0.09,-0.09 -0.14,-0.07 -0.07,0.02 -0.13,0.04 -0.19,0.07 -0.06,0.03 -0.11,0.05 -0.17,0.08 -0.11,0.05 -0.22,0.11 -0.33,0.16 -0.07,0.04 -0.1,0.15 -0.06,0.21 0.05,0.07 0.14,0.09 0.21,0.05 z"
+   id="path1274" />
+			<path
+   class="st1"
+   d="m 260.52,306.84 c -0.18,0 -0.18,0.27 0,0.27 0.17,0 0.17,-0.27 0,-0.27 z"
+   id="path1276" />
+			<path
+   class="st1"
+   d="m 260.58,307.36 c 0.11,0.16 0.27,0.27 0.45,0.31 0.1,0.02 0.19,0.03 0.29,0 0.05,-0.01 0.09,-0.03 0.13,-0.05 0.05,-0.02 0.09,-0.05 0.12,-0.1 0.04,-0.06 -0.01,-0.15 -0.08,-0.15 -0.04,0 -0.08,0.01 -0.12,0.02 -0.02,0 -0.03,0.01 -0.05,0.01 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.04,0 -0.07,0 -0.11,0 -0.02,0 -0.04,0 -0.05,0 0.03,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.03,-0.01 -0.03,-0.01 -0.07,-0.02 -0.1,-0.03 0,0 0,0 0,0 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.03,-0.02 -0.05,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.01,-0.01 -0.02,-0.03 -0.04,-0.04 0,0 0,0 -0.01,-0.01 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.04,-0.06 -0.12,-0.09 -0.18,-0.05 -0.06,0.06 -0.09,0.14 -0.05,0.21 z"
+   id="path1278" />
+			<path
+   class="st1"
+   d="m 261.12,309.53 c 0.21,-0.2 0.46,-0.37 0.72,-0.5 0.13,-0.06 0.26,-0.12 0.39,-0.16 0.14,-0.05 0.29,-0.08 0.43,-0.13 0.14,-0.05 0.12,-0.26 -0.04,-0.26 -0.32,-0.01 -0.66,0.13 -0.94,0.28 -0.29,0.14 -0.56,0.33 -0.8,0.56 -0.14,0.13 0.09,0.35 0.24,0.21 z"
+   id="path1280" />
+			<path
+   class="st1"
+   d="m 262.48,310.01 c -0.14,0.08 -0.28,0.16 -0.42,0.24 -0.06,0.04 -0.09,0.13 -0.05,0.19 0,0 0.01,0.01 0.01,0.01 0.02,0.04 0.04,0.07 0.08,0.08 0.16,0.05 0.33,0.09 0.49,0.14 0.06,0.02 0.13,-0.02 0.14,-0.08 0.02,-0.07 -0.02,-0.12 -0.08,-0.14 -0.08,-0.03 -0.16,-0.06 -0.25,-0.09 0.06,-0.04 0.13,-0.08 0.19,-0.12 0.07,-0.04 0.13,-0.08 0.2,-0.12 0.03,-0.02 0.07,-0.04 0.1,-0.06 0.04,-0.03 0.07,-0.06 0.11,-0.09 0.07,-0.07 0,-0.2 -0.1,-0.17 -0.04,0.02 -0.09,0.03 -0.13,0.05 -0.03,0.02 -0.07,0.04 -0.1,0.06 -0.05,0.03 -0.12,0.06 -0.19,0.1 z"
+   id="path1282" />
+			<path
+   class="st1"
+   d="m 262.84,312.25 c 0.04,0.06 0.13,0.1 0.19,0.05 0.17,-0.12 0.33,-0.24 0.49,-0.37 0.04,-0.03 0.04,-0.1 0.01,-0.13 -0.03,-0.04 -0.09,-0.05 -0.13,-0.03 -0.17,0.09 -0.34,0.19 -0.51,0.29 -0.07,0.04 -0.09,0.13 -0.05,0.19 z"
+   id="path1284" />
+			<path
+   class="st1"
+   d="m 263.12,313.22 c 0.05,0.08 0.16,0.11 0.24,0.06 0.23,-0.15 0.45,-0.29 0.68,-0.44 0.11,-0.07 0.22,-0.14 0.33,-0.22 0.06,-0.04 0.11,-0.08 0.17,-0.12 0.03,-0.02 0.07,-0.04 0.1,-0.07 0.03,-0.03 0.04,-0.07 0.06,-0.11 0.04,-0.09 -0.05,-0.18 -0.14,-0.18 -0.14,0 -0.28,0.11 -0.39,0.18 -0.11,0.07 -0.21,0.14 -0.32,0.21 -0.22,0.15 -0.44,0.29 -0.66,0.44 -0.09,0.07 -0.12,0.17 -0.07,0.25 z"
+   id="path1286" />
+			<path
+   class="st1"
+   d="m 263.81,314.18 c -0.15,0.16 0.09,0.4 0.24,0.24 0.21,-0.21 0.45,-0.38 0.71,-0.51 0.13,-0.06 0.25,-0.11 0.39,-0.16 0.07,-0.02 0.14,-0.04 0.22,-0.06 0.08,-0.02 0.17,-0.03 0.24,-0.07 0.11,-0.06 0.1,-0.26 -0.04,-0.29 -0.16,-0.03 -0.35,0.03 -0.5,0.08 -0.16,0.05 -0.32,0.11 -0.47,0.19 -0.29,0.15 -0.56,0.34 -0.79,0.58 z"
+   id="path1288" />
+			<path
+   class="st1"
+   d="m 265.05,315.35 c -0.22,0.09 -0.45,0.17 -0.67,0.26 -0.06,0.02 -0.09,0.07 -0.1,0.12 -0.01,0.01 0,0.02 -0.01,0.04 0,0.01 -0.01,0.02 -0.01,0.04 0,0.01 0.01,0.01 0.02,0.02 0,0.01 0,0.01 0,0.02 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.01 0.02,0.02 0.04,0.03 0.21,0.25 0.51,0.39 0.84,0.4 0.29,0.01 0.56,-0.07 0.77,-0.25 0,0 0,0.01 0,0.02 0,0 -0.01,0.02 0,0.01 0,0 0,0 0,0 -0.02,0.02 -0.03,0.04 -0.04,0.07 0,0.01 0,0.01 0,0.01 -0.04,0.09 0.01,0.2 0.12,0.2 0.19,0.01 0.29,-0.2 0.29,-0.37 0,-0.19 -0.11,-0.36 -0.29,-0.4 -0.08,-0.02 -0.17,0.01 -0.22,0.09 -0.06,0.1 -0.15,0.18 -0.27,0.24 -0.1,0.05 -0.24,0.09 -0.36,0.1 -0.19,0.01 -0.37,-0.07 -0.52,-0.18 0.16,-0.06 0.32,-0.12 0.47,-0.17 0.11,-0.04 0.23,-0.08 0.34,-0.12 0.12,-0.04 0.29,-0.07 0.35,-0.19 0.05,-0.09 0,-0.17 -0.08,-0.21 -0.12,-0.05 -0.26,0.04 -0.37,0.08 -0.11,0.02 -0.22,0.06 -0.33,0.11 z"
+   id="path1290" />
+			<path
+   class="st1"
+   d="m 265.56,317.27 c 0.02,0.08 0.12,0.15 0.2,0.11 0.22,-0.08 0.44,-0.16 0.66,-0.24 0.11,-0.04 0.22,-0.1 0.33,-0.15 0.11,-0.05 0.22,-0.1 0.31,-0.17 0.04,-0.03 0.06,-0.07 0.05,-0.11 -0.01,-0.04 -0.05,-0.08 -0.1,-0.07 -0.12,0.01 -0.24,0.04 -0.35,0.08 -0.11,0.03 -0.22,0.06 -0.33,0.1 -0.22,0.08 -0.44,0.17 -0.66,0.25 -0.08,0.03 -0.13,0.11 -0.11,0.2 z"
+   id="path1292" />
+			<path
+   class="st1"
+   d="m 236.04,315.84 c 0.18,-0.17 0.34,-0.39 0.49,-0.59 0.15,-0.2 0.3,-0.41 0.44,-0.62 0.29,-0.42 0.57,-0.85 0.86,-1.27 0.09,-0.12 -0.11,-0.23 -0.2,-0.12 -0.3,0.41 -0.6,0.81 -0.91,1.21 -0.15,0.2 -0.29,0.39 -0.43,0.59 -0.14,0.21 -0.3,0.43 -0.4,0.66 -0.04,0.12 0.07,0.21 0.15,0.14 z"
+   id="path1294" />
+			<path
+   class="st1"
+   d="m 234.22,319.55 c 0.16,-0.16 0.28,-0.39 0.38,-0.59 0.11,-0.2 0.21,-0.4 0.32,-0.6 0.21,-0.42 0.43,-0.83 0.64,-1.25 0.07,-0.13 -0.13,-0.25 -0.2,-0.12 -0.23,0.41 -0.45,0.82 -0.68,1.23 -0.11,0.2 -0.22,0.4 -0.32,0.6 -0.11,0.2 -0.23,0.43 -0.28,0.65 -0.01,0.08 0.08,0.14 0.14,0.08 z"
+   id="path1296" />
+			<path
+   class="st1"
+   d="m 237.3,316.16 c 0.35,-0.21 0.62,-0.54 0.84,-0.88 0.22,-0.34 0.39,-0.72 0.52,-1.11 0.04,-0.12 -0.15,-0.17 -0.19,-0.05 -0.13,0.37 -0.31,0.71 -0.53,1.03 -0.22,0.32 -0.49,0.59 -0.73,0.89 -0.06,0.06 0.01,0.17 0.09,0.12 z"
+   id="path1298" />
+			<path
+   class="st1"
+   d="m 235.71,319.55 c 0.04,-0.05 0.08,-0.08 0.1,-0.15 0.02,-0.04 0.04,-0.08 0.05,-0.12 0.04,-0.1 0.08,-0.19 0.12,-0.29 0.08,-0.19 0.16,-0.37 0.24,-0.56 0.16,-0.38 0.32,-0.76 0.49,-1.14 0.07,-0.15 -0.16,-0.29 -0.23,-0.13 -0.17,0.39 -0.33,0.77 -0.5,1.16 -0.08,0.19 -0.17,0.39 -0.25,0.58 -0.04,0.09 -0.08,0.19 -0.12,0.28 -0.02,0.04 -0.04,0.08 -0.05,0.12 -0.02,0.06 -0.02,0.11 -0.03,0.18 0,0.1 0.12,0.15 0.18,0.07 z"
+   id="path1300" />
+			<path
+   class="st1"
+   d="m 235.36,319.76 c -0.15,0.33 -0.29,0.67 -0.44,1 -0.07,0.16 -0.15,0.33 -0.21,0.49 -0.03,0.08 -0.06,0.17 -0.09,0.25 -0.03,0.08 -0.08,0.18 -0.07,0.27 0.01,0.07 0.09,0.15 0.16,0.09 0.08,-0.06 0.1,-0.13 0.15,-0.22 0.04,-0.09 0.08,-0.17 0.12,-0.26 0.07,-0.16 0.14,-0.33 0.2,-0.5 0.14,-0.34 0.27,-0.69 0.41,-1.03 0.06,-0.12 -0.17,-0.22 -0.23,-0.09 z"
+   id="path1302" />
+			<path
+   class="st1"
+   d="m 295.45,292.94 c 0.09,0.02 0.18,0.05 0.27,0.08 0.02,0.02 0.05,0.03 0.08,0.04 0.03,0.01 0.06,0.01 0.1,0.02 0.07,0.01 0.14,0.02 0.21,0.03 0.06,0.01 0.12,0.01 0.18,0.02 0.03,0 0.06,0.01 0.1,0.01 0.04,0 0.07,-0.01 0.11,-0.02 0.11,-0.03 0.12,-0.17 0.03,-0.24 -0.1,-0.07 -0.25,-0.08 -0.37,-0.11 -0.06,-0.01 -0.12,-0.02 -0.18,-0.03 -0.03,-0.01 -0.06,-0.01 -0.1,-0.02 -0.04,-0.01 -0.07,0 -0.1,0.01 -0.1,0 -0.19,0 -0.29,-0.01 -0.14,-0.01 -0.16,0.19 -0.04,0.22 z"
+   id="path1304" />
+			<path
+   class="st1"
+   d="m 301.34,295.97 c 0.12,0.07 0.24,0.13 0.36,0.19 0.06,0.03 0.13,0.05 0.19,0.08 0.07,0.03 0.14,0.06 0.21,0.09 0.09,0.04 0.16,-0.07 0.08,-0.14 -0.06,-0.04 -0.12,-0.08 -0.18,-0.13 -0.06,-0.04 -0.11,-0.09 -0.18,-0.13 -0.12,-0.07 -0.23,-0.14 -0.35,-0.21 -0.24,-0.14 -0.49,-0.27 -0.73,-0.41 -0.15,-0.08 -0.28,0.14 -0.13,0.23 0.24,0.16 0.48,0.3 0.73,0.43 z"
+   id="path1306" />
+			<path
+   class="st1"
+   d="m 248.97,384.13 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path1308" />
+			<path
+   class="st1"
+   d="m 246.46,380.29 c -0.1,-0.1 -0.22,-0.19 -0.33,-0.29 -0.23,-0.19 -0.45,-0.37 -0.68,-0.56 -0.09,-0.07 -0.21,0.05 -0.12,0.12 0.21,0.2 0.43,0.39 0.64,0.59 0.1,0.1 0.21,0.2 0.32,0.28 0.06,0.05 0.11,0.09 0.18,0.13 0.07,0.04 0.12,0.09 0.19,0.12 0.04,0.02 0.1,-0.02 0.07,-0.07 -0.04,-0.06 -0.09,-0.11 -0.13,-0.16 -0.04,-0.05 -0.08,-0.1 -0.14,-0.16 z"
+   id="path1310" />
+			<path
+   class="st1"
+   d="m 249.52,383.22 c -0.05,-0.05 -0.11,-0.09 -0.17,-0.13 -0.11,-0.08 -0.22,-0.16 -0.33,-0.24 -0.03,-0.03 -0.09,-0.01 -0.11,0.03 -0.02,0.04 -0.01,0.08 0.03,0.11 0.11,0.08 0.22,0.16 0.32,0.25 0.05,0.04 0.1,0.09 0.16,0.12 0.06,0.03 0.12,0.07 0.18,0.1 0.05,0.03 0.11,-0.04 0.07,-0.08 -0.05,-0.07 -0.1,-0.12 -0.15,-0.16 z"
+   id="path1312" />
+			<path
+   class="st1"
+   d="m 258.85,389.45 c -0.03,-0.03 -0.07,-0.06 -0.1,-0.08 -0.07,-0.06 -0.14,-0.11 -0.21,-0.17 -0.13,-0.11 -0.27,-0.22 -0.4,-0.33 -0.05,-0.04 -0.11,-0.05 -0.16,0 -0.04,0.04 -0.05,0.12 0,0.16 0.14,0.11 0.27,0.23 0.41,0.34 0.07,0.05 0.13,0.11 0.2,0.16 0.04,0.03 0.08,0.07 0.12,0.09 0.04,0.03 0.08,0.05 0.11,0.07 0.1,0.06 0.2,-0.08 0.12,-0.16 -0.03,-0.02 -0.06,-0.05 -0.09,-0.08 z"
+   id="path1314" />
+			<path
+   class="st1"
+   d="m 261.08,390.4 c -0.02,-0.01 -0.04,-0.03 -0.07,-0.04 -0.04,-0.01 -0.08,-0.01 -0.12,-0.02 -0.11,-0.01 -0.22,-0.03 -0.33,-0.03 -0.23,-0.01 -0.46,-0.01 -0.69,-0.02 -0.09,-0.01 -0.12,0.15 -0.02,0.17 0.23,0.04 0.45,0.11 0.67,0.15 0.11,0.02 0.23,0.04 0.35,0.05 0.03,0 0.06,0.01 0.09,0.01 0.03,0 0.06,-0.01 0.09,-0.02 0.06,-0.01 0.12,0 0.17,-0.03 0.05,-0.03 0.06,-0.1 0.02,-0.14 -0.05,-0.05 -0.11,-0.05 -0.16,-0.08 z"
+   id="path1316" />
+			<path
+   class="st1"
+   d="m 258.26,387.89 c 0.06,-0.02 0.09,-0.08 0.06,-0.14 -0.03,-0.06 -0.08,-0.08 -0.14,-0.1 -0.06,-0.03 -0.11,-0.05 -0.17,-0.07 -0.12,-0.04 -0.23,-0.09 -0.35,-0.13 -0.23,-0.08 -0.46,-0.17 -0.69,-0.25 -0.06,-0.02 -0.13,0.02 -0.14,0.08 -0.02,0.06 0.02,0.12 0.08,0.14 l 0.67,0.26 c 0.11,0.04 0.22,0.09 0.34,0.13 0.06,0.02 0.11,0.04 0.17,0.06 0.06,0.02 0.11,0.04 0.17,0.02 z"
+   id="path1318" />
+			<path
+   class="st1"
+   d="m 276.44,392.54 c -0.07,0 -0.14,0 -0.21,0 -0.14,0 -0.28,0 -0.42,0.01 -0.07,0 -0.14,0.06 -0.13,0.13 0,0.07 0.06,0.13 0.13,0.13 0.14,0 0.28,0 0.42,0.01 0.07,0 0.14,0 0.21,0 0.08,0 0.16,0.01 0.24,-0.04 0.08,-0.05 0.08,-0.16 0,-0.2 -0.08,-0.05 -0.16,-0.04 -0.24,-0.04 z"
+   id="path1320" />
+			<path
+   class="st1"
+   d="m 278.61,392.95 c 0.05,-0.03 0.06,-0.1 0.02,-0.15 -0.06,-0.06 -0.16,-0.08 -0.24,-0.1 -0.08,-0.03 -0.17,-0.04 -0.26,-0.05 -0.17,-0.03 -0.34,-0.05 -0.51,-0.08 -0.08,-0.01 -0.16,0.02 -0.18,0.1 -0.02,0.07 0.02,0.16 0.1,0.18 0.17,0.03 0.34,0.06 0.52,0.08 0.09,0.01 0.18,0.03 0.27,0.03 0.09,0.01 0.2,0.03 0.28,-0.01 z"
+   id="path1322" />
+			<path
+   class="st1"
+   d="m 280.38,392.76 c -0.21,-0.07 -0.44,-0.07 -0.66,-0.07 -0.22,0 -0.44,0.01 -0.66,0.01 -0.18,0 -0.18,0.27 0,0.28 0.22,0 0.44,0.01 0.66,0.01 0.22,0 0.45,0 0.66,-0.07 0.07,-0.03 0.07,-0.13 0,-0.16 z"
+   id="path1324" />
+			<path
+   class="st1"
+   d="m 279.25,393.63 c -0.07,-0.02 -0.14,-0.03 -0.21,-0.04 -0.14,-0.03 -0.29,-0.05 -0.43,-0.08 -0.09,-0.02 -0.19,0.02 -0.21,0.12 -0.02,0.09 0.03,0.19 0.12,0.21 0.15,0.03 0.29,0.06 0.44,0.09 0.08,0.02 0.16,0.03 0.25,0.04 0.04,0 0.07,0.01 0.11,0.01 0.07,0.01 0.11,-0.01 0.16,-0.06 0.05,-0.04 0.05,-0.12 0.02,-0.17 -0.03,-0.06 -0.08,-0.09 -0.14,-0.1 -0.04,0 -0.08,-0.01 -0.11,-0.02 z"
+   id="path1326" />
+			<path
+   class="st1"
+   d="m 282.53,393.81 c 0.11,0 0.22,-0.01 0.33,-0.01 0.11,-0.01 0.22,0 0.32,-0.06 0.1,-0.06 0.06,-0.19 -0.03,-0.23 -0.1,-0.04 -0.23,-0.01 -0.34,-0.01 -0.1,0.01 -0.2,0.02 -0.31,0.03 -0.22,0.02 -0.46,0.08 -0.68,0.07 -0.21,-0.01 -0.43,-0.03 -0.64,-0.01 -0.22,0.01 -0.44,0.05 -0.66,0.07 -0.18,0.02 -0.19,0.3 0,0.29 0.22,0 0.44,0 0.66,-0.02 0.23,-0.02 0.45,-0.07 0.68,-0.1 0.22,-0.04 0.45,-0.02 0.67,-0.02 z"
+   id="path1328" />
+			<path
+   class="st1"
+   d="m 286.38,393.01 c 0.22,-0.01 0.45,-0.02 0.68,-0.04 0.12,-0.01 0.24,-0.03 0.35,-0.05 0.09,-0.01 0.22,-0.03 0.28,-0.1 0.01,0 0.01,-0.01 0.02,-0.01 0.05,-0.02 0.08,-0.05 0.08,-0.11 0,-0.04 -0.03,-0.1 -0.08,-0.11 -0.02,0 -0.03,0 -0.05,-0.01 -0.08,-0.05 -0.2,-0.04 -0.29,-0.03 -0.12,0.01 -0.25,0.02 -0.37,0.04 -0.22,0.04 -0.44,0.09 -0.66,0.13 -0.15,0.05 -0.12,0.3 0.04,0.29 z"
+   id="path1330" />
+			<path
+   class="st1"
+   d="m 287.02,393.33 c -0.21,0 -0.21,0.32 0,0.33 0.23,0 0.45,0 0.68,0.01 0.11,0 0.22,0 0.33,-0.01 0.11,-0.01 0.27,0.01 0.36,-0.05 0.08,-0.06 0.08,-0.16 0,-0.22 -0.09,-0.07 -0.24,-0.05 -0.34,-0.05 -0.12,-0.01 -0.23,-0.01 -0.34,-0.01 -0.24,0 -0.46,0 -0.69,0 z"
+   id="path1332" />
+			<path
+   class="st1"
+   d="m 306.67,385.74 c -0.05,0.01 -0.09,0.03 -0.13,0.06 -0.04,0.03 -0.07,0.05 -0.11,0.08 -0.08,0.06 -0.16,0.12 -0.23,0.18 -0.14,0.11 -0.28,0.22 -0.42,0.33 -0.07,0.05 -0.06,0.17 0,0.23 0.07,0.06 0.16,0.06 0.23,0 l 0.41,-0.33 c 0.07,-0.05 0.13,-0.11 0.2,-0.17 0.07,-0.06 0.15,-0.12 0.19,-0.21 0.05,-0.09 -0.03,-0.19 -0.14,-0.17 z"
+   id="path1334" />
+			<path
+   class="st1"
+   d="m 308.21,385.09 c 0.05,-0.03 0.1,-0.06 0.14,-0.11 0.03,-0.04 0.07,-0.06 0.11,-0.1 0.02,-0.02 0.04,-0.03 0.06,-0.05 0.03,-0.02 0.04,-0.05 0.06,-0.08 0.02,-0.04 0.02,-0.09 -0.01,-0.12 -0.03,-0.04 -0.07,-0.05 -0.12,-0.04 -0.03,0 -0.06,0.01 -0.08,0.03 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.04,0.02 -0.08,0.04 -0.12,0.07 -0.02,0.01 -0.05,0.02 -0.07,0.03 -0.02,0.01 -0.05,0.03 -0.07,0.05 -0.05,0.03 -0.09,0.06 -0.14,0.09 -0.04,0.02 -0.06,0.06 -0.08,0.1 -0.01,0.04 -0.01,0.09 0.02,0.13 0.05,0.07 0.15,0.11 0.22,0.06 0.06,-0.03 0.1,-0.06 0.14,-0.09 z"
+   id="path1336" />
+			<path
+   class="st1"
+   d="m 309.3,385.56 c -0.08,0 -0.13,0.03 -0.19,0.07 -0.05,0.03 -0.1,0.06 -0.15,0.09 -0.1,0.06 -0.2,0.14 -0.29,0.21 -0.19,0.15 -0.38,0.29 -0.58,0.44 -0.07,0.05 -0.1,0.13 -0.06,0.21 0.04,0.07 0.14,0.1 0.21,0.06 0.2,-0.14 0.41,-0.27 0.61,-0.41 0.11,-0.07 0.21,-0.14 0.31,-0.23 0.05,-0.04 0.09,-0.08 0.14,-0.12 0.06,-0.05 0.1,-0.09 0.13,-0.16 0.02,-0.08 -0.05,-0.16 -0.13,-0.16 z"
+   id="path1338" />
+			<path
+   class="st1"
+   d="m 312.68,382.92 c -0.33,0.26 -0.66,0.53 -0.99,0.78 -0.33,0.26 -0.67,0.51 -1.01,0.77 -0.33,0.26 -0.64,0.54 -0.96,0.82 -0.11,0.09 0.04,0.28 0.15,0.2 0.33,-0.24 0.67,-0.47 0.98,-0.74 0.32,-0.27 0.64,-0.54 0.96,-0.81 0.32,-0.26 0.63,-0.52 0.95,-0.77 0.34,-0.27 0.68,-0.53 0.98,-0.85 0.06,-0.06 -0.02,-0.16 -0.09,-0.12 -0.35,0.21 -0.66,0.47 -0.97,0.72 z"
+   id="path1340" />
+			<path
+   class="st1"
+   d="m 331.49,348.03 c 0.04,-0.04 0.05,-0.09 0.07,-0.15 0.01,-0.05 0.02,-0.1 0.03,-0.15 0.01,-0.1 0.03,-0.19 0.04,-0.29 0.03,-0.2 0.05,-0.41 0.08,-0.62 0.02,-0.14 -0.22,-0.17 -0.24,-0.03 -0.03,0.2 -0.07,0.4 -0.1,0.6 -0.01,0.1 -0.03,0.19 -0.04,0.29 -0.01,0.06 -0.01,0.11 -0.01,0.17 0,0.06 0,0.11 0.02,0.16 0.02,0.06 0.11,0.07 0.15,0.02 z"
+   id="path1342" />
+			<path
+   class="st1"
+   d="m 331.18,349.74 c 0,0.12 -0.07,0.27 -0.01,0.38 0.03,0.06 0.13,0.06 0.17,0 0.06,-0.11 0,-0.25 -0.01,-0.36 0,-0.13 0.03,-0.26 0.04,-0.39 0.02,-0.25 0.02,-0.51 0.02,-0.76 0,-0.18 -0.28,-0.18 -0.28,0 0,0.25 0,0.51 0.02,0.76 0.02,0.12 0.05,0.25 0.05,0.37 z"
+   id="path1344" />
+			<path
+   class="st1"
+   d="m 331.01,352.1 c 0.03,-0.03 0.05,-0.06 0.07,-0.09 0.02,-0.02 0.03,-0.05 0.05,-0.07 0.03,-0.05 0.07,-0.1 0.1,-0.15 0.02,-0.03 0.02,-0.08 0.01,-0.11 -0.01,-0.04 -0.05,-0.08 -0.09,-0.1 -0.04,-0.02 -0.08,-0.02 -0.11,0 -0.04,0.02 -0.07,0.05 -0.09,0.1 -0.02,0.06 -0.04,0.11 -0.06,0.17 -0.01,0.03 -0.02,0.06 -0.03,0.08 -0.01,0.03 -0.02,0.06 -0.02,0.09 -0.01,0.04 0,0.09 0.04,0.11 0.05,0 0.1,0 0.13,-0.03 z"
+   id="path1346" />
+			<path
+   class="st1"
+   d="m 333.18,344.54 c -0.01,-0.17 -0.26,-0.17 -0.26,0 -0.01,0.17 -0.01,0.34 -0.02,0.52 0,0.08 -0.01,0.17 -0.01,0.25 0,0.04 0,0.09 0,0.13 0,0.03 0,0.05 0.01,0.08 0.01,0.04 0.03,0.06 0.06,0.09 0.04,0.05 0.15,0.05 0.19,0 0.02,-0.03 0.05,-0.05 0.06,-0.09 0.01,-0.03 0.01,-0.05 0.01,-0.08 0,-0.04 0,-0.09 0,-0.13 0,-0.08 0,-0.17 -0.01,-0.25 -0.02,-0.17 -0.03,-0.34 -0.03,-0.52 z"
+   id="path1348" />
+			<path
+   class="st1"
+   d="m 333.07,346.47 c -0.1,-0.02 -0.2,0.03 -0.24,0.13 -0.06,0.2 -0.13,0.41 -0.19,0.61 -0.02,0.06 -0.04,0.11 -0.04,0.17 0,0.02 0,0.03 -0.01,0.05 0,-0.02 0,-0.01 -0.01,0.01 -0.01,0.02 -0.01,0.05 -0.02,0.08 -0.01,0.05 -0.02,0.1 -0.03,0.15 -0.02,0.09 -0.01,0.16 0.05,0.23 0.03,0.04 0.1,0.05 0.15,0.04 0.08,-0.03 0.12,-0.08 0.15,-0.16 0.02,-0.05 0.04,-0.1 0.05,-0.15 0.04,-0.1 0.07,-0.19 0.1,-0.31 0.05,-0.21 0.11,-0.41 0.16,-0.62 0.04,-0.1 -0.02,-0.21 -0.12,-0.23 z"
+   id="path1350" />
+			<path
+   class="st1"
+   d="m 332.09,350.36 c -0.06,0.22 -0.11,0.44 -0.17,0.66 -0.03,0.11 -0.07,0.23 -0.08,0.34 -0.01,0.11 -0.02,0.23 -0.02,0.34 0,0.07 0.1,0.1 0.14,0.04 0.05,-0.09 0.09,-0.2 0.14,-0.29 0.05,-0.11 0.07,-0.23 0.1,-0.34 0.06,-0.22 0.11,-0.44 0.17,-0.66 0.04,-0.19 -0.23,-0.27 -0.28,-0.09 z"
+   id="path1352" />
+			<path
+   class="st1"
+   d="m 331.6,353.12 c -0.08,0.25 -0.17,0.5 -0.24,0.75 -0.08,0.25 -0.15,0.5 -0.18,0.76 -0.01,0.08 0.11,0.11 0.15,0.04 0.07,-0.12 0.11,-0.24 0.17,-0.36 0.06,-0.11 0.1,-0.24 0.14,-0.36 0.09,-0.25 0.17,-0.5 0.25,-0.74 0.06,-0.19 -0.23,-0.27 -0.29,-0.09 z"
+   id="path1354" />
+			<path
+   class="st1"
+   d="m 331.17,355.22 c -0.09,0.19 -0.17,0.39 -0.26,0.58 -0.04,0.1 -0.09,0.19 -0.13,0.29 -0.04,0.1 -0.1,0.21 -0.11,0.32 0,0.09 0.11,0.13 0.17,0.07 0.07,-0.07 0.11,-0.18 0.15,-0.28 0.04,-0.1 0.08,-0.21 0.13,-0.31 0.08,-0.2 0.16,-0.4 0.24,-0.59 0.04,-0.1 -0.15,-0.18 -0.19,-0.08 z"
+   id="path1356" />
+			<path
+   class="st1"
+   d="m 330.49,357.11 c -0.05,-0.02 -0.14,-0.01 -0.16,0.05 -0.06,0.14 -0.13,0.29 -0.19,0.43 -0.03,0.07 -0.06,0.14 -0.08,0.21 -0.01,0.04 -0.03,0.07 -0.04,0.11 -0.02,0.05 -0.02,0.09 -0.02,0.13 0,0.1 0.12,0.15 0.2,0.08 0.02,-0.02 0.04,-0.04 0.05,-0.06 0.01,-0.02 0.02,-0.04 0.03,-0.06 0.01,-0.04 0.03,-0.07 0.04,-0.11 l 0.09,-0.21 c 0.06,-0.14 0.11,-0.28 0.16,-0.42 0.02,-0.06 -0.02,-0.13 -0.08,-0.15 z"
+   id="path1358" />
+			<path
+   class="st1"
+   d="m 329.63,359.23 c -0.14,0 -0.14,0.22 0,0.22 0.14,0 0.14,-0.22 0,-0.22 z"
+   id="path1360" />
+			<path
+   class="st1"
+   d="m 328.06,363.51 c -0.11,0.22 -0.22,0.44 -0.34,0.66 -0.11,0.22 -0.24,0.44 -0.32,0.68 -0.04,0.13 0.14,0.2 0.22,0.09 0.14,-0.2 0.23,-0.43 0.34,-0.64 0.11,-0.22 0.21,-0.44 0.32,-0.65 0.07,-0.16 -0.15,-0.29 -0.22,-0.14 z"
+   id="path1362" />
+			<path
+   class="st1"
+   d="m 326.59,367.25 c -0.11,0.16 -0.23,0.33 -0.33,0.5 -0.05,0.08 -0.1,0.17 -0.14,0.25 -0.05,0.09 -0.11,0.18 -0.14,0.27 -0.03,0.08 0.08,0.13 0.13,0.08 0.08,-0.07 0.13,-0.16 0.2,-0.24 0.06,-0.08 0.12,-0.15 0.18,-0.23 0.12,-0.16 0.22,-0.33 0.33,-0.5 0.04,-0.06 0.01,-0.14 -0.05,-0.17 -0.07,-0.04 -0.14,-0.02 -0.18,0.04 z"
+   id="path1364" />
+			<path
+   class="st1"
+   d="m 325.46,369.2 c -0.17,0.27 -0.34,0.54 -0.52,0.81 -0.09,0.13 -0.18,0.27 -0.26,0.41 -0.04,0.07 -0.07,0.13 -0.1,0.2 -0.04,0.08 -0.08,0.15 -0.1,0.24 -0.01,0.09 0.08,0.2 0.17,0.13 0.07,-0.05 0.12,-0.12 0.17,-0.19 0.04,-0.06 0.09,-0.12 0.13,-0.18 0.09,-0.14 0.16,-0.29 0.24,-0.43 0.16,-0.29 0.32,-0.57 0.48,-0.86 0.08,-0.15 -0.13,-0.27 -0.21,-0.13 z"
+   id="path1366" />
+			<path
+   class="st1"
+   d="m 323.85,371.95 c -0.2,0.25 -0.4,0.51 -0.6,0.76 -0.1,0.13 -0.2,0.24 -0.31,0.36 -0.05,0.06 -0.1,0.11 -0.15,0.17 -0.06,0.07 -0.13,0.14 -0.13,0.23 0,0.08 0.08,0.13 0.15,0.12 0.09,-0.02 0.13,-0.1 0.18,-0.17 0.04,-0.06 0.09,-0.13 0.13,-0.19 0.09,-0.14 0.18,-0.27 0.28,-0.4 0.19,-0.26 0.39,-0.52 0.58,-0.77 0.06,-0.09 -0.07,-0.19 -0.13,-0.11 z"
+   id="path1368" />
+			<path
+   class="st1"
+   d="m 320.2,376.43 c -0.19,0 -0.19,0.3 0,0.3 0.19,0 0.19,-0.3 0,-0.3 z"
+   id="path1370" />
+			<path
+   class="st1"
+   d="m 244.47,305.62 c 0.16,-0.14 0.32,-0.27 0.48,-0.41 0.08,-0.07 0.15,-0.14 0.22,-0.21 0.04,-0.04 0.07,-0.08 0.11,-0.11 0.02,-0.02 0.04,-0.04 0.05,-0.06 0.03,-0.03 0.04,-0.07 0.05,-0.11 0.03,-0.1 -0.06,-0.18 -0.16,-0.16 -0.03,0.01 -0.07,0.02 -0.1,0.04 -0.02,0.02 -0.04,0.04 -0.07,0.06 -0.04,0.04 -0.08,0.07 -0.11,0.1 -0.08,0.07 -0.15,0.15 -0.22,0.23 -0.14,0.16 -0.27,0.32 -0.41,0.48 -0.08,0.11 0.06,0.25 0.16,0.15 z"
+   id="path1372" />
+			<path
+   class="st1"
+   d="m 246.64,303.89 c 0.68,-0.53 1.37,-1.05 2.04,-1.59 0.32,-0.26 0.64,-0.53 0.97,-0.79 0.32,-0.26 0.69,-0.51 0.94,-0.85 0.06,-0.08 -0.05,-0.16 -0.13,-0.13 -0.37,0.17 -0.68,0.49 -0.99,0.74 l -1,0.82 c -0.66,0.55 -1.3,1.12 -1.95,1.68 -0.08,0.08 0.04,0.19 0.12,0.12 z"
+   id="path1374" />
+			<path
+   class="st1"
+   d="m 251.19,300.23 c 0.34,-0.25 0.68,-0.5 1.03,-0.75 0.17,-0.12 0.33,-0.25 0.49,-0.37 0.09,-0.07 0.17,-0.13 0.26,-0.2 0.08,-0.07 0.18,-0.13 0.23,-0.22 0.05,-0.1 -0.03,-0.2 -0.14,-0.18 -0.1,0.02 -0.18,0.09 -0.26,0.15 -0.09,0.06 -0.18,0.13 -0.26,0.2 -0.17,0.13 -0.34,0.26 -0.5,0.4 -0.32,0.28 -0.65,0.55 -0.98,0.81 -0.08,0.08 0.04,0.23 0.13,0.16 z"
+   id="path1376" />
+			<path
+   class="st1"
+   d="m 254.45,298.08 c 0.34,-0.19 0.67,-0.37 1.01,-0.56 0.17,-0.09 0.34,-0.18 0.5,-0.28 0.08,-0.05 0.15,-0.1 0.23,-0.15 0.08,-0.05 0.17,-0.1 0.22,-0.18 0.04,-0.07 -0.01,-0.17 -0.09,-0.16 -0.1,0 -0.19,0.06 -0.27,0.1 -0.08,0.04 -0.16,0.08 -0.24,0.12 -0.17,0.09 -0.33,0.19 -0.5,0.29 -0.33,0.19 -0.67,0.39 -1,0.58 -0.16,0.09 -0.02,0.33 0.14,0.24 z"
+   id="path1378" />
+			<path
+   class="st1"
+   d="m 256.85,296.58 0.77,-0.44 c 0.13,-0.07 0.25,-0.15 0.38,-0.22 0.06,-0.04 0.12,-0.07 0.18,-0.11 0.07,-0.04 0.14,-0.08 0.19,-0.14 0.05,-0.06 0.03,-0.2 -0.08,-0.19 -0.15,0.02 -0.28,0.11 -0.41,0.18 -0.13,0.07 -0.26,0.14 -0.4,0.22 -0.26,0.15 -0.52,0.3 -0.78,0.45 -0.15,0.1 -0.01,0.34 0.15,0.25 z"
+   id="path1380" />
+			<path
+   class="st1"
+   d="m 269.82,292.05 c 0.44,-0.11 0.88,-0.22 1.33,-0.33 0.42,-0.11 0.9,-0.18 1.29,-0.38 0.09,-0.04 0.04,-0.18 -0.05,-0.18 -0.44,0.01 -0.89,0.17 -1.31,0.28 -0.44,0.11 -0.88,0.22 -1.33,0.33 -0.19,0.04 -0.11,0.32 0.07,0.28 z"
+   id="path1382" />
+			<path
+   class="st1"
+   d="m 274.34,291.08 c 1.17,-0.02 2.35,-0.05 3.52,-0.06 0.57,-0.01 1.14,-0.02 1.71,-0.03 0.29,-0.01 0.59,-0.01 0.88,-0.02 0.28,-0.01 0.59,0 0.86,-0.07 0.1,-0.03 0.11,-0.2 0,-0.22 -0.26,-0.05 -0.55,-0.03 -0.81,-0.03 -0.29,0 -0.59,0.02 -0.88,0.02 -0.59,0.02 -1.17,0.03 -1.76,0.05 -1.17,0.05 -2.35,0.08 -3.52,0.11 -0.16,0 -0.16,0.25 0,0.25 z"
+   id="path1384" />
+			<path
+   class="st1"
+   d="m 283.62,290.75 c 0.11,0.03 0.22,0.07 0.33,0.1 l 0.16,0.05 c 0.03,0.01 0.06,0.02 0.09,0.03 0.04,0.01 0.07,0.01 0.11,0.01 0.05,0 0.1,-0.04 0.11,-0.09 0.01,-0.06 -0.01,-0.1 -0.05,-0.13 -0.03,-0.02 -0.06,-0.04 -0.1,-0.06 -0.03,-0.01 -0.06,-0.02 -0.09,-0.03 -0.05,-0.02 -0.11,-0.04 -0.16,-0.06 -0.11,-0.04 -0.22,-0.08 -0.33,-0.12 -0.07,-0.03 -0.17,0.03 -0.19,0.11 0,0.09 0.04,0.17 0.12,0.19 z"
+   id="path1386" />
+			<path
+   class="st1"
+   d="m 285.61,291.2 0.68,0.01 c 0.11,0 0.22,-0.01 0.33,-0.02 0.12,-0.01 0.24,0 0.35,-0.06 0.07,-0.04 0.07,-0.14 0,-0.18 -0.1,-0.06 -0.22,-0.05 -0.33,-0.06 -0.12,-0.01 -0.23,-0.02 -0.34,-0.02 l -0.68,0.01 c -0.22,0 -0.22,0.32 -0.01,0.32 z"
+   id="path1388" />
+			<path
+   class="st1"
+   d="m 287.54,291.12 c 0.13,0.02 0.25,0.05 0.38,0.07 0.13,0.03 0.25,0.07 0.38,0.09 0.25,0.05 0.53,0.08 0.79,0.05 0.05,-0.01 0.09,-0.03 0.1,-0.08 0.01,-0.04 -0.01,-0.1 -0.05,-0.12 -0.24,-0.1 -0.52,-0.16 -0.78,-0.18 -0.13,-0.01 -0.26,-0.01 -0.39,-0.02 -0.13,-0.01 -0.27,-0.03 -0.4,-0.04 -0.12,0 -0.15,0.2 -0.03,0.23 z"
+   id="path1390" />
+			<path
+   class="st1"
+   d="m 290.17,291.61 c 0.15,-0.01 0.31,-0.02 0.46,-0.05 0.08,-0.02 0.08,-0.14 0,-0.16 -0.15,-0.03 -0.3,-0.04 -0.46,-0.05 -0.03,0 -0.07,0.02 -0.09,0.04 -0.02,0.02 -0.04,0.06 -0.04,0.09 0,0.06 0.05,0.13 0.13,0.13 z"
+   id="path1392" />
+			<path
+   class="st1"
+   d="m 211.86,375.89 c 0.42,1.38 1.04,2.68 1.87,3.86 0.41,0.57 0.86,1.12 1.36,1.62 0.25,0.26 0.52,0.5 0.79,0.74 0.27,0.23 0.54,0.48 0.85,0.66 0.13,0.07 0.27,-0.1 0.16,-0.21 -0.26,-0.24 -0.57,-0.44 -0.84,-0.68 -0.25,-0.22 -0.5,-0.44 -0.73,-0.68 -0.5,-0.5 -0.96,-1.05 -1.38,-1.62 -0.82,-1.13 -1.49,-2.4 -1.92,-3.74 -0.03,-0.09 -0.19,-0.05 -0.16,0.05 z"
+   id="path1394" />
+			<path
+   class="st1"
+   d="m 225.89,379.51 c -0.91,-0.81 -1.74,-1.7 -2.5,-2.65 -0.84,-1.06 -1.64,-2.22 -2.25,-3.43 -0.03,-0.06 -0.12,-0.01 -0.09,0.05 0.63,1.24 1.3,2.42 2.15,3.53 0.83,1.09 1.76,2.08 2.76,3 0.08,0.07 0.21,0.06 0.27,-0.04 0.11,-0.19 0.04,-0.43 -0.17,-0.52 -0.06,0 -0.13,0.02 -0.17,0.06 z"
+   id="path1396" />
+			<path
+   class="st1"
+   d="m 190.42,382.54 c -0.04,-0.07 -0.08,-0.14 -0.13,-0.22 -0.09,-0.15 -0.17,-0.3 -0.25,-0.46 -0.04,-0.08 -0.18,-0.02 -0.15,0.06 0.07,0.16 0.13,0.32 0.19,0.48 0.03,0.08 0.05,0.16 0.08,0.24 0.02,0.05 0.04,0.09 0.07,0.14 0.03,0.05 0.05,0.09 0.1,0.11 0.07,0.03 0.14,0.01 0.16,-0.07 0.02,-0.05 0,-0.1 -0.02,-0.15 -0.01,-0.04 -0.02,-0.09 -0.05,-0.13 z"
+   id="path1398" />
+			<path
+   class="st1"
+   d="m 190.87,383.57 c -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.15 0.06,0.11 0.11,0.22 0.17,0.33 0.05,0.11 0.1,0.22 0.17,0.33 0.03,0.05 0.09,0.07 0.14,0.05 0.05,-0.02 0.09,-0.08 0.07,-0.13 -0.05,-0.12 -0.12,-0.23 -0.18,-0.35 -0.06,-0.12 -0.12,-0.23 -0.18,-0.34 z"
+   id="path1400" />
+			<path
+   class="st1"
+   d="m 191.33,383.12 c -0.08,-0.18 -0.16,-0.36 -0.23,-0.54 -0.02,-0.05 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.05,0.08 -0.03,0.13 0.08,0.18 0.15,0.35 0.23,0.53 0.07,0.17 0.14,0.36 0.25,0.51 0.04,0.06 0.13,0.02 0.12,-0.05 -0.02,-0.1 -0.05,-0.18 -0.09,-0.28 -0.04,-0.09 -0.08,-0.18 -0.12,-0.27 z"
+   id="path1402" />
+			<path
+   class="st1"
+   d="m 191.93,384.31 c -0.02,-0.03 -0.05,-0.05 -0.07,-0.08 -0.04,-0.05 -0.09,-0.1 -0.13,-0.15 -0.03,-0.04 -0.1,-0.04 -0.13,0 -0.04,0.04 -0.03,0.09 0,0.13 0.04,0.05 0.09,0.1 0.13,0.15 0.02,0.03 0.04,0.05 0.07,0.08 0.01,0.01 0.03,0.02 0.05,0.04 0.03,0.02 0.08,0.02 0.11,-0.01 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.02 -0.01,-0.04 -0.02,-0.05 -0.01,-0.02 -0.02,-0.04 -0.03,-0.05 z"
+   id="path1404" />
+			<path
+   class="st1"
+   d="m 192.39,381.39 c -0.05,-0.11 -0.25,-0.03 -0.2,0.08 0.08,0.19 0.16,0.39 0.24,0.58 0.08,0.19 0.15,0.4 0.26,0.58 0.06,0.09 0.21,0.03 0.18,-0.08 -0.05,-0.2 -0.15,-0.4 -0.23,-0.59 -0.09,-0.19 -0.17,-0.38 -0.25,-0.57 z"
+   id="path1406" />
+			<path
+   class="st1"
+   d="m 193.85,384.47 c -0.1,-0.18 -0.2,-0.35 -0.3,-0.53 -0.05,-0.08 -0.17,-0.01 -0.13,0.07 0.09,0.18 0.18,0.36 0.27,0.54 0.05,0.09 0.09,0.19 0.14,0.28 0.03,0.06 0.1,0.21 0.2,0.16 0.09,-0.06 0.01,-0.19 -0.03,-0.26 -0.04,-0.08 -0.09,-0.17 -0.15,-0.26 z"
+   id="path1408" />
+			<path
+   class="st1"
+   d="m 194.42,381.78 c -0.01,-0.06 -0.02,-0.11 -0.04,-0.16 -0.03,-0.1 -0.07,-0.2 -0.1,-0.29 -0.08,-0.2 -0.15,-0.4 -0.23,-0.61 -0.05,-0.13 -0.24,-0.08 -0.2,0.06 l 0.19,0.62 c 0.03,0.1 0.06,0.2 0.1,0.3 0.02,0.06 0.05,0.11 0.07,0.16 0.03,0.05 0.04,0.1 0.09,0.13 0.04,0.02 0.1,0.01 0.12,-0.03 0.03,-0.07 0.01,-0.12 0,-0.18 z"
+   id="path1410" />
+			<path
+   class="st1"
+   d="m 194.85,382.81 c -0.09,-0.16 -0.19,-0.32 -0.29,-0.48 -0.06,-0.1 -0.2,-0.01 -0.15,0.09 0.08,0.17 0.16,0.34 0.25,0.51 0.04,0.08 0.08,0.16 0.12,0.24 0.04,0.08 0.09,0.19 0.17,0.24 0.06,0.03 0.13,-0.01 0.13,-0.08 0.01,-0.09 -0.06,-0.2 -0.11,-0.28 -0.04,-0.08 -0.08,-0.16 -0.12,-0.24 z"
+   id="path1412" />
+			<path
+   class="st1"
+   d="m 195.72,384.78 c 0.04,0.03 0.08,0.07 0.12,0.09 0.01,0.01 0.03,0 0.03,-0.01 0.01,-0.01 0.01,-0.02 0,-0.03 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.02,-0.02 -0.04,-0.03 -0.06,-0.05 -0.04,-0.03 -0.07,-0.06 -0.11,-0.1 -0.01,-0.01 -0.03,-0.01 -0.04,0 -0.01,0.01 -0.01,0.03 0,0.04 0.04,0.05 0.08,0.08 0.12,0.11 z"
+   id="path1414" />
+			<path
+   class="st1"
+   d="m 196.29,381.68 c -0.06,-0.17 -0.13,-0.34 -0.19,-0.51 -0.04,-0.09 -0.19,-0.06 -0.15,0.04 0.06,0.17 0.12,0.35 0.18,0.52 0.03,0.09 0.05,0.17 0.09,0.26 0.03,0.08 0.06,0.18 0.12,0.25 0.04,0.05 0.11,0.01 0.11,-0.05 0,-0.08 -0.04,-0.18 -0.06,-0.26 -0.03,-0.08 -0.07,-0.17 -0.1,-0.25 z"
+   id="path1416" />
+			<path
+   class="st1"
+   d="m 197.22,383.46 c -0.04,-0.05 -0.09,-0.11 -0.13,-0.16 -0.09,-0.11 -0.18,-0.22 -0.27,-0.33 -0.02,-0.03 -0.07,-0.02 -0.1,0 -0.03,0.03 -0.02,0.07 0,0.1 0.09,0.11 0.18,0.22 0.26,0.33 0.04,0.05 0.08,0.11 0.13,0.16 0.02,0.03 0.04,0.05 0.06,0.08 0.03,0.04 0.05,0.07 0.1,0.07 0.03,0 0.06,-0.02 0.06,-0.05 0.01,-0.05 -0.01,-0.08 -0.05,-0.12 -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 z"
+   id="path1418" />
+			<path
+   class="st1"
+   d="m 197.56,380.02 c -0.04,-0.12 -0.23,-0.07 -0.19,0.05 0.07,0.21 0.13,0.42 0.2,0.63 0.07,0.21 0.11,0.43 0.23,0.63 0.06,0.11 0.2,0.03 0.19,-0.08 -0.03,-0.21 -0.13,-0.42 -0.2,-0.62 -0.08,-0.2 -0.15,-0.41 -0.23,-0.61 z"
+   id="path1420" />
+			<path
+   class="st1"
+   d="m 198.73,382.74 c -0.09,-0.11 -0.18,-0.21 -0.27,-0.32 -0.03,-0.04 -0.09,-0.03 -0.13,-0.01 -0.03,0.03 -0.05,0.09 -0.02,0.12 0.09,0.11 0.18,0.23 0.26,0.34 0.05,0.06 0.09,0.12 0.14,0.18 0.02,0.03 0.04,0.05 0.06,0.08 0.03,0.04 0.07,0.06 0.12,0.07 0.05,0.01 0.09,-0.05 0.09,-0.09 0.01,-0.08 -0.08,-0.15 -0.13,-0.21 -0.03,-0.06 -0.07,-0.11 -0.12,-0.16 z"
+   id="path1422" />
+			<path
+   class="st1"
+   d="m 200.2,381.63 c -0.09,-0.17 -0.18,-0.34 -0.26,-0.52 -0.17,-0.37 -0.32,-0.73 -0.41,-1.13 -0.01,-0.05 -0.09,-0.03 -0.08,0.02 0.08,0.39 0.18,0.79 0.33,1.16 0.07,0.18 0.16,0.36 0.26,0.53 0.05,0.09 0.1,0.17 0.16,0.26 0.05,0.07 0.09,0.16 0.17,0.2 0.03,0.02 0.08,0 0.08,-0.04 0,-0.09 -0.06,-0.15 -0.1,-0.22 -0.05,-0.08 -0.1,-0.17 -0.15,-0.26 z"
+   id="path1424" />
+			<path
+   class="st1"
+   d="m 201.88,380.17 c -0.18,-0.41 -0.3,-0.85 -0.37,-1.3 -0.01,-0.06 -0.1,-0.04 -0.09,0.03 0.07,0.45 0.19,0.9 0.35,1.32 0.08,0.2 0.16,0.4 0.26,0.59 0.05,0.1 0.11,0.2 0.17,0.29 0.06,0.09 0.11,0.2 0.2,0.27 0.05,0.04 0.15,0 0.13,-0.07 -0.03,-0.1 -0.1,-0.18 -0.16,-0.26 -0.06,-0.09 -0.12,-0.19 -0.18,-0.29 -0.12,-0.19 -0.22,-0.39 -0.31,-0.58 z"
+   id="path1426" />
+			<path
+   class="st1"
+   d="m 209.33,377.42 c 0.07,0.32 0.19,0.64 0.36,0.92 0.08,0.14 0.18,0.27 0.28,0.39 0.11,0.13 0.24,0.23 0.39,0.33 0.08,0.05 0.17,-0.07 0.1,-0.13 -0.46,-0.43 -0.83,-0.94 -0.99,-1.55 -0.02,-0.09 -0.16,-0.05 -0.14,0.04 z"
+   id="path1428" />
+			<path
+   class="st1"
+   d="m 211.51,376.92 c 0.05,0.1 0.11,0.2 0.17,0.29 0.02,0.03 0.06,0 0.05,-0.03 -0.05,-0.1 -0.11,-0.2 -0.16,-0.29 -0.02,-0.04 -0.08,0 -0.06,0.03 z"
+   id="path1430" />
+			<path
+   class="st1"
+   d="m 216.53,372.87 c 0.02,0.02 0.03,0.05 0.05,0.07 0.01,0.02 0.04,0.03 0.06,0.02 0.02,-0.01 0.03,-0.04 0.02,-0.06 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.01,-0.03 -0.03,-0.05 -0.04,-0.07 -0.03,-0.05 -0.05,-0.1 -0.08,-0.15 -0.01,-0.03 -0.05,-0.04 -0.08,-0.02 -0.03,0.02 -0.04,0.05 -0.02,0.08 0.03,0.05 0.05,0.1 0.08,0.15 0.01,0.01 0.03,0.04 0.04,0.06 z"
+   id="path1432" />
+			<path
+   class="st1"
+   d="m 220.1,373.28 -0.23,-0.47 c -0.15,-0.31 -0.3,-0.62 -0.45,-0.92 -0.05,-0.11 -0.21,-0.01 -0.16,0.1 0.14,0.31 0.28,0.61 0.42,0.92 0.07,0.15 0.14,0.31 0.21,0.46 0.03,0.07 0.06,0.14 0.1,0.21 0.04,0.07 0.07,0.16 0.13,0.22 0.05,0.05 0.15,0.02 0.15,-0.06 0,-0.08 -0.04,-0.15 -0.08,-0.23 -0.02,-0.09 -0.05,-0.16 -0.09,-0.23 z"
+   id="path1434" />
+			<path
+   class="st1"
+   d="m 220.24,372.39 c 0.08,0.12 0.15,0.24 0.23,0.37 0.08,0.12 0.16,0.24 0.26,0.35 0.04,0.05 0.13,0 0.11,-0.06 -0.11,-0.27 -0.28,-0.51 -0.43,-0.75 -0.07,-0.11 -0.23,-0.02 -0.17,0.09 z"
+   id="path1436" />
+			<path
+   class="st1"
+   d="m 223.79,371.5 c 0.04,0.07 0.07,0.15 0.12,0.22 0.03,0.04 0.1,0.02 0.08,-0.04 -0.02,-0.08 -0.06,-0.15 -0.09,-0.23 -0.03,-0.08 -0.07,-0.16 -0.1,-0.23 -0.07,-0.15 -0.14,-0.31 -0.21,-0.46 -0.03,-0.07 -0.14,-0.01 -0.11,0.06 0.07,0.15 0.14,0.3 0.2,0.45 0.04,0.08 0.07,0.15 0.11,0.23 z"
+   id="path1438" />
+			<path
+   class="st1"
+   d="m 225.81,370.61 c 0.03,0.06 0.06,0.11 0.11,0.16 0.04,0.04 0.1,0 0.09,-0.05 -0.02,-0.06 -0.04,-0.12 -0.07,-0.18 -0.03,-0.06 -0.05,-0.12 -0.08,-0.18 -0.06,-0.11 -0.12,-0.23 -0.18,-0.34 -0.05,-0.09 -0.18,-0.01 -0.13,0.08 0.06,0.11 0.12,0.23 0.18,0.34 0.02,0.06 0.05,0.11 0.08,0.17 z"
+   id="path1440" />
+			<path
+   class="st1"
+   d="m 228.42,369.6 c 0.05,0.12 0.09,0.25 0.18,0.36 0.07,0.09 0.2,0.04 0.18,-0.08 -0.02,-0.13 -0.09,-0.25 -0.15,-0.37 -0.06,-0.12 -0.12,-0.24 -0.18,-0.36 -0.12,-0.24 -0.23,-0.48 -0.34,-0.72 -0.04,-0.09 -0.17,-0.01 -0.13,0.08 0.1,0.24 0.2,0.48 0.3,0.73 0.05,0.12 0.09,0.24 0.14,0.36 z"
+   id="path1442" />
+			<path
+   class="st1"
+   d="m 229.09,371.17 c 0.08,0.12 0.16,0.25 0.24,0.37 0.04,0.06 0.07,0.13 0.12,0.18 0.05,0.07 0.1,0.12 0.15,0.18 0.08,0.08 0.2,-0.02 0.15,-0.12 -0.03,-0.07 -0.07,-0.13 -0.12,-0.19 -0.05,-0.06 -0.1,-0.12 -0.15,-0.18 -0.09,-0.11 -0.18,-0.23 -0.28,-0.35 -0.04,-0.06 -0.16,0.04 -0.11,0.11 z"
+   id="path1444" />
+			<path
+   class="st1"
+   d="m 230.13,367.31 c 0.01,0.02 0.02,0.05 0.03,0.07 0.01,0.02 0.02,0.03 0.03,0.05 0.04,0.07 0.07,0.14 0.11,0.2 0.03,0.05 0.1,0.02 0.09,-0.04 -0.01,-0.08 -0.04,-0.15 -0.05,-0.22 -0.01,-0.04 -0.01,-0.07 -0.02,-0.1 -0.01,-0.04 -0.03,-0.07 -0.04,-0.11 -0.05,-0.14 -0.1,-0.28 -0.16,-0.42 -0.02,-0.05 -0.07,-0.09 -0.12,-0.07 -0.05,0.01 -0.09,0.07 -0.07,0.12 0.05,0.14 0.11,0.29 0.16,0.43 0.02,0.03 0.03,0.06 0.04,0.09 z"
+   id="path1446" />
+			<path
+   class="st1"
+   d="m 258,357.81 c -0.13,-0.24 -0.26,-0.48 -0.39,-0.72 -0.04,-0.07 -0.14,-0.01 -0.11,0.06 0.12,0.24 0.24,0.48 0.35,0.73 0.05,0.12 0.11,0.24 0.16,0.36 0.05,0.12 0.11,0.25 0.21,0.34 0.04,0.03 0.12,0.01 0.11,-0.05 -0.01,-0.13 -0.08,-0.26 -0.15,-0.38 -0.05,-0.12 -0.11,-0.23 -0.18,-0.34 z"
+   id="path1448" />
+			<path
+   class="st1"
+   d="m 258.89,359.81 c 0.1,0.15 0.19,0.3 0.29,0.45 0.05,0.07 0.1,0.15 0.14,0.22 0.03,0.04 0.05,0.08 0.08,0.11 0.03,0.03 0.05,0.07 0.09,0.09 0.04,0.02 0.09,0 0.09,-0.05 0,-0.04 -0.02,-0.08 -0.04,-0.12 -0.02,-0.04 -0.04,-0.08 -0.07,-0.12 -0.05,-0.07 -0.1,-0.14 -0.15,-0.22 -0.1,-0.15 -0.2,-0.29 -0.3,-0.44 -0.05,-0.09 -0.19,-0.01 -0.13,0.08 z"
+   id="path1450" />
+			<path
+   class="st1"
+   d="m 254.39,356.88 c -0.07,-0.2 -0.15,-0.41 -0.22,-0.61 -0.02,-0.06 -0.08,-0.11 -0.15,-0.09 -0.06,0.02 -0.11,0.09 -0.09,0.15 0.07,0.21 0.14,0.42 0.21,0.63 0.03,0.1 0.07,0.2 0.1,0.31 0.04,0.11 0.06,0.26 0.18,0.3 0.05,0.02 0.1,-0.01 0.13,-0.05 0.07,-0.1 -0.01,-0.25 -0.05,-0.34 z"
+   id="path1452" />
+			<path
+   class="st1"
+   d="m 254.69,358.31 c -0.11,0.03 -0.06,0.2 0.05,0.17 0.1,-0.03 0.06,-0.2 -0.05,-0.17 z"
+   id="path1454" />
+			<path
+   class="st1"
+   d="m 252.75,357.68 c -0.04,-0.11 -0.08,-0.21 -0.12,-0.31 -0.09,-0.21 -0.17,-0.41 -0.26,-0.62 -0.02,-0.06 -0.08,-0.1 -0.14,-0.08 -0.06,0.02 -0.11,0.09 -0.08,0.14 l 0.25,0.63 c 0.04,0.11 0.08,0.21 0.13,0.32 0.02,0.05 0.05,0.1 0.07,0.15 0.03,0.06 0.05,0.1 0.1,0.14 0.05,0.05 0.13,0.01 0.13,-0.06 0,-0.07 0,-0.11 -0.03,-0.17 -0.01,-0.04 -0.03,-0.09 -0.05,-0.14 z"
+   id="path1456" />
+			<path
+   class="st1"
+   d="m 251.05,358.24 c -0.02,-0.06 -0.04,-0.13 -0.07,-0.19 -0.05,-0.13 -0.1,-0.25 -0.15,-0.38 -0.02,-0.05 -0.07,-0.09 -0.13,-0.07 -0.05,0.01 -0.09,0.07 -0.07,0.13 0.05,0.13 0.1,0.26 0.15,0.39 0.03,0.07 0.05,0.14 0.08,0.2 0.01,0.03 0.02,0.06 0.04,0.09 0.02,0.03 0.04,0.06 0.06,0.09 0.04,0.07 0.14,0.02 0.13,-0.05 -0.01,-0.03 -0.01,-0.07 -0.01,-0.1 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 z"
+   id="path1458" />
+			<path
+   class="st1"
+   d="m 250.07,358.7 c -0.05,-0.12 -0.09,-0.23 -0.14,-0.35 -0.09,-0.23 -0.19,-0.46 -0.28,-0.7 -0.02,-0.05 -0.07,-0.09 -0.13,-0.07 -0.05,0.01 -0.09,0.08 -0.07,0.13 0.09,0.24 0.18,0.48 0.28,0.71 0.05,0.12 0.09,0.23 0.14,0.35 0.02,0.06 0.05,0.11 0.08,0.17 0.03,0.06 0.05,0.12 0.1,0.16 0.05,0.04 0.11,0.01 0.12,-0.05 0.01,-0.06 -0.02,-0.13 -0.04,-0.19 -0.03,-0.05 -0.04,-0.1 -0.06,-0.16 z"
+   id="path1460" />
+			<path
+   class="st1"
+   d="m 250.37,359.79 c 0.06,-0.02 0.04,-0.11 -0.03,-0.1 -0.06,0.02 -0.03,0.12 0.03,0.1 z"
+   id="path1462" />
+			<path
+   class="st1"
+   d="m 260.27,356.17 c 0.05,0.1 0.09,0.19 0.15,0.28 0.05,0.06 0.16,0.03 0.13,-0.06 -0.03,-0.1 -0.08,-0.19 -0.13,-0.29 -0.05,-0.09 -0.1,-0.19 -0.14,-0.28 -0.1,-0.19 -0.19,-0.38 -0.29,-0.56 -0.05,-0.09 -0.18,-0.01 -0.14,0.08 l 0.27,0.56 c 0.07,0.08 0.11,0.18 0.15,0.27 z"
+   id="path1464" />
+			<path
+   class="st1"
+   d="m 261.55,358.92 c 0.03,0.04 0.08,0 0.07,-0.04 -0.04,-0.23 -0.17,-0.44 -0.27,-0.65 l -0.32,-0.64 c -0.03,-0.07 -0.13,-0.01 -0.1,0.06 0.1,0.22 0.2,0.44 0.29,0.65 0.1,0.21 0.18,0.45 0.33,0.62 z"
+   id="path1466" />
+			<path
+   class="st1"
+   d="m 262.55,353.59 c 0.04,0.05 0.07,0.11 0.12,0.16 0.05,0.04 0.11,0 0.1,-0.06 -0.01,-0.06 -0.04,-0.12 -0.06,-0.17 -0.03,-0.06 -0.06,-0.12 -0.09,-0.18 -0.06,-0.11 -0.12,-0.23 -0.18,-0.34 -0.02,-0.05 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.06,0.08 -0.03,0.13 0.06,0.11 0.12,0.23 0.18,0.34 0.02,0.04 0.05,0.09 0.09,0.15 z"
+   id="path1468" />
+			<path
+   class="st1"
+   d="m 263.95,353.55 c 0.04,0.08 0.19,0.03 0.15,-0.07 -0.13,-0.37 -0.3,-0.72 -0.46,-1.08 -0.02,-0.05 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.06,0.09 -0.03,0.13 l 0.23,0.53 c 0.07,0.18 0.15,0.35 0.24,0.52 z"
+   id="path1470" />
+			<path
+   class="st1"
+   d="m 264.76,354.82 c -0.04,-0.08 -0.08,-0.16 -0.12,-0.24 -0.02,-0.04 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.05,0.08 -0.03,0.13 0.04,0.08 0.07,0.16 0.11,0.25 0.02,0.04 0.03,0.08 0.05,0.12 0.01,0.02 0.02,0.04 0.03,0.06 0.01,0.02 0.02,0.04 0.04,0.05 0.02,0.01 0.04,0.01 0.06,0.01 0.03,0 0.06,-0.02 0.08,-0.04 0.03,-0.04 0.02,-0.08 0,-0.12 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.03,-0.05 -0.04,-0.09 -0.06,-0.13 z"
+   id="path1472" />
+			<path
+   class="st1"
+   d="m 264.96,350.83 c 0.02,0.06 0.04,0.11 0.06,0.17 0.02,0.07 0.05,0.12 0.1,0.18 0.08,0.08 0.19,0.01 0.2,-0.08 0.01,-0.12 -0.05,-0.24 -0.08,-0.35 -0.04,-0.11 -0.08,-0.22 -0.12,-0.33 -0.08,-0.22 -0.16,-0.44 -0.23,-0.67 -0.05,-0.16 -0.3,-0.09 -0.25,0.07 0.07,0.23 0.15,0.46 0.22,0.68 0.03,0.11 0.06,0.22 0.1,0.33 z"
+   id="path1474" />
+			<path
+   class="st1"
+   d="m 199.89,378.71 c 0.03,0.12 0.06,0.23 0.09,0.35 0.01,0.06 0.03,0.11 0.04,0.17 0.02,0.06 0.03,0.12 0.05,0.18 0.02,0.05 0.06,0.08 0.12,0.07 0.06,-0.02 0.08,-0.07 0.07,-0.12 -0.01,-0.06 -0.03,-0.12 -0.05,-0.17 -0.02,-0.06 -0.03,-0.11 -0.05,-0.17 l -0.1,-0.34 c -0.03,-0.12 -0.2,-0.08 -0.17,0.03 z"
+   id="path1476" />
+			<path
+   class="st1"
+   d="m 200.71,380.55 c -0.03,-0.07 -0.06,-0.14 -0.1,-0.21 -0.02,-0.05 -0.09,-0.06 -0.14,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.14 0.06,0.12 0.12,0.25 0.21,0.36 0.02,0.03 0.06,0.05 0.09,0.03 0.03,-0.01 0.05,-0.05 0.04,-0.09 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.01,-0.02 -0.02,-0.06 -0.03,-0.09 z"
+   id="path1478" />
+			<path
+   class="st1"
+   d="m 201.96,377.58 c 0.01,0.04 0.03,0.07 0.04,0.11 0.02,0.05 0.04,0.08 0.07,0.12 0.04,0.06 0.13,0.04 0.13,-0.04 0.01,-0.05 0.01,-0.09 0,-0.14 -0.01,-0.04 -0.01,-0.08 -0.02,-0.11 -0.01,-0.08 -0.04,-0.16 -0.06,-0.24 -0.04,-0.16 -0.09,-0.32 -0.13,-0.48 -0.04,-0.15 -0.26,-0.08 -0.23,0.06 0.04,0.16 0.08,0.32 0.12,0.48 0.03,0.08 0.05,0.16 0.08,0.24 z"
+   id="path1480" />
+			<path
+   class="st1"
+   d="m 202.78,378.22 c -0.02,0.01 -0.03,0.04 -0.02,0.07 0.06,0.12 0.12,0.25 0.2,0.36 0.02,0.03 0.08,0.01 0.07,-0.03 -0.05,-0.13 -0.12,-0.26 -0.18,-0.39 -0.01,-0.02 -0.05,-0.02 -0.07,-0.01 z"
+   id="path1482" />
+			<path
+   class="st1"
+   d="m 203.8,380.26 c 0.01,0.03 0.03,0.07 0.04,0.1 0.02,0.04 0.04,0.06 0.06,0.09 0.06,0.06 0.17,0.01 0.17,-0.07 0,-0.04 0,-0.08 -0.02,-0.11 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 l -0.07,-0.17 c -0.05,-0.12 -0.09,-0.23 -0.14,-0.35 -0.02,-0.06 -0.08,-0.1 -0.14,-0.08 -0.05,0.02 -0.1,0.08 -0.08,0.14 0.05,0.12 0.09,0.24 0.14,0.36 z"
+   id="path1484" />
+			<path
+   class="st1"
+   d="m 202.91,376.72 c -0.02,-0.11 -0.04,-0.22 -0.08,-0.32 -0.04,-0.11 -0.09,-0.21 -0.14,-0.32 -0.09,-0.2 -0.18,-0.41 -0.27,-0.61 -0.06,-0.13 -0.28,-0.04 -0.23,0.1 0.08,0.21 0.16,0.41 0.24,0.62 0.04,0.11 0.08,0.22 0.13,0.32 0.04,0.1 0.11,0.19 0.17,0.29 0.06,0.09 0.2,0.03 0.18,-0.08 z"
+   id="path1486" />
+			<path
+   class="st1"
+   d="m 207.64,379.59 c -0.13,-0.21 -0.26,-0.42 -0.38,-0.63 -0.08,-0.14 -0.3,-0.01 -0.22,0.13 0.13,0.21 0.26,0.42 0.38,0.63 0.06,0.1 0.12,0.21 0.19,0.3 0.04,0.05 0.08,0.1 0.12,0.15 0.04,0.05 0.07,0.1 0.12,0.14 0.06,0.05 0.14,0 0.12,-0.07 -0.01,-0.06 -0.04,-0.12 -0.07,-0.17 -0.03,-0.06 -0.05,-0.12 -0.08,-0.17 -0.05,-0.12 -0.12,-0.21 -0.18,-0.31 z"
+   id="path1488" />
+			<path
+   class="st1"
+   d="m 208.89,381.98 c 0.03,-0.02 0.04,-0.05 0.02,-0.08 -0.05,-0.1 -0.1,-0.2 -0.14,-0.3 -0.02,-0.04 -0.08,-0.05 -0.11,-0.03 -0.04,0.02 -0.05,0.07 -0.03,0.11 0.06,0.09 0.12,0.19 0.18,0.28 0.02,0.02 0.06,0.04 0.08,0.02 z"
+   id="path1490" />
+			<path
+   class="st1"
+   d="m 301.3,337.39 c -0.27,-0.63 -0.55,-1.26 -0.82,-1.89 -0.05,-0.11 -0.21,-0.01 -0.16,0.1 0.27,0.62 0.53,1.24 0.8,1.86 0.14,0.32 0.29,0.63 0.43,0.96 0.12,0.3 0.17,0.64 0.36,0.91 0.07,0.11 0.25,0.04 0.22,-0.09 -0.07,-0.32 -0.28,-0.59 -0.42,-0.89 -0.16,-0.32 -0.28,-0.65 -0.41,-0.96 z"
+   id="path1492" />
+			<path
+   class="st1"
+   d="m 303.77,334.95 c -0.06,-0.1 -0.21,-0.01 -0.16,0.09 0.11,0.21 0.23,0.43 0.34,0.64 0.11,0.21 0.22,0.43 0.35,0.63 0.05,0.07 0.19,0.03 0.15,-0.06 -0.09,-0.23 -0.22,-0.44 -0.33,-0.65 -0.12,-0.22 -0.23,-0.44 -0.35,-0.65 z"
+   id="path1494" />
+			<path
+   class="st1"
+   d="m 305.69,338.94 c -0.04,-0.12 -0.09,-0.24 -0.14,-0.36 -0.1,-0.25 -0.2,-0.5 -0.3,-0.75 -0.03,-0.07 -0.09,-0.12 -0.17,-0.1 -0.07,0.02 -0.12,0.1 -0.1,0.17 0.08,0.26 0.16,0.51 0.24,0.77 0.04,0.12 0.08,0.25 0.12,0.37 0.03,0.07 0.06,0.13 0.1,0.2 0.03,0.06 0.06,0.13 0.13,0.16 0.05,0.03 0.13,0.02 0.16,-0.04 0.04,-0.07 0.02,-0.13 0.01,-0.21 -0.02,-0.07 -0.02,-0.14 -0.05,-0.21 z"
+   id="path1496" />
+			<path
+   class="st1"
+   d="m 306.08,340.49 c 0.09,-0.02 0.05,-0.16 -0.04,-0.14 -0.09,0.02 -0.05,0.16 0.04,0.14 z"
+   id="path1498" />
+			<path
+   class="st1"
+   d="m 305.79,333.73 c -0.05,-0.09 -0.19,-0.01 -0.14,0.08 0.11,0.19 0.22,0.39 0.33,0.58 0.05,0.1 0.11,0.19 0.16,0.29 0.05,0.1 0.11,0.2 0.17,0.29 0.04,0.05 0.15,0.03 0.12,-0.05 -0.08,-0.21 -0.21,-0.4 -0.32,-0.6 -0.1,-0.19 -0.21,-0.39 -0.32,-0.59 z"
+   id="path1500" />
+			<path
+   class="st1"
+   d="m 310.85,333.36 c -0.07,-0.15 -0.14,-0.3 -0.21,-0.46 -0.15,-0.31 -0.3,-0.63 -0.45,-0.94 -0.07,-0.15 -0.28,-0.02 -0.22,0.13 0.14,0.31 0.28,0.63 0.41,0.94 0.07,0.15 0.14,0.31 0.21,0.46 0.04,0.08 0.07,0.15 0.11,0.23 0.04,0.08 0.07,0.15 0.15,0.2 0.06,0.04 0.15,0 0.16,-0.07 0.01,-0.09 -0.02,-0.16 -0.05,-0.24 -0.04,-0.08 -0.07,-0.16 -0.11,-0.25 z"
+   id="path1502" />
+			<path
+   class="st1"
+   d="m 312.15,336.74 c -0.04,-0.13 -0.08,-0.25 -0.13,-0.38 -0.09,-0.25 -0.19,-0.49 -0.29,-0.74 -0.03,-0.07 -0.09,-0.11 -0.16,-0.09 -0.07,0.02 -0.12,0.09 -0.09,0.16 0.08,0.26 0.16,0.51 0.24,0.77 0.04,0.12 0.08,0.24 0.13,0.36 0.03,0.07 0.06,0.13 0.09,0.2 0.03,0.06 0.05,0.12 0.12,0.16 0.06,0.04 0.13,0 0.15,-0.06 0.03,-0.07 0,-0.14 -0.02,-0.2 -0.01,-0.06 -0.02,-0.12 -0.04,-0.18 z"
+   id="path1504" />
+			<path
+   class="st1"
+   d="m 313.73,331.31 c -0.12,-0.22 -0.23,-0.43 -0.35,-0.65 -0.04,-0.08 -0.16,-0.01 -0.12,0.07 0.11,0.22 0.23,0.43 0.34,0.65 0.06,0.11 0.11,0.21 0.17,0.32 0.06,0.1 0.11,0.22 0.19,0.31 0.04,0.04 0.1,0 0.09,-0.05 -0.03,-0.11 -0.09,-0.22 -0.14,-0.32 -0.06,-0.11 -0.12,-0.22 -0.18,-0.33 z"
+   id="path1506" />
+			<path
+   class="st1"
+   d="m 314.75,333.59 c -0.09,-0.24 -0.18,-0.49 -0.27,-0.73 -0.05,-0.14 -0.28,-0.08 -0.23,0.06 0.08,0.25 0.16,0.49 0.24,0.74 0.04,0.12 0.08,0.25 0.12,0.37 0.04,0.12 0.07,0.26 0.15,0.36 0.07,0.09 0.23,0.07 0.23,-0.06 0,-0.13 -0.06,-0.25 -0.1,-0.38 -0.05,-0.12 -0.1,-0.24 -0.14,-0.36 z"
+   id="path1508" />
+			<path
+   class="st1"
+   d="m 318.34,330.07 c -0.1,-0.19 -0.2,-0.37 -0.3,-0.56 -0.2,-0.36 -0.41,-0.72 -0.61,-1.09 -0.07,-0.12 -0.25,-0.01 -0.19,0.11 0.19,0.37 0.37,0.74 0.56,1.12 0.09,0.18 0.18,0.36 0.28,0.54 0.05,0.09 0.1,0.18 0.16,0.26 0.06,0.08 0.11,0.18 0.18,0.24 0.07,0.06 0.15,0 0.14,-0.08 -0.01,-0.1 -0.07,-0.21 -0.11,-0.3 -0.03,-0.07 -0.06,-0.15 -0.11,-0.24 z"
+   id="path1510" />
+			<path
+   class="st1"
+   d="m 319.6,332.73 c -0.02,-0.05 -0.03,-0.11 -0.05,-0.16 -0.04,-0.11 -0.1,-0.21 -0.15,-0.31 -0.1,-0.2 -0.19,-0.39 -0.29,-0.59 -0.03,-0.07 -0.14,-0.09 -0.2,-0.05 -0.08,0.04 -0.08,0.13 -0.05,0.2 l 0.25,0.6 c 0.04,0.09 0.08,0.19 0.12,0.29 0.04,0.08 0.09,0.18 0.17,0.24 0.03,0.03 0.05,0.06 0.09,0.08 0.05,0.02 0.11,0 0.12,-0.05 0.01,-0.04 0.01,-0.07 0,-0.12 -0.01,0.02 -0.01,0.04 -0.02,0.06 0.04,-0.07 0.04,-0.12 0.01,-0.19 z"
+   id="path1512" />
+			<path
+   class="st1"
+   d="m 319.7,333.49 c 0.04,0.07 0.07,0.14 0.11,0.2 0.02,0.03 0.03,0.07 0.05,0.1 0.01,0.02 0.03,0.04 0.05,0.06 0.02,0.01 0.04,0.03 0.06,0.04 0.04,0.03 0.1,-0.01 0.1,-0.06 0,-0.02 0,-0.04 0,-0.05 0,-0.03 -0.02,-0.06 -0.03,-0.09 -0.02,-0.03 -0.04,-0.07 -0.05,-0.1 -0.04,-0.07 -0.08,-0.13 -0.12,-0.2 -0.02,-0.04 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.06,0.09 -0.04,0.13 z"
+   id="path1514" />
+			<path
+   class="st1"
+   d="m 324.75,326.28 c -0.06,-0.13 -0.13,-0.25 -0.19,-0.38 l -0.38,-0.75 c -0.07,-0.14 -0.28,-0.02 -0.21,0.13 0.12,0.25 0.25,0.51 0.37,0.76 0.06,0.13 0.12,0.25 0.19,0.38 0.03,0.06 0.06,0.11 0.09,0.17 0.04,0.07 0.08,0.11 0.13,0.17 0.06,0.07 0.16,-0.01 0.14,-0.08 -0.02,-0.08 -0.03,-0.14 -0.06,-0.22 -0.03,-0.07 -0.06,-0.13 -0.08,-0.18 z"
+   id="path1516" />
+			<path
+   class="st1"
+   d="m 325.54,327.82 c -0.06,0.02 -0.11,0.09 -0.09,0.16 0.12,0.3 0.23,0.6 0.35,0.9 0.03,0.07 0.09,0.11 0.16,0.09 0.06,-0.02 0.12,-0.09 0.09,-0.16 -0.11,-0.3 -0.24,-0.6 -0.36,-0.89 -0.02,-0.07 -0.08,-0.12 -0.15,-0.1 z"
+   id="path1518" />
+			<path
+   class="st1"
+   d="m 326.25,329.54 c -0.07,0.02 -0.1,0.09 -0.09,0.15 0.02,0.09 0.04,0.18 0.06,0.27 0.01,0.04 0.02,0.09 0.03,0.13 0.02,0.07 0.03,0.15 0.1,0.18 0.07,0.03 0.14,0.01 0.18,-0.05 0.04,-0.06 0.02,-0.14 -0.01,-0.21 -0.01,-0.04 -0.03,-0.09 -0.04,-0.13 -0.03,-0.09 -0.05,-0.18 -0.08,-0.26 -0.01,-0.05 -0.08,-0.1 -0.15,-0.08 z"
+   id="path1520" />
+			<path
+   class="st1"
+   d="m 329.68,322.64 c -0.02,-0.05 -0.1,-0.07 -0.15,-0.04 -0.06,0.03 -0.06,0.1 -0.04,0.15 0.1,0.22 0.19,0.44 0.29,0.65 0.09,0.22 0.18,0.44 0.3,0.64 0.06,0.09 0.22,0.03 0.19,-0.08 -0.07,-0.23 -0.18,-0.45 -0.28,-0.67 -0.11,-0.21 -0.21,-0.43 -0.31,-0.65 z"
+   id="path1522" />
+			<path
+   class="st1"
+   d="m 331.36,325.86 c -0.05,-0.09 -0.09,-0.18 -0.14,-0.28 -0.09,-0.19 -0.19,-0.38 -0.28,-0.57 -0.03,-0.05 -0.1,-0.06 -0.14,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.14 0.09,0.19 0.18,0.39 0.27,0.58 0.04,0.09 0.09,0.19 0.13,0.28 0.04,0.09 0.09,0.22 0.19,0.26 0.05,0.02 0.09,-0.02 0.11,-0.06 0.02,-0.06 -0.01,-0.11 -0.03,-0.16 -0.02,-0.05 -0.04,-0.1 -0.07,-0.15 z"
+   id="path1524" />
+			<path
+   class="st1"
+   d="m 333.23,322.64 c -0.04,0.02 -0.06,0.08 -0.03,0.12 0.14,0.19 0.28,0.38 0.42,0.56 0.03,0.04 0.08,-0.01 0.06,-0.05 -0.11,-0.2 -0.23,-0.4 -0.34,-0.59 -0.01,-0.05 -0.07,-0.06 -0.11,-0.04 z"
+   id="path1526" />
+			<path
+   class="st1"
+   d="m 334.25,324.81 0.2,0.75 c 0.03,0.12 0.06,0.25 0.1,0.37 0.04,0.11 0.09,0.25 0.17,0.35 0.05,0.07 0.15,0.04 0.16,-0.04 0.01,-0.12 -0.01,-0.27 -0.03,-0.38 -0.03,-0.13 -0.07,-0.25 -0.1,-0.37 -0.07,-0.25 -0.14,-0.5 -0.2,-0.75 -0.06,-0.2 -0.35,-0.12 -0.3,0.07 z"
+   id="path1528" />
+			<path
+   class="st1"
+   d="m 335.79,322.22 c -0.06,-0.11 -0.13,-0.21 -0.2,-0.32 -0.14,-0.21 -0.28,-0.43 -0.42,-0.64 -0.11,-0.16 -0.37,-0.01 -0.26,0.16 0.13,0.22 0.26,0.44 0.4,0.65 0.06,0.11 0.13,0.22 0.2,0.32 0.04,0.05 0.08,0.1 0.12,0.16 0.04,0.06 0.08,0.11 0.15,0.14 0.08,0.04 0.18,-0.01 0.18,-0.1 0,-0.07 -0.03,-0.13 -0.06,-0.2 -0.05,-0.06 -0.08,-0.12 -0.11,-0.17 z"
+   id="path1530" />
+			<path
+   class="st1"
+   d="m 336.69,324.12 c 0.1,-0.03 0.06,-0.19 -0.04,-0.16 -0.11,0.03 -0.06,0.19 0.04,0.16 z"
+   id="path1532" />
+			<path
+   class="st1"
+   d="m 337.16,321.2 c -0.13,-0.2 -0.26,-0.4 -0.39,-0.59 -0.1,-0.15 -0.35,-0.01 -0.25,0.15 0.13,0.2 0.26,0.4 0.38,0.6 0.06,0.1 0.12,0.2 0.19,0.29 0.03,0.05 0.07,0.1 0.1,0.15 0.04,0.05 0.07,0.11 0.13,0.14 0.07,0.04 0.17,-0.01 0.17,-0.1 0,-0.12 -0.1,-0.23 -0.16,-0.34 -0.04,-0.1 -0.11,-0.2 -0.17,-0.3 z"
+   id="path1534" />
+			<path
+   class="st1"
+   d="m 337.69,322.83 c -0.02,0.01 -0.03,0.03 -0.03,0.05 0.01,0.03 0.02,0.07 0.03,0.1 0.01,0.02 0.02,0.03 0.04,0.02 0.02,-0.01 0.03,-0.02 0.02,-0.04 -0.01,-0.04 -0.02,-0.07 -0.02,-0.11 0,-0.02 -0.02,-0.03 -0.04,-0.02 z"
+   id="path1536" />
+			<path
+   class="st1"
+   d="m 340.42,319.81 c -0.02,0.01 -0.02,0.03 -0.03,0.05 0,0.03 0.01,0.04 0.02,0.06 0.07,0.09 0.13,0.17 0.2,0.26 0.02,0.02 0.04,0.03 0.06,0.02 0.02,-0.01 0.03,-0.04 0.02,-0.06 -0.06,-0.1 -0.11,-0.2 -0.16,-0.3 -0.02,-0.04 -0.07,-0.05 -0.11,-0.03 z"
+   id="path1538" />
+			<path
+   class="st1"
+   d="m 344.78,318.22 c -0.12,-0.16 -0.24,-0.32 -0.36,-0.47 -0.04,-0.06 -0.12,-0.09 -0.18,-0.05 -0.06,0.03 -0.09,0.12 -0.05,0.18 0.12,0.16 0.24,0.32 0.36,0.48 0.06,0.08 0.13,0.17 0.19,0.25 0.06,0.08 0.12,0.17 0.21,0.22 0.08,0.04 0.17,-0.03 0.15,-0.12 -0.02,-0.1 -0.1,-0.18 -0.15,-0.27 -0.05,-0.06 -0.11,-0.14 -0.17,-0.22 z"
+   id="path1540" />
+			<path
+   class="st1"
+   d="m 348.8,315.95 c 0.07,0.12 0.14,0.24 0.21,0.36 0.07,0.12 0.14,0.27 0.26,0.36 0.08,0.06 0.16,-0.04 0.15,-0.12 -0.02,-0.13 -0.12,-0.26 -0.18,-0.37 -0.07,-0.12 -0.15,-0.25 -0.23,-0.37 -0.15,-0.24 -0.3,-0.48 -0.46,-0.73 -0.08,-0.13 -0.27,-0.01 -0.2,0.12 0.16,0.24 0.3,0.5 0.45,0.75 z"
+   id="path1542" />
+			<path
+   class="st1"
+   d="m 349.83,317.93 c 0.14,0.25 0.28,0.5 0.4,0.76 0.13,0.27 0.29,0.53 0.41,0.81 0.11,0.27 0.21,0.55 0.3,0.83 0.08,0.26 0.11,0.58 0.24,0.82 0.04,0.08 0.16,0.04 0.17,-0.04 0.01,-0.28 -0.13,-0.6 -0.21,-0.86 -0.09,-0.28 -0.2,-0.56 -0.31,-0.84 -0.11,-0.27 -0.19,-0.54 -0.32,-0.8 -0.14,-0.27 -0.3,-0.54 -0.47,-0.8 -0.09,-0.14 -0.29,-0.02 -0.21,0.12 z"
+   id="path1544" />
+			<path
+   class="st1"
+   d="m 350.61,316.23 c 0.05,0.13 0.11,0.27 0.19,0.39 0.08,0.12 0.17,0.25 0.29,0.33 0.06,0.04 0.15,-0.03 0.12,-0.1 -0.04,-0.13 -0.12,-0.25 -0.18,-0.37 -0.06,-0.12 -0.13,-0.24 -0.19,-0.37 -0.11,-0.25 -0.19,-0.52 -0.24,-0.79 -0.01,-0.06 -0.08,-0.09 -0.14,-0.08 -0.07,0.02 -0.09,0.08 -0.08,0.14 0.04,0.29 0.12,0.58 0.23,0.85 z"
+   id="path1546" />
+			<path
+   class="st1"
+   d="m 347.96,317.05 c 0.11,0.18 0.2,0.38 0.34,0.53 0.07,0.08 0.21,0 0.18,-0.11 -0.06,-0.2 -0.19,-0.38 -0.3,-0.56 -0.11,-0.18 -0.21,-0.36 -0.32,-0.54 -0.08,-0.14 -0.31,-0.01 -0.22,0.13 0.1,0.18 0.21,0.36 0.32,0.55 z"
+   id="path1548" />
+			<path
+   class="st1"
+   d="m 355.73,318.44 c 0.03,0.07 0.06,0.14 0.1,0.2 0.03,0.04 0.09,0.02 0.08,-0.03 -0.01,-0.07 -0.04,-0.14 -0.07,-0.21 -0.03,-0.07 -0.05,-0.14 -0.08,-0.21 l -0.17,-0.41 c -0.03,-0.06 -0.13,-0.02 -0.11,0.04 0.05,0.14 0.11,0.28 0.16,0.41 0.03,0.08 0.06,0.15 0.09,0.21 z"
+   id="path1550" />
+			<path
+   class="st1"
+   d="m 356.17,320.71 c 0.04,0.16 0.09,0.32 0.23,0.41 0.04,0.03 0.1,0.01 0.12,-0.03 0.09,-0.15 0.06,-0.32 0.03,-0.49 -0.02,-0.15 -0.06,-0.31 -0.11,-0.46 -0.05,-0.15 -0.09,-0.3 -0.14,-0.45 -0.06,-0.16 -0.09,-0.32 -0.13,-0.49 -0.04,-0.15 -0.25,-0.08 -0.23,0.06 0.06,0.32 0.09,0.64 0.13,0.96 0.02,0.17 0.06,0.33 0.1,0.49 z"
+   id="path1552" />
+			<path
+   class="st1"
+   d="m 356.99,312.59 c -0.04,-0.09 -0.18,-0.05 -0.15,0.04 0.12,0.29 0.23,0.59 0.35,0.88 0.11,0.29 0.22,0.58 0.36,0.86 0.04,0.08 0.16,0.02 0.14,-0.06 -0.09,-0.3 -0.22,-0.58 -0.34,-0.86 -0.12,-0.29 -0.24,-0.58 -0.36,-0.86 z"
+   id="path1554" />
+			<path
+   class="st1"
+   d="m 358.11,313.19 -0.14,-0.53 c -0.04,-0.15 -0.27,-0.09 -0.23,0.06 l 0.14,0.53 c 0.02,0.09 0.05,0.18 0.08,0.26 0.03,0.09 0.05,0.18 0.1,0.26 0.04,0.06 0.14,0.04 0.14,-0.04 0.01,-0.09 -0.02,-0.18 -0.04,-0.27 0,-0.09 -0.02,-0.18 -0.05,-0.27 z"
+   id="path1556" />
+			<path
+   class="st1"
+   d="m 361.8,312.24 c -0.07,-0.11 -0.13,-0.22 -0.18,-0.34 -0.11,-0.23 -0.18,-0.48 -0.22,-0.73 -0.01,-0.07 -0.1,-0.11 -0.16,-0.09 -0.07,0.02 -0.1,0.09 -0.09,0.16 0.04,0.27 0.12,0.54 0.23,0.79 0.05,0.12 0.11,0.24 0.18,0.36 0.06,0.11 0.16,0.26 0.27,0.32 0.08,0.04 0.17,-0.03 0.15,-0.12 -0.01,-0.07 -0.05,-0.12 -0.08,-0.17 -0.04,-0.07 -0.07,-0.12 -0.1,-0.18 z"
+   id="path1558" />
+			<path
+   class="st1"
+   d="m 362.75,314.29 c -0.03,-0.06 -0.05,-0.12 -0.08,-0.18 l -0.16,-0.36 c -0.02,-0.05 -0.09,-0.06 -0.13,-0.04 -0.04,0.02 -0.08,0.07 -0.06,0.12 0.05,0.12 0.1,0.24 0.15,0.36 l 0.08,0.18 c 0.01,0.03 0.02,0.07 0.04,0.1 0.02,0.03 0.04,0.06 0.06,0.09 0.06,0.09 0.19,0.03 0.17,-0.07 -0.01,-0.03 -0.01,-0.07 -0.02,-0.1 -0.02,-0.03 -0.03,-0.07 -0.05,-0.1 z"
+   id="path1560" />
+			<path
+   class="st1"
+   d="m 365.11,312.26 c -0.11,-0.33 -0.23,-0.66 -0.34,-1 -0.04,-0.11 -0.2,-0.06 -0.17,0.05 0.1,0.33 0.21,0.67 0.31,1 0.05,0.17 0.1,0.33 0.16,0.5 0.05,0.16 0.1,0.33 0.18,0.47 0.04,0.06 0.15,0.04 0.14,-0.04 -0.01,-0.16 -0.08,-0.33 -0.13,-0.49 -0.04,-0.16 -0.09,-0.32 -0.15,-0.49 z"
+   id="path1562" />
+			<path
+   class="st1"
+   d="m 366.18,315.56 c -0.07,-0.23 -0.14,-0.46 -0.2,-0.69 -0.04,-0.15 -0.26,-0.09 -0.23,0.06 0.06,0.23 0.11,0.47 0.17,0.7 0.03,0.12 0.05,0.23 0.09,0.35 0.03,0.11 0.1,0.22 0.16,0.32 0.04,0.06 0.13,0.03 0.13,-0.04 0,-0.12 0.01,-0.24 -0.02,-0.36 -0.02,-0.11 -0.06,-0.23 -0.1,-0.34 z"
+   id="path1564" />
+			<path
+   class="st1"
+   d="m 365.95,311.63 c 0.05,0.1 0.09,0.21 0.15,0.3 0.04,0.05 0.14,0.04 0.14,-0.04 -0.01,-0.11 -0.04,-0.2 -0.07,-0.31 -0.03,-0.09 -0.05,-0.19 -0.08,-0.28 -0.07,-0.2 -0.15,-0.4 -0.23,-0.6 -0.15,-0.4 -0.31,-0.79 -0.46,-1.19 -0.05,-0.13 -0.26,-0.08 -0.21,0.06 0.14,0.4 0.28,0.8 0.42,1.2 0.07,0.2 0.14,0.4 0.22,0.6 0.04,0.1 0.09,0.18 0.12,0.26 z"
+   id="path1566" />
+			<path
+   class="st1"
+   d="m 366.53,313.26 c 0.09,0.28 0.17,0.56 0.25,0.85 0.08,0.29 0.2,0.56 0.32,0.83 0.06,0.13 0.25,0.03 0.22,-0.09 -0.07,-0.28 -0.14,-0.56 -0.25,-0.83 -0.11,-0.27 -0.21,-0.54 -0.31,-0.81 -0.05,-0.16 -0.27,-0.1 -0.23,0.05 z"
+   id="path1568" />
+			<path
+   class="st1"
+   d="m 368.31,309.6 c -0.16,-0.43 -0.32,-0.87 -0.48,-1.3 -0.06,-0.16 -0.32,-0.1 -0.26,0.07 0.15,0.44 0.3,0.87 0.45,1.31 0.08,0.22 0.15,0.44 0.23,0.65 0.07,0.2 0.13,0.45 0.26,0.62 0.07,0.09 0.24,0.07 0.23,-0.06 -0.01,-0.22 -0.12,-0.44 -0.19,-0.64 -0.08,-0.21 -0.16,-0.43 -0.24,-0.65 z"
+   id="path1570" />
+			<path
+   class="st1"
+   d="m 368.84,307.81 c 0.34,0.85 0.62,1.74 1.09,2.53 0.04,0.07 0.15,0.02 0.13,-0.06 -0.21,-0.88 -0.62,-1.71 -0.97,-2.54 -0.06,-0.16 -0.31,-0.09 -0.25,0.07 z"
+   id="path1572" />
+			<path
+   class="st1"
+   d="m 370.17,306.86 c -0.06,-0.08 -0.18,-0.01 -0.13,0.08 0.17,0.26 0.31,0.54 0.41,0.83 0.05,0.14 0.09,0.28 0.13,0.42 0.04,0.15 0.07,0.31 0.12,0.46 0.03,0.1 0.19,0.09 0.19,-0.02 0,-0.31 -0.13,-0.63 -0.25,-0.92 -0.13,-0.3 -0.29,-0.58 -0.47,-0.85 z"
+   id="path1574" />
+			<path
+   class="st1"
+   d="m 371.62,310.31 c -0.02,-0.07 -0.1,-0.12 -0.17,-0.1 -0.07,0.02 -0.12,0.1 -0.1,0.17 0.04,0.16 0.09,0.32 0.13,0.48 0.04,0.16 0.08,0.33 0.18,0.47 0.05,0.08 0.17,0.05 0.17,-0.05 0.02,-0.17 -0.04,-0.34 -0.08,-0.5 -0.04,-0.15 -0.09,-0.31 -0.13,-0.47 z"
+   id="path1576" />
+			<path
+   class="st1"
+   d="m 372.61,313.2 c -0.06,-0.21 -0.12,-0.42 -0.18,-0.64 -0.04,-0.14 -0.26,-0.08 -0.22,0.06 0.05,0.21 0.11,0.43 0.16,0.64 0.03,0.11 0.05,0.22 0.08,0.32 0.04,0.1 0.09,0.21 0.15,0.29 0.04,0.06 0.12,0.03 0.12,-0.03 0.01,-0.1 0,-0.23 -0.02,-0.33 -0.02,-0.1 -0.06,-0.21 -0.09,-0.31 z"
+   id="path1578" />
+			<path
+   class="st1"
+   d="m 372.87,314.35 c -0.03,-0.09 -0.18,-0.06 -0.15,0.04 0.18,0.54 0.31,1.08 0.42,1.64 0.1,0.55 0.11,1.12 0.23,1.67 0.02,0.12 0.19,0.08 0.2,-0.03 0.05,-0.55 -0.09,-1.13 -0.2,-1.67 -0.12,-0.56 -0.29,-1.11 -0.5,-1.65 z"
+   id="path1580" />
+			<path
+   class="st1"
+   d="m 372.63,308.43 c 0.09,0.19 0.17,0.37 0.29,0.54 0.07,0.1 0.25,0.04 0.21,-0.09 -0.05,-0.2 -0.14,-0.38 -0.23,-0.56 -0.09,-0.19 -0.17,-0.37 -0.26,-0.56 -0.18,-0.37 -0.37,-0.74 -0.55,-1.11 -0.07,-0.15 -0.29,-0.02 -0.22,0.13 0.17,0.37 0.33,0.74 0.5,1.1 0.08,0.2 0.17,0.37 0.26,0.55 z"
+   id="path1582" />
+			<path
+   class="st1"
+   d="m 374.14,312.1 c -0.02,-0.11 -0.06,-0.21 -0.09,-0.31 -0.06,-0.21 -0.12,-0.42 -0.19,-0.62 -0.05,-0.17 -0.31,-0.1 -0.26,0.07 0.05,0.21 0.1,0.42 0.15,0.63 0.02,0.1 0.05,0.2 0.08,0.3 0.03,0.11 0.07,0.21 0.11,0.32 0.06,0.16 0.29,0.1 0.26,-0.07 -0.02,-0.11 -0.03,-0.22 -0.06,-0.32 z"
+   id="path1584" />
+			<path
+   class="st1"
+   d="m 375.12,317.96 c 0.06,-0.34 -0.04,-0.72 -0.09,-1.06 -0.06,-0.4 -0.11,-0.8 -0.17,-1.2 -0.11,-0.79 -0.23,-1.57 -0.36,-2.35 -0.03,-0.17 -0.32,-0.13 -0.3,0.04 0.09,0.77 0.19,1.55 0.3,2.32 0.05,0.39 0.11,0.77 0.16,1.16 0.05,0.36 0.06,0.8 0.22,1.13 0.06,0.08 0.22,0.06 0.24,-0.04 z"
+   id="path1586" />
+			<path
+   class="st1"
+   d="m 216.58,376.79 c 0.07,0.13 0.14,0.26 0.21,0.39 0.03,0.06 0.07,0.12 0.1,0.18 0.02,0.03 0.04,0.06 0.06,0.1 0.02,0.03 0.04,0.06 0.07,0.08 0.03,0.02 0.06,-0.01 0.06,-0.04 0,-0.04 -0.02,-0.07 -0.03,-0.1 -0.02,-0.03 -0.03,-0.07 -0.05,-0.1 -0.04,-0.06 -0.07,-0.12 -0.11,-0.18 l -0.23,-0.37 c -0.04,-0.04 -0.1,-0.01 -0.08,0.04 z"
+   id="path1588" />
+			<path
+   class="st1"
+   d="m 217.53,378.59 c 0.04,0.07 0.08,0.13 0.13,0.19 0.03,0.04 0.06,0.06 0.09,0.1 0.03,0.03 0.05,0.06 0.09,0.08 0.04,0.02 0.11,0 0.1,-0.06 0,-0.04 -0.02,-0.08 -0.04,-0.12 -0.02,-0.04 -0.03,-0.07 -0.05,-0.11 -0.04,-0.07 -0.08,-0.13 -0.12,-0.2 -0.09,-0.13 -0.18,-0.26 -0.27,-0.39 -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.07,0.1 -0.04,0.15 0.09,0.14 0.18,0.27 0.26,0.4 z"
+   id="path1590" />
+			<path
+   class="st1"
+   d="m 218.35,379.68 c 0.04,0.04 0.07,0.08 0.11,0.11 0.05,0.04 0.09,0.09 0.16,0.1 0.07,0.01 0.13,-0.04 0.12,-0.12 -0.01,-0.06 -0.06,-0.11 -0.11,-0.16 -0.04,-0.04 -0.08,-0.07 -0.12,-0.11 l -0.24,-0.22 c -0.04,-0.04 -0.11,-0.04 -0.15,0 -0.04,0.04 -0.04,0.11 0,0.15 0.08,0.1 0.16,0.18 0.23,0.25 z"
+   id="path1592" />
+			<path
+   class="st1"
+   d="m 215.56,375.02 c 0.02,0.05 0.05,0.09 0.07,0.14 0.02,0.05 0.04,0.1 0.08,0.13 0.02,0.02 0.07,0.01 0.08,-0.02 0.02,-0.09 -0.02,-0.2 -0.03,-0.29 -0.01,-0.11 -0.06,-0.22 -0.1,-0.32 -0.07,-0.21 -0.13,-0.41 -0.2,-0.62 -0.04,-0.13 -0.24,-0.07 -0.2,0.05 0.06,0.21 0.13,0.41 0.19,0.62 0.04,0.11 0.07,0.22 0.11,0.31 z"
+   id="path1594" />
+			<path
+   class="st1"
+   d="m 216.14,376.05 c 0.04,0.04 0.11,0.04 0.15,0.01 0.04,-0.04 0.06,-0.1 0.03,-0.15 -0.03,-0.05 -0.06,-0.09 -0.1,-0.13 -0.03,-0.04 -0.07,-0.09 -0.11,-0.13 -0.07,-0.08 -0.14,-0.16 -0.2,-0.24 -0.05,-0.06 -0.14,0.02 -0.11,0.08 0.05,0.09 0.11,0.18 0.16,0.27 0.05,0.1 0.1,0.21 0.18,0.29 z"
+   id="path1596" />
+			<path
+   class="st1"
+   d="m 212.58,346.39 c -0.05,-0.17 -0.1,-0.34 -0.17,-0.5 -0.06,-0.14 -0.24,-0.09 -0.22,0.06 0.02,0.18 0.06,0.35 0.11,0.52 0.02,0.08 0.04,0.17 0.07,0.24 0.02,0.05 0.04,0.09 0.07,0.14 0.02,0.05 0.04,0.09 0.1,0.1 0.03,0.01 0.07,0 0.09,-0.02 0.04,-0.04 0.04,-0.09 0.04,-0.14 0,-0.05 0,-0.1 -0.01,-0.15 -0.02,-0.08 -0.05,-0.16 -0.08,-0.25 z"
+   id="path1598" />
+			<path
+   class="st1"
+   d="m 213.26,349.37 c 0.05,0.09 0.1,0.18 0.16,0.27 0.02,0.02 0.03,0.05 0.05,0.07 0.02,0.02 0.04,0.03 0.05,0.04 0.04,0.04 0.07,0.08 0.1,0.12 0.04,0.04 0.11,0 0.1,-0.06 -0.01,-0.05 -0.04,-0.1 -0.05,-0.15 -0.01,-0.02 -0.01,-0.04 -0.01,-0.07 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.05,-0.1 -0.1,-0.19 -0.16,-0.28 l -0.32,-0.55 c -0.08,-0.13 -0.27,-0.01 -0.2,0.12 0.1,0.19 0.21,0.38 0.31,0.56 z"
+   id="path1600" />
+			<path
+   class="st1"
+   d="m 215.09,348.13 c 0.02,0.03 0.07,0.02 0.09,0 0.02,-0.02 0.04,-0.06 0.02,-0.09 -0.11,-0.16 -0.22,-0.32 -0.34,-0.48 -0.03,-0.04 -0.09,-0.06 -0.13,-0.02 -0.04,0.03 -0.04,0.09 -0.01,0.13 0.12,0.16 0.24,0.31 0.37,0.46 z"
+   id="path1602" />
+			<path
+   class="st1"
+   d="m 216.41,347.17 c -0.1,-0.53 -0.32,-1.04 -0.5,-1.55 -0.04,-0.1 -0.2,-0.06 -0.17,0.04 0.17,0.52 0.31,1.06 0.56,1.55 0.03,0.07 0.12,0.02 0.11,-0.04 z"
+   id="path1604" />
+			<path
+   class="st1"
+   d="m 216.88,348.78 c 0.02,0.03 0.04,0.07 0.05,0.1 0.02,0.04 0.05,0.06 0.07,0.09 0.05,0.06 0.09,0.14 0.16,0.19 0.05,0.03 0.11,-0.01 0.11,-0.06 0,-0.04 -0.01,-0.08 -0.03,-0.12 -0.01,-0.04 -0.03,-0.07 -0.04,-0.11 -0.01,-0.02 0,-0.01 -0.01,-0.05 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.02,-0.04 -0.04,-0.07 -0.06,-0.1 -0.08,-0.13 -0.15,-0.27 -0.23,-0.4 -0.04,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.12 -0.05,0.18 0.09,0.12 0.16,0.26 0.24,0.39 z"
+   id="path1606" />
+			<path
+   class="st1"
+   d="m 220.01,345.52 c -0.04,-0.1 -0.07,-0.2 -0.11,-0.3 -0.07,-0.2 -0.15,-0.41 -0.22,-0.61 -0.04,-0.11 -0.23,-0.07 -0.18,0.05 0.08,0.21 0.15,0.42 0.23,0.63 0.04,0.1 0.08,0.21 0.11,0.31 0.02,0.05 0.03,0.1 0.05,0.14 0.02,0.06 0.06,0.1 0.09,0.15 0.04,0.07 0.13,0.02 0.12,-0.05 -0.01,-0.06 -0.01,-0.11 -0.03,-0.16 -0.02,-0.06 -0.04,-0.11 -0.06,-0.16 z"
+   id="path1608" />
+			<path
+   class="st1"
+   d="m 220.77,346.97 c -0.03,-0.06 -0.12,-0.08 -0.17,-0.04 -0.06,0.04 -0.07,0.11 -0.04,0.17 0.09,0.2 0.18,0.4 0.27,0.6 0.09,0.2 0.17,0.4 0.29,0.59 0.07,0.11 0.26,0.04 0.22,-0.09 -0.07,-0.22 -0.17,-0.42 -0.27,-0.62 -0.11,-0.2 -0.2,-0.41 -0.3,-0.61 z"
+   id="path1610" />
+			<path
+   class="st1"
+   d="m 221.9,346.81 c -0.07,-0.36 -0.25,-0.69 -0.39,-1.02 -0.15,-0.34 -0.3,-0.68 -0.46,-1.02 -0.05,-0.12 -0.22,-0.01 -0.17,0.1 0.15,0.33 0.29,0.67 0.44,1 0.15,0.33 0.27,0.68 0.49,0.98 0.03,0.04 0.1,0.02 0.09,-0.04 z"
+   id="path1612" />
+			<path
+   class="st1"
+   d="m 223.99,346.55 c 0.04,0.08 0.09,0.16 0.15,0.24 0.05,0.08 0.1,0.17 0.19,0.22 0.07,0.04 0.15,-0.03 0.13,-0.1 -0.02,-0.09 -0.08,-0.16 -0.12,-0.24 -0.05,-0.08 -0.09,-0.16 -0.14,-0.25 -0.08,-0.15 -0.16,-0.31 -0.23,-0.48 -0.13,-0.34 -0.23,-0.69 -0.27,-1.05 -0.02,-0.14 -0.23,-0.14 -0.22,0 0.04,0.39 0.13,0.77 0.27,1.13 0.07,0.18 0.15,0.36 0.24,0.53 z"
+   id="path1614" />
+			<path
+   class="st1"
+   d="m 224.03,343.31 c 0.11,0.34 0.21,0.68 0.32,1.02 0.05,0.17 0.1,0.33 0.16,0.5 0.03,0.08 0.06,0.16 0.1,0.24 0.04,0.08 0.06,0.17 0.12,0.23 0.04,0.04 0.14,0.03 0.15,-0.04 0.01,-0.09 -0.01,-0.16 -0.03,-0.25 -0.02,-0.08 -0.03,-0.16 -0.06,-0.24 -0.06,-0.17 -0.12,-0.35 -0.17,-0.52 -0.12,-0.34 -0.23,-0.68 -0.35,-1.02 -0.05,-0.13 -0.29,-0.07 -0.24,0.08 z"
+   id="path1616" />
+			<path
+   class="st1"
+   d="m 226.32,344.75 c 0.05,0.03 0.11,-0.03 0.08,-0.08 -0.07,-0.14 -0.17,-0.25 -0.26,-0.37 -0.08,-0.12 -0.16,-0.24 -0.22,-0.36 -0.13,-0.27 -0.22,-0.55 -0.26,-0.84 -0.02,-0.11 -0.18,-0.06 -0.17,0.04 0.04,0.31 0.14,0.61 0.27,0.89 0.14,0.27 0.3,0.57 0.56,0.72 z"
+   id="path1618" />
+			<path
+   class="st1"
+   d="m 267.37,329.63 c 0.09,0.15 0.21,0.42 0.41,0.42 0.06,0 0.12,-0.04 0.14,-0.1 0.05,-0.17 -0.14,-0.37 -0.23,-0.51 -0.09,-0.15 -0.17,-0.31 -0.25,-0.47 -0.15,-0.33 -0.26,-0.68 -0.32,-1.04 -0.03,-0.16 -0.31,-0.13 -0.29,0.04 0.05,0.39 0.14,0.77 0.28,1.14 0.08,0.18 0.16,0.35 0.26,0.52 z"
+   id="path1620" />
+			<path
+   class="st1"
+   d="m 282.35,323.07 c 0.04,0.11 0.07,0.22 0.11,0.33 0.03,0.1 0.06,0.21 0.14,0.28 0.04,0.04 0.13,0.03 0.14,-0.04 0.04,-0.2 -0.08,-0.43 -0.14,-0.61 -0.07,-0.23 -0.15,-0.45 -0.23,-0.68 -0.15,-0.45 -0.3,-0.89 -0.45,-1.34 -0.04,-0.12 -0.22,-0.07 -0.18,0.05 0.14,0.45 0.28,0.9 0.41,1.35 0.06,0.22 0.13,0.44 0.2,0.66 z"
+   id="path1622" />
+			<path
+   class="st1"
+   d="m 312.35,308.95 c 0.09,0.31 0.17,0.63 0.22,0.95 0.03,0.18 0.06,0.37 0.08,0.55 0.02,0.15 0.02,0.3 0.09,0.44 0.05,0.11 0.21,0.07 0.24,-0.03 0.09,-0.28 -0.02,-0.69 -0.08,-0.97 -0.07,-0.36 -0.16,-0.71 -0.28,-1.05 -0.22,-0.67 -0.52,-1.31 -0.9,-1.9 -0.09,-0.14 -0.32,-0.01 -0.23,0.13 0.38,0.59 0.67,1.22 0.86,1.88 z"
+   id="path1624" />
+			<path
+   class="st1"
+   d="m 338.47,294.19 c -0.06,0.02 -0.03,0.1 0.02,0.09 0.06,-0.02 0.04,-0.1 -0.02,-0.09 z"
+   id="path1626" />
+			<path
+   class="st1"
+   d="m 227.43,341.91 c 0.01,0.04 0.03,0.09 0.04,0.13 0.01,0.04 0.02,0.09 0.06,0.12 0.03,0.03 0.08,0.01 0.09,-0.02 0.01,-0.05 0,-0.09 -0.01,-0.13 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 -0.02,-0.09 -0.04,-0.19 -0.06,-0.28 -0.04,-0.18 -0.08,-0.37 -0.12,-0.55 -0.03,-0.14 -0.26,-0.08 -0.22,0.06 0.06,0.18 0.12,0.36 0.17,0.54 0.02,0.08 0.05,0.17 0.08,0.25 z"
+   id="path1628" />
+			<path
+   class="st1"
+   d="m 227.91,344.24 c 0.05,0.12 0.11,0.36 0.26,0.39 0.05,0.01 0.12,-0.01 0.14,-0.06 0.04,-0.08 0.02,-0.13 -0.01,-0.21 -0.03,-0.07 -0.06,-0.13 -0.08,-0.2 -0.05,-0.13 -0.1,-0.26 -0.14,-0.39 -0.09,-0.27 -0.17,-0.54 -0.2,-0.82 -0.01,-0.13 -0.21,-0.13 -0.2,0 0.01,0.3 0.02,0.6 0.1,0.89 0.03,0.13 0.08,0.27 0.13,0.4 z"
+   id="path1630" />
+			<path
+   class="st1"
+   d="m 230.19,341.88 c 0.01,0.04 0.02,0.08 0.04,0.12 0.01,0.04 0.02,0.08 0.05,0.11 0.03,0.05 0.09,0.03 0.11,-0.02 0.01,-0.04 0.02,-0.08 0.02,-0.11 0.01,-0.04 0.02,-0.08 0.02,-0.11 0,-0.08 -0.02,-0.16 -0.03,-0.23 -0.02,-0.15 -0.04,-0.31 -0.05,-0.46 -0.01,-0.05 -0.04,-0.1 -0.1,-0.1 -0.05,0 -0.1,0.04 -0.1,0.1 0.01,0.16 0.02,0.31 0.02,0.47 0.01,0.07 0.01,0.16 0.02,0.23 z"
+   id="path1632" />
+			<path
+   class="st1"
+   d="m 230.59,343.63 c 0.01,0.01 0.02,0.02 0.04,0.03 0.01,0.01 0.03,0.01 0.05,0 0.01,0 0.02,-0.01 0.03,-0.02 0.01,-0.01 0.02,-0.03 0.02,-0.05 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 l -0.03,-0.12 c -0.01,-0.04 -0.06,-0.08 -0.11,-0.06 -0.05,0.01 -0.07,0.06 -0.06,0.11 l 0.03,0.12 c 0.01,0.05 0.03,0.09 0.05,0.13 z"
+   id="path1634" />
+			<path
+   class="st1"
+   d="m 233.29,340.68 c 0.03,0.13 0.03,0.32 0.15,0.39 0.04,0.02 0.11,0.02 0.14,-0.02 0.06,-0.07 0.05,-0.13 0.04,-0.21 -0.01,-0.07 -0.02,-0.14 -0.03,-0.21 -0.02,-0.14 -0.04,-0.27 -0.07,-0.41 -0.05,-0.27 -0.1,-0.55 -0.15,-0.82 -0.01,-0.08 -0.11,-0.12 -0.18,-0.1 -0.08,0.02 -0.12,0.1 -0.1,0.18 0.05,0.27 0.09,0.54 0.14,0.81 0.01,0.13 0.04,0.26 0.06,0.39 z"
+   id="path1636" />
+			<path
+   class="st1"
+   d="m 233.56,341.71 c 0.01,0.05 0.03,0.11 0.04,0.16 0.01,0.04 0.01,0.07 0.03,0.11 0.01,0.02 0.03,0.05 0.04,0.07 0.02,0.04 0.08,0.06 0.12,0.05 0.04,-0.01 0.08,-0.05 0.08,-0.1 0,-0.03 0,-0.05 0,-0.08 0,-0.04 -0.02,-0.07 -0.03,-0.11 -0.02,-0.05 -0.03,-0.11 -0.05,-0.16 -0.02,-0.06 -0.08,-0.1 -0.15,-0.08 -0.06,0.02 -0.1,0.08 -0.08,0.14 z"
+   id="path1638" />
+			<path
+   class="st1"
+   d="m 235.83,340.17 c -0.05,0.03 -0.05,0.08 -0.03,0.13 0.06,0.12 0.11,0.25 0.17,0.37 0.02,0.05 0.09,0.06 0.13,0.03 0.05,-0.03 0.06,-0.08 0.03,-0.13 -0.06,-0.12 -0.12,-0.24 -0.18,-0.36 -0.01,-0.05 -0.08,-0.07 -0.12,-0.04 z"
+   id="path1640" />
+			<path
+   class="st1"
+   d="m 235.52,338.32 c 0.04,0.18 0.09,0.36 0.13,0.53 0.02,0.09 0.04,0.18 0.07,0.26 0.02,0.04 0.03,0.08 0.05,0.13 0.02,0.05 0.04,0.09 0.07,0.13 0.04,0.04 0.12,0.02 0.13,-0.04 0.02,-0.08 -0.01,-0.19 -0.02,-0.27 -0.02,-0.09 -0.05,-0.18 -0.07,-0.27 -0.05,-0.18 -0.11,-0.35 -0.16,-0.53 -0.04,-0.12 -0.23,-0.07 -0.2,0.06 z"
+   id="path1642" />
+			<path
+   class="st1"
+   d="m 238.6,338.58 c 0.01,0.02 0.03,0.04 0.06,0.03 0.03,-0.01 0.04,-0.03 0.03,-0.06 -0.01,-0.05 -0.01,-0.11 -0.02,-0.16 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 -0.01,-0.04 -0.06,-0.07 -0.1,-0.06 -0.04,0.01 -0.07,0.06 -0.06,0.1 0.02,0.05 0.04,0.1 0.05,0.15 0.02,0.06 0.05,0.11 0.07,0.16 z"
+   id="path1644" />
+			<path
+   class="st1"
+   d="m 238.97,339.56 c 0.05,0.08 0.11,0.17 0.16,0.25 0.03,0.04 0.09,0.06 0.13,0.03 0.05,-0.03 0.06,-0.09 0.03,-0.13 -0.05,-0.09 -0.09,-0.18 -0.14,-0.26 -0.05,-0.08 -0.1,-0.17 -0.16,-0.25 -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.07,0.09 -0.04,0.15 0.07,0.08 0.12,0.17 0.17,0.25 z"
+   id="path1646" />
+			<path
+   class="st1"
+   d="m 241.62,337.11 c 0,0.01 0.01,0.01 0.01,0.02 0.01,0.01 0.02,0.01 0.03,0.02 0.02,0.01 0.04,0.01 0.05,0 0.01,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.03,-0.04 0.02,-0.06 0,-0.03 0,-0.07 -0.01,-0.1 -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 -0.01,-0.03 -0.03,-0.05 -0.05,-0.06 -0.02,-0.01 -0.05,-0.02 -0.08,-0.01 -0.03,0.01 -0.05,0.02 -0.06,0.05 -0.01,0.02 -0.02,0.05 -0.01,0.08 0.01,0.03 0.02,0.05 0.02,0.08 0.03,0.02 0.04,0.05 0.06,0.08 z"
+   id="path1648" />
+			<path
+   class="st1"
+   d="m 242.13,338.48 c 0.02,0.03 0.04,0.06 0.07,0.09 0.02,0.02 0.05,0.02 0.08,0.01 0.02,-0.01 0.05,-0.04 0.04,-0.06 0,-0.02 0,-0.04 -0.01,-0.07 0,-0.02 -0.01,-0.03 -0.02,-0.05 -0.01,-0.04 -0.03,-0.08 -0.05,-0.12 -0.03,-0.06 -0.07,-0.13 -0.1,-0.19 -0.02,-0.04 -0.09,-0.06 -0.13,-0.03 -0.05,0.03 -0.06,0.08 -0.03,0.13 0.03,0.06 0.06,0.13 0.09,0.19 0.02,0.04 0.04,0.07 0.06,0.1 z"
+   id="path1650" />
+			<path
+   class="st1"
+   d="m 246.08,333.96 c 0.01,0.05 0.03,0.09 0.05,0.14 0.02,0.06 0.05,0.11 0.1,0.14 0.06,0.04 0.12,0.01 0.16,-0.04 0.03,-0.05 0.03,-0.1 0.03,-0.16 0,-0.06 0,-0.11 -0.01,-0.17 -0.02,-0.09 -0.04,-0.18 -0.05,-0.26 -0.04,-0.18 -0.08,-0.37 -0.11,-0.55 -0.02,-0.08 -0.12,-0.14 -0.2,-0.11 -0.09,0.03 -0.13,0.11 -0.11,0.2 0.03,0.18 0.06,0.37 0.1,0.55 0.01,0.08 0.02,0.17 0.04,0.26 z"
+   id="path1652" />
+			<path
+   class="st1"
+   d="m 246.37,335.21 c 0.04,0.18 0.09,0.36 0.13,0.53 0.02,0.09 0.04,0.17 0.07,0.26 0.02,0.05 0.05,0.08 0.07,0.12 0.02,0.04 0.05,0.08 0.08,0.11 0.03,0.03 0.08,0.01 0.09,-0.02 0.01,-0.05 0.01,-0.09 0.01,-0.13 0,-0.05 0.01,-0.09 0,-0.13 -0.02,-0.09 -0.05,-0.18 -0.07,-0.27 -0.05,-0.18 -0.1,-0.35 -0.15,-0.53 -0.04,-0.15 -0.27,-0.09 -0.23,0.06 z"
+   id="path1654" />
+			<path
+   class="st1"
+   d="m 249.2,333.38 c 0.02,-0.01 0.03,-0.02 0.02,-0.04 -0.01,-0.05 -0.02,-0.11 -0.04,-0.16 0,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,0.01 -0.03,0.03 -0.03,0.05 0.02,0.05 0.03,0.1 0.05,0.16 0.02,0.02 0.03,0.03 0.05,0.02 z"
+   id="path1656" />
+			<path
+   class="st1"
+   d="m 250.71,333.2 c 0.06,0.1 0.11,0.2 0.21,0.27 0.07,0.05 0.16,-0.03 0.14,-0.11 -0.03,-0.1 -0.1,-0.19 -0.15,-0.28 -0.05,-0.09 -0.1,-0.18 -0.14,-0.28 -0.08,-0.19 -0.13,-0.39 -0.17,-0.59 -0.01,-0.06 -0.09,-0.1 -0.14,-0.08 -0.07,0.02 -0.09,0.08 -0.08,0.14 0.04,0.22 0.1,0.43 0.18,0.64 0.05,0.1 0.09,0.19 0.15,0.29 z"
+   id="path1658" />
+			<path
+   class="st1"
+   d="m 257.53,330.71 c 0.04,0.08 0.08,0.17 0.12,0.25 0.04,0.09 0.09,0.17 0.15,0.25 0.05,0.07 0.13,0.1 0.21,0.07 0.07,-0.03 0.12,-0.12 0.1,-0.19 -0.07,-0.19 -0.17,-0.36 -0.27,-0.54 -0.09,-0.17 -0.19,-0.34 -0.28,-0.51 -0.04,-0.07 -0.14,-0.1 -0.22,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.22 0.08,0.17 0.16,0.34 0.25,0.51 z"
+   id="path1660" />
+			<path
+   class="st1"
+   d="m 258.74,332.95 c 0.03,0.01 0.05,0.02 0.08,0.03 0.03,0 0.03,0 0.04,-0.01 0,0 -0.01,0 -0.01,0 0.05,0 0.1,-0.02 0.11,-0.08 0.01,-0.02 0,-0.04 0,-0.06 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.02,-0.03 -0.04,-0.05 -0.06,-0.07 0,0 0,-0.01 -0.01,-0.01 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 0,0 0,0 0,0.01 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 0,-0.01 0,-0.02 -0.01,-0.03 0,0 0,-0.01 0,-0.01 0,-0.03 0,-0.05 0,-0.08 0,-0.07 -0.06,-0.13 -0.12,-0.13 -0.06,-0.01 -0.14,0.03 -0.15,0.1 -0.03,0.22 0.03,0.44 0.18,0.61 0.03,0.01 0.05,0.02 0.08,0.04 z"
+   id="path1662" />
+			<path
+   class="st1"
+   d="m 259.77,330.64 c 0.05,0.1 0.1,0.2 0.15,0.3 0.02,0.05 0.04,0.09 0.07,0.14 0.03,0.06 0.07,0.11 0.12,0.16 0.05,0.05 0.13,0.06 0.19,0.02 0.06,-0.04 0.08,-0.11 0.07,-0.18 -0.01,-0.07 -0.03,-0.13 -0.06,-0.19 -0.02,-0.05 -0.04,-0.09 -0.07,-0.14 -0.05,-0.1 -0.1,-0.2 -0.15,-0.3 -0.1,-0.2 -0.2,-0.4 -0.3,-0.61 -0.04,-0.09 -0.17,-0.11 -0.25,-0.06 -0.09,0.05 -0.11,0.16 -0.06,0.25 0.1,0.2 0.2,0.4 0.29,0.61 z"
+   id="path1664" />
+			<path
+   class="st1"
+   d="m 255.69,331.6 c 0.01,0.02 0.03,0.04 0.04,0.06 0.02,0.02 0.03,0.04 0.04,0.07 0.03,0.04 0.05,0.09 0.1,0.12 0.06,0.05 0.14,0.02 0.14,-0.06 0.01,-0.05 -0.01,-0.1 -0.02,-0.16 -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 -0.01,-0.03 -0.01,-0.06 -0.03,-0.1 -0.04,-0.09 -0.08,-0.18 -0.12,-0.28 -0.01,-0.03 -0.06,-0.06 -0.09,-0.07 -0.03,-0.01 -0.08,0 -0.11,0.02 -0.03,0.02 -0.06,0.05 -0.07,0.09 -0.01,0.04 0,0.07 0.02,0.11 0.04,0.1 0.08,0.19 0.12,0.28 z"
+   id="path1666" />
+			<path
+   class="st1"
+   d="m 252.86,332.73 c 0.03,0.06 0.05,0.12 0.1,0.15 0.03,0.02 0.05,0.03 0.09,0.02 0.03,-0.01 0.06,-0.03 0.06,-0.06 0.01,-0.04 0.01,-0.07 0,-0.11 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 -0.02,-0.05 -0.04,-0.11 -0.05,-0.16 -0.04,-0.11 -0.08,-0.21 -0.13,-0.32 -0.02,-0.06 -0.09,-0.11 -0.16,-0.09 -0.06,0.02 -0.12,0.09 -0.09,0.16 0.04,0.11 0.09,0.23 0.14,0.34 0.02,0.04 0.04,0.09 0.06,0.14 z"
+   id="path1668" />
+			<path
+   class="st1"
+   d="m 262.04,328.11 c 0.03,0.07 0.06,0.14 0.1,0.21 0.01,0.03 0.03,0.07 0.04,0.1 0.02,0.03 0.04,0.04 0.06,0.06 0.01,0.01 0.02,0.03 0.03,0.04 0.03,0.04 0.09,0.04 0.13,0.02 0.04,-0.02 0.06,-0.07 0.05,-0.12 -0.01,-0.05 -0.01,-0.09 -0.03,-0.14 -0.01,-0.03 -0.03,-0.06 -0.05,-0.1 -0.03,-0.07 -0.07,-0.14 -0.1,-0.21 -0.07,-0.14 -0.14,-0.28 -0.21,-0.41 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.07,0.04 -0.07,0.11 -0.05,0.18 0.09,0.14 0.15,0.28 0.21,0.42 z"
+   id="path1670" />
+			<path
+   class="st1"
+   d="m 262.59,329.28 c 0.02,0.03 0.04,0.05 0.05,0.08 0.01,0.01 0.02,0.03 0.03,0.04 0.01,0.02 0.03,0.04 0.05,0.05 0.01,0.01 0.02,0.01 0.02,0.01 0.01,0 0.01,0.01 0.02,0.01 0.02,0.02 0.04,0.03 0.07,0.03 0.02,0 0.06,0 0.08,-0.01 0.01,-0.01 0.02,-0.01 0.02,-0.02 0.03,-0.02 0.04,-0.08 0.03,-0.12 -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 0,-0.01 0,-0.01 0,-0.02 -0.01,-0.03 -0.03,-0.05 -0.05,-0.07 -0.01,-0.01 -0.02,-0.02 -0.03,-0.04 -0.02,-0.03 -0.04,-0.05 -0.06,-0.08 l -0.13,-0.15 c -0.02,-0.02 -0.06,-0.04 -0.09,-0.04 -0.03,0 -0.06,0.01 -0.08,0.03 -0.05,0.04 -0.07,0.11 -0.03,0.17 z"
+   id="path1672" />
+			<path
+   class="st1"
+   d="m 264.23,328.17 c 0.09,0.16 0.16,0.32 0.27,0.47 0.03,0.04 0.07,0.06 0.12,0.04 0.04,-0.02 0.07,-0.07 0.06,-0.11 -0.06,-0.18 -0.16,-0.34 -0.24,-0.5 -0.09,-0.16 -0.17,-0.32 -0.26,-0.49 -0.07,-0.13 -0.26,-0.01 -0.2,0.12 0.08,0.16 0.17,0.31 0.25,0.47 z"
+   id="path1674" />
+			<path
+   class="st1"
+   d="m 267.58,326.31 c 0.05,0.09 0.1,0.19 0.17,0.28 0.07,0.1 0.12,0.22 0.24,0.27 0.06,0.02 0.14,-0.03 0.15,-0.09 0.02,-0.12 -0.06,-0.24 -0.11,-0.35 -0.05,-0.1 -0.11,-0.19 -0.16,-0.29 -0.11,-0.19 -0.22,-0.38 -0.34,-0.58 -0.04,-0.08 -0.15,-0.1 -0.23,-0.06 -0.08,0.05 -0.1,0.15 -0.06,0.23 0.12,0.2 0.23,0.4 0.34,0.59 z"
+   id="path1676" />
+			<path
+   class="st1"
+   d="m 268.27,327.7 c 0.01,0.01 0.01,0.02 0.02,0.02 0.01,0.01 0.02,0.02 0.04,0.02 0.02,0.01 0.05,0.01 0.08,0.01 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.02,-0.02 0.04,-0.05 0.03,-0.08 0,-0.03 0,-0.06 -0.01,-0.09 l -0.05,-0.17 c -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 -0.03,-0.02 -0.06,-0.02 -0.09,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.06 -0.01,0.09 l 0.05,0.17 c 0,0.04 0.02,0.07 0.03,0.09 z"
+   id="path1678" />
+			<path
+   class="st1"
+   d="m 269.53,325.28 c -0.03,0.02 -0.04,0.05 -0.05,0.08 -0.01,0.04 0.01,0.07 0.04,0.11 0.05,0.07 0.1,0.13 0.16,0.2 0.05,0.07 0.1,0.14 0.16,0.19 0.02,0.02 0.06,0.03 0.09,0.01 0.03,-0.02 0.04,-0.05 0.03,-0.08 -0.03,-0.09 -0.08,-0.16 -0.12,-0.24 -0.04,-0.08 -0.08,-0.15 -0.13,-0.23 -0.03,-0.07 -0.12,-0.08 -0.18,-0.04 z"
+   id="path1680" />
+			<path
+   class="st1"
+   d="m 271.51,323.86 c 0.01,0.03 0.03,0.06 0.04,0.08 0.01,0.01 0.01,0.03 0.02,0.04 0.01,0.01 0.02,0.03 0.03,0.04 0,-0.01 0,-0.01 0,0 0.02,0.03 0.03,0.05 0.05,0.08 0.02,0.03 0.05,0.06 0.07,0.09 0.07,0.08 0.19,-0.01 0.17,-0.1 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.01,-0.03 -0.03,-0.05 -0.03,-0.08 0,0.01 0,0.01 0,-0.01 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.03 -0.03,-0.06 -0.04,-0.08 -0.06,-0.11 -0.12,-0.23 -0.18,-0.34 -0.03,-0.06 -0.13,-0.09 -0.19,-0.05 -0.06,0.04 -0.08,0.12 -0.05,0.19 0.06,0.11 0.12,0.23 0.18,0.34 z"
+   id="path1682" />
+			<path
+   class="st1"
+   d="m 273.21,323.11 c 0.05,0.1 0.09,0.2 0.14,0.3 0.05,0.1 0.09,0.22 0.18,0.29 0.07,0.06 0.2,0.02 0.2,-0.08 0,-0.12 -0.06,-0.22 -0.11,-0.33 -0.05,-0.11 -0.1,-0.21 -0.15,-0.32 -0.1,-0.2 -0.2,-0.41 -0.3,-0.62 -0.03,-0.07 -0.13,-0.08 -0.19,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.19 0.09,0.21 0.18,0.41 0.28,0.62 z"
+   id="path1684" />
+			<path
+   class="st1"
+   d="m 273.93,324.62 c 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0 0.01,0.01 0.02,0.01 0.01,0.01 0.02,0.02 0.04,0.02 0.02,0 0.03,0 0.05,0 0.02,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.02,-0.02 0.02,-0.04 0,-0.01 0,-0.01 0.01,-0.02 0,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,-0.03 0,-0.04 0,-0.02 -0.01,-0.05 -0.01,-0.07 0,-0.01 -0.01,-0.03 -0.01,-0.04 0,-0.02 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.01,-0.01 -0.03,-0.01 -0.05,-0.01 -0.02,0 -0.03,0 -0.05,0 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.01,0.03 -0.02,0.06 -0.01,0.09 0.01,0.04 0.02,0.07 0.04,0.11 0,0.01 0,0.02 0.01,0.03 z"
+   id="path1686" />
+			<path
+   class="st1"
+   d="m 271.42,327.06 c 0.04,0.07 0.08,0.14 0.13,0.2 0.05,0.05 0.09,0.12 0.17,0.15 0.05,0.02 0.09,-0.03 0.1,-0.07 0,-0.04 -0.02,-0.08 -0.03,-0.12 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 -0.03,-0.07 -0.08,-0.14 -0.12,-0.2 -0.08,-0.12 -0.15,-0.25 -0.23,-0.37 -0.04,-0.06 -0.12,-0.08 -0.17,-0.04 -0.06,0.04 -0.08,0.11 -0.04,0.17 0.06,0.11 0.14,0.24 0.22,0.37 z"
+   id="path1688" />
+			<path
+   class="st1"
+   d="m 275.76,325.63 c 0.07,-0.03 0.12,-0.11 0.09,-0.19 -0.09,-0.28 -0.21,-0.55 -0.32,-0.82 -0.03,-0.07 -0.1,-0.13 -0.18,-0.1 -0.07,0.02 -0.13,0.1 -0.1,0.18 0.1,0.29 0.19,0.59 0.31,0.87 0.03,0.07 0.14,0.09 0.2,0.06 z"
+   id="path1690" />
+			<path
+   class="st1"
+   d="m 276.77,322 c 0.09,0.13 0.18,0.28 0.3,0.39 0.07,0.07 0.17,-0.02 0.13,-0.1 -0.07,-0.14 -0.17,-0.27 -0.26,-0.4 l -0.27,-0.39 c -0.03,-0.05 -0.09,-0.07 -0.14,-0.04 -0.04,0.03 -0.07,0.1 -0.04,0.14 0.09,0.14 0.19,0.27 0.28,0.4 z"
+   id="path1692" />
+			<path
+   class="st1"
+   d="m 277.53,323.58 c 0.02,0.03 0.06,0.06 0.1,0.06 0.04,0 0.08,-0.03 0.1,-0.06 0.02,-0.03 0.02,-0.06 0.02,-0.09 0,-0.02 0,-0.03 0,-0.05 0,-0.02 0,-0.03 0,-0.05 0,-0.06 0,-0.12 -0.01,-0.19 0,-0.03 -0.01,-0.06 -0.03,-0.08 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.06,0 -0.12,0.05 -0.12,0.12 v 0.19 c 0,0.03 0,0.06 0.01,0.1 -0.01,0.03 -0.01,0.06 0.01,0.08 z"
+   id="path1694" />
+			<path
+   class="st1"
+   d="m 278.13,321.38 c 0.02,0.04 0.03,0.08 0.05,0.12 0.02,0.05 0.05,0.09 0.08,0.14 0.07,0.1 0.23,0.04 0.2,-0.09 -0.01,-0.05 -0.02,-0.1 -0.04,-0.15 -0.02,-0.04 -0.04,-0.08 -0.05,-0.11 -0.04,-0.08 -0.08,-0.16 -0.12,-0.24 -0.08,-0.16 -0.16,-0.32 -0.24,-0.49 -0.04,-0.09 -0.21,-0.03 -0.17,0.07 0.07,0.17 0.13,0.33 0.2,0.5 0.02,0.09 0.05,0.17 0.09,0.25 z"
+   id="path1696" />
+			<path
+   class="st1"
+   d="m 280.75,319.38 c 0.02,0.02 0.04,0.04 0.06,0.05 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.02 0.04,0.03 0.06,0.04 0.01,0.01 0.01,0.01 0,0 0,0 0.02,0.02 0.03,0.02 0.01,0.01 0.02,0.02 0.04,0.03 0.01,0.01 0.02,0.02 0.04,0.03 0.02,0.01 0.04,0.01 0.06,0.02 0.07,0.01 0.13,-0.04 0.11,-0.11 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.01 -0.02,-0.02 -0.03,-0.04 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 0,0 -0.02,-0.03 -0.02,-0.03 0,0 0,0 0,0 -0.01,-0.02 -0.02,-0.05 -0.04,-0.06 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.02,-0.02 -0.04,-0.04 -0.05,-0.06 -0.08,-0.08 -0.16,-0.16 -0.24,-0.24 -0.05,-0.06 -0.16,-0.06 -0.21,0 -0.05,0.06 -0.06,0.15 0,0.21 0.07,0.07 0.15,0.15 0.23,0.23 z"
+   id="path1698" />
+			<path
+   class="st1"
+   d="m 281.28,320.31 0.02,0.04 c 0.01,0.02 0.02,0.03 0.04,0.04 0.02,0.02 0.05,0.03 0.07,0.02 0.03,-0.01 0.04,-0.03 0.05,-0.05 0.01,-0.02 0.01,-0.04 0.01,-0.06 v -0.04 c 0,-0.03 -0.01,-0.05 -0.01,-0.08 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.02 -0.02,-0.03 -0.04,-0.04 -0.03,-0.01 -0.05,-0.02 -0.08,-0.01 -0.03,0.01 -0.05,0.03 -0.07,0.05 -0.01,0.02 -0.01,0.03 -0.01,0.05 0,0.02 0.01,0.04 0.02,0.06 0,0.03 0.01,0.06 0.02,0.08 z"
+   id="path1700" />
+			<path
+   class="st1"
+   d="m 283.7,318.82 c 0.03,0.05 0.07,0.1 0.11,0.14 0.05,0.06 0.15,0 0.13,-0.07 -0.02,-0.06 -0.03,-0.11 -0.06,-0.17 -0.03,-0.05 -0.06,-0.1 -0.08,-0.15 -0.05,-0.1 -0.11,-0.2 -0.16,-0.3 -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.07,0.09 -0.04,0.15 0.06,0.1 0.11,0.2 0.17,0.3 0.02,0.04 0.05,0.09 0.08,0.14 z"
+   id="path1702" />
+			<path
+   class="st1"
+   d="m 285.94,317.26 c 0.04,0.06 0.08,0.11 0.13,0.17 0.04,0.05 0.08,0.11 0.14,0.15 0.04,0.02 0.11,-0.01 0.11,-0.06 0,-0.02 0,-0.05 -0.01,-0.07 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 l -0.05,-0.09 c -0.03,-0.06 -0.06,-0.12 -0.1,-0.17 -0.07,-0.11 -0.15,-0.22 -0.22,-0.33 -0.03,-0.05 -0.1,-0.07 -0.16,-0.04 -0.05,0.03 -0.07,0.1 -0.04,0.16 z"
+   id="path1704" />
+			<path
+   class="st1"
+   d="m 286.68,318.42 c 0.13,-0.03 0.07,-0.23 -0.05,-0.2 -0.13,0.04 -0.08,0.23 0.05,0.2 z"
+   id="path1706" />
+			<path
+   class="st1"
+   d="m 288.78,315.72 c 0.04,0.08 0.09,0.15 0.13,0.23 0.02,0.04 0.05,0.08 0.07,0.12 0.01,0.02 0.03,0.05 0.05,0.06 0.03,0.03 0.06,0.04 0.09,0.05 0.06,0.02 0.15,-0.03 0.16,-0.09 0.01,-0.04 0.02,-0.07 0.01,-0.11 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 -0.04,-0.08 -0.08,-0.15 -0.12,-0.23 -0.09,-0.15 -0.17,-0.31 -0.26,-0.46 -0.04,-0.07 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.1,0.14 -0.06,0.22 z"
+   id="path1708" />
+			<path
+   class="st1"
+   d="m 289.7,317.93 c 0.02,0.1 0.04,0.2 0.11,0.28 0.06,0.06 0.16,0.03 0.19,-0.05 0.02,-0.06 0.01,-0.1 -0.01,-0.16 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 -0.03,-0.09 -0.06,-0.18 -0.08,-0.27 -0.06,-0.17 -0.11,-0.35 -0.16,-0.53 -0.04,-0.13 -0.24,-0.08 -0.2,0.06 0.04,0.18 0.09,0.36 0.13,0.53 0.01,0.08 0.03,0.17 0.05,0.26 z"
+   id="path1710" />
+			<path
+   class="st1"
+   d="m 292.12,315.91 c 0.06,0.13 0.12,0.26 0.22,0.37 0.1,0.11 0.19,0.21 0.23,0.36 0.02,0.09 0.16,0.02 0.1,-0.06 -0.1,-0.12 -0.11,-0.26 -0.15,-0.4 -0.03,-0.14 -0.11,-0.27 -0.17,-0.4 -0.13,-0.26 -0.27,-0.51 -0.4,-0.77 -0.07,-0.14 -0.28,-0.02 -0.21,0.12 0.12,0.26 0.25,0.52 0.38,0.78 z"
+   id="path1712" />
+			<path
+   class="st1"
+   d="m 294.74,314.31 c 0.07,0.12 0.14,0.24 0.22,0.35 0.04,0.06 0.12,0.09 0.19,0.05 0.06,-0.04 0.08,-0.12 0.05,-0.19 -0.06,-0.12 -0.15,-0.24 -0.22,-0.35 -0.07,-0.12 -0.15,-0.24 -0.22,-0.35 -0.04,-0.06 -0.12,-0.09 -0.19,-0.05 -0.06,0.04 -0.09,0.12 -0.05,0.19 z"
+   id="path1714" />
+			<path
+   class="st1"
+   d="m 295.43,315.28 c 0.12,-0.03 0.07,-0.21 -0.05,-0.18 -0.11,0.03 -0.06,0.22 0.05,0.18 z"
+   id="path1716" />
+			<path
+   class="st1"
+   d="m 298.16,312.93 c 0.08,0.14 0.15,0.29 0.27,0.4 0.08,0.08 0.22,0 0.19,-0.11 -0.04,-0.16 -0.14,-0.29 -0.22,-0.43 l -0.24,-0.41 c -0.04,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.12 -0.05,0.18 0.07,0.15 0.15,0.29 0.23,0.42 z"
+   id="path1718" />
+			<path
+   class="st1"
+   d="m 299.55,312.94 c 0.02,0.04 0.05,0.07 0.07,0.11 0.02,0.04 0.05,0.07 0.08,0.1 0.01,0.02 0.03,0.04 0.04,0.05 0.02,0.03 0.04,0.04 0.07,0.06 0.03,0.03 0.05,0.06 0.09,0.09 0.06,0.05 0.16,0 0.14,-0.08 -0.02,-0.05 -0.04,-0.1 -0.06,-0.15 l 0.01,0.06 c -0.01,-0.05 -0.02,-0.09 -0.04,-0.13 -0.02,-0.03 -0.03,-0.07 -0.05,-0.1 -0.04,-0.07 -0.09,-0.13 -0.13,-0.19 -0.09,-0.13 -0.17,-0.26 -0.26,-0.39 -0.04,-0.06 -0.12,-0.09 -0.19,-0.05 -0.06,0.04 -0.09,0.13 -0.05,0.19 0.09,0.14 0.18,0.28 0.28,0.43 z"
+   id="path1720" />
+			<path
+   class="st1"
+   d="m 300.38,313.93 c -0.03,-0.1 -0.07,-0.21 -0.1,-0.31 -0.02,-0.07 -0.1,-0.13 -0.18,-0.1 -0.08,0.02 -0.13,0.1 -0.1,0.18 0.05,0.18 0.1,0.36 0.15,0.54 0.02,0.06 0.07,0.11 0.14,0.12 0.06,0.01 0.14,-0.02 0.16,-0.08 0.02,-0.03 0.03,-0.07 0.04,-0.1 0.01,-0.03 0.01,-0.07 0,-0.1 0,-0.02 0.01,-0.04 0.01,-0.06 0,-0.06 -0.07,-0.1 -0.12,-0.09 z"
+   id="path1722" />
+			<path
+   class="st1"
+   d="m 300.4,311.53 c 0.08,0.14 0.17,0.28 0.25,0.42 0.04,0.08 0.09,0.15 0.14,0.22 0.05,0.07 0.1,0.16 0.19,0.18 0.06,0.01 0.12,-0.02 0.13,-0.08 0.02,-0.09 -0.03,-0.17 -0.06,-0.25 -0.03,-0.08 -0.08,-0.16 -0.12,-0.23 -0.08,-0.14 -0.16,-0.28 -0.25,-0.42 -0.04,-0.07 -0.15,-0.11 -0.22,-0.06 -0.07,0.04 -0.1,0.14 -0.06,0.22 z"
+   id="path1724" />
+			<path
+   class="st1"
+   d="m 301.52,313.48 c 0.13,-0.03 0.07,-0.23 -0.05,-0.2 -0.14,0.03 -0.08,0.23 0.05,0.2 z"
+   id="path1726" />
+			<path
+   class="st1"
+   d="m 302.9,310.76 c 0.06,0.13 0.12,0.27 0.23,0.36 0.04,0.03 0.08,0.04 0.13,0.02 0.04,-0.02 0.08,-0.06 0.07,-0.11 0,-0.04 -0.01,-0.09 -0.02,-0.13 -0.01,-0.04 -0.03,-0.08 -0.05,-0.11 -0.03,-0.06 -0.06,-0.13 -0.09,-0.19 l -0.19,-0.38 c -0.04,-0.07 -0.15,-0.1 -0.21,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.21 0.07,0.15 0.13,0.27 0.19,0.39 z"
+   id="path1728" />
+			<path
+   class="st1"
+   d="m 303.6,311.85 c 0.17,-0.05 0.1,-0.31 -0.07,-0.26 -0.17,0.05 -0.1,0.31 0.07,0.26 z"
+   id="path1730" />
+			<path
+   class="st1"
+   d="m 305.66,308.31 c 0.04,0.08 0.08,0.16 0.13,0.24 l 0.07,0.13 c 0.01,0.02 0.02,0.04 0.03,0.05 0.02,0.03 0.05,0.05 0.08,0.07 0.07,0.05 0.17,-0.02 0.17,-0.1 0,-0.1 -0.06,-0.2 -0.11,-0.29 -0.04,-0.08 -0.08,-0.16 -0.13,-0.24 -0.09,-0.17 -0.18,-0.33 -0.26,-0.5 -0.04,-0.07 -0.13,-0.09 -0.2,-0.05 -0.07,0.04 -0.09,0.13 -0.05,0.2 0.1,0.16 0.18,0.32 0.27,0.49 z"
+   id="path1732" />
+			<path
+   class="st1"
+   d="m 306.51,311.95 c 0.02,0.05 0.05,0.09 0.07,0.14 0.02,0.04 0.04,0.07 0.06,0.11 0.02,0.04 0.04,0.09 0.07,0.13 0.03,0.04 0.1,0.03 0.09,-0.03 0,-0.05 -0.02,-0.09 -0.03,-0.14 -0.01,-0.04 -0.01,-0.08 -0.02,-0.12 -0.01,-0.04 -0.01,-0.09 -0.03,-0.13 -0.01,-0.04 -0.03,-0.09 -0.04,-0.13 -0.05,-0.17 -0.12,-0.34 -0.18,-0.51 -0.02,-0.06 -0.08,-0.1 -0.15,-0.09 -0.06,0.02 -0.11,0.09 -0.09,0.15 0.06,0.17 0.12,0.34 0.19,0.51 0.03,0.03 0.04,0.07 0.06,0.11 z"
+   id="path1734" />
+			<path
+   class="st1"
+   d="m 308.53,311.99 c 0.04,0.08 0.08,0.16 0.12,0.24 0.01,0.02 0.02,0.04 0.03,0.06 0.01,0.02 0.02,0.03 0.04,0.04 0.01,0.01 0.02,0.02 0.03,0.02 0.03,0.03 0.04,0.07 0.08,0.09 0.06,0.05 0.14,0.02 0.15,-0.06 0,-0.05 -0.02,-0.1 -0.02,-0.15 0,0.02 0.01,0.02 0.01,0 0,-0.02 0,-0.04 0,-0.06 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.04,-0.1 -0.07,-0.19 -0.11,-0.28 -0.08,-0.17 -0.15,-0.34 -0.23,-0.51 -0.04,-0.08 -0.16,-0.11 -0.23,-0.06 -0.08,0.05 -0.1,0.14 -0.06,0.23 0.06,0.17 0.13,0.34 0.21,0.5 z"
+   id="path1736" />
+			<path
+   class="st1"
+   d="m 309.29,306.9 c 0.03,0.07 0.06,0.14 0.1,0.21 l 0.05,0.1 c 0.03,0.05 0.05,0.08 0.1,0.11 0.07,0.04 0.15,-0.02 0.16,-0.09 0.01,-0.08 -0.04,-0.16 -0.07,-0.23 -0.03,-0.08 -0.07,-0.16 -0.11,-0.23 -0.07,-0.14 -0.14,-0.28 -0.21,-0.42 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.07,0.04 -0.08,0.11 -0.05,0.18 0.08,0.13 0.14,0.28 0.21,0.42 z"
+   id="path1738" />
+			<path
+   class="st1"
+   d="m 310.13,308.43 c 0.01,0.04 0.03,0.06 0.05,0.09 0.02,0.04 0.07,0.06 0.12,0.05 0.05,-0.01 0.07,-0.05 0.08,-0.1 0,-0.04 0,-0.07 0,-0.11 -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 -0.01,-0.05 -0.03,-0.11 -0.05,-0.16 -0.02,-0.06 -0.09,-0.11 -0.15,-0.09 -0.06,0.02 -0.1,0.08 -0.09,0.15 0.01,0.05 0.03,0.11 0.04,0.16 z"
+   id="path1740" />
+			<path
+   class="st1"
+   d="m 312.29,305.85 c 0.03,0.04 0.06,0.07 0.1,0.11 0.04,0.04 0.08,0.07 0.12,0.1 0.07,0.05 0.15,0.14 0.24,0.14 0.04,0 0.08,-0.04 0.08,-0.08 0,-0.05 -0.03,-0.1 -0.06,-0.15 -0.02,-0.04 -0.05,-0.08 -0.07,-0.12 -0.05,-0.09 -0.12,-0.16 -0.18,-0.24 -0.13,-0.14 -0.25,-0.29 -0.38,-0.43 -0.06,-0.06 -0.17,-0.06 -0.23,0 -0.06,0.07 -0.06,0.16 0,0.23 0.13,0.15 0.25,0.29 0.38,0.44 z"
+   id="path1742" />
+			<path
+   class="st1"
+   d="m 313.34,307.48 c 0.01,0.02 0.01,0.05 0.02,0.07 0.01,0.03 0.03,0.06 0.05,0.09 0.05,0.08 0.18,0.05 0.18,-0.05 0,-0.04 0,-0.07 -0.01,-0.1 -0.01,-0.02 -0.01,-0.05 -0.02,-0.07 -0.02,-0.05 -0.03,-0.11 -0.04,-0.16 -0.03,-0.11 -0.06,-0.21 -0.09,-0.32 -0.02,-0.05 -0.08,-0.09 -0.13,-0.08 -0.06,0.02 -0.09,0.07 -0.08,0.13 0.03,0.11 0.06,0.21 0.08,0.32 0.01,0.07 0.02,0.12 0.04,0.17 z"
+   id="path1744" />
+			<path
+   class="st1"
+   d="m 314.3,304.64 c 0.1,0.15 0.18,0.3 0.31,0.43 0.04,0.04 0.12,0.05 0.17,0.02 0.05,-0.03 0.09,-0.1 0.06,-0.16 -0.03,-0.08 -0.07,-0.16 -0.12,-0.24 -0.05,-0.07 -0.1,-0.14 -0.15,-0.22 -0.1,-0.14 -0.2,-0.28 -0.29,-0.42 -0.04,-0.06 -0.13,-0.09 -0.2,-0.05 -0.07,0.04 -0.09,0.13 -0.05,0.2 0.09,0.15 0.18,0.3 0.27,0.44 z"
+   id="path1746" />
+			<path
+   class="st1"
+   d="m 317.3,303.58 c 0.1,0.17 0.19,0.34 0.28,0.52 0.09,0.18 0.17,0.37 0.3,0.53 0.13,0.17 0.21,0.34 0.27,0.54 0.03,0.09 0.06,0.19 0.08,0.28 0.03,0.1 0.05,0.21 0.11,0.29 0.07,0.11 0.28,0.08 0.27,-0.07 -0.01,-0.19 -0.14,-0.4 -0.24,-0.57 -0.1,-0.19 -0.18,-0.37 -0.24,-0.57 -0.1,-0.39 -0.37,-0.75 -0.59,-1.08 -0.1,-0.16 -0.33,-0.03 -0.24,0.13 z"
+   id="path1748" />
+			<path
+   class="st1"
+   d="m 321.47,302.82 c 0.01,0 0.01,0 0.02,0 -0.02,0 -0.03,-0.01 -0.05,-0.01 0.01,0 0.02,0.01 0.03,0.01 z"
+   id="path1750" />
+			<path
+   class="st1"
+   d="m 321.5,302.82 c -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 0,0 0,0 0.01,0 z"
+   id="path1752" />
+			<path
+   class="st1"
+   d="m 321.13,302.43 c 0.05,0.07 0.09,0.14 0.14,0.2 0.02,0.03 0.05,0.07 0.07,0.1 0.04,0.06 0.08,0.08 0.15,0.09 0.06,0.01 0.14,-0.01 0.13,-0.09 0,-0.02 0,-0.02 0,-0.01 0,-0.02 0,-0.03 0.01,-0.05 0,-0.03 -0.01,-0.06 -0.03,-0.09 -0.02,-0.04 -0.04,-0.07 -0.07,-0.1 -0.05,-0.07 -0.1,-0.13 -0.15,-0.2 -0.1,-0.13 -0.2,-0.27 -0.29,-0.4 -0.04,-0.06 -0.12,-0.09 -0.19,-0.05 -0.06,0.04 -0.09,0.13 -0.05,0.19 0.1,0.14 0.19,0.28 0.28,0.41 z"
+   id="path1754" />
+			<path
+   class="st1"
+   d="m 321.83,303.45 c 0.02,0.02 0.03,0.05 0.05,0.07 0.02,0.03 0.07,0.04 0.11,0.03 0.03,-0.01 0.07,-0.04 0.08,-0.08 0,-0.03 0.01,-0.05 0.01,-0.08 0,-0.03 -0.01,-0.06 -0.02,-0.09 -0.01,-0.04 -0.02,-0.08 -0.03,-0.11 -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.06 -0.01,0.1 0.01,0.04 0.02,0.08 0.03,0.12 0,0.01 0.01,0.05 0.02,0.07 z"
+   id="path1756" />
+			<path
+   class="st1"
+   d="m 323.72,301.1 c 0.05,0.07 0.1,0.13 0.16,0.19 0.03,0.03 0.05,0.06 0.08,0.08 0.03,0.04 0.07,0.05 0.12,0.06 0.05,0.02 0.1,-0.03 0.1,-0.08 0,-0.05 -0.01,-0.08 -0.03,-0.13 -0.02,-0.03 -0.04,-0.06 -0.06,-0.1 -0.04,-0.06 -0.08,-0.13 -0.12,-0.19 -0.09,-0.12 -0.18,-0.24 -0.27,-0.36 -0.05,-0.06 -0.13,-0.1 -0.2,-0.05 -0.06,0.04 -0.1,0.14 -0.05,0.2 0.09,0.14 0.18,0.26 0.27,0.38 z"
+   id="path1758" />
+			<path
+   class="st1"
+   d="m 324.46,302.09 c -0.02,0.01 -0.05,0.02 -0.06,0.05 -0.01,0.02 -0.02,0.05 -0.01,0.08 0.01,0.03 0.02,0.05 0.05,0.06 0.03,0.02 0.07,0.04 0.1,0.06 0.02,0.01 0.05,0.02 0.07,0.03 0.01,0 0.02,0.01 0.03,0.01 0.01,0 0.03,0 0.04,0 0.05,0 0.09,-0.06 0.06,-0.1 -0.01,-0.01 -0.02,-0.02 -0.03,-0.04 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.02 -0.04,-0.04 -0.06,-0.05 -0.03,-0.02 -0.07,-0.04 -0.1,-0.06 -0.02,-0.03 -0.05,-0.03 -0.07,-0.02 z"
+   id="path1760" />
+			<path
+   class="st1"
+   d="m 326.11,300.37 c 0.04,0.04 0.07,0.09 0.11,0.13 0.01,0.01 0.02,0.02 0.02,0.03 0.01,0.02 0.03,0.03 0.05,0.04 0.01,0.01 0.04,0.04 0.05,0.05 0.03,0.03 0.08,0.03 0.12,0.01 0.04,-0.03 0.04,-0.07 0.02,-0.11 -0.03,-0.06 -0.04,-0.1 -0.08,-0.16 -0.03,-0.05 -0.06,-0.09 -0.09,-0.14 -0.06,-0.1 -0.13,-0.19 -0.2,-0.28 -0.04,-0.06 -0.12,-0.09 -0.18,-0.05 -0.06,0.04 -0.09,0.12 -0.05,0.18 0.08,0.1 0.15,0.2 0.23,0.3 z"
+   id="path1762" />
+			<path
+   class="st1"
+   d="m 326.72,301.4 c -0.11,0.03 -0.06,0.2 0.05,0.17 0.1,-0.03 0.06,-0.2 -0.05,-0.17 z"
+   id="path1764" />
+			<path
+   class="st1"
+   d="m 328.32,298.97 c 0.03,0.07 0.06,0.14 0.09,0.21 0.04,0.08 0.08,0.18 0.16,0.22 0.08,0.05 0.22,0.01 0.24,-0.1 0.01,-0.04 0.01,-0.07 0,-0.11 -0.01,-0.02 -0.02,-0.04 -0.02,-0.06 -0.01,-0.03 -0.03,-0.07 -0.04,-0.1 -0.03,-0.08 -0.08,-0.16 -0.12,-0.24 -0.07,-0.14 -0.15,-0.28 -0.22,-0.42 -0.04,-0.07 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.22 0.07,0.15 0.13,0.29 0.19,0.44 z"
+   id="path1766" />
+			<path
+   class="st1"
+   d="m 329.16,300.67 c 0.01,0 0.02,0 0.03,0 0.01,0 0.02,0 0.03,0 l 0.03,-0.01 c 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.02,-0.02 0.02,-0.05 0.03,-0.08 0,-0.03 0,-0.05 0,-0.08 0,-0.03 0,-0.05 0,-0.08 0,-0.05 -0.01,-0.11 -0.01,-0.16 0,-0.03 -0.01,-0.06 -0.03,-0.08 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.06,0 -0.12,0.05 -0.12,0.12 0,0.05 0,0.11 0,0.16 0,0.03 0,0.05 0,0.08 0,0.03 0,0.05 0,0.08 0,0.03 0.01,0.05 0.03,0.08 0,0.01 0.02,0.03 0.05,0.03 z"
+   id="path1768" />
+			<path
+   class="st1"
+   d="m 331.7,297.14 0.13,0.22 c 0.05,0.09 0.11,0.19 0.22,0.2 0.04,0 0.09,-0.02 0.1,-0.06 0.05,-0.1 -0.01,-0.2 -0.06,-0.29 -0.04,-0.07 -0.08,-0.14 -0.13,-0.21 -0.08,-0.14 -0.17,-0.29 -0.25,-0.43 -0.04,-0.07 -0.14,-0.1 -0.2,-0.05 -0.07,0.04 -0.09,0.13 -0.05,0.2 0.07,0.14 0.16,0.28 0.24,0.42 z"
+   id="path1770" />
+			<path
+   class="st1"
+   d="m 223.27,357.45 c -0.01,-0.12 -0.03,-0.24 -0.04,-0.36 -0.03,-0.24 -0.06,-0.48 -0.08,-0.72 -0.01,-0.08 -0.13,-0.08 -0.12,0 0.02,0.25 0.04,0.49 0.07,0.74 0.01,0.12 0.02,0.24 0.03,0.36 0.01,0.06 0.01,0.12 0.02,0.18 0.01,0.06 0.01,0.12 0.04,0.17 0.03,0.05 0.1,0.03 0.11,-0.02 0.02,-0.06 0,-0.12 0,-0.18 -0.01,-0.06 -0.02,-0.11 -0.03,-0.17 z"
+   id="path1772" />
+			<path
+   class="st1"
+   d="m 224.38,359.65 c 0.03,0.04 0.1,0.01 0.11,-0.03 0.02,-0.06 0,-0.12 -0.02,-0.17 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 -0.03,-0.12 -0.05,-0.24 -0.08,-0.37 -0.05,-0.24 -0.1,-0.48 -0.15,-0.72 -0.01,-0.06 -0.1,-0.03 -0.09,0.02 0.04,0.24 0.08,0.48 0.12,0.73 0.02,0.12 0.04,0.24 0.06,0.36 0.01,0.06 0.02,0.12 0.03,0.18 0.01,0.06 0.01,0.11 0.05,0.16 z"
+   id="path1774" />
+			<path
+   class="st1"
+   d="m 229.05,359.02 c 0.01,0.04 0.02,0.07 0.04,0.1 0.02,0.05 0.09,0.03 0.08,-0.02 -0.01,-0.04 -0.01,-0.07 -0.02,-0.11 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.02,-0.07 -0.04,-0.14 -0.06,-0.21 -0.02,-0.06 -0.11,-0.03 -0.09,0.02 0.02,0.07 0.04,0.14 0.05,0.21 z"
+   id="path1776" />
+			<path
+   class="st1"
+   d="m 216.64,365.01 c -0.14,-0.31 -0.27,-0.63 -0.4,-0.94 -0.02,-0.04 -0.08,-0.02 -0.07,0.02 0.12,0.32 0.24,0.63 0.35,0.96 0.05,0.16 0.11,0.31 0.17,0.47 0.05,0.14 0.1,0.31 0.2,0.43 0.03,0.04 0.1,0.01 0.1,-0.04 -0.01,-0.16 -0.09,-0.31 -0.15,-0.45 -0.07,-0.16 -0.13,-0.31 -0.2,-0.45 z"
+   id="path1778" />
+			<path
+   class="st1"
+   d="m 219.55,366.46 c 0.01,0.02 0.03,0.04 0.04,0.06 0.01,0.02 0.03,0.03 0.05,0.04 0.04,0.03 0.1,-0.01 0.09,-0.05 0,-0.08 -0.05,-0.16 -0.09,-0.23 -0.03,-0.07 -0.07,-0.14 -0.11,-0.2 -0.02,-0.04 -0.08,-0.06 -0.12,-0.03 -0.04,0.03 -0.06,0.08 -0.03,0.12 0.04,0.07 0.07,0.14 0.11,0.2 0.02,0.03 0.04,0.06 0.06,0.09 z"
+   id="path1780" />
+			<path
+   class="st1"
+   d="m 221.95,364.98 c 0.02,0 0.03,-0.01 0.05,-0.01 0.03,-0.01 0.06,-0.02 0.07,-0.05 0,0 0,0 0.01,0 0.03,-0.02 0.04,-0.05 0.03,-0.08 -0.01,-0.03 -0.04,-0.05 -0.07,-0.05 0,0 -0.01,0 -0.01,0 -0.03,-0.01 -0.06,-0.02 -0.09,-0.01 -0.02,0.01 -0.03,0.01 -0.05,0.02 l -0.09,0.03 c -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.01,0.02 -0.02,0.05 -0.01,0.07 0.02,0.05 0.06,0.08 0.11,0.06 0.04,-0.01 0.07,-0.01 0.11,-0.02 z"
+   id="path1782" />
+			<path
+   class="st1"
+   d="m 223.28,364.48 c -0.05,0.01 -0.03,0.09 0.02,0.07 0.05,-0.01 0.03,-0.08 -0.02,-0.07 z"
+   id="path1784" />
+			<path
+   class="st1"
+   d="m 224.79,363.41 c 0.24,-0.07 0.14,-0.44 -0.1,-0.38 -0.24,0.07 -0.14,0.45 0.1,0.38 z"
+   id="path1786" />
+			<path
+   class="st1"
+   d="m 205.34,367.55 c -0.12,-0.4 -0.2,-0.8 -0.25,-1.22 -0.09,-0.82 0,-1.63 0.29,-2.4 0.05,-0.13 -0.16,-0.18 -0.21,-0.06 -0.32,0.8 -0.45,1.69 -0.33,2.55 0.06,0.41 0.17,0.81 0.34,1.19 0.16,0.37 0.36,0.81 0.64,1.11 0.03,0.03 0.08,-0.01 0.06,-0.05 -0.09,-0.18 -0.21,-0.34 -0.3,-0.52 -0.1,-0.19 -0.18,-0.39 -0.24,-0.6 z"
+   id="path1788" />
+			<path
+   class="st1"
+   d="m 206.92,366.28 c -0.1,0.03 -0.06,0.17 0.04,0.15 0.1,-0.02 0.06,-0.17 -0.04,-0.15 z"
+   id="path1790" />
+			<path
+   class="st1"
+   d="m 212.68,365.55 c 0.09,-0.02 0.05,-0.16 -0.04,-0.14 -0.09,0.03 -0.05,0.17 0.04,0.14 z"
+   id="path1792" />
+			<path
+   class="st1"
+   d="m 213.37,363.19 c -0.11,-0.66 -0.23,-1.31 -0.34,-1.97 -0.02,-0.15 -0.24,-0.08 -0.22,0.06 0.1,0.66 0.19,1.32 0.3,1.98 0.05,0.33 0.1,0.66 0.16,0.99 0.05,0.31 0.09,0.63 0.22,0.91 0.03,0.07 0.13,0.03 0.13,-0.04 0.04,-0.31 -0.04,-0.64 -0.09,-0.95 -0.05,-0.32 -0.11,-0.65 -0.16,-0.98 z"
+   id="path1794" />
+			<path
+   class="st1"
+   d="m 189.33,378.41 c -0.02,-0.01 -0.04,-0.01 -0.05,0.01 -0.01,0.01 -0.01,0.03 -0.01,0.05 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 -0.01,0 0,-0.01 0,-0.02 -0.01,-0.03 -0.01,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,0 -0.04,0 -0.06,0.01 -0.02,0.01 -0.03,0.03 -0.03,0.05 0,0.02 -0.01,0.05 0,0.07 0.01,0.02 0.02,0.04 0.03,0.05 0.03,0.02 0.07,0.04 0.11,0.03 0.01,0 0.02,0 0.04,0 0.01,0 0.02,-0.01 0.03,-0.01 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.01,-0.01 0.03,-0.03 0.03,-0.05 0,-0.02 0,-0.05 -0.01,-0.07 -0.03,-0.02 -0.05,-0.03 -0.06,-0.04 z"
+   id="path1796" />
+			<path
+   class="st1"
+   d="m 196.48,372.56 c -0.01,-0.05 -0.08,-0.08 -0.12,-0.07 -0.06,0.02 -0.08,0.07 -0.07,0.12 0.02,0.14 0.04,0.29 0.06,0.43 0.02,0.14 0.03,0.29 0.08,0.43 0.03,0.09 0.16,0.08 0.17,-0.02 0.01,-0.15 -0.03,-0.3 -0.05,-0.45 -0.03,-0.15 -0.05,-0.29 -0.07,-0.44 z"
+   id="path1798" />
+			<path
+   class="st1"
+   d="m 197.28,372.36 c -0.05,-0.01 -0.12,0.02 -0.14,0.08 -0.01,0.08 -0.03,0.16 -0.04,0.24 -0.01,0.04 -0.01,0.08 -0.02,0.12 0,0.02 -0.01,0.04 -0.01,0.06 -0.01,0.03 0,0.05 0,0.08 0,0.04 0.02,0.07 0.06,0.08 0.04,0.01 0.08,-0.01 0.1,-0.04 0.01,-0.02 0.03,-0.04 0.03,-0.07 0.01,-0.02 0.01,-0.04 0.01,-0.06 l 0.03,-0.12 c 0.02,-0.08 0.04,-0.16 0.05,-0.24 0.02,-0.05 -0.01,-0.12 -0.07,-0.13 z"
+   id="path1800" />
+			<path
+   class="st1"
+   d="m 199.65,372.74 c 0.03,0 0.05,-0.01 0.07,-0.02 0.03,-0.02 0.06,-0.03 0.1,-0.05 0.02,-0.01 0.03,-0.02 0.05,-0.02 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.01,-0.01 0.02,-0.02 0.02,-0.04 0,-0.02 0,-0.03 0,-0.05 0,-0.02 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.02,-0.02 -0.04,-0.02 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.02,0 -0.04,0 -0.05,0 -0.04,0 -0.07,0.01 -0.11,0.01 -0.03,0 -0.05,0.01 -0.07,0.02 -0.02,0.01 -0.04,0.03 -0.05,0.05 -0.02,0.03 -0.02,0.07 -0.01,0.1 0.01,0.03 0.03,0.07 0.06,0.08 0.01,0.02 0.03,0.03 0.06,0.03 z"
+   id="path1802" />
+			<path
+   class="st1"
+   d="m 200.47,371.43 c 0,0.05 0.02,0.1 0.03,0.16 0.01,0.05 0.06,0.08 0.11,0.07 0.05,-0.01 0.08,-0.05 0.09,-0.1 0.01,-0.05 0.01,-0.09 0.01,-0.14 0,-0.05 -0.01,-0.09 -0.01,-0.14 L 200.68,371 c 0,-0.06 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.13,0.05 -0.12,0.12 0.01,0.09 0.01,0.19 0.02,0.28 0.01,0.05 0.01,0.1 0.01,0.15 z"
+   id="path1804" />
+			<path
+   class="st1"
+   d="m 201.47,372.31 c 0,-0.02 -0.01,-0.05 -0.02,-0.07 -0.01,-0.04 -0.02,-0.08 -0.03,-0.11 -0.02,-0.08 -0.04,-0.16 -0.07,-0.24 -0.04,-0.16 -0.09,-0.33 -0.13,-0.49 -0.03,-0.12 -0.23,-0.07 -0.19,0.05 0.04,0.16 0.09,0.33 0.13,0.49 0.02,0.08 0.04,0.16 0.07,0.24 0.01,0.04 0.02,0.08 0.03,0.11 0.01,0.02 0.01,0.04 0.02,0.06 0.01,0.03 0.03,0.05 0.05,0.07 0.04,0.05 0.13,0.02 0.14,-0.04 -0.01,-0.02 0,-0.05 0,-0.07 z"
+   id="path1806" />
+			<path
+   class="st1"
+   d="m 186.55,380.67 -0.15,-0.55 c -0.03,-0.12 -0.22,-0.07 -0.19,0.05 l 0.15,0.56 c 0.02,0.09 0.05,0.18 0.07,0.27 0.01,0.05 0.03,0.1 0.04,0.14 0.02,0.05 0.03,0.1 0.08,0.12 0.04,0.02 0.09,0.01 0.11,-0.03 0.03,-0.05 0.01,-0.09 0.01,-0.15 -0.01,-0.05 -0.02,-0.1 -0.04,-0.14 -0.03,-0.09 -0.06,-0.18 -0.08,-0.27 z"
+   id="path1808" />
+			<path
+   class="st1"
+   d="m 230.26,352.35 c 0.02,-0.03 0.03,-0.07 0.03,-0.11 0,-0.03 0.01,-0.06 0,-0.09 -0.01,-0.07 -0.02,-0.13 -0.03,-0.2 -0.02,-0.13 -0.03,-0.26 -0.05,-0.4 -0.01,-0.06 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.13,0.05 -0.12,0.12 0.02,0.13 0.03,0.27 0.05,0.4 0.01,0.06 0.02,0.13 0.02,0.19 0.01,0.07 0.03,0.17 0.09,0.22 0.05,0.04 0.1,0.03 0.13,-0.01 z"
+   id="path1810" />
+			<path
+   class="st1"
+   d="m 231.32,351.24 c 0.01,0.03 0.01,0.05 0.02,0.08 0.02,0.05 0.07,0.09 0.13,0.08 0.05,-0.01 0.1,-0.06 0.1,-0.11 0,-0.03 -0.01,-0.05 -0.01,-0.08 0,-0.04 -0.01,-0.07 -0.01,-0.11 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 -0.01,-0.06 -0.09,-0.11 -0.15,-0.09 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.06 -0.01,0.09 0.01,0.05 0.02,0.1 0.03,0.16 0,0.03 0.01,0.05 0.01,0.08 z"
+   id="path1812" />
+			<path
+   class="st1"
+   d="m 232.99,351.73 -0.04,-0.04 c 0.03,0.04 0.05,0.08 0.09,0.11 0.05,0.04 0.11,0.01 0.12,-0.05 0,-0.03 0,-0.05 -0.01,-0.08 0,-0.02 0,-0.05 0,-0.07 -0.01,-0.05 -0.03,-0.11 -0.04,-0.16 -0.02,-0.09 -0.04,-0.18 -0.05,-0.28 -0.02,-0.2 -0.01,-0.4 0.03,-0.59 0.03,-0.14 -0.18,-0.19 -0.21,-0.06 -0.05,0.2 -0.07,0.4 -0.05,0.61 0.01,0.1 0.02,0.2 0.04,0.3 0.02,0.11 0.03,0.25 0.12,0.31 z"
+   id="path1814" />
+			<path
+   class="st1"
+   d="m 234.36,351.45 c 0.01,0.08 0,0.19 0.09,0.23 0.04,0.02 0.09,0.01 0.12,-0.02 0.06,-0.06 0.04,-0.15 0.03,-0.23 -0.01,-0.07 -0.02,-0.14 -0.03,-0.22 -0.02,-0.14 -0.04,-0.27 -0.06,-0.41 -0.01,-0.05 -0.07,-0.08 -0.11,-0.07 -0.05,0.01 -0.09,0.05 -0.09,0.1 0.01,0.14 0.03,0.27 0.04,0.41 -0.01,0.07 0,0.14 0.01,0.21 z"
+   id="path1816" />
+			<path
+   class="st1"
+   d="m 231.73,353.63 c 0.01,0.07 0.01,0.14 0.02,0.21 0.01,0.08 0.02,0.14 0.05,0.21 0.05,0.1 0.18,0.06 0.21,-0.03 0.04,-0.12 0.02,-0.26 0.02,-0.39 0,-0.13 -0.01,-0.27 -0.02,-0.4 l -0.05,-0.79 c -0.01,-0.18 -0.29,-0.18 -0.28,0 0.01,0.27 0.02,0.54 0.03,0.8 0,0.13 0.01,0.26 0.02,0.39 z"
+   id="path1818" />
+			<path
+   class="st1"
+   d="m 244.9,349.69 c -0.05,-0.25 -0.1,-0.51 -0.15,-0.76 -0.02,-0.12 -0.2,-0.07 -0.18,0.05 0.05,0.25 0.1,0.51 0.15,0.76 0.02,0.13 0.05,0.25 0.08,0.38 0.01,0.06 0.02,0.12 0.03,0.18 0.01,0.07 0.03,0.12 0.07,0.19 0.04,0.06 0.12,0.03 0.13,-0.03 0.01,-0.13 -0.02,-0.25 -0.05,-0.38 -0.02,-0.14 -0.05,-0.26 -0.08,-0.39 z"
+   id="path1820" />
+			<path
+   class="st1"
+   d="m 245.57,352.51 c -0.05,-0.1 -0.1,-0.2 -0.14,-0.3 -0.02,-0.05 -0.1,-0.06 -0.14,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.14 0.05,0.1 0.09,0.2 0.14,0.3 0.02,0.05 0.04,0.1 0.07,0.15 0.02,0.05 0.05,0.1 0.08,0.14 0.02,0.04 0.07,0.06 0.11,0.04 0.04,-0.02 0.07,-0.06 0.05,-0.11 -0.02,-0.06 -0.03,-0.12 -0.06,-0.17 -0.02,-0.05 -0.05,-0.1 -0.07,-0.15 z"
+   id="path1822" />
+			<path
+   class="st1"
+   d="m 246.42,344.56 c -0.24,0.55 -0.39,1.12 -0.44,1.71 -0.02,0.29 -0.02,0.58 0.01,0.87 0.02,0.15 0.03,0.29 0.06,0.44 0.03,0.14 0.06,0.31 0.14,0.44 0.08,0.11 0.23,0.06 0.25,-0.07 0.02,-0.13 -0.03,-0.28 -0.05,-0.41 -0.02,-0.14 -0.04,-0.28 -0.05,-0.43 -0.02,-0.27 -0.03,-0.55 -0.01,-0.82 0.03,-0.56 0.16,-1.11 0.37,-1.63 0.06,-0.15 -0.21,-0.26 -0.28,-0.1 z"
+   id="path1824" />
+			<path
+   class="st1"
+   d="m 246.77,350.43 c 0.03,-0.01 0.02,-0.06 -0.01,-0.05 -0.03,0.01 -0.02,0.06 0.01,0.05 z"
+   id="path1826" />
+			<path
+   class="st1"
+   d="m 247.37,352.83 c -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.01,-0.03 -0.04,-0.05 -0.08,-0.04 -0.03,0.01 -0.05,0.04 -0.04,0.08 0.01,0.03 0.02,0.07 0.03,0.11 0,0.02 0.01,0.03 0.02,0.05 0.01,0.02 0.01,0.04 0.02,0.05 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.03,0.01 0.04,0.01 0.03,-0.01 0.04,-0.04 0.04,-0.06 0,-0.02 -0.01,-0.04 -0.01,-0.05 0,-0.05 0,-0.07 -0.01,-0.08 z"
+   id="path1828" />
+			<path
+   class="st1"
+   d="m 249.49,351.73 c -0.01,-0.07 -0.02,-0.15 -0.04,-0.22 -0.04,-0.16 -0.07,-0.31 -0.12,-0.47 -0.08,-0.31 -0.17,-0.62 -0.25,-0.92 -0.05,-0.18 -0.33,-0.11 -0.28,0.08 0.08,0.31 0.17,0.62 0.25,0.93 0.04,0.15 0.09,0.31 0.13,0.46 0.02,0.07 0.05,0.14 0.08,0.21 0.03,0.07 0.05,0.15 0.1,0.21 0.04,0.05 0.13,0.02 0.14,-0.04 0.02,-0.09 0,-0.17 -0.01,-0.24 z"
+   id="path1830" />
+			<path
+   class="st1"
+   d="m 250.37,347.93 c 0,-0.06 0,-0.13 0,-0.19 -0.01,-0.13 -0.03,-0.26 -0.05,-0.39 -0.01,-0.06 -0.04,-0.11 -0.11,-0.11 -0.05,0 -0.12,0.05 -0.11,0.11 0.01,0.13 0.03,0.26 0.04,0.39 0.01,0.07 0.03,0.14 0.05,0.2 0.01,0.06 0.02,0.13 0.05,0.19 0.01,0.03 0.03,0.05 0.06,0.05 0.03,0 0.06,-0.02 0.06,-0.05 0.01,-0.07 0.01,-0.14 0.01,-0.2 z"
+   id="path1832" />
+			<path
+   class="st1"
+   d="m 250.57,349.53 c 0.04,-0.01 0.03,-0.08 -0.02,-0.07 -0.04,0.01 -0.02,0.08 0.02,0.07 z"
+   id="path1834" />
+			<path
+   class="st1"
+   d="m 252.61,348.77 c -0.06,0.02 -0.04,0.12 0.03,0.1 0.06,-0.02 0.04,-0.12 -0.03,-0.1 z"
+   id="path1836" />
+			<path
+   class="st1"
+   d="m 256.23,345.7 c -0.06,-0.2 -0.12,-0.41 -0.18,-0.61 -0.02,-0.07 -0.13,-0.04 -0.12,0.03 0.05,0.21 0.11,0.41 0.16,0.62 0.02,0.1 0.05,0.2 0.07,0.3 0.02,0.11 0.04,0.22 0.05,0.33 0.02,0.15 0.29,0.08 0.23,-0.06 -0.04,-0.1 -0.09,-0.2 -0.12,-0.3 -0.03,-0.11 -0.06,-0.21 -0.09,-0.31 z"
+   id="path1838" />
+			<path
+   class="st1"
+   d="m 258.06,345.21 c 0.03,0.1 0.17,0.08 0.18,-0.02 0.01,-0.2 -0.02,-0.4 -0.04,-0.6 -0.02,-0.2 -0.05,-0.4 -0.07,-0.6 -0.01,-0.1 -0.17,-0.11 -0.16,0 l 0.04,0.62 c 0,0.19 0,0.4 0.05,0.6 z"
+   id="path1840" />
+			<path
+   class="st1"
+   d="m 256.91,341.31 c -0.02,-0.27 0,-0.55 0.04,-0.82 0.01,-0.09 -0.12,-0.12 -0.13,-0.04 -0.04,0.28 -0.06,0.57 -0.04,0.85 0.01,0.14 0.03,0.27 0.05,0.4 0.03,0.15 0.08,0.29 0.13,0.43 0.02,0.05 0.08,0.03 0.07,-0.02 -0.03,-0.14 -0.05,-0.28 -0.07,-0.41 -0.03,-0.12 -0.04,-0.25 -0.05,-0.39 z"
+   id="path1842" />
+			<path
+   class="st1"
+   d="m 261.21,343.04 c 0,0.06 0.01,0.12 0.02,0.18 0.02,0.11 0.19,0.08 0.19,-0.03 0,-0.05 -0.01,-0.11 -0.02,-0.16 -0.01,-0.05 -0.01,-0.11 -0.02,-0.16 -0.01,-0.11 -0.03,-0.21 -0.04,-0.32 -0.01,-0.05 -0.04,-0.09 -0.09,-0.09 -0.04,0 -0.09,0.04 -0.09,0.09 0.01,0.11 0.02,0.22 0.02,0.33 0.02,0.05 0.03,0.11 0.03,0.16 z"
+   id="path1844" />
+			<path
+   class="st1"
+   d="m 262.86,342.61 c 0.01,0.03 0.02,0.05 0.04,0.07 0.01,0.02 0.03,0.03 0.05,0.04 0.02,0.01 0.06,0 0.07,-0.02 0.02,-0.02 0.02,-0.04 0.03,-0.06 0,-0.03 0.01,-0.05 0,-0.07 -0.01,-0.03 -0.02,-0.06 -0.03,-0.08 -0.02,-0.05 -0.04,-0.11 -0.05,-0.16 -0.01,-0.04 -0.06,-0.07 -0.1,-0.06 -0.04,0.01 -0.07,0.06 -0.06,0.1 0.01,0.06 0.02,0.11 0.04,0.17 0,0.01 0,0.04 0.01,0.07 z"
+   id="path1846" />
+			<path
+   class="st1"
+   d="m 264.47,340.97 c 0.03,-0.03 0.05,-0.06 0.08,-0.1 0.03,-0.03 0.06,-0.07 0.08,-0.1 0.01,-0.01 0.01,-0.03 -0.01,-0.04 -0.01,-0.01 -0.03,-0.01 -0.04,-0.01 -0.04,0.02 -0.07,0.04 -0.1,0.06 -0.03,0.02 -0.07,0.04 -0.1,0.06 -0.04,0.03 -0.05,0.08 -0.02,0.12 0.01,0.02 0.03,0.03 0.05,0.03 0.01,0 0.04,0 0.06,-0.02 z"
+   id="path1848" />
+			<path
+   class="st1"
+   d="m 267.62,339.01 c 0.01,0.01 0.02,0.01 0.03,0.02 0.01,0 0.01,0 0.02,0.01 0.01,0 0.01,0.01 0.02,0.01 0,0 0.01,0 0.01,0 0.01,0 0.01,0 0.02,0.01 0.01,0 0.02,0.01 0.03,0.01 0.01,0 0.01,0 0.02,0.01 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0,0 0.01,0 0.02,0 0.01,0 0.01,0 0.02,0 0.02,0 0.04,-0.01 0.06,-0.02 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.01,-0.02 0.01,-0.04 0.01,-0.05 0,-0.02 -0.01,-0.04 -0.02,-0.06 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 0,0 0,0 0,0 0,0 0,0 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0,0 -0.01,-0.01 -0.01,-0.01 0,0 0,0 -0.01,-0.01 0,0 0,0 0,0 -0.01,-0.01 -0.02,-0.02 -0.03,-0.02 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.01,-0.01 -0.03,-0.01 -0.05,-0.01 -0.02,0 -0.03,0 -0.05,0 -0.02,0 -0.03,0.01 -0.04,0.02 -0.01,0.01 -0.02,0.02 -0.03,0.04 0,0.01 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.04 0,0.07 0,0.01 0.01,0.02 0.01,0.03 0,0.01 0.01,0.03 0.03,0.04 z"
+   id="path1850" />
+			<path
+   class="st1"
+   d="m 274.1,335.64 c 0.06,-0.02 0.04,-0.11 -0.03,-0.1 -0.06,0.02 -0.03,0.12 0.03,0.1 z"
+   id="path1852" />
+			<path
+   class="st1"
+   d="m 277.73,333.67 c -0.04,-0.16 -0.09,-0.32 -0.13,-0.48 -0.04,-0.14 -0.25,-0.08 -0.22,0.06 0.04,0.16 0.09,0.32 0.13,0.48 0.02,0.08 0.04,0.16 0.07,0.24 0.02,0.08 0.04,0.16 0.09,0.24 0.05,0.08 0.17,0.04 0.17,-0.05 0,-0.09 -0.02,-0.17 -0.04,-0.25 -0.03,-0.08 -0.05,-0.16 -0.07,-0.24 z"
+   id="path1854" />
+			<path
+   class="st1"
+   d="m 279.17,333.21 c -0.13,0.03 -0.07,0.23 0.05,0.2 0.14,-0.03 0.08,-0.23 -0.05,-0.2 z"
+   id="path1856" />
+			<path
+   class="st1"
+   d="m 280.53,331.38 c -0.03,-0.06 -0.07,-0.11 -0.1,-0.17 -0.07,-0.11 -0.14,-0.23 -0.21,-0.34 -0.03,-0.05 -0.1,-0.07 -0.16,-0.04 -0.05,0.03 -0.07,0.1 -0.04,0.16 l 0.21,0.34 c 0.03,0.06 0.07,0.11 0.1,0.17 0.02,0.03 0.03,0.06 0.05,0.09 0.02,0.03 0.05,0.06 0.08,0.09 0.06,0.07 0.19,0 0.16,-0.09 -0.01,-0.04 -0.02,-0.08 -0.04,-0.11 -0.01,-0.04 -0.03,-0.07 -0.05,-0.1 z"
+   id="path1858" />
+			<path
+   class="st1"
+   d="m 281.15,332.64 c 0.1,-0.03 0.06,-0.17 -0.04,-0.15 -0.09,0.03 -0.05,0.18 0.04,0.15 z"
+   id="path1860" />
+			<path
+   class="st1"
+   d="m 281.96,330.26 c -0.04,-0.05 -0.13,-0.04 -0.17,0 -0.05,0.05 -0.04,0.12 0,0.17 0.11,0.14 0.22,0.28 0.34,0.41 0.11,0.14 0.23,0.27 0.36,0.39 0.07,0.06 0.18,-0.02 0.13,-0.1 -0.09,-0.16 -0.2,-0.31 -0.32,-0.45 z"
+   id="path1862" />
+			<path
+   class="st1"
+   d="m 285.12,329.7 c 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 0,-0.01 0,-0.01 0.01,-0.01 z"
+   id="path1864" />
+			<path
+   class="st1"
+   d="m 293.02,326.9 c -0.22,-0.33 -0.45,-0.66 -0.67,-1 -0.08,-0.12 -0.28,-0.01 -0.2,0.12 l 0.67,1.02 c 0.22,0.33 0.42,0.69 0.68,0.99 0.08,0.09 0.21,-0.03 0.16,-0.12 -0.17,-0.36 -0.42,-0.68 -0.64,-1.01 z"
+   id="path1866" />
+			<path
+   class="st1"
+   d="m 294.63,325.66 c -0.05,-0.04 -0.09,-0.09 -0.14,-0.13 -0.1,-0.09 -0.2,-0.17 -0.3,-0.26 -0.04,-0.03 -0.09,-0.04 -0.13,0 -0.03,0.03 -0.04,0.1 0,0.13 0.1,0.09 0.2,0.17 0.3,0.26 0.05,0.04 0.1,0.08 0.15,0.12 0.06,0.04 0.11,0.09 0.17,0.12 0.05,0.03 0.13,-0.03 0.09,-0.09 -0.02,-0.03 -0.04,-0.06 -0.07,-0.08 -0.02,-0.02 -0.05,-0.05 -0.07,-0.07 z"
+   id="path1868" />
+			<path
+   class="st1"
+   d="m 295.99,327.71 c 0.08,-0.02 0.04,-0.14 -0.03,-0.12 -0.08,0.02 -0.05,0.14 0.03,0.12 z"
+   id="path1870" />
+			<path
+   class="st1"
+   d="m 298.66,324.2 c -0.17,-0.11 -0.34,-0.22 -0.52,-0.32 -0.18,-0.1 -0.36,-0.2 -0.53,-0.3 -0.06,-0.04 -0.12,0.06 -0.06,0.1 0.18,0.1 0.35,0.21 0.53,0.31 0.18,0.1 0.36,0.19 0.54,0.29 0.05,0 0.08,-0.06 0.04,-0.08 z"
+   id="path1872" />
+			<path
+   class="st1"
+   d="m 300.87,324.92 c 0.22,0.33 0.4,0.68 0.55,1.04 0.07,0.18 0.13,0.37 0.18,0.56 0.05,0.17 0.05,0.36 0.17,0.5 0.04,0.05 0.11,0.02 0.13,-0.04 0.06,-0.16 -0.02,-0.36 -0.07,-0.52 -0.06,-0.2 -0.13,-0.41 -0.21,-0.6 -0.16,-0.39 -0.37,-0.76 -0.61,-1.1 -0.48,-0.68 -1.1,-1.23 -1.82,-1.63 -0.07,-0.04 -0.14,0.07 -0.07,0.11 0.7,0.42 1.3,1 1.75,1.68 z"
+   id="path1874" />
+			<path
+   class="st1"
+   d="m 301.04,323.01 c 0.1,0.05 0.21,0.09 0.31,0.14 0.06,0.02 0.11,0.05 0.17,0.07 0.03,0.01 0.06,0.03 0.1,0.03 0.03,0 0.06,0.01 0.09,0.01 0.04,0.01 0.08,0 0.1,-0.04 0.02,-0.03 0.02,-0.08 -0.01,-0.11 -0.05,-0.03 -0.09,-0.08 -0.14,-0.11 -0.05,-0.03 -0.11,-0.05 -0.17,-0.07 -0.11,-0.05 -0.22,-0.09 -0.32,-0.14 -0.22,-0.09 -0.43,-0.19 -0.65,-0.28 -0.06,-0.03 -0.14,-0.02 -0.18,0.05 -0.03,0.06 -0.02,0.15 0.05,0.18 0.21,0.08 0.43,0.17 0.65,0.27 z"
+   id="path1876" />
+			<path
+   class="st1"
+   d="m 302.66,324.56 c 0.09,-0.02 0.05,-0.16 -0.04,-0.14 -0.08,0.03 -0.04,0.17 0.04,0.14 z"
+   id="path1878" />
+			<path
+   class="st1"
+   d="m 308.16,322.47 c -0.22,-0.36 -0.49,-0.69 -0.8,-0.97 -0.61,-0.57 -1.39,-0.91 -2.23,-1 -0.17,-0.02 -0.21,0.27 -0.04,0.3 0.76,0.12 1.46,0.47 2.04,0.96 0.29,0.24 0.53,0.53 0.73,0.84 0.1,0.16 0.19,0.34 0.26,0.51 0.07,0.18 0.11,0.37 0.21,0.54 0.07,0.12 0.26,0.07 0.26,-0.07 0,-0.21 -0.09,-0.41 -0.17,-0.6 -0.06,-0.17 -0.15,-0.34 -0.26,-0.51 z"
+   id="path1880" />
+			<path
+   class="st1"
+   d="m 309.72,321.32 c -0.04,-0.07 -0.1,-0.14 -0.15,-0.2 0.01,0.02 0.02,0.03 0.03,0.05 -0.03,-0.08 -0.09,-0.14 -0.15,-0.2 -0.05,-0.06 -0.11,-0.11 -0.16,-0.17 -0.11,-0.11 -0.22,-0.22 -0.32,-0.33 -0.11,-0.11 -0.28,0.06 -0.17,0.17 0.11,0.11 0.21,0.22 0.32,0.33 0.05,0.06 0.1,0.11 0.16,0.17 0.06,0.06 0.12,0.12 0.19,0.15 -0.02,-0.01 -0.03,-0.02 -0.05,-0.03 0.06,0.05 0.12,0.12 0.2,0.15 0.07,0.05 0.13,-0.02 0.1,-0.09 z"
+   id="path1882" />
+			<path
+   class="st1"
+   d="m 310.13,322.64 c 0.04,0.04 0.09,0.04 0.14,0.02 0.05,-0.03 0.06,-0.08 0.05,-0.13 -0.01,-0.09 -0.08,-0.18 -0.12,-0.27 -0.04,-0.08 -0.08,-0.17 -0.13,-0.25 -0.09,-0.17 -0.18,-0.33 -0.27,-0.5 -0.03,-0.05 -0.1,-0.06 -0.14,-0.04 -0.05,0.03 -0.06,0.09 -0.04,0.14 0.08,0.17 0.16,0.34 0.24,0.51 0.04,0.09 0.08,0.17 0.12,0.25 0.05,0.1 0.08,0.2 0.15,0.27 z"
+   id="path1884" />
+			<path
+   class="st1"
+   d="m 311.78,321.28 c 0.02,0.03 0.04,0.07 0.05,0.1 0.02,0.04 0.06,0.08 0.1,0.11 0.04,0.04 0.11,0.05 0.17,0.02 0.05,-0.04 0.07,-0.09 0.06,-0.16 0,-0.02 -0.01,-0.04 -0.01,-0.06 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.02,-0.03 -0.04,-0.07 -0.06,-0.1 -0.04,-0.07 -0.07,-0.13 -0.11,-0.2 -0.04,-0.07 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.1,0.14 -0.06,0.22 0.04,0.08 0.07,0.15 0.11,0.21 z"
+   id="path1886" />
+			<path
+   class="st1"
+   d="m 299.42,325.2 c -0.15,-0.18 -0.33,-0.34 -0.53,-0.47 -0.07,-0.04 -0.17,-0.01 -0.21,0.06 -0.04,0.07 -0.01,0.16 0.06,0.21 0.17,0.12 0.33,0.26 0.46,0.42 0.06,0.08 0.12,0.16 0.17,0.24 0.06,0.09 0.12,0.18 0.17,0.28 0.07,0.13 0.28,0.04 0.24,-0.1 -0.04,-0.11 -0.08,-0.23 -0.14,-0.34 -0.07,-0.11 -0.14,-0.21 -0.22,-0.3 z"
+   id="path1888" />
+			<path
+   class="st1"
+   d="m 300.36,327.16 c 0,-0.02 0,-0.03 0,-0.05 0,-0.02 0,-0.04 -0.01,-0.06 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.01,-0.04 -0.03,-0.07 -0.07,-0.09 -0.03,-0.02 -0.07,-0.02 -0.11,-0.01 -0.04,0.01 -0.07,0.03 -0.09,0.07 -0.02,0.03 -0.02,0.07 -0.01,0.11 0.01,0.03 0.02,0.07 0.03,0.1 0,0.01 0,0.02 0.01,0.02 0,0.01 0.01,0.03 0.01,0.04 0.01,0.02 0.02,0.04 0.03,0.06 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.03,0.02 0.04,0.03 0.03,0.01 0.06,0.02 0.09,0.01 0.02,-0.01 0.04,-0.02 0.06,-0.04 0.02,-0.02 0.04,-0.06 0.04,-0.09 z"
+   id="path1890" />
+			<path
+   class="st1"
+   d="m 295.56,327.32 c -0.12,-0.14 -0.23,-0.29 -0.35,-0.43 -0.04,-0.05 -0.14,-0.04 -0.18,0 -0.05,0.05 -0.04,0.13 0,0.18 0.11,0.14 0.23,0.28 0.34,0.42 0.06,0.07 0.11,0.14 0.17,0.21 0.06,0.07 0.12,0.15 0.2,0.19 0.07,0.04 0.16,-0.02 0.14,-0.11 -0.02,-0.09 -0.09,-0.17 -0.14,-0.24 -0.05,-0.07 -0.12,-0.15 -0.18,-0.22 z"
+   id="path1892" />
+			<path
+   class="st1"
+   d="m 296.31,328.59 c -0.02,-0.01 -0.06,-0.02 -0.09,-0.01 -0.03,0.01 -0.06,0.03 -0.07,0.05 -0.01,0.03 -0.02,0.06 -0.01,0.09 0.04,0.11 0.08,0.22 0.13,0.32 0.03,0.06 0.14,0.03 0.13,-0.04 -0.01,-0.12 -0.03,-0.23 -0.05,-0.34 0.01,-0.02 -0.01,-0.05 -0.04,-0.07 z"
+   id="path1894" />
+			<path
+   class="st1"
+   d="m 291.76,329.22 c -0.02,-0.04 -0.05,-0.07 -0.07,-0.1 -0.04,-0.05 -0.09,-0.11 -0.13,-0.16 -0.09,-0.11 -0.17,-0.22 -0.26,-0.33 -0.04,-0.05 -0.14,-0.04 -0.18,0 -0.05,0.06 -0.04,0.12 0,0.18 l 0.26,0.32 c 0.04,0.05 0.08,0.11 0.13,0.16 0.02,0.03 0.04,0.06 0.07,0.08 0.03,0.02 0.05,0.05 0.08,0.07 0.09,0.08 0.22,-0.02 0.17,-0.13 -0.03,-0.03 -0.05,-0.06 -0.07,-0.09 z"
+   id="path1896" />
+			<path
+   class="st1"
+   d="m 290.28,329.61 c -0.05,-0.1 -0.09,-0.2 -0.14,-0.31 -0.03,-0.06 -0.12,-0.08 -0.17,-0.04 -0.06,0.04 -0.07,0.11 -0.04,0.17 0.05,0.1 0.09,0.2 0.14,0.3 0.02,0.05 0.04,0.1 0.07,0.15 0.03,0.05 0.07,0.09 0.1,0.14 0.03,0.03 0.07,0.05 0.11,0.03 0.04,-0.02 0.06,-0.06 0.05,-0.1 -0.01,-0.05 -0.02,-0.11 -0.04,-0.16 -0.02,-0.07 -0.05,-0.12 -0.08,-0.18 z"
+   id="path1898" />
+			<path
+   class="st1"
+   d="m 287.74,330.78 c -0.01,-0.13 -0.03,-0.26 -0.05,-0.4 -0.01,-0.05 -0.01,-0.08 -0.05,-0.12 -0.03,-0.03 -0.08,-0.05 -0.12,-0.05 -0.08,0 -0.18,0.07 -0.17,0.17 0.02,0.14 0.03,0.29 0.05,0.43 0.01,0.06 0.02,0.13 0.03,0.19 0.01,0.03 0.01,0.07 0.02,0.1 0.01,0.05 0.04,0.09 0.07,0.13 0.05,0.06 0.17,0.04 0.2,-0.03 0.02,-0.05 0.04,-0.09 0.03,-0.14 0,-0.03 -0.01,-0.06 -0.01,-0.09 0.01,-0.05 0.01,-0.12 0,-0.19 z"
+   id="path1900" />
+			<path
+   class="st1"
+   d="m 285.56,331.48 c -0.14,0.04 -0.08,0.25 0.06,0.21 0.13,-0.04 0.07,-0.25 -0.06,-0.21 z"
+   id="path1902" />
+			<path
+   class="st1"
+   d="m 283.97,332.25 c -0.13,0.04 -0.08,0.24 0.06,0.21 0.13,-0.04 0.07,-0.25 -0.06,-0.21 z"
+   id="path1904" />
+			<path
+   class="st1"
+   d="m 281.49,332.66 c -0.17,0.05 -0.1,0.31 0.07,0.27 0.18,-0.05 0.11,-0.32 -0.07,-0.27 z"
+   id="path1906" />
+			<path
+   class="st1"
+   d="m 313.07,321.53 c 0.1,-0.03 0.06,-0.18 -0.04,-0.15 -0.1,0.02 -0.06,0.17 0.04,0.15 z"
+   id="path1908" />
+			<path
+   class="st1"
+   d="m 315,319.67 c -0.01,-0.03 -0.06,-0.04 -0.09,-0.02 -0.03,0.02 -0.05,0.06 -0.02,0.09 0.04,0.06 0.09,0.13 0.13,0.19 0.04,0.06 0.08,0.13 0.13,0.18 0.02,0.02 0.05,0 0.04,-0.02 -0.02,-0.07 -0.06,-0.14 -0.09,-0.21 -0.03,-0.08 -0.06,-0.14 -0.1,-0.21 z"
+   id="path1910" />
+			<path
+   class="st1"
+   d="m 316.89,318.4 c -0.03,-0.01 -0.07,0 -0.09,0.01 -0.05,0.03 -0.08,0.11 -0.04,0.16 0.08,0.12 0.17,0.25 0.26,0.37 0.02,0.03 0.05,0.04 0.09,0.03 0.03,-0.01 0.05,-0.05 0.04,-0.08 -0.05,-0.15 -0.12,-0.29 -0.19,-0.43 -0.01,-0.03 -0.04,-0.06 -0.07,-0.06 z"
+   id="path1912" />
+			<path
+   class="st1"
+   d="m 318.92,318.01 c 0.03,0.02 0.07,0.01 0.1,-0.01 0.02,-0.02 0.03,-0.07 0.01,-0.1 -0.02,-0.03 -0.05,-0.06 -0.07,-0.09 -0.02,-0.02 -0.05,-0.04 -0.07,-0.07 -0.05,-0.05 -0.09,-0.09 -0.14,-0.14 -0.04,-0.04 -0.12,-0.04 -0.16,0 -0.02,0.02 -0.03,0.05 -0.03,0.08 0,0.03 0.01,0.06 0.03,0.08 0.05,0.04 0.1,0.08 0.16,0.12 0.03,0.02 0.05,0.04 0.08,0.06 0.02,0.01 0.04,0.03 0.06,0.04 z"
+   id="path1914" />
+			<path
+   class="st1"
+   d="m 319.56,318.53 c -0.05,0.01 -0.03,0.09 0.02,0.07 0.05,-0.01 0.03,-0.09 -0.02,-0.07 z"
+   id="path1916" />
+			<path
+   class="st1"
+   d="m 321.29,317.39 c -0.08,-0.13 -0.28,-0.01 -0.21,0.12 0.14,0.25 0.28,0.5 0.42,0.75 0.13,0.24 0.26,0.52 0.47,0.71 0.06,0.06 0.16,0 0.14,-0.08 -0.06,-0.27 -0.23,-0.52 -0.38,-0.76 -0.14,-0.25 -0.29,-0.5 -0.44,-0.74 z"
+   id="path1918" />
+			<path
+   class="st1"
+   d="m 322.42,315.53 c -0.51,-0.63 -1.19,-1.1 -1.94,-1.41 -0.15,-0.06 -0.26,0.19 -0.11,0.26 0.69,0.32 1.3,0.78 1.8,1.35 0.25,0.28 0.47,0.59 0.65,0.92 0.18,0.33 0.29,0.69 0.47,1.02 0.03,0.05 0.11,0.03 0.11,-0.03 0,-0.39 -0.16,-0.76 -0.33,-1.11 -0.17,-0.35 -0.39,-0.68 -0.65,-1 z"
+   id="path1920" />
+			<path
+   class="st1"
+   d="m 323.99,318.48 c 0.02,0 0.03,0 0.05,0 0.01,0 0.02,-0.01 0.03,-0.01 0.01,-0.01 0.02,-0.01 0.02,-0.02 0.01,-0.01 0.02,-0.02 0.02,-0.04 0.01,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,-0.03 -0.01,-0.04 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.02 -0.01,-0.03 -0.02,-0.05 -0.01,-0.01 -0.02,-0.03 -0.04,-0.03 -0.01,-0.01 -0.03,-0.01 -0.05,-0.02 -0.02,0 -0.03,0 -0.05,0 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.04,0.03 -0.05,0.05 0,0.01 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.05 0,0.07 0.01,0.02 0.01,0.03 0.02,0.05 0,0.01 0.01,0.02 0.01,0.02 0,0 0,0.01 0,0.01 0.01,0.01 0.01,0.03 0.02,0.04 0.01,0.01 0.01,0.02 0.02,0.02 0.01,0.01 0.02,0.02 0.04,0.02 0.01,0 0.02,0.01 0.03,0.01 z"
+   id="path1922" />
+			<path
+   class="st1"
+   d="m 324.9,315.64 c -0.01,-0.03 -0.05,-0.03 -0.08,-0.02 -0.03,0.02 -0.03,0.05 -0.02,0.08 0.05,0.1 0.09,0.2 0.14,0.3 0.05,0.1 0.1,0.19 0.15,0.29 0.02,0.03 0.08,0.01 0.06,-0.03 -0.04,-0.1 -0.08,-0.21 -0.12,-0.31 -0.03,-0.1 -0.08,-0.2 -0.13,-0.31 z"
+   id="path1924" />
+			<path
+   class="st1"
+   d="m 325.56,317.02 c -0.05,0.01 -0.03,0.08 0.02,0.07 0.04,-0.02 0.02,-0.09 -0.02,-0.07 z"
+   id="path1926" />
+			<path
+   class="st1"
+   d="m 327.4,315.96 c -0.17,0.05 -0.1,0.31 0.07,0.26 0.18,-0.04 0.1,-0.3 -0.07,-0.26 z"
+   id="path1928" />
+			<path
+   class="st1"
+   d="m 328.72,314.01 c -0.02,-0.05 -0.05,-0.11 -0.07,-0.16 -0.05,-0.1 -0.1,-0.21 -0.15,-0.31 -0.02,-0.04 -0.07,-0.05 -0.11,-0.03 -0.03,0.02 -0.07,0.06 -0.05,0.1 0.04,0.11 0.09,0.21 0.13,0.32 0.02,0.05 0.04,0.1 0.06,0.15 0.01,0.03 0.02,0.05 0.03,0.08 0.02,0.04 0.03,0.06 0.06,0.09 0.05,0.05 0.15,0.01 0.14,-0.06 0,-0.04 -0.01,-0.07 -0.02,-0.11 0,-0.02 -0.01,-0.05 -0.02,-0.07 z"
+   id="path1930" />
+			<path
+   class="st1"
+   d="m 331.06,313.68 0.09,0.08 c 0.02,0.02 0.04,0.02 0.06,0 0.02,-0.02 0.01,-0.04 0,-0.06 -0.03,-0.03 -0.05,-0.06 -0.08,-0.1 -0.03,-0.03 -0.06,-0.06 -0.08,-0.09 -0.02,-0.02 -0.05,-0.02 -0.07,0 -0.02,0.02 -0.02,0.05 0,0.07 0.03,0.04 0.05,0.08 0.08,0.1 z"
+   id="path1932" />
+			<path
+   class="st1"
+   d="m 332.45,312.46 c -0.05,-0.07 -0.1,-0.14 -0.15,-0.22 -0.1,-0.15 -0.2,-0.29 -0.3,-0.44 -0.03,-0.05 -0.09,-0.07 -0.14,-0.04 -0.05,0.03 -0.07,0.09 -0.04,0.14 l 0.29,0.45 c 0.05,0.07 0.09,0.15 0.14,0.22 0.01,0.02 0.02,0.03 0.03,0.05 0.02,0.02 0.04,0.04 0.06,0.06 0.03,0.04 0.05,0.07 0.1,0.09 0.05,0.02 0.12,0 0.12,-0.07 0,-0.05 -0.02,-0.09 -0.05,-0.13 -0.02,-0.04 -0.04,-0.08 -0.06,-0.11 z"
+   id="path1934" />
+			<path
+   class="st1"
+   d="m 334.33,312.31 c -0.08,-0.18 -0.2,-0.33 -0.31,-0.49 -0.12,-0.15 -0.24,-0.31 -0.35,-0.46 -0.03,-0.04 -0.08,-0.06 -0.12,-0.03 -0.04,0.02 -0.06,0.08 -0.03,0.12 0.12,0.16 0.24,0.32 0.35,0.48 0.12,0.16 0.24,0.31 0.39,0.45 0.03,0.03 0.09,-0.02 0.07,-0.07 z"
+   id="path1936" />
+			<path
+   class="st1"
+   d="m 335.16,313.54 c 0.01,0.02 0.01,0.04 0.02,0.07 0,0.02 0.01,0.03 0.02,0.05 0.01,0.02 0.03,0.03 0.04,0.04 0.06,0.05 0.15,0.03 0.17,-0.05 0.01,-0.04 0.01,-0.07 0,-0.11 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 l -0.04,-0.14 -0.07,-0.27 c -0.02,-0.06 -0.09,-0.11 -0.15,-0.09 -0.06,0.02 -0.1,0.08 -0.09,0.15 0.02,0.09 0.05,0.18 0.07,0.27 0.02,0.05 0.04,0.1 0.05,0.14 z"
+   id="path1938" />
+			<path
+   class="st1"
+   d="m 334.91,309.88 c -0.47,-0.56 -1.09,-0.99 -1.69,-1.39 -0.11,-0.07 -0.23,0.09 -0.14,0.18 0.54,0.49 1.11,0.98 1.76,1.31 0.06,0.03 0.12,-0.05 0.07,-0.1 z"
+   id="path1940" />
+			<path
+   class="st1"
+   d="m 335.89,310.86 c -0.04,-0.03 -0.08,-0.06 -0.11,-0.09 -0.07,-0.06 -0.15,-0.11 -0.22,-0.17 -0.03,-0.02 -0.07,-0.03 -0.1,0 -0.02,0.02 -0.03,0.07 0,0.1 0.07,0.06 0.15,0.12 0.22,0.18 0.04,0.03 0.07,0.06 0.11,0.09 0.02,0.02 0.04,0.03 0.07,0.05 0.03,0.02 0.05,0.03 0.08,0.03 0.04,0 0.07,-0.04 0.06,-0.07 -0.01,-0.03 -0.02,-0.05 -0.05,-0.07 -0.02,-0.02 -0.04,-0.04 -0.06,-0.05 z"
+   id="path1942" />
+			<path
+   class="st1"
+   d="m 336.95,312.59 c 0.01,0.03 0.02,0.05 0.04,0.06 0.01,0.01 0.04,0.02 0.06,0.02 0.02,0 0.04,-0.01 0.06,-0.02 0.03,-0.03 0.04,-0.07 0.06,-0.1 0.01,-0.02 0.01,-0.04 0.02,-0.07 0,-0.02 0,-0.03 0,-0.05 0,-0.06 0,-0.12 0.01,-0.18 0,-0.06 -0.06,-0.12 -0.12,-0.12 -0.07,0 -0.12,0.05 -0.12,0.12 0,0.06 -0.01,0.12 -0.01,0.18 0,0.02 0,0.03 0,0.05 0,0.02 0,0.05 0.01,0.07 -0.01,0.01 -0.01,0.02 -0.01,0.04 z"
+   id="path1944" />
+			<path
+   class="st1"
+   d="m 338.36,310.75 c -0.17,-0.21 -0.33,-0.42 -0.49,-0.63 -0.02,-0.03 -0.08,0 -0.05,0.03 0.15,0.22 0.31,0.43 0.45,0.65 0.07,0.11 0.15,0.21 0.22,0.33 0.06,0.1 0.11,0.25 0.23,0.29 0.04,0.01 0.08,-0.02 0.08,-0.06 0,-0.12 -0.12,-0.21 -0.2,-0.3 -0.08,-0.1 -0.16,-0.21 -0.24,-0.31 z"
+   id="path1946" />
+			<path
+   class="st1"
+   d="m 340.07,310.39 c -0.04,-0.04 -0.09,-0.08 -0.13,-0.12 -0.08,-0.08 -0.16,-0.17 -0.22,-0.27 -0.13,-0.19 -0.23,-0.41 -0.3,-0.63 -0.04,-0.12 -0.23,-0.07 -0.19,0.05 0.07,0.25 0.18,0.48 0.32,0.69 0.07,0.1 0.15,0.2 0.24,0.3 0.04,0.05 0.09,0.09 0.14,0.13 0.05,0.05 0.1,0.1 0.18,0.08 0.04,-0.01 0.06,-0.04 0.06,-0.08 0,-0.07 -0.05,-0.11 -0.1,-0.15 z"
+   id="path1948" />
+			<path
+   class="st1"
+   d="m 341.4,309.47 c -0.05,-0.16 -0.09,-0.33 -0.14,-0.49 -0.04,-0.16 -0.29,-0.09 -0.25,0.07 0.04,0.16 0.09,0.33 0.13,0.49 0.02,0.08 0.04,0.16 0.06,0.25 0.02,0.09 0.05,0.18 0.11,0.25 0.06,0.05 0.15,0.03 0.17,-0.05 0.02,-0.09 0,-0.18 -0.03,-0.27 -0.01,-0.09 -0.03,-0.17 -0.05,-0.25 z"
+   id="path1950" />
+			<path
+   class="st1"
+   d="m 346.11,311.69 c 0.04,-0.01 0.06,-0.05 0.05,-0.09 0,-0.01 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.02,-0.04 -0.04,-0.05 -0.01,-0.01 -0.02,-0.01 -0.04,-0.02 L 346,311.47 c -0.05,-0.02 -0.1,-0.05 -0.14,-0.07 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.02,0 -0.03,0.02 -0.04,0.03 -0.02,0.04 -0.01,0.07 0.03,0.09 0.04,0.03 0.09,0.06 0.13,0.09 l 0.06,0.04 0.03,0.02 c 0.01,0.01 0.03,0.02 0.05,0.02 0.02,0.02 0.03,0.02 0.04,0.01 z"
+   id="path1952" />
+			<path
+   class="st1"
+   d="m 348.72,310.07 c -0.05,0.01 -0.03,0.09 0.02,0.07 0.05,-0.01 0.03,-0.09 -0.02,-0.07 z"
+   id="path1954" />
+			<path
+   class="st1"
+   d="m 350.17,309.22 c 0,0.01 0.01,0.03 0.02,0.04 0.01,0.01 0.02,0.02 0.02,0.03 0.01,0.01 0.01,0.01 0.02,0.02 0.05,0.05 0.15,0.03 0.16,-0.04 0,-0.01 0,-0.02 0.01,-0.03 0,-0.01 0.01,-0.02 0.01,-0.04 0,-0.01 0,-0.03 -0.01,-0.04 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.01,-0.03 -0.03,-0.05 -0.05,-0.07 -0.02,-0.01 -0.06,-0.02 -0.09,-0.01 -0.03,0.01 -0.06,0.03 -0.07,0.05 -0.01,0.03 -0.02,0.06 -0.01,0.09 0.01,0.04 0.02,0.07 0.03,0.11 0,0.02 0,0.04 0.01,0.06 z"
+   id="path1956" />
+			<path
+   class="st1"
+   d="m 349.93,305.16 c -0.21,-0.38 -0.51,-0.72 -0.79,-1.05 -0.29,-0.34 -0.57,-0.68 -0.86,-1.02 -0.11,-0.13 -0.29,0.06 -0.18,0.19 0.28,0.34 0.55,0.68 0.83,1.02 0.27,0.33 0.54,0.69 0.88,0.96 0.07,0.05 0.16,-0.02 0.12,-0.1 z"
+   id="path1958" />
+			<path
+   class="st1"
+   d="m 350.89,307.61 c 0.01,0.04 0.03,0.08 0.04,0.12 0.02,0.05 0.03,0.08 0.06,0.12 0.04,0.05 0.13,0.01 0.13,-0.05 0,-0.09 -0.05,-0.16 -0.08,-0.24 -0.03,-0.08 -0.07,-0.15 -0.1,-0.23 -0.06,-0.15 -0.13,-0.31 -0.19,-0.46 -0.03,-0.07 -0.15,-0.04 -0.12,0.03 l 0.18,0.48 c 0.03,0.07 0.05,0.15 0.08,0.23 z"
+   id="path1960" />
+			<path
+   class="st1"
+   d="m 348.81,303.14 c 0.11,0.15 0.22,0.31 0.35,0.45 0.13,0.14 0.25,0.29 0.39,0.41 0.08,0.07 0.19,-0.02 0.14,-0.11 -0.08,-0.17 -0.2,-0.32 -0.3,-0.48 -0.1,-0.16 -0.23,-0.3 -0.35,-0.45 -0.24,-0.3 -0.47,-0.59 -0.71,-0.89 -0.09,-0.12 -0.3,0.04 -0.21,0.16 0.23,0.3 0.46,0.61 0.69,0.91 z"
+   id="path1962" />
+			<path
+   class="st1"
+   d="m 273.9,318.31 c -0.05,0.01 -0.03,0.1 0.02,0.08 0.06,-0.02 0.03,-0.1 -0.02,-0.08 z"
+   id="path1964" />
+			<path
+   class="st1"
+   d="m 275.17,315.94 c -0.05,0.01 -0.03,0.09 0.02,0.07 0.05,0 0.03,-0.08 -0.02,-0.07 z"
+   id="path1966" />
+			<path
+   class="st1"
+   d="m 282.46,313.85 c -0.06,0.02 -0.04,0.11 0.03,0.09 0.06,-0.02 0.04,-0.11 -0.03,-0.09 z"
+   id="path1968" />
+			<path
+   class="st1"
+   d="m 284.1,313.26 c -0.1,0.03 -0.06,0.19 0.04,0.16 0.11,-0.03 0.07,-0.19 -0.04,-0.16 z"
+   id="path1970" />
+			<path
+   class="st1"
+   d="m 285.98,312.71 c 0.12,-0.03 0.07,-0.23 -0.05,-0.19 -0.13,0.03 -0.08,0.23 0.05,0.19 z"
+   id="path1972" />
+			<path
+   class="st1"
+   d="m 290.58,309.82 c 0.17,-0.05 0.1,-0.31 -0.07,-0.26 -0.17,0.04 -0.1,0.3 0.07,0.26 z"
+   id="path1974" />
+			<path
+   class="st1"
+   d="m 300.16,305.75 c 0.03,0.02 0.05,0.04 0.08,0.06 0.02,0.01 0.04,0.03 0.06,0.04 0.02,0.01 0.04,0.02 0.06,0.02 0.03,0.01 0.07,0 0.09,-0.02 0.02,-0.02 0.03,-0.06 0.02,-0.09 -0.01,-0.03 -0.02,-0.06 -0.04,-0.08 -0.01,-0.01 -0.02,-0.02 -0.04,-0.04 -0.02,-0.02 -0.05,-0.05 -0.07,-0.07 -0.05,-0.05 -0.1,-0.09 -0.15,-0.13 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.03,0 -0.06,0.01 -0.08,0.04 -0.04,0.05 -0.05,0.12 0,0.17 0.05,0.04 0.1,0.08 0.15,0.13 z"
+   id="path1976" />
+			<path
+   class="st1"
+   d="m 304.46,303.39 c -0.06,0.02 -0.04,0.12 0.03,0.1 0.06,-0.01 0.03,-0.11 -0.03,-0.1 z"
+   id="path1978" />
+			<path
+   class="st1"
+   d="m 311.14,301.92 c -0.06,0.02 -0.04,0.12 0.03,0.1 0.06,-0.01 0.03,-0.11 -0.03,-0.1 z"
+   id="path1980" />
+			<path
+   class="st1"
+   d="m 312.86,300.77 c 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.01 0.05,0.02 0.08,0.01 L 313,300.8 c 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.01,-0.02 0.02,-0.04 0.03,-0.06 0,-0.01 0.01,-0.02 0.01,-0.03 0.01,-0.02 0.02,-0.03 0.02,-0.05 0,-0.01 0,-0.02 0,-0.02 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.03,-0.02 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.01,0 -0.02,0 -0.02,0 -0.01,0 -0.02,0 -0.03,0.01 -0.01,0 -0.02,0.01 -0.03,0.02 -0.01,0.01 -0.02,0.03 -0.03,0.04 l -0.02,0.03 c -0.01,0.02 -0.03,0.04 -0.04,0.06 -0.01,0.01 -0.01,0.02 -0.01,0.04 0,0.01 0,0.03 0,0.04 -0.01,-0.02 0,0 0.01,0.01 z"
+   id="path1982" />
+			<path
+   class="st1"
+   d="m 315.06,300.11 c 0,0.01 0,0.03 0.01,0.04 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.01 0.04,0.01 0.06,0.01 0.02,-0.01 0.04,-0.02 0.05,-0.04 0.01,-0.01 0.01,-0.02 0.01,-0.04 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.02 -0.02,-0.03 -0.02,-0.05 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.01,-0.02 -0.04,-0.03 -0.06,-0.02 -0.02,0.01 -0.04,0.03 -0.04,0.05 0,0.02 0,0.03 0,0.05 0,0.02 0,0.04 0,0.06 z"
+   id="path1984" />
+			<path
+   class="st1"
+   d="m 317.23,299.13 c 0.19,-0.05 0.11,-0.34 -0.08,-0.29 -0.18,0.05 -0.11,0.35 0.08,0.29 z"
+   id="path1986" />
+			<path
+   class="st1"
+   d="m 319.5,299.07 c 0.01,0.01 0.01,0.01 0.02,0.02 0.02,0.01 0.04,0.01 0.05,0.01 0.02,-0.01 0.03,-0.02 0.04,-0.03 0,-0.01 0,-0.01 0.01,-0.02 0,-0.01 0,-0.03 0,-0.04 -0.01,-0.04 -0.01,-0.07 -0.01,-0.11 0,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -0.01,0 -0.02,0 -0.03,0 -0.02,0.01 -0.04,0.02 -0.05,0.04 0,0.01 -0.01,0.01 -0.01,0.02 0,0.01 0,0.03 0,0.04 0.01,0.03 0.03,0.07 0.04,0.1 0,0.01 0.01,0.02 0.01,0.03 z"
+   id="path1988" />
+			<path
+   class="st1"
+   d="m 321.21,297.25 c -0.1,0.03 -0.06,0.19 0.04,0.16 0.11,-0.02 0.07,-0.19 -0.04,-0.16 z"
+   id="path1990" />
+			<path
+   class="st1"
+   d="m 324.5,296.11 c 0.13,-0.04 0.08,-0.24 -0.06,-0.21 -0.13,0.04 -0.07,0.25 0.06,0.21 z"
+   id="path1992" />
+			<path
+   class="st1"
+   d="m 326.71,294.75 c 0.16,-0.04 0.1,-0.3 -0.07,-0.25 -0.16,0.04 -0.09,0.29 0.07,0.25 z"
+   id="path1994" />
+			<path
+   class="st1"
+   d="m 328.61,294.43 c 0,0.01 0.01,0.02 0.02,0.04 0,0 0,0 0,0.01 0.01,0.01 0.02,0.02 0.02,0.03 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.01,0.01 0.02,0.01 0.01,0 0.01,0.01 0.02,0.01 0,0 0,0 0,0 0.01,0 0.02,0.01 0.03,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0.02,0 0.04,0 0.01,0 0,0 0.02,0 0.01,0 0.01,0 0.02,0 0,0 0,0 0,0 0.01,0 0.02,-0.01 0.04,-0.02 0,0 0,0 0,0 0.02,-0.01 0.03,-0.02 0.04,-0.03 0,0 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.03,-0.03 0,0 0,-0.01 0,-0.01 0.01,-0.01 0.01,-0.03 0.02,-0.04 0.01,-0.02 0.01,-0.03 0.01,-0.05 0,-0.01 0,-0.03 0,-0.04 0,-0.01 0,-0.02 0,-0.03 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,0 0,0 0,0 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 0,0 0,0 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.02,0 -0.04,0 -0.05,0 -0.02,0 -0.03,0.01 -0.05,0.02 -0.01,0.01 -0.02,0.02 -0.02,0.03 0,0 0,0 0,0 -0.01,0 -0.02,0.01 -0.03,0.01 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 -0.01,0 -0.01,0.01 -0.02,0.02 0,0 -0.01,0.01 -0.01,0.01 0,0 0,0 0,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.03 0,0.01 -0.01,0.03 -0.01,0.04 0,0.01 0,0.01 0,0.02 -0.01,0.05 0,0.07 0,0.09 0,0 0,0 0,0 z"
+   id="path1996" />
+			<path
+   class="st1"
+   d="m 337.7,291.08 c 0.04,0.04 0.08,0.07 0.12,0.11 0.02,0.02 0.04,0.03 0.06,0.05 0.03,0.02 0.05,0.04 0.08,0.05 0.07,0.04 0.16,-0.04 0.11,-0.12 -0.02,-0.03 -0.03,-0.06 -0.06,-0.08 -0.02,-0.02 -0.04,-0.04 -0.05,-0.05 -0.04,-0.04 -0.07,-0.08 -0.11,-0.11 -0.08,-0.08 -0.15,-0.15 -0.22,-0.23 -0.04,-0.04 -0.12,-0.04 -0.17,0 -0.04,0.05 -0.05,0.12 0,0.17 0.08,0.07 0.16,0.14 0.24,0.21 z"
+   id="path1998" />
+			<path
+   class="st1"
+   d="m 218.91,341.71 c 0.06,-0.02 0.03,-0.11 -0.02,-0.09 -0.06,0.02 -0.04,0.11 0.02,0.09 z"
+   id="path2000" />
+			<path
+   class="st1"
+   d="m 222.59,339.53 c 0.11,-0.03 0.07,-0.21 -0.05,-0.18 -0.11,0.03 -0.06,0.21 0.05,0.18 z"
+   id="path2002" />
+			<path
+   class="st1"
+   d="m 224,337.82 c 0.04,0.15 0.07,0.31 0.16,0.43 0.05,0.08 0.21,0.06 0.2,-0.05 -0.02,-0.15 -0.07,-0.29 -0.11,-0.43 -0.04,-0.14 -0.06,-0.28 -0.09,-0.42 -0.04,-0.29 -0.05,-0.58 -0.03,-0.88 0.01,-0.16 -0.24,-0.16 -0.25,0 -0.02,0.31 -0.01,0.61 0.03,0.91 0.02,0.15 0.05,0.29 0.09,0.44 z"
+   id="path2004" />
+			<path
+   class="st1"
+   d="m 226.08,337.92 c 0.13,-0.03 0.07,-0.23 -0.05,-0.2 -0.12,0.04 -0.07,0.23 0.05,0.2 z"
+   id="path2006" />
+			<path
+   class="st1"
+   d="m 229.13,336.18 c 0.03,0.06 0.06,0.11 0.1,0.17 0.08,0.08 0.2,-0.01 0.18,-0.1 -0.02,-0.1 -0.06,-0.19 -0.09,-0.29 -0.02,-0.09 -0.04,-0.19 -0.04,-0.28 -0.01,-0.2 0.02,-0.4 0.1,-0.58 0.03,-0.07 -0.03,-0.14 -0.09,-0.16 -0.07,-0.02 -0.13,0.03 -0.16,0.09 -0.08,0.21 -0.11,0.44 -0.1,0.67 0.01,0.11 0.03,0.23 0.06,0.34 0.01,0.04 0.02,0.09 0.04,0.14 z"
+   id="path2008" />
+			<path
+   class="st1"
+   d="m 232.65,333.92 c 0.02,0.1 0.03,0.2 0.06,0.3 0.03,0.08 0.16,0.1 0.18,0 0.02,-0.1 0.02,-0.2 0.02,-0.31 0,-0.1 0,-0.2 -0.01,-0.31 -0.02,-0.21 -0.03,-0.41 -0.05,-0.62 -0.01,-0.08 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.02,0.21 0.03,0.41 0.05,0.62 -0.01,0.11 0.01,0.21 0.03,0.32 z"
+   id="path2010" />
+			<path
+   class="st1"
+   d="m 235.51,334.58 c 0.13,-0.04 0.08,-0.24 -0.06,-0.2 -0.12,0.03 -0.07,0.24 0.06,0.2 z"
+   id="path2012" />
+			<path
+   class="st1"
+   d="m 237.45,331.91 c 0.04,0.01 0.08,-0.01 0.1,-0.05 0.02,-0.04 0.03,-0.07 0.04,-0.12 0,-0.03 0.01,-0.06 0.01,-0.09 0.01,-0.06 0.01,-0.12 0.02,-0.17 0.01,-0.12 0.01,-0.24 0.02,-0.36 0,-0.07 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.13,0.06 -0.14,0.14 -0.01,0.12 -0.02,0.23 -0.02,0.35 0,0.06 0,0.11 0,0.17 0,0.03 0,0.06 0,0.09 0,0.04 0.01,0.07 0.02,0.11 0.02,0.04 0.04,0.07 0.09,0.07 z"
+   id="path2014" />
+			<path
+   class="st1"
+   d="m 237.93,333.14 c 0.14,-0.04 0.08,-0.25 -0.06,-0.21 -0.13,0.04 -0.07,0.25 0.06,0.21 z"
+   id="path2016" />
+			<path
+   class="st1"
+   d="m 239.38,332.28 c 0.11,-0.03 0.06,-0.2 -0.05,-0.17 -0.1,0.03 -0.05,0.2 0.05,0.17 z"
+   id="path2018" />
+			<path
+   class="st1"
+   d="m 240.87,331.87 c 0,0.01 0.01,0.01 0.01,0.02 0,0.01 0.01,0.01 0.01,0.02 0.01,0 0.01,0.01 0.02,0.01 0,0 0.01,0 0.01,0.01 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.02,0 0.02,0 0.01,0 0.03,-0.01 0.04,-0.03 0,0 0,-0.01 0,-0.01 0,-0.01 0.01,-0.01 0.01,-0.02 0,-0.01 0,-0.02 0,-0.02 0,-0.01 0,-0.02 0,-0.03 0,-0.02 0,-0.04 0,-0.05 0,-0.03 -0.02,-0.07 -0.05,-0.09 -0.02,-0.01 -0.05,-0.02 -0.08,-0.01 -0.01,0 -0.03,0.01 -0.04,0.02 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.02,0.03 -0.02,0.07 0,0.1 0.04,0.01 0.05,0.02 0.06,0.04 z"
+   id="path2020" />
+			<path
+   class="st1"
+   d="m 242.89,330.58 c 0.02,-0.01 0.03,-0.03 0.05,-0.05 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.02 0.01,-0.05 0.01,-0.07 0,-0.01 0,-0.02 0,-0.03 0,-0.01 0,-0.01 0,-0.02 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.01 -0.01,-0.02 0,-0.01 -0.01,-0.01 -0.02,-0.01 0,0 -0.01,0 -0.01,-0.01 -0.01,0 -0.02,0 -0.03,0 -0.01,0 -0.02,0 -0.03,0.01 0,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.02,0.01 -0.04,0.03 -0.05,0.04 -0.02,0.01 -0.03,0.03 -0.05,0.05 -0.01,0.02 -0.02,0.04 -0.02,0.06 0,0.04 0.02,0.09 0.06,0.11 0.04,0.02 0.09,0.02 0.13,0 z"
+   id="path2022" />
+			<path
+   class="st1"
+   d="m 246.44,328.87 c -0.08,0.02 -0.04,0.14 0.03,0.12 0.07,-0.02 0.04,-0.14 -0.03,-0.12 z"
+   id="path2024" />
+			<path
+   class="st1"
+   d="m 248.48,328.74 c 0.02,0.04 0.03,0.09 0.05,0.12 0.02,0.04 0.06,0.07 0.09,0.09 0.06,0.06 0.16,0.02 0.17,-0.07 0,-0.04 0.01,-0.09 0,-0.13 -0.01,-0.04 -0.03,-0.08 -0.05,-0.11 -0.03,-0.07 -0.06,-0.14 -0.09,-0.21 -0.06,-0.14 -0.12,-0.28 -0.18,-0.42 -0.02,-0.06 -0.11,-0.07 -0.16,-0.05 -0.05,0.02 -0.1,0.09 -0.07,0.15 0.06,0.14 0.11,0.28 0.17,0.42 0.01,0.07 0.04,0.14 0.07,0.21 z"
+   id="path2026" />
+			<path
+   class="st1"
+   d="m 250.26,328.47 c 0.15,-0.04 0.09,-0.28 -0.06,-0.23 -0.16,0.04 -0.09,0.27 0.06,0.23 z"
+   id="path2028" />
+			<path
+   class="st1"
+   d="m 253.81,326.97 c 0.01,0.01 0.01,0.02 0.03,0.02 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.02,0 0.02,0 0.01,0 0.02,0 0.03,-0.01 0.01,0 0.02,-0.01 0.03,-0.02 l 0.03,-0.03 0.01,-0.01 c 0.01,-0.01 0.01,-0.02 0.02,-0.03 0,-0.01 0.01,-0.01 0.01,-0.02 0.01,-0.02 0.03,-0.04 0.04,-0.07 0.01,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,-0.03 0,-0.04 0,-0.01 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.03,-0.01 -0.06,-0.02 -0.08,-0.01 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.03,0.02 -0.04,0.04 -0.01,0.02 -0.02,0.05 -0.04,0.07 0,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.02 -0.01,0.03 -0.01,0.04 l -0.01,0.04 c 0,0.01 0,0.02 0,0.02 0,0.01 0,0.02 0.01,0.03 0,0.04 0.01,0.04 0.01,0.05 z"
+   id="path2030" />
+			<path
+   class="st1"
+   d="m 257.83,325.31 c 0.17,-0.05 0.1,-0.31 -0.07,-0.26 -0.17,0.05 -0.1,0.31 0.07,0.26 z"
+   id="path2032" />
+			<path
+   class="st1"
+   d="m 259.94,323.91 c 0.01,0.01 0.03,0.01 0.05,0.01 0.02,0 0.03,0 0.05,0 0.04,-0.01 0.08,-0.05 0.09,-0.09 l 0.02,-0.07 c 0,-0.01 0.01,-0.02 0.01,-0.04 0,-0.01 0.01,-0.03 0.01,-0.04 0,-0.01 0,-0.01 0,-0.02 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.01 -0.04,-0.01 -0.01,0 -0.03,0 -0.04,0.01 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.01,0.01 -0.02,0.02 -0.03,0.03 l -0.05,0.05 c -0.03,0.03 -0.05,0.08 -0.03,0.12 0,0.01 0.01,0.02 0.01,0.03 0,0.03 0.02,0.05 0.04,0.06 z"
+   id="path2034" />
+			<path
+   class="st1"
+   d="m 261.32,321.47 c 0.01,0.05 0.01,0.09 0.02,0.14 0,0.02 0.01,0.05 0.01,0.07 0,0.03 0.02,0.05 0.03,0.08 0.01,0.03 0.05,0.04 0.08,0.04 0.03,0 0.06,-0.03 0.07,-0.06 0.03,-0.09 0.02,-0.2 0.02,-0.29 0,-0.05 0,-0.09 0,-0.14 l -0.01,-0.14 c 0,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.14,0.06 -0.13,0.13 l 0.01,0.14 c 0.01,0.05 0.03,0.11 0.03,0.16 z"
+   id="path2036" />
+			<path
+   class="st1"
+   d="m 261.72,322.67 c 0.15,-0.04 0.09,-0.28 -0.06,-0.23 -0.16,0.04 -0.09,0.27 0.06,0.23 z"
+   id="path2038" />
+			<path
+   class="st1"
+   d="m 264.45,321.15 c 0.16,-0.04 0.09,-0.29 -0.07,-0.24 -0.15,0.04 -0.09,0.28 0.07,0.24 z"
+   id="path2040" />
+			<path
+   class="st1"
+   d="m 269.37,318.25 c 0.03,0.06 0.05,0.12 0.08,0.18 0.04,0.08 0.07,0.18 0.18,0.2 0.07,0.01 0.12,-0.01 0.15,-0.06 0.06,-0.09 0.01,-0.18 -0.02,-0.26 -0.03,-0.07 -0.06,-0.14 -0.09,-0.22 -0.05,-0.13 -0.11,-0.25 -0.16,-0.38 -0.02,-0.04 -0.07,-0.07 -0.11,-0.08 -0.04,-0.01 -0.1,-0.01 -0.13,0.02 -0.09,0.06 -0.1,0.15 -0.06,0.24 0.05,0.11 0.11,0.23 0.16,0.36 z"
+   id="path2042" />
+			<path
+   class="st1"
+   d="m 352.5,304.28 c -0.04,-0.08 -0.09,-0.17 -0.13,-0.25 -0.03,-0.05 -0.11,-0.07 -0.16,-0.04 -0.06,0.04 -0.07,0.1 -0.04,0.16 0.04,0.08 0.08,0.17 0.12,0.25 0.02,0.04 0.04,0.08 0.07,0.12 0.02,0.04 0.05,0.1 0.09,0.13 0.03,0.02 0.07,0.04 0.11,0.02 0.04,-0.01 0.06,-0.05 0.06,-0.09 0,-0.06 -0.03,-0.11 -0.05,-0.16 -0.03,-0.05 -0.05,-0.09 -0.07,-0.14 z"
+   id="path2044" />
+			<path
+   class="st1"
+   d="m 353.1,303.91 c -0.13,-0.17 -0.26,-0.35 -0.38,-0.52 -0.03,-0.04 -0.09,-0.06 -0.14,-0.04 -0.04,0.03 -0.07,0.09 -0.04,0.14 l 0.37,0.54 c 0.06,0.09 0.12,0.18 0.18,0.27 0.03,0.05 0.06,0.09 0.09,0.14 0.03,0.05 0.07,0.09 0.12,0.12 0.07,0.05 0.17,-0.04 0.15,-0.11 -0.03,-0.11 -0.11,-0.19 -0.17,-0.28 -0.06,-0.09 -0.12,-0.17 -0.18,-0.26 z"
+   id="path2046" />
+			<path
+   class="st1"
+   d="m 354.12,304.31 c -0.11,-0.26 -0.22,-0.51 -0.33,-0.77 -0.04,-0.09 -0.19,-0.02 -0.15,0.07 0.1,0.26 0.21,0.52 0.31,0.77 0.05,0.13 0.1,0.26 0.15,0.39 0.05,0.13 0.08,0.27 0.17,0.38 0.07,0.09 0.21,0.04 0.19,-0.08 -0.02,-0.14 -0.09,-0.26 -0.15,-0.39 -0.08,-0.12 -0.14,-0.24 -0.19,-0.37 z"
+   id="path2048" />
+			<path
+   class="st1"
+   d="m 356.05,300.87 c -0.1,-0.19 -0.19,-0.38 -0.29,-0.57 -0.03,-0.07 -0.13,-0.08 -0.19,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.19 0.09,0.19 0.17,0.39 0.26,0.58 0.04,0.1 0.08,0.19 0.14,0.28 0.05,0.09 0.1,0.22 0.19,0.27 0.06,0.03 0.15,0.01 0.16,-0.07 0.02,-0.11 -0.05,-0.22 -0.08,-0.33 -0.04,-0.11 -0.09,-0.2 -0.14,-0.3 z"
+   id="path2050" />
+			<path
+   class="st1"
+   d="m 357.18,303.48 c -0.08,-0.17 -0.15,-0.35 -0.22,-0.53 -0.14,-0.36 -0.3,-0.7 -0.46,-1.05 -0.06,-0.14 -0.26,-0.02 -0.2,0.12 0.15,0.35 0.3,0.7 0.46,1.04 0.08,0.17 0.16,0.34 0.23,0.51 0.04,0.09 0.08,0.18 0.11,0.27 0.03,0.09 0.04,0.16 0.13,0.22 0.05,0.03 0.14,0 0.15,-0.06 0.02,-0.1 -0.02,-0.15 -0.07,-0.24 -0.05,-0.09 -0.08,-0.18 -0.13,-0.28 z"
+   id="path2052" />
+			<path
+   class="st1"
+   d="m 358.99,298.23 c -0.01,-0.06 -0.08,-0.09 -0.13,-0.07 -0.06,0.02 -0.08,0.07 -0.07,0.13 0.07,0.53 0.32,1.11 0.77,1.42 0.06,0.04 0.15,-0.05 0.11,-0.11 -0.15,-0.21 -0.31,-0.41 -0.43,-0.64 -0.13,-0.23 -0.21,-0.48 -0.25,-0.73 z"
+   id="path2054" />
+			<path
+   class="st1"
+   d="m 360.93,301.91 -0.41,-0.86 c -0.05,-0.1 -0.2,-0.01 -0.15,0.09 l 0.4,0.85 c 0.06,0.14 0.13,0.28 0.19,0.42 0.06,0.14 0.12,0.3 0.2,0.43 0.05,0.08 0.19,0.03 0.16,-0.07 -0.05,-0.15 -0.13,-0.28 -0.2,-0.42 -0.06,-0.15 -0.13,-0.3 -0.19,-0.44 z"
+   id="path2056" />
+			<path
+   class="st1"
+   d="m 359.27,296.67 c 0.11,0.08 0.22,-0.07 0.17,-0.17 -0.09,-0.18 -0.24,-0.34 -0.37,-0.5 -0.13,-0.17 -0.28,-0.34 -0.42,-0.5 -0.28,-0.32 -0.55,-0.67 -0.88,-0.93 -0.1,-0.08 -0.26,0.02 -0.19,0.15 0.22,0.37 0.52,0.69 0.8,1.02 0.13,0.16 0.27,0.33 0.41,0.48 0.15,0.15 0.3,0.33 0.48,0.45 z"
+   id="path2058" />
+			<path
+   class="st1"
+   d="m 360.89,299.59 c 0.06,0.11 0.11,0.24 0.18,0.34 0.04,0.06 0.14,0.02 0.12,-0.05 -0.03,-0.13 -0.08,-0.25 -0.12,-0.37 -0.04,-0.12 -0.1,-0.24 -0.15,-0.36 -0.1,-0.24 -0.21,-0.48 -0.31,-0.71 -0.04,-0.1 -0.22,-0.03 -0.18,0.07 0.1,0.24 0.2,0.48 0.3,0.72 0.06,0.12 0.1,0.24 0.16,0.36 z"
+   id="path2060" />
+			<path
+   class="st1"
+   d="m 361.79,301.1 c 0.05,-0.01 0.03,-0.08 -0.02,-0.07 -0.04,0.01 -0.02,0.08 0.02,0.07 z"
+   id="path2062" />
+			<path
+   class="st1"
+   d="m 363.74,300.58 -0.09,-0.12 -0.19,-0.24 c -0.02,-0.02 -0.06,-0.04 -0.09,-0.04 -0.03,0 -0.05,0.01 -0.08,0.03 -0.05,0.04 -0.07,0.11 -0.03,0.16 0.06,0.08 0.12,0.17 0.18,0.25 0.03,0.04 0.06,0.08 0.09,0.12 0.01,0.02 0.03,0.04 0.04,0.06 0.02,0.03 0.04,0.05 0.07,0.06 0.03,0.01 0.05,0.02 0.08,0.02 0.05,0 0.1,-0.04 0.11,-0.09 0,-0.02 0.01,-0.04 0.01,-0.06 0,-0.04 -0.02,-0.07 -0.04,-0.1 -0.03,-0.01 -0.05,-0.03 -0.06,-0.05 z"
+   id="path2064" />
+			<path
+   class="st1"
+   d="m 362.21,295.12 c -0.07,-0.08 -0.13,-0.17 -0.19,-0.25 -0.14,-0.17 -0.29,-0.32 -0.44,-0.48 l -0.86,-0.95 c -0.14,-0.15 -0.35,0.07 -0.22,0.22 0.28,0.32 0.56,0.65 0.84,0.97 0.14,0.16 0.27,0.32 0.41,0.48 0.07,0.08 0.15,0.15 0.22,0.22 0.08,0.08 0.15,0.16 0.24,0.21 0.12,0.07 0.22,-0.07 0.17,-0.17 -0.04,-0.1 -0.11,-0.17 -0.17,-0.25 z"
+   id="path2066" />
+			<path
+   class="st1"
+   d="m 363.73,297.62 -0.38,-0.71 c -0.07,-0.13 -0.26,-0.01 -0.19,0.11 0.12,0.24 0.24,0.47 0.35,0.71 0.06,0.12 0.11,0.23 0.18,0.35 0.06,0.11 0.11,0.25 0.22,0.33 0.05,0.04 0.14,0.02 0.14,-0.06 0,-0.14 -0.08,-0.26 -0.14,-0.38 -0.06,-0.13 -0.12,-0.24 -0.18,-0.35 z"
+   id="path2068" />
+			<path
+   class="st1"
+   d="m 364.74,299.51 c 0.01,0.01 0.03,0.03 0.04,0.04 0.02,0.02 0.04,0.03 0.05,0.04 0.01,0.01 0.04,0.01 0.05,-0.01 0.01,-0.01 0.02,-0.03 0.01,-0.05 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.02 -0.03,-0.03 -0.04,-0.05 -0.03,-0.03 -0.05,-0.06 -0.08,-0.09 -0.01,-0.01 -0.03,-0.02 -0.04,-0.02 -0.01,0 -0.03,0.01 -0.04,0.02 -0.02,0.02 -0.02,0.06 0,0.08 0.02,0.04 0.05,0.07 0.08,0.1 z"
+   id="path2070" />
+			<path
+   class="st1"
+   d="m 366.62,298.72 c 0.01,-0.02 0.01,-0.04 0.02,-0.06 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.03 -0.03,-0.06 -0.04,-0.1 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 -0.01,-0.02 -0.02,-0.03 -0.03,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.03,-0.01 -0.04,0 -0.03,0.01 -0.05,0.03 -0.05,0.07 0,0.02 0,0.04 0,0.05 0,0.02 0,0.03 0,0.05 0,0.03 0.01,0.07 0.01,0.1 0,0.02 0.01,0.04 0.02,0.06 0.01,0.02 0.02,0.03 0.04,0.04 0.03,0.01 0.06,0.02 0.09,0.01 0.01,0 0.04,-0.02 0.05,-0.04 z"
+   id="path2072" />
+			<path
+   class="st1"
+   d="m 364.18,293.1 -0.98,-0.92 c -0.12,-0.11 -0.29,0.06 -0.17,0.18 0.32,0.32 0.65,0.64 0.97,0.96 0.32,0.31 0.63,0.65 0.99,0.92 0.12,0.09 0.22,-0.09 0.14,-0.19 -0.28,-0.35 -0.62,-0.65 -0.95,-0.95 z"
+   id="path2074" />
+			<path
+   class="st1"
+   d="m 367.17,297.19 c -0.07,-0.13 -0.13,-0.26 -0.2,-0.39 -0.13,-0.26 -0.26,-0.51 -0.39,-0.77 -0.06,-0.12 -0.24,-0.01 -0.18,0.1 0.13,0.26 0.26,0.51 0.38,0.77 0.06,0.13 0.13,0.25 0.19,0.38 0.03,0.06 0.06,0.13 0.09,0.19 0.03,0.07 0.05,0.13 0.12,0.17 0.06,0.04 0.13,-0.01 0.13,-0.08 0.01,-0.07 -0.04,-0.14 -0.07,-0.2 -0.01,-0.05 -0.04,-0.11 -0.07,-0.17 z"
+   id="path2076" />
+			<path
+   class="st1"
+   d="m 242.79,373.05 c -0.13,-0.08 -0.25,-0.17 -0.38,-0.25 -0.05,-0.03 -0.13,-0.01 -0.16,0.04 -0.03,0.06 -0.01,0.12 0.04,0.16 0.12,0.09 0.24,0.19 0.37,0.28 0.13,0.1 0.23,0.19 0.37,0.28 0.06,0.04 0.16,0.01 0.19,-0.05 0.04,-0.07 0.01,-0.15 -0.05,-0.19 -0.12,-0.11 -0.25,-0.19 -0.38,-0.27 z"
+   id="path2078" />
+			<path
+   class="st1"
+   d="m 235.34,364.67 c 0.11,0.09 0.27,-0.05 0.16,-0.16 -0.43,-0.45 -0.95,-0.93 -1.16,-1.52 -0.1,-0.28 -0.14,-0.59 -0.19,-0.88 -0.06,-0.32 -0.09,-0.65 -0.08,-0.98 0,-0.13 -0.19,-0.13 -0.2,0 -0.02,0.33 0,0.66 0.06,0.98 0.06,0.33 0.2,0.61 0.34,0.91 0.14,0.3 0.25,0.61 0.43,0.89 0.16,0.28 0.38,0.55 0.64,0.76 z"
+   id="path2080" />
+			<path
+   class="st1"
+   d="m 234.65,361.54 c 0,0.26 0.03,0.51 0.1,0.76 0.07,0.24 0.16,0.51 0.36,0.67 0.05,0.04 0.13,0 0.11,-0.06 -0.06,-0.23 -0.19,-0.43 -0.26,-0.66 -0.07,-0.23 -0.11,-0.46 -0.12,-0.7 -0.01,-0.13 -0.19,-0.13 -0.19,-0.01 z"
+   id="path2082" />
+			<path
+   class="st1"
+   d="m 235.74,363.65 c -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.02 -0.02,-0.03 -0.04,-0.05 -0.03,-0.04 -0.06,-0.08 -0.08,-0.12 -0.02,-0.02 -0.05,-0.04 -0.08,-0.02 -0.03,0.02 -0.04,0.05 -0.02,0.08 0.02,0.03 0.04,0.07 0.06,0.1 0.01,0.02 0.02,0.04 0.03,0.05 0.01,0.02 0.02,0.04 0.04,0.06 0.02,0.02 0.04,0.05 0.07,0.05 0.03,0 0.05,-0.02 0.05,-0.05 0,-0.02 -0.01,-0.04 -0.01,-0.05 0.01,0 0.01,-0.01 0,-0.02 z"
+   id="path2084" />
+			<path
+   class="st1"
+   d="m 235.37,361.85 c -0.01,-0.08 -0.13,-0.04 -0.12,0.03 0.08,0.51 0.3,1.04 0.67,1.4 0.04,0.04 0.11,-0.01 0.07,-0.06 -0.15,-0.2 -0.3,-0.41 -0.4,-0.64 -0.1,-0.23 -0.18,-0.48 -0.22,-0.73 z"
+   id="path2086" />
+			<path
+   class="st1"
+   d="m 236.19,362.45 c -0.06,-0.09 -0.13,-0.19 -0.18,-0.29 -0.1,-0.2 -0.17,-0.42 -0.2,-0.64 -0.02,-0.11 -0.2,-0.08 -0.19,0.03 0.02,0.25 0.09,0.49 0.19,0.71 0.05,0.11 0.1,0.21 0.17,0.31 0.04,0.05 0.08,0.1 0.12,0.15 0.05,0.05 0.09,0.09 0.15,0.12 0.06,0.03 0.15,-0.02 0.12,-0.09 -0.02,-0.05 -0.05,-0.1 -0.09,-0.15 -0.03,-0.06 -0.06,-0.11 -0.09,-0.15 z"
+   id="path2088" />
+			<path
+   class="st1"
+   d="m 236.64,361.95 c -0.06,-0.15 -0.11,-0.3 -0.17,-0.45 -0.02,-0.05 -0.07,-0.09 -0.13,-0.08 -0.05,0.01 -0.09,0.08 -0.08,0.13 0.05,0.15 0.11,0.3 0.16,0.46 0.03,0.07 0.05,0.15 0.08,0.22 0.03,0.08 0.06,0.16 0.1,0.23 0.05,0.1 0.2,0.03 0.18,-0.08 -0.02,-0.08 -0.04,-0.16 -0.07,-0.24 -0.02,-0.04 -0.04,-0.11 -0.07,-0.19 z"
+   id="path2090" />
+			<path
+   class="st1"
+   d="m 241.5,359.63 c 0.05,0.06 0.11,0.12 0.16,0.19 0.06,0.06 0.12,0.15 0.21,0.17 0.05,0.01 0.12,-0.03 0.11,-0.08 0,-0.03 -0.01,-0.06 -0.02,-0.08 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.03,-0.04 -0.06,-0.08 -0.09,-0.11 -0.06,-0.06 -0.11,-0.13 -0.17,-0.19 -0.11,-0.13 -0.23,-0.25 -0.34,-0.38 -0.04,-0.04 -0.11,-0.04 -0.15,0 -0.04,0.04 -0.04,0.11 0,0.15 0.1,0.13 0.21,0.26 0.32,0.38 z"
+   id="path2092" />
+			<path
+   class="st1"
+   d="m 242.06,360.91 c -0.08,0 -0.08,0.12 0,0.12 0.08,0 0.08,-0.12 0,-0.12 z"
+   id="path2094" />
+			<path
+   class="st1"
+   d="m 242.72,361.23 c 0.01,0.04 0.07,0.06 0.1,0.03 0.07,-0.08 0.07,-0.19 0.08,-0.3 0.01,-0.11 0.01,-0.21 0,-0.32 -0.02,-0.23 -0.07,-0.45 -0.16,-0.66 -0.17,-0.41 -0.45,-0.77 -0.82,-1.02 -0.08,-0.06 -0.15,0.07 -0.08,0.13 0.34,0.24 0.59,0.58 0.74,0.97 0.07,0.19 0.12,0.38 0.13,0.58 0.01,0.1 0.01,0.19 0,0.29 0.01,0.09 -0.02,0.2 0.01,0.3 z"
+   id="path2096" />
+			<path
+   class="st1"
+   d="m 243.26,359.55 c -0.22,-0.49 -0.52,-0.94 -0.9,-1.33 -0.07,-0.07 -0.18,0.04 -0.11,0.11 0.35,0.38 0.64,0.81 0.83,1.29 0.09,0.22 0.17,0.46 0.22,0.69 0.06,0.24 0.05,0.52 0.15,0.75 0.02,0.05 0.09,0.06 0.11,0 0.07,-0.24 -0.01,-0.53 -0.06,-0.76 -0.05,-0.25 -0.13,-0.51 -0.24,-0.75 z"
+   id="path2098" />
+			<path
+   class="st1"
+   d="m 241.92,357.42 c 0.23,0.15 0.46,0.32 0.66,0.51 0.39,0.37 0.71,0.8 0.98,1.28 0.26,0.47 0.44,0.98 0.56,1.51 0.12,0.54 0.11,1.08 0.12,1.63 0,0.12 0.17,0.14 0.21,0.03 0.29,-1.09 -0.08,-2.36 -0.62,-3.32 -0.28,-0.5 -0.65,-0.96 -1.07,-1.35 -0.21,-0.19 -0.42,-0.37 -0.65,-0.53 -0.21,-0.14 -0.49,-0.35 -0.75,-0.34 -0.09,0 -0.11,0.1 -0.07,0.16 0.15,0.19 0.43,0.29 0.63,0.42 z"
+   id="path2100" />
+			<path
+   class="st1"
+   d="m 239.88,364.8 c 0.14,-0.03 0.27,-0.07 0.4,-0.12 0.14,-0.06 0.28,-0.12 0.38,-0.23 0.06,-0.07 0,-0.18 -0.09,-0.15 -0.12,0.04 -0.23,0.1 -0.35,0.15 -0.12,0.05 -0.25,0.09 -0.37,0.12 -0.25,0.06 -0.51,0.07 -0.77,0.03 -0.06,-0.01 -0.11,0.01 -0.13,0.07 -0.01,0.05 0.02,0.12 0.07,0.13 0.29,0.06 0.58,0.06 0.86,0 z"
+   id="path2102" />
+			<path
+   class="st1"
+   d="m 238.7,365.36 c 0.52,0.15 1.06,0.14 1.57,-0.04 0.25,-0.08 0.48,-0.2 0.69,-0.35 0.21,-0.15 0.44,-0.32 0.53,-0.57 0.03,-0.07 -0.07,-0.14 -0.13,-0.1 -0.19,0.13 -0.34,0.31 -0.53,0.45 -0.2,0.14 -0.42,0.26 -0.65,0.34 -0.46,0.16 -0.96,0.2 -1.44,0.1 -0.1,-0.02 -0.15,0.14 -0.04,0.17 z"
+   id="path2104" />
+			<path
+   class="st1"
+   d="m 238.06,365.62 c -0.04,-0.03 -0.1,-0.04 -0.13,0 -0.03,0.03 -0.04,0.1 0,0.13 0.15,0.13 0.32,0.23 0.5,0.3 0.09,0.04 0.17,0.07 0.26,0.09 0.09,0.02 0.21,0.04 0.3,0.01 0.05,-0.02 0.07,-0.09 0.02,-0.12 -0.07,-0.04 -0.17,-0.06 -0.25,-0.08 -0.09,-0.02 -0.17,-0.05 -0.26,-0.08 -0.16,-0.06 -0.31,-0.15 -0.44,-0.25 z"
+   id="path2106" />
+			<path
+   class="st1"
+   d="m 241.17,365.27 c -0.44,0.32 -0.96,0.54 -1.48,0.67 -0.08,0.02 -0.07,0.16 0.02,0.15 0.58,-0.07 1.12,-0.29 1.6,-0.63 0.23,-0.16 0.45,-0.35 0.64,-0.56 0.09,-0.1 0.19,-0.21 0.27,-0.33 0.08,-0.11 0.18,-0.24 0.16,-0.38 -0.01,-0.04 -0.06,-0.07 -0.1,-0.06 -0.12,0.05 -0.17,0.16 -0.25,0.26 -0.08,0.11 -0.16,0.23 -0.26,0.33 -0.19,0.21 -0.39,0.4 -0.6,0.55 z"
+   id="path2108" />
+			<path
+   class="st1"
+   d="m 243.38,364.33 c -0.2,0.17 -0.33,0.39 -0.5,0.6 -0.17,0.2 -0.35,0.39 -0.55,0.57 -0.41,0.37 -0.89,0.66 -1.4,0.86 -1.17,0.46 -2.43,0.38 -3.6,-0.02 -0.1,-0.04 -0.17,0.13 -0.07,0.18 1.16,0.58 2.59,0.58 3.79,0.11 0.52,-0.21 1.01,-0.5 1.44,-0.87 0.4,-0.34 0.91,-0.82 1.01,-1.35 0.01,-0.08 -0.07,-0.13 -0.12,-0.08 z"
+   id="path2110" />
+			<path
+   class="st1"
+   d="m 237.34,359.13 c 0.07,-0.04 0.14,-0.07 0.21,-0.1 0.07,-0.02 0.14,-0.03 0.21,-0.04 0.14,-0.03 0.28,-0.05 0.43,-0.06 0.13,-0.01 0.29,0.02 0.41,-0.04 0.05,-0.02 0.04,-0.09 0,-0.11 -0.12,-0.07 -0.31,-0.04 -0.45,-0.02 -0.15,0.02 -0.31,0.06 -0.45,0.12 -0.07,0.03 -0.13,0.08 -0.21,0.11 -0.06,0.03 -0.13,0.06 -0.19,0.09 -0.14,0.07 -0.26,0.16 -0.39,0.25 -0.03,0.02 0.01,0.06 0.04,0.04 0.13,-0.09 0.26,-0.17 0.39,-0.24 z"
+   id="path2112" />
+			<path
+   class="st1"
+   d="m 236.49,359.55 c 0.3,-0.26 0.59,-0.52 0.94,-0.71 0.17,-0.09 0.35,-0.17 0.53,-0.23 0.18,-0.06 0.4,-0.07 0.56,-0.17 0.05,-0.03 0.04,-0.11 -0.02,-0.13 -0.19,-0.06 -0.44,0.02 -0.62,0.07 -0.2,0.06 -0.4,0.14 -0.59,0.23 -0.37,0.19 -0.74,0.46 -0.95,0.82 -0.05,0.1 0.07,0.19 0.15,0.12 z"
+   id="path2114" />
+			<path
+   class="st1"
+   d="m 237.32,358.23 c 0.13,-0.05 0.26,-0.09 0.4,-0.12 0.13,-0.03 0.31,-0.02 0.41,-0.11 0.04,-0.03 0.02,-0.09 -0.01,-0.12 -0.12,-0.08 -0.31,-0.02 -0.44,0.01 -0.15,0.04 -0.3,0.09 -0.44,0.15 -0.27,0.13 -0.52,0.31 -0.73,0.53 -0.05,0.05 0.03,0.13 0.08,0.08 0.21,-0.18 0.46,-0.32 0.73,-0.42 z"
+   id="path2116" />
+			<path
+   class="st1"
+   d="m 238.85,357.32 c -0.26,-0.12 -0.66,-0.04 -0.93,0.02 -0.32,0.06 -0.64,0.17 -0.93,0.32 -0.6,0.29 -1.06,0.76 -1.41,1.33 -0.03,0.06 0.05,0.1 0.09,0.05 0.35,-0.51 0.86,-0.9 1.41,-1.18 0.27,-0.13 0.56,-0.23 0.86,-0.29 0.15,-0.03 0.3,-0.05 0.45,-0.06 0.15,-0.01 0.31,0.01 0.45,-0.03 0.05,-0.02 0.08,-0.12 0.01,-0.16 z"
+   id="path2118" />
+			<path
+   class="st1"
+   d="m 234.72,359.13 c 0.5,-0.75 1.18,-1.4 1.97,-1.83 0.39,-0.21 0.81,-0.38 1.24,-0.49 0.43,-0.11 0.88,-0.13 1.32,-0.19 0.11,-0.02 0.11,-0.21 0,-0.23 -0.9,-0.15 -1.93,0.22 -2.7,0.65 -0.84,0.47 -1.54,1.14 -1.97,1.99 -0.06,0.12 0.08,0.2 0.14,0.1 z"
+   id="path2120" />
+		</g>
+	</g>
+	<g
+   id="g2146">
+		<path
+   class="st1"
+   d="m 511.13,400.13 c 1.42,1.37 2.13,2.98 2.13,4.81 0,3.02 -0.85,5.22 -2.54,6.59 -1.7,1.37 -4.37,1.92 -8.03,1.65 -8.24,-0.64 -14.67,-1.08 -19.3,-1.3 -4.62,-0.23 -10.69,-0.39 -18.2,-0.48 -3.39,16.85 -6.5,33.78 -9.34,50.81 -1.01,6.23 -2.06,13.44 -3.16,21.63 -1.1,8.19 -1.83,14.81 -2.2,19.84 -0.18,2.66 -1.28,4.69 -3.3,6.11 -2.02,1.42 -4.44,2.13 -7.28,2.13 -3.02,0 -5.36,-0.73 -7,-2.2 -1.65,-1.46 -2.47,-3.39 -2.47,-5.77 0,-2.2 0.34,-5.84 1.03,-10.92 0.69,-5.08 1.49,-10.41 2.4,-16 1.01,-5.58 1.79,-10.44 2.33,-14.56 1.01,-6.96 2.15,-13.87 3.43,-20.74 1.28,-6.87 2.56,-13.37 3.85,-19.5 0.27,-1.37 0.59,-2.95 0.96,-4.74 0.36,-1.79 0.78,-3.78 1.24,-5.97 -8.97,0.27 -16.02,1.01 -21.15,2.2 -5.13,1.19 -8.77,2.86 -10.92,5.01 -2.15,2.15 -3.23,4.92 -3.23,8.31 0,3.11 0.91,6.09 2.75,8.93 0.36,0.64 0.55,1.33 0.55,2.06 0,1.74 -1.03,3.36 -3.09,4.88 -2.06,1.51 -4.19,2.27 -6.39,2.27 -1.56,0 -2.84,-0.46 -3.85,-1.37 -1.83,-1.56 -3.34,-3.78 -4.53,-6.66 -1.19,-2.88 -1.79,-6.16 -1.79,-9.82 0,-7.78 2.54,-14.03 7.62,-18.75 5.08,-4.71 12.82,-8.17 23.21,-10.37 10.39,-2.2 23.74,-3.3 40.03,-3.3 10.07,0 18.1,0.18 24.1,0.55 6,0.37 11.24,0.96 15.73,1.79 2.86,0.54 4.99,1.5 6.41,2.88 z"
+   id="path2126" />
+		<path
+   class="st1"
+   d="m 570.59,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -4.21,4.85 -8.54,8.84 -12.98,11.95 -4.44,3.11 -9.5,4.67 -15.18,4.67 -4.67,0 -8.19,-1.35 -10.57,-4.05 -2.38,-2.7 -3.57,-6.61 -3.57,-11.74 0,-2.56 0.64,-7.14 1.92,-13.73 1.19,-5.77 1.79,-9.75 1.79,-11.95 0,-1.46 -0.5,-2.2 -1.51,-2.2 -1.19,0 -2.88,1.53 -5.08,4.6 -2.2,3.07 -4.4,7.12 -6.59,12.15 -2.2,5.04 -3.98,10.35 -5.36,15.93 -1.74,7.33 -6.04,10.99 -12.91,10.99 -2.75,0 -4.56,-0.98 -5.42,-2.95 -0.87,-1.97 -1.31,-5.52 -1.31,-10.64 0,-2.93 0.05,-5.26 0.14,-7 l 0.14,-10.99 c 0,-14.1 1.44,-28.79 4.33,-44.08 2.88,-15.29 7.14,-28.13 12.77,-38.52 5.63,-10.39 12.38,-15.59 20.26,-15.59 4.21,0 7.62,1.81 10.23,5.43 2.61,3.62 3.91,8.31 3.91,14.08 0,9.25 -2.7,18.84 -8.1,28.77 -5.4,9.94 -14.19,21.54 -26.37,34.81 -0.27,4.76 -0.41,9.66 -0.41,14.69 3.02,-7.78 6.39,-14.12 10.09,-19.02 3.71,-4.9 7.37,-8.4 10.99,-10.51 3.62,-2.11 6.94,-3.16 9.96,-3.16 5.95,0 8.93,2.98 8.93,8.93 0,3.57 -1.01,10.03 -3.02,19.36 -1.74,7.97 -2.61,13.23 -2.61,15.79 0,3.66 1.33,5.49 3.98,5.49 1.83,0 4,-1.12 6.52,-3.36 2.52,-2.24 5.88,-5.88 10.09,-10.92 1.1,-1.28 2.34,-1.92 3.71,-1.92 1.19,0 2.13,0.54 2.81,1.64 z M 521.5,402.8 c -2.02,4.72 -3.96,11.08 -5.84,19.09 -1.88,8.01 -3.41,16.73 -4.6,26.16 5.68,-6.68 10.37,-13.96 14.08,-21.84 3.71,-7.87 5.56,-15.02 5.56,-21.42 0,-2.93 -0.32,-5.17 -0.96,-6.73 -0.64,-1.56 -1.56,-2.34 -2.75,-2.34 -1.65,0.01 -3.48,2.37 -5.49,7.08 z"
+   id="path2128" />
+		<path
+   class="st1"
+   d="m 624.57,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -3.39,4.12 -8.17,7.92 -14.35,11.4 -6.18,3.48 -12.8,5.22 -19.84,5.22 -9.61,0 -17.08,-2.61 -22.39,-7.83 -5.31,-5.22 -7.97,-12.36 -7.97,-21.42 0,-6.32 1.33,-12.2 3.98,-17.65 2.65,-5.45 6.34,-9.77 11.06,-12.98 4.71,-3.2 10.05,-4.81 16,-4.81 5.31,0 9.57,1.58 12.77,4.74 3.2,3.16 4.81,7.44 4.81,12.84 0,6.32 -2.27,11.74 -6.8,16.27 -4.53,4.53 -12.2,8.13 -23,10.78 2.29,4.21 6.64,6.32 13.05,6.32 4.12,0 8.81,-1.44 14.08,-4.33 5.26,-2.88 9.82,-6.66 13.66,-11.33 1.1,-1.28 2.33,-1.92 3.71,-1.92 1.18,0.01 2.12,0.55 2.81,1.65 z M 578.56,466.6 c -2.33,3.94 -3.5,8.7 -3.5,14.28 v 0.27 c 5.4,-1.28 9.66,-3.2 12.77,-5.77 3.11,-2.56 4.67,-5.54 4.67,-8.93 0,-1.74 -0.48,-3.14 -1.44,-4.19 -0.96,-1.05 -2.27,-1.58 -3.91,-1.58 -3.4,0.01 -6.26,1.98 -8.59,5.92 z"
+   id="path2130" />
+		<path
+   class="st1"
+   d="m 687.26,470.85 c 0.64,1.19 0.96,2.7 0.96,4.53 0,4.4 -1.33,7 -3.98,7.83 -5.49,1.92 -11.54,3.02 -18.13,3.3 -1.74,7.69 -5.17,13.85 -10.3,18.47 -5.13,4.62 -10.94,6.94 -17.44,6.94 -5.49,0 -10.19,-1.33 -14.08,-3.98 -3.89,-2.65 -6.85,-6.18 -8.86,-10.57 -2.01,-4.4 -3.02,-9.15 -3.02,-14.28 0,-6.96 1.33,-13.16 3.98,-18.61 2.65,-5.45 6.32,-9.7 10.99,-12.77 4.67,-3.07 9.84,-4.6 15.52,-4.6 6.96,0 12.57,2.4 16.82,7.21 4.26,4.81 6.75,10.74 7.49,17.78 4.3,-0.27 9.43,-1.19 15.38,-2.75 0.73,-0.18 1.37,-0.27 1.92,-0.27 1.19,-0.01 2.11,0.59 2.75,1.77 z m -40.17,22.94 c 2.15,-2.38 3.59,-5.81 4.33,-10.3 -2.84,-1.92 -5.01,-4.44 -6.52,-7.55 -1.51,-3.11 -2.27,-6.41 -2.27,-9.89 0,-1.46 0.14,-2.93 0.41,-4.4 h -0.69 c -3.66,0 -6.71,1.76 -9.13,5.29 -2.43,3.53 -3.64,8.49 -3.64,14.9 0,5.04 0.98,8.88 2.95,11.54 1.97,2.66 4.28,3.98 6.94,3.98 2.93,0 5.47,-1.19 7.62,-3.57 z"
+   id="path2132" />
+		<path
+   class="st1"
+   d="m 757.23,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -3.76,4.58 -7.88,8.49 -12.36,11.74 -4.49,3.25 -8.93,4.88 -13.32,4.88 -6.96,0 -12.27,-4.07 -15.93,-12.22 -3.85,4.85 -7.21,8.1 -10.09,9.75 -2.88,1.65 -6.25,2.47 -10.09,2.47 -5.59,0 -10.19,-2.08 -13.8,-6.25 -3.62,-4.17 -5.43,-9.59 -5.43,-16.27 0,-7.32 1.56,-14.12 4.67,-20.39 3.11,-6.27 7.39,-11.4 12.84,-15.38 5.45,-3.98 11.56,-6.34 18.33,-7.07 1.74,-17.76 5.06,-32.94 9.96,-45.53 4.9,-12.59 11.33,-18.88 19.3,-18.88 3.94,0 7.21,1.79 9.82,5.36 2.61,3.57 3.91,8.97 3.91,16.21 0,10.25 -2.52,22.25 -7.55,35.98 -5.04,13.73 -11.77,27.83 -20.19,42.3 0.36,5.31 1.17,9.11 2.4,11.4 1.24,2.29 2.82,3.43 4.74,3.43 2.47,0 4.99,-1.1 7.55,-3.3 2.56,-2.2 6,-5.86 10.3,-10.99 1.1,-1.28 2.33,-1.92 3.71,-1.92 1.18,-0.01 2.12,0.53 2.81,1.63 z m -53.35,13.67 c 1.74,-1.42 3.94,-4.05 6.59,-7.9 -0.92,-4.94 -1.37,-10.48 -1.37,-16.62 0,-2.2 0.09,-5.77 0.28,-10.71 -5.04,1.56 -9.23,4.92 -12.57,10.09 -3.34,5.17 -5.01,10.92 -5.01,17.24 0,6.68 2.29,10.03 6.87,10.03 1.73,0 3.47,-0.71 5.21,-2.13 z m 29.11,-91.06 c -1.74,6.18 -3.23,14.26 -4.46,24.24 -1.24,9.98 -2.13,20.42 -2.68,31.31 10.25,-22.34 15.38,-40.28 15.38,-53.84 0,-3.48 -0.3,-6.18 -0.89,-8.1 -0.6,-1.92 -1.3,-2.88 -2.13,-2.88 -1.74,0 -3.48,3.09 -5.22,9.27 z"
+   id="path2134" />
+		<path
+   class="st1"
+   d="m 819.92,470.85 c 0.64,1.19 0.96,2.7 0.96,4.53 0,4.4 -1.33,7 -3.98,7.83 -5.49,1.92 -11.54,3.02 -18.13,3.3 -1.74,7.69 -5.17,13.85 -10.3,18.47 -5.13,4.62 -10.94,6.94 -17.44,6.94 -5.49,0 -10.19,-1.33 -14.08,-3.98 -3.89,-2.65 -6.85,-6.18 -8.86,-10.57 -2.01,-4.4 -3.02,-9.15 -3.02,-14.28 0,-6.96 1.33,-13.16 3.98,-18.61 2.65,-5.45 6.32,-9.7 10.99,-12.77 4.67,-3.07 9.84,-4.6 15.52,-4.6 6.96,0 12.57,2.4 16.82,7.21 4.26,4.81 6.75,10.74 7.48,17.78 4.3,-0.27 9.43,-1.19 15.38,-2.75 0.73,-0.18 1.37,-0.27 1.92,-0.27 1.21,-0.01 2.12,0.59 2.76,1.77 z m -40.17,22.94 c 2.15,-2.38 3.59,-5.81 4.33,-10.3 -2.84,-1.92 -5.01,-4.44 -6.52,-7.55 -1.51,-3.11 -2.27,-6.41 -2.27,-9.89 0,-1.46 0.14,-2.93 0.41,-4.4 h -0.69 c -3.66,0 -6.71,1.76 -9.13,5.29 -2.43,3.53 -3.64,8.49 -3.64,14.9 0,5.04 0.98,8.88 2.95,11.54 1.97,2.66 4.28,3.98 6.94,3.98 2.93,0 5.47,-1.19 7.62,-3.57 z"
+   id="path2136" />
+		<path
+   class="st1"
+   d="m 863.94,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -3.94,4.85 -8.22,8.84 -12.84,11.95 -4.62,3.11 -9.87,4.67 -15.72,4.67 -8.06,0 -14.03,-3.66 -17.92,-10.99 -3.89,-7.32 -5.84,-16.8 -5.84,-28.43 0,-11.17 1.44,-23.9 4.33,-38.18 2.88,-14.28 7.14,-26.55 12.77,-36.81 5.63,-10.25 12.34,-15.38 20.12,-15.38 4.39,0 7.85,2.04 10.37,6.11 2.52,4.07 3.78,9.91 3.78,17.51 0,10.9 -3.02,23.53 -9.06,37.9 -6.04,14.38 -14.24,28.61 -24.58,42.71 0.64,3.76 1.69,6.43 3.16,8.03 1.46,1.6 3.39,2.4 5.77,2.4 3.75,0 7.05,-1.08 9.89,-3.23 2.84,-2.15 6.46,-5.84 10.85,-11.06 1.1,-1.28 2.34,-1.92 3.71,-1.92 1.16,0.03 2.1,0.57 2.79,1.67 z m -26.85,-75.12 c -2.66,7.6 -4.99,17.03 -7,28.29 -2.01,11.26 -3.11,22.07 -3.3,32.41 6.5,-10.71 11.67,-21.45 15.52,-32.21 3.85,-10.76 5.77,-20.58 5.77,-29.46 0,-6.96 -1.28,-10.44 -3.85,-10.44 -2.11,0.01 -4.49,3.81 -7.14,11.41 z"
+   id="path2138" />
+		<path
+   class="st1"
+   d="m 857.76,505.6 c -2.7,-4.21 -4.05,-9.8 -4.05,-16.75 0,-4.12 0.53,-9.41 1.58,-15.86 1.05,-6.46 2.4,-12.47 4.05,-18.06 0.82,-2.93 1.92,-4.94 3.3,-6.04 1.37,-1.1 3.57,-1.65 6.59,-1.65 4.67,0 7,1.56 7,4.67 0,2.29 -0.87,7.6 -2.61,15.93 -2.2,10.07 -3.3,16.89 -3.3,20.46 0,2.75 0.36,4.85 1.1,6.32 0.73,1.47 1.97,2.2 3.71,2.2 1.65,0 3.71,-1.14 6.18,-3.43 2.47,-2.29 5.77,-5.91 9.89,-10.85 1.1,-1.28 2.34,-1.92 3.71,-1.92 1.19,0 2.13,0.55 2.82,1.65 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -9.06,11.08 -17.53,16.62 -25.41,16.62 -5.96,-0.02 -10.28,-2.13 -12.98,-6.34 z m 5.42,-70.11 c -1.92,-1.79 -2.88,-4.28 -2.88,-7.48 0,-3.2 1.26,-5.88 3.78,-8.03 2.52,-2.15 5.65,-3.23 9.41,-3.23 3.39,0 6.13,0.82 8.24,2.47 2.11,1.65 3.16,3.98 3.16,7 0,3.66 -1.19,6.57 -3.57,8.72 -2.38,2.15 -5.54,3.23 -9.48,3.23 -3.85,0 -6.74,-0.89 -8.66,-2.68 z"
+   id="path2140" />
+		<path
+   class="st1"
+   d="m 951.69,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -3.94,4.85 -8.24,8.84 -12.91,11.95 -4.67,3.11 -10.03,4.67 -16.07,4.67 -18.68,0 -28.02,-13.14 -28.02,-39.42 0,-4.03 0.14,-8.1 0.41,-12.22 h -5.36 c -2.75,0 -4.6,-0.5 -5.56,-1.51 -0.96,-1.01 -1.44,-2.61 -1.44,-4.81 0,-5.13 2.06,-7.69 6.18,-7.69 h 7.83 c 1.56,-10.07 3.94,-19.27 7.14,-27.6 3.2,-8.33 7.07,-14.97 11.6,-19.91 4.53,-4.94 9.41,-7.42 14.63,-7.42 3.85,0 6.87,1.7 9.06,5.08 2.2,3.39 3.3,7.65 3.3,12.77 0,14.19 -5.95,26.55 -17.85,37.08 h 15.38 c 1.46,0 2.52,0.32 3.16,0.96 0.64,0.64 0.96,1.83 0.96,3.57 0,6.32 -5.17,9.48 -15.52,9.48 h -16.75 c -0.18,4.58 -0.27,8.15 -0.27,10.71 0,9.52 1.12,16.21 3.36,20.05 2.24,3.85 5.79,5.77 10.64,5.77 3.94,0 7.42,-1.19 10.44,-3.57 3.02,-2.38 6.59,-5.95 10.71,-10.71 1.1,-1.28 2.33,-1.92 3.71,-1.92 1.2,0 2.14,0.54 2.82,1.64 z m -31.45,-72.58 c -1.7,3.43 -3.3,8.19 -4.81,14.28 -1.51,6.09 -2.77,12.84 -3.78,20.26 5.4,-4.67 9.45,-9.91 12.15,-15.72 2.7,-5.81 4.05,-11.1 4.05,-15.86 0,-5.4 -1.01,-8.1 -3.02,-8.1 -1.36,-0.01 -2.89,1.71 -4.59,5.14 z"
+   id="path2142" />
+		<path
+   class="st1"
+   d="m 1005.67,482.25 c 0.69,1.1 1.03,2.61 1.03,4.53 0,3.66 -0.87,6.5 -2.61,8.52 -3.39,4.12 -8.17,7.92 -14.35,11.4 -6.18,3.48 -12.8,5.22 -19.84,5.22 -9.61,0 -17.08,-2.61 -22.39,-7.83 -5.31,-5.22 -7.97,-12.36 -7.97,-21.42 0,-6.32 1.33,-12.2 3.98,-17.65 2.65,-5.45 6.34,-9.77 11.06,-12.98 4.71,-3.2 10.05,-4.81 16,-4.81 5.31,0 9.57,1.58 12.77,4.74 3.2,3.16 4.81,7.44 4.81,12.84 0,6.32 -2.27,11.74 -6.8,16.27 -4.53,4.53 -12.2,8.13 -23,10.78 2.29,4.21 6.64,6.32 13.05,6.32 4.12,0 8.81,-1.44 14.08,-4.33 5.26,-2.88 9.82,-6.66 13.66,-11.33 1.1,-1.28 2.33,-1.92 3.71,-1.92 1.18,0.01 2.12,0.55 2.81,1.65 z M 959.66,466.6 c -2.33,3.94 -3.5,8.7 -3.5,14.28 v 0.27 c 5.4,-1.28 9.66,-3.2 12.77,-5.77 3.11,-2.56 4.67,-5.54 4.67,-8.93 0,-1.74 -0.48,-3.14 -1.44,-4.19 -0.96,-1.05 -2.27,-1.58 -3.91,-1.58 -3.4,0.01 -6.26,1.98 -8.59,5.92 z"
+   id="path2144" />
+	</g>
+</g>
+</svg>
diff --git a/docs/assets/logo/theodolite-stacked-transparent.svg b/docs/assets/logo/theodolite-stacked-transparent.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9aca32ba7e00ef041ffec2c74f0b90b430153821
--- /dev/null
+++ b/docs/assets/logo/theodolite-stacked-transparent.svg
@@ -0,0 +1,4329 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<svg
+   version="1.1"
+   id="Layer_2"
+   x="0px"
+   y="0px"
+   viewBox="0 0 542.96 477.54558"
+   xml:space="preserve"
+   sodipodi:docname="Theodolite-02_no-background.svg"
+   width="542.96002"
+   height="477.54559"
+   inkscape:version="1.1.1 (eb90963e84, 2021-10-02)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"><defs
+   id="defs2151" /><sodipodi:namedview
+   id="namedview2149"
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1.0"
+   inkscape:pageshadow="2"
+   inkscape:pageopacity="0.0"
+   inkscape:pagecheckerboard="0"
+   showgrid="false"
+   inkscape:zoom="1.0369526"
+   inkscape:cx="103.66916"
+   inkscape:cy="238.68016"
+   inkscape:window-width="2488"
+   inkscape:window-height="1376"
+   inkscape:window-x="4552"
+   inkscape:window-y="27"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_2" />
+<style
+   type="text/css"
+   id="style2">
+	.st1{fill:#4D4639;}
+</style>
+<g
+   id="g2146"
+   transform="translate(-323.79,-182.20441)">
+	<g
+   id="g2122">
+		<g
+   id="g298">
+			<path
+   class="st1"
+   d="m 657.07,472.24 c -0.04,-0.66 -0.09,-1.32 -0.15,-1.97 -0.02,-0.19 -0.03,-0.39 -0.05,-0.59 0.41,-0.75 0.46,-1.63 -0.19,-2.48 -0.56,-0.74 -1.42,-1.19 -2.3,-1.52 -1.07,-0.41 -2.19,-0.72 -3.32,-0.97 -1.75,-0.38 -3.7,-0.66 -5.55,-0.53 -0.01,-0.13 -0.01,-0.26 -0.02,-0.38 -0.04,-0.79 -0.08,-1.58 -0.13,-2.37 -0.02,-0.36 -0.04,-0.76 -0.08,-1.15 -0.06,0.03 -0.12,0.04 -0.18,0.07 0.65,-0.48 1.26,-1.02 1.81,-1.62 0.39,-0.43 0.71,-0.92 1,-1.43 0.11,-0.04 0.22,-0.1 0.31,-0.17 0.61,-0.48 0.36,-1.63 0.32,-2.31 -0.04,-0.7 -0.08,-1.4 -0.12,-2.1 -0.03,-0.51 -0.06,-1.03 -0.09,-1.54 0.05,-0.29 0.09,-0.57 0.13,-0.86 0,0 0,-0.01 0,-0.01 -0.08,-0.74 -0.14,-1.48 -0.18,-2.22 -0.33,-1.07 -0.99,-2.05 -1.81,-2.92 -0.03,-0.45 -0.06,-0.89 -0.12,-1.34 -0.12,-1.04 -0.25,-2.13 -0.64,-3.11 -0.14,-0.34 -0.33,-0.71 -0.58,-1.01 0.02,-0.3 -0.01,-0.61 -0.02,-0.9 -0.02,-0.45 -0.04,-0.9 -0.05,-1.36 -0.02,-0.45 -0.05,-0.9 -0.08,-1.36 -0.02,-0.27 -0.06,-0.52 -0.11,-0.79 -0.02,-0.1 -0.03,-0.2 -0.06,-0.3 -0.03,-0.14 -0.11,-0.25 -0.15,-0.38 -0.07,-0.21 -0.28,-0.3 -0.47,-0.27 -0.34,-0.34 -0.8,-0.61 -1.18,-0.77 -0.7,-0.32 -1.43,-0.49 -2.2,-0.51 -0.72,-0.02 -1.47,0.09 -2.15,0.35 -0.67,0.25 -1.74,0.69 -1.93,1.45 -0.09,0.37 0.1,0.64 0.39,0.76 0.03,0.05 0.05,0.1 0.09,0.14 -0.01,0.52 -0.02,1.03 0,1.55 0.03,0.73 0.03,1.47 0.1,2.2 -0.27,0.12 -0.5,0.27 -0.71,0.48 -2.12,-0.53 -4.3,-0.85 -6.47,-1.09 0,-0.11 0,-0.22 0.01,-0.32 0.03,-0.54 0.04,-1.09 0.05,-1.63 0,-0.52 0,-1.05 -0.02,-1.57 -0.01,-0.39 -0.03,-0.88 -0.16,-1.28 0.01,-0.03 0.04,-0.06 0.04,-0.1 0.04,-0.28 -0.09,-0.52 -0.32,-0.68 -0.28,-0.19 -0.66,-0.21 -0.99,-0.28 -0.29,-0.06 -0.59,-0.1 -0.88,-0.14 -0.43,-0.06 -0.9,-0.14 -1.36,-0.13 -0.03,-0.05 -0.05,-0.1 -0.09,-0.14 0.01,-0.13 0.03,-0.27 -0.01,-0.41 -0.07,-0.29 -0.25,-0.5 -0.47,-0.66 0.04,-0.08 0.08,-0.17 0.12,-0.25 0.04,-0.08 0.07,-0.17 0.1,-0.25 0,-0.01 0,-0.01 0.01,-0.02 0.09,-0.17 0.17,-0.35 0.27,-0.52 0.19,-0.34 0.41,-0.66 0.61,-0.99 0.1,-0.16 0.22,-0.32 0.32,-0.48 0.09,-0.14 0.15,-0.22 0.23,-0.33 1.07,-0.59 1.9,-1.66 1.84,-2.92 -0.04,-0.81 -0.45,-1.59 -1.07,-2.1 -0.74,-0.6 -1.57,-0.71 -2.44,-0.31 -0.12,0.06 -0.21,0.14 -0.29,0.23 0.01,-0.13 -0.13,-0.27 -0.28,-0.19 -0.4,0.22 -0.79,0.48 -1.17,0.73 -0.21,-0.22 -0.38,-0.47 -0.6,-0.69 -0.16,-0.16 -0.41,0.09 -0.25,0.25 0.02,0.02 0.04,0.05 0.06,0.08 -0.03,0 -0.07,0.01 -0.1,0.03 -0.19,0.16 -0.37,0.33 -0.56,0.49 -0.3,-0.41 -0.6,-0.83 -0.9,-1.24 -0.16,-0.22 -0.52,-0.01 -0.36,0.21 l 0.93,1.32 c -0.35,0.31 -0.7,0.62 -1.04,0.93 -0.12,-0.18 -0.25,-0.35 -0.37,-0.53 0.32,-0.21 0.65,-0.41 0.99,-0.59 0.2,-0.11 0.02,-0.41 -0.18,-0.31 -0.36,0.18 -0.7,0.38 -1.04,0.58 -0.1,-0.14 -0.2,-0.29 -0.31,-0.43 -0.14,-0.19 -0.45,-0.01 -0.32,0.19 0.1,0.15 0.2,0.3 0.3,0.45 -0.15,0.1 -0.29,0.2 -0.44,0.31 -0.25,-0.17 -0.46,-0.39 -0.69,-0.59 0.03,-0.03 0.05,-0.06 0.08,-0.09 0.19,-0.17 -0.09,-0.45 -0.28,-0.28 -0.04,0.03 -0.07,0.07 -0.11,0.11 -0.07,-0.07 -0.15,-0.12 -0.22,-0.19 -0.29,-0.31 -0.67,-0.25 -0.93,-0.03 -0.03,-0.05 -0.04,-0.11 -0.09,-0.15 -0.2,-0.15 -0.49,-0.14 -0.67,0.04 -0.12,0.12 -0.23,0.24 -0.36,0.35 -0.13,0.11 -0.25,0.23 -0.35,0.36 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.08,-0.17 -0.2,-0.34 -0.38,-0.48 -0.24,-0.19 -0.54,-0.22 -0.78,0 -0.45,0.42 -0.69,0.97 -1.07,1.41 -0.59,0.06 -1.19,0.26 -1.75,0.39 -0.02,0 -0.04,0.01 -0.06,0.01 0.04,-0.02 0.07,-0.06 0.06,-0.1 0,-0.01 0.02,-0.01 0.02,-0.03 0.01,-0.12 0,-0.25 -0.05,-0.37 -0.05,-0.11 -0.12,-0.21 -0.21,-0.29 -0.08,-0.08 -0.17,-0.14 -0.27,-0.19 0.48,-0.18 0.95,-0.39 1.4,-0.62 0.13,-0.07 0.04,-0.28 -0.1,-0.24 -0.87,0.24 -1.72,0.56 -2.59,0.82 -0.41,0.12 -0.82,0.24 -1.24,0.36 0.04,-0.2 0.1,-0.41 0.18,-0.6 0.05,-0.12 -0.05,-0.25 -0.16,-0.28 -0.13,-0.04 -0.24,0.05 -0.28,0.16 -0.11,0.28 -0.19,0.57 -0.24,0.87 -0.26,0.07 -0.51,0.15 -0.77,0.22 -0.38,0.1 -0.76,0.17 -1.14,0.26 0.01,-0.12 0.01,-0.24 0.03,-0.36 0.05,-0.02 0.11,-0.02 0.15,-0.04 0.12,-0.05 0.13,-0.26 -0.03,-0.26 -0.02,0 -0.04,0.01 -0.06,0.01 0.03,-0.13 0.05,-0.26 0.09,-0.39 0.09,-0.28 -0.35,-0.4 -0.44,-0.12 -0.06,0.19 -0.1,0.39 -0.13,0.59 -0.31,0.06 -0.62,0.11 -0.92,0.18 0.03,-0.15 0.06,-0.3 0.12,-0.44 0.05,-0.12 -0.05,-0.25 -0.16,-0.28 -0.13,-0.04 -0.24,0.04 -0.28,0.16 -0.08,0.21 -0.14,0.43 -0.17,0.65 -0.31,0.05 -0.62,0.09 -0.94,0.14 -0.02,-0.38 -0.04,-0.76 -0.06,-1.14 -0.02,-0.32 -0.52,-0.32 -0.5,0 0.02,0.4 0.04,0.81 0.06,1.21 -0.08,0.01 -0.15,0.02 -0.23,0.03 -0.44,0.05 -0.87,0.09 -1.31,0.13 0.03,-0.22 0.09,-0.44 0.18,-0.65 0.05,-0.11 0.03,-0.24 -0.08,-0.31 -0.1,-0.06 -0.26,-0.03 -0.31,0.08 -0.13,0.29 -0.2,0.61 -0.23,0.92 -0.59,0.04 -1.19,0.07 -1.79,0.09 -0.08,-0.41 -0.07,-0.83 0.05,-1.23 0.08,-0.28 -0.35,-0.4 -0.44,-0.12 -0.14,0.44 -0.16,0.91 -0.09,1.36 -0.44,0.01 -0.88,0.01 -1.33,0 -0.03,-0.18 -0.07,-0.36 -0.1,-0.54 -0.02,-0.09 -0.13,-0.14 -0.21,-0.12 -0.09,0.03 -0.13,0.12 -0.12,0.21 0.03,0.15 0.05,0.3 0.08,0.44 -0.57,-0.02 -1.13,-0.05 -1.69,-0.09 0,-0.25 0.01,-0.51 0.04,-0.76 0.02,-0.11 -0.03,-0.21 -0.14,-0.24 -0.09,-0.03 -0.23,0.03 -0.24,0.14 -0.04,0.28 -0.05,0.55 -0.05,0.83 -0.41,-0.04 -0.83,-0.08 -1.24,-0.13 -0.04,-0.23 -0.09,-0.46 -0.13,-0.7 -0.02,-0.1 -0.14,-0.16 -0.23,-0.13 -0.11,0.03 -0.15,0.13 -0.13,0.23 0.03,0.18 0.07,0.37 0.1,0.55 -0.36,-0.05 -0.73,-0.11 -1.09,-0.16 -0.01,-0.14 -0.03,-0.29 -0.02,-0.43 0.02,-0.26 -0.38,-0.25 -0.4,0 -0.01,0.12 0.01,0.25 0.01,0.37 -0.07,-0.01 -0.13,-0.02 -0.2,-0.03 -0.15,-0.03 -0.22,0.21 -0.07,0.24 0.09,0.02 0.18,0.03 0.27,0.04 0.03,0.23 0.08,0.45 0.16,0.67 0.05,0.14 0.13,0.28 0.2,0.42 -0.13,-0.01 -0.27,-0.01 -0.4,-0.03 -0.32,-0.03 -0.65,-0.08 -0.97,-0.12 -0.03,-0.1 -0.06,-0.2 -0.08,-0.3 -0.07,-0.4 -0.04,-0.81 0.06,-1.2 0.06,-0.22 -0.28,-0.32 -0.34,-0.1 -0.12,0.44 -0.15,0.9 -0.08,1.36 0.01,0.07 0.04,0.13 0.05,0.2 -0.38,-0.05 -0.76,-0.09 -1.14,-0.14 -0.02,-0.1 -0.04,-0.21 -0.08,-0.3 -0.13,-0.3 -0.36,-0.57 -0.65,-0.74 -0.19,-0.12 -0.37,0.18 -0.18,0.3 0.22,0.14 0.39,0.36 0.48,0.59 0.01,0.03 0.02,0.06 0.03,0.1 -0.23,-0.03 -0.46,-0.08 -0.68,-0.12 -0.01,-0.07 -0.02,-0.15 -0.03,-0.22 -0.02,-0.14 -0.04,-0.28 -0.07,-0.42 -0.01,-0.08 -0.12,-0.13 -0.19,-0.11 -0.08,0.02 -0.13,0.11 -0.11,0.19 0.04,0.13 0.08,0.26 0.13,0.39 0.01,0.04 0.03,0.08 0.05,0.13 -0.3,-0.05 -0.61,-0.11 -0.91,-0.17 0,-0.02 0,-0.04 -0.01,-0.06 -0.03,-0.31 -0.07,-0.62 -0.1,-0.93 -0.01,-0.1 -0.08,-0.19 -0.19,-0.19 -0.1,0 -0.2,0.09 -0.19,0.19 0.03,0.31 0.07,0.62 0.1,0.92 -0.28,-0.06 -0.57,-0.1 -0.86,-0.16 -0.2,-0.04 -0.29,0.26 -0.09,0.31 0.33,0.08 0.66,0.15 0.98,0.22 0.01,0.04 0.01,0.08 0.01,0.12 0.01,0.08 0.03,0.16 0.04,0.24 0.01,0.03 0.01,0.07 0.02,0.1 0.02,0.05 0.05,0.08 0.09,0.11 0.01,0.01 0.03,0.01 0.04,0.01 0.02,0.02 0.05,0.04 0.08,0.04 0.14,0 0.17,-0.16 0.1,-0.24 0,-0.02 0.02,-0.04 0.02,-0.07 0,-0.07 -0.01,-0.14 -0.01,-0.21 0,-0.01 0,-0.01 0,-0.02 0.61,0.14 1.21,0.26 1.83,0.37 0,0.02 0,0.03 0,0.05 0,0.1 -0.02,0.18 0.06,0.26 0.05,0.05 0.12,0.05 0.18,0.02 0.1,-0.04 0.12,-0.15 0.13,-0.25 0,-0.01 0,-0.02 0,-0.03 0.41,0.07 0.82,0.14 1.24,0.19 0.08,0.18 0.19,0.39 0.35,0.5 0.06,0.04 0.17,-0.01 0.16,-0.09 -0.01,-0.11 -0.05,-0.23 -0.09,-0.34 0.02,0 0.03,0.01 0.05,0.01 0.51,0.06 1.03,0.09 1.54,0.13 0.06,0.05 0.11,0.1 0.18,0.12 0.07,0.03 0.12,-0.03 0.14,-0.1 0.29,0.02 0.58,0.05 0.87,0.07 0.04,0.01 0.06,0.02 0.09,0 0.45,0.02 0.91,0.02 1.36,0.03 0.03,0.07 0.05,0.15 0.09,0.22 0.05,0.11 0.1,0.23 0.19,0.31 -2.4,-0.09 -4.79,-0.31 -7.17,-0.66 -0.81,-0.12 -1.71,-0.23 -2.59,-0.42 0,0 0,0 0,0 -0.02,-0.14 -0.14,-0.25 -0.22,-0.35 -0.07,-0.1 -0.15,-0.21 -0.2,-0.33 -0.1,-0.22 -0.14,-0.47 -0.12,-0.72 0.01,-0.1 -0.09,-0.18 -0.18,-0.18 -0.1,0 -0.17,0.08 -0.18,0.18 -0.03,0.3 0.03,0.61 0.16,0.88 0.06,0.14 0.14,0.26 0.23,0.37 0.01,0.01 0.02,0.02 0.03,0.03 -1.15,-0.29 -2.24,-0.74 -3.02,-1.55 -0.37,-0.38 -1.06,0.12 -0.75,0.58 0.33,0.47 0.7,0.88 1.12,1.25 -0.02,0.19 -0.05,0.37 -0.07,0.56 -0.33,-0.1 -0.66,-0.22 -0.98,-0.38 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 0.03,-0.22 0.06,-0.44 0.11,-0.66 0.05,-0.23 -0.3,-0.33 -0.35,-0.1 -0.04,0.18 -0.07,0.37 -0.1,0.55 -0.26,-0.16 -0.51,-0.34 -0.75,-0.53 0.04,-0.33 0.09,-0.66 0.06,-0.98 -0.01,-0.08 -0.07,-0.13 -0.13,-0.14 -0.18,-0.44 -0.81,-0.65 -1.14,-0.24 -0.06,-0.1 -0.14,-0.2 -0.2,-0.3 -0.12,-0.22 -0.46,-0.03 -0.34,0.2 0.1,0.18 0.21,0.35 0.33,0.52 -0.11,0.25 -0.22,0.5 -0.31,0.77 -0.33,-0.64 -0.73,-1.25 -1.23,-1.78 -0.59,-0.62 -1.47,0.22 -1.05,0.88 -0.32,0.27 -0.64,0.53 -0.95,0.8 -0.33,-0.36 -0.66,-0.72 -0.98,-1.09 0.1,-0.09 0.2,-0.18 0.3,-0.28 0.15,-0.14 -0.07,-0.36 -0.22,-0.22 -0.27,0.24 -0.54,0.48 -0.8,0.72 -0.16,-0.15 -0.33,-0.29 -0.5,-0.42 -0.13,-0.09 -0.26,-0.17 -0.39,-0.26 0.06,-0.05 0.12,-0.1 0.18,-0.15 0.18,-0.15 -0.08,-0.4 -0.25,-0.25 -0.08,0.07 -0.17,0.13 -0.25,0.2 -3.13,-1.85 -7.45,-1.64 -10.18,0.66 -0.07,-0.05 -0.14,-0.1 -0.22,-0.15 0.34,-0.24 0.68,-0.48 1.02,-0.72 0.15,-0.11 0.01,-0.36 -0.15,-0.25 -0.39,0.26 -0.77,0.53 -1.16,0.8 -0.31,-0.2 -0.63,-0.39 -0.96,-0.58 0.01,-0.01 0.03,-0.03 0.04,-0.04 0.07,-0.06 -0.02,-0.18 -0.1,-0.13 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.18,-0.11 -0.35,-0.22 -0.53,-0.32 -0.2,-0.11 -0.38,0.19 -0.18,0.31 0.11,0.06 0.21,0.14 0.32,0.2 -0.3,0.2 -0.59,0.42 -0.87,0.65 -0.13,-0.1 -0.27,-0.2 -0.4,-0.3 0.12,-0.21 0.24,-0.42 0.37,-0.63 0.27,-0.46 -0.29,-1.09 -0.77,-0.77 -1.29,0.88 -2.08,2.44 -2.46,3.93 -0.39,1.52 -0.38,3.16 0.07,4.66 0.43,1.45 1.24,2.78 2.31,3.84 0.14,0.14 0.3,0.29 0.46,0.43 -0.66,-0.24 -1.39,-0.35 -2.1,-0.33 -0.77,0.02 -1.5,0.19 -2.2,0.51 -0.38,0.17 -0.83,0.44 -1.18,0.77 -0.19,-0.03 -0.4,0.05 -0.47,0.27 -0.04,0.13 -0.11,0.24 -0.15,0.38 -0.02,0.1 -0.04,0.2 -0.06,0.3 -0.05,0.26 -0.09,0.52 -0.11,0.79 -0.03,0.45 -0.07,0.9 -0.08,1.36 -0.02,0.45 -0.04,0.9 -0.05,1.36 -0.01,0.29 -0.04,0.6 -0.02,0.9 -0.25,0.3 -0.44,0.67 -0.58,1.01 -0.39,0.98 -0.52,2.07 -0.64,3.11 -0.05,0.38 -0.07,0.76 -0.1,1.15 -0.07,-0.01 -0.14,-0.03 -0.22,-0.01 -1.71,0.66 -2.5,2.21 -2.48,3.91 0.01,0.6 0.14,1.17 0.34,1.73 0,0.56 0.01,1.12 0.03,1.69 0.04,1.1 0.08,2.19 0.11,3.29 -0.09,0.15 -0.1,0.35 0.02,0.51 0,0.02 0,0.04 0,0.06 0.02,0.54 0.45,0.81 0.88,0.81 0.92,0.82 1.95,1.53 3.04,2.17 -0.17,0.6 -0.18,1.28 -0.21,1.88 -0.05,0.79 -0.08,1.58 -0.12,2.37 -0.01,0.13 -0.01,0.26 -0.02,0.38 -1.74,-0.12 -3.56,0.15 -5.2,0.53 -1.05,0.25 -2.11,0.55 -3.11,0.97 -0.82,0.34 -1.63,0.78 -2.15,1.52 -0.6,0.85 -0.56,1.73 -0.17,2.48 -0.02,0.2 -0.03,0.4 -0.04,0.59 -0.05,0.66 -0.11,1.32 -0.14,1.97 -0.03,0.63 -0.06,1.27 -0.08,1.9 -0.02,0.69 -0.09,1.35 0.16,2 0.14,0.38 0.49,0.5 0.79,0.42 0.6,0.8 1.46,1.44 2.38,1.86 1.7,0.76 3.6,0.98 5.47,1.15 -0.11,0.28 -0.17,0.59 -0.21,0.86 -0.06,0.35 -0.07,0.7 -0.1,1.06 -0.57,0.52 -0.98,1.19 -1.23,1.96 -0.14,0.07 -0.25,0.18 -0.31,0.36 -0.62,1.82 -0.71,3.84 -0.56,5.75 0.08,0.97 0.21,1.93 0.41,2.88 0.09,0.45 0.2,0.9 0.33,1.34 0.07,0.26 0.14,0.56 0.28,0.79 0.14,0.24 0.35,0.37 0.54,0.55 0.05,0.04 0.11,0.06 0.17,0.09 2.24,2.47 5.15,4.16 7.92,5.6 3.24,1.69 6.74,2.67 10.21,3.47 7.71,1.77 15.56,2.93 23.4,3.44 8.01,0.52 16.06,0.36 24.04,-0.65 7.9,-1 15.8,-2.74 23.39,-5.59 3.3,-1.24 6.75,-2.84 9.18,-5.89 0.43,-0.54 0.8,-1.18 1.12,-1.84 0.23,-0.3 0.37,-0.61 0.45,-1.04 0.1,-0.49 0.17,-0.99 0.24,-1.48 0.13,-1.01 0.2,-2.02 0.19,-3.04 -0.01,-0.89 -0.1,-1.76 -0.23,-2.63 0,-0.03 0.01,-0.06 0.01,-0.09 0,0 0,0 0,0 0,0 0,0 0,-0.01 -0.06,-0.9 -0.11,-1.79 -0.14,-2.69 -0.39,-1.61 -1.27,-3.04 -2.37,-4.29 -0.02,-0.2 -0.02,-0.41 -0.06,-0.61 -0.05,-0.27 -0.12,-0.57 -0.23,-0.86 1.99,-0.17 4.02,-0.38 5.83,-1.15 0.98,-0.41 1.9,-1.05 2.54,-1.86 0.33,0.08 0.69,-0.04 0.84,-0.42 0.27,-0.66 0.2,-1.31 0.17,-2 0.05,-0.62 0.02,-1.26 -0.01,-1.89 z m -9.68,-6.63 c 1.12,0.16 2.25,0.37 3.35,0.65 1.06,0.27 2.12,0.59 3.13,1 0.57,0.24 1.53,0.65 1.55,1.34 0.01,0.62 -0.73,1.01 -1.24,1.25 -0.79,0.37 -1.69,0.57 -2.54,0.78 -1.95,0.49 -3.93,0.85 -5.94,1.05 -4.01,0.4 -8.09,0.24 -12.04,-0.5 -1.81,-0.34 -3.79,-0.7 -5.46,-1.44 -0.13,-0.06 -0.27,-0.12 -0.4,-0.2 0,-0.03 0.01,-0.05 0.01,-0.08 0.01,-0.08 0.02,-0.16 0.03,-0.23 0.03,-0.16 0.08,-0.32 0.15,-0.47 0.13,-0.3 0.32,-0.57 0.56,-0.79 0.11,-0.1 -0.05,-0.27 -0.17,-0.17 -0.26,0.24 -0.48,0.53 -0.62,0.86 -0.07,0.16 -0.13,0.33 -0.17,0.5 -0.01,0.06 -0.03,0.14 -0.04,0.21 -0.29,-0.23 -0.47,-0.53 -0.33,-0.91 0.22,-0.58 1.01,-0.97 1.57,-1.22 1.78,-0.79 3.9,-1.17 5.83,-1.47 0.55,-0.08 1.1,-0.12 1.66,-0.17 l -0.03,1.44 c -0.67,-0.12 -1.4,0.27 -1.61,0.94 -0.1,0.32 -0.07,0.68 0.06,0.98 0.13,0.29 0.38,0.58 0.7,0.65 0.09,0.02 0.17,-0.09 0.1,-0.17 -0.1,-0.09 -0.2,-0.17 -0.27,-0.28 -0.06,-0.1 -0.14,-0.2 -0.18,-0.31 -0.1,-0.24 -0.13,-0.5 -0.06,-0.75 0.15,-0.49 0.69,-0.83 1.19,-0.75 0.03,0 0.04,-0.01 0.07,-0.02 l -0.01,0.51 c 0,0 -0.01,0 -0.01,0 -0.33,-0.09 -0.66,0.22 -0.56,0.53 0.1,0.3 0.14,0.56 0.36,0.81 0.18,0.21 0.4,0.39 0.63,0.55 0.48,0.32 1.04,0.55 1.59,0.73 1.08,0.37 2.28,0.48 3.42,0.35 1.18,-0.13 2.34,-0.49 3.3,-1.16 0.54,-0.37 1.02,-0.84 1.13,-1.48 0.08,-0.47 -0.05,-0.97 -0.44,-1.22 -0.02,-0.28 -0.04,-0.55 -0.05,-0.82 -0.01,-0.25 -0.02,-0.49 -0.03,-0.74 0.6,0.08 1.21,0.13 1.81,0.22 z m -13.44,14 c -0.08,0.35 -0.12,0.72 -0.13,1.09 -0.23,-0.42 -0.52,-0.81 -0.89,-1.12 -0.16,-0.13 -0.39,0.1 -0.23,0.23 0.47,0.4 0.84,0.91 1.06,1.49 0.03,0.08 0.04,0.16 0.06,0.25 0,0.14 0,0.28 0,0.42 -0.01,0.44 -0.03,0.88 -0.03,1.32 0,0.47 -0.05,0.96 0.05,1.42 0.04,0.19 0.17,0.33 0.33,0.42 -0.04,0.03 -0.07,0.08 -0.06,0.15 0.1,0.69 -0.06,1.41 -0.41,2.02 -0.02,0.03 -0.04,0.04 -0.06,0.07 -0.72,0.01 -1.45,0.06 -2.16,0.15 -0.21,0.03 -0.21,0.36 0,0.34 0.62,-0.08 1.25,-0.11 1.87,-0.13 -0.33,0.39 -0.7,0.73 -1.15,0.98 -0.13,0.07 -0.04,0.28 0.1,0.24 0.66,-0.2 1.18,-0.66 1.55,-1.23 0.6,0 1.2,0.03 1.79,0.09 -0.06,0.06 -0.1,0.13 -0.16,0.18 -0.11,0.09 -0.21,0.19 -0.33,0.27 -0.13,0.09 -0.27,0.15 -0.39,0.26 -0.08,0.07 -0.02,0.23 0.09,0.22 0.31,-0.02 0.64,-0.25 0.87,-0.44 0.15,-0.12 0.25,-0.28 0.37,-0.43 0.62,0.08 1.25,0.16 1.86,0.28 0.01,0 0.03,0.01 0.04,0.01 -0.03,0.04 -0.07,0.09 -0.1,0.13 -0.08,0.1 -0.15,0.18 -0.18,0.3 -0.04,0.13 0.11,0.24 0.23,0.18 0.1,-0.06 0.16,-0.13 0.23,-0.22 0.07,-0.09 0.14,-0.17 0.21,-0.26 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.21,0.05 0.43,0.08 0.63,0.15 0.35,0.12 0.68,0.3 1.04,0.39 0.13,0.03 0.21,-0.15 0.09,-0.22 -0.31,-0.16 -0.64,-0.22 -0.98,-0.32 -0.21,-0.06 -0.42,-0.13 -0.63,-0.2 0.08,-0.09 0.15,-0.19 0.23,-0.28 0.07,-0.09 0.14,-0.18 0.21,-0.27 0.72,0.02 1.45,0 2.12,-0.01 0.34,0 0.7,-0.01 1.07,-0.01 -0.07,0.06 -0.13,0.11 -0.2,0.17 -0.11,0.1 -0.22,0.2 -0.34,0.29 -0.06,0.05 -0.12,0.1 -0.18,0.16 -0.06,0.05 -0.11,0.12 -0.16,0.18 -0.06,0.07 -0.07,0.16 -0.01,0.24 0.05,0.07 0.15,0.09 0.23,0.05 0.07,-0.04 0.14,-0.08 0.21,-0.13 0.06,-0.05 0.12,-0.1 0.18,-0.15 0.12,-0.1 0.24,-0.2 0.36,-0.3 0.21,-0.17 0.41,-0.35 0.62,-0.52 1.04,-0.04 2.1,-0.15 2.97,-0.55 0.9,-0.41 1.82,-1.29 1.9,-2.27 0.12,-0.34 0.2,-0.7 0.25,-1.03 0.08,-0.45 0.1,-0.9 0.11,-1.35 0.23,0.69 0.41,1.41 0.5,2.15 -0.12,0.13 -0.2,0.31 -0.15,0.55 0.07,0.31 0.1,0.64 0.15,0.95 0,0.03 0.01,0.06 0.01,0.1 -0.01,0.12 -0.01,0.25 -0.03,0.37 0.23,2.07 -0.86,4.01 -2.2,5.33 -1.67,1.64 -3.86,2.52 -5.91,3.36 -4.4,1.81 -8.93,3.21 -13.52,4.25 -9.19,2.09 -18.58,2.72 -27.94,2.6 -4.72,-0.06 -9.44,-0.32 -14.15,-0.69 -4.74,-0.37 -9.47,-0.89 -14.14,-1.86 -4.61,-0.96 -9.17,-2.34 -13.5,-4.36 -3.03,-1.41 -7.01,-4.03 -6.07,-8.3 0.03,0.17 0.09,0.32 0.14,0.48 0.08,0.98 0.94,1.86 1.78,2.27 1.3,0.63 3.05,0.57 4.46,0.59 0.64,0.01 1.33,0.03 2.01,0.01 0,0 0,0.01 0,0.01 0.11,0.27 0.2,0.55 0.34,0.81 0.08,0.15 0.29,0.04 0.26,-0.11 -0.06,-0.25 -0.15,-0.49 -0.24,-0.73 0.68,-0.04 1.36,-0.13 1.98,-0.34 0.31,0.55 0.69,1.06 1.14,1.51 0.23,0.23 0.47,0.43 0.73,0.62 0.25,0.18 0.53,0.36 0.82,0.46 0.1,0.03 0.18,-0.11 0.1,-0.18 -0.23,-0.19 -0.49,-0.35 -0.73,-0.54 -0.24,-0.18 -0.48,-0.39 -0.69,-0.6 -0.16,-0.16 -0.31,-0.33 -0.45,-0.51 0.08,0.02 0.18,-0.05 0.12,-0.14 -0.04,-0.07 -0.08,-0.15 -0.13,-0.21 -0.05,-0.07 -0.1,-0.13 -0.15,-0.2 -0.1,-0.13 -0.2,-0.26 -0.29,-0.39 0.48,-0.21 0.91,-0.51 1.17,-0.97 0.13,-0.22 0.25,-0.51 0.31,-0.8 0.17,-0.04 0.32,-0.13 0.42,-0.27 0,0 0,0.01 0,0.01 l 0.51,0.91 c 0.08,0.15 0.17,0.3 0.25,0.45 0.04,0.07 0.08,0.14 0.12,0.21 0.05,0.08 0.11,0.15 0.17,0.22 0.06,0.07 0.18,-0.01 0.15,-0.09 -0.06,-0.17 -0.13,-0.32 -0.21,-0.48 -0.08,-0.15 -0.17,-0.3 -0.25,-0.45 -0.17,-0.3 -0.34,-0.61 -0.51,-0.91 -0.04,-0.07 -0.1,-0.07 -0.16,-0.05 0.01,-0.03 0.02,-0.04 0.03,-0.07 0.09,-0.46 0.04,-0.95 0.04,-1.42 0,-0.44 -0.02,-0.88 -0.03,-1.32 0,-0.2 0,-0.41 0,-0.62 0.46,0.02 0.93,0.04 1.39,0.06 -0.02,0.06 -0.05,0.11 -0.06,0.17 -0.08,0.28 -0.17,0.6 -0.16,0.89 0,0.05 0.07,0.06 0.08,0.01 0.08,-0.27 0.11,-0.55 0.19,-0.82 0.03,-0.09 0.06,-0.17 0.09,-0.25 1.06,0.05 2.13,0.1 3.19,0.15 0.91,0.04 1.83,0.07 2.74,0.1 0.1,0 0.2,0.01 0.3,0.02 -0.09,0.19 -0.18,0.38 -0.24,0.58 -0.03,0.1 0.11,0.15 0.16,0.07 0.15,-0.21 0.29,-0.42 0.43,-0.63 0.64,0.04 1.28,0.07 1.92,0.07 -0.01,0.07 -0.02,0.14 -0.02,0.21 -0.1,0.15 -0.18,0.31 -0.27,0.47 -0.05,0.08 0.07,0.15 0.13,0.07 0.04,-0.06 0.09,-0.12 0.13,-0.18 0.01,0.6 0.15,1.2 0.39,1.75 -0.46,0.16 -0.91,0.34 -1.36,0.5 -0.1,0.03 -0.2,0.06 -0.3,0.09 0,-0.07 -0.04,-0.14 -0.12,-0.14 -0.07,0 -0.14,0.02 -0.21,0.03 -0.17,-0.6 -0.2,-1.24 -0.05,-1.85 0.05,-0.21 -0.27,-0.3 -0.33,-0.09 -0.03,0.11 -0.04,0.23 -0.06,0.34 -1.01,-0.09 -2.03,-0.04 -3.04,-0.04 -0.62,0 -1.23,0 -1.85,0 -0.03,-0.34 -0.01,-0.68 0.07,-1.02 0.05,-0.21 -0.27,-0.3 -0.32,-0.09 -0.08,0.36 -0.11,0.74 -0.08,1.11 -0.3,0 -0.61,0 -0.91,0 -0.19,0 -0.19,0.29 0,0.29 0.31,0 0.63,0 0.94,0 0.05,0.34 0.13,0.67 0.27,0.98 0.25,0.6 0.7,1.23 1.27,1.59 -0.61,0.11 -1.22,0.19 -1.84,0.26 -0.34,-0.43 -0.67,-0.86 -0.93,-1.34 -0.33,-0.59 -0.57,-1.23 -0.73,-1.89 -0.05,-0.22 -0.39,-0.13 -0.33,0.09 0.16,0.69 0.42,1.36 0.76,1.98 0.25,0.45 0.56,0.86 0.91,1.24 -0.09,0.08 -0.07,0.26 0.08,0.24 0.04,0 0.09,-0.01 0.13,-0.02 0.06,0.06 0.11,0.13 0.18,0.19 0.12,0.1 0.27,-0.05 0.17,-0.17 -0.02,-0.02 -0.03,-0.04 -0.05,-0.06 1.08,-0.13 2.16,-0.32 3.23,-0.55 0.22,0.31 0.43,0.63 0.66,0.93 0.06,0.07 0.18,0.01 0.13,-0.07 -0.2,-0.3 -0.41,-0.6 -0.62,-0.89 0.26,-0.06 0.53,-0.1 0.79,-0.17 0.45,-0.11 0.9,-0.25 1.34,-0.38 0.02,0.04 0.03,0.09 0.05,0.14 0.38,0.83 1.02,1.46 1.84,1.83 -0.06,0.02 -0.12,0.05 -0.18,0.07 -0.45,0.16 -0.89,0.33 -1.34,0.49 -0.93,0.34 -1.86,0.68 -2.79,1.02 -0.17,0.06 -0.1,0.33 0.07,0.27 0.95,-0.33 1.9,-0.67 2.85,-1 0.47,-0.16 0.93,-0.32 1.4,-0.49 0.46,-0.16 0.94,-0.29 1.36,-0.54 0.13,-0.08 0.04,-0.24 -0.09,-0.22 -0.35,0.05 -0.68,0.17 -1.01,0.3 0,-0.05 -0.01,-0.09 -0.05,-0.13 0.33,-0.25 0.69,-0.46 1.07,-0.6 0.18,-0.07 0.38,-0.12 0.57,-0.17 0.62,0.54 1.33,1 2.08,1.33 0.07,0.03 0.15,0.06 0.23,0.09 -0.24,0.01 -0.49,0.06 -0.69,0.1 -0.36,0.07 -0.72,0.16 -1.08,0.27 -0.7,0.23 -1.36,0.55 -1.98,0.96 -0.2,0.13 -0.01,0.45 0.19,0.32 0.6,-0.39 1.24,-0.7 1.92,-0.92 0.33,-0.1 0.67,-0.19 1.01,-0.25 0.32,-0.06 0.73,-0.03 1.02,-0.19 0.05,-0.03 0.06,-0.07 0.06,-0.12 0.68,0.28 1.38,0.53 2.1,0.66 0.08,0.01 0.15,-0.1 0.06,-0.15 -0.8,-0.43 -1.68,-0.69 -2.5,-1.08 -0.67,-0.32 -1.32,-0.71 -1.91,-1.18 0,0 0.01,0 0,0 -0.02,0.01 0.05,-0.01 0.06,-0.01 0.06,-0.02 0.1,-0.04 0.15,-0.08 0.05,-0.05 0.03,-0.13 -0.02,-0.17 0.13,0.1 0.26,0.19 0.4,0.28 -0.01,0.04 -0.01,0.08 0.01,0.12 0.05,0.08 0.13,0.09 0.21,0.05 0.01,0 0.02,-0.01 0.03,-0.01 0.91,0.58 1.94,0.98 2.96,1.29 1.13,0.34 2.27,0.64 3.42,0.92 -0.23,0.1 -0.47,0.19 -0.7,0.3 -0.71,0.31 -1.42,0.62 -2.13,0.92 -0.21,0.09 -0.06,0.45 0.15,0.36 0.72,-0.29 1.43,-0.58 2.15,-0.87 0.36,-0.14 0.71,-0.3 1.07,-0.44 0.08,-0.03 0.15,-0.06 0.23,-0.09 1.11,0.26 2.23,0.49 3.35,0.69 0,0.07 0.03,0.13 0.11,0.16 0.5,0.2 1,0.4 1.5,0.6 0.49,0.19 1,0.39 1.51,0.54 0.13,0.04 0.21,-0.16 0.09,-0.22 -0.48,-0.24 -0.99,-0.45 -1.48,-0.65 -0.18,-0.07 -0.36,-0.15 -0.54,-0.22 1.08,0.18 2.17,0.34 3.26,0.47 4.07,0.49 8.17,0.6 12.26,0.34 3.65,-0.23 7.38,-0.65 10.89,-1.72 0.72,-0.22 1.43,-0.48 2.12,-0.76 0.27,0.11 0.54,0.22 0.81,0.33 0.28,0.11 0.55,0.23 0.83,0.34 0.27,0.11 0.58,0.26 0.88,0.31 0.16,0.02 0.24,-0.16 0.11,-0.26 -0.23,-0.17 -0.55,-0.28 -0.82,-0.39 -0.29,-0.12 -0.58,-0.24 -0.86,-0.36 -0.15,-0.06 -0.29,-0.12 -0.44,-0.18 0.51,-0.22 1,-0.48 1.48,-0.75 0.63,0.1 1.26,0.21 1.89,0.31 0.32,0.05 0.64,0.11 0.96,0.15 0.31,0.04 0.64,0.11 0.95,0.06 0.11,-0.02 0.12,-0.19 0.03,-0.23 -0.28,-0.14 -0.6,-0.18 -0.9,-0.23 -0.32,-0.06 -0.65,-0.1 -0.97,-0.15 -0.48,-0.07 -0.95,-0.14 -1.43,-0.22 0.1,-0.06 0.2,-0.11 0.3,-0.17 0.77,-0.49 1.53,-1.05 2.16,-1.71 0.5,-0.53 0.86,-1.08 1.14,-1.71 0.04,-0.07 0.09,-0.13 0.13,-0.2 0.21,-0.4 0.39,-0.84 0.48,-1.29 0.05,-0.24 0.08,-0.48 0.06,-0.73 -0.01,-0.12 -0.02,-0.26 -0.04,-0.38 0.21,-0.02 0.42,-0.05 0.63,-0.06 0,0.03 -0.01,0.06 0.01,0.09 0.23,0.43 0.33,0.9 0.35,1.38 -0.26,-0.01 -0.53,-0.01 -0.79,-0.02 -0.22,-0.01 -0.21,0.32 0,0.34 0.27,0.01 0.54,0.03 0.81,0.05 -0.02,0.3 -0.08,0.58 -0.16,0.87 -0.03,0.11 -0.09,0.21 -0.14,0.31 -0.1,0 -0.21,-0.01 -0.31,-0.01 -0.25,-0.01 -0.24,0.37 0,0.38 0.05,0 0.1,0.01 0.15,0.01 -0.02,0.04 -0.04,0.09 -0.06,0.13 -0.06,0.14 0.1,0.31 0.23,0.18 0.08,-0.08 0.15,-0.19 0.21,-0.29 0.42,0.03 0.85,0.05 1.27,0.08 -0.01,0.02 -0.02,0.04 -0.02,0.05 -0.12,0.26 -0.23,0.53 -0.34,0.79 -0.09,0.22 -0.19,0.45 -0.27,0.68 -0.02,0.01 -0.05,0.01 -0.07,0.02 -0.39,0.09 -0.79,0.16 -1.19,0.19 -0.81,0.07 -1.63,0.03 -2.43,-0.13 -0.27,-0.05 -0.39,0.36 -0.12,0.42 0.85,0.18 1.72,0.25 2.59,0.18 0.43,-0.03 0.86,-0.1 1.28,-0.19 0.38,-0.08 0.82,-0.2 1.12,-0.47 0.09,-0.08 0.02,-0.23 -0.1,-0.23 -0.25,-0.01 -0.51,0.06 -0.77,0.12 0.08,-0.16 0.16,-0.32 0.23,-0.48 0.12,-0.26 0.23,-0.52 0.35,-0.78 0.02,-0.06 0.05,-0.11 0.07,-0.17 0.01,0 0.02,0 0.03,0 0.36,0.02 0.71,0.05 1.07,0.07 0.18,0.01 0.36,0.02 0.53,0.03 0.19,0.01 0.35,0.04 0.52,-0.05 0.15,-0.07 0.13,-0.29 0,-0.36 -0.16,-0.1 -0.34,-0.08 -0.52,-0.09 -0.16,-0.01 -0.33,-0.01 -0.49,-0.02 l -0.95,-0.03 c 0.14,-0.33 0.29,-0.66 0.43,-0.99 0.02,-0.05 0.02,-0.09 0,-0.13 0.37,0.02 0.74,0.04 1.12,0.06 0.34,0.02 0.68,0.04 1.02,0.05 -0.04,0.56 -0.21,1.11 -0.5,1.6 -0.21,0.35 -0.48,0.67 -0.79,0.94 -0.33,0.29 -0.7,0.46 -1.09,0.67 -0.13,0.07 -0.03,0.24 0.09,0.22 0.43,-0.08 0.84,-0.35 1.17,-0.63 0.35,-0.29 0.65,-0.68 0.87,-1.08 0.28,-0.52 0.44,-1.11 0.46,-1.7 0.25,0.01 0.5,0.03 0.75,0.04 0.34,0.02 0.68,0.04 1.02,0.05 0.13,0 0.25,-0.01 0.38,-0.01 -0.23,1.04 -0.78,2.01 -1.58,2.72 -0.11,0.1 0.04,0.29 0.16,0.2 0.81,-0.61 1.37,-1.41 1.67,-2.38 0.06,-0.18 0.09,-0.37 0.13,-0.56 0.11,-0.01 0.22,0 0.33,-0.01 0.17,-0.01 0.24,-0.29 0.04,-0.33 -0.11,-0.02 -0.21,-0.03 -0.32,-0.04 0.07,-0.61 0.02,-1.24 -0.14,-1.83 0.29,0.03 0.6,0.05 0.87,-0.02 0.2,-0.05 0.16,-0.3 0,-0.36 -0.28,-0.12 -0.62,-0.13 -0.95,-0.13 0,-0.01 0,-0.01 0,-0.02 -0.06,-0.44 -0.2,-0.86 -0.4,-1.26 -0.39,-0.79 -1.04,-1.46 -1.83,-1.85 -0.18,-0.09 -0.35,0.18 -0.16,0.28 0.23,0.12 0.41,0.3 0.61,0.46 -0.4,0.01 -0.8,0.05 -1.19,0.07 -0.44,0.03 -0.87,0.06 -1.31,0.09 -0.27,-0.32 -0.57,-0.61 -0.9,-0.88 0.35,-0.1 0.7,-0.2 1.05,-0.3 0.23,0.24 0.46,0.49 0.7,0.72 0.11,0.1 0.28,-0.03 0.21,-0.16 -0.14,-0.24 -0.32,-0.46 -0.51,-0.67 0,0 0,0 0.01,0 0.29,-0.08 0.62,-0.16 0.94,-0.26 0.44,0.16 0.89,0.32 1.32,0.46 0.98,0.35 1.94,0.55 2.9,0.72 z m 4.01,0.43 c -0.02,0.34 -0.03,0.68 -0.05,1.02 0,0.03 0,0.06 0,0.1 -0.28,-0.01 -0.56,-0.04 -0.82,-0.1 0.01,-0.35 0.06,-0.71 0.13,-1.06 0.24,0.01 0.49,0.03 0.74,0.04 z m 1.86,0.03 c 0.02,0.32 0.04,0.63 0.05,0.95 0,0 0,0 0,0 -0.43,0.04 -0.97,0.11 -1.53,0.13 0,-0.01 0,-0.03 0,-0.04 0.01,-0.35 0.02,-0.7 0.03,-1.05 0.49,0.01 0.97,0.01 1.45,0.01 z m 5.35,4.66 c 0.01,0.14 0.01,0.28 0.08,0.4 0.07,0.12 0.24,0.12 0.31,0 0.08,-0.12 0.07,-0.26 0.08,-0.4 0.01,-0.13 0.01,-0.25 0.01,-0.38 0,-0.16 0,-0.31 -0.01,-0.47 0.3,-0.2 0.59,-0.42 0.87,-0.66 -0.01,0.04 -0.01,0.08 -0.01,0.12 -0.1,0.49 -0.32,0.98 -0.34,1.47 0,0.01 0,0.01 0,0.02 -0.07,0.07 -0.11,0.15 -0.19,0.21 -0.39,0.29 -0.95,0.39 -1.43,0.49 -0.42,0.08 -0.85,0.12 -1.29,0.15 0.03,-0.16 0.02,-0.34 0.03,-0.48 0,-0.09 0.01,-0.17 0.01,-0.26 0.02,0 0.04,-0.01 0.06,-0.01 0.63,-0.17 1.24,-0.42 1.8,-0.74 0,0.04 0,0.08 0,0.12 0.01,0.15 0.01,0.28 0.02,0.42 z m -7.04,3.22 c -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.58,-0.17 -1.17,-0.29 -1.77,-0.39 0,-0.01 0.01,-0.01 0.01,-0.01 0.07,-0.11 0.1,-0.24 0.15,-0.36 0.63,0.19 1.3,0.28 1.99,0.32 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.11,0.15 -0.22,0.29 -0.33,0.43 z m -2.15,-7.03 c 0.2,0.16 0.44,0.26 0.69,0.35 0,0.13 0,0.26 0,0.39 -0.23,-0.06 -0.46,-0.13 -0.68,-0.2 0,-0.19 -0.01,-0.36 -0.01,-0.54 z m 6.82,1.24 c 0.01,0.07 0.03,0.14 0.04,0.21 -0.2,0.01 -0.39,0.02 -0.59,0.03 0,0 0,0 -0.01,0 0,-0.35 0,-0.71 0,-1.06 0,-0.08 0,-0.16 0,-0.24 0.04,-0.01 0.08,-0.01 0.13,-0.01 0.13,-0.02 0.26,-0.04 0.39,-0.06 -0.02,0.37 -0.02,0.75 0.04,1.13 z m 0.02,2.21 c 0,0.05 -0.01,0.1 -0.01,0.15 -0.46,0.1 -0.92,0.19 -1.38,0.21 -0.32,0.02 -0.63,0.01 -0.94,-0.01 0.04,-0.06 0.04,-0.16 -0.06,-0.15 -0.21,0.02 -0.42,0.06 -0.62,0.1 -0.06,0 -0.11,-0.01 -0.17,-0.01 -0.06,0 -0.1,0.03 -0.12,0.07 -0.2,0.04 -0.39,0.08 -0.59,0.12 -0.04,0.01 -0.08,0.02 -0.12,0.02 -0.04,-0.35 -0.04,-0.7 0.02,-1.04 1.07,0.11 2.19,0.17 3.23,-0.06 0.11,-0.03 0.08,-0.14 0.01,-0.19 0.03,-0.01 0.07,-0.02 0.08,-0.05 0.11,-0.21 0.11,-0.46 0.11,-0.71 0.23,0 0.45,-0.03 0.68,-0.04 0,0 0,0.01 0,0.01 -0.05,0.51 -0.08,1.05 -0.12,1.58 z m -5.35,1.02 c 0.3,-0.06 0.6,-0.12 0.91,-0.18 0.03,0.18 0.1,0.35 0.15,0.52 -0.39,-0.03 -0.77,-0.06 -1.14,-0.14 -0.44,-0.09 -0.78,-0.26 -1.12,-0.48 -0.01,-0.11 -0.03,-0.23 -0.04,-0.34 -0.03,-0.27 -0.06,-0.54 -0.09,-0.81 -0.02,-0.2 -0.03,-0.39 -0.05,-0.59 0.29,0.07 0.58,0.12 0.87,0.18 0.08,0.28 0.17,0.57 0.34,0.79 0.12,0.16 0.35,0.07 0.32,-0.13 -0.03,-0.19 -0.09,-0.38 -0.15,-0.57 0.14,0.02 0.28,0.05 0.42,0.07 0.06,0.12 0.22,0.17 0.3,0.05 0.04,0 0.08,0.02 0.12,0.02 0.03,0 0.06,0.01 0.09,0.01 -0.06,0.39 -0.07,0.78 -0.03,1.18 -0.32,0.06 -0.64,0.13 -0.95,0.19 -0.18,0.01 -0.11,0.26 0.05,0.23 z m -2.05,-2.09 c 0,-0.03 0,-0.07 0,-0.1 0.07,0.02 0.14,0.04 0.21,0.06 0.02,0.26 0.03,0.51 0.06,0.77 0.03,0.25 0.06,0.5 0.11,0.75 0,0.02 0.01,0.05 0.01,0.07 -0.1,-0.06 -0.2,-0.12 -0.29,-0.2 -0.05,-0.04 -0.08,-0.08 -0.12,-0.13 0.04,-0.4 0.02,-0.82 0.02,-1.22 z m 1.88,-0.16 c -0.09,-0.34 -0.15,-0.68 -0.19,-1.02 0.25,0.07 0.49,0.13 0.74,0.18 0,0.01 0,0.01 0,0.02 -0.01,0.33 -0.03,0.67 -0.02,1 -0.17,-0.02 -0.33,-0.05 -0.5,-0.07 0,-0.03 -0.02,-0.07 -0.03,-0.11 z m 4.6,0.38 c 0,0.01 0.01,0 0.02,0.01 -0.52,-0.04 -1.04,-0.02 -1.57,-0.03 0.04,-0.23 0.04,-0.47 0.02,-0.7 0,-0.03 0,-0.06 0,-0.09 0.47,0.04 0.94,0.07 1.42,0.08 0,0.26 0,0.51 0.11,0.73 z m -1.92,-0.72 c 0.01,0.23 0.04,0.47 0.1,0.69 -0.41,-0.01 -0.82,-0.04 -1.23,-0.07 -0.04,-0.2 -0.35,-0.27 -0.41,-0.03 0,0 0,0.01 0,0.01 -0.03,0 -0.06,0 -0.09,-0.01 -0.04,0 -0.07,-0.01 -0.11,-0.02 0.04,-0.32 0.05,-0.64 0.06,-0.96 0,-0.01 0,-0.03 0,-0.04 0.51,0.1 1.01,0.22 1.53,0.28 0.04,0.01 0.09,0.01 0.14,0.01 0,0.06 0.01,0.1 0.01,0.14 z m 1.82,-1.46 c 0,0.35 0,0.7 0,1.05 -0.48,0 -0.96,-0.02 -1.44,-0.06 -0.01,-0.15 -0.02,-0.29 -0.02,-0.44 -0.01,-0.19 -0.02,-0.38 -0.03,-0.56 0.5,-0.05 1,-0.11 1.5,-0.17 -0.01,0.05 -0.01,0.12 -0.01,0.18 z m -1.87,0.55 c 0.01,0.14 0.02,0.28 0.02,0.42 -0.02,0 -0.04,0 -0.06,0 -0.53,-0.05 -1.05,-0.16 -1.57,-0.26 0.01,-0.18 0.01,-0.37 0.02,-0.55 0.38,-0.01 0.74,-0.03 1.07,-0.06 0.16,-0.01 0.33,-0.04 0.49,-0.06 0.01,0.16 0.02,0.33 0.03,0.51 z m -2.06,0.08 c -0.26,-0.06 -0.51,-0.12 -0.77,-0.18 -0.01,-0.13 -0.01,-0.26 -0.01,-0.39 0.26,0.05 0.53,0.08 0.8,0.09 -0.01,0.15 -0.01,0.31 -0.02,0.48 z m -1.19,0.01 c 0,0.05 0,0.09 0,0.14 0.03,0.36 0.1,0.72 0.18,1.07 -0.27,-0.04 -0.53,-0.1 -0.8,-0.15 -0.02,-0.24 -0.04,-0.47 -0.06,-0.71 -0.01,-0.19 0,-0.38 -0.01,-0.57 0.23,0.08 0.46,0.15 0.69,0.22 z m -1.08,0.95 c -0.07,-0.01 -0.13,-0.03 -0.19,-0.04 -0.01,-0.3 -0.01,-0.61 -0.02,-0.91 0,-0.13 0,-0.27 0,-0.41 0.06,0.02 0.12,0.04 0.18,0.06 0,0.26 -0.01,0.51 0,0.77 0,0.17 0.02,0.35 0.03,0.53 z m -0.89,3.1 c 0.32,0.52 0.86,0.82 1.45,1.04 -0.04,0.09 -0.07,0.18 -0.12,0.26 -0.04,0.06 -0.09,0.1 -0.13,0.15 -0.62,-0.07 -1.25,-0.1 -1.88,-0.1 0.33,-0.66 0.47,-1.42 0.37,-2.12 0.05,0.28 0.18,0.56 0.31,0.77 z m 4.31,-0.28 c -0.07,-0.2 -0.14,-0.41 -0.18,-0.62 0,0 0,-0.01 0,-0.01 0.05,-0.01 0.09,-0.02 0.14,-0.03 0.22,-0.04 0.44,-0.08 0.66,-0.13 0.57,0.19 1.24,0.24 1.84,0.24 0.44,0 0.87,-0.06 1.29,-0.14 0,0.05 -0.01,0.1 -0.01,0.15 -0.01,0.16 -0.04,0.34 -0.02,0.51 -0.59,0.02 -1.19,0.02 -1.76,0.02 -0.64,0.02 -1.3,0.03 -1.96,0.01 z m 4.31,-1.34 c 0,-0.01 0,-0.03 0,-0.04 0.01,-0.22 0.02,-0.44 0.03,-0.66 0.05,0.07 0.1,0.15 0.16,0.22 0.07,0.07 0.18,0 0.16,-0.09 -0.08,-0.32 -0.18,-0.62 -0.29,-0.93 0,-0.06 0.01,-0.11 0.01,-0.17 0.42,-0.05 0.83,-0.12 1.23,-0.22 0.12,-0.03 0.1,-0.23 -0.03,-0.23 -0.45,0.01 -0.9,0.04 -1.36,0.07 -0.02,-0.08 -0.05,-0.16 -0.06,-0.24 -0.06,-0.38 -0.07,-0.77 -0.04,-1.16 0.24,-0.04 0.48,-0.07 0.72,-0.11 0.36,-0.06 0.75,-0.13 1.11,-0.23 0.02,0.11 0.04,0.23 0.05,0.34 0.03,0.2 0.06,0.41 0.09,0.61 0.02,0.1 0.03,0.2 0.05,0.3 0,0.02 0.01,0.04 0.01,0.06 -0.01,0.53 -0.01,1.05 -0.02,1.58 0,0.05 0,0.1 0,0.15 -0.56,0.32 -1.18,0.57 -1.82,0.75 z m 1.53,-4.59 c 0.03,0.17 0.05,0.33 0.08,0.5 -0.33,0.03 -0.67,0.09 -0.99,0.15 -0.25,0.04 -0.51,0.08 -0.76,0.12 0.01,-0.09 0.01,-0.18 0.03,-0.27 0.05,-0.24 -0.32,-0.34 -0.37,-0.1 -0.03,0.14 -0.03,0.29 -0.05,0.44 -0.06,0.01 -0.12,0.02 -0.19,0.03 -0.13,0.02 -0.25,0.03 -0.38,0.05 0,-0.24 0,-0.48 0,-0.72 0.88,-0.06 1.76,-0.13 2.63,-0.2 z m -3.06,0.95 c -0.51,0.07 -1.01,0.13 -1.52,0.19 -0.02,-0.3 -0.03,-0.6 -0.05,-0.9 0.53,-0.01 1.05,-0.03 1.58,-0.05 0,0.26 -0.01,0.51 -0.01,0.76 z m -5.13,0.16 c -0.26,-0.1 -0.49,-0.25 -0.68,-0.46 0,-0.19 0.02,-0.38 0.03,-0.57 0.26,0.03 0.52,0.06 0.79,0.08 -0.07,0.31 -0.12,0.63 -0.14,0.95 z m -1.09,-0.44 c -0.01,0.28 -0.01,0.56 -0.02,0.84 -0.06,-0.02 -0.12,-0.03 -0.18,-0.05 0,-0.49 -0.01,-0.98 -0.09,-1.45 0.01,0 0.02,0 0.03,0 -0.01,0.02 -0.02,0.04 -0.01,0.07 0.06,0.23 0.16,0.42 0.27,0.59 z M 649,492.12 c -0.01,0.09 -0.02,0.18 -0.03,0.27 -0.01,-0.05 -0.04,-0.09 -0.08,-0.12 0.04,-0.05 0.08,-0.1 0.11,-0.15 z m -96.61,-8.75 c 0,-0.02 0,-0.05 0,-0.07 0.19,0.05 0.38,0.08 0.57,0.12 0.03,0.19 0.06,0.37 0.11,0.55 0.07,0.24 0.16,0.49 0.26,0.72 0.05,0.12 0.11,0.24 0.18,0.35 0.01,0.01 0.02,0.02 0.03,0.04 0.01,0.3 0.01,0.61 0.02,0.91 0.01,0.42 0.03,0.85 0.05,1.27 0.01,0.2 0.02,0.39 0.04,0.59 0,0.03 0,0.06 0,0.08 -0.25,-0.08 -0.5,-0.17 -0.69,-0.33 -0.07,-0.06 -0.12,-0.14 -0.18,-0.21 0,-0.01 0,-0.01 0,-0.02 -0.01,-0.5 -0.23,-0.99 -0.32,-1.47 -0.08,-0.44 -0.13,-0.88 -0.14,-1.33 0,-0.03 0,-0.06 0,-0.09 0.06,-0.06 0.11,-0.15 0.17,-0.21 0.3,-0.24 0.17,-0.72 -0.1,-0.9 z m 0.84,-0.92 c 0,-0.11 -0.09,-0.16 -0.17,-0.17 0.81,0.08 1.62,0.15 2.44,0.21 -0.06,0.03 -0.1,0.08 -0.09,0.16 0.02,0.25 0.03,0.49 0.05,0.74 -0.72,-0.07 -1.44,-0.16 -2.15,-0.28 -0.04,-0.22 -0.07,-0.44 -0.08,-0.66 z m 12.87,-0.72 c 0.02,0.05 0.05,0.09 0.11,0.1 0.24,0.02 0.47,0.05 0.71,0.07 -0.37,0.44 -0.69,0.92 -0.92,1.44 -0.04,0.08 -0.06,0.17 -0.09,0.25 -0.51,-0.02 -1.02,-0.04 -1.53,-0.07 0,-0.46 -0.03,-0.91 -0.13,-1.35 0.62,-0.12 1.24,-0.27 1.85,-0.44 z m 0.83,-0.23 c 1.11,-0.37 2.26,-0.81 3.26,-1.42 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.43,0.39 -0.86,0.79 -1.26,1.21 -0.12,0.12 -0.24,0.26 -0.36,0.39 -0.63,-0.05 -1.27,-0.09 -1.9,-0.12 0.09,-0.04 0.19,-0.06 0.29,-0.09 z m -7.88,-13.95 v -0.14 c 0.17,-0.02 0.34,-0.01 0.51,-0.04 0.03,0 0.06,-0.01 0.08,-0.02 l -0.01,0.96 c -0.19,0.06 -0.38,0.1 -0.56,0.14 -0.01,-0.3 -0.02,-0.6 -0.02,-0.9 z m -1.57,-0.63 c -0.02,-0.24 -0.04,-0.48 -0.06,-0.73 0.41,0.08 0.82,0.1 1.24,0.1 0,0.27 0.01,0.54 0.01,0.81 -0.1,0.01 -0.2,0.03 -0.29,0.03 -0.3,0 -0.59,-0.03 -0.89,-0.07 0,-0.05 0,-0.1 -0.01,-0.14 z m -0.09,-1.13 c -0.01,-0.18 -0.03,-0.35 -0.04,-0.53 0.29,0.1 0.59,0.18 0.9,0.22 0.13,0.02 0.27,0.01 0.4,0.02 0,0.16 0,0.31 0.01,0.47 -0.42,0.01 -0.85,-0.02 -1.26,-0.1 0,-0.03 0,-0.05 -0.01,-0.08 z m 1.16,-1.38 c 0.03,0.01 0.06,0.02 0.09,0.03 0,0.21 0,0.42 0.01,0.63 -0.11,0 -0.22,0 -0.32,-0.01 -0.35,-0.04 -0.69,-0.14 -1.01,-0.27 -0.02,-0.32 -0.05,-0.63 -0.07,-0.95 0.43,0.2 0.87,0.39 1.3,0.57 z m 1.95,3.61 c -0.16,0.05 -0.31,0.09 -0.47,0.15 l -0.01,-0.89 c 0.19,-0.04 0.35,-0.11 0.51,-0.18 0,0.3 -0.02,0.61 -0.03,0.92 z m -0.45,1.99 c 0,-0.46 0,-0.92 -0.01,-1.37 0.16,-0.05 0.31,-0.11 0.46,-0.17 0,0.51 -0.01,1.03 -0.01,1.54 -0.15,-0.01 -0.3,-0.01 -0.44,0 z m 0.52,-3.67 c 0,0.01 0,0.02 0,0.03 -0.01,0.14 -0.01,0.27 -0.02,0.41 -0.18,0.02 -0.35,0.06 -0.53,0.12 l -0.01,-0.74 c 0.09,-0.02 0.18,-0.02 0.27,-0.04 0.1,-0.03 0.2,-0.07 0.31,-0.1 -0.01,0.1 -0.01,0.19 -0.02,0.28 -0.02,0 -0.04,0 -0.06,-0.01 0.03,0.01 0.04,0.03 0.06,0.05 z m -1.56,-0.83 c 0.22,-0.01 0.43,-0.04 0.65,-0.08 v 0.43 c -0.21,0.04 -0.42,0.09 -0.63,0.1 z m 1,-0.16 c 0.18,-0.05 0.37,-0.11 0.56,-0.19 0.05,0.02 0.09,0.04 0.14,0.05 -0.04,0.13 -0.07,0.27 -0.09,0.42 -0.13,0.05 -0.26,0.09 -0.39,0.13 -0.07,0.02 -0.15,0.02 -0.22,0.04 z m -0.3,-0.37 c -0.24,0.06 -0.48,0.09 -0.72,0.1 l -0.01,-0.51 c 0.3,0.12 0.61,0.23 0.92,0.34 -0.06,0.02 -0.12,0.05 -0.19,0.07 z m -0.69,1.32 c 0.21,-0.01 0.42,-0.06 0.62,-0.1 l -0.01,0.79 c -0.02,0 -0.04,0.01 -0.06,0.02 -0.18,0.03 -0.36,0.03 -0.54,0.05 z m 0.6,2.45 c 0,0.42 0,0.84 -0.01,1.26 -0.18,0 -0.36,0 -0.54,0.01 0,-0.21 0,-0.41 0,-0.61 0,-0.17 -0.01,-0.35 -0.01,-0.52 0.2,-0.05 0.38,-0.09 0.56,-0.14 z m -0.61,2.36 c 0.04,-0.25 0.06,-0.51 0.06,-0.76 0.18,0 0.36,0 0.53,0 -0.01,0.24 -0.01,0.49 0,0.74 -0.02,0 -0.04,0.01 -0.05,0.01 -0.19,0.02 -0.37,0.02 -0.56,0.03 0.01,-0.02 0.02,-0.01 0.02,-0.02 z m 1.05,-0.77 c 0.14,0 0.29,0 0.43,0 0,0.2 0,0.41 0,0.61 -0.14,0.03 -0.28,0.04 -0.41,0.06 -0.01,-0.23 -0.02,-0.45 -0.02,-0.67 z m 1.93,-3.91 c -0.01,-0.06 0,-0.13 -0.01,-0.19 -0.02,-0.21 -0.04,-0.44 -0.07,-0.66 2.2,0.66 4.46,1.15 6.72,1.55 3.32,0.59 6.67,1.07 10.04,1.46 -0.52,0.57 -0.93,1.27 -1.21,1.9 -0.18,0.41 -0.32,0.83 -0.43,1.26 -0.02,0 -0.02,-0.02 -0.04,-0.03 -0.5,-0.11 -1.03,0.01 -1.53,0.11 -0.4,0.08 -0.8,0.17 -1.19,0.3 -0.57,0.19 -1.13,0.43 -1.66,0.71 0,-0.01 0,-0.02 0,-0.03 -0.06,-0.49 -0.09,-1.12 -0.33,-1.6 -0.02,-0.55 -0.21,-1.09 -0.57,-1.55 -0.61,-0.77 -1.5,-1.27 -2.41,-1.62 -1.18,-0.45 -2.41,-0.79 -3.64,-1.06 -1.22,-0.25 -2.45,-0.43 -3.67,-0.55 z m 42.74,4.02 c -0.2,0.03 -0.4,0.05 -0.6,0.08 -0.51,0.07 -1.01,0.14 -1.52,0.21 0,-0.02 -0.01,-0.04 -0.01,-0.06 -0.08,-0.34 -0.15,-0.68 -0.23,-1.02 0.74,-0.02 1.47,-0.05 2.21,-0.09 -0.05,0.03 -0.1,0.08 -0.07,0.16 0.08,0.25 0.15,0.48 0.22,0.72 z m -2.7,-0.78 0.23,1.11 c 0.05,0.23 0.1,0.47 0.15,0.7 0.05,0.22 0.07,0.52 0.22,0.69 0.07,0.08 0.21,0.03 0.23,-0.06 0.03,-0.12 0,-0.23 -0.02,-0.35 -0.02,-0.13 -0.05,-0.25 -0.07,-0.38 -0.02,-0.1 -0.04,-0.2 -0.07,-0.3 0.5,-0.06 1,-0.12 1.49,-0.18 0.22,-0.03 0.44,-0.05 0.66,-0.08 0.04,0.14 0.08,0.28 0.13,0.42 0.06,0.17 0.13,0.33 0.21,0.5 0.06,0.11 0.2,0.03 0.19,-0.08 -0.02,-0.17 -0.05,-0.34 -0.1,-0.5 -0.03,-0.13 -0.07,-0.25 -0.11,-0.37 0.22,-0.02 0.45,-0.04 0.64,-0.13 0.12,-0.06 0.09,-0.27 -0.04,-0.29 -0.23,-0.04 -0.48,0.01 -0.72,0.04 -0.08,-0.25 -0.15,-0.5 -0.23,-0.75 -0.01,-0.04 -0.04,-0.07 -0.07,-0.09 0.53,-0.02 1.06,-0.06 1.6,-0.09 0.35,0.44 0.7,0.87 1.05,1.31 0.2,0.25 0.41,0.51 0.61,0.76 0.1,0.12 0.2,0.25 0.29,0.37 0.09,0.11 0.18,0.22 0.3,0.29 -0.31,0.03 -0.62,0.06 -0.93,0.09 -0.78,0.09 -1.56,0.21 -2.34,0.3 -0.15,0.02 -0.16,0.25 0,0.24 0.79,-0.06 1.59,-0.08 2.38,-0.14 0.39,-0.03 0.78,-0.06 1.17,-0.1 0.35,-0.03 0.78,-0.03 1.11,-0.18 0.12,-0.06 0.08,-0.25 -0.04,-0.28 -0.35,-0.09 -0.77,0 -1.12,0.04 -0.01,0 -0.01,0 -0.02,0 0.02,-0.04 0.04,-0.09 0.04,-0.13 -0.02,-0.15 -0.16,-0.29 -0.25,-0.4 -0.1,-0.12 -0.2,-0.24 -0.3,-0.37 l -0.63,-0.78 c -0.28,-0.35 -0.57,-0.7 -0.85,-1.05 0.35,-0.02 0.7,-0.04 1.06,-0.06 0,0 0,0.01 0.01,0.01 0.49,0.18 0.92,0.47 1.32,0.81 -0.3,0.03 -0.59,0.08 -0.89,0.11 -0.21,0.02 -0.22,0.35 0,0.34 0.41,-0.03 0.82,-0.09 1.24,-0.13 0.06,0.06 0.14,0.11 0.2,0.18 0.25,0.28 0.46,0.6 0.63,0.94 0.18,0.35 0.29,0.71 0.44,1.07 0.04,0.09 0.19,0.09 0.18,-0.03 -0.01,-0.17 -0.04,-0.33 -0.09,-0.5 0.73,-0.05 1.45,-0.13 2.17,-0.22 0.09,0.17 0.2,0.32 0.28,0.49 0.09,0.19 0.16,0.38 0.23,0.57 -0.18,0.03 -0.36,0.06 -0.54,0.09 -0.19,0.03 -0.15,0.37 0.05,0.34 0.21,-0.02 0.42,-0.05 0.62,-0.07 0.06,0.2 0.11,0.41 0.22,0.57 0.06,0.08 0.24,0.1 0.25,-0.03 0.03,-0.2 -0.03,-0.39 -0.09,-0.58 0.17,-0.02 0.34,-0.04 0.51,-0.06 0.5,-0.06 1.03,-0.1 1.5,-0.27 0.15,-0.05 0.12,-0.26 -0.04,-0.27 -0.5,-0.04 -1.02,0.06 -1.52,0.13 -0.2,0.03 -0.39,0.06 -0.59,0.09 -0.07,-0.2 -0.15,-0.4 -0.23,-0.6 -0.07,-0.16 -0.18,-0.3 -0.26,-0.45 0.8,-0.11 1.6,-0.24 2.39,-0.38 0.12,0.18 0.26,0.33 0.37,0.52 0.15,0.26 0.27,0.52 0.4,0.8 0.13,0.29 0.22,0.6 0.37,0.89 0.07,0.14 0.25,0.03 0.23,-0.1 -0.09,-0.6 -0.43,-1.22 -0.74,-1.74 -0.09,-0.15 -0.21,-0.28 -0.31,-0.42 0.45,-0.08 0.89,-0.17 1.33,-0.26 0.18,0.3 0.38,0.59 0.53,0.9 0.02,0.05 0.04,0.1 0.06,0.15 -0.23,0.06 -0.46,0.11 -0.7,0.17 -0.29,0.07 -0.17,0.51 0.12,0.45 0.25,-0.06 0.5,-0.11 0.75,-0.17 0.15,0.4 0.28,0.81 0.42,1.21 0.01,0.04 0.04,0.06 0.06,0.08 -0.69,0.16 -1.39,0.3 -2.1,0.37 -0.27,0.03 -0.28,0.44 0,0.43 0.98,-0.06 1.94,-0.21 2.89,-0.48 0.48,-0.13 0.94,-0.3 1.4,-0.49 0.04,-0.02 0.08,-0.04 0.12,-0.05 0.01,0.37 0.02,0.73 0.02,1.1 -0.07,0.03 -0.14,0.06 -0.21,0.08 -0.21,0.08 -0.43,0.16 -0.64,0.24 -0.08,-0.14 -0.32,-0.13 -0.31,0.06 0,0.01 0,0.03 0,0.04 -0.43,0.16 -0.86,0.31 -1.3,0.46 -0.13,0.04 -0.07,0.25 0.06,0.2 0.42,-0.14 0.84,-0.27 1.26,-0.4 0.03,0.36 0.06,0.72 0.09,1.09 -0.16,0.05 -0.32,0.1 -0.49,0.14 -0.22,0.06 -0.44,0.1 -0.67,0.15 0,-0.03 0,-0.06 0,-0.09 -0.01,-0.24 -0.38,-0.24 -0.37,0 0,0.06 0,0.12 0,0.17 -0.39,0.09 -0.79,0.2 -1.18,0.27 -0.08,-0.04 -0.17,-0.03 -0.22,0.04 -1.52,0.26 -3.11,0.24 -4.64,0.16 -0.2,-0.01 -0.2,0.29 0,0.31 1.55,0.08 3.07,-0.07 4.61,-0.22 0.02,0.33 0.04,0.66 0.06,0.99 -0.43,0.13 -0.87,0.26 -1.3,0.39 -0.2,0.06 -0.12,0.38 0.09,0.32 0.41,-0.12 0.82,-0.24 1.23,-0.36 0.03,0.43 0.05,0.87 0.08,1.3 -0.45,0.08 -0.9,0.16 -1.35,0.26 -0.69,0.15 -1.37,0.31 -2.05,0.46 -0.17,0.04 -0.1,0.31 0.07,0.27 0.6,-0.13 1.2,-0.27 1.79,-0.4 0,0.01 -0.01,0.02 -0.01,0.03 -0.05,0.4 -0.04,0.81 0.04,1.21 0.04,0.2 0.09,0.39 0.15,0.57 0.07,0.19 0.14,0.4 0.32,0.51 0.08,0.05 0.18,-0.02 0.18,-0.11 0.01,-0.19 -0.1,-0.37 -0.16,-0.54 -0.06,-0.17 -0.11,-0.35 -0.15,-0.54 -0.07,-0.37 -0.08,-0.75 -0.04,-1.12 0,-0.04 -0.02,-0.07 -0.04,-0.1 0.42,-0.1 0.84,-0.21 1.26,-0.32 0.03,0.4 0.05,0.8 0.08,1.2 0.02,0.32 0.03,0.69 0.1,1.02 -0.07,0.03 -0.14,0.05 -0.21,0.08 -0.06,0.02 -0.08,0.07 -0.09,0.12 -0.05,0.02 -0.09,0.05 -0.14,0.07 -0.68,0.3 -1.35,0.56 -2.04,0.82 -1.28,0.48 -2.61,0.77 -3.96,1.01 -1.45,0.25 -2.92,0.48 -4.39,0.61 -0.29,0.03 -0.3,0.45 0,0.45 1.44,0.02 2.85,-0.03 4.28,-0.23 1.46,-0.21 2.9,-0.53 4.34,-0.82 1.38,-0.27 2.82,-0.61 4.17,-1.04 0.72,-0.23 1.44,-0.55 2.12,-0.87 0.27,-0.13 0.54,-0.26 0.78,-0.42 0.24,0.36 0.52,0.68 0.85,0.86 -0.03,0.12 -0.06,0.24 -0.1,0.36 -0.02,0.08 -0.05,0.16 -0.08,0.24 -0.01,0.04 -0.03,0.08 -0.04,0.12 -0.08,0.17 -0.16,0.33 -0.26,0.49 -0.04,0.07 -0.09,0.14 -0.14,0.21 -0.02,0.03 -0.13,0.22 -0.16,0.23 0.07,-0.09 0.09,-0.11 0.05,-0.06 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.03,0.04 -0.06,0.07 -0.09,0.11 -0.06,0.07 -0.12,0.14 -0.19,0.2 -0.23,0.23 -0.6,0.47 -0.78,0.77 -0.04,0.03 -0.08,0.07 -0.12,0.1 0,0 0,0.01 -0.01,0.01 -0.39,0.34 -0.78,0.66 -1.21,0.95 -1.2,0.81 -2.52,1.43 -3.9,1.9 -3.03,1.04 -6.24,1.49 -9.41,1.79 -7.38,0.7 -14.9,0.22 -22.11,-1.48 -1.87,-0.44 -3.93,-0.83 -5.64,-1.73 -1.13,-0.59 -2.05,-1.68 -2.14,-2.95 0.42,-0.33 0.73,-0.83 0.95,-1.37 0.54,0.43 1.1,0.83 1.7,1.17 0.35,0.2 0.7,0.4 1.07,0.55 0.38,0.16 0.78,0.36 1.19,0.43 0.15,0.02 0.25,-0.17 0.11,-0.25 -0.33,-0.2 -0.72,-0.31 -1.06,-0.49 -0.36,-0.19 -0.72,-0.36 -1.08,-0.56 -0.56,-0.32 -1.09,-0.68 -1.61,-1.07 0.83,0.38 1.73,0.67 2.56,0.95 1.32,0.44 2.68,0.85 4.05,1.09 1.31,0.22 2.68,0.23 4.01,0.34 1.27,0.1 2.78,0.38 4.02,0 0.22,-0.07 0.21,-0.37 0,-0.44 -1.19,-0.38 -2.57,-0.26 -3.81,-0.42 -0.86,-0.11 -1.68,-0.33 -2.5,-0.55 0,-0.02 0,-0.05 -0.01,-0.07 -0.03,-0.27 -0.06,-0.54 -0.09,-0.81 -0.05,-0.37 -0.1,-0.74 -0.15,-1.1 0.07,-0.01 0.15,0 0.21,-0.02 0.15,-0.04 0.14,-0.25 0,-0.29 -0.08,-0.03 -0.17,-0.03 -0.26,-0.04 -0.01,-0.05 -0.01,-0.11 -0.02,-0.16 -0.02,-0.11 -0.09,-0.21 -0.21,-0.21 -0.1,0 -0.22,0.1 -0.21,0.21 0,0.04 0.01,0.07 0.01,0.11 -0.11,-0.01 -0.23,-0.01 -0.33,-0.02 -0.36,-0.03 -0.73,-0.06 -1.09,-0.11 -0.06,-0.01 -0.12,-0.03 -0.19,-0.04 -0.03,-0.37 -0.02,-0.74 0.06,-1.1 0.05,-0.23 -0.3,-0.33 -0.35,-0.1 -0.09,0.37 -0.11,0.75 -0.1,1.12 -0.44,-0.07 -0.88,-0.14 -1.32,-0.25 0.01,-0.26 0.02,-0.53 0.03,-0.79 l 0.03,-0.8 c 0.24,0.03 0.48,0.06 0.72,0.11 0.45,0.08 0.97,0.27 1.43,0.15 0.09,-0.03 0.08,-0.15 0,-0.18 -0.43,-0.17 -0.95,-0.07 -1.41,-0.12 -0.25,-0.03 -0.49,-0.07 -0.74,-0.13 l 0.04,-1.26 c 0.01,-0.2 -0.31,-0.2 -0.32,0 l -0.06,1.16 c -0.14,-0.04 -0.27,-0.07 -0.41,-0.12 -0.21,-0.06 -0.41,-0.13 -0.62,-0.19 0.02,-0.42 0.04,-0.83 0.06,-1.25 0.01,-0.21 -0.31,-0.21 -0.32,0 -0.02,0.38 -0.04,0.77 -0.06,1.15 -0.39,-0.12 -0.78,-0.27 -1.16,-0.41 0,-0.03 0,-0.06 0,-0.09 0.02,-0.51 0.03,-1.02 0.05,-1.54 0.84,0.38 1.7,0.72 2.59,0.97 0.61,0.17 1.23,0.31 1.86,0.41 0.61,0.1 1.25,0.21 1.87,0.19 0.1,0 0.13,-0.17 0.02,-0.18 -0.61,-0.09 -1.22,-0.12 -1.83,-0.23 -0.61,-0.1 -1.21,-0.23 -1.81,-0.4 -0.93,-0.26 -1.82,-0.61 -2.7,-1.01 0.01,-0.32 0.02,-0.64 0.03,-0.96 0.28,0.09 0.57,0.17 0.86,0.21 0.12,0.02 0.23,-0.15 0.09,-0.22 -0.3,-0.15 -0.62,-0.26 -0.94,-0.36 0,-0.05 0,-0.09 0,-0.14 0,-0.14 -0.21,-0.14 -0.22,0 0,0.02 0,0.05 0,0.07 -0.14,-0.04 -0.28,-0.08 -0.42,-0.13 -0.22,-0.07 -0.45,-0.14 -0.67,-0.21 0,-0.83 0.06,-1.66 0.24,-2.47 0.2,0.13 0.4,0.26 0.61,0.38 -0.1,0.39 -0.17,0.78 -0.14,1.17 0.01,0.14 0.21,0.18 0.25,0.03 0.09,-0.33 0.17,-0.66 0.25,-1 0.37,0.19 0.75,0.34 1.14,0.46 -0.02,0.16 -0.05,0.33 -0.06,0.49 0,0.12 0.19,0.15 0.21,0.03 0.03,-0.15 0.07,-0.29 0.11,-0.44 0.08,0.02 0.15,0.05 0.23,0.07 0.47,0.12 0.96,0.18 1.44,0.23 0.03,0.02 0.05,0.01 0.08,0.01 0.04,0 0.08,0.01 0.12,0.01 0.54,0.05 1.21,0.15 1.74,0.02 0.12,-0.03 0.08,-0.19 -0.03,-0.2 -0.26,-0.03 -0.54,0.01 -0.81,0.01 -0.27,0 -0.54,-0.01 -0.8,-0.05 0.1,-0.16 0.18,-0.33 0.27,-0.48 0.11,-0.19 0.23,-0.38 0.34,-0.57 0.45,0.11 0.91,0.21 1.35,0.28 0.22,0.03 0.32,-0.3 0.09,-0.34 -0.41,-0.08 -0.81,-0.16 -1.22,-0.26 0.18,-0.27 0.38,-0.54 0.59,-0.79 0.22,0.04 0.42,0.11 0.64,0.14 0.66,0.09 1.3,0.15 1.95,-0.02 0.1,-0.02 0.1,-0.17 0,-0.2 -0.62,-0.14 -1.24,-0.16 -1.87,-0.25 -0.13,-0.02 -0.25,-0.06 -0.38,-0.08 0.24,-0.26 0.5,-0.51 0.76,-0.75 0.72,0.15 1.45,0.27 2.18,0.39 -0.08,0.15 -0.19,0.28 -0.26,0.43 -0.1,0.2 -0.19,0.39 -0.27,0.6 -0.08,0.2 -0.17,0.41 -0.16,0.62 0,0.18 0.21,0.21 0.31,0.08 0.12,-0.16 0.17,-0.36 0.24,-0.54 0.08,-0.19 0.15,-0.37 0.24,-0.56 0.09,-0.2 0.22,-0.38 0.33,-0.57 0.18,0.03 0.36,0.07 0.54,0.1 0.48,0.06 0.97,0.09 1.45,0.14 0,0 0,0.01 0,0.01 -0.05,0.21 -0.09,0.45 -0.12,0.68 -0.34,-0.03 -0.68,-0.06 -1.01,-0.09 -0.08,-0.01 -0.14,0.07 -0.14,0.14 0,0.08 0.07,0.13 0.14,0.14 0.34,0.04 0.68,0.07 1.02,0.11 0,0.06 -0.01,0.13 0,0.19 0.03,0.17 0.28,0.15 0.33,0 0.02,-0.05 0.02,-0.1 0.03,-0.16 0.22,0.02 0.43,0.03 0.64,0 0.1,-0.01 0.08,-0.15 0,-0.18 -0.16,-0.05 -0.33,-0.07 -0.49,-0.1 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 0.03,-0.21 0.06,-0.42 0.11,-0.62 0.01,-0.03 0.02,-0.06 0.03,-0.08 0.88,0.08 1.76,0.15 2.64,0.18 0,0.25 0.02,0.5 0.09,0.74 0.03,0.1 0.17,0.08 0.18,-0.02 0.02,-0.23 0.05,-0.47 0.08,-0.71 0.57,0.02 1.13,0.06 1.7,0.07 0.34,0.01 0.69,0.02 1.03,0.03 -0.02,0.26 -0.01,0.53 0.16,0.72 0.06,0.07 0.16,0.04 0.21,-0.03 0.12,-0.19 0.12,-0.45 0.12,-0.68 0.51,0.01 1.02,0 1.52,-0.04 -0.04,0.14 -0.08,0.29 -0.08,0.44 0,0.12 0.18,0.22 0.26,0.11 0.14,-0.18 0.23,-0.39 0.31,-0.61 0.07,-0.01 0.14,-0.01 0.21,-0.03 0.14,-0.02 0.09,-0.22 -0.03,-0.23 -0.03,0 -0.06,0 -0.09,0 0.06,-0.18 0.12,-0.35 0.19,-0.53 l 0.24,-0.67 c 0.98,0.04 1.9,0.02 2.82,0 z m 22.92,3.37 c 0.01,0.21 0.01,0.42 0.02,0.62 -0.22,0.21 -0.43,0.43 -0.64,0.64 -0.32,-0.13 -0.65,-0.27 -0.97,-0.4 0.04,-0.03 0.09,-0.04 0.12,-0.07 0.21,-0.2 0.37,-0.51 0.33,-0.81 -0.01,-0.08 -0.03,-0.16 -0.07,-0.23 z m -0.14,2.97 c -0.38,-0.15 -0.78,-0.27 -1.18,-0.38 0.32,-0.3 0.64,-0.61 0.95,-0.91 0.11,0.05 0.23,0.09 0.34,0.14 -0.02,0.07 -0.03,0.15 0.01,0.24 0.04,0.11 0.13,0.21 0.19,0.32 0.01,0.09 0.03,0.17 0.06,0.26 -0.03,0.03 -0.07,0.06 -0.1,0.09 -0.08,0.08 -0.18,0.16 -0.27,0.24 z m 6.36,4.22 c 0.24,0.27 0.46,0.57 0.62,0.9 0.17,0.35 0.29,0.73 0.34,1.11 0,0 0,0.01 0,0.01 -0.39,-0.02 -0.78,-0.03 -1.18,-0.04 -0.52,-0.01 -1.04,0 -1.55,0.01 -0.1,-0.38 -0.23,-0.76 -0.41,-1.11 -0.13,-0.26 -0.32,-0.48 -0.48,-0.72 0.39,-0.02 0.79,-0.04 1.18,-0.06 0.49,-0.02 1,-0.01 1.48,-0.1 z m -0.99,4.24 c -0.01,-0.15 -0.02,-0.3 -0.05,-0.44 -0.03,-0.13 -0.22,-0.07 -0.2,0.05 0.03,0.13 0.03,0.26 0.04,0.38 -0.32,-0.01 -0.64,-0.02 -0.96,-0.03 -1,-0.03 -1.99,-0.06 -2.99,-0.09 -0.03,-0.53 -0.14,-1.05 -0.39,-1.52 0.31,-0.02 0.62,-0.03 0.93,-0.05 0.01,0.18 0.03,0.35 0.08,0.51 0.04,0.12 0.2,0.11 0.24,0 0.05,-0.16 0.06,-0.34 0.04,-0.53 0.5,-0.02 0.99,-0.05 1.49,-0.06 0.24,0 0.47,0 0.71,0 0.04,0.34 0.04,0.68 0.09,1.01 0.02,0.15 0.23,0.12 0.27,0 0.11,-0.31 0.07,-0.67 0.02,-1.01 0.49,0 0.97,-0.01 1.46,0.01 0.4,0.01 0.81,0.03 1.21,0.05 0,0.03 0.01,0.06 0.01,0.08 0,0.2 -0.04,0.42 -0.01,0.62 0.02,0.13 0.19,0.22 0.28,0.1 0.03,0.34 0.02,0.68 -0.02,1.02 -0.09,-0.01 -0.18,-0.03 -0.28,-0.04 -0.34,-0.02 -0.68,-0.03 -1.02,-0.04 -0.32,0 -0.63,-0.01 -0.95,-0.02 z m -3.12,1.45 c -0.42,-0.01 -0.84,-0.03 -1.26,-0.04 0.15,-0.38 0.23,-0.79 0.26,-1.17 0.5,0.03 1,0.06 1.49,0.09 -0.17,0.37 -0.33,0.74 -0.49,1.12 z m -9.23,-4.34 c -0.03,-0.42 -0.07,-0.84 -0.1,-1.26 0.08,-0.02 0.17,-0.04 0.25,-0.06 0.22,-0.05 0.44,-0.08 0.66,-0.12 0.01,0.38 0.02,0.76 0.03,1.15 0.01,0.25 0,0.52 0.01,0.79 -0.25,0.13 -0.51,0.27 -0.76,0.4 0,0 -0.01,0 -0.01,0 0,-0.3 -0.06,-0.62 -0.08,-0.9 z m -0.35,-4.04 c 0.36,-0.04 0.71,-0.11 1.07,-0.17 0.01,0.26 0.01,0.52 0.02,0.78 -0.34,0.1 -0.68,0.2 -1.01,0.31 -0.02,-0.3 -0.05,-0.61 -0.08,-0.92 z m 2.83,-2.07 c 0.23,-0.07 0.45,-0.13 0.68,-0.2 0.04,-0.01 0.08,-0.02 0.12,-0.03 0,0.06 0,0.13 0,0.2 -0.01,0.3 -0.01,0.61 -0.02,0.91 -0.12,0.04 -0.25,0.09 -0.37,0.13 -0.1,0.03 -0.2,0.06 -0.29,0.09 -0.05,-0.38 -0.09,-0.74 -0.12,-1.1 z m 2.55,-1.39 c 0.07,0 0.14,0.01 0.21,-0.01 0.35,0.15 0.69,0.3 1.04,0.45 -0.32,0.33 -0.65,0.65 -0.98,0.98 -0.08,-0.02 -0.17,-0.02 -0.25,-0.04 0.01,-0.46 0,-0.92 -0.02,-1.38 z m 2.15,0.25 c 0.01,0.1 0.02,0.2 0.03,0.29 -0.08,-0.03 -0.15,-0.07 -0.23,-0.1 0.06,-0.07 0.13,-0.13 0.2,-0.19 z m 0.06,3.84 c -0.23,0.11 -0.46,0.22 -0.7,0.34 -0.15,0.07 -0.1,0.24 0.02,0.3 -0.46,-0.27 -0.95,-0.48 -1.46,-0.59 -0.02,-0.28 -0.05,-0.56 -0.06,-0.84 0.75,0.21 1.49,0.47 2.2,0.79 z m 0.1,1.64 c 0.12,0.13 0.22,0.27 0.34,0.41 -0.28,0.02 -0.56,0.04 -0.84,0.06 -0.21,0.01 -0.21,0.34 0,0.32 0.37,-0.02 0.73,-0.04 1.1,-0.06 0.05,0.07 0.08,0.15 0.13,0.22 -0.68,0.18 -1.36,0.38 -2.04,0.57 -0.08,-0.12 -0.16,-0.24 -0.23,-0.36 -0.34,-0.63 -0.53,-1.35 -0.63,-2.06 -0.02,-0.15 -0.02,-0.29 -0.04,-0.44 0.68,0.2 1.31,0.56 1.85,1.02 -0.25,0.08 -0.51,0.15 -0.76,0.23 -0.22,0.07 -0.13,0.41 0.1,0.35 0.34,-0.1 0.67,-0.19 1.01,-0.29 -0.01,0.02 0,0.02 0.01,0.03 z m 1.69,2.48 c -0.06,-0.35 -0.17,-0.68 -0.31,-1.01 -0.02,-0.05 -0.06,-0.1 -0.08,-0.15 0.6,-0.14 1.2,-0.29 1.79,-0.47 0.12,0.17 0.26,0.33 0.36,0.51 0.18,0.33 0.31,0.69 0.41,1.05 -0.23,0 -0.45,-0.01 -0.68,0 -0.5,0.02 -0.99,0.07 -1.49,0.1 0,0 0,-0.02 0,-0.03 z m -0.64,-1.61 c -0.03,-0.05 -0.05,-0.1 -0.08,-0.15 0.31,-0.02 0.61,-0.03 0.92,-0.05 -0.28,0.06 -0.56,0.13 -0.84,0.2 z m -7.2,-0.87 c -0.02,-0.47 -0.04,-0.93 -0.05,-1.4 0.4,-0.12 0.8,-0.23 1.19,-0.35 0.01,0 0.01,0 0.02,-0.01 0.01,0.15 0.02,0.3 0.04,0.45 0.02,0.3 0.02,0.66 0.12,0.96 -0.13,0.03 -0.26,0.07 -0.38,0.1 -0.31,0.09 -0.62,0.18 -0.94,0.27 0,0 0,-0.01 0,-0.02 z m 1.6,-1.34 c -0.02,-0.18 -0.04,-0.35 -0.06,-0.53 0.11,-0.03 0.22,-0.07 0.34,-0.1 0.06,-0.02 0.13,-0.04 0.19,-0.05 0.02,0.48 0.05,0.97 0.11,1.44 -0.09,0.02 -0.18,0.05 -0.26,0.07 -0.09,0.02 -0.18,0.05 -0.27,0.07 0.05,-0.29 -0.02,-0.62 -0.05,-0.9 z m 4.55,0.92 c -0.23,-0.21 -0.48,-0.4 -0.75,-0.56 0.04,0.01 0.09,0.02 0.14,-0.01 l 0.97,-0.46 c 0.36,0.18 0.69,0.39 1.02,0.61 -0.46,0.14 -0.92,0.28 -1.38,0.42 z m -4.28,-2.48 c 0.06,-0.02 0.13,-0.04 0.19,-0.05 0,0.18 0,0.36 0.01,0.54 -0.1,0.03 -0.19,0.06 -0.29,0.09 -0.09,0.03 -0.19,0.06 -0.28,0.08 -0.01,-0.06 -0.01,-0.11 -0.02,-0.17 -0.01,-0.13 -0.03,-0.26 -0.04,-0.39 0.15,-0.03 0.29,-0.06 0.43,-0.1 z m -0.76,0.53 c 0.01,0.08 0.01,0.16 0.02,0.24 -0.03,0.01 -0.06,0.02 -0.09,0.03 -0.37,0.11 -0.74,0.22 -1.11,0.33 -0.01,-0.24 -0.02,-0.48 -0.03,-0.72 0.25,-0.04 0.51,-0.06 0.76,-0.12 0.14,-0.03 0.28,-0.07 0.41,-0.1 0.02,0.11 0.03,0.23 0.04,0.34 z m -1.54,1.08 c 0.01,0.43 0.02,0.86 0.03,1.29 0,0.04 0,0.08 0,0.12 -0.23,0.06 -0.46,0.12 -0.69,0.17 -0.07,0.02 -0.15,0.03 -0.22,0.04 -0.04,-0.45 -0.08,-0.89 -0.11,-1.34 0.32,-0.08 0.65,-0.18 0.99,-0.28 z m 2.06,2.57 c -0.51,0.26 -1.02,0.51 -1.53,0.77 -0.01,-0.19 -0.03,-0.39 -0.04,-0.57 -0.02,-0.41 -0.03,-0.81 -0.05,-1.22 0.33,-0.06 0.66,-0.13 0.99,-0.18 0.32,-0.05 0.65,-0.11 0.97,-0.17 0.09,-0.02 0.2,-0.04 0.3,-0.05 0.05,0.27 0.1,0.55 0.17,0.82 0.02,0.06 0.04,0.13 0.06,0.19 -0.29,0.1 -0.59,0.26 -0.87,0.41 z m 3.87,1.46 c -0.09,-0.33 -0.27,-0.63 -0.48,-0.92 0.7,-0.13 1.39,-0.27 2.09,-0.42 0.04,0.08 0.09,0.15 0.12,0.23 0.12,0.28 0.2,0.58 0.26,0.87 0,0.01 0,0.03 0,0.04 -0.66,0.06 -1.32,0.12 -1.99,0.2 z m 1.39,-2.35 c -0.13,-0.18 -0.27,-0.35 -0.42,-0.51 0.49,-0.14 0.99,-0.28 1.48,-0.42 0.31,0.24 0.61,0.5 0.87,0.8 -0.64,0.04 -1.28,0.08 -1.93,0.13 z m 1.26,-1.42 c -0.07,0.02 -0.14,0.04 -0.21,0.06 -0.34,-0.24 -0.69,-0.48 -1.05,-0.66 l 0.79,-0.37 c 0.11,-0.05 0.21,-0.1 0.32,-0.15 0.21,0.16 0.44,0.28 0.64,0.45 0.14,0.12 0.27,0.26 0.41,0.4 -0.3,0.09 -0.6,0.18 -0.9,0.27 z m -0.63,-1.32 c -0.36,0.17 -0.72,0.35 -1.09,0.52 -0.51,-0.23 -1.03,-0.43 -1.57,-0.59 0.37,-0.32 0.73,-0.63 1.1,-0.95 0.35,0.15 0.69,0.32 1.01,0.51 0.23,0.13 0.43,0.31 0.65,0.46 -0.03,0.01 -0.06,0.03 -0.1,0.05 z m -3.01,-0.33 c -0.05,0.04 -0.06,0.09 -0.06,0.13 -0.2,-0.06 -0.4,-0.12 -0.6,-0.18 0,-0.27 0,-0.54 0,-0.81 0.05,0 0.1,-0.01 0.15,-0.06 0.11,-0.11 0.23,-0.22 0.35,-0.33 0.39,0.1 0.78,0.23 1.16,0.37 -0.34,0.3 -0.67,0.59 -1,0.88 z m -0.2,-4.43 c 0,0.04 0.01,0.07 0.02,0.11 0,0 0,0.02 0.01,0.03 0,0 0,0 0,0.01 0,0.01 0,0.02 0,0.03 0,0.03 0,0.06 0,0.09 0,0.02 0,0.04 0,0.05 0,0 0,0.01 0,0.01 -0.01,0.03 -0.02,0.07 -0.02,0.1 -0.01,0.03 -0.01,0.06 -0.02,0.09 -0.01,0.02 -0.01,0.03 -0.02,0.05 0,0 0,0 0,0.01 -0.02,0.03 -0.03,0.06 -0.05,0.09 -0.01,0.01 -0.02,0.03 -0.03,0.04 0,0.01 0,0.01 -0.01,0.01 -0.02,0.03 -0.05,0.06 -0.08,0.08 -0.01,0.01 -0.03,0.03 -0.04,0.04 0,0 0,0 0,0 -0.03,0.01 -0.06,0.04 -0.09,0.06 -0.01,0.01 -0.03,0.02 -0.05,0.02 0,0 0,0 -0.01,0 -0.03,0.01 -0.06,0.02 -0.09,0.02 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.01,-0.12 -0.01,-0.24 -0.02,-0.35 -0.03,-0.24 -0.07,-0.49 -0.11,-0.73 0.21,0.06 0.41,0.1 0.62,0.14 z m -7.4,-1.59 c -0.18,-0.24 -0.33,-0.49 -0.53,-0.71 -0.23,-0.26 -0.48,-0.5 -0.74,-0.72 0.47,-0.11 0.93,-0.22 1.39,-0.35 0.4,0.39 0.77,0.79 1.1,1.24 0.05,0.07 0.08,0.15 0.13,0.23 -0.45,0.11 -0.89,0.22 -1.34,0.31 0,0 -0.01,0 -0.01,0 z m -5.09,0.84 c -0.19,-0.53 -0.53,-1.04 -0.88,-1.44 -0.01,-0.01 -0.03,-0.02 -0.04,-0.04 0.65,-0.07 1.3,-0.15 1.95,-0.25 0.25,0.27 0.51,0.54 0.72,0.85 0.12,0.18 0.21,0.38 0.32,0.57 -0.68,0.1 -1.36,0.21 -2.03,0.3 -0.03,0 -0.03,0.01 -0.04,0.01 z m 2.03,-1.1 c -0.18,-0.25 -0.4,-0.47 -0.61,-0.7 0.56,-0.1 1.12,-0.18 1.67,-0.3 0.14,-0.03 0.28,-0.07 0.42,-0.1 0.29,0.25 0.58,0.52 0.83,0.81 0.16,0.19 0.28,0.41 0.43,0.61 -0.77,0.15 -1.55,0.29 -2.33,0.41 -0.13,-0.24 -0.25,-0.5 -0.41,-0.73 z m 4.53,-0.53 c -0.29,-0.39 -0.63,-0.74 -0.97,-1.09 0.09,-0.02 0.18,-0.04 0.27,-0.07 0.2,-0.06 0.41,-0.12 0.61,-0.18 0.36,0.49 0.72,0.98 1.08,1.46 0.02,0.03 0.04,0.05 0.06,0.08 -0.26,0.06 -0.52,0.12 -0.78,0.18 -0.1,-0.12 -0.18,-0.26 -0.27,-0.38 z m 1.09,0.7 c 0.09,-0.02 0.18,-0.04 0.26,-0.06 0.08,0.1 0.15,0.21 0.23,0.31 0.11,0.14 0.21,0.29 0.32,0.43 0.06,0.09 0.12,0.17 0.2,0.23 -0.09,0.02 -0.17,0.04 -0.26,0.06 -0.25,0.06 -0.5,0.12 -0.76,0.18 -0.16,-0.36 -0.34,-0.71 -0.55,-1.05 0.2,-0.03 0.38,-0.06 0.56,-0.1 z m 1.96,-0.26 c 0.14,0.28 0.24,0.58 0.33,0.89 -0.15,-0.01 -0.32,0.04 -0.47,0.08 -0.09,-0.36 -0.18,-0.73 -0.27,-1.09 0.1,-0.02 0.2,-0.05 0.3,-0.08 0.03,0.07 0.07,0.13 0.11,0.2 z m -0.45,1.05 c -0.06,0.01 -0.11,0.03 -0.17,0.04 -0.02,-0.15 -0.12,-0.25 -0.21,-0.37 -0.1,-0.13 -0.2,-0.27 -0.31,-0.4 -0.05,-0.07 -0.11,-0.14 -0.16,-0.21 0.19,-0.05 0.39,-0.09 0.58,-0.14 0,0 0,0 0,0 0.09,0.35 0.18,0.72 0.27,1.08 z m -0.66,0.65 c 0.26,-0.06 0.52,-0.12 0.78,-0.18 0.02,0.08 0.04,0.16 0.06,0.23 0.05,0.2 0.13,0.39 0.19,0.59 0.05,0.14 0.24,0.08 0.21,-0.06 -0.03,-0.2 -0.06,-0.41 -0.1,-0.61 -0.02,-0.07 -0.04,-0.15 -0.06,-0.22 0.08,-0.02 0.17,-0.04 0.25,-0.06 0.08,-0.02 0.15,-0.04 0.22,-0.07 0.09,0.4 0.15,0.82 0.18,1.23 -0.07,0.03 -0.15,0.06 -0.22,0.09 -0.45,0.16 -0.91,0.3 -1.37,0.43 -0.16,0.05 -0.33,0.08 -0.5,0.12 0.02,-0.03 0.03,-0.07 0.02,-0.11 -0.06,-0.41 -0.19,-0.82 -0.34,-1.22 0.23,-0.05 0.45,-0.11 0.68,-0.16 z m 0.37,-2.26 c -0.3,0.08 -0.59,0.15 -0.89,0.23 -0.05,-0.06 -0.1,-0.13 -0.14,-0.19 -0.34,-0.45 -0.69,-0.9 -1.03,-1.36 0.19,-0.06 0.38,-0.12 0.58,-0.18 0.72,0.26 1.36,0.79 1.82,1.41 -0.12,0.04 -0.23,0.06 -0.34,0.09 z m -2.8,-1.73 c 0.06,0.03 0.11,0.07 0.2,0.07 0.04,0 0.08,0 0.12,0 -0.22,0.07 -0.44,0.15 -0.66,0.22 -0.16,0.05 -0.32,0.08 -0.47,0.12 -0.1,-0.09 -0.22,-0.16 -0.33,-0.25 0.38,-0.05 0.76,-0.11 1.14,-0.16 z m -1.72,0.25 c 0.04,0 0.07,-0.01 0.11,-0.02 0.13,0.1 0.26,0.18 0.38,0.29 -0.47,0.13 -0.94,0.26 -1.42,0.37 -0.22,-0.17 -0.45,-0.33 -0.68,-0.48 0.54,-0.06 1.07,-0.1 1.61,-0.16 z m -1.99,0.2 c 0.26,0.16 0.52,0.33 0.76,0.52 -0.03,0.01 -0.05,0.01 -0.08,0.02 -0.63,0.14 -1.28,0.25 -1.91,0.36 -0.24,-0.25 -0.51,-0.47 -0.78,-0.69 0.67,-0.07 1.34,-0.14 2.01,-0.21 z m -2.49,0.25 c 0.3,0.23 0.6,0.45 0.87,0.72 -0.67,0.11 -1.35,0.2 -2.02,0.27 -0.36,-0.33 -0.76,-0.59 -1.19,-0.8 0.77,-0.06 1.55,-0.12 2.34,-0.19 z m -36.38,20.07 c -0.59,-0.4 -1.05,-0.96 -1.34,-1.61 0.18,-0.05 0.36,-0.09 0.53,-0.15 0.46,-0.15 0.95,-0.32 1.41,-0.52 0.27,0.53 0.63,1.01 1.04,1.43 -0.12,0.04 -0.25,0.06 -0.37,0.11 -0.46,0.19 -0.88,0.44 -1.27,0.74 z m -5.2,-0.96 c -0.27,-0.23 -0.56,-0.43 -0.79,-0.7 -0.24,-0.28 -0.44,-0.6 -0.59,-0.94 -0.12,-0.27 -0.19,-0.56 -0.24,-0.85 0.6,0 1.2,0 1.81,0 1,0 2,0.05 3,-0.04 -0.06,0.48 -0.03,0.97 0.09,1.44 -0.1,0.03 -0.21,0.05 -0.31,0.07 l -0.98,0.21 c -0.35,0.08 -0.71,0.15 -1.06,0.23 -0.12,-0.17 -0.24,-0.34 -0.35,-0.51 -0.06,-0.09 -0.22,0 -0.15,0.09 0.11,0.15 0.22,0.31 0.33,0.46 -0.23,0.05 -0.46,0.1 -0.69,0.15 -0.19,0.04 -0.11,0.33 0.08,0.29 0.27,-0.06 0.53,-0.11 0.8,-0.17 0.01,0.02 0.03,0.04 0.04,0.06 -0.35,0.07 -0.67,0.15 -0.99,0.21 z m 1.1,-0.3 c 0.32,-0.07 0.64,-0.13 0.96,-0.2 0.17,-0.04 0.35,-0.07 0.52,-0.11 -0.16,0.05 -0.32,0.1 -0.49,0.15 -0.31,0.08 -0.63,0.14 -0.95,0.21 -0.02,-0.02 -0.03,-0.04 -0.04,-0.05 z m 6.59,0.27 c 0.02,0 -0.08,-0.02 -0.09,-0.02 -0.09,0 -0.18,0.02 -0.27,0.04 -0.46,-0.42 -0.85,-0.93 -1.15,-1.49 0.12,-0.06 0.26,-0.11 0.37,-0.18 0.01,-0.01 0,-0.02 0.01,-0.03 0.03,0.07 0.07,0.14 0.1,0.21 0,0.01 -0.01,0.01 -0.01,0.02 0,0.05 0.02,0.11 0.06,0.15 0.01,0.01 0.03,0.01 0.04,0.02 0.09,0.16 0.2,0.32 0.31,0.47 0.25,0.33 0.54,0.61 0.85,0.86 -0.05,-0.03 -0.1,-0.04 -0.16,-0.05 -0.01,0 -0.08,0 -0.06,0 z m -2.01,-3.93 c 0.03,-0.04 0.05,-0.08 0.08,-0.12 0.2,-0.3 0.4,-0.6 0.6,-0.9 0.07,-0.11 -0.11,-0.21 -0.18,-0.1 -0.14,0.21 -0.28,0.42 -0.42,0.63 0.03,-0.2 -0.27,-0.28 -0.33,-0.07 -0.02,0.08 -0.03,0.16 -0.05,0.24 -0.58,-0.06 -1.16,-0.08 -1.74,-0.1 0.09,-0.14 0.18,-0.28 0.28,-0.41 0.22,-0.3 0.49,-0.56 0.74,-0.84 0.33,0.05 0.67,0.1 1,0.15 0.36,0.06 0.78,0.17 1.15,0.14 -0.23,0.46 -0.47,0.89 -0.53,1.44 0,0.01 0,0.01 0,0.02 -0.15,0.67 -0.07,1.36 0.2,2.02 -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.14,0.03 -0.27,0.08 -0.4,0.12 -0.33,-0.69 -0.49,-1.45 -0.39,-2.21 z m -6.56,-2.3 c -0.18,0.21 -0.35,0.43 -0.47,0.67 -0.04,0.08 0.05,0.15 0.12,0.09 0.24,-0.22 0.45,-0.47 0.65,-0.73 0.41,0.04 0.82,0.07 1.24,0.12 -0.28,0.35 -0.54,0.71 -0.79,1.08 -0.04,0.07 0.06,0.13 0.11,0.06 0.27,-0.4 0.57,-0.77 0.89,-1.12 0.38,0.04 0.76,0.06 1.13,0.11 0.13,0.02 0.26,0.04 0.39,0.05 -0.1,0.17 -0.22,0.33 -0.31,0.51 -0.15,0.29 -0.36,0.63 -0.39,0.96 -0.57,-0.03 -1.13,-0.06 -1.7,-0.09 -1.02,-0.04 -2.03,-0.09 -3.05,-0.13 0.03,-0.07 0.05,-0.14 0.08,-0.21 0.24,-0.53 0.55,-1.03 0.93,-1.48 0.38,0.03 0.77,0.07 1.17,0.11 z m 16,-11.15 c -0.35,-0.07 -0.71,-0.13 -1.06,-0.23 -0.25,-0.07 -0.48,-0.19 -0.72,-0.28 0.21,-0.25 0.43,-0.49 0.67,-0.7 0.63,0.16 1.25,0.32 1.88,0.46 -0.26,0.23 -0.53,0.46 -0.76,0.72 0.01,0.01 0,0.03 -0.01,0.03 z m -1.18,0.22 c 0.28,0.09 0.58,0.13 0.87,0.19 -0.2,0.25 -0.41,0.5 -0.59,0.77 -0.5,-0.16 -0.98,-0.36 -1.46,-0.57 -0.05,-0.02 -0.09,-0.05 -0.14,-0.07 0.11,-0.2 0.23,-0.4 0.36,-0.6 0.02,-0.03 0.05,-0.06 0.07,-0.09 0.3,0.13 0.59,0.28 0.89,0.37 z m -0.19,1.78 c -0.09,0.19 -0.2,0.41 -0.25,0.63 -0.46,-0.08 -0.91,-0.2 -1.36,-0.35 -0.07,-0.02 -0.12,-0.05 -0.19,-0.08 0.12,-0.42 0.28,-0.83 0.46,-1.23 0.05,0.02 0.09,0.05 0.13,0.07 0.47,0.19 0.96,0.35 1.46,0.48 -0.08,0.17 -0.17,0.32 -0.25,0.48 z m -2.66,-1.67 c 0.32,0.19 0.66,0.34 1,0.49 -0.19,0.41 -0.35,0.83 -0.44,1.26 -0.37,-0.14 -0.74,-0.27 -1.09,-0.44 0.03,-0.1 0.05,-0.19 0.08,-0.29 0.13,-0.34 0.28,-0.68 0.45,-1.02 z m 1.22,0.06 c -0.32,-0.15 -0.64,-0.29 -0.95,-0.46 -0.01,-0.01 -0.03,-0.02 -0.04,-0.02 0.04,-0.06 0.07,-0.13 0.11,-0.2 0.1,-0.16 0.21,-0.3 0.31,-0.45 0.32,0.17 0.66,0.32 0.99,0.47 -0.16,0.21 -0.29,0.44 -0.42,0.66 z m -1.25,-0.89 c -0.04,0.06 -0.07,0.13 -0.1,0.2 -0.21,-0.12 -0.41,-0.23 -0.62,-0.35 0.15,-0.24 0.34,-0.43 0.54,-0.62 0.17,0.11 0.34,0.21 0.5,0.31 -0.12,0.15 -0.23,0.31 -0.32,0.46 z m -0.92,0.21 c 0.19,0.15 0.39,0.28 0.6,0.41 -0.17,0.34 -0.32,0.69 -0.44,1.05 -0.03,0.09 -0.05,0.18 -0.08,0.27 -0.22,-0.11 -0.43,-0.24 -0.63,-0.37 0.13,-0.47 0.31,-0.92 0.55,-1.36 z m -0.54,5.78 c 0.22,0.11 0.44,0.2 0.67,0.3 -0.03,0.53 -0.06,1.06 -0.09,1.59 0,0.01 0,0.02 0,0.03 -0.15,-0.06 -0.3,-0.1 -0.44,-0.17 -0.19,-0.08 -0.35,0.2 -0.16,0.28 0.19,0.08 0.39,0.15 0.59,0.23 -0.02,0.39 -0.04,0.79 -0.06,1.18 0,0.07 -0.01,0.14 -0.01,0.21 -0.25,-0.11 -0.5,-0.21 -0.74,-0.33 0.05,-1.02 0.01,-2.05 -0.04,-3.08 -0.02,-0.49 -0.04,-0.98 -0.05,-1.46 0.18,0.06 0.37,0.12 0.55,0.17 0.17,0.05 0.35,0.11 0.52,0.17 -0.02,0.31 -0.03,0.62 -0.05,0.93 -0.19,-0.09 -0.38,-0.16 -0.57,-0.26 -0.13,-0.05 -0.25,0.14 -0.12,0.21 z m 5,5.43 c 0.03,0.26 0.09,0.52 0.17,0.77 0.07,0.22 0.17,0.58 0.4,0.67 0.08,0.03 0.18,-0.04 0.2,-0.11 0.04,-0.13 -0.04,-0.24 -0.08,-0.36 -0.04,-0.11 -0.08,-0.21 -0.11,-0.32 -0.06,-0.18 -0.1,-0.37 -0.14,-0.55 0.01,0 0.02,0 0.03,0 0.36,0.05 0.72,0.09 1.09,0.11 0.16,0.01 0.33,0.02 0.5,0.03 0.04,0.37 0.09,0.73 0.13,1.1 0.03,0.25 0.07,0.49 0.1,0.74 -0.33,-0.09 -0.67,-0.18 -1.01,-0.27 -1.25,-0.31 -2.5,-0.61 -3.73,-1 -1,-0.31 -1.98,-0.76 -2.99,-1.08 0.01,-0.03 0.01,-0.07 0.02,-0.1 0.08,-0.44 0.13,-0.87 0.16,-1.31 0.24,0.12 0.49,0.23 0.73,0.34 -0.02,0.34 -0.04,0.67 0,1 0.01,0.13 0.22,0.19 0.25,0.03 0.03,-0.17 0.04,-0.34 0.05,-0.51 0.03,0.02 0.06,0.04 0.09,0.05 0.02,0.01 0.05,0.01 0.08,0.01 0.01,0 0.02,0 0.03,0 0.02,0 0.03,0 0.05,-0.01 0,0 0.01,0 0.01,0 0,0 -0.01,0 -0.01,0.01 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.02,-0.03 0.04,-0.06 0.04,-0.1 0,-0.05 -0.06,-0.07 -0.1,-0.04 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.02,0.02 0,0 0,0 0,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 0,0 0,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 0,0 -0.01,0 -0.02,0 -0.02,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.03,-0.01 -0.05,-0.01 0,0 -0.01,0 -0.01,0 -0.01,0 -0.02,-0.01 -0.03,-0.01 0,0 -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 0,0 0,-0.01 -0.01,-0.01 0,-0.01 -0.01,-0.01 -0.01,-0.02 0,-0.06 0.01,-0.12 0.01,-0.19 0.37,0.15 0.74,0.29 1.12,0.42 -0.01,0.28 -0.02,0.56 -0.01,0.84 0.01,0.15 0.26,0.21 0.28,0.04 0.04,-0.25 0.05,-0.51 0.07,-0.77 0.34,0.11 0.66,0.24 1,0.32 -0.01,0.16 -0.01,0.33 -0.02,0.49 -0.01,0.18 -0.03,0.38 0.02,0.56 0.05,0.16 0.24,0.14 0.3,0 0.07,-0.17 0.06,-0.38 0.07,-0.56 0.01,-0.14 0.01,-0.27 0.02,-0.41 0.44,0.1 0.9,0.18 1.35,0.26 0,0 0,0 0,0 z m -11.05,-5.93 c 0.32,-0.24 0.65,-0.47 0.99,-0.68 0.22,0.18 0.43,0.36 0.65,0.54 -0.32,0.13 -0.64,0.27 -0.97,0.4 -0.18,0.07 -0.11,0.37 0.08,0.3 0.4,-0.15 0.8,-0.29 1.2,-0.44 0.15,0.12 0.3,0.25 0.45,0.37 -0.19,0.06 -0.38,0.1 -0.56,0.17 -0.34,0.14 -0.66,0.31 -0.98,0.48 -0.29,-0.23 -0.58,-0.45 -0.88,-0.68 0.02,-0.15 0.02,-0.3 0.02,-0.46 z m 2.04,-1.24 c 0.23,0.22 0.47,0.43 0.7,0.65 -0.08,0.03 -0.16,0.06 -0.25,0.1 -0.16,0.07 -0.32,0.13 -0.48,0.2 -0.23,-0.19 -0.47,-0.38 -0.7,-0.57 0.24,-0.14 0.48,-0.26 0.73,-0.38 z m 0.81,6.06 c -0.14,-0.09 -0.27,-0.17 -0.41,-0.25 -0.29,-0.17 -0.58,-0.35 -0.87,-0.52 0.43,-0.3 0.9,-0.56 1.38,-0.78 0.03,0.02 0.06,0.05 0.09,0.07 0.22,0.17 0.43,0.34 0.65,0.51 0.11,0.08 0.22,0.17 0.34,0.25 0,0.03 0,0.06 0,0.09 -0.41,0.18 -0.8,0.39 -1.18,0.63 z m -0.94,0.4 c -0.42,-0.14 -0.85,-0.27 -1.27,-0.41 0.03,-0.03 0.06,-0.06 0.09,-0.09 0.17,-0.16 0.36,-0.3 0.55,-0.44 0.33,0.2 0.66,0.4 0.98,0.6 0.09,0.05 0.17,0.1 0.26,0.15 -0.12,0.08 -0.23,0.19 -0.35,0.28 -0.08,-0.03 -0.17,-0.06 -0.26,-0.09 z m 0.36,-2.5 c 0.15,0.12 0.3,0.24 0.44,0.35 -0.5,0.22 -0.98,0.48 -1.43,0.8 -0.19,-0.11 -0.38,-0.23 -0.56,-0.34 0.48,-0.29 0.97,-0.56 1.48,-0.78 0.02,-0.02 0.05,-0.02 0.07,-0.03 z m 1.71,-3.38 c 0,0.24 0.01,0.48 0.02,0.71 -0.1,-0.09 -0.2,-0.17 -0.29,-0.26 -0.09,-0.08 -0.18,-0.16 -0.26,-0.23 0.04,-0.02 0.08,-0.03 0.12,-0.04 0.13,-0.06 0.27,-0.11 0.41,-0.18 z m 0.08,4.27 c -0.03,-0.02 -0.06,-0.05 -0.09,-0.07 -0.2,-0.16 -0.4,-0.31 -0.6,-0.47 0.23,-0.09 0.48,-0.16 0.72,-0.24 0,0.26 -0.02,0.52 -0.03,0.78 z m -0.62,-3.55 c 0.03,0.03 0.06,0.06 0.1,0.09 -0.02,0 -0.03,0.01 -0.05,0.01 -0.23,0.05 -0.45,0.14 -0.67,0.2 -0.16,-0.13 -0.32,-0.26 -0.48,-0.39 0.1,-0.04 0.19,-0.07 0.29,-0.11 0.14,-0.05 0.29,-0.11 0.43,-0.16 0.13,0.13 0.26,0.24 0.38,0.36 z m 0.12,0.51 c 0.13,-0.03 0.25,-0.04 0.38,-0.06 0.03,0.03 0.06,0.05 0.09,0.08 0.01,0.25 0.02,0.51 0.03,0.76 -0.26,-0.21 -0.53,-0.43 -0.79,-0.64 -0.02,-0.02 -0.04,-0.03 -0.06,-0.05 0.11,-0.02 0.23,-0.06 0.35,-0.09 z m 0.52,2.01 c -0.32,0.09 -0.64,0.19 -0.95,0.31 -0.14,-0.11 -0.29,-0.22 -0.44,-0.34 0.23,-0.09 0.45,-0.19 0.68,-0.27 0.23,-0.08 0.46,-0.15 0.7,-0.22 0.01,0.17 0.01,0.35 0.01,0.52 z m -0.06,-4.61 c -0.02,0.33 -0.03,0.66 -0.03,0.99 -0.21,0.05 -0.41,0.12 -0.6,0.2 -0.09,0.04 -0.19,0.08 -0.28,0.11 -0.25,-0.22 -0.5,-0.45 -0.75,-0.67 0.03,-0.02 0.06,-0.04 0.1,-0.05 0.46,-0.21 0.94,-0.39 1.43,-0.54 0.04,-0.02 0.08,-0.03 0.13,-0.04 z m -1.92,3.02 c 0.22,-0.08 0.45,-0.13 0.68,-0.19 0.09,0.07 0.17,0.14 0.26,0.21 0.29,0.24 0.59,0.49 0.88,0.73 -0.54,0.11 -1.07,0.34 -1.56,0.55 -0.09,-0.07 -0.19,-0.15 -0.28,-0.22 -0.29,-0.23 -0.59,-0.45 -0.88,-0.68 0.29,-0.14 0.58,-0.29 0.9,-0.4 z m -0.3,1.35 c 0.05,0.04 0.11,0.09 0.16,0.13 -0.54,0.25 -1.06,0.54 -1.57,0.86 -0.23,-0.14 -0.47,-0.28 -0.7,-0.42 0.25,-0.16 0.5,-0.33 0.76,-0.48 0.18,-0.1 0.02,-0.38 -0.16,-0.28 -0.19,0.11 -0.36,0.24 -0.54,0.35 0.04,-0.11 0.07,-0.22 0.08,-0.33 0.32,-0.22 0.64,-0.43 0.99,-0.6 0.32,0.25 0.65,0.51 0.98,0.77 z m -1.73,1.2 c -0.08,0.05 -0.17,0.1 -0.24,0.16 -0.26,0.19 -0.51,0.4 -0.76,0.6 -0.33,-0.11 -0.65,-0.21 -0.98,-0.32 0.29,-0.21 0.59,-0.42 0.89,-0.62 0.13,-0.09 0.26,-0.16 0.39,-0.25 0.23,0.14 0.47,0.29 0.7,0.43 z m 0,0.38 c 0.1,-0.07 0.21,-0.13 0.32,-0.19 0.2,0.12 0.4,0.24 0.6,0.37 -0.17,0.13 -0.34,0.24 -0.49,0.38 -0.08,0.07 -0.14,0.14 -0.21,0.21 -0.29,-0.1 -0.59,-0.19 -0.88,-0.29 0.21,-0.16 0.43,-0.33 0.66,-0.48 z m -0.12,1.1 c -0.31,0.33 -0.61,0.68 -0.87,1.05 -0.02,0.03 -0.03,0.05 -0.05,0.08 -0.16,-0.02 -0.31,-0.04 -0.47,-0.06 -0.32,-0.04 -0.63,-0.06 -0.95,-0.09 0.44,-0.46 0.89,-0.9 1.39,-1.3 0.32,0.11 0.63,0.21 0.95,0.32 z m 0.35,0.12 c 0.49,0.16 0.97,0.33 1.46,0.49 -0.17,0.14 -0.36,0.26 -0.53,0.42 -0.11,0.11 -0.22,0.23 -0.33,0.34 -0.5,-0.07 -1.01,-0.13 -1.51,-0.19 0.27,-0.38 0.58,-0.73 0.91,-1.06 z m 1.23,1.15 c 0.2,-0.19 0.43,-0.34 0.64,-0.51 0.38,0.14 0.78,0.29 1.17,0.32 0.18,0.01 0.22,-0.23 0.09,-0.32 -0.21,-0.14 -0.47,-0.2 -0.71,-0.29 -0.04,-0.01 -0.08,-0.03 -0.12,-0.04 0.09,-0.07 0.18,-0.15 0.27,-0.22 0.15,0.09 0.3,0.18 0.46,0.22 0.13,0.03 0.2,-0.12 0.12,-0.21 -0.07,-0.08 -0.16,-0.14 -0.25,-0.2 0.25,-0.16 0.52,-0.3 0.79,-0.43 -0.08,0.64 -0.23,1.27 -0.45,1.87 -0.05,0.13 -0.11,0.24 -0.16,0.36 -0.35,-0.16 -0.79,-0.19 -1.17,-0.25 -0.27,-0.04 -0.55,-0.08 -0.82,-0.12 0.04,-0.06 0.08,-0.13 0.14,-0.18 z m 7.84,-1.85 c -0.01,0.23 -0.03,0.47 -0.04,0.7 -0.34,-0.09 -0.67,-0.2 -1,-0.31 0.01,-0.3 0.02,-0.6 0.03,-0.89 0.01,-0.19 0.02,-0.38 0.03,-0.57 0.19,0.05 0.37,0.12 0.56,0.15 0.16,0.03 0.32,0.05 0.47,0.07 z m -1.34,-0.54 c -0.01,0.27 -0.03,0.55 -0.05,0.83 -0.38,-0.13 -0.75,-0.27 -1.12,-0.42 0,-0.1 0,-0.19 0.01,-0.29 0.01,-0.37 0.03,-0.75 0.04,-1.12 0.38,0.15 0.77,0.27 1.16,0.38 -0.02,0.2 -0.03,0.41 -0.04,0.62 z m -4.26,-6.32 c -0.5,0.18 -0.99,0.38 -1.46,0.61 -0.08,0.04 -0.16,0.09 -0.24,0.14 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.14,-0.13 -0.34,0.05 -0.25,0.19 -0.25,0.14 -0.51,0.27 -0.75,0.42 0,0 0,0 -0.01,0 -0.15,-0.12 -0.34,0.05 -0.27,0.18 -0.25,0.17 -0.5,0.35 -0.74,0.54 0.01,-0.25 0.03,-0.51 0.02,-0.76 0,-0.15 -0.02,-0.3 -0.03,-0.44 0.67,-0.19 1.33,-0.39 2.01,-0.53 0.39,-0.08 0.77,-0.17 1.16,-0.24 0.1,-0.02 0.2,-0.03 0.29,-0.05 0.05,-0.01 0.1,-0.01 0.15,-0.02 0,0 0,0 0,0 0.08,-0.01 0.16,-0.02 0.24,-0.03 -0.02,0 -0.05,0.01 -0.08,0.02 z m -3.8,3.31 c 0.18,0.14 0.36,0.28 0.54,0.43 -0.17,0.09 -0.32,0.2 -0.48,0.31 -0.01,-0.09 -0.04,-0.17 -0.1,-0.23 0.01,-0.17 0.03,-0.34 0.04,-0.51 z m -2.25,3.38 c 0.33,0.11 0.66,0.22 0.99,0.33 -0.48,0.43 -0.91,0.89 -1.33,1.38 -0.42,-0.04 -0.83,-0.09 -1.25,-0.12 0.07,-0.09 0.14,-0.18 0.22,-0.27 0.38,-0.42 0.78,-0.83 1.21,-1.2 0.05,-0.04 0.11,-0.08 0.16,-0.12 z m 1.1,2.84 c 0.11,-0.2 0.24,-0.39 0.36,-0.59 0.47,0.06 0.94,0.12 1.41,0.19 -0.36,0.4 -0.68,0.84 -0.95,1.31 -0.16,-0.01 -0.32,-0.01 -0.48,-0.02 -0.26,-0.01 -0.52,-0.03 -0.77,-0.04 0.18,-0.25 0.29,-0.58 0.43,-0.85 z m 27.11,-12.72 c -0.08,0.22 -0.16,0.44 -0.24,0.67 -0.53,-0.02 -1.06,-0.02 -1.6,0 0.03,-0.27 0.07,-0.53 0.14,-0.79 0.04,-0.13 0.1,-0.26 0.15,-0.39 0.58,0 1.16,-0.01 1.74,-0.01 -0.06,0.17 -0.13,0.34 -0.19,0.52 z m -2.12,-0.24 c -0.09,0.3 -0.15,0.61 -0.19,0.92 -0.2,0.01 -0.41,0.02 -0.61,0.02 -0.7,0 -1.41,-0.04 -2.11,-0.08 0.04,-0.22 0.09,-0.44 0.16,-0.65 0.07,-0.19 0.17,-0.36 0.27,-0.54 0.86,0.02 1.72,0.05 2.59,0.05 -0.03,0.09 -0.08,0.18 -0.11,0.28 z m -3.3,0.83 c -0.27,-0.02 -0.54,-0.04 -0.8,-0.05 -0.58,-0.04 -1.16,-0.12 -1.74,-0.18 0.06,-0.2 0.11,-0.4 0.2,-0.59 0.07,-0.15 0.16,-0.28 0.24,-0.42 0.18,0.01 0.36,0.02 0.54,0.03 0.64,0.03 1.29,0.02 1.94,0.04 -0.2,0.36 -0.32,0.76 -0.38,1.17 z m -2.73,-0.98 c -0.1,0.22 -0.17,0.46 -0.24,0.7 -0.64,-0.07 -1.27,-0.14 -1.9,-0.23 0.02,-0.03 0.04,-0.07 0.06,-0.11 0.18,-0.26 0.39,-0.5 0.6,-0.74 0.55,0.03 1.1,0.07 1.65,0.09 -0.05,0.1 -0.12,0.19 -0.17,0.29 z m -2.38,0.11 c -0.07,0.09 -0.12,0.2 -0.18,0.29 -0.69,-0.1 -1.38,-0.2 -2.06,-0.32 -0.01,0 -0.01,0 -0.02,0 0.26,-0.22 0.55,-0.41 0.83,-0.6 0.62,0.04 1.24,0.07 1.86,0.11 -0.14,0.17 -0.3,0.33 -0.43,0.52 z m -2.76,-0.12 c -0.65,-0.12 -1.3,-0.24 -1.95,-0.38 0.15,-0.13 0.31,-0.25 0.47,-0.36 0.74,0.06 1.47,0.14 2.21,0.19 -0.25,0.18 -0.5,0.35 -0.73,0.55 z m -2.35,-0.46 c -0.26,-0.06 -0.52,-0.1 -0.78,-0.17 -0.12,-0.03 -0.18,0.16 -0.05,0.19 0.21,0.06 0.43,0.1 0.64,0.16 -0.22,0.21 -0.43,0.43 -0.62,0.67 -0.35,-0.14 -0.7,-0.29 -1.03,-0.46 0.24,-0.3 0.51,-0.58 0.78,-0.84 0.49,0.05 0.98,0.09 1.46,0.13 -0.13,0.1 -0.27,0.21 -0.4,0.32 z m -2.23,0.18 c -0.15,-0.08 -0.31,-0.17 -0.46,-0.26 0.17,-0.15 0.34,-0.31 0.5,-0.47 0.18,0.02 0.36,0.03 0.53,0.05 -0.2,0.21 -0.39,0.44 -0.57,0.68 z m -18.46,17.97 c -0.41,0.29 -0.75,0.5 -1.25,0.6 -1.08,0.23 -2.27,0.17 -3.36,0.16 -1.1,-0.01 -2.28,0.02 -3.36,-0.21 -0.08,-0.02 -0.16,-0.04 -0.25,-0.06 0,-0.06 0,-0.12 0,-0.18 0,-0.2 0,-0.39 -0.01,-0.59 -0.01,-0.42 -0.03,-0.85 -0.05,-1.27 -0.03,-0.79 -0.07,-1.58 -0.11,-2.37 0.47,0.07 0.95,0.12 1.43,0.16 -0.01,0.02 -0.03,0.04 -0.03,0.07 0,0.07 -0.01,0.14 -0.02,0.21 -0.12,0 -0.17,0.18 -0.04,0.21 0.01,0 0.01,0 0.02,0 -0.03,0.43 -0.06,0.87 -0.09,1.3 -0.02,0.29 -0.04,0.58 -0.06,0.86 -0.01,0.13 -0.02,0.27 -0.03,0.4 -0.01,0.15 -0.04,0.31 0.01,0.45 0.06,0.21 0.32,0.18 0.39,0 0.06,-0.14 0.04,-0.31 0.05,-0.45 0.01,-0.13 0.01,-0.27 0.02,-0.4 0.01,-0.29 0.02,-0.58 0.04,-0.86 0.01,-0.15 0.01,-0.29 0.02,-0.44 0.01,0.07 0.02,0.14 0.05,0.19 0.07,0.14 0.26,0.09 0.31,-0.04 0,0 0,-0.01 0,-0.01 0.01,0.02 0.03,0.04 0.06,0.04 0.17,0.03 0.34,0.04 0.51,0.07 0.01,0.27 0.07,0.53 0.2,0.76 0.06,0.1 0.13,0.18 0.21,0.27 -0.36,0.01 -0.72,0.02 -1.09,0.02 -0.13,0 -0.13,0.21 0,0.21 0.45,0.01 0.9,0.02 1.34,0.03 0.09,0.07 0.19,0.11 0.29,0.08 0.04,-0.01 0.06,-0.04 0.08,-0.07 0.31,0.01 0.63,0.01 0.94,0.02 0.01,0.11 0,0.22 0.01,0.33 0.02,0.17 0.24,0.17 0.26,0 0.01,-0.1 0.01,-0.21 0.01,-0.32 0.14,0 0.28,0.01 0.41,0.01 0.39,0.01 0.78,0.01 1.17,0.02 0.01,0.25 0.03,0.49 0.08,0.73 0.03,0.13 0.26,0.15 0.28,0 0.04,-0.24 0.04,-0.48 0.03,-0.72 0.04,0 0.08,0 0.12,0 0.13,0 0.26,0.01 0.39,0.01 0.01,0.3 0.02,0.6 0.07,0.89 0.02,0.09 0.17,0.09 0.19,0 0.05,-0.29 0.06,-0.59 0.07,-0.88 0.3,0 0.59,-0.01 0.87,-0.08 0.13,-0.03 0.13,-0.23 0,-0.27 -0.27,-0.07 -0.55,-0.08 -0.84,-0.08 0,-0.3 0,-0.61 0,-0.91 0.01,0 0.03,0 0.04,0 0.33,-0.05 0.68,-0.11 1.02,-0.2 0.03,0.17 0.06,0.34 0.16,0.48 0.01,0.01 0.02,0.01 0.04,0.02 0,0.04 0,0.07 0,0.11 0,0.4 -0.02,0.82 0.03,1.22 -0.04,0.04 -0.07,0.08 -0.12,0.13 -0.16,0.16 -0.34,0.23 -0.51,0.35 z m -1.41,-1.17 c -0.04,0 -0.09,0 -0.13,0 0,-0.04 0,-0.07 0,-0.11 -0.01,-0.24 -0.02,-0.49 -0.03,-0.73 0.18,-0.02 0.36,-0.03 0.54,-0.05 0,0.3 -0.01,0.59 0,0.88 -0.14,0.01 -0.26,0.01 -0.38,0.01 z m -3.48,0.05 c -0.05,-0.03 -0.11,-0.07 -0.15,-0.1 -0.1,-0.09 -0.19,-0.19 -0.26,-0.3 -0.11,-0.18 -0.17,-0.38 -0.19,-0.58 0.56,0.08 1.12,0.14 1.69,0.16 -0.01,0.27 0,0.54 0,0.81 -0.36,0 -0.73,0 -1.09,0.01 z m -1.42,-1.78 c -0.01,-0.08 -0.01,-0.16 -0.02,-0.24 0.43,0.07 0.87,0.13 1.3,0.16 -0.01,0.23 -0.01,0.46 0.02,0.68 -0.18,-0.02 -0.36,-0.04 -0.54,-0.06 -0.04,-0.05 -0.12,-0.06 -0.17,-0.02 -0.16,-0.02 -0.32,-0.03 -0.49,-0.05 -0.05,-0.01 -0.08,0.01 -0.11,0.04 0.03,-0.18 0.02,-0.36 0.01,-0.51 z m 2.83,0.96 c 0.34,0.01 0.68,0.04 1.02,0.02 0.17,-0.01 0.34,-0.04 0.51,-0.05 0.01,0.23 0.01,0.46 0.02,0.7 0,0.04 0,0.07 0,0.11 -0.38,0 -0.77,0.01 -1.15,0.01 -0.13,0 -0.27,0 -0.4,0.01 0,-0.27 0.01,-0.53 0,-0.8 z m 2.82,-0.5 c 0,-0.33 0,-0.66 -0.01,-0.99 0.26,-0.07 0.54,-0.16 0.81,-0.25 0.03,0.16 0.06,0.32 0.09,0.48 0.04,0.19 0.07,0.38 0.11,0.57 -0.3,0.06 -0.59,0.14 -0.88,0.19 -0.04,-0.01 -0.08,-0.01 -0.12,0 z m 1.28,-0.58 c -0.02,-0.09 -0.04,-0.17 -0.06,-0.26 -0.04,-0.18 -0.08,-0.36 -0.11,-0.54 0.06,-0.03 0.11,-0.06 0.18,-0.09 0,0.31 0,0.6 -0.01,0.89 z m 0.03,-2 c 0.01,0.04 0.02,0.08 0.03,0.12 -0.02,0.22 -0.04,0.44 -0.04,0.66 -0.08,0.03 -0.17,0.05 -0.25,0.08 -0.04,-0.19 -0.08,-0.38 -0.12,-0.57 -0.04,-0.2 -0.33,-0.11 -0.3,0.08 0.04,0.2 0.07,0.39 0.11,0.59 -0.25,0.09 -0.49,0.18 -0.74,0.25 0,-0.25 0,-0.5 0,-0.74 0.25,-0.15 0.52,-0.28 0.8,-0.36 0.16,-0.05 0.34,-0.08 0.51,-0.11 z m -1.69,2.62 c -0.18,0.03 -0.37,0.04 -0.55,0.06 0,-0.07 -0.01,-0.14 -0.01,-0.21 l -0.03,-0.69 c 0.2,-0.04 0.4,-0.06 0.59,-0.11 0,0.31 0,0.63 0,0.95 z m -0.93,-0.15 c 0,0.08 0.01,0.17 0.01,0.25 -0.17,0.01 -0.33,0.05 -0.5,0.06 -0.34,0.02 -0.68,0 -1.03,0 0,-0.09 -0.01,-0.18 -0.01,-0.26 0,-0.16 0,-0.32 0,-0.48 0.24,-0.01 0.49,-0.02 0.73,-0.05 0.26,-0.03 0.52,-0.1 0.77,-0.15 0.01,0.22 0.02,0.42 0.03,0.63 z m -1.82,0.05 c 0,0.09 0,0.18 -0.01,0.26 -0.31,-0.01 -0.62,-0.02 -0.93,-0.04 0.06,-0.22 0.08,-0.46 0.1,-0.69 0.28,0.01 0.56,0.02 0.84,0.01 0,0.16 0,0.31 0,0.46 z m -0.82,-0.76 c 0.01,-0.13 0.01,-0.26 0.02,-0.39 0.27,0 0.54,0 0.81,-0.02 0,0.13 0,0.26 0,0.4 -0.28,0.01 -0.55,0.01 -0.83,0.01 z m -0.41,-0.01 c -0.45,-0.02 -0.89,-0.06 -1.33,-0.13 0,-0.06 -0.01,-0.12 -0.01,-0.18 0,-0.05 -0.01,-0.09 -0.01,-0.14 0.46,0.03 0.92,0.05 1.38,0.05 -0.01,0.14 -0.02,0.27 -0.03,0.4 z m 4.33,-1.67 c -0.01,-0.03 -0.01,-0.05 -0.03,-0.07 0.06,-0.01 0.13,-0.01 0.19,-0.01 -0.06,0.03 -0.11,0.05 -0.16,0.08 z m -0.34,0.05 c 0,0.07 0,0.14 0,0.2 -0.12,0.09 -0.24,0.17 -0.34,0.27 -0.14,0.14 0.07,0.34 0.21,0.21 0.04,-0.04 0.09,-0.06 0.13,-0.09 0,0.19 0,0.38 0,0.57 -0.2,0.05 -0.41,0.08 -0.61,0.12 l -0.06,-1.36 c 0.24,-0.01 0.48,-0.02 0.72,-0.04 -0.03,0.04 -0.05,0.07 -0.05,0.12 z m -1.02,-0.05 c 0.01,0.47 0.03,0.94 0.04,1.41 -0.27,0.05 -0.54,0.13 -0.82,0.17 -0.23,0.03 -0.45,0.04 -0.68,0.06 0,-0.14 0,-0.27 0,-0.41 0.23,-0.02 0.46,-0.04 0.69,-0.1 0.11,-0.03 0.07,-0.17 -0.03,-0.18 -0.22,-0.02 -0.44,-0.03 -0.66,-0.03 0,-0.16 0,-0.31 0,-0.47 0,-0.17 -0.26,-0.17 -0.26,0 0,0.15 0,0.3 0,0.46 -0.26,0 -0.53,0 -0.79,0 0,-0.01 0,-0.02 0,-0.03 0.01,-0.29 0.03,-0.58 0.04,-0.88 0.82,0.03 1.65,0.03 2.47,0 z m -2.92,0.88 c 0,0 0,0.01 0,0.01 -0.48,-0.01 -0.95,-0.03 -1.43,-0.07 -0.02,-0.26 -0.04,-0.52 -0.06,-0.78 0,-0.06 -0.03,-0.11 -0.07,-0.15 0.54,0.04 1.08,0.06 1.62,0.08 -0.03,0.32 -0.05,0.61 -0.06,0.91 z m -3.8,0.06 c 0,0.15 0.01,0.3 0.01,0.45 -0.01,-0.04 -0.03,-0.09 -0.05,-0.13 -0.03,-0.12 -0.05,-0.23 -0.08,-0.35 0.04,0.01 0.08,0.02 0.12,0.03 z m 75.2,-5.23 c -0.08,0.02 -0.15,0.05 -0.23,0.07 -0.19,-0.18 -0.38,-0.37 -0.57,-0.53 -0.16,-0.14 -0.33,-0.26 -0.5,-0.38 0.02,-0.01 0.03,-0.02 0.05,-0.02 0.04,0.02 0.08,0.05 0.11,0.07 0.46,0.26 0.96,0.48 1.46,0.69 -0.1,0.03 -0.21,0.07 -0.32,0.1 z m -2.57,-1.7 c -0.28,-0.16 -0.57,-0.29 -0.86,-0.42 0.04,-0.03 0.07,-0.06 0.11,-0.09 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.04,0.05 0.08,0.11 0.14,0.15 0.13,0.1 0.28,0.15 0.42,0.18 0.24,0.2 0.49,0.39 0.75,0.56 -0.2,-0.12 -0.38,-0.25 -0.58,-0.36 z m -0.13,-9.49 c -0.38,0.46 -0.59,0.99 -0.61,1.55 -0.25,0.48 -0.28,1.11 -0.35,1.6 -0.05,0.36 -0.05,0.73 -0.07,1.1 -0.1,-0.01 -0.19,-0.02 -0.29,-0.03 -0.01,0 -0.01,-0.02 -0.02,-0.02 -0.02,0 -0.04,0.01 -0.06,0.01 -0.29,-0.03 -0.58,-0.07 -0.87,-0.1 -0.46,-0.05 -0.91,-0.11 -1.37,-0.13 -0.28,-0.85 -0.69,-1.65 -1.33,-2.28 -0.31,-0.3 -0.66,-0.56 -1.03,-0.78 2.09,-0.33 4.17,-0.7 6.25,-1.14 -0.09,0.07 -0.18,0.14 -0.25,0.22 z m 13.95,-4.09 c 0.02,0.01 0.04,0.03 0.06,0.03 0.37,0.04 0.75,0.07 1.12,0.11 0.11,0.01 0.22,0.02 0.34,0.03 v 0.51 c 0,0.05 0,0.1 0,0.15 -0.08,0.01 -0.15,0.03 -0.23,0.03 -0.21,0.02 -0.43,-0.01 -0.64,-0.03 -0.03,-0.14 -0.22,-0.16 -0.28,-0.04 -0.31,-0.07 -0.61,-0.19 -0.88,-0.35 0,-0.08 -0.01,-0.16 -0.01,-0.25 0.17,-0.05 0.35,-0.12 0.52,-0.19 z m 0.44,2.7 c 0.01,0.19 0.02,0.37 0.03,0.56 -0.12,-0.01 -0.24,-0.01 -0.35,-0.03 -0.18,-0.03 -0.35,-0.08 -0.53,-0.14 -0.01,-0.31 -0.02,-0.62 -0.04,-0.92 0,-0.02 0,-0.04 0,-0.06 0.27,0.12 0.54,0.22 0.83,0.3 0.01,0 0.03,0.01 0.05,0.01 0,0.09 0,0.18 0.01,0.28 z m -1.16,0.89 c 0.01,0.35 0.01,0.71 0.05,1.06 -0.07,-0.03 -0.14,-0.06 -0.21,-0.1 -0.11,-0.07 -0.2,0.02 -0.2,0.12 -0.07,-0.03 -0.14,-0.06 -0.21,-0.1 -0.04,-0.02 -0.07,0 -0.1,0.03 0.03,-0.53 0.01,-1.05 -0.02,-1.57 0.19,0.11 0.39,0.23 0.6,0.31 0.03,0.01 0.05,0.01 0.08,0.02 0.01,0.08 0.01,0.15 0.01,0.23 z m 1.08,-2.42 c 0.02,0.31 0.03,0.62 0.05,0.93 -0.3,-0.08 -0.59,-0.18 -0.87,-0.31 -0.01,-0.31 -0.02,-0.62 -0.04,-0.92 0.27,0.14 0.56,0.24 0.86,0.3 z m -1.52,-0.74 c 0.11,0.09 0.23,0.16 0.34,0.23 0.01,0.32 0.02,0.64 0.03,0.97 -0.16,-0.08 -0.33,-0.16 -0.49,-0.26 -0.15,-0.09 -0.28,0.14 -0.14,0.23 0.2,0.13 0.42,0.24 0.64,0.35 0,0.09 0.01,0.18 0.01,0.27 0.01,0.26 0.02,0.51 0.03,0.77 -0.24,-0.09 -0.47,-0.21 -0.69,-0.35 -0.02,-0.26 -0.04,-0.52 -0.06,-0.78 -0.03,-0.43 -0.07,-0.86 -0.1,-1.28 0.15,-0.05 0.29,-0.1 0.43,-0.15 z m -0.78,0.27 c 0.01,0 0.02,-0.01 0.03,-0.01 0.03,0.41 0.05,0.82 0.08,1.23 0.01,0.14 0.02,0.28 0.03,0.43 -0.07,-0.06 -0.15,-0.11 -0.22,-0.17 -0.01,-0.46 -0.02,-0.93 -0.06,-1.39 0,-0.01 0,-0.02 0,-0.03 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.04,-0.02 0.08,-0.03 0.12,-0.04 z m 5.72,-2.32 c 0.01,0.79 0.04,1.58 0.06,2.37 0.02,0.79 0.05,1.58 0.09,2.37 0.03,0.76 -0.01,1.58 0.12,2.34 -0.22,0.13 -0.44,0.24 -0.66,0.33 -0.73,0.3 -1.54,0.45 -2.33,0.45 -0.85,0 -1.7,-0.15 -2.48,-0.45 -0.19,-0.07 -0.37,-0.16 -0.55,-0.26 -0.01,-0.98 -0.02,-1.97 -0.02,-2.95 0.08,0.07 0.15,0.13 0.24,0.19 0.04,0.64 0.1,1.27 0.23,1.9 0.02,0.08 0.11,0.06 0.14,0 0,0.03 -0.01,0.05 0.02,0.07 0.43,0.26 0.9,0.45 1.39,0.56 0.24,0.05 0.48,0.09 0.73,0.1 0.25,0.02 0.52,0.03 0.76,-0.04 0.14,-0.04 0.1,-0.23 -0.03,-0.24 -0.1,-0.01 -0.2,-0.01 -0.3,0 0.07,-0.07 0.03,-0.2 -0.06,-0.22 -0.17,-0.03 -0.35,0.01 -0.52,0.02 -0.16,0.01 -0.33,0 -0.49,-0.02 -0.16,-0.02 -0.31,-0.06 -0.46,-0.12 0.04,-0.43 -0.01,-0.88 -0.02,-1.3 0,-0.01 0,-0.02 0,-0.03 0.14,0.04 0.27,0.09 0.42,0.12 0.15,0.03 0.31,0.05 0.47,0.06 0.01,0.12 0.01,0.25 0.03,0.37 0.02,0.16 0.02,0.33 0.07,0.48 0.03,0.09 0.18,0.11 0.21,0 0.07,-0.27 0.03,-0.6 0.01,-0.87 0,0 0,0 0,0 0.03,-0.01 0.07,0 0.1,-0.01 0.14,-0.04 0.15,-0.27 0,-0.3 -0.04,-0.01 -0.08,-0.01 -0.12,-0.01 -0.01,-0.2 -0.02,-0.4 -0.03,-0.59 0,-0.07 -0.01,-0.14 -0.01,-0.2 0.51,0.12 1.05,0.19 1.55,0.09 0.15,-0.03 0.1,-0.23 -0.03,-0.25 -0.31,-0.03 -0.62,-0.03 -0.93,-0.06 -0.2,-0.02 -0.4,-0.07 -0.6,-0.11 -0.02,-0.32 -0.03,-0.64 -0.05,-0.97 0.2,0.02 0.39,0.06 0.59,0.04 0.08,0 0.17,-0.02 0.25,-0.03 0,0.16 0.01,0.33 0.03,0.49 0.02,0.11 0.21,0.11 0.23,0 0.03,-0.18 0.03,-0.36 0.03,-0.55 0.12,-0.03 0.24,-0.07 0.33,-0.13 0.1,-0.07 0.07,-0.26 -0.07,-0.25 -0.09,0.01 -0.18,0.02 -0.27,0.04 0,-0.04 0,-0.08 0,-0.12 0,-0.16 0,-0.32 0,-0.48 0.16,0.02 0.35,0.05 0.5,0 0.11,-0.04 0.15,-0.2 0.03,-0.26 -0.15,-0.09 -0.36,-0.08 -0.53,-0.1 0,-0.06 0,-0.12 0,-0.18 0,-0.18 -0.28,-0.18 -0.28,0 v 0.15 c -0.11,-0.01 -0.21,-0.02 -0.32,-0.03 -0.19,-0.02 -0.38,-0.03 -0.56,-0.05 1.08,-0.44 2.14,-0.94 3.13,-1.53 -0.04,0.06 -0.04,0.12 -0.04,0.17 z m 0.64,-2.86 c 0,-0.16 -0.03,-0.31 -0.03,-0.47 -0.01,-0.22 0,-0.44 0.03,-0.65 0.06,-0.43 0.19,-0.84 0.38,-1.22 0.1,-0.2 -0.19,-0.37 -0.3,-0.17 -0.22,0.42 -0.37,0.88 -0.45,1.35 -0.04,0.23 -0.06,0.47 -0.06,0.7 0,0.23 0,0.49 0.11,0.7 -0.28,0.21 -0.56,0.4 -0.85,0.59 0.02,-0.17 0.02,-0.35 0.02,-0.52 0,-0.24 0,-0.47 -0.01,-0.71 0,-0.47 -0.01,-0.95 -0.01,-1.42 0,-0.03 -0.02,-0.05 -0.03,-0.07 0.73,-0.37 1.42,-0.78 2.06,-1.24 0.03,0.37 0.06,0.73 0.09,1.1 0.01,0.19 0.03,0.39 0.04,0.58 0.01,0.1 0.02,0.2 0.04,0.3 0.01,0.08 0.03,0.14 0.07,0.2 -0.36,0.33 -0.72,0.65 -1.1,0.95 z m 1.41,-1.31 c 0,-0.07 -0.01,-0.13 -0.01,-0.2 -0.02,-0.19 -0.04,-0.37 -0.06,-0.56 -0.04,-0.39 -0.08,-0.77 -0.12,-1.16 -0.01,-0.05 -0.03,-0.1 -0.07,-0.13 0.47,-0.37 0.9,-0.77 1.29,-1.2 -0.01,0.33 -0.02,0.66 -0.03,0.98 -0.01,0.35 -0.01,0.69 -0.01,1.04 -0.17,0.27 -0.35,0.53 -0.56,0.78 -0.14,0.16 -0.29,0.3 -0.43,0.45 z m 0.8,-8.92 c -0.01,0.03 -0.02,0.05 -0.03,0.08 -0.01,-0.08 -0.01,-0.17 -0.03,-0.25 0.01,-0.19 0.02,-0.37 0.02,-0.56 0.04,0.25 0.05,0.49 0.04,0.73 z m -5.27,2.24 c -1.11,0.12 -2.29,0.21 -3.38,-0.06 -0.42,-0.1 -0.83,-0.21 -1.22,-0.38 -0.01,-0.36 -0.12,-0.73 -0.16,-1.08 -0.03,-0.23 -0.04,-0.46 -0.06,-0.69 0.29,0.06 0.57,0.1 0.79,0.14 1.21,0.17 2.47,0.23 3.69,0.19 1.45,-0.05 3,-0.45 4.06,-1.38 0,0.15 0,0.3 0,0.44 -0.01,0.46 -0.04,0.91 -0.07,1.36 -0.22,0.33 -0.5,0.61 -0.85,0.8 -0.84,0.46 -1.88,0.56 -2.8,0.66 z m -1.98,-10.66 c -0.17,-0.04 -0.33,-0.1 -0.49,-0.16 -0.02,-0.15 -0.09,-0.26 -0.23,-0.33 0,-0.01 0,-0.02 0,-0.03 0.3,0.03 0.6,0.06 0.91,0.1 0.36,0.04 0.73,0.1 1.1,0.07 0.2,-0.01 0.26,-0.31 0.05,-0.36 -0.37,-0.09 -0.75,-0.1 -1.12,-0.13 -0.31,-0.02 -0.62,-0.05 -0.94,-0.07 -0.03,-0.58 -0.08,-1.15 -0.11,-1.72 -0.01,-0.21 -0.04,-0.42 -0.06,-0.63 0.1,0.04 0.2,0.09 0.29,0.13 0.62,0.25 1.3,0.36 1.96,0.36 0.66,0 1.34,-0.11 1.96,-0.35 0.33,-0.13 0.68,-0.28 0.99,-0.48 -0.01,0.38 -0.02,0.76 -0.01,1.15 0,0.01 0,0.01 0,0.02 -0.01,-0.02 -0.02,-0.04 -0.04,-0.05 -0.1,-0.05 -0.24,-0.05 -0.31,0.04 -0.02,0.02 -0.04,0.04 -0.06,0.06 0.01,-0.01 -0.06,0.07 -0.08,0.1 0.01,-0.01 0.02,-0.02 0,0.01 0,0 0,0 0,0 0,0 0,0.01 0,0.01 0,0 0,0 0,0 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.02,0.02 -0.04,0.05 -0.06,0.07 -0.04,0.04 -0.08,0.08 -0.13,0.12 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.03,0.02 -0.05,0.03 -0.08,0.05 -0.03,0.02 -0.05,0.03 -0.08,0.04 -0.01,0.01 -0.02,0.01 -0.03,0.02 0,0 -0.01,0 -0.01,0 0,0 0,0 0.01,0 -0.05,0.01 -0.11,0.04 -0.16,0.05 -0.03,0.01 -0.06,0.01 -0.09,0.02 -0.02,0 -0.02,0 -0.02,0 -0.01,0 -0.01,0 -0.02,0 -0.06,0.01 -0.13,0.01 -0.19,0 -0.14,-0.01 -0.28,0.13 -0.27,0.27 0.01,0.16 0.12,0.26 0.27,0.27 0.3,0.03 0.61,-0.05 0.87,-0.19 0.22,-0.12 0.43,-0.33 0.54,-0.57 0,0.32 0.01,0.64 0.01,0.96 0,0.1 0,0.21 0,0.32 -0.15,0.08 -0.24,0.2 -0.27,0.36 -0.28,0.13 -0.57,0.27 -0.85,0.35 -0.51,0.15 -1.03,0.24 -1.56,0.25 -0.57,0 -1.1,-0.05 -1.64,-0.18 z m -0.16,-5.07 c 0.57,-0.2 1.07,-0.29 1.66,-0.28 0.56,0.01 1.11,0.11 1.66,0.3 0.19,0.07 0.37,0.17 0.54,0.26 -0.25,0.14 -0.51,0.28 -0.78,0.37 -0.51,0.17 -0.98,0.24 -1.52,0.23 -0.52,-0.01 -1.02,-0.11 -1.54,-0.32 -0.18,-0.07 -0.36,-0.19 -0.55,-0.3 0.18,-0.1 0.36,-0.2 0.53,-0.26 z m -1.53,6.06 c 0.16,0.11 0.35,0.2 0.54,0.28 -0.11,0.07 -0.22,0.14 -0.31,0.23 -0.08,0.07 -0.07,0.2 0,0.27 0.08,0.08 0.2,0.07 0.27,0 0.19,-0.17 0.41,-0.27 0.66,-0.32 0.08,0.02 0.16,0.04 0.23,0.06 0.64,0.14 1.32,0.21 1.98,0.16 0.65,-0.05 1.29,-0.17 1.91,-0.39 l -0.04,0.03 c -0.1,0.08 -0.09,0.25 0,0.33 0.1,0.09 0.23,0.08 0.33,0 0.2,-0.17 0.41,-0.33 0.61,-0.5 0.05,-0.04 0.1,-0.08 0.15,-0.12 0.05,-0.04 0.09,-0.09 0.13,-0.14 0.01,-0.01 0.02,-0.03 0.04,-0.05 0.01,0.02 0.03,0.03 0.04,0.05 0.18,0.31 0.28,0.66 0.36,1.01 0.22,0.92 0.32,1.87 0.4,2.81 0.03,0.35 0.04,0.71 0.06,1.06 -0.1,0.14 -0.21,0.25 -0.33,0.36 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.08,0 -0.15,0.05 -0.21,0.08 l -0.31,0.16 c -0.14,0.07 -0.27,0.14 -0.41,0.21 -0.1,-0.22 -0.21,-0.43 -0.31,-0.65 -0.05,-0.11 -0.21,-0.14 -0.3,-0.08 -0.11,0.07 -0.13,0.19 -0.08,0.3 0.13,0.26 0.25,0.52 0.38,0.78 -0.94,0.36 -2.03,0.44 -2.94,0.41 -1,-0.04 -2.04,-0.09 -3.03,-0.27 -0.34,-0.06 -0.68,-0.15 -1.02,-0.26 0,-0.38 0.01,-0.75 0.04,-1.13 0.42,0.35 0.89,0.65 1.41,0.8 0.33,0.09 0.68,0.15 1.02,0.15 0.33,0 0.76,-0.03 1.05,-0.2 0.15,-0.09 0.08,-0.32 -0.09,-0.33 -0.15,-0.01 -0.3,0.03 -0.45,0.04 -0.16,0.02 -0.32,0.02 -0.48,0.01 -0.31,-0.01 -0.62,-0.05 -0.92,-0.13 -0.57,-0.16 -1.08,-0.46 -1.5,-0.88 0.01,-0.08 0.01,-0.16 0.02,-0.24 0,-0.03 0.01,-0.06 0.01,-0.09 h 1.12 c 0.47,0 0.93,0.02 1.4,-0.03 0.2,-0.02 0.2,-0.29 0,-0.31 -0.46,-0.05 -0.93,-0.03 -1.4,-0.03 h -1.07 c 0.1,-0.78 0.23,-1.56 0.45,-2.31 0.1,-0.41 0.31,-0.81 0.61,-1.13 z m -14.2,11.67 c 0,-0.03 0,-0.07 0,-0.1 0,-0.31 -0.01,-0.62 -0.01,-0.93 0,-0.22 -0.33,-0.22 -0.34,0 0,0.31 -0.01,0.62 -0.01,0.93 0,0.08 0,0.15 0,0.23 -0.51,0.2 -1.02,0.38 -1.54,0.56 -0.03,-0.1 -0.05,-0.2 -0.08,-0.29 -0.07,-0.23 -0.13,-0.46 -0.2,-0.68 -0.03,-0.11 -0.14,-0.17 -0.25,-0.14 -0.11,0.03 -0.17,0.15 -0.14,0.25 0.06,0.23 0.13,0.46 0.19,0.69 0.03,0.11 0.07,0.21 0.1,0.32 -0.1,0.03 -0.19,0.07 -0.28,0.1 -0.63,0.2 -1.27,0.36 -1.91,0.53 0,-0.02 -0.01,-0.05 -0.01,-0.07 -0.04,-0.28 -0.07,-0.55 -0.11,-0.83 -0.01,-0.1 -0.07,-0.18 -0.18,-0.18 -0.09,0 -0.19,0.08 -0.18,0.18 l 0.1,0.84 c 0.01,0.05 0.01,0.1 0.02,0.15 -0.6,0.15 -1.2,0.28 -1.8,0.41 0.02,-0.13 -0.05,-0.27 -0.09,-0.39 -0.05,-0.13 -0.11,-0.25 -0.16,-0.37 -0.11,-0.24 -0.21,-0.49 -0.32,-0.73 -0.02,-0.04 -0.06,-0.06 -0.1,-0.08 1.24,-0.22 2.47,-0.46 3.7,-0.72 1.6,-0.35 3.2,-0.76 4.72,-1.37 0,0.15 0,0.31 0.02,0.46 0.03,0.2 0.07,0.39 0.14,0.58 0.01,0.02 0.02,0.03 0.02,0.04 -0.43,0.2 -0.86,0.43 -1.3,0.61 z m -39.56,2.68 c -0.04,-0.13 -0.08,-0.25 -0.11,-0.38 -0.03,-0.11 -0.15,-0.17 -0.25,-0.14 -0.11,0.03 -0.17,0.15 -0.14,0.25 0.02,0.07 0.04,0.15 0.06,0.22 -0.02,0 -0.05,0 -0.07,-0.01 -0.93,-0.11 -1.85,-0.25 -2.77,-0.41 -0.08,-0.12 -0.17,-0.23 -0.25,-0.35 -0.06,-0.08 -0.16,-0.12 -0.25,-0.07 -0.08,0.05 -0.13,0.17 -0.07,0.26 0.01,0.02 0.03,0.04 0.04,0.06 -0.05,-0.01 -0.1,-0.03 -0.15,-0.04 -0.01,-0.08 -0.03,-0.17 -0.05,-0.25 -0.03,-0.17 -0.06,-0.34 -0.1,-0.51 -0.02,-0.1 -0.14,-0.16 -0.23,-0.13 -0.1,0.03 -0.15,0.13 -0.13,0.23 0.03,0.17 0.07,0.33 0.1,0.5 0,0.02 0.01,0.05 0.02,0.07 -0.36,-0.08 -0.71,-0.17 -1.07,-0.26 0,-0.04 -0.01,-0.07 -0.01,-0.11 -0.03,-0.28 -0.06,-0.56 -0.09,-0.85 -0.01,-0.1 -0.08,-0.19 -0.19,-0.19 -0.09,0 -0.2,0.09 -0.19,0.19 0.03,0.29 0.06,0.57 0.09,0.86 0,0 0,0 0,0 -0.24,-0.06 -0.48,-0.1 -0.71,-0.17 -0.21,-0.06 -0.42,-0.15 -0.64,-0.22 0.02,-0.02 0.03,-0.05 0.04,-0.08 0.01,-0.33 0.02,-0.67 0.03,-1 0,-0.1 -0.09,-0.19 -0.19,-0.19 -0.1,0 -0.19,0.08 -0.19,0.19 0.01,0.33 0.02,0.66 0.03,0.98 -0.48,-0.17 -0.96,-0.37 -1.42,-0.59 -0.03,-0.08 -0.06,-0.16 -0.09,-0.24 -0.07,-0.23 -0.13,-0.46 -0.17,-0.7 -0.04,-0.26 -0.05,-0.53 -0.05,-0.79 1.74,0.92 3.71,1.47 5.61,1.8 4.33,0.75 8.73,1.1 13.11,1.26 7.54,0.29 15.12,-0.17 22.55,-1.47 -0.08,0.06 -0.09,0.15 -0.05,0.23 0.1,0.24 0.2,0.48 0.31,0.73 0.05,0.12 0.1,0.24 0.15,0.36 0.05,0.1 0.1,0.21 0.18,0.29 -2.17,0.44 -4.37,0.76 -6.57,0.96 -8.68,0.81 -17.48,0.68 -26.12,-0.29 z m -15.32,-1.11 c -0.44,0.19 -1.11,0.29 -1.57,0.21 -1.14,-0.18 -2.03,-1.17 -2.17,-2.36 -0.05,-0.42 0.07,-0.83 0.27,-1.2 0.03,0.08 0.12,0.14 0.21,0.08 0.15,-0.11 0.29,-0.21 0.43,-0.34 0.12,-0.1 0.24,-0.21 0.35,-0.31 0.59,-0.05 1.15,-0.42 1.74,-0.57 0.62,-0.15 1.22,-0.08 1.71,0.27 0.99,0.7 1.03,2.1 0.36,3.12 -0.33,0.51 -0.76,0.86 -1.33,1.1 z m -8.12,-19.34 c -0.26,-0.25 -0.49,-0.53 -0.71,-0.82 0.2,-0.23 0.4,-0.47 0.61,-0.69 0.24,-0.26 0.5,-0.51 0.75,-0.76 0.2,0.42 0.46,0.83 0.79,1.16 -0.14,0.14 -0.3,0.25 -0.43,0.4 -0.25,0.29 -0.49,0.61 -0.71,0.95 -0.1,-0.07 -0.2,-0.14 -0.3,-0.24 z m -0.16,-9.16 c 0.22,0.18 0.45,0.36 0.67,0.54 -0.19,0.13 -0.39,0.26 -0.58,0.4 -0.1,0.07 -0.21,0.14 -0.31,0.22 -0.25,-0.15 -0.48,-0.33 -0.73,-0.48 0.03,-0.02 0.06,-0.04 0.09,-0.06 0.23,-0.16 0.46,-0.32 0.68,-0.49 0.06,-0.05 0.12,-0.09 0.18,-0.13 z m 0.31,1.19 c 0.21,-0.15 0.42,-0.3 0.63,-0.44 0.15,0.12 0.31,0.25 0.46,0.37 -0.25,0.2 -0.5,0.4 -0.75,0.6 -0.19,-0.12 -0.37,-0.25 -0.56,-0.37 0.07,-0.05 0.15,-0.11 0.22,-0.16 z m 4.98,-1.41 c 0.09,0.07 0.17,0.15 0.26,0.22 -0.38,0.29 -0.76,0.59 -1.14,0.88 -0.18,-0.13 -0.36,-0.25 -0.54,-0.38 0.44,-0.29 0.92,-0.54 1.42,-0.72 z m 6.27,0.35 c 0.02,0.02 0.03,0.03 0.05,0.05 -0.25,0.2 -0.5,0.4 -0.75,0.6 -0.18,0.15 -0.36,0.29 -0.54,0.44 -0.32,-0.34 -0.63,-0.69 -0.93,-1.06 0.03,0.06 0.11,0.08 0.14,0.01 0.08,-0.17 0.16,-0.33 0.27,-0.48 0.08,-0.1 -0.07,-0.23 -0.17,-0.17 -0.16,0.1 -0.32,0.22 -0.47,0.35 -0.14,-0.17 -0.28,-0.34 -0.41,-0.51 0.97,0.1 1.94,0.36 2.81,0.77 z m 4.52,1.45 c 0.23,0.27 0.46,0.55 0.69,0.82 -0.2,0.16 -0.4,0.31 -0.59,0.47 -0.16,-0.43 -0.36,-0.85 -0.6,-1.25 0.1,-0.09 0.2,-0.17 0.3,-0.26 0.08,0.08 0.14,0.15 0.2,0.22 z m 2.12,0.8 c -0.08,-0.11 -0.16,-0.21 -0.24,-0.32 -0.02,-0.02 -0.04,-0.05 -0.05,-0.07 0.04,-0.03 0.07,-0.06 0.1,-0.09 0.08,0.16 0.13,0.32 0.19,0.48 z m 1.14,6.21 c -0.16,0.05 -0.33,0.09 -0.49,0.15 0.15,-0.16 0.27,-0.34 0.37,-0.51 0.04,0.12 0.08,0.24 0.12,0.36 z m -18.35,5.81 c 0.33,-0.06 0.67,-0.12 1,-0.19 0,0 0,0 0,0 0.06,0.43 0.15,0.85 0.44,1.19 0.21,0.25 0.47,0.47 0.73,0.68 -0.02,0 -0.04,0.01 -0.06,0.01 -0.2,0.03 -0.39,0.08 -0.58,0.14 -0.15,0.05 -0.3,0.12 -0.44,0.18 -0.19,0.05 -0.38,0.08 -0.57,0.14 0.01,0.01 0.03,0.02 0.04,0.03 0.02,0.02 0.04,0.05 0.06,0.07 -0.13,0.08 -0.27,0.16 -0.39,0.26 -0.02,0.01 -0.02,0.04 -0.03,0.06 -0.09,-0.05 -0.19,-0.08 -0.28,-0.12 0.06,-0.73 0.07,-1.47 0.1,-2.2 -0.02,-0.07 -0.02,-0.16 -0.02,-0.25 z m 0.72,-8.34 c 0,-0.01 0,-0.02 -0.01,-0.03 0.04,-0.04 0.09,-0.08 0.13,-0.12 0.16,0.14 0.33,0.28 0.48,0.43 0.21,0.2 0.4,0.42 0.6,0.64 -0.14,0.09 -0.3,0.16 -0.43,0.26 -0.32,-0.31 -0.6,-0.67 -0.77,-1.18 z m -1.07,-3.86 c 0.07,0.05 0.14,0.09 0.21,0.14 -0.02,0.04 -0.04,0.08 -0.06,0.12 -0.2,0.49 -0.32,1.01 -0.39,1.54 -0.05,0.04 -0.11,0.09 -0.16,0.13 -0.35,-0.25 -0.71,-0.5 -1.08,-0.73 0.47,-0.38 0.93,-0.76 1.4,-1.14 0.03,-0.02 0.05,-0.04 0.08,-0.06 z m 8.48,-1.78 c 0.29,0.36 0.59,0.71 0.9,1.06 -0.04,0.04 -0.09,0.07 -0.13,0.11 -0.45,-0.18 -0.92,-0.31 -1.42,-0.35 -0.07,-0.01 -0.15,0.01 -0.22,0.01 0.24,-0.23 0.49,-0.46 0.73,-0.69 0.04,-0.04 0.09,-0.09 0.14,-0.14 z m 2.01,0.7 c 0.26,-0.22 0.52,-0.44 0.77,-0.65 0.28,0.27 0.56,0.54 0.84,0.81 -0.03,0.03 -0.06,0.06 -0.1,0.09 -0.38,0.35 -0.77,0.69 -1.15,1.04 0,0 0,0 0,0 -0.13,-0.13 -0.27,-0.24 -0.4,-0.37 -0.16,-0.16 -0.31,-0.33 -0.46,-0.49 0.16,-0.15 0.33,-0.29 0.5,-0.43 z m 6.43,6.86 c -0.31,0.67 -0.69,1.24 -1.22,1.75 -0.48,0.47 -1.08,0.87 -1.69,1.11 -0.05,0.02 -0.09,0.03 -0.14,0.04 0.3,-0.36 0.62,-0.71 0.94,-1.04 0.66,-0.68 1.36,-1.3 2.11,-1.87 0,0 0,0.01 0,0.01 z m -3.18,4.6 c -0.09,0.14 -0.19,0.27 -0.28,0.41 -0.18,0.01 -0.37,0.03 -0.54,0.06 -0.01,0 -0.01,0 -0.02,0 -0.01,-0.01 -0.01,-0.03 -0.03,-0.03 -0.03,0 -0.03,0.03 -0.05,0.05 -0.07,0.01 -0.14,0.03 -0.21,0.05 -0.02,-0.14 -0.05,-0.28 -0.08,-0.43 0.4,0.05 0.81,-0.01 1.21,-0.11 z m -5.86,-4.4 c -0.2,0.02 -0.21,0.33 0,0.32 0.89,-0.05 1.72,0.42 2.21,1.15 -1.41,-0.69 -2.93,-0.89 -4.47,-0.46 -0.51,0.14 -1.01,0.35 -1.5,0.6 0.03,-0.1 0.07,-0.2 0.13,-0.28 0.25,-0.31 0.68,-0.41 1.05,-0.27 0.1,0.04 0.21,-0.04 0.23,-0.13 0.03,-0.11 -0.04,-0.19 -0.13,-0.23 -0.38,-0.16 -0.85,-0.1 -1.19,0.13 -0.33,0.23 -0.54,0.62 -0.54,1.02 -0.04,0.02 -0.08,0.04 -0.11,0.06 0.03,-0.21 0.06,-0.42 0.08,-0.62 0.01,-0.11 0.01,-0.23 0.02,-0.34 0.19,-0.22 0.39,-0.42 0.62,-0.59 0.53,-0.39 1.15,-0.66 1.81,-0.74 0.22,-0.03 0.22,-0.37 0,-0.35 -0.73,0.08 -1.43,0.35 -2.02,0.78 -0.14,0.1 -0.25,0.24 -0.38,0.36 0.01,-0.24 0.03,-0.47 0.04,-0.71 0.23,-0.3 0.48,-0.59 0.76,-0.84 0.59,-0.55 1.29,-1.01 2.04,-1.31 0.22,-0.09 0.13,-0.45 -0.1,-0.37 -0.83,0.3 -1.59,0.74 -2.24,1.34 -0.17,0.15 -0.3,0.34 -0.45,0.51 -0.01,-0.28 -0.03,-0.56 -0.07,-0.84 0,0 0,-0.01 0,-0.01 0.14,-0.18 0.27,-0.38 0.45,-0.53 0.55,-0.45 1.26,-0.71 1.98,-0.66 0.21,0.01 0.2,-0.31 0,-0.32 -0.81,-0.07 -1.6,0.21 -2.22,0.72 -0.04,0.03 -0.07,0.08 -0.11,0.11 0.15,-0.4 0.26,-0.79 0.49,-1.16 0.09,-0.15 0.21,-0.27 0.32,-0.4 0.21,0.14 0.41,0.3 0.64,0.4 0.12,0.06 0.22,-0.08 0.14,-0.18 -0.15,-0.18 -0.33,-0.32 -0.51,-0.48 0.13,-0.1 0.25,-0.21 0.39,-0.3 0.21,-0.13 0.43,-0.25 0.66,-0.35 0.08,0.07 0.16,0.14 0.23,0.21 0.27,0.24 0.54,0.56 0.86,0.73 0.14,0.07 0.3,-0.08 0.22,-0.22 -0.18,-0.32 -0.51,-0.57 -0.77,-0.82 -0.03,-0.03 -0.06,-0.05 -0.09,-0.08 0.44,-0.15 0.9,-0.22 1.37,-0.17 0.1,0.01 0.19,0.04 0.28,0.06 0.03,0.05 0.09,0.08 0.16,0.06 0.01,0 0.02,-0.01 0.04,-0.02 0.45,0.13 0.87,0.35 1.24,0.64 0.08,0.21 0.16,0.42 0.25,0.62 0.11,0.27 0.2,0.54 0.33,0.79 0.04,0.08 0.16,0.02 0.14,-0.06 -0.08,-0.27 -0.18,-0.54 -0.27,-0.81 -0.03,-0.07 -0.05,-0.15 -0.08,-0.22 0.05,0.05 0.11,0.1 0.16,0.15 0.26,0.3 0.48,0.65 0.63,1.02 0.09,0.21 0.14,0.44 0.19,0.67 0.02,0.11 0.05,0.21 0.09,0.31 -0.04,-0.02 -0.07,-0.05 -0.12,-0.07 -0.06,-0.02 -0.11,-0.05 -0.17,-0.07 -0.11,-0.05 -0.23,-0.1 -0.34,-0.15 -0.23,-0.1 -0.46,-0.2 -0.7,-0.3 -0.07,-0.03 -0.14,-0.02 -0.18,0.05 -0.03,0.06 -0.02,0.15 0.05,0.18 0.23,0.11 0.47,0.21 0.7,0.32 0.12,0.05 0.23,0.11 0.35,0.16 0.06,0.03 0.12,0.05 0.17,0.08 0.06,0.03 0.12,0.05 0.19,0.06 0.06,0.01 0.09,-0.02 0.11,-0.06 0.04,0.09 0.07,0.17 0.11,0.26 -0.03,0.66 -0.04,1.32 -0.04,1.98 -0.02,-0.02 -0.03,-0.04 -0.06,-0.06 -0.11,-0.05 -0.22,-0.1 -0.33,-0.15 -0.23,-0.1 -0.46,-0.21 -0.69,-0.31 -0.45,-0.2 -0.9,-0.4 -1.35,-0.61 -0.18,-0.08 -0.35,0.19 -0.16,0.27 0.46,0.21 0.91,0.42 1.36,0.63 0.22,0.1 0.44,0.2 0.66,0.31 0.11,0.05 0.22,0.1 0.33,0.15 0.06,0.03 0.12,0.06 0.18,0.07 0.02,0 0.04,0 0.05,-0.01 0,0.05 0,0.1 0,0.15 0,0.24 0,0.47 0.01,0.71 -0.08,0.14 -0.07,0.31 0,0.47 0,0.04 0,0.07 0,0.11 -0.11,-0.1 -0.23,-0.18 -0.36,-0.26 0.01,-0.03 0.02,-0.06 0,-0.09 -0.44,-1.08 -1.6,-1.8 -2.77,-1.71 z m -6.99,-3.06 c 0,-0.01 0,-0.02 0,-0.03 0.48,-0.39 0.97,-0.78 1.46,-1.17 0.11,0.09 0.21,0.18 0.32,0.27 -0.5,0.38 -0.99,0.78 -1.47,1.19 -0.11,-0.08 -0.21,-0.17 -0.31,-0.26 z m 2.53,-1.9 c 0.07,0.06 0.15,0.12 0.22,0.18 -0.05,0.07 -0.1,0.14 -0.14,0.21 -0.03,0 -0.05,0 -0.08,0.02 -0.13,0.09 -0.26,0.2 -0.39,0.3 -0.11,-0.09 -0.22,-0.18 -0.33,-0.27 0.21,-0.17 0.43,-0.33 0.65,-0.49 0.02,0 0.05,0.03 0.07,0.05 z m -1.05,0.17 c -0.2,-0.16 -0.4,-0.31 -0.6,-0.46 0,0 0.01,-0.01 0.01,-0.01 0.21,-0.17 0.42,-0.33 0.63,-0.5 0.2,0.16 0.41,0.32 0.61,0.48 -0.21,0.17 -0.44,0.32 -0.65,0.49 z m -0.82,-0.78 c -0.03,0.03 -0.07,0.05 -0.1,0.08 -0.03,-0.02 -0.05,-0.04 -0.08,-0.06 0.12,-0.25 0.25,-0.48 0.41,-0.7 0.11,0.09 0.22,0.17 0.33,0.26 -0.19,0.13 -0.38,0.27 -0.56,0.42 z m -0.13,0.59 c 0.2,0.15 0.4,0.31 0.6,0.47 -0.39,0.3 -0.77,0.61 -1.15,0.92 0.02,-0.37 0.08,-0.74 0.18,-1.1 0.12,-0.1 0.25,-0.19 0.37,-0.29 z m 1.53,1.24 c 0.03,0.02 0.06,0.04 0.08,0.06 -0.06,0.16 -0.11,0.31 -0.14,0.47 -0.22,0.02 -0.42,0.18 -0.44,0.45 -0.03,0.34 -0.1,0.66 -0.12,1 -0.13,-0.12 -0.25,-0.24 -0.37,-0.36 -0.15,-0.14 -0.32,-0.27 -0.47,-0.41 0.48,-0.42 0.96,-0.82 1.46,-1.21 z m 9.38,-0.14 c 0.24,0.19 0.5,0.46 0.81,0.54 0.15,0.04 0.29,-0.13 0.2,-0.27 -0.16,-0.25 -0.45,-0.42 -0.68,-0.6 -0.08,-0.06 -0.15,-0.12 -0.23,-0.18 0.06,-0.06 0.13,-0.12 0.19,-0.17 0.34,-0.29 0.67,-0.58 1.01,-0.87 0.09,0.09 0.19,0.18 0.28,0.27 0.14,0.32 0.25,0.66 0.33,1.02 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.27,0.26 -0.53,0.54 -0.8,0.81 -0.01,-0.01 -0.03,-0.03 -0.04,-0.04 -0.12,-0.12 -0.3,0.07 -0.18,0.18 0.01,0.01 0.03,0.03 0.04,0.04 -0.12,0.13 -0.25,0.25 -0.37,0.38 -0.16,0.17 -0.32,0.35 -0.47,0.53 0.03,-0.17 0.03,-0.35 0,-0.55 -0.05,-0.31 -0.14,-0.6 -0.25,-0.89 -0.05,-0.11 -0.11,-0.22 -0.16,-0.33 0.04,-0.03 0.07,-0.06 0.11,-0.1 0.07,0.08 0.15,0.15 0.23,0.21 z m 2.02,0.7 c 0,0.21 -0.02,0.42 -0.04,0.62 -0.17,-0.17 -0.33,-0.33 -0.5,-0.5 0.17,-0.17 0.33,-0.35 0.5,-0.52 0.01,0.14 0.03,0.27 0.04,0.4 z m -0.13,1.04 c -0.03,0.13 -0.05,0.27 -0.1,0.4 -0.3,0.31 -0.6,0.61 -0.9,0.92 -0.25,0.26 -0.5,0.51 -0.75,0.77 -0.03,0.03 -0.07,0.07 -0.1,0.1 -0.02,-0.49 -0.03,-0.97 -0.06,-1.46 0.09,-0.11 0.18,-0.22 0.27,-0.32 0.21,-0.24 0.42,-0.48 0.64,-0.72 0.11,-0.12 0.22,-0.23 0.33,-0.35 0.23,0.22 0.45,0.44 0.67,0.66 z m -0.9,-3.58 -0.94,0.78 c -0.1,0.09 -0.21,0.17 -0.31,0.26 -0.05,-0.04 -0.11,-0.09 -0.16,-0.13 -0.27,-0.23 -0.52,-0.47 -0.78,-0.71 0.37,-0.34 0.73,-0.67 1.1,-1.01 0.04,-0.04 0.09,-0.08 0.13,-0.12 0.29,0.28 0.58,0.56 0.87,0.84 0.03,0.03 0.06,0.06 0.09,0.09 z m -8.9,0.02 c -0.17,0.17 -0.36,0.37 -0.53,0.59 -0.06,-0.04 -0.12,-0.09 -0.17,-0.13 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 0.33,-0.26 0.67,-0.51 1,-0.76 0.03,0.02 0.06,0.05 0.09,0.07 -0.12,0.08 -0.24,0.16 -0.35,0.26 z m -1.07,0.18 c -0.21,-0.16 -0.42,-0.32 -0.63,-0.48 0.34,-0.27 0.68,-0.53 1.01,-0.8 0.22,0.17 0.43,0.35 0.64,0.52 -0.33,0.25 -0.68,0.5 -1.02,0.76 z m -0.94,-0.72 c -0.13,-0.1 -0.27,-0.21 -0.4,-0.31 0.26,-0.33 0.56,-0.62 0.88,-0.88 0.18,0.13 0.37,0.26 0.55,0.39 -0.34,0.27 -0.69,0.53 -1.03,0.8 z m -2.01,0.03 c -0.02,-0.01 -0.04,-0.03 -0.07,-0.04 0.05,-0.04 0.1,-0.08 0.15,-0.12 -0.03,0.05 -0.05,0.1 -0.08,0.16 z m 1.91,5.36 c 0,0.05 0,0.1 0,0.15 0,0.06 -0.01,0.12 -0.01,0.19 -0.07,-0.06 -0.14,-0.13 -0.21,-0.19 0.06,-0.06 0.15,-0.1 0.22,-0.15 z m -0.1,1.43 c -0.02,0.21 -0.02,0.42 -0.04,0.63 -0.06,0.47 -0.16,0.92 -0.25,1.38 -0.3,-0.15 -0.61,-0.29 -0.9,-0.46 -0.32,-0.19 -0.62,-0.41 -0.91,-0.64 0.21,-0.35 0.44,-0.69 0.72,-1.01 0.12,-0.13 0.26,-0.24 0.38,-0.36 0.29,0.24 0.63,0.4 1,0.46 z m -1.86,4.35 c 0.03,-0.05 0.06,-0.1 0.09,-0.14 0.29,-0.12 0.49,-0.39 0.39,-0.76 -0.02,-0.06 -0.07,-0.11 -0.09,-0.17 0.29,0.13 0.58,0.22 0.88,0.27 -0.19,0.45 -0.28,0.93 -0.28,1.42 -0.33,0.06 -0.65,0.12 -0.97,0.18 -0.02,-0.27 -0.02,-0.53 -0.02,-0.8 z m 2.18,9.06 c -0.04,-0.33 -0.06,-0.65 -0.11,-0.98 -0.16,-0.97 -0.43,-2.3 -1.02,-3.27 0.12,-0.05 0.24,-0.1 0.36,-0.15 0.31,-0.13 0.64,-0.21 0.97,-0.26 -0.04,1 -0.08,2 -0.12,3 -0.03,0.55 -0.06,1.1 -0.08,1.66 z m 1.41,-9.39 c -0.01,-0.05 -0.02,-0.1 -0.03,-0.15 -0.12,-0.38 -0.6,-0.34 -0.74,0 -0.23,0.58 -0.25,1.28 -0.29,1.89 -0.01,0.18 -0.02,0.36 -0.03,0.54 -0.05,-0.15 -0.08,-0.32 -0.12,-0.5 -0.07,-0.3 -0.12,-0.58 -0.11,-0.89 0.01,-0.23 0.07,-0.46 0.15,-0.68 0.08,-0.17 0.17,-0.35 0.24,-0.53 0.12,-0.21 0.26,-0.42 0.42,-0.59 1.07,-1.17 2.76,-1.76 4.32,-1.61 1.35,0.13 2.67,1 3.18,2.28 0.18,0.45 0.2,0.94 0.15,1.42 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.02,0.02 -0.08,0.08 -0.12,0.12 -0.21,-0.89 -0.71,-1.74 -1.3,-2.27 -1.38,-1.23 -3.45,-1.28 -4.88,-0.09 -0.36,0.29 -0.62,0.64 -0.82,1.04 z m 8.64,1.82 c 0,0 0.01,0 0.01,0 -0.01,0.02 -0.02,0.04 -0.03,0.06 0.01,-0.02 0.02,-0.04 0.02,-0.06 z M 578.89,430 c 0.03,0.64 -0.03,1.27 -0.17,1.89 -0.01,0.03 -0.02,0.06 -0.03,0.08 0.02,-0.02 -0.12,0.07 -0.14,0.1 -0.13,0.13 -0.23,0.32 -0.3,0.49 -0.11,0.25 -0.19,0.5 -0.28,0.76 -0.04,-0.13 -0.16,-0.22 -0.29,-0.12 -0.79,0.59 -1.54,1.23 -2.24,1.92 -0.35,0.34 -0.68,0.7 -1.01,1.07 -0.16,0.18 -0.32,0.37 -0.46,0.56 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.03,0.01 -0.07,0.02 -0.1,0.03 -0.15,0.03 -0.3,0.06 -0.44,0.1 0,-0.09 -0.01,-0.19 -0.01,-0.28 0,-0.19 -0.01,-0.39 -0.01,-0.58 0.02,-0.01 0.05,-0.01 0.07,-0.02 -0.01,0.02 -0.02,0.03 -0.03,0.04 -0.09,0.17 0.13,0.36 0.27,0.21 0.15,-0.16 0.29,-0.33 0.43,-0.5 0.96,-0.49 1.75,-1.46 2.23,-2.5 0.07,-0.07 0.14,-0.14 0.22,-0.21 0.05,0.05 0.1,0.1 0.15,0.15 0.11,0.11 0.22,0.24 0.36,0.31 0.11,0.06 0.23,-0.06 0.17,-0.17 -0.07,-0.13 -0.18,-0.24 -0.29,-0.34 -0.06,-0.06 -0.11,-0.11 -0.17,-0.17 0.48,-0.45 0.97,-0.88 1.49,-1.28 0.19,-0.15 0,-0.47 -0.19,-0.33 -0.48,0.37 -0.95,0.75 -1.41,1.16 0.07,-0.24 0.13,-0.48 0.16,-0.7 0.05,-0.34 0.07,-0.67 0.06,-1 0.19,-0.2 0.37,-0.39 0.56,-0.59 0.01,0.02 0.03,0.04 0.04,0.06 0.11,0.18 0.22,0.36 0.33,0.53 0.06,0.09 0.11,0.18 0.18,0.27 0.07,0.09 0.12,0.17 0.23,0.22 0.09,0.04 0.18,-0.06 0.19,-0.14 0,-0.11 -0.06,-0.21 -0.12,-0.3 -0.05,-0.09 -0.12,-0.18 -0.18,-0.27 -0.12,-0.17 -0.23,-0.33 -0.35,-0.5 -0.03,-0.04 -0.06,-0.09 -0.09,-0.13 0.3,-0.32 0.61,-0.65 0.91,-0.97 0.01,0.01 0.02,0.03 0.03,0.04 0.03,0.03 0.06,0.04 0.1,0.05 0.06,0.32 0.11,0.63 0.13,0.95 0.02,0.02 0.02,0.05 0.02,0.08 z m -0.46,-1.39 c -0.07,0.07 -0.14,0.14 -0.2,0.21 0.06,-0.09 0.11,-0.18 0.15,-0.28 0.01,0.03 0.03,0.05 0.05,0.07 z m -0.5,-0.7 c 0.09,0.13 0.17,0.26 0.26,0.39 -0.01,0 -0.01,0 -0.02,0 -0.07,0.03 -0.13,0.09 -0.18,0.16 -0.11,-0.13 -0.23,-0.25 -0.35,-0.38 0.08,-0.07 0.17,-0.14 0.25,-0.21 0.02,0.01 0.03,0.02 0.04,0.04 z m -0.07,1.01 c 0.08,0.08 0.2,0.06 0.28,-0.01 -0.21,0.21 -0.41,0.42 -0.62,0.63 -0.14,-0.21 -0.28,-0.41 -0.42,-0.62 -0.11,-0.17 -0.38,-0.01 -0.27,0.16 0.15,0.24 0.3,0.47 0.45,0.71 -0.12,0.13 -0.24,0.25 -0.37,0.38 -0.01,-0.03 -0.01,-0.05 -0.03,-0.08 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.05,-0.39 -0.11,-0.78 -0.23,-1.15 0.23,-0.2 0.46,-0.4 0.69,-0.59 0.19,0.2 0.36,0.4 0.54,0.59 z m -3.92,-1.65 c -0.13,-0.12 -0.26,-0.24 -0.38,-0.36 0,0 0,0 0.01,-0.01 0.13,0.12 0.26,0.24 0.37,0.37 z m -5.15,-2.03 c 0.13,0.17 0.26,0.35 0.4,0.52 -0.05,0.05 -0.11,0.1 -0.16,0.15 -0.3,0.27 -0.59,0.54 -0.89,0.81 -0.04,0.04 -0.09,0.08 -0.13,0.12 -0.21,-0.13 -0.41,-0.28 -0.62,-0.42 0.45,-0.34 0.89,-0.69 1.34,-1.03 0.05,-0.05 0.06,-0.1 0.06,-0.15 z m -1.17,1.72 c -0.56,0.11 -1.1,0.31 -1.58,0.62 -0.03,-0.02 -0.06,-0.05 -0.09,-0.07 0.39,-0.3 0.78,-0.6 1.18,-0.9 0.16,0.11 0.32,0.24 0.49,0.35 z m -1.96,0.31 c -0.22,-0.18 -0.43,-0.36 -0.66,-0.53 0.37,-0.29 0.74,-0.59 1.12,-0.88 0.23,0.19 0.48,0.36 0.72,0.53 -0.4,0.29 -0.79,0.58 -1.18,0.88 z m -5.05,0.34 c -0.5,0.41 -1.01,0.81 -1.51,1.22 -0.24,-0.15 -0.48,-0.29 -0.73,-0.43 0,0 0,0 0,-0.01 0.19,-0.14 0.38,-0.27 0.57,-0.41 0.36,-0.25 0.73,-0.51 1.09,-0.76 0.19,0.13 0.38,0.26 0.58,0.39 z m -1.8,1.46 c -0.18,0.15 -0.36,0.3 -0.55,0.45 0,-0.25 0.01,-0.51 0.04,-0.76 0.18,0.1 0.34,0.2 0.51,0.31 z m -0.54,0.91 c 0.02,-0.02 0.04,-0.03 0.06,-0.05 0.27,-0.22 0.55,-0.44 0.82,-0.66 0.36,0.23 0.72,0.48 1.07,0.73 -0.03,0.03 -0.07,0.05 -0.1,0.08 -0.41,0.32 -0.82,0.64 -1.23,0.96 -0.14,0.11 -0.28,0.21 -0.42,0.32 -0.11,-0.45 -0.18,-0.91 -0.2,-1.38 z m 0.32,1.8 c 0.17,-0.13 0.33,-0.26 0.49,-0.39 0.41,-0.32 0.82,-0.64 1.22,-0.96 0.08,-0.06 0.16,-0.13 0.24,-0.19 0.03,0.02 0.06,0.05 0.1,0.07 0,0.27 0.01,0.53 0.04,0.79 -0.02,0.02 -0.04,0.03 -0.06,0.05 -0.58,0.47 -1.15,0.95 -1.72,1.43 -0.12,-0.25 -0.22,-0.52 -0.31,-0.8 z m 0.51,1.19 c 0.56,-0.47 1.12,-0.94 1.68,-1.4 0.03,0.12 0.04,0.24 0.08,0.36 0.02,0.06 0.05,0.13 0.07,0.19 -0.3,0.29 -0.6,0.57 -0.88,0.87 -0.19,0.2 -0.38,0.41 -0.57,0.62 -0.14,-0.22 -0.27,-0.43 -0.38,-0.64 z m 0.97,6.64 c 0,0.05 -0.01,0.1 -0.01,0.15 -0.23,0.04 -0.46,0.08 -0.69,0.13 -0.32,0.06 -0.19,0.55 0.14,0.49 0.17,-0.03 0.34,-0.07 0.51,-0.1 -0.04,0.7 -0.11,1.41 -0.12,2.11 -0.14,0.07 -0.22,0.18 -0.23,0.33 -0.16,0.06 -0.32,0.12 -0.49,0.16 -0.53,0.14 -1.07,0.18 -1.62,0.17 -0.53,-0.01 -1.05,-0.09 -1.56,-0.25 -0.28,-0.09 -0.56,-0.23 -0.85,-0.35 -0.03,-0.16 -0.12,-0.28 -0.27,-0.36 0,-0.11 -0.01,-0.22 -0.01,-0.32 0,-0.45 0.01,-0.9 0.01,-1.36 0,-0.38 -0.01,-0.76 -0.01,-1.15 0.31,0.21 0.66,0.36 0.99,0.48 0.62,0.24 1.3,0.35 1.96,0.35 0.66,0 1.34,-0.11 1.96,-0.36 0.09,-0.03 0.19,-0.08 0.29,-0.12 z m -4.58,7.25 c -0.09,-0.05 -0.17,-0.1 -0.26,-0.15 -0.09,-0.05 -0.18,-0.09 -0.27,-0.14 -0.18,-0.09 -0.36,-0.2 -0.52,-0.31 -0.24,-0.16 -0.43,-0.38 -0.63,-0.59 0.05,-0.3 0.09,-0.59 0.16,-0.88 0.08,-0.35 0.18,-0.69 0.36,-1.01 0.03,-0.05 0.07,-0.08 0.1,-0.13 0.35,0.21 0.75,0.37 1.08,0.49 0.64,0.24 1.31,0.36 1.99,0.41 0.66,0.05 1.34,-0.02 1.98,-0.16 0.44,-0.1 0.98,-0.24 1.39,-0.52 0.08,0.08 0.14,0.17 0.21,0.26 -0.14,0.11 -0.28,0.21 -0.43,0.29 -0.37,0.19 -0.79,0.28 -1.21,0.27 -0.27,0 -0.27,0.42 0,0.43 0.49,0.02 0.98,-0.09 1.42,-0.3 0.16,-0.08 0.31,-0.18 0.45,-0.29 0.08,0.16 0.14,0.33 0.19,0.51 0.01,0.03 0.01,0.06 0.02,0.08 -0.04,0.02 -0.07,0.04 -0.11,0.07 -0.2,0.12 -0.41,0.22 -0.62,0.31 -0.43,0.17 -0.89,0.27 -1.36,0.29 -0.2,0.01 -0.21,0.33 0,0.32 0.51,-0.02 1.01,-0.13 1.48,-0.32 0.23,-0.09 0.45,-0.2 0.66,-0.33 0.01,0 0.01,-0.01 0.02,-0.01 0.12,0.46 0.21,0.92 0.28,1.39 -0.03,-0.02 -0.07,-0.03 -0.11,-0.01 -0.52,0.26 -1.04,0.51 -1.61,0.65 -0.56,0.14 -1.15,0.16 -1.72,0.09 -0.18,-0.02 -0.23,0.3 -0.04,0.33 1.18,0.17 2.59,-0.04 3.51,-0.86 0.04,0.25 0.08,0.5 0.1,0.75 0.02,0.18 0.02,0.37 0.04,0.55 -0.08,0.04 -0.15,0.08 -0.23,0.12 -0.41,0.18 -0.84,0.31 -1.28,0.37 -0.89,0.14 -1.8,0.02 -2.63,-0.33 -0.17,-0.07 -0.29,0.22 -0.12,0.29 0.88,0.39 1.84,0.53 2.8,0.4 0.46,-0.06 0.91,-0.18 1.34,-0.36 0.05,-0.02 0.1,-0.05 0.15,-0.08 0.02,0.31 0.02,0.61 0.02,0.92 -0.33,0.11 -0.67,0.2 -1.02,0.26 -0.99,0.18 -2.03,0.23 -3.03,0.27 -1.54,0.06 -3.58,-0.21 -4.54,-1.57 0,-0.03 0,-0.06 0.01,-0.09 0.06,0.04 0.11,0.1 0.18,0.14 0.21,0.13 0.43,0.23 0.66,0.3 0.11,0.03 0.23,0.06 0.35,0.08 0.14,0.02 0.3,0.06 0.42,-0.02 0.11,-0.07 0.1,-0.21 0,-0.27 -0.1,-0.07 -0.22,-0.05 -0.34,-0.07 -0.11,-0.01 -0.21,-0.04 -0.32,-0.07 -0.21,-0.06 -0.41,-0.15 -0.59,-0.26 -0.12,-0.08 -0.23,-0.18 -0.34,-0.27 0.01,-0.18 0.02,-0.35 0.03,-0.53 0.04,-0.51 0.1,-1.03 0.17,-1.55 0.17,0.16 0.32,0.35 0.52,0.49 0.17,0.12 0.35,0.23 0.54,0.32 0.1,0.05 0.2,0.1 0.3,0.13 0.1,0.03 0.21,0.04 0.32,0.06 0.11,0.03 0.19,-0.11 0.08,-0.16 z m -1.93,5.22 c -0.03,-0.45 -0.06,-0.91 -0.07,-1.36 0,-0.15 0,-0.3 0,-0.44 1.06,0.93 2.61,1.32 4.05,1.38 1.22,0.05 2.48,-0.01 3.69,-0.19 0.23,-0.03 0.5,-0.07 0.79,-0.14 -0.02,0.23 -0.03,0.46 -0.06,0.7 -0.05,0.36 -0.16,0.72 -0.16,1.08 -0.39,0.17 -0.8,0.28 -1.22,0.38 -1.09,0.27 -2.27,0.18 -3.38,0.06 -0.92,-0.1 -1.96,-0.2 -2.78,-0.66 -0.36,-0.21 -0.64,-0.48 -0.86,-0.81 z m 11.25,-5.66 c -0.01,0.08 0,0.15 0.05,0.2 0.03,0.03 0.09,0.05 0.13,0.03 0.13,-0.05 0.15,-0.19 0.2,-0.3 0.05,-0.1 0.1,-0.21 0.15,-0.31 0.11,-0.2 0.26,-0.38 0.43,-0.54 0.34,-0.3 0.78,-0.5 1.23,-0.52 0.25,-0.01 0.25,-0.4 0,-0.39 -0.55,0.02 -1.07,0.25 -1.49,0.61 -0.2,0.18 -0.38,0.39 -0.51,0.62 -0.07,0.11 -0.13,0.24 -0.16,0.36 0,0.08 -0.02,0.16 -0.03,0.24 0,-0.1 0.01,-0.2 0.01,-0.29 0.02,-0.44 0.03,-0.87 0.04,-1.31 0.01,0 0.02,0 0.03,0 0.09,-0.09 0.17,-0.15 0.24,-0.26 0.07,-0.09 0.13,-0.19 0.21,-0.28 0.15,-0.18 0.32,-0.35 0.5,-0.5 0.36,-0.3 0.78,-0.52 1.22,-0.66 0.21,-0.07 0.12,-0.4 -0.09,-0.33 -0.49,0.16 -0.95,0.4 -1.35,0.73 -0.19,0.16 -0.37,0.33 -0.53,0.52 -0.08,0.09 -0.15,0.19 -0.22,0.29 0.02,-0.72 0.05,-1.43 0.07,-2.15 0,-0.08 0,-0.16 0,-0.24 0.01,-0.01 0.03,-0.01 0.05,-0.03 0.05,-0.04 0.09,-0.11 0.13,-0.16 0.08,-0.11 0.17,-0.22 0.26,-0.33 0.18,-0.2 0.38,-0.39 0.6,-0.56 0.44,-0.34 0.94,-0.59 1.47,-0.74 0.21,-0.06 0.12,-0.37 -0.09,-0.32 -0.57,0.15 -1.12,0.41 -1.6,0.77 -0.24,0.18 -0.46,0.38 -0.66,0.61 -0.05,0.06 -0.1,0.13 -0.15,0.19 0,-0.24 0.01,-0.49 0.01,-0.73 0.04,0.03 0.1,0.03 0.14,0 0.09,-0.07 0.16,-0.17 0.24,-0.25 0.08,-0.09 0.15,-0.2 0.23,-0.29 0.16,-0.18 0.34,-0.34 0.53,-0.48 0.4,-0.28 0.84,-0.47 1.32,-0.56 0.09,-0.02 0.14,-0.12 0.12,-0.21 -0.03,-0.1 -0.12,-0.13 -0.21,-0.12 -0.52,0.08 -1.04,0.28 -1.46,0.59 -0.21,0.16 -0.41,0.33 -0.59,0.53 -0.14,0.15 -0.25,0.34 -0.32,0.54 0,-0.05 0,-0.09 0,-0.14 0,-0.1 0,-0.21 0.01,-0.31 0.03,-0.03 0.06,-0.05 0.07,-0.08 0.08,-0.23 0.16,-0.33 0.33,-0.5 0.13,-0.13 0.23,-0.28 0.38,-0.4 0.31,-0.26 0.62,-0.47 0.99,-0.65 0.15,-0.08 0.28,-0.13 0.5,-0.19 0.1,-0.03 0.21,-0.05 0.31,-0.07 0.03,0 0.04,-0.01 0.06,-0.01 0.04,0 0.09,-0.01 0.13,-0.01 0.2,-0.02 0.4,-0.02 0.6,0.01 0.02,0.01 0.2,0.04 0.22,0.05 0.09,0.02 0.18,0.05 0.26,0.08 0,0 0,0 0.01,0 0.04,0.02 0.08,0.04 0.13,0.06 0.09,0.05 0.18,0.1 0.27,0.16 0.04,0.03 0.08,0.06 0.13,0.09 -0.06,-0.04 -0.05,-0.04 0.02,0.02 0.07,0.07 0.15,0.14 0.22,0.21 0.01,0.01 0.13,0.15 0.14,0.16 0.06,0.07 0.11,0.15 0.16,0.23 0.05,0.09 0.11,0.18 0.15,0.27 0.02,0.04 0.04,0.09 0.06,0.13 0,0 0,0 0,0 0.07,0.18 0.13,0.37 0.17,0.56 0.01,0.04 0.02,0.09 0.02,0.13 0,0.01 0,0.02 0,0.04 0.01,0.1 0.01,0.21 0.01,0.31 0,0.1 -0.01,0.21 -0.02,0.31 0,0.03 -0.04,0.33 -0.01,0.17 -0.04,0.24 -0.06,0.48 -0.08,0.72 -0.01,0.15 0.04,0.28 0.13,0.39 -0.07,1.08 -0.13,2.16 -0.14,3.24 -0.01,1 0,1.99 0.02,2.99 -0.62,-0.37 -1.34,-0.57 -2.06,-0.51 -0.65,0.05 -1.25,0.23 -1.84,0.49 -0.07,0.03 -0.14,0.06 -0.21,0.1 -0.07,0.01 -0.14,0.03 -0.2,0.05 -0.12,0.04 -0.23,0.1 -0.35,0.15 0.03,-0.06 0.06,-0.13 0.09,-0.18 0.07,-0.11 0.11,-0.17 0.2,-0.26 0.3,-0.32 0.71,-0.53 1.14,-0.55 0.3,-0.01 0.3,-0.48 0,-0.47 -0.56,0.02 -1.09,0.27 -1.47,0.68 -0.09,0.09 -0.14,0.22 -0.21,0.32 0.02,-0.05 0.04,-0.09 0.06,-0.14 0.05,-0.1 0.1,-0.2 0.15,-0.3 0.11,-0.19 0.25,-0.37 0.4,-0.52 0.31,-0.31 0.7,-0.54 1.12,-0.66 0.26,-0.07 0.15,-0.48 -0.11,-0.41 -0.5,0.13 -0.95,0.4 -1.32,0.75 -0.18,0.18 -0.34,0.38 -0.47,0.6 -0.07,0.11 -0.13,0.23 -0.18,0.35 -0.04,0.12 -0.1,0.27 -0.1,0.39 0.01,0.18 0.2,0.21 0.31,0.11 -0.04,0.07 -0.1,0.13 -0.13,0.2 -0.05,0.12 -0.09,0.24 -0.11,0.37 0,0.03 0,0.04 0,0.06 -0.08,0.06 -0.17,0.11 -0.25,0.18 0,0 0,0 0,0 0.08,-0.89 0.11,-1.82 0.14,-2.74 z m 0.62,3.89 c 0.05,-0.05 0.1,-0.09 0.15,-0.14 0,0 0,0 0.01,0 -0.03,0.03 -0.06,0.05 -0.09,0.08 -0.03,0.03 -0.06,0.06 -0.09,0.08 0.01,-0.01 0.01,-0.02 0.02,-0.02 z m 6.6,1.05 c -0.03,-0.37 -0.11,-0.74 -0.24,-1.1 -0.02,-0.51 -0.04,-1.02 -0.05,-1.53 -0.03,-1.07 -0.03,-2.14 -0.02,-3.21 0.01,-0.96 0.03,-1.91 0.06,-2.87 0.55,-0.28 0.98,-0.73 1.28,-1.26 -0.12,0.36 -0.22,0.72 -0.29,1.09 -0.14,0.68 -0.24,1.38 -0.16,2.07 0.04,0.31 0.07,0.63 0.11,0.94 -0.03,-0.18 -0.08,-0.35 -0.1,-0.53 -0.01,-0.16 -0.26,-0.16 -0.25,0 0.06,1.43 0.68,2.77 1.67,3.8 0.49,0.51 1.07,0.94 1.7,1.25 0.6,0.3 1.35,0.6 2.03,0.51 0.11,-0.01 0.14,-0.16 0.03,-0.2 -0.63,-0.22 -1.28,-0.31 -1.89,-0.61 -0.6,-0.3 -1.14,-0.7 -1.61,-1.17 -0.79,-0.81 -1.35,-1.85 -1.58,-2.96 0.06,0.38 0.24,0.64 0.35,1 0.12,0.39 0.56,0.31 0.69,0 0.33,0.42 0.71,0.8 1.15,1.08 0.12,0.07 0.26,-0.1 0.15,-0.19 -0.36,-0.31 -0.71,-0.62 -1.01,-0.99 -0.07,-0.08 -0.1,-0.18 -0.17,-0.26 0.05,-0.15 0.12,-0.31 0.15,-0.47 0.05,-0.29 0.09,-0.59 0.16,-0.88 0.1,-0.41 0.2,-0.81 0.3,-1.22 0.62,1.34 1.65,2.46 2.92,3.21 0.66,0.39 1.39,0.68 2.14,0.86 0.72,0.17 1.51,0.27 2.24,0.11 0.14,-0.03 0.1,-0.23 -0.03,-0.24 -0.74,-0.03 -1.47,-0.04 -2.2,-0.23 -0.7,-0.18 -1.38,-0.46 -2,-0.84 -1.26,-0.76 -2.28,-1.88 -2.87,-3.23 -0.02,-0.05 -0.05,-0.07 -0.09,-0.08 0.01,-0.04 0.02,-0.07 0.03,-0.11 0.11,-0.44 0.27,-0.85 0.41,-1.27 0.28,0.72 0.8,1.31 1.42,1.78 1.49,1.13 3.37,1.93 5.15,2.46 3.8,1.14 7.74,1.98 11.72,1.61 0.34,-0.03 0.34,-0.49 0,-0.53 -3.46,-0.42 -6.9,-0.98 -10.17,-2.21 -1.59,-0.6 -3.14,-1.35 -4.67,-2.09 -0.67,-0.32 -1.43,-0.68 -1.9,-1.29 -0.45,-0.59 -0.38,-1.26 -0.48,-1.94 0,0 0,-0.01 0,-0.01 0.06,-0.09 0.13,-0.16 0.19,-0.25 0.07,0.09 0.15,0.19 0.22,0.28 0.12,0.15 0.24,0.3 0.36,0.44 0.13,0.15 0.24,0.31 0.4,0.42 0.09,0.06 0.23,-0.04 0.19,-0.14 -0.07,-0.18 -0.2,-0.33 -0.32,-0.49 -0.12,-0.16 -0.23,-0.32 -0.36,-0.48 -0.09,-0.11 -0.18,-0.22 -0.27,-0.33 0.49,-0.65 1.04,-1.24 1.64,-1.76 0.18,0.35 0.39,0.68 0.65,0.96 0.22,0.24 0.46,0.45 0.72,0.64 0.13,0.09 0.26,0.18 0.4,0.25 0.14,0.07 0.3,0.19 0.46,0.15 0.09,-0.02 0.12,-0.12 0.08,-0.19 -0.06,-0.13 -0.24,-0.19 -0.36,-0.26 -0.12,-0.08 -0.25,-0.16 -0.36,-0.24 -0.24,-0.17 -0.46,-0.37 -0.67,-0.59 -0.26,-0.28 -0.48,-0.6 -0.67,-0.93 0.4,-0.33 0.81,-0.66 1.22,-0.98 0.34,0.75 0.85,1.42 1.48,1.95 0.39,0.32 0.81,0.6 1.27,0.82 0.41,0.19 0.96,0.45 1.41,0.35 0.12,-0.03 0.12,-0.18 0.03,-0.24 -0.18,-0.13 -0.42,-0.18 -0.63,-0.25 -0.22,-0.08 -0.44,-0.16 -0.65,-0.26 -0.41,-0.2 -0.81,-0.44 -1.16,-0.74 -0.61,-0.51 -1.08,-1.17 -1.44,-1.88 0.13,-0.1 0.27,-0.2 0.4,-0.31 0.18,0.17 0.39,0.3 0.65,0.35 0.07,0.01 0.12,-0.02 0.18,-0.03 0.54,0.68 1.22,1.27 2.06,1.76 1.4,0.81 2.99,1.34 4.6,1.71 4.22,0.95 8.64,1.27 12.98,1.03 0.43,-0.02 0.85,-0.09 1.28,-0.12 0.04,0.02 0.06,0.01 0.09,-0.01 0.58,-0.05 1.16,-0.1 1.73,-0.17 0.01,0 0.01,0 0.02,0 0.23,-0.03 0.46,-0.04 0.68,-0.07 0.5,-0.07 1.07,-0.14 1.62,-0.26 0.27,0.29 0.72,0.37 1.02,0.14 0.09,0.03 0.17,0.05 0.26,0.08 -0.12,0.22 -0.06,0.48 0.18,0.65 0.32,0.23 0.76,0.25 1.14,0.33 0.35,0.08 0.71,0.15 1.05,0.26 0.37,0.12 0.72,0.27 1.06,0.44 -0.83,0.13 -1.65,0.31 -2.48,0.46 -1.08,0.2 -2.17,0.4 -3.25,0.61 -0.17,0.03 -0.1,0.29 0.07,0.27 1.07,-0.18 2.14,-0.35 3.21,-0.54 0.97,-0.17 1.96,-0.29 2.93,-0.5 0.15,0.09 0.31,0.18 0.46,0.28 0.01,0.01 0.02,0.02 0.03,0.03 -0.1,0.03 -0.2,0.06 -0.3,0.09 -0.2,0.05 -0.4,0.09 -0.61,0.13 -0.44,0.09 -0.88,0.18 -1.32,0.27 -0.88,0.18 -1.76,0.37 -2.63,0.55 -0.15,0.03 -0.08,0.25 0.06,0.22 0.88,-0.17 1.77,-0.33 2.65,-0.5 0.44,-0.09 0.88,-0.17 1.32,-0.26 0.22,-0.04 0.45,-0.09 0.67,-0.11 0.17,-0.02 0.34,-0.04 0.5,-0.09 0.27,0.23 0.52,0.48 0.74,0.75 -0.25,0.03 -0.49,0.06 -0.74,0.1 -0.7,0.13 -1.38,0.32 -2.04,0.56 -0.2,0.07 -0.12,0.4 0.09,0.33 0.66,-0.23 1.33,-0.41 2.01,-0.54 0.31,-0.06 0.61,-0.1 0.92,-0.13 0.13,0.19 0.27,0.37 0.39,0.57 -0.26,0.08 -0.5,0.16 -0.67,0.2 -1.23,0.34 -2.42,0.77 -3.66,1.05 -2.49,0.58 -5.06,1.09 -7.6,1.4 -0.27,0.03 -0.29,0.44 0,0.44 1.16,0.02 2.3,0.06 3.45,0 1.13,-0.06 2.25,-0.17 3.38,-0.32 1.15,-0.15 2.29,-0.35 3.44,-0.52 0.54,-0.08 1.06,-0.18 1.59,-0.32 0.3,-0.08 0.62,-0.15 0.93,-0.24 0.03,0.07 0.07,0.14 0.1,0.22 0.07,0.15 0.14,0.29 0.21,0.44 -0.75,0.27 -1.47,0.64 -2.2,0.95 -0.83,0.35 -1.68,0.66 -2.51,1.01 -0.17,0.07 -0.1,0.36 0.08,0.29 0.84,-0.32 1.66,-0.69 2.5,-1.01 0.77,-0.29 1.56,-0.53 2.32,-0.87 0.36,0.7 0.8,1.34 1.34,1.89 -0.38,0.04 -0.75,0.11 -1.12,0.16 -0.51,0.07 -1.02,0.14 -1.52,0.21 -1.01,0.14 -2.03,0.3 -3.04,0.46 -0.2,0.03 -0.15,0.37 0.05,0.35 1,-0.12 1.99,-0.24 2.99,-0.38 l 1.53,-0.21 c 0.5,-0.07 1.03,-0.1 1.52,-0.22 0,0 0.01,-0.01 0.01,-0.01 0.22,0.18 0.44,0.35 0.69,0.5 -0.11,0 -0.23,0 -0.34,0 -0.47,0.01 -0.94,0.04 -1.41,0.1 -0.9,0.11 -1.79,0.3 -2.66,0.58 -0.22,0.07 -0.13,0.41 0.09,0.34 0.85,-0.26 1.73,-0.44 2.61,-0.53 0.42,-0.04 0.84,-0.06 1.26,-0.07 0.41,0 0.89,0.08 1.29,-0.02 0.36,0.14 0.73,0.25 1.11,0.32 -3.76,0.83 -7.58,1.41 -11.41,1.77 -8.36,0.78 -16.7,0.46 -25.05,-0.32 -3.77,-0.35 -7.87,-1.09 -10.54,-3.98 -0.05,0.23 -0.18,0.43 -0.37,0.56 -0.06,0.1 -0.15,0.19 -0.24,0.26 v 0.51 c 0.31,0.34 0.65,0.64 1,0.93 0.02,0.49 0.05,0.97 0.07,1.46 0.01,0.11 0.01,0.21 0.02,0.32 -0.25,-0.16 -0.54,-0.35 -0.83,-0.53 z m 32.27,-23.39 c 0,-0.12 0,-0.24 0,-0.36 -0.01,-0.16 -0.02,-0.32 -0.03,-0.48 0.3,-0.05 0.6,-0.09 0.9,-0.15 0.02,0.1 0.03,0.21 0.06,0.31 0.06,0.18 0.15,0.38 0.28,0.54 -0.4,0.05 -0.81,0.1 -1.21,0.14 z m 2.22,-1.27 c 0.01,0.1 0.01,0.21 0.03,0.31 0.02,0.11 0.04,0.21 0.07,0.32 0.01,0.05 0.04,0.08 0.06,0.12 -0.25,0.06 -0.51,0.12 -0.76,0.18 -0.04,0.01 -0.06,0.03 -0.08,0.06 -0.02,-0.07 -0.04,-0.14 -0.06,-0.22 -0.04,-0.11 -0.07,-0.22 -0.1,-0.32 -0.03,-0.09 -0.03,-0.18 -0.05,-0.26 0.29,-0.06 0.59,-0.13 0.89,-0.19 z m 4.82,-0.35 c 0,0 0,0 0,0 -0.37,0.1 -0.73,0.18 -1.1,0.27 -0.29,0.07 -0.59,0.14 -0.88,0.21 -0.01,-0.03 -0.01,-0.07 -0.02,-0.1 0.27,-0.05 0.54,-0.1 0.81,-0.15 0.36,-0.07 0.72,-0.14 1.07,-0.2 0.04,-0.02 0.08,-0.03 0.12,-0.03 z m -2.37,0.93 c 0,0.01 0.01,0.02 0.01,0.03 -0.21,0.04 -0.42,0.07 -0.64,0.11 0.22,-0.04 0.43,-0.09 0.63,-0.14 z m 6.3,0.28 c 0.04,-0.03 0.08,-0.08 0.13,-0.12 0.15,0.08 0.31,0.15 0.47,0.23 0.4,0.21 0.81,0.41 1.2,0.65 0.77,0.47 1.48,1.03 2.2,1.57 0.6,0.44 1.22,0.85 1.88,1.2 -0.13,0.03 -0.26,0.04 -0.38,0.08 -0.44,0.13 -0.84,0.32 -1.23,0.54 -0.49,-0.22 -1.04,0.05 -1.21,0.61 -0.1,0.35 -0.02,0.68 0.17,0.94 -0.05,0.27 -0.05,0.54 0,0.79 0.05,0.27 0.16,0.52 0.31,0.74 -1.51,-0.47 -2.99,-1.05 -4.41,-1.75 -1.17,-0.57 -2.28,-1.23 -3.38,-1.92 -0.55,-0.34 -1.09,-0.7 -1.62,-1.07 -0.29,-0.2 -0.6,-0.44 -0.92,-0.64 0.97,-0.14 1.94,-0.28 2.89,-0.46 1.35,-0.23 2.78,-0.49 3.9,-1.39 z m 3.04,-1.7 c 0.12,0.15 0.26,0.28 0.4,0.41 -0.06,0.05 -0.12,0.1 -0.17,0.15 -0.17,0.17 -0.36,0.34 -0.53,0.52 -0.07,-0.04 -0.14,-0.09 -0.21,-0.13 0.12,-0.27 0.25,-0.54 0.4,-0.79 0.03,-0.05 0.08,-0.11 0.11,-0.16 z m 10.48,9.49 c 0.05,-0.02 0.09,-0.04 0.14,-0.05 0,0.01 0,0.02 0,0.03 0,0.52 0,1.05 -0.02,1.57 -0.02,0.52 -0.05,1.05 -0.09,1.57 -0.01,0.12 -0.03,0.25 -0.05,0.39 -0.31,0.1 -0.63,0.19 -0.94,0.29 -0.11,0.01 -0.2,0.04 -0.29,0.09 -0.66,0.21 -1.32,0.43 -1.99,0.62 -0.62,0.17 -1.24,0.35 -1.87,0.52 -0.37,0.1 -0.73,0.21 -1.08,0.34 -0.03,-0.34 -0.07,-0.68 -0.09,-1.03 -0.04,-0.69 -0.05,-1.38 -0.07,-2.07 0.01,0 0.03,0 0.04,0 1.23,-0.31 2.44,-0.82 3.63,-1.27 0.58,-0.22 1.16,-0.44 1.73,-0.66 0.32,-0.1 0.64,-0.22 0.95,-0.34 z m -9.16,13.53 c -0.69,-0.13 -1.35,-0.44 -1.91,-0.87 -1.01,-0.79 -1.49,-1.97 -1.99,-3.13 0,-0.03 0.02,-0.06 0.02,-0.09 0,-0.4 -0.17,-0.62 -0.4,-0.73 -0.05,-0.09 -0.08,-0.19 -0.13,-0.28 -0.22,-0.41 -0.48,-0.8 -0.76,-1.17 0.01,-0.11 0.02,-0.23 0.02,-0.34 0.01,-0.19 0.01,-0.39 0.01,-0.58 0,-0.15 -0.01,-0.31 -0.01,-0.46 0.32,0.05 0.64,0.1 0.95,0.11 0.05,0 0.08,-0.01 0.12,-0.02 l 0.04,0.36 c 0.02,0.15 0.03,0.31 0.05,0.46 0.02,0.16 0.03,0.32 0.09,0.47 0.04,0.09 0.2,0.07 0.22,-0.03 0.03,-0.15 0,-0.3 -0.01,-0.45 -0.01,-0.15 -0.03,-0.31 -0.05,-0.46 -0.01,-0.13 -0.03,-0.26 -0.04,-0.38 0.1,0.02 0.19,0.04 0.28,0.06 0.22,0.05 0.45,0.08 0.67,0.12 0.01,0.47 0.03,0.95 0.05,1.42 0.01,0.32 0.02,0.65 0.05,0.97 0.03,0.3 0.05,0.62 0.12,0.91 0.01,0.05 0.09,0.05 0.1,0 0.04,-0.29 0.03,-0.61 0.03,-0.91 0,-0.32 -0.03,-0.65 -0.05,-0.97 -0.03,-0.46 -0.06,-0.92 -0.1,-1.39 0.23,0.04 0.45,0.08 0.68,0.12 0,0.46 -0.01,0.91 -0.01,1.37 0,0.3 -0.01,0.61 0,0.92 0,0.14 0.02,0.28 0.02,0.42 0.01,0.16 0.05,0.29 0.08,0.44 0.01,0.07 0.14,0.07 0.15,0 0.03,-0.15 0.07,-0.29 0.08,-0.44 0.01,-0.14 0.02,-0.28 0.02,-0.42 0.01,-0.3 0,-0.61 0,-0.92 0,-0.44 -0.01,-0.87 -0.01,-1.31 0.31,0.05 0.61,0.09 0.92,0.14 0,0.29 0,0.57 0,0.86 0,0.22 0,0.44 0,0.66 0,0.2 -0.02,0.44 0.03,0.63 0.02,0.07 0.13,0.07 0.15,0 0.05,-0.19 0.03,-0.43 0.03,-0.63 0,-0.22 0,-0.44 0,-0.66 0,-0.27 0,-0.55 0,-0.82 0.47,0.07 0.93,0.15 1.4,0.22 0,0.4 0.04,0.81 0.05,1.2 0.02,0.67 0.05,1.33 0.07,2 0.04,1.21 0.08,2.41 0.12,3.62 -0.36,-0.01 -0.79,0.05 -1.15,-0.02 z m -12.11,-11.87 c -0.03,-0.79 -0.05,-1.59 -0.06,-2.38 -0.03,-1.37 -0.01,-2.74 -0.03,-4.11 0.29,0.32 0.65,0.6 0.96,0.85 0.53,0.43 1.09,0.84 1.65,1.23 1.12,0.78 2.32,1.45 3.53,2.06 2.45,1.23 5.05,2.14 7.71,2.79 0.05,0.01 0.09,0 0.14,0 -0.08,0.74 -0.13,1.49 -0.13,2.24 0,0.3 0.02,0.6 0.03,0.9 -0.43,-0.06 -0.86,-0.12 -1.29,-0.19 -0.05,-0.09 -0.1,-0.17 -0.14,-0.26 -0.13,-0.24 -0.27,-0.48 -0.4,-0.71 -0.06,-0.11 -0.17,-0.1 -0.25,-0.04 -0.05,-0.17 -0.1,-0.34 -0.14,-0.5 -0.03,-0.11 -0.15,-0.17 -0.25,-0.14 -0.11,0.03 -0.18,0.15 -0.14,0.25 0.07,0.25 0.14,0.49 0.21,0.74 0.04,0.12 0.07,0.25 0.11,0.37 0.02,0.06 0.05,0.11 0.08,0.16 -0.23,-0.03 -0.45,-0.07 -0.68,-0.1 -0.32,-0.04 -0.65,-0.08 -0.97,-0.13 0.03,-0.12 0.04,-0.25 0.04,-0.38 0,-0.17 0,-0.33 0,-0.5 0,-0.34 0,-0.68 0,-1.02 0,-0.24 -0.37,-0.24 -0.37,0 0,0.34 0,0.68 0,1.02 0,0.17 0,0.33 0,0.5 0,0.12 0.01,0.23 0.03,0.34 -0.22,-0.03 -0.43,-0.06 -0.64,-0.08 -0.16,-0.02 -0.34,-0.04 -0.53,-0.06 -0.08,-0.07 -0.18,-0.12 -0.29,-0.16 -0.71,-0.21 -1.5,-0.28 -2.23,-0.4 -0.75,-0.13 -1.49,-0.24 -2.24,-0.36 -0.7,-0.11 -1.41,-0.23 -2.11,-0.33 -0.08,-0.35 -0.17,-0.71 -0.24,-1.06 -0.1,-0.5 -0.18,-1.01 -0.23,-1.52 -0.11,-1.02 -0.11,-2.04 -0.02,-3.06 0.02,-0.21 -0.3,-0.21 -0.32,0 -0.11,1.05 -0.11,2.12 0,3.17 0.05,0.5 0.13,1.01 0.23,1.51 0.06,0.31 0.14,0.62 0.23,0.92 -0.16,-0.02 -0.32,-0.03 -0.48,-0.04 -0.03,-0.2 -0.18,-0.39 -0.42,-0.47 -0.07,-0.02 -0.15,-0.02 -0.22,-0.04 -0.08,-0.33 -0.12,-0.68 -0.13,-1.01 z m 11.52,-10.44 c 0.2,0.17 0.41,0.34 0.63,0.49 0.01,0.01 0.02,0.02 0.02,0.03 -0.03,0.03 -0.07,0.06 -0.1,0.09 -0.16,0.15 -0.33,0.3 -0.49,0.45 -0.22,-0.16 -0.45,-0.3 -0.69,-0.45 0.13,-0.14 0.25,-0.27 0.39,-0.4 0.08,-0.07 0.16,-0.14 0.24,-0.21 z m 4.59,-0.23 0.15,0.21 c 0.09,0.12 0.17,0.24 0.26,0.36 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.25,-0.06 -0.51,-0.14 -0.76,-0.23 0.12,-0.11 0.22,-0.23 0.34,-0.33 0.01,-0.02 0.03,-0.03 0.04,-0.04 z m 2.75,-0.88 c 0.03,0.03 0.06,0.05 0.1,0.08 0.07,0.06 0.14,0.11 0.2,0.17 0.04,0.03 0.08,0.07 0.12,0.1 0.05,0.03 0.1,0.04 0.16,0.05 0.14,0.03 0.25,-0.06 0.27,-0.18 0.07,0.17 0.11,0.35 0.01,0.56 -0.17,0.37 -0.51,0.59 -0.88,0.72 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 0.17,-0.18 0.34,-0.36 0.5,-0.54 0.2,-0.21 -0.11,-0.53 -0.32,-0.32 -0.15,0.15 -0.3,0.31 -0.45,0.46 -0.11,-0.16 -0.22,-0.32 -0.33,-0.48 0.22,-0.2 0.44,-0.39 0.65,-0.58 z m -1.11,4.14 c -0.26,0.19 -0.53,0.37 -0.8,0.54 -0.14,0.08 -0.27,0.16 -0.41,0.23 -0.23,-0.08 -0.47,-0.13 -0.72,-0.21 -0.01,0 -0.02,-0.01 -0.03,-0.01 0.05,-0.06 0.11,-0.11 0.16,-0.16 0.1,-0.11 0.21,-0.22 0.31,-0.33 0.01,0 0.01,0.01 0.02,0.02 0.14,0.1 0.31,-0.06 0.27,-0.21 -0.01,-0.03 -0.03,-0.05 -0.03,-0.08 0.09,-0.09 0.17,-0.18 0.26,-0.28 0.44,0.09 0.89,0.13 1.33,0.12 -0.06,0.08 -0.14,0.16 -0.2,0.24 -0.06,0.05 -0.1,0.09 -0.16,0.13 z m -4.24,-0.58 c 0.05,-0.05 0.09,-0.1 0.14,-0.15 0,0 0,0 0,0 0.08,0.1 0.18,0.22 0.28,0.33 -0.02,0.01 -0.03,0.03 -0.05,0.04 -0.12,-0.08 -0.25,-0.14 -0.37,-0.22 z m 0.08,-0.98 c -0.06,-0.07 -0.12,-0.14 -0.18,-0.21 0.09,0.05 0.19,0.1 0.28,0.15 -0.03,0.03 -0.05,0.06 -0.08,0.09 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 z m 0.63,0.2 c 0.17,0.08 0.35,0.16 0.52,0.23 -0.05,0.05 -0.11,0.09 -0.16,0.14 -0.1,0.09 -0.2,0.18 -0.3,0.26 -0.07,-0.09 -0.14,-0.17 -0.21,-0.25 -0.03,-0.04 -0.07,-0.08 -0.1,-0.12 0.09,-0.09 0.17,-0.17 0.25,-0.26 z m 0.68,0.77 c 0.12,-0.11 0.25,-0.22 0.37,-0.33 0.1,0.04 0.19,0.07 0.29,0.11 0.08,0.12 0.16,0.23 0.24,0.35 0.03,0.04 0.06,0.08 0.09,0.12 -0.1,0.11 -0.21,0.22 -0.31,0.32 -0.1,0.1 -0.22,0.23 -0.31,0.37 -0.21,-0.08 -0.42,-0.15 -0.61,-0.25 -0.11,-0.06 -0.21,-0.13 -0.32,-0.19 0.18,-0.17 0.37,-0.33 0.56,-0.5 z m 3.32,-2.16 c -0.09,0.09 -0.18,0.19 -0.27,0.28 -0.2,0.01 -0.41,0 -0.59,-0.02 -0.04,-0.01 -0.08,-0.02 -0.12,-0.02 -0.02,-0.03 -0.05,-0.06 -0.07,-0.09 0.24,-0.22 0.48,-0.43 0.72,-0.65 0.1,0.16 0.22,0.33 0.33,0.5 z m -5.81,0.74 c 0.03,-0.03 0.06,-0.06 0.1,-0.09 0.04,0.04 0.07,0.09 0.11,0.13 -0.13,0.15 -0.25,0.32 -0.37,0.48 -0.07,-0.05 -0.15,-0.1 -0.22,-0.16 0.12,-0.12 0.25,-0.24 0.38,-0.36 z m 0.54,0.45 c 0.08,0.09 0.15,0.19 0.23,0.28 0.04,0.04 0.07,0.09 0.11,0.13 -0.07,0.09 -0.14,0.18 -0.21,0.27 -0.15,-0.11 -0.3,-0.21 -0.45,-0.32 0.11,-0.13 0.22,-0.24 0.32,-0.36 z m 1.98,4.23 c 0.54,-0.03 1.09,-0.01 1.63,0.09 0.26,0.05 0.52,0.1 0.77,0.18 0,0 0.03,0.01 0.07,0.02 -0.07,0.02 -0.14,0.03 -0.22,0.03 -0.29,0.02 -0.57,0 -0.86,0 -0.66,0 -1.31,0 -1.97,-0.01 -0.42,0 -0.85,-0.01 -1.27,-0.01 0.08,-0.02 0.16,-0.04 0.24,-0.06 0.52,-0.13 1.06,-0.21 1.61,-0.24 z m -1.31,1.65 c 0.74,0.01 1.49,0.03 2.23,0.05 0.66,0.02 1.41,0.13 2.05,-0.1 0.04,-0.01 0.07,-0.05 0.11,-0.06 0.13,0.34 0.17,0.66 -0.1,0.87 -0.28,0.22 -0.87,0.17 -1.2,0.2 -0.56,0.04 -1.11,0.06 -1.67,0.07 -0.85,0.02 -1.83,0.02 -2.52,-0.57 -0.17,-0.15 -0.28,-0.31 -0.36,-0.49 0.48,0.07 1,0.02 1.46,0.03 z m -1.75,6.1 c 0.06,0.1 0.12,0.21 0.17,0.31 0.01,0.01 0.01,0.02 0.02,0.03 -0.06,-0.01 -0.13,-0.02 -0.19,-0.03 0.01,-0.03 0.02,-0.07 0.02,-0.1 0,-0.08 0,-0.14 -0.02,-0.21 z m -6.24,0.99 c 0.31,0.05 0.63,0.11 0.95,0.17 0,0.17 -0.01,0.34 -0.01,0.52 0,0.16 0,0.32 0.01,0.48 -0.42,-0.47 -0.89,-0.89 -1.41,-1.25 0.15,0.03 0.3,0.06 0.46,0.08 z m 11.44,-10.36 c -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 0.04,-0.02 0.09,-0.05 0.13,-0.07 0.02,-0.01 0.05,-0.03 0.07,-0.05 -0.04,0.07 -0.08,0.14 -0.11,0.21 -0.02,-0.03 -0.02,-0.05 -0.05,-0.07 z m 0.93,-5.89 c 0.1,0.08 0.2,0.16 0.3,0.24 0,0 0.01,0.01 0.01,0.01 0.06,0.05 0.13,0.1 0.19,0.15 -0.18,0.16 -0.37,0.32 -0.55,0.48 -0.02,-0.03 -0.04,-0.06 -0.06,-0.09 -0.11,-0.15 -0.26,-0.28 -0.38,-0.43 0.17,-0.11 0.33,-0.23 0.49,-0.36 z m -0.46,1.06 c 0.03,0.04 0.05,0.08 0.08,0.13 -0.25,0.22 -0.5,0.44 -0.75,0.65 -0.08,-0.11 -0.16,-0.22 -0.24,-0.34 -0.06,-0.08 -0.11,-0.15 -0.17,-0.23 0.24,-0.21 0.49,-0.42 0.74,-0.63 0.11,0.15 0.24,0.27 0.34,0.42 z m -1.38,-0.21 c -0.09,-0.12 -0.17,-0.24 -0.26,-0.36 0.24,-0.19 0.47,-0.38 0.72,-0.55 0.09,0.11 0.18,0.21 0.26,0.32 -0.24,0.19 -0.48,0.39 -0.72,0.59 z m -0.35,0.29 c -0.02,0.02 -0.05,0.04 -0.08,0.06 -0.19,0.17 -0.37,0.36 -0.56,0.54 -0.17,-0.07 -0.34,-0.13 -0.51,-0.2 0.1,-0.09 0.19,-0.2 0.3,-0.29 0.19,-0.17 0.4,-0.32 0.6,-0.48 z m -50.04,26.27 c -0.01,-0.2 -0.02,-0.41 -0.04,-0.61 -0.03,-0.38 -0.05,-0.76 -0.08,-1.14 0.39,0.29 0.79,0.56 1.22,0.8 -0.02,0.33 -0.03,0.66 0.01,0.99 0.03,0.24 0.08,0.47 0.14,0.7 -0.42,-0.22 -0.84,-0.48 -1.25,-0.74 z m 51.9,-0.43 c -0.06,-0.17 -0.11,-0.34 -0.14,-0.52 -0.03,-0.18 -0.03,-0.36 -0.02,-0.54 0.5,-0.22 0.99,-0.45 1.46,-0.73 0.31,-0.18 0.62,-0.38 0.92,-0.59 0,0.19 -0.01,0.38 -0.01,0.57 -0.01,0.21 -0.01,0.42 -0.01,0.63 -0.5,0.29 -0.99,0.59 -1.51,0.86 -0.22,0.12 -0.46,0.21 -0.69,0.32 z m 4.85,-5.19 c 0.03,0.06 0.07,0.11 0.09,0.17 0.23,0.67 0.1,1.43 -0.27,2.07 -0.08,0.15 -0.21,0.26 -0.31,0.39 -0.02,-0.07 -0.03,-0.15 -0.05,-0.22 -0.07,-0.23 -0.14,-0.46 -0.21,-0.69 -0.04,-0.12 -0.16,-0.2 -0.29,-0.16 -0.12,0.04 -0.2,0.16 -0.16,0.29 0.06,0.23 0.12,0.47 0.19,0.7 0.04,0.15 0.1,0.3 0.14,0.44 -0.41,0.22 -0.82,0.45 -1.23,0.69 0,-0.1 -0.01,-0.21 -0.01,-0.31 -0.01,-0.31 -0.02,-0.62 -0.02,-0.93 0.85,-0.67 1.62,-1.49 2.13,-2.44 z m -2.84,-4.06 c 0.09,0.96 0.24,1.91 0.45,2.84 0.08,0.33 0.41,0.57 0.75,0.59 -0.76,0.86 -1.57,1.65 -2.6,2.27 -1.18,0.72 -2.47,1.2 -3.79,1.57 0.01,-0.08 0.03,-0.16 0.01,-0.24 0.03,-0.07 0.05,-0.16 0.04,-0.26 -0.05,-1.33 -0.1,-2.67 -0.15,-4 -0.02,-0.67 -0.05,-1.33 -0.07,-2 -0.01,-0.29 -0.01,-0.6 -0.01,-0.92 0.05,-0.01 0.1,-0.01 0.15,-0.02 0.03,0.28 0.05,0.56 0.08,0.83 0.02,0.17 0.03,0.34 0.05,0.51 0.02,0.16 0.02,0.34 0.07,0.49 0.03,0.07 0.15,0.09 0.17,0 0.03,-0.16 -0.01,-0.33 -0.02,-0.49 -0.01,-0.17 -0.03,-0.34 -0.05,-0.51 -0.03,-0.29 -0.06,-0.57 -0.09,-0.86 0.17,-0.02 0.33,-0.04 0.5,-0.05 0.03,1.76 -0.01,3.55 0.25,5.29 0.01,0.06 0.1,0.04 0.1,-0.01 0.15,-1.78 0,-3.6 -0.08,-5.39 0,-0.03 -0.02,-0.05 -0.03,-0.07 0.34,-0.03 0.67,-0.09 1.02,-0.16 0,0.01 -0.02,0.02 -0.02,0.04 0,0.47 0,0.95 0,1.42 0,0.23 0,0.47 0,0.7 0,0.23 0,0.47 0.03,0.7 0.02,0.09 0.17,0.09 0.19,0 0.04,-0.23 0.03,-0.46 0.03,-0.7 0,-0.23 0,-0.47 0,-0.7 0,-0.47 0,-0.95 0,-1.42 0,-0.04 -0.02,-0.07 -0.04,-0.09 0.19,-0.04 0.38,-0.09 0.56,-0.14 0.02,0.38 0.05,0.77 0.07,1.15 0.03,0.49 0.04,1 0.16,1.49 0.02,0.09 0.14,0.06 0.15,-0.02 0.05,-0.49 0,-1 -0.03,-1.5 -0.03,-0.4 -0.05,-0.79 -0.08,-1.19 0.31,-0.07 0.62,-0.14 0.92,-0.22 0.41,-0.11 0.8,-0.25 1.21,-0.37 0,0.03 0,0.06 0,0.1 0.03,0.46 0.06,0.9 0.1,1.34 z m 0.36,-8.26 c -0.08,0.03 -0.16,0.06 -0.24,0.09 -0.13,0.05 -0.26,0.1 -0.39,0.15 0.02,-0.15 0.01,-0.28 0,-0.43 0.2,0.06 0.41,0.13 0.61,0.18 0.01,0.01 0.02,0.01 0.02,0.01 z m -2,-10.46 c 0.01,0 0.01,-0.01 0.01,-0.01 -0.06,0.12 -0.1,0.24 -0.11,0.38 -0.05,0.01 -0.11,0.03 -0.14,0.09 -0.01,0.01 0,0.03 -0.01,0.05 -0.02,0.01 -0.04,0.02 -0.05,0.03 -0.02,0.02 -0.02,0.05 -0.03,0.08 -0.18,0.13 -0.36,0.25 -0.53,0.38 -0.08,-0.09 -0.16,-0.19 -0.24,-0.28 0.37,-0.25 0.73,-0.5 1.1,-0.72 z m -2,0.32 c 0.02,-0.02 0.02,-0.04 0.03,-0.07 0.1,0.11 0.18,0.23 0.28,0.34 -0.24,0.16 -0.48,0.35 -0.71,0.52 -0.06,-0.08 -0.11,-0.16 -0.17,-0.24 0.18,-0.18 0.38,-0.36 0.57,-0.55 z m -0.9,0.87 0.14,0.2 c -0.21,0.16 -0.43,0.31 -0.64,0.49 -0.15,0.13 -0.28,0.27 -0.43,0.4 -0.03,-0.04 -0.05,-0.07 -0.08,-0.11 0.34,-0.32 0.68,-0.65 1.01,-0.98 z m -1.97,0.28 c 0.12,0.18 0.25,0.36 0.37,0.54 -0.22,-0.11 -0.43,-0.22 -0.64,-0.35 0.09,-0.05 0.18,-0.12 0.27,-0.19 z m -3.68,0.92 c 0.05,-0.07 0.1,-0.14 0.15,-0.21 0.1,-0.14 0.19,-0.28 0.29,-0.41 0.1,-0.14 0.17,-0.29 0.24,-0.44 0.01,-0.02 0.02,-0.04 0.03,-0.06 0.09,0.16 0.22,0.3 0.33,0.45 -0.07,0.11 -0.16,0.2 -0.23,0.31 -0.16,0.26 -0.3,0.53 -0.42,0.81 -0.19,-0.09 -0.38,-0.16 -0.57,-0.23 0,0 0.01,0 0.01,-0.01 0.07,-0.05 0.12,-0.13 0.17,-0.21 z m -4.57,0.33 c 0.29,-0.07 0.6,-0.12 0.91,-0.19 -0.88,0.43 -1.93,0.58 -2.88,0.76 -0.34,0.07 -0.69,0.11 -1.04,0.18 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 0.31,-0.07 0.61,-0.14 0.92,-0.21 0.71,-0.16 1.41,-0.32 2.11,-0.48 z m -0.51,-0.91 c 0.02,0.02 0.03,0.03 0.05,0.05 0.01,0.01 0.02,0.02 0.02,0.03 0,0 0.03,0.04 0.02,0.02 -0.02,-0.02 0.01,0.02 0.01,0.02 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.02 0.02,0.04 0.03,0.06 0.02,0.04 0.05,0.08 0.07,0.13 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,-0.02 0.01,0.02 0.01,0.04 0,0 0,0 0,0 -0.16,0.02 -0.33,0.04 -0.49,0.07 0,-0.07 0,-0.15 0,-0.22 0,-0.13 0,-0.25 0,-0.38 0.01,0 0.02,0.01 0.02,0.01 0,0 0,0 0,0 0.04,0.02 0.08,0.04 0.12,0.07 0.01,0.01 0.02,0.01 0.03,0.02 0,0 0.01,0.01 0.01,0.01 0,0 0.02,0.01 0.02,0.02 0.05,0 0.05,0.01 0.06,0.02 z m -1.41,0.05 c 0.26,-0.09 0.52,-0.18 0.79,-0.28 0,0.15 0,0.3 0,0.45 0,0.1 0,0.2 0,0.29 -0.02,0 -0.05,0.01 -0.07,0.01 -0.37,0.07 -0.74,0.14 -1.12,0.21 l -0.82,0.16 c 0,-0.04 -0.02,-0.08 -0.02,-0.13 -0.01,-0.13 0.02,-0.25 0.03,-0.37 0.4,-0.11 0.81,-0.2 1.21,-0.34 z m -1.68,0.48 c 0,0.1 -0.02,0.2 -0.02,0.29 0,0.05 0.02,0.11 0.03,0.16 l -0.96,0.18 c -0.15,0.03 -0.09,0.27 0.07,0.24 0.31,-0.06 0.62,-0.12 0.93,-0.18 0.01,0.04 0.01,0.08 0.02,0.12 -0.62,0.15 -1.23,0.29 -1.85,0.44 0,-0.03 0,-0.07 -0.01,-0.1 -0.02,-0.11 -0.04,-0.22 -0.05,-0.33 -0.02,-0.11 -0.02,-0.22 -0.03,-0.34 0.21,-0.05 0.42,-0.08 0.63,-0.13 0.42,-0.1 0.82,-0.23 1.24,-0.35 z m -2.32,-0.24 c -0.01,0.11 -0.02,0.22 -0.02,0.34 -0.31,0.07 -0.62,0.15 -0.93,0.21 0,-0.12 0,-0.25 0.02,-0.37 0.3,-0.05 0.61,-0.11 0.93,-0.18 z m -1.41,0.25 c -0.01,0.12 -0.02,0.25 -0.01,0.37 -0.29,0.05 -0.57,0.1 -0.86,0.15 -0.01,-0.13 -0.01,-0.25 -0.02,-0.38 0.3,-0.04 0.6,-0.09 0.89,-0.14 z m -1.39,0.21 c 0.01,0.11 0.01,0.22 0.02,0.33 0,0.02 0,0.04 0,0.06 -0.25,0.04 -0.5,0.09 -0.75,0.13 -0.27,0.04 -0.54,0.06 -0.81,0.09 -0.01,-0.07 -0.03,-0.13 -0.04,-0.2 -0.01,-0.09 0.01,-0.18 0.01,-0.26 0.52,-0.04 1.05,-0.08 1.57,-0.15 z m -1.99,0.66 c -0.5,0.06 -1,0.12 -1.5,0.16 -0.03,-0.06 -0.07,-0.11 -0.09,-0.17 -0.05,-0.12 -0.08,-0.24 -0.12,-0.37 0.56,-0.01 1.12,-0.04 1.68,-0.08 0,0.07 -0.02,0.15 -0.01,0.22 0,0.08 0.03,0.16 0.04,0.24 z m -2.21,-0.38 c 0.05,0.19 0.1,0.39 0.2,0.56 0,0 0,0 0,0 -0.47,0.03 -0.94,0.06 -1.41,0.07 -0.03,-0.15 -0.06,-0.31 -0.09,-0.46 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 0.44,0.01 0.88,-0.01 1.33,-0.01 z m -1.68,0 c 0.01,0.08 0.03,0.16 0.04,0.25 0.02,0.13 0.05,0.27 0.07,0.41 -0.57,0.01 -1.14,0 -1.72,0 -0.03,-0.14 -0.07,-0.27 -0.1,-0.41 -0.02,-0.12 -0.02,-0.24 -0.03,-0.36 0.59,0.03 1.16,0.09 1.74,0.11 z m -2.12,-0.15 c 0.01,0.14 0.01,0.28 0.03,0.42 0.02,0.13 0.06,0.25 0.08,0.38 -0.39,-0.01 -0.78,-0.02 -1.17,-0.04 -0.01,-0.05 -0.02,-0.1 -0.03,-0.15 -0.03,-0.2 -0.06,-0.39 -0.1,-0.58 -0.01,-0.06 -0.02,-0.11 -0.03,-0.17 0.41,0.05 0.81,0.1 1.22,0.14 z m -2.35,0.6 c -0.1,-0.16 -0.19,-0.34 -0.25,-0.52 -0.05,-0.15 -0.09,-0.3 -0.11,-0.46 0.37,0.06 0.73,0.12 1.1,0.17 0.02,0.1 0.04,0.21 0.06,0.31 0.03,0.19 0.07,0.37 0.11,0.56 0,0.02 0.01,0.05 0.01,0.07 -0.29,-0.02 -0.58,-0.04 -0.86,-0.06 -0.02,-0.02 -0.04,-0.05 -0.06,-0.07 z m 3.02,0.81 c -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 0.24,0 0.49,0.02 0.73,0.02 0.32,0 0.65,-0.03 0.97,-0.03 0.01,0.04 0.02,0.08 0.03,0.12 0.05,0.14 0.28,0.13 0.28,-0.04 0,-0.03 -0.01,-0.06 -0.01,-0.09 0.57,-0.02 1.14,-0.04 1.71,-0.08 0.04,0.04 0.08,0.1 0.13,0.13 0.13,0.09 0.24,-0.04 0.23,-0.16 0.46,-0.04 0.92,-0.08 1.38,-0.13 0.04,0.12 0.09,0.23 0.14,0.34 0.05,0.11 0.15,0.21 0.24,0.29 0.1,0.09 0.25,0 0.23,-0.13 -0.02,-0.11 -0.04,-0.22 -0.08,-0.32 -0.03,-0.07 -0.05,-0.14 -0.08,-0.22 0.5,-0.06 0.99,-0.14 1.49,-0.22 0.01,0.12 0.01,0.25 0.02,0.37 0.01,0.15 0.03,0.3 0.04,0.45 -0.17,0.02 -0.34,0.04 -0.5,0.06 -2.3,0.21 -4.61,0.26 -6.91,0.18 0.02,-0.02 0.05,-0.04 0.05,-0.08 0.02,-0.13 -0.03,-0.24 -0.06,-0.34 z m 6.55,2.13 c -0.01,0 -0.02,0 -0.03,0.01 -0.81,0.1 -1.62,0.15 -2.43,0.17 -0.54,0.01 -1.08,-0.04 -1.61,-0.07 1.36,0 2.72,-0.03 4.07,-0.11 z m -15.21,-0.88 c -0.01,0.02 -0.03,0.04 -0.02,0.07 0.03,0.46 0.06,0.92 0.09,1.37 0.02,0.22 0.03,0.44 0.05,0.66 0.01,0.12 0.02,0.24 0.03,0.36 0.01,0.13 0.01,0.24 0.1,0.33 0.09,0.09 0.21,0.05 0.28,-0.04 0.08,-0.1 0.05,-0.22 0.05,-0.34 0,-0.1 -0.01,-0.2 -0.02,-0.31 -0.02,-0.23 -0.03,-0.46 -0.05,-0.69 -0.03,-0.45 -0.06,-0.89 -0.1,-1.34 0.53,0.1 1.06,0.19 1.59,0.27 l -0.1,0.97 c -0.02,0.17 -0.04,0.34 -0.05,0.51 -0.01,0.09 -0.01,0.18 -0.02,0.27 -0.01,0.1 -0.02,0.19 0.07,0.27 0.05,0.05 0.14,0.06 0.2,0.03 0.16,-0.1 0.14,-0.35 0.16,-0.52 0.02,-0.18 0.04,-0.36 0.06,-0.54 0.03,-0.31 0.06,-0.63 0.09,-0.94 1.73,0.24 3.49,0.39 5.22,0.49 0.13,0.01 0.26,0 0.38,0.01 1.53,0.34 3.1,0.53 4.67,0.53 0.83,0 1.66,-0.06 2.49,-0.16 0.8,-0.1 1.68,-0.19 2.44,-0.49 0.05,-0.02 0.07,-0.06 0.09,-0.1 0.19,-0.02 0.39,-0.03 0.58,-0.05 0,0.01 -0.01,0.02 -0.01,0.03 -0.06,0.63 -0.08,1.26 -0.1,1.89 -0.06,0.01 -0.11,0.04 -0.11,0.12 -0.01,0.93 -0.01,1.86 -0.02,2.79 -0.01,0.93 -0.06,1.87 0.05,2.79 0.01,0.06 0.05,0.08 0.09,0.09 0,0.19 0,0.38 0,0.58 -0.22,0.03 -0.43,0.05 -0.64,0.08 0.02,-0.36 0.01,-0.73 0.01,-1.1 0,-0.45 0,-0.9 -0.01,-1.35 -0.01,-0.9 -0.02,-1.8 -0.03,-2.69 0,-0.16 -0.25,-0.16 -0.25,0 -0.01,0.9 -0.02,1.8 -0.03,2.69 0,0.43 -0.01,0.86 -0.01,1.29 0,0.4 -0.01,0.8 0.01,1.19 -0.06,0.01 -0.12,0.02 -0.17,0.02 -0.24,0.03 -0.49,0.05 -0.73,0.08 0,-0.07 -0.01,-0.14 -0.01,-0.21 -0.02,-0.6 -0.03,-1.19 -0.05,-1.79 -0.04,-1.23 -0.09,-2.46 -0.14,-3.69 -0.01,-0.13 -0.21,-0.13 -0.21,0 0.02,1.25 0.04,2.5 0.06,3.75 0.01,0.62 0.03,1.23 0.04,1.85 0,0.04 0,0.08 0,0.12 -0.46,0.05 -0.92,0.11 -1.37,0.15 l 0.03,-1.16 c 0.03,-1.04 0.05,-2.07 0.08,-3.11 0,-0.18 -0.27,-0.18 -0.27,0 -0.04,1.02 -0.08,2.03 -0.12,3.05 -0.02,0.42 -0.03,0.84 -0.05,1.25 -0.06,0 -0.12,0.01 -0.18,0.02 -0.45,0.03 -0.9,0.04 -1.35,0.06 0.05,-0.33 0.09,-0.65 0.12,-0.98 0.07,-0.87 0.04,-1.74 -0.05,-2.61 -0.01,-0.09 -0.15,-0.1 -0.15,0 0.07,0.84 0.06,1.67 -0.02,2.51 -0.03,0.36 -0.08,0.73 -0.15,1.09 -0.51,0.02 -1.02,0.06 -1.53,0.07 0,-0.02 0,-0.04 0,-0.05 0.01,-0.32 0.03,-0.63 0.04,-0.95 0.03,-0.62 0.06,-1.24 0.09,-1.87 0.01,-0.17 -0.25,-0.16 -0.26,0 -0.04,0.62 -0.08,1.24 -0.11,1.87 -0.02,0.31 -0.04,0.61 -0.06,0.92 0,0.02 -0.01,0.05 -0.01,0.08 -0.43,0 -0.86,-0.02 -1.29,-0.02 0,-0.04 0,-0.08 0,-0.13 0.01,-0.39 0.02,-0.78 0.03,-1.17 0.02,-0.78 0.04,-1.56 0.05,-2.34 0,-0.1 -0.15,-0.1 -0.16,0 -0.03,0.76 -0.06,1.53 -0.09,2.29 -0.01,0.38 -0.03,0.75 -0.04,1.13 0,0.07 -0.01,0.14 -0.01,0.21 -0.42,-0.01 -0.84,0 -1.26,-0.02 -0.1,-0.01 -0.2,-0.02 -0.3,-0.02 -0.01,-0.08 -0.01,-0.16 -0.02,-0.25 -0.03,-0.38 -0.07,-0.76 -0.1,-1.14 -0.02,-0.21 -0.34,-0.21 -0.33,0 0.03,0.39 0.06,0.77 0.1,1.16 0.01,0.07 0.01,0.13 0.02,0.2 -1.07,-0.07 -2.13,-0.17 -3.19,-0.31 -0.02,-0.1 -0.04,-0.21 -0.06,-0.31 -0.07,-0.39 -0.14,-0.77 -0.21,-1.16 -0.03,-0.16 -0.26,-0.09 -0.24,0.07 0.06,0.38 0.12,0.76 0.18,1.15 l 0.03,0.22 c -0.62,-0.08 -1.23,-0.16 -1.85,-0.27 0.04,-0.27 0.06,-0.55 0.08,-0.82 0.03,-0.39 0.04,-0.78 0.05,-1.17 0.03,-0.78 0.06,-1.56 0.09,-2.34 0.01,-0.22 -0.33,-0.21 -0.34,0 -0.04,0.78 -0.07,1.56 -0.11,2.34 -0.02,0.39 -0.04,0.78 -0.05,1.17 0,0.25 -0.01,0.51 0,0.77 -0.77,-0.14 -1.53,-0.3 -2.29,-0.49 0,-0.01 0,-0.03 -0.01,-0.04 -0.03,-0.15 -0.07,-0.3 -0.1,-0.45 -0.07,-0.31 -0.14,-0.62 -0.21,-0.93 -0.04,-0.19 -0.34,-0.11 -0.3,0.08 0.07,0.31 0.13,0.62 0.2,0.93 0.02,0.1 0.04,0.2 0.06,0.3 -0.31,-0.08 -0.61,-0.18 -0.91,-0.28 0,-0.12 0,-0.25 0,-0.37 0,-0.47 0,-0.95 -0.01,-1.42 0,-0.19 -0.29,-0.19 -0.29,0 0,0.47 0,0.95 -0.01,1.42 0,0.09 0,0.19 0,0.28 -0.15,-0.05 -0.31,-0.09 -0.46,-0.14 -0.11,-0.05 -0.23,-0.11 -0.34,-0.15 -0.03,-0.27 -0.05,-0.54 -0.08,-0.81 -0.01,-0.09 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.02,0.22 0.04,0.43 0.06,0.65 -1.11,-0.52 -2.14,-1.23 -2.86,-2.13 -0.15,-0.4 -0.37,-0.8 -0.49,-1.17 -0.25,-0.75 -0.43,-1.54 -0.51,-2.33 -0.01,-0.09 0,-0.18 -0.01,-0.27 0.03,-0.02 0.06,-0.05 0.07,-0.09 0.13,-0.33 0.14,-0.73 0.19,-1.09 0.26,0.16 0.52,0.29 0.79,0.42 -0.14,0.85 -0.15,1.73 -0.02,2.58 0.07,0.48 0.2,0.95 0.34,1.41 0.13,0.43 0.28,0.9 0.5,1.29 0.05,0.1 0.22,0.03 0.18,-0.08 -0.14,-0.43 -0.33,-0.84 -0.45,-1.28 -0.12,-0.45 -0.2,-0.92 -0.25,-1.39 -0.09,-0.76 -0.09,-1.51 -0.04,-2.27 0.03,0.16 0.07,0.31 0.14,0.44 0.07,0.14 0.28,0.07 0.28,-0.08 0,-0.1 -0.01,-0.19 -0.03,-0.29 0.22,0.1 0.45,0.16 0.67,0.24 0,0.01 0,0.01 0,0.02 -0.02,0.15 -0.05,0.32 -0.01,0.46 0.04,0.13 0.22,0.16 0.29,0.04 0.07,-0.11 0.08,-0.25 0.09,-0.39 0.23,0.07 0.47,0.15 0.7,0.21 0.34,0.28 0.68,0.57 1.05,0.82 0.13,0.09 0.27,-0.11 0.16,-0.21 -0.07,-0.07 -0.15,-0.12 -0.22,-0.19 0,-0.01 0.01,-0.01 0.02,-0.02 0.03,-0.08 0.01,-0.15 -0.01,-0.23 0.11,0.01 0.21,0.05 0.32,0.06 0.15,0.01 0.18,-0.22 0.03,-0.26 -0.15,-0.03 -0.31,-0.08 -0.46,-0.12 -0.03,-0.1 -0.06,-0.2 -0.08,-0.31 -0.06,-0.29 -0.08,-0.58 -0.06,-0.87 0.01,-0.24 0.07,-0.47 0.14,-0.7 0.22,-0.01 0.43,-0.05 0.65,-0.09 0.15,0.05 0.29,0.11 0.44,0.16 -0.12,0.39 -0.21,0.79 -0.22,1.21 -0.01,0.31 0.02,0.62 0.07,0.93 0.05,0.3 0.12,0.63 0.34,0.86 0.09,0.09 0.24,0.02 0.24,-0.1 0,-0.28 -0.11,-0.56 -0.17,-0.84 -0.05,-0.27 -0.08,-0.54 -0.08,-0.81 0,-0.39 0.08,-0.77 0.19,-1.14 0.36,0.09 0.72,0.19 1.08,0.26 0.16,0 0.25,0.01 0.33,0.03 z m -4.16,-0.63 c 0.31,0.08 0.63,0.12 0.94,0.14 -0.07,0.24 -0.14,0.48 -0.16,0.73 -0.03,0.32 -0.01,0.65 0.05,0.97 0,0.03 0.02,0.05 0.02,0.08 -0.09,-0.02 -0.18,-0.04 -0.27,-0.07 -0.24,-0.2 -0.48,-0.4 -0.72,-0.6 0.03,-0.23 0.05,-0.46 0.08,-0.69 0.02,-0.18 0.04,-0.37 0.06,-0.56 z m 0.1,-0.91 c 0.25,0.19 0.48,0.39 0.77,0.54 0.05,0.02 0.1,0.04 0.15,0.06 -0.19,-0.02 -0.38,-0.03 -0.58,-0.07 -0.13,-0.03 -0.26,-0.07 -0.39,-0.1 0.02,-0.15 0.03,-0.29 0.05,-0.43 z m -0.45,0.82 c -0.03,0.21 -0.05,0.41 -0.08,0.62 -0.02,0.15 -0.04,0.29 -0.06,0.44 -0.17,-0.11 -0.4,0.11 -0.23,0.25 0.06,0.05 0.12,0.1 0.18,0.14 0,0.03 -0.01,0.05 -0.01,0.08 0,0.01 0,0.02 0,0.03 -0.17,-0.06 -0.35,-0.11 -0.53,-0.18 -0.09,-0.04 -0.16,-0.09 -0.25,-0.12 -0.01,-0.05 -0.02,-0.1 -0.02,-0.15 -0.03,-0.29 -0.05,-0.59 -0.06,-0.89 0,-0.21 0.02,-0.42 0.03,-0.62 0.32,0.16 0.67,0.29 1.03,0.4 z m -1.39,1.05 c -0.32,-0.16 -0.63,-0.32 -0.93,-0.5 0.03,-0.27 0.07,-0.55 0.1,-0.82 0.03,-0.27 0.06,-0.55 0.09,-0.83 0.23,0.18 0.48,0.35 0.74,0.5 -0.03,0.28 -0.05,0.55 -0.05,0.83 0,0.27 0.02,0.55 0.05,0.82 z m -4.47,-3.46 c 0.31,0.38 0.57,0.79 0.79,1.23 -0.02,0 -0.04,0 -0.06,0.01 -0.04,0.03 -0.07,0.06 -0.11,0.08 -0.15,-0.2 -0.29,-0.41 -0.44,-0.61 -0.06,-0.08 -0.16,-0.12 -0.25,-0.07 -0.08,0.05 -0.12,0.17 -0.07,0.25 0.15,0.22 0.3,0.44 0.45,0.66 -0.1,0.08 -0.2,0.16 -0.3,0.24 -0.25,-0.27 -0.51,-0.55 -0.76,-0.83 -0.06,-0.06 -0.12,-0.13 -0.17,-0.19 0.32,-0.25 0.62,-0.51 0.92,-0.77 z m -1.44,0.71 c -0.09,0.08 -0.18,0.15 -0.27,0.23 -0.27,-0.39 -0.58,-0.76 -0.92,-1.1 0.08,-0.07 0.16,-0.15 0.24,-0.22 0.31,0.36 0.63,0.72 0.95,1.09 z m -7.35,-1.74 c 0.03,0.04 0.06,0.08 0.1,0.12 -0.03,-0.01 -0.07,0 -0.11,0.02 -0.5,0.36 -0.98,0.74 -1.48,1.1 -0.25,-0.17 -0.5,-0.34 -0.74,-0.53 0.28,-0.22 0.56,-0.44 0.84,-0.66 0.46,-0.05 0.92,-0.07 1.39,-0.05 z m -2.1,0.18 c -0.13,0.1 -0.27,0.21 -0.4,0.31 -0.06,-0.05 -0.12,-0.1 -0.18,-0.15 0.18,-0.06 0.35,-0.11 0.53,-0.15 0.02,0 0.03,-0.01 0.05,-0.01 z m -3.69,0.49 c -0.28,0.27 -0.55,0.56 -0.79,0.87 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.15,-0.12 -0.31,-0.23 -0.46,-0.35 0.34,-0.24 0.68,-0.48 1.02,-0.72 0.09,0.07 0.18,0.13 0.26,0.18 z m -1.38,-0.88 c 0.28,0.17 0.56,0.35 0.84,0.53 -0.34,0.23 -0.67,0.46 -1.01,0.69 -0.23,-0.18 -0.47,-0.35 -0.7,-0.53 0.3,-0.21 0.59,-0.44 0.87,-0.69 z m -1.43,0.63 c -0.03,0.02 -0.06,0.05 -0.09,0.07 -0.22,0.17 -0.43,0.36 -0.65,0.53 -0.03,0.02 -0.05,0.05 -0.08,0.07 0.16,-0.31 0.33,-0.62 0.51,-0.93 0.1,0.09 0.21,0.17 0.31,0.26 z m -1.06,1.21 c 0.03,-0.02 0.05,-0.04 0.08,-0.05 0.25,0.15 0.48,0.33 0.73,0.49 -0.32,0.22 -0.64,0.45 -0.96,0.67 -0.1,0.07 -0.2,0.14 -0.3,0.21 0,-0.01 0,-0.03 0.01,-0.04 0.1,-0.47 0.26,-0.88 0.44,-1.28 z m -2.89,11.24 c 0.55,-0.19 1.1,-0.29 1.66,-0.3 0.59,-0.01 1.09,0.08 1.66,0.28 0.17,0.06 0.35,0.16 0.52,0.26 -0.18,0.12 -0.37,0.24 -0.55,0.3 -0.52,0.2 -1.02,0.3 -1.54,0.32 -0.54,0.01 -1,-0.06 -1.52,-0.23 -0.27,-0.09 -0.52,-0.23 -0.78,-0.37 0.18,-0.1 0.35,-0.2 0.55,-0.26 z m -4.92,12.58 c 0.16,-0.52 0.48,-0.98 0.87,-1.37 -0.02,0.42 -0.03,0.85 -0.03,1.27 0,0.27 0.02,0.55 0.03,0.82 -0.05,0.26 -0.06,0.53 0,0.84 0.01,0.05 0.03,0.11 0.05,0.16 0.04,0.54 0.08,1.16 0.6,1.45 0.1,0.06 0.22,0.07 0.32,0.06 0.9,0.91 2.21,1.32 3.44,1.55 1.53,0.29 3.08,0.48 4.61,0.13 0.6,-0.14 1.32,-0.45 1.89,-0.9 0.01,0.02 0.02,0.04 0.04,0.06 0.47,0.28 0.94,0.55 1.41,0.83 0.23,0.14 0.46,0.28 0.69,0.41 0.11,0.06 0.23,0.11 0.35,0.17 0.12,0.06 0.25,0.13 0.39,0.16 0.11,0.02 0.18,-0.1 0.1,-0.18 -0.09,-0.1 -0.22,-0.18 -0.33,-0.25 -0.11,-0.07 -0.21,-0.15 -0.32,-0.22 -0.23,-0.14 -0.46,-0.27 -0.7,-0.4 -0.46,-0.26 -0.92,-0.53 -1.38,-0.79 0.09,-0.09 0.17,-0.19 0.25,-0.3 0,0.01 0,0.02 0.01,0.02 0.15,0.25 0.42,0.31 0.66,0.23 0.42,0.66 1.01,1.21 1.75,1.55 0.52,0.23 1.07,0.34 1.63,0.36 0.61,0.2 1.22,0.4 1.83,0.6 0.34,0.11 0.69,0.22 1.03,0.33 0.19,0.06 0.37,0.11 0.56,0.16 0.17,0.04 0.34,0.12 0.52,0.1 0.07,-0.01 0.13,-0.1 0.06,-0.15 -0.12,-0.11 -0.27,-0.15 -0.42,-0.21 -0.18,-0.07 -0.36,-0.14 -0.55,-0.2 -0.36,-0.12 -0.71,-0.23 -1.07,-0.35 -0.35,-0.11 -0.71,-0.22 -1.06,-0.33 0.39,-0.07 0.77,-0.18 1.13,-0.35 0.38,0.19 0.76,0.38 1.14,0.57 0.25,0.12 0.49,0.24 0.74,0.36 0.24,0.11 0.51,0.27 0.77,0.32 0.12,0.02 0.25,-0.13 0.13,-0.23 -0.2,-0.17 -0.46,-0.28 -0.69,-0.39 -0.25,-0.13 -0.51,-0.25 -0.77,-0.37 -0.31,-0.15 -0.63,-0.29 -0.94,-0.43 0.4,-0.23 0.76,-0.52 1.08,-0.88 0.32,0.29 0.66,0.57 1.02,0.8 0.31,0.2 0.64,0.39 0.98,0.54 0.18,0.08 0.37,0.16 0.56,0.21 0.17,0.05 0.36,0.1 0.54,0.06 0.09,-0.02 0.11,-0.14 0.05,-0.2 -0.11,-0.12 -0.28,-0.19 -0.42,-0.26 -0.16,-0.09 -0.33,-0.17 -0.5,-0.25 -0.33,-0.16 -0.65,-0.33 -0.95,-0.53 -0.35,-0.23 -0.67,-0.49 -0.98,-0.76 0.23,-0.32 0.42,-0.65 0.55,-1.01 1.11,1.01 2.49,1.72 3.88,2.28 1.77,0.71 3.63,1.11 5.51,1.4 4.48,0.68 9.05,0.98 13.58,1.11 4.62,0.14 9.26,0.06 13.87,-0.3 3.9,-0.31 7.81,-0.83 11.58,-1.91 2.06,-0.59 4.08,-1.34 6,-2.3 0.65,-0.33 1.3,-0.69 1.92,-1.08 0.43,-0.18 0.86,-0.37 1.25,-0.63 1.01,-0.68 1.82,-1.58 2.27,-2.72 0.42,-1.04 0.38,-2.19 -0.15,-3.19 -0.48,-0.91 -1.33,-1.59 -2.37,-1.46 -0.1,-0.45 -0.18,-0.91 -0.24,-1.36 0.43,0.02 0.86,0.1 1.28,0.25 0.38,0.14 0.74,0.33 1.07,0.56 0.17,0.12 0.34,0.27 0.49,0.42 0.13,0.13 0.27,0.34 0.44,0.41 0.13,0.06 0.26,-0.04 0.24,-0.18 -0.03,-0.2 -0.24,-0.39 -0.38,-0.53 -0.16,-0.16 -0.34,-0.3 -0.52,-0.44 -0.36,-0.26 -0.77,-0.47 -1.19,-0.62 -0.47,-0.16 -0.97,-0.24 -1.47,-0.25 -0.01,-0.09 -0.03,-0.19 -0.04,-0.28 -0.02,-0.15 -0.02,-0.31 -0.03,-0.46 0.6,0.11 1.19,0.23 1.79,0.34 0.39,0.07 0.78,0.14 1.17,0.21 0.37,0.07 0.75,0.15 1.13,0.11 0.09,-0.01 0.15,-0.14 0.05,-0.19 -0.33,-0.17 -0.71,-0.23 -1.08,-0.29 -0.39,-0.07 -0.78,-0.14 -1.17,-0.21 -0.64,-0.11 -1.28,-0.22 -1.91,-0.32 -0.01,-0.18 -0.03,-0.35 -0.04,-0.53 -0.01,-0.16 -0.02,-0.32 -0.02,-0.47 0.04,-0.01 0.07,-0.02 0.11,-0.03 0.31,0.03 0.62,0.07 0.92,0.1 -0.06,0.1 -0.05,0.26 0.09,0.28 0.53,0.07 1.05,0.21 1.55,0.41 0.24,0.1 0.47,0.23 0.71,0.35 0.24,0.12 0.46,0.29 0.71,0.4 0.16,0.07 0.32,-0.11 0.19,-0.25 -0.18,-0.21 -0.44,-0.35 -0.67,-0.5 -0.24,-0.15 -0.52,-0.26 -0.79,-0.37 -0.22,-0.08 -0.44,-0.15 -0.66,-0.21 0.27,0.03 0.54,0.05 0.8,0.08 1.36,0.18 2.71,0.43 4.05,0.74 -0.27,0.76 -0.42,1.59 -0.53,2.25 -0.14,0.84 -0.2,1.7 -0.22,2.55 -0.01,0 -0.03,0 -0.04,0.01 -0.13,0.05 -0.23,0.15 -0.3,0.28 -0.1,-0.13 -0.18,-0.28 -0.29,-0.4 -0.07,-0.07 -0.2,0.03 -0.14,0.11 0.17,0.23 0.29,0.47 0.43,0.72 0.04,0.15 0.11,0.29 0.21,0.4 0.07,0.17 0.12,0.34 0.17,0.52 0.03,0.4 0.05,0.8 0.1,1.2 0.01,0.1 0.02,0.2 0.04,0.31 -0.21,0.05 -0.39,0.21 -0.37,0.45 0.03,0.31 0.14,0.59 0.31,0.84 -0.2,0.69 -0.56,1.33 -1.04,1.86 -0.24,0.26 -0.5,0.5 -0.78,0.7 -0.28,0.2 -0.64,0.34 -0.9,0.57 -0.1,0.09 -0.02,0.29 0.11,0.28 0.37,-0.03 0.75,-0.28 1.04,-0.49 0.33,-0.23 0.64,-0.5 0.9,-0.81 0.44,-0.5 0.76,-1.1 0.98,-1.72 0.24,0.24 0.53,0.45 0.84,0.62 -0.05,0.15 -0.08,0.31 -0.15,0.45 -0.25,0.48 -0.61,0.85 -1.05,1.15 -0.08,0.05 -0.03,0.2 0.07,0.16 0.71,-0.26 1.2,-0.9 1.42,-1.62 0.35,0.17 0.71,0.3 1.04,0.37 0.14,0.03 0.27,0.04 0.41,0.06 -0.16,0.14 -0.32,0.28 -0.48,0.43 -0.15,0.13 -0.29,0.26 -0.44,0.4 -0.15,0.14 -0.3,0.27 -0.43,0.43 -0.06,0.07 0.02,0.19 0.1,0.14 0.17,-0.11 0.31,-0.25 0.47,-0.37 0.16,-0.13 0.31,-0.26 0.46,-0.4 0.21,-0.19 0.42,-0.38 0.63,-0.57 0.29,0.04 0.57,0.06 0.86,0.06 -0.11,0.1 -0.22,0.2 -0.34,0.31 -0.15,0.14 -0.31,0.27 -0.44,0.44 -0.08,0.1 0.07,0.22 0.16,0.16 0.17,-0.1 0.32,-0.25 0.47,-0.38 0.15,-0.13 0.31,-0.27 0.46,-0.4 0.05,-0.04 0.09,-0.08 0.14,-0.12 0.84,-0.02 1.67,-0.14 2.5,-0.29 -0.01,0.03 -0.03,0.07 -0.04,0.1 -0.05,0.12 -0.12,0.26 -0.12,0.4 0.01,0.1 0.12,0.15 0.2,0.08 0.1,-0.08 0.15,-0.22 0.19,-0.33 0.05,-0.11 0.09,-0.22 0.14,-0.32 1.14,-0.24 2.3,-0.64 3.13,-1.48 0.11,0.01 0.22,0 0.32,-0.06 0.52,-0.29 0.56,-0.91 0.6,-1.45 0.01,-0.05 0.04,-0.11 0.05,-0.16 0.02,-0.11 0.02,-0.21 0.03,-0.32 0,0 0,0 0,0 -0.01,0.1 0,0.21 -0.02,0.31 0.27,1.71 -0.77,3.33 -2.06,4.45 -1.6,1.38 -3.74,2.14 -5.73,2.87 -4.28,1.57 -8.7,2.8 -13.18,3.73 -8.97,1.87 -18.17,2.54 -27.34,2.58 -4.63,0.02 -9.26,-0.12 -13.89,-0.36 -4.65,-0.24 -9.3,-0.59 -13.9,-1.32 -4.54,-0.72 -9.04,-1.8 -13.32,-3.4 -3.11,-1.19 -7.23,-3.39 -6.03,-7.16 z m 0.41,8.66 c -0.02,-0.27 -0.04,-0.53 -0.05,-0.8 0,-0.02 0,-0.04 0,-0.06 0.01,-0.32 0.03,-0.64 0.04,-0.97 0.01,-0.16 0.01,-0.32 0.02,-0.48 0,-0.16 -0.03,-0.29 -0.03,-0.45 0,-0.11 -0.1,-0.1 -0.16,-0.05 0,-0.07 -0.01,-0.15 -0.01,-0.22 0.15,0.14 0.27,0.3 0.43,0.43 1.68,1.4 3.78,2.23 5.85,3 2.26,0.84 4.59,1.53 6.95,2.08 4.82,1.14 9.76,1.77 14.7,2.19 4.92,0.42 9.86,0.64 14.8,0.73 9.84,0.18 19.73,-0.29 29.41,-2.03 4.83,-0.87 9.6,-2.05 14.22,-3.65 1.63,-0.56 3.47,-1.18 5.16,-1.99 0,0.44 -0.01,0.88 -0.01,1.33 0,0.24 0,0.47 -0.01,0.71 0,0.23 -0.02,0.48 0.04,0.7 0,0.01 0.02,0.01 0.03,0.02 -0.46,0.28 -0.93,0.54 -1.42,0.77 0,-0.1 -0.02,-0.19 -0.04,-0.29 -0.03,-0.11 -0.06,-0.22 -0.08,-0.33 -0.04,-0.21 -0.06,-0.42 -0.05,-0.64 0.01,-0.44 0.13,-0.87 0.35,-1.25 0.13,-0.23 -0.22,-0.43 -0.35,-0.21 -0.26,0.44 -0.4,0.93 -0.42,1.43 -0.01,0.24 0,0.49 0.05,0.73 0.04,0.21 0.12,0.51 0.3,0.65 -0.72,0.34 -1.47,0.64 -2.23,0.91 0,-0.02 0,-0.03 0,-0.05 0,-0.09 -0.01,-0.18 -0.01,-0.26 0,-0.19 0.01,-0.38 0.04,-0.57 0.06,-0.38 0.19,-0.74 0.37,-1.08 0.12,-0.21 -0.21,-0.4 -0.32,-0.19 -0.2,0.37 -0.35,0.77 -0.41,1.18 -0.03,0.2 -0.05,0.41 -0.05,0.62 0,0.11 0.01,0.22 0.03,0.33 0.01,0.05 0.02,0.09 0.03,0.14 -0.17,0.06 -0.33,0.12 -0.5,0.17 -0.18,0.06 -0.37,0.11 -0.55,0.17 0.03,-0.06 0.07,-0.13 0.1,-0.19 0.05,-0.12 0.1,-0.23 0.14,-0.35 l 0.2,-0.71 c 0.03,-0.11 -0.04,-0.25 -0.16,-0.28 -0.12,-0.03 -0.25,0.04 -0.28,0.16 -0.07,0.24 -0.13,0.47 -0.2,0.71 -0.04,0.12 -0.05,0.25 -0.07,0.38 -0.02,0.12 -0.04,0.25 -0.03,0.37 0,0.01 0.01,0 0.01,0.01 -0.47,0.15 -0.94,0.28 -1.41,0.43 0.01,-0.09 0.02,-0.18 0.03,-0.27 0.03,-0.39 0.07,-0.77 0.1,-1.16 0.01,-0.11 -0.1,-0.2 -0.2,-0.2 -0.12,0 -0.19,0.09 -0.2,0.2 -0.04,0.38 -0.07,0.76 -0.1,1.14 -0.01,0.14 -0.03,0.28 -0.04,0.42 -0.41,0.12 -0.81,0.25 -1.22,0.37 0,-0.03 0.01,-0.07 0.01,-0.1 0.03,-0.35 0.07,-0.69 0.1,-1.04 0.01,-0.08 -0.07,-0.14 -0.15,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 l -0.1,1.02 c -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.59,0.17 -1.18,0.35 -1.77,0.51 0.01,-0.1 0.02,-0.19 0.03,-0.29 0.06,-0.68 0.13,-1.36 0.19,-2.04 0.02,-0.25 -0.36,-0.24 -0.38,0 -0.07,0.67 -0.15,1.34 -0.23,2.01 -0.02,0.15 -0.03,0.29 -0.05,0.44 -0.61,0.16 -1.22,0.31 -1.83,0.46 0.03,-0.09 0.05,-0.18 0.07,-0.27 0.02,-0.08 -0.03,-0.18 -0.11,-0.2 -0.08,-0.02 -0.18,0.02 -0.2,0.11 -0.03,0.14 -0.06,0.27 -0.09,0.41 l -0.01,0.03 c -0.58,0.14 -1.16,0.3 -1.75,0.44 v -0.83 c 0,-0.1 -0.09,-0.19 -0.19,-0.19 -0.1,0 -0.19,0.09 -0.19,0.19 v 0.93 c -0.64,0.15 -1.29,0.26 -1.94,0.4 -0.01,-0.02 -0.01,-0.05 -0.01,-0.07 -0.02,-0.1 -0.05,-0.2 -0.09,-0.3 -0.07,-0.2 -0.13,-0.41 -0.2,-0.61 -0.03,-0.09 -0.12,-0.15 -0.21,-0.12 -0.09,0.02 -0.15,0.12 -0.12,0.21 0.07,0.21 0.14,0.41 0.21,0.62 0.04,0.11 0.08,0.21 0.12,0.32 0,0 0,0 0,0.01 -2.96,0.61 -5.94,1.15 -8.93,1.54 -7.46,0.98 -15.01,1.32 -22.53,1.12 -7.09,-0.18 -14.18,-0.8 -21.2,-1.84 0,-0.07 0,-0.14 0,-0.22 0,-0.09 -0.08,-0.18 -0.17,-0.17 -0.09,0 -0.17,0.08 -0.17,0.17 0,0.06 0,0.11 0,0.17 -0.29,-0.04 -0.58,-0.08 -0.86,-0.12 -1.33,-0.21 -2.66,-0.44 -3.98,-0.7 0,-0.1 0,-0.2 0,-0.31 0,-0.21 0,-0.42 0,-0.63 0,-0.09 -0.08,-0.18 -0.18,-0.18 -0.09,0 -0.18,0.08 -0.17,0.18 0,0.21 0,0.42 0,0.63 0,0.08 0,0.16 0,0.24 -1.09,-0.22 -2.18,-0.46 -3.27,-0.72 0.09,-0.26 0.15,-0.53 0.21,-0.8 0.07,-0.3 0.13,-0.6 0.2,-0.9 0.05,-0.21 -0.27,-0.29 -0.32,-0.09 -0.07,0.3 -0.14,0.61 -0.21,0.91 -0.06,0.27 -0.12,0.53 -0.15,0.8 -0.6,-0.15 -1.2,-0.31 -1.8,-0.48 0.01,-0.26 0.02,-0.53 0.03,-0.8 0,-0.14 -0.22,-0.14 -0.22,0 0.01,0.25 0.01,0.5 0.02,0.75 0,0 -0.01,0 -0.01,0 -1.28,-0.37 -2.53,-0.8 -3.76,-1.28 v -1.47 c 0,-0.17 -0.26,-0.17 -0.26,0 v 1.37 c -0.27,-0.11 -0.54,-0.21 -0.81,-0.32 0,0 0,0 0,-0.01 -0.01,-0.2 -0.03,-0.41 -0.05,-0.61 -0.03,-0.41 -0.06,-0.81 -0.09,-1.22 -0.01,-0.18 -0.3,-0.19 -0.29,0 0.03,0.41 0.06,0.83 0.09,1.24 0.01,0.15 0.02,0.3 0.03,0.45 -0.33,-0.15 -0.65,-0.3 -0.98,-0.46 0,-0.06 0,-0.13 0,-0.19 0.01,-0.27 0,-0.54 0,-0.81 0,-0.54 -0.01,-1.08 -0.01,-1.63 0,-0.2 -0.31,-0.2 -0.31,0 0,0.54 -0.01,1.08 -0.01,1.63 0,0.27 -0.01,0.54 0,0.81 0,0.01 0,0.02 0,0.04 -0.05,-0.02 -0.09,-0.04 -0.14,-0.07 0.03,-0.3 0.04,-0.61 0.03,-0.91 0,-0.37 0,-0.73 -0.01,-1.1 0,-0.16 -0.24,-0.16 -0.24,0 0,0.37 0,0.73 -0.01,1.1 0,0.28 0.01,0.55 0.03,0.82 -0.42,-0.22 -0.82,-0.47 -1.22,-0.71 0,-0.01 0.02,-0.01 0.02,-0.02 0.04,-0.46 0.02,-0.93 0.02,-1.4 0,-0.15 -0.23,-0.15 -0.23,0 0,0.44 -0.01,0.87 0.02,1.31 -0.19,-0.11 -0.38,-0.21 -0.56,-0.33 0.02,-0.36 -0.05,-0.73 -0.08,-1.08 -0.04,-0.36 -0.07,-0.73 -0.11,-1.09 0,-0.13 0,-0.27 0,-0.4 0,-0.19 -0.3,-0.19 -0.3,0 v 1.02 c 0,0.33 -0.02,0.68 0.03,1.01 0.01,0.08 0.1,0.09 0.17,0.05 0.01,0.12 0.03,0.24 0.05,0.35 -0.02,-0.01 -0.05,-0.03 -0.07,-0.04 -0.33,-0.19 -0.65,-0.4 -0.98,-0.61 z m 5.4,4.62 c 0.02,0.32 0.05,0.64 0.07,0.96 -0.41,-0.2 -0.79,-0.47 -1.12,-0.79 -0.12,-0.11 -0.35,0.04 -0.24,0.18 0.36,0.49 0.85,0.84 1.4,1.08 0.02,0.22 0.03,0.43 0.05,0.65 -0.27,-0.06 -0.53,-0.11 -0.79,-0.21 -0.18,-0.07 -0.25,0.21 -0.08,0.28 0.29,0.12 0.59,0.18 0.89,0.25 0.02,0.3 0.04,0.61 0.07,0.91 0,0 0,0.01 0,0.01 -0.36,-0.07 -0.72,-0.16 -1.07,-0.28 -0.18,-0.07 -0.26,0.22 -0.08,0.29 0.38,0.14 0.78,0.25 1.18,0.33 0.02,0.26 0.04,0.52 0.1,0.77 0.03,0.14 0.23,0.1 0.24,-0.03 0.02,-0.23 0.01,-0.47 -0.01,-0.7 0.29,0.04 0.57,0.08 0.86,0.08 0.1,0 0.2,-0.02 0.3,-0.02 0,0.04 0,0.07 0,0.11 0,0.33 0.01,0.67 0.02,1 -0.06,0.01 -0.12,0.03 -0.17,0.04 -0.82,0.15 -1.64,0.21 -2.48,0.14 -0.2,-0.02 -0.2,0.29 0,0.31 0.84,0.09 1.71,0.09 2.54,-0.04 0.04,-0.01 0.08,-0.02 0.11,-0.03 0,0.12 0,0.25 0.01,0.37 0,0.22 0.01,0.45 0.02,0.68 -0.63,0.01 -1.25,0.03 -1.88,0.04 -0.17,0 -0.17,0.27 0,0.27 0.63,0 1.27,0.01 1.9,0.01 0.02,0.26 0.04,0.51 0.09,0.76 0,0.01 0.02,0.01 0.03,0.02 -0.47,0.02 -0.95,0.02 -1.42,-0.02 -0.22,-0.02 -0.22,0.32 0,0.34 0.73,0.07 1.46,0.08 2.19,0.01 0.01,0 0.01,0 0.02,0 0,0 0,0 0,0.01 -0.65,0.22 -1.33,0.36 -2.02,0.35 -0.74,0 -1.5,-0.15 -2.18,-0.45 -0.2,-0.09 -0.42,-0.2 -0.62,-0.33 0.13,-0.76 0.08,-1.58 0.11,-2.34 0.03,-0.79 0.06,-1.58 0.08,-2.37 0.02,-0.79 0.04,-1.58 0.05,-2.37 0.01,-0.37 0.02,-0.76 0,-1.15 0.6,0.32 1.22,0.6 1.83,0.88 z m -11.32,6.12 c 0.94,-0.41 1.94,-0.73 2.93,-1 1.03,-0.28 2.08,-0.49 3.14,-0.65 0.57,-0.09 1.13,-0.14 1.7,-0.19 -0.01,0.25 -0.02,0.49 -0.03,0.74 -0.01,0.27 -0.03,0.55 -0.04,0.82 -0.37,0.25 -0.49,0.75 -0.41,1.22 0.1,0.64 0.56,1.11 1.06,1.48 0.9,0.67 2,1.03 3.1,1.16 1.07,0.13 2.19,0.01 3.2,-0.35 0.51,-0.19 1.04,-0.42 1.49,-0.73 0.22,-0.15 0.42,-0.34 0.59,-0.55 0.21,-0.25 0.25,-0.51 0.34,-0.81 0.09,-0.31 -0.22,-0.62 -0.53,-0.53 0,0 -0.01,0 -0.01,0 l -0.04,-2.25 c 0.52,0.05 1.04,0.09 1.55,0.17 1.81,0.29 3.8,0.68 5.47,1.47 0.52,0.25 1.26,0.64 1.47,1.22 0.23,0.65 -0.42,1.05 -0.92,1.29 -1.57,0.73 -3.43,1.1 -5.12,1.44 -3.71,0.74 -7.53,0.9 -11.29,0.5 -1.88,-0.2 -3.74,-0.56 -5.56,-1.05 -0.8,-0.21 -1.64,-0.41 -2.38,-0.78 -0.48,-0.24 -1.17,-0.63 -1.16,-1.25 0.01,-0.71 0.91,-1.13 1.45,-1.37 z m 1.59,10.02 c 0.04,-0.22 0.01,-0.46 0,-0.68 -0.01,-0.25 -0.03,-0.51 -0.05,-0.76 -0.04,-0.51 -0.07,-1.02 -0.11,-1.53 -0.02,-0.24 -0.39,-0.24 -0.37,0 0.03,0.52 0.06,1.04 0.09,1.56 0.01,0.25 0.02,0.51 0.04,0.76 0.02,0.18 0.03,0.36 0.06,0.54 -0.34,-0.12 -0.67,-0.27 -0.99,-0.44 0,-0.07 0,-0.14 0,-0.21 0,-0.36 0,-0.71 0,-1.07 0,-0.71 -0.01,-1.42 -0.01,-2.14 0,-0.23 -0.36,-0.23 -0.36,0 0,0.71 -0.01,1.42 -0.01,2.14 0,0.36 0,0.71 0,1.07 0,0 0,0 0,0 -0.16,-0.1 -0.31,-0.21 -0.45,-0.32 0,-0.02 0.01,-0.04 0.01,-0.06 0,-0.05 0,-0.11 0,-0.16 0,-0.12 0,-0.24 0,-0.36 0,-0.24 0,-0.47 0,-0.71 0,-0.22 -0.35,-0.22 -0.35,0 0,0.24 0,0.47 0,0.71 0,0.11 0,0.22 0,0.32 -0.22,-0.19 -0.42,-0.41 -0.61,-0.64 0.03,-0.35 0.02,-0.71 0.01,-1.09 0,-0.63 0,-1.27 0.01,-1.9 0.01,-0.4 0.01,-0.81 0.02,-1.21 0.13,0.08 0.26,0.16 0.39,0.23 0.05,0.03 0.11,0.04 0.17,0.07 -0.02,0.02 -0.04,0.03 -0.04,0.07 -0.07,0.41 -0.1,0.83 -0.13,1.25 -0.02,0.2 -0.05,0.41 -0.04,0.61 0.01,0.21 -0.03,0.42 0.02,0.63 0.03,0.15 0.23,0.12 0.28,0 0.07,-0.19 0.07,-0.4 0.11,-0.59 0.04,-0.2 0.05,-0.41 0.06,-0.62 0.03,-0.4 0.08,-0.8 0.08,-1.2 1.76,0.75 3.76,1.14 5.61,1.45 4.43,0.75 8.94,0.76 13.36,-0.01 2.09,-0.36 4.28,-0.82 6.23,-1.66 0.29,-0.13 0.57,-0.29 0.83,-0.46 0.01,0.44 0.02,0.88 0.01,1.32 0,0 0,0 0,0 -0.02,-0.01 -0.04,-0.03 -0.07,-0.03 -0.09,0 -0.18,0.08 -0.18,0.18 0.03,0.37 0.06,0.75 0.1,1.12 0.01,0.13 0.03,0.25 0.04,0.37 -0.01,0.09 -0.01,0.18 -0.02,0.27 -0.04,0.33 -0.13,0.73 -0.16,1.11 -0.08,0.05 -0.16,0.1 -0.24,0.15 0,-0.01 0,-0.02 0,-0.04 0,-0.25 0,-0.49 0,-0.74 0,-0.48 0,-0.97 0,-1.45 0,-0.18 -0.27,-0.18 -0.28,0 0,0.48 0,0.97 0,1.45 0,0.24 0,0.47 0,0.71 0,0.08 0,0.16 0,0.24 -0.18,0.11 -0.37,0.22 -0.56,0.3 -0.29,0.13 -0.57,0.27 -0.85,0.41 -0.04,-0.31 -0.06,-0.63 -0.06,-0.95 -0.01,-0.65 0.05,-1.29 0.19,-1.92 0.04,-0.21 -0.28,-0.31 -0.33,-0.09 -0.14,0.65 -0.22,1.31 -0.22,1.98 0,0.34 0.02,0.67 0.06,1.01 0,0.04 0.01,0.1 0.02,0.15 -0.43,0.21 -0.86,0.41 -1.31,0.58 0.01,-0.32 0,-0.64 0,-0.95 0,-0.51 0,-1.02 0,-1.53 0,-0.22 -0.35,-0.22 -0.35,0 0,0.51 0,1.02 0,1.53 0,0.36 -0.01,0.72 0.01,1.07 -0.53,0.19 -1.07,0.35 -1.61,0.49 -0.02,-0.16 -0.04,-0.31 -0.04,-0.47 0,-0.4 0.07,-0.79 0.21,-1.17 0.08,-0.22 -0.26,-0.31 -0.35,-0.1 -0.16,0.41 -0.24,0.85 -0.24,1.29 0,0.17 0.02,0.36 0.04,0.54 -0.5,0.12 -1,0.22 -1.5,0.31 0,0 0,0 0,0 0,-0.23 0,-0.47 0,-0.7 0,-0.16 -0.26,-0.17 -0.26,0 0,0.23 0,0.47 0,0.7 0,0.02 0,0.03 0,0.05 -0.51,0.08 -1.01,0.15 -1.52,0.21 -2.27,0.25 -4.55,0.18 -6.82,0.01 -0.48,-0.04 -0.97,-0.07 -1.46,-0.11 -0.04,-0.13 -0.08,-0.26 -0.09,-0.4 -0.04,-0.4 0.02,-0.81 0.19,-1.19 0.08,-0.17 -0.17,-0.32 -0.25,-0.15 -0.19,0.42 -0.28,0.88 -0.24,1.33 0.01,0.13 0.05,0.25 0.08,0.37 -0.64,-0.05 -1.28,-0.11 -1.91,-0.17 0,-0.03 -0.01,-0.05 -0.01,-0.08 -0.03,-0.2 -0.07,-0.41 -0.1,-0.61 -0.02,-0.11 -0.19,-0.06 -0.17,0.05 0.03,0.2 0.07,0.4 0.1,0.6 0,0.01 0,0.02 0.01,0.03 -0.88,-0.09 -1.75,-0.21 -2.61,-0.38 -0.39,-0.07 -0.75,-0.17 -1.11,-0.29 z m 5.69,2.43 c 0.06,0.01 0.11,0.01 0.17,0.02 -0.09,0 -0.17,0.06 -0.17,0.17 0,0.2 0.02,0.4 0.04,0.59 -0.16,-0.03 -0.32,-0.05 -0.47,-0.08 0.04,-0.24 0.08,-0.49 0.09,-0.73 0.11,0.01 0.23,0.02 0.34,0.03 z m -1.57,10.86 c 0.07,0.87 0.22,1.73 0.33,2.59 0.06,0.44 0.12,0.88 0.19,1.33 -0.06,-0.05 -0.12,-0.1 -0.19,-0.15 0.02,-0.29 0.02,-0.57 -0.07,-0.9 -0.13,-0.44 -0.26,-0.88 -0.37,-1.33 -0.18,-0.74 -0.31,-1.49 -0.41,-2.24 0.16,0.25 0.33,0.48 0.52,0.7 z m 95.37,4.31 c -0.02,-0.15 -0.04,-0.31 -0.04,-0.46 -0.01,-0.51 0.05,-1.01 0.18,-1.5 0.07,-0.26 -0.33,-0.37 -0.4,-0.11 -0.15,0.53 -0.23,1.08 -0.23,1.63 0,0.28 0.02,0.56 0.06,0.83 0,0.01 0,0.02 0.01,0.02 -0.39,0.35 -0.79,0.67 -1.2,0.97 0.01,-0.13 0.02,-0.26 0.02,-0.39 0.03,-0.54 0.06,-1.08 0.09,-1.61 0.01,-0.25 -0.37,-0.25 -0.38,0 -0.04,0.53 -0.07,1.06 -0.11,1.58 -0.02,0.24 -0.03,0.48 -0.05,0.73 -0.59,0.4 -1.2,0.76 -1.83,1.09 0,-0.27 0,-0.54 0.03,-0.8 0.06,-0.6 0.2,-1.18 0.41,-1.74 0.09,-0.25 -0.31,-0.36 -0.4,-0.11 -0.22,0.59 -0.36,1.2 -0.43,1.82 -0.03,0.31 -0.05,0.63 -0.04,0.94 0,0.04 0.01,0.07 0.01,0.11 -0.42,0.21 -0.85,0.4 -1.29,0.59 0.01,-0.24 0.02,-0.49 0.03,-0.73 0.02,-0.69 0.05,-1.38 0.07,-2.07 0.01,-0.25 -0.37,-0.25 -0.39,0 -0.04,0.68 -0.08,1.36 -0.12,2.03 -0.02,0.32 -0.04,0.64 -0.06,0.96 -0.27,0.11 -0.55,0.22 -0.82,0.32 -0.45,0.17 -0.9,0.3 -1.35,0.46 0,-0.01 0,-0.03 0,-0.04 0,-0.26 0,-0.52 0,-0.78 0,-0.52 -0.01,-1.04 -0.01,-1.56 0,-0.24 -0.37,-0.24 -0.37,0 0,0.52 -0.01,1.04 -0.01,1.56 0,0.26 0,0.52 0,0.78 0,0.05 0,0.12 0,0.18 -0.49,0.17 -0.98,0.33 -1.47,0.5 0.12,-0.6 0.16,-1.21 0.23,-1.81 0.01,-0.09 -0.08,-0.16 -0.16,-0.16 -0.09,0 -0.15,0.07 -0.16,0.16 -0.07,0.6 -0.16,1.2 -0.17,1.8 0,0.04 0.02,0.07 0.04,0.09 -0.89,0.3 -1.79,0.6 -2.69,0.87 v -0.97 c 0,-0.27 -0.43,-0.27 -0.43,0 v 1.09 c -0.48,0.14 -0.97,0.27 -1.46,0.4 0,-0.07 0.01,-0.15 0.01,-0.22 0,-0.12 -0.02,-0.24 -0.03,-0.36 -0.03,-0.24 -0.06,-0.47 -0.09,-0.71 -0.02,-0.13 -0.1,-0.23 -0.24,-0.21 -0.14,0.02 -0.2,0.14 -0.18,0.27 0.04,0.24 0.07,0.47 0.11,0.71 0.02,0.12 0.03,0.24 0.07,0.35 0.03,0.08 0.06,0.17 0.09,0.25 -1.44,0.4 -2.88,0.78 -4.34,1.12 0,-0.02 0,-0.03 0.01,-0.05 0.03,-0.28 0.06,-0.55 0.09,-0.83 0.01,-0.1 -0.09,-0.18 -0.18,-0.18 -0.11,0 -0.17,0.08 -0.18,0.18 l -0.1,0.81 c -0.01,0.05 -0.01,0.1 -0.02,0.15 -0.5,0.11 -1,0.22 -1.51,0.33 0,-0.06 -0.02,-0.11 -0.02,-0.16 0,-0.44 0.14,-0.86 0.39,-1.22 0.14,-0.2 -0.18,-0.38 -0.32,-0.19 -0.29,0.41 -0.45,0.9 -0.47,1.4 0,0.08 0.02,0.17 0.03,0.25 -1.02,0.21 -2.04,0.42 -3.06,0.6 -0.02,-0.24 -0.01,-0.49 0.07,-0.72 0.04,-0.1 -0.04,-0.21 -0.14,-0.24 -0.11,-0.03 -0.2,0.04 -0.24,0.14 -0.11,0.28 -0.12,0.59 -0.09,0.89 -1.35,0.24 -2.7,0.48 -4.05,0.66 -0.03,0 -0.06,0.01 -0.08,0.01 0.04,-0.08 0.05,-0.17 -0.02,-0.24 -0.07,-0.07 -0.22,-0.09 -0.29,0 -0.07,0.09 -0.1,0.19 -0.15,0.29 -0.83,0.11 -1.67,0.19 -2.5,0.28 -0.01,-0.04 -0.03,-0.08 -0.04,-0.12 -0.04,-0.12 -0.17,-0.22 -0.31,-0.18 -0.12,0.04 -0.23,0.18 -0.18,0.31 0.01,0.01 0.01,0.03 0.02,0.04 -6.46,0.68 -12.96,0.85 -19.44,0.54 -6.56,-0.32 -13.11,-1.08 -19.59,-2.26 0,-0.01 0,-0.01 0,-0.02 0,-0.15 0,-0.31 0,-0.46 0,-0.31 0,-0.61 -0.01,-0.92 0,-0.24 -0.38,-0.25 -0.38,0 0,0.31 0,0.61 -0.01,0.92 0,0.14 0,0.27 0,0.41 -0.94,-0.17 -1.88,-0.33 -2.82,-0.52 -2.04,-0.42 -4.07,-0.9 -6.08,-1.47 0.05,0.01 0.1,0.03 0.15,0.02 0.07,-0.02 0.13,-0.11 0.1,-0.18 -0.03,-0.1 -0.1,-0.16 -0.17,-0.23 -0.03,-0.03 -0.06,-0.05 -0.09,-0.08 -0.03,-0.03 -0.05,-0.05 -0.08,-0.07 0.03,0.02 -0.01,-0.01 -0.02,-0.01 -0.07,-0.05 -0.13,-0.11 -0.19,-0.17 -0.03,-0.03 -0.06,-0.06 -0.09,-0.1 -0.01,-0.02 -0.03,-0.03 -0.04,-0.05 0,0 -0.02,-0.02 -0.03,-0.03 -0.22,-0.28 -0.34,-0.55 -0.4,-0.9 -0.02,-0.12 -0.17,-0.19 -0.28,-0.16 -0.13,0.04 -0.18,0.16 -0.16,0.28 0.06,0.37 0.22,0.74 0.45,1.04 0.12,0.16 0.25,0.3 0.4,0.43 0.06,0.05 0.13,0.09 0.2,0.13 -1.23,-0.35 -2.45,-0.73 -3.66,-1.17 -1.94,-0.71 -3.82,-1.54 -5.62,-2.56 0.11,0.05 0.21,-0.05 0.19,-0.16 -0.02,-0.12 -0.1,-0.23 -0.16,-0.34 -0.05,-0.1 -0.11,-0.2 -0.15,-0.3 -0.11,-0.23 -0.22,-0.45 -0.31,-0.68 -0.17,-0.46 -0.29,-0.94 -0.34,-1.43 -0.02,-0.22 -0.37,-0.23 -0.35,0 0.04,0.53 0.15,1.06 0.33,1.56 0.09,0.24 0.18,0.49 0.31,0.71 0.07,0.12 0.14,0.24 0.22,0.35 0.07,0.1 0.14,0.21 0.24,0.28 -0.56,-0.32 -1.12,-0.65 -1.66,-1.01 0.04,-0.01 0.07,-0.05 0.06,-0.09 -0.02,-0.24 -0.13,-0.49 -0.19,-0.73 -0.06,-0.24 -0.1,-0.48 -0.12,-0.72 -0.04,-0.51 0.02,-1.01 0.16,-1.49 0.06,-0.21 -0.27,-0.3 -0.33,-0.09 -0.16,0.52 -0.22,1.07 -0.18,1.61 0.02,0.27 0.07,0.53 0.14,0.79 0.06,0.19 0.14,0.41 0.27,0.59 -0.55,-0.38 -1.11,-0.76 -1.64,-1.19 -0.06,-0.05 -0.12,-0.1 -0.18,-0.15 -0.01,-0.09 -0.03,-0.19 -0.04,-0.28 -0.06,-0.47 -0.12,-0.95 -0.19,-1.42 -0.1,-0.69 -0.18,-1.39 -0.29,-2.08 0,0 0.01,0.01 0.01,0.01 1.68,1.72 3.81,2.76 5.89,3.72 2.29,1.05 4.64,1.93 7.04,2.65 4.89,1.46 9.91,2.32 14.94,2.92 5,0.6 10.04,0.96 15.07,1.16 10.03,0.4 20.12,0.02 30.03,-1.89 4.95,-0.95 9.84,-2.3 14.58,-4.13 3.1,-1.2 6.92,-2.59 9.25,-5.4 0.03,0.3 0.05,0.59 0.08,0.89 0.02,0.19 0.03,0.37 0.05,0.56 0,0 0,0 0,0 -0.03,0.15 -0.06,0.31 -0.09,0.46 -0.01,-0.32 -0.01,-0.65 -0.01,-0.97 0,-0.27 -0.42,-0.27 -0.43,0 -0.01,0.37 -0.01,0.75 -0.02,1.12 0,0.19 -0.01,0.37 -0.01,0.56 0,0.13 -0.01,0.27 0,0.41 -0.02,0.03 -0.04,0.06 -0.06,0.09 -0.43,0.59 -0.92,1.13 -1.42,1.62 z m -0.08,-16.83 c 0.07,0.47 0.08,0.95 0.07,1.42 -0.01,0.26 -0.05,0.53 -0.09,0.79 -0.06,-0.02 -0.12,-0.02 -0.18,0.03 -0.23,0.19 -0.48,0.37 -0.74,0.54 -0.01,-0.51 -0.01,-1.02 -0.02,-1.53 0,-0.07 -0.03,-0.13 -0.08,-0.16 -0.01,-0.07 -0.02,-0.14 -0.03,-0.21 -0.04,-0.2 -0.07,-0.41 -0.11,-0.61 l -0.08,-0.47 c 0,0 0,0 0,-0.01 l -0.11,-0.61 c 0.2,-0.02 0.4,-0.03 0.6,-0.05 0.02,0.42 0.04,0.84 0.07,1.25 0.02,0.29 0.03,0.58 0.05,0.86 0.02,0.27 0,0.6 0.11,0.85 0.06,0.16 0.29,0.19 0.35,0 0.07,-0.26 0.03,-0.58 0.01,-0.85 -0.02,-0.29 -0.04,-0.58 -0.06,-0.86 -0.03,-0.43 -0.06,-0.86 -0.08,-1.29 0.07,-0.01 0.14,-0.01 0.2,-0.02 0.01,0.32 0.08,0.64 0.12,0.93 z m 7.52,-4.16 c 0,-0.19 -0.01,-0.37 -0.02,-0.56 -0.02,-0.36 -0.04,-0.71 -0.05,-1.07 -0.04,-0.71 -0.07,-1.42 -0.11,-2.14 -0.01,-0.22 -0.36,-0.23 -0.35,0 0.03,0.71 0.06,1.42 0.09,2.14 0.01,0.36 0.03,0.71 0.04,1.07 0.01,0.25 0.02,0.5 0.07,0.74 -0.41,0.22 -0.83,0.41 -1.28,0.56 0,-0.07 -0.01,-0.13 -0.01,-0.2 l -0.04,-1.17 c -0.03,-0.78 -0.06,-1.56 -0.09,-2.34 -0.01,-0.25 -0.39,-0.25 -0.38,0 0.02,0.8 0.04,1.59 0.06,2.39 l 0.03,1.17 c 0,0.1 0.01,0.19 0.01,0.28 -0.35,0.1 -0.71,0.19 -1.07,0.26 -0.14,0.03 -0.28,0.04 -0.43,0.07 0,-0.07 0,-0.13 0,-0.2 0,-0.15 0,-0.31 0,-0.46 0,-0.31 0,-0.61 0,-0.92 0,-0.21 -0.33,-0.21 -0.33,0 0,0.31 0,0.61 0,0.92 0,0.15 0,0.31 0,0.46 0,0.08 0,0.17 0,0.25 -0.42,0.07 -0.85,0.13 -1.28,0.18 0.02,-0.47 0.02,-0.94 0.02,-1.41 0,-0.21 -0.33,-0.21 -0.33,0 0,0.48 0,0.96 0.02,1.44 -0.67,0.07 -1.34,0.14 -2.01,0.19 -0.02,-0.09 -0.05,-0.18 -0.08,-0.26 -0.07,-0.2 -0.14,-0.41 -0.2,-0.61 -0.03,-0.08 -0.11,-0.14 -0.2,-0.11 -0.08,0.02 -0.14,0.12 -0.11,0.2 0.07,0.2 0.13,0.41 0.2,0.61 0.02,0.07 0.05,0.13 0.07,0.2 -0.75,0.05 -1.5,0.11 -2.24,0.16 -1.9,0.13 -3.8,0.19 -5.69,0.1 -0.06,-0.12 -0.23,-0.13 -0.31,-0.02 -0.1,-0.01 -0.21,-0.02 -0.31,-0.02 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.01,-0.02 0.02,-0.04 0.02,-0.06 0.01,-0.02 0.01,-0.04 0.01,-0.06 v -0.31 c 0,-0.05 -0.02,-0.1 -0.05,-0.13 -0.03,-0.03 -0.08,-0.06 -0.13,-0.05 -0.05,0 -0.1,0.02 -0.13,0.05 -0.03,0.04 -0.05,0.08 -0.05,0.13 v 0.31 c 0,0.02 0,0.04 0.01,0.06 0,0.02 0.02,0.04 0.02,0.06 0,0 0,0.01 0.01,0.01 -0.23,-0.02 -0.45,-0.03 -0.68,-0.05 -1.72,-0.18 -3.4,-0.48 -5.04,-0.97 0,-0.08 0,-0.15 -0.01,-0.23 -0.01,-0.25 -0.04,-0.49 -0.05,-0.74 -0.04,-0.48 -0.07,-0.97 -0.11,-1.45 -0.02,-0.23 -0.37,-0.23 -0.35,0 0.03,0.48 0.06,0.97 0.09,1.45 0.01,0.24 0.02,0.48 0.04,0.71 0,0.04 0.01,0.09 0.01,0.13 -0.16,-0.05 -0.33,-0.09 -0.49,-0.15 -0.18,-0.06 -0.35,-0.15 -0.52,-0.22 0.03,-0.2 0.05,-0.4 0.06,-0.59 l 0.14,-2.75 c 0.01,-0.21 -0.32,-0.21 -0.33,0 -0.03,0.61 -0.07,1.22 -0.1,1.83 -0.02,0.31 -0.03,0.61 -0.05,0.92 -0.01,0.15 -0.02,0.31 -0.02,0.46 -0.53,-0.23 -1.05,-0.46 -1.57,-0.69 0.05,-0.01 0.1,-0.03 0.12,-0.08 0.07,-0.22 0.07,-0.46 0.09,-0.69 0.02,-0.24 0.03,-0.47 0.04,-0.71 0.02,-0.47 0.05,-0.95 0.07,-1.42 0.01,-0.17 -0.25,-0.17 -0.27,0 -0.04,0.47 -0.08,0.95 -0.12,1.42 -0.02,0.24 -0.04,0.47 -0.06,0.71 -0.01,0.23 -0.04,0.46 0,0.69 0.01,0.05 0.05,0.05 0.08,0.06 -0.11,-0.05 -0.22,-0.1 -0.33,-0.15 -0.28,-0.12 -0.54,-0.26 -0.79,-0.41 0.01,-0.78 0.01,-1.55 0.01,-2.33 0,-0.12 -0.18,-0.12 -0.18,0 0,0.74 0,1.49 0.01,2.23 -0.07,-0.04 -0.13,-0.08 -0.2,-0.12 -0.03,-0.38 -0.14,-0.78 -0.17,-1.11 -0.07,-0.63 -0.12,-1.27 -0.14,-1.9 -0.01,-0.44 0,-0.88 0.01,-1.32 0.28,0.18 0.57,0.34 0.88,0.46 2.08,0.84 4.42,1.3 6.65,1.66 4.72,0.76 9.54,0.76 14.26,0.01 2.16,-0.35 4.53,-0.75 6.52,-1.66 0.14,-0.07 0.28,-0.15 0.42,-0.23 0.01,0.3 0.01,0.61 0.02,0.91 0,0.44 0,0.88 0,1.32 0,0.27 0,0.54 0,0.81 0,0.14 0,0.27 0,0.41 0,0.1 0,0.19 0.02,0.28 0,0.16 0.01,0.31 0.02,0.46 -0.44,0.47 -0.89,0.85 -1.4,1.16 z"
+   id="path4" />
+			<path
+   class="st1"
+   d="m 583.22,432.76 c -0.02,-0.12 -0.2,-0.07 -0.19,0.05 0.06,0.43 0.12,0.87 0.19,1.3 0.06,0.43 0.11,0.87 0.22,1.29 0.03,0.11 0.2,0.09 0.2,-0.03 -0.03,-0.44 -0.12,-0.87 -0.19,-1.3 -0.08,-0.43 -0.16,-0.87 -0.23,-1.31 z"
+   id="path6" />
+			<path
+   class="st1"
+   d="m 583.77,436.03 c 0.08,0 0.08,-0.12 0,-0.12 -0.08,0 -0.08,0.12 0,0.12 z"
+   id="path8" />
+			<path
+   class="st1"
+   d="m 585.2,433.48 c -0.04,-0.5 -0.07,-1 -0.11,-1.5 -0.01,-0.21 -0.34,-0.21 -0.33,0 0.03,0.51 0.07,1.02 0.1,1.53 0.02,0.25 0.03,0.51 0.05,0.76 0.03,0.24 0.03,0.5 0.1,0.74 0.04,0.14 0.22,0.09 0.24,-0.03 0.03,-0.25 0,-0.51 0,-0.76 -0.01,-0.25 -0.03,-0.5 -0.05,-0.74 z"
+   id="path10" />
+			<path
+   class="st1"
+   d="m 588.52,437.34 c 0.03,0.13 0.08,0.41 0.27,0.36 0.19,-0.05 0.11,-0.32 0.08,-0.45 -0.04,-0.17 -0.08,-0.34 -0.12,-0.52 -0.08,-0.33 -0.15,-0.67 -0.23,-1 -0.05,-0.22 -0.38,-0.13 -0.33,0.09 0.07,0.33 0.14,0.67 0.22,1 0.04,0.17 0.07,0.34 0.11,0.52 z"
+   id="path12" />
+			<path
+   class="st1"
+   d="m 593.76,435.97 c -0.04,-0.4 -0.07,-0.8 -0.11,-1.2 -0.01,-0.13 -0.22,-0.14 -0.21,0 0.03,0.41 0.06,0.81 0.09,1.22 0.02,0.2 0.03,0.41 0.05,0.61 0.02,0.19 0.02,0.4 0.08,0.58 0.03,0.09 0.14,0.06 0.16,-0.02 0.03,-0.2 -0.01,-0.41 -0.02,-0.61 0,-0.19 -0.02,-0.39 -0.04,-0.58 z"
+   id="path14" />
+			<path
+   class="st1"
+   d="m 610.61,438.09 c 0.03,0.23 0.04,0.52 0.15,0.73 0.04,0.08 0.16,0.06 0.19,-0.02 0.06,-0.22 -0.01,-0.49 -0.04,-0.71 -0.04,-0.26 -0.07,-0.53 -0.11,-0.79 -0.07,-0.52 -0.15,-1.03 -0.22,-1.55 -0.02,-0.15 -0.29,-0.12 -0.27,0.04 0.07,0.52 0.14,1.04 0.2,1.55 0.03,0.25 0.06,0.5 0.1,0.75 z"
+   id="path16" />
+			<path
+   class="st1"
+   d="m 612.1,438.47 c 0.01,0.09 0.02,0.19 0.04,0.28 0.01,0.09 0.01,0.2 0.07,0.27 0.05,0.06 0.16,0.09 0.2,0 0.07,-0.15 0.02,-0.37 0.01,-0.53 -0.01,-0.19 -0.03,-0.39 -0.05,-0.58 -0.04,-0.38 -0.08,-0.76 -0.11,-1.14 -0.02,-0.19 -0.31,-0.19 -0.3,0 0.03,0.38 0.06,0.76 0.09,1.14 0.01,0.18 0.02,0.37 0.05,0.56 z"
+   id="path18" />
+			<path
+   class="st1"
+   d="m 613.91,438.74 c 0.01,0.07 0.02,0.14 0.03,0.21 0.01,0.09 0.03,0.16 0.07,0.24 0.03,0.08 0.17,0.1 0.18,0 0.01,-0.08 0.03,-0.15 0.02,-0.24 -0.01,-0.07 -0.01,-0.14 -0.02,-0.21 -0.01,-0.15 -0.03,-0.31 -0.05,-0.46 -0.03,-0.31 -0.07,-0.61 -0.1,-0.92 -0.01,-0.08 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.03,0.31 0.07,0.61 0.1,0.92 0.01,0.15 0.03,0.31 0.05,0.46 z"
+   id="path20" />
+			<path
+   class="st1"
+   d="m 615.42,439.13 c 0.01,0.09 0.02,0.19 0.04,0.28 0.02,0.09 0.03,0.17 0.1,0.23 0.04,0.04 0.12,0.05 0.15,0 0.11,-0.13 0.07,-0.35 0.06,-0.51 -0.01,-0.17 -0.03,-0.34 -0.04,-0.51 -0.03,-0.35 -0.06,-0.7 -0.09,-1.06 -0.02,-0.22 -0.37,-0.22 -0.35,0 0.03,0.35 0.06,0.7 0.09,1.06 0.01,0.17 0.02,0.34 0.04,0.51 z"
+   id="path22" />
+			<path
+   class="st1"
+   d="m 617.88,445.21 c 0.08,0 0.08,-0.12 0,-0.12 -0.08,0 -0.08,0.12 0,0.12 z"
+   id="path24" />
+			<path
+   class="st1"
+   d="m 619.88,443.23 c 0.1,0 0.1,-0.16 0,-0.16 -0.1,0 -0.1,0.16 0,0.16 z"
+   id="path26" />
+			<path
+   class="st1"
+   d="m 624.07,446.21 c 0.08,0 0.08,-0.13 0,-0.13 -0.09,0 -0.09,0.13 0,0.13 z"
+   id="path28" />
+			<path
+   class="st1"
+   d="m 626.66,441.64 c 0.1,0 0.1,-0.16 0,-0.16 -0.1,-0.01 -0.1,0.16 0,0.16 z"
+   id="path30" />
+			<path
+   class="st1"
+   d="m 576.99,448.22 c -0.15,0 -0.15,0.24 0,0.24 0.15,0 0.15,-0.24 0,-0.24 z"
+   id="path32" />
+			<path
+   class="st1"
+   d="m 579.55,450.45 c 0.33,0.1 0.66,0.2 1,0.3 0.16,0.05 0.33,0.1 0.49,0.15 0.17,0.05 0.34,0.08 0.52,0.1 0.08,0.01 0.15,-0.1 0.06,-0.14 -0.16,-0.07 -0.32,-0.15 -0.49,-0.2 -0.16,-0.05 -0.33,-0.1 -0.49,-0.14 -0.34,-0.1 -0.68,-0.2 -1.02,-0.3 -0.15,-0.05 -0.21,0.18 -0.07,0.23 z"
+   id="path34" />
+			<path
+   class="st1"
+   d="m 605.72,448.91 1.22,0.01 c 0.2,0 0.41,0 0.61,-0.01 0.2,-0.01 0.41,0 0.6,-0.05 0.12,-0.03 0.12,-0.21 0,-0.24 -0.19,-0.05 -0.4,-0.04 -0.6,-0.05 -0.2,-0.01 -0.41,-0.01 -0.61,-0.01 l -1.22,0.01 c -0.22,0 -0.22,0.33 0,0.34 z"
+   id="path36" />
+			<path
+   class="st1"
+   d="m 606.67,450.18 c -0.2,0.04 -0.11,0.34 0.08,0.31 0.37,-0.06 0.75,-0.13 1.12,-0.19 0.19,-0.03 0.37,-0.07 0.56,-0.11 0.18,-0.04 0.36,-0.07 0.54,-0.14 0.13,-0.05 0.05,-0.23 -0.06,-0.24 -0.19,-0.01 -0.37,0.04 -0.56,0.06 -0.19,0.03 -0.37,0.06 -0.56,0.1 -0.38,0.07 -0.75,0.14 -1.12,0.21 z"
+   id="path38" />
+			<path
+   class="st1"
+   d="m 568.19,441.15 c 0,-0.09 -0.08,-0.19 -0.18,-0.18 -0.58,0.05 -1.14,0.24 -1.63,0.54 -0.24,0.15 -0.47,0.34 -0.67,0.54 -0.1,0.11 -0.21,0.22 -0.29,0.34 -0.08,0.11 -0.19,0.27 -0.15,0.4 0.02,0.06 0.08,0.12 0.15,0.11 0.14,-0.02 0.21,-0.13 0.3,-0.23 0.09,-0.1 0.16,-0.2 0.26,-0.3 0.18,-0.19 0.38,-0.35 0.59,-0.5 0.43,-0.29 0.92,-0.49 1.44,-0.55 0.1,0 0.18,-0.06 0.18,-0.17 z"
+   id="path40" />
+			<path
+   class="st1"
+   d="m 555.8,445.2 c 0.05,-0.04 0.13,-0.08 0.16,-0.14 0.03,-0.07 0.01,-0.13 -0.06,-0.16 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.02,0 -0.03,0 -0.05,0 -0.01,0 -0.03,0 -0.01,0 -0.05,0 -0.09,-0.01 -0.14,0.01 -0.03,0.01 -0.06,0.01 -0.09,0.02 0.02,0 -0.02,0 -0.02,0 -0.01,0 -0.03,0 -0.04,0 -0.03,0 -0.06,0 -0.09,0 -0.07,0 -0.11,0 -0.16,-0.01 -0.23,-0.04 -0.43,-0.14 -0.59,-0.31 -0.16,-0.17 -0.41,0.09 -0.25,0.25 0.2,0.21 0.47,0.36 0.76,0.41 0.14,0.03 0.29,0.03 0.43,0.02 0.07,-0.02 0.17,-0.02 0.24,-0.08 z"
+   id="path42" />
+			<path
+   class="st1"
+   d="m 558.64,442.04 c -0.06,0 -0.12,0.05 -0.12,0.12 0,0.06 0.05,0.12 0.12,0.12 0.13,0 0.27,0 0.4,0 0.06,0 0.13,0 0.19,0 0.07,0 0.14,-0.01 0.21,-0.02 0.13,-0.01 0.13,-0.18 0,-0.2 -0.07,-0.01 -0.13,-0.02 -0.2,-0.02 -0.07,0 -0.13,0 -0.2,0 -0.14,0 -0.27,0 -0.4,0 z"
+   id="path44" />
+			<path
+   class="st1"
+   d="m 637.03,443.53 c 0.4,0 0.8,0 1.2,0 0.4,0 0.8,0.01 1.2,-0.03 0.2,-0.02 0.2,-0.3 0,-0.32 -0.4,-0.04 -0.8,-0.03 -1.2,-0.03 -0.4,0 -0.8,0 -1.2,0 -0.23,0.02 -0.23,0.38 0,0.38 z"
+   id="path46" />
+			<path
+   class="st1"
+   d="m 638.03,442.12 c 0.23,0.01 0.47,0.01 0.7,0.02 0.11,0 0.23,0.01 0.34,0.01 0.13,0 0.25,0.01 0.38,-0.01 0.18,-0.03 0.18,-0.34 0,-0.37 -0.13,-0.02 -0.25,-0.01 -0.38,-0.01 -0.11,0 -0.23,0.01 -0.34,0.01 -0.23,0.01 -0.47,0.01 -0.7,0.02 -0.21,0.01 -0.21,0.32 0,0.33 z"
+   id="path48" />
+			<path
+   class="st1"
+   d="m 639.43,438 c -0.21,0 -0.21,0.32 0,0.32 0.21,0.01 0.21,-0.32 0,-0.32 z"
+   id="path50" />
+			<path
+   class="st1"
+   d="m 643.17,444.9 c 0.17,-0.13 0.33,-0.26 0.5,-0.4 0.17,-0.13 0.31,-0.29 0.46,-0.44 0.09,-0.1 -0.02,-0.26 -0.15,-0.19 -0.19,0.11 -0.38,0.23 -0.56,0.37 -0.17,0.13 -0.34,0.27 -0.51,0.4 -0.07,0.06 -0.07,0.19 0,0.26 0.08,0.07 0.18,0.06 0.26,0 z"
+   id="path52" />
+			<path
+   class="st1"
+   d="m 643.42,442.8 c 0.06,0 0.13,-0.02 0.17,-0.07 0.09,-0.1 0.19,-0.21 0.28,-0.31 0.1,-0.11 0.18,-0.22 0.27,-0.33 0.03,-0.04 0.05,-0.08 0.05,-0.13 0,-0.05 -0.02,-0.1 -0.05,-0.13 -0.04,-0.03 -0.08,-0.06 -0.13,-0.05 -0.05,0 -0.09,0.02 -0.13,0.05 -0.11,0.09 -0.22,0.17 -0.33,0.27 -0.1,0.09 -0.21,0.19 -0.31,0.28 -0.1,0.09 -0.09,0.26 0,0.35 0.05,0.04 0.11,0.07 0.18,0.07 z"
+   id="path54" />
+			<path
+   class="st1"
+   d="m 643.13,437.61 c 0,0 0,-0.01 0.01,-0.01 0,0.01 -0.01,0.01 -0.01,0.01 0,0.01 0,0 0,0 z"
+   id="path56" />
+			<path
+   class="st1"
+   d="m 612.35,429.76 c 0.72,-0.15 1.43,-0.38 2.14,-0.58 0.69,-0.2 1.41,-0.37 2.04,-0.71 0.08,-0.04 0.05,-0.18 -0.05,-0.17 -0.72,0.04 -1.42,0.27 -2.11,0.47 -0.71,0.2 -1.43,0.38 -2.13,0.64 -0.21,0.08 -0.13,0.4 0.11,0.35 z"
+   id="path58" />
+			<path
+   class="st1"
+   d="m 616.41,429.06 c -0.44,0.19 -0.85,0.41 -1.31,0.55 -0.46,0.14 -0.93,0.21 -1.4,0.22 -0.2,0.01 -0.2,0.31 0,0.31 0.5,0 1.01,-0.07 1.49,-0.21 0.48,-0.13 0.98,-0.31 1.37,-0.62 0.16,-0.11 0.03,-0.33 -0.15,-0.25 z"
+   id="path60" />
+			<path
+   class="st1"
+   d="m 615.57,429.88 c -0.64,0.25 -1.28,0.49 -1.92,0.74 -0.2,0.08 -0.12,0.4 0.09,0.33 0.66,-0.23 1.32,-0.47 1.97,-0.7 0.33,-0.12 0.66,-0.23 0.99,-0.35 0.16,-0.06 0.33,-0.12 0.49,-0.18 0.15,-0.06 0.3,-0.1 0.42,-0.21 0.11,-0.11 0.02,-0.28 -0.12,-0.29 -0.17,-0.01 -0.32,0.07 -0.48,0.12 -0.16,0.06 -0.33,0.12 -0.49,0.18 -0.32,0.12 -0.63,0.24 -0.95,0.36 z"
+   id="path62" />
+			<path
+   class="st1"
+   d="m 616.46,430.76 c -0.54,0.14 -1.08,0.29 -1.62,0.43 -0.21,0.06 -0.12,0.38 0.09,0.32 0.54,-0.14 1.08,-0.27 1.63,-0.41 l 0.8,-0.2 c 0.26,-0.06 0.54,-0.14 0.77,-0.28 0.09,-0.06 0.05,-0.19 -0.05,-0.19 -0.26,-0.02 -0.54,0.05 -0.78,0.12 -0.29,0.07 -0.56,0.14 -0.84,0.21 z"
+   id="path64" />
+			<path
+   class="st1"
+   d="m 617.98,431.8 c 0.05,-0.08 0,-0.18 -0.08,-0.2 -0.21,-0.06 -0.47,0.1 -0.66,0.18 -0.22,0.09 -0.45,0.18 -0.67,0.27 -0.45,0.18 -0.89,0.36 -1.34,0.54 -0.09,0.04 -0.15,0.12 -0.12,0.21 0.02,0.08 0.13,0.15 0.21,0.12 0.46,-0.18 0.91,-0.35 1.37,-0.53 l 0.67,-0.26 c 0.19,-0.08 0.51,-0.15 0.62,-0.33 z"
+   id="path66" />
+			<path
+   class="st1"
+   d="m 618,432.63 c -0.27,0.2 -0.53,0.39 -0.8,0.59 -0.04,0.03 -0.07,0.06 -0.08,0.1 -0.01,0.04 -0.01,0.1 0.02,0.13 0.05,0.07 0.16,0.12 0.24,0.06 0.26,-0.2 0.53,-0.4 0.79,-0.6 0.04,-0.03 0.06,-0.05 0.08,-0.1 0.01,-0.04 0.01,-0.09 -0.02,-0.13 -0.05,-0.06 -0.16,-0.1 -0.23,-0.05 z"
+   id="path68" />
+			<path
+   class="st1"
+   d="m 587.05,439.99 c -0.07,-0.03 -0.13,-0.06 -0.2,-0.09 -0.14,-0.06 -0.27,-0.11 -0.41,-0.16 -0.28,-0.1 -0.55,-0.2 -0.83,-0.31 -0.07,-0.03 -0.15,0.03 -0.17,0.1 -0.02,0.08 0.03,0.14 0.1,0.17 0.27,0.1 0.54,0.21 0.81,0.31 0.13,0.05 0.27,0.1 0.4,0.14 0.07,0.02 0.14,0.04 0.21,0.06 0.07,0.02 0.14,0.04 0.21,0.04 0.07,-0.01 0.11,-0.09 0.06,-0.14 -0.06,-0.06 -0.12,-0.09 -0.18,-0.12 z"
+   id="path70" />
+			<path
+   class="st1"
+   d="m 588.76,440.43 c -0.17,0 -0.17,0.26 0,0.26 0.17,0 0.17,-0.26 0,-0.26 z"
+   id="path72" />
+			<path
+   class="st1"
+   d="m 582.52,440.2 c -0.1,-0.03 -0.2,-0.04 -0.3,-0.05 -0.2,-0.03 -0.41,-0.06 -0.61,-0.09 -0.05,-0.01 -0.11,0.01 -0.13,0.07 -0.01,0.05 0.02,0.11 0.07,0.13 0.21,0.04 0.41,0.08 0.62,0.12 0.1,0.02 0.21,0.04 0.31,0.05 0.1,0.01 0.21,0.02 0.31,0.01 0.06,-0.01 0.07,-0.11 0.02,-0.14 -0.09,-0.05 -0.19,-0.07 -0.29,-0.1 z"
+   id="path74" />
+			<path
+   class="st1"
+   d="m 597.06,441.25 c 0.19,0.02 0.37,0.05 0.56,0.06 0.17,0.01 0.37,0.02 0.54,-0.02 0.11,-0.02 0.09,-0.17 0,-0.2 -0.16,-0.07 -0.37,-0.09 -0.54,-0.11 -0.19,-0.02 -0.37,-0.03 -0.56,-0.04 -0.37,-0.02 -0.75,-0.04 -1.12,-0.06 -0.15,-0.01 -0.14,0.21 0,0.23 0.37,0.04 0.74,0.09 1.12,0.14 z"
+   id="path76" />
+			<path
+   class="st1"
+   d="m 599.93,441.51 c 0.24,0 0.47,0 0.71,0 0.12,0 0.24,0 0.36,-0.01 0.12,-0.01 0.24,0 0.36,-0.04 0.11,-0.04 0.11,-0.18 0,-0.22 -0.11,-0.04 -0.24,-0.03 -0.36,-0.04 -0.12,-0.01 -0.24,-0.01 -0.36,-0.01 -0.24,0 -0.47,0 -0.71,0 -0.2,0.01 -0.2,0.32 0,0.32 z"
+   id="path78" />
+			<path
+   class="st1"
+   d="m 602.32,441.48 c 0.45,0.04 0.92,0.09 1.38,0.06 0.44,-0.03 0.89,-0.09 1.33,-0.12 0.44,-0.03 0.88,-0.03 1.32,-0.08 0.4,-0.05 0.87,-0.08 1.22,-0.27 0.11,-0.06 0.06,-0.24 -0.06,-0.24 -0.39,0 -0.81,0.15 -1.2,0.23 -0.46,0.1 -0.91,0.21 -1.38,0.25 -0.43,0.04 -0.85,0 -1.28,-0.02 -0.44,-0.02 -0.89,-0.03 -1.33,-0.06 -0.16,-0.02 -0.16,0.24 0,0.25 z"
+   id="path80" />
+			<path
+   class="st1"
+   d="m 600.73,443.09 c 0.37,0 0.75,0.01 1.12,0.01 0.19,0 0.37,0 0.56,0.01 0.17,0 0.38,0.01 0.55,-0.05 0.11,-0.04 0.11,-0.18 0,-0.23 -0.16,-0.06 -0.37,-0.05 -0.55,-0.05 -0.19,0 -0.37,0 -0.56,0.01 -0.37,0 -0.75,0.01 -1.12,0.01 -0.19,0.01 -0.19,0.29 0,0.29 z"
+   id="path82" />
+			<path
+   class="st1"
+   d="m 576.23,456.97 c 0.12,0.05 0.25,0.1 0.37,0.15 0.12,0.04 0.25,0.11 0.39,0.11 0.11,0 0.16,-0.13 0.09,-0.21 -0.09,-0.09 -0.22,-0.14 -0.33,-0.2 -0.12,-0.06 -0.25,-0.12 -0.38,-0.17 -0.24,-0.1 -0.48,-0.2 -0.73,-0.3 -0.07,-0.03 -0.17,0.03 -0.19,0.09 -0.03,0.07 -0.01,0.17 0.07,0.2 0.23,0.12 0.47,0.23 0.71,0.33 z"
+   id="path84" />
+			<path
+   class="st1"
+   d="m 573.6,457 c -0.14,0 -0.14,0.22 0,0.22 0.14,0.01 0.14,-0.22 0,-0.22 z"
+   id="path86" />
+			<path
+   class="st1"
+   d="m 568.18,456.72 c 0.07,0.02 0.13,0.04 0.2,0.05 0.07,0.01 0.14,0.02 0.2,0.03 0.11,0.02 0.15,-0.13 0.05,-0.17 -0.07,-0.02 -0.13,-0.05 -0.2,-0.07 -0.07,-0.02 -0.13,-0.03 -0.2,-0.05 -0.13,-0.03 -0.27,-0.07 -0.4,-0.1 -0.13,-0.03 -0.18,0.16 -0.05,0.2 z"
+   id="path88" />
+			<path
+   class="st1"
+   d="m 561.4,455.83 1.69,0.62 c 0.56,0.2 1.12,0.45 1.7,0.59 0.12,0.03 0.22,-0.16 0.09,-0.22 -0.54,-0.26 -1.13,-0.41 -1.69,-0.61 -0.58,-0.2 -1.15,-0.39 -1.73,-0.59 -0.14,-0.04 -0.19,0.16 -0.06,0.21 z"
+   id="path90" />
+			<path
+   class="st1"
+   d="m 557.61,457.02 c 0.3,0.1 0.6,0.2 0.9,0.3 0.3,0.1 0.6,0.21 0.9,0.28 0.1,0.02 0.17,-0.13 0.07,-0.17 -0.29,-0.13 -0.6,-0.22 -0.9,-0.32 -0.3,-0.1 -0.61,-0.2 -0.91,-0.31 -0.14,-0.04 -0.2,0.18 -0.06,0.22 z"
+   id="path92" />
+			<path
+   class="st1"
+   d="m 632.24,448.04 c 0.02,0.18 0.01,0.39 0.1,0.56 0.05,0.1 0.2,0.07 0.23,-0.03 0.05,-0.17 0.01,-0.38 -0.01,-0.55 -0.01,-0.19 -0.03,-0.37 -0.06,-0.56 -0.04,-0.37 -0.08,-0.75 -0.12,-1.12 -0.02,-0.17 -0.29,-0.18 -0.27,0 0.03,0.38 0.05,0.76 0.08,1.14 0.01,0.19 0.03,0.38 0.05,0.56 z"
+   id="path94" />
+			<path
+   class="st1"
+   d="m 630.41,452.86 c 0.36,-0.35 0.64,-0.77 0.92,-1.18 0.28,-0.42 0.57,-0.84 0.85,-1.25 0.08,-0.11 -0.1,-0.21 -0.18,-0.1 -0.3,0.4 -0.6,0.8 -0.91,1.2 -0.3,0.4 -0.61,0.79 -0.83,1.24 -0.03,0.07 0.08,0.16 0.15,0.09 z"
+   id="path96" />
+			<path
+   class="st1"
+   d="m 629.25,453.96 c 0.31,0 0.31,-0.48 0,-0.48 -0.3,0 -0.3,0.48 0,0.48 z"
+   id="path98" />
+			<path
+   class="st1"
+   d="m 630.36,453.75 c -0.09,0.07 -0.04,0.22 0.08,0.19 0.71,-0.16 1.36,-0.7 1.85,-1.21 0.51,-0.53 0.92,-1.15 1.2,-1.83 0.64,-1.57 0.51,-3.35 -0.29,-4.84 -0.07,-0.12 -0.25,-0.01 -0.19,0.11 0.7,1.41 0.78,3.14 0.18,4.6 -0.26,0.64 -0.66,1.23 -1.13,1.72 -0.51,0.52 -1.12,0.84 -1.7,1.26 z"
+   id="path100" />
+			<path
+   class="st1"
+   d="m 630.45,455.35 c 0.04,0 0.04,-0.06 0,-0.06 -0.04,0 -0.04,0.06 0,0.06 z"
+   id="path102" />
+			<path
+   class="st1"
+   d="m 640.88,453.63 c 0.03,-0.01 0.05,-0.05 0.05,-0.07 0.01,-0.03 0,-0.07 -0.01,-0.09 -0.04,-0.06 -0.1,-0.07 -0.16,-0.04 l -0.39,0.22 c -0.05,0.03 -0.06,0.09 -0.04,0.14 0.03,0.05 0.09,0.06 0.14,0.04 0.14,-0.08 0.28,-0.14 0.41,-0.2 z"
+   id="path104" />
+			<path
+   class="st1"
+   d="m 602.02,458.62 c 0.23,0 0.47,0.01 0.7,-0.02 0.11,-0.01 0.11,-0.16 0,-0.17 -0.23,-0.03 -0.47,-0.02 -0.7,-0.02 -0.23,0 -0.47,0 -0.7,0 -0.14,0 -0.14,0.22 0,0.22 0.24,-0.01 0.47,-0.01 0.7,-0.01 z"
+   id="path106" />
+			<path
+   class="st1"
+   d="m 606.31,458.83 c 0.27,0 0.54,0 0.81,0 0.26,0 0.54,0 0.8,-0.05 0.07,-0.01 0.07,-0.13 0,-0.15 -0.26,-0.04 -0.54,-0.05 -0.8,-0.05 -0.27,0 -0.54,0 -0.81,0 -0.15,0.01 -0.15,0.25 0,0.25 z"
+   id="path108" />
+			<path
+   class="st1"
+   d="m 609.91,458.67 c 0.85,-0.03 1.7,-0.04 2.54,-0.15 0.43,-0.05 0.84,-0.13 1.27,-0.17 0.39,-0.03 0.82,-0.02 1.19,-0.13 0.06,-0.02 0.07,-0.13 0,-0.14 -0.39,-0.05 -0.8,0.03 -1.19,0.05 -0.43,0.03 -0.85,0.02 -1.27,0.03 -0.85,0.02 -1.7,0.15 -2.54,0.25 -0.16,0.03 -0.17,0.27 0,0.26 z"
+   id="path110" />
+			<path
+   class="st1"
+   d="m 616.92,457.74 c 0.2,-0.03 0.41,-0.07 0.61,-0.1 0.18,-0.03 0.41,-0.04 0.58,-0.12 0.07,-0.03 0.03,-0.12 -0.03,-0.13 -0.1,-0.01 -0.2,0.02 -0.3,0.04 -0.09,0.02 -0.19,0.03 -0.28,0.05 -0.2,0.04 -0.41,0.07 -0.61,0.11 -0.41,0.07 -0.81,0.14 -1.22,0.22 -0.09,0.02 -0.05,0.15 0.04,0.14 z"
+   id="path112" />
+			<path
+   class="st1"
+   d="m 605.91,459.66 c 0.54,0 1.08,0 1.63,0 0.53,0 1.07,0.05 1.59,-0.07 0.09,-0.02 0.09,-0.16 0,-0.18 -0.52,-0.11 -1.06,-0.07 -1.59,-0.07 -0.54,0 -1.08,0 -1.63,0 -0.2,0.01 -0.2,0.32 0,0.32 z"
+   id="path114" />
+			<path
+   class="st1"
+   d="m 613.73,459.01 c -0.25,0.03 -0.5,0.07 -0.76,0.1 l -1.52,0.22 c -0.19,0.03 -0.15,0.36 0.05,0.34 0.51,-0.06 1.02,-0.12 1.53,-0.18 0.25,-0.03 0.51,-0.06 0.76,-0.1 0.25,-0.04 0.52,-0.06 0.75,-0.15 0.16,-0.06 0.13,-0.27 -0.04,-0.29 -0.26,-0.02 -0.52,0.03 -0.77,0.06 z"
+   id="path116" />
+			<path
+   class="st1"
+   d="m 617.61,458.63 c -0.18,0.02 -0.36,0.06 -0.54,0.1 -0.34,0.07 -0.69,0.15 -1.03,0.22 -0.21,0.04 -0.12,0.36 0.09,0.32 0.34,-0.06 0.68,-0.13 1.02,-0.19 0.17,-0.03 0.34,-0.06 0.51,-0.11 0.15,-0.04 0.35,-0.07 0.48,-0.16 0.08,-0.05 0.08,-0.19 -0.03,-0.21 -0.16,-0.03 -0.33,0.01 -0.5,0.03 z"
+   id="path118" />
+			<path
+   class="st1"
+   d="m 621.63,458 c -0.27,0.14 -0.54,0.28 -0.81,0.41 -0.13,0.07 -0.02,0.26 0.11,0.2 0.27,-0.13 0.54,-0.26 0.8,-0.39 0.26,-0.13 0.55,-0.24 0.79,-0.41 0.1,-0.07 0.04,-0.24 -0.08,-0.2 -0.28,0.09 -0.55,0.25 -0.81,0.39 z"
+   id="path120" />
+			<path
+   class="st1"
+   d="m 618.88,456.73 c 1.08,-0.04 2.16,-0.16 3.2,-0.43 0.53,-0.14 1.04,-0.37 1.57,-0.52 0.5,-0.14 1.03,-0.27 1.48,-0.55 0.14,-0.09 0.05,-0.31 -0.11,-0.27 -0.49,0.14 -0.95,0.4 -1.42,0.59 -0.51,0.21 -1.01,0.27 -1.55,0.39 -1.04,0.23 -2.1,0.39 -3.16,0.46 -0.22,0.01 -0.22,0.34 -0.01,0.33 z"
+   id="path122" />
+			<path
+   class="st1"
+   d="m 624.68,457.77 c 0.27,-0.05 0.54,-0.11 0.8,-0.18 0.12,-0.03 0.07,-0.22 -0.05,-0.19 -0.27,0.07 -0.53,0.14 -0.79,0.22 -0.09,0.03 -0.05,0.17 0.04,0.15 z"
+   id="path124" />
+			<path
+   class="st1"
+   d="m 590.16,459.04 c 0.16,0 0.16,-0.26 0,-0.26 -0.17,0 -0.17,0.26 0,0.26 z"
+   id="path126" />
+			<path
+   class="st1"
+   d="m 586.36,460.46 c -0.06,0 -0.06,0.09 0,0.09 0.06,0 0.07,-0.09 0,-0.09 z"
+   id="path128" />
+			<path
+   class="st1"
+   d="m 582.94,459.24 c 0.4,0.07 0.81,0.15 1.21,0.22 0.2,0.04 0.4,0.08 0.61,0.1 0.2,0.02 0.41,0.06 0.61,0.04 0.09,-0.01 0.15,-0.14 0.05,-0.19 -0.18,-0.08 -0.38,-0.11 -0.57,-0.16 -0.2,-0.05 -0.41,-0.07 -0.61,-0.1 -0.41,-0.06 -0.82,-0.12 -1.23,-0.18 -0.17,-0.02 -0.25,0.24 -0.07,0.27 z"
+   id="path130" />
+			<path
+   class="st1"
+   d="m 587.72,459.67 c 0.61,0.08 1.22,0.17 1.83,0.24 0.3,0.04 0.61,0.08 0.91,0.11 0.29,0.03 0.62,0.09 0.91,0.04 0.09,-0.02 0.11,-0.16 0.03,-0.2 -0.25,-0.11 -0.56,-0.13 -0.83,-0.17 -0.32,-0.04 -0.63,-0.08 -0.95,-0.11 -0.62,-0.07 -1.24,-0.13 -1.86,-0.2 -0.16,-0.01 -0.2,0.27 -0.04,0.29 z"
+   id="path132" />
+			<path
+   class="st1"
+   d="m 586.72,461.01 c 0.78,0.04 1.56,0.09 2.34,0.13 0.76,0.04 1.55,0.16 2.31,0.05 0.11,-0.01 0.09,-0.18 0,-0.2 -0.74,-0.19 -1.55,-0.15 -2.31,-0.19 -0.78,-0.04 -1.56,-0.08 -2.34,-0.12 -1.58,-0.08 -3.16,-0.13 -4.75,-0.19 -0.13,-0.01 -0.13,0.19 0,0.2 1.58,0.12 3.16,0.23 4.75,0.32 z"
+   id="path134" />
+			<path
+   class="st1"
+   d="m 594.34,460.88 c 0.33,-0.02 0.67,-0.03 1,-0.07 0.13,-0.02 0.13,-0.19 0,-0.21 -0.33,-0.04 -0.67,-0.05 -1,-0.07 -0.09,-0.01 -0.18,0.08 -0.17,0.17 0.01,0.09 0.08,0.18 0.17,0.18 z"
+   id="path136" />
+			<path
+   class="st1"
+   d="m 559.52,462.9 c 0.07,-0.59 0.04,-1.2 0.04,-1.8 0,-0.15 -0.24,-0.15 -0.24,0 0,0.6 -0.03,1.2 0.04,1.8 0.01,0.1 0.14,0.1 0.16,0 z"
+   id="path138" />
+			<path
+   class="st1"
+   d="m 560.63,462.98 c 0.05,0 0.08,-0.03 0.08,-0.08 l 0.03,-0.4 c 0,-0.06 -0.06,-0.12 -0.11,-0.11 -0.06,0 -0.12,0.05 -0.11,0.11 l 0.03,0.4 c 0.01,0.04 0.04,0.08 0.08,0.08 z"
+   id="path140" />
+			<path
+   class="st1"
+   d="m 565.46,464.3 c 0,0.08 0.02,0.15 0.03,0.23 0.02,0.12 0.23,0.12 0.25,0 0.01,-0.08 0.03,-0.15 0.03,-0.23 v -0.2 c 0,-0.14 0,-0.27 0,-0.41 0,-0.08 -0.07,-0.16 -0.16,-0.16 -0.09,0 -0.16,0.07 -0.16,0.16 0,0.14 0,0.27 0,0.41 z"
+   id="path142" />
+			<path
+   class="st1"
+   d="m 568.81,465.03 c 0.17,0 0.17,-0.26 0,-0.26 -0.17,-0.01 -0.17,0.26 0,0.26 z"
+   id="path144" />
+			<path
+   class="st1"
+   d="m 571.43,464.91 c 0,0.04 0,0.09 0.02,0.13 0.01,0.04 0.03,0.08 0.05,0.11 0.05,0.08 0.17,0.08 0.21,0 0.04,-0.08 0.07,-0.15 0.07,-0.23 0,-0.07 0,-0.14 0,-0.21 0,-0.14 0,-0.28 0.01,-0.41 0,-0.1 -0.09,-0.19 -0.18,-0.18 -0.1,0 -0.19,0.08 -0.18,0.18 l 0.01,0.41 z"
+   id="path146" />
+			<path
+   class="st1"
+   d="m 646.31,454.75 c -0.09,-0.05 -0.22,-0.02 -0.26,0.07 -0.23,0.45 -0.28,0.97 -0.16,1.45 0.03,0.12 0.09,0.26 0.18,0.35 0.07,0.06 0.17,0.07 0.25,0.02 0.08,-0.06 0.09,-0.15 0.06,-0.24 -0.06,-0.22 -0.14,-0.43 -0.15,-0.66 -0.01,-0.25 0.04,-0.5 0.15,-0.73 0.04,-0.09 0.02,-0.2 -0.07,-0.26 z"
+   id="path148" />
+			<path
+   class="st1"
+   d="m 548.31,477.86 v 1.07 c 0,0.05 0,0.11 0,0.16 0,0.07 0.02,0.13 0.03,0.2 0.02,0.12 0.23,0.12 0.25,0 0.01,-0.07 0.03,-0.13 0.03,-0.2 0,-0.05 0,-0.11 0,-0.16 v -1.07 c 0,-0.2 -0.31,-0.2 -0.31,0 z"
+   id="path150" />
+			<path
+   class="st1"
+   d="m 555.05,480.8 c 0.18,0 0.18,-0.28 0,-0.28 -0.19,-0.01 -0.19,0.28 0,0.28 z"
+   id="path152" />
+			<path
+   class="st1"
+   d="m 634.06,476.88 c -0.03,-0.27 -0.07,-0.54 -0.1,-0.81 -0.01,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.03,0.28 0.07,0.55 0.1,0.83 0.02,0.14 0.03,0.27 0.05,0.41 0.02,0.15 0.02,0.29 0.09,0.43 0.05,0.1 0.21,0.08 0.24,-0.03 0.03,-0.14 0,-0.27 -0.01,-0.41 -0.01,-0.14 -0.03,-0.28 -0.05,-0.42 z"
+   id="path154" />
+			<path
+   class="st1"
+   d="m 636.86,477.2 c -0.03,-0.09 -0.06,-0.17 -0.1,-0.26 -0.07,-0.17 -0.13,-0.34 -0.2,-0.51 -0.04,-0.1 -0.13,-0.16 -0.24,-0.12 -0.11,0.05 -0.13,0.16 -0.09,0.25 0.07,0.17 0.14,0.33 0.22,0.5 0.04,0.08 0.07,0.17 0.11,0.25 0.02,0.04 0.03,0.08 0.06,0.12 0.02,0.04 0.07,0.07 0.1,0.11 0.07,0.07 0.18,0.02 0.19,-0.08 0,-0.05 0.01,-0.1 0,-0.15 -0.02,-0.03 -0.04,-0.07 -0.05,-0.11 z"
+   id="path156" />
+			<path
+   class="st1"
+   d="m 562.85,471.25 c -0.01,0 0,0 0,0 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.01,0 -0.04,0.02 -0.04,0.02 -0.06,0.02 -0.11,0.08 -0.1,0.15 0.01,0.06 0.06,0.12 0.13,0.12 0.04,0 0.09,-0.01 0.13,-0.02 0.01,0 0.02,0 0.03,-0.01 0.03,0 0.06,0 0.09,-0.01 0.09,-0.02 0.17,-0.09 0.23,-0.16 0.12,-0.12 0.2,-0.28 0.24,-0.44 0.09,-0.34 0.04,-0.7 -0.19,-0.98 -0.11,-0.14 -0.28,-0.23 -0.46,-0.27 -0.16,-0.03 -0.22,0.19 -0.07,0.25 0.15,0.05 0.22,0.15 0.29,0.28 0,0 0,0 0,0 0,0.01 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.04 0.02,0.06 0.01,0.04 0.02,0.08 0.03,0.12 0,0.01 0.01,0.04 0.01,0.04 0,0.01 0,0.03 0,0.04 0,0.04 0,0.08 0,0.12 0,0.03 0,0.07 -0.01,0.1 0,0.01 0,0.03 -0.01,0.04 0,0.02 -0.01,0.04 -0.01,0.06 -0.01,0.04 -0.02,0.07 -0.03,0.1 0,0.01 -0.01,0.03 -0.02,0.03 -0.01,0.02 -0.02,0.04 -0.03,0.05 -0.01,0.02 -0.02,0.03 -0.03,0.05 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.06,0.05 -0.09,0.08 -0.02,0.01 -0.02,0.01 0,0 -0.02,0.01 -0.03,0.02 -0.05,0.04 0,0.04 -0.01,0.06 -0.02,0.08 z"
+   id="path158" />
+			<path
+   class="st1"
+   d="m 564.26,470.58 c 0.03,0.37 -0.04,0.73 -0.13,1.08 -0.03,0.12 0.13,0.18 0.19,0.08 0.43,-0.69 0.25,-1.67 -0.21,-2.3 -0.09,-0.12 -0.29,-0.01 -0.2,0.12 0.2,0.3 0.32,0.65 0.35,1.02 z"
+   id="path160" />
+			<path
+   class="st1"
+   d="m 564.16,469.08 c 0.47,0.17 0.83,0.55 1.04,0.99 0.1,0.21 0.17,0.45 0.19,0.69 0.02,0.25 -0.02,0.49 -0.05,0.74 -0.02,0.14 0.2,0.19 0.26,0.07 0.25,-0.51 0.12,-1.17 -0.13,-1.66 -0.26,-0.51 -0.7,-0.91 -1.25,-1.09 -0.15,-0.05 -0.22,0.2 -0.06,0.26 z"
+   id="path162" />
+			<path
+   class="st1"
+   d="m 566.11,471.45 c -0.05,0.14 0.16,0.22 0.23,0.1 0.47,-0.85 -0.06,-1.98 -0.91,-2.33 -0.12,-0.05 -0.21,0.16 -0.09,0.21 0.76,0.35 1.04,1.26 0.77,2.02 z"
+   id="path164" />
+			<path
+   class="st1"
+   d="m 566.98,470.4 c 0.05,0.18 0.07,0.37 0.08,0.56 0,0.1 0,0.19 0,0.29 -0.01,0.11 -0.03,0.21 0.03,0.31 0.05,0.08 0.17,0.1 0.24,0.03 0.14,-0.14 0.1,-0.44 0.09,-0.63 -0.01,-0.22 -0.05,-0.44 -0.11,-0.65 -0.11,-0.42 -0.31,-0.8 -0.59,-1.14 -0.11,-0.14 -0.36,0.05 -0.25,0.19 0.24,0.31 0.42,0.66 0.51,1.04 z"
+   id="path166" />
+			<path
+   class="st1"
+   d="m 567.74,470.49 c 0.04,0.1 0.09,0.18 0.14,0.27 0.09,0.15 0.32,0.05 0.28,-0.12 -0.02,-0.09 -0.04,-0.18 -0.07,-0.27 -0.03,-0.08 -0.06,-0.16 -0.1,-0.24 -0.07,-0.17 -0.13,-0.33 -0.2,-0.5 -0.04,-0.09 -0.12,-0.16 -0.22,-0.13 -0.09,0.03 -0.17,0.13 -0.13,0.22 0.07,0.17 0.14,0.34 0.2,0.51 0.03,0.09 0.07,0.18 0.1,0.26 z"
+   id="path168" />
+			<path
+   class="st1"
+   d="m 551.27,470.96 c -0.01,0.12 0.01,0.24 0.04,0.36 0.04,0.15 0.24,0.1 0.25,-0.03 0.01,-0.1 0.03,-0.2 0.05,-0.3 0.01,-0.09 0.03,-0.18 0.06,-0.27 0.06,-0.18 0.15,-0.35 0.26,-0.49 0.24,-0.3 0.58,-0.51 0.96,-0.57 0.16,-0.02 0.13,-0.31 -0.04,-0.29 -0.46,0.06 -0.88,0.29 -1.18,0.65 -0.15,0.18 -0.27,0.38 -0.34,0.61 -0.03,0.1 -0.05,0.21 -0.06,0.33 z"
+   id="path170" />
+			<path
+   class="st1"
+   d="m 550.25,471.39 c 0.03,0.23 0.15,0.42 0.32,0.57 0.1,0.09 0.23,-0.04 0.14,-0.14 -0.49,-0.56 -0.17,-1.61 0.59,-1.74 0.11,-0.02 0.08,-0.2 -0.03,-0.19 -0.46,0.06 -0.8,0.4 -0.96,0.83 -0.07,0.22 -0.1,0.45 -0.06,0.67 z"
+   id="path172" />
+			<path
+   class="st1"
+   d="m 549.1,472 c 0.06,0.06 0.18,0 0.15,-0.09 -0.04,-0.12 -0.07,-0.25 -0.1,-0.37 -0.03,-0.11 -0.05,-0.22 -0.04,-0.34 0,-0.25 0.07,-0.5 0.18,-0.72 0.23,-0.45 0.65,-0.8 1.17,-0.81 0.15,0 0.15,-0.22 0,-0.23 -0.6,-0.01 -1.13,0.38 -1.42,0.89 -0.14,0.26 -0.23,0.55 -0.24,0.85 0,0.14 0.01,0.3 0.05,0.43 0.06,0.17 0.13,0.28 0.25,0.39 z"
+   id="path174" />
+			<path
+   class="st1"
+   d="m 547.77,471.69 c 0.19,0.14 0.49,0.22 0.72,0.15 0.09,-0.03 0.1,-0.16 0,-0.19 -0.09,-0.02 -0.2,-0.03 -0.29,-0.09 -0.05,-0.03 -0.11,-0.07 -0.16,-0.11 -0.04,-0.03 -0.07,-0.05 -0.1,-0.09 -0.15,-0.14 -0.27,-0.32 -0.27,-0.54 -0.01,-0.42 0.38,-0.79 0.79,-0.78 0.22,0 0.22,-0.33 0,-0.34 -0.47,-0.01 -0.9,0.3 -1.07,0.73 -0.19,0.47 0,0.98 0.38,1.26 z"
+   id="path176" />
+			<path
+   class="st1"
+   d="m 546.9,471.74 c 0.04,-0.08 0.02,-0.17 0.01,-0.25 -0.01,-0.08 -0.03,-0.16 -0.03,-0.25 -0.02,-0.18 -0.01,-0.35 0.02,-0.53 0.07,-0.35 0.24,-0.67 0.49,-0.91 0.12,-0.11 -0.06,-0.29 -0.18,-0.18 -0.29,0.27 -0.5,0.63 -0.59,1.01 -0.04,0.19 -0.06,0.39 -0.05,0.59 0.01,0.16 0.04,0.47 0.21,0.55 0.03,0.02 0.1,0.02 0.12,-0.03 z"
+   id="path178" />
+			<path
+   class="st1"
+   d="m 545.42,472.17 c 0.05,0.03 0.11,0.01 0.14,-0.04 0.04,-0.07 0.02,-0.18 0.01,-0.26 -0.01,-0.09 -0.03,-0.18 -0.03,-0.27 -0.01,-0.18 0.01,-0.36 0.06,-0.53 0.09,-0.35 0.29,-0.66 0.56,-0.9 0.12,-0.11 -0.06,-0.28 -0.18,-0.18 -0.31,0.26 -0.53,0.62 -0.64,1.01 -0.05,0.19 -0.08,0.39 -0.08,0.59 0,0.11 0.01,0.21 0.03,0.31 0.01,0.09 0.04,0.22 0.13,0.27 z"
+   id="path180" />
+			<path
+   class="st1"
+   d="m 634.44,467.17 c -0.72,-0.02 -1.41,0.42 -1.69,1.08 -0.14,0.32 -0.16,0.68 -0.1,1.03 0.06,0.32 0.23,0.74 0.52,0.91 0.09,0.06 0.2,-0.05 0.15,-0.15 -0.07,-0.13 -0.17,-0.24 -0.24,-0.37 -0.07,-0.14 -0.12,-0.28 -0.15,-0.43 -0.06,-0.3 -0.04,-0.61 0.07,-0.89 0.23,-0.58 0.83,-0.95 1.44,-0.95 0.15,0.02 0.15,-0.22 0,-0.23 z"
+   id="path182" />
+			<path
+   class="st1"
+   d="m 633.18,467.11 c 0.16,0.05 0.23,-0.2 0.07,-0.25 -0.66,-0.23 -1.41,-0.05 -1.92,0.41 -0.53,0.48 -0.7,1.24 -0.51,1.92 0.1,0.35 0.32,0.77 0.66,0.93 0.1,0.05 0.25,-0.06 0.16,-0.16 -0.12,-0.15 -0.26,-0.28 -0.35,-0.45 -0.09,-0.16 -0.16,-0.32 -0.2,-0.5 -0.09,-0.37 -0.05,-0.77 0.13,-1.11 0.36,-0.69 1.22,-1.02 1.96,-0.79 z"
+   id="path184" />
+			<path
+   class="st1"
+   d="m 630.05,467.33 c -0.64,0.13 -1.15,0.73 -1.16,1.39 0,0.33 0.12,0.64 0.31,0.9 0.19,0.25 0.49,0.47 0.82,0.47 0.09,0 0.13,-0.13 0.05,-0.17 -0.12,-0.06 -0.23,-0.11 -0.34,-0.19 -0.11,-0.08 -0.21,-0.16 -0.3,-0.26 -0.17,-0.21 -0.28,-0.47 -0.28,-0.75 0,-0.55 0.43,-1.04 0.96,-1.16 0.15,-0.04 0.09,-0.26 -0.06,-0.23 z"
+   id="path186" />
+			<path
+   class="st1"
+   d="m 646.01,466.9 c 0.46,0 0.89,0.33 1,0.77 0.05,0.21 0.03,0.44 -0.06,0.63 -0.04,0.1 -0.1,0.2 -0.16,0.29 -0.06,0.1 -0.16,0.17 -0.24,0.25 -0.07,0.07 0,0.19 0.1,0.17 0.14,-0.03 0.25,-0.13 0.35,-0.22 0.11,-0.1 0.18,-0.21 0.24,-0.35 0.12,-0.27 0.15,-0.57 0.08,-0.86 -0.15,-0.58 -0.73,-0.99 -1.32,-0.97 -0.17,0.01 -0.17,0.29 0.01,0.29 z"
+   id="path188" />
+			<path
+   class="st1"
+   d="m 647.16,466.68 c 0.58,0.17 0.97,0.7 1.12,1.27 0.07,0.28 0.09,0.58 0.03,0.86 -0.06,0.28 -0.18,0.59 -0.36,0.81 -0.09,0.12 0.05,0.26 0.16,0.16 0.15,-0.12 0.27,-0.23 0.36,-0.4 0.08,-0.15 0.14,-0.31 0.18,-0.47 0.07,-0.35 0.06,-0.72 -0.03,-1.07 -0.18,-0.68 -0.68,-1.28 -1.38,-1.47 -0.19,-0.03 -0.27,0.25 -0.08,0.31 z"
+   id="path190" />
+			<path
+   class="st1"
+   d="m 649.82,468.76 c 0,0.18 -0.03,0.36 -0.11,0.52 -0.04,0.07 -0.08,0.15 -0.14,0.21 -0.06,0.07 -0.14,0.13 -0.2,0.2 -0.07,0.07 0,0.2 0.1,0.17 0.2,-0.06 0.36,-0.27 0.45,-0.46 0.09,-0.2 0.13,-0.42 0.12,-0.64 -0.02,-0.43 -0.23,-0.86 -0.63,-1.06 -0.11,-0.06 -0.22,0.11 -0.1,0.17 0.32,0.17 0.5,0.52 0.51,0.89 z"
+   id="path192" />
+			<path
+   class="st1"
+   d="m 650.14,467.11 c 0.5,0.14 0.88,0.62 0.88,1.15 0,0.25 -0.1,0.5 -0.25,0.7 -0.17,0.22 -0.36,0.36 -0.61,0.49 -0.09,0.05 -0.05,0.2 0.05,0.19 0.67,-0.06 1.14,-0.74 1.13,-1.38 -0.01,-0.66 -0.5,-1.26 -1.13,-1.42 -0.17,-0.03 -0.24,0.23 -0.07,0.27 z"
+   id="path194" />
+			<path
+   class="st1"
+   d="m 651.94,467.27 c 0.34,0.14 0.5,0.53 0.49,0.87 0,0.17 -0.06,0.36 -0.14,0.51 -0.05,0.08 -0.09,0.14 -0.15,0.21 -0.07,0.06 -0.15,0.11 -0.22,0.18 -0.08,0.08 -0.02,0.23 0.09,0.23 0.19,-0.01 0.36,-0.15 0.48,-0.29 0.12,-0.15 0.2,-0.32 0.23,-0.51 0.06,-0.36 0.01,-0.77 -0.21,-1.07 -0.13,-0.18 -0.3,-0.3 -0.5,-0.38 -0.16,-0.07 -0.23,0.19 -0.07,0.25 z"
+   id="path196" />
+			<path
+   class="st1"
+   d="m 653.44,468.92 c -0.03,0.05 -0.05,0.11 -0.08,0.16 -0.04,0.08 0.04,0.15 0.11,0.11 0.04,-0.02 0.08,-0.04 0.12,-0.07 0.02,-0.01 0.03,-0.03 0.05,-0.04 -0.05,0.04 0.02,-0.01 0.03,-0.02 0.08,-0.05 0.13,-0.16 0.17,-0.25 0.08,-0.17 0.13,-0.36 0.15,-0.55 0.03,-0.37 -0.06,-0.76 -0.29,-1.05 -0.14,-0.19 -0.41,0.01 -0.26,0.2 0.16,0.21 0.23,0.49 0.23,0.75 0,0.13 -0.03,0.27 -0.07,0.39 -0.04,0.14 -0.13,0.25 -0.16,0.37 z"
+   id="path198" />
+			<path
+   class="st1"
+   d="m 600.13,471.32 c 0.31,0 0.31,-0.48 0,-0.48 -0.31,0 -0.31,0.48 0,0.48 z"
+   id="path200" />
+			<path
+   class="st1"
+   d="m 600.33,472.59 c 0.58,0.04 1.15,0.08 1.73,0.12 0.29,0.02 0.58,0.04 0.86,0.06 0.27,0.01 0.56,0.05 0.83,0.01 0.11,-0.02 0.09,-0.18 0,-0.21 -0.26,-0.07 -0.56,-0.06 -0.83,-0.08 -0.29,-0.02 -0.58,-0.03 -0.86,-0.05 -0.58,-0.03 -1.15,-0.06 -1.73,-0.09 -0.15,0 -0.15,0.23 0,0.24 z"
+   id="path202" />
+			<path
+   class="st1"
+   d="m 612.1,475 c 0.51,0 1.02,0.01 1.53,0.01 0.25,0 0.5,0.01 0.75,0 0.24,0 0.51,0.01 0.75,-0.04 0.1,-0.02 0.1,-0.19 0,-0.21 -0.24,-0.06 -0.5,-0.04 -0.75,-0.04 -0.25,0 -0.5,0 -0.75,0 -0.51,0 -1.02,0.01 -1.53,0.01 -0.17,0.01 -0.17,0.27 0,0.27 z"
+   id="path204" />
+			<path
+   class="st1"
+   d="m 584.34,476.29 c -0.59,-0.07 -1.17,-0.13 -1.76,-0.19 -0.09,-0.01 -0.17,0.09 -0.17,0.17 0,0.1 0.08,0.16 0.17,0.17 0.59,0.07 1.17,0.14 1.76,0.2 0.09,0.01 0.17,-0.09 0.17,-0.17 0,-0.11 -0.08,-0.17 -0.17,-0.18 z"
+   id="path206" />
+			<path
+   class="st1"
+   d="m 590.9,482.23 c -0.1,-0.01 -0.2,-0.02 -0.31,-0.02 -0.23,-0.02 -0.46,-0.03 -0.69,-0.05 -0.45,-0.03 -0.9,-0.06 -1.35,-0.09 -0.18,-0.01 -0.18,0.27 0,0.28 0.44,0.03 0.88,0.07 1.32,0.1 0.22,0.02 0.44,0.03 0.66,0.05 0.1,0.01 0.2,0.02 0.31,0.02 0.11,0.01 0.24,0.02 0.34,-0.02 0.09,-0.04 0.12,-0.16 0.03,-0.22 -0.09,-0.04 -0.2,-0.04 -0.31,-0.05 z"
+   id="path208" />
+			<path
+   class="st1"
+   d="m 579.35,486.23 c -0.58,-0.24 -1.15,-0.47 -1.73,-0.71 -0.15,-0.06 -0.21,0.18 -0.07,0.24 0.57,0.23 1.13,0.47 1.7,0.7 0.56,0.23 1.13,0.48 1.71,0.66 0.09,0.03 0.14,-0.11 0.06,-0.15 -0.54,-0.28 -1.11,-0.51 -1.67,-0.74 z"
+   id="path210" />
+			<path
+   class="st1"
+   d="m 610.1,487.81 c 0.37,0 0.75,0 1.12,0 0.19,0 0.37,0 0.56,0 0.09,0 0.17,0 0.26,-0.01 0.1,-0.01 0.19,-0.04 0.29,-0.06 0.11,-0.02 0.11,-0.21 0,-0.23 -0.1,-0.02 -0.19,-0.05 -0.29,-0.06 -0.09,-0.01 -0.17,-0.01 -0.26,-0.01 -0.19,0 -0.37,0 -0.56,0 -0.37,0 -0.75,0 -1.12,0 -0.22,0.03 -0.22,0.37 0,0.37 z"
+   id="path212" />
+			<path
+   class="st1"
+   d="m 614.69,487.36 c 1.24,-0.13 2.41,-0.39 3.59,-0.78 0.56,-0.19 1.11,-0.39 1.66,-0.62 0.28,-0.12 0.56,-0.25 0.84,-0.38 0.26,-0.13 0.56,-0.24 0.77,-0.45 0.07,-0.06 0,-0.17 -0.09,-0.15 -0.25,0.06 -0.48,0.21 -0.71,0.33 -0.26,0.13 -0.52,0.25 -0.79,0.37 -0.57,0.25 -1.15,0.46 -1.75,0.64 -1.14,0.34 -2.34,0.56 -3.52,0.69 -0.23,0.02 -0.23,0.37 0,0.35 z"
+   id="path214" />
+			<path
+   class="st1"
+   d="m 602.23,486.42 -1.5,0.09 c -0.21,0.01 -0.21,0.34 0,0.32 0.51,-0.03 1.02,-0.07 1.53,-0.1 0.5,-0.03 1,-0.07 1.49,-0.16 0.11,-0.02 0.08,-0.19 -0.03,-0.19 -0.49,-0.01 -1,0.01 -1.49,0.04 z"
+   id="path216" />
+			<path
+   class="st1"
+   d="m 602.12,484.89 c -0.53,0 -1.06,0 -1.6,0.01 -0.19,0 -0.19,0.29 0,0.29 0.53,0 1.06,0 1.6,0.01 0.53,0 1.07,0.02 1.6,-0.04 0.15,-0.02 0.15,-0.21 0,-0.23 -0.52,-0.06 -1.07,-0.04 -1.6,-0.04 z"
+   id="path218" />
+			<path
+   class="st1"
+   d="m 606.32,485.05 c 0.44,-0.03 0.88,-0.06 1.32,-0.09 0.22,-0.01 0.44,-0.03 0.66,-0.05 0.22,-0.02 0.44,-0.03 0.65,-0.09 0.16,-0.04 0.11,-0.25 -0.04,-0.26 -0.22,-0.03 -0.44,0 -0.66,0.01 -0.21,0 -0.42,0.02 -0.64,0.04 -0.43,0.03 -0.86,0.07 -1.3,0.1 -0.21,0.01 -0.22,0.35 0.01,0.34 z"
+   id="path220" />
+			<path
+   class="st1"
+   d="m 612.34,484.4 c 0.58,-0.16 1.16,-0.31 1.74,-0.46 0.28,-0.07 0.56,-0.15 0.83,-0.24 0.15,-0.05 0.3,-0.09 0.45,-0.14 0.15,-0.05 0.27,-0.12 0.4,-0.19 0.12,-0.06 0.07,-0.29 -0.07,-0.27 -0.15,0.02 -0.29,0.02 -0.44,0.06 -0.15,0.04 -0.3,0.08 -0.45,0.12 -0.28,0.08 -0.56,0.16 -0.83,0.25 -0.18,0.06 -0.37,0.12 -0.55,0.18 -0.02,-0.14 -0.05,-0.28 -0.09,-0.42 -0.05,-0.19 -0.1,-0.38 -0.16,-0.57 -0.1,-0.37 -0.21,-0.74 -0.31,-1.12 -0.06,-0.21 -0.38,-0.12 -0.33,0.09 0.1,0.37 0.2,0.75 0.3,1.12 0.05,0.18 0.09,0.37 0.15,0.55 0.04,0.14 0.09,0.3 0.15,0.44 -0.29,0.09 -0.58,0.19 -0.88,0.28 -0.2,0.07 -0.12,0.38 0.09,0.32 z"
+   id="path222" />
+			<path
+   class="st1"
+   d="m 574,485.77 c 0.17,0 0.17,-0.26 0,-0.26 -0.17,0 -0.17,0.26 0,0.26 z"
+   id="path224" />
+			<path
+   class="st1"
+   d="m 556.07,491.55 c -0.17,-0.27 -0.33,-0.53 -0.5,-0.8 -0.1,-0.16 -0.35,-0.01 -0.25,0.15 0.17,0.27 0.34,0.54 0.51,0.81 0.17,0.27 0.33,0.55 0.54,0.79 0.04,0.04 0.11,0.04 0.15,0.01 0.05,-0.04 0.05,-0.09 0.03,-0.14 -0.06,-0.15 -0.15,-0.28 -0.23,-0.42 -0.09,-0.13 -0.17,-0.27 -0.25,-0.4 z"
+   id="path226" />
+			<path
+   class="st1"
+   d="m 578.87,492.56 c 0.48,-0.22 0.96,-0.45 1.43,-0.67 0.25,-0.11 0.49,-0.23 0.74,-0.35 0.15,-0.07 0.56,-0.19 0.43,-0.43 -0.12,-0.22 -0.48,0.03 -0.63,0.1 -0.25,0.12 -0.49,0.23 -0.74,0.35 -0.48,0.22 -0.95,0.45 -1.43,0.67 -0.22,0.1 -0.02,0.43 0.2,0.33 z"
+   id="path228" />
+			<path
+   class="st1"
+   d="m 616.05,491.36 c 0.67,0.13 1.35,0.29 2.03,0.34 0.09,0.01 0.1,-0.13 0.02,-0.16 -0.64,-0.21 -1.32,-0.32 -1.98,-0.46 -0.17,-0.03 -0.25,0.25 -0.07,0.28 z"
+   id="path230" />
+			<path
+   class="st1"
+   d="m 639.83,489.38 c 0.81,-0.03 1.63,-0.07 2.44,-0.1 0.41,-0.02 0.81,-0.03 1.22,-0.06 0.38,-0.02 0.79,-0.03 1.15,-0.12 0.09,-0.02 0.1,-0.18 0,-0.2 -0.37,-0.07 -0.78,-0.04 -1.15,-0.03 -0.41,0.01 -0.81,0.02 -1.22,0.04 -0.81,0.03 -1.63,0.06 -2.44,0.1 -0.24,0.01 -0.24,0.37 0,0.37 z"
+   id="path232" />
+			<path
+   class="st1"
+   d="m 566.82,493.09 c -0.17,0 -0.17,0.27 0,0.27 0.17,0 0.17,-0.27 0,-0.27 z"
+   id="path234" />
+			<path
+   class="st1"
+   d="m 560.89,492.68 -1.98,-1.71 c -0.17,-0.15 -0.42,0.1 -0.25,0.25 0.67,0.58 1.34,1.16 2.01,1.74 0.65,0.57 1.3,1.17 2.02,1.65 0.1,0.07 0.2,-0.08 0.13,-0.16 -0.58,-0.65 -1.28,-1.21 -1.93,-1.77 z"
+   id="path236" />
+			<path
+   class="st1"
+   d="m 573.56,494.54 c 0.06,0.01 0.13,-0.01 0.15,-0.07 0.02,-0.05 0.01,-0.13 -0.05,-0.16 -0.39,-0.18 -0.81,-0.3 -1.22,-0.44 -0.08,-0.03 -0.17,0.03 -0.19,0.11 -0.02,0.09 0.03,0.17 0.11,0.19 0.4,0.13 0.79,0.28 1.2,0.37 z"
+   id="path238" />
+			<path
+   class="st1"
+   d="m 592.19,494 c -0.34,-0.05 -0.68,-0.11 -1.02,-0.19 -0.67,-0.17 -1.32,-0.4 -1.94,-0.71 -0.16,-0.08 -0.3,0.16 -0.14,0.24 0.64,0.33 1.31,0.59 2,0.78 0.35,0.09 0.7,0.16 1.05,0.21 0.34,0.05 0.71,0.12 1.04,0.06 0.14,-0.03 0.13,-0.24 0,-0.28 -0.31,-0.08 -0.66,-0.07 -0.99,-0.11 z"
+   id="path240" />
+			<path
+   class="st1"
+   d="m 597.34,494.08 -0.2,-0.01 -0.41,-0.01 c -0.08,0 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 0.14,0 0.27,-0.01 0.41,-0.01 l 0.2,-0.01 c 0.07,0 0.15,-0.02 0.22,-0.03 0.11,-0.02 0.11,-0.2 0,-0.22 -0.07,-0.01 -0.14,-0.03 -0.22,-0.03 z"
+   id="path242" />
+			<path
+   class="st1"
+   d="m 604.12,494.07 c -0.56,-0.05 -1.13,-0.03 -1.7,-0.02 -0.57,0 -1.13,0 -1.7,0 -0.22,0 -0.22,0.33 0,0.34 0.57,0 1.13,0 1.7,0 0.56,0 1.13,0.02 1.7,-0.02 0.19,-0.02 0.19,-0.28 0,-0.3 z"
+   id="path244" />
+			<path
+   class="st1"
+   d="m 609.98,493.95 c 0.11,-0.05 0.09,-0.26 -0.04,-0.28 -0.22,-0.03 -0.43,0.02 -0.65,0.05 -0.23,0.03 -0.46,0.07 -0.69,0.11 -0.45,0.08 -0.89,0.16 -1.34,0.24 -0.18,0.03 -0.14,0.34 0.04,0.32 0.45,-0.06 0.9,-0.12 1.35,-0.18 0.22,-0.03 0.44,-0.05 0.66,-0.1 0.23,-0.05 0.47,-0.06 0.67,-0.16 z"
+   id="path246" />
+			<path
+   class="st1"
+   d="m 613.66,493.61 c -0.13,0.03 -0.27,0.07 -0.4,0.1 -0.06,0.02 -0.1,0.09 -0.08,0.15 0.02,0.06 0.08,0.1 0.15,0.08 0.13,-0.03 0.27,-0.07 0.4,-0.1 0.13,-0.03 0.26,-0.08 0.39,-0.12 0.05,-0.02 0.08,-0.07 0.07,-0.12 -0.02,-0.06 -0.07,-0.08 -0.12,-0.07 -0.14,0.02 -0.27,0.04 -0.41,0.08 z"
+   id="path248" />
+			<path
+   class="st1"
+   d="m 611.24,496.96 c -0.24,-0.02 -0.47,-0.03 -0.71,-0.04 -0.47,-0.03 -0.95,-0.05 -1.42,-0.08 -0.18,-0.01 -0.18,0.27 0,0.29 0.47,0.03 0.93,0.06 1.4,0.1 0.23,0.02 0.46,0.04 0.69,0.05 0.23,0.01 0.48,0.03 0.71,0 0.12,-0.01 0.17,-0.19 0.03,-0.23 -0.23,-0.06 -0.47,-0.07 -0.7,-0.09 z"
+   id="path250" />
+			<path
+   class="st1"
+   d="m 621.7,495.16 c -0.53,0.07 -1.04,0.24 -1.57,0.37 -0.51,0.13 -1.01,0.25 -1.52,0.37 -1.05,0.26 -2.1,0.53 -3.15,0.8 -0.18,0.05 -0.1,0.31 0.08,0.27 1.04,-0.24 2.07,-0.48 3.11,-0.74 0.51,-0.12 1.01,-0.25 1.52,-0.37 0.53,-0.13 1.07,-0.2 1.58,-0.39 0.14,-0.06 0.14,-0.34 -0.05,-0.31 z"
+   id="path252" />
+			<path
+   class="st1"
+   d="m 624.77,494.39 1.22,-0.6 c 0.4,-0.2 0.82,-0.39 1.16,-0.68 0.1,-0.09 -0.01,-0.24 -0.12,-0.21 -0.21,0.05 -0.42,0.15 -0.62,0.22 -0.22,0.08 -0.42,0.2 -0.63,0.31 -0.4,0.21 -0.81,0.41 -1.21,0.62 -0.23,0.11 -0.03,0.45 0.2,0.34 z"
+   id="path254" />
+			<path
+   class="st1"
+   d="m 629.13,491.36 c 0.1,-0.07 0.2,-0.13 0.3,-0.2 0.1,-0.07 0.19,-0.15 0.29,-0.22 0.03,-0.02 0.05,-0.04 0.06,-0.08 0.01,-0.03 0,-0.07 -0.01,-0.1 -0.04,-0.06 -0.11,-0.08 -0.18,-0.05 -0.1,0.06 -0.21,0.11 -0.31,0.18 -0.1,0.06 -0.2,0.13 -0.3,0.2 -0.07,0.04 -0.1,0.14 -0.05,0.21 0.04,0.07 0.13,0.11 0.2,0.06 z"
+   id="path256" />
+			<path
+   class="st1"
+   d="m 627.86,495.89 c -1.84,0.73 -3.81,1.19 -5.79,1.33 -0.16,0.01 -0.16,0.26 0,0.25 2.05,-0.11 4.06,-0.53 5.98,-1.28 0.93,-0.36 1.84,-0.79 2.71,-1.28 0.44,-0.25 0.87,-0.53 1.29,-0.81 0.4,-0.28 0.88,-0.56 1.17,-0.96 0.11,-0.14 -0.09,-0.28 -0.22,-0.22 -0.45,0.2 -0.84,0.59 -1.24,0.87 -0.39,0.27 -0.79,0.53 -1.2,0.77 -0.87,0.52 -1.77,0.96 -2.7,1.33 z"
+   id="path258" />
+			<path
+   class="st1"
+   d="m 634.36,491.54 c 0.3,-0.26 0.61,-0.52 0.89,-0.8 0.14,-0.14 0.26,-0.29 0.4,-0.44 0.07,-0.07 0.14,-0.13 0.21,-0.19 0.08,-0.07 0.16,-0.15 0.23,-0.22 0.08,-0.08 -0.04,-0.19 -0.12,-0.12 -0.08,0.06 -0.16,0.12 -0.24,0.19 -0.07,0.07 -0.14,0.14 -0.22,0.2 -0.08,0.06 -0.17,0.11 -0.25,0.16 -0.09,0.06 -0.16,0.12 -0.24,0.19 -0.31,0.25 -0.6,0.53 -0.9,0.79 -0.16,0.15 0.08,0.39 0.24,0.24 z"
+   id="path260" />
+			<path
+   class="st1"
+   d="m 632.11,495.83 c 1.53,-0.44 2.96,-1.05 4.28,-1.94 0.63,-0.43 1.28,-0.87 1.84,-1.39 0.29,-0.27 0.52,-0.59 0.81,-0.85 0.29,-0.27 0.6,-0.48 0.8,-0.83 0.05,-0.08 -0.05,-0.2 -0.14,-0.14 -0.31,0.22 -0.5,0.53 -0.76,0.81 -0.24,0.27 -0.56,0.46 -0.84,0.68 -0.62,0.48 -1.23,0.98 -1.91,1.39 -1.3,0.8 -2.71,1.5 -4.17,1.97 -0.19,0.06 -0.11,0.35 0.09,0.3 z"
+   id="path262" />
+			<path
+   class="st1"
+   d="m 640.82,490.1 c 0.09,0 0.09,-0.14 0,-0.14 -0.08,0 -0.08,0.14 0,0.14 z"
+   id="path264" />
+			<path
+   class="st1"
+   d="m 572.91,493.62 c -0.82,-0.28 -1.64,-0.62 -2.41,-1.02 -1.53,-0.79 -2.98,-1.84 -4.29,-2.96 -0.17,-0.15 -0.43,0.09 -0.26,0.26 1.31,1.26 2.79,2.22 4.43,3.01 0.8,0.38 1.61,0.72 2.45,1 0.83,0.27 1.69,0.52 2.56,0.58 0.07,0 0.08,-0.1 0.02,-0.12 -0.83,-0.28 -1.68,-0.47 -2.5,-0.75 z"
+   id="path266" />
+			<path
+   class="st1"
+   d="m 580.56,494.84 c -0.48,-0.07 -0.95,-0.07 -1.42,0.01 -0.1,0.02 -0.15,0.13 -0.12,0.22 0.03,0.1 0.12,0.14 0.22,0.12 0.42,-0.06 0.86,-0.06 1.28,0.01 0.42,0.07 0.82,0.25 1.24,0.33 0.11,0.02 0.21,-0.11 0.11,-0.2 -0.35,-0.31 -0.86,-0.43 -1.31,-0.49 z"
+   id="path268" />
+			<path
+   class="st1"
+   d="m 584.37,495.86 c 0.06,0 0.06,-0.1 0,-0.1 -0.06,0.01 -0.06,0.1 0,0.1 z"
+   id="path270" />
+			<path
+   class="st1"
+   d="m 573.26,496.43 c 0.01,-0.03 0.01,-0.06 -0.03,-0.08 -0.16,-0.07 -0.32,-0.12 -0.48,-0.18 -0.49,-0.23 -0.99,-0.46 -1.48,-0.69 -0.08,-0.04 -0.16,0 -0.2,0.06 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.11,-0.04 -0.16,0.14 -0.05,0.17 0.08,0.03 0.15,0.06 0.23,0.08 0.41,0.19 0.82,0.38 1.23,0.57 0.43,0.2 0.88,0.39 1.33,0.55 0.1,0.04 0.16,-0.12 0.07,-0.17 -0.17,-0.1 -0.37,-0.19 -0.57,-0.29 z"
+   id="path272" />
+			<path
+   class="st1"
+   d="m 578.78,497.92 c 0.15,0 0.15,-0.23 0,-0.23 -0.14,0.01 -0.14,0.23 0,0.23 z"
+   id="path274" />
+			<path
+   class="st1"
+   d="m 557.8,499.44 c -0.06,-0.32 -0.05,-0.66 0.03,-0.98 0.06,-0.24 -0.3,-0.34 -0.36,-0.1 -0.1,0.38 -0.11,0.77 -0.03,1.16 0.07,0.36 0.2,0.79 0.51,1.01 0.09,0.06 0.2,-0.04 0.18,-0.14 -0.04,-0.17 -0.12,-0.32 -0.18,-0.48 -0.07,-0.15 -0.12,-0.31 -0.15,-0.47 z"
+   id="path276" />
+			<path
+   class="st1"
+   d="m 559.66,500.46 c -0.03,-0.28 -0.06,-0.56 -0.1,-0.85 -0.01,-0.09 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.08 -0.16,0.16 0.03,0.29 0.06,0.57 0.09,0.86 0.01,0.14 0.03,0.28 0.04,0.42 0.02,0.14 0.01,0.34 0.14,0.43 0.05,0.03 0.12,0.02 0.16,-0.02 0.11,-0.11 0.06,-0.3 0.04,-0.44 z"
+   id="path278" />
+			<path
+   class="st1"
+   d="m 561.11,501.24 c -0.03,-0.12 -0.06,-0.24 -0.09,-0.36 l -0.21,-0.72 c -0.07,-0.23 -0.42,-0.13 -0.36,0.1 0.07,0.24 0.14,0.48 0.2,0.73 0.03,0.12 0.07,0.24 0.11,0.35 0.02,0.06 0.04,0.12 0.06,0.18 0.02,0.07 0.05,0.13 0.1,0.19 0.07,0.08 0.22,0.04 0.25,-0.06 0.01,-0.05 0.02,-0.09 0.01,-0.14 0,-0.03 -0.01,-0.05 -0.02,-0.08 -0.01,-0.07 -0.03,-0.13 -0.05,-0.19 z"
+   id="path280" />
+			<path
+   class="st1"
+   d="m 563.6,502.33 -0.2,-0.4 c -0.14,-0.27 -0.28,-0.55 -0.42,-0.82 -0.06,-0.11 -0.21,-0.14 -0.31,-0.08 -0.11,0.07 -0.14,0.2 -0.08,0.31 0.14,0.28 0.27,0.55 0.41,0.83 0.07,0.13 0.13,0.27 0.2,0.4 0.03,0.07 0.07,0.13 0.1,0.2 0.06,0.1 0.1,0.18 0.22,0.22 0.1,0.04 0.21,-0.04 0.24,-0.14 0.03,-0.11 -0.01,-0.2 -0.06,-0.3 -0.03,-0.08 -0.07,-0.15 -0.1,-0.22 z"
+   id="path282" />
+			<path
+   class="st1"
+   d="m 568.67,503.3 c -0.11,-0.38 -0.21,-0.76 -0.32,-1.14 -0.05,-0.18 -0.32,-0.1 -0.28,0.08 0.1,0.38 0.2,0.76 0.3,1.14 0.05,0.18 0.1,0.37 0.15,0.55 0.05,0.18 0.08,0.4 0.21,0.54 0.05,0.06 0.17,0.03 0.19,-0.05 0.04,-0.19 -0.05,-0.4 -0.1,-0.58 -0.05,-0.18 -0.1,-0.36 -0.15,-0.54 z"
+   id="path284" />
+			<path
+   class="st1"
+   d="m 570.8,503.75 c -0.08,-0.33 -0.15,-0.67 -0.23,-1 -0.05,-0.22 -0.39,-0.13 -0.34,0.09 0.07,0.33 0.15,0.67 0.22,1 0.04,0.17 0.08,0.35 0.11,0.52 0.03,0.14 0.06,0.42 0.27,0.37 0.21,-0.06 0.11,-0.32 0.08,-0.46 -0.03,-0.17 -0.07,-0.35 -0.11,-0.52 z"
+   id="path286" />
+			<path
+   class="st1"
+   d="m 572.32,504.58 c -0.05,-0.05 -0.09,-0.11 -0.14,-0.16 -0.09,-0.11 -0.2,-0.21 -0.29,-0.31 -0.06,-0.06 -0.17,-0.06 -0.23,0 -0.06,0.07 -0.06,0.16 0,0.23 0.1,0.1 0.19,0.21 0.29,0.31 0.05,0.05 0.1,0.1 0.15,0.15 0.03,0.03 0.05,0.05 0.08,0.08 0.03,0.03 0.07,0.05 0.11,0.07 0.05,0.03 0.12,0.02 0.16,-0.02 0.04,-0.04 0.05,-0.1 0.02,-0.16 -0.02,-0.04 -0.04,-0.08 -0.07,-0.11 -0.03,-0.02 -0.06,-0.05 -0.08,-0.08 z"
+   id="path288" />
+			<path
+   class="st1"
+   d="m 629.73,504.24 c -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 -0.03,-0.01 -0.05,-0.03 -0.08,-0.05 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 0,0 -0.04,-0.03 -0.02,-0.02 0.02,0.01 -0.02,-0.01 -0.02,-0.02 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.05,-0.04 -0.1,-0.08 -0.14,-0.12 -0.02,-0.02 -0.04,-0.05 -0.06,-0.07 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 0.03,0.03 -0.01,-0.01 -0.01,-0.01 -0.04,-0.05 -0.07,-0.1 -0.1,-0.16 -0.01,-0.02 -0.03,-0.05 -0.04,-0.08 0,-0.01 0,0 0,-0.01 0,0 0,0 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 -0.02,-0.06 -0.03,-0.11 -0.04,-0.17 0,-0.01 0,-0.01 0,-0.02 0,-0.01 0,-0.03 0,-0.04 0,-0.03 0,-0.07 0,-0.1 0,-0.09 -0.08,-0.18 -0.18,-0.18 -0.1,0 -0.17,0.08 -0.18,0.18 -0.03,0.29 0.06,0.61 0.23,0.85 0.09,0.13 0.2,0.26 0.33,0.34 0.07,0.04 0.14,0.07 0.21,0.1 0.08,0.03 0.17,0.06 0.26,0.03 0.11,-0.03 0.13,-0.15 0.06,-0.23 0.01,0.03 -0.03,-0.02 -0.03,-0.03 z"
+   id="path290" />
+			<path
+   class="st1"
+   d="m 596.34,432.02 c 1.45,-0.06 2.9,-0.11 4.35,-0.17 0.71,-0.03 1.43,-0.06 2.14,-0.09 0.71,-0.03 1.43,-0.04 2.13,-0.15 0.19,-0.03 0.13,-0.31 -0.04,-0.32 -0.71,-0.05 -1.44,0.02 -2.14,0.05 -0.71,0.04 -1.43,0.07 -2.14,0.11 -1.43,0.08 -2.86,0.15 -4.29,0.23 -0.23,0.01 -0.23,0.35 -0.01,0.34 z"
+   id="path292" />
+			<path
+   class="st1"
+   d="m 600.73,432.66 h -0.6 c -0.06,0 -0.13,0.06 -0.12,0.12 0,0.07 0.05,0.12 0.12,0.12 h 0.59 c 0.07,0 0.14,-0.01 0.21,-0.02 0.06,-0.01 0.1,-0.04 0.1,-0.1 0,-0.06 -0.05,-0.1 -0.1,-0.1 -0.07,-0.01 -0.13,-0.02 -0.2,-0.02 z"
+   id="path294" />
+			<path
+   class="st1"
+   d="m 591.08,431.25 c 0.83,0.2 1.66,0.4 2.49,0.6 0.83,0.19 1.67,0.41 2.51,0.53 0.23,0.03 0.33,-0.28 0.1,-0.36 -0.81,-0.28 -1.65,-0.46 -2.47,-0.67 -0.83,-0.21 -1.66,-0.41 -2.49,-0.61 -0.33,-0.08 -0.47,0.43 -0.14,0.51 z"
+   id="path296" />
+		</g>
+		<g
+   id="g308">
+			<g
+   id="g302">
+				<rect
+   x="647.32001"
+   y="455.85999"
+   class="st1"
+   width="42.389999"
+   height="2.51"
+   id="rect300" />
+			</g>
+			<g
+   id="g306">
+				<rect
+   x="510.79001"
+   y="455.85999"
+   class="st1"
+   width="40.389999"
+   height="2.51"
+   id="rect304" />
+			</g>
+		</g>
+		<g
+   id="g2120">
+			<path
+   class="st1"
+   d="m 540.81,390.75 c -0.01,0 -0.02,0.01 -0.03,0.01 -0.2,0.09 -0.01,0.01 0.03,-0.01 z"
+   id="path310" />
+			<path
+   class="st1"
+   d="m 541.26,390.61 c -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 0.01,0.01 0.02,0.01 0.03,0 0,0 0,0 0,0 z"
+   id="path312" />
+			<path
+   class="st1"
+   d="m 545.12,369.88 c 0.01,0.01 0.01,0.01 0,0 0.07,0.02 0.17,0.01 0,0 z"
+   id="path314" />
+			<path
+   class="st1"
+   d="m 595.77,319.62 c -0.46,-0.22 -0.98,-0.28 -1.48,-0.16 -0.27,0.07 -0.68,0.26 -0.93,0.52 -0.02,0.01 -0.03,0.02 -0.05,0.04 -0.15,0.14 -0.26,0.34 -0.35,0.53 -0.18,0.43 -0.24,0.88 -0.15,1.34 0.18,0.92 1.04,1.5 1.94,1.54 0.95,0.04 1.8,-0.58 2.03,-1.5 0.22,-0.86 -0.19,-1.91 -1.01,-2.31 z m -0.11,1.89 c -0.01,0.03 -0.01,0.06 -0.02,0.1 -0.02,0.08 -0.04,0.15 -0.06,0.22 0,0 0,0 0,0 -0.02,0.03 -0.03,0.07 -0.05,0.1 -0.02,0.03 -0.03,0.05 -0.05,0.08 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.05,0.05 -0.08,0.08 -0.01,0.01 -0.03,0.03 -0.04,0.04 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.01,0 -0.02,0.01 -0.04,0.02 -0.02,0.01 -0.04,0.01 -0.06,0.02 -0.04,0.01 -0.07,0.02 -0.11,0.03 -0.01,0 -0.06,0.01 -0.09,0.02 -0.01,0 -0.02,0 -0.03,0 -0.03,0 -0.06,0 -0.1,0 -0.04,0 -0.07,0 -0.11,0 -0.01,0 -0.02,0 -0.03,0 -0.06,-0.01 -0.13,-0.02 -0.19,-0.04 -0.03,-0.01 -0.07,-0.02 -0.1,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.07,-0.03 -0.13,-0.07 -0.19,-0.11 0,0 0,0 0,0 -0.02,-0.03 -0.06,-0.05 -0.08,-0.07 -0.03,-0.03 -0.05,-0.05 -0.08,-0.08 0,0 0,0 0,0 0,0 0,0 0,0 -0.04,-0.06 -0.07,-0.12 -0.1,-0.18 -0.01,-0.02 -0.02,-0.04 -0.02,-0.05 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 0,-0.01 -0.01,-0.06 -0.02,-0.08 0,-0.02 0,-0.05 -0.01,-0.07 0,-0.08 0,-0.15 0.01,-0.23 0,-0.02 0.01,-0.04 0.01,-0.05 0.01,-0.04 0.02,-0.08 0.03,-0.13 0.01,-0.04 0.03,-0.08 0.04,-0.12 0,-0.01 0,0 0,-0.01 0.06,-0.03 0.12,-0.06 0.17,-0.11 0.03,-0.02 0.05,-0.05 0.08,-0.08 0.01,-0.01 0.03,-0.03 0.05,-0.04 0.02,-0.01 0.04,-0.03 0.05,-0.04 0.03,-0.02 0.05,-0.03 0.08,-0.05 0.02,-0.01 0.05,-0.03 0.08,-0.04 0.01,0 0.03,-0.01 0.04,-0.01 0.07,-0.02 0.14,-0.04 0.21,-0.06 0,0 0,0 0.01,0 0.04,0 0.08,-0.01 0.12,-0.01 0.06,0 0.14,0.01 0.2,0.01 0,0 0,0 0,0 0.04,0.01 0.08,0.02 0.12,0.03 0.04,0.01 0.07,0.02 0.1,0.03 0,0 0,0 0,0 0.06,0.03 0.12,0.07 0.18,0.11 0.01,0.01 0.02,0.01 0.02,0.02 0.03,0.03 0.05,0.05 0.08,0.08 0,0 0.01,0.01 0.01,0.01 0,-0.01 0,-0.01 -0.01,-0.01 0,0.01 0.01,0.01 0.01,0.02 0,0 0.01,0.01 0.01,0.01 0.02,0.02 0.02,0.03 0.01,0.03 0.01,0.02 0.03,0.03 0.03,0.04 0,0.01 0.01,0.01 0.01,0.02 0,-0.01 0.01,0 0.02,0.02 0,0.01 0.01,0.02 0.01,0.03 0,0.01 0.01,0.01 0.01,0.02 0,0 0,-0.01 -0.01,-0.01 0,0 0,0.01 0,0.01 0.02,0.07 0.04,0.15 0.05,0.22 0,0 0,0 0,0 0,0.04 0,0.07 0,0.11 0,0.08 -0.01,0.16 -0.01,0.24 0,0.01 0,0.01 0,0.02 0.04,-0.03 0.04,-0.03 0.05,-0.05 z"
+   id="path316" />
+			<path
+   class="st1"
+   d="m 595.6,320.93 c -0.01,-0.01 -0.02,-0.03 -0.02,-0.05 -0.01,0.01 0,0.03 0.02,0.05 0,0.01 0,0 0,0 z"
+   id="path318" />
+			<path
+   class="st1"
+   d="m 595.51,320.78 c -0.01,0 -0.01,0 0,0 0.01,0.02 0.02,0.04 0.02,0.04 -0.01,-0.01 -0.02,-0.03 -0.02,-0.04 z"
+   id="path320" />
+			<path
+   class="st1"
+   d="m 594.3,257.06 c 1.71,0.26 3.35,-0.8 3.95,-2.4 0.63,-1.67 -0.24,-3.66 -1.74,-4.53 -0.91,-0.53 -2.01,-0.63 -2.97,-0.19 -0.43,0.2 -0.85,0.54 -1.09,0.95 -0.21,0.18 -0.4,0.4 -0.56,0.63 -0.45,0.63 -0.7,1.45 -0.65,2.22 0.11,1.65 1.44,3.08 3.06,3.32 z m -1.38,-4.6 c 0.05,-0.02 0.1,-0.05 0.14,-0.09 0.42,-0.41 0.65,-0.84 1.12,-1.08 0.17,-0.09 0.39,-0.13 0.62,-0.13 0.22,0 0.48,0.06 0.69,0.15 0.55,0.24 0.96,0.67 1.21,1.2 0.22,0.45 0.28,1.02 0.16,1.47 -0.24,0.91 -1.16,1.62 -2.08,1.61 -0.41,0 -0.92,-0.19 -1.25,-0.46 -0.42,-0.33 -0.69,-0.74 -0.81,-1.21 -0.12,-0.46 -0.04,-0.99 0.2,-1.46 z"
+   id="path322" />
+			<path
+   class="st1"
+   d="m 596.12,268.47 c 0.01,-0.01 0.02,-0.02 0.04,-0.03 -0.01,0 -0.03,0.01 -0.05,0.04 0,-0.01 0,-0.01 0.01,-0.01 z"
+   id="path324" />
+			<path
+   class="st1"
+   d="m 596.59,267.7 c 0,-0.01 0,-0.01 0,-0.02 -0.01,0.01 0,0.02 0,0.02 0,0.01 0,0 0,0 z"
+   id="path326" />
+			<path
+   class="st1"
+   d="m 595.89,268.59 c 0.01,0 0.01,0 0,0 -0.03,0 -0.06,0.01 -0.07,0.02 0.03,0 0.05,-0.01 0.07,-0.02 z"
+   id="path328" />
+			<path
+   class="st1"
+   d="m 510.35,248.54 c 0,0 0,0 0,0 -0.04,-0.05 -0.03,-0.03 0,0 z"
+   id="path330" />
+			<path
+   class="st1"
+   d="m 665.81,196.56 c 0,0 0,0 0,0 -0.01,0 -0.02,0.01 -0.02,0.01 0.01,-0.01 0.01,-0.01 0.02,-0.01 z"
+   id="path332" />
+			<path
+   class="st1"
+   d="m 665.81,196.56 c 0.01,0 0.01,0 0.02,-0.01 0.05,-0.02 0.04,-0.02 -0.02,0.01 z"
+   id="path334" />
+			<path
+   class="st1"
+   d="m 712.71,221.96 c -0.01,-0.16 -0.05,-0.3 -0.15,-0.42 0,0 -0.01,0 -0.01,-0.01 0.1,-1.05 -0.06,-2.15 -0.2,-3.17 -0.17,-1.28 -0.39,-2.55 -0.64,-3.81 -0.5,-2.53 -1.16,-5.03 -1.97,-7.48 -1.61,-4.89 -3.87,-9.55 -6.62,-13.9 -0.77,-1.21 -1.57,-2.4 -2.42,-3.55 -0.43,-0.59 -0.88,-1.16 -1.33,-1.73 -0.45,-0.56 -0.86,-1.16 -1.45,-1.57 -0.2,-0.14 -0.38,-0.07 -0.5,0.08 -0.19,-0.03 -0.38,0.01 -0.54,0.16 -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.04,0.03 -0.08,0.05 -0.11,0.08 -0.06,0.04 -0.12,0.06 -0.18,0.09 -0.1,0.04 -0.21,0.07 -0.31,0.1 -0.02,0 -0.04,0.01 -0.06,0.01 -0.01,0 -0.01,0 -0.02,0 -0.06,0.01 -0.13,0.01 -0.19,0.01 -0.06,0 -0.12,-0.01 -0.18,-0.01 -0.01,0 -0.01,0 -0.02,0 -0.09,-0.05 -0.2,-0.08 -0.29,-0.13 -0.03,-0.21 -0.16,-0.4 -0.4,-0.46 -0.52,-0.14 -1.2,-0.05 -1.72,0.06 -0.53,0.11 -1.04,0.32 -1.54,0.5 -1.13,0.41 -2.25,0.86 -3.35,1.35 -1.06,0.46 -2.09,0.99 -3.11,1.53 -1,0.54 -2.18,1.09 -3,1.89 -0.17,0.16 -0.21,0.37 -0.19,0.57 -0.14,0.1 -0.21,0.25 -0.24,0.41 -0.28,0.12 -0.55,0.25 -0.81,0.36 -0.52,0.23 -1.05,0.48 -1.53,0.78 -0.44,0.28 -0.87,0.61 -1.22,1.01 -0.19,0.21 -0.38,0.45 -0.52,0.7 -0.04,0.07 -0.07,0.15 -0.1,0.23 -0.08,0.03 -0.15,0.05 -0.23,0.08 -0.69,0.2 -1.39,0.36 -2.04,0.69 -0.58,0.29 -1.11,0.76 -1.4,1.35 -0.15,0.31 -0.24,0.66 -0.24,1 -0.37,0.15 -0.74,0.29 -1.1,0.44 -0.69,-0.75 -1.43,-1.49 -2.38,-1.91 -0.53,-0.24 -1.35,-0.4 -1.98,-0.2 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 -0.1,-0.29 -0.21,-0.57 -0.34,-0.85 0.71,-0.3 1.41,-0.6 2.12,-0.9 0.26,-0.11 0.37,-0.4 0.36,-0.68 0.08,-0.16 0.13,-0.34 0.09,-0.56 -0.3,-1.96 -1.16,-3.96 -2,-5.74 -0.42,-0.88 -0.89,-1.74 -1.4,-2.58 -0.26,-0.42 -0.52,-0.83 -0.8,-1.23 -0.27,-0.39 -0.5,-0.76 -0.9,-0.97 -0.16,-0.23 -0.44,-0.38 -0.78,-0.27 -0.63,0.21 -1.23,0.53 -1.84,0.79 -0.58,0.25 -1.16,0.48 -1.75,0.71 -0.6,0.24 -1.21,0.48 -1.81,0.71 -0.48,0.19 -1.02,0.35 -1.46,0.64 -0.44,-0.63 -0.88,-1.27 -1.38,-1.85 -0.34,-0.39 -0.72,-0.89 -1.19,-1.2 0,-0.01 0,-0.02 0,-0.04 -0.04,-0.11 -0.09,-0.21 -0.17,-0.29 -0.1,-0.1 -0.31,-0.2 -0.45,-0.19 -0.1,0.01 -0.2,0.01 -0.3,0.04 -0.08,0.03 -0.16,0.07 -0.24,0.1 -0.09,0.04 -0.18,0.08 -0.27,0.12 -0.17,0.07 -0.33,0.14 -0.5,0.22 -0.17,0.07 -0.33,0.14 -0.5,0.22 -0.09,0.04 -0.18,0.08 -0.26,0.14 -0.11,0.07 -0.21,0.17 -0.3,0.25 -0.16,0.14 -0.18,0.4 -0.11,0.58 0,0 0.01,0.01 0.01,0.01 -0.13,0.31 -0.17,0.65 -0.09,0.98 0.01,0.06 0.05,0.11 0.08,0.17 -6.83,3.08 -13.68,6.11 -20.53,9.14 -1.94,-1.37 -3.94,-2.66 -6.02,-3.81 -6.4,-3.53 -13.4,-6.01 -20.58,-7.34 -7.22,-1.34 -14.59,-1.55 -21.87,-0.6 -8.1,1.06 -15.97,3.67 -23.12,7.62 -7.73,4.27 -14.52,10.12 -19.89,17.14 -5,6.54 -8.82,13.99 -11.18,21.88 -0.94,3.14 -1.62,6.36 -2.09,9.61 -4.62,1.9 -9.24,3.82 -13.81,5.82 -0.45,0.2 -0.41,0.76 -0.13,1.08 0,0.43 0.08,0.87 0.14,1.26 0.06,0.39 0.16,0.78 0.24,1.17 -0.59,0.17 -1.17,0.44 -1.72,0.66 -0.28,0.11 -0.56,0.23 -0.84,0.35 -0.05,-0.13 -0.1,-0.26 -0.16,-0.37 -0.06,-0.1 -0.11,-0.21 -0.18,-0.31 -0.01,-0.01 -0.06,-0.09 -0.1,-0.13 -0.08,-0.11 -0.17,-0.18 -0.28,-0.25 -0.18,-0.12 -0.4,-0.07 -0.56,0.05 -0.21,0.04 -0.4,0.14 -0.59,0.23 -0.17,0.07 -0.34,0.15 -0.51,0.22 -0.16,0.07 -0.33,0.14 -0.48,0.23 -0.19,0.11 -0.36,0.24 -0.52,0.39 -0.06,0.06 -0.09,0.13 -0.11,0.21 -0.17,-0.08 -0.43,0.01 -0.41,0.23 l 0.01,0.1 c -0.05,0.14 -0.08,0.27 -0.04,0.43 0.02,0.1 0.05,0.21 0.08,0.31 0.03,0.1 0.07,0.18 0.11,0.28 -0.29,0.13 -0.6,0.27 -0.91,0.42 -0.08,0.01 -0.15,0.06 -0.22,0.12 -0.35,0.19 -0.67,0.42 -0.89,0.71 -0.19,0.25 -0.12,0.58 0.15,0.7 -0.02,0.09 -0.06,0.17 -0.08,0.26 -0.13,0.61 -0.16,1.25 -0.09,1.87 0.15,1.43 0.64,2.72 1.25,4.01 0.53,1.13 1.07,2.45 2.04,3.27 0.8,0.68 1.97,1.02 2.92,0.6 -0.04,0.07 -0.09,0.12 -0.1,0.2 -0.12,1.04 0.05,2.13 0.2,3.16 0,0.02 0.01,0.04 0.01,0.06 -0.43,0.19 -0.86,0.37 -1.29,0.57 -0.35,0.16 -0.29,0.59 -0.05,0.81 -0.41,0.69 -0.63,1.52 -0.71,2.35 -0.18,0.07 -0.36,0.15 -0.54,0.22 -1.56,0.63 -3.1,1.31 -4.65,1.96 -1.5,0.64 -3,1.26 -4.49,1.92 -0.76,0.34 -1.53,0.66 -2.27,1.03 -0.16,0.08 -0.34,0.16 -0.53,0.24 -0.1,-0.03 -0.2,-0.04 -0.32,0.03 -0.92,0.51 -1.48,1.15 -1.87,2.12 -0.43,1.08 -0.55,2.14 -0.43,3.3 0.06,0.6 0.16,1.2 0.27,1.8 -0.56,0.21 -1.12,0.43 -1.67,0.65 -1.73,0.69 -3.47,1.4 -5.2,2.1 -1.69,0.69 -3.39,1.37 -5.08,2.08 -1.48,0.62 -3.01,1.18 -4.44,1.91 -0.15,0.04 -0.29,0.11 -0.44,0.23 -0.11,0.06 -0.22,0.11 -0.32,0.17 -0.28,0.16 -0.35,0.44 -0.29,0.7 -0.02,0.04 -0.04,0.07 -0.05,0.11 -0.11,0.27 -0.16,0.56 -0.19,0.85 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.26,0.12 -0.52,0.23 -0.78,0.35 -0.26,0.12 -0.52,0.23 -0.78,0.35 -0.12,0.06 -0.25,0.11 -0.37,0.17 -0.18,0.08 -0.33,0.18 -0.48,0.31 -0.15,0.12 -0.18,0.34 -0.15,0.53 -0.16,0.26 -0.3,0.55 -0.39,0.91 -0.2,0.79 -0.2,1.61 -0.13,2.42 0.17,1.93 0.88,3.76 1.7,5.5 0.82,1.72 1.85,3.7 3.35,4.93 0.42,0.35 0.99,0.63 1.57,0.81 0.02,0.01 0.02,0.03 0.04,0.04 0.05,0.02 0.11,0.03 0.16,0.04 0.07,0.03 0.14,0.05 0.22,0.05 0.04,0 0.07,-0.01 0.11,-0.01 0.78,0.12 1.54,-0.03 2.04,-0.61 l 0.33,-0.13 c 0.19,-0.08 0.38,-0.15 0.57,-0.23 0.59,0.34 1.24,0.46 1.96,0.13 0.09,-0.04 0.17,-0.1 0.24,-0.17 3.61,-0.93 7.12,-2.4 10.56,-3.79 1.91,-0.77 3.8,-1.58 5.68,-2.41 0.22,-0.1 0.43,-0.22 0.65,-0.32 0.01,0.01 0.02,0.02 0.03,0.04 0.73,0.82 1.57,1.58 2.49,2.18 0.54,0.36 1.25,0.78 1.97,0.99 0.15,0.18 0.39,0.3 0.68,0.22 0.16,-0.04 0.32,-0.1 0.48,-0.14 0.08,-0.01 0.15,-0.02 0.22,-0.04 0.03,-0.01 0.04,-0.03 0.07,-0.04 1.18,-0.37 2.33,-0.87 3.47,-1.33 1.4,-0.57 2.8,-1.14 4.2,-1.71 1.37,-0.56 2.73,-1.13 4.09,-1.7 0.4,-0.17 0.8,-0.34 1.2,-0.51 0.97,0.48 2.5,0.54 3.14,-0.33 5.11,-2.03 10.2,-4.14 15.27,-6.27 0.14,0.19 0.27,0.39 0.41,0.58 1.07,1.42 2.18,2.8 3.35,4.12 1.2,1.35 2.56,2.53 3.86,3.79 0.24,0.23 0.52,0.3 0.78,0.26 4.81,4.28 10.23,7.88 16.09,10.55 2.13,0.98 4.32,1.82 6.53,2.56 -0.39,1.55 -0.79,3.1 -1.17,4.65 -0.48,1.94 -0.96,3.89 -1.44,5.84 -0.13,0.01 -0.26,0.02 -0.38,0.03 -0.05,-0.88 -0.09,-1.79 -0.32,-2.64 -0.11,-0.4 -0.66,-0.49 -0.92,-0.21 -0.18,-0.04 -0.37,-0.06 -0.55,-0.08 -0.17,-0.01 -0.33,-0.03 -0.5,-0.04 -0.17,-0.01 -0.33,-0.03 -0.5,-0.02 -0.22,0.01 -0.43,0.03 -0.65,0.07 -0.03,0.01 -0.05,0.02 -0.08,0.03 -0.17,-0.45 -0.82,-0.55 -0.99,0 -0.58,1.88 -0.46,4.08 -0.37,6.03 0.09,2.03 0.36,4.05 0.77,6.05 0.07,0.36 0.32,0.53 0.59,0.56 0,0.03 -0.02,0.05 -0.01,0.08 0.03,0.21 0.19,0.43 0.41,0.47 0.04,0.01 0.09,0.02 0.13,0.03 0.13,0.05 0.27,0.07 0.42,0.07 0.11,0 0.23,0 0.34,0 0.02,0 0.03,0 0.05,-0.01 -1.38,5.66 -2.76,11.32 -4.17,16.98 -0.77,3.12 -1.55,6.24 -2.32,9.36 -0.38,1.52 -0.76,3.04 -1.17,4.55 -0.36,1.32 -0.78,2.64 -0.9,4.01 -1.32,0.2 -2.62,0.49 -3.89,0.88 -0.79,0.25 -1.57,0.54 -2.33,0.86 -0.2,-0.57 -0.69,-0.93 -1.2,-1.28 -0.53,-0.37 -1.11,-0.67 -1.72,-0.92 -0.31,-0.13 -0.63,-0.22 -0.95,-0.31 0.02,-0.57 0.06,-1.14 0.07,-1.72 0.11,-0.11 0.19,-0.25 0.22,-0.43 0.07,-0.55 -0.37,-1.13 -0.77,-1.47 -0.45,-0.38 -0.97,-0.62 -1.56,-0.65 -0.52,-0.03 -1.06,0.12 -1.5,0.39 -0.24,0.14 -0.51,0.36 -0.7,0.62 -0.07,-0.03 -0.15,-0.06 -0.22,-0.05 -0.25,0.04 -0.38,0.22 -0.41,0.46 -0.09,0.82 -0.04,1.66 -0.02,2.49 0.01,0.19 0.01,0.38 0.02,0.57 -0.63,0.22 -1.25,0.5 -1.82,0.85 -0.92,0.57 -2.11,1.46 -2.53,2.51 -0.06,0.1 -0.13,0.19 -0.18,0.29 -0.14,0.3 -0.23,0.6 -0.33,0.91 -0.18,0.62 -0.32,1.24 -0.41,1.88 -0.19,1.35 -0.16,2.69 0.04,4.04 0.02,0.11 0.09,0.21 0.17,0.3 -0.29,0.7 -0.57,1.4 -0.83,2.11 -0.31,0.84 -0.63,1.67 -0.93,2.51 -0.08,0.22 -0.22,0.53 -0.33,0.85 -0.44,0.21 -0.87,0.43 -1.27,0.69 -0.14,0.09 -0.05,0.33 0.12,0.28 0.25,-0.08 0.49,-0.18 0.73,-0.28 -0.13,0.15 -0.25,0.31 -0.37,0.47 -0.25,0.07 -0.49,0.15 -0.71,0.23 -0.77,0.28 -1.5,0.64 -2.15,1.13 -0.67,0.5 -1.26,1.06 -1.76,1.73 -0.2,0.27 -0.39,0.56 -0.55,0.87 -0.18,-0.04 -0.38,0.02 -0.52,0.21 -0.04,0.05 -0.06,0.13 -0.09,0.19 -0.29,0.15 -0.5,0.52 -0.29,0.9 0.03,0.05 0.06,0.09 0.09,0.14 0,0.29 0,0.57 0,0.8 -0.01,0.72 -0.01,1.44 -0.02,2.16 -0.01,0.69 -0.01,1.39 -0.01,2.08 0,0.51 -0.12,1.22 0.1,1.73 0,0.07 0.03,0.15 0.06,0.22 -1.11,0.75 -2.05,2.02 -2.53,3.26 -0.19,0.48 -0.26,1 -0.29,1.53 -0.22,0.63 -0.25,1.35 -0.28,1.98 -0.06,0.97 0.01,1.93 0.15,2.89 0.14,0.92 0.35,1.86 0.73,2.72 0.2,0.45 0.43,0.87 0.75,1.25 0.03,0.03 0.05,0.06 0.08,0.1 2.08,3.16 5.47,5.08 8.97,6.45 4.85,1.89 10.04,3.11 15.14,4.12 10.83,2.16 21.89,2.97 32.92,3.05 11.01,0.08 22.03,-0.44 33.02,-1.11 10.53,-0.64 21.12,-1.58 31.36,-4.21 5.08,-1.3 10.05,-3.03 14.78,-5.29 2.04,-0.97 4,-2.1 5.78,-3.51 0.87,-0.69 1.77,-1.5 2.52,-2.41 0.23,-0.23 0.45,-0.47 0.66,-0.73 0.54,-0.67 0.87,-1.48 1.05,-2.31 0.08,0.01 0.16,0.01 0.25,-0.01 0.1,-0.02 0.2,-0.05 0.3,-0.07 0.1,-0.01 0.21,-0.02 0.31,-0.02 0.1,0 0.19,-0.01 0.28,-0.03 0.1,-0.02 0.18,-0.07 0.27,-0.12 0.05,-0.03 0.1,-0.06 0.15,-0.09 0.31,0.06 0.62,0.11 0.93,0.14 l 0.02,0.72 c 0.01,0.25 0.01,0.49 0.02,0.74 0.01,0.17 0.01,0.35 0.04,0.52 0.03,0.16 0.1,0.29 0.2,0.4 0.02,0.03 0.02,0.08 0.05,0.1 0.03,0.02 0.06,0.05 0.08,0.07 0.19,0.34 0.72,0.53 1.04,0.65 0.42,0.15 0.9,0.2 1.34,0.24 0.9,0.07 1.89,0.01 2.57,-0.63 0.08,-0.08 0.13,-0.18 0.15,-0.29 0.21,-0.11 0.37,-0.31 0.35,-0.56 -0.03,-0.44 -0.06,-0.88 -0.13,-1.32 -0.02,-0.17 -0.06,-0.33 -0.08,-0.49 0.47,-0.04 0.91,-0.18 1.1,-0.58 0.31,-0.17 0.62,-0.33 0.92,-0.52 0.25,-0.15 0.49,-0.31 0.73,-0.47 0.26,-0.17 0.55,-0.33 0.77,-0.55 0.23,0.06 0.49,0.02 0.66,-0.17 0.14,-0.16 0.25,-0.34 0.25,-0.56 0,-0.06 -0.01,-0.13 -0.02,-0.19 -0.02,-0.19 -0.04,-0.38 -0.07,-0.56 -0.04,-0.27 -0.08,-0.55 -0.11,-0.82 -0.04,-0.27 -0.07,-0.55 -0.11,-0.82 -0.04,-0.26 -0.11,-0.51 -0.18,-0.77 0.05,-0.3 0.05,-0.64 0.07,-0.89 0.04,-0.49 0.07,-0.99 0.07,-1.48 0.01,-0.9 -0.02,-1.79 -0.16,-2.67 0.08,-0.21 0.08,-0.46 -0.03,-0.66 -0.08,-0.14 -0.2,-0.22 -0.32,-0.28 0,-0.06 0.01,-0.13 -0.01,-0.19 -0.08,-0.27 -0.16,-0.54 -0.26,-0.8 -0.05,-0.13 -0.1,-0.26 -0.15,-0.38 -0.03,-0.09 -0.07,-0.18 -0.12,-0.26 0.46,-0.06 0.88,-0.12 1.24,-0.48 0.13,-0.14 0.19,-0.32 0.22,-0.51 0.13,-0.15 0.21,-0.32 0.2,-0.53 -0.04,-0.66 -0.08,-1.31 -0.12,-1.97 -0.01,-0.21 -0.04,-0.42 -0.06,-0.64 0.2,-0.42 0.08,-1 -0.4,-1.18 -0.18,-0.16 -0.42,-0.23 -0.66,-0.1 -0.03,0.02 -0.04,0.04 -0.07,0.06 -0.04,0 -0.08,0 -0.12,0 0.05,-0.24 0.01,-0.49 -0.03,-0.74 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 0.1,-0.11 0.16,-0.24 0.16,-0.4 0,-0.2 -0.12,-0.41 -0.3,-0.53 -0.03,-0.19 -0.05,-0.37 -0.08,-0.56 -0.07,-0.43 -0.15,-0.85 -0.24,-1.27 0.07,-0.15 0.06,-0.32 -0.01,-0.48 0.01,-0.02 0.03,-0.05 0.04,-0.07 0.11,-0.4 -0.14,-0.72 -0.49,-0.86 -1.13,-0.45 -2.27,-0.91 -3.4,-1.36 -0.97,-0.39 -1.94,-0.83 -2.97,-1.07 -0.12,-0.23 -0.36,-0.37 -0.64,-0.38 -0.24,-0.01 -0.5,0.05 -0.74,0.08 -0.21,0.03 -0.42,0.06 -0.63,0.1 -0.39,0.06 -0.78,0.13 -1.17,0.19 -0.39,0.06 -0.78,0.12 -1.16,0.19 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,-0.32 -0.05,-0.65 -0.16,-0.94 1.64,-0.3 3.25,-0.72 4.83,-1.25 0.29,-0.1 0.45,-0.29 0.53,-0.52 0.16,-0.06 0.31,-0.16 0.4,-0.33 0.13,-0.23 0.17,-0.45 0.16,-0.71 0,-0.12 -0.01,-0.24 -0.01,-0.36 -0.01,-0.27 -0.02,-0.54 -0.03,-0.81 -0.01,-0.26 -0.01,-0.52 -0.04,-0.78 -0.05,-0.35 -0.05,-0.73 -0.22,-1.05 -0.07,-0.13 -0.18,-0.21 -0.31,-0.27 -0.16,-0.38 -0.46,-0.73 -0.8,-0.93 -0.67,-0.4 -1.5,-0.39 -2.26,-0.43 -1.64,-0.09 -3.29,-0.16 -4.94,-0.15 -1.6,0.01 -3.19,0.11 -4.76,0.37 -1.58,0.26 -3.27,0.62 -4.61,1.55 -0.05,0.03 -0.06,0.08 -0.09,0.12 -0.12,0.04 -0.22,0.12 -0.28,0.22 -0.1,0.02 -0.2,0.07 -0.26,0.17 -0.15,0.23 -0.2,0.58 -0.18,0.85 0.02,0.24 0.05,0.48 0.07,0.71 0.02,0.24 0.05,0.47 0.07,0.71 0.02,0.2 0.03,0.4 0.07,0.6 -0.01,0.03 -0.03,0.05 -0.03,0.08 -0.01,0.71 0.1,1.27 0.65,1.77 0.54,0.49 1.28,0.66 1.98,0.76 1.13,0.16 2.26,0.21 3.4,0.23 -0.15,0.42 -0.11,0.9 -0.1,1.35 0.01,0.45 0.02,0.9 0.04,1.35 -0.08,0.01 -0.17,0.02 -0.25,0.03 -0.02,-0.15 -0.08,-0.29 -0.19,-0.39 -0.19,-0.32 -0.51,-0.55 -0.91,-0.57 -0.06,0 -0.13,0.01 -0.19,0.02 -0.05,-0.05 -0.11,-0.09 -0.19,-0.11 -1.01,-0.2 -2.01,-0.13 -3.02,0.02 -0.82,0.13 -1.87,0.3 -2.26,1.13 -0.06,-0.01 -0.11,-0.02 -0.17,-0.01 -0.07,0.01 -0.14,0.02 -0.21,0.04 -0.04,0.01 -0.08,0.02 -0.11,0.02 -0.01,-0.13 -0.05,-0.27 -0.12,-0.4 0,-0.01 0,-0.02 0,-0.02 0,-0.02 -0.02,-0.03 -0.03,-0.04 -0.02,-0.03 -0.03,-0.06 -0.05,-0.09 -0.01,-0.02 -0.03,-0.03 -0.05,-0.05 -0.03,-0.03 -0.05,-0.07 -0.09,-0.09 -0.51,-0.58 -1.37,-0.74 -2.09,-0.86 -0.51,-0.08 -1.05,-0.16 -1.57,-0.15 -0.27,0.01 -0.54,0.04 -0.81,0.09 -0.02,-0.08 -0.04,-0.15 -0.07,-0.23 0.08,-0.09 0.14,-0.2 0.16,-0.35 0.07,-0.5 0.04,-1.02 -0.05,-1.53 0.09,-0.06 0.17,-0.13 0.23,-0.23 0.37,-0.57 0.73,-1.15 1.1,-1.73 1.91,0.3 3.82,-1.03 4.6,-2.74 0.91,-2 0.41,-4.4 -0.83,-6.15 -1.32,-1.86 -3.33,-3.01 -5.38,-3.89 -2.1,-0.9 -4.55,-1.48 -6.76,-0.59 -1.04,0.42 -1.99,1.14 -2.5,2.16 -0.46,0.93 -0.76,2.29 -0.14,3.21 0.01,0.01 0.03,0.01 0.03,0.03 -0.04,0.06 -0.07,0.12 -0.11,0.18 -0.76,-0.33 -1.57,-0.57 -2.34,-0.8 -1.27,-0.37 -2.55,-0.66 -3.84,-0.86 0.51,-0.72 0.7,-1.6 0.68,-2.48 -0.02,-1.1 -0.18,-2.21 -0.3,-3.3 -0.06,-0.56 -0.12,-1.12 -0.18,-1.68 -0.04,-0.31 -0.09,-0.62 -0.16,-0.92 -0.02,-0.09 -0.06,-0.17 -0.09,-0.26 0.43,-0.01 0.86,-0.02 1.3,-0.02 0.25,0 0.5,-0.01 0.75,-0.01 0.21,0.1 0.47,0.04 0.67,-0.1 0.18,-0.07 0.34,-0.18 0.5,-0.39 0.18,-0.24 0.09,-0.57 -0.07,-0.8 0.02,-0.49 -0.05,-0.99 -0.07,-1.46 -0.04,-0.8 -0.09,-1.6 -0.13,-2.39 -0.04,-0.77 -0.09,-1.54 -0.14,-2.3 -0.03,-0.39 -0.05,-0.77 -0.1,-1.15 -0.01,-0.09 -0.03,-0.18 -0.04,-0.28 0.19,-0.49 -0.05,-1.18 -0.73,-1.17 -1.02,0.01 -2.04,0 -3.06,0.02 -0.97,0.02 -1.95,0.01 -2.91,0.13 -0.01,-0.13 -0.01,-0.25 -0.02,-0.38 -0.03,-0.64 -0.06,-1.28 -0.11,-1.92 -0.05,-0.64 -0.02,-1.34 -0.26,-1.95 -0.05,-0.13 -0.14,-0.23 -0.25,-0.3 0,-0.03 0.01,-0.06 0.01,-0.09 -0.01,-0.32 -0.23,-0.71 -0.58,-0.76 -0.55,-0.08 -1.11,-0.04 -1.67,-0.04 -0.51,0.01 -1.02,0.01 -1.53,0.02 -0.12,0 -0.25,0.04 -0.37,0.11 -1.82,-5.67 -3.64,-11.33 -5.38,-17.03 -1.51,-4.91 -2.97,-9.83 -4.45,-14.75 3.49,-1.47 6.85,-3.23 10.02,-5.29 6.35,-4.13 11.97,-9.39 16.58,-15.4 4.66,-6.08 8.32,-12.89 10.77,-20.15 2.44,-7.25 3.64,-14.9 3.45,-22.56 -0.06,-2.43 -0.28,-4.86 -0.61,-7.27 4.67,-1.98 9.34,-3.96 14.01,-5.93 3.14,-1.33 6.27,-2.67 9.42,-3.98 1.14,-0.47 2.27,-0.95 3.41,-1.43 0.17,0.18 0.37,0.34 0.54,0.46 0.65,0.41 1.42,0.51 2.17,0.4 0.82,-0.12 1.58,-0.5 2.32,-0.87 0.32,-0.16 0.63,-0.31 0.98,-0.41 0.16,0.16 0.33,0.3 0.51,0.39 0.47,0.26 1.04,0.38 1.58,0.38 0.65,0 1.26,-0.19 1.84,-0.45 0.28,-0.12 0.54,-0.27 0.8,-0.42 0.05,-0.03 0.11,-0.06 0.16,-0.09 0.24,0.62 0.99,0.59 1.38,0.17 2.12,-0.4 4.21,-1.28 6.15,-2.19 0.99,-0.46 1.98,-0.96 2.91,-1.53 0.51,-0.31 1.04,-0.67 1.48,-1.11 0.14,0.03 0.29,0.03 0.46,-0.02 0.34,-0.09 0.68,-0.18 1.02,-0.27 0.03,-0.01 0.04,-0.02 0.07,-0.03 0.16,0.02 0.32,-0.01 0.45,-0.14 0.09,-0.1 0.17,-0.2 0.24,-0.31 0.05,-0.08 0.09,-0.17 0.13,-0.25 0.08,-0.14 0.17,-0.28 0.26,-0.41 0.13,-0.16 0.27,-0.3 0.43,-0.43 -0.05,0.04 -0.1,0.07 -0.14,0.11 0.13,-0.1 0.26,-0.2 0.39,-0.31 0.05,-0.2 0.14,-0.43 0.13,-0.58 z m -40.87,-19.59 c -0.01,0.01 -0.02,0.04 -0.02,0.05 -0.02,0.04 -0.05,0.08 -0.07,0.12 0.01,-0.01 0.01,0 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.02 0,-0.01 0,-0.01 0.01,-0.02 -0.01,0.02 -0.03,0.03 -0.04,0.05 -0.02,0.02 -0.03,0.03 -0.05,0.05 -0.04,0.02 -0.08,0.05 -0.12,0.08 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.01,0 -0.02,0.01 -0.02,0.01 -0.06,0.02 -0.11,0.03 -0.17,0.05 -0.01,0 -0.03,0.01 -0.04,0.01 -0.05,0 -0.1,0.01 -0.15,0.01 -0.02,0 -0.05,0 -0.07,0 -0.01,0 -0.01,0 -0.01,0 -0.05,-0.01 -0.09,-0.02 -0.14,-0.03 -0.03,-0.01 -0.05,-0.02 -0.08,-0.02 -0.04,-0.02 -0.08,-0.04 -0.12,-0.06 -0.02,-0.01 -0.05,-0.04 -0.07,-0.05 0.01,0 0.01,0.01 0.02,0.01 -0.02,-0.02 -0.04,-0.04 -0.06,-0.07 0,0 -0.02,-0.01 -0.03,-0.03 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 0.01,0.01 0.01,0.01 0.02,0.02 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.01,-0.02 -0.02,-0.04 -0.04,-0.07 -0.02,-0.05 -0.03,-0.11 -0.05,-0.16 -0.01,-0.03 -0.01,-0.06 -0.02,-0.09 0.01,0.02 0.01,0.03 0.01,0.04 0,0 0,-0.01 0,-0.01 0,-0.07 0,-0.14 0,-0.21 0,-0.02 0,-0.03 0,-0.05 0,-0.01 0,-0.01 0,-0.02 0.01,-0.04 0.02,-0.07 0.03,-0.11 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.11,-0.07 0.22,-0.16 0.32,-0.24 -0.05,0.04 -0.1,0.07 -0.14,0.11 0.07,-0.05 0.15,-0.09 0.23,-0.13 0.1,-0.03 0.19,-0.06 0.29,-0.08 -0.01,0 -0.02,0 -0.03,0 0.03,0 0.06,-0.01 0.08,-0.02 0.02,-0.01 0.03,-0.01 0.05,-0.02 0,0 0.01,-0.01 0.03,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.02,0 0.03,0.01 0.05,0.01 0.02,0.01 0.04,0.01 0.06,0.02 0.01,0 0.01,0 0.01,0 0.04,0.02 0.08,0.04 0.12,0.07 0,-0.01 -0.01,-0.01 -0.01,-0.01 0.02,0.02 0.05,0.04 0.07,0.06 0.02,0.02 0.04,0.04 0.06,0.06 -0.02,-0.01 -0.02,0 0.03,0.04 0,0 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.01 0.01,0.01 0.02,0.02 0.02,0.03 -0.01,0 -0.01,-0.01 -0.01,-0.01 0.02,0.03 0.04,0.06 0.05,0.08 0.01,0.02 0.02,0.04 0.03,0.06 0,-0.01 0,-0.01 0,-0.01 0,0.01 0.01,0.01 0.01,0.02 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0.01,0.07 0.02,0.07 0.02,0.05 0.01,0.03 0.02,0.05 0.03,0.08 0.01,0.03 0.01,0.06 0.02,0.09 0,0 0,0.01 0.01,0.05 0,0 0,0 0,0 0,0 0,0 0,0 0,0.01 0,0.02 0.01,0.04 0,-0.01 0,-0.02 -0.01,-0.03 0,0.03 0,0.07 0,0.1 0,0.04 -0.02,0.13 0.01,-0.01 0,0.02 -0.01,0.05 -0.01,0.07 -0.01,0.05 -0.02,0.11 -0.04,0.16 0,0 0,0.01 0,0.01 -0.06,-0.08 -0.06,-0.08 -0.05,-0.09 z m -2.68,-4.22 c 0.42,0.06 0.75,0.27 1.06,0.54 0.58,0.52 1.11,1.1 1.59,1.71 -0.08,-0.04 -0.16,-0.09 -0.25,-0.11 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.02,0 -0.02,0 -0.02,0 -0.06,-0.03 -0.12,-0.05 -0.18,-0.08 -0.12,-0.05 -0.25,-0.07 -0.39,-0.06 -0.29,0.03 -0.53,0.09 -0.79,0.2 -0.26,0.12 -0.45,0.29 -0.62,0.53 -0.1,0.15 -0.11,0.34 -0.06,0.51 -0.16,0.38 -0.22,0.77 -0.13,1.18 0.17,0.81 0.93,1.34 1.73,1.36 0.81,0.03 1.55,-0.5 1.76,-1.29 0.06,-0.24 0.07,-0.49 0.05,-0.75 0.47,0.75 0.89,1.52 1.25,2.33 -0.54,0.27 -1.09,0.51 -1.65,0.75 -0.41,0.18 -0.81,0.35 -1.22,0.53 -0.17,0.07 -0.34,0.15 -0.51,0.23 -0.45,-1.06 -1.16,-2.05 -1.87,-2.88 -0.54,-0.64 -1.16,-1.2 -1.84,-1.69 -0.55,-0.4 -1.24,-0.88 -1.94,-1.06 0.04,-0.07 0.08,-0.14 0.12,-0.21 0.03,-0.04 0.05,-0.08 0.08,-0.13 0,-0.01 0.05,-0.07 0.06,-0.09 0.05,-0.07 0.11,-0.14 0.17,-0.2 0.01,-0.01 0.03,-0.03 0.04,-0.04 0.21,0.29 0.49,0.6 0.83,0.57 0.16,-0.02 0.31,-0.11 0.42,-0.24 0.05,0.02 0.09,0.06 0.14,0.08 0.11,0.04 0.22,0.04 0.34,0.05 0.07,0.01 0.15,0 0.22,0 0.25,-0.02 0.46,-0.07 0.69,-0.18 0.09,-0.04 0.17,-0.11 0.25,-0.18 0.03,0 0.06,0 0.09,-0.01 0.32,-0.1 0.56,-0.45 0.45,-0.79 -0.06,-0.2 -0.14,-0.4 -0.21,-0.6 0.14,0.02 0.27,0.01 0.4,0.03 z m 3.33,8.51 c -0.77,0.32 -1.55,0.65 -2.32,0.98 0,-0.02 0.01,-0.04 0.01,-0.07 0.02,-0.09 0.04,-0.18 0.06,-0.27 0.01,-0.05 0.02,-0.09 0.04,-0.13 0.01,-0.04 0.08,-0.19 0.01,-0.02 0.02,-0.05 0.05,-0.11 0.07,-0.16 0.06,-0.03 0.13,-0.06 0.19,-0.09 0.4,-0.05 0.78,-0.2 1.15,-0.34 0.41,-0.16 0.83,-0.32 1.24,-0.47 0.67,-0.26 1.35,-0.51 2.05,-0.72 0,0.05 0.01,0.09 0.01,0.14 -0.3,0.15 -0.6,0.33 -0.89,0.46 -0.54,0.24 -1.08,0.47 -1.62,0.69 z m -4.12,-1.6 c -0.28,-0.46 -0.6,-0.89 -0.95,-1.3 -0.36,-0.42 -0.76,-0.83 -1.28,-1.07 -0.06,-0.03 -0.11,-0.02 -0.17,-0.03 -0.03,-0.17 -0.04,-0.35 -0.03,-0.52 -0.43,0.19 -0.86,0.38 -1.3,0.56 0,-0.01 -0.01,-0.03 -0.01,-0.04 0.01,-0.18 -0.01,-0.35 -0.01,-0.53 -0.01,-0.22 0.01,-0.44 0.03,-0.66 0,-0.01 0.01,-0.08 0.01,-0.1 0.01,-0.03 0.02,-0.09 0.02,-0.1 0.02,-0.08 0.04,-0.16 0.06,-0.24 0.22,0.14 0.46,0.26 0.68,0.39 0.31,0.18 0.61,0.38 0.9,0.6 0.61,0.46 1.16,1 1.64,1.59 0.47,0.58 0.81,1.22 1.12,1.89 0.11,0.23 0.18,0.47 0.26,0.71 -0.01,0.04 -0.04,0.08 -0.05,0.12 -0.02,0.1 -0.04,0.2 -0.06,0.3 -0.01,0.04 -0.01,0.07 -0.02,0.11 -0.03,-0.07 -0.05,-0.14 -0.08,-0.2 -0.22,-0.51 -0.46,-1 -0.76,-1.48 z m -8.02,-0.48 c -4.35,1.89 -8.7,3.76 -13.06,5.63 -0.55,-0.78 -1.1,-1.55 -1.68,-2.3 0.11,-0.05 0.22,-0.09 0.33,-0.14 2.6,-1.06 5.21,-2.12 7.81,-3.17 2.03,-0.82 4.07,-1.61 6.07,-2.51 0.2,0.38 0.65,0.51 1.03,0.42 0.07,0.1 0.15,0.18 0.25,0.25 0.17,0.11 0.36,0.1 0.55,0.07 0.07,-0.01 0.14,-0.02 0.21,-0.04 0.12,-0.03 0.24,-0.1 0.36,-0.16 l 0.78,-0.37 c 0.13,-0.06 0.26,-0.12 0.39,-0.19 0.05,-0.03 0.09,-0.08 0.13,-0.12 0.02,0.11 0.02,0.22 0.04,0.33 -0.09,0.09 -0.16,0.19 -0.19,0.31 -0.01,0.05 -0.02,0.1 -0.03,0.15 -0.02,0.1 -0.03,0.19 -0.02,0.29 0.01,0.05 0.01,0.11 0.02,0.16 0,0.03 0.01,0.05 0.01,0.08 -1,0.44 -2,0.87 -3,1.31 z m -40.8,17.49 c 1.28,-1.66 2.55,-3.32 3.83,-4.98 2.41,-1 4.82,-2.03 7.23,-3.02 2.43,-1 4.87,-2 7.31,-3 0.65,0.77 1.27,1.56 1.88,2.36 -6.74,2.89 -13.49,5.77 -20.25,8.64 z m -32,13.41 c -0.48,-0.89 -0.96,-1.77 -1.43,-2.66 8.21,-3.52 16.44,-7 24.67,-10.47 -1.3,1.69 -2.61,3.38 -3.92,5.07 -6.43,2.7 -12.87,5.38 -19.32,8.06 z m -5.03,2.08 c -0.1,-0.19 -0.2,-0.38 -0.3,-0.57 0.29,-0.08 0.58,-0.15 0.87,-0.23 0.06,0.06 0.12,0.13 0.19,0.18 0.08,0.07 0.16,0.13 0.24,0.2 -0.33,0.14 -0.66,0.28 -1,0.42 z m -17.12,7.02 c -1.82,-0.16 -3.65,-0.32 -5.47,-0.48 5.23,-2.27 10.45,-4.55 15.68,-6.8 1.37,-0.59 2.74,-1.17 4.11,-1.75 0.45,0.87 0.9,1.74 1.35,2.61 -5.21,2.15 -10.44,4.29 -15.67,6.42 z m 12.37,-2.88 c 0.03,0.21 0.07,0.41 0.1,0.61 0.02,0.1 0.03,0.2 0.05,0.29 0.02,0.12 0.06,0.21 0.11,0.33 0.01,0.03 0.04,0.02 0.06,0.04 -0.66,0.08 -1.31,0.19 -1.95,0.33 -0.02,-0.19 -0.05,-0.38 -0.08,-0.56 -0.03,-0.2 -0.06,-0.4 -0.1,-0.59 0.09,-0.04 0.19,-0.07 0.28,-0.11 0.5,-0.2 0.99,-0.4 1.49,-0.61 z m 5.52,2.66 c 2.51,-0.14 5.02,-0.27 7.53,-0.33 5.03,-0.12 10.06,0 15.08,0.31 2.75,0.17 5.49,0.42 8.23,0.73 -0.09,0.68 -0.05,1.41 0,2.11 -0.02,-0.03 -0.03,-0.06 -0.05,-0.09 -0.08,-0.15 -0.31,-0.02 -0.23,0.14 0.11,0.21 0.21,0.43 0.32,0.65 0,0.02 0,0.04 0,0.06 0.04,1.11 0.09,2.23 0.13,3.34 0.07,2.31 0.09,4.62 0.08,6.93 -0.02,2.31 -0.12,4.62 -0.28,6.93 -0.08,1.11 -0.17,2.23 -0.24,3.34 -0.03,0.52 -0.07,1.05 -0.11,1.57 -0.79,0.01 -1.59,0.11 -2.38,0.21 -0.02,-0.26 -0.05,-0.53 -0.07,-0.79 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.14 0.02,0.27 0.05,0.55 0.07,0.82 -0.21,0.03 -0.42,0.05 -0.63,0.07 -0.32,0.03 -0.65,0.05 -0.97,0.08 0.02,-0.11 0.01,-0.23 0,-0.35 -0.02,-0.18 -0.05,-0.35 -0.05,-0.53 0.01,-0.4 0.06,-0.8 0.08,-1.2 0.05,-0.78 0.03,-1.57 0.04,-2.35 0,-0.13 -0.2,-0.13 -0.2,0 -0.04,0.78 -0.09,1.57 -0.08,2.35 0,0.38 0.03,0.77 0.02,1.15 0,0.22 -0.05,0.41 -0.08,0.63 -0.02,0.11 -0.03,0.22 -0.01,0.32 -0.67,0.06 -1.34,0.11 -2.01,0.16 0.06,-0.3 -0.02,-0.65 -0.02,-0.94 0,-0.46 0.03,-0.92 0.05,-1.37 0.02,-0.44 0.07,-0.88 0.07,-1.32 0.01,-0.46 0.01,-0.92 0.02,-1.37 0,-0.16 -0.24,-0.15 -0.24,0 -0.02,0.44 -0.03,0.88 -0.05,1.32 -0.02,0.46 0.01,0.91 0,1.37 0,0.44 0,0.88 -0.02,1.32 -0.01,0.31 -0.12,0.69 -0.06,1.02 -0.05,0 -0.1,0.01 -0.15,0.01 -0.57,0.04 -1.15,0.05 -1.72,0.09 0.02,-0.06 0.04,-0.12 0.06,-0.18 0.02,-0.07 -0.07,-0.12 -0.12,-0.08 -0.02,-0.38 -0.08,-0.76 -0.1,-1.13 -0.02,-0.48 -0.03,-0.97 -0.03,-1.45 0,-0.99 0.04,-1.98 0.13,-2.96 0.01,-0.15 -0.22,-0.15 -0.23,0 -0.1,1 -0.16,2.01 -0.17,3.02 0,0.5 0.01,1.01 0.03,1.51 0.02,0.42 0,0.87 0.07,1.29 -0.54,0.03 -1.08,0.05 -1.62,0.08 0.01,-0.3 0.02,-0.6 0.03,-0.91 0.04,-0.86 -0.01,-1.73 0,-2.59 0,-0.09 -0.14,-0.09 -0.14,0 -0.03,0.87 -0.12,1.73 -0.13,2.59 0,0.31 -0.01,0.61 -0.01,0.92 -0.06,0 -0.11,0.01 -0.17,0.01 -0.05,-0.2 -0.1,-0.4 -0.14,-0.59 -0.14,-0.57 -0.29,-1.14 -0.48,-1.69 -0.36,-1.01 -0.85,-1.97 -1.52,-2.81 -0.05,-0.07 -0.11,-0.12 -0.17,-0.19 0.11,-0.1 0.19,-0.23 0.18,-0.38 -0.01,-0.1 -0.13,-0.11 -0.17,-0.02 -0.03,0.1 -0.09,0.18 -0.17,0.24 -0.18,-0.2 -0.38,-0.39 -0.58,-0.56 0.05,-0.06 0.11,-0.1 0.2,-0.12 0.07,-0.02 0.16,-0.02 0.24,0.01 0.05,0.01 0.07,0.02 0.11,0.05 0.03,0.02 0.02,0.01 0.04,0.03 0.01,0.01 0.02,0.02 0.02,0.02 0,0 0.03,0.03 0.02,0.02 0.04,0.05 0.1,0.07 0.15,0.04 0.05,-0.03 0.08,-0.1 0.04,-0.15 -0.24,-0.32 -0.73,-0.32 -0.99,-0.04 -0.14,-0.11 -0.3,-0.21 -0.45,-0.31 0.07,-0.22 0.14,-0.43 0.21,-0.65 0.02,-0.06 -0.07,-0.09 -0.1,-0.04 -0.1,0.19 -0.19,0.39 -0.28,0.58 -0.45,-0.28 -0.94,-0.49 -1.45,-0.64 0.04,-0.24 0.03,-0.49 0.06,-0.73 0.03,-0.29 0.04,-0.59 0.05,-0.88 0.01,-0.36 0.02,-0.73 0.03,-1.09 0.42,-0.16 0.83,-0.35 1.23,-0.57 v 0.19 c 0,0.2 0,0.41 -0.01,0.61 0,0.2 -0.03,0.41 0.02,0.6 0.04,0.13 0.22,0.13 0.26,0 0.05,-0.19 0.03,-0.4 0.02,-0.6 0,-0.2 0,-0.41 -0.01,-0.61 v -0.36 c 0.49,-0.3 0.96,-0.65 1.39,-1.04 -0.05,0.66 -0.1,1.31 -0.14,1.97 -0.05,0.77 -0.14,1.56 -0.07,2.33 0.01,0.11 0.18,0.15 0.21,0.03 0.16,-0.75 0.16,-1.55 0.19,-2.31 0.04,-0.76 0.06,-1.52 0.09,-2.28 0.37,-0.38 0.7,-0.8 1,-1.24 -0.01,0.49 -0.03,0.97 -0.03,1.46 l -0.01,1.08 c 0,0.33 -0.03,0.71 0.05,1.03 0.03,0.1 0.18,0.1 0.21,0 0.08,-0.32 0.05,-0.7 0.05,-1.03 l -0.01,-1.08 c 0,-0.62 -0.02,-1.24 -0.04,-1.86 0.11,-0.19 0.25,-0.38 0.35,-0.58 1.73,-3.6 0.51,-7.96 -2.65,-10.36 -0.21,-0.16 -0.44,-0.26 -0.65,-0.39 -0.07,-0.24 -0.15,-0.48 -0.22,-0.72 -0.06,-0.18 -0.34,-0.11 -0.29,0.08 0.04,0.13 0.08,0.26 0.11,0.4 -1.57,-0.83 -3.35,-1.11 -5.13,-0.82 -0.37,0.06 -0.74,0.15 -1.11,0.26 -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 -0.03,-0.04 -0.09,-0.06 -0.13,-0.03 -0.04,0.03 -0.06,0.09 -0.03,0.13 0,0.01 0.01,0.01 0.01,0.02 -0.89,0.29 -1.74,0.72 -2.46,1.3 v -0.72 c 0,-0.14 -0.22,-0.14 -0.22,0 v 0.81 c 0,0.03 0.01,0.06 0.01,0.09 -0.51,0.44 -0.95,0.95 -1.27,1.55 -0.01,0.02 -0.01,0.03 -0.02,0.05 -0.91,1.13 -1.48,2.51 -1.67,3.98 -0.5,4.06 2.22,7.85 6.12,8.95 0.74,0.21 1.49,0.27 2.24,0.25 0.01,0.3 0.02,0.6 0.03,0.9 0.01,0.19 0.01,0.38 0.03,0.58 0.01,0.17 0.01,0.36 0.06,0.53 -0.55,0.06 -1.09,0.18 -1.6,0.36 0,-0.15 0.02,-0.31 0.02,-0.47 0,-0.32 0,-0.63 0,-0.95 0,-0.14 -0.21,-0.14 -0.21,0 0,0.32 0,0.63 0,0.95 0,0.18 0.01,0.36 0.02,0.53 -0.38,0.14 -0.75,0.29 -1.1,0.48 0.02,-0.18 0.02,-0.36 0.02,-0.53 L 592.14,263 c 0,-0.59 -0.02,-1.18 -0.03,-1.76 0,-0.17 -0.27,-0.17 -0.27,0 -0.01,0.59 -0.02,1.18 -0.03,1.76 l -0.01,0.86 c 0,0.22 0,0.47 0.05,0.69 -0.7,0.42 -1.36,0.91 -1.92,1.52 -0.44,0.48 -0.82,1 -1.17,1.55 -0.01,-0.31 -0.02,-0.62 -0.03,-0.93 0,-0.12 -0.18,-0.12 -0.19,0 -0.01,0.39 -0.03,0.78 -0.04,1.17 0,0.06 0,0.13 0,0.19 -0.1,0.17 -0.22,0.34 -0.31,0.51 -0.39,0.74 -0.79,1.55 -0.97,2.39 -0.16,-0.01 -0.33,-0.01 -0.49,-0.02 -0.05,-0.43 -0.11,-0.86 -0.14,-1.29 -0.05,-0.7 -0.07,-1.4 -0.07,-2.11 0.01,-1.43 0.13,-2.87 0.36,-4.28 0.02,-0.12 -0.16,-0.17 -0.19,-0.05 -0.28,1.41 -0.43,2.83 -0.46,4.27 -0.01,0.72 0,1.44 0.05,2.16 0.03,0.42 0.06,0.85 0.1,1.28 -0.31,-0.01 -0.63,-0.02 -0.94,-0.03 0.01,-0.49 0,-0.98 0,-1.46 0,-0.72 -0.04,-1.44 -0.06,-2.16 -0.02,-0.7 0.01,-1.4 0.02,-2.1 0.01,-0.74 -0.04,-1.48 -0.04,-2.22 0,-0.07 -0.1,-0.07 -0.11,0 -0.01,0.72 -0.07,1.44 -0.07,2.16 0,0.72 0.02,1.44 -0.01,2.16 -0.03,0.7 -0.08,1.4 -0.09,2.1 -0.01,0.49 -0.03,1 -0.02,1.51 -0.17,-0.01 -0.35,-0.01 -0.52,-0.02 -0.16,-0.01 -0.32,-0.02 -0.47,-0.03 0.01,-0.25 0.01,-0.51 0.02,-0.76 0.02,-0.77 0.01,-1.55 0.01,-2.32 0,-0.13 -0.2,-0.13 -0.2,0 -0.04,0.77 -0.1,1.55 -0.12,2.32 -0.01,0.25 -0.02,0.49 -0.02,0.74 -0.37,-0.02 -0.73,-0.05 -1.1,-0.07 0,-0.12 0,-0.23 0,-0.34 0,-0.26 0,-0.52 0,-0.78 -0.01,-0.53 -0.03,-1.06 -0.05,-1.6 0,-0.11 -0.16,-0.11 -0.17,0 -0.02,0.53 -0.05,1.06 -0.05,1.6 0,0.26 0,0.52 0,0.78 0,0.11 0,0.21 0,0.32 -0.46,-0.04 -0.92,-0.07 -1.38,-0.11 0.04,-0.79 0.03,-1.59 0.05,-2.38 0.02,-1.05 0.01,-2.09 0,-3.14 0,-0.12 -0.18,-0.12 -0.18,0 -0.05,1.05 -0.12,2.09 -0.14,3.14 -0.02,0.78 -0.06,1.57 -0.06,2.35 -0.49,-0.04 -0.98,-0.07 -1.48,-0.1 0.04,-0.51 -0.09,-1.06 -0.11,-1.57 -0.03,-0.55 0.01,-1.09 0.05,-1.64 0.08,-1.12 0.17,-2.23 0.35,-3.34 0.03,-0.18 -0.24,-0.26 -0.28,-0.08 -0.2,1.11 -0.35,2.23 -0.36,3.36 -0.01,0.57 0.03,1.13 0.03,1.7 0,0.5 -0.05,1.06 0.06,1.55 -0.4,-0.02 -0.79,-0.04 -1.19,-0.06 -0.02,-0.78 -0.05,-1.55 -0.04,-2.33 0.02,-1.13 0.04,-2.26 0.02,-3.39 0,-0.16 -0.24,-0.16 -0.24,0 -0.02,1.13 0,2.26 0.02,3.39 0.01,0.78 -0.01,1.55 -0.03,2.32 -0.16,-0.01 -0.32,-0.01 -0.48,-0.01 -0.09,-0.78 -0.2,-1.56 -0.28,-2.33 -0.11,-1.1 -0.21,-2.2 -0.31,-3.3 -0.2,-2.28 -0.38,-4.56 -0.44,-6.85 -0.06,-2.28 -0.07,-4.57 -0.04,-6.86 0.02,-1.1 0.05,-2.21 0.09,-3.31 0.04,-0.97 0.08,-1.96 0.03,-2.94 2.43,0.06 4.85,-0.29 7.24,-0.42 z m 38.23,12.81 c 0.98,0.09 1.96,0.18 2.94,0.28 8.71,0.82 17.43,1.55 26.14,2.39 0.35,0.03 0.61,-0.13 0.77,-0.35 -1.14,6.4 -3.33,12.59 -6.45,18.29 -3.22,5.88 -7.35,11.23 -12.27,15.79 -2.94,2.73 -6.16,5.14 -9.6,7.21 -0.37,-0.84 -0.77,-1.64 -1.3,-2.4 -0.61,-0.86 -1.13,-1.75 -1.65,-2.66 -0.95,-1.66 -1.86,-3.34 -2.79,-5.01 -1.88,-3.42 -3.76,-6.84 -5.64,-10.26 -0.45,-0.82 -0.89,-1.65 -1.34,-2.47 0.34,-1.07 0.83,-2.07 1.45,-3.02 0.67,-1.04 1.46,-2.03 2.33,-2.93 0.03,-0.01 0.07,-0.01 0.1,-0.02 0.3,0.21 0.67,0.29 1.01,0.1 0.67,-0.39 0.68,-1.02 0.72,-1.72 0.04,-0.56 0.07,-1.11 0.1,-1.67 0.06,-1.19 0.09,-2.39 0.1,-3.58 0.02,-1.9 0.02,-3.8 0.02,-5.69 1.78,-0.77 3.57,-1.52 5.36,-2.28 z m 5.74,-2.42 c -0.01,0.06 -0.02,0.12 -0.03,0.18 -0.04,0.22 -0.07,0.44 -0.11,0.66 -0.01,0.08 -0.03,0.18 -0.04,0.27 -0.67,-0.06 -1.34,-0.13 -2.01,-0.19 0.73,-0.31 1.46,-0.62 2.19,-0.92 z m 24.67,-10.44 c 0.25,2.55 0.33,5.1 0.23,7.66 -0.12,-0.13 -0.26,-0.23 -0.47,-0.27 -0.95,-0.16 -1.88,-0.28 -2.85,-0.25 -1.05,0.04 -2.08,-0.01 -3.13,-0.08 -1.91,-0.11 -3.81,-0.27 -5.72,-0.42 -1.07,-0.08 -2.14,-0.16 -3.21,-0.25 5.05,-2.12 10.1,-4.25 15.15,-6.39 z m -0.42,14.35 c -0.08,-0.25 -0.27,-0.45 -0.62,-0.48 -0.23,-0.02 -0.46,-0.05 -0.69,-0.07 0.03,-0.01 0.06,0 0.08,-0.03 0.06,-0.1 0.09,-0.21 0.13,-0.33 0.2,0.01 0.39,0.01 0.59,-0.02 0.11,-0.02 0.15,-0.17 0.03,-0.21 -0.17,-0.05 -0.34,-0.08 -0.51,-0.11 0.02,-0.09 0.05,-0.19 0.07,-0.27 0.08,-0.35 0.16,-0.69 0.24,-1.04 0.03,-0.13 0.06,-0.25 0.09,-0.38 0.16,0.02 0.33,0.04 0.49,0.04 0.09,0 0.12,-0.14 0.02,-0.17 -0.15,-0.04 -0.31,-0.06 -0.46,-0.08 0.05,-0.24 0.11,-0.48 0.16,-0.73 0.3,0.02 0.59,0.01 0.88,-0.03 -0.13,1.32 -0.29,2.62 -0.5,3.91 z m -23.9,-3.65 c 0.02,-0.13 0.04,-0.27 0.06,-0.4 0.45,0.01 0.91,0.03 1.36,0.04 0,0.03 -0.01,0.05 -0.01,0.08 -0.03,0.22 -0.07,0.44 -0.1,0.66 -0.03,0.21 -0.08,0.44 -0.03,0.64 -0.41,-0.04 -0.82,-0.08 -1.23,-0.12 -0.07,-0.01 -0.13,-0.01 -0.2,-0.02 0.02,-0.08 0.03,-0.15 0.04,-0.22 0.04,-0.22 0.07,-0.44 0.11,-0.66 z m 21.07,1.17 c 0.04,-0.24 0.08,-0.48 0.11,-0.71 0.07,0.01 0.14,0.02 0.21,0.03 0.39,0.05 0.78,0.09 1.17,0.14 0.12,0.01 0.24,0.03 0.36,0.05 -0.03,0.11 -0.05,0.22 -0.08,0.32 -0.08,0.33 -0.17,0.66 -0.25,1 -0.03,0.12 -0.05,0.25 -0.07,0.37 -0.09,-0.01 -0.17,-0.02 -0.26,-0.02 l -1.22,-0.09 c -0.05,0 -0.09,-0.01 -0.14,-0.01 0.01,-0.05 0.01,-0.1 0.02,-0.14 0.05,-0.32 0.1,-0.63 0.15,-0.94 z m 1.42,-1.5 c 0.22,0.03 0.44,0.05 0.67,0.08 -0.06,0.24 -0.12,0.48 -0.18,0.71 -0.11,-0.01 -0.22,-0.02 -0.32,-0.04 -0.41,-0.05 -0.81,-0.1 -1.22,-0.16 -0.07,-0.01 -0.15,-0.02 -0.22,-0.03 0.04,-0.27 0.09,-0.54 0.13,-0.82 0.37,0.12 0.75,0.21 1.14,0.26 z m -2.01,2.92 c -0.01,0.1 -0.02,0.21 -0.02,0.31 -1.73,-0.16 -3.47,-0.33 -5.2,-0.5 0.29,0.01 0.58,0.03 0.87,0.04 1.45,0.06 2.91,0.18 4.35,0.15 z m 0.37,0 c 0.01,0 0.02,0 0.03,0 0.04,0 0.08,0.01 0.11,0.01 0.39,0.04 0.78,0.07 1.17,0.11 0.1,0.01 0.19,0.01 0.29,0.02 -0.02,0.1 -0.03,0.19 -0.02,0.29 0,0.04 0.04,0.07 0.07,0.09 -0.58,-0.05 -1.16,-0.11 -1.74,-0.17 0.04,-0.12 0.07,-0.23 0.09,-0.35 z m 3.55,-3.08 c -0.01,0 -0.01,-0.01 -0.01,-0.01 -0.27,-0.03 -0.54,-0.04 -0.81,-0.05 0.03,-0.13 0.06,-0.26 0.09,-0.39 0.05,-0.21 -0.27,-0.3 -0.32,-0.09 -0.04,0.15 -0.08,0.3 -0.11,0.45 -0.26,-0.02 -0.51,-0.03 -0.77,-0.07 -0.62,-0.1 -1.24,-0.26 -1.83,-0.48 -0.2,-0.07 -0.28,0.25 -0.09,0.32 0.15,0.05 0.3,0.09 0.45,0.14 l -0.14,0.88 c -0.62,-0.08 -1.24,-0.16 -1.87,-0.24 -0.15,-0.02 -0.15,0.21 0,0.23 0.08,0.01 0.16,0.02 0.24,0.03 -0.03,0.23 -0.06,0.46 -0.1,0.69 -0.02,0.12 -0.04,0.25 -0.05,0.37 -0.02,0.13 -0.04,0.25 -0.01,0.38 0.02,0.11 0.19,0.13 0.24,0.03 0.06,-0.11 0.07,-0.23 0.09,-0.35 0.02,-0.12 0.04,-0.24 0.05,-0.36 0.03,-0.24 0.07,-0.47 0.1,-0.71 0,0 0,-0.01 0,-0.01 0.42,0.05 0.85,0.1 1.27,0.15 l -0.11,0.7 c -0.05,0.32 -0.1,0.64 -0.15,0.97 -0.01,0.04 -0.02,0.09 -0.02,0.13 -0.65,-0.05 -1.29,-0.1 -1.94,-0.15 -0.1,-0.01 -0.15,0.06 -0.15,0.14 -0.53,-0.02 -1.06,-0.04 -1.59,-0.06 -1.48,-0.07 -2.97,-0.14 -4.45,-0.2 -1.08,-0.05 -2.16,-0.09 -3.24,-0.14 -2.55,-0.26 -5.11,-0.51 -7.66,-0.76 0.11,-0.17 0.12,-0.4 0.16,-0.59 0.04,-0.22 0.08,-0.44 0.11,-0.66 0.01,-0.05 0.02,-0.1 0.02,-0.14 0.43,0.02 0.85,0.03 1.28,0.05 l -0.09,0.32 c -0.07,0.25 -0.21,0.56 -0.17,0.82 0.02,0.1 0.18,0.14 0.24,0.06 0.16,-0.2 0.2,-0.54 0.26,-0.79 0.04,-0.13 0.07,-0.26 0.11,-0.39 0.36,0.02 0.72,0.04 1.09,0.06 0,0.01 0,0.02 -0.01,0.03 -0.04,0.27 -0.1,0.59 -0.03,0.85 0.04,0.16 0.25,0.14 0.31,0 0.09,-0.24 0.07,-0.54 0.1,-0.8 0,-0.02 0.01,-0.04 0.01,-0.07 0.52,0.03 1.04,0.06 1.56,0.1 -0.02,0.06 -0.03,0.12 -0.05,0.18 -0.05,0.18 -0.09,0.37 -0.14,0.55 -0.04,0.18 -0.12,0.37 -0.11,0.56 0.01,0.16 0.2,0.21 0.29,0.08 0.1,-0.16 0.14,-0.35 0.2,-0.53 0.05,-0.17 0.11,-0.33 0.16,-0.5 0.03,-0.1 0.05,-0.2 0.08,-0.3 0.65,0.05 1.31,0.1 1.96,0.16 0.06,0.09 0.18,0.12 0.26,0.02 0.47,0.04 0.93,0.1 1.4,0.15 -0.01,0.02 -0.02,0.05 -0.03,0.07 -0.08,0.21 -0.22,0.45 -0.22,0.67 0,0.13 0.17,0.21 0.26,0.11 0.15,-0.17 0.21,-0.43 0.29,-0.64 0.02,-0.06 0.04,-0.11 0.07,-0.17 0.45,0.05 0.9,0.1 1.35,0.15 -0.02,0.07 -0.04,0.13 -0.05,0.2 -0.03,0.1 -0.05,0.2 -0.08,0.3 -0.03,0.1 -0.07,0.2 -0.03,0.3 0.03,0.08 0.13,0.15 0.22,0.09 0.15,-0.11 0.17,-0.37 0.22,-0.54 0.03,-0.1 0.05,-0.19 0.08,-0.29 0.44,0.06 0.88,0.12 1.32,0.18 0,0.02 -0.01,0.04 -0.01,0.06 -0.03,0.22 -0.09,0.49 -0.02,0.71 0.04,0.14 0.23,0.13 0.28,0 0.07,-0.2 0.06,-0.45 0.09,-0.66 0,-0.02 0.01,-0.04 0.01,-0.06 0.05,0.01 0.09,0.01 0.14,0.02 0.31,0.04 0.63,0.09 0.94,0.14 0.1,0.01 0.19,0.03 0.29,0.05 0,0.01 -0.01,0.02 -0.01,0.03 -0.08,0.27 -0.19,0.55 -0.21,0.84 -0.01,0.16 0.22,0.21 0.29,0.08 0.14,-0.25 0.2,-0.54 0.28,-0.82 0.01,-0.03 0.02,-0.06 0.03,-0.09 0.07,0 0.14,0.02 0.21,0.01 0.21,-0.01 0.24,-0.28 0.05,-0.36 -0.05,-0.02 -0.1,-0.02 -0.15,-0.03 0.03,-0.11 0.06,-0.22 0.09,-0.32 0.16,-0.55 0.32,-1.09 0.48,-1.64 0.07,-0.22 -0.28,-0.32 -0.35,-0.1 -0.16,0.54 -0.32,1.09 -0.48,1.63 -0.03,0.11 -0.07,0.23 -0.1,0.34 -0.37,-0.07 -0.76,-0.11 -1.12,-0.17 -0.09,-0.01 -0.18,-0.02 -0.27,-0.04 0.02,-0.06 0.02,-0.12 0.04,-0.18 0.13,-0.43 0.32,-0.84 0.57,-1.22 0.13,-0.19 -0.18,-0.37 -0.31,-0.18 -0.26,0.4 -0.46,0.85 -0.6,1.31 -0.02,0.07 -0.03,0.15 -0.05,0.23 -0.32,-0.04 -0.64,-0.09 -0.96,-0.13 -0.11,-0.01 -0.22,-0.02 -0.34,-0.04 0.09,-0.34 0.19,-0.68 0.28,-1.03 0.06,-0.22 -0.28,-0.31 -0.33,-0.09 l -0.29,1.08 c -0.44,-0.05 -0.87,-0.1 -1.31,-0.15 0.01,-0.03 0.02,-0.06 0.03,-0.08 0.15,-0.38 0.3,-0.77 0.44,-1.15 0.76,0.08 1.52,0.17 2.28,0.17 0.12,0 0.15,-0.19 0.03,-0.22 -0.77,-0.17 -1.56,-0.25 -2.34,-0.34 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.03,0 -0.06,-0.01 -0.08,-0.01 -0.51,-0.06 -1.02,-0.11 -1.53,-0.17 0.09,-0.3 0.18,-0.59 0.27,-0.89 0.29,0.02 0.57,0.05 0.86,0.07 2.14,0.17 4.29,0.32 6.43,0.52 1.1,0.1 2.23,0.14 3.31,0.37 1.11,0.24 2.18,0.3 3.32,0.28 0.2,0 0.35,-0.08 0.47,-0.18 -0.05,0.4 -0.06,0.82 -0.1,1.23 z m -13.73,0.35 c -0.29,-0.03 -0.58,-0.07 -0.87,-0.1 -0.17,-0.02 -0.34,-0.03 -0.51,-0.04 0.14,-0.37 0.26,-0.74 0.37,-1.12 0.01,-0.04 0.03,-0.08 0.04,-0.12 0.48,0.05 0.96,0.11 1.45,0.16 -0.14,0.36 -0.27,0.71 -0.41,1.07 -0.03,0.05 -0.05,0.1 -0.07,0.15 z m -1.42,-1.41 c -0.13,0.41 -0.27,0.81 -0.36,1.23 -0.62,-0.06 -1.25,-0.11 -1.87,-0.16 0.04,-0.14 0.08,-0.28 0.11,-0.42 0.08,-0.3 0.16,-0.59 0.24,-0.89 0.45,0.05 0.9,0.1 1.35,0.15 0.18,0.02 0.36,0.04 0.54,0.06 -0.01,0.01 -0.01,0.02 -0.01,0.03 z M 633.04,253 c 0.51,0.06 1.03,0.12 1.54,0.17 -0.08,0.27 -0.16,0.55 -0.24,0.82 -0.05,0.16 -0.1,0.33 -0.14,0.49 -0.54,-0.04 -1.07,-0.06 -1.61,-0.09 0.02,-0.11 0.04,-0.22 0.06,-0.33 0.1,-0.36 0.25,-0.71 0.39,-1.06 z m 3.35,-0.01 c -0.44,-0.05 -0.87,-0.09 -1.31,-0.14 0.08,-0.28 0.15,-0.56 0.23,-0.83 0.65,0.05 1.31,0.11 1.96,0.16 -0.09,0.29 -0.19,0.58 -0.28,0.88 -0.2,-0.03 -0.4,-0.05 -0.6,-0.07 z m -1.46,-1 c -0.08,0.27 -0.16,0.55 -0.24,0.82 -0.51,-0.05 -1.01,-0.11 -1.52,-0.16 0.02,-0.03 0.02,-0.07 0.04,-0.11 0.06,-0.12 -0.01,-0.23 -0.1,-0.27 0.29,-0.12 0.57,-0.24 0.86,-0.36 0.32,0.02 0.64,0.05 0.96,0.08 z m -2.16,0.62 c -0.12,-0.01 -0.24,-0.03 -0.36,-0.04 0.15,-0.06 0.31,-0.13 0.46,-0.19 -0.04,0.07 -0.07,0.15 -0.1,0.23 z m -1.04,0.24 c 0.3,0.03 0.59,0.07 0.89,0.1 -0.13,0.33 -0.25,0.67 -0.34,1.02 -0.03,0.14 -0.05,0.27 -0.08,0.41 -0.35,-0.02 -0.7,-0.04 -1.06,-0.06 l 0.37,-1.38 c 0.08,-0.03 0.15,-0.06 0.22,-0.09 z m -0.61,0.26 c -0.1,0.38 -0.2,0.75 -0.31,1.13 l -0.02,0.07 c 0,0 0,0 0,0 -0.44,-0.02 -0.88,-0.01 -1.33,-0.02 0.03,-0.17 0.05,-0.34 0.08,-0.51 0.53,-0.23 1.06,-0.45 1.58,-0.67 z m -2.03,1.17 c -0.23,0 -0.46,-0.01 -0.69,-0.01 0.25,-0.11 0.5,-0.21 0.75,-0.32 -0.03,0.11 -0.05,0.22 -0.06,0.33 z m -18.31,27.43 c -0.1,0.08 -0.2,0.16 -0.29,0.24 -0.03,-0.05 -0.06,-0.09 -0.08,-0.14 -0.17,-0.58 -0.35,-1.17 -0.53,-1.75 0.3,0.55 0.6,1.1 0.9,1.65 z m 4.12,12.03 c 0.11,0.23 0.21,0.45 0.31,0.68 -0.04,0.03 -0.08,0.06 -0.12,0.08 -0.26,0.18 -0.52,0.36 -0.77,0.54 -0.14,-0.48 -0.29,-0.96 -0.43,-1.45 0.01,0 0.03,0 0.04,0 0.24,-0.12 0.48,-0.25 0.71,-0.4 0.08,0.19 0.17,0.37 0.26,0.55 z m 0.54,1.2 c 0.12,0.27 0.23,0.54 0.36,0.81 -0.21,0.16 -0.41,0.31 -0.62,0.47 -0.13,0.1 -0.27,0.2 -0.4,0.31 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.11,-0.37 -0.22,-0.74 -0.33,-1.11 0.3,-0.19 0.59,-0.4 0.88,-0.6 0.02,-0.02 0.05,-0.03 0.07,-0.05 0.02,0.04 0.04,0.09 0.06,0.15 z m 0.56,2.66 c 0,0 0.01,-0.01 0.01,-0.01 0.2,0.35 0.4,0.69 0.61,1.03 -0.09,0.07 -0.17,0.15 -0.26,0.22 -0.11,0.09 -0.22,0.19 -0.33,0.28 -0.19,-0.37 -0.37,-0.75 -0.56,-1.12 0.18,-0.13 0.35,-0.27 0.53,-0.4 z m -3.62,-12.56 c -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.12,-0.21 -0.25,-0.42 -0.37,-0.63 0.07,-0.07 0.12,-0.16 0.19,-0.23 0.15,0.27 0.3,0.55 0.45,0.82 -0.08,-0.05 -0.17,-0.05 -0.23,0.01 z m -0.38,0.31 c -0.12,0.1 -0.24,0.2 -0.36,0.3 -0.03,0.02 -0.05,0.04 -0.08,0.06 -0.08,-0.27 -0.16,-0.55 -0.24,-0.82 0.04,-0.02 0.08,-0.03 0.12,-0.05 0.07,-0.04 0.12,-0.09 0.18,-0.14 0.13,0.23 0.26,0.44 0.38,0.65 z m 2.78,3.69 c -0.03,0.02 -0.06,0.05 -0.09,0.07 -0.05,-0.09 -0.1,-0.19 -0.16,-0.28 -0.06,-0.1 -0.12,-0.2 -0.17,-0.3 0.03,-0.02 0.07,-0.05 0.1,-0.07 0.11,0.19 0.22,0.39 0.32,0.58 z m -0.61,0.01 c 0.06,0.11 0.13,0.21 0.19,0.32 -0.3,0.23 -0.59,0.45 -0.89,0.68 -0.02,0.02 -0.04,0.03 -0.06,0.05 -0.12,-0.21 -0.24,-0.42 -0.36,-0.62 0.28,-0.19 0.55,-0.38 0.83,-0.58 0.05,-0.03 0.09,-0.07 0.14,-0.1 0.05,0.07 0.1,0.16 0.15,0.25 z m -0.91,2.46 c -0.07,-0.24 -0.15,-0.49 -0.22,-0.73 0.08,-0.06 0.16,-0.12 0.23,-0.18 0.12,0.22 0.26,0.44 0.38,0.66 -0.11,0.07 -0.22,0.14 -0.33,0.21 -0.02,0.01 -0.04,0.02 -0.06,0.04 z m -0.43,-1.45 c -0.04,-0.13 -0.08,-0.26 -0.11,-0.39 0.01,0 0.02,0 0.03,0 0.13,0.21 0.25,0.43 0.37,0.65 -0.06,0.04 -0.12,0.09 -0.17,0.13 -0.05,-0.13 -0.09,-0.26 -0.12,-0.39 z m 1.14,1 c -0.13,-0.23 -0.27,-0.46 -0.4,-0.69 0.03,-0.03 0.07,-0.05 0.1,-0.08 0.28,-0.22 0.57,-0.44 0.85,-0.66 0.12,0.2 0.24,0.4 0.36,0.6 0.04,0.06 0.08,0.12 0.11,0.18 -0.34,0.21 -0.68,0.43 -1.02,0.65 z m -0.27,-2.44 c -0.27,0.19 -0.53,0.39 -0.79,0.6 -0.18,-0.3 -0.37,-0.58 -0.56,-0.88 0.19,-0.13 0.38,-0.26 0.58,-0.4 0.14,-0.1 0.28,-0.19 0.42,-0.29 0.17,0.28 0.34,0.57 0.5,0.85 -0.05,0.05 -0.1,0.09 -0.15,0.12 z m -1.03,-1.06 c -0.16,0.1 -0.32,0.21 -0.48,0.32 -0.07,-0.25 -0.15,-0.5 -0.22,-0.75 0.25,-0.17 0.49,-0.35 0.73,-0.54 h 0.01 c 0.13,0.23 0.27,0.46 0.41,0.69 -0.15,0.09 -0.3,0.19 -0.45,0.28 z m -0.2,-1.23 c -0.2,0.16 -0.4,0.32 -0.59,0.48 -0.07,-0.24 -0.14,-0.48 -0.21,-0.72 0.07,-0.06 0.14,-0.13 0.22,-0.19 0.1,-0.08 0.19,-0.16 0.29,-0.25 0.12,0.21 0.24,0.41 0.36,0.62 -0.02,0.03 -0.04,0.05 -0.07,0.06 z m 2.88,12.19 c 0.14,0.28 0.28,0.56 0.42,0.84 -0.04,0.04 -0.09,0.08 -0.13,0.12 -0.1,-0.32 -0.19,-0.64 -0.29,-0.96 z m -1.56,-5.22 c -0.14,-0.49 -0.29,-0.97 -0.43,-1.46 0.05,-0.03 0.09,-0.06 0.14,-0.09 0.11,-0.07 0.21,-0.14 0.32,-0.2 0.22,0.42 0.43,0.85 0.64,1.28 -0.23,0.16 -0.45,0.31 -0.67,0.47 z m 0.34,-1.94 c 0.35,-0.22 0.7,-0.44 1.04,-0.66 0.15,0.24 0.31,0.48 0.49,0.69 0.07,0.08 0.22,-0.01 0.18,-0.11 -0.15,-0.41 -0.39,-0.82 -0.61,-1.2 -0.13,-0.24 -0.27,-0.47 -0.4,-0.71 0.03,-0.02 0.06,-0.04 0.09,-0.07 0.17,0.31 0.33,0.62 0.5,0.92 0.27,0.5 0.54,1 0.81,1.49 -0.37,0.23 -0.74,0.47 -1.11,0.7 -0.12,0.08 -0.24,0.15 -0.36,0.23 -0.2,-0.42 -0.4,-0.86 -0.63,-1.28 z m 0.07,-3.1 c -0.16,-0.28 -0.33,-0.57 -0.49,-0.85 0.04,-0.03 0.09,-0.06 0.13,-0.09 0.16,0.29 0.31,0.58 0.47,0.86 -0.04,0.02 -0.07,0.05 -0.11,0.08 z m -0.71,-1.23 c -0.13,-0.23 -0.26,-0.46 -0.4,-0.68 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 l 0.16,-0.12 c 0.14,0.25 0.27,0.5 0.41,0.75 -0.04,0.03 -0.09,0.06 -0.14,0.09 z m -0.6,-1.02 c -0.12,-0.21 -0.25,-0.42 -0.38,-0.64 0.03,-0.03 0.07,-0.06 0.1,-0.09 0.04,-0.03 0.05,-0.08 0.05,-0.13 0.13,0.24 0.26,0.48 0.39,0.72 -0.05,0.05 -0.1,0.09 -0.16,0.14 z m -1.09,-1.84 c -0.16,-0.28 -0.33,-0.55 -0.49,-0.83 0.08,-0.07 0.16,-0.14 0.24,-0.22 0.15,0.27 0.3,0.54 0.44,0.81 -0.06,0.08 -0.11,0.16 -0.19,0.24 z m -0.67,-1.14 c -0.13,-0.22 -0.26,-0.44 -0.39,-0.66 0,0 0,0 0.01,-0.01 0.09,-0.08 0.18,-0.16 0.26,-0.24 0.12,0.23 0.25,0.45 0.37,0.68 -0.08,0.08 -0.17,0.15 -0.25,0.23 z m -0.13,0.59 c 0.16,0.28 0.32,0.55 0.48,0.83 -0.06,0.04 -0.11,0.09 -0.17,0.13 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.09,-0.32 -0.19,-0.64 -0.28,-0.96 0,-0.02 0.01,-0.03 0.03,-0.04 z m 8.03,19.36 c -0.06,-0.07 -0.17,-0.1 -0.25,-0.05 -0.3,0.2 -0.61,0.41 -0.91,0.61 -0.01,0 -0.01,0.01 -0.02,0.01 -0.12,0.06 -0.24,0.11 -0.36,0.16 -0.45,-0.85 -0.89,-1.7 -1.34,-2.55 -0.13,-0.43 -0.26,-0.86 -0.38,-1.29 0,0 0,0 0,0 0.07,-0.05 0.13,-0.11 0.19,-0.17 0.05,0.1 0.1,0.19 0.14,0.29 0.15,0.31 0.3,0.63 0.46,0.95 -0.04,0.04 -0.09,0.08 -0.12,0.13 -0.05,0.08 -0.11,0.18 -0.08,0.28 0.06,0.19 0.27,0.1 0.4,0 0.17,0.34 0.36,0.66 0.56,0.97 0,0.06 -0.03,0.11 -0.02,0.16 0.01,0.1 0.08,0.2 0.2,0.2 0.11,-0.01 0.19,-0.09 0.2,-0.2 0,-0.03 0,-0.06 0.01,-0.08 0,-0.01 0,-0.02 0,-0.03 0,-0.03 0.01,-0.06 0.01,-0.09 -0.01,0.05 0,0 0,-0.01 0,-0.02 0.01,-0.03 0.01,-0.05 0.01,-0.03 0.02,-0.06 0.03,-0.1 0.01,-0.02 0.01,-0.03 0.02,-0.05 0,-0.01 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0.01,-0.03 0.03,-0.06 0.05,-0.09 0.02,-0.03 0.03,-0.06 0.05,-0.09 0.01,-0.01 0.02,-0.03 0.03,-0.04 0,0 0,0 0,-0.01 0,0 0,0 0.01,-0.01 0.04,-0.05 0.09,-0.1 0.14,-0.14 0.01,-0.01 0.03,-0.02 0.04,-0.03 -0.03,0.02 0.01,0 0.01,-0.01 0.03,-0.02 0.06,-0.04 0.08,-0.05 0.03,-0.02 0.06,-0.03 0.09,-0.05 0,0 0.04,-0.02 0.02,-0.01 -0.02,0.01 0.03,-0.01 0.03,-0.01 0.07,-0.02 0.13,-0.04 0.2,-0.05 0.09,-0.01 0.14,-0.12 0.13,-0.2 -0.01,-0.08 -0.09,-0.16 -0.18,-0.16 -0.33,0.03 -0.64,0.19 -0.86,0.44 -0.09,0.1 -0.15,0.22 -0.21,0.34 -0.12,-0.28 -0.23,-0.57 -0.37,-0.84 0.18,-0.18 0.36,-0.37 0.54,-0.55 0.28,-0.29 0.57,-0.58 0.85,-0.87 0.18,-0.19 -0.1,-0.47 -0.29,-0.29 -0.44,0.43 -0.88,0.86 -1.32,1.29 -0.13,-0.24 -0.26,-0.49 -0.38,-0.73 -0.08,-0.15 -0.15,-0.3 -0.23,-0.46 0.1,-0.09 0.21,-0.18 0.31,-0.27 0.1,-0.09 0.19,-0.17 0.29,-0.26 0,0.01 0.01,0.01 0.01,0.02 0.05,0.08 0.17,0.01 0.13,-0.08 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 0.15,-0.14 0.31,-0.28 0.46,-0.42 0.17,-0.15 -0.08,-0.4 -0.25,-0.25 -0.13,0.11 -0.26,0.23 -0.39,0.34 -0.19,-0.35 -0.38,-0.69 -0.57,-1.03 0,0 -0.01,0 -0.01,-0.01 0.35,-0.27 0.7,-0.54 1.05,-0.81 0.16,-0.13 -0.05,-0.41 -0.22,-0.29 -0.42,0.3 -0.83,0.6 -1.25,0.91 -0.16,0.11 -0.31,0.23 -0.47,0.34 -0.04,-0.09 -0.09,-0.17 -0.13,-0.26 -0.09,-0.18 -0.18,-0.35 -0.27,-0.53 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.14,-0.1 0.28,-0.21 0.42,-0.31 0.2,-0.15 0.41,-0.3 0.61,-0.45 0.03,0.05 0.05,0.1 0.07,0.14 0.05,0.09 0.19,0.03 0.17,-0.07 -0.01,-0.07 -0.04,-0.14 -0.06,-0.21 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.07,-0.05 0.1,-0.14 0.06,-0.21 -0.03,-0.05 -0.11,-0.08 -0.17,-0.06 -0.11,-0.34 -0.24,-0.68 -0.38,-1.02 0.31,-0.22 0.62,-0.43 0.93,-0.65 0.2,-0.14 0.01,-0.47 -0.19,-0.33 -0.3,0.21 -0.6,0.41 -0.89,0.62 -0.08,-0.19 -0.17,-0.37 -0.25,-0.55 -0.1,-0.22 -0.22,-0.43 -0.32,-0.65 0.14,-0.09 0.27,-0.18 0.41,-0.26 l 1.08,-0.68 c 0.7,1.27 1.41,2.54 2.09,3.83 0.51,0.98 1.11,1.94 1.51,2.98 0.39,1.01 0.9,1.9 1.5,2.79 -0.83,0.49 -1.66,0.93 -2.5,1.35 z m -2.89,-45.58 c -0.01,-1.64 -0.05,-3.28 -0.1,-4.92 0.01,0.05 0.03,0.09 0.05,0.14 0.27,0.91 0.46,1.85 0.61,2.78 0.08,0.49 0.15,0.99 0.19,1.48 0.01,0.06 0.01,0.13 0.01,0.19 -0.25,0.11 -0.5,0.22 -0.76,0.33 z m -26.6,11.91 c 0.39,-0.73 0.84,-1.42 1.39,-2.04 0.71,-0.8 1.6,-1.43 2.59,-1.83 -0.23,0.19 -0.44,0.41 -0.6,0.67 -0.2,0.33 -0.27,0.71 -0.25,1.09 0,0.03 0.01,0.05 0.02,0.08 -0.1,0.55 0.01,1.13 0.26,1.64 0.28,0.56 0.9,0.94 1.48,1.12 0.56,0.18 1.22,0.18 1.78,0 0.61,-0.2 1.15,-0.61 1.46,-1.17 0.27,-0.49 0.35,-1.11 0.28,-1.66 -0.08,-0.62 -0.31,-1.2 -0.74,-1.66 -0.18,-0.2 -0.4,-0.34 -0.63,-0.47 1.18,0.24 2.19,0.94 2.9,2.01 0.49,0.73 0.81,1.54 1.07,2.38 0.15,0.48 0.24,0.99 0.34,1.49 -0.51,0.02 -1.03,0.06 -1.54,0.08 -3.52,0.1 -7.03,0.06 -10.55,-0.04 0.23,-0.57 0.45,-1.15 0.74,-1.69 z m 0.16,-20.66 c 1.34,-1.36 3.34,-2.05 5.23,-1.93 0.2,0.01 0.34,-0.09 0.42,-0.24 0.77,0.06 1.53,0.26 2.22,0.6 2.73,1.36 4.38,4.66 3.57,7.65 -0.8,2.93 -3.66,5.13 -6.71,4.96 -3.16,-0.17 -6,-2.57 -6.42,-5.75 -0.25,-1.9 0.34,-3.92 1.69,-5.29 z m 7.57,12.42 -0.04,0.98 c -0.01,0.29 -0.03,0.59 -0.02,0.88 0.01,0.22 -0.01,0.46 0,0.68 -0.61,-0.15 -1.24,-0.22 -1.89,-0.18 0.02,-0.16 0.01,-0.32 0,-0.48 -0.01,-0.19 -0.03,-0.38 -0.04,-0.58 -0.02,-0.3 -0.04,-0.6 -0.07,-0.91 0.71,-0.04 1.4,-0.17 2.06,-0.39 z m -0.67,6.61 c 0,0.01 0,0.02 -0.01,0.03 0,0.01 0,0.02 0,0.02 0,-0.01 0,-0.01 0,-0.02 0,0.01 -0.01,0.02 -0.01,0.03 -0.02,0.06 -0.03,0.11 -0.05,0.16 0,0 0,0 0,0.01 0,0 0,0 0,0 -0.02,0.04 -0.04,0.08 -0.06,0.11 -0.04,0.09 -0.1,0.17 -0.15,0.25 -0.01,0.01 -0.01,0.02 -0.02,0.02 -0.04,0.04 -0.07,0.08 -0.11,0.11 -0.01,0.01 -0.02,0.02 -0.04,0.03 0,0 0,0.01 -0.03,0.03 -0.01,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.03 0,-0.01 0.01,-0.01 0.01,-0.02 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.04,0.03 -0.09,0.05 -0.14,0.08 -0.01,0 -0.01,0.01 -0.02,0.01 0.01,0 0.01,0 0.01,0 -0.01,0 -0.02,0.01 -0.02,0.01 -0.01,0 -0.02,0.01 -0.03,0.01 -0.03,0.02 -0.05,0.01 -0.04,0 -0.07,0.02 -0.14,0.06 -0.21,0.07 -0.05,0.01 -0.1,0.02 -0.15,0.03 0,0 -0.01,0 -0.01,0 -0.1,0 -0.21,0.01 -0.31,0.01 -0.05,0 -0.09,-0.01 -0.14,-0.01 0,0 0,0 0,0 0,0 0,0 -0.01,0 -0.1,-0.02 -0.2,-0.04 -0.3,-0.08 -0.01,0 -0.02,-0.01 -0.04,-0.01 -0.03,-0.02 -0.11,-0.05 -0.12,-0.06 -0.04,-0.02 -0.08,-0.04 -0.12,-0.07 -0.03,-0.02 -0.05,-0.03 -0.07,-0.05 -0.02,-0.01 -0.03,-0.03 -0.04,-0.04 0,0 0.01,0.01 0.01,0.02 -0.03,-0.02 -0.05,-0.05 -0.08,-0.07 -0.04,-0.04 -0.07,-0.07 -0.11,-0.11 -0.04,-0.05 -0.09,-0.1 -0.13,-0.15 0.02,0.02 0.07,0.1 0,0 -0.02,-0.03 -0.04,-0.06 -0.06,-0.1 -0.04,-0.06 -0.08,-0.13 -0.11,-0.2 0.04,0.09 -0.03,-0.1 -0.04,-0.12 0,-0.02 -0.01,-0.03 -0.01,-0.05 0.07,-0.07 0.13,-0.16 0.16,-0.26 0.01,-0.04 0.03,-0.08 0.04,-0.13 0,-0.01 0.01,-0.02 0.01,-0.02 0.05,-0.1 0.11,-0.19 0.17,-0.29 0.04,-0.07 0.09,-0.14 0.14,-0.21 0.01,-0.02 0.03,-0.04 0.03,-0.04 0.04,-0.05 0.08,-0.09 0.13,-0.13 0.03,-0.03 0.07,-0.06 0.1,-0.09 0,0 0,0 0,0 0,0 0.01,0 0.01,-0.01 0.09,-0.06 0.18,-0.12 0.27,-0.16 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.03,-0.01 0.1,-0.04 0.11,-0.04 0.1,-0.03 0.19,-0.05 0.29,-0.07 0.02,0 0.05,-0.01 0.05,-0.01 0.05,0 0.09,0 0.14,0 0.04,0 0.08,0 0.12,0.01 0.02,0 0.05,0.01 0.05,0.01 0.05,0.01 0.1,0.02 0.15,0.04 0.02,0.01 0.03,0.01 0.05,0.02 0.05,0.03 0.22,0.12 0.24,0.13 0,0 0.01,0.01 0.02,0.01 0.03,0.04 0.07,0.07 0.11,0.1 0.03,0.03 0.06,0.06 0.09,0.1 0,0 0,0 0,0.01 0,0 0,0 0,-0.01 -0.04,-0.09 0.01,0.01 0.02,0.04 0.05,0.08 0.1,0.16 0.14,0.24 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.04 0.05,0.14 0.05,0.15 0.03,0.09 0.05,0.18 0.07,0.27 0,0.01 0,0.01 0,0.02 0,0.05 0.01,0.1 0.01,0.15 0,0.04 -0.02,0.16 -0.02,0.23 0.04,-0.06 0.07,-0.09 0.05,-0.02 z m -31.99,83.16 c -0.05,0 -0.09,0 -0.14,0.02 -0.04,0.02 -0.08,0.03 -0.12,0.05 -0.09,0.03 -0.18,0.07 -0.26,0.1 -0.17,0.07 -0.33,0.14 -0.5,0.22 -0.09,0.04 -0.11,0.16 -0.08,0.24 0.03,0.08 0.14,0.15 0.23,0.11 0.17,-0.07 0.33,-0.14 0.5,-0.21 0.08,-0.04 0.17,-0.08 0.25,-0.11 0.01,0 0.01,-0.01 0.02,-0.01 -0.12,0.51 -0.25,1.02 -0.38,1.52 -0.06,0.24 -0.12,0.47 -0.18,0.71 -0.03,-0.01 -0.06,-0.03 -0.09,-0.03 -0.04,0 -0.07,0 -0.11,-0.01 -0.08,0 -0.16,-0.01 -0.25,-0.01 -0.16,-0.01 -0.32,0 -0.48,0 -0.12,0 -0.23,0.1 -0.23,0.23 0.01,0.12 0.1,0.23 0.23,0.23 0.16,0 0.32,0 0.48,0 0.08,0 0.16,-0.01 0.24,-0.01 0.04,0 0.08,0 0.12,-0.01 -0.07,0.29 -0.15,0.59 -0.22,0.88 -0.01,0 -0.02,0.01 -0.03,0.01 -0.15,0.05 -0.3,0.09 -0.46,0.14 -0.25,0.08 -0.5,0.16 -0.76,0.23 0.09,-0.39 0.19,-0.78 0.28,-1.17 0.09,-0.37 0.18,-0.75 0.27,-1.12 0.14,-0.03 0.28,-0.07 0.42,-0.1 0.27,-0.07 0.57,-0.11 0.81,-0.26 0.15,-0.09 0.08,-0.3 -0.08,-0.31 -0.08,-0.01 -0.16,-0.01 -0.24,0.01 -0.06,0.01 -0.12,0.03 -0.19,0.04 -0.14,0.03 -0.28,0.07 -0.41,0.1 -0.06,0.02 -0.13,0.03 -0.19,0.05 0.16,-0.66 0.32,-1.32 0.47,-1.98 0.14,-0.04 0.26,-0.1 0.4,-0.13 0.27,-0.04 0.55,-0.03 0.83,-0.02 -0.05,0.19 -0.1,0.39 -0.15,0.6 z m -9.38,37.36 c -0.02,-0.21 -0.04,-0.42 -0.07,-0.62 -0.04,-0.25 -0.1,-0.51 -0.11,-0.77 -0.01,-0.24 0,-0.47 0.01,-0.71 0.01,-0.47 0.02,-0.95 0,-1.42 -0.02,-0.46 -0.02,-0.97 -0.15,-1.42 -0.05,-0.16 -0.34,-0.2 -0.37,0 -0.07,0.45 -0.01,0.91 0.03,1.36 0.04,0.47 0.12,0.94 0.19,1.41 0.04,0.26 0.09,0.52 0.12,0.78 0.02,0.24 -0.01,0.47 -0.01,0.71 0,0.24 0,0.47 0.01,0.71 0.01,0.22 0,0.49 0.09,0.69 0.01,0.03 0.05,0.03 0.07,0.05 -0.15,0.56 -0.29,1.13 -0.44,1.69 -0.06,-0.08 -0.13,-0.14 -0.2,-0.21 -0.08,-0.07 -0.14,-0.16 -0.21,-0.24 -0.07,-0.09 -0.12,-0.19 -0.17,-0.3 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 0.1,-0.27 0.05,-0.57 0.02,-0.87 -0.02,-0.35 -0.04,-0.69 -0.06,-1.04 -0.03,-0.64 -0.05,-1.29 -0.06,-1.93 -0.01,-0.84 0.06,-1.69 0.04,-2.53 0.03,-0.12 0.04,-0.24 0,-0.36 0,0 0,0 0,-0.01 -0.01,-0.11 -0.02,-0.21 -0.03,-0.31 0.01,0 0.03,0.01 0.04,0.01 0.55,0.17 1.11,0.32 1.66,0.47 0,0.02 -0.02,0.02 -0.02,0.04 l 0.06,1.42 c 0.01,0.24 0.02,0.47 0.03,0.71 0.01,0.22 0.02,0.48 0.1,0.68 0,0 0.01,0 0.01,0.01 -0.19,0.71 -0.37,1.4 -0.55,2.09 z m 0.9,14.57 c 0.95,0 1.9,0.01 2.85,0.02 2.02,0.01 4.04,0.01 6.07,0.07 1.98,0.05 3.96,0.15 5.94,0.28 0.99,0.06 1.98,0.18 2.97,0.28 0.8,0.08 1.66,0.27 2.45,0.12 0.09,0.08 0.18,0.16 0.27,0.24 0.09,0.08 0.19,0.12 0.28,0.16 0.15,0.17 0.31,0.33 0.44,0.46 0.35,0.36 0.73,0.67 1.1,1 0.65,0.57 1.31,1.13 1.98,1.68 -0.2,0.28 -0.4,0.55 -0.57,0.84 -0.18,0.32 -0.33,0.65 -0.47,0.98 -0.26,-0.23 -0.52,-0.45 -0.77,-0.64 -0.66,-0.52 -1.35,-0.99 -2.1,-1.37 -1.53,-0.78 -3.18,-1.29 -4.87,-1.58 -3.94,-0.68 -7.93,-0.25 -11.89,-0.03 -1.22,0.07 -2.44,0.11 -3.65,0.06 -1.08,-0.04 -2.15,-0.22 -3.22,-0.3 0.19,-0.74 0.39,-1.49 0.58,-2.23 0.87,0.04 1.76,-0.04 2.61,-0.04 z m 15.35,-34.88 c 1.14,-0.08 2.28,-0.15 3.4,-0.33 0.09,-0.01 0.07,-0.15 -0.02,-0.16 -1.11,-0.02 -2.21,0.08 -3.32,0.17 0.11,-0.54 0.22,-1.09 0.33,-1.63 0.21,0.01 0.41,0.02 0.62,0.04 0.18,0.01 0.36,0.02 0.54,0.02 0.18,0 0.36,0.01 0.53,-0.02 0.11,-0.02 0.1,-0.18 0,-0.21 -0.17,-0.05 -0.35,-0.06 -0.53,-0.08 -0.18,-0.02 -0.36,-0.04 -0.54,-0.05 -0.18,-0.01 -0.37,-0.02 -0.55,-0.03 0.16,-0.82 0.32,-1.63 0.49,-2.45 0.44,0.03 0.89,0.04 1.34,0.04 0.51,0 1.06,0.04 1.54,-0.13 0.15,-0.05 0.15,-0.25 0,-0.3 -0.48,-0.17 -1.03,-0.14 -1.54,-0.15 -0.09,0 -0.17,0.01 -0.26,0 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.08,-0.02 -0.15,-0.04 -0.23,-0.07 -0.16,-0.05 -0.32,-0.09 -0.47,-0.14 -0.08,-0.02 -0.18,0.03 -0.2,0.12 -0.01,0.04 0,0.08 0.01,0.11 -0.02,0 -0.04,0 -0.06,0 0.02,-0.1 0.04,-0.19 0.06,-0.29 0.04,-0.02 0.09,-0.04 0.13,-0.07 0.04,-0.02 0.08,-0.05 0.13,-0.08 0.04,-0.03 0.08,-0.05 0.12,-0.08 0.02,-0.01 0.04,-0.03 0.05,-0.04 0.11,0 0.22,0 0.33,0 0.02,0 0.04,0 0.06,0 0.1,0.1 0.23,0.18 0.38,0.2 1.75,0.22 3.53,0.16 5.29,0.16 1.76,0 3.53,0 5.29,-0.01 3.53,-0.03 7.06,-0.07 10.59,-0.1 7.02,-0.07 14.04,-0.13 21.06,-0.2 1.97,-0.02 3.93,-0.03 5.9,-0.04 0.58,0 1.16,-0.01 1.75,-0.01 -0.22,-0.61 -0.43,-1.22 -0.63,-1.83 l -0.39,0.01 c -1.76,0.02 -3.53,0.05 -5.29,0.07 -3.53,0.04 -7.06,0.07 -10.59,0.11 -7.06,0.07 -14.12,0.14 -21.18,0.22 -2.01,0.02 -4.01,0.06 -6.02,0.09 -1.98,0.04 -3.98,0 -5.94,0.29 -0.22,0.03 -0.34,0.14 -0.41,0.27 -0.07,0.01 -0.15,0.02 -0.21,0.05 -0.01,0 -0.03,0.01 0,0 -0.02,0.01 -0.03,0.01 -0.05,0.02 -0.03,0.01 -0.07,0.03 -0.1,0.05 -0.04,0.02 -0.07,0.04 -0.1,0.06 0.14,-0.69 0.27,-1.37 0.41,-2.06 0.05,-0.26 0.11,-0.53 0.16,-0.79 0.08,0.04 0.17,0.07 0.27,0.08 1.66,0.19 3.38,0.08 5.05,0.1 1.68,0.02 3.36,0.01 5.05,0.02 3.36,0.01 6.73,0.02 10.09,0.03 6.77,0.02 13.54,0.04 20.31,0.06 1.88,0.01 3.77,0.01 5.65,0.02 0.17,0 0.34,0 0.51,0 0.27,0.45 0.93,0.39 1.2,0 0.38,0 0.76,0 1.13,0 -0.07,-0.22 -0.15,-0.45 -0.22,-0.67 0.14,-0.02 0.28,-0.04 0.41,-0.09 0.06,-0.02 0.1,-0.06 0.13,-0.1 0.44,1.63 0.88,3.26 1.32,4.89 -0.05,-0.01 -0.09,-0.02 -0.14,-0.01 -0.03,0 -0.06,0.01 -0.1,0.01 -0.07,0.01 -0.13,0.01 -0.2,0.02 -0.13,0.01 -0.27,0.02 -0.4,0.03 -0.11,0.01 -0.22,0.09 -0.22,0.22 0.01,0.13 0.1,0.21 0.22,0.22 0.13,0.01 0.27,0.02 0.4,0.03 0.06,0.01 0.13,0.01 0.19,0.02 0.03,0 0.06,0.01 0.1,0.01 0.06,0.01 0.11,0 0.17,-0.01 0.04,-0.01 0.07,-0.04 0.1,-0.07 0.13,0.47 0.25,0.94 0.38,1.41 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.05,0.02 -0.07,0.03 -0.03,0.01 -0.07,0.01 -0.1,0.01 -0.07,0.01 -0.15,0.01 -0.22,0.01 -0.08,0 -0.15,-0.02 -0.23,-0.03 -0.15,-0.03 -0.15,0.21 0,0.18 0.07,-0.01 0.15,-0.03 0.23,-0.03 0.07,0 0.15,0.01 0.22,0.01 0.03,0 0.07,0 0.1,0.01 0.01,0.01 0.04,0.02 0.05,0.03 0.04,0.01 0.08,0.02 0.12,0.03 0.3,1.11 0.6,2.22 0.9,3.33 -0.71,0.01 -1.42,0.02 -2.13,0.03 l -12.65,0.15 c -8.44,0.1 -16.87,0.21 -25.31,0.31 -4.74,0.06 -9.49,0.06 -14.22,0.29 -0.07,0 -0.13,0.03 -0.2,0.05 0.1,-0.47 0.19,-0.93 0.28,-1.38 z m 1.71,-6.21 c 0,0.01 0.01,0.03 0.01,0.04 -0.07,0 -0.13,0 -0.19,0 0.02,-0.01 0.04,-0.02 0.06,-0.02 0.01,0 0.03,-0.01 0.04,-0.01 h 0.02 c 0.02,-0.01 0.04,-0.01 0.06,-0.01 z m 1.01,-7.39 c 0.03,0.03 0.07,0.06 0.13,0.06 0.28,0 0.55,0.01 0.83,0.01 0.14,0 0.27,0 0.41,0 0.13,0 0.32,0.02 0.43,-0.06 0.09,-0.06 0.09,-0.19 0,-0.25 -0.11,-0.07 -0.28,-0.06 -0.42,-0.06 -0.14,0 -0.28,0 -0.42,0 l -0.83,0.01 c -0.03,0 -0.05,0.02 -0.08,0.03 0.21,-1.05 0.42,-2.1 0.64,-3.15 h 0.04 c 0.07,0 0.13,0 0.2,-0.01 0.06,-0.01 0.11,-0.02 0.17,-0.03 0.06,-0.01 0.11,-0.08 0.1,-0.14 0,-0.06 -0.04,-0.13 -0.1,-0.14 -0.06,-0.01 -0.11,-0.02 -0.17,-0.03 -0.06,-0.01 -0.12,-0.01 -0.17,-0.01 0.09,-0.46 0.19,-0.93 0.28,-1.39 0,0 0,0 0,0.01 0.03,0.09 0.11,0.13 0.2,0.11 0.11,-0.02 0.22,-0.05 0.33,-0.07 0.05,-0.01 0.11,-0.02 0.16,-0.04 0.05,-0.02 0.11,-0.04 0.16,-0.06 0.06,-0.02 0.1,-0.08 0.09,-0.14 -0.01,-0.06 -0.06,-0.12 -0.13,-0.11 -0.06,0 -0.11,0.01 -0.17,0.01 -0.07,0 -0.13,0.02 -0.2,0.03 -0.11,0.02 -0.23,0.04 -0.34,0.07 -0.04,0.01 -0.07,0.04 -0.09,0.07 0.15,-0.74 0.3,-1.47 0.45,-2.21 0.1,0.05 0.22,0.08 0.35,0.09 1.84,0.11 3.69,0.12 5.53,0.17 0.9,0.02 1.81,0.04 2.71,0.06 0.4,0.01 0.86,0.06 1.31,0.06 -0.02,0.13 -0.03,0.26 -0.06,0.39 -0.13,0.57 -0.26,1.14 -0.38,1.71 -1.06,0.01 -2.12,0.02 -3.17,0.05 -1.37,0.03 -2.78,-0.03 -4.13,0.13 -0.01,-0.32 -0.03,-0.64 -0.05,-0.96 0.06,0.01 0.12,0.02 0.18,0.02 0.16,0.01 0.33,0.01 0.49,0.01 0.16,0 0.32,0.01 0.47,0.01 0.08,0 0.16,0 0.24,-0.01 0.01,0 0.03,0 0.04,0 -0.23,0.01 -0.23,0.36 0.01,0.37 0.38,0.01 0.77,0.02 1.15,0.02 0.19,0 0.38,0.01 0.57,-0.01 0.19,-0.02 0.4,0.01 0.58,-0.05 0.14,-0.05 0.14,-0.24 0,-0.29 -0.19,-0.06 -0.39,-0.03 -0.58,-0.05 -0.19,-0.02 -0.38,-0.01 -0.57,-0.01 -0.37,0 -0.74,0.01 -1.11,0.02 0.07,-0.01 0.13,-0.02 0.18,-0.06 0.12,-0.09 0.12,-0.23 0,-0.31 -0.12,-0.09 -0.34,-0.07 -0.49,-0.07 -0.16,0 -0.33,0.01 -0.49,0.01 -0.16,0 -0.32,0.01 -0.47,0.01 -0.07,0 -0.15,0.01 -0.22,0.02 -0.01,-0.11 -0.01,-0.23 -0.02,-0.34 0,0 0,-0.01 0,-0.01 0.27,0.04 0.59,0 0.84,0 0.41,-0.01 0.82,-0.01 1.23,-0.02 0.4,-0.01 0.8,-0.03 1.2,-0.07 0.22,-0.03 0.45,-0.04 0.67,-0.06 0.17,-0.01 0.35,-0.01 0.51,-0.09 0.07,-0.04 0.07,-0.14 0,-0.18 -0.16,-0.08 -0.33,-0.06 -0.51,-0.07 -0.21,-0.01 -0.43,-0.01 -0.64,-0.02 -0.41,-0.02 -0.82,-0.03 -1.23,-0.02 -0.41,0 -0.82,0.02 -1.23,0.03 -0.32,0.01 -0.73,-0.03 -1.03,0.1 -0.35,-0.33 -1.03,-0.21 -1.05,0.42 -0.04,1.35 0.02,2.7 0.04,4.04 0.01,0.66 0.02,1.32 0.03,1.98 0,0.17 0,0.34 -0.01,0.52 -0.55,0.21 -0.53,1.02 0.1,1.14 0.04,0.13 0.08,0.27 0.15,0.39 0.05,0.09 0.13,0.16 0.22,0.21 -0.02,0 -0.05,0 -0.07,0 -0.46,0 -0.92,-0.01 -1.38,-0.01 -0.34,0 -0.68,-0.01 -1.02,0 0.04,-0.05 0.08,-0.1 0.11,-0.15 0.01,0 0.02,0 0.03,0 0.02,0 0.05,-0.01 0.07,-0.01 0.02,0 0.03,0 0.05,-0.01 0.01,0 0.03,-0.01 0.04,-0.02 0.01,0 0.02,-0.01 0.03,-0.01 0.03,-0.02 0.05,-0.06 0.05,-0.09 0,-0.04 -0.02,-0.08 -0.05,-0.09 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.01,0 -0.03,0 -0.04,-0.01 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.03,0 -0.05,-0.01 -0.08,-0.01 -0.06,-0.03 -0.13,-0.03 -0.18,0.03 -0.13,0.16 -0.25,0.32 -0.38,0.48 -0.1,0.13 -0.03,0.28 0.13,0.3 0.45,0.06 0.93,0.04 1.38,0.05 0.46,0.01 0.92,0.01 1.38,0.02 0.46,0.01 0.92,0.01 1.38,0 0.42,0 0.9,0.05 1.32,-0.05 0.14,-0.03 0.14,-0.25 0,-0.28 -0.41,-0.1 -0.89,-0.06 -1.32,-0.08 -0.24,-0.01 -0.49,-0.01 -0.73,-0.02 0.09,-0.05 0.16,-0.12 0.21,-0.22 0.05,-0.11 0.08,-0.22 0.11,-0.33 0.89,0.01 1.79,-0.01 2.67,-0.01 1.28,0 2.57,-0.01 3.85,-0.01 2.57,-0.01 5.14,-0.02 7.71,-0.03 5.14,-0.01 10.28,-0.05 15.41,-0.1 2.82,-0.03 5.66,0.05 8.47,-0.09 0.32,0.26 0.81,0.23 1.04,-0.16 0.31,-0.51 0.15,-1.29 0.14,-1.86 -0.01,-0.62 -0.03,-1.23 -0.05,-1.85 l -0.1,-3.63 c -0.02,-0.82 -1.12,-0.93 -1.4,-0.32 -0.07,-0.01 -0.14,0 -0.18,0.05 -0.04,0.04 -0.06,0.09 -0.06,0.15 0,0.05 0.02,0.11 0.06,0.15 0.03,0.03 0.07,0.02 0.11,0.03 0,0.37 0.01,0.74 0.01,1.11 -0.04,-0.01 -0.07,-0.02 -0.11,-0.02 -2.36,0.03 -4.71,0.06 -7.07,0.09 -0.15,-0.51 -0.34,-1.02 -0.55,-1.52 -0.03,-0.07 -0.06,-0.15 -0.09,-0.22 0.55,0 1.1,0 1.66,0 0.29,0 0.59,-0.02 0.88,-0.02 0.27,-0.01 0.63,0.01 0.87,-0.13 0.1,-0.06 0.12,-0.24 0,-0.3 -0.24,-0.11 -0.57,-0.08 -0.83,-0.07 -0.3,0.01 -0.61,0.02 -0.92,0.04 -0.6,0.04 -1.2,0.1 -1.79,0.14 -0.05,-0.12 -0.1,-0.25 -0.15,-0.37 0.66,0.07 1.4,-0.07 2.03,-0.11 0.78,-0.05 1.55,-0.11 2.33,-0.17 1.26,-0.09 2.52,-0.17 3.78,-0.24 0.05,0.05 0.12,0.1 0.17,0.13 0.27,0.14 0.66,0.2 0.93,0 0.09,-0.07 0.17,-0.14 0.26,-0.21 0.95,3.75 1.83,7.52 2.75,11.27 -1.46,0 -2.93,-0.01 -4.39,-0.01 -3.36,-0.01 -6.73,-0.01 -10.09,-0.02 -6.77,-0.01 -13.54,-0.03 -20.31,-0.04 -1.88,0 -3.77,-0.01 -5.65,-0.01 -1.9,0 -3.87,-0.13 -5.76,0.08 0.12,-0.61 0.25,-1.22 0.37,-1.82 0.08,0 0.16,0 0.24,0 0.09,0 0.18,0 0.27,0 0.1,-0.01 0.22,0.01 0.31,-0.05 0.08,-0.06 0.08,-0.17 0,-0.22 -0.08,-0.06 -0.2,-0.05 -0.3,-0.05 -0.09,-0.01 -0.19,0 -0.28,0 -0.06,0 -0.12,0 -0.17,0 0.07,-0.3 0.12,-0.56 0.17,-0.82 z m 18.56,-73.26 c 0.01,0.31 0.02,0.61 0.03,0.92 -0.42,-0.03 -0.85,-0.03 -1.27,-0.02 -0.02,-0.3 -0.06,-0.6 -0.08,-0.9 0.43,0 0.88,0.01 1.32,0 z m 0.78,0.01 c 0.29,-0.01 0.57,-0.01 0.86,-0.01 -0.02,0.65 -0.03,1.3 0,1.94 -0.17,0 -0.35,0.01 -0.52,0.01 -0.23,0 -0.46,-0.01 -0.68,-0.01 0,-0.16 0.02,-0.31 0.02,-0.47 0,-0.09 0,-0.18 0,-0.27 0.01,0 0.02,0 0.03,0 0.12,-0.02 0.12,-0.23 0,-0.25 -0.01,0 -0.01,0 -0.02,0 0.01,-0.31 0.01,-0.62 0.02,-0.94 0.09,-0.01 0.19,0 0.29,0 z m 5.34,27.13 c -0.01,-0.02 -0.01,-0.05 -0.04,-0.06 -0.44,-0.06 -0.91,-0.02 -1.36,0 0,0 0,0 -0.01,0 0,-0.02 0,-0.05 0,-0.07 0.01,-0.15 -0.22,-0.15 -0.23,0 0,0.03 -0.01,0.05 -0.01,0.08 -0.4,0.02 -0.8,0.04 -1.2,0.06 -0.01,0 -0.03,0 -0.04,0 0.01,-0.14 0.01,-0.27 0.02,-0.41 0,-0.07 -0.04,-0.11 -0.09,-0.12 0.54,-0.01 1.09,-0.02 1.63,-0.02 0.43,0 0.85,0 1.28,0 0.01,0.17 0.03,0.35 0.05,0.54 z m -3.58,0.04 c 0,-0.01 0,-0.02 -0.01,-0.03 -0.03,-0.14 -0.05,-0.29 -0.05,-0.44 0,-0.03 0.01,-0.06 0.01,-0.09 0.19,0 0.39,-0.01 0.58,-0.01 -0.05,0.02 -0.1,0.05 -0.11,0.12 -0.01,0.14 -0.03,0.28 -0.04,0.42 -0.12,0.02 -0.25,0.02 -0.38,0.03 z m -1.77,0.1 c -0.02,-0.21 -0.02,-0.41 -0.02,-0.62 0.25,-0.01 0.5,-0.02 0.75,-0.02 0.22,0 0.44,-0.01 0.66,-0.01 0,0.04 -0.02,0.07 -0.02,0.1 0,0.16 0.02,0.31 0.04,0.47 -0.47,0.03 -0.94,0.05 -1.41,0.08 z m -3.94,0.23 c -0.01,-0.25 -0.03,-0.5 -0.03,-0.74 0.2,-0.01 0.4,-0.01 0.59,-0.02 0.08,0.07 0.2,0.06 0.28,-0.01 0.54,-0.02 1.08,-0.03 1.62,-0.04 -0.01,0.22 -0.02,0.45 -0.03,0.67 -0.81,0.04 -1.62,0.09 -2.43,0.14 z m -2.14,0.15 0.11,-0.86 c 0.02,0.01 0.04,0.03 0.07,0.03 0.01,0 0.01,0 0.02,0 0,0.01 0,0.03 0,0.04 0.01,0.12 0.01,0.23 0.02,0.35 0.01,0.12 0.01,0.22 0.09,0.31 0.05,0.05 0.17,0.06 0.22,0 0.14,-0.17 0.07,-0.45 0.06,-0.65 0,-0.02 0,-0.03 0,-0.05 0.38,-0.01 0.76,-0.02 1.14,-0.03 0,0.25 0.01,0.51 0.02,0.76 -0.56,0.03 -1.12,0.07 -1.69,0.1 -0.03,-0.03 -0.04,-0.01 -0.06,0 z m 5.36,-26.19 c 0,0.16 0.02,0.31 0.02,0.47 -0.43,0 -0.85,0 -1.27,-0.01 -0.01,-0.23 -0.01,-0.45 -0.03,-0.68 0.42,0.01 0.85,0 1.27,-0.02 0,0.07 0,0.16 0.01,0.24 z m 1.63,1.06 c 0.01,0.08 0.14,0.12 0.16,0.02 0.01,-0.09 0.01,-0.19 0.02,-0.28 0.47,-0.01 0.93,-0.02 1.4,-0.03 0.01,0.14 0.01,0.28 0.01,0.42 0.01,0.19 0.02,0.38 0.03,0.57 -0.06,0.04 -0.11,0.11 -0.08,0.18 0.01,0.04 0.06,0.03 0.1,0.05 0.01,0.25 0.03,0.49 0.04,0.74 -0.59,0.04 -1.17,0.09 -1.76,0.11 -0.42,0.02 -0.83,0.02 -1.25,0.03 0.01,-0.28 0.02,-0.55 0.03,-0.83 0.22,-0.01 0.43,-0.02 0.64,-0.06 0.11,-0.02 0.11,-0.21 0,-0.22 -0.21,-0.03 -0.42,-0.03 -0.63,-0.02 0.01,-0.31 0.03,-0.62 0.04,-0.94 0.25,0 0.5,0.01 0.76,0.01 0.16,0 0.32,-0.01 0.48,-0.01 0,0.09 0,0.18 0.01,0.26 z m 0.61,23.23 c -0.05,0.15 -0.05,0.3 -0.07,0.45 -0.24,0 -0.48,0 -0.72,0.01 -0.24,0.01 -0.49,0.02 -0.73,0.03 0.03,-0.33 0.08,-0.65 0.16,-0.97 0.9,-0.01 1.79,0.01 2.69,0.05 0.27,0.01 0.55,0.03 0.82,0.04 0.02,0.15 0.03,0.31 0.06,0.46 0.02,0.1 0.16,0.07 0.17,-0.02 0.01,-0.14 0.01,-0.28 0.02,-0.42 0.1,0.01 0.19,0.01 0.29,0.02 0.33,0.02 0.68,0.06 1.02,0.08 0.01,0.23 0.03,0.47 0.04,0.7 -0.41,0 -0.83,0 -1.24,0 -0.75,0 -1.49,0.02 -2.24,0.03 0.02,-0.12 0.01,-0.25 0.05,-0.36 0.05,-0.21 -0.25,-0.29 -0.32,-0.1 z m -2.72,0.54 c 0,-0.33 0.01,-0.65 0.01,-0.98 0.33,-0.01 0.67,-0.03 1,-0.03 -0.08,0.32 -0.13,0.65 -0.16,0.98 -0.29,0.01 -0.57,0.02 -0.85,0.03 z m -2.69,-1.84 c 0.13,-0.09 0.26,-0.17 0.39,-0.25 0.02,0 0.04,0 0.05,0 0,0.26 0,0.51 0,0.77 -0.16,0.01 -0.31,0.04 -0.47,0.05 0.02,-0.19 0.01,-0.38 0.03,-0.57 z m -0.38,0.61 c -0.04,0 -0.09,0.01 -0.13,0.01 0.06,-0.06 0.1,-0.13 0.15,-0.2 -0.01,0.07 -0.01,0.13 -0.02,0.19 z m 2.9,-4.51 c 0,-0.21 0,-0.43 0,-0.64 v -0.07 c 0.48,0 0.95,-0.02 1.43,-0.03 -0.02,0.37 -0.04,0.74 -0.07,1.1 -0.46,-0.01 -0.91,-0.01 -1.37,0.02 0.01,-0.13 0.01,-0.26 0.01,-0.38 z m -0.29,-1.94 v 0.82 c -0.22,0 -0.45,0 -0.67,0.01 -0.03,-0.03 -0.07,-0.06 -0.12,-0.05 -0.05,0 -0.09,0.02 -0.12,0.06 -0.16,0 -0.33,0 -0.49,0.01 0,-0.41 -0.01,-0.83 -0.01,-1.24 0.15,0 0.3,0.01 0.45,0.01 0.04,0.03 0.09,0.02 0.14,0 0.9,0.02 1.79,0.04 2.69,0.06 0,0.34 0.01,0.68 0.02,1.02 -0.07,0 -0.13,0.04 -0.14,0.12 0,0 0,0 0,0 -0.48,0.01 -0.97,0.01 -1.45,0.01 v -0.81 c -0.01,-0.2 -0.3,-0.21 -0.3,-0.02 z m -2.51,0.37 c -0.01,-0.31 -0.01,-0.62 -0.02,-0.93 0.02,0.07 0.06,0.13 0.15,0.13 0.21,0 0.41,0.01 0.62,0.01 0,0.42 -0.01,0.84 -0.01,1.26 -0.24,0 -0.48,0.01 -0.73,0.01 0,-0.16 -0.01,-0.32 -0.01,-0.48 z m 1.35,-3.39 c 0.01,0.22 0.01,0.45 0.02,0.67 -0.09,0 -0.19,0.01 -0.28,0.01 0,-0.31 -0.01,-0.63 -0.01,-0.94 0.09,0 0.18,0 0.27,0 0,0.08 0,0.17 0,0.26 z m 0.03,1.02 c 0.01,0.42 0.05,0.84 0.1,1.25 -0.12,0 -0.25,0 -0.37,-0.01 0,-0.41 -0.01,-0.83 -0.01,-1.24 0.09,0 0.18,0 0.28,0 z m 7.06,5.02 v 0.25 c -0.01,0 -0.03,0 -0.04,0 -0.05,0 -0.1,0.01 -0.15,0.01 0.05,-0.5 0.07,-1.01 0.14,-1.51 0.03,-0.2 -0.27,-0.29 -0.3,-0.08 -0.09,0.53 -0.12,1.08 -0.17,1.61 -0.36,0.02 -0.71,0.04 -1.07,0.07 0.04,-0.49 0.09,-0.98 0.2,-1.47 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.12,0.51 -0.2,1.04 -0.26,1.56 -0.23,0.01 -0.46,0.03 -0.68,0.04 -0.03,0 -0.05,0 -0.08,0.01 0.02,-0.3 0.05,-0.61 0.07,-0.91 0.01,-0.11 -0.12,-0.14 -0.19,-0.09 -0.01,-0.01 -0.01,-0.03 -0.03,-0.04 -0.35,-0.11 -0.76,-0.11 -1.14,-0.11 0.01,-0.33 0.02,-0.67 0.03,-1 0.06,0.01 0.13,-0.01 0.13,-0.1 0,-0.01 0,-0.01 0,-0.02 0.07,0 0.15,0 0.22,-0.01 0.67,-0.03 1.35,-0.09 2.02,-0.14 0.01,0.16 0.03,0.31 0.07,0.45 0.03,0.09 0.18,0.11 0.2,0 0.02,-0.15 0.03,-0.31 0.02,-0.47 0.04,0 0.08,-0.01 0.12,-0.01 0.77,-0.06 1.58,-0.08 2.34,-0.21 -0.04,0.39 -0.1,0.78 -0.13,1.17 -0.04,0.01 -0.09,0 -0.13,0.01 -0.1,0.02 -0.2,0.03 -0.3,0.05 -0.2,0.03 -0.4,0.06 -0.6,0.09 -0.07,0.01 -0.12,0.1 -0.11,0.17 0.01,0.07 0.07,0.14 0.15,0.13 0.2,-0.02 0.39,-0.04 0.59,-0.06 0.05,0 0.1,-0.01 0.15,-0.01 0.01,0.01 0.02,0.02 0.03,0.03 0.07,0.02 0.14,0 0.2,-0.02 -0.02,0.29 -0.03,0.57 -0.05,0.86 -0.15,0.01 -0.3,0.02 -0.45,0.03 -0.18,-0.06 -0.35,-0.15 -0.54,-0.21 z m -3.26,-3.34 c 0.57,0.01 1.14,0.02 1.7,0.03 -0.01,0.24 -0.03,0.48 -0.02,0.73 0,0.1 0,0.2 0,0.3 -0.69,0.03 -1.38,0.05 -2.06,0.06 -0.05,0 -0.1,0 -0.16,0 0.01,-0.38 0.02,-0.76 0.02,-1.13 0.17,0 0.34,0 0.52,0.01 z m 4.55,0.32 c -0.01,0 -0.01,-0.01 -0.02,0 -0.01,0 -0.02,0 -0.04,0.01 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.05 -0.02,0.07 0,0.02 0,0.04 0,0.06 0,0.01 0,0.01 0,0.02 0,0.02 0,0.03 0.01,0.05 0,0.01 0,0.02 0.01,0.03 0,0.01 0.01,0.02 0.01,0.03 0.01,0.02 0.02,0.03 0.03,0.04 0.01,0.01 0.02,0.01 0.03,0.02 0.01,0 0.02,0 0.03,0.01 -0.01,0.06 -0.01,0.12 -0.02,0.17 -0.4,0 -0.79,0.06 -1.18,0.09 -0.41,0.03 -0.83,0.05 -1.24,0.07 -0.02,0 -0.04,0 -0.07,0 0,-0.07 -0.01,-0.14 -0.01,-0.21 0,-0.27 0.01,-0.53 0.02,-0.8 0.16,0 0.31,0.01 0.46,0.01 0.42,0.01 0.84,0.01 1.26,0.02 0.28,0 0.57,0.02 0.86,0.01 -0.02,0.07 -0.03,0.15 -0.04,0.23 z m -4.55,-0.7 c -0.17,0 -0.34,0 -0.52,-0.01 0,-0.43 0,-0.86 0,-1.29 0,-0.08 -0.05,-0.11 -0.11,-0.12 0.45,-0.02 0.91,-0.05 1.36,-0.08 0.32,-0.02 0.64,-0.05 0.96,-0.07 0.08,-0.01 0.17,-0.01 0.26,-0.01 -0.1,0.53 -0.18,1.07 -0.22,1.6 -0.58,0 -1.16,-0.01 -1.73,-0.02 z m -0.8,-1.29 v 1.28 c -0.87,-0.01 -1.73,-0.03 -2.6,-0.04 0,-0.42 -0.02,-0.84 -0.06,-1.27 0.75,-0.02 1.5,-0.04 2.26,-0.07 0.17,-0.01 0.33,-0.02 0.5,-0.03 -0.05,0.02 -0.1,0.06 -0.1,0.13 z m 0.06,5.19 c 0.01,-0.17 0.01,-0.35 0.02,-0.52 0.37,0.02 0.76,0.05 1.12,0 -0.02,0.26 -0.05,0.52 -0.07,0.78 -0.36,0.03 -0.73,0.05 -1.09,0.08 0.01,-0.11 0.02,-0.23 0.02,-0.34 z m -0.21,0.78 c 0.01,0 0.01,0 0.02,0 0.41,-0.02 0.82,-0.04 1.22,-0.06 -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.05,0.52 -0.14,1.07 -0.09,1.6 0.01,0.09 0.14,0.12 0.17,0.02 0.14,-0.51 0.13,-1.07 0.17,-1.59 0.01,-0.09 0.01,-0.17 0.02,-0.26 0.04,0 0.08,0 0.12,-0.01 0.21,-0.01 0.42,-0.03 0.62,-0.04 -0.02,0.27 -0.03,0.54 -0.03,0.82 0,0.1 0,0.21 0,0.31 0,0 -0.01,0 -0.01,0 -0.03,0.01 -0.05,0.02 -0.07,0.05 -0.02,0.02 -0.04,0.04 -0.05,0.07 -0.01,0.03 -0.02,0.06 -0.02,0.09 0,0.02 0.01,0.04 0.01,0.06 0.01,0.04 0.03,0.07 0.06,0.1 l 0.05,0.04 c 0.02,0.01 0.05,0.02 0.08,0.02 0.01,0.07 0.01,0.15 0.03,0.22 0.05,0.16 0.26,0.11 0.28,-0.04 0.01,-0.09 0,-0.19 0,-0.28 0.01,-0.01 0.02,-0.03 0.03,-0.04 0.01,-0.02 0.02,-0.05 0.02,-0.08 0,-0.02 0,-0.04 -0.01,-0.05 -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 -0.01,-0.13 -0.02,-0.27 -0.02,-0.4 0,-0.28 0.01,-0.56 0.02,-0.84 0.36,-0.02 0.71,-0.04 1.07,-0.07 -0.02,0.23 -0.06,0.45 -0.07,0.68 -0.03,0.46 -0.05,0.93 -0.02,1.39 0.01,0.13 0.01,0.26 0.02,0.39 -0.24,-0.01 -0.48,-0.03 -0.72,-0.04 -0.89,-0.04 -1.79,-0.04 -2.68,-0.03 -0.06,-0.08 -0.19,-0.09 -0.26,0 -0.4,0.01 -0.79,0.04 -1.19,0.05 -0.04,-0.06 -0.11,-0.06 -0.15,0.01 -0.56,0.03 -1.11,0.04 -1.67,0.09 0,-0.25 0,-0.49 0,-0.74 0.31,-0.01 0.61,-0.02 0.92,-0.03 0.89,-0.04 1.77,-0.07 2.64,-0.23 0.14,-0.03 0.09,-0.22 -0.03,-0.23 -0.08,-0.01 -0.16,0 -0.23,-0.01 0,0 0.01,-0.01 0.01,-0.01 0.04,-0.03 0.09,-0.06 0.13,-0.1 0.01,-0.01 0.02,-0.04 0.01,-0.05 -0.01,-0.02 -0.03,-0.02 -0.05,-0.02 -0.05,0.01 -0.09,0.03 -0.14,0.04 l -0.14,0.05 c -0.03,0.01 -0.03,0.05 -0.04,0.08 -0.73,-0.04 -1.47,-0.01 -2.2,0.02 -0.14,0.01 -0.28,0.01 -0.41,0.02 0.41,-0.19 0.83,-0.38 1.26,-0.51 -0.05,-0.18 -0.06,-0.36 -0.1,-0.54 0.49,-0.02 0.98,-0.05 1.48,-0.07 z m -3.5,2.82 c 0,0.32 0,0.65 0,0.97 -0.18,0.01 -0.35,0.01 -0.53,0.02 0,-0.32 0.03,-0.64 0.04,-0.95 0.16,-0.01 0.33,-0.03 0.49,-0.04 z m 0.4,-0.03 c 0.54,-0.03 1.08,-0.04 1.62,-0.06 -0.01,0.33 -0.02,0.66 -0.04,0.98 -0.53,0.02 -1.05,0.04 -1.58,0.06 0,-0.32 0,-0.65 0,-0.98 z m 7.36,-0.5 c -0.13,-0.01 -0.26,-0.01 -0.39,-0.02 0,-0.14 0,-0.27 0,-0.41 0.02,-0.45 0.02,-0.89 0.03,-1.34 0.01,-0.25 0.05,-0.5 0.07,-0.76 0.07,0 0.13,-0.01 0.2,-0.01 0.01,0 0.03,0 0.04,0 v 1.16 c 0.32,0.13 0.63,0.3 0.93,0.47 0,0.33 0,0.66 0.01,0.99 -0.3,-0.04 -0.6,-0.05 -0.89,-0.08 z m 1.57,-6.53 c 0.03,0 0.06,0 0.09,0 0.16,-0.02 0.15,-0.29 0,-0.32 -0.02,0 -0.04,0 -0.06,0 0.01,-0.07 0.01,-0.14 0.02,-0.21 0.02,-0.16 -0.25,-0.19 -0.28,-0.04 -0.01,0.07 -0.02,0.15 -0.03,0.22 -0.28,-0.02 -0.57,-0.01 -0.84,-0.02 -0.42,-0.01 -0.84,-0.02 -1.26,-0.02 -0.17,0 -0.33,-0.01 -0.5,-0.01 0.03,-0.55 0.11,-1.09 0.2,-1.63 0.11,-0.01 0.23,-0.01 0.34,-0.03 0.12,-0.03 0.08,-0.18 -0.03,-0.2 -0.09,-0.01 -0.19,-0.01 -0.28,-0.01 0.01,-0.03 0.01,-0.06 0.01,-0.1 0.03,-0.17 -0.22,-0.24 -0.26,-0.07 -0.01,0.05 -0.01,0.11 -0.02,0.17 -0.14,0.01 -0.28,0.02 -0.41,0.02 -0.32,0 -0.64,0 -0.96,0 -0.62,0 -1.24,0.02 -1.86,0.04 -0.74,0.02 -1.48,0.06 -2.22,0.1 -0.02,-0.26 -0.05,-0.52 -0.06,-0.78 0,-0.05 0,-0.09 0,-0.14 1.16,0 2.32,0 3.48,0 0.8,-0.01 1.6,-0.01 2.39,-0.02 0.4,-0.01 0.8,-0.01 1.2,-0.02 0.34,0 0.7,0 1.04,-0.05 -0.01,0.02 -0.02,0.03 -0.02,0.05 0,0.33 0,0.67 0,1 0,0.16 0,0.33 0,0.49 0,0.17 0.02,0.34 0.04,0.51 0.01,0.1 0.15,0.1 0.16,0 0.02,-0.17 0.04,-0.34 0.04,-0.51 0,-0.16 0,-0.33 0,-0.49 0,-0.33 0,-0.67 0,-1 0,-0.05 -0.03,-0.08 -0.07,-0.1 0.08,-0.05 0.08,-0.19 -0.02,-0.21 -0.36,-0.07 -0.74,-0.05 -1.11,-0.05 -0.4,0 -0.8,0 -1.2,0 -0.82,0 -1.64,0.01 -2.45,0.02 -1.16,0.01 -2.32,0.03 -3.49,0.05 -0.02,-0.43 -0.03,-0.85 -0.04,-1.28 h 0.05 c 0.36,0 0.72,0 1.08,0.01 0.17,0 0.33,0 0.5,0 0.18,0 0.37,0.02 0.54,-0.04 0.13,-0.04 0.13,-0.22 0,-0.27 -0.15,-0.05 -0.32,-0.04 -0.48,-0.04 0.02,-0.41 0.01,-0.83 0,-1.24 0.21,0 0.42,-0.02 0.62,-0.05 0.13,-0.02 0.13,-0.24 0,-0.26 -0.2,-0.04 -0.42,-0.05 -0.63,-0.05 -0.01,-0.14 -0.01,-0.28 -0.02,-0.42 -0.01,-0.15 -0.01,-0.3 -0.02,-0.45 0.28,0.04 0.56,0.05 0.84,0.06 0.03,0.29 0.04,0.58 0.09,0.87 0.02,0.09 0.15,0.06 0.16,-0.02 0.02,-0.28 0.01,-0.56 0.01,-0.84 0.07,0 0.13,0.01 0.2,0.01 0.1,-0.01 0.12,-0.14 0.02,-0.17 -0.07,-0.02 -0.15,-0.03 -0.22,-0.05 -0.01,-0.67 -0.04,-1.34 -0.07,-2.01 -0.01,-0.21 -0.33,-0.21 -0.32,0 0,0.04 0,0.08 0,0.11 -0.78,-0.11 -1.56,-0.15 -2.35,-0.16 0.01,-0.34 0,-0.67 0.01,-1.01 0.13,0 0.26,0 0.39,0 0,0.22 0,0.43 0,0.65 0,0.18 0.26,0.18 0.27,0 0.01,-0.22 0,-0.43 0.01,-0.65 0.04,0 0.07,0 0.11,0 0.49,0 0.97,0 1.46,-0.01 0.41,-0.01 0.84,-0.01 1.25,-0.06 0,0.02 0,0.05 0.01,0.07 0.02,0.05 0.1,0.06 0.11,0 0.01,-0.03 0,-0.05 0,-0.08 0.09,-0.01 0.09,-0.17 0,-0.18 0,0 0,0 0,0 0,-0.06 -0.01,-0.13 -0.01,-0.19 l -0.03,-0.47 c -0.02,-0.32 -0.04,-0.63 -0.06,-0.95 -0.01,-0.09 -0.15,-0.09 -0.14,0 0.02,0.32 0.04,0.63 0.06,0.95 l 0.03,0.47 c 0,0.06 0.01,0.12 0.01,0.18 -0.4,-0.05 -0.82,-0.05 -1.23,-0.07 -0.48,-0.02 -0.97,-0.03 -1.46,-0.03 -0.03,0 -0.07,0 -0.1,0 0.01,-0.36 0.02,-0.73 0.02,-1.09 0.07,0 0.14,0 0.21,0 0.27,-0.01 0.57,0 0.84,-0.05 0.1,-0.02 0.1,-0.19 0,-0.21 -0.27,-0.05 -0.57,-0.05 -0.84,-0.05 -0.07,0 -0.13,0 -0.2,0 0,-0.11 0,-0.21 0,-0.32 0.48,-0.01 0.98,-0.01 1.45,-0.1 0.14,-0.02 0.09,-0.21 -0.03,-0.23 -0.47,-0.04 -0.95,0 -1.42,0.02 0,-0.19 -0.01,-0.38 -0.01,-0.57 0.44,0 0.89,-0.02 1.33,-0.02 0,0.02 0,0.03 0,0.05 0,0.07 0.11,0.07 0.11,0 0,-0.02 0,-0.03 0,-0.05 0.44,-0.01 0.88,-0.01 1.32,-0.02 0.58,-0.02 1.15,-0.07 1.72,-0.11 0.03,0.48 0.09,0.95 0.14,1.42 -0.23,0.02 -0.45,0.04 -0.68,0.07 -0.19,0.02 -0.19,0.31 0,0.29 0.24,-0.02 0.47,-0.04 0.71,-0.06 0.02,0.16 0.03,0.32 0.05,0.48 0.01,0.08 0.13,0.05 0.13,-0.02 0.01,-0.16 0,-0.32 0.01,-0.48 0.47,-0.04 0.94,-0.08 1.41,-0.12 0.24,-0.02 0.48,-0.05 0.72,-0.07 0.01,0.05 0,0.11 0.01,0.16 0.01,0.08 0.15,0.08 0.17,0 0.01,-0.06 0.01,-0.12 0.02,-0.18 0.08,-0.01 0.15,-0.01 0.23,-0.02 0.25,-0.02 0.52,-0.04 0.78,-0.09 0.01,0.33 0.01,0.66 0.01,0.98 -0.01,1.96 -0.02,3.92 -0.03,5.88 -0.01,1.92 0.03,3.84 -0.03,5.76 -0.03,1.04 -0.11,2.11 -0.16,3.17 -0.15,0.01 -0.31,0.02 -0.45,0.03 0.02,-1.12 0.1,-2.27 0.23,-3.42 z m -8.5,-5.45 c 0,-0.25 0.01,-0.5 0.01,-0.75 0,0 0,0 0.01,0 h 1.19 c 0.08,0 0.17,0 0.26,0 0.01,0.42 0.03,0.83 0.07,1.24 -0.12,0 -0.25,0 -0.37,0 -0.36,0 -0.72,0 -1.08,0.01 h -0.06 c -0.02,-0.17 -0.03,-0.34 -0.03,-0.5 z m -1.79,-6.08 c -0.01,-0.22 -0.02,-0.45 -0.03,-0.67 0.01,0.06 0.05,0.11 0.13,0.11 0.19,0 0.38,0 0.58,0 -0.02,0.37 -0.04,0.73 -0.06,1.1 -0.2,0 -0.4,0 -0.6,0 -0.02,-0.18 -0.01,-0.36 -0.02,-0.54 z m 1.06,-1.13 c 0.39,-0.01 0.77,-0.03 1.16,-0.04 0,0.1 0.01,0.21 0.01,0.31 -0.12,0 -0.24,0 -0.36,0 -0.27,0 -0.55,0 -0.82,0 -0.01,-0.09 0,-0.18 0.01,-0.27 z m 0.44,-2.62 c 0.1,0.03 0.19,0.09 0.29,0.12 -0.02,-0.31 0,-0.64 0.04,-0.95 0.07,0 0.14,0.01 0.22,0.01 0.03,0.34 0.07,0.69 0.09,1.03 -0.27,0.01 -0.54,0.03 -0.81,0.04 0.08,-0.07 0.12,-0.16 0.17,-0.25 z m 0.98,0.48 c 0.37,-0.01 0.73,-0.01 1.1,-0.03 0.07,0 0.13,0 0.2,-0.01 0.02,0.28 0.03,0.55 0.04,0.83 -0.44,0.01 -0.88,0.03 -1.32,0.03 0,-0.27 -0.01,-0.55 -0.02,-0.82 z m -0.62,2.72 c 0.12,0 0.24,0 0.36,0 0,0.36 0,0.73 0,1.09 -0.42,0 -0.85,0 -1.27,0 0.03,-0.36 0.05,-0.73 0.07,-1.1 0.28,0 0.56,0.01 0.84,0.01 z m 2.41,4.44 c -0.27,-0.06 -0.54,-0.12 -0.82,-0.16 -0.02,-0.46 -0.03,-0.92 -0.05,-1.38 0,-0.03 -0.03,-0.02 -0.04,-0.04 0.28,-0.01 0.55,-0.02 0.83,-0.05 0.01,0.55 0.04,1.09 0.08,1.63 z m -1.06,-0.19 c -0.15,-0.02 -0.3,-0.04 -0.45,-0.06 -0.32,-0.04 -0.64,-0.08 -0.95,-0.12 0,-0.4 0,-0.8 0.01,-1.2 0.46,0.01 0.93,0.01 1.39,0 -0.01,0.01 -0.03,0.01 -0.03,0.03 0.01,0.45 0.02,0.9 0.03,1.35 z m -1.65,-0.21 c -0.27,-0.03 -0.53,-0.07 -0.8,-0.1 -0.04,0 -0.07,0.01 -0.09,0.03 0.06,-0.37 0.11,-0.75 0.15,-1.13 0.25,0.01 0.51,0.02 0.76,0.03 -0.01,0.38 -0.02,0.77 -0.02,1.17 z m -0.71,-1.6 c 0.03,-0.34 0.05,-0.67 0.07,-1 0.23,0 0.45,0 0.68,0.01 -0.02,0.34 -0.01,0.67 -0.02,1.01 -0.24,-0.01 -0.49,-0.01 -0.73,-0.02 z m -0.83,-1.01 c 0.19,0 0.38,0 0.57,0.01 -0.03,0.33 -0.05,0.67 -0.08,1.01 -0.16,0 -0.31,0 -0.46,0 -0.02,-0.35 -0.02,-0.68 -0.03,-1.02 z m 0.02,1.37 c 0.14,0.01 0.29,0.01 0.43,0.02 -0.03,0.43 -0.06,0.86 -0.06,1.28 0,0.11 0.15,0.13 0.2,0.05 0.01,0.05 0.04,0.09 0.1,0.1 0.28,0.04 0.56,0.08 0.84,0.12 -0.01,0.38 -0.02,0.76 -0.02,1.13 -0.48,0 -0.96,0 -1.44,0 0,-0.89 -0.03,-1.79 -0.05,-2.7 z m 1.76,1.61 c 0.31,0.05 0.63,0.1 0.94,0.14 0.16,0.02 0.32,0.04 0.47,0.07 0,0.16 0.01,0.32 0.01,0.48 0,0.14 0.01,0.28 0.01,0.42 -0.08,0 -0.17,0 -0.25,0 h -1.19 c 0,0 0,0 0,0 0.01,-0.38 0.01,-0.74 0.01,-1.11 z m 5.54,-7.14 c 0.19,-0.02 0.37,-0.04 0.56,-0.06 0.5,-0.07 1.06,-0.15 1.56,-0.33 -0.01,0.28 -0.01,0.56 -0.01,0.84 -0.42,0.05 -0.85,0.1 -1.27,0.13 -0.27,0.02 -0.55,0.03 -0.82,0.05 0,-0.21 -0.01,-0.42 -0.02,-0.63 z m 0.91,0.98 c 0.4,-0.03 0.8,-0.07 1.2,-0.11 0,0.01 0,0.03 0,0.04 0,0.45 0,0.9 0.03,1.35 -0.23,0.02 -0.47,0.04 -0.7,0.06 -0.47,0.05 -0.94,0.09 -1.41,0.14 0.01,-0.48 0.02,-0.95 0.01,-1.43 0.29,-0.02 0.58,-0.03 0.87,-0.05 z m 2.44,-0.29 c 0,0.5 0,0.99 0.01,1.48 -0.26,0 -0.53,0.03 -0.77,0.05 -0.07,0.01 -0.13,0.01 -0.2,0.02 0.05,-0.44 0.06,-0.89 0.08,-1.33 0,-0.03 0,-0.05 0,-0.08 0.31,-0.03 0.59,-0.09 0.88,-0.14 z m 0.01,-0.35 c -0.29,0.02 -0.58,0.04 -0.87,0.07 0.01,-0.33 0.02,-0.65 0.02,-0.98 0.06,-0.03 0.12,-0.07 0.18,-0.12 0.1,0.11 0.22,0.2 0.38,0.26 0.11,0.04 0.22,0.04 0.32,0.02 -0.01,0.25 -0.03,0.5 -0.03,0.75 z m -6.93,-0.66 c -0.06,0 -0.12,0 -0.18,0.01 -0.37,0.01 -0.74,0.02 -1.11,0.04 -0.01,-0.34 -0.03,-0.67 -0.04,-1.01 0.43,0.01 0.85,0.01 1.28,0.02 0.01,0.3 0.03,0.62 0.05,0.94 z m -1.76,-1.31 c -0.04,0 -0.07,0 -0.11,-0.01 0.02,-0.1 0.03,-0.2 0.06,-0.29 -0.15,-0.02 -0.3,-0.02 -0.45,-0.03 -0.01,-0.12 -0.02,-0.23 -0.03,-0.35 0.16,0 0.31,0 0.47,0 0.03,0.22 0.04,0.45 0.06,0.68 z m 0.15,1.65 c 0.02,0.27 0.01,0.55 0.02,0.82 -0.35,0 -0.7,-0.02 -1.05,-0.02 0.01,-0.26 0.01,-0.53 0.02,-0.79 0.34,-0.01 0.67,-0.01 1.01,-0.01 z m 0.03,1.2 c 0,0.2 0.01,0.39 0.02,0.59 -0.38,0.02 -0.75,0.03 -1.13,0.05 0.01,-0.22 0.03,-0.45 0.04,-0.67 0.36,0.01 0.71,0.03 1.07,0.03 z m -1.5,1.2 c -0.2,0 -0.39,0 -0.59,0 -0.08,0 -0.12,0.06 -0.13,0.12 -0.02,-0.47 -0.04,-0.93 -0.07,-1.4 0.29,0.01 0.58,0.02 0.87,0.03 -0.03,0.42 -0.06,0.84 -0.08,1.25 z m 0.84,6.19 c 0,0.27 -0.02,0.54 -0.01,0.81 0,0.14 0.01,0.29 0.01,0.43 l -0.99,0.01 c 0,-0.01 0,-0.01 0,-0.02 0.01,-0.11 0.02,-0.23 0.03,-0.34 0.02,-0.23 0.04,-0.45 0.07,-0.68 0.01,-0.08 -0.07,-0.14 -0.14,-0.14 -0.08,0 -0.14,0.07 -0.14,0.14 -0.02,0.22 -0.05,0.44 -0.07,0.67 -0.01,0.11 -0.03,0.22 -0.03,0.33 0,0.02 0,0.03 0,0.05 h -0.12 c 0,-0.17 -0.01,-0.34 -0.01,-0.51 0,-0.25 -0.01,-0.5 -0.01,-0.75 0.46,0 0.93,0 1.41,0 z m -1.26,1.57 c 0.03,0.09 0.17,0.12 0.2,0.01 0,0 0,0 0,0 l 1.06,0.01 c 0.01,0.43 0.02,0.86 0.04,1.29 -0.09,0 -0.18,0 -0.26,0 0,-0.27 0,-0.53 -0.01,-0.8 0,-0.18 -0.27,-0.18 -0.27,0 0,0.27 0,0.53 -0.01,0.8 -0.17,0 -0.35,0 -0.52,0.01 -0.19,0 -0.19,0.29 0,0.29 0.17,0 0.34,0 0.52,0 0,0.32 -0.01,0.64 -0.01,0.96 -0.21,0.01 -0.43,0.02 -0.64,0.03 -0.21,0.01 -0.22,0.34 0,0.34 0.21,-0.01 0.42,-0.01 0.64,-0.02 0,0.41 -0.01,0.81 -0.01,1.22 -0.21,0 -0.41,-0.01 -0.62,-0.01 -0.09,0 -0.14,0.06 -0.15,0.13 -0.02,-0.79 -0.03,-1.58 -0.04,-2.36 0.02,0.02 0.02,0.06 0.06,0.06 0.15,0 0.15,-0.23 0,-0.23 -0.04,0 -0.04,0.04 -0.06,0.06 -0.01,-0.6 -0.03,-1.19 -0.03,-1.79 z m -0.02,6.08 c 0.24,0.01 0.48,0.01 0.71,0.01 0,0.44 0,0.88 -0.01,1.31 -0.22,0.03 -0.45,0.06 -0.67,0.1 -0.01,-0.47 -0.02,-0.95 -0.03,-1.42 z m 1.1,0.02 c 0.15,0 0.29,0.01 0.44,0.01 V 301 c 0,0.07 0,0.14 0,0.2 0,0.03 0,0.07 0,0.1 0,0.06 0.02,0.1 0.05,0.15 0.04,0.09 0.2,0.09 0.24,0 0.02,-0.05 0.05,-0.09 0.05,-0.15 0,-0.03 0,-0.06 0,-0.09 0,-0.07 0,-0.14 0,-0.21 0,-0.04 0,-0.08 0,-0.12 0.21,0 0.41,0.01 0.62,0.01 v 0.06 c 0,0.21 0,0.43 0,0.64 0,0.13 0,0.26 0.01,0.4 -0.46,0.03 -0.93,0.07 -1.39,0.13 -0.01,-0.43 -0.01,-0.84 -0.02,-1.26 z m 1.72,1.49 c 0.44,-0.01 0.87,-0.02 1.31,-0.02 -0.01,0.16 -0.02,0.31 -0.02,0.47 0,0.12 -0.01,0.24 -0.01,0.36 0,0.02 0,0.04 0,0.06 -0.48,0.04 -0.96,0.07 -1.45,0.11 -0.04,-0.23 -0.1,-0.46 -0.13,-0.7 -0.48,0.14 -0.95,0.33 -1.41,0.53 0,-0.22 0,-0.44 0,-0.66 0.57,-0.06 1.14,-0.14 1.71,-0.15 z m -4.2,4.89 c -0.01,-0.14 -0.01,-0.28 -0.02,-0.42 0.08,-0.08 0.17,-0.15 0.26,-0.23 0.33,-0.03 0.65,-0.05 0.98,-0.07 -0.02,0.31 -0.03,0.63 -0.04,0.94 -0.39,0.02 -0.78,0.02 -1.16,0.05 C 588,307.42 588,307.33 588,307.24 Z m 4.32,0.48 c 0.28,-0.01 0.55,-0.02 0.83,-0.02 0,0.21 0,0.42 0.02,0.63 -0.28,0.02 -0.57,0.03 -0.85,0.05 0,-0.22 0,-0.44 0,-0.66 z m 6.87,-1.2 c 0,0 0.01,0 0,0 0.26,-0.02 0.33,-0.38 0.07,-0.45 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.01,-0.27 -0.01,-0.55 -0.02,-0.82 0.16,0.1 0.31,0.22 0.47,0.33 0,0.02 0,0.05 0,0.07 0,0.06 0.03,0.1 0.04,0.16 0.03,0.35 0.05,0.7 0.09,1.05 0.01,0.12 0.02,0.24 0.03,0.36 -0.18,0 -0.37,0 -0.55,0 -0.01,-0.23 -0.03,-0.46 -0.04,-0.69 z m 0.14,-3.23 c 0.1,0 0.19,-0.01 0.29,-0.01 0,0.05 0,0.1 0,0.15 -0.1,-0.06 -0.2,-0.1 -0.29,-0.14 z m -1.65,-21.67 c 0,0.3 -0.01,0.6 -0.01,0.9 -0.33,0.07 -0.65,0.16 -0.97,0.21 -0.1,0.02 -0.21,0.03 -0.32,0.04 -0.03,-0.58 -0.07,-1.17 -0.1,-1.75 0.46,0.01 0.92,0.01 1.34,-0.1 0.04,-0.01 0.06,-0.05 0.06,-0.09 0.01,0.27 0,0.53 0,0.79 z m -1.67,1.31 c -0.45,0.01 -0.91,0.02 -1.36,0.03 0.06,-0.65 0.11,-1.29 0.12,-1.94 0.27,0 0.54,-0.01 0.81,-0.01 0.12,0 0.25,0 0.37,0.01 0.01,0.63 0.03,1.27 0.06,1.91 z m -4.96,-1 c -0.16,0 -0.31,0 -0.47,0 -0.03,-0.29 -0.07,-0.58 -0.11,-0.86 0,-0.01 -0.01,-0.03 -0.01,-0.04 0.16,0 0.32,0 0.49,0 0.04,0.3 0.07,0.6 0.1,0.9 z m -1.71,-1.55 c -0.01,0.03 -0.02,0.06 -0.03,0.09 0.01,-0.03 0.01,-0.06 0.02,-0.09 0,0.01 0.01,0 0.01,0 z m -0.13,0.55 c 0,0.01 0,0.02 0.01,0.03 0,0.04 -0.01,0.08 -0.01,0.12 -0.02,0.28 -0.01,0.57 0.01,0.85 -0.04,0 -0.08,0 -0.12,0 -0.04,0 -0.07,0.02 -0.09,0.04 0.06,-0.34 0.13,-0.69 0.2,-1.04 z m -0.26,1.24 c 0.02,0.05 0.06,0.1 0.14,0.1 0.05,0 0.09,0 0.14,0 0.01,0.2 0.02,0.4 0.03,0.59 -0.15,-0.01 -0.29,-0.01 -0.44,-0.02 0.04,-0.22 0.09,-0.45 0.13,-0.67 z m -0.2,1 c 0.18,0.01 0.35,0.02 0.53,0.03 0,0.07 0.01,0.14 0.01,0.21 0.01,0.2 0,0.42 0.07,0.61 0.06,0.15 0.15,0.28 0.28,0.38 -0.09,0 -0.18,0.01 -0.27,0.01 -0.14,0.01 -0.14,0.21 0,0.21 0.19,0 0.38,0 0.57,-0.01 -0.01,0.26 -0.01,0.52 -0.03,0.78 -0.3,-0.01 -0.6,-0.01 -0.9,-0.02 -0.01,-0.2 -0.01,-0.41 -0.03,-0.61 -0.02,-0.29 -0.09,-0.88 -0.29,-1.32 0.02,-0.09 0.04,-0.18 0.06,-0.27 z m 0.68,19.95 c -0.01,-0.18 -0.01,-0.36 -0.01,-0.54 0.22,-0.03 0.44,-0.03 0.67,-0.06 0,0.27 0,0.54 0,0.82 -0.21,0.11 -0.41,0.22 -0.6,0.34 -0.03,-0.19 -0.05,-0.38 -0.06,-0.56 z m -1.82,4.07 c 0,0.02 0,0.04 0,0.05 0,0.09 0.01,0.18 0.01,0.28 0,0 0,0 0,0 -0.07,0 -0.11,0.05 -0.13,0.1 -0.04,-0.03 -0.08,-0.05 -0.13,-0.05 -0.04,0 -0.06,0.02 -0.08,0.04 0.11,-0.14 0.21,-0.29 0.33,-0.42 z m 1.58,1.71 c 0,0.03 0,0.07 0,0.1 -0.29,-0.02 -0.57,-0.04 -0.86,-0.06 0.29,-0.01 0.58,-0.03 0.86,-0.04 z m 0.43,0.13 c 0,-0.05 -0.01,-0.1 -0.01,-0.15 0.8,-0.04 1.6,-0.07 2.4,-0.11 0,0.1 -0.01,0.2 -0.01,0.31 -0.79,-0.01 -1.59,-0.01 -2.38,-0.05 z m 2.69,0.05 c 0,-0.11 0,-0.22 0,-0.33 0.3,-0.01 0.6,-0.03 0.89,-0.04 0,0 0.01,0 0.01,0 0,0.03 0.01,0.06 0.01,0.08 0.02,0.1 0.04,0.21 0.09,0.3 -0.33,0.01 -0.66,0 -1,-0.01 z m 1.28,-0.32 c 0,-0.02 -0.01,-0.04 -0.01,-0.06 0.51,-0.03 1.03,-0.05 1.54,-0.08 0.02,0.02 0.03,0.05 0.06,0.06 0.06,0.02 0.1,-0.01 0.14,-0.06 0,0 0,-0.01 0,-0.01 0.11,-0.01 0.23,-0.01 0.34,-0.02 0,0.05 -0.01,0.11 -0.01,0.16 -0.01,0.08 -0.02,0.17 -0.02,0.25 -0.67,0.03 -1.33,0.07 -2,0.08 0,-0.1 -0.02,-0.21 -0.04,-0.32 z m 2.37,-0.01 c 0,-0.06 0.01,-0.12 0.01,-0.18 0.02,0 0.04,0 0.06,0 0.39,-0.02 0.77,-0.04 1.16,-0.07 -0.01,0.14 -0.03,0.28 -0.04,0.42 -0.13,0.01 -0.25,0.03 -0.38,0.04 -0.27,0.02 -0.55,0.02 -0.82,0.03 0.01,-0.08 0.01,-0.16 0.01,-0.24 z m 1.49,-0.26 c 0.01,0 0.02,0 0.03,0 0.44,-0.03 0.93,-0.04 1.36,-0.14 0.03,-0.01 0.04,-0.05 0.05,-0.08 0.02,0.16 0.02,0.32 0.04,0.48 -0.5,0.05 -1,0.1 -1.5,0.14 0.01,-0.13 0.02,-0.26 0.02,-0.4 z m 1.89,0.23 c -0.01,0 -0.01,0 0,0 -0.03,-0.37 -0.05,-0.73 -0.08,-1.1 0.19,0 0.37,0 0.56,0 0.01,0.09 0.02,0.19 0.03,0.28 0.02,0.23 0.04,0.51 0.1,0.75 -0.2,0.03 -0.41,0.05 -0.61,0.07 z m 0.89,-0.86 c -0.01,-0.08 -0.02,-0.16 -0.03,-0.24 0.18,0 0.36,0 0.53,-0.08 0.09,-0.04 0.09,-0.18 0,-0.23 -0.18,-0.09 -0.37,-0.09 -0.57,-0.09 -0.01,-0.13 -0.03,-0.27 -0.04,-0.4 -0.01,-0.12 -0.03,-0.24 -0.04,-0.36 0.23,0.16 0.51,0.21 0.78,0.16 0.01,0.01 0.02,0.02 0.03,0.03 -0.01,0.12 -0.02,0.24 -0.03,0.36 -0.01,0.16 -0.07,0.38 -0.01,0.53 0.06,0.17 0.31,0.23 0.4,0.05 0.07,-0.14 0.07,-0.32 0.07,-0.49 0.2,0.24 0.39,0.49 0.56,0.75 -0.01,0.02 -0.03,0.04 -0.03,0.07 0,0.03 0.01,0.06 0.01,0.09 -0.31,0.01 -0.63,0.01 -0.94,0.02 -0.21,0 -0.21,0.32 0,0.32 0.32,0.01 0.65,0.01 0.97,0.02 0,0.01 0,0.02 0,0.03 -0.54,0.08 -1.09,0.17 -1.63,0.23 0.03,-0.27 -0.01,-0.54 -0.03,-0.77 z m 3.43,-0.74 c -0.54,-0.84 -1.21,-1.56 -1.94,-2.2 0.06,-1.71 -0.09,-3.46 -0.15,-5.16 -0.07,-1.96 -0.01,-3.92 -0.01,-5.88 0,-1.92 0,-3.84 0,-5.76 0,-1.44 0.12,-2.97 -0.02,-4.44 0.3,1.14 0.6,2.27 0.9,3.41 0.62,2.34 1.22,4.68 1.81,7.03 0.58,2.31 1.14,4.62 1.69,6.94 0.27,1.16 0.54,2.32 0.81,3.48 0.21,0.92 0.41,1.83 0.71,2.71 -1.27,0.32 -2.54,0.6 -3.83,0.84 0.19,-0.27 0.26,-0.61 0.03,-0.97 z m -2.61,-25.25 c -0.17,-0.1 -0.38,-0.1 -0.57,-0.03 -0.01,-0.18 -0.01,-0.36 -0.02,-0.55 -0.01,-0.29 -0.03,-0.59 -0.04,-0.89 0.16,0.03 0.31,0.05 0.47,0.08 -0.13,0.47 0.03,0.94 0.16,1.39 z m -2.4,0.53 c -0.19,0 -0.39,0.01 -0.58,0.04 0,-0.28 -0.01,-0.56 -0.01,-0.83 0,-0.5 -0.01,-1 -0.02,-1.5 0.23,0.02 0.46,0.05 0.68,0.07 -0.03,0.75 -0.05,1.48 -0.07,2.22 z m -0.96,-1.57 c 0,-0.04 -0.02,-0.08 -0.06,-0.09 -0.43,-0.11 -0.9,-0.11 -1.36,-0.09 -0.01,-0.21 -0.02,-0.42 -0.04,-0.63 0.49,0.01 0.98,0.04 1.48,0.08 -0.01,0.24 -0.01,0.49 -0.02,0.73 z m -1.78,-0.81 c 0,0.22 0.02,0.43 0.02,0.65 -0.1,0 -0.2,0.01 -0.3,0.01 -0.29,0 -0.57,-0.01 -0.86,-0.01 0,-0.22 0.01,-0.44 0.01,-0.65 0.04,0 0.08,-0.01 0.13,-0.01 0.33,-0.01 0.67,0 1,0.01 z m -1.5,0.63 c -0.29,0 -0.58,-0.01 -0.87,-0.01 -0.1,0 -0.2,0 -0.3,0 0,-0.19 -0.02,-0.38 -0.03,-0.57 0.41,-0.02 0.82,-0.05 1.23,-0.05 -0.01,0.21 -0.02,0.42 -0.03,0.63 z m -1.65,-0.01 c -0.45,0 -0.91,0 -1.36,0.01 -0.02,-0.16 -0.03,-0.32 -0.04,-0.48 0.1,-0.01 0.21,-0.03 0.31,-0.04 0.37,-0.03 0.74,-0.03 1.12,-0.05 -0.01,0.19 -0.03,0.37 -0.03,0.56 z m -1.89,-0.42 c 0.01,0.14 0.03,0.29 0.05,0.43 -0.18,0 -0.35,0 -0.53,0 0,-0.12 0.01,-0.25 0.01,-0.37 0.16,-0.02 0.32,-0.04 0.47,-0.06 z m -3.73,10.51 c 0.03,1.23 0.06,2.46 0.11,3.69 0.08,1.95 0.11,3.9 0.16,5.84 0.02,0.95 0.06,1.91 0.07,2.86 0,0.48 0,0.95 -0.01,1.43 0,0.25 0,0.48 0.02,0.7 -0.73,0.76 -1.33,1.65 -1.76,2.65 -0.25,0.6 0.51,1.08 0.89,0.52 0.17,-0.24 0.37,-0.46 0.56,-0.7 0,0.01 -0.02,0.03 -0.02,0.04 -0.05,0.36 -0.09,0.72 -0.14,1.08 -1.22,-0.11 -2.43,-0.25 -3.64,-0.43 0,-0.01 0,-0.02 0.01,-0.03 1.24,-5.88 2.5,-11.77 3.75,-17.65 z m -4.56,21.57 c 0.85,0.28 1.72,0.52 2.61,0.66 0.5,0.08 1.01,0.13 1.51,0.17 0.46,0.03 1.06,0.13 1.5,-0.05 0.16,-0.07 0.17,-0.27 0,-0.33 -0.45,-0.17 -1.03,-0.09 -1.5,-0.12 -0.5,-0.03 -1,-0.08 -1.49,-0.16 -0.86,-0.13 -1.71,-0.31 -2.55,-0.55 0.04,-0.2 0.08,-0.41 0.13,-0.61 0.34,0.07 0.67,0.13 1.01,0.19 0.24,0.04 0.47,0.08 0.71,0.11 0.13,0.02 0.26,0.03 0.4,0.04 0.13,0.01 0.24,0.02 0.36,-0.04 0.1,-0.05 0.11,-0.2 0.04,-0.27 -0.09,-0.09 -0.21,-0.11 -0.34,-0.14 -0.13,-0.03 -0.25,-0.06 -0.38,-0.08 -0.24,-0.04 -0.47,-0.07 -0.71,-0.1 -0.33,-0.05 -0.67,-0.08 -1,-0.12 0.03,-0.15 0.06,-0.3 0.09,-0.46 1.27,0.2 2.54,0.38 3.82,0.5 6.83,0.65 13.78,0.18 20.46,-1.38 0.69,-0.16 1.38,-0.34 2.07,-0.53 -0.22,-0.69 -0.43,-1.39 -0.63,-2.09 -0.17,0.05 -0.33,0.08 -0.5,0.12 -0.11,-0.9 -0.32,-1.77 -0.53,-2.66 -0.27,-1.16 -0.54,-2.32 -0.82,-3.47 -0.56,-2.35 -1.15,-4.7 -1.74,-7.04 -0.59,-2.31 -1.19,-4.61 -1.81,-6.9 -0.31,-1.15 -0.63,-2.29 -0.95,-3.44 -0.16,-0.57 -0.32,-1.15 -0.48,-1.72 -0.12,-0.43 -0.22,-0.89 -0.48,-1.25 0.05,0.01 0.11,0 0.16,0.01 0.19,0.68 0.38,1.35 0.57,2.03 2.34,8.37 4.76,16.71 7.12,25.08 0.14,0.5 0.28,1.01 0.42,1.51 -0.34,0.1 -0.69,0.2 -1.03,0.3 -0.73,0.21 -1.45,0.46 -2.18,0.68 -0.71,0.22 -1.42,0.44 -2.13,0.67 -0.34,0.11 -0.71,0.15 -1.05,0.25 -0.39,0.11 -0.77,0.23 -1.15,0.35 -0.23,0.07 -0.13,0.42 0.1,0.36 0.37,-0.1 0.74,-0.19 1.1,-0.3 0.35,-0.1 0.68,-0.25 1.03,-0.35 0.73,-0.21 1.48,-0.39 2.21,-0.58 0.72,-0.19 1.44,-0.37 2.15,-0.57 0.35,-0.1 0.69,-0.2 1.04,-0.3 0.02,0 0.03,-0.01 0.05,-0.01 0.06,0.2 0.11,0.41 0.17,0.61 -0.23,0.04 -0.44,0.16 -0.64,0.26 -0.28,0.14 -0.56,0.27 -0.84,0.39 -0.6,0.26 -1.21,0.49 -1.82,0.68 -0.61,0.19 -1.21,0.39 -1.85,0.47 -0.63,0.08 -1.26,0.17 -1.89,0.23 -0.25,0.02 -0.25,0.41 0,0.39 0.64,-0.04 1.27,-0.09 1.89,-0.24 0.65,-0.15 1.32,-0.25 1.97,-0.43 0.63,-0.17 1.25,-0.37 1.86,-0.61 0.29,-0.12 0.58,-0.24 0.86,-0.37 0.2,-0.09 0.41,-0.19 0.59,-0.33 0.15,0.53 0.29,1.05 0.44,1.58 0,-0.01 -0.01,-0.01 -0.01,-0.02 -4.36,1.22 -8.86,1.99 -13.36,2.3 -4.98,0.34 -9.99,0.13 -14.92,-0.62 0.11,-0.58 0.22,-1.14 0.34,-1.7 z m 28.75,2.91 c -0.66,0.39 -1.51,0.39 -2.26,0.46 -0.82,0.07 -1.63,0.12 -2.45,0.14 -0.21,0.01 -0.43,-0.01 -0.64,-0.01 0.88,-0.17 1.76,-0.36 2.64,-0.56 0.85,-0.2 1.69,-0.42 2.53,-0.65 0.07,0.21 0.12,0.41 0.18,0.62 z m -8.94,13.81 c -0.09,0 -0.16,0.07 -0.16,0.16 v 0.28 c 0,0.05 0,0.1 0,0.15 -0.07,0 -0.15,0 -0.22,0 0,-0.03 0.01,-0.06 0.01,-0.09 0.01,-0.19 0.02,-0.38 0.03,-0.56 0.02,-0.37 0.04,-0.74 0.06,-1.11 0.01,-0.19 -0.29,-0.19 -0.3,0 -0.02,0.36 -0.05,0.72 -0.07,1.08 -0.01,0.18 -0.02,0.36 -0.03,0.54 0,0.04 0,0.09 -0.01,0.14 -0.15,0 -0.3,0.01 -0.46,0.01 -0.19,0 -0.37,0 -0.56,0 0.01,-0.17 0.02,-0.35 0.02,-0.52 0.02,-0.46 0.04,-0.92 0.06,-1.38 0.01,-0.18 -0.28,-0.18 -0.29,0 l -0.07,1.38 c -0.01,0.14 -0.01,0.28 -0.02,0.42 -0.01,0.02 -0.02,0.04 -0.03,0.06 0,0.02 0,0.03 0,0.05 -0.24,0 -0.49,0 -0.73,0 -0.01,-0.23 -0.01,-0.47 -0.01,-0.7 -0.01,-0.49 -0.04,-0.99 -0.07,-1.48 -0.01,-0.12 -0.2,-0.12 -0.19,0 0.02,0.49 0.03,0.99 0.06,1.48 0.02,0.23 0.03,0.47 0.05,0.7 -0.29,0 -0.58,0 -0.87,0 0.18,-0.3 0.21,-0.71 0.24,-1.05 0.04,-0.34 0.06,-0.68 0.08,-1.02 0.03,-0.57 0.06,-1.13 0.06,-1.7 0.01,0 0.01,0 0.02,0 0.45,-0.03 0.9,-0.07 1.36,-0.1 0.81,-0.06 1.65,-0.1 2.47,-0.2 0.1,0.31 0.16,0.64 0.25,0.97 0.13,0.46 0.16,0.67 0.19,1.08 0.01,0.2 0.02,0.4 0.01,0.6 0,0.11 -0.01,0.21 -0.02,0.32 0,0.05 -0.01,0.1 -0.01,0.14 -0.01,0.09 -0.03,0.18 -0.05,0.26 -0.01,0.04 -0.03,0.07 -0.04,0.11 0,0.01 -0.01,0.02 -0.02,0.04 -0.07,0.17 -0.13,0.34 -0.19,0.51 -0.14,0 -0.28,0 -0.41,0.01 0,-0.05 0,-0.1 0,-0.14 v -0.28 c 0.02,-0.09 -0.05,-0.17 -0.14,-0.16 z m -7.63,0.63 c -0.41,0 -0.81,0 -1.22,0.01 -0.1,-0.11 -0.19,-0.23 -0.27,-0.36 0.06,-0.32 0.11,-0.63 0.19,-0.95 0.04,-0.17 0.09,-0.34 0.15,-0.5 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.02 0.02,-0.05 0.03,-0.07 0.04,-0.09 0.09,-0.17 0.14,-0.26 0.04,-0.06 0.08,-0.12 0.12,-0.18 0.02,-0.03 0.03,-0.05 0.05,-0.07 0,0 0,0 0,-0.01 0.07,-0.09 0.15,-0.16 0.23,-0.24 0.01,0 0.02,-0.01 0.03,-0.01 0.17,-0.06 0.36,-0.09 0.52,-0.15 0.12,-0.05 0.27,-0.12 0.41,-0.18 0.03,-0.01 0.05,-0.03 0.08,-0.05 0.02,0 0.04,0.01 0.04,0 0.06,0.01 0.12,0.02 0.18,0.04 0.02,0.01 0.12,0.04 0.14,0.04 0.01,0.01 0.02,0.01 0.03,0.01 0.04,0.02 0.08,0.04 0.12,0.06 0.06,0.03 0.12,0.07 0.17,0.11 0,0 0.02,0.01 0.03,0.02 0.02,0.02 0.05,0.04 0.06,0.05 0.05,0.04 0.1,0.09 0.15,0.14 0.02,0.02 0.07,0.08 0.09,0.1 0.02,0.03 0.07,0.1 0.08,0.12 0.03,0.05 0.06,0.11 0.09,0.17 0,0 0.04,0.08 0.05,0.11 0.03,0.08 0.05,0.16 0.06,0.24 0.01,0.02 0.01,0.05 0.01,0.07 0,0 0,0 0,0.01 0,0.08 0.01,0.17 0.01,0.25 0,0.06 -0.01,0.11 -0.01,0.17 0,0.01 -0.01,0.1 -0.02,0.13 -0.02,0.07 -0.03,0.14 -0.05,0.21 -0.01,0.03 -0.02,0.07 -0.03,0.1 0,0.01 -0.02,0.05 -0.03,0.08 -0.01,0.02 -0.02,0.04 -0.02,0.04 -0.02,0.04 -0.04,0.09 -0.07,0.13 -0.03,0.06 -0.07,0.13 -0.11,0.19 -0.04,0.06 -0.08,0.12 -0.12,0.18 0.07,-0.1 -0.06,0.07 -0.09,0.1 -0.04,0.05 -0.09,0.09 -0.14,0.14 -0.34,0.03 -0.72,0.03 -1.09,0.03 z m -4.78,-1.8 c -0.03,0.44 -0.06,0.88 -0.09,1.31 -0.01,0.17 -0.02,0.34 -0.03,0.51 -0.28,0 -0.56,0 -0.84,0 0.07,-0.42 0.07,-0.84 0.07,-1.27 0,-0.45 0,-0.9 0,-1.36 0,-0.17 -0.27,-0.17 -0.27,0 0,0.45 0,0.9 0,1.36 0,0.43 0,0.85 0.07,1.27 -0.21,0 -0.41,0 -0.62,0 -0.33,0 -0.66,0.01 -0.99,0.01 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.06,-0.27 -0.11,-0.54 -0.14,-0.82 -0.06,-0.55 -0.06,-1.1 -0.01,-1.65 0.02,-0.18 -0.27,-0.18 -0.29,0 -0.07,0.58 -0.07,1.16 0,1.74 0.03,0.26 0.07,0.51 0.13,0.77 -0.29,0 -0.59,0.01 -0.88,0.01 0.03,-0.19 0,-0.38 -0.04,-0.58 -0.02,-0.09 -0.04,-0.18 -0.05,-0.27 -0.01,-0.03 -0.01,-0.06 -0.02,-0.1 0,-0.01 0,-0.03 -0.01,-0.06 -0.04,-0.35 -0.06,-0.71 -0.07,-1.06 0,-0.58 0.1,-1.16 0.07,-1.74 0.86,0.11 1.74,0.11 2.61,0.13 0.46,0.01 0.92,0.02 1.39,0.03 0.33,0.01 0.66,-0.02 0.95,-0.14 -0.01,0.5 -0.02,0.99 -0.03,1.49 -0.02,0.02 -0.05,0.02 -0.05,0.05 0,0.36 -0.01,0.72 -0.01,1.08 0,0.18 0,0.36 -0.01,0.54 0,0.17 0,0.33 0.02,0.49 0,0.01 0,0.01 0,0.02 -0.01,0.03 0,0.05 -0.01,0.08 -0.21,0 -0.41,0 -0.62,0 0.01,-0.17 0.02,-0.34 0.02,-0.51 0.01,-0.44 0.03,-0.88 0.04,-1.31 0.02,-0.18 -0.27,-0.18 -0.28,0.01 z m -10.5,-0.21 c 0.02,0 0.03,0 0.05,0 0.11,0 0.23,0 0.34,0 0.12,0 0.24,0 0.35,-0.04 0.15,-0.05 0.15,-0.25 0,-0.3 -0.12,-0.04 -0.23,-0.04 -0.35,-0.04 -0.1,0 -0.21,0 -0.31,0 0.05,-0.27 0.11,-0.54 0.16,-0.82 0.22,0 0.45,0.01 0.67,0.01 0.2,0 0.41,0 0.61,0 0.11,0 0.22,0 0.33,-0.01 0.03,0 0.06,-0.01 0.1,-0.01 -0.02,0.29 -0.03,0.58 -0.05,0.87 -0.03,0.61 -0.1,1.23 -0.15,1.84 0,-0.04 -0.02,-0.09 -0.08,-0.1 -0.19,-0.05 -0.37,-0.03 -0.57,-0.02 -0.19,0.01 -0.38,0.02 -0.58,0.03 l -0.81,0.05 c 0.1,-0.49 0.19,-0.98 0.29,-1.46 z m 2.03,-7.44 c -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.09,-0.03 -0.14,-0.04 -0.04,0 -0.08,0 -0.13,-0.01 -0.08,0 -0.17,0.01 -0.25,0.01 0.09,-0.47 0.19,-0.93 0.29,-1.4 0.22,-0.01 0.45,-0.03 0.67,-0.04 -0.09,0.55 -0.1,1.13 -0.12,1.66 -0.01,-0.03 -0.01,-0.06 -0.03,-0.08 -0.05,-0.04 -0.09,-0.07 -0.15,-0.08 -0.01,0 -0.12,-0.02 -0.12,-0.02 -0.01,0 0,0 0.01,0.01 z m 17.12,-2.9 c 0.01,0.19 0.03,0.38 0.05,0.58 0.01,0.09 0.02,0.18 0.03,0.27 0,0.02 0.01,0.04 0.01,0.07 -0.42,-0.51 -0.93,-0.93 -1.54,-1.23 0.48,0 0.95,-0.01 1.43,-0.01 0,0.09 0.01,0.21 0.02,0.32 z m -0.89,9.45 c -0.15,-0.28 -0.33,-0.53 -0.56,-0.76 0.16,-0.09 0.31,-0.19 0.46,-0.29 0.07,0.04 0.13,0.09 0.21,0.11 -0.05,0.31 -0.08,0.63 -0.11,0.94 z m 0.44,-4.94 c -0.22,1.5 -1.39,2.92 -2.95,3.13 -1.5,0.19 -3.13,-0.68 -3.72,-2.1 -0.31,-0.74 -0.31,-1.55 -0.09,-2.3 0.27,-0.25 0.55,-0.49 0.82,-0.74 0.35,-0.33 0.67,-0.69 1.07,-0.97 0.67,-0.48 1.48,-0.84 2.32,-0.69 1.69,0.27 2.8,2.04 2.55,3.67 z m -7.51,-4.79 c 0.85,0.03 1.69,0.04 2.54,0.03 -0.04,0.02 -0.08,0.03 -0.12,0.05 -0.55,0.3 -1.04,0.71 -1.48,1.14 -0.03,-0.01 -0.06,-0.03 -0.09,-0.04 -0.26,-0.09 -0.54,-0.07 -0.81,-0.08 -0.06,0 -0.12,0 -0.18,0 0.41,-0.18 0.66,-0.85 0.14,-1.1 z m -7.34,4.73 c 0.03,0.09 0.11,0.16 0.22,0.13 0.1,-0.02 0.2,-0.05 0.3,-0.07 -0.01,0.16 -0.01,0.32 -0.02,0.47 -0.18,0.08 -0.36,0.17 -0.53,0.27 0.01,-0.26 0.02,-0.53 0.03,-0.8 z m 1.28,-1.35 c 0.03,0 0.06,0 0.09,-0.01 0,0.09 0,0.19 -0.01,0.28 0,0.17 -0.01,0.34 -0.01,0.51 -0.04,0.01 -0.07,0.02 -0.11,0.03 -0.08,0.02 -0.16,0.04 -0.24,0.06 0.01,-0.29 0.02,-0.58 0.04,-0.87 0.08,0.01 0.16,0.01 0.24,0 z m -0.22,5 c -0.07,0.02 -0.13,0.05 -0.2,0.07 0.01,-0.27 0.02,-0.55 0.03,-0.82 0.03,-0.01 0.06,-0.02 0.08,-0.02 0.09,-0.03 0.19,-0.06 0.28,-0.08 -0.01,0.28 -0.02,0.55 -0.03,0.83 -0.05,0 -0.1,0 -0.16,0.02 z m -0.62,-1.53 c -0.01,0.15 -0.01,0.31 -0.02,0.46 -0.18,0.06 -0.36,0.12 -0.54,0.18 l 0.02,-0.48 c 0.18,-0.08 0.36,-0.12 0.54,-0.16 z m 0.83,0.18 c -0.12,0.04 -0.24,0.08 -0.36,0.12 0,-0.14 0.01,-0.28 0.01,-0.43 0.12,-0.02 0.24,-0.02 0.36,-0.03 0,0.11 -0.01,0.22 -0.01,0.34 z m 0.03,-0.98 c 0,0.05 0,0.1 0,0.15 -0.12,0.01 -0.24,0.02 -0.36,0.04 0.01,-0.21 0.01,-0.43 0.02,-0.64 0.06,-0.02 0.11,-0.04 0.17,-0.05 0.06,-0.01 0.13,-0.02 0.19,-0.03 -0.01,0.17 -0.01,0.35 -0.02,0.53 z m -1.44,1.88 c 0.18,-0.05 0.36,-0.11 0.55,-0.16 -0.01,0.28 -0.02,0.56 -0.03,0.84 -0.2,0.08 -0.38,0.18 -0.57,0.29 z m 1.91,-3.43 c 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.1,-0.02 0.19,-0.05 0.29,-0.07 0,0.2 0,0.4 0,0.59 -0.12,-0.08 -0.28,-0.08 -0.42,-0.06 -0.01,-0.15 0,-0.29 0,-0.43 z m 0.42,-0.54 c -0.04,0.01 -0.08,0.01 -0.12,0.02 -0.1,0.02 -0.19,0.05 -0.29,0.07 0,0 -0.01,0 -0.01,0 0,-0.11 0,-0.22 0.01,-0.33 0,-0.12 0,-0.25 0.01,-0.37 0.07,-0.01 0.13,-0.01 0.2,-0.02 0.09,-0.01 0.17,-0.02 0.24,-0.06 -0.02,0.22 -0.03,0.45 -0.04,0.69 z m -0.85,0.63 c 0,0.14 -0.01,0.28 -0.01,0.41 -0.11,0.02 -0.22,0.04 -0.33,0.07 -0.01,0 -0.01,0.01 -0.02,0.01 0,-0.14 0.01,-0.27 0.01,-0.41 0.11,-0.02 0.23,-0.05 0.35,-0.08 z m -1.39,1.4 c 0.03,0 0.05,0.01 0.09,-0.01 0.15,-0.09 0.3,-0.16 0.45,-0.22 -0.01,0.19 -0.01,0.38 -0.02,0.57 -0.18,0.04 -0.36,0.09 -0.53,0.16 -0.01,-0.17 0,-0.33 0.01,-0.5 z m -0.16,3.29 c 0.07,0.06 0.15,0.09 0.24,0.03 0.1,-0.06 0.21,-0.11 0.32,-0.16 -0.01,0.23 -0.02,0.47 -0.02,0.7 -0.2,0.06 -0.39,0.13 -0.58,0.21 z m 1.05,-0.32 c 0.12,-0.04 0.23,-0.08 0.35,-0.11 0.01,0 0.03,0 0.04,-0.01 0,0.29 0.01,0.58 0.02,0.87 -0.14,0.01 -0.29,0.01 -0.43,0.03 0,-0.26 0.01,-0.52 0.02,-0.78 z m 1.09,-0.83 c -0.06,0.03 -0.11,0.08 -0.16,0.14 0,0 0,0 0,0 -0.02,0 -0.03,0.01 -0.04,0.01 0.01,-0.3 0.01,-0.6 0.01,-0.9 0.03,-0.01 0.06,-0.02 0.09,-0.03 0.13,-0.04 0.21,-0.08 0.26,-0.21 0.03,-0.08 -0.02,-0.17 -0.09,-0.21 -0.08,-0.06 -0.17,-0.04 -0.26,-0.02 0,-0.08 0,-0.17 0,-0.25 0.1,-0.01 0.2,-0.02 0.28,-0.09 0.07,-0.06 0.06,-0.17 0,-0.23 -0.07,-0.08 -0.18,-0.09 -0.28,-0.11 0,-0.06 0,-0.11 0,-0.17 0,-0.2 0.01,-0.4 0.01,-0.59 0.15,-0.01 0.3,-0.04 0.42,-0.12 -0.01,0.36 -0.01,0.72 -0.02,1.08 -0.01,0.37 -0.08,0.86 0.01,1.26 -0.13,0.09 -0.21,0.26 -0.23,0.44 z m 0.33,-5.16 c -0.01,0 0,0 0,0 -0.14,-0.08 -0.31,-0.05 -0.46,-0.04 0,-0.18 0,-0.36 0,-0.55 0.1,0 0.19,0 0.28,0 0.11,0 0.21,0.02 0.3,-0.04 -0.05,0.21 -0.1,0.42 -0.12,0.63 z m -0.88,0 c -0.03,0 -0.07,0.01 -0.1,0.01 -0.07,0.01 -0.15,0.01 -0.22,0.02 0.01,-0.19 0,-0.38 0,-0.57 0.03,0 0.07,-0.02 0.1,-0.02 0.08,-0.01 0.16,0 0.24,-0.01 -0.01,0.19 -0.02,0.38 -0.02,0.57 z m -0.81,0.06 c -0.09,0.01 -0.17,0.01 -0.26,0.02 -0.1,0.01 -0.19,0.08 -0.19,0.19 0,0.1 0.09,0.2 0.19,0.19 0.08,-0.01 0.16,-0.01 0.25,-0.02 -0.01,0.32 -0.02,0.65 -0.03,0.97 -0.14,0.04 -0.27,0.07 -0.41,0.11 -0.07,0.02 -0.1,0.06 -0.12,0.11 0.01,-0.34 0.03,-0.68 0.04,-1.02 0.01,-0.31 0.04,-0.65 0.06,-0.99 0.17,-0.04 0.34,-0.06 0.5,-0.1 -0.01,0.19 -0.03,0.37 -0.03,0.54 z m -0.84,7.58 c 0.19,-0.1 0.38,-0.18 0.58,-0.24 -0.01,0.36 -0.03,0.71 -0.04,1.07 -0.2,0.08 -0.39,0.17 -0.57,0.28 0.01,-0.37 0.02,-0.74 0.03,-1.11 z m 1.06,-0.26 c 0,-0.03 0,-0.06 0,-0.09 0.02,0 0.04,-0.01 0.05,-0.01 0.12,-0.02 0.23,-0.01 0.35,-0.02 -0.01,0.14 -0.04,0.29 -0.05,0.43 -0.01,0.18 0,0.36 0,0.54 -0.13,0.02 -0.27,0.03 -0.4,0.06 0.03,-0.31 0.04,-0.61 0.05,-0.91 z m 2.84,-3.93 c 0,-0.44 0,-0.88 -0.01,-1.32 -0.01,-0.79 0.04,-1.61 -0.1,-2.39 0.8,0.04 1.61,0.03 2.42,0.04 0.39,0 0.77,0 1.16,0 -0.07,0.12 -0.15,0.24 -0.23,0.35 0,0 0,0 0,0 -0.07,0.04 -0.11,0.11 -0.09,0.19 0,0.01 0.01,0.01 0.01,0.01 -0.01,0.06 -0.01,0.12 0,0.18 -0.01,0.04 -0.02,0.08 -0.03,0.12 -0.18,0.03 -0.36,0.06 -0.54,0.08 -0.35,0.05 -0.71,0.1 -1.06,0.15 -0.21,0.03 -0.16,0.4 0.05,0.38 0.35,-0.04 0.71,-0.09 1.06,-0.13 0.13,-0.02 0.26,-0.03 0.39,-0.04 -0.1,0.45 -0.15,0.9 -0.1,1.35 0.03,0.23 0.08,0.44 0.14,0.65 -0.17,0.01 -0.34,0.02 -0.51,0.03 -0.41,0.03 -0.83,0.05 -1.24,0.08 -0.22,0.01 -0.22,0.35 0,0.34 0.42,-0.02 0.84,-0.04 1.27,-0.06 0.2,-0.01 0.4,-0.02 0.6,-0.03 0.09,0.25 0.2,0.48 0.33,0.7 -0.14,-0.01 -0.29,-0.02 -0.43,-0.04 -0.22,-0.03 -0.45,-0.03 -0.67,-0.04 -0.45,-0.02 -0.9,-0.04 -1.36,-0.06 -0.22,-0.01 -0.22,0.33 0,0.34 0.45,0.02 0.9,0.04 1.36,0.07 0.23,0.01 0.45,0.03 0.68,0.02 0.2,-0.01 0.4,0.01 0.61,-0.01 0.04,0.06 0.08,0.13 0.13,0.19 -0.26,-0.08 -0.55,-0.1 -0.83,-0.09 -0.46,0 -0.92,0.01 -1.39,0.01 -0.54,0 -1.08,0 -1.61,0.02 0.01,-0.12 0.01,-0.24 0.01,-0.37 -0.01,-0.25 -0.01,-0.49 -0.02,-0.72 z m 4.98,4.5 c -0.02,-0.78 -0.06,-1.56 -0.09,-2.34 0.33,0.24 0.68,0.45 1.06,0.61 -0.24,0.27 -0.44,0.57 -0.59,0.9 -0.18,0.25 -0.29,0.53 -0.38,0.83 z m -6.28,-9 c 0,0.03 0.02,0.06 0.02,0.1 -0.08,-0.04 -0.16,-0.06 -0.25,-0.08 -0.11,-0.02 -0.22,-0.04 -0.33,-0.04 0,0 0,0 -0.01,0 -0.01,-0.14 -0.01,-0.28 -0.03,-0.42 0.16,-0.01 0.33,-0.03 0.49,-0.04 0.1,0 0.19,-0.01 0.29,-0.01 -0.11,0.13 -0.19,0.29 -0.18,0.49 z m -0.88,-0.02 c -0.11,0 -0.23,0 -0.34,0.01 -0.02,0 -0.04,0.01 -0.06,0.01 0,-0.13 0.01,-0.26 0,-0.39 0.15,-0.01 0.29,-0.02 0.44,-0.03 -0.02,0.13 -0.03,0.27 -0.04,0.4 z m -0.81,0.09 c -0.18,0.04 -0.35,0.09 -0.52,0.15 0,-0.18 -0.02,-0.36 -0.03,-0.54 0.19,-0.02 0.39,-0.03 0.58,-0.04 -0.02,0.14 -0.02,0.29 -0.03,0.43 z m -0.96,10.31 c 0.18,-0.13 0.38,-0.25 0.58,-0.34 0,0.18 -0.01,0.36 -0.01,0.54 0,0.07 0,0.13 0,0.19 -0.2,0 -0.39,0.01 -0.59,0.02 0,-0.14 0.01,-0.27 0.02,-0.41 z m 1.02,0.39 c 0,-0.04 0,-0.09 0.01,-0.13 0.01,-0.24 0.02,-0.48 0.03,-0.72 0,-0.02 0,-0.03 0,-0.05 0.05,-0.01 0.09,-0.04 0.13,-0.05 0.09,-0.02 0.19,-0.02 0.29,-0.03 0,0.02 0,0.03 0,0.05 0.01,0.18 0.02,0.36 0.04,0.55 0.01,0.14 0.04,0.27 0.07,0.39 -0.19,-0.01 -0.37,-0.01 -0.57,-0.01 z m 13.72,-0.08 c 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0,0 z m 8.03,-0.1 c -0.03,0.01 -0.05,0.03 -0.08,0.04 -0.06,0 -0.12,0 -0.18,0 -0.01,-0.16 -0.02,-0.32 -0.02,-0.48 0,0 0,0 0,0 0.06,-0.03 0.12,-0.09 0.11,-0.17 0,-0.02 0,-0.04 -0.01,-0.05 -0.02,-0.06 -0.06,-0.09 -0.11,-0.12 -0.01,-0.34 -0.01,-0.68 -0.02,-1.02 0.11,-0.02 0.23,-0.04 0.34,-0.05 0.01,0 0.03,0 0.04,0 -0.01,0.46 -0.01,0.91 -0.05,1.37 -0.01,0.17 -0.02,0.32 -0.02,0.48 z m -1.55,-6.91 c 0,0.16 0.01,0.32 0.01,0.48 -0.06,0.01 -0.12,0.01 -0.17,0.02 -0.04,0.01 -0.06,0.04 -0.08,0.07 0.02,-0.17 0.05,-0.34 0.06,-0.5 0,-0.01 0,-0.03 0,-0.04 0.06,-0.01 0.12,-0.02 0.18,-0.03 z m 1.62,3.21 c -0.09,0.02 -0.17,0.03 -0.26,0.05 -0.05,0.01 -0.11,0.03 -0.16,0.04 -0.01,-0.29 -0.01,-0.58 -0.02,-0.87 0.09,-0.01 0.18,-0.01 0.27,-0.02 0.05,-0.01 0.1,-0.02 0.16,-0.02 0.01,0.28 0.01,0.55 0.01,0.82 z m -0.76,2.94 c -0.03,0.01 -0.06,0.01 -0.1,0.02 -0.02,0 -0.05,0.01 -0.07,0.01 0.02,-0.3 0.01,-0.6 -0.01,-0.9 0.05,-0.02 0.1,-0.04 0.15,-0.05 0.01,0.31 0.02,0.62 0.03,0.92 z m -0.46,-4.15 c -0.01,-0.39 -0.01,-0.77 -0.02,-1.16 0.11,-0.02 0.22,-0.04 0.33,-0.05 0.01,0.26 0.01,0.51 0.02,0.77 0,0.15 0.01,0.29 0.01,0.44 l -0.34,0.02 c 0,0 0,-0.01 0,-0.02 z m 0.35,0.47 c 0.01,0.32 0.02,0.63 0.03,0.95 -0.12,0.03 -0.25,0.07 -0.37,0.1 0.01,-0.35 0.02,-0.69 0.01,-1.03 0.1,-0.01 0.22,-0.01 0.33,-0.02 z m -0.34,1.53 c 0.13,-0.03 0.25,-0.07 0.38,-0.1 0.01,0.28 0.02,0.57 0.02,0.85 -0.06,0.02 -0.12,0.05 -0.19,0.07 -0.03,-0.28 -0.13,-0.55 -0.21,-0.82 z m 0.29,-3.61 c -0.11,0 -0.22,0.03 -0.33,0.05 0,-0.16 -0.01,-0.32 -0.01,-0.49 0.07,-0.01 0.14,-0.02 0.21,-0.03 0.04,-0.01 0.08,-0.01 0.12,-0.02 0,0.16 0,0.32 0.01,0.49 z m -1.12,1.15 c 0.09,-0.21 0.1,-0.44 0.14,-0.66 0,-0.02 0.01,-0.05 0.01,-0.07 0.04,0.08 0.11,0.13 0.22,0.1 0.02,-0.01 0.05,0 0.07,-0.01 0.01,0.37 0.01,0.74 0.02,1.1 0,0.02 0,0.03 0,0.05 l -0.39,0.02 c 0,-0.02 0.01,-0.04 0,-0.06 -0.02,-0.13 -0.07,-0.24 -0.14,-0.34 0.02,-0.05 0.05,-0.08 0.07,-0.13 z m 0.46,0.97 c 0,0.18 0,0.36 0.01,0.55 -0.04,-0.06 -0.06,-0.14 -0.1,-0.2 -0.09,-0.12 -0.19,-0.22 -0.28,-0.33 0.12,-0.01 0.24,-0.02 0.37,-0.02 z m 0.62,4.38 c 0.01,-0.11 0.01,-0.21 0.02,-0.32 0.06,-0.01 0.12,-0.02 0.19,-0.03 h 0.01 c 0,0.13 0,0.27 0,0.4 -0.07,0 -0.15,0 -0.22,0 -0.01,-0.01 -0.01,-0.03 0,-0.05 z m 0.57,-2.26 c -0.01,-0.28 -0.01,-0.56 -0.02,-0.84 0.09,-0.02 0.18,-0.04 0.27,-0.07 0.05,-0.01 0.09,-0.03 0.14,-0.05 0,0.3 0.01,0.6 0.01,0.89 -0.03,0 -0.06,0 -0.09,0.01 -0.1,0.01 -0.2,0.04 -0.31,0.06 z m 0.38,-2.91 c 0,0.09 0,0.17 0,0.26 -0.07,0 -0.14,-0.01 -0.21,-0.01 -0.07,0 -0.15,0.01 -0.22,0.01 0,-0.14 -0.01,-0.28 -0.01,-0.41 -0.01,-0.26 -0.01,-0.51 -0.02,-0.77 0.05,0 0.1,0 0.15,0.01 0.03,0.01 0.07,0.01 0.1,0.02 0.06,0.01 0.1,0 0.15,-0.01 0,0 0,0 0.01,0 0.01,0.3 0.04,0.6 0.05,0.9 z m -0.24,-1.31 c -0.08,-0.01 -0.16,-0.01 -0.23,-0.02 0,-0.19 -0.01,-0.38 -0.01,-0.56 0.12,-0.02 0.24,-0.04 0.33,-0.12 0.03,-0.03 0.04,-0.08 0.04,-0.12 0.02,0.29 0.03,0.59 0.05,0.88 -0.06,-0.02 -0.12,-0.05 -0.18,-0.06 z m 0.07,-1.75 c 0.02,0.3 0.03,0.61 0.05,0.92 -0.01,-0.05 -0.03,-0.09 -0.07,-0.11 -0.1,-0.04 -0.2,-0.04 -0.31,-0.02 -0.01,-0.4 -0.02,-0.81 -0.03,-1.21 0.11,0 0.21,0 0.32,0.01 0.02,0.14 0.03,0.28 0.04,0.41 z m -0.76,0.86 c -0.06,0.01 -0.13,0.02 -0.19,0.03 -0.04,0.01 -0.09,0.01 -0.13,0.02 -0.01,-0.4 -0.02,-0.81 -0.03,-1.21 0.11,-0.03 0.21,-0.08 0.32,-0.1 0,0.42 0.02,0.84 0.03,1.26 z m -0.69,0.11 c -0.05,0.01 -0.1,0.02 -0.16,0.03 0.02,-0.33 0.04,-0.66 0.03,-1 0,-0.05 -0.01,-0.11 -0.01,-0.16 0.04,-0.02 0.08,-0.02 0.12,-0.04 0.01,0.39 0.01,0.78 0.02,1.17 z m 1.37,-1.88 c -0.1,-0.01 -0.19,-0.03 -0.29,-0.03 -0.01,-0.21 -0.02,-0.41 -0.03,-0.62 0.08,0.01 0.17,0.03 0.26,0.03 0.02,0.21 0.03,0.42 0.06,0.62 z m -0.72,0.02 c -0.03,0.01 -0.07,0.01 -0.11,0.01 -0.08,0.01 -0.15,0.04 -0.23,0.06 -0.01,-0.28 -0.01,-0.56 -0.02,-0.84 0.08,0.01 0.17,0.02 0.25,0.03 0.03,0 0.06,0.01 0.1,0.01 0.01,0.25 0.01,0.49 0.01,0.73 z m -0.67,0.16 c -0.05,0.02 -0.1,0.04 -0.15,0.06 -0.02,-0.25 -0.02,-0.5 -0.06,-0.75 -0.01,-0.1 -0.03,-0.21 -0.06,-0.33 0.08,0.01 0.17,0.02 0.25,0.03 0.01,0.34 0.01,0.66 0.02,0.99 z m 1.25,-2.41 c -0.01,0.4 0.02,0.81 0.05,1.21 -0.06,-0.01 -0.12,-0.02 -0.17,-0.02 -0.03,0 -0.05,-0.01 -0.08,-0.01 -0.02,-0.39 -0.03,-0.78 -0.05,-1.17 0.08,0 0.17,-0.01 0.25,-0.01 z m -0.59,1.13 c 0,0 0,0 0,0 -0.12,-0.02 -0.24,-0.03 -0.35,-0.05 -0.01,-0.35 -0.02,-0.71 -0.03,-1.06 0.01,0 0.01,0 0.02,0 0.12,-0.01 0.24,0 0.35,-0.01 0.01,0.38 0.01,0.75 0.01,1.12 z m -0.69,-1.06 c 0,0.32 0.01,0.64 0.01,0.97 -0.09,-0.01 -0.18,-0.03 -0.27,-0.04 -0.01,0 -0.02,0 -0.03,0 0.17,-0.15 0.29,-0.36 0.28,-0.6 0,-0.1 -0.04,-0.21 -0.08,-0.32 0.03,0 0.06,-0.01 0.09,-0.01 z m -1.94,1.26 c 0.04,0 0.08,0 0.12,0 0,0.18 0,0.35 0.01,0.51 0.03,0.44 0.06,0.87 0.05,1.31 0,0.44 -0.03,0.87 -0.08,1.31 -0.03,0.25 -0.04,0.35 -0.07,0.54 -0.04,0.26 -0.11,0.53 -0.11,0.8 0,0.02 0.01,0.04 0.01,0.06 -0.18,0.02 -0.37,0.04 -0.55,0.06 -0.45,0.04 -0.9,0.09 -1.36,0.13 -0.43,0.04 -0.86,0.08 -1.29,0.13 0.01,-0.01 0.02,-0.03 0.02,-0.04 l 1,-0.12 0.53,-0.06 c 0.17,-0.02 0.45,-0.02 0.54,-0.19 0.04,-0.07 0.03,-0.16 -0.03,-0.21 -0.14,-0.14 -0.4,-0.07 -0.57,-0.04 -0.17,0.03 -0.35,0.06 -0.52,0.08 -0.23,0.04 -0.46,0.07 -0.7,0.11 0.11,-0.21 0.21,-0.42 0.29,-0.65 0.21,-0.02 0.41,-0.03 0.62,-0.05 0.14,-0.01 0.27,-0.02 0.41,-0.04 0.14,-0.02 0.3,-0.02 0.43,-0.08 0.1,-0.05 0.07,-0.21 -0.03,-0.24 -0.13,-0.04 -0.28,-0.01 -0.41,-0.01 -0.14,0.01 -0.27,0.02 -0.41,0.03 -0.16,0.01 -0.32,0.03 -0.47,0.04 0.01,-0.02 0.02,-0.04 0.03,-0.07 0.09,-0.31 0.14,-0.63 0.17,-0.95 0.31,-0.03 0.62,-0.06 0.93,-0.09 0.19,-0.02 0.38,-0.04 0.58,-0.07 0.18,-0.02 0.43,-0.02 0.57,-0.16 0.05,-0.05 0.04,-0.14 -0.02,-0.18 -0.17,-0.1 -0.41,-0.04 -0.59,-0.02 -0.19,0.02 -0.39,0.04 -0.58,0.07 l -0.88,0.12 c 0.01,-0.38 -0.02,-0.75 -0.1,-1.12 0.1,-0.01 0.21,-0.01 0.31,-0.02 0.17,-0.01 0.34,-0.02 0.51,-0.03 0.08,-0.01 0.16,-0.01 0.23,-0.02 0.1,-0.01 0.18,-0.05 0.27,-0.08 0.15,-0.04 0.1,-0.24 -0.03,-0.26 -0.09,-0.01 -0.17,-0.04 -0.25,-0.04 -0.08,0 -0.17,0.01 -0.25,0.01 -0.16,0.01 -0.33,0.02 -0.49,0.04 -0.13,0.01 -0.25,0.02 -0.38,0.03 -0.05,-0.17 -0.11,-0.34 -0.18,-0.51 0.51,0.01 1.01,0 1.53,-0.02 0.39,0.02 0.79,0.01 1.19,-0.01 z m -20.45,-3.3 c 1.47,0.24 2.95,0.44 4.44,0.58 0.15,0.01 0.3,0.02 0.45,0.03 -0.37,0.02 -0.74,0.02 -1.11,0.06 -1.32,0.12 -2.7,0.24 -4.02,0.51 0.08,-0.39 0.16,-0.78 0.24,-1.18 z m -1.15,5.6 h 0.16 c 0,0 0,0.01 0.01,0.01 0.12,0.02 0.23,0.05 0.35,0.07 0.06,0.01 0.11,0.02 0.17,0.03 0.03,0.01 0.06,0.01 0.09,0.02 0.03,0.01 0.06,0.01 0.1,0 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.04,-0.02 0.06,-0.06 0.06,-0.1 0.01,-0.05 -0.01,-0.08 -0.04,-0.11 -0.03,-0.04 -0.07,-0.06 -0.12,-0.07 -0.03,-0.01 -0.05,-0.01 -0.08,-0.02 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.01,-0.02 -0.01,-0.04 -0.03,-0.06 -0.06,-0.04 -0.13,-0.04 -0.2,-0.05 -0.08,-0.01 -0.16,-0.03 -0.24,-0.03 -0.05,0 -0.11,0 -0.16,0 0.05,-0.26 0.11,-0.52 0.16,-0.78 0.12,0.01 0.23,0.02 0.35,0.02 0.04,0 0.08,0 0.12,-0.01 0.06,0 0.1,-0.01 0.15,-0.04 0.01,0 0.01,-0.01 0.02,-0.01 0.01,-0.01 0.01,-0.01 -0.02,0.01 0,-0.01 0.11,-0.02 0.12,-0.02 0.06,-0.01 0.1,-0.04 0.15,-0.08 0.02,-0.02 0.02,-0.05 0.03,-0.08 0,0.06 0,0.12 -0.01,0.18 -0.05,0.72 -0.1,1.44 -0.14,2.16 -0.12,-0.05 -0.27,-0.07 -0.39,-0.07 -0.19,0 -0.38,0.03 -0.56,0.07 -0.1,0.02 -0.18,0.08 -0.28,0.11 0.1,-0.37 0.17,-0.74 0.24,-1.11 z m -0.54,2.77 c 0.08,-0.01 0.15,-0.02 0.23,-0.03 l 0.24,-0.04 c 0.04,-0.01 0.08,-0.01 0.12,-0.02 0.06,-0.01 0.1,-0.04 0.15,-0.08 0.07,-0.06 0.05,-0.2 -0.03,-0.24 -0.06,-0.03 -0.1,-0.05 -0.17,-0.04 -0.04,0 -0.09,0.01 -0.13,0.01 -0.08,0.01 -0.16,0.02 -0.24,0.03 -0.03,0 -0.06,0.01 -0.09,0.01 0.05,-0.27 0.1,-0.53 0.16,-0.8 0.16,-0.05 0.3,-0.13 0.47,-0.16 0.15,-0.03 0.31,-0.04 0.46,-0.05 0.08,0 0.15,-0.01 0.23,-0.02 0.05,0 0.09,-0.01 0.14,-0.01 -0.02,0.28 -0.04,0.56 -0.06,0.84 -0.04,0.71 -0.08,1.42 -0.12,2.13 -0.04,0 -0.07,-0.01 -0.12,-0.01 -0.11,-0.01 -0.22,-0.01 -0.33,-0.01 -0.2,0 -0.41,0 -0.61,0 -0.2,0 -0.4,0 -0.6,0.01 0.1,-0.51 0.2,-1.01 0.3,-1.52 z m -1.26,6.41 c 0.26,0.03 0.53,0.06 0.79,0.07 0.05,0 0.1,-0.03 0.13,-0.07 0.02,-0.04 0.03,-0.07 0.01,-0.11 -0.01,-0.05 -0.05,-0.09 -0.1,-0.1 -0.26,-0.04 -0.52,-0.06 -0.78,-0.08 0.08,-0.41 0.16,-0.81 0.24,-1.22 0.29,-0.01 0.58,-0.03 0.87,-0.04 0.19,-0.01 0.38,-0.02 0.58,-0.03 0.19,-0.01 0.38,-0.01 0.57,-0.08 0.05,-0.02 0.07,-0.06 0.08,-0.11 -0.04,0.49 -0.07,0.98 -0.06,1.46 0.02,0.8 0.76,1 1.28,0.71 0.81,0.1 1.69,0.02 2.47,0.02 1.12,0 2.24,-0.01 3.36,-0.02 1.76,-0.02 3.51,-0.04 5.27,-0.06 0.42,0.21 0.88,0.32 1.36,0.3 0.43,-0.03 0.83,-0.14 1.2,-0.32 1.72,-0.02 3.43,-0.03 5.15,-0.05 2.24,-0.02 4.5,0.05 6.73,-0.06 1.01,-0.05 1.02,-1.55 0,-1.58 -0.18,-0.01 -0.36,0 -0.54,0 0.01,-0.17 0,-0.35 0,-0.54 -0.02,-0.55 0,-1.1 0,-1.65 0,-1.06 -0.02,-2.12 -0.07,-3.17 -0.01,-0.29 -0.04,-0.58 -0.06,-0.87 0.04,0.03 0.08,0.06 0.13,0.06 h 0.48 c 0.08,0 0.16,-0.01 0.24,-0.01 0.1,-0.01 0.21,0 0.29,-0.06 0.1,-0.08 0.1,-0.19 0,-0.27 -0.08,-0.06 -0.18,-0.05 -0.28,-0.06 C 608.09,323 608.01,323 607.92,323 h -0.48 c -0.06,0 -0.11,0.03 -0.15,0.07 -0.04,-0.67 -0.07,-1.33 -0.13,-2 -0.09,-1.07 -0.15,-2.18 -0.44,-3.21 -0.17,-0.58 -0.9,-0.58 -1.17,-0.16 -0.01,0 -0.02,0 -0.02,0 -0.12,0 -0.23,0.01 -0.35,0.02 0,-0.03 0,-0.06 0,-0.09 -0.01,-0.21 -0.32,-0.21 -0.32,0 0,0.04 0,0.07 0,0.11 -0.13,0.01 -0.26,0.01 -0.39,0.02 -0.22,0.03 -0.44,0.07 -0.65,0.11 -0.08,-0.06 -0.17,-0.11 -0.27,-0.12 -0.44,-0.07 -0.88,0.01 -1.32,0.05 -0.32,0.03 -0.64,0.07 -0.96,0.11 0.43,-0.1 0.86,-0.18 1.3,-0.2 0.24,-0.01 0.48,-0.01 0.71,-0.01 0.25,0.01 0.52,0.06 0.76,0.01 0.17,-0.04 0.2,-0.29 0.05,-0.37 -0.23,-0.11 -0.5,-0.11 -0.76,-0.12 -0.27,-0.01 -0.53,0 -0.79,0.03 -0.52,0.05 -1.03,0.16 -1.53,0.32 -0.22,0.07 -0.14,0.39 0.08,0.37 -0.03,0 -0.06,0.01 -0.09,0.01 -0.29,0.03 -0.57,0.07 -0.85,0.11 -0.01,-0.05 -0.01,-0.1 -0.02,-0.15 -0.03,-0.25 -0.07,-0.49 -0.11,-0.74 -0.02,-0.15 -0.05,-0.3 -0.07,-0.44 0.42,-0.04 0.85,-0.1 1.27,-0.15 0.06,0.14 0.17,0.25 0.36,0.29 1.64,0.36 3.37,0.43 5.05,0.44 0.85,0.01 1.7,-0.03 2.55,-0.09 0.79,-0.06 1.67,-0.27 2.45,-0.08 0.08,0.02 0.15,0 0.23,0 0.15,0.55 0.31,1.1 0.46,1.66 -0.09,-0.06 -0.2,-0.09 -0.3,-0.11 -0.13,-0.02 -0.26,-0.03 -0.4,-0.03 -0.26,0 -0.52,0.05 -0.77,0.15 -0.09,0.03 -0.15,0.12 -0.12,0.22 0.02,0.09 0.13,0.16 0.22,0.12 0.22,-0.08 0.45,-0.12 0.68,-0.12 0.11,0 0.22,0.01 0.33,0.03 0.06,0.01 0.12,0.02 0.18,0.03 0.07,0.01 0.13,0.01 0.2,0.01 0.02,0 0.03,-0.02 0.05,-0.03 0.08,0.28 0.16,0.56 0.23,0.84 -0.05,-0.02 -0.1,-0.05 -0.15,-0.07 -0.02,-0.01 -0.05,-0.02 -0.07,-0.02 -0.03,-0.01 -0.05,0 -0.08,0 -0.02,0.01 -0.05,0.02 -0.06,0.03 -0.02,0.01 -0.04,0.03 -0.05,0.05 -0.02,0.04 -0.04,0.1 -0.02,0.15 0.02,0.05 0.04,0.09 0.09,0.11 0.05,0.03 0.1,0.06 0.14,0.08 0.02,0.01 0.04,0.03 0.07,0.04 0.02,0.01 0.04,0.02 0.06,0.03 0.05,0.01 0.11,0.01 0.16,-0.02 0.01,0 0.01,-0.01 0.01,-0.01 0.05,0.2 0.1,0.39 0.16,0.59 -0.27,0.03 -0.55,0.06 -0.82,0.09 -0.66,0.07 -1.31,0.14 -1.97,0.21 -0.22,0.02 -0.22,0.37 0,0.35 l 2,-0.2 c 0.29,-0.03 0.59,-0.06 0.88,-0.09 0.51,1.89 1.01,3.79 1.52,5.68 -0.95,0.03 -1.9,0.13 -2.82,0.36 -0.17,0.04 -0.1,0.3 0.07,0.26 0.94,-0.19 1.89,-0.26 2.85,-0.26 0.36,1.36 0.74,2.73 1.09,4.09 0,0 0,0 0,0 -0.9,0.38 -1.76,0.84 -2.57,1.4 -0.41,0.29 -0.81,0.6 -1.2,0.91 -0.3,0.24 -0.57,0.49 -0.81,0.78 -0.59,0.44 -1.14,0.91 -1.65,1.38 -1.44,1.32 -2.75,2.91 -3.62,4.66 -1,2.01 -1.08,4.03 -0.3,6.13 0.64,1.72 2,3.94 1.11,5.8 -0.82,0.09 -1.64,0.18 -2.47,0.19 -0.55,0.01 -1.1,-0.01 -1.65,-0.03 -0.08,0 -0.19,-0.01 -0.33,0 -0.01,-1.33 -0.15,-2.69 -0.51,-3.98 0.03,-0.04 0.08,-0.06 0.1,-0.11 0.47,-1.05 -0.53,-2.22 -1.43,-2.68 -1.16,-0.59 -2.54,-0.58 -3.81,-0.6 -0.97,-0.01 -1.98,0.09 -2.91,0.39 0,0 0,-0.01 0,-0.01 -0.14,-0.04 -0.28,-0.03 -0.42,-0.05 -0.12,-0.02 -0.23,-0.02 -0.35,-0.03 -0.27,-0.01 -0.54,-0.01 -0.81,-0.01 -0.54,0 -1.08,0 -1.63,0 -0.23,0 -0.23,0.36 0,0.36 0.54,0 1.08,0 1.63,0 0.27,0 0.54,0 0.81,-0.01 0.05,0 0.1,-0.01 0.15,-0.01 -0.02,0.01 -0.04,0.02 -0.07,0.03 -0.42,0.2 -0.86,0.49 -1.22,0.86 -0.06,0.01 -0.11,0.03 -0.16,0.08 -0.7,0.86 -0.88,2.18 -0.99,3.25 -0.06,0.57 -0.07,1.14 -0.03,1.71 0.02,0.28 0.04,0.58 0.08,0.87 -0.64,0.04 -1.28,0.07 -1.92,0.11 -0.44,0.02 -0.88,0.06 -1.32,0.1 -0.2,0.02 -0.4,0.04 -0.59,0.07 0.04,-0.52 -0.16,-1.05 -0.16,-1.58 0,-0.47 0.08,-0.94 0.17,-1.4 0.21,-1.04 0.5,-2.06 0.64,-3.11 0.27,-1.95 -0.11,-3.9 -0.96,-5.67 -0.65,-1.36 -1.6,-2.54 -2.71,-3.55 0.61,0.02 1.22,0.04 1.84,0.06 0.37,0.01 0.75,0.01 1.12,-0.01 0.33,-0.02 0.68,0.01 1.01,-0.04 0.09,0.07 0.18,0.14 0.25,0.22 0.25,0.24 0.49,0.48 0.72,0.73 0.46,0.5 0.89,1.05 1.25,1.63 0.37,0.58 0.65,1.2 0.95,1.83 0.14,0.3 0.24,0.62 0.34,0.94 0.1,0.33 0.12,0.74 0.4,0.98 0.11,0.09 0.24,0.1 0.36,0.07 0.05,0.02 0.08,0.06 0.14,0.07 1.25,0.16 2.5,0.24 3.76,0.27 0.63,0.02 1.25,0.03 1.88,0.05 0.62,0.02 1.33,0.13 1.93,0 0.59,-0.13 0.65,-0.88 0.27,-1.24 0,-0.04 0.01,-0.09 0.01,-0.13 0.04,-0.36 0.11,-0.73 0.21,-1.08 0.2,-0.7 0.52,-1.34 0.89,-1.97 0.14,-0.24 0.29,-0.47 0.45,-0.69 0.01,0.09 0.06,0.17 0.17,0.17 0.34,-0.01 0.68,-0.01 1.02,-0.02 0.33,-0.01 0.68,-0.03 1,-0.12 0.09,-0.02 0.09,-0.16 0,-0.18 -0.33,-0.07 -0.67,-0.08 -1,-0.08 -0.34,0.01 -0.68,0.02 -1.02,0.02 -0.03,0 -0.04,0.02 -0.06,0.03 0.21,-0.3 0.44,-0.59 0.7,-0.87 0.26,-0.28 0.53,-0.54 0.82,-0.79 0.18,-0.15 0.36,-0.29 0.55,-0.43 0.05,-0.05 0.12,-0.08 0.16,-0.13 0.06,-0.05 0.12,-0.09 0.17,-0.15 0.3,-0.31 0.17,-0.79 -0.15,-0.98 0.43,0 0.86,0.01 1.3,0.01 0.25,0 0.5,0.02 0.75,0 0.23,-0.01 0.5,0 0.72,-0.07 0.12,-0.03 0.12,-0.21 0,-0.24 -0.23,-0.07 -0.49,-0.05 -0.72,-0.07 -0.25,-0.02 -0.5,0 -0.75,0 -0.5,0.01 -0.99,0.01 -1.49,0.02 -0.16,0 -0.2,0.18 -0.13,0.28 -0.02,0 -0.05,0 -0.07,0.01 -0.03,-0.01 -0.05,-0.05 -0.08,-0.06 -0.66,-0.19 -1.33,-0.14 -2.02,-0.14 -0.64,0 -1.28,0 -1.91,0 -1.36,0 -2.71,0.01 -4.07,0.02 -1.32,0.01 -2.63,0.01 -3.95,0.04 -1.25,0.02 -2.76,-0.15 -3.91,0.38 -0.19,0.09 -0.28,0.29 -0.3,0.49 -0.13,0.18 -0.17,0.43 -0.04,0.66 0.07,0.14 0.19,0.25 0.31,0.36 -0.27,-0.03 -0.54,-0.04 -0.81,-0.07 -0.37,-0.04 -0.74,-0.06 -1.12,-0.07 -0.75,-0.02 -1.49,-0.04 -2.24,-0.07 -0.02,0 -0.02,0.01 -0.04,0.01 -0.17,-0.14 -0.32,-0.29 -0.5,-0.42 -0.53,-0.4 -1.1,-0.73 -1.69,-1.04 0.37,0.01 0.75,0.02 1.12,0.02 0.28,0 0.55,0 0.83,-0.02 0.27,-0.02 0.56,-0.03 0.83,-0.09 0.13,-0.03 0.13,-0.24 0,-0.26 -0.27,-0.05 -0.56,-0.07 -0.83,-0.09 -0.28,-0.02 -0.55,-0.02 -0.83,-0.02 -0.57,0 -1.13,0.02 -1.7,0.03 -0.06,0 -0.09,0.03 -0.12,0.05 -0.04,-0.02 -0.08,-0.04 -0.12,-0.06 -0.64,-0.29 -1.47,-0.72 -2.22,-0.74 0.05,-0.26 0.1,-0.52 0.15,-0.78 0.03,-0.15 0.06,-0.29 0.09,-0.44 0.29,0.03 0.57,0.06 0.86,0.08 0.26,0.02 0.52,0.05 0.78,0.07 0.25,0.02 0.5,0.05 0.75,0.01 0.13,-0.02 0.1,-0.2 0,-0.23 -0.24,-0.08 -0.5,-0.09 -0.75,-0.12 -0.26,-0.03 -0.52,-0.05 -0.78,-0.07 -0.27,-0.02 -0.53,-0.04 -0.8,-0.06 0.04,-0.24 0.09,-0.47 0.14,-0.71 0.16,0 0.32,0 0.48,0 0.23,0 0.45,-0.01 0.68,-0.01 0.21,0 0.46,0.01 0.65,-0.09 0.06,-0.03 0.07,-0.14 0,-0.17 -0.19,-0.09 -0.42,-0.07 -0.62,-0.07 -0.23,0 -0.47,0.01 -0.7,0.01 -0.14,0 -0.28,0.01 -0.42,0.01 0.07,-0.37 0.14,-0.73 0.21,-1.1 z m 42.03,19.6 c -0.07,-0.02 -0.14,-0.04 -0.21,-0.05 -0.18,-0.02 -0.36,-0.02 -0.54,-0.01 -0.23,0.02 -0.45,0.08 -0.66,0.16 -0.05,-0.19 -0.1,-0.38 -0.15,-0.57 0.26,-0.05 0.51,-0.11 0.77,-0.13 0.21,-0.02 0.41,-0.01 0.62,-0.01 0.06,0.2 0.11,0.4 0.17,0.61 z m -0.73,0.39 c 0.15,0 0.3,0 0.44,0.03 0.12,0.02 0.27,0.05 0.41,0.02 0.08,0.31 0.17,0.62 0.25,0.93 -0.12,-0.05 -0.25,-0.07 -0.38,-0.07 -0.15,-0.01 -0.31,0 -0.46,0.02 -0.2,0.02 -0.38,0.1 -0.57,0.15 -0.09,-0.32 -0.17,-0.64 -0.26,-0.96 0.18,-0.07 0.37,-0.12 0.57,-0.12 z m 1.86,3.76 c 0.03,0.12 0.07,0.25 0.1,0.37 -0.09,0.01 -0.18,0.02 -0.26,0.04 -0.02,0 -0.02,0 0.01,0 -0.01,0 -0.02,0 -0.04,0 -0.03,0 -0.05,0.01 -0.08,0.01 -0.05,0.01 -0.09,0.01 -0.14,0.02 -0.1,0.01 -0.2,0.03 -0.3,0.04 -0.11,0.01 -0.23,0.09 -0.22,0.22 0.01,0.11 0.1,0.23 0.22,0.22 0.2,-0.01 0.41,-0.02 0.61,-0.03 0.05,0 0.1,0 0.15,0 0,0.02 -0.01,0.03 -0.01,0.05 -0.01,0.11 0.13,0.22 0.23,0.18 0.01,-0.01 0.02,-0.01 0.04,-0.02 0.02,0.09 0.05,0.17 0.07,0.26 -0.06,0.01 -0.12,0.02 -0.18,0.04 -0.04,0.01 -0.08,0.01 -0.12,0.02 -0.01,0 -0.06,0.01 -0.06,0.01 -0.07,0.01 -0.15,0.01 -0.22,0.02 -0.29,0.01 -0.56,-0.02 -0.84,-0.08 0,0 -0.01,0 -0.01,0 -0.13,-0.47 -0.25,-0.93 -0.38,-1.4 0.22,0 0.43,0.01 0.65,0.01 0.24,0.01 0.49,0.01 0.73,0.01 0,0.01 0.03,0.01 0.05,0.01 z m -0.59,2.26 c -0.06,0.05 -0.12,0.1 -0.19,0.14 -0.04,-0.16 -0.09,-0.33 -0.13,-0.49 0.2,0.05 0.4,0.1 0.61,0.11 -0.1,0.08 -0.2,0.16 -0.29,0.24 z m 0.77,0.68 c 0.01,-0.01 0.02,-0.02 0.03,-0.02 0.03,-0.02 0.08,-0.03 0.11,-0.05 0.06,-0.04 0.13,-0.09 0.19,-0.14 0.1,-0.08 0.11,-0.26 0.05,-0.36 -0.07,-0.12 -0.2,-0.16 -0.33,-0.13 -0.03,0.01 -0.06,0.01 -0.09,0.01 0.02,-0.01 0.05,-0.02 0.07,-0.03 0.07,-0.03 0.15,-0.06 0.22,-0.09 0.05,-0.02 0.1,-0.05 0.15,-0.07 0.08,0.3 0.17,0.61 0.25,0.91 -0.03,-0.01 -0.06,-0.04 -0.1,-0.04 -0.17,0.01 -0.35,0.04 -0.52,0.08 -0.02,-0.02 -0.02,-0.04 -0.03,-0.07 z m -0.98,-3.5 c -0.26,0.01 -0.53,0.01 -0.79,0.02 -0.07,-0.24 -0.13,-0.48 -0.2,-0.72 0.2,-0.04 0.4,-0.07 0.6,-0.05 0.03,0 0.06,0.01 0.09,0.01 0.03,0 0.04,0 0.02,0 0.02,0 0.05,0.01 0.07,0.01 0.02,0 0.05,0.01 0.07,0.01 0.04,0 0.04,0.01 0.02,0 0.03,0 0.06,0.01 0.09,0.02 0.07,0.01 0.14,0.03 0.21,0.05 0.04,0.01 0.09,0.02 0.14,0.02 0.03,0 0.07,-0.01 0.1,-0.01 -0.02,0 -0.02,-0.01 0.02,-0.01 0,0 0.01,-0.01 0.01,-0.01 0.06,0.22 0.12,0.44 0.18,0.66 -0.2,-0.01 -0.41,-0.01 -0.63,0 z m 0.09,-1.27 c -0.15,-0.02 -0.3,-0.03 -0.45,-0.02 -0.25,0.02 -0.5,0.06 -0.74,0.13 -0.05,-0.17 -0.09,-0.33 -0.14,-0.5 0.16,-0.04 0.32,-0.11 0.47,-0.12 0.14,-0.01 0.29,-0.01 0.43,0 0.16,0.01 0.28,0.03 0.46,0 0.02,0 0.02,-0.03 0.03,-0.04 0.05,0.2 0.11,0.39 0.16,0.59 -0.07,-0.02 -0.15,-0.03 -0.22,-0.04 z m -2.11,-3.24 c -0.06,-0.24 -0.13,-0.47 -0.19,-0.71 0.32,0.01 0.65,0.02 0.97,0.03 0.16,0.01 0.31,0.01 0.47,0.01 0.04,0.15 0.08,0.31 0.13,0.46 -0.46,0.03 -0.92,0.1 -1.38,0.21 z m 0.79,-1.13 c -0.36,0.01 -0.72,0.02 -1.08,0.04 -0.04,-0.14 -0.08,-0.29 -0.12,-0.43 0.13,-0.01 0.26,-0.02 0.39,-0.03 0.11,-0.01 0.22,-0.02 0.33,-0.02 0.12,-0.01 0.25,-0.01 0.37,-0.05 0.1,-0.03 0.16,-0.12 0.15,-0.23 -0.01,-0.11 -0.1,-0.17 -0.2,-0.18 -0.11,-0.01 -0.22,0 -0.33,0.02 -0.11,0.01 -0.22,0.03 -0.33,0.04 -0.16,0.02 -0.32,0.04 -0.48,0.06 -0.09,-0.35 -0.19,-0.69 -0.28,-1.04 0.2,0.04 0.4,0.09 0.6,0.13 0.16,0.03 0.31,0.06 0.47,0.09 0.09,0.01 0.19,0.04 0.28,0.04 0.04,0 0.09,-0.02 0.13,-0.02 0.14,0.53 0.29,1.05 0.43,1.58 -0.11,-0.01 -0.22,-0.01 -0.33,0 z m -0.63,-3.55 c 0.04,0.15 0.08,0.31 0.12,0.46 -0.04,-0.02 -0.07,-0.04 -0.11,-0.05 l -0.29,-0.13 c -0.2,-0.09 -0.4,-0.18 -0.6,-0.27 -0.02,-0.01 -0.05,-0.01 -0.08,-0.01 0.18,-0.03 0.37,-0.07 0.55,-0.09 0.06,-0.01 0.11,-0.01 0.17,-0.02 0.03,0.05 0.07,0.1 0.13,0.11 0.04,0 0.07,0 0.11,0 z m -0.54,-0.58 c -0.21,0.05 -0.43,0.09 -0.64,0.14 -0.12,0.03 -0.21,0.18 -0.17,0.3 0.04,0.12 0.14,0.17 0.26,0.16 -0.04,0.02 -0.09,0.04 -0.11,0.08 -0.05,0.1 -0.04,0.27 0.08,0.32 0.2,0.09 0.41,0.18 0.61,0.27 0.1,0.05 0.2,0.09 0.3,0.14 0.06,0.03 0.12,0.06 0.19,0.08 0.05,0.01 0.11,0.02 0.16,0.04 0.04,0.01 0.07,0 0.1,-0.01 0.05,0.19 0.1,0.37 0.15,0.56 -0.05,-0.02 -0.1,-0.03 -0.15,-0.05 -0.15,-0.04 -0.31,-0.08 -0.46,-0.11 -0.3,-0.06 -0.6,-0.13 -0.91,-0.19 -0.03,-0.12 -0.06,-0.23 -0.09,-0.35 -0.19,-0.72 -0.38,-1.44 -0.56,-2.15 0.22,-0.05 0.45,-0.09 0.68,-0.07 0.14,0.01 0.28,0.02 0.42,0.05 0.11,0.02 0.22,0.04 0.32,0.06 0.06,0.21 0.11,0.43 0.17,0.64 -0.11,0.03 -0.23,0.06 -0.35,0.09 z m -40.76,9.87 c -0.01,-0.11 -0.02,-0.23 -0.02,-0.34 -0.01,-0.27 -0.02,-0.55 -0.03,-0.82 0,0 0,0 0,0 -0.01,0.23 0.31,0.33 0.38,0.09 0.01,-0.03 0.01,-0.05 0.02,-0.08 0.24,0 0.47,-0.01 0.71,-0.01 0,0.01 0,0.03 0,0.05 0.03,0.08 0.14,0.1 0.18,0.02 0.01,-0.02 0.01,-0.05 0.02,-0.07 0.23,0 0.45,-0.01 0.68,-0.01 0.04,0.05 0.1,0.08 0.16,0.04 0.02,-0.01 0.03,-0.03 0.04,-0.04 1.63,-0.01 3.27,-0.02 4.9,-0.06 0.04,0.08 0.06,0.17 0.11,0.24 v 0 c -0.13,0.05 -0.13,0.21 0,0.26 0.01,0 0.01,0.01 0.02,0.01 0.02,0.02 0.05,0.03 0.08,0.04 0,0 0.06,0.01 0.04,0 0.03,0.01 0.05,0.02 0.07,0.03 0.06,0.02 0.13,0.02 0.2,0.03 0.07,0.03 0.13,0.05 0.2,0.06 0.01,0.03 0.02,0.05 0.03,0.08 0.16,0.31 0.55,0.28 0.75,0.06 0.06,0.01 0.12,0.03 0.19,0.04 0.2,0.02 0.41,0.02 0.61,0.02 0.44,-0.01 0.88,-0.01 1.32,-0.03 0.77,-0.04 1.53,-0.07 2.3,-0.11 0.09,0.08 0.21,0.14 0.35,0.12 0.16,-0.02 0.33,-0.14 0.39,-0.3 0.08,-0.07 0.12,-0.17 0.15,-0.28 0.18,0.01 0.37,0.03 0.55,0.04 0.04,0 0.09,0 0.13,0.01 0.01,0.14 0.07,0.26 0.26,0.29 0.02,0 0.04,0 0.05,0.01 0.14,0.1 0.34,0.11 0.5,0.05 0.75,0.08 1.51,0.09 2.27,0.04 0.46,-0.03 0.92,-0.07 1.38,-0.13 0.29,-0.04 0.59,-0.08 0.89,-0.14 0.04,0.02 0.07,0.06 0.12,0.06 0.22,0.03 0.48,-0.1 0.56,-0.32 0.05,-0.05 0.11,-0.1 0.13,-0.16 0.06,0 0.13,0.01 0.19,0.01 0.1,0 0.2,0 0.3,0 0.03,0.09 0.12,0.14 0.22,0.12 -0.26,0.08 -0.52,0.19 -0.76,0.32 -0.09,0.05 -0.12,0.18 -0.07,0.27 0.06,0.1 0.17,0.11 0.27,0.07 0.35,-0.15 0.71,-0.24 1.09,-0.3 0.18,-0.03 0.35,-0.05 0.54,-0.06 0.05,0 0.11,0 0.16,-0.01 0.05,-0.01 0.07,-0.03 0.12,-0.03 0.1,-0.01 0.2,-0.01 0.29,-0.03 0.11,-0.03 0.13,-0.19 0.03,-0.24 -0.08,-0.04 -0.16,-0.05 -0.25,-0.07 0.13,0 0.25,0 0.38,-0.01 0.04,0.05 0.09,0.09 0.15,0.11 0.19,0.37 0.9,0.43 1.24,0.46 0.57,0.05 1.14,0.08 1.71,0.08 0.81,0.01 1.63,-0.06 2.45,-0.16 0.07,0.08 0.16,0.15 0.25,0.2 -2.06,0.02 -4.12,0.05 -6.18,0.07 -5.14,0.06 -10.28,0.18 -15.41,0.28 -1.4,0.03 -2.81,0.05 -4.21,0.08 -1.05,0.01 -2.13,0.01 -3.2,0.05 z m 6.83,-3.71 c 0.03,0 0.06,0 0.09,0 -0.05,0.36 -0.09,0.79 -0.09,1.22 -0.09,-0.01 -0.17,0.03 -0.2,0.12 0,0 0,0 0,0.01 -0.1,0 -0.2,0 -0.29,0.01 0.01,-0.03 0.02,-0.05 0.03,-0.08 0.07,-0.19 0.14,-0.38 0.21,-0.57 0.08,-0.24 0.16,-0.47 0.25,-0.71 z m -0.59,0.59 c -0.07,0.18 -0.14,0.37 -0.21,0.55 -0.03,0.07 -0.06,0.15 -0.08,0.22 -0.28,0.01 -0.56,0.01 -0.84,0.02 0.09,-0.17 0.18,-0.35 0.26,-0.53 0.11,-0.27 0.2,-0.55 0.28,-0.84 0.28,0 0.55,0 0.83,-0.01 -0.09,0.2 -0.17,0.39 -0.24,0.59 z m -1.28,0.07 c -0.11,0.23 -0.23,0.46 -0.36,0.68 -0.01,0.02 -0.02,0.03 -0.03,0.05 -0.25,0.01 -0.5,0.01 -0.75,0.02 0.11,-0.23 0.22,-0.46 0.32,-0.7 0.1,-0.23 0.2,-0.46 0.3,-0.68 0.26,0 0.51,0 0.77,-0.01 -0.07,0.21 -0.15,0.43 -0.25,0.64 z m -1.19,-0.14 c -0.12,0.26 -0.25,0.53 -0.37,0.8 -0.02,0.03 -0.03,0.07 -0.05,0.1 -0.24,0.01 -0.49,0.02 -0.73,0.02 0.05,-0.15 0.11,-0.29 0.16,-0.44 0.11,-0.32 0.23,-0.64 0.34,-0.97 0.12,0 0.24,-0.01 0.36,-0.01 0.18,0 0.35,0 0.53,0 -0.08,0.17 -0.16,0.34 -0.24,0.5 z m -1.33,0.36 c -0.08,0.19 -0.15,0.38 -0.22,0.58 -0.24,0.01 -0.47,0.01 -0.71,0.02 0.05,-0.2 0.09,-0.39 0.15,-0.59 0.09,-0.28 0.2,-0.56 0.32,-0.83 0.26,-0.01 0.52,-0.01 0.79,-0.01 -0.11,0.27 -0.22,0.55 -0.33,0.83 z m -1.07,-0.11 c -0.08,0.23 -0.14,0.47 -0.19,0.71 -0.19,0.01 -0.38,0.01 -0.58,0.02 0.03,-0.16 0.08,-0.32 0.11,-0.49 0.06,-0.27 0.11,-0.53 0.17,-0.8 0.01,-0.06 0.02,-0.12 0.04,-0.18 0.25,0 0.5,0.03 0.75,0.02 -0.12,0.24 -0.22,0.48 -0.3,0.72 z m -0.89,-0.69 c -0.07,0.27 -0.13,0.55 -0.19,0.82 -0.05,0.2 -0.08,0.41 -0.13,0.62 -0.05,0 -0.09,0 -0.14,0 -0.04,0 -0.07,0.02 -0.11,0.03 0,-0.08 -0.01,-0.16 -0.01,-0.24 -0.01,-0.43 -0.03,-0.87 -0.04,-1.31 0.21,0.02 0.42,0.01 0.62,0.02 0.01,0.02 0,0.04 0,0.06 z m 14.21,-3.51 c 0.03,0.02 0.05,0.04 0.1,0.04 1.22,-0.01 2.43,-0.02 3.65,-0.06 0.6,-0.02 1.2,-0.04 1.8,-0.06 0.45,-0.02 0.94,-0.01 1.41,-0.07 0.21,0.12 0.4,0.26 0.56,0.44 0.23,0.25 0.29,0.56 0.42,0.85 -0.03,0.04 -0.05,0.09 -0.04,0.14 0.01,0.08 0.09,0.18 0.19,0.16 0,0 0,0 0,0 0.03,0.18 0.06,0.37 0.09,0.55 -0.21,-0.01 -0.43,0.02 -0.64,0.03 -0.17,0.01 -0.34,0.02 -0.51,0.03 -0.07,-0.07 -0.19,-0.06 -0.25,0.01 -0.26,0.01 -0.53,0.03 -0.79,0.06 0,-0.06 0,-0.12 -0.01,-0.19 0.15,0 0.3,0 0.43,-0.09 0.07,-0.05 0.07,-0.15 0,-0.2 -0.13,-0.09 -0.3,-0.09 -0.45,-0.09 -0.02,-0.19 -0.04,-0.38 -0.1,-0.56 -0.02,-0.05 -0.05,-0.08 -0.08,-0.11 0.47,-0.01 0.94,-0.02 1.39,-0.11 0.08,-0.02 0.08,-0.15 0,-0.17 -0.6,-0.1 -1.23,-0.06 -1.83,-0.05 -0.47,0 -0.94,0.01 -1.42,0.02 -0.38,-0.01 -0.76,-0.01 -1.14,-0.02 -0.4,-0.01 -0.8,-0.02 -1.2,-0.01 -0.21,0.01 -0.43,0 -0.63,0.06 -0.02,0.01 -0.05,0.03 -0.07,0.04 -0.44,0.01 -0.88,0.02 -1.32,0.03 -0.19,0 -0.19,0.29 0,0.29 0.2,0 0.39,0 0.59,-0.01 -0.16,0.35 -0.12,0.82 -0.13,1.2 -0.1,0 -0.21,0.01 -0.31,0.01 -0.25,0.01 -0.5,0.02 -0.75,0.03 -0.03,0 -0.05,0.02 -0.08,0.03 0.04,-0.26 0.05,-0.52 0.11,-0.77 0.06,-0.26 0.14,-0.51 0.2,-0.77 0.26,-0.22 0.51,-0.47 0.81,-0.68 z m 0.67,-0.38 c 0.92,-0.37 1.91,-0.37 2.89,-0.32 0.74,0.04 1.51,0.04 2.24,0.18 -0.07,0 -0.14,0.01 -0.2,0.01 -0.62,0.01 -1.24,0.03 -1.86,0.04 -1.05,0.03 -2.1,0.07 -3.14,0.12 0.03,0 0.04,-0.02 0.07,-0.03 z m 6.23,6.33 c 0.05,0 0.1,0 0.14,0 0.03,0 0.07,0 0.1,0 -0.12,0.02 -0.23,0.06 -0.35,0.1 0.03,-0.02 0.07,-0.04 0.09,-0.07 0.02,-0.01 0.02,-0.02 0.02,-0.03 z m -8.02,-0.77 c 0,0.01 0,0.01 0,0.02 -0.03,-0.16 -0.06,-0.32 -0.08,-0.48 -0.05,-0.52 -0.06,-1.04 -0.03,-1.56 0.06,0.03 0.13,0.05 0.19,0.05 0.1,0 0.19,0 0.29,0 -0.08,0.41 -0.15,0.82 -0.23,1.23 -0.05,0.25 -0.1,0.49 -0.14,0.74 z m 0.47,-0.68 c 0.08,-0.43 0.16,-0.86 0.24,-1.3 0.04,0 0.08,0 0.12,0 0.1,0 0.2,0 0.3,0 0,0.12 0,0.25 0,0.37 0,0.16 0,0.32 0,0.48 -0.03,0.03 -0.05,0.06 -0.05,0.11 -0.02,0.23 -0.05,0.45 -0.07,0.68 -0.01,0.11 -0.03,0.23 -0.03,0.34 0,0.02 0,0.04 0,0.06 -0.04,0 -0.08,0 -0.12,0 -0.17,-0.01 -0.34,0 -0.52,-0.01 0.04,-0.25 0.08,-0.49 0.13,-0.73 z m 6.87,0.25 c -0.04,0.1 -0.08,0.19 -0.12,0.29 -0.04,0 -0.08,0 -0.12,0 0,-0.09 0,-0.19 0,-0.28 0.01,-0.42 0.01,-0.84 0.02,-1.27 0,-0.18 0,-0.36 0,-0.55 0.23,0.01 0.45,0.01 0.68,-0.01 -0.04,0.33 -0.1,0.65 -0.18,0.98 -0.09,0.28 -0.18,0.57 -0.28,0.84 z m -5.08,0.96 c -0.02,-0.1 -0.07,-0.19 -0.14,-0.25 0,-0.17 -0.01,-0.35 -0.01,-0.52 0,-0.45 -0.01,-0.91 -0.01,-1.36 0,-0.44 0,-0.88 -0.01,-1.31 -0.01,-0.26 0.01,-0.56 -0.03,-0.85 0.26,0.12 0.62,0.11 0.9,0.12 0.37,0.02 0.75,0.02 1.12,0.03 0.73,0.02 1.45,0.04 2.18,0.05 -0.03,0.2 -0.04,0.4 -0.06,0.6 -0.03,0.41 -0.07,0.81 -0.09,1.22 -0.02,0.41 -0.04,0.81 -0.07,1.22 -0.01,0.22 -0.03,0.44 -0.05,0.66 -0.23,0.04 -0.46,0.1 -0.69,0.13 -0.43,0.07 -0.86,0.11 -1.29,0.15 -0.58,0.06 -1.16,0.08 -1.75,0.11 z m 5.42,-0.68 c 0.01,-0.04 0.03,-0.07 0.04,-0.11 0.11,-0.3 0.2,-0.6 0.27,-0.9 0.08,-0.36 0.13,-0.73 0.16,-1.1 0.15,0 0.31,-0.01 0.46,-0.01 l -0.43,1.2 c -0.1,0.28 -0.2,0.57 -0.29,0.85 -0.01,0.02 -0.02,0.04 -0.02,0.06 -0.07,0 -0.13,0.01 -0.19,0.01 z m 1.31,-0.02 c -0.21,0 -0.43,0.01 -0.64,0.01 0.09,-0.26 0.17,-0.53 0.26,-0.79 0.14,-0.45 0.28,-0.9 0.42,-1.35 0.13,-0.01 0.26,-0.01 0.38,-0.03 0,0.04 0.01,0.07 0.02,0.11 0.02,0.17 0.02,0.34 0.04,0.52 -0.07,0 -0.15,0.03 -0.16,0.11 l -0.14,0.61 -0.07,0.3 c -0.01,0.05 -0.02,0.1 -0.03,0.15 -0.01,0.06 -0.01,0.12 -0.01,0.18 0.01,0.13 0.18,0.19 0.25,0.07 0.03,-0.05 0.06,-0.1 0.07,-0.16 0.01,-0.05 0.02,-0.09 0.03,-0.14 0.02,-0.1 0.05,-0.21 0.07,-0.31 0.01,-0.06 0.03,-0.12 0.04,-0.18 0.02,0.3 0.02,0.61 0.02,0.91 -0.19,-0.02 -0.37,-0.01 -0.55,-0.01 z m 7.72,1.3 c 0.14,-0.28 0.24,-0.57 0.32,-0.86 2.36,-0.04 4.72,-0.07 7.08,-0.11 0,0.13 0,0.27 0,0.4 -0.09,-0.01 -0.19,-0.03 -0.28,-0.04 -0.18,-0.02 -0.36,-0.03 -0.54,-0.05 -0.11,-0.01 -0.2,0.09 -0.22,0.19 -0.01,0.1 0.05,0.22 0.16,0.24 0.18,0.03 0.36,0.06 0.54,0.09 0.1,0.02 0.21,0.03 0.31,0.04 0.01,0 0.02,0 0.04,0 0,0.11 0,0.22 0.01,0.33 -2.38,-0.05 -4.77,0.05 -7.14,0.08 -0.18,0 -0.36,0 -0.54,0.01 0.09,-0.07 0.19,-0.17 0.26,-0.32 z m 7.33,-2.67 c 0.02,-0.04 0.03,-0.07 0.05,-0.11 0,0.19 0,0.39 0.01,0.58 -0.09,0 -0.19,0 -0.28,0.01 0.02,-0.04 0.04,-0.08 0.06,-0.12 0.05,-0.12 0.1,-0.24 0.16,-0.36 z m -0.3,-0.16 c -0.06,0.12 -0.11,0.25 -0.17,0.37 -0.04,0.09 -0.07,0.18 -0.1,0.27 -0.14,0 -0.27,0.01 -0.41,0.01 0.01,-0.03 0.03,-0.07 0.05,-0.1 0.07,-0.17 0.15,-0.34 0.22,-0.51 0.07,-0.15 0.13,-0.3 0.2,-0.45 0.14,0 0.27,0 0.41,-0.01 -0.08,0.15 -0.14,0.28 -0.2,0.42 z m -0.66,-0.1 c -0.08,0.16 -0.16,0.33 -0.24,0.49 -0.04,0.08 -0.09,0.17 -0.13,0.27 -0.35,0.01 -0.7,0.02 -1.05,0.02 0.07,-0.17 0.14,-0.35 0.21,-0.52 0.08,-0.19 0.15,-0.37 0.23,-0.56 0.38,0 0.76,-0.01 1.14,-0.01 -0.06,0.11 -0.11,0.21 -0.16,0.31 z m -1.5,0.13 c -0.09,0.19 -0.17,0.38 -0.26,0.56 -0.02,0.03 -0.03,0.07 -0.05,0.1 -0.33,0.01 -0.66,0.01 -0.99,0.02 0.08,-0.15 0.16,-0.3 0.24,-0.45 0.11,-0.21 0.23,-0.43 0.34,-0.64 0.3,0 0.6,-0.01 0.91,-0.01 -0.06,0.14 -0.13,0.28 -0.19,0.42 z m -1.4,0.03 c -0.11,0.2 -0.23,0.4 -0.34,0.59 -0.01,0.02 -0.03,0.05 -0.04,0.07 -0.32,0.01 -0.64,0.01 -0.96,0.02 0.04,-0.09 0.07,-0.17 0.11,-0.26 0.12,-0.28 0.24,-0.56 0.35,-0.84 0.38,0 0.76,-0.01 1.13,-0.01 -0.08,0.14 -0.16,0.29 -0.25,0.43 z m -1.59,0.28 c -0.06,0.14 -0.13,0.28 -0.19,0.42 -0.28,0.01 -0.56,0.01 -0.84,0.02 0.03,-0.16 0.05,-0.33 0.1,-0.49 0.06,-0.22 0.16,-0.42 0.25,-0.63 0.33,0 0.67,-0.01 1,-0.01 -0.11,0.23 -0.21,0.46 -0.32,0.69 z m -1.3,-0.15 c -0.03,0.11 -0.04,0.22 -0.07,0.33 0,-0.28 -0.03,-0.57 -0.07,-0.85 0.12,0 0.23,0 0.35,0 -0.07,0.17 -0.16,0.33 -0.21,0.52 z m -1.97,-6.11 c -0.23,-1.01 -0.09,-2 0.28,-2.95 0.67,-1.75 1.94,-3.33 3.26,-4.63 1.11,-1.1 2.42,-1.91 3.65,-2.83 0.33,1.82 0.89,3.62 1.34,5.4 0.36,1.44 0.73,2.88 1.1,4.32 -1.57,0.18 -3.14,0.32 -4.72,0.45 -0.81,0.07 -1.61,0.13 -2.42,0.21 -0.77,0.07 -1.67,0.05 -2.39,0.35 -0.03,-0.11 -0.08,-0.21 -0.1,-0.32 z m 9.17,-7.57 c 0.24,0.03 0.48,0.05 0.71,0.09 0.13,0.02 0.27,0.04 0.4,0.06 0.02,0 0.04,0 0.06,0 0.03,0.12 0.06,0.24 0.1,0.36 -0.08,0 -0.15,-0.01 -0.23,0 -0.31,0.04 -0.61,0.16 -0.87,0.34 -0.1,0.07 -0.14,0.19 -0.08,0.3 0.06,0.1 0.2,0.14 0.3,0.08 0.12,-0.07 0.21,-0.11 0.34,-0.15 0.02,0 0.03,-0.01 0.05,-0.01 0.01,0 0.01,0 0.01,0 0.04,-0.01 0.08,-0.01 0.11,-0.02 0.01,0 0.01,0 0.01,0 0.02,0 0.03,0 0.05,-0.01 0.03,0 0.07,0 0.1,-0.01 0.07,0 0.14,0 0.2,0.01 0,0 0.05,0.01 0.05,0.01 0.03,0 0.05,0.01 0.08,0.01 0,0 0.01,0 0.01,0 0.07,0.25 0.13,0.49 0.2,0.74 -0.14,-0.02 -0.28,-0.03 -0.42,-0.03 -0.32,0.01 -0.62,0.09 -0.9,0.22 -0.24,-0.91 -0.48,-1.82 -0.72,-2.73 -0.09,-0.34 -0.18,-0.68 -0.27,-1.02 0.17,0 0.34,0 0.51,0.01 0.1,0 0.21,0 0.31,0 0.06,0 0.11,0 0.17,-0.01 0.06,-0.01 0.11,-0.04 0.16,-0.07 0.08,-0.05 0.08,-0.17 0,-0.21 -0.05,-0.03 -0.1,-0.06 -0.16,-0.07 -0.06,-0.01 -0.11,-0.01 -0.17,-0.01 -0.1,0 -0.21,0 -0.31,0 -0.2,0 -0.4,0.01 -0.6,0.01 -0.06,-0.21 -0.13,-0.42 -0.19,-0.63 0.15,-0.01 0.31,-0.01 0.46,-0.02 0.14,-0.01 0.27,-0.01 0.41,-0.02 0.16,-0.01 0.31,-0.02 0.45,-0.1 0.01,-0.01 0,-0.02 0.01,-0.03 0.13,0.51 0.27,1.02 0.41,1.53 -0.09,-0.01 -0.18,-0.02 -0.28,-0.02 -0.26,0.01 -0.51,0.07 -0.75,0.18 -0.11,0.05 -0.14,0.2 -0.1,0.3 0.04,0.1 0.17,0.18 0.29,0.14 0.1,-0.04 0.2,-0.07 0.31,-0.09 0.02,0 0.03,-0.01 0.05,-0.01 0.01,0 0.03,0 0.04,0 0.05,0 0.11,-0.01 0.16,-0.01 0.05,0 0.1,0 0.15,0.01 0.01,0 0.05,0.01 0.06,0.01 0.02,0 0.03,0 0.05,0.01 0.06,0.01 0.11,0.02 0.17,0.03 0.04,0.16 0.09,0.32 0.13,0.48 -0.1,-0.01 -0.19,-0.01 -0.29,-0.01 -0.25,0 -0.51,-0.02 -0.76,-0.04 -0.1,-0.01 -0.19,0.09 -0.19,0.19 0.01,0.13 0.1,0.19 0.21,0.21 z m 1.95,3.04 c -0.01,0 -0.02,0 -0.03,-0.01 -0.16,-0.02 -0.32,-0.03 -0.48,-0.02 -0.28,0.01 -0.57,0.08 -0.84,0.16 -0.07,-0.25 -0.13,-0.5 -0.2,-0.75 0.02,0 0.04,0.01 0.06,0.01 0.26,-0.1 0.47,-0.14 0.74,-0.13 0.06,0 0.13,0.01 0.19,0.01 0.01,0 0.01,0 0.01,0 0.01,0 0.03,0 0.04,0.01 0.03,0.01 0.06,0.01 0.1,0.02 0.08,0.02 0.15,0.02 0.23,0.03 0.06,0.22 0.12,0.44 0.18,0.67 z m 0.41,1.54 c -0.02,-0.02 -0.03,-0.05 -0.05,-0.07 -0.03,-0.02 -0.06,-0.04 -0.09,-0.06 -0.03,-0.03 -0.06,-0.05 -0.1,-0.07 -0.03,-0.01 -0.06,-0.03 -0.09,-0.04 -0.07,-0.02 -0.15,-0.02 -0.22,-0.02 -0.12,0 -0.25,0.02 -0.37,0.05 -0.17,0.04 -0.32,0.12 -0.46,0.22 -0.09,-0.34 -0.18,-0.68 -0.27,-1.02 0.24,-0.05 0.48,-0.09 0.74,-0.07 0.14,0.01 0.25,0.03 0.4,0.06 0.07,0.02 0.14,0.03 0.21,0.05 0.02,0 0.03,0 0.05,0 0.08,0.32 0.17,0.65 0.25,0.97 z m -2.28,-8.55 c -0.01,0 -0.01,0 0,0 0,0 0,0 0,0 z m 0,0.01 c 0.07,0.26 0.14,0.52 0.21,0.78 -0.13,-0.04 -0.26,-0.03 -0.4,-0.02 -0.14,0.01 -0.27,0.03 -0.41,0.04 -0.19,0.02 -0.38,0.04 -0.56,0.07 -0.04,-0.12 -0.08,-0.24 -0.12,-0.36 0.03,-0.03 0.07,-0.05 0.1,-0.08 0.02,-0.02 0.01,-0.04 0.03,-0.05 0.09,-0.03 0.18,-0.07 0.29,-0.11 0.22,-0.08 0.45,-0.15 0.67,-0.22 0.06,-0.01 0.13,-0.03 0.19,-0.05 z m 2.56,9.93 c -0.16,-0.02 -0.33,-0.03 -0.49,-0.02 -0.27,0.02 -0.53,0.07 -0.78,0.15 -0.09,-0.34 -0.18,-0.68 -0.26,-1.01 0.01,-0.01 0.03,-0.01 0.04,-0.02 0,0 0,0 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.02,-0.02 0.05,-0.03 0.07,-0.04 0.02,-0.01 0.04,-0.02 0.06,-0.04 0.01,-0.01 0.02,-0.01 0.03,-0.02 0,0 0.01,-0.01 0.02,-0.01 0,0 0,0 0,0 0.01,-0.01 0.03,-0.01 0.04,-0.01 0.02,-0.01 0.05,-0.01 0.07,-0.02 0.02,-0.01 0.05,-0.01 0.07,-0.02 0.01,0 0.03,0 0.04,-0.01 -0.02,0.01 -0.05,0.01 -0.01,0 0.05,0 0.1,0 0.15,0 0.02,0 0.05,0 0.07,0.01 0.01,0 0.02,0 0.03,0.01 0.07,0.01 0.13,0.02 0.2,0.03 0.02,0 0.07,0 0.08,0 0.02,0 0.03,0.01 0.05,0.01 0.11,0.03 0.22,-0.03 0.27,-0.13 0.01,-0.02 0,-0.04 0,-0.06 0.11,0.42 0.22,0.83 0.33,1.25 -0.04,-0.02 -0.07,-0.03 -0.1,-0.03 z m -18.46,-5.64 c 0,-0.02 -0.01,-0.04 -0.02,-0.05 0.32,0 0.64,0 0.97,0 -0.36,0.39 -0.67,0.81 -0.96,1.27 0,-0.13 0.01,-0.26 0.01,-0.39 0.01,-0.28 0,-0.56 0,-0.83 z m -0.26,1.63 c -0.04,0.07 -0.09,0.13 -0.12,0.2 -0.12,0.23 -0.2,0.48 -0.29,0.73 0,-0.33 -0.01,-0.65 -0.01,-0.98 0,-0.31 -0.01,-0.61 -0.01,-0.92 0,-0.02 0.01,-0.03 0,-0.04 0,-0.11 0,-0.22 -0.01,-0.32 0.08,-0.06 0.07,-0.17 0,-0.24 0,-0.03 0,-0.06 0,-0.09 0.15,0 0.3,0 0.45,0 -0.01,0.02 -0.02,0.03 -0.02,0.05 0,0.27 0,0.54 0,0.81 -0.02,0.26 -0.03,0.53 0.01,0.8 z m -2.54,3.76 c -0.07,0 -0.07,0.07 -0.03,0.11 -0.51,0 -1.02,0 -1.53,0.01 -0.91,0 -1.81,0.05 -2.71,0.11 0.01,-0.02 0.03,-0.03 0.03,-0.05 -0.03,-0.39 -0.06,-0.78 -0.07,-1.17 0,-0.09 -0.14,-0.09 -0.14,0 -0.02,0.39 -0.04,0.78 -0.07,1.17 0,0.02 0.02,0.04 0.04,0.07 -0.22,0.02 -0.44,0.03 -0.66,0.05 -0.02,-0.12 -0.05,-0.25 -0.07,-0.37 -0.07,-0.37 -0.17,-0.74 -0.26,-1.11 -0.18,-0.73 -0.52,-1.44 -0.89,-2.09 -0.05,-0.08 -0.1,-0.16 -0.15,-0.24 0.07,0 0.14,-0.03 0.15,-0.1 0.04,-0.18 0.07,-0.36 0.11,-0.54 0.01,-0.03 -0.03,-0.04 -0.04,-0.06 0.15,0.01 0.29,0.01 0.44,0.02 -0.01,0.14 -0.02,0.27 -0.03,0.41 -0.11,0.03 -0.12,0.18 -0.02,0.25 0,0.01 0,0.02 0,0.03 -0.01,0.12 -0.02,0.25 -0.03,0.37 -0.01,0.13 -0.02,0.22 0.05,0.33 0.03,0.04 0.09,0.06 0.13,0.02 0.09,-0.09 0.09,-0.17 0.11,-0.29 0.02,-0.13 0.03,-0.27 0.05,-0.4 0,0 0,0 0,-0.01 0.21,0.02 0.42,0.03 0.63,0.05 0.04,0.02 0.06,0.03 0.1,0.01 0.14,0.01 0.28,0.02 0.43,0.03 -0.01,0.49 -0.01,0.99 0.04,1.48 0,0 0,0 0,0 0,0.08 0.05,0.15 0.15,0.14 0.28,-0.01 0.55,-0.02 0.83,-0.03 0.01,0.11 0.01,0.22 0.02,0.33 0.01,0.1 0.02,0.17 0.05,0.26 0.03,0.09 0.03,0.17 0.07,0.26 0.03,0.06 0.12,0.04 0.13,-0.02 0.03,-0.09 0.02,-0.19 0.04,-0.28 0.02,-0.08 0.02,-0.16 0.02,-0.24 0,-0.11 -0.01,-0.22 -0.02,-0.32 0.18,-0.01 0.37,-0.01 0.55,-0.02 l 0.85,-0.03 c 0.27,-0.01 0.55,0 0.82,-0.06 0.13,-0.03 0.14,-0.25 0,-0.27 -0.27,-0.04 -0.55,-0.01 -0.82,0 -0.28,0.01 -0.57,0.02 -0.85,0.04 -0.19,0.01 -0.38,0.02 -0.57,0.02 -0.02,-0.33 -0.05,-0.66 -0.07,-0.98 -0.01,-0.19 -0.3,-0.19 -0.29,0 0.02,0.33 0.03,0.67 0.05,1 -0.27,0.01 -0.53,0.02 -0.8,0.03 0.06,-0.43 0.09,-0.86 0.1,-1.29 0.65,0.04 1.31,0.06 1.96,0.06 0,0.01 0,0.01 0,0.02 0.01,0.29 0.03,0.59 0.09,0.87 0.02,0.1 0.19,0.1 0.2,0 0.04,-0.29 0.05,-0.6 0.04,-0.9 0.35,0 0.7,0 1.05,-0.02 0,0.21 0.02,0.43 0.05,0.64 0.01,0.06 0.1,0.05 0.11,0 0.06,-0.21 0.09,-0.42 0.11,-0.64 0.13,-0.01 0.26,-0.02 0.39,-0.03 0,0.11 -0.01,0.21 -0.01,0.32 -0.01,0.29 -0.01,0.62 0.04,0.91 0.02,0.12 0.2,0.11 0.23,0 0.07,-0.28 0.09,-0.61 0.1,-0.91 0,-0.12 0.01,-0.23 0.01,-0.35 0.24,-0.02 0.47,-0.03 0.71,-0.06 0.01,0.25 0.01,0.5 0.03,0.74 0.01,0.1 0.15,0.1 0.15,0 0.02,-0.25 0.02,-0.51 0.03,-0.76 0.01,0 0.02,0 0.03,0 0.19,-0.02 0.2,-0.32 0,-0.31 0,0 -0.01,0 -0.01,0 0,-0.23 0.01,-0.46 0.01,-0.68 0.19,-0.02 0.37,-0.05 0.55,-0.08 0,0.25 0,0.5 0,0.75 0,0.35 0,0.7 0,1.05 0,0.3 -0.01,0.61 0.07,0.9 -0.06,0.23 -0.13,0.45 -0.17,0.68 -0.08,0.42 -0.14,0.84 -0.18,1.26 -0.39,0 -0.78,0.03 -1.15,0.03 -0.1,0 -0.2,0 -0.3,0 0.06,-0.05 0.06,-0.12 -0.01,-0.12 z m -6.73,-4.24 c 0.04,0.04 0.1,0.04 0.14,0.01 0.03,0 0.06,0 0.09,0 0,0 -0.01,0 -0.01,0.01 -0.05,0.17 -0.1,0.34 -0.15,0.5 -0.11,-0.18 -0.22,-0.37 -0.34,-0.54 0.1,0.01 0.18,0.02 0.27,0.02 z m 8.47,-0.63 c -0.18,0 -0.37,0 -0.55,0.03 0,-0.05 0,-0.11 0,-0.16 0.19,0 0.37,-0.02 0.55,-0.04 0,0.05 0,0.11 0,0.17 z m -0.8,0.05 c -0.08,0.01 -0.17,0.02 -0.25,0.03 -0.13,0.01 -0.27,0.02 -0.4,0.02 0,-0.07 0,-0.15 0.01,-0.22 0.14,0 0.28,-0.01 0.42,-0.01 0.07,0 0.15,0 0.23,0 -0.01,0.06 -0.01,0.12 -0.01,0.18 z m -2.8,1.12 c -0.01,-0.17 -0.02,-0.35 -0.02,-0.52 0,-0.01 0,-0.01 0,-0.02 0.37,-0.02 0.75,-0.04 1.12,-0.07 -0.01,0.09 -0.01,0.18 -0.02,0.28 -0.01,0.1 0,0.21 -0.01,0.31 -0.36,0.01 -0.71,0.01 -1.07,0.02 z m 1.39,-0.33 c 0,-0.1 0.01,-0.2 0.01,-0.3 0.12,-0.01 0.25,-0.02 0.37,-0.04 -0.01,0.11 -0.01,0.23 -0.02,0.34 0,0.09 -0.01,0.18 -0.01,0.27 -0.13,0 -0.25,0.01 -0.38,0.02 0.02,-0.09 0.03,-0.19 0.03,-0.29 z m 0.74,0.01 c 0,-0.13 0.01,-0.25 0.01,-0.38 0.17,-0.02 0.35,-0.03 0.53,-0.05 0.04,0 0.08,-0.01 0.13,-0.01 0,0.22 0.01,0.45 0.01,0.67 -0.23,0.01 -0.45,0.02 -0.68,0.03 0,-0.09 0,-0.17 0,-0.26 z m -0.33,-0.72 c -0.13,0.01 -0.25,0.02 -0.38,0.02 0,-0.08 0.01,-0.16 0.01,-0.25 0.13,0 0.25,-0.01 0.38,-0.01 -0.01,0.08 -0.01,0.16 -0.01,0.24 z m -0.68,0.03 c -0.39,0.02 -0.78,0.02 -1.16,0.02 0,-0.08 -0.01,-0.16 -0.01,-0.24 0.4,-0.01 0.79,-0.02 1.19,-0.03 -0.01,0.08 -0.02,0.16 -0.02,0.25 z m -1.49,0.03 c -0.27,0 -0.54,0.02 -0.81,0.02 0,-0.01 0,-0.02 0,-0.03 0,-0.07 0,-0.14 0,-0.21 0.27,-0.01 0.54,-0.01 0.8,-0.02 0.01,0.07 0.01,0.15 0.01,0.24 z m -1.08,0.69 c 0.06,0.08 0.16,0.08 0.23,0 0.04,-0.05 0.05,-0.11 0.05,-0.18 0.27,-0.01 0.54,-0.04 0.82,-0.05 0.01,0.17 0.01,0.35 0.02,0.52 -0.65,0.01 -1.29,0 -1.94,-0.02 0,-0.03 0,-0.07 0,-0.1 0,-0.12 0.01,-0.24 0.01,-0.36 0.25,0 0.51,0.01 0.76,0.01 0.01,0.07 0.02,0.13 0.05,0.18 z m -1.13,0.13 c 0,0.04 0,0.08 0,0.12 -0.1,0 -0.21,-0.01 -0.31,-0.02 0,0 0,0 0,-0.01 0.01,-0.09 0,-0.19 0,-0.28 0,-0.05 0,-0.1 0,-0.15 0.11,0 0.21,0 0.32,0 -0.01,0.13 -0.01,0.24 -0.01,0.34 z m -0.65,0.09 c -0.16,-0.01 -0.33,-0.02 -0.49,-0.03 0.01,-0.13 0.03,-0.26 0.04,-0.39 0.15,0.01 0.3,0 0.45,0 0,0.05 0,0.1 0,0.15 0,0.08 -0.01,0.17 0,0.26 0,0 0,0.01 0,0.01 z m 6.83,-1.63 c -0.19,-0.01 -0.37,-0.02 -0.56,-0.01 0,-0.01 0,-0.01 0,-0.02 0.19,0 0.37,0 0.56,0 0.01,0.01 0,0.02 0,0.03 z m -0.8,-0.01 c -0.11,0 -0.22,0.01 -0.34,0.01 -0.1,0 -0.2,0 -0.3,0.01 0,-0.02 0,-0.03 0,-0.05 0.21,0 0.42,0 0.63,0 0.01,0.02 0.01,0.02 0.01,0.03 z m -0.97,0.03 c -0.13,0 -0.26,0.01 -0.38,0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.02 -0.01,-0.03 -0.02,-0.04 0.13,0 0.27,0 0.4,0 0,0.02 0,0.03 0,0.05 z m -0.67,-0.01 c 0,0.01 0,0.02 0,0.02 -0.01,0 -0.02,0 -0.03,0 -0.4,0.01 -0.8,0.02 -1.2,0.03 0,-0.03 0,-0.06 0,-0.09 0.42,0 0.84,0 1.25,0 -0.01,0.01 -0.02,0.02 -0.02,0.04 z m -1.55,-0.04 c 0,0.03 0,0.07 0,0.1 -0.27,0.01 -0.53,0.01 -0.8,0.02 0,-0.03 0,-0.05 0,-0.08 0,-0.02 -0.01,-0.03 -0.02,-0.04 0.28,0 0.55,0 0.82,0 z m -1.09,0.04 c 0,0.03 0,0.06 0,0.08 -0.04,0 -0.08,0 -0.12,0 -0.26,0.01 -0.26,0.41 0,0.4 0.04,0 0.07,0 0.11,0 0,0.07 0,0.14 0,0.2 0,0.01 0,0.02 0,0.02 -0.25,0 -0.5,-0.01 -0.75,-0.01 0.01,-0.25 0.01,-0.5 0.02,-0.76 0.26,0 0.51,0 0.77,0 -0.02,0.04 -0.03,0.05 -0.03,0.07 z m -1.08,0.71 c -0.11,0 -0.23,0 -0.34,0 0,-0.25 0,-0.5 -0.01,-0.75 0.12,0 0.25,0 0.37,0 0,0.25 -0.01,0.5 -0.02,0.75 z m -0.66,-0.01 c -0.14,0 -0.27,0 -0.41,0 0.02,-0.25 0.04,-0.5 0.07,-0.75 0.12,0 0.23,0 0.35,0 -0.01,0.25 -0.01,0.5 -0.01,0.75 z m -0.74,-0.01 c -0.22,-0.01 -0.44,-0.02 -0.66,-0.03 0,-0.12 0,-0.23 0,-0.35 0,-0.12 0,-0.23 0,-0.35 0.12,0 0.25,-0.01 0.37,0 0.12,0 0.24,0 0.36,0 -0.02,0.24 -0.04,0.48 -0.07,0.73 z m -1,-0.05 c -0.19,-0.01 -0.38,-0.01 -0.58,-0.01 -0.1,-0.13 -0.19,-0.26 -0.3,-0.38 -0.09,-0.1 -0.19,-0.19 -0.28,-0.28 0.39,0.01 0.78,0.01 1.16,0 0,0.12 0,0.23 0,0.35 0,0.09 0,0.2 0,0.32 z m -12.78,-2.21 c 0.21,0.11 0.44,0.21 0.66,0.31 0.41,0.18 0.82,0.37 1.22,0.59 0.79,0.42 1.55,0.92 2.25,1.47 1.38,1.09 2.52,2.49 3.18,4.13 0.38,0.92 0.56,1.85 0.59,2.8 -0.47,-0.02 -0.95,0.02 -1.37,0.02 -0.94,-0.01 -1.88,-0.02 -2.82,-0.03 -1.84,-0.01 -3.69,-0.06 -5.53,-0.01 0,0 -0.01,0 -0.01,0 0.63,-3.09 1.24,-6.18 1.83,-9.28 z m 51.54,46.96 c 0.01,0.08 0.02,0.15 0.03,0.23 -0.05,0.01 -0.09,0.01 -0.14,0.02 0.03,-0.17 0.05,-0.33 0.06,-0.5 0.01,0.08 0.03,0.17 0.05,0.25 z m -43.49,0.06 c 7.35,0.12 14.72,-0.06 22.07,-0.3 7.03,-0.22 14.07,-0.68 20.99,-1.83 0.02,0.1 0.05,0.2 0.07,0.3 -0.01,0.02 -0.03,0.04 -0.03,0.07 -0.04,0.37 -0.07,0.73 -0.11,1.1 -0.02,0.18 -0.03,0.36 -0.05,0.54 -0.01,0.13 -0.01,0.26 -0.01,0.39 -0.33,0.06 -0.67,0.11 -1,0.16 0,-0.07 0.02,-0.13 0.02,-0.2 0.02,-0.2 0.03,-0.39 0.05,-0.59 0.03,-0.4 0.07,-0.8 0.1,-1.2 0.02,-0.22 -0.32,-0.22 -0.34,0 -0.04,0.46 -0.08,0.92 -0.12,1.38 -0.02,0.22 -0.04,0.43 -0.05,0.65 -0.56,0.08 -1.11,0.19 -1.67,0.26 0,-0.16 0,-0.32 0,-0.48 0,-0.34 0,-0.68 0,-1.02 0,-0.24 -0.37,-0.24 -0.37,0 0,0.34 0,0.68 0,1.02 0,0.17 0,0.33 0,0.5 0,0.01 0,0.02 0,0.04 -0.66,0.09 -1.33,0.15 -1.99,0.23 -0.03,-0.1 -0.06,-0.21 -0.07,-0.31 -0.02,-0.34 0.06,-0.67 0.24,-0.95 0.11,-0.18 -0.18,-0.35 -0.29,-0.17 -0.21,0.34 -0.31,0.74 -0.28,1.14 0.01,0.11 0.04,0.22 0.07,0.34 -0.65,0.07 -1.31,0.16 -1.96,0.22 0,-0.08 0.01,-0.16 0.01,-0.24 v -0.6 c 0,-0.16 -0.24,-0.16 -0.24,0 v 0.6 c 0,0.09 0.01,0.18 0.01,0.27 -0.77,0.07 -1.54,0.13 -2.31,0.19 0,-0.35 0,-0.7 0,-1.05 0,-0.22 -0.35,-0.22 -0.35,0 0,0.36 0,0.72 0,1.08 -0.88,0.07 -1.75,0.15 -2.63,0.2 0,-0.03 -0.02,-0.05 -0.02,-0.08 0.01,-0.2 -0.3,-0.2 -0.31,0 0,0.03 0.01,0.07 0.01,0.1 -1.49,0.09 -2.98,0.17 -4.47,0.23 -7.16,0.29 -14.35,0.43 -21.52,0.43 -3.26,0 -6.52,-0.06 -9.77,-0.19 0,-0.02 0.02,-0.02 0.02,-0.04 0.01,-0.05 0.02,-0.11 0.03,-0.16 0.02,-0.12 0.04,-0.24 0.06,-0.37 0.03,-0.24 0.07,-0.48 0.1,-0.73 0.02,-0.12 -0.03,-0.27 -0.17,-0.3 -0.11,-0.03 -0.28,0.03 -0.3,0.17 -0.03,0.24 -0.07,0.48 -0.1,0.73 -0.02,0.13 -0.04,0.26 -0.05,0.39 -0.01,0.1 -0.02,0.2 -0.01,0.29 -0.65,-0.03 -1.31,-0.07 -1.96,-0.11 -0.01,-0.04 -0.03,-0.08 -0.04,-0.12 -0.06,-0.28 -0.06,-0.58 0,-0.87 0.05,-0.25 -0.32,-0.35 -0.38,-0.1 -0.08,0.35 -0.08,0.71 0,1.06 0,0 0,0.01 0,0.01 -0.64,-0.04 -1.28,-0.07 -1.93,-0.12 -0.06,-0.24 -0.12,-0.49 -0.18,-0.73 -0.06,-0.24 -0.44,-0.14 -0.38,0.1 0.05,0.2 0.1,0.4 0.15,0.61 -0.64,-0.05 -1.29,-0.1 -1.93,-0.15 0,0 0,-0.01 0,-0.01 0,-0.24 0,-0.47 0,-0.71 0,-0.2 -0.31,-0.2 -0.31,0 0,0.23 0,0.46 0,0.69 -0.45,-0.04 -0.9,-0.09 -1.35,-0.13 0,-0.02 0,-0.04 0,-0.06 l -0.01,-0.9 c 0,-0.17 -0.27,-0.17 -0.27,0 l 0.01,0.9 c 0,0.01 0,0.02 0,0.04 -0.63,-0.06 -1.26,-0.11 -1.89,-0.19 0.02,-0.38 0.01,-0.77 0.01,-1.15 0,-0.44 0,-0.89 0,-1.33 0.19,-1.07 0.41,-2.13 0.62,-3.2 0,-0.02 0.01,-0.05 0.01,-0.07 3.77,0.78 7.63,1.13 11.46,1.41 3.92,0.29 7.84,0.46 11.77,0.52 7.78,0.11 15.54,-0.43 23.29,-1.09 2.19,-0.19 4.37,-0.41 6.56,-0.67 1.09,-0.13 2.18,-0.22 3.27,-0.35 0.86,-0.11 1.7,-0.2 2.52,-0.46 0.1,0.36 0.19,0.73 0.29,1.09 -5.92,0.99 -11.94,1.45 -17.96,1.7 -7.13,0.29 -14.28,0.43 -21.41,0.43 -6.61,0 -13.24,-0.2 -19.81,-0.92 -0.19,0.53 -0.37,1.07 -0.53,1.61 5.69,0.66 11.4,0.97 17.12,1.06 z m -15.51,-7.29 c -0.03,-0.22 -0.04,-0.45 -0.05,-0.68 0.04,0 0.08,-0.01 0.12,-0.01 0.06,0.25 0.12,0.5 0.19,0.75 -0.03,0 -0.05,0.01 -0.08,0.01 -0.06,0.01 -0.11,0.01 -0.17,0.02 0.01,-0.03 0,-0.06 -0.01,-0.09 z m 0.07,-2.34 c 0.1,0 0.19,0 0.29,-0.01 -0.01,0.15 -0.01,0.29 -0.02,0.44 -0.13,0 -0.26,0 -0.39,0.01 0,-0.02 0,-0.05 0,-0.07 0,-0.02 -0.01,-0.02 -0.01,-0.04 0.02,-0.11 0.04,-0.22 0.06,-0.32 0.03,-0.01 0.05,-0.01 0.07,-0.01 z m 0.25,0.82 c 0,0.06 -0.01,0.12 -0.01,0.17 -0.14,-0.11 -0.4,-0.01 -0.35,0.22 -0.01,0 -0.02,0 -0.03,0 0,-0.13 0.01,-0.27 0.01,-0.4 0.13,0.01 0.26,0.01 0.38,0.01 z m 0.78,2.88 c -0.03,-0.12 -0.07,-0.23 -0.09,-0.35 -0.06,-0.23 -0.12,-0.46 -0.19,-0.69 0.02,-0.05 0.06,-0.09 0.08,-0.14 0.03,-0.11 -0.07,-0.22 -0.17,-0.22 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 l 0.02,-0.54 c 0.01,0 0.03,0 0.04,0 0.11,0.01 0.23,0.03 0.34,0.03 0,0.24 0,0.49 -0.01,0.73 0,0.41 -0.01,0.82 0,1.24 z m -0.88,-0.38 c 0,0.05 -0.01,0.1 -0.01,0.15 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 0.01,-0.01 0.03,-0.02 0.04,-0.03 z m 0.43,0.59 c 0.02,0.05 0.04,0.09 0.06,0.13 -0.03,0 -0.05,0 -0.08,-0.01 0.01,-0.04 0.02,-0.08 0.02,-0.12 z m 0.46,-2.62 c -0.11,-0.03 -0.24,-0.05 -0.33,-0.06 -0.01,0 -0.03,0 -0.04,0 v -0.02 c 0,-0.13 0.01,-0.26 0.01,-0.39 0.12,0 0.24,0 0.37,0 0,0.16 -0.01,0.31 -0.01,0.47 z m -0.74,-1.62 c 0,0 0,0 0,0 -0.1,-0.02 -0.2,-0.01 -0.3,-0.01 0.05,-0.24 0.09,-0.47 0.14,-0.71 0.01,-0.07 0.03,-0.13 0.04,-0.2 0.05,0 0.11,0.01 0.16,0.01 -0.01,0.3 -0.02,0.6 -0.04,0.91 z m -0.76,2.32 c 0.01,0.14 0.01,0.28 0.02,0.42 0,0.02 0.01,0.04 0.01,0.05 -0.04,0 -0.08,0.01 -0.12,0.01 0.03,-0.16 0.06,-0.32 0.09,-0.48 z m 0.21,1.63 c 0.03,0.13 0.07,0.26 0.12,0.38 -0.24,-0.01 -0.48,-0.03 -0.72,-0.05 0,-0.01 0,-0.02 0.01,-0.03 0.21,-0.08 0.41,-0.19 0.59,-0.3 z m 48.88,-0.27 c -0.12,0 -0.24,0.01 -0.36,0.01 -0.1,0 -0.19,0.08 -0.19,0.19 0,0.1 0.08,0.18 0.19,0.19 0.12,0 0.25,0.01 0.38,0.01 0.04,0 0.07,0 0.11,0 0.04,0.09 0.07,0.19 0.13,0.28 0.04,0.06 0.12,0.1 0.19,0.08 0.03,-0.01 0.05,-0.02 0.08,-0.04 0.04,-0.03 0.06,-0.12 0.04,-0.17 -0.03,-0.08 -0.04,-0.16 -0.07,-0.23 0.02,-0.02 0.06,-0.02 0.07,-0.06 0.01,-0.03 0.01,-0.07 0,-0.1 -0.03,-0.07 -0.09,-0.11 -0.16,-0.12 -0.03,-0.1 -0.07,-0.2 -0.09,-0.3 -0.03,-0.18 -0.01,-0.37 0.01,-0.55 0.25,0 0.51,0 0.76,0 0.01,0.16 0.02,0.33 0.03,0.49 0,0.08 0.01,0.16 0.01,0.24 -0.01,0 -0.01,-0.01 -0.03,-0.01 -0.22,0 -0.22,0.34 0,0.34 0.02,0 0.03,-0.01 0.04,-0.02 0.01,0.16 0.02,0.34 0.11,0.46 0.05,0.06 0.15,0.03 0.19,-0.02 0.05,-0.08 0.04,-0.17 0.05,-0.26 0,-0.08 0,-0.16 0,-0.23 -0.01,-0.18 -0.03,-0.35 -0.04,-0.53 l -0.04,-0.47 c 0.06,0 0.12,0 0.18,0 0.05,0.3 0.1,0.6 0.15,0.9 0.04,0.24 0.08,0.47 0.12,0.71 -1.11,0.14 -2.22,0.28 -3.33,0.4 0,0 0.01,0 0.01,-0.01 0.02,-0.09 -0.01,-0.17 -0.04,-0.26 -0.03,-0.08 -0.05,-0.17 -0.08,-0.25 -0.05,-0.16 -0.08,-0.32 -0.11,-0.48 -0.04,-0.29 -0.02,-0.59 0.03,-0.88 0.32,0 0.64,0 0.93,-0.09 0.03,-0.01 0.03,-0.04 0.05,-0.07 0.21,0.01 0.43,0.01 0.64,0.01 -0.02,0.28 -0.01,0.56 0.04,0.84 z m -17.84,0.28 c -0.01,-0.03 -0.01,-0.06 -0.01,-0.08 0.25,0 0.52,-0.01 0.77,-0.05 0.11,-0.02 0.1,-0.19 0,-0.22 -0.25,-0.07 -0.53,-0.09 -0.78,-0.11 -0.01,0 -0.03,0 -0.04,0 -0.01,-0.08 -0.03,-0.15 -0.03,-0.23 0.43,0 0.86,-0.01 1.29,-0.01 0.01,0.4 0.03,0.79 0.04,1.19 0,0.03 0,0.06 0,0.08 -0.13,-0.01 -0.26,-0.02 -0.38,-0.02 -0.23,0 -0.46,0.01 -0.69,0.02 -0.07,-0.2 -0.13,-0.38 -0.17,-0.57 z m 3.38,0.15 c 0.31,0.01 0.62,0.01 0.94,0.01 0.02,0.14 0.04,0.29 0.06,0.43 -0.05,0 -0.1,0 -0.14,0 -0.37,0 -0.74,0.03 -1.11,0.05 -0.03,-0.14 -0.07,-0.27 -0.1,-0.41 -0.08,-0.32 -0.16,-0.64 -0.24,-0.96 0.2,0 0.4,-0.01 0.6,-0.01 0.2,-0.01 0.4,-0.02 0.59,-0.03 0.07,-0.01 0.14,-0.01 0.22,-0.01 l 0.07,0.63 c -0.3,0.01 -0.6,0 -0.89,0.01 -0.19,0 -0.19,0.28 0,0.29 z m -0.93,-0.88 c 0.08,0.34 0.15,0.68 0.23,1.03 0.03,0.12 0.05,0.23 0.08,0.35 -0.08,0 -0.16,0.01 -0.25,0.01 -0.29,-0.02 -0.58,-0.05 -0.87,-0.07 0,-0.04 -0.01,-0.09 -0.01,-0.13 -0.02,-0.39 -0.05,-0.78 -0.07,-1.17 0.18,0 0.36,0 0.54,-0.01 0.12,0 0.23,-0.01 0.35,-0.01 z m -1.66,1.73 c 0.15,0.01 0.31,0 0.46,0 0.01,0.15 0.02,0.3 0.04,0.45 -0.29,0.01 -0.58,0.04 -0.87,0.08 0.01,-0.18 -0.06,-0.38 -0.13,-0.56 0.16,0.01 0.33,0.02 0.5,0.03 z m 0.88,0 c 0.28,-0.01 0.56,-0.03 0.84,-0.03 0.11,0 0.22,0.01 0.33,0.02 0.04,0.15 0.08,0.3 0.13,0.44 0.06,0.15 0.31,0.14 0.3,-0.04 -0.01,-0.13 -0.04,-0.25 -0.07,-0.38 0.32,0.03 0.64,0.07 0.97,0.08 0.1,0 0.2,0.01 0.3,0.01 0.03,0.12 0.07,0.23 0.13,0.34 0.04,0.08 0.18,0.07 0.2,-0.03 0.02,-0.1 0.03,-0.2 0.03,-0.3 0.34,0.01 0.68,0 0.99,-0.09 0.16,-0.04 0.15,-0.26 0,-0.31 -0.32,-0.1 -0.67,-0.12 -1.02,-0.12 -0.02,-0.14 -0.04,-0.29 -0.06,-0.43 0.37,0.01 0.74,0.01 1.11,0.02 0,0.03 0,0.06 0,0.09 0.01,0.16 0,0.37 0.08,0.51 0.05,0.1 0.2,0.07 0.23,-0.03 0.05,-0.15 0.02,-0.35 0.01,-0.5 0,-0.02 0,-0.04 0,-0.06 0.48,0.01 0.95,0.02 1.43,0.02 0,0.01 0,0.02 0.01,0.02 0.04,0.13 0.25,0.12 0.26,-0.02 0.1,0 0.2,0 0.3,0 0.26,0 0.51,0 0.77,0 0.01,0.05 0.02,0.1 0.03,0.14 0.03,0.08 0.06,0.16 0.1,0.24 -0.52,0.02 -1.04,0.04 -1.56,0.06 -0.29,0.01 -0.29,0.44 0,0.44 0.72,0.01 1.44,0.04 2.16,0.04 0.74,0.01 1.48,-0.09 2.22,-0.11 0.72,-0.02 1.44,-0.02 2.16,-0.01 0.32,0.01 0.64,0.02 0.97,0.03 -3.63,0.38 -7.31,0.68 -10.96,0.73 -0.8,0.01 -1.6,0.01 -2.4,0.02 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.25 0.01,-0.51 0,-0.77 z m 6.03,-1.7 c -0.02,-0.09 -0.04,-0.18 -0.06,-0.27 0.37,0 0.74,0 1.12,0 0,0.22 0.02,0.44 0.05,0.65 0,0.03 0.02,0.06 0.02,0.09 -0.22,0 -0.45,0 -0.67,0 -0.12,0 -0.25,0.01 -0.37,0.01 -0.03,-0.16 -0.06,-0.32 -0.09,-0.48 z m 6.41,1.31 c -0.74,0.03 -1.48,0.04 -2.22,0.03 -0.72,0 -1.44,-0.09 -2.16,-0.07 -0.1,0 -0.19,0.01 -0.29,0.01 -0.03,-0.11 -0.06,-0.23 -0.09,-0.33 0,-0.01 -0.01,-0.03 -0.01,-0.04 0.39,0 0.77,0 1.16,-0.01 0.04,0 0.08,0 0.12,0 0.01,0.11 0.02,0.23 0.07,0.32 0.06,0.11 0.2,0.07 0.24,-0.03 0.03,-0.09 0.03,-0.19 0.02,-0.3 0.25,0 0.49,-0.01 0.74,-0.01 0.1,0 0.22,0 0.33,0 0,0.01 0,0.03 0.01,0.04 0.04,0.15 0.28,0.13 0.28,-0.04 0,0 0,-0.01 0,-0.01 0.19,-0.01 0.38,-0.02 0.55,-0.09 0.09,-0.04 0.09,-0.15 0,-0.18 -0.18,-0.07 -0.38,-0.09 -0.59,-0.09 -0.02,-0.19 -0.04,-0.39 -0.07,-0.58 -0.01,-0.09 -0.03,-0.18 -0.04,-0.28 0.02,0 0.05,0 0.07,0 0.32,0 0.63,0.01 0.95,0.03 0.04,0.2 0.08,0.4 0.13,0.6 0.03,0.16 0.07,0.31 0.1,0.47 0.02,0.08 0.05,0.15 0.07,0.23 0.02,0.08 0.04,0.16 0.08,0.23 0.05,0.08 0.16,0.04 0.16,-0.04 0.01,-0.08 -0.01,-0.16 -0.02,-0.25 -0.01,-0.07 -0.01,-0.15 -0.03,-0.22 -0.03,-0.16 -0.07,-0.32 -0.1,-0.48 -0.04,-0.17 -0.07,-0.35 -0.11,-0.52 0.41,0.02 0.82,0.04 1.24,0.04 0.12,0 0.25,0 0.37,0 0.04,0.17 0.09,0.34 0.13,0.52 0.04,0.17 0.09,0.33 0.13,0.5 0.05,0.17 0.08,0.38 0.2,0.51 0.07,0.08 0.21,0.04 0.24,-0.06 0.04,-0.18 -0.04,-0.37 -0.09,-0.55 -0.04,-0.17 -0.09,-0.33 -0.13,-0.5 -0.04,-0.14 -0.08,-0.28 -0.11,-0.42 0.14,0 0.28,0 0.41,0 -0.04,0.3 -0.06,0.6 -0.02,0.9 0.02,0.19 0.06,0.37 0.11,0.55 0.01,0.05 0.04,0.09 0.05,0.14 -0.62,-0.09 -1.26,-0.04 -1.88,-0.02 z m -4.92,-1 c -0.03,-0.19 -0.05,-0.38 -0.06,-0.57 0.21,0 0.42,0.01 0.63,0 0.26,-0.01 0.52,-0.02 0.78,-0.03 0.01,0.18 0.02,0.37 0.04,0.55 0.01,0.08 0.01,0.15 0.02,0.23 -0.01,0 -0.02,0 -0.04,0 -0.44,0 -0.88,0 -1.32,-0.01 -0.02,-0.06 -0.04,-0.11 -0.05,-0.17 z m 2.67,-0.31 c 0.02,0.17 0.06,0.34 0.09,0.51 -0.07,0 -0.14,0 -0.2,0 -0.28,-0.01 -0.55,-0.01 -0.83,-0.02 -0.01,-0.09 -0.01,-0.17 -0.02,-0.26 -0.01,-0.18 -0.02,-0.37 -0.04,-0.55 0.32,-0.01 0.63,-0.02 0.95,-0.03 z m -4.62,-0.27 c 0.03,0 0.05,0 0.08,0 0.02,0.11 0.05,0.23 0.07,0.34 0.03,0.14 0.07,0.28 0.11,0.42 -0.45,0 -0.9,0.01 -1.36,0.02 0,-0.02 0,-0.05 -0.01,-0.07 -0.02,-0.31 -0.05,-0.63 -0.07,-0.94 0.33,0 0.66,0 0.99,0.01 -0.02,0.1 0.04,0.22 0.19,0.22 z m -1.48,-0.24 c 0.02,0.32 0.04,0.64 0.06,0.97 0,0.02 0,0.04 0,0.06 -0.38,0.01 -0.76,0.01 -1.14,0.02 -0.04,-0.23 -0.07,-0.45 -0.11,-0.68 0.02,-0.01 0.03,0 0.05,-0.01 0.17,-0.07 0.18,-0.29 0,-0.36 0.39,0 0.77,0 1.14,0 z m -5.9,0.06 c 0,-0.03 0,-0.06 0,-0.09 0.71,0 1.43,0.01 2.14,0.01 -0.71,0.02 -1.43,0.05 -2.14,0.08 z m -0.36,0.02 c -0.25,0.04 -0.26,0.42 0.01,0.43 0,0.07 0.02,0.13 0.02,0.2 -0.13,-0.01 -0.25,-0.02 -0.38,-0.03 -0.19,-0.01 -0.37,-0.01 -0.56,-0.02 -0.03,-0.23 -0.06,-0.47 -0.08,-0.7 0.33,0 0.66,0 0.99,0.01 0,0.04 0,0.08 0,0.11 z m -1.33,-0.12 c 0.02,0.23 0.05,0.46 0.07,0.69 -0.24,-0.01 -0.48,-0.02 -0.71,-0.02 -0.27,-0.01 -0.27,0.41 0,0.42 0.25,0.01 0.51,0.02 0.76,0.03 0.02,0.18 0.04,0.36 0.06,0.55 0.02,0.2 0.02,0.41 0.09,0.61 0.05,0.13 0.28,0.17 0.31,0 0.03,-0.21 -0.01,-0.4 -0.03,-0.61 -0.02,-0.18 -0.04,-0.35 -0.06,-0.53 0.17,0.01 0.34,0.01 0.51,0.02 0.14,0.01 0.29,0 0.43,0 0.01,0.05 0.01,0.11 0.02,0.16 0.03,0.17 0.08,0.33 0.12,0.49 -0.2,0.01 -0.4,0.02 -0.6,0.01 -0.2,0 -0.2,0.3 0,0.31 0.23,0.01 0.46,0.03 0.69,0.04 0.06,0.2 0.15,0.46 0.3,0.63 -0.01,0 -0.02,0 -0.02,0 -0.44,0.04 -0.87,0.06 -1.31,0.07 -0.89,0.02 -1.78,-0.04 -2.66,-0.18 -0.22,-0.04 -0.32,0.3 -0.09,0.34 0.01,0 0.03,0 0.04,0.01 -0.82,0 -1.64,-0.01 -2.46,-0.02 0.04,-0.21 0.03,-0.44 0.03,-0.63 0,-0.31 -0.01,-0.61 -0.01,-0.92 0,-0.1 0,-0.21 -0.01,-0.31 0.29,0 0.57,0 0.86,-0.01 0.27,0 0.55,-0.01 0.82,-0.02 v 0.07 c 0,0.24 0.02,0.49 0.05,0.73 0.01,0.07 0.1,0.07 0.11,0 0.03,-0.24 0.05,-0.49 0.05,-0.73 v -0.08 c 0.01,0 0.01,0 0.02,0 0.15,-0.02 0.15,-0.22 0,-0.24 -0.01,0 -0.01,0 -0.02,0 v -0.41 c 0,0 0,0 0,0 0.18,0 0.37,0.01 0.55,0.01 0.12,0 0.15,-0.19 0.03,-0.21 -0.73,-0.16 -1.48,-0.25 -2.23,-0.32 1.42,0.04 2.86,0.05 4.29,0.05 z m -17.75,2.53 c -0.02,-0.01 -0.03,-0.02 -0.05,-0.02 -0.02,0 -0.02,0.01 -0.03,0.01 -0.61,-0.04 -1.23,-0.09 -1.84,-0.15 0,-0.14 0.01,-0.29 -0.01,-0.44 0,-0.03 -0.03,-0.05 -0.05,-0.06 -0.02,-0.22 -0.04,-0.45 -0.06,-0.67 0.2,0 0.4,-0.01 0.6,-0.01 0,0.03 0,0.07 0,0.1 0,0.1 0.01,0.2 0.02,0.31 0.01,0.1 0,0.21 0.06,0.29 -0.25,-0.01 -0.25,0.39 0.01,0.41 1.43,0.14 2.86,0.25 4.3,0.33 0,0.02 0.01,0.04 0.02,0.06 -0.79,-0.04 -1.59,-0.07 -2.39,-0.13 -0.2,0 -0.39,-0.02 -0.58,-0.03 z m -1.08,-0.93 c 0,-0.09 -0.01,-0.19 -0.01,-0.28 0,-0.04 -0.01,-0.08 -0.01,-0.13 0.25,0 0.51,0.01 0.76,0.01 0,0.01 0,0.03 0,0.04 0,0.05 0.03,0.09 0.05,0.13 0.04,0.09 0.2,0.09 0.24,0 0.02,-0.04 0.04,-0.07 0.04,-0.11 0,-0.02 0,-0.04 0,-0.06 0.19,0 0.38,0 0.57,0.01 0.01,0.12 0.01,0.24 0.02,0.36 0.01,0.15 0.03,0.31 0.04,0.46 -0.58,-0.04 -1.15,-0.08 -1.73,-0.13 0,0 0,0 0,0 0.05,-0.09 0.03,-0.19 0.03,-0.3 z m 1.97,0.46 c 0,-0.16 0.01,-0.32 0,-0.48 -0.01,-0.12 -0.01,-0.24 -0.02,-0.36 0.25,0.01 0.5,0.02 0.75,0.03 0.01,0.12 0.02,0.24 0.05,0.36 0.04,0.15 0.23,0.1 0.24,-0.03 0.01,-0.1 0.01,-0.21 0,-0.31 0.3,0.01 0.59,0.02 0.89,0.04 0.02,0.27 0.04,0.55 0.06,0.82 0,0.02 0,0.05 0.01,0.07 -0.66,-0.05 -1.32,-0.1 -1.98,-0.14 z m 1.88,-1.27 c -0.3,-0.02 -0.59,-0.02 -0.89,-0.04 0,-0.04 -0.01,-0.08 -0.01,-0.11 0,-0.06 -0.01,-0.12 -0.01,-0.18 0.3,0 0.6,0 0.89,-0.08 0,0.13 0.01,0.27 0.02,0.41 z m -1.19,-0.13 c 0,0.03 0,0.06 0,0.08 -0.25,-0.01 -0.5,-0.02 -0.74,-0.03 -0.01,-0.08 -0.01,-0.16 -0.02,-0.25 0.25,0 0.5,0 0.75,0 0,0.07 0.01,0.13 0.01,0.2 z m -1.05,0.05 c -0.18,0 -0.36,0 -0.55,0 0,-0.06 0,-0.11 0,-0.17 0,-0.03 0,-0.05 0,-0.08 0.18,0 0.36,0.01 0.54,0.01 0.01,0.07 0.01,0.16 0.01,0.24 z m -0.87,-0.17 c 0,0.06 0,0.11 0,0.17 -0.27,0 -0.53,-0.01 -0.8,-0.01 0,0 0,-0.01 0,-0.01 -0.01,-0.08 -0.01,-0.16 -0.02,-0.24 0.27,0 0.54,0.01 0.81,0.01 z m 3.56,2.11 c 0.86,0.05 1.72,0.1 2.58,0.13 1.2,0.04 2.39,0.06 3.59,0.07 1.12,0 2.27,0.05 3.39,-0.14 0,0.04 0,0.08 0,0.12 0,0.08 0,0.15 0.01,0.22 -3.19,-0.05 -6.38,-0.16 -9.57,-0.33 0,-0.03 0,-0.05 0,-0.07 z m 8.74,-0.73 c -0.02,-0.26 -0.06,-0.52 -0.09,-0.78 l -0.12,-0.93 c 0.35,0.04 0.7,0.08 1.05,0.12 -0.01,0.39 -0.02,0.78 -0.02,1.18 0,0.29 -0.01,0.59 -0.01,0.88 0,0.02 0,0.05 0,0.07 -0.27,-0.03 -0.53,-0.06 -0.8,-0.07 0,-0.16 0.01,-0.32 -0.01,-0.47 z m -1.73,-1.38 c 0.01,0.08 0.01,0.17 0.02,0.25 -0.09,0.01 -0.18,0.02 -0.27,0.03 -0.23,0.02 -0.47,0.02 -0.7,0.03 0,-0.06 0,-0.12 0,-0.18 v -0.55 c 0.26,0 0.52,-0.01 0.77,0 0.05,0 0.1,0 0.15,0.01 0.01,0.13 0.02,0.27 0.03,0.41 z m -2.48,0.26 c -0.03,-0.2 -0.06,-0.4 -0.09,-0.6 0.28,-0.03 0.57,-0.07 0.86,-0.08 0.16,-0.01 0.31,0 0.47,0 v 0.55 c 0,0.07 0,0.13 0,0.2 -0.04,0 -0.08,0 -0.12,0.01 -0.37,0.01 -0.74,0 -1.1,0.02 -0.01,-0.04 -0.01,-0.07 -0.02,-0.1 z m 7.12,0.11 c -0.27,-0.02 -0.55,-0.02 -0.82,-0.02 -0.29,0 -0.58,0 -0.87,-0.01 0,-0.17 -0.01,-0.34 -0.01,-0.51 0.57,0.06 1.13,0.11 1.7,0.13 0,0 0,0 0,0 z m -9.15,-1.01 c 0,0.02 0.01,0.04 0.01,0.06 -0.13,0.02 -0.25,0.04 -0.38,0.06 -0.22,0.04 -0.17,0.41 0.05,0.38 0.13,-0.01 0.26,-0.03 0.39,-0.04 0.02,0.1 0.03,0.2 0.05,0.3 0.02,0.14 0.04,0.27 0.07,0.41 0.03,0.13 0.04,0.27 0.1,0.39 0.03,0.05 0.12,0.05 0.13,-0.02 0.02,-0.13 -0.02,-0.27 -0.03,-0.4 -0.02,-0.14 -0.04,-0.28 -0.07,-0.42 -0.02,-0.09 -0.03,-0.19 -0.05,-0.28 0.31,-0.03 0.62,-0.05 0.93,-0.09 0.14,-0.02 0.29,-0.03 0.43,-0.04 0.03,0.21 0.05,0.41 0.08,0.62 0,0.02 0.01,0.05 0.01,0.07 -0.28,0.02 -0.57,0.04 -0.85,0.07 -0.22,0.02 -0.23,0.36 0,0.35 0.3,-0.01 0.61,-0.02 0.91,-0.03 0.01,0.07 0.02,0.14 0.03,0.21 0.03,0.11 0.05,0.22 0.08,0.32 0.03,0.13 0.1,0.28 0.09,0.41 0,0.04 0.03,0.07 0.06,0.08 0.15,0.05 0.28,-0.12 0.2,-0.26 -0.03,-0.05 -0.11,-0.02 -0.09,0.04 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.01,-0.1 0,-0.21 0,-0.3 -0.01,-0.12 -0.01,-0.24 -0.02,-0.36 0,-0.06 -0.02,-0.13 -0.02,-0.19 0.37,-0.02 0.73,-0.08 1.1,-0.11 0.03,0 0.06,0 0.09,-0.01 0,0.11 0.01,0.21 0.05,0.31 0.03,0.07 0.14,0.07 0.17,0 0.04,-0.1 0.05,-0.22 0.05,-0.33 0.26,-0.02 0.53,-0.05 0.79,-0.05 0.07,0 0.14,0 0.2,0 0.01,0.14 0.01,0.29 0.08,0.4 0.05,0.08 0.19,0.1 0.23,0 0.06,-0.13 0.04,-0.27 0.03,-0.4 0.19,0 0.37,-0.02 0.56,-0.06 0.18,-0.04 0.12,-0.28 -0.04,-0.3 -0.18,-0.02 -0.36,-0.01 -0.54,0.01 -0.01,-0.07 -0.01,-0.14 -0.02,-0.22 -0.01,-0.13 -0.02,-0.27 -0.03,-0.4 0.09,0 0.19,0.01 0.28,0.01 0.2,0.01 0.4,0.02 0.6,0 0.04,0.33 0.08,0.65 0.12,0.98 0.03,0.26 0.06,0.51 0.1,0.76 0.02,0.12 0.04,0.24 0.07,0.35 0.01,0.04 0.03,0.09 0.03,0.13 -0.82,-0.02 -1.65,0.01 -2.47,0.01 -0.98,0 -1.96,-0.03 -2.93,-0.06 0.02,-0.03 0.04,-0.05 0.06,-0.07 0.02,-0.02 0.01,-0.06 -0.01,-0.08 -0.02,-0.02 -0.06,-0.03 -0.08,-0.01 -0.08,0.05 -0.14,0.11 -0.22,0.17 -0.11,0 -0.23,0 -0.34,-0.01 -0.84,-0.03 -1.68,-0.08 -2.52,-0.12 0,-0.03 0,-0.06 0,-0.09 -0.02,-0.27 -0.04,-0.54 -0.06,-0.81 0.28,0.01 0.56,0.03 0.84,0.04 0.2,0.01 0.41,0.02 0.62,0.02 0,0.07 0,0.14 0,0.21 0.01,0.17 0.26,0.17 0.27,0 0,-0.07 0,-0.15 0,-0.22 0.05,-0.01 0.11,0 0.17,-0.01 0.15,-0.03 0.12,-0.24 0,-0.28 -0.05,-0.02 -0.11,-0.02 -0.17,-0.04 0,-0.37 0.01,-0.75 0,-1.12 0.28,0.02 0.56,0.03 0.84,0.03 z m 0.2,0.01 c 0.06,0 0.12,0 0.17,0 -0.06,0.01 -0.11,0.02 -0.17,0.03 0,-0.01 0,-0.02 0,-0.03 z m -1.32,-0.02 c -0.01,0.36 0,0.71 0,1.07 -0.19,-0.03 -0.38,-0.05 -0.55,-0.07 -0.31,-0.03 -0.63,-0.06 -0.94,-0.08 -0.03,-0.32 -0.05,-0.63 -0.08,-0.95 0.52,0 1.05,0.02 1.57,0.03 z m -1.89,-0.04 c 0.01,0.08 0.01,0.17 0.02,0.25 -0.29,-0.08 -0.6,-0.08 -0.91,-0.08 0,-0.06 -0.01,-0.12 -0.01,-0.19 0.29,0.01 0.6,0.01 0.9,0.02 z m -1.17,-0.02 c 0,0.06 0.01,0.13 0.01,0.19 -0.25,0 -0.5,-0.01 -0.75,0 0,-0.07 -0.01,-0.13 -0.01,-0.2 0.24,0 0.49,0 0.75,0.01 z m -1.04,-0.02 c 0,0.07 0,0.14 0.01,0.2 -0.17,0 -0.35,0.01 -0.52,0.01 0,-0.07 0,-0.15 0,-0.22 0.17,0 0.34,0 0.51,0.01 z m -0.84,0.21 c -0.28,0 -0.56,0.01 -0.84,0.01 -0.01,-0.09 -0.01,-0.17 -0.02,-0.26 0.29,0.01 0.57,0.01 0.86,0.02 z m -1.18,-0.25 0.01,0.27 c 0,0 0,0 0,0 -0.25,0.01 -0.25,0.39 0,0.4 0.01,0 0.02,0 0.02,0 l 0.01,0.25 c 0,0 0,0.01 0,0.01 -0.21,0 -0.42,0 -0.64,0 -0.04,-0.32 -0.09,-0.63 -0.13,-0.94 0.25,0 0.49,0 0.73,0.01 z m -1.12,-0.02 c 0.04,0.32 0.08,0.65 0.13,0.97 -0.15,0.01 -0.29,0.03 -0.43,0.05 -0.02,-0.34 -0.04,-0.69 -0.07,-1.03 0.12,0 0.24,0 0.37,0.01 z m -0.21,2.38 c -0.02,-0.32 -0.05,-0.64 -0.07,-0.96 0.16,0.01 0.32,0.03 0.48,0.03 0.06,0.38 0.13,0.76 0.2,1.15 -0.2,-0.02 -0.39,-0.03 -0.59,-0.05 0,-0.06 -0.01,-0.12 -0.02,-0.17 z m 46.9,-1.09 c -0.99,0.15 -1.98,0.35 -2.97,0.49 -0.01,-0.05 -0.02,-0.09 -0.03,-0.14 l -0.15,-0.77 c -0.05,-0.26 -0.1,-0.52 -0.15,-0.78 0.63,-0.49 0.45,-1.6 -0.56,-1.71 -1.42,-0.15 -2.9,-0.05 -4.33,-0.06 -1.36,0 -2.73,0 -4.09,0 -2.81,0.01 -5.61,0 -8.42,0.02 -5.61,0.04 -11.22,0.04 -16.83,0.04 -3.21,0 -6.41,0.04 -9.62,0.11 -0.13,0 -0.24,0.03 -0.33,0.08 -0.27,-0.17 -0.67,-0.11 -0.75,0.26 -0.08,0.41 -0.11,0.79 -0.1,1.21 0.01,0.4 0.02,0.81 0.03,1.21 0.01,0.39 0.02,0.78 0.03,1.17 0,0 0,0 0,0 -1.45,-0.13 -2.89,-0.26 -4.34,-0.37 0.05,-0.57 0.03,-1.15 0.02,-1.72 -0.01,-0.63 -0.01,-1.27 -0.02,-1.9 -0.01,-1.03 -0.03,-2.06 -0.06,-3.09 7.87,0.12 15.76,-0.12 23.63,-0.22 l 25.31,-0.32 c 1.37,-0.02 2.74,-0.03 4.1,-0.05 -0.16,-0.53 -0.29,-1.07 -0.39,-1.62 0.18,0.66 0.35,1.31 0.53,1.96 0.53,1.98 1.06,3.95 1.59,5.93 -0.7,0.02 -1.39,0.16 -2.1,0.27 z m -54.79,-6.13 c 0.12,0.09 0.26,0.16 0.45,0.17 0.06,0 0.12,0 0.18,0 -0.03,0.99 -0.05,1.98 -0.06,2.97 -0.12,-0.01 -0.24,0 -0.36,0 0.02,-0.57 0.03,-1.13 0.04,-1.7 0.1,-0.05 0.07,-0.17 0.01,-0.24 0,-0.22 0.01,-0.44 0.02,-0.66 0,-0.24 -0.36,-0.24 -0.38,0 -0.01,0.19 -0.02,0.37 -0.02,0.56 -0.03,0 -0.07,-0.01 -0.1,-0.01 0.08,-0.37 0.15,-0.73 0.22,-1.09 z m -1.12,5.66 c 0.09,-0.01 0.19,-0.01 0.28,-0.02 0.01,0.08 0.02,0.16 0.04,0.24 -0.01,0.01 -0.03,0.03 -0.04,0.04 -0.12,0.09 -0.25,0.16 -0.37,0.23 0.03,-0.16 0.06,-0.32 0.09,-0.49 z m -1.34,8.04 c -0.04,0 -0.07,-0.01 -0.11,-0.01 0.03,-0.27 0.06,-0.53 0.1,-0.8 -0.01,0.27 0,0.54 0.01,0.81 z m 0.22,1.68 c 0,0.2 0,0.41 0,0.61 0,0.4 0,0.81 0.1,1.19 0.02,0.08 0.14,0.08 0.16,0 0.09,-0.39 0.1,-0.8 0.1,-1.19 v -0.57 c 1.48,0.18 2.96,0.34 4.45,0.48 0,0.3 0,0.6 0,0.89 0,0.18 0,0.36 0.01,0.54 0.01,0.18 0,0.36 0.05,0.53 0.03,0.11 0.19,0.11 0.23,0 0.05,-0.17 0.04,-0.36 0.05,-0.53 0.01,-0.18 0.01,-0.36 0.01,-0.54 0,-0.29 0,-0.58 0,-0.87 1.13,0.1 2.26,0.19 3.4,0.27 0,0.51 0,1.03 0,1.54 0,0.56 -0.06,1.17 0.08,1.72 0.02,0.08 0.15,0.08 0.17,0 0.14,-0.55 0.08,-1.16 0.08,-1.72 0,-0.51 0,-1.02 0,-1.53 1.24,0.08 2.48,0.14 3.72,0.19 0.01,0.29 0.03,0.57 0.04,0.86 0.02,0.42 0.04,0.85 0.14,1.26 0.02,0.07 0.14,0.08 0.16,0 0.06,-0.42 0.04,-0.84 0.02,-1.26 -0.01,-0.28 -0.03,-0.56 -0.04,-0.84 0.46,0.02 0.93,0.02 1.39,0.04 0.03,0.26 0.05,0.52 0.08,0.78 0.02,0.18 0.04,0.37 0.06,0.55 0.01,0.1 0.03,0.19 0.04,0.29 0.01,0.1 0.01,0.2 0.1,0.27 0.09,0.07 0.18,0.06 0.25,-0.03 0.07,-0.09 0.04,-0.19 0.03,-0.29 -0.01,-0.1 -0.02,-0.19 -0.03,-0.29 -0.02,-0.18 -0.05,-0.37 -0.08,-0.55 -0.03,-0.24 -0.07,-0.48 -0.1,-0.72 0.61,0.02 1.21,0.04 1.82,0.05 0,0.2 0,0.4 0,0.61 0,0.1 0,0.2 0,0.3 0,0.05 0,0.1 0,0.14 0,0.05 0.02,0.11 0.03,0.16 0.01,0.06 0.12,0.06 0.12,0 0.01,-0.05 0.02,-0.1 0.03,-0.15 0.01,-0.05 0,-0.1 0,-0.16 0,-0.1 0,-0.2 0,-0.3 0,-0.2 0,-0.4 0,-0.6 0.26,0.01 0.53,0.02 0.79,0.02 0.13,0 0.27,0 0.4,0 l -0.01,0.7 c 0,0.16 0,0.32 0,0.48 0,0.18 0.04,0.34 0.05,0.52 0.02,0.17 0.25,0.17 0.27,0 0.02,-0.17 0.05,-0.33 0.05,-0.5 0,-0.17 0.01,-0.33 0,-0.5 l -0.01,-0.7 c 0.6,0.01 1.2,0.01 1.79,0.01 0,0.19 0,0.38 0,0.57 0,0.12 0,0.25 0.01,0.37 0.01,0.12 0,0.26 0.04,0.37 0.04,0.1 0.17,0.1 0.2,0 0.04,-0.11 0.03,-0.25 0.04,-0.37 0.01,-0.12 0.01,-0.25 0.01,-0.37 0,-0.19 0,-0.38 0,-0.56 0.53,0 1.05,0.01 1.58,0.01 -0.01,0.02 -0.03,0.04 -0.03,0.07 v 0.69 c 0,0.11 0,0.23 0,0.34 0,0.06 0,0.11 0.01,0.17 0,0.07 0.01,0.13 0.04,0.19 0.04,0.08 0.18,0.08 0.22,0 0.03,-0.07 0.04,-0.12 0.04,-0.19 0,-0.05 0,-0.1 0.01,-0.16 0,-0.12 0,-0.23 0,-0.35 v -0.69 c 0,-0.03 -0.02,-0.05 -0.03,-0.07 0.94,0 1.88,-0.01 2.82,-0.01 0.01,0.06 0.01,0.11 0.02,0.17 0.01,0.12 0.02,0.25 0.04,0.37 0.01,0.06 0.01,0.11 0.02,0.17 0.01,0.07 0.03,0.14 0.06,0.2 0.03,0.1 0.21,0.12 0.23,0 0.01,-0.07 0.03,-0.14 0.03,-0.2 0,-0.06 -0.01,-0.12 -0.01,-0.17 -0.01,-0.12 -0.02,-0.25 -0.03,-0.37 0,-0.06 -0.01,-0.11 -0.01,-0.17 0.58,0 1.17,-0.01 1.75,-0.02 0,0.01 0,0.01 0,0.02 0.04,0.25 0.09,0.5 0.13,0.75 0.04,0.24 0.07,0.51 0.2,0.73 0.05,0.08 0.19,0.07 0.21,-0.03 0.05,-0.26 -0.03,-0.53 -0.07,-0.78 l -0.13,-0.69 c 0.46,-0.01 0.93,-0.01 1.39,-0.02 0.02,0.17 0.05,0.34 0.09,0.51 0.04,0.2 0.08,0.4 0.13,0.6 l 0.13,0.6 c 0.05,0.21 0.09,0.43 0.19,0.63 0.08,0.16 0.32,0.08 0.33,-0.09 0.01,-0.21 -0.04,-0.41 -0.09,-0.61 -0.05,-0.21 -0.09,-0.41 -0.14,-0.62 -0.04,-0.2 -0.09,-0.4 -0.14,-0.6 -0.03,-0.14 -0.07,-0.29 -0.12,-0.43 1.7,-0.03 3.41,-0.07 5.11,-0.11 -0.03,0.03 -0.05,0.07 -0.05,0.11 0,0.11 0,0.23 0.01,0.34 0,0.06 0,0.11 0,0.17 0,0.06 0.02,0.13 0.03,0.19 0.03,0.12 0.22,0.12 0.25,0 0.01,-0.06 0.03,-0.13 0.03,-0.19 0,-0.06 0,-0.11 0,-0.17 0,-0.11 0,-0.23 0.01,-0.34 0,-0.04 -0.02,-0.09 -0.05,-0.12 1.12,-0.03 2.23,-0.06 3.35,-0.1 0.01,0.07 0.01,0.14 0.02,0.21 0,0.03 0.01,0.06 0.03,0.08 0.02,0.02 0.05,0.04 0.08,0.03 0.07,0 0.11,-0.05 0.12,-0.12 0.01,-0.07 0.01,-0.15 0.02,-0.22 0.5,-0.02 1.01,-0.03 1.51,-0.04 0.38,-0.01 0.76,-0.03 1.14,-0.05 0.01,0.15 0.02,0.31 0.03,0.46 0.02,0.31 0.05,0.63 0.13,0.93 0.02,0.07 0.13,0.08 0.15,0 0.02,-0.15 0.01,-0.31 0.03,-0.46 0.02,-0.16 -0.01,-0.32 -0.02,-0.48 -0.01,-0.16 -0.02,-0.32 -0.03,-0.48 0.73,-0.03 1.46,-0.06 2.18,-0.09 0.01,0.05 0.01,0.1 0.02,0.16 0.01,0.1 0.02,0.2 0.04,0.3 0.05,0.17 0.07,0.36 0.13,0.53 0.05,0.12 0.2,0.1 0.22,-0.03 0.02,-0.18 -0.01,-0.35 0,-0.53 0,-0.09 -0.02,-0.18 -0.03,-0.26 -0.01,-0.06 -0.01,-0.11 -0.02,-0.17 0.6,-0.03 1.19,-0.05 1.79,-0.08 -0.05,0.01 -0.09,0.04 -0.09,0.11 0,0.33 0.01,0.66 0.02,1 0.01,0.33 0,0.67 0.04,1 0.01,0.08 0.12,0.08 0.13,0 0.04,-0.33 0.03,-0.67 0.04,-1 0.01,-0.33 0.02,-0.66 0.02,-1 0,-0.07 -0.05,-0.1 -0.1,-0.11 1.27,-0.07 2.53,-0.16 3.79,-0.25 0,0.24 0,0.48 0,0.71 0,0.15 0,0.29 0,0.44 0,0.15 0,0.3 0.03,0.44 0.03,0.13 0.24,0.13 0.27,0 0.04,-0.15 0.03,-0.29 0.03,-0.44 0,-0.15 0,-0.29 0,-0.44 0,-0.25 0,-0.49 0,-0.74 0.47,-0.04 0.95,-0.06 1.43,-0.1 0,0.26 0,0.52 0,0.77 0,0.16 0,0.32 0,0.47 0,0.15 -0.01,0.32 0.03,0.47 0.03,0.1 0.17,0.1 0.2,0 0.04,-0.15 0.03,-0.31 0.03,-0.47 0,-0.16 0,-0.32 0,-0.47 0,-0.27 0,-0.53 0,-0.8 0.76,-0.07 1.53,-0.16 2.29,-0.24 -0.07,0.28 -0.12,0.57 -0.11,0.86 0,0.18 0.02,0.37 0.05,0.55 0.02,0.08 0.05,0.16 0.08,0.24 0.03,0.09 0.07,0.18 0.13,0.26 0.06,0.07 0.2,0.04 0.22,-0.06 0.01,-0.09 0,-0.16 0,-0.25 -0.01,-0.08 0,-0.17 -0.01,-0.25 -0.02,-0.16 -0.03,-0.33 -0.03,-0.49 0,-0.3 0.03,-0.6 0.09,-0.9 0.33,-0.03 0.66,-0.06 0.99,-0.1 l 0.04,0.78 c 0.01,0.16 0.02,0.32 0.03,0.47 0.01,0.16 0.01,0.32 0.06,0.47 0.04,0.11 0.22,0.13 0.25,0 0.03,-0.16 0.02,-0.31 0.01,-0.47 -0.01,-0.16 -0.02,-0.32 -0.03,-0.47 -0.02,-0.27 -0.04,-0.54 -0.05,-0.82 0.31,-0.04 0.63,-0.06 0.95,-0.1 -0.03,0.71 -0.05,1.43 -0.07,2.14 -0.02,0.83 -0.06,1.67 0.08,2.5 0.01,0.07 0.12,0.07 0.14,0 0.18,-0.82 0.17,-1.66 0.19,-2.5 0.01,-0.73 0.02,-1.46 0.02,-2.19 0.26,-0.03 0.51,-0.08 0.77,-0.12 0.02,0.27 0.03,0.54 0.05,0.81 0.01,0.18 0.02,0.36 0.04,0.54 0.01,0.17 0.03,0.37 0.09,0.53 0.04,0.09 0.17,0.11 0.2,0 0.05,-0.17 0.04,-0.36 0.03,-0.53 -0.01,-0.18 -0.02,-0.36 -0.03,-0.54 -0.02,-0.29 -0.03,-0.58 -0.05,-0.86 0.65,-0.09 1.3,-0.19 1.95,-0.29 0,0.59 -0.01,1.18 -0.01,1.77 0,0.33 0,0.66 -0.01,0.98 0,0.3 -0.02,0.65 0.05,0.94 0.03,0.1 0.18,0.1 0.21,0 0.08,-0.29 0.06,-0.64 0.05,-0.94 0,-0.33 0,-0.66 -0.01,-0.98 0,-0.61 -0.01,-1.21 -0.01,-1.82 0.34,-0.05 0.69,-0.1 1.03,-0.15 0,0 0,0 0,0 0,0 0,0 0,0 -0.02,0.31 -0.04,0.62 -0.07,0.93 -0.02,0.31 -0.07,0.62 -0.04,0.93 0,0.06 0.05,0.09 0.1,0.11 -0.03,0.44 -0.09,0.89 -0.17,1.33 -0.07,0.03 -0.12,0.08 -0.12,0.16 l 0.01,0.45 c -0.18,0.78 -0.44,1.54 -0.75,2.28 -0.02,-0.16 -0.04,-0.33 -0.05,-0.49 -0.01,-0.38 0.01,-0.75 0.09,-1.12 0.05,-0.24 -0.3,-0.33 -0.36,-0.1 -0.11,0.39 -0.19,0.79 -0.2,1.2 0,0.2 0,0.4 0.03,0.59 0.02,0.17 0.04,0.42 0.16,0.56 -0.26,0.02 -0.53,0.04 -0.79,0.07 -0.02,-0.04 -0.04,-0.08 -0.06,-0.11 -0.04,-0.07 -0.09,-0.15 -0.12,-0.23 -0.07,-0.15 -0.12,-0.31 -0.15,-0.47 -0.06,-0.32 -0.04,-0.66 0.07,-0.97 0.03,-0.1 -0.04,-0.21 -0.13,-0.23 -0.11,-0.03 -0.2,0.04 -0.23,0.13 -0.14,0.37 -0.17,0.78 -0.11,1.17 0.03,0.19 0.09,0.38 0.17,0.56 0.02,0.06 0.06,0.13 0.1,0.2 -0.5,0.07 -1,0.14 -1.49,0.23 -0.04,-0.16 -0.07,-0.31 -0.09,-0.47 -0.05,-0.4 -0.05,-0.81 0.01,-1.21 0.01,-0.09 -0.02,-0.18 -0.12,-0.21 -0.08,-0.02 -0.2,0.03 -0.21,0.12 -0.06,0.44 -0.08,0.88 -0.02,1.32 0.02,0.17 0.06,0.34 0.1,0.51 -0.38,0.07 -0.76,0.13 -1.14,0.2 -0.01,-0.1 -0.01,-0.2 -0.02,-0.3 -0.02,-0.18 -0.05,-0.37 -0.07,-0.55 -0.05,-0.38 -0.1,-0.75 -0.14,-1.13 -0.01,-0.09 -0.06,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.04,0.38 0.09,0.77 0.13,1.15 0.02,0.19 0.04,0.38 0.07,0.58 0.01,0.11 0.04,0.21 0.05,0.31 -0.29,0.05 -0.59,0.11 -0.88,0.15 -0.04,0.01 -0.07,0.01 -0.11,0.01 0,-0.02 0.01,-0.04 0.01,-0.06 0.01,-0.1 0.02,-0.2 0.02,-0.3 0,-0.22 0,-0.45 0,-0.67 v -1.31 c 0,-0.22 -0.34,-0.22 -0.34,0 v 1.96 c 0,0.11 0.01,0.21 0.02,0.32 0,0.03 0.01,0.06 0.02,0.09 -0.68,0.1 -1.37,0.17 -2.05,0.26 -0.01,-0.14 -0.02,-0.27 -0.03,-0.41 -0.02,-0.3 -0.05,-0.6 -0.07,-0.9 -0.01,-0.17 -0.28,-0.18 -0.27,0 0.02,0.3 0.03,0.6 0.05,0.9 0.01,0.15 0.02,0.29 0.03,0.44 0,0 0,0 0,0.01 -0.47,0.06 -0.93,0.12 -1.4,0.18 0,-0.01 -0.01,-0.02 -0.02,-0.03 -0.05,-0.13 -0.08,-0.26 -0.1,-0.39 -0.04,-0.26 -0.03,-0.53 0.04,-0.79 0.05,-0.21 -0.27,-0.3 -0.32,-0.09 -0.08,0.31 -0.09,0.63 -0.04,0.94 0.02,0.14 0.06,0.27 0.11,0.4 -0.45,0.05 -0.9,0.12 -1.35,0.17 -0.08,0.01 -0.16,0.01 -0.24,0.02 0.04,-0.44 0.06,-0.89 0.08,-1.33 0.03,-0.72 0.03,-1.45 0.05,-2.17 0,-0.21 -0.32,-0.21 -0.32,0 -0.03,0.72 -0.07,1.45 -0.08,2.17 -0.01,0.45 -0.02,0.9 0,1.35 -0.56,0.06 -1.12,0.1 -1.68,0.16 0.01,-0.08 0.02,-0.17 0.02,-0.25 0.02,-0.26 0.05,-0.52 0.07,-0.77 0.01,-0.1 -0.09,-0.18 -0.18,-0.18 -0.11,0 -0.18,0.08 -0.18,0.18 -0.02,0.25 -0.05,0.51 -0.07,0.76 -0.01,0.1 -0.02,0.2 -0.02,0.3 -1.47,0.14 -2.93,0.27 -4.4,0.38 -0.02,-0.17 -0.04,-0.34 -0.06,-0.51 -0.01,-0.09 -0.08,-0.19 -0.18,-0.18 -0.09,0 -0.19,0.08 -0.18,0.18 0.02,0.18 0.04,0.36 0.06,0.53 -0.32,0.02 -0.64,0.04 -0.96,0.06 0,-0.02 0,-0.04 -0.01,-0.06 0,-0.03 -0.01,-0.05 -0.03,-0.08 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.03,0 -0.06,0.01 -0.08,0.03 -0.02,0.02 -0.03,0.05 -0.03,0.08 0,0.03 0,0.05 -0.01,0.08 -1.06,0.07 -2.12,0.15 -3.18,0.21 -0.17,0.01 -0.33,0.01 -0.5,0.02 -0.01,-0.03 -0.02,-0.06 -0.03,-0.08 -0.01,-0.04 -0.04,-0.08 -0.08,-0.1 -0.04,-0.02 -0.09,-0.03 -0.13,-0.02 -0.04,0.01 -0.08,0.04 -0.1,0.08 -0.02,0.04 -0.02,0.08 -0.02,0.13 0,0 0,0.01 0,0.01 -0.92,0.04 -1.84,0.07 -2.76,0.1 0,0 0,-0.01 0,-0.01 0,-0.05 0.01,-0.09 0.01,-0.14 0,-0.04 -0.02,-0.08 -0.05,-0.11 -0.03,-0.03 -0.07,-0.05 -0.11,-0.05 -0.04,0 -0.08,0.02 -0.11,0.05 -0.03,0.03 -0.05,0.07 -0.05,0.11 0,0.05 0.01,0.09 0.01,0.14 0,0.01 0,0.02 0,0.02 -0.66,0.02 -1.31,0.06 -1.96,0.07 0,-0.17 0,-0.33 0,-0.5 0,-0.19 -0.3,-0.19 -0.3,0 0,0.17 0,0.33 0,0.5 -0.41,0.01 -0.83,0 -1.24,0.01 0.02,-0.61 0.02,-1.23 0.03,-1.84 0,-0.13 -0.2,-0.13 -0.2,0 0,0.61 0.01,1.23 0.03,1.84 -0.63,0.01 -1.26,0.01 -1.89,0.01 0,-0.15 0.01,-0.29 0.01,-0.44 0,-0.34 0,-0.68 0,-1.02 0,-0.22 -0.33,-0.22 -0.34,0 0,0.34 0,0.68 0,1.02 0,0.15 0,0.3 0.01,0.44 -0.7,0 -1.4,0.02 -2.1,0.01 0,-0.58 0,-1.16 0,-1.74 0,-0.17 -0.27,-0.17 -0.27,0 0,0.58 0,1.16 0,1.74 -0.4,0 -0.79,-0.02 -1.18,-0.02 0.03,-0.28 -0.02,-0.57 -0.04,-0.85 -0.02,-0.29 -0.05,-0.58 -0.07,-0.86 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.09,0 -0.17,0.08 -0.17,0.17 0.02,0.29 0.04,0.59 0.06,0.88 0.02,0.27 0.02,0.56 0.09,0.82 -0.38,-0.01 -0.77,-0.02 -1.15,-0.02 0,-0.09 0,-0.18 0,-0.26 0,-0.34 0,-0.68 0,-1.02 0,-0.2 -0.31,-0.2 -0.31,0 0,0.34 0,0.68 0,1.02 0,0.09 0,0.17 0,0.26 -0.41,-0.01 -0.82,-0.01 -1.23,-0.03 -0.01,-0.13 -0.03,-0.27 -0.05,-0.4 -0.03,-0.28 -0.07,-0.57 -0.1,-0.85 -0.07,-0.58 -0.13,-1.15 -0.2,-1.73 -0.02,-0.18 -0.3,-0.18 -0.28,0 0.06,0.59 0.12,1.18 0.18,1.76 0.03,0.29 0.06,0.59 0.09,0.88 0.01,0.11 0.02,0.22 0.04,0.33 -0.67,-0.02 -1.35,-0.04 -2.02,-0.07 0,-0.03 0,-0.06 0,-0.1 v -0.68 c 0,-0.17 -0.26,-0.17 -0.26,0 v 0.68 c 0,0.03 0,0.06 0,0.08 -0.36,-0.01 -0.71,-0.04 -1.07,-0.05 0,-0.02 0,-0.03 0,-0.05 0,-0.16 0,-0.33 0,-0.49 0,-0.32 0,-0.65 0,-0.97 0,-0.17 -0.26,-0.17 -0.26,0 0,0.32 0,0.64 0,0.97 0,0.16 0,0.32 0,0.47 0,0.02 0,0.04 0,0.05 -0.51,-0.02 -1.02,-0.05 -1.54,-0.08 0.03,-0.02 0.06,-0.02 0.07,-0.05 0.03,-0.13 0.03,-0.25 0.04,-0.38 0,-0.12 0.01,-0.25 0.01,-0.37 0,-0.25 0,-0.5 0,-0.75 0,-0.23 -0.35,-0.23 -0.35,0 0,0.25 0,0.5 0,0.75 0,0.12 0.01,0.25 0.01,0.37 0,0.13 0.01,0.25 0.04,0.38 0.01,0.03 0.04,0.03 0.06,0.05 -0.56,-0.03 -1.12,-0.05 -1.68,-0.08 -0.18,-0.01 -0.35,-0.03 -0.53,-0.04 0.04,-0.22 0.02,-0.45 0.02,-0.68 0,-0.25 0,-0.5 0,-0.75 0,-0.23 -0.36,-0.23 -0.35,0 0,0.25 0.01,0.5 0.01,0.75 0,0.21 -0.01,0.44 0.03,0.65 -0.39,-0.03 -0.79,-0.06 -1.18,-0.09 0,-0.02 0,-0.04 0,-0.06 -0.01,-0.12 -0.02,-0.25 -0.03,-0.37 -0.02,-0.25 -0.04,-0.5 -0.06,-0.75 -0.01,-0.09 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.08 -0.16,0.16 0.02,0.25 0.04,0.5 0.06,0.75 0.01,0.12 0.02,0.25 0.03,0.37 0,0.01 0,0.02 0,0.03 -0.52,-0.04 -1.03,-0.08 -1.55,-0.13 0.01,-0.16 0.02,-0.33 0.02,-0.49 0,-0.06 -0.05,-0.11 -0.11,-0.11 -0.06,0 -0.11,0.05 -0.11,0.11 0,0.16 0.01,0.32 0.02,0.48 -0.52,-0.05 -1.03,-0.09 -1.55,-0.14 0.02,-0.03 0.04,-0.06 0.03,-0.11 -0.1,-0.33 -0.21,-0.67 -0.25,-1.01 -0.04,-0.35 -0.04,-0.7 0.01,-1.04 0.01,-0.08 -0.02,-0.16 -0.1,-0.18 -0.07,-0.02 -0.17,0.02 -0.18,0.1 -0.11,0.73 -0.06,1.56 0.3,2.22 -0.49,-0.05 -0.98,-0.09 -1.47,-0.13 0.01,-0.01 0.03,-0.01 0.04,-0.03 0.04,-0.14 0.03,-0.28 0.04,-0.43 0,-0.07 0.01,-0.15 0.01,-0.22 0,-0.07 -0.01,-0.15 -0.01,-0.22 -0.02,-0.29 -0.04,-0.59 -0.06,-0.88 -0.01,-0.1 -0.08,-0.18 -0.18,-0.18 -0.09,0 -0.19,0.08 -0.18,0.18 0.02,0.29 0.04,0.59 0.06,0.88 0.01,0.15 0.03,0.3 0.06,0.45 0.03,0.15 0.04,0.28 0.09,0.42 0,0.01 0.02,0.01 0.03,0.02 -0.7,-0.06 -1.41,-0.13 -2.11,-0.19 -0.01,-0.13 -0.03,-0.25 -0.03,-0.38 0,-0.26 0.04,-0.52 0.13,-0.77 0.03,-0.08 -0.03,-0.17 -0.11,-0.19 -0.09,-0.02 -0.16,0.03 -0.19,0.11 -0.1,0.28 -0.15,0.57 -0.14,0.87 0,0.11 0.02,0.22 0.04,0.33 -0.72,-0.06 -1.44,-0.11 -2.17,-0.16 -0.06,-0.12 -0.13,-0.24 -0.19,-0.37 0,-0.12 -0.01,-0.24 -0.01,-0.35 0,-0.32 0,-0.63 0,-0.95 0,-0.62 -0.01,-1.24 -0.01,-1.87 0,-0.21 -0.32,-0.21 -0.32,0 0,0.62 -0.01,1.24 -0.01,1.87 0,0.17 0,0.34 0,0.52 -0.18,-0.44 -0.35,-0.88 -0.48,-1.34 -0.46,-1.55 -0.57,-3.15 -0.5,-4.75 0.04,0.11 0.19,0.13 0.35,0.15 z m 11.41,9.91 c 3.94,0.29 7.89,0.46 11.85,0.52 7.91,0.12 15.82,-0.22 23.69,-0.99 2.18,-0.21 4.36,-0.47 6.53,-0.73 1.14,-0.13 2.28,-0.27 3.41,-0.43 0.46,-0.06 0.92,-0.12 1.38,-0.19 -0.67,1.03 -1.42,2 -2.22,2.94 -0.05,-0.1 -0.13,-0.18 -0.28,-0.2 -1.63,-0.23 -3.34,-0.07 -4.98,0.1 -1.66,0.17 -3.32,0.32 -4.98,0.46 -3.36,0.28 -6.72,0.51 -10.09,0.67 -6.66,0.33 -13.32,0.38 -19.98,0.32 -1.9,-0.02 -3.81,-0.05 -5.71,-0.11 -0.95,-0.03 -1.9,-0.08 -2.85,-0.08 -0.74,0.01 -1.51,-0.03 -2.24,0.12 -0.98,-1.01 -1.91,-2.06 -2.71,-3.21 -0.04,-0.05 -0.07,-0.1 -0.1,-0.16 3.07,0.48 6.19,0.74 9.28,0.97 z m 65.73,-6.07 c -0.16,-0.02 -0.3,-0.03 -0.46,-0.03 h -1.27 c -0.12,-0.35 -0.23,-0.7 -0.35,-1.05 0.29,-0.02 0.59,-0.05 0.88,-0.07 0.2,-0.02 0.41,-0.03 0.61,-0.05 0.2,-0.02 0.45,-0.01 0.62,-0.11 0.13,-0.08 0.09,-0.25 -0.04,-0.3 -0.18,-0.07 -0.42,-0.01 -0.61,0 -0.2,0.01 -0.41,0.03 -0.61,0.05 -0.33,0.03 -0.66,0.06 -0.99,0.09 -0.29,-0.87 -0.57,-1.73 -0.86,-2.6 0.43,-0.22 0.82,-0.51 1.17,-0.84 0.07,0.03 0.14,0.06 0.22,0.08 0.1,0.04 0.21,0.08 0.31,0.11 0.05,0.02 0.1,0.04 0.16,0.06 0.08,0.03 0.15,0.03 0.23,0 0.11,-0.03 0.2,-0.19 0.12,-0.29 -0.06,-0.07 -0.11,-0.12 -0.2,-0.15 -0.05,-0.02 -0.11,-0.03 -0.16,-0.05 -0.11,-0.03 -0.21,-0.07 -0.32,-0.1 -0.01,0 -0.01,0 -0.02,-0.01 0.16,-0.18 0.31,-0.37 0.45,-0.57 0.14,-0.21 0.28,-0.44 0.4,-0.68 0.12,0.02 0.25,0.04 0.37,0.06 0.22,0.04 0.44,0.07 0.66,0.1 0.23,0.03 0.45,0.08 0.68,0.05 0.13,-0.02 0.15,-0.23 0.04,-0.29 -0.2,-0.09 -0.42,-0.11 -0.64,-0.15 -0.22,-0.04 -0.44,-0.07 -0.66,-0.1 l -0.31,-0.04 c 0.04,-0.11 0.1,-0.22 0.13,-0.34 0.07,-0.25 0.08,-0.49 0.07,-0.74 0,0.01 0.01,0.01 0.01,0.02 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.01,0.02 0.02,0.02 0.02,0.01 0.03,0 0.05,0.01 0.02,0.01 0.03,0.02 0.05,0.02 0.28,0.04 0.56,0.07 0.84,0.11 0.14,0.02 0.27,0.03 0.41,0.05 0.07,0.01 0.15,0.02 0.22,0.03 0.08,0.01 0.16,0.02 0.22,-0.05 0.04,-0.05 0.05,-0.11 0.02,-0.17 -0.04,-0.09 -0.13,-0.1 -0.21,-0.11 -0.07,-0.01 -0.15,-0.02 -0.22,-0.03 -0.14,-0.02 -0.28,-0.03 -0.42,-0.05 -0.17,-0.02 -0.34,-0.04 -0.51,-0.06 0.13,-0.09 0.27,-0.16 0.42,-0.2 0.13,-0.03 0.26,-0.03 0.39,-0.02 0.13,0.01 0.26,0.07 0.39,0.09 0.13,0.02 0.24,-0.12 0.13,-0.23 -0.13,-0.13 -0.31,-0.17 -0.49,-0.19 -0.17,-0.02 -0.34,-0.01 -0.51,0.03 -0.34,0.07 -0.63,0.27 -0.83,0.54 -0.01,-0.12 -0.04,-0.23 -0.07,-0.35 0.03,-0.03 0.06,-0.06 0.09,-0.1 0.06,-0.11 0.09,-0.24 0.1,-0.37 0.69,0.14 1.47,0.1 2.14,0.11 0.91,0.02 1.82,0.04 2.74,0.06 0.23,0.01 0.66,-0.04 1.04,-0.01 -0.37,0.32 -0.69,0.73 -1,1.09 -0.48,0.55 -0.95,1.11 -1.41,1.67 -0.73,0.89 -1.47,1.78 -2.2,2.67 -0.01,0 -0.01,0 -0.02,0 -0.34,-0.04 -0.69,-0.08 -1.03,-0.12 -0.7,-0.08 -1.39,-0.1 -2.09,-0.15 -0.26,-0.02 -0.49,0.22 -0.52,0.46 -0.03,0.26 0.12,0.51 0.38,0.58 0.67,0.2 1.32,0.43 1.99,0.6 0.17,0.04 0.33,0.08 0.5,0.13 0.04,0.17 0.12,0.34 0.29,0.48 0.07,0.06 0.15,0.09 0.23,0.12 -0.04,0.47 -0.03,0.94 -0.02,1.38 0.01,0.54 0.08,1.08 0.19,1.62 -0.12,-0.06 -0.26,-0.1 -0.38,-0.13 -0.19,-0.04 -0.38,-0.06 -0.58,-0.06 -0.38,0 -0.75,0.09 -1.1,0.24 v 0 c -0.16,-0.49 -0.33,-0.98 -0.49,-1.48 h 1.15 c 0.16,0 0.31,-0.01 0.46,-0.03 0.14,-0.01 0.14,-0.25 0,-0.27 z m 0.46,-21.26 c 0.22,-0.36 0.46,-0.72 0.7,-1.08 0.08,-0.12 0.15,-0.24 0.23,-0.37 1,-0.35 2.1,-0.14 3.11,0.21 1.17,0.41 2.34,0.95 3.35,1.66 0.91,0.64 1.65,1.53 1.94,2.62 0.06,0.24 0.11,0.48 0.12,0.73 -0.05,-0.19 -0.1,-0.38 -0.16,-0.57 -0.1,-0.33 -0.2,-0.66 -0.3,-1 -0.04,-0.13 -0.24,-0.07 -0.2,0.06 0.1,0.33 0.2,0.67 0.3,1 0.1,0.33 0.19,0.67 0.31,0.99 0.01,0.01 0.02,0.01 0.03,0.02 -0.01,0.07 0,0.14 -0.01,0.21 0,0.02 -0.01,0.03 -0.02,0.05 -0.08,-0.15 -0.16,-0.3 -0.23,-0.44 -0.19,-0.38 -0.38,-0.76 -0.57,-1.14 -0.38,-0.74 -0.75,-1.48 -1.13,-2.23 -0.09,-0.17 -0.34,-0.02 -0.26,0.15 0.36,0.75 0.73,1.5 1.09,2.25 0.18,0.37 0.36,0.74 0.54,1.1 0.12,0.25 0.26,0.53 0.42,0.78 -0.12,0.36 -0.26,0.72 -0.34,1.09 0,0.02 0.01,0.04 0,0.06 -0.25,0.31 -0.5,0.62 -0.73,0.95 -0.09,0.13 -0.18,0.27 -0.28,0.4 0.05,-0.39 0.04,-0.81 0,-1.17 -0.06,-0.51 -0.19,-1.01 -0.38,-1.49 -0.38,-0.96 -0.99,-1.81 -1.79,-2.45 -0.13,-0.1 -0.31,0.08 -0.18,0.18 0.77,0.63 1.37,1.45 1.73,2.38 0.17,0.46 0.29,0.93 0.35,1.42 0.03,0.23 0.04,0.46 0.03,0.69 0,0.26 -0.05,0.51 -0.04,0.77 0,0.02 0.03,0.02 0.04,0.04 -0.11,0.16 -0.22,0.31 -0.33,0.47 -0.08,-0.87 -0.48,-1.76 -0.91,-2.52 -0.46,-0.81 -1.09,-1.54 -1.79,-2.15 -0.11,-0.1 -0.27,0.06 -0.16,0.16 0.67,0.62 1.21,1.33 1.66,2.12 0.22,0.39 0.41,0.8 0.56,1.22 0.15,0.41 0.24,0.84 0.38,1.26 -0.38,-0.92 -0.86,-1.75 -1.49,-2.53 -0.64,-0.79 -1.41,-1.5 -2.28,-2.02 -0.45,-0.27 -0.93,-0.51 -1.43,-0.69 -0.41,-0.15 -0.85,-0.21 -1.28,-0.27 -0.06,-0.14 -0.16,-0.27 -0.28,-0.36 -0.28,-0.49 -0.68,-0.93 -1.08,-1.23 0.24,-0.44 0.49,-0.89 0.76,-1.33 z m 14.31,18.37 c 1.24,-0.01 2.47,-0.03 3.71,-0.08 0.64,-0.02 1.28,-0.05 1.91,-0.09 0.09,0 0.18,-0.01 0.27,-0.01 -0.01,0.39 0.04,0.79 0.06,1.16 0.03,0.51 0.06,1.02 0.12,1.53 -0.01,0 -0.01,0 -0.02,0 -0.34,0.04 -0.68,0.08 -1.02,0.12 0.03,-0.19 0.02,-0.39 -0.07,-0.57 -0.07,-0.13 -0.19,-0.26 -0.32,-0.32 -0.17,-0.08 -0.34,-0.09 -0.51,-0.01 -0.09,0.04 -0.12,0.17 -0.08,0.26 0.04,0.09 0.15,0.16 0.24,0.12 0.01,0 0.03,-0.01 0.05,-0.02 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0.01,0 0.02,0.01 0.03,0.01 0,0 0,0 0,0 0.01,0.01 0.03,0.01 0.04,0.02 0,0 0.01,0 0.01,0.01 0.01,0 0.01,0.01 0.02,0.01 0.01,0.01 0.04,0.03 0.05,0.05 0,0 0,0 0,0 0.01,0.01 0.01,0.02 0.02,0.03 0,0.01 0.01,0.03 0.02,0.04 -0.01,-0.01 -0.01,-0.04 0,0 0,0.01 0.01,0.02 0.01,0.04 0,0 0,0.01 0,0.02 0,0.01 0,0.03 0,0.03 0,0.02 0,0.03 0,0.05 0,0.02 0,0.03 0,0.05 0,0.01 -0.01,0.07 0,0.02 -0.01,0.03 -0.01,0.07 -0.02,0.1 -0.01,0.03 -0.02,0.07 -0.03,0.1 -0.05,0.01 -0.09,0.01 -0.14,0.02 L 665,389.53 c -0.03,-0.1 -0.07,-0.2 -0.1,-0.3 -0.03,-0.08 -0.12,-0.15 -0.21,-0.12 -0.08,0.03 -0.15,0.12 -0.12,0.21 0.03,0.09 0.06,0.18 0.09,0.27 -0.27,0.03 -0.53,0.04 -0.8,0.07 -0.17,-0.49 -0.23,-1 -0.11,-1.52 0.06,-0.26 -0.33,-0.37 -0.4,-0.11 -0.14,0.53 -0.13,1.13 0.03,1.67 -0.27,0.02 -0.54,0.05 -0.81,0.07 -0.01,-0.07 -0.04,-0.14 -0.05,-0.21 -0.02,-0.34 0.05,-0.67 0.23,-0.96 0.13,-0.21 -0.2,-0.4 -0.33,-0.19 -0.22,0.34 -0.32,0.76 -0.29,1.17 0,0.08 0.03,0.15 0.05,0.23 -0.34,0.03 -0.69,0.07 -1.03,0.09 -0.24,0.02 -0.48,0.02 -0.72,0.03 -0.02,-0.05 -0.05,-0.1 -0.07,-0.15 -0.09,-0.31 -0.09,-0.66 0.04,-0.96 0.05,-0.11 0.03,-0.23 -0.08,-0.3 -0.09,-0.06 -0.25,-0.03 -0.3,0.08 -0.19,0.41 -0.22,0.86 -0.11,1.29 0.01,0.02 0.02,0.04 0.03,0.07 -0.29,0.02 -0.59,0.03 -0.88,0.04 -0.01,-0.06 -0.01,-0.12 -0.02,-0.18 -0.04,-0.31 -0.07,-0.62 -0.11,-0.93 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.08,0 -0.18,0.08 -0.17,0.17 0.03,0.32 0.07,0.63 0.1,0.95 0.01,0.06 0.01,0.12 0.02,0.18 -0.34,0.01 -0.69,0.04 -1.03,0.05 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.07,-0.14 -0.11,-0.28 -0.15,-0.43 -0.06,-0.29 -0.05,-0.59 0.03,-0.88 0.06,-0.22 -0.28,-0.31 -0.34,-0.09 -0.1,0.34 -0.11,0.71 -0.04,1.05 0.03,0.13 0.08,0.25 0.13,0.38 -0.33,0.01 -0.67,0.01 -1,0.01 -0.05,-0.53 -0.11,-1.07 -0.17,-1.6 -0.01,-0.09 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.08 -0.16,0.16 0.05,0.53 0.1,1.06 0.15,1.6 -0.32,0 -0.65,0 -0.97,0.01 -0.02,-0.1 -0.03,-0.2 -0.05,-0.31 -0.07,-0.45 -0.14,-0.9 -0.21,-1.35 -0.03,-0.21 -0.34,-0.12 -0.31,0.09 0.07,0.44 0.13,0.88 0.2,1.32 0.01,0.09 0.03,0.17 0.04,0.26 -0.09,0.01 -0.18,0.02 -0.28,0.03 -0.57,-0.91 -0.79,-2.01 -0.81,-3.1 0,-0.16 0.01,-0.31 0.02,-0.47 1.08,0.19 2.22,0.2 3.3,0.24 1.26,0.05 2.49,0.06 3.73,0.05 z m 5.28,-2.47 c -0.01,-0.21 -0.03,-0.43 -0.04,-0.64 0,-0.02 -0.01,-0.04 -0.01,-0.06 0.01,0 0.03,0 0.04,0 -0.01,0 -0.03,0 -0.04,-0.01 0,0 0,0 0,0 0.14,0.02 0.28,0.03 0.42,0.05 0,0.03 0,0.07 0,0.1 0.02,0.42 0.03,0.85 0.11,1.26 -0.13,0.01 -0.26,0.03 -0.38,0.03 -0.04,0 -0.09,0 -0.13,0.01 0.04,-0.15 0.06,-0.29 0.05,-0.45 -0.01,-0.09 -0.01,-0.19 -0.02,-0.29 z m 4.27,-2.34 c 0.03,0.32 0.06,0.65 0.08,0.97 -0.28,0.01 -0.57,0.03 -0.85,0.05 -0.02,-0.17 -0.05,-0.34 -0.06,-0.5 -0.01,-0.07 -0.01,-0.14 -0.02,-0.2 0.14,0 0.29,0.01 0.43,0 0.08,-0.01 0.08,-0.12 0,-0.13 -0.15,-0.01 -0.3,0 -0.45,-0.01 -0.04,-0.36 -0.08,-0.73 -0.11,-1.09 0.29,-0.06 0.59,-0.15 0.88,-0.28 0.03,0.4 0.07,0.8 0.1,1.19 z m -1.32,-0.85 c 0.03,0.35 0.07,0.69 0.1,1.04 -0.1,0 -0.2,0 -0.29,0 -0.31,0 -0.62,0 -0.93,0 -0.02,-0.33 -0.04,-0.66 -0.06,-0.99 0.38,0.02 0.78,0 1.18,-0.05 z m 7.31,23.27 c -0.37,-0.01 -0.74,-0.02 -1.11,0.01 -0.22,0.02 -0.44,0.03 -0.66,0.08 -0.2,0.05 -0.36,0.16 -0.56,0.22 -0.11,0.03 -0.18,0.12 -0.22,0.21 0.06,-0.85 0.06,-1.7 0.02,-2.56 -0.03,-0.62 -0.06,-1.24 -0.05,-1.86 0,-0.17 0.01,-0.33 0.01,-0.5 0.03,-0.43 0.02,-0.87 -0.04,-1.33 0,-0.02 -0.02,-0.04 -0.03,-0.06 0.05,-0.01 0.11,-0.01 0.16,-0.02 0.09,-0.01 0.19,-0.03 0.28,-0.03 0.09,0 0.19,0.01 0.28,0.02 0.04,0 0.09,0.01 0.13,0.01 0.05,0 0.09,-0.02 0.14,-0.03 0.02,0.03 0.04,0.07 0.07,0.1 0.21,0.17 0.39,0.23 0.65,0.23 0.13,0 0.27,0.01 0.4,0.01 0.28,0 0.55,-0.01 0.83,-0.01 0,0 0,0 0.01,0 0.11,0.13 0.24,0.19 0.4,0.21 0,0.03 0,0.06 0,0.1 0.01,0.35 0.03,0.69 0.04,1.04 0.01,0.33 0.05,0.67 0.07,1 0.01,0.17 0.03,0.33 0.04,0.5 0,0 0,0 0,0.01 -0.22,0.09 -0.36,0.36 -0.33,0.59 0.04,0.29 0.27,0.47 0.56,0.49 0.14,0.01 0.27,0.03 0.39,0.04 0.03,0 0.05,0.01 0.08,0.01 0,0 0.01,0 0.01,0 0.15,0.02 0.31,0.04 0.5,0.06 0.02,0 0.18,0.02 0.2,0.02 0.06,0.01 0.12,0.02 0.18,0.03 0.17,0.03 0.35,0.06 0.52,0.1 0.32,0.07 0.64,0.16 0.95,0.27 0.16,0.05 0.31,0.11 0.46,0.17 -0.01,0 -0.01,0 -0.02,-0.01 0.01,0 0.01,0 0.02,0.01 0,0.03 -0.02,0.04 -0.02,0.07 -0.01,0.28 0.02,0.57 0.05,0.85 -0.7,0.02 -1.41,0.02 -2.11,0.01 -0.76,-0.02 -1.53,-0.05 -2.3,-0.06 z m -6.55,-5.05 c -0.07,0.03 -0.15,0.05 -0.22,0.08 -0.06,-0.17 -0.13,-0.34 -0.2,-0.5 -0.14,-0.35 -0.3,-0.69 -0.48,-1.02 -0.29,-0.53 -0.64,-1.03 -1.08,-1.44 0.29,-0.34 0.45,-0.79 0.54,-1.29 0,-0.01 0.01,-0.01 0.01,-0.02 0.1,0.03 0.2,0.05 0.31,0.08 0.09,0.03 0.19,0.05 0.29,0.05 0.01,0 0.02,0 0.03,0 0.03,0.07 0.07,0.13 0.11,0.19 0.02,0.26 0.04,0.51 0.12,0.74 0.04,0.11 0.22,0.13 0.25,0 0.08,0.16 0.2,0.29 0.38,0.34 0.02,0 0.04,0.01 0.05,0.01 0.11,0.15 0.22,0.29 0.33,0.44 0.44,0.58 0.87,1.17 1.3,1.76 -0.25,0.07 -0.5,0.14 -0.74,0.22 -0.35,0.13 -0.67,0.25 -1,0.36 z m -4.14,-3.65 c -0.02,-0.1 -0.05,-0.2 -0.06,-0.28 -0.05,-0.36 -0.08,-0.73 -0.09,-1.1 -0.02,-0.76 0.05,-1.51 0.23,-2.25 0.05,-0.2 -0.26,-0.29 -0.32,-0.09 -0.2,0.76 -0.31,1.55 -0.31,2.34 0,0.39 0.02,0.77 0.07,1.16 0.02,0.19 0.05,0.41 0.1,0.62 -0.37,0.39 -0.75,0.78 -1.15,1.15 0,-0.04 0,-0.07 0,-0.11 0,-0.34 0,-0.68 -0.01,-1.03 0,-0.7 -0.01,-1.4 -0.01,-2.09 0,-0.18 -0.28,-0.18 -0.28,0 0,0.7 -0.01,1.4 -0.01,2.09 0,0.34 0,0.68 -0.01,1.03 0,0.14 0,0.29 -0.01,0.43 -0.35,0.32 -0.74,0.6 -1.11,0.89 -0.01,-0.3 -0.03,-0.61 -0.04,-0.91 -0.04,-0.85 -0.08,-1.69 -0.12,-2.54 -0.01,-0.2 -0.32,-0.2 -0.31,0 0.03,0.85 0.05,1.7 0.08,2.54 0.01,0.4 0.03,0.79 0.04,1.19 -0.45,0.35 -0.9,0.7 -1.37,1.02 0,-0.13 -0.01,-0.26 -0.01,-0.38 0,-0.44 0,-0.88 0,-1.32 -0.01,-0.88 -0.01,-1.76 -0.02,-2.64 0,-0.2 -0.31,-0.2 -0.31,0 -0.01,0.88 -0.01,1.76 -0.02,2.64 0,0.44 -0.01,0.88 0,1.32 0,0.2 -0.01,0.41 -0.01,0.62 -0.32,0.21 -0.64,0.4 -0.97,0.59 0,-0.03 0,-0.05 0,-0.08 0.02,-0.28 0.03,-0.56 0.05,-0.84 0.03,-0.55 0.06,-1.11 0.09,-1.66 0.01,-0.23 -0.34,-0.23 -0.35,0 -0.04,0.55 -0.08,1.11 -0.12,1.66 -0.02,0.27 -0.04,0.54 -0.06,0.81 -0.01,0.11 -0.03,0.25 -0.04,0.38 -0.16,0.09 -0.3,0.2 -0.46,0.28 -0.98,0.53 -2,0.98 -3.03,1.38 0,-0.01 0,-0.02 -0.01,-0.02 l -0.01,-0.01 c 0,0 0,0 0,0 l -0.03,-0.03 c -0.03,-0.02 -0.06,-0.02 -0.09,-0.02 -0.02,0 -0.03,0 -0.05,0 -0.04,0 -0.07,0 -0.11,-0.01 -0.02,0 -0.05,0 -0.07,0.02 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.02,0.02 -0.03,0.04 -0.04,0.06 -0.01,0.02 -0.02,0.04 -0.02,0.07 0,0.03 0.02,0.06 0.03,0.08 -1.14,0.43 -2.31,0.8 -3.5,1.12 0,-0.04 -0.01,-0.08 -0.01,-0.12 -0.02,-0.21 -0.04,-0.42 -0.06,-0.63 -0.04,-0.41 -0.08,-0.83 -0.12,-1.24 -0.02,-0.2 -0.34,-0.21 -0.32,0 0.03,0.42 0.06,0.84 0.09,1.27 0.01,0.2 0.03,0.41 0.04,0.61 0.01,0.07 0.01,0.15 0.02,0.22 -0.14,0.04 -0.28,0.08 -0.42,0.11 0,-0.09 0,-0.19 0,-0.28 0,-0.51 -0.01,-1.02 -0.01,-1.53 0,-0.21 -0.33,-0.21 -0.33,0 0,0.51 -0.01,1.02 -0.01,1.53 0,0.13 0,0.25 0,0.38 -0.35,0.09 -0.69,0.17 -1.04,0.25 -0.04,-0.12 -0.07,-0.25 -0.12,-0.37 -0.11,-0.27 -0.24,-0.53 -0.39,-0.78 0,-0.04 -0.01,-0.08 -0.01,-0.12 -0.01,-0.19 -0.03,-0.37 -0.05,-0.56 -0.03,-0.37 -0.07,-0.75 -0.1,-1.12 -0.02,-0.19 -0.32,-0.19 -0.3,0 0.04,0.38 0.08,0.76 0.11,1.14 0.01,0.06 0.01,0.13 0.02,0.19 -0.12,-0.16 -0.26,-0.3 -0.4,-0.44 0.05,-0.18 0.07,-0.37 -0.01,-0.58 -0.32,-0.92 -0.63,-1.84 -0.94,-2.76 3.22,-0.57 6.39,-1.33 9.39,-2.5 3.03,-1.18 6.04,-2.81 8.39,-4.9 0.02,0 0.04,0 0.06,0 0.47,-0.04 0.94,-0.09 1.4,-0.14 0,0.06 0,0.11 0,0.17 0,0.01 -0.01,0.02 -0.01,0.04 0.01,0.08 0.01,0.16 0.02,0.24 0,0.03 0,0.06 0,0.08 0.02,0.82 0.09,1.65 0.05,2.46 0,0.03 -0.01,0.05 -0.01,0.07 -0.33,0.37 -0.66,0.79 -1.02,1.19 z m -20.16,11.34 c -0.01,-0.01 -0.02,-0.03 -0.04,-0.04 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.01 -0.02,-0.03 -0.01,-0.01 0.01,0.02 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.02 -0.02,-0.04 -0.03,-0.05 0,-0.01 -0.01,-0.01 -0.01,-0.02 0,0 0,0 0,0 -0.01,-0.04 -0.03,-0.08 -0.04,-0.13 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 0,-0.02 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,-0.02 0,-0.04 0,-0.06 0,-0.02 0,-0.04 0,-0.07 0,-0.01 0,-0.02 0,-0.02 0,-0.02 0.01,-0.04 0.02,-0.06 0,-0.01 0.01,-0.02 0.01,-0.03 0,0 0,0 0,0 0,-0.01 0.03,-0.05 0.03,-0.05 0.01,-0.01 0.01,-0.02 0.02,-0.03 0,0 0,0 0,0 0.06,-0.08 0.08,-0.19 0,-0.27 -0.07,-0.06 -0.2,-0.08 -0.27,0 -0.16,0.2 -0.22,0.44 -0.18,0.69 0.02,0.1 0.06,0.2 0.11,0.3 -0.05,0.01 -0.11,0.01 -0.16,0.02 -0.57,0.06 -1.14,0.12 -1.71,0.17 0,-0.09 0,-0.17 0,-0.26 0,-0.41 -0.01,-0.83 -0.01,-1.24 0,-0.23 -0.35,-0.23 -0.35,0 0,0.41 -0.01,0.83 -0.01,1.24 0,0.1 0,0.2 0,0.3 -0.5,0.05 -1,0.1 -1.5,0.15 -0.11,0.01 -0.22,0.02 -0.32,0.03 -0.02,-0.16 -0.04,-0.32 -0.06,-0.48 -0.05,-0.42 -0.1,-0.83 -0.14,-1.25 -0.01,-0.09 -0.07,-0.18 -0.18,-0.18 -0.09,0 -0.18,0.08 -0.18,0.18 0.03,0.42 0.06,0.83 0.08,1.25 0.01,0.18 0.02,0.35 0.03,0.53 -0.5,0.05 -1,0.1 -1.49,0.15 0.06,-0.02 0.1,-0.07 0.1,-0.13 0,-0.04 0,-0.08 -0.01,-0.11 -0.01,-0.04 -0.06,-0.1 -0.08,-0.12 -0.03,-0.04 -0.07,-0.11 -0.11,-0.16 -0.09,-0.13 -0.14,-0.23 -0.18,-0.36 -0.08,-0.26 -0.08,-0.52 0.02,-0.79 0.07,-0.2 -0.26,-0.34 -0.34,-0.15 -0.15,0.33 -0.18,0.69 -0.09,1.05 0.04,0.17 0.11,0.33 0.2,0.48 0.09,0.15 0.27,0.32 0.45,0.3 -0.67,0.07 -1.34,0.14 -2.01,0.21 0,-0.08 0,-0.16 0,-0.24 0,-0.3 -0.01,-0.6 -0.01,-0.91 0,-0.22 -0.34,-0.22 -0.34,0 l -0.01,0.91 c 0,0.09 0,0.18 0,0.27 -0.38,0.04 -0.76,0.08 -1.14,0.12 -0.01,-0.07 -0.01,-0.15 -0.02,-0.22 -0.04,-0.49 -0.07,-0.98 -0.11,-1.48 -0.02,-0.24 -0.38,-0.24 -0.37,0 0.03,0.49 0.06,0.98 0.09,1.48 0.01,0.09 0.01,0.17 0.02,0.26 -0.31,0.03 -0.63,0.06 -0.94,0.1 0,0 0,-0.01 0,-0.01 -0.03,-0.15 -0.06,-0.29 -0.08,-0.44 -0.04,-0.27 -0.06,-0.55 -0.06,-0.82 -0.01,-0.58 0.06,-1.15 0.19,-1.7 0.06,-0.26 -0.33,-0.37 -0.4,-0.11 -0.15,0.59 -0.24,1.2 -0.24,1.81 0,0.3 0.02,0.59 0.06,0.89 0.02,0.15 0.04,0.29 0.07,0.43 -0.71,0.07 -1.41,0.15 -2.12,0.22 0,-0.03 0,-0.05 0,-0.08 0,-0.28 0,-0.55 -0.01,-0.83 0,-0.21 -0.32,-0.21 -0.32,0 0,0.28 0,0.55 -0.01,0.83 0,0.04 0,0.08 0,0.11 -0.54,0.06 -1.08,0.11 -1.62,0.17 -0.01,-0.03 -0.04,-0.06 -0.05,-0.09 -0.06,-0.25 -0.05,-0.51 0.04,-0.76 0.03,-0.09 -0.04,-0.2 -0.13,-0.23 -0.11,-0.03 -0.19,0.04 -0.23,0.13 -0.13,0.31 -0.14,0.66 -0.06,0.99 -0.55,0.06 -1.1,0.12 -1.65,0.17 -0.05,-0.08 -0.11,-0.16 -0.14,-0.23 -0.09,-0.26 -0.11,-0.54 0,-0.79 0.04,-0.09 0.03,-0.18 -0.06,-0.23 -0.07,-0.04 -0.2,-0.02 -0.23,0.06 -0.15,0.33 -0.17,0.71 -0.05,1.06 0.02,0.07 0.07,0.12 0.1,0.18 -0.08,0.01 -0.16,0.02 -0.24,0.03 -0.52,0.05 -1.05,0.1 -1.57,0.15 -0.02,-0.03 -0.04,-0.07 -0.06,-0.1 -0.03,-0.04 -0.06,-0.09 -0.1,-0.15 -0.04,-0.06 -0.07,-0.12 -0.1,-0.18 -0.03,-0.05 -0.04,-0.08 -0.06,-0.16 -0.02,-0.06 -0.03,-0.13 -0.05,-0.19 0,-0.01 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,-0.02 0,-0.03 0,-0.05 0,-0.03 0,-0.07 -0.01,-0.1 -0.01,-0.07 -0.01,-0.14 0,-0.21 0.01,-0.13 -0.19,-0.22 -0.28,-0.11 -0.18,0.21 -0.37,0.4 -0.57,0.6 -0.12,0.12 0.06,0.29 0.18,0.18 0.1,-0.1 0.2,-0.19 0.3,-0.28 0.01,0.18 0.05,0.37 0.12,0.54 0.04,0.11 0.12,0.2 0.19,0.29 -0.52,0.05 -1.05,0.1 -1.57,0.15 -0.56,0.05 -1.12,0.11 -1.68,0.16 -0.14,0.01 -0.27,0.03 -0.39,0.05 0.14,-0.19 0.28,-0.38 0.44,-0.56 0.29,-0.32 0.59,-0.63 0.92,-0.91 0.67,-0.56 1.42,-1.06 2.21,-1.45 3.05,-1.54 6.52,-1.89 9.89,-1.99 2.14,-0.06 4.29,-0.04 6.43,-0.22 1.02,-0.09 2.04,-0.21 3.05,-0.41 1.01,-0.19 2,-0.39 2.91,-0.88 0.09,0.12 0.19,0.23 0.28,0.35 0.13,0.18 0.24,0.36 0.35,0.55 0.01,0.02 0.01,0.02 0.02,0.03 0,0 0,0 0.01,0.02 0.02,0.04 0.04,0.09 0.06,0.13 0.04,0.1 0.08,0.2 0.12,0.3 0.02,0.06 0.04,0.11 0.05,0.17 -0.3,0.06 -0.6,0.13 -0.89,0.19 -0.01,0.31 -0.03,0.62 -0.05,0.93 -0.03,-0.01 -0.05,-0.03 -0.07,-0.03 -0.12,0.01 -0.22,0.1 -0.22,0.22 0,0.24 -0.01,0.47 -0.01,0.71 0,0.07 0,0.14 0,0.21 -0.45,0.04 -0.87,0.09 -1.29,0.14 z m -29.3,1.65 c -0.04,-0.08 -0.08,-0.17 -0.11,-0.25 -0.1,-0.25 -0.17,-0.5 -0.23,-0.77 -0.12,-0.54 -0.14,-1.11 -0.06,-1.66 0.02,-0.16 -0.22,-0.23 -0.24,-0.07 -0.09,0.58 -0.09,1.17 0.02,1.75 0.05,0.29 0.13,0.57 0.24,0.85 0.02,0.05 0.04,0.11 0.07,0.17 -0.58,0.04 -1.17,0.08 -1.75,0.11 0,-0.01 0,-0.02 0,-0.03 -0.02,-0.44 -0.04,-0.88 -0.08,-1.32 -0.06,-0.9 -0.16,-1.8 -0.23,-2.69 -0.01,-0.15 -0.25,-0.16 -0.24,0 0.06,0.91 0.1,1.83 0.17,2.75 0.03,0.44 0.08,0.88 0.12,1.32 -0.24,0.02 -0.48,0.03 -0.72,0.05 -1.23,0.07 -2.45,0.13 -3.68,0.19 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.07,-0.24 -0.14,-0.47 -0.2,-0.71 -0.05,-0.19 -0.35,-0.11 -0.29,0.08 0.06,0.23 0.13,0.45 0.19,0.68 -0.55,0.03 -1.11,0.06 -1.66,0.08 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.1,-0.13 -0.19,-0.28 -0.26,-0.43 -0.13,-0.3 -0.18,-0.63 -0.16,-0.95 0.01,-0.07 -0.07,-0.13 -0.14,-0.14 -0.08,0 -0.13,0.06 -0.14,0.14 -0.04,0.37 0.02,0.75 0.16,1.09 0.05,0.12 0.12,0.22 0.19,0.33 -0.5,0.02 -1.01,0.06 -1.51,0.08 -5,0.21 -10.01,0.32 -15.01,0.33 -0.01,-0.05 -0.01,-0.09 -0.01,-0.14 -0.03,-0.3 -0.07,-0.6 -0.1,-0.9 -0.01,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.03,0.31 0.07,0.61 0.1,0.92 0,0.04 0.01,0.08 0.02,0.12 -0.69,0 -1.39,0 -2.08,0 -0.01,-0.17 -0.02,-0.34 -0.03,-0.51 -0.03,-0.51 -0.07,-1.02 -0.1,-1.53 -0.01,-0.22 -0.35,-0.22 -0.34,0 0.02,0.52 0.05,1.04 0.07,1.56 0.01,0.16 0.02,0.32 0.03,0.48 -0.4,0 -0.8,0 -1.19,0 0,0 0.01,0 0.01,-0.01 0.05,-0.25 -0.08,-0.52 -0.15,-0.76 -0.07,-0.27 -0.13,-0.54 -0.17,-0.81 -0.08,-0.55 -0.09,-1.11 -0.04,-1.66 0.02,-0.2 -0.29,-0.2 -0.32,0 -0.06,0.57 -0.06,1.14 0.01,1.71 0.03,0.27 0.08,0.54 0.14,0.8 0.05,0.23 0.12,0.55 0.29,0.72 -0.05,0 -0.1,0 -0.15,0 -0.18,0 -0.36,-0.01 -0.55,-0.01 0,-0.19 0,-0.38 -0.01,-0.56 -0.01,-0.55 -0.01,-1.11 -0.02,-1.66 0,-0.21 -0.32,-0.21 -0.32,0 l -0.02,1.66 c 0,0.18 0,0.37 -0.01,0.55 -0.58,-0.02 -1.17,-0.03 -1.76,0 0.01,-0.29 0.02,-0.58 0.03,-0.88 0.02,-0.71 0.04,-1.42 0.06,-2.14 0.01,-0.24 -0.36,-0.24 -0.37,0 -0.04,0.71 -0.09,1.42 -0.13,2.14 -0.02,0.3 -0.03,0.6 -0.05,0.9 -0.38,0.04 -0.76,0.1 -1.12,0.21 -0.02,-0.28 -0.04,-0.57 -0.05,-0.85 -0.02,-0.35 -0.04,-0.7 -0.06,-1.05 0.06,-0.11 0.11,-0.22 0.18,-0.32 0.07,-0.12 0.13,-0.24 0.2,-0.35 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.18,-0.19 0.28,-0.48 0.27,-0.76 0,-0.01 0.01,-0.02 0.01,-0.04 0.04,-0.21 -0.05,-0.37 -0.2,-0.47 -0.03,-0.03 -0.04,-0.08 -0.08,-0.11 -0.85,-0.69 -1.7,-1.36 -2.56,-2.03 -0.37,-0.29 -0.74,-0.58 -1.14,-0.84 0,-0.08 -0.02,-0.16 -0.04,-0.24 0.08,0.1 0.17,0.18 0.29,0.22 1.38,0.39 2.9,0.37 4.32,0.46 1.46,0.1 2.93,0.12 4.39,0.16 2.89,0.07 5.78,0.07 8.67,0.03 5.78,-0.09 11.56,-0.38 17.32,-0.89 1.62,-0.14 3.23,-0.3 4.85,-0.47 0.65,-0.07 1.3,-0.14 1.95,-0.22 -0.24,0.2 -0.48,0.4 -0.72,0.61 -0.82,0.72 -1.62,1.45 -2.42,2.19 -0.03,0.03 -0.04,0.08 -0.07,0.11 -0.14,0.11 -0.22,0.28 -0.17,0.48 0,0.01 0.01,0.02 0.01,0.03 0,0.05 0.01,0.1 0.02,0.16 -0.09,0.01 -0.17,0.06 -0.16,0.16 0.08,0.62 0.17,1.25 0.25,1.87 0.04,0.31 0.08,0.61 0.12,0.92 0,0.01 0,0.03 0.01,0.04 -0.14,0.01 -0.29,0.02 -0.42,0.03 -0.2,0.03 -0.41,0.04 -0.62,0.06 z m 1.45,-0.1 c 0,-0.01 0,-0.02 -0.01,-0.04 -0.05,-0.32 -0.1,-0.63 -0.15,-0.95 -0.08,-0.5 -0.16,-0.99 -0.23,-1.49 0.02,0.03 0.04,0.06 0.06,0.09 0.01,0.01 0.02,0.01 0.03,0.02 0.07,0.11 0.14,0.23 0.22,0.34 0.23,0.34 0.45,0.67 0.65,1.03 0.03,0.05 0.06,0.11 0.08,0.16 0.01,0.01 0.01,0.02 0.01,0.03 0.04,0.09 0.08,0.17 0.12,0.26 0.08,0.18 0.15,0.36 0.23,0.54 -0.32,-0.02 -0.67,-0.01 -1.01,0.01 z m 29.18,-11.96 c 0,0.02 0,0.05 0.01,0.07 0.06,0.09 0.16,0.11 0.25,0.07 0.17,-0.07 0.34,-0.15 0.51,-0.22 0.22,-0.03 0.43,-0.06 0.65,-0.08 0.49,-0.06 0.97,-0.12 1.46,-0.18 0.48,-0.06 1.09,-0.04 1.47,-0.37 0.13,0.05 0.27,0.06 0.4,0.01 0.02,-0.01 0.04,-0.02 0.06,-0.02 -0.13,0.01 -0.12,0 0.02,-0.01 0.12,-0.02 0.23,-0.06 0.33,-0.12 0.14,-0.08 0.24,-0.2 0.35,-0.32 0.15,-0.16 0.31,-0.33 0.46,-0.49 0.32,-0.34 0.63,-0.68 0.95,-1.02 0.31,-0.33 0.61,-0.67 0.91,-1.01 0.07,-0.08 0.13,-0.17 0.2,-0.25 0.03,0.04 0.08,0.07 0.14,0.05 0.6,-0.18 1.19,-0.41 1.74,-0.71 0.21,-0.11 0.42,-0.24 0.62,-0.37 0.11,0 0.23,0.01 0.33,0.01 0.43,0.02 0.87,0.01 1.3,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.12,0.09 -0.25,0.18 -0.37,0.27 -0.24,0.18 -0.48,0.36 -0.73,0.53 0,0 0,0 0,0 -1.2,0.53 -2.37,1.1 -3.56,1.64 -0.08,0.04 -0.01,0.15 0.07,0.12 1.16,-0.52 2.34,-1.02 3.49,-1.56 0.04,0.03 0.09,0.04 0.13,0.01 0.11,-0.07 0.21,-0.15 0.32,-0.22 0.15,-0.07 0.31,-0.14 0.46,-0.21 0.05,-0.03 0.04,-0.08 0.02,-0.12 0.11,-0.07 0.21,-0.15 0.32,-0.22 0.07,-0.05 0.13,-0.09 0.2,-0.14 0.04,-0.03 0.06,-0.08 0.08,-0.11 0.68,0.01 1.37,0.04 2.05,0.03 0.05,0 0.09,-0.01 0.14,-0.01 -1.14,0.77 -2.33,1.47 -3.6,2.08 -3.49,1.66 -7.33,2.65 -11.23,3.32 -0.05,-0.16 -0.11,-0.32 -0.16,-0.48 0.09,0.01 0.15,0 0.22,0 z m 1.43,-9.05 c 0.01,-0.03 0.02,-0.05 0.03,-0.08 0.73,-0.88 1.45,-1.77 2.18,-2.66 0.45,-0.55 0.89,-1.1 1.33,-1.66 0.24,-0.31 0.49,-0.61 0.72,-0.92 -0.04,0.39 -0.12,0.78 -0.16,1.06 -0.34,2.87 -0.72,6.18 1.38,8.47 -0.03,0.03 -0.06,0.05 -0.09,0.07 -0.34,0.32 -0.68,0.64 -1,0.96 -0.32,0.32 -0.64,0.64 -0.96,0.95 -0.13,0.13 -0.26,0.26 -0.4,0.39 -0.06,-0.07 -0.13,-0.13 -0.22,-0.18 -0.27,-0.14 -0.58,-0.2 -0.82,-0.33 -0.26,-0.14 -0.45,-0.29 -0.66,-0.5 -0.38,-0.39 -0.69,-0.88 -0.88,-1.4 -0.24,-0.67 -0.35,-1.38 -0.38,-2.09 -0.03,-0.67 0.06,-1.41 -0.07,-2.08 z m 6.9,4.74 c 0.07,-0.1 0.11,-0.19 0.15,-0.29 0.11,-0.13 0.18,-0.27 0.21,-0.43 0.05,0.01 0.1,0.01 0.15,-0.01 0.01,0 0.02,-0.01 0.03,-0.01 0.36,0.03 0.71,0.05 1.07,0.06 -0.05,0.03 -0.1,0.07 -0.16,0.1 -0.48,0.26 -0.98,0.47 -1.5,0.64 0.02,-0.03 0.04,-0.04 0.05,-0.06 z m 28.15,0.49 c 0.02,0.05 0.04,0.1 0.06,0.14 0.03,0.08 0.07,0.17 0.1,0.25 0.04,0.09 0.08,0.18 0.13,0.26 0.03,0.06 0.09,0.06 0.14,0.05 0.01,0.04 0.01,0.08 0.02,0.12 -0.5,0.12 -1.01,0.32 -1.47,0.44 -0.34,0.09 -0.68,0.16 -1.02,0.25 -0.06,-0.19 -0.12,-0.38 -0.17,-0.56 -0.07,-0.23 -0.43,-0.14 -0.36,0.1 0.05,0.19 0.1,0.37 0.15,0.56 -0.38,0.09 -0.76,0.19 -1.14,0.28 -0.06,-0.11 -0.13,-0.21 -0.16,-0.32 -0.11,-0.35 -0.11,-0.72 0.02,-1.08 0,-0.01 0,-0.02 0,-0.03 0.19,-0.02 0.37,-0.03 0.56,-0.05 0.99,-0.11 1.98,-0.24 2.96,-0.37 0.05,-0.02 0.11,-0.03 0.18,-0.04 z m 1.24,5.04 c -0.02,0.48 -0.05,0.95 -0.08,1.43 0,0.01 0,0.02 0,0.02 -0.11,0.01 -0.22,0.02 -0.33,0.02 -0.19,0.01 -0.38,0.02 -0.57,0.03 0.07,-0.02 0.14,-0.06 0.17,-0.15 0.04,-0.11 0.06,-0.23 0.09,-0.35 0.01,-0.01 0.03,-0.01 0.03,-0.03 0.02,-0.07 0.02,-0.15 0.01,-0.22 0.01,-0.06 0.04,-0.13 0.03,-0.19 0,-0.04 -0.02,-0.07 -0.05,-0.1 -0.01,-0.13 -0.02,-0.27 -0.04,-0.4 -0.04,-0.31 -0.07,-0.61 -0.11,-0.92 -0.01,-0.05 -0.03,-0.09 -0.07,-0.12 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,0 0,0 0,0 -0.1,-0.02 -0.22,0.03 -0.22,0.17 0,0.36 -0.01,0.71 -0.02,1.07 -0.01,0.36 -0.04,0.71 -0.04,1.07 0,0.13 0.08,0.2 0.18,0.22 -0.19,0.01 -0.38,0.02 -0.57,0.03 -0.01,0 -0.01,0 -0.02,0 0,-0.01 0,-0.02 0,-0.03 -0.02,-0.26 -0.03,-0.53 -0.05,-0.79 -0.04,-0.52 -0.07,-1.04 -0.11,-1.56 0,-0.04 -0.03,-0.06 -0.04,-0.08 0.07,-0.03 0.14,-0.07 0.21,-0.1 0.58,-0.28 1.16,-0.57 1.74,-0.86 -0.01,0.61 -0.01,1.25 -0.04,1.88 z m -15.97,-4 c -0.01,-0.09 -0.03,-0.17 -0.03,-0.26 -0.02,-0.26 -0.02,-0.52 -0.02,-0.78 -0.05,-0.01 -0.1,0.01 -0.15,0.01 -0.01,-0.12 -0.02,-0.26 -0.02,-0.37 -0.02,-0.39 -0.05,-0.78 -0.07,-1.17 0.03,0.02 0.05,0.04 0.08,0.06 0.15,0.09 0.3,0.16 0.45,0.25 0.05,0.72 0.11,1.44 0.16,2.16 0,0.01 0,0.01 0,0.02 -0.1,0 -0.21,0.02 -0.3,0.05 -0.04,0.01 -0.07,0.02 -0.1,0.03 z m 4.88,3.77 c -0.24,0.07 -0.4,0.31 -0.36,0.56 0,0.02 0.02,0.03 0.02,0.05 -0.01,0.01 -0.02,0.03 -0.04,0.03 -0.01,0 -0.01,0 -0.02,0 -0.02,-0.03 -0.03,-0.07 -0.05,-0.1 -0.28,-0.34 -0.55,-0.69 -0.83,-1.04 0.23,0.05 0.46,0.09 0.69,0.14 0.35,0.07 0.73,0.17 1.09,0.19 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.16,0.06 -0.31,0.1 -0.46,0.15 z m 0.55,-3.91 c 0.02,0 0.05,-0.01 0.07,-0.02 -0.04,0.26 -0.04,0.53 -0.06,0.77 -0.01,0.09 0,0.17 -0.01,0.26 0,-0.07 -0.01,-0.14 -0.01,-0.22 l -0.05,-0.81 c 0.02,0.01 0.04,0.02 0.06,0.02 z m 1.6,3.42 0.31,-0.11 c 0.03,-0.01 0.05,-0.04 0.08,-0.06 0.26,-0.02 0.52,-0.06 0.77,-0.09 0.01,0.01 0.01,0.03 0.02,0.04 0.08,0.08 0.2,0.02 0.23,-0.08 0.13,-0.02 0.27,-0.04 0.4,-0.06 0.86,-0.12 1.72,-0.29 2.57,-0.48 0.43,-0.1 0.85,-0.23 1.28,-0.34 -0.11,0.06 -0.23,0.12 -0.34,0.18 -0.2,0.1 -0.4,0.22 -0.59,0.34 -0.1,0.06 -0.2,0.11 -0.29,0.18 -0.14,0.1 -0.19,0.2 -0.31,0.32 -0.06,0.06 -0.09,0.15 -0.11,0.23 -0.05,0 -0.1,0 -0.15,0 -0.16,0.01 -0.32,0.05 -0.48,0.07 -0.15,0.02 -0.3,0.07 -0.45,0.12 -0.03,-0.02 -0.05,-0.06 -0.08,-0.08 -0.33,-0.2 -0.7,-0.14 -1.06,-0.1 -0.32,0.03 -0.64,0.06 -0.95,0.11 -0.26,0.04 -0.53,0.09 -0.79,0.13 -0.02,0 -0.05,0.01 -0.08,0.02 0.02,-0.11 0.03,-0.22 0.02,-0.34 z m 2.83,3.06 c 0,0 0,-0.01 0,-0.01 -0.05,-0.46 -0.11,-0.91 -0.18,-1.36 0.14,-0.05 0.28,-0.1 0.42,-0.15 0.02,-0.01 0.04,-0.02 0.07,-0.02 0.09,0.43 0.18,0.85 0.27,1.28 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.18,0.06 -0.36,0.15 -0.54,0.24 z m 1,-0.43 -0.32,-1.25 c 0.11,-0.04 0.22,-0.07 0.33,-0.12 0.1,-0.05 0.22,-0.1 0.32,-0.15 0.03,-0.02 0.22,-0.15 0.13,-0.09 0.06,-0.04 0.12,-0.08 0.18,-0.12 0.05,-0.03 0.08,-0.09 0.11,-0.13 0.12,0 0.24,0 0.36,-0.03 0.01,0 0.02,-0.01 0.03,-0.01 -0.03,0.34 -0.02,0.68 0.02,1.01 0.03,0.2 0.09,0.4 0.14,0.59 -0.14,-0.07 -0.29,-0.1 -0.45,-0.04 -0.27,0.11 -0.56,0.23 -0.85,0.34 z m 1.84,-0.25 c -0.08,-0.23 -0.15,-0.47 -0.19,-0.72 -0.06,-0.38 -0.05,-0.76 -0.01,-1.14 0.19,-0.08 0.38,-0.15 0.56,-0.24 0.22,-0.11 0.43,-0.21 0.65,-0.32 0.02,0.5 0.04,0.99 0.06,1.49 0.01,0.25 0.02,0.51 0.03,0.76 0,0.02 0,0.05 0,0.07 -0.37,0.04 -0.74,0.07 -1.1,0.1 z m -2.16,-4.98 c 0.03,0.09 0.09,0.18 0.13,0.27 -0.24,0.05 -0.48,0.09 -0.72,0.14 -0.01,-0.07 -0.04,-0.13 -0.05,-0.19 -0.06,-0.42 -0.04,-0.86 0.06,-1.27 0.01,-0.04 -0.01,-0.07 -0.02,-0.1 0.21,-0.02 0.41,-0.04 0.62,-0.06 -0.13,0.38 -0.14,0.81 -0.02,1.21 z m -1.03,0.49 c -0.34,0.06 -0.67,0.14 -1.01,0.2 -0.12,0.02 -0.24,0.04 -0.37,0.06 0,-0.03 -0.02,-0.07 -0.02,-0.1 -0.06,-0.55 -0.05,-1.1 0.03,-1.64 0.16,-0.01 0.33,-0.03 0.49,-0.04 0.31,-0.02 0.61,-0.06 0.91,-0.08 -0.11,0.51 -0.13,1.06 -0.03,1.6 z m -1.82,0.18 c 0,0.05 0.02,0.09 0.02,0.13 -0.24,0.03 -0.47,0.07 -0.71,0.12 0,-0.33 0,-0.66 -0.02,-0.99 -0.02,-0.28 -0.02,-0.59 -0.08,-0.88 0.28,0 0.55,-0.01 0.83,-0.03 -0.07,0.55 -0.1,1.1 -0.04,1.65 z m -2.74,-1.55 c 0.02,0.3 0.04,0.59 0.05,0.89 0.01,0.25 0.03,0.51 0.05,0.76 0.01,0.18 0.05,0.36 0.08,0.53 -0.17,-0.03 -0.34,-0.05 -0.5,-0.07 l -0.34,-0.06 c -0.01,-0.14 -0.06,-0.28 -0.1,-0.42 -0.06,-0.18 -0.12,-0.36 -0.17,-0.54 -0.1,-0.35 -0.19,-0.71 -0.26,-1.07 -0.03,-0.15 -0.04,-0.3 -0.06,-0.45 0.4,0.16 0.82,0.32 1.25,0.43 z m -1.74,-0.61 c 0.02,0.01 0.04,0.02 0.06,0.02 0.03,0.23 0.05,0.45 0.08,0.68 0.07,0.38 0.15,0.75 0.25,1.11 0.06,0.23 0.13,0.53 0.25,0.78 l -0.25,-0.04 c -0.28,-0.05 -0.57,-0.07 -0.85,-0.11 -0.03,-0.17 -0.06,-0.35 -0.08,-0.5 -0.05,-0.37 -0.09,-0.75 -0.14,-1.12 -0.05,-0.4 -0.1,-0.79 -0.15,-1.19 0.28,0.13 0.55,0.26 0.83,0.37 z m -1.2,-0.53 c 0.05,0.46 0.11,0.93 0.16,1.39 0.04,0.37 0.09,0.75 0.13,1.12 0.01,0.12 0.02,0.26 0.03,0.4 -0.03,0 -0.06,-0.01 -0.08,-0.01 -0.08,-0.1 -0.15,-0.19 -0.23,-0.29 -0.23,-0.29 -0.47,-0.62 -0.79,-0.81 -0.02,-0.05 -0.04,-0.11 -0.07,-0.16 -0.04,-0.05 -0.08,-0.1 -0.12,-0.15 -0.07,-0.08 -0.18,-0.13 -0.29,-0.16 l -0.01,-0.09 c -0.06,-0.65 -0.11,-1.31 -0.17,-1.96 0.27,0.15 0.53,0.32 0.81,0.45 0.21,0.1 0.42,0.18 0.63,0.27 z m 11.14,9.5 c -0.09,0.06 -0.17,0.14 -0.22,0.23 -0.24,-0.15 -0.53,-0.24 -0.8,-0.32 -0.35,-0.11 -0.7,-0.19 -1.06,-0.25 -0.36,-0.05 -0.72,-0.09 -1.08,-0.11 -0.01,-0.05 -0.01,-0.11 -0.01,-0.16 0.03,-0.01 0.07,-0.01 0.1,-0.02 0.22,-0.04 0.44,-0.1 0.66,-0.17 0.04,0.14 0.09,0.27 0.2,0.35 0.07,0.05 0.2,0.01 0.24,-0.06 0.07,-0.13 0.05,-0.29 0.01,-0.45 0.3,-0.11 0.61,-0.22 0.91,-0.33 0.08,-0.03 0.15,-0.07 0.21,-0.12 0.66,0.01 1.32,0.03 1.98,0 0.41,-0.01 0.81,-0.03 1.22,-0.04 0.06,0 0.14,0 0.2,0 -0.03,0.01 -0.06,0.03 -0.09,0.04 -0.04,0.02 -0.05,0.02 -0.04,0.02 -0.06,0.02 -0.18,0.08 -0.21,0.09 -0.06,0.03 -0.13,0.07 -0.19,0.1 -0.23,0.12 -0.46,0.23 -0.67,0.37 -0.46,0.28 -0.91,0.56 -1.36,0.83 z m 1.96,-9.03 c -0.01,-0.04 -0.03,-0.07 -0.04,-0.11 -0.01,-0.03 -0.03,-0.07 -0.04,-0.1 0.04,0 0.07,-0.01 0.11,-0.02 -0.02,0.08 -0.04,0.15 -0.03,0.23 z m 1.02,-4.04 c 0,0.1 0,0.2 0,0.3 0,0.47 0.01,0.93 0.01,1.4 -0.13,0.02 -0.26,0.04 -0.4,0.06 -0.5,0.08 -1.01,0.16 -1.51,0.23 -0.96,0.14 -1.92,0.27 -2.88,0.38 -0.98,0.12 -1.95,0.24 -2.93,0.35 -0.71,0.09 -1.47,0.13 -2.18,0.3 -0.04,-0.44 -0.08,-0.87 -0.13,-1.31 -0.03,-0.29 -0.06,-0.6 -0.1,-0.9 0.13,-0.05 0.24,-0.14 0.32,-0.25 0.57,-0.03 1.14,-0.08 1.71,-0.13 0.98,-0.08 1.95,-0.14 2.93,-0.21 1.73,-0.11 3.44,-0.18 5.16,-0.22 z m -11.78,1.77 c 0.02,0.21 0.04,0.42 0.05,0.63 -0.18,-0.06 -0.37,-0.11 -0.55,-0.18 -0.56,-0.2 -1.09,-0.41 -1.59,-0.64 -0.55,-0.25 -1.1,-0.48 -1.64,-0.74 -0.24,-0.12 -0.49,-0.21 -0.74,-0.3 0,-0.02 0.01,-0.03 0.01,-0.05 -0.01,-0.57 -0.11,-1.15 -0.17,-1.72 -0.03,-0.23 -0.04,-0.48 -0.07,-0.73 0.1,0.07 0.2,0.15 0.31,0.22 0.6,0.39 1.23,0.73 1.86,1.06 0.61,0.33 1.23,0.63 1.87,0.91 0.2,0.09 0.4,0.17 0.6,0.26 -0.01,0.43 0.03,0.87 0.06,1.28 z m -21.45,-11.5 c -0.06,-0.14 -0.14,-0.27 -0.21,-0.4 -0.1,-0.18 -0.2,-0.35 -0.3,-0.52 -0.22,-0.37 -0.44,-0.74 -0.66,-1.11 -0.44,-0.74 -0.89,-1.48 -1.33,-2.23 -0.1,-0.17 -0.37,-0.02 -0.27,0.16 0.43,0.75 0.87,1.5 1.3,2.24 0.22,0.37 0.43,0.75 0.65,1.12 0.1,0.17 0.2,0.35 0.31,0.52 0.04,0.07 0.09,0.14 0.13,0.22 -0.38,0 -0.76,-0.01 -1.13,-0.01 -0.03,-0.07 -0.05,-0.14 -0.08,-0.2 -0.17,-0.43 -0.38,-0.83 -0.65,-1.21 -0.45,-0.65 -1.05,-1.17 -1.72,-1.58 0.01,-0.02 0.03,-0.04 0.04,-0.06 0.17,-0.31 0.07,-0.63 -0.13,-0.85 0,-0.03 -0.01,-0.07 -0.01,-0.1 -0.02,-0.42 -0.04,-0.84 -0.06,-1.25 -0.02,-0.38 -0.02,-0.78 -0.04,-1.17 0.15,0.09 0.3,0.18 0.46,0.26 0.37,0.2 0.73,0.42 1.08,0.67 0.68,0.51 1.32,1.1 1.84,1.77 0.5,0.64 0.94,1.41 1.22,2.15 0.16,0.41 0.28,0.84 0.37,1.27 0.03,0.13 0.04,0.25 0.06,0.38 -0.29,-0.05 -0.58,-0.06 -0.87,-0.07 z m -6.04,0.09 c -0.03,-0.15 -0.05,-0.31 -0.07,-0.47 0.01,0.06 0.02,0.12 0.02,0.18 -0.01,-0.1 -0.03,-0.2 -0.04,-0.3 0.39,-0.33 0.76,-0.67 1.1,-1.04 0.3,0.28 0.61,0.54 0.88,0.85 0.18,0.21 0.35,0.42 0.52,0.64 -0.79,-0.01 -1.66,-0.07 -2.41,0.14 z m 2.82,-0.12 c -0.21,-0.29 -0.43,-0.56 -0.67,-0.83 -0.29,-0.33 -0.63,-0.61 -0.95,-0.91 0.09,-0.11 0.19,-0.22 0.27,-0.34 0.22,-0.08 0.42,-0.26 0.49,-0.53 0.01,-0.05 0,-0.1 0.01,-0.14 0.62,0.41 1.17,0.91 1.58,1.53 0.23,0.35 0.43,0.73 0.58,1.12 0.01,0.04 0.02,0.07 0.04,0.11 -0.45,0 -0.9,-0.01 -1.35,-0.01 z m 5.33,-2.26 c 0.02,0.04 0.05,0.06 0.09,0.07 -0.01,0.02 -0.02,0.03 -0.04,0.05 -0.01,-0.04 -0.03,-0.08 -0.05,-0.12 z m -7.74,-3.31 c 0,0.11 -0.01,0.23 -0.01,0.34 -0.01,0.35 -0.03,0.69 -0.05,1.04 -0.04,0.06 -0.05,0.13 -0.02,0.2 0,0.01 0.01,0.02 0.01,0.02 -0.01,0.19 -0.03,0.39 -0.04,0.58 -0.42,0.4 -0.86,0.79 -1.31,1.17 -0.02,-0.11 -0.04,-0.23 -0.04,-0.34 -0.01,-0.38 0.05,-0.75 0.18,-1.11 0.03,-0.09 -0.04,-0.2 -0.12,-0.22 -0.1,-0.03 -0.19,0.03 -0.22,0.12 -0.15,0.39 -0.22,0.81 -0.21,1.22 0,0.2 0.03,0.4 0.07,0.6 -0.27,0.22 -0.53,0.45 -0.82,0.65 -0.09,0.06 -0.18,0.11 -0.27,0.17 0,-0.15 0,-0.29 0,-0.44 l -0.01,-1.76 c 1.07,-0.63 2.06,-1.37 2.86,-2.24 z m -3.23,4.01 c 0,0.23 0,0.45 0,0.68 -0.35,0.22 -0.7,0.42 -1.06,0.62 0,-0.08 0,-0.15 0,-0.23 0,-0.68 -0.01,-1.36 -0.01,-2.03 0,-0.01 0,-0.01 -0.01,-0.01 0.37,-0.18 0.73,-0.37 1.09,-0.58 z m -1.35,1.07 c 0,0.13 0,0.25 0,0.38 -0.13,0.07 -0.26,0.14 -0.39,0.21 -0.22,-0.67 -0.45,-1.34 -0.67,-2.02 0.36,-0.15 0.71,-0.31 1.07,-0.48 0,0.63 -0.01,1.27 -0.01,1.91 z m 2.72,1.03 c 0.04,0.41 0.13,0.81 0.26,1.19 0.05,0.15 0.14,0.27 0.26,0.37 -0.01,0.02 -0.01,0.03 -0.03,0.07 -0.06,0.12 -0.12,0.24 -0.17,0.37 -0.02,0.04 -0.03,0.08 -0.05,0.13 0,0.01 -0.01,0.02 -0.02,0.03 -0.04,0.09 -0.08,0.19 -0.12,0.29 0,0.01 -0.01,0.01 -0.01,0.02 -0.05,0.1 -0.09,0.2 -0.14,0.29 -0.1,0.19 -0.21,0.37 -0.33,0.54 -0.02,0.03 -0.04,0.06 -0.06,0.08 -0.01,0.01 -0.02,0.03 -0.04,0.05 -0.07,0.08 -0.14,0.17 -0.22,0.25 -0.14,0.15 -0.3,0.29 -0.46,0.42 0,0 -0.01,0 -0.01,0.01 -0.05,0.03 -0.1,0.07 -0.15,0.1 -0.08,0.05 -0.16,0.1 -0.24,0.15 -0.33,-1 -0.66,-2 -0.99,-3 0.87,-0.39 1.72,-0.84 2.52,-1.36 z m 3.05,13.37 c -0.16,-0.06 -0.39,-0.01 -0.56,0.01 -0.19,0.02 -0.37,0.04 -0.56,0.06 -0.14,0.02 -0.29,0.03 -0.43,0.05 -0.16,-0.47 -0.31,-0.94 -0.47,-1.41 0.03,0 0.05,0 0.08,-0.01 0.29,-0.13 0.62,-0.19 0.94,-0.19 0.15,0 0.31,0.02 0.46,0.05 0.08,0.02 0.16,0.04 0.23,0.06 0.09,0.03 0.17,0.07 0.27,0.06 0.03,0 0.04,-0.03 0.06,-0.04 0.06,0.24 0.1,0.48 0.19,0.71 0.29,0.73 0.69,1.4 1.24,1.96 0.16,0.16 0.35,0.33 0.55,0.48 -0.33,0.06 -0.66,0.11 -0.98,0.17 -0.62,0.1 -1.24,0.2 -1.85,0.35 -0.04,-0.11 -0.07,-0.21 -0.11,-0.32 0.05,0.01 0.11,0.02 0.16,0.02 0.11,0.02 0.23,0.03 0.34,0.05 0.13,0.02 0.27,0.05 0.4,0.05 0.05,0 0.09,-0.02 0.12,-0.04 0.05,-0.01 0.09,-0.02 0.13,-0.05 0.06,-0.05 0.07,-0.12 0.02,-0.18 -0.03,-0.04 -0.07,-0.06 -0.11,-0.08 -0.03,-0.03 -0.07,-0.06 -0.1,-0.07 -0.12,-0.03 -0.26,-0.03 -0.38,-0.05 -0.12,-0.01 -0.24,-0.02 -0.36,-0.04 l -0.35,-0.03 c -0.12,-0.37 -0.24,-0.74 -0.37,-1.11 0.11,-0.01 0.23,-0.02 0.34,-0.03 0.19,-0.02 0.37,-0.03 0.56,-0.05 0.18,-0.02 0.41,-0.01 0.57,-0.1 0.13,-0.07 0.09,-0.23 -0.03,-0.28 z m -0.75,8.9 c -1.07,0.15 -2.12,0.4 -3.19,0.51 -1.21,0.13 -2.43,0.17 -3.65,0.18 -3.97,0.04 -7.97,-0.11 -11.86,0.83 -1.66,0.4 -3.28,1.02 -4.75,1.9 -0.72,0.43 -1.38,0.94 -2,1.51 -0.23,0.21 -0.48,0.45 -0.72,0.69 -0.17,-0.32 -0.34,-0.64 -0.54,-0.95 0,0 -0.01,-0.01 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.02 -0.18,-0.27 -0.39,-0.52 -0.6,-0.77 0.63,-0.6 1.25,-1.2 1.86,-1.81 0.35,-0.35 0.71,-0.69 1.03,-1.07 0.12,-0.14 0.27,-0.31 0.41,-0.49 0.09,-0.05 0.19,-0.09 0.27,-0.18 0.09,-0.09 0.17,-0.17 0.26,-0.26 0.8,0.1 1.64,-0.16 2.44,-0.29 0.98,-0.16 1.96,-0.34 2.94,-0.48 1.97,-0.26 3.94,-0.49 5.91,-0.68 2.01,-0.19 4.03,-0.34 6.05,-0.48 0.95,-0.07 1.9,-0.15 2.85,-0.21 0.85,-0.05 1.74,-0.05 2.59,-0.15 0.23,0.77 0.48,1.5 0.72,2.23 z m -70.81,-2.55 c 0.87,0.1 1.74,0.15 2.61,0.2 1.7,0.09 3.41,0.17 5.11,0.23 3.33,0.12 6.66,0.15 9.99,0.12 6.74,-0.06 13.48,-0.35 20.2,-0.87 1.9,-0.15 3.79,-0.31 5.69,-0.5 1.68,-0.16 3.46,-0.33 5.07,-0.86 -0.7,0.77 -1.42,1.51 -2.15,2.25 -0.32,-0.03 -0.65,-0.01 -0.99,0.03 -0.75,0.08 -1.49,0.17 -2.24,0.25 -1.42,0.15 -2.84,0.29 -4.26,0.42 -2.88,0.26 -5.76,0.47 -8.65,0.64 -5.77,0.33 -11.56,0.44 -17.34,0.39 -1.58,-0.01 -3.17,-0.07 -4.75,-0.09 -1.62,-0.02 -3.32,-0.18 -4.92,0.09 -0.41,0.07 -0.5,0.47 -0.39,0.8 -0.05,-0.08 -0.1,-0.17 -0.19,-0.24 -1.08,-0.94 -2.16,-1.89 -3.21,-2.89 0.16,0 0.29,0.02 0.42,0.03 z m 2.73,11.35 c -0.12,0 -0.24,-0.01 -0.36,-0.01 -0.06,-0.05 -0.11,-0.12 -0.18,-0.16 -0.13,-0.08 -0.24,0.03 -0.25,0.15 -0.3,-0.01 -0.6,-0.02 -0.9,-0.03 -0.08,0 -0.17,-0.01 -0.25,-0.01 -0.01,-0.07 -0.01,-0.13 -0.02,-0.2 -0.04,-0.39 -0.07,-0.78 -0.11,-1.16 -0.02,-0.24 -0.4,-0.25 -0.38,0 0.03,0.39 0.05,0.79 0.08,1.18 0,0.06 0.01,0.11 0.01,0.17 -0.46,-0.01 -0.92,-0.03 -1.38,-0.04 -0.01,-0.18 -0.02,-0.36 -0.01,-0.53 0.03,-0.43 0.13,-0.87 0.31,-1.27 0.04,-0.1 0.03,-0.22 -0.07,-0.28 -0.09,-0.05 -0.23,-0.03 -0.28,0.07 -0.2,0.45 -0.33,0.93 -0.37,1.42 -0.02,0.19 -0.01,0.38 0,0.57 -0.38,-0.01 -0.76,-0.02 -1.14,-0.03 -0.04,0 -0.09,0 -0.13,0 0,-0.16 0,-0.33 0,-0.49 0,-0.39 0,-0.77 0,-1.16 0,-0.24 -0.38,-0.24 -0.38,0 0,0.39 0,0.77 0,1.16 0,0.16 0,0.32 0,0.48 -0.47,-0.02 -0.93,-0.03 -1.4,-0.05 0,-0.09 0.01,-0.18 0.01,-0.27 0,-0.22 0,-0.43 -0.01,-0.65 0,-0.42 -0.01,-0.85 -0.01,-1.27 0,-0.25 -0.38,-0.25 -0.38,0 0,0.42 -0.01,0.85 -0.01,1.27 0,0.21 0,0.41 -0.01,0.62 0,0.09 0,0.19 0.01,0.28 -0.63,-0.02 -1.26,-0.05 -1.88,-0.07 0,0 0,0 0,0 0.12,-0.15 0.08,-0.4 0.08,-0.58 0.01,-0.19 0,-0.37 0,-0.56 0,-0.39 0,-0.77 0,-1.16 0,-0.25 -0.38,-0.25 -0.38,0 0,0.39 0,0.77 0,1.16 0,0.19 0,0.37 0,0.56 0,0.18 -0.03,0.43 0.08,0.57 -0.92,-0.03 -1.85,-0.07 -2.77,-0.1 0,-0.07 -0.02,-0.13 -0.06,-0.2 -0.04,-0.07 -0.08,-0.14 -0.11,-0.21 -0.07,-0.14 -0.12,-0.28 -0.15,-0.43 -0.07,-0.3 -0.08,-0.61 -0.02,-0.91 0.02,-0.09 -0.03,-0.18 -0.12,-0.21 -0.08,-0.02 -0.19,0.03 -0.21,0.12 -0.07,0.35 -0.07,0.71 0.01,1.06 0.04,0.17 0.1,0.33 0.17,0.49 0.04,0.08 0.08,0.16 0.13,0.23 0.01,0.01 0.02,0.03 0.03,0.04 -0.46,-0.02 -0.93,-0.03 -1.39,-0.05 -0.03,-0.07 -0.06,-0.13 -0.09,-0.2 -0.07,-0.15 -0.12,-0.31 -0.15,-0.48 -0.06,-0.33 -0.02,-0.67 0.1,-0.99 0.04,-0.11 -0.05,-0.23 -0.15,-0.26 -0.12,-0.03 -0.22,0.04 -0.26,0.15 -0.16,0.38 -0.19,0.8 -0.13,1.2 0.03,0.19 0.09,0.38 0.17,0.55 -0.32,-0.01 -0.65,-0.02 -0.97,-0.03 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.11,-0.08 -0.21,-0.19 -0.3,-0.3 -0.02,-0.03 -0.08,-0.1 -0.11,-0.15 -0.04,-0.06 -0.08,-0.13 -0.11,-0.19 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 0.01,0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.03 -0.02,-0.07 -0.04,-0.1 -0.02,-0.07 -0.04,-0.14 -0.05,-0.22 0,-0.01 -0.01,-0.05 0,-0.02 0,-0.02 0,-0.04 -0.01,-0.06 0,-0.04 0,-0.07 -0.01,-0.11 0,-0.08 0,-0.16 0.01,-0.23 0.01,-0.1 -0.09,-0.19 -0.18,-0.21 -0.09,-0.01 -0.21,0.05 -0.23,0.15 -0.06,0.37 0,0.73 0.15,1.07 0.07,0.16 0.17,0.31 0.29,0.44 -0.5,-0.02 -1,-0.04 -1.5,-0.05 -0.01,-0.08 -0.02,-0.17 -0.03,-0.24 -0.02,-0.17 -0.04,-0.34 -0.06,-0.51 -0.04,-0.35 -0.08,-0.7 -0.12,-1.06 -0.01,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.03,0.36 0.06,0.72 0.09,1.08 0.02,0.18 0.03,0.35 0.04,0.53 0.01,0.06 0.01,0.12 0.02,0.19 -0.4,-0.01 -0.8,-0.03 -1.2,-0.04 -0.04,-0.14 -0.08,-0.28 -0.11,-0.41 -0.06,-0.29 -0.11,-0.57 -0.14,-0.87 -0.07,-0.61 -0.06,-1.21 0.03,-1.82 0,0 0,0 0,0 2.08,0.03 4.16,-0.13 6.24,-0.21 3.36,-0.13 6.85,-0.01 10,1.32 0.81,0.34 1.59,0.78 2.3,1.3 0.35,0.25 0.67,0.54 0.98,0.84 0.17,0.17 0.32,0.36 0.47,0.53 -0.11,-0.01 -0.23,-0.02 -0.37,-0.02 z m -21.05,-0.73 c 0,-0.03 0,-0.05 0,-0.08 0,-0.2 0,-0.41 0,-0.61 0,-0.16 -0.25,-0.16 -0.25,0 0,0.2 0,0.41 0,0.61 0,0.02 0,0.05 0,0.07 -0.32,-0.01 -0.63,-0.02 -0.95,-0.03 -0.01,-0.07 -0.02,-0.14 -0.03,-0.19 -0.02,-0.14 -0.03,-0.27 -0.05,-0.41 -0.04,-0.28 -0.07,-0.56 -0.11,-0.85 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.08,0 -0.18,0.08 -0.17,0.17 0.03,0.29 0.07,0.57 0.1,0.86 0.02,0.14 0.03,0.28 0.05,0.42 0,0.04 0.01,0.1 0.02,0.15 -0.24,-0.01 -0.49,-0.02 -0.73,-0.02 -0.08,0 -0.17,-0.01 -0.25,-0.01 -0.02,-0.13 -0.05,-0.26 -0.08,-0.39 -0.07,-0.35 -0.14,-0.69 -0.21,-1.04 -0.04,-0.18 -0.32,-0.11 -0.28,0.08 0.07,0.34 0.14,0.68 0.2,1.02 0.02,0.11 0.04,0.22 0.07,0.32 -0.66,-0.03 -1.32,-0.07 -1.97,-0.07 -0.02,-0.06 -0.05,-0.12 -0.07,-0.19 -0.1,-0.37 -0.13,-0.75 -0.08,-1.13 0.01,-0.08 -0.08,-0.16 -0.16,-0.16 -0.09,0 -0.15,0.07 -0.16,0.16 -0.05,0.41 -0.02,0.83 0.1,1.23 0.01,0.03 0.03,0.06 0.04,0.09 -0.09,0 -0.18,0.01 -0.28,0.02 -0.07,-0.2 -0.14,-0.41 -0.18,-0.62 0,-0.01 0,-0.01 0,-0.02 -0.02,-0.4 -0.02,-0.8 -0.03,-1.2 0,0 0,0 0,0 0.01,-0.05 0.02,-0.1 0.03,-0.14 0.02,-0.12 0.05,-0.24 0.09,-0.35 0.03,-0.1 0.06,-0.21 0.1,-0.31 0.02,-0.05 0.03,-0.09 0.05,-0.14 0.01,-0.01 0.01,-0.01 0.01,-0.02 0,-0.01 0.01,-0.01 0.02,-0.03 0.09,-0.2 0.19,-0.39 0.31,-0.57 0.08,-0.12 0.17,-0.24 0.25,-0.37 0.94,0.42 1.95,0.55 2.97,0.68 0.98,0.12 1.96,0.17 2.94,0.19 -0.1,0.61 -0.15,1.24 -0.11,1.85 0.02,0.32 0.06,0.63 0.12,0.95 0.02,0.09 0.04,0.19 0.07,0.28 -0.42,0 -0.82,-0.02 -1.22,-0.03 z m -7.81,-3.04 c 0.01,-0.14 0,-0.29 0,-0.42 -0.01,-0.3 -0.01,-0.59 -0.02,-0.89 -0.01,-0.56 -0.03,-1.11 -0.05,-1.67 -0.03,-1.09 -0.07,-2.19 -0.1,-3.28 0.89,0.16 1.78,0.31 2.66,0.46 -0.07,-0.67 -0.12,-1.34 -0.14,-2.01 -2.32,-0.36 -4.63,-0.79 -6.93,-1.27 0.66,-0.17 1.3,-0.39 1.89,-0.75 0.98,-0.58 1.72,-1.38 2.28,-2.28 0.45,0.29 0.9,0.59 1.35,0.88 0.56,0.37 1.11,0.78 1.72,1.06 0.08,0.03 0.17,-0.06 0.1,-0.12 -0.5,-0.44 -1.1,-0.78 -1.66,-1.13 l -1.39,-0.88 c 0.19,-0.33 0.35,-0.66 0.49,-1.01 0.17,-0.21 0.28,-0.45 0.34,-0.71 0.16,0.43 0.41,0.82 0.75,1.11 0.02,0.02 0.04,0.03 0.06,0.05 -0.01,0.1 0.06,0.22 0.19,0.2 0.02,0 0.04,-0.01 0.06,-0.01 0.33,0.21 0.71,0.36 1.09,0.36 0.08,0 0.1,-0.12 0.02,-0.14 -0.23,-0.07 -0.46,-0.12 -0.67,-0.23 -0.03,-0.01 -0.05,-0.03 -0.07,-0.05 0.47,-0.07 0.94,-0.15 1.42,-0.22 0.31,-0.05 0.61,-0.09 0.92,-0.14 0.09,-0.01 0.19,-0.03 0.28,-0.04 -0.68,2.64 -1.35,5.28 -2.04,7.91 -0.26,1.01 -0.53,2.01 -0.81,3.01 -0.06,0.22 -0.03,0.41 0.03,0.58 -0.03,0.03 -0.06,0.06 -0.09,0.1 0.03,-0.24 0.02,-0.49 0.02,-0.73 0,-0.28 -0.01,-0.57 -0.01,-0.85 -0.01,-0.58 -0.02,-1.15 -0.02,-1.73 0,-0.22 -0.34,-0.22 -0.34,0 0,0.58 -0.01,1.15 -0.02,1.73 0,0.28 -0.01,0.57 -0.01,0.85 0,0.29 -0.03,0.58 0.03,0.86 0.01,0.07 0.08,0.11 0.14,0.12 -0.13,0.18 -0.25,0.38 -0.35,0.58 -0.01,-0.26 -0.05,-0.53 -0.09,-0.78 -0.07,-0.41 -0.13,-0.81 -0.2,-1.22 -0.13,-0.8 -0.26,-1.59 -0.39,-2.39 -0.03,-0.2 -0.34,-0.11 -0.3,0.08 0.12,0.78 0.24,1.57 0.36,2.35 l 0.18,1.17 c 0.05,0.35 0.06,0.78 0.25,1.09 0.01,0.02 0.03,0.02 0.05,0.02 -0.07,0.16 -0.14,0.33 -0.2,0.49 0,0.01 0,0.02 -0.01,0.03 -0.26,-0.02 -0.51,-0.08 -0.77,-0.14 z m -1.46,-0.32 c -0.03,-0.1 -0.06,-0.2 -0.09,-0.3 -0.13,-0.46 -0.25,-0.93 -0.34,-1.41 -0.19,-0.99 -0.27,-1.99 -0.24,-3 0,-0.2 -0.3,-0.2 -0.31,0 -0.04,1.02 0.02,2.04 0.18,3.05 0.08,0.49 0.19,0.99 0.32,1.47 0.01,0.03 0.02,0.06 0.03,0.09 -0.34,-0.08 -0.68,-0.16 -1.02,-0.24 0,-0.12 -0.01,-0.23 -0.01,-0.35 -0.02,-0.49 -0.03,-0.98 -0.05,-1.47 -0.03,-0.98 -0.09,-1.97 -0.12,-2.95 0,-0.12 -0.18,-0.12 -0.19,-0.01 0,0 0,0 0,0 0.01,-0.22 0,-0.44 0,-0.66 0,-0.25 0,-0.5 0,-0.75 0.93,0.19 1.86,0.38 2.8,0.54 0.02,1.13 0.05,2.26 0.07,3.4 0.01,0.58 0.02,1.15 0.04,1.73 0.01,0.34 -0.02,0.74 0.02,1.11 -0.37,-0.09 -0.73,-0.17 -1.09,-0.25 z m -7.09,-23.79 c -0.95,0.03 -1.92,0.27 -2.82,0.66 0.16,-0.1 0.3,-0.22 0.47,-0.31 0.65,-0.37 1.34,-0.65 2.07,-0.83 0.21,-0.05 0.12,-0.38 -0.09,-0.33 -0.75,0.18 -1.48,0.47 -2.16,0.86 -0.22,0.13 -0.42,0.28 -0.63,0.42 0.13,-0.36 0.26,-0.72 0.39,-1.08 0.95,-0.65 2.05,-1.07 3.24,-1.1 0.15,0 0.15,-0.23 0,-0.23 -1.07,-0.01 -2.13,0.3 -3.06,0.82 0.02,-0.06 0.04,-0.11 0.06,-0.17 0.05,-0.06 0.09,-0.13 0.15,-0.19 0.23,-0.27 0.48,-0.54 0.76,-0.77 0.57,-0.49 1.22,-0.88 1.92,-1.15 0.08,-0.03 0.05,-0.17 -0.04,-0.14 -0.72,0.25 -1.39,0.63 -1.99,1.11 -0.22,0.18 -0.42,0.39 -0.61,0.59 0.24,-0.71 0.47,-1.43 0.67,-2.15 0.17,-0.16 0.33,-0.33 0.51,-0.46 0.68,-0.51 1.45,-0.89 2.27,-1.1 0.11,-0.03 0.06,-0.19 -0.04,-0.16 -0.86,0.2 -1.68,0.57 -2.39,1.09 -0.08,0.06 -0.15,0.14 -0.22,0.2 0.09,-0.32 0.18,-0.64 0.26,-0.97 0.15,-0.25 0.29,-0.5 0.47,-0.73 0.13,-0.12 0.27,-0.24 0.42,-0.34 0.73,-0.5 1.61,-0.79 2.5,-0.76 0.17,0.01 0.21,-0.28 0.04,-0.3 -0.62,-0.09 -1.24,0 -1.82,0.21 0.54,-0.45 1.15,-0.83 1.86,-1.04 0.79,-0.23 1.65,-0.26 2.46,-0.08 0.42,0.1 0.8,0.25 1.19,0.44 0.28,0.14 0.54,0.34 0.81,0.51 -0.02,0.14 -0.06,0.28 -0.07,0.42 -0.05,0.51 -0.01,1.03 0.06,1.54 0,0.02 0.01,0.05 0.01,0.07 -0.03,-0.02 -0.05,-0.05 -0.07,-0.07 -0.38,-0.26 -0.82,-0.41 -1.28,-0.42 -0.13,0 -0.13,0.19 0,0.2 0.42,0.02 0.83,0.16 1.17,0.41 0.09,0.07 0.17,0.16 0.25,0.24 0.02,0.08 0.03,0.17 0.05,0.25 0.07,0.27 0.14,0.61 0.31,0.84 0.13,0.17 0.3,0.3 0.5,0.35 0.49,0.7 1.14,1.28 1.88,1.76 -0.09,0.28 -0.17,0.57 -0.23,0.87 -0.11,0.55 -0.19,1.1 -0.28,1.66 -0.19,1.15 -0.34,2.3 -0.51,3.45 -0.02,0.12 -0.03,0.23 -0.05,0.35 -0.08,-0.14 -0.18,-0.27 -0.26,-0.41 0.04,-0.02 0.08,-0.05 0.08,-0.1 0,-0.53 -0.34,-1.13 -0.61,-1.57 -0.31,-0.5 -0.69,-0.95 -1.14,-1.34 -0.88,-0.76 -1.98,-1.21 -3.14,-1.28 -0.14,-0.01 -0.14,0.21 0,0.22 1.1,0.1 2.15,0.6 2.98,1.32 0.41,0.36 0.76,0.77 1.04,1.23 0.15,0.24 0.27,0.49 0.38,0.75 0.04,0.09 0.06,0.18 0.09,0.28 -0.99,-1.37 -2.37,-2.44 -3.95,-3.03 -1.18,-0.44 -2.54,-0.62 -3.86,-0.51 z m 12.13,-0.59 c -0.03,0.09 -0.06,0.18 -0.08,0.27 -0.35,0.11 -0.71,0.23 -1.08,0.29 -0.16,0.03 -0.32,0.06 -0.48,0.08 0.04,-0.29 0.08,-0.59 0.1,-0.89 0.01,-0.13 0.01,-0.26 0.01,-0.39 0.5,0.24 1.01,0.45 1.53,0.64 z m 1.23,10.67 c -0.53,-0.04 -1.03,-0.27 -1.45,-0.62 0.18,-0.02 0.36,-0.04 0.55,-0.06 0.38,-0.05 0.77,-0.08 1.13,-0.22 -0.07,0.3 -0.15,0.6 -0.23,0.9 z m -3.46,-1.37 c -0.01,-0.1 -0.16,-0.1 -0.15,0 0.02,0.22 0.07,0.42 0.14,0.62 -0.23,0.03 -0.46,0.06 -0.69,0.09 0,-0.01 0,-0.03 0.01,-0.04 l 0.24,-1.67 c 0,-0.03 0.01,-0.05 0.01,-0.08 0.28,-0.03 0.57,-0.05 0.85,-0.08 0.01,0.13 0,0.26 0.05,0.38 0.03,0.07 0.15,0.09 0.16,0 0.02,-0.13 0.02,-0.26 0.03,-0.4 0.07,-0.01 0.14,-0.01 0.2,-0.02 0.01,0.6 0.24,1.17 0.62,1.62 -0.09,0.01 -0.19,0.02 -0.28,0.04 -0.34,0.04 -0.68,0.09 -1.02,0.13 -0.08,-0.19 -0.15,-0.38 -0.17,-0.59 z m 0.07,2.34 c -0.37,-0.31 -0.65,-0.72 -0.79,-1.19 -0.01,-0.02 -0.03,-0.01 -0.05,-0.02 0,-0.01 0.01,-0.03 0.01,-0.04 0.3,-0.04 0.6,-0.07 0.9,-0.11 0.17,0.3 0.4,0.56 0.67,0.78 0.23,0.18 0.49,0.32 0.77,0.41 -0.47,0.08 -0.93,0.17 -1.4,0.25 -0.03,-0.03 -0.07,-0.05 -0.11,-0.08 z m -0.46,-3.83 c 0.04,-0.26 0.07,-0.51 0.11,-0.77 0.05,0 0.09,0.01 0.14,0.01 -0.05,0.08 0.05,0.2 0.14,0.14 0.05,-0.03 0.08,-0.08 0.12,-0.12 0.17,0.01 0.34,0.03 0.5,0.04 -0.04,0.1 -0.1,0.19 -0.13,0.29 -0.03,0.1 -0.05,0.21 -0.07,0.32 -0.26,0.03 -0.54,0.06 -0.81,0.09 z m 2.02,-2.9 c -0.2,0 -0.41,0 -0.61,0.01 -0.12,0 -0.24,0 -0.37,0 0.11,-0.08 0.23,-0.15 0.34,-0.23 0.29,-0.21 0.59,-0.41 0.88,-0.62 0,0.24 0.01,0.48 0.01,0.73 -0.01,0.01 -0.03,0 -0.04,0.02 -0.03,0.03 -0.06,0.07 -0.1,0.1 -0.03,-0.01 -0.07,-0.01 -0.11,-0.01 z m -1.38,-1.68 c 0.07,0 0.14,-0.01 0.21,-0.01 0,0 0,0 0,0 -0.09,0.1 -0.15,0.21 -0.22,0.32 -0.02,0.02 -0.02,0.05 -0.04,0.07 0.02,-0.13 0.03,-0.25 0.05,-0.38 z m -0.23,1.7 c 0,-0.03 0.01,-0.06 0.01,-0.08 0.04,-0.28 0.08,-0.56 0.12,-0.84 0.03,0 0.07,0.01 0.09,-0.01 0.09,-0.08 0.16,-0.18 0.25,-0.26 0.09,-0.09 0.18,-0.16 0.27,-0.24 0.12,-0.11 0.26,-0.21 0.39,-0.31 0.11,-0.01 0.22,-0.01 0.33,-0.02 0.13,-0.01 0.26,-0.01 0.4,-0.02 0,0.18 0,0.35 0,0.53 0,0.03 0,0.07 0,0.1 0,0 -0.01,0 -0.01,0 -0.34,0.24 -0.67,0.48 -1.01,0.71 -0.16,0.12 -0.33,0.23 -0.48,0.35 -0.04,0.03 -0.07,0.06 -0.11,0.08 -0.09,0 -0.17,0.01 -0.25,0.01 z m 1.85,-2.18 c -0.01,0 -0.03,0 -0.04,0 0.02,-0.01 0.03,-0.02 0.04,-0.03 0,0.02 0,0.02 0,0.03 z m -0.1,2.55 c 0.04,0 0.08,0 0.12,0 0,0.13 0,0.25 0.01,0.38 0.02,0.35 0.04,0.69 0.06,1.04 0,0.05 0.01,0.11 0.01,0.16 -0.29,-0.03 -0.58,-0.06 -0.88,-0.07 0.05,-0.07 0.09,-0.15 0.15,-0.21 0.11,-0.12 -0.07,-0.3 -0.18,-0.18 -0.11,0.12 -0.19,0.24 -0.28,0.38 -0.12,-0.01 -0.24,-0.01 -0.36,-0.02 0.03,-0.03 0.07,-0.06 0.09,-0.09 0.17,-0.19 0.34,-0.38 0.51,-0.57 0.26,-0.27 0.5,-0.54 0.75,-0.82 z m -1.02,2.2 c 0.04,-0.13 0.09,-0.25 0.15,-0.37 0.35,0.03 0.7,0.06 1.06,0.06 -0.03,0.13 -0.04,0.26 -0.03,0.39 -0.31,0.03 -0.62,0.06 -0.93,0.09 -0.04,-0.06 -0.13,-0.08 -0.14,0.01 0,0 0,0 0,0 -0.05,0.01 -0.1,0.01 -0.15,0.02 0.02,-0.07 0.02,-0.13 0.04,-0.2 z m 0.29,0.59 c 0.32,-0.03 0.64,-0.06 0.96,-0.09 0,0 0.01,0 0.01,0 0.06,0.28 0.16,0.55 0.3,0.79 0.1,0.17 0.23,0.33 0.37,0.47 0.09,0.09 0.2,0.19 0.31,0.25 0.01,0.01 0.03,0.01 0.04,0.01 -0.17,0.02 -0.35,0.04 -0.52,0.07 -0.28,0.03 -0.57,0.07 -0.85,0.11 -0.39,-0.46 -0.62,-1.02 -0.62,-1.61 z m 0.85,-5.82 c -0.05,0.02 -0.11,0.03 -0.16,0.05 -0.24,0.1 -0.47,0.23 -0.69,0.37 -0.05,0.03 -0.08,0.08 -0.13,0.12 -0.2,0.01 -0.41,0.03 -0.61,0.04 0.04,-0.27 0.08,-0.54 0.11,-0.81 0.03,0 0.06,0.01 0.1,0.01 0.3,0 0.6,-0.03 0.9,-0.07 0.17,-0.02 0.33,-0.08 0.5,-0.11 -0.01,0.12 -0.02,0.26 -0.02,0.4 z m -1.93,3.07 c 0,0 0.01,0 0.01,0 0.04,-0.02 0.07,-0.04 0.1,-0.06 0.31,0 0.63,0.01 0.94,0.01 0.13,0 0.25,0 0.38,0 -0.19,0.21 -0.38,0.41 -0.57,0.62 -0.17,0.18 -0.34,0.36 -0.5,0.55 -0.09,0.1 -0.18,0.2 -0.26,0.3 -0.1,-0.01 -0.2,-0.01 -0.3,-0.02 0.07,-0.46 0.13,-0.93 0.2,-1.4 z m 3.39,5.79 c -0.15,0.03 -0.3,0.07 -0.43,0.09 -0.26,0.05 -0.52,0.1 -0.78,0.14 -0.11,-0.01 -0.22,-0.02 -0.33,-0.05 -0.3,-0.08 -0.59,-0.22 -0.85,-0.41 -0.24,-0.18 -0.44,-0.4 -0.61,-0.65 0.3,-0.03 0.59,-0.07 0.89,-0.1 0.19,-0.02 0.39,-0.05 0.58,-0.07 0.46,0.39 1.02,0.63 1.63,0.65 -0.04,0.14 -0.07,0.27 -0.1,0.4 z m 2.11,-8.21 c -0.01,-0.19 -0.02,-0.39 -0.03,-0.58 l -0.08,-1.39 c 0.19,0.05 0.38,0.11 0.57,0.16 -0.14,0.61 -0.3,1.21 -0.46,1.81 z m 0.95,-3.65 c -0.01,0 -0.01,-0.01 0,0 -0.04,-0.16 -0.07,-0.31 -0.1,-0.46 -0.07,-0.31 -0.14,-0.62 -0.21,-0.93 -0.05,-0.22 -0.38,-0.12 -0.33,0.09 0.07,0.31 0.14,0.62 0.21,0.93 l 0.1,0.45 c 0.02,0.1 0.04,0.2 0.08,0.3 -0.34,-0.09 -0.69,-0.17 -1.04,-0.26 0,-0.09 -0.01,-0.19 -0.01,-0.27 0,-0.25 0,-0.49 0,-0.74 0,-0.48 0,-0.97 -0.01,-1.45 0,-0.2 -0.31,-0.2 -0.31,0 0,0.48 0,0.97 -0.01,1.45 0,0.24 0,0.47 0,0.71 0,0.06 0,0.14 -0.01,0.21 -0.45,-0.11 -0.91,-0.24 -1.37,-0.37 -0.02,-0.14 -0.03,-0.27 -0.04,-0.41 -0.03,-0.27 -0.07,-0.53 -0.1,-0.8 -0.01,-0.06 -0.04,-0.11 -0.11,-0.11 -0.05,0 -0.12,0.05 -0.11,0.11 0.03,0.27 0.07,0.54 0.1,0.81 0.01,0.11 0.03,0.22 0.05,0.33 -0.86,-0.25 -1.7,-0.55 -2.48,-0.93 0,-0.03 0,-0.06 0,-0.09 0,-0.18 -0.11,-0.29 -0.23,-0.36 -0.01,-0.04 -0.03,-0.09 -0.04,-0.13 -0.06,-0.24 -0.11,-0.48 -0.15,-0.72 -0.07,-0.5 -0.07,-1.01 -0.02,-1.52 0.02,-0.14 -0.2,-0.13 -0.21,0 -0.07,0.52 -0.07,1.05 0,1.58 0.03,0.24 0.08,0.49 0.14,0.73 0,0 0,0.01 0,0.01 -0.08,0.01 -0.15,0.04 -0.21,0.09 -0.54,-0.33 -1.04,-0.7 -1.45,-1.15 0.01,-0.06 0.03,-0.11 0.02,-0.17 -0.04,-0.46 -0.26,-0.91 -0.34,-1.37 -0.07,-0.35 -0.08,-0.78 -0.07,-1.22 0,-0.07 0.01,-0.14 0.01,-0.21 0.15,0.16 0.32,0.31 0.49,0.45 0.02,0.23 0.03,0.46 0.06,0.69 0.03,0.34 0.05,0.69 0.13,1.02 0.04,0.18 0.31,0.14 0.32,-0.04 0.01,-0.33 -0.03,-0.67 -0.07,-1 -0.01,-0.11 -0.03,-0.23 -0.04,-0.34 1.25,0.94 2.84,1.55 4.34,2.02 1.17,0.37 2.37,0.68 3.56,0.99 -0.19,0.7 -0.37,1.39 -0.54,2.08 z m 1.56,-6.15 c -0.02,0 -0.04,-0.01 -0.05,-0.01 -0.47,-0.11 -1.08,-0.19 -1.47,-0.52 -0.78,-0.66 0.54,-1.23 1.02,-1.5 0.37,-0.21 0.76,-0.38 1.15,-0.56 -0.22,0.86 -0.43,1.73 -0.65,2.59 z m 5.61,-27.49 c 0.04,0 0.08,0.01 0.12,-0.02 0.04,-0.03 0.09,-0.05 0.13,-0.08 0.02,-0.01 0.05,-0.02 0.07,-0.03 0,0 0,0 0,0 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.1,-0.04 0.21,-0.07 0.32,-0.08 0,0 0,0 0,0 0.01,0 0.02,0 0.03,0 0.03,0 0.06,0 0.08,-0.01 0.06,0 0.11,0 0.17,0 0.1,0 0.19,0.01 0.29,0.02 -0.05,0.19 -0.1,0.39 -0.14,0.58 -0.04,0.01 -0.09,0.02 -0.13,0.03 -0.26,0.05 -0.51,0.1 -0.77,0.15 -0.09,0.02 -0.15,0.13 -0.12,0.22 0.03,0.1 0.12,0.14 0.22,0.12 0.24,-0.04 0.48,-0.08 0.72,-0.12 -0.08,0.32 -0.16,0.65 -0.24,0.97 -0.34,-0.05 -0.66,-0.04 -1,0.01 -0.07,0.01 -0.14,0.04 -0.21,0.05 0.14,-0.6 0.28,-1.19 0.42,-1.79 z m -0.82,8.21 c -0.01,-0.02 -0.01,-0.05 -0.03,-0.06 -0.09,-0.06 -0.2,-0.06 -0.31,-0.06 -0.09,-0.01 -0.19,-0.01 -0.28,-0.01 h -0.48 c 0.04,-0.18 0.09,-0.36 0.13,-0.54 0.32,-0.1 0.64,-0.2 0.97,-0.3 0.09,-0.03 0.18,-0.06 0.28,-0.08 -0.1,0.35 -0.19,0.7 -0.28,1.05 z m -1.2,0.27 c 0.01,0 0.02,0.01 0.03,0.01 h 0.55 c 0.09,0 0.18,0 0.27,-0.01 0.1,-0.01 0.21,-0.01 0.3,-0.06 -0.02,0.09 -0.04,0.18 -0.07,0.27 -0.15,0.07 -0.3,0.13 -0.44,0.2 -0.27,0.12 -0.55,0.24 -0.82,0.36 0.06,-0.25 0.12,-0.51 0.18,-0.77 z m 0.12,4.08 c 0,0 -0.01,0 -0.01,0 -0.08,-0.01 -0.15,-0.02 -0.23,-0.03 l -0.47,-0.06 c -0.05,-0.01 -0.1,-0.01 -0.15,0.02 -0.04,0.02 -0.08,0.07 -0.09,0.12 -0.02,0.09 0.03,0.22 0.14,0.24 l 0.42,0.06 c -0.02,0.01 -0.04,0.01 -0.05,0.02 -0.27,0.11 -0.55,0.22 -0.82,0.33 0.1,-0.43 0.2,-0.86 0.31,-1.28 0.17,-0.07 0.34,-0.15 0.52,-0.19 0.14,-0.03 0.28,-0.06 0.43,-0.07 0.07,-0.01 0.15,-0.01 0.22,-0.01 -0.08,0.28 -0.15,0.57 -0.22,0.85 z m -1.38,1.21 c 0.14,-0.05 0.29,-0.1 0.43,-0.15 -0.04,0.02 -0.07,0.04 -0.11,0.06 -0.11,0.07 -0.23,0.13 -0.34,0.2 0,-0.04 0.01,-0.07 0.02,-0.11 z m -0.27,1.2 c 0.01,0.01 0.02,0.03 0.04,0.03 0.16,0.03 0.31,0.06 0.47,0.07 0.07,0.01 0.14,0.02 0.2,0.02 0.01,0 0.02,0 0.03,0 -0.16,0.03 -0.31,0.07 -0.46,0.12 -0.13,0.04 -0.24,0.12 -0.36,0.17 0.01,-0.13 0.04,-0.27 0.08,-0.41 z m 1.03,0.1 c -0.04,0 -0.08,0.01 -0.12,0.01 0.03,-0.01 0.06,-0.01 0.08,-0.02 0.04,-0.02 0.06,-0.07 0.07,-0.11 -0.01,0.04 -0.02,0.08 -0.03,0.12 z m -1.5,6.05 c -0.32,-0.02 -0.65,-0.02 -0.97,0.01 0.09,-0.28 0.18,-0.57 0.26,-0.86 0,0 0,0 0.01,0 0.02,-0.02 0.04,-0.03 0.06,-0.04 0.05,-0.03 0.09,-0.06 0.14,-0.08 0.03,-0.01 0.05,-0.03 0.08,-0.04 0.01,-0.01 0.02,-0.01 0.04,-0.02 0.01,0 0.01,0 0.01,0 0,0 0,0 0,0 0.01,0 0.04,-0.02 0.05,-0.02 0.01,0 0.02,-0.01 0.02,-0.01 0.03,-0.01 0.06,-0.02 0.08,-0.03 0.05,-0.02 0.11,-0.03 0.16,-0.05 0.05,-0.01 0.11,-0.03 0.16,-0.04 0.03,-0.01 0.05,-0.01 0.08,-0.02 0.06,-0.02 0.09,-0.06 0.12,-0.1 0.04,-0.05 0.02,-0.15 -0.02,-0.19 -0.07,-0.07 -0.14,-0.07 -0.23,-0.07 -0.07,0 -0.15,0.01 -0.22,0.02 -0.13,0.03 -0.26,0.07 -0.38,0.12 -0.01,0.01 -0.02,0.02 -0.03,0.02 0.07,-0.33 0.15,-0.66 0.22,-0.99 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.05,-0.05 0.1,-0.08 0.15,-0.12 0.02,0.14 0.14,0.21 0.27,0.18 0.07,-0.01 0.14,-0.03 0.21,-0.05 0.04,0.03 0.07,0.06 0.13,0.06 0.05,0 0.1,0 0.15,0 -0.21,0.78 -0.4,1.56 -0.59,2.34 z m 0.69,-2.8 c -0.05,0 -0.09,-0.01 -0.14,-0.01 -0.08,-0.04 -0.17,-0.05 -0.25,0 0,0 0,0 0,0 -0.03,0 -0.06,0 -0.1,0.01 0.06,-0.04 0.13,-0.08 0.19,-0.11 0.03,-0.01 0.06,-0.03 0.09,-0.04 0.01,0 0.03,-0.01 0.03,-0.01 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.06,-0.02 0.12,-0.04 0.19,-0.06 -0.02,0.07 -0.04,0.16 -0.06,0.24 z m 0.2,-0.79 c -0.08,0 -0.16,0.02 -0.23,0.04 -0.17,0.05 -0.34,0.12 -0.5,0.2 -0.14,0.07 -0.25,0.18 -0.38,0.26 0.04,-0.19 0.09,-0.38 0.13,-0.57 0.06,0.05 0.14,0.07 0.22,0.03 0.2,-0.11 0.41,-0.23 0.61,-0.34 0.1,-0.06 0.19,-0.13 0.28,-0.19 0,0 0.01,0 0.01,-0.01 -0.05,0.2 -0.1,0.39 -0.14,0.58 z m 0.24,-0.97 c -0.1,0.03 -0.19,0.07 -0.28,0.11 -0.1,0.05 -0.21,0.08 -0.31,0.14 -0.18,0.1 -0.36,0.2 -0.55,0.3 0.08,-0.38 0.17,-0.75 0.25,-1.13 0.18,-0.09 0.37,-0.19 0.57,-0.25 0.18,-0.05 0.37,-0.07 0.55,-0.1 -0.08,0.31 -0.16,0.62 -0.23,0.93 z m 0.41,-1.65 c 0,-0.05 -0.01,-0.1 -0.04,-0.13 -0.04,-0.04 -0.09,-0.08 -0.15,-0.09 -0.03,-0.01 -0.06,-0.01 -0.09,-0.02 -0.07,-0.01 -0.14,-0.03 -0.21,-0.04 -0.14,-0.03 -0.28,-0.04 -0.42,-0.06 -0.02,0 -0.05,0.01 -0.07,0.01 0.02,-0.08 0.04,-0.16 0.06,-0.25 0.06,0.03 0.13,0.04 0.19,0 0.16,-0.09 0.31,-0.18 0.47,-0.27 0.08,-0.04 0.15,-0.09 0.23,-0.13 0.09,-0.05 0.16,-0.12 0.24,-0.19 0.06,-0.05 0.07,-0.16 0.03,-0.22 -0.02,-0.03 -0.05,-0.06 -0.09,-0.08 0.05,-0.02 0.1,-0.03 0.14,-0.05 0.03,-0.01 0.06,-0.02 0.09,-0.03 -0.12,0.52 -0.25,1.03 -0.38,1.55 z m 0.92,-3.72 c -0.28,-0.01 -0.58,0.03 -0.85,0.09 -0.11,0.02 -0.2,0.08 -0.3,0.12 0.06,-0.25 0.12,-0.51 0.18,-0.76 0.1,0.01 0.2,0.03 0.3,0.04 0.09,0.01 0.18,0.01 0.27,0.01 0.09,0 0.18,0.01 0.26,-0.02 0.11,-0.04 0.12,-0.17 0.03,-0.24 -0.07,-0.05 -0.15,-0.07 -0.24,-0.09 -0.08,-0.02 -0.15,-0.05 -0.23,-0.06 -0.1,-0.02 -0.21,-0.03 -0.31,-0.04 0.04,-0.15 0.07,-0.3 0.11,-0.45 0.01,0 0.03,0 0.04,0 0.37,-0.16 0.75,-0.32 1.12,-0.48 0.03,-0.01 0.06,-0.02 0.09,-0.04 -0.15,0.64 -0.31,1.28 -0.47,1.92 z m 3.5,-14.13 c -0.1,0.01 -0.21,0.02 -0.31,0.03 -0.23,0.02 -0.47,0.05 -0.7,0.07 -0.11,0.01 -0.2,0.08 -0.2,0.2 0,0.1 0.09,0.21 0.2,0.2 l 0.72,-0.07 c 0.07,-0.01 0.13,-0.02 0.2,-0.02 -0.04,0.16 -0.08,0.32 -0.12,0.48 -0.05,0.02 -0.09,0.03 -0.14,0.05 -0.2,0.07 -0.4,0.14 -0.59,0.21 -0.11,0.04 -0.19,0.15 -0.15,0.26 0.03,0.11 0.15,0.19 0.26,0.15 l 0.49,-0.16 c -0.08,0.32 -0.16,0.63 -0.23,0.95 -0.02,-0.01 -0.03,-0.02 -0.05,-0.02 -0.22,-0.09 -0.47,-0.08 -0.71,-0.05 -0.17,0.02 -0.33,0.11 -0.49,0.18 0.28,-1.18 0.56,-2.36 0.85,-3.53 0.05,0.02 0.09,0.03 0.14,0.01 0.23,-0.09 0.45,-0.18 0.68,-0.27 0.18,-0.07 0.37,-0.14 0.54,-0.24 -0.13,0.51 -0.26,1.04 -0.39,1.57 z m 0.5,-2.02 c -0.03,-0.01 -0.05,-0.03 -0.08,-0.02 -0.26,0.02 -0.5,0.16 -0.74,0.26 -0.18,0.08 -0.35,0.15 -0.53,0.23 0.03,-0.14 0.07,-0.28 0.1,-0.42 0.07,0.02 0.15,0.01 0.2,-0.04 0.18,-0.16 0.42,-0.25 0.66,-0.26 0.14,0 0.23,0.01 0.37,0.04 0.03,0.01 0.05,0.02 0.07,0.03 -0.02,0.06 -0.04,0.12 -0.05,0.18 z m 0.61,-2.48 c -0.03,0.01 -0.07,0.01 -0.1,0.02 -0.11,0.02 -0.23,0.05 -0.34,0.07 -0.23,0.05 -0.45,0.09 -0.68,0.14 -0.11,0.02 -0.18,0.16 -0.15,0.26 0.04,0.12 0.15,0.17 0.26,0.15 0.23,-0.04 0.45,-0.09 0.68,-0.13 0.07,-0.01 0.14,-0.03 0.2,-0.04 -0.12,0.48 -0.24,0.96 -0.35,1.44 -0.14,-0.05 -0.28,-0.09 -0.43,-0.1 -0.31,-0.01 -0.6,0.09 -0.86,0.26 0.23,-0.96 0.46,-1.93 0.69,-2.89 0.02,0 0.05,0.01 0.07,0.01 0.26,-0.04 0.52,-0.09 0.78,-0.13 0.16,-0.03 0.31,-0.06 0.47,-0.09 -0.07,0.34 -0.15,0.68 -0.24,1.03 z m 0.36,-1.47 c -0.23,0.02 -0.45,0.05 -0.67,0.09 -0.21,0.04 -0.43,0.07 -0.64,0.11 0.16,-0.67 0.32,-1.34 0.48,-2 0.05,-0.22 0.1,-0.43 0.16,-0.65 0.23,-0.09 0.47,-0.12 0.72,-0.1 0.11,0.01 0.26,0.05 0.39,0.09 0.05,0.02 0.11,0.04 0.16,0.05 -0.05,0.22 -0.11,0.44 -0.16,0.67 -0.01,0 -0.02,0 -0.02,0 -0.09,0.02 -0.18,0.04 -0.27,0.07 -0.18,0.05 -0.37,0.09 -0.55,0.14 -0.13,0.03 -0.22,0.19 -0.18,0.32 0.04,0.14 0.18,0.22 0.32,0.18 0.18,-0.05 0.37,-0.09 0.55,-0.14 0,0 0.01,0 0.01,0 -0.11,0.38 -0.21,0.78 -0.3,1.17 z m 0.68,-2.83 c -0.03,-0.02 -0.06,-0.04 -0.09,-0.06 -0.18,-0.08 -0.36,-0.11 -0.55,-0.13 -0.21,-0.01 -0.41,0.02 -0.61,0.07 0.07,-0.28 0.14,-0.57 0.2,-0.85 0.04,0.04 0.09,0.06 0.15,0.06 0.38,-0.02 0.76,-0.04 1.14,-0.07 -0.08,0.33 -0.16,0.66 -0.24,0.98 z m 0.7,-5.44 c 0.21,-0.01 0.42,-0.03 0.63,-0.04 -0.02,0.09 -0.05,0.19 -0.07,0.28 -0.01,0 -0.02,0.01 -0.03,0.01 -0.09,0.04 -0.18,0.08 -0.27,0.11 -0.16,0.07 -0.32,0.14 -0.48,0.2 -0.07,0.03 -0.09,0.12 -0.07,0.2 -0.01,0 -0.02,0 -0.03,0.01 -0.01,-0.26 -0.02,-0.53 -0.04,-0.79 0.11,0.01 0.23,0.03 0.36,0.02 z m -0.33,1.2 0.4,-0.05 c -0.13,0.04 -0.27,0.09 -0.4,0.13 0,-0.03 0,-0.06 0,-0.08 z m -0.96,2.23 c 0.3,-0.05 0.66,-0.06 0.92,-0.23 0.13,-0.08 0.22,-0.2 0.29,-0.32 -0.09,0.37 -0.18,0.75 -0.27,1.12 -0.13,0.01 -0.27,0.02 -0.4,0.03 -0.28,0.03 -0.57,0.05 -0.85,0.08 -0.02,0 -0.04,0.02 -0.06,0.03 0.05,-0.23 0.11,-0.45 0.16,-0.68 0.07,-0.01 0.14,-0.02 0.21,-0.03 z m 1.3,-0.92 c 0,-0.05 0.03,-0.1 0.03,-0.16 -0.03,-0.22 -0.16,-0.45 -0.35,-0.58 0.18,-0.05 0.36,-0.1 0.54,-0.15 -0.07,0.29 -0.15,0.59 -0.22,0.89 z m 1.31,-5.42 c 0,-0.02 0,-0.04 0,-0.05 0.01,-0.54 0.03,-1.09 0.04,-1.63 0,-0.18 -0.28,-0.18 -0.29,0 -0.02,0.53 -0.04,1.06 -0.06,1.6 -0.01,0.37 -0.03,0.75 -0.03,1.13 -0.07,0.01 -0.14,0.02 -0.21,0.03 0,-0.28 0,-0.56 0,-0.84 -0.01,-0.68 -0.01,-1.36 -0.02,-2.04 0,-0.16 -0.25,-0.16 -0.25,0 -0.01,0.68 -0.03,1.36 -0.04,2.04 -0.01,0.3 -0.01,0.59 -0.01,0.89 -0.11,0.02 -0.22,0.03 -0.33,0.05 0,-0.03 0,-0.06 0,-0.09 0,-0.32 -0.01,-0.63 -0.03,-0.95 -0.01,-0.31 -0.03,-0.61 -0.05,-0.92 -0.02,-0.31 -0.02,-0.63 -0.09,-0.93 -0.05,-0.23 -0.36,-0.15 -0.38,0.05 -0.03,0.3 0,0.61 0.02,0.92 0.01,0.31 0.02,0.61 0.04,0.92 0.02,0.31 0.04,0.61 0.07,0.92 0,0.05 0.01,0.1 0.02,0.16 -0.06,0.01 -0.12,0.03 -0.18,0.05 -0.05,-0.67 -0.1,-1.34 -0.13,-2 -0.03,-0.57 -0.06,-1.14 -0.09,-1.71 0.19,0.02 0.38,0.05 0.57,0.05 l 0.69,0.02 c 0.23,0.01 0.46,0.01 0.69,0.02 0.11,0 0.21,0.01 0.32,0.01 h 0.16 c 0.04,0 0.07,-0.01 0.11,-0.01 -0.18,0.74 -0.36,1.53 -0.54,2.31 z m 1.52,-6.62 c -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.11,-0.02 -0.16,-0.03 -0.13,-0.02 -0.26,-0.03 -0.39,-0.03 -0.23,0 -0.46,0.05 -0.67,0.13 0.1,-0.44 0.21,-0.87 0.31,-1.31 0.03,0.11 0.11,0.21 0.23,0.2 0.2,-0.02 0.4,-0.04 0.6,-0.06 0.13,-0.01 0.26,-0.03 0.38,-0.05 -0.09,0.38 -0.18,0.77 -0.27,1.16 z m 0.39,-1.68 c -0.17,0.01 -0.34,0.03 -0.51,0.05 -0.2,0.03 -0.39,0.05 -0.59,0.08 -0.06,0.01 -0.13,0.03 -0.17,0.08 0.08,-0.33 0.16,-0.67 0.24,-1 0.07,-0.04 0.14,-0.07 0.23,-0.1 0.11,-0.04 0.23,-0.07 0.35,-0.09 0.01,0 0.02,0 0.02,0 0,0 0.01,0 0.02,0 0.03,0 0.07,-0.01 0.1,-0.01 0.06,0 0.12,0 0.17,0 0.06,0 0.12,0.01 0.17,0.01 0.03,0 0.07,0.01 0.1,0.01 -0.04,-0.01 -0.02,0 0.05,0.01 0.02,0 0.03,0 0.05,-0.01 -0.08,0.31 -0.16,0.64 -0.23,0.97 z m 0.32,-1.43 c 0,0 0,-0.01 0,0 -0.14,-0.07 -0.32,-0.07 -0.47,-0.07 -0.15,0 -0.29,0.02 -0.44,0.05 -0.12,0.02 -0.22,0.09 -0.34,0.13 0.06,-0.24 0.11,-0.48 0.17,-0.73 0.17,0 0.34,0.01 0.51,0.01 0.1,0 0.19,0 0.29,0.01 0.12,0 0.24,0.02 0.35,-0.02 0.04,-0.01 0.06,-0.04 0.08,-0.06 -0.04,0.23 -0.09,0.45 -0.15,0.68 z m 0.22,-0.96 c -0.03,-0.06 -0.07,-0.11 -0.14,-0.14 -0.11,-0.04 -0.23,-0.02 -0.34,-0.02 l -0.3,0.01 c -0.13,0 -0.26,0.01 -0.39,0.01 0.07,-0.29 0.14,-0.59 0.21,-0.88 0.07,-0.03 0.14,-0.05 0.21,-0.07 0.01,0 0.04,-0.01 0.05,-0.01 0.02,0 0.04,0 0.07,-0.01 0.05,0 0.1,0 0.14,0 0.03,0 0.05,0 0.08,0 0.01,0 0.04,0 0.06,0.01 0.01,0 0.03,0 0.04,0.01 0.03,0 0.05,0.01 0.08,0.02 0.13,0.03 0.3,0.12 0.42,0.02 0.09,-0.07 0.13,-0.15 0.11,-0.27 -0.03,-0.17 -0.26,-0.23 -0.4,-0.26 -0.13,-0.02 -0.26,-0.04 -0.38,-0.03 -0.13,0 -0.24,0.06 -0.36,0.09 0.09,-0.36 0.17,-0.73 0.26,-1.09 0.01,0 0.03,0 0.04,0 0.03,0 0.05,0 0.08,0 0.01,0 0.02,0 0.04,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 0,0 0.01,0.01 0.02,0.01 0.02,0 0.02,0 0.05,0.01 0.06,0.01 0.03,0.01 0.05,0.01 0.08,0.02 0.05,0.01 0.11,0.03 0.16,0.05 0.01,0 0.02,0.01 0.03,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0,0 0,0 0.02,0.01 0.04,0.02 0.06,0.03 0.05,0.03 0.1,0.05 0.15,0.08 0.02,0.01 0.05,0.03 0.07,0.04 0.01,0.01 0.02,0.01 0.03,0.02 0,0 0,0 0,0 0.03,0.03 0.06,0.06 0.1,0.08 0.05,0.03 0.11,0.03 0.16,0.03 0.01,0 0.02,-0.01 0.03,-0.01 -0.2,0.76 -0.37,1.51 -0.54,2.25 z m 1.6,-11.91 c 0.05,0.02 0.1,0.04 0.15,0.02 0.31,-0.1 0.62,-0.21 0.94,-0.31 0.04,-0.01 0.09,-0.03 0.13,-0.04 -0.05,0.23 -0.11,0.46 -0.16,0.7 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.02,0 -0.05,0 -0.07,0 -0.12,0.01 -0.24,0.04 -0.36,0.08 -0.22,0.08 -0.43,0.21 -0.58,0.4 -0.04,0.04 -0.05,0.09 -0.06,0.14 -0.04,-0.01 -0.07,-0.02 -0.11,-0.03 0.06,-0.32 0.13,-0.63 0.21,-0.95 z m 0.4,1.1 c 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.03,-0.02 0.07,-0.04 0.11,-0.05 0.01,0 0.02,-0.01 0.03,-0.01 0.02,-0.01 0.04,-0.01 0.07,-0.02 0.02,-0.01 0.04,-0.01 0.06,-0.01 0,0 0.01,0 0.01,0 0.04,0 0.09,-0.01 0.13,-0.01 0.01,0 0.02,0 0.03,0 -0.02,0.11 -0.05,0.21 -0.07,0.32 -0.16,-0.05 -0.31,-0.09 -0.47,-0.14 0.01,-0.01 0.01,-0.02 0.02,-0.03 z m 1.16,-2.96 c -0.07,0.29 -0.14,0.59 -0.2,0.88 -0.14,0.05 -0.28,0.11 -0.42,0.16 -0.27,0.1 -0.55,0.21 -0.82,0.31 0.06,-0.27 0.13,-0.54 0.19,-0.82 0.16,-0.69 0.33,-1.37 0.49,-2.06 0.03,0.01 0.05,0.03 0.08,0.03 0.2,0.01 0.4,0.01 0.6,0.02 0.1,0 0.19,0.01 0.29,0.01 0.04,0 0.09,0 0.13,0.01 -0.03,0.14 -0.07,0.29 -0.1,0.43 -0.16,0.06 -0.32,0.1 -0.48,0.18 -0.26,0.13 -0.49,0.31 -0.71,0.49 -0.2,0.17 0.06,0.51 0.28,0.37 0.11,-0.08 0.23,-0.14 0.35,-0.21 0.04,-0.02 0,0 0.04,-0.02 0.05,-0.02 0.1,-0.04 0.14,-0.06 0.01,0 0.04,-0.02 0.05,-0.02 0.03,-0.01 0.06,-0.02 0.08,-0.03 0.03,-0.01 0.06,-0.01 0.09,-0.02 -0.02,0.11 -0.05,0.23 -0.08,0.35 z m 4.59,-23.69 c 0.15,0.05 0.32,0.07 0.48,0.09 0.05,0.01 0.11,0.01 0.16,0.01 0.02,0.05 0.03,0.1 0.05,0.15 -0.03,0.14 -0.06,0.28 -0.1,0.41 -0.09,-0.02 -0.18,-0.04 -0.27,-0.04 -0.16,0 -0.31,0.07 -0.46,0.11 0.06,-0.23 0.1,-0.48 0.14,-0.73 z m -0.21,1.16 c 0.17,-0.07 0.36,-0.1 0.54,-0.1 0.06,0 0.11,0.01 0.16,0.01 -0.04,0.17 -0.08,0.35 -0.12,0.52 h -0.33 c -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.08,0.19 0.19,0.19 0.08,0 0.16,0 0.24,0 -0.02,0.08 -0.04,0.16 -0.06,0.25 -0.25,0.03 -0.48,0.1 -0.7,0.2 0.1,-0.42 0.19,-0.84 0.27,-1.26 z m -0.37,1.76 c 0.02,0 0.05,0.01 0.07,-0.01 0.2,-0.11 0.41,-0.17 0.63,-0.19 -0.07,0.31 -0.14,0.62 -0.21,0.92 -0.13,0.02 -0.26,0.03 -0.39,0.05 -0.12,0.01 -0.23,0.09 -0.23,0.23 0.01,0.11 0.1,0.24 0.23,0.23 0.09,-0.01 0.19,-0.02 0.28,-0.03 -0.05,0.21 -0.1,0.42 -0.14,0.63 -0.02,0.01 -0.04,0.02 -0.07,0.03 -0.11,0.04 -0.19,0.15 -0.15,0.27 0.02,0.06 0.07,0.11 0.12,0.13 -0.05,0.24 -0.1,0.47 -0.15,0.71 -0.14,0.02 -0.28,0.04 -0.42,0.06 -0.07,0.01 -0.12,0.02 -0.17,0.07 -0.04,0.04 -0.07,0.11 -0.07,0.17 0.01,0.12 0.11,0.26 0.24,0.24 0.1,-0.01 0.21,-0.02 0.31,-0.04 -0.05,0.24 -0.1,0.48 -0.16,0.72 -0.11,0.02 -0.21,0.04 -0.32,0.07 -0.13,0.04 -0.25,0.12 -0.38,0.17 0.05,-0.24 0.12,-0.47 0.17,-0.7 0.28,-1.25 0.55,-2.49 0.81,-3.73 z m -1.99,11.85 c -0.1,0.03 -0.21,0.05 -0.31,0.08 -0.21,0.06 -0.42,0.11 -0.64,0.17 0.12,-0.4 0.24,-0.81 0.35,-1.22 0.26,-0.05 0.52,-0.11 0.77,-0.16 0.03,-0.01 0.05,-0.01 0.08,-0.02 -0.07,0.38 -0.16,0.76 -0.25,1.15 z m -0.73,3.21 c -0.12,0.04 -0.24,0.09 -0.36,0.13 -0.26,0.09 -0.52,0.18 -0.78,0.28 0.1,-0.41 0.2,-0.81 0.3,-1.22 0.16,-0.08 0.33,-0.14 0.51,-0.19 0.18,-0.05 0.36,-0.08 0.54,-0.09 0.02,0 0.03,0 0.05,0 -0.09,0.36 -0.17,0.73 -0.26,1.09 z m 2.14,-9.54 c -0.24,0.05 -0.47,0.1 -0.71,0.15 0.05,-0.21 0.1,-0.42 0.15,-0.63 0.22,-0.12 0.42,-0.21 0.67,-0.27 0.02,0 0.03,-0.01 0.05,-0.01 -0.05,0.26 -0.1,0.51 -0.16,0.76 z m -1.59,3.94 c 0.16,-0.02 0.32,-0.03 0.47,-0.05 0.09,-0.01 0.18,-0.02 0.26,-0.04 -0.06,0.28 -0.13,0.57 -0.19,0.85 -0.1,0.03 -0.2,0.05 -0.3,0.08 -0.18,0.05 -0.36,0.1 -0.55,0.14 0.09,-0.33 0.17,-0.67 0.26,-1 0.03,0.01 0.04,0.02 0.05,0.02 z m 0.97,-1.1 c -0.04,0.18 -0.08,0.36 -0.12,0.54 -0.05,0 -0.11,0 -0.15,0.01 -0.09,0.01 -0.19,0.02 -0.28,0.04 -0.11,0.02 -0.22,0.04 -0.34,0.06 0.01,-0.04 0.02,-0.08 0.03,-0.13 0.04,-0.17 0.08,-0.34 0.12,-0.51 l 0.78,-0.21 c -0.01,0.06 -0.02,0.13 -0.04,0.2 z m 0.02,-0.73 c -0.21,0.06 -0.41,0.13 -0.62,0.19 0.15,-0.59 0.29,-1.18 0.43,-1.77 0.05,0.04 0.12,0.07 0.2,0.06 0.16,-0.03 0.33,-0.06 0.49,-0.08 -0.11,0.52 -0.23,1.04 -0.34,1.55 -0.06,0.01 -0.11,0.03 -0.16,0.05 z m -2.75,8.12 c 0.02,0.01 0.04,0.02 0.07,0.01 0.3,-0.08 0.59,-0.16 0.89,-0.23 0.05,-0.01 0.11,-0.03 0.16,-0.04 -0.06,0.24 -0.11,0.49 -0.17,0.73 -0.18,0.05 -0.36,0.13 -0.51,0.24 -0.26,0.19 -0.45,0.44 -0.57,0.74 -0.04,0.11 0.05,0.26 0.16,0.28 0.14,0.03 0.23,-0.04 0.28,-0.16 -0.01,0.03 0,0.01 0.01,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.04 0.01,-0.03 0.03,-0.05 0.04,-0.08 0.02,-0.03 0.03,-0.05 0.05,-0.08 0,0 0.01,-0.01 0.01,-0.02 0.01,-0.01 0.02,-0.02 0.02,-0.02 0.04,-0.05 0.08,-0.09 0.13,-0.13 0.01,-0.01 0.02,-0.02 0.03,-0.03 0,0 0.01,-0.01 0.02,-0.02 0.01,0 0.01,-0.01 0.02,-0.01 0.01,-0.01 0.03,-0.02 0.04,-0.03 0.04,-0.03 0.08,-0.05 0.12,-0.07 -0.16,0.69 -0.31,1.38 -0.47,2.08 -0.07,-0.01 -0.15,0 -0.22,0 -0.1,0 -0.2,0.01 -0.3,0.01 -0.2,0.01 -0.39,0.01 -0.59,0.02 0.26,-1.05 0.51,-2.1 0.76,-3.14 z m 1.54,-2.13 c -0.05,0 -0.09,0 -0.14,0.01 -0.21,0.03 -0.42,0.07 -0.62,0.13 -0.11,0.04 -0.21,0.09 -0.32,0.14 0.06,-0.23 0.11,-0.46 0.17,-0.69 0.08,-0.23 0.17,-0.45 0.24,-0.68 0.3,-0.06 0.59,-0.12 0.89,-0.18 0.03,-0.01 0.05,-0.01 0.08,-0.02 -0.1,0.43 -0.2,0.86 -0.3,1.29 z m 3.42,-16.98 c -0.12,-0.02 -0.24,-0.03 -0.36,-0.03 0.04,-0.21 0.08,-0.42 0.11,-0.63 0.09,0.22 0.18,0.44 0.25,0.66 z m -2.52,5.6 c -0.02,0.04 -0.06,0.05 -0.08,0.1 -1.51,5.5 -2.76,11.07 -4.13,16.6 -0.36,1.44 -0.72,2.88 -1.08,4.32 -4.35,-1.45 -8.51,-3.38 -12.4,-5.82 0.05,-0.03 0.1,-0.06 0.14,-0.11 0.65,-0.72 1.24,-1.44 1.73,-2.28 0.53,-0.91 1.12,-1.75 1.73,-2.61 1.11,-1.55 2.26,-3.08 3.4,-4.62 2.33,-3.13 4.66,-6.26 6.99,-9.39 1.44,-1.93 2.89,-3.84 4.35,-5.75 0.11,0.21 0.24,0.4 0.35,0.61 0.23,0.42 0.43,0.85 0.63,1.28 -0.54,2.56 -1.07,5.11 -1.63,7.67 z m -40.23,5.1 c -0.35,-0.41 -0.69,-0.83 -1.02,-1.26 -0.61,-0.8 -1.16,-1.64 -1.66,-2.51 -0.65,-1.11 -1.2,-2.27 -1.67,-3.46 0.49,0.43 1.02,0.82 1.58,1.17 0.56,1.16 1.15,2.3 1.83,3.39 0.61,0.98 1.31,1.94 2.18,2.71 -0.28,0.12 -0.57,0.25 -0.85,0.37 -0.14,-0.14 -0.28,-0.28 -0.39,-0.41 z m -19.95,-26.55 c 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.32,-0.41 -0.64,-0.82 -1.01,-1.18 -0.39,-0.38 -0.84,-0.61 -1.26,-0.92 -0.19,-0.14 -0.39,-0.02 -0.49,0.17 -0.05,-0.12 -0.11,-0.23 -0.16,-0.35 0.71,-0.32 1.42,-0.65 2.1,-1.02 0.27,-0.14 0.55,-0.29 0.83,-0.45 0.3,0.43 0.59,0.87 0.92,1.27 0.29,0.36 0.72,0.33 1.06,0.11 0.16,0.1 0.35,0.13 0.57,0.04 1.85,-0.75 3.69,-1.53 5.53,-2.31 0.06,0.46 0.13,0.91 0.2,1.37 -2.77,1.1 -5.53,2.18 -8.28,3.29 z m -0.35,9.58 c -0.58,0.26 -1.17,0.48 -1.76,0.71 -0.17,0.07 -0.46,0.19 -0.71,0.35 -0.12,-0.23 -0.24,-0.46 -0.35,-0.69 -0.23,-0.5 -0.45,-1 -0.65,-1.51 -0.37,-0.93 -0.69,-1.88 -0.97,-2.84 -0.27,-0.96 -0.5,-1.94 -0.68,-2.92 -0.14,-0.77 -0.24,-1.56 -0.38,-2.34 0.08,-0.04 0.17,-0.07 0.25,-0.11 0.04,-0.02 0.07,-0.04 0.11,-0.06 0.03,0.07 0.06,0.14 0.08,0.21 0.18,0.5 0.29,1.02 0.44,1.53 -0.12,-0.02 -0.24,0.04 -0.23,0.2 0,0.53 0.04,0.99 0.16,1.51 0.11,0.47 0.25,0.93 0.4,1.38 0.33,0.97 0.68,1.94 1.14,2.86 0.2,0.4 0.41,0.94 0.8,1.2 0.43,0.28 0.89,0.17 1.32,-0.04 0.46,-0.23 0.91,-0.49 1.37,-0.74 0.48,-0.26 1.03,-0.49 1.44,-0.86 0.44,-0.39 0.05,-1.13 -0.48,-1.11 -0.16,-0.32 -0.32,-0.64 -0.48,-0.96 -0.23,-0.46 -0.43,-0.93 -0.65,-1.4 -0.22,-0.47 -0.43,-0.94 -0.65,-1.4 -0.15,-0.32 -0.33,-0.61 -0.51,-0.89 0.14,-0.17 0.2,-0.38 0.11,-0.6 -0.08,-0.19 -0.18,-0.37 -0.28,-0.56 0.08,0.11 0.15,0.22 0.23,0.33 0.56,0.83 1.07,1.71 1.54,2.6 0.82,1.52 1.46,3.12 1.97,4.76 -0.26,0.16 -0.53,0.32 -0.8,0.47 -0.58,0.35 -1.17,0.65 -1.78,0.92 z m -4.97,-14.36 c 0.08,-0.01 0.16,-0.01 0.25,-0.01 0.06,0.32 0.11,0.65 0.19,0.96 0.17,0.65 0.39,1.29 0.62,1.91 0.24,0.65 0.51,1.28 0.8,1.9 0.11,0.23 0.23,0.47 0.34,0.71 -0.08,0.04 -0.16,0.08 -0.24,0.12 -0.13,0.07 -0.27,0.13 -0.4,0.2 -0.04,0.02 -0.08,0.05 -0.12,0.07 -0.16,-0.37 -0.33,-0.74 -0.48,-1.12 -0.22,-0.56 -0.45,-1.11 -0.69,-1.66 -0.4,-0.9 -0.82,-1.86 -1.43,-2.65 0.03,-0.02 0.05,-0.04 0.08,-0.05 0.06,0 0.11,-0.01 0.17,-0.03 0.09,-0.03 0.18,-0.07 0.27,-0.12 0.06,-0.04 0.13,-0.07 0.2,-0.1 0.15,-0.06 0.3,-0.1 0.44,-0.13 z m 3.76,9.54 c 0,0 0.02,0.02 0.03,0.04 0,0 0,0.01 0,0.01 0.01,0.01 0.01,0.02 0.02,0.03 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 0.01,0.02 0.01,0.04 0.02,0.07 0,0 0,0.02 0.01,0.05 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0,0.02 0.01,0.05 0.01,0.06 -0.01,-0.01 -0.01,-0.02 -0.01,-0.04 0,0.04 0,0.08 -0.01,0.13 0,-0.01 0,-0.01 0.01,-0.02 -0.01,0.02 -0.01,0.04 -0.01,0.06 -0.01,0.05 -0.03,0.11 -0.05,0.16 -0.01,0.02 -0.01,0.03 -0.02,0.04 -0.02,0.03 -0.04,0.07 -0.06,0.1 0.01,-0.01 0.01,0 -0.01,0.03 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.01,0.01 -0.02,0.02 -0.02,0.04 0.01,0 0.01,0 0.01,-0.01 0,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.03,0.02 0,0 0,0 0,0 -0.02,0.01 -0.03,0.02 -0.04,0.03 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0 -0.03,0.01 -0.05,0.01 -0.05,0 -0.1,0 -0.15,0 -0.01,0 -0.03,-0.01 -0.04,-0.01 -0.05,-0.01 -0.12,-0.05 -0.16,-0.05 0.01,0.01 0.03,0.01 0.04,0.02 0.09,0.04 0.05,0.02 -0.1,-0.04 0,0 -0.01,0 -0.01,0 -0.04,-0.02 -0.09,-0.04 -0.13,-0.07 -0.01,-0.01 -0.03,-0.02 -0.05,-0.04 -0.01,-0.02 -0.03,-0.03 -0.05,-0.05 -0.03,-0.04 -0.05,-0.08 -0.07,-0.12 0,0.01 0,0.01 0,0.01 0,0 -0.01,-0.01 -0.01,-0.03 0,0 0,0 0,0 -0.02,-0.04 -0.01,-0.03 0,-0.01 -0.01,-0.02 -0.02,-0.05 -0.02,-0.06 -0.01,-0.03 -0.02,-0.07 -0.02,-0.1 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.07 0,-0.14 0,-0.21 0,0 0,0 0,-0.01 0,-0.03 0.01,-0.05 0.02,-0.08 0.02,-0.07 0.04,-0.13 0.06,-0.2 0.01,-0.02 0.02,-0.05 0.03,-0.07 0.04,-0.01 0.09,-0.01 0.13,-0.02 0.02,0 0.03,0 0.04,0 0.11,-0.01 0.21,-0.01 0.32,-0.03 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0.02,0 0.05,0.01 0.07,0.01 0.05,0.01 0.1,0.03 0.15,0.05 0.02,0.01 0.04,0.02 0.06,0.03 0.02,0.01 0.03,0.02 0.05,0.03 0,0 0.01,0.01 0.01,0.01 0.04,0.04 0.08,0.07 0.11,0.11 0.01,0.01 0.02,0.02 0.02,0.03 0,0.02 0.01,0.04 0.02,0.06 z m -0.85,2.02 c 0.74,0.2 1.57,-0.1 1.93,-0.81 0.01,-0.02 0.01,-0.03 0.01,-0.05 0.12,0.29 0.23,0.59 0.35,0.88 -0.11,0.07 -0.23,0.14 -0.34,0.21 -0.37,0.22 -0.75,0.44 -1.12,0.66 -0.16,0.1 -0.34,0.18 -0.49,0.29 -0.03,-0.04 -0.05,-0.07 -0.06,-0.08 -0.24,-0.37 -0.46,-0.74 -0.68,-1.12 -0.05,-0.08 -0.08,-0.16 -0.13,-0.24 0.17,0.12 0.34,0.21 0.53,0.26 z m 0.72,-3.52 c -0.19,-0.07 -0.4,-0.14 -0.6,-0.15 -0.2,-0.01 -0.45,-0.01 -0.63,0.07 -0.14,0.06 -0.26,0.12 -0.35,0.24 -0.05,0.07 -0.09,0.16 -0.11,0.24 -0.02,0.04 -0.03,0.08 -0.04,0.1 -0.02,0.08 -0.03,0.18 -0.01,0.27 0,0.01 0.01,0.01 0.01,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.16,0.27 -0.25,0.59 -0.26,0.91 -0.06,-0.15 -0.14,-0.29 -0.19,-0.45 -0.15,-0.41 -0.29,-0.83 -0.42,-1.24 -0.09,-0.28 -0.2,-0.55 -0.31,-0.81 0.22,0.13 0.5,0.12 0.72,0 0.09,0.01 0.17,0.01 0.26,-0.01 0.2,-0.06 0.4,-0.12 0.59,-0.21 0.14,-0.06 0.27,-0.12 0.41,-0.18 0.12,-0.05 0.23,-0.1 0.35,-0.15 0.07,0.04 0.15,0.07 0.23,0.07 0.09,0.32 0.16,0.64 0.3,0.96 0.05,0.12 0.1,0.24 0.16,0.36 -0.04,-0.01 -0.07,-0.03 -0.1,-0.05 z m 3.39,-1.79 c -0.02,0.22 -0.03,0.44 -0.04,0.66 0,0.08 0,0.17 0,0.25 -0.23,-0.39 -0.48,-0.77 -0.74,-1.14 0.28,-0.11 0.56,-0.22 0.84,-0.33 -0.02,0.19 -0.04,0.38 -0.06,0.56 z m -0.24,-6.65 c -0.29,-0.1 -0.51,-0.34 -0.59,-0.63 l -0.09,-0.32 c 0,-0.01 0,-0.01 0,-0.02 l -0.05,-0.17 c -0.02,0 -0.03,0.01 -0.05,0.01 -0.05,0.02 -0.09,0.04 -0.14,0.06 -0.15,-0.24 -0.32,-0.48 -0.47,-0.73 -0.69,-1.21 -1.31,-2.46 -1.85,-3.74 -0.53,-1.25 -0.98,-2.53 -1.35,-3.84 -0.18,-0.63 -0.35,-1.27 -0.51,-1.91 -0.09,-0.36 -0.16,-0.77 -0.28,-1.15 0.51,-0.19 1.01,-0.39 1.51,-0.58 0.02,0.2 0.03,0.4 0.05,0.6 0.02,0.2 0.02,0.4 0.06,0.59 0.04,0.19 0.07,0.38 0.13,0.56 0.04,0.1 0.22,0.14 0.24,0 0.07,-0.38 0.03,-0.77 -0.01,-1.15 -0.03,-0.25 -0.05,-0.51 -0.08,-0.76 0.5,-0.19 0.99,-0.38 1.49,-0.57 -0.04,0.31 -0.05,0.61 -0.01,0.92 0.04,0.33 0.1,0.71 0.31,0.97 0.07,0.09 0.24,0.02 0.23,-0.09 -0.02,-0.16 -0.07,-0.3 -0.11,-0.45 -0.04,-0.15 -0.07,-0.3 -0.1,-0.46 -0.04,-0.3 -0.04,-0.61 0.01,-0.91 0,-0.03 0,-0.06 -0.01,-0.09 0.73,-0.28 1.46,-0.55 2.19,-0.84 0.02,0.22 0.03,0.44 0.05,0.66 0.01,0.18 0.02,0.37 0.04,0.55 0.01,0.1 0.02,0.2 0.03,0.3 0.01,0.11 0.01,0.21 0.1,0.29 0.06,0.05 0.17,0.07 0.23,0 0.08,-0.09 0.07,-0.17 0.07,-0.28 0,-0.1 -0.01,-0.2 -0.01,-0.3 -0.01,-0.18 -0.03,-0.37 -0.05,-0.55 -0.02,-0.27 -0.05,-0.54 -0.07,-0.81 1.25,-0.49 2.49,-0.99 3.74,-1.49 -0.01,0.03 -0.02,0.05 -0.01,0.09 0.07,0.25 0.13,0.5 0.2,0.75 0.03,0.12 0.07,0.24 0.1,0.37 0.04,0.14 0.06,0.3 0.19,0.38 0.07,0.04 0.18,0.02 0.22,-0.06 0.07,-0.13 0.01,-0.28 -0.02,-0.41 -0.03,-0.13 -0.07,-0.25 -0.1,-0.38 -0.07,-0.25 -0.14,-0.5 -0.2,-0.75 -0.01,-0.05 -0.05,-0.08 -0.08,-0.1 0.77,-0.31 1.53,-0.61 2.3,-0.92 -0.03,0.14 -0.05,0.27 -0.06,0.41 -0.01,0.17 0.01,0.34 0.03,0.51 0.03,0.15 0.07,0.39 0.2,0.49 0.08,0.06 0.23,0.05 0.25,-0.07 0.01,-0.05 0.02,-0.09 0.01,-0.14 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.02,-0.07 -0.03,-0.15 -0.04,-0.22 -0.02,-0.15 -0.04,-0.29 -0.04,-0.44 0,-0.21 0.04,-0.41 0.1,-0.61 1.28,-0.52 2.56,-1.04 3.83,-1.57 -0.14,0.59 -0.16,1.29 0.11,1.84 0.03,0.06 0.12,0.08 0.18,0.06 0.07,-0.03 0.1,-0.1 0.08,-0.17 -0.05,-0.28 -0.11,-0.56 -0.13,-0.84 -0.01,-0.29 0.01,-0.57 0.08,-0.85 0.02,-0.07 -0.01,-0.11 -0.05,-0.15 0.09,-0.04 0.17,-0.07 0.26,-0.11 0.11,0.17 0.43,0.13 0.46,-0.13 0,-0.02 0,-0.04 0.01,-0.06 1.39,-0.57 2.78,-1.14 4.17,-1.72 l -0.09,0.44 c -0.02,0.1 -0.04,0.19 -0.06,0.29 -0.02,0.11 -0.03,0.21 -0.04,0.32 0,0.06 0.05,0.12 0.11,0.12 0.07,0.01 0.12,-0.03 0.14,-0.09 0.04,-0.09 0.06,-0.19 0.08,-0.28 0.02,-0.1 0.04,-0.19 0.06,-0.29 0.04,-0.19 0.08,-0.39 0.12,-0.58 0,-0.02 -0.01,-0.04 -0.01,-0.07 1.42,-0.59 2.83,-1.17 4.25,-1.75 0,0.04 0,0.09 0,0.13 0,0.11 0.02,0.2 0.04,0.31 0.01,0.07 0.09,0.12 0.16,0.12 0.07,0 0.15,-0.05 0.16,-0.12 0.02,-0.1 0.03,-0.19 0.03,-0.29 0,-0.1 0,-0.19 -0.01,-0.28 0,-0.01 0,-0.01 0,-0.01 0.2,-0.08 0.4,-0.16 0.6,-0.25 0.41,-0.17 0.82,-0.34 1.23,-0.51 0,0.25 -0.02,0.5 0.02,0.75 0.02,0.13 0.23,0.13 0.25,0 0.05,-0.26 0.03,-0.52 0.03,-0.78 0,-0.03 0,-0.07 0,-0.1 0.66,-0.27 1.32,-0.55 1.99,-0.82 l -0.01,0.08 c -0.01,0.14 -0.03,0.28 -0.04,0.42 0,0.07 0.01,0.15 0.02,0.22 0.01,0.07 0.01,0.14 0.03,0.21 0.02,0.07 0.14,0.1 0.17,0.02 0.12,-0.27 0.12,-0.57 0.14,-0.85 0.01,-0.08 0.01,-0.16 0.02,-0.24 0.67,-0.28 1.34,-0.56 2.01,-0.83 0,0.03 0,0.06 0.01,0.09 0.01,0.13 0.02,0.26 0.05,0.39 0.03,0.13 0.05,0.25 0.1,0.37 0.04,0.09 0.17,0.06 0.2,-0.03 0.03,-0.12 0.03,-0.25 0.04,-0.38 0.01,-0.13 0,-0.25 -0.01,-0.38 -0.01,-0.08 -0.01,-0.15 -0.02,-0.23 0.52,-0.21 1.03,-0.43 1.55,-0.64 -0.05,0.13 -0.09,0.28 -0.09,0.42 0,0.23 0.06,0.53 0.27,0.65 0.05,0.03 0.11,0.02 0.15,-0.01 0.05,-0.04 0.06,-0.09 0.05,-0.14 0,-0.01 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.01 -0.02,-0.05 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 -0.03,-0.09 -0.04,-0.14 -0.01,-0.04 -0.02,-0.09 -0.03,-0.13 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.02 0,-0.03 0,-0.03 0,-0.05 0,-0.08 0,-0.02 0,-0.05 0,-0.07 0,-0.01 0,-0.02 0,-0.03 0,0 0,-0.01 0,-0.01 0.01,-0.04 0.02,-0.09 0.03,-0.13 0.01,-0.02 0.02,-0.05 0.02,-0.07 -0.01,0.02 -0.01,0.02 0,0 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.02,-0.04 0.05,-0.08 0.07,-0.12 0.03,-0.04 0.03,-0.09 0.02,-0.13 0.76,-0.32 1.52,-0.63 2.28,-0.95 0.01,0.1 0.01,0.2 0.02,0.29 0.01,0.23 0.03,0.45 0.07,0.68 0.01,0.06 0.1,0.05 0.11,-0.01 0.01,-0.23 -0.01,-0.45 -0.03,-0.68 -0.01,-0.11 -0.02,-0.23 -0.03,-0.34 0.52,-0.21 1.03,-0.43 1.55,-0.64 0.01,0.14 0.02,0.27 0.04,0.41 0.04,0.23 0.09,0.45 0.17,0.66 0.04,0.11 0.1,0.2 0.15,0.31 0.06,0.11 0.11,0.21 0.2,0.3 0.06,0.06 0.17,0.02 0.17,-0.07 0,-0.11 -0.02,-0.21 -0.04,-0.32 -0.03,-0.11 -0.03,-0.23 -0.05,-0.34 -0.05,-0.21 -0.1,-0.43 -0.14,-0.65 -0.03,-0.17 -0.02,-0.34 -0.03,-0.5 0.79,-0.33 1.58,-0.66 2.37,-0.98 0.03,0.39 0.07,0.78 0.1,1.17 0.04,0.4 0.03,0.84 0.18,1.22 0.04,0.11 0.23,0.15 0.26,0 0.07,-0.4 -0.01,-0.81 -0.05,-1.22 -0.04,-0.41 -0.09,-0.82 -0.13,-1.23 0,-0.03 -0.02,-0.05 -0.03,-0.08 0.57,-0.24 1.14,-0.47 1.71,-0.71 -0.01,0.1 -0.05,0.19 -0.05,0.29 -0.01,0.19 -0.01,0.37 0.02,0.57 0.03,0.18 0.04,0.38 0.13,0.55 0.06,0.1 0.24,0.09 0.26,-0.04 0.03,-0.18 0,-0.35 0,-0.53 0,-0.18 0,-0.35 0.01,-0.53 0.01,-0.17 0.05,-0.33 0.08,-0.49 0.76,-0.31 1.51,-0.63 2.27,-0.94 0,0.13 -0.01,0.25 -0.01,0.38 0,0.12 -0.01,0.24 0,0.35 0,0.06 0,0.12 0,0.18 0,0.03 0,0.05 0,0.08 0,0.05 0.02,0.08 0.04,0.13 0.05,0.1 0.2,0.09 0.25,0 0.07,-0.11 0.06,-0.26 0.06,-0.38 0.01,-0.12 0.01,-0.24 0.01,-0.35 0,-0.18 0.01,-0.35 0.01,-0.53 0.47,-0.2 0.95,-0.39 1.42,-0.59 0,0.23 0,0.46 -0.01,0.69 0,0.13 -0.01,0.25 0,0.38 0,0.06 0,0.13 0.01,0.19 0.01,0.07 0.03,0.14 0.05,0.22 0.03,0.14 0.26,0.14 0.29,0 0.01,-0.07 0.04,-0.14 0.05,-0.21 0.01,-0.06 0.01,-0.12 0.01,-0.17 0.01,-0.13 0,-0.26 0,-0.39 0,-0.26 0,-0.52 0,-0.77 0,-0.03 -0.02,-0.04 -0.03,-0.07 0.85,-0.35 1.71,-0.71 2.56,-1.06 -0.03,0.18 -0.06,0.37 -0.05,0.55 0.01,0.14 0.04,0.29 0.08,0.43 0.02,0.06 0.04,0.13 0.07,0.19 0.01,0.04 0.03,0.08 0.05,0.12 0.02,0.03 0.05,0.06 0.08,0.09 0.1,0.09 0.27,0.03 0.28,-0.11 0,-0.13 -0.05,-0.26 -0.08,-0.39 -0.03,-0.11 -0.05,-0.23 -0.06,-0.33 -0.02,-0.24 -0.01,-0.48 0.04,-0.71 0.94,-0.39 1.89,-0.78 2.83,-1.17 0.16,-0.07 0.32,-0.13 0.48,-0.2 0.01,0.08 0.03,0.16 0.04,0.24 0.02,0.11 0.04,0.22 0.06,0.33 0.02,0.12 0.03,0.24 0.1,0.34 0.08,0.11 0.24,0.09 0.28,-0.04 0.04,-0.12 0,-0.25 -0.01,-0.37 -0.02,-0.12 -0.03,-0.23 -0.05,-0.35 -0.02,-0.1 -0.03,-0.2 -0.05,-0.3 0.41,-0.17 0.81,-0.34 1.22,-0.51 0.02,0.07 0.04,0.13 0.05,0.2 0.06,0.21 0.09,0.46 0.23,0.64 0.06,0.09 0.19,0.05 0.2,-0.05 0.02,-0.22 -0.07,-0.46 -0.13,-0.67 -0.02,-0.08 -0.04,-0.16 -0.06,-0.24 0.63,-0.26 1.26,-0.53 1.9,-0.8 0.01,0.16 0.02,0.32 0.03,0.48 0.01,0.11 0.02,0.23 0.02,0.34 0.01,0.12 0.02,0.24 0.05,0.36 0.02,0.07 0.09,0.11 0.16,0.1 0.07,-0.01 0.12,-0.07 0.12,-0.14 0.01,-0.06 0.02,-0.12 0.01,-0.17 0,-0.06 -0.01,-0.12 -0.01,-0.17 -0.01,-0.11 -0.01,-0.22 -0.02,-0.33 -0.01,-0.2 -0.03,-0.41 -0.04,-0.61 0.61,-0.26 1.22,-0.52 1.84,-0.77 0,0.06 -0.01,0.13 0,0.19 0.02,0.16 0.05,0.32 0.09,0.48 0.02,0.07 0.04,0.15 0.07,0.22 0.02,0.04 0.03,0.1 0.05,0.14 0.02,0.04 0.06,0.07 0.09,0.1 0.1,0.11 0.29,0.02 0.29,-0.12 0,-0.15 -0.06,-0.29 -0.1,-0.44 -0.03,-0.13 -0.06,-0.27 -0.08,-0.4 -0.01,-0.12 0.01,-0.23 0.01,-0.35 1.18,-0.49 2.35,-0.99 3.53,-1.49 0,0.01 0,0.02 0.01,0.02 0.09,0.07 0.19,0.15 0.28,0.22 0.05,0.04 0.09,0.07 0.14,0.11 0.03,0.02 0.06,0.05 0.09,0.07 0.03,0.02 0.05,0.03 0.08,0.04 0.03,0 0.05,0 0.08,-0.01 0.05,-0.01 0.1,-0.07 0.1,-0.13 0,-0.02 0,-0.04 -0.01,-0.06 -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 -0.05,-0.04 -0.09,-0.07 -0.14,-0.11 -0.06,-0.05 -0.12,-0.1 -0.18,-0.15 0.34,-0.14 0.68,-0.28 1.01,-0.43 0.03,0.09 0.11,0.16 0.22,0.13 0.13,-0.04 0.15,-0.17 0.1,-0.26 0.23,-0.1 0.46,-0.19 0.69,-0.29 0.14,0.12 0.3,0.21 0.43,0.35 0.14,0.14 0.25,0.31 0.38,0.45 0.14,0.15 0.23,0.35 0.38,0.49 0.13,0.12 0.3,0 0.27,-0.16 -0.04,-0.22 -0.18,-0.4 -0.29,-0.59 -0.1,-0.19 -0.27,-0.36 -0.42,-0.52 -0.08,-0.08 -0.17,-0.15 -0.26,-0.23 0.71,-0.3 1.42,-0.6 2.13,-0.9 0.13,0.14 0.26,0.28 0.41,0.4 0.11,0.08 0.26,-0.08 0.19,-0.19 -0.08,-0.13 -0.19,-0.23 -0.29,-0.34 0.83,-0.35 1.67,-0.7 2.5,-1.05 0.07,0.09 0.13,0.18 0.2,0.27 0.12,0.15 0.23,0.32 0.37,0.45 0.08,0.07 0.17,-0.02 0.13,-0.1 -0.08,-0.18 -0.21,-0.33 -0.31,-0.5 -0.05,-0.07 -0.1,-0.14 -0.15,-0.22 0.77,-0.33 1.54,-0.65 2.31,-0.97 0.06,0.07 0.12,0.13 0.17,0.2 0.1,0.12 0.2,0.28 0.36,0.33 0.12,0.04 0.2,-0.08 0.18,-0.18 -0.02,-0.09 -0.08,-0.15 -0.14,-0.22 -0.05,-0.06 -0.11,-0.12 -0.16,-0.18 l -0.08,-0.09 c 0.77,-0.33 1.53,-0.64 2.3,-0.97 0.07,0.07 0.13,0.14 0.2,0.21 0.08,0.08 0.16,0.17 0.25,0.25 0.04,0.04 0.08,0.08 0.13,0.12 0.05,0.04 0.1,0.09 0.17,0.09 0.05,0 0.1,-0.04 0.09,-0.09 0,-0.07 -0.05,-0.12 -0.09,-0.17 -0.03,-0.04 -0.07,-0.08 -0.11,-0.12 -0.08,-0.09 -0.17,-0.17 -0.26,-0.26 -0.04,-0.04 -0.09,-0.09 -0.13,-0.13 0.61,-0.26 1.23,-0.52 1.84,-0.78 0,0 0.01,0 0.01,0.01 0.08,0.06 0.15,0.13 0.23,0.19 l 0.11,0.09 c 0.02,0.02 0.04,0.04 0.07,0.05 0.02,0.01 0.05,0.02 0.08,0.03 0.09,0.03 0.16,-0.08 0.12,-0.16 -0.03,-0.05 -0.06,-0.08 -0.1,-0.12 -0.04,-0.03 -0.08,-0.06 -0.11,-0.09 -0.05,-0.04 -0.09,-0.07 -0.14,-0.11 0.59,-0.25 1.18,-0.5 1.77,-0.75 0.11,0.1 0.23,0.2 0.34,0.29 0.13,0.11 0.26,0.21 0.41,0.29 0.04,0.03 0.1,0.02 0.14,-0.02 0.03,-0.03 0.05,-0.1 0.02,-0.14 -0.05,-0.07 -0.11,-0.14 -0.17,-0.2 -0.05,-0.06 -0.11,-0.11 -0.17,-0.16 -0.08,-0.07 -0.15,-0.14 -0.23,-0.2 0.64,-0.27 1.27,-0.55 1.91,-0.82 0.34,0.16 0.67,0.31 1.01,0.47 0.17,0.08 0.35,0.18 0.53,0.23 0.09,0.03 0.18,0.05 0.27,0.09 0.1,0.04 0.18,0.06 0.29,0.07 0.08,0.01 0.12,-0.11 0.07,-0.16 -0.13,-0.13 -0.31,-0.2 -0.46,-0.31 -0.08,-0.06 -0.18,-0.09 -0.26,-0.14 -0.09,-0.04 -0.18,-0.08 -0.26,-0.12 l -0.71,-0.33 c 0.6,-0.26 1.19,-0.52 1.79,-0.77 0.08,0.08 0.17,0.16 0.25,0.24 0.09,0.09 0.19,0.18 0.28,0.27 0.05,0.04 0.1,0.09 0.15,0.13 0.06,0.05 0.11,0.09 0.19,0.12 0.05,0.02 0.11,-0.01 0.14,-0.05 0.03,-0.05 0.03,-0.09 0.01,-0.15 -0.05,-0.12 -0.17,-0.21 -0.26,-0.31 -0.09,-0.09 -0.19,-0.18 -0.28,-0.27 -0.05,-0.05 -0.1,-0.09 -0.14,-0.14 0.21,-0.09 0.41,-0.18 0.62,-0.27 0.05,0.09 0.09,0.18 0.14,0.26 0.04,0.07 0.07,0.13 0.11,0.19 0.04,0.07 0.08,0.14 0.17,0.18 0.08,0.04 0.22,0.02 0.23,-0.1 0.01,-0.1 -0.01,-0.17 -0.05,-0.25 -0.03,-0.07 -0.07,-0.13 -0.1,-0.2 -0.05,-0.08 -0.09,-0.16 -0.14,-0.24 0.83,-0.36 1.67,-0.72 2.5,-1.08 0.04,0.04 0.07,0.07 0.11,0.11 0.06,0.06 0.13,0.12 0.2,0.18 0.07,0.06 0.14,0.12 0.22,0.18 0.08,0.05 0.17,-0.05 0.12,-0.12 -0.05,-0.08 -0.11,-0.15 -0.18,-0.22 -0.06,-0.07 -0.11,-0.14 -0.18,-0.2 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 0.31,-0.13 0.62,-0.27 0.93,-0.4 0.37,0.19 0.72,0.4 1.03,0.68 0.23,0.21 0.43,0.44 0.6,0.7 0.09,0.13 0.17,0.27 0.23,0.41 0.06,0.12 0.14,0.29 0.26,0.35 0.03,0.02 0.08,0.01 0.09,-0.03 0.12,-0.27 -0.14,-0.66 -0.28,-0.89 -0.18,-0.3 -0.39,-0.58 -0.63,-0.83 -0.23,-0.24 -0.49,-0.45 -0.78,-0.62 0.53,-0.23 1.07,-0.46 1.6,-0.69 0.14,0.13 0.29,0.26 0.43,0.39 0.12,0.11 0.24,0.22 0.38,0.32 0.13,0.09 0.26,0.2 0.41,0.26 0.08,0.03 0.14,-0.07 0.1,-0.13 -0.08,-0.14 -0.22,-0.26 -0.33,-0.37 -0.11,-0.11 -0.23,-0.21 -0.35,-0.31 -0.11,-0.09 -0.22,-0.19 -0.33,-0.28 0.61,-0.26 1.21,-0.52 1.82,-0.79 0.02,0.02 0.05,0.03 0.07,0.05 0.06,0.04 0.11,0.08 0.17,0.12 0.03,0.02 0.06,0.04 0.09,0.06 0.03,0.02 0.07,0.03 0.1,0.05 0.05,0.02 0.1,0.02 0.14,-0.03 0.03,-0.04 0.03,-0.1 -0.01,-0.14 -0.02,-0.03 -0.04,-0.05 -0.07,-0.08 -0.03,-0.03 -0.07,-0.05 -0.1,-0.08 -0.03,-0.03 -0.07,-0.05 -0.1,-0.08 0.61,-0.26 1.23,-0.53 1.84,-0.79 0.26,0.22 0.52,0.45 0.81,0.64 0.1,0.06 0.2,-0.08 0.12,-0.16 -0.21,-0.21 -0.45,-0.39 -0.68,-0.58 0.67,-0.29 1.35,-0.58 2.02,-0.87 0.06,0.03 0.12,0.05 0.18,0.08 0.11,0.05 0.2,-0.09 0.1,-0.17 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0.65,-0.28 1.3,-0.56 1.94,-0.84 0.14,0.12 0.28,0.25 0.43,0.36 0.08,0.06 0.17,-0.07 0.11,-0.14 -0.11,-0.11 -0.22,-0.21 -0.33,-0.31 1.69,-0.73 3.39,-1.46 5.08,-2.19 0,0 0.01,0.01 0.01,0.01 0.15,0.12 0.31,0.24 0.46,0.37 0.15,0.12 0.31,0.24 0.49,0.31 0.08,0.03 0.16,-0.08 0.12,-0.15 -0.1,-0.16 -0.26,-0.29 -0.4,-0.41 -0.11,-0.09 -0.21,-0.18 -0.32,-0.27 0.6,-0.26 1.19,-0.51 1.79,-0.77 0.01,-0.01 0.02,-0.01 0.04,-0.02 0.09,0.07 0.2,0.12 0.28,0.2 0.1,0.1 0.2,0.21 0.28,0.32 0.1,0.13 0.17,0.28 0.29,0.4 0.05,0.05 0.14,0.06 0.2,0.02 0.07,-0.04 0.08,-0.11 0.07,-0.18 -0.02,-0.17 -0.13,-0.32 -0.22,-0.46 -0.1,-0.14 -0.21,-0.28 -0.33,-0.4 -0.04,-0.04 -0.09,-0.06 -0.13,-0.09 0.66,-0.29 1.31,-0.57 1.97,-0.86 0.08,0.04 0.15,0.09 0.23,0.13 0.15,0.09 0.3,0.18 0.45,0.26 0.08,0.04 0.16,0.08 0.23,0.12 0.1,0.05 0.18,0.1 0.29,0.1 0.13,-0.01 0.21,-0.14 0.15,-0.26 -0.05,-0.1 -0.13,-0.14 -0.22,-0.2 -0.07,-0.05 -0.15,-0.09 -0.22,-0.14 -0.14,-0.08 -0.28,-0.16 -0.42,-0.24 0.68,-0.3 1.37,-0.6 2.05,-0.9 0.13,0.08 0.27,0.16 0.41,0.24 0.08,0.04 0.16,0.09 0.24,0.13 0.04,0.02 0.08,0.05 0.13,0.07 0.05,0.03 0.1,0.05 0.16,0.06 0.11,0.02 0.19,-0.1 0.11,-0.19 -0.04,-0.04 -0.08,-0.07 -0.12,-0.1 -0.04,-0.02 -0.08,-0.05 -0.12,-0.07 -0.08,-0.05 -0.16,-0.1 -0.24,-0.15 -0.07,-0.04 -0.15,-0.08 -0.22,-0.13 0.77,-0.34 1.54,-0.67 2.31,-1.01 0.2,0.11 0.41,0.21 0.61,0.32 0.15,0.08 0.29,0.16 0.44,0.23 0.15,0.07 0.3,0.17 0.46,0.2 0.08,0.02 0.14,-0.08 0.08,-0.14 -0.12,-0.11 -0.28,-0.17 -0.42,-0.25 -0.15,-0.08 -0.3,-0.15 -0.45,-0.23 -0.16,-0.08 -0.32,-0.16 -0.47,-0.24 0.84,-0.37 1.68,-0.74 2.53,-1.1 0.06,0.04 0.11,0.07 0.17,0.11 0.05,0.03 0.09,0.06 0.14,0.09 0.05,0.03 0.11,0.05 0.16,0.08 0.11,0.05 0.22,0.12 0.34,0.16 0.09,0.03 0.14,-0.09 0.08,-0.15 -0.08,-0.09 -0.18,-0.16 -0.26,-0.24 -0.05,-0.05 -0.09,-0.09 -0.15,-0.13 -0.04,-0.03 -0.08,-0.06 -0.13,-0.08 0.69,-0.3 1.38,-0.6 2.07,-0.9 0.12,0.07 0.26,0.12 0.38,0.19 0.16,0.1 0.31,0.22 0.47,0.32 0.17,0.1 0.3,0.26 0.47,0.35 0.12,0.07 0.26,-0.07 0.19,-0.19 -0.1,-0.18 -0.27,-0.31 -0.42,-0.46 -0.15,-0.15 -0.33,-0.27 -0.51,-0.38 -0.03,-0.02 -0.07,-0.03 -0.1,-0.04 0.67,-0.29 1.34,-0.59 2.01,-0.88 0.18,0.11 0.36,0.21 0.54,0.32 0.17,0.1 0.34,0.21 0.52,0.3 0.09,0.05 0.18,0.09 0.28,0.14 0.09,0.04 0.19,0.1 0.29,0.12 0.09,0.02 0.15,-0.08 0.09,-0.15 -0.06,-0.08 -0.16,-0.13 -0.24,-0.19 -0.08,-0.06 -0.17,-0.12 -0.26,-0.17 -0.18,-0.11 -0.36,-0.21 -0.54,-0.31 -0.12,-0.07 -0.24,-0.14 -0.36,-0.2 0.54,-0.23 1.07,-0.47 1.61,-0.7 0.22,0.15 0.46,0.28 0.66,0.46 0.19,0.16 0.35,0.33 0.49,0.53 0.14,0.2 0.26,0.41 0.4,0.6 0.09,0.13 0.3,0.02 0.22,-0.13 -0.12,-0.21 -0.29,-0.4 -0.46,-0.57 -0.18,-0.18 -0.36,-0.37 -0.54,-0.55 -0.16,-0.17 -0.34,-0.31 -0.52,-0.45 0.52,-0.23 1.04,-0.45 1.56,-0.68 0.09,0.07 0.18,0.14 0.27,0.21 0.1,0.08 0.21,0.14 0.31,0.21 0.11,0.07 0.22,0.15 0.35,0.2 0.08,0.03 0.16,-0.08 0.11,-0.15 -0.08,-0.11 -0.18,-0.19 -0.28,-0.27 -0.1,-0.09 -0.2,-0.17 -0.3,-0.25 -0.04,-0.03 -0.09,-0.06 -0.13,-0.1 0.8,-0.35 1.59,-0.69 2.39,-1.04 l 0.24,0.14 c 0.12,0.07 0.24,0.14 0.37,0.19 0.13,0.06 0.27,0.14 0.41,0.17 0.1,0.03 0.18,-0.1 0.1,-0.18 -0.1,-0.1 -0.23,-0.18 -0.35,-0.26 -0.12,-0.08 -0.24,-0.16 -0.36,-0.23 l -0.02,-0.01 c 0.72,-0.31 1.44,-0.63 2.15,-0.94 0.15,0.11 0.3,0.23 0.45,0.34 0.11,0.08 0.21,0.16 0.32,0.23 0.11,0.07 0.23,0.16 0.35,0.2 0.1,0.03 0.19,-0.09 0.13,-0.17 -0.07,-0.11 -0.18,-0.19 -0.28,-0.28 -0.1,-0.09 -0.21,-0.17 -0.32,-0.25 -0.1,-0.07 -0.2,-0.15 -0.3,-0.22 0.7,-0.31 1.41,-0.61 2.11,-0.92 0.32,0.19 0.63,0.4 0.91,0.64 0.16,0.14 0.32,0.28 0.47,0.43 0.07,0.07 0.16,0.13 0.23,0.21 0.08,0.08 0.16,0.16 0.25,0.23 0.08,0.06 0.17,-0.06 0.13,-0.13 -0.05,-0.1 -0.11,-0.18 -0.18,-0.27 -0.07,-0.09 -0.12,-0.18 -0.2,-0.26 -0.15,-0.17 -0.31,-0.32 -0.49,-0.47 -0.23,-0.2 -0.5,-0.36 -0.75,-0.53 0.51,-0.22 1.02,-0.45 1.53,-0.67 l 0.51,0.35 c 0.08,0.06 0.17,0.11 0.26,0.16 0.09,0.06 0.18,0.12 0.28,0.15 0.02,0.01 0.03,-0.01 0.05,-0.02 0.16,0.27 0.32,0.54 0.47,0.82 0.76,1.4 1.47,2.81 2.07,4.28 0.58,1.43 1.12,2.88 1.55,4.37 0.22,0.74 0.41,1.49 0.59,2.24 0.04,0.19 0.08,0.38 0.11,0.57 -0.24,0.09 -0.48,0.18 -0.72,0.27 -0.01,-0.39 -0.07,-0.79 -0.11,-1.15 -0.07,-0.64 -0.19,-1.28 -0.34,-1.9 -0.3,-1.25 -0.77,-2.46 -1.36,-3.6 -0.09,-0.18 -0.36,-0.02 -0.27,0.16 0.54,1.13 0.96,2.33 1.24,3.55 0.14,0.61 0.25,1.23 0.32,1.85 0.04,0.3 0.07,0.6 0.09,0.91 0.01,0.11 0.01,0.23 0.02,0.35 -0.28,0.11 -0.55,0.2 -0.83,0.31 -0.01,-0.37 -0.09,-0.75 -0.17,-1.11 -0.1,-0.49 -0.22,-0.97 -0.37,-1.45 -0.29,-0.93 -0.59,-1.86 -0.97,-2.76 -0.04,-0.1 -0.21,-0.06 -0.17,0.05 0.36,0.88 0.69,1.79 0.91,2.72 0.11,0.47 0.21,0.94 0.3,1.41 0.08,0.4 0.12,0.83 0.23,1.23 -0.39,0.16 -0.78,0.32 -1.17,0.49 0.05,-0.42 -0.03,-0.9 -0.08,-1.3 -0.07,-0.53 -0.18,-1.06 -0.33,-1.57 -0.3,-1.03 -0.75,-2 -1.34,-2.9 -0.12,-0.18 -0.4,-0.01 -0.29,0.17 0.55,0.88 0.98,1.83 1.26,2.83 0.13,0.48 0.24,0.97 0.31,1.46 0.04,0.28 0.07,0.55 0.08,0.83 0.01,0.21 0.01,0.42 0.06,0.62 -0.46,0.2 -0.93,0.39 -1.39,0.58 0.02,-0.39 -0.03,-0.8 -0.07,-1.15 -0.06,-0.55 -0.16,-1.09 -0.29,-1.63 -0.28,-1.1 -0.73,-2.15 -1.31,-3.13 -0.11,-0.19 -0.4,-0.02 -0.29,0.17 0.54,0.96 0.93,2 1.18,3.08 0.13,0.54 0.21,1.08 0.26,1.62 0.04,0.39 0.03,0.82 0.07,1.23 -0.02,0.01 -0.04,0.02 -0.06,0.02 -0.29,0.12 -0.58,0.24 -0.86,0.36 0.01,-0.06 0.01,-0.12 0.01,-0.18 0.01,-0.15 0.01,-0.31 0,-0.46 -0.01,-0.28 -0.04,-0.56 -0.08,-0.84 -0.09,-0.59 -0.25,-1.16 -0.48,-1.71 -0.06,-0.15 -0.32,-0.09 -0.25,0.07 0.2,0.53 0.34,1.09 0.41,1.65 0.03,0.27 0.05,0.55 0.05,0.83 0,0.14 -0.01,0.29 -0.01,0.43 0,0.12 -0.02,0.25 0.01,0.36 -0.32,0.13 -0.65,0.27 -0.97,0.4 0.03,-0.37 0.01,-0.76 -0.02,-1.12 -0.05,-0.49 -0.14,-0.98 -0.26,-1.45 -0.26,-0.99 -0.68,-1.93 -1.22,-2.79 -0.06,-0.1 -0.21,-0.01 -0.15,0.09 0.52,0.86 0.89,1.8 1.12,2.77 0.11,0.49 0.19,0.99 0.22,1.49 0.03,0.37 0.01,0.76 0.03,1.13 -0.28,0.11 -0.55,0.23 -0.83,0.35 0.01,-0.17 0,-0.35 -0.02,-0.51 -0.03,-0.28 -0.08,-0.55 -0.15,-0.83 -0.14,-0.57 -0.36,-1.12 -0.65,-1.63 -0.09,-0.17 -0.35,-0.02 -0.26,0.15 0.27,0.49 0.47,1.01 0.6,1.56 0.06,0.26 0.11,0.53 0.13,0.8 0.02,0.18 0.03,0.38 0.06,0.57 -0.39,0.16 -0.79,0.33 -1.18,0.49 -0.1,-0.95 -0.35,-1.89 -0.64,-2.79 -0.36,-1.12 -0.86,-2.19 -1.46,-3.21 -0.09,-0.15 -0.31,-0.01 -0.23,0.13 0.57,1.02 1.03,2.09 1.38,3.21 0.29,0.92 0.45,1.85 0.6,2.79 -0.34,0.14 -0.67,0.28 -1.01,0.42 -0.09,-0.52 -0.23,-1.04 -0.35,-1.56 -0.14,-0.59 -0.28,-1.19 -0.43,-1.78 -0.04,-0.18 -0.32,-0.1 -0.27,0.07 l 0.42,1.75 c 0.13,0.54 0.23,1.09 0.41,1.62 -0.21,0.09 -0.41,0.17 -0.62,0.26 -0.33,0.14 -0.65,0.27 -0.98,0.41 0.07,-0.92 -0.15,-1.91 -0.43,-2.76 -0.35,-1.07 -0.92,-2.05 -1.63,-2.92 -0.13,-0.16 -0.35,0.07 -0.22,0.23 0.68,0.84 1.18,1.81 1.51,2.84 0.16,0.51 0.28,1.04 0.35,1.57 0.05,0.39 0.07,0.78 0.1,1.18 -0.29,0.12 -0.59,0.25 -0.88,0.37 -0.02,-0.36 -0.07,-0.72 -0.14,-1.07 -0.15,-0.72 -0.43,-1.39 -0.79,-2.03 -0.11,-0.2 -0.41,-0.02 -0.3,0.18 0.32,0.6 0.53,1.27 0.65,1.94 0.06,0.34 0.09,0.68 0.1,1.02 0,0.06 0,0.11 0,0.17 -0.37,0.15 -0.74,0.31 -1.1,0.46 -0.04,-0.2 -0.07,-0.4 -0.11,-0.58 -0.12,-0.57 -0.27,-1.12 -0.46,-1.67 -0.37,-1.06 -0.88,-2.05 -1.49,-2.99 -0.12,-0.18 -0.4,-0.01 -0.29,0.17 0.58,0.91 1.04,1.9 1.37,2.93 0.16,0.5 0.29,1 0.4,1.51 0.06,0.26 0.09,0.54 0.12,0.82 -0.53,0.22 -1.06,0.44 -1.58,0.66 0.03,-0.25 0,-0.53 -0.03,-0.76 -0.04,-0.32 -0.09,-0.63 -0.16,-0.94 -0.14,-0.66 -0.34,-1.3 -0.57,-1.93 -0.07,-0.2 -0.38,-0.12 -0.32,0.09 0.21,0.62 0.35,1.27 0.47,1.92 0.06,0.32 0.11,0.65 0.15,0.98 0.03,0.25 0.05,0.54 0.14,0.79 -0.38,0.16 -0.75,0.31 -1.13,0.47 0.01,-0.05 0.03,-0.1 0.03,-0.15 0,-0.12 -0.01,-0.23 -0.02,-0.35 -0.02,-0.24 -0.05,-0.48 -0.1,-0.72 -0.09,-0.47 -0.25,-0.92 -0.44,-1.35 -0.04,-0.08 -0.16,-0.1 -0.23,-0.06 -0.09,0.05 -0.1,0.15 -0.06,0.23 0.18,0.41 0.31,0.83 0.39,1.27 0.04,0.21 0.07,0.43 0.08,0.65 0.01,0.11 0.01,0.22 0.01,0.33 0,0.1 0.03,0.18 0.06,0.27 -0.45,0.19 -0.91,0.38 -1.36,0.57 0.02,-0.12 0.02,-0.24 0.03,-0.35 0.02,-0.3 0.02,-0.59 0.01,-0.89 -0.03,-0.58 -0.13,-1.15 -0.3,-1.7 -0.33,-1.1 -0.92,-2.12 -1.72,-2.95 -0.13,-0.14 -0.34,0.07 -0.21,0.21 0.75,0.82 1.29,1.81 1.59,2.88 0.15,0.52 0.24,1.06 0.26,1.6 0.01,0.26 0.01,0.53 -0.01,0.79 -0.01,0.19 -0.04,0.38 -0.05,0.57 -0.31,0.13 -0.63,0.26 -0.94,0.39 -0.01,-0.23 -0.05,-0.46 -0.07,-0.65 -0.06,-0.46 -0.13,-0.92 -0.24,-1.37 -0.21,-0.9 -0.52,-1.77 -0.89,-2.61 -0.09,-0.21 -0.39,-0.03 -0.3,0.18 0.36,0.82 0.62,1.67 0.79,2.54 0.09,0.43 0.16,0.87 0.21,1.31 0.02,0.21 0.04,0.43 0.07,0.64 0.01,0.05 0.01,0.09 0.01,0.14 -0.42,0.18 -0.84,0.35 -1.27,0.53 -0.06,-1.54 -0.58,-3.1 -1.32,-4.42 -0.11,-0.19 -0.4,-0.02 -0.29,0.17 0.39,0.72 0.7,1.47 0.91,2.26 0.19,0.71 0.28,1.42 0.35,2.14 -0.36,0.15 -0.72,0.3 -1.08,0.45 -0.01,-0.02 -0.01,-0.04 -0.02,-0.05 -0.04,-0.13 -0.08,-0.25 -0.11,-0.38 -0.07,-0.24 -0.15,-0.49 -0.22,-0.73 -0.14,-0.5 -0.28,-1 -0.41,-1.5 -0.06,-0.2 -0.37,-0.12 -0.31,0.08 0.13,0.5 0.27,1 0.4,1.51 0.06,0.25 0.12,0.49 0.18,0.74 0.03,0.12 0.06,0.24 0.09,0.36 0.01,0.05 0.02,0.09 0.03,0.14 -0.06,0.02 -0.11,0.05 -0.17,0.07 -0.88,0.37 -1.75,0.74 -2.63,1.1 -0.03,-0.16 -0.07,-0.33 -0.1,-0.47 -0.07,-0.32 -0.16,-0.64 -0.26,-0.95 -0.2,-0.62 -0.46,-1.22 -0.76,-1.8 -0.1,-0.18 -0.37,-0.02 -0.28,0.16 0.29,0.56 0.52,1.15 0.71,1.76 0.09,0.29 0.16,0.59 0.23,0.89 0.04,0.18 0.06,0.37 0.11,0.56 -0.49,0.2 -0.97,0.41 -1.45,0.61 -0.05,-0.26 -0.13,-0.52 -0.18,-0.75 -0.14,-0.55 -0.31,-1.1 -0.52,-1.63 -0.41,-1.06 -0.98,-2.05 -1.64,-2.98 -0.08,-0.11 -0.27,-0.01 -0.19,0.11 0.62,0.92 1.11,1.92 1.49,2.96 0.19,0.5 0.34,1.01 0.47,1.53 0.06,0.25 0.12,0.5 0.17,0.75 0.01,0.05 0.02,0.11 0.03,0.17 -0.31,0.13 -0.61,0.26 -0.92,0.38 0,0 0,-0.01 0,-0.01 -0.03,-0.03 -0.08,-0.05 -0.12,-0.05 -0.04,0 -0.09,0.02 -0.12,0.05 -0.03,0.03 -0.05,0.07 -0.05,0.12 0,0 0,0.01 0,0.01 -0.29,0.12 -0.58,0.24 -0.87,0.36 -0.03,-0.23 -0.09,-0.46 -0.12,-0.64 -0.09,-0.42 -0.21,-0.84 -0.35,-1.25 -0.28,-0.79 -0.65,-1.55 -1.11,-2.26 -0.11,-0.17 -0.38,-0.01 -0.28,0.16 0.42,0.71 0.75,1.46 0.99,2.24 0.11,0.37 0.2,0.75 0.28,1.13 0.04,0.21 0.07,0.43 0.1,0.65 0.01,0.05 0.02,0.1 0.02,0.15 -0.27,0.11 -0.54,0.23 -0.8,0.34 -0.02,-0.12 -0.05,-0.24 -0.07,-0.36 -0.02,-0.09 -0.11,-0.14 -0.2,-0.13 -0.08,0.01 -0.16,0.09 -0.16,0.18 0.01,0.13 0.01,0.26 0.02,0.38 l 0.01,0.1 c -0.36,0.15 -0.71,0.3 -1.07,0.45 0.06,-0.84 -0.15,-1.73 -0.38,-2.52 -0.28,-0.96 -0.69,-1.87 -1.2,-2.73 -0.1,-0.17 -0.37,-0.02 -0.27,0.16 0.49,0.84 0.87,1.73 1.13,2.66 0.12,0.45 0.22,0.9 0.3,1.36 0.06,0.39 0.11,0.78 0.18,1.17 -0.43,0.18 -0.85,0.36 -1.28,0.54 0,-0.05 0.01,-0.1 0.01,-0.15 0,-0.3 -0.03,-0.6 -0.08,-0.89 -0.11,-0.58 -0.34,-1.13 -0.66,-1.63 -0.1,-0.16 -0.36,-0.01 -0.26,0.15 0.29,0.46 0.49,0.97 0.59,1.51 0.05,0.26 0.07,0.53 0.06,0.8 0,0.12 -0.01,0.24 -0.02,0.35 -0.48,0.2 -0.95,0.4 -1.43,0.6 -0.02,-0.13 -0.04,-0.26 -0.06,-0.39 -0.09,-0.51 -0.21,-1.01 -0.36,-1.51 -0.3,-0.96 -0.72,-1.84 -1.22,-2.71 -0.07,-0.13 -0.28,-0.01 -0.2,0.12 0.48,0.84 0.84,1.75 1.11,2.68 0.13,0.45 0.23,0.9 0.31,1.35 0.04,0.2 0.06,0.4 0.08,0.6 -0.33,0.14 -0.67,0.28 -1,0.42 -0.03,-0.15 -0.07,-0.3 -0.1,-0.46 -0.09,-0.41 -0.18,-0.81 -0.27,-1.21 -0.05,-0.2 -0.35,-0.12 -0.31,0.08 0.08,0.41 0.16,0.82 0.24,1.22 0.03,0.17 0.07,0.34 0.1,0.51 -0.37,0.15 -0.74,0.31 -1.11,0.46 -0.02,-0.21 -0.06,-0.41 -0.11,-0.61 -0.11,-0.44 -0.3,-0.86 -0.55,-1.24 -0.11,-0.17 -0.38,-0.01 -0.27,0.16 0.23,0.36 0.4,0.75 0.49,1.17 0.05,0.22 0.07,0.44 0.08,0.67 -0.39,0.16 -0.78,0.33 -1.17,0.49 0,-0.01 -0.01,-0.03 -0.01,-0.04 -0.07,-0.3 -0.16,-0.6 -0.26,-0.9 -0.2,-0.59 -0.45,-1.17 -0.73,-1.73 -0.08,-0.15 -0.29,-0.02 -0.22,0.13 0.26,0.55 0.48,1.12 0.66,1.71 0.09,0.29 0.16,0.58 0.23,0.87 0.01,0.03 0.01,0.06 0.02,0.08 -0.59,0.25 -1.18,0.5 -1.77,0.74 0,-0.02 0,-0.03 -0.01,-0.05 -0.09,-0.46 -0.22,-0.9 -0.4,-1.33 -0.34,-0.83 -0.81,-1.58 -1.42,-2.24 -0.14,-0.15 -0.35,0.07 -0.22,0.22 0.57,0.64 1.03,1.38 1.34,2.18 0.14,0.38 0.26,0.77 0.33,1.18 0.01,0.06 0.02,0.12 0.03,0.18 -0.59,0.25 -1.18,0.49 -1.77,0.74 -0.06,-0.24 -0.12,-0.48 -0.18,-0.72 -0.16,-0.6 -0.32,-1.2 -0.47,-1.8 -0.04,-0.16 -0.27,-0.09 -0.24,0.06 0.13,0.6 0.26,1.19 0.39,1.79 0.06,0.27 0.12,0.54 0.18,0.8 -0.38,0.16 -0.76,0.32 -1.14,0.48 -0.06,-0.5 -0.17,-1 -0.3,-1.47 -0.26,-0.92 -0.68,-1.8 -1.21,-2.6 -0.11,-0.17 -0.38,-0.01 -0.27,0.16 0.5,0.79 0.86,1.64 1.11,2.54 0.14,0.51 0.21,1.02 0.27,1.54 -0.39,0.17 -0.79,0.33 -1.18,0.5 -0.01,-0.03 -0.02,-0.05 -0.02,-0.08 -0.08,-0.29 -0.16,-0.58 -0.24,-0.87 -0.16,-0.58 -0.32,-1.16 -0.48,-1.73 -0.05,-0.2 -0.37,-0.12 -0.31,0.08 l 0.46,1.74 c 0.08,0.29 0.15,0.58 0.23,0.87 0.01,0.04 0.02,0.08 0.03,0.13 -0.42,0.18 -0.85,0.36 -1.28,0.54 -0.02,-0.15 -0.05,-0.3 -0.07,-0.45 -0.08,-0.47 -0.19,-0.95 -0.33,-1.4 -0.3,-0.93 -0.74,-1.82 -1.29,-2.63 -0.1,-0.16 -0.36,-0.01 -0.25,0.15 0.51,0.8 0.9,1.66 1.18,2.58 0.13,0.43 0.24,0.86 0.31,1.3 0.03,0.2 0.05,0.41 0.07,0.61 -0.33,0.14 -0.67,0.28 -1.01,0.42 -0.09,0.04 -0.18,0.08 -0.27,0.11 -0.01,-0.06 -0.02,-0.12 -0.03,-0.17 -0.06,-0.3 -0.14,-0.6 -0.24,-0.89 -0.19,-0.57 -0.45,-1.13 -0.75,-1.65 -0.09,-0.16 -0.34,-0.02 -0.25,0.15 0.28,0.52 0.5,1.06 0.67,1.63 0.08,0.27 0.15,0.55 0.2,0.83 0.02,0.08 0.03,0.17 0.05,0.26 -0.49,0.21 -0.99,0.42 -1.48,0.63 -0.01,-0.07 -0.03,-0.14 -0.04,-0.2 -0.09,-0.44 -0.21,-0.88 -0.36,-1.3 -0.29,-0.82 -0.71,-1.59 -1.19,-2.31 -0.08,-0.12 -0.27,-0.01 -0.19,0.11 0.47,0.72 0.83,1.5 1.11,2.32 0.13,0.38 0.23,0.77 0.32,1.17 0.02,0.11 0.03,0.23 0.05,0.34 -0.55,0.23 -1.1,0.47 -1.65,0.7 -0.02,-0.07 -0.05,-0.14 -0.07,-0.2 -0.12,-0.36 -0.25,-0.71 -0.37,-1.07 -0.25,-0.7 -0.52,-1.39 -0.79,-2.08 -0.05,-0.13 -0.26,-0.08 -0.22,0.06 0.21,0.71 0.42,1.41 0.65,2.11 0.11,0.34 0.23,0.69 0.35,1.03 0.03,0.1 0.07,0.19 0.1,0.29 -0.39,0.17 -0.78,0.33 -1.18,0.5 -0.01,-0.03 -0.02,-0.06 -0.02,-0.09 -0.13,-0.49 -0.3,-0.98 -0.49,-1.45 -0.37,-0.91 -0.85,-1.77 -1.42,-2.57 -0.08,-0.12 -0.28,-0.01 -0.19,0.11 0.54,0.83 0.99,1.72 1.33,2.64 0.17,0.45 0.31,0.9 0.42,1.36 0.01,0.05 0.02,0.1 0.03,0.15 -0.37,0.16 -0.74,0.32 -1.11,0.47 -0.08,-0.34 -0.17,-0.67 -0.28,-1 -0.23,-0.7 -0.53,-1.37 -0.89,-2.03 -0.06,-0.12 -0.23,-0.01 -0.18,0.1 0.31,0.66 0.57,1.35 0.77,2.04 0.1,0.33 0.18,0.67 0.25,1.01 -0.48,0.2 -0.95,0.41 -1.43,0.61 -0.04,-0.22 -0.09,-0.45 -0.13,-0.67 -0.11,-0.52 -0.25,-1.04 -0.41,-1.54 -0.32,-0.99 -0.74,-1.95 -1.24,-2.86 -0.08,-0.15 -0.3,-0.02 -0.22,0.13 0.48,0.92 0.87,1.88 1.17,2.87 0.15,0.47 0.27,0.95 0.37,1.44 0.05,0.26 0.09,0.52 0.14,0.78 -1.15,0.49 -2.31,0.98 -3.46,1.47 -0.1,-0.63 -0.33,-1.26 -0.54,-1.84 -0.28,-0.77 -0.64,-1.5 -1.05,-2.21 -0.06,-0.11 -0.23,-0.01 -0.17,0.1 0.38,0.72 0.69,1.46 0.96,2.23 0.13,0.37 0.24,0.75 0.34,1.13 0.06,0.23 0.12,0.47 0.18,0.71 -0.46,0.19 -0.92,0.39 -1.37,0.59 -0.01,-0.06 -0.01,-0.12 -0.02,-0.17 -0.05,-0.29 -0.12,-0.58 -0.21,-0.86 -0.18,-0.58 -0.45,-1.13 -0.78,-1.64 -0.08,-0.13 -0.28,-0.01 -0.2,0.12 0.3,0.51 0.52,1.06 0.69,1.63 0.08,0.27 0.15,0.55 0.19,0.84 0.01,0.07 0.02,0.14 0.03,0.21 -0.38,0.16 -0.76,0.32 -1.14,0.48 0,-0.01 0,-0.01 -0.01,-0.02 -0.05,-0.2 -0.11,-0.39 -0.16,-0.59 -0.11,-0.38 -0.21,-0.77 -0.32,-1.15 -0.06,-0.21 -0.38,-0.12 -0.33,0.09 0.1,0.39 0.2,0.77 0.31,1.16 0.05,0.19 0.1,0.38 0.15,0.57 0.01,0.03 0.02,0.06 0.02,0.09 -0.48,0.2 -0.96,0.41 -1.44,0.61 -0.03,-0.16 -0.06,-0.33 -0.09,-0.48 -0.1,-0.51 -0.25,-1.02 -0.44,-1.51 -0.37,-0.95 -0.88,-1.82 -1.51,-2.62 -0.11,-0.14 -0.36,0.05 -0.25,0.2 0.6,0.79 1.07,1.69 1.4,2.63 0.16,0.46 0.29,0.94 0.38,1.42 0.03,0.18 0.05,0.37 0.07,0.55 -0.31,0.13 -0.63,0.27 -0.94,0.4 0.01,-0.05 0.02,-0.09 0.02,-0.14 0,-0.16 -0.05,-0.33 -0.13,-0.47 -0.05,-0.08 -0.16,-0.12 -0.25,-0.06 -0.08,0.05 -0.11,0.16 -0.06,0.25 0.01,0.01 0.02,0.03 0.02,0.04 0,0 0,0.01 0.01,0.01 0.01,0.03 0.02,0.05 0.03,0.08 0,0.02 0.01,0.03 0.01,0.05 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.03 0,0.06 0,0.09 0,0.01 0,0.03 0,0.04 0,0 0,0 0,0 0,0 0,0.01 0,0.01 -0.01,0.03 -0.01,0.06 -0.02,0.09 0,0.01 -0.01,0.02 -0.01,0.03 0,0.01 0,0.01 -0.01,0.02 -0.02,0.04 -0.03,0.07 -0.03,0.12 0,0 0,0.01 0,0.01 -0.2,0.09 -0.4,0.17 -0.6,0.26 -0.03,-0.08 -0.05,-0.17 -0.08,-0.25 -0.08,-0.23 -0.16,-0.45 -0.24,-0.67 -0.16,-0.47 -0.32,-0.93 -0.48,-1.4 -0.08,-0.23 -0.44,-0.14 -0.37,0.1 0.15,0.48 0.29,0.96 0.43,1.44 0.07,0.24 0.14,0.47 0.21,0.71 0.03,0.09 0.05,0.17 0.08,0.26 -0.53,0.23 -1.06,0.45 -1.58,0.67 -0.03,-0.03 -0.07,-0.05 -0.12,-0.04 -0.15,-0.4 -0.33,-0.78 -0.5,-1.17 -0.22,-0.53 -0.44,-1.06 -0.65,-1.59 -0.08,-0.19 -0.38,-0.11 -0.31,0.08 0.21,0.54 0.42,1.08 0.63,1.63 0.16,0.42 0.31,0.86 0.5,1.27 -0.39,0.17 -0.77,0.33 -1.16,0.49 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.04 -0.02,-0.07 -0.03,-0.11 -0.02,-0.07 -0.04,-0.14 -0.07,-0.22 -0.02,-0.08 -0.11,-0.14 -0.2,-0.12 -0.09,0.03 -0.14,0.11 -0.12,0.2 l 0.05,0.22 c 0.01,0.03 0.02,0.07 0.03,0.1 0.01,0.03 0.01,0.06 0.02,0.09 -0.28,0.12 -0.57,0.24 -0.85,0.36 -0.14,-0.27 -0.29,-0.53 -0.44,-0.8 -0.34,-0.62 -0.68,-1.24 -1.02,-1.86 -0.09,-0.17 -0.34,-0.02 -0.25,0.15 0.32,0.63 0.64,1.27 0.96,1.9 0.13,0.26 0.26,0.51 0.39,0.77 -0.21,0.09 -0.41,0.18 -0.62,0.26 -0.07,-0.13 -0.13,-0.27 -0.2,-0.4 -0.04,-0.08 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.22 0.06,0.12 0.11,0.25 0.17,0.37 -0.37,0.16 -0.74,0.31 -1.1,0.47 -0.01,-0.02 -0.01,-0.04 -0.02,-0.07 -0.04,-0.08 -0.07,-0.15 -0.11,-0.23 -0.08,-0.17 -0.17,-0.34 -0.25,-0.51 -0.17,-0.34 -0.33,-0.67 -0.5,-1.01 -0.04,-0.08 -0.16,-0.11 -0.24,-0.06 -0.09,0.05 -0.1,0.15 -0.06,0.24 0.16,0.33 0.31,0.67 0.47,1 0.08,0.17 0.16,0.33 0.24,0.5 0.04,0.09 0.09,0.19 0.14,0.28 -0.92,0.4 -1.84,0.8 -2.76,1.19 -0.1,-0.31 -0.26,-0.63 -0.39,-0.92 -0.17,-0.39 -0.33,-0.78 -0.5,-1.16 -0.34,-0.77 -0.7,-1.53 -1.02,-2.31 -0.1,-0.23 -0.43,-0.03 -0.33,0.2 0.33,0.77 0.62,1.56 0.94,2.34 0.15,0.38 0.31,0.75 0.47,1.12 0.12,0.29 0.24,0.63 0.39,0.92 -0.39,0.17 -0.78,0.34 -1.17,0.51 -0.08,-0.12 -0.17,-0.23 -0.25,-0.35 -0.1,-0.16 -0.2,-0.33 -0.28,-0.51 -0.17,-0.35 -0.28,-0.73 -0.35,-1.12 -0.02,-0.1 -0.13,-0.15 -0.22,-0.13 -0.1,0.03 -0.14,0.12 -0.13,0.22 0.06,0.42 0.18,0.82 0.35,1.21 0.12,0.29 0.29,0.59 0.48,0.85 -0.4,0.17 -0.79,0.34 -1.19,0.51 -0.05,-0.06 -0.1,-0.13 -0.15,-0.19 -0.14,-0.17 -0.27,-0.35 -0.39,-0.54 -0.24,-0.37 -0.44,-0.75 -0.61,-1.16 -0.08,-0.2 -0.4,-0.12 -0.32,0.09 0.17,0.44 0.37,0.86 0.61,1.26 0.12,0.2 0.24,0.39 0.38,0.57 0.03,0.04 0.07,0.09 0.1,0.13 -0.44,0.19 -0.88,0.38 -1.33,0.57 -0.08,-0.15 -0.16,-0.3 -0.22,-0.44 -0.19,-0.41 -0.38,-0.82 -0.57,-1.23 -0.37,-0.8 -0.74,-1.61 -1.11,-2.41 -0.08,-0.18 -0.35,-0.02 -0.27,0.16 0.35,0.79 0.71,1.59 1.06,2.38 0.18,0.4 0.35,0.8 0.53,1.19 0.07,0.17 0.15,0.33 0.22,0.5 -0.43,0.18 -0.85,0.37 -1.28,0.55 -0.07,-0.09 -0.14,-0.19 -0.2,-0.28 -0.27,-0.38 -0.55,-0.75 -0.82,-1.13 -0.13,-0.18 -0.43,-0.01 -0.3,0.18 0.27,0.39 0.54,0.78 0.81,1.17 0.05,0.07 0.1,0.15 0.15,0.22 -0.63,0.27 -1.25,0.54 -1.88,0.81 -0.19,-0.23 -0.37,-0.46 -0.56,-0.7 -0.06,-0.07 -0.18,-0.06 -0.23,0 -0.07,0.07 -0.05,0.16 0,0.23 0.16,0.2 0.32,0.4 0.48,0.6 -0.51,0.22 -1.02,0.44 -1.53,0.66 -0.02,-0.09 -0.06,-0.17 -0.1,-0.25 -0.06,-0.12 -0.12,-0.23 -0.18,-0.34 -0.11,-0.21 -0.23,-0.42 -0.35,-0.63 -0.24,-0.43 -0.48,-0.87 -0.72,-1.3 -0.1,-0.17 -0.36,-0.02 -0.27,0.16 0.23,0.44 0.46,0.88 0.69,1.32 0.11,0.21 0.22,0.43 0.33,0.64 0.06,0.11 0.12,0.23 0.18,0.34 0.04,0.07 0.09,0.13 0.14,0.18 -0.5,0.21 -0.99,0.43 -1.49,0.64 -0.05,-0.08 -0.11,-0.17 -0.16,-0.25 -0.14,-0.22 -0.29,-0.44 -0.43,-0.65 -0.3,-0.44 -0.6,-0.88 -0.89,-1.32 -0.13,-0.19 -0.44,-0.02 -0.31,0.18 0.29,0.46 0.57,0.92 0.85,1.38 0.14,0.23 0.29,0.46 0.43,0.69 0.03,0.05 0.06,0.11 0.1,0.16 -0.49,0.21 -0.98,0.43 -1.48,0.64 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.13,-0.1 -0.26,-0.19 -0.38,-0.3 -0.24,-0.21 -0.46,-0.45 -0.65,-0.72 -0.38,-0.53 -0.65,-1.11 -0.77,-1.76 -0.04,-0.22 -0.37,-0.13 -0.33,0.09 0.12,0.67 0.38,1.34 0.77,1.9 0.19,0.28 0.42,0.54 0.67,0.77 0.09,0.09 0.19,0.17 0.29,0.24 -0.47,0.2 -0.93,0.4 -1.4,0.61 -0.09,-0.08 -0.18,-0.16 -0.26,-0.24 -0.24,-0.22 -0.46,-0.46 -0.66,-0.71 -0.4,-0.5 -0.74,-1.05 -0.99,-1.64 -0.07,-0.17 -0.37,-0.05 -0.3,0.13 0.25,0.62 0.57,1.22 0.98,1.75 0.2,0.26 0.42,0.51 0.66,0.74 0.05,0.05 0.11,0.1 0.16,0.14 -0.56,0.25 -1.13,0.49 -1.7,0.73 -0.2,-0.13 -0.4,-0.26 -0.59,-0.41 -0.21,-0.18 -0.41,-0.37 -0.59,-0.58 -0.36,-0.42 -0.65,-0.92 -0.84,-1.44 -0.07,-0.18 -0.36,-0.11 -0.29,0.08 0.2,0.57 0.5,1.09 0.88,1.55 0.3,0.36 0.67,0.7 1.08,0.96 -0.61,0.26 -1.21,0.52 -1.82,0.79 -0.27,-0.2 -0.54,-0.41 -0.78,-0.64 -0.39,-0.39 -0.74,-0.82 -1.03,-1.29 -0.58,-0.93 -0.95,-1.97 -1.06,-3.06 -0.02,-0.17 -0.29,-0.18 -0.28,0 0.08,1.13 0.42,2.23 1.01,3.2 0.29,0.47 0.62,0.91 1.01,1.3 0.22,0.23 0.47,0.45 0.73,0.66 -0.55,0.24 -1.1,0.47 -1.65,0.71 -0.07,-0.04 -0.14,-0.08 -0.21,-0.13 -0.24,-0.17 -0.45,-0.37 -0.64,-0.59 -0.39,-0.44 -0.67,-0.96 -0.82,-1.53 -0.04,-0.17 -0.31,-0.1 -0.27,0.07 0.14,0.61 0.43,1.17 0.83,1.65 0.19,0.24 0.42,0.45 0.66,0.63 0.03,0.02 0.06,0.04 0.08,0.06 -0.54,0.23 -1.08,0.47 -1.62,0.7 -0.12,-0.11 -0.24,-0.22 -0.36,-0.34 -0.34,-0.36 -0.63,-0.77 -0.87,-1.21 -0.47,-0.87 -0.73,-1.85 -0.73,-2.83 0,-0.16 -0.25,-0.16 -0.25,0 -0.04,1.05 0.2,2.08 0.7,3 0.24,0.45 0.55,0.87 0.89,1.25 0.08,0.09 0.17,0.18 0.27,0.28 -0.56,0.25 -1.12,0.49 -1.68,0.74 -0.59,-0.55 -1.12,-1.12 -1.54,-1.83 -0.43,-0.74 -0.73,-1.55 -0.88,-2.4 -0.03,-0.17 -0.28,-0.1 -0.26,0.07 0.24,1.61 1.06,3.23 2.3,4.32 -0.4,0.17 -0.79,0.35 -1.19,0.52 0,0 0,0 0,0 -0.11,-0.05 -0.22,-0.12 -0.33,-0.18 -0.22,-0.14 -0.43,-0.32 -0.61,-0.51 -0.36,-0.39 -0.62,-0.86 -0.75,-1.37 -0.05,-0.19 -0.33,-0.11 -0.29,0.08 0.13,0.56 0.41,1.08 0.79,1.51 0.19,0.21 0.4,0.39 0.63,0.55 0.05,0.04 0.11,0.07 0.17,0.1 -0.34,0.15 -0.67,0.29 -1.01,0.44 -0.25,-0.17 -0.54,-0.3 -0.78,-0.49 -0.32,-0.25 -0.6,-0.54 -0.83,-0.87 -0.46,-0.65 -0.71,-1.43 -0.71,-2.23 0,-0.2 -0.31,-0.2 -0.31,0 -0.01,0.86 0.26,1.72 0.74,2.43 0.24,0.35 0.52,0.66 0.85,0.93 0.18,0.14 0.39,0.3 0.62,0.42 -0.39,0.17 -0.77,0.34 -1.16,0.51 -0.12,-0.11 -0.25,-0.21 -0.36,-0.32 -0.35,-0.37 -0.63,-0.81 -0.83,-1.28 -0.06,-0.16 -0.32,-0.09 -0.26,0.07 0.19,0.52 0.47,0.99 0.83,1.41 0.08,0.1 0.19,0.18 0.28,0.27 -0.22,0.09 -0.43,0.19 -0.65,0.28 -0.16,-0.13 -0.33,-0.26 -0.47,-0.41 -0.39,-0.42 -0.7,-0.91 -0.89,-1.45 -0.06,-0.17 -0.33,-0.1 -0.27,0.07 0.19,0.59 0.51,1.13 0.92,1.59 0.11,0.13 0.25,0.23 0.38,0.34 -0.53,0.23 -1.07,0.47 -1.6,0.7 -0.13,-0.11 -0.27,-0.22 -0.39,-0.35 -0.4,-0.42 -0.74,-0.89 -1.01,-1.4 -0.56,-1.01 -0.86,-2.16 -0.87,-3.32 0,-0.16 -0.24,-0.16 -0.25,0 -0.03,1.2 0.26,2.38 0.82,3.44 0.28,0.52 0.62,1 1.02,1.44 0.1,0.11 0.21,0.23 0.32,0.34 -0.5,0.22 -1,0.44 -1.5,0.66 -0.02,-0.04 -0.05,-0.09 -0.07,-0.13 -0.15,-0.26 -0.3,-0.51 -0.46,-0.77 -0.32,-0.53 -0.64,-1.06 -0.97,-1.59 -0.09,-0.15 -0.31,-0.01 -0.23,0.14 0.3,0.54 0.59,1.09 0.9,1.63 0.15,0.26 0.29,0.52 0.44,0.78 0.02,0.03 0.04,0.06 0.05,0.09 -0.4,0.18 -0.8,0.35 -1.19,0.52 -0.19,-0.19 -0.38,-0.38 -0.55,-0.59 -0.32,-0.39 -0.59,-0.81 -0.82,-1.26 -0.46,-0.88 -0.75,-1.84 -0.84,-2.83 -0.02,-0.19 -0.31,-0.2 -0.3,0 0.07,1.02 0.33,2.02 0.79,2.93 0.23,0.46 0.51,0.9 0.83,1.31 0.15,0.2 0.32,0.41 0.51,0.61 -0.53,0.24 -1.07,0.47 -1.6,0.7 -0.01,-0.01 -0.02,-0.02 -0.03,-0.02 -0.23,-0.24 -0.43,-0.49 -0.61,-0.77 -0.36,-0.56 -0.59,-1.18 -0.67,-1.84 -0.03,-0.21 -0.35,-0.21 -0.33,0 0.08,0.7 0.31,1.39 0.67,2 0.17,0.29 0.38,0.55 0.6,0.79 -0.05,0.02 -0.11,0.05 -0.16,0.07 -0.39,0.17 -0.78,0.35 -1.18,0.52 -0.12,-0.1 -0.23,-0.2 -0.34,-0.31 -0.31,-0.33 -0.58,-0.7 -0.81,-1.1 -0.46,-0.79 -0.73,-1.69 -0.79,-2.6 -0.01,-0.13 -0.22,-0.14 -0.21,0 0.05,0.95 0.32,1.86 0.76,2.69 0.22,0.41 0.48,0.8 0.79,1.15 0.09,0.1 0.19,0.2 0.29,0.3 -0.45,0.2 -0.9,0.4 -1.36,0.6 0,0 -0.01,-0.01 -0.01,-0.01 -0.16,-0.2 -0.32,-0.41 -0.46,-0.62 -0.28,-0.42 -0.52,-0.86 -0.73,-1.32 -0.06,-0.14 -0.26,-0.02 -0.2,0.12 0.2,0.47 0.45,0.92 0.73,1.34 0.14,0.2 0.28,0.4 0.43,0.59 -0.28,0.12 -0.56,0.25 -0.85,0.37 -1.49,-1.04 -2.51,-2.73 -2.69,-4.55 -0.01,-0.15 -0.25,-0.16 -0.24,0 0.15,1.87 1.14,3.57 2.63,4.68 -0.44,0.19 -0.88,0.39 -1.31,0.58 -0.07,-0.14 -0.16,-0.28 -0.23,-0.38 -0.12,-0.19 -0.24,-0.38 -0.37,-0.57 -0.25,-0.38 -0.5,-0.77 -0.75,-1.15 -0.12,-0.18 -0.4,-0.01 -0.29,0.17 0.25,0.39 0.5,0.79 0.75,1.18 0.13,0.2 0.25,0.39 0.38,0.59 0.06,0.09 0.12,0.2 0.19,0.3 -0.33,0.15 -0.67,0.29 -1,0.44 -0.31,-0.42 -0.65,-0.8 -0.94,-1.23 -0.29,-0.43 -0.56,-0.88 -0.8,-1.34 -0.49,-0.96 -0.87,-1.97 -1.12,-3.02 -0.05,-0.2 -0.36,-0.12 -0.31,0.08 0.23,1.07 0.59,2.11 1.08,3.08 0.24,0.48 0.52,0.94 0.82,1.39 0.28,0.41 0.58,0.83 0.93,1.19 -0.26,0.11 -0.52,0.23 -0.77,0.35 -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 -0.82,-0.57 -1.47,-1.33 -1.81,-2.28 -0.07,-0.19 -0.36,-0.11 -0.3,0.08 0.33,0.96 0.97,1.85 1.83,2.41 -0.3,0.14 -0.6,0.28 -0.9,0.42 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.7,-0.46 -1.24,-1.15 -1.51,-1.94 -0.06,-0.16 -0.32,-0.1 -0.26,0.07 0.27,0.82 0.8,1.53 1.5,2.04 -0.37,0.17 -0.73,0.34 -1.09,0.5 0.01,-0.05 0.03,-0.1 -0.01,-0.13 -0.03,-0.04 -0.08,-0.07 -0.12,-0.1 l -0.13,-0.1 c -0.08,-0.06 -0.16,-0.12 -0.24,-0.18 -0.16,-0.13 -0.31,-0.27 -0.47,-0.4 -0.07,-0.06 -0.17,0.04 -0.11,0.11 0.15,0.15 0.3,0.29 0.44,0.45 0.07,0.08 0.14,0.15 0.21,0.23 0.07,0.08 0.14,0.16 0.22,0.23 -0.36,0.16 -0.71,0.33 -1.06,0.49 -0.31,-0.36 -0.62,-0.71 -0.89,-1.11 -0.33,-0.5 -0.62,-1.04 -0.84,-1.6 -0.07,-0.17 -0.35,-0.1 -0.28,0.08 0.23,0.58 0.52,1.14 0.87,1.67 0.25,0.38 0.55,0.75 0.88,1.08 -0.31,0.15 -0.63,0.29 -0.94,0.43 0.01,-0.05 0.01,-0.1 -0.02,-0.14 -0.12,-0.15 -0.3,-0.28 -0.44,-0.42 -0.15,-0.15 -0.29,-0.3 -0.42,-0.47 -0.26,-0.32 -0.51,-0.65 -0.72,-1.01 -0.07,-0.12 -0.25,-0.01 -0.18,0.11 0.19,0.38 0.42,0.76 0.69,1.09 0.13,0.17 0.28,0.33 0.43,0.49 0.14,0.15 0.3,0.33 0.48,0.44 0,0 0,0 0.01,0 -0.39,0.18 -0.78,0.35 -1.17,0.54 -0.4,-0.34 -0.76,-0.73 -0.97,-1.23 -0.05,-0.12 -0.25,-0.03 -0.21,0.09 0.17,0.49 0.46,0.94 0.82,1.31 -0.13,0.06 -0.27,0.12 -0.4,0.19 -0.22,-0.32 -0.43,-0.64 -0.65,-0.95 0.02,-0.02 0.04,-0.03 0.05,-0.05 0.03,-0.04 0.06,-0.08 0.09,-0.12 -0.12,-0.07 -0.18,-0.13 -0.22,-0.21 z m 79.91,-49.78 c -7.16,3.09 -14.33,6.14 -21.5,9.2 -3.84,-7.22 -7.59,-14.5 -11.58,-21.63 2.82,-1.38 5.74,-2.54 8.74,-3.44 6.17,-1.86 12.62,-2.66 19.06,-2.46 6.44,0.21 12.84,1.43 18.9,3.6 3.38,1.21 6.65,2.75 9.77,4.56 -7.8,3.41 -15.59,6.81 -23.39,10.17 z m -34.56,-11.67 c 3.44,6.85 7.14,13.58 10.75,20.34 0.22,0.41 0.44,0.82 0.66,1.23 -1.08,0.46 -2.16,0.93 -3.25,1.39 -3.32,-6.28 -6.63,-12.57 -9.99,-18.82 0.29,-0.15 0.59,-0.3 0.88,-0.45 l 0.61,-0.31 c 0.04,0.07 0.08,0.15 0.13,0.21 0.07,0.09 0.2,-0.01 0.18,-0.11 -0.02,-0.08 -0.05,-0.15 -0.07,-0.23 0.28,-0.14 0.6,-0.27 0.83,-0.48 0.08,-0.07 -0.01,-0.18 -0.1,-0.16 -0.29,0.07 -0.57,0.24 -0.83,0.37 -0.04,-0.09 -0.07,-0.18 -0.11,-0.26 -0.1,-0.23 -0.21,-0.47 -0.32,-0.7 0.13,-0.08 0.26,-0.16 0.37,-0.26 0.1,-0.09 -0.01,-0.28 -0.14,-0.23 -0.13,0.05 -0.25,0.12 -0.37,0.19 -0.02,-0.05 -0.05,-0.1 -0.07,-0.15 0.05,-0.09 0.03,-0.22 -0.09,-0.2 0,0 0,0 -0.01,0 -0.11,-0.23 -0.22,-0.47 -0.33,-0.7 0.41,-0.22 0.84,-0.44 1.27,-0.67 z m -2.44,3.01 c 0.05,0.04 0.1,0.06 0.17,0.02 0.08,-0.05 0.16,-0.1 0.25,-0.15 0,0 0,0.01 0.01,0.01 0.1,0.19 0.2,0.41 0.36,0.55 0.14,0.13 0.33,0 0.3,-0.17 -0.03,-0.21 -0.18,-0.42 -0.28,-0.6 0,-0.01 -0.01,-0.01 -0.01,-0.02 0.13,-0.08 0.26,-0.16 0.39,-0.24 0.1,-0.06 0.21,-0.12 0.32,-0.19 0.14,0.31 0.29,0.62 0.45,0.91 -0.2,0.1 -0.4,0.21 -0.6,0.31 -0.29,0.15 -0.58,0.3 -0.87,0.45 -0.18,-0.29 -0.33,-0.59 -0.49,-0.88 z m 1.36,-1.09 c -0.11,0.07 -0.23,0.15 -0.34,0.21 -0.13,0.08 -0.25,0.15 -0.38,0.23 -0.04,-0.08 -0.09,-0.16 -0.13,-0.23 l -0.04,-0.07 c 0.07,-0.02 0.14,-0.04 0.2,-0.07 0.15,-0.05 0.29,-0.1 0.44,-0.16 0.06,-0.02 0.12,-0.05 0.18,-0.07 0.02,0.05 0.04,0.1 0.07,0.16 z m -1.23,0.43 c 0.04,0.08 0.09,0.16 0.13,0.24 -0.08,0.05 -0.17,0.1 -0.25,0.15 -0.06,0.04 -0.07,0.09 -0.07,0.15 -0.12,-0.22 -0.23,-0.43 -0.35,-0.65 0.04,0.04 0.09,0.08 0.17,0.05 0.1,-0.03 0.19,-0.06 0.29,-0.1 0.02,0.06 0.05,0.11 0.08,0.16 z m 0.74,-1.5 c 0.09,0.2 0.19,0.41 0.28,0.61 -0.19,0.05 -0.39,0.12 -0.58,0.18 -0.1,0.03 -0.19,0.06 -0.28,0.09 l -0.23,-0.41 c 0.27,-0.15 0.54,-0.31 0.81,-0.47 z m -1.18,0.69 c 0.06,0.11 0.12,0.22 0.18,0.33 -0.07,0.02 -0.14,0.05 -0.21,0.07 -0.1,0.03 -0.13,0.13 -0.12,0.21 -0.06,-0.1 -0.11,-0.21 -0.17,-0.32 -0.02,-0.03 -0.04,-0.05 -0.06,-0.08 0.13,-0.06 0.26,-0.13 0.38,-0.21 z m -1.48,0.92 c 3.63,7.05 7.33,14.07 11.04,21.08 -9.2,3.9 -18.41,7.76 -27.64,11.58 -2.83,1.17 -5.67,2.33 -8.51,3.48 1.09,-4.77 2.76,-9.41 4.99,-13.76 3.35,-6.56 7.89,-12.5 13.43,-17.37 2.1,-1.84 4.34,-3.5 6.69,-5.01 z m 93.68,-11.76 c -0.02,-0.01 -0.03,-0.03 -0.05,-0.04 -0.08,-0.06 -0.17,-0.13 -0.26,-0.19 -0.12,-0.08 -0.25,-0.17 -0.37,-0.25 0.1,-0.05 0.21,-0.09 0.31,-0.14 0.13,0.21 0.25,0.41 0.37,0.62 z m -40.01,36.25 c -0.12,-0.08 -0.24,-0.16 -0.36,-0.25 0.22,-0.26 0.44,-0.5 0.65,-0.77 0.05,0.03 0.1,0.07 0.15,0.11 0.09,0.06 0.18,0.1 0.27,0.16 -0.19,0.28 -0.38,0.55 -0.56,0.84 0,0 -0.01,0.01 -0.01,0.01 -0.05,-0.03 -0.09,-0.06 -0.14,-0.1 z m 4.06,-3.3 c -0.28,0.37 -0.56,0.73 -0.84,1.1 -0.09,-0.07 -0.18,-0.13 -0.28,-0.2 -0.11,-0.08 -0.24,-0.14 -0.36,-0.21 0.28,-0.34 0.58,-0.66 0.88,-0.98 0.2,0.11 0.4,0.2 0.6,0.29 z m -2.39,2.62 c -0.13,-0.06 -0.25,-0.14 -0.38,-0.21 0.05,-0.07 0.09,-0.14 0.13,-0.21 0.27,-0.39 0.57,-0.76 0.86,-1.13 0.11,0.07 0.23,0.13 0.34,0.2 0.1,0.07 0.2,0.14 0.3,0.22 -0.03,0.04 -0.07,0.09 -0.1,0.13 -0.29,0.38 -0.57,0.75 -0.86,1.13 -0.1,-0.04 -0.19,-0.09 -0.29,-0.13 z m -0.07,0.44 c -0.34,0.14 -0.68,0.29 -1.01,0.43 0.15,-0.25 0.31,-0.49 0.47,-0.73 0.13,0.08 0.26,0.16 0.39,0.23 0.05,0.02 0.1,0.05 0.15,0.07 z m -1.84,-1.62 c 0.27,-0.39 0.51,-0.8 0.76,-1.21 0.22,0.08 0.44,0.16 0.65,0.25 -0.31,0.43 -0.63,0.84 -0.96,1.26 -0.15,-0.09 -0.3,-0.19 -0.45,-0.3 z m 1.73,-0.8 c 0.09,0.04 0.18,0.07 0.26,0.12 0.07,0.04 0.13,0.08 0.19,0.12 -0.29,0.36 -0.58,0.71 -0.85,1.09 -0.06,0.08 -0.11,0.17 -0.17,0.25 -0.09,-0.05 -0.18,-0.09 -0.27,-0.15 -0.05,-0.03 -0.09,-0.06 -0.14,-0.09 0.35,-0.45 0.68,-0.89 0.98,-1.34 z m 0.76,-0.14 c -0.09,-0.05 -0.17,-0.1 -0.26,-0.15 -0.08,-0.04 -0.16,-0.07 -0.25,-0.11 0.19,-0.29 0.37,-0.58 0.55,-0.87 0.13,-0.06 0.27,-0.11 0.4,-0.17 0.14,0.11 0.3,0.21 0.45,0.31 -0.31,0.32 -0.61,0.65 -0.89,0.99 z m -0.82,-0.39 c -0.15,-0.06 -0.29,-0.14 -0.45,-0.19 0.26,-0.11 0.53,-0.22 0.79,-0.33 -0.11,0.17 -0.22,0.35 -0.34,0.52 z m -1.45,0.23 c -0.19,0.27 -0.38,0.54 -0.57,0.82 -0.13,-0.11 -0.27,-0.22 -0.4,-0.33 0.03,-0.04 0.06,-0.08 0.09,-0.11 0.29,-0.13 0.58,-0.26 0.88,-0.38 z m -1.19,0.77 c 0.13,0.12 0.27,0.24 0.41,0.35 -0.2,0.29 -0.4,0.59 -0.61,0.87 -0.16,-0.11 -0.33,-0.22 -0.49,-0.33 0.23,-0.29 0.46,-0.59 0.69,-0.89 z m -0.91,1.18 c 0.17,0.12 0.33,0.23 0.5,0.35 -0.04,0.06 -0.08,0.12 -0.12,0.18 -0.39,0.52 -0.8,1.01 -1.21,1.51 -0.2,-0.05 -0.4,-0.11 -0.6,-0.16 0.47,-0.63 0.95,-1.26 1.43,-1.88 z m 0.69,0.8 c 0.05,-0.07 0.1,-0.14 0.15,-0.21 0.09,0.06 0.18,0.13 0.27,0.19 0.02,0.01 0.04,0.02 0.05,0.04 -0.12,0.13 -0.23,0.27 -0.35,0.4 -0.31,0.33 -0.63,0.66 -0.93,1 -0.1,-0.02 -0.19,-0.05 -0.29,-0.07 0.39,-0.45 0.75,-0.9 1.1,-1.35 z m 0.65,-0.33 c -0.09,-0.06 -0.18,-0.12 -0.27,-0.19 0.2,-0.27 0.4,-0.55 0.6,-0.83 0.14,0.11 0.28,0.2 0.43,0.31 -0.21,0.26 -0.44,0.51 -0.67,0.77 -0.04,-0.02 -0.07,-0.04 -0.09,-0.06 z m 5.13,-3.15 c -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.25,-0.08 -0.48,-0.19 -0.71,-0.31 -0.03,-0.04 -0.08,-0.07 -0.13,-0.07 -0.12,-0.06 -0.22,-0.14 -0.34,-0.21 0.55,-0.23 1.11,-0.46 1.66,-0.7 0.04,0.02 0.07,0.04 0.11,0.06 0.09,0.05 0.17,0.1 0.26,0.15 -0.27,0.37 -0.54,0.73 -0.82,1.09 z m 1.13,-1.48 c -0.03,-0.02 -0.07,-0.03 -0.1,-0.05 0.07,-0.03 0.14,-0.06 0.21,-0.09 -0.04,0.05 -0.08,0.1 -0.11,0.14 z m -35.57,17.42 c -0.07,-0.12 -0.12,-0.24 -0.18,-0.37 0.26,-0.11 0.53,-0.22 0.8,-0.32 0.14,-0.05 0.29,-0.1 0.43,-0.15 0.01,0.02 0.03,0.05 0.04,0.07 0.05,0.15 0.13,0.28 0.2,0.42 -0.1,0.02 -0.21,0.04 -0.3,0.06 -0.14,0.03 -0.28,0.08 -0.41,0.12 -0.2,0.06 -0.39,0.12 -0.58,0.17 z m -2.81,-1.27 c 0.05,0.08 0.12,0.14 0.17,0.22 -0.13,0.06 -0.27,0.12 -0.4,0.18 -0.04,-0.08 -0.09,-0.16 -0.13,-0.24 0.12,-0.05 0.24,-0.11 0.36,-0.16 z m 1.3,1.12 c -0.2,-0.22 -0.36,-0.47 -0.54,-0.7 0.38,-0.16 0.76,-0.32 1.14,-0.48 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.04,0.26 0.1,0.51 0.18,0.76 -0.27,0.14 -0.55,0.28 -0.82,0.44 z m -0.85,0.57 c -0.17,-0.31 -0.33,-0.62 -0.5,-0.93 0.15,-0.07 0.31,-0.13 0.46,-0.2 0.19,0.26 0.36,0.52 0.57,0.76 -0.17,0.13 -0.35,0.24 -0.53,0.37 z m 2.02,-1.17 c -0.08,-0.24 -0.15,-0.49 -0.18,-0.74 0.25,-0.11 0.5,-0.21 0.74,-0.32 0.08,-0.03 0.16,-0.07 0.24,-0.11 0.13,0.23 0.25,0.47 0.38,0.7 -0.13,0.04 -0.26,0.09 -0.37,0.13 -0.27,0.1 -0.54,0.21 -0.81,0.34 z m 0.48,-1.78 c 0.04,0.07 0.08,0.14 0.12,0.21 -0.07,0.03 -0.14,0.06 -0.21,0.08 -0.19,0.08 -0.39,0.17 -0.58,0.25 0,-0.09 -0.01,-0.17 0,-0.26 0.22,-0.09 0.45,-0.18 0.67,-0.28 z m -1.03,0.44 c 0,0.09 0,0.18 0,0.26 -0.07,0.03 -0.14,0.06 -0.21,0.09 -0.41,0.18 -0.81,0.36 -1.22,0.54 -0.05,-0.08 -0.12,-0.14 -0.17,-0.22 0.55,-0.22 1.08,-0.44 1.6,-0.67 z m -0.68,2.44 c 0.03,0.03 0.05,0.05 0.08,0.08 l -0.37,0.11 c 0.1,-0.07 0.19,-0.13 0.29,-0.19 z m 0.34,-0.2 c 0.23,-0.13 0.47,-0.25 0.71,-0.36 0.05,0.11 0.1,0.22 0.15,0.32 l -0.7,0.2 c -0.05,-0.05 -0.11,-0.11 -0.16,-0.16 z m -22.25,10.01 c 0.14,0 0.17,-0.14 0.13,-0.23 0.23,0.02 0.45,0.04 0.68,0.06 0.55,-0.22 1.11,-0.4 1.66,-0.6 -1.45,0.59 -2.91,1.17 -4.37,1.76 0.01,-0.07 0.02,-0.13 0.03,-0.2 0.03,-0.15 0.07,-0.3 0.11,-0.44 0.01,0 0.03,0 0.04,0 0.36,0.01 0.83,0.1 1.17,-0.02 0.12,-0.04 0.19,-0.25 0.04,-0.32 -0.32,-0.14 -0.72,-0.11 -1.07,-0.11 0.04,-0.09 0.08,-0.18 0.12,-0.27 0.44,0.04 0.89,0.08 1.33,0.12 -0.05,0.09 -0.02,0.25 0.13,0.25 z m 5.44,4.44 c 0.13,0.56 0.21,1.18 0.5,1.68 0.05,0.08 0.15,0.02 0.14,-0.06 -0.09,-0.55 -0.33,-1.07 -0.43,-1.62 -0.1,-0.57 -0.14,-1.16 -0.15,-1.74 -0.03,-1.02 0.07,-2.02 0.25,-3.01 0.29,-0.12 0.58,-0.23 0.87,-0.35 -0.02,0.22 -0.04,0.44 -0.03,0.66 0,0.24 0.02,0.47 0.06,0.7 0.03,0.22 0.06,0.47 0.17,0.67 0.09,0.15 0.3,0.07 0.31,-0.08 0.02,-0.21 -0.05,-0.43 -0.07,-0.64 -0.02,-0.21 -0.04,-0.43 -0.04,-0.64 -0.01,-0.28 0.03,-0.57 0.06,-0.85 0.64,-0.26 1.28,-0.51 1.92,-0.77 -0.08,0.35 -0.17,0.69 -0.2,1.05 -0.03,0.29 -0.04,0.58 -0.03,0.87 0.01,0.29 0.07,0.59 0.12,0.87 0.02,0.11 0.2,0.09 0.2,-0.03 -0.01,-0.28 0.02,-0.56 0.02,-0.84 0,-0.28 0.01,-0.56 0.04,-0.84 0.03,-0.41 0.11,-0.82 0.2,-1.22 0.56,-0.22 1.12,-0.45 1.67,-0.67 -0.06,0.4 -0.1,0.81 -0.08,1.22 0.01,0.26 0.04,0.53 0.08,0.79 0.02,0.13 0.05,0.26 0.09,0.39 0.04,0.13 0.06,0.26 0.15,0.36 0.06,0.07 0.2,0.03 0.22,-0.06 0.02,-0.12 -0.01,-0.22 -0.03,-0.34 -0.02,-0.12 -0.03,-0.25 -0.05,-0.37 -0.04,-0.25 -0.07,-0.51 -0.09,-0.77 -0.03,-0.45 -0.01,-0.91 0.05,-1.36 0.56,-0.23 1.12,-0.45 1.68,-0.67 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.19,1.09 -0.24,2.3 0.15,3.36 0.03,0.09 0.18,0.08 0.17,-0.02 -0.04,-0.54 -0.11,-1.07 -0.12,-1.61 -0.02,-0.55 0.02,-1.1 0.11,-1.64 0.02,-0.1 -0.05,-0.16 -0.12,-0.19 0.52,-0.21 1.05,-0.42 1.57,-0.63 0.03,0.18 0.06,0.35 0.08,0.53 0.03,0.19 0.06,0.38 0.1,0.57 -0.07,0.02 -0.15,0.03 -0.22,0.05 -0.13,0.04 -0.23,0.11 -0.31,0.19 -0.19,0.03 -0.35,0.16 -0.42,0.42 -0.28,1.09 -0.34,2.26 -0.4,3.38 -0.02,0.04 -0.03,0.05 0,0.09 -0.07,1.18 -0.1,2.36 -0.14,3.54 -0.06,2.29 -0.06,4.57 -0.01,6.86 0.05,2.28 0.09,4.57 0.22,6.85 0.02,0.29 0.04,0.58 0.06,0.87 -0.41,-1.1 -0.78,-2.22 -1.06,-3.36 -0.05,-0.19 -0.33,-0.11 -0.29,0.08 0.35,1.55 0.86,3.05 1.44,4.52 0.04,0.47 0.06,0.95 0.1,1.42 0.05,0.58 0.09,1.18 0.14,1.77 -0.73,-1.23 -1.37,-2.51 -1.89,-3.84 -0.06,-0.14 -0.29,-0.09 -0.24,0.06 0.55,1.5 1.2,2.95 1.96,4.35 0.1,0.18 0.21,0.34 0.31,0.52 0.03,0.23 0.05,0.46 0.09,0.69 0.09,0.42 0.4,0.64 0.75,0.69 0.03,0.05 0.06,0.1 0.09,0.15 0.23,0.34 0.47,0.67 0.71,1 0.08,0.1 0.16,0.23 0.25,0.35 -0.43,0.18 -0.85,0.36 -1.28,0.54 -0.03,-0.03 -0.06,-0.07 -0.1,-0.1 -0.31,-0.34 -0.61,-0.69 -0.9,-1.05 -0.62,-0.77 -1.17,-1.6 -1.67,-2.45 -0.97,-1.68 -1.72,-3.51 -2.16,-5.4 -0.05,-0.23 -0.4,-0.13 -0.35,0.1 0.45,1.96 1.15,3.83 2.15,5.58 0.49,0.85 1.03,1.66 1.64,2.43 0.29,0.38 0.6,0.74 0.92,1.09 -0.38,0.16 -0.76,0.32 -1.13,0.48 -0.31,-0.35 -0.61,-0.71 -0.91,-1.07 -0.62,-0.76 -1.2,-1.56 -1.74,-2.38 -1.06,-1.62 -1.98,-3.34 -2.7,-5.13 -0.07,-0.18 -0.37,-0.1 -0.3,0.08 0.8,2.02 1.78,3.95 2.96,5.77 0.59,0.91 1.23,1.77 1.91,2.61 0.09,0.11 0.18,0.22 0.27,0.34 -0.19,0.08 -0.37,0.16 -0.56,0.24 -0.11,-0.16 -0.26,-0.31 -0.38,-0.46 -0.17,-0.2 -0.34,-0.39 -0.5,-0.6 -0.32,-0.39 -0.63,-0.79 -0.93,-1.2 -0.59,-0.81 -1.15,-1.64 -1.66,-2.5 -0.09,-0.15 -0.32,-0.01 -0.23,0.14 0.53,0.89 1.1,1.76 1.71,2.6 0.29,0.4 0.6,0.79 0.91,1.18 0.26,0.32 0.52,0.68 0.83,0.96 -0.43,0.18 -0.85,0.36 -1.28,0.54 -0.44,-0.47 -0.9,-0.92 -1.33,-1.4 -0.52,-0.6 -1.02,-1.22 -1.48,-1.87 -0.91,-1.28 -1.69,-2.64 -2.34,-4.06 -0.08,-0.18 -0.36,-0.02 -0.27,0.16 0.66,1.46 1.46,2.85 2.39,4.15 0.45,0.63 0.92,1.23 1.43,1.81 0.4,0.46 0.82,0.92 1.27,1.34 -0.48,0.2 -0.96,0.41 -1.44,0.61 -0.15,-0.11 -0.29,-0.22 -0.43,-0.33 -0.32,-0.27 -0.62,-0.55 -0.89,-0.86 -0.56,-0.63 -1.02,-1.34 -1.38,-2.11 -0.06,-0.12 -0.24,-0.01 -0.19,0.11 0.36,0.77 0.83,1.48 1.39,2.12 0.28,0.32 0.58,0.63 0.89,0.91 0.11,0.1 0.22,0.18 0.33,0.27 -0.43,0.18 -0.85,0.36 -1.28,0.54 -0.22,-0.2 -0.45,-0.4 -0.66,-0.6 -0.37,-0.34 -0.72,-0.7 -1.06,-1.07 -0.67,-0.73 -1.28,-1.51 -1.82,-2.34 -1.08,-1.67 -1.89,-3.52 -2.41,-5.44 -0.05,-0.18 -0.32,-0.1 -0.28,0.07 0.49,1.96 1.3,3.84 2.4,5.54 0.53,0.83 1.12,1.62 1.76,2.37 0.34,0.39 0.7,0.77 1.07,1.13 0.17,0.17 0.35,0.36 0.54,0.52 -0.47,0.2 -0.95,0.4 -1.42,0.61 -0.18,-0.17 -0.37,-0.33 -0.54,-0.49 -0.3,-0.29 -0.59,-0.59 -0.87,-0.9 -0.58,-0.65 -1.11,-1.34 -1.59,-2.07 -0.94,-1.43 -1.66,-2.99 -2.15,-4.63 -0.04,-0.14 -0.27,-0.08 -0.23,0.06 0.47,1.67 1.19,3.26 2.12,4.72 0.46,0.71 0.96,1.4 1.51,2.04 0.28,0.33 0.58,0.65 0.88,0.96 0.14,0.15 0.3,0.32 0.47,0.48 -0.38,0.16 -0.77,0.33 -1.15,0.49 -0.26,-0.13 -0.51,-0.27 -0.74,-0.48 -0.32,-0.29 -0.61,-0.62 -0.89,-0.95 -0.64,-0.74 -1.25,-1.5 -1.82,-2.3 -1.12,-1.56 -2.12,-3.19 -2.95,-4.92 -0.07,-0.15 -0.29,-0.02 -0.22,0.13 0.85,1.84 1.84,3.62 3.02,5.26 0.57,0.79 1.18,1.56 1.82,2.29 0.34,0.39 0.76,0.87 1.24,1.19 -0.38,0.16 -0.75,0.32 -1.13,0.48 -0.58,-0.52 -1.16,-1.03 -1.71,-1.59 -0.67,-0.69 -1.3,-1.44 -1.87,-2.21 -1.14,-1.55 -2.17,-3.25 -2.9,-5.04 -0.03,-0.08 -0.16,-0.05 -0.13,0.04 0.7,1.86 1.56,3.63 2.73,5.24 0.98,1.35 2.12,2.69 3.42,3.77 -0.41,0.17 -0.82,0.35 -1.23,0.52 -0.2,-0.2 -0.41,-0.39 -0.6,-0.57 -0.33,-0.32 -0.64,-0.66 -0.95,-1 -0.64,-0.71 -1.24,-1.45 -1.8,-2.22 -1.09,-1.52 -2.02,-3.18 -2.73,-4.92 -0.06,-0.14 -0.29,-0.08 -0.23,0.06 0.7,1.78 1.57,3.46 2.64,5.04 0.53,0.78 1.09,1.52 1.71,2.23 0.31,0.36 0.64,0.71 0.97,1.05 0.16,0.16 0.32,0.35 0.5,0.53 -0.3,0.13 -0.6,0.26 -0.9,0.38 -0.21,-0.22 -0.42,-0.43 -0.63,-0.65 -0.32,-0.34 -0.63,-0.68 -0.93,-1.03 -0.63,-0.73 -1.2,-1.51 -1.72,-2.32 -0.5,-0.78 -0.95,-1.59 -1.36,-2.42 -0.42,-0.87 -0.85,-1.75 -1.17,-2.67 -0.02,-0.06 -0.11,-0.03 -0.09,0.02 0.28,0.9 0.55,1.79 0.94,2.65 0.4,0.89 0.87,1.76 1.39,2.59 0.5,0.8 1.04,1.58 1.63,2.31 0.3,0.38 0.61,0.74 0.94,1.1 0.18,0.2 0.37,0.41 0.57,0.6 -0.17,0.07 -0.35,0.15 -0.52,0.22 -1.88,-2.26 -3.59,-4.67 -5.11,-7.2 0.14,-2.17 -0.28,-4.37 -1.16,-6.35 -0.89,-2.01 -2.31,-3.69 -4.07,-4.92 -0.34,-1.01 -0.67,-2.03 -0.95,-3.06 -0.3,-1.07 -0.55,-2.16 -0.7,-3.25 -0.15,-1.08 -0.05,-2.1 0.06,-3.16 0.21,-0.08 0.42,-0.17 0.63,-0.25 -0.02,0.15 -0.03,0.29 -0.04,0.42 -0.04,0.38 -0.05,0.76 -0.03,1.13 0.02,0.36 0.06,0.72 0.13,1.08 0.06,0.34 0.12,0.75 0.3,1.05 0.07,0.11 0.23,0.06 0.24,-0.07 0.02,-0.35 -0.08,-0.73 -0.11,-1.08 -0.03,-0.34 -0.05,-0.68 -0.05,-1.02 -0.01,-0.34 0,-0.68 0.02,-1.02 0.01,-0.17 0.03,-0.34 0.04,-0.51 0.01,-0.07 0.01,-0.13 0.01,-0.19 1.4,-0.56 2.8,-1.13 4.2,-1.69 -0.13,0.49 -0.17,1.04 -0.19,1.53 -0.04,0.65 -0.05,1.31 0.02,1.96 0.06,0.61 0.23,1.2 0.35,1.8 0.12,0.59 0.14,1.29 0.46,1.81 0.04,0.07 0.17,0.04 0.16,-0.04 -0.03,-0.58 -0.31,-1.14 -0.43,-1.71 -0.13,-0.63 -0.1,-1.28 -0.13,-1.92 -0.03,-0.6 -0.04,-1.2 -0.01,-1.79 0.01,-0.31 0.04,-0.61 0.07,-0.92 0.03,-0.28 0.08,-0.58 0.08,-0.87 0.56,-0.22 1.12,-0.45 1.69,-0.68 -0.19,0.46 -0.32,0.94 -0.36,1.45 -0.04,0.62 0.06,1.28 0.38,1.82 0.06,0.1 0.25,0.07 0.23,-0.06 -0.03,-0.29 -0.07,-0.58 -0.1,-0.87 -0.03,-0.28 -0.04,-0.58 -0.03,-0.86 0.01,-0.56 0.11,-1.12 0.29,-1.65 0.75,-0.3 1.51,-0.6 2.26,-0.91 -0.08,0.4 -0.15,0.79 -0.16,1.2 -0.01,0.24 0.01,0.48 0.04,0.72 0.01,0.11 0.03,0.23 0.04,0.34 0.02,0.13 0.07,0.25 0.11,0.37 0.05,0.15 0.27,0.13 0.27,-0.04 0,-0.11 0.01,-0.22 0.01,-0.33 0,-0.11 -0.01,-0.22 -0.02,-0.34 -0.01,-0.23 0,-0.46 0.01,-0.7 0.01,-0.45 0.05,-0.91 0.14,-1.36 0,-0.01 -0.01,-0.02 -0.01,-0.04 0.62,-0.25 1.23,-0.5 1.85,-0.74 -0.04,0.03 -0.06,0.07 -0.07,0.13 l -0.13,1.43 c -0.02,0.23 -0.05,0.46 -0.06,0.69 -0.01,0.12 0,0.25 0,0.37 0,0.12 -0.01,0.24 0.03,0.36 0.04,0.13 0.23,0.17 0.3,0.04 0.1,-0.21 0.11,-0.49 0.14,-0.72 0.03,-0.24 0.04,-0.48 0.05,-0.72 0.03,-0.49 0.05,-0.97 0.08,-1.46 0.01,-0.13 -0.09,-0.2 -0.19,-0.2 0.64,-0.26 1.28,-0.51 1.92,-0.77 -0.03,0.25 -0.05,0.5 -0.08,0.75 -0.03,0.25 -0.04,0.5 -0.06,0.74 -0.01,0.13 0,0.26 0,0.39 0,0.13 -0.01,0.25 0.02,0.37 0.03,0.12 0.22,0.16 0.27,0.04 0.05,-0.12 0.07,-0.23 0.09,-0.35 0.02,-0.13 0.05,-0.25 0.07,-0.38 0.03,-0.26 0.05,-0.51 0.07,-0.77 0.02,-0.32 0.05,-0.64 0.07,-0.96 0.71,-0.28 1.41,-0.57 2.12,-0.85 -0.04,0.42 -0.07,0.84 -0.11,1.26 -0.02,0.26 -0.03,0.53 -0.05,0.79 -0.01,0.27 -0.03,0.56 0.02,0.83 0.03,0.14 0.22,0.11 0.25,0 0.09,-0.26 0.11,-0.56 0.13,-0.83 0.02,-0.26 0.05,-0.53 0.07,-0.79 0.03,-0.47 0.05,-0.95 0.08,-1.42 0.56,-0.23 1.13,-0.45 1.69,-0.68 -0.2,0.96 -0.31,1.95 -0.23,2.91 0.13,0.63 0.23,1.19 0.36,1.75 z m 9.6,26.49 c -0.12,-0.05 -0.24,-0.1 -0.36,-0.16 -0.11,-0.05 -0.23,-0.03 -0.29,0.08 -0.05,0.09 -0.03,0.25 0.08,0.29 0.11,0.05 0.21,0.09 0.32,0.14 -0.14,0.19 -0.28,0.38 -0.43,0.58 -0.03,0 -0.05,-0.01 -0.08,0 -0.02,0 -0.04,0.01 -0.05,0.01 0,0 -0.01,0 -0.02,0 -0.07,0.01 -0.13,0.01 -0.2,0 -0.02,0 -0.04,0 -0.05,0 -0.03,0 0,0 -0.02,0 -0.03,0 -0.07,-0.01 -0.1,-0.02 -0.03,-0.01 -0.06,-0.02 -0.1,-0.03 -0.01,0 -0.03,-0.01 -0.04,-0.02 0,0 -0.02,-0.01 -0.03,-0.01 -0.12,-0.06 -0.22,-0.12 -0.31,-0.21 -0.04,-0.04 -0.06,-0.07 -0.09,-0.11 0.17,-0.23 0.35,-0.46 0.52,-0.69 0.65,-0.28 1.31,-0.55 1.96,-0.83 -0.24,0.33 -0.47,0.66 -0.71,0.98 z m -5.56,7.45 c -0.1,-0.02 -0.2,-0.03 -0.29,-0.05 -0.16,-0.03 -0.32,-0.07 -0.47,-0.11 -0.28,-0.08 -0.55,-0.19 -0.81,-0.32 0.34,-0.36 0.66,-0.74 0.99,-1.11 0.13,0.06 0.24,0.13 0.37,0.18 0.33,0.13 0.69,0.28 1.04,0.31 -0.27,0.36 -0.55,0.73 -0.83,1.1 z m -3.68,1.03 c -0.15,-0.09 -0.29,-0.17 -0.44,-0.26 0.28,-0.35 0.56,-0.69 0.84,-1.03 0.1,0.06 0.19,0.13 0.29,0.19 0.11,0.07 0.22,0.15 0.33,0.22 -0.29,0.32 -0.58,0.64 -0.87,0.96 -0.06,-0.02 -0.11,-0.05 -0.15,-0.08 z m 6.07,-7.8 c -0.42,0.38 -0.82,0.77 -1.23,1.16 -0.2,-0.13 -0.39,-0.26 -0.59,-0.39 0.6,-0.26 1.21,-0.52 1.82,-0.77 z m 1.42,-0.61 c -0.06,0.08 -0.12,0.15 -0.18,0.22 -0.04,-0.03 -0.09,-0.06 -0.14,-0.04 -0.08,0.02 -0.15,0.12 -0.11,0.2 0.01,0.03 0.04,0.06 0.05,0.09 -0.23,0.28 -0.46,0.56 -0.69,0.84 -0.02,-0.02 -0.04,-0.04 -0.06,-0.06 -0.11,-0.18 -0.39,-0.02 -0.29,0.17 0.03,0.06 0.09,0.1 0.14,0.15 -0.2,0.24 -0.39,0.48 -0.59,0.71 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.15,-0.1 -0.3,-0.19 -0.44,-0.29 0.44,-0.43 0.89,-0.87 1.34,-1.29 0.09,-0.08 0.05,-0.18 -0.02,-0.24 0.34,-0.15 0.68,-0.29 1.02,-0.44 z m -3.46,4.21 c -0.01,-0.01 -0.02,-0.01 -0.04,-0.02 -0.22,-0.12 -0.41,-0.28 -0.6,-0.44 0.28,-0.29 0.55,-0.59 0.83,-0.88 0.12,0.09 0.24,0.19 0.36,0.28 0.06,0.05 0.13,0.1 0.19,0.15 -0.25,0.29 -0.48,0.6 -0.73,0.88 0,0.01 0,0.02 -0.01,0.03 z m -3.69,2.46 c -0.16,-0.11 -0.33,-0.22 -0.49,-0.32 0.15,-0.16 0.29,-0.33 0.43,-0.49 0.12,0.14 0.27,0.27 0.41,0.4 -0.11,0.13 -0.23,0.26 -0.33,0.4 -0.01,0 -0.01,0 -0.02,0.01 z m -1.08,-0.71 c 0.49,-0.62 0.97,-1.25 1.46,-1.88 0.1,0.11 0.22,0.2 0.32,0.3 -0.47,0.61 -0.94,1.22 -1.37,1.85 -0.13,-0.09 -0.27,-0.18 -0.41,-0.27 z m 1.23,-0.32 c 0,0 -0.01,0 -0.01,-0.01 0.28,-0.33 0.57,-0.66 0.84,-1 0.14,0.12 0.29,0.24 0.44,0.35 -0.3,0.34 -0.59,0.69 -0.87,1.04 -0.14,-0.12 -0.28,-0.24 -0.4,-0.38 z m 1.01,-1.23 c 0.2,-0.24 0.4,-0.49 0.6,-0.73 0.11,-0.14 0.23,-0.28 0.34,-0.42 0.14,0.17 0.27,0.35 0.43,0.5 -0.22,0.24 -0.45,0.46 -0.67,0.7 -0.09,0.1 -0.16,0.2 -0.25,0.29 -0.15,-0.1 -0.3,-0.22 -0.45,-0.34 z m 2.41,-2.89 c 0.23,0.16 0.46,0.31 0.69,0.47 -0.15,0.14 -0.3,0.27 -0.44,0.42 -0.22,-0.17 -0.43,-0.33 -0.65,-0.5 0.08,-0.1 0.16,-0.21 0.24,-0.31 0.05,-0.03 0.11,-0.06 0.16,-0.08 z m -0.6,0.65 c 0.21,0.16 0.41,0.32 0.62,0.48 -0.28,0.28 -0.55,0.58 -0.82,0.86 -0.17,-0.16 -0.32,-0.33 -0.46,-0.52 0.22,-0.27 0.44,-0.54 0.66,-0.82 z m -0.81,2.52 c 0.21,-0.23 0.44,-0.46 0.65,-0.69 0.2,0.17 0.4,0.34 0.63,0.47 -0.27,0.3 -0.54,0.6 -0.81,0.9 -0.12,-0.06 -0.24,-0.1 -0.35,-0.17 -0.13,-0.07 -0.24,-0.16 -0.36,-0.24 0.08,-0.08 0.16,-0.18 0.24,-0.27 z m 2.29,-1.8 c -0.11,-0.09 -0.22,-0.17 -0.33,-0.26 0.15,-0.15 0.3,-0.29 0.45,-0.43 0.16,0.11 0.33,0.22 0.49,0.33 0,0 0,0 0.01,0 -0.14,0.17 -0.28,0.34 -0.42,0.51 -0.07,-0.05 -0.13,-0.1 -0.2,-0.15 z m -1.86,-0.95 c -0.4,0.51 -0.8,1.03 -1.2,1.53 -0.18,0.22 -0.33,0.46 -0.51,0.68 -0.11,-0.1 -0.22,-0.19 -0.32,-0.29 0.41,-0.53 0.82,-1.06 1.23,-1.59 0.27,-0.11 0.53,-0.22 0.8,-0.33 z m -3.87,4.28 c 0.15,0.1 0.29,0.19 0.44,0.29 0,0.07 0.06,0.11 0.12,0.08 0.17,0.12 0.35,0.23 0.52,0.35 -0.28,0.35 -0.55,0.71 -0.82,1.07 -0.35,-0.2 -0.69,-0.41 -1.04,-0.61 -0.04,-0.02 -0.08,-0.02 -0.12,-0.01 0.3,-0.39 0.6,-0.78 0.9,-1.17 z m 1.83,0.81 c -0.09,-0.06 -0.18,-0.12 -0.27,-0.18 0.01,-0.02 0.03,-0.04 0.04,-0.05 0.09,-0.11 0.18,-0.21 0.27,-0.31 0.2,0.17 0.42,0.3 0.64,0.44 -0.11,0.11 -0.21,0.23 -0.31,0.34 -0.13,-0.08 -0.25,-0.16 -0.37,-0.24 z m 0.24,-0.77 c 0.31,-0.36 0.62,-0.71 0.94,-1.07 0.14,0.09 0.26,0.19 0.4,0.28 0.09,0.05 0.19,0.09 0.29,0.14 -0.33,0.36 -0.65,0.73 -0.98,1.09 -0.23,-0.13 -0.45,-0.27 -0.65,-0.44 z m 3.53,-0.18 c -0.01,-0.02 0,-0.04 -0.02,-0.05 -0.32,-0.15 -0.67,-0.21 -1,-0.34 -0.11,-0.04 -0.22,-0.11 -0.33,-0.15 0.27,-0.3 0.54,-0.6 0.81,-0.91 0.21,0.1 0.41,0.22 0.64,0.29 0.16,0.05 0.33,0.11 0.5,0.13 0.04,0.01 0.09,0.02 0.14,0.02 -0.24,0.34 -0.49,0.67 -0.74,1.01 z m 0.97,-1.31 c -0.09,-0.02 -0.18,-0.03 -0.25,-0.05 -0.16,-0.04 -0.32,-0.08 -0.48,-0.13 -0.19,-0.06 -0.36,-0.15 -0.54,-0.24 0.24,-0.27 0.46,-0.56 0.69,-0.84 0.07,0.05 0.13,0.1 0.2,0.15 0.11,0.08 0.21,0.17 0.32,0.25 0.11,0.09 0.22,0.19 0.37,0.2 0.08,0.01 0.16,-0.1 0.13,-0.17 -0.05,-0.13 -0.16,-0.2 -0.27,-0.29 -0.11,-0.08 -0.21,-0.16 -0.32,-0.25 -0.07,-0.05 -0.14,-0.11 -0.21,-0.16 0.14,-0.17 0.29,-0.35 0.43,-0.52 0.14,0.1 0.29,0.2 0.43,0.3 0.13,0.09 0.26,0.18 0.39,0.26 0.05,0.03 0.09,0.06 0.14,0.1 -0.34,0.47 -0.68,0.93 -1.03,1.39 z m 1.24,-1.65 c -0.04,-0.03 -0.07,-0.07 -0.12,-0.1 -0.13,-0.09 -0.26,-0.17 -0.39,-0.26 -0.15,-0.1 -0.29,-0.19 -0.44,-0.29 0.17,-0.22 0.36,-0.42 0.53,-0.64 0.16,0.12 0.35,0.22 0.54,0.27 0.19,0.05 0.39,0.07 0.58,0.04 0.01,0 0.02,-0.01 0.04,-0.01 -0.25,0.33 -0.5,0.66 -0.74,0.99 z m 1.05,-1.42 c -0.06,0.01 -0.11,0.03 -0.17,0.04 -0.08,0.02 -0.15,0.03 -0.24,0.04 -0.13,0.02 -0.29,0.01 -0.43,-0.02 -0.15,-0.04 -0.3,-0.1 -0.43,-0.19 0.21,-0.27 0.41,-0.55 0.62,-0.82 0.12,0.14 0.26,0.27 0.42,0.35 0.15,0.07 0.32,0.12 0.49,0.13 0.03,0 0.06,0 0.09,-0.01 -0.11,0.16 -0.23,0.32 -0.35,0.48 z m 2.62,-5.55 c -0.22,-0.3 -0.45,-0.6 -0.66,-0.9 0.15,-0.06 0.29,-0.14 0.4,-0.26 0.1,0.02 0.2,0.04 0.3,0.05 0.14,0.48 0.45,0.94 0.74,1.36 -0.14,0.06 -0.27,0.12 -0.41,0.18 -0.13,-0.14 -0.26,-0.29 -0.37,-0.43 z m -28.84,14.34 c -0.11,-0.06 -0.23,-0.11 -0.33,-0.17 -0.19,-0.11 -0.38,-0.22 -0.56,-0.35 -0.37,-0.26 -0.7,-0.57 -1,-0.91 -0.34,-0.39 -0.61,-0.84 -0.84,-1.3 0.43,-0.14 0.85,-0.3 1.27,-0.49 0.11,-0.05 0.21,-0.11 0.32,-0.16 0.28,0.53 0.59,1.03 0.98,1.48 0.29,0.32 0.61,0.62 0.95,0.88 0.17,0.13 0.35,0.26 0.53,0.37 0.03,0.02 0.07,0.04 0.11,0.06 -0.47,0.2 -0.95,0.4 -1.43,0.59 z m 2.07,-0.84 c -0.07,0.03 -0.14,0.05 -0.2,0.08 -0.1,-0.07 -0.19,-0.14 -0.29,-0.2 -0.18,-0.11 -0.35,-0.23 -0.51,-0.35 -0.33,-0.25 -0.63,-0.52 -0.91,-0.82 -0.4,-0.42 -0.72,-0.9 -1,-1.4 0.51,-0.26 1.01,-0.55 1.48,-0.88 0.3,0.62 0.66,1.21 1.14,1.71 0.29,0.3 0.6,0.57 0.94,0.81 0.17,0.12 0.35,0.23 0.53,0.34 0.05,0.03 0.12,0.07 0.19,0.12 -0.46,0.18 -0.91,0.39 -1.37,0.59 z m 1.76,-0.78 c -0.12,-0.08 -0.26,-0.15 -0.37,-0.21 -0.17,-0.09 -0.33,-0.19 -0.49,-0.3 -0.34,-0.23 -0.66,-0.5 -0.96,-0.78 -0.49,-0.48 -0.89,-1.03 -1.23,-1.63 0.44,-0.32 0.85,-0.68 1.24,-1.06 0.54,1.46 1.56,2.7 2.89,3.5 -0.35,0.16 -0.71,0.32 -1.08,0.48 z m 2.13,-0.93 c -0.07,-0.03 -0.14,-0.02 -0.18,0.05 0,0.01 -0.01,0.02 -0.01,0.03 -0.09,0.04 -0.19,0.08 -0.28,0.12 -1.43,-0.76 -2.6,-1.99 -3.18,-3.51 0.35,-0.36 0.68,-0.75 0.99,-1.15 0.41,0.7 0.87,1.38 1.36,2.03 0.48,0.63 0.99,1.31 1.61,1.82 0.16,0.13 0.34,-0.06 0.22,-0.22 -0.25,-0.31 -0.53,-0.59 -0.79,-0.89 -0.26,-0.3 -0.52,-0.6 -0.76,-0.91 -0.5,-0.63 -0.96,-1.29 -1.38,-1.97 -0.02,-0.04 -0.06,-0.06 -0.1,-0.07 0.19,-0.26 0.37,-0.53 0.54,-0.81 0.13,0.22 0.26,0.45 0.4,0.67 0.85,1.38 1.96,3.09 3.41,3.98 -0.5,0.23 -1,0.47 -1.5,0.69 -0.12,0.04 -0.23,0.09 -0.35,0.14 z m -1,-7.49 c 0.08,-0.23 0.15,-0.47 0.21,-0.7 0.16,0.26 0.31,0.52 0.48,0.78 1.15,1.77 2.4,3.48 3.7,5.14 -1.65,-0.41 -2.8,-2.45 -3.65,-3.73 -0.29,-0.43 -0.55,-0.88 -0.82,-1.32 0.03,-0.05 0.06,-0.11 0.08,-0.17 z m -7.07,-15.82 c -0.31,-1.11 -0.59,-2.23 -0.82,-3.35 -0.23,-1.15 -0.38,-2.31 -0.35,-3.48 0.02,-0.55 0.11,-1.05 0.24,-1.55 0.09,-0.03 0.17,-0.06 0.26,-0.09 0.16,-0.05 0.28,-0.14 0.38,-0.23 0.04,0.05 0.09,0.11 0.12,0.16 -0.71,1.86 -0.45,4.21 -0.03,6.1 0.2,0.89 0.44,1.78 0.71,2.65 -0.17,-0.07 -0.34,-0.14 -0.51,-0.21 z m -8.77,-7.42 c -1,0.4 -1.99,0.83 -2.98,1.26 -0.01,-0.13 -0.03,-0.26 -0.04,-0.4 4.06,-1.8 8.12,-3.61 12.18,-5.4 1.53,0.15 3.06,0.29 4.59,0.43 -1.58,0.64 -3.16,1.28 -4.74,1.91 -0.1,0.04 -0.19,0.08 -0.29,0.11 -0.03,-0.24 -0.13,-0.45 -0.3,-0.6 0,0 0,0 0,0 0.23,-0.6 -0.71,-1.15 -1.11,-0.64 -0.19,0.24 -0.35,0.5 -0.49,0.76 -2.28,0.82 -4.57,1.66 -6.82,2.57 z m -7.05,3.96 c 0.02,0.08 0.06,0.14 0.11,0.2 -0.06,0.02 -0.11,0.04 -0.17,0.07 0.02,-0.09 0.04,-0.18 0.06,-0.27 z m 0.03,-0.41 c -0.02,0.03 -0.02,0.07 -0.03,0.1 -0.08,-0.35 -0.59,-0.4 -0.82,-0.12 -0.15,0.17 -0.26,0.37 -0.37,0.57 -0.04,-0.3 -0.08,-0.61 -0.12,-0.91 0.9,-0.39 1.8,-0.78 2.7,-1.18 0.01,0.13 0.03,0.26 0.05,0.39 -0.57,0.3 -1.1,0.66 -1.41,1.15 z m 28.3,-11.88 c -0.26,-0.01 -0.53,-0.01 -0.79,-0.02 -0.19,0 -0.38,-0.01 -0.57,-0.01 0.05,-0.13 0.08,-0.27 0.14,-0.39 0.46,0.04 0.93,0.08 1.39,0.12 -0.05,0.11 -0.13,0.2 -0.17,0.3 z m -1.67,1.86 c 0,-0.01 0,-0.02 0,-0.03 0,-0.07 0,-0.15 0,-0.22 0,0 0,0 0,0 0.17,0.01 0.34,0.03 0.51,0.04 -0.17,0.07 -0.34,0.14 -0.51,0.21 z m -5.62,0.19 c 0.03,-0.13 0.05,-0.27 0.08,-0.4 0.26,-0.11 0.52,-0.23 0.78,-0.34 0.11,0.01 0.22,0.01 0.33,0.02 l -0.07,0.19 c -0.07,0.2 -0.14,0.4 -0.22,0.61 -0.07,0.2 -0.21,0.45 -0.1,0.66 0.02,0.04 0.05,0.06 0.08,0.08 -0.34,-0.03 -0.69,-0.06 -1.03,-0.1 0.01,-0.07 0.03,-0.13 0.04,-0.2 0.05,-0.17 0.08,-0.35 0.11,-0.52 z m 2.2,0.94 c -0.39,-0.04 -0.79,-0.07 -1.18,-0.11 0.03,-0.01 0.05,0 0.07,-0.02 0.05,-0.05 0.1,-0.07 0.13,-0.14 0.02,-0.05 0.04,-0.1 0.06,-0.15 0.04,-0.1 0.08,-0.21 0.11,-0.31 0.07,-0.2 0.13,-0.41 0.2,-0.61 0.03,-0.1 0.06,-0.19 0.1,-0.29 0.21,0.01 0.42,0.03 0.63,0.04 -0.03,0.14 -0.07,0.27 -0.09,0.41 -0.03,0.21 -0.06,0.43 -0.08,0.64 -0.01,0.19 -0.03,0.38 0.05,0.54 z m 0.5,0.05 c -0.05,0 -0.1,-0.01 -0.15,-0.01 0.1,-0.15 0.09,-0.35 0.11,-0.53 0.02,-0.21 0.04,-0.42 0.08,-0.63 0.02,-0.14 0.06,-0.29 0.09,-0.43 0.21,0.01 0.42,0.03 0.64,0.04 0.19,0.01 0.37,0.02 0.56,0.03 -0.01,0.1 -0.04,0.2 -0.05,0.3 -0.02,0.18 -0.02,0.37 -0.02,0.56 0,0.06 0,0.11 0,0.17 -0.43,0.16 -0.84,0.33 -1.26,0.5 z m 1.77,-3.29 c -0.03,0.06 -0.04,0.13 -0.06,0.19 -0.12,0 -0.24,-0.01 -0.36,-0.01 0.13,-0.06 0.28,-0.12 0.42,-0.18 z m -1.38,0.59 c 0.26,-0.11 0.51,-0.22 0.77,-0.33 -0.07,0.11 -0.02,0.3 0.15,0.3 0.09,0 0.18,0.01 0.27,0.01 -0.04,0.13 -0.1,0.26 -0.13,0.39 -0.03,0.11 -0.03,0.23 -0.05,0.34 -0.21,-0.01 -0.42,-0.02 -0.63,-0.04 -0.18,-0.01 -0.36,-0.02 -0.55,-0.03 0.02,-0.08 0.03,-0.17 0.05,-0.26 0.03,-0.12 0.08,-0.24 0.12,-0.38 z m 1.48,0.74 c 0.01,-0.08 0.02,-0.16 0.03,-0.24 0.04,-0.17 0.1,-0.33 0.16,-0.5 0.17,0.01 0.35,0.01 0.52,0.02 -0.06,0.25 -0.1,0.5 -0.12,0.75 -0.2,0 -0.39,-0.01 -0.59,-0.03 z m -0.12,0.84 c 0.01,-0.13 0.04,-0.25 0.05,-0.37 0.21,0.01 0.42,0.03 0.63,0.04 0,0.07 -0.01,0.15 0,0.22 0.01,0.08 0.02,0.16 0.04,0.24 -0.24,0.1 -0.49,0.2 -0.73,0.29 0,-0.14 0,-0.28 0.01,-0.42 z m 2.52,-0.71 c -0.43,-0.04 -0.87,-0.04 -1.29,-0.07 -0.01,0 -0.02,0 -0.03,0 0.02,-0.24 0.04,-0.48 0.1,-0.72 0,-0.01 0.01,-0.02 0.01,-0.04 0.23,0.01 0.45,0.02 0.68,0.03 0.24,0.01 0.48,0.02 0.71,0.03 -0.06,0.21 -0.14,0.41 -0.17,0.63 0,0.04 0,0.1 -0.01,0.14 z m -1.55,-1.25 c -0.18,0 -0.36,-0.01 -0.54,-0.01 0.06,-0.16 0.13,-0.3 0.2,-0.45 0.17,0.01 0.33,0.03 0.5,0.04 -0.05,0.14 -0.11,0.28 -0.16,0.42 z m -2.93,0.65 c -0.03,0.12 -0.05,0.24 -0.08,0.36 -0.19,-0.01 -0.39,-0.02 -0.58,-0.03 0.01,-0.02 0.01,-0.04 0.02,-0.05 0.21,-0.1 0.42,-0.19 0.64,-0.28 0,0 0,0 0,0 z m -2.86,1.23 c -0.01,0.03 -0.01,0.06 -0.02,0.09 -0.04,0.17 -0.07,0.34 -0.1,0.51 -0.02,0.09 -0.03,0.17 -0.05,0.26 0,0.01 0,0.02 -0.01,0.03 -0.51,-0.05 -1.03,-0.1 -1.55,-0.15 0.58,-0.24 1.16,-0.49 1.73,-0.74 z M 530,260.48 c 0,0 0.01,0 0,0 0.02,-0.12 0.03,-0.23 0.04,-0.34 0.03,-0.16 0.1,-0.32 0.17,-0.46 0.03,-0.07 0.08,-0.14 0.13,-0.21 0.03,-0.05 0.07,-0.1 0.11,-0.14 0,0 0,0.01 0,0.01 0,0.01 0,0.05 0,0.03 0,0.02 0,0.04 0,0.06 0,0.09 0,0.17 0.02,0.25 0.03,0.09 0.16,0.12 0.21,0.03 0.04,-0.07 0.06,-0.14 0.08,-0.22 0.03,-0.08 0.07,-0.12 0.1,-0.21 0.01,-0.04 0.02,-0.07 0.04,-0.11 0,-0.01 0.01,-0.02 0.01,-0.04 0,0 0.01,-0.03 0.02,-0.04 0.03,-0.07 0.06,-0.14 0.1,-0.2 0.04,-0.08 0.09,-0.16 0.13,-0.24 0.09,-0.02 0.18,-0.03 0.27,-0.04 0.02,0 0.03,0 0.05,0 0.09,0.01 0.19,0.02 0.27,0.04 0.15,-0.03 0.3,-0.08 0.46,-0.13 -0.04,0.13 -0.08,0.26 -0.12,0.4 -0.04,0.15 -0.11,0.31 -0.08,0.46 0.02,0.1 0.15,0.12 0.22,0.06 0.06,-0.06 0.08,-0.13 0.11,-0.22 0.03,-0.07 0.05,-0.15 0.08,-0.22 0.05,-0.14 0.09,-0.27 0.13,-0.41 0.02,-0.07 0.04,-0.14 0.06,-0.21 0.46,-0.18 0.9,-0.39 1.33,-0.58 -0.01,0.07 -0.03,0.13 -0.04,0.2 -0.04,0.17 -0.07,0.34 -0.11,0.51 -0.02,0.09 -0.03,0.17 -0.04,0.26 -0.01,0.09 -0.03,0.19 0,0.28 0.02,0.07 0.13,0.12 0.19,0.05 0.06,-0.07 0.08,-0.15 0.1,-0.24 0.03,-0.09 0.05,-0.18 0.07,-0.27 0.04,-0.17 0.07,-0.34 0.1,-0.51 l 0.09,-0.45 c 0.01,0 0.02,-0.01 0.02,-0.01 0.5,-0.21 1,-0.41 1.5,-0.61 -0.17,0.31 -0.3,0.64 -0.38,0.98 -0.04,0.17 -0.07,0.34 -0.08,0.51 -0.01,0.09 0,0.18 0.01,0.27 0.01,0.09 0.02,0.18 0.06,0.25 0.04,0.07 0.13,0.04 0.16,-0.02 0.03,-0.07 0.03,-0.15 0.04,-0.23 0.01,-0.08 0.02,-0.16 0.03,-0.25 0.02,-0.16 0.04,-0.32 0.07,-0.48 0.07,-0.32 0.18,-0.62 0.34,-0.91 0.05,-0.1 -0.02,-0.18 -0.1,-0.2 0.69,-0.28 1.37,-0.57 2.06,-0.84 0.08,-0.03 0.15,-0.06 0.23,-0.09 -0.02,0.12 -0.04,0.25 -0.05,0.37 -0.03,0.22 -0.05,0.44 -0.06,0.66 0,0.1 0,0.2 0.02,0.28 0.02,0.1 0.01,0.22 0.02,0.33 0.01,0.11 0.15,0.13 0.19,0.03 0.03,-0.1 0.05,-0.22 0.09,-0.32 0.03,-0.08 0.06,-0.17 0.08,-0.27 0.04,-0.22 0.06,-0.44 0.08,-0.67 0.02,-0.19 0.03,-0.39 0.05,-0.58 0.6,-0.24 1.2,-0.46 1.8,-0.69 -0.07,0.46 -0.13,0.93 -0.19,1.39 -0.07,0.6 -0.16,1.21 -0.12,1.81 0.01,0.11 0.16,0.13 0.19,0.03 0.18,-0.57 0.24,-1.18 0.31,-1.77 0.06,-0.53 0.12,-1.06 0.17,-1.59 0.63,-0.24 1.27,-0.47 1.91,-0.7 -0.08,0.41 -0.16,0.81 -0.24,1.22 -0.1,0.51 -0.2,1.03 -0.18,1.55 0,0.09 0.15,0.15 0.19,0.05 0.2,-0.47 0.29,-0.99 0.38,-1.49 0.08,-0.49 0.17,-0.98 0.25,-1.47 0.16,-0.06 0.32,-0.11 0.48,-0.16 -0.16,1.19 -0.08,2.44 0.07,3.56 0.17,1.25 0.46,2.49 0.79,3.72 -0.31,-0.07 -0.62,-0.13 -0.93,-0.18 0.01,-0.01 0.03,-0.02 0.03,-0.04 -0.07,-0.67 -0.29,-1.32 -0.46,-1.96 -0.05,-0.17 -0.3,-0.1 -0.26,0.07 0.17,0.64 0.31,1.31 0.59,1.92 -0.26,-0.04 -0.53,-0.06 -0.79,-0.08 -0.05,-0.18 -0.1,-0.35 -0.14,-0.53 -0.12,-0.56 -0.2,-1.12 -0.23,-1.69 -0.01,-0.16 -0.25,-0.16 -0.24,0 0,0.58 0.05,1.17 0.17,1.74 0.03,0.15 0.08,0.3 0.12,0.46 -0.59,-0.03 -1.18,0 -1.76,0.05 -0.02,-0.06 -0.03,-0.12 -0.05,-0.18 -0.08,-0.34 -0.08,-0.69 -0.05,-1.03 0,-0.05 -0.08,-0.05 -0.08,0 -0.04,0.35 -0.03,0.71 -0.02,1.07 0,0.05 0.02,0.1 0.02,0.16 -0.61,0.06 -1.22,0.17 -1.82,0.31 -0.01,-0.74 -0.1,-1.47 -0.18,-2.2 -0.02,-0.17 -0.29,-0.18 -0.28,0 0.07,0.75 0.15,1.51 0.31,2.24 -0.63,0.16 -1.25,0.36 -1.84,0.61 -0.11,0.04 -0.2,0.1 -0.31,0.15 0,-0.01 0,-0.02 0,-0.03 0,-0.03 0,-0.06 0,-0.09 0,-0.07 -0.01,-0.14 -0.02,-0.21 -0.01,-0.14 -0.03,-0.27 -0.04,-0.41 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.08,0 -0.18,0.07 -0.17,0.17 l 0.04,0.41 c 0.01,0.07 0.01,0.14 0.02,0.21 0.01,0.08 0.03,0.18 0.07,0.25 0,0.01 0.01,0 0.02,0.01 -0.5,0.25 -0.99,0.53 -1.44,0.87 -0.65,0.49 -1.13,1.12 -1.68,1.71 -0.35,0.38 -0.67,0.8 -0.97,1.23 -0.15,0.2 -0.26,0.42 -0.4,0.63 -0.02,-0.08 -0.03,-0.16 -0.05,-0.25 -0.1,-0.51 -0.19,-1.03 -0.29,-1.54 -0.03,-0.17 -0.29,-0.1 -0.25,0.07 0.1,0.51 0.2,1.02 0.3,1.54 0.03,0.16 0.06,0.33 0.1,0.49 -0.16,0.26 -0.35,0.51 -0.5,0.78 -0.21,-0.76 -0.41,-1.53 -0.57,-2.3 -0.26,-1.23 -0.45,-2.48 -0.41,-3.74 -0.02,-0.44 0.04,-0.89 0.12,-1.33 z m 1.33,10.71 c 0.27,-1.35 0.77,-2.64 1.52,-3.8 0.32,-0.5 0.7,-0.97 1.12,-1.4 0.49,-0.5 1.14,-0.82 1.73,-1.18 4.57,-2.77 11.01,-2.17 14.2,2.42 1.56,2.25 2.27,5.1 1.87,7.82 -0.39,2.69 -1.86,5 -4.04,6.61 -2.18,1.61 -4.85,2.42 -7.55,2.14 -2.7,-0.27 -5.18,-1.81 -6.9,-3.87 -0.34,-0.41 -0.65,-0.84 -0.93,-1.3 -1.01,-2.37 -1.54,-4.85 -1.02,-7.44 z m 9.26,17.66 c -0.74,-0.62 -1.35,-1.39 -1.87,-2.19 -0.32,-0.49 -0.62,-1.01 -0.91,-1.52 0.44,0.14 0.88,0.26 1.33,0.34 0.28,1.07 0.89,2 1.62,2.83 0.4,0.46 0.85,0.88 1.34,1.24 0.17,0.13 0.36,0.25 0.54,0.37 -0.74,-0.27 -1.42,-0.54 -2.05,-1.07 z m 2.88,0.59 c -0.09,-0.21 -0.46,-0.06 -0.37,0.16 0.04,0.08 0.09,0.16 0.12,0.24 -0.02,0.01 -0.03,0.02 -0.05,0.02 -0.29,-0.16 -0.58,-0.33 -0.86,-0.53 -0.48,-0.35 -0.91,-0.77 -1.3,-1.22 -0.63,-0.74 -1.06,-1.64 -1.43,-2.55 0.33,0.05 0.66,0.08 0.99,0.1 0.31,0.8 0.73,1.58 1.3,2.21 0.34,0.37 0.71,0.7 1.1,1.01 0.29,0.23 0.6,0.44 0.91,0.65 -0.1,0.04 -0.2,0.09 -0.3,0.14 -0.03,-0.08 -0.07,-0.16 -0.11,-0.23 z m 0.82,-0.09 c -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 -0.05,-0.07 -0.16,-0.05 -0.16,0.04 0,0.03 0.01,0.05 0.01,0.08 -0.34,-0.17 -0.68,-0.36 -0.98,-0.59 -0.37,-0.3 -0.71,-0.64 -1.01,-1.01 -0.53,-0.64 -0.96,-1.33 -1.29,-2.07 0.52,0.02 1.03,0.02 1.55,-0.02 -0.01,0.02 -0.04,0.03 -0.04,0.06 0.18,0.82 0.55,1.59 1.11,2.22 0.27,0.31 0.58,0.58 0.92,0.82 0.17,0.12 0.35,0.24 0.53,0.34 0,0 0,0 0.01,0 -0.19,0.08 -0.39,0.16 -0.59,0.25 z m 0.79,-0.34 c -0.04,-0.02 -0.08,-0.04 -0.12,-0.06 -0.17,-0.09 -0.33,-0.2 -0.49,-0.31 -0.33,-0.24 -0.62,-0.53 -0.88,-0.84 -0.51,-0.62 -0.9,-1.35 -1.09,-2.14 0,-0.02 -0.03,-0.01 -0.04,-0.02 0.5,-0.05 1,-0.12 1.49,-0.23 0,0.02 -0.02,0.03 -0.01,0.04 0.11,0.16 0.23,0.31 0.34,0.47 0.06,0.08 0.11,0.15 0.17,0.23 0.06,0.08 0.11,0.16 0.18,0.23 0.04,0.04 0.11,-0.01 0.08,-0.06 -0.04,-0.09 -0.1,-0.17 -0.16,-0.25 -0.05,-0.08 -0.11,-0.15 -0.16,-0.23 -0.11,-0.15 -0.22,-0.31 -0.33,-0.46 0.4,-0.09 0.8,-0.19 1.19,-0.31 0.23,0.52 0.51,1.01 0.88,1.45 0.31,0.36 0.66,0.69 1.04,0.97 0.19,0.14 0.39,0.27 0.6,0.39 0.01,0.01 0.02,0.01 0.03,0.02 -0.89,0.37 -1.81,0.73 -2.72,1.11 z m 6.02,-0.5 c 1.39,-0.58 2.77,-1.18 4.14,-1.8 0.69,-0.31 1.37,-0.62 2.05,-0.94 0.7,-0.33 1.49,-0.61 2.13,-1.04 0.04,-0.03 0.07,-0.07 0.1,-0.1 0.28,-0.18 0.39,-0.46 0.39,-0.74 0.15,-0.21 0.23,-0.46 0.2,-0.73 1.76,-0.75 3.53,-1.49 5.29,-2.24 -3.65,4.78 -7.29,9.56 -10.98,14.31 -0.06,0.08 -0.09,0.16 -0.12,0.25 -1.08,-0.9 -2.14,-1.83 -3.16,-2.8 -0.52,-0.6 -1.03,-1.21 -1.55,-1.81 -0.37,-0.42 -0.71,-0.85 -1.07,-1.28 0.86,-0.36 1.72,-0.72 2.58,-1.08 z m 4.56,7.85 c 0.3,-0.38 0.6,-0.77 0.89,-1.15 0,0 0,0 0,0 0.26,0.33 0.53,0.67 0.79,1 0.26,0.33 0.51,0.69 0.81,0.99 0.06,0.06 0.15,-0.02 0.11,-0.09 -0.22,-0.36 -0.51,-0.69 -0.77,-1.02 l -0.8,-1.02 c -0.01,-0.01 -0.02,0 -0.03,0 1.97,-2.56 3.96,-5.12 5.94,-7.67 0.49,0.29 0.98,0.59 1.47,0.88 0.29,0.17 0.57,0.34 0.86,0.51 0.13,0.08 0.27,0.16 0.4,0.23 0.14,0.08 0.28,0.19 0.45,0.22 0.12,0.03 0.2,-0.11 0.12,-0.21 -0.11,-0.12 -0.27,-0.2 -0.41,-0.28 -0.13,-0.08 -0.27,-0.16 -0.4,-0.24 -0.29,-0.17 -0.58,-0.33 -0.87,-0.5 -0.49,-0.28 -0.97,-0.56 -1.46,-0.84 0.28,-0.35 0.55,-0.71 0.83,-1.06 0.52,0.33 1.04,0.66 1.56,0.98 0.27,0.17 0.54,0.34 0.81,0.51 0.13,0.08 0.25,0.16 0.38,0.24 0.13,0.08 0.27,0.19 0.43,0.22 0.1,0.02 0.24,-0.1 0.16,-0.2 -0.18,-0.23 -0.5,-0.36 -0.74,-0.51 -0.28,-0.17 -0.56,-0.35 -0.84,-0.52 -0.52,-0.32 -1.04,-0.65 -1.56,-0.97 0.29,-0.38 0.58,-0.75 0.88,-1.13 -0.01,0.06 0,0.11 0.07,0.15 0.34,0.2 0.68,0.4 1.02,0.6 -0.14,0.2 -0.29,0.4 -0.42,0.61 -0.06,0.09 0.08,0.2 0.15,0.12 0.17,-0.19 0.33,-0.4 0.49,-0.6 0.16,0.1 0.32,0.19 0.48,0.29 l 0.08,0.05 c -0.21,0.23 -0.42,0.46 -0.63,0.69 -0.08,0.09 0.04,0.21 0.13,0.13 0.25,-0.22 0.47,-0.47 0.71,-0.7 l 0.57,0.34 c 0.28,0.16 0.55,0.34 0.86,0.44 0,0 0.01,-0.01 0.01,0 -0.07,0.16 -0.15,0.31 -0.22,0.46 -0.02,0.06 0.05,0.11 0.08,0.05 0.29,-0.52 0.56,-1.05 0.83,-1.58 0.05,-0.1 -0.1,-0.18 -0.14,-0.08 -0.16,0.31 -0.3,0.63 -0.45,0.95 -0.24,-0.21 -0.52,-0.37 -0.8,-0.53 -0.16,-0.1 -0.33,-0.19 -0.49,-0.29 0.31,-0.3 0.62,-0.59 0.92,-0.9 0.39,0.27 0.79,0.54 1.2,0.76 0.15,0.08 0.33,-0.13 0.19,-0.24 -0.36,-0.28 -0.74,-0.54 -1.12,-0.79 0.11,-0.11 0.23,-0.22 0.34,-0.33 0.29,0.15 0.6,0.28 0.92,0.37 0.16,0.05 0.33,0.09 0.5,0.12 0.05,0.01 0.11,0.02 0.17,0.03 -0.94,1.24 -1.87,2.49 -2.81,3.73 -1.29,1.72 -2.56,3.46 -3.87,5.16 -0.67,0.87 -1.31,1.82 -2.08,2.61 -0.8,0.81 -1.42,1.69 -2,2.66 -0.04,0.07 -0.05,0.14 -0.07,0.21 -0.21,-0.14 -0.43,-0.28 -0.65,-0.43 -1.06,-0.73 -2.08,-1.53 -3.1,-2.33 0.04,-0.02 0.08,-0.05 0.12,-0.1 z m 28.25,-59.38 c -0.11,-0.1 -0.23,-0.2 -0.34,-0.3 -0.02,-0.01 -0.03,-0.03 -0.04,-0.04 0.17,-0.05 0.34,-0.09 0.52,-0.14 0.02,-0.01 0.04,-0.01 0.07,-0.02 0.06,0.1 0.14,0.21 0.23,0.32 -0.16,0.07 -0.3,0.12 -0.44,0.18 z m 0.79,-0.33 c -0.03,-0.04 -0.06,-0.07 -0.08,-0.11 -0.04,-0.05 -0.07,-0.11 -0.11,-0.16 0.14,-0.04 0.29,-0.08 0.43,-0.11 0.15,-0.04 0.3,-0.08 0.45,-0.12 0.12,-0.04 0.25,-0.08 0.36,-0.14 0.04,0.05 0.06,0.12 0.09,0.17 -0.37,0.16 -0.75,0.32 -1.14,0.47 z m 25.88,-11.64 c 0.19,0.05 0.39,0.11 0.58,0.16 -0.2,0.23 -0.4,0.46 -0.6,0.7 -0.31,0.13 -0.63,0.26 -0.94,0.4 0.32,-0.42 0.64,-0.84 0.96,-1.26 z m 1.03,0.29 c 0.05,0.01 0.1,0.03 0.16,0.04 0.01,0 0.03,0.01 0.04,0.01 -0.05,0.02 -0.1,0.04 -0.15,0.06 -0.08,0.03 -0.16,0.07 -0.24,0.1 0.06,-0.07 0.13,-0.14 0.19,-0.21 z m 1.23,-0.39 c 0.19,-0.2 0.38,-0.4 0.56,-0.59 0.14,-0.15 0.26,-0.31 0.39,-0.46 0.13,0.09 0.26,0.18 0.39,0.27 0.06,0.04 0.12,0.07 0.17,0.11 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.48,0.21 -0.98,0.42 -1.48,0.63 z m 28.95,-12.34 c -0.59,-0.8 -1.19,-1.58 -1.82,-2.35 0.3,-0.12 0.61,-0.25 0.91,-0.37 0.28,0.39 0.56,0.78 0.85,1.17 0.26,0.35 0.51,0.7 0.77,1.06 0.04,0.05 0.08,0.1 0.11,0.15 -0.27,0.11 -0.54,0.23 -0.82,0.34 z m 1.15,-0.49 c -0.06,-0.08 -0.13,-0.17 -0.19,-0.25 -0.25,-0.34 -0.5,-0.68 -0.75,-1.02 -0.27,-0.36 -0.54,-0.73 -0.81,-1.09 0.31,-0.13 0.62,-0.26 0.93,-0.38 0.33,0.41 0.65,0.82 0.98,1.23 0.2,0.25 0.39,0.49 0.59,0.74 0.09,0.11 0.18,0.23 0.27,0.34 -0.34,0.14 -0.68,0.29 -1.02,0.43 z m 1.34,-0.57 c 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.1,-0.13 -0.2,-0.25 -0.3,-0.38 -0.2,-0.25 -0.41,-0.5 -0.61,-0.76 -0.31,-0.38 -0.62,-0.76 -0.92,-1.14 0.31,-0.13 0.63,-0.26 0.94,-0.39 0.6,0.76 1.18,1.54 1.74,2.32 -0.28,0.13 -0.56,0.25 -0.84,0.37 z m 20.41,-13.92 c 0.05,0.21 0.11,0.42 0.2,0.62 -0.36,0.23 -0.64,0.63 -0.85,0.98 -0.11,0.19 -0.2,0.38 -0.28,0.58 -0.11,-0.58 -0.24,-1.15 -0.39,-1.72 0.44,-0.13 0.88,-0.29 1.32,-0.46 z m 2.14,-1.49 c 0.02,0.12 0.05,0.24 0.08,0.36 0.07,0.3 0.16,0.59 0.25,0.88 0.13,0.41 0.27,0.82 0.41,1.23 -0.03,0.02 -0.06,0.04 -0.09,0.05 -0.08,0.03 -0.17,0.05 -0.25,0.07 -0.06,0 -0.12,0.01 -0.17,0.01 -0.04,0 -0.09,0 -0.13,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 0,0 0,0 0,0 -0.08,-0.01 -0.17,0 -0.25,0.03 -0.02,-0.03 -0.04,-0.06 -0.07,-0.08 0.08,0.1 -0.03,-0.04 -0.04,-0.06 -0.18,-0.24 -0.33,-0.5 -0.46,-0.77 -0.02,-0.05 -0.05,-0.1 -0.07,-0.15 0.01,0.01 -0.05,-0.13 -0.06,-0.15 -0.03,-0.07 -0.06,-0.14 -0.09,-0.2 -0.01,-0.02 -0.01,-0.02 -0.01,-0.03 -0.02,-0.06 -0.05,-0.12 -0.07,-0.18 -0.06,-0.16 -0.1,-0.32 -0.17,-0.47 0.08,-0.02 0.17,-0.05 0.24,-0.09 0.05,-0.02 0.11,-0.04 0.16,-0.07 0.04,-0.02 0.08,-0.05 0.13,-0.08 0.15,-0.09 0.3,-0.16 0.46,-0.23 0.07,-0.02 0.17,-0.04 0.26,-0.07 z m -6.96,-9.25 c 0.28,-0.1 0.55,-0.2 0.83,-0.31 0.07,0.11 0.14,0.23 0.21,0.34 0.08,0.13 0.16,0.26 0.24,0.39 0.04,0.07 0.09,0.13 0.14,0.19 0.05,0.06 0.09,0.13 0.16,0.16 0.07,0.03 0.15,-0.01 0.16,-0.09 0,-0.08 -0.04,-0.15 -0.07,-0.22 -0.04,-0.07 -0.07,-0.14 -0.11,-0.21 -0.08,-0.13 -0.17,-0.26 -0.25,-0.39 -0.06,-0.1 -0.12,-0.19 -0.19,-0.29 0.23,-0.09 0.47,-0.17 0.7,-0.26 0.62,-0.24 1.24,-0.5 1.85,-0.76 0.39,-0.16 0.79,-0.32 1.17,-0.5 0.03,0.04 0.06,0.09 0.09,0.13 0.07,0.12 0.15,0.23 0.22,0.35 0.08,0.13 0.17,0.26 0.29,0.36 0.03,0.02 0.06,0.04 0.09,0.04 0.15,0.24 0.3,0.47 0.44,0.71 0.48,0.81 0.91,1.65 1.3,2.51 0.39,0.85 0.74,1.73 1.03,2.62 0.27,0.83 0.46,1.67 0.69,2.51 l -0.45,0.19 c -0.02,-0.25 -0.05,-0.5 -0.09,-0.74 -0.1,-0.64 -0.27,-1.27 -0.49,-1.88 -0.43,-1.19 -1.08,-2.26 -1.89,-3.22 -0.09,-0.11 -0.24,0.05 -0.16,0.16 0.77,0.97 1.34,2.09 1.74,3.25 0.19,0.55 0.33,1.11 0.42,1.68 0.05,0.3 0.07,0.6 0.1,0.9 l -0.55,0.23 c -0.01,0 -0.02,-0.02 -0.03,-0.02 -0.02,-0.08 -0.03,-0.15 -0.04,-0.22 -0.07,-0.4 -0.15,-0.8 -0.26,-1.19 -0.21,-0.78 -0.53,-1.54 -0.87,-2.27 -0.08,-0.17 -0.32,-0.02 -0.24,0.14 0.33,0.73 0.56,1.5 0.74,2.27 0.09,0.38 0.17,0.76 0.23,1.15 0,0.03 0.01,0.07 0.01,0.1 -0.14,0.02 -0.29,0.05 -0.42,0.09 -0.24,0.06 -0.48,0.16 -0.7,0.27 -0.03,0.01 -0.05,0.04 -0.08,0.05 0,-0.05 0.01,-0.1 0.01,-0.14 0.01,-0.43 -0.03,-0.86 -0.11,-1.28 -0.16,-0.85 -0.51,-1.67 -1.01,-2.38 -0.12,-0.17 -0.4,-0.01 -0.28,0.17 0.46,0.67 0.78,1.42 0.94,2.22 0.08,0.4 0.11,0.81 0.1,1.23 0,0.15 -0.03,0.31 -0.05,0.46 -0.04,0.03 -0.08,0.05 -0.11,0.08 -0.11,0.1 -0.22,0.26 -0.29,0.42 -0.01,-0.03 -0.03,-0.06 -0.04,-0.09 -0.04,0.02 -0.08,0.04 -0.13,0.06 -0.02,-0.08 -0.05,-0.16 -0.07,-0.23 -0.1,-0.38 -0.23,-0.75 -0.36,-1.12 -0.27,-0.74 -0.62,-1.44 -0.99,-2.14 -0.09,-0.16 -0.33,-0.02 -0.24,0.14 0.36,0.68 0.65,1.4 0.89,2.13 0.12,0.36 0.23,0.72 0.33,1.09 0.02,0.09 0.04,0.2 0.06,0.3 -0.23,0.1 -0.46,0.2 -0.68,0.3 -0.13,-0.9 -0.31,-1.78 -0.63,-2.64 -0.43,-1.14 -1.02,-2.14 -1.77,-3.1 -0.1,-0.13 -0.32,-0.01 -0.22,0.13 0.63,0.95 1.15,2.02 1.56,3.08 0.33,0.86 0.58,1.76 0.76,2.68 -0.18,0.09 -0.35,0.18 -0.52,0.27 -0.11,-0.34 -0.22,-0.69 -0.33,-1.03 -0.56,-1.68 -1.24,-3.33 -2.02,-4.92 -0.6,-1.23 -1.29,-2.41 -2.03,-3.56 0.03,-0.01 0.05,-0.01 0.08,-0.02 0.08,0.07 0.17,0.15 0.25,0.22 0.13,0.12 0.27,0.24 0.4,0.35 0.14,0.13 0.27,0.24 0.46,0.3 0.1,0.04 0.18,-0.09 0.13,-0.17 -0.09,-0.17 -0.23,-0.28 -0.38,-0.39 -0.13,-0.11 -0.27,-0.22 -0.4,-0.33 -0.03,-0.03 -0.07,-0.05 -0.1,-0.08 0.3,-0.03 0.57,-0.14 0.83,-0.23 z m -6.01,-2.61 c 0.17,-0.07 0.34,-0.13 0.51,-0.2 0.11,-0.04 0.22,-0.08 0.34,-0.12 0.22,0.42 0.53,0.81 0.75,1.15 0.43,0.67 0.89,1.31 1.31,1.99 0.9,1.44 1.71,2.94 2.42,4.48 0.7,1.51 1.28,3.06 1.77,4.65 0.48,1.55 0.77,3.14 1.15,4.71 -0.1,0.05 -0.2,0.1 -0.3,0.15 l -0.38,0.2 c -0.01,0.01 -0.02,0.02 -0.03,0.02 -0.17,-1.45 -0.63,-2.93 -1.05,-4.31 -0.49,-1.58 -1.06,-3.15 -1.75,-4.65 -0.67,-1.47 -1.43,-2.91 -2.29,-4.28 -0.72,-1.15 -1.52,-2.35 -2.55,-3.25 -0.01,-0.03 -0.03,-0.06 -0.04,-0.09 -0.02,0.01 -0.03,0.01 -0.05,0.02 -0.11,-0.09 -0.21,-0.2 -0.32,-0.28 0.17,-0.06 0.34,-0.13 0.51,-0.19 z m -0.87,0.59 c 0,-0.01 0,-0.02 0,-0.04 0.02,0.06 0.05,0.12 0.08,0.18 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.02,-0.05 -0.04,-0.11 -0.05,-0.16 z m -117.33,34.22 c 3.67,-7.19 8.64,-13.69 14.71,-19.01 6.66,-5.85 14.65,-10.22 23.13,-12.78 6.75,-2.04 13.82,-2.92 20.87,-2.69 7.05,0.22 14.05,1.57 20.7,3.95 4.95,1.77 9.7,4.18 14.08,7.11 -0.22,0.1 -0.44,0.2 -0.66,0.29 -0.2,-0.31 -0.47,-0.6 -0.73,-0.85 -0.32,-0.31 -0.67,-0.6 -1.03,-0.85 -0.74,-0.5 -1.57,-0.88 -2.42,-1.14 -0.14,-0.04 -0.2,0.17 -0.06,0.22 0.83,0.28 1.58,0.7 2.27,1.24 0.33,0.26 0.65,0.53 0.94,0.83 0.22,0.23 0.42,0.48 0.63,0.72 -0.37,0.16 -0.73,0.33 -1.1,0.49 -2.76,-2.75 -6.36,-4.73 -10.04,-5.91 -1.12,-0.36 -2.25,-0.67 -3.41,-0.86 -0.19,-0.03 -0.27,0.25 -0.08,0.29 2.01,0.39 3.96,0.93 5.84,1.76 1.83,0.81 3.55,1.85 5.14,3.06 0.76,0.57 1.46,1.2 2.16,1.84 -0.21,0.09 -0.42,0.18 -0.62,0.27 -0.28,-0.22 -0.57,-0.42 -0.83,-0.61 -0.54,-0.39 -1.11,-0.76 -1.69,-1.1 -1.13,-0.66 -2.32,-1.2 -3.56,-1.63 -0.2,-0.07 -0.28,0.24 -0.09,0.31 1.22,0.43 2.4,0.98 3.51,1.64 0.53,0.31 1.05,0.65 1.56,1.02 0.24,0.17 0.47,0.35 0.7,0.53 -0.09,0.04 -0.18,0.08 -0.27,0.12 -0.83,-0.52 -1.67,-1.04 -2.53,-1.51 -5.85,-3.22 -12.24,-5.49 -18.8,-6.7 -6.59,-1.22 -13.33,-1.41 -19.97,-0.54 -7.4,0.97 -14.59,3.35 -21.12,6.96 -7.06,3.9 -13.27,9.24 -18.17,15.65 -4.57,5.98 -8.06,12.77 -10.21,19.99 -0.52,1.74 -0.93,3.5 -1.29,5.28 -0.3,0.12 -0.6,0.24 -0.9,0.37 0.05,-0.37 0.11,-0.74 0.17,-1.11 0.2,-1.04 0.44,-2.06 0.7,-3.09 0.53,-2.07 1.38,-4.05 2.31,-5.97 0.07,-0.14 -0.14,-0.27 -0.21,-0.13 -1.05,1.9 -1.8,3.93 -2.48,5.99 -0.34,1.03 -0.61,2.11 -0.81,3.17 -0.09,0.45 -0.16,0.9 -0.23,1.36 -0.34,0.14 -0.67,0.27 -1.01,0.41 0.11,-0.81 0.22,-1.62 0.37,-2.43 0.22,-1.17 0.47,-2.34 0.78,-3.49 0.3,-1.15 0.64,-2.3 1.03,-3.43 0.38,-1.13 0.75,-2.26 1.19,-3.37 0.03,-0.07 -0.1,-0.13 -0.13,-0.06 -0.39,0.84 -0.8,1.67 -1.12,2.54 -0.32,0.87 -0.62,1.76 -0.9,2.65 -0.55,1.8 -0.99,3.63 -1.33,5.49 -0.14,0.76 -0.26,1.52 -0.36,2.29 -0.29,0.12 -0.58,0.24 -0.87,0.36 1.09,-6.59 3.21,-13 6.24,-18.94 z m -27.24,31.2 c 0.18,-0.04 0.35,-0.11 0.53,-0.18 0.17,-0.06 0.33,-0.13 0.5,-0.19 0.02,-0.01 0.05,-0.02 0.07,-0.03 0.04,0.11 0.07,0.21 0.11,0.32 0.08,0.22 0.16,0.44 0.25,0.66 l 0.13,0.34 c 0.01,0.03 0.02,0.06 0.03,0.09 -0.15,0.06 -0.29,0.12 -0.44,0.18 -0.22,0.09 -0.45,0.18 -0.66,0.29 -0.03,0.02 -0.05,0.03 -0.08,0.05 -0.07,-0.15 -0.15,-0.3 -0.23,-0.44 l -0.3,-0.56 c -0.09,-0.17 -0.19,-0.33 -0.29,-0.49 0.12,-0.01 0.25,-0.01 0.38,-0.04 z m -0.68,7.32 c -0.43,-0.9 -0.79,-1.85 -0.98,-2.83 -0.08,-0.44 -0.12,-0.89 -0.13,-1.34 0,-0.23 0.01,-0.46 0.03,-0.69 0,-0.01 0,-0.01 0,-0.02 0.32,-0.13 0.63,-0.27 0.93,-0.4 0.06,0.14 0.13,0.28 0.24,0.36 0.2,0.16 0.43,0.22 0.68,0.13 0.02,0.01 0.03,0.04 0.04,0.05 0.14,0.07 0.27,0.12 0.43,0.11 0.14,-0.01 0.28,-0.05 0.41,-0.08 0.19,-0.05 0.37,-0.12 0.55,-0.19 0.37,-0.14 0.75,-0.29 1.12,-0.43 0.17,-0.06 0.31,-0.15 0.4,-0.31 0.08,-0.14 0.11,-0.34 0.06,-0.5 -0.01,-0.04 -0.04,-0.08 -0.06,-0.12 0,-0.03 0.02,-0.05 0.02,-0.08 -0.01,-0.15 -0.05,-0.29 -0.1,-0.42 0.22,-0.08 0.44,-0.16 0.65,-0.24 0.54,-0.19 1.14,-0.34 1.7,-0.55 0.32,1.15 0.68,2.29 1.12,3.4 0.62,1.59 1.38,3.19 2.27,4.71 -0.1,0.07 -0.2,0.13 -0.3,0.19 -0.02,-0.05 -0.04,-0.09 -0.07,-0.14 -0.06,-0.13 -0.12,-0.25 -0.18,-0.37 -0.14,-0.28 -0.27,-0.56 -0.41,-0.84 -0.28,-0.54 -0.55,-1.09 -0.82,-1.63 -0.09,-0.19 -0.36,-0.02 -0.28,0.16 0.26,0.54 0.51,1.08 0.76,1.63 0.13,0.27 0.26,0.54 0.39,0.81 0.06,0.12 0.12,0.25 0.18,0.37 0.03,0.07 0.06,0.14 0.1,0.21 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.05,-0.06 -0.11,-0.12 -0.15,-0.18 -0.17,-0.23 -0.33,-0.46 -0.49,-0.7 -0.3,-0.46 -0.56,-0.95 -0.79,-1.45 -0.47,-1.03 -0.78,-2.15 -0.94,-3.27 -0.02,-0.13 -0.24,-0.1 -0.23,0.03 0.1,1.17 0.39,2.29 0.86,3.36 0.24,0.54 0.52,1.05 0.84,1.54 0.16,0.25 0.34,0.5 0.52,0.74 0.02,0.03 0.04,0.06 0.07,0.09 -0.22,0.13 -0.45,0.24 -0.67,0.36 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.07,-0.06 -0.14,-0.12 -0.21,-0.18 -0.14,-0.12 -0.27,-0.25 -0.41,-0.37 -0.08,-0.07 -0.18,0.04 -0.11,0.11 0.12,0.14 0.25,0.27 0.37,0.41 0.05,0.06 0.1,0.12 0.15,0.19 -0.21,0.11 -0.42,0.23 -0.64,0.34 -0.03,-0.08 -0.06,-0.15 -0.09,-0.23 -0.12,-0.32 -0.26,-0.63 -0.38,-0.94 -0.05,-0.13 -0.12,-0.24 -0.18,-0.36 0.01,-0.07 0.03,-0.15 0.02,-0.22 -0.07,-0.32 -0.41,-0.51 -0.73,-0.54 -0.02,-0.05 -0.03,-0.09 -0.05,-0.14 -0.22,-0.56 -0.46,-1.12 -0.68,-1.67 -0.07,-0.17 -0.34,-0.1 -0.28,0.07 0.22,0.57 0.44,1.15 0.67,1.71 0.01,0.01 0.01,0.03 0.02,0.04 -0.11,0.01 -0.23,0.02 -0.34,0.05 -0.29,0.07 -0.58,0.19 -0.83,0.36 -0.07,0.05 -0.14,0.1 -0.21,0.15 -0.11,0.09 -0.18,0.16 -0.26,0.28 -0.05,0.08 -0.08,0.16 -0.09,0.25 -0.14,-0.23 -0.28,-0.46 -0.39,-0.71 -0.29,-0.68 -0.5,-1.38 -0.57,-2.12 -0.01,-0.12 -0.2,-0.13 -0.2,0 0.05,0.73 0.2,1.48 0.5,2.15 0.13,0.31 0.3,0.63 0.48,0.93 -0.08,0.06 -0.14,0.17 -0.11,0.28 0.14,0.68 0.4,1.34 0.69,1.98 -0.05,0.02 -0.11,0.04 -0.16,0.06 -0.02,0 -0.03,-0.01 -0.05,-0.01 0.02,-0.05 0.03,-0.1 0,-0.14 -0.1,-0.14 -0.22,-0.28 -0.33,-0.41 -0.11,-0.13 -0.22,-0.26 -0.32,-0.39 -0.04,-0.05 -0.13,-0.05 -0.18,-0.01 -0.05,0.04 -0.08,0.12 -0.03,0.18 l 0.3,0.4 c 0.09,0.12 0.19,0.25 0.29,0.37 -0.04,0.01 -0.07,0 -0.11,0.01 -0.75,0.24 -1.28,-0.04 -1.72,-0.7 -0.57,-0.82 -1.03,-1.77 -1.47,-2.68 z m 4.08,4.95 c 0.01,0 0.01,0 0,0 0.07,-0.02 0.13,-0.04 0.19,-0.06 -0.01,0.01 -0.02,0.01 -0.03,0.02 -0.03,0.02 -0.06,0.04 -0.08,0.07 -0.04,0.04 -0.09,0.07 -0.13,0.11 -0.03,0 -0.06,-0.02 -0.09,-0.02 0.04,-0.04 0.1,-0.07 0.14,-0.12 z m -32.5,42.28 c -1.03,-1.21 -1.84,-2.69 -2.53,-4.12 -0.63,-1.32 -1.22,-2.73 -1.56,-4.16 -0.22,-0.91 -0.21,-1.92 0.1,-2.81 0.13,-0.05 0.26,-0.1 0.39,-0.15 0.15,-0.06 0.31,-0.11 0.46,-0.17 -0.02,0.05 -0.06,0.1 -0.07,0.16 -0.03,0.11 -0.04,0.23 -0.05,0.34 0,0.06 0.02,0.11 0.03,0.16 -0.06,-0.07 -0.19,-0.07 -0.22,0.04 -0.08,0.33 -0.12,0.67 -0.1,1.01 0.02,0.34 0.07,0.68 0.22,0.99 0.07,0.13 0.26,0.04 0.23,-0.1 -0.06,-0.3 -0.15,-0.6 -0.17,-0.91 -0.02,-0.3 0.01,-0.59 0.07,-0.88 0,0.01 0,0.02 0.01,0.03 0.03,0.07 0.08,0.12 0.16,0.11 0.08,-0.01 0.13,-0.07 0.13,-0.15 0,-0.02 0,-0.05 0.01,-0.07 0,-0.01 0,-0.04 0,-0.01 0,-0.02 0.01,-0.04 0.01,-0.06 0,-0.05 0,-0.1 0,-0.15 0,-0.05 0,-0.1 0.01,-0.15 0,-0.01 0,-0.02 0,-0.03 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,-0.02 0.01,-0.05 0.01,-0.07 0.01,-0.05 0.02,-0.09 0.03,-0.14 0.01,-0.02 0.01,-0.05 0.02,-0.07 0,-0.01 0.01,-0.03 0.01,-0.04 0,0 0.01,-0.03 0.01,-0.02 -0.01,0.02 0.01,-0.02 0.01,-0.03 0,-0.01 0.01,-0.02 0.01,-0.03 0.01,-0.02 0.02,-0.04 0.03,-0.07 0,0 0.01,-0.01 0.01,-0.01 l 0.16,-0.06 c 0,0.04 0.01,0.09 0.01,0.13 0.18,2.07 0.86,4.07 1.74,5.94 0.89,1.89 2,3.66 3.12,5.42 0.18,0.29 0.4,0.61 0.64,0.92 -0.14,0.07 -0.28,0.14 -0.42,0.21 -0.27,-0.31 -0.56,-0.6 -0.8,-0.93 -0.75,-1.01 -1.4,-2.11 -1.9,-3.27 -0.05,-0.11 -0.25,-0.03 -0.2,0.09 0.49,1.22 1.11,2.37 1.89,3.43 0.22,0.3 0.46,0.57 0.7,0.85 -0.03,0.02 -0.06,0.04 -0.09,0.05 -0.09,-0.01 -0.19,-0.02 -0.28,-0.04 -0.57,-0.71 -1.1,-1.44 -1.61,-2.2 -0.05,-0.07 -0.16,-0.01 -0.12,0.07 0.38,0.72 0.83,1.39 1.32,2.04 -0.58,-0.17 -1.05,-0.62 -1.43,-1.08 z m 22.05,-5.9 c -0.11,0.05 -0.22,0.09 -0.32,0.14 -0.34,-0.47 -0.68,-0.93 -0.98,-1.42 -0.87,-1.4 -1.64,-2.86 -2.28,-4.38 -0.06,-0.13 -0.29,-0.04 -0.24,0.1 0.6,1.55 1.34,3.04 2.21,4.46 0.29,0.48 0.62,0.93 0.94,1.39 -0.22,0.1 -0.45,0.19 -0.68,0.29 -0.08,-0.1 -0.18,-0.19 -0.26,-0.29 -0.52,-0.64 -0.94,-1.35 -1.26,-2.11 -0.06,-0.13 -0.29,-0.04 -0.23,0.1 0.31,0.79 0.71,1.54 1.22,2.22 0.05,0.07 0.13,0.15 0.18,0.22 -0.17,0.07 -0.33,0.14 -0.5,0.21 -1.26,-1.46 -2.2,-3.2 -2.64,-5.07 -0.05,-0.2 -0.34,-0.11 -0.3,0.08 0.41,1.92 1.31,3.67 2.55,5.16 -0.28,0.12 -0.56,0.24 -0.84,0.36 -0.57,-0.65 -1.04,-1.39 -1.38,-2.2 -0.07,-0.17 -0.35,-0.1 -0.28,0.08 0.33,0.83 0.82,1.56 1.38,2.24 -0.3,0.13 -0.6,0.26 -0.91,0.38 -0.18,-0.19 -0.38,-0.36 -0.55,-0.57 -0.64,-0.79 -1.13,-1.71 -1.43,-2.68 -0.05,-0.15 -0.28,-0.09 -0.24,0.06 0.29,1.02 0.77,1.97 1.42,2.81 0.14,0.18 0.32,0.34 0.48,0.51 -0.23,0.1 -0.47,0.2 -0.7,0.3 -0.05,0.02 -0.1,0.04 -0.16,0.06 -0.4,-0.46 -0.74,-0.97 -0.97,-1.53 -0.05,-0.12 -0.26,-0.07 -0.21,0.06 0.22,0.57 0.53,1.1 0.91,1.58 -0.27,0.11 -0.55,0.22 -0.83,0.33 -0.22,-0.24 -0.45,-0.48 -0.64,-0.74 -0.62,-0.83 -1.11,-1.71 -1.46,-2.68 -0.03,-0.07 -0.15,-0.04 -0.12,0.03 0.34,0.98 0.81,1.94 1.43,2.79 0.17,0.24 0.38,0.46 0.57,0.69 -0.27,0.11 -0.54,0.22 -0.81,0.32 -0.01,-0.01 -0.02,-0.02 -0.04,-0.04 -0.47,-0.6 -0.82,-1.3 -1,-2.04 -0.04,-0.15 -0.26,-0.09 -0.23,0.06 0.16,0.77 0.49,1.5 0.96,2.13 -0.21,0.08 -0.41,0.16 -0.62,0.24 -0.27,-0.3 -0.52,-0.62 -0.75,-0.97 -0.68,-1.03 -1.19,-2.17 -1.48,-3.37 -0.01,-0.06 -0.1,-0.03 -0.09,0.02 0.36,1.59 1.12,3.1 2.15,4.38 -0.26,0.1 -0.51,0.19 -0.77,0.29 -0.47,-0.59 -0.89,-1.24 -1.17,-1.94 -0.07,-0.17 -0.35,-0.1 -0.28,0.08 0.28,0.72 0.65,1.38 1.09,2.01 -0.25,0.09 -0.5,0.19 -0.74,0.28 -0.24,-0.24 -0.5,-0.47 -0.72,-0.73 -0.71,-0.85 -1.28,-1.83 -1.68,-2.86 -0.05,-0.13 -0.27,-0.08 -0.22,0.06 0.37,1.05 0.9,2.03 1.59,2.91 0.21,0.27 0.46,0.5 0.69,0.75 -0.27,0.1 -0.54,0.21 -0.81,0.32 -0.29,-0.33 -0.55,-0.69 -0.74,-1.09 -0.04,-0.08 -0.15,-0.01 -0.11,0.07 0.18,0.39 0.4,0.75 0.65,1.1 -0.18,0.07 -0.36,0.14 -0.54,0.21 -0.11,-0.12 -0.23,-0.23 -0.33,-0.35 -0.55,-0.67 -0.99,-1.44 -1.33,-2.23 -0.02,-0.05 -0.11,-0.01 -0.09,0.04 0.33,0.82 0.76,1.59 1.28,2.31 0.08,0.11 0.17,0.21 0.25,0.32 -0.21,0.08 -0.42,0.16 -0.63,0.25 -0.31,-0.38 -0.57,-0.8 -0.75,-1.26 -0.04,-0.12 -0.23,-0.07 -0.19,0.05 0.17,0.47 0.41,0.9 0.7,1.3 -0.25,0.1 -0.5,0.21 -0.74,0.31 -0.17,-0.16 -0.34,-0.32 -0.49,-0.5 -0.68,-0.76 -1.17,-1.67 -1.45,-2.65 -0.02,-0.08 -0.15,-0.05 -0.13,0.04 0.26,1 0.75,1.92 1.43,2.71 0.15,0.17 0.33,0.31 0.5,0.46 -0.15,0.06 -0.3,0.13 -0.46,0.2 -0.09,-0.09 -0.18,-0.18 -0.26,-0.28 -0.5,-0.57 -0.94,-1.17 -1.3,-1.84 -0.02,-0.04 -0.08,0 -0.06,0.04 0.34,0.69 0.73,1.36 1.2,1.97 0.06,0.07 0.12,0.14 0.18,0.21 -0.12,0.05 -0.24,0.11 -0.36,0.16 -0.04,-0.01 -0.07,-0.03 -0.11,-0.04 -0.09,-0.02 -0.17,-0.03 -0.25,-0.04 -0.01,-0.01 -0.03,-0.03 -0.04,-0.04 -0.59,-0.71 -1.05,-1.57 -1.36,-2.44 -0.04,-0.11 -0.21,-0.07 -0.18,0.05 0.19,0.85 0.58,1.6 1.08,2.3 -0.17,-0.07 -0.33,-0.18 -0.52,-0.39 -0.46,-0.49 -0.79,-1.1 -1.14,-1.66 -0.92,-1.44 -1.81,-2.9 -2.56,-4.44 -0.72,-1.46 -1.32,-2.98 -1.66,-4.57 -0.14,-0.65 -0.25,-1.32 -0.28,-1.98 0.01,-0.05 -0.01,-0.11 -0.01,-0.16 0,-0.05 -0.01,-0.11 -0.01,-0.16 0,-0.28 0.01,-0.62 0.1,-0.93 0.18,-0.05 0.36,-0.1 0.53,-0.15 0,0.07 0.01,0.15 0.02,0.21 0.01,0.18 0.03,0.37 0.05,0.55 0.03,0.19 0.04,0.38 0.07,0.56 0.03,0.18 0.02,0.41 0.11,0.57 0.07,0.12 0.22,0.07 0.26,-0.04 0.06,-0.16 0.02,-0.37 0.02,-0.54 0,-0.19 -0.01,-0.38 -0.01,-0.57 0,-0.18 -0.02,-0.37 -0.04,-0.55 -0.01,-0.1 -0.02,-0.23 -0.04,-0.35 0.59,-0.21 1.18,-0.43 1.77,-0.67 -0.02,0.29 -0.02,0.57 -0.01,0.86 0.02,0.61 0.09,1.22 0.32,1.78 0.04,0.09 0.18,0.04 0.18,-0.05 -0.03,-0.58 -0.13,-1.15 -0.16,-1.73 -0.02,-0.34 0.03,-0.68 0.05,-1.01 0.37,-0.15 0.75,-0.3 1.12,-0.44 l 0.03,0.99 c 0.01,0.19 0,0.39 0.02,0.58 0.02,0.19 0.01,0.41 0.07,0.59 0.03,0.1 0.18,0.11 0.21,0 0.05,-0.18 0.03,-0.38 0.04,-0.56 0.01,-0.2 -0.01,-0.4 -0.01,-0.6 -0.01,-0.37 -0.02,-0.75 -0.04,-1.12 0.46,-0.18 0.93,-0.37 1.39,-0.55 0,0.2 0,0.4 -0.01,0.6 l -0.01,0.48 c 0,0.08 -0.01,0.16 0,0.24 0,0.08 0.03,0.17 0.04,0.25 0.02,0.1 0.17,0.09 0.19,0 0.02,-0.08 0.04,-0.16 0.05,-0.25 0,-0.07 0,-0.15 0,-0.22 0,-0.17 0,-0.34 0.01,-0.5 0,-0.24 0.01,-0.48 0.01,-0.71 0.31,-0.12 0.62,-0.24 0.93,-0.37 -0.05,0.23 -0.07,0.47 -0.07,0.71 0,0.25 0.04,0.51 0.1,0.75 0.03,0.13 0.07,0.25 0.13,0.37 0.05,0.11 0.11,0.26 0.22,0.32 0.07,0.04 0.17,0.01 0.19,-0.08 0.02,-0.11 -0.03,-0.21 -0.06,-0.31 -0.03,-0.11 -0.07,-0.22 -0.1,-0.33 -0.06,-0.23 -0.1,-0.46 -0.11,-0.69 -0.01,-0.3 0.03,-0.6 0.1,-0.89 0.44,-0.18 0.89,-0.35 1.33,-0.53 -0.04,0.02 -0.07,0.05 -0.07,0.09 -0.05,0.35 -0.06,0.7 -0.01,1.05 0.02,0.17 0.05,0.33 0.1,0.49 0.02,0.09 0.05,0.17 0.08,0.25 0.03,0.09 0.06,0.18 0.15,0.23 0.08,0.04 0.17,0 0.2,-0.08 0.03,-0.08 -0.01,-0.16 -0.03,-0.23 -0.03,-0.07 -0.05,-0.15 -0.07,-0.22 -0.05,-0.15 -0.08,-0.31 -0.1,-0.47 -0.04,-0.31 -0.04,-0.62 0.01,-0.93 0.01,-0.09 -0.02,-0.18 -0.12,-0.21 -0.03,-0.01 -0.07,0 -0.11,0.01 0.25,-0.1 0.5,-0.2 0.75,-0.3 0.89,-0.35 1.79,-0.71 2.68,-1.07 -0.03,0.43 -0.03,0.85 0.03,1.28 0.06,0.49 0.17,1.01 0.39,1.46 0.07,0.14 0.29,0.04 0.24,-0.1 -0.07,-0.24 -0.16,-0.47 -0.23,-0.71 -0.06,-0.23 -0.11,-0.47 -0.14,-0.71 -0.06,-0.44 -0.06,-0.88 -0.02,-1.31 0.42,-0.17 0.85,-0.34 1.27,-0.51 l -0.01,0.22 c -0.01,0.14 -0.02,0.28 -0.02,0.43 0,0.15 -0.04,0.33 0.04,0.46 0.05,0.08 0.18,0.11 0.24,0.03 0.06,-0.07 0.07,-0.14 0.08,-0.23 0.01,-0.07 0.01,-0.15 0.02,-0.22 0.01,-0.15 0.02,-0.3 0.03,-0.44 l 0.02,-0.4 c 0.16,-0.06 0.31,-0.12 0.47,-0.19 0.5,-0.2 1,-0.4 1.5,-0.61 0.33,1.23 0.74,2.43 1.17,3.61 0.85,2.34 1.87,4.62 3.08,6.8 0.75,1.35 1.56,2.69 2.47,3.95 -0.09,0 -0.15,0.02 -0.22,0.05 z m 14.73,-0.19 c -0.07,-0.05 -0.14,-0.1 -0.21,-0.15 -0.2,-0.15 -0.4,-0.31 -0.6,-0.47 -0.37,-0.3 -0.73,-0.61 -1.08,-0.94 -0.7,-0.65 -1.36,-1.34 -1.97,-2.07 -1.23,-1.48 -2.28,-3.11 -3.09,-4.86 -0.07,-0.15 -0.28,-0.02 -0.21,0.13 0.76,1.79 1.75,3.48 2.99,4.99 0.61,0.75 1.28,1.46 1.99,2.13 0.35,0.33 0.71,0.64 1.08,0.94 0.17,0.14 0.35,0.28 0.53,0.41 0.04,0.03 0.08,0.06 0.12,0.1 -0.85,0.37 -1.71,0.73 -2.56,1.1 -0.42,-0.29 -0.84,-0.56 -1.23,-0.89 -0.49,-0.42 -0.94,-0.88 -1.36,-1.37 -0.85,-1.01 -1.51,-2.15 -1.96,-3.4 -0.05,-0.12 -0.24,-0.07 -0.2,0.05 0.44,1.25 1.08,2.43 1.9,3.47 0.42,0.53 0.89,1.02 1.39,1.48 0.32,0.29 0.68,0.58 1.05,0.84 -0.34,0.14 -0.67,0.29 -1.01,0.43 -0.09,0.04 -0.18,0.08 -0.27,0.11 -0.99,-1.01 -1.93,-2.06 -2.75,-3.2 -1.07,-1.48 -1.95,-3.09 -2.68,-4.77 -0.02,-0.05 -0.1,-0.01 -0.08,0.03 1.24,2.95 3.02,5.71 5.19,8.07 -0.42,0.18 -0.84,0.35 -1.26,0.54 -0.2,-0.16 -0.39,-0.33 -0.58,-0.5 -0.38,-0.34 -0.75,-0.7 -1.11,-1.08 -0.74,-0.77 -1.42,-1.6 -2.03,-2.47 -1.22,-1.74 -2.19,-3.69 -2.87,-5.7 -0.04,-0.12 -0.23,-0.07 -0.2,0.05 0.58,2.1 1.51,4.05 2.75,5.84 0.61,0.87 1.28,1.7 2.01,2.48 0.38,0.4 0.77,0.78 1.18,1.15 0.15,0.14 0.31,0.27 0.46,0.4 -0.23,0.11 -0.45,0.24 -0.68,0.35 -0.32,-0.2 -0.66,-0.36 -1.02,-0.5 -0.62,-0.47 -1.13,-1.1 -1.6,-1.72 -0.85,-1.13 -1.6,-2.32 -2.33,-3.52 -0.07,-0.11 -0.22,-0.01 -0.17,0.1 0.68,1.38 1.54,2.67 2.48,3.89 0.19,0.25 0.39,0.51 0.6,0.77 0,0.01 0,0.01 0,0.02 -0.42,-0.25 -0.8,-0.53 -1.17,-0.84 0.01,0 0.03,0.01 0.04,0.01 0.08,0.04 0.15,0.08 0.23,0.11 0.07,0.02 0.15,-0.07 0.1,-0.14 -0.05,-0.07 -0.12,-0.13 -0.18,-0.2 0,-0.01 0,-0.01 -0.01,-0.02 -0.02,-0.03 -0.05,-0.06 -0.08,-0.08 -0.03,-0.02 -0.06,-0.04 -0.08,-0.06 -0.05,-0.04 -0.11,-0.08 -0.16,-0.12 -0.03,-0.02 -0.09,-0.03 -0.12,-0.02 -0.04,0.01 -0.08,0.04 -0.1,0.08 -0.02,0.03 -0.02,0.06 -0.01,0.1 -0.13,-0.12 -0.27,-0.23 -0.39,-0.35 0,0 0,0 0,0 0,0 0.01,0 0.02,-0.01 -0.01,0 -0.02,0 -0.02,0 -1.33,-1.34 -2.37,-2.93 -3.34,-4.55 -2.29,-3.84 -3.93,-7.97 -5.06,-12.29 -0.31,-1.19 -0.51,-2.34 -0.46,-3.58 0.02,-0.48 0.12,-1 0.3,-1.49 0.26,-0.01 0.52,-0.08 0.78,-0.17 -0.02,0.09 -0.05,0.18 -0.06,0.28 -0.05,0.5 -0.03,1.02 0.17,1.49 0.08,0.18 0.34,0.07 0.35,-0.09 0.01,-0.45 -0.02,-0.89 0.04,-1.34 0.03,-0.19 0.07,-0.37 0.12,-0.55 0.11,-0.04 0.23,-0.09 0.34,-0.13 0.79,-0.27 1.55,-0.59 2.33,-0.9 0.37,-0.15 0.73,-0.31 1.1,-0.46 0,0.15 -0.01,0.29 -0.01,0.44 -0.01,0.33 -0.04,0.67 0.02,0.99 0.03,0.17 0.29,0.16 0.33,0 0.07,-0.32 0.04,-0.66 0.05,-0.99 0,-0.2 0,-0.4 0,-0.6 0.33,-0.14 0.66,-0.27 0.99,-0.41 -0.14,0.82 -0.15,1.65 -0.01,2.48 0.17,1.01 0.55,2.12 1.23,2.91 0.09,0.11 0.25,-0.03 0.19,-0.15 -0.46,-0.92 -0.87,-1.78 -1.06,-2.8 -0.16,-0.85 -0.13,-1.73 0.01,-2.58 0.51,-0.21 1.03,-0.42 1.54,-0.64 -0.06,0.7 -0.09,1.39 -0.07,2.09 0.01,0.48 0.04,0.95 0.09,1.43 0.04,0.43 0.06,0.95 0.22,1.36 0.05,0.14 0.25,0.12 0.26,-0.03 0.03,-0.46 -0.08,-0.96 -0.12,-1.42 -0.04,-0.46 -0.07,-0.92 -0.08,-1.38 -0.02,-0.73 0,-1.45 0.04,-2.18 0.49,-0.2 0.97,-0.41 1.46,-0.61 -0.29,1.1 -0.37,2.23 -0.22,3.36 0.09,0.64 0.24,1.28 0.47,1.89 0.21,0.56 0.46,1.21 0.89,1.63 0.06,0.06 0.18,0 0.15,-0.09 -0.19,-0.56 -0.53,-1.07 -0.74,-1.62 -0.22,-0.58 -0.38,-1.18 -0.47,-1.79 -0.18,-1.15 -0.12,-2.35 0.14,-3.48 0.54,-0.22 1.08,-0.45 1.62,-0.68 -0.12,0.57 -0.21,1.16 -0.23,1.74 -0.01,0.36 0,0.71 0.03,1.07 0.03,0.34 0.07,0.73 0.22,1.05 0.05,0.11 0.21,0.04 0.22,-0.06 0.03,-0.34 -0.04,-0.72 -0.06,-1.06 -0.02,-0.33 -0.03,-0.66 -0.02,-0.99 0.02,-0.64 0.09,-1.27 0.21,-1.9 0.22,-0.09 0.44,-0.18 0.65,-0.27 0.29,2.38 1.06,4.73 1.83,6.99 1.86,5.47 4.39,10.72 7.54,15.57 0.45,0.69 0.92,1.46 1.48,2.14 -0.01,0 -0.01,0 -0.02,0.01 -0.29,-0.31 -0.58,-0.62 -0.85,-0.95 -0.55,-0.67 -1.06,-1.37 -1.54,-2.09 -0.96,-1.44 -1.77,-2.98 -2.41,-4.58 -0.05,-0.12 -0.24,-0.07 -0.19,0.05 0.63,1.63 1.41,3.21 2.36,4.68 0.46,0.72 0.96,1.42 1.49,2.09 0.25,0.31 0.5,0.64 0.77,0.95 -0.17,0.07 -0.34,0.14 -0.51,0.21 -0.29,-0.33 -0.58,-0.67 -0.86,-1.01 -0.61,-0.76 -1.17,-1.55 -1.71,-2.36 -1.08,-1.63 -2,-3.36 -2.72,-5.17 -0.06,-0.14 -0.28,-0.08 -0.23,0.06 0.68,1.84 1.53,3.61 2.57,5.28 0.5,0.81 1.06,1.59 1.65,2.34 0.28,0.36 0.57,0.71 0.87,1.05 -0.27,0.11 -0.54,0.23 -0.81,0.34 -0.1,-0.09 -0.19,-0.19 -0.26,-0.3 -0.09,-0.15 -0.23,-0.28 -0.34,-0.41 -0.11,-0.14 -0.22,-0.29 -0.31,-0.45 -0.07,-0.12 -0.25,-0.01 -0.19,0.11 0.09,0.17 0.18,0.33 0.29,0.49 0.1,0.15 0.22,0.32 0.37,0.43 0.09,0.07 0.18,0.14 0.27,0.21 -0.13,0.06 -0.27,0.11 -0.4,0.17 -3.05,-2.36 -5.4,-5.63 -6.71,-9.26 -0.04,-0.1 -0.2,-0.06 -0.17,0.05 1.19,3.69 3.46,6.94 6.46,9.39 -0.33,0.06 -0.64,0.19 -0.95,0.32 z m 8.82,-2.2 c -0.04,0.02 -0.08,0.03 -0.12,0.05 -0.14,-0.1 -0.3,-0.18 -0.47,-0.18 -0.06,0 -0.12,0.01 -0.18,0.01 -0.15,-0.14 -0.29,-0.28 -0.44,-0.42 -0.31,-0.3 -0.6,-0.61 -0.9,-0.92 -0.61,-0.66 -1.18,-1.35 -1.72,-2.07 -1.03,-1.39 -1.93,-2.89 -2.7,-4.43 -0.07,-0.13 -0.25,-0.01 -0.19,0.11 0.71,1.63 1.61,3.15 2.67,4.58 0.51,0.68 1.06,1.34 1.63,1.98 0.29,0.32 0.59,0.63 0.89,0.93 0.11,0.11 0.22,0.21 0.33,0.32 -0.06,0.02 -0.12,0.02 -0.19,0.05 -0.15,0.05 -0.27,0.09 -0.43,0.08 -0.49,-0.02 -0.87,-0.38 -1.18,-0.72 -0.78,-0.86 -1.39,-1.93 -2.01,-2.9 -1.36,-2.13 -2.61,-4.33 -3.72,-6.6 -2.11,-4.29 -3.87,-8.89 -4.88,-13.57 -0.21,-1 -0.3,-2 -0.24,-3.02 0.02,-0.45 0.05,-0.84 0.23,-1.26 0.09,-0.21 0.19,-0.41 0.3,-0.61 0.12,0.56 0.25,1.12 0.4,1.67 0.03,0.11 0.08,0.22 0.11,0.33 -0.02,0.3 -0.04,0.61 -0.04,0.91 0,0.45 0.01,0.9 0.04,1.35 0.03,0.44 0.03,0.97 0.2,1.38 0.05,0.11 0.26,0.16 0.28,0 0.06,-0.42 -0.02,-0.87 -0.05,-1.29 -0.03,-0.39 -0.04,-0.78 -0.04,-1.17 0.17,0.52 0.31,1.04 0.5,1.55 0.14,0.35 0.28,0.74 0.43,1.13 0.17,0.76 0.34,1.53 0.53,2.29 0.19,0.8 0.35,1.61 0.67,2.37 0.03,0.08 0.17,0.08 0.16,-0.02 -0.07,-0.81 -0.29,-1.6 -0.49,-2.39 -0.08,-0.31 -0.16,-0.62 -0.24,-0.93 0.11,0.18 0.22,0.36 0.35,0.51 0.37,0.43 0.93,0.2 1.15,-0.21 0.06,0.01 0.12,0.01 0.19,0.01 0.1,0.4 0.2,0.8 0.3,1.2 0.07,0.26 0.13,0.53 0.2,0.79 0.06,0.24 0.11,0.55 0.26,0.75 0.06,0.08 0.22,0.03 0.23,-0.06 0.04,-0.24 -0.07,-0.52 -0.13,-0.75 -0.07,-0.27 -0.15,-0.54 -0.22,-0.82 -0.1,-0.38 -0.2,-0.75 -0.3,-1.13 0.27,-0.04 0.54,-0.11 0.74,-0.16 0.22,-0.05 0.43,-0.13 0.64,-0.21 0.02,0.11 0.02,0.21 0.05,0.32 0.06,0.25 0.14,0.51 0.24,0.75 0.05,0.11 0.1,0.22 0.17,0.32 0.07,0.11 0.12,0.24 0.23,0.32 0.09,0.07 0.21,0.01 0.19,-0.11 -0.02,-0.11 -0.08,-0.22 -0.13,-0.32 -0.05,-0.11 -0.09,-0.23 -0.13,-0.35 -0.09,-0.23 -0.17,-0.46 -0.22,-0.7 -0.03,-0.11 -0.03,-0.22 -0.05,-0.33 0.33,-0.13 0.67,-0.27 0.99,-0.41 0.13,-0.06 0.26,-0.13 0.38,-0.19 0.03,0.13 0.06,0.26 0.09,0.39 0.11,0.47 0.19,0.97 0.38,1.41 0.03,0.07 0.16,0.08 0.15,-0.02 -0.02,-0.48 -0.16,-0.96 -0.26,-1.44 -0.03,-0.16 -0.07,-0.31 -0.1,-0.47 0.37,-0.17 0.75,-0.34 1.11,-0.54 0.08,-0.04 0.15,-0.09 0.23,-0.13 0.06,0.24 0.11,0.49 0.17,0.73 0.06,0.28 0.13,0.55 0.19,0.83 0.03,0.13 0.06,0.27 0.09,0.4 0.04,0.16 0.11,0.29 0.17,0.45 0.03,0.08 0.18,0.08 0.17,-0.02 -0.01,-0.15 -0.01,-0.29 -0.04,-0.43 -0.02,-0.13 -0.06,-0.27 -0.09,-0.4 -0.07,-0.29 -0.14,-0.57 -0.2,-0.86 -0.07,-0.28 -0.13,-0.56 -0.2,-0.84 0.12,-0.07 0.23,-0.13 0.35,-0.21 0.06,-0.04 0.13,-0.08 0.19,-0.12 0.26,-0.02 0.51,-0.13 0.68,-0.33 0.1,0.32 0.2,0.63 0.3,0.95 0.07,0.23 0.15,0.45 0.22,0.68 0.04,0.11 0.08,0.22 0.13,0.33 0.04,0.11 0.08,0.21 0.15,0.3 0.07,0.08 0.18,0.01 0.19,-0.08 0.01,-0.12 -0.04,-0.24 -0.06,-0.35 -0.02,-0.11 -0.05,-0.21 -0.09,-0.32 -0.07,-0.23 -0.15,-0.45 -0.22,-0.68 -0.14,-0.43 -0.28,-0.86 -0.42,-1.3 0.01,-0.11 0.01,-0.21 -0.03,-0.34 -0.57,-1.97 -1.35,-3.88 -2.37,-5.66 0.04,-0.1 0.05,-0.2 0.07,-0.31 0.02,-0.11 0.05,-0.21 0.07,-0.32 0.03,-0.21 0.07,-0.42 0.1,-0.64 0.03,-0.25 0.04,-0.5 0.07,-0.74 0.29,-0.11 0.59,-0.23 0.88,-0.34 -0.01,0.1 -0.05,0.19 -0.05,0.29 -0.02,0.22 -0.01,0.44 0,0.66 0.01,0.11 0.03,0.22 0.05,0.33 0.02,0.11 0.04,0.21 0.08,0.31 0.04,0.08 0.19,0.07 0.2,-0.03 0.02,-0.11 0.01,-0.21 0,-0.32 0,-0.1 0,-0.2 0,-0.3 -0.01,-0.21 -0.01,-0.42 0,-0.64 0,-0.15 0.05,-0.3 0.06,-0.45 0.19,-0.07 0.37,-0.14 0.56,-0.22 -0.02,0.49 -0.03,0.97 -0.01,1.46 0.01,0.45 0.04,0.9 0.09,1.35 0.04,0.42 0.08,0.88 0.22,1.28 0.04,0.11 0.21,0.1 0.21,-0.03 0.03,-0.44 -0.05,-0.91 -0.09,-1.35 -0.04,-0.44 -0.06,-0.87 -0.08,-1.31 -0.02,-0.52 0.01,-1.03 0.02,-1.55 0.32,-0.13 0.65,-0.25 0.97,-0.38 -0.13,1.22 -0.12,2.44 0.04,3.66 0.11,0.84 0.3,1.67 0.55,2.48 0.25,0.79 0.55,1.62 1.01,2.31 0.05,0.08 0.2,0.03 0.17,-0.07 -0.26,-0.77 -0.58,-1.51 -0.81,-2.29 -0.23,-0.78 -0.41,-1.57 -0.53,-2.38 -0.19,-1.27 -0.21,-2.57 -0.1,-3.85 0.51,-0.2 1.02,-0.39 1.52,-0.59 -0.12,0.93 -0.18,1.86 -0.14,2.8 0.03,0.6 0.09,1.2 0.21,1.79 0.13,0.62 0.24,1.27 0.46,1.87 0.02,0.06 0.11,0.04 0.1,-0.03 -0.1,-0.61 -0.25,-1.21 -0.32,-1.82 -0.06,-0.6 -0.11,-1.21 -0.15,-1.81 -0.05,-0.97 -0.02,-1.94 0.08,-2.9 0.34,-0.13 0.68,-0.26 1.01,-0.39 -0.17,1.47 -0.15,2.96 0.07,4.43 0.14,0.98 0.37,1.95 0.68,2.89 0.15,0.47 0.33,0.93 0.52,1.39 0.16,0.39 0.33,0.89 0.63,1.19 0.1,0.1 0.23,-0.01 0.21,-0.12 -0.07,-0.45 -0.37,-0.9 -0.54,-1.32 -0.18,-0.44 -0.34,-0.89 -0.49,-1.35 -0.28,-0.88 -0.49,-1.78 -0.62,-2.68 -0.23,-1.51 -0.25,-3.05 -0.09,-4.57 0.03,-0.01 0.07,-0.03 0.1,-0.04 0.23,-0.09 0.46,-0.18 0.69,-0.27 0.03,0.78 0.05,1.55 0.08,2.33 0.02,0.61 0.05,1.23 0.08,1.84 0.03,0.59 0,1.24 0.13,1.82 0.04,0.17 0.26,0.11 0.28,-0.04 0.08,-0.61 -0.01,-1.28 -0.04,-1.9 -0.02,-0.59 -0.06,-1.19 -0.08,-1.78 -0.04,-0.8 -0.09,-1.6 -0.13,-2.39 0.15,-0.06 0.29,-0.11 0.44,-0.17 0,0.04 -0.01,0.09 -0.02,0.13 -0.12,1.18 -0.04,2.38 0.13,3.55 0.26,1.8 0.75,3.58 1.29,5.33 -0.96,2.98 -0.58,6.13 0.85,8.91 0.63,1.22 1.47,2.33 2.45,3.3 0.48,1.44 1.1,2.83 1.85,4.15 0.51,0.9 1.09,1.77 1.72,2.6 0.3,0.4 0.62,0.79 0.94,1.17 0.12,0.14 0.24,0.28 0.37,0.41 -0.29,0.13 -0.58,0.25 -0.88,0.38 -0.2,-0.36 -0.59,-0.65 -0.87,-0.95 -0.29,-0.31 -0.57,-0.64 -0.84,-0.97 -0.59,-0.72 -1.12,-1.47 -1.61,-2.26 -0.96,-1.53 -1.78,-3.18 -2.36,-4.9 -0.05,-0.14 -0.26,-0.08 -0.22,0.06 0.56,1.77 1.28,3.46 2.26,5.03 0.48,0.77 1,1.51 1.57,2.21 0.29,0.36 0.59,0.71 0.9,1.05 0.25,0.28 0.53,0.64 0.85,0.86 -0.36,0.16 -0.73,0.31 -1.09,0.47 -0.09,-0.13 -0.21,-0.24 -0.33,-0.36 -0.2,-0.19 -0.4,-0.38 -0.6,-0.57 -0.36,-0.37 -0.71,-0.75 -1.05,-1.14 -0.68,-0.8 -1.3,-1.66 -1.84,-2.56 -1.09,-1.81 -1.91,-3.81 -2.37,-5.88 -0.04,-0.18 -0.32,-0.11 -0.28,0.08 0.45,2.13 1.24,4.17 2.36,6.04 0.55,0.92 1.17,1.79 1.86,2.6 0.36,0.42 0.73,0.83 1.12,1.21 0.2,0.19 0.4,0.38 0.6,0.57 0.06,0.06 0.13,0.11 0.19,0.16 -0.33,0.14 -0.65,0.28 -0.98,0.42 -0.29,-0.41 -0.67,-0.79 -0.99,-1.17 -0.42,-0.49 -0.82,-1 -1.21,-1.51 -0.75,-0.97 -1.46,-1.97 -2.11,-3.01 -0.08,-0.12 -0.27,-0.01 -0.2,0.12 0.65,1.08 1.34,2.14 2.1,3.15 0.36,0.48 0.74,0.94 1.12,1.4 0.32,0.38 0.65,0.8 1.03,1.14 -0.47,0.2 -0.94,0.41 -1.41,0.61 -0.09,-0.09 -0.18,-0.17 -0.26,-0.26 -0.37,-0.39 -0.72,-0.79 -1.06,-1.19 -0.73,-0.87 -1.4,-1.79 -2.01,-2.75 -1.2,-1.88 -2.21,-3.93 -2.92,-6.04 -0.05,-0.14 -0.27,-0.08 -0.23,0.06 0.53,1.7 1.2,3.33 2.06,4.89 0.86,1.55 1.88,3.02 3.03,4.37 0.31,0.36 0.63,0.75 0.97,1.11 -0.3,0.13 -0.59,0.26 -0.89,0.39 -0.05,-0.05 -0.11,-0.1 -0.16,-0.15 -0.31,-0.31 -0.62,-0.64 -0.92,-0.97 -0.6,-0.66 -1.16,-1.36 -1.68,-2.08 -1.03,-1.43 -1.92,-2.96 -2.66,-4.56 -0.08,-0.17 -0.31,-0.02 -0.24,0.14 0.71,1.65 1.6,3.22 2.65,4.68 0.51,0.71 1.05,1.39 1.63,2.04 0.3,0.33 0.6,0.66 0.91,0.98 0.03,0.03 0.06,0.06 0.08,0.08 -0.39,0.17 -0.78,0.35 -1.18,0.52 -0.21,-0.18 -0.41,-0.36 -0.62,-0.54 -0.37,-0.33 -0.72,-0.67 -1.06,-1.03 -0.67,-0.71 -1.27,-1.47 -1.81,-2.28 -1.08,-1.63 -1.91,-3.44 -2.4,-5.33 -0.04,-0.17 -0.3,-0.1 -0.26,0.07 0.48,1.95 1.27,3.81 2.38,5.49 0.54,0.82 1.15,1.6 1.82,2.33 0.46,0.51 0.97,1.04 1.53,1.49 -0.32,0.14 -0.63,0.28 -0.95,0.42 -2.1,-2 -3.82,-4.42 -4.92,-7.1 -0.05,-0.11 -0.23,-0.07 -0.19,0.05 1.05,2.73 2.66,5.17 4.75,7.21 -0.44,0.19 -0.88,0.38 -1.31,0.58 -1.43,-1.36 -2.74,-2.8 -3.85,-4.46 -1.21,-1.81 -2.17,-3.79 -2.9,-5.84 -0.05,-0.14 -0.28,-0.09 -0.23,0.06 0.66,2.11 1.62,4.11 2.82,5.95 1.05,1.61 2.3,3.16 3.72,4.47 -0.2,0.09 -0.4,0.17 -0.59,0.26 -0.29,0.25 -0.6,0.43 -0.94,0.58 z m 30.47,6.96 c -2.9,-2 -5.65,-4.26 -8.2,-6.72 -0.57,-0.66 -1.13,-1.32 -1.7,-1.98 -0.88,-1.01 -1.72,-2.05 -2.54,-3.11 0.23,-0.05 0.41,-0.17 0.52,-0.34 0.15,-0.04 0.29,-0.08 0.44,-0.12 0.57,1.08 1.19,2.13 1.95,3.11 0.56,0.72 1.14,1.43 1.85,2 0.72,0.58 1.35,1.26 2.07,1.84 0.8,0.64 1.65,1.26 2.57,1.72 0.16,0.08 0.28,-0.14 0.14,-0.23 -0.74,-0.5 -1.5,-0.97 -2.21,-1.5 -0.72,-0.54 -1.51,-1.06 -2.09,-1.76 -1.15,-1.37 -2.33,-2.74 -3.27,-4.27 -0.21,-0.33 -0.4,-0.67 -0.59,-1.02 0.27,-0.08 0.53,-0.16 0.79,-0.25 0.41,0.56 0.81,1.12 1.23,1.67 0.28,0.37 0.55,0.74 0.84,1.1 0.14,0.18 0.29,0.37 0.45,0.54 0.16,0.17 0.31,0.36 0.48,0.5 0.12,0.1 0.28,-0.02 0.22,-0.17 -0.09,-0.21 -0.24,-0.41 -0.36,-0.6 -0.12,-0.2 -0.26,-0.39 -0.4,-0.57 -0.28,-0.38 -0.57,-0.75 -0.86,-1.12 -0.39,-0.5 -0.79,-1 -1.18,-1.49 0.31,-0.11 0.62,-0.21 0.93,-0.33 0.53,0.67 1.07,1.33 1.63,1.97 1.1,1.24 2.34,2.31 3.52,3.46 0.22,0.21 0.47,0.28 0.71,0.24 4.39,3.91 9.35,7.19 14.69,9.64 1.81,0.83 3.66,1.52 5.54,2.15 -0.01,0.03 -0.01,0.05 -0.02,0.08 0.1,0.01 0.2,0.02 0.3,0.04 0.03,0.01 0.07,0.02 0.1,0.03 0.09,0.04 0.23,0.08 0.32,0.14 0.09,0.06 0.19,0.13 0.27,0.22 0.01,-0.06 0.03,-0.12 0.04,-0.18 0.36,0.11 0.71,0.24 1.07,0.35 -0.08,0.36 -0.16,0.71 -0.24,1.07 -0.04,-0.01 -0.09,-0.02 -0.13,-0.04 -0.37,-0.11 -0.73,-0.22 -1.09,-0.33 -0.73,-0.22 -1.46,-0.44 -2.18,-0.7 -1.46,-0.53 -2.9,-1.1 -4.32,-1.73 -0.16,-0.07 -0.31,0.17 -0.14,0.24 1.4,0.64 2.82,1.23 4.27,1.77 0.72,0.27 1.43,0.55 2.15,0.8 0.38,0.13 0.76,0.25 1.14,0.38 0.07,0.02 0.14,0.04 0.21,0.07 -0.1,0.42 -0.2,0.85 -0.29,1.27 -0.2,-0.04 -0.4,-0.07 -0.59,-0.12 -0.41,-0.11 -0.8,-0.25 -1.19,-0.41 -0.82,-0.33 -1.6,-0.75 -2.35,-1.22 -0.15,-0.1 -0.29,0.14 -0.14,0.24 0.74,0.49 1.51,0.91 2.33,1.25 0.41,0.17 0.84,0.33 1.26,0.48 0.18,0.07 0.38,0.15 0.58,0.21 -0.03,0.13 -0.06,0.25 -0.09,0.38 -0.37,-0.11 -0.73,-0.21 -1.1,-0.32 0.03,-0.14 0.07,-0.29 0.1,-0.43 -0.05,0.02 -0.1,0.04 -0.15,0.06 -0.01,0 -0.01,0 -0.02,0.01 -0.17,0.05 -0.35,0.05 -0.52,0 -0.08,-0.03 -0.16,-0.07 -0.24,-0.1 -0.07,-0.04 -0.13,-0.09 -0.18,-0.14 -0.02,0.09 -0.04,0.18 -0.07,0.27 -5.76,-1.88 -11.25,-4.54 -16.26,-8 z m 17.95,10.8 c -0.03,0.11 -0.05,0.22 -0.08,0.33 -0.06,-0.08 -0.14,-0.15 -0.21,-0.2 -0.11,-0.08 -0.23,-0.14 -0.36,-0.18 -0.17,-0.06 -0.34,-0.06 -0.51,-0.05 0.02,-0.08 0.04,-0.16 0.06,-0.24 0.35,0.12 0.72,0.23 1.1,0.34 z m -2.98,7.53 c 0.05,0.03 0.11,0.04 0.17,0.02 0.1,-0.04 0.21,-0.06 0.32,-0.08 0.01,0 0.02,0 0.03,-0.01 0,0 0.01,0 0.02,0 0.02,0 0.05,0 0.07,-0.01 0.05,0 0.11,-0.01 0.16,0 0.05,0 0.11,0.01 0.16,0.01 0.01,0 0.01,0 0.01,0 0,0 0,0 0.01,0 0.03,0.01 0.06,0.01 0.09,0.02 0.05,0.01 0.11,0.03 0.16,0.04 0.01,0 0.01,0 0.02,0.01 0,0 0,0 0.01,0 -0.06,0.25 -0.11,0.49 -0.17,0.74 -0.18,0.02 -0.35,0.06 -0.52,0.11 -0.17,0.05 -0.35,0.1 -0.52,0.15 -0.14,0.04 -0.24,0.2 -0.19,0.34 0.05,0.15 0.19,0.23 0.34,0.19 0.18,-0.04 0.35,-0.08 0.53,-0.12 0.08,-0.02 0.15,-0.05 0.23,-0.07 -0.05,0.23 -0.1,0.46 -0.16,0.69 -0.02,0 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.03,0 -0.05,0 -0.08,-0.01 -0.16,0.01 -0.23,0.04 -0.06,0.02 -0.12,0.04 -0.17,0.05 l -0.34,0.09 c -0.04,0 -0.09,0 -0.13,0 -0.1,0 -0.21,0.01 -0.31,0.01 0.18,-0.73 0.35,-1.46 0.52,-2.2 z m -0.73,2.22 c -0.06,0 -0.11,0 -0.17,0 -0.23,0.01 -0.46,0.01 -0.69,0.02 -0.06,0 -0.12,0.01 -0.18,0.02 0.31,-0.24 0.71,-0.24 1.04,-0.04 z m -3.91,8.91 c -0.06,0.02 -0.12,0.04 -0.18,0.06 0,-0.05 0.01,-0.09 0,-0.15 -0.02,-0.08 -0.03,-0.17 -0.04,-0.25 0.08,0.02 0.18,0 0.22,-0.08 0.01,-0.02 0.02,-0.04 0.04,-0.06 0,0 0,0 0,0 0,-0.01 0.01,-0.01 0.01,-0.02 0.01,-0.01 0.03,-0.03 0.04,-0.04 0,0 0,0 0,0 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.02,-0.01 0.04,-0.02 0.06,-0.03 -0.06,0.03 0,0 0.02,-0.01 0.02,-0.01 0.04,-0.01 0.07,-0.02 0,0 0,0 0,0 0.01,0 0.02,0 0.02,0 0.02,0 0.05,0 0.07,0 0.01,0 0.02,0 0.03,0 0.04,0.01 0.08,0.02 0.12,0.03 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.04,0.02 0.06,0.03 0,0 0,0 0,0 0.05,0.03 0.09,0.05 0.14,0.07 0.01,0.01 0.02,0.02 0.02,0.02 0.03,0.03 0.05,0.05 0.09,0.08 0.07,0.05 0.16,0 0.18,-0.07 0.03,-0.08 0,-0.17 -0.04,-0.25 -0.01,-0.09 -0.08,-0.15 -0.15,-0.21 -0.06,-0.05 -0.13,-0.08 -0.21,-0.1 -0.13,-0.04 -0.27,-0.04 -0.41,-0.02 -0.23,0.03 -0.41,0.18 -0.52,0.37 -0.06,-0.32 -0.11,-0.63 -0.17,-0.95 0.13,-0.01 0.26,-0.03 0.4,-0.04 0.11,-0.01 0.21,-0.02 0.32,-0.03 0.13,-0.01 0.29,-0.01 0.36,-0.13 0.04,-0.06 0.02,-0.14 -0.02,-0.18 -0.1,-0.1 -0.24,-0.06 -0.36,-0.05 l -0.31,0.04 c -0.15,0.02 -0.3,0.03 -0.45,0.05 -0.02,-0.12 -0.04,-0.23 -0.06,-0.35 0.12,-0.01 0.23,-0.02 0.35,-0.03 0.1,-0.01 0.2,-0.02 0.31,-0.03 0.05,0 0.09,-0.01 0.14,-0.02 0.07,-0.01 0.12,-0.03 0.18,-0.05 0.07,-0.02 0.12,-0.09 0.11,-0.16 -0.01,-0.08 -0.07,-0.12 -0.14,-0.13 -0.05,-0.01 -0.1,-0.02 -0.15,-0.01 -0.05,0 -0.1,0.01 -0.15,0.02 -0.1,0.01 -0.2,0.02 -0.29,0.04 -0.13,0.02 -0.26,0.03 -0.39,0.05 -0.1,-0.66 -0.16,-1.32 -0.22,-1.98 0.19,0 0.39,0.01 0.58,0.01 0.11,0 0.23,0.01 0.34,0.01 0.13,0 0.31,0.02 0.4,-0.09 0.06,-0.08 0.06,-0.17 0,-0.24 -0.09,-0.11 -0.26,-0.08 -0.38,-0.09 -0.12,0 -0.23,0 -0.35,0.01 -0.21,0 -0.41,0.01 -0.62,0.01 -0.02,-0.24 -0.06,-0.49 -0.07,-0.73 0.04,0.03 0.08,0.05 0.13,0.06 0.43,0.03 0.87,0.04 1.3,0.03 0.12,0 0.24,-0.1 0.23,-0.23 -0.01,-0.13 -0.1,-0.23 -0.23,-0.23 -0.43,-0.01 -0.87,0 -1.3,0.03 -0.06,0 -0.11,0.03 -0.14,0.07 -0.05,-0.88 -0.08,-1.76 -0.07,-2.65 0.01,-0.58 0.03,-1.16 0.03,-1.74 0.15,0.06 0.3,0.11 0.45,0.15 0.16,0.04 0.31,0.06 0.47,0.08 0.16,0.02 0.32,0.05 0.48,0.07 0.17,0.02 0.34,0.05 0.51,0.06 -0.05,1.43 0.12,2.9 0.18,4.3 0.08,1.79 0.05,3.63 0.23,5.42 -0.2,0.04 -0.39,0.08 -0.59,0.12 -0.25,0.04 -0.49,0.09 -0.73,0.17 z m -10.91,38.37 c 0.98,-0.25 1.97,-0.44 2.97,-0.57 0.19,0.07 0.39,0.04 0.56,-0.08 0.44,-0.05 0.91,-0.09 1.38,-0.14 -0.08,0.33 -0.17,0.67 -0.25,1 -0.87,0.14 -1.72,0.38 -2.5,0.79 -0.58,0.3 -1.17,0.66 -1.54,1.22 -0.42,0.63 -0.41,1.42 -0.04,2.07 0.54,0.93 1.63,1.29 2.69,1.52 -0.02,0.08 -0.04,0.15 -0.06,0.23 -0.07,0.27 -0.14,0.53 -0.2,0.79 -0.39,-0.09 -0.78,-0.18 -1.17,-0.28 -2.58,-0.66 -5.89,-1.32 -7.68,-3.36 0.02,-0.04 0.05,-0.08 0.05,-0.13 0.01,-0.39 0.5,-0.95 0.8,-1.16 0.46,-0.33 1.03,-0.53 1.55,-0.75 1.12,-0.46 2.27,-0.85 3.44,-1.15 z m -7.28,-0.85 c 0.52,0.21 1.02,0.49 1.48,0.82 0.24,0.17 0.45,0.36 0.67,0.52 -0.01,0.01 -0.02,0.01 -0.03,0.01 -0.12,0.07 -0.24,0.16 -0.35,0.23 -0.34,-0.28 -0.79,-0.47 -1.17,-0.63 -0.42,-0.18 -0.86,-0.32 -1.31,-0.43 0.23,-0.09 0.39,-0.31 0.4,-0.57 0,-0.02 0,-0.04 0,-0.07 0.11,0.05 0.21,0.08 0.31,0.12 z m -1.25,-2.67 c -0.07,0.61 -0.14,1.23 -0.2,1.84 -0.01,0 -0.02,0.01 -0.03,0.01 -0.06,0.06 -0.13,0.12 -0.2,0.17 -0.09,0.02 -0.18,0.05 -0.27,0.07 -0.01,0 -0.13,0.02 -0.18,0.02 -0.07,0 -0.14,0 -0.21,-0.01 -0.03,0 -0.07,-0.01 -0.1,-0.01 0.01,0 0.02,0 0.03,0 -0.07,-0.01 -0.15,-0.03 -0.22,-0.05 -0.07,-0.02 -0.14,-0.04 -0.21,-0.06 0,0 -0.01,0 -0.01,0 -0.02,-0.01 -0.05,-0.02 -0.06,-0.02 -0.07,-0.03 -0.14,-0.07 -0.21,-0.11 -0.03,-0.02 -0.07,-0.04 -0.1,-0.06 0,0 0,0 0,0 -0.05,-0.06 -0.14,-0.13 -0.2,-0.17 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.01,-0.02 -0.06,-0.05 -0.08,-0.07 -0.06,-0.05 -0.11,-0.11 -0.16,-0.16 0,0 0,0 0,0 0,0 0,0 0,0 -0.03,-0.04 -0.05,-0.06 -0.08,-0.09 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.02,-0.25 -0.04,-0.5 -0.06,-0.75 -0.03,-0.43 -0.06,-0.86 -0.1,-1.29 0.3,0.4 0.7,0.73 1.16,0.89 0.43,0.15 0.94,0.17 1.38,0.05 0.08,-0.03 0.15,-0.07 0.22,-0.09 z m -2.63,3.06 c 0.02,-0.03 0.02,-0.06 0.03,-0.09 0.05,0.04 0.1,0.08 0.15,0.11 -0.08,0.01 -0.16,0.02 -0.24,0.04 0.02,-0.03 0.04,-0.04 0.06,-0.06 z m 0.44,-4.86 c 0.01,0 0.01,-0.01 0.02,-0.01 0.07,-0.05 0.15,-0.1 0.23,-0.14 0.01,-0.01 0.08,-0.04 0.09,-0.04 0.03,-0.01 0.05,-0.02 0.08,-0.03 0.09,-0.03 0.19,-0.05 0.29,-0.07 0,0 0,0 0.01,0 0,0 0,0 0,0 0.04,0 0.09,-0.01 0.13,-0.01 0.05,0 0.11,0 0.16,0.01 0,0 0.01,0 0.01,0 0.08,0.02 0.17,0.04 0.25,0.06 0.04,0.01 0.08,0.03 0.12,0.04 0.01,0 0.01,0 0.02,0.01 0,0 0,0 0.01,0 0.08,0.04 0.15,0.08 0.23,0.13 0.01,0.01 0.03,0.02 0.05,0.03 0.03,0.02 0.05,0.04 0.08,0.06 0.07,0.06 0.14,0.13 0.2,0.21 0,0.01 0,0 0.01,0.01 0.01,0.01 0.01,0.02 0.02,0.03 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.07,0.04 -0.14,0.08 -0.21,0.12 -0.03,0.01 -0.07,0.03 -0.1,0.04 -0.07,0.02 -0.14,0.04 -0.21,0.06 -0.04,0.01 -0.08,0.02 -0.12,0.03 -0.02,0 -0.07,0.01 -0.09,0.01 -0.01,0 -0.01,0 -0.02,0 -0.04,0 -0.08,0 -0.12,0 -0.04,0 -0.08,0 -0.12,0 0,0 -0.01,0 -0.01,0 -0.14,-0.03 -0.28,-0.06 -0.42,-0.11 0,0 -0.06,-0.03 -0.08,-0.03 -0.02,-0.01 -0.04,-0.02 -0.04,-0.02 -0.06,-0.04 -0.12,-0.08 -0.18,-0.12 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.03,-0.03 -0.06,-0.05 -0.09,-0.08 -0.05,-0.05 -0.09,-0.1 -0.13,-0.15 0,-0.02 0,-0.02 0.01,-0.03 0,0 0,0 0,0 z m -4.22,5.84 c 0.4,-0.38 0.84,-0.72 1.32,-1 0.4,-0.24 0.83,-0.41 1.27,-0.56 0.02,0.21 0.06,0.42 0.18,0.58 0.07,0.1 0.17,0.17 0.28,0.22 -0.19,0.05 -0.37,0.1 -0.56,0.16 -1.12,0.4 -2.16,1.03 -3.03,1.85 -0.11,0.1 -0.22,0.23 -0.33,0.34 0.05,-0.19 0.1,-0.38 0.14,-0.57 0.02,-0.11 0.04,-0.21 0.06,-0.32 0.22,-0.23 0.43,-0.48 0.67,-0.7 z m -1.28,4.09 c 0.46,-0.65 0.83,-1.36 1.41,-1.94 0.75,-0.75 1.65,-1.34 2.66,-1.65 1.02,-0.31 2.19,-0.32 3.24,-0.14 0.52,0.09 1.04,0.24 1.53,0.44 0.28,0.12 0.56,0.31 0.84,0.47 -0.09,0.18 -0.12,0.34 -0.13,0.51 0,0 0,0 0,0 -0.13,-0.03 -0.27,0 -0.38,0.07 -0.63,-0.36 -1.37,-0.6 -2.01,-0.72 -1.12,-0.22 -2.3,-0.18 -3.38,0.21 -1.68,0.59 -3.14,1.94 -3.68,3.64 -0.01,0.01 -0.03,0.01 -0.04,0.03 -0.04,0.08 -0.07,0.16 -0.11,0.24 -0.01,-0.4 0.02,-0.78 0.05,-1.16 z m -3.44,12.27 c 0.56,-1.33 1.67,-2.37 2.96,-2.98 0.88,-0.18 1.74,-0.35 2.6,-0.41 -0.25,0.11 -0.5,0.25 -0.71,0.43 -0.13,0.11 0.05,0.28 0.18,0.18 0.43,-0.34 0.97,-0.53 1.52,-0.55 0.27,-0.01 0.53,0.01 0.79,0.08 0.13,0.03 0.25,0.07 0.38,0.12 0.13,0.05 0.25,0.14 0.38,0.16 0.07,0.01 0.13,-0.05 0.13,-0.12 1.35,0.42 2.56,1.18 3.43,2.31 1.78,2.3 1.63,5.65 -0.55,7.66 -2.31,2.13 -6.45,1.92 -8.98,0.34 -2.35,-1.48 -3.2,-4.69 -2.13,-7.22 z m -4.15,2.05 c 0.45,-0.51 0.95,-0.98 1.51,-1.36 0.3,-0.2 0.61,-0.39 0.93,-0.55 -0.71,2.29 -0.32,4.93 1.14,6.84 -1.22,-0.59 -2.37,-1.3 -3.36,-2.22 -0.47,-0.44 -0.87,-0.93 -1.24,-1.44 0.35,-0.41 0.66,-0.86 1.02,-1.27 z m -0.2,4.3 c -0.01,-0.05 -0.02,-0.1 -0.02,-0.15 0.05,0.05 0.11,0.1 0.16,0.15 -0.05,-0.02 -0.09,-0.02 -0.14,0 z m -0.41,-0.51 c 0.05,0.46 0.11,0.92 0.17,1.38 0.03,0.25 0.07,0.5 0.11,0.75 0.03,0.16 0.07,0.32 0.11,0.48 0,0.06 0.01,0.12 0.01,0.19 0.01,0.36 0.03,0.71 0.05,1.07 0.02,0.33 0.02,0.71 0.12,1.02 0.03,0.1 0.19,0.12 0.22,0 0.07,-0.32 0.04,-0.69 0.03,-1.02 -0.01,-0.36 -0.03,-0.71 -0.05,-1.07 -0.04,-0.71 -0.07,-1.42 -0.11,-2.14 0,-0.03 -0.02,-0.05 -0.04,-0.07 0.88,0.76 1.86,1.4 2.9,1.95 -0.11,0.41 -0.17,0.83 -0.13,1.26 0.02,0.22 0.04,0.46 0.12,0.67 0.08,0.22 0.18,0.43 0.29,0.63 0.07,0.12 0.23,0.01 0.18,-0.1 -0.09,-0.2 -0.15,-0.4 -0.19,-0.61 -0.04,-0.21 -0.09,-0.42 -0.11,-0.64 -0.03,-0.36 0.02,-0.72 0.11,-1.08 0.64,0.32 1.29,0.62 1.95,0.88 -0.02,0.02 -0.04,0.06 -0.04,0.1 0.03,0.47 0.06,0.95 0.08,1.42 0.01,0.24 0.03,0.47 0.04,0.71 0.01,0.22 0,0.48 0.08,0.69 0.04,0.1 0.21,0.13 0.24,0 0.05,-0.22 0.01,-0.47 -0.01,-0.69 -0.02,-0.24 -0.04,-0.47 -0.05,-0.71 -0.04,-0.47 -0.07,-0.95 -0.11,-1.42 0.36,0.14 0.72,0.26 1.09,0.39 -0.05,0.39 -0.06,0.78 -0.01,1.17 0.06,0.51 0.17,1.08 0.46,1.52 0.09,0.14 0.32,0.05 0.27,-0.11 -0.14,-0.48 -0.32,-0.93 -0.38,-1.43 -0.04,-0.34 -0.03,-0.69 0,-1.03 0.96,0.31 1.93,0.59 2.91,0.86 -0.01,0.61 -0.02,1.22 0.03,1.83 0.01,0.16 0.23,0.16 0.24,0 0.05,-0.58 0.04,-1.16 0.03,-1.74 0.74,0.2 1.5,0.37 2.25,0.55 0,0 0,0 0,0 0.03,0.47 0.06,0.95 0.09,1.42 0.03,0.47 0.05,0.94 0.12,1.41 0.02,0.16 0.27,0.11 0.27,-0.04 0.01,-0.47 -0.04,-0.93 -0.07,-1.4 l -0.09,-1.32 c 0.62,0.14 1.24,0.28 1.87,0.41 0,0.28 0,0.55 0,0.83 0,0.22 -0.01,0.44 0,0.66 0.01,0.21 0,0.45 0.07,0.64 0.04,0.12 0.2,0.12 0.24,0 0.05,-0.16 0.06,-0.35 0.06,-0.53 0.02,0.95 0.02,1.9 0.04,2.85 0.01,0.49 0.02,0.98 0.03,1.47 0,0.09 0,0.18 0.01,0.27 -0.43,-0.11 -0.86,-0.23 -1.3,-0.34 0,-0.23 0,-0.47 0,-0.7 0,-0.55 -0.01,-1.11 -0.01,-1.66 0,-0.18 -0.29,-0.18 -0.29,0 0,0.55 -0.01,1.11 -0.01,1.66 0,0.21 0,0.41 0,0.62 -0.65,-0.17 -1.31,-0.33 -1.96,-0.51 0,-0.08 -0.01,-0.17 -0.01,-0.25 0.02,-0.47 0.03,-0.94 0.01,-1.42 -0.04,-0.96 -0.07,-1.93 -0.11,-2.89 -0.01,-0.17 -0.26,-0.17 -0.26,0 0.03,0.96 0.05,1.93 0.08,2.89 0.01,0.48 0.05,0.94 0.1,1.42 0.01,0.07 0,0.14 0.01,0.21 -0.1,-0.03 -0.21,-0.05 -0.31,-0.08 -0.24,-0.07 -0.49,-0.14 -0.74,-0.21 0,-0.01 0,-0.01 0,-0.02 -0.04,-0.34 -0.08,-0.68 -0.11,-1.02 -0.01,-0.08 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.15,0.06 -0.14,0.14 0.03,0.32 0.06,0.63 0.08,0.95 -0.47,-0.13 -0.94,-0.28 -1.41,-0.42 0,-0.11 0.01,-0.22 0.01,-0.33 0,-0.27 0,-0.53 0,-0.8 0,-0.17 -0.27,-0.17 -0.27,0 0,0.27 0,0.53 0,0.8 0,0.08 0.01,0.16 0.01,0.25 -0.59,-0.19 -1.18,-0.39 -1.77,-0.61 -0.01,-0.13 -0.02,-0.27 -0.02,-0.4 -0.02,-0.32 -0.04,-0.63 -0.07,-0.95 -0.04,-0.62 -0.09,-1.24 -0.14,-1.87 -0.01,-0.13 -0.21,-0.13 -0.2,0 0.02,0.62 0.05,1.24 0.07,1.87 0.01,0.31 0.02,0.61 0.04,0.92 0.01,0.11 0.01,0.21 0.02,0.32 -0.43,-0.17 -0.85,-0.35 -1.27,-0.54 0,-0.01 0.01,-0.01 0.01,-0.02 -0.03,-0.08 -0.1,-0.16 -0.15,-0.23 l -0.15,-0.19 -0.3,-0.4 c -0.04,-0.06 -0.12,-0.09 -0.18,-0.05 -0.06,0.04 -0.09,0.12 -0.05,0.18 0.1,0.14 0.2,0.27 0.3,0.41 0.02,0.02 0.03,0.05 0.05,0.07 -0.71,-0.34 -1.39,-0.73 -2.03,-1.17 -0.01,-0.09 -0.01,-0.17 -0.02,-0.26 -0.02,-0.32 -0.04,-0.64 -0.07,-0.97 -0.04,-0.49 -0.1,-0.98 -0.16,-1.47 0.05,0.08 0.08,0.16 0.15,0.22 0.09,0.07 0.22,0.01 0.2,-0.12 -0.03,-0.13 -0.11,-0.25 -0.16,-0.38 -0.05,-0.12 -0.1,-0.24 -0.14,-0.36 -0.1,-0.25 -0.17,-0.51 -0.22,-0.77 -0.1,-0.53 -0.1,-1.08 0,-1.62 0.04,-0.21 -0.28,-0.3 -0.32,-0.09 -0.11,0.58 -0.12,1.16 -0.02,1.74 0.05,0.27 0.12,0.53 0.22,0.79 -0.03,0.02 -0.05,0.06 -0.04,0.11 0.06,0.64 0.12,1.29 0.19,1.93 0.04,0.31 0.07,0.62 0.12,0.93 0.01,0.04 0.01,0.08 0.02,0.12 -0.59,-0.42 -1.16,-0.87 -1.67,-1.4 -0.05,-0.05 -0.09,-0.11 -0.14,-0.16 -0.02,-0.2 -0.02,-0.39 0.02,-0.58 0.04,-0.17 -0.23,-0.25 -0.27,-0.07 -0.03,0.11 -0.03,0.22 -0.04,0.33 -0.36,-0.42 -0.68,-0.87 -0.96,-1.35 0.24,-0.48 0.11,-1.17 0.1,-1.69 -0.02,-0.72 -0.03,-1.44 -0.05,-2.16 -0.01,-0.31 -0.02,-0.62 -0.02,-0.93 0.13,0.13 0.26,0.26 0.39,0.39 z m -2.74,8.45 c 0.32,-1.05 1.09,-1.76 1.7,-2.61 1.92,2.9 5.13,4.7 8.34,5.93 2.06,0.79 4.17,1.44 6.31,2.03 0.34,0.15 0.69,0.31 1.03,0.46 0.27,0.12 0.54,0.24 0.81,0.36 0.26,0.11 0.52,0.26 0.8,0.32 0.14,0.03 0.21,-0.15 0.1,-0.23 -0.24,-0.16 -0.53,-0.26 -0.8,-0.38 -0.08,-0.03 -0.15,-0.07 -0.23,-0.1 1.32,0.34 2.65,0.65 3.98,0.95 0.02,0.42 0.07,0.84 0.19,1.24 0.07,0.23 0.24,0.43 0.46,0.54 0.04,0.24 0.2,0.45 0.54,0.52 1.17,0.23 2.38,0.22 3.57,0.28 1.2,0.06 2.41,0.12 3.61,0.19 2.41,0.12 4.81,0.25 7.22,0.36 2.41,0.12 4.81,0.23 7.22,0.35 1.2,0.06 2.41,0.13 3.61,0.2 0.56,0.03 1.12,0.06 1.68,0.09 0.66,0.04 1.33,0.15 1.81,-0.41 0.23,-0.27 0.36,-0.72 0.13,-1.03 -0.02,-0.03 -0.05,-0.04 -0.07,-0.07 0.1,-0.02 0.19,-0.05 0.28,-0.09 0.17,-0.02 0.33,-0.08 0.45,-0.22 0.34,-0.38 0.4,-0.91 0.56,-1.38 0.06,-0.19 0.13,-0.38 0.2,-0.57 0.03,-0.09 0.07,-0.18 0.11,-0.27 0,-0.01 0.01,-0.02 0.01,-0.03 0.02,-0.05 0.05,-0.11 0.07,-0.16 0.04,-0.08 0.09,-0.16 0.13,-0.24 0.01,0.19 0.02,0.39 0.03,0.58 0.02,0.34 0.03,0.68 0.05,1.02 -0.4,0.38 -0.3,1.08 0.29,1.29 1.17,0.41 2.56,0.29 3.79,0.31 1.27,0.02 2.55,0.03 3.82,0.03 2.51,0 5.01,-0.03 7.52,-0.08 5.05,-0.1 10.1,-0.3 15.15,-0.6 1.43,-0.08 2.86,-0.18 4.29,-0.28 0.67,-0.05 1.4,-0.03 2.05,-0.19 0.27,-0.07 0.53,-0.14 0.8,-0.23 0.01,0.04 0.01,0.09 0.03,0.13 0.06,0.15 0.29,0.18 0.33,0 0.02,-0.09 0.02,-0.18 0.03,-0.28 0.08,0.03 0.17,0.05 0.26,0.06 -0.02,0.03 -0.04,0.04 -0.06,0.08 -0.21,0.33 -0.04,0.77 0.2,1.02 0.51,0.52 1.18,0.36 1.83,0.28 0.56,-0.07 1.12,-0.14 1.67,-0.21 1.2,-0.15 2.39,-0.3 3.59,-0.44 2.39,-0.28 4.79,-0.56 7.18,-0.83 1.52,-0.18 3.04,-0.36 4.55,-0.54 -0.64,0.18 -1.28,0.36 -1.94,0.5 -1.67,0.36 -3.38,0.59 -5.08,0.7 -0.19,0.01 -0.19,0.31 0,0.3 1.73,-0.07 3.44,-0.28 5.12,-0.64 0.84,-0.18 1.68,-0.4 2.51,-0.64 0.45,-0.14 0.91,-0.28 1.36,-0.45 0.22,-0.03 0.43,-0.05 0.65,-0.08 1.2,-0.14 2.39,-0.29 3.59,-0.43 1.18,-0.14 2.39,-0.21 3.54,-0.52 0.33,-0.09 0.48,-0.31 0.5,-0.55 0.21,-0.13 0.37,-0.33 0.42,-0.57 0.04,-0.17 0.05,-0.34 0.07,-0.51 6.61,-1.46 13.16,-3.99 17.25,-9.43 0.07,0.14 0.13,0.29 0.2,0.42 -0.01,0.01 -0.03,0 -0.04,0.02 -0.6,1.48 -1.45,2.8 -2.66,3.85 -0.59,0.51 -1.24,0.97 -1.94,1.3 -0.36,0.17 -0.73,0.31 -1.11,0.43 -0.39,0.12 -0.79,0.17 -1.18,0.27 -0.06,0.02 -0.05,0.12 0.02,0.11 0.77,-0.01 1.6,-0.29 2.3,-0.59 0.76,-0.32 1.48,-0.73 2.12,-1.25 1.23,-1 2.23,-2.42 2.59,-3.97 0.12,0.23 0.25,0.47 0.36,0.71 0.03,0.07 0.07,0.15 0.1,0.22 0.02,0.04 0.03,0.07 0.05,0.11 0,0 0,0 0,0.01 0.04,0.1 0.09,0.2 0.13,0.31 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 -0.79,1.25 -1.73,2.4 -2.86,3.36 -0.63,0.54 -1.31,1.01 -2.02,1.42 -0.35,0.2 -0.7,0.4 -1.07,0.57 -0.37,0.18 -0.78,0.33 -1.14,0.53 -0.09,0.05 -0.03,0.17 0.07,0.16 0.39,-0.07 0.81,-0.25 1.17,-0.41 0.4,-0.18 0.79,-0.37 1.17,-0.59 0.71,-0.41 1.38,-0.9 2.01,-1.43 1.11,-0.94 2.05,-2.06 2.78,-3.32 0.04,0.1 0.08,0.2 0.11,0.3 0.06,0.19 0.11,0.4 0.22,0.56 0.13,0.2 0.37,0.34 0.61,0.33 0.06,0.03 0.11,0.06 0.17,0.07 -1.23,2.23 -3.29,3.83 -5.7,4.68 -0.13,0.05 -0.08,0.24 0.06,0.21 2.6,-0.58 4.78,-2.51 6,-4.85 0.21,-0.01 0.42,-0.04 0.61,-0.07 0.34,-0.05 0.69,-0.1 1.03,-0.16 0.21,-0.03 0.41,-0.08 0.61,-0.12 -0.18,0.31 -0.37,0.61 -0.57,0.91 -0.04,-0.07 -0.14,-0.1 -0.2,-0.01 -0.69,1.04 -1.55,1.94 -2.54,2.71 -0.98,0.77 -2.08,1.34 -3.21,1.85 -0.12,0.05 -0.03,0.25 0.09,0.21 1.19,-0.35 2.29,-0.97 3.26,-1.75 -1.24,1.1 -2.63,2.01 -4.07,2.81 -4.29,2.37 -9,4.06 -13.7,5.41 -9.84,2.83 -20.06,3.95 -30.25,4.64 -10.61,0.72 -21.26,1.29 -31.89,1.42 -10.73,0.13 -21.53,-0.21 -32.15,-1.84 -5.27,-0.8 -10.49,-1.9 -15.61,-3.38 -2.87,-0.82 -5.88,-1.77 -8.49,-3.33 -0.21,-0.22 -0.46,-0.4 -0.69,-0.6 -0.49,-0.4 -1.02,-0.74 -1.51,-1.14 -0.94,-0.76 -1.76,-1.63 -2.18,-2.78 -0.39,-1.02 -0.6,-2.06 -0.27,-3.15 z m 118.99,16.33 c 0,-0.01 0,-0.01 0,0 -0.04,-0.21 -0.07,-0.42 -0.11,-0.62 -0.01,-0.09 -0.12,-0.13 -0.2,-0.11 -0.09,0.03 -0.13,0.11 -0.11,0.2 l 0.1,0.6 v 0.01 c -0.39,0.09 -0.78,0.17 -1.17,0.26 -0.04,-0.2 -0.04,-0.43 0.04,-0.62 0.04,-0.08 0.03,-0.18 -0.06,-0.23 -0.07,-0.04 -0.19,-0.02 -0.23,0.06 -0.12,0.27 -0.14,0.57 -0.08,0.86 -0.38,0.08 -0.76,0.17 -1.13,0.25 -0.01,-0.11 -0.02,-0.22 -0.03,-0.33 -0.03,-0.31 -0.06,-0.61 -0.09,-0.92 -0.01,-0.09 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 0.03,0.31 0.06,0.61 0.1,0.92 0.01,0.13 0.03,0.26 0.04,0.4 -0.83,0.17 -1.66,0.32 -2.5,0.47 0,-0.13 0,-0.26 0,-0.39 0,-0.07 -0.11,-0.07 -0.11,0 0,0.14 0,0.27 0,0.41 -6.71,1.23 -13.53,1.89 -20.33,2.35 -10.61,0.72 -21.26,1.29 -31.89,1.42 -10.73,0.13 -21.53,-0.21 -32.15,-1.84 -2.12,-0.32 -4.22,-0.71 -6.32,-1.13 -0.02,-0.06 -0.05,-0.12 -0.07,-0.19 -0.07,-0.26 -0.07,-0.53 0,-0.79 0.05,-0.19 -0.24,-0.26 -0.29,-0.08 -0.09,0.31 -0.09,0.64 -0.01,0.95 0,0.01 0.01,0.02 0.01,0.03 -1.68,-0.34 -3.35,-0.71 -5.01,-1.12 0,-0.02 0,-0.05 -0.01,-0.08 -0.05,-0.29 -0.11,-0.58 -0.16,-0.86 -0.11,-0.57 -0.21,-1.15 -0.32,-1.72 -0.04,-0.21 -0.35,-0.12 -0.31,0.09 0.09,0.57 0.19,1.13 0.28,1.7 0.04,0.26 0.09,0.52 0.13,0.78 -0.48,-0.12 -0.96,-0.26 -1.43,-0.38 l -0.01,-0.12 c -0.03,-0.27 -0.07,-0.54 -0.1,-0.81 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.14 l 0.1,0.83 v 0.03 c -0.41,-0.11 -0.82,-0.21 -1.23,-0.33 -0.01,-0.05 -0.03,-0.1 -0.06,-0.14 -0.04,-0.08 -0.08,-0.15 -0.12,-0.24 -0.07,-0.15 -0.12,-0.32 -0.16,-0.48 -0.07,-0.34 -0.07,-0.69 -0.01,-1.02 0.04,-0.18 -0.24,-0.26 -0.28,-0.08 -0.08,0.38 -0.09,0.77 -0.01,1.15 0.04,0.19 0.09,0.37 0.17,0.54 0.02,0.04 0.04,0.1 0.07,0.17 -0.06,-0.02 -0.13,-0.03 -0.19,-0.05 -1.02,-0.29 -2.07,-0.6 -3.11,-0.95 0,-0.02 0.01,-0.03 0.01,-0.05 0.03,-0.17 0.04,-0.34 0.05,-0.51 0.03,-0.35 0.07,-0.7 0.1,-1.06 0.01,-0.08 -0.08,-0.16 -0.16,-0.16 -0.09,0 -0.15,0.07 -0.16,0.16 -0.04,0.35 -0.07,0.69 -0.11,1.04 -0.02,0.16 -0.04,0.31 -0.05,0.47 -2.98,-1.02 -5.9,-2.36 -8.12,-4.58 -0.34,-0.34 -0.65,-0.71 -0.94,-1.09 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 -0.1,-0.42 -0.21,-0.83 -0.34,-1.25 -0.26,-0.83 -0.52,-1.65 -0.69,-2.51 -0.04,-0.2 -0.06,-0.4 -0.09,-0.6 0.24,0.31 0.49,0.6 0.76,0.88 0.03,0.55 0.11,1.09 0.18,1.63 0.03,0.27 0.06,0.54 0.1,0.81 0.04,0.26 0.05,0.57 0.16,0.81 0.06,0.12 0.27,0.09 0.29,-0.04 0.05,-0.25 -0.01,-0.54 -0.04,-0.79 -0.03,-0.28 -0.07,-0.56 -0.1,-0.84 -0.05,-0.38 -0.1,-0.77 -0.16,-1.15 0.08,0.07 0.15,0.14 0.23,0.2 1.74,1.85 3.97,3.2 6.33,4.23 0.01,0.17 0.02,0.33 0.05,0.5 0.05,0.27 0.13,0.54 0.23,0.8 0.09,0.24 0.2,0.52 0.39,0.7 0.1,0.09 0.26,0 0.23,-0.13 -0.06,-0.24 -0.2,-0.48 -0.29,-0.71 -0.09,-0.23 -0.16,-0.47 -0.21,-0.72 -0.02,-0.09 -0.02,-0.19 -0.03,-0.28 0.31,0.13 0.62,0.27 0.93,0.39 3.5,1.37 7.18,2.37 10.88,3.21 -0.09,0 -0.19,0.07 -0.18,0.19 0.06,0.44 0.13,0.88 0.19,1.33 0.03,0.22 0.06,0.44 0.09,0.66 0.02,0.1 0.04,0.2 0.06,0.3 0.02,0.11 0.03,0.23 0.1,0.32 0.06,0.09 0.19,0.08 0.23,-0.03 0.04,-0.11 0.01,-0.23 0,-0.34 -0.01,-0.1 -0.02,-0.2 -0.03,-0.3 -0.03,-0.23 -0.07,-0.46 -0.11,-0.68 -0.07,-0.45 -0.15,-0.9 -0.22,-1.34 -0.01,-0.04 -0.03,-0.07 -0.06,-0.09 1.4,0.32 2.8,0.62 4.2,0.89 10.83,2.16 21.89,2.97 32.92,3.05 11.01,0.08 22.03,-0.44 33.02,-1.11 10.52,-0.64 21.1,-1.58 31.34,-4.2 -0.02,0.03 -0.04,0.06 -0.04,0.1 0.03,0.59 0.07,1.17 0.1,1.76 0.02,0.28 0.02,0.58 0.05,0.86 -0.7,0.18 -1.4,0.37 -2.1,0.54 z m 20.89,-8.56 c 0,-0.05 0,-0.1 0,-0.14 0,-0.35 0,-0.7 0,-1.06 0,-0.22 -0.35,-0.22 -0.35,0 0,0.35 0,0.7 0,1.06 0,0.14 0,0.27 0,0.41 -0.34,0.25 -0.67,0.51 -1.02,0.74 0,-0.18 0,-0.35 0,-0.53 0,-0.49 -0.01,-0.99 -0.01,-1.48 0,-0.24 -0.37,-0.24 -0.37,0 0,0.49 -0.01,0.99 -0.01,1.48 0,0.24 0,0.47 -0.01,0.71 0,0.02 0,0.04 0,0.06 -0.4,0.25 -0.8,0.51 -1.21,0.74 0,-0.01 0,-0.02 0,-0.03 0,-0.59 -0.01,-1.17 -0.01,-1.76 0,-0.22 -0.34,-0.22 -0.34,0 0,0.59 -0.01,1.17 -0.01,1.76 0,0.08 0,0.15 0,0.23 -0.47,0.26 -0.96,0.48 -1.44,0.72 v -1.12 c 0,-0.23 -0.35,-0.23 -0.35,0 v 1.24 c 0,0.02 0,0.04 0,0.06 -0.5,0.24 -0.98,0.5 -1.48,0.73 l -0.18,-1.07 c -0.03,-0.2 -0.34,-0.12 -0.31,0.09 0.06,0.37 0.12,0.74 0.19,1.12 -1.87,0.84 -3.79,1.57 -5.74,2.23 0,-0.02 0,-0.04 0,-0.06 0.03,-0.38 0.06,-0.76 0.09,-1.14 0.01,-0.1 -0.09,-0.18 -0.18,-0.18 -0.1,0 -0.17,0.08 -0.18,0.18 -0.04,0.37 -0.07,0.75 -0.11,1.12 -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.43,0.14 -0.86,0.28 -1.3,0.41 -0.02,-0.05 -0.04,-0.11 -0.05,-0.16 -0.07,-0.21 -0.14,-0.41 -0.21,-0.62 -0.03,-0.08 -0.11,-0.14 -0.2,-0.12 -0.08,0.02 -0.14,0.12 -0.12,0.2 0.07,0.21 0.14,0.41 0.21,0.62 0.02,0.06 0.04,0.11 0.06,0.17 -0.52,0.16 -1.05,0.33 -1.57,0.48 -0.01,-0.07 -0.02,-0.14 -0.02,-0.21 -0.03,-0.31 -0.07,-0.61 -0.1,-0.92 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.08,0 -0.18,0.08 -0.17,0.17 0.03,0.31 0.07,0.62 0.1,0.93 0.01,0.1 0.02,0.2 0.03,0.3 -0.09,0.03 -0.18,0.06 -0.28,0.08 -0.53,0.15 -1.07,0.28 -1.6,0.43 -0.01,-0.27 -0.03,-0.54 -0.05,-0.81 -0.03,-0.58 -0.07,-1.15 -0.1,-1.73 0,-0.09 -0.07,-0.13 -0.13,-0.15 5.03,-1.3 9.95,-3.01 14.63,-5.25 2.04,-0.97 4,-2.1 5.78,-3.51 1.05,-0.83 2.12,-1.82 2.94,-2.95 -0.01,0.47 -0.02,0.94 -0.08,1.4 -0.03,0.24 -0.09,0.48 -0.15,0.72 -0.01,-0.21 -0.02,-0.43 -0.03,-0.64 -0.01,-0.2 -0.31,-0.2 -0.31,0 0,0.3 0.01,0.59 0,0.89 0,0.15 -0.01,0.3 -0.01,0.44 0,0.14 -0.01,0.28 0,0.41 -0.09,0.1 -0.18,0.22 -0.27,0.32 -0.19,0.2 -0.42,0.36 -0.62,0.55 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.02 -0.02,-0.05 -0.02,-0.07 0,-0.01 -0.01,-0.03 -0.01,-0.04 -0.01,-0.04 0,-0.02 0,0.01 0,-0.03 -0.01,-0.06 -0.01,-0.09 0,-0.03 0,-0.05 0,-0.08 0,0 0,0 0,0 0,-0.01 0,-0.03 0.01,-0.04 0.01,-0.03 0.01,-0.05 0.02,-0.08 0,0 0.01,-0.01 0.01,-0.02 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0.01,-0.02 0.02,-0.05 0.04,-0.07 0,0 0.01,-0.01 0.01,-0.02 0,0 0,0 0,0 l 0.01,-0.01 c 0.02,-0.02 0.04,-0.04 0.06,-0.05 0,0 0,0 0,0 0,0 0,0 0.01,0 0.01,-0.01 0.03,-0.02 0.04,-0.02 0.09,-0.05 0.13,-0.18 0.07,-0.27 -0.06,-0.09 -0.17,-0.12 -0.27,-0.07 -0.28,0.14 -0.43,0.46 -0.44,0.76 -0.01,0.16 0.03,0.31 0.09,0.46 0.01,0.02 0.04,0.04 0.05,0.06 -0.25,0.21 -0.5,0.42 -0.77,0.62 0,-0.16 -0.01,-0.32 -0.01,-0.49 -0.01,-0.41 -0.02,-0.83 -0.03,-1.24 -0.01,-0.25 -0.39,-0.25 -0.4,0 -0.01,0.41 -0.02,0.83 -0.03,1.24 0,0.2 -0.01,0.41 -0.01,0.61 0,0.07 0,0.14 -0.01,0.2 -0.27,0.18 -0.52,0.38 -0.8,0.54 -0.23,0.23 -0.5,0.41 -0.76,0.61 z m 12.63,-2.21 c -0.01,0 -0.02,0 -0.05,0.01 -0.14,0.01 -0.28,0.03 -0.43,0.05 0.15,-0.02 -0.14,0.02 -0.17,0.02 -0.07,0.01 -0.15,0.01 -0.23,0.02 -0.19,0.01 -0.38,0.01 -0.56,0 -0.09,0 -0.17,-0.01 -0.26,-0.02 -0.02,0 -0.2,-0.02 -0.21,-0.02 -0.16,-0.03 -0.33,-0.06 -0.49,-0.09 -0.11,-0.02 -0.24,-0.05 -0.37,-0.07 0,-0.12 -0.01,-0.24 -0.01,-0.34 -0.01,-0.25 -0.03,-0.49 -0.05,-0.74 -0.01,-0.19 -0.03,-0.38 -0.04,-0.57 0.31,0.02 0.62,0.05 0.93,0.06 0.74,0.03 1.48,0.02 2.22,0.01 -0.01,0.21 -0.02,0.41 -0.02,0.62 -0.01,0.35 0.02,0.7 0.04,1.06 -0.05,0 -0.1,0 -0.14,0 -0.07,-0.01 -0.12,-0.01 -0.16,0 z m 3.83,-4.8 c -0.13,0.09 -0.25,0.18 -0.38,0.27 -0.26,0.19 -0.52,0.37 -0.78,0.57 -0.22,0.17 -0.42,0.35 -0.64,0.52 -0.06,-0.02 -0.11,-0.04 -0.17,-0.05 0,-0.02 -0.01,-0.03 -0.01,-0.05 -0.09,-0.37 -0.24,-0.72 -0.4,-1.07 0.02,-0.03 0.05,-0.06 0.06,-0.1 0.18,0.06 0.38,0.06 0.56,-0.05 l 1.36,-0.88 c 0.37,-0.24 0.71,-0.52 1.05,-0.8 -0.01,0.13 -0.04,0.25 -0.05,0.38 -0.02,0.28 -0.04,0.56 -0.06,0.85 0,0.04 0,0.08 -0.01,0.12 -0.01,0 -0.02,0 -0.03,0 -0.18,0.09 -0.33,0.17 -0.5,0.29 z m -4.73,-15.64 c -1.02,0.08 -2.03,0.2 -3.05,0.32 -0.67,0.08 -1.32,0.19 -1.98,0.32 -0.14,-0.06 -0.29,-0.12 -0.43,-0.18 -0.3,-0.12 -0.59,-0.25 -0.89,-0.39 -0.63,-0.29 -1.26,-0.59 -1.88,-0.9 -0.6,-0.3 -1.19,-0.63 -1.78,-0.95 -0.31,-0.17 -0.64,-0.33 -0.96,-0.48 -0.14,-0.06 -0.27,-0.12 -0.41,-0.18 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.01,0 -0.02,-0.01 -0.02,-0.01 0,-0.03 0.01,-0.06 0.01,-0.1 0.16,0.11 0.33,0.22 0.5,0.3 0.47,0.21 0.95,0.35 1.46,0.42 0.54,0.08 1.09,0.03 1.63,-0.07 0.41,-0.08 0.78,-0.24 1.12,-0.47 0.02,0 0.04,0.01 0.06,0.01 0.81,0.59 1.78,0.98 2.71,1.3 1.1,0.39 2.23,0.68 3.38,0.87 0.32,0.05 0.64,-0.04 0.83,-0.29 0.72,0 1.44,-0.07 2.17,-0.14 0.57,-0.06 1.13,-0.12 1.69,-0.17 0.02,0.2 0.05,0.4 0.11,0.57 -1.38,0.09 -2.77,0.16 -4.17,0.26 z m 3.93,-3.34 c 0.01,0.3 0,0.6 0.02,0.9 0.01,0.13 0.02,0.25 0.03,0.38 -0.55,0.06 -1.1,0.12 -1.65,0.18 -0.75,0.09 -1.49,0.17 -2.23,0.33 -0.05,-0.05 -0.12,-0.08 -0.19,-0.11 -0.02,-0.15 -0.06,-0.3 -0.08,-0.45 -0.04,-0.21 -0.07,-0.43 -0.12,-0.64 -0.03,-0.14 -0.07,-0.28 -0.1,-0.42 0.78,-0.04 1.55,-0.08 2.33,-0.12 0.46,-0.02 0.93,-0.03 1.39,-0.05 0.21,0.01 0.41,0 0.6,0 z m -5.63,0.27 c 0.01,0.17 0.03,0.35 0.04,0.52 0.02,0.19 0.04,0.38 0.07,0.57 -0.64,-0.14 -1.27,-0.31 -1.89,-0.51 -0.83,-0.27 -1.63,-0.64 -2.46,-0.91 -0.03,-0.64 -0.06,-1.28 -0.09,-1.93 0.01,0 0.01,0.01 0.01,0.01 0.21,0.13 0.43,0.25 0.64,0.37 0.45,0.25 0.91,0.47 1.37,0.7 0.44,0.23 0.88,0.45 1.32,0.68 0.33,0.17 0.66,0.35 0.99,0.5 z m -2.8,-3.24 c 0.38,-0.06 0.75,-0.11 1.13,-0.17 0.37,-0.06 0.81,-0.07 1.16,-0.2 0.02,-0.01 0.03,-0.02 0.04,-0.02 0.92,0.55 1.96,0.92 2.94,1.32 0.62,0.25 1.24,0.51 1.85,0.76 -0.28,0.05 -0.56,0.09 -0.84,0.13 -0.84,0.12 -1.67,0.24 -2.51,0.35 -0.11,-0.19 -0.29,-0.32 -0.52,-0.29 -0.01,0 -0.02,0.02 -0.04,0.02 -0.26,-0.13 -0.52,-0.24 -0.77,-0.36 l -1.38,-0.68 c -0.44,-0.22 -0.88,-0.45 -1.34,-0.65 -0.1,-0.04 -0.2,-0.09 -0.31,-0.13 0.21,-0.02 0.4,-0.05 0.59,-0.08 z m -3.02,-0.95 c 0.01,0.46 0.03,0.93 0.05,1.39 0.03,0.78 0.05,1.57 0.08,2.35 -0.26,0.07 -0.52,0.15 -0.79,0.22 -0.22,0.05 -0.35,0.08 -0.51,0.09 -0.22,0.02 -0.45,0.02 -0.67,0.02 -0.71,-0.01 -1.44,-0.17 -2.1,-0.49 0,-0.01 0,-0.01 0,-0.02 -0.02,-0.48 -0.04,-0.96 -0.06,-1.44 0,-0.02 0,-0.04 0,-0.06 0.31,0 0.61,0 0.92,0 0.1,0 0.2,0 0.31,0 0.01,0.11 0.02,0.21 0.03,0.32 0.01,0.13 0.02,0.27 0.03,0.41 -0.29,0.02 -0.58,0.04 -0.86,0.06 -0.21,0.02 -0.21,0.34 0,0.33 0.3,-0.02 0.59,-0.04 0.89,-0.06 0.02,0.25 0.05,0.49 0.13,0.71 0.05,0.17 0.27,0.12 0.29,-0.04 0.03,-0.22 0.01,-0.46 -0.02,-0.7 0.28,-0.02 0.56,-0.04 0.84,-0.07 0.02,0.27 0.05,0.54 0.15,0.79 0.03,0.07 0.14,0.09 0.16,0 0.06,-0.28 0.03,-0.56 0,-0.85 0.13,-0.04 0.09,-0.2 -0.02,-0.24 -0.03,-0.33 -0.06,-0.66 -0.1,-0.99 -0.04,-0.44 -0.09,-0.88 -0.13,-1.32 0.08,-0.05 0.18,-0.08 0.26,-0.13 0.08,-0.06 0.04,-0.22 -0.08,-0.18 -0.07,0.02 -0.14,0.05 -0.2,0.07 -0.02,-0.19 -0.04,-0.38 -0.06,-0.57 -0.02,-0.17 -0.29,-0.18 -0.27,0 0.02,0.22 0.04,0.45 0.06,0.67 -0.29,0.11 -0.58,0.21 -0.88,0.28 -0.04,-0.43 -0.09,-0.86 -0.13,-1.29 0.92,-0.06 1.85,-0.16 2.76,-0.3 -0.1,0.33 -0.08,0.71 -0.08,1.04 z m -2.47,-7.25 c 1.36,-0.03 2.71,0.02 4.06,0.08 0.66,0.03 1.31,0.07 1.97,0.12 0.3,0.02 0.62,0.02 0.91,0.08 -2.47,0.51 -4.93,0.86 -7.46,0.97 -1.39,0.06 -2.77,0.06 -4.16,0.03 -0.79,-0.02 -1.78,0 -2.58,-0.32 1.04,-0.21 2.06,-0.47 3.11,-0.63 1.38,-0.22 2.77,-0.3 4.15,-0.33 z m -7.07,4.65 c -0.22,-0.08 -0.51,-0.21 -0.75,-0.38 0.09,-0.11 0.15,-0.26 0.16,-0.42 0.02,-0.29 -0.07,-0.6 -0.12,-0.89 -0.04,-0.23 -0.09,-0.47 -0.13,-0.7 -0.02,-0.09 -0.03,-0.17 -0.05,-0.26 0.64,0.43 1.41,0.61 2.24,0.69 1.53,0.15 3.08,0.15 4.61,0.11 2.98,-0.07 6,-0.37 8.94,-0.9 0,0.05 0,0.1 0,0.15 v 0.78 c 0,0.13 0,0.25 0,0.38 -2.74,0.91 -5.59,1.49 -8.47,1.68 -1.46,0.09 -2.92,0.1 -4.38,0.02 -0.66,-0.04 -1.39,-0.04 -2.05,-0.26 z m 5.67,1.93 c 0.28,-0.01 0.55,-0.04 0.82,-0.06 0.04,0.44 0.08,0.88 0.13,1.33 -0.39,0.06 -0.79,0.08 -1.18,0.05 -0.02,-0.43 -0.03,-0.93 -0.2,-1.32 0.15,-0.01 0.29,0 0.43,0 z m -3.3,4.08 c 0,0.01 0,0.02 0,0.03 0.01,0.21 0.02,0.41 0.03,0.62 0.01,0.26 0.01,0.51 0.09,0.76 0.01,0.02 0.02,0.03 0.03,0.04 -0.13,0.01 -0.26,0.01 -0.39,0.02 -1.24,0.05 -2.47,0.08 -3.71,0.09 -0.11,0 -0.22,0 -0.33,0 0.2,-0.14 0.34,-0.38 0.25,-0.63 -0.05,-0.15 -0.09,-0.3 -0.12,-0.46 0.13,0.02 0.25,0.04 0.38,0.05 0.97,0.08 1.95,0.01 2.9,-0.22 0.3,-0.08 0.58,-0.2 0.87,-0.3 z m -4.19,-0.86 c 0.12,-0.1 0.33,-0.14 0.48,-0.18 0.24,-0.06 0.48,-0.12 0.72,-0.16 0.71,-0.14 1.43,-0.18 2.15,-0.24 0.02,0.07 0.06,0.13 0.12,0.18 -0.33,0.11 -0.66,0.2 -1,0.27 -0.41,0.08 -0.82,0.15 -1.24,0.18 -0.36,0.03 -0.87,0.06 -1.18,0 0.01,0 -0.05,-0.01 -0.09,-0.02 0,0 0.02,-0.02 0.04,-0.03 z m -1.14,1 c 0.02,0.37 0.08,0.74 0.18,1.09 0.04,0.13 0.13,0.24 0.24,0.32 -0.31,0 -0.62,0 -0.93,-0.01 0.03,-0.07 0.05,-0.15 0.06,-0.24 0.03,-0.38 0.01,-0.76 -0.01,-1.14 0.15,0.01 0.31,0 0.46,-0.02 z m -2.75,0.11 c 0.32,0.01 0.64,0.01 0.95,-0.04 -0.02,0.37 -0.04,0.73 -0.01,1.1 0.01,0.08 0.03,0.15 0.06,0.23 -0.15,0 -0.31,0 -0.46,0 -1.1,-0.02 -2.24,-0.11 -3.34,-0.03 0.03,-0.32 0.07,-0.65 0.11,-0.97 0.02,-0.13 0.03,-0.25 0.05,-0.38 0.43,0.03 0.85,0.03 1.28,0.05 0.45,0.01 0.91,0.03 1.36,0.04 z m -0.5,-1.56 c 0.07,0.01 0.14,0.03 0.21,0.05 -0.3,-0.01 -0.6,-0.02 -0.91,-0.02 -0.42,-0.01 -0.84,-0.03 -1.26,-0.03 0.01,-0.08 0.01,-0.16 0.01,-0.24 0.23,0.03 0.45,0.06 0.68,0.08 0.42,0.04 0.84,0.08 1.27,0.16 z M 645.5,366.39 c 0.34,-0.75 0.95,-1.37 1.69,-1.72 1.74,-0.82 3.71,-0.38 5.4,0.36 2.87,1.25 6.65,3.77 6.12,7.43 -0.2,1.35 -1.12,2.35 -2.32,2.73 1.15,-0.76 1.2,-2.63 0.95,-3.83 -0.32,-1.54 -1.32,-2.78 -2.55,-3.71 -1.25,-0.94 -2.77,-1.55 -4.27,-1.94 -0.99,-0.26 -2.08,-0.32 -3.04,-0.01 -0.16,-0.18 -0.42,-0.28 -0.66,-0.13 -0.2,0.12 -0.41,0.24 -0.56,0.42 -0.18,0.19 -0.34,0.4 -0.49,0.62 -0.16,0.22 -0.31,0.45 -0.46,0.68 0,-0.31 0.05,-0.6 0.19,-0.9 z m -1.9,4.19 c 0.05,0.19 0.16,0.36 0.35,0.46 0.16,0.09 0.35,0.11 0.53,0.08 0.17,0.13 0.33,0.27 0.46,0.45 0.04,0.05 0.06,0.11 0.09,0.16 -0.76,0.72 -1.54,1.44 -2.41,2.04 -0.99,0.69 -2.07,1.26 -3.18,1.76 -0.08,-0.25 -0.17,-0.5 -0.25,-0.76 -0.03,-0.1 -0.06,-0.2 -0.1,-0.3 0.18,-0.11 0.38,-0.21 0.54,-0.35 0.73,-0.62 1.05,-1.67 0.5,-2.52 -0.52,-0.81 -1.44,-1.11 -2.35,-1.2 -0.18,-0.56 -0.36,-1.13 -0.54,-1.69 1.09,0.22 2.18,0.46 3.24,0.77 1.04,0.3 2.13,0.62 3.12,1.1 z m -7.03,-3.93 c -0.37,-1.14 -0.73,-2.28 -1.1,-3.42 0.15,-0.01 0.31,-0.01 0.46,-0.01 0.23,-0.01 0.45,-0.03 0.68,-0.05 0.12,-0.01 0.24,-0.02 0.37,-0.03 0.02,0 0.04,0 0.06,-0.01 0.02,0.27 0.04,0.55 0.06,0.82 0.05,0.74 0.14,1.58 -0.2,2.27 -0.08,0.16 -0.2,0.31 -0.33,0.43 z m -0.75,-7.84 c 0.12,0.15 0.3,0.26 0.51,0.23 0.18,-0.02 0.36,-0.07 0.5,-0.16 -0.04,0.29 -0.07,0.58 -0.06,0.88 0.02,0.44 0.07,0.87 0.11,1.31 0.01,0.15 0.02,0.29 0.03,0.44 -0.12,0.01 -0.24,0.03 -0.36,0.04 -0.28,0.03 -0.56,0.06 -0.84,0.11 -0.22,0.04 -0.44,0.08 -0.66,0.12 -0.02,0 -0.03,0.01 -0.05,0.01 -0.22,-0.68 -0.44,-1.36 -0.65,-2.03 0.05,-0.33 0.07,-0.67 0.07,-1.02 0.47,0.03 0.93,0.07 1.4,0.07 z m 3.1,13.7 c 0,0.03 0,0.06 0,0.09 0,0.01 0,0.01 -0.01,0.02 -0.04,0.14 -0.16,0.27 -0.3,0.39 -0.12,-0.36 -0.23,-0.72 -0.35,-1.08 0.13,0.05 0.26,0.08 0.37,0.15 -0.04,-0.03 0.13,0.11 0.16,0.15 0.06,0.06 0.06,0.06 0.11,0.17 -0.05,-0.1 0.01,0.14 0.02,0.11 z m 0.41,-22.16 c 0,0.36 0.02,0.72 0.03,1.03 0.01,0.77 0.02,1.54 0.03,2.3 0.02,0.77 0.03,1.54 0.05,2.3 0.01,0.36 0,0.73 0.02,1.09 -0.11,0.01 -0.23,0.02 -0.33,0.03 -0.57,0.02 -1.13,0.05 -1.7,0.07 -0.15,0.01 -0.31,0.02 -0.46,0.02 -0.04,-1.1 -0.09,-2.2 -0.15,-3.3 -0.03,-0.73 -0.07,-1.45 -0.1,-2.18 -0.02,-0.43 -0.02,-0.92 -0.08,-1.39 0.07,0 0.13,0 0.2,0 0.83,0.03 1.66,0.03 2.49,0.03 z m -3.95,-0.04 c 0,0.16 0,0.33 0,0.48 0,0.34 0,0.67 0.01,1.01 0.02,0.73 0.05,1.45 0.07,2.18 0.04,1.1 0.08,2.19 0.12,3.29 -0.41,0.03 -0.82,0.09 -1.22,0.14 -0.03,-0.38 -0.06,-0.77 -0.08,-1.13 -0.06,-1.32 -0.11,-2.65 -0.18,-3.97 -0.04,-0.7 -0.07,-1.4 -0.11,-2.1 0.46,0.06 0.93,0.09 1.39,0.1 z M 631.05,345 c 0.45,0.01 0.91,0.02 1.36,-0.02 -0.06,0.47 -0.05,0.96 -0.05,1.44 0.01,0.64 0.03,1.28 0.06,1.92 0.05,1.32 0.1,2.65 0.15,3.97 0.03,0.72 0.06,1.44 0.09,2.16 -0.41,-1.28 -0.82,-2.55 -1.23,-3.82 -0.6,-1.89 -1.21,-3.78 -1.81,-5.67 0.48,0.01 0.95,0.01 1.43,0.02 z m -0.55,9.28 c 2.55,8.05 5.13,16.09 7.75,24.12 2.18,6.68 4.42,13.34 6.63,20.01 -0.66,-0.02 -1.33,0.02 -1.98,0.02 -1.03,0 -2.07,0 -3.1,0.04 -1.98,0.07 -3.96,0.2 -5.94,0.37 -2.02,0.17 -4.03,0.38 -6.03,0.63 -0.98,0.12 -1.97,0.21 -2.95,0.34 0,0 0,0 0,0 0.24,-0.25 0.47,-0.5 0.7,-0.75 0.03,0.01 0.04,0.03 0.08,0.03 1.59,-0.08 3.19,-0.17 4.78,-0.27 0.78,-0.05 1.55,-0.11 2.33,-0.16 0.4,-0.03 0.8,-0.05 1.2,-0.08 0.39,-0.03 0.82,-0.01 1.19,-0.14 0.17,-0.06 0.21,-0.34 0,-0.38 -0.37,-0.07 -0.76,-0.01 -1.13,0.01 l -1.2,0.08 c -0.8,0.06 -1.59,0.11 -2.39,0.17 -1.5,0.11 -3,0.23 -4.5,0.37 0.52,-0.58 1.02,-1.18 1.5,-1.8 0.01,0 0.01,0.01 0.02,0.01 0.23,0.04 0.47,0.02 0.7,0.02 0.21,0 0.43,-0.01 0.64,-0.02 0.21,-0.01 0.43,-0.03 0.64,-0.05 0.21,-0.02 0.47,-0.02 0.66,-0.14 0.08,-0.05 0.09,-0.18 0,-0.22 -0.2,-0.1 -0.44,-0.09 -0.66,-0.09 -0.21,0 -0.43,0 -0.64,0 -0.21,0.01 -0.43,0.02 -0.64,0.03 -0.13,0.01 -0.26,0.02 -0.39,0.03 1.01,-1.33 1.92,-2.75 2.61,-4.28 0.74,-1.65 1.22,-3.4 1.34,-5.2 0.15,-2.14 -0.17,-4.25 -0.63,-6.33 -0.95,-4.29 -2.22,-8.52 -3.36,-12.76 -1.14,-4.24 -2.28,-8.47 -3.43,-12.7 -2.31,-8.5 -4.68,-16.98 -7.11,-25.45 -2.42,-8.43 -4.85,-16.85 -7.24,-25.28 -2.41,-8.47 -4.81,-16.95 -7.32,-25.4 -0.14,-0.47 -0.57,-0.56 -0.92,-0.41 -2.22,-0.3 -4.45,-0.52 -6.69,-0.48 -1.12,0.02 -2.24,0.09 -3.35,0.22 -0.92,0.11 -1.99,0.17 -2.88,0.5 -0.32,-0.04 -0.64,0.1 -0.73,0.51 -1.94,8.59 -3.77,17.21 -5.6,25.83 -1.82,8.58 -3.68,17.14 -5.53,25.71 -1.86,8.61 -3.65,17.23 -5.38,25.87 -0.86,4.3 -1.72,8.6 -2.57,12.9 -0.85,4.31 -1.83,8.61 -2.49,12.95 -0.32,2.11 -0.5,4.24 -0.2,6.36 0.23,1.7 0.79,3.33 1.57,4.85 0.02,0.18 0.1,0.34 0.25,0.45 1.48,2.69 3.62,4.97 5.88,7.04 0,0 0,0 0,0 -0.99,-0.06 -1.98,-0.08 -2.97,-0.14 -2.02,-0.11 -4.04,-0.19 -6.06,-0.22 -1.98,-0.03 -3.97,-0.04 -5.95,0.03 -1.03,0.04 -2.06,0.11 -3.09,0.17 -0.65,0.04 -1.32,0.07 -1.98,0.13 1.76,-6.81 3.54,-13.61 5.27,-20.43 2.08,-8.18 4.11,-16.38 6.11,-24.58 2,-8.21 3.83,-16.45 5.76,-24.68 1.92,-8.22 3.81,-16.45 5.65,-24.69 1.85,-8.24 3.64,-16.5 5.34,-24.77 0.1,-0.47 0.18,-0.93 0.27,-1.4 0.39,-0.16 0.71,-0.64 0.54,-1.06 -0.07,-0.18 -0.16,-0.35 -0.23,-0.52 0.01,-0.03 0.01,-0.06 0.02,-0.08 0.07,-0.36 -0.13,-0.62 -0.38,-0.74 -0.4,-0.88 -0.82,-1.75 -1.28,-2.59 0,0 0,0 0,0 -0.06,-0.11 -0.12,-0.23 -0.18,-0.34 0.42,0.02 0.84,0.04 1.26,0.06 0.23,0.01 0.45,0.02 0.68,0.03 0.22,0.01 0.44,0.04 0.66,0 0.12,-0.02 0.1,-0.19 0,-0.22 -0.21,-0.06 -0.44,-0.05 -0.66,-0.06 -0.23,-0.01 -0.45,-0.02 -0.68,-0.03 -0.45,-0.02 -0.9,-0.04 -1.36,-0.06 -0.02,0 -0.03,0.01 -0.05,0.02 -0.38,-0.67 -0.78,-1.32 -1.21,-1.95 -0.15,-0.23 -0.32,-0.48 -0.49,-0.72 1.49,0.15 2.99,0.24 4.46,0.33 2.49,0.15 4.98,0.25 7.48,0.3 4.99,0.09 9.98,-0.02 14.96,-0.34 1.42,-0.09 2.84,-0.2 4.26,-0.33 0.68,-0.06 1.39,-0.09 2.1,-0.15 -0.59,0.54 -1.14,1.13 -1.64,1.8 -0.81,1.07 -1.45,2.25 -2.01,3.46 -0.35,0.07 -0.67,0.4 -0.56,0.85 0.04,0.14 0.08,0.28 0.11,0.42 0,0.16 0.04,0.3 0.12,0.44 0.19,0.72 0.38,1.44 0.58,2.16 2.26,8.14 4.6,16.26 7,24.35 2.4,8.1 4.83,16.18 7.3,24.26 2.43,8.06 4.81,16.16 7.36,24.21 z m 26.55,-94.49 c -1.21,7.24 -3.66,14.24 -7.19,20.67 -3.52,6.43 -8.05,12.3 -13.43,17.29 -5.23,4.85 -11.27,8.81 -17.81,11.66 -0.11,-0.37 -0.22,-0.73 -0.33,-1.1 1.03,-0.46 2.05,-0.92 3.07,-1.41 l 1.83,-0.87 c 0.32,-0.15 0.65,-0.31 0.97,-0.46 0.29,-0.15 0.63,-0.28 0.85,-0.52 0.11,-0.12 0.04,-0.36 -0.14,-0.34 -0.32,0.03 -0.61,0.18 -0.89,0.32 -0.3,0.14 -0.61,0.29 -0.91,0.44 -0.64,0.32 -1.28,0.63 -1.92,0.95 -1,0.49 -1.98,1 -2.97,1.52 -0.11,-0.37 -0.22,-0.74 -0.33,-1.11 0.53,-0.22 1.05,-0.44 1.58,-0.68 0.44,-0.2 0.89,-0.39 1.33,-0.59 0.42,-0.19 0.9,-0.4 1.23,-0.71 0.07,-0.07 0.02,-0.22 -0.09,-0.21 -0.43,0.04 -0.87,0.24 -1.27,0.41 -0.46,0.2 -0.91,0.41 -1.37,0.62 -0.52,0.24 -1.03,0.48 -1.54,0.73 -0.03,-0.09 -0.05,-0.17 -0.08,-0.26 2.97,-1.29 5.84,-2.81 8.55,-4.58 5.8,-3.78 10.93,-8.58 15.15,-14.07 4.26,-5.55 7.6,-11.77 9.84,-18.41 2.23,-6.62 3.33,-13.61 3.15,-20.6 -0.04,-1.68 -0.17,-3.35 -0.35,-5.01 0.19,-0.08 0.38,-0.16 0.56,-0.24 0.01,0.06 0.02,0.12 0.03,0.18 0.08,0.51 0.15,1.03 0.21,1.55 0.12,1.02 0.2,2.05 0.23,3.08 0.04,1.03 0.07,2.06 0.03,3.08 -0.01,0.27 -0.02,0.54 -0.02,0.81 0,0.26 0.04,0.53 0,0.78 -0.05,0.26 -0.13,0.52 -0.17,0.79 -0.04,0.25 -0.05,0.5 -0.07,0.75 -0.02,0.21 0.34,0.27 0.38,0.05 0.04,-0.25 0.09,-0.49 0.11,-0.74 0.02,-0.27 -0.01,-0.54 -0.01,-0.81 0,-0.29 0.09,-0.59 0.13,-0.88 0.03,-0.21 0.05,-0.42 0.06,-0.63 0.06,-1.07 0.11,-2.13 0.06,-3.2 -0.04,-1.05 -0.12,-2.09 -0.25,-3.13 -0.06,-0.5 -0.13,-1.01 -0.21,-1.51 -0.02,-0.12 -0.04,-0.24 -0.06,-0.36 0.08,-0.03 0.16,-0.07 0.24,-0.1 0.28,-0.12 0.56,-0.24 0.84,-0.36 0.05,1.05 0.09,2.11 0.15,3.16 0.05,0.9 0.1,1.79 0.15,2.69 0.05,0.89 0.05,1.8 0.26,2.67 0.04,0.17 0.26,0.11 0.28,-0.04 0.1,-0.89 0,-1.8 -0.06,-2.69 -0.05,-0.9 -0.11,-1.79 -0.16,-2.69 -0.07,-1.09 -0.15,-2.18 -0.23,-3.27 0.3,-0.13 0.59,-0.25 0.89,-0.38 0.74,5.89 0.68,11.89 -0.3,17.76 z m 17.69,-27.3 c -0.04,-0.39 -0.09,-0.78 -0.14,-1.16 -0.12,-0.9 -0.3,-1.8 -0.52,-2.69 -0.45,-1.75 -1.13,-3.42 -1.98,-5.01 -0.07,-0.13 -0.27,-0.01 -0.2,0.12 0.78,1.59 1.37,3.28 1.81,5 0.21,0.85 0.38,1.71 0.5,2.58 0.06,0.43 0.11,0.87 0.14,1.31 0,0.01 0,0.02 0,0.03 -0.65,0.28 -1.31,0.56 -1.96,0.83 -0.02,-0.37 -0.05,-0.73 -0.08,-1.09 -0.08,-0.91 -0.19,-1.81 -0.35,-2.71 -0.33,-1.82 -0.85,-3.62 -1.58,-5.33 -0.42,-0.99 -0.91,-1.95 -1.45,-2.88 -0.08,-0.14 -0.29,-0.01 -0.21,0.13 1.11,2.08 1.97,4.31 2.52,6.6 0.27,1.14 0.47,2.29 0.59,3.46 0.06,0.59 0.09,1.18 0.11,1.78 0,0.08 0,0.15 0,0.23 -0.66,0.28 -1.32,0.56 -1.98,0.84 -0.03,-1.23 -0.2,-2.46 -0.47,-3.64 -0.47,-2.05 -1.32,-3.99 -2.47,-5.74 -0.09,-0.14 -0.32,-0.01 -0.23,0.14 1.06,1.75 1.8,3.68 2.24,5.67 0.28,1.26 0.39,2.53 0.4,3.8 -0.65,0.28 -1.3,0.55 -1.95,0.83 0,-0.31 -0.01,-0.62 -0.03,-0.93 -0.05,-0.92 -0.16,-1.83 -0.31,-2.74 -0.3,-1.83 -0.82,-3.62 -1.54,-5.32 -0.42,-0.98 -0.9,-1.92 -1.45,-2.84 -0.08,-0.14 -0.29,-0.01 -0.21,0.12 1.12,2.04 1.95,4.25 2.47,6.52 0.26,1.13 0.44,2.27 0.53,3.42 0.04,0.59 0.07,1.17 0.07,1.76 0,0.07 -0.01,0.13 -0.01,0.2 -0.44,0.19 -0.89,0.38 -1.34,0.57 -0.03,-0.33 -0.07,-0.65 -0.11,-0.97 -0.12,-0.91 -0.3,-1.81 -0.53,-2.69 -0.47,-1.78 -1.18,-3.45 -2.09,-5.04 -0.06,-0.11 -0.22,-0.01 -0.16,0.1 0.84,1.59 1.47,3.3 1.91,5.04 0.22,0.87 0.38,1.76 0.48,2.65 0.04,0.37 0.06,0.73 0.08,1.1 -0.4,0.17 -0.8,0.34 -1.2,0.51 0,-0.47 -0.06,-0.96 -0.11,-1.39 -0.08,-0.7 -0.19,-1.39 -0.37,-2.08 -0.36,-1.4 -0.91,-2.75 -1.61,-4.01 -0.07,-0.13 -0.26,-0.01 -0.19,0.11 0.69,1.25 1.19,2.58 1.51,3.98 0.16,0.69 0.28,1.4 0.35,2.1 0.03,0.33 0.05,0.67 0.07,1 0,0.14 0,0.29 0.01,0.43 -0.41,0.18 -0.83,0.35 -1.24,0.53 -0.55,-4.02 -1.94,-7.96 -3.92,-11.49 -0.09,-0.15 -0.32,-0.02 -0.24,0.14 1.96,3.6 3.16,7.48 3.78,11.51 -0.35,0.15 -0.69,0.3 -1.04,0.44 0.01,-0.4 -0.04,-0.83 -0.08,-1.21 -0.06,-0.54 -0.14,-1.08 -0.25,-1.61 -0.23,-1.11 -0.58,-2.19 -1.01,-3.24 -0.05,-0.12 -0.24,-0.07 -0.19,0.05 0.4,1.02 0.7,2.07 0.9,3.15 0.1,0.54 0.18,1.09 0.23,1.64 0.04,0.43 0.03,0.9 0.08,1.34 -0.51,0.22 -1.02,0.43 -1.53,0.65 -0.04,-0.3 -0.09,-0.6 -0.14,-0.89 -0.08,-0.53 -0.18,-1.06 -0.29,-1.59 -0.21,-1.01 -0.47,-2.02 -0.78,-3.01 -0.62,-2 -1.44,-3.92 -2.44,-5.76 -0.08,-0.15 -0.3,-0.02 -0.22,0.13 0.94,1.85 1.71,3.79 2.31,5.78 0.29,0.98 0.54,1.96 0.74,2.96 0.1,0.49 0.19,0.98 0.27,1.47 0.06,0.35 0.09,0.71 0.14,1.07 -0.07,0.03 -0.15,0.06 -0.22,0.09 -0.4,0.17 -0.8,0.34 -1.19,0.51 -0.07,-0.51 -0.16,-1.01 -0.26,-1.5 -0.14,-0.73 -0.3,-1.46 -0.48,-2.18 -0.38,-1.44 -0.84,-2.86 -1.33,-4.26 -0.02,-0.05 -0.11,-0.03 -0.09,0.02 0.48,1.39 0.86,2.8 1.16,4.24 0.15,0.71 0.29,1.42 0.42,2.13 0.1,0.55 0.17,1.12 0.26,1.67 -0.24,0.1 -0.49,0.21 -0.73,0.31 0,-0.01 0,-0.03 0,-0.04 -0.02,-0.22 -0.36,-0.23 -0.35,0 0,0.06 0.01,0.12 0.01,0.19 -0.09,0.04 -0.19,0.08 -0.28,0.12 -0.07,-0.55 -0.16,-1.1 -0.27,-1.64 -0.22,-1.16 -0.51,-2.31 -0.87,-3.44 -0.71,-2.26 -1.7,-4.43 -2.98,-6.42 -0.09,-0.14 -0.32,-0.01 -0.23,0.14 1.15,2.03 2.12,4.17 2.82,6.39 0.35,1.09 0.63,2.21 0.84,3.33 0.12,0.6 0.2,1.21 0.28,1.81 -0.55,0.23 -1.09,0.47 -1.64,0.7 -0.08,-0.42 -0.16,-0.83 -0.26,-1.25 -0.22,-0.98 -0.48,-1.96 -0.78,-2.92 -0.59,-1.9 -1.32,-3.77 -2.21,-5.56 -0.51,-1.02 -1.07,-2.02 -1.66,-2.99 -0.09,-0.15 -0.33,-0.01 -0.24,0.14 1.99,3.42 3.51,7.13 4.43,10.98 0.13,0.54 0.25,1.08 0.35,1.62 0.01,0.04 0.01,0.08 0.02,0.12 -0.67,0.28 -1.34,0.57 -2.01,0.85 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 -0.13,-0.74 -0.3,-1.48 -0.48,-2.21 -0.38,-1.49 -0.93,-2.92 -1.52,-4.34 -0.03,-0.07 -0.15,-0.04 -0.12,0.03 0.57,1.4 0.98,2.86 1.33,4.33 0.17,0.72 0.32,1.44 0.44,2.17 0.02,0.1 0.03,0.2 0.04,0.29 -0.8,0.34 -1.61,0.68 -2.41,1.02 -0.03,-0.74 -0.09,-1.47 -0.19,-2.19 -0.15,-1.15 -0.37,-2.29 -0.66,-3.41 -0.6,-2.27 -1.53,-4.46 -2.73,-6.48 -0.11,-0.18 -0.38,-0.02 -0.28,0.16 1.16,2.01 2.04,4.17 2.63,6.42 0.3,1.12 0.52,2.26 0.66,3.41 0.09,0.75 0.13,1.51 0.15,2.26 -0.5,0.21 -1.01,0.43 -1.51,0.64 -0.28,-3.82 -1.44,-7.59 -3.16,-10.98 -0.08,-0.16 -0.31,-0.02 -0.24,0.14 0.86,1.89 1.54,3.88 2.06,5.88 0.43,1.7 0.69,3.42 0.88,5.16 -0.47,0.2 -0.94,0.4 -1.41,0.6 -0.53,-3.26 -1.42,-6.47 -2.71,-9.5 -0.45,-1.06 -0.95,-2.11 -1.49,-3.13 -0.09,-0.16 -0.33,-0.02 -0.25,0.15 1.79,3.53 3.11,7.3 3.88,11.19 0.09,0.48 0.16,0.96 0.23,1.44 -0.39,0.17 -0.78,0.33 -1.17,0.5 -0.01,-0.1 -0.02,-0.2 -0.03,-0.29 -0.07,-0.64 -0.18,-1.28 -0.32,-1.91 -0.28,-1.26 -0.7,-2.49 -1.23,-3.67 -0.08,-0.17 -0.33,-0.02 -0.26,0.15 0.51,1.16 0.9,2.37 1.17,3.6 0.13,0.62 0.23,1.25 0.3,1.88 0.01,0.13 0.02,0.26 0.02,0.39 -0.63,0.27 -1.25,0.53 -1.88,0.8 -0.08,-0.61 -0.17,-1.22 -0.28,-1.81 -0.21,-1.18 -0.5,-2.34 -0.87,-3.48 -0.72,-2.26 -1.74,-4.42 -3.02,-6.41 -0.1,-0.15 -0.33,-0.01 -0.24,0.14 1.23,1.99 2.21,4.13 2.92,6.36 0.35,1.1 0.63,2.23 0.84,3.37 0.1,0.57 0.19,1.15 0.26,1.72 0.01,0.08 0.01,0.17 0.02,0.26 -0.61,0.26 -1.21,0.52 -1.82,0.77 -0.18,-1.22 -0.43,-2.44 -0.76,-3.61 -0.58,-2.06 -1.38,-4.05 -2.37,-5.94 -0.08,-0.14 -0.29,-0.02 -0.22,0.13 0.94,1.89 1.68,3.88 2.21,5.92 0.32,1.22 0.52,2.46 0.69,3.7 -0.58,0.25 -1.16,0.49 -1.74,0.74 -0.01,-2.28 -0.59,-4.59 -1.64,-6.58 -0.06,-0.11 -0.23,-0.01 -0.17,0.1 0.62,1.22 1.07,2.52 1.33,3.86 0.17,0.91 0.21,1.83 0.19,2.74 -0.47,0.2 -0.94,0.4 -1.4,0.6 -0.08,-0.56 -0.18,-1.11 -0.29,-1.65 -0.2,-1.01 -0.44,-2.02 -0.72,-3.01 -0.56,-1.95 -1.31,-3.81 -2.19,-5.63 -0.06,-0.13 -0.26,-0.02 -0.2,0.12 0.86,1.81 1.54,3.73 2.08,5.66 0.26,0.94 0.49,1.88 0.67,2.84 0.12,0.61 0.2,1.22 0.29,1.83 -0.33,0.14 -0.66,0.28 -0.99,0.42 -0.18,-0.68 -0.38,-1.35 -0.57,-2.02 -0.29,-1.05 -0.58,-2.09 -0.87,-3.14 -0.05,-0.17 -0.32,-0.1 -0.27,0.07 0.28,1.05 0.57,2.1 0.85,3.15 0.19,0.68 0.36,1.38 0.55,2.07 -0.54,0.23 -1.09,0.46 -1.63,0.69 -0.04,-0.44 -0.08,-0.88 -0.15,-1.32 -0.15,-1.08 -0.36,-2.15 -0.65,-3.2 -0.56,-2.09 -1.39,-4.07 -2.45,-5.97 -0.06,-0.11 -0.23,-0.01 -0.17,0.1 1.01,1.87 1.77,3.9 2.3,5.95 0.27,1.04 0.47,2.1 0.61,3.16 0.06,0.48 0.1,0.95 0.14,1.43 -0.56,0.24 -1.11,0.47 -1.67,0.71 -0.46,-4 -1.79,-7.85 -3.84,-11.33 -0.05,-0.08 -0.18,-0.01 -0.13,0.08 1.99,3.48 3.2,7.41 3.63,11.4 -0.6,0.26 -1.21,0.51 -1.81,0.77 -0.03,-0.49 -0.07,-0.98 -0.14,-1.47 -0.13,-1.02 -0.35,-2.03 -0.65,-3.02 -0.6,-1.97 -1.55,-3.89 -2.7,-5.59 -0.04,-0.07 -0.15,0 -0.11,0.06 1.16,1.71 1.98,3.56 2.53,5.55 0.27,0.98 0.48,1.98 0.61,3 0.06,0.5 0.11,1.01 0.13,1.52 0,0.03 0,0.06 0,0.09 -0.53,0.23 -1.07,0.45 -1.6,0.68 -0.01,0 -0.02,0.01 -0.03,0.01 -0.03,-0.16 -0.05,-0.32 -0.08,-0.48 -0.1,-0.53 -0.21,-1.06 -0.35,-1.59 -0.27,-1.06 -0.67,-2.06 -1.08,-3.08 -0.04,-0.11 -0.22,-0.06 -0.17,0.05 0.4,0.99 0.67,2.03 0.92,3.06 0.12,0.51 0.23,1.02 0.33,1.54 0.04,0.22 0.07,0.43 0.1,0.65 -0.43,0.18 -0.86,0.37 -1.29,0.55 -0.08,-0.46 -0.16,-0.91 -0.26,-1.37 -0.22,-1.01 -0.49,-2.02 -0.8,-3 -0.63,-1.99 -1.46,-3.91 -2.45,-5.75 -0.08,-0.15 -0.3,-0.02 -0.22,0.13 0.97,1.84 1.76,3.77 2.35,5.76 0.29,0.97 0.54,1.96 0.74,2.96 0.1,0.47 0.18,0.95 0.26,1.43 -0.5,0.21 -1.01,0.43 -1.51,0.64 -0.01,-0.1 -0.02,-0.19 -0.03,-0.29 -0.04,-0.35 -0.09,-0.7 -0.15,-1.05 -0.13,-0.76 -0.31,-1.5 -0.53,-2.24 -0.44,-1.43 -1.08,-2.77 -1.85,-4.05 -0.07,-0.11 -0.25,-0.01 -0.18,0.11 0.75,1.27 1.33,2.66 1.75,4.08 0.2,0.68 0.36,1.38 0.47,2.08 0.06,0.39 0.12,0.78 0.15,1.18 0.01,0.11 0.02,0.22 0.03,0.33 -0.63,0.27 -1.25,0.53 -1.88,0.8 -0.05,-0.65 -0.13,-1.3 -0.23,-1.94 -0.17,-1.09 -0.41,-2.18 -0.71,-3.24 -0.29,-1.04 -0.65,-2.07 -1.08,-3.06 -0.45,-1.04 -0.99,-2.01 -1.56,-2.99 -0.05,-0.08 -0.16,-0.01 -0.12,0.07 1.06,1.89 1.87,3.98 2.44,6.07 0.28,1.03 0.5,2.08 0.65,3.14 0.1,0.71 0.15,1.42 0.19,2.13 -0.37,0.16 -0.74,0.31 -1.11,0.47 -0.04,-0.41 -0.09,-0.82 -0.14,-1.23 -0.11,-0.79 -0.25,-1.58 -0.43,-2.36 -0.36,-1.54 -0.9,-3.01 -1.57,-4.44 -0.04,-0.08 -0.18,-0.02 -0.14,0.06 0.59,1.42 1.05,2.91 1.39,4.41 0.17,0.77 0.31,1.54 0.41,2.32 0.06,0.47 0.09,0.93 0.11,1.4 -0.22,0.09 -0.43,0.18 -0.65,0.28 0,-0.03 -0.01,-0.06 -0.01,-0.09 -0.07,-0.49 -0.16,-0.97 -0.25,-1.46 -0.19,-0.97 -0.44,-1.93 -0.71,-2.88 -0.08,-0.28 -0.17,-0.55 -0.26,-0.82 -0.01,-0.14 0,-0.27 -0.01,-0.41 -0.05,-1.19 -0.09,-2.39 -0.18,-3.58 -0.08,-1.04 -0.05,-2.25 -0.46,-3.22 0.05,-0.12 0.08,-0.25 0.08,-0.38 0,-0.6 -0.45,-0.95 -0.99,-1.01 -0.18,-0.02 -0.36,-0.04 -0.55,-0.06 -0.16,-0.3 -0.32,-0.59 -0.48,-0.88 -0.06,-0.11 -0.23,-0.01 -0.17,0.1 0.11,0.24 0.21,0.49 0.3,0.74 -9.76,-1.06 -19.68,-1.37 -29.46,-0.59 -1.39,0.11 -2.78,0.24 -4.17,0.38 -0.57,0.06 -1.13,0.12 -1.7,0.18 0.02,-0.02 0.04,-0.02 0.05,-0.05 0.01,-0.12 0.02,-0.22 0,-0.34 -0.01,-0.1 -0.03,-0.2 -0.04,-0.3 -0.03,-0.21 -0.07,-0.43 -0.11,-0.64 -0.02,-0.11 -0.04,-0.23 -0.06,-0.34 0.3,-0.12 0.6,-0.24 0.9,-0.36 0.01,0.05 0.01,0.11 0.02,0.16 0.02,0.17 0.06,0.34 0.09,0.5 0.02,0.08 0.03,0.17 0.05,0.25 0.02,0.09 0.03,0.19 0.09,0.27 0.09,0.12 0.25,0.1 0.3,-0.04 0.06,-0.15 0,-0.35 -0.02,-0.51 -0.02,-0.18 -0.04,-0.37 -0.07,-0.55 -0.01,-0.08 -0.03,-0.17 -0.04,-0.25 0.59,-0.24 1.17,-0.48 1.76,-0.71 0.04,0.22 0.09,0.44 0.13,0.66 0.06,0.31 0.1,0.63 0.25,0.91 0.06,0.1 0.19,0.04 0.2,-0.05 0.04,-0.31 -0.05,-0.64 -0.12,-0.94 -0.05,-0.23 -0.09,-0.47 -0.14,-0.7 0.61,-0.25 1.22,-0.49 1.82,-0.74 0.04,0.14 0.07,0.27 0.11,0.41 0.02,0.07 0.04,0.14 0.06,0.21 0.02,0.09 0.06,0.16 0.09,0.24 0.05,0.14 0.09,0.3 0.17,0.43 0.04,0.07 0.15,0.04 0.15,-0.04 0,-0.15 -0.04,-0.31 -0.07,-0.46 -0.02,-0.08 -0.02,-0.16 -0.04,-0.24 -0.02,-0.08 -0.04,-0.15 -0.06,-0.23 -0.04,-0.15 -0.08,-0.29 -0.12,-0.44 0.68,-0.28 1.36,-0.55 2.04,-0.83 l 0.09,0.34 c 0.05,0.2 0.11,0.39 0.16,0.59 0.03,0.1 0.05,0.2 0.09,0.29 0.04,0.1 0.06,0.21 0.14,0.28 0.08,0.07 0.2,0.04 0.23,-0.06 0.03,-0.1 0,-0.21 -0.02,-0.31 -0.02,-0.09 -0.04,-0.18 -0.07,-0.27 -0.06,-0.2 -0.11,-0.41 -0.17,-0.61 -0.04,-0.13 -0.07,-0.26 -0.11,-0.39 0.48,-0.2 0.96,-0.39 1.44,-0.59 0.03,0.07 0.06,0.15 0.08,0.22 0.07,0.2 0.15,0.4 0.28,0.57 0.05,0.06 0.15,0.01 0.15,-0.06 -0.01,-0.2 -0.08,-0.4 -0.15,-0.59 -0.03,-0.08 -0.06,-0.16 -0.09,-0.24 0.35,-0.14 0.7,-0.28 1.05,-0.43 0.18,0.27 0.37,0.55 0.55,0.82 0.1,0.15 0.2,0.29 0.32,0.43 0.11,0.13 0.21,0.26 0.36,0.34 0.09,0.05 0.17,-0.03 0.16,-0.12 -0.02,-0.17 -0.12,-0.32 -0.2,-0.47 -0.08,-0.15 -0.17,-0.28 -0.27,-0.41 -0.18,-0.25 -0.36,-0.5 -0.54,-0.74 2.09,-0.85 4.17,-1.71 6.26,-2.56 0.14,0.22 0.29,0.43 0.43,0.65 0.08,0.12 0.16,0.24 0.24,0.36 0.08,0.12 0.16,0.26 0.28,0.34 0.09,0.06 0.18,-0.04 0.16,-0.13 -0.01,-0.08 -0.05,-0.14 -0.09,-0.2 -0.04,-0.06 -0.08,-0.13 -0.12,-0.19 -0.08,-0.11 -0.15,-0.23 -0.23,-0.34 -0.13,-0.2 -0.27,-0.4 -0.4,-0.6 0.33,-0.14 0.67,-0.28 1,-0.41 0.01,0 0.02,0 0.02,0 0.06,0.01 0.11,0.03 0.17,0.05 0.01,0.01 0.03,0.01 0.04,0.02 0,0 0,0 0,0 0,0 0,0 0,0 0.03,0.01 0.05,0.02 0.08,0.04 0.05,0.03 0.1,0.06 0.15,0.09 0.01,0.01 0.05,0.03 0.01,0 0.01,0.01 0.02,0.02 0.03,0.02 0.02,0.02 0.04,0.04 0.06,0.05 0.05,0.04 0.09,0.08 0.13,0.13 0.02,0.02 0.04,0.04 0.06,0.06 0.01,0.01 0.02,0.02 0.02,0.03 0,0 0,0 0,0 0,0 0,0.01 0.01,0.01 0.04,0.05 0.07,0.1 0.1,0.16 0.03,0.05 0.1,0.1 0.16,0.09 0.04,0 0.08,-0.01 0.11,-0.04 0.01,-0.01 0.02,-0.01 0.02,-0.02 0.05,-0.04 0.07,-0.12 0.05,-0.18 -0.1,-0.28 -0.28,-0.52 -0.54,-0.68 -0.04,-0.03 -0.09,-0.04 -0.14,-0.06 0.4,-0.16 0.8,-0.33 1.19,-0.49 0.09,0.14 0.18,0.28 0.28,0.43 0.08,0.12 0.15,0.24 0.25,0.34 0.1,0.11 0.17,0.23 0.29,0.33 0.08,0.07 0.23,0 0.19,-0.11 -0.05,-0.14 -0.13,-0.26 -0.19,-0.4 -0.03,-0.06 -0.05,-0.12 -0.09,-0.17 -0.04,-0.06 -0.08,-0.12 -0.12,-0.18 -0.09,-0.13 -0.17,-0.25 -0.26,-0.38 0.66,-0.27 1.32,-0.55 1.99,-0.82 0.22,0.18 0.44,0.36 0.66,0.55 0.15,0.12 0.29,0.26 0.45,0.36 0.16,0.1 0.31,0.24 0.49,0.32 0.09,0.04 0.22,-0.06 0.15,-0.15 -0.12,-0.15 -0.27,-0.27 -0.41,-0.41 -0.13,-0.14 -0.29,-0.25 -0.44,-0.37 -0.18,-0.15 -0.37,-0.3 -0.55,-0.45 0.82,-0.34 1.63,-0.67 2.45,-1.01 0.01,0.02 0.01,0.04 0.03,0.05 0.26,0.16 0.49,0.37 0.68,0.61 0.09,0.11 0.18,0.23 0.26,0.35 0.04,0.06 0.08,0.13 0.12,0.19 0.04,0.08 0.1,0.13 0.15,0.2 0.08,0.12 0.25,0.04 0.22,-0.09 -0.01,-0.09 -0.01,-0.17 -0.05,-0.25 -0.03,-0.08 -0.07,-0.17 -0.11,-0.25 -0.08,-0.16 -0.18,-0.3 -0.29,-0.44 -0.18,-0.21 -0.41,-0.38 -0.64,-0.53 2.27,-0.94 4.55,-1.88 6.82,-2.83 0.01,0.03 0.02,0.06 0.06,0.09 0.83,0.55 1.55,1.26 2.11,2.07 0.27,0.39 0.51,0.8 0.7,1.23 0.1,0.23 0.2,0.46 0.28,0.7 0.07,0.22 0.12,0.46 0.24,0.66 0.06,0.11 0.23,0.06 0.23,-0.06 0.02,-0.46 -0.24,-0.98 -0.42,-1.39 -0.21,-0.49 -0.48,-0.95 -0.79,-1.39 -0.57,-0.81 -1.3,-1.49 -2.13,-2.03 2.51,-1.05 5.02,-2.1 7.53,-3.15 0.81,0.54 1.54,1.2 2.1,1.99 0.29,0.42 0.55,0.86 0.76,1.33 0.23,0.51 0.36,1.06 0.57,1.58 0.03,0.09 0.18,0.09 0.17,-0.02 -0.01,-0.53 -0.2,-1.05 -0.41,-1.54 -0.23,-0.54 -0.52,-1.06 -0.87,-1.54 -0.56,-0.77 -1.28,-1.4 -2.07,-1.91 0.57,-0.24 1.13,-0.47 1.7,-0.71 0.01,0.05 0.04,0.09 0.09,0.13 0.48,0.32 0.93,0.68 1.3,1.12 0.18,0.21 0.34,0.45 0.48,0.69 0.07,0.12 0.14,0.25 0.21,0.37 0.07,0.13 0.12,0.28 0.23,0.38 0.12,0.1 0.28,0.03 0.3,-0.12 0.02,-0.15 -0.06,-0.3 -0.11,-0.43 -0.06,-0.15 -0.13,-0.3 -0.22,-0.44 -0.16,-0.27 -0.34,-0.53 -0.55,-0.76 -0.38,-0.45 -0.84,-0.83 -1.37,-1.09 1.26,-0.53 2.52,-1.05 3.78,-1.58 0.23,0.05 0.46,0.09 0.67,0.18 0.15,0.06 0.3,0.14 0.44,0.22 0.07,0.04 0.15,0.07 0.22,0.1 0.08,0.04 0.15,0.08 0.24,0.11 0.09,0.03 0.17,-0.08 0.12,-0.16 -0.05,-0.07 -0.11,-0.13 -0.18,-0.19 -0.07,-0.06 -0.14,-0.13 -0.23,-0.18 -0.16,-0.09 -0.33,-0.17 -0.5,-0.24 -0.09,-0.03 -0.19,-0.04 -0.28,-0.07 0.79,-0.33 1.57,-0.67 2.35,-1 0.26,0.09 0.5,0.2 0.73,0.35 0.18,0.12 0.34,0.27 0.49,0.42 0.08,0.08 0.16,0.15 0.23,0.23 0.08,0.08 0.14,0.17 0.22,0.25 0.08,0.08 0.21,0 0.18,-0.11 -0.06,-0.23 -0.21,-0.46 -0.37,-0.63 -0.16,-0.18 -0.35,-0.33 -0.55,-0.47 -0.15,-0.1 -0.31,-0.17 -0.47,-0.25 0.2,-0.08 0.39,-0.17 0.59,-0.25 0.01,0.02 0.01,0.03 0.03,0.05 0.43,0.34 0.89,0.66 1.31,1.02 0.21,0.18 0.41,0.35 0.6,0.54 0.1,0.1 0.21,0.19 0.31,0.29 0.09,0.09 0.2,0.19 0.31,0.25 0.05,0.03 0.13,-0.02 0.11,-0.09 -0.04,-0.12 -0.11,-0.25 -0.19,-0.35 -0.08,-0.11 -0.16,-0.23 -0.25,-0.34 -0.19,-0.22 -0.38,-0.43 -0.58,-0.62 -0.37,-0.35 -0.79,-0.67 -1.24,-0.92 0.82,-0.35 1.64,-0.69 2.46,-1.04 0.24,0.19 0.48,0.39 0.73,0.57 0.19,0.15 0.38,0.29 0.57,0.44 0.19,0.15 0.39,0.27 0.6,0.4 0.12,0.08 0.26,-0.1 0.15,-0.2 -0.18,-0.16 -0.35,-0.33 -0.54,-0.47 -0.19,-0.15 -0.38,-0.29 -0.57,-0.44 -0.2,-0.15 -0.4,-0.3 -0.6,-0.44 0.89,-0.38 1.79,-0.76 2.68,-1.14 0.07,0.08 0.14,0.17 0.21,0.25 0.13,0.14 0.25,0.29 0.39,0.43 0.13,0.14 0.28,0.31 0.46,0.38 0.11,0.04 0.23,-0.09 0.2,-0.2 -0.03,-0.11 -0.1,-0.19 -0.18,-0.27 -0.06,-0.07 -0.12,-0.14 -0.18,-0.21 -0.13,-0.14 -0.27,-0.27 -0.4,-0.41 -0.04,-0.04 -0.08,-0.08 -0.12,-0.12 0.45,-0.19 0.9,-0.38 1.35,-0.57 0.25,0.17 0.49,0.35 0.75,0.52 0.16,0.11 0.33,0.21 0.49,0.31 0.09,0.05 0.18,0.1 0.27,0.14 0.09,0.05 0.18,0.1 0.28,0.12 0.1,0.02 0.23,-0.1 0.15,-0.2 -0.07,-0.09 -0.15,-0.14 -0.23,-0.21 -0.08,-0.06 -0.15,-0.12 -0.23,-0.17 -0.17,-0.11 -0.34,-0.22 -0.52,-0.33 -0.19,-0.12 -0.39,-0.22 -0.59,-0.34 0.76,-0.32 1.51,-0.64 2.27,-0.96 -0.01,0.05 -0.01,0.11 0.03,0.15 0.24,0.2 0.48,0.39 0.72,0.59 0.12,0.1 0.24,0.2 0.36,0.29 0.13,0.1 0.25,0.22 0.4,0.27 0.12,0.04 0.21,-0.1 0.16,-0.21 -0.08,-0.14 -0.22,-0.23 -0.34,-0.32 -0.12,-0.1 -0.23,-0.19 -0.35,-0.28 -0.24,-0.19 -0.48,-0.38 -0.72,-0.57 -0.01,-0.01 -0.02,-0.01 -0.04,-0.01 0.72,-0.3 1.43,-0.61 2.15,-0.91 0.82,-0.35 1.64,-0.71 2.46,-1.06 0.24,0.29 0.49,0.58 0.74,0.86 0.33,0.38 0.64,0.75 1.02,1.08 0.12,0.1 0.33,-0.04 0.23,-0.18 -0.29,-0.41 -0.63,-0.78 -0.97,-1.15 -0.23,-0.25 -0.47,-0.5 -0.7,-0.75 0.52,-0.22 1.05,-0.45 1.57,-0.68 0.66,0.54 1.26,1.12 1.85,1.74 0.33,0.34 0.64,0.7 0.92,1.08 0.27,0.36 0.51,0.74 0.79,1.09 0.04,0.04 0.12,0 0.1,-0.06 -0.35,-0.85 -0.97,-1.63 -1.54,-2.33 -0.51,-0.63 -1.13,-1.17 -1.77,-1.68 0.62,-0.26 1.23,-0.53 1.85,-0.79 0.2,0.13 0.41,0.26 0.61,0.38 0.15,0.09 0.29,0.18 0.44,0.26 0.16,0.09 0.32,0.21 0.49,0.24 0.15,0.03 0.24,-0.13 0.14,-0.25 -0.11,-0.13 -0.29,-0.22 -0.44,-0.31 -0.15,-0.09 -0.3,-0.18 -0.45,-0.26 -0.13,-0.08 -0.27,-0.15 -0.41,-0.23 0.69,-0.3 1.39,-0.6 2.08,-0.9 0.27,0.11 0.54,0.22 0.8,0.37 0.4,0.23 0.76,0.5 1.09,0.82 0.32,0.32 0.59,0.67 0.82,1.05 0.12,0.2 0.23,0.4 0.31,0.61 0.09,0.22 0.13,0.45 0.23,0.66 0.06,0.13 0.26,0.06 0.26,-0.07 0.01,-0.24 -0.08,-0.48 -0.16,-0.7 -0.08,-0.23 -0.17,-0.46 -0.28,-0.68 -0.22,-0.44 -0.52,-0.85 -0.87,-1.2 -0.34,-0.35 -0.75,-0.66 -1.18,-0.9 -0.14,-0.08 -0.3,-0.14 -0.46,-0.21 0.65,-0.28 1.3,-0.56 1.95,-0.84 0.19,0.15 0.37,0.3 0.57,0.45 0.23,0.18 0.48,0.38 0.77,0.46 0.09,0.03 0.18,-0.08 0.13,-0.17 -0.17,-0.24 -0.43,-0.42 -0.67,-0.59 -0.15,-0.1 -0.3,-0.2 -0.45,-0.3 0.47,-0.2 0.94,-0.4 1.41,-0.61 0.24,0.24 0.49,0.47 0.73,0.71 0.15,0.15 0.31,0.28 0.46,0.43 0.15,0.14 0.33,0.32 0.53,0.38 0.08,0.02 0.18,-0.06 0.15,-0.15 -0.08,-0.2 -0.26,-0.36 -0.41,-0.5 -0.15,-0.14 -0.31,-0.29 -0.46,-0.42 -0.22,-0.19 -0.44,-0.39 -0.66,-0.58 1.44,-0.62 2.88,-1.23 4.31,-1.86 0.21,0.12 0.42,0.23 0.62,0.37 0.29,0.2 0.56,0.44 0.86,0.63 0.28,0.18 0.54,0.44 0.79,0.68 0.27,0.26 0.44,0.57 0.67,0.85 0.05,0.06 0.13,-0.02 0.1,-0.08 -0.14,-0.33 -0.39,-0.62 -0.59,-0.91 -0.1,-0.15 -0.21,-0.31 -0.32,-0.45 -0.12,-0.14 -0.25,-0.27 -0.37,-0.41 -0.22,-0.28 -0.55,-0.5 -0.85,-0.69 -0.12,-0.08 -0.26,-0.13 -0.39,-0.2 0.57,-0.24 1.13,-0.49 1.7,-0.74 0.22,0.22 0.44,0.44 0.67,0.65 0.15,0.14 0.3,0.28 0.46,0.41 0.08,0.07 0.16,0.14 0.25,0.2 0.09,0.07 0.17,0.15 0.29,0.15 0.08,0 0.18,-0.08 0.17,-0.16 -0.02,-0.13 -0.08,-0.19 -0.17,-0.28 -0.08,-0.07 -0.15,-0.15 -0.23,-0.22 -0.15,-0.14 -0.31,-0.27 -0.46,-0.41 -0.2,-0.17 -0.4,-0.34 -0.61,-0.5 0.51,-0.22 1.03,-0.44 1.54,-0.67 0.18,0.17 0.35,0.33 0.53,0.5 0.15,0.15 0.3,0.3 0.46,0.44 0.16,0.14 0.31,0.3 0.5,0.39 0.14,0.06 0.29,-0.07 0.21,-0.21 -0.1,-0.18 -0.28,-0.33 -0.43,-0.47 -0.15,-0.15 -0.31,-0.29 -0.47,-0.43 -0.14,-0.13 -0.28,-0.26 -0.42,-0.38 0.5,-0.22 1.01,-0.44 1.51,-0.65 0.28,0.22 0.56,0.43 0.85,0.65 0.16,0.12 0.31,0.24 0.48,0.34 0.09,0.05 0.18,0.1 0.27,0.15 0.09,0.05 0.17,0.11 0.28,0.14 0.11,0.03 0.21,-0.1 0.15,-0.19 -0.05,-0.08 -0.12,-0.14 -0.2,-0.21 -0.08,-0.07 -0.15,-0.14 -0.22,-0.22 -0.15,-0.14 -0.33,-0.27 -0.49,-0.39 -0.21,-0.16 -0.43,-0.31 -0.64,-0.46 0.17,-0.07 0.33,-0.14 0.5,-0.22 0.08,0.09 0.17,0.19 0.25,0.29 0.3,0.35 0.56,0.73 0.79,1.13 0.22,0.38 0.44,0.8 0.6,1.18 0.08,0.19 0.15,0.39 0.21,0.59 -0.01,0.02 -0.02,0.04 -0.01,0.06 0.03,0.08 0.06,0.15 0.09,0.23 0.05,0.21 0.11,0.43 0.23,0.59 0.01,0.02 0.04,0.03 0.05,0.05 0.02,0.05 0.04,0.11 0.08,0.15 0.03,0.03 0.07,0.03 0.1,0.01 0.13,0.09 0.27,0.14 0.45,0.12 0,0 0.01,-0.01 0.01,-0.01 0.1,0.27 0.37,0.5 0.69,0.39 0.04,-0.01 0.08,-0.03 0.12,-0.05 0.17,0.18 0.35,0.36 0.52,0.53 0.16,0.16 0.31,0.33 0.47,0.49 0.07,0.07 0.15,0.14 0.23,0.21 0.08,0.08 0.16,0.16 0.27,0.2 0.08,0.03 0.18,-0.07 0.15,-0.15 -0.04,-0.11 -0.12,-0.19 -0.2,-0.27 -0.07,-0.08 -0.14,-0.16 -0.21,-0.24 -0.16,-0.16 -0.32,-0.32 -0.48,-0.48 -0.14,-0.14 -0.28,-0.28 -0.42,-0.42 0.62,-0.21 1.23,-0.45 1.84,-0.68 0.06,0.21 0.16,0.4 0.3,0.57 0.08,0.1 0.17,0.17 0.28,0.24 0.11,0.07 0.23,0.14 0.35,0.15 0.08,0.01 0.12,-0.1 0.07,-0.16 -0.08,-0.07 -0.17,-0.12 -0.25,-0.19 -0.08,-0.07 -0.16,-0.16 -0.23,-0.24 -0.11,-0.13 -0.18,-0.3 -0.24,-0.47 0.25,-0.1 0.5,-0.18 0.74,-0.28 0.22,-0.09 0.44,-0.17 0.66,-0.26 0.15,0.19 0.29,0.38 0.44,0.57 0.09,0.12 0.18,0.23 0.27,0.35 0.09,0.12 0.18,0.26 0.31,0.34 0.09,0.06 0.22,-0.04 0.18,-0.14 -0.04,-0.14 -0.15,-0.25 -0.24,-0.37 -0.09,-0.12 -0.18,-0.23 -0.27,-0.35 -0.13,-0.17 -0.27,-0.34 -0.4,-0.51 0.22,-0.09 0.44,-0.18 0.67,-0.26 0.37,-0.14 0.83,-0.25 1.23,-0.43 l 0.2,0.34 c 0.09,0.15 0.17,0.3 0.26,0.44 0.09,0.14 0.17,0.33 0.35,0.37 0.07,0.02 0.16,-0.03 0.17,-0.1 0.04,-0.18 -0.08,-0.33 -0.17,-0.48 -0.08,-0.15 -0.18,-0.29 -0.27,-0.44 -0.07,-0.11 -0.14,-0.22 -0.21,-0.33 0.06,-0.04 0.13,-0.08 0.19,-0.13 0.23,-0.23 0.23,-0.57 0.1,-0.83 0.01,-0.12 -0.01,-0.24 -0.07,-0.34 -0.05,-0.22 -0.08,-0.45 -0.14,-0.66 -0.07,-0.23 -0.15,-0.47 -0.23,-0.7 -0.05,-0.15 -0.16,-0.25 -0.29,-0.31 -0.46,-0.97 -1,-1.9 -1.62,-2.78 0.47,-0.22 0.94,-0.45 1.4,-0.68 0.04,0.07 0.09,0.14 0.13,0.22 0.28,0.45 0.55,0.91 0.82,1.37 0.54,0.92 1.06,1.84 1.57,2.78 0.98,1.8 1.91,3.63 2.77,5.5 1.73,3.76 3.19,7.65 4.37,11.61 0.56,1.89 1.07,3.81 1.47,5.75 -0.24,0.1 -0.49,0.21 -0.73,0.31 0,-0.01 0,-0.01 0,-0.02 -0.04,-0.13 -0.06,-0.26 -0.07,-0.39 -0.02,-0.27 0.01,-0.55 -0.01,-0.82 -0.05,-0.55 -0.14,-1.09 -0.21,-1.63 -0.03,-0.21 -0.39,-0.16 -0.37,0.05 0.03,0.55 0.05,1.1 0.12,1.64 0.03,0.28 0.12,0.54 0.15,0.82 0.02,0.17 0.01,0.34 0.01,0.52 -0.13,0.06 -0.27,0.11 -0.4,0.17 -0.01,-0.15 -0.02,-0.29 -0.04,-0.44 -0.05,-0.59 -0.12,-1.18 -0.2,-1.77 -0.16,-1.19 -0.4,-2.37 -0.7,-3.54 -0.6,-2.33 -1.44,-4.6 -2.51,-6.75 -0.1,-0.2 -0.39,-0.02 -0.3,0.17 1.03,2.14 1.83,4.39 2.38,6.69 0.27,1.13 0.48,2.28 0.65,3.44 0.08,0.58 0.15,1.17 0.19,1.76 0.02,0.21 0.03,0.43 0.04,0.64 -0.54,0.23 -1.07,0.45 -1.61,0.68 -0.01,-0.88 -0.09,-1.78 -0.2,-2.64 -0.14,-1.06 -0.34,-2.12 -0.61,-3.15 -0.55,-2.1 -1.37,-4.09 -2.42,-5.99 -0.08,-0.15 -0.32,-0.02 -0.23,0.14 1.01,1.87 1.78,3.89 2.31,5.95 0.26,1.04 0.47,2.1 0.6,3.17 0.11,0.9 0.14,1.79 0.18,2.69 -0.3,0.13 -0.6,0.25 -0.9,0.38 -0.01,-0.15 -0.02,-0.3 -0.04,-0.45 -0.11,-0.91 -0.27,-1.81 -0.49,-2.7 -0.45,-1.79 -1.14,-3.52 -2.05,-5.14 -0.09,-0.16 -0.33,-0.02 -0.24,0.14 0.88,1.6 1.55,3.3 1.99,5.08 0.22,0.9 0.38,1.81 0.48,2.72 0.02,0.16 0.02,0.32 0.04,0.48 -0.32,0.14 -0.63,0.27 -0.95,0.41 -0.11,-0.54 -0.23,-1.09 -0.37,-1.63 -0.3,-1.2 -0.67,-2.39 -1.09,-3.55 -0.04,-0.12 -0.24,-0.07 -0.2,0.05 0.37,1.16 0.68,2.34 0.93,3.53 0.12,0.58 0.23,1.16 0.33,1.74 0,0.01 0,0.01 0,0.02 -0.46,0.2 -0.91,0.4 -1.37,0.6 -0.02,-0.21 -0.03,-0.42 -0.06,-0.63 -0.1,-0.9 -0.24,-1.79 -0.41,-2.67 -0.36,-1.81 -0.9,-3.59 -1.58,-5.31 -0.07,-0.19 -0.38,-0.11 -0.31,0.08 0.65,1.69 1.14,3.43 1.5,5.21 0.18,0.89 0.32,1.79 0.41,2.69 0.03,0.26 0.05,0.53 0.07,0.79 -0.53,0.23 -1.05,0.46 -1.58,0.69 -0.01,-0.19 -0.03,-0.39 -0.04,-0.57 -0.03,-0.49 -0.08,-0.98 -0.14,-1.47 -0.12,-0.96 -0.27,-1.92 -0.48,-2.87 -0.4,-1.89 -0.98,-3.75 -1.75,-5.52 -0.44,-1.03 -0.95,-2.02 -1.5,-3 -0.1,-0.17 -0.35,-0.02 -0.26,0.16 1.79,3.37 2.96,7.15 3.46,10.92 0.07,0.53 0.13,1.07 0.17,1.61 0.02,0.31 0.03,0.63 0.06,0.95 -0.46,0.2 -0.92,0.41 -1.39,0.6 0.05,0.03 0.01,0.04 -0.04,0.06 z m 16.59,-4.52 c -0.07,0.04 -0.15,0.08 -0.22,0.12 -0.08,-0.71 -0.18,-1.42 -0.29,-2.11 -0.18,-1.09 -0.41,-2.18 -0.66,-3.26 -0.51,-2.14 -1.17,-4.25 -2,-6.29 -0.06,-0.15 -0.32,-0.09 -0.25,0.07 0.78,2.04 1.43,4.12 1.93,6.25 0.25,1.06 0.44,2.14 0.62,3.22 0.09,0.56 0.17,1.12 0.24,1.69 0.03,0.21 0.04,0.42 0.06,0.64 -0.21,0.12 -0.42,0.22 -0.63,0.32 -0.01,-0.07 -0.02,-0.14 -0.03,-0.21 -0.07,-0.5 -0.16,-1 -0.25,-1.5 -0.19,-1.04 -0.42,-2.07 -0.69,-3.09 -0.54,-2.02 -1.24,-3.98 -2.11,-5.87 -0.05,-0.12 -0.26,-0.03 -0.21,0.09 0.79,1.91 1.48,3.87 2,5.87 0.26,0.98 0.48,1.97 0.66,2.97 0.09,0.5 0.17,1 0.24,1.5 0.02,0.13 0.03,0.27 0.04,0.41 -0.1,0.04 -0.19,0.1 -0.29,0.14 -0.47,0.18 -0.99,0.29 -1.49,0.15 0.15,-0.06 0.29,-0.12 0.44,-0.18 -0.01,-0.03 -0.02,-0.06 -0.03,-0.08 0.18,-0.19 0.29,-0.46 0.2,-0.79 -1.01,-4.11 -2.08,-8.16 -3.55,-12.13 -1.45,-3.92 -3.16,-7.75 -5.14,-11.43 -0.56,-1.04 -1.14,-2.06 -1.74,-3.07 -0.31,-0.52 -0.63,-1.04 -0.95,-1.56 -0.31,-0.49 -0.56,-1.08 -1.09,-1.35 -0.19,-0.1 -0.4,-0.09 -0.59,-0.02 -0.04,-0.03 -0.08,-0.08 -0.12,-0.11 0.02,-0.03 0.03,-0.07 0.05,-0.1 0.18,-0.24 0.44,-0.4 0.73,-0.54 0.69,0.62 1.33,1.31 1.84,2.08 0.26,0.39 0.5,0.8 0.71,1.22 0.21,0.42 0.36,0.92 0.65,1.29 0.08,0.1 0.26,0.08 0.26,-0.07 0.01,-0.47 -0.22,-0.93 -0.41,-1.35 -0.22,-0.47 -0.47,-0.92 -0.76,-1.35 -0.49,-0.75 -1.07,-1.43 -1.73,-2.05 0.31,-0.1 0.63,-0.19 0.94,-0.28 0.25,0.42 0.53,0.81 0.83,1.19 0.15,0.2 0.3,0.4 0.45,0.59 0.08,0.1 0.17,0.18 0.26,0.28 0.09,0.1 0.17,0.2 0.27,0.27 0.08,0.06 0.26,0.01 0.2,-0.12 -0.05,-0.11 -0.11,-0.21 -0.18,-0.32 -0.07,-0.11 -0.13,-0.22 -0.2,-0.33 -0.15,-0.21 -0.31,-0.41 -0.47,-0.62 -0.28,-0.36 -0.57,-0.72 -0.87,-1.06 0.26,-0.08 0.51,-0.17 0.75,-0.27 0.24,0.41 0.47,0.82 0.71,1.23 0.16,0.28 0.33,0.56 0.49,0.83 0.16,0.27 0.35,0.56 0.56,0.79 0.08,0.09 0.26,-0.01 0.21,-0.12 -0.1,-0.28 -0.26,-0.57 -0.41,-0.83 -0.17,-0.29 -0.35,-0.57 -0.53,-0.86 -0.25,-0.39 -0.5,-0.78 -0.74,-1.17 0.27,-0.13 0.52,-0.3 0.76,-0.49 1.03,1.88 2.18,3.68 3.23,5.55 1.13,2.01 2.18,4.06 3.15,6.15 1.96,4.21 3.59,8.57 4.88,13.02 0.62,2.13 1.07,4.29 1.58,6.44 -0.18,0.06 -0.36,0.12 -0.53,0.2 -0.04,-0.2 -0.08,-0.41 -0.11,-0.59 -0.09,-0.56 -0.18,-1.12 -0.29,-1.67 -0.21,-1.09 -0.44,-2.18 -0.71,-3.26 -0.54,-2.18 -1.21,-4.33 -2,-6.42 -0.45,-1.18 -0.95,-2.34 -1.5,-3.48 -0.07,-0.15 -0.28,-0.02 -0.22,0.13 1.73,4.09 3.12,8.31 3.96,12.68 0.11,0.59 0.22,1.19 0.31,1.79 0.05,0.31 0.09,0.62 0.14,0.93 0,0.03 0.01,0.07 0.01,0.1 -0.12,0.07 -0.25,0.14 -0.37,0.2 z m 5.03,-0.42 c -0.03,0.02 -0.08,0.06 -0.09,0.07 -0.06,0.05 -0.13,0.09 -0.2,0.13 -0.03,-0.62 -0.11,-1.24 -0.21,-1.83 -0.14,-0.93 -0.29,-1.86 -0.5,-2.77 -0.42,-1.83 -1.01,-3.6 -1.82,-5.3 -0.05,-0.1 -0.23,-0.03 -0.19,0.08 0.72,1.71 1.31,3.49 1.71,5.3 0.2,0.92 0.39,1.86 0.46,2.79 0.05,0.66 0.08,1.33 0.14,1.99 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.1,0.06 -0.21,0.12 -0.31,0.17 -0.04,0.02 -0.08,0.04 -0.12,0.06 0,0 -0.1,0.04 -0.12,0.05 -0.11,0.04 -0.23,0.08 -0.34,0.11 0,0 -0.01,0 -0.02,0 0.01,-0.09 0.03,-0.18 0.01,-0.28 -0.36,-2.33 -1.04,-4.66 -1.69,-6.93 -0.65,-2.29 -1.39,-4.55 -2.22,-6.78 -1.64,-4.43 -3.61,-8.74 -5.89,-12.88 -1.29,-2.33 -2.62,-4.68 -4.32,-6.74 -0.02,-0.02 -0.04,-0.03 -0.05,-0.04 0.29,-0.15 0.59,-0.26 0.9,-0.35 0.22,0.31 0.45,0.62 0.68,0.92 0.18,0.24 0.36,0.48 0.55,0.71 0.1,0.12 0.2,0.23 0.3,0.34 0.1,0.11 0.19,0.24 0.31,0.33 0.13,0.1 0.28,-0.02 0.21,-0.17 -0.06,-0.14 -0.15,-0.26 -0.24,-0.38 -0.09,-0.13 -0.16,-0.25 -0.25,-0.38 -0.18,-0.25 -0.37,-0.48 -0.55,-0.72 -0.2,-0.26 -0.41,-0.51 -0.61,-0.76 0.26,-0.06 0.53,-0.1 0.8,-0.15 0.38,0.67 0.86,1.32 1.23,1.91 0.7,1.11 1.37,2.24 2.03,3.37 1.31,2.23 2.52,4.52 3.64,6.85 2.2,4.58 4.04,9.35 5.48,14.23 0.66,2.21 1.23,4.46 1.75,6.72 -0.12,0.07 -0.23,0.15 -0.33,0.23 0.04,-0.03 -0.04,0.04 -0.08,0.07 z m 10.29,-3.78 c -0.08,0.04 -0.17,0.09 -0.25,0.13 0,-0.2 0.01,-0.4 0.01,-0.61 0.01,-0.66 0.01,-1.32 0.02,-1.97 0,-0.26 -0.4,-0.26 -0.41,0 -0.01,0.65 -0.03,1.29 -0.04,1.94 -0.01,0.29 -0.01,0.58 -0.02,0.87 -0.35,0.19 -0.7,0.37 -1.06,0.55 0.17,-1.69 0.09,-3.43 -0.14,-5.09 -0.27,-1.94 -0.77,-3.82 -1.55,-5.62 -0.05,-0.11 -0.25,-0.03 -0.2,0.09 0.65,1.78 1.16,3.63 1.42,5.51 0.14,0.95 0.21,1.92 0.23,2.88 0.02,0.81 -0.03,1.6 -0.08,2.4 -0.29,0.15 -0.56,0.31 -0.85,0.45 -0.14,0.07 -0.28,0.13 -0.42,0.19 0,-0.05 0.01,-0.1 0.01,-0.15 0.03,-0.51 0.05,-1.02 0.04,-1.53 0,-1.06 -0.12,-2.1 -0.27,-3.14 -0.15,-1.04 -0.35,-2.09 -0.66,-3.09 -0.16,-0.51 -0.26,-1.02 -0.4,-1.53 -0.13,-0.5 -0.39,-0.99 -0.6,-1.45 -0.06,-0.14 -0.31,-0.04 -0.25,0.11 0.18,0.47 0.31,0.98 0.52,1.43 0.22,0.47 0.41,0.93 0.53,1.44 0.25,1.03 0.47,2.07 0.6,3.13 0.12,1.01 0.14,2.04 0.13,3.05 -0.01,0.51 -0.03,1.02 -0.07,1.53 -0.01,0.14 -0.03,0.28 -0.05,0.42 -0.3,0.13 -0.6,0.27 -0.9,0.39 0,-0.69 -0.02,-1.38 -0.05,-2.06 -0.05,-1.12 -0.16,-2.23 -0.31,-3.34 -0.32,-2.28 -0.86,-4.53 -1.61,-6.7 -0.42,-1.22 -0.9,-2.41 -1.44,-3.58 -0.08,-0.17 -0.34,-0.02 -0.26,0.15 1.89,4.12 3.01,8.6 3.27,13.13 0.04,0.64 0.06,1.27 0.06,1.91 0,0.21 0,0.42 -0.01,0.64 -0.44,0.18 -0.88,0.36 -1.31,0.54 0,-0.08 0,-0.17 0,-0.25 0.01,-0.41 0.02,-0.83 0.01,-1.24 -0.01,-0.81 -0.06,-1.62 -0.16,-2.42 -0.09,-0.78 -0.21,-1.56 -0.38,-2.32 -0.19,-0.81 -0.45,-1.59 -0.69,-2.38 -0.02,-0.05 -0.09,-0.03 -0.08,0.02 0.44,1.53 0.67,3.16 0.82,4.74 0.07,0.77 0.11,1.54 0.12,2.31 0,0.4 0,0.79 -0.02,1.18 -0.01,0.17 -0.03,0.35 -0.04,0.54 -0.18,0.07 -0.37,0.15 -0.55,0.22 -0.05,-1.13 -0.17,-2.27 -0.37,-3.38 -0.24,-1.39 -0.59,-2.74 -1.08,-4.07 -0.04,-0.1 -0.19,-0.06 -0.16,0.04 0.39,1.31 0.71,2.65 0.93,3.99 0.2,1.18 0.27,2.37 0.33,3.56 -0.1,0.04 -0.19,0.08 -0.29,0.12 -0.43,-2.21 -0.93,-4.39 -1.55,-6.56 -0.72,-2.52 -1.55,-5.01 -2.48,-7.46 -1.85,-4.88 -4.11,-9.6 -6.73,-14.11 -0.74,-1.26 -1.51,-2.5 -2.31,-3.72 -0.41,-0.63 -0.83,-1.25 -1.28,-1.85 -0.13,-0.17 -0.26,-0.35 -0.4,-0.52 0.01,-0.24 -0.07,-0.49 -0.22,-0.67 0.32,-0.14 0.63,-0.28 0.94,-0.45 -0.01,0.07 0,0.14 0.08,0.18 0.4,0.22 0.76,0.5 1.09,0.82 0.16,0.16 0.31,0.32 0.45,0.5 0.07,0.09 0.14,0.2 0.22,0.27 0.09,0.08 0.16,0.17 0.23,0.26 0.11,0.15 0.33,0.02 0.25,-0.15 -0.05,-0.1 -0.1,-0.21 -0.14,-0.31 -0.05,-0.12 -0.13,-0.22 -0.21,-0.33 -0.15,-0.2 -0.32,-0.38 -0.5,-0.55 -0.36,-0.33 -0.77,-0.61 -1.21,-0.83 0,0 0,0 -0.01,0 0.43,-0.24 0.86,-0.48 1.28,-0.69 0.64,-0.32 1.3,-0.6 1.96,-0.89 1.04,0.94 1.99,1.98 2.79,3.14 0.87,1.26 1.47,2.61 2.11,3.99 0.06,0.12 0.24,0.03 0.21,-0.09 -0.35,-1.48 -1.15,-2.9 -2.01,-4.14 -0.79,-1.14 -1.74,-2.14 -2.8,-3.03 0.27,-0.12 0.53,-0.25 0.8,-0.36 0.64,-0.27 1.29,-0.51 1.94,-0.76 0,0.03 0.01,0.06 0.03,0.08 0.42,0.47 0.96,0.83 1.44,1.24 0.49,0.43 0.96,0.89 1.41,1.36 0.43,0.47 0.85,0.95 1.24,1.44 0.2,0.26 0.4,0.52 0.59,0.78 0.18,0.26 0.34,0.56 0.57,0.78 0.09,0.09 0.25,0 0.21,-0.12 -0.09,-0.3 -0.3,-0.58 -0.46,-0.84 -0.18,-0.29 -0.38,-0.57 -0.58,-0.85 -0.38,-0.53 -0.8,-1.04 -1.24,-1.52 -0.46,-0.49 -0.94,-0.95 -1.45,-1.39 -0.46,-0.39 -0.95,-0.81 -1.51,-1.06 0.31,-0.12 0.61,-0.25 0.92,-0.36 0.51,-0.18 1.03,-0.34 1.53,-0.54 0.25,-0.1 0.54,-0.23 0.81,-0.39 0.28,0.24 0.57,0.49 0.85,0.74 -0.01,0.04 0,0.09 0.03,0.13 0.2,0.22 0.4,0.44 0.59,0.67 0.1,0.11 0.2,0.22 0.3,0.33 0.1,0.11 0.22,0.2 0.33,0.3 0.03,0.02 0.06,0.01 0.09,0 0.65,0.81 1.21,1.68 1.75,2.57 1.36,2.26 2.63,4.58 3.77,6.96 2.3,4.78 4.11,9.8 5.38,14.96 0.65,2.67 1.18,5.36 1.56,8.08 -0.06,0.01 -0.12,0.03 -0.17,0.04 -0.27,0.06 -0.45,0.22 -0.56,0.4 -0.11,0.03 -0.21,0.06 -0.32,0.1 0,-0.03 0,-0.06 0,-0.09 -0.03,-0.51 -0.05,-1.02 -0.08,-1.53 -0.01,-0.25 -0.39,-0.25 -0.39,0 l 0.04,1.53 c 0,0.09 0,0.17 0.01,0.26 -0.44,0.16 -0.84,0.37 -1.21,0.57 z m 4.54,-2.05 c -1.59,-10.48 -5.27,-20.74 -10.88,-29.73 -0.87,-1.39 -1.88,-3.04 -3.19,-4.21 0.21,-0.09 0.39,-0.2 0.58,-0.34 0.22,0.32 0.47,0.63 0.7,0.94 0.39,0.51 0.77,1.03 1.15,1.55 0.73,1.02 1.43,2.05 2.1,3.11 1.34,2.12 2.53,4.33 3.62,6.59 2.16,4.49 3.81,9.25 4.89,14.11 0.3,1.36 0.57,2.73 0.78,4.11 0.11,0.72 0.19,1.45 0.29,2.17 0.07,0.47 0.16,0.96 0.28,1.44 -0.11,0.08 -0.22,0.16 -0.32,0.26 z"
+   id="path336" />
+			<path
+   class="st1"
+   d="m 670.6,202.67 c 0,0.01 0,0.01 0,0 0.04,0.04 0.09,0.05 0,0 z"
+   id="path338" />
+			<path
+   class="st1"
+   d="m 671.72,202.58 c 0.01,-0.01 0.01,-0.02 0.02,-0.04 0,0.01 -0.01,0.02 -0.02,0.04 0,0 0,0 0,0 z"
+   id="path340" />
+			<path
+   class="st1"
+   d="m 670.5,202.57 c 0.01,0.01 0.02,0.02 0.04,0.04 0,-0.01 -0.02,-0.02 -0.04,-0.04 0,0 0,0 0,0 z"
+   id="path342" />
+			<path
+   class="st1"
+   d="m 671.58,201.5 c -0.01,0 -0.01,0 0,0 0.05,0.07 0.05,0.04 0,0 z"
+   id="path344" />
+			<polygon
+   class="st1"
+   points=""
+   id="polygon346" />
+			<path
+   class="st1"
+   d="m 516.62,268.3 c -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 0,0 0.01,0.02 0.03,0.05 0,0 0,0 0,0 z"
+   id="path348" />
+			<path
+   class="st1"
+   d="m 515.52,268.71 c 0,0.01 0.01,0.01 0.01,0.02 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,0 0,0 0,0.01 z"
+   id="path350" />
+			<path
+   class="st1"
+   d="m 516.48,268.94 c 0.01,-0.01 0.01,-0.02 0.02,-0.03 0,-0.01 0.01,-0.01 0.01,-0.02 0,0.01 -0.02,0.03 -0.03,0.05 0,0.01 0,0 0,0 z"
+   id="path352" />
+			<path
+   class="st1"
+   d="m 516.48,268.95 c -0.01,0.01 -0.02,0.03 -0.04,0.04 0,0 0,0 -0.01,0.01 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.01,-0.01 0.01,-0.02 0.02,-0.03 z"
+   id="path354" />
+			<path
+   class="st1"
+   d="m 516.64,268.56 c 0,0 0,-0.01 0,-0.01 -0.04,0.12 -0.01,0.06 0,0.01 z"
+   id="path356" />
+			<path
+   class="st1"
+   d="m 533.94,276.47 c 1.43,3.54 5.4,5.72 9.16,4.98 1.97,-0.39 3.73,-1.57 4.92,-3.18 1.22,-1.66 1.57,-3.6 1.35,-5.61 -0.43,-4.05 -3.65,-7.19 -7.73,-7.43 -2.25,-0.14 -4.43,0.7 -6.06,2.25 -0.78,0.73 -1.39,1.67 -1.82,2.64 -0.22,0.5 -0.32,0.91 -0.32,1.46 0,0.43 -0.04,0.84 -0.02,1.26 -0.11,1.23 0.05,2.48 0.52,3.63 z m 0.73,-5.27 c 0.05,-0.09 0.11,-0.18 0.15,-0.27 0.36,-0.74 0.83,-1.38 1.39,-1.97 1.12,-1.17 2.51,-1.94 4.12,-2.18 3.35,-0.49 6.81,1.48 7.79,4.77 1.01,3.42 -0.96,7.15 -4.3,8.39 -3.07,1.14 -6.64,-0.27 -8.39,-2.99 -1.1,-1.73 -1.27,-3.82 -0.76,-5.75 z"
+   id="path358" />
+			<path
+   class="st1"
+   d="m 539.46,270.83 c -0.8,0.55 -1.31,1.46 -1.27,2.45 0.01,0.13 0.03,0.26 0.07,0.39 0.01,0.04 0.03,0.07 0.04,0.11 0.01,0.04 0.03,0.08 0.05,0.12 0.04,0.07 0.04,0.08 0.01,0.05 0.04,0.14 0.09,0.29 0.14,0.43 0.09,0.33 0.23,0.65 0.44,0.93 1.01,1.34 3.04,1.65 4.38,0.58 1.24,-0.99 1.46,-3 0.54,-4.28 -0.96,-1.36 -3.02,-1.73 -4.4,-0.78 z m 2.16,0.81 c 0.02,0 0.03,0 0.05,0.01 0.09,0.02 0.17,0.04 0.26,0.06 0.07,0.02 0.13,0.04 0.19,0.06 0,0 0,0 0,0 0,0 0,0 0,0 0.03,0.01 0.05,0.02 0.08,0.04 0.07,0.03 0.14,0.07 0.2,0.11 0.04,0.02 0.19,0.14 0.1,0.07 0.06,0.05 0.12,0.1 0.17,0.16 0.02,0.02 0.04,0.04 0.06,0.06 0.01,0.01 0.03,0.04 0.05,0.05 0.01,0.01 0.01,0.02 0.01,0.02 0.02,0.03 0.04,0.06 0.07,0.1 0.05,0.07 0.09,0.15 0.13,0.23 0.01,0.02 0.02,0.04 0.03,0.06 0,0.01 0.01,0.02 0.01,0.03 0.02,0.07 0.05,0.15 0.07,0.22 0.02,0.07 0.03,0.13 0.04,0.2 0,0.01 0,0 0,0.01 0,0.04 0.01,0.08 0.01,0.11 0.01,0.15 0,0.29 -0.01,0.44 0,0.01 0,0.02 0,0.04 0,0.02 -0.01,0.04 -0.01,0.06 -0.02,0.09 -0.04,0.17 -0.06,0.25 -0.02,0.07 -0.04,0.13 -0.07,0.19 0,0 0,0 0,0 0,0 0,0 0,0.01 -0.01,0.03 -0.02,0.05 -0.04,0.08 -0.03,0.07 -0.07,0.14 -0.11,0.2 -0.02,0.03 -0.04,0.06 -0.06,0.09 0,0 0,0.01 -0.01,0.01 -0.05,0.06 -0.1,0.12 -0.16,0.17 -0.02,0.02 -0.04,0.04 -0.06,0.06 -0.01,0.01 -0.04,0.03 -0.05,0.05 -0.01,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.02 -0.06,0.05 -0.09,0.07 -0.07,0.05 -0.15,0.09 -0.22,0.13 -0.02,0.01 -0.11,0.05 -0.12,0.05 -0.06,0.02 -0.12,0.04 -0.18,0.06 -0.07,0.02 -0.13,0.03 -0.2,0.05 -0.03,0.01 -0.06,0.01 -0.09,0.02 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.02,0 -0.15,0.01 -0.29,0.02 -0.44,0.01 -0.04,0 -0.07,-0.01 -0.11,-0.01 -0.09,-0.01 -0.17,-0.03 -0.26,-0.05 -0.29,-0.07 -0.44,-0.13 -0.71,-0.31 -0.05,-0.03 -0.23,-0.2 -0.27,-0.25 -0.1,-0.12 -0.17,-0.26 -0.24,-0.4 -0.08,-0.17 -0.14,-0.4 -0.16,-0.63 0.08,-0.28 0.15,-0.56 0.24,-0.84 0,-0.01 0.01,-0.02 0.01,-0.04 0.01,-0.01 0.01,-0.03 0.02,-0.04 0.03,-0.06 0.06,-0.12 0.09,-0.18 0.04,-0.07 0.07,-0.14 0.12,-0.2 0.02,-0.02 0.03,-0.05 0.05,-0.07 0,-0.01 0,0 0,-0.01 0.01,-0.01 0.01,0 0.01,-0.02 0.05,-0.06 0.1,-0.12 0.16,-0.17 0.02,-0.02 0.09,-0.07 0.11,-0.1 0.03,-0.02 0.1,-0.06 0.12,-0.08 0.07,-0.05 0.15,-0.09 0.23,-0.12 0.01,-0.01 0.02,-0.01 0.03,-0.01 0.01,-0.01 0.03,-0.01 0.04,-0.01 0.07,-0.02 0.15,-0.05 0.22,-0.07 0.07,-0.02 0.13,-0.03 0.2,-0.04 0.01,0 0.02,0 0.03,-0.01 0.01,0 0.06,-0.01 0.08,-0.01 0.15,-0.01 0.29,0 0.44,0 0.02,0.02 0.04,0.02 0.06,0.02 z"
+   id="path360" />
+			<path
+   class="st1"
+   d="m 505.58,285.73 c -0.75,-0.15 -1.56,-0.01 -2.18,0.44 -0.18,0.13 -0.34,0.28 -0.47,0.44 -0.41,0.31 -0.68,0.8 -0.85,1.29 -0.23,0.64 -0.23,1.4 0.02,2.03 0.56,1.4 2.06,2.23 3.55,1.94 1.41,-0.27 2.51,-1.7 2.48,-3.13 -0.05,-1.42 -1.16,-2.73 -2.55,-3.01 z m 1.02,3.2 c 0,0.02 0,0.02 0,0.03 -0.01,0.06 -0.02,0.11 -0.03,0.17 -0.02,0.06 -0.03,0.13 -0.06,0.19 0,0 -0.03,0.08 -0.04,0.11 -0.02,0.04 -0.04,0.08 -0.04,0.08 -0.04,0.08 -0.09,0.15 -0.14,0.23 -0.01,0.01 -0.01,0.02 -0.02,0.03 0,0 0,0 -0.01,0.01 -0.04,0.04 -0.07,0.09 -0.11,0.13 -0.05,0.05 -0.09,0.1 -0.14,0.14 0,0 -0.04,0.04 -0.07,0.06 -0.03,0.02 -0.09,0.07 -0.09,0.06 -0.06,0.04 -0.11,0.07 -0.17,0.1 -0.04,0.02 -0.09,0.05 -0.14,0.07 -0.02,0 -0.07,0.03 -0.11,0.03 -0.06,0.02 -0.13,0.03 -0.19,0.05 -0.02,0 -0.02,0.01 -0.03,0.01 -0.01,0 -0.02,0 -0.03,0 -0.11,0 -0.22,0 -0.33,0 -0.02,0 -0.03,0 -0.04,0 -0.01,0 -0.02,0 -0.03,-0.01 -0.04,-0.01 -0.09,-0.02 -0.13,-0.03 -0.06,-0.02 -0.13,-0.03 -0.19,-0.05 -0.03,-0.01 -0.07,-0.02 -0.1,-0.04 -0.01,0 -0.01,0 -0.03,-0.01 -0.1,-0.05 -0.19,-0.1 -0.29,-0.16 -0.01,-0.01 -0.09,-0.07 -0.1,-0.07 -0.03,-0.02 -0.06,-0.05 -0.08,-0.07 -0.08,-0.07 -0.15,-0.15 -0.22,-0.23 -0.02,-0.03 -0.06,-0.08 -0.07,-0.09 -0.04,-0.05 -0.07,-0.11 -0.1,-0.17 -0.01,-0.01 -0.04,-0.08 -0.05,-0.11 -0.02,-0.06 -0.04,-0.11 -0.06,-0.17 -0.01,-0.05 -0.02,-0.11 -0.04,-0.16 0,-0.01 0,-0.02 0,-0.03 0,-0.04 -0.01,-0.08 -0.01,-0.11 0,-0.03 0,-0.06 0,-0.1 0.34,-0.07 0.55,-0.34 0.58,-0.69 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.03 0.05,-0.18 0.02,-0.08 0.02,-0.05 0.04,-0.11 0.07,-0.16 0,-0.01 0.01,-0.02 0.02,-0.03 0.01,-0.01 0.03,-0.05 0.05,-0.09 0.02,-0.02 0.03,-0.04 0.05,-0.06 0.04,-0.05 0.11,-0.14 0.18,-0.19 0.03,-0.02 0.05,-0.04 0.08,-0.06 0.03,-0.02 0.07,-0.04 0.1,-0.06 0.02,-0.01 0.05,-0.03 0.08,-0.05 0.03,-0.01 0.06,-0.02 0.09,-0.03 0.09,-0.03 0.19,-0.05 0.28,-0.07 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0.06,0 0.12,0 0.17,0 0.02,0 0.11,0.02 0.13,0.02 0.04,0.01 0.08,0.02 0.12,0.03 0.04,0.01 0.08,0.03 0.12,0.04 0.02,0 0.03,0.01 0.03,0.01 0.01,0 0.01,0.01 0.02,0.01 0.11,0.05 0.21,0.11 0.31,0.17 0.01,0.01 0.04,0.03 0.06,0.04 0.06,0.05 0.11,0.09 0.16,0.14 0.04,0.04 0.08,0.08 0.11,0.12 0.01,0.01 0.03,0.03 0.04,0.05 0.07,0.09 0.13,0.19 0.19,0.29 0.02,0.04 0.04,0.08 0.06,0.11 -0.09,-0.16 0,0.01 0.02,0.05 0.04,0.1 0.06,0.21 0.08,0.32 0,0.03 0.01,0.1 0.01,0.11 0.04,0.07 0.03,0.13 0.03,0.2 z"
+   id="path362" />
+			<path
+   class="st1"
+   d="m 577.75,258.31 c 0.02,0.08 0.12,0.05 0.13,-0.02 0.03,-0.26 -0.01,-0.53 -0.04,-0.8 -0.02,-0.27 -0.05,-0.53 -0.07,-0.8 -0.01,-0.1 -0.17,-0.1 -0.16,0 0.02,0.27 0.04,0.54 0.05,0.81 0.01,0.28 0.01,0.55 0.09,0.81 z"
+   id="path364" />
+			<path
+   class="st1"
+   d="m 577.69,260.56 -0.01,1.08 c 0,0.18 -0.01,0.36 0,0.54 0,0.17 0,0.36 0.04,0.52 0.02,0.08 0.13,0.08 0.15,0 0.04,-0.17 0.04,-0.35 0.04,-0.52 0,-0.18 0,-0.36 0,-0.54 l -0.01,-1.08 c -0.01,-0.13 -0.21,-0.13 -0.21,0 z"
+   id="path366" />
+			<path
+   class="st1"
+   d="m 579.58,260.69 c 0.04,-0.79 -0.06,-1.6 -0.11,-2.39 -0.01,-0.15 -0.24,-0.15 -0.23,0 0.03,0.8 0.03,1.62 0.15,2.42 0.03,0.1 0.19,0.07 0.19,-0.03 z"
+   id="path368" />
+			<path
+   class="st1"
+   d="m 581.15,262.28 c 0.02,-0.38 0.01,-0.75 0.01,-1.13 v -1.13 c 0,-0.05 -0.08,-0.05 -0.08,0 v 1.13 c 0,0.38 -0.01,0.75 0.01,1.13 -0.01,0.05 0.06,0.05 0.06,0 z"
+   id="path370" />
+			<path
+   class="st1"
+   d="m 582.8,259.78 c 0.09,-0.59 0.07,-1.19 0.07,-1.79 -0.01,-0.61 -0.04,-1.22 -0.07,-1.83 0,-0.12 -0.19,-0.12 -0.19,0 -0.02,0.61 -0.06,1.22 -0.07,1.83 -0.01,0.6 -0.02,1.19 0.07,1.79 0.02,0.1 0.18,0.1 0.19,0 z"
+   id="path372" />
+			<path
+   class="st1"
+   d="m 582.61,261.89 c -0.01,0.45 -0.02,0.9 -0.02,1.36 0,0.22 0,0.44 0,0.66 0,0.22 0,0.45 0.04,0.66 0.02,0.08 0.15,0.08 0.16,0 0.04,-0.21 0.04,-0.44 0.04,-0.66 0,-0.22 0.01,-0.44 0,-0.66 l -0.02,-1.36 c 0,-0.14 -0.2,-0.14 -0.2,0 z"
+   id="path374" />
+			<path
+   class="st1"
+   d="m 585.4,261.09 c 0.01,-0.31 0.01,-0.62 0.01,-0.93 0,-0.05 -0.08,-0.05 -0.08,0 0,0.31 0,0.62 0.01,0.93 0,0.04 0.06,0.04 0.06,0 z"
+   id="path376" />
+			<path
+   class="st1"
+   d="m 587.06,260.32 c 0.05,-0.21 0.02,-0.45 0.02,-0.67 0,-0.22 -0.01,-0.44 -0.02,-0.66 -0.01,-0.45 -0.03,-0.9 -0.04,-1.36 0,-0.08 -0.12,-0.08 -0.12,0 -0.01,0.45 -0.03,0.9 -0.04,1.36 -0.01,0.22 -0.02,0.44 -0.02,0.66 0,0.22 -0.03,0.46 0.02,0.67 0.03,0.1 0.18,0.1 0.2,0 z"
+   id="path378" />
+			<path
+   class="st1"
+   d="m 588.95,263.77 c 0.11,-0.73 0.09,-1.5 0.1,-2.24 0.02,-0.77 0.04,-1.54 0.05,-2.31 0,-0.16 -0.24,-0.16 -0.25,0 -0.02,0.75 -0.04,1.51 -0.07,2.26 -0.02,0.75 -0.09,1.52 -0.02,2.26 0.02,0.1 0.17,0.14 0.19,0.03 z"
+   id="path380" />
+			<path
+   class="st1"
+   d="m 590.38,264.41 c 0.06,-0.5 0.02,-1.02 0.01,-1.53 0,-0.51 -0.01,-1.02 -0.01,-1.53 0,-0.12 -0.18,-0.12 -0.18,0 0,0.51 -0.01,1.02 -0.01,1.53 0,0.5 -0.04,1.03 0.01,1.53 0.01,0.12 0.17,0.12 0.18,0 z"
+   id="path382" />
+			<path
+   class="st1"
+   d="m 601.93,265.18 c 0.02,-0.7 0.01,-1.4 -0.01,-2.1 0,-0.08 -0.13,-0.08 -0.13,0 -0.02,0.7 -0.03,1.4 -0.01,2.1 0.01,0.34 0.01,0.69 0.01,1.03 0,0.33 -0.06,0.68 -0.02,1.01 0.01,0.08 0.15,0.08 0.16,0 0.05,-0.33 -0.02,-0.68 -0.02,-1.01 0.01,-0.34 0.01,-0.68 0.02,-1.03 z"
+   id="path384" />
+			<path
+   class="st1"
+   d="m 603.18,260.16 c -0.03,0.75 -0.06,1.49 -0.08,2.24 -0.01,0.37 -0.03,0.75 -0.04,1.12 -0.01,0.34 -0.03,0.72 0.02,1.06 0.02,0.09 0.16,0.09 0.18,0 0.08,-0.33 0.07,-0.71 0.08,-1.06 0.01,-0.37 0.02,-0.75 0.03,-1.12 0.02,-0.75 0.03,-1.49 0.05,-2.24 -0.01,-0.16 -0.24,-0.15 -0.24,0 z"
+   id="path386" />
+			<path
+   class="st1"
+   d="m 604.88,263.14 c 0.09,-0.21 0.07,-0.46 0.08,-0.69 0.01,-0.26 0.01,-0.52 0.02,-0.77 0.01,-0.51 0.02,-1.01 0.04,-1.52 0,-0.13 -0.19,-0.13 -0.2,0 -0.03,0.5 -0.07,0.99 -0.1,1.49 -0.02,0.25 -0.03,0.5 -0.05,0.75 -0.01,0.22 -0.06,0.5 0.01,0.72 0.03,0.07 0.16,0.11 0.2,0.02 z"
+   id="path388" />
+			<path
+   class="st1"
+   d="m 607.18,261.11 v 0.67 c 0,0.22 -0.01,0.45 0.04,0.67 0.02,0.1 0.18,0.1 0.2,0 0.04,-0.22 0.04,-0.45 0.04,-0.67 0,-0.22 0,-0.44 0,-0.67 0,-0.45 0,-0.9 -0.01,-1.36 0,-0.16 -0.26,-0.17 -0.26,0 z"
+   id="path390" />
+			<path
+   class="st1"
+   d="m 609.58,260.16 c 0,-0.18 -0.28,-0.18 -0.28,0 -0.01,0.79 -0.02,1.58 -0.03,2.37 -0.01,0.76 -0.03,1.55 0.09,2.3 0.01,0.07 0.14,0.07 0.15,0 0.12,-0.75 0.1,-1.55 0.09,-2.3 0,-0.79 -0.01,-1.58 -0.02,-2.37 z"
+   id="path392" />
+			<path
+   class="st1"
+   d="m 611.4,261.51 c 0.13,-0.54 0.12,-1.11 0.13,-1.66 0.01,-0.57 0.02,-1.13 0.04,-1.7 0,-0.17 -0.25,-0.17 -0.26,0 -0.03,0.57 -0.06,1.13 -0.1,1.7 -0.03,0.55 -0.08,1.11 0,1.66 0.02,0.1 0.17,0.09 0.19,0 z"
+   id="path394" />
+			<path
+   class="st1"
+   d="m 611.37,263.75 c -0.02,0.2 -0.05,0.4 -0.07,0.6 -0.01,0.1 -0.03,0.2 -0.03,0.29 0,0.05 0,0.09 0,0.14 0,0.06 0,0.11 0,0.16 0.01,0.06 0.09,0.08 0.11,0.02 0.02,-0.05 0.03,-0.1 0.04,-0.16 0.01,-0.05 0.02,-0.09 0.03,-0.14 0.02,-0.1 0.02,-0.2 0.03,-0.31 0.02,-0.2 0.04,-0.41 0.06,-0.61 0.01,-0.05 -0.04,-0.09 -0.09,-0.09 -0.05,0.01 -0.08,0.05 -0.08,0.1 z"
+   id="path396" />
+			<path
+   class="st1"
+   d="m 611.23,267.43 c 0.03,0.15 0.04,0.31 0.08,0.46 0.03,0.1 0.17,0.07 0.18,-0.02 0.02,-0.16 0,-0.32 0,-0.47 0,-0.15 0.01,-0.3 -0.01,-0.46 -0.02,-0.31 -0.05,-0.62 -0.07,-0.93 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.09,0 -0.18,0.08 -0.17,0.17 0.03,0.32 0.05,0.63 0.09,0.95 0.01,0.16 0.04,0.32 0.07,0.47 z"
+   id="path398" />
+			<path
+   class="st1"
+   d="m 613.13,259.12 c 0.04,-0.21 0.03,-0.42 0.03,-0.63 v -0.63 c 0,-0.43 0,-0.86 -0.01,-1.29 0,-0.15 -0.23,-0.15 -0.23,0 0,0.43 0,0.86 -0.01,1.29 v 0.63 c 0,0.21 -0.01,0.43 0.03,0.63 0.01,0.1 0.17,0.1 0.19,0 z"
+   id="path400" />
+			<path
+   class="st1"
+   d="m 612.98,262.02 c 0,1.22 0.01,2.44 0.04,3.66 0.01,0.3 0.05,0.6 0.04,0.9 -0.01,0.3 -0.05,0.6 -0.06,0.9 -0.02,0.62 -0.01,1.24 0,1.86 0.01,0.19 0.3,0.19 0.3,0 0,-0.6 -0.01,-1.2 -0.03,-1.8 -0.01,-0.32 -0.07,-0.64 -0.08,-0.96 -0.02,-0.3 0.02,-0.6 0.02,-0.9 0,-1.22 -0.01,-2.44 -0.03,-3.66 -0.01,-0.12 -0.2,-0.13 -0.2,0 z"
+   id="path402" />
+			<path
+   class="st1"
+   d="m 587.43,247.8 c 0.01,0.06 0.02,0.13 0.03,0.19 0.01,0.07 0.02,0.12 0.09,0.17 0.04,0.03 0.1,0.02 0.14,-0.02 0.06,-0.05 0.05,-0.11 0.05,-0.18 0,-0.06 0,-0.12 -0.01,-0.18 -0.01,-0.11 -0.02,-0.23 -0.03,-0.34 -0.02,-0.23 -0.05,-0.47 -0.07,-0.7 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.07,0 -0.15,0.07 -0.15,0.15 0.02,0.24 0.05,0.48 0.07,0.72 0.01,0.1 0.02,0.22 0.03,0.34 z"
+   id="path404" />
+			<path
+   class="st1"
+   d="m 585.6,249.41 c 0.05,-0.18 0.04,-0.4 0.04,-0.59 0,-0.2 0,-0.41 0,-0.61 0,-0.41 0,-0.81 -0.01,-1.22 0,-0.16 -0.25,-0.16 -0.25,0 0,0.41 0,0.81 -0.01,1.22 0,0.2 0,0.41 0,0.61 0,0.19 -0.01,0.41 0.04,0.59 0.02,0.1 0.16,0.1 0.19,0 z"
+   id="path406" />
+			<path
+   class="st1"
+   d="m 583.18,250.85 c 0.01,0.08 0.12,0.08 0.13,0 0.04,-0.35 0.02,-0.71 0.02,-1.06 0,-0.35 0,-0.71 0,-1.06 0,-0.11 -0.17,-0.11 -0.17,0 0,0.35 0,0.71 0,1.06 0,0.35 -0.02,0.71 0.02,1.06 z"
+   id="path408" />
+			<path
+   class="st1"
+   d="m 601.22,247.38 c -0.03,-0.18 -0.07,-0.36 -0.1,-0.54 -0.01,-0.04 -0.06,-0.07 -0.1,-0.06 -0.04,0.01 -0.07,0.06 -0.06,0.1 0.05,0.17 0.11,0.35 0.16,0.52 0.02,0.07 0.11,0.04 0.1,-0.02 z"
+   id="path410" />
+			<path
+   class="st1"
+   d="m 603.07,250.21 c 0.04,0.12 0.2,0.12 0.24,0 0.05,-0.14 0.03,-0.31 0.04,-0.46 0.01,-0.14 0.01,-0.28 0.01,-0.42 0,-0.31 -0.01,-0.61 -0.01,-0.92 -0.01,-0.61 -0.01,-1.22 -0.02,-1.83 0,-0.19 -0.29,-0.19 -0.29,0 -0.01,0.61 -0.01,1.22 -0.02,1.83 0,0.31 -0.01,0.61 -0.01,0.92 0,0.14 0,0.28 0.01,0.42 0.02,0.16 0,0.32 0.05,0.46 z"
+   id="path412" />
+			<path
+   class="st1"
+   d="m 603.07,251.81 c 0.04,0.18 0.07,0.35 0.11,0.53 0.04,0.17 0.06,0.36 0.12,0.52 0.03,0.08 0.1,0.13 0.19,0.11 0.09,-0.02 0.12,-0.11 0.11,-0.19 -0.02,-0.18 -0.09,-0.35 -0.14,-0.52 -0.05,-0.17 -0.1,-0.34 -0.15,-0.52 -0.05,-0.15 -0.27,-0.08 -0.24,0.07 z"
+   id="path414" />
+			<path
+   class="st1"
+   d="m 605.02,250.02 c 0.01,0.19 0.01,0.41 0.08,0.59 0.04,0.1 0.19,0.12 0.22,0 0.05,-0.19 0.03,-0.4 0.02,-0.59 -0.01,-0.2 -0.02,-0.41 -0.04,-0.61 -0.02,-0.41 -0.05,-0.81 -0.07,-1.22 -0.01,-0.19 -0.3,-0.19 -0.29,0 0.02,0.41 0.04,0.81 0.06,1.22 0,0.2 0.01,0.4 0.02,0.61 z"
+   id="path416" />
+			<path
+   class="st1"
+   d="m 605.31,252.92 c 0,-0.07 0,-0.14 -0.01,-0.21 0,-0.06 -0.05,-0.12 -0.12,-0.12 -0.07,0 -0.12,0.05 -0.12,0.12 0,0.07 0,0.14 -0.01,0.21 0,0.03 0,0.07 0,0.1 0,0.02 0,0.03 0,0.05 0,0.04 0.02,0.06 0.04,0.09 0.04,0.07 0.14,0.07 0.19,0 0.02,-0.03 0.04,-0.06 0.04,-0.09 0,-0.02 0,-0.03 0,-0.05 -0.01,-0.03 -0.01,-0.07 -0.01,-0.1 z"
+   id="path418" />
+			<path
+   class="st1"
+   d="m 607,251.67 c 0.08,-0.53 0.13,-1.05 0.14,-1.59 0.02,-0.54 0.03,-1.08 0.05,-1.63 0.01,-0.2 -0.29,-0.2 -0.31,0 -0.03,0.53 -0.06,1.06 -0.09,1.6 -0.03,0.54 -0.02,1.06 0.01,1.6 0.02,0.1 0.19,0.13 0.2,0.02 z"
+   id="path420" />
+			<path
+   class="st1"
+   d="m 607.07,254.15 c -0.01,-0.43 -0.02,-0.87 -0.02,-1.3 0,-0.17 -0.26,-0.17 -0.26,0 -0.01,0.43 -0.01,0.87 -0.02,1.3 -0.02,0.19 0.3,0.19 0.3,0 z"
+   id="path422" />
+			<path
+   class="st1"
+   d="m 609.52,249.71 c 0.04,-0.08 0.08,-0.17 0.09,-0.26 0.01,-0.08 0.01,-0.16 0.02,-0.23 0.01,-0.18 0.03,-0.35 0.04,-0.53 0.02,-0.35 0.03,-0.69 0.05,-1.04 0.01,-0.23 -0.34,-0.22 -0.35,0 l -0.08,1.02 c -0.01,0.17 -0.02,0.34 -0.03,0.51 0,0.08 -0.01,0.16 -0.01,0.23 0,0.09 0.03,0.18 0.05,0.27 0.03,0.09 0.17,0.13 0.22,0.03 z"
+   id="path424" />
+			<path
+   class="st1"
+   d="m 609.64,251.78 c 0,0.22 0,0.44 0,0.66 0,0.22 -0.01,0.45 0.01,0.67 0.01,0.07 0.09,0.07 0.1,0 0.02,-0.22 0.01,-0.44 0.01,-0.67 0,-0.22 0,-0.44 0,-0.66 0,-0.08 -0.12,-0.08 -0.12,0 z"
+   id="path426" />
+			<path
+   class="st1"
+   d="m 578.55,249.54 c 0.03,-0.16 0.05,-0.31 0.04,-0.46 0,-0.16 0,-0.32 0,-0.47 v -0.95 c 0,-0.18 -0.27,-0.18 -0.27,0 0,0.32 0,0.63 0,0.95 0,0.16 0,0.32 0,0.47 0,0.16 0.02,0.31 0.04,0.46 0.01,0.1 0.17,0.1 0.19,0 z"
+   id="path428" />
+			<path
+   class="st1"
+   d="m 578.59,252.37 c 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 0,-0.01 0,0.01 0,0.01 0,0.02 z"
+   id="path430" />
+			<polygon
+   class="st1"
+   points="578.59,252.34 578.59,252.36 578.59,252.35 "
+   id="polygon432" />
+			<path
+   class="st1"
+   d="m 578.59,252.36 c 0,0 0,0 0,0 v 0 c 0,0.01 0,0.02 0,0.03 0,0 0,0 0,0 0,0 0,0.01 0,0.01 0,0 0,0.01 -0.01,0.01 0,0 0,0 -0.01,0.01 0,0 0,0 0,0 0,0 0,0 -0.01,0 0,0 0,0 -0.01,-0.01 0,0 0,-0.01 -0.01,-0.01 0,0 0,-0.01 0,-0.01 0,0 0,0 0,-0.01 0,0 0,0 0,0 0,0 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.06 0.01,-0.08 -0.01,-0.02 -0.02,-0.04 -0.04,-0.05 -0.04,-0.03 -0.1,-0.03 -0.13,0.01 -0.04,0.05 -0.07,0.11 -0.06,0.18 0,0.04 0.01,0.07 0.03,0.11 0.01,0.02 0.03,0.05 0.05,0.07 0.03,0.02 0.06,0.05 0.1,0.05 0.05,0.01 0.1,0.01 0.14,-0.02 0.02,-0.02 0.05,-0.03 0.07,-0.05 0.03,-0.03 0.04,-0.06 0.06,-0.1 0.01,-0.03 0.02,-0.06 0.01,-0.09 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.01,-0.01 -0.03,-0.01 -0.04,-0.01 -0.02,0 -0.04,0.01 -0.05,0.02 -0.02,0.01 -0.03,0.04 -0.03,0.08 0,0 0,0 0,0 0,0 0,0 0,0 z"
+   id="path434" />
+			<polygon
+   class="st1"
+   points=""
+   id="polygon436" />
+			<path
+   class="st1"
+   d="m 580.81,250.18 c 0.03,-0.35 0.01,-0.71 0.01,-1.06 0,-0.35 0,-0.71 -0.01,-1.06 0,-0.13 -0.2,-0.13 -0.2,0 0,0.35 0,0.71 -0.01,1.06 0,0.35 -0.02,0.71 0.01,1.06 0.02,0.12 0.18,0.12 0.2,0 z"
+   id="path438" />
+			<path
+   class="st1"
+   d="m 580.76,254.11 c 0,0.05 0,0.11 0,0.16 0,0.06 0.01,0.11 0.01,0.17 0.01,0.09 0.14,0.09 0.14,0 0,-0.06 0.01,-0.11 0.01,-0.17 0,-0.05 0,-0.11 0,-0.16 0,-0.11 0,-0.22 0,-0.33 0,-0.11 -0.17,-0.11 -0.17,0 0.01,0.1 0.01,0.21 0.01,0.33 z"
+   id="path440" />
+			<path
+   class="st1"
+   d="m 582.58,274.04 c -0.24,-0.02 -0.47,-0.03 -0.71,-0.04 -0.47,-0.02 -0.95,-0.04 -1.42,-0.07 -0.24,-0.01 -0.24,0.37 0,0.38 0.47,0.02 0.95,0.05 1.42,0.07 0.46,0.02 0.95,0.07 1.4,0 0.13,-0.02 0.11,-0.21 0,-0.24 -0.22,-0.07 -0.46,-0.08 -0.69,-0.1 z"
+   id="path442" />
+			<path
+   class="st1"
+   d="m 586.3,274.46 c 0.09,0 0.09,-0.15 0,-0.15 -0.1,0 -0.1,0.15 0,0.15 z"
+   id="path444" />
+			<path
+   class="st1"
+   d="m 587.96,275.3 c -0.33,0.02 -0.67,0.04 -1,0.06 -0.13,0.01 -0.13,0.22 0,0.21 0.34,-0.02 0.68,-0.04 1.02,-0.06 0.33,-0.02 0.68,-0.02 1,-0.09 0.09,-0.02 0.06,-0.14 -0.02,-0.15 -0.33,-0.03 -0.67,0.01 -1,0.03 z"
+   id="path446" />
+			<path
+   class="st1"
+   d="m 589.29,273.71 c 0.48,0.02 0.95,0.04 1.43,0.05 0.48,0.02 0.98,0.06 1.46,-0.02 0.09,-0.02 0.09,-0.16 0,-0.18 -0.45,-0.11 -0.93,-0.1 -1.4,-0.12 -0.48,-0.02 -0.95,-0.03 -1.43,-0.04 -0.97,-0.03 -1.95,-0.06 -2.92,-0.1 -1.95,-0.08 -3.89,-0.14 -5.84,-0.2 -0.2,-0.01 -0.2,0.3 0,0.31 1.95,0.08 3.89,0.14 5.84,0.2 0.95,0.03 1.9,0.06 2.86,0.1 z"
+   id="path448" />
+			<path
+   class="st1"
+   d="m 593.61,273.74 c 0.67,0.01 1.33,0.01 1.99,-0.02 0.66,-0.02 1.33,0.01 1.99,-0.05 0.11,-0.01 0.11,-0.16 0,-0.17 -0.66,-0.06 -1.33,-0.03 -1.99,-0.05 -0.67,-0.02 -1.33,-0.02 -1.99,-0.02 -0.2,0 -0.2,0.31 0,0.31 z"
+   id="path450" />
+			<path
+   class="st1"
+   d="m 599.2,273.63 c 0.05,0 0.05,-0.08 0,-0.08 -0.22,-0.01 -0.44,-0.02 -0.67,-0.03 -0.09,0 -0.09,0.14 0,0.14 0.23,-0.01 0.45,-0.02 0.67,-0.03 z"
+   id="path452" />
+			<path
+   class="st1"
+   d="m 601.13,273.71 c 0.38,0.01 0.76,0.05 1.13,0 0.15,-0.02 0.15,-0.22 0,-0.24 -0.37,-0.05 -0.76,-0.01 -1.13,0 -0.38,0.01 -0.75,0.03 -1.13,0.05 -0.09,0 -0.09,0.14 0,0.14 0.37,0.01 0.75,0.03 1.13,0.05 z"
+   id="path454" />
+			<path
+   class="st1"
+   d="m 604.39,273.8 c 0.08,0.01 0.17,0.02 0.26,0.02 0.04,0 0.09,0 0.13,0 0.05,0 0.1,-0.01 0.15,-0.02 0.11,-0.01 0.11,-0.16 0,-0.17 -0.05,-0.01 -0.09,-0.02 -0.14,-0.02 -0.04,0 -0.09,0 -0.13,0 -0.09,0 -0.18,0.01 -0.27,0.02 -0.18,0.01 -0.35,0.02 -0.53,0.03 -0.07,0 -0.07,0.11 0,0.11 0.17,0.02 0.35,0.02 0.53,0.03 z"
+   id="path456" />
+			<path
+   class="st1"
+   d="m 607.44,273.91 0.81,0.08 c 0.27,0.03 0.56,0.07 0.82,-0.01 0.1,-0.03 0.14,-0.18 0.03,-0.24 -0.25,-0.13 -0.55,-0.14 -0.83,-0.16 -0.28,-0.02 -0.55,-0.04 -0.83,-0.06 -0.1,-0.01 -0.19,0.09 -0.19,0.19 0,0.12 0.09,0.19 0.19,0.2 z"
+   id="path458" />
+			<path
+   class="st1"
+   d="m 597.37,274.77 c -0.63,-0.11 -1.3,-0.06 -1.94,-0.07 -0.67,-0.01 -1.35,-0.02 -2.02,-0.03 -1.35,-0.01 -2.7,0 -4.05,0.01 -0.19,0 -0.19,0.29 0,0.29 1.35,0.04 2.7,0.07 4.05,0.09 0.66,0.01 1.31,0.01 1.96,0.01 0.66,0 1.35,0.07 2,-0.03 0.14,-0.02 0.14,-0.25 0,-0.27 z"
+   id="path460" />
+			<path
+   class="st1"
+   d="m 592.95,275.81 c -0.49,0 -0.98,0 -1.46,0 -0.22,0 -0.22,0.33 0,0.34 0.49,0 0.98,0 1.46,0 0.49,0 0.98,0.02 1.46,-0.04 0.17,-0.02 0.17,-0.25 0,-0.27 -0.48,-0.05 -0.98,-0.03 -1.46,-0.03 z"
+   id="path462" />
+			<path
+   class="st1"
+   d="m 598.49,275.77 c -0.43,0.03 -0.86,0.05 -1.29,0.08 -0.2,0.01 -0.2,0.32 0,0.31 0.43,-0.02 0.86,-0.04 1.29,-0.06 0.21,-0.01 0.43,-0.02 0.64,-0.03 0.21,-0.02 0.42,-0.02 0.63,-0.07 0.12,-0.03 0.13,-0.24 0,-0.25 -0.41,-0.06 -0.85,0 -1.27,0.02 z"
+   id="path464" />
+			<path
+   class="st1"
+   d="m 605.68,276.03 c 0.34,0 0.66,0 1,-0.08 0.1,-0.02 0.1,-0.19 0,-0.21 -0.34,-0.08 -0.66,-0.08 -1,-0.08 -0.35,0 -0.7,0 -1.05,0.01 -0.7,0.02 -1.4,0.04 -2.1,0.04 -0.17,0 -0.17,0.27 0,0.27 0.7,0 1.4,0.02 2.1,0.04 0.35,0.01 0.7,0.01 1.05,0.01 z"
+   id="path466" />
+			<path
+   class="st1"
+   d="m 602.56,274.92 c -0.27,-0.07 -0.56,-0.09 -0.83,-0.12 -0.27,-0.03 -0.55,-0.05 -0.83,-0.07 -0.57,-0.05 -1.13,-0.09 -1.7,-0.14 -0.22,-0.02 -0.22,0.33 0,0.35 0.55,0.04 1.11,0.09 1.66,0.13 0.27,0.02 0.54,0.05 0.81,0.07 0.28,0.01 0.57,0.04 0.85,0.01 0.13,-0.01 0.17,-0.2 0.04,-0.23 z"
+   id="path468" />
+			<path
+   class="st1"
+   d="m 605.45,275.23 c 0.3,-0.02 0.6,-0.04 0.9,-0.06 0.15,-0.01 0.29,-0.01 0.44,-0.02 0.16,-0.01 0.32,-0.01 0.47,-0.08 0.13,-0.05 0.08,-0.25 -0.04,-0.29 -0.15,-0.04 -0.3,-0.02 -0.45,0 -0.15,0.02 -0.29,0.03 -0.44,0.05 -0.29,0.03 -0.59,0.06 -0.88,0.08 -0.08,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.08,0.17 0.16,0.16 z"
+   id="path470" />
+			<path
+   class="st1"
+   d="m 587.66,277.14 c -0.52,0 -1.04,0.01 -1.56,0.01 -1.04,0 -2.09,0.07 -3.13,0.11 -0.19,0.01 -0.19,0.31 0,0.3 1.06,-0.03 2.13,-0.03 3.19,-0.1 0.52,-0.03 1.04,-0.06 1.56,-0.09 0.5,-0.03 1.03,-0.01 1.52,-0.09 0.09,-0.02 0.06,-0.15 -0.02,-0.16 -0.51,-0.04 -1.04,0.02 -1.56,0.02 z"
+   id="path472" />
+			<path
+   class="st1"
+   d="m 587.92,277.87 c -0.33,0.02 -0.66,0.04 -0.98,0.06 -0.66,0.04 -1.31,0.08 -1.97,0.13 -0.24,0.02 -0.24,0.39 0,0.37 0.66,-0.04 1.31,-0.08 1.97,-0.13 0.33,-0.02 0.66,-0.04 0.98,-0.06 0.15,-0.01 0.3,-0.03 0.45,-0.05 0.16,-0.02 0.33,-0.02 0.48,-0.08 0.1,-0.04 0.12,-0.19 0,-0.22 -0.28,-0.07 -0.64,-0.04 -0.93,-0.02 z"
+   id="path474" />
+			<path
+   class="st1"
+   d="m 593.62,277.8 c -0.24,-0.01 -0.48,0 -0.71,0 -0.47,0.01 -0.95,0.02 -1.42,0.03 -0.19,0 -0.19,0.29 0,0.29 0.47,0.01 0.95,0.02 1.42,0.03 0.24,0 0.48,0.02 0.71,0 0.22,-0.01 0.47,-0.01 0.69,-0.07 0.11,-0.03 0.11,-0.19 0,-0.23 -0.22,-0.05 -0.47,-0.04 -0.69,-0.05 z"
+   id="path476" />
+			<path
+   class="st1"
+   d="m 604.15,278.24 c 0,0.05 0.04,0.1 0.1,0.1 0.18,-0.01 0.36,-0.01 0.53,-0.03 0.04,0 0.07,-0.03 0.07,-0.07 0,-0.04 -0.03,-0.07 -0.07,-0.07 -0.18,-0.02 -0.35,-0.02 -0.53,-0.03 -0.05,0 -0.1,0.05 -0.1,0.1 z"
+   id="path478" />
+			<path
+   class="st1"
+   d="m 607.69,278.52 c 0.06,0 0.13,-0.01 0.19,-0.03 0.05,-0.01 0.09,-0.07 0.09,-0.12 0,-0.05 -0.04,-0.11 -0.09,-0.12 -0.06,-0.01 -0.13,-0.03 -0.19,-0.03 -0.06,0 -0.11,0 -0.17,0 -0.11,0 -0.23,0 -0.34,0 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.06,0.15 0.15,0.15 0.11,0 0.23,0 0.34,0 0.05,0 0.11,0 0.17,0 z"
+   id="path480" />
+			<path
+   class="st1"
+   d="m 597.2,281.94 c -0.2,0 -0.2,0.31 0,0.31 0.2,0.01 0.21,-0.31 0,-0.31 z"
+   id="path482" />
+			<path
+   class="st1"
+   d="m 595.21,286.65 c 0.09,0 0.18,0 0.28,0 0.06,0 0.11,0 0.17,-0.01 0.06,-0.01 0.13,-0.01 0.17,-0.06 0.05,-0.06 0.05,-0.12 0,-0.18 -0.04,-0.05 -0.11,-0.05 -0.16,-0.06 -0.06,-0.01 -0.11,-0.01 -0.17,-0.01 -0.09,0 -0.18,0 -0.28,0 -0.08,0 -0.16,0.07 -0.16,0.16 -0.01,0.08 0.06,0.16 0.15,0.16 z"
+   id="path484" />
+			<path
+   class="st1"
+   d="m 597.25,288.57 c 0.15,-0.01 0.3,-0.02 0.45,-0.02 0,0.03 0,0.06 -0.01,0.09 -0.01,0.18 -0.02,0.36 -0.03,0.54 -0.01,0.17 -0.04,0.35 -0.01,0.52 0.01,0.06 0.09,0.05 0.11,0 0.05,-0.16 0.04,-0.35 0.05,-0.52 0.01,-0.18 0.02,-0.36 0.03,-0.54 0,-0.03 0,-0.06 0.01,-0.1 0,0 0,0 0.01,0 0.2,-0.01 0.41,0 0.58,-0.12 0.06,-0.04 0.05,-0.13 -0.02,-0.15 -0.18,-0.07 -0.37,-0.02 -0.55,0.01 0.01,-0.24 0.03,-0.49 0.04,-0.73 0,-0.09 -0.14,-0.09 -0.14,0 -0.02,0.25 -0.03,0.5 -0.05,0.76 -0.16,0.03 -0.33,0.06 -0.49,0.08 -0.41,0.07 -0.82,0.14 -1.23,0.19 -0.04,0.01 -0.03,0.07 0.01,0.07 0.41,-0.03 0.83,-0.06 1.24,-0.08 z"
+   id="path486" />
+			<path
+   class="st1"
+   d="m 597.94,290.19 c 0.01,0 0.02,0 0.03,0 l -0.01,0.65 c 0,0.28 0,0.55 0,0.83 0,0.28 -0.02,0.56 0.03,0.84 0.02,0.14 0.26,0.14 0.29,0 0.05,-0.28 0.03,-0.56 0.03,-0.84 0,-0.28 0,-0.55 0,-0.83 0,-0.21 -0.01,-0.43 -0.01,-0.64 0.23,0.01 0.45,0.02 0.66,-0.04 0.08,-0.02 0.08,-0.15 0,-0.17 -0.21,-0.05 -0.43,-0.05 -0.66,-0.04 0,-0.27 -0.01,-0.54 -0.01,-0.81 0,-0.19 -0.3,-0.19 -0.3,0 l -0.01,0.82 c -0.01,0 -0.02,0 -0.03,0 -0.34,0 -0.69,0.01 -1.03,0.01 -0.7,0.01 -1.4,0.02 -2.1,0.02 -0.1,0 -0.1,0.15 0,0.15 0.7,0.01 1.4,0.02 2.1,0.02 0.34,0.02 0.68,0.03 1.02,0.03 z"
+   id="path488" />
+			<path
+   class="st1"
+   d="m 599.6,292.73 c -0.02,0 -0.04,0 -0.06,0 0.01,-0.3 0.02,-0.59 0.02,-0.89 0.02,-0.72 -0.04,-1.45 -0.04,-2.17 0,-0.05 -0.07,-0.05 -0.07,0 -0.04,0.72 -0.16,1.44 -0.19,2.17 -0.02,0.3 -0.03,0.61 -0.04,0.91 -0.12,0.02 -0.23,0.04 -0.35,0.05 -0.12,0.02 -0.24,0.03 -0.37,0.05 0,-0.13 0,-0.26 0,-0.39 0,-0.12 -0.19,-0.12 -0.19,0 0,0.14 0,0.28 0,0.42 -0.06,0.01 -0.12,0.02 -0.18,0.03 -0.35,0.05 -0.7,0.1 -1.04,0.15 0.01,-0.38 0.02,-0.76 0.01,-1.15 0.22,-0.01 0.45,-0.02 0.67,-0.05 0.08,-0.01 0.14,-0.11 0.14,-0.19 0,-0.02 0,-0.04 -0.01,-0.05 -0.02,-0.08 -0.11,-0.14 -0.19,-0.14 -0.21,0 -0.41,0.03 -0.62,0.05 0,-0.22 -0.01,-0.44 -0.01,-0.66 0,-0.17 -0.27,-0.17 -0.27,0 0,0.23 -0.01,0.46 -0.01,0.69 -0.22,0.02 -0.43,0.05 -0.65,0.07 -0.09,0.01 -0.17,0.07 -0.17,0.17 0,0.09 0.08,0.18 0.17,0.17 0.22,-0.01 0.43,-0.03 0.65,-0.04 -0.01,0.39 0.01,0.78 0.02,1.16 -0.06,0.01 -0.11,0.02 -0.17,0.02 -0.22,0.03 -0.12,0.36 0.09,0.33 0.03,0 0.06,-0.01 0.09,-0.01 0.01,0.16 0,0.33 0.02,0.49 0.01,0.14 0.2,0.14 0.21,0 0.02,-0.17 0.01,-0.35 0.02,-0.52 0.37,-0.05 0.75,-0.1 1.12,-0.15 0.04,-0.01 0.08,-0.01 0.12,-0.02 0,0.2 0,0.39 0,0.59 0,0.22 -0.01,0.44 -0.01,0.67 0,0.11 -0.01,0.21 -0.01,0.32 0,0.11 -0.03,0.24 0.02,0.35 0.04,0.1 0.16,0.1 0.21,0 0.04,-0.1 0.02,-0.22 0.02,-0.32 0,-0.12 -0.01,-0.23 -0.01,-0.35 -0.01,-0.22 -0.01,-0.44 -0.01,-0.67 0,-0.21 0,-0.41 0,-0.62 0.13,-0.02 0.27,-0.04 0.4,-0.06 0.1,-0.01 0.2,-0.04 0.3,-0.05 -0.01,0.28 -0.03,0.58 0.04,0.85 0.02,0.09 0.15,0.08 0.18,0 0.09,-0.28 0.09,-0.6 0.1,-0.9 0.04,-0.01 0.08,-0.01 0.12,-0.02 0.14,-0.03 0.11,-0.29 -0.07,-0.29 z"
+   id="path490" />
+			<path
+   class="st1"
+   d="m 597.31,294.22 c -0.02,0 -0.04,0.01 -0.06,0.01 -0.03,0.01 -0.06,0.01 -0.09,0.02 -0.06,0.02 -0.12,0.05 -0.18,0.07 -0.12,0.05 -0.23,0.09 -0.35,0.14 -0.04,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.03,0.07 -0.01,0.11 0.02,0.07 0.1,0.13 0.17,0.1 0.12,-0.05 0.24,-0.09 0.36,-0.14 0.06,-0.03 0.13,-0.05 0.19,-0.08 0.03,-0.01 0.05,-0.03 0.08,-0.05 0.02,-0.01 0.04,-0.02 0.06,-0.04 0.02,-0.02 0.03,-0.04 0.04,-0.07 0.02,-0.04 -0.01,-0.1 -0.05,-0.12 -0.03,0 -0.05,-0.01 -0.08,-0.01 z"
+   id="path492" />
+			<path
+   class="st1"
+   d="m 593.05,286.75 c 0,0.22 -0.01,0.44 0,0.67 0,0.04 0.06,0.04 0.06,0 0.01,-0.22 0,-0.44 0,-0.67 0,-0.04 -0.06,-0.04 -0.06,0 z"
+   id="path494" />
+			<path
+   class="st1"
+   d="m 596.37,289.26 c -0.02,-0.06 -0.08,-0.1 -0.14,-0.08 -0.06,0.02 -0.1,0.08 -0.08,0.14 l 0.06,0.21 c 0.01,0.04 0.02,0.09 0.04,0.12 0.02,0.04 0.04,0.07 0.07,0.1 0.02,0.03 0.07,0.03 0.1,0.02 0.04,-0.02 0.05,-0.05 0.06,-0.08 0,-0.04 0,-0.09 -0.01,-0.13 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.02,-0.07 -0.05,-0.14 -0.07,-0.2 z"
+   id="path496" />
+			<path
+   class="st1"
+   d="m 598.53,291.05 c 0.05,0 0.05,-0.07 0,-0.07 -0.04,-0.01 -0.04,0.07 0,0.07 z"
+   id="path498" />
+			<path
+   class="st1"
+   d="m 598.27,295.87 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path500" />
+			<path
+   class="st1"
+   d="m 584.45,280.21 c 0.32,0.01 0.65,0.02 0.95,-0.09 0.14,-0.05 0.14,-0.23 0,-0.28 -0.3,-0.11 -0.63,-0.1 -0.95,-0.09 -0.32,0.01 -0.63,0.03 -0.95,0.05 -0.24,0.01 -0.24,0.36 0,0.37 0.32,0.01 0.64,0.03 0.95,0.04 z"
+   id="path502" />
+			<path
+   class="st1"
+   d="m 587.33,280.31 c -0.01,-0.02 -0.02,-0.03 -0.04,-0.04 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.03,0 -0.06,0.01 -0.08,0.03 -0.01,0.01 -0.02,0.02 -0.02,0.04 -0.01,0.01 -0.01,0.03 -0.01,0.04 0,0.02 0.01,0.04 0.02,0.06 0.01,0.02 0.02,0.03 0.04,0.04 l 0.15,0.1 c 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.02,0 0.03,0 0.02,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.02,-0.02 0.02,-0.03 0,-0.01 0,-0.02 0,-0.03 0,-0.01 0,-0.02 -0.01,-0.03 -0.04,-0.05 -0.07,-0.1 -0.1,-0.15 z"
+   id="path504" />
+			<path
+   class="st1"
+   d="m 585.04,281.82 c -0.24,0 -0.49,0 -0.73,0 -0.19,0 -0.19,0.3 0,0.3 0.24,0 0.49,0 0.73,0 0.24,0 0.49,-0.02 0.73,-0.03 0.15,-0.01 0.15,-0.23 0,-0.24 -0.25,-0.02 -0.49,-0.03 -0.73,-0.03 z"
+   id="path506" />
+			<path
+   class="st1"
+   d="m 584.76,283.41 c -0.13,-0.01 -0.25,-0.01 -0.37,-0.01 -0.25,0 -0.5,0 -0.75,0 -0.21,0 -0.21,0.33 0,0.33 0.25,0 0.5,0 0.75,0 0.13,0 0.25,-0.01 0.37,-0.01 0.13,-0.01 0.25,0 0.38,-0.04 0.11,-0.04 0.11,-0.19 0,-0.23 -0.13,-0.04 -0.26,-0.03 -0.38,-0.04 z"
+   id="path508" />
+			<path
+   class="st1"
+   d="m 586.17,283.81 c 0.15,0 0.15,-0.23 0,-0.23 -0.15,0 -0.15,0.23 0,0.23 z"
+   id="path510" />
+			<path
+   class="st1"
+   d="m 584.4,284.98 c -0.15,-0.03 -0.31,-0.05 -0.46,-0.08 -0.06,-0.01 -0.11,0.02 -0.12,0.08 -0.01,0.06 0.04,0.1 0.1,0.11 0.16,0.02 0.31,0.04 0.47,0.06 0.15,0.02 0.31,0.03 0.47,0.03 0.06,0 0.08,-0.09 0.01,-0.11 -0.16,-0.03 -0.32,-0.06 -0.47,-0.09 z"
+   id="path512" />
+			<path
+   class="st1"
+   d="m 585.63,285.05 c -0.31,0 -0.31,0.48 0,0.48 0.31,0 0.31,-0.48 0,-0.48 z"
+   id="path514" />
+			<path
+   class="st1"
+   d="m 583.04,290.84 c -0.3,-0.04 -0.6,-0.03 -0.9,0.05 -0.16,0.04 -0.09,0.3 0.07,0.25 0.25,-0.07 0.52,-0.08 0.78,-0.04 0.13,0.02 0.26,0.05 0.39,0.1 0.12,0.05 0.25,0.1 0.37,0.13 0.09,0.02 0.15,-0.09 0.09,-0.16 -0.18,-0.2 -0.52,-0.29 -0.8,-0.33 z"
+   id="path516" />
+			<path
+   class="st1"
+   d="m 584.04,291.52 c 0.15,0 0.15,-0.23 0,-0.23 -0.15,0.01 -0.15,0.23 0,0.23 z"
+   id="path518" />
+			<path
+   class="st1"
+   d="m 583.4,292.78 c -0.05,-0.02 -0.1,-0.02 -0.15,-0.03 -0.03,0 -0.06,-0.01 -0.08,-0.01 -0.04,-0.01 -0.04,-0.02 -0.09,-0.03 -0.1,-0.01 -0.2,0 -0.3,0 -0.2,0 -0.41,0 -0.61,-0.01 -0.09,0 -0.17,0.08 -0.17,0.17 0,0.09 0.08,0.17 0.17,0.17 l 0.61,-0.01 c 0.1,0 0.2,0 0.3,0 0.04,0 0.05,-0.01 0.09,-0.03 0.02,-0.01 0.05,-0.01 0.07,-0.01 0.05,-0.01 0.11,-0.02 0.16,-0.03 0.09,-0.03 0.09,-0.15 0,-0.18 z"
+   id="path520" />
+			<path
+   class="st1"
+   d="m 583.77,292.96 c 0.11,0 0.11,-0.17 0,-0.17 -0.11,0 -0.11,0.17 0,0.17 z"
+   id="path522" />
+			<path
+   class="st1"
+   d="m 580.58,295.01 c 0.2,0 0.41,0.01 0.61,0.01 0.1,0 0.2,0 0.31,0 0.11,0 0.21,-0.02 0.31,-0.03 0.12,-0.02 0.12,-0.22 0,-0.24 -0.11,-0.01 -0.21,-0.03 -0.31,-0.03 -0.1,0 -0.2,0 -0.31,0 -0.2,0 -0.41,0.01 -0.61,0.01 -0.18,0 -0.18,0.27 0,0.28 z"
+   id="path524" />
+			<path
+   class="st1"
+   d="m 583.51,295.11 c 0.14,0 0.14,-0.22 0,-0.22 -0.14,0 -0.15,0.22 0,0.22 z"
+   id="path526" />
+			<path
+   class="st1"
+   d="m 582.99,296.37 c -0.17,0 -0.34,-0.04 -0.51,-0.03 -0.16,0.01 -0.33,0.02 -0.49,0.03 -0.34,0.02 -0.67,0.04 -1.01,0.06 -0.21,0.01 -0.21,0.34 0,0.33 0.34,-0.01 0.67,-0.03 1.01,-0.04 0.16,-0.01 0.33,-0.01 0.49,-0.03 0.14,-0.01 0.27,-0.04 0.41,-0.07 -0.01,0.01 -0.04,0.02 -0.06,0.03 -0.06,0.01 -0.05,0.09 0,0.11 0.17,0.06 0.33,-0.15 0.27,-0.3 -0.02,-0.05 -0.06,-0.08 -0.11,-0.09 z"
+   id="path528" />
+			<path
+   class="st1"
+   d="m 581.43,297.64 c -0.14,0.01 -0.28,0.02 -0.42,0.03 -0.28,0.03 -0.55,0.05 -0.83,0.08 -0.1,0.01 -0.18,0.08 -0.18,0.18 0,0.09 0.08,0.19 0.18,0.18 0.28,-0.02 0.56,-0.04 0.84,-0.06 0.14,-0.01 0.27,-0.02 0.41,-0.04 0.15,-0.02 0.33,-0.01 0.45,-0.11 0.07,-0.06 0.05,-0.18 -0.03,-0.23 -0.12,-0.08 -0.28,-0.04 -0.42,-0.03 z"
+   id="path530" />
+			<path
+   class="st1"
+   d="m 582.31,298.16 c 0.13,0 0.13,-0.2 0,-0.2 -0.13,0 -0.13,0.2 0,0.2 z"
+   id="path532" />
+			<path
+   class="st1"
+   d="m 580.9,300.05 c -0.06,-0.01 -0.12,-0.03 -0.19,-0.03 h -0.19 c -0.25,0 -0.5,0 -0.75,0 -0.21,0 -0.21,0.33 0,0.33 0.25,0 0.5,0 0.75,0 0.06,0 0.11,0 0.17,0 0.07,0 0.13,-0.02 0.2,-0.03 0.12,-0.02 0.25,-0.02 0.37,-0.05 0.08,-0.02 0.08,-0.15 0,-0.17 -0.11,-0.03 -0.24,-0.03 -0.36,-0.05 z"
+   id="path534" />
+			<path
+   class="st1"
+   d="m 579.38,303.95 c 0.27,0.02 0.54,0.05 0.81,0.07 0.14,0.01 0.27,0.02 0.41,0.01 0.13,0 0.27,0.01 0.4,-0.03 0.08,-0.02 0.11,-0.15 0.02,-0.19 -0.12,-0.05 -0.26,-0.07 -0.39,-0.09 -0.14,-0.03 -0.29,-0.05 -0.43,-0.06 -0.28,-0.02 -0.55,-0.04 -0.83,-0.07 -0.1,-0.01 -0.18,0.09 -0.18,0.18 0.02,0.11 0.1,0.18 0.19,0.18 z"
+   id="path536" />
+			<path
+   class="st1"
+   d="m 581.64,304.01 c -0.21,0 -0.21,0.32 0,0.32 0.21,0.01 0.21,-0.32 0,-0.32 z"
+   id="path538" />
+			<path
+   class="st1"
+   d="m 580.71,305.73 c -0.15,0 -0.29,0 -0.44,0.01 -0.29,0 -0.59,0.01 -0.88,0.01 -0.2,0 -0.2,0.31 0,0.31 0.29,0 0.59,0.01 0.88,0.01 0.15,0 0.29,0.01 0.44,0.01 0.14,0 0.31,0.01 0.44,-0.04 0.13,-0.05 0.13,-0.21 0,-0.27 -0.13,-0.05 -0.3,-0.04 -0.44,-0.04 z"
+   id="path540" />
+			<path
+   class="st1"
+   d="m 577.52,308.22 c 0.38,0 0.77,0.01 1.15,0.01 0.19,0 0.38,0.01 0.57,0 0.18,-0.01 0.41,0.01 0.58,-0.06 0.13,-0.06 0.13,-0.22 0,-0.27 -0.17,-0.07 -0.4,-0.05 -0.58,-0.06 -0.19,-0.01 -0.38,0 -0.57,0 -0.38,0 -0.77,0.01 -1.15,0.01 -0.23,0 -0.23,0.36 0,0.37 z"
+   id="path542" />
+			<path
+   class="st1"
+   d="m 580.81,308.07 c -0.01,-0.01 -0.03,-0.02 -0.05,-0.03 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.01,0 -0.03,0 -0.04,0.01 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.05 -0.02,0.07 0,0.02 0,0.05 0.01,0.07 0,0.02 0,0.03 0.01,0.05 0,0.01 0,0.01 0.01,0.02 0,0.01 0.01,0.02 0.01,0.03 0,0.01 0.01,0.02 0.01,0.03 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.01 0.02,0.01 0.03,0.01 0.01,0.01 0.03,0.01 0.04,0.01 0.01,0 0.02,0 0.03,0 0.01,0 0.02,-0.01 0.03,-0.01 0.03,-0.01 0.04,-0.04 0.05,-0.07 0,-0.01 0.01,-0.02 0.01,-0.03 0,-0.01 0,-0.01 0.01,-0.02 0.01,-0.02 0.01,-0.03 0.01,-0.05 0,-0.02 0,-0.05 0.01,-0.07 0,-0.02 0,-0.04 -0.01,-0.05 -0.02,-0.04 -0.03,-0.05 -0.05,-0.06 z"
+   id="path544" />
+			<path
+   class="st1"
+   d="m 579.73,309.5 c -0.13,0 -0.26,0.02 -0.39,0.03 -0.25,0.02 -0.51,0.05 -0.76,0.07 -0.08,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.17 0.16,0.16 0.25,-0.02 0.51,-0.05 0.76,-0.07 0.13,-0.01 0.26,-0.02 0.39,-0.04 0.06,-0.01 0.12,-0.02 0.18,-0.03 -0.13,0.02 -0.13,0.22 0.01,0.22 0.14,0 0.14,-0.21 0.01,-0.22 0.07,-0.01 0.13,-0.01 0.19,-0.05 0.07,-0.05 0.09,-0.16 0,-0.2 -0.13,-0.06 -0.26,-0.03 -0.39,-0.03 z"
+   id="path546" />
+			<path
+   class="st1"
+   d="m 578.07,311.77 c -0.27,-0.02 -0.54,-0.04 -0.81,-0.06 -0.08,-0.01 -0.16,0.08 -0.16,0.16 0,0.09 0.07,0.15 0.16,0.16 0.27,0.02 0.53,0.04 0.8,0.06 0.26,0.02 0.54,0.06 0.8,0.03 0.14,-0.02 0.18,-0.21 0.03,-0.25 -0.26,-0.08 -0.55,-0.08 -0.82,-0.1 z"
+   id="path548" />
+			<path
+   class="st1"
+   d="m 578.22,313.76 c -0.07,-0.02 -0.15,-0.04 -0.22,-0.04 h -0.2 c -0.14,0 -0.27,0 -0.41,-0.01 -0.09,0 -0.17,0.08 -0.17,0.17 0,0.09 0.07,0.17 0.17,0.17 l 0.41,-0.01 c 0.07,0 0.13,0 0.2,0 0.08,0 0.15,-0.02 0.22,-0.04 0.12,-0.02 0.12,-0.21 0,-0.24 z"
+   id="path550" />
+			<path
+   class="st1"
+   d="m 578.72,314.07 c -0.03,0.01 -0.07,0.01 -0.1,0.02 -0.07,0.02 -0.14,0.03 -0.21,0.05 -0.04,0.01 -0.08,0.04 -0.1,0.08 -0.03,0.05 -0.03,0.1 -0.01,0.15 0.02,0.04 0.05,0.07 0.09,0.09 0.02,0.01 0.04,0.02 0.07,0.01 0.03,0 0.06,-0.01 0.09,-0.02 0.06,-0.03 0.13,-0.06 0.19,-0.08 0.03,-0.01 0.06,-0.03 0.09,-0.04 0.03,-0.01 0.06,-0.03 0.09,-0.05 0.04,-0.03 0.07,-0.08 0.05,-0.13 -0.02,-0.05 -0.06,-0.09 -0.11,-0.09 -0.05,-0.01 -0.09,0 -0.14,0.01 z"
+   id="path552" />
+			<path
+   class="st1"
+   d="m 576.1,324.37 c -0.04,0 -0.07,-0.01 -0.11,-0.01 -0.08,-0.01 -0.16,-0.02 -0.25,-0.02 -0.16,0 -0.32,0 -0.48,0 -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.08,0.19 0.19,0.19 0.16,0 0.32,0 0.48,0 0.08,0 0.16,-0.01 0.24,-0.02 0.04,0 0.08,-0.01 0.12,-0.01 0.06,-0.01 0.1,-0.02 0.16,-0.05 0.09,-0.04 0.09,-0.19 0,-0.22 -0.06,-0.03 -0.1,-0.05 -0.16,-0.05 z"
+   id="path554" />
+			<path
+   class="st1"
+   d="m 577.12,324.75 c -0.03,0 -0.06,0.01 -0.09,0.02 -0.04,0.02 -0.07,0.03 -0.11,0.05 -0.02,0.01 -0.03,0.02 -0.04,0.04 -0.01,0.02 -0.02,0.04 -0.02,0.06 0,0.02 0.01,0.04 0.02,0.06 0.01,0.02 0.02,0.03 0.04,0.04 0.03,0.02 0.07,0.03 0.11,0.05 0.03,0.02 0.06,0.02 0.09,0.02 0.03,0 0.06,-0.01 0.09,-0.02 0.05,-0.03 0.09,-0.09 0.09,-0.15 0,-0.06 -0.03,-0.12 -0.09,-0.15 -0.03,-0.01 -0.06,-0.02 -0.09,-0.02 z"
+   id="path556" />
+			<path
+   class="st1"
+   d="m 574.99,326.92 c -0.16,0 -0.16,0.25 0,0.25 0.17,0.01 0.17,-0.25 0,-0.25 z"
+   id="path558" />
+			<path
+   class="st1"
+   d="m 576.86,327.12 c 0.09,0 0.09,-0.14 0,-0.14 -0.09,0 -0.09,0.14 0,0.14 z"
+   id="path560" />
+			<path
+   class="st1"
+   d="m 572.73,329.88 c 0.27,0 0.54,0 0.81,0 0.27,0 0.56,0.03 0.82,-0.04 0.13,-0.03 0.13,-0.23 0,-0.27 -0.26,-0.07 -0.55,-0.04 -0.82,-0.04 -0.27,0 -0.54,0 -0.81,0 -0.21,0.01 -0.21,0.35 0,0.35 z"
+   id="path562" />
+			<path
+   class="st1"
+   d="m 575.96,329.6 c -0.06,-0.01 -0.11,-0.02 -0.17,-0.03 -0.12,-0.02 -0.23,-0.04 -0.35,-0.06 -0.05,-0.01 -0.1,-0.01 -0.15,0.02 -0.04,0.02 -0.08,0.07 -0.09,0.11 -0.02,0.1 0.03,0.21 0.13,0.23 0.12,0.03 0.23,0.05 0.35,0.08 0.06,0.01 0.11,0.02 0.17,0.04 0.04,0.01 0.09,0.02 0.13,0.02 0.06,0 0.11,-0.03 0.16,-0.08 0.05,-0.05 0.05,-0.13 0.02,-0.19 -0.03,-0.06 -0.07,-0.1 -0.13,-0.12 -0.01,0 -0.04,-0.01 -0.07,-0.02 z"
+   id="path564" />
+			<path
+   class="st1"
+   d="m 574.01,331.56 c -0.16,0 -0.32,0 -0.47,0 -0.08,0 -0.15,0.07 -0.15,0.14 0,0.08 0.06,0.15 0.15,0.15 0.16,0 0.32,0 0.47,0 0.08,0 0.16,-0.01 0.24,-0.02 0.08,-0.01 0.17,0 0.24,-0.03 0.09,-0.03 0.09,-0.15 0,-0.18 -0.08,-0.03 -0.16,-0.03 -0.24,-0.03 -0.09,-0.02 -0.16,-0.03 -0.24,-0.03 z"
+   id="path566" />
+			<path
+   class="st1"
+   d="m 575.13,331.55 c -0.2,0 -0.2,0.31 0,0.31 0.19,0 0.19,-0.31 0,-0.31 z"
+   id="path568" />
+			<path
+   class="st1"
+   d="m 572.8,333.95 c 0.09,-0.05 0.09,-0.19 0,-0.24 -0.11,-0.06 -0.24,-0.05 -0.36,-0.06 -0.12,-0.01 -0.23,-0.01 -0.35,-0.01 -0.23,0 -0.46,0 -0.69,0 -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.09,0.19 0.19,0.19 0.23,0 0.46,0 0.69,0 0.11,0 0.23,0 0.34,-0.01 0.13,-0.01 0.26,0 0.37,-0.06 z"
+   id="path570" />
+			<path
+   class="st1"
+   d="m 574.29,333.81 c -0.07,-0.01 -0.14,-0.02 -0.21,-0.02 -0.14,0 -0.28,0 -0.42,0 -0.09,0 -0.17,0.08 -0.17,0.17 0,0.09 0.07,0.16 0.17,0.17 0.14,0 0.28,0 0.42,0 0.07,0 0.14,-0.01 0.21,-0.02 0.08,-0.01 0.16,-0.01 0.23,-0.05 0.08,-0.05 0.08,-0.16 0,-0.2 -0.07,-0.04 -0.15,-0.04 -0.23,-0.05 z"
+   id="path572" />
+			<path
+   class="st1"
+   d="m 573.42,335.67 c -0.09,-0.03 -0.18,-0.06 -0.27,-0.09 -0.17,-0.05 -0.35,-0.1 -0.52,-0.14 -0.06,-0.02 -0.13,0.01 -0.17,0.06 0.05,-0.1 0.01,-0.24 -0.13,-0.24 -0.21,0 -0.21,0.32 0,0.32 0.04,0 0.07,-0.02 0.09,-0.04 0,0 -0.01,0.01 -0.01,0.01 -0.02,0.09 0.03,0.19 0.12,0.22 0.17,0.05 0.35,0.1 0.52,0.15 0.09,0.03 0.18,0.05 0.27,0.07 0.05,0.01 0.1,0.03 0.15,0.03 0.07,0 0.14,-0.04 0.16,-0.11 0.02,-0.07 -0.02,-0.15 -0.08,-0.18 -0.03,-0.03 -0.08,-0.04 -0.13,-0.06 z"
+   id="path574" />
+			<path
+   class="st1"
+   d="m 571.54,346.87 c -0.11,-0.03 -0.22,-0.06 -0.34,-0.08 -0.23,-0.04 -0.46,-0.08 -0.68,-0.12 -0.1,-0.02 -0.22,0.03 -0.25,0.14 -0.02,0.1 0.03,0.22 0.14,0.25 0.23,0.05 0.46,0.1 0.69,0.16 0.11,0.03 0.23,0.04 0.34,0.05 0.13,0.02 0.27,0.05 0.4,0.02 0.06,-0.02 0.11,-0.07 0.12,-0.13 0.01,-0.07 -0.02,-0.12 -0.08,-0.16 -0.09,-0.08 -0.22,-0.1 -0.34,-0.13 z"
+   id="path576" />
+			<path
+   class="st1"
+   d="m 572.72,347.15 c -0.02,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,-0.01 -0.04,-0.02 -0.06,-0.01 -0.06,0 -0.11,0.03 -0.14,0.08 -0.03,0.05 -0.06,0.11 -0.09,0.16 0,0.01 -0.01,0.02 -0.01,0.03 0,0.02 -0.01,0.03 0,0.05 0,0.01 0,0.02 0.01,0.03 0,0.01 0.01,0.03 0.02,0.04 0.01,0.01 0.02,0.01 0.02,0.02 0.01,0 0.02,0.01 0.03,0.01 0.02,0 0.03,0.01 0.05,0 0.02,0 0.03,-0.01 0.04,-0.01 0.05,-0.03 0.11,-0.06 0.16,-0.09 0.05,-0.03 0.08,-0.09 0.08,-0.14 l -0.01,-0.04 c -0.02,-0.06 -0.03,-0.08 -0.05,-0.1 z"
+   id="path578" />
+			<path
+   class="st1"
+   d="m 567.95,350.24 c 0.25,0 0.5,0 0.75,0.01 0.12,0 0.24,0 0.37,0 0.06,0 0.12,0 0.18,0 0.07,0 0.14,-0.04 0.21,-0.06 0.13,-0.03 0.13,-0.22 0,-0.25 -0.06,-0.02 -0.12,-0.05 -0.19,-0.06 -0.07,-0.01 -0.13,-0.01 -0.2,-0.01 -0.12,0 -0.24,0 -0.37,0 l -0.75,0.01 c -0.24,-0.01 -0.24,0.36 0,0.36 z"
+   id="path580" />
+			<path
+   class="st1"
+   d="m 571.11,350.29 c -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 -0.01,0 -0.02,0 -0.03,-0.01 -0.02,0 -0.05,-0.01 -0.07,-0.01 -0.03,-0.01 -0.05,-0.01 -0.08,0 -0.03,0.01 -0.05,0.02 -0.07,0.04 -0.01,0.01 -0.02,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.05 -0.02,0.08 0,0.02 0,0.04 0.01,0.06 0.01,0.02 0.02,0.04 0.03,0.05 0.02,0.02 0.04,0.03 0.07,0.04 0.03,0.01 0.05,0.01 0.08,0 l 0.07,-0.01 c 0.01,0 0.02,0 0.03,-0.01 0.02,-0.01 0.04,-0.02 0.06,-0.04 0.01,-0.01 0.02,-0.03 0.03,-0.04 0,-0.01 0.01,-0.01 0.01,-0.02 0,-0.01 0.01,-0.02 0.01,-0.03 0,-0.01 0,-0.02 -0.01,-0.03 0,0 0,0 0,0 z"
+   id="path582" />
+			<path
+   class="st1"
+   d="m 569.96,351.82 c -0.09,0.01 -0.18,0.02 -0.27,0.03 -0.18,0.02 -0.36,0.05 -0.54,0.07 -0.08,0.01 -0.15,0.06 -0.15,0.15 0,0.07 0.07,0.16 0.15,0.15 0.18,-0.02 0.37,-0.04 0.55,-0.07 0.09,-0.01 0.19,-0.02 0.28,-0.03 0.1,-0.01 0.2,-0.02 0.29,-0.08 0.09,-0.06 0.07,-0.19 -0.03,-0.22 -0.09,-0.03 -0.18,-0.01 -0.28,0 z"
+   id="path584" />
+			<path
+   class="st1"
+   d="m 570.74,352.15 c 0.12,0 0.12,-0.19 0,-0.19 -0.12,0 -0.13,0.19 0,0.19 z"
+   id="path586" />
+			<path
+   class="st1"
+   d="m 566.4,354.63 c 0.3,-0.05 0.61,-0.06 0.9,-0.02 0.15,0.02 0.3,0.06 0.45,0.1 0.15,0.04 0.31,0.12 0.46,0.12 0.13,0 0.17,-0.14 0.1,-0.23 -0.06,-0.07 -0.14,-0.11 -0.22,-0.14 -0.08,-0.04 -0.17,-0.07 -0.26,-0.11 -0.16,-0.06 -0.33,-0.09 -0.5,-0.11 -0.35,-0.04 -0.69,-0.03 -1.03,0.04 -0.1,0.02 -0.15,0.13 -0.13,0.22 0.04,0.1 0.13,0.15 0.23,0.13 z"
+   id="path588" />
+			<path
+   class="st1"
+   d="m 570.19,354.71 c -0.02,-0.01 -0.04,-0.01 -0.07,-0.01 -0.01,0 -0.01,0 -0.02,0 h -0.16 c -0.04,0 -0.08,0.02 -0.11,0.04 -0.03,0.03 -0.05,0.07 -0.04,0.11 0,0.04 0.01,0.08 0.04,0.11 0.03,0.03 0.07,0.04 0.11,0.04 h 0.13 c 0.03,0 0.07,0 0.1,-0.01 0.03,-0.01 0.06,-0.03 0.08,-0.04 0.08,-0.05 0.08,-0.16 0,-0.2 -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 z"
+   id="path590" />
+			<path
+   class="st1"
+   d="m 568.66,356.42 c -0.08,0 -0.16,0 -0.24,0 -0.16,0 -0.32,0 -0.47,-0.01 -0.08,0 -0.17,0.08 -0.16,0.16 0,0.09 0.07,0.16 0.16,0.16 0.16,0 0.32,0 0.47,-0.01 0.08,0 0.16,0 0.24,0 0.09,0 0.17,-0.01 0.25,-0.03 0.12,-0.03 0.12,-0.21 0,-0.24 -0.08,-0.02 -0.17,-0.03 -0.25,-0.03 z"
+   id="path592" />
+			<path
+   class="st1"
+   d="m 566.48,358.8 c -0.09,0.01 -0.17,0.07 -0.17,0.17 0,0.08 0.08,0.18 0.17,0.17 0.25,-0.02 0.5,-0.05 0.75,-0.07 0.25,-0.02 0.51,-0.02 0.75,-0.1 0.16,-0.05 0.12,-0.26 -0.04,-0.28 -0.24,-0.03 -0.49,0.02 -0.73,0.04 -0.24,0.03 -0.48,0.05 -0.73,0.07 z"
+   id="path594" />
+			<path
+   class="st1"
+   d="m 569.28,359.19 c 0.12,0 0.12,-0.18 0,-0.18 -0.12,0 -0.12,0.18 0,0.18 z"
+   id="path596" />
+			<path
+   class="st1"
+   d="m 567.92,360.64 c -0.17,0 -0.34,0 -0.51,0.01 -0.35,0.01 -0.71,0.02 -1.06,0.03 -0.21,0 -0.21,0.32 0,0.32 0.35,0 0.71,0.01 1.06,0.03 0.17,0.01 0.34,0.01 0.51,0.01 0.15,0 0.44,0.03 0.44,-0.19 0,-0.24 -0.29,-0.22 -0.44,-0.21 z"
+   id="path598" />
+			<path
+   class="st1"
+   d="m 568.75,360.96 c -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 -0.02,-0.01 -0.05,-0.02 -0.07,-0.02 -0.02,0 -0.03,0 -0.05,0.01 -0.03,0.01 -0.06,0.03 -0.08,0.05 -0.01,0.01 -0.02,0.03 -0.03,0.04 -0.02,0.03 -0.03,0.06 -0.03,0.1 0,0.02 0,0.05 0.01,0.07 v 0.02 c 0,0 0,0.01 0,0.01 0,0.03 0,0.05 0.02,0.07 0.01,0.02 0.02,0.04 0.04,0.06 0.01,0.01 0.03,0.03 0.05,0.04 0.02,0.01 0.05,0.02 0.08,0.02 0.03,0 0.05,-0.01 0.08,-0.02 0.02,-0.01 0.04,-0.03 0.05,-0.04 0.01,-0.01 0.02,-0.02 0.03,-0.04 0.02,-0.03 0.03,-0.06 0.03,-0.09 0,0 0,-0.01 0,-0.01 v -0.02 c 0,-0.02 0,-0.05 0.01,-0.07 0,-0.03 0,-0.05 -0.02,-0.07 -0.03,-0.03 -0.05,-0.05 -0.06,-0.07 z"
+   id="path600" />
+			<path
+   class="st1"
+   d="m 567.21,363.08 c -0.29,-0.02 -0.57,-0.04 -0.86,-0.06 -0.1,-0.01 -0.18,0.09 -0.18,0.18 0,0.11 0.08,0.18 0.18,0.18 0.28,0.02 0.56,0.04 0.85,0.06 0.14,0.01 0.27,0.02 0.41,0.03 0.07,0.01 0.15,0 0.22,-0.01 0.08,-0.01 0.15,-0.01 0.21,-0.07 0.03,-0.04 0.05,-0.1 0.02,-0.15 -0.09,-0.12 -0.28,-0.14 -0.42,-0.15 -0.15,0.01 -0.29,0 -0.43,-0.01 z"
+   id="path602" />
+			<path
+   class="st1"
+   d="m 564.58,372.43 c 0.21,-0.11 0.44,-0.15 0.68,-0.13 0.11,0.01 0.22,0.03 0.33,0.07 0.12,0.04 0.23,0.11 0.35,0.14 0.11,0.02 0.21,-0.09 0.15,-0.2 -0.08,-0.13 -0.24,-0.21 -0.38,-0.26 -0.14,-0.06 -0.29,-0.09 -0.44,-0.1 -0.3,-0.02 -0.6,0.05 -0.86,0.19 -0.19,0.1 -0.02,0.39 0.17,0.29 z"
+   id="path604" />
+			<path
+   class="st1"
+   d="m 566.62,372.64 c 0.14,0 0.14,-0.22 0,-0.22 -0.15,0 -0.15,0.22 0,0.22 z"
+   id="path606" />
+			<path
+   class="st1"
+   d="m 562.09,375.9 c 0.29,0 0.58,0.01 0.86,0.01 0.14,0 0.28,0 0.42,0 0.15,-0.01 0.29,-0.03 0.44,-0.05 0.17,-0.02 0.17,-0.25 0,-0.27 -0.15,-0.02 -0.29,-0.04 -0.44,-0.05 -0.14,-0.01 -0.28,0 -0.42,0 -0.29,0 -0.58,0.01 -0.86,0.01 -0.22,0 -0.22,0.34 0,0.35 z"
+   id="path608" />
+			<path
+   class="st1"
+   d="m 566.15,375.9 c -0.02,-0.04 -0.05,-0.06 -0.09,-0.07 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.03,-0.01 -0.07,-0.03 -0.1,-0.04 l -0.21,-0.08 c -0.04,-0.01 -0.09,0 -0.13,0.02 -0.03,0.02 -0.07,0.06 -0.08,0.1 -0.02,0.09 0.03,0.18 0.11,0.2 0.07,0.02 0.14,0.04 0.21,0.06 0.04,0.01 0.07,0.02 0.11,0.03 0.01,0 0.02,0 0.02,0.01 0.04,0.01 0.08,0 0.12,-0.02 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.02,-0.01 0.04,-0.04 0.05,-0.06 0.01,-0.03 0,-0.05 -0.01,-0.08 0.01,-0.01 0,-0.03 -0.01,-0.04 z"
+   id="path610" />
+			<path
+   class="st1"
+   d="m 563.16,377.77 c -0.13,-0.02 -0.27,-0.03 -0.4,-0.05 -0.03,0 -0.07,0.02 -0.09,0.04 -0.02,0.02 -0.04,0.06 -0.04,0.09 0,0.03 0.01,0.07 0.04,0.09 0.02,0.02 0.06,0.04 0.09,0.04 0.13,-0.02 0.27,-0.03 0.4,-0.05 0.04,0 0.08,-0.03 0.08,-0.08 0,-0.05 -0.04,-0.08 -0.08,-0.08 z"
+   id="path612" />
+			<path
+   class="st1"
+   d="m 565.42,377.75 c -0.13,0 -0.13,0.21 0,0.21 0.13,0 0.13,-0.21 0,-0.21 z"
+   id="path614" />
+			<path
+   class="st1"
+   d="m 560.9,379.46 c 0.29,0.02 0.59,0.05 0.88,0.07 0.15,0.01 0.29,0.02 0.44,0.03 0.07,0.01 0.14,0.01 0.2,0.02 0.08,0.01 0.16,0 0.24,-0.02 0.15,-0.03 0.12,-0.23 0,-0.27 -0.14,-0.05 -0.29,-0.05 -0.44,-0.06 -0.15,-0.01 -0.29,-0.02 -0.44,-0.04 -0.29,-0.02 -0.59,-0.05 -0.88,-0.07 -0.09,-0.01 -0.17,0.08 -0.17,0.17 0,0.1 0.08,0.17 0.17,0.17 z"
+   id="path616" />
+			<path
+   class="st1"
+   d="m 565.41,379.7 c 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.06,-0.04 0.06,-0.12 0,-0.17 -0.02,-0.01 -0.03,-0.02 -0.05,-0.03 -0.04,-0.02 -0.07,-0.02 -0.11,-0.02 -0.05,-0.01 -0.09,-0.01 -0.14,-0.02 -0.09,-0.01 -0.18,0 -0.28,0 -0.08,0 -0.16,0.07 -0.16,0.16 0,0.09 0.07,0.16 0.16,0.16 0.09,0 0.19,0.01 0.28,0 0.05,0 0.09,-0.01 0.14,-0.01 0.04,-0.02 0.08,-0.03 0.11,-0.04 z"
+   id="path618" />
+			<path
+   class="st1"
+   d="m 564.89,380.97 c -0.09,0 -0.09,0.14 0,0.14 0.09,0 0.09,-0.14 0,-0.14 z"
+   id="path620" />
+			<path
+   class="st1"
+   d="m 560.23,383.32 c 0.47,0.02 0.93,0.04 1.4,0.07 0.23,0.01 0.46,0.02 0.68,0.02 0.24,0 0.47,-0.03 0.71,-0.04 0.1,0 0.13,-0.17 0.02,-0.18 -0.23,-0.03 -0.45,-0.08 -0.68,-0.1 -0.24,-0.02 -0.47,-0.03 -0.71,-0.04 -0.47,-0.02 -0.95,-0.04 -1.42,-0.06 -0.22,-0.02 -0.22,0.32 0,0.33 z"
+   id="path622" />
+			<path
+   class="st1"
+   d="m 564.59,383.36 c -0.01,0.05 -0.01,0.1 0.02,0.14 0.03,0.04 0.06,0.07 0.11,0.08 0.06,0.02 0.12,0.04 0.19,0.07 0.03,0.01 0.06,0.02 0.09,0.02 0.03,0.01 0.07,0.01 0.1,0.02 0.04,0.01 0.09,0.01 0.13,-0.02 0.03,-0.02 0.05,-0.04 0.07,-0.08 0.03,-0.07 0.01,-0.17 -0.07,-0.2 -0.07,-0.04 -0.14,-0.07 -0.22,-0.1 -0.06,-0.02 -0.13,-0.04 -0.19,-0.06 -0.1,-0.02 -0.21,0.04 -0.23,0.13 z"
+   id="path624" />
+			<path
+   class="st1"
+   d="m 563.14,385.04 c -0.44,-0.02 -0.88,-0.04 -1.31,-0.06 -0.22,-0.01 -0.21,0.32 0,0.34 0.44,0.03 0.88,0.05 1.31,0.08 0.21,0.01 0.43,0.03 0.64,0.04 0.19,0.01 0.46,0.06 0.63,-0.04 0.09,-0.05 0.08,-0.17 0,-0.22 -0.09,-0.06 -0.21,-0.06 -0.31,-0.08 -0.1,-0.01 -0.2,-0.02 -0.3,-0.02 -0.21,-0.02 -0.43,-0.03 -0.66,-0.04 z"
+   id="path626" />
+			<path
+   class="st1"
+   d="m 559,387.95 c 0.32,0.05 0.63,0.1 0.95,0.15 0.32,0.05 0.63,0.11 0.96,0.08 0.13,-0.01 0.15,-0.18 0.03,-0.22 -0.3,-0.11 -0.6,-0.15 -0.91,-0.19 -0.31,-0.04 -0.62,-0.09 -0.93,-0.13 -0.09,-0.01 -0.18,0.02 -0.2,0.11 -0.04,0.07 0.01,0.18 0.1,0.2 z"
+   id="path628" />
+			<path
+   class="st1"
+   d="m 563.17,388.06 c -0.14,0 -0.27,-0.01 -0.41,-0.01 -0.09,0 -0.18,0.08 -0.17,0.18 0,0.09 0.08,0.18 0.17,0.18 0.14,0 0.27,-0.01 0.41,-0.01 0.07,0 0.14,0 0.2,0 0.07,0 0.15,-0.03 0.22,-0.05 0.11,-0.03 0.11,-0.2 0,-0.23 -0.07,-0.02 -0.14,-0.04 -0.22,-0.05 -0.07,-0.01 -0.14,-0.01 -0.2,-0.01 z"
+   id="path630" />
+			<path
+   class="st1"
+   d="m 558.9,390.24 c 0.45,0 0.9,0 1.36,0 0.23,0 0.45,0 0.68,0 0.11,0 0.21,-0.02 0.31,-0.03 0.11,-0.01 0.23,-0.01 0.34,-0.04 0.09,-0.02 0.09,-0.16 0,-0.18 -0.11,-0.03 -0.22,-0.03 -0.34,-0.04 -0.11,-0.01 -0.21,-0.03 -0.31,-0.03 -0.23,0 -0.45,0 -0.68,0 -0.45,0 -0.9,0 -1.36,0 -0.2,0.01 -0.2,0.32 0,0.32 z"
+   id="path632" />
+			<path
+   class="st1"
+   d="m 564.66,390.52 c 0.09,-0.01 0.16,-0.02 0.21,-0.1 0.03,-0.04 0.03,-0.1 0,-0.14 -0.06,-0.08 -0.12,-0.09 -0.21,-0.1 -0.07,-0.01 -0.15,0 -0.22,0 -0.14,0 -0.28,0 -0.42,0.01 -0.29,0 -0.57,0.01 -0.86,0.01 -0.2,0 -0.2,0.31 0,0.31 0.29,0 0.57,0.01 0.86,0.01 0.14,0 0.28,0 0.42,0.01 0.07,-0.01 0.15,-0.01 0.22,-0.01 z"
+   id="path634" />
+			<path
+   class="st1"
+   d="m 558.37,395.72 c 0.93,0.04 1.87,0.1 2.79,0.01 0.09,-0.01 0.13,-0.15 0.02,-0.17 -0.93,-0.17 -1.88,-0.19 -2.82,-0.24 -0.24,-0.01 -0.25,0.39 0.01,0.4 z"
+   id="path636" />
+			<path
+   class="st1"
+   d="m 563.24,395.6 c -0.03,-0.01 -0.07,-0.02 -0.1,-0.03 -0.07,-0.02 -0.14,-0.04 -0.2,-0.06 -0.08,-0.02 -0.17,0.03 -0.19,0.11 -0.02,0.08 0.03,0.16 0.11,0.19 0.07,0.02 0.14,0.05 0.2,0.07 0.03,0.01 0.06,0.02 0.1,0.03 0.02,0.01 0.04,0.01 0.05,0.01 0.01,0 0.02,0 0.02,0 0.03,0.01 0.05,0.01 0.08,0 0,0 0.01,0 0.01,0 0.05,-0.01 0.09,-0.06 0.1,-0.1 0.01,-0.05 0,-0.1 -0.04,-0.14 -0.03,-0.03 -0.09,-0.06 -0.14,-0.08 z"
+   id="path638" />
+			<path
+   class="st1"
+   d="m 557.84,397.73 c 0.09,0 0.18,0 0.27,0 0.05,0 0.09,0 0.14,0 0.03,0 0.07,0 0.1,-0.01 0.02,-0.01 0.04,-0.02 0.07,-0.02 0.06,-0.02 0.12,-0.08 0.12,-0.15 0,-0.07 -0.05,-0.13 -0.12,-0.15 -0.02,-0.01 -0.04,-0.02 -0.07,-0.02 -0.03,-0.01 -0.07,-0.01 -0.1,-0.01 -0.05,0 -0.09,0 -0.14,0 -0.09,0 -0.18,0 -0.27,0 -0.1,0 -0.2,0.09 -0.2,0.2 0,0.07 0.09,0.17 0.2,0.16 z"
+   id="path640" />
+			<path
+   class="st1"
+   d="m 561.56,397.65 c 0.15,0 0.15,-0.23 0,-0.23 -0.14,0 -0.14,0.23 0,0.23 z"
+   id="path642" />
+			<path
+   class="st1"
+   d="m 561.61,398.54 c -0.57,0 -1.15,-0.01 -1.72,-0.03 -1.13,-0.03 -2.26,-0.01 -3.38,0.01 -0.26,0 -0.26,0.41 0,0.41 1.13,0.02 2.26,0.04 3.38,0.01 0.55,-0.01 1.11,-0.03 1.66,-0.03 0.52,0 1.14,0.08 1.64,-0.06 0.14,-0.04 0.14,-0.24 0,-0.28 -0.48,-0.11 -1.07,-0.03 -1.58,-0.03 z"
+   id="path644" />
+			<path
+   class="st1"
+   d="m 564.78,398.87 0.04,-0.02 c 0.04,-0.02 0.07,-0.08 0.07,-0.12 0,-0.04 -0.03,-0.1 -0.07,-0.12 -0.02,-0.01 -0.03,-0.01 -0.04,-0.02 -0.02,-0.01 -0.04,-0.02 -0.05,-0.02 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 h -0.1 c -0.07,0 -0.14,0 -0.21,0 -0.04,0 -0.09,0.02 -0.12,0.05 -0.03,0.03 -0.05,0.08 -0.05,0.12 0,0.05 0.02,0.09 0.05,0.12 0.03,0.03 0.08,0.05 0.12,0.05 0.07,0 0.14,0 0.21,0 h 0.1 c 0.02,0 0.04,0 0.06,-0.01 0.01,0 0.03,-0.01 0.05,-0.02 z"
+   id="path646" />
+			<path
+   class="st1"
+   d="m 566.22,398.93 1.02,-0.06 c 0.17,-0.01 0.34,-0.02 0.51,-0.03 0.17,-0.01 0.36,0 0.52,-0.04 0.09,-0.02 0.15,-0.12 0.13,-0.2 -0.01,-0.1 -0.09,-0.15 -0.18,-0.16 -0.16,-0.02 -0.35,0.02 -0.51,0.03 -0.16,0.01 -0.33,0.02 -0.49,0.03 -0.33,0.02 -0.67,0.05 -1,0.07 -0.23,0.02 -0.24,0.38 0,0.36 z"
+   id="path648" />
+			<path
+   class="st1"
+   d="m 563.07,399.86 c -0.39,-0.15 -0.92,-0.07 -1.33,-0.07 -0.46,0.01 -0.93,0.01 -1.39,0.03 -0.93,0.03 -1.85,0.08 -2.78,0.18 -0.16,0.02 -0.16,0.24 0,0.25 0.94,0.07 1.89,0.09 2.83,0.09 0.46,0 0.93,-0.01 1.39,-0.02 0.42,-0.01 0.93,0.04 1.32,-0.13 0.17,-0.06 0.09,-0.28 -0.04,-0.33 z"
+   id="path650" />
+			<path
+   class="st1"
+   d="m 565.62,400.06 c -0.09,-0.01 -0.17,-0.04 -0.26,-0.04 -0.16,0 -0.32,0 -0.47,0 -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.08,0.19 0.19,0.19 0.16,0 0.32,0 0.47,0 0.09,0 0.17,-0.03 0.26,-0.04 0.08,-0.01 0.15,-0.02 0.23,-0.04 0.09,-0.03 0.09,-0.16 0,-0.19 -0.08,-0.05 -0.15,-0.06 -0.23,-0.07 z"
+   id="path652" />
+			<path
+   class="st1"
+   d="m 566.62,400.4 c 0.79,0.01 1.58,-0.01 2.37,-0.02 0.4,-0.01 0.79,0.01 1.19,0.02 0.35,0 0.8,0.07 1.14,-0.05 0.15,-0.05 0.15,-0.25 0,-0.31 -0.34,-0.12 -0.78,-0.06 -1.14,-0.05 -0.4,0 -0.79,0.03 -1.19,0.02 -0.79,-0.01 -1.58,-0.04 -2.37,-0.02 -0.27,0 -0.27,0.41 0,0.41 z"
+   id="path654" />
+			<path
+   class="st1"
+   d="m 557.71,400.39 c -0.31,-0.01 -0.62,-0.03 -0.93,-0.03 h -0.93 c -0.31,0 -0.31,0.47 0,0.47 h 0.93 c 0.31,0 0.62,-0.02 0.93,-0.03 0.26,-0.01 0.26,-0.4 0,-0.41 z"
+   id="path656" />
+			<path
+   class="st1"
+   d="m 605.38,280.94 c 0.08,0 0.16,0 0.23,0 0.09,-0.01 0.18,-0.04 0.27,-0.05 0.12,-0.02 0.12,-0.22 0,-0.24 -0.09,-0.01 -0.18,-0.04 -0.27,-0.05 -0.08,-0.01 -0.16,0 -0.23,0 -0.17,0 -0.34,-0.01 -0.51,-0.01 -0.34,0 -0.68,0 -1.02,0.01 -0.23,0 -0.23,0.35 0,0.35 0.34,0 0.68,0.01 1.02,0.01 0.17,-0.01 0.34,-0.01 0.51,-0.02 z"
+   id="path658" />
+			<path
+   class="st1"
+   d="m 607.76,280.43 c -0.06,0 -0.12,0 -0.18,0 -0.05,0 -0.11,0.02 -0.15,0.06 -0.04,0.04 -0.06,0.1 -0.06,0.15 0,0.05 0.02,0.11 0.06,0.15 0.04,0.04 0.09,0.06 0.15,0.06 h 0.18 c 0.03,0 0.06,0 0.09,0 0.06,0 0.13,0 0.18,-0.03 0.06,-0.04 0.1,-0.1 0.1,-0.17 0,-0.07 -0.04,-0.13 -0.1,-0.17 -0.05,-0.03 -0.12,-0.03 -0.18,-0.03 -0.03,-0.02 -0.06,-0.02 -0.09,-0.02 z"
+   id="path660" />
+			<path
+   class="st1"
+   d="m 606.51,282.14 c -0.09,-0.01 -0.17,-0.02 -0.25,-0.03 -0.08,-0.01 -0.17,0 -0.25,0 -0.16,0 -0.33,0.02 -0.49,0.03 -0.33,0.02 -0.67,0.04 -1,0.06 -0.21,0.01 -0.21,0.35 0,0.33 0.34,-0.02 0.68,-0.05 1.02,-0.07 0.17,-0.01 0.34,-0.02 0.51,-0.04 0.08,-0.01 0.16,-0.01 0.23,-0.03 0.09,-0.02 0.17,-0.05 0.26,-0.07 0.11,-0.02 0.07,-0.17 -0.03,-0.18 z"
+   id="path662" />
+			<path
+   class="st1"
+   d="m 607.32,282.36 c 0.01,0.01 0.02,0.02 0.04,0.03 0.03,0.02 0.06,0.02 0.09,0.02 0.02,0 0.04,0 0.06,0 0.01,0 0.02,0 0.03,0 0.02,0 0.05,0 0.07,-0.01 0.01,-0.01 0.03,-0.01 0.04,-0.02 0.02,-0.01 0.04,-0.03 0.05,-0.04 0.01,-0.01 0.02,-0.02 0.02,-0.04 0.01,-0.02 0.02,-0.04 0.01,-0.07 0,-0.01 0,-0.03 -0.01,-0.04 l -0.02,-0.04 c -0.01,-0.02 -0.03,-0.04 -0.04,-0.05 -0.02,-0.01 -0.04,-0.03 -0.06,-0.03 -0.01,0 -0.02,0 -0.02,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.04,0 -0.06,0 -0.02,0 -0.05,0 -0.07,0.02 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.02,0.02 -0.03,0.03 -0.04,0.06 -0.01,0.02 -0.02,0.04 -0.02,0.07 0,0.02 0,0.03 0.01,0.05 0.02,0 0.04,0.03 0.06,0.05 z"
+   id="path664" />
+			<path
+   class="st1"
+   d="m 605.72,283.51 c -0.24,0 -0.24,0.37 0,0.37 0.23,0 0.23,-0.37 0,-0.37 z"
+   id="path666" />
+			<path
+   class="st1"
+   d="m 607.12,284.08 c 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.02,-0.02 0.03,-0.05 0.03,-0.09 0,-0.03 -0.01,-0.05 -0.02,-0.07 -0.02,-0.03 -0.05,-0.06 -0.08,-0.06 l -0.25,-0.05 c -0.03,-0.01 -0.07,-0.01 -0.11,0 -0.03,0.01 -0.06,0.03 -0.09,0.05 -0.04,0.04 -0.06,0.09 -0.06,0.14 0,0.05 0.02,0.1 0.06,0.14 0.05,0.05 0.12,0.07 0.19,0.05 0.08,-0.02 0.17,-0.04 0.25,-0.05 0.01,-0.01 0.03,-0.01 0.04,-0.02 z"
+   id="path668" />
+			<path
+   class="st1"
+   d="m 609.4,290.17 c 0.24,0.02 0.49,0.01 0.73,0.04 0.13,0.01 0.15,-0.19 0.03,-0.23 -0.24,-0.07 -0.47,-0.15 -0.71,-0.19 -0.25,-0.04 -0.51,-0.06 -0.76,-0.07 -0.5,-0.02 -1.01,0.02 -1.51,0.09 -0.19,0.03 -0.2,0.33 0,0.31 0.49,-0.04 0.98,-0.04 1.48,-0.01 0.25,0.01 0.49,0.04 0.74,0.06 z"
+   id="path670" />
+			<path
+   class="st1"
+   d="m 608.64,292.23 c 0.2,0 0.2,-0.31 0,-0.31 -0.2,0 -0.2,0.31 0,0.31 z"
+   id="path672" />
+			<path
+   class="st1"
+   d="m 609.51,293.92 c 0.1,-0.05 0.08,-0.23 -0.03,-0.25 -0.05,-0.01 -0.11,-0.02 -0.16,-0.02 -0.04,0.01 -0.08,0.01 -0.13,0.02 -0.09,0.01 -0.18,0.02 -0.27,0.03 -0.18,0.02 -0.36,0.05 -0.54,0.07 -0.08,0.01 -0.17,0.07 -0.16,0.16 0,0.08 0.07,0.18 0.16,0.16 0.18,-0.02 0.37,-0.05 0.55,-0.07 0.09,-0.01 0.18,-0.02 0.27,-0.03 0.05,-0.01 0.09,-0.01 0.14,-0.02 0.06,0 0.11,-0.02 0.17,-0.05 z"
+   id="path674" />
+			<path
+   class="st1"
+   d="m 610.77,293.95 c 0.05,-0.01 0.09,-0.01 0.14,-0.02 0.03,0 0.06,-0.01 0.09,-0.01 0.01,0 0.02,0 0.03,-0.01 0.03,-0.01 0.04,-0.02 0.06,-0.04 0.03,-0.03 0.03,-0.09 0,-0.13 -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.05,-0.01 -0.09,-0.01 -0.14,-0.02 -0.03,0 -0.08,0.02 -0.1,0.04 -0.02,0.02 -0.04,0.07 -0.04,0.1 0,0.04 0.01,0.08 0.04,0.1 0.02,0.03 0.06,0.05 0.1,0.05 z"
+   id="path676" />
+			<path
+   class="st1"
+   d="m 609.98,295.51 c -0.09,0 -0.18,-0.01 -0.27,-0.01 -0.09,0 -0.17,0.08 -0.17,0.17 0,0.09 0.07,0.17 0.17,0.17 l 0.27,-0.01 c 0.05,0 0.09,0 0.14,-0.01 0.05,0 0.11,-0.02 0.16,-0.03 0.12,-0.03 0.12,-0.21 0,-0.24 -0.05,-0.01 -0.1,-0.03 -0.16,-0.03 -0.05,-0.01 -0.1,-0.01 -0.14,-0.01 z"
+   id="path678" />
+			<path
+   class="st1"
+   d="m 611.6,295.72 c 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0.01 0.02,0.02 0.04,0.02 0.02,0 0.03,0.01 0.05,0.01 0.01,0 0.02,0 0.02,0.01 0.01,0 0.02,0 0.02,0.01 0,0 0.01,0 0.01,0 0.03,0.01 0.05,0.01 0.08,0 0.02,-0.01 0.05,-0.02 0.06,-0.04 0.01,-0.01 0.02,-0.02 0.02,-0.03 0.01,-0.02 0.02,-0.05 0.02,-0.07 0,-0.02 0,-0.04 -0.01,-0.06 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.02,-0.02 -0.04,-0.03 -0.06,-0.04 -0.03,-0.01 -0.05,-0.01 -0.08,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.03,0.01 -0.01,0 -0.02,0 -0.03,0.01 -0.02,0 -0.03,0.01 -0.05,0.01 -0.01,0 -0.02,0.01 -0.03,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.03 -0.01,0.01 -0.01,0.03 -0.01,0.05 v 0.03 c 0.03,0.02 0.03,0.02 0.04,0.03 z"
+   id="path680" />
+			<path
+   class="st1"
+   d="m 611.09,301.05 c 0.09,0 0.18,-0.01 0.27,-0.02 0.1,-0.01 0.2,-0.01 0.29,-0.07 0.09,-0.06 0.11,-0.22 0,-0.27 -0.16,-0.07 -0.36,-0.05 -0.54,-0.03 -0.19,0.01 -0.38,0.03 -0.56,0.05 -0.37,0.03 -0.74,0.06 -1.11,0.08 -0.21,0.01 -0.21,0.33 0,0.32 0.37,-0.02 0.74,-0.04 1.11,-0.05 0.17,0 0.35,0 0.54,-0.01 z"
+   id="path682" />
+			<path
+   class="st1"
+   d="m 612.22,301.11 c 0.01,0 0.02,0 0.03,0.01 0.02,0 0.04,0.01 0.07,0.01 0.03,0.01 0.05,0.01 0.08,0 0.03,-0.01 0.05,-0.02 0.07,-0.04 0.01,-0.01 0.02,-0.02 0.02,-0.03 0.01,-0.02 0.02,-0.05 0.02,-0.08 0,-0.02 0,-0.04 -0.01,-0.06 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 -0.02,-0.02 -0.04,-0.03 -0.07,-0.04 -0.03,-0.01 -0.05,-0.01 -0.08,0 -0.02,0 -0.04,0.01 -0.07,0.01 -0.01,0 -0.02,0 -0.03,0.01 -0.02,0 -0.05,0.02 -0.06,0.03 l -0.02,0.03 c 0,0 0,0 0,0 0,0 0,0.01 0,0.01 -0.02,0.03 -0.02,0.08 0,0.11 0,0 0,0.01 0,0.01 0.02,0.04 0.05,0.06 0.08,0.07 z"
+   id="path684" />
+			<path
+   class="st1"
+   d="m 612.09,302.8 c 0.24,-0.01 0.47,-0.02 0.71,-0.03 0.21,-0.01 0.5,0.01 0.69,-0.1 0.08,-0.04 0.09,-0.18 0,-0.22 -0.2,-0.08 -0.45,-0.05 -0.67,-0.04 -0.25,0.01 -0.49,0.02 -0.74,0.04 -0.48,0.02 -0.97,0.05 -1.45,0.07 -0.22,0.01 -0.22,0.35 0,0.34 0.49,-0.02 0.97,-0.04 1.46,-0.06 z"
+   id="path686" />
+			<path
+   class="st1"
+   d="m 612.54,304.44 c -0.15,-0.05 -0.3,-0.03 -0.45,-0.03 -0.14,0 -0.29,0 -0.43,0 -0.29,0 -0.59,0.01 -0.88,0.01 -0.2,0 -0.2,0.31 0,0.32 0.29,0 0.59,0.01 0.88,0.01 0.14,0 0.29,0 0.43,0 0.15,0 0.31,0.01 0.45,-0.03 0.13,-0.05 0.13,-0.24 0,-0.28 z"
+   id="path688" />
+			<path
+   class="st1"
+   d="m 614.09,304.86 c 0.19,0 0.19,-0.3 0,-0.3 -0.19,0 -0.19,0.3 0,0.3 z"
+   id="path690" />
+			<path
+   class="st1"
+   d="m 612.63,306.73 c 0.2,0 0.2,-0.32 0,-0.32 -0.2,0 -0.2,0.32 0,0.32 z"
+   id="path692" />
+			<path
+   class="st1"
+   d="m 614.15,309.48 c 0.18,-0.01 0.38,0 0.52,-0.11 -0.03,0.02 -0.05,0.03 -0.08,0.05 0.08,-0.02 0.16,-0.03 0.22,-0.08 0.07,-0.05 0.09,-0.16 0,-0.21 -0.07,-0.04 -0.15,-0.05 -0.23,-0.05 -0.14,-0.05 -0.31,-0.03 -0.45,-0.01 -0.17,0.01 -0.33,0.03 -0.5,0.05 -0.33,0.03 -0.67,0.06 -1,0.09 -0.22,0.02 -0.23,0.36 0,0.35 0.34,-0.01 0.68,-0.03 1.02,-0.04 0.17,-0.03 0.34,-0.03 0.5,-0.04 z"
+   id="path694" />
+			<path
+   class="st1"
+   d="m 615.53,309.23 c 0,0.09 0.07,0.16 0.16,0.16 0.09,0 0.19,0 0.28,0 0.05,0 0.09,0 0.14,0 0.05,0 0.09,0 0.13,-0.03 0.02,-0.01 0.05,-0.03 0.07,-0.05 0.04,-0.04 0.04,-0.12 0,-0.16 -0.02,-0.02 -0.04,-0.04 -0.07,-0.05 -0.04,-0.03 -0.08,-0.03 -0.13,-0.03 h -0.14 c -0.09,0 -0.19,0 -0.28,0 -0.08,0 -0.16,0.07 -0.16,0.16 z"
+   id="path696" />
+			<path
+   class="st1"
+   d="m 615.58,311.04 c 0.08,-0.02 0.08,-0.15 0,-0.17 -0.08,-0.02 -0.16,-0.03 -0.24,-0.03 -0.09,-0.01 -0.17,-0.02 -0.26,-0.03 -0.17,-0.01 -0.33,-0.01 -0.5,-0.01 -0.34,-0.01 -0.68,-0.01 -1.02,-0.01 -0.21,0 -0.21,0.33 0,0.33 0.34,0 0.68,0 1.02,-0.01 0.17,0 0.33,0 0.5,-0.01 0.08,0 0.16,-0.02 0.24,-0.03 0.09,0 0.17,0 0.26,-0.03 z"
+   id="path698" />
+			<path
+   class="st1"
+   d="m 615.42,315.87 c -0.18,0 -0.18,0.28 0,0.28 h 0.54 c 0.18,0 0.37,0.01 0.55,-0.04 0.09,-0.03 0.09,-0.16 0,-0.19 -0.17,-0.05 -0.37,-0.04 -0.55,-0.04 h -0.54 z"
+   id="path700" />
+			<path
+   class="st1"
+   d="m 617.82,315.97 c -0.06,0 -0.06,0.09 0,0.09 0.06,0 0.06,-0.09 0,-0.09 z"
+   id="path702" />
+			<path
+   class="st1"
+   d="m 616.3,317.79 c -0.16,0.02 -0.32,0.04 -0.47,0.06 -0.09,0.01 -0.17,0.08 -0.16,0.18 0.01,0.1 0.1,0.15 0.2,0.13 l 0.47,-0.08 c 0.08,-0.01 0.16,-0.03 0.23,-0.05 0.04,-0.01 0.07,-0.02 0.11,-0.02 0.05,-0.01 0.09,-0.03 0.13,-0.05 0.08,-0.03 0.06,-0.18 -0.02,-0.19 -0.05,-0.01 -0.09,-0.01 -0.14,-0.01 -0.04,0 -0.07,0 -0.11,0.01 -0.09,0 -0.16,0.01 -0.24,0.02 z"
+   id="path704" />
+			<path
+   class="st1"
+   d="m 618.08,317.91 c -0.13,0 -0.13,0.2 0,0.2 0.13,0 0.13,-0.2 0,-0.2 z"
+   id="path706" />
+			<path
+   class="st1"
+   d="m 616.55,320.3 h -0.2 c -0.06,0 -0.11,0.05 -0.11,0.11 0,0.06 0.05,0.11 0.11,0.11 h 0.2 c 0.07,0 0.13,-0.01 0.2,-0.02 0.02,0 0.04,-0.01 0.06,-0.03 0.02,-0.02 0.03,-0.04 0.03,-0.06 0,-0.05 -0.04,-0.08 -0.09,-0.09 -0.06,-0.02 -0.13,-0.02 -0.2,-0.02 z"
+   id="path708" />
+			<path
+   class="st1"
+   d="m 617.95,322.54 c 0.18,0 0.18,-0.28 0,-0.28 -0.18,0 -0.18,0.28 0,0.28 z"
+   id="path710" />
+			<path
+   class="st1"
+   d="m 618.8,331.09 c 0.32,-0.08 0.65,-0.11 0.98,-0.1 0.33,0.01 0.67,0.09 1,0.05 0.1,-0.01 0.13,-0.16 0.06,-0.22 -0.29,-0.24 -0.69,-0.27 -1.06,-0.26 -0.37,0.01 -0.73,0.07 -1.08,0.18 -0.23,0.06 -0.14,0.4 0.1,0.35 z"
+   id="path712" />
+			<path
+   class="st1"
+   d="m 621.32,331.13 c 0.02,0.02 0.03,0.03 0.06,0.03 0.02,0.01 0.04,0.01 0.07,0 l 0.07,-0.01 c 0.01,0 0.01,0 0.02,0 0.03,-0.01 0.06,-0.03 0.07,-0.05 0.01,-0.02 0.02,-0.03 0.02,-0.05 0,-0.02 -0.01,-0.04 -0.02,-0.05 -0.02,-0.03 -0.04,-0.04 -0.07,-0.05 -0.01,0 -0.01,0 -0.02,0 l -0.07,-0.01 c -0.02,-0.01 -0.04,-0.01 -0.07,0 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.02,0.02 -0.04,0.05 -0.04,0.09 0,0.02 0,0.03 0.01,0.05 0.01,-0.01 0.02,0.01 0.03,0.02 z"
+   id="path714" />
+			<path
+   class="st1"
+   d="m 620.35,332.61 c -0.23,0.03 -0.45,0.05 -0.68,0.08 -0.1,0.01 -0.19,0.08 -0.19,0.19 0,0.1 0.09,0.2 0.19,0.19 l 0.69,-0.06 c 0.11,-0.01 0.23,-0.02 0.34,-0.04 0.13,-0.02 0.27,-0.02 0.38,-0.09 0.12,-0.08 0.09,-0.24 -0.04,-0.29 -0.11,-0.04 -0.24,-0.02 -0.36,-0.01 -0.1,0.01 -0.21,0.01 -0.33,0.03 z"
+   id="path716" />
+			<path
+   class="st1"
+   d="m 620.05,334.39 c -0.07,0.01 -0.14,0.02 -0.21,0.04 -0.07,0.02 -0.13,0.04 -0.2,0.06 -0.04,0.01 -0.08,0.04 -0.1,0.08 -0.02,0.04 -0.03,0.09 -0.02,0.13 0.01,0.04 0.04,0.08 0.08,0.1 0.04,0.02 0.09,0.03 0.13,0.02 0.07,-0.03 0.13,-0.05 0.2,-0.08 0.08,-0.03 0.15,-0.07 0.22,-0.1 0.06,-0.03 0.08,-0.11 0.05,-0.16 -0.01,-0.03 -0.03,-0.05 -0.05,-0.06 -0.03,-0.04 -0.06,-0.04 -0.1,-0.03 z"
+   id="path718" />
+			<path
+   class="st1"
+   d="m 621.94,334.64 c 0.18,0 0.18,-0.28 0,-0.28 -0.18,0 -0.18,0.28 0,0.28 z"
+   id="path720" />
+			<path
+   class="st1"
+   d="m 620.83,336.87 c -0.09,0.02 -0.14,0.12 -0.11,0.2 0.03,0.09 0.11,0.13 0.2,0.11 0.28,-0.05 0.57,-0.05 0.84,0 0.14,0.03 0.28,0.06 0.42,0.09 0.14,0.04 0.28,0.09 0.42,0.1 0.06,0 0.11,-0.08 0.07,-0.13 -0.09,-0.12 -0.24,-0.2 -0.38,-0.26 -0.16,-0.07 -0.31,-0.11 -0.48,-0.14 -0.32,-0.04 -0.65,-0.04 -0.98,0.03 z"
+   id="path722" />
+			<path
+   class="st1"
+   d="m 623.83,337.53 c 0.07,0 0.14,0 0.21,0 0.08,0 0.17,0.01 0.23,-0.05 0.03,-0.03 0.03,-0.09 0,-0.13 -0.06,-0.06 -0.15,-0.05 -0.22,-0.05 -0.07,0 -0.14,0 -0.22,0 l -0.42,0.01 c -0.13,0 -0.13,0.2 0,0.2 z"
+   id="path724" />
+			<path
+   class="st1"
+   d="m 623,339.2 c 0.23,0 0.23,-0.35 0,-0.35 -0.22,-0.01 -0.22,0.35 0,0.35 z"
+   id="path726" />
+			<path
+   class="st1"
+   d="m 624.07,339.4 c -0.19,0 -0.19,0.29 0,0.29 0.19,0 0.19,-0.29 0,-0.29 z"
+   id="path728" />
+			<path
+   class="st1"
+   d="m 623.94,346.86 c 0.36,0.02 0.72,0.05 1.08,0.06 0.18,0 0.36,0.01 0.54,0.01 0.17,0 0.35,0.01 0.51,-0.04 0.04,-0.01 0.05,-0.07 0.01,-0.09 -0.16,-0.07 -0.33,-0.08 -0.49,-0.1 -0.18,-0.03 -0.37,-0.04 -0.55,-0.06 -0.37,-0.04 -0.74,-0.05 -1.11,-0.07 -0.19,-0.02 -0.18,0.28 0.01,0.29 z"
+   id="path730" />
+			<path
+   class="st1"
+   d="m 626.46,346.81 c -0.07,0 -0.07,0.11 0,0.11 0.07,0 0.07,-0.11 0,-0.11 z"
+   id="path732" />
+			<path
+   class="st1"
+   d="m 623.55,345.02 c -0.07,0.05 -0.06,0.17 -0.01,0.23 0.05,0.06 0.16,0.1 0.23,0.05 0.04,-0.03 0.08,-0.06 0.13,-0.08 0.03,-0.01 0.05,-0.03 0.08,-0.04 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0.02,-0.01 0.04,-0.01 0.05,-0.02 0.1,-0.03 0.14,-0.04 0.02,-0.01 0.05,-0.01 0.07,-0.01 0,0 0.01,0 0.02,0 0.01,0 0.03,0 0.03,0 0.05,0 0.1,-0.01 0.15,0 0.03,0 0.05,0 0.08,0 0.01,0 0.01,0 0.01,0 0.01,0 0.02,0 0.03,0 0.04,0.01 0.07,0.01 0.11,0.01 0.01,0 0.01,0 0.01,0 0,0 0,0 0,0 0.01,0 0.02,0 0.04,0.01 0.05,0.01 0.09,0.01 0.14,0 0.01,0 0.02,-0.01 0.03,-0.01 0,0 0.02,-0.01 0.04,-0.01 0.08,-0.04 0.12,-0.11 0.08,-0.19 -0.06,-0.14 -0.23,-0.19 -0.38,-0.21 -0.13,-0.01 -0.25,-0.01 -0.38,0.01 -0.26,0.03 -0.49,0.14 -0.69,0.29 z"
+   id="path734" />
+			<path
+   class="st1"
+   d="m 625.72,350.22 c -0.11,0.01 -0.22,0.01 -0.33,0.02 -0.22,0.02 -0.44,0.04 -0.66,0.07 -0.08,0.01 -0.15,0.06 -0.15,0.14 0,0.07 0.07,0.15 0.15,0.15 0.23,-0.02 0.45,-0.04 0.68,-0.07 0.12,-0.01 0.23,-0.03 0.35,-0.05 0.11,-0.02 0.22,-0.05 0.33,-0.07 0.11,-0.02 0.08,-0.18 -0.03,-0.18 -0.11,0 -0.22,-0.01 -0.34,-0.01 z"
+   id="path736" />
+			<path
+   class="st1"
+   d="m 627.53,350.26 c 0.06,-0.02 0.13,-0.03 0.19,-0.04 0.06,-0.01 0.12,-0.02 0.19,-0.03 0.08,0 0.15,-0.08 0.13,-0.16 -0.02,-0.08 -0.12,-0.12 -0.19,-0.08 -0.11,0.07 -0.23,0.13 -0.35,0.18 -0.13,0.05 -0.25,0.1 -0.38,0.15 -0.06,0.02 -0.04,0.12 0.03,0.1 0.12,-0.04 0.25,-0.08 0.38,-0.12 z"
+   id="path738" />
+			<path
+   class="st1"
+   d="m 625.91,351.83 c -0.02,0.04 -0.03,0.09 -0.02,0.13 0.03,0.09 0.12,0.15 0.22,0.12 0.11,-0.03 0.22,-0.05 0.34,-0.08 0.06,-0.01 0.11,-0.03 0.17,-0.04 0.06,-0.01 0.12,-0.05 0.18,-0.07 0.05,-0.02 0.07,-0.1 0.06,-0.14 -0.02,-0.05 -0.07,-0.09 -0.12,-0.09 -0.03,0 -0.06,0 -0.09,0 -0.04,0 -0.07,0.01 -0.11,0.01 -0.06,0.01 -0.11,0.02 -0.17,0.03 -0.11,0.02 -0.23,0.04 -0.34,0.06 -0.05,0 -0.1,0.04 -0.12,0.07 z"
+   id="path740" />
+			<path
+   class="st1"
+   d="m 628.06,352.15 c 0.13,0 0.13,-0.2 0,-0.2 -0.13,0 -0.13,0.2 0,0.2 z"
+   id="path742" />
+			<path
+   class="st1"
+   d="m 627.58,353.65 c -0.14,-0.07 -0.31,-0.08 -0.46,-0.09 -0.16,-0.01 -0.33,-0.03 -0.49,-0.04 -0.32,-0.02 -0.65,-0.04 -0.97,-0.07 -0.22,-0.01 -0.21,0.32 0,0.34 0.32,0.02 0.63,0.04 0.95,0.06 0.16,0.01 0.32,0.02 0.47,0.03 0.15,0.01 0.32,0.02 0.47,-0.03 0.09,-0.02 0.13,-0.15 0.03,-0.2 z"
+   id="path744" />
+			<path
+   class="st1"
+   d="m 628.59,353.93 c 0.09,0 0.19,0 0.28,0 0.05,0 0.09,0 0.14,0 0.04,0 0.07,-0.01 0.1,-0.02 0.04,-0.02 0.08,-0.03 0.1,-0.07 0.02,-0.04 0.02,-0.08 0,-0.11 -0.02,-0.04 -0.06,-0.06 -0.1,-0.07 -0.03,-0.01 -0.06,-0.02 -0.1,-0.02 -0.05,0 -0.09,0 -0.14,0 -0.09,0 -0.19,0 -0.28,0 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.07 0.07,0.14 0.15,0.14 z"
+   id="path746" />
+			<path
+   class="st1"
+   d="m 627.4,355.79 c -0.03,0.03 -0.05,0.08 -0.05,0.12 0,0.05 0.02,0.09 0.05,0.12 0.03,0.03 0.08,0.06 0.12,0.05 l 0.2,-0.03 0.1,-0.01 c 0.02,0 0.05,-0.01 0.07,-0.01 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.05,-0.01 0.09,-0.06 0.08,-0.11 0,-0.05 -0.03,-0.09 -0.08,-0.11 -0.02,0 -0.03,-0.01 -0.05,-0.01 -0.03,-0.01 -0.05,-0.01 -0.08,-0.01 -0.03,0 -0.07,-0.01 -0.1,-0.01 -0.07,-0.01 -0.14,-0.02 -0.2,-0.03 -0.03,0 -0.08,0.03 -0.11,0.06 z"
+   id="path748" />
+			<path
+   class="st1"
+   d="m 628.86,356.2 c 0.2,0 0.2,-0.31 0,-0.31 -0.2,0 -0.2,0.31 0,0.31 z"
+   id="path750" />
+			<path
+   class="st1"
+   d="m 627.34,357.9 c 0,0.1 0.09,0.2 0.19,0.19 0.25,-0.02 0.51,-0.05 0.76,-0.07 0.13,-0.01 0.26,-0.02 0.39,-0.05 0.12,-0.03 0.26,-0.04 0.37,-0.11 0.09,-0.06 0.06,-0.17 -0.03,-0.2 -0.11,-0.05 -0.26,-0.03 -0.37,-0.04 -0.12,-0.01 -0.25,0.01 -0.37,0.02 -0.25,0.02 -0.5,0.05 -0.75,0.07 -0.11,0.01 -0.19,0.08 -0.19,0.19 z"
+   id="path752" />
+			<path
+   class="st1"
+   d="m 629.8,358.17 c 0.01,0.01 0.02,0.01 0.04,0.02 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.04,0.02 0.06,0.02 0.03,0 0.06,0 0.09,0 0.01,0 0.02,0 0.03,0 0.02,0 0.04,0 0.06,-0.02 0.02,-0.01 0.04,-0.04 0.04,-0.06 0,-0.02 -0.01,-0.04 -0.02,-0.06 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.02,-0.02 -0.03,-0.05 -0.05,-0.07 -0.03,-0.03 -0.07,-0.05 -0.1,-0.07 -0.02,-0.01 -0.05,-0.03 -0.07,-0.04 -0.03,-0.02 -0.07,-0.03 -0.11,-0.01 -0.03,0.01 -0.07,0.04 -0.09,0.07 -0.02,0.03 -0.03,0.08 -0.01,0.11 0.01,0.04 0.03,0.07 0.07,0.09 0.01,0.01 0.03,0.03 0.06,0.04 z"
+   id="path754" />
+			<path
+   class="st1"
+   d="m 628.06,359.58 c -0.2,0.01 -0.2,0.33 0,0.32 0.35,-0.02 0.69,-0.04 1.04,-0.06 0.17,-0.01 0.34,-0.02 0.51,-0.03 0.09,-0.01 0.17,-0.02 0.25,-0.03 0.08,-0.01 0.18,-0.02 0.25,-0.07 0.06,-0.04 0.08,-0.14 0,-0.18 -0.08,-0.04 -0.16,-0.04 -0.25,-0.04 -0.08,0 -0.16,0 -0.23,0 -0.18,0.01 -0.35,0.02 -0.53,0.03 -0.35,0.01 -0.7,0.04 -1.04,0.06 z"
+   id="path756" />
+			<path
+   class="st1"
+   d="m 630.58,359.92 c 0.05,0 0.1,0 0.14,0 0.03,0 0.07,0 0.1,-0.01 0.02,-0.01 0.04,-0.01 0.06,-0.02 0.03,-0.01 0.04,-0.04 0.06,-0.06 0.02,-0.03 0.02,-0.08 0,-0.12 -0.02,-0.02 -0.03,-0.05 -0.06,-0.06 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.03,-0.01 -0.07,-0.01 -0.1,-0.01 -0.05,0 -0.1,0 -0.14,0 -0.04,0 -0.08,0.02 -0.11,0.05 -0.03,0.03 -0.05,0.07 -0.05,0.11 0,0.04 0.02,0.08 0.05,0.11 0.04,0.01 0.07,0.03 0.11,0.03 z"
+   id="path758" />
+			<path
+   class="st1"
+   d="m 629.39,361.47 c -0.21,0 -0.21,0.32 0,0.32 0.2,0 0.2,-0.32 0,-0.32 z"
+   id="path760" />
+			<path
+   class="st1"
+   d="m 630.45,362.46 c 0.22,0 0.22,-0.34 0,-0.34 -0.21,0.01 -0.21,0.34 0,0.34 z"
+   id="path762" />
+			<path
+   class="st1"
+   d="m 629.79,364.16 c 0.18,0 0.18,-0.28 0,-0.28 -0.19,0 -0.19,0.28 0,0.28 z"
+   id="path764" />
+			<path
+   class="st1"
+   d="m 629.79,365.24 c 0.41,-0.02 0.81,-0.03 1.22,-0.05 0.2,-0.01 0.41,-0.01 0.61,-0.03 0.09,-0.01 0.19,-0.01 0.28,-0.02 0.11,-0.01 0.21,-0.05 0.32,-0.08 0.16,-0.03 0.1,-0.25 -0.04,-0.26 -0.1,-0.01 -0.2,-0.04 -0.31,-0.04 -0.1,0 -0.2,0.01 -0.31,0.01 -0.2,0.01 -0.39,0.02 -0.59,0.03 -0.4,0.03 -0.8,0.05 -1.2,0.08 -0.21,0.02 -0.21,0.37 0.02,0.36 z"
+   id="path766" />
+			<path
+   class="st1"
+   d="m 630.32,367.32 c -0.2,0 -0.2,0.31 0,0.31 0.2,0 0.2,-0.31 0,-0.31 z"
+   id="path768" />
+			<path
+   class="st1"
+   d="m 633.38,367.1 c -0.15,0 -0.15,0.23 0,0.23 0.14,0 0.15,-0.23 0,-0.23 z"
+   id="path770" />
+			<path
+   class="st1"
+   d="m 631.25,369.45 c 0.48,-0.03 0.95,-0.06 1.42,-0.11 0.24,-0.02 0.47,-0.06 0.71,-0.09 0.11,-0.01 0.22,-0.02 0.33,-0.02 0.12,0 0.25,0.01 0.36,-0.03 0.08,-0.03 0.11,-0.17 0,-0.2 -0.11,-0.02 -0.22,0.01 -0.33,0.02 -0.12,0.02 -0.24,0.03 -0.36,0.04 -0.24,0.02 -0.48,0.02 -0.71,0.03 -0.48,0.03 -0.95,0.08 -1.42,0.13 -0.14,0.02 -0.14,0.24 0,0.23 z"
+   id="path772" />
+			<path
+   class="st1"
+   d="m 632.64,370.82 c 0.07,0 0.13,0 0.2,0 0.09,0 0.16,0.01 0.23,-0.05 0.04,-0.03 0.05,-0.11 0.02,-0.15 -0.05,-0.08 -0.12,-0.09 -0.21,-0.1 -0.08,-0.01 -0.16,-0.02 -0.24,-0.03 -0.16,0 -0.31,0.01 -0.47,0.03 -0.31,0.04 -0.6,0.14 -0.88,0.27 -0.09,0.04 -0.11,0.16 -0.06,0.24 0.05,0.09 0.15,0.1 0.24,0.06 0.24,-0.12 0.51,-0.2 0.78,-0.24 0.13,-0.02 0.26,-0.03 0.39,-0.03 z"
+   id="path774" />
+			<path
+   class="st1"
+   d="m 633.89,378.37 h -0.51 c -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 h 0.51 c 0.06,0 0.13,-0.02 0.19,-0.03 0.12,-0.02 0.12,-0.22 0,-0.24 -0.07,-0.02 -0.13,-0.03 -0.19,-0.03 z"
+   id="path776" />
+			<path
+   class="st1"
+   d="m 634.31,380.51 c 0.17,0 0.17,-0.27 0,-0.27 -0.17,0.01 -0.17,0.27 0,0.27 z"
+   id="path778" />
+			<path
+   class="st1"
+   d="m 634.06,382.95 c -0.23,0.02 -0.45,0.04 -0.68,0.07 -0.09,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.17 0.16,0.16 0.23,-0.02 0.46,-0.05 0.69,-0.07 0.11,-0.01 0.23,-0.02 0.34,-0.04 0.13,-0.02 0.25,-0.02 0.36,-0.08 0.1,-0.05 0.07,-0.2 -0.03,-0.23 -0.11,-0.03 -0.23,-0.01 -0.35,0 -0.11,0 -0.22,0.01 -0.33,0.03 z"
+   id="path780" />
+			<path
+   class="st1"
+   d="m 636.17,383.11 0.41,0.01 h 0.2 c 0.09,0 0.22,-0.03 0.28,-0.09 0.07,-0.07 0.07,-0.17 0,-0.25 -0.06,-0.07 -0.19,-0.09 -0.28,-0.09 h -0.2 c -0.14,0 -0.27,0 -0.41,0.01 -0.11,0 -0.21,0.09 -0.21,0.21 0.01,0.11 0.09,0.2 0.21,0.2 z"
+   id="path782" />
+			<path
+   class="st1"
+   d="m 634.29,384.9 c 0,0.08 0.07,0.16 0.15,0.15 0.21,-0.02 0.41,-0.05 0.62,-0.07 0.1,-0.01 0.2,-0.02 0.31,-0.03 0.12,-0.01 0.23,-0.02 0.33,-0.08 0.1,-0.06 0.07,-0.2 -0.03,-0.23 -0.11,-0.03 -0.21,-0.01 -0.32,0 -0.1,0.01 -0.2,0.02 -0.31,0.03 -0.2,0.02 -0.41,0.05 -0.61,0.07 -0.07,0.02 -0.14,0.07 -0.14,0.16 z"
+   id="path784" />
+			<path
+   class="st1"
+   d="m 637.05,384.9 c -0.01,0.01 -0.01,0.03 -0.02,0.05 0,0.01 0,0.01 -0.01,0.02 -0.01,0.01 -0.01,0.03 -0.02,0.04 0,0.02 0,0.03 0,0.05 0,0.02 0.01,0.03 0.02,0.04 0.01,0.01 0.03,0.02 0.04,0.02 0.02,0 0.03,0 0.05,0 0.01,0 0.03,-0.01 0.04,-0.01 0.02,-0.01 0.05,-0.02 0.07,-0.03 0.03,-0.01 0.05,-0.03 0.08,-0.04 0.05,-0.03 0.08,-0.08 0.08,-0.13 0,-0.01 0,-0.03 -0.01,-0.04 -0.01,-0.03 -0.02,-0.05 -0.04,-0.07 -0.01,-0.02 -0.03,-0.03 -0.05,-0.03 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.05,0 -0.11,0.03 -0.13,0.08 -0.01,0.01 -0.02,0.04 -0.04,0.06 z"
+   id="path786" />
+			<path
+   class="st1"
+   d="m 636.97,387.5 c -0.53,-0.04 -1.06,-0.11 -1.6,-0.13 -0.53,-0.02 -1.06,-0.02 -1.6,-0.02 -0.23,0 -0.23,0.35 0,0.35 0.53,0 1.06,0.01 1.6,0 0.53,-0.02 1.06,-0.08 1.6,-0.11 0.05,-0.01 0.05,-0.08 0,-0.09 z"
+   id="path788" />
+			<path
+   class="st1"
+   d="m 637.77,387.51 c -0.07,0 -0.07,0.11 0,0.11 0.07,0 0.07,-0.11 0,-0.11 z"
+   id="path790" />
+			<path
+   class="st1"
+   d="m 631.25,391.35 c 0.47,-0.02 0.95,-0.04 1.42,-0.07 0.24,-0.01 0.48,-0.03 0.71,-0.05 0.23,-0.02 0.47,-0.01 0.7,-0.08 0.13,-0.04 0.15,-0.25 0,-0.29 -0.23,-0.05 -0.46,-0.02 -0.7,-0.02 -0.24,0 -0.47,0 -0.71,0.01 -0.47,0.02 -0.95,0.04 -1.42,0.06 -0.28,0.02 -0.28,0.45 0,0.44 z"
+   id="path792" />
+			<path
+   class="st1"
+   d="m 637.28,390.53 c -0.05,0.02 -0.09,0.05 -0.14,0.07 -0.04,0.02 -0.07,0.06 -0.08,0.1 -0.01,0.02 -0.01,0.05 0,0.07 0,0.02 0.01,0.04 0.02,0.06 0.02,0.04 0.06,0.07 0.1,0.08 0.05,0.01 0.09,0 0.13,-0.02 0.05,-0.02 0.09,-0.05 0.14,-0.07 0.02,-0.01 0.04,-0.02 0.07,-0.03 0.02,-0.01 0.04,-0.02 0.05,-0.03 0.01,-0.01 0.02,-0.03 0.03,-0.04 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.03,-0.04 0.02,-0.1 0,-0.14 -0.03,-0.05 -0.07,-0.07 -0.12,-0.07 -0.01,0 -0.02,0 -0.04,0 -0.04,0 -0.07,0.01 -0.11,0.03 -0.03,-0.01 -0.05,0 -0.07,0.02 z"
+   id="path794" />
+			<path
+   class="st1"
+   d="m 632.59,392.76 c 0.01,0.08 0.08,0.12 0.16,0.1 0.39,-0.06 0.79,-0.12 1.18,-0.19 0.07,-0.01 0.05,-0.13 -0.02,-0.13 -0.4,0.01 -0.8,0.05 -1.2,0.07 -0.07,0.02 -0.13,0.08 -0.12,0.15 z"
+   id="path796" />
+			<path
+   class="st1"
+   d="m 637.5,392.29 c -0.01,0.02 -0.01,0.04 -0.01,0.06 0,0.02 0,0.04 0.01,0.06 0.01,0.02 0.02,0.03 0.03,0.05 0.01,0.01 0.02,0.02 0.03,0.02 0.02,0.01 0.05,0.02 0.07,0.02 0.01,0 0.03,0 0.04,-0.01 0.02,-0.01 0.05,-0.02 0.06,-0.04 0.02,-0.02 0.05,-0.05 0.07,-0.07 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.01,-0.01 0.02,-0.02 0.03,-0.04 0,-0.01 0.01,-0.02 0.01,-0.03 v -0.04 c 0,0 0,0 0,0 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.01 -0.01,-0.03 -0.02,-0.04 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 h -0.02 c 0,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.02,0 -0.04,0.01 -0.05,0.02 -0.01,0.01 -0.02,0.01 -0.03,0.02 0,0 0,0 0,0 0,0 0,0 0,0 l -0.11,0.1 c -0.01,0.02 -0.02,0.03 -0.03,0.05 z"
+   id="path798" />
+			<path
+   class="st1"
+   d="m 631.16,395.31 c 0.38,-0.07 0.77,-0.14 1.15,-0.2 0.19,-0.03 0.38,-0.07 0.58,-0.1 0.19,-0.04 0.39,-0.06 0.56,-0.15 0.11,-0.06 0.1,-0.26 -0.04,-0.28 -0.2,-0.03 -0.39,0.02 -0.58,0.05 -0.2,0.03 -0.4,0.07 -0.6,0.1 -0.39,0.07 -0.78,0.14 -1.17,0.21 -0.1,0.02 -0.16,0.15 -0.14,0.24 0.03,0.1 0.14,0.15 0.24,0.13 z"
+   id="path800" />
+			<path
+   class="st1"
+   d="m 637.1,394.4 c -0.13,0.01 -0.23,0.1 -0.21,0.24 0.01,0.06 0.03,0.1 0.08,0.14 0.06,0.04 0.12,0.05 0.19,0.04 0.18,-0.03 0.36,-0.05 0.54,-0.08 0.09,-0.01 0.18,-0.03 0.27,-0.05 0.04,-0.01 0.08,-0.02 0.12,-0.03 0.05,-0.01 0.1,-0.03 0.15,-0.06 0.11,-0.06 0.08,-0.23 -0.03,-0.26 -0.05,-0.01 -0.11,-0.02 -0.16,-0.02 l -0.13,0.01 c -0.09,0 -0.18,0.01 -0.27,0.02 -0.19,0.01 -0.37,0.03 -0.55,0.05 z"
+   id="path802" />
+			<path
+   class="st1"
+   d="m 639.27,394.63 c 0.04,-0.01 0.08,-0.02 0.12,-0.03 0.01,0 0.02,0 0,0 0.01,0 0.02,0 0.03,0 0.02,0 0.04,0 0.06,0 0.02,0 0.04,0 0.06,0 0.01,0 0.03,0 0.04,0 0.04,0.01 0.08,0.01 0.11,0.02 0.02,0.01 0.04,0.01 0.05,0.02 0.01,0 0.02,0.01 0.03,0.01 0.02,0.01 -0.02,-0.01 0,0 0.04,0.02 0.09,0.04 0.14,0.06 0.01,0.01 -0.01,-0.01 0.01,0 0.01,0 0.02,0.01 0.02,0.01 0.02,0.01 0.04,0.02 0.05,0.03 0.04,0.02 0.07,0.05 0.12,0.06 0.07,0.02 0.12,-0.04 0.11,-0.11 -0.01,-0.09 -0.11,-0.18 -0.18,-0.23 -0.08,-0.07 -0.18,-0.11 -0.29,-0.14 -0.19,-0.05 -0.4,-0.05 -0.6,0.01 -0.07,0.02 -0.13,0.1 -0.1,0.18 0.06,0.08 0.14,0.14 0.22,0.11 z"
+   id="path804" />
+			<path
+   class="st1"
+   d="m 632.98,396.49 c 0.2,0 0.2,-0.31 0,-0.31 -0.2,0 -0.2,0.31 0,0.31 z"
+   id="path806" />
+			<path
+   class="st1"
+   d="m 636.39,396.11 c 0.04,-0.01 0.07,-0.01 0.11,-0.02 0.05,-0.01 0.09,-0.02 0.13,-0.05 0.08,-0.05 0.07,-0.18 -0.03,-0.21 -0.05,-0.01 -0.09,-0.02 -0.14,-0.01 -0.04,0 -0.07,0.01 -0.11,0.01 -0.08,0.01 -0.16,0.01 -0.24,0.02 -0.16,0.02 -0.32,0.04 -0.47,0.06 -0.1,0.01 -0.18,0.08 -0.16,0.19 0.01,0.1 0.11,0.15 0.2,0.14 0.16,-0.02 0.32,-0.05 0.47,-0.07 0.08,-0.03 0.16,-0.04 0.24,-0.06 z"
+   id="path808" />
+			<path
+   class="st1"
+   d="m 638.75,395.86 c 0.23,-0.04 0.46,-0.08 0.69,-0.13 0.12,-0.03 0.24,-0.05 0.35,-0.1 0.05,-0.02 0.09,-0.03 0.14,-0.05 0.07,-0.02 0.12,-0.05 0.18,-0.09 0.08,-0.06 0.03,-0.19 -0.05,-0.21 -0.11,-0.03 -0.23,0 -0.35,0 -0.12,0 -0.26,0.03 -0.38,0.06 -0.23,0.04 -0.46,0.1 -0.69,0.14 -0.1,0.02 -0.17,0.14 -0.14,0.24 0.04,0.12 0.14,0.16 0.25,0.14 z"
+   id="path810" />
+			<path
+   class="st1"
+   d="m 641.22,395.57 c 0.22,0.01 0.43,0.01 0.65,0.02 0.22,0.01 0.44,0.02 0.65,0.01 0.24,-0.01 0.24,-0.36 0,-0.38 -0.22,-0.01 -0.44,0 -0.65,0.01 -0.22,0.01 -0.43,0.01 -0.65,0.02 -0.2,0 -0.21,0.31 0,0.32 z"
+   id="path812" />
+			<path
+   class="st1"
+   d="m 633.2,397.39 c -0.64,0.07 -1.28,0.13 -1.92,0.18 -0.62,0.04 -1.25,0.08 -1.87,0.1 -0.63,0.02 -1.31,-0.05 -1.92,0.09 -0.15,0.03 -0.14,0.26 0,0.29 0.6,0.15 1.3,0.07 1.92,0.05 0.66,-0.02 1.33,-0.06 1.99,-0.12 0.62,-0.06 1.24,-0.13 1.86,-0.21 0.64,-0.09 1.31,-0.14 1.91,-0.39 0.09,-0.04 0.03,-0.16 -0.05,-0.17 -0.65,-0.05 -1.29,0.1 -1.92,0.18 z"
+   id="path814" />
+			<path
+   class="st1"
+   d="m 636.87,397.11 c 0.03,-0.01 0.04,-0.04 0.06,-0.06 0.02,-0.04 0.02,-0.1 -0.02,-0.13 -0.02,-0.02 -0.04,-0.04 -0.07,-0.04 -0.02,-0.01 -0.04,0 -0.06,0 -0.02,0 -0.03,0 -0.05,0 -0.01,0 -0.04,0.01 -0.05,0 0,0 -0.01,0 -0.01,0 -0.03,-0.01 -0.05,-0.01 -0.08,0 -0.04,0 -0.08,0.01 -0.12,0.01 -0.12,0.02 -0.24,0.05 -0.36,0.08 -0.09,0.02 -0.15,0.13 -0.12,0.22 0.03,0.1 0.12,0.14 0.22,0.12 0.12,-0.02 0.24,-0.04 0.35,-0.06 0.03,-0.01 0.06,-0.02 0.08,-0.03 0.02,-0.01 0.05,-0.02 0.07,-0.03 0.01,0 0.01,-0.01 0.02,-0.01 0.01,-0.01 0.01,-0.01 -0.01,0 0.03,0 0.06,-0.02 0.09,-0.03 0.02,-0.03 0.05,-0.03 0.06,-0.04 z"
+   id="path816" />
+			<path
+   class="st1"
+   d="m 637.23,397.09 c 1.01,-0.02 2.03,-0.02 3.04,-0.04 0.5,-0.01 0.99,-0.01 1.49,-0.03 0.25,-0.01 0.5,-0.02 0.75,-0.03 0.23,-0.01 0.46,0.01 0.66,-0.1 0.11,-0.06 0.12,-0.25 0,-0.31 -0.22,-0.1 -0.43,-0.07 -0.66,-0.06 -0.23,0.01 -0.46,0.02 -0.69,0.03 -0.52,0.02 -1.03,0.07 -1.55,0.1 -1.01,0.06 -2.03,0.15 -3.04,0.21 -0.14,0.01 -0.15,0.23 0,0.23 z"
+   id="path818" />
+			<path
+   class="st1"
+   d="m 637.1,397.91 c -0.03,-0.01 -0.06,-0.01 -0.09,-0.01 -0.05,0 -0.1,-0.01 -0.15,-0.01 -0.09,-0.01 -0.18,-0.01 -0.27,0 -0.19,0.01 -0.38,0.02 -0.56,0.03 -0.08,0 -0.16,0.07 -0.16,0.16 0,0.09 0.07,0.16 0.16,0.16 0.19,0.01 0.38,0.02 0.56,0.03 0.09,0 0.18,0 0.27,0 0.05,0 0.1,-0.01 0.15,-0.01 0.03,0 0.06,0 0.09,-0.01 0.04,-0.01 0.07,-0.04 0.1,-0.06 0.06,-0.04 0.05,-0.16 0,-0.2 -0.03,-0.05 -0.06,-0.08 -0.1,-0.08 z"
+   id="path820" />
+			<path
+   class="st1"
+   d="m 637.9,397.89 c -0.23,0.03 -0.25,0.39 0,0.38 0.97,-0.06 1.94,-0.12 2.91,-0.21 0.95,-0.09 1.92,-0.12 2.85,-0.37 0.19,-0.05 0.14,-0.31 -0.04,-0.32 -0.96,-0.07 -1.91,0.08 -2.86,0.18 -0.96,0.09 -1.91,0.21 -2.86,0.34 z"
+   id="path822" />
+			<path
+   class="st1"
+   d="m 565.96,328.79 c -0.02,-0.01 -0.05,-0.01 -0.08,-0.01 -0.03,0 -0.05,-0.01 -0.08,-0.01 -0.06,-0.01 -0.12,-0.01 -0.18,-0.01 -0.12,0 -0.23,0 -0.35,0 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.06,0.15 0.15,0.15 h 0.35 c 0.06,0 0.11,0 0.17,-0.01 0.03,0 0.06,-0.01 0.08,-0.01 0.02,0 0.04,0 0.06,-0.01 0.02,0 0.04,-0.02 0.06,-0.03 0.07,-0.04 0.07,-0.15 0,-0.19 0,0 -0.01,-0.01 -0.03,-0.02 z"
+   id="path824" />
+			<path
+   class="st1"
+   d="m 587.63,320.44 c 0.16,0 0.32,0 0.47,0 0.08,0 0.16,-0.01 0.24,-0.01 0.09,-0.01 0.17,-0.01 0.25,-0.04 0.12,-0.05 0.12,-0.2 0,-0.25 -0.08,-0.03 -0.17,-0.03 -0.25,-0.04 -0.08,0 -0.16,-0.01 -0.24,-0.01 -0.16,0 -0.32,0 -0.47,0 -0.09,0 -0.18,0.08 -0.17,0.17 0,0.1 0.07,0.18 0.17,0.18 z"
+   id="path826" />
+			<path
+   class="st1"
+   d="m 587.73,322.23 c 0,0.08 0.07,0.17 0.16,0.16 0.29,-0.02 0.59,-0.03 0.88,-0.05 0.15,-0.01 0.31,-0.01 0.45,-0.04 0.14,-0.03 0.28,-0.07 0.42,-0.11 0.08,-0.03 0.09,-0.16 0,-0.17 -0.14,-0.03 -0.29,-0.04 -0.43,-0.05 -0.15,-0.01 -0.3,0.01 -0.44,0.02 l -0.88,0.08 c -0.08,0.01 -0.16,0.07 -0.16,0.16 z"
+   id="path828" />
+			<path
+   class="st1"
+   d="m 601.86,320.03 c -0.13,0 -0.13,0.2 0,0.2 0.13,0.01 0.13,-0.2 0,-0.2 z"
+   id="path830" />
+			<path
+   class="st1"
+   d="m 588.16,327.7 c -0.09,0 -0.14,0.07 -0.15,0.15 -0.02,0.18 -0.05,0.35 -0.07,0.53 -0.01,0.09 -0.02,0.17 -0.02,0.26 -0.01,0.09 -0.02,0.18 -0.01,0.27 0.02,0.13 0.17,0.15 0.22,0.03 0.03,-0.09 0.05,-0.17 0.06,-0.26 0.01,-0.09 0.03,-0.18 0.04,-0.27 0.03,-0.19 0.05,-0.37 0.07,-0.56 0.02,-0.08 -0.07,-0.15 -0.14,-0.15 z"
+   id="path832" />
+			<path
+   class="st1"
+   d="m 601.06,326.92 c -0.02,0.41 -0.05,0.81 -0.07,1.22 -0.02,0.4 -0.06,0.8 0,1.2 0.01,0.1 0.18,0.09 0.2,0 0.1,-0.39 0.1,-0.8 0.13,-1.2 0.02,-0.41 0.04,-0.81 0.06,-1.22 0,-0.21 -0.31,-0.2 -0.32,0 z"
+   id="path834" />
+			<path
+   class="st1"
+   d="m 581.24,324.55 c 0.21,0 0.21,-0.32 0,-0.32 -0.2,0 -0.2,0.32 0,0.32 z"
+   id="path836" />
+			<path
+   class="st1"
+   d="m 580.71,327.87 c 0.03,0 0.05,-0.01 0.08,-0.02 0.02,-0.01 0.03,-0.01 0.05,-0.02 0.01,0 0.02,-0.01 0.02,-0.01 0,0 0,0 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.02 v 0 c 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.03,-0.04 0.03,-0.07 0,-0.01 0,-0.02 0,-0.03 0,-0.02 -0.01,-0.03 -0.03,-0.04 -0.01,-0.01 -0.02,-0.02 -0.04,-0.03 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.02,-0.01 -0.05,-0.02 -0.08,-0.02 -0.03,0 -0.05,0.01 -0.08,0.02 -0.05,0.03 -0.08,0.08 -0.08,0.13 0,0.05 0.03,0.1 0.08,0.13 0.03,0.01 0.06,0.02 0.08,0.02 z"
+   id="path838" />
+			<path
+   class="st1"
+   d="m 580.56,331.12 c 0.01,0.01 0.02,0.01 0.02,0.02 0.02,0.01 0.03,0.02 0.05,0.03 0.02,0.01 0.05,0.02 0.08,0.02 0.03,0 0.05,-0.01 0.08,-0.02 0.05,-0.03 0.08,-0.08 0.08,-0.13 0,-0.05 -0.03,-0.11 -0.08,-0.13 -0.02,-0.01 -0.05,-0.02 -0.08,-0.02 -0.03,0 -0.05,0.01 -0.08,0.02 -0.02,0.01 -0.03,0.02 -0.05,0.03 -0.01,0.01 -0.02,0.01 -0.02,0.02 -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.01,0.01 -0.01,0.02 -0.02,0.03 0,0.01 -0.01,0.02 -0.01,0.03 0,0.02 0.01,0.04 0.02,0.06 0.03,0 0.04,0.01 0.05,0.01 z"
+   id="path840" />
+			<path
+   class="st1"
+   d="m 583.53,333.05 c 0.08,-0.01 0.13,-0.11 0.12,-0.19 -0.01,-0.08 -0.08,-0.16 -0.17,-0.15 -0.35,0.03 -0.7,0.09 -1.04,0.13 -0.09,0.01 -0.18,0.07 -0.17,0.17 0,0.08 0.08,0.18 0.17,0.17 0.36,-0.04 0.73,-0.07 1.09,-0.13 z"
+   id="path842" />
+			<path
+   class="st1"
+   d="m 581.64,332.54 c 0.36,0 0.72,0.01 1.08,0.01 0.18,0 0.36,0 0.54,0.01 0.18,0 0.37,0.02 0.54,-0.04 0.14,-0.05 0.14,-0.24 0,-0.29 -0.17,-0.06 -0.36,-0.04 -0.54,-0.04 -0.18,0 -0.36,0 -0.54,0.01 -0.36,0 -0.72,0.01 -1.08,0.01 -0.21,-0.01 -0.21,0.33 0,0.33 z"
+   id="path844" />
+			<path
+   class="st1"
+   d="m 586.3,332.51 c 0.16,0 0.32,0.01 0.47,-0.01 0.08,-0.01 0.16,-0.01 0.24,-0.02 0.08,-0.01 0.16,-0.01 0.24,-0.03 0.08,-0.02 0.08,-0.15 0,-0.17 -0.08,-0.02 -0.16,-0.02 -0.24,-0.03 -0.08,-0.01 -0.16,-0.01 -0.24,-0.02 -0.16,-0.01 -0.32,-0.01 -0.47,-0.01 -0.07,0 -0.14,0.06 -0.14,0.14 0,0.08 0.06,0.15 0.14,0.15 z"
+   id="path846" />
+			<path
+   class="st1"
+   d="m 589.36,332.82 0.88,-0.05 c 0.15,-0.01 0.29,-0.02 0.44,-0.03 0.15,-0.01 0.31,0 0.45,-0.06 0.12,-0.05 0.15,-0.24 0,-0.28 -0.15,-0.04 -0.29,-0.02 -0.45,0 -0.15,0.01 -0.29,0.02 -0.44,0.03 -0.29,0.02 -0.59,0.05 -0.88,0.07 -0.09,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 z"
+   id="path848" />
+			<path
+   class="st1"
+   d="m 608.27,318.2 c 0.02,0 0.05,0 0.07,0 0.05,0 0.11,0 0.16,-0.01 0.08,-0.01 0.15,-0.06 0.16,-0.14 0.01,-0.08 -0.04,-0.15 -0.11,-0.18 -0.05,-0.02 -0.1,-0.03 -0.16,-0.04 -0.02,-0.01 -0.05,-0.01 -0.07,-0.02 0.02,0 0.01,0 -0.02,-0.01 -0.02,-0.01 -0.03,-0.01 -0.05,-0.02 -0.11,-0.03 -0.23,-0.04 -0.34,-0.05 -0.21,-0.01 -0.41,-0.01 -0.61,0 -0.18,0 -0.23,0.27 -0.04,0.32 0.2,0.05 0.39,0.1 0.59,0.13 0.11,0.02 0.23,0.03 0.34,0.03 0.03,0 0.12,-0.02 0.08,-0.01 z"
+   id="path850" />
+			<path
+   class="st1"
+   d="m 609.84,318.13 c 0.24,-0.02 0.49,-0.04 0.73,-0.07 0.24,-0.02 0.5,-0.01 0.74,-0.08 0.16,-0.04 0.11,-0.26 -0.04,-0.27 -0.12,-0.01 -0.24,0.01 -0.36,0.02 -0.12,0.01 -0.24,0.02 -0.36,0.03 l -0.72,0.06 c -0.08,0.01 -0.15,0.06 -0.15,0.15 0.01,0.09 0.08,0.17 0.16,0.16 z"
+   id="path852" />
+			<path
+   class="st1"
+   d="m 608.33,319.07 c 0,0.1 0.08,0.18 0.18,0.18 0.18,0 0.37,0 0.55,0 0.09,0 0.18,0 0.27,-0.01 0.1,-0.01 0.22,0 0.3,-0.06 0.08,-0.06 0.08,-0.16 0,-0.22 -0.08,-0.06 -0.2,-0.05 -0.29,-0.06 -0.09,-0.01 -0.19,-0.01 -0.28,-0.01 -0.18,0 -0.37,0 -0.55,0 -0.1,0 -0.19,0.08 -0.18,0.18 z"
+   id="path854" />
+			<path
+   class="st1"
+   d="m 609.57,319.97 c -0.09,0.01 -0.17,0.07 -0.17,0.17 0,0.09 0.08,0.17 0.17,0.17 l 0.9,-0.06 c 0.15,-0.01 0.29,-0.02 0.44,-0.04 0.15,-0.02 0.32,-0.01 0.46,-0.08 0.11,-0.06 0.07,-0.22 -0.03,-0.25 -0.14,-0.05 -0.3,-0.02 -0.44,-0.01 -0.15,0.01 -0.29,0.02 -0.44,0.03 z"
+   id="path856" />
+			<path
+   class="st1"
+   d="m 609.7,322.82 c 0.39,-0.02 0.78,-0.04 1.17,-0.06 0.19,-0.01 0.38,-0.02 0.58,-0.03 0.1,0 0.19,-0.02 0.29,-0.03 0.09,-0.02 0.2,-0.02 0.28,-0.07 0.07,-0.04 0.08,-0.16 0,-0.2 -0.09,-0.04 -0.18,-0.04 -0.28,-0.04 -0.09,0 -0.18,-0.01 -0.27,0 -0.2,0.01 -0.4,0.03 -0.6,0.04 -0.39,0.03 -0.78,0.05 -1.17,0.08 -0.19,0.01 -0.19,0.32 0,0.31 z"
+   id="path858" />
+			<path
+   class="st1"
+   d="m 612.54,322.96 c 0.09,-0.02 0.18,-0.05 0.27,-0.07 0.04,-0.01 0.09,-0.02 0.13,-0.03 0.06,-0.01 0.11,-0.04 0.16,-0.07 0.05,-0.03 0.09,-0.11 0.07,-0.17 -0.02,-0.06 -0.07,-0.11 -0.14,-0.11 -0.06,0 -0.11,0 -0.17,0.01 -0.05,0.01 -0.09,0.02 -0.14,0.03 l -0.27,0.07 c -0.09,0.02 -0.15,0.13 -0.12,0.21 0.03,0.1 0.12,0.16 0.21,0.13 z"
+   id="path860" />
+			<path
+   class="st1"
+   d="m 610.52,324.64 c -0.36,0 -0.72,0.01 -1.08,0.01 -0.18,0 -0.18,0.28 0,0.28 0.36,0 0.72,0.01 1.08,0.01 0.36,0 0.72,0.02 1.06,-0.09 0.06,-0.02 0.06,-0.1 0,-0.12 -0.34,-0.11 -0.7,-0.1 -1.06,-0.09 z"
+   id="path862" />
+			<path
+   class="st1"
+   d="m 611.97,324.83 c 0.01,0.06 0.07,0.12 0.13,0.12 0.21,-0.02 0.41,-0.04 0.62,-0.05 0.1,-0.01 0.2,-0.02 0.31,-0.03 0.12,-0.01 0.24,-0.01 0.34,-0.07 0.1,-0.06 0.08,-0.21 -0.03,-0.25 -0.11,-0.04 -0.22,-0.01 -0.34,0.01 -0.11,0.01 -0.21,0.03 -0.31,0.04 -0.21,0.03 -0.41,0.06 -0.62,0.08 -0.07,0.01 -0.11,0.09 -0.1,0.15 z"
+   id="path864" />
+			<path
+   class="st1"
+   d="m 610.52,326.16 c 0.11,0 0.23,-0.01 0.34,-0.01 0.12,0 0.24,0 0.35,-0.04 0.12,-0.04 0.13,-0.21 0,-0.25 -0.11,-0.04 -0.23,-0.04 -0.35,-0.04 -0.11,0 -0.23,-0.01 -0.34,-0.01 -0.23,0 -0.45,0 -0.68,0.01 -0.22,0 -0.22,0.34 0,0.35 0.22,-0.01 0.45,-0.01 0.68,-0.01 z"
+   id="path866" />
+			<path
+   class="st1"
+   d="m 612.88,325.92 c -0.01,-0.02 -0.02,-0.03 -0.04,-0.04 -0.01,-0.01 -0.03,-0.02 -0.05,-0.02 l -0.13,-0.03 c -0.03,-0.01 -0.06,-0.01 -0.09,0 -0.03,0.01 -0.05,0.02 -0.07,0.04 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.01,0.03 -0.02,0.05 -0.02,0.08 0,0.02 0,0.04 0.01,0.06 0.01,0.02 0.02,0.04 0.03,0.05 0.02,0.02 0.04,0.03 0.07,0.04 0.03,0.01 0.06,0.01 0.09,0 l 0.13,-0.03 0.03,-0.01 c 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.01,-0.02 0.01,-0.03 0.01,-0.05 0,-0.01 0,-0.02 0,-0.04 z"
+   id="path868" />
+			<path
+   class="st1"
+   d="m 609.04,327.17 c -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.18,0 0.36,0 0.54,0 0.09,0 0.18,-0.01 0.27,-0.01 0.09,-0.01 0.18,-0.04 0.27,-0.05 0.08,-0.02 0.08,-0.15 0,-0.17 -0.09,-0.02 -0.18,-0.04 -0.27,-0.05 -0.09,-0.01 -0.18,-0.01 -0.27,-0.01 -0.18,-0.02 -0.36,-0.01 -0.54,-0.01 z"
+   id="path870" />
+			<path
+   class="st1"
+   d="m 610.6,328.37 c -0.07,0.01 -0.11,0.1 -0.09,0.16 0.02,0.07 0.09,0.1 0.16,0.09 0.27,-0.04 0.54,-0.09 0.82,-0.13 0.14,-0.02 0.27,-0.04 0.41,-0.07 0.06,-0.01 0.13,-0.02 0.19,-0.03 0.07,-0.01 0.14,-0.05 0.21,-0.08 0.11,-0.05 0.04,-0.21 -0.06,-0.21 -0.27,-0.02 -0.55,0.07 -0.82,0.12 -0.28,0.05 -0.55,0.1 -0.82,0.15 z"
+   id="path872" />
+			<path
+   class="st1"
+   d="m 613.3,328.15 c -0.13,0 -0.13,0.2 0,0.2 0.12,0 0.12,-0.2 0,-0.2 z"
+   id="path874" />
+			<path
+   class="st1"
+   d="m 608.9,329.38 c -0.21,0.02 -0.22,0.35 0,0.34 0.93,-0.08 1.86,-0.16 2.78,-0.24 0.46,-0.04 0.93,-0.08 1.39,-0.12 0.44,-0.04 0.89,-0.06 1.32,-0.15 0.15,-0.03 0.11,-0.26 -0.04,-0.26 -0.46,-0.02 -0.93,0.04 -1.39,0.08 -0.45,0.04 -0.89,0.08 -1.34,0.12 -0.9,0.07 -1.81,0.15 -2.72,0.23 z"
+   id="path876" />
+			<path
+   class="st1"
+   d="m 613.07,330.35 c -0.12,-0.04 -0.22,0.01 -0.33,0.04 -0.11,0.03 -0.22,0.06 -0.34,0.09 -0.22,0.05 -0.44,0.09 -0.66,0.11 -0.19,0.02 -0.38,0 -0.56,0 -0.02,-0.06 -0.07,-0.1 -0.14,-0.11 -0.03,0 -0.06,0 -0.09,0 -0.04,0 -0.08,0 -0.11,0.01 -0.06,0.01 -0.11,0.02 -0.17,0.03 -0.11,0.02 -0.23,0.04 -0.34,0.07 -0.02,0 -0.03,0.02 -0.04,0.03 -0.02,0.01 -0.03,0.02 -0.04,0.03 -0.04,0.05 -0.06,0.11 -0.04,0.16 0.03,0.08 0.09,0.11 0.17,0.12 0,0 0.01,0 0.01,0.01 0.01,0 0.02,0 0.03,0 0.01,0 0.01,0 0.02,0 0,0 0.01,0 0.01,0 0.46,0.05 0.92,0.06 1.38,0.01 0.23,-0.02 0.46,-0.06 0.69,-0.11 0.21,-0.05 0.53,-0.07 0.67,-0.26 0.05,-0.08 -0.03,-0.2 -0.12,-0.23 z"
+   id="path878" />
+			<path
+   class="st1"
+   d="m 596.54,332.69 c 0.3,0 0.6,0 0.9,0 0.15,0 0.29,0 0.44,0 0.07,0 0.15,0 0.22,0 0.03,0 0.07,0 0.1,0 0.05,0 0.09,-0.03 0.14,-0.05 0.1,-0.04 0.1,-0.21 0,-0.25 -0.09,-0.04 -0.15,-0.05 -0.24,-0.05 -0.07,0 -0.14,0 -0.2,0 -0.15,0 -0.3,0 -0.46,0 -0.3,0 -0.6,0 -0.9,0 -0.24,-0.02 -0.24,0.35 0,0.35 z"
+   id="path880" />
+			<path
+   class="st1"
+   d="m 600.93,332.53 c 0.23,0 0.45,0 0.68,0 0.23,0 0.46,0 0.68,-0.07 0.09,-0.03 0.09,-0.15 0,-0.18 -0.22,-0.07 -0.45,-0.07 -0.68,-0.07 -0.23,0 -0.45,0 -0.68,0 -0.21,0 -0.21,0.32 0,0.32 z"
+   id="path882" />
+			<path
+   class="st1"
+   d="m 604.78,332.55 c 0.23,0 0.45,0 0.68,0.01 0.11,0 0.23,0 0.34,0 0.12,0 0.24,0 0.35,-0.04 0.14,-0.05 0.14,-0.24 0,-0.29 -0.11,-0.04 -0.23,-0.04 -0.35,-0.04 -0.11,0 -0.23,0 -0.34,0 -0.23,0 -0.45,0 -0.68,0.01 -0.23,-0.01 -0.23,0.35 0,0.35 z"
+   id="path884" />
+			<path
+   class="st1"
+   d="m 608.24,332.29 c 0.28,-0.02 0.55,-0.05 0.83,-0.07 0.14,-0.01 0.28,-0.02 0.42,-0.04 0.13,-0.02 0.35,-0.01 0.35,-0.19 0,-0.19 -0.24,-0.16 -0.37,-0.15 -0.13,0 -0.27,0.02 -0.4,0.04 -0.28,0.03 -0.55,0.06 -0.83,0.08 -0.09,0.01 -0.17,0.07 -0.17,0.17 0,0.08 0.08,0.17 0.17,0.16 z"
+   id="path886" />
+			<path
+   class="st1"
+   d="m 613.3,331 c -0.09,0.01 -0.17,0.07 -0.17,0.17 0,0.09 0.08,0.18 0.17,0.17 0.28,-0.02 0.55,-0.04 0.83,-0.06 0.13,-0.01 0.27,-0.02 0.4,-0.03 0.12,-0.01 0.35,-0.06 0.35,-0.21 0,-0.16 -0.23,-0.17 -0.35,-0.17 -0.13,0 -0.27,0.03 -0.4,0.04 -0.28,0.03 -0.56,0.06 -0.83,0.09 z"
+   id="path888" />
+			<path
+   class="st1"
+   d="m 609.06,321.29 c 0.07,-0.01 0.15,-0.09 0.16,-0.16 0.01,-0.07 0.01,-0.11 -0.02,-0.18 -0.03,-0.07 -0.12,-0.12 -0.2,-0.11 -0.32,0.04 -0.64,0.09 -0.95,0.14 -0.05,0.01 -0.11,0.06 -0.13,0.1 -0.03,0.05 -0.04,0.12 -0.02,0.17 0.02,0.05 0.05,0.11 0.1,0.13 0.06,0.03 0.11,0.03 0.17,0.02 0.15,-0.02 0.3,-0.04 0.45,-0.06 0.15,-0.01 0.3,-0.02 0.44,-0.05 z"
+   id="path890" />
+			<path
+   class="st1"
+   d="m 608.77,324.39 c -0.03,-0.04 -0.08,-0.05 -0.13,-0.05 -0.05,0 -0.09,-0.01 -0.13,-0.01 -0.04,0.01 -0.09,0.01 -0.13,0.02 -0.09,0.01 -0.18,0.02 -0.27,0.03 -0.05,0 -0.1,0.01 -0.14,0.04 -0.02,0.01 -0.04,0.03 -0.06,0.04 -0.06,0.06 -0.09,0.15 -0.08,0.23 0.01,0.07 0.04,0.13 0.1,0.18 0.06,0.05 0.16,0.08 0.24,0.05 0.09,-0.03 0.17,-0.07 0.26,-0.1 0.04,-0.02 0.09,-0.03 0.13,-0.05 0.04,-0.01 0.07,-0.03 0.1,-0.05 0.02,-0.01 0.04,-0.03 0.06,-0.04 0.07,-0.04 0.11,-0.13 0.08,-0.21 0.01,-0.03 -0.01,-0.05 -0.03,-0.08 z"
+   id="path892" />
+			<path
+   class="st1"
+   d="m 585.23,335.85 c 0.21,0 0.43,0.01 0.64,0.01 0.21,0 0.43,0.01 0.64,0.01 0.21,-0.01 0.21,-0.33 0,-0.33 -0.21,-0.01 -0.43,0 -0.64,0.01 -0.21,0 -0.43,0.01 -0.64,0.01 -0.19,-0.02 -0.19,0.28 0,0.29 z"
+   id="path894" />
+			<path
+   class="st1"
+   d="m 582.57,334.85 c -0.22,0.01 -0.23,0.37 0,0.35 0.34,-0.02 0.68,-0.05 1.02,-0.07 0.17,-0.01 0.34,-0.02 0.51,-0.03 0.17,-0.01 0.34,-0.01 0.51,-0.07 0.12,-0.04 0.15,-0.25 0,-0.28 -0.17,-0.03 -0.33,-0.02 -0.51,0 -0.17,0.01 -0.34,0.02 -0.51,0.03 z"
+   id="path896" />
+			<path
+   class="st1"
+   d="m 586.83,338.58 c -0.1,0 -0.21,0 -0.31,0 -0.21,0 -0.41,0 -0.62,0 -0.1,0 -0.18,0.08 -0.18,0.18 0,0.1 0.08,0.18 0.18,0.18 0.21,0 0.41,0 0.62,0 0.1,0 0.21,0 0.31,0 0.11,0 0.24,0.01 0.33,-0.06 0.09,-0.06 0.09,-0.18 0,-0.23 -0.09,-0.08 -0.22,-0.07 -0.33,-0.07 z"
+   id="path898" />
+			<path
+   class="st1"
+   d="m 588.03,339.56 c 0.16,-0.02 0.31,-0.04 0.47,-0.05 0.08,-0.01 0.15,-0.02 0.23,-0.03 0.09,-0.01 0.18,-0.01 0.26,-0.04 0.08,-0.03 0.13,-0.1 0.12,-0.19 -0.01,-0.09 -0.08,-0.14 -0.17,-0.15 -0.09,-0.01 -0.18,0.02 -0.27,0.03 l -0.23,0.04 c -0.15,0.03 -0.31,0.05 -0.46,0.08 -0.08,0.01 -0.12,0.1 -0.11,0.17 0.01,0.07 0.08,0.15 0.16,0.14 z"
+   id="path900" />
+			<path
+   class="st1"
+   d="m 588.68,341.35 c 0.11,-0.01 0.24,-0.01 0.34,-0.06 0.12,-0.07 0.09,-0.25 -0.04,-0.29 -0.1,-0.03 -0.22,0 -0.32,0.01 -0.1,0.01 -0.2,0.03 -0.29,0.04 -0.2,0.03 -0.4,0.05 -0.6,0.08 -0.08,0.01 -0.16,0.06 -0.16,0.16 0,0.08 0.07,0.16 0.16,0.16 0.2,-0.02 0.41,-0.04 0.61,-0.06 0.09,-0.02 0.19,-0.03 0.3,-0.04 z"
+   id="path902" />
+			<path
+   class="st1"
+   d="m 589.68,342.34 c -0.02,-0.03 -0.04,-0.05 -0.07,-0.07 -0.02,-0.02 -0.05,-0.03 -0.07,-0.04 -0.13,-0.07 -0.27,-0.1 -0.42,-0.1 -0.28,-0.01 -0.56,0.09 -0.75,0.29 -0.06,0.06 -0.06,0.17 0,0.24 0.07,0.07 0.17,0.06 0.24,0 0.02,-0.02 0.04,-0.04 0.06,-0.05 -0.03,0.02 0.02,-0.01 0.02,-0.01 0.01,-0.01 0.02,-0.01 0.03,-0.02 0.02,-0.01 0.05,-0.03 0.08,-0.04 0,0 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0.02,-0.01 0.04,-0.01 0.03,-0.01 0.05,-0.02 0.08,-0.02 0.01,0 0.03,-0.01 0.04,-0.01 0,0 0.05,-0.01 0.02,0 -0.02,0 0.02,0 0.02,0 0.02,0 0.03,0 0.05,0 0.03,0 0.05,0 0.08,0 0.01,0 0.03,0 0.04,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0.03,0.01 0.05,0.01 0.08,0.02 0.05,0.01 0.09,0.03 0.14,0.05 0.01,0 0.02,0.01 0.02,0.01 0.01,0 0.02,0.01 0.03,0.01 0.02,0.01 0.05,0.02 0.07,0.03 0.03,0 0,0 0.01,0 0.06,0.02 0.1,0.06 0.17,0.07 0.06,0 0.1,-0.05 0.11,-0.11 0,-0.08 -0.06,-0.14 -0.1,-0.2 -0.02,-0.01 -0.04,-0.04 -0.04,-0.04 z"
+   id="path904" />
+			<path
+   class="st1"
+   d="m 589.04,344.84 h -0.61 c -0.09,0 -0.17,0.08 -0.17,0.17 0,0.09 0.08,0.17 0.17,0.17 h 0.61 c 0.21,0 0.42,0.02 0.62,-0.03 0.13,-0.03 0.13,-0.24 0,-0.27 -0.2,-0.06 -0.42,-0.04 -0.62,-0.04 z"
+   id="path906" />
+			<path
+   class="st1"
+   d="m 588.42,335.32 c 0.77,-0.02 1.55,-0.01 2.3,-0.16 0.19,-0.04 0.13,-0.3 -0.04,-0.31 -0.75,-0.06 -1.51,0.04 -2.26,0.1 -0.23,0.02 -0.24,0.37 0,0.37 z"
+   id="path908" />
+			<path
+   class="st1"
+   d="m 594.41,335.05 c 0.35,0 0.71,0 1.06,0 0.17,0 0.35,-0.02 0.52,-0.02 0.18,-0.01 0.36,-0.01 0.54,-0.03 0.13,-0.02 0.13,-0.18 0,-0.2 -0.18,-0.02 -0.36,-0.03 -0.54,-0.03 -0.17,-0.01 -0.35,-0.02 -0.52,-0.02 -0.35,0 -0.71,0 -1.06,0 -0.19,0 -0.19,0.3 0,0.3 z"
+   id="path910" />
+			<path
+   class="st1"
+   d="m 607.98,335.87 c 0.23,0 0.23,-0.35 0,-0.35 -0.23,0 -0.23,0.35 0,0.35 z"
+   id="path912" />
+			<path
+   class="st1"
+   d="m 605.78,337.41 c -0.22,0.01 -0.43,0.02 -0.64,0.03 -0.43,0.02 -0.86,0.04 -1.29,0.07 -0.19,0.01 -0.19,0.31 0,0.3 0.43,-0.02 0.86,-0.04 1.29,-0.06 0.21,-0.01 0.43,-0.02 0.64,-0.03 0.21,-0.01 0.42,-0.01 0.63,-0.06 0.11,-0.03 0.13,-0.23 0,-0.25 -0.21,-0.03 -0.41,-0.01 -0.63,0 z"
+   id="path914" />
+			<path
+   class="st1"
+   d="m 605.05,339.26 c -0.01,0 -0.02,0 -0.03,0 -0.01,0 -0.03,0.01 -0.04,0.01 h -0.04 c -0.03,0 -0.06,0 -0.09,0.01 -0.02,0.01 -0.05,0.02 -0.07,0.03 -0.02,0.01 -0.03,0.01 -0.05,0.02 -0.03,0.01 -0.05,0.05 -0.05,0.08 0,0.03 0.02,0.07 0.05,0.08 0.01,0.01 0.03,0.01 0.04,0.02 0.02,0.01 0.05,0.02 0.07,0.03 0.03,0.01 0.06,0.01 0.08,0.01 0.01,0 0.03,0 0.04,0 0.01,0 0.03,0.01 0.04,0.01 0.01,0 0.02,0 0.03,0 0.04,0 0.08,-0.02 0.11,-0.05 0.03,-0.03 0.05,-0.07 0.05,-0.11 0,-0.04 -0.01,-0.08 -0.05,-0.11 -0.01,-0.01 -0.05,-0.03 -0.09,-0.03 z"
+   id="path916" />
+			<path
+   class="st1"
+   d="m 602.77,340.76 c -0.52,0.02 -1.05,0.03 -1.57,0.05 -0.21,0.01 -0.21,0.34 0,0.33 0.52,-0.02 1.05,-0.04 1.57,-0.06 0.26,-0.01 0.52,-0.02 0.79,-0.03 0.17,-0.01 0.34,-0.02 0.51,-0.03 -0.02,0.07 0.07,0.13 0.13,0.09 0.07,-0.04 0.12,-0.1 0.17,-0.16 0.06,-0.06 0.04,-0.19 -0.05,-0.2 -0.51,-0.08 -1.05,-0.01 -1.55,0.01 z"
+   id="path918" />
+			<path
+   class="st1"
+   d="m 602.82,342.49 c -0.05,-0.02 -0.09,-0.04 -0.14,-0.05 -0.05,-0.01 -0.11,0 -0.16,0 -0.09,0 -0.18,0.01 -0.27,0.01 -0.19,0.01 -0.38,0.03 -0.58,0.04 -0.38,0.03 -0.77,0.05 -1.15,0.08 -0.23,0.02 -0.23,0.37 0,0.36 0.39,-0.02 0.78,-0.04 1.17,-0.06 0.19,-0.01 0.38,-0.02 0.58,-0.03 0.1,-0.01 0.19,-0.01 0.29,-0.02 0.04,0 0.09,0 0.14,-0.01 0.05,-0.01 0.1,-0.05 0.15,-0.07 0.11,-0.06 0.07,-0.22 -0.03,-0.25 z"
+   id="path920" />
+			<path
+   class="st1"
+   d="m 601.48,344.07 c -0.04,0 -0.07,0.01 -0.11,0.01 -0.09,0.01 -0.18,0.01 -0.27,0.03 -0.16,0.02 -0.32,0.05 -0.48,0.07 -0.09,0.01 -0.15,0.13 -0.12,0.21 0.03,0.1 0.12,0.13 0.21,0.12 0.16,-0.02 0.32,-0.04 0.47,-0.07 0.08,-0.01 0.16,-0.03 0.23,-0.05 0.04,-0.01 0.07,-0.01 0.11,-0.02 0.05,-0.01 0.09,-0.03 0.13,-0.05 0.09,-0.06 0.08,-0.2 -0.03,-0.23 -0.04,-0.02 -0.08,-0.03 -0.14,-0.02 z"
+   id="path922" />
+			<path
+   class="st1"
+   d="m 604.17,344.3 c -0.19,-0.03 -0.38,-0.04 -0.57,-0.04 -0.18,0 -0.36,0 -0.54,0 -0.1,0 -0.2,0.09 -0.2,0.2 0,0.11 0.09,0.2 0.2,0.2 0.18,0 0.36,0 0.54,0 0.19,0 0.38,0 0.57,-0.04 0.16,-0.01 0.16,-0.29 0,-0.32 z"
+   id="path924" />
+			<path
+   class="st1"
+   d="m 592.43,341.54 c 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 0,0 -0.01,0 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,-0.01 0,-0.01 0,-0.02 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 0.01,-0.01 0.01,-0.01 0,0 -0.01,0.01 -0.01,0.01 0,0 0,0 0,-0.01 0,0 0,0 -0.01,0.01 0,0 0,0 0,0 0.02,-0.01 0.03,-0.03 0.04,-0.05 0.01,-0.02 0,-0.05 -0.01,-0.07 -0.03,-0.04 -0.08,-0.06 -0.12,-0.03 -0.07,0.04 -0.11,0.11 -0.11,0.19 0,0.08 0.03,0.15 0.08,0.2 0.01,0.01 0.02,0.02 0.04,0.04 0.02,0.02 0.05,0.03 0.08,0.03 0.01,0 0.03,0 0.04,-0.01 -0.01,0 -0.02,0 -0.03,0 0.04,0 0.09,-0.01 0.11,-0.04 0.02,-0.02 0.02,-0.04 0.02,-0.07 0,-0.02 -0.02,-0.05 -0.04,-0.06 0,0 -0.01,0 -0.02,0 z"
+   id="path926" />
+			<path
+   class="st1"
+   d="m 595.63,342.56 c 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 0,0 -0.01,-0.01 -0.01,-0.01 0,0 0,0 -0.01,-0.01 0,0 0,-0.01 0,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.02 0,0.01 0,0 0,-0.01 0,-0.01 -0.01,-0.02 0,-0.01 -0.01,-0.02 -0.01,-0.04 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.01 0,0.01 0,0 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.05 0,-0.07 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.01 0.01,-0.02 0.01,-0.04 0,0 0,-0.01 0,-0.01 0.01,-0.02 0,0.01 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.04 0.02,-0.04 0.01,-0.08 -0.03,-0.1 -0.04,-0.02 -0.08,-0.01 -0.1,0.03 -0.07,0.1 -0.09,0.22 -0.08,0.34 0.01,0.07 0.03,0.13 0.05,0.19 0.02,0.04 0.03,0.07 0.07,0.09 0.03,0.02 0.07,0.05 0.1,0.04 0.05,-0.01 0.09,-0.03 0.09,-0.09 0,-0.02 -0.01,-0.04 -0.02,-0.06 0.01,0.01 0.01,0 0,0 z"
+   id="path928" />
+			<path
+   class="st1"
+   d="m 596.94,341.21 c 0.08,0 0.08,-0.12 0,-0.12 -0.08,0 -0.08,0.12 0,0.12 z"
+   id="path930" />
+			<path
+   class="st1"
+   d="m 598.5,342.34 c 0,-0.27 -0.01,-0.53 -0.01,-0.8 0,-0.12 -0.18,-0.12 -0.18,0 -0.01,0.27 -0.01,0.53 -0.01,0.8 0,0.14 0.21,0.14 0.2,0 z"
+   id="path932" />
+			<path
+   class="st1"
+   d="m 596.21,341.61 c -0.2,0.01 -0.4,0.03 -0.6,0.04 -0.1,0.01 -0.18,0.08 -0.16,0.19 0.01,0.11 0.11,0.15 0.21,0.14 0.2,-0.03 0.39,-0.06 0.59,-0.09 0.2,-0.03 0.4,-0.05 0.59,-0.1 0.11,-0.03 0.09,-0.19 -0.03,-0.2 -0.2,-0.02 -0.4,0 -0.6,0.02 z"
+   id="path934" />
+			<path
+   class="st1"
+   d="m 582.84,347.56 c 0.14,0.01 0.28,0.01 0.42,0.02 0.07,0 0.14,0.01 0.21,0.01 0.03,0 0.06,0 0.1,0 0.06,0 0.11,-0.02 0.16,-0.05 0.1,-0.06 0.1,-0.22 0,-0.27 -0.05,-0.03 -0.1,-0.05 -0.16,-0.05 -0.03,0 -0.06,0 -0.1,0 -0.07,0 -0.14,0.01 -0.21,0.01 -0.14,0.01 -0.28,0.01 -0.42,0.02 -0.08,0 -0.16,0.07 -0.16,0.16 0.01,0.08 0.07,0.14 0.16,0.15 z"
+   id="path936" />
+			<path
+   class="st1"
+   d="m 581.51,348.49 c 0.38,0 0.77,0 1.15,-0.03 0.09,-0.01 0.19,-0.02 0.28,-0.03 0.1,-0.02 0.2,-0.05 0.29,-0.07 0.09,-0.02 0.17,-0.04 0.26,-0.05 0.1,-0.01 0.21,-0.02 0.3,-0.06 0.07,-0.03 0.09,-0.14 0,-0.16 -0.11,-0.03 -0.24,-0.02 -0.35,-0.03 -0.13,-0.01 -0.25,-0.02 -0.38,-0.03 0.03,0.01 0.06,0.02 0.09,0.02 -0.12,-0.06 -0.27,-0.05 -0.4,-0.05 -0.14,0 -0.28,0.01 -0.42,0.02 -0.27,0.03 -0.55,0.05 -0.82,0.08 -0.24,0.03 -0.25,0.39 0,0.39 z"
+   id="path938" />
+			<path
+   class="st1"
+   d="m 583.46,348.73 c 0,0.1 0.08,0.17 0.17,0.18 0.18,0 0.36,0 0.54,0 0.09,0 0.18,0 0.27,0 0.1,0 0.2,-0.02 0.3,-0.03 0.15,-0.02 0.15,-0.27 0,-0.29 -0.1,-0.02 -0.2,-0.03 -0.3,-0.03 -0.09,0 -0.18,0 -0.27,0 -0.18,0 -0.36,0 -0.54,0 -0.08,-0.01 -0.17,0.07 -0.17,0.17 z"
+   id="path940" />
+			<path
+   class="st1"
+   d="m 593.13,347.73 c 0.19,0 0.38,-0.01 0.58,-0.03 0.19,-0.02 0.39,-0.03 0.58,-0.06 0.18,-0.03 0.38,-0.03 0.56,-0.09 0.11,-0.04 0.13,-0.22 0,-0.25 -0.19,-0.04 -0.38,-0.02 -0.57,-0.03 -0.2,-0.01 -0.4,0 -0.6,0.01 -0.19,0.01 -0.38,0.02 -0.58,0.04 -0.2,0.02 -0.39,0.07 -0.59,0.1 -0.16,0.03 -0.11,0.26 0.04,0.27 0.19,0.02 0.38,0.04 0.58,0.04 z"
+   id="path942" />
+			<path
+   class="st1"
+   d="m 597.34,347.58 c 0.4,0.01 0.8,0.01 1.2,0.02 0.2,0 0.39,0.01 0.59,0.01 0.19,0 0.43,0.02 0.57,-0.11 0.05,-0.05 0.05,-0.15 0,-0.2 -0.14,-0.13 -0.37,-0.1 -0.55,-0.1 -0.2,0 -0.41,0 -0.61,0.01 -0.4,0.01 -0.8,0.01 -1.2,0.02 -0.23,-0.01 -0.23,0.34 0,0.35 z"
+   id="path944" />
+			<path
+   class="st1"
+   d="m 612.81,347.16 c 0.14,-0.05 0.28,-0.09 0.41,-0.14 0.07,-0.02 0.14,-0.04 0.2,-0.07 0.09,-0.03 0.21,-0.05 0.26,-0.14 0.04,-0.07 0.02,-0.18 -0.06,-0.22 -0.05,-0.02 -0.09,-0.03 -0.14,-0.02 -0.02,0 -0.03,0.01 -0.05,0.01 -0.04,0.01 -0.07,0.02 -0.11,0.04 l -0.2,0.07 c -0.14,0.05 -0.28,0.09 -0.41,0.14 -0.08,0.03 -0.15,0.12 -0.12,0.21 0.04,0.09 0.13,0.15 0.22,0.12 z"
+   id="path946" />
+			<path
+   class="st1"
+   d="m 614.89,347.42 c -0.54,0.07 -1.07,0.19 -1.62,0.25 -0.52,0.06 -1.04,0.09 -1.57,0.11 -1.07,0.05 -2.14,0.1 -3.2,0.1 -0.23,0 -0.22,0.33 0,0.35 1.09,0.09 2.17,0.11 3.26,0.02 0.54,-0.04 1.08,-0.11 1.62,-0.17 0.52,-0.06 1.05,-0.08 1.56,-0.19 0.28,-0.04 0.23,-0.5 -0.05,-0.47 z"
+   id="path948" />
+			<path
+   class="st1"
+   d="m 581.5,353.48 c -0.22,-0.17 -0.55,-0.1 -0.81,-0.08 -0.28,0.02 -0.56,0.04 -0.84,0.07 -0.28,0.03 -0.56,0.07 -0.84,0.12 -0.29,0.05 -0.58,0.07 -0.86,0.15 -0.15,0.04 -0.11,0.24 0.03,0.26 0.29,0.03 0.58,0 0.88,0 0.27,0 0.54,0 0.81,-0.02 0.27,-0.02 0.54,-0.04 0.81,-0.06 0.25,-0.02 0.63,0 0.81,-0.2 0.06,-0.06 0.08,-0.18 0.01,-0.24 z"
+   id="path950" />
+			<path
+   class="st1"
+   d="m 581.78,353.8 c 0.2,0.01 0.4,0.02 0.6,0.04 0.1,0.01 0.19,0.02 0.29,0.02 0.12,-0.01 0.23,0 0.33,-0.07 l 0.02,-0.01 c 0.13,-0.05 0.13,-0.22 0,-0.27 -0.01,0 -0.01,0 -0.02,-0.01 -0.09,-0.07 -0.21,-0.06 -0.33,-0.07 -0.1,-0.01 -0.2,0.01 -0.29,0.02 -0.2,0.02 -0.4,0.03 -0.6,0.04 -0.2,0.02 -0.2,0.3 0,0.31 z"
+   id="path952" />
+			<path
+   class="st1"
+   d="m 583.37,353.82 c 0.2,-0.01 0.4,-0.02 0.6,-0.02 0.11,0 0.22,-0.02 0.32,-0.03 0.09,-0.01 0.18,-0.02 0.26,-0.06 0.09,-0.02 0.19,-0.04 0.25,-0.11 0.07,-0.07 0.05,-0.17 -0.03,-0.22 -0.07,-0.05 -0.16,-0.05 -0.24,-0.05 -0.09,-0.04 -0.19,-0.02 -0.28,-0.01 -0.11,0.01 -0.22,0.02 -0.34,0.04 -0.2,0.03 -0.39,0.07 -0.59,0.1 -0.09,0.02 -0.15,0.13 -0.14,0.21 0.01,0.07 0.09,0.15 0.19,0.15 z"
+   id="path954" />
+			<path
+   class="st1"
+   d="m 609.25,353.4 c 0.32,0.06 0.65,0.03 0.98,0.01 0.16,-0.01 0.32,-0.01 0.47,-0.03 0.09,-0.01 0.17,-0.03 0.26,-0.05 0.07,-0.01 0.11,-0.04 0.15,-0.07 0.05,-0.03 0.1,-0.05 0.14,-0.11 0.03,-0.04 0.01,-0.1 -0.02,-0.13 -0.03,-0.04 -0.07,-0.05 -0.11,-0.07 -0.06,-0.05 -0.14,-0.06 -0.22,-0.07 -0.07,0 -0.15,-0.01 -0.22,-0.01 -0.16,0.01 -0.32,0.02 -0.47,0.04 -0.32,0.03 -0.65,0.03 -0.96,0.13 -0.16,0.05 -0.19,0.32 0,0.36 z"
+   id="path956" />
+			<path
+   class="st1"
+   d="m 612.23,353.15 c 0.18,0.02 0.36,0.04 0.55,0.04 0.18,0 0.34,-0.05 0.52,-0.08 0.1,-0.02 0.18,-0.01 0.28,0.04 0.02,-0.02 0.03,-0.01 0.04,0.02 0.02,0.02 0.04,0.03 0.06,0.04 0.03,0.02 0.07,0.03 0.11,0.04 0.16,0.04 0.41,0.07 0.54,-0.06 0.04,-0.04 0.06,-0.11 0.02,-0.16 -0.11,-0.15 -0.34,-0.16 -0.51,-0.15 -0.05,0 -0.11,0.01 -0.16,0.04 0.05,-0.02 -0.12,0.06 -0.07,0.04 -0.12,0.05 -0.22,0.03 -0.33,-0.01 -0.07,-0.02 -0.14,-0.05 -0.21,-0.08 -0.09,-0.03 -0.18,-0.05 -0.28,-0.06 -0.19,-0.02 -0.38,-0.03 -0.57,-0.04 -0.1,0 -0.19,0.09 -0.19,0.19 0.01,0.11 0.1,0.18 0.2,0.19 z"
+   id="path958" />
+			<path
+   class="st1"
+   d="m 575.86,351.98 c -0.03,-0.01 -0.05,-0.03 -0.08,-0.04 -0.04,-0.02 -0.08,-0.03 -0.12,-0.03 -0.12,-0.02 -0.23,-0.04 -0.35,-0.07 -0.05,-0.01 -0.1,-0.01 -0.15,0.02 -0.04,0.02 -0.08,0.07 -0.09,0.12 -0.02,0.1 0.03,0.22 0.14,0.24 l 0.35,0.06 c 0.04,0.01 0.08,0.02 0.12,0.02 0.04,0 0.08,-0.01 0.12,-0.02 0.03,0 0.05,-0.01 0.08,-0.01 0.03,0 0.05,-0.02 0.08,-0.03 0.06,-0.02 0.1,-0.11 0.04,-0.16 -0.04,-0.04 -0.09,-0.07 -0.14,-0.1 z"
+   id="path960" />
+			<path
+   class="st1"
+   d="m 580.98,356.45 c 0.41,0 0.81,0.01 1.22,0.01 0.2,0 0.41,0.01 0.61,0 0.2,-0.01 0.4,0 0.59,-0.05 0.11,-0.03 0.11,-0.19 0,-0.22 -0.19,-0.05 -0.4,-0.04 -0.59,-0.05 -0.2,-0.01 -0.41,0 -0.61,0 -0.41,0.01 -0.81,0.01 -1.22,0.01 -0.19,0.02 -0.19,0.3 0,0.3 z"
+   id="path962" />
+			<path
+   class="st1"
+   d="m 585.9,356.76 h 1.02 c 0.17,0 0.34,0 0.51,-0.01 0.17,0 0.34,0 0.51,-0.04 0.13,-0.04 0.13,-0.23 0,-0.27 -0.16,-0.05 -0.34,-0.04 -0.51,-0.04 -0.17,0 -0.34,-0.01 -0.51,-0.01 h -1.02 c -0.24,0 -0.24,0.37 0,0.37 z"
+   id="path964" />
+			<path
+   class="st1"
+   d="m 591.49,356.59 c 0.11,0 0.23,0 0.34,0 0.06,0 0.11,0 0.17,0 0.06,0 0.13,-0.02 0.19,-0.03 0.11,-0.02 0.11,-0.21 0,-0.23 -0.06,-0.01 -0.12,-0.03 -0.19,-0.03 -0.06,0 -0.11,0 -0.17,0 -0.11,0 -0.23,0 -0.34,0 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.07 0.06,0.14 0.15,0.14 z"
+   id="path966" />
+			<path
+   class="st1"
+   d="m 607.71,356.22 c 0.25,0 0.5,0 0.75,0 0.12,0 0.25,0 0.37,0 0.13,0 0.25,-0.02 0.38,-0.03 0.14,-0.02 0.14,-0.27 0,-0.29 -0.13,-0.02 -0.25,-0.03 -0.38,-0.03 -0.12,0 -0.25,0 -0.37,0 -0.25,0 -0.5,0 -0.75,0 -0.23,-0.01 -0.23,0.35 0,0.35 z"
+   id="path968" />
+			<path
+   class="st1"
+   d="m 612.54,356.07 c 0.13,-0.03 0.27,-0.06 0.4,-0.08 0.07,-0.01 0.13,-0.03 0.2,-0.04 l 0.09,-0.02 c 0.04,-0.01 0.08,-0.03 0.12,-0.05 0.08,-0.05 0.07,-0.19 -0.03,-0.21 -0.04,-0.01 -0.08,-0.02 -0.12,-0.01 -0.03,0 -0.06,0.01 -0.09,0.01 -0.07,0.01 -0.14,0.02 -0.2,0.03 -0.14,0.02 -0.27,0.03 -0.41,0.05 -0.05,0.01 -0.08,0.02 -0.12,0.05 -0.04,0.04 -0.05,0.09 -0.05,0.14 0.02,0.09 0.11,0.15 0.21,0.13 z"
+   id="path970" />
+			<path
+   class="st1"
+   d="m 615.56,355.96 c 0.57,0.01 1.13,0.02 1.7,0 0.28,-0.01 0.55,-0.02 0.83,-0.03 0.28,-0.01 0.56,0.04 0.83,-0.02 0.13,-0.03 0.13,-0.24 0,-0.27 -0.27,-0.06 -0.56,0 -0.83,-0.02 -0.28,-0.01 -0.55,-0.02 -0.83,-0.03 -0.57,-0.02 -1.13,0 -1.7,0 -0.23,0.01 -0.23,0.36 0,0.37 z"
+   id="path972" />
+			<path
+   class="st1"
+   d="m 618.35,352.91 c 0.25,0 0.25,-0.39 0,-0.39 -0.25,0 -0.25,0.39 0,0.39 z"
+   id="path974" />
+			<path
+   class="st1"
+   d="m 597.37,377.52 c -0.01,-0.03 -0.02,-0.07 -0.04,-0.1 -0.01,-0.03 -0.02,-0.05 -0.04,-0.07 -0.01,-0.01 -0.02,-0.02 -0.03,-0.02 -0.04,-0.03 -0.09,-0.03 -0.13,-0.01 -0.04,0.02 -0.06,0.04 -0.08,0.08 -0.02,0.04 -0.02,0.09 0.01,0.13 0.01,0.02 0.02,0.04 0.04,0.05 -0.31,0.06 -0.62,0.14 -0.91,0.26 -0.16,0.07 -0.04,0.35 0.12,0.29 0.33,-0.13 0.68,-0.23 1.04,-0.25 0.18,-0.01 0.35,-0.01 0.53,-0.01 0.08,0 0.16,-0.02 0.25,-0.02 0,0.14 0,0.29 0.02,0.43 0.02,0.11 0.2,0.11 0.22,0 0.02,-0.15 0.02,-0.3 0.02,-0.45 0.01,0 0.02,0 0.03,0 0.1,-0.02 0.12,-0.17 0.03,-0.22 -0.02,-0.01 -0.04,-0.01 -0.06,-0.02 0,-0.15 -0.01,-0.31 -0.01,-0.46 0,-0.38 0,-0.77 -0.01,-1.15 0,-0.16 -0.24,-0.16 -0.24,0 0,0.38 0,0.77 -0.01,1.15 0,0.13 -0.01,0.25 -0.01,0.38 -0.07,-0.02 -0.15,-0.04 -0.22,-0.04 -0.16,0 -0.34,0.03 -0.52,0.05 z"
+   id="path976" />
+			<path
+   class="st1"
+   d="m 576.32,363.12 c 0.27,-0.02 0.54,-0.04 0.81,-0.06 0.27,-0.02 0.55,-0.03 0.81,-0.13 0.08,-0.03 0.1,-0.17 0,-0.19 -0.27,-0.06 -0.54,-0.02 -0.81,0 -0.27,0.02 -0.54,0.05 -0.81,0.07 -0.09,0.01 -0.16,0.07 -0.16,0.16 0.01,0.07 0.08,0.15 0.16,0.15 z"
+   id="path978" />
+			<path
+   class="st1"
+   d="m 580.31,363.09 c 0.17,0 0.17,-0.27 0,-0.27 -0.17,0 -0.17,0.27 0,0.27 z"
+   id="path980" />
+			<path
+   class="st1"
+   d="m 575.02,364.2 c -0.42,-0.09 -0.84,-0.09 -1.26,-0.09 -0.43,0 -0.86,0 -1.29,0 -0.23,0 -0.23,0.35 0,0.35 0.43,0 0.86,0 1.29,0 0.43,0 0.85,0 1.26,-0.09 0.08,-0.01 0.08,-0.15 0,-0.17 z"
+   id="path982" />
+			<path
+   class="st1"
+   d="m 577.12,364.25 c -0.22,0 -0.22,0.34 0,0.34 0.22,0 0.22,-0.34 0,-0.34 z"
+   id="path984" />
+			<path
+   class="st1"
+   d="m 579.12,364.32 c 0.54,0.01 1.08,0.02 1.63,0.02 0.27,0 0.54,0.01 0.81,0 0.13,0 0.25,-0.01 0.38,-0.03 0.13,-0.01 0.28,-0.01 0.41,-0.05 0.11,-0.04 0.11,-0.19 0,-0.23 -0.13,-0.05 -0.27,-0.04 -0.41,-0.05 -0.13,-0.01 -0.25,-0.02 -0.38,-0.03 -0.27,0 -0.54,0 -0.81,0 -0.54,0.01 -1.08,0.02 -1.63,0.02 -0.22,0.02 -0.22,0.35 0,0.35 z"
+   id="path986" />
+			<path
+   class="st1"
+   d="m 585.1,364.3 c 0.11,0 0.23,0 0.34,0 0.06,0 0.11,0 0.17,0 0.06,0 0.13,-0.01 0.19,-0.03 0.11,-0.02 0.11,-0.2 0,-0.23 -0.06,-0.01 -0.13,-0.03 -0.19,-0.03 -0.06,0 -0.11,0 -0.17,0 -0.11,0 -0.23,0 -0.34,0 -0.07,0 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.15 0.14,0.15 z"
+   id="path988" />
+			<path
+   class="st1"
+   d="m 588.29,364.45 c 0.23,0 0.45,0.01 0.68,0.01 0.11,0 0.23,0 0.34,0.01 0.12,0 0.23,-0.01 0.35,-0.03 0.14,-0.02 0.14,-0.27 0,-0.29 -0.12,-0.02 -0.23,-0.03 -0.35,-0.03 -0.11,0 -0.23,0 -0.34,0.01 -0.23,0 -0.45,0.01 -0.68,0.01 -0.2,-0.01 -0.2,0.3 0,0.31 z"
+   id="path990" />
+			<path
+   class="st1"
+   d="m 592.82,364.28 c 0.16,0 0.16,-0.25 0,-0.25 -0.17,0 -0.17,0.25 0,0.25 z"
+   id="path992" />
+			<path
+   class="st1"
+   d="m 583.9,365.89 c 1.46,0.03 2.92,0.1 4.38,0.06 0.72,-0.02 1.44,-0.06 2.16,-0.05 0.71,0.01 1.43,0.07 2.12,-0.07 0.08,-0.02 0.08,-0.14 0,-0.16 -0.68,-0.13 -1.38,-0.08 -2.06,-0.07 -0.74,0.01 -1.48,-0.03 -2.22,-0.05 -1.46,-0.04 -2.92,0.03 -4.38,0.06 -0.18,0 -0.18,0.28 0,0.28 z"
+   id="path994" />
+			<path
+   class="st1"
+   d="m 594.54,366.16 c 0.11,0 0.23,0 0.34,0 h 0.17 c 0.06,0 0.13,-0.02 0.19,-0.03 0.11,-0.02 0.11,-0.2 0,-0.23 -0.06,-0.01 -0.13,-0.03 -0.19,-0.03 h -0.17 -0.34 c -0.08,0 -0.15,0.07 -0.15,0.15 0.01,0.08 0.07,0.14 0.15,0.14 z"
+   id="path996" />
+			<path
+   class="st1"
+   d="m 596.71,366.16 c 0.23,-0.04 0.45,-0.09 0.68,-0.13 0.11,-0.02 0.22,-0.05 0.33,-0.09 0.11,-0.03 0.22,-0.06 0.33,-0.11 0.09,-0.05 0.04,-0.18 -0.05,-0.18 -0.11,-0.01 -0.23,0.01 -0.34,0.02 -0.12,0.01 -0.24,0.03 -0.36,0.05 -0.23,0.05 -0.45,0.09 -0.68,0.14 -0.08,0.02 -0.13,0.11 -0.11,0.19 0.04,0.09 0.12,0.13 0.2,0.11 z"
+   id="path998" />
+			<path
+   class="st1"
+   d="m 599.6,365.87 c 0.15,0 0.15,-0.24 0,-0.24 -0.16,0 -0.16,0.24 0,0.24 z"
+   id="path1000" />
+			<path
+   class="st1"
+   d="m 583.5,366.96 c 0.75,-0.04 1.51,-0.08 2.26,-0.12 0.22,-0.01 0.23,-0.36 0,-0.35 -0.75,0.04 -1.51,0.09 -2.26,0.13 -0.21,0.01 -0.22,0.35 0,0.34 z"
+   id="path1002" />
+			<path
+   class="st1"
+   d="m 605.45,366.42 c 0.32,0.01 0.63,0.01 0.95,0.02 0.16,0 0.32,0.01 0.47,0.01 0.16,0 0.32,0.02 0.48,-0.03 0.13,-0.04 0.13,-0.23 0,-0.27 -0.15,-0.05 -0.32,-0.03 -0.48,-0.03 -0.16,0 -0.32,0 -0.47,0.01 -0.32,0.01 -0.63,0.01 -0.95,0.02 -0.18,0 -0.18,0.27 0,0.27 z"
+   id="path1004" />
+			<path
+   class="st1"
+   d="m 609.98,366.54 c 0.68,-0.02 1.35,0 2.03,-0.05 0.7,-0.05 1.39,-0.15 2.09,-0.18 0.68,-0.03 1.35,-0.02 2.03,-0.05 0.31,-0.02 0.64,-0.02 0.95,-0.08 0.34,-0.07 0.68,-0.17 1.02,-0.24 0.04,-0.01 0.03,-0.06 -0.01,-0.06 -0.35,-0.03 -0.7,-0.09 -1.04,-0.12 -0.33,-0.02 -0.66,0.01 -0.98,0.03 -0.68,0.04 -1.35,0.13 -2.03,0.17 -0.66,0.05 -1.31,0.02 -1.97,0.05 -0.7,0.03 -1.39,0.12 -2.09,0.18 -0.23,0.01 -0.23,0.35 0,0.35 z"
+   id="path1006" />
+			<path
+   class="st1"
+   d="m 619.72,365.76 c -0.04,0 -0.07,-0.01 -0.11,-0.01 -0.04,-0.01 -0.07,-0.02 -0.13,-0.02 -0.04,0 -0.08,0 -0.12,0 -0.16,0 -0.32,0.01 -0.48,0.01 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.08 0.07,0.15 0.15,0.15 0.16,0 0.32,0.01 0.48,0.01 0.04,0 0.08,0 0.12,0 0.05,0 0.08,-0.02 0.12,-0.02 0.09,-0.01 0.18,-0.02 0.26,-0.05 0.07,-0.03 0.07,-0.15 0,-0.18 -0.05,-0.03 -0.09,-0.04 -0.14,-0.04 z"
+   id="path1008" />
+			<path
+   class="st1"
+   d="m 621.43,365.79 c -0.08,-0.01 -0.17,-0.03 -0.26,-0.04 -0.03,-0.01 -0.05,-0.01 -0.08,0 -0.02,0.01 -0.04,0.02 -0.06,0.04 -0.03,0.03 -0.04,0.06 -0.04,0.1 0,0.04 0.02,0.07 0.04,0.1 0.02,0.02 0.04,0.03 0.06,0.04 0.03,0.01 0.05,0.01 0.08,0 0.08,-0.01 0.17,-0.03 0.26,-0.04 l 0.02,-0.01 c 0.01,-0.01 0.02,-0.01 0.03,-0.03 0.01,-0.02 0.02,-0.04 0.02,-0.06 0,-0.02 -0.01,-0.03 -0.01,-0.05 -0.01,-0.03 -0.03,-0.05 -0.06,-0.05 z"
+   id="path1010" />
+			<path
+   class="st1"
+   d="m 622.16,365.89 c 0.01,0.08 0.09,0.17 0.18,0.16 0.19,-0.02 0.38,-0.03 0.57,-0.07 0.09,-0.02 0.18,-0.04 0.26,-0.06 0.09,-0.02 0.17,-0.05 0.26,-0.08 0.13,-0.04 0.1,-0.23 -0.03,-0.24 -0.09,-0.01 -0.18,-0.02 -0.27,-0.01 -0.09,0 -0.18,0 -0.27,0.01 -0.19,0.02 -0.38,0.05 -0.57,0.08 -0.09,0.02 -0.15,0.13 -0.13,0.21 z"
+   id="path1012" />
+			<path
+   class="st1"
+   d="m 624.47,365.87 c 0.02,0 0.05,0 0.07,0 0.01,0 0.03,0 0.04,0 0.01,0 0.02,-0.01 0.04,-0.02 0.01,0 0.02,-0.01 0.03,-0.01 0.03,-0.01 0.05,-0.06 0.05,-0.09 0,-0.03 -0.02,-0.07 -0.05,-0.09 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.01,0 -0.03,0 -0.04,0 -0.02,0 -0.05,0 -0.07,0 -0.05,0 -0.09,0 -0.14,0 -0.03,0 -0.06,0.01 -0.08,0.03 -0.02,0.02 -0.04,0.05 -0.03,0.08 0,0.06 0.05,0.12 0.12,0.12 0.04,0.01 0.09,0.01 0.13,0.01 z"
+   id="path1014" />
+			<path
+   class="st1"
+   d="m 605.98,363.75 c 0.48,0.03 0.95,0.08 1.42,0.12 0.24,0.02 0.47,0.05 0.71,0.05 0.23,0.01 0.48,0.03 0.7,-0.03 0.17,-0.04 0.15,-0.27 0,-0.32 -0.22,-0.07 -0.47,-0.07 -0.7,-0.09 -0.24,-0.02 -0.48,-0.01 -0.71,-0.01 -0.47,-0.01 -0.95,0 -1.42,-0.02 -0.19,0 -0.19,0.29 0,0.3 z"
+   id="path1016" />
+			<path
+   class="st1"
+   d="m 611.97,364.06 c 0.25,-0.02 0.51,-0.04 0.76,-0.07 0.12,-0.01 0.25,-0.03 0.37,-0.04 0.13,-0.02 0.28,-0.01 0.4,-0.08 0.1,-0.06 0.07,-0.2 -0.03,-0.24 -0.12,-0.04 -0.25,-0.01 -0.38,-0.01 -0.12,0.01 -0.25,0.01 -0.37,0.02 -0.25,0.02 -0.5,0.04 -0.75,0.07 -0.09,0.01 -0.17,0.07 -0.17,0.17 -0.01,0.1 0.07,0.19 0.17,0.18 z"
+   id="path1018" />
+			<path
+   class="st1"
+   d="m 614.63,363.78 c 0.27,0.01 0.54,0.02 0.81,0.02 0.13,0 0.27,0 0.4,-0.01 0.13,-0.01 0.28,-0.03 0.41,-0.07 0.1,-0.03 0.1,-0.17 0,-0.2 -0.13,-0.04 -0.28,-0.06 -0.41,-0.07 -0.13,-0.01 -0.27,-0.01 -0.4,-0.01 -0.27,0 -0.54,0.02 -0.81,0.02 -0.21,0.01 -0.21,0.31 0,0.32 z"
+   id="path1020" />
+			<path
+   class="st1"
+   d="m 617.15,363.85 c 0.39,-0.01 0.78,0 1.17,-0.01 0.19,-0.01 0.38,-0.03 0.58,-0.05 0.1,-0.01 0.19,-0.05 0.3,-0.07 0.1,-0.02 0.19,-0.05 0.28,-0.09 0.11,-0.05 0.06,-0.2 -0.03,-0.23 -0.1,-0.03 -0.2,-0.05 -0.3,-0.05 -0.09,0 -0.17,-0.03 -0.27,-0.03 -0.19,0 -0.38,0 -0.58,0.02 -0.39,0.03 -0.77,0.08 -1.15,0.12 -0.25,0.01 -0.26,0.39 0,0.39 z"
+   id="path1022" />
+			<path
+   class="st1"
+   d="m 621.01,363.56 c 0.16,0 0.32,0 0.48,0.01 0.08,0 0.16,0 0.24,-0.01 0.04,0 0.07,0 0.11,-0.01 0.03,0 0.06,0 0.09,-0.01 0.03,-0.01 0.06,-0.03 0.09,-0.05 0.11,-0.07 0.11,-0.21 0,-0.29 -0.02,-0.01 -0.04,-0.03 -0.06,-0.04 -0.04,-0.02 -0.07,-0.02 -0.11,-0.02 -0.04,0 -0.07,0 -0.11,-0.01 -0.08,0 -0.16,-0.01 -0.24,-0.01 -0.16,0 -0.32,0 -0.48,0.01 -0.11,0 -0.21,0.09 -0.21,0.21 0,0.13 0.08,0.22 0.2,0.22 z"
+   id="path1024" />
+			<path
+   class="st1"
+   d="m 620.48,367.19 c -0.2,0 -0.2,0.31 0,0.31 0.2,0 0.2,-0.31 0,-0.31 z"
+   id="path1026" />
+			<path
+   class="st1"
+   d="m 624.2,367.54 0.43,-0.05 c 0.03,0 0.07,-0.01 0.1,-0.01 0.06,-0.01 0.12,0 0.18,-0.03 0.01,-0.01 0.01,0 0.01,-0.01 0,0 0,0 0,0 0.02,0 0.04,-0.01 0.06,-0.02 0.02,-0.01 0.05,-0.01 0.07,-0.03 0.03,-0.02 0.05,-0.04 0.07,-0.07 0.03,-0.05 0.02,-0.13 -0.02,-0.16 -0.03,-0.02 -0.05,-0.04 -0.08,-0.05 -0.02,-0.01 -0.05,-0.01 -0.07,-0.01 -0.02,0 -0.04,0 -0.05,0 0,0 -0.01,0 -0.01,0 0,0 0,0 -0.01,0 -0.06,-0.02 -0.12,0.01 -0.18,0.02 -0.03,0.01 -0.07,0.01 -0.1,0.02 -0.14,0.03 -0.28,0.05 -0.43,0.08 -0.08,0.02 -0.13,0.11 -0.12,0.18 0,0.07 0.07,0.15 0.15,0.14 z"
+   id="path1028" />
+			<path
+   class="st1"
+   d="m 618.35,365.24 c 0.68,-0.02 1.36,-0.04 2.03,-0.05 0.66,-0.01 1.34,0.01 1.99,-0.12 0.15,-0.03 0.09,-0.23 -0.03,-0.24 -0.66,-0.09 -1.33,-0.02 -1.99,0.02 -0.66,0.04 -1.33,0.06 -1.99,0.09 -0.21,0 -0.21,0.3 -0.01,0.3 z"
+   id="path1030" />
+			<path
+   class="st1"
+   d="m 575.49,374.08 c -0.06,-0.02 -0.12,-0.04 -0.18,-0.05 -0.06,-0.01 -0.11,-0.01 -0.17,-0.02 -0.23,-0.02 -0.45,-0.04 -0.68,-0.06 -0.09,-0.01 -0.17,0.08 -0.17,0.17 0,0.1 0.08,0.16 0.17,0.17 0.23,0.02 0.45,0.05 0.68,0.07 0.05,0.01 0.1,0.01 0.16,0.02 0.06,0.01 0.12,-0.01 0.18,-0.01 0.11,-0.01 0.22,-0.01 0.34,-0.03 0.1,-0.02 0.07,-0.15 0,-0.17 -0.11,-0.03 -0.22,-0.05 -0.33,-0.09 z"
+   id="path1032" />
+			<path
+   class="st1"
+   d="m 574.73,375.07 c -0.16,0 -0.16,0.25 0,0.25 0.16,0 0.16,-0.25 0,-0.25 z"
+   id="path1034" />
+			<path
+   class="st1"
+   d="m 575.45,376.8 c -0.02,-0.01 -0.04,-0.01 -0.05,-0.02 -0.01,0 -0.03,-0.02 0,0 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.03,-0.02 -0.06,-0.03 -0.09,-0.06 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 0.03,0.02 0.01,0.01 0,0 -0.01,-0.01 -0.03,-0.02 -0.04,-0.04 -0.03,-0.03 -0.05,-0.05 -0.08,-0.08 0,0 -0.01,-0.01 -0.01,-0.02 0,0 0,0 0,0 -0.01,-0.01 -0.02,-0.03 -0.03,-0.05 -0.01,-0.02 -0.02,-0.03 -0.03,-0.05 0,-0.01 -0.01,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.03 -0.01,-0.05 0.01,0 0.02,0.01 0.03,0.01 0.03,0.01 0.07,0.01 0.1,0.02 0.02,0 0.03,0 0.05,0 0.07,0 0.15,-0.05 0.17,-0.12 0.01,-0.04 0.01,-0.07 -0.01,-0.11 -0.02,-0.04 -0.04,-0.06 -0.07,-0.08 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.04,-0.03 -0.09,-0.05 -0.14,-0.07 -0.07,-0.03 -0.14,-0.05 -0.21,-0.08 -0.05,-0.02 -0.11,0 -0.15,0.02 -0.04,0.02 -0.08,0.07 -0.09,0.12 -0.01,0.05 -0.01,0.11 0.02,0.15 0.02,0.04 0.06,0.06 0.1,0.08 -0.03,0.04 -0.08,0.07 -0.07,0.12 0.04,0.19 0.15,0.37 0.31,0.48 0.07,0.05 0.15,0.09 0.24,0.12 0.05,0.01 0.09,0.02 0.14,0.03 0.05,0.01 0.1,0 0.15,-0.01 0.1,-0.02 0.1,-0.18 0,-0.2 -0.07,-0.01 -0.1,-0.02 -0.14,-0.03 z"
+   id="path1036" />
+			<path
+   class="st1"
+   d="m 577.12,372.37 c -0.05,-0.01 -0.1,-0.01 -0.16,-0.02 -0.11,-0.01 -0.22,-0.03 -0.33,-0.04 -0.24,-0.03 -0.48,-0.06 -0.72,-0.08 -0.1,-0.01 -0.2,0.1 -0.2,0.2 0.01,0.12 0.09,0.19 0.2,0.2 0.23,0.02 0.45,0.04 0.68,0.06 0.11,0.01 0.23,0.02 0.34,0.02 0.05,0 0.1,0.01 0.16,0.01 0.07,0.01 0.13,-0.01 0.2,-0.02 0.12,-0.02 0.15,-0.22 0.03,-0.27 -0.06,-0.03 -0.12,-0.05 -0.2,-0.06 z"
+   id="path1038" />
+			<path
+   class="st1"
+   d="m 580.99,372.36 c -0.11,-0.01 -0.21,-0.01 -0.32,-0.01 -0.21,-0.01 -0.41,0 -0.62,-0.01 -0.1,0 -0.19,0.09 -0.19,0.19 0,0.1 0.08,0.19 0.19,0.19 0.21,0 0.42,0 0.62,-0.01 0.21,-0.01 0.44,0.01 0.63,-0.08 0.08,-0.04 0.08,-0.17 0,-0.2 -0.09,-0.04 -0.21,-0.06 -0.31,-0.07 z"
+   id="path1040" />
+			<path
+   class="st1"
+   d="m 582.8,372.65 c -0.03,0 -0.07,0.04 -0.09,0.07 -0.02,0.03 -0.03,0.08 -0.02,0.12 0.03,0.08 0.11,0.13 0.19,0.11 0.22,-0.06 0.44,-0.11 0.65,-0.19 0.05,-0.02 0.08,-0.06 0.07,-0.11 -0.01,-0.05 -0.05,-0.09 -0.1,-0.08 -0.23,0.01 -0.47,0.05 -0.7,0.08 z"
+   id="path1042" />
+			<path
+   class="st1"
+   d="m 619.86,371.71 c -0.14,0 -0.28,0 -0.42,0.01 -0.28,0 -0.55,0.01 -0.83,0.01 -0.18,0 -0.18,0.28 0,0.28 0.28,0 0.55,0.01 0.83,0.01 0.14,0 0.28,0 0.42,0.01 0.13,0 0.3,0.01 0.41,-0.05 0.08,-0.05 0.08,-0.17 0,-0.22 -0.11,-0.07 -0.28,-0.06 -0.41,-0.05 z"
+   id="path1044" />
+			<path
+   class="st1"
+   d="m 622.81,371.59 c -0.07,0 -0.13,-0.01 -0.2,-0.01 -0.14,0 -0.27,0 -0.41,0 -0.08,0 -0.15,0.07 -0.14,0.15 0,0.08 0.06,0.14 0.14,0.14 0.14,0 0.27,0.01 0.41,0 0.07,0 0.13,-0.01 0.2,-0.01 0.08,0 0.15,0 0.22,-0.03 0.11,-0.04 0.11,-0.18 0,-0.22 -0.07,-0.01 -0.14,-0.01 -0.22,-0.02 z"
+   id="path1046" />
+			<path
+   class="st1"
+   d="m 625.23,371.86 c 0.1,0.02 0.2,0.04 0.31,0.06 0.05,0.01 0.1,0.02 0.15,0.03 0.03,0 0.05,0.01 0.08,0.01 0.06,0.01 0.1,0 0.15,-0.03 0.01,0 0.02,-0.01 0.03,-0.01 0.03,-0.01 0.06,-0.03 0.07,-0.07 0.01,-0.03 0,-0.08 -0.03,-0.1 -0.01,-0.01 -0.02,-0.02 -0.03,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.02,-0.02 -0.06,-0.04 -0.08,-0.05 -0.03,-0.01 -0.05,-0.01 -0.08,-0.01 -0.05,-0.01 -0.1,-0.01 -0.15,-0.02 -0.1,-0.01 -0.21,-0.03 -0.31,-0.04 -0.04,-0.01 -0.08,-0.01 -0.12,0.02 -0.03,0.02 -0.06,0.06 -0.07,0.09 -0.03,0.05 0.01,0.15 0.1,0.17 z"
+   id="path1048" />
+			<path
+   class="st1"
+   d="m 624.04,372.67 c 0.06,0 0.13,-0.01 0.19,-0.03 0.05,-0.01 0.09,-0.06 0.08,-0.11 0,-0.05 -0.03,-0.1 -0.08,-0.11 -0.06,-0.01 -0.12,-0.02 -0.19,-0.03 h -0.17 c -0.11,0 -0.23,0 -0.34,0 -0.07,0 -0.14,0.07 -0.14,0.14 0,0.08 0.06,0.14 0.14,0.14 0.11,0 0.23,0 0.34,0 z"
+   id="path1050" />
+			<path
+   class="st1"
+   d="m 626.06,372.33 c -0.05,0 -0.09,0.02 -0.13,0.05 -0.03,0.03 -0.05,0.08 -0.05,0.13 0,0.05 0.02,0.09 0.05,0.13 0.03,0.03 0.08,0.06 0.13,0.05 l 0.2,-0.01 c 0.03,0 0.06,0 0.1,-0.01 0.02,0 0.04,0 0.06,-0.01 0.02,-0.01 0.04,-0.01 0.05,-0.02 0.01,-0.01 0.03,-0.02 0.04,-0.02 0.04,-0.03 0.07,-0.07 0.07,-0.13 0,-0.05 -0.03,-0.1 -0.07,-0.13 -0.05,-0.02 -0.1,-0.05 -0.16,-0.05 -0.03,0 -0.07,0 -0.1,0.01 z"
+   id="path1052" />
+			<path
+   class="st1"
+   d="m 625.57,373.73 c 0.16,-0.01 0.32,-0.02 0.47,-0.02 0.14,0 0.34,0.02 0.46,-0.07 0.05,-0.03 0.06,-0.11 0,-0.14 -0.13,-0.07 -0.3,-0.03 -0.44,-0.01 -0.16,0.02 -0.33,0.04 -0.49,0.04 -0.32,0.01 -0.65,0.04 -0.97,0.06 -0.14,0.01 -0.14,0.22 0,0.21 0.32,-0.02 0.64,-0.04 0.97,-0.07 z"
+   id="path1054" />
+			<path
+   class="st1"
+   d="m 624.9,374.94 c 0.1,0 0.27,0.01 0.33,-0.09 0.02,-0.03 0.02,-0.08 0,-0.11 -0.06,-0.1 -0.23,-0.1 -0.33,-0.09 -0.11,0 -0.21,0 -0.32,0.01 -0.22,0 -0.43,0.01 -0.65,0.01 -0.17,0 -0.17,0.26 0,0.26 0.22,0 0.43,0.01 0.65,0.01 0.11,0 0.21,0 0.32,0 z"
+   id="path1056" />
+			<path
+   class="st1"
+   d="m 625.93,374.79 c -0.17,0 -0.17,0.27 0,0.27 0.17,0 0.17,-0.27 0,-0.27 z"
+   id="path1058" />
+			<path
+   class="st1"
+   d="m 624.6,375.71 c -0.19,0 -0.19,0.3 0,0.3 0.19,0 0.19,-0.3 0,-0.3 z"
+   id="path1060" />
+			<path
+   class="st1"
+   d="m 626.36,375.7 -0.46,0.05 c -0.3,0.04 -0.6,0.07 -0.9,0.1 -0.09,0.01 -0.16,0.07 -0.16,0.16 0,0.08 0.08,0.17 0.16,0.16 0.3,-0.02 0.6,-0.03 0.9,-0.05 0.15,-0.01 0.29,-0.01 0.44,-0.02 0.14,-0.01 0.35,-0.02 0.46,-0.11 0.08,-0.06 0.11,-0.2 0,-0.25 -0.12,-0.06 -0.3,-0.06 -0.44,-0.04 z"
+   id="path1062" />
+			<path
+   class="st1"
+   d="m 568.91,390.65 c 0.01,0.04 0.05,0.08 0.1,0.07 0.05,0 0.08,-0.03 0.1,-0.07 0.01,-0.02 0.01,-0.04 0.02,-0.06 0.01,-0.03 0,-0.06 0,-0.09 v -0.14 c 0,-0.03 -0.01,-0.06 -0.03,-0.08 -0.02,-0.02 -0.05,-0.03 -0.08,-0.03 -0.06,0 -0.11,0.05 -0.11,0.11 v 0.14 c 0,0.03 0,0.06 0,0.09 -0.01,0.01 0,0.04 0,0.06 z"
+   id="path1064" />
+			<path
+   class="st1"
+   d="m 570.59,387.32 c 0.01,0.09 0.03,0.18 0.06,0.26 0.04,0.1 0.17,0.08 0.18,-0.02 0.02,-0.17 -0.02,-0.36 -0.03,-0.53 -0.02,-0.18 -0.04,-0.35 -0.07,-0.53 -0.01,-0.07 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.13,0.06 -0.12,0.12 0.02,0.18 0.04,0.37 0.07,0.55 0,0.09 0.02,0.18 0.03,0.27 z"
+   id="path1066" />
+			<path
+   class="st1"
+   d="m 571.78,388.92 c 0.06,-0.19 0.05,-0.43 0.05,-0.63 0,-0.21 -0.01,-0.43 -0.01,-0.64 -0.01,-0.43 -0.03,-0.86 -0.05,-1.29 -0.01,-0.13 -0.19,-0.13 -0.2,0 -0.02,0.43 -0.04,0.86 -0.05,1.29 -0.01,0.21 -0.01,0.43 -0.01,0.64 0,0.2 -0.01,0.43 0.05,0.63 0.03,0.11 0.19,0.11 0.22,0 z"
+   id="path1068" />
+			<path
+   class="st1"
+   d="m 571.75,390.96 c -0.01,0.01 -0.02,0.03 -0.02,0.05 0,0.02 0.01,0.04 0.02,0.05 0.03,0.02 0.05,0.04 0.08,0.06 0.01,0.01 0.02,0.02 0.04,0.03 0.01,0.01 0.02,0.02 0.03,0.02 0.01,0 0.01,0.01 0.02,0.01 0.02,0.01 0.04,0.01 0.06,-0.01 0.01,-0.02 0.02,-0.04 0.01,-0.06 l -0.01,-0.02 c -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.02,-0.03 -0.04,-0.05 -0.06,-0.08 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.04,0.03 -0.06,0.04 -0.07,0.05 z"
+   id="path1070" />
+			<path
+   class="st1"
+   d="m 573.4,390.43 c -0.08,0 -0.08,0.12 0,0.12 0.08,0 0.07,-0.12 0,-0.12 z"
+   id="path1072" />
+			<path
+   class="st1"
+   d="m 575.29,388.92 c 0.03,0.11 0.18,0.11 0.21,0 0.04,-0.15 0.04,-0.31 0.05,-0.47 0.01,-0.16 0.01,-0.32 0.01,-0.47 0,-0.32 0,-0.63 0,-0.95 0,-0.21 -0.32,-0.21 -0.32,0 0,0.32 0,0.63 0,0.95 0,0.16 0,0.32 0.01,0.47 0,0.16 -0.01,0.32 0.04,0.47 z"
+   id="path1074" />
+			<path
+   class="st1"
+   d="m 575.39,390.75 c -0.17,0 -0.17,0.26 0,0.26 0.17,0.01 0.17,-0.26 0,-0.26 z"
+   id="path1076" />
+			<path
+   class="st1"
+   d="m 577.28,391.95 c 0.01,0.03 0.02,0.05 0.04,0.07 0.03,0.03 0.09,0.03 0.13,0 0,0 0.01,-0.01 0.01,-0.01 0.02,-0.02 0.03,-0.03 0.03,-0.05 0,-0.01 0,-0.02 0.01,-0.03 0,-0.02 0.01,-0.04 0.01,-0.07 0.01,-0.02 0.01,-0.05 0,-0.07 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.03,-0.02 -0.06,-0.04 -0.09,-0.04 -0.02,0 -0.03,0 -0.05,0.01 -0.02,0.01 -0.03,0.01 -0.04,0.03 -0.02,0.02 -0.03,0.04 -0.03,0.06 -0.01,0.02 -0.01,0.05 0,0.07 0,0.02 0.01,0.04 0.01,0.07 0,0 0,0.01 0,0.02 z"
+   id="path1078" />
+			<path
+   class="st1"
+   d="m 579.12,388.39 c 0.03,0.13 0.23,0.13 0.26,0 0.01,-0.04 0.02,-0.08 0.02,-0.12 0.01,-0.04 0.01,-0.09 0.01,-0.13 0,-0.08 0,-0.16 0,-0.24 0,-0.16 0,-0.32 0,-0.47 0,-0.08 -0.07,-0.16 -0.15,-0.15 -0.08,0 -0.15,0.07 -0.15,0.15 0,0.16 0,0.32 0,0.47 0,0.08 0,0.16 0,0.24 0,0.05 0,0.09 0.01,0.13 -0.02,0.04 -0.01,0.08 0,0.12 z"
+   id="path1080" />
+			<path
+   class="st1"
+   d="m 581.48,391.13 c 0.01,0.06 0.02,0.11 0.03,0.17 0.01,0.06 0.01,0.12 0.05,0.17 0.04,0.05 0.14,0.08 0.18,0 0.05,-0.1 0.03,-0.23 0.02,-0.34 -0.01,-0.12 -0.02,-0.24 -0.03,-0.35 -0.02,-0.23 -0.05,-0.46 -0.07,-0.69 -0.01,-0.07 -0.06,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.14 l 0.07,0.69 c 0,0.12 0.01,0.23 0.03,0.35 z"
+   id="path1082" />
+			<path
+   class="st1"
+   d="m 581.74,392.66 0.07,0.28 c 0.01,0.05 0.02,0.09 0.03,0.14 0.01,0.05 0.03,0.09 0.07,0.12 0.02,0.02 0.05,0.04 0.07,0.05 0.07,0.03 0.14,0.01 0.18,-0.05 0.02,-0.03 0.03,-0.05 0.04,-0.08 0.02,-0.05 0.01,-0.1 0,-0.15 -0.01,-0.05 -0.02,-0.09 -0.04,-0.14 -0.02,-0.09 -0.05,-0.19 -0.07,-0.28 -0.02,-0.09 -0.13,-0.15 -0.22,-0.12 -0.1,0.04 -0.16,0.13 -0.13,0.23 z"
+   id="path1084" />
+			<path
+   class="st1"
+   d="m 585.44,390.82 c 0.05,-0.05 0.05,-0.11 0.05,-0.18 0,-0.06 0,-0.12 0,-0.18 0,-0.11 0,-0.23 0,-0.34 0,-0.23 0,-0.47 -0.01,-0.7 0,-0.14 -0.22,-0.14 -0.22,0 l -0.01,0.7 c 0,0.11 0,0.23 0,0.34 0,0.06 0,0.12 0,0.18 0,0.07 0,0.12 0.05,0.18 0.03,0.04 0.1,0.04 0.14,0 z"
+   id="path1086" />
+			<path
+   class="st1"
+   d="m 586.66,391.57 c 0,0.01 0.01,0.01 0.01,0.01 0.01,0.01 0.02,0.01 0.03,0.01 0.01,0 0.02,0 0.02,-0.01 0.01,0 0.02,-0.02 0.02,-0.03 0.01,-0.04 0.01,-0.09 0.02,-0.13 0,-0.01 0,-0.02 0,-0.03 0,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.03,-0.02 -0.05,-0.02 -0.02,0 -0.03,0.01 -0.05,0.02 -0.01,0.01 -0.01,0.02 -0.02,0.03 0,0.01 0,0.02 0,0.03 0.01,0.04 0.01,0.09 0.02,0.13 0.02,0.02 0.02,0.02 0.02,0.02 z"
+   id="path1088" />
+			<path
+   class="st1"
+   d="m 591.73,388.12 0.01,0.14 c 0,0.06 0.02,0.11 0.04,0.17 0.04,0.08 0.18,0.08 0.22,0 0.03,-0.06 0.04,-0.1 0.04,-0.17 0,-0.04 0,-0.08 0.01,-0.13 0,-0.09 0,-0.19 0,-0.28 0,-0.18 0,-0.37 0,-0.55 0,-0.09 -0.08,-0.17 -0.17,-0.17 -0.09,0 -0.17,0.07 -0.17,0.17 0,0.18 0,0.37 0,0.55 0.01,0.09 0.01,0.18 0.02,0.27 z"
+   id="path1090" />
+			<path
+   class="st1"
+   d="m 594.02,390.02 c 0.03,0 0.06,-0.03 0.06,-0.07 -0.02,-0.19 -0.05,-0.38 -0.08,-0.57 0,-0.03 -0.03,-0.06 -0.06,-0.08 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.06,0.02 -0.11,0.09 -0.09,0.16 0.06,0.17 0.12,0.34 0.19,0.52 0.02,0.03 0.05,0.06 0.08,0.05 z"
+   id="path1092" />
+			<path
+   class="st1"
+   d="m 596.27,391.01 c 0.16,0 0.16,-0.25 0,-0.25 -0.16,0 -0.16,0.25 0,0.25 z"
+   id="path1094" />
+			<path
+   class="st1"
+   d="m 594.28,393.07 c -0.1,0 -0.1,0.16 0,0.16 0.1,0 0.1,-0.16 0,-0.16 z"
+   id="path1096" />
+			<path
+   class="st1"
+   d="m 570.55,390.75 c 0.02,0.37 0.04,0.74 0.06,1.11 0.01,0.18 0.01,0.36 0.03,0.54 0.01,0.09 0.03,0.18 0.04,0.27 0.01,0.09 0.02,0.19 0.06,0.26 0.05,0.09 0.16,0.05 0.19,-0.03 0.03,-0.08 0.03,-0.19 0.03,-0.28 0,-0.08 0.01,-0.17 0.01,-0.25 0,-0.18 -0.02,-0.36 -0.03,-0.54 -0.02,-0.36 -0.05,-0.72 -0.07,-1.08 0,-0.21 -0.33,-0.21 -0.32,0 z"
+   id="path1098" />
+			<path
+   class="st1"
+   d="m 601.39,392.22 c 0.02,-0.31 0.02,-0.62 0.02,-0.93 0,-0.11 -0.17,-0.11 -0.17,0 0,0.31 0,0.62 0.02,0.93 0.01,0.08 0.12,0.08 0.13,0 z"
+   id="path1100" />
+			<path
+   class="st1"
+   d="m 602.79,393.93 c 0.16,0 0.16,-0.24 0,-0.24 -0.16,0 -0.16,0.24 0,0.24 z"
+   id="path1102" />
+			<path
+   class="st1"
+   d="m 604.19,392.53 c 0.02,0.13 0.03,0.28 0.08,0.4 0.03,0.07 0.14,0.05 0.17,-0.02 0.04,-0.12 0.02,-0.27 0.02,-0.4 0,-0.14 -0.01,-0.27 -0.02,-0.41 -0.02,-0.27 -0.04,-0.54 -0.06,-0.81 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.08,0 -0.15,0.07 -0.15,0.15 l 0.06,0.83 c 0.02,0.13 0.03,0.27 0.05,0.41 z"
+   id="path1104" />
+			<path
+   class="st1"
+   d="m 606.13,393.61 c 0.01,0.04 0.03,0.09 0.04,0.13 0.01,0.02 0.01,0.04 0.02,0.06 0.02,0.05 0.04,0.08 0.06,0.12 0.08,0.1 0.27,0.04 0.29,-0.08 0.02,-0.1 -0.01,-0.22 -0.04,-0.32 -0.02,-0.09 -0.05,-0.18 -0.07,-0.28 -0.05,-0.18 -0.09,-0.36 -0.14,-0.54 -0.02,-0.09 -0.13,-0.16 -0.23,-0.13 -0.1,0.03 -0.15,0.13 -0.13,0.23 0.04,0.18 0.09,0.36 0.13,0.54 0.03,0.09 0.05,0.18 0.07,0.27 z"
+   id="path1106" />
+			<path
+   class="st1"
+   d="m 608.01,392.86 c 0.05,0.26 0.08,0.57 0.26,0.78 0.06,0.06 0.18,0.03 0.2,-0.05 0.05,-0.26 -0.06,-0.56 -0.1,-0.82 -0.04,-0.28 -0.08,-0.55 -0.1,-0.83 -0.05,-0.57 -0.04,-1.14 0.03,-1.71 0.03,-0.22 -0.32,-0.22 -0.35,0 -0.07,0.59 -0.09,1.18 -0.05,1.77 0.02,0.28 0.06,0.57 0.11,0.86 z"
+   id="path1108" />
+			<path
+   class="st1"
+   d="m 599.79,388.02 c 0.02,0.12 0.02,0.25 0.13,0.32 0.05,0.03 0.12,0.02 0.16,-0.02 0.08,-0.09 0.06,-0.21 0.05,-0.32 -0.01,-0.09 -0.02,-0.18 -0.03,-0.27 -0.02,-0.19 -0.04,-0.38 -0.07,-0.56 -0.01,-0.09 -0.07,-0.18 -0.17,-0.17 -0.08,0 -0.18,0.08 -0.17,0.17 0.02,0.19 0.05,0.38 0.07,0.57 0,0.09 0.01,0.19 0.03,0.28 z"
+   id="path1110" />
+			<path
+   class="st1"
+   d="m 599.98,389.47 c 0.03,0.08 0.07,0.17 0.14,0.23 0.07,0.06 0.17,0.12 0.26,0.11 0.09,-0.01 0.14,-0.11 0.07,-0.18 -0.02,-0.02 0.01,0.02 0,0 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.03 -0.03,-0.03 0,0 -0.01,-0.01 -0.01,-0.01 -0.02,-0.03 -0.04,-0.05 -0.05,-0.08 -0.01,-0.01 -0.02,-0.03 -0.02,-0.04 0,0 0,0 0,0 0,0 0,-0.01 -0.01,-0.01 -0.01,-0.03 -0.02,-0.06 -0.02,-0.09 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.03 0,-0.05 0,-0.01 0,-0.01 0,-0.02 0,0 0,0 0,0.01 0,0 0,0 0,-0.01 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 0,-0.02 0.01,-0.03 0,-0.01 0.01,-0.03 0.01,-0.04 0,0 0,0 0,0.01 0,-0.01 0.01,-0.01 0.01,-0.02 0.04,-0.07 0.02,-0.17 -0.06,-0.21 -0.07,-0.04 -0.17,-0.02 -0.21,0.06 -0.08,0.14 -0.09,0.34 -0.03,0.5 z"
+   id="path1112" />
+			<path
+   class="st1"
+   d="m 600.26,389.22 c 0,-0.02 0,-0.02 0,0 0,-0.01 0,-0.01 0,0 0,0 0,0 0,0 z"
+   id="path1114" />
+			<path
+   class="st1"
+   d="m 612.5,388.79 c -0.13,0 -0.13,0.2 0,0.2 0.13,0 0.13,-0.2 0,-0.2 z"
+   id="path1116" />
+			<path
+   class="st1"
+   d="m 618.22,388.94 c -0.11,0 -0.11,0.17 0,0.17 0.11,0 0.11,-0.17 0,-0.17 z"
+   id="path1118" />
+			<path
+   class="st1"
+   d="m 622.48,389.12 c 0,0 0,0.01 0,0 0.02,0.08 0.07,0.1 0.11,0.1 0.01,0 0.01,0 0.02,0 0,0 0,0 0,0 0.05,0 0.09,-0.02 0.11,-0.09 0,0 0,-0.01 0,-0.01 0,0 0,-0.01 0,-0.01 0,-0.02 0.01,-0.03 0.01,-0.05 0.07,-0.24 -0.35,-0.24 -0.28,0 0.02,0.02 0.02,0.04 0.03,0.06 0,-0.01 0,0 0,0 z"
+   id="path1120" />
+			<path
+   class="st1"
+   d="m 627.17,389.71 c 0.01,0.08 0.16,0.08 0.17,0 0.09,-0.61 0.06,-1.24 0.06,-1.85 0,-0.63 0,-1.27 0,-1.9 0,-0.19 -0.29,-0.19 -0.29,0 0,0.63 0,1.27 0,1.9 0,0.62 -0.03,1.24 0.06,1.85 z"
+   id="path1122" />
+			<path
+   class="st1"
+   d="m 612.36,392.5 c 0.02,0.15 0.04,0.33 0.12,0.46 0.07,0.12 0.25,0.09 0.29,-0.04 0.04,-0.15 0.01,-0.32 -0.01,-0.48 -0.02,-0.17 -0.05,-0.34 -0.07,-0.51 -0.05,-0.32 -0.09,-0.64 -0.14,-0.97 -0.02,-0.1 -0.15,-0.16 -0.24,-0.14 -0.11,0.03 -0.15,0.14 -0.14,0.24 0.04,0.32 0.09,0.63 0.13,0.95 0.02,0.17 0.04,0.33 0.06,0.49 z"
+   id="path1124" />
+			<path
+   class="st1"
+   d="m 530.08,411.66 c -0.03,-0.47 -0.07,-0.95 -0.1,-1.42 -0.01,-0.13 -0.22,-0.14 -0.21,0 0.03,0.47 0.06,0.95 0.09,1.42 0.02,0.24 0.03,0.47 0.05,0.71 0.02,0.22 0.02,0.46 0.09,0.67 0.02,0.05 0.1,0.06 0.11,0 0.04,-0.22 0.01,-0.45 0,-0.67 0.01,-0.23 -0.01,-0.47 -0.03,-0.71 z"
+   id="path1126" />
+			<path
+   class="st1"
+   d="m 530.27,413.43 c 0,0.07 0,0.13 0.01,0.2 0,0.02 0.02,0.04 0.04,0.04 0.02,0 0.03,-0.02 0.04,-0.04 0,-0.07 0.01,-0.13 0.01,-0.2 0,-0.02 -0.02,-0.04 -0.04,-0.04 -0.04,0 -0.06,0.01 -0.06,0.04 z"
+   id="path1128" />
+			<path
+   class="st1"
+   d="m 531.21,412.2 c -0.03,-0.14 -0.24,-0.08 -0.21,0.06 0.06,0.4 0.13,0.8 0.19,1.2 0.06,0.4 0.1,0.81 0.22,1.19 0.03,0.11 0.21,0.09 0.21,-0.03 -0.01,-0.41 -0.11,-0.81 -0.18,-1.21 -0.08,-0.4 -0.15,-0.8 -0.23,-1.21 z"
+   id="path1130" />
+			<path
+   class="st1"
+   d="m 533.77,415.39 c -0.02,-0.18 -0.04,-0.35 -0.06,-0.53 -0.04,-0.35 -0.08,-0.69 -0.12,-1.04 -0.02,-0.15 -0.26,-0.16 -0.24,0 0.03,0.35 0.06,0.7 0.09,1.06 0.02,0.17 0.03,0.34 0.05,0.51 0.01,0.09 0.02,0.18 0.03,0.27 0.01,0.09 0.01,0.17 0.08,0.24 0.06,0.05 0.14,0.04 0.18,-0.02 0.06,-0.08 0.03,-0.16 0.02,-0.25 -0.02,-0.08 -0.02,-0.16 -0.03,-0.24 z"
+   id="path1132" />
+			<path
+   class="st1"
+   d="m 536.09,416.46 c -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 -0.04,-0.07 -0.07,-0.13 -0.11,-0.2 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.11 -0.05,0.18 0.03,0.07 0.07,0.14 0.1,0.21 0.01,0.02 0.03,0.04 0.05,0.06 0.01,0.01 0.02,0.03 0.03,0.04 0.01,0.01 0.02,0.03 0.03,0.04 0.02,0.02 0.03,0.03 0.05,0.05 0.05,0.03 0.11,-0.01 0.11,-0.07 0,-0.04 -0.01,-0.08 -0.02,-0.13 0.02,-0.01 0.02,-0.03 0.01,-0.05 z"
+   id="path1134" />
+			<path
+   class="st1"
+   d="m 539.73,415.82 c -0.01,-0.09 -0.15,-0.1 -0.15,0 0.03,0.41 0.05,0.81 0.08,1.22 0.02,0.39 0.02,0.81 0.13,1.19 0.02,0.06 0.09,0.04 0.1,-0.01 0.05,-0.39 -0.02,-0.8 -0.05,-1.2 -0.04,-0.4 -0.08,-0.8 -0.11,-1.2 z"
+   id="path1136" />
+			<path
+   class="st1"
+   d="m 552.92,420.03 c -0.03,-0.14 -0.07,-0.28 -0.1,-0.41 -0.07,-0.28 -0.14,-0.56 -0.21,-0.84 -0.05,-0.2 -0.35,-0.11 -0.31,0.08 0.07,0.28 0.14,0.56 0.21,0.84 0.03,0.14 0.06,0.28 0.1,0.41 0.04,0.13 0.07,0.3 0.19,0.39 0.04,0.03 0.12,0.01 0.15,-0.04 0.05,-0.13 0,-0.3 -0.03,-0.43 z"
+   id="path1138" />
+			<path
+   class="st1"
+   d="m 553.05,420.88 c -0.16,0 -0.17,0.26 0,0.26 0.17,0 0.17,-0.26 0,-0.26 z"
+   id="path1140" />
+			<path
+   class="st1"
+   d="m 555.44,420.71 c 0.13,0 0.13,-0.2 0,-0.2 -0.12,0 -0.12,0.2 0,0.2 z"
+   id="path1142" />
+			<path
+   class="st1"
+   d="m 557.8,420.76 c -0.07,-0.2 -0.13,-0.4 -0.2,-0.6 -0.03,-0.08 -0.11,-0.14 -0.2,-0.11 -0.08,0.02 -0.14,0.12 -0.11,0.2 0.07,0.2 0.14,0.41 0.2,0.61 0.03,0.1 0.07,0.2 0.1,0.29 0.04,0.11 0.08,0.21 0.14,0.32 0.03,0.06 0.11,0.08 0.17,0.06 0.07,-0.03 0.09,-0.09 0.08,-0.16 -0.02,-0.1 -0.04,-0.2 -0.07,-0.3 -0.05,-0.1 -0.08,-0.2 -0.11,-0.31 z"
+   id="path1144" />
+			<path
+   class="st1"
+   d="m 560.23,420.26 c -0.2,0 -0.2,0.31 0,0.31 0.2,-0.01 0.2,-0.31 0,-0.31 z"
+   id="path1146" />
+			<path
+   class="st1"
+   d="m 561.21,420.94 c -0.17,-0.14 -0.34,-0.27 -0.51,-0.41 -0.03,-0.03 -0.08,-0.03 -0.11,0 -0.03,0.03 -0.03,0.08 0,0.11 0.17,0.14 0.34,0.27 0.51,0.41 0.08,0.07 0.16,0.13 0.25,0.2 0.04,0.03 0.09,0.06 0.13,0.1 0.04,0.03 0.09,0.07 0.14,0.09 0.04,0.02 0.11,-0.03 0.07,-0.07 -0.06,-0.08 -0.15,-0.15 -0.23,-0.22 -0.08,-0.08 -0.17,-0.14 -0.25,-0.21 z"
+   id="path1148" />
+			<path
+   class="st1"
+   d="m 563.23,422.05 c -0.03,-0.02 -0.05,-0.04 -0.08,-0.05 -0.05,-0.03 -0.1,-0.07 -0.15,-0.1 -0.1,-0.07 -0.2,-0.14 -0.31,-0.21 -0.07,-0.05 -0.19,-0.02 -0.23,0.06 -0.05,0.09 -0.02,0.18 0.06,0.23 0.1,0.07 0.21,0.14 0.31,0.21 0.05,0.03 0.1,0.07 0.15,0.1 0.03,0.02 0.05,0.04 0.08,0.05 0.04,0.03 0.09,0.03 0.14,0.04 0.05,0.01 0.1,-0.03 0.12,-0.07 0.03,-0.04 0.02,-0.1 0,-0.14 -0.01,-0.01 -0.01,-0.03 -0.02,-0.04 -0.02,-0.03 -0.04,-0.05 -0.07,-0.08 z"
+   id="path1150" />
+			<path
+   class="st1"
+   d="m 564.42,422.08 c -0.16,0 -0.17,0.26 0,0.26 0.17,-0.01 0.17,-0.26 0,-0.26 z"
+   id="path1152" />
+			<path
+   class="st1"
+   d="m 534.99,400.89 c 0.04,0.1 0.17,0.1 0.21,0 0.05,-0.12 0.03,-0.26 0.04,-0.38 0,-0.12 0.01,-0.23 0.01,-0.35 0,-0.25 0,-0.51 -0.01,-0.76 0,-0.51 -0.01,-1.02 -0.01,-1.53 0,-0.17 -0.27,-0.17 -0.27,0 0,0.51 -0.01,1.02 -0.01,1.53 0,0.25 -0.01,0.51 -0.01,0.76 0,0.12 0,0.23 0.01,0.35 0.01,0.12 -0.01,0.26 0.04,0.38 z"
+   id="path1154" />
+			<path
+   class="st1"
+   d="m 539.35,400.68 c 0.07,-0.53 0.06,-1.07 0.06,-1.61 0,-0.15 -0.24,-0.15 -0.24,0 0,0.54 -0.02,1.08 0.06,1.61 0,0.06 0.11,0.06 0.12,0 z"
+   id="path1156" />
+			<path
+   class="st1"
+   d="m 581.89,412.3 c 0.01,-0.02 0.02,-0.04 0.02,-0.05 0.01,-0.02 0.03,-0.05 0.03,-0.07 0,-0.02 0.01,-0.04 0.01,-0.05 0,-0.02 0.01,-0.03 0.02,-0.05 0.03,-0.07 0.05,-0.14 0.08,-0.21 0.01,-0.03 -0.01,-0.06 -0.04,-0.08 -0.03,-0.01 -0.06,0 -0.08,0.03 -0.04,0.06 -0.08,0.13 -0.12,0.19 0,0.01 -0.01,0.02 -0.01,0.02 0,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 0,0 0.01,-0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.05,0.08 -0.07,0.11 -0.03,0.05 -0.01,0.13 0.04,0.15 0.06,0.03 0.13,0.02 0.16,-0.03 z"
+   id="path1158" />
+			<path
+   class="st1"
+   d="m 583.79,403.85 c -0.01,0.54 -0.01,1.09 -0.02,1.63 0,0.27 0,0.53 0,0.8 0,0.12 0,0.25 0.02,0.37 0.02,0.14 0.02,0.3 0.07,0.43 0.04,0.11 0.18,0.11 0.23,0 0.05,-0.12 0.04,-0.26 0.06,-0.39 0.02,-0.14 0.02,-0.27 0.03,-0.41 0,-0.27 0.01,-0.53 0,-0.8 -0.01,-0.54 -0.01,-1.09 -0.02,-1.63 -0.01,-0.23 -0.37,-0.23 -0.37,0 z"
+   id="path1160" />
+			<path
+   class="st1"
+   d="m 584.1,407.84 c 0,-0.07 -0.06,-0.13 -0.13,-0.13 -0.07,0 -0.13,0.06 -0.13,0.13 0,0.13 -0.01,0.27 -0.01,0.4 0,0.06 0,0.13 -0.01,0.19 0,0.07 -0.02,0.16 0.01,0.23 0.02,0.06 0.07,0.11 0.14,0.1 0.07,0 0.11,-0.04 0.14,-0.1 0.03,-0.07 0.01,-0.15 0.01,-0.22 0,-0.07 0,-0.13 -0.01,-0.2 0,-0.13 -0.01,-0.27 -0.01,-0.4 z"
+   id="path1162" />
+			<path
+   class="st1"
+   d="m 610.7,406.68 c 0.05,0 0.05,-0.08 0,-0.08 -0.05,0 -0.05,0.08 0,0.08 z"
+   id="path1164" />
+			<path
+   class="st1"
+   d="m 612.7,408.94 c 0.12,0 0.12,-0.19 0,-0.19 -0.12,0 -0.13,0.19 0,0.19 z"
+   id="path1166" />
+			<path
+   class="st1"
+   d="m 653.04,400.46 c -0.03,-0.6 -0.06,-1.2 -0.09,-1.8 -0.01,-0.22 -0.35,-0.22 -0.34,0 0.03,0.61 0.07,1.22 0.1,1.83 0.02,0.31 0.03,0.61 0.05,0.92 0.02,0.29 0.02,0.59 0.09,0.88 0.04,0.16 0.24,0.1 0.26,-0.03 0.04,-0.3 0,-0.61 -0.01,-0.92 -0.03,-0.29 -0.05,-0.58 -0.06,-0.88 z"
+   id="path1168" />
+			<path
+   class="st1"
+   d="m 655.05,399.66 v 1.32 c 0,0.22 0,0.44 0,0.66 0,0.21 0.01,0.43 0.05,0.63 0.02,0.08 0.15,0.08 0.17,0 0.05,-0.2 0.05,-0.43 0.05,-0.63 0,-0.22 0,-0.44 0,-0.66 0,-0.44 0,-0.88 0,-1.32 0,-0.17 -0.27,-0.17 -0.27,0 z"
+   id="path1170" />
+			<path
+   class="st1"
+   d="m 657.55,398.07 c 0,-0.21 -0.33,-0.21 -0.33,0 0,0.37 0,0.75 0,1.12 0,0.19 0,0.37 0,0.56 0,0.18 -0.02,0.38 0.03,0.55 0.04,0.13 0.22,0.13 0.25,0 0.05,-0.18 0.03,-0.37 0.03,-0.55 0,-0.19 0,-0.37 0,-0.56 0.01,-0.38 0.01,-0.75 0.02,-1.12 z"
+   id="path1172" />
+			<path
+   class="st1"
+   d="m 654.28,374.66 c 0.03,0.29 0.01,0.6 0.05,0.89 0.01,0.08 0.14,0.07 0.15,0 0.06,-0.3 0.01,-0.65 -0.02,-0.95 -0.04,-0.32 -0.1,-0.63 -0.19,-0.94 -0.18,-0.63 -0.45,-1.22 -0.81,-1.76 -0.06,-0.1 -0.22,-0.01 -0.16,0.09 0.35,0.53 0.62,1.11 0.79,1.72 0.09,0.31 0.16,0.63 0.19,0.95 z"
+   id="path1174" />
+			<path
+   class="st1"
+   d="m 668.15,379.86 c -0.07,0 -0.07,0.1 0,0.1 0.07,0 0.07,-0.1 0,-0.1 z"
+   id="path1176" />
+			<path
+   class="st1"
+   d="m 567.41,408.91 c 0,-0.42 -0.01,-0.84 -0.01,-1.27 0,-0.23 -0.36,-0.23 -0.36,0 l -0.01,1.27 c 0,0.2 0,0.41 -0.01,0.61 0,0.11 0,0.22 0,0.33 0,0.11 0,0.22 0.09,0.3 0.07,0.06 0.15,0.06 0.22,0 0.09,-0.07 0.09,-0.19 0.09,-0.3 0,-0.11 0,-0.22 0,-0.33 -0.01,-0.2 -0.01,-0.41 -0.01,-0.61 z"
+   id="path1178" />
+			<path
+   class="st1"
+   d="m 623.87,409.28 c 0.06,0 0.06,-0.09 0,-0.09 -0.06,0.01 -0.06,0.09 0,0.09 z"
+   id="path1180" />
+			<path
+   class="st1"
+   d="m 552.26,379.32 c -0.03,-0.4 -0.07,-0.8 -0.1,-1.2 -0.01,-0.14 -0.23,-0.14 -0.21,0 0.03,0.41 0.07,0.81 0.1,1.22 0.02,0.2 0.03,0.41 0.05,0.61 0.02,0.2 0.05,0.39 0.08,0.58 0.01,0.08 0.15,0.06 0.15,-0.02 -0.01,-0.2 0,-0.41 -0.02,-0.61 -0.02,-0.19 -0.03,-0.39 -0.05,-0.58 z"
+   id="path1182" />
+			<path
+   class="st1"
+   d="m 548.68,384.5 c -0.2,-0.47 -0.46,-0.91 -0.77,-1.32 -0.62,-0.8 -1.46,-1.41 -2.41,-1.77 -0.15,-0.06 -0.2,0.17 -0.06,0.23 0.9,0.37 1.68,0.99 2.26,1.76 0.29,0.38 0.53,0.8 0.71,1.24 0.08,0.21 0.15,0.42 0.22,0.63 0.03,0.11 0.07,0.22 0.1,0.34 0.03,0.11 0.04,0.23 0.11,0.32 0.04,0.06 0.12,0.05 0.14,-0.02 0.07,-0.19 -0.01,-0.49 -0.05,-0.69 -0.07,-0.24 -0.15,-0.48 -0.25,-0.72 z"
+   id="path1184" />
+			<path
+   class="st1"
+   d="m 547.74,381.45 c -0.72,-0.67 -1.56,-1.2 -2.48,-1.56 -0.1,-0.04 -0.14,0.12 -0.04,0.16 0.89,0.36 1.71,0.9 2.4,1.57 0.34,0.33 0.66,0.69 0.93,1.07 0.13,0.19 0.26,0.38 0.38,0.58 0.12,0.21 0.22,0.43 0.35,0.63 0.06,0.09 0.2,0.03 0.17,-0.07 -0.14,-0.45 -0.46,-0.89 -0.73,-1.27 -0.29,-0.4 -0.62,-0.77 -0.98,-1.11 z"
+   id="path1186" />
+			<path
+   class="st1"
+   d="m 544.47,378.53 c 1.07,0.1 2.09,0.55 2.93,1.22 0.85,0.68 1.41,1.56 1.81,2.56 0.06,0.16 0.31,0.1 0.27,-0.07 -0.28,-1.09 -1.04,-2.07 -1.92,-2.75 -0.89,-0.7 -1.96,-1.12 -3.09,-1.21 -0.17,-0.01 -0.16,0.24 0,0.25 z"
+   id="path1188" />
+			<path
+   class="st1"
+   d="m 536.37,388.66 c -0.1,0.3 -0.21,0.61 -0.31,0.91 -0.05,0.15 -0.1,0.29 -0.15,0.44 -0.03,0.08 -0.03,0.16 -0.05,0.24 -0.02,0.08 -0.04,0.15 -0.04,0.23 0,0.09 0.11,0.1 0.15,0.04 0.05,-0.07 0.07,-0.15 0.11,-0.22 0.03,-0.08 0.08,-0.14 0.1,-0.22 0.05,-0.15 0.1,-0.29 0.14,-0.44 0.1,-0.31 0.2,-0.61 0.3,-0.92 0.05,-0.15 -0.2,-0.21 -0.25,-0.06 z"
+   id="path1190" />
+			<path
+   class="st1"
+   d="m 535.87,392.39 c -0.06,0.02 -0.08,0.07 -0.07,0.12 0.06,0.33 0.11,0.66 0.17,0.99 0.01,0.07 0.1,0.11 0.16,0.09 0.07,-0.02 0.1,-0.09 0.09,-0.16 -0.07,-0.32 -0.15,-0.65 -0.22,-0.97 -0.02,-0.06 -0.08,-0.09 -0.13,-0.07 z"
+   id="path1192" />
+			<path
+   class="st1"
+   d="m 537.15,392.49 c 0,-0.62 -0.08,-1.24 -0.02,-1.86 0.06,-0.64 0.23,-1.27 0.49,-1.86 0.07,-0.15 -0.15,-0.28 -0.22,-0.13 -0.28,0.6 -0.46,1.24 -0.55,1.89 -0.08,0.64 -0.1,1.37 0.15,1.98 0.02,0.07 0.15,0.07 0.15,-0.02 z"
+   id="path1194" />
+			<path
+   class="st1"
+   d="m 537.49,391.17 c -0.09,-0.02 -0.2,0.06 -0.16,0.16 0.1,0.24 0.19,0.49 0.29,0.73 0.05,0.12 0.1,0.25 0.16,0.37 0.06,0.12 0.11,0.25 0.2,0.35 0.07,0.07 0.21,0.02 0.2,-0.08 -0.01,-0.13 -0.07,-0.25 -0.11,-0.37 -0.05,-0.13 -0.11,-0.25 -0.16,-0.38 -0.03,-0.07 -0.06,-0.14 -0.1,-0.21 0,-0.01 0.02,-0.01 0.02,-0.02 0.04,-0.12 0.02,-0.25 0.02,-0.37 0,-0.14 0.01,-0.27 0.02,-0.41 0.02,-0.26 0.08,-0.52 0.16,-0.77 0.16,-0.51 0.42,-0.98 0.78,-1.37 0.13,-0.14 -0.08,-0.34 -0.21,-0.21 -0.4,0.42 -0.71,0.92 -0.9,1.46 -0.09,0.27 -0.15,0.55 -0.18,0.84 -0.02,0.1 -0.02,0.19 -0.03,0.28 z"
+   id="path1196" />
+			<path
+   class="st1"
+   d="m 539.04,391.79 c 0.04,0.26 0.12,0.51 0.26,0.73 0.31,0.47 0.75,0.81 1.28,1.01 1.03,0.4 2.19,-0.05 2.72,-1.01 0.5,-0.91 0.45,-2.18 -0.36,-2.9 -0.45,-0.4 -1.04,-0.62 -1.64,-0.61 -0.35,0.01 -0.65,0.09 -0.97,0.23 -0.15,0.06 -0.27,0.14 -0.4,0.25 -0.11,0.09 -0.18,0.2 -0.24,0.32 0,0.01 0,0.02 -0.01,0.03 -0.07,0.08 -0.13,0.17 -0.19,0.25 0.09,-0.17 0.19,-0.34 0.31,-0.48 0.14,-0.17 -0.1,-0.42 -0.24,-0.25 -0.27,0.32 -0.48,0.7 -0.59,1.11 -0.11,0.39 -0.17,0.86 -0.03,1.25 0.02,0.05 0.06,0.05 0.1,0.07 z m 1.17,-0.66 c 0,0 0,-0.02 0,-0.03 0,0 0,0 0,-0.01 0.01,-0.05 0.02,-0.1 0.04,-0.15 0,-0.01 0,-0.01 0.01,-0.02 0.04,-0.02 0.08,-0.04 0.12,-0.05 0,0 0.01,0 0.01,0 0.14,0 0.27,-0.04 0.39,-0.1 0,0 0,0 0.01,0 0.04,-0.02 0.09,-0.04 0.13,-0.06 0,0 0,0 0.01,0 0.02,-0.01 0.05,-0.02 0.07,-0.02 0.08,-0.02 0.16,-0.04 0.24,-0.05 -0.03,0 -0.05,0.01 -0.05,0 0.01,-0.01 0.05,-0.01 0.08,-0.01 0.01,0 0.02,0 0.03,-0.01 -0.01,0 -0.02,0 -0.03,0.01 0.02,0 0.04,0 0.05,0 0.06,0 0.13,0 0.19,0.01 0.04,0.01 0.09,0.02 0.13,0.03 0.02,0.01 0.05,0.02 0.07,0.02 0.05,0.03 0.11,0.07 0.16,0.1 0.03,0.02 0.05,0.05 0.08,0.08 0.02,0.03 0.04,0.07 0.06,0.1 0.01,0.01 0.01,0.03 0.02,0.04 0,0.01 0.01,0.02 0.01,0.02 0.01,0.04 0.02,0.07 0.03,0.11 0,0.01 0.01,0.03 0.01,0.06 0,0.02 0,0.04 0,0.05 0,0.04 0,0.08 0,0.12 0,0.03 0,0.06 -0.01,0.09 -0.02,0.08 -0.03,0.15 -0.06,0.22 0,0.01 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.02,0.05 -0.03,0.07 -0.03,0.06 -0.07,0.11 -0.1,0.17 -0.03,0.03 -0.06,0.07 -0.09,0.1 0,0 -0.01,0.01 -0.02,0.02 -0.02,0.01 -0.05,0.03 -0.06,0.04 -0.03,0.02 -0.06,0.04 -0.09,0.05 -0.07,0.02 -0.14,0.04 -0.21,0.06 -0.05,0 -0.1,0 -0.15,0 -0.03,0 -0.06,-0.01 -0.09,-0.01 -0.09,-0.02 -0.17,-0.04 -0.26,-0.07 -0.04,-0.02 -0.08,-0.04 -0.12,-0.06 -0.04,-0.02 -0.07,-0.04 -0.11,-0.07 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 -0.05,-0.05 -0.11,-0.1 -0.16,-0.15 -0.01,-0.01 -0.02,-0.03 -0.04,-0.04 -0.02,-0.03 -0.05,-0.07 -0.06,-0.08 -0.04,-0.07 -0.08,-0.14 -0.12,-0.21 -0.01,-0.02 -0.02,-0.03 -0.02,-0.05 0,0 0,0 0,-0.01 0,0 0,0 0,-0.01 0,0 0,0.01 0,0.01 -0.02,-0.04 -0.01,-0.03 0,-0.02 -0.01,-0.02 -0.01,-0.05 -0.02,-0.07 0,-0.02 0,-0.03 0,-0.04 -0.02,-0.08 -0.02,-0.13 -0.01,-0.19 z"
+   id="path1198" />
+			<path
+   class="st1"
+   d="m 543.6,389.93 c 0.31,0.52 0.44,1.12 0.4,1.72 -0.02,0.29 -0.09,0.57 -0.19,0.84 -0.05,0.14 -0.13,0.27 -0.19,0.41 -0.06,0.13 -0.15,0.25 -0.2,0.38 -0.02,0.07 0.06,0.13 0.12,0.09 0.24,-0.16 0.39,-0.49 0.48,-0.75 0.11,-0.3 0.17,-0.63 0.18,-0.95 0.03,-0.64 -0.14,-1.28 -0.49,-1.81 -0.04,-0.07 -0.15,0 -0.11,0.07 z"
+   id="path1200" />
+			<path
+   class="st1"
+   d="m 544.79,392.59 c -0.04,0.19 -0.09,0.37 -0.16,0.55 -0.07,0.18 -0.16,0.34 -0.22,0.52 -0.02,0.07 0.07,0.12 0.12,0.07 0.26,-0.27 0.41,-0.72 0.49,-1.07 0.09,-0.4 0.12,-0.82 0.08,-1.23 -0.08,-0.81 -0.41,-1.58 -0.96,-2.19 -0.08,-0.08 -0.2,0.04 -0.13,0.13 0.51,0.59 0.81,1.35 0.87,2.12 0.02,0.37 -0.01,0.74 -0.09,1.1 z"
+   id="path1202" />
+			<path
+   class="st1"
+   d="m 545.7,392.21 c -0.12,0.38 -0.35,0.7 -0.49,1.07 -0.03,0.09 0.08,0.13 0.14,0.08 0.31,-0.24 0.49,-0.71 0.6,-1.08 0.13,-0.41 0.18,-0.85 0.17,-1.28 -0.02,-0.85 -0.32,-1.67 -0.85,-2.33 -0.07,-0.08 -0.21,0.03 -0.15,0.11 0.5,0.65 0.75,1.44 0.75,2.25 0.02,0.4 -0.04,0.8 -0.17,1.18 z"
+   id="path1204" />
+			<path
+   class="st1"
+   d="m 546.41,393.04 c -0.04,0.1 0.08,0.22 0.16,0.12 0.44,-0.56 0.6,-1.34 0.59,-2.04 -0.01,-0.73 -0.22,-1.45 -0.63,-2.07 -0.07,-0.1 -0.24,-0.01 -0.17,0.1 0.36,0.58 0.55,1.25 0.55,1.94 0,0.71 -0.22,1.32 -0.5,1.95 z"
+   id="path1206" />
+			<path
+   class="st1"
+   d="m 542.78,393.99 c 0.09,-0.09 -0.04,-0.2 -0.13,-0.13 -0.77,0.61 -1.89,0.72 -2.7,0.12 -0.05,-0.04 -0.12,0.05 -0.07,0.09 0.81,0.65 2.15,0.68 2.9,-0.08 z"
+   id="path1208" />
+			<path
+   class="st1"
+   d="m 543.64,393.81 c -0.18,0.1 -0.32,0.27 -0.5,0.39 -0.17,0.12 -0.35,0.23 -0.55,0.32 -0.4,0.19 -0.85,0.3 -1.29,0.33 -0.87,0.06 -1.8,-0.17 -2.49,-0.71 -0.11,-0.08 -0.26,0.06 -0.15,0.15 0.74,0.63 1.68,0.92 2.65,0.84 0.47,-0.04 0.93,-0.16 1.36,-0.35 0.37,-0.17 0.9,-0.46 1.1,-0.84 0.04,-0.08 -0.04,-0.18 -0.13,-0.13 z"
+   id="path1210" />
+			<path
+   class="st1"
+   d="m 542.09,395.89 c -0.34,0.13 -0.71,0.21 -1.07,0.24 -0.73,0.07 -1.47,-0.13 -2.09,-0.52 -0.08,-0.05 -0.16,0.08 -0.08,0.13 0.65,0.43 1.42,0.61 2.19,0.6 0.72,-0.01 1.59,-0.26 2.09,-0.81 0.06,-0.07 -0.02,-0.17 -0.1,-0.13 -0.31,0.17 -0.61,0.36 -0.94,0.49 z"
+   id="path1212" />
+			<path
+   class="st1"
+   d="m 539.57,388.78 c 0.37,-0.31 0.83,-0.49 1.31,-0.55 0.23,-0.03 0.47,-0.02 0.7,0.02 0.11,0.02 0.23,0.04 0.35,0.07 0.12,0.03 0.23,0.08 0.35,0.09 0.1,0.01 0.14,-0.12 0.08,-0.18 -0.09,-0.09 -0.23,-0.14 -0.35,-0.19 -0.13,-0.05 -0.24,-0.08 -0.38,-0.1 -0.27,-0.04 -0.54,-0.04 -0.81,-0.01 -0.53,0.07 -1.03,0.31 -1.43,0.67 -0.13,0.11 0.06,0.28 0.18,0.18 z"
+   id="path1214" />
+			<path
+   class="st1"
+   d="m 542.53,387.15 c -0.27,-0.1 -0.56,-0.15 -0.85,-0.16 -0.57,-0.02 -1.15,0.13 -1.62,0.45 -0.13,0.09 -0.01,0.31 0.13,0.22 0.45,-0.29 0.97,-0.42 1.5,-0.39 0.26,0.01 0.51,0.07 0.75,0.15 0.12,0.04 0.24,0.1 0.35,0.16 0.11,0.06 0.21,0.15 0.34,0.16 0.1,0.01 0.13,-0.1 0.1,-0.17 -0.05,-0.11 -0.2,-0.19 -0.31,-0.25 -0.13,-0.07 -0.26,-0.12 -0.39,-0.17 z"
+   id="path1216" />
+			<path
+   class="st1"
+   d="m 541.72,386.45 c 0.37,0.04 0.73,0.1 1.09,0.2 0.34,0.09 0.7,0.29 1.05,0.34 0.09,0.01 0.18,-0.09 0.1,-0.17 -0.26,-0.24 -0.69,-0.35 -1.03,-0.45 -0.37,-0.1 -0.74,-0.18 -1.13,-0.21 -0.78,-0.06 -1.58,0.02 -2.33,0.24 -0.12,0.04 -0.07,0.22 0.05,0.19 0.71,-0.17 1.46,-0.22 2.2,-0.14 z"
+   id="path1218" />
+			<path
+   class="st1"
+   d="m 549.46,397.22 c -0.06,0 -0.06,0.1 0,0.1 0.13,0 0.27,-0.01 0.4,-0.01 0.05,0 0.05,-0.08 0,-0.08 -0.13,0 -0.27,-0.01 -0.4,-0.01 z"
+   id="path1220" />
+			<path
+   class="st1"
+   d="m 553.05,395.94 c 0.08,-0.01 0.08,-0.12 0,-0.13 -0.27,-0.02 -0.53,-0.01 -0.8,-0.01 h -0.8 c -0.1,0 -0.1,0.15 0,0.15 h 0.8 c 0.27,0 0.54,0.01 0.8,-0.01 z"
+   id="path1222" />
+			<path
+   class="st1"
+   d="m 543.39,412.78 c 0.74,0.15 1.48,0.29 2.22,0.42 0.39,0.07 0.78,0.12 1.17,0.18 0.36,0.05 0.74,0.14 1.1,0.12 0.13,-0.01 0.14,-0.17 0.03,-0.21 -0.29,-0.12 -0.62,-0.16 -0.93,-0.21 -0.33,-0.06 -0.67,-0.12 -1,-0.19 -0.65,-0.12 -1.3,-0.23 -1.94,-0.37 -1.27,-0.26 -2.53,-0.56 -3.77,-0.94 -2.22,-0.69 -4.38,-1.69 -6.2,-3.14 -0.98,-0.78 -1.87,-1.7 -2.59,-2.73 -0.08,-0.12 -0.27,-0.01 -0.19,0.11 2.68,4.09 7.5,6 12.1,6.96 z"
+   id="path1224" />
+			<path
+   class="st1"
+   d="m 544.71,411.17 c 1.1,0.28 2.22,0.51 3.35,0.59 0.12,0.01 0.14,-0.18 0.03,-0.2 -1.94,-0.43 -3.88,-0.79 -5.77,-1.42 -1.91,-0.63 -3.74,-1.44 -5.51,-2.4 -0.99,-0.53 -1.95,-1.12 -2.88,-1.75 -0.12,-0.08 -0.23,0.11 -0.11,0.2 3.28,2.32 6.99,4 10.89,4.98 z"
+   id="path1226" />
+			<path
+   class="st1"
+   d="m 543.48,408.5 c 0.98,0.31 1.98,0.59 2.99,0.82 0.96,0.22 1.99,0.52 2.98,0.5 0.13,0 0.14,-0.18 0.03,-0.21 -0.49,-0.16 -1,-0.24 -1.51,-0.33 -0.47,-0.09 -0.94,-0.19 -1.41,-0.3 -0.99,-0.23 -1.97,-0.5 -2.93,-0.81 -1.94,-0.62 -3.82,-1.39 -5.66,-2.25 -0.16,-0.08 -0.3,0.16 -0.14,0.24 1.8,0.95 3.7,1.72 5.65,2.34 z"
+   id="path1228" />
+			<path
+   class="st1"
+   d="m 588.36,412.58 c 0.54,0.01 1.08,0.02 1.63,0.03 0.27,0.01 0.54,0.02 0.81,0 0.26,-0.02 0.53,-0.01 0.78,-0.07 0.1,-0.02 0.1,-0.19 0,-0.21 -0.25,-0.06 -0.52,-0.05 -0.78,-0.07 -0.27,-0.02 -0.54,-0.01 -0.81,0 -0.54,0.01 -1.08,0.02 -1.63,0.03 -0.19,0 -0.19,0.28 0,0.29 z"
+   id="path1230" />
+			<path
+   class="st1"
+   d="m 594.76,412.68 c 1.11,-0.24 2.23,-0.4 3.36,-0.51 0.54,-0.05 1.09,-0.08 1.63,-0.09 0.27,-0.01 0.54,-0.01 0.82,-0.01 0.27,0 0.54,0.04 0.8,-0.02 0.14,-0.03 0.13,-0.23 0,-0.27 -0.27,-0.09 -0.57,-0.06 -0.85,-0.06 -0.27,0 -0.54,0 -0.82,0.01 -0.56,0.02 -1.13,0.05 -1.69,0.1 -1.12,0.11 -2.22,0.32 -3.31,0.6 -0.17,0.04 -0.1,0.28 0.06,0.25 z"
+   id="path1232" />
+			<path
+   class="st1"
+   d="m 594,414.18 c 0.97,0.03 1.93,0.04 2.9,0.03 0.94,-0.01 1.92,0.01 2.85,-0.14 0.08,-0.01 0.05,-0.13 -0.02,-0.13 -0.96,-0.06 -1.93,0.03 -2.9,0.05 -0.97,0.01 -1.93,0 -2.9,-0.03 -1.93,-0.05 -3.86,-0.18 -5.78,-0.38 -0.09,-0.01 -0.09,0.14 0,0.15 1.95,0.24 3.89,0.39 5.85,0.45 z"
+   id="path1234" />
+			<path
+   class="st1"
+   d="m 599.4,415.75 c 1.24,-0.04 2.49,-0.09 3.72,-0.24 0.09,-0.01 0.09,-0.15 0,-0.14 -2.19,0.08 -4.37,0.25 -6.56,0.25 -2.17,0 -4.34,-0.08 -6.5,-0.25 -1.24,-0.1 -2.47,-0.22 -3.71,-0.37 -0.13,-0.02 -0.13,0.19 0,0.2 4.34,0.52 8.69,0.69 13.05,0.55 z"
+   id="path1236" />
+			<path
+   class="st1"
+   d="m 580.38,416.56 c 7.19,0.93 14.51,1.1 21.74,0.57 1.02,-0.08 2.04,-0.16 3.07,-0.27 0.28,-0.03 0.57,-0.06 0.85,-0.09 -0.01,0.02 -0.02,0.03 -0.02,0.04 0,0.03 0.01,0.05 0.03,0.07 0.02,0.02 0.05,0.03 0.07,0.03 l 0.2,-0.02 c 0.02,0 0.04,-0.01 0.06,-0.03 0.01,-0.02 0.03,-0.04 0.03,-0.06 0,-0.02 -0.01,-0.05 -0.03,-0.06 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 0.61,-0.07 1.22,-0.16 1.83,-0.29 0.16,-0.04 0.13,-0.29 -0.04,-0.29 -1.81,0.06 -3.61,0.35 -5.41,0.49 -1.81,0.15 -3.62,0.26 -5.43,0.32 -3.59,0.13 -7.18,0.06 -10.76,-0.16 -2.05,-0.13 -4.09,-0.3 -6.13,-0.52 -0.2,0 -0.19,0.27 -0.02,0.29 z"
+   id="path1238" />
+			<path
+   class="st1"
+   d="m 642.83,410.87 c 1.21,-0.28 2.42,-0.56 3.6,-0.95 0.15,-0.05 0.09,-0.27 -0.07,-0.24 -2.1,0.47 -4.18,1.04 -6.29,1.47 -2.09,0.43 -4.19,0.8 -6.3,1.1 -1.24,0.18 -2.47,0.35 -3.72,0.49 -0.13,0.01 -0.13,0.22 0,0.21 4.31,-0.4 8.57,-1.1 12.78,-2.08 z"
+   id="path1240" />
+			<path
+   class="st1"
+   d="m 635.8,413.95 c -1.38,0.17 -2.76,0.31 -4.15,0.41 -0.11,0.01 -0.11,0.18 0,0.18 4.96,-0.31 9.88,-1.08 14.71,-2.28 1.37,-0.34 2.73,-0.68 4.07,-1.13 0.16,-0.05 0.1,-0.3 -0.07,-0.25 -2.39,0.65 -4.75,1.33 -7.17,1.84 -2.45,0.52 -4.91,0.92 -7.39,1.23 z"
+   id="path1242" />
+			<path
+   class="st1"
+   d="m 559.04,298.01 c 0.11,0 0.11,-0.17 0,-0.17 -0.11,0 -0.11,0.17 0,0.17 z"
+   id="path1244" />
+			<path
+   class="st1"
+   d="m 559.17,295.59 c 0.13,0.1 0.27,0.23 0.43,0.27 0.1,0.03 0.2,-0.09 0.14,-0.19 -0.08,-0.14 -0.25,-0.24 -0.38,-0.34 l -0.42,-0.31 c -0.27,-0.21 -0.55,-0.41 -0.82,-0.62 -0.07,-0.05 -0.18,-0.01 -0.22,0.06 -0.05,0.08 -0.01,0.17 0.06,0.22 0.27,0.2 0.54,0.41 0.81,0.61 0.13,0.09 0.27,0.19 0.4,0.3 z"
+   id="path1246" />
+			<path
+   class="st1"
+   d="m 559.97,293.73 c 0.17,0.15 0.33,0.3 0.5,0.45 0.08,0.07 0.17,0.15 0.25,0.22 0.09,0.08 0.16,0.16 0.27,0.21 0.08,0.03 0.16,-0.04 0.12,-0.12 -0.05,-0.1 -0.13,-0.16 -0.22,-0.23 -0.08,-0.07 -0.17,-0.15 -0.25,-0.22 -0.17,-0.15 -0.34,-0.31 -0.51,-0.46 -0.34,-0.3 -0.68,-0.61 -1.01,-0.91 -0.11,-0.1 -0.26,0.06 -0.16,0.16 0.33,0.29 0.67,0.6 1.01,0.9 z"
+   id="path1248" />
+			<path
+   class="st1"
+   d="m 560.46,292.63 c 0.12,0.1 0.23,0.2 0.35,0.3 0.12,0.1 0.23,0.23 0.37,0.29 0.08,0.04 0.2,-0.05 0.14,-0.14 -0.09,-0.13 -0.22,-0.22 -0.33,-0.31 -0.12,-0.1 -0.24,-0.2 -0.36,-0.31 -0.24,-0.2 -0.47,-0.4 -0.71,-0.61 -0.11,-0.1 -0.27,0.07 -0.16,0.16 0.23,0.22 0.46,0.42 0.7,0.62 z"
+   id="path1250" />
+			<path
+   class="st1"
+   d="m 561.99,292.21 c 0.09,0.05 0.16,-0.08 0.08,-0.14 -0.32,-0.21 -0.66,-0.41 -0.99,-0.61 -0.11,-0.06 -0.2,0.1 -0.1,0.17 0.34,0.19 0.67,0.39 1.01,0.58 z"
+   id="path1252" />
+			<path
+   class="st1"
+   d="m 563.4,290.92 c -0.15,-0.05 -0.29,-0.1 -0.44,-0.15 -0.31,-0.1 -0.61,-0.2 -0.92,-0.3 -0.09,-0.03 -0.14,0.12 -0.04,0.15 0.3,0.1 0.61,0.21 0.91,0.31 0.15,0.05 0.29,0.1 0.44,0.15 0.15,0.05 0.31,0.12 0.46,0.14 0.07,0.01 0.09,-0.1 0.04,-0.13 -0.12,-0.09 -0.3,-0.12 -0.45,-0.17 z"
+   id="path1254" />
+			<path
+   class="st1"
+   d="m 563.07,289.69 c 0.22,0.14 0.44,0.28 0.65,0.41 0.2,0.13 0.43,0.32 0.67,0.36 0.1,0.01 0.22,-0.09 0.15,-0.19 -0.14,-0.2 -0.4,-0.31 -0.6,-0.43 -0.23,-0.14 -0.46,-0.27 -0.69,-0.41 -0.45,-0.27 -0.9,-0.54 -1.35,-0.81 -0.16,-0.09 -0.3,0.15 -0.14,0.24 0.44,0.28 0.88,0.55 1.31,0.83 z"
+   id="path1256" />
+			<path
+   class="st1"
+   d="m 645.6,253.78 c -0.14,0.48 -0.28,0.96 -0.42,1.45 -0.07,0.24 -0.14,0.47 -0.2,0.71 -0.03,0.12 -0.07,0.25 -0.1,0.37 -0.03,0.12 -0.07,0.24 -0.03,0.36 0.04,0.12 0.18,0.15 0.27,0.07 0.09,-0.08 0.12,-0.21 0.16,-0.32 0.04,-0.12 0.08,-0.24 0.11,-0.37 0.07,-0.24 0.14,-0.47 0.2,-0.71 0.13,-0.48 0.27,-0.97 0.4,-1.45 0.08,-0.26 -0.32,-0.37 -0.39,-0.11 z"
+   id="path1258" />
+			<path
+   class="st1"
+   d="m 552.23,248.84 c 0,0.02 0.01,0.03 0.02,0.05 -0.01,-0.03 -0.02,-0.06 -0.03,-0.1 z"
+   id="path1260" />
+			<polygon
+   class="st1"
+   points=""
+   id="polygon1262" />
+			<path
+   class="st1"
+   d="m 564.99,203.33 c -0.03,-0.07 -0.07,-0.13 -0.1,-0.2 -0.01,-0.03 -0.05,-0.04 -0.08,-0.02 -0.03,0.02 -0.04,0.05 -0.02,0.08 0.03,0.07 0.07,0.13 0.1,0.2 0.02,0.03 0.03,0.07 0.05,0.1 0.02,0.03 0.04,0.06 0.06,0.1 0.01,0.02 0.04,0.03 0.06,0.02 0.02,-0.01 0.04,-0.03 0.03,-0.06 -0.02,-0.04 -0.03,-0.08 -0.05,-0.11 -0.02,-0.04 -0.03,-0.07 -0.05,-0.11 z"
+   id="path1264" />
+			<path
+   class="st1"
+   d="m 565.82,202.47 c -0.13,0 -0.13,0.2 0,0.2 0.13,0 0.13,-0.2 0,-0.2 z"
+   id="path1266" />
+			<path
+   class="st1"
+   d="m 565.22,202.42 c 0.06,0 0.06,-0.1 0,-0.1 -0.06,0 -0.06,0.1 0,0.1 z"
+   id="path1268" />
+			<path
+   class="st1"
+   d="m 565.62,204.25 c 0.11,0 0.11,-0.17 0,-0.17 -0.11,0 -0.11,0.17 0,0.17 z"
+   id="path1270" />
+			<path
+   class="st1"
+   d="m 566.91,204.93 c 0.13,-0.07 0.26,-0.14 0.4,-0.2 0.07,-0.03 0.13,-0.07 0.2,-0.1 0.07,-0.03 0.12,-0.08 0.18,-0.13 0.06,-0.05 0.09,-0.11 0.06,-0.19 -0.03,-0.07 -0.11,-0.11 -0.18,-0.09 -0.08,0.02 -0.16,0.04 -0.24,0.08 -0.07,0.03 -0.14,0.07 -0.21,0.1 -0.14,0.07 -0.27,0.13 -0.41,0.2 -0.09,0.04 -0.12,0.18 -0.07,0.26 0.07,0.09 0.18,0.12 0.27,0.07 z"
+   id="path1272" />
+			<path
+   class="st1"
+   d="m 567.61,206.39 c -0.22,0 -0.22,0.34 0,0.34 0.22,0 0.22,-0.34 0,-0.34 z"
+   id="path1274" />
+			<path
+   class="st1"
+   d="m 567.7,207.03 c 0.13,0.19 0.33,0.33 0.56,0.38 0.12,0.03 0.24,0.03 0.36,0 0.06,-0.01 0.11,-0.03 0.16,-0.06 0.06,-0.03 0.1,-0.06 0.15,-0.12 0.05,-0.07 -0.02,-0.19 -0.1,-0.18 -0.05,0 -0.1,0.01 -0.14,0.03 -0.02,0.01 -0.04,0.01 -0.06,0.01 0,0 0,0 -0.01,0 0,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.03,0 -0.04,0 -0.09,0 -0.13,0 -0.02,0 -0.04,0 -0.06,0 0.04,0 0,0 -0.01,0 -0.01,0 -0.02,0 -0.03,-0.01 -0.04,-0.01 -0.08,-0.02 -0.12,-0.04 0,0 0,0 0,0 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.02,-0.01 -0.04,-0.02 -0.06,-0.03 -0.01,-0.01 -0.02,-0.01 -0.03,-0.02 0,0 -0.01,-0.01 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.02,-0.02 -0.02,-0.02 -0.03,-0.03 -0.04,-0.05 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.05,-0.07 -0.15,-0.11 -0.23,-0.06 -0.09,0.06 -0.12,0.16 -0.07,0.24 z"
+   id="path1276" />
+			<path
+   class="st1"
+   d="m 568.35,209.69 c 0.26,-0.25 0.56,-0.46 0.88,-0.62 0.16,-0.08 0.32,-0.14 0.48,-0.2 0.18,-0.06 0.36,-0.1 0.53,-0.16 0.17,-0.06 0.15,-0.32 -0.04,-0.32 -0.4,-0.01 -0.81,0.16 -1.16,0.34 -0.36,0.18 -0.69,0.41 -0.98,0.69 -0.17,0.17 0.11,0.45 0.29,0.27 z"
+   id="path1278" />
+			<path
+   class="st1"
+   d="m 570.02,210.28 c -0.17,0.1 -0.34,0.19 -0.52,0.29 -0.08,0.04 -0.11,0.15 -0.06,0.23 0,0.01 0.01,0.01 0.02,0.01 0.02,0.05 0.05,0.09 0.1,0.1 0.2,0.06 0.4,0.12 0.61,0.17 0.07,0.02 0.16,-0.03 0.18,-0.1 0.02,-0.08 -0.03,-0.15 -0.1,-0.18 -0.1,-0.04 -0.2,-0.08 -0.3,-0.11 0.08,-0.05 0.16,-0.1 0.24,-0.14 0.08,-0.05 0.17,-0.1 0.25,-0.15 0.04,-0.02 0.08,-0.05 0.12,-0.07 0.05,-0.03 0.09,-0.07 0.13,-0.11 0.09,-0.08 0,-0.25 -0.12,-0.21 -0.05,0.02 -0.11,0.04 -0.16,0.06 -0.04,0.02 -0.08,0.05 -0.12,0.07 -0.1,0.05 -0.18,0.1 -0.27,0.14 z"
+   id="path1280" />
+			<path
+   class="st1"
+   d="m 570.46,213.03 c 0.05,0.07 0.16,0.12 0.23,0.06 0.2,-0.15 0.4,-0.3 0.6,-0.46 0.05,-0.04 0.04,-0.12 0.01,-0.16 -0.04,-0.05 -0.11,-0.06 -0.16,-0.03 -0.21,0.12 -0.42,0.24 -0.62,0.36 -0.08,0.04 -0.11,0.15 -0.06,0.23 z"
+   id="path1282" />
+			<path
+   class="st1"
+   d="m 570.81,214.22 c 0.06,0.1 0.19,0.14 0.29,0.08 0.28,-0.18 0.55,-0.36 0.83,-0.54 0.14,-0.09 0.27,-0.18 0.41,-0.26 0.07,-0.05 0.14,-0.09 0.21,-0.14 0.04,-0.03 0.08,-0.05 0.12,-0.09 0.04,-0.04 0.05,-0.09 0.07,-0.13 0.05,-0.11 -0.07,-0.22 -0.17,-0.22 -0.17,0 -0.34,0.14 -0.48,0.23 -0.13,0.09 -0.26,0.17 -0.39,0.26 -0.27,0.18 -0.54,0.36 -0.81,0.53 -0.1,0.06 -0.14,0.18 -0.08,0.28 z"
+   id="path1284" />
+			<path
+   class="st1"
+   d="m 571.65,215.39 c -0.19,0.19 0.11,0.49 0.3,0.3 0.26,-0.26 0.55,-0.47 0.87,-0.63 0.15,-0.08 0.31,-0.14 0.48,-0.19 0.09,-0.03 0.18,-0.05 0.27,-0.07 0.1,-0.02 0.21,-0.03 0.3,-0.08 0.14,-0.07 0.12,-0.32 -0.05,-0.35 -0.19,-0.04 -0.43,0.04 -0.61,0.1 -0.2,0.06 -0.39,0.14 -0.58,0.23 -0.36,0.16 -0.69,0.41 -0.98,0.69 z"
+   id="path1286" />
+			<path
+   class="st1"
+   d="m 573.17,216.83 c -0.28,0.11 -0.55,0.21 -0.83,0.32 -0.07,0.03 -0.11,0.08 -0.13,0.15 -0.01,0.01 -0.01,0.03 -0.01,0.05 0,0.02 -0.01,0.03 -0.01,0.05 0,0.01 0.01,0.02 0.02,0.02 0,0.01 0,0.01 0,0.02 0.01,0.02 0.03,0.02 0.04,0.03 0.02,0.02 0.03,0.03 0.05,0.04 0.26,0.31 0.63,0.48 1.03,0.49 0.35,0.01 0.68,-0.09 0.95,-0.31 0,0.01 0,0.01 0,0.02 0,0 -0.01,0.02 0,0.01 0,0 0,0 0,0 -0.02,0.02 -0.04,0.05 -0.05,0.09 0,0.01 0,0.01 0,0.01 -0.05,0.11 0.02,0.24 0.15,0.25 0.23,0.01 0.36,-0.25 0.36,-0.45 0,-0.23 -0.13,-0.44 -0.36,-0.49 -0.1,-0.03 -0.21,0.02 -0.27,0.11 -0.08,0.13 -0.18,0.22 -0.33,0.3 -0.12,0.06 -0.29,0.11 -0.44,0.12 -0.23,0.01 -0.45,-0.08 -0.63,-0.22 0.19,-0.07 0.39,-0.14 0.58,-0.21 0.14,-0.05 0.28,-0.1 0.41,-0.15 0.15,-0.05 0.35,-0.09 0.43,-0.24 0.06,-0.1 0,-0.21 -0.1,-0.25 -0.15,-0.06 -0.32,0.05 -0.45,0.1 -0.13,0.03 -0.27,0.08 -0.41,0.14 z"
+   id="path1288" />
+			<path
+   class="st1"
+   d="m 573.8,219.18 c 0.03,0.1 0.15,0.18 0.25,0.14 0.27,-0.1 0.54,-0.2 0.81,-0.3 0.14,-0.05 0.27,-0.12 0.41,-0.18 0.13,-0.06 0.27,-0.12 0.38,-0.21 0.05,-0.03 0.07,-0.08 0.06,-0.14 -0.01,-0.05 -0.07,-0.1 -0.12,-0.09 -0.15,0.01 -0.29,0.05 -0.43,0.09 -0.14,0.04 -0.27,0.07 -0.41,0.12 -0.27,0.1 -0.54,0.21 -0.81,0.31 -0.1,0.05 -0.17,0.15 -0.14,0.26 z"
+   id="path1290" />
+			<path
+   class="st1"
+   d="m 537.59,217.43 c 0.22,-0.21 0.42,-0.47 0.6,-0.72 0.18,-0.25 0.36,-0.5 0.54,-0.76 0.35,-0.52 0.7,-1.04 1.06,-1.56 0.1,-0.15 -0.14,-0.29 -0.24,-0.14 -0.37,0.5 -0.74,1 -1.11,1.49 -0.18,0.24 -0.35,0.48 -0.52,0.73 -0.18,0.26 -0.37,0.53 -0.5,0.81 -0.07,0.12 0.07,0.24 0.17,0.15 z"
+   id="path1292" />
+			<path
+   class="st1"
+   d="m 535.35,221.98 c 0.19,-0.2 0.34,-0.48 0.47,-0.72 0.13,-0.25 0.26,-0.49 0.39,-0.74 0.26,-0.51 0.53,-1.02 0.79,-1.53 0.09,-0.17 -0.16,-0.31 -0.25,-0.15 -0.28,0.5 -0.55,1.01 -0.83,1.51 -0.13,0.24 -0.26,0.49 -0.4,0.73 -0.13,0.24 -0.28,0.52 -0.34,0.8 -0.01,0.1 0.1,0.18 0.17,0.1 z"
+   id="path1294" />
+			<path
+   class="st1"
+   d="m 539.14,217.82 c 0.43,-0.26 0.76,-0.66 1.03,-1.08 0.27,-0.42 0.48,-0.89 0.63,-1.37 0.05,-0.15 -0.18,-0.21 -0.23,-0.06 -0.16,0.45 -0.38,0.87 -0.65,1.26 -0.27,0.39 -0.6,0.72 -0.9,1.09 -0.07,0.09 0.01,0.22 0.12,0.16 z"
+   id="path1296" />
+			<path
+   class="st1"
+   d="m 537.19,221.98 c 0.05,-0.07 0.09,-0.1 0.13,-0.18 0.02,-0.05 0.04,-0.1 0.07,-0.15 0.05,-0.12 0.1,-0.24 0.15,-0.36 0.1,-0.23 0.2,-0.46 0.29,-0.69 0.2,-0.47 0.4,-0.93 0.6,-1.4 0.08,-0.19 -0.2,-0.35 -0.28,-0.16 -0.2,0.47 -0.41,0.95 -0.61,1.42 -0.1,0.24 -0.2,0.47 -0.31,0.71 -0.05,0.11 -0.1,0.23 -0.15,0.34 -0.02,0.05 -0.04,0.1 -0.06,0.15 -0.03,0.08 -0.03,0.14 -0.04,0.22 -0.02,0.14 0.13,0.2 0.21,0.1 z"
+   id="path1298" />
+			<path
+   class="st1"
+   d="m 536.76,222.24 c -0.18,0.41 -0.36,0.82 -0.54,1.23 -0.09,0.2 -0.18,0.4 -0.26,0.61 -0.04,0.1 -0.08,0.21 -0.11,0.31 -0.04,0.1 -0.1,0.22 -0.09,0.33 0.01,0.09 0.11,0.18 0.2,0.12 0.09,-0.07 0.13,-0.16 0.18,-0.27 0.05,-0.11 0.1,-0.21 0.15,-0.32 0.09,-0.2 0.17,-0.41 0.25,-0.61 0.17,-0.42 0.34,-0.85 0.5,-1.27 0.07,-0.17 -0.21,-0.29 -0.28,-0.13 z"
+   id="path1300" />
+			<path
+   class="st1"
+   d="m 610.47,189.34 c 0.11,0.03 0.22,0.06 0.33,0.1 0.03,0.02 0.06,0.04 0.1,0.05 0.04,0.01 0.08,0.01 0.12,0.02 0.08,0.01 0.17,0.03 0.26,0.04 0.07,0.01 0.15,0.02 0.22,0.03 0.04,0 0.08,0.01 0.12,0.01 0.05,0 0.09,-0.01 0.14,-0.02 0.14,-0.04 0.15,-0.21 0.04,-0.29 -0.13,-0.09 -0.31,-0.1 -0.46,-0.14 -0.07,-0.02 -0.15,-0.03 -0.22,-0.04 -0.04,-0.01 -0.08,-0.01 -0.12,-0.02 -0.05,-0.01 -0.08,0 -0.12,0.01 -0.12,0 -0.24,-0.01 -0.36,-0.01 -0.18,-0.03 -0.2,0.22 -0.05,0.26 z"
+   id="path1302" />
+			<path
+   class="st1"
+   d="m 617.69,193.06 c 0.14,0.08 0.29,0.16 0.44,0.23 0.08,0.04 0.15,0.06 0.23,0.1 0.09,0.04 0.17,0.08 0.26,0.12 0.11,0.05 0.2,-0.09 0.1,-0.17 -0.07,-0.05 -0.14,-0.1 -0.22,-0.15 -0.07,-0.05 -0.14,-0.11 -0.21,-0.16 -0.14,-0.08 -0.28,-0.17 -0.43,-0.25 -0.3,-0.17 -0.6,-0.33 -0.9,-0.5 -0.18,-0.1 -0.34,0.17 -0.16,0.28 0.29,0.16 0.59,0.34 0.89,0.5 z"
+   id="path1304" />
+			<path
+   class="st1"
+   d="m 553.45,301.21 c 0.11,0 0.11,-0.18 0,-0.18 -0.11,0 -0.11,0.18 0,0.18 z"
+   id="path1306" />
+			<path
+   class="st1"
+   d="m 550.38,296.5 c -0.13,-0.13 -0.27,-0.24 -0.41,-0.35 -0.28,-0.23 -0.55,-0.46 -0.83,-0.69 -0.1,-0.09 -0.26,0.06 -0.15,0.15 0.26,0.24 0.53,0.48 0.79,0.73 0.13,0.12 0.25,0.24 0.39,0.35 0.07,0.06 0.14,0.11 0.22,0.15 0.08,0.04 0.15,0.11 0.24,0.15 0.05,0.02 0.12,-0.03 0.09,-0.09 -0.04,-0.07 -0.11,-0.13 -0.16,-0.2 -0.06,-0.07 -0.12,-0.14 -0.18,-0.2 z"
+   id="path1308" />
+			<path
+   class="st1"
+   d="m 554.13,300.08 c -0.06,-0.06 -0.14,-0.11 -0.21,-0.16 -0.14,-0.1 -0.27,-0.2 -0.41,-0.3 -0.04,-0.03 -0.11,-0.01 -0.13,0.03 -0.03,0.05 -0.01,0.1 0.03,0.13 0.13,0.1 0.27,0.2 0.4,0.3 0.06,0.05 0.13,0.1 0.2,0.15 0.07,0.04 0.15,0.08 0.22,0.12 0.06,0.04 0.13,-0.05 0.08,-0.1 -0.06,-0.05 -0.12,-0.11 -0.18,-0.17 z"
+   id="path1310" />
+			<path
+   class="st1"
+   d="m 565.57,307.73 c -0.04,-0.04 -0.08,-0.07 -0.12,-0.1 -0.08,-0.07 -0.17,-0.14 -0.25,-0.2 -0.17,-0.13 -0.33,-0.27 -0.5,-0.4 -0.06,-0.05 -0.14,-0.06 -0.19,0 -0.05,0.05 -0.06,0.15 0,0.19 0.17,0.14 0.33,0.28 0.5,0.41 0.08,0.07 0.16,0.13 0.24,0.2 0.05,0.04 0.09,0.08 0.14,0.12 0.05,0.03 0.09,0.06 0.14,0.09 0.12,0.08 0.24,-0.09 0.15,-0.19 -0.04,-0.04 -0.07,-0.08 -0.11,-0.12 z"
+   id="path1312" />
+			<path
+   class="st1"
+   d="m 568.3,308.89 c -0.03,-0.01 -0.05,-0.04 -0.08,-0.05 -0.04,-0.01 -0.1,-0.01 -0.14,-0.02 -0.14,-0.02 -0.27,-0.03 -0.41,-0.04 -0.28,-0.02 -0.56,-0.01 -0.84,-0.03 -0.12,-0.01 -0.14,0.18 -0.03,0.2 0.28,0.05 0.55,0.13 0.82,0.18 0.14,0.03 0.28,0.05 0.42,0.06 0.04,0 0.07,0.01 0.11,0.01 0.04,0 0.07,-0.01 0.11,-0.02 0.07,-0.02 0.14,0 0.21,-0.04 0.06,-0.04 0.07,-0.12 0.02,-0.17 -0.05,-0.04 -0.12,-0.04 -0.19,-0.08 z"
+   id="path1314" />
+			<path
+   class="st1"
+   d="m 564.85,305.82 c 0.07,-0.03 0.11,-0.1 0.07,-0.17 -0.04,-0.07 -0.1,-0.09 -0.17,-0.12 -0.07,-0.03 -0.14,-0.06 -0.21,-0.09 -0.14,-0.05 -0.29,-0.1 -0.43,-0.16 -0.28,-0.1 -0.56,-0.21 -0.84,-0.31 -0.07,-0.03 -0.15,0.03 -0.17,0.1 -0.02,0.08 0.03,0.15 0.1,0.17 l 0.83,0.32 c 0.14,0.05 0.28,0.11 0.41,0.16 0.07,0.03 0.14,0.05 0.21,0.07 0.06,0.02 0.13,0.05 0.2,0.03 z"
+   id="path1316" />
+			<path
+   class="st1"
+   d="m 587.14,311.51 c -0.09,0 -0.17,0 -0.26,0 -0.17,0 -0.35,0.01 -0.52,0.01 -0.08,0 -0.17,0.07 -0.16,0.16 0,0.09 0.07,0.16 0.16,0.16 0.17,0 0.35,0.01 0.52,0.01 0.09,0 0.17,0 0.26,0 0.1,0 0.2,0.01 0.29,-0.05 0.09,-0.06 0.09,-0.19 0,-0.25 -0.09,-0.04 -0.18,-0.04 -0.29,-0.04 z"
+   id="path1318" />
+			<path
+   class="st1"
+   d="m 589.81,312.02 c 0.07,-0.04 0.07,-0.13 0.02,-0.18 -0.07,-0.08 -0.2,-0.09 -0.3,-0.12 -0.1,-0.03 -0.21,-0.05 -0.31,-0.06 -0.21,-0.03 -0.42,-0.06 -0.62,-0.1 -0.09,-0.01 -0.19,0.02 -0.22,0.12 -0.02,0.08 0.03,0.2 0.12,0.22 0.21,0.03 0.42,0.07 0.63,0.1 0.11,0.02 0.22,0.04 0.33,0.04 0.12,0.01 0.25,0.03 0.35,-0.02 z"
+   id="path1320" />
+			<path
+   class="st1"
+   d="m 591.98,311.79 c -0.26,-0.09 -0.54,-0.09 -0.81,-0.08 -0.27,0 -0.54,0.01 -0.81,0.01 -0.22,0 -0.22,0.34 0,0.34 0.27,0 0.54,0.01 0.81,0.01 0.27,0 0.55,0 0.81,-0.08 0.09,-0.04 0.09,-0.16 0,-0.2 z"
+   id="path1322" />
+			<path
+   class="st1"
+   d="m 590.59,312.86 c -0.08,-0.02 -0.17,-0.04 -0.25,-0.05 -0.18,-0.03 -0.35,-0.06 -0.53,-0.09 -0.11,-0.02 -0.23,0.03 -0.26,0.15 -0.02,0.1 0.03,0.23 0.15,0.26 0.18,0.04 0.36,0.08 0.54,0.11 0.1,0.02 0.2,0.04 0.3,0.05 0.05,0.01 0.09,0.01 0.14,0.02 0.08,0.01 0.14,-0.02 0.2,-0.07 0.06,-0.05 0.06,-0.14 0.03,-0.21 -0.04,-0.07 -0.09,-0.11 -0.17,-0.13 -0.06,-0.02 -0.1,-0.03 -0.15,-0.04 z"
+   id="path1324" />
+			<path
+   class="st1"
+   d="m 594.62,313.08 c 0.14,0 0.27,-0.01 0.41,-0.02 0.13,-0.01 0.27,0 0.39,-0.07 0.12,-0.07 0.08,-0.23 -0.04,-0.28 -0.13,-0.05 -0.28,-0.02 -0.42,-0.01 -0.13,0.01 -0.25,0.02 -0.38,0.04 -0.27,0.03 -0.56,0.1 -0.84,0.08 -0.26,-0.01 -0.53,-0.03 -0.79,-0.02 -0.27,0.01 -0.54,0.06 -0.81,0.09 -0.22,0.03 -0.24,0.36 0,0.36 0.27,-0.01 0.54,0 0.81,-0.02 0.28,-0.02 0.56,-0.08 0.83,-0.13 0.28,-0.04 0.57,-0.02 0.84,-0.02 z"
+   id="path1326" />
+			<path
+   class="st1"
+   d="m 599.34,312.09 c 0.28,-0.02 0.55,-0.02 0.83,-0.04 0.14,-0.01 0.29,-0.04 0.43,-0.06 0.11,-0.02 0.26,-0.04 0.35,-0.12 0.01,0 0.02,-0.01 0.02,-0.01 0.06,-0.02 0.1,-0.07 0.1,-0.13 0,-0.05 -0.04,-0.12 -0.1,-0.13 -0.02,0 -0.04,-0.01 -0.06,-0.01 -0.1,-0.06 -0.25,-0.04 -0.35,-0.03 -0.15,0.01 -0.3,0.03 -0.45,0.05 -0.27,0.05 -0.54,0.11 -0.81,0.16 -0.19,0.03 -0.15,0.33 0.04,0.32 z"
+   id="path1328" />
+			<path
+   class="st1"
+   d="m 600.13,312.49 c -0.26,0 -0.26,0.4 0,0.4 0.28,0 0.55,0 0.83,0.01 0.14,0 0.27,0 0.41,-0.01 0.14,-0.01 0.33,0.02 0.44,-0.07 0.1,-0.07 0.1,-0.2 0,-0.27 -0.11,-0.08 -0.29,-0.06 -0.42,-0.06 -0.14,-0.01 -0.28,-0.01 -0.42,-0.01 -0.29,0 -0.56,0.01 -0.84,0.01 z"
+   id="path1330" />
+			<path
+   class="st1"
+   d="m 624.24,303.18 c -0.06,0.01 -0.11,0.04 -0.16,0.07 -0.05,0.03 -0.09,0.07 -0.14,0.1 -0.1,0.07 -0.19,0.14 -0.29,0.22 -0.17,0.14 -0.34,0.27 -0.52,0.41 -0.08,0.06 -0.07,0.21 0,0.28 0.09,0.08 0.19,0.07 0.28,0 l 0.51,-0.4 c 0.08,-0.07 0.17,-0.13 0.24,-0.2 0.09,-0.08 0.19,-0.15 0.24,-0.25 0.06,-0.13 -0.03,-0.26 -0.16,-0.23 z"
+   id="path1332" />
+			<path
+   class="st1"
+   d="m 626.12,302.38 c 0.06,-0.04 0.13,-0.08 0.18,-0.13 0.04,-0.04 0.09,-0.08 0.14,-0.12 0.02,-0.02 0.05,-0.04 0.07,-0.06 0.03,-0.03 0.05,-0.06 0.07,-0.09 0.03,-0.05 0.02,-0.11 -0.01,-0.15 -0.04,-0.05 -0.09,-0.06 -0.14,-0.05 -0.04,0.01 -0.07,0.01 -0.1,0.03 -0.03,0.01 -0.05,0.03 -0.08,0.04 -0.05,0.03 -0.1,0.05 -0.15,0.08 -0.03,0.01 -0.06,0.02 -0.08,0.03 -0.03,0.02 -0.06,0.04 -0.08,0.06 -0.06,0.04 -0.11,0.07 -0.17,0.11 -0.04,0.03 -0.08,0.07 -0.09,0.12 -0.01,0.05 -0.01,0.11 0.02,0.16 0.06,0.09 0.18,0.13 0.28,0.07 0.04,-0.03 0.09,-0.06 0.14,-0.1 z"
+   id="path1334" />
+			<path
+   class="st1"
+   d="m 627.46,302.96 c -0.09,0 -0.16,0.04 -0.23,0.08 -0.06,0.04 -0.13,0.07 -0.19,0.11 -0.12,0.08 -0.24,0.17 -0.36,0.26 -0.24,0.18 -0.47,0.36 -0.71,0.54 -0.08,0.06 -0.12,0.16 -0.07,0.26 0.05,0.08 0.17,0.12 0.26,0.07 0.25,-0.17 0.5,-0.33 0.75,-0.5 0.13,-0.09 0.26,-0.18 0.38,-0.28 0.06,-0.05 0.11,-0.09 0.17,-0.14 0.07,-0.06 0.12,-0.11 0.16,-0.2 0.02,-0.1 -0.07,-0.2 -0.16,-0.2 z"
+   id="path1336" />
+			<path
+   class="st1"
+   d="m 631.6,299.72 c -0.4,0.32 -0.81,0.64 -1.22,0.96 -0.41,0.32 -0.82,0.63 -1.23,0.94 -0.41,0.31 -0.79,0.67 -1.18,1 -0.13,0.11 0.04,0.34 0.18,0.24 0.4,-0.3 0.82,-0.58 1.2,-0.9 0.4,-0.33 0.78,-0.67 1.18,-1 0.39,-0.32 0.77,-0.64 1.16,-0.95 0.42,-0.33 0.84,-0.65 1.2,-1.04 0.07,-0.07 -0.02,-0.2 -0.11,-0.14 -0.42,0.26 -0.79,0.58 -1.18,0.89 z"
+   id="path1338" />
+			<path
+   class="st1"
+   d="m 654.68,256.92 c 0.05,-0.05 0.07,-0.11 0.08,-0.18 0.01,-0.06 0.03,-0.12 0.04,-0.19 0.02,-0.12 0.03,-0.24 0.05,-0.36 0.04,-0.25 0.06,-0.5 0.09,-0.76 0.02,-0.17 -0.27,-0.21 -0.3,-0.04 -0.04,0.24 -0.08,0.49 -0.12,0.74 -0.02,0.12 -0.03,0.24 -0.05,0.36 -0.01,0.07 -0.01,0.14 -0.02,0.21 -0.01,0.07 -0.01,0.13 0.03,0.2 0.04,0.06 0.14,0.08 0.2,0.02 z"
+   id="path1340" />
+			<path
+   class="st1"
+   d="m 654.29,259.02 c 0,0.15 -0.08,0.33 -0.01,0.46 0.04,0.08 0.16,0.08 0.2,0 0.07,-0.13 0,-0.3 -0.01,-0.45 0,-0.16 0.03,-0.32 0.05,-0.48 0.03,-0.31 0.03,-0.62 0.03,-0.93 0,-0.22 -0.35,-0.22 -0.35,0 0,0.31 0,0.62 0.03,0.93 0.03,0.16 0.06,0.32 0.06,0.47 z"
+   id="path1342" />
+			<path
+   class="st1"
+   d="m 654.09,261.91 c 0.03,-0.03 0.06,-0.07 0.09,-0.11 0.02,-0.03 0.04,-0.06 0.06,-0.09 0.04,-0.06 0.08,-0.13 0.13,-0.19 0.03,-0.04 0.03,-0.09 0.02,-0.14 -0.01,-0.05 -0.06,-0.1 -0.11,-0.12 -0.05,-0.02 -0.09,-0.02 -0.14,0 -0.05,0.02 -0.09,0.06 -0.11,0.12 -0.03,0.07 -0.05,0.14 -0.07,0.21 -0.01,0.03 -0.02,0.07 -0.04,0.1 -0.01,0.04 -0.02,0.07 -0.03,0.11 -0.01,0.05 0.01,0.1 0.05,0.13 0.05,0.02 0.11,0.02 0.15,-0.02 z"
+   id="path1344" />
+			<path
+   class="st1"
+   d="m 656.75,252.64 c -0.01,-0.21 -0.32,-0.21 -0.32,0 -0.01,0.21 -0.02,0.42 -0.03,0.63 0,0.1 -0.01,0.2 -0.01,0.31 0,0.05 0,0.11 0,0.16 0,0.03 0,0.07 0.01,0.1 0.01,0.04 0.04,0.08 0.07,0.11 0.05,0.06 0.18,0.06 0.23,0 0.03,-0.03 0.06,-0.07 0.07,-0.11 0.01,-0.03 0.01,-0.07 0.01,-0.1 0,-0.05 0,-0.11 0,-0.16 0,-0.1 0,-0.2 -0.01,-0.31 -0.01,-0.21 -0.02,-0.42 -0.02,-0.63 z"
+   id="path1346" />
+			<path
+   class="st1"
+   d="m 656.62,255 c -0.13,-0.03 -0.25,0.04 -0.29,0.16 -0.08,0.25 -0.15,0.5 -0.23,0.75 -0.02,0.07 -0.05,0.13 -0.05,0.2 0,0.02 -0.01,0.04 -0.01,0.06 0,-0.02 0,-0.02 -0.01,0.01 -0.01,0.03 -0.01,0.06 -0.02,0.09 -0.01,0.06 -0.03,0.13 -0.04,0.19 -0.02,0.11 -0.01,0.19 0.06,0.28 0.04,0.05 0.12,0.07 0.18,0.05 0.1,-0.04 0.15,-0.1 0.19,-0.2 0.02,-0.06 0.04,-0.12 0.06,-0.18 0.05,-0.13 0.09,-0.23 0.13,-0.38 0.07,-0.25 0.13,-0.5 0.2,-0.76 0.02,-0.1 -0.05,-0.24 -0.17,-0.27 z"
+   id="path1348" />
+			<path
+   class="st1"
+   d="m 655.42,259.78 c -0.07,0.27 -0.14,0.54 -0.2,0.81 -0.03,0.13 -0.08,0.28 -0.09,0.41 -0.01,0.14 -0.02,0.28 -0.02,0.41 0,0.09 0.12,0.13 0.17,0.05 0.06,-0.12 0.11,-0.24 0.17,-0.36 0.06,-0.13 0.08,-0.28 0.12,-0.42 0.07,-0.27 0.14,-0.54 0.2,-0.81 0.04,-0.22 -0.3,-0.31 -0.35,-0.09 z"
+   id="path1350" />
+			<path
+   class="st1"
+   d="m 654.81,263.17 c -0.1,0.3 -0.21,0.61 -0.3,0.92 -0.09,0.3 -0.18,0.62 -0.22,0.93 -0.01,0.1 0.14,0.13 0.19,0.05 0.08,-0.14 0.13,-0.3 0.21,-0.45 0.07,-0.14 0.12,-0.29 0.17,-0.44 0.11,-0.3 0.21,-0.61 0.31,-0.91 0.07,-0.23 -0.29,-0.33 -0.36,-0.1 z"
+   id="path1352" />
+			<path
+   class="st1"
+   d="m 654.28,265.74 c -0.11,0.24 -0.21,0.48 -0.32,0.72 -0.05,0.12 -0.11,0.23 -0.16,0.35 -0.05,0.12 -0.13,0.26 -0.13,0.39 0,0.11 0.14,0.16 0.21,0.09 0.09,-0.09 0.13,-0.23 0.18,-0.34 0.05,-0.13 0.1,-0.25 0.16,-0.38 0.1,-0.24 0.2,-0.48 0.3,-0.73 0.05,-0.13 -0.18,-0.23 -0.24,-0.1 z"
+   id="path1354" />
+			<path
+   class="st1"
+   d="m 653.45,268.06 c -0.07,-0.03 -0.17,-0.01 -0.2,0.07 -0.08,0.18 -0.16,0.35 -0.23,0.53 -0.03,0.09 -0.07,0.17 -0.1,0.26 -0.02,0.04 -0.03,0.09 -0.05,0.13 -0.02,0.05 -0.03,0.1 -0.02,0.16 0,0.12 0.15,0.19 0.24,0.1 0.02,-0.02 0.05,-0.04 0.07,-0.07 0.01,-0.02 0.02,-0.05 0.03,-0.08 0.02,-0.04 0.03,-0.09 0.05,-0.13 l 0.11,-0.26 c 0.07,-0.17 0.13,-0.35 0.19,-0.52 0.03,-0.08 -0.02,-0.17 -0.09,-0.19 z"
+   id="path1356" />
+			<path
+   class="st1"
+   d="m 652.39,270.66 c -0.17,0 -0.17,0.27 0,0.27 0.18,0 0.18,-0.27 0,-0.27 z"
+   id="path1358" />
+			<path
+   class="st1"
+   d="m 650.46,275.9 c -0.14,0.27 -0.28,0.54 -0.41,0.81 -0.14,0.27 -0.29,0.54 -0.39,0.83 -0.05,0.17 0.18,0.24 0.27,0.11 0.17,-0.24 0.29,-0.52 0.42,-0.79 0.13,-0.27 0.26,-0.53 0.39,-0.8 0.08,-0.18 -0.18,-0.34 -0.28,-0.16 z"
+   id="path1360" />
+			<path
+   class="st1"
+   d="m 648.67,280.49 c -0.14,0.2 -0.28,0.4 -0.41,0.61 -0.06,0.1 -0.12,0.2 -0.18,0.31 -0.06,0.11 -0.13,0.22 -0.18,0.34 -0.04,0.1 0.1,0.16 0.16,0.1 0.09,-0.09 0.16,-0.19 0.24,-0.3 0.07,-0.09 0.15,-0.19 0.22,-0.28 0.14,-0.2 0.27,-0.41 0.4,-0.61 0.05,-0.07 0.01,-0.17 -0.06,-0.21 -0.05,-0.06 -0.14,-0.03 -0.19,0.04 z"
+   id="path1362" />
+			<path
+   class="st1"
+   d="m 647.28,282.89 c -0.21,0.33 -0.42,0.67 -0.64,1 -0.11,0.17 -0.22,0.33 -0.32,0.5 -0.05,0.08 -0.08,0.16 -0.13,0.25 -0.05,0.1 -0.1,0.19 -0.12,0.29 -0.02,0.11 0.1,0.25 0.21,0.16 0.09,-0.07 0.14,-0.15 0.21,-0.24 0.05,-0.08 0.11,-0.15 0.16,-0.23 0.11,-0.17 0.2,-0.35 0.3,-0.53 0.19,-0.35 0.39,-0.7 0.59,-1.05 0.1,-0.17 -0.16,-0.32 -0.26,-0.15 z"
+   id="path1364" />
+			<path
+   class="st1"
+   d="m 645.31,286.26 c -0.24,0.31 -0.49,0.62 -0.73,0.93 -0.12,0.15 -0.25,0.3 -0.38,0.44 -0.06,0.07 -0.13,0.14 -0.19,0.21 -0.07,0.09 -0.16,0.17 -0.16,0.29 0,0.1 0.09,0.16 0.19,0.14 0.11,-0.03 0.16,-0.12 0.23,-0.21 0.05,-0.08 0.11,-0.15 0.16,-0.23 0.11,-0.17 0.22,-0.34 0.34,-0.5 0.24,-0.32 0.48,-0.63 0.72,-0.95 0.05,-0.09 -0.11,-0.21 -0.18,-0.12 z"
+   id="path1366" />
+			<path
+   class="st1"
+   d="m 640.82,291.76 c -0.24,0 -0.24,0.37 0,0.37 0.24,-0.01 0.24,-0.37 0,-0.37 z"
+   id="path1368" />
+			<path
+   class="st1"
+   d="m 547.93,204.9 c 0.2,-0.17 0.4,-0.33 0.59,-0.5 0.1,-0.08 0.19,-0.17 0.28,-0.26 0.04,-0.05 0.09,-0.09 0.13,-0.14 0.02,-0.02 0.04,-0.05 0.06,-0.07 0.03,-0.04 0.05,-0.09 0.06,-0.14 0.03,-0.12 -0.08,-0.23 -0.19,-0.19 -0.04,0.01 -0.08,0.02 -0.12,0.05 -0.03,0.02 -0.05,0.05 -0.08,0.07 -0.05,0.04 -0.09,0.09 -0.14,0.13 -0.1,0.09 -0.18,0.18 -0.27,0.28 -0.17,0.2 -0.33,0.4 -0.5,0.59 -0.11,0.12 0.06,0.29 0.18,0.18 z"
+   id="path1370" />
+			<path
+   class="st1"
+   d="m 550.6,202.78 c 0.83,-0.65 1.68,-1.28 2.5,-1.96 0.4,-0.32 0.79,-0.65 1.19,-0.97 0.39,-0.32 0.85,-0.63 1.15,-1.05 0.07,-0.1 -0.06,-0.2 -0.15,-0.15 -0.45,0.21 -0.84,0.6 -1.22,0.91 l -1.22,1.01 c -0.81,0.67 -1.6,1.37 -2.39,2.06 -0.12,0.09 0.03,0.23 0.14,0.15 z"
+   id="path1372" />
+			<path
+   class="st1"
+   d="m 556.17,198.29 c 0.42,-0.31 0.83,-0.62 1.26,-0.91 0.21,-0.14 0.4,-0.3 0.61,-0.45 0.11,-0.08 0.21,-0.16 0.32,-0.25 0.1,-0.08 0.22,-0.16 0.28,-0.27 0.06,-0.12 -0.04,-0.24 -0.17,-0.22 -0.12,0.02 -0.22,0.12 -0.32,0.19 -0.11,0.08 -0.21,0.16 -0.32,0.24 -0.2,0.16 -0.41,0.32 -0.61,0.49 -0.39,0.34 -0.79,0.67 -1.2,1 -0.1,0.07 0.04,0.26 0.15,0.18 z"
+   id="path1374" />
+			<path
+   class="st1"
+   d="m 560.17,195.65 c 0.41,-0.23 0.83,-0.46 1.24,-0.68 0.21,-0.11 0.41,-0.23 0.62,-0.34 0.1,-0.06 0.19,-0.12 0.28,-0.18 0.1,-0.07 0.21,-0.12 0.27,-0.22 0.05,-0.09 -0.02,-0.2 -0.12,-0.2 -0.12,0 -0.23,0.07 -0.34,0.12 -0.1,0.05 -0.2,0.09 -0.3,0.15 -0.21,0.11 -0.41,0.23 -0.61,0.35 -0.41,0.24 -0.82,0.47 -1.23,0.71 -0.17,0.1 0,0.4 0.19,0.29 z"
+   id="path1376" />
+			<path
+   class="st1"
+   d="m 563.11,193.81 0.95,-0.54 c 0.16,-0.09 0.31,-0.18 0.46,-0.27 0.07,-0.04 0.15,-0.09 0.22,-0.13 0.09,-0.05 0.17,-0.09 0.24,-0.17 0.06,-0.08 0.04,-0.25 -0.09,-0.23 -0.18,0.02 -0.34,0.14 -0.5,0.23 -0.16,0.09 -0.32,0.18 -0.48,0.27 -0.32,0.18 -0.64,0.37 -0.96,0.55 -0.21,0.1 -0.03,0.4 0.16,0.29 z"
+   id="path1378" />
+			<path
+   class="st1"
+   d="m 579.03,188.25 c 0.54,-0.14 1.08,-0.27 1.63,-0.41 0.52,-0.13 1.1,-0.21 1.58,-0.46 0.11,-0.05 0.05,-0.22 -0.06,-0.22 -0.54,0.01 -1.09,0.21 -1.61,0.34 -0.54,0.14 -1.08,0.27 -1.63,0.41 -0.23,0.05 -0.13,0.39 0.09,0.34 z"
+   id="path1380" />
+			<path
+   class="st1"
+   d="m 584.57,187.05 c 1.44,-0.03 2.88,-0.06 4.32,-0.07 0.7,-0.01 1.4,-0.03 2.1,-0.04 0.36,-0.01 0.72,-0.01 1.08,-0.02 0.34,-0.01 0.72,0 1.06,-0.08 0.13,-0.03 0.14,-0.24 0,-0.27 -0.32,-0.07 -0.67,-0.04 -1,-0.04 -0.36,0 -0.72,0.02 -1.08,0.03 -0.72,0.02 -1.44,0.03 -2.16,0.06 -1.44,0.06 -2.88,0.09 -4.32,0.14 -0.2,0 -0.2,0.3 0,0.29 z"
+   id="path1382" />
+			<path
+   class="st1"
+   d="m 595.96,186.66 c 0.14,0.04 0.27,0.09 0.41,0.13 l 0.2,0.06 c 0.03,0.01 0.07,0.02 0.11,0.03 0.04,0.01 0.09,0.01 0.14,0.01 0.06,0 0.13,-0.04 0.14,-0.11 0.02,-0.07 -0.01,-0.12 -0.07,-0.16 -0.04,-0.03 -0.07,-0.05 -0.12,-0.07 -0.03,-0.01 -0.07,-0.02 -0.11,-0.04 -0.06,-0.02 -0.13,-0.05 -0.19,-0.07 -0.13,-0.05 -0.27,-0.1 -0.4,-0.14 -0.09,-0.03 -0.21,0.04 -0.23,0.13 -0.03,0.1 0.02,0.2 0.12,0.23 z"
+   id="path1384" />
+			<path
+   class="st1"
+   d="m 598.4,187.21 0.83,0.01 c 0.14,0 0.27,-0.01 0.41,-0.02 0.14,-0.01 0.3,0 0.42,-0.08 0.08,-0.05 0.08,-0.17 0,-0.22 -0.12,-0.07 -0.27,-0.07 -0.41,-0.08 -0.14,-0.01 -0.28,-0.02 -0.42,-0.02 l -0.83,0.01 c -0.26,0 -0.26,0.4 0,0.4 z"
+   id="path1386" />
+			<path
+   class="st1"
+   d="m 600.76,187.1 c 0.16,0.03 0.31,0.06 0.47,0.09 0.16,0.03 0.31,0.08 0.46,0.11 0.31,0.07 0.65,0.1 0.97,0.07 0.06,-0.01 0.11,-0.04 0.13,-0.1 0.01,-0.05 -0.01,-0.13 -0.06,-0.15 -0.3,-0.13 -0.64,-0.2 -0.96,-0.22 -0.16,-0.01 -0.32,-0.01 -0.47,-0.02 -0.16,-0.01 -0.33,-0.03 -0.49,-0.05 -0.16,0 -0.19,0.25 -0.05,0.27 z"
+   id="path1388" />
+			<path
+   class="st1"
+   d="m 603.99,187.7 c 0.19,-0.02 0.38,-0.03 0.56,-0.06 0.1,-0.02 0.1,-0.17 0,-0.19 -0.18,-0.04 -0.37,-0.05 -0.56,-0.06 -0.04,0 -0.09,0.02 -0.11,0.05 -0.03,0.03 -0.05,0.07 -0.05,0.11 0,0.07 0.07,0.16 0.16,0.15 z"
+   id="path1390" />
+			<path
+   class="st1"
+   d="m 507.92,291.1 c 0.52,1.69 1.27,3.29 2.3,4.74 0.5,0.71 1.06,1.37 1.67,1.99 0.31,0.32 0.63,0.62 0.97,0.91 0.33,0.28 0.67,0.59 1.04,0.81 0.15,0.09 0.33,-0.13 0.19,-0.25 -0.32,-0.3 -0.7,-0.54 -1.03,-0.83 -0.31,-0.27 -0.61,-0.55 -0.9,-0.83 -0.61,-0.62 -1.18,-1.28 -1.69,-1.99 -1.01,-1.39 -1.83,-2.95 -2.35,-4.58 -0.04,-0.15 -0.23,-0.1 -0.2,0.03 z"
+   id="path1392" />
+			<path
+   class="st1"
+   d="m 525.14,295.54 c -1.11,-0.99 -2.14,-2.08 -3.06,-3.24 -1.03,-1.3 -2.01,-2.72 -2.77,-4.2 -0.04,-0.08 -0.15,-0.01 -0.11,0.07 0.77,1.52 1.6,2.97 2.63,4.33 1.01,1.33 2.15,2.55 3.39,3.69 0.1,0.09 0.26,0.07 0.33,-0.05 0.14,-0.23 0.05,-0.53 -0.2,-0.64 -0.08,-0.04 -0.16,-0.01 -0.21,0.04 z"
+   id="path1394" />
+			<path
+   class="st1"
+   d="m 481.63,299.25 c -0.05,-0.09 -0.1,-0.18 -0.16,-0.27 -0.11,-0.18 -0.21,-0.37 -0.3,-0.56 -0.05,-0.1 -0.22,-0.03 -0.18,0.08 0.08,0.2 0.16,0.39 0.23,0.59 0.03,0.1 0.07,0.19 0.1,0.29 0.02,0.06 0.05,0.11 0.08,0.17 0.03,0.06 0.06,0.11 0.12,0.14 0.08,0.03 0.17,0.01 0.2,-0.08 0.02,-0.07 0,-0.12 -0.02,-0.19 -0.02,-0.06 -0.04,-0.12 -0.07,-0.17 z"
+   id="path1396" />
+			<path
+   class="st1"
+   d="m 482.18,300.51 c -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.12 -0.05,0.18 0.07,0.13 0.14,0.27 0.2,0.4 0.07,0.13 0.13,0.28 0.21,0.4 0.04,0.06 0.11,0.08 0.17,0.06 0.06,-0.02 0.11,-0.1 0.08,-0.16 -0.06,-0.15 -0.14,-0.29 -0.22,-0.43 -0.06,-0.13 -0.13,-0.26 -0.21,-0.4 z"
+   id="path1398" />
+			<path
+   class="st1"
+   d="m 482.75,299.97 c -0.1,-0.22 -0.19,-0.44 -0.29,-0.66 -0.02,-0.06 -0.11,-0.07 -0.15,-0.04 -0.06,0.03 -0.06,0.1 -0.04,0.15 0.09,0.22 0.19,0.43 0.28,0.65 0.09,0.21 0.17,0.44 0.31,0.63 0.05,0.07 0.16,0.03 0.14,-0.06 -0.02,-0.12 -0.07,-0.23 -0.11,-0.34 -0.05,-0.11 -0.1,-0.22 -0.14,-0.33 z"
+   id="path1400" />
+			<path
+   class="st1"
+   d="m 483.48,301.42 c -0.03,-0.03 -0.06,-0.06 -0.08,-0.09 -0.05,-0.06 -0.11,-0.12 -0.16,-0.18 -0.04,-0.05 -0.12,-0.04 -0.17,0 -0.04,0.05 -0.04,0.12 0,0.17 0.05,0.06 0.11,0.12 0.16,0.18 0.03,0.03 0.05,0.06 0.08,0.09 0.02,0.02 0.04,0.03 0.06,0.04 0.04,0.03 0.1,0.03 0.14,-0.01 0.02,-0.02 0.03,-0.05 0.03,-0.07 0,-0.02 -0.01,-0.05 -0.02,-0.07 -0.01,-0.02 -0.02,-0.04 -0.04,-0.06 z"
+   id="path1402" />
+			<path
+   class="st1"
+   d="m 484.04,297.84 c -0.06,-0.14 -0.3,-0.04 -0.24,0.1 0.1,0.24 0.19,0.47 0.29,0.71 0.1,0.24 0.18,0.49 0.32,0.71 0.07,0.12 0.25,0.04 0.22,-0.09 -0.06,-0.25 -0.18,-0.48 -0.28,-0.72 -0.11,-0.24 -0.21,-0.47 -0.31,-0.71 z"
+   id="path1404" />
+			<path
+   class="st1"
+   d="m 485.84,301.62 c -0.12,-0.21 -0.24,-0.43 -0.37,-0.64 -0.06,-0.1 -0.21,-0.01 -0.16,0.09 0.11,0.22 0.22,0.44 0.33,0.66 0.06,0.11 0.11,0.23 0.17,0.34 0.04,0.08 0.12,0.26 0.24,0.19 0.12,-0.07 0.01,-0.23 -0.04,-0.31 -0.04,-0.11 -0.11,-0.22 -0.17,-0.33 z"
+   id="path1406" />
+			<path
+   class="st1"
+   d="m 486.53,298.32 c -0.01,-0.07 -0.02,-0.13 -0.05,-0.2 -0.04,-0.12 -0.08,-0.24 -0.12,-0.36 -0.09,-0.25 -0.19,-0.5 -0.28,-0.74 -0.06,-0.15 -0.3,-0.09 -0.25,0.07 l 0.23,0.76 c 0.04,0.12 0.08,0.24 0.12,0.36 0.02,0.07 0.06,0.13 0.09,0.2 0.03,0.06 0.04,0.13 0.11,0.16 0.05,0.03 0.12,0.01 0.15,-0.04 0.04,-0.08 0.02,-0.13 0,-0.21 z"
+   id="path1408" />
+			<path
+   class="st1"
+   d="m 487.06,299.58 c -0.12,-0.2 -0.23,-0.4 -0.35,-0.59 -0.07,-0.12 -0.24,-0.01 -0.18,0.11 0.1,0.21 0.2,0.42 0.3,0.62 0.05,0.1 0.1,0.2 0.15,0.3 0.05,0.1 0.11,0.23 0.21,0.29 0.07,0.04 0.16,-0.01 0.16,-0.09 0.01,-0.12 -0.08,-0.24 -0.13,-0.34 -0.06,-0.1 -0.11,-0.2 -0.16,-0.3 z"
+   id="path1410" />
+			<path
+   class="st1"
+   d="m 488.12,302 c 0.05,0.04 0.09,0.08 0.14,0.12 0.01,0.01 0.03,0 0.04,-0.01 0.01,-0.01 0.01,-0.03 0,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.02,-0.02 -0.05,-0.04 -0.07,-0.06 -0.05,-0.04 -0.09,-0.08 -0.14,-0.12 -0.02,-0.01 -0.04,-0.01 -0.05,0 -0.01,0.01 -0.02,0.04 0,0.05 0.05,0.04 0.1,0.08 0.14,0.12 z"
+   id="path1412" />
+			<path
+   class="st1"
+   d="m 488.83,298.2 c -0.08,-0.21 -0.15,-0.41 -0.23,-0.62 -0.04,-0.12 -0.23,-0.07 -0.19,0.05 0.07,0.21 0.14,0.43 0.22,0.64 0.04,0.1 0.07,0.21 0.11,0.31 0.04,0.1 0.07,0.22 0.15,0.31 0.05,0.06 0.14,0.01 0.14,-0.06 0.01,-0.1 -0.05,-0.22 -0.08,-0.32 -0.04,-0.11 -0.08,-0.21 -0.12,-0.31 z"
+   id="path1414" />
+			<path
+   class="st1"
+   d="m 489.97,300.38 c -0.05,-0.07 -0.11,-0.13 -0.17,-0.2 -0.11,-0.13 -0.22,-0.27 -0.34,-0.4 -0.03,-0.04 -0.09,-0.03 -0.12,0 -0.04,0.04 -0.03,0.08 0,0.12 0.11,0.14 0.21,0.27 0.32,0.41 0.05,0.07 0.1,0.13 0.16,0.2 0.03,0.03 0.05,0.07 0.08,0.1 0.03,0.04 0.06,0.08 0.12,0.08 0.03,0 0.07,-0.03 0.08,-0.06 0.01,-0.06 -0.02,-0.1 -0.06,-0.14 -0.01,-0.05 -0.04,-0.08 -0.07,-0.11 z"
+   id="path1416" />
+			<path
+   class="st1"
+   d="m 490.39,296.16 c -0.05,-0.14 -0.28,-0.09 -0.23,0.06 0.08,0.26 0.16,0.52 0.25,0.78 0.08,0.26 0.14,0.53 0.28,0.77 0.08,0.13 0.25,0.04 0.23,-0.1 -0.04,-0.26 -0.16,-0.51 -0.25,-0.76 -0.1,-0.25 -0.19,-0.5 -0.28,-0.75 z"
+   id="path1418" />
+			<path
+   class="st1"
+   d="m 491.83,299.5 c -0.11,-0.13 -0.22,-0.26 -0.33,-0.39 -0.04,-0.04 -0.11,-0.04 -0.16,-0.01 -0.04,0.03 -0.07,0.11 -0.03,0.15 0.11,0.14 0.21,0.28 0.32,0.41 0.06,0.07 0.11,0.14 0.17,0.22 0.03,0.03 0.05,0.06 0.08,0.1 0.04,0.05 0.08,0.08 0.15,0.09 0.06,0.01 0.11,-0.06 0.11,-0.11 0.01,-0.1 -0.1,-0.19 -0.15,-0.26 -0.06,-0.07 -0.11,-0.14 -0.16,-0.2 z"
+   id="path1420" />
+			<path
+   class="st1"
+   d="m 493.63,298.14 c -0.12,-0.21 -0.22,-0.42 -0.32,-0.63 -0.21,-0.45 -0.39,-0.89 -0.5,-1.38 -0.01,-0.06 -0.11,-0.04 -0.09,0.03 0.1,0.48 0.22,0.97 0.41,1.42 0.09,0.22 0.2,0.44 0.31,0.65 0.06,0.11 0.12,0.21 0.19,0.31 0.06,0.09 0.11,0.2 0.21,0.25 0.04,0.02 0.1,0 0.1,-0.06 0,-0.1 -0.07,-0.18 -0.12,-0.27 -0.08,-0.1 -0.13,-0.21 -0.19,-0.32 z"
+   id="path1422" />
+			<path
+   class="st1"
+   d="m 495.69,296.34 c -0.23,-0.51 -0.37,-1.05 -0.46,-1.59 -0.01,-0.08 -0.13,-0.04 -0.12,0.03 0.08,0.55 0.23,1.1 0.43,1.62 0.09,0.25 0.2,0.49 0.32,0.72 0.06,0.12 0.13,0.24 0.2,0.36 0.07,0.11 0.14,0.25 0.24,0.33 0.06,0.05 0.19,0.01 0.15,-0.09 -0.04,-0.12 -0.13,-0.22 -0.2,-0.32 -0.08,-0.12 -0.15,-0.23 -0.22,-0.35 -0.11,-0.23 -0.23,-0.47 -0.34,-0.71 z"
+   id="path1424" />
+			<path
+   class="st1"
+   d="m 504.83,292.97 c 0.08,0.4 0.23,0.78 0.44,1.13 0.1,0.17 0.22,0.33 0.35,0.48 0.14,0.16 0.3,0.29 0.47,0.41 0.1,0.07 0.21,-0.08 0.12,-0.16 -0.56,-0.53 -1.01,-1.15 -1.21,-1.9 -0.02,-0.12 -0.2,-0.07 -0.17,0.04 z"
+   id="path1426" />
+			<path
+   class="st1"
+   d="m 507.5,292.36 c 0.07,0.12 0.13,0.24 0.21,0.36 0.02,0.04 0.08,0 0.06,-0.03 -0.06,-0.12 -0.13,-0.24 -0.2,-0.36 -0.03,-0.05 -0.09,-0.01 -0.07,0.03 z"
+   id="path1428" />
+			<path
+   class="st1"
+   d="m 513.66,287.39 c 0.02,0.03 0.04,0.06 0.06,0.08 0.02,0.03 0.05,0.04 0.08,0.02 0.03,-0.02 0.03,-0.05 0.02,-0.08 -0.01,-0.03 -0.03,-0.06 -0.04,-0.1 -0.01,-0.03 -0.03,-0.06 -0.05,-0.09 -0.03,-0.06 -0.07,-0.12 -0.1,-0.18 -0.02,-0.03 -0.06,-0.04 -0.1,-0.02 -0.03,0.02 -0.04,0.06 -0.02,0.1 0.03,0.06 0.07,0.12 0.1,0.18 0.01,0.03 0.03,0.06 0.05,0.09 z"
+   id="path1430" />
+			<path
+   class="st1"
+   d="m 518.04,287.9 -0.28,-0.58 c -0.18,-0.38 -0.37,-0.76 -0.55,-1.13 -0.07,-0.14 -0.26,-0.02 -0.2,0.12 0.17,0.37 0.35,0.75 0.52,1.12 0.09,0.19 0.17,0.37 0.26,0.56 0.04,0.09 0.08,0.17 0.12,0.26 0.05,0.09 0.08,0.2 0.16,0.27 0.06,0.06 0.19,0.02 0.18,-0.08 0,-0.1 -0.05,-0.19 -0.1,-0.28 -0.03,-0.09 -0.07,-0.18 -0.11,-0.26 z"
+   id="path1432" />
+			<path
+   class="st1"
+   d="m 518.21,286.8 c 0.09,0.15 0.19,0.3 0.28,0.45 0.09,0.15 0.2,0.3 0.31,0.43 0.05,0.06 0.16,0 0.13,-0.08 -0.13,-0.33 -0.34,-0.62 -0.53,-0.92 -0.07,-0.13 -0.27,-0.01 -0.19,0.12 z"
+   id="path1434" />
+			<path
+   class="st1"
+   d="m 522.56,285.7 c 0.04,0.09 0.08,0.19 0.14,0.27 0.04,0.05 0.12,0.02 0.1,-0.04 -0.02,-0.1 -0.07,-0.19 -0.11,-0.28 -0.04,-0.1 -0.08,-0.19 -0.12,-0.28 -0.09,-0.19 -0.17,-0.37 -0.26,-0.56 -0.04,-0.09 -0.17,-0.01 -0.13,0.08 0.08,0.18 0.17,0.37 0.25,0.55 0.04,0.09 0.08,0.18 0.13,0.26 z"
+   id="path1436" />
+			<path
+   class="st1"
+   d="m 525.04,284.61 c 0.04,0.07 0.08,0.14 0.13,0.2 0.04,0.05 0.12,0 0.11,-0.06 -0.02,-0.08 -0.05,-0.14 -0.09,-0.22 -0.03,-0.07 -0.07,-0.15 -0.1,-0.22 -0.07,-0.14 -0.15,-0.28 -0.22,-0.42 -0.06,-0.11 -0.22,-0.01 -0.17,0.1 0.07,0.14 0.15,0.28 0.22,0.42 0.04,0.07 0.08,0.14 0.12,0.2 z"
+   id="path1438" />
+			<path
+   class="st1"
+   d="m 528.24,283.38 c 0.06,0.15 0.12,0.31 0.22,0.44 0.08,0.11 0.25,0.05 0.22,-0.09 -0.03,-0.16 -0.11,-0.31 -0.18,-0.45 -0.07,-0.15 -0.14,-0.29 -0.22,-0.44 -0.15,-0.29 -0.29,-0.58 -0.42,-0.88 -0.05,-0.11 -0.21,-0.01 -0.16,0.1 0.13,0.3 0.25,0.59 0.37,0.89 0.06,0.14 0.11,0.28 0.17,0.43 z"
+   id="path1440" />
+			<path
+   class="st1"
+   d="m 529.07,285.31 c 0.1,0.15 0.2,0.3 0.3,0.46 0.05,0.08 0.09,0.15 0.14,0.23 0.06,0.08 0.12,0.15 0.19,0.22 0.1,0.1 0.24,-0.03 0.19,-0.14 -0.04,-0.08 -0.09,-0.16 -0.14,-0.24 -0.06,-0.08 -0.12,-0.15 -0.18,-0.22 -0.11,-0.14 -0.23,-0.28 -0.34,-0.42 -0.08,-0.1 -0.22,0.02 -0.16,0.11 z"
+   id="path1442" />
+			<path
+   class="st1"
+   d="m 530.34,280.57 c 0.01,0.03 0.02,0.06 0.04,0.08 0.01,0.02 0.03,0.04 0.04,0.06 0.04,0.08 0.08,0.17 0.13,0.24 0.04,0.06 0.12,0.02 0.11,-0.05 -0.01,-0.09 -0.04,-0.18 -0.06,-0.27 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 -0.02,-0.04 -0.03,-0.09 -0.05,-0.13 -0.06,-0.17 -0.13,-0.34 -0.19,-0.52 -0.02,-0.06 -0.08,-0.11 -0.15,-0.09 -0.06,0.02 -0.11,0.09 -0.09,0.15 0.06,0.18 0.13,0.35 0.19,0.53 0.02,0.05 0.04,0.09 0.05,0.13 z"
+   id="path1444" />
+			<path
+   class="st1"
+   d="m 564.53,268.91 c -0.17,-0.29 -0.32,-0.59 -0.48,-0.88 -0.05,-0.09 -0.18,-0.01 -0.13,0.08 0.15,0.3 0.29,0.59 0.43,0.89 0.07,0.15 0.13,0.3 0.2,0.44 0.07,0.14 0.13,0.31 0.26,0.41 0.05,0.04 0.15,0.02 0.14,-0.06 -0.01,-0.16 -0.1,-0.32 -0.18,-0.46 -0.08,-0.14 -0.16,-0.28 -0.24,-0.42 z"
+   id="path1446" />
+			<path
+   class="st1"
+   d="m 565.62,271.37 c 0.12,0.18 0.24,0.37 0.36,0.55 0.06,0.09 0.12,0.18 0.17,0.27 0.03,0.05 0.06,0.09 0.1,0.14 0.03,0.04 0.07,0.09 0.12,0.11 0.05,0.02 0.11,0 0.11,-0.06 0,-0.05 -0.03,-0.1 -0.05,-0.15 -0.02,-0.05 -0.05,-0.1 -0.08,-0.14 -0.06,-0.09 -0.12,-0.18 -0.18,-0.27 -0.12,-0.18 -0.25,-0.36 -0.37,-0.54 -0.08,-0.12 -0.25,-0.02 -0.18,0.09 z"
+   id="path1448" />
+			<path
+   class="st1"
+   d="m 560.09,267.77 c -0.09,-0.25 -0.18,-0.5 -0.27,-0.75 -0.03,-0.08 -0.1,-0.13 -0.19,-0.11 -0.08,0.02 -0.13,0.11 -0.11,0.19 0.08,0.26 0.17,0.51 0.25,0.77 0.04,0.13 0.08,0.25 0.12,0.38 0.04,0.13 0.08,0.32 0.23,0.37 0.06,0.02 0.12,-0.01 0.16,-0.06 0.08,-0.12 -0.02,-0.3 -0.06,-0.42 z"
+   id="path1450" />
+			<path
+   class="st1"
+   d="m 560.46,269.53 c -0.14,0.04 -0.08,0.25 0.06,0.21 0.14,-0.04 0.08,-0.25 -0.06,-0.21 z"
+   id="path1452" />
+			<path
+   class="st1"
+   d="m 558.09,268.76 c -0.05,-0.13 -0.1,-0.25 -0.15,-0.38 -0.11,-0.25 -0.21,-0.5 -0.32,-0.76 -0.03,-0.07 -0.09,-0.12 -0.18,-0.1 -0.07,0.02 -0.13,0.1 -0.1,0.18 l 0.31,0.78 c 0.05,0.13 0.1,0.26 0.16,0.39 0.03,0.06 0.06,0.12 0.09,0.18 0.03,0.07 0.07,0.12 0.12,0.17 0.06,0.06 0.16,0.01 0.16,-0.07 0,-0.08 -0.01,-0.14 -0.03,-0.21 -0.02,-0.06 -0.04,-0.12 -0.06,-0.18 z"
+   id="path1454" />
+			<path
+   class="st1"
+   d="m 556,269.45 c -0.03,-0.08 -0.05,-0.15 -0.08,-0.23 -0.06,-0.16 -0.12,-0.31 -0.18,-0.47 -0.02,-0.06 -0.08,-0.11 -0.15,-0.09 -0.06,0.02 -0.11,0.09 -0.09,0.15 0.06,0.16 0.12,0.32 0.18,0.48 0.03,0.08 0.06,0.17 0.1,0.25 0.02,0.04 0.03,0.07 0.05,0.11 0.02,0.04 0.05,0.08 0.08,0.11 0.05,0.08 0.17,0.03 0.15,-0.07 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 -0.02,-0.03 -0.03,-0.07 -0.04,-0.11 z"
+   id="path1456" />
+			<path
+   class="st1"
+   d="m 554.8,270.01 c -0.06,-0.14 -0.11,-0.29 -0.17,-0.43 -0.11,-0.29 -0.23,-0.57 -0.34,-0.86 -0.03,-0.06 -0.08,-0.11 -0.16,-0.09 -0.06,0.02 -0.12,0.09 -0.09,0.16 0.11,0.29 0.23,0.58 0.34,0.87 0.06,0.14 0.11,0.29 0.17,0.43 0.03,0.07 0.06,0.14 0.1,0.21 0.03,0.07 0.06,0.15 0.12,0.2 0.06,0.05 0.14,0.01 0.15,-0.06 0.01,-0.08 -0.03,-0.16 -0.05,-0.23 -0.03,-0.06 -0.05,-0.13 -0.07,-0.2 z"
+   id="path1458" />
+			<path
+   class="st1"
+   d="m 555.17,271.34 c 0.08,-0.02 0.04,-0.14 -0.03,-0.12 -0.08,0.02 -0.05,0.14 0.03,0.12 z"
+   id="path1460" />
+			<path
+   class="st1"
+   d="m 567.32,266.9 c 0.06,0.12 0.11,0.23 0.19,0.34 0.06,0.08 0.19,0.04 0.17,-0.07 -0.04,-0.13 -0.1,-0.24 -0.15,-0.35 -0.06,-0.12 -0.12,-0.23 -0.18,-0.35 -0.12,-0.23 -0.23,-0.46 -0.35,-0.69 -0.06,-0.11 -0.22,-0.01 -0.17,0.1 l 0.33,0.69 c 0.05,0.11 0.1,0.22 0.16,0.33 z"
+   id="path1462" />
+			<path
+   class="st1"
+   d="m 568.88,270.28 c 0.04,0.04 0.1,-0.01 0.09,-0.05 -0.04,-0.28 -0.21,-0.54 -0.34,-0.79 l -0.39,-0.79 c -0.04,-0.09 -0.16,-0.01 -0.13,0.07 0.12,0.27 0.24,0.53 0.36,0.8 0.13,0.26 0.22,0.55 0.41,0.76 z"
+   id="path1464" />
+			<path
+   class="st1"
+   d="m 570.1,263.73 c 0.04,0.07 0.08,0.14 0.14,0.19 0.06,0.05 0.14,0 0.13,-0.07 -0.01,-0.07 -0.05,-0.14 -0.07,-0.21 -0.03,-0.08 -0.07,-0.15 -0.11,-0.23 -0.07,-0.14 -0.15,-0.28 -0.22,-0.42 -0.03,-0.06 -0.11,-0.07 -0.16,-0.04 -0.06,0.03 -0.07,0.1 -0.04,0.16 0.07,0.14 0.15,0.28 0.22,0.42 0.04,0.07 0.07,0.14 0.11,0.2 z"
+   id="path1466" />
+			<path
+   class="st1"
+   d="m 571.83,263.69 c 0.05,0.1 0.23,0.03 0.19,-0.08 -0.16,-0.45 -0.37,-0.89 -0.56,-1.33 -0.03,-0.06 -0.11,-0.07 -0.17,-0.04 -0.06,0.04 -0.07,0.1 -0.04,0.17 l 0.28,0.65 c 0.09,0.22 0.18,0.43 0.3,0.63 z"
+   id="path1468" />
+			<path
+   class="st1"
+   d="m 572.81,265.25 c -0.05,-0.1 -0.1,-0.2 -0.14,-0.29 -0.03,-0.05 -0.11,-0.07 -0.16,-0.04 -0.06,0.04 -0.07,0.1 -0.04,0.16 0.04,0.1 0.09,0.2 0.13,0.3 0.02,0.05 0.04,0.1 0.06,0.15 0.01,0.03 0.02,0.05 0.03,0.08 0.01,0.02 0.03,0.04 0.05,0.06 0.02,0.01 0.05,0.01 0.07,0.02 0.04,0.01 0.07,-0.02 0.09,-0.05 0.03,-0.05 0.03,-0.1 0,-0.15 -0.01,-0.03 -0.02,-0.05 -0.04,-0.07 0,-0.07 -0.02,-0.12 -0.05,-0.17 z"
+   id="path1470" />
+			<path
+   class="st1"
+   d="m 573.06,260.35 c 0.02,0.07 0.05,0.14 0.07,0.21 0.03,0.09 0.06,0.15 0.12,0.22 0.09,0.1 0.24,0.01 0.25,-0.1 0.02,-0.14 -0.06,-0.29 -0.1,-0.43 -0.05,-0.14 -0.09,-0.27 -0.14,-0.41 -0.1,-0.27 -0.19,-0.55 -0.29,-0.82 -0.07,-0.19 -0.37,-0.11 -0.31,0.08 0.09,0.28 0.18,0.56 0.27,0.84 0.04,0.14 0.09,0.28 0.13,0.41 z"
+   id="path1472" />
+			<path
+   class="st1"
+   d="m 493.24,294.56 c 0.04,0.14 0.07,0.28 0.11,0.43 0.02,0.07 0.03,0.14 0.05,0.2 0.02,0.07 0.03,0.15 0.06,0.22 0.02,0.06 0.08,0.1 0.15,0.08 0.07,-0.02 0.09,-0.08 0.08,-0.15 -0.01,-0.07 -0.04,-0.14 -0.06,-0.21 -0.02,-0.07 -0.04,-0.14 -0.06,-0.21 l -0.12,-0.42 c -0.03,-0.13 -0.24,-0.08 -0.21,0.06 z"
+   id="path1474" />
+			<path
+   class="st1"
+   d="m 494.25,296.81 c -0.04,-0.09 -0.08,-0.17 -0.12,-0.25 -0.03,-0.06 -0.11,-0.08 -0.17,-0.04 -0.06,0.04 -0.07,0.11 -0.04,0.17 0.07,0.15 0.15,0.31 0.25,0.44 0.03,0.04 0.07,0.06 0.11,0.04 0.04,-0.02 0.06,-0.06 0.05,-0.11 -0.01,-0.04 -0.02,-0.08 -0.04,-0.12 -0.01,-0.05 -0.03,-0.09 -0.04,-0.13 z"
+   id="path1476" />
+			<path
+   class="st1"
+   d="m 495.78,293.17 c 0.02,0.04 0.03,0.09 0.05,0.13 0.02,0.06 0.05,0.1 0.08,0.15 0.05,0.07 0.15,0.04 0.16,-0.04 0.01,-0.06 0.01,-0.11 0,-0.17 -0.01,-0.05 -0.01,-0.09 -0.02,-0.14 -0.02,-0.1 -0.05,-0.2 -0.08,-0.3 -0.05,-0.2 -0.11,-0.39 -0.16,-0.59 -0.05,-0.18 -0.32,-0.1 -0.28,0.07 0.05,0.2 0.1,0.39 0.15,0.59 0.05,0.1 0.06,0.2 0.1,0.3 z"
+   id="path1478" />
+			<path
+   class="st1"
+   d="m 496.79,293.95 c -0.03,0.02 -0.04,0.05 -0.02,0.08 0.08,0.15 0.15,0.3 0.24,0.45 0.03,0.04 0.1,0.01 0.08,-0.03 -0.06,-0.16 -0.14,-0.32 -0.22,-0.47 -0.01,-0.04 -0.05,-0.04 -0.08,-0.03 z"
+   id="path1480" />
+			<path
+   class="st1"
+   d="m 498.04,296.46 c 0.02,0.04 0.03,0.08 0.05,0.13 0.02,0.04 0.05,0.08 0.08,0.11 0.07,0.08 0.21,0.02 0.21,-0.09 0,-0.05 0,-0.09 -0.02,-0.14 -0.01,-0.03 -0.03,-0.07 -0.04,-0.1 l -0.09,-0.21 c -0.06,-0.14 -0.11,-0.29 -0.17,-0.43 -0.03,-0.07 -0.09,-0.12 -0.17,-0.1 -0.07,0.02 -0.13,0.1 -0.1,0.17 0.06,0.15 0.11,0.29 0.17,0.44 z"
+   id="path1482" />
+			<path
+   class="st1"
+   d="m 496.95,292.11 c -0.03,-0.13 -0.05,-0.27 -0.1,-0.39 -0.05,-0.13 -0.11,-0.26 -0.17,-0.39 -0.11,-0.25 -0.22,-0.5 -0.33,-0.75 -0.07,-0.16 -0.35,-0.04 -0.28,0.12 0.1,0.25 0.2,0.51 0.3,0.76 0.05,0.13 0.1,0.27 0.16,0.4 0.05,0.12 0.13,0.24 0.2,0.35 0.07,0.12 0.24,0.04 0.22,-0.1 z"
+   id="path1484" />
+			<path
+   class="st1"
+   d="m 502.74,295.63 c -0.16,-0.26 -0.31,-0.51 -0.47,-0.77 -0.1,-0.17 -0.37,-0.01 -0.27,0.16 0.16,0.26 0.31,0.51 0.47,0.77 0.08,0.12 0.14,0.25 0.23,0.37 0.05,0.06 0.1,0.12 0.15,0.18 0.05,0.06 0.09,0.12 0.15,0.17 0.07,0.06 0.17,0 0.15,-0.09 -0.02,-0.07 -0.05,-0.14 -0.08,-0.21 -0.03,-0.07 -0.06,-0.14 -0.1,-0.21 -0.07,-0.13 -0.15,-0.25 -0.23,-0.37 z"
+   id="path1486" />
+			<path
+   class="st1"
+   d="m 504.29,298.56 c 0.04,-0.02 0.04,-0.07 0.03,-0.1 -0.06,-0.12 -0.12,-0.25 -0.18,-0.37 -0.02,-0.05 -0.1,-0.06 -0.14,-0.04 -0.04,0.03 -0.07,0.09 -0.04,0.14 0.07,0.12 0.15,0.23 0.22,0.35 0.03,0.03 0.07,0.05 0.11,0.02 z"
+   id="path1488" />
+			<path
+   class="st1"
+   d="m 617.64,243.87 c -0.33,-0.77 -0.67,-1.55 -1,-2.32 -0.06,-0.14 -0.26,-0.02 -0.2,0.12 0.33,0.76 0.65,1.52 0.98,2.28 0.17,0.39 0.36,0.78 0.52,1.17 0.15,0.37 0.21,0.79 0.44,1.12 0.09,0.13 0.3,0.05 0.26,-0.11 -0.09,-0.39 -0.35,-0.73 -0.51,-1.09 -0.18,-0.39 -0.32,-0.79 -0.49,-1.17 z"
+   id="path1490" />
+			<path
+   class="st1"
+   d="m 620.67,240.87 c -0.07,-0.13 -0.26,-0.01 -0.19,0.11 0.14,0.26 0.28,0.52 0.41,0.78 0.14,0.26 0.27,0.53 0.43,0.77 0.06,0.09 0.23,0.03 0.19,-0.08 -0.12,-0.28 -0.26,-0.54 -0.41,-0.8 -0.14,-0.25 -0.28,-0.52 -0.43,-0.78 z"
+   id="path1492" />
+			<path
+   class="st1"
+   d="m 623.03,245.77 c -0.05,-0.15 -0.11,-0.3 -0.17,-0.45 -0.13,-0.31 -0.24,-0.61 -0.36,-0.92 -0.03,-0.09 -0.12,-0.15 -0.21,-0.12 -0.09,0.02 -0.15,0.12 -0.12,0.21 0.1,0.31 0.2,0.63 0.29,0.94 0.04,0.15 0.1,0.3 0.15,0.45 0.03,0.09 0.07,0.16 0.12,0.25 0.04,0.08 0.07,0.16 0.15,0.2 0.06,0.03 0.16,0.02 0.19,-0.05 0.04,-0.09 0.02,-0.16 0.01,-0.26 -0.01,-0.08 -0.02,-0.17 -0.05,-0.25 z"
+   id="path1494" />
+			<path
+   class="st1"
+   d="m 623.5,247.66 c 0.11,-0.03 0.06,-0.2 -0.05,-0.17 -0.1,0.04 -0.06,0.2 0.05,0.17 z"
+   id="path1496" />
+			<path
+   class="st1"
+   d="m 623.15,239.38 c -0.06,-0.11 -0.23,-0.01 -0.17,0.1 0.13,0.24 0.27,0.48 0.4,0.72 0.07,0.12 0.13,0.24 0.2,0.36 0.07,0.12 0.13,0.24 0.21,0.35 0.05,0.06 0.18,0.03 0.15,-0.06 -0.1,-0.26 -0.26,-0.49 -0.39,-0.73 -0.13,-0.26 -0.27,-0.5 -0.4,-0.74 z"
+   id="path1498" />
+			<path
+   class="st1"
+   d="m 629.36,238.93 c -0.09,-0.19 -0.17,-0.37 -0.26,-0.56 -0.18,-0.39 -0.37,-0.77 -0.55,-1.16 -0.09,-0.18 -0.34,-0.02 -0.27,0.16 0.17,0.39 0.34,0.77 0.51,1.16 0.08,0.19 0.17,0.38 0.25,0.57 0.04,0.09 0.09,0.19 0.14,0.28 0.05,0.1 0.09,0.19 0.18,0.25 0.07,0.04 0.19,0 0.2,-0.08 0.02,-0.11 -0.02,-0.19 -0.06,-0.3 -0.05,-0.12 -0.1,-0.22 -0.14,-0.32 z"
+   id="path1500" />
+			<path
+   class="st1"
+   d="m 630.95,243.08 c -0.05,-0.16 -0.1,-0.31 -0.16,-0.47 -0.11,-0.3 -0.24,-0.6 -0.35,-0.91 -0.03,-0.08 -0.11,-0.14 -0.2,-0.12 -0.08,0.02 -0.14,0.12 -0.12,0.2 0.1,0.31 0.2,0.63 0.3,0.94 0.05,0.15 0.1,0.3 0.16,0.45 0.03,0.08 0.07,0.16 0.11,0.24 0.04,0.08 0.06,0.15 0.14,0.2 0.08,0.04 0.16,0 0.19,-0.08 0.03,-0.08 0,-0.17 -0.02,-0.25 -0.01,-0.06 -0.02,-0.13 -0.05,-0.2 z"
+   id="path1502" />
+			<path
+   class="st1"
+   d="m 632.88,236.41 c -0.14,-0.26 -0.29,-0.53 -0.43,-0.79 -0.05,-0.1 -0.2,-0.01 -0.15,0.09 0.14,0.27 0.28,0.53 0.42,0.8 0.07,0.13 0.14,0.26 0.21,0.39 0.07,0.13 0.14,0.27 0.24,0.38 0.05,0.05 0.13,0 0.11,-0.07 -0.03,-0.14 -0.11,-0.27 -0.18,-0.39 -0.07,-0.14 -0.14,-0.27 -0.22,-0.41 z"
+   id="path1504" />
+			<path
+   class="st1"
+   d="m 634.14,239.2 c -0.11,-0.3 -0.22,-0.6 -0.33,-0.89 -0.06,-0.17 -0.34,-0.1 -0.28,0.08 0.1,0.3 0.2,0.6 0.29,0.9 0.05,0.15 0.1,0.3 0.15,0.45 0.05,0.15 0.09,0.32 0.18,0.45 0.08,0.11 0.28,0.09 0.28,-0.08 0,-0.16 -0.07,-0.31 -0.13,-0.46 -0.05,-0.15 -0.11,-0.3 -0.16,-0.45 z"
+   id="path1506" />
+			<path
+   class="st1"
+   d="m 638.55,234.89 c -0.12,-0.23 -0.25,-0.46 -0.37,-0.68 -0.25,-0.44 -0.5,-0.89 -0.75,-1.33 -0.08,-0.15 -0.3,-0.02 -0.23,0.13 0.23,0.46 0.46,0.91 0.68,1.37 0.11,0.22 0.23,0.45 0.34,0.67 0.06,0.11 0.12,0.21 0.2,0.32 0.07,0.1 0.13,0.22 0.22,0.3 0.08,0.07 0.18,0 0.17,-0.1 -0.02,-0.13 -0.09,-0.25 -0.13,-0.37 -0.03,-0.11 -0.08,-0.21 -0.13,-0.31 z"
+   id="path1508" />
+			<path
+   class="st1"
+   d="m 640.1,238.15 c -0.02,-0.06 -0.04,-0.13 -0.07,-0.19 -0.05,-0.13 -0.12,-0.25 -0.18,-0.38 -0.12,-0.24 -0.24,-0.48 -0.36,-0.72 -0.04,-0.09 -0.17,-0.11 -0.25,-0.06 -0.09,0.05 -0.1,0.16 -0.06,0.25 l 0.31,0.73 c 0.05,0.12 0.09,0.24 0.15,0.35 0.05,0.1 0.11,0.23 0.21,0.29 0.03,0.04 0.06,0.07 0.11,0.09 0.06,0.03 0.13,0.01 0.15,-0.06 0.01,-0.05 0.01,-0.09 0,-0.14 -0.01,0.03 -0.01,0.05 -0.02,0.08 0.04,-0.09 0.03,-0.15 0.01,-0.24 z"
+   id="path1510" />
+			<path
+   class="st1"
+   d="m 640.21,239.09 c 0.05,0.08 0.09,0.17 0.14,0.25 0.02,0.04 0.04,0.08 0.07,0.12 0.02,0.03 0.03,0.05 0.06,0.07 0.02,0.02 0.05,0.03 0.07,0.05 0.05,0.03 0.13,-0.01 0.12,-0.07 0,-0.02 0,-0.04 0,-0.06 0,-0.04 -0.02,-0.07 -0.04,-0.11 -0.02,-0.04 -0.04,-0.08 -0.07,-0.12 -0.05,-0.08 -0.09,-0.16 -0.14,-0.25 -0.03,-0.05 -0.11,-0.08 -0.16,-0.04 -0.06,0.03 -0.08,0.1 -0.05,0.16 z"
+   id="path1512" />
+			<path
+   class="st1"
+   d="m 646.4,230.23 c -0.07,-0.16 -0.16,-0.31 -0.23,-0.46 l -0.47,-0.93 c -0.09,-0.18 -0.35,-0.02 -0.26,0.16 0.15,0.31 0.3,0.62 0.46,0.93 0.08,0.16 0.15,0.31 0.23,0.47 0.04,0.07 0.08,0.14 0.11,0.21 0.05,0.08 0.1,0.14 0.16,0.21 0.07,0.08 0.2,-0.01 0.18,-0.1 -0.02,-0.1 -0.04,-0.17 -0.08,-0.26 -0.03,-0.08 -0.06,-0.15 -0.1,-0.23 z"
+   id="path1514" />
+			<path
+   class="st1"
+   d="m 647.38,232.13 c -0.07,0.02 -0.14,0.11 -0.11,0.19 0.14,0.37 0.28,0.74 0.43,1.1 0.03,0.08 0.11,0.14 0.2,0.11 0.08,-0.02 0.14,-0.12 0.11,-0.2 -0.14,-0.37 -0.29,-0.73 -0.44,-1.1 -0.03,-0.07 -0.1,-0.12 -0.19,-0.1 z"
+   id="path1516" />
+			<path
+   class="st1"
+   d="m 648.25,234.24 c -0.08,0.03 -0.13,0.11 -0.11,0.19 0.03,0.11 0.05,0.22 0.08,0.33 0.01,0.05 0.03,0.11 0.04,0.16 0.02,0.08 0.04,0.18 0.12,0.22 0.08,0.04 0.17,0.02 0.22,-0.06 0.05,-0.08 0.02,-0.17 -0.01,-0.25 -0.02,-0.05 -0.03,-0.11 -0.05,-0.16 -0.03,-0.11 -0.07,-0.22 -0.1,-0.32 -0.03,-0.08 -0.11,-0.14 -0.19,-0.11 z"
+   id="path1518" />
+			<path
+   class="st1"
+   d="m 652.46,225.78 c -0.03,-0.07 -0.13,-0.08 -0.19,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.19 0.12,0.27 0.23,0.53 0.35,0.8 0.12,0.27 0.22,0.54 0.37,0.79 0.07,0.12 0.27,0.04 0.23,-0.1 -0.08,-0.29 -0.22,-0.55 -0.35,-0.82 -0.11,-0.27 -0.24,-0.54 -0.36,-0.81 z"
+   id="path1520" />
+			<path
+   class="st1"
+   d="m 654.52,229.72 c -0.06,-0.11 -0.11,-0.23 -0.17,-0.34 -0.12,-0.24 -0.23,-0.47 -0.35,-0.71 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.07,0.11 -0.05,0.18 0.11,0.24 0.22,0.47 0.34,0.71 0.05,0.11 0.11,0.23 0.16,0.34 0.05,0.11 0.11,0.27 0.23,0.32 0.06,0.02 0.11,-0.02 0.13,-0.07 0.02,-0.07 -0.01,-0.13 -0.04,-0.19 -0.01,-0.06 -0.04,-0.12 -0.07,-0.19 z"
+   id="path1522" />
+			<path
+   class="st1"
+   d="m 656.81,225.77 c -0.04,0.03 -0.07,0.1 -0.04,0.14 0.17,0.23 0.34,0.46 0.52,0.68 0.04,0.04 0.1,-0.01 0.08,-0.06 -0.13,-0.25 -0.28,-0.49 -0.42,-0.73 -0.02,-0.04 -0.09,-0.05 -0.14,-0.03 z"
+   id="path1524" />
+			<path
+   class="st1"
+   d="m 658.06,228.43 0.25,0.92 c 0.04,0.15 0.08,0.31 0.13,0.46 0.05,0.14 0.11,0.31 0.2,0.43 0.06,0.08 0.18,0.05 0.19,-0.05 0.02,-0.15 -0.01,-0.33 -0.04,-0.47 -0.03,-0.15 -0.08,-0.31 -0.12,-0.46 -0.08,-0.31 -0.17,-0.61 -0.25,-0.92 -0.07,-0.23 -0.42,-0.14 -0.36,0.09 z"
+   id="path1526" />
+			<path
+   class="st1"
+   d="m 659.95,225.25 c -0.08,-0.13 -0.16,-0.26 -0.25,-0.39 -0.17,-0.26 -0.34,-0.52 -0.52,-0.79 -0.13,-0.2 -0.45,-0.02 -0.32,0.19 0.16,0.27 0.32,0.53 0.49,0.8 0.08,0.13 0.16,0.27 0.24,0.39 0.05,0.07 0.1,0.13 0.15,0.19 0.05,0.07 0.1,0.14 0.18,0.18 0.1,0.05 0.22,-0.01 0.22,-0.13 0,-0.09 -0.04,-0.16 -0.08,-0.24 -0.03,-0.05 -0.07,-0.13 -0.11,-0.2 z"
+   id="path1528" />
+			<path
+   class="st1"
+   d="m 661.05,227.59 c 0.13,-0.03 0.07,-0.23 -0.05,-0.2 -0.13,0.04 -0.07,0.24 0.05,0.2 z"
+   id="path1530" />
+			<path
+   class="st1"
+   d="m 661.63,224.01 c -0.16,-0.24 -0.32,-0.49 -0.48,-0.73 -0.12,-0.19 -0.43,-0.01 -0.3,0.18 0.16,0.25 0.31,0.49 0.47,0.73 0.08,0.12 0.15,0.24 0.24,0.36 0.04,0.06 0.09,0.12 0.13,0.18 0.05,0.07 0.09,0.13 0.16,0.17 0.09,0.04 0.21,-0.01 0.21,-0.12 0,-0.15 -0.12,-0.29 -0.19,-0.41 -0.08,-0.12 -0.16,-0.24 -0.24,-0.36 z"
+   id="path1532" />
+			<path
+   class="st1"
+   d="m 662.28,226 c -0.02,0.01 -0.04,0.03 -0.03,0.06 0.01,0.04 0.03,0.08 0.04,0.13 0.01,0.02 0.03,0.03 0.05,0.03 0.02,-0.01 0.03,-0.03 0.03,-0.05 -0.01,-0.04 -0.02,-0.09 -0.03,-0.13 -0.01,-0.03 -0.04,-0.04 -0.06,-0.04 z"
+   id="path1534" />
+			<path
+   class="st1"
+   d="m 665.63,222.31 c -0.02,0.02 -0.03,0.03 -0.03,0.06 0,0.03 0.01,0.05 0.03,0.08 0.08,0.11 0.16,0.21 0.25,0.32 0.02,0.02 0.05,0.04 0.08,0.02 0.03,-0.02 0.03,-0.05 0.02,-0.08 -0.07,-0.12 -0.13,-0.25 -0.2,-0.37 -0.04,-0.06 -0.11,-0.06 -0.15,-0.03 z"
+   id="path1536" />
+			<path
+   class="st1"
+   d="m 670.98,220.36 c -0.15,-0.19 -0.29,-0.39 -0.44,-0.58 -0.05,-0.07 -0.14,-0.11 -0.22,-0.06 -0.07,0.04 -0.11,0.15 -0.06,0.22 0.15,0.2 0.3,0.4 0.45,0.59 0.08,0.1 0.15,0.21 0.24,0.31 0.08,0.09 0.15,0.21 0.26,0.27 0.1,0.05 0.21,-0.04 0.18,-0.14 -0.03,-0.12 -0.12,-0.22 -0.19,-0.33 -0.08,-0.09 -0.15,-0.19 -0.22,-0.28 z"
+   id="path1538" />
+			<path
+   class="st1"
+   d="m 675.91,217.57 c 0.09,0.15 0.18,0.3 0.26,0.44 0.09,0.15 0.18,0.33 0.32,0.44 0.1,0.07 0.2,-0.05 0.19,-0.14 -0.02,-0.16 -0.14,-0.32 -0.23,-0.46 -0.09,-0.15 -0.18,-0.31 -0.28,-0.46 -0.18,-0.3 -0.37,-0.59 -0.56,-0.89 -0.1,-0.15 -0.33,-0.01 -0.24,0.14 0.19,0.31 0.36,0.62 0.54,0.93 z"
+   id="path1540" />
+			<path
+   class="st1"
+   d="m 677.17,219.99 c 0.18,0.31 0.34,0.62 0.49,0.93 0.16,0.33 0.36,0.65 0.5,1 0.14,0.33 0.26,0.67 0.36,1.02 0.1,0.32 0.14,0.71 0.3,1 0.05,0.1 0.2,0.05 0.2,-0.06 0.02,-0.34 -0.15,-0.73 -0.26,-1.05 -0.11,-0.35 -0.24,-0.69 -0.37,-1.03 -0.13,-0.33 -0.23,-0.67 -0.4,-0.98 -0.17,-0.34 -0.37,-0.66 -0.58,-0.98 -0.08,-0.16 -0.34,-0.02 -0.24,0.15 z"
+   id="path1542" />
+			<path
+   class="st1"
+   d="m 678.13,217.91 c 0.07,0.16 0.14,0.33 0.23,0.48 0.09,0.14 0.21,0.3 0.35,0.4 0.07,0.05 0.18,-0.04 0.15,-0.12 -0.05,-0.15 -0.14,-0.3 -0.22,-0.45 -0.08,-0.15 -0.16,-0.3 -0.23,-0.45 -0.14,-0.31 -0.23,-0.63 -0.29,-0.97 -0.01,-0.07 -0.1,-0.12 -0.17,-0.1 -0.08,0.02 -0.11,0.1 -0.1,0.17 0.05,0.36 0.14,0.71 0.28,1.04 z"
+   id="path1544" />
+			<path
+   class="st1"
+   d="m 674.87,218.91 c 0.13,0.22 0.24,0.47 0.42,0.66 0.09,0.1 0.26,0 0.22,-0.13 -0.08,-0.25 -0.24,-0.47 -0.37,-0.69 -0.13,-0.22 -0.26,-0.44 -0.39,-0.67 -0.1,-0.18 -0.38,-0.02 -0.28,0.16 0.14,0.23 0.27,0.45 0.4,0.67 z"
+   id="path1546" />
+			<path
+   class="st1"
+   d="m 684.41,220.63 c 0.04,0.08 0.07,0.17 0.12,0.24 0.04,0.05 0.11,0.02 0.1,-0.04 -0.02,-0.09 -0.05,-0.17 -0.08,-0.26 -0.03,-0.09 -0.07,-0.17 -0.1,-0.25 l -0.21,-0.5 c -0.03,-0.07 -0.16,-0.02 -0.13,0.06 0.07,0.17 0.13,0.34 0.2,0.51 0.03,0.07 0.06,0.15 0.1,0.24 z"
+   id="path1548" />
+			<path
+   class="st1"
+   d="m 684.95,223.41 c 0.05,0.19 0.11,0.39 0.28,0.51 0.05,0.03 0.12,0.01 0.15,-0.04 0.11,-0.18 0.07,-0.4 0.04,-0.6 -0.03,-0.19 -0.08,-0.38 -0.13,-0.56 -0.06,-0.18 -0.11,-0.37 -0.18,-0.55 -0.07,-0.2 -0.11,-0.4 -0.16,-0.6 -0.05,-0.18 -0.31,-0.1 -0.28,0.07 0.07,0.39 0.11,0.78 0.16,1.18 0.03,0.2 0.07,0.39 0.12,0.59 z"
+   id="path1550" />
+			<path
+   class="st1"
+   d="m 685.95,213.44 c -0.05,-0.11 -0.23,-0.06 -0.18,0.05 0.14,0.36 0.28,0.72 0.43,1.08 0.14,0.35 0.26,0.72 0.44,1.05 0.05,0.09 0.2,0.03 0.17,-0.07 -0.11,-0.36 -0.27,-0.71 -0.42,-1.06 -0.15,-0.34 -0.29,-0.7 -0.44,-1.05 z"
+   id="path1552" />
+			<path
+   class="st1"
+   d="m 687.33,214.18 -0.18,-0.65 c -0.05,-0.18 -0.33,-0.1 -0.28,0.08 l 0.18,0.65 c 0.03,0.11 0.07,0.22 0.1,0.32 0.04,0.11 0.07,0.22 0.13,0.32 0.05,0.08 0.17,0.05 0.17,-0.05 0.01,-0.11 -0.03,-0.23 -0.05,-0.34 -0.01,-0.11 -0.04,-0.22 -0.07,-0.33 z"
+   id="path1554" />
+			<path
+   class="st1"
+   d="m 691.85,213.02 c -0.08,-0.13 -0.16,-0.28 -0.22,-0.42 -0.13,-0.29 -0.22,-0.59 -0.27,-0.9 -0.01,-0.09 -0.12,-0.13 -0.2,-0.11 -0.09,0.02 -0.13,0.11 -0.11,0.2 0.05,0.34 0.15,0.66 0.28,0.97 0.06,0.15 0.14,0.3 0.22,0.44 0.08,0.14 0.19,0.32 0.33,0.39 0.1,0.05 0.21,-0.04 0.19,-0.15 -0.02,-0.08 -0.06,-0.14 -0.1,-0.21 -0.04,-0.08 -0.08,-0.15 -0.12,-0.21 z"
+   id="path1556" />
+			<path
+   class="st1"
+   d="m 693.02,215.53 c -0.03,-0.07 -0.06,-0.15 -0.1,-0.22 l -0.19,-0.44 c -0.03,-0.06 -0.11,-0.07 -0.16,-0.05 -0.05,0.02 -0.1,0.09 -0.07,0.15 0.06,0.15 0.12,0.29 0.18,0.44 l 0.09,0.22 c 0.02,0.04 0.03,0.08 0.05,0.12 0.02,0.04 0.05,0.07 0.07,0.11 0.07,0.11 0.23,0.04 0.21,-0.09 -0.01,-0.04 -0.02,-0.08 -0.03,-0.12 -0.01,-0.04 -0.03,-0.08 -0.05,-0.12 z"
+   id="path1558" />
+			<path
+   class="st1"
+   d="m 695.92,213.04 c -0.14,-0.41 -0.28,-0.81 -0.41,-1.22 -0.04,-0.13 -0.25,-0.08 -0.21,0.06 0.13,0.41 0.25,0.82 0.38,1.23 0.06,0.21 0.13,0.41 0.2,0.61 0.06,0.19 0.12,0.41 0.23,0.58 0.04,0.08 0.18,0.05 0.18,-0.05 -0.02,-0.2 -0.09,-0.41 -0.15,-0.6 -0.08,-0.2 -0.15,-0.41 -0.22,-0.61 z"
+   id="path1560" />
+			<path
+   class="st1"
+   d="m 697.23,217.09 c -0.08,-0.28 -0.17,-0.56 -0.25,-0.85 -0.05,-0.18 -0.32,-0.11 -0.28,0.08 0.07,0.29 0.14,0.57 0.21,0.86 0.04,0.14 0.06,0.29 0.11,0.43 0.04,0.14 0.12,0.27 0.2,0.39 0.05,0.07 0.16,0.04 0.16,-0.04 0,-0.14 0.01,-0.3 -0.03,-0.44 -0.03,-0.15 -0.07,-0.29 -0.12,-0.43 z"
+   id="path1562" />
+			<path
+   class="st1"
+   d="m 696.95,212.27 c 0.06,0.13 0.11,0.26 0.19,0.37 0.05,0.06 0.18,0.05 0.17,-0.05 -0.01,-0.13 -0.05,-0.25 -0.09,-0.37 -0.03,-0.12 -0.06,-0.23 -0.09,-0.35 -0.08,-0.25 -0.18,-0.49 -0.28,-0.73 -0.19,-0.49 -0.38,-0.97 -0.57,-1.46 -0.06,-0.16 -0.32,-0.1 -0.26,0.07 0.17,0.49 0.35,0.98 0.52,1.47 0.09,0.25 0.17,0.49 0.27,0.74 0.04,0.11 0.1,0.21 0.14,0.31 z"
+   id="path1564" />
+			<path
+   class="st1"
+   d="m 697.66,214.27 c 0.1,0.35 0.21,0.69 0.31,1.04 0.1,0.35 0.24,0.68 0.39,1.01 0.07,0.15 0.3,0.04 0.26,-0.11 -0.08,-0.35 -0.17,-0.69 -0.3,-1.02 -0.13,-0.33 -0.25,-0.67 -0.38,-1 -0.06,-0.17 -0.33,-0.11 -0.28,0.08 z"
+   id="path1566" />
+			<path
+   class="st1"
+   d="m 699.84,209.78 c -0.2,-0.53 -0.4,-1.06 -0.59,-1.6 -0.07,-0.2 -0.39,-0.12 -0.32,0.09 0.19,0.53 0.37,1.07 0.56,1.61 0.09,0.27 0.19,0.53 0.28,0.8 0.09,0.25 0.16,0.55 0.32,0.77 0.08,0.11 0.29,0.09 0.28,-0.08 -0.02,-0.27 -0.14,-0.54 -0.23,-0.79 -0.1,-0.27 -0.2,-0.53 -0.3,-0.8 z"
+   id="path1568" />
+			<path
+   class="st1"
+   d="m 700.5,207.58 c 0.41,1.04 0.76,2.14 1.34,3.11 0.05,0.09 0.18,0.03 0.16,-0.07 -0.26,-1.08 -0.76,-2.1 -1.19,-3.12 -0.08,-0.2 -0.39,-0.12 -0.31,0.08 z"
+   id="path1570" />
+			<path
+   class="st1"
+   d="m 702.12,206.42 c -0.07,-0.1 -0.22,-0.01 -0.16,0.09 0.2,0.32 0.38,0.66 0.51,1.02 0.06,0.17 0.12,0.34 0.16,0.52 0.05,0.19 0.08,0.38 0.15,0.56 0.04,0.12 0.23,0.11 0.23,-0.03 0,-0.38 -0.16,-0.78 -0.31,-1.13 -0.16,-0.36 -0.35,-0.71 -0.58,-1.03 z"
+   id="path1572" />
+			<path
+   class="st1"
+   d="m 703.9,210.65 c -0.02,-0.09 -0.12,-0.15 -0.21,-0.12 -0.09,0.02 -0.15,0.12 -0.12,0.21 0.05,0.2 0.1,0.39 0.16,0.59 0.05,0.2 0.1,0.41 0.22,0.58 0.07,0.09 0.2,0.06 0.21,-0.06 0.02,-0.21 -0.04,-0.41 -0.1,-0.61 -0.05,-0.2 -0.1,-0.4 -0.16,-0.59 z"
+   id="path1574" />
+			<path
+   class="st1"
+   d="m 705.12,214.19 c -0.08,-0.26 -0.15,-0.52 -0.23,-0.78 -0.05,-0.17 -0.32,-0.1 -0.27,0.07 0.07,0.26 0.13,0.53 0.2,0.79 0.03,0.13 0.06,0.27 0.1,0.39 0.04,0.12 0.11,0.25 0.18,0.36 0.04,0.07 0.15,0.04 0.15,-0.04 0.01,-0.13 0,-0.28 -0.02,-0.4 -0.02,-0.13 -0.07,-0.26 -0.11,-0.39 z"
+   id="path1576" />
+			<path
+   class="st1"
+   d="m 705.44,215.6 c -0.04,-0.11 -0.22,-0.07 -0.18,0.05 0.22,0.66 0.38,1.33 0.51,2.01 0.13,0.68 0.14,1.38 0.28,2.05 0.03,0.15 0.24,0.1 0.25,-0.03 0.06,-0.68 -0.11,-1.39 -0.25,-2.05 -0.15,-0.69 -0.36,-1.37 -0.61,-2.03 z"
+   id="path1578" />
+			<path
+   class="st1"
+   d="m 705.14,208.35 c 0.11,0.23 0.21,0.46 0.36,0.66 0.09,0.12 0.3,0.05 0.26,-0.11 -0.07,-0.24 -0.17,-0.46 -0.28,-0.69 -0.11,-0.23 -0.21,-0.46 -0.32,-0.69 -0.22,-0.45 -0.45,-0.9 -0.67,-1.36 -0.09,-0.18 -0.36,-0.02 -0.27,0.16 0.21,0.45 0.41,0.9 0.62,1.35 0.09,0.24 0.19,0.46 0.3,0.68 z"
+   id="path1580" />
+			<path
+   class="st1"
+   d="m 707,212.84 c -0.03,-0.13 -0.07,-0.26 -0.11,-0.38 -0.08,-0.26 -0.15,-0.51 -0.23,-0.77 -0.06,-0.21 -0.37,-0.12 -0.32,0.09 0.06,0.26 0.13,0.52 0.19,0.78 0.03,0.12 0.06,0.25 0.09,0.37 0.04,0.13 0.09,0.26 0.14,0.39 0.07,0.2 0.36,0.12 0.32,-0.09 -0.03,-0.13 -0.05,-0.26 -0.08,-0.39 z"
+   id="path1582" />
+			<path
+   class="st1"
+   d="m 708.19,220.04 c 0.07,-0.41 -0.05,-0.88 -0.11,-1.3 -0.07,-0.49 -0.14,-0.98 -0.21,-1.47 -0.14,-0.96 -0.29,-1.92 -0.44,-2.89 -0.03,-0.2 -0.39,-0.16 -0.36,0.05 0.11,0.95 0.24,1.9 0.37,2.84 0.07,0.47 0.13,0.95 0.2,1.42 0.06,0.44 0.08,0.98 0.27,1.38 0.06,0.11 0.26,0.09 0.28,-0.03 z"
+   id="path1584" />
+			<path
+   class="st1"
+   d="m 513.72,292.2 c 0.08,0.16 0.17,0.32 0.25,0.47 0.04,0.08 0.08,0.15 0.12,0.23 0.02,0.04 0.05,0.08 0.07,0.12 0.03,0.04 0.05,0.07 0.08,0.1 0.03,0.02 0.08,-0.01 0.08,-0.04 0,-0.04 -0.02,-0.08 -0.04,-0.12 -0.02,-0.04 -0.04,-0.08 -0.07,-0.12 -0.04,-0.07 -0.09,-0.15 -0.13,-0.22 l -0.29,-0.45 c -0.02,-0.07 -0.1,-0.03 -0.07,0.03 z"
+   id="path1586" />
+			<path
+   class="st1"
+   d="m 514.88,294.41 c 0.05,0.08 0.1,0.16 0.16,0.23 0.03,0.04 0.07,0.08 0.11,0.12 0.03,0.04 0.06,0.08 0.11,0.1 0.05,0.03 0.13,-0.01 0.13,-0.07 0,-0.05 -0.02,-0.1 -0.05,-0.14 -0.02,-0.04 -0.04,-0.09 -0.06,-0.14 -0.05,-0.08 -0.1,-0.16 -0.15,-0.24 -0.11,-0.16 -0.22,-0.32 -0.33,-0.48 -0.04,-0.06 -0.12,-0.09 -0.18,-0.05 -0.06,0.04 -0.09,0.12 -0.05,0.18 0.11,0.16 0.21,0.33 0.31,0.49 z"
+   id="path1588" />
+			<path
+   class="st1"
+   d="m 515.89,295.75 c 0.05,0.05 0.09,0.1 0.14,0.14 0.06,0.05 0.11,0.11 0.19,0.13 0.09,0.02 0.16,-0.05 0.14,-0.14 -0.02,-0.08 -0.08,-0.14 -0.13,-0.19 -0.05,-0.05 -0.1,-0.09 -0.14,-0.14 l -0.29,-0.27 c -0.05,-0.05 -0.14,-0.05 -0.19,0 -0.05,0.05 -0.05,0.13 0,0.19 0.1,0.09 0.19,0.19 0.28,0.28 z"
+   id="path1590" />
+			<path
+   class="st1"
+   d="m 512.46,290.03 c 0.03,0.06 0.06,0.11 0.09,0.17 0.03,0.06 0.05,0.12 0.1,0.16 0.03,0.03 0.08,0.02 0.09,-0.03 0.03,-0.12 -0.02,-0.24 -0.03,-0.36 -0.02,-0.13 -0.08,-0.27 -0.12,-0.39 -0.08,-0.25 -0.16,-0.5 -0.24,-0.76 -0.05,-0.16 -0.3,-0.09 -0.25,0.07 0.08,0.25 0.16,0.51 0.24,0.76 0.04,0.13 0.07,0.26 0.12,0.38 z"
+   id="path1592" />
+			<path
+   class="st1"
+   d="m 513.18,291.29 c 0.05,0.05 0.13,0.05 0.18,0.01 0.06,-0.04 0.07,-0.12 0.03,-0.18 -0.03,-0.06 -0.08,-0.11 -0.12,-0.16 -0.04,-0.05 -0.09,-0.1 -0.14,-0.16 -0.08,-0.1 -0.17,-0.19 -0.25,-0.29 -0.06,-0.07 -0.17,0.02 -0.13,0.1 0.06,0.11 0.13,0.22 0.19,0.34 0.08,0.11 0.15,0.24 0.24,0.34 z"
+   id="path1594" />
+			<path
+   class="st1"
+   d="m 508.82,254.91 c -0.06,-0.21 -0.13,-0.41 -0.21,-0.61 -0.07,-0.17 -0.29,-0.11 -0.27,0.07 0.03,0.22 0.07,0.42 0.13,0.63 0.03,0.1 0.05,0.2 0.08,0.3 0.02,0.06 0.05,0.11 0.08,0.17 0.03,0.06 0.05,0.11 0.12,0.13 0.04,0.01 0.08,0 0.11,-0.03 0.05,-0.05 0.05,-0.11 0.04,-0.17 0,-0.06 -0.01,-0.12 -0.02,-0.19 0,-0.1 -0.04,-0.2 -0.06,-0.3 z"
+   id="path1596" />
+			<path
+   class="st1"
+   d="m 509.64,258.56 c 0.06,0.11 0.12,0.22 0.19,0.33 0.02,0.03 0.04,0.07 0.06,0.09 0.02,0.02 0.04,0.03 0.06,0.05 0.05,0.05 0.08,0.1 0.13,0.15 0.05,0.05 0.13,0 0.12,-0.07 -0.01,-0.07 -0.04,-0.12 -0.06,-0.19 -0.01,-0.03 -0.01,-0.05 -0.01,-0.08 -0.01,-0.03 -0.03,-0.06 -0.04,-0.09 -0.06,-0.12 -0.12,-0.23 -0.19,-0.34 l -0.39,-0.67 c -0.09,-0.16 -0.34,-0.02 -0.25,0.15 0.13,0.22 0.26,0.45 0.38,0.67 z"
+   id="path1598" />
+			<path
+   class="st1"
+   d="m 511.88,257.04 c 0.03,0.03 0.08,0.03 0.11,0.01 0.03,-0.02 0.05,-0.07 0.02,-0.11 -0.14,-0.19 -0.27,-0.39 -0.41,-0.58 -0.04,-0.05 -0.1,-0.07 -0.16,-0.03 -0.05,0.04 -0.05,0.11 -0.01,0.16 0.16,0.18 0.3,0.36 0.45,0.55 z"
+   id="path1600" />
+			<path
+   class="st1"
+   d="m 513.51,255.87 c -0.12,-0.66 -0.39,-1.28 -0.62,-1.9 -0.05,-0.13 -0.25,-0.08 -0.2,0.06 0.21,0.64 0.38,1.3 0.69,1.9 0.04,0.06 0.14,0.01 0.13,-0.06 z"
+   id="path1602" />
+			<path
+   class="st1"
+   d="m 514.08,257.84 c 0.02,0.04 0.04,0.08 0.07,0.12 0.02,0.04 0.06,0.07 0.09,0.11 0.06,0.08 0.11,0.18 0.2,0.23 0.06,0.04 0.14,-0.01 0.14,-0.08 0,-0.05 -0.01,-0.1 -0.03,-0.14 -0.02,-0.04 -0.03,-0.09 -0.05,-0.13 -0.01,-0.03 -0.01,-0.01 -0.02,-0.06 -0.01,-0.03 -0.02,-0.05 -0.03,-0.08 -0.02,-0.04 -0.05,-0.09 -0.07,-0.13 -0.09,-0.17 -0.19,-0.33 -0.28,-0.5 -0.04,-0.08 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.1,0.15 -0.06,0.22 0.08,0.17 0.17,0.34 0.26,0.5 z"
+   id="path1604" />
+			<path
+   class="st1"
+   d="m 517.93,253.83 c -0.04,-0.12 -0.09,-0.25 -0.13,-0.37 -0.09,-0.25 -0.18,-0.5 -0.27,-0.75 -0.05,-0.14 -0.28,-0.08 -0.23,0.06 0.09,0.26 0.19,0.51 0.28,0.77 0.05,0.13 0.09,0.26 0.14,0.38 0.02,0.06 0.04,0.12 0.06,0.18 0.03,0.07 0.07,0.12 0.11,0.19 0.05,0.08 0.16,0.02 0.15,-0.06 -0.01,-0.07 -0.01,-0.14 -0.04,-0.2 -0.02,-0.07 -0.05,-0.13 -0.07,-0.2 z"
+   id="path1606" />
+			<path
+   class="st1"
+   d="m 518.86,255.62 c -0.04,-0.08 -0.14,-0.09 -0.21,-0.05 -0.08,0.05 -0.09,0.14 -0.05,0.21 0.11,0.25 0.22,0.49 0.33,0.74 0.11,0.25 0.21,0.49 0.36,0.72 0.08,0.13 0.32,0.05 0.26,-0.11 -0.08,-0.27 -0.21,-0.51 -0.33,-0.77 -0.12,-0.24 -0.24,-0.49 -0.36,-0.74 z"
+   id="path1608" />
+			<path
+   class="st1"
+   d="m 520.25,255.42 c -0.09,-0.44 -0.3,-0.85 -0.48,-1.25 -0.19,-0.42 -0.37,-0.83 -0.56,-1.25 -0.06,-0.14 -0.27,-0.02 -0.21,0.12 0.18,0.41 0.36,0.82 0.54,1.23 0.18,0.41 0.34,0.84 0.6,1.2 0.03,0.06 0.12,0.02 0.11,-0.05 z"
+   id="path1610" />
+			<path
+   class="st1"
+   d="m 522.81,255.1 c 0.05,0.1 0.11,0.2 0.18,0.29 0.07,0.1 0.13,0.21 0.23,0.27 0.09,0.05 0.18,-0.04 0.17,-0.13 -0.02,-0.11 -0.09,-0.2 -0.15,-0.29 -0.06,-0.1 -0.11,-0.2 -0.17,-0.3 -0.1,-0.19 -0.2,-0.38 -0.28,-0.58 -0.16,-0.41 -0.28,-0.85 -0.34,-1.29 -0.02,-0.17 -0.29,-0.17 -0.27,0 0.05,0.48 0.16,0.94 0.33,1.39 0.09,0.22 0.19,0.43 0.3,0.64 z"
+   id="path1612" />
+			<path
+   class="st1"
+   d="m 522.85,251.13 c 0.13,0.42 0.26,0.84 0.39,1.25 0.06,0.21 0.13,0.41 0.19,0.62 0.03,0.1 0.07,0.2 0.12,0.29 0.04,0.1 0.07,0.21 0.15,0.28 0.05,0.05 0.17,0.03 0.19,-0.05 0.02,-0.11 -0.01,-0.2 -0.04,-0.3 -0.02,-0.1 -0.04,-0.19 -0.07,-0.29 -0.07,-0.21 -0.14,-0.42 -0.21,-0.63 -0.14,-0.42 -0.28,-0.83 -0.42,-1.25 -0.07,-0.18 -0.35,-0.1 -0.3,0.08 z"
+   id="path1614" />
+			<path
+   class="st1"
+   d="m 525.67,252.9 c 0.07,0.04 0.13,-0.04 0.1,-0.1 -0.09,-0.17 -0.2,-0.3 -0.31,-0.46 -0.1,-0.14 -0.19,-0.29 -0.27,-0.45 -0.16,-0.33 -0.27,-0.68 -0.32,-1.04 -0.02,-0.13 -0.22,-0.08 -0.2,0.06 0.05,0.38 0.17,0.75 0.34,1.09 0.14,0.34 0.34,0.71 0.66,0.9 z"
+   id="path1616" />
+			<path
+   class="st1"
+   d="m 576.02,234.35 c 0.11,0.19 0.26,0.52 0.51,0.52 0.08,0 0.15,-0.05 0.17,-0.13 0.06,-0.21 -0.18,-0.45 -0.28,-0.62 -0.11,-0.18 -0.21,-0.38 -0.3,-0.57 -0.19,-0.4 -0.32,-0.83 -0.39,-1.27 -0.03,-0.2 -0.39,-0.16 -0.36,0.05 0.06,0.48 0.17,0.95 0.35,1.39 0.08,0.21 0.18,0.42 0.3,0.63 z"
+   id="path1618" />
+			<path
+   class="st1"
+   d="m 594.4,226.3 c 0.04,0.13 0.09,0.27 0.13,0.4 0.04,0.12 0.07,0.25 0.17,0.34 0.05,0.05 0.15,0.03 0.17,-0.05 0.05,-0.24 -0.1,-0.52 -0.17,-0.75 -0.09,-0.28 -0.18,-0.56 -0.28,-0.84 -0.19,-0.55 -0.37,-1.09 -0.56,-1.64 -0.05,-0.14 -0.27,-0.08 -0.23,0.06 0.17,0.55 0.34,1.1 0.51,1.65 0.09,0.29 0.17,0.56 0.26,0.83 z"
+   id="path1620" />
+			<path
+   class="st1"
+   d="m 631.2,208.99 c 0.11,0.38 0.2,0.77 0.27,1.17 0.04,0.22 0.08,0.45 0.1,0.67 0.02,0.19 0.03,0.37 0.11,0.54 0.06,0.13 0.26,0.08 0.3,-0.04 0.11,-0.35 -0.03,-0.84 -0.09,-1.19 -0.08,-0.44 -0.2,-0.87 -0.34,-1.29 -0.27,-0.82 -0.64,-1.6 -1.1,-2.33 -0.11,-0.18 -0.39,-0.01 -0.28,0.16 0.44,0.72 0.79,1.49 1.03,2.31 z"
+   id="path1622" />
+			<path
+   class="st1"
+   d="m 663.24,190.88 c -0.07,0.02 -0.04,0.13 0.03,0.11 0.07,-0.02 0.04,-0.13 -0.03,-0.11 z"
+   id="path1624" />
+			<path
+   class="st1"
+   d="m 527.03,249.42 c 0.02,0.05 0.03,0.11 0.05,0.16 0.02,0.05 0.03,0.11 0.07,0.15 0.03,0.03 0.09,0.02 0.11,-0.03 0.01,-0.06 0,-0.11 -0.02,-0.16 -0.01,-0.05 -0.02,-0.1 -0.03,-0.15 -0.03,-0.11 -0.05,-0.23 -0.08,-0.34 -0.05,-0.22 -0.1,-0.45 -0.15,-0.68 -0.04,-0.17 -0.32,-0.1 -0.27,0.07 0.07,0.22 0.14,0.44 0.21,0.66 0.04,0.1 0.07,0.21 0.11,0.32 z"
+   id="path1626" />
+			<path
+   class="st1"
+   d="m 527.62,252.27 c 0.06,0.15 0.14,0.44 0.32,0.48 0.06,0.01 0.14,-0.01 0.17,-0.07 0.05,-0.1 0.02,-0.17 -0.01,-0.26 -0.03,-0.08 -0.07,-0.16 -0.1,-0.24 -0.07,-0.16 -0.12,-0.32 -0.17,-0.48 -0.11,-0.33 -0.21,-0.66 -0.24,-1.01 -0.02,-0.16 -0.25,-0.16 -0.25,0 0.01,0.37 0.03,0.74 0.12,1.09 0.03,0.16 0.1,0.33 0.16,0.49 z"
+   id="path1628" />
+			<path
+   class="st1"
+   d="m 530.42,249.38 c 0.01,0.05 0.03,0.1 0.05,0.14 0.02,0.05 0.03,0.1 0.06,0.14 0.04,0.06 0.11,0.04 0.14,-0.02 0.02,-0.04 0.02,-0.09 0.03,-0.14 0.01,-0.05 0.02,-0.09 0.02,-0.14 0,-0.09 -0.02,-0.19 -0.03,-0.28 -0.02,-0.19 -0.04,-0.38 -0.07,-0.57 -0.01,-0.06 -0.05,-0.12 -0.12,-0.12 -0.06,0 -0.12,0.05 -0.12,0.12 0.01,0.19 0.02,0.38 0.03,0.58 -0.01,0.09 -0.01,0.2 0.01,0.29 z"
+   id="path1630" />
+			<path
+   class="st1"
+   d="m 530.9,251.52 c 0.01,0.02 0.03,0.03 0.04,0.04 0.02,0.01 0.04,0.01 0.06,0 0.02,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.03,-0.04 0.03,-0.06 -0.01,-0.06 -0.01,-0.11 -0.03,-0.17 L 531,251.16 c -0.01,-0.05 -0.08,-0.09 -0.13,-0.08 -0.06,0.02 -0.09,0.07 -0.08,0.13 l 0.04,0.15 c 0.03,0.06 0.05,0.11 0.07,0.16 z"
+   id="path1632" />
+			<path
+   class="st1"
+   d="m 534.22,247.91 c 0.03,0.15 0.04,0.39 0.18,0.48 0.05,0.03 0.14,0.02 0.18,-0.02 0.07,-0.09 0.06,-0.15 0.05,-0.26 -0.01,-0.09 -0.02,-0.17 -0.04,-0.26 -0.02,-0.17 -0.05,-0.33 -0.08,-0.5 -0.06,-0.34 -0.13,-0.67 -0.19,-1.01 -0.02,-0.1 -0.13,-0.15 -0.22,-0.13 -0.1,0.03 -0.15,0.13 -0.13,0.22 0.06,0.33 0.11,0.66 0.17,1 0.02,0.16 0.05,0.32 0.08,0.48 z"
+   id="path1634" />
+			<path
+   class="st1"
+   d="m 534.55,249.17 c 0.02,0.07 0.03,0.13 0.05,0.2 0.01,0.04 0.02,0.09 0.04,0.13 0.01,0.03 0.03,0.06 0.05,0.09 0.03,0.05 0.09,0.08 0.15,0.06 0.05,-0.02 0.1,-0.07 0.1,-0.13 0,-0.03 0,-0.07 0,-0.1 0,-0.05 -0.02,-0.09 -0.03,-0.13 -0.02,-0.06 -0.04,-0.13 -0.06,-0.19 -0.02,-0.07 -0.1,-0.13 -0.18,-0.1 -0.1,0.02 -0.14,0.09 -0.12,0.17 z"
+   id="path1636" />
+			<path
+   class="st1"
+   d="m 537.34,247.27 c -0.06,0.04 -0.07,0.1 -0.04,0.15 0.07,0.15 0.13,0.31 0.21,0.45 0.03,0.06 0.11,0.08 0.17,0.04 0.06,-0.04 0.07,-0.1 0.04,-0.17 -0.07,-0.15 -0.15,-0.3 -0.22,-0.44 -0.04,-0.04 -0.11,-0.06 -0.16,-0.03 z"
+   id="path1638" />
+			<path
+   class="st1"
+   d="m 536.95,245.01 c 0.05,0.22 0.1,0.44 0.16,0.66 0.03,0.11 0.05,0.22 0.08,0.32 0.02,0.05 0.04,0.1 0.06,0.15 0.02,0.06 0.04,0.11 0.09,0.16 0.05,0.05 0.15,0.03 0.16,-0.04 0.03,-0.1 -0.01,-0.23 -0.02,-0.33 -0.02,-0.11 -0.06,-0.22 -0.09,-0.33 -0.06,-0.22 -0.13,-0.43 -0.19,-0.65 -0.05,-0.17 -0.29,-0.1 -0.25,0.06 z"
+   id="path1640" />
+			<path
+   class="st1"
+   d="m 540.72,245.33 c 0.01,0.03 0.04,0.05 0.07,0.04 0.03,-0.01 0.05,-0.04 0.04,-0.07 -0.01,-0.07 -0.02,-0.13 -0.03,-0.2 -0.01,-0.07 -0.03,-0.13 -0.04,-0.2 -0.01,-0.05 -0.07,-0.09 -0.12,-0.07 -0.05,0.02 -0.09,0.07 -0.07,0.12 0.02,0.06 0.04,0.13 0.07,0.19 0.03,0.06 0.06,0.13 0.08,0.19 z"
+   id="path1642" />
+			<path
+   class="st1"
+   d="m 541.19,246.53 c 0.06,0.1 0.13,0.2 0.2,0.3 0.03,0.05 0.11,0.08 0.17,0.04 0.06,-0.04 0.08,-0.11 0.04,-0.17 -0.06,-0.11 -0.11,-0.21 -0.18,-0.32 -0.06,-0.1 -0.13,-0.21 -0.19,-0.31 -0.04,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.12 -0.05,0.18 0.06,0.12 0.12,0.23 0.19,0.33 z"
+   id="path1644" />
+			<path
+   class="st1"
+   d="m 544.43,243.53 c 0.01,0.01 0.01,0.01 0.02,0.02 0.01,0.01 0.02,0.02 0.03,0.02 0.02,0.01 0.04,0.01 0.07,0.01 0.02,-0.01 0.03,-0.01 0.05,-0.03 0.02,-0.02 0.03,-0.05 0.03,-0.07 0,-0.04 0,-0.09 -0.01,-0.13 -0.01,-0.03 -0.02,-0.07 -0.02,-0.1 -0.01,-0.03 -0.03,-0.06 -0.06,-0.08 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.02,0.03 -0.02,0.06 -0.01,0.1 0.01,0.03 0.02,0.07 0.03,0.1 0.01,0.03 0.03,0.07 0.05,0.11 z"
+   id="path1646" />
+			<path
+   class="st1"
+   d="m 545.06,245.2 c 0.03,0.04 0.05,0.08 0.09,0.11 0.02,0.02 0.06,0.03 0.09,0.02 0.03,-0.01 0.06,-0.04 0.05,-0.08 0,-0.03 -0.01,-0.05 -0.01,-0.08 -0.01,-0.02 -0.01,-0.04 -0.02,-0.06 -0.02,-0.05 -0.03,-0.1 -0.06,-0.14 -0.04,-0.08 -0.08,-0.16 -0.12,-0.23 -0.03,-0.05 -0.11,-0.07 -0.16,-0.04 -0.06,0.04 -0.07,0.1 -0.04,0.16 0.04,0.08 0.08,0.16 0.11,0.23 0.02,0.04 0.05,0.07 0.07,0.11 z"
+   id="path1648" />
+			<path
+   class="st1"
+   d="m 549.9,239.66 c 0.01,0.06 0.04,0.11 0.06,0.17 0.03,0.07 0.06,0.13 0.12,0.18 0.07,0.04 0.15,0.01 0.2,-0.05 0.04,-0.06 0.04,-0.13 0.04,-0.2 0,-0.07 0,-0.14 -0.01,-0.21 -0.02,-0.11 -0.04,-0.22 -0.07,-0.32 -0.05,-0.22 -0.09,-0.45 -0.14,-0.67 -0.02,-0.1 -0.14,-0.17 -0.24,-0.14 -0.11,0.03 -0.16,0.13 -0.14,0.24 0.04,0.23 0.08,0.45 0.12,0.68 0.03,0.1 0.04,0.21 0.06,0.32 z"
+   id="path1650" />
+			<path
+   class="st1"
+   d="m 550.26,241.2 c 0.05,0.22 0.11,0.44 0.16,0.65 0.03,0.11 0.05,0.21 0.09,0.32 0.02,0.06 0.06,0.1 0.09,0.15 0.03,0.05 0.06,0.09 0.09,0.14 0.03,0.04 0.1,0.02 0.11,-0.03 0.01,-0.06 0.01,-0.11 0.01,-0.16 0,-0.06 0.01,-0.11 0,-0.17 -0.02,-0.11 -0.06,-0.22 -0.09,-0.33 -0.06,-0.22 -0.12,-0.43 -0.19,-0.65 -0.03,-0.19 -0.32,-0.11 -0.27,0.08 z"
+   id="path1652" />
+			<path
+   class="st1"
+   d="m 553.74,238.95 c 0.02,-0.01 0.03,-0.03 0.03,-0.05 -0.02,-0.06 -0.03,-0.13 -0.05,-0.19 -0.01,-0.02 -0.04,-0.04 -0.06,-0.03 -0.02,0.01 -0.04,0.03 -0.03,0.06 0.02,0.06 0.04,0.13 0.06,0.19 0,0.02 0.02,0.03 0.05,0.02 z"
+   id="path1654" />
+			<path
+   class="st1"
+   d="m 555.58,238.72 c 0.07,0.12 0.14,0.25 0.26,0.33 0.09,0.06 0.2,-0.04 0.18,-0.14 -0.03,-0.13 -0.12,-0.23 -0.18,-0.34 -0.06,-0.11 -0.12,-0.22 -0.17,-0.34 -0.1,-0.23 -0.17,-0.47 -0.21,-0.72 -0.01,-0.08 -0.11,-0.12 -0.18,-0.1 -0.08,0.02 -0.11,0.1 -0.1,0.18 0.04,0.27 0.12,0.53 0.23,0.78 0.05,0.12 0.11,0.24 0.17,0.35 z"
+   id="path1656" />
+			<path
+   class="st1"
+   d="m 563.95,235.67 c 0.05,0.1 0.1,0.21 0.15,0.31 0.05,0.11 0.11,0.21 0.18,0.31 0.06,0.08 0.16,0.12 0.25,0.08 0.09,-0.04 0.15,-0.14 0.12,-0.24 -0.09,-0.23 -0.21,-0.45 -0.33,-0.67 -0.11,-0.21 -0.23,-0.42 -0.34,-0.63 -0.05,-0.09 -0.18,-0.12 -0.27,-0.07 -0.1,0.06 -0.11,0.17 -0.07,0.27 0.1,0.22 0.21,0.43 0.31,0.64 z"
+   id="path1658" />
+			<path
+   class="st1"
+   d="m 565.43,238.42 c 0.03,0.02 0.07,0.03 0.1,0.03 0.04,0 0.03,-0.01 0.05,-0.01 0,0 -0.01,0 -0.01,0 0.06,-0.01 0.12,-0.03 0.14,-0.09 0.01,-0.03 0.01,-0.05 0,-0.08 0,0 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.02 0,-0.03 -0.01,-0.05 -0.01,-0.02 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -0.02,-0.03 -0.05,-0.06 -0.08,-0.09 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.02,-0.02 -0.03,-0.05 -0.05,-0.07 -0.01,-0.01 -0.01,-0.02 -0.02,-0.04 0,0 0,0 0,0.01 0,0 0,-0.01 -0.01,-0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,-0.01 0,-0.01 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 0,-0.01 -0.01,-0.03 -0.01,-0.04 0,-0.01 0,-0.01 0,-0.02 0,-0.03 0,-0.07 0,-0.1 0.01,-0.08 -0.07,-0.15 -0.15,-0.17 -0.08,-0.01 -0.17,0.04 -0.18,0.12 -0.04,0.27 0.03,0.54 0.22,0.74 0.05,0.04 0.08,0.06 0.11,0.08 z"
+   id="path1660" />
+			<path
+   class="st1"
+   d="m 566.7,235.58 c 0.06,0.12 0.12,0.25 0.18,0.37 0.03,0.06 0.05,0.11 0.08,0.17 0.04,0.07 0.09,0.13 0.15,0.19 0.06,0.06 0.16,0.07 0.23,0.03 0.08,-0.05 0.1,-0.13 0.09,-0.22 -0.02,-0.09 -0.03,-0.16 -0.07,-0.24 -0.03,-0.06 -0.05,-0.12 -0.08,-0.17 -0.06,-0.12 -0.12,-0.25 -0.18,-0.37 -0.12,-0.25 -0.24,-0.5 -0.36,-0.74 -0.05,-0.11 -0.21,-0.14 -0.31,-0.08 -0.11,0.07 -0.13,0.2 -0.08,0.31 0.11,0.25 0.23,0.5 0.35,0.75 z"
+   id="path1662" />
+			<path
+   class="st1"
+   d="m 561.7,236.76 c 0.01,0.02 0.03,0.05 0.05,0.07 0.02,0.03 0.04,0.05 0.05,0.08 0.03,0.05 0.06,0.11 0.12,0.15 0.07,0.06 0.17,0.02 0.18,-0.07 0.01,-0.07 -0.01,-0.13 -0.03,-0.19 -0.01,-0.03 -0.02,-0.06 -0.02,-0.09 -0.01,-0.04 -0.01,-0.08 -0.03,-0.12 -0.05,-0.11 -0.1,-0.23 -0.14,-0.34 -0.02,-0.04 -0.07,-0.07 -0.11,-0.08 -0.04,-0.01 -0.1,-0.01 -0.14,0.02 -0.04,0.02 -0.07,0.06 -0.08,0.11 -0.01,0.05 0,0.09 0.02,0.14 0.03,0.1 0.07,0.21 0.13,0.32 z"
+   id="path1664" />
+			<path
+   class="st1"
+   d="m 558.23,238.15 c 0.03,0.07 0.06,0.14 0.12,0.19 0.03,0.02 0.06,0.04 0.11,0.03 0.03,-0.01 0.07,-0.04 0.08,-0.08 0.01,-0.05 0.01,-0.09 -0.01,-0.14 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 -0.02,-0.07 -0.04,-0.13 -0.07,-0.2 -0.04,-0.13 -0.1,-0.26 -0.15,-0.39 -0.03,-0.08 -0.1,-0.14 -0.19,-0.11 -0.07,0.02 -0.14,0.11 -0.11,0.19 0.05,0.14 0.1,0.28 0.17,0.41 0.02,0.07 0.05,0.13 0.08,0.19 z"
+   id="path1666" />
+			<path
+   class="st1"
+   d="m 569.49,232.48 c 0.04,0.09 0.08,0.17 0.12,0.26 0.02,0.04 0.03,0.08 0.05,0.12 0.02,0.03 0.05,0.04 0.08,0.07 0.01,0.01 0.03,0.04 0.04,0.05 0.04,0.04 0.11,0.05 0.16,0.02 0.05,-0.03 0.07,-0.09 0.06,-0.15 -0.01,-0.06 -0.01,-0.12 -0.03,-0.17 -0.02,-0.04 -0.04,-0.08 -0.06,-0.12 -0.04,-0.08 -0.08,-0.17 -0.13,-0.25 -0.08,-0.17 -0.17,-0.34 -0.25,-0.51 -0.04,-0.08 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.22 0.08,0.18 0.16,0.35 0.24,0.52 z"
+   id="path1668" />
+			<path
+   class="st1"
+   d="m 570.16,233.92 c 0.02,0.03 0.04,0.06 0.07,0.1 0.01,0.02 0.02,0.03 0.03,0.05 0.02,0.02 0.03,0.05 0.06,0.07 0.01,0.01 0.02,0.01 0.03,0.01 0.01,0.01 0.01,0.01 0.02,0.02 0.03,0.02 0.05,0.04 0.08,0.04 0.03,0 0.07,0 0.09,-0.02 0.01,-0.01 0.02,-0.02 0.03,-0.02 0.04,-0.03 0.05,-0.1 0.04,-0.14 -0.01,-0.02 -0.01,-0.03 -0.02,-0.05 0,-0.01 0,-0.02 0,-0.02 -0.01,-0.04 -0.03,-0.06 -0.06,-0.09 -0.01,-0.01 -0.02,-0.03 -0.04,-0.05 -0.03,-0.03 -0.05,-0.06 -0.08,-0.09 l -0.15,-0.19 c -0.02,-0.03 -0.08,-0.05 -0.11,-0.05 -0.04,0 -0.07,0.01 -0.1,0.03 -0.06,0.05 -0.09,0.14 -0.04,0.2 z"
+   id="path1670" />
+			<path
+   class="st1"
+   d="m 572.17,232.56 c 0.1,0.2 0.2,0.4 0.33,0.58 0.03,0.05 0.09,0.07 0.15,0.05 0.05,-0.02 0.09,-0.08 0.07,-0.14 -0.08,-0.22 -0.19,-0.41 -0.3,-0.62 -0.11,-0.2 -0.21,-0.4 -0.32,-0.6 -0.08,-0.16 -0.32,-0.02 -0.24,0.14 0.1,0.2 0.21,0.4 0.31,0.59 z"
+   id="path1672" />
+			<path
+   class="st1"
+   d="m 576.28,230.28 c 0.07,0.12 0.13,0.24 0.2,0.35 0.08,0.12 0.15,0.28 0.3,0.33 0.07,0.03 0.17,-0.03 0.19,-0.11 0.03,-0.15 -0.07,-0.29 -0.14,-0.43 -0.06,-0.12 -0.13,-0.23 -0.2,-0.35 -0.14,-0.24 -0.27,-0.47 -0.41,-0.71 -0.05,-0.09 -0.18,-0.13 -0.28,-0.07 -0.1,0.06 -0.13,0.18 -0.07,0.28 0.14,0.23 0.28,0.47 0.41,0.71 z"
+   id="path1674" />
+			<path
+   class="st1"
+   d="m 577.12,231.98 c 0.01,0.01 0.02,0.02 0.02,0.03 0.01,0.01 0.03,0.02 0.05,0.03 0.03,0.01 0.06,0.02 0.09,0.01 0.02,-0.01 0.05,-0.02 0.06,-0.04 0.02,-0.02 0.04,-0.07 0.04,-0.1 0,-0.04 0,-0.07 -0.01,-0.11 l -0.06,-0.21 c -0.01,-0.04 -0.04,-0.07 -0.07,-0.09 -0.03,-0.02 -0.08,-0.03 -0.12,-0.01 -0.04,0.01 -0.07,0.04 -0.09,0.07 -0.02,0.04 -0.03,0.08 -0.01,0.12 l 0.06,0.21 c 0.01,0.03 0.03,0.06 0.04,0.09 z"
+   id="path1676" />
+			<path
+   class="st1"
+   d="m 578.68,229.01 c -0.03,0.03 -0.05,0.06 -0.06,0.1 -0.01,0.05 0.01,0.09 0.04,0.13 0.06,0.08 0.13,0.16 0.19,0.24 0.06,0.08 0.12,0.17 0.2,0.24 0.03,0.03 0.07,0.03 0.11,0.01 0.03,-0.02 0.05,-0.06 0.04,-0.1 -0.03,-0.11 -0.09,-0.2 -0.15,-0.3 -0.05,-0.09 -0.1,-0.19 -0.16,-0.28 -0.03,-0.07 -0.14,-0.09 -0.21,-0.04 z"
+   id="path1678" />
+			<path
+   class="st1"
+   d="m 581.1,227.27 c 0.02,0.03 0.04,0.07 0.05,0.1 0.01,0.02 0.02,0.03 0.03,0.05 0.01,0.02 0.02,0.03 0.04,0.05 -0.01,-0.01 -0.01,-0.01 0,0 0.02,0.03 0.04,0.07 0.06,0.1 0.03,0.04 0.06,0.07 0.09,0.11 0.08,0.09 0.23,-0.01 0.2,-0.12 -0.01,-0.05 -0.02,-0.09 -0.04,-0.14 -0.01,-0.03 -0.03,-0.06 -0.04,-0.1 0.01,0.01 0.01,0.01 0,-0.01 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.03 -0.02,-0.05 -0.03,-0.07 -0.02,-0.03 -0.04,-0.07 -0.05,-0.1 -0.07,-0.14 -0.15,-0.28 -0.22,-0.42 -0.04,-0.08 -0.16,-0.11 -0.23,-0.06 -0.08,0.05 -0.1,0.15 -0.06,0.23 0.06,0.13 0.13,0.27 0.21,0.41 z"
+   id="path1680" />
+			<path
+   class="st1"
+   d="m 583.18,226.35 c 0.06,0.13 0.12,0.25 0.18,0.37 0.06,0.12 0.11,0.26 0.22,0.35 0.09,0.07 0.24,0.03 0.24,-0.1 0,-0.15 -0.08,-0.28 -0.14,-0.41 -0.06,-0.13 -0.12,-0.26 -0.19,-0.39 -0.13,-0.25 -0.25,-0.5 -0.37,-0.76 -0.04,-0.08 -0.16,-0.1 -0.23,-0.06 -0.09,0.05 -0.1,0.15 -0.06,0.23 0.12,0.27 0.24,0.52 0.35,0.77 z"
+   id="path1682" />
+			<path
+   class="st1"
+   d="m 584.07,228.2 c 0.01,0.01 0.02,0.03 0.03,0.04 0.01,0.01 0.01,0.01 0.02,0.02 0.01,0.01 0.03,0.02 0.05,0.03 0.02,0.01 0.04,0.01 0.06,0 0.02,-0.01 0.04,-0.01 0.05,-0.03 0.01,-0.01 0.02,-0.03 0.03,-0.05 0,-0.01 0.01,-0.02 0.01,-0.02 0.01,-0.02 0.01,-0.03 0.01,-0.05 0,-0.02 0,-0.03 0,-0.05 0,-0.03 -0.01,-0.06 -0.02,-0.09 0,-0.02 -0.01,-0.03 -0.01,-0.05 0,-0.02 -0.01,-0.04 -0.03,-0.05 -0.01,-0.02 -0.03,-0.03 -0.04,-0.04 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0 -0.06,0 -0.04,0.01 -0.07,0.04 -0.09,0.07 -0.02,0.03 -0.03,0.08 -0.02,0.12 0.01,0.04 0.03,0.09 0.05,0.13 0,0.02 0.01,0.03 0.02,0.04 z"
+   id="path1684" />
+			<path
+   class="st1"
+   d="m 580.99,231.19 c 0.05,0.08 0.1,0.17 0.17,0.24 0.07,0.07 0.11,0.15 0.2,0.19 0.06,0.02 0.11,-0.04 0.12,-0.09 0,-0.05 -0.02,-0.1 -0.04,-0.15 -0.02,-0.04 -0.03,-0.07 -0.04,-0.11 -0.03,-0.09 -0.09,-0.17 -0.14,-0.25 -0.1,-0.15 -0.19,-0.31 -0.29,-0.46 -0.04,-0.07 -0.14,-0.1 -0.21,-0.06 -0.07,0.05 -0.1,0.14 -0.05,0.21 0.08,0.17 0.18,0.32 0.28,0.48 z"
+   id="path1686" />
+			<path
+   class="st1"
+   d="m 586.32,229.44 c 0.09,-0.04 0.14,-0.14 0.12,-0.23 -0.1,-0.34 -0.26,-0.68 -0.39,-1.01 -0.04,-0.09 -0.12,-0.16 -0.22,-0.13 -0.09,0.03 -0.16,0.13 -0.13,0.22 0.12,0.36 0.23,0.72 0.38,1.07 0.03,0.09 0.16,0.12 0.24,0.08 z"
+   id="path1688" />
+			<path
+   class="st1"
+   d="m 587.55,224.99 c 0.12,0.16 0.22,0.34 0.36,0.48 0.09,0.09 0.21,-0.02 0.16,-0.12 -0.08,-0.18 -0.21,-0.33 -0.32,-0.49 l -0.33,-0.48 c -0.04,-0.06 -0.11,-0.08 -0.17,-0.04 -0.05,0.03 -0.08,0.12 -0.04,0.17 0.11,0.16 0.23,0.32 0.34,0.48 z"
+   id="path1690" />
+			<path
+   class="st1"
+   d="m 588.48,226.93 c 0.02,0.04 0.07,0.07 0.12,0.07 0.05,0 0.1,-0.03 0.12,-0.07 0.02,-0.03 0.02,-0.07 0.02,-0.11 0,-0.02 0,-0.04 0.01,-0.06 0,-0.02 0,-0.04 0,-0.06 0,-0.08 -0.01,-0.15 -0.01,-0.23 0,-0.04 -0.01,-0.08 -0.04,-0.1 -0.02,-0.02 -0.06,-0.04 -0.1,-0.04 -0.08,0 -0.14,0.06 -0.14,0.14 v 0.23 c 0,0.04 0,0.08 0.01,0.12 -0.01,0.04 -0.01,0.08 0.01,0.11 z"
+   id="path1692" />
+			<path
+   class="st1"
+   d="m 589.22,224.23 c 0.02,0.05 0.04,0.09 0.06,0.14 0.03,0.06 0.06,0.11 0.1,0.17 0.09,0.12 0.28,0.05 0.25,-0.1 -0.02,-0.06 -0.03,-0.13 -0.05,-0.19 -0.02,-0.05 -0.04,-0.09 -0.07,-0.14 -0.05,-0.1 -0.1,-0.2 -0.15,-0.3 -0.1,-0.2 -0.2,-0.39 -0.3,-0.6 -0.05,-0.11 -0.26,-0.03 -0.21,0.09 0.09,0.21 0.17,0.41 0.24,0.62 0.04,0.11 0.08,0.21 0.13,0.31 z"
+   id="path1694" />
+			<path
+   class="st1"
+   d="m 592.43,221.77 c 0.02,0.02 0.05,0.04 0.07,0.07 0.01,0.01 0.03,0.03 0.04,0.04 0.02,0.02 0.05,0.04 0.08,0.04 0.02,0.01 0.01,0.01 0,0 0.01,0 0.03,0.02 0.03,0.02 0.01,0.01 0.03,0.02 0.04,0.03 0.01,0.01 0.03,0.02 0.04,0.03 0.02,0.01 0.04,0.02 0.07,0.02 0.09,0.02 0.16,-0.05 0.14,-0.14 0,-0.02 -0.01,-0.05 -0.02,-0.07 -0.01,-0.02 -0.02,-0.03 -0.03,-0.04 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 0,-0.01 -0.03,-0.03 -0.03,-0.04 0,0 0,0 0,0 -0.01,-0.03 -0.02,-0.06 -0.05,-0.08 -0.01,-0.01 -0.03,-0.03 -0.04,-0.04 -0.02,-0.02 -0.04,-0.05 -0.07,-0.07 -0.1,-0.1 -0.19,-0.2 -0.29,-0.3 -0.07,-0.07 -0.19,-0.07 -0.26,0 -0.07,0.07 -0.07,0.19 0,0.26 0.12,0.11 0.21,0.21 0.31,0.31 z"
+   id="path1696" />
+			<path
+   class="st1"
+   d="m 593.09,222.92 0.02,0.05 c 0.01,0.02 0.03,0.04 0.04,0.05 0.02,0.02 0.06,0.03 0.09,0.02 0.03,-0.01 0.05,-0.03 0.06,-0.06 0.01,-0.02 0.01,-0.04 0.01,-0.07 l -0.01,-0.05 c 0,-0.03 -0.01,-0.07 -0.01,-0.1 0,-0.02 -0.01,-0.05 -0.02,-0.07 -0.01,-0.02 -0.03,-0.04 -0.05,-0.05 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.01,0.02 -0.02,0.04 -0.02,0.07 0,0.02 0.01,0.05 0.02,0.07 0.02,0.03 0.03,0.06 0.05,0.09 z"
+   id="path1698" />
+			<path
+   class="st1"
+   d="m 596.05,221.09 c 0.04,0.07 0.09,0.12 0.14,0.18 0.06,0.07 0.18,-0.01 0.16,-0.09 -0.02,-0.07 -0.04,-0.14 -0.08,-0.2 -0.03,-0.06 -0.07,-0.13 -0.1,-0.19 -0.07,-0.12 -0.13,-0.25 -0.2,-0.37 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.08,0.11 -0.05,0.18 0.07,0.12 0.14,0.24 0.21,0.36 0.03,0.06 0.07,0.12 0.1,0.18 z"
+   id="path1700" />
+			<path
+   class="st1"
+   d="m 598.81,219.17 c 0.05,0.07 0.1,0.14 0.15,0.21 0.05,0.06 0.1,0.14 0.17,0.18 0.05,0.03 0.14,-0.01 0.13,-0.08 0,-0.03 -0.01,-0.06 -0.02,-0.08 -0.01,-0.02 -0.02,-0.03 -0.02,-0.05 l -0.06,-0.11 c -0.04,-0.07 -0.07,-0.14 -0.12,-0.21 -0.09,-0.14 -0.18,-0.27 -0.27,-0.41 -0.04,-0.06 -0.13,-0.09 -0.19,-0.05 -0.06,0.04 -0.09,0.13 -0.05,0.19 z"
+   id="path1702" />
+			<path
+   class="st1"
+   d="m 599.71,220.6 c 0.15,-0.04 0.09,-0.28 -0.07,-0.24 -0.15,0.04 -0.09,0.28 0.07,0.24 z"
+   id="path1704" />
+			<path
+   class="st1"
+   d="m 602.28,217.28 c 0.05,0.09 0.1,0.19 0.16,0.28 0.03,0.05 0.06,0.09 0.09,0.14 0.02,0.03 0.03,0.06 0.06,0.08 0.03,0.03 0.07,0.04 0.11,0.06 0.08,0.03 0.18,-0.03 0.19,-0.11 0.01,-0.04 0.02,-0.09 0.01,-0.13 -0.01,-0.03 -0.03,-0.06 -0.04,-0.09 -0.02,-0.05 -0.05,-0.1 -0.07,-0.15 -0.05,-0.1 -0.1,-0.19 -0.15,-0.28 -0.11,-0.19 -0.21,-0.38 -0.32,-0.57 -0.05,-0.09 -0.18,-0.13 -0.27,-0.07 -0.09,0.06 -0.12,0.18 -0.07,0.27 z"
+   id="path1706" />
+			<path
+   class="st1"
+   d="m 603.41,219.99 c 0.03,0.12 0.05,0.25 0.14,0.34 0.07,0.07 0.2,0.04 0.23,-0.06 0.02,-0.07 0.01,-0.13 -0.01,-0.2 -0.01,-0.05 -0.03,-0.1 -0.04,-0.15 -0.03,-0.11 -0.07,-0.22 -0.1,-0.33 -0.07,-0.21 -0.13,-0.43 -0.19,-0.65 -0.05,-0.16 -0.29,-0.09 -0.25,0.07 0.05,0.22 0.11,0.44 0.16,0.66 0.01,0.11 0.03,0.21 0.06,0.32 z"
+   id="path1708" />
+			<path
+   class="st1"
+   d="m 606.38,217.51 c 0.08,0.16 0.15,0.32 0.26,0.45 0.12,0.14 0.24,0.25 0.28,0.44 0.03,0.11 0.2,0.03 0.12,-0.07 -0.12,-0.15 -0.14,-0.32 -0.18,-0.5 -0.04,-0.17 -0.13,-0.33 -0.21,-0.48 -0.16,-0.32 -0.33,-0.63 -0.49,-0.95 -0.09,-0.17 -0.34,-0.02 -0.26,0.15 0.17,0.32 0.32,0.64 0.48,0.96 z"
+   id="path1710" />
+			<path
+   class="st1"
+   d="m 609.59,215.56 c 0.09,0.14 0.17,0.3 0.27,0.43 0.05,0.07 0.15,0.11 0.23,0.06 0.08,-0.05 0.1,-0.14 0.06,-0.23 -0.08,-0.15 -0.18,-0.29 -0.27,-0.43 -0.09,-0.14 -0.18,-0.29 -0.27,-0.43 -0.05,-0.07 -0.15,-0.11 -0.23,-0.06 -0.07,0.05 -0.11,0.15 -0.06,0.23 z"
+   id="path1712" />
+			<path
+   class="st1"
+   d="m 610.45,216.75 c 0.14,-0.04 0.08,-0.26 -0.06,-0.22 -0.15,0.04 -0.09,0.26 0.06,0.22 z"
+   id="path1714" />
+			<path
+   class="st1"
+   d="m 613.79,213.87 c 0.1,0.17 0.19,0.36 0.33,0.5 0.1,0.1 0.27,0 0.23,-0.13 -0.05,-0.19 -0.17,-0.36 -0.27,-0.53 l -0.29,-0.5 c -0.04,-0.08 -0.15,-0.1 -0.22,-0.06 -0.08,0.04 -0.1,0.15 -0.06,0.22 0.09,0.16 0.19,0.33 0.28,0.5 z"
+   id="path1716" />
+			<path
+   class="st1"
+   d="m 615.5,213.87 c 0.03,0.04 0.06,0.09 0.09,0.13 0.03,0.04 0.06,0.08 0.1,0.12 0.02,0.02 0.03,0.04 0.05,0.07 0.02,0.03 0.05,0.05 0.08,0.08 0.04,0.03 0.07,0.07 0.11,0.11 0.07,0.06 0.2,0.01 0.17,-0.1 -0.02,-0.06 -0.05,-0.12 -0.07,-0.18 l 0.02,0.07 c -0.01,-0.06 -0.02,-0.1 -0.05,-0.16 -0.02,-0.04 -0.04,-0.08 -0.07,-0.13 -0.05,-0.08 -0.11,-0.16 -0.16,-0.24 -0.11,-0.16 -0.21,-0.32 -0.32,-0.48 -0.05,-0.08 -0.15,-0.11 -0.23,-0.06 -0.08,0.04 -0.11,0.15 -0.06,0.23 0.1,0.19 0.22,0.37 0.34,0.54 z"
+   id="path1718" />
+			<path
+   class="st1"
+   d="m 616.51,215.09 c -0.04,-0.13 -0.09,-0.25 -0.13,-0.38 -0.03,-0.09 -0.13,-0.16 -0.22,-0.13 -0.09,0.03 -0.15,0.12 -0.13,0.22 0.06,0.22 0.13,0.44 0.18,0.67 0.02,0.08 0.09,0.13 0.17,0.15 0.07,0.01 0.17,-0.03 0.2,-0.1 0.02,-0.04 0.04,-0.09 0.05,-0.13 0.02,-0.04 0.02,-0.08 0,-0.12 0,-0.03 0.01,-0.05 0.01,-0.08 0.02,-0.06 -0.06,-0.12 -0.13,-0.1 z"
+   id="path1720" />
+			<path
+   class="st1"
+   d="m 616.54,212.14 c 0.1,0.17 0.2,0.35 0.31,0.52 0.06,0.09 0.11,0.18 0.18,0.27 0.06,0.08 0.13,0.19 0.23,0.22 0.07,0.02 0.14,-0.02 0.16,-0.09 0.03,-0.11 -0.04,-0.21 -0.08,-0.31 -0.04,-0.1 -0.1,-0.19 -0.15,-0.29 -0.1,-0.17 -0.2,-0.35 -0.3,-0.52 -0.05,-0.09 -0.18,-0.13 -0.27,-0.07 -0.1,0.06 -0.13,0.17 -0.08,0.27 z"
+   id="path1722" />
+			<path
+   class="st1"
+   d="m 617.91,214.53 c 0.16,-0.04 0.09,-0.29 -0.07,-0.24 -0.16,0.04 -0.09,0.29 0.07,0.24 z"
+   id="path1724" />
+			<path
+   class="st1"
+   d="m 619.6,211.21 c 0.08,0.16 0.14,0.33 0.28,0.44 0.04,0.04 0.1,0.05 0.16,0.03 0.05,-0.02 0.09,-0.07 0.09,-0.13 0,-0.05 -0.01,-0.11 -0.02,-0.16 -0.02,-0.05 -0.04,-0.09 -0.06,-0.14 -0.04,-0.08 -0.08,-0.15 -0.11,-0.23 l -0.23,-0.46 c -0.04,-0.09 -0.18,-0.12 -0.26,-0.07 -0.09,0.06 -0.12,0.17 -0.07,0.26 0.07,0.15 0.15,0.3 0.22,0.46 z"
+   id="path1726" />
+			<path
+   class="st1"
+   d="m 620.47,212.54 c 0.21,-0.06 0.12,-0.38 -0.09,-0.32 -0.21,0.05 -0.12,0.37 0.09,0.32 z"
+   id="path1728" />
+			<path
+   class="st1"
+   d="m 622.99,208.19 c 0.05,0.1 0.1,0.2 0.16,0.29 l 0.09,0.15 c 0.01,0.02 0.03,0.04 0.04,0.07 0.03,0.04 0.06,0.06 0.09,0.08 0.08,0.06 0.2,-0.02 0.2,-0.12 0,-0.13 -0.08,-0.24 -0.13,-0.36 -0.05,-0.1 -0.1,-0.2 -0.15,-0.3 -0.11,-0.2 -0.22,-0.41 -0.33,-0.61 -0.04,-0.08 -0.16,-0.11 -0.24,-0.06 -0.09,0.05 -0.11,0.16 -0.06,0.24 0.12,0.22 0.23,0.42 0.33,0.62 z"
+   id="path1730" />
+			<path
+   class="st1"
+   d="m 624.03,212.66 c 0.02,0.06 0.06,0.11 0.08,0.17 0.02,0.05 0.05,0.09 0.07,0.13 0.03,0.05 0.05,0.11 0.08,0.16 0.03,0.04 0.12,0.04 0.12,-0.03 0,-0.06 -0.02,-0.11 -0.03,-0.17 -0.01,-0.05 -0.02,-0.1 -0.03,-0.15 -0.01,-0.05 -0.02,-0.11 -0.03,-0.16 -0.02,-0.05 -0.03,-0.11 -0.05,-0.16 -0.07,-0.21 -0.14,-0.42 -0.22,-0.63 -0.03,-0.08 -0.1,-0.13 -0.18,-0.1 -0.07,0.02 -0.13,0.11 -0.1,0.18 0.08,0.21 0.15,0.42 0.23,0.62 0.02,0.04 0.04,0.09 0.06,0.14 z"
+   id="path1732" />
+			<path
+   class="st1"
+   d="m 626.51,212.71 c 0.05,0.1 0.09,0.2 0.15,0.3 0.01,0.02 0.02,0.05 0.04,0.07 0.01,0.02 0.03,0.04 0.05,0.05 0.01,0.01 0.02,0.02 0.04,0.02 0.03,0.03 0.05,0.08 0.1,0.11 0.07,0.06 0.17,0.02 0.18,-0.07 0.01,-0.06 -0.02,-0.12 -0.02,-0.18 0,0.03 0.01,0.03 0.01,-0.01 0.01,-0.03 0,-0.05 0,-0.08 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.04,-0.12 -0.09,-0.23 -0.14,-0.35 -0.09,-0.21 -0.18,-0.42 -0.28,-0.62 -0.04,-0.1 -0.2,-0.13 -0.28,-0.07 -0.1,0.07 -0.12,0.18 -0.07,0.28 0.07,0.22 0.16,0.42 0.25,0.62 z"
+   id="path1734" />
+			<path
+   class="st1"
+   d="m 627.44,206.46 c 0.04,0.09 0.08,0.17 0.12,0.26 l 0.07,0.12 c 0.03,0.06 0.06,0.1 0.12,0.13 0.09,0.06 0.18,-0.02 0.19,-0.11 0.01,-0.1 -0.05,-0.19 -0.08,-0.28 -0.04,-0.1 -0.09,-0.19 -0.13,-0.29 -0.08,-0.17 -0.17,-0.35 -0.25,-0.52 -0.04,-0.08 -0.15,-0.1 -0.22,-0.06 -0.08,0.05 -0.09,0.14 -0.06,0.22 0.08,0.18 0.16,0.36 0.24,0.53 z"
+   id="path1736" />
+			<path
+   class="st1"
+   d="m 628.47,208.34 c 0.01,0.04 0.04,0.08 0.06,0.12 0.03,0.04 0.09,0.08 0.14,0.06 0.06,-0.02 0.09,-0.06 0.09,-0.12 0,-0.05 0.01,-0.09 0,-0.13 -0.01,-0.03 -0.02,-0.07 -0.02,-0.1 -0.02,-0.07 -0.04,-0.13 -0.06,-0.2 -0.02,-0.08 -0.11,-0.13 -0.18,-0.11 -0.08,0.03 -0.13,0.1 -0.11,0.18 0.02,0.07 0.03,0.13 0.05,0.2 z"
+   id="path1738" />
+			<path
+   class="st1"
+   d="m 631.13,205.17 c 0.04,0.04 0.08,0.09 0.12,0.13 0.04,0.05 0.1,0.08 0.15,0.12 0.09,0.06 0.18,0.17 0.29,0.18 0.05,0 0.09,-0.05 0.09,-0.09 0,-0.07 -0.04,-0.12 -0.07,-0.18 -0.03,-0.05 -0.06,-0.09 -0.08,-0.14 -0.06,-0.11 -0.14,-0.2 -0.23,-0.29 -0.16,-0.18 -0.31,-0.35 -0.47,-0.53 -0.07,-0.08 -0.21,-0.07 -0.28,0 -0.08,0.08 -0.07,0.2 0,0.28 0.16,0.17 0.32,0.35 0.48,0.52 z"
+   id="path1740" />
+			<path
+   class="st1"
+   d="m 632.41,207.18 c 0.01,0.03 0.01,0.06 0.02,0.09 0.01,0.04 0.04,0.08 0.06,0.11 0.06,0.1 0.22,0.06 0.22,-0.06 0,-0.04 0,-0.08 -0.01,-0.13 -0.01,-0.03 -0.02,-0.06 -0.03,-0.09 -0.02,-0.07 -0.04,-0.13 -0.06,-0.2 -0.04,-0.13 -0.07,-0.26 -0.11,-0.39 -0.02,-0.07 -0.09,-0.12 -0.16,-0.09 -0.07,0.02 -0.11,0.09 -0.09,0.16 0.03,0.13 0.07,0.26 0.1,0.39 0.02,0.08 0.04,0.15 0.06,0.21 z"
+   id="path1742" />
+			<path
+   class="st1"
+   d="m 633.59,203.7 c 0.12,0.18 0.23,0.37 0.38,0.53 0.05,0.05 0.14,0.06 0.21,0.03 0.06,-0.03 0.11,-0.12 0.08,-0.19 -0.04,-0.1 -0.09,-0.2 -0.15,-0.29 -0.06,-0.09 -0.12,-0.18 -0.18,-0.26 -0.12,-0.17 -0.24,-0.35 -0.36,-0.52 -0.05,-0.08 -0.15,-0.11 -0.24,-0.06 -0.08,0.05 -0.11,0.16 -0.06,0.24 0.1,0.16 0.21,0.34 0.32,0.52 z"
+   id="path1744" />
+			<path
+   class="st1"
+   d="m 637.27,202.39 c 0.12,0.21 0.23,0.42 0.34,0.63 0.11,0.22 0.21,0.45 0.36,0.65 0.16,0.21 0.26,0.41 0.33,0.66 0.03,0.12 0.07,0.23 0.1,0.34 0.04,0.12 0.06,0.25 0.13,0.36 0.09,0.13 0.34,0.1 0.33,-0.09 -0.02,-0.24 -0.17,-0.49 -0.29,-0.7 -0.13,-0.23 -0.23,-0.45 -0.29,-0.7 -0.13,-0.48 -0.45,-0.92 -0.73,-1.33 -0.11,-0.17 -0.39,-0.01 -0.28,0.18 z"
+   id="path1746" />
+			<path
+   class="st1"
+   d="m 642.42,201.47 c 0,0 -0.01,-0.01 0,0 -0.01,-0.01 -0.01,0 -0.02,0 0.01,-0.01 0.01,-0.01 0.02,0 z"
+   id="path1748" />
+			<path
+   class="st1"
+   d="m 642.38,201.46 c 0.01,0 0.01,0 0.02,0 -0.02,-0.01 -0.04,-0.01 -0.06,-0.02 0.02,0.01 0.03,0.02 0.04,0.02 z"
+   id="path1750" />
+			<path
+   class="st1"
+   d="m 641.97,200.98 c 0.06,0.08 0.11,0.17 0.17,0.25 0.03,0.04 0.06,0.08 0.09,0.12 0.05,0.07 0.1,0.1 0.18,0.11 0.08,0.02 0.17,-0.02 0.16,-0.11 0,-0.02 0,-0.02 0,-0.01 0,-0.02 0.01,-0.04 0.01,-0.06 0,-0.04 -0.02,-0.07 -0.04,-0.11 -0.03,-0.04 -0.05,-0.08 -0.08,-0.13 -0.06,-0.08 -0.12,-0.16 -0.18,-0.25 -0.12,-0.16 -0.24,-0.33 -0.36,-0.49 -0.05,-0.07 -0.15,-0.11 -0.23,-0.06 -0.07,0.04 -0.11,0.15 -0.06,0.23 0.11,0.18 0.22,0.35 0.34,0.51 z"
+   id="path1752" />
+			<path
+   class="st1"
+   d="m 642.83,202.23 c 0.02,0.03 0.04,0.06 0.06,0.08 0.03,0.04 0.09,0.05 0.13,0.03 0.04,-0.01 0.09,-0.05 0.1,-0.1 0.01,-0.03 0.01,-0.07 0.01,-0.1 0,-0.04 -0.01,-0.07 -0.02,-0.11 -0.01,-0.05 -0.03,-0.09 -0.04,-0.14 -0.01,-0.04 -0.04,-0.08 -0.07,-0.1 -0.03,-0.02 -0.08,-0.03 -0.12,-0.02 -0.04,0.01 -0.08,0.04 -0.1,0.07 -0.02,0.04 -0.03,0.08 -0.02,0.12 0.01,0.05 0.02,0.1 0.03,0.14 0.02,0.07 0.02,0.11 0.04,0.13 z"
+   id="path1754" />
+			<path
+   class="st1"
+   d="m 645.15,199.35 c 0.06,0.08 0.13,0.16 0.2,0.23 0.03,0.03 0.06,0.07 0.09,0.1 0.04,0.04 0.09,0.06 0.14,0.08 0.06,0.02 0.13,-0.03 0.13,-0.1 0,-0.06 -0.01,-0.1 -0.03,-0.15 -0.02,-0.04 -0.05,-0.08 -0.07,-0.12 -0.05,-0.08 -0.1,-0.16 -0.15,-0.23 -0.11,-0.15 -0.22,-0.3 -0.33,-0.45 -0.06,-0.08 -0.16,-0.12 -0.25,-0.06 -0.07,0.05 -0.12,0.17 -0.06,0.25 0.1,0.15 0.21,0.3 0.33,0.45 z"
+   id="path1756" />
+			<path
+   class="st1"
+   d="m 646.05,200.56 c -0.03,0.01 -0.06,0.03 -0.08,0.06 -0.01,0.03 -0.02,0.06 -0.01,0.09 0.01,0.03 0.03,0.06 0.06,0.08 0.04,0.02 0.08,0.05 0.13,0.07 0.03,0.02 0.06,0.02 0.09,0.03 0.01,0 0.02,0.01 0.03,0.01 0.02,0 0.04,0 0.05,0.01 0.06,0 0.11,-0.08 0.07,-0.13 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.01,-0.01 -0.02,-0.02 -0.02,-0.02 -0.02,-0.02 -0.05,-0.05 -0.08,-0.06 -0.04,-0.02 -0.08,-0.05 -0.12,-0.07 -0.02,-0.03 -0.06,-0.04 -0.09,-0.03 z"
+   id="path1758" />
+			<path
+   class="st1"
+   d="m 648.08,198.46 c 0.04,0.05 0.09,0.11 0.13,0.16 0.01,0.01 0.02,0.02 0.03,0.04 0.02,0.02 0.04,0.03 0.06,0.05 0.01,0.01 0.05,0.04 0.06,0.06 0.04,0.04 0.1,0.04 0.14,0.01 0.04,-0.04 0.05,-0.09 0.03,-0.14 -0.03,-0.07 -0.05,-0.13 -0.1,-0.2 -0.04,-0.06 -0.07,-0.12 -0.11,-0.17 -0.08,-0.12 -0.16,-0.23 -0.25,-0.35 -0.05,-0.07 -0.14,-0.11 -0.22,-0.06 -0.07,0.04 -0.11,0.15 -0.06,0.22 0.1,0.13 0.19,0.26 0.29,0.38 z"
+   id="path1760" />
+			<path
+   class="st1"
+   d="m 648.82,199.72 c -0.13,0.04 -0.08,0.24 0.06,0.21 0.13,-0.04 0.08,-0.25 -0.06,-0.21 z"
+   id="path1762" />
+			<path
+   class="st1"
+   d="m 650.79,196.73 c 0.04,0.09 0.07,0.18 0.12,0.26 0.05,0.1 0.1,0.22 0.2,0.28 0.1,0.06 0.27,0.01 0.29,-0.12 0.01,-0.05 0.01,-0.09 0,-0.14 -0.01,-0.02 -0.02,-0.05 -0.03,-0.07 -0.02,-0.04 -0.03,-0.08 -0.05,-0.12 -0.04,-0.1 -0.1,-0.2 -0.15,-0.3 -0.09,-0.17 -0.18,-0.34 -0.27,-0.51 -0.05,-0.09 -0.18,-0.13 -0.27,-0.07 -0.1,0.06 -0.11,0.17 -0.07,0.27 0.08,0.17 0.16,0.35 0.23,0.52 z"
+   id="path1764" />
+			<path
+   class="st1"
+   d="m 651.81,198.83 c 0.01,0 0.03,0.01 0.04,0.01 0.01,0 0.03,0 0.04,-0.01 l 0.04,-0.02 c 0.02,-0.01 0.03,-0.02 0.04,-0.04 0.02,-0.03 0.03,-0.06 0.03,-0.09 0,-0.03 0,-0.06 0,-0.09 0,-0.03 0,-0.07 -0.01,-0.1 0,-0.06 -0.01,-0.13 -0.01,-0.19 0,-0.04 -0.01,-0.08 -0.04,-0.1 -0.02,-0.02 -0.06,-0.04 -0.1,-0.04 -0.08,0 -0.14,0.06 -0.14,0.14 0,0.06 0,0.13 0,0.19 0,0.03 0,0.06 0,0.09 0,0.03 0,0.07 0,0.1 0,0.04 0.01,0.07 0.03,0.1 0.02,0.02 0.05,0.04 0.08,0.05 z"
+   id="path1766" />
+			<path
+   class="st1"
+   d="m 654.94,194.5 0.15,0.26 c 0.06,0.11 0.13,0.23 0.27,0.24 0.05,0 0.11,-0.03 0.13,-0.07 0.06,-0.13 -0.01,-0.25 -0.08,-0.36 -0.05,-0.09 -0.1,-0.18 -0.16,-0.26 -0.1,-0.18 -0.21,-0.35 -0.31,-0.53 -0.05,-0.08 -0.17,-0.12 -0.25,-0.06 -0.08,0.05 -0.11,0.16 -0.06,0.25 0.1,0.18 0.2,0.35 0.31,0.53 z"
+   id="path1768" />
+			<path
+   class="st1"
+   d="m 521.93,268.48 c -0.02,-0.15 -0.03,-0.3 -0.05,-0.44 -0.03,-0.3 -0.07,-0.59 -0.1,-0.89 -0.01,-0.09 -0.16,-0.1 -0.15,0 0.03,0.3 0.05,0.6 0.08,0.9 0.01,0.15 0.03,0.3 0.04,0.44 0.01,0.07 0.01,0.15 0.02,0.22 0.01,0.07 0.01,0.15 0.04,0.21 0.04,0.06 0.12,0.04 0.14,-0.02 0.02,-0.07 0.01,-0.15 0,-0.22 -0.01,-0.07 -0.02,-0.13 -0.02,-0.2 z"
+   id="path1770" />
+			<path
+   class="st1"
+   d="m 523.29,271.17 c 0.04,0.05 0.12,0.02 0.14,-0.04 0.02,-0.07 0,-0.14 -0.02,-0.21 -0.01,-0.07 -0.03,-0.13 -0.04,-0.2 -0.03,-0.15 -0.06,-0.3 -0.1,-0.45 -0.06,-0.29 -0.13,-0.59 -0.19,-0.88 -0.02,-0.07 -0.12,-0.04 -0.11,0.03 0.05,0.3 0.1,0.59 0.15,0.89 0.02,0.15 0.05,0.29 0.07,0.44 0.01,0.07 0.02,0.15 0.04,0.22 0.01,0.08 0.01,0.14 0.06,0.2 z"
+   id="path1772" />
+			<path
+   class="st1"
+   d="m 529.02,270.4 c 0.01,0.04 0.03,0.09 0.05,0.13 0.02,0.06 0.11,0.04 0.1,-0.03 -0.01,-0.05 -0.01,-0.09 -0.02,-0.13 -0.01,-0.04 -0.02,-0.08 -0.04,-0.13 -0.02,-0.09 -0.05,-0.17 -0.07,-0.26 -0.02,-0.07 -0.13,-0.04 -0.11,0.03 0.02,0.09 0.04,0.17 0.07,0.26 z"
+   id="path1774" />
+			<path
+   class="st1"
+   d="m 513.8,277.75 c -0.18,-0.38 -0.33,-0.77 -0.49,-1.16 -0.02,-0.05 -0.1,-0.03 -0.08,0.02 0.15,0.39 0.29,0.78 0.43,1.17 0.06,0.19 0.13,0.39 0.2,0.58 0.07,0.18 0.12,0.39 0.24,0.53 0.04,0.05 0.13,0.01 0.13,-0.05 -0.01,-0.19 -0.11,-0.38 -0.19,-0.55 -0.08,-0.18 -0.16,-0.36 -0.24,-0.54 z"
+   id="path1776" />
+			<path
+   class="st1"
+   d="m 517.36,279.52 c 0.02,0.03 0.03,0.05 0.05,0.07 0.02,0.02 0.04,0.04 0.06,0.05 0.05,0.03 0.12,-0.01 0.12,-0.07 0,-0.1 -0.07,-0.2 -0.11,-0.29 -0.04,-0.08 -0.09,-0.17 -0.14,-0.25 -0.03,-0.05 -0.1,-0.07 -0.15,-0.04 -0.05,0.03 -0.07,0.1 -0.04,0.15 0.05,0.08 0.09,0.17 0.14,0.25 0.02,0.06 0.05,0.1 0.07,0.13 z"
+   id="path1778" />
+			<path
+   class="st1"
+   d="m 520.3,277.71 c 0.02,0 0.04,-0.01 0.06,-0.01 0.04,-0.01 0.07,-0.03 0.09,-0.06 0,0 0.01,0 0.01,-0.01 0.03,-0.02 0.05,-0.06 0.04,-0.1 -0.01,-0.04 -0.04,-0.06 -0.08,-0.06 0,0 -0.01,0 -0.01,0 -0.03,-0.02 -0.07,-0.02 -0.11,-0.01 -0.02,0.01 -0.04,0.01 -0.06,0.02 l -0.11,0.04 c -0.03,0.01 -0.05,0.03 -0.07,0.05 -0.01,0.02 -0.02,0.06 -0.01,0.09 0.02,0.06 0.08,0.09 0.14,0.08 0.03,-0.01 0.07,-0.02 0.11,-0.03 z"
+   id="path1780" />
+			<path
+   class="st1"
+   d="m 521.94,277.1 c -0.06,0.02 -0.03,0.11 0.02,0.09 0.06,-0.02 0.04,-0.11 -0.02,-0.09 z"
+   id="path1782" />
+			<path
+   class="st1"
+   d="m 523.79,275.79 c 0.3,-0.08 0.17,-0.54 -0.12,-0.46 -0.3,0.08 -0.18,0.54 0.12,0.46 z"
+   id="path1784" />
+			<path
+   class="st1"
+   d="m 499.92,280.86 c -0.15,-0.49 -0.25,-0.99 -0.3,-1.49 -0.11,-1 0,-2 0.36,-2.95 0.06,-0.16 -0.19,-0.22 -0.25,-0.07 -0.39,0.98 -0.55,2.08 -0.41,3.13 0.07,0.5 0.21,0.99 0.41,1.46 0.2,0.46 0.44,1 0.78,1.36 0.04,0.04 0.1,-0.01 0.07,-0.06 -0.11,-0.22 -0.26,-0.42 -0.37,-0.64 -0.11,-0.24 -0.21,-0.48 -0.29,-0.74 z"
+   id="path1786" />
+			<path
+   class="st1"
+   d="m 501.87,279.31 c -0.12,0.03 -0.07,0.21 0.05,0.18 0.12,-0.03 0.07,-0.21 -0.05,-0.18 z"
+   id="path1788" />
+			<path
+   class="st1"
+   d="m 508.93,278.42 c 0.11,-0.03 0.06,-0.2 -0.05,-0.17 -0.11,0.02 -0.06,0.2 0.05,0.17 z"
+   id="path1790" />
+			<path
+   class="st1"
+   d="m 509.78,275.52 c -0.14,-0.81 -0.28,-1.61 -0.42,-2.42 -0.03,-0.18 -0.3,-0.1 -0.27,0.07 0.12,0.81 0.24,1.62 0.36,2.43 0.06,0.4 0.13,0.81 0.19,1.21 0.06,0.37 0.11,0.77 0.27,1.12 0.04,0.09 0.16,0.03 0.16,-0.04 0.04,-0.38 -0.05,-0.79 -0.1,-1.16 -0.06,-0.4 -0.12,-0.81 -0.19,-1.21 z"
+   id="path1792" />
+			<path
+   class="st1"
+   d="m 480.29,294.18 c -0.02,-0.01 -0.05,-0.01 -0.07,0.01 -0.02,0.02 -0.02,0.04 -0.01,0.06 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0 -0.01,0.01 -0.02,0.01 0,0 0,0 -0.01,0 0,0 0,0 0,0 -0.01,0 -0.02,0 -0.03,0 0,0 0,0 0,0 0,0 0.01,0 0.01,0 0,0 -0.01,0 -0.01,0 0,-0.01 0,-0.02 -0.01,-0.03 -0.01,-0.02 -0.03,-0.04 -0.06,-0.04 -0.02,-0.01 -0.05,0 -0.07,0.01 -0.02,0.01 -0.04,0.03 -0.04,0.06 0,0.03 -0.01,0.06 0,0.09 0.01,0.02 0.02,0.05 0.04,0.07 0.04,0.03 0.08,0.05 0.13,0.04 0.01,0 0.03,0 0.04,-0.01 0.01,0 0.03,-0.01 0.04,-0.02 0.01,-0.01 0.02,-0.01 0.04,-0.02 0.02,-0.01 0.03,-0.02 0.05,-0.04 0.02,-0.02 0.03,-0.04 0.04,-0.06 0.01,-0.03 0,-0.06 -0.01,-0.09 0,-0.02 -0.02,-0.04 -0.04,-0.05 z"
+   id="path1794" />
+			<path
+   class="st1"
+   d="m 489.06,287.01 c -0.01,-0.07 -0.09,-0.1 -0.15,-0.09 -0.07,0.02 -0.1,0.08 -0.09,0.15 0.03,0.18 0.05,0.35 0.07,0.53 0.02,0.18 0.04,0.36 0.09,0.53 0.04,0.11 0.2,0.09 0.2,-0.03 0.01,-0.18 -0.03,-0.37 -0.06,-0.55 -0.01,-0.18 -0.03,-0.36 -0.06,-0.54 z"
+   id="path1796" />
+			<path
+   class="st1"
+   d="m 490.04,286.76 c -0.07,-0.02 -0.15,0.02 -0.17,0.1 -0.02,0.1 -0.04,0.2 -0.05,0.3 -0.01,0.05 -0.02,0.1 -0.03,0.15 0,0.02 -0.01,0.05 -0.01,0.07 -0.01,0.04 0,0.06 0,0.1 0.01,0.05 0.03,0.09 0.08,0.1 0.05,0.01 0.09,-0.01 0.12,-0.05 0.02,-0.03 0.03,-0.05 0.04,-0.08 0.01,-0.02 0.01,-0.05 0.02,-0.07 l 0.03,-0.15 c 0.02,-0.1 0.04,-0.2 0.07,-0.3 0.01,-0.07 -0.02,-0.15 -0.1,-0.17 z"
+   id="path1798" />
+			<path
+   class="st1"
+   d="m 492.95,287.23 c 0.03,0 0.06,-0.01 0.09,-0.02 0.04,-0.02 0.08,-0.04 0.12,-0.06 0.02,-0.01 0.04,-0.02 0.06,-0.03 0.03,-0.01 0.05,-0.03 0.07,-0.05 0.01,-0.01 0.02,-0.03 0.03,-0.05 0,-0.02 0,-0.04 0,-0.06 -0.01,-0.02 -0.01,-0.03 -0.03,-0.05 -0.01,-0.01 -0.03,-0.02 -0.05,-0.03 -0.03,0 -0.06,-0.01 -0.09,-0.01 -0.02,0 -0.04,0 -0.07,0 -0.04,0 -0.09,0.01 -0.13,0.01 -0.03,0 -0.06,0.01 -0.09,0.02 -0.03,0.02 -0.05,0.04 -0.06,0.06 -0.02,0.04 -0.03,0.08 -0.02,0.13 0.01,0.04 0.04,0.08 0.08,0.1 0.03,0.03 0.06,0.04 0.09,0.04 z"
+   id="path1800" />
+			<path
+   class="st1"
+   d="m 493.96,285.62 c 0,0.07 0.02,0.13 0.04,0.19 0.01,0.06 0.07,0.09 0.13,0.09 0.06,-0.01 0.1,-0.06 0.11,-0.12 0.01,-0.06 0.01,-0.11 0.01,-0.17 0,-0.06 -0.01,-0.11 -0.01,-0.17 l -0.02,-0.34 c 0,-0.08 -0.06,-0.15 -0.15,-0.15 -0.08,0 -0.16,0.07 -0.15,0.15 0.01,0.11 0.02,0.23 0.03,0.34 0,0.07 0.01,0.12 0.01,0.18 z"
+   id="path1802" />
+			<path
+   class="st1"
+   d="m 495.18,286.7 c 0,-0.03 -0.01,-0.06 -0.02,-0.09 -0.01,-0.05 -0.03,-0.09 -0.04,-0.14 -0.03,-0.1 -0.05,-0.2 -0.08,-0.3 -0.05,-0.2 -0.11,-0.4 -0.16,-0.6 -0.04,-0.15 -0.28,-0.09 -0.24,0.06 0.05,0.2 0.11,0.4 0.16,0.6 0.03,0.1 0.05,0.2 0.08,0.3 0.01,0.05 0.03,0.09 0.04,0.14 0.01,0.02 0.01,0.05 0.02,0.07 0.01,0.04 0.04,0.06 0.06,0.09 0.05,0.06 0.17,0.03 0.18,-0.05 0,-0.02 0,-0.05 0,-0.08 z"
+   id="path1804" />
+			<path
+   class="st1"
+   d="m 476.88,296.96 -0.19,-0.68 c -0.04,-0.15 -0.27,-0.09 -0.23,0.06 l 0.18,0.68 c 0.03,0.11 0.06,0.22 0.09,0.33 0.02,0.06 0.03,0.12 0.05,0.17 0.02,0.06 0.04,0.12 0.1,0.15 0.05,0.03 0.11,0.01 0.13,-0.04 0.03,-0.06 0.02,-0.12 0.01,-0.18 -0.01,-0.06 -0.03,-0.12 -0.04,-0.18 -0.04,-0.09 -0.07,-0.2 -0.1,-0.31 z"
+   id="path1806" />
+			<path
+   class="st1"
+   d="m 530.5,262.22 c 0.03,-0.04 0.03,-0.09 0.04,-0.14 0,-0.04 0.01,-0.07 0.01,-0.11 -0.01,-0.08 -0.02,-0.16 -0.03,-0.25 -0.02,-0.16 -0.04,-0.32 -0.06,-0.49 -0.01,-0.08 -0.06,-0.15 -0.15,-0.15 -0.07,0 -0.16,0.06 -0.15,0.15 0.02,0.16 0.04,0.33 0.06,0.49 0.01,0.08 0.02,0.16 0.03,0.24 0.01,0.09 0.04,0.21 0.11,0.27 0.04,0.05 0.1,0.04 0.14,-0.01 z"
+   id="path1808" />
+			<path
+   class="st1"
+   d="m 531.8,260.85 c 0.01,0.03 0.02,0.07 0.03,0.1 0.02,0.07 0.08,0.11 0.15,0.1 0.07,-0.01 0.13,-0.07 0.12,-0.14 0,-0.03 -0.01,-0.07 -0.01,-0.1 0,-0.04 -0.01,-0.09 -0.02,-0.13 -0.01,-0.06 -0.03,-0.13 -0.04,-0.19 -0.02,-0.08 -0.11,-0.13 -0.19,-0.11 -0.04,0.01 -0.07,0.04 -0.09,0.07 -0.02,0.04 -0.02,0.07 -0.01,0.12 0.01,0.06 0.02,0.13 0.04,0.19 0,0.03 0.01,0.06 0.02,0.09 z"
+   id="path1810" />
+			<path
+   class="st1"
+   d="m 533.85,261.45 -0.05,-0.05 c 0.03,0.05 0.06,0.1 0.11,0.14 0.06,0.05 0.14,0.02 0.15,-0.06 0,-0.04 0,-0.07 -0.01,-0.1 0,-0.03 0,-0.06 0,-0.09 -0.01,-0.06 -0.04,-0.13 -0.05,-0.19 -0.03,-0.11 -0.05,-0.23 -0.06,-0.34 -0.02,-0.24 -0.01,-0.49 0.04,-0.73 0.04,-0.17 -0.22,-0.24 -0.26,-0.07 -0.06,0.24 -0.08,0.5 -0.07,0.75 0.01,0.12 0.02,0.25 0.05,0.37 0.02,0.13 0.04,0.3 0.15,0.37 z"
+   id="path1812" />
+			<path
+   class="st1"
+   d="m 535.53,261.11 c 0.01,0.1 0,0.23 0.1,0.29 0.05,0.03 0.11,0.02 0.14,-0.02 0.08,-0.08 0.04,-0.19 0.03,-0.28 -0.01,-0.09 -0.03,-0.18 -0.04,-0.26 -0.02,-0.17 -0.05,-0.33 -0.07,-0.5 -0.01,-0.06 -0.08,-0.1 -0.14,-0.09 -0.06,0.01 -0.11,0.06 -0.11,0.12 0.02,0.17 0.03,0.34 0.05,0.5 0.02,0.07 0.03,0.16 0.04,0.24 z"
+   id="path1814" />
+			<path
+   class="st1"
+   d="m 532.3,263.78 c 0.01,0.09 0.01,0.17 0.02,0.26 0.01,0.09 0.02,0.17 0.06,0.26 0.06,0.12 0.23,0.07 0.26,-0.04 0.05,-0.15 0.02,-0.32 0.02,-0.48 0,-0.16 -0.02,-0.33 -0.03,-0.49 l -0.06,-0.97 c -0.01,-0.22 -0.36,-0.23 -0.35,0 0.01,0.33 0.03,0.66 0.04,0.99 0.02,0.16 0.03,0.32 0.04,0.47 z"
+   id="path1816" />
+			<path
+   class="st1"
+   d="m 548.46,258.96 c -0.06,-0.31 -0.13,-0.62 -0.19,-0.93 -0.03,-0.15 -0.25,-0.08 -0.22,0.06 0.06,0.31 0.12,0.62 0.18,0.93 0.03,0.16 0.06,0.31 0.09,0.47 0.01,0.07 0.03,0.14 0.04,0.22 0.02,0.09 0.04,0.15 0.08,0.23 0.04,0.08 0.15,0.03 0.16,-0.04 0.02,-0.16 -0.03,-0.31 -0.06,-0.46 -0.01,-0.17 -0.05,-0.33 -0.08,-0.48 z"
+   id="path1818" />
+			<path
+   class="st1"
+   d="m 549.28,262.42 c -0.06,-0.12 -0.12,-0.25 -0.18,-0.37 -0.03,-0.06 -0.12,-0.08 -0.17,-0.04 -0.06,0.04 -0.07,0.11 -0.04,0.17 0.06,0.12 0.11,0.25 0.17,0.37 0.03,0.06 0.05,0.12 0.08,0.18 0.03,0.06 0.07,0.12 0.1,0.18 0.03,0.05 0.09,0.07 0.14,0.05 0.05,-0.02 0.08,-0.08 0.06,-0.13 -0.02,-0.07 -0.04,-0.14 -0.07,-0.21 -0.04,-0.08 -0.07,-0.14 -0.09,-0.2 z"
+   id="path1820" />
+			<path
+   class="st1"
+   d="m 550.33,252.66 c -0.3,0.67 -0.48,1.37 -0.54,2.1 -0.03,0.36 -0.03,0.71 0.01,1.07 0.02,0.18 0.04,0.36 0.08,0.54 0.04,0.18 0.07,0.39 0.18,0.53 0.1,0.14 0.28,0.08 0.3,-0.08 0.02,-0.16 -0.03,-0.34 -0.06,-0.5 -0.03,-0.17 -0.05,-0.35 -0.07,-0.52 -0.03,-0.33 -0.03,-0.67 -0.01,-1.01 0.04,-0.68 0.2,-1.36 0.45,-2 0.07,-0.19 -0.26,-0.32 -0.34,-0.13 z"
+   id="path1822" />
+			<path
+   class="st1"
+   d="m 550.75,259.87 c 0.04,-0.01 0.02,-0.07 -0.02,-0.06 -0.03,0.01 -0.02,0.07 0.02,0.06 z"
+   id="path1824" />
+			<path
+   class="st1"
+   d="m 551.49,262.8 c -0.01,-0.04 -0.02,-0.09 -0.04,-0.13 -0.01,-0.04 -0.05,-0.07 -0.09,-0.05 -0.04,0.01 -0.06,0.05 -0.05,0.09 0.01,0.04 0.02,0.09 0.03,0.13 0.01,0.02 0.02,0.04 0.02,0.06 0.01,0.02 0.02,0.04 0.02,0.06 0.01,0.02 0.01,0.03 0.03,0.04 0.01,0.01 0.03,0.01 0.05,0.01 0.04,-0.01 0.05,-0.04 0.05,-0.08 0,-0.02 -0.01,-0.04 -0.01,-0.07 0,-0.01 0,-0.04 -0.01,-0.06 z"
+   id="path1826" />
+			<path
+   class="st1"
+   d="m 554.09,261.45 c -0.01,-0.09 -0.02,-0.18 -0.05,-0.27 -0.05,-0.19 -0.09,-0.38 -0.14,-0.57 -0.1,-0.38 -0.21,-0.76 -0.31,-1.13 -0.06,-0.22 -0.4,-0.13 -0.35,0.09 0.1,0.38 0.2,0.76 0.3,1.14 0.05,0.19 0.11,0.38 0.17,0.56 0.03,0.09 0.06,0.17 0.1,0.25 0.04,0.09 0.06,0.18 0.12,0.25 0.05,0.06 0.16,0.03 0.17,-0.05 0.03,-0.08 0,-0.17 -0.01,-0.27 z"
+   id="path1828" />
+			<path
+   class="st1"
+   d="m 555.16,256.79 c 0,-0.08 0.01,-0.16 0,-0.24 -0.02,-0.16 -0.04,-0.32 -0.06,-0.48 -0.01,-0.07 -0.05,-0.14 -0.14,-0.14 -0.07,0 -0.14,0.06 -0.14,0.13 0.02,0.16 0.04,0.32 0.05,0.48 0.01,0.08 0.04,0.17 0.06,0.25 0.02,0.08 0.03,0.16 0.06,0.23 0.01,0.03 0.04,0.06 0.08,0.06 0.03,0 0.07,-0.02 0.08,-0.06 0.02,-0.07 0.01,-0.15 0.01,-0.23 z"
+   id="path1830" />
+			<path
+   class="st1"
+   d="m 555.41,258.76 c 0.05,-0.01 0.03,-0.1 -0.02,-0.08 -0.05,0.01 -0.03,0.09 0.02,0.08 z"
+   id="path1832" />
+			<path
+   class="st1"
+   d="m 557.92,257.83 c -0.08,0.02 -0.05,0.15 0.03,0.12 0.08,-0.02 0.05,-0.14 -0.03,-0.12 z"
+   id="path1834" />
+			<path
+   class="st1"
+   d="m 562.36,254.06 c -0.08,-0.25 -0.14,-0.5 -0.22,-0.75 -0.03,-0.09 -0.17,-0.05 -0.14,0.04 0.06,0.25 0.13,0.5 0.19,0.76 0.03,0.12 0.06,0.24 0.08,0.37 0.03,0.13 0.04,0.27 0.06,0.4 0.03,0.19 0.35,0.1 0.28,-0.08 -0.05,-0.12 -0.11,-0.24 -0.15,-0.37 -0.03,-0.12 -0.07,-0.25 -0.1,-0.37 z"
+   id="path1836" />
+			<path
+   class="st1"
+   d="m 564.6,253.46 c 0.03,0.13 0.21,0.09 0.22,-0.03 0.02,-0.25 -0.03,-0.5 -0.05,-0.74 -0.03,-0.25 -0.06,-0.49 -0.08,-0.74 -0.01,-0.12 -0.21,-0.13 -0.2,0 l 0.04,0.76 c 0.01,0.25 0.01,0.51 0.07,0.75 z"
+   id="path1838" />
+			<path
+   class="st1"
+   d="m 563.19,248.68 c -0.02,-0.33 -0.01,-0.67 0.05,-1 0.02,-0.11 -0.15,-0.15 -0.16,-0.04 -0.05,0.35 -0.07,0.7 -0.05,1.04 0.01,0.17 0.03,0.33 0.06,0.49 0.03,0.18 0.09,0.35 0.16,0.53 0.02,0.06 0.1,0.04 0.09,-0.02 -0.04,-0.17 -0.06,-0.34 -0.09,-0.51 -0.03,-0.16 -0.05,-0.33 -0.06,-0.49 z"
+   id="path1840" />
+			<path
+   class="st1"
+   d="m 568.47,250.8 c 0.01,0.07 0.01,0.15 0.02,0.22 0.03,0.14 0.23,0.1 0.24,-0.03 0,-0.07 -0.01,-0.13 -0.02,-0.2 -0.01,-0.07 -0.02,-0.13 -0.02,-0.2 -0.02,-0.13 -0.03,-0.26 -0.05,-0.39 -0.01,-0.06 -0.04,-0.11 -0.11,-0.11 -0.05,0 -0.11,0.05 -0.11,0.11 0.01,0.13 0.02,0.27 0.03,0.4 0.01,0.07 0.01,0.13 0.02,0.2 z"
+   id="path1842" />
+			<path
+   class="st1"
+   d="m 570.49,250.27 c 0.01,0.03 0.03,0.06 0.05,0.08 0.02,0.02 0.04,0.04 0.06,0.05 0.03,0.01 0.07,0 0.09,-0.02 0.02,-0.02 0.03,-0.04 0.03,-0.07 0,-0.03 0.01,-0.06 0,-0.09 -0.01,-0.03 -0.02,-0.07 -0.03,-0.1 -0.02,-0.07 -0.04,-0.13 -0.07,-0.2 -0.02,-0.05 -0.07,-0.09 -0.12,-0.07 -0.05,0.02 -0.08,0.07 -0.07,0.12 0.01,0.07 0.03,0.14 0.04,0.21 0,0.02 0.01,0.06 0.02,0.09 z"
+   id="path1844" />
+			<path
+   class="st1"
+   d="m 572.46,248.26 c 0.03,-0.04 0.06,-0.08 0.1,-0.12 0.03,-0.04 0.07,-0.08 0.1,-0.13 0.01,-0.02 0.01,-0.04 -0.01,-0.05 -0.02,-0.01 -0.03,-0.01 -0.05,-0.01 -0.04,0.02 -0.08,0.05 -0.13,0.07 -0.04,0.03 -0.08,0.05 -0.12,0.08 -0.05,0.03 -0.06,0.1 -0.03,0.14 0.02,0.02 0.04,0.03 0.06,0.04 0.03,0.01 0.06,0 0.08,-0.02 z"
+   id="path1846" />
+			<path
+   class="st1"
+   d="m 576.33,245.85 c 0.01,0.01 0.02,0.02 0.04,0.02 0.01,0 0.01,0.01 0.02,0.01 0.01,0 0.02,0.01 0.02,0.01 0,0 0.01,0 0.01,0 0.01,0 0.01,0.01 0.02,0.01 0.01,0.01 0.03,0.01 0.04,0.02 0.01,0 0.01,0.01 0.02,0.01 0,0 0.01,0 0.01,0 0,0 0,0 0,0 0.01,0 0.01,0 0.02,0 0.01,0 0.01,0 0.02,0 0.03,0 0.05,-0.01 0.07,-0.02 0.02,-0.01 0.04,-0.03 0.05,-0.05 0.01,-0.02 0.02,-0.04 0.02,-0.07 0,-0.02 -0.01,-0.05 -0.02,-0.07 0,0 0,0 0,0 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 0,0 0,0 0,0 0,0 -0.01,0 -0.01,-0.01 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,0 -0.01,-0.01 -0.02,-0.01 0,0 -0.01,0 -0.01,-0.01 0,0 0,0 -0.01,0 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.03,-0.01 -0.04,-0.02 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0 -0.06,0 -0.02,0 -0.04,0.01 -0.05,0.03 -0.02,0.01 -0.03,0.03 -0.04,0.04 -0.01,0.01 -0.01,0.02 -0.02,0.04 -0.01,0.03 -0.01,0.05 0,0.08 0.01,0.01 0.01,0.03 0.02,0.04 0.02,0.04 0.04,0.06 0.06,0.07 z"
+   id="path1848" />
+			<path
+   class="st1"
+   d="m 584.28,241.73 c 0.08,-0.02 0.04,-0.14 -0.03,-0.12 -0.08,0.02 -0.05,0.14 0.03,0.12 z"
+   id="path1850" />
+			<path
+   class="st1"
+   d="m 588.72,239.3 c -0.05,-0.2 -0.11,-0.39 -0.16,-0.59 -0.05,-0.17 -0.31,-0.1 -0.27,0.07 0.05,0.2 0.11,0.39 0.16,0.59 0.03,0.1 0.05,0.2 0.08,0.29 0.03,0.1 0.05,0.2 0.11,0.29 0.06,0.09 0.21,0.05 0.21,-0.06 0,-0.11 -0.03,-0.2 -0.06,-0.31 -0.01,-0.08 -0.04,-0.18 -0.07,-0.28 z"
+   id="path1852" />
+			<path
+   class="st1"
+   d="m 590.5,238.74 c -0.16,0.04 -0.09,0.29 0.07,0.24 0.15,-0.03 0.09,-0.28 -0.07,-0.24 z"
+   id="path1854" />
+			<path
+   class="st1"
+   d="m 592.17,236.49 c -0.04,-0.07 -0.08,-0.14 -0.12,-0.2 -0.09,-0.14 -0.17,-0.28 -0.26,-0.42 -0.04,-0.06 -0.13,-0.09 -0.19,-0.05 -0.06,0.04 -0.09,0.13 -0.05,0.19 l 0.25,0.42 c 0.04,0.07 0.08,0.14 0.12,0.2 0.02,0.04 0.04,0.07 0.07,0.11 0.03,0.04 0.06,0.07 0.1,0.11 0.08,0.08 0.24,0 0.2,-0.12 -0.02,-0.04 -0.03,-0.09 -0.05,-0.13 -0.02,-0.03 -0.05,-0.07 -0.07,-0.11 z"
+   id="path1856" />
+			<path
+   class="st1"
+   d="m 592.93,238.04 c 0.12,-0.03 0.07,-0.21 -0.05,-0.18 -0.12,0.03 -0.07,0.21 0.05,0.18 z"
+   id="path1858" />
+			<path
+   class="st1"
+   d="m 593.92,235.12 c -0.05,-0.06 -0.15,-0.05 -0.21,0 -0.06,0.06 -0.05,0.14 0,0.21 0.14,0.17 0.28,0.34 0.41,0.51 0.14,0.17 0.28,0.34 0.44,0.48 0.09,0.07 0.22,-0.02 0.16,-0.12 -0.11,-0.2 -0.25,-0.38 -0.39,-0.55 z"
+   id="path1860" />
+			<path
+   class="st1"
+   d="m 597.79,234.43 c 0,0 0,0 0,0 -0.01,0 -0.01,0.01 -0.02,0.01 0.02,0 0.02,-0.01 0.02,-0.01 z"
+   id="path1862" />
+			<path
+   class="st1"
+   d="m 607.49,231 c -0.27,-0.41 -0.55,-0.82 -0.82,-1.22 -0.1,-0.15 -0.34,-0.01 -0.24,0.14 l 0.83,1.25 c 0.27,0.41 0.52,0.84 0.84,1.22 0.1,0.11 0.25,-0.03 0.19,-0.15 -0.23,-0.44 -0.53,-0.84 -0.8,-1.24 z"
+   id="path1864" />
+			<path
+   class="st1"
+   d="m 609.46,229.48 c -0.06,-0.05 -0.11,-0.11 -0.17,-0.16 -0.12,-0.11 -0.24,-0.21 -0.37,-0.32 -0.04,-0.04 -0.11,-0.04 -0.16,0 -0.04,0.04 -0.04,0.12 0,0.16 0.12,0.11 0.25,0.21 0.37,0.32 0.06,0.05 0.12,0.1 0.18,0.15 0.07,0.05 0.13,0.11 0.21,0.15 0.07,0.04 0.16,-0.04 0.11,-0.11 -0.03,-0.04 -0.05,-0.07 -0.08,-0.1 -0.03,-0.04 -0.06,-0.06 -0.09,-0.09 z"
+   id="path1866" />
+			<path
+   class="st1"
+   d="m 611.13,231.99 c 0.09,-0.03 0.05,-0.17 -0.04,-0.15 -0.09,0.03 -0.05,0.17 0.04,0.15 z"
+   id="path1868" />
+			<path
+   class="st1"
+   d="m 614.41,227.68 c -0.21,-0.13 -0.42,-0.27 -0.64,-0.4 -0.22,-0.12 -0.44,-0.25 -0.65,-0.37 -0.08,-0.04 -0.14,0.07 -0.07,0.12 0.22,0.13 0.43,0.25 0.65,0.38 0.22,0.13 0.44,0.24 0.67,0.35 0.04,0.03 0.08,-0.04 0.04,-0.08 z"
+   id="path1870" />
+			<path
+   class="st1"
+   d="m 617.12,228.57 c 0.27,0.4 0.5,0.83 0.67,1.28 0.09,0.22 0.16,0.45 0.23,0.68 0.06,0.2 0.06,0.45 0.21,0.61 0.05,0.06 0.14,0.02 0.16,-0.04 0.07,-0.2 -0.03,-0.44 -0.09,-0.64 -0.07,-0.25 -0.16,-0.5 -0.26,-0.74 -0.2,-0.48 -0.45,-0.93 -0.75,-1.35 -0.59,-0.83 -1.35,-1.51 -2.24,-2 -0.09,-0.05 -0.17,0.09 -0.08,0.14 0.86,0.51 1.6,1.23 2.15,2.06 z"
+   id="path1872" />
+			<path
+   class="st1"
+   d="m 617.32,226.22 c 0.13,0.06 0.26,0.11 0.39,0.17 0.07,0.03 0.14,0.06 0.2,0.09 0.04,0.02 0.08,0.03 0.12,0.04 0.04,0 0.07,0.01 0.1,0.01 0.05,0.01 0.1,-0.01 0.12,-0.05 0.02,-0.04 0.02,-0.1 -0.02,-0.13 -0.06,-0.04 -0.11,-0.1 -0.17,-0.13 -0.07,-0.03 -0.14,-0.06 -0.2,-0.09 -0.13,-0.06 -0.26,-0.12 -0.4,-0.17 -0.26,-0.12 -0.53,-0.23 -0.79,-0.35 -0.08,-0.03 -0.17,-0.02 -0.22,0.06 -0.04,0.07 -0.02,0.18 0.06,0.22 0.28,0.11 0.54,0.22 0.81,0.33 z"
+   id="path1874" />
+			<path
+   class="st1"
+   d="m 619.32,228.13 c 0.11,-0.03 0.06,-0.2 -0.05,-0.17 -0.11,0.03 -0.06,0.2 0.05,0.17 z"
+   id="path1876" />
+			<path
+   class="st1"
+   d="m 626.06,225.56 c -0.27,-0.44 -0.6,-0.84 -0.98,-1.19 -0.75,-0.7 -1.71,-1.12 -2.73,-1.22 -0.21,-0.02 -0.26,0.33 -0.05,0.36 0.93,0.15 1.79,0.58 2.51,1.18 0.35,0.3 0.65,0.64 0.9,1.04 0.13,0.2 0.23,0.41 0.32,0.63 0.09,0.22 0.14,0.46 0.25,0.66 0.09,0.15 0.32,0.08 0.32,-0.09 0,-0.25 -0.11,-0.5 -0.21,-0.73 -0.09,-0.22 -0.2,-0.43 -0.33,-0.64 z"
+   id="path1878" />
+			<path
+   class="st1"
+   d="m 627.97,224.16 c -0.05,-0.09 -0.12,-0.17 -0.19,-0.25 0.01,0.02 0.02,0.04 0.03,0.06 -0.03,-0.1 -0.11,-0.17 -0.18,-0.25 -0.06,-0.07 -0.13,-0.14 -0.2,-0.2 -0.13,-0.13 -0.27,-0.27 -0.4,-0.4 -0.13,-0.14 -0.34,0.07 -0.21,0.21 0.13,0.14 0.26,0.27 0.39,0.41 0.07,0.07 0.13,0.14 0.2,0.2 0.07,0.07 0.14,0.14 0.24,0.18 -0.02,-0.01 -0.04,-0.02 -0.06,-0.03 0.08,0.07 0.15,0.14 0.24,0.19 0.1,0.04 0.18,-0.04 0.14,-0.12 z"
+   id="path1880" />
+			<path
+   class="st1"
+   d="m 628.47,225.77 c 0.04,0.04 0.12,0.05 0.17,0.02 0.06,-0.03 0.07,-0.09 0.06,-0.16 -0.02,-0.11 -0.1,-0.23 -0.15,-0.33 -0.05,-0.1 -0.1,-0.21 -0.16,-0.31 -0.11,-0.2 -0.22,-0.4 -0.33,-0.61 -0.03,-0.06 -0.12,-0.08 -0.18,-0.05 -0.06,0.04 -0.07,0.11 -0.05,0.18 0.1,0.21 0.19,0.42 0.29,0.63 0.05,0.1 0.1,0.21 0.15,0.31 0.08,0.12 0.12,0.24 0.2,0.32 z"
+   id="path1882" />
+			<path
+   class="st1"
+   d="m 630.5,224.11 c 0.02,0.04 0.04,0.08 0.07,0.12 0.03,0.05 0.07,0.09 0.12,0.13 0.05,0.05 0.14,0.07 0.21,0.03 0.07,-0.04 0.09,-0.11 0.08,-0.19 0,-0.02 -0.01,-0.05 -0.01,-0.07 -0.01,-0.03 -0.02,-0.07 -0.04,-0.1 -0.02,-0.04 -0.05,-0.08 -0.07,-0.12 -0.05,-0.08 -0.09,-0.16 -0.14,-0.24 -0.05,-0.09 -0.18,-0.13 -0.27,-0.07 -0.09,0.06 -0.12,0.18 -0.07,0.27 0.03,0.08 0.07,0.16 0.12,0.24 z"
+   id="path1884" />
+			<path
+   class="st1"
+   d="m 615.34,228.91 c -0.19,-0.22 -0.41,-0.42 -0.65,-0.58 -0.08,-0.05 -0.2,-0.01 -0.25,0.07 -0.05,0.09 -0.01,0.2 0.07,0.25 0.21,0.14 0.4,0.32 0.56,0.52 0.08,0.09 0.14,0.2 0.21,0.3 0.07,0.11 0.15,0.22 0.21,0.34 0.08,0.16 0.34,0.05 0.29,-0.12 -0.05,-0.14 -0.1,-0.29 -0.17,-0.41 -0.08,-0.13 -0.18,-0.25 -0.27,-0.37 z"
+   id="path1886" />
+			<path
+   class="st1"
+   d="m 616.49,231.32 c 0,-0.02 0,-0.04 -0.01,-0.06 0,-0.03 -0.01,-0.05 -0.01,-0.07 0,-0.01 -0.01,-0.02 -0.01,-0.03 -0.01,-0.04 -0.02,-0.08 -0.04,-0.12 -0.01,-0.04 -0.04,-0.08 -0.08,-0.11 -0.04,-0.02 -0.09,-0.03 -0.13,-0.02 -0.04,0.01 -0.08,0.04 -0.11,0.08 -0.02,0.04 -0.03,0.09 -0.02,0.13 0.01,0.04 0.02,0.08 0.03,0.12 0,0.01 0,0.02 0.01,0.03 0,0.02 0.01,0.03 0.02,0.05 0.01,0.03 0.02,0.05 0.04,0.08 0.01,0.01 0.02,0.02 0.03,0.03 0.02,0.02 0.03,0.03 0.05,0.03 0.03,0.01 0.07,0.02 0.11,0.01 0.03,-0.01 0.05,-0.02 0.08,-0.04 0.02,-0.02 0.04,-0.07 0.04,-0.11 z"
+   id="path1888" />
+			<path
+   class="st1"
+   d="m 610.6,231.51 c -0.14,-0.18 -0.28,-0.35 -0.43,-0.53 -0.05,-0.07 -0.17,-0.05 -0.23,0 -0.07,0.07 -0.05,0.16 0,0.23 0.14,0.17 0.28,0.34 0.42,0.52 0.07,0.09 0.14,0.18 0.21,0.26 0.07,0.08 0.15,0.18 0.25,0.23 0.09,0.04 0.2,-0.03 0.17,-0.13 -0.03,-0.11 -0.11,-0.2 -0.17,-0.29 -0.06,-0.1 -0.14,-0.19 -0.22,-0.29 z"
+   id="path1890" />
+			<path
+   class="st1"
+   d="m 611.53,233.08 c -0.03,-0.02 -0.07,-0.02 -0.11,-0.01 -0.03,0.01 -0.07,0.03 -0.09,0.07 -0.02,0.03 -0.03,0.07 -0.01,0.11 0.05,0.13 0.1,0.27 0.16,0.39 0.04,0.08 0.17,0.04 0.16,-0.04 -0.01,-0.14 -0.04,-0.28 -0.06,-0.42 0.01,-0.05 -0.02,-0.09 -0.05,-0.1 z"
+   id="path1892" />
+			<path
+   class="st1"
+   d="m 605.94,233.84 c -0.03,-0.04 -0.06,-0.08 -0.09,-0.12 -0.05,-0.07 -0.11,-0.13 -0.16,-0.2 -0.11,-0.13 -0.21,-0.27 -0.32,-0.4 -0.05,-0.06 -0.17,-0.05 -0.22,0 -0.06,0.07 -0.05,0.15 0,0.22 l 0.31,0.4 c 0.05,0.06 0.1,0.13 0.15,0.19 0.03,0.03 0.05,0.07 0.08,0.1 0.03,0.03 0.06,0.06 0.09,0.09 0.11,0.1 0.28,-0.03 0.2,-0.16 0,-0.04 -0.02,-0.08 -0.04,-0.12 z"
+   id="path1894" />
+			<path
+   class="st1"
+   d="m 604.13,234.32 c -0.06,-0.13 -0.11,-0.25 -0.17,-0.38 -0.03,-0.07 -0.14,-0.1 -0.21,-0.05 -0.07,0.05 -0.09,0.13 -0.05,0.21 0.06,0.12 0.11,0.24 0.17,0.37 0.03,0.06 0.05,0.12 0.09,0.18 0.04,0.06 0.08,0.11 0.12,0.17 0.03,0.04 0.08,0.07 0.13,0.04 0.05,-0.02 0.07,-0.07 0.06,-0.12 -0.02,-0.07 -0.03,-0.13 -0.05,-0.2 -0.02,-0.08 -0.06,-0.15 -0.09,-0.22 z"
+   id="path1896" />
+			<path
+   class="st1"
+   d="m 601.01,235.76 c -0.02,-0.16 -0.04,-0.32 -0.06,-0.48 -0.01,-0.06 -0.02,-0.1 -0.06,-0.15 -0.03,-0.03 -0.09,-0.06 -0.14,-0.06 -0.1,0 -0.22,0.09 -0.2,0.2 0.02,0.18 0.04,0.35 0.06,0.53 0.01,0.08 0.03,0.16 0.04,0.24 0.01,0.04 0.01,0.08 0.02,0.13 0.01,0.06 0.04,0.11 0.08,0.16 0.06,0.08 0.21,0.05 0.25,-0.03 0.03,-0.06 0.05,-0.11 0.04,-0.17 0,-0.04 -0.01,-0.07 -0.01,-0.11 -0.01,-0.09 -0.01,-0.17 -0.02,-0.26 z"
+   id="path1898" />
+			<path
+   class="st1"
+   d="m 598.33,236.62 c -0.17,0.04 -0.1,0.3 0.07,0.26 0.16,-0.05 0.09,-0.31 -0.07,-0.26 z"
+   id="path1900" />
+			<path
+   class="st1"
+   d="m 596.38,237.56 c -0.16,0.04 -0.1,0.3 0.07,0.25 0.16,-0.04 0.09,-0.29 -0.07,-0.25 z"
+   id="path1902" />
+			<path
+   class="st1"
+   d="m 593.35,238.07 c -0.21,0.06 -0.12,0.38 0.09,0.33 0.21,-0.06 0.12,-0.39 -0.09,-0.33 z"
+   id="path1904" />
+			<path
+   class="st1"
+   d="m 632.09,224.41 c 0.12,-0.03 0.07,-0.22 -0.05,-0.19 -0.13,0.03 -0.08,0.22 0.05,0.19 z"
+   id="path1906" />
+			<path
+   class="st1"
+   d="m 634.45,222.13 c -0.02,-0.04 -0.08,-0.05 -0.11,-0.03 -0.04,0.02 -0.06,0.08 -0.03,0.11 0.05,0.08 0.11,0.15 0.16,0.23 0.05,0.08 0.1,0.16 0.16,0.23 0.02,0.02 0.06,0 0.05,-0.03 -0.03,-0.09 -0.07,-0.17 -0.11,-0.26 -0.04,-0.08 -0.08,-0.17 -0.12,-0.25 z"
+   id="path1908" />
+			<path
+   class="st1"
+   d="m 636.77,220.57 c -0.03,-0.01 -0.08,0 -0.11,0.01 -0.06,0.04 -0.1,0.13 -0.05,0.2 0.1,0.15 0.2,0.31 0.32,0.45 0.03,0.03 0.06,0.05 0.11,0.04 0.04,-0.02 0.07,-0.06 0.05,-0.1 -0.07,-0.18 -0.15,-0.35 -0.23,-0.53 -0.02,-0.04 -0.06,-0.06 -0.09,-0.07 z"
+   id="path1910" />
+			<path
+   class="st1"
+   d="m 639.25,220.1 c 0.04,0.02 0.09,0.02 0.12,-0.02 0.03,-0.03 0.04,-0.08 0.01,-0.12 -0.03,-0.04 -0.06,-0.08 -0.09,-0.11 -0.03,-0.03 -0.06,-0.05 -0.08,-0.08 -0.06,-0.06 -0.12,-0.11 -0.17,-0.17 -0.05,-0.05 -0.14,-0.05 -0.19,0 -0.02,0.03 -0.04,0.06 -0.04,0.1 0,0.03 0.01,0.08 0.04,0.1 0.06,0.05 0.13,0.1 0.19,0.15 0.03,0.02 0.06,0.05 0.09,0.07 0.02,0.02 0.04,0.04 0.07,0.05 z"
+   id="path1912" />
+			<path
+   class="st1"
+   d="m 640.04,220.73 c -0.06,0.02 -0.03,0.11 0.02,0.09 0.07,-0.02 0.04,-0.11 -0.02,-0.09 z"
+   id="path1914" />
+			<path
+   class="st1"
+   d="m 642.17,219.33 c -0.1,-0.16 -0.35,-0.02 -0.25,0.15 0.17,0.31 0.34,0.61 0.51,0.92 0.16,0.3 0.32,0.63 0.58,0.87 0.08,0.07 0.19,0 0.17,-0.1 -0.07,-0.34 -0.29,-0.64 -0.46,-0.93 -0.19,-0.31 -0.37,-0.61 -0.55,-0.91 z"
+   id="path1916" />
+			<path
+   class="st1"
+   d="m 643.55,217.05 c -0.63,-0.77 -1.46,-1.35 -2.38,-1.73 -0.18,-0.07 -0.31,0.24 -0.13,0.32 0.85,0.39 1.59,0.96 2.21,1.66 0.31,0.35 0.58,0.73 0.79,1.13 0.22,0.41 0.35,0.85 0.58,1.25 0.04,0.07 0.14,0.04 0.14,-0.04 0,-0.48 -0.19,-0.93 -0.41,-1.36 -0.22,-0.42 -0.49,-0.84 -0.8,-1.23 z"
+   id="path1918" />
+			<path
+   class="st1"
+   d="m 645.48,220.67 c 0.02,0 0.04,0 0.06,0 0.01,-0.01 0.02,-0.01 0.04,-0.02 0.01,-0.01 0.02,-0.02 0.03,-0.02 0.01,-0.01 0.02,-0.03 0.03,-0.05 0.01,-0.02 0.01,-0.04 0.01,-0.05 0,-0.02 0,-0.03 -0.01,-0.05 0,-0.01 0,-0.01 0,-0.02 0,-0.01 0,-0.02 0,-0.03 0,-0.02 -0.01,-0.04 -0.01,-0.06 0,-0.02 -0.01,-0.04 -0.03,-0.06 -0.01,-0.02 -0.03,-0.03 -0.05,-0.04 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0 -0.06,0 -0.01,0.01 -0.03,0.01 -0.04,0.02 -0.02,0.01 -0.04,0.03 -0.06,0.06 -0.01,0.01 -0.01,0.03 -0.02,0.04 -0.01,0.03 -0.01,0.06 0,0.08 0.01,0.02 0.02,0.04 0.02,0.06 0,0.01 0.01,0.02 0.01,0.03 0,0 0,0.01 0.01,0.01 0.01,0.02 0.01,0.03 0.02,0.05 0.01,0.01 0.02,0.02 0.02,0.03 0.01,0.01 0.03,0.02 0.05,0.03 0.02,0 0.03,0.01 0.04,0.01 z"
+   id="path1920" />
+			<path
+   class="st1"
+   d="m 646.59,217.19 c -0.01,-0.03 -0.06,-0.04 -0.09,-0.02 -0.03,0.02 -0.04,0.06 -0.02,0.09 0.06,0.12 0.11,0.25 0.17,0.36 0.06,0.12 0.12,0.24 0.19,0.36 0.02,0.04 0.09,0.01 0.08,-0.03 -0.05,-0.13 -0.1,-0.25 -0.15,-0.38 -0.06,-0.13 -0.12,-0.25 -0.18,-0.38 z"
+   id="path1922" />
+			<path
+   class="st1"
+   d="m 647.4,218.87 c -0.06,0.02 -0.03,0.1 0.02,0.09 0.06,-0.01 0.03,-0.1 -0.02,-0.09 z"
+   id="path1924" />
+			<path
+   class="st1"
+   d="m 649.66,217.58 c -0.21,0.06 -0.12,0.38 0.09,0.32 0.21,-0.05 0.12,-0.37 -0.09,-0.32 z"
+   id="path1926" />
+			<path
+   class="st1"
+   d="m 651.28,215.19 c -0.03,-0.06 -0.06,-0.13 -0.09,-0.19 -0.06,-0.13 -0.12,-0.25 -0.18,-0.38 -0.02,-0.05 -0.09,-0.06 -0.13,-0.04 -0.04,0.02 -0.08,0.07 -0.06,0.12 0.05,0.13 0.11,0.26 0.16,0.39 0.03,0.06 0.05,0.13 0.08,0.19 0.01,0.03 0.03,0.06 0.04,0.09 0.02,0.05 0.04,0.08 0.08,0.11 0.06,0.06 0.18,0.02 0.17,-0.07 0,-0.05 -0.01,-0.09 -0.03,-0.13 -0.02,-0.04 -0.03,-0.07 -0.04,-0.09 z"
+   id="path1928" />
+			<path
+   class="st1"
+   d="m 654.15,214.79 0.11,0.1 c 0.02,0.02 0.05,0.02 0.07,0 0.02,-0.02 0.02,-0.05 0,-0.07 -0.03,-0.04 -0.06,-0.08 -0.09,-0.12 -0.03,-0.04 -0.07,-0.07 -0.1,-0.11 -0.02,-0.02 -0.06,-0.02 -0.08,0 -0.02,0.02 -0.02,0.06 0,0.08 0.02,0.04 0.05,0.08 0.09,0.12 z"
+   id="path1930" />
+			<path
+   class="st1"
+   d="m 655.85,213.28 c -0.06,-0.09 -0.12,-0.18 -0.18,-0.27 -0.12,-0.18 -0.25,-0.36 -0.37,-0.54 -0.04,-0.06 -0.11,-0.08 -0.17,-0.04 -0.06,0.03 -0.08,0.12 -0.04,0.17 l 0.35,0.55 c 0.06,0.09 0.11,0.18 0.17,0.27 0.01,0.02 0.03,0.04 0.04,0.06 0.02,0.03 0.05,0.05 0.07,0.08 0.03,0.05 0.07,0.09 0.12,0.11 0.07,0.03 0.15,0 0.15,-0.09 0,-0.06 -0.03,-0.11 -0.06,-0.16 -0.03,-0.04 -0.05,-0.09 -0.08,-0.14 z"
+   id="path1932" />
+			<path
+   class="st1"
+   d="m 658.15,213.1 c -0.1,-0.22 -0.24,-0.41 -0.39,-0.6 -0.15,-0.19 -0.29,-0.38 -0.44,-0.57 -0.04,-0.05 -0.09,-0.07 -0.15,-0.04 -0.05,0.03 -0.07,0.1 -0.04,0.15 0.14,0.2 0.29,0.39 0.43,0.59 0.14,0.2 0.3,0.38 0.48,0.55 0.07,0.04 0.14,-0.02 0.11,-0.08 z"
+   id="path1934" />
+			<path
+   class="st1"
+   d="m 659.18,214.61 c 0.01,0.03 0.01,0.05 0.02,0.08 0.01,0.02 0.01,0.04 0.02,0.06 0.01,0.02 0.03,0.04 0.05,0.05 0.07,0.06 0.18,0.04 0.21,-0.06 0.02,-0.05 0.02,-0.09 0,-0.13 -0.01,-0.03 -0.01,-0.05 -0.02,-0.08 l -0.05,-0.17 -0.09,-0.33 c -0.02,-0.08 -0.11,-0.13 -0.18,-0.11 -0.08,0.02 -0.13,0.1 -0.11,0.18 0.03,0.11 0.06,0.22 0.09,0.33 0.03,0.07 0.04,0.13 0.06,0.18 z"
+   id="path1936" />
+			<path
+   class="st1"
+   d="m 658.88,210.12 c -0.58,-0.68 -1.34,-1.21 -2.08,-1.71 -0.13,-0.09 -0.28,0.11 -0.17,0.22 0.66,0.6 1.36,1.2 2.16,1.6 0.07,0.05 0.14,-0.05 0.09,-0.11 z"
+   id="path1938" />
+			<path
+   class="st1"
+   d="m 660.08,211.32 c -0.05,-0.04 -0.09,-0.07 -0.14,-0.11 -0.09,-0.07 -0.18,-0.14 -0.27,-0.21 -0.04,-0.03 -0.08,-0.03 -0.12,0 -0.03,0.03 -0.03,0.09 0,0.12 0.09,0.07 0.18,0.14 0.27,0.22 0.04,0.03 0.09,0.07 0.13,0.1 0.03,0.02 0.05,0.04 0.08,0.06 0.03,0.02 0.06,0.03 0.1,0.04 0.04,0 0.08,-0.05 0.07,-0.09 -0.01,-0.04 -0.03,-0.06 -0.06,-0.08 -0.02,-0.01 -0.04,-0.03 -0.06,-0.05 z"
+   id="path1940" />
+			<path
+   class="st1"
+   d="m 661.38,213.44 c 0.01,0.03 0.02,0.06 0.05,0.08 0.02,0.02 0.05,0.03 0.07,0.03 0.03,0 0.05,-0.01 0.07,-0.03 0.04,-0.03 0.05,-0.08 0.07,-0.13 0.01,-0.03 0.02,-0.05 0.02,-0.08 0,-0.02 0,-0.04 0,-0.06 0,-0.07 0.01,-0.15 0.01,-0.22 0,-0.08 -0.07,-0.15 -0.15,-0.15 -0.08,0 -0.14,0.06 -0.15,0.15 -0.01,0.07 -0.01,0.15 -0.02,0.22 0,0.02 0,0.04 0,0.06 0,0.03 0.01,0.06 0.01,0.09 0.01,0.01 0.01,0.03 0.02,0.04 z"
+   id="path1942" />
+			<path
+   class="st1"
+   d="m 663.1,211.19 c -0.2,-0.26 -0.4,-0.52 -0.6,-0.78 -0.03,-0.04 -0.09,0 -0.06,0.04 0.19,0.27 0.38,0.53 0.56,0.8 0.09,0.13 0.19,0.26 0.26,0.4 0.07,0.13 0.13,0.3 0.28,0.35 0.05,0.02 0.1,-0.03 0.1,-0.08 0,-0.15 -0.14,-0.26 -0.24,-0.37 -0.11,-0.11 -0.2,-0.24 -0.3,-0.36 z"
+   id="path1944" />
+			<path
+   class="st1"
+   d="m 665.21,210.75 c -0.05,-0.05 -0.11,-0.1 -0.16,-0.15 -0.1,-0.1 -0.19,-0.21 -0.27,-0.33 -0.16,-0.24 -0.29,-0.5 -0.37,-0.77 -0.04,-0.15 -0.28,-0.09 -0.24,0.06 0.09,0.3 0.22,0.59 0.4,0.85 0.09,0.13 0.19,0.25 0.29,0.36 0.05,0.06 0.11,0.11 0.17,0.16 0.06,0.06 0.13,0.12 0.22,0.09 0.04,-0.01 0.07,-0.05 0.07,-0.1 0.01,-0.08 -0.06,-0.12 -0.11,-0.17 z"
+   id="path1946" />
+			<path
+   class="st1"
+   d="m 666.83,209.62 c -0.06,-0.2 -0.11,-0.4 -0.17,-0.6 -0.05,-0.2 -0.36,-0.11 -0.31,0.08 0.05,0.2 0.11,0.4 0.16,0.6 0.03,0.1 0.05,0.2 0.08,0.3 0.03,0.11 0.06,0.22 0.14,0.3 0.07,0.07 0.18,0.03 0.21,-0.06 0.03,-0.11 0,-0.22 -0.03,-0.33 -0.03,-0.09 -0.06,-0.19 -0.08,-0.29 z"
+   id="path1948" />
+			<path
+   class="st1"
+   d="m 672.61,212.34 c 0.05,-0.02 0.07,-0.06 0.06,-0.11 0,-0.01 0,-0.02 -0.01,-0.03 -0.01,-0.03 -0.03,-0.04 -0.05,-0.06 -0.01,-0.01 -0.03,-0.01 -0.05,-0.02 l -0.09,-0.04 c -0.06,-0.03 -0.12,-0.06 -0.18,-0.09 -0.02,-0.01 -0.04,-0.01 -0.06,-0.01 -0.02,0.01 -0.04,0.02 -0.05,0.04 -0.02,0.04 -0.01,0.09 0.03,0.12 0.05,0.04 0.11,0.07 0.16,0.11 l 0.08,0.05 0.04,0.03 c 0.02,0.01 0.04,0.02 0.06,0.02 0.03,0 0.05,0 0.06,-0.01 z"
+   id="path1950" />
+			<path
+   class="st1"
+   d="m 675.81,210.35 c -0.06,0.02 -0.03,0.11 0.02,0.09 0.07,-0.01 0.04,-0.1 -0.02,-0.09 z"
+   id="path1952" />
+			<path
+   class="st1"
+   d="m 677.59,209.31 c 0,0.02 0.01,0.04 0.02,0.05 0.01,0.01 0.02,0.02 0.03,0.04 0.01,0.01 0.01,0.02 0.02,0.02 0.06,0.06 0.18,0.03 0.2,-0.05 0,-0.01 0,-0.02 0.01,-0.03 0,-0.02 0.01,-0.03 0.01,-0.05 0,-0.02 0,-0.03 -0.01,-0.05 -0.01,-0.02 -0.01,-0.05 -0.02,-0.07 -0.01,-0.04 -0.02,-0.09 -0.04,-0.13 -0.01,-0.04 -0.03,-0.07 -0.07,-0.09 -0.03,-0.02 -0.07,-0.02 -0.11,-0.01 -0.03,0.01 -0.07,0.03 -0.09,0.07 -0.02,0.04 -0.02,0.07 -0.01,0.11 0.01,0.04 0.02,0.09 0.03,0.13 0.01,0.01 0.02,0.03 0.03,0.06 z"
+   id="path1954" />
+			<path
+   class="st1"
+   d="m 677.3,204.33 c -0.25,-0.47 -0.62,-0.88 -0.97,-1.29 -0.35,-0.42 -0.7,-0.83 -1.05,-1.25 -0.13,-0.16 -0.35,0.07 -0.22,0.23 0.34,0.42 0.68,0.83 1.02,1.25 0.33,0.41 0.67,0.85 1.08,1.18 0.07,0.06 0.19,-0.02 0.14,-0.12 z"
+   id="path1956" />
+			<path
+   class="st1"
+   d="m 678.47,207.33 c 0.02,0.05 0.03,0.1 0.05,0.15 0.02,0.06 0.04,0.1 0.08,0.15 0.05,0.06 0.15,0.01 0.15,-0.06 0,-0.1 -0.06,-0.2 -0.1,-0.29 -0.04,-0.09 -0.08,-0.19 -0.12,-0.28 -0.08,-0.19 -0.15,-0.38 -0.23,-0.57 -0.04,-0.09 -0.18,-0.05 -0.15,0.04 l 0.22,0.58 c 0.04,0.09 0.07,0.18 0.1,0.28 z"
+   id="path1958" />
+			<path
+   class="st1"
+   d="m 675.92,201.85 c 0.14,0.18 0.27,0.38 0.43,0.55 0.15,0.17 0.31,0.35 0.48,0.5 0.1,0.08 0.23,-0.02 0.17,-0.14 -0.1,-0.2 -0.24,-0.4 -0.37,-0.59 -0.12,-0.19 -0.28,-0.37 -0.43,-0.55 -0.29,-0.36 -0.58,-0.72 -0.87,-1.09 -0.11,-0.14 -0.37,0.05 -0.26,0.2 0.29,0.38 0.57,0.75 0.85,1.12 z"
+   id="path1960" />
+			<path
+   class="st1"
+   d="m 584.03,220.46 c -0.07,0.02 -0.04,0.12 0.03,0.1 0.07,-0.02 0.04,-0.12 -0.03,-0.1 z"
+   id="path1962" />
+			<path
+   class="st1"
+   d="m 585.59,217.56 c -0.06,0.02 -0.03,0.11 0.02,0.09 0.06,-0.01 0.04,-0.11 -0.02,-0.09 z"
+   id="path1964" />
+			<path
+   class="st1"
+   d="m 594.54,214.99 c -0.07,0.02 -0.04,0.14 0.03,0.12 0.07,-0.03 0.04,-0.14 -0.03,-0.12 z"
+   id="path1966" />
+			<path
+   class="st1"
+   d="m 596.55,214.26 c -0.13,0.03 -0.07,0.23 0.05,0.2 0.13,-0.04 0.07,-0.23 -0.05,-0.2 z"
+   id="path1968" />
+			<path
+   class="st1"
+   d="m 598.85,213.6 c 0.15,-0.04 0.09,-0.28 -0.06,-0.24 -0.16,0.04 -0.1,0.28 0.06,0.24 z"
+   id="path1970" />
+			<path
+   class="st1"
+   d="m 604.5,210.04 c 0.21,-0.06 0.12,-0.38 -0.09,-0.32 -0.21,0.06 -0.12,0.38 0.09,0.32 z"
+   id="path1972" />
+			<path
+   class="st1"
+   d="m 616.25,205.05 c 0.03,0.03 0.06,0.05 0.1,0.08 0.02,0.02 0.05,0.04 0.07,0.06 0.03,0.02 0.05,0.02 0.08,0.03 0.04,0.01 0.08,0 0.11,-0.03 0.03,-0.03 0.04,-0.07 0.03,-0.11 -0.01,-0.03 -0.02,-0.07 -0.05,-0.1 -0.01,-0.02 -0.03,-0.03 -0.04,-0.04 -0.03,-0.03 -0.06,-0.06 -0.09,-0.08 -0.06,-0.06 -0.12,-0.11 -0.19,-0.16 -0.03,-0.02 -0.06,-0.04 -0.1,-0.04 -0.04,0 -0.08,0.02 -0.1,0.04 -0.05,0.06 -0.06,0.15 0,0.21 0.05,0.03 0.11,0.09 0.18,0.14 z"
+   id="path1974" />
+			<path
+   class="st1"
+   d="m 621.52,202.17 c -0.08,0.02 -0.05,0.15 0.03,0.12 0.08,-0.02 0.04,-0.15 -0.03,-0.12 z"
+   id="path1976" />
+			<path
+   class="st1"
+   d="m 629.71,200.36 c -0.08,0.02 -0.05,0.15 0.03,0.12 0.08,-0.02 0.05,-0.14 -0.03,-0.12 z"
+   id="path1978" />
+			<path
+   class="st1"
+   d="m 631.82,198.94 c 0.01,0.01 0.02,0.02 0.04,0.03 0.03,0.01 0.06,0.02 0.1,0.01 l 0.03,-0.01 c 0.02,-0.01 0.03,-0.03 0.05,-0.05 0.01,-0.03 0.02,-0.05 0.04,-0.08 0.01,-0.01 0.01,-0.03 0.02,-0.04 0.01,-0.02 0.02,-0.04 0.03,-0.06 0,-0.01 0,-0.02 0,-0.03 0,-0.02 0,-0.03 -0.01,-0.04 0,-0.01 -0.01,-0.02 -0.01,-0.02 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,0 -0.02,-0.01 -0.03,-0.01 -0.01,0 -0.02,0 -0.03,0 -0.02,0 -0.03,0 -0.04,0.01 -0.01,0 -0.03,0.01 -0.04,0.02 -0.01,0.02 -0.03,0.04 -0.04,0.05 l -0.03,0.04 c -0.02,0.02 -0.03,0.05 -0.05,0.07 -0.01,0.01 -0.01,0.03 -0.01,0.05 0,0.02 0,0.03 0,0.05 -0.01,0.01 0,0.03 0.01,0.04 z"
+   id="path1980" />
+			<path
+   class="st1"
+   d="m 634.52,198.13 c 0,0.02 0,0.03 0.01,0.05 0.01,0.01 0.02,0.03 0.04,0.03 0.02,0.01 0.05,0.02 0.07,0.01 0.02,-0.01 0.05,-0.02 0.06,-0.04 0.01,-0.01 0.01,-0.03 0.01,-0.05 0,-0.02 0,-0.03 -0.01,-0.05 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.02 -0.05,-0.04 -0.07,-0.03 -0.03,0.01 -0.05,0.03 -0.05,0.06 0,0.02 0,0.04 0,0.06 0,0.04 0,0.06 0,0.08 z"
+   id="path1982" />
+			<path
+   class="st1"
+   d="m 637.19,196.94 c 0.23,-0.06 0.13,-0.42 -0.1,-0.36 -0.23,0.07 -0.13,0.42 0.1,0.36 z"
+   id="path1984" />
+			<path
+   class="st1"
+   d="m 639.97,196.86 c 0.01,0.01 0.01,0.02 0.03,0.02 0.02,0.01 0.05,0.02 0.07,0.01 0.02,-0.01 0.04,-0.02 0.05,-0.04 0,-0.01 0.01,-0.01 0.01,-0.02 0,-0.02 0,-0.03 0,-0.05 -0.01,-0.04 -0.01,-0.09 -0.02,-0.13 0,-0.01 -0.01,-0.03 -0.02,-0.04 -0.01,-0.01 -0.02,-0.02 -0.03,-0.03 -0.01,-0.01 -0.02,-0.01 -0.04,-0.01 -0.01,0 -0.03,0 -0.04,0 -0.03,0.01 -0.05,0.02 -0.06,0.05 0,0.01 -0.01,0.02 -0.01,0.02 0,0.02 0,0.04 0,0.06 0.02,0.04 0.03,0.08 0.05,0.12 0,0.02 0,0.03 0.01,0.04 z"
+   id="path1986" />
+			<path
+   class="st1"
+   d="m 642.07,194.63 c -0.13,0.03 -0.07,0.23 0.05,0.2 0.13,-0.04 0.08,-0.24 -0.05,-0.2 z"
+   id="path1988" />
+			<path
+   class="st1"
+   d="m 646.1,193.23 c 0.16,-0.04 0.1,-0.3 -0.07,-0.25 -0.16,0.04 -0.09,0.3 0.07,0.25 z"
+   id="path1990" />
+			<path
+   class="st1"
+   d="m 648.82,191.56 c 0.2,-0.05 0.12,-0.37 -0.08,-0.31 -0.21,0.05 -0.12,0.37 0.08,0.31 z"
+   id="path1992" />
+			<path
+   class="st1"
+   d="m 651.15,191.17 c 0.01,0.01 0.01,0.03 0.02,0.04 0,0 0,0.01 0.01,0.01 0.01,0.01 0.02,0.03 0.03,0.04 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.02,0.01 0.02,0.02 0.01,0.01 0.02,0.01 0.02,0.02 0,0 0,0 0,0 0.01,0.01 0.03,0.01 0.04,0.02 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 0.03,0 0.04,0.01 0.01,0 0,0 0.02,0 0.01,0 0.02,0 0.02,0 0,0 0,0 0.01,0 0.01,-0.01 0.03,-0.01 0.05,-0.02 0,0 0,0 0.01,0 0.02,-0.01 0.04,-0.02 0.05,-0.04 0,0 0,-0.01 0.01,-0.01 0.01,-0.01 0.02,-0.03 0.03,-0.04 0,0 0,-0.01 0.01,-0.01 0.01,-0.02 0.01,-0.03 0.02,-0.05 0.01,-0.02 0.01,-0.04 0.01,-0.06 0,-0.02 0,-0.03 0,-0.05 0,-0.01 0,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,0 0,0 0,-0.01 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 0,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.03,-0.02 -0.04,-0.03 -0.02,-0.01 -0.04,-0.02 -0.06,-0.02 -0.02,0 -0.04,0 -0.06,0 -0.02,0.01 -0.04,0.02 -0.06,0.03 -0.01,0.01 -0.02,0.02 -0.03,0.03 0,0 0,0 -0.01,0 -0.01,0 -0.03,0.01 -0.04,0.01 0,0 0,0 0,0 0,0 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.02,0.02 0,0 -0.01,0.01 -0.01,0.02 0,0 0,0.01 0,0.01 -0.01,0.01 -0.01,0.03 -0.02,0.04 -0.01,0.02 -0.01,0.04 -0.01,0.05 0,0.01 0,0.01 0,0.02 0,0.03 0,0.05 0.01,0.07 -0.01,0 0,0 0,0 z"
+   id="path1994" />
+			<path
+   class="st1"
+   d="m 662.3,187.06 c 0.05,0.04 0.1,0.09 0.15,0.13 0.02,0.02 0.05,0.04 0.07,0.06 0.03,0.03 0.07,0.05 0.1,0.07 0.09,0.05 0.2,-0.05 0.14,-0.14 -0.02,-0.03 -0.04,-0.07 -0.07,-0.1 -0.02,-0.02 -0.04,-0.04 -0.06,-0.07 -0.05,-0.05 -0.09,-0.09 -0.14,-0.14 -0.09,-0.09 -0.18,-0.19 -0.28,-0.28 -0.05,-0.05 -0.15,-0.06 -0.2,0 -0.05,0.06 -0.06,0.15 0,0.2 0.09,0.09 0.19,0.18 0.29,0.27 z"
+   id="path1996" />
+			<path
+   class="st1"
+   d="m 516.58,249.17 c 0.07,-0.02 0.04,-0.13 -0.03,-0.11 -0.07,0.02 -0.04,0.13 0.03,0.11 z"
+   id="path1998" />
+			<path
+   class="st1"
+   d="m 521.09,246.49 c 0.14,-0.04 0.08,-0.26 -0.06,-0.22 -0.14,0.04 -0.08,0.26 0.06,0.22 z"
+   id="path2000" />
+			<path
+   class="st1"
+   d="m 522.82,244.39 c 0.05,0.18 0.09,0.37 0.2,0.53 0.06,0.1 0.26,0.07 0.24,-0.07 -0.02,-0.18 -0.09,-0.35 -0.13,-0.53 -0.04,-0.17 -0.08,-0.34 -0.11,-0.52 -0.05,-0.36 -0.06,-0.72 -0.04,-1.08 0.01,-0.2 -0.3,-0.2 -0.31,0 -0.03,0.37 -0.01,0.75 0.04,1.12 0.03,0.19 0.06,0.37 0.11,0.55 z"
+   id="path2002" />
+			<path
+   class="st1"
+   d="m 525.38,244.51 c 0.15,-0.04 0.09,-0.28 -0.06,-0.24 -0.16,0.05 -0.1,0.29 0.06,0.24 z"
+   id="path2004" />
+			<path
+   class="st1"
+   d="m 529.12,242.39 c 0.03,0.08 0.07,0.14 0.13,0.2 0.09,0.1 0.24,-0.01 0.22,-0.13 -0.03,-0.12 -0.08,-0.24 -0.11,-0.36 -0.03,-0.11 -0.05,-0.23 -0.05,-0.34 -0.01,-0.25 0.03,-0.49 0.12,-0.71 0.03,-0.08 -0.04,-0.18 -0.11,-0.2 -0.09,-0.02 -0.17,0.03 -0.2,0.11 -0.1,0.26 -0.14,0.54 -0.12,0.82 0.01,0.14 0.03,0.28 0.07,0.42 0,0.06 0.02,0.12 0.05,0.19 z"
+   id="path2006" />
+			<path
+   class="st1"
+   d="m 533.42,239.61 c 0.02,0.12 0.03,0.25 0.07,0.37 0.04,0.1 0.19,0.12 0.22,0 0.03,-0.12 0.02,-0.25 0.02,-0.38 0,-0.13 0,-0.25 -0.01,-0.38 -0.02,-0.25 -0.04,-0.5 -0.06,-0.76 -0.01,-0.09 -0.07,-0.17 -0.17,-0.17 -0.09,0 -0.18,0.08 -0.17,0.17 0.02,0.25 0.04,0.5 0.06,0.76 0.01,0.13 0.02,0.26 0.04,0.39 z"
+   id="path2008" />
+			<path
+   class="st1"
+   d="m 536.94,240.42 c 0.16,-0.04 0.09,-0.29 -0.07,-0.25 -0.15,0.05 -0.09,0.3 0.07,0.25 z"
+   id="path2010" />
+			<path
+   class="st1"
+   d="m 539.31,237.15 c 0.05,0.01 0.1,-0.02 0.13,-0.06 0.03,-0.05 0.04,-0.09 0.05,-0.14 0,-0.04 0.01,-0.07 0.01,-0.11 0.01,-0.07 0.02,-0.14 0.02,-0.21 0.01,-0.14 0.02,-0.29 0.03,-0.44 0.01,-0.09 -0.08,-0.17 -0.17,-0.17 -0.09,0 -0.16,0.07 -0.17,0.17 -0.01,0.14 -0.02,0.29 -0.02,0.43 0,0.07 0,0.14 0,0.21 0,0.04 0,0.07 0,0.11 0,0.05 0.01,0.09 0.03,0.13 0.01,0.04 0.04,0.07 0.09,0.08 z"
+   id="path2012" />
+			<path
+   class="st1"
+   d="m 539.91,238.66 c 0.17,-0.05 0.1,-0.3 -0.07,-0.26 -0.16,0.05 -0.09,0.3 0.07,0.26 z"
+   id="path2014" />
+			<path
+   class="st1"
+   d="m 541.69,237.6 c 0.13,-0.04 0.08,-0.24 -0.06,-0.21 -0.13,0.04 -0.07,0.25 0.06,0.21 z"
+   id="path2016" />
+			<path
+   class="st1"
+   d="m 543.52,237.09 c 0.01,0.01 0.01,0.02 0.02,0.03 0.01,0.01 0.01,0.02 0.02,0.02 0.01,0.01 0.01,0.01 0.02,0.02 0,0 0.01,0.01 0.01,0.01 0.01,0.01 0.02,0.01 0.03,0.01 0.01,0 0.02,0 0.03,0 0.02,-0.01 0.04,-0.02 0.05,-0.04 0,0 0,-0.01 0.01,-0.01 0,-0.01 0.01,-0.02 0.01,-0.02 0,-0.01 0,-0.02 0,-0.03 0,-0.01 0,-0.02 0,-0.03 0,-0.02 0,-0.04 0,-0.07 0,-0.04 -0.03,-0.09 -0.06,-0.11 -0.03,-0.02 -0.06,-0.02 -0.09,-0.01 -0.02,0 -0.03,0.01 -0.04,0.02 -0.01,0.01 -0.02,0.02 -0.03,0.04 -0.02,0.04 -0.02,0.09 0,0.13 -0.01,0.01 0.01,0.02 0.02,0.04 z"
+   id="path2018" />
+			<path
+   class="st1"
+   d="m 545.99,235.51 c 0.02,-0.01 0.04,-0.03 0.06,-0.06 0.01,-0.02 0.02,-0.05 0.02,-0.08 0,-0.03 0.01,-0.06 0.01,-0.08 0,-0.01 0,-0.03 0,-0.04 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.03 -0.01,-0.04 0,-0.01 -0.01,-0.02 -0.01,-0.03 0,-0.01 -0.01,-0.01 -0.02,-0.02 -0.01,0 -0.01,0 -0.02,-0.01 -0.01,0 -0.02,0 -0.04,0 -0.01,0 -0.02,0 -0.04,0.01 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.02,0.02 -0.03,0.03 -0.02,0.02 -0.04,0.03 -0.07,0.05 -0.02,0.01 -0.04,0.03 -0.06,0.06 -0.01,0.02 -0.02,0.05 -0.02,0.08 0,0.06 0.03,0.11 0.08,0.13 0.06,0.04 0.12,0.04 0.17,0.01 z"
+   id="path2020" />
+			<path
+   class="st1"
+   d="m 550.34,233.41 c -0.09,0.03 -0.05,0.17 0.04,0.15 0.09,-0.03 0.05,-0.17 -0.04,-0.15 z"
+   id="path2022" />
+			<path
+   class="st1"
+   d="m 552.85,233.25 c 0.02,0.05 0.03,0.11 0.06,0.15 0.03,0.04 0.07,0.08 0.11,0.12 0.08,0.07 0.2,0.02 0.21,-0.09 0,-0.05 0.01,-0.11 0,-0.16 -0.01,-0.05 -0.04,-0.09 -0.06,-0.14 -0.04,-0.09 -0.07,-0.17 -0.11,-0.26 -0.07,-0.17 -0.15,-0.34 -0.22,-0.51 -0.03,-0.07 -0.13,-0.09 -0.2,-0.06 -0.07,0.03 -0.12,0.11 -0.09,0.19 0.07,0.17 0.14,0.35 0.2,0.52 0.03,0.07 0.06,0.16 0.1,0.24 z"
+   id="path2024" />
+			<path
+   class="st1"
+   d="m 555.03,232.93 c 0.19,-0.05 0.11,-0.34 -0.08,-0.29 -0.18,0.05 -0.1,0.34 0.08,0.29 z"
+   id="path2026" />
+			<path
+   class="st1"
+   d="m 559.39,231.09 c 0.01,0.01 0.02,0.02 0.03,0.03 0.01,0 0.02,0.01 0.03,0.01 0.01,0 0.02,0 0.03,0 0.02,0 0.03,0 0.04,-0.01 0.01,0 0.03,-0.01 0.04,-0.02 l 0.03,-0.03 0.01,-0.01 c 0.01,-0.01 0.02,-0.02 0.03,-0.03 0,-0.01 0.01,-0.01 0.01,-0.02 0.02,-0.03 0.03,-0.05 0.05,-0.08 0.01,-0.02 0.01,-0.03 0.02,-0.05 0,-0.02 0,-0.04 0,-0.05 0,-0.02 -0.01,-0.03 -0.02,-0.05 -0.01,-0.01 -0.02,-0.03 -0.04,-0.03 -0.03,-0.02 -0.07,-0.02 -0.1,-0.01 -0.01,0 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.04,0.03 -0.05,0.05 -0.01,0.03 -0.03,0.06 -0.04,0.08 0,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.02 -0.01,0.03 -0.02,0.05 l -0.01,0.05 c 0,0.01 0,0.02 0,0.03 0,0.02 0,0.03 0.01,0.04 -0.02,0 -0.02,0.01 -0.01,0.02 z"
+   id="path2028" />
+			<path
+   class="st1"
+   d="m 564.32,229.05 c 0.21,-0.06 0.12,-0.38 -0.09,-0.32 -0.21,0.06 -0.12,0.38 0.09,0.32 z"
+   id="path2030" />
+			<path
+   class="st1"
+   d="m 566.9,227.33 c 0.02,0.01 0.04,0.02 0.06,0.02 0.02,0 0.04,0 0.06,0 0.05,-0.01 0.1,-0.06 0.11,-0.11 l 0.02,-0.09 c 0,-0.01 0.01,-0.03 0.01,-0.04 0,-0.02 0.01,-0.03 0.01,-0.05 0,-0.01 0,-0.01 0,-0.02 0,-0.02 0,-0.03 -0.01,-0.05 -0.01,-0.01 -0.02,-0.03 -0.03,-0.03 -0.01,-0.01 -0.03,-0.01 -0.05,-0.01 -0.02,0 -0.03,0 -0.05,0.01 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.03,0.02 -0.04,0.03 -0.01,0.01 -0.02,0.02 -0.03,0.03 l -0.07,0.06 c -0.04,0.04 -0.06,0.1 -0.04,0.15 0.01,0.01 0.01,0.03 0.02,0.04 0.01,0.02 0.03,0.04 0.05,0.05 z"
+   id="path2032" />
+			<path
+   class="st1"
+   d="m 568.61,224.34 c 0.01,0.06 0.02,0.11 0.03,0.17 0,0.03 0.01,0.06 0.01,0.08 0.01,0.04 0.02,0.07 0.04,0.1 0.02,0.04 0.07,0.05 0.1,0.05 0.04,-0.01 0.07,-0.03 0.08,-0.07 0.03,-0.11 0.02,-0.24 0.03,-0.36 0,-0.06 0.01,-0.12 0,-0.17 l -0.01,-0.17 c -0.01,-0.08 -0.07,-0.16 -0.16,-0.16 -0.08,0 -0.17,0.07 -0.16,0.16 l 0.01,0.17 c 0,0.07 0.01,0.14 0.03,0.2 z"
+   id="path2034" />
+			<path
+   class="st1"
+   d="m 569.09,225.81 c 0.18,-0.05 0.11,-0.34 -0.08,-0.29 -0.19,0.06 -0.11,0.34 0.08,0.29 z"
+   id="path2036" />
+			<path
+   class="st1"
+   d="m 572.44,223.95 c 0.19,-0.05 0.11,-0.35 -0.08,-0.3 -0.19,0.05 -0.11,0.35 0.08,0.3 z"
+   id="path2038" />
+			<path
+   class="st1"
+   d="m 578.48,220.38 c 0.03,0.07 0.06,0.15 0.1,0.22 0.05,0.1 0.09,0.22 0.22,0.24 0.08,0.01 0.14,-0.01 0.19,-0.08 0.07,-0.11 0.02,-0.22 -0.02,-0.32 -0.03,-0.09 -0.07,-0.18 -0.11,-0.26 -0.07,-0.16 -0.13,-0.31 -0.2,-0.47 -0.02,-0.05 -0.08,-0.09 -0.13,-0.1 -0.05,-0.01 -0.12,-0.01 -0.17,0.02 -0.11,0.07 -0.12,0.18 -0.08,0.29 0.06,0.16 0.13,0.31 0.2,0.46 z"
+   id="path2040" />
+			<path
+   class="st1"
+   d="m 680.45,203.26 c -0.05,-0.1 -0.11,-0.2 -0.16,-0.31 -0.03,-0.07 -0.13,-0.09 -0.19,-0.05 -0.07,0.04 -0.08,0.12 -0.05,0.19 0.05,0.1 0.1,0.2 0.15,0.31 0.02,0.05 0.05,0.1 0.08,0.14 0.03,0.05 0.06,0.12 0.11,0.16 0.04,0.03 0.08,0.04 0.13,0.02 0.04,-0.02 0.07,-0.06 0.07,-0.11 0,-0.07 -0.04,-0.14 -0.07,-0.2 -0.03,-0.05 -0.05,-0.1 -0.07,-0.15 z"
+   id="path2042" />
+			<path
+   class="st1"
+   d="m 681.18,202.8 c -0.16,-0.21 -0.31,-0.43 -0.47,-0.64 -0.04,-0.05 -0.11,-0.08 -0.17,-0.04 -0.05,0.03 -0.08,0.11 -0.04,0.17 l 0.45,0.67 c 0.08,0.11 0.15,0.22 0.23,0.33 0.04,0.06 0.08,0.11 0.11,0.17 0.04,0.06 0.09,0.1 0.15,0.15 0.09,0.06 0.21,-0.04 0.18,-0.14 -0.04,-0.13 -0.13,-0.24 -0.21,-0.35 -0.07,-0.11 -0.15,-0.21 -0.23,-0.32 z"
+   id="path2044" />
+			<path
+   class="st1"
+   d="m 682.43,203.29 c -0.14,-0.31 -0.27,-0.63 -0.41,-0.94 -0.05,-0.11 -0.23,-0.03 -0.19,0.08 0.13,0.32 0.26,0.63 0.38,0.95 0.06,0.16 0.12,0.32 0.18,0.48 0.06,0.16 0.1,0.33 0.21,0.47 0.09,0.12 0.25,0.05 0.23,-0.1 -0.03,-0.17 -0.12,-0.32 -0.19,-0.47 -0.07,-0.16 -0.14,-0.31 -0.21,-0.47 z"
+   id="path2046" />
+			<path
+   class="st1"
+   d="m 684.8,199.07 c -0.12,-0.23 -0.24,-0.47 -0.36,-0.7 -0.04,-0.08 -0.15,-0.1 -0.23,-0.06 -0.09,0.05 -0.1,0.15 -0.06,0.23 0.1,0.24 0.21,0.47 0.31,0.71 0.05,0.12 0.1,0.23 0.17,0.34 0.07,0.11 0.12,0.26 0.23,0.33 0.07,0.04 0.18,0.01 0.2,-0.08 0.03,-0.14 -0.06,-0.27 -0.1,-0.4 -0.04,-0.13 -0.09,-0.25 -0.16,-0.37 z"
+   id="path2048" />
+			<path
+   class="st1"
+   d="m 686.2,202.28 c -0.1,-0.21 -0.19,-0.43 -0.27,-0.65 -0.17,-0.44 -0.37,-0.86 -0.56,-1.29 -0.07,-0.17 -0.32,-0.02 -0.25,0.15 0.19,0.43 0.37,0.86 0.57,1.28 0.1,0.21 0.19,0.41 0.28,0.62 0.05,0.11 0.1,0.22 0.14,0.33 0.04,0.11 0.05,0.2 0.16,0.26 0.06,0.04 0.17,0 0.18,-0.08 0.02,-0.13 -0.03,-0.19 -0.09,-0.3 -0.07,-0.1 -0.11,-0.21 -0.16,-0.32 z"
+   id="path2050" />
+			<path
+   class="st1"
+   d="m 688.41,195.83 c -0.01,-0.07 -0.09,-0.1 -0.15,-0.09 -0.07,0.02 -0.1,0.09 -0.09,0.15 0.09,0.65 0.39,1.37 0.94,1.74 0.08,0.05 0.19,-0.06 0.13,-0.13 -0.19,-0.26 -0.38,-0.5 -0.53,-0.78 -0.15,-0.28 -0.25,-0.58 -0.3,-0.89 z"
+   id="path2052" />
+			<path
+   class="st1"
+   d="m 690.78,200.35 -0.5,-1.06 c -0.06,-0.13 -0.25,-0.02 -0.19,0.11 l 0.49,1.04 c 0.08,0.17 0.16,0.34 0.24,0.51 0.08,0.17 0.15,0.37 0.25,0.53 0.06,0.1 0.24,0.04 0.2,-0.08 -0.06,-0.18 -0.16,-0.35 -0.24,-0.52 -0.08,-0.18 -0.16,-0.36 -0.25,-0.53 z"
+   id="path2054" />
+			<path
+   class="st1"
+   d="m 688.75,193.92 c 0.14,0.1 0.27,-0.09 0.21,-0.21 -0.11,-0.22 -0.3,-0.42 -0.45,-0.62 -0.16,-0.21 -0.34,-0.41 -0.52,-0.61 -0.34,-0.39 -0.67,-0.82 -1.07,-1.14 -0.12,-0.1 -0.32,0.03 -0.23,0.18 0.26,0.46 0.64,0.85 0.98,1.25 0.16,0.2 0.33,0.4 0.5,0.59 0.18,0.19 0.36,0.41 0.58,0.56 z"
+   id="path2056" />
+			<path
+   class="st1"
+   d="m 690.74,197.49 c 0.07,0.14 0.14,0.29 0.22,0.42 0.05,0.07 0.17,0.03 0.15,-0.06 -0.03,-0.15 -0.1,-0.3 -0.15,-0.45 -0.05,-0.15 -0.12,-0.29 -0.18,-0.44 -0.13,-0.29 -0.26,-0.58 -0.39,-0.88 -0.05,-0.12 -0.27,-0.03 -0.22,0.09 0.12,0.29 0.25,0.59 0.37,0.88 0.07,0.15 0.13,0.3 0.2,0.44 z"
+   id="path2058" />
+			<path
+   class="st1"
+   d="m 691.85,199.35 c 0.06,-0.02 0.03,-0.1 -0.02,-0.09 -0.06,0.02 -0.04,0.11 0.02,0.09 z"
+   id="path2060" />
+			<path
+   class="st1"
+   d="m 694.23,198.71 -0.12,-0.14 -0.24,-0.3 c -0.02,-0.03 -0.07,-0.05 -0.11,-0.04 -0.04,0 -0.07,0.01 -0.09,0.03 -0.06,0.04 -0.08,0.13 -0.04,0.2 0.07,0.1 0.15,0.21 0.22,0.31 0.04,0.05 0.07,0.1 0.11,0.15 0.02,0.03 0.04,0.05 0.05,0.08 0.02,0.03 0.04,0.06 0.08,0.08 0.03,0.02 0.06,0.02 0.1,0.02 0.06,0.01 0.13,-0.05 0.14,-0.11 0,-0.02 0.01,-0.05 0.01,-0.07 0,-0.05 -0.02,-0.09 -0.05,-0.13 -0.01,-0.02 -0.04,-0.05 -0.06,-0.08 z"
+   id="path2062" />
+			<path
+   class="st1"
+   d="m 692.36,192.01 c -0.08,-0.1 -0.15,-0.21 -0.24,-0.31 -0.17,-0.2 -0.36,-0.4 -0.54,-0.59 l -1.06,-1.16 c -0.17,-0.18 -0.43,0.09 -0.27,0.27 0.34,0.4 0.69,0.79 1.03,1.19 0.17,0.2 0.33,0.39 0.51,0.58 0.09,0.09 0.18,0.18 0.27,0.27 0.09,0.1 0.18,0.19 0.3,0.26 0.14,0.08 0.26,-0.08 0.21,-0.21 -0.05,-0.11 -0.14,-0.2 -0.21,-0.3 z"
+   id="path2064" />
+			<path
+   class="st1"
+   d="m 694.22,195.08 -0.46,-0.87 c -0.08,-0.16 -0.32,-0.02 -0.24,0.14 0.14,0.29 0.29,0.58 0.43,0.87 0.07,0.14 0.14,0.29 0.22,0.42 0.08,0.14 0.14,0.3 0.27,0.4 0.06,0.05 0.17,0.02 0.17,-0.07 0,-0.17 -0.1,-0.32 -0.17,-0.47 -0.07,-0.14 -0.14,-0.28 -0.22,-0.42 z"
+   id="path2066" />
+			<path
+   class="st1"
+   d="m 695.46,197.4 c 0.02,0.02 0.03,0.04 0.05,0.05 0.02,0.02 0.04,0.04 0.07,0.05 0.02,0.01 0.05,0.01 0.06,-0.01 0.02,-0.02 0.02,-0.04 0.01,-0.06 -0.01,-0.01 -0.01,-0.02 -0.02,-0.03 -0.01,-0.01 -0.02,-0.03 -0.03,-0.04 -0.02,-0.02 -0.03,-0.04 -0.05,-0.06 -0.03,-0.04 -0.07,-0.08 -0.1,-0.12 -0.01,-0.01 -0.03,-0.02 -0.05,-0.02 -0.02,0 -0.04,0.01 -0.05,0.02 -0.03,0.03 -0.03,0.07 0,0.1 0.04,0.05 0.08,0.08 0.11,0.12 z"
+   id="path2068" />
+			<path
+   class="st1"
+   d="m 697.77,196.43 c 0.01,-0.02 0.02,-0.04 0.02,-0.07 0,-0.03 -0.01,-0.05 -0.02,-0.07 -0.02,-0.04 -0.04,-0.08 -0.05,-0.12 -0.01,-0.02 -0.02,-0.04 -0.03,-0.06 -0.01,-0.02 -0.02,-0.04 -0.04,-0.05 -0.01,-0.02 -0.02,-0.03 -0.04,-0.03 -0.02,-0.01 -0.04,-0.01 -0.05,0 -0.04,0.01 -0.06,0.04 -0.06,0.08 0,0.02 0,0.04 0,0.07 0,0.02 0,0.04 0.01,0.06 0,0.04 0.01,0.09 0.01,0.13 0,0.03 0.01,0.05 0.02,0.07 0.01,0.02 0.03,0.04 0.05,0.05 0.03,0.02 0.07,0.02 0.11,0.01 0.02,-0.02 0.05,-0.04 0.07,-0.07 z"
+   id="path2070" />
+			<path
+   class="st1"
+   d="m 694.78,189.54 -1.2,-1.12 c -0.14,-0.13 -0.35,0.08 -0.21,0.21 0.4,0.39 0.79,0.78 1.19,1.17 0.39,0.38 0.77,0.79 1.21,1.12 0.14,0.11 0.27,-0.11 0.17,-0.23 -0.34,-0.41 -0.76,-0.78 -1.16,-1.15 z"
+   id="path2072" />
+			<path
+   class="st1"
+   d="m 698.44,194.56 c -0.08,-0.16 -0.16,-0.32 -0.24,-0.48 -0.16,-0.32 -0.32,-0.63 -0.47,-0.95 -0.07,-0.15 -0.29,-0.02 -0.22,0.13 0.16,0.32 0.31,0.63 0.47,0.95 0.08,0.15 0.15,0.31 0.23,0.46 0.04,0.08 0.08,0.15 0.12,0.23 0.04,0.08 0.07,0.16 0.15,0.21 0.07,0.05 0.16,-0.02 0.16,-0.09 0.01,-0.09 -0.05,-0.17 -0.09,-0.25 -0.04,-0.07 -0.07,-0.14 -0.11,-0.21 z"
+   id="path2074" />
+			<path
+   class="st1"
+   d="m 545.88,287.61 c -0.16,-0.1 -0.31,-0.21 -0.47,-0.31 -0.06,-0.04 -0.15,-0.01 -0.19,0.05 -0.04,0.07 -0.01,0.14 0.05,0.19 0.15,0.11 0.3,0.23 0.45,0.34 0.15,0.12 0.28,0.23 0.45,0.34 0.08,0.05 0.2,0.02 0.24,-0.06 0.05,-0.09 0.02,-0.18 -0.06,-0.24 -0.16,-0.11 -0.32,-0.21 -0.47,-0.31 z"
+   id="path2076" />
+			<path
+   class="st1"
+   d="m 536.73,277.33 c 0.14,0.11 0.33,-0.07 0.2,-0.2 -0.53,-0.55 -1.16,-1.14 -1.43,-1.87 -0.13,-0.35 -0.17,-0.72 -0.24,-1.08 -0.08,-0.39 -0.11,-0.8 -0.1,-1.2 0,-0.16 -0.24,-0.16 -0.25,0 -0.02,0.4 0,0.81 0.07,1.21 0.07,0.4 0.25,0.75 0.42,1.12 0.17,0.37 0.31,0.74 0.52,1.09 0.23,0.35 0.49,0.68 0.81,0.93 z"
+   id="path2078" />
+			<path
+   class="st1"
+   d="m 535.88,273.49 c -0.01,0.31 0.03,0.63 0.12,0.93 0.08,0.29 0.2,0.62 0.44,0.82 0.06,0.05 0.15,0 0.13,-0.08 -0.08,-0.28 -0.23,-0.53 -0.32,-0.81 -0.09,-0.28 -0.14,-0.57 -0.14,-0.86 0,-0.15 -0.23,-0.15 -0.23,0 z"
+   id="path2080" />
+			<path
+   class="st1"
+   d="m 537.22,276.08 c -0.01,-0.01 -0.02,-0.02 -0.02,-0.03 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.03,-0.05 -0.07,-0.09 -0.1,-0.14 -0.02,-0.03 -0.06,-0.05 -0.1,-0.03 -0.03,0.02 -0.05,0.06 -0.03,0.1 0.03,0.04 0.05,0.09 0.08,0.13 0.01,0.02 0.03,0.04 0.04,0.06 0.02,0.03 0.03,0.05 0.05,0.08 0.02,0.03 0.05,0.06 0.09,0.06 0.03,0 0.06,-0.03 0.07,-0.06 0,-0.02 -0.01,-0.04 -0.02,-0.07 -0.01,-0.02 -0.01,-0.03 -0.02,-0.04 z"
+   id="path2082" />
+			<path
+   class="st1"
+   d="m 536.76,273.87 c -0.02,-0.09 -0.16,-0.05 -0.14,0.04 0.1,0.62 0.37,1.27 0.83,1.72 0.05,0.04 0.13,-0.02 0.09,-0.07 -0.18,-0.25 -0.36,-0.51 -0.5,-0.79 -0.13,-0.29 -0.22,-0.59 -0.28,-0.9 z"
+   id="path2084" />
+			<path
+   class="st1"
+   d="m 537.77,274.6 c -0.08,-0.12 -0.15,-0.23 -0.22,-0.36 -0.12,-0.25 -0.2,-0.52 -0.24,-0.79 -0.02,-0.13 -0.25,-0.1 -0.24,0.03 0.03,0.3 0.11,0.6 0.23,0.87 0.06,0.13 0.13,0.26 0.21,0.38 0.04,0.07 0.1,0.12 0.15,0.18 0.06,0.06 0.11,0.12 0.18,0.15 0.07,0.03 0.18,-0.02 0.14,-0.11 -0.03,-0.07 -0.07,-0.12 -0.11,-0.18 -0.03,-0.05 -0.06,-0.11 -0.1,-0.17 z"
+   id="path2086" />
+			<path
+   class="st1"
+   d="m 538.32,274 c -0.07,-0.18 -0.14,-0.36 -0.21,-0.55 -0.03,-0.07 -0.09,-0.11 -0.16,-0.09 -0.07,0.02 -0.12,0.09 -0.09,0.16 0.07,0.19 0.13,0.37 0.2,0.56 0.03,0.09 0.06,0.18 0.1,0.28 0.04,0.1 0.08,0.19 0.13,0.29 0.07,0.13 0.25,0.04 0.22,-0.09 -0.02,-0.1 -0.05,-0.19 -0.08,-0.29 -0.04,-0.09 -0.07,-0.18 -0.11,-0.27 z"
+   id="path2088" />
+			<path
+   class="st1"
+   d="m 544.29,271.15 c 0.07,0.08 0.13,0.15 0.2,0.23 0.07,0.08 0.15,0.19 0.25,0.21 0.06,0.01 0.14,-0.03 0.14,-0.1 0,-0.03 -0.01,-0.07 -0.03,-0.1 -0.01,-0.02 -0.03,-0.04 -0.04,-0.06 -0.04,-0.05 -0.07,-0.09 -0.11,-0.14 -0.07,-0.08 -0.14,-0.16 -0.21,-0.23 -0.14,-0.16 -0.28,-0.31 -0.42,-0.47 -0.05,-0.05 -0.14,-0.05 -0.19,0 -0.05,0.05 -0.05,0.13 0,0.19 0.14,0.16 0.27,0.32 0.41,0.47 z"
+   id="path2090" />
+			<path
+   class="st1"
+   d="m 544.97,272.72 c -0.09,0 -0.09,0.15 0,0.15 0.1,-0.01 0.1,-0.15 0,-0.15 z"
+   id="path2092" />
+			<path
+   class="st1"
+   d="m 545.79,273.11 c 0.02,0.05 0.08,0.08 0.12,0.03 0.09,-0.1 0.09,-0.24 0.1,-0.36 0.01,-0.13 0.01,-0.26 0,-0.39 -0.03,-0.28 -0.09,-0.55 -0.19,-0.81 -0.21,-0.51 -0.55,-0.94 -1,-1.25 -0.1,-0.07 -0.19,0.09 -0.09,0.16 0.41,0.29 0.73,0.71 0.9,1.19 0.09,0.23 0.14,0.47 0.16,0.72 0.01,0.12 0.01,0.24 0,0.35 0,0.11 -0.04,0.24 0,0.36 z"
+   id="path2094" />
+			<path
+   class="st1"
+   d="m 546.45,271.05 c -0.26,-0.6 -0.64,-1.16 -1.1,-1.63 -0.09,-0.09 -0.22,0.05 -0.14,0.14 0.43,0.46 0.78,1 1.02,1.58 0.11,0.27 0.21,0.56 0.27,0.85 0.07,0.3 0.07,0.64 0.18,0.92 0.03,0.06 0.12,0.07 0.14,0 0.08,-0.29 -0.01,-0.65 -0.07,-0.93 -0.07,-0.32 -0.17,-0.63 -0.3,-0.93 z"
+   id="path2096" />
+			<path
+   class="st1"
+   d="m 544.8,268.44 c 0.29,0.19 0.56,0.39 0.81,0.63 0.48,0.46 0.88,0.98 1.2,1.57 0.32,0.58 0.54,1.2 0.68,1.85 0.15,0.67 0.14,1.33 0.15,2 0,0.14 0.21,0.18 0.25,0.03 0.36,-1.34 -0.09,-2.9 -0.76,-4.07 -0.34,-0.61 -0.8,-1.18 -1.31,-1.65 -0.25,-0.24 -0.52,-0.46 -0.8,-0.66 -0.26,-0.18 -0.6,-0.43 -0.92,-0.42 -0.11,0 -0.14,0.12 -0.08,0.2 0.19,0.23 0.53,0.36 0.78,0.52 z"
+   id="path2098" />
+			<path
+   class="st1"
+   d="m 542.3,277.49 c 0.17,-0.03 0.33,-0.08 0.49,-0.15 0.17,-0.07 0.34,-0.14 0.47,-0.28 0.07,-0.08 0,-0.22 -0.11,-0.19 -0.15,0.04 -0.29,0.13 -0.43,0.19 -0.15,0.06 -0.3,0.11 -0.46,0.14 -0.31,0.07 -0.63,0.09 -0.94,0.04 -0.07,-0.01 -0.14,0.02 -0.16,0.09 -0.02,0.06 0.02,0.15 0.09,0.16 0.35,0.07 0.7,0.07 1.05,0 z"
+   id="path2100" />
+			<path
+   class="st1"
+   d="m 540.85,278.18 c 0.63,0.19 1.3,0.17 1.92,-0.04 0.3,-0.1 0.59,-0.25 0.85,-0.43 0.26,-0.18 0.54,-0.4 0.66,-0.7 0.03,-0.09 -0.08,-0.17 -0.15,-0.12 -0.24,0.16 -0.42,0.39 -0.65,0.55 -0.25,0.17 -0.51,0.31 -0.8,0.41 -0.56,0.19 -1.18,0.24 -1.76,0.12 -0.14,-0.02 -0.2,0.17 -0.07,0.21 z"
+   id="path2102" />
+			<path
+   class="st1"
+   d="m 540.07,278.49 c -0.05,-0.04 -0.12,-0.05 -0.17,0 -0.04,0.04 -0.05,0.12 0,0.17 0.18,0.16 0.39,0.28 0.61,0.37 0.1,0.04 0.21,0.08 0.32,0.11 0.11,0.03 0.26,0.05 0.37,0.01 0.06,-0.02 0.08,-0.11 0.02,-0.15 -0.09,-0.05 -0.2,-0.07 -0.3,-0.1 -0.11,-0.02 -0.21,-0.06 -0.31,-0.1 -0.2,-0.07 -0.38,-0.17 -0.54,-0.31 z"
+   id="path2104" />
+			<path
+   class="st1"
+   d="m 543.88,278.07 c -0.54,0.39 -1.17,0.67 -1.82,0.83 -0.1,0.02 -0.08,0.19 0.02,0.18 0.72,-0.08 1.37,-0.35 1.96,-0.77 0.28,-0.2 0.55,-0.43 0.78,-0.69 0.12,-0.13 0.23,-0.26 0.33,-0.4 0.1,-0.14 0.22,-0.29 0.19,-0.47 -0.01,-0.05 -0.08,-0.09 -0.12,-0.07 -0.15,0.06 -0.21,0.2 -0.3,0.32 -0.1,0.14 -0.2,0.28 -0.31,0.41 -0.22,0.24 -0.47,0.47 -0.73,0.66 z"
+   id="path2106" />
+			<path
+   class="st1"
+   d="m 546.59,276.91 c -0.25,0.21 -0.41,0.48 -0.61,0.73 -0.2,0.25 -0.43,0.48 -0.67,0.7 -0.5,0.45 -1.09,0.81 -1.72,1.06 -1.44,0.57 -2.97,0.46 -4.42,-0.03 -0.13,-0.04 -0.21,0.16 -0.09,0.22 1.42,0.71 3.18,0.71 4.65,0.13 0.64,-0.26 1.24,-0.62 1.76,-1.07 0.49,-0.42 1.11,-1 1.24,-1.66 0.02,-0.08 -0.07,-0.14 -0.14,-0.08 z"
+   id="path2108" />
+			<path
+   class="st1"
+   d="m 539.18,270.54 c 0.08,-0.04 0.17,-0.09 0.26,-0.12 0.08,-0.03 0.17,-0.03 0.26,-0.05 0.17,-0.03 0.35,-0.06 0.52,-0.07 0.16,-0.01 0.35,0.02 0.5,-0.04 0.06,-0.03 0.05,-0.11 0,-0.14 -0.15,-0.09 -0.38,-0.04 -0.55,-0.02 -0.19,0.02 -0.38,0.07 -0.55,0.15 -0.09,0.04 -0.16,0.09 -0.25,0.13 -0.08,0.03 -0.16,0.07 -0.23,0.11 -0.17,0.09 -0.32,0.19 -0.47,0.31 -0.03,0.03 0.01,0.07 0.05,0.05 0.15,-0.13 0.3,-0.23 0.46,-0.31 z"
+   id="path2110" />
+			<path
+   class="st1"
+   d="m 538.14,271.05 c 0.37,-0.32 0.72,-0.64 1.15,-0.87 0.21,-0.12 0.43,-0.21 0.65,-0.29 0.22,-0.07 0.49,-0.08 0.68,-0.21 0.07,-0.04 0.05,-0.13 -0.02,-0.16 -0.23,-0.08 -0.53,0.02 -0.76,0.09 -0.25,0.07 -0.49,0.17 -0.72,0.29 -0.45,0.23 -0.91,0.57 -1.17,1.01 -0.06,0.12 0.09,0.22 0.19,0.14 z"
+   id="path2112" />
+			<path
+   class="st1"
+   d="m 539.16,269.43 c 0.16,-0.06 0.32,-0.11 0.49,-0.15 0.16,-0.03 0.38,-0.02 0.5,-0.14 0.05,-0.04 0.03,-0.11 -0.02,-0.14 -0.15,-0.1 -0.38,-0.02 -0.54,0.01 -0.18,0.04 -0.37,0.1 -0.54,0.19 -0.33,0.16 -0.64,0.39 -0.9,0.65 -0.06,0.07 0.03,0.16 0.1,0.1 0.27,-0.22 0.58,-0.4 0.91,-0.52 z"
+   id="path2114" />
+			<path
+   class="st1"
+   d="m 541.03,268.32 c -0.32,-0.15 -0.81,-0.04 -1.14,0.02 -0.4,0.08 -0.78,0.21 -1.15,0.39 -0.74,0.36 -1.31,0.93 -1.73,1.63 -0.04,0.07 0.06,0.13 0.11,0.06 0.42,-0.62 1.06,-1.11 1.73,-1.44 0.33,-0.16 0.69,-0.28 1.05,-0.36 0.18,-0.04 0.36,-0.06 0.55,-0.07 0.18,-0.01 0.39,0.02 0.56,-0.04 0.08,-0.03 0.11,-0.15 0.02,-0.19 z"
+   id="path2116" />
+			<path
+   class="st1"
+   d="m 535.97,270.54 c 0.62,-0.91 1.45,-1.71 2.42,-2.24 0.48,-0.26 0.99,-0.46 1.52,-0.6 0.53,-0.13 1.07,-0.16 1.61,-0.24 0.14,-0.02 0.14,-0.26 0,-0.28 -1.11,-0.18 -2.36,0.27 -3.31,0.8 -1.03,0.58 -1.88,1.4 -2.42,2.45 -0.07,0.12 0.1,0.22 0.18,0.11 z"
+   id="path2118" />
+		</g>
+	</g>
+	<g
+   id="g2144">
+		<path
+   class="st1"
+   d="m 427.56,560.64 c 1.26,1.22 1.88,2.64 1.88,4.26 0,2.68 -0.75,4.63 -2.25,5.84 -1.5,1.22 -3.87,1.7 -7.12,1.46 -7.3,-0.57 -13,-0.95 -17.1,-1.16 -4.1,-0.2 -9.48,-0.34 -16.13,-0.43 -3,14.93 -5.76,29.94 -8.28,45.03 -0.89,5.52 -1.83,11.91 -2.8,19.17 -0.97,7.26 -1.62,13.13 -1.95,17.59 -0.16,2.35 -1.13,4.16 -2.92,5.42 -1.78,1.26 -3.93,1.89 -6.45,1.89 -2.68,0 -4.75,-0.65 -6.21,-1.95 -1.46,-1.3 -2.19,-3 -2.19,-5.11 0,-1.95 0.3,-5.17 0.91,-9.68 0.61,-4.5 1.32,-9.23 2.13,-14.18 0.89,-4.95 1.58,-9.25 2.07,-12.9 0.89,-6.17 1.91,-12.29 3.04,-18.38 1.13,-6.09 2.27,-11.85 3.41,-17.28 0.24,-1.22 0.53,-2.62 0.85,-4.2 0.32,-1.58 0.69,-3.35 1.1,-5.29 -7.95,0.24 -14.2,0.89 -18.74,1.95 -4.54,1.06 -7.77,2.54 -9.67,4.44 -1.91,1.91 -2.86,4.36 -2.86,7.36 0,2.76 0.81,5.4 2.43,7.91 0.32,0.57 0.49,1.18 0.49,1.83 0,1.54 -0.91,2.98 -2.74,4.32 -1.83,1.34 -3.71,2.01 -5.66,2.01 -1.38,0 -2.51,-0.4 -3.41,-1.22 -1.63,-1.38 -2.96,-3.35 -4.02,-5.9 -1.06,-2.56 -1.58,-5.46 -1.58,-8.7 0,-6.9 2.25,-12.43 6.76,-16.61 4.5,-4.18 11.36,-7.24 20.57,-9.19 9.21,-1.95 21.03,-2.92 35.48,-2.92 8.92,0 16.05,0.16 21.36,0.49 5.31,0.32 9.96,0.85 13.94,1.58 2.51,0.48 4.4,1.34 5.66,2.55 z"
+   id="path2124" />
+		<path
+   class="st1"
+   d="m 480.26,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3.73,4.3 -7.57,7.83 -11.5,10.59 -3.94,2.76 -8.42,4.14 -13.45,4.14 -4.14,0 -7.27,-1.2 -9.37,-3.59 -2.11,-2.39 -3.16,-5.86 -3.16,-10.41 0,-2.27 0.57,-6.33 1.7,-12.17 1.05,-5.11 1.58,-8.64 1.58,-10.59 0,-1.3 -0.45,-1.95 -1.34,-1.95 -1.06,0 -2.56,1.36 -4.5,4.08 -1.95,2.72 -3.89,6.31 -5.84,10.77 -1.95,4.46 -3.53,9.17 -4.75,14.12 -1.54,6.49 -5.36,9.74 -11.44,9.74 -2.43,0 -4.04,-0.87 -4.81,-2.62 -0.77,-1.74 -1.16,-4.89 -1.16,-9.43 0,-2.6 0.04,-4.66 0.12,-6.21 l 0.12,-9.74 c 0,-12.5 1.28,-25.52 3.83,-39.07 2.56,-13.55 6.33,-24.93 11.32,-34.14 4.99,-9.21 10.97,-13.81 17.95,-13.81 3.73,0 6.76,1.6 9.07,4.81 2.31,3.21 3.47,7.36 3.47,12.48 0,8.2 -2.39,16.7 -7.18,25.5 -4.79,8.81 -12.58,19.09 -23.37,30.85 -0.25,4.22 -0.37,8.56 -0.37,13.02 2.68,-6.9 5.66,-12.52 8.95,-16.86 3.29,-4.34 6.53,-7.44 9.74,-9.31 3.2,-1.87 6.15,-2.8 8.82,-2.8 5.27,0 7.91,2.64 7.91,7.91 0,3.16 -0.89,8.89 -2.68,17.16 -1.54,7.06 -2.31,11.73 -2.31,14 0,3.25 1.17,4.87 3.53,4.87 1.62,0 3.55,-0.99 5.78,-2.98 2.23,-1.99 5.21,-5.21 8.95,-9.68 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,-0.01 1.89,0.47 2.5,1.45 z m -43.51,-70.41 c -1.78,4.18 -3.51,9.82 -5.17,16.92 -1.66,7.1 -3.02,14.83 -4.08,23.19 5.03,-5.92 9.19,-12.37 12.48,-19.35 3.29,-6.98 4.93,-13.31 4.93,-18.99 0,-2.6 -0.29,-4.58 -0.85,-5.96 -0.57,-1.38 -1.38,-2.07 -2.44,-2.07 -1.46,-0.01 -3.09,2.08 -4.87,6.26 z"
+   id="path2126" />
+		<path
+   class="st1"
+   d="m 528.09,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3,3.65 -7.24,7.02 -12.72,10.1 -5.48,3.08 -11.34,4.62 -17.59,4.62 -8.52,0 -15.13,-2.31 -19.84,-6.94 -4.71,-4.63 -7.06,-10.95 -7.06,-18.99 0,-5.6 1.18,-10.81 3.53,-15.64 2.35,-4.83 5.62,-8.66 9.8,-11.5 4.18,-2.84 8.9,-4.26 14.18,-4.26 4.71,0 8.48,1.4 11.32,4.2 2.84,2.8 4.26,6.59 4.26,11.38 0,5.6 -2.01,10.41 -6.02,14.42 -4.02,4.02 -10.81,7.2 -20.39,9.55 2.03,3.73 5.88,5.6 11.56,5.6 3.65,0 7.81,-1.28 12.47,-3.83 4.67,-2.56 8.7,-5.9 12.11,-10.04 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,0 1.9,0.48 2.5,1.46 z m -40.77,-13.88 c -2.07,3.49 -3.1,7.71 -3.1,12.66 v 0.24 c 4.79,-1.14 8.56,-2.84 11.32,-5.11 2.76,-2.27 4.14,-4.91 4.14,-7.91 0,-1.54 -0.43,-2.78 -1.28,-3.71 -0.85,-0.93 -2.01,-1.4 -3.47,-1.4 -3.01,0 -5.54,1.74 -7.61,5.23 z"
+   id="path2128" />
+		<path
+   class="st1"
+   d="m 583.65,623.33 c 0.57,1.06 0.85,2.39 0.85,4.02 0,3.9 -1.18,6.21 -3.53,6.94 -4.87,1.7 -10.22,2.68 -16.07,2.92 -1.54,6.82 -4.58,12.27 -9.13,16.37 -4.54,4.1 -9.7,6.15 -15.46,6.15 -4.87,0 -9.03,-1.17 -12.47,-3.53 -3.45,-2.35 -6.07,-5.48 -7.85,-9.37 -1.79,-3.89 -2.68,-8.11 -2.68,-12.66 0,-6.16 1.18,-11.66 3.53,-16.49 2.35,-4.83 5.6,-8.6 9.74,-11.32 4.14,-2.72 8.72,-4.08 13.75,-4.08 6.16,0 11.14,2.13 14.91,6.39 3.77,4.26 5.98,9.51 6.63,15.76 3.81,-0.24 8.36,-1.05 13.63,-2.43 0.65,-0.16 1.22,-0.24 1.7,-0.24 1.07,-0.02 1.89,0.51 2.45,1.57 z m -35.6,20.32 c 1.91,-2.11 3.19,-5.15 3.83,-9.13 -2.51,-1.7 -4.44,-3.93 -5.78,-6.69 -1.34,-2.76 -2.01,-5.68 -2.01,-8.76 0,-1.3 0.12,-2.6 0.37,-3.9 h -0.61 c -3.25,0 -5.95,1.56 -8.09,4.69 -2.15,3.12 -3.22,7.53 -3.22,13.21 0,4.46 0.87,7.87 2.61,10.22 1.74,2.35 3.79,3.53 6.15,3.53 2.59,0 4.84,-1.06 6.75,-3.17 z"
+   id="path2130" />
+		<path
+   class="st1"
+   d="m 645.67,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3.33,4.06 -6.98,7.53 -10.95,10.41 -3.98,2.88 -7.91,4.32 -11.81,4.32 -6.17,0 -10.88,-3.61 -14.12,-10.83 -3.41,4.3 -6.39,7.18 -8.95,8.64 -2.56,1.46 -5.54,2.19 -8.95,2.19 -4.95,0 -9.03,-1.84 -12.23,-5.54 -3.21,-3.69 -4.81,-8.5 -4.81,-14.42 0,-6.49 1.38,-12.52 4.14,-18.07 2.76,-5.56 6.55,-10.1 11.38,-13.63 4.83,-3.53 10.24,-5.62 16.25,-6.27 1.54,-15.74 4.48,-29.19 8.82,-40.35 4.34,-11.16 10.04,-16.74 17.1,-16.74 3.49,0 6.39,1.58 8.7,4.75 2.31,3.16 3.47,7.95 3.47,14.36 0,9.09 -2.23,19.72 -6.7,31.89 -4.46,12.17 -10.43,24.67 -17.89,37.49 0.32,4.71 1.03,8.07 2.13,10.1 1.1,2.03 2.5,3.04 4.2,3.04 2.19,0 4.42,-0.97 6.69,-2.92 2.27,-1.95 5.31,-5.19 9.13,-9.74 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,-0.01 1.9,0.47 2.51,1.45 z m -47.29,12.11 c 1.54,-1.26 3.49,-3.59 5.84,-7 -0.81,-4.38 -1.22,-9.29 -1.22,-14.73 0,-1.95 0.08,-5.11 0.25,-9.49 -4.47,1.38 -8.18,4.36 -11.14,8.95 -2.96,4.59 -4.44,9.68 -4.44,15.27 0,5.92 2.03,8.89 6.09,8.89 1.54,-0.01 3.08,-0.63 4.62,-1.89 z m 25.81,-80.7 c -1.54,5.48 -2.86,12.64 -3.96,21.48 -1.1,8.85 -1.89,18.1 -2.38,27.75 9.09,-19.8 13.63,-35.7 13.63,-47.71 0,-3.08 -0.26,-5.48 -0.79,-7.18 -0.53,-1.7 -1.16,-2.56 -1.89,-2.56 -1.53,0.01 -3.08,2.74 -4.61,8.22 z"
+   id="path2132" />
+		<path
+   class="st1"
+   d="m 701.23,623.33 c 0.57,1.06 0.85,2.39 0.85,4.02 0,3.9 -1.18,6.21 -3.53,6.94 -4.87,1.7 -10.22,2.68 -16.07,2.92 -1.54,6.82 -4.58,12.27 -9.13,16.37 -4.54,4.1 -9.7,6.15 -15.46,6.15 -4.87,0 -9.03,-1.17 -12.47,-3.53 -3.45,-2.35 -6.07,-5.48 -7.85,-9.37 -1.79,-3.89 -2.68,-8.11 -2.68,-12.66 0,-6.16 1.18,-11.66 3.53,-16.49 2.35,-4.83 5.6,-8.6 9.74,-11.32 4.14,-2.72 8.72,-4.08 13.75,-4.08 6.16,0 11.14,2.13 14.91,6.39 3.77,4.26 5.98,9.51 6.63,15.76 3.81,-0.24 8.36,-1.05 13.63,-2.43 0.65,-0.16 1.22,-0.24 1.7,-0.24 1.07,-0.02 1.88,0.51 2.45,1.57 z m -35.6,20.32 c 1.91,-2.11 3.19,-5.15 3.83,-9.13 -2.51,-1.7 -4.44,-3.93 -5.78,-6.69 -1.34,-2.76 -2.01,-5.68 -2.01,-8.76 0,-1.3 0.12,-2.6 0.37,-3.9 h -0.61 c -3.25,0 -5.95,1.56 -8.09,4.69 -2.15,3.12 -3.22,7.53 -3.22,13.21 0,4.46 0.87,7.87 2.61,10.22 1.74,2.35 3.79,3.53 6.15,3.53 2.59,0 4.84,-1.06 6.75,-3.17 z"
+   id="path2134" />
+		<path
+   class="st1"
+   d="m 740.24,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3.49,4.3 -7.28,7.83 -11.38,10.59 -4.1,2.76 -8.74,4.14 -13.94,4.14 -7.14,0 -12.43,-3.24 -15.88,-9.74 -3.45,-6.49 -5.17,-14.89 -5.17,-25.19 0,-9.9 1.28,-21.18 3.83,-33.84 2.55,-12.66 6.33,-23.53 11.32,-32.62 4.99,-9.09 10.93,-13.63 17.83,-13.63 3.9,0 6.96,1.81 9.19,5.42 2.23,3.61 3.35,8.78 3.35,15.52 0,9.66 -2.68,20.85 -8.03,33.59 -5.36,12.74 -12.62,25.36 -21.79,37.85 0.57,3.33 1.5,5.7 2.8,7.12 1.3,1.42 3,2.13 5.11,2.13 3.32,0 6.25,-0.95 8.76,-2.86 2.51,-1.91 5.72,-5.17 9.61,-9.8 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,-0.01 1.89,0.47 2.5,1.45 z m -23.8,-66.58 c -2.35,6.74 -4.42,15.09 -6.21,25.07 -1.79,9.98 -2.76,19.56 -2.92,28.72 5.76,-9.49 10.34,-19.01 13.75,-28.54 3.41,-9.53 5.11,-18.24 5.11,-26.11 0,-6.17 -1.14,-9.25 -3.41,-9.25 -1.86,0.01 -3.96,3.38 -6.32,10.11 z"
+   id="path2136" />
+		<path
+   class="st1"
+   d="m 734.76,654.12 c -2.39,-3.73 -3.59,-8.68 -3.59,-14.85 0,-3.65 0.46,-8.34 1.4,-14.06 0.93,-5.72 2.13,-11.05 3.59,-16 0.73,-2.6 1.7,-4.38 2.92,-5.36 1.22,-0.97 3.17,-1.46 5.84,-1.46 4.14,0 6.21,1.38 6.21,4.14 0,2.03 -0.77,6.74 -2.31,14.12 -1.95,8.93 -2.92,14.97 -2.92,18.14 0,2.43 0.32,4.3 0.97,5.6 0.65,1.3 1.74,1.95 3.29,1.95 1.46,0 3.29,-1.01 5.48,-3.04 2.19,-2.03 5.11,-5.23 8.76,-9.61 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,0 1.89,0.49 2.5,1.46 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -8.03,9.82 -15.54,14.73 -22.51,14.73 -5.29,-0.03 -9.13,-1.9 -11.52,-5.63 z m 4.81,-62.14 c -1.7,-1.58 -2.56,-3.79 -2.56,-6.63 0,-2.84 1.12,-5.21 3.35,-7.12 2.23,-1.91 5.01,-2.86 8.34,-2.86 3,0 5.44,0.73 7.3,2.19 1.87,1.46 2.8,3.53 2.8,6.21 0,3.25 -1.06,5.82 -3.16,7.73 -2.11,1.91 -4.91,2.86 -8.4,2.86 -3.41,0 -5.97,-0.79 -7.67,-2.38 z"
+   id="path2138" />
+		<path
+   class="st1"
+   d="m 818.01,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3.49,4.3 -7.3,7.83 -11.44,10.59 -4.14,2.76 -8.89,4.14 -14.24,4.14 -16.55,0 -24.83,-11.64 -24.83,-34.93 0,-3.57 0.12,-7.18 0.36,-10.83 h -4.74 c -2.44,0 -4.08,-0.45 -4.93,-1.34 -0.85,-0.89 -1.28,-2.31 -1.28,-4.26 0,-4.54 1.83,-6.82 5.48,-6.82 h 6.94 c 1.38,-8.92 3.49,-17.08 6.33,-24.46 2.84,-7.38 6.27,-13.27 10.29,-17.65 4.02,-4.38 8.34,-6.57 12.96,-6.57 3.41,0 6.09,1.5 8.03,4.5 1.95,3 2.92,6.78 2.92,11.32 0,12.58 -5.28,23.53 -15.82,32.86 h 13.63 c 1.3,0 2.23,0.29 2.8,0.85 0.57,0.57 0.85,1.62 0.85,3.16 0,5.6 -4.58,8.4 -13.75,8.4 h -14.85 c -0.16,4.06 -0.24,7.22 -0.24,9.49 0,8.44 0.99,14.36 2.98,17.77 1.99,3.41 5.13,5.11 9.43,5.11 3.49,0 6.57,-1.05 9.25,-3.16 2.68,-2.11 5.84,-5.27 9.49,-9.49 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.05,-0.01 1.88,0.47 2.49,1.45 z M 790.14,569.1 c -1.5,3.04 -2.92,7.26 -4.26,12.66 -1.34,5.4 -2.45,11.38 -3.35,17.95 4.79,-4.14 8.38,-8.78 10.77,-13.94 2.39,-5.15 3.59,-9.84 3.59,-14.06 0,-4.79 -0.89,-7.18 -2.68,-7.18 -1.21,0.01 -2.57,1.53 -4.07,4.57 z"
+   id="path2140" />
+		<path
+   class="st1"
+   d="m 865.84,633.43 c 0.61,0.97 0.91,2.31 0.91,4.02 0,3.25 -0.77,5.76 -2.31,7.55 -3,3.65 -7.24,7.02 -12.72,10.1 -5.48,3.08 -11.34,4.62 -17.59,4.62 -8.52,0 -15.13,-2.31 -19.84,-6.94 -4.71,-4.63 -7.06,-10.95 -7.06,-18.99 0,-5.6 1.18,-10.81 3.53,-15.64 2.35,-4.83 5.62,-8.66 9.8,-11.5 4.18,-2.84 8.9,-4.26 14.18,-4.26 4.71,0 8.48,1.4 11.32,4.2 2.84,2.8 4.26,6.59 4.26,11.38 0,5.6 -2.01,10.41 -6.02,14.42 -4.02,4.02 -10.81,7.2 -20.39,9.55 2.03,3.73 5.88,5.6 11.56,5.6 3.65,0 7.81,-1.28 12.47,-3.83 4.67,-2.56 8.7,-5.9 12.11,-10.04 0.97,-1.14 2.07,-1.7 3.29,-1.7 1.06,0 1.89,0.48 2.5,1.46 z m -40.77,-13.88 c -2.07,3.49 -3.1,7.71 -3.1,12.66 v 0.24 c 4.79,-1.14 8.56,-2.84 11.32,-5.11 2.76,-2.27 4.14,-4.91 4.14,-7.91 0,-1.54 -0.43,-2.78 -1.28,-3.71 -0.85,-0.93 -2.01,-1.4 -3.47,-1.4 -3.01,0 -5.54,1.74 -7.61,5.23 z"
+   id="path2142" />
+	</g>
+</g>
+</svg>
diff --git a/docs/creating-a-benchmark-old.md b/docs/creating-a-benchmark-old.md
deleted file mode 100644
index 3664bebf8a2258a7ed33aab249716cd7135ecd35..0000000000000000000000000000000000000000
--- a/docs/creating-a-benchmark-old.md
+++ /dev/null
@@ -1,36 +0,0 @@
-* Create a benchmark for operator mode
-* Create a benchmark for standalone mode
-* Deploy a benchmark
-
-## Creating a benchmark for operator mode
-
-### App and Workload Generator Resources
-
-### Load and Resource Types
-
-### Kafka Configuration
-
-
-### Make benchmark Kubernetes resources accessible
-
-* A benchmark is defined by a set of Kubernetes resources, which are automatically deployed and scaled by Theodolite.
-* To make these resources accessible by the Theodolite operator, we need to add them to a volume, already mounted by Theodolite. The easiest way to do this is by adding the resources to the ConfigMap `benchmark-resources-custom`, which is mounted by Theodolite with its default installation.
-
-
-
-
-
-## Creating a benchmark for standalone mode
-
-Creating a benchmark in standalone mode is similar to operator mode. However,
-instead of defining a benchmark as `Benchmark` resource, it is defined as a
-benchmark YAML file. Such a file deviates in the following points from a
-`Benchmark` resource:
-
-* The fields `apiVersion`, `kind` and `metadata` should be removed.
-* The benchmark's name (`metadata.name` in `Benchmark` resources) must be defined by the top-level field `name`.
-* Everything that is defined in `spec` has to be moved to the top-level.
-
-**TODO: example**
-
-**TODO: Create a ConfigMap containing the benchmark YAML files as well as all Kubernetes resources for that benchmark + deploy**
\ No newline at end of file
diff --git a/docs/creating-a-benchmark.md b/docs/creating-a-benchmark.md
index b61880e8619449d55ad04231da060358bb519699..e180431dc7bb30f39b2dc396c94ec8166f0fbb40 100644
--- a/docs/creating-a-benchmark.md
+++ b/docs/creating-a-benchmark.md
@@ -1,17 +1,17 @@
 ---
-title: Creating a Benchmark
+title: Creating Benchmarks
 has_children: false
 nav_order: 5
 ---
 
 # Creating a Benchmark
 
-Please note that to simply run a benchmark, it is not required to define one. Theodolite comes with a set of benchmarks, which are ready to be executed. See the Benchmarks and Executions docs page to learn more about our distinction between benchmarks and executions.
+Please note that to simply run a benchmark, it is not required to define one. Theodolite comes with a [set of benchmarks](theodolite-benchmarks), which are ready to be executed. See the [fundamental concepts](benchmarks-and-executions) page to learn more about our distinction between benchmarks and executions.
 
-A typical benchmark looks as follow.
+A typical benchmark looks like this:
 
 ```yaml
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: example-benchmark
@@ -42,7 +42,7 @@ spec:
           properties:
             loadGenMaxRecords: "150000"
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
@@ -52,19 +52,77 @@ spec:
 
 ```
 
-## System under Test (SUT) and Load Generator Resources
+## System under Test (SUT), Load Generator and Infrastructure
 
-In Thedolite, the system under test (SUT) and the load generator are described by Kubernetes resources files.
-Based on these files, both the SUT and the load generator are started and stopped for each SLO experiment.
-Optionally, you can also define infrastructure as Kubernetes resources files which lives over the entire duration of a benchmark run.
+In Theodolite, the system under test (SUT), the load generator as well as additional infrastructure (e.g., a middleware) are described by Kubernetes resources files.
+All resources defined for the SUT and the load generator are started and stopped for each SLO experiment, with SUT resources being started before the load generator.
+Infrastructure resources live over the entire duration of a benchmark run. They avoid time-consuming recreation of software components like middlewares, but should be used with caution to not let previous SLO experiments influence latte ones.
 
-The recommended way to link Kubernetes resources files from a Benchmark is by bundling them in one or multiple ConfigMaps and refer to these ConfigMap from `sut.resources`, `loadGenerator.resources` or `infrastructure.resources`.
+### Resources
+
+#### ConfigMap
+
+The recommended way to link Kubernetes resources files from a Benchmark is by bundling them in one or multiple ConfigMaps and refer to that ConfigMap from `sut.resources`, `loadGenerator.resources` or `infrastructure.resources`.
 To create a ConfigMap from all the Kubernetes resources in a directory run:
 
 ```sh
 kubectl create configmap <configmap-name> --from-file=<path-to-resource-dir>
 ```
 
+Add an item such as the following one to the `resources` list of the `sut`, `loadGenerator` or `infrastructure` fields.
+
+```yaml
+configMap:
+  name: example-configmap
+  files:
+  - example-deployment.yaml
+  - example-service.yaml
+```
+
+#### Filesystem
+
+Alternatively, resources can also be read from the filesystem, Theodolite has access to. This usually requires that the Benchmark resources are available in a volume, which is mounted into the Theodolite container.
+
+```yaml
+filesystem:
+  path: example/path/to/files
+  files:
+  - example-deployment.yaml
+  - example-service.yaml
+```
+
+### Actions
+
+Sometimes it is not sufficient to just define resources that are created and deleted when running a benchmark. Instead, it might be necessary to define certain actions that will be executed before running or after stopping the benchmark.
+
+Theodolite allows to execute commands on running pods. This is similar to `kubectl exec` or Kubernetes' [container lifecycle handlers](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). Theodolite actions can run before (`beforeActions`) or after `afterActions` all `sut`, `loadGenerator` or `infrastructure` resources are deployed.
+For example, the following actions will create a file in a pod with label `app: logger` before the SUT is started and delete if after the SUT is stopped:
+
+ ```yaml
+  sut:
+    resources: # ...
+    beforeActions:
+      - selector:
+          pod:
+            matchLabels:
+              app: logger
+        exec:
+          command: ["touch", "file-used-by-logger.txt"]
+          timeoutSeconds: 90
+    afterActions:
+      - selector:
+          pod:
+            matchLabels:
+              app: logger
+        exec:
+          command: [ "rm", "file-used-by-logger.txt" ]
+          timeoutSeconds: 90
+```
+
+Theodolite checks if all referenced pods are available for the specified actions. That means these pods must either be defined in `infrastructure` or already deployed in the cluster. If not all referenced pods are available, the benchmark will not be set as `Ready`. Consequently, an action cannot be executed on a pod that is defined as an SUT or load generator resource.
+
+*Note: Actions should be used sparingly. While it is possible to define entire benchmarks imperatively as actions, it is considered better practice to define as much as possible using declarative, native Kubernetes resource files.*
+
 <!--
 A Benchmark refers to other Kubernetes resources (e.g., Deployments, Services, ConfigMaps), which describe the system under test, the load generator and infrastructure components such as a middleware used in the benchmark. To manage those resources, Theodolite needs to have access to them. This is done by bundling resources in ConfigMaps.
 
@@ -77,12 +135,20 @@ Suppose the resources needed by your benchmark are defined as YAML files, locate
 Benchmarks need to specify at least one supported load and resource type for which scalability can be benchmarked.
 
 Load and resource types are described by a name (used for reference from an Execution) and a list of patchers.
+Patchers can be seen as functions, which take a value as input and modify a Kubernetes resource in a patcher-specific way. Examples of patchers are the *ReplicaPatcher*, which modifies the replica specification of a deployment, or the *EnvVarPatcher*, which modifies an environment variable.
+See the [patcher API reference](api-reference/patchers) for an overview of available patchers.
+
+If a benchmark is [executed by an Execution](running-benchmarks), these patchers are used to configure SUT and load generator according to the [load and resource values](creating-an-execution) set in the Execution.
 
 ## Kafka Configuration
 
-Theodolite allows to automatically create and remove Kafka topics for each SLO experiment.
-Use the `removeOnly: True` property for topics which are created automatically by the SUT.
-For those topics, also wildcards are allowed in the topic name.
+Theodolite allows to automatically create and remove Kafka topics for each SLO experiment by setting a `kafkaConfig`.
+`bootstrapServer` needs to point your Kafka cluster and `topics` configures the list of Kafka topics to be created/removed.
+For each topic, you configure its name, the number of partitions and the replication factor.
+
+With the `removeOnly: True` property, you can also instruct Theodolite to only remove topics and not create them.
+This is useful when benchmarking SUTs, which create topics on their own (e.g., Kafka Streams and Samza applications).
+For those topics, also wildcards are allowed in the topic name and, of course, no partition count or replication factor must be provided.
 
 
 <!-- Further information: API Reference -->
diff --git a/docs/creating-an-execution.md b/docs/creating-an-execution.md
index 2e96f62873c386ca0a1ec7f1991b0f3818c33fee..e33019a574ec7d4a3486c9ea7778efeb6e959260 100644
--- a/docs/creating-an-execution.md
+++ b/docs/creating-an-execution.md
@@ -1,6 +1,7 @@
 ---
 title: Creating an Execution
 has_children: false
+parent: Running Benchmarks
 nav_order: 6
 ---
 
@@ -10,7 +11,7 @@ Theodolite Executions look similar to the following example.
 
 <!-- TODO align with upstream -->
 ```yaml
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: theodolite-example-execution
@@ -50,16 +51,36 @@ Similar to [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/contr
 
 ## Reference to a Benchmark
 
-An Execution always refers to a Benchmark. This benchmark has to be registered with Kubernetes once Theodolite starts an Execution. Otherwise, Theodolite aborts the Executions and marks it as *failed*.
+An Execution always refers to a Benchmark. For the Execution to run, the Benchmark must be registered with Kubernetes and it must be in state *Ready*. If this is not the case, the Execution will remain in state *Pending*.
 
-<!-- Benchmark state -->
-
-As a Benchmark may define multiple supported load and resource types, an Execution has to pick exactly one of each by its name. Additionally, it defines the set of load values and resource values the benchmark should be executed with.
+As a Benchmark may define multiple supported load and resource types, an Execution has to pick exactly one of each by its name. Additionally, it defines the set of load values and resource values the benchmark should be executed with. Both these values are represented as integers, which are interpreted in a [Benchmark-specific way](creating-a-benchmark) to configure the SUT and load generator.
 
 ## Definition of SLOs
 
 SLOs provide a way to quantify whether a certain load intensity can be handled by a certain amount of provisioned resources.
-An Execution must at least specify one SLO to be checked.
+In Theodolite, SLO are evaluated by requesting monitoring data from Prometheus and analyzing it in a benchmark-specific way.
+An Execution must at least define one SLO to be checked.
+
+A good choice to get started is defining an SLO of type `generic`:
+
+```yaml
+- sloType: "generic"
+  prometheusUrl: "http://prometheus-operated:9090"
+  offset: 0
+  properties:
+    externalSloUrl: "http://localhost:8082"
+    promQLQuery: "sum by(job) (kafka_streams_stream_task_metrics_dropped_records_total>=0)"
+    warmup: 60 # in seconds
+    queryAggregation: max
+    repetitionAggregation: median
+    operator: lte
+    threshold: 1000
+```
+
+All you have to do is to define a [PromQL query](https://prometheus.io/docs/prometheus/latest/querying/basics/) describing which metrics should be requested (`promQLQuery`) and how the resulting time series should be evaluated. With `queryAggregation` you specify how the resulting time series is aggregated to a single value and `repetitionAggregation` describes how the results of multiple repetitions are aggregated. Possible values are
+`mean`, `median`, `mode`, `sum`, `count`, `max`, `min`, `std`, `var`, `skew`, `kurt` as well as percentiles such as `p99` or `p99.9`. The result of aggregation all repetitions is checked against `threshold`. This check is performed using an `operator`, which describes that the result must be "less than" (`lt`), "less than equal" (`lte`), "greater than" (`gt`) or "greater than equal" (`gte`) to the threshold.
+
+In case you need to evaluate monitoring data in a more flexible fashion, you can also change the value of `externalSloUrl` to your custom SLO checker. Have a look at the source code of the [generic SLO checker](https://github.com/cau-se/theodolite/tree/master/slo-checker/generic) to get started.
 
 ## Experimental Setup
 
@@ -73,7 +94,7 @@ The experimental setup can be configured by:
 
 ## Configuration Overrides
 
-In cases where only small modifications of a system under test should be benchmarked, it is not necessarily required to [create a new benchmark](creating-a-benchmark).
+In cases where only small modifications of a system under test should be benchmarked, it is not necessary to [create a new benchmark](creating-a-benchmark).
 Instead, also Executions allow to do small reconfigurations, such as switching on or off a specific Pod scheduler.
 
 This is done by defining `configOverrides` in the Execution. Each override consists of a patcher, defining which Kubernetes resource should be patched in which way, and a value the patcher is applied with.
diff --git a/docs/development/release-process.md b/docs/development/release-process.md
index 59252c9333a513feb59a77b9785e522ed726a814..21f913fbb8626d141d1df49db808fe0b36a01462 100644
--- a/docs/development/release-process.md
+++ b/docs/development/release-process.md
@@ -23,13 +23,15 @@ again be merged into master.
         1. the default `helm/values.yaml` file,
         2. the example `execution/theodolite.yaml` job,
         3. the Kubernetes benchmark resources in `theodolite-benchmarks/definitions/**/resources` and
-        2. the Docker Compose files in `theodolite-benchmarks/docker-test`.
+        4. the Docker Compose files in `theodolite-benchmarks/docker-test`.
 
     2. Update both, the `version` and the `appVersion` fields, in the Helm `Charts.yaml` file to `0.3.1`.
 
-    3. Update `codemeta.json` to match the new version. In particular, make sure that `version` points to the version you are releasing and `dateModified` points to the date you are relasing this version. [CodeMeta generator](https://codemeta.github.io/codemeta-generator/) may help you in updating the file.
+    3. Update the `version` field of the `theodolite/build.gradle` file to `0.3.1`. Make sure to also adjust all references to the build artifact in the `theodolite/README.md`.
 
-    4. Update `CITATION.cff` to match the new version. At least update the `version` field.
+    4. Update `codemeta.json` to match the new version. In particular, make sure that `version` points to the version you are releasing and `dateModified` points to the date you are relasing this version. [CodeMeta generator](https://codemeta.github.io/codemeta-generator/) may help you in updating the file.
+
+    5. Update `CITATION.cff` to match the new version. At least update the `version` field.
 
 4. Create a Helm package by running `./build-package.sh` from the chart directory.
 
@@ -49,8 +51,10 @@ again be merged into master.
 
     1. Update the Helm `Charts.yaml` file to `0.4.0-SNAPSHOT` (see Step 3).
 
-    2. Update the `codemeta.json` file according to Step 3.
+    2. Update the Theodolite `build.gradle` and `README.md` files `0.4.0-SNAPSHOT` (see Step 3).
+
+    3. Update the `codemeta.json` file according to Step 3.
 
-    3. Update the `CITATION.cff` file according to Step 3.
+    4. Update the `CITATION.cff` file according to Step 3.
 
 12. Commit these changes to the `master` branch.
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..81062e21501bd98a29505433c1e3b43965f5c17d
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/index.md b/docs/index.md
index 49f1d2495f2ef2725f25a4d4f6297d9c982bcae0..d3ef9c4be274e6ff623c0b5857f4ed0284697407 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,39 +1,18 @@
 ---
-title: Theodolite
+title: Home
 nav_order: 1
-nav_exclude: true
+#nav_exclude: true
 permalink: /
 ---
 
-# Theodolite
+![Theodolite](assets/logo/theodolite-stacked-transparent.svg){: .d-block .mx-auto .mb-8 .theodolite-logo }
 
-> A theodolite is a precision optical instrument for measuring angles between designated visible points in the horizontal and vertical planes.  -- <cite>[Wikipedia](https://en.wikipedia.org/wiki/Theodolite)</cite>
 
-Theodolite is a framework for benchmarking the horizontal and vertical scalability of stream processing engines.
+Theodolite is a framework for benchmarking the horizontal and vertical scalability of cloud-native applications.
+{: .fs-6 .fw-300 .text-center }
 
 [Get started now](quickstart){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-4 }
-[Learn more](benchmarks-and-executions){: .btn .fs-5 .mb-4 .mb-md-0 }
+[Learn the underlying concepts](benchmarks-and-executions){: .btn .fs-5 .mb-4 .mb-md-0 }
+{: .text-center }
 
 ---
-
-More content...
-
-<!--
-## Theodolite Benchmarking Tool
-
-Theodolite aims to benchmark scalability of stream processing engines for real use cases. Microservices that apply stream processing techniques are usually deployed in elastic cloud environments. Hence, Theodolite's cloud-native benchmarking framework deploys its components in a cloud environment, orchestrated by Kubernetes. It is recommended to install Theodolite with the package manager Helm. The Theodolite Helm chart along with instructions how to install it can be found in the [`helm`](helm) directory.
-
-## Theodolite Analysis Tools
-
-Theodolite's benchmarking method maps load intensities to the resource amounts that are required for processing them. A plot showing how resource demand evolves with an increasing load allows to draw conclusions about the scalability of a stream processing engine or its deployment. Theodolite provides Jupyter notebooks for creating such plots based on benchmarking results from the execution framework. More information can be found in [Theodolite analysis tool](analysis).
-
-## Theodolite Benchmarks
-
-Theodolite comes with 4 application benchmarks, which are based on typical use cases for stream processing within microservices. For each benchmark, a corresponding load generator is provided. Currently, this repository provides benchmark implementations for Apache Kafka Streams and Apache Flink. The benchmark sources can be found in [Thedolite benchmarks](theodolite-benchmarks).
--->
-
-## How to Cite
-
-If you use Theodolite, please cite
-
-> Sören Henning and Wilhelm Hasselbring. (2021). Theodolite: Scalability Benchmarking of Distributed Stream Processing Engines in Microservice Architectures. Big Data Research, Volume 25. DOI: [10.1016/j.bdr.2021.100209](https://doi.org/10.1016/j.bdr.2021.100209). arXiv:[2009.00304](https://arxiv.org/abs/2009.00304).
diff --git a/docs/index.yaml b/docs/index.yaml
index 54580ea45f1c678443dae96c7139f53fdac37f60..956bb83b19ebbae4cddc4da6f07a0d937cf3dc2d 100644
--- a/docs/index.yaml
+++ b/docs/index.yaml
@@ -1,6 +1,251 @@
 apiVersion: v1
 entries:
   theodolite:
+  - apiVersion: v2
+    appVersion: 0.7.0
+    created: "2022-05-11T13:49:02.491041789+02:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: strimzi.enabled
+      name: strimzi-kafka-operator
+      repository: https://strimzi.io/charts/
+      version: 0.28.0
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: af10134baa30bb07423f78240fe1c609381e1c616585883cf5d3aded2d86a2b1
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.7.0/theodolite-0.7.0.tgz
+    version: 0.7.0
+  - apiVersion: v2
+    appVersion: 0.6.4
+    created: "2022-02-16T16:09:11.967649304+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://seanglover.com/kafka-lag-exporter/repo
+      version: 0.6.7
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: 10156d9917233ffa297aab093532038667d25b2babb2b2058a0a32e1dccb0cca
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.6.4/theodolite-0.6.4.tgz
+    version: 0.6.4
+  - apiVersion: v2
+    appVersion: 0.6.3
+    created: "2022-01-24T13:40:40.07330713+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://lightbend.github.io/kafka-lag-exporter/repo/
+      version: 0.6.7
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: ebf08e3bf084fcd96eb2ee0588d495258d1741c74019257e55ba40f574874525
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.6.3/theodolite-0.6.3.tgz
+    version: 0.6.3
+  - apiVersion: v2
+    appVersion: 0.6.2
+    created: "2022-01-23T22:31:04.773793557+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://lightbend.github.io/kafka-lag-exporter/repo/
+      version: 0.6.7
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: f6514038741051230dc9be0a6bde3fbc6f92136ecb36c276343e98e550f2c6d0
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.6.2/theodolite-0.6.2.tgz
+    version: 0.6.2
+  - apiVersion: v2
+    appVersion: 0.6.1
+    created: "2022-01-18T10:40:00.557347616+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://lightbend.github.io/kafka-lag-exporter/repo/
+      version: 0.6.7
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: 4896111999375c248d7dda0bdff090c155f464b79416decc0e0b47dc6710b5c7
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.6.1/theodolite-0.6.1.tgz
+    version: 0.6.1
+  - apiVersion: v2
+    appVersion: 0.6.0
+    created: "2022-01-12T13:53:08.413006558+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 20.0.1
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://lightbend.github.io/kafka-lag-exporter/repo/
+      version: 0.6.7
+    description: Theodolite is a framework for benchmarking the horizontal and vertical
+      scalability of cloud-native applications.
+    digest: 53435304229582680d55360ad79a25050f6cc97641cbb88d691b35d91a54d354
+    home: https://www.theodolite.rocks
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.6.0/theodolite-0.6.0.tgz
+    version: 0.6.0
+  - apiVersion: v2
+    appVersion: 0.5.2
+    created: "2022-02-16T15:43:43.534374597+01:00"
+    dependencies:
+    - condition: grafana.enabled
+      name: grafana
+      repository: https://grafana.github.io/helm-charts
+      version: 6.17.5
+    - condition: kube-prometheus-stack.enabled
+      name: kube-prometheus-stack
+      repository: https://prometheus-community.github.io/helm-charts
+      version: 12.0.0
+    - condition: cp-helm-charts.enabled
+      name: cp-helm-charts
+      repository: https://soerenhenning.github.io/cp-helm-charts
+      version: 0.6.0
+    - condition: kafka-lag-exporter.enabled
+      name: kafka-lag-exporter
+      repository: https://seanglover.com/kafka-lag-exporter/repo
+      version: 0.6.6
+    description: Theodolite is a framework for benchmarking the scalability stream
+      processing engines.
+    digest: 72df752883d2161fdfc0e96bb90fe11f9c0ed4f71013e588ec170f2cbb178e9c
+    home: https://cau-se.github.io/theodolite
+    maintainers:
+    - email: soeren.henning@email.uni-kiel.de
+      name: Sören Henning
+      url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+    name: theodolite
+    sources:
+    - https://github.com/cau-se/theodolite
+    type: application
+    urls:
+    - https://github.com/cau-se/theodolite/releases/download/v0.5.2/theodolite-0.5.2.tgz
+    version: 0.5.2
   - apiVersion: v2
     appVersion: 0.5.1
     created: "2021-11-12T16:15:01.629937292+01:00"
@@ -106,4 +351,4 @@ entries:
     urls:
     - https://github.com/cau-se/theodolite/releases/download/v0.4.0/theodolite-0.4.0.tgz
     version: 0.4.0
-generated: "2021-11-12T16:15:01.591258889+01:00"
+generated: "2022-05-11T13:49:02.423487026+02:00"
diff --git a/docs/installation.md b/docs/installation.md
index 7c387e566de1eb284c87974e1d9f17d2b912ac95..a01cfd14dff18d61f9d0e7de434fcaf9971280eb 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -22,23 +22,28 @@ This installs Theodolite in operator mode. Operator mode is the easiest to use,
 
 As usual, the installation via Helm can be configured by passing a values YAML file:
 
-```
+```sh
 helm install theodolite theodolite/theodolite --values <your-config.yaml>
 ```
 
 For this purpose the [default values file](https://github.com/cau-se/theodolite/blob/master/helm/values.yaml) can serve as a template for your custom configuration.
 
-### Operator mode
+### Minimal setup
 
-The Theodolite operator allows to run and manage benchmarks through the Kubernetes API. It is installed by setting `operator.enabled` to `true`. In addition to Theodolite's dependencies, this will deploy all resources that are required for the operator as well as the CRDs, users will interact with.
+For Kubernetes clusters with limited resources such as on local developer installations, we provide a [minimal values file](https://github.com/cau-se/theodolite/blob/master/helm/preconfigs/minimal.yaml).
+
+### Persisting results
+
+To store the results of benchmark executions in a [PersistentVolume](https://kubernetes.io/docs/concepts/storage/persistent-volumes), `operator.resultsVolume.persistent.enabled` has to be set to `true`. This requires that either a statically provisioned PersistentVolume is available or a dynamic provisioner exists (which is the case for many Kubernetes installations). If required, you can select a storage class with `operator.resultsVolume.persistent.storageClassName`.
+You can also use an existing PersistentVolumeClaim by setting `operator.resultsVolume.persistent.existingClaim`.
+If persistence is not enabled, all results will be gone upon pod termination.
 
-<!-- **TODO:** link-->
 
 ### Standalone mode
 
-For running Theodolite in standalone mode, it is sufficient to disable the operator by setting `operator.enabled` to `false`. With this setting, only Theodolite's dependencies as well as resources to get the necessary permissions are installed.
+Per default, Theodolite is installed in operator mode, which allows to run and manage benchmarks through the Kubernetes API. For running Theodolite in standalone mode, it is sufficient to disable the operator by setting `operator.enabled` to `false`. Additionally, you might want to add the command line argument `--skip-crds`. With these settings, only Theodolite's dependencies as well as resources to get the necessary permissions are installed.
 
-### Random Scheduler
+### Random scheduler
 
 Installation of the random scheduler can be enabled via `randomScheduler.enabled`. Please note that the random scheduler is neither required in operator mode nor in standalone mode. However, it has to be installed if benchmark executions should use random scheduling.
 
@@ -53,19 +58,19 @@ In cases, where you need to install multiple Theodolite instances, it's best to
 
 ### Installation with a release name other than `theodolite`
 
-When using another release name than `theodolite`, make sure to adjust the Kafka Lag Exporter configuration of you `values.yaml` accordingly:
+When using another release name than `theodolite`, make sure to adjust the Confluent Schema Registry configuration of you `values.yaml` accordingly:
 
 ```yaml
-kafka-lag-exporter:
-  clusters:
-  - name: "<your-release-name>-cp-kafka"
-    bootstrapBrokers: "<your-release-name>-cp-kafka:9092"
+cp-helm-charts:
+  cp-schema-registry:
+    kafka:
+      bootstrapServers: <your-release-name>-kafka-kafka-bootstrap:9092
 ```
 
 This seems unfortunately to be necessary as Helm does not let us inject values into dependency charts.
 
 
-## Test Installation
+## Test the Installation
 
 You can test the installation with:
 
@@ -74,9 +79,9 @@ helm test theodolite
 ```
 
 
-## Uninstall this Chart
+## Uninstall Theodolite
 
-The Theodolite Helm can easily be removed with:
+The Theodolite Helm chart can easily be removed with:
 
 ```sh
 helm uninstall theodolite
@@ -86,8 +91,8 @@ Helm does not remove any CRDs created by this chart. You can remove them manuall
 
 ```sh
 # CRDs for Theodolite
-kubectl delete crd executions.theodolite.com
-kubectl delete crd benchmarks.theodolite.com
+kubectl delete crd executions.theodolite.rocks
+kubectl delete crd benchmarks.theodolite.rocks
 # CRDs for Prometheus operator (see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#uninstall-chart)
 kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
 kubectl delete crd alertmanagers.monitoring.coreos.com
@@ -97,4 +102,16 @@ kubectl delete crd prometheuses.monitoring.coreos.com
 kubectl delete crd prometheusrules.monitoring.coreos.com
 kubectl delete crd servicemonitors.monitoring.coreos.com
 kubectl delete crd thanosrulers.monitoring.coreos.com
+# CRDs for Strimzi
+kubectl delete crd kafkabridges.kafka.strimzi.io
+kubectl delete crd kafkaconnectors.kafka.strimzi.io
+kubectl delete crd kafkaconnects.kafka.strimzi.io
+kubectl delete crd kafkamirrormaker2s.kafka.strimzi.io
+kubectl delete crd kafkamirrormakers.kafka.strimzi.io
+kubectl delete crd kafkarebalances.kafka.strimzi.io
+kubectl delete crd kafkas.kafka.strimzi.io
+kubectl delete crd kafkatopics.kafka.strimzi.io
+kubectl delete crd kafkausers.kafka.strimzi.io
+kubectl delete crd strimzipodsets.core.strimzi.io
+
 ```
diff --git a/docs/misc.md b/docs/misc.md
deleted file mode 100644
index 011061facf96e3718bb55221d3cc4dbbbd5eeeb3..0000000000000000000000000000000000000000
--- a/docs/misc.md
+++ /dev/null
@@ -1,8 +0,0 @@
-
-Some additional hints
-
-### Use results-access Sidecar
-
-```sh
-kubectl cp $(kubectl get pod -l app=theodolite -o jsonpath="{.items[0].metadata.name}"):/results . -c results-access
-```
\ No newline at end of file
diff --git a/docs/quickstart.md b/docs/quickstart.md
index 2ad3824a6e6dc1df505f5ca1ffac8b45ec3fe591..6effc0cb288c01d28267b12e360c603f17641d32 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -15,21 +15,21 @@ All you need to get started is access to a Kubernetes cluster plus kubectl and H
     ```sh
     helm repo add theodolite https://cau-se.github.io/theodolite
     helm repo update
-    helm install theodolite theodolite/theodolite
+    helm install theodolite theodolite/theodolite -f https://raw.githubusercontent.com/cau-se/theodolite/master/helm/preconfigs/minimal.yaml
     ```
 
 1. Get the Theodolite examples from the [Theodolite repository](https://github.com/cau-se/theodolite) and `cd` into its example directory:
 
     ```sh
     git clone https://github.com/cau-se/theodolite.git
-    cd theodolite/theodolite/examples/
+    cd theodolite/theodolite/examples/operator/
     ```
 
 1. Deploy the example Benchmark and package its associated Kubernetes resources in a ConfigMap:
 
     ```sh
-    kubectl apply -f operator/example-benchmark.yaml
-    kubectl create configmap benchmark-resources-custom --from-file=./resources -o yaml --dry-run=client | kubectl apply -f -
+    kubectl apply -f example-benchmark.yaml
+    kubectl apply -f example-configmap.yaml
     ```
 
 1. Verify that the Benchmark has been deployed successfully:
@@ -48,7 +48,7 @@ All you need to get started is access to a Kubernetes cluster plus kubectl and H
 1. Run the Benchmark by deploying an Execution:
 
     ```sh
-    kubectl apply -f operator/example-execution.yaml 
+    kubectl apply -f example-execution.yaml 
     ```
 
 1. Verify that the Executions is running:
@@ -61,7 +61,7 @@ All you need to get started is access to a Kubernetes cluster plus kubectl and H
 
     ```
     NAME                           STATUS    DURATION   AGE
-    theodolite-example-execution   RUNNING   13s        14s
+    theodolite-example-execution   Running   13s        14s
     ```
 
     Theodolite provides additional information on the current status of an Execution by producing Kubernetes events. To see them:
@@ -70,14 +70,8 @@ All you need to get started is access to a Kubernetes cluster plus kubectl and H
     kubectl describe execution theodolite-example-execution
     ```
 
-<!--
 ## Next Steps
 
-* Deploy and run custom benchmarks
-* Define your own benchmarks
-* Customize the benchmark
-
-## Further Readings
-
-* Customize the Theodolite Installation
--->
+* [Deploy and run custom benchmarks](running-benchmarks)
+* [Define your own benchmarks](creating-a-benchmark)
+* [Customize the Theodolite installation](installation)
diff --git a/docs/resourcesets.md b/docs/resourcesets.md
deleted file mode 100644
index 8f1a3ab88bfe8d70adb4f5444f20cc194f77cac9..0000000000000000000000000000000000000000
--- a/docs/resourcesets.md
+++ /dev/null
@@ -1,24 +0,0 @@
-Resource sets (`appResourceSets` or `loadGenResourceSets`) describe a set of Kubernetes resources.
-
-They can be created from Kubernetes YAMl files placed in ConfigMaps or from files of the filesystem accessible by Theodolite.
-
-### Creating Resources from ConfigMaps
-
-```yaml
-- configMap:
-    name: "example-configmap"
-    files:
-        - "uc1-kstreams-deployment.yaml"
-```
-
-### Creating Resources from the Filesystem
-
-```yaml
-- fileSystem:
-    path: ./../../../../../../config
-    files:
-      - "uc1-kstreams-deployment.yaml"
-      - "aggregation-service.yaml"
-      - "jmx-configmap.yaml"
-      - "uc1-service-monitor.yaml"
-```
diff --git a/docs/running-benchmarks-old.md b/docs/running-benchmarks-old.md
deleted file mode 100644
index 7c27860d1a72c0a04b3a43ef52549a0b749a4e44..0000000000000000000000000000000000000000
--- a/docs/running-benchmarks-old.md
+++ /dev/null
@@ -1,107 +0,0 @@
-old
-
-# Running Scalability Benchmarks
-
-There are two options to run scalability benchmarks with Theodolite:
-
-1. The [Theodolite Operator](#running-benchmarks-with-the-theodolite-operator) is a long-running service in your cluster, which accepts submitted benchmarks and executes them.
-2. In [standalone mode](#running-benchmarks-in-standalone-mode), Theodolite is started as a Kubernetes Job and only runs for the duration of one benchmark execution.
-
-While the operator is a bit more complex to install then the standalone mode,
-it makes it way easier to manage benchmarks and their executions. In
-particular, it allows to submit a set of experiments, which are then executed
-automatically one after another.
-**Therefore, running benchmarks with the operator is recommended.** 
-
-
-## Running Benchmarks with the Theodolite Operator
-
-The general process for running Theodolite benchmarks in operator mode is as follows:
-
-1. Create and deploy a new `Benchmark` resource or deploy one of the already existing ones.
-2. Define your benchmark execution as an `Execution` resource and deploy it.
-
-### 1. Creating a benchmark
-
-Benchmarks are defined as resources of our custom resource definition
-`Benchmark`. You can either create a new `Benchmark` for your custom benchmark
-or system under test or deploy one of the existing benchmarks, which can be
-found in [`theodolite-benchmarks/definitions`](theodolite-benchmarks/definitions). **TODO link**
-
-Suppose your `Benchmark` resource is stored in `example-benchmark.yaml`, you
-can deploy it by running:
-
-```sh
-kubectl apply -f example-benchmark.yaml
-```
-
-To see the list of all deployed benchmarks run:
-
-```sh
-kubectl get benchmarks
-```
-
-Additionally you need to make all your benchmark's Kubernetes resources available to the operator.
-
-**TODO benchmark resources**
-
-Once your benchmark is deployed, it is ready to be executed.
-
-### 2. Creating an execution
-
-To execute a benchmark, you need to describe this execution by creating an `Execution` resource.
-
-**TODO: details execution** 
-
-Suppose your `Execution` resource is stored in `example-execution.yaml`, you
-can deploy it by running:
-
-```sh
-kubectl apply -f example-execution.yaml
-```
-
-To see the list of all deployed benchmarks run:
-
-```sh
-kubectl get executions
-```
-
-The `STATUS` field will tell you whether a benchmark execution has been
-started, finished or failed due to some error. The `DURATION` field tells you
-for how long that execution is running (so far). Similar to a Kubernetes Job,
-an `Execution` is not automatically deleted once it is finished. This makes it
-easier to keep track of all the benchmark executions and to organize benchmark
-results.
-
-
-## Running Benchmarks in Standalone Mode
-
-The general process for running Theodolite benchmarks in standalone mode is as follows:
-
-1. Create a benchmark by writing a YAML file or select one of the already existing ones and create a ConfigMap from it.
-2. Define your benchmark execution as a YAML file and create a ConfigMap from it. We provide a template for this.
-3. Create a Theodolite Job from our template and mount your benchmark and benchmark execution with it.
-
-### 1. Creating a benchmark
-
-Creating a benchmark in standalone mode is similar to operator mode. However,
-instead of defining a benchmark as `Benchmark` resource, it is defined as a
-benchmark YAML file. Such a file deviates in the following points from a
-`Benchmark` resource:
-
-* The fields `apiVersion`, `kind` and `metadata` should be removed.
-* The benchmark's name (`metadata.name` in `Benchmark` resources) must be defined by the top-level field `name`.
-* Everything that is defined in `spec` has to be moved to the top-level.
-
-**TODO: example**
-
-**TODO: Create a ConfigMap containing the benchmark YAML files as well as all Kubernetes resources for that benchmark + deploy**
-
-### 2. Creating an execution
-
-**TODO: see above**
-
-
-### 3. Create a Theodolite Job
-
-**TODO example**
\ No newline at end of file
diff --git a/docs/running-benchmarks.md b/docs/running-benchmarks.md
index e66fb8e346f95768f8e3f3717d8e263c20997964..c4459183870d945d159551e54aab10cce7ea372e 100644
--- a/docs/running-benchmarks.md
+++ b/docs/running-benchmarks.md
@@ -1,28 +1,31 @@
 ---
 title: Running Benchmarks
-has_children: false
+has_children: true
 nav_order: 4
 ---
 
 # Running Scalability Benchmarks
 
-Running scalability benchmarks with Theodolite involves two things:
+Running scalability benchmarks with Theodolite involves the following steps:
 
 1. [Deploying a benchmark to Kubernetes](#deploying-a-benchmark)
 1. [Creating an execution](#creating-an-execution), which describes the experimental setup for running the benchmark
+1. [Accessing benchmark results](#accessing-benchmark-results)
+1. [Analyzing benchmark results](#analyzing-benchmark-results) with Theodolite's Jupyter notebooks
+
 
 ## Deploying a Benchmark
 
 A benchmark specification consists of two things:
 
 * A Benchmark resource YAML file
-* One or multiple ConfigMap YAML files containing all the Kubernetes resources used by the benchmark
+* One or more ConfigMap YAML files containing all the Kubernetes resources used by the benchmark
 
 These files are usually provided by benchmark designers.
 For example, we ship Theodolite with a set of [benchmarks for event-driven microservices](theodolite-benchmarks).
 Alternatively, you can also [create your own benchmarks](creating-a-benchmark).
 
-Suppose your Benchmark is defined in `example-benchmark.yaml` and all resources required by this benchmark are bundled in `example-configmap.yaml`.
+Suppose your benchmark is defined in `example-benchmark.yaml` and all resources required by this benchmark are bundled in `example-configmap.yaml`.
 You can deploy both to Kubernetes by running:
 
 ```sh
@@ -43,7 +46,7 @@ NAME                AGE   STATUS
 example-benchmark   81s   Ready
 ```
 
-The status of a benchmark tells you whether executions of it can be executed:
+The status of a benchmark tells you whether executions of it are ready to run:
 * *Ready* means that Theodolite has access to all resources referred from the benchmark.
 * *Pending* implies that not all benchmark resources are available (yet). Please ensure that you have deployed them, for example, by running `kubectl get configmaps`.
 
@@ -53,7 +56,7 @@ The status of a benchmark tells you whether executions of it can be executed:
 To run a benchmark, an Execution YAML file needs to be created such as the following one.
 
 ```yaml
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: theodolite-example-execution # (1) give your execution a name
@@ -101,7 +104,7 @@ The output is similar to this:
 
 ```
 NAME                           STATUS    DURATION   AGE
-theodolite-example-execution   RUNNING   13s        14s
+theodolite-example-execution   Running   13s        14s
 ```
 
 The `STATUS` field will tell you whether a benchmark execution has been
@@ -116,3 +119,45 @@ Theodolite provides additional information on the current status of an Execution
 ```sh
 kubectl describe execution <execution-name>
 ```
+
+
+## Accessing Benchmark Results
+
+Theodolite stores the results of benchmark executions in CSV files, whose names are starting with `exp<id>_...`. These files can be read and analyzed by Theodolite's analysis notebooks.
+
+If [persisting results](installation#persisting-results) is enabled in Theodolite's installation, the result files are stored in a PersistentVolume. Depending on the cluster setup or Theodolite's configuration, the content of these volumes can usually be mounted into your host system in some way or accessed via your cloud provider.
+
+For installations without persistence, but also as an alternative for installations with persistence, we provide a second option to access results: Theodolite comes with a *results access sidecar*. It allows to copy all benchmark results from the Theodolite pod to your current working directory on your host machine with the following command:
+
+```sh
+kubectl cp $(kubectl get pod -l app=theodolite -o jsonpath="{.items[0].metadata.name}"):results . -c results-access
+```
+
+## Analyzing Benchmark Results
+
+Theodolite comes with Jupyter notebooks for analyzing and visualizing benchmark execution results.
+The easiest way to use them is at MyBinder:
+
+[Launch Notebooks](https://mybinder.org/v2/gh/cau-se/theodolite/HEAD?labpath=analysis){: .btn .btn-primary }
+{: .text-center }
+
+Alternatively, you can also [run these notebook locally](https://github.com/cau-se/theodolite/tree/master/analysis), for example, with Docker or Visual Studio Code.
+
+The notebooks allow to compute a scalability function using Theodolite's *demand* metric and to visualize multiple such functions in plots:
+
+### Computing the *demand* metric with `demand-metric.ipynb` (optional)
+
+After finishing a benchmark execution, Theodolite creates a `exp<id>_demand.csv` file. It maps the tested load intensities to the minimal required resources for that load. If the monitoring data collected during benchmark execution should be analyzed in more detail, the `demand-metric.ipynb` notebook can be used. 
+
+Theodolite stores monitoring data for each conducted SLO experiment in `exp<id>_<load>_<resources>_<slo-slug>_<rep>.csv` files, where `<id>` is the ID of an execution, `<load>` the corresponding load intensity value, `<resources>` the resources value, `<slo-slug>` the [name of the SLO](creating-an-execution.html#definition-of-slos) and `<rep>` the repetition counter.
+The `demand-metric.ipynb` notebook reads these files and generates a new CSV file mapping load intensities to the minimal required resources. The format of this file corresponds to the original `exp<id>_demand.csv` file created when running the benchmark, but allows, for example, to evaluate different warm-up periods.
+
+Currently, the `demand-metric.ipynb` notebook only supports benchmarks with the *lag trend SLO* out-of-the-box, but can easily be adjusted to perform any other type of analysis.
+
+### Plotting benchmark results with the *demand* metric with `demand-metric-plot.ipynb`
+
+The `demand-metric-plot.ipynb` takes one or multiple `exp<id>_demand.csv` files as input and visualize them together in a plot.
+Input files can either be taken directly from Theodolite, or created from the `demand-metric.ipynb` notebooks.
+
+All plotting code is only intended to serve as a template. Adjust it as needed to change colors, labels, formatting, etc. as needed. 
+Please refer to the official docs of [MatPlotLib](https://matplotlib.org/) and the [ggplot](https://matplotlib.org/stable/gallery/style_sheets/ggplot.html) style, which are used to generate the plots.
diff --git a/docs/theodolite-benchmarks/index.md b/docs/theodolite-benchmarks/index.md
index 5fcd42255d81c0a2d5cf2107164874075561ae52..30b8e816ef1b48e770c8e42be1d599a71431c976 100644
--- a/docs/theodolite-benchmarks/index.md
+++ b/docs/theodolite-benchmarks/index.md
@@ -1,12 +1,12 @@
 ---
-title: Theodolite Benchmarks
-has_children: false
+title: Available Benchmarks
+has_children: true
 nav_order: 7
 ---
 
 # Theodolite Benchmarks
 
-Theodolite comes with 4 application benchmarks, which are based on typical use cases for stream processing within microservices. For each benchmark, a corresponding load generator is provided. Currently, Theodolite provides benchmark implementations for Apache Kafka Streams and Apache Flink.
+Theodolite comes with 4 application benchmarks, which are based on typical use cases for stream processing within microservices. For each benchmark, a corresponding [load generator](load-generator) is provided. Currently, Theodolite provides benchmark implementations for Apache Kafka Streams and Apache Flink.
 
 
 Theodolite's benchmarks are based on typical use cases for stream processing within microservices. Specifically, all benchmarks represent some sort of microservice doing Industrial Internet of Things data analytics. 
@@ -20,7 +20,7 @@ A simple, but common use case in event-driven architectures is that events or me
 
 Another common use case for stream processing architectures is reducing the amount of events, messages, or measurements by aggregating multiple records within consecutive, non-overlapping time windows. Typical aggregations compute the average, minimum, or maximum of measurements within a time window or
 count the occurrence of same events. Such reduced amounts of data are required, for example, to save computing resources or to provide a better user experience (e.g., for data visualizations).
-When using aggregation windows of fixed size that succeed each other without gaps (called [tumbling windows](https://kafka.apache.org/20/documentation/streams/developer-guide/dsl-api.html#tumbling-time-windows) in many stream processing enegines), the (potentially varying) message frequency is reduced to a constant value.
+When using aggregation windows of fixed size that succeed each other without gaps (called [tumbling windows](https://kafka.apache.org/30/documentation/streams/developer-guide/dsl-api.html#tumbling-time-windows) in many stream processing engines), the (potentially varying) message frequency is reduced to a constant value.
 This is also referred to as downsampling. Downsampling allows for applying many machine learning methods that require data of a fixed frequency.
 
 
diff --git a/docs/theodolite-benchmarks/load-generator.md b/docs/theodolite-benchmarks/load-generator.md
new file mode 100644
index 0000000000000000000000000000000000000000..a41c97d52f62f399c9289a15a64991d0fed228ce
--- /dev/null
+++ b/docs/theodolite-benchmarks/load-generator.md
@@ -0,0 +1,92 @@
+---
+title: Load Generators
+parent: Available Benchmarks
+has_children: false
+nav_order: 1
+---
+
+# Load Generator Framework
+
+Theodolite's benchmarks come with a flexible load generator framework. It is used to create load on the [4 Theodolite benchmarks](#prebuilt-container-images), but can also be applied to create [custom load generators](#creating-a-custom-load-generator).
+It is particularly designed for scalability: Just spin up multiple instances of the load generator and the instances automatically divide the load to be generated among themselves.
+
+## Prebuilt container images
+
+For each benchmark, we provide a [load generator as OCI container image](https://github.com/orgs/cau-se/packages?tab=packages&q=workload-generator). These load generators simulate smart power meters in an industrial facility, which generate measurement records at a fixed rate. Records are published to an Apache Kafka topic (default) or sent as POST requests to an HTTP endpoint.
+
+You can simply run a load generator container, for example, for benchmark UC1 with:
+
+```sh
+docker run -it ghcr.io/cau-se/theodolite-uc1-workload-generator
+```
+
+### Message format
+
+Messages generated by the load generators represent a single measurement of [active power](https://en.wikipedia.org/wiki/AC_power#Active,_reactive,_apparent,_and_complex_power_in_sinusoidal_steady-state). The corresponding message type is specified as [`ActivePowerRecords`](https://github.com/cau-se/titan-ccp-common/blob/master/src/main/avro/ActivePower.avdl)
+defined with Avro. It consists of an identifier for simulated power sensor, a timestamp in epoch milliseconds and the actual measured (simulated) value in watts.
+
+When sending generated records via Apache Kafka, these records are serialized with the [Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry).
+If the load generator is configured to send records as HTTP POST requests, records are serialized as JSON according to the following format:
+
+```json
+{
+  "identifier": "sensor-id",
+  "timestamp": 1645564942000,
+  "valueInW": 1234.56
+}
+```
+
+### Configuration
+
+The prebuilt container images can be configured with the following environment variables:
+
+| Environment Variable | Description | Default |
+|:----|:----|:----|
+| `BOOTSTRAP_SERVER` | Address (`hostname:port`) of another load generator instance to form a cluster with. Can also be this instance. | `localhost:5701` |
+| `KUBERNETES_DNS_NAME` | Kubernetes service name to discover other load generators to form a cluster with. Must be a fully qualified domain name (FQDN), e.g., something like `<service>.<namespace>.svc.cluster.local`. * Requires `BOOTSTRAP_SERVER` not to be set. | |
+| `PORT` | Port used for for coordination among load generator instances. | 5701 |
+| `PORT_AUTO_INCREMENT` | If set to true and the specified PORT is already used, use the next higher one. Useful if multiple instances should run on the same host, without configuring each instance individually. | true |
+| `CLUSTER_NAME_PREFIX` | Only required if unrelated load generators form a cluster. | theodolite-load-generation |
+| `TARGET` | The target system the load generator send messages to. Valid values are: `kafka`, `http` and `pubsub`. | `kafka` |
+| `KAFKA_BOOTSTRAP_SERVERS` | A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. See [Kafka producer config: `bootstrap.servers`](https://kafka.apache.org/documentation/#producerconfigs_bootstrap.servers) for more information. Only used if Kafka is set as `TARGET`. | `localhost:9092` |
+| `KAFKA_INPUT_TOPIC` | Name of the Kafka topic, which should receive the generated messages. Only used if Kafka is set as `TARGET`. | input |
+| `SCHEMA_REGISTRY_URL` | URL of the [Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry). | `http://localhost:8081` |
+| `KAFKA_BATCH_SIZE` | Value for the Kafka producer configuration: [`batch.size`](https://kafka.apache.org/documentation/#producerconfigs_batch.size). Only used if Kafka is set as `TARGET`. | see Kafka producer config: [`batch.size`](https://kafka.apache.org/documentation/#producerconfigs_batch.size) |
+| `KAFKA_LINGER_MS` | Value for the Kafka producer configuration: [`linger.ms`](https://kafka.apache.org/documentation/#producerconfigs_linger.ms). Only used if Kafka is set as `TARGET`. | see Kafka producer config: [`linger.ms`](https://kafka.apache.org/documentation/#producerconfigs_linger.ms) |
+| `KAFKA_BUFFER_MEMORY` | Value for the Kafka producer configuration: [`buffer.memory`](https://kafka.apache.org/documentation/#producerconfigs_buffer.memory) Only used if Kafka is set as `TARGET`. | see Kafka producer config: [`buffer.memory`](https://kafka.apache.org/documentation/#producerconfigs_buffer.memory) |
+| `HTTP_URL` | The URL the load generator should post messages to. Only used if HTTP is set as `TARGET`. | |
+| `HTTP_ASYNC` | Whether the load generator should send HTTP messages asynchronously. Only used if HTTP is set as `TARGET`. | `false` |
+| `HTTP_TIMEOUT_MS` | Timeout in milliseconds for sending HTTP messages. Only used if HTTP is set as `TARGET`. | 1000 |
+| `PUBSUB_INPUT_TOPIC` | The Google Cloud Pub/Sub topic to write messages to. Only used if Pub/Sub is set as `TARGET`. | input |
+| `PUBSUB_PROJECT` | The Google Cloud this Pub/Sub topic is associated with. Only used if Pub/Sub is set as `TARGET`. | |
+| `PUBSUB_EMULATOR_HOST` | A Pub/Sub emulator host. Only used if Pub/Sub is set as `TARGET`. | |
+| `NUM_SENSORS` | The amount of simulated sensors. | 10 |
+| `PERIOD_MS` | The time in milliseconds between generating two messages for the same sensor. With our Theodolite benchmarks, we apply an [open workload model](https://www.usenix.org/legacy/event/nsdi06/tech/full_papers/schroeder/schroeder.pdf) in which new messages are generated at a fixed rate, without considering the think time of the target server nor the time required for generating a message. | 1000 |
+| `VALUE` | The constant `valueInW` of an `ActivePowerRecord`. | 10 |
+| `THREADS` | Number of worker threads used to generate the load. | 4 |
+| `DISABLE_DNS_CACHING` | Set to `true` to disable DNS caching by the underlying JVM. You might want to do so when generating load via HTTP that should be sent to different target instances. | `false` |
+
+Please note that there are some additional configuration options for benchmark [UC4's load generator](hhttps://github.com/cau-se/theodolite/blob/master/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/LoadGenerator.java).
+
+## Creating a custom load generator
+
+To create a custom load generator, you need to import the [load-generator-commons](https://github.com/cau-se/theodolite/tree/master/theodolite-benchmarks/load-generator-commons) project. You can then create an instance of the `LoadGenerator` populated with a default configuration, adjust it as desired, and start it by calling its `run` method:
+
+```java
+LoadGenerator loadGenerator = new LoadGenerator.fromDefaults()
+    .setClusterConfig(clusterConfig)
+    .setLoadDefinition(new WorkloadDefinition(
+        new KeySpace(key_prefix, numSensors),
+        duration))
+    .setGeneratorConfig(new LoadGeneratorConfig(
+        recordGenerator,
+        recordSender))
+    .withThreads(threads);
+loadGenerator.run();
+```
+
+Alternatively, you can also start with a `LoadGenerator` created from environment variables and, optionally, adjust it as desired:
+
+```java
+LoadGenerator loadGenerator = LoadGenerator.fromEnvironment();
+```
diff --git a/execution/infrastructure/kubernetes/rbac/role.yaml b/execution/infrastructure/kubernetes/rbac/role.yaml
index 22b755226f1a76045dfae96821130ac59bf13bde..a76071ad09bc548f2631dc1cab137dcebc14d3de 100644
--- a/execution/infrastructure/kubernetes/rbac/role.yaml
+++ b/execution/infrastructure/kubernetes/rbac/role.yaml
@@ -40,7 +40,7 @@ rules:
     - create
     - get
   - apiGroups:
-    - theodolite.com
+    - theodolite.rocks
     resources: 
     - executions
     - benchmarks
diff --git a/execution/infrastructure/zookeeper-client.yaml b/execution/infrastructure/zookeeper-client.yaml
index 9d6d00275c46a888ed4e8ff08533ca245c4a684c..85739bba751be62773f511aa95030e6d71a4a869 100644
--- a/execution/infrastructure/zookeeper-client.yaml
+++ b/execution/infrastructure/zookeeper-client.yaml
@@ -2,10 +2,12 @@ apiVersion: v1
 kind: Pod
 metadata:
   name: zookeeper-client
+  labels:
+    app: zookeeper-client
 spec:
   containers:
   - name: zookeeper-client
-    image: confluentinc/cp-zookeeper:5.4.0
+    image: zookeeper:3.7.0
     command:
       - sh
       - -c
diff --git a/execution/theodolite.yaml b/execution/theodolite.yaml
index ae18a68ee61c71e20008a71537357cdf9521216a..495b98f8dfff7fb5ddfe95d71d09fc1dfff67e0e 100644
--- a/execution/theodolite.yaml
+++ b/execution/theodolite.yaml
@@ -21,17 +21,16 @@ spec:
               valueFrom:
                 fieldRef:
                   fieldPath: metadata.namespace
-
             # - name: MODE
             #   value: yaml-executor # Default is `yaml-executor`
             - name: THEODOLITE_EXECUTION
-              value: "execution/execution.yaml" # The name of this file must correspond to the filename of the execution, from which the config map is created.
+              value: "/deployments/execution/execution.yaml" # The name of this file must correspond to the filename of the execution, from which the config map is created.
             - name: THEODOLITE_BENCHMARK
-              value: "benchmark/benchmark.yaml" # The name of this file must correspond to the filename of the benchmark, from which the config map is created.
+              value: "/deployments/benchmark/benchmark.yaml" # The name of this file must correspond to the filename of the benchmark, from which the config map is created.
             - name: THEODOLITE_APP_RESOURCES
-              value: "benchmark-resources"
+              value: "/deployments/benchmark-resources"
             - name: RESULTS_FOLDER # Folder for saving results
-              value: results # Default is the pwd (/deployments)
+              value: /deployments/results # Default is the pwd (/deployments)
             # - name: CREATE_RESULTS_FOLDER # Specify whether the specified result folder should be created if it does not exist.
             #   value: "false" # Default is false.
           volumeMounts:
diff --git a/helm/Chart.yaml b/helm/Chart.yaml
index 856644feb587fd1783162d55a7e6ee8c596c0ac0..d890cf35119294faac3590b8beacbe18c61859b1 100644
--- a/helm/Chart.yaml
+++ b/helm/Chart.yaml
@@ -1,13 +1,14 @@
 apiVersion: v2
 name: theodolite
-description: Theodolite is a framework for benchmarking the scalability of stream processing engines.
-home: https://cau-se.github.io/theodolite
+description: Theodolite is a framework for benchmarking the horizontal and vertical scalability of cloud-native applications.
+home: https://www.theodolite.rocks
 sources:
   - https://github.com/cau-se/theodolite
 maintainers:
 - name: Sören Henning
   email: soeren.henning@email.uni-kiel.de
   url: https://www.se.informatik.uni-kiel.de/en/team/soeren-henning-m-sc
+icon: https://www.theodolite.rocks/assets/logo/theodolite-stacked-transparent.svg
 
 type: application
 
@@ -24,11 +25,12 @@ dependencies:
     version: 0.6.0
     repository: https://soerenhenning.github.io/cp-helm-charts
     condition: cp-helm-charts.enabled
-  - name: kafka-lag-exporter
-    version: 0.6.7
-    repository: https://lightbend.github.io/kafka-lag-exporter/repo/
-    condition: kafka-lag-exporter.enabled
+  - name: strimzi-kafka-operator
+    version: 0.28.0
+    repository: https://strimzi.io/charts/
+    condition: strimzi.enabled
 
-version: 0.6.0-SNAPSHOT
 
-appVersion: 0.6.0-SNAPSHOT
+version: 0.8.0-SNAPSHOT
+
+appVersion: 0.8.0-SNAPSHOT
diff --git a/helm/README.md b/helm/README.md
index 6edbee94702136fe7d98b01b3a653b191132955c..4b0c65de2e82e1c56151bc6b9bfad6d4967eb110 100644
--- a/helm/README.md
+++ b/helm/README.md
@@ -9,7 +9,7 @@ helm dependencies update .
 helm install theodolite .
 ```
 
-**Hint for Windows users:** The Theodolite Helm chart makes use of some smylinks. These are not properly created when this repository is checked out with Windows. There are a couple of solutions presented in this [Stack Overflow post](https://stackoverflow.com/q/5917249/4121056). A simpler workaround is to manually delete the symlinks and replace them by the files and folders, they are pointing to. The relevant symlinks are `benchmark-definitions` and the files inside `crd`.
+**Hint for Windows users:** The Theodolite Helm chart makes use of some symbolic links. These are not properly created when this repository is checked out with Windows. There are a couple of solutions presented in this [Stack Overflow post](https://stackoverflow.com/q/5917249/4121056). A simpler workaround is to manually delete the symbolic links and replace them by the files and folders, they are pointing to. The relevant symbolic links are `benchmark-definitions` and the files inside `crd`.
 
 ## Customize Installation
 
@@ -48,8 +48,8 @@ Helm does not remove any CRDs created by this chart. You can remove them manuall
 
 ```sh
 # CRDs from Theodolite
-kubectl delete crd executions.theodolite.com
-kubectl delete crd benchmarks.theodolite.com
+kubectl delete crd executions.theodolite.rocks
+kubectl delete crd benchmarks.theodolite.rocks
 # CRDs from Prometheus operator (see https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#uninstall-chart)
 kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
 kubectl delete crd alertmanagers.monitoring.coreos.com
diff --git a/helm/benchmark-definitions b/helm/benchmark-definitions
deleted file mode 120000
index e25d86a1f35f9815225c23d78b8524f9df81f9b5..0000000000000000000000000000000000000000
--- a/helm/benchmark-definitions
+++ /dev/null
@@ -1 +0,0 @@
-../theodolite-benchmarks/definitions/
\ No newline at end of file
diff --git a/helm/benchmark-definitions/examples b/helm/benchmark-definitions/examples
new file mode 120000
index 0000000000000000000000000000000000000000..af08c07e453910f801445770e30d44377da34dec
--- /dev/null
+++ b/helm/benchmark-definitions/examples
@@ -0,0 +1 @@
+../../theodolite/examples/operator/
\ No newline at end of file
diff --git a/helm/benchmark-definitions/test/test-example-execution.yaml b/helm/benchmark-definitions/test/test-example-execution.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f63365bed95c0a1e46a361b6948b47c814a32c25
--- /dev/null
+++ b/helm/benchmark-definitions/test/test-example-execution.yaml
@@ -0,0 +1,26 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: execution
+metadata:
+  name: theodolite-test-execution
+spec:
+  benchmark: "example-benchmark"
+  loads:
+    loadType: "NumSensors"
+    loadValues: [100]
+  resources:
+    resourceType: "Instances"
+    resourceValues: [1]
+  slos:
+    - name: "lag trend"
+      properties:
+        warmup: 0 # in seconds
+  execution:
+    strategy:
+      name: "RestrictionSearch"
+      restrictions:
+        - "LowerBound"
+      searchStrategy: "LinearSearch"
+    duration: 120 # in seconds
+    repetitions: 1
+    loadGenerationDelay: 0 # in seconds
+  configOverrides: []
diff --git a/helm/benchmark-definitions/theodolite-benchmarks b/helm/benchmark-definitions/theodolite-benchmarks
new file mode 120000
index 0000000000000000000000000000000000000000..543d7d30cc5a252829abc477075d693832c95e88
--- /dev/null
+++ b/helm/benchmark-definitions/theodolite-benchmarks
@@ -0,0 +1 @@
+../../theodolite-benchmarks/definitions/
\ No newline at end of file
diff --git a/helm/preconfigs/minimal.yaml b/helm/preconfigs/minimal.yaml
index b0828c2f424e8456933dc626a66a199cd60aa5da..3f2dba0b55b729654125377996381718d7c15eb4 100644
--- a/helm/preconfigs/minimal.yaml
+++ b/helm/preconfigs/minimal.yaml
@@ -1,12 +1,15 @@
-cp-helm-charts:
-  cp-zookeeper:
-    servers: 1
-
-  cp-kafka:
-    brokers: 1
-    configurationOverrides:
-      offsets.topic.replication.factor: "1"
-
 operator:
+  sloChecker:
+    droppedRecordsKStreams:
+      enabled: false
   resultsVolume:
     enabled: false
+
+strimzi:
+  kafka:
+    replicas: 1
+    config: 
+      "offsets.topic.replication.factor": "1"
+  zookeeper:
+    replicas: 1
+  
\ No newline at end of file
diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt
index ef1eea71080f55d08e193b9741327189865fa3dd..aabcc41cfba4844d29b94317af11bfb9ab9babcb 100644
--- a/helm/templates/NOTES.txt
+++ b/helm/templates/NOTES.txt
@@ -1,3 +1,3 @@
-Welcome to Theodolite!
+Welcome to Theodolite, a framework for benchmarking the scalability of cloud-native applications!
 
-Visit https://cau-se.github.io/theodolite for getting started and more information.
+Visit https://www.theodolite.rocks for getting started and more information.
diff --git a/helm/templates/grafana/dashboard-config-map.yaml b/helm/templates/grafana/dashboard-config-map.yaml
index 0df01b20efa0fb1100fe4b7289b00b3058eb032f..459021213c1d4c746819ddabac790800b9a6ed09 100644
--- a/helm/templates/grafana/dashboard-config-map.yaml
+++ b/helm/templates/grafana/dashboard-config-map.yaml
@@ -71,10 +71,10 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "sum(cp_kafka_server_brokertopicmetrics_messagesinpersec_topic_input)",
+            "expr": "sum by (topic) (rate(kafka_server_brokertopicmetrics_messagesin_total{topic='input'}[30s]))",
             "format": "time_series",
             "intervalFactor": 1,
-            "legendFormat": "{{Messages In Per Second}}",
+            "legendFormat": "{{topic}}",
             "refId": "D"
           }
         ],
@@ -162,10 +162,10 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "sum(cp_kafka_server_brokertopicmetrics_messagesinpersec_topic_output)",
+            "expr": "sum by (topic) (rate(kafka_server_brokertopicmetrics_messagesin_total{topic='output'}[30s]))",
             "format": "time_series",
             "intervalFactor": 1,
-            "legendFormat": "{{Messages Out Per Second}}",
+            "legendFormat": "{{topic}}",
             "refId": "D"
           }
         ],
@@ -253,7 +253,7 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "sum by(group, topic) (kafka_consumergroup_group_lag >= 0)",
+            "expr": "sum by(consumergroup, topic) (kafka_consumergroup_lag >= 0)",
             "format": "time_series",
             "intervalFactor": 1,
             "legendFormat": "{{topic}}",
@@ -344,10 +344,10 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "count(count (kafka_consumer_consumer_fetch_manager_metrics_records_lag) by(pod))",
+            "expr": "sum by(consumergroup) (kafka_consumergroup_members >= 0)",
             "format": "time_series",
             "intervalFactor": 1,
-            "legendFormat": "instances",
+            "legendFormat": "{{consumergroup}}",
             "refId": "D"
           }
         ],
@@ -436,7 +436,7 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "sum by(group,topic) (kafka_consumergroup_group_offset >= 0)",
+            "expr": "sum by(consumergroup,topic) (kafka_consumergroup_current_offset{topic='input'} >= 0)",
             "format": "time_series",
             "intervalFactor": 1,
             "legendFormat": "{{topic}}",
@@ -527,7 +527,7 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "count by(group,topic) (kafka_consumergroup_group_offset >= 0)",
+            "expr": "kafka_topic_partitions",
             "format": "time_series",
             "intervalFactor": 1,
             "legendFormat": "{{topic}}",
@@ -618,7 +618,7 @@ data:
         "steppedLine": false,
         "targets": [
           {
-            "expr": "sum by(group,topic) (kafka_partition_latest_offset)",
+            "expr": "sum by(topic) (kafka_topic_partition_current_offset)",
             "format": "time_series",
             "intervalFactor": 1,
             "legendFormat": "{{topic}}",
diff --git a/helm/templates/prometheus/datasource-config-map.yaml b/helm/templates/grafana/datasource-config-map.yaml
similarity index 100%
rename from helm/templates/prometheus/datasource-config-map.yaml
rename to helm/templates/grafana/datasource-config-map.yaml
diff --git a/helm/templates/kafka/kafka-client.yaml b/helm/templates/kafka/kafka-client.yaml
index 02e16d33dfc9595dd16c41fa6bfe1404fd7889ab..1edf1b96c7326d6a3cfdb1a45640ec9d8d720fba 100644
--- a/helm/templates/kafka/kafka-client.yaml
+++ b/helm/templates/kafka/kafka-client.yaml
@@ -2,7 +2,6 @@
 apiVersion: v1
 kind: Pod
 metadata:
-  # name: {{ template "theodolite.fullname" . }}-kafka-client
   name: {{ template "theodolite.fullname" . }}-kafka-client
 spec:
   containers:
@@ -12,6 +11,9 @@ spec:
       - sh
       - -c
       - "exec tail -f /dev/null"
+    env:
+      - name: BOOTSTRAP_SERVER
+        value: {{ template "theodolite.fullname" . }}-kafka-kafka-bootstrap:9092
   {{- with .Values.kafkaClient.nodeSelector }}
   nodeSelector:
     {{- toYaml . | nindent 8 }}
diff --git a/helm/templates/kafka/kafka-cluster.yaml b/helm/templates/kafka/kafka-cluster.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f1a58077a78865c624706531b58c3150feeb83ae
--- /dev/null
+++ b/helm/templates/kafka/kafka-cluster.yaml
@@ -0,0 +1,73 @@
+{{- if .Values.strimzi.enabled -}}
+apiVersion: kafka.strimzi.io/v1beta2
+kind: Kafka
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka
+spec:
+  kafka:
+    jmxOptions: {}
+    {{- with .Values.strimzi.kafka.listeners }}
+    listeners:
+      {{- toYaml . | nindent 6 }}
+    {{- end }}
+    {{- with .Values.strimzi.kafka.replicas }}
+    replicas:
+      {{- toYaml . | nindent 6 }}
+    {{- end }}
+    {{- with .Values.strimzi.kafka.config }}
+    config:
+      {{- toYaml . | nindent 6 }}
+    {{- end }}
+    {{- with .Values.strimzi.kafka.jvmOptions }}
+    jvmOptions:
+      {{- toYaml . | nindent 6 }}
+    {{- end }}
+    storage:
+      type: ephemeral
+    metricsConfig:
+      type: jmxPrometheusExporter
+      valueFrom:
+        configMapKeyRef:
+          name: {{ template "theodolite.fullname" . }}-kafka-metrics
+          key: kafka-metrics-config.yml
+    {{- with .Values.strimzi.kafka.nodeSelectorTerms}}
+    template:
+      pod:
+        affinity:
+          nodeAffinity:
+            requiredDuringSchedulingIgnoredDuringExecution:
+              nodeSelectorTerms:
+                {{- toYaml . | nindent 16 }}
+    {{- end}}
+    {{- with .Values.strimzi.kafka.resources}}
+    resources:
+      {{- toYaml . | nindent 6 }}
+    {{- end}}
+
+
+  zookeeper:
+    {{- with .Values.strimzi.zookeeper.replicas }}
+    replicas:
+      {{- toYaml . | nindent 6 }}
+    {{- end }}
+    storage:
+      type: ephemeral
+    {{- with .Values.strimzi.zookeeper.nodeSelectorTerms}}
+    template:
+      pod:
+        affinity:
+          nodeAffinity:
+            requiredDuringSchedulingIgnoredDuringExecution:
+              nodeSelectorTerms:
+                {{- toYaml . | nindent 16 }}
+    {{- end}}
+
+  kafkaExporter: {}
+
+  {{- if .Values.strimzi.topicOperator.enabled }}
+  entityOperator:
+    topicOperator: {}
+  {{- end }}
+
+
+{{- end }}
\ No newline at end of file
diff --git a/helm/templates/kafka/kafka-exporter-podmonitor.yaml b/helm/templates/kafka/kafka-exporter-podmonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..41395dfd6a9ea9f74598ff89c4d9e2e7f8757ff0
--- /dev/null
+++ b/helm/templates/kafka/kafka-exporter-podmonitor.yaml
@@ -0,0 +1,16 @@
+{{- if .Values.strimzi.enabled -}}
+apiVersion: monitoring.coreos.com/v1
+kind: PodMonitor
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka-exporter-podmonitor
+  labels:
+    app: theodolite
+spec:
+  selector:
+    selector:
+    matchLabels:
+      strimzi.io/name: {{ template "theodolite.fullname" . }}-kafka-kafka-exporter
+  podMetricsEndpoints:
+  - path: /metrics
+    port: tcp-prometheus
+{{- end }}
\ No newline at end of file
diff --git a/helm/templates/kafka/kafka-metrics-configmap.yaml b/helm/templates/kafka/kafka-metrics-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ad75bfa6ab9ec89a229125d167b897cb58744c42
--- /dev/null
+++ b/helm/templates/kafka/kafka-metrics-configmap.yaml
@@ -0,0 +1,133 @@
+{{- if .Values.strimzi.enabled -}}
+kind: ConfigMap
+apiVersion: v1
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka-metrics
+  labels:
+    app: strimzi
+data:
+  kafka-metrics-config.yml: |
+    # See https://github.com/prometheus/jmx_exporter for more info about JMX Prometheus Exporter metrics
+    lowercaseOutputName: true
+    rules:
+    # Special cases and very specific rules
+    - pattern: kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value
+      name: kafka_server_$1_$2
+      type: GAUGE
+      labels:
+       clientId: "$3"
+       topic: "$4"
+       partition: "$5"
+    - pattern: kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>Value
+      name: kafka_server_$1_$2
+      type: GAUGE
+      labels:
+       clientId: "$3"
+       broker: "$4:$5"
+    - pattern: kafka.server<type=(.+), cipher=(.+), protocol=(.+), listener=(.+), networkProcessor=(.+)><>connections
+      name: kafka_server_$1_connections_tls_info
+      type: GAUGE
+      labels:
+        cipher: "$2"
+        protocol: "$3"
+        listener: "$4"
+        networkProcessor: "$5"
+    - pattern: kafka.server<type=(.+), clientSoftwareName=(.+), clientSoftwareVersion=(.+), listener=(.+), networkProcessor=(.+)><>connections
+      name: kafka_server_$1_connections_software
+      type: GAUGE
+      labels:
+        clientSoftwareName: "$2"
+        clientSoftwareVersion: "$3"
+        listener: "$4"
+        networkProcessor: "$5"
+    - pattern: "kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+):"
+      name: kafka_server_$1_$4
+      type: GAUGE
+      labels:
+       listener: "$2"
+       networkProcessor: "$3"
+    - pattern: kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+)
+      name: kafka_server_$1_$4
+      type: GAUGE
+      labels:
+       listener: "$2"
+       networkProcessor: "$3"
+    # Some percent metrics use MeanRate attribute
+    # Ex) kafka.server<type=(KafkaRequestHandlerPool), name=(RequestHandlerAvgIdlePercent)><>MeanRate
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>MeanRate
+      name: kafka_$1_$2_$3_percent
+      type: GAUGE
+    # Generic gauges for percents
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>Value
+      name: kafka_$1_$2_$3_percent
+      type: GAUGE
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*, (.+)=(.+)><>Value
+      name: kafka_$1_$2_$3_percent
+      type: GAUGE
+      labels:
+        "$4": "$5"
+    # Generic per-second counters with 0-2 key/value pairs
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+), (.+)=(.+)><>Count
+      name: kafka_$1_$2_$3_total
+      type: COUNTER
+      labels:
+        "$4": "$5"
+        "$6": "$7"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+)><>Count
+      name: kafka_$1_$2_$3_total
+      type: COUNTER
+      labels:
+        "$4": "$5"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*><>Count
+      name: kafka_$1_$2_$3_total
+      type: COUNTER
+    # Generic gauges with 0-2 key/value pairs
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Value
+      name: kafka_$1_$2_$3
+      type: GAUGE
+      labels:
+        "$4": "$5"
+        "$6": "$7"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Value
+      name: kafka_$1_$2_$3
+      type: GAUGE
+      labels:
+        "$4": "$5"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)><>Value
+      name: kafka_$1_$2_$3
+      type: GAUGE
+    # Emulate Prometheus 'Summary' metrics for the exported 'Histogram's.
+    # Note that these are missing the '_sum' metric!
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Count
+      name: kafka_$1_$2_$3_count
+      type: COUNTER
+      labels:
+        "$4": "$5"
+        "$6": "$7"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*), (.+)=(.+)><>(\d+)thPercentile
+      name: kafka_$1_$2_$3
+      type: GAUGE
+      labels:
+        "$4": "$5"
+        "$6": "$7"
+        quantile: "0.$8"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Count
+      name: kafka_$1_$2_$3_count
+      type: COUNTER
+      labels:
+        "$4": "$5"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*)><>(\d+)thPercentile
+      name: kafka_$1_$2_$3
+      type: GAUGE
+      labels:
+        "$4": "$5"
+        quantile: "0.$6"
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)><>Count
+      name: kafka_$1_$2_$3_count
+      type: COUNTER
+    - pattern: kafka.(\w+)<type=(.+), name=(.+)><>(\d+)thPercentile
+      name: kafka_$1_$2_$3
+      type: GAUGE
+      labels:
+        quantile: "0.$4"
+{{- end }}
\ No newline at end of file
diff --git a/helm/templates/kafka/kafka-podmonitor.yaml b/helm/templates/kafka/kafka-podmonitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..522f23f305b53615251d80e8cb13eac50e5530ad
--- /dev/null
+++ b/helm/templates/kafka/kafka-podmonitor.yaml
@@ -0,0 +1,16 @@
+{{- if .Values.strimzi.enabled -}}
+apiVersion: monitoring.coreos.com/v1
+kind: PodMonitor
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka-resources-metrics
+  labels:
+    app: theodolite
+spec:
+  selector:
+    selector:
+    matchLabels:
+      strimzi.io/name: {{ template "theodolite.fullname" . }}-kafka-kafka
+  podMetricsEndpoints:
+  - path: /metrics
+    port: tcp-prometheus
+{{- end }}
\ No newline at end of file
diff --git a/helm/templates/kafka/zookeeper-client.yaml b/helm/templates/kafka/zookeeper-client.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2154ec116b71bbb33808d3c32d42170a8d9589da
--- /dev/null
+++ b/helm/templates/kafka/zookeeper-client.yaml
@@ -0,0 +1,23 @@
+{{- if .Values.strimzi.zookeeper.zooEntrance.zookeeperClient.enabled -}}
+apiVersion: v1
+kind: Pod
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka-zookeeper-client
+  labels:
+    app: zookeeper-client
+spec:
+  containers:
+  - name: zookeeper-client
+    image: zookeeper:3.7.0
+    command:
+      - sh
+      - -c
+      - "exec tail -f /dev/null"
+    env:
+    - name: ZOOKEEPER_SERVER
+      value: {{ template "theodolite.fullname" . }}-kafka-zoo-entrance:2181
+  {{- with .Values.strimzi.zookeeper.zooEntrance.zookeeperClient.nodeSelector }}
+  nodeSelector:
+    {{- toYaml . | nindent 8 }}
+  {{- end }}
+{{- end }}
\ No newline at end of file
diff --git a/helm/templates/kafka/zookeeper-entrance-deployment.yaml b/helm/templates/kafka/zookeeper-entrance-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a0c2841760aa641b1f1105863465a08069d164bd
--- /dev/null
+++ b/helm/templates/kafka/zookeeper-entrance-deployment.yaml
@@ -0,0 +1,71 @@
+{{- if .Values.strimzi.zookeeper.zooEntrance.enabled -}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kafka-zoo-entrance
+  labels:
+    app: zoo-entrance
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: zoo-entrance
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        app: zoo-entrance
+    spec:
+      containers:
+        - name: zoo-entrance
+          image: 'ghcr.io/scholzj/zoo-entrance:latest'
+          command:
+            - /opt/stunnel/stunnel_run.sh
+          ports:
+            - containerPort: 2181
+              name: zoo
+              protocol: TCP
+          env:
+            - name: LOG_LEVEL
+              value: notice
+            - name: STRIMZI_ZOOKEEPER_CONNECT
+              value: {{ template "theodolite.fullname" . }}-kafka-zookeeper-client:2181
+          imagePullPolicy: Always
+          livenessProbe:
+            exec:
+              command:
+                - /opt/stunnel/stunnel_healthcheck.sh
+                - '2181'
+            failureThreshold: 3
+            initialDelaySeconds: 15
+            periodSeconds: 10
+            successThreshold: 1
+            timeoutSeconds: 5
+          readinessProbe:
+            exec:
+              command:
+                - /opt/stunnel/stunnel_healthcheck.sh
+                - '2181'
+            failureThreshold: 3
+            initialDelaySeconds: 15
+            periodSeconds: 10
+            successThreshold: 1
+            timeoutSeconds: 5
+          volumeMounts:
+            - mountPath: /etc/cluster-operator-certs/
+              name: cluster-operator-certs
+            - mountPath: /etc/cluster-ca-certs/
+              name: cluster-ca-certs
+      restartPolicy: Always
+      terminationGracePeriodSeconds: 30
+      volumes:
+        - name: cluster-operator-certs
+          secret:
+            defaultMode: 288
+            secretName: {{ template "theodolite.fullname" . }}-kafka-cluster-operator-certs
+        - name: cluster-ca-certs
+          secret:
+            defaultMode: 288
+            secretName: {{ template "theodolite.fullname" . }}-kafka-cluster-ca-cert
+{{- end }}
diff --git a/helm/templates/kafka/zookeeper-entrance-network.yaml b/helm/templates/kafka/zookeeper-entrance-network.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..604095c1ab3f5e207666383e23dfb8f006b196ae
--- /dev/null
+++ b/helm/templates/kafka/zookeeper-entrance-network.yaml
@@ -0,0 +1,22 @@
+{{- if .Values.strimzi.zookeeper.zooEntrance.enabled -}}
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  labels:
+    app: zoo-entrance
+  name: {{ template "theodolite.fullname" . }}-kafka-zoo-entrance
+spec:
+  ingress:
+  - from:
+    - podSelector:
+        matchLabels:
+          app: zoo-entrance
+    ports:
+    - port: 2181
+      protocol: TCP
+  podSelector:
+    matchLabels:
+      strimzi.io/name: {{ template "theodolite.fullname" . }}-kafka-zookeeper
+  policyTypes:
+  - Ingress
+{{- end }}
diff --git a/helm/templates/kafka/zookeeper-entrance-service.yaml b/helm/templates/kafka/zookeeper-entrance-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bbb466c3d9ad4e7ff9cb012aaaa95ad9a5380a6e
--- /dev/null
+++ b/helm/templates/kafka/zookeeper-entrance-service.yaml
@@ -0,0 +1,17 @@
+{{- if .Values.strimzi.zookeeper.zooEntrance.enabled -}}
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: zoo-entrance
+  name: {{ template "theodolite.fullname" . }}-kafka-zoo-entrance
+spec:
+  ports:
+    - name: zoo
+      port: 2181
+      protocol: TCP
+      targetPort: 2181
+  selector:
+    app: zoo-entrance
+  type: ClusterIP
+{{- end }}
diff --git a/helm/templates/prometheus/operator-role-binding.yaml b/helm/templates/prometheus/operator-role-binding.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0fadc048940ca5254e7ce2867a657361f32ef3b7
--- /dev/null
+++ b/helm/templates/prometheus/operator-role-binding.yaml
@@ -0,0 +1,16 @@
+{{- if not (index .Values "kube-prometheus-stack" "global" "rbac" "create") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kube-prometheus-operator
+  labels:
+    app: {{ template "theodolite.fullname" . }}-kube-prometheus-operator
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: {{ template "theodolite.fullname" . }}-kube-prometheus-operator
+subjects:
+- kind: ServiceAccount
+  name: {{ template "theodolite.fullname" . }}-kube-prometheus-operator
+  namespace: {{ .Release.Namespace }}
+{{- end }}
diff --git a/helm/templates/prometheus/operator-role.yaml b/helm/templates/prometheus/operator-role.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..16481a2ec6a4387e589079433490ac5d437dc04b
--- /dev/null
+++ b/helm/templates/prometheus/operator-role.yaml
@@ -0,0 +1,79 @@
+{{- if not (index .Values "kube-prometheus-stack" "global" "rbac" "create") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: {{ template "theodolite.fullname" . }}-kube-prometheus-operator
+  labels:
+    app: {{ template "theodolite.name" . }}-kube-prometheus-operator
+rules:
+- apiGroups:
+  - monitoring.coreos.com
+  resources:
+  - alertmanagers
+  - alertmanagers/finalizers
+  - alertmanagerconfigs
+  - prometheuses
+  - prometheuses/finalizers
+  - thanosrulers
+  - thanosrulers/finalizers
+  - servicemonitors
+  - podmonitors
+  - probes
+  - prometheusrules
+  verbs:
+  - '*'
+- apiGroups:
+  - apps
+  resources:
+  - statefulsets
+  verbs:
+  - '*'
+- apiGroups:
+  - ""
+  resources:
+  - configmaps
+  - secrets
+  verbs:
+  - '*'
+- apiGroups:
+  - ""
+  resources:
+  - pods
+  verbs:
+  - list
+  - delete
+- apiGroups:
+  - ""
+  resources:
+  - services
+  - services/finalizers
+  - endpoints
+  verbs:
+  - get
+  - create
+  - update
+  - delete
+- apiGroups:
+  - ""
+  resources:
+  - nodes
+  verbs:
+  - list
+  - watch
+- apiGroups:
+  - ""
+  resources:
+  - namespaces
+  verbs:
+  - get
+  - list
+  - watch
+- apiGroups:
+  - networking.k8s.io
+  resources:
+  - ingresses
+  verbs:
+  - get
+  - list
+  - watch
+{{- end }}
diff --git a/helm/templates/prometheus/prometheus.yaml b/helm/templates/prometheus/prometheus.yaml
index 4e297b20290be9686b901fa8c76823136c6fabef..196d68487824d7d8e130c56d11cec2687304d7e6 100644
--- a/helm/templates/prometheus/prometheus.yaml
+++ b/helm/templates/prometheus/prometheus.yaml
@@ -5,14 +5,12 @@ metadata:
   name: {{ template "theodolite.fullname" . }}-prometheus
 spec:
   serviceAccountName: {{ template "theodolite.fullname" . }}-prometheus
-  serviceMonitorSelector:
-    matchLabels:
-      #app: cp-kafka
-      appScope: titan-ccp
+  podMonitorSelector: {}
+  serviceMonitorSelector: {}
   resources:
     requests:
       memory: 400Mi
-  #scrapeInterval: 1s
+  scrapeInterval: 15s
   enableAdminAPI: true
   {{- with .Values.prometheus.nodeSelector }}
   nodeSelector:
diff --git a/helm/templates/prometheus/cluster-role-binding.yaml b/helm/templates/prometheus/role-binding.yaml
similarity index 75%
rename from helm/templates/prometheus/cluster-role-binding.yaml
rename to helm/templates/prometheus/role-binding.yaml
index f2f167b94b79ad4db130565777cb8af486762c8c..722f806e0621a5775083f74f064e0c9eae18f1d8 100644
--- a/helm/templates/prometheus/cluster-role-binding.yaml
+++ b/helm/templates/prometheus/role-binding.yaml
@@ -1,14 +1,14 @@
-{{- if .Values.prometheus.clusterRoleBinding.enabled -}}
+{{- if .Values.prometheus.roleBinding.enabled -}}
 apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
+kind: RoleBinding
 metadata:
   name: {{ template "theodolite.fullname" . }}-prometheus
 roleRef:
   apiGroup: rbac.authorization.k8s.io
-  kind: ClusterRole
+  kind: Role
   name: {{ template "theodolite.fullname" . }}-prometheus
 subjects:
 - kind: ServiceAccount
   name: {{ template "theodolite.fullname" . }}-prometheus
   namespace: {{ .Release.Namespace }}
-{{- end}}
\ No newline at end of file
+{{- end}}
diff --git a/helm/templates/prometheus/cluster-role.yaml b/helm/templates/prometheus/role.yaml
similarity index 67%
rename from helm/templates/prometheus/cluster-role.yaml
rename to helm/templates/prometheus/role.yaml
index c2fea2205451e01474d1ab7ef1ca342a9d975dc9..321d2825b5b98d31fc34619e88994058bac74cab 100644
--- a/helm/templates/prometheus/cluster-role.yaml
+++ b/helm/templates/prometheus/role.yaml
@@ -1,12 +1,11 @@
-{{- if .Values.prometheus.clusterRole.enabled -}}
+{{- if .Values.prometheus.role.enabled -}}
 apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
+kind: Role
 metadata:
   name: {{ template "theodolite.fullname" . }}-prometheus
 rules:
 - apiGroups: [""]
   resources:
-  - nodes
   - services
   - endpoints
   - pods
@@ -15,6 +14,4 @@ rules:
   resources:
   - configmaps
   verbs: ["get"]
-- nonResourceURLs: ["/metrics"]
-  verbs: ["get"]
-{{- end }}
\ No newline at end of file
+{{- end}}
diff --git a/helm/templates/strimzi/entity-role-binding.yaml b/helm/templates/strimzi/entity-role-binding.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..adb5394f866e0e8d61f1549e884461a529b655d1
--- /dev/null
+++ b/helm/templates/strimzi/entity-role-binding.yaml
@@ -0,0 +1,18 @@
+{{- if not (index .Values "strimzi-kafka-operator" "createGlobalResources") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  labels:
+    app: strimzi
+  name: strimzi-cluster-operator-entity-operator-delegation-namespaced
+  namespace: {{ .Release.Namespace }}
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: strimzi-entity-operator-namespaced
+subjects:
+- kind: ServiceAccount
+  name: strimzi-cluster-operator
+  namespace: {{ .Release.Namespace }}
+{{- end }}
+
diff --git a/helm/templates/strimzi/entity-role.yaml b/helm/templates/strimzi/entity-role.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9a2230a9336151a444738c3cd069bbe961c2825b
--- /dev/null
+++ b/helm/templates/strimzi/entity-role.yaml
@@ -0,0 +1,46 @@
+{{- if not (index .Values "strimzi-kafka-operator" "createGlobalResources") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: strimzi-entity-operator-namespaced
+  labels:
+    app: {{ template "theodolite.name" . }}-strimzi
+rules:
+- apiGroups:
+  - "kafka.strimzi.io"
+  resources:
+    # The entity operator runs the KafkaTopic assembly operator, which needs to access and manage KafkaTopic resources
+  - kafkatopics
+  - kafkatopics/status
+  # The entity operator runs the KafkaUser assembly operator, which needs to access and manage KafkaUser resources
+  - kafkausers
+  - kafkausers/status
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - patch
+  - update
+  - delete
+- apiGroups:
+  - ""
+  resources:
+  - events
+  verbs:
+    # The entity operator needs to be able to create events
+  - create
+- apiGroups:
+  - ""
+  resources:
+    # The entity operator user-operator needs to access and manage secrets to store generated credentials
+  - secrets
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+{{- end }}
diff --git a/helm/templates/strimzi/operator-role-binding.yaml b/helm/templates/strimzi/operator-role-binding.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..82b48bd0fa7d1535c08b0e5c005088dc65df6999
--- /dev/null
+++ b/helm/templates/strimzi/operator-role-binding.yaml
@@ -0,0 +1,18 @@
+{{- if not (index .Values "strimzi-kafka-operator" "createGlobalResources") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  labels:
+    app: strimzi
+  name: strimzi-cluster-operator-namespaced
+  namespace: {{ .Release.Namespace }}
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: strimzi-cluster-operator-namespaced
+subjects:
+- kind: ServiceAccount
+  name: strimzi-cluster-operator
+  namespace: {{ .Release.Namespace }}
+{{- end }}
+
diff --git a/helm/templates/strimzi/operator-role.yaml b/helm/templates/strimzi/operator-role.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d5098ffc3af43d55208ddfc5e10535e73d22ac06
--- /dev/null
+++ b/helm/templates/strimzi/operator-role.yaml
@@ -0,0 +1,213 @@
+{{- if not (index .Values "strimzi-kafka-operator" "createGlobalResources") -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: strimzi-cluster-operator-namespaced
+  labels:
+    app: strimzi-cluster-operator-namespaced
+rules:
+- apiGroups:
+  - "rbac.authorization.k8s.io"
+  resources:
+    # The cluster operator needs to access and manage rolebindings to grant Strimzi components cluster permissions
+  - rolebindings
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - "rbac.authorization.k8s.io"
+  resources:
+    # The cluster operator needs to access and manage roles to grant the entity operator permissions
+  - roles
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - ""
+  resources:
+    # The cluster operator needs to access and delete pods, this is to allow it to monitor pod health and coordinate rolling updates
+  - pods
+    # The cluster operator needs to access and manage service accounts to grant Strimzi components cluster permissions
+  - serviceaccounts
+    # The cluster operator needs to access and manage config maps for Strimzi components configuration
+  - configmaps
+    # The cluster operator needs to access and manage services and endpoints to expose Strimzi components to network traffic
+  - services
+  - endpoints
+    # The cluster operator needs to access and manage secrets to handle credentials
+  - secrets
+    # The cluster operator needs to access and manage persistent volume claims to bind them to Strimzi components for persistent data
+  - persistentvolumeclaims
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - "kafka.strimzi.io"
+  resources:
+    # The cluster operator runs the KafkaAssemblyOperator, which needs to access and manage Kafka resources
+  - kafkas
+  - kafkas/status
+    # The cluster operator runs the KafkaConnectAssemblyOperator, which needs to access and manage KafkaConnect resources
+  - kafkaconnects
+  - kafkaconnects/status
+    # The cluster operator runs the KafkaConnectorAssemblyOperator, which needs to access and manage KafkaConnector resources
+  - kafkaconnectors
+  - kafkaconnectors/status
+    # The cluster operator runs the KafkaMirrorMakerAssemblyOperator, which needs to access and manage KafkaMirrorMaker resources
+  - kafkamirrormakers
+  - kafkamirrormakers/status
+    # The cluster operator runs the KafkaBridgeAssemblyOperator, which needs to access and manage BridgeMaker resources
+  - kafkabridges
+  - kafkabridges/status
+    # The cluster operator runs the KafkaMirrorMaker2AssemblyOperator, which needs to access and manage KafkaMirrorMaker2 resources
+  - kafkamirrormaker2s
+  - kafkamirrormaker2s/status
+    # The cluster operator runs the KafkaRebalanceAssemblyOperator, which needs to access and manage KafkaRebalance resources
+  - kafkarebalances
+  - kafkarebalances/status
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - "core.strimzi.io"
+  resources:
+    # The cluster operator uses StrimziPodSets to manage the Kafka and ZooKeeper pods
+  - strimzipodsets
+  - strimzipodsets/status
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+    # The cluster operator needs the extensions api as the operator supports Kubernetes version 1.11+
+    # apps/v1 was introduced in Kubernetes 1.14
+  - "extensions"
+  resources:
+    # The cluster operator needs to access and manage deployments to run deployment based Strimzi components
+  - deployments
+  - deployments/scale
+    # The cluster operator needs to access replica sets to manage Strimzi components and to determine error states
+  - replicasets
+    # The cluster operator needs to access and manage replication controllers to manage replicasets
+  - replicationcontrollers
+    # The cluster operator needs to access and manage network policies to lock down communication between Strimzi components
+  - networkpolicies
+    # The cluster operator needs to access and manage ingresses which allow external access to the services in a cluster
+  - ingresses
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - "apps"
+  resources:
+    # The cluster operator needs to access and manage deployments to run deployment based Strimzi components
+  - deployments
+  - deployments/scale
+  - deployments/status
+    # The cluster operator needs to access and manage stateful sets to run stateful sets based Strimzi components
+  - statefulsets
+    # The cluster operator needs to access replica-sets to manage Strimzi components and to determine error states
+  - replicasets
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - ""
+  resources:
+    # The cluster operator needs to be able to create events and delegate permissions to do so
+  - events
+  verbs:
+  - create
+- apiGroups:
+    # Kafka Connect Build on OpenShift requirement
+  - build.openshift.io
+  resources:
+  - buildconfigs
+  - buildconfigs/instantiate
+  - builds
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - networking.k8s.io
+  resources:
+    # The cluster operator needs to access and manage network policies to lock down communication between Strimzi components
+  - networkpolicies
+    # The cluster operator needs to access and manage ingresses which allow external access to the services in a cluster
+  - ingresses
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - route.openshift.io
+  resources:
+    # The cluster operator needs to access and manage routes to expose Strimzi components for external access
+  - routes
+  - routes/custom-host
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+- apiGroups:
+  - policy
+  resources:
+    # The cluster operator needs to access and manage pod disruption budgets this limits the number of concurrent disruptions
+    # that a Strimzi component experiences, allowing for higher availability
+  - poddisruptionbudgets
+  verbs:
+  - get
+  - list
+  - watch
+  - create
+  - delete
+  - patch
+  - update
+{{- end }}
diff --git a/helm/templates/tests/test-connection.yaml b/helm/templates/tests/test-prometheus-connection.yaml
similarity index 69%
rename from helm/templates/tests/test-connection.yaml
rename to helm/templates/tests/test-prometheus-connection.yaml
index 7af87e98920c11bcfaccb27724e6f29fc76771a0..4c51c0854e14dc7d4d4e23e268226f99114716d4 100644
--- a/helm/templates/tests/test-connection.yaml
+++ b/helm/templates/tests/test-prometheus-connection.yaml
@@ -1,3 +1,4 @@
+{{- if .Values.prometheus.enabled }}
 apiVersion: v1
 kind: Pod
 metadata:
@@ -5,7 +6,8 @@ metadata:
   labels:
     {{- include "theodolite.labels" . | nindent 4 }}
   annotations:
-    "helm.sh/hook": test-success
+    "helm.sh/hook": test
+    "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
 spec:
   containers:
     - name: wget
@@ -13,3 +15,4 @@ spec:
       command: ['wget']
       args: ['http://prometheus-operated:9090']
   restartPolicy: Never
+{{- end }}
diff --git a/helm/templates/tests/test-theodolite-example.yaml b/helm/templates/tests/test-theodolite-example.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..02f7890c56ed67e4c2b63e3f02426745c64f876f
--- /dev/null
+++ b/helm/templates/tests/test-theodolite-example.yaml
@@ -0,0 +1,52 @@
+{{- if .Values.operator.enabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: "{{ include "theodolite.fullname" . }}-test-example-files"
+  annotations:
+    "helm.sh/hook": test
+    "helm.sh/hook-weight": "1"
+    "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded,hook-failed
+data:
+{{ ($.Files.Glob "benchmark-definitions/examples/*").AsConfig | indent 2 }}
+{{ ($.Files.Glob "benchmark-definitions/test/*").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: Pod
+metadata:
+  name: "{{ include "theodolite.fullname" . }}-test-example"
+  labels:
+    {{- include "theodolite.labels" . | nindent 4 }}
+  annotations:
+    "helm.sh/hook": test
+    "helm.sh/hook-weight": "2"
+    "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
+spec:
+  restartPolicy: Never
+  containers:
+    - name: kubectl
+      image: bitnami/kubectl
+      command:
+        - bash
+        - -c
+        - |
+          cd /example-resources/
+          kubectl apply -f example-configmap.yaml
+          kubectl apply -f example-benchmark.yaml
+          kubectl apply -f test-example-execution.yaml
+          timeout 180s bash -c "until kubectl get exec theodolite-test-execution -o json | jq -r .status.executionState | grep -i '^Finished$'; do kubectl get exec theodolite-test-execution -o json | jq -r .status.executionState; sleep 5s; done"
+          RETURN=$?
+          echo "RETURN: $RETURN"
+          kubectl delete -f example-configmap.yaml
+          kubectl delete -f example-benchmark.yaml
+          kubectl delete -f test-example-execution.yaml
+          exit $RETURN
+      volumeMounts:
+        - name: example-resources
+          mountPath: /example-resources
+  volumes:
+    - name: example-resources
+      configMap:
+        name: "{{ include "theodolite.fullname" . }}-test-example-files"
+  serviceAccountName:  {{ include "theodolite.serviceAccountName" . }}
+{{- end }}
diff --git a/helm/templates/theodolite/benchmarks/benchmark-resources-config-map.yaml b/helm/templates/theodolite/benchmarks/benchmark-resources-config-map.yaml
index 2dd355141350921d772edb73a1e8e7795600b0d1..b525ba1ec756232f8f2f6b33321fd808dc68679c 100644
--- a/helm/templates/theodolite/benchmarks/benchmark-resources-config-map.yaml
+++ b/helm/templates/theodolite/benchmarks/benchmark-resources-config-map.yaml
@@ -6,7 +6,7 @@ kind: ConfigMap
 metadata:
   name: benchmark-resources-{{ $name }}
 data:
-{{ ($.Files.Glob (printf "benchmark-definitions/%s/resources/*" $name)).AsConfig | indent 2 }}
+{{ ($.Files.Glob (printf "benchmark-definitions/theodolite-benchmarks/%s/resources/*" $name)).AsConfig | indent 2 }}
 ---
 {{- end }}
 {{- end }}
diff --git a/helm/templates/theodolite/benchmarks/benchmark.yaml b/helm/templates/theodolite/benchmarks/benchmark.yaml
index 1c4cb02ea69dbed711b781535127e00e2a24f1d7..f4d8641afab7b2d52fd57eb561e896dae4278ed6 100644
--- a/helm/templates/theodolite/benchmarks/benchmark.yaml
+++ b/helm/templates/theodolite/benchmarks/benchmark.yaml
@@ -1,7 +1,7 @@
 {{- range $benchmark, $enabled := .Values.operator.theodoliteBenchmarks.benchmarks }}
 {{- if $enabled -}}
 {{- $name := kebabcase $benchmark }}
-{{ $.Files.Get (printf "benchmark-definitions/%s/%s-benchmark-operator.yaml" $name $name) }}
+{{ $.Files.Get (printf "benchmark-definitions/theodolite-benchmarks/%s/%s-benchmark-operator.yaml" $name $name) }}
 ---
 {{- end }}
 {{- end }}
diff --git a/helm/templates/theodolite/role.yaml b/helm/templates/theodolite/role.yaml
index 43ee0e43d6974cd95548df32d6c4b1df8f3e497e..8ef55e856b1c93d5fd54841f4291a77faed304bc 100644
--- a/helm/templates/theodolite/role.yaml
+++ b/helm/templates/theodolite/role.yaml
@@ -38,15 +38,29 @@ rules:
     - monitoring.coreos.com
     resources:
     - servicemonitors
+    - podmonitors
     verbs:
     - update
     - delete
     - list
     - create
     - get
+  - apiGroups:
+    - kafka.strimzi.io
+    resources:
+    - kafkatopics
+    verbs:
+    - delete
+    - list
+    - get
+    - create
+    - update
+  {{- with .Values.rbac.additionalRules }}
+{{ toYaml . | indent 2 }}
+  {{- end }}
   {{- if .Values.operator.enabled }}
   - apiGroups:
-    - theodolite.com
+    - theodolite.rocks
     resources:
     - benchmarks
     - benchmarks/status
diff --git a/helm/templates/theodolite/theodolite-operator.yaml b/helm/templates/theodolite/theodolite-operator.yaml
index c7ced880cbbfbb9795ef59156ea1df7d5b860ec6..f2669686eada049d33c5c88169d8d2ec3af84261 100644
--- a/helm/templates/theodolite/theodolite-operator.yaml
+++ b/helm/templates/theodolite/theodolite-operator.yaml
@@ -27,10 +27,37 @@ spec:
             - name: MODE
               value: operator
             - name: RESULTS_FOLDER
-              value: "./results"
+              value: "/deployments/results"
           volumeMounts:
             - name: theodolite-results-volume
               mountPath: "/deployments/results"
+          resources:
+            requests:
+              memory: "512Mi"
+              cpu: "250m"
+            limits:
+              memory: "1024Mi"
+              cpu: "500m"
+        {{- if .Values.operator.sloChecker.generic.enabled }}
+        - name: slo-checker-generic
+          image: "{{ .Values.operator.sloChecker.generic.image }}:{{ .Values.operator.sloChecker.generic.imageTag }}"
+          imagePullPolicy: "{{ .Values.operator.sloChecker.generic.imagePullPolicy }}"
+          ports:
+          - containerPort: 8082
+            name: analysis
+          env:
+          - name: PORT
+            value: "8082"
+          - name: LOG_LEVEL
+            value: INFO
+          resources:
+            requests:
+              memory: "64Mi"
+              cpu: "50m"
+            limits:
+              memory: "128Mi"
+              cpu: "100m"
+        {{- end }}
         {{- if .Values.operator.sloChecker.lagTrend.enabled }}
         - name: lag-trend-slo-checker
           image: "{{ .Values.operator.sloChecker.lagTrend.image }}:{{ .Values.operator.sloChecker.lagTrend.imageTag }}"
@@ -41,6 +68,13 @@ spec:
           env:
           - name: LOG_LEVEL
             value: INFO
+          resources:
+            requests:
+              memory: "64Mi"
+              cpu: "50m"
+            limits:
+              memory: "128Mi"
+              cpu: "100m"
         {{- end }}
         {{- if .Values.operator.sloChecker.droppedRecordsKStreams.enabled }}
         - name: slo-checker-dropped-records-kstreams
@@ -54,6 +88,13 @@ spec:
             value: "8081"
           - name: LOG_LEVEL
             value: INFO
+          resources:
+            requests:
+              memory: "64Mi"
+              cpu: "50m"
+            limits:
+              memory: "128Mi"
+              cpu: "100m"
         {{- end }}
         {{- if .Values.operator.resultsVolume.accessSidecar.enabled }}
         - name: results-access
diff --git a/helm/values.yaml b/helm/values.yaml
index 9de0155cf26d26bc20975d8ec6524607ac9a1d43..eb4cfc4b29fee97ab2be88a3ce2ded766a122b20 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -5,7 +5,7 @@
 kafkaClient:
   enabled: false
   nodeSelector: {}
-  
+
 
 ####
 ## configuration of sub charts
@@ -52,6 +52,9 @@ grafana:
   service:
     nodePort: 31199
     type: NodePort
+  rbac:
+    pspEnabled: false
+    namespaced: true
 
 
 ###
@@ -64,9 +67,9 @@ cp-helm-charts:
   ## Zookeeper
   ## ------------------------------------------------------
   cp-zookeeper:
-    enabled: true
+    enabled: false
     nodeSelector: {}
-    servers: 3 # default: 3 
+    servers: 3
     image: confluentinc/cp-zookeeper
     imageTag: 5.4.0
     ## Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
@@ -81,9 +84,9 @@ cp-helm-charts:
   ## Kafka
   ## ------------------------------------------------------
   cp-kafka:
-    enabled: true
+    enabled: false
     nodeSelector: {}
-    brokers: 10 # default: 10
+    brokers: 3
     image: confluentinc/cp-enterprise-kafka
     imageTag: 5.4.0
     ## Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace.
@@ -137,6 +140,9 @@ cp-helm-charts:
       nodePort: 30099
       annotations: {}
 
+    kafka:
+      bootstrapServers: theodolite-kafka-kafka-bootstrap:9092
+
   cp-kafka-rest:
     enabled: false
 
@@ -149,35 +155,54 @@ cp-helm-charts:
   cp-control-center:
     enabled: false
 
-
-###
-# Kafka Lag Exporter
-###
-kafka-lag-exporter:
-  enabled: true
-  image:
-    pullPolicy: IfNotPresent
-  nodeSelector: {}
-  
-  clusters:
-    - name: "theodolite-cp-kafka"
-      bootstrapBrokers: "theodolite-cp-kafka:9092"
-
   ## The interval between refreshing metrics
   pollIntervalSeconds: 15
 
-  prometheus:
-    serviceMonitor:
+strimzi-kafka-operator:
+  createGlobalResources: false # Might disable some of Strimzi's features
+
+strimzi:
+  enabled: true
+  kafka:
+    listeners:
+      - name: plain
+        port: 9092
+        type: internal
+        tls: false
+    replicas: 3
+    config:
+      "message.max.bytes": "134217728" # 128 MB
+      "replica.fetch.max.bytes": "134217728" #128 MB
+      "auto.create.topics.enable": false
+      "log.retention.ms": "7200000" # 2h
+      "metrics.sample.window.ms": "5000" #5s
+    jvmOptions:
+      "-Xmx": "512M"
+      "-Xms": "512M"
+    nodeSelectorTerms: []
+    resources: {}
+    
+  zookeeper:
+    replicas: 3
+    zooEntrance:
       enabled: true
-      interval: "5s"
-      additionalLabels:
-        appScope: titan-ccp
+      zookeeperClient:
+        enabled: true
+        nodeSelector: {}
+    nodeSelectorTerms: []
+  
+  topicOperator:
+    enabled: true
 
 
 ###
 # Prometheus Monitoring Stack (Prometheus Operator)
 ###
 kube-prometheus-stack:
+  global:
+    rbac:
+      create: false
+
   commonLabels:
     appScope: titan-ccp
   
@@ -223,7 +248,14 @@ kube-prometheus-stack:
       releaseNamespace: true
       additional: []
     nodeSelector: {}
+    admissionWebhooks:
+      enabled: false
+    tls:
+      enabled: false
+    serviceAccount:
+      create: true
   
+  # We use our own Prometheus
   prometheus:
     enabled: false
 
@@ -235,12 +267,11 @@ prometheus:
   enabled: true
   nodeSelector: {}
   
-  # depends on your cluster security and permission settings, you may need to create the following resources
   serviceAccount:
     enabled: true
-  clusterRole:
+  role:
     enabled: true
-  clusterRoleBinding:
+  roleBinding:
     enabled: true
 
 ###
@@ -256,6 +287,11 @@ operator:
   nodeSelector: {}
 
   sloChecker:
+    generic:
+      enabled: true
+      image: ghcr.io/cau-se/theodolite-slo-checker-generic
+      imageTag: latest
+      imagePullPolicy: Always
     lagTrend:
       enabled: true
       image: ghcr.io/cau-se/theodolite-slo-checker-lag-trend
@@ -286,33 +322,50 @@ operator:
       uc1LoadGenerator: true
       uc1Kstreams: true
       uc1Flink: true
+      uc1BeamFlink: true
+      uc1BeamSamza: true
       uc2LoadGenerator: true
       uc2Kstreams: true
       uc2Flink: true
+      uc2BeamFlink: true
+      uc2BeamSamza: true
       uc3LoadGenerator: true
       uc3Kstreams: true
       uc3Flink: true
+      uc3BeamFlink: true
+      uc3BeamSamza: true
       uc4LoadGenerator: true
       uc4Kstreams: true
       uc4Flink: true
+      uc4BeamFlink: true
+      uc4BeamSamza: true
     benchmarks:
       uc1Kstreams: true
       uc1Flink: true
+      uc1BeamFlink: true
+      uc1BeamSamza: true
       uc2Kstreams: true
       uc2Flink: true
+      uc2BeamFlink: true
+      uc2BeamSamza: true
       uc3Kstreams: true
       uc3Flink: true
+      uc3BeamFlink: true
+      uc3BeamSamza: true
       uc4Kstreams: true
       uc4Flink: true
+      uc4BeamFlink: true
+      uc4BeamSamza: true
 
 serviceAccount:
   create: true
 
 rbac:
   create: true
+  additionalRules: []
 
 randomScheduler:
-  enabled: true
+  enabled: false
   image: ghcr.io/cau-se/theodolite-random-scheduler
   imageTag: latest
   imagePullPolicy: Always
diff --git a/slo-checker/dropped-records/Dockerfile b/slo-checker/dropped-records/Dockerfile
index 032b8153a6989ca04631ba553289dacb3620a38d..2cbc89a150217f15b3c4ba921050db720a34bf50 100644
--- a/slo-checker/dropped-records/Dockerfile
+++ b/slo-checker/dropped-records/Dockerfile
@@ -1,6 +1,15 @@
-FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
+FROM python:3.8
 
-COPY requirements.txt requirements.txt
-RUN pip install -r requirements.txt
+WORKDIR /code
 
-COPY ./app /app
\ No newline at end of file
+COPY ./requirements.txt /code/requirements.txt
+RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
+
+COPY ./app /code/app
+
+WORKDIR /code/app
+
+ENV HOST 0.0.0.0
+ENV PORT 80
+
+CMD ["sh", "-c", "uvicorn main:app --host $HOST --port $PORT"]
diff --git a/slo-checker/dropped-records/requirements.txt b/slo-checker/dropped-records/requirements.txt
index 8b6c3863226c2bd5e8bcd7982b2674dee593f192..a3d5ff675d6a89b2514f1936b1a8104d13ad9b55 100644
--- a/slo-checker/dropped-records/requirements.txt
+++ b/slo-checker/dropped-records/requirements.txt
@@ -1,5 +1,6 @@
-fastapi==0.65.2
-scikit-learn==0.20.3
-pandas==1.0.3
-uvicorn
 requests
+fastapi>=0.68.0,<0.69.0
+uvicorn>=0.15.0,<0.16.0
+#pydantic>=1.8.0,<2.0.0
+#scikit-learn==0.22.2
+pandas==1.0.3
diff --git a/slo-checker/generic/Dockerfile b/slo-checker/generic/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..2cbc89a150217f15b3c4ba921050db720a34bf50
--- /dev/null
+++ b/slo-checker/generic/Dockerfile
@@ -0,0 +1,15 @@
+FROM python:3.8
+
+WORKDIR /code
+
+COPY ./requirements.txt /code/requirements.txt
+RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
+
+COPY ./app /code/app
+
+WORKDIR /code/app
+
+ENV HOST 0.0.0.0
+ENV PORT 80
+
+CMD ["sh", "-c", "uvicorn main:app --host $HOST --port $PORT"]
diff --git a/slo-checker/generic/README.md b/slo-checker/generic/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a1358a06dc4165c678bca8745dd40473a7c5880
--- /dev/null
+++ b/slo-checker/generic/README.md
@@ -0,0 +1,89 @@
+# Generic SLO Evaluator
+
+## Execution
+
+For development:
+
+```sh
+uvicorn main:app --reload
+```
+
+## Build the docker image:
+
+```sh
+docker build . -t theodolite-evaluator
+```
+
+Run the Docker image:
+
+```sh
+docker run -p 80:80 theodolite-evaluator
+```
+
+## Configuration
+
+You can set the `HOST` and the `PORT` (and a lot of more parameters) via environment variables. Default is `0.0.0.0:80`.
+For more information see the [Gunicorn/FastAPI Docker docs](https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker#advanced-usage).
+
+## API Documentation
+
+The running webserver provides a REST API with the following route:
+
+* /
+  * Method: POST
+  * Body:
+    * results
+      * metric-metadata
+      * values
+    * metadata
+      * warmup
+      * queryAggregation
+      * repetitionAggregation
+      * operator
+      * threshold
+
+The body of the request must be a JSON string that satisfies the following conditions:
+
+* **dropped records**: This property is based on the [Range Vector type](https://www.prometheus.io/docs/prometheus/latest/querying/api/#range-vectors) from Prometheus and must have the following JSON *structure*:
+
+    ```json
+    {
+        "results": [
+            [
+                {
+                    "metric": {
+                        "<label-name>": "<label-value>"
+                    },
+                    "values": [
+                        [
+                            <unix_timestamp>, // 1.634624989695E9
+                            "<sample_value>" // integer
+                        ]
+                    ]
+                }
+            ]
+        ],
+        "metadata": {
+            "warmup": 60,
+            "queryAggregation": "max",
+            "repetitionAggregation": "median",
+            "operator": "lt",
+            "threshold": 2000000
+        }
+    }
+    ```
+
+### description
+
+* results:
+  * metric-metadata:
+    * Labels of this metric. The `generic` slo checker does not use labels in the calculation of the service level objective.
+  * results
+    * The `<unix_timestamp>` provided as the first element of each element in the "values" array must be the timestamp of the measurement value in seconds (with optional decimal precision)
+    * The `<sample_value>` must be the measurement value as string.
+* metadata: For the calculation of the service level objective require metadata.
+  * **warmup**: Specifies the warmup time in seconds that are ignored for evaluating the SLO.
+  * **queryAggregation**: Specifies the function used to aggregate a query. 
+  * **repetitionAggregation**: Specifies the function used to aggregate a the results of multiple query aggregations.
+  * **operator**: Specifies how the result should be checked agains a threshold. Possible values are `lt`, `lte`, `gt` and `gte`.
+  * **threshold**: Must be an unsigned integer that specifies the threshold for the SLO evaluation.
diff --git a/slo-checker/generic/app/main.py b/slo-checker/generic/app/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..6dd78ac131c3c5f7a6e163ae729ab3d3e396dbde
--- /dev/null
+++ b/slo-checker/generic/app/main.py
@@ -0,0 +1,72 @@
+from fastapi import FastAPI,Request
+import logging
+import os
+import json
+import sys
+import re
+import pandas as pd
+
+
+app = FastAPI()
+
+logging.basicConfig(stream=sys.stdout,
+                    format="%(asctime)s %(levelname)s %(name)s: %(message)s")
+logger = logging.getLogger("API")
+
+
+if os.getenv('LOG_LEVEL') == 'INFO':
+    logger.setLevel(logging.INFO)
+elif os.getenv('LOG_LEVEL') == 'WARNING':
+    logger.setLevel(logging.WARNING)
+elif os.getenv('LOG_LEVEL') == 'DEBUG':
+    logger.setLevel(logging.DEBUG)
+
+
+def get_aggr_func(func_string: str):
+    if func_string in ['mean', 'median', 'mode', 'sum', 'count', 'max', 'min', 'std', 'var', 'skew', 'kurt']:
+        return func_string
+    elif re.search(r'^p\d\d?(\.\d+)?$', func_string): # matches strings like 'p99', 'p99.99', 'p1', 'p0.001'
+        def percentile(x):
+            return x.quantile(float(func_string[1:]) / 100)
+        percentile.__name__ = func_string
+        return percentile
+    else:
+        raise ValueError('Invalid function string.')
+
+def aggr_query(values: dict, warmup: int, aggr_func):
+    df = pd.DataFrame.from_dict(values)
+    df.columns = ['timestamp', 'value']
+    filtered = df[df['timestamp'] >= (df['timestamp'][0] + warmup)]
+    filtered['value'] = filtered['value'].astype(float)
+    return filtered['value'].aggregate(aggr_func)
+
+def check_result(result, operator: str, threshold):
+    if operator == 'lt':
+        return result < threshold
+    if operator == 'lte':
+        return result <= threshold
+    if operator == 'gt':
+        return result > threshold
+    if operator == 'gte':
+        return result >= threshold
+    else:
+        raise ValueError('Invalid operator string.')
+
+
+
+@app.post("/",response_model=bool)
+async def check_slo(request: Request):
+    data = json.loads(await request.body())
+    logger.info('Received request with metadata: %s', data['metadata'])
+
+    warmup = int(data['metadata']['warmup'])
+    query_aggregation = get_aggr_func(data['metadata']['queryAggregation'])
+    rep_aggregation = get_aggr_func(data['metadata']['repetitionAggregation'])
+    operator = data['metadata']['operator']
+    threshold = float(data['metadata']['threshold'])
+
+    query_results = [aggr_query(r[0]["values"], warmup, query_aggregation) for r in data["results"]]
+    result = pd.DataFrame(query_results).aggregate(rep_aggregation).at[0]
+    return check_result(result, operator, threshold)
+
+logger.info("SLO evaluator is online")
\ No newline at end of file
diff --git a/slo-checker/generic/app/test.py b/slo-checker/generic/app/test.py
new file mode 100644
index 0000000000000000000000000000000000000000..2609225ddc9e6e96cdcd01db197cebbdd6501102
--- /dev/null
+++ b/slo-checker/generic/app/test.py
@@ -0,0 +1,56 @@
+import unittest
+from main import app, get_aggr_func, check_result
+import json
+from fastapi.testclient import TestClient
+
+class TestSloEvaluation(unittest.TestCase):
+    client = TestClient(app)
+
+    def test_1_rep(self):
+        with open('../resources/test-1-rep-success.json') as json_file:
+            data = json.load(json_file)
+            response = self.client.post("/", json=data)
+            self.assertEqual(response.json(), True)
+
+    def test_get_aggr_func_mean(self):
+        self.assertEqual(get_aggr_func('median'), 'median')
+    
+    def test_get_aggr_func_p99(self):
+        self.assertTrue(callable(get_aggr_func('p99')))
+
+    def test_get_aggr_func_p99_9(self):
+        self.assertTrue(callable(get_aggr_func('p99.9')))
+
+    def test_get_aggr_func_p99_99(self):
+        self.assertTrue(callable(get_aggr_func('p99.99')))
+
+    def test_get_aggr_func_p0_1(self):
+        self.assertTrue(callable(get_aggr_func('p0.1')))
+
+    def test_get_aggr_func_p99_(self):
+        self.assertRaises(ValueError, get_aggr_func, 'p99.')
+
+    def test_get_aggr_func_p99_(self):
+        self.assertRaises(ValueError, get_aggr_func, 'q99')
+
+    def test_get_aggr_func_p99_(self):
+        self.assertRaises(ValueError, get_aggr_func, 'mux')
+    
+    def test_check_result_lt(self):
+        self.assertEqual(check_result(100, 'lt', 200), True)
+        
+    def test_check_result_lte(self):
+        self.assertEqual(check_result(200, 'lte', 200), True)
+    
+    def test_check_result_gt(self):
+        self.assertEqual(check_result(100, 'gt', 200), False)
+
+    def test_check_result_gte(self):
+        self.assertEqual(check_result(300, 'gte', 200), True)
+
+    def test_check_result_invalid(self):
+        self.assertRaises(ValueError, check_result, 100, 'xyz', 200)
+
+
+if __name__ == '__main__':
+    unittest.main()
\ No newline at end of file
diff --git a/slo-checker/generic/requirements.txt b/slo-checker/generic/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a3d5ff675d6a89b2514f1936b1a8104d13ad9b55
--- /dev/null
+++ b/slo-checker/generic/requirements.txt
@@ -0,0 +1,6 @@
+requests
+fastapi>=0.68.0,<0.69.0
+uvicorn>=0.15.0,<0.16.0
+#pydantic>=1.8.0,<2.0.0
+#scikit-learn==0.22.2
+pandas==1.0.3
diff --git a/slo-checker/generic/resources/test-1-rep-success.json b/slo-checker/generic/resources/test-1-rep-success.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a6db686ec632f72f0d1981657826a8443b4c348
--- /dev/null
+++ b/slo-checker/generic/resources/test-1-rep-success.json
@@ -0,0 +1,276 @@
+{
+    "results": [
+        [
+            {
+                "metric": {
+                    "job": "titan-ccp-aggregation"
+                },
+                "values": [
+                    [
+                        1.634624674695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624679695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624684695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624689695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624694695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624699695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624704695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624709695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624714695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624719695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624724695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624729695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624734695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624739695E9,
+                        "0"
+                    ],
+                    [
+                        1.634624744695E9,
+                        "1"
+                    ],
+                    [
+                        1.634624749695E9,
+                        "3"
+                    ],
+                    [
+                        1.634624754695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624759695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624764695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624769695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624774695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624779695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624784695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624789695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624794695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624799695E9,
+                        "4"
+                    ],
+                    [
+                        1.634624804695E9,
+                        "176"
+                    ],
+                    [
+                        1.634624809695E9,
+                        "176"
+                    ],
+                    [
+                        1.634624814695E9,
+                        "176"
+                    ],
+                    [
+                        1.634624819695E9,
+                        "176"
+                    ],
+                    [
+                        1.634624824695E9,
+                        "176"
+                    ],
+                    [
+                        1.634624829695E9,
+                        "159524"
+                    ],
+                    [
+                        1.634624834695E9,
+                        "209870"
+                    ],
+                    [
+                        1.634624839695E9,
+                        "278597"
+                    ],
+                    [
+                        1.634624844695E9,
+                        "460761"
+                    ],
+                    [
+                        1.634624849695E9,
+                        "460761"
+                    ],
+                    [
+                        1.634624854695E9,
+                        "460761"
+                    ],
+                    [
+                        1.634624859695E9,
+                        "460761"
+                    ],
+                    [
+                        1.634624864695E9,
+                        "460761"
+                    ],
+                    [
+                        1.634624869695E9,
+                        "606893"
+                    ],
+                    [
+                        1.634624874695E9,
+                        "653534"
+                    ],
+                    [
+                        1.634624879695E9,
+                        "755796"
+                    ],
+                    [
+                        1.634624884695E9,
+                        "919317"
+                    ],
+                    [
+                        1.634624889695E9,
+                        "919317"
+                    ],
+                    [
+                        1.634624894695E9,
+                        "955926"
+                    ],
+                    [
+                        1.634624899695E9,
+                        "955926"
+                    ],
+                    [
+                        1.634624904695E9,
+                        "955926"
+                    ],
+                    [
+                        1.634624909695E9,
+                        "955926"
+                    ],
+                    [
+                        1.634624914695E9,
+                        "955926"
+                    ],
+                    [
+                        1.634624919695E9,
+                        "1036530"
+                    ],
+                    [
+                        1.634624924695E9,
+                        "1078477"
+                    ],
+                    [
+                        1.634624929695E9,
+                        "1194775"
+                    ],
+                    [
+                        1.634624934695E9,
+                        "1347755"
+                    ],
+                    [
+                        1.634624939695E9,
+                        "1352151"
+                    ],
+                    [
+                        1.634624944695E9,
+                        "1360428"
+                    ],
+                    [
+                        1.634624949695E9,
+                        "1360428"
+                    ],
+                    [
+                        1.634624954695E9,
+                        "1360428"
+                    ],
+                    [
+                        1.634624959695E9,
+                        "1360428"
+                    ],
+                    [
+                        1.634624964695E9,
+                        "1360428"
+                    ],
+                    [
+                        1.634624969695E9,
+                        "1525685"
+                    ],
+                    [
+                        1.634624974695E9,
+                        "1689296"
+                    ],
+                    [
+                        1.634624979695E9,
+                        "1771358"
+                    ],
+                    [
+                        1.634624984695E9,
+                        "1854284"
+                    ],
+                    [
+                        1.634624989695E9,
+                        "3970.0000000000005"
+                    ]
+                ]
+            }
+        ]
+    ],
+    "metadata": {
+        "warmup": 60,
+        "queryAggregation": "max",
+        "repetitionAggregation": "median",
+        "operator": "lt",
+        "threshold": 2000000
+    }
+}
\ No newline at end of file
diff --git a/slo-checker/record-lag/Dockerfile b/slo-checker/record-lag/Dockerfile
index 032b8153a6989ca04631ba553289dacb3620a38d..2cbc89a150217f15b3c4ba921050db720a34bf50 100644
--- a/slo-checker/record-lag/Dockerfile
+++ b/slo-checker/record-lag/Dockerfile
@@ -1,6 +1,15 @@
-FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7
+FROM python:3.8
 
-COPY requirements.txt requirements.txt
-RUN pip install -r requirements.txt
+WORKDIR /code
 
-COPY ./app /app
\ No newline at end of file
+COPY ./requirements.txt /code/requirements.txt
+RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
+
+COPY ./app /code/app
+
+WORKDIR /code/app
+
+ENV HOST 0.0.0.0
+ENV PORT 80
+
+CMD ["sh", "-c", "uvicorn main:app --host $HOST --port $PORT"]
diff --git a/slo-checker/record-lag/app/main.py b/slo-checker/record-lag/app/main.py
index 621fa0cfc9c27e809fd92752de93f2795fa32c05..1141ac88d800d2e0204a32b9f07f1aed78f5e200 100644
--- a/slo-checker/record-lag/app/main.py
+++ b/slo-checker/record-lag/app/main.py
@@ -24,10 +24,10 @@ elif os.getenv('LOG_LEVEL') == 'DEBUG':
 def calculate_slope_trend(results, warmup):
     d = []
     for result in results:
-        group = result['metric']['group']
+        group = result['metric'].get('consumergroup', "default")
         for value in result['values']:
             d.append({'group': group, 'timestamp': int(
-                value[0]), 'value': int(value[1]) if value[1] != 'NaN' else 0})
+                value[0]), 'value': float(value[1]) if value[1] != 'NaN' else 0})
 
     df = pd.DataFrame(d)
 
diff --git a/slo-checker/record-lag/requirements.txt b/slo-checker/record-lag/requirements.txt
index 8b6c3863226c2bd5e8bcd7982b2674dee593f192..770498e91e3f705e98868d009518b355a19a356a 100644
--- a/slo-checker/record-lag/requirements.txt
+++ b/slo-checker/record-lag/requirements.txt
@@ -1,5 +1,6 @@
-fastapi==0.65.2
-scikit-learn==0.20.3
-pandas==1.0.3
-uvicorn
 requests
+fastapi>=0.68.0,<0.69.0
+uvicorn>=0.15.0,<0.16.0
+#pydantic>=1.8.0,<2.0.0
+scikit-learn==0.22.2
+pandas==1.0.3
diff --git a/slo-checker/record-lag/resources/test-1-rep-success.json b/slo-checker/record-lag/resources/test-1-rep-success.json
index dfe11282720ebfcdd60582b7717da892bc85a923..09320c5f1eb0f96d847ddaa17cbd48c47a989155 100644
--- a/slo-checker/record-lag/resources/test-1-rep-success.json
+++ b/slo-checker/record-lag/resources/test-1-rep-success.json
@@ -3,7 +3,7 @@
         [
             {
                 "metric": {
-                    "group": "theodolite-uc1-application-0.0.1"
+                    "consumergroup": "theodolite-uc1-application-0.0.1"
                 },
                 "values": [
                     [
diff --git a/slo-checker/record-lag/resources/test-3-rep-success.json b/slo-checker/record-lag/resources/test-3-rep-success.json
index cf483f42f3783aecd1f428ac7bbbe2090c4cade0..e752430e09e00e6ea12128df44f2d687ba037a7a 100644
--- a/slo-checker/record-lag/resources/test-3-rep-success.json
+++ b/slo-checker/record-lag/resources/test-3-rep-success.json
@@ -3,7 +3,7 @@
         [
             {
                 "metric": {
-                    "group": "theodolite-uc1-application-0.0.1"
+                    "consumergroup": "theodolite-uc1-application-0.0.1"
                 },
                 "values": [
                     [
@@ -100,7 +100,7 @@
         [
             {
                 "metric": {
-                    "group": "theodolite-uc1-application-0.0.1"
+                    "consumergroup": "theodolite-uc1-application-0.0.1"
                 },
                 "values": [
                     [
@@ -193,7 +193,7 @@
         [
             {
                 "metric": {
-                    "group": "theodolite-uc1-application-0.0.1"
+                    "consumergroup": "theodolite-uc1-application-0.0.1"
                 },
                 "values": [
                     [
diff --git a/theodolite-benchmarks/README.md b/theodolite-benchmarks/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f794d201859b815fc26a4cbc7bd3be891c964ab4
--- /dev/null
+++ b/theodolite-benchmarks/README.md
@@ -0,0 +1,23 @@
+# Theodolite Benchmarks
+
+Theodolite comes with a set of 4 benchmarks for event-driven microservices, which are implemented with Kafka Streams
+and Apache Flink. The benchmarks are based on typical use cases for stream processing and named: UC1, UC2, UC3 and UC4.
+
+## Building and packaging the benchmarks
+
+All benchmarks can be built with:
+
+```sh
+./gradlew build
+```
+
+This produces `.tar` files in `<benchmark-impl>/build/distribution`, where `<benchmark-impl>` is for example
+`uc1-kstreams`.
+
+## Building Docker images of the benchmarks
+
+Each benchmark implementation directory contains a Dockerfile. To build an image (in this case of `uc1-kstreams`), run:
+
+```sh
+docker build -t theodolite-uc1-kstreams ./uc1-kstreams
+```
diff --git a/theodolite-benchmarks/beam-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/beam-commons/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/beam-commons/build.gradle b/theodolite-benchmarks/beam-commons/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..34a98212cdca9b347027c8e1c915044d55514b9c
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/build.gradle
@@ -0,0 +1,30 @@
+plugins {
+    id 'theodolite.java-commons'
+}
+
+repositories {
+  mavenCentral()
+  maven {
+    url "https://oss.sonatype.org/content/repositories/snapshots/"
+  }
+  maven {
+    url 'https://packages.confluent.io/maven/'
+  }
+}
+
+dependencies {
+  implementation project(':commons')
+
+  implementation group: 'org.apache.beam', name: 'beam-sdks-java-core', version: '2.35.0'
+  implementation('org.apache.beam:beam-sdks-java-io-kafka:2.35.0'){
+    exclude group: 'org.apache.kafka', module: 'kafka-clients'
+  }
+  implementation ('io.confluent:kafka-streams-avro-serde:5.3.2') 
+  
+  implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.30'
+
+  runtimeOnly 'org.slf4j:slf4j-api:1.7.32'
+  runtimeOnly 'org.slf4j:slf4j-jdk14:1.7.32'
+
+  testImplementation 'junit:junit:4.12'
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/AbstractPipelineFactory.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/AbstractPipelineFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6dc64bb2c8f4deb0df6e48db23b0d62c6d86279
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/AbstractPipelineFactory.java
@@ -0,0 +1,74 @@
+package rocks.theodolite.benchmarks.commons.beam;
+
+import io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig;
+import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.coders.CoderRegistry;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.kafka.clients.consumer.ConsumerConfig;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaActivePowerTimestampReader;
+
+/**
+ * Abstract factory class for creating Beam pipelines from a {@link Configuration} and
+ * {@link PipelineOptions}. Implementations may expand the {@link PipelineOptions}, construct a
+ * {@link Pipeline} and register coders.
+ */
+public abstract class AbstractPipelineFactory {
+
+  protected final Configuration config;
+
+  public AbstractPipelineFactory(final Configuration configuration) {
+    this.config = configuration;
+  }
+
+  /**
+   * Create a Pipeline with the configured {@link PipelineOptions}.
+   */
+  public final Pipeline create(final PipelineOptions options) {
+    this.expandOptions(options);
+    final Pipeline pipeline = Pipeline.create(options);
+    this.registerCoders(pipeline.getCoderRegistry());
+    this.constructPipeline(pipeline);
+    return pipeline;
+  }
+
+  protected abstract void expandOptions(final PipelineOptions options);
+
+  protected abstract void constructPipeline(Pipeline pipeline);
+
+  protected abstract void registerCoders(CoderRegistry registry);
+
+  protected KafkaActivePowerTimestampReader buildKafkaReader() {
+    final String inputTopic = this.config.getString(ConfigurationKeys.KAFKA_INPUT_TOPIC);
+    final String bootstrapServer = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
+
+    final Map<String, Object> consumerConfig = new HashMap<>();
+    consumerConfig.put(
+        ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,
+        this.config.getString(ConfigurationKeys.ENABLE_AUTO_COMMIT));
+    consumerConfig.put(
+        ConsumerConfig.MAX_POLL_RECORDS_CONFIG,
+        this.config.getString(ConfigurationKeys.MAX_POLL_RECORDS));
+    consumerConfig.put(
+        ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,
+        this.config.getString(ConfigurationKeys.AUTO_OFFSET_RESET));
+    consumerConfig.put(
+        AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG,
+        this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL));
+    consumerConfig.put(
+        KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG,
+        this.config.getString(ConfigurationKeys.SPECIFIC_AVRO_READER));
+    consumerConfig.put(
+        ConsumerConfig.GROUP_ID_CONFIG,
+        this.config.getString(ConfigurationKeys.APPLICATION_NAME));
+
+    return new KafkaActivePowerTimestampReader(
+        bootstrapServer,
+        inputTopic,
+        consumerConfig);
+  }
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/BeamService.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/BeamService.java
new file mode 100644
index 0000000000000000000000000000000000000000..4897f4171f96dea72d1c5c002c5f817a5f3e2ba2
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/BeamService.java
@@ -0,0 +1,88 @@
+package rocks.theodolite.benchmarks.commons.beam;
+
+import java.io.IOException;
+import java.util.function.Function;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.PipelineResult;
+import org.apache.beam.sdk.PipelineRunner;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.beam.sdk.options.PipelineOptionsFactory;
+import org.apache.commons.configuration2.Configuration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rocks.theodolite.benchmarks.commons.commons.configuration.ServiceConfigurations;
+
+/**
+ * A general Apache Beam-based microservice. It is configured by Beam pipeline, a Beam runner and
+ * additional configuration.
+ */
+public class BeamService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(BeamService.class);
+
+  private final Configuration config = ServiceConfigurations.createWithDefaults();
+  private final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
+
+  private final AbstractPipelineFactory pipelineFactory;
+  private final PipelineOptions pipelineOptions;
+  private PipelineResult pipelineResult;
+
+  /**
+   * Create a new {@link BeamService}.
+   *
+   * @param pipelineFactoryFactory {@link Function} for creating an {@link AbstractPipelineFactory}
+   *        based on a {@link Configuration}.
+   * @param runner The Beam {@link PipelineRunner} to run this pipeline.
+   * @param args Arguments which are treated as {@link PipelineOptions}.
+   */
+  public BeamService(
+      final Function<Configuration, AbstractPipelineFactory> pipelineFactoryFactory,
+      final Class<? extends PipelineRunner<?>> runner,
+      final String... args) {
+    this.pipelineFactory = pipelineFactoryFactory.apply(this.config);
+    this.pipelineOptions = PipelineOptionsFactory.fromArgs(args).create();
+    this.pipelineOptions.setJobName(this.applicationName);
+    this.pipelineOptions.setRunner(runner);
+  }
+
+  /**
+   * Start this microservice by running the underlying Beam pipeline.
+   */
+  public void run() {
+    LOGGER.info("Constructing Beam pipeline with pipeline options: {}",
+        this.pipelineOptions.toString());
+    final Pipeline pipeline = this.pipelineFactory.create(this.pipelineOptions);
+    LOGGER.info("Starting BeamService {}.", this.applicationName);
+    this.pipelineResult = pipeline.run();
+  }
+
+  /**
+   * Start this microservice by running the underlying Beam pipeline and block until this process is
+   * terminated.
+   */
+  public void runStandalone() {
+    this.run();
+    Runtime.getRuntime().addShutdownHook(new Thread(() -> this.stop()));
+    this.pipelineResult.waitUntilFinish();
+  }
+
+  /**
+   * Stop this microservice by canceling the underlying Beam pipeline.
+   */
+  public void stop() {
+    LOGGER.info("Initiate shutdown of Beam service {}.", this.applicationName);
+    if (this.pipelineResult == null) {
+      throw new IllegalStateException("Cannot stop service since it has never been started.");
+    }
+    LOGGER.info("Stopping Beam pipeline.");
+    try {
+      this.pipelineResult.cancel();
+      this.pipelineResult = null; // NOPMD use null to indicate absence
+    } catch (final IOException e) {
+      throw new IllegalStateException(
+          "Stopping the service failed due to failed stop of Beam pipeline.", e);
+    }
+    LOGGER.info("Shutdown of Beam service {} complete.", this.applicationName);
+  }
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/ConfigurationKeys.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/ConfigurationKeys.java
new file mode 100644
index 0000000000000000000000000000000000000000..c22c164f62ad22d3c18add75ad5115fd15fb8f14
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/ConfigurationKeys.java
@@ -0,0 +1,49 @@
+package rocks.theodolite.benchmarks.commons.beam;
+
+/**
+ * Keys to access configuration parameters.
+ */
+public final class ConfigurationKeys {
+  // Common keys
+  public static final String APPLICATION_NAME = "application.name";
+
+  public static final String KAFKA_BOOTSTRAP_SERVERS = "kafka.bootstrap.servers";
+
+  public static final String SCHEMA_REGISTRY_URL = "schema.registry.url";
+
+  public static final String KAFKA_INPUT_TOPIC = "kafka.input.topic";
+
+  // Additional topics
+  public static final String KAFKA_FEEDBACK_TOPIC = "kafka.feedback.topic";
+
+  public static final String KAFKA_OUTPUT_TOPIC = "kafka.output.topic";
+
+  public static final String KAFKA_CONFIGURATION_TOPIC = "kafka.configuration.topic";
+
+  // UC2
+  public static final String KAFKA_WINDOW_DURATION_MINUTES = "kafka.window.duration.minutes";
+
+  // UC3
+  public static final String AGGREGATION_DURATION_DAYS = "aggregation.duration.days";
+
+  public static final String AGGREGATION_ADVANCE_DAYS = "aggregation.advance.days";
+
+  // UC4
+  public static final String GRACE_PERIOD_MS = "grace.period.ms";
+
+
+  // BEAM
+  public static final String ENABLE_AUTO_COMMIT = "enable.auto.commit";
+
+  public static final String MAX_POLL_RECORDS = "max.poll.records";
+
+  public static final String AUTO_OFFSET_RESET = "auto.offset.reset";
+
+  public static final String SPECIFIC_AVRO_READER = "specific.avro.reader";
+
+  public static final String TRIGGER_INTERVAL = "trigger.interval";
+
+
+  private ConfigurationKeys() {}
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/ActivePowerRecordDeserializer.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/ActivePowerRecordDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..8ab579d0cb2be846c715d5f16430371eb5952d2d
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/ActivePowerRecordDeserializer.java
@@ -0,0 +1,12 @@
+package rocks.theodolite.benchmarks.commons.beam.kafka;
+
+import io.confluent.kafka.streams.serdes.avro.SpecificAvroDeserializer;
+import org.apache.kafka.common.serialization.Deserializer;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+
+/**
+ * A Kafka {@link Deserializer} for typed Schema Registry {@link ActivePowerRecord}.
+ */
+public class ActivePowerRecordDeserializer extends SpecificAvroDeserializer<ActivePowerRecord> {
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/EventTimePolicy.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/EventTimePolicy.java
new file mode 100644
index 0000000000000000000000000000000000000000..a63b5f4939566134a0aeec765fe084ea5bcc41ff
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/EventTimePolicy.java
@@ -0,0 +1,35 @@
+package rocks.theodolite.benchmarks.commons.beam.kafka;
+
+import java.util.Optional;
+import org.apache.beam.sdk.io.kafka.KafkaRecord;
+import org.apache.beam.sdk.io.kafka.TimestampPolicy;
+import org.apache.beam.sdk.transforms.windowing.BoundedWindow;
+import org.joda.time.Instant;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * TimeStampPolicy to use event time based on the timestamp of the record value.
+ */
+public class EventTimePolicy
+    extends TimestampPolicy<String, ActivePowerRecord> {
+  protected Instant currentWatermark;
+
+  public EventTimePolicy(final Optional<Instant> previousWatermark) {
+    super();
+    this.currentWatermark = previousWatermark.orElse(BoundedWindow.TIMESTAMP_MIN_VALUE);
+  }
+
+
+  @Override
+  public Instant getTimestampForRecord(final PartitionContext ctx,
+      final KafkaRecord<String, ActivePowerRecord> record) {
+    this.currentWatermark = new Instant(record.getKV().getValue().getTimestamp());
+    return this.currentWatermark;
+  }
+
+  @Override
+  public Instant getWatermark(final PartitionContext ctx) {
+    return this.currentWatermark;
+  }
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaActivePowerTimestampReader.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaActivePowerTimestampReader.java
new file mode 100644
index 0000000000000000000000000000000000000000..31cd3e6be851bc0f0711cc17a591df6620951dc7
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaActivePowerTimestampReader.java
@@ -0,0 +1,52 @@
+package rocks.theodolite.benchmarks.commons.beam.kafka;
+
+import java.util.Map;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.io.kafka.KafkaIO;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.KV;
+import org.apache.beam.sdk.values.PBegin;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Simple {@link PTransform} that reads from Kafka using {@link KafkaIO} with event time.
+ */
+public class KafkaActivePowerTimestampReader
+    extends PTransform<PBegin, PCollection<KV<String, ActivePowerRecord>>> {
+
+  private static final long serialVersionUID = 2603286150183186115L;
+  private final PTransform<PBegin, PCollection<KV<String, ActivePowerRecord>>> reader;
+
+  /**
+   * Instantiates a {@link PTransform} that reads from Kafka with the given Configuration.
+   */
+  public KafkaActivePowerTimestampReader(
+      final String bootstrapServer,
+      final String inputTopic,
+      final Map<String, Object> consumerConfig) {
+    super();
+
+    // Check if bootstrap server and inputTopic are defined
+    if (bootstrapServer.isEmpty() || inputTopic.isEmpty()) {
+      throw new IllegalArgumentException("bootstrapServer or inputTopic missing");
+    }
+
+    this.reader = KafkaIO.<String, ActivePowerRecord>read().withBootstrapServers(bootstrapServer)
+        .withTopic(inputTopic).withKeyDeserializer(StringDeserializer.class)
+        .withValueDeserializerAndCoder(
+            ActivePowerRecordDeserializer.class,
+            AvroCoder.of(ActivePowerRecord.class))
+        .withConsumerConfigUpdates(consumerConfig)
+        .withTimestampPolicyFactory(
+            (tp, previousWatermark) -> new EventTimePolicy(previousWatermark))
+        .withoutMetadata();
+  }
+
+  @Override
+  public PCollection<KV<String, ActivePowerRecord>> expand(final PBegin input) {
+    return input.apply(this.reader);
+  }
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaGenericReader.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaGenericReader.java
new file mode 100644
index 0000000000000000000000000000000000000000..000ddcdccd90cf3bc4f0cdaabe004ce74bef5dec
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaGenericReader.java
@@ -0,0 +1,53 @@
+package rocks.theodolite.benchmarks.commons.beam.kafka;
+
+import java.util.Map;
+import org.apache.beam.sdk.io.kafka.KafkaIO;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.KV;
+import org.apache.beam.sdk.values.PBegin;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.kafka.common.serialization.Deserializer;
+
+/**
+ * Simple {@link PTransform} that read from Kafka using {@link KafkaIO}.
+ *
+ * @param <K> Type of the Key.
+ * @param <V> Type of the Value.
+ */
+public class KafkaGenericReader<K, V> extends PTransform<PBegin, PCollection<KV<K, V>>> {
+
+  private static final long serialVersionUID = 2603286150183186115L;
+  private final PTransform<PBegin, PCollection<KV<K, V>>> reader;
+
+  /**
+   * Instantiates a {@link PTransform} that reads from Kafka with the given Configuration.
+   */
+  public KafkaGenericReader(
+      final String bootstrapServer,
+      final String inputTopic,
+      final Map<String, Object> consumerConfig,
+      final Class<? extends Deserializer<K>> keyDeserializer,
+      final Class<? extends Deserializer<V>> valueDeserializer) {
+    super();
+
+    // Check if boostrap server and inputTopic are defined
+    if (bootstrapServer.isEmpty() || inputTopic.isEmpty()) {
+      throw new IllegalArgumentException("bootstrapServer or inputTopic missing");
+    }
+
+    this.reader =
+        KafkaIO.<K, V>read()
+            .withBootstrapServers(bootstrapServer)
+            .withTopic(inputTopic)
+            .withKeyDeserializer(keyDeserializer)
+            .withValueDeserializer(valueDeserializer)
+            .withConsumerConfigUpdates(consumerConfig)
+            .withoutMetadata();
+  }
+
+  @Override
+  public PCollection<KV<K, V>> expand(final PBegin input) {
+    return input.apply(this.reader);
+  }
+
+}
diff --git a/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaWriterTransformation.java b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaWriterTransformation.java
new file mode 100644
index 0000000000000000000000000000000000000000..e9131b513001bf8756495a6aecfe72456959f0c6
--- /dev/null
+++ b/theodolite-benchmarks/beam-commons/src/main/java/rocks/theodolite/benchmarks/commons/beam/kafka/KafkaWriterTransformation.java
@@ -0,0 +1,59 @@
+package rocks.theodolite.benchmarks.commons.beam.kafka;
+
+import java.util.Map;
+import org.apache.beam.sdk.io.kafka.KafkaIO;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.KV;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.beam.sdk.values.PDone;
+import org.apache.kafka.common.serialization.Serializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+
+/**
+ * Wrapper for a Kafka writing Transformation where the value type can be generic.
+ *
+ * @param <T> type of the value.
+ */
+public class KafkaWriterTransformation<T> extends PTransform<PCollection<KV<String, T>>, PDone> {
+
+  private static final long serialVersionUID = 3171423303843174723L;
+  private final PTransform<PCollection<KV<String, T>>, PDone> writer;
+
+  /**
+   * Creates a new Kafka writer transformation.
+   */
+  public KafkaWriterTransformation(
+      final String bootstrapServer,
+      final String outputTopic,
+      final Class<? extends Serializer<T>> valueSerializer) {
+    this(bootstrapServer, outputTopic, valueSerializer, Map.of());
+  }
+
+  /**
+   * Creates a new Kafka writer transformation.
+   */
+  public KafkaWriterTransformation(
+      final String bootstrapServer,
+      final String outputTopic,
+      final Class<? extends Serializer<T>> valueSerializer,
+      final Map<String, Object> producerConfig) {
+    super();
+    // Check if bootstrap server and outputTopic are defined
+    if (bootstrapServer.isEmpty() || outputTopic.isEmpty()) {
+      throw new IllegalArgumentException("bootstrapServer or outputTopic missing");
+    }
+
+    this.writer = KafkaIO.<String, T>write()
+        .withBootstrapServers(bootstrapServer)
+        .withTopic(outputTopic)
+        .withKeySerializer(StringSerializer.class)
+        .withValueSerializer(valueSerializer)
+        .withProducerConfigUpdates(producerConfig);
+
+  }
+
+  @Override
+  public PDone expand(final PCollection<KV<String, T>> input) {
+    return input.apply(this.writer);
+  }
+}
diff --git a/theodolite-benchmarks/buildSrc/build.gradle b/theodolite-benchmarks/buildSrc/build.gradle
index 4c099de32dc97ed3aa0417e8fff1f06e2a50dfd8..e3c3a8cb496929a5005c28d5d87b00bae85ad2cd 100644
--- a/theodolite-benchmarks/buildSrc/build.gradle
+++ b/theodolite-benchmarks/buildSrc/build.gradle
@@ -1,14 +1,3 @@
-buildscript {
-  repositories {
-    maven {
-      url "https://plugins.gradle.org/m2/"
-    }
-  }
-  dependencies {
-    classpath "com.github.jengelman.gradle.plugins:shadow:6.0.0"
-  }
-}
-
 // to discover the precompiled script plugins
 plugins {
     id 'groovy-gradle-plugin'
@@ -19,6 +8,6 @@ repositories {
 }
 
 dependencies {
-    implementation 'gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.0'
-    implementation 'com.github.jengelman.gradle.plugins:shadow:6.0.0'
+    implementation 'com.github.spotbugs.snom:spotbugs-gradle-plugin:5.0.4'
+    implementation 'gradle.plugin.com.github.johnrengelman:shadow:7.1.2'
 }
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.flink.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.flink.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..02bf925f8dc29456f9eeaddeef800d2edcf837f8
--- /dev/null
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.flink.gradle
@@ -0,0 +1,8 @@
+plugins {
+    id 'theodolite.beam'
+}
+
+dependencies {
+    implementation group: 'org.apache.beam', name: 'beam-runners-flink-1.13', version: '2.35.0'
+    implementation group: 'org.apache.flink', name: 'flink-statebackend-rocksdb_2.11', version: '1.13.0'
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..7783baaa215a12bba79f26e70d8ac8073252a780
--- /dev/null
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.gradle
@@ -0,0 +1,43 @@
+plugins {
+    // common java conventions
+    id 'theodolite.java-conventions'
+
+    // make executable
+    id 'application'
+}
+
+tasks.distZip.enabled = false
+
+repositories {
+    mavenCentral()
+    maven {
+        url "https://oss.sonatype.org/content/repositories/snapshots/"
+    }
+    maven {
+        url 'https://packages.confluent.io/maven/'
+    }
+}
+
+def apacheBeamVersion =  '2.35.0'
+
+dependencies {
+    // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
+    implementation project(':commons')
+    implementation 'com.google.guava:guava:24.1-jre'
+    implementation 'org.slf4j:slf4j-simple:1.7.25'
+    implementation project(':beam-commons')
+
+    implementation group: 'org.apache.beam', name: 'beam-sdks-java-core', version: "${apacheBeamVersion}"
+
+    implementation("org.apache.beam:beam-sdks-java-io-kafka:${apacheBeamVersion}"){
+        exclude group: 'org.apache.kafka', module: 'kafka-clients'
+    }
+    implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.30'
+
+    runtimeOnly "org.apache.beam:beam-runners-direct-java:${apacheBeamVersion}"
+    runtimeOnly 'org.slf4j:slf4j-api:1.7.32'
+    runtimeOnly 'org.slf4j:slf4j-jdk14:1.7.32'
+
+    // Use JUnit test framework
+    testImplementation 'junit:junit:4.12'
+}
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.samza.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.samza.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..44c59317472686cae88d6992382ae081c9b64ace
--- /dev/null
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.beam.samza.gradle
@@ -0,0 +1,10 @@
+plugins {
+    id 'theodolite.beam'
+}
+
+dependencies {
+    implementation('org.apache.beam:beam-runners-samza:2.35.0') {
+        exclude group: 'org.apache.samza', module: 'samza-yarn_2.11'
+    }
+    implementation 'org.apache.samza:samza-kafka_2.11:1.5.0'
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.flink.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.flink.gradle
index d6d5217667a73a1529d73ac59260bcf47d8cf2e1..5665de9d8ea42b88ef915189234ead634c66215c 100644
--- a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.flink.gradle
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.flink.gradle
@@ -6,9 +6,6 @@ plugins {
 
 applicationDefaultJvmArgs = ["-Dlog4j.configuration=log4j.properties"]
 
-
-run.classpath = sourceSets.main.runtimeClasspath
-
 jar {
     manifest {
         attributes 'Built-By': System.getProperty('user.name'),
@@ -17,19 +14,18 @@ jar {
 }
 
 shadowJar {
-    configurations = [project.configurations.compile]
     zip64 true
 }
 
 tasks.distZip.enabled = false
 
 ext {
-  flinkVersion = '1.12.2'
+  flinkVersion = '1.13.5'
   scalaBinaryVersion = '2.12'
 }
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -39,28 +35,23 @@ repositories {
 }
 
 dependencies {
-    // Special version required because of https://issues.apache.org/jira/browse/FLINK-13703
-    implementation('org.industrial-devops:titan-ccp-common:0.1.0-flink-ready-SNAPSHOT') { changing = true }
-    implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
+    implementation project(':commons')
 
-    // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
     implementation 'org.apache.kafka:kafka-clients:2.2.0'
-    implementation 'com.google.guava:guava:24.1-jre'
-    implementation 'com.google.code.gson:gson:2.8.2'
+    implementation 'com.google.guava:guava:30.1-jre'
     implementation 'org.slf4j:slf4j-simple:1.6.1'
-    compile project(':flink-commons')
+    implementation project(':flink-commons')
 
-    //compile group: 'org.apache.kafka', name: 'kafka-clients', version: "2.2.0"
-    compile group: 'org.apache.flink', name: 'flink-java', version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-streaming-java_${scalaBinaryVersion}", version:"${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-table-api-java-bridge_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-table-planner-blink_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-connector-kafka_${scalaBinaryVersion}", version: "${flinkVersion}"
+    implementation "org.apache.flink:flink-java:${flinkVersion}"
+    implementation "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}"
+    implementation "org.apache.flink:flink-connector-kafka_${scalaBinaryVersion}:${flinkVersion}"
     implementation "org.apache.flink:flink-avro:${flinkVersion}"
     implementation "org.apache.flink:flink-avro-confluent-registry:${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-runtime-web_${scalaBinaryVersion}", version: "${flinkVersion}" // TODO: remove after development
-    compile group: 'org.apache.flink', name: "flink-statebackend-rocksdb_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-metrics-prometheus_${scalaBinaryVersion}", version: "${flinkVersion}"
+    implementation "org.apache.flink:flink-statebackend-rocksdb_${scalaBinaryVersion}:${flinkVersion}"
+    implementation "org.apache.flink:flink-metrics-prometheus_${scalaBinaryVersion}:${flinkVersion}"
+    implementation "org.apache.flink:flink-runtime-web_${scalaBinaryVersion}:${flinkVersion}" // For debugging
+    
+    
 
     // Use JUnit test framework
     testImplementation 'junit:junit:4.12'
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.hazelcastjet.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.hazelcastjet.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..0bade8fddc045f19b13074966d29996e26a72e77
--- /dev/null
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.hazelcastjet.gradle
@@ -0,0 +1,44 @@
+plugins {
+  // common java conventions
+  id 'theodolite.java-conventions'
+
+  // make executable
+  id 'application'
+}
+
+repositories {
+  mavenCentral()
+  maven {
+    url "https://oss.sonatype.org/content/repositories/snapshots/"
+  }
+  maven {
+    url 'https://packages.confluent.io/maven/'
+  }
+}
+
+dependencies {
+  implementation project(':commons')
+
+  implementation 'com.google.guava:guava:24.1-jre'
+  implementation 'org.slf4j:slf4j-api:1.7.30'
+  implementation 'org.slf4j:slf4j-simple:1.7.30'
+
+  implementation 'io.confluent:kafka-avro-serializer:5.3.0'
+
+  implementation 'com.hazelcast.jet:hazelcast-jet:4.5'
+  implementation 'com.hazelcast.jet:hazelcast-jet-kafka:4.5'
+  implementation 'com.hazelcast:hazelcast-kubernetes:2.2.2'
+ 	
+  implementation project(':hazelcastjet-commons')
+
+  testImplementation("junit:junit:4.13.2")
+  testRuntimeOnly("org.junit.vintage:junit-vintage-engine:5.8.2")
+
+  testImplementation 'com.hazelcast:hazelcast:4.2:tests'
+  testImplementation 'com.hazelcast.jet:hazelcast-jet-core:4.5:tests'
+
+}
+
+test {
+  useJUnitPlatform()
+}
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle
index 773872648edfd4b30218a99d307b6e7c45ed3470..a2912d96262f3d9c9f843ed508370e2798aeb735 100644
--- a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.java-conventions.gradle
@@ -50,7 +50,7 @@ pmd {
   ruleSets = [] // Gradle requires to clean the rule sets first
   ruleSetFiles = files("$rootProject.projectDir/config/pmd.xml")
   ignoreFailures = false
-  toolVersion = "6.7.0"
+  toolVersion = "6.13.0"
 }
 
 checkstyle {
@@ -58,7 +58,7 @@ checkstyle {
   configFile = file("$rootProject.projectDir/config/checkstyle.xml")
   maxWarnings = 0
   ignoreFailures = false
-  toolVersion = "8.12"
+  toolVersion = "8.19"
 }
 
 spotbugs {
@@ -66,5 +66,5 @@ spotbugs {
   reportLevel = "low"
   effort = "max"
   ignoreFailures = false
-  toolVersion = '4.1.4'
+  toolVersion = '4.5.3'
 }
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.kstreams.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.kstreams.gradle
index eece7b835ae9d6f39283ea371ce8b0b8194cdaa0..f43b9bafe3b8135cb4606f109648fc1acb4fe024 100644
--- a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.kstreams.gradle
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.kstreams.gradle
@@ -9,7 +9,7 @@ plugins {
 tasks.distZip.enabled = false
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -20,10 +20,8 @@ repositories {
 
 dependencies {
     // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
-    implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true }
-    implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
-    implementation 'org.apache.kafka:kafka-streams:2.6.0' // enable TransformerSuppliers
-    implementation 'com.google.code.gson:gson:2.8.2'
+    implementation project(':commons')
+    implementation 'org.apache.kafka:kafka-streams:3.1.0'
     implementation 'com.google.guava:guava:24.1-jre'
     implementation 'org.slf4j:slf4j-simple:1.7.25'
     implementation project(':kstreams-commons')
diff --git a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.load-generator.gradle b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.load-generator.gradle
index c6c2b6057cf35c32faa4d67b6ea6dba9e5c13beb..b4927d53d0ed976a0f0dcecd6d096e3d6c7d9273 100644
--- a/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.load-generator.gradle
+++ b/theodolite-benchmarks/buildSrc/src/main/groovy/theodolite.load-generator.gradle
@@ -9,7 +9,7 @@ plugins {
 tasks.distZip.enabled = false
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -20,8 +20,7 @@ repositories {
 
 dependencies {
   // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
-  implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true }
-  implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
+  implementation project(':commons')
   implementation 'org.slf4j:slf4j-simple:1.7.25'
 
   // These dependencies are used for the workload-generator-commmon
diff --git a/theodolite-benchmarks/commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/commons/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/commons/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/commons/build.gradle b/theodolite-benchmarks/commons/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..2b00b6619f813ec83031585b86e51a0f1a0e43ed
--- /dev/null
+++ b/theodolite-benchmarks/commons/build.gradle
@@ -0,0 +1,93 @@
+plugins {
+    // common java conventions
+    id 'theodolite.java-commons'
+    // avro plugin
+    id "com.github.davidmc24.gradle.plugin.avro-base" version "1.3.0"
+}
+
+
+
+repositories {
+    mavenCentral()
+    maven {
+        url "https://oss.sonatype.org/content/repositories/snapshots/"
+    }
+    maven {
+        url 'https://packages.confluent.io/maven/'
+    }
+}
+
+dependencies {
+    // These dependencies is exported to consumers, that is to say found on their compile classpath.
+    api 'org.apache.commons:commons-configuration2:2.0'
+    api "org.apache.avro:avro:1.11.0"
+    api 'org.apache.kafka:kafka-streams:2.4.0' // needed in flink uc3
+
+    // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
+    implementation 'commons-beanutils:commons-beanutils:1.9.2' // necessary for commons-configuration2
+    implementation 'com.google.code.gson:gson:2.8.2'
+    implementation 'com.google.guava:guava:24.1-jre'
+    implementation 'org.slf4j:slf4j-api:1.7.25'
+    implementation 'org.apache.kafka:kafka-clients:2.4.0'
+    implementation ('io.confluent:kafka-streams-avro-serde:5.3.2') {
+        // Kafka client is already included from Kafka Streams in version 2.4.0
+        exclude group: 'org.apache.kafka', module: 'kafka-clients'
+    }
+
+    // Use JUnit test framework
+    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
+    testImplementation 'com.github.stefanbirkner:system-rules:1.17.0'
+}
+
+
+// Local sources
+sourceSets {
+    main {
+        java {
+            srcDir 'src/main/java'
+            srcDir 'src-gen/main/java'
+        }
+    }
+}
+
+
+// Local avro creation
+avro {
+    fieldVisibility = "PRIVATE"
+    // Setters required for flink because of https://issues.apache.org/jira/browse/FLINK-13703
+    createSetters = true
+}
+
+task("generateAvroProtocol", type: com.github.davidmc24.gradle.plugin.avro.GenerateAvroProtocolTask) {
+    group 'Generate Sources'
+    source file("src/main/avro")
+    include("**/*.avdl")
+    outputDir = file("build/generated-avro-main-avpr")
+}
+
+task("generateAvroSchema", type: com.github.davidmc24.gradle.plugin.avro.GenerateAvroSchemaTask) {
+    group 'Generate Sources'
+    dependsOn generateAvroProtocol
+    source file("src/main/avro")
+    source file("build/generated-avro-main-avpr")
+    include("**/*.avpr")
+    outputDir = file("src-gen/main/avro")
+}
+
+task ("generateAvroJava", type: com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask) {
+    group 'Generate Sources'
+    dependsOn generateAvroSchema
+    source file("src-gen/main/avro")
+    outputDir = file("src-gen/main/java")
+}
+
+tasks.withType(Checkstyle) {
+    source = fileTree('src/main/java')
+}
+
+tasks.withType(Pmd) {
+    exclude '**/commons/src-gen/.*'
+}
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..91f1168632267b6d69f1b22aed658897d95958b1
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.avsc
@@ -0,0 +1,18 @@
+{
+  "type" : "record",
+  "name" : "ActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string",
+    "doc" : "*"
+  }, {
+    "name" : "timestamp",
+    "type" : "long",
+    "doc" : "*"
+  }, {
+    "name" : "valueInW",
+    "type" : "double",
+    "doc" : "*"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..336476e8417a5b7245eea1a1c6b2b454fcc11001
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.avsc
@@ -0,0 +1,26 @@
+{
+  "type" : "record",
+  "name" : "AggregatedActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string",
+    "doc" : "*"
+  }, {
+    "name" : "timestamp",
+    "type" : "long",
+    "doc" : "*"
+  }, {
+    "name" : "count",
+    "type" : "long",
+    "doc" : "*"
+  }, {
+    "name" : "sumInW",
+    "type" : "double",
+    "doc" : "*"
+  }, {
+    "name" : "averageInW",
+    "type" : "double",
+    "doc" : "*"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..c029937dd0d17e0a14bb613a59dff6f72635f009
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.avsc
@@ -0,0 +1,33 @@
+{
+  "type" : "record",
+  "name" : "DayOfWeekActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string"
+  }, {
+    "name" : "dayOfWeek",
+    "type" : "int"
+  }, {
+    "name" : "periodStart",
+    "type" : "long"
+  }, {
+    "name" : "periodEnd",
+    "type" : "long"
+  }, {
+    "name" : "count",
+    "type" : "long"
+  }, {
+    "name" : "mean",
+    "type" : "double"
+  }, {
+    "name" : "populationVariance",
+    "type" : "double"
+  }, {
+    "name" : "min",
+    "type" : "double"
+  }, {
+    "name" : "max",
+    "type" : "double"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..3ad6d6ade5d2f29718db04e066565a11f2db412d
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.avsc
@@ -0,0 +1,33 @@
+{
+  "type" : "record",
+  "name" : "HourOfDayActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string"
+  }, {
+    "name" : "hourOfDay",
+    "type" : "int"
+  }, {
+    "name" : "periodStart",
+    "type" : "long"
+  }, {
+    "name" : "periodEnd",
+    "type" : "long"
+  }, {
+    "name" : "count",
+    "type" : "long"
+  }, {
+    "name" : "mean",
+    "type" : "double"
+  }, {
+    "name" : "populationVariance",
+    "type" : "double"
+  }, {
+    "name" : "min",
+    "type" : "double"
+  }, {
+    "name" : "max",
+    "type" : "double"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..74739f5bd074ba330cee631c433ea4ab1c1fa8d9
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.avsc
@@ -0,0 +1,36 @@
+{
+  "type" : "record",
+  "name" : "HourOfWeekActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string"
+  }, {
+    "name" : "dayOfWeek",
+    "type" : "int"
+  }, {
+    "name" : "hourOfDay",
+    "type" : "int"
+  }, {
+    "name" : "periodStart",
+    "type" : "long"
+  }, {
+    "name" : "periodEnd",
+    "type" : "long"
+  }, {
+    "name" : "count",
+    "type" : "long"
+  }, {
+    "name" : "mean",
+    "type" : "double"
+  }, {
+    "name" : "populationVariance",
+    "type" : "double"
+  }, {
+    "name" : "min",
+    "type" : "double"
+  }, {
+    "name" : "max",
+    "type" : "double"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..70dd7eda5b5aaa6bb27b2ebca4ac7f4b251c630f
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.avsc
@@ -0,0 +1,33 @@
+{
+  "type" : "record",
+  "name" : "MonthOfYearActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string"
+  }, {
+    "name" : "monthOfYear",
+    "type" : "int"
+  }, {
+    "name" : "periodStart",
+    "type" : "long"
+  }, {
+    "name" : "periodEnd",
+    "type" : "long"
+  }, {
+    "name" : "count",
+    "type" : "long"
+  }, {
+    "name" : "mean",
+    "type" : "double"
+  }, {
+    "name" : "populationVariance",
+    "type" : "double"
+  }, {
+    "name" : "min",
+    "type" : "double"
+  }, {
+    "name" : "max",
+    "type" : "double"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.avsc b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.avsc
new file mode 100644
index 0000000000000000000000000000000000000000..2bfc06b6649630fbde85f068e5b3a9d0312f5424
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/avro/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.avsc
@@ -0,0 +1,33 @@
+{
+  "type" : "record",
+  "name" : "YearActivePowerRecord",
+  "namespace" : "rocks.theodolite.benchmarks.commons.model.records",
+  "fields" : [ {
+    "name" : "identifier",
+    "type" : "string"
+  }, {
+    "name" : "year",
+    "type" : "int"
+  }, {
+    "name" : "periodStart",
+    "type" : "long"
+  }, {
+    "name" : "periodEnd",
+    "type" : "long"
+  }, {
+    "name" : "count",
+    "type" : "long"
+  }, {
+    "name" : "mean",
+    "type" : "double"
+  }, {
+    "name" : "populationVariance",
+    "type" : "double"
+  }, {
+    "name" : "min",
+    "type" : "double"
+  }, {
+    "name" : "max",
+    "type" : "double"
+  } ]
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..27e0f39076e5384a89e3d8a91e4b08808244aa2a
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/ActivePowerRecord.java
@@ -0,0 +1,492 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class ActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = -5809432381123606133L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"ActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"*\"},{\"name\":\"timestamp\",\"type\":\"long\",\"doc\":\"*\"},{\"name\":\"valueInW\",\"type\":\"double\",\"doc\":\"*\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<ActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<ActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<ActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<ActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<ActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<ActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<ActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<ActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this ActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a ActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a ActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static ActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  /** * */
+  private java.lang.String identifier;
+  /** * */
+  private long timestamp;
+  /** * */
+  private double valueInW;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public ActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier *
+   * @param timestamp *
+   * @param valueInW *
+   */
+  public ActivePowerRecord(java.lang.String identifier, java.lang.Long timestamp, java.lang.Double valueInW) {
+    this.identifier = identifier;
+    this.timestamp = timestamp;
+    this.valueInW = valueInW;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return timestamp;
+    case 2: return valueInW;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: timestamp = (java.lang.Long)value$; break;
+    case 2: valueInW = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return *
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'timestamp' field.
+   * @return *
+   */
+  public long getTimestamp() {
+    return timestamp;
+  }
+
+
+  /**
+   * Sets the value of the 'timestamp' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setTimestamp(long value) {
+    this.timestamp = value;
+  }
+
+  /**
+   * Gets the value of the 'valueInW' field.
+   * @return *
+   */
+  public double getValueInW() {
+    return valueInW;
+  }
+
+
+  /**
+   * Sets the value of the 'valueInW' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setValueInW(double value) {
+    this.valueInW = value;
+  }
+
+  /**
+   * Creates a new ActivePowerRecord RecordBuilder.
+   * @return A new ActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new ActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new ActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new ActivePowerRecord RecordBuilder by copying an existing ActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new ActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for ActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<ActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<ActivePowerRecord> {
+
+    /** * */
+    private java.lang.String identifier;
+    /** * */
+    private long timestamp;
+    /** * */
+    private double valueInW;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.timestamp)) {
+        this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.valueInW)) {
+        this.valueInW = data().deepCopy(fields()[2].schema(), other.valueInW);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing ActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.timestamp)) {
+        this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.valueInW)) {
+        this.valueInW = data().deepCopy(fields()[2].schema(), other.valueInW);
+        fieldSetFlags()[2] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * *
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * *
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * *
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'timestamp' field.
+      * *
+      * @return The value.
+      */
+    public long getTimestamp() {
+      return timestamp;
+    }
+
+
+    /**
+      * Sets the value of the 'timestamp' field.
+      * *
+      * @param value The value of 'timestamp'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder setTimestamp(long value) {
+      validate(fields()[1], value);
+      this.timestamp = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'timestamp' field has been set.
+      * *
+      * @return True if the 'timestamp' field has been set, false otherwise.
+      */
+    public boolean hasTimestamp() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'timestamp' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder clearTimestamp() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'valueInW' field.
+      * *
+      * @return The value.
+      */
+    public double getValueInW() {
+      return valueInW;
+    }
+
+
+    /**
+      * Sets the value of the 'valueInW' field.
+      * *
+      * @param value The value of 'valueInW'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder setValueInW(double value) {
+      validate(fields()[2], value);
+      this.valueInW = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'valueInW' field has been set.
+      * *
+      * @return True if the 'valueInW' field has been set, false otherwise.
+      */
+    public boolean hasValueInW() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'valueInW' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord.Builder clearValueInW() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public ActivePowerRecord build() {
+      try {
+        ActivePowerRecord record = new ActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.timestamp = fieldSetFlags()[1] ? this.timestamp : (java.lang.Long) defaultValue(fields()[1]);
+        record.valueInW = fieldSetFlags()[2] ? this.valueInW : (java.lang.Double) defaultValue(fields()[2]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<ActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<ActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<ActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<ActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeLong(this.timestamp);
+
+    out.writeDouble(this.valueInW);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.timestamp = in.readLong();
+
+      this.valueInW = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 3; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.timestamp = in.readLong();
+          break;
+
+        case 2:
+          this.valueInW = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..7aa6e0b5f988bae1f63d8a2817a1fed2b4880b6a
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/AggregatedActivePowerRecord.java
@@ -0,0 +1,664 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class AggregatedActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = 334342381382209426L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"AggregatedActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"*\"},{\"name\":\"timestamp\",\"type\":\"long\",\"doc\":\"*\"},{\"name\":\"count\",\"type\":\"long\",\"doc\":\"*\"},{\"name\":\"sumInW\",\"type\":\"double\",\"doc\":\"*\"},{\"name\":\"averageInW\",\"type\":\"double\",\"doc\":\"*\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<AggregatedActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<AggregatedActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<AggregatedActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<AggregatedActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<AggregatedActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<AggregatedActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<AggregatedActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<AggregatedActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this AggregatedActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a AggregatedActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a AggregatedActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static AggregatedActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  /** * */
+  private java.lang.String identifier;
+  /** * */
+  private long timestamp;
+  /** * */
+  private long count;
+  /** * */
+  private double sumInW;
+  /** * */
+  private double averageInW;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public AggregatedActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier *
+   * @param timestamp *
+   * @param count *
+   * @param sumInW *
+   * @param averageInW *
+   */
+  public AggregatedActivePowerRecord(java.lang.String identifier, java.lang.Long timestamp, java.lang.Long count, java.lang.Double sumInW, java.lang.Double averageInW) {
+    this.identifier = identifier;
+    this.timestamp = timestamp;
+    this.count = count;
+    this.sumInW = sumInW;
+    this.averageInW = averageInW;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return timestamp;
+    case 2: return count;
+    case 3: return sumInW;
+    case 4: return averageInW;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: timestamp = (java.lang.Long)value$; break;
+    case 2: count = (java.lang.Long)value$; break;
+    case 3: sumInW = (java.lang.Double)value$; break;
+    case 4: averageInW = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return *
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'timestamp' field.
+   * @return *
+   */
+  public long getTimestamp() {
+    return timestamp;
+  }
+
+
+  /**
+   * Sets the value of the 'timestamp' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setTimestamp(long value) {
+    this.timestamp = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return *
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'sumInW' field.
+   * @return *
+   */
+  public double getSumInW() {
+    return sumInW;
+  }
+
+
+  /**
+   * Sets the value of the 'sumInW' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setSumInW(double value) {
+    this.sumInW = value;
+  }
+
+  /**
+   * Gets the value of the 'averageInW' field.
+   * @return *
+   */
+  public double getAverageInW() {
+    return averageInW;
+  }
+
+
+  /**
+   * Sets the value of the 'averageInW' field.
+   * *
+   * @param value the value to set.
+   */
+  public void setAverageInW(double value) {
+    this.averageInW = value;
+  }
+
+  /**
+   * Creates a new AggregatedActivePowerRecord RecordBuilder.
+   * @return A new AggregatedActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new AggregatedActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new AggregatedActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new AggregatedActivePowerRecord RecordBuilder by copying an existing AggregatedActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new AggregatedActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for AggregatedActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<AggregatedActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<AggregatedActivePowerRecord> {
+
+    /** * */
+    private java.lang.String identifier;
+    /** * */
+    private long timestamp;
+    /** * */
+    private long count;
+    /** * */
+    private double sumInW;
+    /** * */
+    private double averageInW;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.timestamp)) {
+        this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.count)) {
+        this.count = data().deepCopy(fields()[2].schema(), other.count);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.sumInW)) {
+        this.sumInW = data().deepCopy(fields()[3].schema(), other.sumInW);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.averageInW)) {
+        this.averageInW = data().deepCopy(fields()[4].schema(), other.averageInW);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing AggregatedActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.timestamp)) {
+        this.timestamp = data().deepCopy(fields()[1].schema(), other.timestamp);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.count)) {
+        this.count = data().deepCopy(fields()[2].schema(), other.count);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.sumInW)) {
+        this.sumInW = data().deepCopy(fields()[3].schema(), other.sumInW);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.averageInW)) {
+        this.averageInW = data().deepCopy(fields()[4].schema(), other.averageInW);
+        fieldSetFlags()[4] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * *
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * *
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * *
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'timestamp' field.
+      * *
+      * @return The value.
+      */
+    public long getTimestamp() {
+      return timestamp;
+    }
+
+
+    /**
+      * Sets the value of the 'timestamp' field.
+      * *
+      * @param value The value of 'timestamp'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder setTimestamp(long value) {
+      validate(fields()[1], value);
+      this.timestamp = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'timestamp' field has been set.
+      * *
+      * @return True if the 'timestamp' field has been set, false otherwise.
+      */
+    public boolean hasTimestamp() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'timestamp' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder clearTimestamp() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * *
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * *
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[2], value);
+      this.count = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * *
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'sumInW' field.
+      * *
+      * @return The value.
+      */
+    public double getSumInW() {
+      return sumInW;
+    }
+
+
+    /**
+      * Sets the value of the 'sumInW' field.
+      * *
+      * @param value The value of 'sumInW'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder setSumInW(double value) {
+      validate(fields()[3], value);
+      this.sumInW = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'sumInW' field has been set.
+      * *
+      * @return True if the 'sumInW' field has been set, false otherwise.
+      */
+    public boolean hasSumInW() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'sumInW' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder clearSumInW() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'averageInW' field.
+      * *
+      * @return The value.
+      */
+    public double getAverageInW() {
+      return averageInW;
+    }
+
+
+    /**
+      * Sets the value of the 'averageInW' field.
+      * *
+      * @param value The value of 'averageInW'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder setAverageInW(double value) {
+      validate(fields()[4], value);
+      this.averageInW = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'averageInW' field has been set.
+      * *
+      * @return True if the 'averageInW' field has been set, false otherwise.
+      */
+    public boolean hasAverageInW() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'averageInW' field.
+      * *
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord.Builder clearAverageInW() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public AggregatedActivePowerRecord build() {
+      try {
+        AggregatedActivePowerRecord record = new AggregatedActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.timestamp = fieldSetFlags()[1] ? this.timestamp : (java.lang.Long) defaultValue(fields()[1]);
+        record.count = fieldSetFlags()[2] ? this.count : (java.lang.Long) defaultValue(fields()[2]);
+        record.sumInW = fieldSetFlags()[3] ? this.sumInW : (java.lang.Double) defaultValue(fields()[3]);
+        record.averageInW = fieldSetFlags()[4] ? this.averageInW : (java.lang.Double) defaultValue(fields()[4]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<AggregatedActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<AggregatedActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<AggregatedActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<AggregatedActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeLong(this.timestamp);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.sumInW);
+
+    out.writeDouble(this.averageInW);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.timestamp = in.readLong();
+
+      this.count = in.readLong();
+
+      this.sumInW = in.readDouble();
+
+      this.averageInW = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 5; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.timestamp = in.readLong();
+          break;
+
+        case 2:
+          this.count = in.readLong();
+          break;
+
+        case 3:
+          this.sumInW = in.readDouble();
+          break;
+
+        case 4:
+          this.averageInW = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..6e6917a6393f6b7deea3237384f08094a9cfc200
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/DayOfWeekActivePowerRecord.java
@@ -0,0 +1,945 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class DayOfWeekActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = 874988617222069934L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"DayOfWeekActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"dayOfWeek\",\"type\":\"int\"},{\"name\":\"periodStart\",\"type\":\"long\"},{\"name\":\"periodEnd\",\"type\":\"long\"},{\"name\":\"count\",\"type\":\"long\"},{\"name\":\"mean\",\"type\":\"double\"},{\"name\":\"populationVariance\",\"type\":\"double\"},{\"name\":\"min\",\"type\":\"double\"},{\"name\":\"max\",\"type\":\"double\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<DayOfWeekActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<DayOfWeekActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<DayOfWeekActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<DayOfWeekActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<DayOfWeekActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<DayOfWeekActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<DayOfWeekActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<DayOfWeekActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this DayOfWeekActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a DayOfWeekActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a DayOfWeekActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static DayOfWeekActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  private java.lang.String identifier;
+  private int dayOfWeek;
+  private long periodStart;
+  private long periodEnd;
+  private long count;
+  private double mean;
+  private double populationVariance;
+  private double min;
+  private double max;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public DayOfWeekActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier The new value for identifier
+   * @param dayOfWeek The new value for dayOfWeek
+   * @param periodStart The new value for periodStart
+   * @param periodEnd The new value for periodEnd
+   * @param count The new value for count
+   * @param mean The new value for mean
+   * @param populationVariance The new value for populationVariance
+   * @param min The new value for min
+   * @param max The new value for max
+   */
+  public DayOfWeekActivePowerRecord(java.lang.String identifier, java.lang.Integer dayOfWeek, java.lang.Long periodStart, java.lang.Long periodEnd, java.lang.Long count, java.lang.Double mean, java.lang.Double populationVariance, java.lang.Double min, java.lang.Double max) {
+    this.identifier = identifier;
+    this.dayOfWeek = dayOfWeek;
+    this.periodStart = periodStart;
+    this.periodEnd = periodEnd;
+    this.count = count;
+    this.mean = mean;
+    this.populationVariance = populationVariance;
+    this.min = min;
+    this.max = max;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return dayOfWeek;
+    case 2: return periodStart;
+    case 3: return periodEnd;
+    case 4: return count;
+    case 5: return mean;
+    case 6: return populationVariance;
+    case 7: return min;
+    case 8: return max;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: dayOfWeek = (java.lang.Integer)value$; break;
+    case 2: periodStart = (java.lang.Long)value$; break;
+    case 3: periodEnd = (java.lang.Long)value$; break;
+    case 4: count = (java.lang.Long)value$; break;
+    case 5: mean = (java.lang.Double)value$; break;
+    case 6: populationVariance = (java.lang.Double)value$; break;
+    case 7: min = (java.lang.Double)value$; break;
+    case 8: max = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return The value of the 'identifier' field.
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'dayOfWeek' field.
+   * @return The value of the 'dayOfWeek' field.
+   */
+  public int getDayOfWeek() {
+    return dayOfWeek;
+  }
+
+
+  /**
+   * Sets the value of the 'dayOfWeek' field.
+   * @param value the value to set.
+   */
+  public void setDayOfWeek(int value) {
+    this.dayOfWeek = value;
+  }
+
+  /**
+   * Gets the value of the 'periodStart' field.
+   * @return The value of the 'periodStart' field.
+   */
+  public long getPeriodStart() {
+    return periodStart;
+  }
+
+
+  /**
+   * Sets the value of the 'periodStart' field.
+   * @param value the value to set.
+   */
+  public void setPeriodStart(long value) {
+    this.periodStart = value;
+  }
+
+  /**
+   * Gets the value of the 'periodEnd' field.
+   * @return The value of the 'periodEnd' field.
+   */
+  public long getPeriodEnd() {
+    return periodEnd;
+  }
+
+
+  /**
+   * Sets the value of the 'periodEnd' field.
+   * @param value the value to set.
+   */
+  public void setPeriodEnd(long value) {
+    this.periodEnd = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return The value of the 'count' field.
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'mean' field.
+   * @return The value of the 'mean' field.
+   */
+  public double getMean() {
+    return mean;
+  }
+
+
+  /**
+   * Sets the value of the 'mean' field.
+   * @param value the value to set.
+   */
+  public void setMean(double value) {
+    this.mean = value;
+  }
+
+  /**
+   * Gets the value of the 'populationVariance' field.
+   * @return The value of the 'populationVariance' field.
+   */
+  public double getPopulationVariance() {
+    return populationVariance;
+  }
+
+
+  /**
+   * Sets the value of the 'populationVariance' field.
+   * @param value the value to set.
+   */
+  public void setPopulationVariance(double value) {
+    this.populationVariance = value;
+  }
+
+  /**
+   * Gets the value of the 'min' field.
+   * @return The value of the 'min' field.
+   */
+  public double getMin() {
+    return min;
+  }
+
+
+  /**
+   * Sets the value of the 'min' field.
+   * @param value the value to set.
+   */
+  public void setMin(double value) {
+    this.min = value;
+  }
+
+  /**
+   * Gets the value of the 'max' field.
+   * @return The value of the 'max' field.
+   */
+  public double getMax() {
+    return max;
+  }
+
+
+  /**
+   * Sets the value of the 'max' field.
+   * @param value the value to set.
+   */
+  public void setMax(double value) {
+    this.max = value;
+  }
+
+  /**
+   * Creates a new DayOfWeekActivePowerRecord RecordBuilder.
+   * @return A new DayOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new DayOfWeekActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new DayOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new DayOfWeekActivePowerRecord RecordBuilder by copying an existing DayOfWeekActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new DayOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for DayOfWeekActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<DayOfWeekActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<DayOfWeekActivePowerRecord> {
+
+    private java.lang.String identifier;
+    private int dayOfWeek;
+    private long periodStart;
+    private long periodEnd;
+    private long count;
+    private double mean;
+    private double populationVariance;
+    private double min;
+    private double max;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.dayOfWeek)) {
+        this.dayOfWeek = data().deepCopy(fields()[1].schema(), other.dayOfWeek);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = other.fieldSetFlags()[5];
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = other.fieldSetFlags()[6];
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = other.fieldSetFlags()[7];
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = other.fieldSetFlags()[8];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing DayOfWeekActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.dayOfWeek)) {
+        this.dayOfWeek = data().deepCopy(fields()[1].schema(), other.dayOfWeek);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'dayOfWeek' field.
+      * @return The value.
+      */
+    public int getDayOfWeek() {
+      return dayOfWeek;
+    }
+
+
+    /**
+      * Sets the value of the 'dayOfWeek' field.
+      * @param value The value of 'dayOfWeek'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setDayOfWeek(int value) {
+      validate(fields()[1], value);
+      this.dayOfWeek = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'dayOfWeek' field has been set.
+      * @return True if the 'dayOfWeek' field has been set, false otherwise.
+      */
+    public boolean hasDayOfWeek() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'dayOfWeek' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearDayOfWeek() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodStart' field.
+      * @return The value.
+      */
+    public long getPeriodStart() {
+      return periodStart;
+    }
+
+
+    /**
+      * Sets the value of the 'periodStart' field.
+      * @param value The value of 'periodStart'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setPeriodStart(long value) {
+      validate(fields()[2], value);
+      this.periodStart = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodStart' field has been set.
+      * @return True if the 'periodStart' field has been set, false otherwise.
+      */
+    public boolean hasPeriodStart() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'periodStart' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearPeriodStart() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodEnd' field.
+      * @return The value.
+      */
+    public long getPeriodEnd() {
+      return periodEnd;
+    }
+
+
+    /**
+      * Sets the value of the 'periodEnd' field.
+      * @param value The value of 'periodEnd'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setPeriodEnd(long value) {
+      validate(fields()[3], value);
+      this.periodEnd = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodEnd' field has been set.
+      * @return True if the 'periodEnd' field has been set, false otherwise.
+      */
+    public boolean hasPeriodEnd() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'periodEnd' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearPeriodEnd() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[4], value);
+      this.count = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'mean' field.
+      * @return The value.
+      */
+    public double getMean() {
+      return mean;
+    }
+
+
+    /**
+      * Sets the value of the 'mean' field.
+      * @param value The value of 'mean'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setMean(double value) {
+      validate(fields()[5], value);
+      this.mean = value;
+      fieldSetFlags()[5] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'mean' field has been set.
+      * @return True if the 'mean' field has been set, false otherwise.
+      */
+    public boolean hasMean() {
+      return fieldSetFlags()[5];
+    }
+
+
+    /**
+      * Clears the value of the 'mean' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearMean() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'populationVariance' field.
+      * @return The value.
+      */
+    public double getPopulationVariance() {
+      return populationVariance;
+    }
+
+
+    /**
+      * Sets the value of the 'populationVariance' field.
+      * @param value The value of 'populationVariance'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setPopulationVariance(double value) {
+      validate(fields()[6], value);
+      this.populationVariance = value;
+      fieldSetFlags()[6] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'populationVariance' field has been set.
+      * @return True if the 'populationVariance' field has been set, false otherwise.
+      */
+    public boolean hasPopulationVariance() {
+      return fieldSetFlags()[6];
+    }
+
+
+    /**
+      * Clears the value of the 'populationVariance' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearPopulationVariance() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'min' field.
+      * @return The value.
+      */
+    public double getMin() {
+      return min;
+    }
+
+
+    /**
+      * Sets the value of the 'min' field.
+      * @param value The value of 'min'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setMin(double value) {
+      validate(fields()[7], value);
+      this.min = value;
+      fieldSetFlags()[7] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'min' field has been set.
+      * @return True if the 'min' field has been set, false otherwise.
+      */
+    public boolean hasMin() {
+      return fieldSetFlags()[7];
+    }
+
+
+    /**
+      * Clears the value of the 'min' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearMin() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'max' field.
+      * @return The value.
+      */
+    public double getMax() {
+      return max;
+    }
+
+
+    /**
+      * Sets the value of the 'max' field.
+      * @param value The value of 'max'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder setMax(double value) {
+      validate(fields()[8], value);
+      this.max = value;
+      fieldSetFlags()[8] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'max' field has been set.
+      * @return True if the 'max' field has been set, false otherwise.
+      */
+    public boolean hasMax() {
+      return fieldSetFlags()[8];
+    }
+
+
+    /**
+      * Clears the value of the 'max' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.DayOfWeekActivePowerRecord.Builder clearMax() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public DayOfWeekActivePowerRecord build() {
+      try {
+        DayOfWeekActivePowerRecord record = new DayOfWeekActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.dayOfWeek = fieldSetFlags()[1] ? this.dayOfWeek : (java.lang.Integer) defaultValue(fields()[1]);
+        record.periodStart = fieldSetFlags()[2] ? this.periodStart : (java.lang.Long) defaultValue(fields()[2]);
+        record.periodEnd = fieldSetFlags()[3] ? this.periodEnd : (java.lang.Long) defaultValue(fields()[3]);
+        record.count = fieldSetFlags()[4] ? this.count : (java.lang.Long) defaultValue(fields()[4]);
+        record.mean = fieldSetFlags()[5] ? this.mean : (java.lang.Double) defaultValue(fields()[5]);
+        record.populationVariance = fieldSetFlags()[6] ? this.populationVariance : (java.lang.Double) defaultValue(fields()[6]);
+        record.min = fieldSetFlags()[7] ? this.min : (java.lang.Double) defaultValue(fields()[7]);
+        record.max = fieldSetFlags()[8] ? this.max : (java.lang.Double) defaultValue(fields()[8]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<DayOfWeekActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<DayOfWeekActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<DayOfWeekActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<DayOfWeekActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeInt(this.dayOfWeek);
+
+    out.writeLong(this.periodStart);
+
+    out.writeLong(this.periodEnd);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.mean);
+
+    out.writeDouble(this.populationVariance);
+
+    out.writeDouble(this.min);
+
+    out.writeDouble(this.max);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.dayOfWeek = in.readInt();
+
+      this.periodStart = in.readLong();
+
+      this.periodEnd = in.readLong();
+
+      this.count = in.readLong();
+
+      this.mean = in.readDouble();
+
+      this.populationVariance = in.readDouble();
+
+      this.min = in.readDouble();
+
+      this.max = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 9; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.dayOfWeek = in.readInt();
+          break;
+
+        case 2:
+          this.periodStart = in.readLong();
+          break;
+
+        case 3:
+          this.periodEnd = in.readLong();
+          break;
+
+        case 4:
+          this.count = in.readLong();
+          break;
+
+        case 5:
+          this.mean = in.readDouble();
+          break;
+
+        case 6:
+          this.populationVariance = in.readDouble();
+          break;
+
+        case 7:
+          this.min = in.readDouble();
+          break;
+
+        case 8:
+          this.max = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..491a91f4dfe5d439d094d66290d82d77001e72c9
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfDayActivePowerRecord.java
@@ -0,0 +1,945 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class HourOfDayActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = 6460936513507715126L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"HourOfDayActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"hourOfDay\",\"type\":\"int\"},{\"name\":\"periodStart\",\"type\":\"long\"},{\"name\":\"periodEnd\",\"type\":\"long\"},{\"name\":\"count\",\"type\":\"long\"},{\"name\":\"mean\",\"type\":\"double\"},{\"name\":\"populationVariance\",\"type\":\"double\"},{\"name\":\"min\",\"type\":\"double\"},{\"name\":\"max\",\"type\":\"double\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<HourOfDayActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<HourOfDayActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<HourOfDayActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<HourOfDayActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<HourOfDayActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<HourOfDayActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<HourOfDayActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<HourOfDayActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this HourOfDayActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a HourOfDayActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a HourOfDayActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static HourOfDayActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  private java.lang.String identifier;
+  private int hourOfDay;
+  private long periodStart;
+  private long periodEnd;
+  private long count;
+  private double mean;
+  private double populationVariance;
+  private double min;
+  private double max;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public HourOfDayActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier The new value for identifier
+   * @param hourOfDay The new value for hourOfDay
+   * @param periodStart The new value for periodStart
+   * @param periodEnd The new value for periodEnd
+   * @param count The new value for count
+   * @param mean The new value for mean
+   * @param populationVariance The new value for populationVariance
+   * @param min The new value for min
+   * @param max The new value for max
+   */
+  public HourOfDayActivePowerRecord(java.lang.String identifier, java.lang.Integer hourOfDay, java.lang.Long periodStart, java.lang.Long periodEnd, java.lang.Long count, java.lang.Double mean, java.lang.Double populationVariance, java.lang.Double min, java.lang.Double max) {
+    this.identifier = identifier;
+    this.hourOfDay = hourOfDay;
+    this.periodStart = periodStart;
+    this.periodEnd = periodEnd;
+    this.count = count;
+    this.mean = mean;
+    this.populationVariance = populationVariance;
+    this.min = min;
+    this.max = max;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return hourOfDay;
+    case 2: return periodStart;
+    case 3: return periodEnd;
+    case 4: return count;
+    case 5: return mean;
+    case 6: return populationVariance;
+    case 7: return min;
+    case 8: return max;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: hourOfDay = (java.lang.Integer)value$; break;
+    case 2: periodStart = (java.lang.Long)value$; break;
+    case 3: periodEnd = (java.lang.Long)value$; break;
+    case 4: count = (java.lang.Long)value$; break;
+    case 5: mean = (java.lang.Double)value$; break;
+    case 6: populationVariance = (java.lang.Double)value$; break;
+    case 7: min = (java.lang.Double)value$; break;
+    case 8: max = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return The value of the 'identifier' field.
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'hourOfDay' field.
+   * @return The value of the 'hourOfDay' field.
+   */
+  public int getHourOfDay() {
+    return hourOfDay;
+  }
+
+
+  /**
+   * Sets the value of the 'hourOfDay' field.
+   * @param value the value to set.
+   */
+  public void setHourOfDay(int value) {
+    this.hourOfDay = value;
+  }
+
+  /**
+   * Gets the value of the 'periodStart' field.
+   * @return The value of the 'periodStart' field.
+   */
+  public long getPeriodStart() {
+    return periodStart;
+  }
+
+
+  /**
+   * Sets the value of the 'periodStart' field.
+   * @param value the value to set.
+   */
+  public void setPeriodStart(long value) {
+    this.periodStart = value;
+  }
+
+  /**
+   * Gets the value of the 'periodEnd' field.
+   * @return The value of the 'periodEnd' field.
+   */
+  public long getPeriodEnd() {
+    return periodEnd;
+  }
+
+
+  /**
+   * Sets the value of the 'periodEnd' field.
+   * @param value the value to set.
+   */
+  public void setPeriodEnd(long value) {
+    this.periodEnd = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return The value of the 'count' field.
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'mean' field.
+   * @return The value of the 'mean' field.
+   */
+  public double getMean() {
+    return mean;
+  }
+
+
+  /**
+   * Sets the value of the 'mean' field.
+   * @param value the value to set.
+   */
+  public void setMean(double value) {
+    this.mean = value;
+  }
+
+  /**
+   * Gets the value of the 'populationVariance' field.
+   * @return The value of the 'populationVariance' field.
+   */
+  public double getPopulationVariance() {
+    return populationVariance;
+  }
+
+
+  /**
+   * Sets the value of the 'populationVariance' field.
+   * @param value the value to set.
+   */
+  public void setPopulationVariance(double value) {
+    this.populationVariance = value;
+  }
+
+  /**
+   * Gets the value of the 'min' field.
+   * @return The value of the 'min' field.
+   */
+  public double getMin() {
+    return min;
+  }
+
+
+  /**
+   * Sets the value of the 'min' field.
+   * @param value the value to set.
+   */
+  public void setMin(double value) {
+    this.min = value;
+  }
+
+  /**
+   * Gets the value of the 'max' field.
+   * @return The value of the 'max' field.
+   */
+  public double getMax() {
+    return max;
+  }
+
+
+  /**
+   * Sets the value of the 'max' field.
+   * @param value the value to set.
+   */
+  public void setMax(double value) {
+    this.max = value;
+  }
+
+  /**
+   * Creates a new HourOfDayActivePowerRecord RecordBuilder.
+   * @return A new HourOfDayActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new HourOfDayActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new HourOfDayActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new HourOfDayActivePowerRecord RecordBuilder by copying an existing HourOfDayActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new HourOfDayActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for HourOfDayActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<HourOfDayActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<HourOfDayActivePowerRecord> {
+
+    private java.lang.String identifier;
+    private int hourOfDay;
+    private long periodStart;
+    private long periodEnd;
+    private long count;
+    private double mean;
+    private double populationVariance;
+    private double min;
+    private double max;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.hourOfDay)) {
+        this.hourOfDay = data().deepCopy(fields()[1].schema(), other.hourOfDay);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = other.fieldSetFlags()[5];
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = other.fieldSetFlags()[6];
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = other.fieldSetFlags()[7];
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = other.fieldSetFlags()[8];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing HourOfDayActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.hourOfDay)) {
+        this.hourOfDay = data().deepCopy(fields()[1].schema(), other.hourOfDay);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'hourOfDay' field.
+      * @return The value.
+      */
+    public int getHourOfDay() {
+      return hourOfDay;
+    }
+
+
+    /**
+      * Sets the value of the 'hourOfDay' field.
+      * @param value The value of 'hourOfDay'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setHourOfDay(int value) {
+      validate(fields()[1], value);
+      this.hourOfDay = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'hourOfDay' field has been set.
+      * @return True if the 'hourOfDay' field has been set, false otherwise.
+      */
+    public boolean hasHourOfDay() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'hourOfDay' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearHourOfDay() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodStart' field.
+      * @return The value.
+      */
+    public long getPeriodStart() {
+      return periodStart;
+    }
+
+
+    /**
+      * Sets the value of the 'periodStart' field.
+      * @param value The value of 'periodStart'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setPeriodStart(long value) {
+      validate(fields()[2], value);
+      this.periodStart = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodStart' field has been set.
+      * @return True if the 'periodStart' field has been set, false otherwise.
+      */
+    public boolean hasPeriodStart() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'periodStart' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearPeriodStart() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodEnd' field.
+      * @return The value.
+      */
+    public long getPeriodEnd() {
+      return periodEnd;
+    }
+
+
+    /**
+      * Sets the value of the 'periodEnd' field.
+      * @param value The value of 'periodEnd'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setPeriodEnd(long value) {
+      validate(fields()[3], value);
+      this.periodEnd = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodEnd' field has been set.
+      * @return True if the 'periodEnd' field has been set, false otherwise.
+      */
+    public boolean hasPeriodEnd() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'periodEnd' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearPeriodEnd() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[4], value);
+      this.count = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'mean' field.
+      * @return The value.
+      */
+    public double getMean() {
+      return mean;
+    }
+
+
+    /**
+      * Sets the value of the 'mean' field.
+      * @param value The value of 'mean'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setMean(double value) {
+      validate(fields()[5], value);
+      this.mean = value;
+      fieldSetFlags()[5] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'mean' field has been set.
+      * @return True if the 'mean' field has been set, false otherwise.
+      */
+    public boolean hasMean() {
+      return fieldSetFlags()[5];
+    }
+
+
+    /**
+      * Clears the value of the 'mean' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearMean() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'populationVariance' field.
+      * @return The value.
+      */
+    public double getPopulationVariance() {
+      return populationVariance;
+    }
+
+
+    /**
+      * Sets the value of the 'populationVariance' field.
+      * @param value The value of 'populationVariance'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setPopulationVariance(double value) {
+      validate(fields()[6], value);
+      this.populationVariance = value;
+      fieldSetFlags()[6] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'populationVariance' field has been set.
+      * @return True if the 'populationVariance' field has been set, false otherwise.
+      */
+    public boolean hasPopulationVariance() {
+      return fieldSetFlags()[6];
+    }
+
+
+    /**
+      * Clears the value of the 'populationVariance' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearPopulationVariance() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'min' field.
+      * @return The value.
+      */
+    public double getMin() {
+      return min;
+    }
+
+
+    /**
+      * Sets the value of the 'min' field.
+      * @param value The value of 'min'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setMin(double value) {
+      validate(fields()[7], value);
+      this.min = value;
+      fieldSetFlags()[7] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'min' field has been set.
+      * @return True if the 'min' field has been set, false otherwise.
+      */
+    public boolean hasMin() {
+      return fieldSetFlags()[7];
+    }
+
+
+    /**
+      * Clears the value of the 'min' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearMin() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'max' field.
+      * @return The value.
+      */
+    public double getMax() {
+      return max;
+    }
+
+
+    /**
+      * Sets the value of the 'max' field.
+      * @param value The value of 'max'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder setMax(double value) {
+      validate(fields()[8], value);
+      this.max = value;
+      fieldSetFlags()[8] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'max' field has been set.
+      * @return True if the 'max' field has been set, false otherwise.
+      */
+    public boolean hasMax() {
+      return fieldSetFlags()[8];
+    }
+
+
+    /**
+      * Clears the value of the 'max' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord.Builder clearMax() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public HourOfDayActivePowerRecord build() {
+      try {
+        HourOfDayActivePowerRecord record = new HourOfDayActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.hourOfDay = fieldSetFlags()[1] ? this.hourOfDay : (java.lang.Integer) defaultValue(fields()[1]);
+        record.periodStart = fieldSetFlags()[2] ? this.periodStart : (java.lang.Long) defaultValue(fields()[2]);
+        record.periodEnd = fieldSetFlags()[3] ? this.periodEnd : (java.lang.Long) defaultValue(fields()[3]);
+        record.count = fieldSetFlags()[4] ? this.count : (java.lang.Long) defaultValue(fields()[4]);
+        record.mean = fieldSetFlags()[5] ? this.mean : (java.lang.Double) defaultValue(fields()[5]);
+        record.populationVariance = fieldSetFlags()[6] ? this.populationVariance : (java.lang.Double) defaultValue(fields()[6]);
+        record.min = fieldSetFlags()[7] ? this.min : (java.lang.Double) defaultValue(fields()[7]);
+        record.max = fieldSetFlags()[8] ? this.max : (java.lang.Double) defaultValue(fields()[8]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<HourOfDayActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<HourOfDayActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<HourOfDayActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<HourOfDayActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeInt(this.hourOfDay);
+
+    out.writeLong(this.periodStart);
+
+    out.writeLong(this.periodEnd);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.mean);
+
+    out.writeDouble(this.populationVariance);
+
+    out.writeDouble(this.min);
+
+    out.writeDouble(this.max);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.hourOfDay = in.readInt();
+
+      this.periodStart = in.readLong();
+
+      this.periodEnd = in.readLong();
+
+      this.count = in.readLong();
+
+      this.mean = in.readDouble();
+
+      this.populationVariance = in.readDouble();
+
+      this.min = in.readDouble();
+
+      this.max = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 9; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.hourOfDay = in.readInt();
+          break;
+
+        case 2:
+          this.periodStart = in.readLong();
+          break;
+
+        case 3:
+          this.periodEnd = in.readLong();
+          break;
+
+        case 4:
+          this.count = in.readLong();
+          break;
+
+        case 5:
+          this.mean = in.readDouble();
+          break;
+
+        case 6:
+          this.populationVariance = in.readDouble();
+          break;
+
+        case 7:
+          this.min = in.readDouble();
+          break;
+
+        case 8:
+          this.max = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..112e1f7bc1c180e658367fb42b997405eb31a62c
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/HourOfWeekActivePowerRecord.java
@@ -0,0 +1,1024 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class HourOfWeekActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = -2060891996492175489L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"HourOfWeekActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"dayOfWeek\",\"type\":\"int\"},{\"name\":\"hourOfDay\",\"type\":\"int\"},{\"name\":\"periodStart\",\"type\":\"long\"},{\"name\":\"periodEnd\",\"type\":\"long\"},{\"name\":\"count\",\"type\":\"long\"},{\"name\":\"mean\",\"type\":\"double\"},{\"name\":\"populationVariance\",\"type\":\"double\"},{\"name\":\"min\",\"type\":\"double\"},{\"name\":\"max\",\"type\":\"double\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<HourOfWeekActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<HourOfWeekActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<HourOfWeekActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<HourOfWeekActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<HourOfWeekActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<HourOfWeekActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<HourOfWeekActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<HourOfWeekActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this HourOfWeekActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a HourOfWeekActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a HourOfWeekActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static HourOfWeekActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  private java.lang.String identifier;
+  private int dayOfWeek;
+  private int hourOfDay;
+  private long periodStart;
+  private long periodEnd;
+  private long count;
+  private double mean;
+  private double populationVariance;
+  private double min;
+  private double max;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public HourOfWeekActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier The new value for identifier
+   * @param dayOfWeek The new value for dayOfWeek
+   * @param hourOfDay The new value for hourOfDay
+   * @param periodStart The new value for periodStart
+   * @param periodEnd The new value for periodEnd
+   * @param count The new value for count
+   * @param mean The new value for mean
+   * @param populationVariance The new value for populationVariance
+   * @param min The new value for min
+   * @param max The new value for max
+   */
+  public HourOfWeekActivePowerRecord(java.lang.String identifier, java.lang.Integer dayOfWeek, java.lang.Integer hourOfDay, java.lang.Long periodStart, java.lang.Long periodEnd, java.lang.Long count, java.lang.Double mean, java.lang.Double populationVariance, java.lang.Double min, java.lang.Double max) {
+    this.identifier = identifier;
+    this.dayOfWeek = dayOfWeek;
+    this.hourOfDay = hourOfDay;
+    this.periodStart = periodStart;
+    this.periodEnd = periodEnd;
+    this.count = count;
+    this.mean = mean;
+    this.populationVariance = populationVariance;
+    this.min = min;
+    this.max = max;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return dayOfWeek;
+    case 2: return hourOfDay;
+    case 3: return periodStart;
+    case 4: return periodEnd;
+    case 5: return count;
+    case 6: return mean;
+    case 7: return populationVariance;
+    case 8: return min;
+    case 9: return max;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: dayOfWeek = (java.lang.Integer)value$; break;
+    case 2: hourOfDay = (java.lang.Integer)value$; break;
+    case 3: periodStart = (java.lang.Long)value$; break;
+    case 4: periodEnd = (java.lang.Long)value$; break;
+    case 5: count = (java.lang.Long)value$; break;
+    case 6: mean = (java.lang.Double)value$; break;
+    case 7: populationVariance = (java.lang.Double)value$; break;
+    case 8: min = (java.lang.Double)value$; break;
+    case 9: max = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return The value of the 'identifier' field.
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'dayOfWeek' field.
+   * @return The value of the 'dayOfWeek' field.
+   */
+  public int getDayOfWeek() {
+    return dayOfWeek;
+  }
+
+
+  /**
+   * Sets the value of the 'dayOfWeek' field.
+   * @param value the value to set.
+   */
+  public void setDayOfWeek(int value) {
+    this.dayOfWeek = value;
+  }
+
+  /**
+   * Gets the value of the 'hourOfDay' field.
+   * @return The value of the 'hourOfDay' field.
+   */
+  public int getHourOfDay() {
+    return hourOfDay;
+  }
+
+
+  /**
+   * Sets the value of the 'hourOfDay' field.
+   * @param value the value to set.
+   */
+  public void setHourOfDay(int value) {
+    this.hourOfDay = value;
+  }
+
+  /**
+   * Gets the value of the 'periodStart' field.
+   * @return The value of the 'periodStart' field.
+   */
+  public long getPeriodStart() {
+    return periodStart;
+  }
+
+
+  /**
+   * Sets the value of the 'periodStart' field.
+   * @param value the value to set.
+   */
+  public void setPeriodStart(long value) {
+    this.periodStart = value;
+  }
+
+  /**
+   * Gets the value of the 'periodEnd' field.
+   * @return The value of the 'periodEnd' field.
+   */
+  public long getPeriodEnd() {
+    return periodEnd;
+  }
+
+
+  /**
+   * Sets the value of the 'periodEnd' field.
+   * @param value the value to set.
+   */
+  public void setPeriodEnd(long value) {
+    this.periodEnd = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return The value of the 'count' field.
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'mean' field.
+   * @return The value of the 'mean' field.
+   */
+  public double getMean() {
+    return mean;
+  }
+
+
+  /**
+   * Sets the value of the 'mean' field.
+   * @param value the value to set.
+   */
+  public void setMean(double value) {
+    this.mean = value;
+  }
+
+  /**
+   * Gets the value of the 'populationVariance' field.
+   * @return The value of the 'populationVariance' field.
+   */
+  public double getPopulationVariance() {
+    return populationVariance;
+  }
+
+
+  /**
+   * Sets the value of the 'populationVariance' field.
+   * @param value the value to set.
+   */
+  public void setPopulationVariance(double value) {
+    this.populationVariance = value;
+  }
+
+  /**
+   * Gets the value of the 'min' field.
+   * @return The value of the 'min' field.
+   */
+  public double getMin() {
+    return min;
+  }
+
+
+  /**
+   * Sets the value of the 'min' field.
+   * @param value the value to set.
+   */
+  public void setMin(double value) {
+    this.min = value;
+  }
+
+  /**
+   * Gets the value of the 'max' field.
+   * @return The value of the 'max' field.
+   */
+  public double getMax() {
+    return max;
+  }
+
+
+  /**
+   * Sets the value of the 'max' field.
+   * @param value the value to set.
+   */
+  public void setMax(double value) {
+    this.max = value;
+  }
+
+  /**
+   * Creates a new HourOfWeekActivePowerRecord RecordBuilder.
+   * @return A new HourOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new HourOfWeekActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new HourOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new HourOfWeekActivePowerRecord RecordBuilder by copying an existing HourOfWeekActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new HourOfWeekActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for HourOfWeekActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<HourOfWeekActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<HourOfWeekActivePowerRecord> {
+
+    private java.lang.String identifier;
+    private int dayOfWeek;
+    private int hourOfDay;
+    private long periodStart;
+    private long periodEnd;
+    private long count;
+    private double mean;
+    private double populationVariance;
+    private double min;
+    private double max;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.dayOfWeek)) {
+        this.dayOfWeek = data().deepCopy(fields()[1].schema(), other.dayOfWeek);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.hourOfDay)) {
+        this.hourOfDay = data().deepCopy(fields()[2].schema(), other.hourOfDay);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[3].schema(), other.periodStart);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[4].schema(), other.periodEnd);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+      if (isValidValue(fields()[5], other.count)) {
+        this.count = data().deepCopy(fields()[5].schema(), other.count);
+        fieldSetFlags()[5] = other.fieldSetFlags()[5];
+      }
+      if (isValidValue(fields()[6], other.mean)) {
+        this.mean = data().deepCopy(fields()[6].schema(), other.mean);
+        fieldSetFlags()[6] = other.fieldSetFlags()[6];
+      }
+      if (isValidValue(fields()[7], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[7].schema(), other.populationVariance);
+        fieldSetFlags()[7] = other.fieldSetFlags()[7];
+      }
+      if (isValidValue(fields()[8], other.min)) {
+        this.min = data().deepCopy(fields()[8].schema(), other.min);
+        fieldSetFlags()[8] = other.fieldSetFlags()[8];
+      }
+      if (isValidValue(fields()[9], other.max)) {
+        this.max = data().deepCopy(fields()[9].schema(), other.max);
+        fieldSetFlags()[9] = other.fieldSetFlags()[9];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing HourOfWeekActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.dayOfWeek)) {
+        this.dayOfWeek = data().deepCopy(fields()[1].schema(), other.dayOfWeek);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.hourOfDay)) {
+        this.hourOfDay = data().deepCopy(fields()[2].schema(), other.hourOfDay);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[3].schema(), other.periodStart);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[4].schema(), other.periodEnd);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.count)) {
+        this.count = data().deepCopy(fields()[5].schema(), other.count);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.mean)) {
+        this.mean = data().deepCopy(fields()[6].schema(), other.mean);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[7].schema(), other.populationVariance);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.min)) {
+        this.min = data().deepCopy(fields()[8].schema(), other.min);
+        fieldSetFlags()[8] = true;
+      }
+      if (isValidValue(fields()[9], other.max)) {
+        this.max = data().deepCopy(fields()[9].schema(), other.max);
+        fieldSetFlags()[9] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'dayOfWeek' field.
+      * @return The value.
+      */
+    public int getDayOfWeek() {
+      return dayOfWeek;
+    }
+
+
+    /**
+      * Sets the value of the 'dayOfWeek' field.
+      * @param value The value of 'dayOfWeek'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setDayOfWeek(int value) {
+      validate(fields()[1], value);
+      this.dayOfWeek = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'dayOfWeek' field has been set.
+      * @return True if the 'dayOfWeek' field has been set, false otherwise.
+      */
+    public boolean hasDayOfWeek() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'dayOfWeek' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearDayOfWeek() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'hourOfDay' field.
+      * @return The value.
+      */
+    public int getHourOfDay() {
+      return hourOfDay;
+    }
+
+
+    /**
+      * Sets the value of the 'hourOfDay' field.
+      * @param value The value of 'hourOfDay'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setHourOfDay(int value) {
+      validate(fields()[2], value);
+      this.hourOfDay = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'hourOfDay' field has been set.
+      * @return True if the 'hourOfDay' field has been set, false otherwise.
+      */
+    public boolean hasHourOfDay() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'hourOfDay' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearHourOfDay() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodStart' field.
+      * @return The value.
+      */
+    public long getPeriodStart() {
+      return periodStart;
+    }
+
+
+    /**
+      * Sets the value of the 'periodStart' field.
+      * @param value The value of 'periodStart'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setPeriodStart(long value) {
+      validate(fields()[3], value);
+      this.periodStart = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodStart' field has been set.
+      * @return True if the 'periodStart' field has been set, false otherwise.
+      */
+    public boolean hasPeriodStart() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'periodStart' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearPeriodStart() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodEnd' field.
+      * @return The value.
+      */
+    public long getPeriodEnd() {
+      return periodEnd;
+    }
+
+
+    /**
+      * Sets the value of the 'periodEnd' field.
+      * @param value The value of 'periodEnd'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setPeriodEnd(long value) {
+      validate(fields()[4], value);
+      this.periodEnd = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodEnd' field has been set.
+      * @return True if the 'periodEnd' field has been set, false otherwise.
+      */
+    public boolean hasPeriodEnd() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'periodEnd' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearPeriodEnd() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[5], value);
+      this.count = value;
+      fieldSetFlags()[5] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[5];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'mean' field.
+      * @return The value.
+      */
+    public double getMean() {
+      return mean;
+    }
+
+
+    /**
+      * Sets the value of the 'mean' field.
+      * @param value The value of 'mean'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setMean(double value) {
+      validate(fields()[6], value);
+      this.mean = value;
+      fieldSetFlags()[6] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'mean' field has been set.
+      * @return True if the 'mean' field has been set, false otherwise.
+      */
+    public boolean hasMean() {
+      return fieldSetFlags()[6];
+    }
+
+
+    /**
+      * Clears the value of the 'mean' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearMean() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'populationVariance' field.
+      * @return The value.
+      */
+    public double getPopulationVariance() {
+      return populationVariance;
+    }
+
+
+    /**
+      * Sets the value of the 'populationVariance' field.
+      * @param value The value of 'populationVariance'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setPopulationVariance(double value) {
+      validate(fields()[7], value);
+      this.populationVariance = value;
+      fieldSetFlags()[7] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'populationVariance' field has been set.
+      * @return True if the 'populationVariance' field has been set, false otherwise.
+      */
+    public boolean hasPopulationVariance() {
+      return fieldSetFlags()[7];
+    }
+
+
+    /**
+      * Clears the value of the 'populationVariance' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearPopulationVariance() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'min' field.
+      * @return The value.
+      */
+    public double getMin() {
+      return min;
+    }
+
+
+    /**
+      * Sets the value of the 'min' field.
+      * @param value The value of 'min'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setMin(double value) {
+      validate(fields()[8], value);
+      this.min = value;
+      fieldSetFlags()[8] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'min' field has been set.
+      * @return True if the 'min' field has been set, false otherwise.
+      */
+    public boolean hasMin() {
+      return fieldSetFlags()[8];
+    }
+
+
+    /**
+      * Clears the value of the 'min' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearMin() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'max' field.
+      * @return The value.
+      */
+    public double getMax() {
+      return max;
+    }
+
+
+    /**
+      * Sets the value of the 'max' field.
+      * @param value The value of 'max'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder setMax(double value) {
+      validate(fields()[9], value);
+      this.max = value;
+      fieldSetFlags()[9] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'max' field has been set.
+      * @return True if the 'max' field has been set, false otherwise.
+      */
+    public boolean hasMax() {
+      return fieldSetFlags()[9];
+    }
+
+
+    /**
+      * Clears the value of the 'max' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.HourOfWeekActivePowerRecord.Builder clearMax() {
+      fieldSetFlags()[9] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public HourOfWeekActivePowerRecord build() {
+      try {
+        HourOfWeekActivePowerRecord record = new HourOfWeekActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.dayOfWeek = fieldSetFlags()[1] ? this.dayOfWeek : (java.lang.Integer) defaultValue(fields()[1]);
+        record.hourOfDay = fieldSetFlags()[2] ? this.hourOfDay : (java.lang.Integer) defaultValue(fields()[2]);
+        record.periodStart = fieldSetFlags()[3] ? this.periodStart : (java.lang.Long) defaultValue(fields()[3]);
+        record.periodEnd = fieldSetFlags()[4] ? this.periodEnd : (java.lang.Long) defaultValue(fields()[4]);
+        record.count = fieldSetFlags()[5] ? this.count : (java.lang.Long) defaultValue(fields()[5]);
+        record.mean = fieldSetFlags()[6] ? this.mean : (java.lang.Double) defaultValue(fields()[6]);
+        record.populationVariance = fieldSetFlags()[7] ? this.populationVariance : (java.lang.Double) defaultValue(fields()[7]);
+        record.min = fieldSetFlags()[8] ? this.min : (java.lang.Double) defaultValue(fields()[8]);
+        record.max = fieldSetFlags()[9] ? this.max : (java.lang.Double) defaultValue(fields()[9]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<HourOfWeekActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<HourOfWeekActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<HourOfWeekActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<HourOfWeekActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeInt(this.dayOfWeek);
+
+    out.writeInt(this.hourOfDay);
+
+    out.writeLong(this.periodStart);
+
+    out.writeLong(this.periodEnd);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.mean);
+
+    out.writeDouble(this.populationVariance);
+
+    out.writeDouble(this.min);
+
+    out.writeDouble(this.max);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.dayOfWeek = in.readInt();
+
+      this.hourOfDay = in.readInt();
+
+      this.periodStart = in.readLong();
+
+      this.periodEnd = in.readLong();
+
+      this.count = in.readLong();
+
+      this.mean = in.readDouble();
+
+      this.populationVariance = in.readDouble();
+
+      this.min = in.readDouble();
+
+      this.max = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 10; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.dayOfWeek = in.readInt();
+          break;
+
+        case 2:
+          this.hourOfDay = in.readInt();
+          break;
+
+        case 3:
+          this.periodStart = in.readLong();
+          break;
+
+        case 4:
+          this.periodEnd = in.readLong();
+          break;
+
+        case 5:
+          this.count = in.readLong();
+          break;
+
+        case 6:
+          this.mean = in.readDouble();
+          break;
+
+        case 7:
+          this.populationVariance = in.readDouble();
+          break;
+
+        case 8:
+          this.min = in.readDouble();
+          break;
+
+        case 9:
+          this.max = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c1cd52fee2fd703e0f98bfdc0bf08b069321952
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/MonthOfYearActivePowerRecord.java
@@ -0,0 +1,945 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class MonthOfYearActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = -6007754522109150657L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"MonthOfYearActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"monthOfYear\",\"type\":\"int\"},{\"name\":\"periodStart\",\"type\":\"long\"},{\"name\":\"periodEnd\",\"type\":\"long\"},{\"name\":\"count\",\"type\":\"long\"},{\"name\":\"mean\",\"type\":\"double\"},{\"name\":\"populationVariance\",\"type\":\"double\"},{\"name\":\"min\",\"type\":\"double\"},{\"name\":\"max\",\"type\":\"double\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<MonthOfYearActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<MonthOfYearActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<MonthOfYearActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<MonthOfYearActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<MonthOfYearActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<MonthOfYearActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<MonthOfYearActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<MonthOfYearActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this MonthOfYearActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a MonthOfYearActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a MonthOfYearActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static MonthOfYearActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  private java.lang.String identifier;
+  private int monthOfYear;
+  private long periodStart;
+  private long periodEnd;
+  private long count;
+  private double mean;
+  private double populationVariance;
+  private double min;
+  private double max;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public MonthOfYearActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier The new value for identifier
+   * @param monthOfYear The new value for monthOfYear
+   * @param periodStart The new value for periodStart
+   * @param periodEnd The new value for periodEnd
+   * @param count The new value for count
+   * @param mean The new value for mean
+   * @param populationVariance The new value for populationVariance
+   * @param min The new value for min
+   * @param max The new value for max
+   */
+  public MonthOfYearActivePowerRecord(java.lang.String identifier, java.lang.Integer monthOfYear, java.lang.Long periodStart, java.lang.Long periodEnd, java.lang.Long count, java.lang.Double mean, java.lang.Double populationVariance, java.lang.Double min, java.lang.Double max) {
+    this.identifier = identifier;
+    this.monthOfYear = monthOfYear;
+    this.periodStart = periodStart;
+    this.periodEnd = periodEnd;
+    this.count = count;
+    this.mean = mean;
+    this.populationVariance = populationVariance;
+    this.min = min;
+    this.max = max;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return monthOfYear;
+    case 2: return periodStart;
+    case 3: return periodEnd;
+    case 4: return count;
+    case 5: return mean;
+    case 6: return populationVariance;
+    case 7: return min;
+    case 8: return max;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: monthOfYear = (java.lang.Integer)value$; break;
+    case 2: periodStart = (java.lang.Long)value$; break;
+    case 3: periodEnd = (java.lang.Long)value$; break;
+    case 4: count = (java.lang.Long)value$; break;
+    case 5: mean = (java.lang.Double)value$; break;
+    case 6: populationVariance = (java.lang.Double)value$; break;
+    case 7: min = (java.lang.Double)value$; break;
+    case 8: max = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return The value of the 'identifier' field.
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'monthOfYear' field.
+   * @return The value of the 'monthOfYear' field.
+   */
+  public int getMonthOfYear() {
+    return monthOfYear;
+  }
+
+
+  /**
+   * Sets the value of the 'monthOfYear' field.
+   * @param value the value to set.
+   */
+  public void setMonthOfYear(int value) {
+    this.monthOfYear = value;
+  }
+
+  /**
+   * Gets the value of the 'periodStart' field.
+   * @return The value of the 'periodStart' field.
+   */
+  public long getPeriodStart() {
+    return periodStart;
+  }
+
+
+  /**
+   * Sets the value of the 'periodStart' field.
+   * @param value the value to set.
+   */
+  public void setPeriodStart(long value) {
+    this.periodStart = value;
+  }
+
+  /**
+   * Gets the value of the 'periodEnd' field.
+   * @return The value of the 'periodEnd' field.
+   */
+  public long getPeriodEnd() {
+    return periodEnd;
+  }
+
+
+  /**
+   * Sets the value of the 'periodEnd' field.
+   * @param value the value to set.
+   */
+  public void setPeriodEnd(long value) {
+    this.periodEnd = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return The value of the 'count' field.
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'mean' field.
+   * @return The value of the 'mean' field.
+   */
+  public double getMean() {
+    return mean;
+  }
+
+
+  /**
+   * Sets the value of the 'mean' field.
+   * @param value the value to set.
+   */
+  public void setMean(double value) {
+    this.mean = value;
+  }
+
+  /**
+   * Gets the value of the 'populationVariance' field.
+   * @return The value of the 'populationVariance' field.
+   */
+  public double getPopulationVariance() {
+    return populationVariance;
+  }
+
+
+  /**
+   * Sets the value of the 'populationVariance' field.
+   * @param value the value to set.
+   */
+  public void setPopulationVariance(double value) {
+    this.populationVariance = value;
+  }
+
+  /**
+   * Gets the value of the 'min' field.
+   * @return The value of the 'min' field.
+   */
+  public double getMin() {
+    return min;
+  }
+
+
+  /**
+   * Sets the value of the 'min' field.
+   * @param value the value to set.
+   */
+  public void setMin(double value) {
+    this.min = value;
+  }
+
+  /**
+   * Gets the value of the 'max' field.
+   * @return The value of the 'max' field.
+   */
+  public double getMax() {
+    return max;
+  }
+
+
+  /**
+   * Sets the value of the 'max' field.
+   * @param value the value to set.
+   */
+  public void setMax(double value) {
+    this.max = value;
+  }
+
+  /**
+   * Creates a new MonthOfYearActivePowerRecord RecordBuilder.
+   * @return A new MonthOfYearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new MonthOfYearActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new MonthOfYearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new MonthOfYearActivePowerRecord RecordBuilder by copying an existing MonthOfYearActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new MonthOfYearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for MonthOfYearActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<MonthOfYearActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<MonthOfYearActivePowerRecord> {
+
+    private java.lang.String identifier;
+    private int monthOfYear;
+    private long periodStart;
+    private long periodEnd;
+    private long count;
+    private double mean;
+    private double populationVariance;
+    private double min;
+    private double max;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.monthOfYear)) {
+        this.monthOfYear = data().deepCopy(fields()[1].schema(), other.monthOfYear);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = other.fieldSetFlags()[5];
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = other.fieldSetFlags()[6];
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = other.fieldSetFlags()[7];
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = other.fieldSetFlags()[8];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing MonthOfYearActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.monthOfYear)) {
+        this.monthOfYear = data().deepCopy(fields()[1].schema(), other.monthOfYear);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'monthOfYear' field.
+      * @return The value.
+      */
+    public int getMonthOfYear() {
+      return monthOfYear;
+    }
+
+
+    /**
+      * Sets the value of the 'monthOfYear' field.
+      * @param value The value of 'monthOfYear'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setMonthOfYear(int value) {
+      validate(fields()[1], value);
+      this.monthOfYear = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'monthOfYear' field has been set.
+      * @return True if the 'monthOfYear' field has been set, false otherwise.
+      */
+    public boolean hasMonthOfYear() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'monthOfYear' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearMonthOfYear() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodStart' field.
+      * @return The value.
+      */
+    public long getPeriodStart() {
+      return periodStart;
+    }
+
+
+    /**
+      * Sets the value of the 'periodStart' field.
+      * @param value The value of 'periodStart'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setPeriodStart(long value) {
+      validate(fields()[2], value);
+      this.periodStart = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodStart' field has been set.
+      * @return True if the 'periodStart' field has been set, false otherwise.
+      */
+    public boolean hasPeriodStart() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'periodStart' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearPeriodStart() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodEnd' field.
+      * @return The value.
+      */
+    public long getPeriodEnd() {
+      return periodEnd;
+    }
+
+
+    /**
+      * Sets the value of the 'periodEnd' field.
+      * @param value The value of 'periodEnd'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setPeriodEnd(long value) {
+      validate(fields()[3], value);
+      this.periodEnd = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodEnd' field has been set.
+      * @return True if the 'periodEnd' field has been set, false otherwise.
+      */
+    public boolean hasPeriodEnd() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'periodEnd' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearPeriodEnd() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[4], value);
+      this.count = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'mean' field.
+      * @return The value.
+      */
+    public double getMean() {
+      return mean;
+    }
+
+
+    /**
+      * Sets the value of the 'mean' field.
+      * @param value The value of 'mean'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setMean(double value) {
+      validate(fields()[5], value);
+      this.mean = value;
+      fieldSetFlags()[5] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'mean' field has been set.
+      * @return True if the 'mean' field has been set, false otherwise.
+      */
+    public boolean hasMean() {
+      return fieldSetFlags()[5];
+    }
+
+
+    /**
+      * Clears the value of the 'mean' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearMean() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'populationVariance' field.
+      * @return The value.
+      */
+    public double getPopulationVariance() {
+      return populationVariance;
+    }
+
+
+    /**
+      * Sets the value of the 'populationVariance' field.
+      * @param value The value of 'populationVariance'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setPopulationVariance(double value) {
+      validate(fields()[6], value);
+      this.populationVariance = value;
+      fieldSetFlags()[6] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'populationVariance' field has been set.
+      * @return True if the 'populationVariance' field has been set, false otherwise.
+      */
+    public boolean hasPopulationVariance() {
+      return fieldSetFlags()[6];
+    }
+
+
+    /**
+      * Clears the value of the 'populationVariance' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearPopulationVariance() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'min' field.
+      * @return The value.
+      */
+    public double getMin() {
+      return min;
+    }
+
+
+    /**
+      * Sets the value of the 'min' field.
+      * @param value The value of 'min'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setMin(double value) {
+      validate(fields()[7], value);
+      this.min = value;
+      fieldSetFlags()[7] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'min' field has been set.
+      * @return True if the 'min' field has been set, false otherwise.
+      */
+    public boolean hasMin() {
+      return fieldSetFlags()[7];
+    }
+
+
+    /**
+      * Clears the value of the 'min' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearMin() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'max' field.
+      * @return The value.
+      */
+    public double getMax() {
+      return max;
+    }
+
+
+    /**
+      * Sets the value of the 'max' field.
+      * @param value The value of 'max'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder setMax(double value) {
+      validate(fields()[8], value);
+      this.max = value;
+      fieldSetFlags()[8] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'max' field has been set.
+      * @return True if the 'max' field has been set, false otherwise.
+      */
+    public boolean hasMax() {
+      return fieldSetFlags()[8];
+    }
+
+
+    /**
+      * Clears the value of the 'max' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.MonthOfYearActivePowerRecord.Builder clearMax() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public MonthOfYearActivePowerRecord build() {
+      try {
+        MonthOfYearActivePowerRecord record = new MonthOfYearActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.monthOfYear = fieldSetFlags()[1] ? this.monthOfYear : (java.lang.Integer) defaultValue(fields()[1]);
+        record.periodStart = fieldSetFlags()[2] ? this.periodStart : (java.lang.Long) defaultValue(fields()[2]);
+        record.periodEnd = fieldSetFlags()[3] ? this.periodEnd : (java.lang.Long) defaultValue(fields()[3]);
+        record.count = fieldSetFlags()[4] ? this.count : (java.lang.Long) defaultValue(fields()[4]);
+        record.mean = fieldSetFlags()[5] ? this.mean : (java.lang.Double) defaultValue(fields()[5]);
+        record.populationVariance = fieldSetFlags()[6] ? this.populationVariance : (java.lang.Double) defaultValue(fields()[6]);
+        record.min = fieldSetFlags()[7] ? this.min : (java.lang.Double) defaultValue(fields()[7]);
+        record.max = fieldSetFlags()[8] ? this.max : (java.lang.Double) defaultValue(fields()[8]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<MonthOfYearActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<MonthOfYearActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<MonthOfYearActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<MonthOfYearActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeInt(this.monthOfYear);
+
+    out.writeLong(this.periodStart);
+
+    out.writeLong(this.periodEnd);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.mean);
+
+    out.writeDouble(this.populationVariance);
+
+    out.writeDouble(this.min);
+
+    out.writeDouble(this.max);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.monthOfYear = in.readInt();
+
+      this.periodStart = in.readLong();
+
+      this.periodEnd = in.readLong();
+
+      this.count = in.readLong();
+
+      this.mean = in.readDouble();
+
+      this.populationVariance = in.readDouble();
+
+      this.min = in.readDouble();
+
+      this.max = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 9; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.monthOfYear = in.readInt();
+          break;
+
+        case 2:
+          this.periodStart = in.readLong();
+          break;
+
+        case 3:
+          this.periodEnd = in.readLong();
+          break;
+
+        case 4:
+          this.count = in.readLong();
+          break;
+
+        case 5:
+          this.mean = in.readDouble();
+          break;
+
+        case 6:
+          this.populationVariance = in.readDouble();
+          break;
+
+        case 7:
+          this.min = in.readDouble();
+          break;
+
+        case 8:
+          this.max = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.java b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.java
new file mode 100644
index 0000000000000000000000000000000000000000..0471c825551cc048e5e553309ddf2751b6e7ba3d
--- /dev/null
+++ b/theodolite-benchmarks/commons/src-gen/main/java/rocks/theodolite/benchmarks/commons/model/records/YearActivePowerRecord.java
@@ -0,0 +1,945 @@
+/**
+ * Autogenerated by Avro
+ *
+ * DO NOT EDIT DIRECTLY
+ */
+package rocks.theodolite.benchmarks.commons.model.records;
+
+import org.apache.avro.generic.GenericArray;
+import org.apache.avro.specific.SpecificData;
+import org.apache.avro.util.Utf8;
+import org.apache.avro.message.BinaryMessageEncoder;
+import org.apache.avro.message.BinaryMessageDecoder;
+import org.apache.avro.message.SchemaStore;
+
+@org.apache.avro.specific.AvroGenerated
+public class YearActivePowerRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  private static final long serialVersionUID = 1269303032337461873L;
+
+
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"YearActivePowerRecord\",\"namespace\":\"rocks.theodolite.benchmarks.commons.model.records\",\"fields\":[{\"name\":\"identifier\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"year\",\"type\":\"int\"},{\"name\":\"periodStart\",\"type\":\"long\"},{\"name\":\"periodEnd\",\"type\":\"long\"},{\"name\":\"count\",\"type\":\"long\"},{\"name\":\"mean\",\"type\":\"double\"},{\"name\":\"populationVariance\",\"type\":\"double\"},{\"name\":\"min\",\"type\":\"double\"},{\"name\":\"max\",\"type\":\"double\"}]}");
+  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
+
+  private static final SpecificData MODEL$ = new SpecificData();
+
+  private static final BinaryMessageEncoder<YearActivePowerRecord> ENCODER =
+      new BinaryMessageEncoder<YearActivePowerRecord>(MODEL$, SCHEMA$);
+
+  private static final BinaryMessageDecoder<YearActivePowerRecord> DECODER =
+      new BinaryMessageDecoder<YearActivePowerRecord>(MODEL$, SCHEMA$);
+
+  /**
+   * Return the BinaryMessageEncoder instance used by this class.
+   * @return the message encoder used by this class
+   */
+  public static BinaryMessageEncoder<YearActivePowerRecord> getEncoder() {
+    return ENCODER;
+  }
+
+  /**
+   * Return the BinaryMessageDecoder instance used by this class.
+   * @return the message decoder used by this class
+   */
+  public static BinaryMessageDecoder<YearActivePowerRecord> getDecoder() {
+    return DECODER;
+  }
+
+  /**
+   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
+   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
+   * @return a BinaryMessageDecoder instance for this class backed by the given SchemaStore
+   */
+  public static BinaryMessageDecoder<YearActivePowerRecord> createDecoder(SchemaStore resolver) {
+    return new BinaryMessageDecoder<YearActivePowerRecord>(MODEL$, SCHEMA$, resolver);
+  }
+
+  /**
+   * Serializes this YearActivePowerRecord to a ByteBuffer.
+   * @return a buffer holding the serialized data for this instance
+   * @throws java.io.IOException if this instance could not be serialized
+   */
+  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
+    return ENCODER.encode(this);
+  }
+
+  /**
+   * Deserializes a YearActivePowerRecord from a ByteBuffer.
+   * @param b a byte buffer holding serialized data for an instance of this class
+   * @return a YearActivePowerRecord instance decoded from the given buffer
+   * @throws java.io.IOException if the given bytes could not be deserialized into an instance of this class
+   */
+  public static YearActivePowerRecord fromByteBuffer(
+      java.nio.ByteBuffer b) throws java.io.IOException {
+    return DECODER.decode(b);
+  }
+
+  private java.lang.String identifier;
+  private int year;
+  private long periodStart;
+  private long periodEnd;
+  private long count;
+  private double mean;
+  private double populationVariance;
+  private double min;
+  private double max;
+
+  /**
+   * Default constructor.  Note that this does not initialize fields
+   * to their default values from the schema.  If that is desired then
+   * one should use <code>newBuilder()</code>.
+   */
+  public YearActivePowerRecord() {}
+
+  /**
+   * All-args constructor.
+   * @param identifier The new value for identifier
+   * @param year The new value for year
+   * @param periodStart The new value for periodStart
+   * @param periodEnd The new value for periodEnd
+   * @param count The new value for count
+   * @param mean The new value for mean
+   * @param populationVariance The new value for populationVariance
+   * @param min The new value for min
+   * @param max The new value for max
+   */
+  public YearActivePowerRecord(java.lang.String identifier, java.lang.Integer year, java.lang.Long periodStart, java.lang.Long periodEnd, java.lang.Long count, java.lang.Double mean, java.lang.Double populationVariance, java.lang.Double min, java.lang.Double max) {
+    this.identifier = identifier;
+    this.year = year;
+    this.periodStart = periodStart;
+    this.periodEnd = periodEnd;
+    this.count = count;
+    this.mean = mean;
+    this.populationVariance = populationVariance;
+    this.min = min;
+    this.max = max;
+  }
+
+  public org.apache.avro.specific.SpecificData getSpecificData() { return MODEL$; }
+  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+  // Used by DatumWriter.  Applications should not call.
+  public java.lang.Object get(int field$) {
+    switch (field$) {
+    case 0: return identifier;
+    case 1: return year;
+    case 2: return periodStart;
+    case 3: return periodEnd;
+    case 4: return count;
+    case 5: return mean;
+    case 6: return populationVariance;
+    case 7: return min;
+    case 8: return max;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  // Used by DatumReader.  Applications should not call.
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: identifier = value$ != null ? value$.toString() : null; break;
+    case 1: year = (java.lang.Integer)value$; break;
+    case 2: periodStart = (java.lang.Long)value$; break;
+    case 3: periodEnd = (java.lang.Long)value$; break;
+    case 4: count = (java.lang.Long)value$; break;
+    case 5: mean = (java.lang.Double)value$; break;
+    case 6: populationVariance = (java.lang.Double)value$; break;
+    case 7: min = (java.lang.Double)value$; break;
+    case 8: max = (java.lang.Double)value$; break;
+    default: throw new IndexOutOfBoundsException("Invalid index: " + field$);
+    }
+  }
+
+  /**
+   * Gets the value of the 'identifier' field.
+   * @return The value of the 'identifier' field.
+   */
+  public java.lang.String getIdentifier() {
+    return identifier;
+  }
+
+
+  /**
+   * Sets the value of the 'identifier' field.
+   * @param value the value to set.
+   */
+  public void setIdentifier(java.lang.String value) {
+    this.identifier = value;
+  }
+
+  /**
+   * Gets the value of the 'year' field.
+   * @return The value of the 'year' field.
+   */
+  public int getYear() {
+    return year;
+  }
+
+
+  /**
+   * Sets the value of the 'year' field.
+   * @param value the value to set.
+   */
+  public void setYear(int value) {
+    this.year = value;
+  }
+
+  /**
+   * Gets the value of the 'periodStart' field.
+   * @return The value of the 'periodStart' field.
+   */
+  public long getPeriodStart() {
+    return periodStart;
+  }
+
+
+  /**
+   * Sets the value of the 'periodStart' field.
+   * @param value the value to set.
+   */
+  public void setPeriodStart(long value) {
+    this.periodStart = value;
+  }
+
+  /**
+   * Gets the value of the 'periodEnd' field.
+   * @return The value of the 'periodEnd' field.
+   */
+  public long getPeriodEnd() {
+    return periodEnd;
+  }
+
+
+  /**
+   * Sets the value of the 'periodEnd' field.
+   * @param value the value to set.
+   */
+  public void setPeriodEnd(long value) {
+    this.periodEnd = value;
+  }
+
+  /**
+   * Gets the value of the 'count' field.
+   * @return The value of the 'count' field.
+   */
+  public long getCount() {
+    return count;
+  }
+
+
+  /**
+   * Sets the value of the 'count' field.
+   * @param value the value to set.
+   */
+  public void setCount(long value) {
+    this.count = value;
+  }
+
+  /**
+   * Gets the value of the 'mean' field.
+   * @return The value of the 'mean' field.
+   */
+  public double getMean() {
+    return mean;
+  }
+
+
+  /**
+   * Sets the value of the 'mean' field.
+   * @param value the value to set.
+   */
+  public void setMean(double value) {
+    this.mean = value;
+  }
+
+  /**
+   * Gets the value of the 'populationVariance' field.
+   * @return The value of the 'populationVariance' field.
+   */
+  public double getPopulationVariance() {
+    return populationVariance;
+  }
+
+
+  /**
+   * Sets the value of the 'populationVariance' field.
+   * @param value the value to set.
+   */
+  public void setPopulationVariance(double value) {
+    this.populationVariance = value;
+  }
+
+  /**
+   * Gets the value of the 'min' field.
+   * @return The value of the 'min' field.
+   */
+  public double getMin() {
+    return min;
+  }
+
+
+  /**
+   * Sets the value of the 'min' field.
+   * @param value the value to set.
+   */
+  public void setMin(double value) {
+    this.min = value;
+  }
+
+  /**
+   * Gets the value of the 'max' field.
+   * @return The value of the 'max' field.
+   */
+  public double getMax() {
+    return max;
+  }
+
+
+  /**
+   * Sets the value of the 'max' field.
+   * @param value the value to set.
+   */
+  public void setMax(double value) {
+    this.max = value;
+  }
+
+  /**
+   * Creates a new YearActivePowerRecord RecordBuilder.
+   * @return A new YearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder newBuilder() {
+    return new rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder();
+  }
+
+  /**
+   * Creates a new YearActivePowerRecord RecordBuilder by copying an existing Builder.
+   * @param other The existing builder to copy.
+   * @return A new YearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * Creates a new YearActivePowerRecord RecordBuilder by copying an existing YearActivePowerRecord instance.
+   * @param other The existing instance to copy.
+   * @return A new YearActivePowerRecord RecordBuilder
+   */
+  public static rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder newBuilder(rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord other) {
+    if (other == null) {
+      return new rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder();
+    } else {
+      return new rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder(other);
+    }
+  }
+
+  /**
+   * RecordBuilder for YearActivePowerRecord instances.
+   */
+  @org.apache.avro.specific.AvroGenerated
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<YearActivePowerRecord>
+    implements org.apache.avro.data.RecordBuilder<YearActivePowerRecord> {
+
+    private java.lang.String identifier;
+    private int year;
+    private long periodStart;
+    private long periodEnd;
+    private long count;
+    private double mean;
+    private double populationVariance;
+    private double min;
+    private double max;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(SCHEMA$, MODEL$);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other The existing Builder to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder other) {
+      super(other);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = other.fieldSetFlags()[0];
+      }
+      if (isValidValue(fields()[1], other.year)) {
+        this.year = data().deepCopy(fields()[1].schema(), other.year);
+        fieldSetFlags()[1] = other.fieldSetFlags()[1];
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = other.fieldSetFlags()[2];
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = other.fieldSetFlags()[3];
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = other.fieldSetFlags()[4];
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = other.fieldSetFlags()[5];
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = other.fieldSetFlags()[6];
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = other.fieldSetFlags()[7];
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = other.fieldSetFlags()[8];
+      }
+    }
+
+    /**
+     * Creates a Builder by copying an existing YearActivePowerRecord instance
+     * @param other The existing instance to copy.
+     */
+    private Builder(rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord other) {
+      super(SCHEMA$, MODEL$);
+      if (isValidValue(fields()[0], other.identifier)) {
+        this.identifier = data().deepCopy(fields()[0].schema(), other.identifier);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.year)) {
+        this.year = data().deepCopy(fields()[1].schema(), other.year);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.periodStart)) {
+        this.periodStart = data().deepCopy(fields()[2].schema(), other.periodStart);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.periodEnd)) {
+        this.periodEnd = data().deepCopy(fields()[3].schema(), other.periodEnd);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.count)) {
+        this.count = data().deepCopy(fields()[4].schema(), other.count);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.mean)) {
+        this.mean = data().deepCopy(fields()[5].schema(), other.mean);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.populationVariance)) {
+        this.populationVariance = data().deepCopy(fields()[6].schema(), other.populationVariance);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.min)) {
+        this.min = data().deepCopy(fields()[7].schema(), other.min);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.max)) {
+        this.max = data().deepCopy(fields()[8].schema(), other.max);
+        fieldSetFlags()[8] = true;
+      }
+    }
+
+    /**
+      * Gets the value of the 'identifier' field.
+      * @return The value.
+      */
+    public java.lang.String getIdentifier() {
+      return identifier;
+    }
+
+
+    /**
+      * Sets the value of the 'identifier' field.
+      * @param value The value of 'identifier'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setIdentifier(java.lang.String value) {
+      validate(fields()[0], value);
+      this.identifier = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'identifier' field has been set.
+      * @return True if the 'identifier' field has been set, false otherwise.
+      */
+    public boolean hasIdentifier() {
+      return fieldSetFlags()[0];
+    }
+
+
+    /**
+      * Clears the value of the 'identifier' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearIdentifier() {
+      identifier = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'year' field.
+      * @return The value.
+      */
+    public int getYear() {
+      return year;
+    }
+
+
+    /**
+      * Sets the value of the 'year' field.
+      * @param value The value of 'year'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setYear(int value) {
+      validate(fields()[1], value);
+      this.year = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'year' field has been set.
+      * @return True if the 'year' field has been set, false otherwise.
+      */
+    public boolean hasYear() {
+      return fieldSetFlags()[1];
+    }
+
+
+    /**
+      * Clears the value of the 'year' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearYear() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodStart' field.
+      * @return The value.
+      */
+    public long getPeriodStart() {
+      return periodStart;
+    }
+
+
+    /**
+      * Sets the value of the 'periodStart' field.
+      * @param value The value of 'periodStart'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setPeriodStart(long value) {
+      validate(fields()[2], value);
+      this.periodStart = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodStart' field has been set.
+      * @return True if the 'periodStart' field has been set, false otherwise.
+      */
+    public boolean hasPeriodStart() {
+      return fieldSetFlags()[2];
+    }
+
+
+    /**
+      * Clears the value of the 'periodStart' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearPeriodStart() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'periodEnd' field.
+      * @return The value.
+      */
+    public long getPeriodEnd() {
+      return periodEnd;
+    }
+
+
+    /**
+      * Sets the value of the 'periodEnd' field.
+      * @param value The value of 'periodEnd'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setPeriodEnd(long value) {
+      validate(fields()[3], value);
+      this.periodEnd = value;
+      fieldSetFlags()[3] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'periodEnd' field has been set.
+      * @return True if the 'periodEnd' field has been set, false otherwise.
+      */
+    public boolean hasPeriodEnd() {
+      return fieldSetFlags()[3];
+    }
+
+
+    /**
+      * Clears the value of the 'periodEnd' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearPeriodEnd() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'count' field.
+      * @return The value.
+      */
+    public long getCount() {
+      return count;
+    }
+
+
+    /**
+      * Sets the value of the 'count' field.
+      * @param value The value of 'count'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setCount(long value) {
+      validate(fields()[4], value);
+      this.count = value;
+      fieldSetFlags()[4] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'count' field has been set.
+      * @return True if the 'count' field has been set, false otherwise.
+      */
+    public boolean hasCount() {
+      return fieldSetFlags()[4];
+    }
+
+
+    /**
+      * Clears the value of the 'count' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearCount() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'mean' field.
+      * @return The value.
+      */
+    public double getMean() {
+      return mean;
+    }
+
+
+    /**
+      * Sets the value of the 'mean' field.
+      * @param value The value of 'mean'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setMean(double value) {
+      validate(fields()[5], value);
+      this.mean = value;
+      fieldSetFlags()[5] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'mean' field has been set.
+      * @return True if the 'mean' field has been set, false otherwise.
+      */
+    public boolean hasMean() {
+      return fieldSetFlags()[5];
+    }
+
+
+    /**
+      * Clears the value of the 'mean' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearMean() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'populationVariance' field.
+      * @return The value.
+      */
+    public double getPopulationVariance() {
+      return populationVariance;
+    }
+
+
+    /**
+      * Sets the value of the 'populationVariance' field.
+      * @param value The value of 'populationVariance'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setPopulationVariance(double value) {
+      validate(fields()[6], value);
+      this.populationVariance = value;
+      fieldSetFlags()[6] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'populationVariance' field has been set.
+      * @return True if the 'populationVariance' field has been set, false otherwise.
+      */
+    public boolean hasPopulationVariance() {
+      return fieldSetFlags()[6];
+    }
+
+
+    /**
+      * Clears the value of the 'populationVariance' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearPopulationVariance() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'min' field.
+      * @return The value.
+      */
+    public double getMin() {
+      return min;
+    }
+
+
+    /**
+      * Sets the value of the 'min' field.
+      * @param value The value of 'min'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setMin(double value) {
+      validate(fields()[7], value);
+      this.min = value;
+      fieldSetFlags()[7] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'min' field has been set.
+      * @return True if the 'min' field has been set, false otherwise.
+      */
+    public boolean hasMin() {
+      return fieldSetFlags()[7];
+    }
+
+
+    /**
+      * Clears the value of the 'min' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearMin() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /**
+      * Gets the value of the 'max' field.
+      * @return The value.
+      */
+    public double getMax() {
+      return max;
+    }
+
+
+    /**
+      * Sets the value of the 'max' field.
+      * @param value The value of 'max'.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder setMax(double value) {
+      validate(fields()[8], value);
+      this.max = value;
+      fieldSetFlags()[8] = true;
+      return this;
+    }
+
+    /**
+      * Checks whether the 'max' field has been set.
+      * @return True if the 'max' field has been set, false otherwise.
+      */
+    public boolean hasMax() {
+      return fieldSetFlags()[8];
+    }
+
+
+    /**
+      * Clears the value of the 'max' field.
+      * @return This builder.
+      */
+    public rocks.theodolite.benchmarks.commons.model.records.YearActivePowerRecord.Builder clearMax() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public YearActivePowerRecord build() {
+      try {
+        YearActivePowerRecord record = new YearActivePowerRecord();
+        record.identifier = fieldSetFlags()[0] ? this.identifier : (java.lang.String) defaultValue(fields()[0]);
+        record.year = fieldSetFlags()[1] ? this.year : (java.lang.Integer) defaultValue(fields()[1]);
+        record.periodStart = fieldSetFlags()[2] ? this.periodStart : (java.lang.Long) defaultValue(fields()[2]);
+        record.periodEnd = fieldSetFlags()[3] ? this.periodEnd : (java.lang.Long) defaultValue(fields()[3]);
+        record.count = fieldSetFlags()[4] ? this.count : (java.lang.Long) defaultValue(fields()[4]);
+        record.mean = fieldSetFlags()[5] ? this.mean : (java.lang.Double) defaultValue(fields()[5]);
+        record.populationVariance = fieldSetFlags()[6] ? this.populationVariance : (java.lang.Double) defaultValue(fields()[6]);
+        record.min = fieldSetFlags()[7] ? this.min : (java.lang.Double) defaultValue(fields()[7]);
+        record.max = fieldSetFlags()[8] ? this.max : (java.lang.Double) defaultValue(fields()[8]);
+        return record;
+      } catch (org.apache.avro.AvroMissingFieldException e) {
+        throw e;
+      } catch (java.lang.Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumWriter<YearActivePowerRecord>
+    WRITER$ = (org.apache.avro.io.DatumWriter<YearActivePowerRecord>)MODEL$.createDatumWriter(SCHEMA$);
+
+  @Override public void writeExternal(java.io.ObjectOutput out)
+    throws java.io.IOException {
+    WRITER$.write(this, SpecificData.getEncoder(out));
+  }
+
+  @SuppressWarnings("unchecked")
+  private static final org.apache.avro.io.DatumReader<YearActivePowerRecord>
+    READER$ = (org.apache.avro.io.DatumReader<YearActivePowerRecord>)MODEL$.createDatumReader(SCHEMA$);
+
+  @Override public void readExternal(java.io.ObjectInput in)
+    throws java.io.IOException {
+    READER$.read(this, SpecificData.getDecoder(in));
+  }
+
+  @Override protected boolean hasCustomCoders() { return true; }
+
+  @Override public void customEncode(org.apache.avro.io.Encoder out)
+    throws java.io.IOException
+  {
+    out.writeString(this.identifier);
+
+    out.writeInt(this.year);
+
+    out.writeLong(this.periodStart);
+
+    out.writeLong(this.periodEnd);
+
+    out.writeLong(this.count);
+
+    out.writeDouble(this.mean);
+
+    out.writeDouble(this.populationVariance);
+
+    out.writeDouble(this.min);
+
+    out.writeDouble(this.max);
+
+  }
+
+  @Override public void customDecode(org.apache.avro.io.ResolvingDecoder in)
+    throws java.io.IOException
+  {
+    org.apache.avro.Schema.Field[] fieldOrder = in.readFieldOrderIfDiff();
+    if (fieldOrder == null) {
+      this.identifier = in.readString();
+
+      this.year = in.readInt();
+
+      this.periodStart = in.readLong();
+
+      this.periodEnd = in.readLong();
+
+      this.count = in.readLong();
+
+      this.mean = in.readDouble();
+
+      this.populationVariance = in.readDouble();
+
+      this.min = in.readDouble();
+
+      this.max = in.readDouble();
+
+    } else {
+      for (int i = 0; i < 9; i++) {
+        switch (fieldOrder[i].pos()) {
+        case 0:
+          this.identifier = in.readString();
+          break;
+
+        case 1:
+          this.year = in.readInt();
+          break;
+
+        case 2:
+          this.periodStart = in.readLong();
+          break;
+
+        case 3:
+          this.periodEnd = in.readLong();
+          break;
+
+        case 4:
+          this.count = in.readLong();
+          break;
+
+        case 5:
+          this.mean = in.readDouble();
+          break;
+
+        case 6:
+          this.populationVariance = in.readDouble();
+          break;
+
+        case 7:
+          this.min = in.readDouble();
+          break;
+
+        case 8:
+          this.max = in.readDouble();
+          break;
+
+        default:
+          throw new java.io.IOException("Corrupt ResolvingDecoder.");
+        }
+      }
+    }
+  }
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/theodolite-benchmarks/commons/src/main/avro/ActivePower.avdl b/theodolite-benchmarks/commons/src/main/avro/ActivePower.avdl
new file mode 100644
index 0000000000000000000000000000000000000000..6ee82d6becc6393617d569de27d0b162f892e192
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/avro/ActivePower.avdl
@@ -0,0 +1,19 @@
+@namespace("rocks.theodolite.benchmarks.commons.model.records")
+protocol ActivePower {
+
+  record ActivePowerRecord {
+    /**
+     *
+     */
+    string identifier;
+    /**
+     *
+     */
+    long timestamp;
+    /**
+     *
+     */
+    double valueInW;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/avro/AggregatedActivePower.avdl b/theodolite-benchmarks/commons/src/main/avro/AggregatedActivePower.avdl
new file mode 100644
index 0000000000000000000000000000000000000000..571f30f3247cae7c829aaa7742a37f8f3c89cfed
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/avro/AggregatedActivePower.avdl
@@ -0,0 +1,27 @@
+@namespace("rocks.theodolite.benchmarks.commons.model.records")
+protocol AggregatedActivePower {
+
+  record AggregatedActivePowerRecord {
+    /**
+     *
+     */
+    string identifier;
+    /**
+     * 
+     */
+    long timestamp;
+    /**
+     * 
+     */
+    long count;
+    /**
+     * 
+     */
+    double sumInW;
+    /**
+     * 
+     */
+    double averageInW;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/avro/StatsActivePower.avdl b/theodolite-benchmarks/commons/src/main/avro/StatsActivePower.avdl
new file mode 100644
index 0000000000000000000000000000000000000000..9f4c6360661a6b40f267a17ae8205b8178044895
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/avro/StatsActivePower.avdl
@@ -0,0 +1,65 @@
+@namespace("rocks.theodolite.benchmarks.commons.model.records")
+protocol StatsActivePower {
+
+  record HourOfDayActivePowerRecord {
+    string identifier;
+    int hourOfDay;
+    long periodStart;
+    long periodEnd;
+    long count;
+    double mean;
+    double populationVariance;
+    double min;
+    double max;
+  }
+  
+  record DayOfWeekActivePowerRecord {
+    string identifier;
+    int dayOfWeek;
+    long periodStart;
+    long periodEnd;
+    long count;
+    double mean;
+    double populationVariance;
+    double min;
+    double max;
+  }
+
+  record HourOfWeekActivePowerRecord {
+    string identifier;
+    int dayOfWeek;
+    int hourOfDay;
+    long periodStart;
+    long periodEnd;
+    long count;
+    double mean;
+    double populationVariance;
+    double min;
+    double max;
+  }
+  
+  record MonthOfYearActivePowerRecord {
+    string identifier;
+    int monthOfYear;
+    long periodStart;
+    long periodEnd;
+    long count;
+    double mean;
+    double populationVariance;
+    double min;
+    double max;
+  }
+
+  record YearActivePowerRecord {
+    string identifier;
+    int year;
+    long periodStart;
+    long periodEnd;
+    long count;
+    double mean;
+    double populationVariance;
+    double min;
+    double max;
+  }
+
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/NameResolvingEnvironmentConfiguration.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/NameResolvingEnvironmentConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..fb29d078d2fb5125103188247f1673a1da766536
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/NameResolvingEnvironmentConfiguration.java
@@ -0,0 +1,34 @@
+package rocks.theodolite.benchmarks.commons.commons.configuration;
+
+import java.util.Locale;
+import org.apache.commons.configuration2.EnvironmentConfiguration;
+
+/**
+ * {@link EnvironmentConfiguration} that automatically translates Java property file style variables
+ * ({@code my.variable.name}) to environment style variables ({@code MY__VARIABLE_NAME}).
+ */
+public class NameResolvingEnvironmentConfiguration extends EnvironmentConfiguration {
+
+  @Override
+  protected Object getPropertyInternal(final String key) {
+    final Object value = super.getPropertyInternal(key);
+    if (value == null) {
+      return super.getPropertyInternal(formatKeyAsEnvVariable(key));
+    }
+    return value;
+  }
+
+  @Override
+  protected boolean containsKeyInternal(final String key) {
+    final boolean value = super.containsKeyInternal(key);
+    if (!value) {
+      return super.containsKeyInternal(formatKeyAsEnvVariable(key));
+    }
+    return value;
+  }
+
+  public static String formatKeyAsEnvVariable(final String key) {
+    return key.toUpperCase(Locale.ROOT).replace('.', '_');
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/ServiceConfigurations.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/ServiceConfigurations.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ad0703697aa02f641c9b86f7384bfd9b9e1956c
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/commons/configuration/ServiceConfigurations.java
@@ -0,0 +1,120 @@
+package rocks.theodolite.benchmarks.commons.commons.configuration;
+
+import com.google.common.io.Resources;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.apache.commons.configuration2.CompositeConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Helper class for creating {@link Configuration}s.
+ */
+public final class ServiceConfigurations {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(ServiceConfigurations.class);
+
+  private static final String DEFAULT_PROPERTIES_LOCATION = "META-INF/application.properties";
+  private static final String USER_PROPERTIES_LOCATION = "config/application.properties";
+
+  private ServiceConfigurations() {}
+
+  /**
+   * Create a {@link Configuration} as it typically used by microservices. More precisely, this
+   * means when trying to access value with a particular key, this configuration first looks for
+   * this key in the current environment variables, then in a properties file located in
+   * {@code config/application.properties}, and finally for a properties file in the classpath at
+   * {@code META-INF/application.properties}.
+   *
+   * @see NameResolvingEnvironmentConfiguration for details regarding the environemnt variable
+   *      lookup.
+   */
+  public static Configuration createWithDefaults() {
+    return builder()
+        .withEnvironmentVariables()
+        .withUserConfigurationFile(USER_PROPERTIES_LOCATION)
+        .withDefaultConfigurationFile(DEFAULT_PROPERTIES_LOCATION)
+        .build();
+  }
+
+  public static Builder builder() {
+    return new Builder();
+  }
+
+  /**
+   * Builder class for a {@link Configuration} for a microservice.
+   */
+  public static class Builder {
+
+    private final CompositeConfiguration configuration = new CompositeConfiguration();
+
+    private Builder() {}
+
+    public Builder withEnvironmentVariables() {
+      this.configuration.addConfiguration(new NameResolvingEnvironmentConfiguration());
+      return this;
+    }
+
+    /**
+     * Add a properties file from the user's file system to the {@link Configuration}.
+     */
+    public Builder withUserConfigurationFile(final String userPropertiesLocation) {
+      final Path path = Paths.get(userPropertiesLocation);
+      LOGGER.info("Looking for user configuration at {}", userPropertiesLocation);
+      if (Files.exists(path)) {
+        LOGGER.info("Found user configuration at {}", userPropertiesLocation);
+        try {
+          this.configuration.addConfiguration(configurations().properties(path.toFile()));
+        } catch (final ConfigurationException e) {
+          throw new IllegalArgumentException(
+              "Cannot load configuration from file '" + userPropertiesLocation + "'", e);
+        }
+      } else {
+        LOGGER.info("No user configuration found at {}", userPropertiesLocation);
+      }
+      return this;
+    }
+
+    /**
+     * Add a properties file from the class path to the {@link Configuration}.
+     */
+    public Builder withDefaultConfigurationFile(final String defaultPropertiesLocation) {
+      if (resourceExists(defaultPropertiesLocation)) {
+        try {
+          this.configuration
+              .addConfiguration(configurations().properties(defaultPropertiesLocation));
+        } catch (final ConfigurationException e) {
+          throw new IllegalArgumentException(
+              "Cannot load configuration from ressource '" + defaultPropertiesLocation + "'", e);
+        }
+      }
+      return this;
+    }
+
+    public Configuration build() {
+      return this.configuration;
+    }
+
+  }
+
+  /**
+   * Shortcut for long class name.
+   */
+  private static org.apache.commons.configuration2.builder.fluent.Configurations configurations() {
+    // TODO Refactor when Configurations class is removed
+    return new org.apache.commons.configuration2.builder.fluent.Configurations();
+  }
+
+  private static boolean resourceExists(final String resourceName) {
+    try {
+      Resources.getResource(resourceName);
+    } catch (final IllegalArgumentException e) {
+      return false;
+    }
+    return true;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/Event.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/Event.java
new file mode 100644
index 0000000000000000000000000000000000000000..895b3401c5d59abb6863caa246414e9ead69d773
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/Event.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.commons.configuration.events;
+
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+
+/**
+ * Events that could occur when modifying a {@link SensorRegistry}. Currently only a general change
+ * event and a status posting event are supported.
+ */
+public enum Event {
+
+  SENSOR_REGISTRY_CHANGED, SENSOR_REGISTRY_STATUS;
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/EventSerde.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/EventSerde.java
new file mode 100644
index 0000000000000000000000000000000000000000..50a3faad61d6c6179efe983b0c172e66e0d28367
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/configuration/events/EventSerde.java
@@ -0,0 +1,81 @@
+package rocks.theodolite.benchmarks.commons.configuration.events;
+
+import java.nio.ByteBuffer;
+import java.util.Map;
+import org.apache.kafka.common.serialization.ByteBufferDeserializer;
+import org.apache.kafka.common.serialization.ByteBufferSerializer;
+import org.apache.kafka.common.serialization.Deserializer;
+import org.apache.kafka.common.serialization.Serde;
+import org.apache.kafka.common.serialization.Serdes;
+import org.apache.kafka.common.serialization.Serializer;
+
+/**
+ * Provides factory methods for creating Kafka serializers and deserializers for {@link Event}s.
+ */
+public final class EventSerde {
+
+  private EventSerde() {}
+
+  public static Serde<Event> serde() {
+    return Serdes.serdeFrom(new EventSerializer(), new EventDeserializer());
+  }
+
+  public static Serializer<Event> serializer() {
+    return new EventSerializer();
+  }
+
+  public static Deserializer<Event> deserializer() {
+    return new EventDeserializer();
+  }
+
+  private static class EventSerializer implements Serializer<Event> {
+
+    private static final int INT_SIZE = 4;
+
+    private final ByteBufferSerializer byteBufferSerializer = new ByteBufferSerializer();
+
+    @Override
+    public void configure(final Map<String, ?> configs, final boolean isKey) {
+      this.byteBufferSerializer.configure(configs, isKey);
+    }
+
+    @Override
+    public byte[] serialize(final String topic, final Event event) {
+      return this.byteBufferSerializer.serialize(topic,
+          ByteBuffer.allocate(INT_SIZE).putInt(event.ordinal()));
+    }
+
+    @Override
+    public void close() {
+      this.byteBufferSerializer.close();
+    }
+
+  }
+
+  private static class EventDeserializer implements Deserializer<Event> {
+
+    private final ByteBufferDeserializer byteBufferDeserializer = new ByteBufferDeserializer();
+
+    @Override
+    public void configure(final Map<String, ?> configs, final boolean isKey) {
+      this.byteBufferDeserializer.configure(configs, isKey);
+    }
+
+    @Override
+    public Event deserialize(final String topic, final byte[] data) {
+      final int ordinal = this.byteBufferDeserializer.deserialize(topic, data).getInt();
+      for (final Event event : Event.values()) {
+        if (ordinal == event.ordinal()) {
+          return event;
+        }
+      }
+      throw new IllegalArgumentException("Deserialized data is not a valid event.");
+    }
+
+    @Override
+    public void close() {
+      this.byteBufferDeserializer.close();
+    }
+
+  }
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/avro/SchemaRegistryAvroSerdeFactory.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/avro/SchemaRegistryAvroSerdeFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..9f3d5721efd90000b9265b593be5656b989c4f44
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/avro/SchemaRegistryAvroSerdeFactory.java
@@ -0,0 +1,39 @@
+package rocks.theodolite.benchmarks.commons.kafka.avro;
+
+import io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig;
+import io.confluent.kafka.streams.serdes.avro.SpecificAvroSerde;
+import java.util.Collections;
+import java.util.Map;
+import org.apache.avro.specific.SpecificRecord;
+import org.apache.kafka.common.serialization.Serde;
+
+/**
+ * Factory methods to create {@link Serde}s for Avro records using the Confluent Schema Registry.
+ */
+public final class SchemaRegistryAvroSerdeFactory {
+
+  private static final String SCHEMA_REGISTRY_URL_KEY =
+      AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG;
+
+  private final Map<String, String> serdeConfig;
+
+  public SchemaRegistryAvroSerdeFactory(final String schemaRegistryUrl) {
+    this.serdeConfig = Collections.singletonMap(SCHEMA_REGISTRY_URL_KEY, schemaRegistryUrl);
+
+  }
+
+  public <T extends SpecificRecord> Serde<T> forKeys() {
+    return this.build(true);
+  }
+
+  public <T extends SpecificRecord> Serde<T> forValues() {
+    return this.build(false);
+  }
+
+  private <T extends SpecificRecord> Serde<T> build(final boolean isKey) {
+    final Serde<T> avroSerde = new SpecificAvroSerde<>();
+    avroSerde.configure(this.serdeConfig, isKey);
+    return avroSerde;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferConstants.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferConstants.java
new file mode 100644
index 0000000000000000000000000000000000000000..b29c05359d04ebf2552da7a3c3a6b915ede1cd35
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferConstants.java
@@ -0,0 +1,18 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import java.nio.charset.Charset;
+
+/**
+ * Shared constants between {@link WriteBuffer} and {@link ReadBuffer}.
+ */
+public final class BufferConstants {
+
+  public static final Charset CHARSET = Charset.forName("UTF-8");
+
+  public static final byte BOOLEAN_FALSE = 0;
+
+  public static final byte BOOLEAN_TRUE = 1;
+
+  private BufferConstants() {}
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferDeserializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..88fba611be5600d3a5557b34d5244e523dcbb017
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferDeserializer.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+/**
+ * Deserializer to deserialize a {@link ReadBuffer} to an object.
+ *
+ * @param <T> the type of the deserialized object
+ */
+@FunctionalInterface
+public interface BufferDeserializer<T> {
+
+  T deserialize(ReadBuffer buffer);
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerde.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerde.java
new file mode 100644
index 0000000000000000000000000000000000000000..e14f03e2b36e5551911536f2dff20f70e8efe08a
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerde.java
@@ -0,0 +1,11 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+/**
+ * Combine {@link BufferSerializer} and {@link BufferDeserializer} into one type. This allows
+ * implementing a serde in one class.
+ *
+ * @param <T> Type of the serializer and deserializer.
+ */
+public interface BufferSerde<T> extends BufferSerializer<T>, BufferDeserializer<T> {
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c7353a64a39839f183ad4153f369e3d33bcfe5b
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/BufferSerializer.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+/**
+ * Serializer to serialize an object to a {@link WriteBuffer}.
+ *
+ * @param <T> the type of the serialized object
+ */
+@FunctionalInterface
+public interface BufferSerializer<T> {
+
+  void serialize(WriteBuffer buffer, T data);
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/ReadBuffer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/ReadBuffer.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf0e7af93c31b20e7136d4f6b1c870691cd4801d
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/ReadBuffer.java
@@ -0,0 +1,67 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import java.nio.ByteBuffer;
+
+/**
+ * A buffer that is constructed from a byte array and data can be sequentially read to different
+ * kinds of data types. It is the counterpart to {@link WriteBuffer}.
+ */
+public class ReadBuffer {
+
+  private final ByteBuffer buffer;
+
+  /**
+   * Create this buffer by a byte array.
+   */
+  public ReadBuffer(final byte[] bytes) {
+    this.buffer = ByteBuffer.wrap(bytes);
+  }
+
+  public byte getByte() {
+    return this.buffer.get();
+  }
+
+  /**
+   * Get a byte array.
+   */
+  public byte[] getBytes() {
+    final int bytesLength = this.buffer.getInt();
+    final byte[] bytes = new byte[bytesLength];
+    this.buffer.get(bytes);
+    return bytes;
+  }
+
+  public boolean getBoolean() { // NOPMD
+    return this.getByte() == BufferConstants.BOOLEAN_TRUE;
+  }
+
+  public short getShort() { // NOPMD
+    return this.buffer.getShort();
+  }
+
+  public int getInt() {
+    return this.buffer.getInt();
+  }
+
+  public long getLong() {
+    return this.buffer.getLong();
+  }
+
+  public float getFloat() {
+    return this.buffer.getFloat();
+  }
+
+  public double getDouble() {
+    return this.buffer.getDouble();
+  }
+
+  public int getChar() {
+    return this.buffer.getChar();
+  }
+
+  public String getString() {
+    final byte[] bytes = this.getBytes();
+    return new String(bytes, BufferConstants.CHARSET);
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleDeserializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3d2b6756c417f62c85bfd5a269d0d47d36daa7c
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleDeserializer.java
@@ -0,0 +1,38 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import java.util.Map;
+import org.apache.kafka.common.serialization.Deserializer;
+
+/**
+ * Kafka {@link Deserializer} to be configured with a {@link BufferDeserializer} for simpler usage.
+ *
+ * @param <T> the type of the deserialized object
+ */
+public class SimpleDeserializer<T> implements Deserializer<T> {
+
+  private final BufferDeserializer<T> deserializer;
+
+  public SimpleDeserializer(final BufferDeserializer<T> deserializer) {
+    this.deserializer = deserializer;
+  }
+
+  @Override
+  public void configure(final Map<String, ?> configs, final boolean isKey) {
+    // Do nothing
+  }
+
+  @Override
+  public T deserialize(final String topic, final byte[] bytes) {
+    if (bytes == null) {
+      return null;
+    }
+    final ReadBuffer buffer = new ReadBuffer(bytes);
+    return this.deserializer.deserialize(buffer);
+  }
+
+  @Override
+  public void close() {
+    // Do nothing
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerdes.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerdes.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae1c0530f8283122451b7e20d32f56300cdf6ef7
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerdes.java
@@ -0,0 +1,24 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import org.apache.kafka.common.serialization.Serde;
+import org.apache.kafka.common.serialization.Serdes;
+
+/**
+ * Factory class to create <i>Simple Serdes</i>. These are serdes created from a
+ * {@link BufferSerializer} and a {@link BufferDeserializer}.
+ */
+public final class SimpleSerdes {
+
+  private SimpleSerdes() {}
+
+  public static <T> Serde<T> create(final BufferSerde<T> serde) {
+    return Serdes.serdeFrom(new SimpleSerializer<>(serde), new SimpleDeserializer<>(serde));
+  }
+
+  public static <T> Serde<T> create(final BufferSerializer<T> serializer,
+      final BufferDeserializer<T> deserializer) {
+    return Serdes.serdeFrom(new SimpleSerializer<>(serializer),
+        new SimpleDeserializer<>(deserializer));
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..4ed3d91f74a3ad6bc3a0ff8f52d91e53a741e65d
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/SimpleSerializer.java
@@ -0,0 +1,39 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import java.util.Map;
+import org.apache.kafka.common.serialization.Serializer;
+
+/**
+ * Kafka {@link Serializer} to be configured with a {@link BufferSerializer} for simpler usage.
+ *
+ * @param <T> the type of the serialized objects
+ */
+public class SimpleSerializer<T> implements Serializer<T> {
+
+  private final BufferSerializer<T> serializer;
+
+  public SimpleSerializer(final BufferSerializer<T> serializer) {
+    this.serializer = serializer;
+  }
+
+  @Override
+  public void configure(final Map<String, ?> configs, final boolean isKey) {
+    // Do nothing
+  }
+
+  @Override
+  public byte[] serialize(final String topic, final T data) {
+    if (data == null) {
+      return null;
+    }
+    final WriteBuffer buffer = new WriteBuffer();
+    this.serializer.serialize(buffer, data);
+    return buffer.getBytes();
+  }
+
+  @Override
+  public void close() {
+    // Do nothing
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/WriteBuffer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/WriteBuffer.java
new file mode 100644
index 0000000000000000000000000000000000000000..144b125f031250c09900360898f98f871643f036
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/kafka/simpleserdes/WriteBuffer.java
@@ -0,0 +1,69 @@
+package rocks.theodolite.benchmarks.commons.kafka.simpleserdes;
+
+import java.nio.ByteBuffer;
+
+/**
+ * A buffer to which different kinds of data types can be written and its content can be returned as
+ * bytes. Its counterpart is a {@link ReadBuffer} which allows to read the data in the order it is
+ * written.
+ */
+public class WriteBuffer {
+
+  private static final int BYTE_BUFFER_CAPACITY = 65_536; // Is only virtual memory
+
+  private final ByteBuffer buffer = ByteBuffer.allocateDirect(BYTE_BUFFER_CAPACITY);
+
+  public void putByte(final byte value) {
+    this.buffer.put(value);
+  }
+
+  public void putBytes(final byte[] value) {
+    this.buffer.putInt(value.length);
+    this.buffer.put(value);
+  }
+
+  public void putBoolean(final boolean value) {
+    this.putByte(
+        value ? BufferConstants.BOOLEAN_TRUE : BufferConstants.BOOLEAN_FALSE);
+  }
+
+  public void putShort(final short value) { // NOPMD
+    this.buffer.putShort(value);
+  }
+
+  public void putInt(final int value) {
+    this.buffer.putInt(value);
+  }
+
+  public void putLong(final long value) {
+    this.buffer.putLong(value);
+  }
+
+  public void putFloat(final float value) {
+    this.buffer.putFloat(value);
+  }
+
+  public void putDouble(final double value) {
+    this.buffer.putDouble(value);
+  }
+
+  public void putChar(final char value) {
+    this.buffer.putChar(value);
+  }
+
+  public void putString(final String value) {
+    final byte[] bytes = value.getBytes(BufferConstants.CHARSET);
+    this.putBytes(bytes);
+  }
+
+  /**
+   * Get the content of this buffer as bytes.
+   */
+  public byte[] getBytes() {
+    this.buffer.flip();
+    final byte[] bytes = new byte[this.buffer.remaining()];
+    this.buffer.get(bytes, 0, bytes.length);
+    return bytes;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AbstractSensor.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AbstractSensor.java
new file mode 100644
index 0000000000000000000000000000000000000000..3dad538bb9ddb41959511ee41591d069450b7f69
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AbstractSensor.java
@@ -0,0 +1,35 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.Optional;
+
+abstract class AbstractSensor implements Sensor {
+
+  private final AggregatedSensor parent;
+
+  private final String identifier;
+
+  private final String name;
+
+  protected AbstractSensor(final AggregatedSensor parent, final String identifier,
+      final String name) {
+    this.parent = parent;
+    this.identifier = identifier;
+    this.name = name;
+  }
+
+  @Override
+  public Optional<AggregatedSensor> getParent() {
+    return Optional.ofNullable(this.parent);
+  }
+
+  @Override
+  public String getIdentifier() {
+    return this.identifier;
+  }
+
+  @Override
+  public String getName() {
+    return this.name;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AggregatedSensor.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AggregatedSensor.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa8717ded4643f2350174e4c26dd10ffe608d2ac
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/AggregatedSensor.java
@@ -0,0 +1,56 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+
+/**
+ * Representing an aggregated sensor in the {@link SensorRegistry}, i.e. one that may have child
+ * sensors.
+ */
+public interface AggregatedSensor extends Sensor {
+
+  Collection<Sensor> getChildren();
+
+  /**
+   * Returns all {@link MachineSensor}s that are children (including grandchildren etc.) of this
+   * aggregated sensor. In other words, it returns all leaves located below this aggregated sensor
+   * in the corresponding {@link SensorRegistry}.
+   */
+  default Collection<MachineSensor> getAllChildren() {
+    final List<MachineSensor> allChildren = new ArrayList<>();
+    final Queue<Sensor> untraversedSensors = new LinkedList<>(this.getChildren());
+    while (!untraversedSensors.isEmpty()) {
+      final Sensor sensor = untraversedSensors.poll();
+      if (sensor instanceof MachineSensor) {
+        allChildren.add((MachineSensor) sensor);
+      } else if (sensor instanceof AggregatedSensor) {
+        untraversedSensors.addAll(((AggregatedSensor) sensor).getChildren());
+      }
+    }
+    return allChildren;
+  }
+
+  /**
+   * Flattens this {@link AggregatedSensor} and all of its children to a collection of
+   * {@link Sensor}s.
+   *
+   * @return A collection containing this {@link AggregatedSensor} and all of its children.
+   */
+  default Collection<Sensor> flatten() {
+    final List<Sensor> accumulator = new ArrayList<>();
+    final Queue<Sensor> untraversedSensors = new LinkedList<>();
+    untraversedSensors.add(this);
+    while (!untraversedSensors.isEmpty()) {
+      final Sensor sensor = untraversedSensors.poll();
+      accumulator.add(sensor);
+      if (sensor instanceof AggregatedSensor) {
+        untraversedSensors.addAll(((AggregatedSensor) sensor).getChildren());
+      }
+    }
+    return accumulator;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistry.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistry.java
new file mode 100644
index 0000000000000000000000000000000000000000..bac00a0c0c4086c1e3847619e5603f020ca78e8a
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistry.java
@@ -0,0 +1,145 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableList.Builder;
+import com.google.common.collect.ImmutableMap;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import java.util.Collection;
+import java.util.Objects;
+import java.util.Optional;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.AggregatedSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.MachineSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.SensorRegistryDeserializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.SensorRegistrySerializer;
+
+/**
+ * Implementation of a {@link SensorRegistry} that is immutable.
+ */
+public final class ImmutableSensorRegistry implements SensorRegistry {
+
+  private static final Gson GSON = new GsonBuilder()
+      .registerTypeAdapter(ImmutableSensorRegistry.class, new SensorRegistrySerializer())
+      .registerTypeAdapter(ImmutableSensorRegistry.ImmutableAggregatatedSensor.class,
+          new AggregatedSensorSerializer())
+      .registerTypeAdapter(MachineSensorImpl.class, new MachineSensorSerializer())
+      .registerTypeAdapter(SensorRegistry.class, new SensorRegistryDeserializer()).create();
+
+  private final ImmutableMap<String, MachineSensor> machineSensors;
+  private final AggregatedSensor topLevelSensor;
+
+  private ImmutableSensorRegistry(final SensorRegistry sensorRegistry) {
+    final ImmutableMap.Builder<String, MachineSensor> mapBuilder = ImmutableMap.builder();
+    this.topLevelSensor =
+        new ImmutableAggregatatedSensor(null, sensorRegistry.getTopLevelSensor(), mapBuilder);
+    this.machineSensors = mapBuilder.build();
+  }
+
+  @Override
+  public Optional<MachineSensor> getSensorForIdentifier(final String identifier) {
+    return Optional.ofNullable(this.machineSensors.get(identifier));
+  }
+
+  @Override
+  public AggregatedSensor getTopLevelSensor() {
+    return this.topLevelSensor;
+  }
+
+  @Override
+  public Collection<MachineSensor> getMachineSensors() {
+    return this.machineSensors.values();
+  }
+
+  @Override
+  public String toJson() {
+    // Necessary method. Deletion would cause SensorRegistry.toJson() to fail.
+    return GSON.toJson(this);
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hashCode(this.topLevelSensor);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof SensorRegistry) {
+      final SensorRegistry other = (SensorRegistry) obj;
+      return Objects.equals(this.getTopLevelSensor(), other.getTopLevelSensor());
+    }
+    return false;
+  }
+
+  public static ImmutableSensorRegistry copyOf(final SensorRegistry sensorRegistry) {
+    return new ImmutableSensorRegistry(sensorRegistry);
+  }
+
+  public static SensorRegistry fromJson(final String json) {
+    return GSON.fromJson(json, SensorRegistry.class);
+  }
+
+  private static final class ImmutableAggregatatedSensor extends AbstractSensor
+      implements AggregatedSensor {
+
+    private final ImmutableList<Sensor> children;
+
+    private ImmutableAggregatatedSensor(final AggregatedSensor newParent,
+        final AggregatedSensor sensorToCopy,
+        final ImmutableMap.Builder<String, MachineSensor> sensorRegistryMapBuilder) {
+      super(newParent, sensorToCopy.getIdentifier(), sensorToCopy.getName());
+      final Builder<Sensor> childrenBuilder = ImmutableList.builder();
+      for (final Sensor child : sensorToCopy.getChildren()) {
+        if (child instanceof MachineSensor) {
+          final MachineSensor newChild =
+              new MachineSensorImpl(this, child.getIdentifier(), child.getName());
+          childrenBuilder.add(newChild);
+          sensorRegistryMapBuilder.put(newChild.getIdentifier(), newChild);
+        } else if (child instanceof AggregatedSensor) {
+          final AggregatedSensor newChild = new ImmutableAggregatatedSensor(this,
+              (AggregatedSensor) child, sensorRegistryMapBuilder);
+          childrenBuilder.add(newChild);
+        } else {
+          throw new IllegalStateException(
+              "Sensor " + child + " is neither of type '"
+                  + MachineSensor.class.getSimpleName() + "' nor "
+                  + AggregatedSensor.class.getSimpleName() + "' and thus not supported.");
+        }
+      }
+      this.children = childrenBuilder.build();
+    }
+
+    @Override
+    public Collection<Sensor> getChildren() {
+      return this.children;
+    }
+
+    @Override
+    public int hashCode() {
+      return Objects.hash(this.getIdentifier(), this.children);
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+      if (obj == this) {
+        return true;
+      }
+      if (obj instanceof AggregatedSensor) {
+        final AggregatedSensor other = (AggregatedSensor) obj;
+        return Objects.equals(this.getIdentifier(), other.getIdentifier())
+            && Objects.equals(this.children, other.getChildren());
+      }
+      return false;
+    }
+
+    @Override
+    public String toString() {
+      return this.getName() + '[' + this.getIdentifier() + "] (" + this.children.size()
+          + " children)";
+    }
+
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensor.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensor.java
new file mode 100644
index 0000000000000000000000000000000000000000..cdb4b535bffd807acb92fbfd057f5986b4840ba8
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensor.java
@@ -0,0 +1,25 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * Representing a real sensor in the {@link SensorRegistry}, i.e. one that is not aggregated.
+ */
+public interface MachineSensor extends Sensor {
+
+  /**
+   * Get a list of parent, grandparent etc. sensors.
+   */
+  default List<AggregatedSensor> getParents() {
+    Optional<AggregatedSensor> parent = this.getParent();
+    final List<AggregatedSensor> parents = new ArrayList<>();
+    while (parent.isPresent()) {
+      parents.add(parent.get());
+      parent = parent.get().getParent();
+    }
+    return parents;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensorImpl.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensorImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..191664bfdee31874003d7420ef7f81560c4fe29b
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MachineSensorImpl.java
@@ -0,0 +1,34 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.Objects;
+
+class MachineSensorImpl extends AbstractSensor implements MachineSensor {
+
+  protected MachineSensorImpl(final AggregatedSensor parent, final String identifier,
+      final String name) {
+    super(parent, identifier, name);
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hashCode(this.getIdentifier());
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof MachineSensor) {
+      final MachineSensor other = (MachineSensor) obj;
+      return Objects.equals(this.getIdentifier(), other.getIdentifier());
+    }
+    return false;
+  }
+
+  @Override
+  public String toString() {
+    return this.getName() + '[' + this.getIdentifier() + ']';
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableAggregatedSensor.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableAggregatedSensor.java
new file mode 100644
index 0000000000000000000000000000000000000000..c0b5e42c83998622294adcb38dab50fd591d286d
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableAggregatedSensor.java
@@ -0,0 +1,96 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * A {@link MutableAggregatedSensor} which can child sensors be added to.
+ */
+public class MutableAggregatedSensor extends AbstractSensor implements AggregatedSensor {
+
+  private final List<Sensor> children = new ArrayList<>();
+  private final MutableSensorRegistry sensorRegistry;
+
+  protected MutableAggregatedSensor(final MutableSensorRegistry registry, final String identifier,
+      final String name) {
+    super(null, identifier, name);
+    this.sensorRegistry = registry;
+  }
+
+  protected MutableAggregatedSensor(final MutableAggregatedSensor parent, final String identifier,
+      final String name) {
+    super(parent, identifier, name);
+    this.sensorRegistry = parent.sensorRegistry;
+  }
+
+  @Override
+  public Collection<Sensor> getChildren() {
+    return this.children;
+  }
+
+  /**
+   * Create a new {@link MutableAggregatedSensor} as child of this sensor.
+   */
+  public MutableAggregatedSensor addChildAggregatedSensor(final String identifier) {
+    return this.addChildAggregatedSensor(identifier, "");
+  }
+
+  /**
+   * Create a new {@link MutableAggregatedSensor} as child of this sensor.
+   */
+  public MutableAggregatedSensor addChildAggregatedSensor(final String identifier,
+      final String name) {
+    final MutableAggregatedSensor aggregatedSensor =
+        new MutableAggregatedSensor(this, identifier, name);
+    this.children.add(aggregatedSensor);
+    return aggregatedSensor;
+  }
+
+  /**
+   * Create a new {@link MachineSensor} as child of this sensor.
+   */
+  public MachineSensor addChildMachineSensor(final String identifier) {
+    return this.addChildMachineSensor(identifier, "");
+  }
+
+  /**
+   * Create a new {@link MachineSensor} as child of this sensor.
+   */
+  public MachineSensor addChildMachineSensor(final String identifier, final String name) {
+    final MachineSensorImpl machineSensor = new MachineSensorImpl(this, identifier, name);
+    final boolean registerResult = this.sensorRegistry.register(machineSensor);
+    if (!registerResult) {
+      throw new IllegalArgumentException(
+          "Sensor width identifier " + identifier + " is already registered.");
+    }
+    this.children.add(machineSensor);
+    return machineSensor;
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(this.getIdentifier(), this.children);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof AggregatedSensor) {
+      final AggregatedSensor other = (AggregatedSensor) obj;
+      return Objects.equals(this.getIdentifier(), other.getIdentifier())
+          && Objects.equals(this.children, other.getChildren());
+    }
+    return false;
+  }
+
+  @Override
+  public String toString() {
+    return this.getName() + '[' + this.getIdentifier() + "] (" + this.children.size()
+        + " children)";
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistry.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistry.java
new file mode 100644
index 0000000000000000000000000000000000000000..53a0418e6c2a8efe6139fd2150de218b4f8c6966
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistry.java
@@ -0,0 +1,84 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.AggregatedSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.MachineSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.SensorRegistrySerializer;
+
+/**
+ * A {@link SensorRegistry} to which sensors can be added.
+ */
+public class MutableSensorRegistry implements SensorRegistry {
+
+  private static final Gson GSON = new GsonBuilder()
+      .registerTypeAdapter(MutableSensorRegistry.class, new SensorRegistrySerializer())
+      .registerTypeAdapter(MutableAggregatedSensor.class, new AggregatedSensorSerializer())
+      .registerTypeAdapter(MachineSensorImpl.class, new MachineSensorSerializer()).create();
+
+  // TODO HashMap for efficient access to machine sensors
+  private final Map<String, MachineSensorImpl> machineSensors = new HashMap<>();
+
+  // TODO maybe access to root
+  private final MutableAggregatedSensor topLevelSensor;
+
+  public MutableSensorRegistry(final String topLevelSensorIdentifier) {
+    this(topLevelSensorIdentifier, "");
+  }
+
+  public MutableSensorRegistry(final String topLevelSensorIdentifier,
+      final String topLevelSensorName) {
+    this.topLevelSensor =
+        new MutableAggregatedSensor(this, topLevelSensorIdentifier, topLevelSensorName);
+  }
+
+  @Override
+  public Optional<MachineSensor> getSensorForIdentifier(final String identifier) {
+    return Optional.ofNullable(this.machineSensors.get(identifier));
+  }
+
+  @Override
+  public MutableAggregatedSensor getTopLevelSensor() {
+    return this.topLevelSensor;
+  }
+
+  @Override
+  public Collection<MachineSensor> getMachineSensors() {
+    return Collections.unmodifiableCollection(this.machineSensors.values());
+  }
+
+  protected boolean register(final MachineSensorImpl machineSensor) {
+    final Object oldValue =
+        this.machineSensors.putIfAbsent(machineSensor.getIdentifier(), machineSensor);
+    return oldValue == null;
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hashCode(this.topLevelSensor);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof SensorRegistry) {
+      final SensorRegistry other = (SensorRegistry) obj;
+      return Objects.equals(this.getTopLevelSensor(), other.getTopLevelSensor());
+    }
+    return false;
+  }
+
+  @Override
+  public String toJson() {
+    return GSON.toJson(this);
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/Sensor.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/Sensor.java
new file mode 100644
index 0000000000000000000000000000000000000000..b22cc81d3912d8094ae67475ce261ce958d3d236
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/Sensor.java
@@ -0,0 +1,16 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.Optional;
+
+/**
+ * Class representing a sensor in the {@link SensorRegistry}.
+ */
+public interface Sensor {
+
+  Optional<AggregatedSensor> getParent();
+
+  String getIdentifier();
+
+  String getName();
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/SensorRegistry.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/SensorRegistry.java
new file mode 100644
index 0000000000000000000000000000000000000000..e079f5c12e4a3ddfe9f680860444c239ae51aa6b
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/SensorRegistry.java
@@ -0,0 +1,45 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.Collection;
+import java.util.Optional;
+
+/**
+ * Hierarchical data structure (i.e. a tree) for organizing sensors. A {@link SensorRegistry} has
+ * one top-level sensor which can have multiple child sensors. These sensors can either be real
+ * {@link MachineSensor}s or {@link AggregatedSensor}s, having child sensors.
+ */
+public interface SensorRegistry {
+
+  Optional<MachineSensor> getSensorForIdentifier(final String identifier);
+
+  AggregatedSensor getTopLevelSensor();
+
+  Collection<MachineSensor> getMachineSensors();
+
+  /**
+   * Flattens the hierarchy to a collection of all contained {@link Sensor}s.
+   *
+   * @return A collection of all {@link Sensor}s contained in the hierarchy.
+   */
+  default Collection<Sensor> flatten() {
+    return this.getTopLevelSensor().flatten();
+  }
+
+  /**
+   * Converts this sensor registry into a json string.
+   *
+   * <p>
+   * Per default a copy of this sensor registry is created to ensure that proper (de)serializers
+   * exist. If subclasses have appropriate serdes, they should override this method.
+   * </p>
+   */
+  default String toJson() {
+    final ImmutableSensorRegistry immutableSensorRegistry = ImmutableSensorRegistry.copyOf(this);
+    return immutableSensorRegistry.toJson();
+  }
+
+  static SensorRegistry fromJson(final String json) {
+    return ImmutableSensorRegistry.fromJson(json);
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/AggregatedSensorSerializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/AggregatedSensorSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..64156fbc10af5a64a02107840d3586cafc30f6e8
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/AggregatedSensorSerializer.java
@@ -0,0 +1,25 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import java.lang.reflect.Type;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+
+/**
+ * {@link JsonSerializer} for {@link AggregatedSensor}s.
+ */
+public final class AggregatedSensorSerializer implements JsonSerializer<AggregatedSensor> {
+
+  @Override
+  public JsonElement serialize(final AggregatedSensor sensor, final Type type,
+      final JsonSerializationContext context) {
+    final JsonObject jsonSensorObject = new JsonObject();
+    jsonSensorObject.addProperty("identifier", sensor.getIdentifier());
+    jsonSensorObject.addProperty("name", sensor.getName());
+    jsonSensorObject.add("children", context.serialize(sensor.getChildren()));
+    return jsonSensorObject;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/MachineSensorSerializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/MachineSensorSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..4301552e922801d402f456b51a5607d9e1351294
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/MachineSensorSerializer.java
@@ -0,0 +1,24 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import java.lang.reflect.Type;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MachineSensor;
+
+/**
+ * {@link JsonSerializer} for {@link MachineSensor}s.
+ */
+public final class MachineSensorSerializer implements JsonSerializer<MachineSensor> {
+
+  @Override
+  public JsonElement serialize(final MachineSensor sensor, final Type type,
+      final JsonSerializationContext context) {
+    final JsonObject jsonSensorObject = new JsonObject();
+    jsonSensorObject.addProperty("identifier", sensor.getIdentifier());
+    jsonSensorObject.addProperty("name", sensor.getName());
+    return jsonSensorObject;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..b0a3a30524ae4d6c3b78d584c5eb574644fcbb08
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializer.java
@@ -0,0 +1,120 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
+import java.lang.reflect.Type;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableAggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+
+/**
+ * {@link JsonDeserializer} for {@link AggregatedSensor}s.
+ */
+public final class SensorRegistryDeserializer implements JsonDeserializer<SensorRegistry> {
+
+  private static final String IDENTIFIER_KEY = "identifier";
+
+  private static final String NAME_KEY = "name";
+
+  private static final String CHILDREN_KEY = "children";
+
+  @Override
+  public SensorRegistry deserialize(final JsonElement jsonElement, final Type type,
+      final JsonDeserializationContext context) {
+    final MutableSensorRegistry sensorRegistry = this.transformTopLevelSensor(jsonElement);
+
+    return ImmutableSensorRegistry.copyOf(sensorRegistry);
+  }
+
+  private MutableSensorRegistry transformTopLevelSensor(final JsonElement jsonElement) {
+    final SensorParseResult parseResult = this.parseSensor(jsonElement); //
+    if (parseResult == null) {
+      // create empty registry
+      return new MutableSensorRegistry("", "");
+    } else {
+      // create registry from result
+      final MutableSensorRegistry sensorRegistry =
+          new MutableSensorRegistry(parseResult.identifier, parseResult.name);
+      if (parseResult.children != null) {
+        for (final JsonElement childJsonElement : parseResult.children) {
+          this.addSensor(childJsonElement, sensorRegistry.getTopLevelSensor());
+        }
+      }
+      return sensorRegistry;
+    }
+  }
+
+  private void addSensor(final JsonElement jsonElement,
+      final MutableAggregatedSensor parentSensor) {
+    final SensorParseResult parseResult = this.parseSensor(jsonElement);
+    if (parseResult != null) {
+      // create child sensor from result
+      if (parseResult.children == null) {
+        // create MachineSensor
+        parentSensor.addChildMachineSensor(parseResult.identifier, parseResult.name);
+      } else {
+        // create Aggregated Sensor
+        final MutableAggregatedSensor sensor =
+            parentSensor.addChildAggregatedSensor(parseResult.identifier, parseResult.name);
+        for (final JsonElement childJsonElement : parseResult.children) {
+          this.addSensor(childJsonElement, sensor);
+        }
+      }
+    }
+  }
+
+  // returns null if invalid JsonElement
+  private SensorParseResult parseSensor(final JsonElement jsonElement) {
+    if (jsonElement.isJsonObject()) {
+      final JsonObject jsonObject = jsonElement.getAsJsonObject();
+      if (jsonObject.has(IDENTIFIER_KEY)) {
+        final JsonElement identifierJsonElement = jsonObject.get(IDENTIFIER_KEY);
+        final JsonElement nameJsonElement = jsonObject.get(NAME_KEY);
+        if (identifierJsonElement.isJsonPrimitive() && nameJsonElement.isJsonPrimitive()) {
+          final JsonPrimitive identifierJsonPrimitive = identifierJsonElement.getAsJsonPrimitive();
+          final JsonPrimitive nameJsonPrimitive = nameJsonElement.getAsJsonPrimitive();
+          if (identifierJsonPrimitive.isString()) {
+            final String identifierString = identifierJsonPrimitive.getAsString();
+            final String nameString = nameJsonPrimitive.getAsString();
+            final JsonArray childrenJsonArray = this.parseChildren(jsonObject);
+            return new SensorParseResult(identifierString, nameString, childrenJsonArray);
+          }
+        }
+      }
+    }
+    return null;
+    // TODO throw exception
+  }
+
+  // returns null if JsonObject does not have children or children is not an array
+  private JsonArray parseChildren(final JsonObject parentJsonObject) {
+    if (parentJsonObject.has(CHILDREN_KEY)) {
+      final JsonElement childrenJsonElement = parentJsonObject.get(CHILDREN_KEY);
+      if (childrenJsonElement.isJsonArray()) {
+        return childrenJsonElement.getAsJsonArray();
+      }
+    }
+    return null;
+    // TODO throw exception
+  }
+
+  private static class SensorParseResult {
+    private final String identifier;
+    private final String name;
+    private final JsonArray children;
+
+    private SensorParseResult(final String identifier, final String name,
+        final JsonArray children) {
+      this.identifier = identifier;
+      this.children = children;
+      this.name = name;
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializer.java b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..0a3581164a3e17c7e681b4c78f3d71a5a398ee92
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/main/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializer.java
@@ -0,0 +1,20 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import java.lang.reflect.Type;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+
+/**
+ * {@link JsonSerializer} for {@link SensorRegistry}s.
+ */
+public final class SensorRegistrySerializer implements JsonSerializer<SensorRegistry> {
+
+  @Override
+  public JsonElement serialize(final SensorRegistry sensorRegistry, final Type type,
+      final JsonSerializationContext context) {
+    return context.serialize(sensorRegistry.getTopLevelSensor());
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/common/configuration/NameResolvingEnvironmentConfigurationTest.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/common/configuration/NameResolvingEnvironmentConfigurationTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7bc8d0f66b1aea0b367756bd383af6d6ea6c0f9
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/common/configuration/NameResolvingEnvironmentConfigurationTest.java
@@ -0,0 +1,88 @@
+package rocks.theodolite.benchmarks.commons.common.configuration;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import org.apache.commons.configuration2.Configuration;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.contrib.java.lang.system.EnvironmentVariables;
+import rocks.theodolite.benchmarks.commons.commons.configuration.NameResolvingEnvironmentConfiguration;
+
+public class NameResolvingEnvironmentConfigurationTest {
+
+  private static final String PROPERTY_FILES_KEY = "my.env.var";
+  private static final String ENV_VAR_KEY = "MY_ENV_VAR";
+  private static final String STRING_VALUE = "value";
+  private static final String STRING_VALUE_2 = "value2";
+  private static final int INT_VALUE = 7;
+
+  @Rule
+  public final EnvironmentVariables environmentVariables = new EnvironmentVariables();
+
+  @Test
+  public void testHelperLibrary() {
+    this.environmentVariables.clear("name");
+    this.environmentVariables.set("name", STRING_VALUE);
+    assertEquals("value", System.getenv("name"));
+  }
+
+  @Test
+  public void testGetUsingEnvVarFormat() {
+    this.environmentVariables.clear(ENV_VAR_KEY);
+    this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final String result = config.getString(ENV_VAR_KEY);
+    assertEquals(STRING_VALUE, result);
+  }
+
+  @Test
+  public void testGetUsingPropertiesFormat() {
+    this.environmentVariables.clear(ENV_VAR_KEY);
+    this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final String result = config.getString(PROPERTY_FILES_KEY);
+    assertEquals(STRING_VALUE, result);
+  }
+
+  @Test
+  public void testGetOfNumber() {
+    this.environmentVariables.clear(ENV_VAR_KEY);
+    this.environmentVariables.set(ENV_VAR_KEY, String.valueOf(INT_VALUE));
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final int result = config.getInt(PROPERTY_FILES_KEY);
+    assertEquals(INT_VALUE, result);
+  }
+
+  @Test
+  public void testGetOfBothExisting() {
+    this.environmentVariables.clear(ENV_VAR_KEY, PROPERTY_FILES_KEY);
+    this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
+    this.environmentVariables.set(PROPERTY_FILES_KEY, STRING_VALUE_2);
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final String result = config.getString(PROPERTY_FILES_KEY);
+    assertEquals(STRING_VALUE_2, result);
+  }
+
+  @Test
+  public void testGetNonExistingUsingEnvVarFormat() {
+    this.environmentVariables.clear(ENV_VAR_KEY);
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final String result = config.getString(ENV_VAR_KEY);
+    assertNull(result);
+  }
+
+  @Test
+  public void testGetNonExistingUsingPropertiesFormat() {
+    this.environmentVariables.clear(ENV_VAR_KEY);
+    final Configuration config = new NameResolvingEnvironmentConfiguration();
+    final String result = config.getString(PROPERTY_FILES_KEY);
+    assertNull(result);
+  }
+
+  @Test
+  public void testFormatKeyAsEnvVariable() {
+    assertEquals(ENV_VAR_KEY,
+        NameResolvingEnvironmentConfiguration.formatKeyAsEnvVariable(PROPERTY_FILES_KEY));
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ExampleSensors.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ExampleSensors.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d1b4d65a46202561de0aee701895d57cba4ee12
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ExampleSensors.java
@@ -0,0 +1,36 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class ExampleSensors {
+
+  private static final SensorRegistry REGISTRY;
+
+  static {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    final MutableAggregatedSensor comcent = topLevel.addChildAggregatedSensor("comcent");
+    final MutableAggregatedSensor server1 = comcent.addChildAggregatedSensor("comcent.server1");
+    final MachineSensor server1pw1 = server1.addChildMachineSensor("comcent.server1.pw1");
+    final MachineSensor server1pw2 = server1.addChildMachineSensor("comcent.server1.pw2");
+    final MachineSensor server1pw3 = server1.addChildMachineSensor("comcent.server1.pw3");
+    final MutableAggregatedSensor server2 = comcent.addChildAggregatedSensor("comcent.server2");
+    final MachineSensor server2pw1 = server2.addChildMachineSensor("comcent.server2.pw1");
+    final MachineSensor server2pw2 = server2.addChildMachineSensor("comcent.server2.pw2");
+
+    REGISTRY = ImmutableSensorRegistry.copyOf(sensorRegistry);
+  }
+
+  private ExampleSensors() {}
+
+  public static List<String> machineSensorNames() {
+    return REGISTRY.getMachineSensors().stream().map(s -> s.getIdentifier())
+        .collect(Collectors.toList());
+  }
+
+  public static SensorRegistry registry() {
+    return REGISTRY;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistryTest.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistryTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..2be6ce4d5920f6c2640e0701a4f6afbc0cfa544f
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/ImmutableSensorRegistryTest.java
@@ -0,0 +1,106 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+public class ImmutableSensorRegistryTest {
+
+  @Test
+  public void testEquals() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.equals(sensorRegistry2));
+    assertTrue(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testEqualsWithDifferentNames() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistryWithDifferentNames());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.equals(sensorRegistry2));
+    assertTrue(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testNotEquals() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getOtherSensorRegistry());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertFalse(sensorRegistry1.equals(sensorRegistry2));
+    assertFalse(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testEqualHashCodes() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  @Test
+  public void testEqualHashCodesWithDifferentNames() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistryWithDifferentNames());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  @Test
+  public void testNotEqualHashCodes() {
+    final ImmutableSensorRegistry sensorRegistry1 =
+        ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
+    final ImmutableSensorRegistry sensorRegistry2 =
+        ImmutableSensorRegistry.copyOf(this.getOtherSensorRegistry());
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertFalse(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  private MutableSensorRegistry getSensorRegistry() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
+    return sensorRegistry;
+  }
+
+  private MutableSensorRegistry getSensorRegistryWithDifferentNames() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1 Alternative");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2 Alternative");
+    return sensorRegistry;
+  }
+
+  private MutableSensorRegistry getOtherSensorRegistry() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-3", "Grandchild 3");
+    return sensorRegistry;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MaschineSensorImplExposer.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MaschineSensorImplExposer.java
new file mode 100644
index 0000000000000000000000000000000000000000..f397d8ad7c2676e7f98be8d0fdb1743347509960
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MaschineSensorImplExposer.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+/**
+ * Helper class to allow tests in other packages access {@link MachineSensorImpl} class objects.
+ */
+public final class MaschineSensorImplExposer {
+
+  public static final Class<? extends MachineSensor> MACHINE_SENSOR_IMPL_CLASS =
+      MachineSensorImpl.class;
+
+  private MaschineSensorImplExposer() {}
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistryTest.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistryTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d49c65c69209c574de35ac4509cf32c04c89459
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/MutableSensorRegistryTest.java
@@ -0,0 +1,102 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import java.util.Optional;
+import org.junit.Test;
+
+public class MutableSensorRegistryTest {
+
+  @Test
+  public void parentOfTopLevelShouldBeNotPresent() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root");
+    final Optional<AggregatedSensor> parent = sensorRegistry.getTopLevelSensor().getParent();
+    assertFalse(parent.isPresent());
+  }
+
+  @Test
+  public void testEquals() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistry();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.equals(sensorRegistry2));
+    assertTrue(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testEqualsWithDifferentNames() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistryWithDifferentNames();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.equals(sensorRegistry2));
+    assertTrue(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testNotEquals() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getOtherSensorRegistry();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertFalse(sensorRegistry1.equals(sensorRegistry2));
+    assertFalse(sensorRegistry2.equals(sensorRegistry1));
+  }
+
+  @Test
+  public void testEqualHashCodes() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistry();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  @Test
+  public void testEqualHashCodesWithDifferentNames() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistryWithDifferentNames();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  @Test
+  public void testNotEqualHashCodes() {
+    final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
+    final MutableSensorRegistry sensorRegistry2 = this.getOtherSensorRegistry();
+    assertFalse(sensorRegistry1 == sensorRegistry2);
+    assertFalse(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
+  }
+
+  private MutableSensorRegistry getSensorRegistry() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
+    return sensorRegistry;
+  }
+
+  private MutableSensorRegistry getSensorRegistryWithDifferentNames() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1 Alternative");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2 Alternative");
+    return sensorRegistry;
+  }
+
+  private MutableSensorRegistry getOtherSensorRegistry() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1");
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-2", "Child 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
+    aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
+    aggregatedSensor.addChildMachineSensor("grandchild-3", "Grandchild 3");
+    return sensorRegistry;
+  }
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializerTest.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9821eb90a916e42fdff8750d5c0d7c3cfd265a8
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistryDeserializerTest.java
@@ -0,0 +1,174 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.List;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MachineSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.SensorRegistryDeserializer;
+
+public class SensorRegistryDeserializerTest {
+
+	private Gson gson;
+
+	@Before
+	public void setUp() throws Exception {
+		this.gson = new GsonBuilder().registerTypeAdapter(SensorRegistry.class, new SensorRegistryDeserializer()).create();
+	}
+
+	@After
+	public void tearDown() throws Exception {
+		this.gson = null;
+	}
+
+	@Test
+	public void testEmptyRegistry() {
+		final String json = "";
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		assertNull(registry);
+	}
+
+	@Test
+	public void testRegistryOfWrongType() {
+		final String json = "[{\"identifier\": \"my-id\", \"name\": \"My Name\"}]";
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		assertEquals(registry.getTopLevelSensor().getIdentifier(), "");
+		assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
+	}
+
+	@Test
+	public void testRegistryWithMissingIdentifier() {
+		final String json = "{\"children\": []}";
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		assertEquals(registry.getTopLevelSensor().getIdentifier(), "");
+		assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
+	}
+
+	@Test
+	public void testRegistryWithMissingChildren() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\"}";
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		assertEquals(registry.getTopLevelSensor().getIdentifier(), "my-root-id");
+		assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
+	}
+
+	@Test
+	public void testRegistryWithZeroChildren() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": []}";
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		assertEquals(registry.getTopLevelSensor().getIdentifier(), "my-root-id");
+		assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
+	}
+
+	@Test
+	public void testRegistryWithOneGenerationChildren() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, {\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}, {\"identifier\": \"child-id-3\", \"name\": \"Child 3\"}]}";
+		final List<String> childIdentifiers = ImmutableList.of("child-id-1", "child-id-2", "child-id-3"); // List.of() in Java <= 9
+
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
+		assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
+		final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
+		assertEquals(childSensors.size(), 3);
+		for (final Sensor sensor : childSensors) {
+			assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
+			assertTrue(sensor instanceof MachineSensor);
+		}
+		for (final String childIdentifier : childIdentifiers) {
+			assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
+		}
+	}
+
+	@Test
+	public void testRegistryWithCorruptedChild() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, {\"no-identifier\": \"child-id-2\", \"name\": \"Child 2\"}]}";
+		final List<String> childIdentifiers = ImmutableList.of("child-id-1"); // List.of() in Java <= 9
+
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
+		assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
+		final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
+		assertEquals(childSensors.size(), 1);
+		for (final Sensor sensor : childSensors) {
+			assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
+			assertTrue(sensor instanceof MachineSensor);
+		}
+		for (final String childIdentifier : childIdentifiers) {
+			assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
+		}
+	}
+
+	@Test
+	public void testRegistryWithArrayAsChild() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, [{\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}]]}";
+		final List<String> childIdentifiers = ImmutableList.of("child-id-1"); // List.of() in Java <= 9
+
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
+		assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
+		final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
+		assertEquals(childSensors.size(), 1);
+		for (final Sensor sensor : childSensors) {
+			assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
+			assertTrue(sensor instanceof MachineSensor);
+		}
+		for (final String childIdentifier : childIdentifiers) {
+			assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
+		}
+	}
+
+	@Test
+	public void testRegistryWithTwoGenerationChildren() {
+		final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\", \"children\": [{\"identifier\": \"child-id-1-1\", \"name\": \"Child 1a\"}, {\"identifier\": \"child-id-1-2\", \"name\": \"Child 1b\"}, {\"identifier\": \"child-id-1-3\", \"name\": \"Child 1c\"}]}, {\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}]}";
+		final List<String> childIdentifiers = ImmutableList.of("child-id-1", "child-id-2"); // List.of() in Java <= 9
+		final List<String> grandChildIdentifiers = ImmutableList.of("child-id-1-1", "child-id-1-2", "child-id-1-3"); // List.of() in Java <= 9
+		final List<String> machineSensorIdentifiers = ImmutableList.of("child-id-2", "child-id-1-1", "child-id-1-2", // List.of() in Java <= 9
+				"child-id-1-3");
+
+		final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
+		final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
+		assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
+		final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
+		assertEquals(childSensors.size(), 2);
+		for (final Sensor sensor : childSensors) {
+			assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
+			if (sensor.getIdentifier().equals("child-id-2")) {
+				assertTrue(sensor instanceof MachineSensor);
+			} else if (sensor.getIdentifier().equals("child-id-1")) {
+				assertTrue(sensor instanceof AggregatedSensor);
+				if (sensor instanceof AggregatedSensor) {
+					final AggregatedSensor aggregatedSensor = (AggregatedSensor) sensor;
+					final List<Sensor> grandChildSensors = Lists.newArrayList(aggregatedSensor.getChildren());
+					assertEquals(grandChildSensors.size(), 3);
+					for (final Sensor grandChildSensor : grandChildSensors) {
+						assertTrue(grandChildIdentifiers.contains(grandChildSensor.getIdentifier()));
+						assertTrue(grandChildSensor instanceof MachineSensor);
+					}
+				} else {
+					fail(); // Should never happen because of asserTrue check before
+				}
+			} else {
+				fail("Sensor is neither of type MachineSensor nor AggregatedSensor");
+			}
+		}
+		for (final String identifier : machineSensorIdentifiers) {
+			assertTrue(registry.getSensorForIdentifier(identifier).isPresent());
+		}
+	}
+
+}
diff --git a/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializerTest.java b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2413b571c3445df71480f76cb2b0cf251ad6009
--- /dev/null
+++ b/theodolite-benchmarks/commons/src/test/java/rocks/theodolite/benchmarks/commons/model/sensorregistry/serialization/SensorRegistrySerializerTest.java
@@ -0,0 +1,74 @@
+package rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization;
+
+import static org.junit.Assert.assertEquals;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MaschineSensorImplExposer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableAggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.AggregatedSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.MachineSensorSerializer;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.serialization.SensorRegistrySerializer;
+
+public class SensorRegistrySerializerTest {
+
+  private Gson gson;
+
+  @Before
+  public void setUp() throws Exception {
+    this.gson = new GsonBuilder()
+        .registerTypeAdapter(MutableSensorRegistry.class, new SensorRegistrySerializer())
+        .registerTypeAdapter(MutableAggregatedSensor.class, new AggregatedSensorSerializer())
+        .registerTypeAdapter(MaschineSensorImplExposer.MACHINE_SENSOR_IMPL_CLASS,
+            new MachineSensorSerializer())
+        .create();
+  }
+
+  @After
+  public void tearDown() throws Exception {
+    this.gson = null;
+  }
+
+  @Test
+  public void testEmptySensorRegistry() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+
+    final String json = this.gson.toJson(sensorRegistry);
+    System.out.println(json);
+    assertEquals(json, "{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[]}");
+  }
+
+  @Test
+  public void testEmptySensorRegistryWithChildren() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    topLevel.addChildMachineSensor("child-1", "Child 1");
+    topLevel.addChildMachineSensor("child-2");
+
+    final String json = this.gson.toJson(sensorRegistry);
+    System.out.println(json);
+    assertEquals(json,
+        "{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[{\"identifier\":\"child-1\",\"name\":\"Child 1\"},{\"identifier\":\"child-2\",\"name\":\"\"}]}");
+  }
+
+  @Test
+  public void testEmptySensorRegistryWithGrandChildren() {
+    final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
+    final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
+    final MutableAggregatedSensor aggregatedSensor =
+        topLevel.addChildAggregatedSensor("child-1", "Child 1");
+    aggregatedSensor.addChildMachineSensor("child-1-1", "Child 1a");
+    aggregatedSensor.addChildMachineSensor("child-1-2", "Child 1b");
+    topLevel.addChildMachineSensor("child-2", "Child 2");
+
+    final String json = this.gson.toJson(sensorRegistry);
+    System.out.println(json);
+    assertEquals(json,
+        "{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[{\"identifier\":\"child-1\",\"name\":\"Child 1\",\"children\":[{\"identifier\":\"child-1-1\",\"name\":\"Child 1a\"},{\"identifier\":\"child-1-2\",\"name\":\"Child 1b\"}]},{\"identifier\":\"child-2\",\"name\":\"Child 2\"}]}");
+  }
+
+}
diff --git a/theodolite-benchmarks/config/spotbugs-exclude-filter.xml b/theodolite-benchmarks/config/spotbugs-exclude-filter.xml
index 38cd4b6914b3f0cbdeac2a22bf29ce0d7cf487ee..4bc9e048fb20e27feb793d4c6c398345cd599cff 100644
--- a/theodolite-benchmarks/config/spotbugs-exclude-filter.xml
+++ b/theodolite-benchmarks/config/spotbugs-exclude-filter.xml
@@ -5,4 +5,7 @@
     <Rank value="16" />
   </Match>
 
+  <!-- Temporary disabled due to potential false positive reported in https://github.com/spotbugs/spotbugs/issues/1923. -->
+  <Bug code="NP" />
+
 </FindBugsFilter>
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/install-configmaps.sh b/theodolite-benchmarks/definitions/install-configmaps.sh
index 841a293bbb77c4960a2532a13a009a42227223d3..e6630ca08154631a395c151fac376859fc885495 100755
--- a/theodolite-benchmarks/definitions/install-configmaps.sh
+++ b/theodolite-benchmarks/definitions/install-configmaps.sh
@@ -4,12 +4,30 @@ kubectl create configmap benchmark-resources-uc2-flink --from-file uc2-flink/res
 kubectl create configmap benchmark-resources-uc3-flink --from-file uc3-flink/resources
 kubectl create configmap benchmark-resources-uc4-flink --from-file uc4-flink/resources
 
+kubectl create configmap benchmark-resources-uc1-hazelcastjet --from-file uc1-hazelcastjet/resources
+kubectl create configmap benchmark-resources-uc2-hazelcastjet --from-file uc2-hazelcastjet/resources
+kubectl create configmap benchmark-resources-uc3-hazelcastjet --from-file uc3-hazelcastjet/resources
+kubectl create configmap benchmark-resources-uc4-hazelcastjet --from-file uc4-hazelcastjet/resources
+
+
 # Kafka Streams
 kubectl create configmap benchmark-resources-uc1-kstreams --from-file uc1-kstreams/resources
 kubectl create configmap benchmark-resources-uc2-kstreams --from-file uc2-kstreams/resources
 kubectl create configmap benchmark-resources-uc3-kstreams --from-file uc3-kstreams/resources
 kubectl create configmap benchmark-resources-uc4-kstreams --from-file uc4-kstreams/resources
 
+# Beam Flink
+kubectl create configmap benchmark-resources-uc1-beam-flink --from-file uc1-beam-flink/resources
+kubectl create configmap benchmark-resources-uc2-beam-flink --from-file uc2-beam-flink/resources
+kubectl create configmap benchmark-resources-uc3-beam-flink --from-file uc3-beam-flink/resources
+kubectl create configmap benchmark-resources-uc4-beam-flink --from-file uc4-beam-flink/resources
+
+# Beam Samza
+kubectl create configmap benchmark-resources-uc1-beam-samza --from-file uc1-beam-samza/resources
+kubectl create configmap benchmark-resources-uc2-beam-samza --from-file uc2-beam-samza/resources
+kubectl create configmap benchmark-resources-uc3-beam-samza --from-file uc3-beam-samza/resources
+kubectl create configmap benchmark-resources-uc4-beam-samza --from-file uc4-beam-samza/resources
+
 # Load Generator
 kubectl create configmap benchmark-resources-uc1-load-generator --from-file uc1-load-generator/resources
 kubectl create configmap benchmark-resources-uc2-load-generator --from-file uc2-load-generator/resources
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/flink-configuration-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..36178e2bebdac96b8648bd6c299009aa49d3fff6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/flink-configuration-configmap.yaml
@@ -0,0 +1,66 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: flink-config
+  labels:
+    app: flink
+data:
+  flink-conf.yaml: |+
+    jobmanager.rpc.address: flink-jobmanager
+    taskmanager.numberOfTaskSlots: 1 #TODO
+    #blob.server.port: 6124
+    #jobmanager.rpc.port: 6123
+    #taskmanager.rpc.port: 6122
+    #queryable-state.proxy.ports: 6125
+    #jobmanager.memory.process.size: 4Gb
+    #taskmanager.memory.process.size: 4Gb
+    #parallelism.default: 1 #TODO
+    metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
+    metrics.reporter.prom.interval: 10 SECONDS
+    taskmanager.network.detailed-metrics: true
+  # -> gives metrics about inbound/outbound network queue lengths
+  log4j-console.properties: |+
+    # This affects logging for both user code and Flink
+    rootLogger.level = INFO
+    rootLogger.appenderRef.console.ref = ConsoleAppender
+    rootLogger.appenderRef.rolling.ref = RollingFileAppender
+
+    # Uncomment this if you want to _only_ change Flink's logging
+    #logger.flink.name = org.apache.flink
+    #logger.flink.level = INFO
+
+    # The following lines keep the log level of common libraries/connectors on
+    # log level INFO. The root logger does not override this. You have to manually
+    # change the log levels here.
+    logger.akka.name = akka
+    logger.akka.level = INFO
+    logger.kafka.name= org.apache.kafka
+    logger.kafka.level = INFO
+    logger.hadoop.name = org.apache.hadoop
+    logger.hadoop.level = INFO
+    logger.zookeeper.name = org.apache.zookeeper
+    logger.zookeeper.level = INFO
+
+    # Log all infos to the console
+    appender.console.name = ConsoleAppender
+    appender.console.type = CONSOLE
+    appender.console.layout.type = PatternLayout
+    appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+
+    # Log all infos in the given rolling file
+    appender.rolling.name = RollingFileAppender
+    appender.rolling.type = RollingFile
+    appender.rolling.append = false
+    appender.rolling.fileName = ${sys:log.file}
+    appender.rolling.filePattern = ${sys:log.file}.%i
+    appender.rolling.layout.type = PatternLayout
+    appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+    appender.rolling.policies.type = Policies
+    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+    appender.rolling.policies.size.size=100MB
+    appender.rolling.strategy.type = DefaultRolloverStrategy
+    appender.rolling.strategy.max = 10
+
+    # Suppress the irrelevant (wrong) warnings from the Netty channel handler
+    logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
+    logger.netty.level = OFF
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c1fb35cbfb67efa5b4e41787c342374e835a1f3e
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-deployment.yaml
@@ -0,0 +1,97 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-jobmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: jobmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: jobmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: jobmanager
+          image: ghcr.io/cau-se/theodolite-uc1-beam-flink:latest
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc1.beam.flink.Uc1BeamFlink",
+                  "--parallelism=$(PARALLELISM)",
+                  "--disableMetrics=true",
+                  "--fasterCopy"]
+          # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: PARALLELISM
+              value: "1"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            - name: FLINK_PROPERTIES
+              value: |+
+                blob.server.port: 6124
+                jobmanager.rpc.port: 6123
+                taskmanager.rpc.port: 6122
+                queryable-state.proxy.ports: 6125
+                jobmanager.memory.process.size: 4Gb
+                taskmanager.memory.process.size: 4Gb
+                parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6123
+              name: rpc
+            - containerPort: 6124
+              name: blob-server
+            - containerPort: 8081
+              name: webui
+            - containerPort: 9249
+              name: metrics
+          livenessProbe:
+            tcpSocket:
+              port: 6123
+            initialDelaySeconds: 30
+            periodSeconds: 60
+          # volumeMounts:
+          #   - name: flink-config-volume-rw
+          #     mountPath: /opt/flink/conf
+#            - name: job-artifacts-volume
+#              mountPath: /opt/flink/usrlib
+          securityContext:
+            runAsUser: 9999  # refers to user _flink_ from official flink image, change if necessary
+      # initContainers:
+      #   - name: init-jobmanager
+      #     image: busybox:1.28
+      #     command: ['cp', '-a', '/flink-config/.', '/flink-config-rw/']
+      #     volumeMounts:
+      #       - name: flink-config-volume
+      #         mountPath: /flink-config/
+      #       - name: flink-config-volume-rw
+      #         mountPath: /flink-config-rw/
+      # volumes:
+      #   - name: flink-config-volume
+      #     configMap:
+      #       name: flink-config
+      #       items:
+      #         - key: flink-conf.yaml
+      #           path: flink-conf.yaml
+      #         - key: log4j-console.properties
+      #           path: log4j-console.properties
+      #   - name: flink-config-volume-rw
+      #     emptyDir: {}
+#        - name: job-artifacts-volume
+#          hostPath:
+#            path: /host/path/to/job/artifacts
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-rest-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3d74aaf7f625c6922e2e1b4f20c19e50a39b68ac
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-rest-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager-rest
+spec:
+  type: NodePort
+  ports:
+    - name: rest
+      port: 8081
+      targetPort: 8081
+      nodePort: 30081
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e2ff5d9898eb1ebf5db9a827472a47514ab1473c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/jobmanager-service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: rpc
+      port: 6123
+    - name: blob-server
+      port: 6124
+    - name: webui
+      port: 8081
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/helm/templates/kafka/service-monitor.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/service-monitor.yaml
similarity index 51%
rename from helm/templates/kafka/service-monitor.yaml
rename to theodolite-benchmarks/definitions/uc1-beam-flink/resources/service-monitor.yaml
index 68fd5f7599d36187fa7c4dee2fab211eb263c67d..02f78823c627e27ddfe1db5eac3f6a7f7a7f1bf8 100644
--- a/helm/templates/kafka/service-monitor.yaml
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/service-monitor.yaml
@@ -1,16 +1,14 @@
-{{- if .Values.kafkaClient.enabled -}}
 apiVersion: monitoring.coreos.com/v1
 kind: ServiceMonitor
 metadata:
   labels:
-    app: cp-kafka
+    app: flink
     appScope: titan-ccp
-  name: {{ template "theodolite.fullname" . }}-cp-kafka
+  name: flink
 spec:
   selector:
     matchLabels:
-      app: cp-kafka
+        app: flink
   endpoints:
     - port: metrics
-      interval: 7s
-{{- end}}
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7d70908589cfa2124af64cf3c671ed62c00b1be6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-deployment.yaml
@@ -0,0 +1,88 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-taskmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: taskmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: taskmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: taskmanager
+          image: ghcr.io/cau-se/theodolite-uc1-beam-flink:latest
+          args: ["taskmanager"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            # - name: PARALLELISM
+            #   value: "1"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            # - name: TASK_MANAGER_NUMBER_OF_TASK_SLOTS
+            #   value: "1" #TODO
+            # - name: FLINK_PROPERTIES
+            #   value: |+
+            #     blob.server.port: 6124
+            #     jobmanager.rpc.port: 6123
+            #     taskmanager.rpc.port: 6122
+            #     queryable-state.proxy.ports: 6125
+            #     jobmanager.memory.process.size: 4Gb
+            #     taskmanager.memory.process.size: 4Gb
+            #     #parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6122
+              name: rpc
+            - containerPort: 6125
+              name: query-state
+            - containerPort: 9249
+              name: metrics
+          # livenessProbe:
+          #   tcpSocket:
+          #     port: 6122
+          #   initialDelaySeconds: 30
+          #   periodSeconds: 60
+          # volumeMounts:
+          #   - name: flink-config-volume-rw
+          #     mountPath: /opt/flink/conf/
+          securityContext:
+            runAsUser: 9999  # refers to user _flink_ from official flink image, change if necessary
+      # initContainers:
+      #   - name: init-taskmanager
+      #     image: busybox:1.28
+      #     command: ['cp', '-a', '/flink-config/.', '/flink-config-rw/']
+      #     volumeMounts:
+      #       - name: flink-config-volume
+      #         mountPath: /flink-config/
+      #       - name: flink-config-volume-rw
+      #         mountPath: /flink-config-rw/
+      # volumes:
+      #   - name: flink-config-volume
+      #     configMap:
+      #       name: flink-config
+      #       items:
+      #         - key: flink-conf.yaml
+      #           path: flink-conf.yaml
+      #         - key: log4j-console.properties
+      #           path: log4j-console.properties
+      #   - name: flink-config-volume-rw
+      #     emptyDir: {}
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a2e27f64af1cfd1a26da142b8a50bb41c8ba5fcb
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/resources/taskmanager-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-taskmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: taskmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-beam-flink/uc1-beam-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-beam-flink/uc1-beam-flink-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9c404da65307d3baf0423fe7af9809b55a1b64d8
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-flink/uc1-beam-flink-benchmark-operator.yaml
@@ -0,0 +1,66 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc1-beam-flink
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-beam-flink"
+          files:
+          - "flink-configuration-configmap.yaml"
+          - "taskmanager-deployment.yaml"
+          - "taskmanager-service.yaml"
+          - "service-monitor.yaml"
+          - "jobmanager-service.yaml"
+          - "jobmanager-deployment.yaml"
+          #- "jobmanager-rest-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-load-generator"
+          files:
+          - "uc1-load-generator-deployment.yaml"
+          - "uc1-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "taskmanager-deployment.yaml"
+        - type: "EnvVarPatcher"
+          resource: "jobmanager-deployment.yaml"
+          properties:
+            container: "jobmanager"
+            variableName: "PARALLELISM"
+        - type: "EnvVarPatcher" # required?
+          resource: "taskmanager-deployment.yaml"
+          properties:
+            container: "taskmanager"
+            variableName: "PARALLELISM"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-beam-samza/resources/beam-samza-service.yaml b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/beam-samza-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6317caf9fe624e42449b8f630d040a068709cda3
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/beam-samza-service.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  #type: NodePort
+  selector:
+    app: titan-ccp-aggregation
+  ports:
+  - name: http
+    port: 80
+    targetPort: 80
+    protocol: TCP
+  - name: metrics
+    port: 5556
diff --git a/theodolite-benchmarks/definitions/uc1-beam-samza/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4e7e758cacb5086305efa26292ddef2afc958096
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: titan-ccp-aggregation
+    appScope: titan-ccp
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+        app: titan-ccp-aggregation
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc1-beam-samza/resources/uc1-beam-samza-deployment.yaml b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/uc1-beam-samza-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..607767382b4b2fce406fe3820c0f8c6ed1cef777
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-samza/resources/uc1-beam-samza-deployment.yaml
@@ -0,0 +1,60 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc1-beam-samza
+          image: ghcr.io/cau-se/theodolite-uc1-beam-samza:latest
+          env:
+            - name: SAMZA_JOB_COORDINATOR_ZK_CONNECT
+              value: "theodolite-kafka-zoo-entrance:2181"
+            - name: SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: MAX_SOURCE_PARALLELISM
+              value: "1024"
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            # - name: JAVA_OPTS
+            #   value: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=5555"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+      #   - name: prometheus-jmx-exporter
+      #     image: "solsson/kafka-prometheus-jmx-exporter@sha256:6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143"
+      #     command:
+      #       - java
+      #       - -XX:+UnlockExperimentalVMOptions
+      #       - -XX:+UseCGroupMemoryLimitForHeap
+      #       - -XX:MaxRAMFraction=1
+      #       - -XshowSettings:vm
+      #       - -jar
+      #       - jmx_prometheus_httpserver.jar
+      #       - "5556"
+      #       - /etc/jmx-aggregation/jmx-kafka-prometheus.yml
+      #     ports:
+      #       - containerPort: 5556
+      #     volumeMounts:
+      #       - name: jmx-config
+      #         mountPath: /etc/jmx-aggregation
+      # volumes:
+      #   - name: jmx-config
+      #     configMap:
+      #       name: uc1-jmx-configmap
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-beam-samza/uc1-beam-samza-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-beam-samza/uc1-beam-samza-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c1e365ed32e31bf14f659ac30f32dbe3f6a9f911
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-beam-samza/uc1-beam-samza-benchmark-operator.yaml
@@ -0,0 +1,65 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc1-beam-samza
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-beam-samza"
+          files:
+          - "uc1-beam-samza-deployment.yaml"
+          - "beam-samza-service.yaml"
+          - "service-monitor.yaml"
+    afterActions:
+      - exec:
+          selector: # delete zookeeper nodes to reset zookeeper
+            pod:
+              matchLabels:
+                app: "zookeeper-client"
+            container: "zookeeper-client"
+          command: ["bash", "-c", "bin/zkCli.sh -server $ZOOKEEPER_SERVER deleteall /app-theodolite-uc1-application-1"]
+          timeoutSeconds: 60
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-load-generator"
+          files:
+          - "uc1-load-generator-deployment.yaml"
+          - "uc1-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc1-beam-samza-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: ".*samza.*"
+        removeOnly: true
+      - name: ".*uc1-application.*"
+        removeOnly: true
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml
index 1f328b1cd553c8036e570d28b97795fb2b00ec81..8e0114f17ae085057382eee597ad275c6fc0329d 100644
--- a/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc1-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
@@ -46,7 +46,7 @@ spec:
             limits:
               memory: 4Gi
               cpu: 1000m
-          args: ["standalone-job", "--job-classname", "theodolite.uc1.application.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc1.flink.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
           #command: ['sleep', '60m']
           ports:
             - containerPort: 6123
diff --git a/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml
index c2266a4aeb21302262279f147e6512d5264e1dc1..9710d44cbb1ffb75e4d1ebafe1ffe60042587adc 100644
--- a/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc1-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
diff --git a/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml
index 89bac41ee5c8dcefa628b3cb01052df5a1df9292..e4c558e12c7c3459676ec138ea4241c056656dc0 100644
--- a/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc1-flink
@@ -49,8 +49,17 @@ spec:
           resource: "uc1-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-deployment.yaml b/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cab5a625c323628ec6d6a7152e53d3ff8393a8ba
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-deployment.yaml
@@ -0,0 +1,36 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc-application
+          image: uc1-hazelcastjet
+          imagePullPolicy: "Never"
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+            - name: KUBERNETES_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: KUBERNETES_DNS_NAME
+              value: "titan-ccp-aggregation.$(KUBERNETES_NAMESPACE).svc.cluster.local"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-service.yaml b/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..845ce7dd55c6e5d45724ec1eeabf8789e704fe77
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-hazelcastjet/resources/uc1-hazelcastjet-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:  
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:    
+    app: titan-ccp-aggregation
+  ports:  
+    - name: coordination
+      port: 5701
+      targetPort: 5701
+      protocol: TCP
diff --git a/theodolite-benchmarks/definitions/uc1-hazelcastjet/uc1-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-hazelcastjet/uc1-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1ed58f97137e5093233773db875473d27e446fe6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc1-hazelcastjet/uc1-benchmark-operator.yaml
@@ -0,0 +1,51 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc1-hazelcastjet
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-hazelcastjet"
+          files:
+          - "uc1-hazelcastjet-deployment.yaml"
+          - "uc1-hazelcastjet-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc1-load-generator"
+          files:
+          - "uc1-load-generator-deployment.yaml"
+          - "uc1-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc1-hazelcastjet-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc1-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml
index 171c3446db2719ee91bd8954233015316851fcf9..b4d2bfe738fd9c96d0219a825d5c4ef2cf5385f3 100644
--- a/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml
@@ -21,7 +21,7 @@ spec:
               name: jmx
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: JAVA_OPTS
diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-operator.yaml
index fb5557c2df8b483164d3c1000717db4c7cface81..961ef594b397a870e9ea7d48e6f8a3073672818e 100644
--- a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc1-kstreams
@@ -36,8 +36,17 @@ spec:
           resource: "uc1-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-standalone.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-standalone.yaml
index 5aaf87e724a4e8c728c3c15b998cb927ff57f3d5..545474b1c556a8185d3725c51908f996b89e91e2 100644
--- a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-standalone.yaml
+++ b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-benchmark-standalone.yaml
@@ -32,7 +32,7 @@ loadTypes:
         properties:
           loadGenMaxRecords: "150000"
 kafkaConfig:
-  bootstrapServer: "theodolite-cp-kafka:9092"
+  bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
   topics:
     - name: "input"
       numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc1-load-generator/resources/uc1-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc1-load-generator/resources/uc1-load-generator-deployment.yaml
index 9f9ccc6ae39407bb1f027e1e23cb152944b869e0..65048a97d5de3d831f782db329e295a5e5ceb727 100644
--- a/theodolite-benchmarks/definitions/uc1-load-generator/resources/uc1-load-generator-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc1-load-generator/resources/uc1-load-generator-deployment.yaml
@@ -27,6 +27,6 @@ spec:
             - name: KUBERNETES_DNS_NAME
               value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/flink-configuration-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..36178e2bebdac96b8648bd6c299009aa49d3fff6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/flink-configuration-configmap.yaml
@@ -0,0 +1,66 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: flink-config
+  labels:
+    app: flink
+data:
+  flink-conf.yaml: |+
+    jobmanager.rpc.address: flink-jobmanager
+    taskmanager.numberOfTaskSlots: 1 #TODO
+    #blob.server.port: 6124
+    #jobmanager.rpc.port: 6123
+    #taskmanager.rpc.port: 6122
+    #queryable-state.proxy.ports: 6125
+    #jobmanager.memory.process.size: 4Gb
+    #taskmanager.memory.process.size: 4Gb
+    #parallelism.default: 1 #TODO
+    metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
+    metrics.reporter.prom.interval: 10 SECONDS
+    taskmanager.network.detailed-metrics: true
+  # -> gives metrics about inbound/outbound network queue lengths
+  log4j-console.properties: |+
+    # This affects logging for both user code and Flink
+    rootLogger.level = INFO
+    rootLogger.appenderRef.console.ref = ConsoleAppender
+    rootLogger.appenderRef.rolling.ref = RollingFileAppender
+
+    # Uncomment this if you want to _only_ change Flink's logging
+    #logger.flink.name = org.apache.flink
+    #logger.flink.level = INFO
+
+    # The following lines keep the log level of common libraries/connectors on
+    # log level INFO. The root logger does not override this. You have to manually
+    # change the log levels here.
+    logger.akka.name = akka
+    logger.akka.level = INFO
+    logger.kafka.name= org.apache.kafka
+    logger.kafka.level = INFO
+    logger.hadoop.name = org.apache.hadoop
+    logger.hadoop.level = INFO
+    logger.zookeeper.name = org.apache.zookeeper
+    logger.zookeeper.level = INFO
+
+    # Log all infos to the console
+    appender.console.name = ConsoleAppender
+    appender.console.type = CONSOLE
+    appender.console.layout.type = PatternLayout
+    appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+
+    # Log all infos in the given rolling file
+    appender.rolling.name = RollingFileAppender
+    appender.rolling.type = RollingFile
+    appender.rolling.append = false
+    appender.rolling.fileName = ${sys:log.file}
+    appender.rolling.filePattern = ${sys:log.file}.%i
+    appender.rolling.layout.type = PatternLayout
+    appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+    appender.rolling.policies.type = Policies
+    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+    appender.rolling.policies.size.size=100MB
+    appender.rolling.strategy.type = DefaultRolloverStrategy
+    appender.rolling.strategy.max = 10
+
+    # Suppress the irrelevant (wrong) warnings from the Netty channel handler
+    logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
+    logger.netty.level = OFF
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..79d69aa0cfe77d80e70ff9f1d146790bce0c4577
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-deployment.yaml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-jobmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: jobmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: jobmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: jobmanager
+          image: ghcr.io/cau-se/theodolite-uc2-beam-flink:latest
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc2.beam.flink.Uc2BeamFlink",
+                  "--parallelism=$(PARALLELISM)",
+                  "--disableMetrics=true",
+                  "--fasterCopy"]
+          # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: PARALLELISM
+              value: "1"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            - name: FLINK_PROPERTIES
+              value: |+
+                blob.server.port: 6124
+                jobmanager.rpc.port: 6123
+                taskmanager.rpc.port: 6122
+                queryable-state.proxy.ports: 6125
+                jobmanager.memory.process.size: 4Gb
+                taskmanager.memory.process.size: 4Gb
+                parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6123
+              name: rpc
+            - containerPort: 6124
+              name: blob-server
+            - containerPort: 8081
+              name: webui
+            - containerPort: 9249
+              name: metrics
+          livenessProbe:
+            tcpSocket:
+              port: 6123
+            initialDelaySeconds: 30
+            periodSeconds: 60
+          securityContext:
+            runAsUser: 9999
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-rest-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3d74aaf7f625c6922e2e1b4f20c19e50a39b68ac
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-rest-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager-rest
+spec:
+  type: NodePort
+  ports:
+    - name: rest
+      port: 8081
+      targetPort: 8081
+      nodePort: 30081
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e2ff5d9898eb1ebf5db9a827472a47514ab1473c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/jobmanager-service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: rpc
+      port: 6123
+    - name: blob-server
+      port: 6124
+    - name: webui
+      port: 8081
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..02f78823c627e27ddfe1db5eac3f6a7f7a7f1bf8
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: flink
+    appScope: titan-ccp
+  name: flink
+spec:
+  selector:
+    matchLabels:
+        app: flink
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..86e17e96e83f991bd0b6c7bd4576d100c9222cb1
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-deployment.yaml
@@ -0,0 +1,64 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-taskmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: taskmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: taskmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: taskmanager
+          image: ghcr.io/cau-se/theodolite-uc2-beam-flink:latest
+          args: ["taskmanager"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            # - name: TASK_MANAGER_NUMBER_OF_TASK_SLOTS
+            #   value: "1" #TODO
+            # - name: FLINK_PROPERTIES
+            #   value: |+
+            #     blob.server.port: 6124
+            #     jobmanager.rpc.port: 6123
+            #     taskmanager.rpc.port: 6122
+            #     queryable-state.proxy.ports: 6125
+            #     jobmanager.memory.process.size: 4Gb
+            #     taskmanager.memory.process.size: 4Gb
+            #     #parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6122
+              name: rpc
+            - containerPort: 6125
+              name: query-state
+            - containerPort: 9249
+              name: metrics
+          # livenessProbe:
+          #   tcpSocket:
+          #     port: 6122
+          #   initialDelaySeconds: 30
+          #   periodSeconds: 60
+          securityContext:
+            runAsUser: 9999  # refers to user _flink_ from official flink image, change if necessary
+
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a2e27f64af1cfd1a26da142b8a50bb41c8ba5fcb
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/resources/taskmanager-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-taskmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: taskmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-flink/uc2-beam-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-beam-flink/uc2-beam-flink-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c84212970855adcd239bf2253c5f0f02bd2933c9
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-flink/uc2-beam-flink-benchmark-operator.yaml
@@ -0,0 +1,71 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc2-beam-flink
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-beam-flink"
+          files:
+          - "flink-configuration-configmap.yaml"
+          - "taskmanager-deployment.yaml"
+          - "taskmanager-service.yaml"
+          - "service-monitor.yaml"
+          - "jobmanager-service.yaml"
+          - "jobmanager-deployment.yaml"
+          #- "jobmanager-rest-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-load-generator"
+          files:
+          - "uc2-load-generator-deployment.yaml"
+          - "uc2-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "taskmanager-deployment.yaml"
+        - type: "EnvVarPatcher"
+          resource: "jobmanager-deployment.yaml"
+          properties:
+            container: "jobmanager"
+            variableName: "PARALLELISM"
+        - type: "EnvVarPatcher" # required?
+          resource: "taskmanager-deployment.yaml"
+          properties:
+            container: "taskmanager"
+            variableName: "PARALLELISM"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-samza/resources/beam-samza-service.yaml b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/beam-samza-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6317caf9fe624e42449b8f630d040a068709cda3
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/beam-samza-service.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  #type: NodePort
+  selector:
+    app: titan-ccp-aggregation
+  ports:
+  - name: http
+    port: 80
+    targetPort: 80
+    protocol: TCP
+  - name: metrics
+    port: 5556
diff --git a/theodolite-benchmarks/definitions/uc2-beam-samza/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4e7e758cacb5086305efa26292ddef2afc958096
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: titan-ccp-aggregation
+    appScope: titan-ccp
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+        app: titan-ccp-aggregation
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc2-beam-samza/resources/uc2-beam-samza-deployment.yaml b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/uc2-beam-samza-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bcb7d82ed463a194fb0851287487a6d52cfd0198
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-samza/resources/uc2-beam-samza-deployment.yaml
@@ -0,0 +1,37 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc2-beam-samza
+          image: ghcr.io/cau-se/theodolite-uc2-beam-samza:latest
+          env:
+            - name: SAMZA_JOB_COORDINATOR_ZK_CONNECT
+              value: "theodolite-kafka-zoo-entrance:2181"
+            - name: SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: MAX_SOURCE_PARALLELISM
+              value: "1024"
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-beam-samza/uc2-beam-samza-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-beam-samza/uc2-beam-samza-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c12386a554ba5dd0500bec6f1d07668d5731ebbe
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-beam-samza/uc2-beam-samza-benchmark-operator.yaml
@@ -0,0 +1,68 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc2-beam-samza
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-beam-samza"
+          files:
+          - "uc2-beam-samza-deployment.yaml"
+          - "beam-samza-service.yaml"
+          - "service-monitor.yaml"
+    afterActions:
+      - exec:
+          selector: # delete zookeeper nodes to reset zookeeper
+            pod:
+              matchLabels:
+                app: "zookeeper-client"
+            container: "zookeeper-client"
+          command: ["bash", "-c", "bin/zkCli.sh -server $ZOOKEEPER_SERVER deleteall /app-theodolite-uc2-application-1"]
+          timeoutSeconds: 60
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-load-generator"
+          files:
+          - "uc2-load-generator-deployment.yaml"
+          - "uc2-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc2-beam-samza-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: ".*samza.*"
+        removeOnly: true
+      - name: ".*uc2-application.*"
+        removeOnly: true
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml
index 87ea174f71c592bbffab4e5fc9ce6e3963596b9c..f2fc1ee6a3fa01d367c52505c49bda1e58ddc134 100644
--- a/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc2-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
@@ -46,7 +46,7 @@ spec:
             limits:
               memory: 4Gi
               cpu: 1000m
-          args: ["standalone-job", "--job-classname", "theodolite.uc2.application.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc2.flink.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
           #command: ['sleep', '60m']
           ports:
             - containerPort: 6123
diff --git a/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml
index c37df972a334a4a0e27f0420030f99f1dff15b53..b9a917ee825637988cf6902186d99421aac3d671 100644
--- a/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc2-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
diff --git a/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml
index 206fbf9683659fcc074341d7077da04c36909b75..bd06a1de373c9813bcf5a5723f82908f2e013349 100644
--- a/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc2-flink
@@ -49,8 +49,17 @@ spec:
           resource: "uc2-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-deployment.yaml b/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0f5000902ddf9c12f67643cc35ffc3c882970a72
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-deployment.yaml
@@ -0,0 +1,40 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc-application
+          image: uc2-hazelcastjet
+          imagePullPolicy: "Never"
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+            - name: DOWNSAMPLE_INTERVAL
+              value: "5000"
+            #- name: KUBERNETES_DNS_NAME
+            #  value: "titan-ccp-aggregation"
+            - name: KUBERNETES_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: KUBERNETES_DNS_NAME
+              value: "titan-ccp-aggregation.$(KUBERNETES_NAMESPACE).svc.cluster.local"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-service.yaml b/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..845ce7dd55c6e5d45724ec1eeabf8789e704fe77
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-hazelcastjet/resources/uc2-hazelcastjet-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:  
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:    
+    app: titan-ccp-aggregation
+  ports:  
+    - name: coordination
+      port: 5701
+      targetPort: 5701
+      protocol: TCP
diff --git a/theodolite-benchmarks/definitions/uc2-hazelcastjet/uc2-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-hazelcastjet/uc2-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..199fd33666f546e6ad535fd767f714d721f631bb
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc2-hazelcastjet/uc2-benchmark-operator.yaml
@@ -0,0 +1,56 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc2-hazelcastjet
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-hazelcastjet"
+          files:
+            - "uc2-hazelcastjet-deployment.yaml"
+            - "uc2-hazelcastjet-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc2-load-generator"
+          files:
+            - "uc2-load-generator-deployment.yaml"
+            - "uc2-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc2-hazelcastjet-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc2-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml
index e07bb3f9e536655712c06a004c5d1fb60ffa67e0..86932cafb26248736fbe060ba7f23ee5dded412d 100644
--- a/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml
@@ -21,7 +21,7 @@ spec:
               name: jmx
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: JAVA_OPTS
diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-operator.yaml
index 0db22fa95f46d1cb484fa1a7730b8b6801dac67c..ccca867441508c57b5ee715e3705ff8f2081e964 100644
--- a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc2-kstreams
@@ -36,8 +36,17 @@ spec:
           resource: "uc2-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-standalone.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-standalone.yaml
index 67376d76bf0a7cc4cd47563a1d8da8dc0aa3b944..572d2b3ceac5fa43a324d4c687f72ddd1e1cdb78 100644
--- a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-standalone.yaml
+++ b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-benchmark-standalone.yaml
@@ -33,7 +33,7 @@ loadTypes:
         properties:
           loadGenMaxRecords: "150000"
 kafkaConfig:
-  bootstrapServer: "theodolite-cp-kafka:9092"
+  bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
   topics:
     - name: "input"
       numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc2-load-generator/resources/uc2-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc2-load-generator/resources/uc2-load-generator-deployment.yaml
index dfc0af71543c15b12b5c850919feb0e0a4f52f28..d758c66f88fa93c98258febf6c5e6a35f7171820 100644
--- a/theodolite-benchmarks/definitions/uc2-load-generator/resources/uc2-load-generator-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc2-load-generator/resources/uc2-load-generator-deployment.yaml
@@ -27,6 +27,6 @@ spec:
             - name: KUBERNETES_DNS_NAME
               value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/flink-configuration-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..36178e2bebdac96b8648bd6c299009aa49d3fff6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/flink-configuration-configmap.yaml
@@ -0,0 +1,66 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: flink-config
+  labels:
+    app: flink
+data:
+  flink-conf.yaml: |+
+    jobmanager.rpc.address: flink-jobmanager
+    taskmanager.numberOfTaskSlots: 1 #TODO
+    #blob.server.port: 6124
+    #jobmanager.rpc.port: 6123
+    #taskmanager.rpc.port: 6122
+    #queryable-state.proxy.ports: 6125
+    #jobmanager.memory.process.size: 4Gb
+    #taskmanager.memory.process.size: 4Gb
+    #parallelism.default: 1 #TODO
+    metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
+    metrics.reporter.prom.interval: 10 SECONDS
+    taskmanager.network.detailed-metrics: true
+  # -> gives metrics about inbound/outbound network queue lengths
+  log4j-console.properties: |+
+    # This affects logging for both user code and Flink
+    rootLogger.level = INFO
+    rootLogger.appenderRef.console.ref = ConsoleAppender
+    rootLogger.appenderRef.rolling.ref = RollingFileAppender
+
+    # Uncomment this if you want to _only_ change Flink's logging
+    #logger.flink.name = org.apache.flink
+    #logger.flink.level = INFO
+
+    # The following lines keep the log level of common libraries/connectors on
+    # log level INFO. The root logger does not override this. You have to manually
+    # change the log levels here.
+    logger.akka.name = akka
+    logger.akka.level = INFO
+    logger.kafka.name= org.apache.kafka
+    logger.kafka.level = INFO
+    logger.hadoop.name = org.apache.hadoop
+    logger.hadoop.level = INFO
+    logger.zookeeper.name = org.apache.zookeeper
+    logger.zookeeper.level = INFO
+
+    # Log all infos to the console
+    appender.console.name = ConsoleAppender
+    appender.console.type = CONSOLE
+    appender.console.layout.type = PatternLayout
+    appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+
+    # Log all infos in the given rolling file
+    appender.rolling.name = RollingFileAppender
+    appender.rolling.type = RollingFile
+    appender.rolling.append = false
+    appender.rolling.fileName = ${sys:log.file}
+    appender.rolling.filePattern = ${sys:log.file}.%i
+    appender.rolling.layout.type = PatternLayout
+    appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+    appender.rolling.policies.type = Policies
+    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+    appender.rolling.policies.size.size=100MB
+    appender.rolling.strategy.type = DefaultRolloverStrategy
+    appender.rolling.strategy.max = 10
+
+    # Suppress the irrelevant (wrong) warnings from the Netty channel handler
+    logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
+    logger.netty.level = OFF
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c44f32f0846de4b32afeba2344abcd6f805c38b2
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-deployment.yaml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-jobmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: jobmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: jobmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: jobmanager
+          image: ghcr.io/cau-se/theodolite-uc3-beam-flink:latest
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc3.beam.flink.Uc3BeamFlink",
+                  "--parallelism=$(PARALLELISM)",
+                  "--disableMetrics=true",
+                  "--fasterCopy"]
+          # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: PARALLELISM
+              value: "1"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            - name: FLINK_PROPERTIES
+              value: |+
+                blob.server.port: 6124
+                jobmanager.rpc.port: 6123
+                taskmanager.rpc.port: 6122
+                queryable-state.proxy.ports: 6125
+                jobmanager.memory.process.size: 4Gb
+                taskmanager.memory.process.size: 4Gb
+                parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6123
+              name: rpc
+            - containerPort: 6124
+              name: blob-server
+            - containerPort: 8081
+              name: webui
+            - containerPort: 9249
+              name: metrics
+          livenessProbe:
+            tcpSocket:
+              port: 6123
+            initialDelaySeconds: 30
+            periodSeconds: 60
+          securityContext:
+            runAsUser: 9999
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-rest-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3d74aaf7f625c6922e2e1b4f20c19e50a39b68ac
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-rest-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager-rest
+spec:
+  type: NodePort
+  ports:
+    - name: rest
+      port: 8081
+      targetPort: 8081
+      nodePort: 30081
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e2ff5d9898eb1ebf5db9a827472a47514ab1473c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/jobmanager-service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: rpc
+      port: 6123
+    - name: blob-server
+      port: 6124
+    - name: webui
+      port: 8081
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..02f78823c627e27ddfe1db5eac3f6a7f7a7f1bf8
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: flink
+    appScope: titan-ccp
+  name: flink
+spec:
+  selector:
+    matchLabels:
+        app: flink
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a0a840fad96fa21212bb25c78a597ea5cb41558c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-deployment.yaml
@@ -0,0 +1,64 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-taskmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: taskmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: taskmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: taskmanager
+          image: ghcr.io/cau-se/theodolite-uc3-beam-flink:latest
+          args: ["taskmanager"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            # - name: TASK_MANAGER_NUMBER_OF_TASK_SLOTS
+            #   value: "1" #TODO
+            # - name: FLINK_PROPERTIES
+            #   value: |+
+            #     blob.server.port: 6124
+            #     jobmanager.rpc.port: 6123
+            #     taskmanager.rpc.port: 6122
+            #     queryable-state.proxy.ports: 6125
+            #     jobmanager.memory.process.size: 4Gb
+            #     taskmanager.memory.process.size: 4Gb
+            #     #parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6122
+              name: rpc
+            - containerPort: 6125
+              name: query-state
+            - containerPort: 9249
+              name: metrics
+          # livenessProbe:
+          #   tcpSocket:
+          #     port: 6122
+          #   initialDelaySeconds: 30
+          #   periodSeconds: 60
+          securityContext:
+            runAsUser: 9999  # refers to user _flink_ from official flink image, change if necessary
+
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a2e27f64af1cfd1a26da142b8a50bb41c8ba5fcb
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/resources/taskmanager-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-taskmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: taskmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-flink/uc3-beam-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-beam-flink/uc3-beam-flink-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..017d1fa55ac80cf40f8d4241602c107f289bda2c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-flink/uc3-beam-flink-benchmark-operator.yaml
@@ -0,0 +1,71 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc3-beam-flink
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-beam-flink"
+          files:
+          - "flink-configuration-configmap.yaml"
+          - "taskmanager-deployment.yaml"
+          - "taskmanager-service.yaml"
+          - "service-monitor.yaml"
+          - "jobmanager-service.yaml"
+          - "jobmanager-deployment.yaml"
+          #- "jobmanager-rest-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-load-generator"
+          files:
+          - "uc3-load-generator-deployment.yaml"
+          - "uc3-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "taskmanager-deployment.yaml"
+        - type: "EnvVarPatcher"
+          resource: "jobmanager-deployment.yaml"
+          properties:
+            container: "jobmanager"
+            variableName: "PARALLELISM"
+        - type: "EnvVarPatcher" # required?
+          resource: "taskmanager-deployment.yaml"
+          properties:
+            container: "taskmanager"
+            variableName: "PARALLELISM"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-samza/resources/beam-samza-service.yaml b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/beam-samza-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6317caf9fe624e42449b8f630d040a068709cda3
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/beam-samza-service.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  #type: NodePort
+  selector:
+    app: titan-ccp-aggregation
+  ports:
+  - name: http
+    port: 80
+    targetPort: 80
+    protocol: TCP
+  - name: metrics
+    port: 5556
diff --git a/theodolite-benchmarks/definitions/uc3-beam-samza/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4e7e758cacb5086305efa26292ddef2afc958096
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: titan-ccp-aggregation
+    appScope: titan-ccp
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+        app: titan-ccp-aggregation
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc3-beam-samza/resources/uc3-beam-samza-deployment.yaml b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/uc3-beam-samza-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aff9da6a0f7ee490a94a6f9954c2b3cc8a2b5ed5
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-samza/resources/uc3-beam-samza-deployment.yaml
@@ -0,0 +1,37 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc3-beam-samza
+          image: ghcr.io/cau-se/theodolite-uc3-beam-samza:latest
+          env:
+            - name: SAMZA_JOB_COORDINATOR_ZK_CONNECT
+              value: "theodolite-kafka-zoo-entrance:2181"
+            - name: SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: MAX_SOURCE_PARALLELISM
+              value: "1024"
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-beam-samza/uc3-beam-samza-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-beam-samza/uc3-beam-samza-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..baed76a02b0f0db98b4fd6b0debf82dd7d42d7a8
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-beam-samza/uc3-beam-samza-benchmark-operator.yaml
@@ -0,0 +1,68 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc3-beam-samza
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-beam-samza"
+          files:
+          - "uc3-beam-samza-deployment.yaml"
+          - "beam-samza-service.yaml"
+          - "service-monitor.yaml"
+    afterActions:
+      - exec:
+          selector: # delete zookeeper nodes to reset zookeeper
+            pod:
+              matchLabels:
+                app: "zookeeper-client"
+            container: "zookeeper-client"
+          command: ["bash", "-c", "bin/zkCli.sh -server $ZOOKEEPER_SERVER deleteall /app-theodolite-uc3-application-1"]
+          timeoutSeconds: 60
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-load-generator"
+          files:
+          - "uc3-load-generator-deployment.yaml"
+          - "uc3-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc3-beam-samza-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: ".*samza.*"
+        removeOnly: true
+      - name: ".*uc3-application.*"
+        removeOnly: true
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml
index d01123b13fe2d63637ee4000051091a99bad0546..f1c56b3a51ec884dca25a31ffafea195919a02e2 100644
--- a/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc3-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
@@ -46,7 +46,7 @@ spec:
             limits:
               memory: 4Gi
               cpu: 1000m
-          args: ["standalone-job", "--job-classname", "theodolite.uc3.application.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc3.flink.HistoryServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
           #command: ['sleep', '60m']
           ports:
             - containerPort: 6123
diff --git a/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml
index 495f97817e43d692c30fe898c4ef3118cae682d7..cc1efa23c32220c7c664d8aaa4669f3af6492d15 100644
--- a/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc3-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
diff --git a/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml
index 47b64d9890fc0f300ee1bd8e67acbdf7c8c4e4f9..4d0e0122ae64bcc5e93c73b9f9dee4647a54485c 100644
--- a/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc3-flink
@@ -49,8 +49,17 @@ spec:
           resource: "uc3-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-deployment.yaml b/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..317d30328ec9ba3c0c30bf87733b3801e73d2477
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-deployment.yaml
@@ -0,0 +1,42 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc-application
+          image: uc3-hazelcastjet
+          imagePullPolicy: "Never"
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+            - name: WINDOW_SIZE_IN_SECONDS
+              value: "50"
+            - name: HOPPING_SIZE_IN_SECONDS
+              value: "1"
+            #- name: KUBERNETES_DNS_NAME
+            #  value: "titan-ccp-aggregation"
+            - name: KUBERNETES_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: KUBERNETES_DNS_NAME
+              value: "titan-ccp-aggregation.$(KUBERNETES_NAMESPACE).svc.cluster.local"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-service.yaml b/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..845ce7dd55c6e5d45724ec1eeabf8789e704fe77
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-hazelcastjet/resources/uc3-hazelcastjet-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:  
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:    
+    app: titan-ccp-aggregation
+  ports:  
+    - name: coordination
+      port: 5701
+      targetPort: 5701
+      protocol: TCP
diff --git a/theodolite-benchmarks/definitions/uc3-hazelcastjet/uc3-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-hazelcastjet/uc3-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7062823219bd2d1cc6388b9453e636028a74a106
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc3-hazelcastjet/uc3-benchmark-operator.yaml
@@ -0,0 +1,56 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc3-hazelcastjet
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-hazelcastjet"
+          files:
+            - "uc3-hazelcastjet-deployment.yaml"
+            - "uc3-hazelcastjet-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc3-load-generator"
+          files:
+            - "uc3-load-generator-deployment.yaml"
+            - "uc3-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc3-hazelcastjet-deployment.yaml"
+  loadTypes:
+    - typeName: "NumSensors"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumSensorsLoadGeneratorReplicaPatcher
+          resource: "uc3-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml
index e3f63fae9e245e6116e0fe451480d9bc74b36433..0b58c15fd123c9d06e441084063eae40d20cc48a 100644
--- a/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml
@@ -21,7 +21,7 @@ spec:
               name: jmx
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: JAVA_OPTS
diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-operator.yaml
index 25374ad92a32782857cea5924ea6482060832eac..967f198bf578d708ffe88cf01157fe18dce0ab46 100644
--- a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc3-kstreams
@@ -36,8 +36,17 @@ spec:
           resource: "uc3-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-standalone.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-standalone.yaml
index aa92913d2c992835078174747ea849ce296c3eb1..f879e0949e325e2e2cd830231170775935bda65d 100644
--- a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-standalone.yaml
+++ b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-benchmark-standalone.yaml
@@ -33,7 +33,7 @@ loadTypes:
         properties:
           loadGenMaxRecords: "150000"
 kafkaConfig:
-  bootstrapServer: "theodolite-cp-kafka:9092"
+  bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
   topics:
     - name: "input"
       numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc3-load-generator/resources/uc3-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc3-load-generator/resources/uc3-load-generator-deployment.yaml
index c1cad0b70fd82a5bbb43792ee79f9cf5cc71d95f..928e0a91b210e786b3d6b156e964a7fb9a7cc184 100644
--- a/theodolite-benchmarks/definitions/uc3-load-generator/resources/uc3-load-generator-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc3-load-generator/resources/uc3-load-generator-deployment.yaml
@@ -27,6 +27,6 @@ spec:
             - name: KUBERNETES_DNS_NAME
               value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/flink-configuration-configmap.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..36178e2bebdac96b8648bd6c299009aa49d3fff6
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/flink-configuration-configmap.yaml
@@ -0,0 +1,66 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: flink-config
+  labels:
+    app: flink
+data:
+  flink-conf.yaml: |+
+    jobmanager.rpc.address: flink-jobmanager
+    taskmanager.numberOfTaskSlots: 1 #TODO
+    #blob.server.port: 6124
+    #jobmanager.rpc.port: 6123
+    #taskmanager.rpc.port: 6122
+    #queryable-state.proxy.ports: 6125
+    #jobmanager.memory.process.size: 4Gb
+    #taskmanager.memory.process.size: 4Gb
+    #parallelism.default: 1 #TODO
+    metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
+    metrics.reporter.prom.interval: 10 SECONDS
+    taskmanager.network.detailed-metrics: true
+  # -> gives metrics about inbound/outbound network queue lengths
+  log4j-console.properties: |+
+    # This affects logging for both user code and Flink
+    rootLogger.level = INFO
+    rootLogger.appenderRef.console.ref = ConsoleAppender
+    rootLogger.appenderRef.rolling.ref = RollingFileAppender
+
+    # Uncomment this if you want to _only_ change Flink's logging
+    #logger.flink.name = org.apache.flink
+    #logger.flink.level = INFO
+
+    # The following lines keep the log level of common libraries/connectors on
+    # log level INFO. The root logger does not override this. You have to manually
+    # change the log levels here.
+    logger.akka.name = akka
+    logger.akka.level = INFO
+    logger.kafka.name= org.apache.kafka
+    logger.kafka.level = INFO
+    logger.hadoop.name = org.apache.hadoop
+    logger.hadoop.level = INFO
+    logger.zookeeper.name = org.apache.zookeeper
+    logger.zookeeper.level = INFO
+
+    # Log all infos to the console
+    appender.console.name = ConsoleAppender
+    appender.console.type = CONSOLE
+    appender.console.layout.type = PatternLayout
+    appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+
+    # Log all infos in the given rolling file
+    appender.rolling.name = RollingFileAppender
+    appender.rolling.type = RollingFile
+    appender.rolling.append = false
+    appender.rolling.fileName = ${sys:log.file}
+    appender.rolling.filePattern = ${sys:log.file}.%i
+    appender.rolling.layout.type = PatternLayout
+    appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n
+    appender.rolling.policies.type = Policies
+    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
+    appender.rolling.policies.size.size=100MB
+    appender.rolling.strategy.type = DefaultRolloverStrategy
+    appender.rolling.strategy.max = 10
+
+    # Suppress the irrelevant (wrong) warnings from the Netty channel handler
+    logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
+    logger.netty.level = OFF
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fb54893cc8dcea45fd6c657d25eb97b40399a29e
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-deployment.yaml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-jobmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: jobmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: jobmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: jobmanager
+          image: ghcr.io/cau-se/theodolite-uc4-beam-flink:latest
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc4.beam.flink.Uc4BeamFlink",
+                  "--parallelism=$(PARALLELISM)",
+                  "--disableMetrics=true",
+                  "--fasterCopy"]
+          # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: PARALLELISM
+              value: "1"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            - name: FLINK_PROPERTIES
+              value: |+
+                blob.server.port: 6124
+                jobmanager.rpc.port: 6123
+                taskmanager.rpc.port: 6122
+                queryable-state.proxy.ports: 6125
+                jobmanager.memory.process.size: 4Gb
+                taskmanager.memory.process.size: 4Gb
+                parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6123
+              name: rpc
+            - containerPort: 6124
+              name: blob-server
+            - containerPort: 8081
+              name: webui
+            - containerPort: 9249
+              name: metrics
+          livenessProbe:
+            tcpSocket:
+              port: 6123
+            initialDelaySeconds: 30
+            periodSeconds: 60
+          securityContext:
+            runAsUser: 9999
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-rest-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3d74aaf7f625c6922e2e1b4f20c19e50a39b68ac
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-rest-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager-rest
+spec:
+  type: NodePort
+  ports:
+    - name: rest
+      port: 8081
+      targetPort: 8081
+      nodePort: 30081
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e2ff5d9898eb1ebf5db9a827472a47514ab1473c
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/jobmanager-service.yaml
@@ -0,0 +1,20 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-jobmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: rpc
+      port: 6123
+    - name: blob-server
+      port: 6124
+    - name: webui
+      port: 8081
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: jobmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..02f78823c627e27ddfe1db5eac3f6a7f7a7f1bf8
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: flink
+    appScope: titan-ccp
+  name: flink
+spec:
+  selector:
+    matchLabels:
+        app: flink
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5eabd7d52875b8ea556a4b47fde18cf859a279b7
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-deployment.yaml
@@ -0,0 +1,64 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flink-taskmanager
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: flink
+      component: taskmanager
+  template:
+    metadata:
+      labels:
+        app: flink
+        component: taskmanager
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: taskmanager
+          image: ghcr.io/cau-se/theodolite-uc4-beam-flink:latest
+          args: ["taskmanager"]
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS
+              value: "100"
+            - name: CHECKPOINTING
+              value: "false"
+            - name: "FLINK_STATE_BACKEND"
+              value: "rocksdb"
+            - name: JOB_MANAGER_RPC_ADDRESS
+              value: "flink-jobmanager"
+            # - name: TASK_MANAGER_NUMBER_OF_TASK_SLOTS
+            #   value: "1" #TODO
+            # - name: FLINK_PROPERTIES
+            #   value: |+
+            #     blob.server.port: 6124
+            #     jobmanager.rpc.port: 6123
+            #     taskmanager.rpc.port: 6122
+            #     queryable-state.proxy.ports: 6125
+            #     jobmanager.memory.process.size: 4Gb
+            #     taskmanager.memory.process.size: 4Gb
+            #     #parallelism.default: 1 #TODO
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
+          ports:
+            - containerPort: 6122
+              name: rpc
+            - containerPort: 6125
+              name: query-state
+            - containerPort: 9249
+              name: metrics
+          # livenessProbe:
+          #   tcpSocket:
+          #     port: 6122
+          #   initialDelaySeconds: 30
+          #   periodSeconds: 60
+          securityContext:
+            runAsUser: 9999  # refers to user _flink_ from official flink image, change if necessary
+
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a2e27f64af1cfd1a26da142b8a50bb41c8ba5fcb
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/resources/taskmanager-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: flink-taskmanager
+  labels:
+    app: flink
+spec:
+  type: ClusterIP
+  ports:
+    - name: metrics
+      port: 9249
+  selector:
+    app: flink
+    component: taskmanager
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-flink/uc4-beam-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-beam-flink/uc4-beam-flink-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d35907c5bde53b2923482a8ba4e8903e9b96b562
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-flink/uc4-beam-flink-benchmark-operator.yaml
@@ -0,0 +1,78 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc4-beam-flink
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-beam-flink"
+          files:
+          - "flink-configuration-configmap.yaml"
+          - "taskmanager-deployment.yaml"
+          - "taskmanager-service.yaml"
+          - "service-monitor.yaml"
+          - "jobmanager-service.yaml"
+          - "jobmanager-deployment.yaml"
+          #- "jobmanager-rest-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-load-generator"
+          files:
+          - "uc4-load-generator-deployment.yaml"
+          - "uc4-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "taskmanager-deployment.yaml"
+        - type: "EnvVarPatcher"
+          resource: "jobmanager-deployment.yaml"
+          properties:
+            container: "jobmanager"
+            variableName: "PARALLELISM"
+        - type: "EnvVarPatcher" # required?
+          resource: "taskmanager-deployment.yaml"
+          properties:
+            container: "taskmanager"
+            variableName: "PARALLELISM"
+  loadTypes:
+    - typeName: "NumNestedGroups"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_NESTED_GROUPS"
+        - type: NumNestedGroupsLoadGeneratorReplicaPatcher
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+            numSensors: "4.0"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "configuration"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "aggregation-feedback"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-samza/resources/beam-samza-service.yaml b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/beam-samza-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6317caf9fe624e42449b8f630d040a068709cda3
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/beam-samza-service.yaml
@@ -0,0 +1,17 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  #type: NodePort
+  selector:
+    app: titan-ccp-aggregation
+  ports:
+  - name: http
+    port: 80
+    targetPort: 80
+    protocol: TCP
+  - name: metrics
+    port: 5556
diff --git a/theodolite-benchmarks/definitions/uc4-beam-samza/resources/service-monitor.yaml b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/service-monitor.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4e7e758cacb5086305efa26292ddef2afc958096
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/service-monitor.yaml
@@ -0,0 +1,14 @@
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+  labels:
+    app: titan-ccp-aggregation
+    appScope: titan-ccp
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+        app: titan-ccp-aggregation
+  endpoints:
+    - port: metrics
+      interval: 10s
diff --git a/theodolite-benchmarks/definitions/uc4-beam-samza/resources/uc4-beam-samza-deployment.yaml b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/uc4-beam-samza-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c0602d86207d2e63d3eb549b068b0afe2692df21
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-samza/resources/uc4-beam-samza-deployment.yaml
@@ -0,0 +1,37 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc4-beam-samza
+          image: ghcr.io/cau-se/theodolite-uc4-beam-samza:latest
+          env:
+            - name: SAMZA_JOB_COORDINATOR_ZK_CONNECT
+              value: "theodolite-kafka-zoo-entrance:2181"
+            - name: SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: MAX_SOURCE_PARALLELISM
+              value: "1024"
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-beam-samza/uc4-beam-samza-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-beam-samza/uc4-beam-samza-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..280e2ccd1d7706089dc10ca3350f238e49f6a2ee
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-beam-samza/uc4-beam-samza-benchmark-operator.yaml
@@ -0,0 +1,77 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc4-beam-samza
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-beam-samza"
+          files:
+          - "uc4-beam-samza-deployment.yaml"
+          - "beam-samza-service.yaml"
+          - "service-monitor.yaml"
+    afterActions:
+      - exec:
+          selector: # delete zookeeper nodes to reset zookeeper
+            pod:
+              matchLabels:
+                app: "zookeeper-client"
+            container: "zookeeper-client"
+          command: ["bash", "-c", "bin/zkCli.sh -server $ZOOKEEPER_SERVER deleteall /app-theodolite-uc4-application-1"]
+          timeoutSeconds: 60
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-load-generator"
+          files:
+          - "uc4-load-generator-deployment.yaml"
+          - "uc4-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc4-beam-samza-deployment.yaml"
+  loadTypes:
+    - typeName: "NumNestedGroups"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_NESTED_GROUPS"
+        - type: NumNestedGroupsLoadGeneratorReplicaPatcher
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+            numSensors: "4.0"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "configuration"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "aggregation-feedback"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
+      - name: ".*samza.*"
+        removeOnly: true
+      - name: ".*uc4-application.*"
+        removeOnly: true
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml
index 032499ea498f8155fd80e42ec4cbdd850498b217..d7037e2c579d82485bb31c53f132d7938f424b38 100644
--- a/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml
@@ -20,7 +20,7 @@ spec:
           image: ghcr.io/cau-se/theodolite-uc4-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
@@ -46,7 +46,7 @@ spec:
             limits:
               memory: 4Gi
               cpu: 1000m
-          args: ["standalone-job", "--job-classname", "theodolite.uc4.application.AggregationServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
+          args: ["standalone-job", "--job-classname", "rocks.theodolite.benchmarks.uc4.flink.AggregationServiceFlinkJob"] # optional arguments: ["--job-id", "<job id>", "--fromSavepoint", "/path/to/savepoint", "--allowNonRestoredState"]
           #command: ['sleep', '60m']
           ports:
             - containerPort: 6123
diff --git a/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml
index 7af13f20b6b2edf3c8878adf4f381dc1c1add115..cc1efa23c32220c7c664d8aaa4669f3af6492d15 100644
--- a/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml
@@ -17,10 +17,10 @@ spec:
       terminationGracePeriodSeconds: 0
       containers:
         - name: taskmanager
-          image: ghcr.io/cau-se/theodolite-uc4-flink:latest
+          image: ghcr.io/cau-se/theodolite-uc3-flink:latest
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: COMMIT_INTERVAL_MS
diff --git a/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml
index 8a73f5b0f87198def7b152ea52008e3d4a1aa4ee..41e6da810e4eda8556f26c0089093f16b65f1fb7 100644
--- a/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc4-flink
@@ -50,8 +50,17 @@ spec:
           properties:
             loadGenMaxRecords: "150000"
             numSensors: "4.0"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-deployment.yaml b/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-deployment.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f0736e585400d26481272d5b3d75cd216d55527d
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-deployment.yaml
@@ -0,0 +1,40 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: titan-ccp-aggregation
+spec:
+  selector:
+    matchLabels:
+      app: titan-ccp-aggregation
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: titan-ccp-aggregation
+    spec:
+      terminationGracePeriodSeconds: 0
+      containers:
+        - name: uc-application
+          image: uc4-hazelcastjet
+          imagePullPolicy: "Never"
+          env:
+            - name: KAFKA_BOOTSTRAP_SERVERS
+              value: "theodolite-kafka-kafka-bootstrap:9092"
+            - name: SCHEMA_REGISTRY_URL
+              value: "http://theodolite-cp-schema-registry:8081"
+            - name: COMMIT_INTERVAL_MS # Set as default for the applications
+              value: "100"
+            - name: WINDOW_SIZE
+              value: "5000"
+            #- name: KUBERNETES_DNS_NAME
+            #  value: "titan-ccp-aggregation"
+            - name: KUBERNETES_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: KUBERNETES_DNS_NAME
+              value: "titan-ccp-aggregation.$(KUBERNETES_NAMESPACE).svc.cluster.local"
+          resources:
+            limits:
+              memory: 4Gi
+              cpu: 1000m
\ No newline at end of file
diff --git a/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-service.yaml b/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-service.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..845ce7dd55c6e5d45724ec1eeabf8789e704fe77
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-hazelcastjet/resources/uc4-hazelcastjet-service.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Service
+metadata:  
+  name: titan-ccp-aggregation
+  labels:
+    app: titan-ccp-aggregation
+spec:
+  type: ClusterIP
+  clusterIP: None
+  selector:    
+    app: titan-ccp-aggregation
+  ports:  
+    - name: coordination
+      port: 5701
+      targetPort: 5701
+      protocol: TCP
diff --git a/theodolite-benchmarks/definitions/uc4-hazelcastjet/uc4-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-hazelcastjet/uc4-benchmark-operator.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bf94eb2f88720fc833ba752bbf0353a8c10e8bc0
--- /dev/null
+++ b/theodolite-benchmarks/definitions/uc4-hazelcastjet/uc4-benchmark-operator.yaml
@@ -0,0 +1,63 @@
+apiVersion: theodolite.rocks/v1beta1
+kind: benchmark
+metadata:
+  name: uc4-hazelcastjet
+spec:
+  sut:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-hazelcastjet"
+          files:
+            - "uc4-hazelcastjet-deployment.yaml"
+            - "uc4-hazelcastjet-service.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "benchmark-resources-uc4-load-generator"
+          files:
+            - "uc4-load-generator-deployment.yaml"
+            - "uc4-load-generator-service.yaml"
+  resourceTypes:
+    - typeName: "Instances"
+      patchers:
+        - type: "ReplicaPatcher"
+          resource: "uc4-hazelcastjet-deployment.yaml"
+  loadTypes:
+    - typeName: "NumNestedGroups"
+      patchers:
+        - type: "EnvVarPatcher"
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            container: "workload-generator"
+            variableName: "NUM_SENSORS"
+        - type: NumNestedGroupsLoadGeneratorReplicaPatcher
+          resource: "uc4-load-generator-deployment.yaml"
+          properties:
+            loadGenMaxRecords: "150000"
+            numSensors: "4.0"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
+  kafkaConfig:
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
+    topics:
+      - name: "input"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "output"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "configuration"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "aggregation-feedback"
+        numPartitions: 40
+        replicationFactor: 1
+      - name: "theodolite-.*"
+        removeOnly: True
diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml
index 20e0872d262df46b5c213d9d529983f5f4155735..3c9a96e36ebf31397f91930426fc028be9d5a2c6 100644
--- a/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml
@@ -21,7 +21,7 @@ spec:
               name: jmx
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: JAVA_OPTS
diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-operator.yaml
index 655db2fd4122c9e0e844eed3bfe7c0a878c6d7ec..59da7d95372e91b7e429a103071157fb80ba347c 100644
--- a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-operator.yaml
+++ b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-operator.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: uc4-kstreams
@@ -37,8 +37,17 @@ spec:
           properties:
             loadGenMaxRecords: "150000"
             numSensors: "4.0"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 2000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-standalone.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-standalone.yaml
index 5c50b6f95d796941c0b2830549ef825f4a4ff6fb..afed6115102499f225b11c25633e07168a903ea8 100644
--- a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-standalone.yaml
+++ b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-benchmark-standalone.yaml
@@ -34,7 +34,7 @@ loadTypes:
           loadGenMaxRecords: "150000"
           numSensors: "4.0"
 kafkaConfig:
-  bootstrapServer: "theodolite-cp-kafka:9092"
+  bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
   topics:
     - name: "input"
       numPartitions: 40
diff --git a/theodolite-benchmarks/definitions/uc4-load-generator/resources/uc4-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc4-load-generator/resources/uc4-load-generator-deployment.yaml
index 7a69d13daae57b06c77f316da9aa953b21ac096b..70674757ff97b4377902395868eac2e03070c31a 100644
--- a/theodolite-benchmarks/definitions/uc4-load-generator/resources/uc4-load-generator-deployment.yaml
+++ b/theodolite-benchmarks/definitions/uc4-load-generator/resources/uc4-load-generator-deployment.yaml
@@ -27,8 +27,10 @@ spec:
             - name: KUBERNETES_DNS_NAME
               value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
+            - name: NUM_SENSORS
+              value: "4"
             - name: NUM_NESTED_GROUPS
               value: "5"
diff --git a/theodolite-benchmarks/docker-test/README.md b/theodolite-benchmarks/docker-test/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5d7ca3f4ac470202579f154fe8f066a246c84d23
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/README.md
@@ -0,0 +1,54 @@
+# Docker Compose Files for Testing
+
+This directory contains Docker Compose files, which help testing Benchmark implementations.
+For each stream processing engine (Kafka Streams and Flink) and Benchmark (UC1-4), a Docker Compose file is provided
+in the corresponding subdirectory.
+
+## Full Dockerized Testing
+
+Running the load generator, the benchmark and all required infrastructure (Kafka etc.) is easy. Simply, `cd` into the
+directory of the benchmark implementation Compose file and *up* it.
+For example:
+
+```sh
+cd uc1-kstreams-docker-compose/
+docker-compose up -d
+```
+
+On less powerful hardware, starting all containers together might fail. In such cases, it usually helps to first *up*
+Kafka and ZooKeeper (`docker-compose up -d kafka zookeeper`), then after some delay the Schema Registry
+(`docker-compose up -d schema-registry`) and finally, after some more further delay, the rest (`docker-compose up -d`).
+
+To tear down the entire Docker Compose configuration:
+
+```sh
+docker-compose down
+```
+
+## Benchmark (+ Load Generator) on Host, Infrastructure in Docker
+
+For development and debugging purposes, it is often required to run the benchmark and/or the load generator directly on
+the host, for example, from the IDE or Gradle. In such cases, the following adjustments have to be made to the
+`docker-compose.yaml` file:
+
+1. Comment out the services that you intend to run locally.
+2. Uncomment the `ports` block in the Kafka and the Schema Registry services.
+
+You can now connect to Kafka from your host system with bootstrap server `localhost:19092` and contact the Schema
+Registry via `localhost:8081`. **Pay attention to the Kafka port, which is *19092* instead of the default one *9092*.**
+
+## Running Smoke Tests
+
+The `smoketest-runner.sh` script can be used to run a simple test for a specific Docker Compose file. You can call it with
+
+```sh
+./smoketest-runner.sh <docker-compose-dir>
+```
+
+where `<docker-compose-dir>` is the directory of a Docker-Compose file, for example, `uc2-beam-samza`. The script exists with a zero exit code in case of success and a non-zero exit code otherwise.
+
+You can also run the set of all smoke test with:
+
+```sh
+./smoketest-runner-all.sh
+```
diff --git a/theodolite-benchmarks/docker-test/smoketest-runner-all.sh b/theodolite-benchmarks/docker-test/smoketest-runner-all.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0129a485d98a90d453b284408b755986f64208de
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/smoketest-runner-all.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+find . -name 'test.sh' -type f -exec dirname {} \; |
+    sort |
+    xargs -I %s sh -c "./smoketest-runner.sh %s 1>&2; echo $?" |
+    sort |
+    awk 'BEGIN {count[0]=0; count[1]=0} {count[$1!=0]++} END {print count[0] " tests successful, " count[1] " test failed."; exit count[1]}'
diff --git a/theodolite-benchmarks/docker-test/smoketest-runner.sh b/theodolite-benchmarks/docker-test/smoketest-runner.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1661560bda9cf164dc19b1b031d9f9c8531345d8
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/smoketest-runner.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+COMPOSE_FILE_PATH=$1
+echo "Run test for '$COMPOSE_FILE_PATH'."
+
+cd $COMPOSE_FILE_PATH
+docker-compose pull -q
+docker-compose up -d kafka zookeeper schema-registry
+sleep 30s
+docker-compose up -d
+sleep 5s
+docker-compose ps
+
+if test -f "./test.sh"; then
+    #timeout --foreground 3m ./test.sh
+    ./test.sh
+    RETURN=$?
+else
+    RETURN=$?
+    echo "test.sh does not exists for '$COMPOSE_FILE_PATH'." 
+fi
+
+docker-compose ps
+
+docker-compose down
+
+if [ $RETURN -eq 0 ]; then
+    echo "Test for '$COMPOSE_FILE_PATH' has passed."
+else
+    echo "Test for '$COMPOSE_FILE_PATH' has failed."
+fi
+
+exit $RETURN
diff --git a/theodolite-benchmarks/docker-test/uc1-beam-flink/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-beam-flink/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..835c0b316e4f0f65becce4946688cb6b92f83b57
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-beam-flink/docker-compose.yml
@@ -0,0 +1,79 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
+  benchmark-jobmanager:
+      image: ghcr.io/cau-se/theodolite-uc1-beam-flink:${THEODOLITE_TAG:-latest}
+      #ports:
+      #  - "8080:8081"
+      command: >
+        standalone-job --job-classname rocks.theodolite.benchmarks.uc1.beam.flink.Uc1BeamFlink
+        --disableMetrics=true 
+        --fasterCopy 
+      environment:
+        - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
+        - SCHEMA_REGISTRY_URL=http://schema-registry:8081
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          parallelism.default: 1
+      depends_on:
+        - schema-registry
+        - kafka
+  benchmark-taskmanager:
+      image: ghcr.io/cau-se/theodolite-uc1-beam-flink:${THEODOLITE_TAG:-latest}
+      scale: 1
+      command: taskmanager
+      environment:
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+      depends_on:
+        - schema-registry
+        - kafka
diff --git a/theodolite-benchmarks/docker-test/uc1-beam-flink/test.sh b/theodolite-benchmarks/docker-test/uc1-beam-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7c7f11a94f42d56d91d383f27d58ad9a09a918e5
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-beam-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+sleep 55s # to let the benchmark and produce some output
+docker-compose logs --tail 100 benchmark-taskmanager |
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc1-beam-samza/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-beam-samza/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2212c3b539045114f31760d605ad928e237ed924
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-beam-samza/docker-compose.yml
@@ -0,0 +1,64 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    #ports:
+    #  - 2181:2181
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc1-beam-samza:${THEODOLITE_TAG:-latest}
+    scale: 1
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      SAMZA_JOB_COORDINATOR_ZK_CONNECT: zookeeper:2181
+      SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS: kafka:9092
+      SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS: kafka:9092
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc1-beam-samza/test.sh b/theodolite-benchmarks/docker-test/uc1-beam-samza/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..62327e860cb658741d0892052f5202df3f5b431e
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-beam-samza/test.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+sleep 55s # to let the benchmark and produce some output
+docker-compose logs --tail 100 benchmark |
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
+
+
diff --git a/theodolite-benchmarks/docker-test/uc1-flink-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-flink/docker-compose.yml
similarity index 67%
rename from theodolite-benchmarks/docker-test/uc1-flink-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc1-flink/docker-compose.yml
index aa35ac2d1dee01cdf25d2eb2ac77bd056865479a..ee6cb06cce228e107fac93a47401718a24bccecd 100755
--- a/theodolite-benchmarks/docker-test/uc1-flink-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc1-flink/docker-compose.yml
@@ -1,9 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
     image: confluentinc/cp-zookeeper
     expose:
-      - "9092"
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -18,35 +18,41 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
+    restart: "on-failure"
     expose:
       - "8081"
     #ports:
     #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       NUM_SENSORS: 10
   benchmark-jobmanager:
-    image: ghcr.io/cau-se/theodolite-uc1-flink:latest
-    ports:
-      - "8080:8081"
-    command: standalone-job --job-classname theodolite.uc1.application.HistoryServiceFlinkJob
+    image: ghcr.io/cau-se/theodolite-uc1-flink:${THEODOLITE_TAG:-latest}
+    #ports:
+    #  - "8080:8081"
+    command: standalone-job --job-classname rocks.theodolite.benchmarks.uc1.flink.HistoryServiceFlinkJob
     environment:
       - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
       - SCHEMA_REGISTRY_URL=http://schema-registry:8081
@@ -58,7 +64,7 @@ services:
       - schema-registry
       - kafka
   benchmark-taskmanager:
-    image: ghcr.io/cau-se/theodolite-uc1-flink:latest
+    image: ghcr.io/cau-se/theodolite-uc1-flink:${THEODOLITE_TAG:-latest}
     command: taskmanager
     environment:
       - |
diff --git a/theodolite-benchmarks/docker-test/uc1-flink/test.sh b/theodolite-benchmarks/docker-test/uc1-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7c7f11a94f42d56d91d383f27d58ad9a09a918e5
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+sleep 55s # to let the benchmark and produce some output
+docker-compose logs --tail 100 benchmark-taskmanager |
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fd91f14e241f952dc0d0ba3b4230db2f5deffa30
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/docker-compose.yml
@@ -0,0 +1,63 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc1-hazelcastjet:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    expose:
+      - 5701
+    #ports:
+    #  - 5701:5701
+    environment:
+      BOOTSTRAP_SERVER: benchmark:5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3dbf43a74a9ad17784ca9e4e476dc70ed11c731f
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-hazelcastjet/test.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+sleep 55s # to let the benchmark and produce some output
+
+docker-compose logs --tail 100 benchmark |
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc1-kstreams-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc1-kstreams/docker-compose.yml
similarity index 69%
rename from theodolite-benchmarks/docker-test/uc1-kstreams-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc1-kstreams/docker-compose.yml
index 403becacff5a386eddfaa8e59fe7873d2adb006c..a673db5ced5b834632a1bca6f3fb4a2da2b68296 100755
--- a/theodolite-benchmarks/docker-test/uc1-kstreams-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc1-kstreams/docker-compose.yml
@@ -1,9 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
     image: confluentinc/cp-zookeeper
     expose:
-      - "9092"
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -18,21 +18,27 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
+    restart: "on-failure"
     expose:
       - "8081"
     #ports:
     #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc1-kstreams-app:latest
+    image: ghcr.io/cau-se/theodolite-uc1-kstreams-app:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
@@ -40,12 +46,12 @@ services:
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
diff --git a/theodolite-benchmarks/docker-test/uc1-kstreams/test.sh b/theodolite-benchmarks/docker-test/uc1-kstreams/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..da711e3fac1b1d664b1c8487687ceacdddce6efa
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc1-kstreams/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+sleep 55s # to let the benchmark and produce some output
+docker-compose logs --tail 100 benchmark |
+    sed -n "s/^.*Record:\s\(\S*\)$/\1/p" |
+    tee /dev/stderr |
+    jq .identifier |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc2-beam-flink/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-beam-flink/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e92c09e7822acc93554f47b40debb5d4ea7c0f78
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-beam-flink/docker-compose.yml
@@ -0,0 +1,79 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
+  benchmark-jobmanager:
+      image: ghcr.io/cau-se/theodolite-uc2-beam-flink:${THEODOLITE_TAG:-latest}
+      #ports:
+      #  - "8080:8081"
+      command: >
+        standalone-job --job-classname rocks.theodolite.benchmarks.uc2.beam.flink.Uc2BeamFlink
+        --disableMetrics=true 
+        --fasterCopy 
+      environment:
+        - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
+        - SCHEMA_REGISTRY_URL=http://schema-registry:8081
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          parallelism.default: 1
+      depends_on:
+        - schema-registry
+        - kafka
+  benchmark-taskmanager:
+      image: ghcr.io/cau-se/theodolite-uc2-beam-flink:${THEODOLITE_TAG:-latest}
+      scale: 1
+      command: taskmanager
+      environment:
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+      depends_on:
+        - schema-registry
+        - kafka
diff --git a/theodolite-benchmarks/docker-test/uc2-beam-flink/test.sh b/theodolite-benchmarks/docker-test/uc2-beam-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3c33834b0b21bc5dbe4e6a7c3ff947121bb2ce71
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-beam-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 20 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc2-beam-samza/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-beam-samza/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cc6bc7a7112c35f11ce9cfd27d09aebe401c8c51
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-beam-samza/docker-compose.yml
@@ -0,0 +1,64 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    #ports:
+    #  - 2181:2181
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc2-beam-samza:${THEODOLITE_TAG:-latest}
+    scale: 1
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      SAMZA_JOB_COORDINATOR_ZK_CONNECT: zookeeper:2181
+      SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS: kafka:9092
+      SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS: kafka:9092
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc2-beam-samza/test.sh b/theodolite-benchmarks/docker-test/uc2-beam-samza/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3c33834b0b21bc5dbe4e6a7c3ff947121bb2ce71
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-beam-samza/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 20 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc2-flink-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-flink/docker-compose.yml
similarity index 65%
rename from theodolite-benchmarks/docker-test/uc2-flink-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc2-flink/docker-compose.yml
index a8bf56d52c1be7fea3f172d86f6deac27fcc24f7..a68b8084669c45ead3e08bf493ca32efdb234504 100755
--- a/theodolite-benchmarks/docker-test/uc2-flink-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc2-flink/docker-compose.yml
@@ -1,10 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
-    #image: wurstmeister/zookeeper
     image: confluentinc/cp-zookeeper
-    ports:
-      - "2181:2181"
+    expose:
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -19,35 +18,41 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
-    #ports:
-    #  - "8081:8081"
+    restart: "on-failure"
     expose:
       - "8081"
+    #ports:
+    #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       NUM_SENSORS: 10  
   benchmark-jobmanager:
-    image: ghcr.io/cau-se/theodolite-uc2-flink:latest
-    ports:
-      - "8080:8081"
-    command: standalone-job --job-classname theodolite.uc2.application.HistoryServiceFlinkJob
+    image: ghcr.io/cau-se/theodolite-uc2-flink:${THEODOLITE_TAG:-latest}
+    #ports:
+    #  - "8080:8081"
+    command: standalone-job --job-classname rocks.theodolite.benchmarks.uc2.flink.HistoryServiceFlinkJob
     environment:
       - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
       - SCHEMA_REGISTRY_URL=http://schema-registry:8081
@@ -59,7 +64,7 @@ services:
       - schema-registry
       - kafka
   benchmark-taskmanager:
-    image: ghcr.io/cau-se/theodolite-uc2-flink:latest
+    image: ghcr.io/cau-se/theodolite-uc2-flink:${THEODOLITE_TAG:-latest}
     command: taskmanager
     environment:
       - |
diff --git a/theodolite-benchmarks/docker-test/uc2-flink/test.sh b/theodolite-benchmarks/docker-test/uc2-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3c33834b0b21bc5dbe4e6a7c3ff947121bb2ce71
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 20 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..92b90823e31f79e68b301ff039618c9520c92019
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/docker-compose.yml
@@ -0,0 +1,64 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc2-hazelcastjet:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    expose:
+      - 5701
+    #ports:
+    #  - 5701:5701
+    environment:
+      BOOTSTRAP_SERVER: benchmark:5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      DOWNSAMPLE_INTERVAL: 5000
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc2-hazelcastjet/test.sh b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..be411755b74249d90756e445f7e67dc07bf5ebab
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-hazelcastjet/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 20 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
\ No newline at end of file
diff --git a/theodolite-benchmarks/docker-test/uc2-kstreams-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc2-kstreams/docker-compose.yml
similarity index 67%
rename from theodolite-benchmarks/docker-test/uc2-kstreams-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc2-kstreams/docker-compose.yml
index 20d2c62dac13af29ec50439670308f2911f0d57a..efdba90bef634bab76012316f67b0f9be9f79c77 100755
--- a/theodolite-benchmarks/docker-test/uc2-kstreams-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc2-kstreams/docker-compose.yml
@@ -1,10 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
-    #image: wurstmeister/zookeeper
     image: confluentinc/cp-zookeeper
-    ports:
-      - "2181:2181"
+    expose:
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -19,21 +18,27 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
-    #ports:
-    #  - "8081:8081"
+    restart: "on-failure"
     expose:
       - "8081"
+    #ports:
+    #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc2-kstreams-app:latest
+    image: ghcr.io/cau-se/theodolite-uc2-kstreams-app:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
@@ -42,12 +47,12 @@ services:
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       KAFKA_WINDOW_DURATION_MINUTES: 60
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc2-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
diff --git a/theodolite-benchmarks/docker-test/uc2-kstreams/test.sh b/theodolite-benchmarks/docker-test/uc2-kstreams/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3c33834b0b21bc5dbe4e6a7c3ff947121bb2ce71
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc2-kstreams/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 20 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc3-beam-flink/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-beam-flink/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4416517a8db0814234536793bc262530103b45b3
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-beam-flink/docker-compose.yml
@@ -0,0 +1,83 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
+  benchmark-jobmanager:
+      image: ghcr.io/cau-se/theodolite-uc3-beam-flink:${THEODOLITE_TAG:-latest}
+      #ports:
+      #  - "8080:8081"
+      command: >
+        standalone-job --job-classname rocks.theodolite.benchmarks.uc3.beam.flink.Uc3BeamFlink
+        --disableMetrics=true 
+        --fasterCopy 
+      environment:
+        - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
+        - SCHEMA_REGISTRY_URL=http://schema-registry:8081
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          parallelism.default: 1
+          state.backend: rocksdb
+          state.checkpoints.dir: file:///data/flink/checkpoints
+      depends_on:
+        - schema-registry
+        - kafka
+  benchmark-taskmanager:
+      image: ghcr.io/cau-se/theodolite-uc3-beam-flink:${THEODOLITE_TAG:-latest}
+      scale: 1
+      command: taskmanager
+      environment:
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          state.backend: rocksdb
+          state.checkpoints.dir: file:///data/flink/checkpoints
+      depends_on:
+        - schema-registry
+        - kafka
diff --git a/theodolite-benchmarks/docker-test/uc3-beam-flink/test.sh b/theodolite-benchmarks/docker-test/uc3-beam-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0612838a3973a302c9acb3bbfa6b8d59ea2596c5
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-beam-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 600 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc3-beam-samza/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-beam-samza/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bf120f31dbfda2384b314ba4a90a25362f37b6c2
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-beam-samza/docker-compose.yml
@@ -0,0 +1,64 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    #ports:
+    #  - 2181:2181
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc3-beam-samza:${THEODOLITE_TAG:-latest}
+    scale: 1
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      SAMZA_JOB_COORDINATOR_ZK_CONNECT: zookeeper:2181
+      SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS: kafka:9092
+      SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS: kafka:9092
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc3-beam-samza/test.sh b/theodolite-benchmarks/docker-test/uc3-beam-samza/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0612838a3973a302c9acb3bbfa6b8d59ea2596c5
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-beam-samza/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 600 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc3-flink-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-flink/docker-compose.yml
similarity index 65%
rename from theodolite-benchmarks/docker-test/uc3-flink-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc3-flink/docker-compose.yml
index 9999caf046e844d066200ecfbf15d3351c167d31..3c5aadd8fb6b3b40b009808f55659982dd837f52 100755
--- a/theodolite-benchmarks/docker-test/uc3-flink-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc3-flink/docker-compose.yml
@@ -1,10 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
-    #image: wurstmeister/zookeeper
     image: confluentinc/cp-zookeeper
-    ports:
-      - "2181:2181"
+    expose:
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -19,35 +18,41 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
-    #ports:
-    #  - "8081:8081"
+    restart: "on-failure"
     expose:
       - "8081"
+    #ports:
+    #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       NUM_SENSORS: 10
   benchmark-jobmanager:
-    image: ghcr.io/cau-se/theodolite-uc3-flink:latest
-    ports:
-      - "8080:8081"
-    command: standalone-job --job-classname theodolite.uc3.application.HistoryServiceFlinkJob
+    image: ghcr.io/cau-se/theodolite-uc3-flink:${THEODOLITE_TAG:-latest}
+    #ports:
+    #  - "8080:8081"
+    command: standalone-job --job-classname rocks.theodolite.benchmarks.uc3.flink.HistoryServiceFlinkJob
     environment:
       - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
       - SCHEMA_REGISTRY_URL=http://schema-registry:8081
@@ -59,7 +64,7 @@ services:
       - schema-registry
       - kafka
   benchmark-taskmanager:
-    image: ghcr.io/cau-se/theodolite-uc3-flink:latest
+    image: ghcr.io/cau-se/theodolite-uc3-flink:${THEODOLITE_TAG:-latest}
     command: taskmanager
     environment:
       - |
diff --git a/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d7c3fe7a017c24e0b212661f0b0b34c2a1fee32c
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/docker-compose.yml
@@ -0,0 +1,65 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc3-hazelcastjet:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    expose:
+      - 5701
+    #ports:
+    #  - 5701:5701
+    environment:
+      BOOTSTRAP_SERVER: benchmark:5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      WINDOW_SIZE_IN_SECONDS: 50
+      HOPPING_SIZE_IN_SECONDS: 5
+  load-generator:
+    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 10
diff --git a/theodolite-benchmarks/docker-test/uc3-hazelcastjet/test.sh b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..217a730f73fa1fee3f875da34edd9047ed9221db
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-hazelcastjet/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 600 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
\ No newline at end of file
diff --git a/theodolite-benchmarks/docker-test/uc3-kstreams-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc3-kstreams/docker-compose.yml
similarity index 66%
rename from theodolite-benchmarks/docker-test/uc3-kstreams-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc3-kstreams/docker-compose.yml
index ef16b858536b0d133dc49d002d16cf6c04193297..7da1fa3b420e2dfa0d6d357723583bc3a256823e 100755
--- a/theodolite-benchmarks/docker-test/uc3-kstreams-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc3-kstreams/docker-compose.yml
@@ -1,10 +1,9 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
-    #image: wurstmeister/zookeeper
     image: confluentinc/cp-zookeeper
-    ports:
-      - "2181:2181"
+    expose:
+      - "2181"
     environment:
       ZOOKEEPER_CLIENT_PORT: 2181
   kafka:
@@ -19,21 +18,27 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
-      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
-    #ports:
-    #  - "8081:8081"
+    restart: "on-failure"
     expose:
       - "8081"
+    #ports:
+    #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
-      benchmark:
-    image: ghcr.io/cau-se/theodolite-uc3-kstreams-app:latest
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc3-kstreams-app:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
@@ -41,12 +46,12 @@ services:
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc3-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
diff --git a/theodolite-benchmarks/docker-test/uc3-kstreams/test.sh b/theodolite-benchmarks/docker-test/uc3-kstreams/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0612838a3973a302c9acb3bbfa6b8d59ea2596c5
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc3-kstreams/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=s -r http://schema-registry:8081 -f '%k:%s\n' -c 600 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b10\b"
diff --git a/theodolite-benchmarks/docker-test/uc4-beam-flink/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-beam-flink/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..465fcb6ee6a2b2121dfe359140c259e7a3eb763a
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-beam-flink/docker-compose.yml
@@ -0,0 +1,85 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 4
+      NUM_NESTED_GROUPS: 3
+  benchmark-jobmanager:
+      image: ghcr.io/cau-se/theodolite-uc4-beam-flink:${THEODOLITE_TAG:-latest}
+      #ports:
+      #  - "8080:8081"
+      command: >
+        standalone-job
+        --job-classname rocks.theodolite.benchmarks.uc4.beam.flink.Uc4BeamFlink
+        --disableMetrics=true 
+        --fasterCopy 
+      environment:
+        - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
+        - SCHEMA_REGISTRY_URL=http://schema-registry:8081
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          parallelism.default: 1
+          state.backend: rocksdb
+          state.checkpoints.dir: file:///data/flink/checkpoints
+      depends_on:
+        - schema-registry
+        - kafka
+  benchmark-taskmanager:
+      image: ghcr.io/cau-se/theodolite-uc4-beam-flink:${THEODOLITE_TAG:-latest}
+      scale: 1
+      command: taskmanager
+      environment:
+        - |
+          FLINK_PROPERTIES=
+          jobmanager.rpc.address: benchmark-jobmanager
+          state.backend: rocksdb
+          state.checkpoints.dir: file:///data/flink/checkpoints
+      depends_on:
+        - schema-registry
+        - kafka
diff --git a/theodolite-benchmarks/docker-test/uc4-beam-flink/test.sh b/theodolite-benchmarks/docker-test/uc4-beam-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6a4c6dbf4f583e7598baefae8f48136bb2113630
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-beam-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=avro -r http://schema-registry:8081 -f '%k:%s\n' -c 2000 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b21\b"
diff --git a/theodolite-benchmarks/docker-test/uc4-beam-samza/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-beam-samza/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d236af7d284ebb085c78110feb6001cb28d18290
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-beam-samza/docker-compose.yml
@@ -0,0 +1,65 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    #ports:
+    #  - 2181:2181
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc4-beam-samza:${THEODOLITE_TAG:-latest}
+    scale: 1
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      SAMZA_JOB_COORDINATOR_ZK_CONNECT: zookeeper:2181
+      SAMZA_SYSTEMS_KAFKA_PRODUCER_BOOTSTRAP_SERVERS: kafka:9092
+      SAMZA_SYSTEMS_KAFKA_CONSUMER_BOOTSTRAP_SERVERS: kafka:9092
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 4
+      NUM_NESTED_GROUPS: 3
diff --git a/theodolite-benchmarks/docker-test/uc4-beam-samza/test.sh b/theodolite-benchmarks/docker-test/uc4-beam-samza/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6a4c6dbf4f583e7598baefae8f48136bb2113630
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-beam-samza/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=avro -r http://schema-registry:8081 -f '%k:%s\n' -c 2000 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b21\b"
diff --git a/theodolite-benchmarks/docker-test/uc4-flink-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-flink/docker-compose.yml
similarity index 69%
rename from theodolite-benchmarks/docker-test/uc4-flink-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc4-flink/docker-compose.yml
index 80720063991100bae2c8c148f14cd6f1a32bb0ff..c3fe0502f36e3b25857186046e5ed6892f07f61f 100755
--- a/theodolite-benchmarks/docker-test/uc4-flink-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc4-flink/docker-compose.yml
@@ -1,4 +1,4 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
     image: confluentinc/cp-zookeeper
@@ -18,36 +18,42 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
       KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
+    restart: "on-failure"
     expose:
       - "8081"
     #ports:
     #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       NUM_SENSORS: 4
-      NUM_NESTED_GROUPS: 4
+      NUM_NESTED_GROUPS: 3
   benchmark-jobmanager:
-    image: ghcr.io/cau-se/theodolite-uc4-flink:latest
-    ports:
-      - "8080:8081"
-    command: standalone-job --job-classname theodolite.uc4.application.AggregationServiceFlinkJob
+    image: ghcr.io/cau-se/theodolite-uc4-flink:${THEODOLITE_TAG:-latest}
+    #ports:
+    #  - "8080:8081"
+    command: standalone-job --job-classname rocks.theodolite.benchmarks.uc4.flink.AggregationServiceFlinkJob
     environment:
       - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
       - SCHEMA_REGISTRY_URL=http://schema-registry:8081
@@ -59,7 +65,7 @@ services:
       - schema-registry
       - kafka
   benchmark-taskmanager:
-    image: ghcr.io/cau-se/theodolite-uc4-flink:latest
+    image: ghcr.io/cau-se/theodolite-uc4-flink:${THEODOLITE_TAG:-latest}
     command: taskmanager
     environment:
       - |
diff --git a/theodolite-benchmarks/docker-test/uc4-flink/test.sh b/theodolite-benchmarks/docker-test/uc4-flink/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0a478cf6641a1333f65281ae43cb525e32cb2510
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-flink/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=avro -r http://schema-registry:8081 -f '%k:%s\n' -c 500 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b21\b"
diff --git a/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ca6f3c85fe670e53bafd6a56e568cad9166ae501
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/docker-compose.yml
@@ -0,0 +1,65 @@
+version: '2.2'
+services:
+  zookeeper:
+    image: confluentinc/cp-zookeeper
+    expose:
+      - "2181"
+    environment:
+      ZOOKEEPER_CLIENT_PORT: 2181
+  kafka:
+    image: wurstmeister/kafka
+    expose:
+      - "9092"
+    #ports:
+    #  - 19092:19092
+    environment:
+      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
+      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
+      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
+  schema-registry:
+    image: confluentinc/cp-schema-registry:7.0.1
+    depends_on:
+      - zookeeper
+      - kafka
+    restart: "on-failure"
+    expose:
+      - "8081"
+    #ports:
+    #  - 8081:8081
+    environment:
+      SCHEMA_REGISTRY_HOST_NAME: schema-registry
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
+  benchmark:
+    image: ghcr.io/cau-se/theodolite-uc4-hazelcastjet:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    expose:
+      - 5701
+    #ports:
+    #  - 5701:5701
+    environment:
+      BOOTSTRAP_SERVER: benchmark:5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      WINDOW_SIZE_UC4: 5000
+  load-generator: 
+    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:${THEODOLITE_TAG:-latest}
+    depends_on:
+      - schema-registry
+      - kafka
+    environment:
+      BOOTSTRAP_SERVER: load-generator:5701
+      PORT: 5701
+      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
+      SCHEMA_REGISTRY_URL: http://schema-registry:8081
+      NUM_SENSORS: 4
+      NUM_NESTED_GROUPS: 3
diff --git a/theodolite-benchmarks/docker-test/uc4-hazelcastjet/test.sh b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..a141feee36c7a58e75baf5462ee06e3bc1f4c882
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-hazelcastjet/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=avro -r http://schema-registry:8081 -f '%k:%s\n' -c 1200 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l|
+    grep "\b21\b"
\ No newline at end of file
diff --git a/theodolite-benchmarks/docker-test/uc4-kstreams-docker-compose/docker-compose.yml b/theodolite-benchmarks/docker-test/uc4-kstreams/docker-compose.yml
similarity index 71%
rename from theodolite-benchmarks/docker-test/uc4-kstreams-docker-compose/docker-compose.yml
rename to theodolite-benchmarks/docker-test/uc4-kstreams/docker-compose.yml
index 5e4cb94469f2f6cc8c48694a7ea6c885f066622d..6aaa02990841547edb6059e4e2fbf3b28b50985c 100755
--- a/theodolite-benchmarks/docker-test/uc4-kstreams-docker-compose/docker-compose.yml
+++ b/theodolite-benchmarks/docker-test/uc4-kstreams/docker-compose.yml
@@ -1,4 +1,4 @@
-version: '2'
+version: '2.2'
 services:
   zookeeper:
     image: confluentinc/cp-zookeeper
@@ -18,21 +18,27 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
+      KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
       KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
+  kcat:
+    image: edenhill/kcat:1.7.1
+    entrypoint: "sh"
+    tty: true
   schema-registry:
-    image: confluentinc/cp-schema-registry:5.3.1
+    image: confluentinc/cp-schema-registry:7.0.1
     depends_on:
       - zookeeper
       - kafka
+    restart: "on-failure"
     expose:
       - "8081"
     #ports:
     #  - 8081:8081
     environment:
       SCHEMA_REGISTRY_HOST_NAME: schema-registry
-      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
+      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
   benchmark:
-    image: ghcr.io/cau-se/theodolite-uc4-kstreams-app:latest
+    image: ghcr.io/cau-se/theodolite-uc4-kstreams-app:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
@@ -40,14 +46,14 @@ services:
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
   load-generator: 
-    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:latest
+    image: ghcr.io/cau-se/theodolite-uc4-workload-generator:${THEODOLITE_TAG:-latest}
     depends_on:
       - schema-registry
       - kafka
     environment:
-      BOOTSTRAP_SERVER: uc-wg:5701
+      BOOTSTRAP_SERVER: load-generator:5701
       PORT: 5701
       KAFKA_BOOTSTRAP_SERVERS: kafka:9092
       SCHEMA_REGISTRY_URL: http://schema-registry:8081
       NUM_SENSORS: 4
-      NUM_NESTED_GROUPS: 4
\ No newline at end of file
+      NUM_NESTED_GROUPS: 3
\ No newline at end of file
diff --git a/theodolite-benchmarks/docker-test/uc4-kstreams/test.sh b/theodolite-benchmarks/docker-test/uc4-kstreams/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9b9dee7dc78e7a587b9f2e5b778066e5bc099755
--- /dev/null
+++ b/theodolite-benchmarks/docker-test/uc4-kstreams/test.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+until docker-compose exec -T kcat kcat -L -b kafka:9092 -t output -J | jq -r '.topics[0].partitions | length' | grep "\b3\b"; do sleep 5s; done
+
+docker-compose exec -T kcat kcat -C -b kafka:9092 -t output -s key=s -s value=avro -r http://schema-registry:8081 -f '%k:%s\n' -c 32 |
+    tee /dev/stderr |
+    awk -F ':' '!/^%/ {print $1}' |
+    sort |
+    uniq |
+    wc -l |
+    grep "\b16\b"
diff --git a/theodolite-benchmarks/flink-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/flink-commons/.settings/org.eclipse.jdt.ui.prefs
index 66b402b58f39b79066638ce679c27c0378d5be54..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/flink-commons/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/flink-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
 sp_cleanup.remove_redundant_semicolons=false
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/flink-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/flink-commons/build.gradle b/theodolite-benchmarks/flink-commons/build.gradle
index 1b0b9359a406bf2ab16fbbe52631877cf360df2a..bd07f1ca51ae6b781a92ae06ba8b2555fa83b873 100644
--- a/theodolite-benchmarks/flink-commons/build.gradle
+++ b/theodolite-benchmarks/flink-commons/build.gradle
@@ -3,12 +3,12 @@ plugins {
 }
 
 ext {
-    flinkVersion = '1.12.0'
+    flinkVersion = '1.13.5'
     scalaBinaryVersion = '2.12'
 }
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -20,16 +20,13 @@ repositories {
 dependencies {
     // Special version required because of https://issues.apache.org/jira/browse/FLINK-13703
     implementation('org.industrial-devops:titan-ccp-common:0.1.0-flink-ready-SNAPSHOT') { changing = true }
-    implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
     implementation 'com.google.guava:guava:30.1-jre'
-    compile group: 'org.apache.flink', name: "flink-connector-kafka_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-statebackend-rocksdb_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-runtime_${scalaBinaryVersion}", version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: 'flink-java', version: "${flinkVersion}"
-    compile group: 'org.apache.flink', name: "flink-streaming-java_${scalaBinaryVersion}", version:"${flinkVersion}"
-    implementation "org.apache.flink:flink-avro:${flinkVersion}"
+
+    implementation "org.apache.flink:flink-streaming-java_${scalaBinaryVersion}:${flinkVersion}"
+    implementation "org.apache.flink:flink-connector-kafka_${scalaBinaryVersion}:${flinkVersion}"
     implementation "org.apache.flink:flink-avro-confluent-registry:${flinkVersion}"
-    
+    implementation "org.apache.flink:flink-statebackend-rocksdb_${scalaBinaryVersion}:${flinkVersion}"
+
     // Use JUnit test framework
     testImplementation 'junit:junit:4.12'
   }
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/AbstractFlinkService.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/AbstractFlinkService.java
new file mode 100644
index 0000000000000000000000000000000000000000..f348543cd9897bc3abf1871ce828c22ea531dd4c
--- /dev/null
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/AbstractFlinkService.java
@@ -0,0 +1,114 @@
+package rocks.theodolite.benchmarks.commons.flink;
+
+import org.apache.commons.configuration2.Configuration;
+import org.apache.flink.runtime.state.StateBackend;
+import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import titan.ccp.common.configuration.ServiceConfigurations;
+
+/**
+ * A general Apache Flink-based microservice. It is configured by {@link #configureEnv()}, and
+ * extended by implementing business logic in {@link #buildPipeline()}. The configuration of the
+ * serializer needs to be implemented in {@link #configureSerializers()}.
+ */
+public abstract class AbstractFlinkService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(AbstractFlinkService.class);
+  protected final StreamExecutionEnvironment env;
+
+  protected Configuration config = ServiceConfigurations.createWithDefaults();
+
+  protected final String applicationId;
+
+  /**
+   * Abstract Service constructing the name and {@link StreamExecutionEnvironment}.
+   */
+  public AbstractFlinkService() {
+    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
+    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
+    this.applicationId = applicationName + "-" + applicationVersion;
+
+    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
+
+  }
+
+  /**
+   * Abstract Service constructing the name and {@link StreamExecutionEnvironment}.
+   *
+   * @param config the configuration for the service.
+   */
+  public AbstractFlinkService(final Configuration config) {
+    this.config = config;
+    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
+    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
+    this.applicationId = applicationName + "-" + applicationVersion;
+    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
+  }
+
+
+
+  /**
+   * Configures the service using environment variables.
+   */
+  protected void configureEnv() {
+    this.configureCheckpointing();
+    this.configureParallelism();
+    this.configureStateBackend();
+    this.configureSerializers();
+  }
+
+  protected void configureCheckpointing() {
+    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
+    final int commitIntervalMs = this.config.getInt(ConfigurationKeys.COMMIT_INTERVAL_MS);
+    LOGGER.info("Set parallelism to: {}.", checkpointing);
+    if (checkpointing) {
+      this.env.enableCheckpointing(commitIntervalMs);
+    }
+  }
+
+  /**
+   * Configures the parallelism according to the configuration.
+   */
+  protected void configureParallelism() {
+    final Integer parallelism = this.config.getInteger(ConfigurationKeys.PARALLELISM, null);
+    if (parallelism != null) {
+      LOGGER.info("Set parallelism: {}.", parallelism);
+      this.env.setParallelism(parallelism);
+    }
+  }
+
+  /**
+   * Configures the state backend according to the configuration.
+   */
+  public void configureStateBackend() {
+    LOGGER.info("Enable state backend.");
+    final StateBackend stateBackend = StateBackends.fromConfiguration(this.config);
+    this.env.setStateBackend(stateBackend);
+  }
+
+
+  protected abstract void configureSerializers();
+
+  /**
+   * Empty placeholder. Implement this method to implement the custom logic of your microservice.
+   */
+  protected abstract void buildPipeline();
+
+  /**
+   * Starts the service.
+   */
+  public void run() {
+    this.configureEnv();
+    this.buildPipeline();
+    LOGGER.info("Execution plan: {}", this.env.getExecutionPlan());
+
+    try {
+      this.env.execute(this.applicationId);
+    } catch (final Exception e) { // NOPMD Exception thrown by Flink
+      LOGGER.error("An error occured while running this job.", e);
+    }
+  }
+
+
+}
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/ConfigurationKeys.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/ConfigurationKeys.java
new file mode 100644
index 0000000000000000000000000000000000000000..9eb143c3c07f879de37eafa2fbe6729bf182d45e
--- /dev/null
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/ConfigurationKeys.java
@@ -0,0 +1,43 @@
+package rocks.theodolite.benchmarks.commons.flink;
+
+/**
+ * Keys to access configuration parameters.
+ */
+public final class ConfigurationKeys {
+
+  public static final String APPLICATION_NAME = "application.name";
+
+  public static final String APPLICATION_VERSION = "application.version";
+
+  public static final String CONFIGURATION_KAFKA_TOPIC = "configuration.kafka.topic";
+
+  public static final String KAFKA_BOOTSTRAP_SERVERS = "kafka.bootstrap.servers";
+
+  public static final String KAFKA_OUTPUT_TOPIC = "kafka.output.topic";
+
+  public static final String KAFKA_INPUT_TOPIC = "kafka.input.topic";
+
+  public static final String SCHEMA_REGISTRY_URL = "schema.registry.url";
+
+  public static final String WINDOW_SIZE_MS = "window.size.ms";
+
+  public static final String WINDOW_GRACE_MS = "window.grace.ms";
+
+  public static final String COMMIT_INTERVAL_MS = "commit.interval.ms";
+
+  public static final String FLINK_STATE_BACKEND = "flink.state.backend";
+
+  public static final String FLINK_STATE_BACKEND_PATH = "flink.state.backend.path";
+
+  public static final String FLINK_STATE_BACKEND_MEMORY_SIZE = // NOPMD
+      "flink.state.backend.memory.size";
+
+  public static final String DEBUG = "debug";
+
+  public static final String CHECKPOINTING = "checkpointing";
+
+  public static final String PARALLELISM = "parallelism";
+
+  private ConfigurationKeys() {}
+
+}
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/KafkaConnectorFactory.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/KafkaConnectorFactory.java
similarity index 96%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/KafkaConnectorFactory.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/KafkaConnectorFactory.java
index 55d73b0fb9274b0ae67468d50b7978799d7e6257..a17403f07b8dcc9d3034222035428ecae6b7f860 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/KafkaConnectorFactory.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/KafkaConnectorFactory.java
@@ -1,4 +1,4 @@
-package theodolite.commons.flink;
+package rocks.theodolite.benchmarks.commons.flink;
 
 import java.time.Duration;
 import java.util.Properties;
@@ -15,8 +15,8 @@ import org.apache.flink.streaming.connectors.kafka.KafkaSerializationSchema;
 import org.apache.kafka.clients.consumer.ConsumerConfig;
 import org.apache.kafka.clients.producer.ProducerConfig;
 import org.apache.kafka.common.serialization.Serde;
-import theodolite.commons.flink.serialization.FlinkKafkaKeyValueSerde;
-import theodolite.commons.flink.util.SerializableSupplier;
+import rocks.theodolite.benchmarks.commons.flink.serialization.FlinkKafkaKeyValueSerde;
+import rocks.theodolite.benchmarks.commons.flink.util.SerializableSupplier;
 
 /**
  * A class for creating {@link FlinkKafkaConsumer} and {@link FlinkKafkaProducer}.
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/StateBackends.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/StateBackends.java
similarity index 98%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/StateBackends.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/StateBackends.java
index a94927e4bf49e1dbe6d109eb8f19f7d292f3d879..0f58c9ae8a16842ee077e7c9d01cf69571f11af4 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/StateBackends.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/StateBackends.java
@@ -1,4 +1,4 @@
-package theodolite.commons.flink;
+package rocks.theodolite.benchmarks.commons.flink;
 
 import java.io.IOException;
 import org.apache.commons.configuration2.Configuration;
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/TupleType.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/TupleType.java
similarity index 92%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/TupleType.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/TupleType.java
index 360331e4d1e4fdc47a24ac8ae995b7590301f7fd..fc2249ae36b5be2c2ffdf114a1f6c1ecad3364d1 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/TupleType.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/TupleType.java
@@ -1,4 +1,4 @@
-package theodolite.commons.flink;
+package rocks.theodolite.benchmarks.commons.flink;
 
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeinfo.Types;
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/FlinkKafkaKeyValueSerde.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/FlinkKafkaKeyValueSerde.java
similarity index 95%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/FlinkKafkaKeyValueSerde.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/FlinkKafkaKeyValueSerde.java
index 22f615a6af4caf575af57dbe9b7f989889c4095f..40482a7caf2838e54f42771f743e48cabeeee615 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/FlinkKafkaKeyValueSerde.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/FlinkKafkaKeyValueSerde.java
@@ -1,4 +1,4 @@
-package theodolite.commons.flink.serialization;
+package rocks.theodolite.benchmarks.commons.flink.serialization;
 
 import javax.annotation.Nullable;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
@@ -8,7 +8,7 @@ import org.apache.flink.streaming.connectors.kafka.KafkaSerializationSchema;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.common.serialization.Serde;
-import theodolite.commons.flink.util.SerializableSupplier;
+import rocks.theodolite.benchmarks.commons.flink.util.SerializableSupplier;
 
 /**
  * A {@link KafkaSerializationSchema} and {@link KafkaDeserializationSchema} for an arbitrary
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/StatsSerializer.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/StatsSerializer.java
similarity index 91%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/StatsSerializer.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/StatsSerializer.java
index f1f9870fda73ccec0fc25c5c70665759ab07d893..881f5870a4dda3085d1391aea016f61018627029 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/serialization/StatsSerializer.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/serialization/StatsSerializer.java
@@ -1,11 +1,10 @@
-package theodolite.commons.flink.serialization;
+package rocks.theodolite.benchmarks.commons.flink.serialization;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.Serializer;
 import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
 import com.google.common.math.Stats;
-
 import java.io.Serializable;
 
 /**
@@ -13,7 +12,7 @@ import java.io.Serializable;
  */
 public class StatsSerializer extends Serializer<Stats> implements Serializable {
 
-  private static final long serialVersionUID = -1276866176534267373L; //NOPMD
+  private static final long serialVersionUID = -1276866176534267373L; // NOPMD
 
   @Override
   public void write(final Kryo kryo, final Output output, final Stats object) {
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/util/SerializableSupplier.java b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/util/SerializableSupplier.java
similarity index 84%
rename from theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/util/SerializableSupplier.java
rename to theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/util/SerializableSupplier.java
index bcc51a9ef7b8bb0f36398ea401f1d2c898472081..4697e13eaed444a9f23d8ec44deb386f9c542ace 100644
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/util/SerializableSupplier.java
+++ b/theodolite-benchmarks/flink-commons/src/main/java/rocks/theodolite/benchmarks/commons/flink/util/SerializableSupplier.java
@@ -1,4 +1,4 @@
-package theodolite.commons.flink.util;
+package rocks.theodolite.benchmarks.commons.flink.util;
 
 import java.io.Serializable;
 import java.util.function.Supplier;
diff --git a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/ConfigurationKeys.java b/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/ConfigurationKeys.java
deleted file mode 100644
index 2847ede440ecd65bdf35fc8e825d0f7b723a3f8f..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/flink-commons/src/main/java/theodolite/commons/flink/ConfigurationKeys.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite.commons.flink;
-
-/**
- * Keys to access configuration parameters.
- */
-public final class ConfigurationKeys {
-
-  public static final String FLINK_STATE_BACKEND = "flink.state.backend";
-
-  public static final String FLINK_STATE_BACKEND_PATH = "flink.state.backend.path";
-
-  public static final String FLINK_STATE_BACKEND_MEMORY_SIZE = // NOPMD
-      "flink.state.backend.memory.size";
-
-  public static final String FLINK_CHECKPOINTING = "checkpointing";
-
-  private ConfigurationKeys() {}
-
-}
diff --git a/theodolite-benchmarks/gradle/wrapper/gradle-wrapper.properties b/theodolite-benchmarks/gradle/wrapper/gradle-wrapper.properties
index 442d9132ea32808ad980df4bd233b359f76341a7..2e6e5897b5285c749d75662c65ac5d2904c37bc6 100644
--- a/theodolite-benchmarks/gradle/wrapper/gradle-wrapper.properties
+++ b/theodolite-benchmarks/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/theodolite-benchmarks/hazelcastjet-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/hazelcastjet-commons/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/hazelcastjet-commons/build.gradle b/theodolite-benchmarks/hazelcastjet-commons/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..934ebc5fae39eea90a1c0ab47f989ee3cc59d6f9
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/build.gradle
@@ -0,0 +1,23 @@
+plugins {
+    id 'theodolite.java-commons'
+}
+
+repositories {
+  mavenCentral()
+  maven {
+    url "https://oss.sonatype.org/content/repositories/snapshots/"
+  }
+  maven {
+      url 'https://packages.confluent.io/maven/'
+  }
+}
+
+dependencies {
+    implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true }
+    implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
+    implementation 'com.hazelcast.jet:hazelcast-jet:4.5'
+    implementation 'com.hazelcast.jet:hazelcast-jet-kafka:4.5'
+    implementation 'com.hazelcast:hazelcast-kubernetes:2.2.2'
+    implementation 'io.confluent:kafka-avro-serializer:5.3.0'
+    implementation 'org.slf4j:slf4j-api:1.7.25'
+}
\ No newline at end of file
diff --git a/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/BenchmarkConfigBuilder.java b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/BenchmarkConfigBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..46dd56a8669cce4d29e8dace1bd6c2649a71e1f0
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/BenchmarkConfigBuilder.java
@@ -0,0 +1,71 @@
+package rocks.theodolite.benchmarks.commons.hazelcastjet;
+
+import com.hazelcast.config.Config;
+import com.hazelcast.config.JoinConfig;
+import org.slf4j.Logger;
+
+/**
+ * Build a Config Object for Benchmarks implemented in Hazelcast Jet.
+ *
+ */
+public class BenchmarkConfigBuilder {
+
+  /**
+   * Builds a Config Object for Benchmarks implemented in Hazelcast Jet using data from the
+   * environment.
+   */
+  public Config buildFromEnv(final Logger logger, final String bootstrapServerDefault,
+      final String hzKubernetesServiceDnsKey) {
+
+    final String bootstrapServer = System.getenv(ConfigurationKeys.BOOTSTRAP_SERVER);
+    final String kubernetesDnsName = System.getenv(ConfigurationKeys.KUBERNETES_DNS_NAME);
+
+    ClusterConfig clusterConfig;
+    if (bootstrapServer != null) { // NOPMD
+      clusterConfig = ClusterConfig.fromBootstrapServer(bootstrapServer);
+      logger.info("Use bootstrap server '{}'.", bootstrapServer);
+    } else if (kubernetesDnsName != null) { // NOPMD
+      clusterConfig = ClusterConfig.fromKubernetesDnsName(kubernetesDnsName);
+      logger.info("Use Kubernetes DNS name '{}'.", kubernetesDnsName);
+    } else {
+      clusterConfig = ClusterConfig.fromBootstrapServer(bootstrapServerDefault);
+      logger.info(
+          "Neither a bootstrap server nor a Kubernetes DNS name was provided. Use default bootstrap server '{}'.", // NOCS
+          bootstrapServerDefault);
+    }
+
+    final String port = System.getenv(ConfigurationKeys.PORT);
+    if (port != null) {
+      clusterConfig.setPort(Integer.parseInt(port));
+    }
+
+    final String portAutoIncrement = System.getenv(ConfigurationKeys.PORT_AUTO_INCREMENT);
+    if (portAutoIncrement != null) {
+      clusterConfig.setPortAutoIncrement(Boolean.parseBoolean(portAutoIncrement));
+    }
+
+    final String clusterNamePrefix = System.getenv(ConfigurationKeys.CLUSTER_NAME_PREFIX);
+    if (clusterNamePrefix != null) {
+      clusterConfig.setClusterNamePrefix(clusterNamePrefix);
+    }
+
+    // Set network config for this hazelcast jet instance
+    final Config config = new Config()
+        .setClusterName(clusterConfig.getClusterNamePrefix());
+    final JoinConfig joinConfig = config.getNetworkConfig()
+        .setPort(clusterConfig.getPort())
+        .setPortAutoIncrement(clusterConfig.isPortAutoIncrement())
+        .getJoin();
+    joinConfig.getMulticastConfig().setEnabled(false);
+    if (clusterConfig.hasBootstrapServer()) {
+      joinConfig.getTcpIpConfig().addMember(clusterConfig.getBootstrapServer());
+    } else if (clusterConfig.hasKubernetesDnsName()) {
+      joinConfig.getKubernetesConfig()
+          .setEnabled(true)
+          .setProperty(hzKubernetesServiceDnsKey, clusterConfig.getKubernetesDnsName());
+    }
+
+    return config;
+  }
+
+}
diff --git a/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ClusterConfig.java b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ClusterConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5a2141799eb97dbedc5fc82fa456b2efee3a813
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ClusterConfig.java
@@ -0,0 +1,76 @@
+package rocks.theodolite.benchmarks.commons.hazelcastjet;
+
+/**
+ * Configuration of a load generator cluster.
+ */
+public final class ClusterConfig {
+
+  private static final int PORT_DEFAULT = 5701;
+  private static final String CLUSTER_NAME_PREFIX_DEFAULT = "theodolite-hazelcastjet";
+
+  private final String bootstrapServer;
+  private final String kubernetesDnsName;
+  private int port = PORT_DEFAULT;
+  private boolean portAutoIncrement = true;
+  private String clusterNamePrefix = CLUSTER_NAME_PREFIX_DEFAULT;
+
+  /**
+   * Create a new {@link ClusterConfig} with the given parameter values.
+   */
+  private ClusterConfig(final String bootstrapServer, final String kubernetesDnsName) {
+    this.bootstrapServer = bootstrapServer;
+    this.kubernetesDnsName = kubernetesDnsName;
+  }
+
+  public boolean hasBootstrapServer() {
+    return this.bootstrapServer != null;
+  }
+
+  public String getBootstrapServer() {
+    return this.bootstrapServer;
+  }
+
+  public boolean hasKubernetesDnsName() {
+    return this.kubernetesDnsName != null;
+  }
+
+  public String getKubernetesDnsName() {
+    return this.kubernetesDnsName;
+  }
+
+  public int getPort() {
+    return this.port;
+  }
+
+  public boolean isPortAutoIncrement() {
+    return this.portAutoIncrement;
+  }
+
+  public ClusterConfig setPortAutoIncrement(final boolean portAutoIncrement) { // NOPMD
+    this.portAutoIncrement = portAutoIncrement;
+    return this;
+  }
+
+  public ClusterConfig setPort(final int port) { // NOPMD
+    this.port = port;
+    return this;
+  }
+
+  public String getClusterNamePrefix() {
+    return this.clusterNamePrefix;
+  }
+
+  public ClusterConfig setClusterNamePrefix(final String clusterNamePrefix) { // NOPMD
+    this.clusterNamePrefix = clusterNamePrefix;
+    return this;
+  }
+
+  public static ClusterConfig fromBootstrapServer(final String bootstrapServer) {
+    return new ClusterConfig(bootstrapServer, null);
+  }
+
+  public static ClusterConfig fromKubernetesDnsName(final String kubernetesDnsName) {
+    return new ClusterConfig(null, kubernetesDnsName);
+  }
+
+}
diff --git a/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ConfigurationKeys.java b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ConfigurationKeys.java
new file mode 100644
index 0000000000000000000000000000000000000000..d1705888430c92ee0cec50ea06871746bbe06cb5
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/ConfigurationKeys.java
@@ -0,0 +1,33 @@
+package rocks.theodolite.benchmarks.commons.hazelcastjet;
+
+/**
+ * Configuration Keys used for Hazelcast Jet Benchmark implementations.
+ */
+public class ConfigurationKeys {
+
+  // Common Keys
+  public static final String BOOTSTRAP_SERVER = "BOOTSTRAP_SERVER";
+  public static final String KUBERNETES_DNS_NAME = "KUBERNETES_DNS_NAME";
+  public static final String PORT = "PORT";
+  public static final String PORT_AUTO_INCREMENT = "PORT_AUTO_INCREMENT";
+  public static final String CLUSTER_NAME_PREFIX = "CLUSTER_NAME_PREFIX";
+  public static final String KAFKA_BOOTSTRAP_SERVERS = "KAFKA_BOOTSTRAP_SERVERS";
+  public static final String SCHEMA_REGISTRY_URL = "SCHEMA_REGISTRY_URL";
+  public static final String KAFKA_INPUT_TOPIC = "KAFKA_INPUT_TOPIC";
+
+  // Additional topics
+  public static final String KAFKA_OUTPUT_TOPIC = "KAFKA_OUTPUT_TOPIC";
+
+  // UC2
+  public static final String DOWNSAMPLE_INTERVAL = "DOWNSAMPLE_INTERVAL";
+
+  // UC3
+  public static final String WINDOW_SIZE_IN_SECONDS = "WINDOW_SIZE_IN_SECONDS";
+  public static final String HOPPING_SIZE_IN_SECONDS = "HOPPING_SIZE_IN_SECONDS";
+
+  // UC4
+  public static final String KAFKA_CONFIGURATION_TOPIC = "KAFKA_CONFIGURATION_TOPIC";
+  public static final String KAFKA_FEEDBACK_TOPIC = "KAFKA_FEEDBACK_TOPIC";
+  public static final String WINDOW_SIZE_UC4 = "WINDOW_SIZE";
+  
+}
diff --git a/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/JetInstanceBuilder.java b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/JetInstanceBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc2ee052d5e2ed7e7b372baf7b59f24ef3e26e8f
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/JetInstanceBuilder.java
@@ -0,0 +1,61 @@
+package rocks.theodolite.benchmarks.commons.hazelcastjet;
+
+import com.hazelcast.config.Config;
+import com.hazelcast.jet.Jet;
+import com.hazelcast.jet.JetInstance;
+import org.slf4j.Logger;
+
+/**
+ * Builds JetInstances for Benchmark Implementations in Hazelcast Jet.
+ */
+public class JetInstanceBuilder {
+
+  private Config config;
+
+  /**
+   * Set Hazelcast Config for the JetInstance to be built.
+   *
+   * @param hazelcastConfig Config for this JetInstance to be built.
+   * @return A Uc1JetInstanceBuilder with a set Config.
+   */
+  public JetInstanceBuilder setCustomConfig(final Config hazelcastConfig) { // NOPMD
+    this.config = hazelcastConfig;
+    return this;
+  }
+
+  /**
+   * Sets the ClusterConfig for this builder using the clusterConfigBuilder and environment
+   * variables.
+   *
+   * @param logger A specified logger to log procedures
+   * @param bootstrapServerDefault The default bootstrap server used in case no definition by the
+   *        environment is provided.
+   * @return The Uc1HazelcastJetBuilder factory with a set ClusterConfig.
+   */
+  public JetInstanceBuilder setConfigFromEnv(final Logger logger, // NOPMD
+      final String bootstrapServerDefault, final String hzKubernetesServiceDnsKey) {
+    // Use ClusterConfigBuilder to build a cluster config for this microservice
+    final BenchmarkConfigBuilder configBuilder = new BenchmarkConfigBuilder();
+    this.config =
+        configBuilder.buildFromEnv(logger, bootstrapServerDefault, hzKubernetesServiceDnsKey);
+    return this;
+  }
+
+  /**
+   * Builds and returns a JetInstance. If a config is set, the JetInstance will contain the set
+   * config.
+   *
+   * @return JetInstance
+   */
+  public JetInstance build() {
+    final JetInstance jet = Jet.newJetInstance();
+    if (this.config == null) {
+      return jet;
+    } else {
+      jet.getConfig().setHazelcastConfig(this.config);
+      return jet;
+    }
+
+  }
+
+}
diff --git a/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/KafkaPropertiesBuilder.java b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/KafkaPropertiesBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..9bce60f57a6ecb9da4578e08d8f49bbb34af934a
--- /dev/null
+++ b/theodolite-benchmarks/hazelcastjet-commons/src/main/java/rocks/theodolite/benchmarks/commons/hazelcastjet/KafkaPropertiesBuilder.java
@@ -0,0 +1,99 @@
+package rocks.theodolite.benchmarks.commons.hazelcastjet;
+
+import io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig;
+import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.clients.consumer.ConsumerConfig;
+import org.apache.kafka.clients.producer.ProducerConfig;
+
+
+/**
+ * Generalized builder for Kafka properties.
+ * Will always set AUTO_OFFSET_RESET_CONFIG to earliest
+ *
+ */
+public class KafkaPropertiesBuilder {
+
+  private static final String TRUE = "true";
+  private static final String AUTO_OFFSET_RESET_CONFIG = "earliest";
+
+
+  /**
+   * Builds Kafka Properties used for the UC4 Benchmark pipeline.
+   *
+   * @param kafkaBootstrapServerDefault Default bootstrap server if not set by environment.
+   * @param schemaRegistryUrlDefault Default schema registry URL if not set by environment.
+   * @param applicationName Used to set the group id to commit the offsets
+   * @param keyDeserializer Classname for the key deserializer.
+   * @param valueDeserializer Classname for the value deserializer.
+   * @return A Kafka Properties Object containing the values needed for a Pipeline.
+   */
+  public Properties buildKafkaInputReadPropsFromEnv(final String kafkaBootstrapServerDefault,//NOPMD
+                                                    final String schemaRegistryUrlDefault,
+                                                    final String applicationName,
+                                                    final String keyDeserializer,
+                                                    final String valueDeserializer) {
+
+    final String kafkaBootstrapServers = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS),
+        kafkaBootstrapServerDefault);
+    final String schemaRegistryUrl = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.SCHEMA_REGISTRY_URL),
+        schemaRegistryUrlDefault);
+
+    final Properties props = new Properties();
+    props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBootstrapServers);
+    props.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
+        keyDeserializer);
+    props.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
+        valueDeserializer);
+    props.setProperty(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl);
+    props.setProperty(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, TRUE);
+    props.setProperty(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, AUTO_OFFSET_RESET_CONFIG);
+
+    props.setProperty(ConsumerConfig.GROUP_ID_CONFIG,applicationName);
+    props.setProperty(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,TRUE);
+
+    return props;
+  }
+
+  /**
+   * Builds Kafka Properties used for the UC4 Benchmark pipeline.
+   *
+   * @param kafkaBootstrapServerDefault Default bootstrap server if not set by environment.
+   * @param schemaRegistryUrlDefault Default schema registry URL if not set by environment.
+   * @param keySerializer Classname for the key serializer.
+   * @param valueSerializer Classname for the value serializer.
+   * @return A Kafka Properties Object containing the values needed for a Hazelcast Jet UC4
+   *         Pipeline.
+   */
+  public Properties buildKafkaWritePropsFromEnv(final String kafkaBootstrapServerDefault,//NOPMD
+                                                final String schemaRegistryUrlDefault,
+                                                final String keySerializer,
+                                                final String valueSerializer) {
+
+    final String kafkaBootstrapServers = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS),
+        kafkaBootstrapServerDefault);
+    final String schemaRegistryUrl = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.SCHEMA_REGISTRY_URL),
+        schemaRegistryUrlDefault);
+
+    final Properties props = new Properties();
+    props.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBootstrapServers);
+    props.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
+        keySerializer);
+    props.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
+        valueSerializer);
+    props.setProperty(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryUrl);
+    props.setProperty("specific.avro.writer", TRUE);
+
+    return props;
+  }
+
+
+
+
+
+}
diff --git a/theodolite-benchmarks/http-bridge/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/http-bridge/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..a375cb792eeb842ecfd1f789fbf6a716df43e9c8
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=true
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
diff --git a/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..87860c815222845c1d264d7d0ce498d3397f8280
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=true
diff --git a/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..efbcb8c9e5d449194a48ca1ea42b7d807b573db9
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=true
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/http-bridge/Dockerfile b/theodolite-benchmarks/http-bridge/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b31dbcdef48f3b9eadf81a35c95e441c4b54955b
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/Dockerfile
@@ -0,0 +1,6 @@
+FROM openjdk:11-slim
+
+ADD build/distributions/http-bridge.tar /
+
+CMD  JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=$LOG_LEVEL" \
+     /http-bridge/bin/http-bridge
\ No newline at end of file
diff --git a/theodolite-benchmarks/http-bridge/build.gradle b/theodolite-benchmarks/http-bridge/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..7714f9947b1361badb8a17d3eb6f063b1dc39aab
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/build.gradle
@@ -0,0 +1,35 @@
+plugins {
+  // common java conventions
+  id 'theodolite.java-conventions'
+
+  // make executable
+  id 'application'
+}
+
+repositories {
+  mavenCentral()
+  maven {
+    url "https://oss.sonatype.org/content/repositories/snapshots/"
+  }
+  maven {
+      url 'https://packages.confluent.io/maven/'
+  }
+}
+
+dependencies {
+  implementation project(':commons')
+  implementation project(':load-generator-commons')
+  
+  implementation 'io.javalin:javalin:4.3.0'
+  implementation 'io.micrometer:micrometer-core:1.8.3'
+  implementation 'io.micrometer:micrometer-registry-prometheus:1.8.3'
+  implementation 'com.google.code.gson:gson:2.8.2'
+  runtimeOnly 'org.slf4j:slf4j-simple:1.7.25'
+
+  testImplementation 'junit:junit:4.12'
+}
+
+
+tasks.distZip.enabled = false
+
+mainClassName = "rocks.theodolite.benchmarks.httpbridge.HttpBridge"
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Deserializer.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Deserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..80f325691b326a88e5a5033c526c575455bd2cd1
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Deserializer.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+/**
+ * A class for converting objects to strings.
+ *
+ * @param <T> Type to be deserialized from.
+ */
+@FunctionalInterface
+public interface Deserializer<T> {
+
+  T deserialize(String json);
+
+}
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Endpoint.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Endpoint.java
new file mode 100644
index 0000000000000000000000000000000000000000..ac83574adb74c8d9320ab858673ea009bd3296a1
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/Endpoint.java
@@ -0,0 +1,52 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+import rocks.theodolite.benchmarks.loadgenerator.RecordSender;
+
+/**
+ * Class describing an endpoint of the {@link HttpBridge}, which converts JSON objects to Java
+ * objects and sends them using a {@link RecordSender}.
+ *
+ * @param <T> Type of objects this endpoint receives and converts.
+ */
+public class Endpoint<T> {
+
+  private final String path;
+
+  private final Deserializer<? extends T> recordDeserializer;
+
+  private final RecordSender<? super T> recordSender;
+
+  /**
+   * Create a new {@link Endpoint} at the given path.
+   */
+  public Endpoint(
+      final String path,
+      final Deserializer<? extends T> recordDeserializer,
+      final RecordSender<? super T> recordSender) {
+    this.path = path;
+    this.recordDeserializer = recordDeserializer;
+    this.recordSender = recordSender;
+  }
+
+  /**
+   * Create a new {@link Endpoint} at the given path with a {@link GsonDeserializer}.
+   */
+  public Endpoint(
+      final String path,
+      final Class<T> recordType,
+      final RecordSender<? super T> recordSender) {
+    this.path = path;
+    this.recordDeserializer = new GsonDeserializer<>(recordType);
+    this.recordSender = recordSender;
+  }
+
+  public String getPath() {
+    return this.path;
+  }
+
+  public void convert(final String json) {
+    final T record = this.recordDeserializer.deserialize(json);
+    this.recordSender.send(record);
+  }
+
+}
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/EnvVarHttpBridgeFactory.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/EnvVarHttpBridgeFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..2d49f05eea8aee1a3ed72d63868fbd6a50a92f48
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/EnvVarHttpBridgeFactory.java
@@ -0,0 +1,59 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.loadgenerator.ConfigurationKeys;
+import rocks.theodolite.benchmarks.loadgenerator.TitanKafkaSenderFactory;
+
+class EnvVarHttpBridgeFactory {
+
+  private static final String PORT_KEY = "PORT";
+  private static final int PORT_DEFAULT = 8080;
+
+  private static final String HOST_KEY = "HOST";
+  private static final String HOST_DEFAULT = "0.0.0.0"; // NOPMD
+
+  private static final String KAFKA_BOOTSTRAP_SERVERS_DEFAULT = "localhost:9092"; // NOPMD
+  private static final String KAFKA_TOPIC_DEFAULT = "input";
+  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+
+  public HttpBridge create() {
+    final Endpoint<?> converter = new Endpoint<>(
+        "/",
+        ActivePowerRecord.class,
+        TitanKafkaSenderFactory.forKafkaConfig(
+            this.getKafkaBootstrapServer(),
+            this.getKafkaTopic(),
+            this.getSchemaRegistryUrl()));
+    return new HttpBridge(this.getHost(), this.getPort(), List.of(converter));
+  }
+
+  private String getHost() {
+    return Objects.requireNonNullElse(System.getenv(HOST_KEY), HOST_DEFAULT);
+  }
+
+  private int getPort() {
+    return Optional.ofNullable(System.getenv(PORT_KEY)).map(Integer::parseInt).orElse(PORT_DEFAULT);
+  }
+
+  private String getKafkaBootstrapServer() {
+    return Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS),
+        KAFKA_BOOTSTRAP_SERVERS_DEFAULT);
+  }
+
+  private String getKafkaTopic() {
+    return Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+        KAFKA_TOPIC_DEFAULT);
+  }
+
+  private String getSchemaRegistryUrl() {
+    return Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.SCHEMA_REGISTRY_URL),
+        SCHEMA_REGISTRY_URL_DEFAULT);
+  }
+
+}
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/GsonDeserializer.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/GsonDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..947e78947c8b381752648ecb53c90dc67da31c7b
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/GsonDeserializer.java
@@ -0,0 +1,29 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+import com.google.gson.Gson;
+
+/**
+ * A {@link Deserializer} based on GSON.
+ *
+ * @param <T> Type to be serialized from.
+ */
+public class GsonDeserializer<T> implements Deserializer<T> {
+
+  private final Gson gson;
+  private final Class<T> targetClass;
+
+  public GsonDeserializer(final Class<T> targetClass) {
+    this(new Gson(), targetClass);
+  }
+
+  public GsonDeserializer(final Gson gson, final Class<T> targetClass) {
+    this.gson = gson;
+    this.targetClass = targetClass;
+  }
+
+  @Override
+  public T deserialize(final String json) {
+    return this.gson.fromJson(json, this.targetClass);
+  }
+
+}
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/HttpBridge.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/HttpBridge.java
new file mode 100644
index 0000000000000000000000000000000000000000..3de0bc5947e7b2b38c6cbb4c6527a3532feee28e
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/HttpBridge.java
@@ -0,0 +1,40 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+import java.util.List;
+import rocks.theodolite.benchmarks.loadgenerator.RecordSender;
+
+/**
+ * Class that creates a webserver with potentially multiple {@link Endpoint}s, which receives JSON
+ * objects at these endpoints, converts them to Java objects and send them using
+ * {@link RecordSender}s.
+ */
+public class HttpBridge {
+
+  private final JavalinWebServer webServer;
+
+  public HttpBridge(final String host, final int port, final List<Endpoint<?>> converters) {
+    this.webServer = new JavalinWebServer(converters, host, port);
+  }
+
+  public void start() {
+    this.webServer.start();
+  }
+
+  public void stop() {
+    this.webServer.stop();
+  }
+
+  public void runAsStandalone() {
+    Runtime.getRuntime().addShutdownHook(new Thread(() -> this.stop()));
+    this.start();
+  }
+
+  public static HttpBridge fromEnvironment() {
+    return new EnvVarHttpBridgeFactory().create();
+  }
+
+  public static void main(final String[] args) {
+    HttpBridge.fromEnvironment().runAsStandalone();
+  }
+
+}
diff --git a/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/JavalinWebServer.java b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/JavalinWebServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..a7c0ee75943c0255432013c3e6cc73c2dde2f3ec
--- /dev/null
+++ b/theodolite-benchmarks/http-bridge/src/main/java/rocks/theodolite/benchmarks/httpbridge/JavalinWebServer.java
@@ -0,0 +1,66 @@
+package rocks.theodolite.benchmarks.httpbridge;
+
+import io.javalin.Javalin;
+import io.javalin.plugin.metrics.MicrometerPlugin;
+import io.micrometer.prometheus.PrometheusConfig;
+import io.micrometer.prometheus.PrometheusMeterRegistry;
+import io.prometheus.client.exporter.common.TextFormat;
+import java.util.Collection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implementation of a webserver based on the Javalin framework.
+ */
+public class JavalinWebServer {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(JavalinWebServer.class);
+
+  private static final int HTTP_SUCCESS = 200;
+
+  private final Javalin app;
+
+  private final PrometheusMeterRegistry registry;
+
+  private final String host;
+  private final int port;
+
+  /**
+   * Create a new instance, running on the specified host and port with the configured endpoints.
+   */
+  public JavalinWebServer(
+      final Collection<Endpoint<?>> converters,
+      final String host,
+      final int port) {
+    this.host = host;
+    this.port = port;
+    this.registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
+    this.app = Javalin.create(config -> {
+      config.registerPlugin(new MicrometerPlugin(this.registry));
+    });
+    this.configureRoutes(converters);
+  }
+
+  private void configureRoutes(final Collection<Endpoint<?>> endpoints) {
+    for (final Endpoint<?> endpoint : endpoints) {
+      this.app.post(endpoint.getPath(), ctx -> {
+        final String record = ctx.body();
+        LOGGER.debug("Received record at '{}': {}", ctx.path(), record);
+        endpoint.convert(record);
+        ctx.status(HTTP_SUCCESS);
+      });
+    }
+    this.app.get("/metrics", ctx -> ctx
+        .contentType(TextFormat.CONTENT_TYPE_004)
+        .result(this.registry.scrape()));
+  }
+
+  public void start() {
+    this.app.start(this.host, this.port);
+  }
+
+  public void stop() {
+    this.app.close();
+  }
+
+}
diff --git a/theodolite-benchmarks/kstreams-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/kstreams-commons/.settings/org.eclipse.jdt.ui.prefs
index 98b5ca8064a352aacfe2aebd13fbd0a87735fc3e..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/kstreams-commons/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/kstreams-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,32 +12,80 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
-cleanup.remove_redundant_semicolons=false
+cleanup.remove_redundant_semicolons=true
 cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
 sp_cleanup.remove_redundant_semicolons=false
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/kstreams-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/kstreams-commons/build.gradle b/theodolite-benchmarks/kstreams-commons/build.gradle
index c5a880acd4377056cc0b0f06b33a2d74c9f87c4e..e443e3af19d8b51e230d6f57a865aef9a4d90e30 100644
--- a/theodolite-benchmarks/kstreams-commons/build.gradle
+++ b/theodolite-benchmarks/kstreams-commons/build.gradle
@@ -3,7 +3,7 @@ plugins {
 }
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -14,10 +14,9 @@ repositories {
 
 dependencies {
   // These dependencies are used internally, and not exposed to consumers on their own compile classpath.
+  implementation project(':commons')
   // implementation 'org.slf4j:slf4j-simple:1.7.25'
-  implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true }
-  implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
-  implementation 'org.apache.kafka:kafka-streams:2.6.0'
+  implementation 'org.apache.kafka:kafka-streams:3.1.0'
 
   // Use JUnit test framework
   testImplementation 'junit:junit:4.12'
diff --git a/theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/ConfigurationKeys.java b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/ConfigurationKeys.java
similarity index 95%
rename from theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/ConfigurationKeys.java
rename to theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/ConfigurationKeys.java
index ca1838b84a4f1b3ddf11ad4dea8e34792371974b..ca74aa7d9fd88a7d3c20589438e0c9454062d2f0 100644
--- a/theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/ConfigurationKeys.java
+++ b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.commons.kafkastreams;
+package rocks.theodolite.benchmarks.commons.kstreams;
 
 /**
  * Keys to access configuration parameters.
diff --git a/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/GenericSerde.java b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/GenericSerde.java
new file mode 100644
index 0000000000000000000000000000000000000000..4fa269385e522d42f9c3af3a6f4102468380bc35
--- /dev/null
+++ b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/GenericSerde.java
@@ -0,0 +1,64 @@
+package rocks.theodolite.benchmarks.commons.kstreams;
+
+import java.util.Map;
+import java.util.function.Function;
+import org.apache.kafka.common.serialization.Deserializer;
+import org.apache.kafka.common.serialization.Serde;
+import org.apache.kafka.common.serialization.Serializer;
+
+/**
+ * Factory methods to create generic {@link Serde}s.
+ */
+public final class GenericSerde {
+
+  private GenericSerde() {}
+
+  /**
+   * Create a {@link Serde} using a serialize and a deserialize function.
+   *
+   * @param serializer function to convert a record into a byte array
+   * @param deserializer function to create a record from a byte array
+   */
+  public static <T> Serde<T> from(final Function<T, byte[]> serializer,
+      final Function<byte[], T> deserializer) {
+    return org.apache.kafka.common.serialization.Serdes.serdeFrom(new Serializer<T>() {
+
+      @Override
+      public void configure(final Map<String, ?> configs, final boolean isKey) {
+        // Do nothing
+      }
+
+      @Override
+      public byte[] serialize(final String topic, final T data) {
+        return serializer.apply(data);
+      }
+
+      @Override
+      public void close() {
+        // Do nothing
+      }
+    }, new Deserializer<T>() {
+
+      @Override
+      public void configure(final Map<String, ?> configs, final boolean isKey) {
+        // Do nothing
+      }
+
+      @Override
+      public T deserialize(final String topic, final byte[] data) {
+        if (data == null) {
+          return null;
+        }
+        return deserializer.apply(data);
+      }
+
+      @Override
+      public void close() {
+        // Do nothing
+      }
+
+    });
+
+  }
+
+}
diff --git a/theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/KafkaStreamsBuilder.java b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/KafkaStreamsBuilder.java
similarity index 83%
rename from theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/KafkaStreamsBuilder.java
rename to theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/KafkaStreamsBuilder.java
index 89bd3147f0d3bb7a5fecc5d8c7d277bd294494ad..5a2716c6ebcb2a857946908b500554d3de883174 100644
--- a/theodolite-benchmarks/kstreams-commons/src/main/java/theodolite/commons/kafkastreams/KafkaStreamsBuilder.java
+++ b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/KafkaStreamsBuilder.java
@@ -1,4 +1,4 @@
-package theodolite.commons.kafkastreams;
+package rocks.theodolite.benchmarks.commons.kstreams;
 
 import java.util.Properties;
 import java.util.function.Function;
@@ -7,7 +7,6 @@ import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.KafkaStreams;
 import org.apache.kafka.streams.StreamsConfig;
 import org.apache.kafka.streams.Topology;
-import titan.ccp.common.kafka.streams.PropertiesBuilder;
 
 /**
  * Builder for the Kafka Streams configuration.
@@ -70,18 +69,15 @@ public abstract class KafkaStreamsBuilder {
 
     // optional configurations
     this.setOptionalProperty(propBuilder, StreamsConfig.ACCEPTABLE_RECOVERY_LAG_CONFIG,
-        this.config::getLong,
-        p -> p >= 0);
+        this.config::getLong, p -> p >= 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.BUFFERED_RECORDS_PER_PARTITION_CONFIG,
         this.config::getInt, p -> p > 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.CACHE_MAX_BYTES_BUFFERING_CONFIG,
-        this.config::getInt,
-        p -> p >= 0);
+        this.config::getInt, p -> p >= 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.COMMIT_INTERVAL_MS_CONFIG,
         this.config::getInt, p -> p >= 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.MAX_TASK_IDLE_MS_CONFIG,
-        this.config::getLong,
-        p -> p >= 0);
+        this.config::getLong, p -> p >= 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.MAX_WARMUP_REPLICAS_CONFIG,
         this.config::getInt, p -> p >= 1);
     this.setOptionalProperty(propBuilder, StreamsConfig.NUM_STANDBY_REPLICAS_CONFIG,
@@ -89,22 +85,28 @@ public abstract class KafkaStreamsBuilder {
     this.setOptionalProperty(propBuilder, StreamsConfig.NUM_STREAM_THREADS_CONFIG,
         this.config::getInt, p -> p > 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.POLL_MS_CONFIG,
-        this.config::getLong,
-        p -> p >= 0);
+        this.config::getLong, p -> p >= 0);
     this.setOptionalProperty(propBuilder, StreamsConfig.PROCESSING_GUARANTEE_CONFIG,
-        this.config::getString, p -> StreamsConfig.AT_LEAST_ONCE.equals(p)
-            || StreamsConfig.EXACTLY_ONCE.equals(p) || StreamsConfig.EXACTLY_ONCE_BETA.equals(p));
+        this.config::getString, this::validateProcessingGuarantee);
     this.setOptionalProperty(propBuilder, StreamsConfig.REPLICATION_FACTOR_CONFIG,
         this.config::getInt, p -> p >= 0);
 
-    if (this.config.containsKey(StreamsConfig.TOPOLOGY_OPTIMIZATION)
-        && this.config.getBoolean(StreamsConfig.TOPOLOGY_OPTIMIZATION)) {
-      propBuilder.set(StreamsConfig.TOPOLOGY_OPTIMIZATION, StreamsConfig.OPTIMIZE);
+    if (this.config.containsKey(StreamsConfig.TOPOLOGY_OPTIMIZATION_CONFIG)
+        && this.config.getBoolean(StreamsConfig.TOPOLOGY_OPTIMIZATION_CONFIG)) {
+      propBuilder.set(StreamsConfig.TOPOLOGY_OPTIMIZATION_CONFIG, StreamsConfig.OPTIMIZE);
     }
 
     return propBuilder.build();
   }
 
+  @SuppressWarnings("deprecation")
+  private boolean validateProcessingGuarantee(final String processingGuarantee) {
+    return StreamsConfig.AT_LEAST_ONCE.equals(processingGuarantee)
+        // We continue support EXACTLY_ONCE to allow benchmarking it against v2
+        || StreamsConfig.EXACTLY_ONCE.equals(processingGuarantee)
+        || StreamsConfig.EXACTLY_ONCE_V2.equals(processingGuarantee);
+  }
+
   /**
    * Method to implement a {@link Topology} for a {@code KafkaStreams} application.
    *
@@ -116,7 +118,7 @@ public abstract class KafkaStreamsBuilder {
    * Builds the {@link KafkaStreams} instance.
    */
   public KafkaStreams build() {
-    // Create the Kafka streams instance.
+    // Create the Kafka Streams instance.
     final Properties properties = this.buildProperties();
     return new KafkaStreams(this.buildTopology(properties), properties);
   }
diff --git a/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilder.java b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..78dda383a25b155c7ab1de91df9ddd6f320fbecc
--- /dev/null
+++ b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilder.java
@@ -0,0 +1,50 @@
+package rocks.theodolite.benchmarks.commons.kstreams;
+
+import java.util.Properties;
+import java.util.function.Predicate;
+
+
+/**
+ * Interface for a helper class for constructing and logging Kafka Stream {@link Properties}.
+ */
+public interface PropertiesBuilder {
+
+  /**
+   * Set the provided configuration key to the provided value.
+   */
+  <T> PropertiesBuilder set(String configKey, T value);
+
+  /**
+   * Set the provided configuration key to the provided value if a given condition is evaluated to
+   * true.
+   */
+  <T> PropertiesBuilder set(String configKey, T value, Predicate<T> condition);
+
+  /**
+   * Build a {@link Properties} object with the option being set before.
+   */
+  Properties build();
+
+  /**
+   * Interface representing an Kafka Stream {@link Properties} builder without the application id
+   * yet being set.
+   */
+  interface WithoutApplicationId {
+
+    /**
+     * Continue building Kafka Stream properties by specifying an application id. From now on, all
+     * configuration properties can be set directly.
+     */
+    PropertiesBuilder applicationId(String applicationId);
+
+  }
+
+  /**
+   * Start building Kafka Stream properties by specifying a bootstrap server. Next, an application
+   * id has to be specified.
+   */
+  static PropertiesBuilder.WithoutApplicationId bootstrapServers(final String bootstrapServers) {
+    return PropertiesBuilderImpl.bootstrapServers(bootstrapServers);
+  }
+
+}
diff --git a/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilderImpl.java b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilderImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..34459b8ea3d4c7d842e38c06cf12d7f0ffb9f14c
--- /dev/null
+++ b/theodolite-benchmarks/kstreams-commons/src/main/java/rocks/theodolite/benchmarks/commons/kstreams/PropertiesBuilderImpl.java
@@ -0,0 +1,52 @@
+package rocks.theodolite.benchmarks.commons.kstreams;
+
+import java.util.Objects;
+import java.util.Properties;
+import java.util.function.Predicate;
+import org.apache.kafka.streams.StreamsConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Default implementation for {@link PropertiesBuilder} and
+ * {@link PropertiesBuilder.WithoutApplicationId}.
+ */
+class PropertiesBuilderImpl implements PropertiesBuilder, PropertiesBuilder.WithoutApplicationId {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesBuilderImpl.class);
+
+  private final Properties properties = new Properties();
+
+  @Override
+  public <T> PropertiesBuilderImpl set(final String configKey, final T value) {
+    this.properties.put(configKey, value);
+    LOGGER.info("Set Kafka Streams configuration parameter '{}' to '{}'.", configKey, value);
+    return this;
+  }
+
+  @Override
+  public <T> PropertiesBuilderImpl set(final String configKey, final T value,
+      final Predicate<T> condition) {
+    if (condition.test(value)) {
+      this.set(configKey, value);
+    }
+    return this;
+  }
+
+  @Override
+  public Properties build() {
+    return this.properties;
+  }
+
+  @Override
+  public PropertiesBuilderImpl applicationId(final String applicationId) {
+    Objects.requireNonNull(applicationId, "Kafka Streams application ID cannot be null.");
+    return this.set(StreamsConfig.APPLICATION_ID_CONFIG, applicationId);
+  }
+
+  protected static PropertiesBuilderImpl bootstrapServers(final String bootsrapservers) {
+    Objects.requireNonNull(bootsrapservers, "Kafka bootstrap servers cannot be null.");
+    return new PropertiesBuilderImpl().set(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, bootsrapservers);
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/load-generator-commons/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/load-generator-commons/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/load-generator-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/load-generator-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/load-generator-commons/build.gradle b/theodolite-benchmarks/load-generator-commons/build.gradle
index 118f3e648f829a3eafe719ddf660d35ac8563574..082fb8eb9f1df15fb7b054588bb9728940eb442f 100644
--- a/theodolite-benchmarks/load-generator-commons/build.gradle
+++ b/theodolite-benchmarks/load-generator-commons/build.gradle
@@ -3,7 +3,7 @@ plugins {
 }
 
 repositories {
-  jcenter()
+  mavenCentral()
   maven {
     url "https://oss.sonatype.org/content/repositories/snapshots/"
   }
@@ -13,14 +13,18 @@ repositories {
 }
 
 dependencies {
-  implementation 'com.google.guava:guava:30.1-jre'
   implementation 'com.hazelcast:hazelcast:4.1.1'
   implementation 'com.hazelcast:hazelcast-kubernetes:2.2.1'
   implementation 'org.slf4j:slf4j-simple:1.7.25'
-  implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true }
-  implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true }
+  implementation 'com.google.guava:guava:30.1-jre'
+  implementation 'com.google.code.gson:gson:2.8.2'
+  implementation project(':commons')
   implementation 'org.apache.kafka:kafka-streams:2.6.0' // TODO required?
+  implementation platform('com.google.cloud:libraries-bom:24.2.0')
+  implementation 'com.google.protobuf:protobuf-java-util'
+  implementation 'com.google.cloud:google-cloud-pubsub'
 
   // Use JUnit test framework
   testImplementation 'junit:junit:4.12'
+  testImplementation 'com.github.tomakehurst:wiremock-jre8:2.32.0'
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/BeforeAction.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/BeforeAction.java
similarity index 82%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/BeforeAction.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/BeforeAction.java
index 56af95d70f762095a6fe090457b7d4b473a43b1a..852d5da827fe5d13572a4e44046a96924badda4e 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/BeforeAction.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/BeforeAction.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 /**
  * Describes the before action which is executed before every sub experiment.
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ClusterConfig.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ClusterConfig.java
similarity index 97%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ClusterConfig.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ClusterConfig.java
index 9d84dc67461f98fabdee4c8e0784ad7394d7f108..ae8778db3011b474daf1aff05a0c393ee0febb31 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ClusterConfig.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ClusterConfig.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 /**
  * Configuration of a load generator cluster.
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ConfigurationKeys.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ConfigurationKeys.java
similarity index 66%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ConfigurationKeys.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ConfigurationKeys.java
index 45ac1d5bb9c21a1b6303de2f248d08b69c02fc28..eb80d25eb327f2e3dc10dc2977131ac7edfef69d 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/ConfigurationKeys.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 /**
  * Keys to access configuration parameters.
@@ -23,6 +23,10 @@ public final class ConfigurationKeys {
 
   public static final String THREADS = "THREADS";
 
+  public static final String DISABLE_DNS_CACHING = "DISABLE_DNS_CACHING";
+
+  public static final String TARGET = "TARGET";
+
   public static final String KAFKA_BOOTSTRAP_SERVERS = "KAFKA_BOOTSTRAP_SERVERS";
 
   public static final String SCHEMA_REGISTRY_URL = "SCHEMA_REGISTRY_URL";
@@ -35,6 +39,19 @@ public final class ConfigurationKeys {
 
   public static final String KAFKA_BUFFER_MEMORY = "KAFKA_BUFFER_MEMORY";
 
+  public static final String HTTP_URL = "HTTP_URL";
+
+  public static final String HTTP_ASYNC = "HTTP_ASYNC";
+
+  public static final String HTTP_TIMEOUT_MS = "HTTP_TIMEOUT_MS";
+
+  public static final String PUBSUB_INPUT_TOPIC = "PUBSUB_INPUT_TOPIC";
+
+  public static final String PUBSUB_PROJECT = "PUBSUB_PROJECT";
+
+  public static final String PUBSUB_EMULATOR_HOST = "PUBSUB_EMULATOR_HOST";
+
+
   private ConfigurationKeys() {}
 
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/EnvVarLoadGeneratorFactory.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/EnvVarLoadGeneratorFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d5f3c0c64b4d8a0efc4f4c7c332986ea4b9560d
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/EnvVarLoadGeneratorFactory.java
@@ -0,0 +1,159 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.net.URI;
+import java.time.Duration;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.clients.producer.ProducerConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+class EnvVarLoadGeneratorFactory {
+
+  public static final boolean DISABLE_DNS_CACHING_DEFAULT = false;
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(EnvVarLoadGeneratorFactory.class);
+
+  public LoadGenerator create(final LoadGenerator loadGeneratorTemplate) {
+
+    final boolean disableDnsCaching = Boolean.parseBoolean(Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.DISABLE_DNS_CACHING),
+        Boolean.toString(DISABLE_DNS_CACHING_DEFAULT)));
+    if (disableDnsCaching) {
+      this.disableDnsCaching();
+    }
+
+    final int numSensors = Integer.parseInt(Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.NUM_SENSORS),
+        Integer.toString(LoadGenerator.NUMBER_OF_KEYS_DEFAULT)));
+    final int periodMs = Integer.parseInt(Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.PERIOD_MS),
+        Integer.toString(LoadGenerator.PERIOD_MS_DEFAULT)));
+    final double value = Double.parseDouble(Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.VALUE),
+        Integer.toString(LoadGenerator.VALUE_DEFAULT)));
+    final int threads = Integer.parseInt(Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.THREADS),
+        Integer.toString(LoadGenerator.THREADS_DEFAULT)));
+
+    return loadGeneratorTemplate
+        .setClusterConfig(this.buildClusterConfig())
+        .setLoadDefinition(new WorkloadDefinition(
+            new KeySpace(LoadGenerator.SENSOR_PREFIX_DEFAULT, numSensors),
+            Duration.ofMillis(periodMs)))
+        .setGeneratorConfig(new LoadGeneratorConfig(GeneratorAction.from(
+            TitanRecordGenerator.forConstantValue(value),
+            this.buildRecordSender())))
+        .withThreads(threads);
+  }
+
+  private ClusterConfig buildClusterConfig() {
+    final String bootstrapServer = System.getenv(ConfigurationKeys.BOOTSTRAP_SERVER);
+    final String kubernetesDnsName = System.getenv(ConfigurationKeys.KUBERNETES_DNS_NAME);
+
+    ClusterConfig clusterConfig;
+    if (bootstrapServer != null) { // NOPMD
+      clusterConfig = ClusterConfig.fromBootstrapServer(bootstrapServer);
+      LOGGER.info("Use bootstrap server '{}'.", bootstrapServer);
+    } else if (kubernetesDnsName != null) { // NOPMD
+      clusterConfig = ClusterConfig.fromKubernetesDnsName(kubernetesDnsName);
+      LOGGER.info("Use Kubernetes DNS name '{}'.", kubernetesDnsName);
+    } else {
+      clusterConfig = ClusterConfig.fromBootstrapServer(LoadGenerator.BOOTSTRAP_SERVER_DEFAULT);
+      LOGGER.info(
+          "Neither a bootstrap server nor a Kubernetes DNS name was provided. Use default bootstrap server '{}'.", // NOCS
+          LoadGenerator.BOOTSTRAP_SERVER_DEFAULT);
+    }
+
+    final String port = System.getenv(ConfigurationKeys.PORT);
+    if (port != null) {
+      clusterConfig.setPort(Integer.parseInt(port));
+    }
+
+    final String portAutoIncrement = System.getenv(ConfigurationKeys.PORT_AUTO_INCREMENT);
+    if (portAutoIncrement != null) {
+      clusterConfig.setPortAutoIncrement(Boolean.parseBoolean(portAutoIncrement));
+    }
+
+    final String clusterNamePrefix = System.getenv(ConfigurationKeys.CLUSTER_NAME_PREFIX);
+    if (clusterNamePrefix != null) {
+      clusterConfig.setClusterNamePrefix(portAutoIncrement);
+    }
+
+    return clusterConfig;
+  }
+
+  private RecordSender<ActivePowerRecord> buildRecordSender() {
+    final LoadGeneratorTarget target = LoadGeneratorTarget.from(
+        Objects.requireNonNullElse(System.getenv(ConfigurationKeys.TARGET),
+            LoadGenerator.TARGET_DEFAULT.getValue()));
+
+    final RecordSender<ActivePowerRecord> recordSender; // NOPMD
+    if (target == LoadGeneratorTarget.KAFKA) {
+      final String kafkaBootstrapServers = Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS),
+          LoadGenerator.KAFKA_BOOTSTRAP_SERVERS_DEFAULT);
+      final String kafkaInputTopic = Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+          LoadGenerator.KAFKA_TOPIC_DEFAULT);
+      final String schemaRegistryUrl = Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.SCHEMA_REGISTRY_URL),
+          LoadGenerator.SCHEMA_REGISTRY_URL_DEFAULT);
+      final Properties kafkaProperties = new Properties();
+      kafkaProperties.compute(ProducerConfig.BATCH_SIZE_CONFIG,
+          (k, v) -> System.getenv(ConfigurationKeys.KAFKA_BATCH_SIZE));
+      kafkaProperties.compute(ProducerConfig.LINGER_MS_CONFIG,
+          (k, v) -> System.getenv(ConfigurationKeys.KAFKA_LINGER_MS));
+      kafkaProperties.compute(ProducerConfig.BUFFER_MEMORY_CONFIG,
+          (k, v) -> System.getenv(ConfigurationKeys.KAFKA_BUFFER_MEMORY));
+      recordSender = TitanKafkaSenderFactory.forKafkaConfig(
+          kafkaBootstrapServers,
+          kafkaInputTopic,
+          schemaRegistryUrl);
+      LOGGER.info(
+          "Use Kafka as target with bootstrap server '{}', schema registry url '{}' and topic '{}'.", // NOCS
+          kafkaBootstrapServers, schemaRegistryUrl, kafkaInputTopic);
+    } else if (target == LoadGeneratorTarget.HTTP) {
+      final URI url = URI.create(
+          Objects.requireNonNullElse(
+              System.getenv(ConfigurationKeys.HTTP_URL),
+              LoadGenerator.HTTP_URI_DEFAULT));
+      final boolean async = Boolean.parseBoolean(Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.HTTP_ASYNC),
+          Boolean.toString(LoadGenerator.HTTP_ASYNC_DEFAULT)));
+      final long timeoutMs = Integer.parseInt(Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.HTTP_TIMEOUT_MS),
+          Long.toString(LoadGenerator.HTTP_TIMEOUT_MS_DEFAULT)));
+      recordSender = new HttpRecordSender<>(url, async, Duration.ofMillis(timeoutMs));
+      LOGGER.info("Use HTTP server as target with URL '{}' and asynchronously: '{}'.", url, async);
+    } else if (target == LoadGeneratorTarget.PUBSUB) {
+      final String project = System.getenv(ConfigurationKeys.PUBSUB_PROJECT);
+      final String inputTopic = Objects.requireNonNullElse(
+          System.getenv(ConfigurationKeys.PUBSUB_INPUT_TOPIC),
+          LoadGenerator.PUBSUB_TOPIC_DEFAULT);
+      final String emulatorHost = System.getenv(ConfigurationKeys.PUBSUB_EMULATOR_HOST);
+      if (emulatorHost != null) { // NOPMD
+        LOGGER.info("Use Pub/Sub as target with emulator host {} and topic '{}'.",
+            emulatorHost,
+            inputTopic);
+        recordSender = TitanPubSubSenderFactory.forEmulatedPubSubConfig(emulatorHost, inputTopic);
+      } else if (project != null) { // NOPMD
+        LOGGER.info("Use Pub/Sub as target with project {} and topic '{}'.", project, inputTopic);
+        recordSender = TitanPubSubSenderFactory.forPubSubConfig(project, inputTopic);
+      } else {
+        throw new IllegalStateException("Neither an emulator host nor a project was provided.");
+      }
+    } else {
+      // Should never happen
+      throw new IllegalStateException("Target " + target + " is not handled yet.");
+    }
+    return recordSender;
+  }
+
+  private void disableDnsCaching() {
+    LOGGER.info("Disable DNS caching.");
+    java.security.Security.setProperty("networkaddress.cache.ttl", "0");
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorAction.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..fb3bf1c9f802d2af2a0eae72bc58c9e609a6b624
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorAction.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+/**
+ * Interface representing a record generator action consisting of generating a record and sending
+ * it.
+ */
+@FunctionalInterface
+public interface GeneratorAction {
+
+  void generate(final String key);
+
+  default void shutdown() {
+    // Nothing to do per default
+  }
+
+  public static <T> GeneratorAction from(
+      final RecordGenerator<? extends T> generator,
+      final RecordSender<? super T> sender) {
+    return new GeneratorActionImpl<>(generator, sender);
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorActionImpl.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorActionImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d177b7193ee8df8b4d65546cbbcbb6f49a95488
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/GeneratorActionImpl.java
@@ -0,0 +1,27 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+class GeneratorActionImpl<T> implements GeneratorAction {
+
+  private final RecordGenerator<? extends T> generator;
+
+  private final RecordSender<? super T> sender;
+
+  public GeneratorActionImpl(
+      final RecordGenerator<? extends T> generator,
+      final RecordSender<? super T> sender) {
+    this.generator = generator;
+    this.sender = sender;
+  }
+
+  @Override
+  public void shutdown() {
+    this.generator.close();
+    this.sender.close();
+  }
+
+  @Override
+  public void generate(final String key) {
+    this.sender.send(this.generator.generate(key));
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunner.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunner.java
similarity index 84%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunner.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunner.java
index c010492950c5caace9ff85baefee1af4e46d25bb..3b222a332fc76159aedcf82a1753363c7b1e414e 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunner.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunner.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import com.hazelcast.cluster.Member;
 import com.hazelcast.cluster.MembershipEvent;
@@ -36,7 +36,7 @@ public class HazelcastRunner {
   }
 
   /**
-   * Start the workload generation and blocks until the workload generation is stopped again.
+   * Start the load generation and blocks until the load generation is stopped again.
    */
   public void runBlocking() {
     while (!this.stopAction.isDone()) {
@@ -52,19 +52,24 @@ public class HazelcastRunner {
   }
 
   public void restart() {
-    this.stopRunnerState();
+    this.stopRunnerStateAsync();
   }
 
+  /**
+   * Stop generating load and clean up the entire state.
+   */
   public void stop() {
     this.stopAction.complete(null);
-    this.stopRunnerState();
+    this.stopRunnerStateAsync().join();
+    this.hzInstance.shutdown();
   }
 
-  private void stopRunnerState() {
+  private CompletableFuture<Void> stopRunnerStateAsync() {
     synchronized (this) {
       if (this.runnerState != null) {
-        this.runnerState.stopAsync();
+        return this.runnerState.stopAsync();
       }
+      return CompletableFuture.completedFuture(null);
     }
   }
 
@@ -94,7 +99,9 @@ public class HazelcastRunner {
         .getJoin();
     joinConfig.getMulticastConfig().setEnabled(false);
     if (cluster.hasBootstrapServer()) {
-      joinConfig.getTcpIpConfig().addMember(cluster.getBootstrapServer());
+      joinConfig.getTcpIpConfig()
+          .setEnabled(true)
+          .addMember(cluster.getBootstrapServer());
     } else if (cluster.hasKubernetesDnsName()) {
       joinConfig.getKubernetesConfig()
           .setEnabled(true)
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunnerStateInstance.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunnerStateInstance.java
similarity index 96%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunnerStateInstance.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunnerStateInstance.java
index d8fd7de421b88749a2077f81329213ff754e1608..81a6db7329309a8c2b09fb3308cb496c5420a206 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/HazelcastRunnerStateInstance.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HazelcastRunnerStateInstance.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import com.google.common.collect.Streams;
 import com.hazelcast.cluster.Member;
@@ -27,6 +27,7 @@ public class HazelcastRunnerStateInstance {
   private static final Duration TASK_ASSIGNMENT_WAIT_DURATION = Duration.ofMillis(500);
 
   private final CompletableFuture<Void> stopAction = new CompletableFuture<>();
+  private final CompletableFuture<Void> stopFinished = new CompletableFuture<>();
   private LoadGeneratorExecution loadGeneratorExecution;
 
   private final LoadGeneratorConfig loadGeneratorConfig;
@@ -61,10 +62,12 @@ public class HazelcastRunnerStateInstance {
     }
     this.stopAction.join();
     this.stopLoadGeneration();
+    this.stopFinished.complete(null);
   }
 
-  public void stopAsync() {
+  public CompletableFuture<Void> stopAsync() {
     this.stopAction.complete(null);
+    return this.stopFinished;
   }
 
   private void tryPerformBeforeAction() {
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSender.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSender.java
new file mode 100644
index 0000000000000000000000000000000000000000..f740c3696878516f29d0e06ba879cd23010a157b
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSender.java
@@ -0,0 +1,122 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import com.google.gson.Gson;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.net.http.HttpResponse.BodyHandler;
+import java.net.http.HttpResponse.BodyHandlers;
+import java.time.Duration;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import org.apache.avro.specific.SpecificRecord;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Sends monitoring records via HTTP.
+ *
+ * @param <T> {@link SpecificRecord} to send
+ */
+public class HttpRecordSender<T extends SpecificRecord> implements RecordSender<T> {
+
+  private static final int HTTP_OK = 200;
+
+  private static final Duration DEFAULT_CONNECTION_TIMEOUT = Duration.ofSeconds(1);
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HttpRecordSender.class);
+
+  private final Gson gson = new Gson();
+
+  private final HttpClient httpClient = HttpClient.newBuilder().build();
+
+  private final URI uri;
+
+  private final boolean async;
+
+  private final Duration connectionTimeout;
+
+  private final List<Integer> validStatusCodes;
+
+  /**
+   * Create a new {@link HttpRecordSender}.
+   *
+   * @param uri the {@link URI} records should be sent to
+   */
+  public HttpRecordSender(final URI uri) {
+    this(uri, false, DEFAULT_CONNECTION_TIMEOUT);
+  }
+
+  /**
+   * Create a new {@link HttpRecordSender}.
+   *
+   * @param uri the {@link URI} records should be sent to
+   * @param async whether HTTP requests should be sent asynchronous
+   * @param connectionTimeout timeout for the HTTP connection
+   */
+  public HttpRecordSender(final URI uri, final boolean async, final Duration connectionTimeout) {
+    this(uri, async, connectionTimeout, List.of(HTTP_OK));
+  }
+
+  /**
+   * Create a new {@link HttpRecordSender}.
+   *
+   * @param uri the {@link URI} records should be sent to
+   * @param async whether HTTP requests should be sent asynchronous
+   * @param connectionTimeout timeout for the HTTP connection
+   * @param validStatusCodes a list of HTTP status codes which are considered as successful
+   */
+  public HttpRecordSender(
+      final URI uri,
+      final boolean async,
+      final Duration connectionTimeout,
+      final List<Integer> validStatusCodes) {
+    this.uri = uri;
+    this.async = async;
+    this.connectionTimeout = connectionTimeout;
+    this.validStatusCodes = validStatusCodes;
+  }
+
+  @Override
+  public void send(final T message) {
+    final String json = this.gson.toJson(message);
+    final HttpRequest request = HttpRequest.newBuilder()
+        .uri(this.uri)
+        .POST(HttpRequest.BodyPublishers.ofString(json))
+        .header("Content-Type", "application/json")
+        .timeout(this.connectionTimeout)
+        .build();
+    final BodyHandler<Void> bodyHandler = BodyHandlers.discarding();
+    // final BodyHandler<String> bodyHandler = BodyHandlers.ofString();
+
+    final CompletableFuture<HttpResponse<Void>> result =
+        this.httpClient.sendAsync(request, bodyHandler)
+            .whenComplete((response, exception) -> {
+              if (exception != null) { // NOPMD
+                LOGGER.warn("Couldn't send request to {}.", this.uri, exception); // NOPMD false-p.
+              } else if (!this.validStatusCodes.contains(response.statusCode())) { // NOPMD
+                LOGGER.warn("Received status code {} for request to {}.", response.statusCode(),
+                    this.uri);
+              } else {
+                LOGGER.debug("Sucessfully sent request to {} (status={}).", this.uri,
+                    response.statusCode());
+              }
+            });
+    if (this.isSync()) {
+      try {
+        result.get();
+      } catch (final InterruptedException e) {
+        LOGGER.error("Couldn't get result for request to {}.", this.uri, e);
+      } catch (final ExecutionException e) { // NOPMD
+        // Do nothing, Exception is already handled
+      }
+    }
+  }
+
+  private boolean isSync() {
+    return !this.async;
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSender.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSender.java
new file mode 100644
index 0000000000000000000000000000000000000000..0593e850112bf20d0e02f0a6f2aa884b9ce4406e
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSender.java
@@ -0,0 +1,137 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.util.Properties;
+import java.util.function.Function;
+import org.apache.avro.specific.SpecificRecord;
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.ProducerConfig;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.apache.kafka.common.serialization.Serializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+
+/**
+ * Sends records to Kafka.
+ *
+ * @param <T> Record type to send.
+ */
+public interface KafkaRecordSender<T> extends RecordSender<T> {
+
+  @Override
+  public void close();
+
+  /**
+   * Creates a builder object for a {@link KafkaRecordSender} based on a Kafka {@link Serializer}.
+   *
+   * @param bootstrapServers The server to for accessing Kafka.
+   * @param topic The topic where to write.
+   * @param serializer The {@link Serializer} for mapping a value to keys.
+   */
+  public static <T> Builder<T> builderWithSerializer(
+      final String bootstrapServers,
+      final String topic,
+      final Serializer<T> serializer) {
+    return new Builder<>(bootstrapServers, topic, serializer);
+  }
+
+  /**
+   * Creates a Builder object for a {@link KafkaRecordSender} based on a Confluent Schema Registry
+   * URL.
+   *
+   * @param bootstrapServers The Server to for accessing Kafka.
+   * @param topic The topic where to write.
+   * @param schemaRegistryUrl URL to the schema registry for avro.
+   */
+  public static <T extends SpecificRecord> Builder<T> builderWithSchemaRegistry(
+      final String bootstrapServers,
+      final String topic,
+      final String schemaRegistryUrl) {
+    final SchemaRegistryAvroSerdeFactory avroSerdeFactory =
+        new SchemaRegistryAvroSerdeFactory(schemaRegistryUrl);
+    return new Builder<>(bootstrapServers, topic, avroSerdeFactory.<T>forValues().serializer());
+  }
+
+  /**
+   * Builder class to build a new {@link KafkaRecordSenderImpl}.
+   *
+   * @param <T> Type of the records that should later be send.
+   */
+  public static class Builder<T> {
+
+    private final String bootstrapServers;
+    private final String topic;
+    private final Serializer<T> serializer;
+    private Function<T, String> keyAccessor = x -> ""; // NOPMD
+    private Function<T, Long> timestampAccessor = x -> null; // NOPMD
+    private Properties defaultProperties = new Properties(); // NOPMD
+
+    private Builder(final String bootstrapServers, final String topic,
+        final Serializer<T> serializer) {
+      this.bootstrapServers = bootstrapServers;
+      this.topic = topic;
+      this.serializer = serializer;
+    }
+
+    public Builder<T> keyAccessor(final Function<T, String> keyAccessor) {
+      this.keyAccessor = keyAccessor;
+      return this;
+    }
+
+    public Builder<T> timestampAccessor(final Function<T, Long> timestampAccessor) {
+      this.timestampAccessor = timestampAccessor;
+      return this;
+    }
+
+    public Builder<T> defaultProperties(final Properties defaultProperties) {
+      this.defaultProperties = defaultProperties;
+      return this;
+    }
+
+    /**
+     * Create a {@link KafkaRecordSender} from this builder.
+     */
+    public KafkaRecordSender<T> build() {
+      final Properties properties = new Properties();
+      properties.putAll(this.defaultProperties);
+      properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, this.bootstrapServers);
+      // properties.put("acks", this.acknowledges);
+      // properties.put("batch.size", this.batchSize);
+      // properties.put("linger.ms", this.lingerMs);
+      // properties.put("buffer.memory", this.bufferMemory);
+
+      return new KafkaRecordSenderImpl<>(
+          new KafkaProducer<>(
+              properties,
+              new StringSerializer(),
+              this.serializer),
+          new DefaultRecordFactory<>(),
+          this.topic,
+          this.keyAccessor,
+          this.timestampAccessor);
+    }
+
+    private static class DefaultRecordFactory<T> implements KafkaRecordFactory<T, String, T> {
+
+      @Override
+      public ProducerRecord<String, T> create(final String topic, final String key, final T value,
+          final long timestamp) {
+        return new ProducerRecord<>(topic, null, timestamp, key, value);
+      }
+
+    }
+  }
+
+  /**
+   * Create Kafka {@link ProducerRecord}s from a topic, a key, a value and a timestamp.
+   *
+   * @param <T> type the records should be created from.
+   * @param <K> key type of the {@link ProducerRecord}s.
+   * @param <V> value type of the {@link ProducerRecord}s.
+   */
+  public static interface KafkaRecordFactory<T, K, V> {
+
+    ProducerRecord<K, V> create(String topic, String key, T value, long timestamp);
+
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSenderImpl.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSenderImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..02a4d206b0a2414d5f12f5348f6c1bfc56852281
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KafkaRecordSenderImpl.java
@@ -0,0 +1,70 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.util.function.Function;
+import org.apache.kafka.clients.producer.Producer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.apache.kafka.common.errors.SerializationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Sends records to Kafka.
+ *
+ * @param <T> Record type to send.
+ * @param <K> Internal key type for Kafka records.
+ * @param <V> Internal value type for Kafka records.
+ */
+/* default */ class KafkaRecordSenderImpl<T, K, V> implements KafkaRecordSender<T> {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(KafkaRecordSenderImpl.class);
+
+  private final String topic;
+
+  private final Function<T, String> keyAccessor;
+
+  private final Function<T, Long> timestampAccessor;
+
+  private final Producer<K, V> producer;
+
+  private final KafkaRecordFactory<T, K, V> recordFactory;
+
+  /**
+   * Create a new {@link KafkaRecordSenderImpl}.
+   */
+  protected KafkaRecordSenderImpl(
+      final Producer<K, V> producer,
+      final KafkaRecordFactory<T, K, V> recordFactory,
+      final String topic,
+      final Function<T, String> keyAccessor,
+      final Function<T, Long> timestampAccessor) {
+    this.topic = topic;
+    this.producer = producer;
+    this.recordFactory = recordFactory;
+    this.keyAccessor = keyAccessor;
+    this.timestampAccessor = timestampAccessor;
+  }
+
+  @Override
+  public void close() {
+    this.producer.close();
+  }
+
+  @Override
+  public void send(final T message) {
+    final ProducerRecord<K, V> record = this.recordFactory.create(
+        this.topic,
+        this.keyAccessor.apply(message),
+        message,
+        this.timestampAccessor.apply(message));
+
+    LOGGER.debug("Send record to Kafka topic {}: {}", this.topic, record);
+    try {
+      this.producer.send(record);
+    } catch (final SerializationException e) {
+      LOGGER.warn(
+          "Record could not be serialized and thus not sent to Kafka due to exception. Skipping this record.", // NOCS
+          e);
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KeySpace.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KeySpace.java
similarity index 78%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KeySpace.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KeySpace.java
index 51255d774427a9e00de0d4c921b884022585edab..82dac7b42dc6e16406f32d30f0dc7a372d7af43d 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KeySpace.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/KeySpace.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import java.io.Serializable;
 import java.util.Collection;
@@ -10,7 +10,7 @@ import java.util.stream.IntStream;
  */
 public class KeySpace implements Serializable {
 
-  private static final long serialVersionUID = 7343135392720315515L; // NOPMD
+  private static final long serialVersionUID = 7343135392720315516L; // NOPMD
 
   private final String prefix;
   private final int min;
@@ -18,11 +18,11 @@ public class KeySpace implements Serializable {
 
   /**
    * Create a new key space. All keys will have the prefix {@code prefix}. The remaining part of
-   * each key will be determined by a number of the interval ({@code min}, {@code max}).
+   * each key will be determined by a number of the interval [{@code min}, {@code max}).
    *
    * @param prefix the prefix to use for all keys
    * @param min the lower bound (inclusive) to start counting from
-   * @param max the upper bound (inclusive) to count to
+   * @param max the upper bound (exclusive) to count to
    */
   public KeySpace(final String prefix, final int min, final int max) {
     this.prefix = prefix;
@@ -31,7 +31,7 @@ public class KeySpace implements Serializable {
   }
 
   public KeySpace(final String prefix, final int numberOfKeys) {
-    this(prefix, 0, numberOfKeys - 1);
+    this(prefix, 0, numberOfKeys);
   }
 
   public String getPrefix() {
@@ -52,21 +52,21 @@ public class KeySpace implements Serializable {
    * Get the amount of keys in this {@link KeySpace}.
    */
   public int getCount() {
-    return this.getMax() - this.getMin() + 1;
+    return this.max - this.min;
   }
 
   /**
    * Get all keys in this {@link KeySpace}.
    */
   public Collection<String> getKeys() {
-    return IntStream.rangeClosed(this.min, this.max)
+    return IntStream.range(this.min, this.max)
         .mapToObj(id -> this.prefix + id)
         .collect(Collectors.toUnmodifiableList());
   }
 
   @Override
   public String toString() {
-    return this.prefix + '[' + this.min + '-' + this.max + ']';
+    return this.prefix + '[' + this.min + '-' + this.max + ')';
   }
 
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGenerator.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..4be9b5695a54dedac6df78e6ceb8230752301e22
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGenerator.java
@@ -0,0 +1,112 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.time.Duration;
+import java.util.Objects;
+
+/**
+ * A Theodolite load generator.
+ */
+public final class LoadGenerator {
+
+  public static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
+  public static final String SENSOR_PREFIX_DEFAULT = "s_";
+  public static final int NUMBER_OF_KEYS_DEFAULT = 10;
+  public static final int PERIOD_MS_DEFAULT = 1000;
+  public static final int VALUE_DEFAULT = 10;
+  public static final int THREADS_DEFAULT = 4;
+  public static final LoadGeneratorTarget TARGET_DEFAULT = LoadGeneratorTarget.KAFKA;
+  // Target: HTTP
+  public static final String HTTP_URI_DEFAULT = "http://localhost:8080";
+  public static final boolean HTTP_ASYNC_DEFAULT = false;
+  public static final long HTTP_TIMEOUT_MS_DEFAULT = 1_000;
+  // Target: Kafka
+  public static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+  public static final String KAFKA_TOPIC_DEFAULT = "input"; // NOCS
+  public static final String KAFKA_BOOTSTRAP_SERVERS_DEFAULT = "localhost:9092"; // NOPMD
+  // Target: Pub/Sub
+  public static final String PUBSUB_TOPIC_DEFAULT = "input"; // NOCS
+
+  private ClusterConfig clusterConfig;
+  private WorkloadDefinition loadDefinition;
+  private LoadGeneratorConfig generatorConfig;
+  private boolean isStarted;
+
+  private LoadGenerator() {}
+
+  // Add constructor for creating from environment variables
+
+  public LoadGenerator setClusterConfig(final ClusterConfig clusterConfig) { // NOPMD
+    this.clusterConfig = clusterConfig;
+    return this;
+  }
+
+  public LoadGenerator setLoadDefinition(final WorkloadDefinition loadDefinition) { // NOPMD
+    this.loadDefinition = loadDefinition;
+    return this;
+  }
+
+  public LoadGenerator setGeneratorConfig(final LoadGeneratorConfig generatorConfig) { // NOPMD
+    this.generatorConfig = generatorConfig;
+    return this;
+  }
+
+  public LoadGenerator withKeySpace(final KeySpace keySpace) {
+    this.loadDefinition = new WorkloadDefinition(keySpace, this.loadDefinition.getPeriod());
+    return this;
+  }
+
+  public LoadGenerator withBeforeAction(final BeforeAction beforeAction) {
+    this.generatorConfig.setBeforeAction(beforeAction);
+    return this;
+  }
+
+  public LoadGenerator withThreads(final int threads) {
+    this.generatorConfig.setThreads(threads);
+    return this;
+  }
+
+  /**
+   * Run the constructed load generator until cancellation.
+   */
+  public void run() {
+    Objects.requireNonNull(this.clusterConfig, "No cluster config set.");
+    Objects.requireNonNull(this.generatorConfig, "No generator config set.");
+    Objects.requireNonNull(this.loadDefinition, "No load definition set.");
+    if (this.isStarted) {
+      throw new IllegalStateException("Load generator can only be started once.");
+    }
+    this.isStarted = true;
+    final HazelcastRunner runner = new HazelcastRunner(
+        this.clusterConfig,
+        this.generatorConfig,
+        this.loadDefinition);
+    Runtime.getRuntime().addShutdownHook(new Thread(() -> runner.stop()));
+    runner.runBlocking();
+  }
+
+  /**
+   * Create a basic {@link LoadGenerator} from its default values.
+   */
+  public static LoadGenerator fromDefaults() {
+    return new LoadGenerator()
+        .setClusterConfig(ClusterConfig.fromBootstrapServer(BOOTSTRAP_SERVER_DEFAULT))
+        .setLoadDefinition(new WorkloadDefinition(
+            new KeySpace(SENSOR_PREFIX_DEFAULT, NUMBER_OF_KEYS_DEFAULT),
+            Duration.ofMillis(PERIOD_MS_DEFAULT)))
+        .setGeneratorConfig(new LoadGeneratorConfig(
+            GeneratorAction.from(
+                TitanRecordGenerator.forConstantValue(VALUE_DEFAULT),
+                TitanKafkaSenderFactory.forKafkaConfig(
+                    KAFKA_BOOTSTRAP_SERVERS_DEFAULT,
+                    KAFKA_TOPIC_DEFAULT,
+                    SCHEMA_REGISTRY_URL_DEFAULT))));
+  }
+
+  /**
+   * Create a basic {@link LoadGenerator} from environment variables.
+   */
+  public static LoadGenerator fromEnvironment() {
+    return new EnvVarLoadGeneratorFactory().create(new LoadGenerator());
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorConfig.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorConfig.java
similarity index 56%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorConfig.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorConfig.java
index 2e907d8e90172288099bc6a1776777c37ae90fff..e854138b38613ba614c871febcb80cf9c6b059ef 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorConfig.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorConfig.java
@@ -1,34 +1,23 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 /**
  * Configuration of a load generator.
  */
 public class LoadGeneratorConfig {
 
-  private final MessageGenerator messageGenerator;
+  private final GeneratorAction generatorAction;
   private BeforeAction beforeAction = BeforeAction.doNothing();
   private int threads = 1;
 
-  public LoadGeneratorConfig(final MessageGenerator messageGenerator) {
-    this.messageGenerator = messageGenerator;
+  public LoadGeneratorConfig(final GeneratorAction generatorAction) {
+    this.generatorAction = generatorAction;
   }
 
-  public LoadGeneratorConfig(
-      final MessageGenerator messageGenerator,
-      final int threads) {
-    this.messageGenerator = messageGenerator;
+  public LoadGeneratorConfig(final GeneratorAction generatorAction, final int threads) {
+    this(generatorAction);
     this.threads = threads;
   }
 
-  public LoadGeneratorExecution buildLoadGeneratorExecution(
-      final WorkloadDefinition workloadDefinition) {
-    return new LoadGeneratorExecution(workloadDefinition, this.messageGenerator, this.threads);
-  }
-
-  public BeforeAction getBeforeAction() {
-    return this.beforeAction;
-  }
-
   public void setThreads(final int threads) {
     this.threads = threads;
   }
@@ -37,6 +26,13 @@ public class LoadGeneratorConfig {
     this.beforeAction = beforeAction;
   }
 
+  public BeforeAction getBeforeAction() {
+    return this.beforeAction;
+  }
 
+  public LoadGeneratorExecution buildLoadGeneratorExecution(
+      final WorkloadDefinition workloadDefinition) {
+    return new LoadGeneratorExecution(workloadDefinition, this.generatorAction, this.threads);
+  }
 
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorExecution.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorExecution.java
similarity index 85%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorExecution.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorExecution.java
index 3934c3d3499215b37ce96391ff5ae1d5cc135f84..809c93c2e4eb85657a4e773f70150fcef8817ed1 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGeneratorExecution.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorExecution.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import java.util.Random;
 import java.util.concurrent.Executors;
@@ -8,25 +8,25 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * A {@link LoadGeneratorExecution} represents the execution of load generator, i.e., it can be
+ * A {@link LoadGeneratorExecution} represents the execution of a load generator, i.e., it can be
  * started and stopped.
  */
-public class LoadGeneratorExecution {
+class LoadGeneratorExecution {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(LoadGeneratorExecution.class);
 
   private final Random random = new Random();
   private final WorkloadDefinition workloadDefinition;
-  private final MessageGenerator messageGenerator;
+  private final GeneratorAction messageGenerator;
   private final ScheduledExecutorService executor;
 
   /**
    * Create a new {@link LoadGeneratorExecution} for a given {@link WorkloadDefinition} and a
-   * {@link MessageGenerator}. Load is generated by the given number of threads.
+   * {@link GeneratorAction}. Load is generated by the given number of threads.
    */
   public LoadGeneratorExecution(
       final WorkloadDefinition workloadDefinition,
-      final MessageGenerator messageGenerator,
+      final GeneratorAction messageGenerator,
       final int threads) {
     this.workloadDefinition = workloadDefinition;
     this.messageGenerator = messageGenerator;
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTarget.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTarget.java
new file mode 100644
index 0000000000000000000000000000000000000000..2fe7628d0d7611d0877847f5ff288d432feacc11
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTarget.java
@@ -0,0 +1,26 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.util.stream.Stream;
+
+enum LoadGeneratorTarget {
+
+  HTTP("http"), KAFKA("kafka"), PUBSUB("pubsub");
+
+  private final String value;
+
+  LoadGeneratorTarget(final String value) {
+    this.value = value;
+  }
+
+  String getValue() {
+    return this.value;
+  }
+
+  static LoadGeneratorTarget from(final String value) {
+    return Stream.of(LoadGeneratorTarget.values())
+        .filter(t -> t.value.equals(value))
+        .findFirst()
+        .orElseThrow(() -> new IllegalArgumentException("Target '" + value + "' does not exist."));
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/PubSubRecordSender.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/PubSubRecordSender.java
new file mode 100644
index 0000000000000000000000000000000000000000..ecba6961245651c7420d89c5da9bd1f993972188
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/PubSubRecordSender.java
@@ -0,0 +1,206 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import com.google.api.core.ApiFuture;
+import com.google.api.gax.core.CredentialsProvider;
+import com.google.api.gax.core.NoCredentialsProvider;
+import com.google.api.gax.grpc.GrpcTransportChannel;
+import com.google.api.gax.rpc.FixedTransportChannelProvider;
+import com.google.api.gax.rpc.TransportChannelProvider;
+import com.google.cloud.pubsub.v1.Publisher;
+import com.google.protobuf.ByteString;
+import com.google.protobuf.util.Timestamps;
+import com.google.pubsub.v1.PubsubMessage;
+import com.google.pubsub.v1.TopicName;
+import io.grpc.ManagedChannel;
+import io.grpc.ManagedChannelBuilder;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.function.Function;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Sends monitoring records to Pub/Sub.
+ *
+ * @param <T> Record type to send
+ */
+public class PubSubRecordSender<T> implements RecordSender<T> {
+
+  private static final int SHUTDOWN_TIMEOUT_SEC = 5;
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(KafkaRecordSender.class);
+
+  private final Function<T, ByteBuffer> recordSerializer;
+
+  private final Function<T, Long> timestampAccessor;
+
+  private final Function<T, String> orderingKeyAccessor;
+
+  private final Publisher publisher;
+
+  private PubSubRecordSender(final Builder<T> builder) {
+    this.orderingKeyAccessor = builder.orderingKeyAccessor;
+    this.timestampAccessor = builder.timestampAccessor;
+    this.recordSerializer = builder.recordSerializer;
+
+    try {
+      this.publisher = builder.buildPublisher();
+    } catch (final IOException e) {
+      throw new IllegalStateException("Can not create Pub/Sub publisher.", e);
+    }
+  }
+
+  /**
+   * Terminate this {@link PubSubRecordSender} and shutdown the underlying {@link Publisher}.
+   */
+  @Override
+  public void close() {
+    this.publisher.shutdown();
+    try {
+      this.publisher.awaitTermination(SHUTDOWN_TIMEOUT_SEC, TimeUnit.SECONDS);
+    } catch (final InterruptedException e) {
+      throw new IllegalStateException(e);
+    }
+  }
+
+  @Override
+  public void send(final T record) {
+    final ByteBuffer byteBuffer = this.recordSerializer.apply(record);
+    final ByteString data = ByteString.copyFrom(byteBuffer);
+
+    final PubsubMessage.Builder messageBuilder = PubsubMessage.newBuilder().setData(data);
+    if (this.orderingKeyAccessor != null) {
+      messageBuilder.setOrderingKey(this.orderingKeyAccessor.apply(record));
+    }
+    if (this.timestampAccessor != null) {
+      messageBuilder.setPublishTime(Timestamps.fromMillis(this.timestampAccessor.apply(record)));
+    }
+    final PubsubMessage message = messageBuilder.build();
+    LOGGER.debug("Send message to PubSub topic {}: {}", this.publisher.getTopicName(), message);
+    final ApiFuture<String> publishResult = this.publisher.publish(message);
+    if (LOGGER.isDebugEnabled()) {
+      try {
+        LOGGER.debug("Publishing result is {}.", publishResult.get());
+      } catch (InterruptedException | ExecutionException e) {
+        LOGGER.warn("Can not get publishing result.", e);
+      }
+    }
+  }
+
+  /**
+   * Creates a {@link Builder} object for a {@link PubSubRecordSender}.
+   *
+   * @param project The project where to write.
+   * @param topic The topic where to write.
+   * @param recordSerializer A function serializing objects to {@link ByteBuffer}.
+   */
+  public static <T> Builder<T> builderForProject(
+      final String project,
+      final String topic,
+      final Function<T, ByteBuffer> recordSerializer) {
+    return new Builder<>(project, topic, recordSerializer);
+  }
+
+  /**
+   * Creates a {@link Builder} object for a {@link PubSubRecordSender}.
+   *
+   * @param emulatorHost Host of the emulator.
+   * @param topic The topic where to write.
+   * @param recordSerializer A function serializing objects to {@link ByteBuffer}.
+   */
+  public static <T> Builder<T> builderForEmulator(
+      final String emulatorHost,
+      final String topic,
+      final Function<T, ByteBuffer> recordSerializer) {
+    return new WithEmulatorBuilder<>(emulatorHost, topic, recordSerializer);
+  }
+
+  /**
+   * Builder class to build a new {@link PubSubRecordSender}.
+   *
+   * @param <T> Type of the records that should later be send.
+   */
+  public static class Builder<T> {
+
+    protected final TopicName topicName;
+    private final Function<T, ByteBuffer> recordSerializer; // NOPMD
+    private Function<T, Long> timestampAccessor = null; // NOPMD
+    private Function<T, String> orderingKeyAccessor = null; // NOPMD
+
+    /**
+     * Creates a Builder object for a {@link PubSubRecordSender}.
+     *
+     * @param topic The topic where to write.
+     * @param recordSerializer A function serializing objects to {@link ByteBuffer}.
+     */
+    private Builder(
+        final String project,
+        final String topic,
+        final Function<T, ByteBuffer> recordSerializer) {
+      this.topicName = TopicName.of(project, topic);
+      this.recordSerializer = recordSerializer;
+    }
+
+    public Builder<T> timestampAccessor(final Function<T, Long> timestampAccessor) {
+      this.timestampAccessor = timestampAccessor;
+      return this;
+    }
+
+    public Builder<T> orderingKeyAccessor(final Function<T, String> keyAccessor) {
+      this.orderingKeyAccessor = keyAccessor;
+      return this;
+    }
+
+    public PubSubRecordSender<T> build() {
+      return new PubSubRecordSender<>(this);
+    }
+
+    protected Publisher buildPublisher() throws IOException {
+      return Publisher.newBuilder(this.topicName).build();
+    }
+
+  }
+
+  private static class WithEmulatorBuilder<T> extends Builder<T> {
+
+    private static final String DUMMY_PROJECT = "dummy-project-id";
+
+    private final String emulatorHost;
+
+    /**
+     * Creates a Builder object for a {@link PubSubRecordSender}.
+     *
+     * @param emulatorHost host of the emulator.
+     * @param topic The topic where to write.
+     * @param recordSerializer A function serializing objects to {@link ByteBuffer}.
+     */
+    private WithEmulatorBuilder(
+        final String emulatorHost,
+        final String topic,
+        final Function<T, ByteBuffer> recordSerializer) {
+      super(DUMMY_PROJECT, topic, recordSerializer);
+      this.emulatorHost = emulatorHost;
+    }
+
+    @Override
+    protected Publisher buildPublisher() throws IOException {
+      final ManagedChannel channel = ManagedChannelBuilder
+          .forTarget(this.emulatorHost)
+          .usePlaintext()
+          .build();
+
+      final TransportChannelProvider channelProvider = FixedTransportChannelProvider
+          .create(GrpcTransportChannel.create(channel));
+      final CredentialsProvider credentialsProvider = NoCredentialsProvider.create();
+
+      return Publisher.newBuilder(super.topicName)
+          .setChannelProvider(channelProvider)
+          .setCredentialsProvider(credentialsProvider)
+          .build();
+    }
+
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordGenerator.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordGenerator.java
similarity index 56%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordGenerator.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordGenerator.java
index ea6501f38ea57bf6cefb5c76b05f442454ca0d99..05e127eb019cf877cc5df73e09a6f053ef793fc3 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordGenerator.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordGenerator.java
@@ -1,4 +1,6 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.io.Closeable;
 
 /**
  * This interface describes a function that takes meta information from a string key and produces an
@@ -7,8 +9,13 @@ package theodolite.commons.workloadgeneration;
  * @param <T> the type of the objects that will be generated by the function.
  */
 @FunctionalInterface
-public interface RecordGenerator<T> {
+public interface RecordGenerator<T> extends Closeable {
 
   T generate(final String key);
 
+  @Override
+  default void close() {
+    // Nothing to do per default
+  }
+
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordSender.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordSender.java
similarity index 58%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordSender.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordSender.java
index ee57f2f239a34dd6f8f329d47e4d698427e371b0..f1f1bef980f01da4a23b49440be71ba552c13905 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/RecordSender.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/RecordSender.java
@@ -1,4 +1,6 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.io.Closeable;
 
 /**
  * This interface describes a function that consumes a message {@code T}. This function is dedicated
@@ -7,8 +9,13 @@ package theodolite.commons.workloadgeneration;
  * @param <T> the type of records to send as messages.
  */
 @FunctionalInterface
-public interface RecordSender<T> {
+public interface RecordSender<T> extends Closeable {
 
   void send(final T message);
 
+  @Override
+  default void close() {
+    // Nothing to do per default
+  }
+
 }
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanKafkaSenderFactory.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanKafkaSenderFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..02a46952d9f21bfda5dc7ebea24fc1c7779e77bb
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanKafkaSenderFactory.java
@@ -0,0 +1,42 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.util.Properties;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * A factory for creating {@link KafkaRecordSender}s that sends Titan {@link ActivePowerRecord}s.
+ */
+public final class TitanKafkaSenderFactory {
+
+  private TitanKafkaSenderFactory() {}
+
+  /**
+   * Create a new KafkaRecordSender for {@link ActivePowerRecord}s for the given Kafka
+   * configuration.
+   */
+  public static KafkaRecordSender<ActivePowerRecord> forKafkaConfig(
+      final String bootstrapServers,
+      final String topic,
+      final String schemaRegistryUrl) {
+    return forKafkaConfig(bootstrapServers, topic, schemaRegistryUrl, new Properties());
+  }
+
+  /**
+   * Create a new KafkaRecordSender for {@link ActivePowerRecord}s for the given Kafka
+   * configuration.
+   */
+  public static KafkaRecordSender<ActivePowerRecord> forKafkaConfig(
+      final String bootstrapServers,
+      final String topic,
+      final String schemaRegistryUrl,
+      final Properties properties) {
+    return KafkaRecordSender
+        .<ActivePowerRecord>builderWithSchemaRegistry(
+            bootstrapServers,
+            topic,
+            schemaRegistryUrl)
+        .keyAccessor(r -> r.getIdentifier())
+        .timestampAccessor(r -> r.getTimestamp())
+        .build();
+  }
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanPubSubSenderFactory.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanPubSubSenderFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..c355033343854004e0aa4dff066da6abdebd7f8b
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanPubSubSenderFactory.java
@@ -0,0 +1,50 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * A factory for creating {@link PubSubRecordSender}s that sends Titan {@link ActivePowerRecord}s.
+ */
+public final class TitanPubSubSenderFactory {
+
+  private TitanPubSubSenderFactory() {}
+
+  /**
+   * Create a new {@link PubSubRecordSender} for {@link ActivePowerRecord}s for the given Pub/Sub
+   * configuration.
+   */
+  public static PubSubRecordSender<ActivePowerRecord> forPubSubConfig(
+      final String project,
+      final String topic) {
+    return PubSubRecordSender
+        .builderForProject(project, topic, TitanPubSubSenderFactory::serialize)
+        // .orderingKeyAccessor(r -> r.getIdentifier())
+        .timestampAccessor(r -> r.getTimestamp())
+        .build();
+  }
+
+  /**
+   * Create a new {@link PubSubRecordSender} for {@link ActivePowerRecord}s for the given PubSub
+   * emulator configuration.
+   */
+  public static PubSubRecordSender<ActivePowerRecord> forEmulatedPubSubConfig(
+      final String emulatorHost,
+      final String topic) {
+    return PubSubRecordSender
+        .builderForEmulator(emulatorHost, topic, TitanPubSubSenderFactory::serialize)
+        // .orderingKeyAccessor(r -> r.getIdentifier())
+        .timestampAccessor(r -> r.getTimestamp())
+        .build();
+  }
+
+  private static ByteBuffer serialize(final ActivePowerRecord record) {
+    try {
+      return record.toByteBuffer();
+    } catch (final IOException e) {
+      throw new IllegalStateException(e);
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGenerator.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..41ee632fccb836f0264251142e01386019746674
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGenerator.java
@@ -0,0 +1,38 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.time.Clock;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * A factory for creating {@link RecordGenerator}s that creates Titan {@link ActivePowerRecord}s.
+ */
+public final class TitanRecordGenerator implements RecordGenerator<ActivePowerRecord> {
+
+  private final Clock clock;
+
+  private final double constantValue;
+
+  private TitanRecordGenerator(final double constantValue) {
+    this.constantValue = constantValue;
+    this.clock = Clock.systemUTC();
+  }
+
+  /* default */ TitanRecordGenerator(final double constantValue, final Clock clock) {
+    this.constantValue = constantValue;
+    this.clock = clock;
+  }
+
+  /**
+   * Create a {@link RecordGenerator} that generates Titan {@link ActivePowerRecord}s with a
+   * constant value.
+   */
+  public static RecordGenerator<ActivePowerRecord> forConstantValue(final double value) {
+    return new TitanRecordGenerator(value);
+  }
+
+  @Override
+  public ActivePowerRecord generate(final String key) {
+    return new ActivePowerRecord(key, this.clock.millis(), this.constantValue);
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/WorkloadDefinition.java b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinition.java
similarity index 84%
rename from theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/WorkloadDefinition.java
rename to theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinition.java
index 5795cad7a4d942476116f6453758aa2304b5eda0..1e7e6e5974323b545dd29b5db341405ffbd32eb3 100644
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/WorkloadDefinition.java
+++ b/theodolite-benchmarks/load-generator-commons/src/main/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinition.java
@@ -1,4 +1,4 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import java.io.Serializable;
 import java.time.Duration;
@@ -42,16 +42,16 @@ public class WorkloadDefinition implements Serializable {
    * distributing its {@link KeySpace} (almost) equally among all {@link WorkloadDefinition}s.
    */
   public Set<WorkloadDefinition> divide(final int parts) {
-    final int effParts = Math.min(parts, this.keySpace.getCount());
-    final int minSize = this.keySpace.getCount() / effParts;
-    final int largerParts = this.keySpace.getCount() % effParts;
-    return IntStream.range(0, effParts)
+    // final int effParts = Math.min(parts, this.keySpace.getCount());
+    final int minSize = this.keySpace.getCount() / parts;
+    final int largerParts = this.keySpace.getCount() % parts;
+    return IntStream.range(0, parts)
         .mapToObj(part -> {
           final int thisSize = part < largerParts ? minSize + 1 : minSize;
           final int largePartsBefore = Math.min(largerParts, part);
           final int smallPartsBefore = part - largePartsBefore;
           final int start = largePartsBefore * (minSize + 1) + smallPartsBefore * minSize;
-          final int end = start + thisSize - 1;
+          final int end = start + thisSize;
           return new KeySpace(
               this.keySpace.getPrefix(),
               start,
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KafkaRecordSender.java b/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KafkaRecordSender.java
deleted file mode 100644
index 6e4a43271fbf1e0193c2d39569a0814d1f7935cd..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/KafkaRecordSender.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package theodolite.commons.workloadgeneration;
-
-import java.util.Properties;
-import java.util.function.Function;
-import org.apache.avro.specific.SpecificRecord;
-import org.apache.kafka.clients.producer.KafkaProducer;
-import org.apache.kafka.clients.producer.Producer;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.kafka.common.errors.SerializationException;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-
-/**
- * Sends monitoring records to Kafka.
- *
- * @param <T> {@link IMonitoringRecord} to send
- */
-public class KafkaRecordSender<T extends SpecificRecord> implements RecordSender<T> {
-
-  private static final Logger LOGGER = LoggerFactory.getLogger(KafkaRecordSender.class);
-
-  private final String topic;
-
-  private final Function<T, String> keyAccessor;
-
-  private final Function<T, Long> timestampAccessor;
-
-  private final Producer<String, T> producer;
-
-  /**
-   * Create a new {@link KafkaRecordSender}.
-   */
-  private KafkaRecordSender(final Builder<T> builder) {
-    this.topic = builder.topic;
-    this.keyAccessor = builder.keyAccessor;
-    this.timestampAccessor = builder.timestampAccessor;
-
-    final Properties properties = new Properties();
-    properties.putAll(builder.defaultProperties);
-    properties.put("bootstrap.servers", builder.bootstrapServers);
-    // properties.put("acks", this.acknowledges);
-    // properties.put("batch.size", this.batchSize);
-    // properties.put("linger.ms", this.lingerMs);
-    // properties.put("buffer.memory", this.bufferMemory);
-
-    final SchemaRegistryAvroSerdeFactory avroSerdeFactory =
-        new SchemaRegistryAvroSerdeFactory(builder.schemaRegistryUrl);
-    this.producer = new KafkaProducer<>(
-        properties,
-        new StringSerializer(),
-        avroSerdeFactory.<T>forKeys().serializer());
-  }
-
-  public static <T extends SpecificRecord> Builder<T> builder(
-      final String bootstrapServers,
-      final String topic,
-      final String schemaRegistryUrl) {
-    return new Builder<>(bootstrapServers, topic, schemaRegistryUrl);
-  }
-
-  /**
-   * Builder class to build a new {@link KafkaRecordSender}.
-   *
-   * @param <T> Type of the records that should later be send.
-   */
-  public static class Builder<T extends SpecificRecord> {
-
-    private final String bootstrapServers;
-    private final String topic;
-    private final String schemaRegistryUrl;
-    private Function<T, String> keyAccessor = x -> ""; // NOPMD
-    private Function<T, Long> timestampAccessor = x -> null; // NOPMD
-    private Properties defaultProperties = new Properties(); // NOPMD
-
-    /**
-     * Creates a Builder object for a {@link KafkaRecordSender}.
-     *
-     * @param bootstrapServers The Server to for accessing Kafka.
-     * @param topic The topic where to write.
-     * @param schemaRegistryUrl URL to the schema registry for avro.
-     */
-    private Builder(final String bootstrapServers, final String topic,
-        final String schemaRegistryUrl) {
-      this.bootstrapServers = bootstrapServers;
-      this.topic = topic;
-      this.schemaRegistryUrl = schemaRegistryUrl;
-    }
-
-    public Builder<T> keyAccessor(final Function<T, String> keyAccessor) {
-      this.keyAccessor = keyAccessor;
-      return this;
-    }
-
-    public Builder<T> timestampAccessor(final Function<T, Long> timestampAccessor) {
-      this.timestampAccessor = timestampAccessor;
-      return this;
-    }
-
-    public Builder<T> defaultProperties(final Properties defaultProperties) {
-      this.defaultProperties = defaultProperties;
-      return this;
-    }
-
-    public KafkaRecordSender<T> build() {
-      return new KafkaRecordSender<>(this);
-    }
-  }
-
-  /**
-   * Write the passed monitoring record to Kafka.
-   */
-  public void write(final T monitoringRecord) {
-    final ProducerRecord<String, T> record =
-        new ProducerRecord<>(this.topic, null, this.timestampAccessor.apply(monitoringRecord),
-            this.keyAccessor.apply(monitoringRecord), monitoringRecord);
-
-    LOGGER.debug("Send record to Kafka topic {}: {}", this.topic, record);
-    try {
-      this.producer.send(record);
-    } catch (final SerializationException e) {
-      LOGGER.warn(
-          "Record could not be serialized and thus not sent to Kafka due to exception. Skipping this record.", // NOCS
-          e);
-    }
-  }
-
-  public void terminate() {
-    this.producer.close();
-  }
-
-  @Override
-  public void send(final T message) {
-    this.write(message);
-  }
-
-}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGenerator.java b/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGenerator.java
deleted file mode 100644
index a9a1ce65ac32e3508299c99a38ecd21e4c9461cf..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/LoadGenerator.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package theodolite.commons.workloadgeneration;
-
-import java.time.Duration;
-import java.util.Objects;
-import java.util.Properties;
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Theodolite load generator.
- */
-public final class LoadGenerator {
-
-  private static final Logger LOGGER = LoggerFactory.getLogger(LoadGenerator.class);
-
-  private static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
-  private static final String SENSOR_PREFIX_DEFAULT = "s_";
-  private static final int NUMBER_OF_KEYS_DEFAULT = 10;
-  private static final int PERIOD_MS_DEFAULT = 1000;
-  private static final int VALUE_DEFAULT = 10;
-  private static final int THREADS_DEFAULT = 4;
-  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
-  private static final String KAFKA_TOPIC_DEFAULT = "input";
-  private static final String KAFKA_BOOTSTRAP_SERVERS_DEFAULT = "localhost:19092"; // NOPMD
-
-  private ClusterConfig clusterConfig;
-  private WorkloadDefinition loadDefinition;
-  private LoadGeneratorConfig generatorConfig;
-  private boolean isStarted;
-
-  private LoadGenerator() {}
-
-  // Add constructor for creating from environment variables
-
-  public LoadGenerator setClusterConfig(final ClusterConfig clusterConfig) { // NOPMD
-    this.clusterConfig = clusterConfig;
-    return this;
-  }
-
-  public LoadGenerator setLoadDefinition(final WorkloadDefinition loadDefinition) { // NOPMD
-    this.loadDefinition = loadDefinition;
-    return this;
-  }
-
-  public LoadGenerator setGeneratorConfig(final LoadGeneratorConfig generatorConfig) { // NOPMD
-    this.generatorConfig = generatorConfig;
-    return this;
-  }
-
-  public LoadGenerator withKeySpace(final KeySpace keySpace) {
-    this.loadDefinition = new WorkloadDefinition(keySpace, this.loadDefinition.getPeriod());
-    return this;
-  }
-
-  public LoadGenerator withBeforeAction(final BeforeAction beforeAction) {
-    this.generatorConfig.setBeforeAction(beforeAction);
-    return this;
-  }
-
-  public LoadGenerator withThreads(final int threads) {
-    this.generatorConfig.setThreads(threads);
-    return this;
-  }
-
-  /**
-   * Run the constructed load generator until cancellation.
-   */
-  public void run() {
-    Objects.requireNonNull(this.clusterConfig, "No cluster config set.");
-    Objects.requireNonNull(this.generatorConfig, "No generator config set.");
-    Objects.requireNonNull(this.loadDefinition, "No load definition set.");
-    if (this.isStarted) {
-      throw new IllegalStateException("Load generator can only be started once.");
-    }
-    this.isStarted = true;
-    final HazelcastRunner runner = new HazelcastRunner(
-        this.clusterConfig,
-        this.generatorConfig,
-        this.loadDefinition);
-    runner.runBlocking();
-  }
-
-  /**
-   * Create a basic {@link LoadGenerator} from its default values.
-   */
-  public static LoadGenerator fromDefaults() {
-    return new LoadGenerator()
-        .setClusterConfig(ClusterConfig.fromBootstrapServer(BOOTSTRAP_SERVER_DEFAULT))
-        .setLoadDefinition(new WorkloadDefinition(
-            new KeySpace(SENSOR_PREFIX_DEFAULT, NUMBER_OF_KEYS_DEFAULT),
-            Duration.ofMillis(PERIOD_MS_DEFAULT)))
-        .setGeneratorConfig(new LoadGeneratorConfig(
-            TitanMessageGeneratorFactory
-                .withKafkaConfig(
-                    KAFKA_BOOTSTRAP_SERVERS_DEFAULT,
-                    KAFKA_TOPIC_DEFAULT,
-                    SCHEMA_REGISTRY_URL_DEFAULT)
-                .forConstantValue(VALUE_DEFAULT)));
-  }
-
-  /**
-   * Create a basic {@link LoadGenerator} from environment variables.
-   */
-  public static LoadGenerator fromEnvironment() {
-    final String bootstrapServer = System.getenv(ConfigurationKeys.BOOTSTRAP_SERVER);
-    final String kubernetesDnsName = System.getenv(ConfigurationKeys.KUBERNETES_DNS_NAME);
-
-    ClusterConfig clusterConfig;
-    if (bootstrapServer != null) { // NOPMD
-      clusterConfig = ClusterConfig.fromBootstrapServer(bootstrapServer);
-      LOGGER.info("Use bootstrap server '{}'.", bootstrapServer);
-    } else if (kubernetesDnsName != null) { // NOPMD
-      clusterConfig = ClusterConfig.fromKubernetesDnsName(kubernetesDnsName);
-      LOGGER.info("Use Kubernetes DNS name '{}'.", kubernetesDnsName);
-    } else {
-      clusterConfig = ClusterConfig.fromBootstrapServer(BOOTSTRAP_SERVER_DEFAULT);
-      LOGGER.info(
-          "Neither a bootstrap server nor a Kubernetes DNS name was provided. Use default bootstrap server '{}'.", // NOCS
-          BOOTSTRAP_SERVER_DEFAULT);
-    }
-
-    final String port = System.getenv(ConfigurationKeys.PORT);
-    if (port != null) {
-      clusterConfig.setPort(Integer.parseInt(port));
-    }
-
-    final String portAutoIncrement = System.getenv(ConfigurationKeys.PORT_AUTO_INCREMENT);
-    if (portAutoIncrement != null) {
-      clusterConfig.setPortAutoIncrement(Boolean.parseBoolean(portAutoIncrement));
-    }
-
-    final String clusterNamePrefix = System.getenv(ConfigurationKeys.CLUSTER_NAME_PREFIX);
-    if (clusterNamePrefix != null) {
-      clusterConfig.setClusterNamePrefix(portAutoIncrement);
-    }
-
-    final int numSensors = Integer.parseInt(Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.NUM_SENSORS),
-        Integer.toString(NUMBER_OF_KEYS_DEFAULT)));
-    final int periodMs = Integer.parseInt(Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.PERIOD_MS),
-        Integer.toString(PERIOD_MS_DEFAULT)));
-    final double value = Double.parseDouble(Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.VALUE),
-        Integer.toString(VALUE_DEFAULT)));
-    final int threads = Integer.parseInt(Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.THREADS),
-        Integer.toString(THREADS_DEFAULT)));
-    final String kafkaBootstrapServers = Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS),
-        KAFKA_BOOTSTRAP_SERVERS_DEFAULT);
-    final String kafkaInputTopic = Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
-        KAFKA_TOPIC_DEFAULT);
-    final String schemaRegistryUrl = Objects.requireNonNullElse(
-        System.getenv(ConfigurationKeys.SCHEMA_REGISTRY_URL),
-        SCHEMA_REGISTRY_URL_DEFAULT);
-    final Properties kafkaProperties = new Properties();
-    kafkaProperties.compute(ProducerConfig.BATCH_SIZE_CONFIG,
-        (k, v) -> System.getenv(ConfigurationKeys.KAFKA_BATCH_SIZE));
-    kafkaProperties.compute(ProducerConfig.LINGER_MS_CONFIG,
-        (k, v) -> System.getenv(ConfigurationKeys.KAFKA_LINGER_MS));
-    kafkaProperties.compute(ProducerConfig.BUFFER_MEMORY_CONFIG,
-        (k, v) -> System.getenv(ConfigurationKeys.KAFKA_BUFFER_MEMORY));
-
-    return new LoadGenerator()
-        .setClusterConfig(clusterConfig)
-        .setLoadDefinition(new WorkloadDefinition(
-            new KeySpace(SENSOR_PREFIX_DEFAULT, numSensors),
-            Duration.ofMillis(periodMs)))
-        .setGeneratorConfig(new LoadGeneratorConfig(
-            TitanMessageGeneratorFactory
-                .withKafkaConfig(
-                    kafkaBootstrapServers,
-                    kafkaInputTopic,
-                    schemaRegistryUrl,
-                    kafkaProperties)
-                .forConstantValue(value)))
-        .withThreads(threads);
-  }
-
-}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/MessageGenerator.java b/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/MessageGenerator.java
deleted file mode 100644
index c369f16557d60dae50e22ec7ad820c6a0ab4d137..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/MessageGenerator.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package theodolite.commons.workloadgeneration;
-
-/**
- * Interface representing a message generator, which sends messages for given keys to some
- * destination.
- */
-@FunctionalInterface
-public interface MessageGenerator {
-
-  void generate(final String key);
-
-  public static <T> MessageGenerator from(
-      final RecordGenerator<T> generator,
-      final RecordSender<T> sender) {
-    return key -> sender.send(generator.generate(key));
-  }
-
-}
diff --git a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/TitanMessageGeneratorFactory.java b/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/TitanMessageGeneratorFactory.java
deleted file mode 100644
index bd0b41d4e6e004d024ed2fd179eddcf6af50438f..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/load-generator-commons/src/main/java/theodolite/commons/workloadgeneration/TitanMessageGeneratorFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package theodolite.commons.workloadgeneration;
-
-import java.util.Properties;
-import titan.ccp.model.records.ActivePowerRecord;
-
-/**
- * A factory for creating {@link MessageGenerator}s that creates Titan {@link ActivePowerRecord}s
- * and sends them via Kafka.
- */
-public final class TitanMessageGeneratorFactory {
-
-  private final RecordSender<ActivePowerRecord> recordSender;
-
-  private TitanMessageGeneratorFactory(final RecordSender<ActivePowerRecord> recordSender) {
-    this.recordSender = recordSender;
-  }
-
-  /**
-   * Create a {@link MessageGenerator} that generates Titan {@link ActivePowerRecord}s with a
-   * constant value.
-   */
-  public MessageGenerator forConstantValue(final double value) {
-    return MessageGenerator.from(
-        sensor -> new ActivePowerRecord(sensor, System.currentTimeMillis(), value),
-        this.recordSender);
-  }
-
-  /**
-   * Create a new TitanMessageGeneratorFactory for the given Kafka configuration.
-   */
-  public static TitanMessageGeneratorFactory withKafkaConfig(
-      final String bootstrapServers,
-      final String topic,
-      final String schemaRegistryUrl) {
-    return withKafkaConfig(bootstrapServers, topic, schemaRegistryUrl, new Properties());
-  }
-
-  /**
-   * Create a new TitanMessageGeneratorFactory for the given Kafka configuration.
-   */
-  public static TitanMessageGeneratorFactory withKafkaConfig(
-      final String bootstrapServers,
-      final String topic,
-      final String schemaRegistryUrl,
-      final Properties properties) {
-    final KafkaRecordSender<ActivePowerRecord> kafkaRecordSender = KafkaRecordSender
-        .<ActivePowerRecord>builder(
-            bootstrapServers,
-            topic,
-            schemaRegistryUrl)
-        .keyAccessor(r -> r.getIdentifier())
-        .timestampAccessor(r -> r.getTimestamp())
-        .build();
-    return new TitanMessageGeneratorFactory(kafkaRecordSender);
-  }
-
-}
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSenderTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSenderTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..74e10711643398c7d0eb79a80a8ba3ff033cb4a7
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/HttpRecordSenderTest.java
@@ -0,0 +1,67 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.exactly;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.postRequestedFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.verify;
+import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
+import com.github.tomakehurst.wiremock.junit.WireMockRule;
+import java.net.URI;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+public class HttpRecordSenderTest {
+
+  private HttpRecordSender<ActivePowerRecord> httpRecordSender;
+
+  @Rule
+  public WireMockRule wireMockRule = new WireMockRule(options().dynamicPort());
+
+  @Before
+  public void setup() {
+    this.httpRecordSender =
+        new HttpRecordSender<>(URI.create("http://localhost:" + this.wireMockRule.port()));
+  }
+
+  @Test
+  public void testValidUri() {
+    this.wireMockRule.stubFor(
+        post(urlPathEqualTo("/"))
+            .willReturn(
+                aResponse()
+                    .withStatus(200)
+                    .withBody("received")));
+
+    final ActivePowerRecord record = new ActivePowerRecord("my-id", 12345L, 12.34);
+    this.httpRecordSender.send(record);
+
+    final String expectedJson = "{\"identifier\":\"my-id\",\"timestamp\":12345,\"valueInW\":12.34}";
+    verify(exactly(1), postRequestedFor(urlEqualTo("/"))
+        .withRequestBody(equalTo(expectedJson))); // toJson
+  }
+
+  @Test
+  public void testTimeout() {
+    this.wireMockRule.stubFor(
+        post(urlPathEqualTo("/"))
+            .willReturn(
+                aResponse()
+                    .withFixedDelay(2_000)
+                    .withStatus(200)
+                    .withBody("received")));
+
+    final ActivePowerRecord record = new ActivePowerRecord("my-id", 12345L, 12.34);
+    this.httpRecordSender.send(record);
+
+    final String expectedJson = "{\"identifier\":\"my-id\",\"timestamp\":12345,\"valueInW\":12.34}";
+    verify(exactly(1), postRequestedFor(urlEqualTo("/"))
+        .withRequestBody(equalTo(expectedJson))); // toJson
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/KeySpaceTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/KeySpaceTest.java
similarity index 71%
rename from theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/KeySpaceTest.java
rename to theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/KeySpaceTest.java
index 20c094ddcc7ff110a25aaffa494766e89d4d2475..cbd230433d2345cf00212cf6f68463d07c5ef765 100644
--- a/theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/KeySpaceTest.java
+++ b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/KeySpaceTest.java
@@ -1,21 +1,20 @@
-package theodolite.commons.workloadgeneration;
+package rocks.theodolite.benchmarks.loadgenerator;
 
 import org.junit.Assert;
 import org.junit.Test;
-import theodolite.commons.workloadgeneration.KeySpace;
 
 public class KeySpaceTest {
 
   @Test
   public void testCountFixedRangeFromZero() {
-    final KeySpace keySpace = new KeySpace("prefix", 0, 9);
+    final KeySpace keySpace = new KeySpace("prefix", 0, 10);
     final int count = keySpace.getCount();
     Assert.assertEquals(10, count);
   }
 
   @Test
   public void testCountFixedRangeNotFromZero() {
-    final KeySpace keySpace = new KeySpace("prefix", 4, 11);
+    final KeySpace keySpace = new KeySpace("prefix", 4, 12);
     final int count = keySpace.getCount();
     Assert.assertEquals(8, count);
   }
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTargetTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTargetTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..46f6d1081eae857d90489de49bbfd102c89b3821
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/LoadGeneratorTargetTest.java
@@ -0,0 +1,26 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class LoadGeneratorTargetTest {
+
+  @Test
+  public void testFromKafka() {
+    final LoadGeneratorTarget target = LoadGeneratorTarget.from("kafka");
+    Assert.assertEquals(LoadGeneratorTarget.KAFKA, target);
+  }
+
+  @Test
+  public void testFromHttp() {
+    final LoadGeneratorTarget target = LoadGeneratorTarget.from("http");
+    Assert.assertEquals(LoadGeneratorTarget.HTTP, target);
+  }
+
+  @Test(expected = IllegalArgumentException.class)
+  public void testFromInvalidTarget() {
+    LoadGeneratorTarget.from("<invalid-target>");
+  }
+
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGeneratorTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGeneratorTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..7ef2ae41935120a0619f76379ee321bc83c9ba4c
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/TitanRecordGeneratorTest.java
@@ -0,0 +1,40 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.time.Clock;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZoneOffset;
+import org.junit.Assert;
+import org.junit.Test;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+public class TitanRecordGeneratorTest {
+
+  @Test
+  public void testGenerate() {
+    final ZoneId zoneId = ZoneOffset.UTC;
+    final LocalDateTime dateTime = LocalDateTime.of(2022, 1, 17, 14, 2, 42);
+    final Instant instant = dateTime.atZone(zoneId).toInstant();
+    final TitanRecordGenerator generator =
+        new TitanRecordGenerator(42.0, Clock.fixed(instant, zoneId));
+
+    final ActivePowerRecord activePowerRecord = generator.generate("my-identifier");
+    Assert.assertEquals("my-identifier", activePowerRecord.getIdentifier());
+    Assert.assertEquals(instant.toEpochMilli(), activePowerRecord.getTimestamp());
+    Assert.assertEquals(42.0, activePowerRecord.getValueInW(), 0.001);
+  }
+
+  @Test
+  public void testTimestampForArbitraryClockTimeZone() {
+    final LocalDateTime dateTime = LocalDateTime.of(2022, 1, 17, 14, 2, 42);
+    final Instant instant = dateTime.atZone(ZoneId.of("Europe/Paris")).toInstant();
+    // Setting of ZoneId should have no impact on result as we request epoch millis
+    final Clock clock = Clock.fixed(instant, ZoneId.of("America/Sao_Paulo"));
+    final TitanRecordGenerator generator = new TitanRecordGenerator(42.0, clock);
+
+    final ActivePowerRecord activePowerRecord = generator.generate("my-identifier");
+    Assert.assertEquals(instant.toEpochMilli(), activePowerRecord.getTimestamp());
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinitionTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinitionTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..b670a73c6fe423e42e02c7d25d67311a5858c1af
--- /dev/null
+++ b/theodolite-benchmarks/load-generator-commons/src/test/java/rocks/theodolite/benchmarks/loadgenerator/WorkloadDefinitionTest.java
@@ -0,0 +1,192 @@
+package rocks.theodolite.benchmarks.loadgenerator;
+
+import java.time.Duration;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class WorkloadDefinitionTest {
+
+  @Test
+  public void testDivideByOneAmount() {
+    final KeySpace keySpace = new KeySpace("prefix", 100);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(1);
+    Assert.assertEquals(1, subworkloads.size());
+  }
+
+  @Test
+  public void testDivideMultipleAmount() {
+    final KeySpace keySpace = new KeySpace("prefix", 100);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(2);
+    Assert.assertEquals(2, subworkloads.size());
+  }
+
+  @Test
+  public void testDivideNonMultipleAmount() {
+    final KeySpace keySpace = new KeySpace("prefix", 100);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
+    Assert.assertEquals(3, subworkloads.size());
+  }
+
+  @Test
+  public void testDivide() {
+    final KeySpace keySpace = new KeySpace("prefix", 100);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
+    Assert.assertEquals(3, subworkloads.size());
+    for (final WorkloadDefinition subworkload : subworkloads) {
+      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
+      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
+    }
+    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
+        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
+        .collect(Collectors.toList());
+
+    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
+    final List<String> expectedKeySubworkload1 = IntStream
+        .rangeClosed(0, 33)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload1, subworkload1.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
+    final List<String> expectedKeySubworkload2 = IntStream
+        .rangeClosed(34, 66)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload2, subworkload2.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
+    final List<String> expectedKeySubworkload3 = IntStream
+        .rangeClosed(67, 99)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload3, subworkload3.getKeySpace().getKeys());
+  }
+
+  @Test
+  public void testDivideMany() {
+    final KeySpace keySpace = new KeySpace("prefix", 10);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(7);
+    Assert.assertEquals(7, subworkloads.size());
+    for (final WorkloadDefinition subworkload : subworkloads) {
+      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
+      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
+    }
+    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
+        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
+        .collect(Collectors.toList());
+
+    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
+    final List<String> expectedKeySubworkload1 = IntStream
+        .rangeClosed(0, 1)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload1, subworkload1.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
+    final List<String> expectedKeySubworkload2 = IntStream
+        .rangeClosed(2, 3)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload2, subworkload2.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
+    final List<String> expectedKeySubworkload3 = IntStream
+        .rangeClosed(4, 5)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload3, subworkload3.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload4 = orderedSubworkloads.get(3);
+    final List<String> expectedKeySubworkload4 = IntStream
+        .rangeClosed(6, 6)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload4, subworkload4.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload5 = orderedSubworkloads.get(4);
+    final List<String> expectedKeySubworkload5 = IntStream
+        .rangeClosed(7, 7)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload5, subworkload5.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload6 = orderedSubworkloads.get(5);
+    final List<String> expectedKeySubworkload6 = IntStream
+        .rangeClosed(8, 8)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload6, subworkload6.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload7 = orderedSubworkloads.get(6);
+    final List<String> expectedKeySubworkload7 = IntStream
+        .rangeClosed(9, 9)
+        .mapToObj(id -> "prefix" + id)
+        .collect(Collectors.toList());
+    Assert.assertEquals(expectedKeySubworkload7, subworkload7.getKeySpace().getKeys());
+  }
+
+  @Test
+  public void testDivideWithOneEmpty() {
+    final KeySpace keySpace = new KeySpace("prefix", 2);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
+    Assert.assertEquals(3, subworkloads.size());
+    for (final WorkloadDefinition subworkload : subworkloads) {
+      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
+      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
+    }
+    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
+        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
+        .collect(Collectors.toList());
+
+    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
+    final List<String> expectedKeySubworkload1 = List.of("prefix0");
+    Assert.assertEquals(expectedKeySubworkload1, subworkload1.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
+    final List<String> expectedKeySubworkload2 = List.of("prefix1");
+    Assert.assertEquals(expectedKeySubworkload2, subworkload2.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
+    final List<String> expectedKeySubworkload3 = List.of();
+    Assert.assertEquals(expectedKeySubworkload3, subworkload3.getKeySpace().getKeys());
+  }
+
+  @Test
+  public void testDivideWithTwoEmpty() {
+    final KeySpace keySpace = new KeySpace("prefix", 1);
+    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
+    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
+    Assert.assertEquals(3, subworkloads.size());
+    for (final WorkloadDefinition subworkload : subworkloads) {
+      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
+      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
+    }
+    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
+        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
+        .collect(Collectors.toList());
+
+    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
+    final List<String> expectedKeySubworkload1 = List.of("prefix0");
+    Assert.assertEquals(expectedKeySubworkload1, subworkload1.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
+    final List<String> expectedKeySubworkload2 = List.of();
+    Assert.assertEquals(expectedKeySubworkload2, subworkload2.getKeySpace().getKeys());
+
+    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
+    final List<String> expectedKeySubworkload3 = List.of();
+    Assert.assertEquals(expectedKeySubworkload3, subworkload3.getKeySpace().getKeys());
+  }
+
+}
diff --git a/theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/WorkloadDefinitionTest.java b/theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/WorkloadDefinitionTest.java
deleted file mode 100644
index 9a5dbf2d20e9e33b5902e5f352dc8a4023478cdf..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/load-generator-commons/src/test/java/theodolite/commons/workloadgeneration/WorkloadDefinitionTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package theodolite.commons.workloadgeneration;
-
-import java.time.Duration;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-import org.junit.Assert;
-import org.junit.Test;
-
-public class WorkloadDefinitionTest {
-
-  @Test
-  public void testDivideByOneAmount() {
-    final KeySpace keySpace = new KeySpace("prefix", 100);
-    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
-    final Set<WorkloadDefinition> subworkloads = workload.divide(1);
-    Assert.assertEquals(1, subworkloads.size());
-  }
-
-  @Test
-  public void testDivideMultipleAmount() {
-    final KeySpace keySpace = new KeySpace("prefix", 100);
-    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
-    final Set<WorkloadDefinition> subworkloads = workload.divide(2);
-    Assert.assertEquals(2, subworkloads.size());
-  }
-
-  @Test
-  public void testDivideNonMultipleAmount() {
-    final KeySpace keySpace = new KeySpace("prefix", 100);
-    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
-    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
-    Assert.assertEquals(3, subworkloads.size());
-  }
-
-  @Test
-  public void testDivide() {
-    final KeySpace keySpace = new KeySpace("prefix", 100);
-    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
-    final Set<WorkloadDefinition> subworkloads = workload.divide(3);
-    Assert.assertEquals(3, subworkloads.size());
-    for (final WorkloadDefinition subworkload : subworkloads) {
-      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
-      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
-    }
-    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
-        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
-        .collect(Collectors.toList());
-    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
-    Assert.assertEquals(0, subworkload1.getKeySpace().getMin());
-    Assert.assertEquals(33, subworkload1.getKeySpace().getMax());
-    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
-    Assert.assertEquals(34, subworkload2.getKeySpace().getMin());
-    Assert.assertEquals(66, subworkload2.getKeySpace().getMax());
-    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
-    Assert.assertEquals(67, subworkload3.getKeySpace().getMin());
-    Assert.assertEquals(99, subworkload3.getKeySpace().getMax());
-  }
-
-  @Test
-  public void testDivideMany() {
-    final KeySpace keySpace = new KeySpace("prefix", 10);
-    final WorkloadDefinition workload = new WorkloadDefinition(keySpace, Duration.ofSeconds(1));
-    final Set<WorkloadDefinition> subworkloads = workload.divide(7);
-    Assert.assertEquals(7, subworkloads.size());
-    for (final WorkloadDefinition subworkload : subworkloads) {
-      Assert.assertEquals("prefix", subworkload.getKeySpace().getPrefix());
-      Assert.assertEquals(Duration.ofSeconds(1), subworkload.getPeriod());
-    }
-    final List<WorkloadDefinition> orderedSubworkloads = subworkloads.stream()
-        .sorted(Comparator.comparingInt(l -> l.getKeySpace().getMin()))
-        .collect(Collectors.toList());
-    final WorkloadDefinition subworkload1 = orderedSubworkloads.get(0);
-    Assert.assertEquals(0, subworkload1.getKeySpace().getMin());
-    Assert.assertEquals(1, subworkload1.getKeySpace().getMax());
-    final WorkloadDefinition subworkload2 = orderedSubworkloads.get(1);
-    Assert.assertEquals(2, subworkload2.getKeySpace().getMin());
-    Assert.assertEquals(3, subworkload2.getKeySpace().getMax());
-    final WorkloadDefinition subworkload3 = orderedSubworkloads.get(2);
-    Assert.assertEquals(4, subworkload3.getKeySpace().getMin());
-    Assert.assertEquals(5, subworkload3.getKeySpace().getMax());
-    final WorkloadDefinition subworkload4 = orderedSubworkloads.get(3);
-    Assert.assertEquals(6, subworkload4.getKeySpace().getMin());
-    Assert.assertEquals(6, subworkload4.getKeySpace().getMax());
-    final WorkloadDefinition subworkload5 = orderedSubworkloads.get(4);
-    Assert.assertEquals(7, subworkload5.getKeySpace().getMin());
-    Assert.assertEquals(7, subworkload5.getKeySpace().getMax());
-    final WorkloadDefinition subworkload6 = orderedSubworkloads.get(5);
-    Assert.assertEquals(8, subworkload6.getKeySpace().getMin());
-    Assert.assertEquals(8, subworkload6.getKeySpace().getMax());
-    final WorkloadDefinition subworkload7 = orderedSubworkloads.get(6);
-    Assert.assertEquals(9, subworkload7.getKeySpace().getMin());
-    Assert.assertEquals(9, subworkload7.getKeySpace().getMax());
-  }
-
-}
diff --git a/theodolite-benchmarks/settings.gradle b/theodolite-benchmarks/settings.gradle
index 5602e816bb21dce72162b085de99836b8f9aea1e..1979f5f335444084b5421dcdba3228594a7b907e 100644
--- a/theodolite-benchmarks/settings.gradle
+++ b/theodolite-benchmarks/settings.gradle
@@ -1,21 +1,51 @@
+pluginManagement {
+    repositories {
+        gradlePluginPortal()
+        mavenCentral()
+    }
+}
 rootProject.name = 'theodolite-benchmarks'
 
+
+
+include 'commons'
 include 'load-generator-commons'
 include 'kstreams-commons'
 include 'flink-commons'
+include 'hazelcastjet-commons'
+include 'beam-commons'
 
 include 'uc1-load-generator'
+include 'uc1-commons'
 include 'uc1-kstreams'
 include 'uc1-flink'
+include 'uc1-hazelcastjet'
+include 'uc1-beam'
+include 'uc1-beam-flink'
+include 'uc1-beam-samza'
 
 include 'uc2-load-generator'
 include 'uc2-kstreams'
 include 'uc2-flink'
+include 'uc2-hazelcastjet'
+include 'uc2-beam'
+include 'uc2-beam-flink'
+include 'uc2-beam-samza'
 
 include 'uc3-load-generator'
 include 'uc3-kstreams'
 include 'uc3-flink'
+include 'uc3-hazelcastjet'
+include 'uc3-beam'
+include 'uc3-beam-flink'
+include 'uc3-beam-samza'
 
 include 'uc4-load-generator'
 include 'uc4-kstreams'
 include 'uc4-flink'
+include 'uc4-hazelcastjet'
+include 'uc4-beam'
+include 'uc4-beam-flink'
+include 'uc4-beam-samza'
+
+include 'http-bridge'
diff --git a/theodolite-benchmarks/uc1-beam-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-beam-flink/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-beam-flink/Dockerfile b/theodolite-benchmarks/uc1-beam-flink/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..0e3c0b3184e4bac8b62b97bc022df88c7701b619
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/Dockerfile
@@ -0,0 +1,5 @@
+FROM flink:1.13-java11
+
+ADD build/distributions/uc1-beam-flink.tar /opt/flink/usrlib/artifacts/uc1-beam-flink.tar
+
+
diff --git a/theodolite-benchmarks/uc1-beam-flink/build.gradle b/theodolite-benchmarks/uc1-beam-flink/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..fff1a0817b9bfd6f0c631c97aef585465ad15f4d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.flink'
+}
+
+dependencies {
+  implementation project(':uc1-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc1-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc1.beam.flink.Uc1BeamFlink"
diff --git a/theodolite-benchmarks/uc1-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc1/beam/flink/Uc1BeamFlink.java b/theodolite-benchmarks/uc1-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc1/beam/flink/Uc1BeamFlink.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f39500433a77612fe5ab010372a24ca46035135
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc1/beam/flink/Uc1BeamFlink.java
@@ -0,0 +1,24 @@
+package rocks.theodolite.benchmarks.uc1.beam.flink;
+
+import org.apache.beam.runners.flink.FlinkRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc1.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Database Storage using Apache Beam with the Flink Runner. To
+ * execute locally in standalone start Kafka, Zookeeper, the schema-registry and the workload
+ * generator using the delayed_startup.sh script. Start a Flink cluster and pass its REST adress
+ * using--flinkMaster as run parameter. To persist logs add
+ * ${workspace_loc:/uc1-application-samza/eclipseConsoleLogs.log} as Output File under Standard
+ * Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc1BeamFlink {
+
+  private Uc1BeamFlink() {}
+
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), FlinkRunner.class, args).runStandalone();
+  }
+
+}
+
diff --git a/theodolite-benchmarks/uc1-beam-samza/.gitignore b/theodolite-benchmarks/uc1-beam-samza/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7bf05dd280fcc888467656ce1fbdeb65322c7ba8
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/.gitignore
@@ -0,0 +1 @@
+state
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc1-beam-samza/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-beam-samza/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-beam-samza/Dockerfile b/theodolite-benchmarks/uc1-beam-samza/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..cf6ef6675464e3c9d37db492b39fd8a71ec60e63
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/Dockerfile
@@ -0,0 +1,9 @@
+FROM openjdk:11-slim
+
+ENV MAX_SOURCE_PARALLELISM=1024
+
+ADD build/distributions/uc1-beam-samza.tar /
+ADD samza-standalone.properties /
+
+CMD /uc1-beam-samza/bin/uc1-beam-samza --configFilePath=samza-standalone.properties --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=$MAX_SOURCE_PARALLELISM --enableMetrics=false --configOverride="{\"job.coordinator.zk.connect\":\"$SAMZA_JOB_COORDINATOR_ZK_CONNECT\"}"
+
diff --git a/theodolite-benchmarks/uc1-beam-samza/build.gradle b/theodolite-benchmarks/uc1-beam-samza/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..fab142f6d7a0f8415bda1cc0e41f088b952a11fb
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.samza'
+}
+
+dependencies {
+  implementation project(':uc1-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc1-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc1.beam.samza.Uc1BeamSamza"
diff --git a/theodolite-benchmarks/uc1-beam-samza/samza-standalone.properties b/theodolite-benchmarks/uc1-beam-samza/samza-standalone.properties
new file mode 100644
index 0000000000000000000000000000000000000000..02411017e86e274f6057688a7c351567603c0f80
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/samza-standalone.properties
@@ -0,0 +1,17 @@
+# Set EnvironmentRewriter
+job.config.rewriters=env-config
+job.config.rewriter.env-config.class=org.apache.samza.config.EnvironmentConfigRewriter
+
+# Configure ZooKeeper for coordination
+job.coordinator.factory=org.apache.samza.zk.ZkJobCoordinatorFactory
+job.coordinator.zk.connect=localhost:2181
+
+# Use GroupByContainerIds
+task.name.grouper.factory=org.apache.samza.container.grouper.task.GroupByContainerIdsFactory
+
+# Configure Kafka as "system"
+job.default.system=kafka
+systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory
+systems.kafka.consumer.bootstrap.servers=localhost:9092
+systems.kafka.producer.bootstrap.servers=localhost:9092
+systems.kafka.default.stream.replication.factor=1
diff --git a/theodolite-benchmarks/uc1-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc1/beam/samza/Uc1BeamSamza.java b/theodolite-benchmarks/uc1-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc1/beam/samza/Uc1BeamSamza.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c3f650b7ddbe5e3c08139cdec2e590f5d55f3b3
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc1/beam/samza/Uc1BeamSamza.java
@@ -0,0 +1,26 @@
+package rocks.theodolite.benchmarks.uc1.beam.samza;
+
+import org.apache.beam.runners.samza.SamzaRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc1.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Database Storage using Apache Beam with the Samza Runner. To
+ * execute locally in standalone start Kafka, Zookeeper, the schema-registry and the workload
+ * generator. Add --configFactory=org.apache.samza.config.factories.PropertiesConfigFactory
+ * --configFilePath=samza-standalone.properties --samzaExecutionEnvironment=STANDALONE
+ * --maxSourceParallelism=1024 as program arguments. To persist logs add
+ * ${workspace_loc:/uc4-application-samza/eclipseConsoleLogs.log} as Output File under Standard
+ * Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc1BeamSamza {
+
+  private Uc1BeamSamza() {}
+
+  /**
+   * Main method.
+   */
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), SamzaRunner.class, args).runStandalone();
+  }
+}
diff --git a/theodolite-benchmarks/uc1-beam/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-beam/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-beam/build.gradle b/theodolite-benchmarks/uc1-beam/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..659eb09e67487132bca2b3ecb82298690dbf33c6
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/build.gradle
@@ -0,0 +1,8 @@
+plugins {
+  id 'theodolite.beam'
+}
+
+dependencies {
+  implementation project(':uc1-commons')
+  implementation 'org.apache.beam:beam-sdks-java-io-google-cloud-platform:2.35.0'
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/ConverterAdapter.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/ConverterAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..b32d0cb8213b57cbad7f97f97409992e90d03abd
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/ConverterAdapter.java
@@ -0,0 +1,40 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.TypeDescriptor;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.RecordConverter;
+
+/**
+ * {@link SimpleFunction} which wraps a {@link RecordConverter} to be used with Beam.
+ * 
+ * @param <T> type the {@link RecordConverter} is associated with.
+ */
+public class ConverterAdapter<T> extends SimpleFunction<ActivePowerRecord, T> {
+
+  private static final long serialVersionUID = -5263671231838353747L; // NOPMD
+
+  private final RecordConverter<T> recordConverter;
+  private final TypeDescriptor<T> type;
+
+  /**
+   * Create a new {@link ConverterAdapter} with a given {@link RecordConverter} and the associated
+   * type.
+   */
+  public ConverterAdapter(final RecordConverter<T> recordConverter, final Class<T> type) {
+    super();
+    this.recordConverter = recordConverter;
+    this.type = TypeDescriptor.of(type);
+  }
+
+  @Override
+  public T apply(final ActivePowerRecord record) {
+    return this.recordConverter.convert(record);
+  }
+
+  @Override
+  public TypeDescriptor<T> getOutputTypeDescriptor() {
+    return this.type;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/GenericSink.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/GenericSink.java
new file mode 100644
index 0000000000000000000000000000000000000000..e42b7dea8ce346af11e5379e258970949a9def45
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/GenericSink.java
@@ -0,0 +1,41 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import org.apache.beam.sdk.transforms.MapElements;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.transforms.ParDo;
+import org.apache.beam.sdk.values.PCollection;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+
+/**
+ * A {@link PTransform} for a generic {@link DatabaseAdapter}.
+ *
+ * @param <T> Type parameter of {@link DatabaseAdapter}.
+ */
+public class GenericSink<T> extends PTransform<PCollection<ActivePowerRecord>, PCollection<?>> {
+
+  private static final long serialVersionUID = 1L;
+
+  private final DatabaseAdapter<T> databaseAdapter;
+  private final Class<T> type;
+
+  /**
+   * Create a {@link GenericSink} for the provided {@link DatabaseAdapter}. Requires also the
+   * corresponding {@link Class} object for Beam.
+   */
+  public GenericSink(final DatabaseAdapter<T> databaseAdapter, final Class<T> type) {
+    super();
+    this.databaseAdapter = databaseAdapter;
+    this.type = type;
+  }
+
+  @Override
+  public PCollection<?> expand(final PCollection<ActivePowerRecord> activePowerRecords) {
+    return activePowerRecords
+        .apply(MapElements
+            .via(new ConverterAdapter<>(this.databaseAdapter.getRecordConverter(), this.type)))
+        .apply(ParDo.of(new WriterAdapter<>(this.databaseAdapter.getDatabaseWriter())));
+
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/PipelineFactory.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/PipelineFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..74271aca04e28ab213ef396d61e12adc30517035
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/PipelineFactory.java
@@ -0,0 +1,63 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import java.util.function.Function;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.CoderRegistry;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.beam.sdk.transforms.Values;
+import org.apache.commons.configuration2.Configuration;
+import rocks.theodolite.benchmarks.commons.beam.AbstractPipelineFactory;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaActivePowerTimestampReader;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.beam.firestore.FirestoreOptionsExpander;
+
+/**
+ * {@link AbstractPipelineFactory} for UC1.
+ */
+public class PipelineFactory extends AbstractPipelineFactory {
+
+  public static final String SINK_TYPE_KEY = "sink.type";
+
+  private final SinkType sinkType = SinkType.from(this.config.getString(SINK_TYPE_KEY));
+
+  public PipelineFactory(final Configuration configuration) {
+    super(configuration);
+  }
+
+  @Override
+  protected void expandOptions(final PipelineOptions options) {
+    // No options to set
+    // TODO Add for PubSub
+    // final String pubSubEmulatorHost = super.config.getString(null);
+    // if (pubSubEmulatorHost != null) {
+    // final PubsubOptions pubSubOptions = options.as(PubsubOptions.class);
+    // pubSubOptions.setPubsubRootUrl("http://" + pubSubEmulatorHost);
+    // }
+    if (this.sinkType == SinkType.FIRESTORE) {
+      FirestoreOptionsExpander.expandOptions(options);
+    }
+  }
+
+  @Override
+  protected void constructPipeline(final Pipeline pipeline) {
+    final KafkaActivePowerTimestampReader kafkaReader = super.buildKafkaReader();
+
+    pipeline.apply(kafkaReader)
+        .apply(Values.create())
+        .apply(this.sinkType.create(this.config));
+  }
+
+  @Override
+  protected void registerCoders(final CoderRegistry registry) {
+    registry.registerCoderForClass(
+        ActivePowerRecord.class,
+        // AvroCoder.of(ActivePowerRecord.SCHEMA$));
+        AvroCoder.of(ActivePowerRecord.class, false));
+  }
+
+  public static Function<Configuration, AbstractPipelineFactory> factory() {
+    return config -> new PipelineFactory(config);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkFactory.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..73b95bb2257c80a1523b76c1e6b136319e6537cf
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkFactory.java
@@ -0,0 +1,16 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.commons.configuration2.Configuration;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Interface for a class that creates sinks (i.e., {@link PTransform}s that map and store
+ * {@link ActivePowerRecord}s, optionally, using a {@link Configuration}.
+ */
+public interface SinkFactory {
+
+  PTransform<PCollection<ActivePowerRecord>, PCollection<?>> create(Configuration configuration);
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkType.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkType.java
new file mode 100644
index 0000000000000000000000000000000000000000..60eaabfddbbc7738c33f1c2b563703710e3f0a0e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/SinkType.java
@@ -0,0 +1,52 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import java.util.stream.Stream;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.commons.configuration2.Configuration;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.beam.firestore.FirestoreSink;
+import rocks.theodolite.benchmarks.uc1.commons.logger.LogWriterFactory;
+
+/**
+ * Supported Sink types, i.e., {@link PTransform} for converting and storing
+ * {@link ActivePowerRecord}s.
+ */
+public enum SinkType implements SinkFactory {
+
+  LOGGER("logger") {
+    @Override
+    public PTransform<PCollection<ActivePowerRecord>, PCollection<?>> create(
+        final Configuration config) {
+      return new GenericSink<>(LogWriterFactory.forJson(), String.class);
+    }
+  },
+  FIRESTORE("firestore") {
+    @Override
+    public PTransform<PCollection<ActivePowerRecord>, PCollection<?>> create(
+        final Configuration config) {
+      return FirestoreSink.fromConfig(config);
+    }
+  };
+
+  private final String value;
+
+  SinkType(final String value) {
+    this.value = value;
+  }
+
+  public String getValue() {
+    return this.value;
+  }
+
+  /**
+   * Create a new {@link SinkType} from its string representation.
+   */
+  public static SinkType from(final String value) {
+    return Stream.of(SinkType.values())
+        .filter(t -> t.value.equals(value))
+        .findFirst()
+        .orElseThrow(() -> new IllegalArgumentException("Sink '" + value + "' does not exist."));
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/WriterAdapter.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/WriterAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1dc2f7305d01b47de644e4f8d391955540f530c
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/WriterAdapter.java
@@ -0,0 +1,28 @@
+package rocks.theodolite.benchmarks.uc1.beam;
+
+import org.apache.beam.sdk.transforms.DoFn;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseWriter;
+
+/**
+ * {@link DoFn} which wraps a {@link DatabaseAdapter} to be used with Beam.
+ *
+ * @param <T> type the {@link DatabaseWriter} is associated with.
+ */
+public class WriterAdapter<T> extends DoFn<T, Void> {
+
+  private static final long serialVersionUID = -5263671231838353742L; // NOPMD
+
+  private final DatabaseWriter<T> databaseWriter;
+
+  public WriterAdapter(final DatabaseWriter<T> databaseWriter) {
+    super();
+    this.databaseWriter = databaseWriter;
+  }
+
+  @ProcessElement
+  public void processElement(@Element final T record, final OutputReceiver<Void> out) {
+    this.databaseWriter.write(record);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/DocumentMapper.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/DocumentMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..6d23c929688bbbcda1586fb41a454605f48e2ef7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/DocumentMapper.java
@@ -0,0 +1,52 @@
+package rocks.theodolite.benchmarks.uc1.beam.firestore;
+
+import com.google.firestore.v1.Document;
+import com.google.firestore.v1.Value;
+import java.io.IOException;
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+final class DocumentMapper extends SimpleFunction<ActivePowerRecord, Document> {
+
+  private static final long serialVersionUID = -5263671231838353749L; // NOPMD
+
+  private transient FirestoreConfig firestoreConfig;
+
+  private final String collection;
+
+  public DocumentMapper(final String collection) {
+    super();
+    this.collection = collection;
+  }
+
+  @Override
+  public Document apply(final ActivePowerRecord record) {
+    return Document
+        .newBuilder()
+        .setName(this.createDocumentName(record.getIdentifier() + record.getTimestamp()))
+        .putFields("identifier",
+            Value.newBuilder().setStringValue(record.getIdentifier()).build())
+        .putFields("timestamp", Value.newBuilder().setIntegerValue(record.getTimestamp()).build())
+        .putFields("valueInW", Value.newBuilder().setDoubleValue(record.getValueInW()).build())
+        .build();
+  }
+
+  private String createDocumentName(final String documentId) {
+    this.initFirestoreConfig();
+    return "projects/" + this.firestoreConfig.getProjectId()
+        + "/databases/" + this.firestoreConfig.getDatabase()
+        + "/documents/" + this.collection
+        + "/" + documentId;
+  }
+
+  private void initFirestoreConfig() {
+    if (this.firestoreConfig == null) {
+      try {
+        this.firestoreConfig = FirestoreConfig.createFromDefaults();
+      } catch (final IOException e) {
+        throw new IllegalStateException("Cannot create Firestore configuration.", e);
+      }
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreConfig.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..143387d0e15fc778721e026f1c7fdb3b01fc15ef
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreConfig.java
@@ -0,0 +1,29 @@
+package rocks.theodolite.benchmarks.uc1.beam.firestore;
+
+import com.google.auth.oauth2.GoogleCredentials;
+import com.google.cloud.firestore.FirestoreOptions;
+import java.io.IOException;
+
+final class FirestoreConfig {
+
+  private final FirestoreOptions firestoreOptions;
+
+  private FirestoreConfig(final FirestoreOptions firestoreOptions) {
+    this.firestoreOptions = firestoreOptions;
+  }
+
+  public String getProjectId() {
+    return this.firestoreOptions.getProjectId();
+  }
+
+  public String getDatabase() {
+    return this.firestoreOptions.getDatabaseId();
+  }
+
+  public static FirestoreConfig createFromDefaults() throws IOException {
+    return new FirestoreConfig(FirestoreOptions.getDefaultInstance().toBuilder()
+        .setCredentials(GoogleCredentials.getApplicationDefault())
+        .build());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreOptionsExpander.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreOptionsExpander.java
new file mode 100644
index 0000000000000000000000000000000000000000..0447450b45b971f96e2f2cbb7ce91f78604d5a23
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreOptionsExpander.java
@@ -0,0 +1,34 @@
+package rocks.theodolite.benchmarks.uc1.beam.firestore;
+
+import java.io.IOException;
+import org.apache.beam.sdk.extensions.gcp.options.GcpOptions;
+import org.apache.beam.sdk.options.PipelineOptions;
+
+/**
+ * Provides a method to expand {@link PipelineOptions} for Firestore.
+ */
+public final class FirestoreOptionsExpander {
+
+  private FirestoreOptionsExpander() {}
+
+  /**
+   * Expand {@link PipelineOptions} by special options required for Firestore derived from a default
+   * configuration.
+   *
+   * @param options {@link PipelineOptions} to be expanded.
+   */
+  public static void expandOptions(final PipelineOptions options) {
+    final GcpOptions firestoreOptions = options.as(GcpOptions.class);
+    final FirestoreConfig firestoreConfig = getFirestoreConfig();
+    firestoreOptions.setProject(firestoreConfig.getProjectId());
+  }
+
+  private static FirestoreConfig getFirestoreConfig() {
+    try {
+      return FirestoreConfig.createFromDefaults();
+    } catch (final IOException e) {
+      throw new IllegalStateException("Cannot create Firestore configuration.", e);
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreSink.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreSink.java
new file mode 100644
index 0000000000000000000000000000000000000000..100bb6205bd91d2562f9141332943610ba3b5e3e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/FirestoreSink.java
@@ -0,0 +1,41 @@
+package rocks.theodolite.benchmarks.uc1.beam.firestore;
+
+import com.google.cloud.firestore.DocumentSnapshot;
+import com.google.firestore.v1.Document;
+import org.apache.beam.sdk.io.gcp.firestore.FirestoreIO;
+import org.apache.beam.sdk.transforms.MapElements;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.commons.configuration2.Configuration;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * A {@link PTransform} mapping {@link ActivePowerRecord}s to {@link Document}s, followed by storing
+ * these {@link DocumentSnapshot} to Firestore.
+ */
+public class FirestoreSink extends PTransform<PCollection<ActivePowerRecord>, PCollection<?>> {
+
+  public static final String SINK_FIRESTORE_COLLECTION_KEY = "sink.firestore.collection";
+
+  private static final long serialVersionUID = 1L;
+
+  private final String collectionName;
+
+  public FirestoreSink(final String collectionName) {
+    super();
+    this.collectionName = collectionName;
+  }
+
+  @Override
+  public PCollection<?> expand(final PCollection<ActivePowerRecord> activePowerRecords) {
+    return activePowerRecords
+        .apply(MapElements.via(new DocumentMapper(this.collectionName)))
+        .apply(MapElements.via(new UpdateOperationMapper()))
+        .apply(FirestoreIO.v1().write().batchWrite().build());
+  }
+
+  public static FirestoreSink fromConfig(final Configuration config) {
+    final String collectionName = config.getString(SINK_FIRESTORE_COLLECTION_KEY);
+    return new FirestoreSink(collectionName);
+  }
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/UpdateOperationMapper.java b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/UpdateOperationMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc1170073477eabd7b340f59e97ef8cbe1cf3743
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/java/rocks/theodolite/benchmarks/uc1/beam/firestore/UpdateOperationMapper.java
@@ -0,0 +1,18 @@
+package rocks.theodolite.benchmarks.uc1.beam.firestore;
+
+import com.google.firestore.v1.Document;
+import com.google.firestore.v1.Write;
+import org.apache.beam.sdk.transforms.SimpleFunction;
+
+final class UpdateOperationMapper extends SimpleFunction<Document, Write> {
+
+  private static final long serialVersionUID = -5263671231838353748L; // NOPMD
+
+  @Override
+  public Write apply(final Document document) {
+    return Write.newBuilder()
+        .setUpdate(document)
+        .build();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-beam/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc1-beam/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e9de96c0df34b1254a8ec9886586e163999c7c6e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-beam/src/main/resources/META-INF/application.properties
@@ -0,0 +1,20 @@
+application.name=theodolite-uc1-application
+application.version=0.0.1
+
+sink.type=logger
+source.type=kafka
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+kafka.output.topic=output
+
+schema.registry.url=http://localhost:8081
+
+num.threads=1
+commit.interval.ms=1000
+cache.max.bytes.buffering=-1
+
+specific.avro.reader=true
+enable.auto.commit=true
+max.poll.records=500
+auto.offset.reset=earliest
diff --git a/theodolite-benchmarks/uc1-commons/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-commons/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-commons/build.gradle b/theodolite-benchmarks/uc1-commons/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..7f742b99d8555f8be8f0ac4861ba257b1913afef
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/build.gradle
@@ -0,0 +1,20 @@
+plugins {
+    id 'theodolite.java-commons'
+}
+
+repositories {
+  mavenCentral()
+  maven {
+    url "https://oss.sonatype.org/content/repositories/snapshots/"
+  }
+  maven {
+    url 'https://packages.confluent.io/maven/'
+  }
+}
+
+dependencies {
+  implementation project(':commons')
+  implementation 'com.google.code.gson:gson:2.8.9'
+
+  testImplementation 'junit:junit:4.12'
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseAdapter.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..99e59a6e6fcbef8e49fe04d7ecaf9ed929e9b13e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseAdapter.java
@@ -0,0 +1,46 @@
+package rocks.theodolite.benchmarks.uc1.commons;
+
+import java.util.Objects;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * A database adapter consisting of a {@link RecordConverter} and a {@link DatabaseWriter}.
+ *
+ * @param <T> intermediate data type written to the database.
+ */
+public final class DatabaseAdapter<T> {
+
+  private final RecordConverter<T> recordConverter;
+
+  private final DatabaseWriter<T> databaseWriter;
+
+  private DatabaseAdapter(final RecordConverter<T> recordConverter,
+      final DatabaseWriter<T> databaseWriter) {
+    this.recordConverter = recordConverter;
+    this.databaseWriter = databaseWriter;
+  }
+
+  public RecordConverter<T> getRecordConverter() {
+    return this.recordConverter;
+  }
+
+  public DatabaseWriter<T> getDatabaseWriter() {
+    return this.databaseWriter;
+  }
+
+  /**
+   * Create a new {@link DatabaseAdapter}.
+   *
+   * @param <T> intermediate data type written to the database.
+   * @param recordConverter RecordConverter for converting {@link ActivePowerRecord}s to {@code T}
+   * @param databaseWriter DatabaseWriter for writing converted records to the database.
+   * @return the {@link DatabaseAdapter}.
+   */
+  public static <T> DatabaseAdapter<T> from(final RecordConverter<T> recordConverter,
+      final DatabaseWriter<T> databaseWriter) {
+    Objects.requireNonNull(recordConverter);
+    Objects.requireNonNull(databaseWriter);
+    return new DatabaseAdapter<>(recordConverter, databaseWriter);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseWriter.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseWriter.java
new file mode 100644
index 0000000000000000000000000000000000000000..1beb269e4b75252ac72f7c30c4a26f7a11de4fb6
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/DatabaseWriter.java
@@ -0,0 +1,13 @@
+package rocks.theodolite.benchmarks.uc1.commons;
+
+/**
+ * Writes an object to a database.
+ *
+ * @param <T> Type expected by the database.
+ */
+@FunctionalInterface
+public interface DatabaseWriter<T> {
+
+  void write(T record);
+
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/RecordConverter.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/RecordConverter.java
new file mode 100644
index 0000000000000000000000000000000000000000..a728e9d6b676a273c3847b89b2091e8928aba114
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/RecordConverter.java
@@ -0,0 +1,15 @@
+package rocks.theodolite.benchmarks.uc1.commons;
+
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Converts an {@link ActivePowerRecord} to the type required by a database.
+ *
+ * @param <T> Type required by the database.
+ */
+@FunctionalInterface
+public interface RecordConverter<T> {
+
+  T convert(ActivePowerRecord record);
+
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/JsonConverter.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/JsonConverter.java
new file mode 100644
index 0000000000000000000000000000000000000000..a59f02687c1c6a0455f43e5a34c421c85e6972cd
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/JsonConverter.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc1.commons.logger;
+
+import com.google.gson.Gson;
+import java.io.Serializable;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.RecordConverter;
+
+/**
+ * {@link RecordConverter} that converts {@link ActivePowerRecord}s to JSON strings.
+ */
+public class JsonConverter implements RecordConverter<String>, Serializable {
+
+  private static final long serialVersionUID = -5263671231838353748L; // NOPMD
+
+  private static final Gson GSON = new Gson();
+
+  @Override
+  public String convert(final ActivePowerRecord activePowerRecord) {
+    return GSON.toJson(activePowerRecord);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriter.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriter.java
new file mode 100644
index 0000000000000000000000000000000000000000..d606a6dffd01257b308bf2afebc3088b52793ccf
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriter.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc1.commons.logger;
+
+import java.io.Serializable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseWriter;
+
+/**
+ * Writes string records to a {@link Logger}.
+ */
+public class LogWriter implements DatabaseWriter<String>, Serializable {
+
+  private static final long serialVersionUID = -5263671231838353749L; // NOPMD
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(LogWriter.class);
+
+  @Override
+  public void write(final String string) {
+    LOGGER.info("Record: {}", string);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriterFactory.java b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..305ed933ba3e0d885de9c65aacc6ace8a0884621
--- /dev/null
+++ b/theodolite-benchmarks/uc1-commons/src/main/java/rocks/theodolite/benchmarks/uc1/commons/logger/LogWriterFactory.java
@@ -0,0 +1,18 @@
+package rocks.theodolite.benchmarks.uc1.commons.logger;
+
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+
+/**
+ * Provides factory methods for creating a dummy {@link DatabaseAdapter} writing records as logs
+ * using a SLF4J {@link Logger}.
+ */
+public final class LogWriterFactory {
+
+  private LogWriterFactory() {}
+
+  public static DatabaseAdapter<String> forJson() {
+    return DatabaseAdapter.from(new JsonConverter(), new LogWriter());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-flink/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc1-flink/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc1-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc1-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-flink/Dockerfile b/theodolite-benchmarks/uc1-flink/Dockerfile
index 795b9e343a03cf0209e1625f5cbc3d45dcb77cda..fdaecd661e86275d670423351664e54221ce33cc 100644
--- a/theodolite-benchmarks/uc1-flink/Dockerfile
+++ b/theodolite-benchmarks/uc1-flink/Dockerfile
@@ -1,3 +1,3 @@
-FROM flink:1.12-scala_2.12-java11
+FROM flink:1.13-java11
 
 ADD build/libs/uc1-flink-all.jar /opt/flink/usrlib/artifacts/uc1-flink-all.jar
diff --git a/theodolite-benchmarks/uc1-flink/build.gradle b/theodolite-benchmarks/uc1-flink/build.gradle
index 8a2a359c4840e67581f7bc24f1544ff519f82525..4eb96987e7974259f693d37d2f063243a3d0bb6d 100644
--- a/theodolite-benchmarks/uc1-flink/build.gradle
+++ b/theodolite-benchmarks/uc1-flink/build.gradle
@@ -2,4 +2,8 @@ plugins {
   id 'theodolite.flink'
 }
 
-mainClassName = "theodolite.uc1.application.HistoryServiceFlinkJob"
+dependencies {
+    implementation project(':uc1-commons')
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc1.flink.HistoryServiceFlinkJob"
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/ConfigurationKeys.java b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConfigurationKeys.java
similarity index 93%
rename from theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/ConfigurationKeys.java
rename to theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConfigurationKeys.java
index 382525cfe75f82dbbe8fbcc85308b0e7788a43bc..d2235e0693abe8f5f45899eb03bfbefec51526d5 100644
--- a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/ConfigurationKeys.java
+++ b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.uc1.application;
+package rocks.theodolite.benchmarks.uc1.flink;
 
 /**
  * Keys to access configuration parameters.
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConverterAdapter.java b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConverterAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..8380cdc09caa35814f3203bdf6dc1746875fdf9b
--- /dev/null
+++ b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/ConverterAdapter.java
@@ -0,0 +1,27 @@
+package rocks.theodolite.benchmarks.uc1.flink;
+
+import org.apache.flink.api.common.functions.MapFunction;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.RecordConverter;
+
+/**
+ * {@link MapFunction} which wraps a {@link RecordConverter} to be used with Flink.
+ *
+ * @param <T> type the {@link RecordConverter} is associated with.
+ */
+public class ConverterAdapter<T> implements MapFunction<ActivePowerRecord, T> {
+
+  private static final long serialVersionUID = -5263671231838353747L; // NOPMD
+
+  private final RecordConverter<T> recordConverter;
+
+  public ConverterAdapter(final RecordConverter<T> recordConverter) {
+    this.recordConverter = recordConverter;
+  }
+
+  @Override
+  public T map(final ActivePowerRecord record) throws Exception {
+    return this.recordConverter.convert(record);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/HistoryServiceFlinkJob.java b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/HistoryServiceFlinkJob.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d3412c7f7a318b471902f9f2f38e714bf1034ec
--- /dev/null
+++ b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/HistoryServiceFlinkJob.java
@@ -0,0 +1,57 @@
+package rocks.theodolite.benchmarks.uc1.flink;
+
+import org.apache.flink.api.common.typeinfo.Types;
+import org.apache.flink.streaming.api.datastream.DataStream;
+import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
+import rocks.theodolite.benchmarks.commons.flink.AbstractFlinkService;
+import rocks.theodolite.benchmarks.commons.flink.KafkaConnectorFactory;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.logger.LogWriterFactory;
+
+/**
+ * The History microservice implemented as a Flink job.
+ */
+public final class HistoryServiceFlinkJob extends AbstractFlinkService {
+
+  private final DatabaseAdapter<String> databaseAdapter = LogWriterFactory.forJson();
+
+  @Override
+  public void configureEnv() {
+    super.configureCheckpointing();
+    super.configureParallelism();
+  }
+
+  @Override
+  protected void configureSerializers() {
+    // No serializers needed here
+  }
+
+
+  @Override
+  protected void buildPipeline() {
+    final String kafkaBroker = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
+    final String schemaRegistryUrl = this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL);
+    final String inputTopic = this.config.getString(ConfigurationKeys.KAFKA_INPUT_TOPIC);
+    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
+
+    final KafkaConnectorFactory kafkaConnector = new KafkaConnectorFactory(
+        this.applicationId, kafkaBroker, checkpointing, schemaRegistryUrl);
+
+    final FlinkKafkaConsumer<ActivePowerRecord> kafkaConsumer =
+        kafkaConnector.createConsumer(inputTopic, ActivePowerRecord.class);
+
+    final DataStream<ActivePowerRecord> stream = this.env.addSource(kafkaConsumer);
+
+    stream
+        // .rebalance()
+        .map(new ConverterAdapter<>(this.databaseAdapter.getRecordConverter()))
+        .returns(Types.STRING)
+        .flatMap(new WriterAdapter<>(this.databaseAdapter.getDatabaseWriter()))
+        .returns(Types.VOID); // Will never be used
+  }
+
+  public static void main(final String[] args) {
+    new HistoryServiceFlinkJob().run();
+  }
+}
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/WriterAdapter.java b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/WriterAdapter.java
new file mode 100644
index 0000000000000000000000000000000000000000..4ead8d8c63c10b8057832e72c93c34b583eda838
--- /dev/null
+++ b/theodolite-benchmarks/uc1-flink/src/main/java/rocks/theodolite/benchmarks/uc1/flink/WriterAdapter.java
@@ -0,0 +1,28 @@
+package rocks.theodolite.benchmarks.uc1.flink;
+
+import org.apache.flink.api.common.functions.FlatMapFunction;
+import org.apache.flink.util.Collector;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseWriter;
+
+/**
+ * {@link FlatMapFunction} which wraps a {@link DatabaseAdapter} to be used with Flink.
+ *
+ * @param <T> type the {@link DatabaseWriter} is associated with.
+ */
+public class WriterAdapter<T> implements FlatMapFunction<T, Void> {
+
+  private static final long serialVersionUID = -5263671231838353747L; // NOPMD
+
+  private final DatabaseWriter<T> databaseWriter;
+
+  public WriterAdapter(final DatabaseWriter<T> databaseWriter) {
+    this.databaseWriter = databaseWriter;
+  }
+
+  @Override
+  public void flatMap(final T value, final Collector<Void> out) throws Exception {
+    this.databaseWriter.write(value);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/GsonMapper.java b/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/GsonMapper.java
deleted file mode 100644
index 831db7fe63be6529e6b7ba299dca92b138ff7d13..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/GsonMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package theodolite.uc1.application;
-
-import com.google.gson.Gson;
-import org.apache.flink.api.common.functions.MapFunction;
-import titan.ccp.model.records.ActivePowerRecord;
-
-/**
- * {@link MapFunction} which maps {@link ActivePowerRecord}s to their representation as JSON
- * strings.
- */
-public class GsonMapper implements MapFunction<ActivePowerRecord, String> {
-
-  private static final long serialVersionUID = -5263671231838353747L; // NOPMD
-
-  private static final Gson GSON = new Gson();
-
-  @Override
-  public String map(final ActivePowerRecord value) throws Exception {
-    return GSON.toJson(value);
-  }
-
-}
diff --git a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/HistoryServiceFlinkJob.java b/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/HistoryServiceFlinkJob.java
deleted file mode 100644
index 0cb132e526486e71409736b843dd25bdfa52da4a..0000000000000000000000000000000000000000
--- a/theodolite-benchmarks/uc1-flink/src/main/java/theodolite/uc1/application/HistoryServiceFlinkJob.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package theodolite.uc1.application;
-
-import org.apache.commons.configuration2.Configuration;
-import org.apache.flink.api.common.typeinfo.Types;
-import org.apache.flink.streaming.api.datastream.DataStream;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import theodolite.commons.flink.KafkaConnectorFactory;
-import titan.ccp.common.configuration.ServiceConfigurations;
-import titan.ccp.model.records.ActivePowerRecord;
-
-/**
- * The History microservice implemented as a Flink job.
- */
-public final class HistoryServiceFlinkJob {
-
-  private static final Logger LOGGER = LoggerFactory.getLogger(HistoryServiceFlinkJob.class);
-
-  private final Configuration config = ServiceConfigurations.createWithDefaults();
-  private final StreamExecutionEnvironment env;
-  private final String applicationId;
-
-  /**
-   * Create a new instance of the {@link HistoryServiceFlinkJob}.
-   */
-  public HistoryServiceFlinkJob() {
-    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
-    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
-    this.applicationId = applicationName + "-" + applicationVersion;
-
-    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
-
-    this.configureEnv();
-
-    this.buildPipeline();
-  }
-
-  private void configureEnv() {
-    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
-    final int commitIntervalMs = this.config.getInt(ConfigurationKeys.COMMIT_INTERVAL_MS);
-    if (checkpointing) {
-      this.env.enableCheckpointing(commitIntervalMs);
-    }
-
-    // Parallelism
-    final Integer parallelism = this.config.getInteger(ConfigurationKeys.PARALLELISM, null);
-    if (parallelism != null) {
-      LOGGER.info("Set parallelism: {}.", parallelism);
-      this.env.setParallelism(parallelism);
-    }
-
-  }
-
-  private void buildPipeline() {
-    final String kafkaBroker = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
-    final String schemaRegistryUrl = this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL);
-    final String inputTopic = this.config.getString(ConfigurationKeys.KAFKA_INPUT_TOPIC);
-    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
-
-    final KafkaConnectorFactory kafkaConnector = new KafkaConnectorFactory(
-        this.applicationId, kafkaBroker, checkpointing, schemaRegistryUrl);
-
-    final FlinkKafkaConsumer<ActivePowerRecord> kafkaConsumer =
-        kafkaConnector.createConsumer(inputTopic, ActivePowerRecord.class);
-
-    final DataStream<ActivePowerRecord> stream = this.env.addSource(kafkaConsumer);
-
-    stream
-        // .rebalance()
-        .map(new GsonMapper())
-        .flatMap((record, c) -> LOGGER.info("Record: {}", record))
-        .returns(Types.GENERIC(Object.class)); // Will never be used
-  }
-
-  /**
-   * Start running this microservice.
-   */
-  public void run() {
-    try {
-      this.env.execute(this.applicationId);
-    } catch (final Exception e) { // NOPMD Execution thrown by Flink
-      LOGGER.error("An error occured while running this job.", e);
-    }
-  }
-
-  public static void main(final String[] args) {
-    new HistoryServiceFlinkJob().run();
-  }
-}
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/Dockerfile b/theodolite-benchmarks/uc1-hazelcastjet/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..7a0fcf7c5f61bed97c9a1e6d455164c64930c4fe
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/Dockerfile
@@ -0,0 +1,7 @@
+FROM openjdk:11-slim
+
+ADD build/distributions/uc1-hazelcastjet.tar /
+
+
+CMD  JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=$LOG_LEVEL" \
+     /uc1-hazelcastjet/bin/uc1-hazelcastjet
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/build.gradle b/theodolite-benchmarks/uc1-hazelcastjet/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..cac5ad9f6f12b62389236decbe75fbec01050071
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/build.gradle
@@ -0,0 +1,9 @@
+plugins {
+  id 'theodolite.hazelcastjet'
+}
+
+dependencies {
+    implementation project(':uc1-commons')
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc1.hazelcastjet.HistoryService"
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/HistoryService.java b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/HistoryService.java
new file mode 100644
index 0000000000000000000000000000000000000000..83848261318b2e90d19f28d9ab53fdc2cf678279
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/HistoryService.java
@@ -0,0 +1,64 @@
+package rocks.theodolite.benchmarks.uc1.hazelcastjet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A microservice that manages the history and, therefore, stores and aggregates incoming
+ * measurements.
+ */
+public class HistoryService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HistoryService.class);
+
+  // Hazelcast settings (default)
+  private static final String HZ_KUBERNETES_SERVICE_DNS_KEY = "service-dns";
+  private static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
+
+  // Kafka settings (default)
+  private static final String KAFKA_BOOTSTRAP_DEFAULT = "localhost:9092";
+  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+  private static final String KAFKA_TOPIC_DEFAULT = "input";
+
+  // Job name (default)
+  private static final String JOB_NAME = "uc1-hazelcastjet";
+
+
+  /**
+   * Entrypoint for UC1 using Gradle Run.
+   */
+  public static void main(final String[] args) {
+    final HistoryService uc1HistoryService = new HistoryService();
+    try {
+      uc1HistoryService.run();
+    } catch (final Exception e) { // NOPMD
+      LOGGER.error("ABORT MISSION!: {}", e);
+    }
+  }
+
+  /**
+   * Start a UC1 service.
+   *
+   * @throws Exception This Exception occurs if the Uc1HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  public void run() throws Exception { // NOPMD
+    this.createHazelcastJetApplication();
+  }
+
+  /**
+   * Creates a Hazelcast Jet Application for UC1 using the Uc1HazelcastJetFactory.
+   *
+   * @throws Exception This Exception occurs if the Uc1HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  private void createHazelcastJetApplication() throws Exception { // NOPMD
+    new Uc1HazelcastJetFactory()
+        .setPropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT,JOB_NAME)
+        .setKafkaInputTopicFromEnv(KAFKA_TOPIC_DEFAULT)
+        .buildUc1Pipeline()
+        .buildUc1JetInstanceFromEnv(LOGGER, BOOTSTRAP_SERVER_DEFAULT, HZ_KUBERNETES_SERVICE_DNS_KEY)
+        .runUc1Job(JOB_NAME);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1HazelcastJetFactory.java b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1HazelcastJetFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..93aaa1a7e844634bb4fdf283d5b9f41a0d6c0b7f
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1HazelcastJetFactory.java
@@ -0,0 +1,178 @@
+package rocks.theodolite.benchmarks.uc1.hazelcastjet;
+
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.pipeline.Pipeline;
+import io.confluent.kafka.serializers.KafkaAvroDeserializer;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.JetInstanceBuilder;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.KafkaPropertiesBuilder;
+
+/**
+ * A Hazelcast Jet factory which can build a Hazelcast Jet Instance and Pipeline for the UC1
+ * benchmark and lets you start the Hazelcast Jet job. The JetInstance can be built directly as the
+ * Hazelcast Config is managed internally. In order to build the Pipeline, you first have to build
+ * the Properties and set the input topic which can be done using internal functions of this
+ * factory. Outside data only refers to custom values or default values in case data of the
+ * environment cannot the fetched.
+ */
+public class Uc1HazelcastJetFactory {
+
+  // Information per History Service
+  private Properties kafkaPropertiesForPipeline;
+  private String kafkaInputTopic;
+  private JetInstance uc1JetInstance;
+  private Pipeline uc1JetPipeline;
+
+  /////////////////////////////////////
+  // Layer 1 - Hazelcast Jet Run Job //
+  /////////////////////////////////////
+
+  /**
+   * Needs a JetInstance and Pipeline defined in this factors. Adds the pipeline to the existing
+   * JetInstance as a job.
+   *
+   * @param jobName The name of the job.
+   */
+  public void runUc1Job(final String jobName) {
+
+    // Check if a Jet Instance for UC1 is set.
+    if (this.uc1JetInstance == null) {
+      throw new IllegalStateException("Jet Instance is not set! "
+          + "Cannot start a hazelcast jet job for UC1.");
+    }
+
+    // Check if a Pipeline for UC1 is set.
+    if (this.uc1JetPipeline == null) {
+      throw new IllegalStateException(
+          "Hazelcast Pipeline is not set! Cannot start a hazelcast jet job for UC1.");
+    }
+
+    // Adds the job name and joins a job to the JetInstance defined in this factory
+    final JobConfig jobConfig = new JobConfig();
+    jobConfig.setName(jobName);
+    this.uc1JetInstance.newJobIfAbsent(this.uc1JetPipeline, jobConfig).join();
+  }
+
+  /////////////
+  // Layer 2 //
+  /////////////
+
+  /**
+   * Build a Hazelcast JetInstance used to run a job on.
+   *
+   * @param logger The logger specified for this JetInstance.
+   * @param bootstrapServerDefault Default bootstrap server in case no value can be derived from the
+   *        environment.
+   * @param hzKubernetesServiceDnsKey The kubernetes service dns key.
+   * @return A Uc1HazelcastJetFactory containing a set JetInstance.
+   */
+  public Uc1HazelcastJetFactory buildUc1JetInstanceFromEnv(final Logger logger,
+      final String bootstrapServerDefault,
+      final String hzKubernetesServiceDnsKey) {
+    this.uc1JetInstance = new JetInstanceBuilder()
+        .setConfigFromEnv(logger, bootstrapServerDefault, hzKubernetesServiceDnsKey)
+        .build();
+    return this;
+  }
+
+  /**
+   * Builds a Hazelcast Jet pipeline used for a JetInstance to run it as a job on. Needs the input
+   * topic and kafka properties defined in this factory beforehand.
+   *
+   * @return A Uc1HazelcastJetFactory containg a set pipeline.
+   */
+  public Uc1HazelcastJetFactory buildUc1Pipeline() {
+
+    // Check if Properties for the Kafka Input are set.
+    if (this.kafkaPropertiesForPipeline == null) {
+      throw new IllegalStateException(
+          "Kafka Properties for pipeline not set! Cannot build pipeline.");
+    }
+
+    // Check if the Kafka input topic is set.
+    if (this.kafkaInputTopic == null) {
+      throw new IllegalStateException("Kafka input topic for pipeline not set! "
+          + "Cannot build pipeline.");
+    }
+
+    // Build Pipeline Using the pipelineBuilder
+    final Uc1PipelineBuilder pipeBuilder = new Uc1PipelineBuilder();
+    this.uc1JetPipeline =
+        pipeBuilder.build(this.kafkaPropertiesForPipeline, this.kafkaInputTopic);
+    // Return Uc1HazelcastJetBuilder factory
+    return this;
+  }
+
+  /////////////
+  // Layer 3 //
+  /////////////
+
+  /**
+   * Sets kafka properties for pipeline used in this builder.
+   *
+   * @param kafkaProperties A propeties object containing necessary values used for the hazelcst jet
+   *        kafka connection.
+   * @return The Uc1HazelcastJetBuilder factory with set kafkaPropertiesForPipeline.
+   */
+  public Uc1HazelcastJetFactory setCustomProperties(final Properties kafkaProperties) { // NOPMD
+    this.kafkaPropertiesForPipeline = kafkaProperties;
+    return this;
+  }
+
+  /**
+   * Sets kafka properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @param schemaRegistryUrlDefault Default schema registry url in the case that no schema registry
+   *        url can be fetched from the environment.
+   * @return The Uc1HazelcastJetBuilder factory with set kafkaPropertiesForPipeline.
+   */
+  public Uc1HazelcastJetFactory setPropertiesFromEnv(final String bootstrapServersDefault, // NOPMD
+      final String schemaRegistryUrlDefault,
+      final String jobName) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            jobName,
+            StringDeserializer.class.getCanonicalName(),
+            KafkaAvroDeserializer.class.getCanonicalName());
+    this.kafkaPropertiesForPipeline = kafkaProps;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder.
+   *
+   * @param inputTopic The kafka topic used as the pipeline input.
+   * @return A Uc1HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc1HazelcastJetFactory setCustomKafkaInputTopic(final String inputTopic) { // NOPMD
+    this.kafkaInputTopic = inputTopic;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultInputTopic The default kafka input topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc1HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc1HazelcastJetFactory setKafkaInputTopicFromEnv(final String defaultInputTopic) { // NOPMD
+    this.kafkaInputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+        defaultInputTopic);
+    return this;
+  }
+
+
+
+}
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1PipelineBuilder.java b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1PipelineBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..e6107682ef3aff91d45bcd7a65675b5a6323975e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc1/hazelcastjet/Uc1PipelineBuilder.java
@@ -0,0 +1,82 @@
+package rocks.theodolite.benchmarks.uc1.hazelcastjet;
+
+import com.hazelcast.jet.kafka.KafkaSources;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sink;
+import com.hazelcast.jet.pipeline.SinkBuilder;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import java.util.Map.Entry;
+import java.util.Properties;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseWriter;
+import rocks.theodolite.benchmarks.uc1.commons.logger.LogWriterFactory;
+
+
+/**
+ * Builder to build a HazelcastJet Pipeline for UC1 which can be used for stream processing using
+ * Hazelcast Jet.
+ */
+public class Uc1PipelineBuilder {
+
+  private final DatabaseAdapter<String> databaseAdapter = LogWriterFactory.forJson();
+
+  /**
+   * Builds a pipeline which can be used for stream processing using Hazelcast Jet.
+   *
+   * @param kafkaPropsForPipeline Properties object containing the necessary Kafka attributes.
+   * @param kafkaInputTopic The name of the input topic used for the pipeline.
+   * @return A Hazelcast Jet pipeline which processes data for Uc1.
+   */
+  public Pipeline build(final Properties kafkaPropsForPipeline, final String kafkaInputTopic) {
+
+    // Define a new pipeline
+    final Pipeline pipe = Pipeline.create();
+
+    // Define the Kafka Source
+    final StreamSource<Entry<String, ActivePowerRecord>> kafkaSource =
+        KafkaSources.<String, ActivePowerRecord>kafka(kafkaPropsForPipeline, kafkaInputTopic);
+
+    // Extend UC1 topology to the pipeline
+    final StreamStage<String> uc1TopologyProduct = this.extendUc1Topology(pipe, kafkaSource);
+
+    // Add Sink: Logger
+    // Do not refactor this to just use the call
+    // (There is a problem with static calls in functions in hazelcastjet)
+    final DatabaseWriter<String> writer = this.databaseAdapter.getDatabaseWriter();
+    final Sink<String> sink = SinkBuilder.sinkBuilder(
+        "Sink into database", x -> writer)
+        .<String>receiveFn(DatabaseWriter::write)
+        .build();
+
+    uc1TopologyProduct.writeTo(sink);
+
+    return pipe;
+  }
+
+  /**
+   * Extends to a blank Hazelcast Jet Pipeline the UC1 topology defines by Theodolite.
+   *
+   * <p>
+   * UC1 takes {@code Entry<String,ActivePowerRecord>} objects and turns them into JSON strings
+   * using GSON.
+   * </p>
+   *
+   * @param pipe The blank hazelcast jet pipeline to extend the logic to.
+   * @param source A streaming source to fetch data from.
+   * @return A {@code StreamStage<String>} with the above definition of the String. It can be used
+   *         to be further modified or directly be written into a sink.
+   */
+  public StreamStage<String> extendUc1Topology(final Pipeline pipe,
+      final StreamSource<Entry<String, ActivePowerRecord>> source) {
+
+    // Build the pipeline topology
+    return pipe.readFrom(source)
+        .withNativeTimestamps(0)
+        .setLocalParallelism(1)
+        .setName("Convert content")
+        .map(Entry::getValue)
+        .map(this.databaseAdapter.getRecordConverter()::convert);
+  }
+}
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc1-hazelcastjet/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e3371cc87e20e85e6e8c327955537e6e49dab86e
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/src/main/resources/META-INF/application.properties
@@ -0,0 +1,8 @@
+application.name=theodolite-uc1-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+
+schema.registry.url=http://localhost:8081
+
diff --git a/theodolite-benchmarks/uc1-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc1/hazelcast/Uc1PipelineTest.java b/theodolite-benchmarks/uc1-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc1/hazelcast/Uc1PipelineTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8ffde0487ab88c260655f51eac3d2701f31a7ab0
--- /dev/null
+++ b/theodolite-benchmarks/uc1-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc1/hazelcast/Uc1PipelineTest.java
@@ -0,0 +1,151 @@
+package rocks.theodolite.benchmarks.uc1.hazelcast;
+
+import static com.hazelcast.jet.pipeline.SinkBuilder.sinkBuilder;
+import static com.hazelcast.logging.Logger.getLogger;
+import com.hazelcast.jet.Jet;
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JetConfig;
+import com.hazelcast.jet.core.JetTestSupport;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sink;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.test.AssertionCompletedException;
+import com.hazelcast.jet.pipeline.test.Assertions;
+import com.hazelcast.jet.pipeline.test.TestSources;
+import com.hazelcast.jet.test.SerialTest;
+import com.hazelcast.logging.ILogger;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.concurrent.CompletionException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseWriter;
+import rocks.theodolite.benchmarks.uc1.commons.logger.LogWriterFactory;
+import rocks.theodolite.benchmarks.uc1.hazelcastjet.Uc1PipelineBuilder;
+
+/**
+ * Test methods for the Hazelcast Jet Implementation of UC1.
+ */
+@Category(SerialTest.class)
+public class Uc1PipelineTest extends JetTestSupport {
+
+  private JetInstance testInstance = null;
+  private Pipeline testPipeline = null;
+  private StreamStage<String> uc1Topology = null;
+
+  // Standart Logger
+  private static final Logger LOGGER = org.slf4j.LoggerFactory.getLogger(Uc1PipelineTest.class);
+  // HazelcastJet Logger
+  private static final ILogger logger = getLogger(Uc1PipelineTest.class);
+
+  private final DatabaseAdapter<String> databaseAdapter = LogWriterFactory.forJson();
+
+  /**
+   * Creates the JetInstance, defines a new Hazelcast Jet Pipeline and extends the UC1 topology.
+   * Allows for quick extension of tests.
+   */
+  @Before
+  public void buildUc1Pipeline() {
+
+    Uc1PipelineTest.logger.info("Hazelcast Logger");
+    LOGGER.info("Standard Logger");
+
+
+    // Setup Configuration
+    final int testItemsPerSecond = 1;
+    final String testSensorName = "TEST_SENSOR";
+    final Double testValueInW = 10.0;
+
+    // Create mock jet instance with configuration
+    final String testClusterName = randomName();
+    final JetConfig testJetConfig = new JetConfig();
+    // testJetConfig.setProperty( "hazelcast.logging.type", "slf4j" );
+    testJetConfig.getHazelcastConfig().setClusterName(testClusterName);
+    this.testInstance = this.createJetMember(testJetConfig);
+
+
+    // Create a test source
+    final StreamSource<Entry<String, ActivePowerRecord>> testSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+          final ActivePowerRecord testRecord =
+              new ActivePowerRecord(testSensorName, timestamp, testValueInW);
+          final Entry<String, ActivePowerRecord> testEntry =
+              Map.entry(testSensorName, testRecord);
+          return testEntry;
+        });
+
+    // Create pipeline to test
+    final Uc1PipelineBuilder pipelineBuilder = new Uc1PipelineBuilder();
+    this.testPipeline = Pipeline.create();
+    this.uc1Topology =
+        pipelineBuilder.extendUc1Topology(this.testPipeline, testSource);
+
+    // Create DatabaseWriter sink
+    final DatabaseWriter<String> adapter = this.databaseAdapter.getDatabaseWriter();
+    final Sink<String> sink = sinkBuilder(
+        "database-sink", x -> adapter)
+            .<String>receiveFn(DatabaseWriter::write)
+            .build();
+
+    // Map Stage, can be used instead of sink
+    // StreamStage<String> log = uc1Topology.map(s -> {
+    // LOGGER.info(s);
+    // return s;
+    // });
+    // log.writeTo(sink);
+
+    // apply sink
+    this.uc1Topology.writeTo(sink);
+  }
+
+  /**
+   * UC1 Pipeline test to check if items are passed through at an acceptable rate.
+   */
+  @Test
+  public void test1Uc1PipelineElements() {
+
+    // Assertion Configuration
+    final int assertTimeoutSeconds = 6;
+    final int assertCollectedItems = 5;
+
+    LOGGER.info("Pipeline build successfully, starting test");
+
+    // Assertion
+    this.uc1Topology.apply(Assertions.assertCollectedEventually(assertTimeoutSeconds,
+        collection -> {
+          // print the newest Record
+          // LOGGER.info(collection.get(collection.size()-1));
+
+          // Run pipeline until 5th item
+          Assert.assertTrue("Not enough data arrived in the end",
+              collection.size() >= assertCollectedItems);
+        }));
+
+    // Test the UC1 Pipeline Recreation
+    try {
+      this.testInstance.newJob(this.testPipeline).join();
+      Assert.fail("Job should have completed with an AssertionCompletedException, "
+          + "but completed normally");
+    } catch (final CompletionException e) {
+      final String errorMsg = e.getCause().getMessage();
+      Assert.assertTrue(
+          "Job was expected to complete with AssertionCompletedException, but completed with: "
+              + e.getCause(),
+          errorMsg.contains(AssertionCompletedException.class.getName()));
+    }
+  }
+
+  @After
+  public void after() {
+    // Shuts down all running Jet Instances
+    Jet.shutdownAll();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc1-kstreams/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-kstreams/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc1-kstreams/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc1-kstreams/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc1-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-kstreams/build.gradle b/theodolite-benchmarks/uc1-kstreams/build.gradle
index 74cfb450ec80759f60582c25ab844e3398d5bf02..15fd13dcde355974eb77dea61e32891592d27ac2 100644
--- a/theodolite-benchmarks/uc1-kstreams/build.gradle
+++ b/theodolite-benchmarks/uc1-kstreams/build.gradle
@@ -2,4 +2,8 @@ plugins {
   id 'theodolite.kstreams'
 }
 
-mainClassName = "theodolite.uc1.application.HistoryService"
+dependencies {
+    implementation project(':uc1-commons')
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc1.kstreams.HistoryService"
diff --git a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/application/HistoryService.java b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/HistoryService.java
similarity index 86%
rename from theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/application/HistoryService.java
rename to theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/HistoryService.java
index f0d8062a2442181507c0bef990b73e0e9cf4a372..dd792ac8a814514338d6fb27b4f67f4b6f033105 100644
--- a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/application/HistoryService.java
+++ b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/HistoryService.java
@@ -1,10 +1,9 @@
-package theodolite.uc1.application;
+package rocks.theodolite.benchmarks.uc1.kstreams;
 
 import java.util.concurrent.CompletableFuture;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.KafkaStreams;
-import theodolite.uc1.streamprocessing.Uc1KafkaStreamsBuilder;
-import titan.ccp.common.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.commons.configuration.ServiceConfigurations;
 
 /**
  * A microservice that manages the history and, therefore, stores and aggregates incoming
diff --git a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/TopologyBuilder.java b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/TopologyBuilder.java
similarity index 65%
rename from theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/TopologyBuilder.java
rename to theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/TopologyBuilder.java
index 427a838f45f6807ede00dcb68ebf8c5580f28ce6..efbf774066773cd6a17d830cf07b629231fe06ef 100644
--- a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/TopologyBuilder.java
+++ b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/TopologyBuilder.java
@@ -1,27 +1,25 @@
-package theodolite.uc1.streamprocessing;
+package rocks.theodolite.benchmarks.uc1.kstreams;
 
-import com.google.gson.Gson;
 import java.util.Properties;
 import org.apache.kafka.common.serialization.Serdes;
 import org.apache.kafka.streams.StreamsBuilder;
 import org.apache.kafka.streams.Topology;
 import org.apache.kafka.streams.kstream.Consumed;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc1.commons.DatabaseAdapter;
+import rocks.theodolite.benchmarks.uc1.commons.logger.LogWriterFactory;
 
 /**
  * Builds Kafka Stream Topology for the History microservice.
  */
 public class TopologyBuilder {
 
-  private static final Logger LOGGER = LoggerFactory.getLogger(TopologyBuilder.class);
-  private static final Gson GSON = new Gson();
-
   private final String inputTopic;
   private final SchemaRegistryAvroSerdeFactory srAvroSerdeFactory;
 
+  private final DatabaseAdapter<String> databaseAdapter = LogWriterFactory.forJson();
+
   private final StreamsBuilder builder = new StreamsBuilder();
 
 
@@ -42,8 +40,8 @@ public class TopologyBuilder {
         .stream(this.inputTopic, Consumed.with(
             Serdes.String(),
             this.srAvroSerdeFactory.<ActivePowerRecord>forValues()))
-        .mapValues(v -> GSON.toJson(v))
-        .foreach((k, record) -> LOGGER.info("Record: {}", record));
+        .mapValues(this.databaseAdapter.getRecordConverter()::convert)
+        .foreach((k, record) -> this.databaseAdapter.getDatabaseWriter().write(record));
 
     return this.builder.build(properties);
   }
diff --git a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/Uc1KafkaStreamsBuilder.java b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/Uc1KafkaStreamsBuilder.java
similarity index 75%
rename from theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/Uc1KafkaStreamsBuilder.java
rename to theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/Uc1KafkaStreamsBuilder.java
index cc39bb04623c06a4d41cb2c695804ed41818a67c..05d6a5845a9eb79998d7c4fc1940357559d0936d 100644
--- a/theodolite-benchmarks/uc1-kstreams/src/main/java/theodolite/uc1/streamprocessing/Uc1KafkaStreamsBuilder.java
+++ b/theodolite-benchmarks/uc1-kstreams/src/main/java/rocks/theodolite/benchmarks/uc1/kstreams/Uc1KafkaStreamsBuilder.java
@@ -1,11 +1,11 @@
-package theodolite.uc1.streamprocessing;
+package rocks.theodolite.benchmarks.uc1.kstreams;
 
 import java.util.Objects;
 import java.util.Properties;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.Topology;
-import theodolite.commons.kafkastreams.KafkaStreamsBuilder;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.KafkaStreamsBuilder;
 
 /**
  * Builder for the Kafka Streams configuration.
diff --git a/theodolite-benchmarks/uc1-load-generator/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc1-load-generator/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc1-load-generator/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc1-load-generator/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc1-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc1-load-generator/build.gradle b/theodolite-benchmarks/uc1-load-generator/build.gradle
index aadd4796d86dd46ca6094b00479f9f8483fc7e15..e4791c176c74ddc32b9d72057edfd8c65f291851 100644
--- a/theodolite-benchmarks/uc1-load-generator/build.gradle
+++ b/theodolite-benchmarks/uc1-load-generator/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.load-generator'
 }
 
-mainClassName = "theodolite.uc1.workloadgenerator.LoadGenerator"
+mainClassName = "rocks.theodolite.benchmarks.uc1.loadgenerator.LoadGenerator"
diff --git a/theodolite-benchmarks/uc1-load-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java b/theodolite-benchmarks/uc1-load-generator/src/main/java/rocks/theodolite/benchmarks/uc1/loadgenerator/LoadGenerator.java
similarity index 78%
rename from theodolite-benchmarks/uc1-load-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java
rename to theodolite-benchmarks/uc1-load-generator/src/main/java/rocks/theodolite/benchmarks/uc1/loadgenerator/LoadGenerator.java
index 26741eb33b2a8d1c23a40938d1261254ac37b636..8817ac90839ab4263c4cde380409ebc89a016de5 100644
--- a/theodolite-benchmarks/uc1-load-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java
+++ b/theodolite-benchmarks/uc1-load-generator/src/main/java/rocks/theodolite/benchmarks/uc1/loadgenerator/LoadGenerator.java
@@ -1,4 +1,4 @@
-package theodolite.uc1.workloadgenerator;
+package rocks.theodolite.benchmarks.uc1.loadgenerator;
 
 import java.io.IOException;
 import org.slf4j.Logger;
@@ -18,6 +18,6 @@ public final class LoadGenerator {
    */
   public static void main(final String[] args) throws InterruptedException, IOException {
     LOGGER.info("Start workload generator for use case UC1.");
-    theodolite.commons.workloadgeneration.LoadGenerator.fromEnvironment().run();
+    rocks.theodolite.benchmarks.loadgenerator.LoadGenerator.fromEnvironment().run();
   }
 }
diff --git a/theodolite-benchmarks/uc2-beam-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-beam-flink/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-beam-flink/Dockerfile b/theodolite-benchmarks/uc2-beam-flink/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b2ad8ff9036eef0f0cd0efad23d4f92abef7cc42
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/Dockerfile
@@ -0,0 +1,4 @@
+FROM flink:1.13-java11
+
+ADD build/distributions/uc2-beam-flink.tar /opt/flink/usrlib/artifacts/uc2-beam-flink.tar
+
diff --git a/theodolite-benchmarks/uc2-beam-flink/build.gradle b/theodolite-benchmarks/uc2-beam-flink/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..095d166fc2dc17957c263cc36255831afb45887d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.flink'
+}
+
+dependencies {
+  implementation project(':uc2-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc2-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc2.beam.flink.Uc2BeamFlink"
diff --git a/theodolite-benchmarks/uc2-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc2/beam/flink/Uc2BeamFlink.java b/theodolite-benchmarks/uc2-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc2/beam/flink/Uc2BeamFlink.java
new file mode 100644
index 0000000000000000000000000000000000000000..2772d76fa26f504827ab74acb8fccc45f117365c
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc2/beam/flink/Uc2BeamFlink.java
@@ -0,0 +1,21 @@
+package rocks.theodolite.benchmarks.uc2.beam.flink;
+
+import org.apache.beam.runners.flink.FlinkRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc2.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Downsampling using Apache Beam with the Flink Runner. To execute
+ * locally in standalone start Kafka, Zookeeper, the schema-registry and the workload generator
+ * using the delayed_startup.sh script. Start a Flink cluster and pass its REST adress
+ * using--flinkMaster as run parameter.
+ */
+public final class Uc2BeamFlink {
+
+  private Uc2BeamFlink() {}
+
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), FlinkRunner.class, args).runStandalone();
+  }
+}
+
diff --git a/theodolite-benchmarks/uc2-beam-samza/.gitignore b/theodolite-benchmarks/uc2-beam-samza/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7bf05dd280fcc888467656ce1fbdeb65322c7ba8
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/.gitignore
@@ -0,0 +1 @@
+state
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc2-beam-samza/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-beam-samza/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-beam-samza/Dockerfile b/theodolite-benchmarks/uc2-beam-samza/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..ae762791c40fc6981ce7e5fd08bea860ed9208ec
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/Dockerfile
@@ -0,0 +1,8 @@
+FROM openjdk:11-slim
+
+ENV MAX_SOURCE_PARALLELISM=1024
+
+ADD build/distributions/uc2-beam-samza.tar /
+ADD samza-standalone.properties /
+
+CMD /uc2-beam-samza/bin/uc2-beam-samza --configFilePath=samza-standalone.properties --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=$MAX_SOURCE_PARALLELISM --enableMetrics=false --configOverride="{\"job.coordinator.zk.connect\":\"$SAMZA_JOB_COORDINATOR_ZK_CONNECT\"}"
diff --git a/theodolite-benchmarks/uc2-beam-samza/build.gradle b/theodolite-benchmarks/uc2-beam-samza/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..c8148e3bb59f59fb06638d33c40a21750323f757
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.samza'
+}
+
+dependencies {
+  implementation project(':uc2-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc2-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc2.beam.samza.Uc2BeamSamza"
diff --git a/theodolite-benchmarks/uc2-beam-samza/samza-standalone.properties b/theodolite-benchmarks/uc2-beam-samza/samza-standalone.properties
new file mode 100644
index 0000000000000000000000000000000000000000..02411017e86e274f6057688a7c351567603c0f80
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/samza-standalone.properties
@@ -0,0 +1,17 @@
+# Set EnvironmentRewriter
+job.config.rewriters=env-config
+job.config.rewriter.env-config.class=org.apache.samza.config.EnvironmentConfigRewriter
+
+# Configure ZooKeeper for coordination
+job.coordinator.factory=org.apache.samza.zk.ZkJobCoordinatorFactory
+job.coordinator.zk.connect=localhost:2181
+
+# Use GroupByContainerIds
+task.name.grouper.factory=org.apache.samza.container.grouper.task.GroupByContainerIdsFactory
+
+# Configure Kafka as "system"
+job.default.system=kafka
+systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory
+systems.kafka.consumer.bootstrap.servers=localhost:9092
+systems.kafka.producer.bootstrap.servers=localhost:9092
+systems.kafka.default.stream.replication.factor=1
diff --git a/theodolite-benchmarks/uc2-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc2/beam/samza/Uc2BeamSamza.java b/theodolite-benchmarks/uc2-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc2/beam/samza/Uc2BeamSamza.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b3f4ac8a2d052f0d34051e6b17b62100feb129d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc2/beam/samza/Uc2BeamSamza.java
@@ -0,0 +1,26 @@
+package rocks.theodolite.benchmarks.uc2.beam.samza;
+
+import org.apache.beam.runners.samza.SamzaRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc2.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Downsampling using Apache Beam with the Samza Runner. To run
+ * locally in standalone start Kafka, Zookeeper, the schema-registry and the workload generator
+ * using the delayed_startup.sh script. Add
+ * --configFactory=org.apache.samza.config.factories.PropertiesConfigFactory
+ * --configFilePath=${workspace_loc:uc3-application-samza}/config/standalone_local.properties
+ * --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=1024 --as program arguments. To
+ * persist logs add ${workspace_loc:/uc3-application-samza/eclipseConsoleLogs.log} as Output File
+ * under Standard Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc2BeamSamza {
+
+  private Uc2BeamSamza() {}
+
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), SamzaRunner.class, args).runStandalone();
+  }
+
+}
+
diff --git a/theodolite-benchmarks/uc2-beam/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-beam/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-beam/build.gradle b/theodolite-benchmarks/uc2-beam/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..502e94fa737fb2ae1bab861407b27575cd8766ca
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/build.gradle
@@ -0,0 +1,5 @@
+plugins {
+  id 'theodolite.beam'
+}
+
+
diff --git a/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/PipelineFactory.java b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/PipelineFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..decbcae1c4b524f9f39295ecd49275a3c1b09951
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/PipelineFactory.java
@@ -0,0 +1,87 @@
+package rocks.theodolite.benchmarks.uc2.beam;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import java.util.function.Function;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.CoderRegistry;
+import org.apache.beam.sdk.coders.KvCoder;
+import org.apache.beam.sdk.coders.SerializableCoder;
+import org.apache.beam.sdk.coders.StringUtf8Coder;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.beam.sdk.transforms.Combine;
+import org.apache.beam.sdk.transforms.MapElements;
+import org.apache.beam.sdk.transforms.windowing.FixedWindows;
+import org.apache.beam.sdk.transforms.windowing.Window;
+import org.apache.beam.sdk.values.KV;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.joda.time.Duration;
+import rocks.theodolite.benchmarks.commons.beam.AbstractPipelineFactory;
+import rocks.theodolite.benchmarks.commons.beam.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaActivePowerTimestampReader;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaWriterTransformation;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * {@link AbstractPipelineFactory} for UC2.
+ */
+public class PipelineFactory extends AbstractPipelineFactory {
+
+  public PipelineFactory(final Configuration configuration) {
+    super(configuration);
+  }
+
+  @Override
+  protected void expandOptions(final PipelineOptions options) {
+    // No options to set
+  }
+
+  @Override
+  protected void constructPipeline(final Pipeline pipeline) {
+    final String outputTopic = this.config.getString(ConfigurationKeys.KAFKA_OUTPUT_TOPIC);
+
+    final Duration duration = Duration.standardMinutes(
+        this.config.getInt(ConfigurationKeys.KAFKA_WINDOW_DURATION_MINUTES));
+
+    final KafkaActivePowerTimestampReader kafkaReader = super.buildKafkaReader();
+
+    // Transform into String
+    final StatsToString statsToString = new StatsToString();
+
+    // Write to Kafka
+    final String bootstrapServer = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
+    final KafkaWriterTransformation<String> kafkaWriter =
+        new KafkaWriterTransformation<>(bootstrapServer, outputTopic, StringSerializer.class);
+
+    // Apply pipeline transformations
+    pipeline.apply(kafkaReader)
+        // Apply a fixed window
+        .apply(Window.<KV<String, ActivePowerRecord>>into(FixedWindows.of(duration)))
+        // Aggregate per window for every key
+        .apply(Combine.<String, ActivePowerRecord, Stats>perKey(new StatsAggregation()))
+        .setCoder(KvCoder.of(StringUtf8Coder.of(), SerializableCoder.of(Stats.class)))
+        // Map into correct output format
+        .apply(MapElements.via(statsToString))
+        // Write to Kafka
+        .apply(kafkaWriter);
+  }
+
+  @Override
+  protected void registerCoders(final CoderRegistry registry) {
+    registry.registerCoderForClass(
+        ActivePowerRecord.class,
+        // AvroCoder.of(ActivePowerRecord.SCHEMA$));
+        AvroCoder.of(ActivePowerRecord.class, false));
+    registry.registerCoderForClass(StatsAggregation.class,
+        SerializableCoder.of(StatsAggregation.class));
+    registry.registerCoderForClass(StatsAccumulator.class,
+        AvroCoder.of(StatsAccumulator.class));
+  }
+
+  public static Function<Configuration, AbstractPipelineFactory> factory() {
+    return config -> new PipelineFactory(config);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsAggregation.java b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsAggregation.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf320bf18b37f25b787c1baea1109892f2aa83fa
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsAggregation.java
@@ -0,0 +1,45 @@
+package rocks.theodolite.benchmarks.uc2.beam;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import java.io.Serializable;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.DefaultCoder;
+import org.apache.beam.sdk.transforms.Combine.CombineFn;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Aggregation Class for ActivePowerRecords. Creates a StatsAccumulator based on the ValueInW.
+ */
+
+@DefaultCoder(AvroCoder.class)
+public class StatsAggregation extends CombineFn<ActivePowerRecord, StatsAccumulator, Stats>
+    implements Serializable {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  public StatsAccumulator createAccumulator() {
+    return new StatsAccumulator();
+  }
+
+  @Override
+  public StatsAccumulator addInput(final StatsAccumulator accum, final ActivePowerRecord input) {
+    accum.add(input.getValueInW());
+    return accum;
+  }
+
+  @Override
+  public StatsAccumulator mergeAccumulators(final Iterable<StatsAccumulator> accums) {
+    final StatsAccumulator merged = createAccumulator();
+    for (final StatsAccumulator accum : accums) {
+      merged.addAll(accum.snapshot());
+    }
+    return merged;
+  }
+
+  @Override
+  public Stats extractOutput(final StatsAccumulator accum) {
+    return accum.snapshot();
+  }
+}
diff --git a/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsToString.java b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsToString.java
new file mode 100644
index 0000000000000000000000000000000000000000..222c9f3a1be0604f42c0d5d70308253463bb66f5
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/src/main/java/rocks/theodolite/benchmarks/uc2/beam/StatsToString.java
@@ -0,0 +1,18 @@
+package rocks.theodolite.benchmarks.uc2.beam;
+
+import com.google.common.math.Stats;
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+
+/**
+ * Transforms a {@code KV<String, Stats>} into a {@code KV<String, String>}.
+ */
+public class StatsToString extends SimpleFunction<KV<String, Stats>, KV<String, String>> {
+  private static final long serialVersionUID = 4308991244493097240L;
+
+  @Override
+  public KV<String, String> apply(final KV<String, Stats> kv) {
+    return KV.of(kv.getKey(), kv.getValue().toString());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-beam/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc2-beam/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..c6672125a8b6a074cb7eca31bd90700cd4da736a
--- /dev/null
+++ b/theodolite-benchmarks/uc2-beam/src/main/resources/META-INF/application.properties
@@ -0,0 +1,18 @@
+application.name=theodolite-uc2-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+kafka.output.topic=output
+kafka.window.duration.minutes=1
+
+schema.registry.url=http://localhost:8081
+
+num.threads=1
+commit.interval.ms=1000
+cache.max.bytes.buffering=-1
+
+specific.avro.reader=true
+enable.auto.commit=true
+max.poll.records=500
+auto.offset.reset=earliest
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc2-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-flink/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc2-flink/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc2-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc2-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-flink/Dockerfile b/theodolite-benchmarks/uc2-flink/Dockerfile
index 537ab28e2d4e5fb8edfc2760142acc33cc49b91d..01a85c57b00ea8bb4af8faa697708fd2b650de50 100644
--- a/theodolite-benchmarks/uc2-flink/Dockerfile
+++ b/theodolite-benchmarks/uc2-flink/Dockerfile
@@ -1,3 +1,3 @@
-FROM flink:1.12-scala_2.12-java11
+FROM flink:1.13-java11
 
 ADD build/libs/uc2-flink-all.jar /opt/flink/usrlib/artifacts/uc2-flink-all.jar
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc2-flink/build.gradle b/theodolite-benchmarks/uc2-flink/build.gradle
index 680b802ce527d538062658874146ce1f0bd3b1e8..ea4d2d8b285792b8ce66484d0d9c0907a7c49957 100644
--- a/theodolite-benchmarks/uc2-flink/build.gradle
+++ b/theodolite-benchmarks/uc2-flink/build.gradle
@@ -2,16 +2,4 @@ plugins {
   id 'theodolite.flink'
 }
 
-allprojects {
-	repositories {
-    	maven {
-    		url 'https://packages.confluent.io/maven/'
-    	}
-	}
-}
-
-dependencies {
-    compile('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT')
-}
-
-mainClassName = "theodolite.uc2.application.HistoryServiceFlinkJob"
+mainClassName = "rocks.theodolite.benchmarks.uc2.flink.HistoryServiceFlinkJob"
diff --git a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/ConfigurationKeys.java b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/ConfigurationKeys.java
similarity index 96%
rename from theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/ConfigurationKeys.java
rename to theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/ConfigurationKeys.java
index e8261062689ce4c586a4e6fbde02878a28f48e97..bcb15b7d655d9a05b0b65d4dda480379173a8212 100644
--- a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/ConfigurationKeys.java
+++ b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.application;
+package rocks.theodolite.benchmarks.uc2.flink;
 
 /**
  * Keys to access configuration parameters.
diff --git a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/HistoryServiceFlinkJob.java b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/HistoryServiceFlinkJob.java
similarity index 53%
rename from theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/HistoryServiceFlinkJob.java
rename to theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/HistoryServiceFlinkJob.java
index d156d895d86bb01a31f96e08764df8b8df743c4d..5a34d17a89186630afb0917e16940210b84fd5e8 100644
--- a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/HistoryServiceFlinkJob.java
+++ b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/HistoryServiceFlinkJob.java
@@ -1,12 +1,8 @@
-package theodolite.uc2.application;
+package rocks.theodolite.benchmarks.uc2.flink;
 
 import com.google.common.math.Stats;
-import org.apache.commons.configuration2.Configuration;
 import org.apache.flink.api.common.typeinfo.Types;
 import org.apache.flink.api.java.tuple.Tuple2;
-import org.apache.flink.runtime.state.StateBackend;
-import org.apache.flink.streaming.api.TimeCharacteristic;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import org.apache.flink.streaming.api.windowing.assigners.TumblingEventTimeWindows;
 import org.apache.flink.streaming.api.windowing.time.Time;
 import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
@@ -14,63 +10,22 @@ import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer;
 import org.apache.kafka.common.serialization.Serdes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import theodolite.commons.flink.KafkaConnectorFactory;
-import theodolite.commons.flink.StateBackends;
-import theodolite.commons.flink.serialization.StatsSerializer;
-import titan.ccp.common.configuration.ServiceConfigurations;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.flink.AbstractFlinkService;
+import rocks.theodolite.benchmarks.commons.flink.KafkaConnectorFactory;
+import rocks.theodolite.benchmarks.commons.flink.serialization.StatsSerializer;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
 
 
 /**
  * The History microservice implemented as a Flink job.
  */
-public final class HistoryServiceFlinkJob {
+public final class HistoryServiceFlinkJob extends AbstractFlinkService {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(HistoryServiceFlinkJob.class);
 
-  private final Configuration config = ServiceConfigurations.createWithDefaults();
-  private final StreamExecutionEnvironment env;
-  private final String applicationId;
 
-  /**
-   * Create a new instance of the {@link HistoryServiceFlinkJob}.
-   */
-  public HistoryServiceFlinkJob() {
-    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
-    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
-    this.applicationId = applicationName + "-" + applicationVersion;
-
-    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
-
-    this.configureEnv();
-
-    this.buildPipeline();
-  }
-
-  private void configureEnv() {
-    this.env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
-
-    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
-    final int commitIntervalMs = this.config.getInt(ConfigurationKeys.COMMIT_INTERVAL_MS);
-    if (checkpointing) {
-      this.env.enableCheckpointing(commitIntervalMs);
-    }
-
-    // Parallelism
-    final Integer parallelism = this.config.getInteger(ConfigurationKeys.PARALLELISM, null);
-    if (parallelism != null) {
-      LOGGER.info("Set parallelism: {}.", parallelism);
-      this.env.setParallelism(parallelism);
-    }
-
-    // State Backend
-    final StateBackend stateBackend = StateBackends.fromConfiguration(this.config);
-    this.env.setStateBackend(stateBackend);
-
-    this.configureSerializers();
-  }
-
-  private void configureSerializers() {
+  @Override
+  protected void configureSerializers() {
     this.env.getConfig().registerTypeWithKryoSerializer(Stats.class, new StatsSerializer());
     this.env.getConfig().getRegisteredTypesWithKryoSerializers()
         .forEach((c, s) -> LOGGER.info("Class " + c.getName() + " registered with serializer "
@@ -78,7 +33,8 @@ public final class HistoryServiceFlinkJob {
 
   }
 
-  private void buildPipeline() {
+  @Override
+  protected void buildPipeline() {
     final String kafkaBroker = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
     final String schemaRegistryUrl = this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL);
     final String inputTopic = this.config.getString(ConfigurationKeys.KAFKA_INPUT_TOPIC);
@@ -115,20 +71,6 @@ public final class HistoryServiceFlinkJob {
         .addSink(kafkaSink).name("[Kafka Producer] Topic: " + outputTopic);
   }
 
-
-  /**
-   * Start running this microservice.
-   */
-  public void run() {
-    LOGGER.info("Execution plan: {}", this.env.getExecutionPlan());
-
-    try {
-      this.env.execute(this.applicationId);
-    } catch (final Exception e) { // NOPMD Execution thrown by Flink
-      LOGGER.error("An error occured while running this job.", e);
-    }
-  }
-
   public static void main(final String[] args) {
     new HistoryServiceFlinkJob().run();
   }
diff --git a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsAggregateFunction.java b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsAggregateFunction.java
similarity index 84%
rename from theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsAggregateFunction.java
rename to theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsAggregateFunction.java
index 7bd090de819ce0c0c73687bd53a191b66ae31ed9..ca5c9b2aee2285f5e8415d853fd9fe09f2d51b49 100644
--- a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsAggregateFunction.java
+++ b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsAggregateFunction.java
@@ -1,10 +1,10 @@
-package theodolite.uc2.application;
+package rocks.theodolite.benchmarks.uc2.flink;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
 import org.apache.flink.api.common.functions.AggregateFunction;
-import theodolite.uc2.application.util.StatsFactory;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc2.flink.util.StatsFactory;
 
 /**
  * Statistical aggregation of {@link ActivePowerRecord}s using {@link Stats}.
diff --git a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsProcessWindowFunction.java b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsProcessWindowFunction.java
similarity index 94%
rename from theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsProcessWindowFunction.java
rename to theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsProcessWindowFunction.java
index d422c37b667d9d3309f0dd858758db29051807b9..a8451a41a1445b88102ab25fee1d92b73bd33e22 100644
--- a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/StatsProcessWindowFunction.java
+++ b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/StatsProcessWindowFunction.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.application;
+package rocks.theodolite.benchmarks.uc2.flink;
 
 import com.google.common.math.Stats;
 import org.apache.flink.api.java.tuple.Tuple2;
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsFactory.java b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/util/StatsFactory.java
similarity index 91%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsFactory.java
rename to theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/util/StatsFactory.java
index b7880be4eb48035959251cc56273d16407bcb888..9fbddcc6d1a0ca6a01d9bc20f8acec7f01ec155a 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsFactory.java
+++ b/theodolite-benchmarks/uc2-flink/src/main/java/rocks/theodolite/benchmarks/uc2/flink/util/StatsFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc2.flink.util;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/Dockerfile b/theodolite-benchmarks/uc2-hazelcastjet/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..4a7680e29042025d48c4c37a8f424871fe48bbf8
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/Dockerfile
@@ -0,0 +1,7 @@
+FROM openjdk:11-slim
+
+ADD build/distributions/uc2-hazelcastjet.tar /
+
+
+CMD  JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=$LOG_LEVEL" \
+     /uc2-hazelcastjet/bin/uc2-hazelcastjet
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/build.gradle b/theodolite-benchmarks/uc2-hazelcastjet/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..ef1597413570a5d7b3af8538ced8d4a98d4fa6f8
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/build.gradle
@@ -0,0 +1,5 @@
+plugins {
+  id 'theodolite.hazelcastjet'
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc2.hazelcastjet.HistoryService"
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/HistoryService.java b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/HistoryService.java
new file mode 100644
index 0000000000000000000000000000000000000000..7737959bde97ce8332c87fc88b0aa9fd90bf8250
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/HistoryService.java
@@ -0,0 +1,70 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A microservice that manages the history and, therefore, stores and aggregates incoming
+ * measurements.
+ */
+public class HistoryService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HistoryService.class);
+
+  // Hazelcast settings (default)
+  private static final String HZ_KUBERNETES_SERVICE_DNS_KEY = "service-dns";
+  private static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
+
+  // Kafka settings (default)
+  private static final String KAFKA_BOOTSTRAP_DEFAULT = "localhost:9092";
+  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+  private static final String KAFKA_INPUT_TOPIC_DEFAULT = "input";
+  private static final String KAFKA_OUTPUT_TOPIC_DEFAULT = "output";
+
+  // UC2 specific (default)
+  private static final String DOWNSAMPLE_INTERVAL_DEFAULT_MS = "60000";
+
+  // Job name (default)
+  private static final String JOB_NAME = "uc2-hazelcastjet";
+
+  /**
+   * Entrypoint for UC2 using Gradle Run.
+   */
+  public static void main(final String[] args) {
+    final HistoryService uc2HistoryService = new HistoryService();
+    try {
+      uc2HistoryService.run();
+    } catch (final Exception e) { // NOPMD
+      LOGGER.error("ABORT MISSION!: {}", e);
+    }
+  }
+
+  /**
+   * Start a UC2 service.
+   *
+   * @throws Exception This Exception occurs if the Uc2HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  public void run() throws Exception { // NOPMD
+    this.createHazelcastJetApplication();
+  }
+
+  /**
+   * Creates a Hazelcast Jet Application for UC2 using the Uc1HazelcastJetFactory.
+   *
+   * @throws Exception This Exception occurs if the Uc2HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  private void createHazelcastJetApplication() throws Exception { // NOPMD
+    new Uc2HazelcastJetFactory()
+        .setReadPropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT, JOB_NAME)
+        .setWritePropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT)
+        .setKafkaInputTopicFromEnv(KAFKA_INPUT_TOPIC_DEFAULT)
+        .setKafkaOutputTopicFromEnv(KAFKA_OUTPUT_TOPIC_DEFAULT)
+        .setDownsampleIntervalFromEnv(DOWNSAMPLE_INTERVAL_DEFAULT_MS)
+        .buildUc2Pipeline()
+        .buildUc2JetInstanceFromEnv(LOGGER, BOOTSTRAP_SERVER_DEFAULT, HZ_KUBERNETES_SERVICE_DNS_KEY)
+        .runUc2Job(JOB_NAME);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2HazelcastJetFactory.java b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2HazelcastJetFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..92029a78405deacae5e7ad352b184eb852cd842e
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2HazelcastJetFactory.java
@@ -0,0 +1,301 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet;
+
+import com.google.common.math.StatsAccumulator;
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.pipeline.Pipeline;
+import io.confluent.kafka.serializers.KafkaAvroDeserializer;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.JetInstanceBuilder;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.KafkaPropertiesBuilder;
+import rocks.theodolite.benchmarks.uc2.hazelcastjet.uc2specifics.StatsAccumulatorSerializer;
+
+/**
+ * A Hazelcast Jet factory which can build a Hazelcast Jet Instance and Pipeline for the UC2
+ * benchmark and lets you start the Hazelcast Jet job. The JetInstance can be built directly as the
+ * Hazelcast Config is managed internally. In order to build the Pipeline, you first have to build
+ * the Read and Write Properties, set the input and output topic, and set the downsample interval
+ * which can be done using internal functions of this factory. Outside data only refers to custom
+ * values or default values in case data of the environment cannot the fetched.
+ */
+public class Uc2HazelcastJetFactory {
+
+  // Information per History Service
+  private Properties kafkaReadPropsForPipeline;
+  private Properties kafkaWritePropsForPipeline;
+  private String kafkaInputTopic;
+  private String kafkaOutputTopic;
+  private JetInstance uc2JetInstance;
+  private Pipeline uc2JetPipeline;
+  // UC2 specific
+  private int downsampleInterval;
+
+  /////////////////////////////////////
+  // Layer 1 - Hazelcast Jet Run Job //
+  /////////////////////////////////////
+
+  /**
+   * Needs a JetInstance and Pipeline defined in this factors. Adds the pipeline to the existing
+   * JetInstance as a job.
+   *
+   * @param jobName The name of the job.
+   */
+  public void runUc2Job(final String jobName) {
+
+    // Check if a Jet Instance for UC2 is set.
+    if (this.uc2JetInstance == null) {
+      throw new IllegalStateException("Jet Instance is not set! "
+          + "Cannot start a hazelcast jet job for UC2.");
+    }
+
+    // Check if a Pipeline for UC2 is set.
+    if (this.uc2JetPipeline == null) {
+      throw new IllegalStateException(
+          "Hazelcast Pipeline is not set! Cannot start a hazelcast jet job for UC2.");
+    }
+
+    // Adds the job name and joins a job to the JetInstance defined in this factory
+    final JobConfig jobConfig = new JobConfig();
+    jobConfig.registerSerializer(StatsAccumulator.class, StatsAccumulatorSerializer.class);
+    jobConfig.setName(jobName);
+    this.uc2JetInstance.newJobIfAbsent(this.uc2JetPipeline, jobConfig).join();
+  }
+
+  /////////////
+  // Layer 2 //
+  /////////////
+
+  /**
+   * Build a Hazelcast JetInstance used to run a job on.
+   *
+   * @param logger The logger specified for this JetInstance.
+   * @param bootstrapServerDefault Default bootstrap server in case no value can be derived from the
+   *        environment.
+   * @param hzKubernetesServiceDnsKey The kubernetes service dns key.
+   * @return A Uc2HazelcastJetFactory containing a set JetInstance.
+   */
+  public Uc2HazelcastJetFactory buildUc2JetInstanceFromEnv(final Logger logger,
+      final String bootstrapServerDefault,
+      final String hzKubernetesServiceDnsKey) {
+    this.uc2JetInstance = new JetInstanceBuilder()
+        .setConfigFromEnv(logger, bootstrapServerDefault, hzKubernetesServiceDnsKey)
+        .build();
+    return this;
+  }
+
+  /**
+   * Builds a Hazelcast Jet pipeline used for a JetInstance to run it as a job on. Needs the input
+   * topic and kafka properties defined in this factory beforehand.
+   *
+   * @return A Uc2HazelcastJetFactory containg a set pipeline.
+   * @throws Exception If the input topic or the kafka properties are not defined, the pipeline
+   *         cannot be built.
+   */
+  public Uc2HazelcastJetFactory buildUc2Pipeline() throws IllegalStateException { // NOPMD
+
+    final String defaultPipelineWarning = "Cannot build pipeline."; // NOPMD
+
+    // Check if Properties for the Kafka Input are set.
+    if (this.kafkaReadPropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Read Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if Properties for the Kafka Output are set.
+    if (this.kafkaWritePropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Write Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka input topic is set.
+    if (this.kafkaInputTopic == null) {
+      throw new IllegalStateException("Kafka input topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka output topic is set.
+    if (this.kafkaOutputTopic == null) {
+      throw new IllegalStateException("kafka output topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the downsampleInterval (tumbling window time) is set.
+    if (this.downsampleInterval <= 0) {
+      throw new IllegalStateException(
+          "downsample interval for pipeline not set or not bigger than 0! "
+              + defaultPipelineWarning);
+    }
+
+    // Build Pipeline Using the pipelineBuilder
+    final Uc2PipelineBuilder pipeBuilder = new Uc2PipelineBuilder();
+    this.uc2JetPipeline =
+        pipeBuilder.build(this.kafkaReadPropsForPipeline, this.kafkaWritePropsForPipeline,
+            this.kafkaInputTopic, this.kafkaOutputTopic, this.downsampleInterval);
+    // Return Uc2HazelcastJetBuilder factory
+    return this;
+  }
+
+  /////////////
+  // Layer 3 //
+  /////////////
+
+  /**
+   * Sets kafka read properties for pipeline used in this builder.
+   *
+   * @param kafkaReadProperties A propeties object containing necessary values used for the hazelcst
+   *        jet kafka connection to read data.
+   * @return The Uc2HazelcastJetBuilder factory with set kafkaReadPropsForPipeline.
+   */
+  public Uc2HazelcastJetFactory setCustomReadProperties(// NOPMD
+      final Properties kafkaReadProperties) {
+    this.kafkaReadPropsForPipeline = kafkaReadProperties;
+    return this;
+  }
+
+  /**
+   * Sets kafka write properties for pipeline used in this builder.
+   *
+   * @param kafkaWriteProperties A propeties object containing necessary values used for the
+   *        hazelcst jet kafka connection to write data.
+   * @return The Uc2HazelcastJetBuilder factory with set kafkaWritePropsForPipeline.
+   */
+  public Uc2HazelcastJetFactory setCustomWriteProperties(// NOPMD
+      final Properties kafkaWriteProperties) {
+    this.kafkaWritePropsForPipeline = kafkaWriteProperties;
+    return this;
+  }
+
+  /**
+   * Sets kafka read properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @param schemaRegistryUrlDefault Default schema registry url in the case that no schema registry
+   *        url can be fetched from the environment.
+   * @return The Uc2HazelcastJetBuilder factory with set kafkaReadPropertiesForPipeline.
+   */
+  public Uc2HazelcastJetFactory setReadPropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault,
+      final String schemaRegistryUrlDefault,
+      final String jobName) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaReadProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            jobName,
+            StringDeserializer.class.getCanonicalName(),
+            KafkaAvroDeserializer.class.getCanonicalName());
+    this.kafkaReadPropsForPipeline = kafkaReadProps;
+    return this;
+  }
+
+  /**
+   * Sets kafka write properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @return The Uc2HazelcastJetBuilder factory with set kafkaWritePropertiesForPipeline.
+   */
+  public Uc2HazelcastJetFactory setWritePropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault, final String schemaRegistryUrlDefault) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaWriteProps =
+        propsBuilder.buildKafkaWritePropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            StringSerializer.class.getCanonicalName(),
+            StringSerializer.class.getCanonicalName());
+    this.kafkaWritePropsForPipeline = kafkaWriteProps;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder.
+   *
+   * @param inputTopic The kafka topic used as the pipeline input.
+   * @return A Uc2HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc2HazelcastJetFactory setCustomKafkaInputTopic(// NOPMD
+      final String inputTopic) {
+    this.kafkaInputTopic = inputTopic;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input output for the pipeline used in this builder.
+   *
+   * @param outputTopic The kafka topic used as the pipeline output.
+   * @return A Uc2HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc2HazelcastJetFactory setCustomKafkaOutputTopic(final String outputTopic) { // NOPMD
+    this.kafkaOutputTopic = outputTopic;
+    return this;
+  }
+
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultInputTopic The default kafka input topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc2HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc2HazelcastJetFactory setKafkaInputTopicFromEnv(// NOPMD
+      final String defaultInputTopic) {
+    this.kafkaInputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+        defaultInputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the kafka output topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultOutputTopic The default kafka output topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc2HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc2HazelcastJetFactory setKafkaOutputTopicFromEnv(// NOPMD
+      final String defaultOutputTopic) {
+    this.kafkaOutputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_OUTPUT_TOPIC),
+        defaultOutputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the downsample interval for the pipeline used in this builder.
+   *
+   * @param downsampleInterval the downsample interval to be used for this pipeline.
+   * @return A Uc2HazelcastJetFactory with a set downsampleInterval.
+   */
+  public Uc2HazelcastJetFactory setCustomDownsampleInterval(// NOPMD
+      final int downsampleInterval) {
+    this.downsampleInterval = downsampleInterval;
+    return this;
+  }
+
+  /**
+   * Sets the downsample interval for the pipeline used in this builder from the environment.
+   *
+   * @param defaultDownsampleInterval the default downsample interval to be used for this pipeline
+   *        when none is set in the environment.
+   * @return A Uc2HazelcastJetFactory with a set downsampleInterval.
+   */
+  public Uc2HazelcastJetFactory setDownsampleIntervalFromEnv(// NOPMD
+      final String defaultDownsampleInterval) {
+    final String downsampleInterval = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.DOWNSAMPLE_INTERVAL),
+        defaultDownsampleInterval);
+    final int downsampleIntervalNumber = Integer.parseInt(downsampleInterval);
+    this.downsampleInterval = downsampleIntervalNumber;
+    return this;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineBuilder.java b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..92e59d256c5f2d5b43644b2e498ca1f2dbca4202
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineBuilder.java
@@ -0,0 +1,136 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import com.hazelcast.jet.aggregate.AggregateOperation;
+import com.hazelcast.jet.aggregate.AggregateOperation1;
+import com.hazelcast.jet.kafka.KafkaSinks;
+import com.hazelcast.jet.kafka.KafkaSources;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sinks;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.WindowDefinition;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc2.hazelcastjet.uc2specifics.StatsAccumulatorSupplier;
+
+
+
+/**
+ * Builder to build a HazelcastJet Pipeline for UC2 which can be used for stream processing using
+ * Hazelcast Jet.
+ */
+public class Uc2PipelineBuilder {
+
+  /**
+   * Builds a pipeline which can be used for stream processing using Hazelcast Jet.
+   *
+   * @param kafkaReadPropsForPipeline Properties Object containing the necessary kafka reads
+   *        attributes.
+   * @param kafkaWritePropsForPipeline Properties Object containing the necessary kafka write
+   *        attributes.
+   * @param kafkaInputTopic The name of the input topic used for the pipeline.
+   * @param kafkaOutputTopic The name of the output topic used for the pipeline.
+   * @param downsampleIntervalInMs The window length of the tumbling window used in the aggregation
+   *        of this pipeline.
+   * @return returns a Pipeline used which can be used in a Hazelcast Jet Instance to process data
+   *         for UC2.
+   */
+  public Pipeline build(final Properties kafkaReadPropsForPipeline,
+      final Properties kafkaWritePropsForPipeline, final String kafkaInputTopic,
+      final String kafkaOutputTopic,
+      final int downsampleIntervalInMs) {
+
+    // Define a new pipeline
+    final Pipeline pipe = Pipeline.create();
+
+    // Define the Kafka Source
+    final StreamSource<Entry<String, ActivePowerRecord>> kafkaSource =
+        KafkaSources.<String, ActivePowerRecord>kafka(kafkaReadPropsForPipeline, kafkaInputTopic);
+
+    // Extend UC2 topology to the pipeline
+    final StreamStage<Map.Entry<String, String>> uc2TopologyProduct =
+        this.extendUc2Topology(pipe, kafkaSource, downsampleIntervalInMs);
+
+    // Add Sink1: Logger
+    uc2TopologyProduct.writeTo(Sinks.logger());
+    // Add Sink2: Write back to kafka for the final benchmark
+    uc2TopologyProduct.writeTo(KafkaSinks.<String, String>kafka(
+        kafkaWritePropsForPipeline, kafkaOutputTopic));
+
+    return pipe;
+  }
+
+  /**
+   * Extends to a blank Hazelcast Jet Pipeline the UC2 topology defined by theodolite.
+   *
+   * <p>
+   * UC2 takes {@code ActivePowerRecord} objects, groups them by keys, windows them in a tumbling
+   * window and aggregates them into {@code Stats} objects. The final map returns an
+   * {@code Entry<String,String>} where the key is the key of the group and the String is the
+   * {@code .toString()} representation of the {@code Stats} object.
+   * </p>
+   *
+   * @param pipe The blank hazelcast jet pipeline to extend the logic to.
+   * @param source A streaming source to fetch data from.
+   * @param downsampleIntervalInMs The size of the tumbling window.
+   * @return A {@code StreamStage<Map.Entry<String,String>>} with the above definition of the key
+   *         and value of the Entry object. It can be used to be further modified or directly be
+   *         written into a sink.
+   */
+  public StreamStage<Map.Entry<String, String>> extendUc2Topology(final Pipeline pipe,
+      final StreamSource<Entry<String, ActivePowerRecord>> source,
+      final int downsampleIntervalInMs) {
+    // Build the pipeline topology.
+    return pipe.readFrom(source)
+        .withNativeTimestamps(0)
+        .setLocalParallelism(1)
+        .groupingKey(record -> record.getValue().getIdentifier())
+        .window(WindowDefinition.tumbling(downsampleIntervalInMs))
+        .aggregate(this.uc2AggregateOperation())
+        .map(agg -> {
+          final String theKey = agg.key();
+          final String theValue = agg.getValue().toString();
+          return Map.entry(theKey, theValue);
+        });
+  }
+
+  /**
+   * Defines an AggregateOperation1 for Hazelcast Jet which is used in the Pipeline of the Hazelcast
+   * Jet implementation of UC2.
+   *
+   * <p>
+   * Takes a windowed and keyed {@code Entry<String,ActivePowerRecord>} elements and returns a
+   * {@Stats} object.
+   * </p>
+   *
+   * @return An AggregateOperation used by Hazelcast Jet in a streaming stage which aggregates
+   *         ActivePowerRecord Objects into Stats Objects.
+   */
+  public AggregateOperation1<Entry<String, ActivePowerRecord>, StatsAccumulator, Stats> uc2AggregateOperation() { // NOCS
+    // Aggregate Operation to Create a Stats Object from Entry<String,ActivePowerRecord> items using
+    // the Statsaccumulator.
+    return AggregateOperation
+        // Creates the accumulator
+        .withCreate(new StatsAccumulatorSupplier())
+        // Defines the accumulation
+        .<Entry<String, ActivePowerRecord>>andAccumulate((accumulator, item) -> {
+          accumulator.add(item.getValue().getValueInW());
+        })
+        // Defines the combination of spread out instances
+        .andCombine((left, right) -> {
+          final Stats rightStats = right.snapshot();
+          left.addAll(rightStats);
+
+        })
+        // Finishes the aggregation
+        .andExportFinish(
+            (accumulator) -> {
+              return accumulator.snapshot();
+            });
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSerializer.java b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c22b8dd6cc1a7af995a98b4388f40a1a3867ba5
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSerializer.java
@@ -0,0 +1,38 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet.uc2specifics;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import com.hazelcast.nio.ObjectDataInput;
+import com.hazelcast.nio.ObjectDataOutput;
+import com.hazelcast.nio.serialization.StreamSerializer;
+import java.io.IOException;
+
+/**
+ * A serializer and deserializer for the StatsAccumulator which is used in the UC2 implementation
+ * using Hazelcast Jet.
+ */
+public class StatsAccumulatorSerializer implements StreamSerializer<StatsAccumulator> {
+
+  private static final int TYPE_ID = 69_420;
+
+  @Override
+  public int getTypeId() {
+    return TYPE_ID;
+  }
+
+  @Override
+  public void write(final ObjectDataOutput out, final StatsAccumulator object) throws IOException {
+    final byte[] byteArray = object.snapshot().toByteArray();
+    out.writeByteArray(byteArray);
+  }
+
+  @Override
+  public StatsAccumulator read(final ObjectDataInput in) throws IOException {
+    final byte[] byteArray = in.readByteArray();
+    final Stats deserializedStats = Stats.fromByteArray(byteArray);
+    final StatsAccumulator accumulator = new StatsAccumulator();
+    accumulator.addAll(deserializedStats);
+    return accumulator;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSupplier.java b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSupplier.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4d203f03185cda712a5280634d8d3858c02f30d
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/uc2specifics/StatsAccumulatorSupplier.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet.uc2specifics;
+
+import com.google.common.math.StatsAccumulator;
+import com.hazelcast.function.SupplierEx;
+
+/**
+ * Supplies a StatsAccumulator. Is used in the aggregation operation of the Hazelcast Jet
+ * implementation for UC2.
+ */
+public class StatsAccumulatorSupplier implements SupplierEx<StatsAccumulator> {
+
+  private static final long serialVersionUID = -656395626316842910L; // NOPMD
+
+  /**
+   * Gets a StatsAccumulator.
+   */
+  @Override
+  public StatsAccumulator getEx() throws Exception {
+    return new StatsAccumulator();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc2-hazelcastjet/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e3371cc87e20e85e6e8c327955537e6e49dab86e
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/main/resources/META-INF/application.properties
@@ -0,0 +1,8 @@
+application.name=theodolite-uc1-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+
+schema.registry.url=http://localhost:8081
+
diff --git a/theodolite-benchmarks/uc2-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineTest.java b/theodolite-benchmarks/uc2-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..0a579c8d4ad2c872f7c90b1d6456de78b3a20f91
--- /dev/null
+++ b/theodolite-benchmarks/uc2-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc2/hazelcastjet/Uc2PipelineTest.java
@@ -0,0 +1,109 @@
+package rocks.theodolite.benchmarks.uc2.hazelcastjet;
+
+import com.hazelcast.jet.Jet;
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JetConfig;
+import com.hazelcast.jet.core.JetTestSupport;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.test.AssertionCompletedException;
+import com.hazelcast.jet.pipeline.test.Assertions;
+import com.hazelcast.jet.pipeline.test.TestSources;
+import com.hazelcast.jet.test.SerialTest;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.concurrent.CompletionException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Test methods for the Hazelcast Jet Implementation of UC2.
+ */
+@Category(SerialTest.class)
+public class Uc2PipelineTest extends JetTestSupport {
+
+  JetInstance testInstance = null;
+  Pipeline testPipeline = null;
+  StreamStage<Entry<String, String>> uc2Topology = null;
+
+  /*
+   * Creates the JetInstance, defines a new Hazelcast Jet Pipeline and extends the UC2 topology.
+   * Allows for quick extension of tests.
+   */
+  @Before
+  public void buildUc2Pipeline() {
+
+    // Setup Configuration
+    final int testItemsPerSecond = 1;
+    final String testSensorName = "TEST-SENSOR";
+    final Double testValueInW = 10.0;
+    final int testWindowInMs = 5000;
+
+    // Create mock jet instance with configuration
+    final String testClusterName = randomName();
+    final JetConfig testJetConfig = new JetConfig();
+    testJetConfig.getHazelcastConfig().setClusterName(testClusterName);
+    this.testInstance = this.createJetMember(testJetConfig);
+
+    // Create a test source
+    final StreamSource<Entry<String, ActivePowerRecord>> testSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+          final ActivePowerRecord testRecord =
+              new ActivePowerRecord(testSensorName, timestamp, testValueInW);
+          final Entry<String, ActivePowerRecord> testEntry =
+              Map.entry(testSensorName, testRecord);
+          return testEntry;
+        });
+
+    // Create pipeline to test
+    final Uc2PipelineBuilder pipelineBuilder = new Uc2PipelineBuilder();
+    this.testPipeline = Pipeline.create();
+    this.uc2Topology =
+        pipelineBuilder.extendUc2Topology(this.testPipeline, testSource, testWindowInMs);
+
+  }
+
+  /**
+   * Tests if no items reach the end before the first window ends.
+   */
+  @Test
+  public void testOutput() {
+
+    // Assertion Configuration
+    final int timeout = 14;
+    final String expectedOutput =
+        "Stats{count=5, mean=10.0, populationStandardDeviation=0.0, min=10.0, max=10.0}";
+
+    // Assertion
+    this.uc2Topology.apply(Assertions.assertCollectedEventually(timeout,
+        collection -> Assert.assertTrue(
+            "Not the right amount items in Stats Object!",
+            collection.get(collection.size() - 1).getValue().equals(expectedOutput))));
+
+    // Run the test!
+    try {
+      this.testInstance.newJob(this.testPipeline).join();
+      Assert.fail("Job should have completed with an AssertionCompletedException, "
+          + "but completed normally!");
+    } catch (final CompletionException e) {
+      final String errorMsg = e.getCause().getMessage();
+      Assert.assertTrue(
+          "Job was expected to complete with AssertionCompletedException, but completed with: "
+              + e.getCause(),
+          errorMsg.contains(AssertionCompletedException.class.getName()));
+    }
+
+  }
+
+  @After
+  public void after() {
+    // Shuts down all running Jet Instances
+    Jet.shutdownAll();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc2-kstreams/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-kstreams/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc2-kstreams/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc2-kstreams/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc2-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-kstreams/build.gradle b/theodolite-benchmarks/uc2-kstreams/build.gradle
index 6688f229b3c57f95aaaf5f5cd4ca615db609277a..9712c51cc089a519660dc4c7cf8eddb282aa5131 100644
--- a/theodolite-benchmarks/uc2-kstreams/build.gradle
+++ b/theodolite-benchmarks/uc2-kstreams/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.kstreams'
 }
 
-mainClassName = "theodolite.uc2.application.HistoryService"
+mainClassName = "rocks.theodolite.benchmarks.uc2.kstreams.HistoryService"
diff --git a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/application/HistoryService.java b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/HistoryService.java
similarity index 86%
rename from theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/application/HistoryService.java
rename to theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/HistoryService.java
index 1aa28400cc9d55c77518a880d8cc2f48a2823a6b..4afc2d91eaaf98226f262f072cfd7e5aed6f847e 100644
--- a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/application/HistoryService.java
+++ b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/HistoryService.java
@@ -1,13 +1,12 @@
-package theodolite.uc2.application;
+package rocks.theodolite.benchmarks.uc2.kstreams;
 
 import java.time.Duration;
 import java.util.Objects;
 import java.util.concurrent.CompletableFuture;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.KafkaStreams;
-import theodolite.commons.kafkastreams.ConfigurationKeys;
-import theodolite.uc2.streamprocessing.Uc2KafkaStreamsBuilder;
-import titan.ccp.common.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.commons.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.kstreams.ConfigurationKeys;
 
 /**
  * A microservice that manages the history and, therefore, stores and aggregates incoming
diff --git a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/TopologyBuilder.java b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/TopologyBuilder.java
similarity index 85%
rename from theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/TopologyBuilder.java
rename to theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/TopologyBuilder.java
index eda7c495a2cff6d58b62a8a6a74ea8e1b2d89aca..cd1d8cd92149d368a27452fa7689f5549a9c2bc7 100644
--- a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/TopologyBuilder.java
+++ b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/TopologyBuilder.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.streamprocessing;
+package rocks.theodolite.benchmarks.uc2.kstreams;
 
 import com.google.common.math.Stats;
 import java.time.Duration;
@@ -13,10 +13,10 @@ import org.apache.kafka.streams.kstream.Produced;
 import org.apache.kafka.streams.kstream.TimeWindows;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import theodolite.uc2.streamprocessing.util.StatsFactory;
-import titan.ccp.common.kafka.GenericSerde;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.GenericSerde;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc2.kstreams.util.StatsFactory;
 
 /**
  * Builds Kafka Stream Topology for the History microservice.
@@ -53,7 +53,7 @@ public class TopologyBuilder {
             Consumed.with(Serdes.String(),
                 this.srAvroSerdeFactory.<ActivePowerRecord>forValues()))
         .groupByKey()
-        .windowedBy(TimeWindows.of(this.duration))
+        .windowedBy(TimeWindows.ofSizeWithNoGrace(this.duration))
         // .aggregate(
         // () -> 0.0,
         // (key, activePowerRecord, agg) -> agg + activePowerRecord.getValueInW(),
diff --git a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/Uc2KafkaStreamsBuilder.java b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/Uc2KafkaStreamsBuilder.java
similarity index 86%
rename from theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/Uc2KafkaStreamsBuilder.java
rename to theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/Uc2KafkaStreamsBuilder.java
index 1d6019f27cb78f6643e111095edbbdd9f6c03e1b..d9d4a23ec512ce4f7799648a4ea4f629e7b369ad 100644
--- a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/Uc2KafkaStreamsBuilder.java
+++ b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/Uc2KafkaStreamsBuilder.java
@@ -1,12 +1,12 @@
-package theodolite.uc2.streamprocessing;
+package rocks.theodolite.benchmarks.uc2.kstreams;
 
 import java.time.Duration;
 import java.util.Objects;
 import java.util.Properties;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.Topology;
-import theodolite.commons.kafkastreams.KafkaStreamsBuilder;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.KafkaStreamsBuilder;
 
 /**
  * Builder for the Kafka Streams configuration.
diff --git a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/util/StatsFactory.java b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/util/StatsFactory.java
similarity index 90%
rename from theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/util/StatsFactory.java
rename to theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/util/StatsFactory.java
index e4aff4fc80cea24c20be537f6aa5cda7c2be909a..8e43bf7e776222dd1269b5c4bcd0b330fec7f005 100644
--- a/theodolite-benchmarks/uc2-kstreams/src/main/java/theodolite/uc2/streamprocessing/util/StatsFactory.java
+++ b/theodolite-benchmarks/uc2-kstreams/src/main/java/rocks/theodolite/benchmarks/uc2/kstreams/util/StatsFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.streamprocessing.util;
+package rocks.theodolite.benchmarks.uc2.kstreams.util;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
diff --git a/theodolite-benchmarks/uc2-load-generator/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc2-load-generator/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc2-load-generator/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc2-load-generator/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc2-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc2-load-generator/build.gradle b/theodolite-benchmarks/uc2-load-generator/build.gradle
index 1954fe5cbfd62d26f27c59be486a516c91892e18..0e45bc209f75eb2171d834cbc564d216c78fb126 100644
--- a/theodolite-benchmarks/uc2-load-generator/build.gradle
+++ b/theodolite-benchmarks/uc2-load-generator/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.load-generator'
 }
 
-mainClassName = "theodolite.uc2.workloadgenerator.LoadGenerator"
+mainClassName = "rocks.theodolite.benchmarks.uc2.loadgenerator.LoadGenerator"
diff --git a/theodolite-benchmarks/uc2-load-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java b/theodolite-benchmarks/uc2-load-generator/src/main/java/rocks/theodolite/benchmarks/uc2/loadgenerator/LoadGenerator.java
similarity index 73%
rename from theodolite-benchmarks/uc2-load-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java
rename to theodolite-benchmarks/uc2-load-generator/src/main/java/rocks/theodolite/benchmarks/uc2/loadgenerator/LoadGenerator.java
index 2c5b59bc19f703c4216bc02920b62bcf9da5d5fb..f148dc69e1a495d00044126c7cf7f99ba97066f1 100644
--- a/theodolite-benchmarks/uc2-load-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java
+++ b/theodolite-benchmarks/uc2-load-generator/src/main/java/rocks/theodolite/benchmarks/uc2/loadgenerator/LoadGenerator.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.workloadgenerator;
+package rocks.theodolite.benchmarks.uc2.loadgenerator;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -14,6 +14,6 @@ public final class LoadGenerator {
 
   public static void main(final String[] args) {
     LOGGER.info("Start workload generator for use case UC2");
-    theodolite.commons.workloadgeneration.LoadGenerator.fromEnvironment().run();
+    rocks.theodolite.benchmarks.loadgenerator.LoadGenerator.fromEnvironment().run();
   }
 }
diff --git a/theodolite-benchmarks/uc3-beam-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-beam-flink/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-beam-flink/Dockerfile b/theodolite-benchmarks/uc3-beam-flink/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..3c0b4d96b8a59e45da3b85e8d7cd238b98cacfd7
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/Dockerfile
@@ -0,0 +1,4 @@
+FROM flink:1.13-java11
+
+ADD build/distributions/uc3-beam-flink.tar /opt/flink/usrlib/artifacts/uc3-beam-flink.tar
+
diff --git a/theodolite-benchmarks/uc3-beam-flink/build.gradle b/theodolite-benchmarks/uc3-beam-flink/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..c2fe5c11b0e24ecfa322d3f825261d2c60d650c4
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.flink'
+}
+
+dependencies {
+  implementation project(':uc3-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc3-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = 'rocks.theodolite.benchmarks.uc3.beam.flink.Uc3BeamFlink'
diff --git a/theodolite-benchmarks/uc3-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc3/beam/flink/Uc3BeamFlink.java b/theodolite-benchmarks/uc3-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc3/beam/flink/Uc3BeamFlink.java
new file mode 100644
index 0000000000000000000000000000000000000000..f4f4563925ede4d61edcaab29c3d6e7aed0b5e9c
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc3/beam/flink/Uc3BeamFlink.java
@@ -0,0 +1,27 @@
+package rocks.theodolite.benchmarks.uc3.beam.flink;
+
+import org.apache.beam.runners.flink.FlinkRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc3.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Aggregation based on Time Attributes using Apache Beam with the
+ * Flink Runner. To run locally in standalone start Kafka, Zookeeper, the schema-registry and the
+ * workload generator using the delayed_startup.sh script. And configure the Kafka, Zookeeper and
+ * Schema Registry urls accordingly. Start a Flink cluster and pass its REST adress
+ * using--flinkMaster as run parameter. To persist logs add
+ * ${workspace_loc:/uc4-application-samza/eclipseConsoleLogs.log} as Output File under Standard
+ * Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc3BeamFlink {
+
+  private Uc3BeamFlink() {}
+
+  /**
+   * Start running this microservice.
+   */
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), FlinkRunner.class, args).runStandalone();
+  }
+}
+
diff --git a/theodolite-benchmarks/uc3-beam-samza/.gitignore b/theodolite-benchmarks/uc3-beam-samza/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7bf05dd280fcc888467656ce1fbdeb65322c7ba8
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/.gitignore
@@ -0,0 +1 @@
+state
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc3-beam-samza/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-beam-samza/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-beam-samza/Dockerfile b/theodolite-benchmarks/uc3-beam-samza/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..54979b8e1fa8aa9ac7d073302301bd10cbff5f34
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/Dockerfile
@@ -0,0 +1,8 @@
+FROM openjdk:11-slim
+
+ENV MAX_SOURCE_PARALLELISM=1024
+
+ADD build/distributions/uc3-beam-samza.tar /
+ADD samza-standalone.properties /
+
+CMD /uc3-beam-samza/bin/uc3-beam-samza --configFilePath=samza-standalone.properties --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=$MAX_SOURCE_PARALLELISM --enableMetrics=false --configOverride="{\"job.coordinator.zk.connect\":\"$SAMZA_JOB_COORDINATOR_ZK_CONNECT\"}"
diff --git a/theodolite-benchmarks/uc3-beam-samza/build.gradle b/theodolite-benchmarks/uc3-beam-samza/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..b5d47d82b9c6056492ec7c21aebd691f4e335ddb
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.samza'
+}
+
+dependencies {
+  implementation project(':uc3-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc3-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc3.beam.samza.Uc3BeamSamza"
diff --git a/theodolite-benchmarks/uc3-beam-samza/samza-standalone.properties b/theodolite-benchmarks/uc3-beam-samza/samza-standalone.properties
new file mode 100644
index 0000000000000000000000000000000000000000..02411017e86e274f6057688a7c351567603c0f80
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/samza-standalone.properties
@@ -0,0 +1,17 @@
+# Set EnvironmentRewriter
+job.config.rewriters=env-config
+job.config.rewriter.env-config.class=org.apache.samza.config.EnvironmentConfigRewriter
+
+# Configure ZooKeeper for coordination
+job.coordinator.factory=org.apache.samza.zk.ZkJobCoordinatorFactory
+job.coordinator.zk.connect=localhost:2181
+
+# Use GroupByContainerIds
+task.name.grouper.factory=org.apache.samza.container.grouper.task.GroupByContainerIdsFactory
+
+# Configure Kafka as "system"
+job.default.system=kafka
+systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory
+systems.kafka.consumer.bootstrap.servers=localhost:9092
+systems.kafka.producer.bootstrap.servers=localhost:9092
+systems.kafka.default.stream.replication.factor=1
diff --git a/theodolite-benchmarks/uc3-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc3/beam/samza/Uc3BeamSamza.java b/theodolite-benchmarks/uc3-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc3/beam/samza/Uc3BeamSamza.java
new file mode 100644
index 0000000000000000000000000000000000000000..247cd99becff8a200185c8fa40efb49bf31a6806
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc3/beam/samza/Uc3BeamSamza.java
@@ -0,0 +1,28 @@
+package rocks.theodolite.benchmarks.uc3.beam.samza;
+
+import org.apache.beam.runners.samza.SamzaRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc3.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Aggregation based on Time Attributes using Apache Beam with the
+ * Samza Runner. To run locally in standalone start Kafka, Zookeeper, the schema-registry and the
+ * workload generator using the delayed_startup.sh script. And configure the Kafka, Zookeeper and
+ * Schema Registry urls accordingly. Start a Flink cluster and pass its REST adress
+ * using--flinkMaster as run parameter. To persist logs add
+ * ${workspace_loc:/uc4-application-samza/eclipseConsoleLogs.log} as Output File under Standard
+ * Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc3BeamSamza {
+
+  private Uc3BeamSamza() {}
+
+  /**
+   * Start running this microservice.
+   */
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), SamzaRunner.class, args).runStandalone();
+  }
+
+}
+
diff --git a/theodolite-benchmarks/uc3-beam/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-beam/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-beam/build.gradle b/theodolite-benchmarks/uc3-beam/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..502e94fa737fb2ae1bab861407b27575cd8766ca
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/build.gradle
@@ -0,0 +1,5 @@
+plugins {
+  id 'theodolite.beam'
+}
+
+
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKey.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKey.java
new file mode 100644
index 0000000000000000000000000000000000000000..bde85327cfa8daa82bd3b29db82a96b06e1621f4
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKey.java
@@ -0,0 +1,29 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+/**
+ * Composed key of an hour of the day and a sensor id.
+ */
+public class HourOfDayKey {
+
+  private final int hourOfDay;
+  private final String sensorId;
+
+  public HourOfDayKey(final int hourOfDay, final String sensorId) {
+    this.hourOfDay = hourOfDay;
+    this.sensorId = sensorId;
+  }
+
+  public int getHourOfDay() {
+    return this.hourOfDay;
+  }
+
+  public String getSensorId() {
+    return this.sensorId;
+  }
+
+  @Override
+  public String toString() {
+    return this.sensorId + ";" + this.hourOfDay;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyCoder.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyCoder.java
new file mode 100644
index 0000000000000000000000000000000000000000..4189761c05981815290c5d2779ad78e94fcb51c0
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyCoder.java
@@ -0,0 +1,60 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.nio.ByteBuffer;
+import java.util.Collections;
+import java.util.List;
+import org.apache.beam.sdk.coders.Coder;
+import org.apache.beam.sdk.coders.CoderException;
+import org.apache.kafka.common.serialization.Serde;
+
+/**
+ * Wrapper Class that encapsulates a {@link HourOfDayKeySerde} in a {@link Coder}.
+ */
+public class HourOfDayKeyCoder extends Coder<HourOfDayKey> implements Serializable {
+  public static final long serialVersionUID = 4444444;
+  private static final boolean DETERMINISTIC = true;
+  private static final int VALUE_SIZE = 4;
+
+  private transient Serde<HourOfDayKey> innerSerde = HourOfDayKeySerde.create();
+
+  @Override
+  public void encode(final HourOfDayKey value, final OutputStream outStream)
+      throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = HourOfDayKeySerde.create();
+    }
+    final byte[] bytes = this.innerSerde.serializer().serialize("ser", value);
+    final byte[] sizeinBytes = ByteBuffer.allocate(VALUE_SIZE).putInt(bytes.length).array();
+    outStream.write(sizeinBytes);
+    outStream.write(bytes);
+  }
+
+  @Override
+  public HourOfDayKey decode(final InputStream inStream) throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = HourOfDayKeySerde.create();
+    }
+    final byte[] sizeinBytes = new byte[VALUE_SIZE];
+    inStream.read(sizeinBytes);
+    final int size = ByteBuffer.wrap(sizeinBytes).getInt();
+    final byte[] bytes = new byte[size];
+    inStream.read(bytes);
+    return this.innerSerde.deserializer().deserialize("deser", bytes);
+  }
+
+  @Override
+  public List<? extends Coder<?>> getCoderArguments() {
+    return Collections.emptyList();
+  }
+
+  @Override
+  public void verifyDeterministic() throws NonDeterministicException {
+    if (!DETERMINISTIC) {
+      throw new NonDeterministicException(this, "This class is not deterministic!");
+    }
+  }
+}
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyFactory.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..a685f324103b23a79fd53bda7eae55d798c40e1d
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeyFactory.java
@@ -0,0 +1,24 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * {@link StatsKeyFactory} for {@link HourOfDayKey}.
+ */
+public class HourOfDayKeyFactory implements StatsKeyFactory<HourOfDayKey>, Serializable {
+
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  public HourOfDayKey createKey(final String sensorId, final LocalDateTime dateTime) {
+    final int hourOfDay = dateTime.getHour();
+    return new HourOfDayKey(hourOfDay, sensorId);
+  }
+
+  @Override
+  public String getSensorId(final HourOfDayKey key) {
+    return key.getSensorId();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeySerde.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeySerde.java
similarity index 68%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeySerde.java
rename to theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeySerde.java
index 6855907e7f357d681c3bd9a6054bf15ad29711ed..8bc32ccc2146f6467f6fcf374f95e8b87c2c351c 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeySerde.java
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayKeySerde.java
@@ -1,10 +1,10 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.beam;
 
 import org.apache.kafka.common.serialization.Serde;
-import titan.ccp.common.kafka.simpleserdes.BufferSerde;
-import titan.ccp.common.kafka.simpleserdes.ReadBuffer;
-import titan.ccp.common.kafka.simpleserdes.SimpleSerdes;
-import titan.ccp.common.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
 
 /**
  * {@link BufferSerde} for a {@link HourOfDayKey}. Use the {@link #create()} method to create a new
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayWithStats.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayWithStats.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d9aa6ab0342db1d92cfedc874adb8c454d00ef8
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/HourOfDayWithStats.java
@@ -0,0 +1,19 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import com.google.common.math.Stats;
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+
+/**
+ * {@link SimpleFunction} that transforms into the sensorId and the Value.
+ */
+public class HourOfDayWithStats extends
+    SimpleFunction<KV<HourOfDayKey, Stats>, KV<String, String>> {
+  private static final long serialVersionUID = -7411154345437422919L;
+  private final HourOfDayKeyFactory keyFactory = new HourOfDayKeyFactory();
+
+  @Override
+  public KV<String, String> apply(final KV<HourOfDayKey, Stats> kv) {
+    return KV.of(keyFactory.getSensorId(kv.getKey()), kv.getValue().toString());
+  }
+}
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/MapTimeFormat.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/MapTimeFormat.java
new file mode 100644
index 0000000000000000000000000000000000000000..0cad038141bd7b30d765520403529e9184bbcb86
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/MapTimeFormat.java
@@ -0,0 +1,27 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Changes the time format to us Europe/Paris time.
+ */
+public class MapTimeFormat
+    extends SimpleFunction<KV<String, ActivePowerRecord>, KV<HourOfDayKey, ActivePowerRecord>> {
+  private static final long serialVersionUID = -6597391279968647035L;
+  private final StatsKeyFactory<HourOfDayKey> keyFactory = new HourOfDayKeyFactory();
+  private final ZoneId zone = ZoneId.of("Europe/Paris");
+
+  @Override
+  public KV<HourOfDayKey, ActivePowerRecord> apply(final KV<String, ActivePowerRecord> kv) {
+    final Instant instant = Instant.ofEpochMilli(kv.getValue().getTimestamp());
+    final LocalDateTime dateTime = LocalDateTime.ofInstant(instant, this.zone);
+    return KV.of(
+        this.keyFactory.createKey(kv.getValue().getIdentifier(), dateTime),
+        kv.getValue());
+  }
+}
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/PipelineFactory.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/PipelineFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6587be4c4660a2e34f34efdaa417a7080073d0e
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/PipelineFactory.java
@@ -0,0 +1,111 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import java.util.function.Function;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.CoderRegistry;
+import org.apache.beam.sdk.coders.KvCoder;
+import org.apache.beam.sdk.coders.SerializableCoder;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.beam.sdk.transforms.Combine;
+import org.apache.beam.sdk.transforms.MapElements;
+import org.apache.beam.sdk.transforms.windowing.AfterProcessingTime;
+import org.apache.beam.sdk.transforms.windowing.AfterWatermark;
+import org.apache.beam.sdk.transforms.windowing.SlidingWindows;
+import org.apache.beam.sdk.transforms.windowing.Window;
+import org.apache.beam.sdk.values.KV;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.joda.time.Duration;
+import rocks.theodolite.benchmarks.commons.beam.AbstractPipelineFactory;
+import rocks.theodolite.benchmarks.commons.beam.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaActivePowerTimestampReader;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaWriterTransformation;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * {@link AbstractPipelineFactory} for UC3.
+ */
+public class PipelineFactory extends AbstractPipelineFactory {
+
+  public PipelineFactory(final Configuration configuration) {
+    super(configuration);
+  }
+
+  @Override
+  protected void expandOptions(final PipelineOptions options) {
+    // No options to set
+  }
+
+  @Override
+  protected void constructPipeline(final Pipeline pipeline) {
+    final String outputTopic = this.config.getString(ConfigurationKeys.KAFKA_OUTPUT_TOPIC);
+
+    final Duration duration =
+        Duration.standardDays(this.config.getInt(ConfigurationKeys.AGGREGATION_DURATION_DAYS));
+    final Duration aggregationAdvanceDuration =
+        Duration.standardDays(this.config.getInt(ConfigurationKeys.AGGREGATION_ADVANCE_DAYS));
+    final Duration triggerDelay =
+        Duration.standardSeconds(this.config.getInt(ConfigurationKeys.TRIGGER_INTERVAL));
+
+    // Read from Kafka
+    final KafkaActivePowerTimestampReader kafkaReader = super.buildKafkaReader();
+
+    // Map the time format
+    final MapTimeFormat mapTimeFormat = new MapTimeFormat();
+
+    // Get the stats per HourOfDay
+    final HourOfDayWithStats hourOfDayWithStats = new HourOfDayWithStats();
+
+    // Write to Kafka
+    final String bootstrapServer = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
+    final KafkaWriterTransformation<String> kafkaWriter =
+        new KafkaWriterTransformation<>(bootstrapServer, outputTopic, StringSerializer.class);
+
+    pipeline.apply(kafkaReader)
+        // Map to correct time format
+        .apply(MapElements.via(mapTimeFormat))
+        // Apply a sliding window
+        .apply(Window
+            .<KV<HourOfDayKey, ActivePowerRecord>>into(
+                SlidingWindows.of(duration).every(aggregationAdvanceDuration))
+            .triggering(AfterWatermark.pastEndOfWindow()
+                .withEarlyFirings(
+                    AfterProcessingTime.pastFirstElementInPane().plusDelayOf(triggerDelay)))
+            .withAllowedLateness(Duration.ZERO)
+            .accumulatingFiredPanes())
+
+        // Aggregate per window for every key
+        .apply(Combine.perKey(new StatsAggregation()))
+        .setCoder(KvCoder.of(new HourOfDayKeyCoder(), SerializableCoder.of(Stats.class)))
+
+        // Map into correct output format
+        .apply(MapElements.via(hourOfDayWithStats))
+        // Write to Kafka
+        .apply(kafkaWriter);
+  }
+
+  @Override
+  protected void registerCoders(final CoderRegistry registry) {
+    registry.registerCoderForClass(
+        ActivePowerRecord.class,
+        // AvroCoder.of(ActivePowerRecord.SCHEMA$));
+        AvroCoder.of(ActivePowerRecord.class, false));
+    registry.registerCoderForClass(
+        HourOfDayKey.class,
+        new HourOfDayKeyCoder());
+    registry.registerCoderForClass(
+        StatsAggregation.class,
+        SerializableCoder.of(StatsAggregation.class));
+    registry.registerCoderForClass(
+        StatsAccumulator.class,
+        AvroCoder.of(StatsAccumulator.class));
+  }
+
+  public static Function<Configuration, AbstractPipelineFactory> factory() {
+    return config -> new PipelineFactory(config);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsAggregation.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsAggregation.java
new file mode 100644
index 0000000000000000000000000000000000000000..4fca536baf6db33e57700263cefb837ca8eb5b8b
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsAggregation.java
@@ -0,0 +1,45 @@
+package rocks.theodolite.benchmarks.uc3.beam;
+
+import com.google.common.math.Stats;
+import com.google.common.math.StatsAccumulator;
+import java.io.Serializable;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.DefaultCoder;
+import org.apache.beam.sdk.transforms.Combine.CombineFn;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+
+/**
+ * Aggregation Class for ActivePowerRecords. Creates a StatsAccumulator based on the ValueInW.
+ */
+
+@DefaultCoder(AvroCoder.class)
+public class StatsAggregation extends CombineFn<ActivePowerRecord, StatsAccumulator, Stats>
+    implements Serializable {
+  private static final long serialVersionUID = 1L;
+
+  @Override
+  public StatsAccumulator createAccumulator() {
+    return new StatsAccumulator();
+  }
+
+  @Override
+  public StatsAccumulator addInput(final StatsAccumulator accum, final ActivePowerRecord input) {
+    accum.add(input.getValueInW());
+    return accum;
+  }
+
+  @Override
+  public StatsAccumulator mergeAccumulators(final Iterable<StatsAccumulator> accums) {
+    final StatsAccumulator merged = this.createAccumulator();
+    for (final StatsAccumulator accum : accums) {
+      merged.addAll(accum.snapshot());
+    }
+    return merged;
+  }
+
+  @Override
+  public Stats extractOutput(final StatsAccumulator accum) {
+    return accum.snapshot();
+  }
+}
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsKeyFactory.java b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsKeyFactory.java
similarity index 87%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsKeyFactory.java
rename to theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsKeyFactory.java
index fdebccaa2d116253c41492cab3443057adef7b36..6f34a50ad171da7d595f23f9b81f4dabfe226fae 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsKeyFactory.java
+++ b/theodolite-benchmarks/uc3-beam/src/main/java/rocks/theodolite/benchmarks/uc3/beam/StatsKeyFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.beam;
 
 import java.time.LocalDateTime;
 
diff --git a/theodolite-benchmarks/uc3-beam/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc3-beam/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0fe4b240d97f087f00c28430740488f7e01f1577
--- /dev/null
+++ b/theodolite-benchmarks/uc3-beam/src/main/resources/META-INF/application.properties
@@ -0,0 +1,23 @@
+application.name=theodolite-uc3-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+kafka.output.topic=output
+kafka.window.duration.minutes=1
+
+schema.registry.url=http://localhost:8081
+
+aggregation.duration.days=30
+aggregation.advance.days=1
+
+trigger.interval=15
+
+num.threads=1
+commit.interval.ms=1000
+cache.max.bytes.buffering=-1
+
+specific.avro.reader=true
+enable.auto.commit=true
+max.poll.records=500
+auto.offset.reset=earliest
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc3-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-flink/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc3-flink/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc3-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc3-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-flink/Dockerfile b/theodolite-benchmarks/uc3-flink/Dockerfile
index 34c6da692cb30b738adf47b9d4ca893e72f330e4..cef05c0296f55f0cf7391dd35dd1806ec0efa287 100644
--- a/theodolite-benchmarks/uc3-flink/Dockerfile
+++ b/theodolite-benchmarks/uc3-flink/Dockerfile
@@ -1,3 +1,3 @@
-FROM flink:1.12-scala_2.12-java11
+FROM flink:1.13-java11
 
 ADD build/libs/uc3-flink-all.jar /opt/flink/usrlib/artifacts/uc3-flink-all.jar
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc3-flink/build.gradle b/theodolite-benchmarks/uc3-flink/build.gradle
index 7f74b4b6f3d75f213d2fae868775423381076641..b6eb067406400299dd3d40061f41b9bc414117b6 100644
--- a/theodolite-benchmarks/uc3-flink/build.gradle
+++ b/theodolite-benchmarks/uc3-flink/build.gradle
@@ -2,16 +2,4 @@ plugins {
   id 'theodolite.flink'
 }
 
-allprojects {
-	repositories {
-    	maven {
-    		url 'https://packages.confluent.io/maven/'
-    	}
-	}
-}
-
-dependencies {
-    compile('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT')
-}
-
-mainClassName = "theodolite.uc3.application.HistoryServiceFlinkJob"
+mainClassName = "rocks.theodolite.benchmarks.uc3.flink.HistoryServiceFlinkJob"
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/ConfigurationKeys.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/ConfigurationKeys.java
similarity index 96%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/ConfigurationKeys.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/ConfigurationKeys.java
index bc4e0b9d2d230026e9d2b6df0a11e4fb68380aed..980f07b9b1478bd2c5fa74c89d1aaff4c10f60df 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/ConfigurationKeys.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application;
+package rocks.theodolite.benchmarks.uc3.flink;
 
 /**
  * Keys to access configuration parameters.
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HistoryServiceFlinkJob.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HistoryServiceFlinkJob.java
similarity index 58%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HistoryServiceFlinkJob.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HistoryServiceFlinkJob.java
index 091b25674a2a31671ca68bd2076c694da9533d77..d80f64fafb69d3e0287347a8f90080584d4fcd82 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HistoryServiceFlinkJob.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HistoryServiceFlinkJob.java
@@ -1,16 +1,12 @@
-package theodolite.uc3.application;
+package rocks.theodolite.benchmarks.uc3.flink;
 
 import com.google.common.math.Stats;
 import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
-import org.apache.commons.configuration2.Configuration;
 import org.apache.flink.api.common.typeinfo.Types;
 import org.apache.flink.api.java.functions.KeySelector;
 import org.apache.flink.api.java.tuple.Tuple2;
-import org.apache.flink.runtime.state.StateBackend;
-import org.apache.flink.streaming.api.TimeCharacteristic;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import org.apache.flink.streaming.api.windowing.assigners.SlidingEventTimeWindows;
 import org.apache.flink.streaming.api.windowing.time.Time;
 import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
@@ -18,66 +14,24 @@ import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer;
 import org.apache.kafka.common.serialization.Serdes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import theodolite.commons.flink.KafkaConnectorFactory;
-import theodolite.commons.flink.StateBackends;
-import theodolite.commons.flink.serialization.StatsSerializer;
-import theodolite.uc3.application.util.HourOfDayKey;
-import theodolite.uc3.application.util.HourOfDayKeyFactory;
-import theodolite.uc3.application.util.HourOfDayKeySerde;
-import theodolite.uc3.application.util.StatsKeyFactory;
-import titan.ccp.common.configuration.ServiceConfigurations;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.flink.AbstractFlinkService;
+import rocks.theodolite.benchmarks.commons.flink.KafkaConnectorFactory;
+import rocks.theodolite.benchmarks.commons.flink.serialization.StatsSerializer;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc3.flink.util.HourOfDayKey;
+import rocks.theodolite.benchmarks.uc3.flink.util.HourOfDayKeyFactory;
+import rocks.theodolite.benchmarks.uc3.flink.util.HourOfDayKeySerde;
+import rocks.theodolite.benchmarks.uc3.flink.util.StatsKeyFactory;
 
 /**
  * The History microservice implemented as a Flink job.
  */
-public final class HistoryServiceFlinkJob {
+public final class HistoryServiceFlinkJob extends AbstractFlinkService {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(HistoryServiceFlinkJob.class);
 
-  private final Configuration config = ServiceConfigurations.createWithDefaults();
-  private final StreamExecutionEnvironment env;
-  private final String applicationId;
-
-  /**
-   * Create a new instance of the {@link HistoryServiceFlinkJob}.
-   */
-  public HistoryServiceFlinkJob() {
-    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
-    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
-    this.applicationId = applicationName + "-" + applicationVersion;
-
-    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
-
-    this.configureEnv();
-
-    this.buildPipeline();
-  }
-
-  private void configureEnv() {
-    this.env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
-
-    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
-    final int commitIntervalMs = this.config.getInt(ConfigurationKeys.COMMIT_INTERVAL_MS);
-    if (checkpointing) {
-      this.env.enableCheckpointing(commitIntervalMs);
-    }
-
-    // Parallelism
-    final Integer parallelism = this.config.getInteger(ConfigurationKeys.PARALLELISM, null);
-    if (parallelism != null) {
-      LOGGER.error("Set parallelism: {}.", parallelism);
-      this.env.setParallelism(parallelism);
-    }
-
-    // State Backend
-    final StateBackend stateBackend = StateBackends.fromConfiguration(this.config);
-    this.env.setStateBackend(stateBackend);
-
-    this.configureSerializers();
-  }
-
-  private void configureSerializers() {
+  @Override
+  protected void configureSerializers() {
     this.env.getConfig().registerTypeWithKryoSerializer(HourOfDayKey.class,
         new HourOfDayKeySerde());
     this.env.getConfig().registerTypeWithKryoSerializer(Stats.class, new StatsSerializer());
@@ -89,7 +43,8 @@ public final class HistoryServiceFlinkJob {
     }
   }
 
-  private void buildPipeline() {
+  @Override
+  protected void buildPipeline() {
     // Configurations
     final String kafkaBroker = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
     final String schemaRegistryUrl = this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL);
@@ -138,21 +93,6 @@ public final class HistoryServiceFlinkJob {
         .addSink(kafkaSink).name("[Kafka Producer] Topic: " + outputTopic);
   }
 
-  /**
-   * Start running this microservice.
-   */
-  public void run() {
-    // Execution plan
-    LOGGER.info("Execution Plan: {}", this.env.getExecutionPlan());
-
-    // Execute Job
-    try {
-      this.env.execute(this.applicationId);
-    } catch (final Exception e) { // NOPMD Execution thrown by Flink
-      LOGGER.error("An error occured while running this job.", e);
-    }
-  }
-
   public static void main(final String[] args) {
     new HistoryServiceFlinkJob().run();
   }
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HourOfDayProcessWindowFunction.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HourOfDayProcessWindowFunction.java
similarity index 89%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HourOfDayProcessWindowFunction.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HourOfDayProcessWindowFunction.java
index 349c63413d0da792ad34e8ec8d94e7ff5dc06a42..9c70ef9dac3e7d000fa21a70b92109bc61156ab7 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/HourOfDayProcessWindowFunction.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/HourOfDayProcessWindowFunction.java
@@ -1,11 +1,11 @@
-package theodolite.uc3.application;
+package rocks.theodolite.benchmarks.uc3.flink;
 
 import com.google.common.math.Stats;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction;
 import org.apache.flink.streaming.api.windowing.windows.TimeWindow;
 import org.apache.flink.util.Collector;
-import theodolite.uc3.application.util.HourOfDayKey;
+import rocks.theodolite.benchmarks.uc3.flink.util.HourOfDayKey;
 
 /**
  * A {@link ProcessWindowFunction} that forwards a computed {@link Stats} object along with its
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/StatsAggregateFunction.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/StatsAggregateFunction.java
similarity index 84%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/StatsAggregateFunction.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/StatsAggregateFunction.java
index 4706da0a9491e0391f25cd61639c3bb565509cb1..83951a4228fe0b73a4330bfae5177f508b9c1b0e 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/StatsAggregateFunction.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/StatsAggregateFunction.java
@@ -1,10 +1,10 @@
-package theodolite.uc3.application;
+package rocks.theodolite.benchmarks.uc3.flink;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
 import org.apache.flink.api.common.functions.AggregateFunction;
-import theodolite.uc3.application.util.StatsFactory;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc3.flink.util.StatsFactory;
 
 /**
  * Statistical aggregation of {@link ActivePowerRecord}s using {@link Stats}.
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKey.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKey.java
similarity index 97%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKey.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKey.java
index 5def88b404f23a59955ca2de42b91c22b7b1b53d..d5cf47bfbf9777dabd809eea8d7770946e39b8e0 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKey.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKey.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeyFactory.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeyFactory.java
similarity index 91%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeyFactory.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeyFactory.java
index bd67b2508bc91a87635c52e95b963ed908ed92bf..91e4afb0423f16cd0dd3942301e2f6e51adcd402 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeyFactory.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeyFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeySerde.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeySerde.java
similarity index 81%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeySerde.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeySerde.java
index 6e3ae9f754d2b1d4ab10349040f0c9e51134c4f7..5b08fcad2ff744e3d0e14e51d35fad88d2900470 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayKeySerde.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayKeySerde.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.Serializer;
@@ -6,10 +6,10 @@ import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
 import java.io.Serializable;
 import org.apache.kafka.common.serialization.Serde;
-import titan.ccp.common.kafka.simpleserdes.BufferSerde;
-import titan.ccp.common.kafka.simpleserdes.ReadBuffer;
-import titan.ccp.common.kafka.simpleserdes.SimpleSerdes;
-import titan.ccp.common.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
 
 /**
  * {@link BufferSerde} for a {@link HourOfDayKey}. Use the {@link #create()} method to create a new
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayRecordFactory.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayRecordFactory.java
similarity index 84%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayRecordFactory.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayRecordFactory.java
index dfa9b95b08b95bf29621969c56a1e76cdcfc7877..420179a0825d5b897f6927040eb57c43d27837ef 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayRecordFactory.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/HourOfDayRecordFactory.java
@@ -1,8 +1,8 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import com.google.common.math.Stats;
 import org.apache.kafka.streams.kstream.Windowed;
-import titan.ccp.model.records.HourOfDayActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord;
 
 /**
  * {@link StatsRecordFactory} to create an {@link HourOfDayActivePowerRecord}.
diff --git a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/util/StatsFactory.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsFactory.java
similarity index 91%
rename from theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/util/StatsFactory.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsFactory.java
index 9697108eb8dacabf925f06067199a41eb0658dbe..71955acdf9c81d71284e761cbdf151b5a2bb73ef 100644
--- a/theodolite-benchmarks/uc2-flink/src/main/java/theodolite/uc2/application/util/StatsFactory.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc2.application.util;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsKeyFactory.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsKeyFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..23ffed974c25e3ef43a49b2a72491d2be7f78d05
--- /dev/null
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsKeyFactory.java
@@ -0,0 +1,17 @@
+package rocks.theodolite.benchmarks.uc3.flink.util;
+
+import java.time.LocalDateTime;
+
+/**
+ * Factory interface for creating a stats key from a sensor id and a {@link LocalDateTime} object
+ * and vice versa.
+ *
+ * @param <T> Type of the key
+ */
+public interface StatsKeyFactory<T> {
+
+  T createKey(String sensorId, LocalDateTime dateTime);
+
+  String getSensorId(T key);
+
+}
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsRecordFactory.java b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsRecordFactory.java
similarity index 93%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsRecordFactory.java
rename to theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsRecordFactory.java
index 31935df9db0949b05e602109b3edc23dee9499af..f67187e4bcd87198509fc5a8c107c7ed039a1ae0 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsRecordFactory.java
+++ b/theodolite-benchmarks/uc3-flink/src/main/java/rocks/theodolite/benchmarks/uc3/flink/util/StatsRecordFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.flink.util;
 
 import com.google.common.math.Stats;
 import org.apache.avro.specific.SpecificRecord;
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/Dockerfile b/theodolite-benchmarks/uc3-hazelcastjet/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..6dc99aeb7263ef0084e9721ad9bd908a36cd61f6
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/Dockerfile
@@ -0,0 +1,7 @@
+FROM openjdk:11-slim
+
+ADD build/distributions/uc3-hazelcastjet.tar /
+
+
+CMD  JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=$LOG_LEVEL" \
+     /uc3-hazelcastjet/bin/uc3-hazelcastjet
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/build.gradle b/theodolite-benchmarks/uc3-hazelcastjet/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..737ef6af17cb4c5aa4aa2ee97b5c3e7e4aa0d929
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/build.gradle
@@ -0,0 +1,5 @@
+plugins {
+  id 'theodolite.hazelcastjet'
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc3.hazelcastjet.HistoryService"
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/HistoryService.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/HistoryService.java
new file mode 100644
index 0000000000000000000000000000000000000000..ecf38bd6c6a85e6d0f1431708a69f3431aff4730
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/HistoryService.java
@@ -0,0 +1,72 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A microservice that manages the history and, therefore, stores and aggregates incoming
+ * measurements.
+ */
+public class HistoryService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HistoryService.class);
+
+  // Hazelcast settings (default)
+  private static final String HZ_KUBERNETES_SERVICE_DNS_KEY = "service-dns";
+  private static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
+
+  // Kafka settings (default)
+  private static final String KAFKA_BOOTSTRAP_DEFAULT = "localhost:9092";
+  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+  private static final String KAFKA_INPUT_TOPIC_DEFAULT = "input";
+  private static final String KAFKA_OUTPUT_TOPIC_DEFAULT = "output";
+  
+  // UC3 specific (default)
+  private static final String WINDOW_SIZE_IN_SECONDS_DEFAULT = "2629800";
+  private static final String HOPSIZE_IN_SEC_DEFAULT = "86400";
+
+  // Job name (default)
+  private static final String JOB_NAME = "uc3-hazelcastjet";
+
+  /**
+   * Entrypoint for UC3 using Gradle Run.
+   */
+  public static void main(final String[] args) {
+    final HistoryService uc3HistoryService = new HistoryService();
+    try {
+      uc3HistoryService.run();
+    } catch (final Exception e) { // NOPMD
+      LOGGER.error("ABORT MISSION!: {}", e);
+    }
+  }
+
+  /**
+   * Start a UC3 service.
+   *
+   * @throws Exception This Exception occurs if the Uc3HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  public void run() throws Exception { // NOPMD
+    this.createHazelcastJetApplication();
+  }
+
+  /**
+   * Creates a Hazelcast Jet Application for UC3 using the Uc3HazelcastJetFactory.
+   *
+   * @throws Exception This Exception occurs if the Uc3HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  private void createHazelcastJetApplication() throws Exception { // NOPMD
+    new Uc3HazelcastJetFactory()
+        .setReadPropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT, JOB_NAME)
+        .setWritePropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT)
+        .setKafkaInputTopicFromEnv(KAFKA_INPUT_TOPIC_DEFAULT)
+        .setKafkaOutputTopicFromEnv(KAFKA_OUTPUT_TOPIC_DEFAULT)
+        .setWindowSizeInSecondsFromEnv(WINDOW_SIZE_IN_SECONDS_DEFAULT)
+        .setHoppingSizeInSecondsFromEnv(HOPSIZE_IN_SEC_DEFAULT)
+        .buildUc3Pipeline()
+        .buildUc3JetInstanceFromEnv(LOGGER, BOOTSTRAP_SERVER_DEFAULT, HZ_KUBERNETES_SERVICE_DNS_KEY)
+        .runUc3Job(JOB_NAME);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3HazelcastJetFactory.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3HazelcastJetFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..d87aa19d316b278160dbc92b19b9be3d40a41d61
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3HazelcastJetFactory.java
@@ -0,0 +1,341 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet;
+
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.pipeline.Pipeline;
+import io.confluent.kafka.serializers.KafkaAvroDeserializer;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.JetInstanceBuilder;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.KafkaPropertiesBuilder;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HourOfDayKey;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HourOfDayKeySerializer;
+
+/**
+ * A Hazelcast Jet factory which can build a Hazelcast Jet Instance and Pipeline for the UC3
+ * benchmark and lets you start the Hazelcast Jet job. The JetInstance can be built directly as the
+ * Hazelcast Config is managed internally. In order to build the Pipeline, you first have to build
+ * the Read and Write Properties, set the input and output topic, and set the window size in seconds
+ * and the hopping size in seconds. This can be done using internal functions of this factory.
+ * Outside data only refers to custom values or default values in case data of the environment
+ * cannot the fetched.
+ */
+public class Uc3HazelcastJetFactory { // NOPMD
+
+  // Information per History Service
+  private Properties kafkaReadPropsForPipeline;
+  private Properties kafkaWritePropsForPipeline;
+  private String kafkaInputTopic;
+  private String kafkaOutputTopic;
+  private JetInstance uc3JetInstance;
+  private Pipeline uc3JetPipeline;
+  // UC3 specific
+  private int windowSizeInSeconds;
+  private int hoppingSizeInSeconds;
+
+  /////////////////////////////////////
+  // Layer 1 - Hazelcast Jet Run Job //
+  /////////////////////////////////////
+
+  /**
+   * Needs a JetInstance and Pipeline defined in this factors. Adds the pipeline to the existing
+   * JetInstance as a job.
+   *
+   * @param jobName The name of the job.
+   * @throws Exception If either no JetInstance or Pipeline is set, a job cannot be startet.
+   */
+  public void runUc3Job(final String jobName) throws IllegalStateException { // NOPMD
+
+    // Check if a Jet Instance for UC3 is set.
+    if (this.uc3JetInstance == null) {
+      throw new IllegalStateException("Jet Instance is not set! "
+          + "Cannot start a hazelcast jet job for UC3.");
+    }
+
+    // Check if a Pipeline for UC3 is set.
+    if (this.uc3JetPipeline == null) {
+      throw new IllegalStateException(
+          "Hazelcast Pipeline is not set! Cannot start a hazelcast jet job for UC3.");
+    }
+
+    // Adds the job name and joins a job to the JetInstance defined in this factory
+    final JobConfig jobConfig = new JobConfig()
+        .registerSerializer(HourOfDayKey.class, HourOfDayKeySerializer.class)
+        .setName(jobName);
+    this.uc3JetInstance.newJobIfAbsent(this.uc3JetPipeline, jobConfig).join();
+  }
+
+  /////////////
+  // Layer 2 //
+  /////////////
+
+  /**
+   * Build a Hazelcast JetInstance used to run a job on.
+   *
+   * @param logger The logger specified for this JetInstance.
+   * @param bootstrapServerDefault Default bootstrap server in case no value can be derived from the
+   *        environment.
+   * @param hzKubernetesServiceDnsKey The kubernetes service dns key.
+   * @return A Uc3HazelcastJetFactory containing a set JetInstance.
+   */
+  public Uc3HazelcastJetFactory buildUc3JetInstanceFromEnv(final Logger logger,
+      final String bootstrapServerDefault,
+      final String hzKubernetesServiceDnsKey) {
+    this.uc3JetInstance = new JetInstanceBuilder()
+        .setConfigFromEnv(logger, bootstrapServerDefault, hzKubernetesServiceDnsKey)
+        .build();
+    return this;
+  }
+
+  /**
+   * Builds a Hazelcast Jet pipeline used for a JetInstance to run it as a job on. Needs the input
+   * topic and kafka properties defined in this factory beforehand.
+   *
+   * @return A Uc3HazelcastJetFactory containg a set pipeline.
+   * @throws Exception If the input topic or the kafka properties are not defined, the pipeline
+   *         cannot be built.
+   */
+  public Uc3HazelcastJetFactory buildUc3Pipeline() throws IllegalStateException { // NOPMD
+
+    final String defaultPipelineWarning = "Cannot build pipeline."; // NOPMD
+
+    // Check if Properties for the Kafka Input are set.
+    if (this.kafkaReadPropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Read Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if Properties for the Kafka Output are set.
+    if (this.kafkaWritePropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Write Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka input topic is set.
+    if (this.kafkaInputTopic == null) {
+      throw new IllegalStateException("Kafka input topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka output topic is set.
+    if (this.kafkaOutputTopic == null) {
+      throw new IllegalStateException("kafka output topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the window size for the "sliding" window is set.
+    if (this.windowSizeInSeconds <= 0) {
+      throw new IllegalStateException(
+          "window size in seconds for pipeline not set or not greater than 0! "
+              + defaultPipelineWarning);
+    }
+
+    // Check if the hopping distance for the "sliding" window is set.
+    if (this.hoppingSizeInSeconds <= 0) {
+      throw new IllegalStateException(
+          "hopping size in seconds for pipeline not set or not greater than 0! "
+              + defaultPipelineWarning);
+    }
+
+    // Build Pipeline Using the pipelineBuilder
+    final Uc3PipelineBuilder pipeBuilder = new Uc3PipelineBuilder();
+    this.uc3JetPipeline =
+        pipeBuilder.build(this.kafkaReadPropsForPipeline,
+            this.kafkaWritePropsForPipeline,
+            this.kafkaInputTopic, this.kafkaOutputTopic, this.hoppingSizeInSeconds,
+            this.windowSizeInSeconds);
+    // Return Uc3HazelcastJetBuilder factory
+    return this;
+  }
+
+  /////////////
+  // Layer 3 //
+  /////////////
+
+  /**
+   * Sets kafka read properties for pipeline used in this builder.
+   *
+   * @param kafkaReadProperties A propeties object containing necessary values used for the hazelcst
+   *        jet kafka connection to read data.
+   * @return The Uc3HazelcastJetBuilder factory with set kafkaReadPropsForPipeline.
+   */
+  public Uc3HazelcastJetFactory setCustomReadProperties(// NOPMD
+      final Properties kafkaReadProperties) {
+    this.kafkaReadPropsForPipeline = kafkaReadProperties;
+    return this;
+  }
+
+  /**
+   * Sets kafka write properties for pipeline used in this builder.
+   *
+   * @param kafkaWriteProperties A propeties object containing necessary values used for the
+   *        hazelcst jet kafka connection to write data.
+   * @return The Uc3HazelcastJetBuilder factory with set kafkaWritePropsForPipeline.
+   */
+  public Uc3HazelcastJetFactory setCustomWriteProperties(// NOPMD
+      final Properties kafkaWriteProperties) {
+    this.kafkaWritePropsForPipeline = kafkaWriteProperties;
+    return this;
+  }
+
+  /**
+   * Sets kafka read properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @param schemaRegistryUrlDefault Default schema registry url in the case that no schema registry
+   *        url can be fetched from the environment.
+   * @return The Uc3HazelcastJetBuilder factory with set kafkaReadPropertiesForPipeline.
+   */
+  public Uc3HazelcastJetFactory setReadPropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault,
+      final String schemaRegistryUrlDefault,
+      final String jobName) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaReadProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            jobName,
+            StringDeserializer.class.getCanonicalName(),
+            KafkaAvroDeserializer.class.getCanonicalName());
+    this.kafkaReadPropsForPipeline = kafkaReadProps;
+    return this;
+  }
+
+  /**
+   * Sets kafka write properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @return The Uc3HazelcastJetBuilder factory with set kafkaWritePropertiesForPipeline.
+   */
+  public Uc3HazelcastJetFactory setWritePropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault, final String schemaRegistryUrlDefault) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaWriteProps =
+        propsBuilder.buildKafkaWritePropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            StringSerializer.class.getCanonicalName(),
+            StringSerializer.class.getCanonicalName());
+    this.kafkaWritePropsForPipeline = kafkaWriteProps;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder.
+   *
+   * @param inputTopic The kafka topic used as the pipeline input.
+   * @return A Uc3HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc3HazelcastJetFactory setCustomKafkaInputTopic(// NOPMD
+      final String inputTopic) {
+    this.kafkaInputTopic = inputTopic;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input output for the pipeline used in this builder.
+   *
+   * @param outputTopic The kafka topic used as the pipeline output.
+   * @return A Uc3HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc3HazelcastJetFactory setCustomKafkaOutputTopic(final String outputTopic) { // NOPMD
+    this.kafkaOutputTopic = outputTopic;
+    return this;
+  }
+
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultInputTopic The default kafka input topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc3HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc3HazelcastJetFactory setKafkaInputTopicFromEnv(// NOPMD
+      final String defaultInputTopic) {
+    this.kafkaInputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+        defaultInputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the kafka output topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultOutputTopic The default kafka output topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc3HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc3HazelcastJetFactory setKafkaOutputTopicFromEnv(// NOPMD
+      final String defaultOutputTopic) {
+    this.kafkaOutputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_OUTPUT_TOPIC),
+        defaultOutputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the window size in seconds for the pipeline used in this builder.
+   *
+   * @param windowSizeInSeconds the windowSizeInSeconds to be used for this pipeline.
+   * @return A Uc3HazelcastJetFactory with a set windowSizeInSeconds.
+   */
+  public Uc3HazelcastJetFactory setCustomWindowSizeInSeconds(// NOPMD
+      final int windowSizeInSeconds) {
+    this.windowSizeInSeconds = windowSizeInSeconds;
+    return this;
+  }
+
+  /**
+   * Sets the window size in seconds for the pipeline used in this builder from the environment.
+   *
+   * @param defaultWindowSizeInSeconds the default window size in seconds to be used for this
+   *        pipeline when none is set in the environment.
+   * @return A Uc3HazelcastJetFactory with a set windowSizeInSeconds.
+   */
+  public Uc3HazelcastJetFactory setWindowSizeInSecondsFromEnv(// NOPMD
+      final String defaultWindowSizeInSeconds) {
+    final String windowSizeInSeconds = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.WINDOW_SIZE_IN_SECONDS),
+        defaultWindowSizeInSeconds);
+    final int windowSizeInSecondsNumber = Integer.parseInt(windowSizeInSeconds);
+    this.windowSizeInSeconds = windowSizeInSecondsNumber;
+    return this;
+  }
+
+  /**
+   * Sets the hopping size in seconds for the pipeline used in this builder.
+   *
+   * @param hoppingSizeInSeconds the hoppingSizeInSeconds to be used for this pipeline.
+   * @return A Uc3HazelcastJetFactory with a set hoppingSizeInSeconds.
+   */
+  public Uc3HazelcastJetFactory setCustomHoppingSizeInSeconds(// NOPMD
+      final int hoppingSizeInSeconds) {
+    this.hoppingSizeInSeconds = hoppingSizeInSeconds;
+    return this;
+  }
+
+  /**
+   * Sets the hopping size in seconds for the pipeline used in this builder from the environment.
+   *
+   * @param defaultHoppingSizeInSeconds the default hopping size in seconds to be used for this
+   *        pipeline when none is set in the environment.
+   * @return A Uc3HazelcastJetFactory with a set hoppingSizeInSeconds.
+   */
+  public Uc3HazelcastJetFactory setHoppingSizeInSecondsFromEnv(// NOPMD
+      final String defaultHoppingSizeInSeconds) {
+    final String hoppingSizeInSeconds = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.HOPPING_SIZE_IN_SECONDS),
+        defaultHoppingSizeInSeconds);
+    final int hoppingSizeInSecondsNumber = Integer.parseInt(hoppingSizeInSeconds);
+    this.hoppingSizeInSeconds = hoppingSizeInSecondsNumber;
+    return this;
+  }
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineBuilder.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..e651d44fd2d099ae41296cc08487c787501d9b46
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineBuilder.java
@@ -0,0 +1,125 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet;
+
+import com.hazelcast.jet.aggregate.AggregateOperations;
+import com.hazelcast.jet.kafka.KafkaSinks;
+import com.hazelcast.jet.kafka.KafkaSources;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sinks;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.WindowDefinition;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.TimeZone;
+import java.util.concurrent.TimeUnit;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HourOfDayKey;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HoursOfDayKeyFactory;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.StatsKeyFactory;
+
+/**
+ * Builder to build a HazelcastJet Pipeline for UC3 which can be used for stream processing using
+ * Hazelcast Jet.
+ */
+public class Uc3PipelineBuilder {
+
+  /**
+   * Builds a pipeline which can be used for stream processing using Hazelcast Jet.
+   *
+   * @param kafkaReadPropsForPipeline Properties Object containing the necessary kafka reads
+   *        attributes.
+   * @param kafkaWritePropsForPipeline Properties Object containing the necessary kafka write
+   *        attributes.
+   * @param kafkaInputTopic The name of the input topic used for the pipeline.
+   * @param kafkaOutputTopic The name of the output topic used for the pipeline.
+   * @param hoppingSizeInSeconds The hop length of the sliding window used in the aggregation of
+   *        this pipeline.
+   * @param windowSizeInSeconds The window length of the sliding window used in the aggregation of
+   *        this pipeline.
+   * @return returns a Pipeline used which can be used in a Hazelcast Jet Instance to process data
+   *         for UC3.
+   */
+  public Pipeline build(final Properties kafkaReadPropsForPipeline,
+      final Properties kafkaWritePropsForPipeline, final String kafkaInputTopic,
+      final String kafkaOutputTopic,
+      final int hoppingSizeInSeconds, final int windowSizeInSeconds) {
+
+    // Define a new Pipeline
+    final Pipeline pipe = Pipeline.create();
+
+    // Define the source
+    final StreamSource<Entry<String, ActivePowerRecord>> kafkaSource = KafkaSources
+        .<String, ActivePowerRecord>kafka(
+            kafkaReadPropsForPipeline, kafkaInputTopic);
+
+    // Extend topology for UC3
+    final StreamStage<Map.Entry<String, String>> uc3Product =
+        this.extendUc3Topology(pipe, kafkaSource, hoppingSizeInSeconds, windowSizeInSeconds);
+
+    // Add Sink1: Logger
+    uc3Product.writeTo(Sinks.logger());
+    // Add Sink2: Write back to kafka for the final benchmark
+    uc3Product.writeTo(KafkaSinks.<String, String>kafka(
+        kafkaWritePropsForPipeline, kafkaOutputTopic));
+
+    return pipe;
+  }
+
+  /**
+   * Extends to a blank Hazelcast Jet Pipeline the UC3 topology defined by theodolite.
+   *
+   * <p>
+   * UC3 takes {@code ActivePowerRecord} object, groups them by keys and calculates average double
+   * values for a sliding window and sorts them into the hour of the day.
+   * </p>
+   *
+   * @param pipe The blank hazelcast jet pipeline to extend the logic to.
+   * @param source A streaming source to fetch data from.
+   * @param hoppingSizeInSeconds The jump distance of the "sliding" window.
+   * @param windowSizeInSeconds The size of the "sliding" window.
+   * @return A {@code StreamStage<Map.Entry<String,String>>} with the above definition of the key
+   *         and value of the Entry object. It can be used to be further modified or directly be
+   *         written into a sink.
+   */
+  public StreamStage<Map.Entry<String, String>> extendUc3Topology(final Pipeline pipe,
+      final StreamSource<Entry<String, ActivePowerRecord>> source, final int hoppingSizeInSeconds,
+      final int windowSizeInSeconds) {
+    // Build the pipeline topology.
+    return pipe
+        .readFrom(source)
+        // use Timestamps
+        .withNativeTimestamps(0)
+        .setLocalParallelism(1)
+        // Map timestamp to hour of day and create new key using sensorID and
+        // datetime mapped to HourOfDay
+        .map(record -> {
+          final String sensorId = record.getValue().getIdentifier();
+          final long timestamp = record.getValue().getTimestamp();
+          final LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp),
+              TimeZone.getDefault().toZoneId());
+
+          final StatsKeyFactory<HourOfDayKey> keyFactory = new HoursOfDayKeyFactory();
+          final HourOfDayKey newKey = keyFactory.createKey(sensorId, dateTime);
+
+          return Map.entry(newKey, record.getValue());
+        })
+        // group by new keys
+        .groupingKey(Entry::getKey)
+        // Sliding/Hopping Window
+        .window(WindowDefinition.sliding(TimeUnit.SECONDS.toMillis(windowSizeInSeconds),
+            TimeUnit.SECONDS.toMillis(hoppingSizeInSeconds)))
+        // get average value of group (sensoreId,hourOfDay)
+        .aggregate(
+            AggregateOperations.averagingDouble(record -> record.getValue().getValueInW()))
+        // map to return pair (sensorID,hourOfDay) -> (averaged what value)
+        .map(agg -> {
+          final String theValue = agg.getValue().toString();
+          final String theKey = agg.getKey().toString();
+          return Map.entry(theKey, theValue);
+        });
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKey.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKey.java
new file mode 100644
index 0000000000000000000000000000000000000000..c69f433f3af7ec0484c254af9e59e7d284379cb0
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKey.java
@@ -0,0 +1,50 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics;
+
+import java.util.Objects;
+
+/**
+ * A key consisting of a hour of a day and a sensorID.
+ *
+ */
+public class HourOfDayKey {
+
+  private final int hourOfDay;
+  private final String sensorId;
+
+  public HourOfDayKey(final int hourOfDay, final String sensorId) {
+    this.hourOfDay = hourOfDay;
+    this.sensorId = sensorId;
+  }
+
+  public int getHourOfDay() {
+    return this.hourOfDay;
+  }
+
+  public String getSensorId() {
+    return this.sensorId;
+  }
+
+  @Override
+  public String toString() {
+    return this.sensorId + ";" + this.hourOfDay;
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(this.hourOfDay, this.sensorId);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof HourOfDayKey) {
+      final HourOfDayKey other = (HourOfDayKey) obj;
+      return Objects.equals(this.hourOfDay, other.hourOfDay)
+          && Objects.equals(this.sensorId, other.sensorId);
+    }
+    return false;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKeySerializer.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKeySerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..91ba3f2be26f4317a1dec81caf9080da8c1edc9c
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HourOfDayKeySerializer.java
@@ -0,0 +1,32 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics;
+
+import com.hazelcast.nio.ObjectDataInput;
+import com.hazelcast.nio.ObjectDataOutput;
+import com.hazelcast.nio.serialization.StreamSerializer;
+import java.io.IOException;
+
+/**
+ * A pipeline serializer for the HourOfDayKey to allow for parallelization.
+ * 
+ */
+public class HourOfDayKeySerializer implements StreamSerializer<HourOfDayKey> {
+
+  private static final int TYPE_ID = 1;
+
+  @Override
+  public int getTypeId() {
+    return TYPE_ID;
+  }
+
+  @Override
+  public void write(final ObjectDataOutput out, final HourOfDayKey key) throws IOException {
+    out.writeInt(key.getHourOfDay());
+    out.writeString(key.getSensorId());
+  }
+
+  @Override
+  public HourOfDayKey read(final ObjectDataInput in) throws IOException {
+    return new HourOfDayKey(in.readInt(), in.readString());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HoursOfDayKeyFactory.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HoursOfDayKeyFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..4eddb85efebf5b8b07317d0cd39f36b90d3f4fcd
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/HoursOfDayKeyFactory.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics;
+
+import java.time.LocalDateTime;
+
+/**
+ * A factory class to build an {@link HourOfDayKey}.
+ *
+ */
+public class HoursOfDayKeyFactory implements StatsKeyFactory<HourOfDayKey> {
+
+  @Override
+  public HourOfDayKey createKey(final String sensorId, final LocalDateTime dateTime) {
+    final int hourOfDay = dateTime.getHour();
+    return new HourOfDayKey(hourOfDay, sensorId);
+  }
+
+  @Override
+  public String getSensorId(final HourOfDayKey key) {
+    return key.getSensorId();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/StatsKeyFactory.java b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/StatsKeyFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a404781e5916473604f14f87b9c3eccf9eda342
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/uc3specifics/StatsKeyFactory.java
@@ -0,0 +1,17 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics;
+
+import java.time.LocalDateTime;
+
+/**
+ * Factory interface for creating a stats key from a sensor id and a {@link LocalDateTime} object
+ * and vice versa.
+ *
+ * @param <T> Type of the key
+ */
+public interface StatsKeyFactory<T> {
+
+  T createKey(String sensorId, LocalDateTime dateTime);
+
+  String getSensorId(T key);
+
+}
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc3-hazelcastjet/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e3371cc87e20e85e6e8c327955537e6e49dab86e
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/main/resources/META-INF/application.properties
@@ -0,0 +1,8 @@
+application.name=theodolite-uc1-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+
+schema.registry.url=http://localhost:8081
+
diff --git a/theodolite-benchmarks/uc3-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineTest.java b/theodolite-benchmarks/uc3-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..969ff27d1154a0bd52cb3a048eca2f12ca901138
--- /dev/null
+++ b/theodolite-benchmarks/uc3-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc3/hazelcastjet/Uc3PipelineTest.java
@@ -0,0 +1,158 @@
+package rocks.theodolite.benchmarks.uc3.hazelcastjet;
+
+import com.hazelcast.jet.Jet;
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JetConfig;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.core.JetTestSupport;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.test.AssertionCompletedException;
+import com.hazelcast.jet.pipeline.test.Assertions;
+import com.hazelcast.jet.pipeline.test.TestSources;
+import com.hazelcast.jet.test.SerialTest;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.TimeZone;
+import java.util.concurrent.CompletionException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HourOfDayKey;
+import rocks.theodolite.benchmarks.uc3.hazelcastjet.uc3specifics.HourOfDayKeySerializer;
+
+/**
+ * Test methods for the Hazelcast Jet Implementation of UC3.
+ */
+@Category(SerialTest.class)
+public class Uc3PipelineTest extends JetTestSupport {
+
+  // Test Machinery
+  private JetInstance testInstance = null;
+  private Pipeline testPipeline = null;
+  private StreamStage<Entry<String, String>> uc3Topology = null;
+
+
+  /**
+   * Creates the JetInstance, defines a new Hazelcast Jet Pipeline and extends the UC3 topology.
+   * Allows for quick extension of tests.
+   */
+  @Before
+  public void buildUc3Pipeline() {
+
+    // Setup Configuration
+    final int testItemsPerSecond = 1;
+    final String testSensorName = "TEST-SENSOR";
+    final Double testValueInW = 10.0;
+    final int testHopSizeInSec = 1;
+    final int testWindowSizeInSec = 50;
+    // Used to check hourOfDay
+    final long mockTimestamp = 1632741651;
+
+
+    // Create mock jet instance with configuration
+    final String testClusterName = randomName();
+    final JetConfig testJetConfig = new JetConfig();
+    testJetConfig.getHazelcastConfig().setClusterName(testClusterName);
+    this.testInstance = this.createJetMember(testJetConfig);
+
+    // Create a test source
+    final StreamSource<Entry<String, ActivePowerRecord>> testSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+          final ActivePowerRecord testRecord =
+              new ActivePowerRecord(testSensorName, mockTimestamp, testValueInW);
+          final Entry<String, ActivePowerRecord> testEntry =
+              Map.entry(testSensorName, testRecord);
+          return testEntry;
+        });
+
+    // Create pipeline to test
+    final Uc3PipelineBuilder pipelineBuilder = new Uc3PipelineBuilder();
+    this.testPipeline = Pipeline.create();
+    this.uc3Topology = pipelineBuilder.extendUc3Topology(this.testPipeline, testSource,
+        testHopSizeInSec, testWindowSizeInSec);
+  }
+
+  /**
+   * Tests if no items reach the end before the first window ends.
+   */
+  @Test
+  public void testOutput() {
+
+    // Assertion Configuration
+    final int timeout = 10;
+    final String testSensorName = "TEST-SENSOR";
+    final Double testValueInW = 10.0;
+    // Used to check hourOfDay
+    final long mockTimestamp = 1632741651;
+
+    // Assertion
+    this.uc3Topology.apply(Assertions.assertCollectedEventually(timeout,
+        collection -> {
+
+          // DEBUG
+          System.out.println("DEBUG: CHECK 1 || Entered Assertion of testOutput()");
+
+          // Check all collected Items
+          boolean allOkay = true;
+          if (collection != null) {
+            System.out.println("DEBUG: CHECK 2 || Collection Size: " + collection.size());
+            for (final Entry<String, String> currentEntry : collection) {
+
+              // Build hour of day
+              final long timestamp = mockTimestamp;
+              final int expectedHour = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp),
+                  TimeZone.getDefault().toZoneId()).getHour();
+
+              final String expectedKey = testSensorName + ";" + expectedHour;
+              final String expectedValue = testValueInW.toString();
+
+              // DEBUG
+              System.out.println(
+                  "DEBUG: CHECK 3 || Expected Output: '" + expectedKey + "=" + expectedValue
+                      + "' - Actual Output: '" + currentEntry.getKey() + "="
+                      + currentEntry.getValue().toString() + "'");
+
+              if (!(currentEntry.getKey().equals(expectedKey)
+                  && currentEntry.getValue().toString().equals(expectedValue))) {
+                System.out.println("DEBUG: CHECK 5 || Failed assertion!");
+                allOkay = false;
+              }
+            }
+          }
+
+          // Assertion
+          Assert.assertTrue(
+              "Items do not match expected structure!", allOkay);
+        }));
+
+    // Run the test!
+    try {
+      final JobConfig jobConfig = new JobConfig()
+          .registerSerializer(HourOfDayKey.class, HourOfDayKeySerializer.class);
+      this.testInstance.newJob(this.testPipeline, jobConfig).join();
+      Assert.fail("Job should have completed with an AssertionCompletedException, "
+          + "but completed normally!");
+    } catch (final CompletionException e) {
+      final String errorMsg = e.getCause().getMessage();
+      Assert.assertTrue(
+          "Job was expected to complete with AssertionCompletedException, but completed with: "
+              + e.getCause(),
+          errorMsg.contains(AssertionCompletedException.class.getName()));
+    }
+
+  }
+
+  @After
+  public void after() {
+    // Shuts down all running Jet Instances
+    Jet.shutdownAll();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-kstreams/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-kstreams/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc3-kstreams/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc3-kstreams/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc3-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-kstreams/build.gradle b/theodolite-benchmarks/uc3-kstreams/build.gradle
index d588d85ae88e3efd2b687e44e9eb9561a45cd8c0..ee92f636476cc5ee12f32c5e3f78d5a71c298a29 100644
--- a/theodolite-benchmarks/uc3-kstreams/build.gradle
+++ b/theodolite-benchmarks/uc3-kstreams/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.kstreams'
 }
 
-mainClassName = "theodolite.uc3.application.HistoryService"
+mainClassName = "rocks.theodolite.benchmarks.uc3.kstreams.HistoryService"
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/application/HistoryService.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HistoryService.java
similarity index 87%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/application/HistoryService.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HistoryService.java
index 84fb29969d2ce37a1d443752790379b1af634df5..8776fcda3092d8282f6ab85f69c734bf834a2bcc 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/application/HistoryService.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HistoryService.java
@@ -1,12 +1,11 @@
-package theodolite.uc3.application;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.time.Duration;
 import java.util.concurrent.CompletableFuture;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.KafkaStreams;
-import theodolite.commons.kafkastreams.ConfigurationKeys;
-import theodolite.uc3.streamprocessing.Uc3KafkaStreamsBuilder;
-import titan.ccp.common.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.commons.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.kstreams.ConfigurationKeys;
 
 /**
  * A microservice that manages the history and, therefore, stores and aggregates incoming
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKey.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKey.java
similarity index 95%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKey.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKey.java
index 549674f9f546a26d38491195edc2139aeadd785b..4e4d97986662f4777fc6ff8dafc28860ed49dc85 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKey.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKey.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.util.Objects;
 
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeyFactory.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeyFactory.java
similarity index 90%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeyFactory.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeyFactory.java
index 837ca9d32e1a353917adcd3f70eb1af51d801613..02fdbaf56d0f2d1e3e317ecc3cd17710f8a3ea5c 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/HourOfDayKeyFactory.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeyFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.time.LocalDateTime;
 
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeySerde.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeySerde.java
new file mode 100644
index 0000000000000000000000000000000000000000..e2a3b03e1e51df2756299b66d24e89d9cf0403b9
--- /dev/null
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayKeySerde.java
@@ -0,0 +1,32 @@
+package rocks.theodolite.benchmarks.uc3.kstreams;
+
+import org.apache.kafka.common.serialization.Serde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
+
+/**
+ * {@link BufferSerde} for a {@link HourOfDayKey}. Use the {@link #create()} method to create a new
+ * Kafka {@link Serde}.
+ */
+public class HourOfDayKeySerde implements BufferSerde<HourOfDayKey> {
+
+  @Override
+  public void serialize(final WriteBuffer buffer, final HourOfDayKey data) {
+    buffer.putInt(data.getHourOfDay());
+    buffer.putString(data.getSensorId());
+  }
+
+  @Override
+  public HourOfDayKey deserialize(final ReadBuffer buffer) {
+    final int hourOfDay = buffer.getInt();
+    final String sensorId = buffer.getString();
+    return new HourOfDayKey(hourOfDay, sensorId);
+  }
+
+  public static Serde<HourOfDayKey> create() {
+    return SimpleSerdes.create(new HourOfDayKeySerde());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayRecordFactory.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayRecordFactory.java
similarity index 84%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayRecordFactory.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayRecordFactory.java
index d8a42b74e5ca1cc55f9f21de62a5d8f877223e62..4d2e2d5b5014dda3604085972fdcf56e8f8aa011 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/HourOfDayRecordFactory.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/HourOfDayRecordFactory.java
@@ -1,8 +1,8 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import com.google.common.math.Stats;
 import org.apache.kafka.streams.kstream.Windowed;
-import titan.ccp.model.records.HourOfDayActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.HourOfDayActivePowerRecord;
 
 /**
  * {@link StatsRecordFactory} to create an {@link HourOfDayActivePowerRecord}.
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/RecordDatabaseAdapter.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/RecordDatabaseAdapter.java
similarity index 98%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/RecordDatabaseAdapter.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/RecordDatabaseAdapter.java
index 342cb3e04cd632fc4e8129de0bad6f12e8119dfa..111e262289ba25b6a41c65d0144119342efa2c52 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/RecordDatabaseAdapter.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/RecordDatabaseAdapter.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsKeyFactory.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsKeyFactory.java
similarity index 86%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsKeyFactory.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsKeyFactory.java
index 0e414c4a13f1cf7df1da5f0026b6de82e1c1c6ce..2473665a35fc0bda13bcbd462bfa98c0ebc00d9b 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/StatsKeyFactory.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsKeyFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.time.LocalDateTime;
 
diff --git a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsRecordFactory.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsRecordFactory.java
similarity index 93%
rename from theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsRecordFactory.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsRecordFactory.java
index 61333c99966b1ffea608d225f17d8460eac9ada1..1cbf031bde6744f1013220998241c4896fda504b 100644
--- a/theodolite-benchmarks/uc3-flink/src/main/java/theodolite/uc3/application/util/StatsRecordFactory.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/StatsRecordFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.application.util;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import com.google.common.math.Stats;
 import org.apache.avro.specific.SpecificRecord;
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/TopologyBuilder.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/TopologyBuilder.java
similarity index 81%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/TopologyBuilder.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/TopologyBuilder.java
index 1e976c07158720b3681d89413a5f277b1395f32d..f2825ca81f69b5a70e883dcf034c51093745221d 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/TopologyBuilder.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/TopologyBuilder.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import com.google.common.math.Stats;
 import java.time.Duration;
@@ -16,10 +16,10 @@ import org.apache.kafka.streams.kstream.Grouped;
 import org.apache.kafka.streams.kstream.Materialized;
 import org.apache.kafka.streams.kstream.Produced;
 import org.apache.kafka.streams.kstream.TimeWindows;
-import theodolite.uc3.streamprocessing.util.StatsFactory;
-import titan.ccp.common.kafka.GenericSerde;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.GenericSerde;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc3.kstreams.util.StatsFactory;
 
 /**
  * Builds Kafka Stream Topology for the History microservice.
@@ -60,17 +60,18 @@ public class TopologyBuilder {
     final Serde<HourOfDayKey> keySerde = HourOfDayKeySerde.create();
 
     this.builder
-        .stream(this.inputTopic,
-            Consumed.with(Serdes.String(),
-                this.srAvroSerdeFactory.<ActivePowerRecord>forValues()))
+        .stream(this.inputTopic, Consumed.with(
+            Serdes.String(),
+            this.srAvroSerdeFactory.<ActivePowerRecord>forValues()))
         .selectKey((key, value) -> {
           final Instant instant = Instant.ofEpochMilli(value.getTimestamp());
           final LocalDateTime dateTime = LocalDateTime.ofInstant(instant, this.zone);
           return keyFactory.createKey(value.getIdentifier(), dateTime);
         })
-        .groupByKey(
-            Grouped.with(keySerde, this.srAvroSerdeFactory.forValues()))
-        .windowedBy(TimeWindows.of(this.aggregtionDuration).advanceBy(this.aggregationAdvance))
+        .groupByKey(Grouped.with(keySerde, this.srAvroSerdeFactory.forValues()))
+        .windowedBy(TimeWindows
+            .ofSizeWithNoGrace(this.aggregtionDuration)
+            .advanceBy(this.aggregationAdvance))
         .aggregate(
             () -> Stats.of(),
             (k, record, stats) -> StatsFactory.accumulate(stats, record.getValueInW()),
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/Uc3KafkaStreamsBuilder.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/Uc3KafkaStreamsBuilder.java
similarity index 89%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/Uc3KafkaStreamsBuilder.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/Uc3KafkaStreamsBuilder.java
index ea9b064602b1aa7cf7350826da18990ae3191d43..e05b30f75a3a1e01f132e56595e50297160c5c66 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/Uc3KafkaStreamsBuilder.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/Uc3KafkaStreamsBuilder.java
@@ -1,12 +1,12 @@
-package theodolite.uc3.streamprocessing;
+package rocks.theodolite.benchmarks.uc3.kstreams;
 
 import java.time.Duration;
 import java.util.Objects;
 import java.util.Properties;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.Topology;
-import theodolite.commons.kafkastreams.KafkaStreamsBuilder;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.KafkaStreamsBuilder;
 
 /**
  * Builder for the Kafka Streams configuration.
diff --git a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/util/StatsFactory.java b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/util/StatsFactory.java
similarity index 90%
rename from theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/util/StatsFactory.java
rename to theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/util/StatsFactory.java
index 8099c85d652e57d30fe38e9d598783e2dc45ecb9..f2017073fbf3e240b5952f3f729f97e5ab5d1be5 100644
--- a/theodolite-benchmarks/uc3-kstreams/src/main/java/theodolite/uc3/streamprocessing/util/StatsFactory.java
+++ b/theodolite-benchmarks/uc3-kstreams/src/main/java/rocks/theodolite/benchmarks/uc3/kstreams/util/StatsFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.streamprocessing.util;
+package rocks.theodolite.benchmarks.uc3.kstreams.util;
 
 import com.google.common.math.Stats;
 import com.google.common.math.StatsAccumulator;
diff --git a/theodolite-benchmarks/uc3-load-generator/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc3-load-generator/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc3-load-generator/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc3-load-generator/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc3-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc3-load-generator/build.gradle b/theodolite-benchmarks/uc3-load-generator/build.gradle
index fddc53ae8273a44d178e8828a38a503196af9208..b78846dd6ab4aee98755fd582acb2648a7319cd6 100644
--- a/theodolite-benchmarks/uc3-load-generator/build.gradle
+++ b/theodolite-benchmarks/uc3-load-generator/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.load-generator'
 }
 
-mainClassName = "theodolite.uc3.workloadgenerator.LoadGenerator"
+mainClassName = "rocks.theodolite.benchmarks.uc3.loadgenerator.LoadGenerator"
diff --git a/theodolite-benchmarks/uc3-load-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java b/theodolite-benchmarks/uc3-load-generator/src/main/java/rocks/theodolite/benchmarks/uc3/loadgenerator/LoadGenerator.java
similarity index 75%
rename from theodolite-benchmarks/uc3-load-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java
rename to theodolite-benchmarks/uc3-load-generator/src/main/java/rocks/theodolite/benchmarks/uc3/loadgenerator/LoadGenerator.java
index 97527abfdd86f5ea39c20c3da31cd7cd26b674e5..cac88e54a8a6d811946e3e021576f1049561b344 100644
--- a/theodolite-benchmarks/uc3-load-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java
+++ b/theodolite-benchmarks/uc3-load-generator/src/main/java/rocks/theodolite/benchmarks/uc3/loadgenerator/LoadGenerator.java
@@ -1,4 +1,4 @@
-package theodolite.uc3.workloadgenerator;
+package rocks.theodolite.benchmarks.uc3.loadgenerator;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -16,7 +16,7 @@ public final class LoadGenerator {
 
   public static void main(final String[] args) {
     LOGGER.info("Start workload generator for use case UC3");
-    theodolite.commons.workloadgeneration.LoadGenerator.fromEnvironment().run();
+    rocks.theodolite.benchmarks.loadgenerator.LoadGenerator.fromEnvironment().run();
   }
 
 }
diff --git a/theodolite-benchmarks/uc4-beam-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-beam-flink/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-beam-flink/Dockerfile b/theodolite-benchmarks/uc4-beam-flink/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..9c238ddbaccbe9040571e18ac8ad8eef5b7ecf15
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/Dockerfile
@@ -0,0 +1,4 @@
+FROM flink:1.13-java11
+
+ADD build/distributions/uc4-beam-flink.tar /opt/flink/usrlib/artifacts/uc4-beam-flink.tar
+
diff --git a/theodolite-benchmarks/uc4-beam-flink/build.gradle b/theodolite-benchmarks/uc4-beam-flink/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..8ccf18a2df2198ebd9749b0af095dffff12bd380
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.flink'
+}
+
+dependencies {
+  implementation project(':uc4-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc4-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = 'rocks.theodolite.benchmarks.uc4.beam.flink.Uc4BeamFlink'
diff --git a/theodolite-benchmarks/uc4-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc4/beam/flink/Uc4BeamFlink.java b/theodolite-benchmarks/uc4-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc4/beam/flink/Uc4BeamFlink.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5f9af3fc14b57476975708a139788e7f0386953
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-flink/src/main/java/rocks/theodolite/benchmarks/uc4/beam/flink/Uc4BeamFlink.java
@@ -0,0 +1,21 @@
+package rocks.theodolite.benchmarks.uc4.beam.flink;
+
+import org.apache.beam.runners.flink.FlinkRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc4.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Hierarchical Aggregation using Apache Beam with the Flink Runner.
+ **/
+public final class Uc4BeamFlink {
+
+  private Uc4BeamFlink() {}
+
+  /**
+   * Start running this microservice.
+   */
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), FlinkRunner.class, args).runStandalone();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam-samza/.gitignore b/theodolite-benchmarks/uc4-beam-samza/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7bf05dd280fcc888467656ce1fbdeb65322c7ba8
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/.gitignore
@@ -0,0 +1 @@
+state
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc4-beam-samza/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-beam-samza/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-beam-samza/Dockerfile b/theodolite-benchmarks/uc4-beam-samza/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b59585f748b95cf62e59be01c8fa9dc0d919f43a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/Dockerfile
@@ -0,0 +1,8 @@
+FROM openjdk:11-slim
+
+ENV MAX_SOURCE_PARALLELISM=1024
+
+ADD build/distributions/uc4-beam-samza.tar /
+ADD samza-standalone.properties /
+
+CMD /uc4-beam-samza/bin/uc4-beam-samza --configFilePath=samza-standalone.properties --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=$MAX_SOURCE_PARALLELISM --enableMetrics=false --configOverride="{\"job.coordinator.zk.connect\":\"$SAMZA_JOB_COORDINATOR_ZK_CONNECT\"}"
diff --git a/theodolite-benchmarks/uc4-beam-samza/build.gradle b/theodolite-benchmarks/uc4-beam-samza/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..38e21bfd271587d6ef957d0b8ad0ed32c0ab4940
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/build.gradle
@@ -0,0 +1,19 @@
+plugins {
+  id 'theodolite.beam.samza'
+}
+
+dependencies {
+  implementation project(':uc4-beam')
+}
+
+sourceSets {
+  main {
+    resources {
+      srcDirs += [
+        project(':uc4-beam').sourceSets.main.resources
+      ]
+    }
+  }
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc4.beam.samza.Uc4BeamSamza"
diff --git a/theodolite-benchmarks/uc4-beam-samza/samza-standalone.properties b/theodolite-benchmarks/uc4-beam-samza/samza-standalone.properties
new file mode 100644
index 0000000000000000000000000000000000000000..812a9784c25ea84922b8a0f96f17b0377cedf925
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/samza-standalone.properties
@@ -0,0 +1,23 @@
+# Set EnvironmentRewriter
+job.config.rewriters=env-config
+job.config.rewriter.env-config.class=org.apache.samza.config.EnvironmentConfigRewriter
+
+# Configure ZooKeeper for coordination
+job.coordinator.factory=org.apache.samza.zk.ZkJobCoordinatorFactory
+job.coordinator.zk.connect=localhost:2181
+
+# Use GroupByContainerIds
+task.name.grouper.factory=org.apache.samza.container.grouper.task.GroupByContainerIdsFactory
+
+# Configure Kafka as "system"
+job.default.system=kafka
+systems.kafka.samza.factory=org.apache.samza.system.kafka.KafkaSystemFactory
+systems.kafka.consumer.bootstrap.servers=localhost:9092
+systems.kafka.producer.bootstrap.servers=localhost:9092
+systems.kafka.default.stream.replication.factor=1
+
+# Configure serialization and stores
+serializers.registry.string.class=org.apache.samza.serializers.StringSerdeFactory
+stores.my-store.factory=org.apache.samza.storage.kv.RocksDbKeyValueStorageEngineFactory
+stores.my-store.key.serde=string
+stores.my-store.msg.serde=string
diff --git a/theodolite-benchmarks/uc4-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc4/beam/samza/Uc4BeamSamza.java b/theodolite-benchmarks/uc4-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc4/beam/samza/Uc4BeamSamza.java
new file mode 100644
index 0000000000000000000000000000000000000000..585e3ff9589c0262c12b6fa33023cd69b58c53f1
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam-samza/src/main/java/rocks/theodolite/benchmarks/uc4/beam/samza/Uc4BeamSamza.java
@@ -0,0 +1,28 @@
+package rocks.theodolite.benchmarks.uc4.beam.samza;
+
+import org.apache.beam.runners.samza.SamzaRunner;
+import rocks.theodolite.benchmarks.commons.beam.BeamService;
+import rocks.theodolite.benchmarks.uc4.beam.PipelineFactory;
+
+/**
+ * Implementation of the use case Hierarchical Aggregation using Apache Beam with the Samza Runner.
+ * To run locally in standalone start Kafka, Zookeeper, the schema-registry and the workload
+ * generator using the delayed_startup.sh script. Add
+ * --configFactory=org.apache.samza.config.factories.PropertiesConfigFactory
+ * --configFilePath=${workspace_loc:uc4-application-samza}/config/standalone_local.properties
+ * --samzaExecutionEnvironment=STANDALONE --maxSourceParallelism=1024 --as program arguments. To
+ * persist logs add ${workspace_loc:/uc4-application-samza/eclipseConsoleLogs.log} as Output File
+ * under Standard Input Output in Common in the Run Configuration Start via Eclipse Run.
+ */
+public final class Uc4BeamSamza {
+
+  private Uc4BeamSamza() {}
+
+  /**
+   * Start running this microservice.
+   */
+  public static void main(final String[] args) {
+    new BeamService(PipelineFactory.factory(), SamzaRunner.class, args).runStandalone();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-beam/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-beam/build.gradle b/theodolite-benchmarks/uc4-beam/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..3e9d917cc3586e5df2c5645f1d2cbcf03e3993e4
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/build.gradle
@@ -0,0 +1,7 @@
+plugins {
+  id 'theodolite.beam'
+}
+
+dependencies {
+  implementation ('io.confluent:kafka-streams-avro-serde:5.3.2') 
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedActivePowerRecordEventTimePolicy.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedActivePowerRecordEventTimePolicy.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a2f99cd82a9f8b4af7b3b5a13ad8610036cbc72
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedActivePowerRecordEventTimePolicy.java
@@ -0,0 +1,34 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import java.util.Optional;
+import org.apache.beam.sdk.io.kafka.KafkaRecord;
+import org.apache.beam.sdk.io.kafka.TimestampPolicy;
+import org.apache.beam.sdk.transforms.windowing.BoundedWindow;
+import org.joda.time.Instant;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * TimeStampPolicy to use event time based on the timestamp of the record value.
+ */
+public class AggregatedActivePowerRecordEventTimePolicy
+    extends TimestampPolicy<String, AggregatedActivePowerRecord> {
+  protected Instant currentWatermark;
+
+  public AggregatedActivePowerRecordEventTimePolicy(final Optional<Instant> previousWatermark) {
+    super();
+    this.currentWatermark = previousWatermark.orElse(BoundedWindow.TIMESTAMP_MIN_VALUE);
+  }
+
+  @Override
+  public Instant getTimestampForRecord(final PartitionContext ctx,
+      final KafkaRecord<String, AggregatedActivePowerRecord> record) {
+    this.currentWatermark = new Instant(record.getKV().getValue().getTimestamp());
+    return this.currentWatermark;
+  }
+
+  @Override
+  public Instant getWatermark(final PartitionContext ctx) {
+    return this.currentWatermark;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedToActive.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedToActive.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d1c2241eefa8706c29d08256304ecec8313e478
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/AggregatedToActive.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * Converts AggregatedActivePowerRecord to ActivePowerRecord.
+ */
+public class AggregatedToActive
+    extends SimpleFunction<KV<String, AggregatedActivePowerRecord>, KV<String, ActivePowerRecord>> {
+
+  private static final long serialVersionUID = -8275252527964065889L;
+
+  @Override
+  public KV<String, ActivePowerRecord> apply(
+      final KV<String, AggregatedActivePowerRecord> kv) {
+    return KV.of(kv.getKey(), new ActivePowerRecord(kv.getValue().getIdentifier(),
+        kv.getValue().getTimestamp(), kv.getValue().getSumInW()));
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/DuplicateAsFlatMap.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/DuplicateAsFlatMap.java
new file mode 100644
index 0000000000000000000000000000000000000000..1c4071f4a3bbe78683c9e4854f62d428fc8a07ad
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/DuplicateAsFlatMap.java
@@ -0,0 +1,74 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import com.google.common.base.MoreObjects;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+import org.apache.beam.sdk.state.StateSpec;
+import org.apache.beam.sdk.state.StateSpecs;
+import org.apache.beam.sdk.state.ValueState;
+import org.apache.beam.sdk.transforms.DoFn;
+import org.apache.beam.sdk.values.KV;
+import org.apache.beam.sdk.values.PCollectionView;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+
+/**
+ * Duplicates the {@link KV} containing the (children,parents) pairs as flatMap.
+ */
+public class DuplicateAsFlatMap
+    extends DoFn<KV<String, ActivePowerRecord>, KV<SensorParentKey, ActivePowerRecord>> {
+
+  private static final long serialVersionUID = -5132355515723961647L;
+
+  private static final String STATE_STORE_NAME = "DuplicateParents";
+
+  @StateId(STATE_STORE_NAME)
+  private final StateSpec<ValueState<Set<String>>> parents = StateSpecs.value(); // NOPMD
+
+  private final PCollectionView<Map<String, Set<String>>> childParentPairMap;
+
+  public DuplicateAsFlatMap(final PCollectionView<Map<String, Set<String>>> childParentPairMap) {
+    super();
+    this.childParentPairMap = childParentPairMap;
+  }
+
+  /**
+   * Generate a KV-pair for every child-parent match.
+   */
+  @ProcessElement
+  public void processElement(
+      @Element final KV<String, ActivePowerRecord> kv,
+      final OutputReceiver<KV<SensorParentKey, ActivePowerRecord>> out,
+      @StateId(STATE_STORE_NAME) final ValueState<Set<String>> state,
+      final ProcessContext c) {
+
+    final ActivePowerRecord record = kv.getValue() == null ? null : kv.getValue();
+    final Set<String> newParents =
+        c.sideInput(this.childParentPairMap).get(kv.getKey()) == null
+            ? Collections.emptySet()
+            : c.sideInput(this.childParentPairMap).get(kv.getKey());
+    final Set<String> oldParents =
+        MoreObjects.firstNonNull(state.read(), Collections.emptySet());
+    // Forward new Pairs if they exist
+    if (!newParents.isEmpty()) {
+      for (final String parent : newParents) {
+
+        // Forward flat mapped record
+        final SensorParentKey key = new SensorParentKey(kv.getKey(), parent);
+        out.output(KV.of(key, record));
+      }
+    }
+    if (!newParents.equals(oldParents)) {
+      for (final String oldParent : oldParents) {
+        if (!newParents.contains(oldParent)) {
+          // Forward Delete
+          final SensorParentKey key = new SensorParentKey(kv.getKey(), oldParent);
+          out.output(KV.of(key, null));
+        }
+      }
+      state.write(newParents);
+    }
+  }
+}
+
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterEvents.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterEvents.java
new file mode 100644
index 0000000000000000000000000000000000000000..59818e18b7e86c53b80b2a6230087957870d2f47
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterEvents.java
@@ -0,0 +1,19 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import org.apache.beam.sdk.transforms.SerializableFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+
+/**
+ * Filters for {@code Event.SENSOR_REGISTRY_CHANGED} and {@code Event.SENSOR_REGISTRY_STATUS}
+ * events.
+ */
+public class FilterEvents implements SerializableFunction<KV<Event, String>, Boolean> {
+  private static final long serialVersionUID = -2233447357614891559L;
+
+  @Override
+  public Boolean apply(final KV<Event, String> kv) {
+    return kv.getKey() == Event.SENSOR_REGISTRY_CHANGED
+        || kv.getKey() == Event.SENSOR_REGISTRY_STATUS;
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterNullValues.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterNullValues.java
new file mode 100644
index 0000000000000000000000000000000000000000..903204363ace1f19439c3686dfd278fc89da2be9
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/FilterNullValues.java
@@ -0,0 +1,18 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import org.apache.beam.sdk.transforms.SerializableFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Filters {@code null} Values.
+ */
+public class FilterNullValues implements
+    SerializableFunction<KV<SensorParentKey, ActivePowerRecord>, Boolean> {
+  private static final long serialVersionUID = -6197352369880867482L;
+
+  @Override
+  public Boolean apply(final KV<SensorParentKey, ActivePowerRecord> kv) {
+    return kv.getValue() != null;
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/GenerateParentsFn.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/GenerateParentsFn.java
new file mode 100644
index 0000000000000000000000000000000000000000..a020d32735893c4dd0851d902dcf62304223199d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/GenerateParentsFn.java
@@ -0,0 +1,58 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.beam.sdk.transforms.DoFn;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+
+/**
+ * DoFn class to generate a child-parent pair for every sensor in the hierarchy.
+ */
+public class GenerateParentsFn extends DoFn<KV<Event, String>, KV<String, Set<String>>> {
+
+  private static final long serialVersionUID = 958270648688932091L;
+
+  /**
+   * Transforms a parent [children] map of sensors to a child [parents] map.
+   *
+   * @param kv input map.
+   * @param out outputstream.
+   */
+  @ProcessElement
+  public void processElement(@Element final KV<Event, String> kv,
+      final OutputReceiver<KV<String, Set<String>>> out) {
+    final Map<String, Set<String>> childParentsPairs =
+        this.constructChildParentsPairs(SensorRegistry.fromJson(kv.getValue()));
+    final Iterator<Map.Entry<String, Set<String>>> it = childParentsPairs.entrySet().iterator();
+    while (it.hasNext()) {
+      final Map.Entry<String, Set<String>> pair = it.next();
+      out.output(KV.of(pair.getKey(), pair.getValue()));
+    }
+
+  }
+
+  private Map<String, Set<String>> constructChildParentsPairs(final SensorRegistry registry) {
+    return this.streamAllChildren(registry.getTopLevelSensor())
+        .collect(Collectors.<Sensor, String, Set<String>>toMap(
+            child -> child.getIdentifier(),
+            child -> child.getParent()
+                .map(p -> Stream.of(p.getIdentifier()).collect(Collectors.toSet()))
+                .orElse(Collections.<String>emptySet())));
+  }
+
+  private Stream<Sensor> streamAllChildren(final AggregatedSensor sensor) {
+    return sensor.getChildren().stream()
+        .flatMap(s -> Stream.concat(
+            Stream.of(s),
+            s instanceof AggregatedSensor ? this.streamAllChildren((AggregatedSensor) s)
+                : Stream.empty()));
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/PipelineFactory.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/PipelineFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..955f7101515c9467edc2e4900aa5464437f0e904
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/PipelineFactory.java
@@ -0,0 +1,305 @@
+package rocks.theodolite.benchmarks.uc4.beam; // NOPMD
+
+import com.google.common.math.StatsAccumulator;
+import io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig;
+import io.confluent.kafka.serializers.KafkaAvroDeserializerConfig;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import org.apache.beam.sdk.Pipeline;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.CoderRegistry;
+import org.apache.beam.sdk.coders.SetCoder;
+import org.apache.beam.sdk.coders.StringUtf8Coder;
+import org.apache.beam.sdk.io.kafka.KafkaIO;
+import org.apache.beam.sdk.options.PipelineOptions;
+import org.apache.beam.sdk.transforms.Combine;
+import org.apache.beam.sdk.transforms.Filter;
+import org.apache.beam.sdk.transforms.Flatten;
+import org.apache.beam.sdk.transforms.Latest;
+import org.apache.beam.sdk.transforms.MapElements;
+import org.apache.beam.sdk.transforms.ParDo;
+import org.apache.beam.sdk.transforms.View;
+import org.apache.beam.sdk.transforms.windowing.AfterPane;
+import org.apache.beam.sdk.transforms.windowing.AfterProcessingTime;
+import org.apache.beam.sdk.transforms.windowing.AfterWatermark;
+import org.apache.beam.sdk.transforms.windowing.FixedWindows;
+import org.apache.beam.sdk.transforms.windowing.Repeatedly;
+import org.apache.beam.sdk.transforms.windowing.Window;
+import org.apache.beam.sdk.values.KV;
+import org.apache.beam.sdk.values.PCollection;
+import org.apache.beam.sdk.values.PCollectionList;
+import org.apache.beam.sdk.values.PCollectionView;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.kafka.clients.consumer.ConsumerConfig;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.joda.time.Duration;
+import rocks.theodolite.benchmarks.commons.beam.AbstractPipelineFactory;
+import rocks.theodolite.benchmarks.commons.beam.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaActivePowerTimestampReader;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaGenericReader;
+import rocks.theodolite.benchmarks.commons.beam.kafka.KafkaWriterTransformation;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.AggregatedActivePowerRecordCoder;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.AggregatedActivePowerRecordDeserializer;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.AggregatedActivePowerRecordSerializer;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.EventCoder;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.EventDeserializer;
+import rocks.theodolite.benchmarks.uc4.beam.serialization.SensorParentKeyCoder;
+
+/**
+ * {@link AbstractPipelineFactory} for UC4.
+ */
+public class PipelineFactory extends AbstractPipelineFactory {
+
+  public PipelineFactory(final Configuration configuration) {
+    super(configuration);
+  }
+
+  @Override
+  protected void expandOptions(final PipelineOptions options) {
+    // No options to set
+  }
+
+  @Override
+  protected void constructPipeline(final Pipeline pipeline) { // NOPMD
+    // Additional needed variables
+    final String feedbackTopic = this.config.getString(ConfigurationKeys.KAFKA_FEEDBACK_TOPIC);
+    final String outputTopic = this.config.getString(ConfigurationKeys.KAFKA_OUTPUT_TOPIC);
+    final String configurationTopic =
+        this.config.getString(ConfigurationKeys.KAFKA_CONFIGURATION_TOPIC);
+
+    final Duration duration = Duration.standardSeconds(
+        this.config.getInt(ConfigurationKeys.KAFKA_WINDOW_DURATION_MINUTES));
+    final Duration triggerDelay = Duration.standardSeconds(
+        this.config.getInt(ConfigurationKeys.TRIGGER_INTERVAL));
+    final Duration gracePeriod = Duration.standardSeconds(
+        this.config.getInt(ConfigurationKeys.GRACE_PERIOD_MS));
+
+    // Read from Kafka
+    final String bootstrapServer = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
+
+    // ActivePowerRecords
+    final KafkaActivePowerTimestampReader kafkaActivePowerRecordReader = super.buildKafkaReader();
+
+    // Configuration Events
+    final KafkaGenericReader<Event, String> kafkaConfigurationReader =
+        new KafkaGenericReader<>(
+            bootstrapServer,
+            configurationTopic,
+            this.configurationConfig(),
+            EventDeserializer.class,
+            StringDeserializer.class);
+
+    // Write to Kafka
+    final KafkaWriterTransformation<AggregatedActivePowerRecord> kafkaOutput =
+        new KafkaWriterTransformation<>(
+            bootstrapServer,
+            outputTopic,
+            AggregatedActivePowerRecordSerializer.class,
+            this.buildProducerConfig());
+
+    final KafkaWriterTransformation<AggregatedActivePowerRecord> kafkaFeedback =
+        new KafkaWriterTransformation<>(
+            bootstrapServer,
+            feedbackTopic,
+            AggregatedActivePowerRecordSerializer.class,
+            this.buildProducerConfig());
+
+    // Apply pipeline transformations
+    final PCollection<KV<String, ActivePowerRecord>> values = pipeline
+        .apply("Read from Kafka", kafkaActivePowerRecordReader)
+        .apply("Read Windows", Window.into(FixedWindows.of(duration)))
+        .apply("Set trigger for input", Window
+            .<KV<String, ActivePowerRecord>>configure()
+            .triggering(Repeatedly.forever(
+                AfterProcessingTime.pastFirstElementInPane()
+                    .plusDelayOf(triggerDelay)))
+            .withAllowedLateness(gracePeriod)
+            .discardingFiredPanes());
+
+    // Read the results of earlier aggregations.
+    final PCollection<KV<String, ActivePowerRecord>> aggregationsInput = pipeline
+        .apply("Read aggregation results", KafkaIO.<String, AggregatedActivePowerRecord>read()
+            .withBootstrapServers(bootstrapServer)
+            .withTopic(feedbackTopic)
+            .withKeyDeserializer(StringDeserializer.class)
+            .withValueDeserializerAndCoder(
+                AggregatedActivePowerRecordDeserializer.class,
+                AvroCoder.of(AggregatedActivePowerRecord.class))
+            .withConsumerConfigUpdates(this.buildConsumerConfig())
+            .withTimestampPolicyFactory(
+                (tp, previousWaterMark) -> new AggregatedActivePowerRecordEventTimePolicy(
+                    previousWaterMark))
+            .withoutMetadata())
+        .apply("Apply Windows", Window.into(FixedWindows.of(duration)))
+        // Convert into the correct data format
+        .apply("Convert AggregatedActivePowerRecord to ActivePowerRecord",
+            MapElements.via(new AggregatedToActive()))
+        .apply("Set trigger for feedback", Window
+            .<KV<String, ActivePowerRecord>>configure()
+            .triggering(Repeatedly.forever(
+                AfterProcessingTime
+                    .pastFirstElementInPane()
+                    .plusDelayOf(triggerDelay)))
+            .withAllowedLateness(gracePeriod)
+            .discardingFiredPanes());
+
+    // Prepare flatten
+    final PCollectionList<KV<String, ActivePowerRecord>> collections =
+        PCollectionList.of(values).and(aggregationsInput);
+
+    // Create a single PCollection out of the input and already computed results
+    final PCollection<KV<String, ActivePowerRecord>> inputCollection =
+        collections.apply("Flatten sensor data and aggregation results",
+            Flatten.pCollections());
+
+    // Build the configuration stream from a changelog.
+    final PCollection<KV<String, Set<String>>> configurationStream = pipeline
+        .apply("Read sensor groups", kafkaConfigurationReader)
+        // Only forward relevant changes in the hierarchy
+        .apply("Filter changed and status events",
+            Filter.by(new FilterEvents()))
+        // Build the changelog
+        .apply("Generate Parents for every Sensor", ParDo.of(new GenerateParentsFn()))
+        .apply("Update child and parent pairs", ParDo.of(new UpdateChildParentPairs()))
+        .apply("Set trigger for configuration", Window
+            .<KV<String, Set<String>>>configure()
+            .triggering(AfterWatermark.pastEndOfWindow()
+                .withEarlyFirings(
+                    AfterPane.elementCountAtLeast(1)))
+            .withAllowedLateness(Duration.ZERO)
+            .accumulatingFiredPanes());
+
+    final PCollectionView<Map<String, Set<String>>> childParentPairMap =
+        configurationStream.apply(Latest.perKey())
+            // Reset trigger to avoid synchronized processing time
+            .apply("Reset trigger for configurations", Window
+                .<KV<String, Set<String>>>configure()
+                .triggering(AfterWatermark.pastEndOfWindow()
+                    .withEarlyFirings(
+                        AfterPane.elementCountAtLeast(1)))
+                .withAllowedLateness(Duration.ZERO)
+                .accumulatingFiredPanes())
+            .apply(View.asMap());
+
+    // Build pairs of every sensor reading and parent
+    final PCollection<KV<SensorParentKey, ActivePowerRecord>> flatMappedValues =
+        inputCollection.apply(
+            "Duplicate as flatMap",
+            ParDo.of(new DuplicateAsFlatMap(childParentPairMap)).withSideInputs(childParentPairMap))
+            .apply("Filter only latest changes", Latest.perKey())
+            .apply("Filter out null values", Filter.by(new FilterNullValues()));
+
+    final SetIdForAggregated setIdForAggregated = new SetIdForAggregated();
+    final SetKeyToGroup setKeyToGroup = new SetKeyToGroup();
+
+    // Aggregate for every sensor group of the current level
+    final PCollection<KV<String, AggregatedActivePowerRecord>> aggregations = flatMappedValues
+        .apply("Set key to group", MapElements.via(setKeyToGroup))
+        // Reset trigger to avoid synchronized processing time
+        .apply("Reset trigger for aggregations", Window
+            .<KV<String, ActivePowerRecord>>configure()
+            .triggering(Repeatedly.forever(
+                AfterProcessingTime.pastFirstElementInPane()
+                    .plusDelayOf(triggerDelay)))
+            .withAllowedLateness(gracePeriod)
+            .discardingFiredPanes())
+        .apply(
+            "Aggregate per group",
+            Combine.perKey(new RecordAggregation()))
+        .apply("Set the Identifier in AggregatedActivePowerRecord",
+            MapElements.via(setIdForAggregated));
+
+    aggregations.apply("Write to aggregation results", kafkaOutput);
+
+    aggregations.apply("Write to feedback topic", kafkaFeedback);
+  }
+
+  @Override
+  protected void registerCoders(final CoderRegistry registry) {
+    registry.registerCoderForClass(
+        ActivePowerRecord.class,
+        // AvroCoder.of(ActivePowerRecord.SCHEMA$));
+        AvroCoder.of(ActivePowerRecord.class, false));
+    registry.registerCoderForClass(
+        AggregatedActivePowerRecord.class,
+        new AggregatedActivePowerRecordCoder());
+    registry.registerCoderForClass(
+        Set.class,
+        SetCoder.of(StringUtf8Coder.of()));
+    registry.registerCoderForClass(
+        Event.class,
+        new EventCoder());
+    registry.registerCoderForClass(
+        SensorParentKey.class,
+        new SensorParentKeyCoder());
+    registry.registerCoderForClass(
+        StatsAccumulator.class,
+        AvroCoder.of(StatsAccumulator.class));
+  }
+
+
+  /**
+   * Builds a simple configuration for a Kafka consumer transformation.
+   *
+   * @return the build configuration.
+   */
+  private Map<String, Object> configurationConfig() {
+    final Map<String, Object> consumerConfig = new HashMap<>();
+    consumerConfig.put(
+        ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,
+        this.config.getString(ConfigurationKeys.ENABLE_AUTO_COMMIT));
+    consumerConfig.put(
+        ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,
+        this.config.getString(ConfigurationKeys.AUTO_OFFSET_RESET));
+    consumerConfig.put(
+        ConsumerConfig.GROUP_ID_CONFIG, this.config
+            .getString(ConfigurationKeys.APPLICATION_NAME) + "-configuration");
+    return consumerConfig;
+  }
+
+  private Map<String, Object> buildConsumerConfig() {
+    final Map<String, Object> consumerConfig = new HashMap<>();
+    consumerConfig.put(
+        ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,
+        this.config.getString(ConfigurationKeys.ENABLE_AUTO_COMMIT));
+    consumerConfig.put(
+        ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,
+        this.config.getString(ConfigurationKeys.AUTO_OFFSET_RESET));
+    consumerConfig.put(
+        AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG,
+        this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL));
+    consumerConfig.put(
+        KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG,
+        this.config.getString(ConfigurationKeys.SPECIFIC_AVRO_READER));
+    consumerConfig.put(
+        ConsumerConfig.GROUP_ID_CONFIG,
+        this.config.getString(ConfigurationKeys.APPLICATION_NAME));
+    return consumerConfig;
+  }
+
+  /**
+   * Builds a simple configuration for a Kafka producer transformation.
+   *
+   * @return the build configuration.
+   */
+  private Map<String, Object> buildProducerConfig() {
+    final Map<String, Object> config = new HashMap<>();
+    config.put(
+        AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG,
+        this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL));
+    config.put(
+        KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG,
+        this.config.getString(ConfigurationKeys.SPECIFIC_AVRO_READER));
+    return config;
+  }
+
+  public static Function<Configuration, AbstractPipelineFactory> factory() {
+    return config -> new PipelineFactory(config);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/RecordAggregation.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/RecordAggregation.java
new file mode 100644
index 0000000000000000000000000000000000000000..e853e0b6e5a22d68f9b315799f86f1b6dfa1947a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/RecordAggregation.java
@@ -0,0 +1,63 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import java.io.Serializable;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.DefaultCoder;
+import org.apache.beam.sdk.transforms.Combine.CombineFn;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+
+
+/**
+ * CombineFn to aggregate ActivePowerRecords into AggregatedActivePowerRecords.
+ */
+public class RecordAggregation
+    extends CombineFn<ActivePowerRecord, RecordAggregation.Accum, AggregatedActivePowerRecord> {
+
+  private static final long serialVersionUID = 4362213539553233529L;
+
+  /**
+   * Wrapper for an accumulation of records.
+   */
+  @DefaultCoder(AvroCoder.class)
+  public static class Accum implements Serializable {
+    private static final long serialVersionUID = 3701311203919534376L;
+    private long count;
+    private Double sum = 0.0;
+    private long timestamp;
+  }
+
+  @Override
+  public Accum createAccumulator() {
+    return new Accum();
+  }
+
+  @Override
+  public Accum addInput(final Accum mutableAccumulator, final ActivePowerRecord input) {
+    mutableAccumulator.count += 1;
+    mutableAccumulator.sum += input.getValueInW();
+    mutableAccumulator.timestamp = input.getTimestamp();
+    return mutableAccumulator;
+  }
+
+  @Override
+  public Accum mergeAccumulators(final Iterable<Accum> accumulators) {
+    final Accum merged = this.createAccumulator();
+    for (final Accum accumulator : accumulators) {
+      merged.count += accumulator.count;
+      merged.sum += accumulator.sum;
+      merged.timestamp = accumulator.timestamp;
+    }
+
+    return merged;
+  }
+
+  @Override
+  public AggregatedActivePowerRecord extractOutput(final Accum accumulator) {
+    final double average = accumulator.count == 0 ? 0.0 : accumulator.sum / accumulator.count;
+    return new AggregatedActivePowerRecord("", accumulator.timestamp, accumulator.count,
+        accumulator.sum, average);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SensorParentKey.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SensorParentKey.java
new file mode 100644
index 0000000000000000000000000000000000000000..28efd63f2cecbc40f9e9fcb3f59301fd86c5909a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SensorParentKey.java
@@ -0,0 +1,30 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+/**
+ * A key consisting of the identifier of a sensor and an identifier of parent sensor.
+ */
+public class SensorParentKey {
+
+  private final String sensorIdentifier;
+
+  private final String parentIdentifier;
+
+  public SensorParentKey(final String sensorIdentifier, final String parentIdentifier) {
+    this.sensorIdentifier = sensorIdentifier;
+    this.parentIdentifier = parentIdentifier;
+  }
+
+  public String getSensor() {
+    return this.sensorIdentifier;
+  }
+
+  public String getParent() {
+    return this.parentIdentifier;
+  }
+
+  @Override
+  public String toString() {
+    return "{" + this.sensorIdentifier + ", " + this.parentIdentifier + "}";
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetIdForAggregated.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetIdForAggregated.java
new file mode 100644
index 0000000000000000000000000000000000000000..a616a966733e2dd3ead7d2c126efaa7c37577ff6
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetIdForAggregated.java
@@ -0,0 +1,22 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * Sets the identifier for new {@link AggregatedActivePowerRecord}.
+ */
+public class SetIdForAggregated extends
+    SimpleFunction<KV<String, AggregatedActivePowerRecord>, KV<String, AggregatedActivePowerRecord>> { // NOCS
+  private static final long serialVersionUID = 2148522605294086982L;
+
+  @Override
+  public KV<String, AggregatedActivePowerRecord> apply(
+      final KV<String, AggregatedActivePowerRecord> kv) {
+    final AggregatedActivePowerRecord record = new AggregatedActivePowerRecord(
+        kv.getKey(), kv.getValue().getTimestamp(), kv.getValue().getCount(),
+        kv.getValue().getSumInW(), kv.getValue().getAverageInW());
+    return KV.of(kv.getKey(), record);
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetKeyToGroup.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetKeyToGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..8477e987cad81625d373ee7d1155eaf701a53087
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/SetKeyToGroup.java
@@ -0,0 +1,20 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import org.apache.beam.sdk.transforms.SimpleFunction;
+import org.apache.beam.sdk.values.KV;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Set the Key for a group of {@code ActivePowerRecords} to their Parent.
+ */
+public class SetKeyToGroup
+    extends SimpleFunction<KV<SensorParentKey, ActivePowerRecord>, KV<String, ActivePowerRecord>> {
+
+  private static final long serialVersionUID = 790215050768527L;
+
+  @Override
+  public KV<String, ActivePowerRecord> apply(
+      final KV<SensorParentKey, ActivePowerRecord> kv) {
+    return KV.of(kv.getKey().getParent(), kv.getValue());
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/UpdateChildParentPairs.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/UpdateChildParentPairs.java
new file mode 100644
index 0000000000000000000000000000000000000000..190bb074d4430f23aeabcd123d1f1c4bc937cd0d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/UpdateChildParentPairs.java
@@ -0,0 +1,38 @@
+package rocks.theodolite.benchmarks.uc4.beam;
+
+import java.util.Set;
+import org.apache.beam.sdk.state.StateSpec;
+import org.apache.beam.sdk.state.StateSpecs;
+import org.apache.beam.sdk.state.ValueState;
+import org.apache.beam.sdk.transforms.DoFn;
+import org.apache.beam.sdk.values.KV;
+
+/**
+ * Forward changes or tombstone values for deleted records.
+ */
+public class UpdateChildParentPairs extends DoFn<KV<String, Set<String>>, KV<String, Set<String>>> {
+
+  private static final String STATE_STORE_NAME = "UpdateParents";
+
+  private static final long serialVersionUID = 1L;
+
+  @StateId(STATE_STORE_NAME)
+  private final StateSpec<ValueState<Set<String>>> parents = StateSpecs.value(); // NOPMD
+
+  /**
+   * Match the changes accordingly.
+   *
+   * @param kv the sensor parents set that contains the changes.
+   */
+  @ProcessElement
+  public void processElement(
+      @Element final KV<String, Set<String>> kv,
+      final OutputReceiver<KV<String, Set<String>>> out,
+      @StateId(STATE_STORE_NAME) final ValueState<Set<String>> state) {
+    if (kv.getValue() == null || !kv.getValue().equals(state.read())) {
+      out.output(kv);
+      state.write(kv.getValue());
+    }
+
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordCoder.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordCoder.java
new file mode 100644
index 0000000000000000000000000000000000000000..759b8baab70b73ad2a32c50768b7911059c68aab
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordCoder.java
@@ -0,0 +1,56 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.util.List;
+import org.apache.beam.sdk.coders.AvroCoder;
+import org.apache.beam.sdk.coders.Coder;
+import org.apache.beam.sdk.coders.CoderException;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * {@link Coder} for an {@link AggregatedActivePowerRecord}.
+ */
+@SuppressWarnings("serial")
+public class AggregatedActivePowerRecordCoder extends Coder<AggregatedActivePowerRecord>
+    implements Serializable {
+
+  private static final boolean DETERMINISTIC = true;
+
+  private transient AvroCoder<AggregatedActivePowerRecord> avroEnCoder =
+      AvroCoder.of(AggregatedActivePowerRecord.class);
+
+  @Override
+  public void encode(final AggregatedActivePowerRecord value, final OutputStream outStream)
+      throws CoderException, IOException {
+    if (this.avroEnCoder == null) {
+      this.avroEnCoder = AvroCoder.of(AggregatedActivePowerRecord.class);
+    }
+    this.avroEnCoder.encode(value, outStream);
+
+  }
+
+  @Override
+  public AggregatedActivePowerRecord decode(final InputStream inStream)
+      throws CoderException, IOException {
+    if (this.avroEnCoder == null) {
+      this.avroEnCoder = AvroCoder.of(AggregatedActivePowerRecord.class);
+    }
+    return this.avroEnCoder.decode(inStream);
+
+  }
+
+  @Override
+  public List<? extends Coder<?>> getCoderArguments() {
+    return List.of();
+  }
+
+  @Override
+  public void verifyDeterministic() throws NonDeterministicException {
+    if (!DETERMINISTIC) {
+      throw new NonDeterministicException(this, "This class should be deterministic.");
+    }
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordDeserializer.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..1083103f7394e88c5d59ccd97aaa0885ff6b634b
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordDeserializer.java
@@ -0,0 +1,12 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import io.confluent.kafka.streams.serdes.avro.SpecificAvroDeserializer;
+import org.apache.kafka.common.serialization.Deserializer;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * {@link Deserializer} for an {@link AggregatedActivePowerRecord}.
+ */
+public class AggregatedActivePowerRecordDeserializer
+    extends SpecificAvroDeserializer<AggregatedActivePowerRecord> {
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordSerializer.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..2c742ca65d288e2ee04bfb860fb89cf7ecbb8bbf
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/AggregatedActivePowerRecordSerializer.java
@@ -0,0 +1,12 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import io.confluent.kafka.streams.serdes.avro.SpecificAvroSerializer;
+import org.apache.kafka.common.serialization.Serializer;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+
+/**
+ * {@link Serializer} for an {@link AggregatedActivePowerRecord}.
+ */
+public class AggregatedActivePowerRecordSerializer
+    extends SpecificAvroSerializer<AggregatedActivePowerRecord> {
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventCoder.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventCoder.java
new file mode 100644
index 0000000000000000000000000000000000000000..2d555ef12db49b76fa3d8c4a9398ce562eaa6453
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventCoder.java
@@ -0,0 +1,63 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.nio.ByteBuffer;
+import java.util.Collections;
+import java.util.List;
+import org.apache.beam.sdk.coders.Coder;
+import org.apache.beam.sdk.coders.CoderException;
+import org.apache.kafka.common.serialization.Serde;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.configuration.events.EventSerde;
+
+/**
+ * Wrapper Class that encapsulates a Event Serde in a org.apache.beam.sdk.coders.Coder.
+ */
+public class EventCoder extends Coder<Event> implements Serializable {
+
+  private static final long serialVersionUID = 8403045343970659100L;
+  private static final int VALUE_SIZE = 4;
+  private static final boolean DETERMINISTIC = true;
+
+  private transient Serde<Event> innerSerde = EventSerde.serde();
+
+  @Override
+  public void encode(final Event value, final OutputStream outStream)
+      throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = EventSerde.serde();
+    }
+    final byte[] bytes = this.innerSerde.serializer().serialize("ser", value);
+    final byte[] sizeinBytes = ByteBuffer.allocate(VALUE_SIZE).putInt(bytes.length).array();
+    outStream.write(sizeinBytes);
+    outStream.write(bytes);
+  }
+
+  @Override
+  public Event decode(final InputStream inStream) throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = EventSerde.serde();
+    }
+    final byte[] sizeinBytes = new byte[VALUE_SIZE];
+    inStream.read(sizeinBytes);
+    final int size = ByteBuffer.wrap(sizeinBytes).getInt();
+    final byte[] bytes = new byte[size];
+    inStream.read(bytes);
+    return this.innerSerde.deserializer().deserialize("deser", bytes);
+  }
+
+  @Override
+  public List<? extends Coder<?>> getCoderArguments() {
+    return Collections.emptyList();
+  }
+
+  @Override
+  public void verifyDeterministic() throws NonDeterministicException {
+    if (!DETERMINISTIC) {
+      throw new NonDeterministicException(this, "This class should be deterministic!");
+    }
+  }
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventDeserializer.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..9399a42606d6e8e7f3f58bf4a515e5f83041a88d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/EventDeserializer.java
@@ -0,0 +1,36 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import java.util.Map;
+import org.apache.kafka.common.serialization.ByteBufferDeserializer;
+import org.apache.kafka.common.serialization.Deserializer;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+
+/**
+ * Deserializer for Events(SensorRegistry changes).
+ */
+public class EventDeserializer implements Deserializer<Event> {
+
+  private final ByteBufferDeserializer byteBufferDeserializer = new ByteBufferDeserializer();
+
+  @Override
+  public void configure(final Map<String, ?> configs, final boolean isKey) {
+    this.byteBufferDeserializer.configure(configs, isKey);
+  }
+
+  @Override
+  public Event deserialize(final String topic, final byte[] data) {
+    final int ordinal = this.byteBufferDeserializer.deserialize(topic, data).getInt();
+    for (final Event event : Event.values()) {
+      if (ordinal == event.ordinal()) {
+        return event;
+      }
+    }
+    throw new IllegalArgumentException("Deserialized data is not a valid event.");
+  }
+
+  @Override
+  public void close() {
+    this.byteBufferDeserializer.close();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeyCoder.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeyCoder.java
new file mode 100644
index 0000000000000000000000000000000000000000..b75037bce24b5b5ab07c9ef6818c0739f68544b2
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeyCoder.java
@@ -0,0 +1,67 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.nio.ByteBuffer;
+import java.util.Collections;
+import java.util.List;
+import org.apache.beam.sdk.coders.Coder;
+import org.apache.beam.sdk.coders.CoderException;
+import org.apache.kafka.common.serialization.Serde;
+import rocks.theodolite.benchmarks.uc4.beam.SensorParentKey;
+
+/**
+ * Wrapper Class that encapsulates a SensorParentKey Serde in a org.apache.beam.sdk.coders.Coder.
+ */
+public class SensorParentKeyCoder extends Coder<SensorParentKey> implements Serializable {
+
+  private static final long serialVersionUID = -3480141901035692398L;
+  private static final boolean DETERMINISTIC = true;
+  private static final int VALUE_SIZE = 4;
+
+  private transient Serde<SensorParentKey> innerSerde = SensorParentKeySerde.serde();
+
+  @Override
+  public void encode(final SensorParentKey value, final OutputStream outStream)
+      throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = SensorParentKeySerde.serde();
+
+    }
+    final byte[] bytes = this.innerSerde.serializer().serialize("ser", value);
+    final byte[] sizeinBytes = ByteBuffer.allocate(VALUE_SIZE).putInt(bytes.length).array();
+    outStream.write(sizeinBytes);
+    outStream.write(bytes);
+
+  }
+
+  @Override
+  public SensorParentKey decode(final InputStream inStream) throws CoderException, IOException {
+    if (this.innerSerde == null) {
+      this.innerSerde = SensorParentKeySerde.serde();
+
+    }
+    final byte[] sizeinBytes = new byte[VALUE_SIZE];
+    inStream.read(sizeinBytes);
+    final int size = ByteBuffer.wrap(sizeinBytes).getInt();
+    final byte[] bytes = new byte[size];
+    inStream.read(bytes);
+    return this.innerSerde.deserializer().deserialize("deser", bytes);
+
+  }
+
+  @Override
+  public List<? extends Coder<?>> getCoderArguments() {
+    return Collections.emptyList();
+  }
+
+  @Override
+  public void verifyDeterministic() throws NonDeterministicException {
+    if (!DETERMINISTIC) {
+      throw new NonDeterministicException(this, "This class should be deterministic!");
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeySerde.java b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeySerde.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c8d1eff664c72fcb31e6dcfddff5f53b97ff055
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/java/rocks/theodolite/benchmarks/uc4/beam/serialization/SensorParentKeySerde.java
@@ -0,0 +1,34 @@
+package rocks.theodolite.benchmarks.uc4.beam.serialization;
+
+import org.apache.kafka.common.serialization.Serde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.uc4.beam.SensorParentKey;
+
+/**
+ * {@link Serde} factory for {@link SensorParentKey}.
+ */
+public final class SensorParentKeySerde implements BufferSerde<SensorParentKey> {
+
+  private SensorParentKeySerde() {}
+
+  @Override
+  public void serialize(final WriteBuffer buffer, final SensorParentKey key) {
+    buffer.putString(key.getSensor());
+    buffer.putString(key.getParent());
+  }
+
+  @Override
+  public SensorParentKey deserialize(final ReadBuffer buffer) {
+    final String sensor = buffer.getString();
+    final String parent = buffer.getString();
+    return new SensorParentKey(sensor, parent);
+  }
+
+  public static Serde<SensorParentKey> serde() {
+    return SimpleSerdes.create(new SensorParentKeySerde());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-beam/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc4-beam/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..c1a8ca17b41ab8c8f0fa939c748200db5ba7d0d2
--- /dev/null
+++ b/theodolite-benchmarks/uc4-beam/src/main/resources/META-INF/application.properties
@@ -0,0 +1,26 @@
+application.name=theodolite-uc4-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+kafka.output.topic=output
+kafka.configuration.topic=configuration
+kafka.feedback.topic=aggregation-feedback
+kafka.window.duration.minutes=1
+
+schema.registry.url=http://localhost:8081
+
+aggregation.duration.days=30
+aggregation.advance.days=1
+
+trigger.interval=15
+grace.period.ms=270
+
+num.threads=1
+commit.interval.ms=1000
+cache.max.bytes.buffering=-1
+
+specific.avro.reader=true
+enable.auto.commit=true
+max.poll.records=500
+auto.offset.reset=earliest
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc4-flink/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-flink/.settings/org.eclipse.jdt.ui.prefs
index 272e01533f6a345d53d2635c47e38c6d3c33dc8a..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc4-flink/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc4-flink/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc4-flink/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-flink/Dockerfile b/theodolite-benchmarks/uc4-flink/Dockerfile
index 4f51f379e5da436104bb8c914e3233d6ecb4ec1f..1fe58e9930db0ef30fa10d12519dd68ccdb2e97e 100644
--- a/theodolite-benchmarks/uc4-flink/Dockerfile
+++ b/theodolite-benchmarks/uc4-flink/Dockerfile
@@ -1,3 +1,3 @@
-FROM flink:1.12-scala_2.12-java11
+FROM flink:1.13-java11
 
 ADD build/libs/uc4-flink-all.jar /opt/flink/usrlib/artifacts/uc4-flink-all.jar
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc4-flink/build.gradle b/theodolite-benchmarks/uc4-flink/build.gradle
index ebc7ca5f30a668fd161bb22f95133452b5061441..a6d20c2ddeaf8cd614d9fb3818ad8f18ba28c2a9 100644
--- a/theodolite-benchmarks/uc4-flink/build.gradle
+++ b/theodolite-benchmarks/uc4-flink/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.flink'
 }
 
-mainClassName = "theodolite.uc4.application.AggregationServiceFlinkJob"
+mainClassName = "rocks.theodolite.benchmarks.uc4.flink.AggregationServiceFlinkJob"
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/AggregationServiceFlinkJob.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/AggregationServiceFlinkJob.java
similarity index 63%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/AggregationServiceFlinkJob.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/AggregationServiceFlinkJob.java
index 3e2878a893057024de00333492462f5029eb6d77..5f4515cb851439841d1de3193f21275545033481 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/AggregationServiceFlinkJob.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/AggregationServiceFlinkJob.java
@@ -1,96 +1,45 @@
-package theodolite.uc4.application; // NOPMD Imports required
+package rocks.theodolite.benchmarks.uc4.flink; // NOPMD Imports required
 
 import java.time.Duration;
 import java.util.Set;
-import org.apache.commons.configuration2.Configuration;
 import org.apache.flink.api.common.eventtime.WatermarkStrategy;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeinfo.Types;
 import org.apache.flink.api.java.functions.KeySelector;
 import org.apache.flink.api.java.tuple.Tuple2;
-import org.apache.flink.runtime.state.StateBackend;
-import org.apache.flink.streaming.api.TimeCharacteristic;
 import org.apache.flink.streaming.api.datastream.DataStream;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
 import org.apache.flink.streaming.api.windowing.assigners.TumblingEventTimeWindows;
 import org.apache.flink.streaming.api.windowing.time.Time;
 import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
+import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase;
 import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer;
 import org.apache.kafka.common.serialization.Serdes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import theodolite.commons.flink.KafkaConnectorFactory;
-import theodolite.commons.flink.StateBackends;
-import theodolite.commons.flink.TupleType;
-import theodolite.uc4.application.util.ImmutableSensorRegistrySerializer;
-import theodolite.uc4.application.util.ImmutableSetSerializer;
-import theodolite.uc4.application.util.SensorParentKey;
-import theodolite.uc4.application.util.SensorParentKeySerializer;
-import titan.ccp.common.configuration.ServiceConfigurations;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.configuration.events.EventSerde;
-import titan.ccp.model.records.ActivePowerRecord;
-import titan.ccp.model.records.AggregatedActivePowerRecord;
-import titan.ccp.model.sensorregistry.ImmutableSensorRegistry;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.configuration.events.EventSerde;
+import rocks.theodolite.benchmarks.commons.flink.AbstractFlinkService;
+import rocks.theodolite.benchmarks.commons.flink.KafkaConnectorFactory;
+import rocks.theodolite.benchmarks.commons.flink.TupleType;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.uc4.flink.util.ImmutableSensorRegistrySerializer;
+import rocks.theodolite.benchmarks.uc4.flink.util.ImmutableSetSerializer;
+import rocks.theodolite.benchmarks.uc4.flink.util.SensorParentKey;
+import rocks.theodolite.benchmarks.uc4.flink.util.SensorParentKeySerializer;
 
 /**
  * The Aggregation microservice implemented as a Flink job.
  */
-public final class AggregationServiceFlinkJob {
+public final class AggregationServiceFlinkJob extends AbstractFlinkService {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(AggregationServiceFlinkJob.class);
 
-  private final Configuration config = ServiceConfigurations.createWithDefaults();
-  private final StreamExecutionEnvironment env;
-  private final String applicationId;
-
-  /**
-   * Create a new {@link AggregationServiceFlinkJob}.
-   */
-  public AggregationServiceFlinkJob() {
-    final String applicationName = this.config.getString(ConfigurationKeys.APPLICATION_NAME);
-    final String applicationVersion = this.config.getString(ConfigurationKeys.APPLICATION_VERSION);
-    this.applicationId = applicationName + "-" + applicationVersion;
-
-    // Execution environment configuration
-    // org.apache.flink.configuration.Configuration conf = new
-    // org.apache.flink.configuration.Configuration();
-    // conf.setBoolean(ConfigConstants.LOCAL_START_WEBSERVER, true);
-    // final StreamExecutionEnvironment env =
-    // StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf);
-    this.env = StreamExecutionEnvironment.getExecutionEnvironment();
-
-    this.configureEnv();
-
-    this.buildPipeline();
-  }
-
-  private void configureEnv() {
-    this.env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
-
-    final boolean checkpointing = this.config.getBoolean(ConfigurationKeys.CHECKPOINTING, true);
-    final int commitIntervalMs = this.config.getInt(ConfigurationKeys.COMMIT_INTERVAL_MS);
-    if (checkpointing) {
-      this.env.enableCheckpointing(commitIntervalMs);
-    }
-
-    // Parallelism
-    final Integer parallelism = this.config.getInteger(ConfigurationKeys.PARALLELISM, null);
-    if (parallelism != null) {
-      LOGGER.info("Set parallelism: {}.", parallelism);
-      this.env.setParallelism(parallelism);
-    }
-
-    // State Backend
-    final StateBackend stateBackend = StateBackends.fromConfiguration(this.config);
-    this.env.setStateBackend(stateBackend);
-
-    this.configureSerializers();
-  }
-
-  private void configureSerializers() {
+  @Override
+  protected void configureSerializers() {
     this.env.getConfig().registerTypeWithKryoSerializer(ImmutableSensorRegistry.class,
         new ImmutableSensorRegistrySerializer());
     this.env.getConfig().registerTypeWithKryoSerializer(SensorParentKey.class,
@@ -103,12 +52,15 @@ public final class AggregationServiceFlinkJob {
     this.env.getConfig().registerTypeWithKryoSerializer(Set.of(1, 2, 3, 4).getClass(), // NOCS
         new ImmutableSetSerializer());
 
-    this.env.getConfig().getRegisteredTypesWithKryoSerializers()
-        .forEach((c, s) -> LOGGER.info("Class " + c.getName() + " registered with serializer "
-            + s.getSerializer().getClass().getName()));
+    this.env
+        .getConfig()
+        .getRegisteredTypesWithKryoSerializers()
+        .forEach((c, s) -> LOGGER.info("Class '{}' registered with serializer '{}'.", c.getName(),
+            s.getSerializer().getClass().getName()));
   }
 
-  private void buildPipeline() {
+  @Override
+  protected void buildPipeline() {
     // Get configurations
     final String kafkaBroker = this.config.getString(ConfigurationKeys.KAFKA_BOOTSTRAP_SERVERS);
     final String schemaRegistryUrl = this.config.getString(ConfigurationKeys.SCHEMA_REGISTRY_URL);
@@ -134,12 +86,13 @@ public final class AggregationServiceFlinkJob {
     final FlinkKafkaConsumer<AggregatedActivePowerRecord> kafkaOutputSource =
         kafkaConnector.createConsumer(outputTopic, AggregatedActivePowerRecord.class);
 
-    final FlinkKafkaConsumer<Tuple2<Event, String>> kafkaConfigSource =
+    final FlinkKafkaConsumerBase<Tuple2<Event, String>> kafkaConfigSource =
         kafkaConnector.createConsumer(
             configurationTopic,
             EventSerde::serde,
             Serdes::String,
-            TupleType.of(TypeInformation.of(Event.class), Types.STRING));
+            TupleType.of(TypeInformation.of(Event.class), Types.STRING))
+            .setStartFromEarliest();
 
     // Sink to output topic with SensorId, AggregatedActivePowerRecord
     final FlinkKafkaProducer<Tuple2<String, AggregatedActivePowerRecord>> kafkaAggregationSink =
@@ -203,21 +156,6 @@ public final class AggregationServiceFlinkJob {
         .addSink(kafkaAggregationSink).name("[Kafka Producer] Topic: " + outputTopic);
   }
 
-  /**
-   * Start running this microservice.
-   */
-  public void run() {
-    // Execution plan
-    LOGGER.info("Execution plan: {}", this.env.getExecutionPlan());
-
-    // Execute Job
-    try {
-      this.env.execute(this.applicationId);
-    } catch (final Exception e) { // NOPMD Execution thrown by Flink
-      LOGGER.error("An error occured while running this job.", e);
-    }
-  }
-
   public static void main(final String[] args) {
     new AggregationServiceFlinkJob().run();
   }
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ChildParentsFlatMapFunction.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ChildParentsFlatMapFunction.java
similarity index 93%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ChildParentsFlatMapFunction.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ChildParentsFlatMapFunction.java
index 910dc359fa9b5b0810f7f9b6e67bfceaa68cc798..77391393d2977218ff15972f0329393388d24453 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ChildParentsFlatMapFunction.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ChildParentsFlatMapFunction.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application;
+package rocks.theodolite.benchmarks.uc4.flink;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -13,9 +13,9 @@ import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.util.Collector;
-import titan.ccp.model.sensorregistry.AggregatedSensor;
-import titan.ccp.model.sensorregistry.Sensor;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 /**
  * Transforms a {@link SensorRegistry} into key value pairs of Sensor identifiers and their parents'
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ConfigurationKeys.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ConfigurationKeys.java
similarity index 96%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ConfigurationKeys.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ConfigurationKeys.java
index 448e8b095ef15c434655ca3c76a9e2de21244054..290f4341958dd133926234219017cbb9149dd3f8 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/ConfigurationKeys.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/ConfigurationKeys.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application;
+package rocks.theodolite.benchmarks.uc4.flink;
 
 /**
  * Keys to access configuration parameters.
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/JoinAndDuplicateCoFlatMapFunction.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/JoinAndDuplicateCoFlatMapFunction.java
similarity index 93%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/JoinAndDuplicateCoFlatMapFunction.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/JoinAndDuplicateCoFlatMapFunction.java
index 6ef9a72e9695cfccba0bbcca1238f7ebc94fc505..0171e4b0b0c876242834edc76e8117615dc6b3b2 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/JoinAndDuplicateCoFlatMapFunction.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/JoinAndDuplicateCoFlatMapFunction.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application;
+package rocks.theodolite.benchmarks.uc4.flink;
 
 import java.util.Set;
 import org.apache.flink.api.common.state.MapState;
@@ -9,8 +9,8 @@ import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.streaming.api.functions.co.RichCoFlatMapFunction;
 import org.apache.flink.util.Collector;
-import theodolite.uc4.application.util.SensorParentKey;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.uc4.flink.util.SensorParentKey;
 
 /**
  * A {@link RichCoFlatMapFunction} which joins each incoming {@link ActivePowerRecord} with its
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/RecordAggregationProcessWindowFunction.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/RecordAggregationProcessWindowFunction.java
similarity index 94%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/RecordAggregationProcessWindowFunction.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/RecordAggregationProcessWindowFunction.java
index 45d4a09d153881572c949d2af7542f9cffb5622d..6dff6edaf5fb6343f0c6c4b12cbff4a9175751eb 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/RecordAggregationProcessWindowFunction.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/RecordAggregationProcessWindowFunction.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application;
+package rocks.theodolite.benchmarks.uc4.flink;
 
 import org.apache.flink.api.common.state.MapState;
 import org.apache.flink.api.common.state.MapStateDescriptor;
@@ -11,9 +11,9 @@ import org.apache.flink.configuration.Configuration;
 import org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction;
 import org.apache.flink.streaming.api.windowing.windows.TimeWindow;
 import org.apache.flink.util.Collector;
-import theodolite.uc4.application.util.SensorParentKey;
-import titan.ccp.model.records.ActivePowerRecord;
-import titan.ccp.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.uc4.flink.util.SensorParentKey;
 
 /**
  * A {@link ProcessWindowFunction} which performs the windowed aggregation of all
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSensorRegistrySerializer.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSensorRegistrySerializer.java
similarity index 85%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSensorRegistrySerializer.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSensorRegistrySerializer.java
index e157f35c8a052d2d4a28526a0d98d56515d586d6..c491adc47d31211e809a00ad283266511e96c534 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSensorRegistrySerializer.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSensorRegistrySerializer.java
@@ -1,11 +1,11 @@
-package theodolite.uc4.application.util;
+package rocks.theodolite.benchmarks.uc4.flink.util;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.Serializer;
 import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
 import java.io.Serializable;
-import titan.ccp.model.sensorregistry.ImmutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
 
 /**
  * A {@link Serializer} for {@link ImmutableSensorRegistry}s.
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSetSerializer.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSetSerializer.java
similarity index 96%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSetSerializer.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSetSerializer.java
index 6b2dbcdfb403705b39815dd31112deab7947d83d..4c23ffefc7e2715c68aa450a235a87bd914a5ed5 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/ImmutableSetSerializer.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/ImmutableSetSerializer.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application.util;
+package rocks.theodolite.benchmarks.uc4.flink.util;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.Serializer;
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKey.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKey.java
similarity index 95%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKey.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKey.java
index 903b66dd12a2864d522fde7eb7cf3fdc2ec73bcd..af67c35cefb20abc0bb5d96c3940db71c786f586 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKey.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKey.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application.util;
+package rocks.theodolite.benchmarks.uc4.flink.util;
 
 import java.util.Objects;
 
diff --git a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKeySerializer.java b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKeySerializer.java
similarity index 94%
rename from theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKeySerializer.java
rename to theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKeySerializer.java
index bdd403a05de8f54f636568e839f5f48effd43d58..c18709436eec4f34113d0737821a9fab319ee9c1 100644
--- a/theodolite-benchmarks/uc4-flink/src/main/java/theodolite/uc4/application/util/SensorParentKeySerializer.java
+++ b/theodolite-benchmarks/uc4-flink/src/main/java/rocks/theodolite/benchmarks/uc4/flink/util/SensorParentKeySerializer.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.application.util;
+package rocks.theodolite.benchmarks.uc4.flink.util;
 
 import com.esotericsoftware.kryo.Kryo;
 import com.esotericsoftware.kryo.Serializer;
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,286 @@
+cleanup.add_all=false
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
+cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=true
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
+cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_modifiers=false
+cleanup.remove_redundant_semicolons=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
+cleanup_profile=_CAU-SE-Style
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_CAU-SE-Style
+formatter_settings_version=21
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=true
+sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=true
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
+sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -0,0 +1,4 @@
+configFilePath=../config/checkstyle.xml
+customModulesJarPaths=
+eclipse.preferences.version=1
+enabled=false
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/.settings/qa.eclipse.plugin.pmd.prefs
@@ -0,0 +1,4 @@
+customRulesJars=
+eclipse.preferences.version=1
+enabled=false
+ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/Dockerfile b/theodolite-benchmarks/uc4-hazelcastjet/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..a09c59d007a4de426a5046221662cdf1e912ee56
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/Dockerfile
@@ -0,0 +1,7 @@
+FROM openjdk:11-slim
+
+ADD build/distributions/uc4-hazelcastjet.tar /
+
+
+CMD  JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=$LOG_LEVEL" \
+     /uc4-hazelcastjet/bin/uc4-hazelcastjet
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/build.gradle b/theodolite-benchmarks/uc4-hazelcastjet/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..01daa0b88ffea88ed52e1ca6afa682150ade1b50
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/build.gradle
@@ -0,0 +1,5 @@
+plugins {
+  id 'theodolite.hazelcastjet'
+}
+
+mainClassName = "rocks.theodolite.benchmarks.uc4.hazelcastjet.HistoryService"
\ No newline at end of file
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/HistoryService.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/HistoryService.java
new file mode 100644
index 0000000000000000000000000000000000000000..419c25fec3eeffbd9eabef4897c44b7c6e773cee
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/HistoryService.java
@@ -0,0 +1,74 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A microservice that manages the history and, therefore, stores and aggregates incoming
+ * measurements.
+ */
+public class HistoryService {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HistoryService.class);
+
+  // Hazelcast settings (default)
+  private static final String HZ_KUBERNETES_SERVICE_DNS_KEY = "service-dns";
+  private static final String BOOTSTRAP_SERVER_DEFAULT = "localhost:5701";
+
+  // Kafka settings (default)
+  private static final String KAFKA_BOOTSTRAP_DEFAULT = "localhost:9092";
+  private static final String SCHEMA_REGISTRY_URL_DEFAULT = "http://localhost:8081";
+  private static final String KAFKA_INPUT_TOPIC_DEFAULT = "input";
+  private static final String KAFKA_CONFIG_TOPIC_DEFAULT = "configuration";
+  private static final String KAFKA_FEEDBACK_TOPIC_DEFAULT = "aggregation-feedback";
+  private static final String KAFKA_OUTPUT_TOPIC_DEFAULT = "output";
+
+  // UC4 specific (default)
+  private static final String WINDOW_SIZE_DEFAULT_MS = "5000";
+
+  // Job name (default)
+  private static final String JOB_NAME = "uc4-hazelcastjet";
+
+  /**
+   * Entrypoint for UC4 using Gradle Run.
+   */
+  public static void main(final String[] args) {
+    final HistoryService uc4HistoryService = new HistoryService();
+    try {
+      uc4HistoryService.run();
+    } catch (final Exception e) { // NOPMD
+      LOGGER.error("ABORT MISSION!: {}", e);
+    }
+  }
+
+  /**
+   * Start a UC4 service.
+   *
+   * @throws Exception This Exception occurs if the Uc4HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  public void run() throws Exception { // NOPMD
+    this.createHazelcastJetApplication();
+  }
+
+  /**
+   * Creates a Hazelcast Jet Application for UC4 using the Uc1HazelcastJetFactory.
+   *
+   * @throws Exception This Exception occurs if the Uc4HazelcastJetFactory is used in the wrong way.
+   *         Detailed data is provided once an Exception occurs.
+   */
+  private void createHazelcastJetApplication() throws Exception { // NOPMD
+    new Uc4HazelcastJetFactory()
+        .setReadPropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT,JOB_NAME)
+        .setWritePropertiesFromEnv(KAFKA_BOOTSTRAP_DEFAULT, SCHEMA_REGISTRY_URL_DEFAULT)
+        .setKafkaInputTopicFromEnv(KAFKA_INPUT_TOPIC_DEFAULT)
+        .setKafkaOutputTopicFromEnv(KAFKA_OUTPUT_TOPIC_DEFAULT)
+        .setKafkaConfigurationTopicFromEnv(KAFKA_CONFIG_TOPIC_DEFAULT)
+        .setKafkaFeedbackTopicFromEnv(KAFKA_FEEDBACK_TOPIC_DEFAULT)
+        .setWindowSizeFromEnv(WINDOW_SIZE_DEFAULT_MS)
+        .buildUc4JetInstanceFromEnv(LOGGER, BOOTSTRAP_SERVER_DEFAULT, HZ_KUBERNETES_SERVICE_DNS_KEY)
+        .buildUc4Pipeline()
+        .runUc4Job(JOB_NAME);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4HazelcastJetFactory.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4HazelcastJetFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..69ccee100f2946237390c8b19ff0f20036237d37
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4HazelcastJetFactory.java
@@ -0,0 +1,379 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet;
+
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.pipeline.Pipeline;
+import io.confluent.kafka.serializers.KafkaAvroDeserializer;
+import io.confluent.kafka.serializers.KafkaAvroSerializer;
+import java.util.Objects;
+import java.util.Properties;
+import org.apache.kafka.common.serialization.StringDeserializer;
+import org.apache.kafka.common.serialization.StringSerializer;
+import org.slf4j.Logger;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.ConfigurationKeys;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.JetInstanceBuilder;
+import rocks.theodolite.benchmarks.commons.hazelcastjet.KafkaPropertiesBuilder;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.EventDeserializer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ImmutableSensorRegistryUc4Serializer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.SensorGroupKey;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.SensorGroupKeySerializer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ValueGroup;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ValueGroupSerializer;
+
+/**
+ * A Hazelcast Jet factory which can build a Hazelcast Jet Instance and Pipeline for the UC4
+ * benchmark and lets you start the Hazelcast Jet job. The JetInstance can be built directly as the
+ * Hazelcast Config is managed internally. In order to build the Pipeline, you first have to build
+ * the Read and Write Properties and set the input, output, and configuration topic. This can be
+ * done using internal functions of this factory. Outside data only refers to custom values or
+ * default values in case data of the environment cannot the fetched.
+ */
+public class Uc4HazelcastJetFactory {
+
+  // Information per History Service
+  private Properties kafkaInputReadPropsForPipeline;
+  private Properties kafkaConfigPropsForPipeline;
+  private Properties kafkaFeedbackPropsForPipeline;
+  private Properties kafkaWritePropsForPipeline;
+  private String kafkaInputTopic;
+  private String kafkaOutputTopic;
+  private JetInstance uc4JetInstance;
+  private Pipeline uc4JetPipeline;
+  // UC4 specific
+  private String kafkaConfigurationTopic;
+  private String kafkaFeedbackTopic;
+  private int windowSize;
+
+  /////////////////////////////////////
+  // Layer 1 - Hazelcast Jet Run Job //
+  /////////////////////////////////////
+
+  /**
+   * Needs a JetInstance and Pipeline defined in this factors. Adds the pipeline to the existing
+   * JetInstance as a job.
+   *
+   * @param jobName The name of the job.
+   * @throws Exception If either no JetInstance or Pipeline is set, a job cannot be startet.
+   */
+  public void runUc4Job(final String jobName) throws IllegalStateException { // NOPMD
+    Objects.requireNonNull(this.uc4JetInstance, "Jet instance is not set.");
+    Objects.requireNonNull(this.uc4JetPipeline, "Jet pipeline is not set.");
+
+    // Adds the job name and joins a job to the JetInstance defined in this factory
+    final JobConfig jobConfig = new JobConfig()
+        .registerSerializer(ValueGroup.class, ValueGroupSerializer.class)
+        .registerSerializer(SensorGroupKey.class, SensorGroupKeySerializer.class)
+        .registerSerializer(ImmutableSensorRegistry.class,
+            ImmutableSensorRegistryUc4Serializer.class)
+        .setName(jobName);
+    this.uc4JetInstance.newJobIfAbsent(this.uc4JetPipeline, jobConfig).join();
+  }
+
+  /////////////
+  // Layer 2 //
+  /////////////
+
+  /**
+   * Build a Hazelcast JetInstance used to run a job on.
+   *
+   * @param logger The logger specified for this JetInstance.
+   * @param bootstrapServerDefault Default bootstrap server in case no value can be derived from the
+   *        environment.
+   * @param hzKubernetesServiceDnsKey The kubernetes service dns key.
+   * @return A Uc4HazelcastJetFactory containing a set JetInstance.
+   */
+  public Uc4HazelcastJetFactory buildUc4JetInstanceFromEnv(final Logger logger,
+      final String bootstrapServerDefault,
+      final String hzKubernetesServiceDnsKey) {
+    this.uc4JetInstance = new JetInstanceBuilder()
+        .setConfigFromEnv(logger, bootstrapServerDefault, hzKubernetesServiceDnsKey)
+        .build();
+    return this;
+  }
+
+  /**
+   * Builds a Hazelcast Jet pipeline used for a JetInstance to run it as a job on. Needs the input
+   * topic and kafka properties defined in this factory beforehand.
+   *
+   * @return A Uc4HazelcastJetFactory containg a set pipeline.
+   * @throws Exception If the input topic or the kafka properties are not defined, the pipeline
+   *         cannot be built.
+   */
+  public Uc4HazelcastJetFactory buildUc4Pipeline() throws IllegalStateException { // NOPMD
+
+    final String defaultPipelineWarning = "Cannot build pipeline."; // NOPMD
+
+    // Check if Properties for the Kafka Input are set.
+    if (this.kafkaInputReadPropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Input Read Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if Properties for the Kafka Output are set.
+    if (this.kafkaWritePropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Write Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if Properties for the Kafka Config Read are set.
+    if (this.kafkaConfigPropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Config Read Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if Properties for the Kafka Feedback Read are set.
+    if (this.kafkaFeedbackPropsForPipeline == null) {
+      throw new IllegalStateException("Kafka Feedback Read Properties for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka input topic is set.
+    if (this.kafkaInputTopic == null) {
+      throw new IllegalStateException("Kafka input topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka output topic is set.
+    if (this.kafkaOutputTopic == null) {
+      throw new IllegalStateException("kafka output topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka config topic is set.
+    if (this.kafkaConfigurationTopic == null) {
+      throw new IllegalStateException("configuratin topic for pipeline not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if the Kafka feedback topic is set.
+    if (this.kafkaFeedbackTopic == null) {
+      throw new IllegalStateException("Feedback topic not set! "
+          + defaultPipelineWarning);
+    }
+
+    // Check if window size for tumbling window is set.
+    if (this.windowSize <= 0) {
+      throw new IllegalStateException("window size for pipeline not set or not greater than 0! "
+          + defaultPipelineWarning);
+    }
+
+    // Build Pipeline Using the pipelineBuilder
+    final Uc4PipelineBuilder pipeBuilder = new Uc4PipelineBuilder();
+    this.uc4JetPipeline =
+        pipeBuilder.build(this.kafkaInputReadPropsForPipeline,
+            this.kafkaConfigPropsForPipeline,
+            this.kafkaFeedbackPropsForPipeline,
+            this.kafkaWritePropsForPipeline,
+            this.kafkaInputTopic, this.kafkaOutputTopic,
+            this.kafkaConfigurationTopic,
+            this.kafkaFeedbackTopic,
+            this.windowSize);
+    // Return Uc4HazelcastJetBuilder factory
+    return this;
+  }
+
+  /////////////
+  // Layer 3 //
+  /////////////
+
+  /**
+   * Sets kafka read properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @param schemaRegistryUrlDefault Default schema registry url in the case that no schema registry
+   *        url can be fetched from the environment.
+   * @return The Uc4HazelcastJetBuilder factory with set kafkaReadPropertiesForPipeline.
+   */
+  public Uc4HazelcastJetFactory setReadPropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault,
+      final String schemaRegistryUrlDefault,
+      final String jobName) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+
+    final Properties kafkaInputReadProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault, jobName,
+            StringDeserializer.class.getCanonicalName(),
+            KafkaAvroDeserializer.class.getCanonicalName());
+
+    final Properties kafkaConfigReadProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            jobName,
+            EventDeserializer.class.getCanonicalName(),
+            StringDeserializer.class.getCanonicalName());
+
+    final Properties kafkaAggregationReadProps =
+        propsBuilder.buildKafkaInputReadPropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            jobName,
+            StringDeserializer.class.getCanonicalName(),
+            KafkaAvroDeserializer.class.getCanonicalName());
+
+    this.kafkaInputReadPropsForPipeline = kafkaInputReadProps;
+    this.kafkaConfigPropsForPipeline = kafkaConfigReadProps;
+    this.kafkaFeedbackPropsForPipeline = kafkaAggregationReadProps;
+    return this;
+  }
+
+  /**
+   * Sets kafka write properties for pipeline used in this builder using environment variables.
+   *
+   * @param bootstrapServersDefault Default Bootstrap server in the case that no bootstrap server
+   *        can be fetched from the environment.
+   * @return The Uc4HazelcastJetBuilder factory with set kafkaWritePropertiesForPipeline.
+   */
+  public Uc4HazelcastJetFactory setWritePropertiesFromEnv(// NOPMD
+      final String bootstrapServersDefault, final String schemaRegistryUrlDefault) {
+    // Use KafkaPropertiesBuilder to build a properties object used for kafka
+    final KafkaPropertiesBuilder propsBuilder = new KafkaPropertiesBuilder();
+    final Properties kafkaWriteProps =
+        propsBuilder.buildKafkaWritePropsFromEnv(bootstrapServersDefault,
+            schemaRegistryUrlDefault,
+            StringSerializer.class.getCanonicalName(),
+            KafkaAvroSerializer.class.getCanonicalName());
+    this.kafkaWritePropsForPipeline = kafkaWriteProps;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder.
+   *
+   * @param inputTopic The kafka topic used as the pipeline input.
+   * @return A Uc4HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc4HazelcastJetFactory setCustomKafkaInputTopic(// NOPMD
+      final String inputTopic) {
+    this.kafkaInputTopic = inputTopic;
+    return this;
+  }
+
+  /**
+   * Sets the kafka input output for the pipeline used in this builder.
+   *
+   * @param outputTopic The kafka topic used as the pipeline output.
+   * @return A Uc4HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc4HazelcastJetFactory setCustomKafkaOutputTopic(final String outputTopic) { // NOPMD
+    this.kafkaOutputTopic = outputTopic;
+    return this;
+  }
+
+
+  /**
+   * Sets the kafka input topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultInputTopic The default kafka input topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc4HazelcastJetBuilder factory with a set kafkaInputTopic.
+   */
+  public Uc4HazelcastJetFactory setKafkaInputTopicFromEnv(// NOPMD
+      final String defaultInputTopic) {
+    this.kafkaInputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_INPUT_TOPIC),
+        defaultInputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the kafka output topic for the pipeline used in this builder using environment variables.
+   *
+   * @param defaultOutputTopic The default kafka output topic used if no topic is specified by the
+   *        environment.
+   * @return A Uc4HazelcastJetBuilder factory with a set kafkaOutputTopic.
+   */
+  public Uc4HazelcastJetFactory setKafkaOutputTopicFromEnv(// NOPMD
+      final String defaultOutputTopic) {
+    this.kafkaOutputTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_OUTPUT_TOPIC),
+        defaultOutputTopic);
+    return this;
+  }
+
+  /**
+   * Sets the window size for the pipeline used in this builder.
+   *
+   * @param windowSize the window size to be used for this pipeline.
+   * @return A Uc4HazelcastJetFactory with a set windowSize.
+   */
+  public Uc4HazelcastJetFactory setCustomWindowSize(// NOPMD
+      final int windowSize) {
+    this.windowSize = windowSize;
+    return this;
+  }
+
+  /**
+   * Sets the window size for the pipeline used in this builder from the environment.
+   *
+   * @param defaultWindowSize the default window size to be used for this pipeline when none is set
+   *        in the environment.
+   * @return A Uc4HazelcastJetFactory with a set windowSize.
+   */
+  public Uc4HazelcastJetFactory setWindowSizeFromEnv(// NOPMD
+      final String defaultWindowSize) {
+    final String windowSize = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.WINDOW_SIZE_UC4),
+        defaultWindowSize);
+    final int windowSizeNumber = Integer.parseInt(windowSize);
+    this.windowSize = windowSizeNumber;
+    return this;
+  }
+
+  /**
+   * Sets the configuration topic for the pipeline used in this builder.
+   *
+   * @param kafkaConfigurationTopic the configuration topic to be used for this pipeline.
+   * @return A Uc4HazelcastJetFactory with a set configuration topic.
+   */
+  public Uc4HazelcastJetFactory setCustomKafkaConfigurationTopic(// NOPMD
+      final String kafkaConfigurationTopic) {
+    this.kafkaConfigurationTopic = kafkaConfigurationTopic;
+    return this;
+  }
+
+  /**
+   * Sets the configuration topic for the pipeline used in this builder from the environment.
+   *
+   * @param defaultKafkaConfigurationTopic the default configuration topic to be used for this
+   *        pipeline when none is set in the environment.
+   * @return A Uc4HazelcastJetFactory with a set kafkaConfigurationTopic.
+   */
+  public Uc4HazelcastJetFactory setKafkaConfigurationTopicFromEnv(// NOPMD
+      final String defaultKafkaConfigurationTopic) {
+    this.kafkaConfigurationTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_CONFIGURATION_TOPIC),
+        defaultKafkaConfigurationTopic);
+    return this;
+  }
+
+  /**
+   * Sets the Feedback topic for the pipeline used in this builder.
+   *
+   * @param kafkaFeedbackTopic the Feedback topic to be used for this pipeline.
+   * @return A Uc4HazelcastJetFactory with a set Feedback topic.
+   */
+  public Uc4HazelcastJetFactory setCustomKafkaFeedbackTopic(// NOPMD
+      final String kafkaFeedbackTopic) {
+    this.kafkaFeedbackTopic = kafkaFeedbackTopic;
+    return this;
+  }
+
+  /**
+   * Sets the Feedback topic for the pipeline used in this builder from the environment.
+   *
+   * @param defaultKafkaFeedbackTopic the default Feedback topic to be used for this pipeline when
+   *        none is set in the environment.
+   * @return A Uc4HazelcastJetFactory with a set kafkaFeedbackTopic.
+   */
+  public Uc4HazelcastJetFactory setKafkaFeedbackTopicFromEnv(// NOPMD
+      final String defaultKafkaFeedbackTopic) {
+    this.kafkaFeedbackTopic = Objects.requireNonNullElse(
+        System.getenv(ConfigurationKeys.KAFKA_FEEDBACK_TOPIC),
+        defaultKafkaFeedbackTopic);
+    return this;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineBuilder.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineBuilder.java
new file mode 100644
index 0000000000000000000000000000000000000000..87d10bc5c0fd417082c12c5a1a26bbf9116c8a50
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineBuilder.java
@@ -0,0 +1,294 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet; // NOPMD Excessive imports
+
+import com.hazelcast.function.BiFunctionEx;
+import com.hazelcast.jet.Traverser;
+import com.hazelcast.jet.Traversers;
+import com.hazelcast.jet.Util;
+import com.hazelcast.jet.aggregate.AggregateOperation;
+import com.hazelcast.jet.aggregate.AggregateOperation1;
+import com.hazelcast.jet.kafka.KafkaSinks;
+import com.hazelcast.jet.kafka.KafkaSources;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sinks;
+import com.hazelcast.jet.pipeline.StageWithWindow;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.StreamStageWithKey;
+import com.hazelcast.jet.pipeline.WindowDefinition;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.AggregatedActivePowerRecordAccumulator;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ChildParentsTransformer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.SensorGroupKey;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ValueGroup;
+
+/**
+ * Builder to build a HazelcastJet Pipeline for UC4 which can be used for stream processing using
+ * Hazelcast Jet.
+ */
+public class Uc4PipelineBuilder {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(Uc4PipelineBuilder.class);
+  private static final String SENSOR_PARENT_MAP_NAME = "SensorParentMap";
+
+  /**
+   * Builds a pipeline which can be used for stream processing using Hazelcast Jet.
+   *
+   * @param kafkaInputReadPropsForPipeline Properties Object containing the necessary kafka input
+   *        read attributes.
+   * @param kafkaConfigPropsForPipeline Properties Object containing the necessary kafka config read
+   *        attributes.
+   * @param kafkaFeedbackPropsForPipeline Properties Object containing the necessary kafka
+   *        aggregation read attributes.
+   * @param kafkaWritePropsForPipeline Properties Object containing the necessary kafka write
+   *        attributes.
+   * @param kafkaInputTopic The name of the input topic used for the pipeline.
+   * @param kafkaOutputTopic The name of the output topic used for the pipeline.
+   * @param kafkaConfigurationTopic The name of the configuration topic used for the pipeline.
+   * @param kafkaFeedbackTopic The name of the feedback topic used for the pipeline.
+   * @param windowSize The window size of the tumbling window used in this pipeline.
+   * @return returns a Pipeline used which can be used in a Hazelcast Jet Instance to process data
+   *         for UC3.
+   */
+  public Pipeline build(final Properties kafkaInputReadPropsForPipeline, // NOPMD
+      final Properties kafkaConfigPropsForPipeline,
+      final Properties kafkaFeedbackPropsForPipeline,
+      final Properties kafkaWritePropsForPipeline,
+      final String kafkaInputTopic,
+      final String kafkaOutputTopic,
+      final String kafkaConfigurationTopic,
+      final String kafkaFeedbackTopic,
+      final int windowSize) {
+
+    if (LOGGER.isInfoEnabled()) {
+      LOGGER.info("kafkaConfigProps: " + kafkaConfigPropsForPipeline);
+      LOGGER.info("kafkaFeedbackProps: " + kafkaFeedbackPropsForPipeline);
+      LOGGER.info("kafkaWriteProps: " + kafkaWritePropsForPipeline);
+    }
+
+    // The pipeline for this Use Case
+    final Pipeline uc4Pipeline = Pipeline.create();
+
+    // Sources for this use case
+    final StreamSource<Entry<Event, String>> configSource =
+        KafkaSources.kafka(kafkaConfigPropsForPipeline, kafkaConfigurationTopic);
+
+    final StreamSource<Entry<String, ActivePowerRecord>> inputSource =
+        KafkaSources.kafka(kafkaInputReadPropsForPipeline, kafkaInputTopic);
+
+    final StreamSource<Entry<String, AggregatedActivePowerRecord>> aggregationSource =
+        KafkaSources.kafka(kafkaFeedbackPropsForPipeline, kafkaFeedbackTopic);
+
+    // Extend UC4 topology to pipeline
+    final StreamStage<Entry<String, AggregatedActivePowerRecord>> uc4Aggregation =
+        this.extendUc4Topology(uc4Pipeline, inputSource, aggregationSource, configSource,
+            windowSize);
+
+    // Add Sink2: Write back to kafka feedback/aggregation topic
+    uc4Aggregation.writeTo(KafkaSinks.kafka(
+        kafkaWritePropsForPipeline, kafkaFeedbackTopic));
+
+    // Log aggregation product
+    uc4Aggregation.writeTo(Sinks.logger());
+
+    // Add Sink2: Write back to kafka output topic
+    uc4Aggregation.writeTo(KafkaSinks.kafka(
+        kafkaWritePropsForPipeline, kafkaOutputTopic));
+
+    // Return the pipeline
+    return uc4Pipeline;
+  }
+
+  /**
+   * Extends to a blank Hazelcast Jet Pipeline the UC4 topology defines by theodolite.
+   *
+   * <p>
+   * UC4 takes {@code ActivePowerRecord} events from sensors and a {@code SensorRegistry} with maps
+   * from keys to groups to map values to their according groups. A feedback stream allows for group
+   * keys to be mapped to values and eventually to be mapped to other top level groups defines by
+   * the {@code SensorRegistry}.
+   * </p>
+   *
+   * <p>
+   * 6 Step topology: <br>
+   * (1) Inputs (Config, Values, Aggregations) <br>
+   * (2) Merge Input Values and Aggregations <br>
+   * (3) Join Configuration with Merged Input Stream <br>
+   * (4) Duplicate as flatmap per value and group <br>
+   * (5) Window (preparation for possible last values) <br>
+   * (6) Aggregate data over the window
+   * </p>
+   *
+   * @param pipe The blank pipeline to extend the logic to.
+   * @param inputSource A streaming source with {@code ActivePowerRecord} data.
+   * @param aggregationSource A streaming source with aggregated data.
+   * @param configurationSource A streaming source delivering a {@code SensorRegistry}.
+   * @param windowSize The window size used to aggregate over.
+   * @return A {@code StreamSource<String,Double>} with sensorKeys or groupKeys mapped to their
+   *         according aggregated values. The data can be further modified or directly be linked to
+   *         a Hazelcast Jet sink.
+   */
+  public StreamStage<Entry<String, AggregatedActivePowerRecord>> extendUc4Topology(// NOPMD
+      final Pipeline pipe,
+      final StreamSource<Entry<String, ActivePowerRecord>> inputSource,
+      final StreamSource<Entry<String, AggregatedActivePowerRecord>> aggregationSource,
+      final StreamSource<Entry<Event, String>> configurationSource, final int windowSize) {
+
+    //////////////////////////////////
+    // (1) Configuration Stream
+    pipe.readFrom(configurationSource)
+        .withNativeTimestamps(0)
+        .filter(entry -> entry.getKey() == Event.SENSOR_REGISTRY_CHANGED
+            || entry.getKey() == Event.SENSOR_REGISTRY_STATUS)
+        .map(data -> Util.entry(data.getKey(), SensorRegistry.fromJson(data.getValue())))
+        .flatMapStateful(HashMap::new, new ConfigFlatMap())
+        .writeTo(Sinks.mapWithUpdating(
+            SENSOR_PARENT_MAP_NAME, // The addressed IMAP
+            Entry::getKey, // The key to look for
+            (oldValue, newEntry) -> newEntry.getValue()));
+
+    //////////////////////////////////
+    // (1) Sensor Input Stream
+    final StreamStage<Entry<String, ActivePowerRecord>> inputStream = pipe
+        .readFrom(inputSource)
+        .withNativeTimestamps(0);
+
+    //////////////////////////////////
+    // (1) Aggregation Stream
+    final StreamStage<Entry<String, ActivePowerRecord>> aggregations = pipe
+        .readFrom(aggregationSource)
+        .withNativeTimestamps(0)
+        .map(entry -> { // Map Aggregated to ActivePowerRecord
+          final AggregatedActivePowerRecord agg = entry.getValue();
+          final ActivePowerRecord record = new ActivePowerRecord(
+              agg.getIdentifier(), agg.getTimestamp(), agg.getSumInW());
+          return Util.entry(entry.getKey(), record);
+        });
+
+    //////////////////////////////////
+    // (2) UC4 Merge Input with aggregation stream
+    final StreamStageWithKey<Entry<String, ActivePowerRecord>, String> mergedInputAndAggregations =
+        inputStream
+            .merge(aggregations)
+            .groupingKey(Entry::getKey);
+
+    //////////////////////////////////
+    // (3) UC4 Join Configuration and Merges Input/Aggregation Stream
+    // [sensorKey , (value,Set<Groups>)]
+    final StreamStage<Entry<String, ValueGroup>> joinedStage = mergedInputAndAggregations
+        .<Set<String>, Entry<String, ValueGroup>>mapUsingIMap(
+            SENSOR_PARENT_MAP_NAME,
+            (sensorEvent, sensorParentsSet) -> {
+              final ValueGroup valueParentsPair = new ValueGroup(
+                  sensorEvent.getValue(),
+                  sensorParentsSet == null ? Set.of() : sensorParentsSet);
+              return Util.entry(sensorEvent.getKey(), valueParentsPair);
+            });
+
+    //////////////////////////////////
+    // (4) UC4 Duplicate as flatmap joined Stream
+    // [(sensorKey, Group) , value]
+    final StreamStage<Entry<SensorGroupKey, ActivePowerRecord>> dupliAsFlatmappedStage = joinedStage
+        .flatMap(entry -> {
+
+          // Supplied data
+          final String keyGroupId = entry.getKey();
+          final ActivePowerRecord record = entry.getValue().getRecord();
+          final Set<String> groups = entry.getValue().getGroups();
+
+          // Transformed Data
+          final String[] groupList = groups.toArray(String[]::new);
+          final SensorGroupKey[] newKeyList = new SensorGroupKey[groupList.length];
+          final List<Entry<SensorGroupKey, ActivePowerRecord>> newEntryList = new ArrayList<>();
+          for (int i = 0; i < groupList.length; i++) {
+            newKeyList[i] = new SensorGroupKey(keyGroupId, groupList[i]);
+            newEntryList.add(Util.entry(newKeyList[i], record));
+          }
+
+          // Return traversable list of new entry elements
+          return Traversers.traverseIterable(newEntryList);
+        });
+
+    //////////////////////////////////
+    // (5) UC4 Last Value Map
+    // Table with tumbling window differentiation [ (sensorKey,Group) , value ],Time
+    final StageWithWindow<Entry<SensorGroupKey, ActivePowerRecord>> windowedLastValues =
+        dupliAsFlatmappedStage
+            .window(WindowDefinition.tumbling(windowSize));
+
+    final AggregateOperation1<Entry<SensorGroupKey, ActivePowerRecord>, AggregatedActivePowerRecordAccumulator, AggregatedActivePowerRecord> aggrOp = // NOCS
+        AggregateOperation
+            .withCreate(AggregatedActivePowerRecordAccumulator::new)
+            .<Entry<SensorGroupKey, ActivePowerRecord>>andAccumulate((acc, rec) -> {
+              acc.setId(rec.getKey().getGroup());
+              acc.addInputs(rec.getValue());
+            })
+            .andCombine((acc, acc2) -> acc.addInputs(acc2.getId(), acc2.getSumInW(),
+                acc2.getCount(), acc.getTimestamp()))
+            .andDeduct((acc, acc2) -> acc.removeInputs(acc2.getSumInW(), acc2.getCount()))
+            .andExportFinish(acc -> new AggregatedActivePowerRecord(acc.getId(),
+                acc.getTimestamp(),
+                acc.getCount(),
+                acc.getSumInW(),
+                acc.getAverageInW()));
+
+    // write aggregation back to kafka
+
+    return windowedLastValues
+        .groupingKey(entry -> entry.getKey().getGroup())
+        .aggregate(aggrOp).map(agg -> Util.entry(agg.getKey(), agg.getValue()));
+  }
+
+
+
+  /**
+   * FlatMap function used to process the configuration input for UC4.
+   */
+  private static class ConfigFlatMap implements
+      BiFunctionEx<Map<String, Set<String>>, Entry<Event, SensorRegistry>, Traverser<Entry<String, Set<String>>>> { // NOCS
+
+    private static final long serialVersionUID = -6769931374907428699L;
+
+    @Override
+    public Traverser<Entry<String, Set<String>>> applyEx(
+        final Map<String, Set<String>> flatMapStage,
+        final Entry<Event, SensorRegistry> eventItem) {
+      // Transform new Input
+      final ChildParentsTransformer transformer = new ChildParentsTransformer("default-name");
+      final Map<String, Set<String>> mapFromRegistry =
+          transformer.constructChildParentsPairs(eventItem.getValue());
+
+      // Compare both tables
+      final Map<String, Set<String>> updates = new HashMap<>();
+      for (final String key : mapFromRegistry.keySet()) {
+        if (flatMapStage.containsKey(key)) {
+          if (!mapFromRegistry.get(key).equals(flatMapStage.get(key))) {
+            updates.put(key, mapFromRegistry.get(key));
+          }
+        } else {
+          updates.put(key, mapFromRegistry.get(key));
+        }
+      }
+
+      // Create a updates list to pass onto the next pipeline stage-
+      final List<Entry<String, Set<String>>> updatesList = new ArrayList<>(updates.entrySet());
+
+      // Return traverser with updates list.
+      return Traversers.traverseIterable(updatesList)
+          .map(e -> Util.entry(e.getKey(), e.getValue()));
+    }
+
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/AggregatedActivePowerRecordAccumulator.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/AggregatedActivePowerRecordAccumulator.java
new file mode 100644
index 0000000000000000000000000000000000000000..14934fbe3ceec6e01836958c1f7686e225ea40fd
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/AggregatedActivePowerRecordAccumulator.java
@@ -0,0 +1,100 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+/**
+ * Accumulator class for AggregatedActivePowerRecords.
+ */
+public class AggregatedActivePowerRecordAccumulator {
+
+  private String id;
+  private long timestamp;
+  private long count;
+  private double sumInW;
+  private double averageInW;
+
+  /**
+   * Default constructor.
+   */
+  public AggregatedActivePowerRecordAccumulator() {
+    // This constructor is intentionally empty. Nothing special is needed here.
+  }
+
+
+  /**
+   * Creates an AggregationObject.
+   */
+  public AggregatedActivePowerRecordAccumulator(final String id,
+      final long timestamp,
+      final long count,
+      final double sumInW,
+      final double averageInW) {
+    this.id = id;
+    this.timestamp = timestamp;
+    this.count = count;
+    this.sumInW = sumInW;
+    this.averageInW = averageInW;
+  }
+
+  /**
+   * Sets the id.
+   */
+  public void setId(final String id) {
+    this.id = id;
+  }
+
+  /**
+   * Adds the record to the aggregation.
+   */
+  public void addInputs(final ActivePowerRecord record) {
+    this.count += 1;
+    this.sumInW += record.getValueInW();
+    this.timestamp = record.getTimestamp();
+    this.averageInW = this.sumInW / this.count;
+  }
+
+  /**
+   * Adds the records from another aggregator.
+   */
+  public void addInputs(final String id,
+      final double sumInW,
+      final long count,
+      final long timestamp) {
+    this.id = this.id == null ? id : this.id;
+    this.sumInW += sumInW;
+    this.count += count;
+    this.timestamp = Math.max(this.timestamp, timestamp);
+    this.averageInW = this.sumInW / this.count;
+  }
+
+  /**
+   * Removes the values of another aggreagator. Not a complete reset since the old timestamp is
+   * lost.
+   */
+  public void removeInputs(final double sumInW, final long count) {
+    this.sumInW -= sumInW;
+    this.count -= count;
+    this.averageInW = this.count == 0 ? 0.0 : this.sumInW / this.count;
+    this.timestamp = -1L;
+  }
+
+  public long getCount() {
+    return this.count;
+  }
+
+  public double getSumInW() {
+    return this.sumInW;
+  }
+
+  public double getAverageInW() {
+    return this.averageInW;
+  }
+
+  public String getId() {
+    return this.id;
+  }
+
+  public long getTimestamp() {
+    return this.timestamp;
+  }
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ChildParentsTransformer.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ChildParentsTransformer.java
new file mode 100644
index 0000000000000000000000000000000000000000..3ba604270e37d746c2e98bc4eef5c80d2526b446
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ChildParentsTransformer.java
@@ -0,0 +1,119 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import org.apache.kafka.streams.KeyValue;
+import org.apache.kafka.streams.kstream.Transformer;
+import org.apache.kafka.streams.processor.ProcessorContext;
+import org.apache.kafka.streams.state.KeyValueIterator;
+import org.apache.kafka.streams.state.KeyValueStore;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+
+
+/**
+ * Transforms a {@link SensorRegistry} into key value pairs of Sensor identifiers and their parents'
+ * sensor identifiers. All pairs whose sensor's parents have changed since last iteration are
+ * forwarded. A mapping of an identifier to <code>null</code> means that the corresponding sensor
+ * does not longer exists in the sensor registry.
+ *
+ */
+public class ChildParentsTransformer implements
+    Transformer<Event, SensorRegistry, Iterable<KeyValue<String, Optional<Set<String>>>>> {
+
+  private final String stateStoreName;
+  // private ProcessorContext context;
+  private KeyValueStore<String, Set<String>> state;
+
+  public ChildParentsTransformer(final String stateStoreName) {
+    this.stateStoreName = stateStoreName;
+  }
+
+  @Override
+  @SuppressWarnings("unchecked")
+  public void init(final ProcessorContext context) {
+    // this.context = context;
+    this.state = (KeyValueStore<String, Set<String>>) context.getStateStore(this.stateStoreName);
+  }
+
+  @Override
+  public Iterable<KeyValue<String, Optional<Set<String>>>> transform(final Event event,
+      final SensorRegistry registry) {
+
+    // Values may later be null for deleting a sensor
+    final Map<String, Set<String>> childParentsPairs = this.constructChildParentsPairs(registry);
+
+    this.updateChildParentsPairs(childParentsPairs);
+
+    this.updateState(childParentsPairs);
+
+    return childParentsPairs
+        .entrySet()
+        .stream()
+        .map(e -> KeyValue.pair(e.getKey(), Optional.ofNullable(e.getValue())))
+        .collect(Collectors.toList());
+  }
+
+  @Override
+  public void close() {
+    // Do nothing
+  }
+
+  /**
+   * Constructs a map of keys to their set of parents out of a SensorRegistry.
+   *
+   * @param registry The SensorRegistry to build the map out of.
+   * @return A map of keys to a set of their parents.
+   */
+  public Map<String, Set<String>> constructChildParentsPairs(final SensorRegistry registry) {
+    return this.streamAllChildren(registry.getTopLevelSensor())
+        .collect(Collectors.toMap(
+            Sensor::getIdentifier,
+            child -> child.getParent()
+                .map(p -> Set.of(p.getIdentifier()))
+                .orElseGet(Set::of)));
+  }
+
+  private Stream<Sensor> streamAllChildren(final AggregatedSensor sensor) {
+    return sensor.getChildren().stream()
+        .flatMap(s -> Stream.concat(
+            Stream.of(s),
+            s instanceof AggregatedSensor ? this.streamAllChildren((AggregatedSensor) s)
+                : Stream.empty()));
+  }
+
+  private void updateChildParentsPairs(final Map<String, Set<String>> childParentsPairs) {
+    final KeyValueIterator<String, Set<String>> oldChildParentsPairs = this.state.all();
+    while (oldChildParentsPairs.hasNext()) {
+      final KeyValue<String, Set<String>> oldChildParentPair = oldChildParentsPairs.next();
+      final String identifier = oldChildParentPair.key;
+      final Set<String> oldParents = oldChildParentPair.value;
+      final Set<String> newParents = childParentsPairs.get(identifier); // null if not exists
+      if (newParents == null) {
+        // Sensor was deleted
+        childParentsPairs.put(identifier, null);
+      } else if (newParents.equals(oldParents)) {
+        // No changes
+        childParentsPairs.remove(identifier);
+      }
+      // Else: Later Perhaps: Mark changed parents
+    }
+    oldChildParentsPairs.close();
+  }
+
+  private void updateState(final Map<String, Set<String>> childParentsPairs) {
+    for (final Map.Entry<String, Set<String>> childParentPair : childParentsPairs.entrySet()) {
+      if (childParentPair.getValue() == null) {
+        this.state.delete(childParentPair.getKey());
+      } else {
+        this.state.put(childParentPair.getKey(), childParentPair.getValue());
+      }
+    }
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/EventDeserializer.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/EventDeserializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..ebdc9de86e82a9c8c16a71830190d26e6f0e34fa
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/EventDeserializer.java
@@ -0,0 +1,32 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import java.util.Map;
+import org.apache.kafka.common.serialization.Deserializer;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.configuration.events.EventSerde;
+
+/**
+ * Deserializer for Event Objects.
+ *
+ */
+public class EventDeserializer implements Deserializer<Event> {
+
+  private final Deserializer<Event> deserializer = EventSerde.serde().deserializer();
+
+  @Override
+  public void configure(final Map<String, ?> configs, final boolean isKey) {
+    this.deserializer.configure(configs, isKey);
+  }
+
+  @Override
+  public Event deserialize(final String topic, final byte[] data) {
+    return this.deserializer.deserialize(topic, data);
+  }
+
+  @Override
+  public void close() {
+    this.deserializer.close();
+  }
+
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/HashMapSupplier.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/HashMapSupplier.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec240bf8cb925aa3a444b56457da5adc411212b2
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/HashMapSupplier.java
@@ -0,0 +1,26 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import com.hazelcast.function.SupplierEx;
+import java.util.HashMap;
+import java.util.Set;
+
+/**
+ * Supplies a {@link HashMap} and implements {@link SupplierEx}.
+ */
+public class HashMapSupplier implements SupplierEx<HashMap<String, Set<String>>> {
+
+  private static final long serialVersionUID = -6247504592403610702L; // NOPMD
+
+  @Override
+  public HashMap<String, Set<String>> get() {
+    return new HashMap<>();
+  }
+
+  @Override
+  public HashMap<String, Set<String>> getEx() throws Exception {
+    return this.get();
+  }
+
+
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ImmutableSensorRegistryUc4Serializer.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ImmutableSensorRegistryUc4Serializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..84e007dde7fb3a075a605bacfbbda05f206c2ee4
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ImmutableSensorRegistryUc4Serializer.java
@@ -0,0 +1,36 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import com.hazelcast.nio.ObjectDataInput;
+import com.hazelcast.nio.ObjectDataOutput;
+import com.hazelcast.nio.serialization.StreamSerializer;
+import java.io.IOException;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
+
+/**
+ * {@link StreamSerializer} for Hazelcast Jet to serialize and deserialize an
+ * {@link ImmutableSensorRegistry}.
+ */
+public class ImmutableSensorRegistryUc4Serializer
+    implements StreamSerializer<ImmutableSensorRegistry> {
+
+  private static final int TYPE_ID = 3;
+
+  @Override
+  public int getTypeId() {
+    return TYPE_ID;
+  }
+
+  @Override
+  public void write(final ObjectDataOutput out, final ImmutableSensorRegistry object)
+      throws IOException {
+    final String sensorRegistryJson = object.toJson();
+    out.writeString(sensorRegistryJson);
+  }
+
+  @Override
+  public ImmutableSensorRegistry read(final ObjectDataInput in) throws IOException {
+    final String sensorRegistryJson = in.readString();
+    return (ImmutableSensorRegistry) ImmutableSensorRegistry.fromJson(sensorRegistryJson);
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKey.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKey.java
new file mode 100644
index 0000000000000000000000000000000000000000..24114cc90a709c99e74495714559c12324e07788
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKey.java
@@ -0,0 +1,50 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import java.util.Objects;
+
+/**
+ * Structure (sensorId, group).
+ */
+public class SensorGroupKey {
+
+  private final String sensorId;
+  private final String group;
+
+  public SensorGroupKey(final String sensorId, final String group) {
+    this.sensorId = sensorId;
+    this.group = group;
+  }
+
+  public String getSensorId() {
+    return this.sensorId;
+  }
+
+  public String getGroup() {
+    return this.group;
+  }
+
+  @Override
+  public String toString() {
+    return "[SensorId: " + this.sensorId + "; Group: " + this.group + "]";
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(this.sensorId, this.group);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof SensorGroupKey) {
+      final SensorGroupKey other = (SensorGroupKey) obj;
+      return Objects.equals(this.sensorId, other.sensorId)
+          && Objects.equals(this.group, other.group);
+    }
+    return false;
+  }
+
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKeySerializer.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKeySerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..12a46b9d8f91ea145f614654a6ce9813b9014290
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/SensorGroupKeySerializer.java
@@ -0,0 +1,31 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import com.hazelcast.nio.ObjectDataInput;
+import com.hazelcast.nio.ObjectDataOutput;
+import com.hazelcast.nio.serialization.StreamSerializer;
+import java.io.IOException;
+
+/**
+ * Serializes and Deserializes a SensorGroupKey.
+ */
+public class SensorGroupKeySerializer implements StreamSerializer<SensorGroupKey> {
+
+  private static final int TYPE_ID = 2;
+
+  @Override
+  public int getTypeId() {
+    return TYPE_ID;
+  }
+
+  @Override
+  public void write(final ObjectDataOutput out, final SensorGroupKey key) throws IOException {
+    out.writeString(key.getSensorId());
+    out.writeString(key.getGroup());
+  }
+
+  @Override
+  public SensorGroupKey read(final ObjectDataInput in) throws IOException {
+    return new SensorGroupKey(in.readString(), in.readString());
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroup.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroup.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5f5fc7cb2822667dcaa26560fa83b2da3a513d9
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroup.java
@@ -0,0 +1,60 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import java.util.Objects;
+import java.util.Set;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+
+
+/**
+ * Structure: (valueInW, Set(Groups)).
+ */
+public class ValueGroup {
+
+  private final ActivePowerRecord record;
+  private final Set<String> groups;
+
+  public ValueGroup(final ActivePowerRecord record, final Set<String> groups) {
+    this.record = record;
+    this.groups = groups;
+  }
+
+  public ActivePowerRecord getRecord() {
+    return this.record;
+  }
+
+  public Double getValueInW() {
+    return this.record.getValueInW();
+  }
+
+  public Set<String> getGroups() {
+    return this.groups;
+  }
+
+  @Override
+  public String toString() {
+    String groupString = "[";
+    for (final String group : this.groups) {
+      groupString = groupString + group + "/";// NOPMD
+    }
+    return this.record.getValueInW() + ";" + groupString + "]";
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(this.record, this.groups);
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (obj instanceof ValueGroup) {
+      final ValueGroup other = (ValueGroup) obj;
+      return Objects.equals(this.record.getValueInW(), other.getValueInW())
+          && this.groups.containsAll(other.groups);
+    }
+    return false;
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroupSerializer.java b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroupSerializer.java
new file mode 100644
index 0000000000000000000000000000000000000000..e136d1da0cd8362fed4f76807e7f8725c2075b7f
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/uc4specifics/ValueGroupSerializer.java
@@ -0,0 +1,33 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics;
+
+import com.hazelcast.nio.ObjectDataInput;
+import com.hazelcast.nio.ObjectDataOutput;
+import com.hazelcast.nio.serialization.StreamSerializer;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashSet;
+
+/** A pipeline serializer for the HourOfDayKey to allow for parallelization. */
+public class ValueGroupSerializer implements StreamSerializer<ValueGroup> {
+
+  private static final int TYPE_ID = 1;
+
+  @Override
+  public int getTypeId() {
+    return TYPE_ID;
+  }
+
+  @Override
+  public void write(final ObjectDataOutput out, final ValueGroup key) throws IOException {
+    out.writeObject(key);
+    out.writeString(String.join(",", key.getGroups()));
+  }
+
+  @Override
+  public ValueGroup read(final ObjectDataInput in) throws IOException {
+    return new ValueGroup(in.readObject(ValueGroup.class),
+        new HashSet<>(Arrays.asList(in.readString().split(","))));
+  }
+
+}
+
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/main/resources/META-INF/application.properties b/theodolite-benchmarks/uc4-hazelcastjet/src/main/resources/META-INF/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e3371cc87e20e85e6e8c327955537e6e49dab86e
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/main/resources/META-INF/application.properties
@@ -0,0 +1,8 @@
+application.name=theodolite-uc1-application
+application.version=0.0.1
+
+kafka.bootstrap.servers=localhost:9092
+kafka.input.topic=input
+
+schema.registry.url=http://localhost:8081
+
diff --git a/theodolite-benchmarks/uc4-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineTest.java b/theodolite-benchmarks/uc4-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..e59f4cabc5acb09943f1f53dcb881dae001ffc26
--- /dev/null
+++ b/theodolite-benchmarks/uc4-hazelcastjet/src/test/java/rocks/theodolite/benchmarks/uc4/hazelcastjet/Uc4PipelineTest.java
@@ -0,0 +1,224 @@
+package rocks.theodolite.benchmarks.uc4.hazelcastjet;
+
+import com.hazelcast.jet.Jet;
+import com.hazelcast.jet.JetInstance;
+import com.hazelcast.jet.config.JetConfig;
+import com.hazelcast.jet.config.JobConfig;
+import com.hazelcast.jet.core.JetTestSupport;
+import com.hazelcast.jet.pipeline.Pipeline;
+import com.hazelcast.jet.pipeline.Sinks;
+import com.hazelcast.jet.pipeline.StreamSource;
+import com.hazelcast.jet.pipeline.StreamStage;
+import com.hazelcast.jet.pipeline.test.AssertionCompletedException;
+import com.hazelcast.jet.pipeline.test.Assertions;
+import com.hazelcast.jet.pipeline.test.TestSources;
+import com.hazelcast.jet.test.SerialTest;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.concurrent.CompletionException;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.ImmutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MachineSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableAggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableSensorRegistry;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ImmutableSensorRegistryUc4Serializer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.SensorGroupKey;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.SensorGroupKeySerializer;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ValueGroup;
+import rocks.theodolite.benchmarks.uc4.hazelcastjet.uc4specifics.ValueGroupSerializer;
+
+
+@Category(SerialTest.class)
+public class Uc4PipelineTest extends JetTestSupport {
+
+  JetInstance testInstance = null;
+  Pipeline testPipeline = null;
+  StreamStage<Entry<String, AggregatedActivePowerRecord>> uc4Topology = null;
+
+  @Before
+  public void buildUc4Pipeline() {
+
+    // Setup Configuration
+    final int testItemsPerSecond = 2;
+    final String testSensorName = "TEST-SENSOR";
+    final String testLevel1GroupName = "TEST-LEVEL1-GROUP";
+    final String testLevel2GroupName = "TEST-LEVEL2-GROUP";
+    final Double testValueInW = 10.0;
+    final int testWindowSize = 5000; // As window size is bugged, not necessary.
+
+    // Create mocked Hazelcast Jet instance with configuration
+    final String testClusterName = randomName();
+    final JetConfig testJetConfig = new JetConfig();
+    testJetConfig.getHazelcastConfig().setClusterName(testClusterName);
+    this.testInstance = this.createJetMember(testJetConfig);
+
+    // Create test source 1 : Input Values
+    final StreamSource<Entry<String, ActivePowerRecord>> testInputSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+          final ActivePowerRecord testRecord =
+              new ActivePowerRecord(testSensorName, timestamp, testValueInW);
+          final Entry<String, ActivePowerRecord> testEntry =
+              Map.entry(testSensorName, testRecord);
+          return testEntry;
+        });
+
+    // Create test source 2 : Mock aggregation Values
+    final StreamSource<Entry<String, AggregatedActivePowerRecord>> testAggregationSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+
+          final AggregatedActivePowerRecord test =
+              new AggregatedActivePowerRecord(testSensorName,
+                  System.currentTimeMillis(),
+                  1L,
+                  testValueInW,
+                  testValueInW);
+
+          final ActivePowerRecord testAggValue =
+              new ActivePowerRecord(testSensorName,
+                  System.currentTimeMillis(),
+                  testValueInW);
+
+          final Entry<String, AggregatedActivePowerRecord> testEntry =
+              Map.entry(testLevel1GroupName, test);
+          return testEntry;
+        });
+
+
+    // Create test source 3 : Mock Config Values
+    final StreamSource<Entry<Event, String>> testConfigSource =
+        TestSources.itemStream(testItemsPerSecond, (timestamp, item) -> {
+          final Event theEvent = Event.SENSOR_REGISTRY_CHANGED;
+
+          // Topology:
+          // level2Group -> level1Group -> testSensor
+
+          // Create Registry
+          final MutableSensorRegistry testRegistry = new MutableSensorRegistry(testLevel2GroupName);
+          // Add Sensors
+          final MutableAggregatedSensor topLevelSensor = testRegistry.getTopLevelSensor();
+          final MutableAggregatedSensor level1GroupSensor =
+              topLevelSensor.addChildAggregatedSensor(testLevel1GroupName);
+          final MachineSensor inputSensor = level1GroupSensor.addChildMachineSensor(testSensorName);
+
+          final String stringRegistry = testRegistry.toJson();
+          final Entry<Event, String> testEntry =
+              Map.entry(theEvent, stringRegistry);
+          return testEntry;
+        });
+
+    // Create pipeline to test
+    final Uc4PipelineBuilder pipelineBuilder = new Uc4PipelineBuilder();
+    this.testPipeline = Pipeline.create();
+    this.uc4Topology = pipelineBuilder.extendUc4Topology(this.testPipeline,
+        testInputSource, testAggregationSource, testConfigSource, testWindowSize);
+
+    this.uc4Topology.writeTo(Sinks.logger());
+  }
+
+  /**
+   * Tests if no items reach the end before the first window ends.
+   */
+  @Test
+  public void testOutput() {
+
+    // System.out.println("DEBUG DEBUG DEBUG || ENTERED TEST 1");
+
+    // Assertion Configuration
+    final int timeout = 20;
+    final String testSensorName = "TEST-SENSOR";
+    final String testLevel1GroupName = "TEST-LEVEL1-GROUP";
+    final String testLevel2GroupName = "TEST-LEVEL2-GROUP";
+    final double testValueInW = 10.0;
+
+
+    // Assertion
+    this.uc4Topology.apply(Assertions.assertCollectedEventually(timeout,
+        collection -> {
+          System.out.println("DEBUG || ENTERED ASSERTION COLLECTED EVENTUALLY");
+
+          boolean allOkay = false;
+
+          boolean testLevel1contained = false;
+          boolean testLevel2contained = false;
+          boolean averageEqTest = true;
+          boolean avOk = true;
+
+
+          if (collection != null) {
+            System.out.println("Collection size: " + collection.size());
+
+
+            for (final Entry<String, AggregatedActivePowerRecord> entry : collection) {
+              System.out.println("DEBUG || " + entry.toString());
+
+              final String key = entry.getKey();
+              final AggregatedActivePowerRecord agg = entry.getValue();
+
+
+              if (Objects.equals(key, testLevel1GroupName)) {
+                testLevel1contained = true;
+              }
+
+              if (Objects.equals(key, testLevel2GroupName)) {
+                testLevel2contained = true;
+              }
+
+              if (testValueInW != agg.getAverageInW()) {
+                averageEqTest = false;
+              }
+
+              final double average = agg.getSumInW() / agg.getCount();
+              if (average != agg.getAverageInW()) {
+                avOk = false;
+              }
+
+            }
+            allOkay = testLevel1contained && testLevel2contained && averageEqTest && avOk;
+          }
+
+          System.out.println("testLevel1contained: " + testLevel1contained);
+          System.out.println("testLevel2contained: " + testLevel2contained);
+          System.out.println("averageEqTest: " + averageEqTest);
+          System.out.println("avOk: " + avOk);
+
+          Assert.assertTrue("Assertion did not complete!", allOkay);
+
+        }));
+
+    try {
+
+      final JobConfig jobConfig = new JobConfig()
+          .registerSerializer(ValueGroup.class, ValueGroupSerializer.class)
+          .registerSerializer(SensorGroupKey.class, SensorGroupKeySerializer.class)
+          .registerSerializer(ImmutableSensorRegistry.class,
+              ImmutableSensorRegistryUc4Serializer.class);
+      this.testInstance.newJob(this.testPipeline, jobConfig).join();
+
+    } catch (final CompletionException e) {
+      final String errorMsg = e.getCause().getMessage();
+      Assert.assertTrue(
+          "Job was expected to complete with AssertionCompletedException, but completed with: "
+              + e.getCause(),
+          errorMsg.contains(AssertionCompletedException.class.getName()));
+    } catch (final Exception e) {
+      System.out.println("ERRORORORO TEST BROKEN !!!!");
+      System.out.println(e);
+    }
+  }
+
+
+  @After
+  public void after() {
+    // Shuts down all running Jet Instances
+    Jet.shutdownAll();
+  }
+
+}
diff --git a/theodolite-benchmarks/uc4-kstreams/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-kstreams/.settings/org.eclipse.jdt.ui.prefs
index fa98ca63d77bdee891150bd6713f70197a75cefc..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc4-kstreams/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc4-kstreams/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,27 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -79,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -114,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc4-kstreams/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-kstreams/build.gradle b/theodolite-benchmarks/uc4-kstreams/build.gradle
index 83212a499ae344ea44beb3c2b98aec147dda8488..52d201783364d72d2fda9aeeb39f9e2dba708ce7 100644
--- a/theodolite-benchmarks/uc4-kstreams/build.gradle
+++ b/theodolite-benchmarks/uc4-kstreams/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.kstreams'
 }
 
-mainClassName = "theodolite.uc4.application.AggregationService"
+mainClassName = "rocks.theodolite.benchmarks.uc4.kstreams.AggregationService"
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/application/AggregationService.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/AggregationService.java
similarity index 88%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/application/AggregationService.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/AggregationService.java
index 5c9d0910e7fbc60e58b13fc838f7ef2407de2aa3..26ea02957fb013c61c4ee0c3e2f280b0b9b8c993 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/application/AggregationService.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/AggregationService.java
@@ -1,12 +1,11 @@
-package theodolite.uc4.application;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.time.Duration;
 import java.util.concurrent.CompletableFuture;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.KafkaStreams;
-import theodolite.commons.kafkastreams.ConfigurationKeys;
-import theodolite.uc4.streamprocessing.Uc4KafkaStreamsBuilder;
-import titan.ccp.common.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.commons.configuration.ServiceConfigurations;
+import rocks.theodolite.benchmarks.commons.kstreams.ConfigurationKeys;
 
 /**
  * A microservice that manages the history and, therefore, stores and aggregates incoming
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformer.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformer.java
similarity index 91%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformer.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformer.java
index db28c86bce79caa4345a3a2bc7914c3e2bbd1a32..d311ff009c138c6afe29cf9e95c323ea46a6bc0f 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformer.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformer.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Map;
 import java.util.Optional;
@@ -10,10 +10,10 @@ import org.apache.kafka.streams.kstream.Transformer;
 import org.apache.kafka.streams.processor.ProcessorContext;
 import org.apache.kafka.streams.state.KeyValueIterator;
 import org.apache.kafka.streams.state.KeyValueStore;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.model.sensorregistry.AggregatedSensor;
-import titan.ccp.model.sensorregistry.Sensor;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 /**
  * Transforms a {@link SensorRegistry} into key value pairs of Sensor identifiers and their parents'
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformerSupplier.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformerSupplier.java
similarity index 86%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformerSupplier.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformerSupplier.java
index d17757d6800890eaf5260af9c25914344ca4a625..734989af63b6b2a7fc97b368bb2651112c98fda5 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ChildParentsTransformerSupplier.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ChildParentsTransformerSupplier.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Map;
 import java.util.Optional;
@@ -10,8 +10,8 @@ import org.apache.kafka.streams.kstream.TransformerSupplier;
 import org.apache.kafka.streams.state.KeyValueStore;
 import org.apache.kafka.streams.state.StoreBuilder;
 import org.apache.kafka.streams.state.Stores;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 /**
  * Supplier class for a {@link ChildParentsTransformer}.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformer.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformer.java
similarity index 95%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformer.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformer.java
index d3500adff664cba8f3f92707a0adba34534404b7..06cbe1f40719fcbb6b9b8a22767ec415def3dc80 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformer.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformer.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import com.google.common.base.MoreObjects;
 import java.util.ArrayList;
@@ -9,7 +9,7 @@ import org.apache.kafka.streams.KeyValue;
 import org.apache.kafka.streams.kstream.Transformer;
 import org.apache.kafka.streams.processor.ProcessorContext;
 import org.apache.kafka.streams.state.KeyValueStore;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
 
 /**
  * Transforms the join result of an {@link ActivePowerRecord} and the corresponding sensor parents
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformerSupplier.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformerSupplier.java
similarity index 90%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformerSupplier.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformerSupplier.java
index 51c7ce1f6cb144c88356ef1b32bdfce400e1ffb4..67efca0671ad347add9d5dcc1f255a9c8d9de09b 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointFlatTransformerSupplier.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointFlatTransformerSupplier.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Map;
 import java.util.Set;
@@ -9,7 +9,7 @@ import org.apache.kafka.streams.kstream.TransformerSupplier;
 import org.apache.kafka.streams.state.KeyValueStore;
 import org.apache.kafka.streams.state.StoreBuilder;
 import org.apache.kafka.streams.state.Stores;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
 
 /**
  * Supplier class for {@link JointFlatTransformerSupplier}.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointRecordParents.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointRecordParents.java
similarity index 90%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointRecordParents.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointRecordParents.java
index e9a5a824e43dfbab83151da5c2a8f18f9105f494..85b3a817564367098996196694994497b9db8793 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/JointRecordParents.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/JointRecordParents.java
@@ -1,8 +1,8 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Objects;
 import java.util.Set;
-import titan.ccp.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
 
 /**
  * A joined pair of an {@link ActivePowerRecord} and its associated parents. Both the record and the
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/OptionalParentsSerde.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerde.java
similarity index 78%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/OptionalParentsSerde.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerde.java
index a1e9767da047951e04d4c3914c2d1b36bd18626b..e5ff9c676b4ea539fb9605fc51c93920c3757fc8 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/OptionalParentsSerde.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerde.java
@@ -1,13 +1,13 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.HashSet;
 import java.util.Optional;
 import java.util.Set;
 import org.apache.kafka.common.serialization.Serde;
-import titan.ccp.common.kafka.simpleserdes.BufferSerde;
-import titan.ccp.common.kafka.simpleserdes.ReadBuffer;
-import titan.ccp.common.kafka.simpleserdes.SimpleSerdes;
-import titan.ccp.common.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
 
 /**
  * {@link Serde} factory for an optional {@link Set} of parent identifiers.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ParentsSerde.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerde.java
similarity index 71%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ParentsSerde.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerde.java
index df6f848b5dfde10a96aceaf4d4a293364d52b982..b70df46325f60c82a3759219827e9ab54b17b57a 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/ParentsSerde.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerde.java
@@ -1,12 +1,12 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.kafka.common.serialization.Serde;
-import titan.ccp.common.kafka.simpleserdes.BufferSerde;
-import titan.ccp.common.kafka.simpleserdes.ReadBuffer;
-import titan.ccp.common.kafka.simpleserdes.SimpleSerdes;
-import titan.ccp.common.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
 
 /**
  * {@link Serde} factory for {@link Set} of parent identifiers.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/RecordAggregator.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/RecordAggregator.java
similarity index 87%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/RecordAggregator.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/RecordAggregator.java
index 34ef3762d6a3219958329762ce6e39844684068a..bbc6079521d38b75ae35ea49fda26e7504746b23 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/RecordAggregator.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/RecordAggregator.java
@@ -1,8 +1,8 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import org.apache.kafka.streams.kstream.Windowed;
-import titan.ccp.model.records.ActivePowerRecord;
-import titan.ccp.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
 
 /**
  * Updates an {@link AggregatedActivePowerRecord} by a new {@link ActivePowerRecord}.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKey.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKey.java
similarity index 95%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKey.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKey.java
index 667cc6d5ee83a41f7c04fc8074a18ef1a9422b0e..8c700f8075a67d7e8ffb40e4b3c92f23109e1cc1 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKey.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKey.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Objects;
 
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKeySerde.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerde.java
similarity index 68%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKeySerde.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerde.java
index 63b9e44b5a7bde8f47fe7620b286aefa7fc60841..1beab6094bcc87bed0bbbedbc449edadf3523c19 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/SensorParentKeySerde.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerde.java
@@ -1,10 +1,10 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import org.apache.kafka.common.serialization.Serde;
-import titan.ccp.common.kafka.simpleserdes.BufferSerde;
-import titan.ccp.common.kafka.simpleserdes.ReadBuffer;
-import titan.ccp.common.kafka.simpleserdes.SimpleSerdes;
-import titan.ccp.common.kafka.simpleserdes.WriteBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.BufferSerde;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.ReadBuffer;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.SimpleSerdes;
+import rocks.theodolite.benchmarks.commons.kafka.simpleserdes.WriteBuffer;
 
 /**
  * {@link Serde} factory for {@link SensorParentKey}.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/TopologyBuilder.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/TopologyBuilder.java
similarity index 93%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/TopologyBuilder.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/TopologyBuilder.java
index 623870313cd341d0594fee38d2fd0ae297abbeae..876e53422183306963cf07853939247bbb012464 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/TopologyBuilder.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/TopologyBuilder.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.time.Duration;
 import java.util.Properties;
@@ -18,12 +18,12 @@ import org.apache.kafka.streams.kstream.Suppressed.BufferConfig;
 import org.apache.kafka.streams.kstream.TimeWindows;
 import org.apache.kafka.streams.kstream.Windowed;
 import org.apache.kafka.streams.kstream.WindowedSerdes;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.configuration.events.EventSerde;
-import titan.ccp.model.records.ActivePowerRecord;
-import titan.ccp.model.records.AggregatedActivePowerRecord;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.configuration.events.EventSerde;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.model.records.ActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.records.AggregatedActivePowerRecord;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 /**
  * Builds Kafka Stream Topology for the History microservice.
@@ -146,7 +146,7 @@ public class TopologyBuilder {
         .groupByKey(Grouped.with(
             SensorParentKeySerde.serde(),
             this.srAvroSerdeFactory.forValues()))
-        .windowedBy(TimeWindows.of(this.emitPeriod).grace(this.gracePeriod))
+        .windowedBy(TimeWindows.ofSizeAndGrace(this.emitPeriod, this.gracePeriod))
         .reduce(
             // TODO Configurable window aggregation function
             (oldVal, newVal) -> newVal.getTimestamp() >= oldVal.getTimestamp() ? newVal : oldVal,
diff --git a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/Uc4KafkaStreamsBuilder.java b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/Uc4KafkaStreamsBuilder.java
similarity index 91%
rename from theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/Uc4KafkaStreamsBuilder.java
rename to theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/Uc4KafkaStreamsBuilder.java
index 9f1af3ba066bcdfef7f8e9073947d570a1327515..209eb519f9e61b2aaa684686e391ccc11aa808e7 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/main/java/theodolite/uc4/streamprocessing/Uc4KafkaStreamsBuilder.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/main/java/rocks/theodolite/benchmarks/uc4/kstreams/Uc4KafkaStreamsBuilder.java
@@ -1,12 +1,12 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.time.Duration;
 import java.util.Objects;
 import java.util.Properties;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.kafka.streams.Topology;
-import theodolite.commons.kafkastreams.KafkaStreamsBuilder;
-import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kafka.avro.SchemaRegistryAvroSerdeFactory;
+import rocks.theodolite.benchmarks.commons.kstreams.KafkaStreamsBuilder;
 
 /**
  * Builder for the Kafka Streams configuration.
diff --git a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/OptionalParentsSerdeTest.java b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerdeTest.java
similarity index 94%
rename from theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/OptionalParentsSerdeTest.java
rename to theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerdeTest.java
index 600fc0b15ccc3ac3d902565fba1d073e37d98d0f..65ab88e7167f34ff94d7e011ae2ee9707a5ddad4 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/OptionalParentsSerdeTest.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/OptionalParentsSerdeTest.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Optional;
 import java.util.Set;
diff --git a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/ParentsSerdeTest.java b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerdeTest.java
similarity index 89%
rename from theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/ParentsSerdeTest.java
rename to theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerdeTest.java
index 994593e27914af2ad56693e4b08b8143b27000b7..65e9bd7c32e6b9bb6cfb6bd54fb29ab32cfb7f3a 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/ParentsSerdeTest.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/ParentsSerdeTest.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import java.util.Set;
 import org.junit.Test;
diff --git a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SensorParentKeySerdeTest.java b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerdeTest.java
similarity index 90%
rename from theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SensorParentKeySerdeTest.java
rename to theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerdeTest.java
index 34f87fa98ca7de7d6ca24a49a73729e5ecc2e74b..b71a0188020b74c5a21b4d70a762a818d2c8f23b 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SensorParentKeySerdeTest.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SensorParentKeySerdeTest.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import org.junit.Test;
 
diff --git a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTester.java b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTester.java
similarity index 92%
rename from theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTester.java
rename to theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTester.java
index b5d5f942dac068379fe90a7462545adb7a11e7df..bf893c04f447ea70f62ed5fc15e1fc19a4be22a3 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTester.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTester.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import static org.junit.Assert.assertEquals;
 import java.util.function.Function;
diff --git a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTesterFactory.java b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTesterFactory.java
similarity index 92%
rename from theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTesterFactory.java
rename to theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTesterFactory.java
index e8083ed778c450ef6717ca7b9c73daa3d96a7af3..ade3763fc55dd409a4e321570418f5629fb52959 100644
--- a/theodolite-benchmarks/uc4-kstreams/src/test/java/theodolite/uc4/streamprocessing/SerdeTesterFactory.java
+++ b/theodolite-benchmarks/uc4-kstreams/src/test/java/rocks/theodolite/benchmarks/uc4/kstreams/SerdeTesterFactory.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.streamprocessing;
+package rocks.theodolite.benchmarks.uc4.kstreams;
 
 import org.apache.kafka.common.serialization.Serde;
 
diff --git a/theodolite-benchmarks/uc4-load-generator/.settings/org.eclipse.jdt.ui.prefs b/theodolite-benchmarks/uc4-load-generator/.settings/org.eclipse.jdt.ui.prefs
index 4d01df75552c562406705858b6368ecf59d6e82f..b2a15f439cf1844efe56f1ac0d82a2884e66cb9d 100644
--- a/theodolite-benchmarks/uc4-load-generator/.settings/org.eclipse.jdt.ui.prefs
+++ b/theodolite-benchmarks/uc4-load-generator/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,4 @@
+cleanup.add_all=false
 cleanup.add_default_serial_version_id=true
 cleanup.add_generated_serial_version_id=false
 cleanup.add_missing_annotations=true
@@ -11,25 +12,72 @@ cleanup.always_use_blocks=true
 cleanup.always_use_parentheses_in_expressions=false
 cleanup.always_use_this_for_non_static_field_access=true
 cleanup.always_use_this_for_non_static_method_access=true
+cleanup.array_with_curly=false
+cleanup.arrays_fill=false
+cleanup.bitwise_conditional_expression=false
+cleanup.boolean_literal=false
+cleanup.boolean_value_rather_than_comparison=true
+cleanup.break_loop=false
+cleanup.collection_cloning=false
+cleanup.comparing_on_criteria=false
+cleanup.comparison_statement=false
+cleanup.controlflow_merge=false
 cleanup.convert_functional_interfaces=false
 cleanup.convert_to_enhanced_for_loop=true
+cleanup.convert_to_enhanced_for_loop_if_loop_var_used=true
+cleanup.convert_to_switch_expressions=false
 cleanup.correct_indentation=true
+cleanup.do_while_rather_than_while=true
+cleanup.double_negation=false
+cleanup.else_if=false
+cleanup.embedded_if=false
+cleanup.evaluate_nullable=false
+cleanup.extract_increment=false
 cleanup.format_source_code=true
 cleanup.format_source_code_changes_only=false
+cleanup.hash=false
+cleanup.if_condition=false
 cleanup.insert_inferred_type_arguments=false
+cleanup.instanceof=false
+cleanup.instanceof_keyword=false
+cleanup.invert_equals=false
+cleanup.join=false
+cleanup.lazy_logical_operator=false
 cleanup.make_local_variable_final=true
 cleanup.make_parameters_final=true
 cleanup.make_private_fields_final=true
 cleanup.make_type_abstract_if_missing_method=false
 cleanup.make_variable_declarations_final=true
+cleanup.map_cloning=false
+cleanup.merge_conditional_blocks=false
+cleanup.multi_catch=false
 cleanup.never_use_blocks=false
 cleanup.never_use_parentheses_in_expressions=true
+cleanup.no_string_creation=false
+cleanup.no_super=false
+cleanup.number_suffix=false
+cleanup.objects_equals=false
+cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=true
+cleanup.operand_factorization=false
 cleanup.organize_imports=true
+cleanup.overridden_assignment=false
+cleanup.plain_replacement=false
+cleanup.precompile_regex=false
+cleanup.primitive_comparison=false
+cleanup.primitive_parsing=false
+cleanup.primitive_rather_than_wrapper=true
+cleanup.primitive_serialization=false
+cleanup.pull_out_if_from_if_else=false
+cleanup.pull_up_assignment=false
+cleanup.push_down_negation=false
 cleanup.qualify_static_field_accesses_with_declaring_class=false
 cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 cleanup.qualify_static_member_accesses_with_declaring_class=true
 cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.reduce_indentation=false
+cleanup.redundant_comparator=false
+cleanup.redundant_falling_through_block_end=false
 cleanup.remove_private_constructors=true
 cleanup.remove_redundant_modifiers=false
 cleanup.remove_redundant_semicolons=true
@@ -37,6 +85,7 @@ cleanup.remove_redundant_type_arguments=true
 cleanup.remove_trailing_whitespaces=true
 cleanup.remove_trailing_whitespaces_all=true
 cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_array_creation=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
@@ -45,28 +94,59 @@ cleanup.remove_unused_private_fields=true
 cleanup.remove_unused_private_members=false
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
+cleanup.return_expression=false
+cleanup.simplify_lambda_expression_and_method_ref=false
+cleanup.single_used_field=false
 cleanup.sort_members=false
 cleanup.sort_members_all=false
+cleanup.standard_comparison=false
+cleanup.static_inner_class=false
+cleanup.strictly_equal_or_different=false
+cleanup.stringbuffer_to_stringbuilder=false
+cleanup.stringbuilder=false
+cleanup.stringbuilder_for_local_vars=true
+cleanup.stringconcat_to_textblock=false
+cleanup.substring=false
+cleanup.switch=false
+cleanup.system_property=false
+cleanup.system_property_boolean=false
+cleanup.system_property_file_encoding=false
+cleanup.system_property_file_separator=false
+cleanup.system_property_line_separator=false
+cleanup.system_property_path_separator=false
+cleanup.ternary_operator=false
+cleanup.try_with_resource=false
+cleanup.unlooped_while=false
+cleanup.unreachable_block=false
 cleanup.use_anonymous_class_creation=false
+cleanup.use_autoboxing=false
 cleanup.use_blocks=true
 cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_directly_map_method=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=true
+cleanup.use_string_is_blank=false
 cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+cleanup.use_unboxing=false
+cleanup.use_var=false
+cleanup.useless_continue=false
+cleanup.useless_return=false
+cleanup.valueof_rather_than_instantiation=false
 cleanup_profile=_CAU-SE-Style
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_CAU-SE-Style
-formatter_settings_version=15
+formatter_settings_version=21
 org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
+org.eclipse.jdt.ui.importorder=
 org.eclipse.jdt.ui.ondemandthreshold=99
 org.eclipse.jdt.ui.staticondemandthreshold=99
 org.eclipse.jdt.ui.text.custom_code_templates=
+sp_cleanup.add_all=false
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
@@ -80,33 +160,81 @@ sp_cleanup.always_use_blocks=true
 sp_cleanup.always_use_parentheses_in_expressions=false
 sp_cleanup.always_use_this_for_non_static_field_access=true
 sp_cleanup.always_use_this_for_non_static_method_access=true
+sp_cleanup.array_with_curly=false
+sp_cleanup.arrays_fill=false
+sp_cleanup.bitwise_conditional_expression=false
+sp_cleanup.boolean_literal=false
+sp_cleanup.boolean_value_rather_than_comparison=false
+sp_cleanup.break_loop=false
+sp_cleanup.collection_cloning=false
+sp_cleanup.comparing_on_criteria=true
+sp_cleanup.comparison_statement=false
+sp_cleanup.controlflow_merge=false
 sp_cleanup.convert_functional_interfaces=false
 sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
+sp_cleanup.convert_to_switch_expressions=false
 sp_cleanup.correct_indentation=true
+sp_cleanup.do_while_rather_than_while=false
+sp_cleanup.double_negation=false
+sp_cleanup.else_if=false
+sp_cleanup.embedded_if=false
+sp_cleanup.evaluate_nullable=false
+sp_cleanup.extract_increment=false
 sp_cleanup.format_source_code=true
 sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.hash=false
+sp_cleanup.if_condition=false
 sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.instanceof=false
+sp_cleanup.instanceof_keyword=false
+sp_cleanup.invert_equals=false
+sp_cleanup.join=false
+sp_cleanup.lazy_logical_operator=false
 sp_cleanup.make_local_variable_final=true
 sp_cleanup.make_parameters_final=true
 sp_cleanup.make_private_fields_final=true
 sp_cleanup.make_type_abstract_if_missing_method=false
 sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.map_cloning=false
+sp_cleanup.merge_conditional_blocks=false
+sp_cleanup.multi_catch=false
 sp_cleanup.never_use_blocks=false
 sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.no_string_creation=false
+sp_cleanup.no_super=false
+sp_cleanup.number_suffix=false
+sp_cleanup.objects_equals=false
 sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
+sp_cleanup.operand_factorization=false
 sp_cleanup.organize_imports=true
+sp_cleanup.overridden_assignment=false
+sp_cleanup.plain_replacement=false
+sp_cleanup.precompile_regex=false
+sp_cleanup.primitive_comparison=false
+sp_cleanup.primitive_parsing=false
+sp_cleanup.primitive_rather_than_wrapper=false
+sp_cleanup.primitive_serialization=false
+sp_cleanup.pull_out_if_from_if_else=false
+sp_cleanup.pull_up_assignment=false
+sp_cleanup.push_down_negation=false
 sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.reduce_indentation=false
+sp_cleanup.redundant_comparator=false
+sp_cleanup.redundant_falling_through_block_end=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_redundant_semicolons=false
+sp_cleanup.remove_redundant_type_arguments=false
 sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_array_creation=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=true
 sp_cleanup.remove_unused_imports=true
@@ -115,14 +243,44 @@ sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
 sp_cleanup.remove_unused_private_methods=true
 sp_cleanup.remove_unused_private_types=true
+sp_cleanup.return_expression=false
+sp_cleanup.simplify_lambda_expression_and_method_ref=false
+sp_cleanup.single_used_field=false
 sp_cleanup.sort_members=false
 sp_cleanup.sort_members_all=false
+sp_cleanup.standard_comparison=false
+sp_cleanup.static_inner_class=false
+sp_cleanup.strictly_equal_or_different=false
+sp_cleanup.stringbuffer_to_stringbuilder=false
+sp_cleanup.stringbuilder=false
+sp_cleanup.stringbuilder_for_local_vars=false
+sp_cleanup.stringconcat_to_textblock=false
+sp_cleanup.substring=false
+sp_cleanup.switch=false
+sp_cleanup.system_property=false
+sp_cleanup.system_property_boolean=false
+sp_cleanup.system_property_file_encoding=false
+sp_cleanup.system_property_file_separator=false
+sp_cleanup.system_property_line_separator=false
+sp_cleanup.system_property_path_separator=false
+sp_cleanup.ternary_operator=false
+sp_cleanup.try_with_resource=false
+sp_cleanup.unlooped_while=false
+sp_cleanup.unreachable_block=false
 sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_autoboxing=false
 sp_cleanup.use_blocks=true
 sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_directly_map_method=false
 sp_cleanup.use_lambda=true
 sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_string_is_blank=false
 sp_cleanup.use_this_for_non_static_field_access=true
 sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
 sp_cleanup.use_this_for_non_static_method_access=true
 sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=false
+sp_cleanup.use_unboxing=false
+sp_cleanup.use_var=false
+sp_cleanup.useless_continue=true
+sp_cleanup.useless_return=true
+sp_cleanup.valueof_rather_than_instantiation=false
diff --git a/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs b/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
index 87860c815222845c1d264d7d0ce498d3397f8280..4fa4266c755f4ff8da465ab7341cd70ffb24ecf7 100644
--- a/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
+++ b/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.checkstyle.prefs
@@ -1,4 +1,4 @@
 configFilePath=../config/checkstyle.xml
 customModulesJarPaths=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
diff --git a/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.pmd.prefs b/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
index efbcb8c9e5d449194a48ca1ea42b7d807b573db9..40bfd0ecdbbe324bb54e4b9f9f32ba95cf5b0c2a 100644
--- a/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
+++ b/theodolite-benchmarks/uc4-load-generator/.settings/qa.eclipse.plugin.pmd.prefs
@@ -1,4 +1,4 @@
 customRulesJars=
 eclipse.preferences.version=1
-enabled=true
+enabled=false
 ruleSetFilePath=../config/pmd.xml
diff --git a/theodolite-benchmarks/uc4-load-generator/build.gradle b/theodolite-benchmarks/uc4-load-generator/build.gradle
index 9785718056fa1a14d687a75237cd23b941ce7365..60d1c3bafd12580d6948d5a378be37a940332b72 100644
--- a/theodolite-benchmarks/uc4-load-generator/build.gradle
+++ b/theodolite-benchmarks/uc4-load-generator/build.gradle
@@ -2,4 +2,4 @@ plugins {
   id 'theodolite.load-generator'
 }
 
-mainClassName = "theodolite.uc4.workloadgenerator.LoadGenerator"
+mainClassName = "rocks.theodolite.benchmarks.uc4.loadgenerator.LoadGenerator"
diff --git a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/ConfigPublisher.java b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/ConfigPublisher.java
similarity index 91%
rename from theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/ConfigPublisher.java
rename to theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/ConfigPublisher.java
index ad0ee7082da9116f9ccb66a79d48b36bfb30da2e..60c95321f05edff35681d8984baa03ca711f48da 100644
--- a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/ConfigPublisher.java
+++ b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/ConfigPublisher.java
@@ -1,4 +1,4 @@
-package theodolite.uc4.workloadgenerator;
+package rocks.theodolite.benchmarks.uc4.loadgenerator;
 
 import java.util.Properties;
 import java.util.concurrent.ExecutionException;
@@ -7,8 +7,8 @@ import org.apache.kafka.clients.producer.Producer;
 import org.apache.kafka.clients.producer.ProducerConfig;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.common.serialization.StringSerializer;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.configuration.events.EventSerde;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.configuration.events.EventSerde;
 
 /**
  * Class to publish a configuration to Kafka.
diff --git a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/LoadGenerator.java
similarity index 85%
rename from theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java
rename to theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/LoadGenerator.java
index 8320d16b98fa1d253064d08397d5df1bb8e17b79..3f02a4b5ebf232e4dcb3ff236f656cf6fb485989 100644
--- a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java
+++ b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/LoadGenerator.java
@@ -1,11 +1,11 @@
-package theodolite.uc4.workloadgenerator;
+package rocks.theodolite.benchmarks.uc4.loadgenerator;
 
 import java.util.Objects;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import theodolite.commons.workloadgeneration.KeySpace;
-import titan.ccp.configuration.events.Event;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.configuration.events.Event;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.loadgenerator.KeySpace;
 
 /**
  * Load generator for Theodolite use case UC4.
@@ -40,7 +40,7 @@ public final class LoadGenerator {
         new SensorRegistryBuilder(numNestedGroups, numSensors).build();
 
     LOGGER.info("Start workload generator for use case UC4");
-    theodolite.commons.workloadgeneration.LoadGenerator.fromEnvironment()
+    rocks.theodolite.benchmarks.loadgenerator.LoadGenerator.fromEnvironment()
         .withKeySpace(new KeySpace("s_", sensorRegistry.getMachineSensors().size()))
         .withBeforeAction(() -> {
           if (sendRegistry) {
diff --git a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilder.java b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilder.java
similarity index 81%
rename from theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilder.java
rename to theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilder.java
index 60303056a01466b908b73e51377427f5d8347441..c9dcfa0af8676460c5cc59ed2f4f6b4641911525 100644
--- a/theodolite-benchmarks/uc4-load-generator/src/main/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilder.java
+++ b/theodolite-benchmarks/uc4-load-generator/src/main/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilder.java
@@ -1,8 +1,8 @@
-package theodolite.uc4.workloadgenerator;
+package rocks.theodolite.benchmarks.uc4.loadgenerator;
 
-import titan.ccp.model.sensorregistry.MutableAggregatedSensor;
-import titan.ccp.model.sensorregistry.MutableSensorRegistry;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableAggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MutableSensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 /**
  * Builder for creating a nested {@link SensorRegistry} with {@code numNestedGroups} levels and
diff --git a/theodolite-benchmarks/uc4-load-generator/src/test/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilderTest.java b/theodolite-benchmarks/uc4-load-generator/src/test/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilderTest.java
similarity index 79%
rename from theodolite-benchmarks/uc4-load-generator/src/test/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilderTest.java
rename to theodolite-benchmarks/uc4-load-generator/src/test/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilderTest.java
index 424c84ec96cdd90077fb7934686cd021b040e732..037bd8119ef1ea93ed3dae346282538ff5399f25 100644
--- a/theodolite-benchmarks/uc4-load-generator/src/test/java/theodolite/uc4/workloadgenerator/SensorRegistryBuilderTest.java
+++ b/theodolite-benchmarks/uc4-load-generator/src/test/java/rocks/theodolite/benchmarks/uc4/loadgenerator/SensorRegistryBuilderTest.java
@@ -1,15 +1,14 @@
-package theodolite.uc4.workloadgenerator;
-
+package rocks.theodolite.benchmarks.uc4.loadgenerator;
 
 import java.util.Collection;
 import java.util.Set;
 import java.util.stream.Collectors;
 import org.junit.Assert;
 import org.junit.Test;
-import titan.ccp.model.sensorregistry.AggregatedSensor;
-import titan.ccp.model.sensorregistry.MachineSensor;
-import titan.ccp.model.sensorregistry.Sensor;
-import titan.ccp.model.sensorregistry.SensorRegistry;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.AggregatedSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.MachineSensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.Sensor;
+import rocks.theodolite.benchmarks.commons.model.sensorregistry.SensorRegistry;
 
 public class SensorRegistryBuilderTest {
 
diff --git a/theodolite/.gitignore b/theodolite/.gitignore
index a1eff0e1d4dddacdbcafa2c235b28616cb53e7bf..285b6baee527835a20f0b79f1ecece49b80f7d42 100644
--- a/theodolite/.gitignore
+++ b/theodolite/.gitignore
@@ -31,3 +31,6 @@ nb-configuration.xml
 # patch
 *.orig
 *.rej
+
+# Local environment
+.env
diff --git a/theodolite/README.md b/theodolite/README.md
index 60bd56d933d8955217120465c47e70b4b34585e1..49019813c43e0b19e32e35703ca294b2b5c54cb0 100644
--- a/theodolite/README.md
+++ b/theodolite/README.md
@@ -1,25 +1,19 @@
-# Theodolite project
+# Theodolite
 
 This project uses Quarkus, the Supersonic Subatomic Java Framework.
 
-If you want to learn more about Quarkus, please visit its website: <https://quarkus.io/> .
+If you want to learn more about Quarkus, please visit its website: https://quarkus.io/.
 
 ## Running the application in dev mode
 
-You can run your application in dev mode using:
+You can run your application in dev mode that enables live coding using:
 
 ```sh
 ./gradlew quarkusDev
 ```
 
-### Hint for running with k3s (or k3d)
+> **_NOTE:_**  Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
 
-You may need to add the following dependencies to the `build.gradle` file when running Theodolite with k3s.
-
-```
-implementation 'org.bouncycastle:bcprov-ext-jdk15on:1.68'
-implementation 'org.bouncycastle:bcpkix-jdk15on:1.68'
-```
 
 ## Packaging and running the application
 
@@ -29,8 +23,10 @@ The application can be packaged using:
 ./gradlew build
 ```
 
-It produces the `theodolite-1.0.0-SNAPSHOT-runner.jar` file in the `/build` directory. Be aware that it’s not
-an _über-jar_ as the dependencies are copied into the `build/lib` directory.
+It produces the `quarkus-run.jar` file in the `build/quarkus-app/` directory.
+Be aware that it’s not an _über-jar_ as the dependencies are copied into the `build/quarkus-app/lib/` directory.
+
+The application is now runnable using `java -jar build/quarkus-app/quarkus-run.jar`.
 
 If you want to build an _über-jar_, execute the following command:
 
@@ -38,12 +34,10 @@ If you want to build an _über-jar_, execute the following command:
 ./gradlew build -Dquarkus.package.type=uber-jar
 ```
 
-The application is now runnable using `java -jar build/theodolite-1.0.0-SNAPSHOT-runner.jar`.
+The application, packaged as an _über-jar_, is now runnable using `java -jar build/*-runner.jar`.
 
 ## Creating a native executable
 
-It is recommended to use the native GraalVM images to create executable jars from Theodolite. For more information please visit the [Native Image guide](https://www.graalvm.org/reference-manual/native-image/).
-
 You can create a native executable using:
 
 ```sh
@@ -57,19 +51,25 @@ Or, if you don't have GraalVM installed, you can run the native executable build
 ```
 
 You can then execute your native executable with:
-```./build/theodolite-1.0.0-SNAPSHOT-runner```
+```./build/theodolite-0.8.0-SNAPSHOT-runner```
 
-If you want to learn more about building native executables, please consult <https://quarkus.io/guides/gradle-tooling>.
+If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.
 
-## Build docker images
+## Building container images
 
-For the jvm version use:
+For the JVM version use:
 
 ```sh
 ./gradlew build
 docker build -f src/main/docker/Dockerfile.jvm -t theodolite-jvm .
 ```
 
+Alternatively, you can also use Kaniko to build the image:
+
+```sh
+docker run -it --rm --name kaniko -v "`pwd`":/theodolite --entrypoint "" gcr.io/kaniko-project/executor:debug /kaniko/executor --context /theodolite --dockerfile src/main/docker/Dockerfile.jvm --no-push
+```
+
 For the native image version use:
 
 ```sh
@@ -77,7 +77,7 @@ For the native image version use:
 docker build -f src/main/docker/Dockerfile.native -t theodolite-native .
 ```
 
-## Execute docker images
+## Run a container
 
 Remember to set the environment variables first.
 
diff --git a/theodolite/build.gradle b/theodolite/build.gradle
index 3082deaf12fc48c6aca97ffd00b9c74cd7e6c143..2ca866416674985194135def55b782102505f3c7 100644
--- a/theodolite/build.gradle
+++ b/theodolite/build.gradle
@@ -1,14 +1,14 @@
 plugins {
-    id 'org.jetbrains.kotlin.jvm' version "1.3.72"
-    id "org.jetbrains.kotlin.plugin.allopen" version "1.3.72"
+    id 'org.jetbrains.kotlin.jvm' version "1.6.10"
+    id "org.jetbrains.kotlin.plugin.allopen" version "1.6.10"
     id 'io.quarkus'
-    id "io.gitlab.arturbosch.detekt" version "1.15.0"   //For code style
-    id "org.jlleitschuh.gradle.ktlint" version "10.0.0" // same as above
+    id "io.gitlab.arturbosch.detekt" version "1.15.0"
+    id "org.jlleitschuh.gradle.ktlint" version "10.0.0"
 }
 
 repositories {
-    mavenLocal()
     mavenCentral()
+    mavenLocal()
     jcenter()
 }
 
@@ -18,25 +18,27 @@ dependencies {
     implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
     implementation 'io.quarkus:quarkus-arc'
     implementation 'io.quarkus:quarkus-resteasy'
-    implementation 'com.google.code.gson:gson:2.8.5'
-    implementation 'org.slf4j:slf4j-simple:1.7.29'
-    implementation 'io.github.microutils:kotlin-logging:1.12.0'
-    implementation('io.fabric8:kubernetes-client:5.4.1'){force = true}
-    implementation('io.fabric8:kubernetes-model-core:5.4.1'){force = true}
-    implementation('io.fabric8:kubernetes-model-common:5.4.1'){force = true}
-    implementation 'org.apache.kafka:kafka-clients:2.7.0'
-    implementation 'khttp:khttp:1.0.0'
+    implementation 'io.quarkus:quarkus-kubernetes-client'
+
+    implementation 'org.bouncycastle:bcprov-ext-jdk15on:1.69'
+    implementation 'org.bouncycastle:bcpkix-jdk15on:1.69'
 
-    compile 'junit:junit:4.12'
+    implementation 'com.google.code.gson:gson:2.8.9'
+    implementation 'org.slf4j:slf4j-simple:1.7.32'
+    implementation 'io.github.microutils:kotlin-logging:2.1.16'
+    implementation 'org.apache.kafka:kafka-clients:2.8.0'
+    implementation 'khttp:khttp:1.0.0'
 
     testImplementation 'io.quarkus:quarkus-junit5'
-    testImplementation 'io.rest-assured:rest-assured'
-    testImplementation 'org.junit-pioneer:junit-pioneer:1.4.0'
-    testImplementation ('io.fabric8:kubernetes-server-mock:5.4.1'){force = true}
+    testImplementation 'io.quarkus:quarkus-test-kubernetes-client'
+    //testImplementation 'io.rest-assured:rest-assured'
+    testImplementation 'com.github.tomakehurst:wiremock-jre8:2.33.2'
+    testImplementation 'org.junit-pioneer:junit-pioneer:1.5.0'
+    testImplementation "org.mockito.kotlin:mockito-kotlin:4.0.0"
 }
 
 group 'theodolite'
-version '0.5.0-SNAPSHOT'
+version '0.8.0-SNAPSHOT'
 
 java {
     sourceCompatibility = JavaVersion.VERSION_11
@@ -57,6 +59,13 @@ compileKotlin {
 compileTestKotlin {
     kotlinOptions.jvmTarget = JavaVersion.VERSION_11
 }
+
+test {
+    // Required because of https://github.com/quarkusio/quarkus/issues/18973
+    minHeapSize = "256m"
+    maxHeapSize = "1024m"
+}
+
 detekt {
     failFast = true // fail build on any finding
     buildUponDefaultConfig = true
diff --git a/theodolite/build_jvm.sh b/theodolite/build_jvm.sh
deleted file mode 100755
index f4dd32fc5228576f09e95f0e8ac06fa08ea6acc7..0000000000000000000000000000000000000000
--- a/theodolite/build_jvm.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-
-./gradlew build -x test
-
-docker build -f src/main/docker/Dockerfile.jvm -t quarkus/theodolite-jvm .
-
-docker run -i --rm -p 8080:8080 quarkus/theodolite-jvm
diff --git a/theodolite/build_native.sh b/theodolite/build_native.sh
deleted file mode 100755
index c2d7d81f35a24af951005bb30c52a8ab494ddb64..0000000000000000000000000000000000000000
--- a/theodolite/build_native.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-
-./gradlew build -Dquarkus.package.type=native -x test
-
-docker build -f src/main/docker/Dockerfile.native -t quarkus/theodolite .
-
-docker run -i --rm -p 8080:8080 quarkus/theodolite
diff --git a/theodolite/crd/crd-benchmark.yaml b/theodolite/crd/crd-benchmark.yaml
index 7ab2e5f3b890a883f68dbbd36805f3791158f256..27ca9ebfb314f741c62896ce7faabb0280ba0a84 100644
--- a/theodolite/crd/crd-benchmark.yaml
+++ b/theodolite/crd/crd-benchmark.yaml
@@ -1,16 +1,16 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  name: benchmarks.theodolite.com
+  name: benchmarks.theodolite.rocks
 spec:
-  group: theodolite.com
+  group: theodolite.rocks
   names:
     kind: benchmark
     plural: benchmarks
     shortNames:
       - bench
   versions:
-  - name: v1
+  - name: v1beta1
     served: true
     storage: true
     schema:
@@ -20,12 +20,16 @@ spec:
         properties:
           spec:
             type: object
-            required: ["sut", "loadGenerator", "resourceTypes", "loadTypes", "kafkaConfig"]
+            required: ["sut", "loadGenerator", "resourceTypes", "loadTypes", "slos"]
             properties:
               name:
                 description: This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.
                 type: string
                 default: ""
+              waitForResourcesEnabled:
+                description: If true, Theodolite waits to create the resource for the SUT until the infrastructure resources are ready, and analogously, Theodolite waits to create the load-gen resource until the resources of the SUT are ready.
+                type: boolean
+                default: false
               infrastructure:
                 description: (Optional) A list of file names that reference Kubernetes resources that are deployed on the cluster to create the required infrastructure.
                 type: object
@@ -64,13 +68,135 @@ spec:
                               type: array
                               items:
                                 type: string
+                  beforeActions:
+                    type: array
+                    default: []
+                    description: Infrastructure before actions are executed before the infrastructure is set up.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                  type: string
+                                  description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
+                  afterActions:
+                    type: array
+                    default: [ ]
+                    description: Infrastructure after actions are executed after the teardown of the infrastructure.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                  type: string
+                                  description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
               sut:
                 description: The appResourceSets specifies all Kubernetes resources required to start the sut. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
                 type: object
                 properties:
                   resources:
                     type: array
-                    default: [ ]
+                    default: []
                     items:
                       type: object
                       oneOf:
@@ -101,6 +227,128 @@ spec:
                               type: array
                               items:
                                 type: string
+                  beforeActions:
+                    type: array
+                    default: [ ]
+                    description: SUT before actions are executed before the SUT is started.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                  type: string
+                                  description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
+                  afterActions:
+                    type: array
+                    default: [ ]
+                    description: SUT after actions are executed after the teardown of the SUT.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                  type: string
+                                  description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
               loadGenerator:
                 description: The loadGenResourceSets specifies all Kubernetes resources required to start the load generator. A resourceSet can be either a configMap resourceSet or a fileSystem resourceSet.
                 type: object
@@ -138,6 +386,128 @@ spec:
                               type: array
                               items:
                                 type: string
+                  beforeActions:
+                    type: array
+                    default: [ ]
+                    description: Load generator before actions are executed before the load generator is started.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                  type: string
+                                  description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
+                  afterActions:
+                    type: array
+                    default: [ ]
+                    description: Load generator after actions are executed after the teardown of the load generator.
+                    items:
+                      type: object
+                      anyOf:
+                        - required: [ exec ]
+                        - required: [ delete ]
+                      properties:
+                        exec:
+                          type: object
+                          description: Specifies a command that gets executed within a Container of a Pod
+                          required: [ selector, command, timeoutSeconds ]
+                          properties:
+                            selector:
+                              type: object
+                              description: The selector specifies which resource should be selected for the execution of the command.
+                              properties:
+                                pod:
+                                  type: object
+                                  description: Specifies the pod.
+                                  properties:
+                                    matchLabels:
+                                      type: object
+                                      description: The matchLabels of the desired pod.
+                                      additionalProperties: true
+                                      x-kubernetes-map-type: "granular"
+                                      default: { }
+                                container:
+                                  description: Specifies the container.
+                                  default: ""
+                                  type: string
+                            command:
+                              type: array
+                              description: The command to be executed as string array.
+                              items:
+                                type: string
+                            timeoutSeconds:
+                              description: Specifies the timeout (in seconds) for the specified command.
+                              type: integer
+                        delete:
+                          type: object
+                          description: Specifies deletion of a resource.
+                          required: [ selector ]
+                          properties:
+                            selector:
+                              type: object
+                              description: Defines how to select the resource to delete.
+                              required: [ apiVersion, kind ]
+                              properties:
+                                apiVersion:
+                                  type: string
+                                  description: Specifies the api/version of the resource that should be deleted, e.g. 'kafka.strimzi.io/v1beta2'.
+                                kind:
+                                    type: string
+                                    description: Specifies the Kind of the resource that should be deleted, e.g. 'KafkaTopic'.
+                                nameRegex:
+                                  type: string
+                                  description: Specifies a regular expression that is matched with the metadata.name property of all resources with given api/version and Kind that should be deleted.
+                                  default: "*"
               resourceTypes:
                 description: A list of resource types that can be scaled for this `benchmark` resource. For each resource type the concrete values are defined in the `execution` object.
                 type: array
@@ -204,6 +574,31 @@ spec:
                             additionalProperties: true
                             x-kubernetes-map-type: "granular"
                             default: {}
+              slos: # def of service level objectives
+                description: List of resource values for the specified resource type.
+                type: array
+                items:
+                  type: object
+                  required: ["name", "sloType", "prometheusUrl", "offset"]
+                  properties:
+                    name:
+                      description: The name of the SLO.
+                      type: string
+                    sloType:
+                      description: The type of the SLO. It must match 'lag trend'.
+                      type: string
+                    prometheusUrl:
+                      description: Connection string for Promehteus.
+                      type: string
+                    offset:
+                      description: Hours by which the start and end timestamp will be shifted (for different timezones).
+                      type: integer
+                    properties:
+                      description: (Optional) SLO specific additional arguments.
+                      type: object
+                      additionalProperties: true
+                      x-kubernetes-map-type: "granular"
+                      default: { }
               kafkaConfig:
                 description: Contains the Kafka configuration.
                 type: object
@@ -246,7 +641,7 @@ spec:
     - name: Age
       type: date
       jsonPath: .metadata.creationTimestamp
-    - name: STATUS
+    - name: Status
       type: string
       description: The status of a Benchmark indicates whether all resources are available to start the benchmark or not.
       jsonPath: .status.resourceSetsState
diff --git a/theodolite/crd/crd-execution.yaml b/theodolite/crd/crd-execution.yaml
index d9cd41903bb2fdc18bd6640bdbe2eb764b2106ab..fd618e0189a47b3829792d355febe00a2ce36bad 100644
--- a/theodolite/crd/crd-execution.yaml
+++ b/theodolite/crd/crd-execution.yaml
@@ -1,16 +1,16 @@
 apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
-  name: executions.theodolite.com
+  name: executions.theodolite.rocks
 spec:
-  group: theodolite.com
+  group: theodolite.rocks
   names:
     kind: execution
     plural: executions
     shortNames:
       - exec
   versions:
-  - name: v1
+  - name: v1beta1
     served: true
     storage: true
     schema:
@@ -20,7 +20,7 @@ spec:
         properties:
           spec:
             type: object
-            required: ["benchmark", "load", "resources", "slos", "execution", "configOverrides"]
+            required: ["benchmark", "loads", "resources", "execution", "configOverrides"]
             properties:
               name:
                 description: This field exists only for technical reasons and should not be set by the user. The value of the field will be overwritten.
@@ -29,7 +29,7 @@ spec:
               benchmark:
                 description: The name of the benchmark this execution is referring to.
                 type: string
-              load: # definition of the load dimension
+              loads: # definition of the load dimension
                 description: Specifies the load values that are benchmarked.
                 type: object
                 required: ["loadType", "loadValues"]
@@ -56,21 +56,15 @@ spec:
                     items:
                       type: integer
               slos: # def of service level objectives
-                description:  List of resource values for the specified resource type.
+                description:  List of SLOs with their properties, which differ from the benchmark definition.
                 type: array
                 items:
                   type: object
-                  required: ["sloType", "prometheusUrl", "offset"]
+                  required: ["name", "properties"]
                   properties:
-                    sloType:
-                      description: The type of the SLO. It must match 'lag trend'.
+                    name:
+                      description: The name of the SLO. It must match a SLO specified in the Benchmark.
                       type: string
-                    prometheusUrl:
-                      description: Connection string for Promehteus.
-                      type: string
-                    offset:
-                      description: Hours by which the start and end timestamp will be shifted (for different timezones).
-                      type: integer
                     properties:
                         description: (Optional) SLO specific additional arguments.
                         type: object
@@ -80,25 +74,35 @@ spec:
               execution: # def execution config
                 description: Defines the overall parameter for the execution.
                 type: object
-                required: ["strategy", "duration", "repetitions", "restrictions"]
+                required: ["strategy", "duration", "repetitions"]
                 properties:
-                  strategy:
-                    description: Defines the used strategy for the execution, either 'LinearSearch' or 'BinarySearch'
+                  metric:
                     type: string
+                  strategy:
+                    description: Defines the used strategy for the execution, either 'LinearSearch', 'BinarySearch' or 'InitialGuessSearch'.
+                    type: object
+                    required: ["name"]
+                    properties:
+                      name:
+                        type: string
+                      restrictions:
+                        description: List of restriction strategies used to delimit the search space.
+                        type: array
+                        items:
+                          type: string
+                      guessStrategy:
+                        type: string
+                      searchStrategy:
+                        type: string
                   duration:
                     description: Defines the duration of each experiment in seconds.
                     type: integer
                   repetitions:
-                    description: Numper of repititions for each experiments.
+                    description: Number of repititions for each experiment.
                     type: integer
                   loadGenerationDelay:
                     description: Seconds to wait between the start of the SUT and the load generator.
                     type: integer
-                  restrictions:
-                    description: List of restriction strategys used to delimit the search space.
-                    type: array
-                    items:
-                      type: string
               configOverrides:
                 description:  List of patchers that are used to override existing configurations.
                 type: array
@@ -133,10 +137,18 @@ spec:
                 description: ""
                 type: string
               executionDuration:
-                description: "Duration of the execution in seconds"
+                description: "Duration of the execution"
+                type: string
+              startTime:
+                description: "Time this execution started"
+                type: string
+                format: date-time
+              completionTime:
+                description: "Time when this execution was stopped"
                 type: string
+                format: date-time
     additionalPrinterColumns:
-    - name: STATUS
+    - name: Status
       type: string
       description: State of the execution
       jsonPath: .status.executionState
diff --git a/theodolite/examples/operator/example-benchmark.yaml b/theodolite/examples/operator/example-benchmark.yaml
index 5f68af04750bcd779c9682ede69d6c68b9fb3e92..babc0bde2880b1321c359721a7484bee61f43ed2 100644
--- a/theodolite/examples/operator/example-benchmark.yaml
+++ b/theodolite/examples/operator/example-benchmark.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: example-benchmark
@@ -33,8 +33,17 @@ spec:
           resource: "uc1-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "150000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 3000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
diff --git a/theodolite/examples/operator/example-configmap.yaml b/theodolite/examples/operator/example-configmap.yaml
index 210ce32d3fc0f75b9ffce874d1fa0a1ea9bdc3cd..db511a94cc903869677f2e447d45baf0d983ac6c 100644
--- a/theodolite/examples/operator/example-configmap.yaml
+++ b/theodolite/examples/operator/example-configmap.yaml
@@ -24,7 +24,7 @@ data:
               image: ghcr.io/cau-se/theodolite-uc1-kstreams-app:latest
               env:
                 - name: KAFKA_BOOTSTRAP_SERVERS
-                  value: "theodolite-cp-kafka:9092"
+                  value: "theodolite-kafka-kafka-bootstrap:9092"
                 - name: SCHEMA_REGISTRY_URL
                   value: "http://theodolite-cp-schema-registry:8081"
                 - name: JAVA_OPTS
@@ -65,7 +65,7 @@ data:
                 - name: KUBERNETES_DNS_NAME
                   value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
                 - name: KAFKA_BOOTSTRAP_SERVERS
-                  value: "theodolite-cp-kafka:9092"
+                  value: "theodolite-kafka-kafka-bootstrap:9092"
                 - name: SCHEMA_REGISTRY_URL
                   value: "http://theodolite-cp-schema-registry:8081"
   uc1-load-generator-service.yaml: |
diff --git a/theodolite/examples/operator/example-execution.yaml b/theodolite/examples/operator/example-execution.yaml
index 576a74b90dfc38483de79502ac14d42f6bedfb49..1d889398e1d018ed9b496ad568f79fd8e38aed44 100644
--- a/theodolite/examples/operator/example-execution.yaml
+++ b/theodolite/examples/operator/example-execution.yaml
@@ -1,30 +1,28 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: theodolite-example-execution
 spec:
   benchmark: "example-benchmark"
-  load:
+  loads:
     loadType: "NumSensors"
     loadValues: [25000, 50000, 75000, 100000, 125000, 150000]
   resources:
     resourceType: "Instances"
     resourceValues: [1, 2, 3, 4, 5]
   slos:
-    - sloType: "lag trend"
-      prometheusUrl: "http://prometheus-operated:9090"
-      offset: 0
+    - name: "lag trend"
       properties:
         threshold: 2000
-        externalSloUrl: "http://localhost:80/evaluate-slope"
-        warmup: 60 # in seconds
   execution:
-    strategy: "LinearSearch"
+    strategy:
+      name: "RestrictionSearch"
+      restrictions:
+        - "LowerBound"
+      searchStrategy: "LinearSearch"
     duration: 300 # in seconds
     repetitions: 1
     loadGenerationDelay: 30 # in seconds
-    restrictions:
-      - "LowerBound"
   configOverrides: []
   # - patcher:
   #     type: "NodeSelectorPatcher"
diff --git a/theodolite/examples/resources/uc1-kstreams-deployment.yaml b/theodolite/examples/resources/uc1-kstreams-deployment.yaml
index fdd1ff867ac83beb10856baec53569c88169232e..1951b1177572dbd1276afcbc6770f91f9f5ff168 100644
--- a/theodolite/examples/resources/uc1-kstreams-deployment.yaml
+++ b/theodolite/examples/resources/uc1-kstreams-deployment.yaml
@@ -21,7 +21,7 @@ spec:
               name: jmx
           env:
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
             - name: JAVA_OPTS
diff --git a/theodolite/examples/resources/uc1-load-generator-deployment.yaml b/theodolite/examples/resources/uc1-load-generator-deployment.yaml
index 9f9ccc6ae39407bb1f027e1e23cb152944b869e0..65048a97d5de3d831f782db329e295a5e5ceb727 100644
--- a/theodolite/examples/resources/uc1-load-generator-deployment.yaml
+++ b/theodolite/examples/resources/uc1-load-generator-deployment.yaml
@@ -27,6 +27,6 @@ spec:
             - name: KUBERNETES_DNS_NAME
               value: "titan-ccp-load-generator.$(KUBERNETES_NAMESPACE).svc.cluster.local"
             - name: KAFKA_BOOTSTRAP_SERVERS
-              value: "theodolite-cp-kafka:9092"
+              value: "theodolite-kafka-kafka-bootstrap:9092"
             - name: SCHEMA_REGISTRY_URL
               value: "http://theodolite-cp-schema-registry:8081"
diff --git a/theodolite/examples/standalone/example-benchmark.yaml b/theodolite/examples/standalone/example-benchmark.yaml
index 4d67399231778c91cebb3ffe088e2d26ef388008..254fb4628a595b627f9f4260e3d5478984cec1c6 100644
--- a/theodolite/examples/standalone/example-benchmark.yaml
+++ b/theodolite/examples/standalone/example-benchmark.yaml
@@ -31,7 +31,7 @@ loadTypes:
         properties:
           loadGenMaxRecords: "150000"
 kafkaConfig:
-  bootstrapServer: "theodolite-cp-kafka:9092"
+  bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
   topics:
     - name: "input"
       numPartitions: 40
diff --git a/theodolite/gradle.properties b/theodolite/gradle.properties
index d7e4187c25e76dfb440650274b2d383f75a32242..a7c5a39013639072e1ef47f9226b95b513d678d7 100644
--- a/theodolite/gradle.properties
+++ b/theodolite/gradle.properties
@@ -1,8 +1,8 @@
 #Gradle properties
 quarkusPluginId=io.quarkus
-quarkusPluginVersion=1.10.3.Final
-quarkusPlatformGroupId=io.quarkus
-quarkusPlatformArtifactId=quarkus-universe-bom
-quarkusPlatformVersion=1.10.3.Final
+quarkusPluginVersion=2.7.4.Final
+quarkusPlatformGroupId=io.quarkus.platform
+quarkusPlatformArtifactId=quarkus-bom
+quarkusPlatformVersion=2.7.4.Final
 
-org.gradle.logging.level=INFO
\ No newline at end of file
+#org.gradle.logging.level=INFO
\ No newline at end of file
diff --git a/theodolite/gradle/wrapper/gradle-wrapper.properties b/theodolite/gradle/wrapper/gradle-wrapper.properties
index bb8b2fc26b2e572c79d7212a4f6f11057c6787f7..e750102e09269a4ac558e10a6612998e5ca4c0f2 100644
--- a/theodolite/gradle/wrapper/gradle-wrapper.properties
+++ b/theodolite/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/theodolite/gradlew.bat b/theodolite/gradlew.bat
old mode 100755
new mode 100644
diff --git a/theodolite/src/main/docker/Dockerfile.fast-jar b/theodolite/src/main/docker/Dockerfile.fast-jar
deleted file mode 100644
index 16853dd8f064565ae017bee9dae3597b63085006..0000000000000000000000000000000000000000
--- a/theodolite/src/main/docker/Dockerfile.fast-jar
+++ /dev/null
@@ -1,54 +0,0 @@
-####
-# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
-#
-# Before building the container image run:
-#
-# ./gradlew build -Dquarkus.package.type=fast-jar
-#
-# Then, build the image with:
-#
-# docker build -f src/main/docker/Dockerfile.fast-jar -t quarkus/theodolite-fast-jar .
-#
-# Then run the container using:
-#
-# docker run -i --rm -p 8080:8080 quarkus/theodolite-fast-jar
-#
-# If you want to include the debug port into your docker image
-# you will have to expose the debug port (default 5005) like this :  EXPOSE 8080 5050
-#
-# Then run the container using :
-#
-# docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/theodolite-fast-jar
-#
-###
-FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3 
-
-ARG JAVA_PACKAGE=java-11-openjdk-headless
-ARG RUN_JAVA_VERSION=1.3.8
-ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
-# Install java and the run-java script
-# Also set up permissions for user `1001`
-RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
-    && microdnf update \
-    && microdnf clean all \
-    && mkdir /deployments \
-    && chown 1001 /deployments \
-    && chmod "g+rwX" /deployments \
-    && chown 1001:root /deployments \
-    && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
-    && chown 1001 /deployments/run-java.sh \
-    && chmod 540 /deployments/run-java.sh \
-    && echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/lib/security/java.security
-
-# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
-ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
-# We make four distinct layers so if there are application changes the library layers can be re-used
-COPY --chown=1001 build/quarkus-app/lib/ /deployments/lib/
-COPY --chown=1001 build/quarkus-app/*.jar /deployments/
-COPY --chown=1001 build/quarkus-app/app/ /deployments/app/
-COPY --chown=1001 build/quarkus-app/quarkus/ /deployments/quarkus/
-
-EXPOSE 8080
-USER 1001
-
-ENTRYPOINT [ "/deployments/run-java.sh" ]
diff --git a/theodolite/src/main/docker/Dockerfile.jvm b/theodolite/src/main/docker/Dockerfile.jvm
index 4d51240e0225bb571cc4a625e40c9ec76fd8f10d..e33d7c379a4336610c16d59b9d3315a1e8abad2b 100644
--- a/theodolite/src/main/docker/Dockerfile.jvm
+++ b/theodolite/src/main/docker/Dockerfile.jvm
@@ -14,38 +14,28 @@
 # docker run -i --rm -p 8080:8080 quarkus/theodolite-jvm
 #
 # If you want to include the debug port into your docker image
-# you will have to expose the debug port (default 5005) like this :  EXPOSE 8080 5050
+# you will have to expose the debug port (default 5005) like this :  EXPOSE 8080 5005
 #
 # Then run the container using :
 #
-# docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/theodolite-jvm
+# docker run -i --rm -p 8080:8080 quarkus/theodolite-jvm
 #
 ###
-FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3 
+FROM registry.access.redhat.com/ubi8/openjdk-11-runtime:1.10
 
-ARG JAVA_PACKAGE=java-11-openjdk-headless
-ARG RUN_JAVA_VERSION=1.3.8
 ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
-# Install java and the run-java script
-# Also set up permissions for user `1001`
-RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
-    && microdnf update \
-    && microdnf clean all \
-    && mkdir /deployments \
-    && chown 1001 /deployments \
-    && chmod "g+rwX" /deployments \
-    && chown 1001:root /deployments \
-    && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
-    && chown 1001 /deployments/run-java.sh \
-    && chmod 540 /deployments/run-java.sh \
-    && echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/lib/security/java.security
 
 # Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
 ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
-COPY build/lib/* /deployments/lib/
-COPY build/*-runner.jar /deployments/app.jar
+
+# We make four distinct layers so if there are application changes the library layers can be re-used
+COPY --chown=185 build/quarkus-app/lib/ /deployments/lib/
+COPY --chown=185 build/quarkus-app/*.jar /deployments/
+COPY --chown=185 build/quarkus-app/app/ /deployments/app/
+COPY --chown=185 build/quarkus-app/quarkus/ /deployments/quarkus/
 
 EXPOSE 8080
-USER 1001
+USER 185
+
+ENTRYPOINT [ "java", "-jar", "/deployments/quarkus-run.jar" ]
 
-ENTRYPOINT [ "/deployments/run-java.sh" ]
diff --git a/theodolite/src/main/docker/Dockerfile.legacy-jar b/theodolite/src/main/docker/Dockerfile.legacy-jar
new file mode 100644
index 0000000000000000000000000000000000000000..aa5908c4ed42f005fa67c17fd2c3b3e00978228a
--- /dev/null
+++ b/theodolite/src/main/docker/Dockerfile.legacy-jar
@@ -0,0 +1,37 @@
+####
+# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
+#
+# Before building the container image run:
+#
+# ./gradlew build -Dquarkus.package.type=legacy-jar
+#
+# Then, build the image with:
+#
+# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/theodolite-legacy-jar .
+#
+# Then run the container using:
+#
+# docker run -i --rm -p 8080:8080 quarkus/theodolite-legacy-jar
+#
+# If you want to include the debug port into your docker image
+# you will have to expose the debug port (default 5005) like this :  EXPOSE 8080 5005
+#
+# Then run the container using :
+#
+# docker run -i --rm -p 8080:8080 quarkus/theodolite-legacy-jar
+#
+###
+FROM registry.access.redhat.com/ubi8/openjdk-11-runtime:1.10
+
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
+
+# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
+ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
+
+COPY build/lib/* /deployments/lib/
+COPY build/*-runner.jar /deployments/quarkus-run.jar
+
+EXPOSE 8080
+USER 185
+
+ENTRYPOINT [ "java", "-jar", "/deployments/quarkus-run.jar" ]
diff --git a/theodolite/src/main/docker/Dockerfile.native b/theodolite/src/main/docker/Dockerfile.native
index 95ef4fb51d7dc1ac520fb4c5a9af1b2d0a32fd09..34ccd6622bf2fba6f9707989fffd9bb6390a4a8b 100644
--- a/theodolite/src/main/docker/Dockerfile.native
+++ b/theodolite/src/main/docker/Dockerfile.native
@@ -14,12 +14,12 @@
 # docker run -i --rm -p 8080:8080 quarkus/theodolite
 #
 ###
-FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
-WORKDIR /deployments
-RUN chown 1001 /deployments \
-    && chmod "g+rwX" /deployments \
-    && chown 1001:root /deployments
-COPY --chown=1001:root build/*-runner /deployments/application
+FROM quay.io/quarkus/quarkus-micro-image:1.0
+WORKDIR /work/
+RUN chown 1001 /work \
+    && chmod "g+rwX" /work \
+    && chown 1001:root /work
+COPY --chown=1001:root build/*-runner /work/application
 
 EXPOSE 8080
 USER 1001
diff --git a/theodolite/src/main/docker/Dockerfile.native-distroless b/theodolite/src/main/docker/Dockerfile.native-distroless
new file mode 100644
index 0000000000000000000000000000000000000000..951dfb64bee56e277d057c8f9e97796e88f30ac2
--- /dev/null
+++ b/theodolite/src/main/docker/Dockerfile.native-distroless
@@ -0,0 +1,23 @@
+####
+# This Dockerfile is used in order to build a distroless container that runs the Quarkus application in native (no JVM) mode
+#
+# Before building the container image run:
+#
+# ./gradlew build -Dquarkus.package.type=native
+#
+# Then, build the image with:
+#
+# docker build -f src/main/docker/Dockerfile.native-distroless -t quarkus/theodolite .
+#
+# Then run the container using:
+#
+# docker run -i --rm -p 8080:8080 quarkus/theodolite
+#
+###
+FROM quay.io/quarkus/quarkus-distroless-image:1.0
+COPY build/*-runner /application
+
+EXPOSE 8080
+USER nonroot
+
+CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/Config.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/Config.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c429d6b3f456c345c7ab2adb1ccd95635603ef4f
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/Config.kt
@@ -0,0 +1,21 @@
+package rocks.theodolite.core
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.strategies.searchstrategy.SearchStrategy
+
+/**
+ * Config class that represents a configuration of a theodolite run.
+ *
+ * @param loads the possible loads of the execution
+ * @param resources the possible resources of the execution
+ * @param searchStrategy the [SearchStrategy] of the execution
+ * @param metric the Metric of the execution
+ */
+@RegisterForReflection
+data class Config(
+        val loads: List<Int>,
+        val resources: List<Int>,
+        val searchStrategy: SearchStrategy,
+        val metric: Metric
+)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/ExecutionRunner.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/ExecutionRunner.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a63269bb8ebb009ecd858be145523c4029814888
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/ExecutionRunner.kt
@@ -0,0 +1,50 @@
+package rocks.theodolite.core
+
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.strategies.searchstrategy.SearchStrategy
+
+
+class ExecutionRunner (private val searchStrategy: SearchStrategy,
+                       private val resources: List<Int>, private val loads: List<Int>,
+                       private val metric: Metric, private val executionId: Int) {
+
+    /**
+     * Run all experiments for given loads and resources.
+     * Called by [rocks.theodolite.kubernetes.execution.TheodoliteExecutor] to run an Execution.
+     */
+    fun run() {
+
+        val ioHandler = IOHandler()
+        val resultsFolder = ioHandler.getResultFolderURL()
+
+        //execute benchmarks for each load for the demand metric, or for each resource amount for capacity metric
+        try {
+            searchStrategy.applySearchStrategyByMetric(loads, resources, metric)
+
+        } finally {
+            ioHandler.writeToJSONFile(
+                    searchStrategy.experimentRunner.results,
+                    "${resultsFolder}exp${executionId}-result"
+            )
+            // Create expXYZ_demand.csv file or expXYZ_capacity.csv depending on metric
+            when(metric) {
+                Metric.DEMAND ->
+                    ioHandler.writeToCSVFile(
+                            "${resultsFolder}exp${executionId}_demand",
+                            calculateMetric(loads, searchStrategy.experimentRunner.results),
+                            listOf("load","resources")
+                    )
+                Metric.CAPACITY ->
+                    ioHandler.writeToCSVFile(
+                            "${resultsFolder}exp${executionId}_capacity",
+                            calculateMetric(resources, searchStrategy.experimentRunner.results),
+                            listOf("resource", "loads")
+                    )
+            }
+        }
+    }
+
+    private fun calculateMetric(xValues: List<Int>, results: Results): List<List<String>> {
+        return xValues.map { listOf(it.toString(), results.getOptYDimensionValue(it).toString()) }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/ExperimentRunner.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/ExperimentRunner.kt
new file mode 100644
index 0000000000000000000000000000000000000000..830469320d98cf66cd9395e3cdf74b2443758c3c
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/ExperimentRunner.kt
@@ -0,0 +1,29 @@
+package rocks.theodolite.core
+
+import java.util.concurrent.atomic.AtomicBoolean
+
+
+/**
+ * Abstract class acts as an interface for the theodolite core to run experiments.
+ * The results of the experiments are stored in [results].
+ *
+ * @property results
+ */
+abstract class ExperimentRunner(val results: Results) {
+
+    var run: AtomicBoolean = AtomicBoolean(true)
+
+    /**
+     * Run an experiment for the given parametrization, evaluate the
+     * experiment and save the result.
+     *
+     * @param load to be tested.
+     * @param resource to be tested.
+     * @return True, if the number of resources are suitable for the
+     *     given load, false otherwise (demand metric), or
+     *     True, if there is a load suitable for the
+     *     given resource, false otherwise.
+     */
+    abstract fun runExperiment(load: Int, resource: Int): Boolean
+
+}
diff --git a/theodolite/src/main/kotlin/theodolite/util/IOHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/IOHandler.kt
similarity index 97%
rename from theodolite/src/main/kotlin/theodolite/util/IOHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/core/IOHandler.kt
index 57032189412d0937e4d77ddbf4354c78ffcc71a3..4d2cab0da938b18950def8cfb5cc6f104e110125 100644
--- a/theodolite/src/main/kotlin/theodolite/util/IOHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/IOHandler.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.core
 
 import com.google.gson.GsonBuilder
 import mu.KotlinLogging
@@ -85,7 +85,7 @@ class IOHandler {
      * @param data the data to write in the file as String
      */
     fun writeStringToTextFile(fileURL: String, data: String) {
-        val outputFile = File("$fileURL")
+        val outputFile = File(fileURL)
         outputFile.printWriter().use {
             it.println(data)
         }
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/Results.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/Results.kt
new file mode 100644
index 0000000000000000000000000000000000000000..16e6b517e1f570fd17a1b9688aff4f41ec8c9884
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/Results.kt
@@ -0,0 +1,127 @@
+package rocks.theodolite.core
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.core.strategies.Metric
+
+/**
+ * Central class that saves the state of an execution of Theodolite. For an execution, it is used to save the result of
+ * individual experiments. Further, it is used by the RestrictionStrategy to
+ * perform the [theodolite.strategies.restriction.RestrictionStrategy].
+ */
+@RegisterForReflection
+class Results (val metric: Metric) {
+    // (load, resource) -> Boolean map
+    private val results: MutableMap<Pair<Int, Int>, Boolean> = mutableMapOf()
+
+    // if metric is "demand"  : load     -> resource
+    // if metric is "capacity": resource -> load
+    private var optInstances: MutableMap<Int, Int> = mutableMapOf()
+
+
+    /**
+     * Set the result for an experiment and update the [optInstances] list accordingly.
+     *
+     * @param experiment A pair that identifies the experiment by the Load and Resource.
+     * @param successful the result of the experiment. Successful == true and Unsuccessful == false.
+     */
+    fun setResult(experiment: Pair<Int, Int>, successful: Boolean) {
+        this.results[experiment] = successful
+
+        when (metric) {
+            Metric.DEMAND ->
+                if (successful) {
+                    if (optInstances.containsKey(experiment.first)) {
+                        if (optInstances[experiment.first]!! > experiment.second) {
+                            optInstances[experiment.first] = experiment.second
+                        }
+                    } else {
+                        optInstances[experiment.first] = experiment.second
+                    }
+                } else if (!optInstances.containsKey(experiment.first)) {
+                    optInstances[experiment.first] = Int.MAX_VALUE
+                }
+            Metric.CAPACITY ->
+                if (successful) {
+                    if (optInstances.containsKey(experiment.second)) {
+                        if (optInstances[experiment.second]!! < experiment.first) {
+                            optInstances[experiment.second] = experiment.first
+                        }
+                    } else {
+                        optInstances[experiment.second] = experiment.first
+                    }
+                } else if (!optInstances.containsKey(experiment.second)) {
+                    optInstances[experiment.second] = Int.MIN_VALUE
+                }
+        }
+    }
+
+    /**
+     * Get the result for an experiment.
+     *
+     * @param experiment A pair that identifies the experiment by the Load and Resource.
+     * @return true if the experiment was successful and false otherwise. If the result has not been reported so far,
+     * null is returned.
+     *
+     */
+    fun getResult(experiment: Pair<Int, Int>): Boolean? {
+        return this.results[experiment]
+    }
+
+    /**
+     * Get the smallest suitable number of instances for a specified x-Value.
+     * The x-Value corresponds to the...
+     * - load, if the metric is "demand".
+     * - resource, if the metric is "capacity".
+     *
+     * @param xValue the Value of the x-dimension of the current metric
+     *
+     * @return the smallest suitable number of resources/loads (depending on metric).
+     * If there is no experiment that has been executed yet, there is no experiment
+     * for the given [xValue] or there is none marked successful yet, null is returned.
+     */
+    fun getOptYDimensionValue(xValue: Int?): Int? {
+        if (xValue != null) {
+            val res = optInstances[xValue]
+            if (res != Int.MAX_VALUE && res != Int.MIN_VALUE) {
+                return res
+            }
+        }
+        return null
+    }
+
+    /**
+     * Get the largest x-Value that has been tested and reported so far (successful or unsuccessful),
+     * which is smaller than the specified x-Value.
+     *
+     * The x-Value corresponds to the...
+     * - load, if the metric is "demand".
+     * - resource, if the metric is "capacity".
+     *
+     * @param xValue the Value of the x-dimension of the current metric
+     *
+     * @return the largest tested x-Value or null, if there wasn't any tested which is smaller than the [xValue].
+     */
+    fun getMaxBenchmarkedXDimensionValue(xValue: Int): Int? {
+        var maxBenchmarkedXValue: Int? = null
+        for (instance in optInstances) {
+            val instanceXValue= instance.key
+            if (instanceXValue <= xValue) {
+                if (maxBenchmarkedXValue == null) {
+                    maxBenchmarkedXValue = instanceXValue
+                } else if (maxBenchmarkedXValue < instanceXValue) {
+                    maxBenchmarkedXValue = instanceXValue
+                }
+            }
+        }
+        return maxBenchmarkedXValue
+    }
+
+    /**
+     * Checks whether the results are empty.
+     *
+     * @return true if [results] is empty.
+     */
+    fun isEmpty(): Boolean{
+        return results.isEmpty()
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/Metric.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/Metric.kt
new file mode 100644
index 0000000000000000000000000000000000000000..db161d10c61fae512e28ba059e604835d22aeb96
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/Metric.kt
@@ -0,0 +1,11 @@
+package rocks.theodolite.core.strategies
+
+enum class Metric(val value: String) {
+    DEMAND("demand"),
+    CAPACITY("capacity");
+
+    companion object {
+        fun from(metric: String): Metric =
+                values().find { it.value == metric } ?: throw IllegalArgumentException("Requested Metric does not exist")
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/StrategyFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/StrategyFactory.kt
new file mode 100644
index 0000000000000000000000000000000000000000..d2925c798e29705f3333130e8c9f09e32d7ec31c
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/StrategyFactory.kt
@@ -0,0 +1,84 @@
+package rocks.theodolite.core.strategies
+
+import rocks.theodolite.core.strategies.guessstrategy.PrevInstanceOptGuess
+import rocks.theodolite.core.strategies.restrictionstrategy.LowerBoundRestriction
+import rocks.theodolite.core.strategies.restrictionstrategy.RestrictionStrategy
+import rocks.theodolite.core.strategies.searchstrategy.*
+import rocks.theodolite.core.ExperimentRunner
+import rocks.theodolite.core.Results
+
+/**
+ * Factory for creating [SearchStrategy] and [RestrictionStrategy] strategies.
+ */
+class StrategyFactory {
+
+    /**
+     * Create a [SearchStrategy].
+     *
+     * @param executor The [theodolite.execution.BenchmarkExecutor] that executes individual experiments.
+     * @param searchStrategyObject Specifies the [SearchStrategy]. Must either be an object with name 'FullSearch',
+     * 'LinearSearch', 'BinarySearch', 'RestrictionSearch' or 'InitialGuessSearch'.
+     * @param results The [Results] saves the state of the Theodolite benchmark run.
+     *
+     * @throws IllegalArgumentException if the [SearchStrategy] was not one of the allowed options.
+     */
+    fun createSearchStrategy(executor: ExperimentRunner, name: String, searchStrategy: String, restrictions: List<String>,
+                             guessStrategy: String, results: Results): SearchStrategy {
+
+        var strategy : SearchStrategy = when (name) {
+            "FullSearch" -> FullSearch(executor)
+            "LinearSearch" -> LinearSearch(executor)
+            "BinarySearch" -> BinarySearch(executor)
+            "RestrictionSearch" -> when (searchStrategy){
+                "FullSearch" -> composeSearchRestrictionStrategy(executor, FullSearch(executor), results, restrictions)
+                "LinearSearch" -> composeSearchRestrictionStrategy(executor, LinearSearch(executor), results, restrictions)
+                "BinarySearch" -> composeSearchRestrictionStrategy(executor, BinarySearch(executor), results, restrictions)
+                else -> throw IllegalArgumentException("Search Strategy $searchStrategy for RestrictionSearch not found")
+            }
+            "InitialGuessSearch" -> when (guessStrategy){
+                "PrevResourceMinGuess" -> InitialGuessSearchStrategy(executor, PrevInstanceOptGuess(), results)
+                else -> throw IllegalArgumentException("Guess Strategy $guessStrategy not found")
+            }
+            else -> throw IllegalArgumentException("Search Strategy not found")
+        }
+
+        return strategy
+    }
+
+    /**
+     * Create a [RestrictionStrategy].
+     *
+     * @param results The [Results] saves the state of the Theodolite benchmark run.
+     * @param restrictionStrings Specifies the list of [RestrictionStrategy] that are used to restrict the amount
+     * of Resource for a fixed load or resource (depending on the metric).
+     * Must equal the string 'LowerBound'.
+     *
+     * @throws IllegalArgumentException if param searchStrategyString was not one of the allowed options.
+     */
+    private fun createRestrictionStrategy(results: Results, restrictionStrings: List<String>): Set<RestrictionStrategy> {
+        return restrictionStrings
+            .map { restriction ->
+                when (restriction) {
+                    "LowerBound" -> LowerBoundRestriction(results)
+                    else -> throw IllegalArgumentException("Restriction Strategy $restrictionStrings not found")
+                }
+            }.toSet()
+    }
+
+    /**
+     * Create a RestrictionSearch, if the provided restriction list is not empty. Otherwise just return the given
+     * searchStrategy.
+     *
+     * @param executor The [theodolite.execution.BenchmarkExecutor] that executes individual experiments.
+     * @param searchStrategy The [SearchStrategy] to use.
+     * @param results The [Results] saves the state of the Theodolite benchmark run.
+     * @param restrictions The [RestrictionStrategy]'s to use.
+     */
+    private fun composeSearchRestrictionStrategy(executor: ExperimentRunner, searchStrategy: SearchStrategy,
+                                                 results: Results, restrictions: List<String>): SearchStrategy {
+        if(restrictions.isNotEmpty()){
+            return RestrictionSearch(executor,searchStrategy,createRestrictionStrategy(results, restrictions))
+        }
+        return searchStrategy
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/GuessStrategy.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/GuessStrategy.kt
new file mode 100644
index 0000000000000000000000000000000000000000..6ab5c1b6d10da318c4b5b3f24d6cc521ff247e79
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/GuessStrategy.kt
@@ -0,0 +1,22 @@
+package rocks.theodolite.core.strategies.guessstrategy
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+
+/**
+ * Base class for the implementation of Guess strategies. Guess strategies are strategies to determine the resource
+ * demand (demand metric) or load (capacity metric) we start with in our initial guess search strategy.
+ */
+
+@RegisterForReflection
+abstract class GuessStrategy {
+    /**
+     * Computing the resource demand (demand metric) or load (capacity metric) for the initial guess search strategy
+     * to start with.
+     *
+     * @param valuesToCheck List of all possible resources/loads.
+     * @param lastOptValue Previous minimal/maximal resource/load value for the given load/resource.
+     *
+     * @return the resource/load to start the initial guess search strategy with or null
+     */
+    abstract fun firstGuess(valuesToCheck: List<Int>, lastOptValue: Int?): Int?
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/PrevInstanceOptGuess.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/PrevInstanceOptGuess.kt
new file mode 100644
index 0000000000000000000000000000000000000000..3b2d7b1b0e6c4133b939742a83afc55fabb7b101
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/guessstrategy/PrevInstanceOptGuess.kt
@@ -0,0 +1,28 @@
+package rocks.theodolite.core.strategies.guessstrategy
+
+
+/**
+ * [PrevInstanceOptGuess] is a [GuessStrategy] that implements the function [firstGuess],
+ * where it returns the optimal result of the previous run.
+ */
+
+class PrevInstanceOptGuess() : GuessStrategy(){
+
+    /**
+     * If the metric is
+     *
+     * - "demand", [valuesToCheck] is a List of resources and [lastOptValue] a resource value.
+     * - "capacity", [valuesToCheck] is a List of loads and [lastOptValue] a load value.
+     *
+     * @param valuesToCheck List of all possible resources/loads.
+     * @param lastOptValue Previous minimal/maximal resource/load value for the given load/resource.
+     *
+     * @return the value of [lastOptValue] if given otherwise the first element of the [valuesToCheck] list or null
+     */
+    override fun firstGuess(valuesToCheck: List<Int>, lastOptValue: Int?): Int? {
+
+        if (lastOptValue != null) return lastOptValue
+        else if(valuesToCheck.isNotEmpty()) return valuesToCheck[0]
+        else return null
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestriction.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestriction.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2e5a51018fd742abbb18edb1d788a6644e94d2f1
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestriction.kt
@@ -0,0 +1,24 @@
+package rocks.theodolite.core.strategies.restrictionstrategy
+
+import rocks.theodolite.core.Results
+
+/**
+ * The [LowerBoundRestriction] sets the lower bound of the resources to be examined in the experiment to the value
+ * needed to successfully execute the previous smaller load (demand metric), or sets the lower bound of the loads
+ * to be examined in the experiment to the largest value, which still successfully executed the previous smaller
+ * resource (capacity metric).
+ *
+ * @param results [Result] object used as a basis to restrict the resources.
+ */
+class LowerBoundRestriction(results: Results) : RestrictionStrategy(results) {
+
+    override fun apply(xValue: Int, yValues: List<Int>): List<Int> {
+        val maxXValue: Int? = this.results.getMaxBenchmarkedXDimensionValue(xValue)
+        var lowerBound: Int? = this.results.getOptYDimensionValue(maxXValue)
+        if (lowerBound == null) {
+            lowerBound = yValues[0]
+        }
+        return yValues.filter { x -> x >= lowerBound }
+    }
+
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/RestrictionStrategy.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/RestrictionStrategy.kt
new file mode 100644
index 0000000000000000000000000000000000000000..16532c32e2c9c64ac69d1c5ed32f6ec0d3345747
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/RestrictionStrategy.kt
@@ -0,0 +1,24 @@
+package rocks.theodolite.core.strategies.restrictionstrategy
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.core.Results
+
+/**
+ * A 'Restriction Strategy' restricts a list of resources or loads depending on the metric based on the current
+ * results of all previously performed benchmarks.
+ *
+ * @param results the [Results] object
+ */
+@RegisterForReflection
+abstract class RestrictionStrategy(val results: Results) {
+    /**
+     * Apply the restriction of the given resource list for the given load based on the results object (demand metric),
+     * or apply the restriction of the given load list for the given resource based on the results object (capacity metric).
+     *
+     * @param xValue The value to be examined in the experiment, can be load (demand metric) or resource (capacity metric).
+     * @param yValues List of values to be restricted, can be resources (demand metric) or loads (capacity metric).
+     * @return Returns a list containing only elements that have not been filtered out by the
+     * restriction (possibly empty).
+     */
+    abstract fun apply(xValue: Int, yValues: List<Int>): List<Int>
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/BinarySearch.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/BinarySearch.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7c339c449e85a0fa73484d60a455016931cee473
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/BinarySearch.kt
@@ -0,0 +1,108 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import mu.KotlinLogging
+import rocks.theodolite.core.ExperimentRunner
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ *  Binary-search-like implementation for determining the smallest suitable number of instances.
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ */
+class BinarySearch(experimentRunner: ExperimentRunner) : SearchStrategy(experimentRunner) {
+    override fun findSuitableResource(load: Int, resources: List<Int>): Int? {
+        val result = binarySearchDemand(load, resources, 0, resources.size - 1)
+        if (result == -1) {
+            return null
+        }
+        return resources[result]
+    }
+
+    override fun findSuitableLoad(resource: Int, loads: List<Int>): Int? {
+        val result = binarySearchCapacity(resource, loads, 0, loads.size - 1)
+        if (result == -1) {
+            return null
+        }
+        return loads[result]
+    }
+
+    /**
+     * Apply binary search for the demand metric.
+     *
+     * @param load the load to perform experiments for.
+     * @param resources the list of resources in which binary search is performed.
+     * @param lower lower bound for binary search (inclusive).
+     * @param upper upper bound for binary search (inclusive).
+     */
+    private fun binarySearchDemand(load: Int, resources: List<Int>, lower: Int, upper: Int): Int {
+        if (lower > upper) {
+            throw IllegalArgumentException()
+        }
+        // special case:  length == 1, so lower and upper bounds are the same
+        if (lower == upper) {
+            val res = resources[lower]
+            logger.info { "Running experiment with load '$load' and resource '$res'" }
+            if (this.experimentRunner.runExperiment(load, res)) return lower
+            else {
+                if (lower + 1 == resources.size) return -1
+                return lower + 1
+            }
+        } else {
+            // apply binary search for a list with
+            // length >= 2 and adjust upper and lower depending on the result for `resources[mid]`
+            val mid = (upper + lower) / 2
+            val res = resources[mid]
+            logger.info { "Running experiment with load '$load' and resource '$res'" }
+            if (this.experimentRunner.runExperiment(load, res)) {
+                // case length = 2
+                if (mid == lower) {
+                    return lower
+                }
+                return binarySearchDemand(load, resources, lower, mid - 1)
+            } else {
+                return binarySearchDemand(load, resources, mid + 1, upper)
+            }
+        }
+    }
+
+
+    /**
+     * Apply binary search for the capacity metric.
+     *
+     * @param resource the resource to perform experiments for.
+     * @param loads the list of loads in which binary search is performed.
+     * @param lower lower bound for binary search (inclusive).
+     * @param upper upper bound for binary search (inclusive).
+     */
+    private fun binarySearchCapacity(resource: Int, loads: List<Int>, lower: Int, upper: Int): Int {
+        if (lower > upper) {
+            throw IllegalArgumentException()
+        }
+        // length = 1, so lower and upper bounds are the same
+        if (lower == upper) {
+            val load = loads[lower]
+            logger.info { "Running experiment with load '$load' and resource '$resource'" }
+            if (this.experimentRunner.runExperiment(load, resource)) return lower
+            else {
+                if (lower + 1 == loads.size) return -1
+                return lower - 1
+            }
+        } else {
+            // apply binary search for a list with
+            // length > 2 and adjust upper and lower depending on the result for `resources[mid]`
+            val mid = (upper + lower + 1) / 2 //round to next int
+            val load = loads[mid]
+            logger.info { "Running experiment with load '$load' and resource '$resource'" }
+            if (this.experimentRunner.runExperiment(load, resource)) {
+                // length = 2, so since we round down mid is equal to lower
+                if (mid == upper) {
+                    return upper
+                }
+                return binarySearchCapacity(resource, loads, mid + 1, upper)
+            } else {
+                return binarySearchCapacity(resource, loads, lower, mid - 1)
+            }
+        }
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/FullSearch.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/FullSearch.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7cd1dfe08cfef7ea42f0a663bbc80eb63f8ca9fe
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/FullSearch.kt
@@ -0,0 +1,39 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import mu.KotlinLogging
+import rocks.theodolite.core.ExperimentRunner
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ * [SearchStrategy] that executes an experiment for a load and a resource list (demand metric) or for a resource and a
+ * load list (capacity metric) in a linear-search-like fashion, but **without stopping** once the desired
+ * resource (demand) or load (capacity) is found.
+ *
+ * @see LinearSearch for a SearchStrategy that stops once the desired resource (demand) or load (capacity) is found.
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ */
+class FullSearch(experimentRunner: ExperimentRunner) : SearchStrategy(experimentRunner) {
+
+    override fun findSuitableResource(load: Int, resources: List<Int>): Int? {
+        var minimalSuitableResources: Int? = null
+        for (res in resources) {
+            logger.info { "Running experiment with load '$load' and resources '$res'" }
+            val result = this.experimentRunner.runExperiment(load, res)
+            if (result && minimalSuitableResources == null) {
+                minimalSuitableResources = res
+            }
+        }
+        return minimalSuitableResources
+    }
+
+    override fun findSuitableLoad(resource: Int, loads: List<Int>): Int? {
+        var maxSuitableLoad: Int? = null
+        for (load in loads) {
+            logger.info { "Running experiment with resources '$resource' and load '$load'" }
+            if (this.experimentRunner.runExperiment(load, resource)) maxSuitableLoad = load
+        }
+        return maxSuitableLoad
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategy.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategy.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8d257bb329729cab033e10195e7a9df3260aeeb3
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategy.kt
@@ -0,0 +1,133 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import mu.KotlinLogging
+import rocks.theodolite.core.strategies.guessstrategy.GuessStrategy
+import rocks.theodolite.core.ExperimentRunner
+import rocks.theodolite.core.Results
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ *  Search strategy implementation for determining the smallest suitable resource demand.
+ *  Starting with a resource amount provided by a guess strategy.
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ * @param guessStrategy Strategy that provides us with a guess for the first resource amount.
+ * @param results current results of all previously performed benchmarks.
+ */
+class InitialGuessSearchStrategy(
+        experimentRunner: ExperimentRunner,
+        private val guessStrategy: GuessStrategy,
+        private var results: Results
+) : SearchStrategy(experimentRunner) {
+
+    override fun findSuitableResource(load: Int, resources: List<Int>): Int? {
+
+        var lastLowestResource : Int? = null
+
+        // Getting the lastLowestResource from results and calling firstGuess() with it
+        if (!results.isEmpty()) {
+            val maxLoad: Int? = this.results.getMaxBenchmarkedXDimensionValue(load)
+            lastLowestResource = this.results.getOptYDimensionValue(maxLoad)
+        }
+        lastLowestResource = this.guessStrategy.firstGuess(resources, lastLowestResource)
+
+        if (lastLowestResource != null) {
+            val resourcesToCheck: List<Int>
+            val startIndex: Int = resources.indexOf(lastLowestResource)
+
+            logger.info { "Running experiment with load '$load' and resources '$lastLowestResource'" }
+
+            // If the first experiment passes, starting downward linear search
+            // otherwise starting upward linear search
+            if (this.experimentRunner.runExperiment(load, lastLowestResource)) {
+
+                resourcesToCheck = resources.subList(0, startIndex).reversed()
+                if (resourcesToCheck.isEmpty()) return lastLowestResource
+
+                var currentMin: Int = lastLowestResource
+                for (res in resourcesToCheck) {
+
+                    logger.info { "Running experiment with load '$load' and resources '$res'" }
+                    if (this.experimentRunner.runExperiment(load, res)) {
+                        currentMin = res
+                    }
+                }
+                return currentMin
+            }
+            else {
+                if (resources.size <= startIndex + 1) {
+                    logger.info{ "No more resources left to check." }
+                    return null
+                }
+                resourcesToCheck = resources.subList(startIndex + 1, resources.size)
+
+                for (res in resourcesToCheck) {
+
+                    logger.info { "Running experiment with load '$load' and resources '$res'" }
+                    if (this.experimentRunner.runExperiment(load, res)) return res
+                }
+            }
+        }
+        else {
+            logger.info { "lastLowestResource was null." }
+        }
+        return null
+    }
+
+    override fun findSuitableLoad(resource: Int, loads: List<Int>): Int?{
+
+        var lastMaxLoad : Int? = null
+
+        // Getting the lastLowestLoad from results and calling firstGuess() with it
+        if (!results.isEmpty()) {
+            val maxResource: Int? = this.results.getMaxBenchmarkedXDimensionValue(resource)
+            lastMaxLoad = this.results.getOptYDimensionValue(maxResource)
+        }
+        lastMaxLoad = this.guessStrategy.firstGuess(loads, lastMaxLoad)
+
+        if (lastMaxLoad != null) {
+            val loadsToCheck: List<Int>
+            val startIndex: Int = loads.indexOf(lastMaxLoad)
+
+            logger.info { "Running experiment with resource '$resource' and load '$lastMaxLoad'" }
+
+            // If the first experiment passes, starting upwards linear search
+            // otherwise starting downward linear search
+            if (!this.experimentRunner.runExperiment(lastMaxLoad, resource)) {
+                // downward search
+
+                loadsToCheck = loads.subList(0, startIndex).reversed()
+                if (loadsToCheck.isNotEmpty()) {
+                    for (load in loadsToCheck) {
+
+                        logger.info { "Running experiment with resource '$resource' and load '$load'" }
+                        if (this.experimentRunner.runExperiment(load, resource)) {
+                            return load
+                        }
+                    }
+                }
+            }
+            else {
+                // upward search
+                if (loads.size <= startIndex + 1) {
+                    return lastMaxLoad
+                }
+                loadsToCheck = loads.subList(startIndex + 1, loads.size)
+
+                var currentMax: Int = lastMaxLoad
+                for (load in loadsToCheck) {
+                    logger.info { "Running experiment with resource '$resource' and load '$load'" }
+                    if (this.experimentRunner.runExperiment(load, resource)) {
+                        currentMax = load
+                    }
+                }
+                return currentMax
+            }
+        }
+        else {
+            logger.info { "lastMaxLoad was null." }
+        }
+        return null
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/LinearSearch.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/LinearSearch.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c3276f05e141d15652012952991a47a1fde30ad4
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/LinearSearch.kt
@@ -0,0 +1,34 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import mu.KotlinLogging
+import rocks.theodolite.core.ExperimentRunner
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ *  Linear-search-like implementation for determining the smallest/biggest suitable number of resources/loads,
+ *  depending on the metric.
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ */
+class LinearSearch(experimentRunner: ExperimentRunner) : SearchStrategy(experimentRunner) {
+
+    override fun findSuitableResource(load: Int, resources: List<Int>): Int? {
+        for (res in resources) {
+            logger.info { "Running experiment with load '$load' and resources '$res'" }
+            if (this.experimentRunner.runExperiment(load, res)) return res
+        }
+        return null
+    }
+
+    override fun findSuitableLoad(resource: Int, loads: List<Int>): Int? {
+        var maxSuitableLoad: Int? = null
+        for (load in loads) {
+            logger.info { "Running experiment with resources '$resource' and load '$load'" }
+            if (this.experimentRunner.runExperiment(load, resource)) {
+                maxSuitableLoad = load
+            } else break
+        }
+        return maxSuitableLoad
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearch.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearch.kt
new file mode 100644
index 0000000000000000000000000000000000000000..703a7de8b9e084b2bb55bc9270b9d07ea6adfe83
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearch.kt
@@ -0,0 +1,43 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.core.strategies.restrictionstrategy.RestrictionStrategy
+import rocks.theodolite.core.ExperimentRunner
+
+/**
+ *  Strategy that combines a SearchStrategy and a set of RestrictionStrategy.
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ * @param searchStrategy the [SearchStrategy] that is executed as part of this [RestrictionSearch].
+ * @param restrictionStrategies the set of [RestrictionStrategy] that are connected conjunctive to restrict the Resource.
+ *
+ */
+@RegisterForReflection
+class RestrictionSearch(
+        experimentRunner: ExperimentRunner,
+        private val searchStrategy: SearchStrategy,
+        private val restrictionStrategies: Set<RestrictionStrategy>
+) : SearchStrategy(experimentRunner) {
+
+    /**
+     * Restricting the possible resources and calling findSuitableResource of the given [SearchStrategy].
+     */
+    override fun findSuitableResource(load: Int, resources: List<Int>): Int? {
+        var restrictedResources = resources
+        for (strategy in this.restrictionStrategies) {
+            restrictedResources = restrictedResources.intersect(strategy.apply(load, resources).toSet()).toList()
+        }
+        return this.searchStrategy.findSuitableResource(load, restrictedResources)
+    }
+
+    /**
+     * Restricting the possible loads and calling findSuitableLoad of the given [SearchStrategy].
+     */
+    override fun findSuitableLoad(resource: Int, loads: List<Int>): Int? {
+        var restrictedLoads = loads
+        for (strategy in this.restrictionStrategies) {
+            restrictedLoads = restrictedLoads.intersect(strategy.apply(resource, loads).toSet()).toList()
+        }
+        return this.searchStrategy.findSuitableLoad(resource, restrictedLoads)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/SearchStrategy.kt b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/SearchStrategy.kt
new file mode 100644
index 0000000000000000000000000000000000000000..d08581ff70c509f54a9b8e5f972bb3661cb0b8f8
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/core/strategies/searchstrategy/SearchStrategy.kt
@@ -0,0 +1,63 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.ExperimentRunner
+
+/**
+ *  Base class for the implementation for SearchStrategies. SearchStrategies determine the smallest suitable number
+ *  of resources/loads for a load/resource (depending on the metric).
+ *
+ * @param experimentRunner Benchmark executor which runs the individual benchmarks.
+ * @param guessStrategy Guess strategy for the initial resource amount in case the InitialGuessStrategy is selected.
+ * @param results the [Results] object.
+ */
+@RegisterForReflection
+abstract class SearchStrategy(val experimentRunner: ExperimentRunner) {
+
+
+    /**
+     * Calling findSuitableResource or findSuitableLoad for each load/resource depending on the chosen metric.
+     *
+     * @param loads List of possible loads for the experiments.
+     * @param resources List of possible resources for the experiments.
+     * @param metric The [Metric] for the experiments, either "demand" or "capacity".
+     */
+    fun applySearchStrategyByMetric(loads: List<Int>, resources: List<Int>, metric: Metric) {
+
+        when(metric) {
+            Metric.DEMAND ->
+                for (load in loads) {
+                    if (experimentRunner.run.get()) {
+                        this.findSuitableResource(load, resources)
+                    }
+                }
+            Metric.CAPACITY ->
+                for (resource in resources) {
+                    if (experimentRunner.run.get()) {
+                        this.findSuitableLoad(resource, loads)
+                    }
+                }
+        }
+    }
+
+    /**
+     * Find the smallest suitable resource from the specified resource list for the given load.
+     *
+     * @param load the load to be tested.
+     * @param resources List of all possible resources.
+     *
+     * @return suitable resource for the specified load, or null if no suitable resource exists.
+     */
+    abstract fun findSuitableResource(load: Int, resources: List<Int>): Int?
+
+    /**
+     * Find the biggest suitable load from the specified load list for the given resource amount.
+     *
+     * @param resource the resource to be tested.
+     * @param loads List of all possible loads.
+     *
+     * @return suitable load for the specified resource amount, or null if no suitable load exists.
+     */
+    abstract fun findSuitableLoad(resource: Int, loads: List<Int>) : Int?
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt
new file mode 100644
index 0000000000000000000000000000000000000000..bdabb719672abf2975fdf8a0ad59868bbc6c1edf
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt
@@ -0,0 +1,31 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.annotation.JsonInclude
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+
+@JsonDeserialize
+@RegisterForReflection
+@JsonInclude(JsonInclude.Include.NON_NULL)
+class Action {
+
+    @JsonProperty("exec")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    var execCommand: ExecCommand? = null
+    @JsonProperty("delete")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    var deleteCommand: DeleteCommand? = null
+
+    fun exec(client: NamespacedKubernetesClient) {
+        return if (execCommand != null) {
+            execCommand?.exec(client= client) !!
+        } else if (deleteCommand != null) {
+            deleteCommand?.exec(client= client ) !!
+        } else {
+            throw DeploymentFailedException("Could not execute action. The action type must either be 'exec' or 'delete'.")
+        }
+    }
+
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt
new file mode 100644
index 0000000000000000000000000000000000000000..eefacbea9268f44969fd88d7650d5ddc5e00fb8e
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt
@@ -0,0 +1,156 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.Status
+import io.fabric8.kubernetes.client.KubernetesClientException
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.fabric8.kubernetes.client.dsl.ExecListener
+import io.fabric8.kubernetes.client.dsl.ExecWatch
+import io.fabric8.kubernetes.client.utils.Serialization
+import mu.KotlinLogging
+import java.io.ByteArrayOutputStream
+import java.time.Duration
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
+
+
+private val logger = KotlinLogging.logger {}
+
+class ActionCommand(val client: NamespacedKubernetesClient) {
+    var out: ByteArrayOutputStream = ByteArrayOutputStream()
+    var error: ByteArrayOutputStream = ByteArrayOutputStream()
+    var errChannelStream: ByteArrayOutputStream = ByteArrayOutputStream()
+    private val execLatch = CountDownLatch(1)
+
+    /**
+     * Executes an action command.
+     *
+     * @param matchLabels matchLabels specifies on which pod the command should be executed. For this, the principle
+     * `of any` of is used and the command is called on one of the possible pods.
+     * @param container (Optional) The container to run the command. Is optional iff exactly one container exist.
+     * @param command The command to be executed.
+     * @return the exit code of this executed command
+     */
+    fun exec(
+        matchLabels: Map<String, String>,
+        command: Array<String>,
+        timeout: Long = Configuration.TIMEOUT_SECONDS,
+        container: String = ""
+    ): Int {
+        try {
+            val execWatch: ExecWatch = if (container.isNotEmpty()) {
+                client.pods()
+                    .inNamespace(client.namespace)
+                    .withName(getPodName(matchLabels, 3))
+                    .inContainer(container)
+
+            } else {
+                client.pods()
+                    .inNamespace(client.namespace)
+                    .withName(getPodName(matchLabels, 3))
+            }
+                .writingOutput(out)
+                .writingError(error)
+                .writingErrorChannel(errChannelStream)
+                .usingListener(ActionCommandListener(execLatch))
+                .exec(*command)
+
+            val latchTerminationStatus = execLatch.await(timeout, TimeUnit.SECONDS)
+            if (!latchTerminationStatus) {
+                throw ActionCommandFailedException("Timeout while running action command")
+            }
+            execWatch.close()
+        } catch (e: Exception) {
+            when (e) {
+                is InterruptedException -> {
+                    Thread.currentThread().interrupt()
+                    throw ActionCommandFailedException("Interrupted while waiting for the exec", e)
+                }
+                is KubernetesClientException -> {
+                    throw ActionCommandFailedException("Error while executing command", e)
+                }
+                else -> {
+                    throw e
+                }
+            }
+        }
+        logger.debug { "Execution Output Stream is \n $out" }
+        logger.debug { "Execution Error Stream is \n $error" }
+        logger.debug { "Execution ErrorChannel is: \n $errChannelStream" }
+        return getExitCode(errChannelStream)
+    }
+
+    private fun getExitCode(errChannelStream: ByteArrayOutputStream): Int {
+        val status: Status?
+        try {
+            status = Serialization.unmarshal(errChannelStream.toString(), Status::class.java)
+        } catch (e: Exception) {
+            throw ActionCommandFailedException("Could not determine the exit code, no information given")
+        }
+
+        if (status == null) {
+            throw ActionCommandFailedException("Could not determine the exit code, no information given")
+        }
+
+        return if (status.status.equals("Success")) {
+            0
+        } else status.details.causes.stream()
+            .filter { it.reason.equals("ExitCode") }
+            .map { it.message }
+            .findFirst()
+            .orElseThrow {
+                ActionCommandFailedException("Status is not SUCCESS but contains no exit code - Status: $status")
+            }.toInt()
+    }
+
+    /**
+     * Find pod with matching labels. The matching pod must have the status `Running`.
+     *
+     * @param matchLabels the match labels
+     * @param tries specifies the number of times to look for a  matching pod. When pods are newly created,
+     * it can take a while until the status is ready and the pod can be selected.
+     * @return the name of the pod or throws [ActionCommandFailedException]
+     */
+    fun getPodName(matchLabels: Map<String, String>, tries: Int): String {
+        for (i in 1..tries) {
+
+            try {
+                return getPodName(matchLabels)
+            } catch (e: Exception) {
+                logger.warn { "Could not found any pod with specified matchlabels or pod is not ready." }
+            }
+            Thread.sleep(Duration.ofSeconds(5).toMillis())
+        }
+        throw ActionCommandFailedException("Couldn't find any pod that matches the specified labels.")
+    }
+
+    private fun getPodName(matchLabels: Map<String, String>): String {
+        return try {
+            val podNames = this.client
+                .pods()
+                .withLabels(matchLabels)
+                .list()
+                .items
+                .map { it.metadata.name }
+
+            podNames.first {
+                this.client.pods().withName(it).isReady
+            }
+
+        } catch (e: NoSuchElementException) {
+            throw ActionCommandFailedException("Couldn't find any pod that matches the specified labels.", e)
+        }
+    }
+
+    private class ActionCommandListener(val execLatch: CountDownLatch) : ExecListener {
+
+        override fun onFailure(throwable: Throwable, response: ExecListener.Response) {
+            execLatch.countDown()
+            throw ActionCommandFailedException("Some error encountered while executing action, caused ${throwable.message})")
+        }
+
+        override fun onClose(code: Int, reason: String) {
+            execLatch.countDown()
+        }
+    }
+
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8472b0cc9b46a952dbeb14eb73093c821cd6ed57
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt
@@ -0,0 +1,4 @@
+package rocks.theodolite.kubernetes
+
+class ActionCommandFailedException(message: String, e: Exception? = null) : DeploymentFailedException(message,e) {
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkDeployment.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
similarity index 93%
rename from theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkDeployment.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
index fd01ecd986775ef704949743fef0d19f5492e9a6..df303b3b85175d6133e8bc9e7a2748cf8c46464c 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkDeployment.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
@@ -1,4 +1,4 @@
-package theodolite.benchmark
+package rocks.theodolite.kubernetes
 
 /**
  *  A BenchmarkDeployment contains the necessary infrastructure to execute a benchmark.
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt
new file mode 100644
index 0000000000000000000000000000000000000000..544f8bd5ae227ca682e688dff9fc9df0efec60c3
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt
@@ -0,0 +1,25 @@
+package rocks.theodolite.kubernetes
+
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+
+/**
+ * This interface is needed for test purposes.
+ */
+interface BenchmarkDeploymentBuilder {
+
+    /**
+     * Builds a Deployment that can be deployed.
+     * @return a BenchmarkDeployment.
+     */
+    fun buildDeployment(
+        load: Int,
+        loadPatcherDefinitions: List<PatcherDefinition>,
+        resource: Int,
+        resourcePatcherDefinitions: List<PatcherDefinition>,
+        configurationOverrides: List<ConfigurationOverride?>,
+        loadGenerationDelay: Long,
+        afterTeardownDelay: Long,
+        waitForResourcesEnabled: Boolean
+    ): BenchmarkDeployment
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt
new file mode 100644
index 0000000000000000000000000000000000000000..43c478b983d879135b00e6208df8bb36b7978c8f
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt
@@ -0,0 +1,53 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.client.KubernetesClientException
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+import java.lang.IllegalArgumentException
+
+@RegisterForReflection
+@JsonDeserialize
+class ConfigMapResourceSet : ResourceSet, KubernetesResource {
+    lateinit var name: String
+    var files: List<String>? = null // load all files, iff files is not set
+
+    override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
+        var resources: Map<String, String>
+
+        try {
+            resources = (client
+                .configMaps()
+                .withName(name)
+                .get() ?: throw DeploymentFailedException("Cannot find ConfigMap with name '$name'."))
+                .data
+                .filter { it.key.endsWith(".yaml") || it.key.endsWith(".yml")}
+        } catch (e: KubernetesClientException) {
+            throw DeploymentFailedException("Cannot find or read ConfigMap with name '$name'.", e)
+        }
+
+        files?.run {
+            val filteredResources = resources.filter { this.contains(it.key) }
+            if (filteredResources.size != this.size) {
+                throw DeploymentFailedException("Could not find all specified Kubernetes manifests files")
+            }
+            resources = filteredResources
+        }
+
+        return try {
+            resources
+                .map {
+                    Pair(
+                        it.key, // filename
+                        client.resource(it.value).get()
+                    )
+                }
+        } catch (e: IllegalArgumentException) {
+            throw DeploymentFailedException("Cannot create resource set from specified ConfigMap", e)
+        }
+
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/util/Configuration.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
similarity index 62%
rename from theodolite/src/main/kotlin/theodolite/util/Configuration.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
index dac3b943e69bd7e208d318f2a788275f19db11e4..e28e2a2a7644222f656bdebd05d122cd853ac456 100644
--- a/theodolite/src/main/kotlin/theodolite/util/Configuration.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
@@ -1,18 +1,20 @@
-package theodolite.util
-
-import theodolite.execution.ExecutionModes
+package rocks.theodolite.kubernetes
 
 // Defaults
 private const val DEFAULT_NAMESPACE = "default"
 private const val DEFAULT_COMPONENT_NAME = "theodolite-operator"
 
 
-class Configuration(
-) {
+class Configuration {
     companion object {
         val NAMESPACE = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
         val COMPONENT_NAME = System.getenv("COMPONENT_NAME") ?: DEFAULT_COMPONENT_NAME
         val EXECUTION_MODE = System.getenv("MODE") ?: ExecutionModes.STANDALONE.value
+
+        /**
+         * Specifies how long Theodolite should wait (in sec) before aborting the execution of an action command.
+         */
+        const val TIMEOUT_SECONDS: Long = 30L
     }
 
 }
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeleteCommand.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeleteCommand.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ef4409e5bdebfa8b232d5ed1080e93571cbaa618
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeleteCommand.kt
@@ -0,0 +1,49 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.annotation.JsonInclude
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.client.KubernetesClientException
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+import mu.KotlinLogging
+
+private val logger = KotlinLogging.logger {}
+
+@JsonDeserialize
+@RegisterForReflection
+@JsonInclude(JsonInclude.Include.NON_NULL)
+class DeleteCommand {
+
+    lateinit var selector: DeleteActionSelector
+
+    fun exec(client: NamespacedKubernetesClient) {
+        logger.info { "Deleting all resources with apiVersion ${selector.apiVersion} and Kind ${selector.kind} matching regular expression ${selector.nameRegex}" }
+        val regExp = selector.nameRegex.toRegex()
+        val k8sManager = K8sManager(client)
+        client
+            .genericKubernetesResources(selector.apiVersion, selector.kind)
+            .inNamespace(client.namespace)
+            .list()
+            .items
+            .filter { regExp.matches(it.metadata.name) }
+            .forEach{
+                logger.info { "Deleting resource ${it.metadata.name} of Kind ${it.kind} and api/version ${it.apiVersion}." }
+                try {
+                    k8sManager.remove(it)
+                } catch (e: KubernetesClientException) {
+                    logger.error { "An error occured when deleting resource ${it.metadata.name} of Kind ${it.kind} and api/version ${it.apiVersion}. Error: ${e.message}"}
+                }
+            }
+    }
+}
+
+@JsonDeserialize
+@RegisterForReflection
+class DeleteActionSelector {
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    lateinit var apiVersion: String
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    lateinit var kind: String
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    lateinit var nameRegex: String
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/util/DeploymentFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
similarity index 75%
rename from theodolite/src/main/kotlin/theodolite/util/DeploymentFailedException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
index 9f4caedf3db1e09dca7924bf0035c6ace0b835d7..cde0021255b471354e8513139cad0f6e083f804a 100644
--- a/theodolite/src/main/kotlin/theodolite/util/DeploymentFailedException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.kubernetes
 
 
 open class DeploymentFailedException(message: String, e: Exception? = null) : TheodoliteException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecCommand.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecCommand.kt
new file mode 100644
index 0000000000000000000000000000000000000000..b8ce10efcd3e4fb5ea552aa7f922fd81c5c13656
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecCommand.kt
@@ -0,0 +1,41 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.annotation.JsonInclude
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+
+@JsonDeserialize
+@RegisterForReflection
+@JsonInclude(JsonInclude.Include.NON_NULL)
+class ExecCommand {
+    lateinit var selector: ExecActionSelector
+    lateinit var command: Array<String>
+    var timeoutSeconds: Long = Configuration.TIMEOUT_SECONDS
+    fun exec(client: NamespacedKubernetesClient) {
+        val exitCode = ActionCommand(client = client)
+            .exec(
+                matchLabels = selector.pod.matchLabels,
+                container = selector.container,
+                timeout = timeoutSeconds,
+                command = command
+            )
+        if (exitCode != 0){
+            throw ActionCommandFailedException("Error while executing action, finished with exit code $exitCode")
+        }
+    }
+}
+
+@JsonDeserialize
+@RegisterForReflection
+class ExecActionSelector {
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    lateinit var pod: PodSelector
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    var container: String = ""
+}
+@JsonDeserialize
+@RegisterForReflection
+class PodSelector {
+    lateinit var matchLabels: Map<String, String>
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8924dd18199e0ff937c783873878c6f245d01ea5
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt
@@ -0,0 +1,3 @@
+package rocks.theodolite.kubernetes
+
+open class ExecutionFailedException(message: String, e: Exception? = null) : TheodoliteException(message,e)
diff --git a/theodolite/src/main/kotlin/theodolite/execution/ExecutionModes.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
similarity index 61%
rename from theodolite/src/main/kotlin/theodolite/execution/ExecutionModes.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
index bf947be01b534fd000d3967f0b72ef25978d4110..e8e4b642689c455b7be6c32d0bdedad58861238c 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/ExecutionModes.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
@@ -1,7 +1,6 @@
-package theodolite.execution
+package rocks.theodolite.kubernetes
 
 enum class ExecutionModes(val value: String) {
     OPERATOR("operator"),
-    YAML_EXECUTOR("yaml-executor"),
     STANDALONE("standalone")
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutorImpl.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
similarity index 52%
rename from theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutorImpl.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
index 2e938be3a6e503a5e7e3f94c18a9454e173db5b0..e1ce46ea24fc97bb7b0421b8e3507c8e989d654a 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutorImpl.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
@@ -1,57 +1,53 @@
-package theodolite.execution
+package rocks.theodolite.kubernetes
 
 import io.quarkus.runtime.annotations.RegisterForReflection
 import mu.KotlinLogging
-import theodolite.benchmark.Benchmark
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.evaluation.AnalysisExecutor
-import theodolite.execution.operator.EventCreator
-import theodolite.util.*
+import rocks.theodolite.core.ExperimentRunner
+import rocks.theodolite.core.Results
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+import rocks.theodolite.kubernetes.operator.EventCreator
+import rocks.theodolite.kubernetes.slo.AnalysisExecutor
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
 import java.time.Duration
 import java.time.Instant
 
 private val logger = KotlinLogging.logger {}
 
 @RegisterForReflection
-class BenchmarkExecutorImpl(
-    benchmark: Benchmark,
+class ExperimentRunnerImpl(
     results: Results,
-    executionDuration: Duration,
-    configurationOverrides: List<ConfigurationOverride?>,
-    slos: List<BenchmarkExecution.Slo>,
-    repetitions: Int,
-    executionId: Int,
-    loadGenerationDelay: Long,
-    afterTeardownDelay: Long,
-    executionName: String
-) : BenchmarkExecutor(
-    benchmark,
-    results,
-    executionDuration,
-    configurationOverrides,
-    slos,
-    repetitions,
-    executionId,
-    loadGenerationDelay,
-    afterTeardownDelay,
-    executionName
+    private val benchmarkDeploymentBuilder: BenchmarkDeploymentBuilder,
+    private val executionDuration: Duration,
+    private val configurationOverrides: List<ConfigurationOverride?>,
+    private val slos: List<Slo>,
+    private val repetitions: Int,
+    private val executionId: Int,
+    private val loadGenerationDelay: Long,
+    private val afterTeardownDelay: Long,
+    private val executionName: String,
+    private val loadPatcherDefinitions: List<PatcherDefinition>,
+    private val resourcePatcherDefinitions: List<PatcherDefinition>,
+    private val waitForResourcesEnabled: Boolean
+) : ExperimentRunner(
+    results
 ) {
     private val eventCreator = EventCreator()
     private val mode = Configuration.EXECUTION_MODE
 
-    override fun runExperiment(load: LoadDimension, res: Resource): Boolean {
+    override fun runExperiment(load: Int, resource: Int): Boolean {
         var result = false
         val executionIntervals: MutableList<Pair<Instant, Instant>> = ArrayList()
 
         for (i in 1.rangeTo(repetitions)) {
             if (this.run.get()) {
                 logger.info { "Run repetition $i/$repetitions" }
-                executionIntervals.add(runSingleExperiment(load, res))
+                executionIntervals.add(runSingleExperiment(
+                        load, resource))
             } else {
                 break
             }
         }
-
         /**
          * Analyse the experiment, if [run] is true, otherwise the experiment was canceled by the user.
          */
@@ -60,41 +56,44 @@ class BenchmarkExecutorImpl(
                 AnalysisExecutor(slo = it, executionId = executionId)
                     .analyze(
                         load = load,
-                        res = res,
-                        executionIntervals = executionIntervals
+                        resource = resource,
+                        executionIntervals = executionIntervals,
+                        metric = this.results.metric
                     )
             }
 
             result = (false !in experimentResults)
-            this.results.setResult(Pair(load, res), result)
-        }
-
-        if(!this.run.get()) {
+            this.results.setResult(Pair(load, resource), result)
+        } else {
             throw ExecutionFailedException("The execution was interrupted")
         }
-
         return result
     }
 
-    private fun runSingleExperiment(load: LoadDimension, res: Resource): Pair<Instant, Instant> {
-        val benchmarkDeployment = benchmark.buildDeployment(
+    private fun runSingleExperiment(load: Int, resource: Int): Pair<Instant, Instant> {
+        val benchmarkDeployment = benchmarkDeploymentBuilder.buildDeployment(
             load,
-            res,
+            this.loadPatcherDefinitions,
+            resource,
+            this.resourcePatcherDefinitions,
             this.configurationOverrides,
             this.loadGenerationDelay,
-            this.afterTeardownDelay
+            this.afterTeardownDelay,
+            this.waitForResourcesEnabled
         )
-        val from = Instant.now()
+        val from: Instant
 
         try {
             benchmarkDeployment.setup()
+            from = Instant.now()
+
             this.waitAndLog()
             if (mode == ExecutionModes.OPERATOR.value) {
                 eventCreator.createEvent(
                     executionName = executionName,
                     type = "NORMAL",
                     reason = "Start experiment",
-                    message = "load: ${load.get()}, resources: ${res.get()}")
+                    message = "load: $load, resources: $resource")
             }
         } catch (e: Exception) {
             this.run.set(false)
@@ -104,7 +103,7 @@ class BenchmarkExecutorImpl(
                     executionName = executionName,
                     type = "WARNING",
                     reason = "Start experiment failed",
-                    message = "load: ${load.get()}, resources: ${res.get()}")
+                    message = "load: $load, resources: $resource")
             }
             throw ExecutionFailedException("Error during setup the experiment", e)
         }
@@ -130,4 +129,25 @@ class BenchmarkExecutorImpl(
         }
         return Pair(from, to)
     }
+
+    /**
+     * Wait while the benchmark is running and log the number of minutes executed every 1 minute.
+     */
+    fun waitAndLog() {
+        logger.info { "Execution of a new experiment started." }
+
+        var secondsRunning = 0L
+
+        while (run.get() && secondsRunning < executionDuration.toSeconds()) {
+            secondsRunning++
+            Thread.sleep(Duration.ofSeconds(1).toMillis())
+
+            if ((secondsRunning % 60) == 0L) {
+                logger.info { "Executed: ${secondsRunning / 60} minutes." }
+            }
+        }
+
+        logger.debug { "Executor shutdown gracefully." }
+
+    }
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt
new file mode 100644
index 0000000000000000000000000000000000000000..44dacc044e2af477814be0399d23a5b14818bcee
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt
@@ -0,0 +1,56 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+import java.io.BufferedReader
+import java.io.FileInputStream
+import java.io.FileNotFoundException
+import java.io.InputStreamReader
+import java.nio.charset.StandardCharsets
+import java.nio.file.Path
+import java.nio.file.Paths
+import java.util.stream.Collectors
+import kotlin.io.path.listDirectoryEntries
+
+
+@RegisterForReflection
+@JsonDeserialize
+class FileSystemResourceSet: ResourceSet, KubernetesResource {
+    lateinit var path: String
+    var files: List<String>? = null
+
+    override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
+        // if files is set ...
+        return files?.run {
+            return this
+                .map { Paths.get(path, it) }
+                .map { loadSingleResource(resource = it, client = client) }
+        } ?:
+        try {
+            Paths.get(path)
+                .listDirectoryEntries()
+                .filter { it.toString().endsWith(".yaml") || it.toString().endsWith(".yml") }
+                .map { loadSingleResource(resource = it, client = client) }
+        } catch (e: java.nio.file.NoSuchFileException) { // not to be confused with Kotlin exception
+            throw  DeploymentFailedException("Could not load files located in $path", e)
+        }
+    }
+
+    private fun loadSingleResource(resource: Path, client: NamespacedKubernetesClient): Pair<String, HasMetadata> {
+        return try {
+            val stream = FileInputStream(resource.toFile())
+            val text = BufferedReader(
+                InputStreamReader(stream, StandardCharsets.UTF_8)
+            ).lines().collect(Collectors.joining("\n"))
+            val k8sResource = client.resource(text).get()
+            Pair(resource.last().toString(), k8sResource)
+        } catch (e: FileNotFoundException){
+            throw DeploymentFailedException("File $resource not found.", e)
+        } catch (e: IllegalArgumentException) {
+            throw DeploymentFailedException("Could not load resource: $resource.", e)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/K8sContextFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
similarity index 89%
rename from theodolite/src/main/kotlin/theodolite/k8s/K8sContextFactory.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
index 7eb209bfbab02bb94d34c985aa308173e509d4e4..880449d1952247bd7bf1784e083acc14ee59fea5 100644
--- a/theodolite/src/main/kotlin/theodolite/k8s/K8sContextFactory.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
@@ -1,4 +1,4 @@
-package theodolite.k8s
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
 
@@ -7,6 +7,7 @@ import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
  *
  * @see CustomResourceDefinitionContext
  */
+@Deprecated("Use `CustomResourceDefinitionContext.Builder` instead.")
 class K8sContextFactory {
 
     /**
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7856451edf4c31d668288f618fcee46b7246a619
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt
@@ -0,0 +1,51 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import mu.KotlinLogging
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ * This class is used to deploy or remove different Kubernetes resources.
+ * Supports: Deployments, Services, ConfigMaps, StatefulSets, and CustomResources.
+ * @param client KubernetesClient used to deploy or remove.
+ */
+class K8sManager(private val client: NamespacedKubernetesClient) {
+
+    /**
+     * Deploys different k8s resources using the client.
+     * @throws IllegalArgumentException if KubernetesResource not supported.
+     */
+    fun deploy(resource: HasMetadata) {
+        client.resource(resource).createOrReplace()
+    }
+
+    /**
+     * Removes different k8s resources using the client.
+     * @throws KubernetesClientException if an error occurs in the underlying NamespacedKubernetesClient when deleting the resource.
+     */
+    fun remove(resource: HasMetadata,  blockUntilDeleted: Boolean = true) {
+        client.resource(resource).delete()
+        if(blockUntilDeleted) {
+            when (resource) {
+                is Deployment -> {
+                    ResourceByLabelHandler(client = client)
+                        .blockUntilPodsDeleted(
+                            matchLabels = resource.spec.selector.matchLabels
+                        )
+                    logger.info { "Deployment '${resource.metadata.name}' deleted." }
+                }
+                is StatefulSet -> {
+                    ResourceByLabelHandler(client = client)
+                        .blockUntilPodsDeleted(
+                            matchLabels = resource.spec.selector.matchLabels
+                        )
+                    logger.info { "StatefulSet '$resource.metadata.name' deleted." }
+                }
+            }
+        }
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt
new file mode 100644
index 0000000000000000000000000000000000000000..28ac651a043134d061123956cea0cfc6d9535ce6
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt
@@ -0,0 +1,102 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+import mu.KotlinLogging
+import org.apache.kafka.clients.admin.NewTopic
+import rocks.theodolite.kubernetes.kafka.TopicManager
+import rocks.theodolite.kubernetes.model.crd.KafkaConfig
+import theodolite.benchmark.RolloutManager
+import java.time.Duration
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ * Organizes the deployment of benchmarks in Kubernetes.
+ *
+ * @param namespace to operate in.
+ * @param resources List of [KubernetesResource] that are managed.
+ * @param kafkaConfig for the organization of Kafka topics.
+ * @param topics List of topics that are created or deleted.
+ */
+@RegisterForReflection
+class KubernetesBenchmarkDeployment(
+    private val sutBeforeActions: List<Action>,
+    private val sutAfterActions: List<Action>,
+    private val loadGenBeforeActions: List<Action>,
+    private val loadGenAfterActions: List<Action>,
+    private val rolloutMode: Boolean,
+    val appResources: List<HasMetadata>,
+    val loadGenResources: List<HasMetadata>,
+    private val loadGenerationDelay: Long,
+    private val afterTeardownDelay: Long,
+    private val kafkaConfig: Map<String, Any>,
+    private val topics: List<KafkaConfig.TopicWrapper>,
+    private val client: NamespacedKubernetesClient
+) : BenchmarkDeployment {
+    private val kafkaController = TopicManager(this.kafkaConfig)
+    private val kubernetesManager = K8sManager(client)
+    private val LAG_EXPORTER_POD_LABEL_NAME = "app.kubernetes.io/name"
+    private val LAG_EXPORTER_POD_LABEL_VALUE = "kafka-exporter"
+
+
+
+    /**
+     * Setup a [KubernetesBenchmark] using the [TopicManager] and the [K8sManager]:
+     *  - Create the needed topics.
+     *  - Deploy the needed resources.
+     */
+    override fun setup() {
+        val rolloutManager = RolloutManager(rolloutMode, client)
+        if (this.topics.isNotEmpty()) {
+            val kafkaTopics = this.topics
+                .filter { !it.removeOnly }
+                .map { NewTopic(it.name, it.numPartitions, it.replicationFactor) }
+            kafkaController.createTopics(kafkaTopics)
+        }
+
+        sutBeforeActions.forEach { it.exec(client = client) }
+        rolloutManager.rollout(appResources)
+        logger.info { "Wait ${this.loadGenerationDelay} seconds before starting the load generator." }
+        Thread.sleep(Duration.ofSeconds(this.loadGenerationDelay).toMillis())
+        loadGenBeforeActions.forEach { it.exec(client = client) }
+        rolloutManager.rollout(loadGenResources)
+    }
+
+    /**
+     * Tears down a [KubernetesBenchmark]:
+     *  - Reset the Kafka Lag Exporter.
+     *  - Remove the used topics.
+     *  - Remove the [KubernetesResource]s.
+     */
+    override fun teardown() {
+        val podCleaner = ResourceByLabelHandler(client)
+        loadGenResources.forEach { kubernetesManager.remove(it, false) }
+        loadGenAfterActions.forEach { it.exec(client = client) }
+        appResources.forEach { kubernetesManager.remove(it,false) }
+        sutAfterActions.forEach { it.exec(client = client) }
+        if (this.topics.isNotEmpty()) {
+            kafkaController.removeTopics(this.topics.map { topic -> topic.name })
+        }
+
+        listOf(loadGenResources, appResources)
+            .forEach {
+                if (it is Deployment) {
+                    podCleaner.blockUntilPodsDeleted(it.spec.selector.matchLabels)
+                } else if (it is StatefulSet) {
+                    podCleaner.blockUntilPodsDeleted(it.spec.selector.matchLabels)
+                }
+            }
+
+        podCleaner.removePods(
+            labelName = LAG_EXPORTER_POD_LABEL_NAME,
+            labelValue = LAG_EXPORTER_POD_LABEL_VALUE
+        )
+        logger.info { "Teardown complete. Wait $afterTeardownDelay seconds to let everything cool down." }
+        Thread.sleep(Duration.ofSeconds(afterTeardownDelay).toMillis())
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
new file mode 100644
index 0000000000000000000000000000000000000000..67fe92afb8aa4c9edda2474fc6307c16c21a41f6
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
@@ -0,0 +1,92 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import mu.KotlinLogging
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.patcher.PatchHandler
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
+
+private val logger = KotlinLogging.logger {}
+
+class KubernetesBenchmarkDeploymentBuilder (val kubernetesBenchmark: KubernetesBenchmark,
+                                            private var client: NamespacedKubernetesClient)
+    : BenchmarkDeploymentBuilder {
+
+
+    /**
+     * Builds a deployment.
+     * First loads all required resources and then patches them to the concrete load and resources for the experiment for the demand metric
+     * or loads all loads and then patches them to the concrete load and resources for the experiment.
+     * Afterwards patches additional configurations(cluster depending) into the resources (or loads).
+     * @param load concrete load that will be benchmarked in this experiment (demand metric), or scaled (capacity metric).
+     * @param resource concrete resource that will be scaled for this experiment (demand metric), or benchmarked (capacity metric).
+     * @param configurationOverrides
+     * @return a [BenchmarkDeployment]
+     */
+    override fun buildDeployment(
+            load: Int,
+            loadPatcherDefinitions: List<PatcherDefinition>,
+            resource: Int,
+            resourcePatcherDefinitions: List<PatcherDefinition>,
+            configurationOverrides: List<ConfigurationOverride?>,
+            loadGenerationDelay: Long,
+            afterTeardownDelay: Long,
+            waitForResourcesEnabled: Boolean
+    ): BenchmarkDeployment {
+        logger.info { "Using ${this.client.namespace} as namespace." }
+
+        val appResources = loadKubernetesResources(kubernetesBenchmark.sut.resources, this.client).toResourceMap()
+        val loadGenResources = loadKubernetesResources(kubernetesBenchmark.loadGenerator.resources, this.client).toResourceMap()
+
+        // patch the load dimension the resources
+        loadPatcherDefinitions.forEach { patcherDefinition ->
+            loadGenResources[patcherDefinition.resource] =
+                PatchHandler.patchResource(loadGenResources, patcherDefinition, load.toString())
+        }
+        resourcePatcherDefinitions.forEach { patcherDefinition ->
+            appResources[patcherDefinition.resource] =
+                PatchHandler.patchResource(appResources, patcherDefinition, resource.toString())
+        }
+
+        // Patch the given overrides
+        configurationOverrides.forEach { override ->
+            override?.let {
+                if (appResources.keys.contains(it.patcher.resource)) {
+                    appResources[it.patcher.resource] =
+                        PatchHandler.patchResource(appResources, override.patcher, override.value)
+                } else {
+                    loadGenResources[it.patcher.resource] =
+                        PatchHandler.patchResource(loadGenResources, override.patcher, override.value)
+                }
+            }
+        }
+
+        val kafkaConfig = kubernetesBenchmark.kafkaConfig
+
+        return KubernetesBenchmarkDeployment(
+                sutBeforeActions = kubernetesBenchmark.sut.beforeActions,
+                sutAfterActions = kubernetesBenchmark.sut.afterActions,
+                loadGenBeforeActions = kubernetesBenchmark.loadGenerator.beforeActions,
+                loadGenAfterActions = kubernetesBenchmark.loadGenerator.afterActions,
+                appResources = appResources.toList().flatMap { it.second },
+                loadGenResources = loadGenResources.toList().flatMap { it.second },
+                loadGenerationDelay = loadGenerationDelay,
+                afterTeardownDelay = afterTeardownDelay,
+                kafkaConfig = if (kafkaConfig != null) mapOf("bootstrap.servers" to kafkaConfig.bootstrapServer) else mapOf(),
+                topics = kafkaConfig?.topics ?: listOf(),
+                client = this.client,
+                rolloutMode = waitForResourcesEnabled
+        )
+    }
+
+}
+
+private fun Collection<Pair<String, HasMetadata>>.toResourceMap(): MutableMap<String, List<HasMetadata>> {
+    return this.toMap()
+        .toMutableMap()
+        .map { Pair(it.key, listOf(it.value)) }
+        .toMap()
+        .toMutableMap()
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt
new file mode 100644
index 0000000000000000000000000000000000000000..cbd7c3106b39c4571d559d4071cd4ac16e180bc8
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt
@@ -0,0 +1,34 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.client.DefaultKubernetesClient
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.QuarkusMain
+import mu.KotlinLogging
+import rocks.theodolite.kubernetes.operator.TheodoliteOperator
+import rocks.theodolite.kubernetes.standalone.TheodoliteStandalone
+import kotlin.system.exitProcess
+
+private val logger = KotlinLogging.logger {}
+
+@QuarkusMain
+object Main {
+
+    @JvmStatic
+    fun main(args: Array<String>) {
+
+        val mode = Configuration.EXECUTION_MODE
+        logger.info { "Start Theodolite with mode $mode" }
+
+        val namespace = Configuration.NAMESPACE
+        val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(namespace)
+
+        when (mode.lowercase()) {
+            ExecutionModes.STANDALONE.value -> TheodoliteStandalone(client).start()
+            ExecutionModes.OPERATOR.value -> TheodoliteOperator(client).start()
+            else -> {
+                logger.error { "MODE $mode not found" }
+                exitProcess(1)
+            }
+        }
+    }
+}
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/ResourceByLabelHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
similarity index 92%
rename from theodolite/src/main/kotlin/theodolite/k8s/ResourceByLabelHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
index 28a72c8947bffe7b57203cacf2460d7080fa7b51..c65235f5fef304a7644399573380b4147704cb6c 100644
--- a/theodolite/src/main/kotlin/theodolite/k8s/ResourceByLabelHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
@@ -1,4 +1,4 @@
-package theodolite.k8s
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
@@ -96,10 +96,9 @@ class ResourceByLabelHandler(private val client: NamespacedKubernetesClient) {
     /**
      * Block until all pods with are deleted
      *
-     * @param [labelName] the label name
-     * @param [labelValue] the value of this label
+     * @param matchLabels Map of label keys to label values to be deleted
      * */
-    fun blockUntilPodsDeleted(matchLabels: MutableMap<String, String>) {
+    fun blockUntilPodsDeleted(matchLabels: Map<String, String>) {
         while (
             !this.client
                 .pods()
@@ -108,7 +107,7 @@ class ResourceByLabelHandler(private val client: NamespacedKubernetesClient) {
                 .items
                 .isNullOrEmpty()
         ) {
-            logger.info { "Wait for pods with label ${matchLabels.toString()} to be deleted." }
+            logger.info { "Wait for pods with label $matchLabels to be deleted." }
             Thread.sleep(1000)
         }
     }
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
similarity index 92%
rename from theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
index 19fc85845ae99c7a5e4f7369db4b6cd383c3131b..9910d0ac89a9b423047f4f20f07a8015cbb24f9a 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSet.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
@@ -1,4 +1,4 @@
-package theodolite.benchmark
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt
new file mode 100644
index 0000000000000000000000000000000000000000..f57835a1e2459b0ce8989a4f1c745cc272e5f1e9
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt
@@ -0,0 +1,39 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.annotation.JsonInclude
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.quarkus.runtime.annotations.RegisterForReflection
+
+/**
+ * Loads [KubernetesResource]s.
+ */
+fun loadKubernetesResources(resourceSet: List<ResourceSets>, client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
+    return resourceSet.flatMap { it.loadResourceSet(client) }
+}
+
+@JsonDeserialize
+@RegisterForReflection
+class ResourceSets : KubernetesResource {
+    @JsonProperty("configMap")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    var configMap: ConfigMapResourceSet? = null
+
+    @JsonProperty("fileSystem")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    var fileSystem: FileSystemResourceSet? = null
+
+
+    fun loadResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, HasMetadata>> {
+        return if (this.configMap != null) {
+            configMap?.getResourceSet(client = client)!!
+        } else if (this.fileSystem != null) {
+            fileSystem?.getResourceSet(client = client)!!
+        } else {
+            throw DeploymentFailedException("Could not load resourceSet.")
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/RolloutManager.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/RolloutManager.kt
new file mode 100644
index 0000000000000000000000000000000000000000..f760bb407ec2a6c4ab2ee08d3521ad72d12dd25d
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/RolloutManager.kt
@@ -0,0 +1,39 @@
+package theodolite.benchmark
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.DaemonSet
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.ReplicaSet
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.api.model.batch.v1.Job
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import rocks.theodolite.kubernetes.K8sManager
+
+private var SLEEP_TIME_MS = 500L
+class RolloutManager(private val blockUntilResourcesReady: Boolean, private val client: NamespacedKubernetesClient) {
+
+    fun rollout(resources: List<HasMetadata>) {
+        resources
+            .forEach { K8sManager(client).deploy(it) }
+
+        if (blockUntilResourcesReady) {
+            resources
+                .forEach {
+                    when (it) {
+                        is Deployment -> waitFor { client.apps().deployments().withName(it.metadata.name).isReady }
+                        is StatefulSet -> waitFor { client.apps().statefulSets().withName(it.metadata.name).isReady }
+                        is DaemonSet -> waitFor { client.apps().daemonSets().withName(it.metadata.name).isReady }
+                        is ReplicaSet -> waitFor { client.apps().replicaSets().withName(it.metadata.name).isReady }
+                        is Job -> waitFor { client.batch().v1().cronjobs().withName(it.metadata.name).isReady }
+                    }
+                }
+        }
+    }
+
+    private fun waitFor(isResourceReady: () -> Boolean) {
+        while (!isResourceReady()) {
+            Thread.sleep(SLEEP_TIME_MS)
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/Shutdown.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
similarity index 53%
rename from theodolite/src/main/kotlin/theodolite/execution/Shutdown.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
index 6dedc94af864269d7d15929c69ec54aa384fc8e3..e970c84d345031b79f8afeedf56591e071bb154f 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/Shutdown.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
@@ -1,10 +1,9 @@
-package theodolite.execution
+package rocks.theodolite.kubernetes
 
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 
 private val logger = KotlinLogging.logger {}
 
@@ -14,29 +13,32 @@ private val logger = KotlinLogging.logger {}
  * @property benchmarkExecution
  * @property benchmark
  */
-class Shutdown(private val benchmarkExecution: BenchmarkExecution, private val benchmark: KubernetesBenchmark) :
-    Thread() {
+class Shutdown(private val benchmarkExecution: BenchmarkExecution,
+               private val benchmark: KubernetesBenchmark,
+               private val client: NamespacedKubernetesClient) {
 
     /**
      * Run
      * Delete all Kubernetes resources which are related to the execution and the benchmark.
      */
-    override fun run() {
+    fun run() {
         // Build Configuration to teardown
+        val benchmarkDeploymentBuilder = KubernetesBenchmarkDeploymentBuilder(benchmark, this.client)
         try {
             logger.info { "Received shutdown signal -> Shutting down" }
             val deployment =
-                benchmark.buildDeployment(
-                    load = LoadDimension(0, emptyList()),
-                    res = Resource(0, emptyList()),
+                    benchmarkDeploymentBuilder.buildDeployment(
+                    load = 0,
+                    loadPatcherDefinitions = emptyList(),
+                    resource = 0,
+                    resourcePatcherDefinitions = emptyList(),
                     configurationOverrides = benchmarkExecution.configOverrides,
                     loadGenerationDelay = 0L,
-                    afterTeardownDelay = 5L
+                    afterTeardownDelay = 5L,
+                    waitForResourcesEnabled = benchmark.waitForResourcesEnabled
                 )
             deployment.teardown()
-            logger.info {
-                "Finished teardown of all benchmark resources."
-            }
+            logger.info { "Finished teardown of all benchmark resources." }
         } catch (e: Exception) {
             logger.warn {
                 "Could not delete all specified resources from Kubernetes. " +
diff --git a/theodolite/src/main/kotlin/theodolite/util/TheodoliteException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
similarity index 72%
rename from theodolite/src/main/kotlin/theodolite/util/TheodoliteException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
index fc7453bae6aaa4c5c526eee72c006562ea887eb5..6a4374c3e3c9435c498c8e15e8c5efaa01fd89cd 100644
--- a/theodolite/src/main/kotlin/theodolite/util/TheodoliteException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
@@ -1,3 +1,3 @@
-package theodolite.util
+package rocks.theodolite.kubernetes
 
 open class TheodoliteException (message: String, e: Exception? = null) : Exception(message,e)
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt
new file mode 100644
index 0000000000000000000000000000000000000000..69615522ba9bbd5ef0944528eacbf1dce318caf9
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt
@@ -0,0 +1,169 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import mu.KotlinLogging
+import rocks.theodolite.core.ExecutionRunner
+import rocks.theodolite.core.ExperimentRunner
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.patcher.PatcherDefinitionFactory
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.strategies.StrategyFactory
+import rocks.theodolite.core.Config
+import rocks.theodolite.core.IOHandler
+import rocks.theodolite.core.Results
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.slo.SloFactory
+import java.io.File
+import java.time.Duration
+
+
+private val logger = KotlinLogging.logger {}
+
+/**
+ * The Theodolite executor runs all the experiments defined with the given execution and benchmark configuration.
+ *
+ * @property benchmarkExecution Configuration of a execution
+ * @property benchmark Configuration of a benchmark
+ * @constructor Create empty Theodolite executor
+ */
+class TheodoliteExecutor(
+        private val benchmarkExecution: BenchmarkExecution,
+        private val benchmark: KubernetesBenchmark,
+        private val client: NamespacedKubernetesClient
+) {
+    /**
+     * An executor object, configured with the specified benchmark, evaluation method, experiment duration
+     * and overrides which are given in the execution.
+     */
+    lateinit var experimentRunner: ExperimentRunner
+
+    /**
+     * Creates all required components to start Theodolite.
+     *
+     * @return a [Config], that contains a list of LoadDimension s,
+     *          a list of Resource s , and the [restrictionSearch].
+     * The [SearchStrategy] is configured and able to find the minimum required resource for the given load.
+     */
+    private fun buildConfig(): Config {
+        val results = Results(Metric.from(benchmarkExecution.execution.metric))
+        val strategyFactory = StrategyFactory()
+
+        val executionDuration = Duration.ofSeconds(benchmarkExecution.execution.duration)
+
+        val resourcePatcherDefinition =
+            PatcherDefinitionFactory().createPatcherDefinition(
+                benchmarkExecution.resources.resourceType,
+                this.benchmark.resourceTypes
+            )
+
+        val loadDimensionPatcherDefinition =
+            PatcherDefinitionFactory().createPatcherDefinition(
+                benchmarkExecution.loads.loadType,
+                this.benchmark.loadTypes
+            )
+
+        val slos = SloFactory().createSlos(this.benchmarkExecution, this.benchmark)
+
+        experimentRunner =
+            ExperimentRunnerImpl(
+                benchmarkDeploymentBuilder = KubernetesBenchmarkDeploymentBuilder(this.benchmark,this.client),
+                results = results,
+                executionDuration = executionDuration,
+                configurationOverrides = benchmarkExecution.configOverrides,
+                slos = slos,
+                repetitions = benchmarkExecution.execution.repetitions,
+                executionId = benchmarkExecution.executionId,
+                loadGenerationDelay = benchmarkExecution.execution.loadGenerationDelay,
+                afterTeardownDelay = benchmarkExecution.execution.afterTeardownDelay,
+                executionName = benchmarkExecution.name,
+                loadPatcherDefinitions = loadDimensionPatcherDefinition,
+                resourcePatcherDefinitions = resourcePatcherDefinition,
+                waitForResourcesEnabled = this.benchmark.waitForResourcesEnabled
+            )
+
+        if (benchmarkExecution.loads.loadValues != benchmarkExecution.loads.loadValues.sorted()) {
+            benchmarkExecution.loads.loadValues = benchmarkExecution.loads.loadValues.sorted()
+            logger.info {
+                "Load values are not sorted correctly, Theodolite sorts them in ascending order." +
+                        "New order is: ${benchmarkExecution.loads.loadValues}"
+            }
+        }
+
+        if (benchmarkExecution.resources.resourceValues != benchmarkExecution.resources.resourceValues.sorted()) {
+            benchmarkExecution.resources.resourceValues = benchmarkExecution.resources.resourceValues.sorted()
+            logger.info {
+                "Load values are not sorted correctly, Theodolite sorts them in ascending order." +
+                        "New order is: ${benchmarkExecution.resources.resourceValues}"
+            }
+        }
+
+        return Config(
+            loads = benchmarkExecution.loads.loadValues,
+            resources = benchmarkExecution.resources.resourceValues,
+            searchStrategy = strategyFactory.createSearchStrategy(experimentRunner, benchmarkExecution.execution.strategy.name,
+                    benchmarkExecution.execution.strategy.searchStrategy, benchmarkExecution.execution.strategy.restrictions,
+                    benchmarkExecution.execution.strategy.guessStrategy, results),
+            metric = Metric.from(benchmarkExecution.execution.metric)
+        )
+    }
+
+    /**
+     * Sets up the Infrastructure, increments the executionId, calls the [ExecutionRunner] that runs
+     * all experiments which are specified in the corresponding execution and benchmark objects.
+     */
+    fun setupAndRunExecution() {
+        setupInfrastructure()
+
+        val ioHandler = IOHandler()
+        val resultsFolder = ioHandler.getResultFolderURL()
+        this.benchmarkExecution.executionId = getAndIncrementExecutionID(resultsFolder + "expID.txt")
+        ioHandler.writeToJSONFile(this.benchmarkExecution, "${resultsFolder}exp${this.benchmarkExecution.executionId}-execution-configuration")
+        ioHandler.writeToJSONFile(
+                benchmark,
+            "${resultsFolder}exp${this.benchmarkExecution.executionId}-benchmark-configuration"
+        )
+
+        val config = buildConfig()
+
+        val executionRunner = ExecutionRunner(config.searchStrategy, config.resources, config.loads,config.metric,
+                                              this.benchmarkExecution.executionId)
+
+        executionRunner.run()
+
+        teardownInfrastructure()
+    }
+
+    private fun setupInfrastructure() {
+        benchmark.infrastructure.beforeActions.forEach { it.exec(client = client) }
+        val kubernetesManager = K8sManager(this.client)
+        loadKubernetesResources(benchmark.infrastructure.resources, this.client)
+                .map { it.second }
+                .forEach { kubernetesManager.deploy(it) }
+    }
+
+    private fun teardownInfrastructure() {
+        val kubernetesManager = K8sManager(this.client)
+        loadKubernetesResources(benchmark.infrastructure.resources, this.client)
+                .map { it.second }
+                .forEach { kubernetesManager.remove(it) }
+        benchmark.infrastructure.afterActions.forEach { it.exec(client = client) }
+    }
+
+    private fun getAndIncrementExecutionID(fileURL: String): Int {
+        val ioHandler = IOHandler()
+        var executionID = 0
+        if (File(fileURL).exists()) {
+            executionID = ioHandler.readFileAsString(fileURL).toInt() + 1
+        }
+        ioHandler.writeStringToTextFile(fileURL, (executionID).toString())
+        return executionID
+    }
+
+    private fun calculateMetric(xValues: List<Int>, results: Results): List<List<String>> {
+        return xValues.map { listOf(it.toString(), results.getOptYDimensionValue(it).toString()) }
+    }
+
+    fun getExecution(): BenchmarkExecution {
+        return this.benchmarkExecution
+    }
+}
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/TopicManager.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/kafka/TopicManager.kt
similarity index 98%
rename from theodolite/src/main/kotlin/theodolite/k8s/TopicManager.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/kafka/TopicManager.kt
index f2afd71f6e4b4cf8e7106a8fc8a9bd113d9f36e6..e9a0cb4b3c0863baf54a8dda58b96c81a80af60d 100644
--- a/theodolite/src/main/kotlin/theodolite/k8s/TopicManager.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/kafka/TopicManager.kt
@@ -1,4 +1,4 @@
-package theodolite.k8s
+package rocks.theodolite.kubernetes.kafka
 
 import mu.KotlinLogging
 import org.apache.kafka.clients.admin.AdminClient
@@ -99,7 +99,7 @@ class TopicManager(private val kafkaConfig: Map<String, Any>) {
 
             val toDelete = topics.filter { kafkaAdmin.listTopics().names().get().contains(it) }
 
-            if (toDelete.isNullOrEmpty()) {
+            if (toDelete.isEmpty()) {
                 deleted = true
             } else {
                 logger.info { "Deletion of Kafka topics failed, will retry in ${RETRY_TIME / 1000} seconds." }
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkExecution.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/BenchmarkExecution.kt
similarity index 58%
rename from theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkExecution.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/BenchmarkExecution.kt
index f2dda487d390c5f771e4f47c0f9c7ebf2cf971e7..167423ec911cd740b0ee0246e8512dde8402f1e9 100644
--- a/theodolite/src/main/kotlin/theodolite/benchmark/BenchmarkExecution.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/BenchmarkExecution.kt
@@ -1,9 +1,9 @@
-package theodolite.benchmark
+package rocks.theodolite.kubernetes.model
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.util.ConfigurationOverride
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
 import kotlin.properties.Delegates
 
 /**
@@ -12,9 +12,9 @@ import kotlin.properties.Delegates
  * A BenchmarkExecution consists of:
  *  - A [name].
  *  - The [benchmark] that should be executed.
- *  - The [load] that should be checked in the benchmark.
+ *  - The [loads]s that should be checked in the benchmark.
  *  - The [resources] that should be checked in the benchmark.
- *  - A list of [slos] that are used for the evaluation of the experiments.
+ *  - The [slos] further restrict the Benchmark SLOs for the evaluation of the experiments.
  *  - An [execution] that encapsulates: the strategy, the duration, and the restrictions
  *  for the execution of the benchmark.
  *  - [configOverrides] additional configurations.
@@ -28,48 +28,55 @@ class BenchmarkExecution : KubernetesResource {
     var executionId: Int = 0
     lateinit var name: String
     lateinit var benchmark: String
-    lateinit var load: LoadDefinition
+    lateinit var loads: LoadDefinition
     lateinit var resources: ResourceDefinition
-    lateinit var slos: List<Slo>
+    lateinit var slos: List<SloConfiguration>
     lateinit var execution: Execution
     lateinit var configOverrides: MutableList<ConfigurationOverride?>
 
     /**
-     * This execution encapsulates the [strategy], the [duration], the [repetitions], and the [restrictions]
+     * This execution encapsulates the [strategy], the [duration], and the [repetitions],
      *  which are used for the concrete benchmark experiments.
      */
     @JsonDeserialize
     @RegisterForReflection
     class Execution : KubernetesResource {
-        lateinit var strategy: String
+        var metric = "demand"
+        lateinit var strategy: Strategy
         var duration by Delegates.notNull<Long>()
         var repetitions by Delegates.notNull<Int>()
-        lateinit var restrictions: List<String>
         var loadGenerationDelay = 0L
         var afterTeardownDelay = 5L
     }
 
     /**
-     * Measurable metric.
-     * [sloType] determines the type of the metric.
-     * It is evaluated using the [theodolite.evaluation.ExternalSloChecker] by data measured by Prometheus.
-     * The evaluation checks if a [threshold] is reached or not.
-     * [offset] determines the shift in hours by which the start and end timestamps should be shifted.
-     * The [warmup] determines after which time the metric should be evaluated to avoid starting interferences.
-     * The [warmup] time unit depends on the Slo: for the lag trend it is in seconds.
+     * This Strategy encapsulates the [restrictions], [guessStrategy] and [searchStrategy],
+     * which are used for restricting the resources, the guess Strategy for the
+     * [theodolite.strategies.searchstrategy.InitialGuessSearchStrategy] and the name of the actual
+     * [theodolite.strategies.searchstrategy.SearchStrategy] which is used.
      */
     @JsonDeserialize
     @RegisterForReflection
-    class Slo : KubernetesResource {
-        lateinit var sloType: String
-        lateinit var prometheusUrl: String
-        var offset by Delegates.notNull<Int>()
-        lateinit var properties: MutableMap<String, String>
+    class Strategy : KubernetesResource {
+        lateinit var name: String
+        var restrictions = emptyList<String>()
+        var guessStrategy = ""
+        var searchStrategy = ""
     }
 
     /**
-     * Represents a Load that should be created and checked.
-     * It can be set to [loadValues].
+     * Further SLO configurations for the SLOs specified in the Benchmark.
+     */
+    @JsonDeserialize
+    @RegisterForReflection
+    class SloConfiguration : KubernetesResource {
+        lateinit var name: String
+        var properties: MutableMap<String, String>? = null
+    }
+
+    /**
+     * Represents the Loads that should be created and checked if the demand metric is in use or
+     * represents a Load that can be scaled to [loadValues] if the capacity metric is in use.
      */
     @JsonDeserialize
     @RegisterForReflection
@@ -79,7 +86,8 @@ class BenchmarkExecution : KubernetesResource {
     }
 
     /**
-     * Represents a resource that can be scaled to [resourceValues].
+     * Represents a resource that can be scaled to [resourceValues] if the demand metric is in use or
+     * represents the Resources that should be created and checked if the capacity metric is in use.
      */
     @JsonDeserialize
     @RegisterForReflection
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt
new file mode 100644
index 0000000000000000000000000000000000000000..9c1412af7e6a86fbb248e8be7d1a97259a59c8d0
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt
@@ -0,0 +1,77 @@
+package rocks.theodolite.kubernetes.model
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.kubernetes.Action
+import rocks.theodolite.kubernetes.ResourceSets
+import rocks.theodolite.kubernetes.model.crd.KafkaConfig
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
+import kotlin.properties.Delegates
+
+/**
+ * Represents a benchmark in Kubernetes. An example for this is the BenchmarkType.yaml
+ * Contains a of:
+ * - [name] of the benchmark,
+ * - [appResource] list of the resources that have to be deployed for the benchmark,
+ * - [loadGenResource] resource that generates the load,
+ * - [resourceTypes] types of scaling resources,
+ * - [loadTypes] types of loads that can be scaled for the benchmark,
+ * - [kafkaConfig] for the [theodolite.k8s.TopicManager],
+ * - [namespace] for the client,
+ * - [path] under which the resource yamls can be found.
+ *
+ *  This class is used for the parsing(in the [theodolite.execution.TheodoliteStandalone]) and
+ *  for the deserializing in the [theodolite.execution.operator.TheodoliteOperator].
+ * @constructor construct an empty Benchmark.
+ */
+@JsonDeserialize
+@RegisterForReflection
+class KubernetesBenchmark : KubernetesResource {
+    lateinit var name: String
+    var waitForResourcesEnabled = false
+    lateinit var resourceTypes: List<TypeName>
+    lateinit var loadTypes: List<TypeName>
+    lateinit var slos: MutableList<Slo>
+    var kafkaConfig: KafkaConfig? = null
+    lateinit var infrastructure: Resources
+    lateinit var sut: Resources
+    lateinit var loadGenerator: Resources
+
+    /**
+     * The TypeName encapsulates a list of [PatcherDefinition] along with a typeName that specifies for what the [PatcherDefinition] should be used.
+     */
+    @RegisterForReflection
+    @JsonDeserialize
+    class TypeName {
+        lateinit var typeName: String
+        lateinit var patchers: List<PatcherDefinition>
+    }
+
+    /**
+     * Measurable metric.
+     * [sloType] determines the type of the metric.
+     * It is evaluated using the [theodolite.evaluation.ExternalSloChecker] by data measured by Prometheus.
+     * The evaluation checks if a [threshold] is reached or not.
+     * [offset] determines the shift in hours by which the start and end timestamps should be shifted.
+     * The [warmup] determines after which time the metric should be evaluated to avoid starting interferences.
+     * The [warmup] time unit depends on the Slo: for the lag trend it is in seconds.
+     */
+    @JsonDeserialize
+    @RegisterForReflection
+    class Slo : KubernetesResource {
+        lateinit var name: String
+        lateinit var sloType: String
+        lateinit var prometheusUrl: String
+        var offset by Delegates.notNull<Int>()
+        lateinit var properties: MutableMap<String, String>
+    }
+
+    @JsonDeserialize
+    @RegisterForReflection
+    class Resources {
+        lateinit var resources: List<ResourceSets>
+        lateinit var beforeActions: List<Action>
+        lateinit var afterActions: List<Action>
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRD.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRD.kt
new file mode 100644
index 0000000000000000000000000000000000000000..66c5404591c8f7b2ab0ee011e4f7cb1768ae09de
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRD.kt
@@ -0,0 +1,25 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.Namespaced
+import io.fabric8.kubernetes.client.CustomResource
+import io.fabric8.kubernetes.model.annotation.Group
+import io.fabric8.kubernetes.model.annotation.Kind
+import io.fabric8.kubernetes.model.annotation.Version
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+
+@JsonDeserialize
+@Version("v1beta1")
+@Group("theodolite.rocks")
+@Kind("benchmark")
+class BenchmarkCRD : CustomResource<KubernetesBenchmark, BenchmarkStatus>(), Namespaced {
+
+    override fun initSpec(): KubernetesBenchmark {
+        return KubernetesBenchmark()
+    }
+
+    override fun initStatus(): BenchmarkStatus {
+        return BenchmarkStatus()
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkExecutionList.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkExecutionList.kt
similarity index 72%
rename from theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkExecutionList.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkExecutionList.kt
index 2b2dcc07f9c37f1712109e3d092f2db0c139e1c8..768cd7c4f7edf2f254905539214177638ad5283c 100644
--- a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkExecutionList.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkExecutionList.kt
@@ -1,4 +1,4 @@
-package theodolite.model.crd
+package rocks.theodolite.kubernetes.model.crd
 
 import io.fabric8.kubernetes.client.CustomResourceList
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkState.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkState.kt
new file mode 100644
index 0000000000000000000000000000000000000000..928a411725f5eaf71839f4b7109b69ff40eb8807
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkState.kt
@@ -0,0 +1,8 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import com.fasterxml.jackson.annotation.JsonValue
+
+enum class BenchmarkState(@JsonValue val value: String) {
+    PENDING("Pending"),
+    READY("Ready")
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStatus.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkStatus.kt
similarity index 68%
rename from theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStatus.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkStatus.kt
index f51cb7a76d015d6ecd900279e68d41baa26e876a..691e5e1a83da5ccb3897f0b6342ee78ce437ba6b 100644
--- a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStatus.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkStatus.kt
@@ -1,4 +1,4 @@
-package theodolite.model.crd
+package rocks.theodolite.kubernetes.model.crd
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
@@ -6,6 +6,6 @@ import io.fabric8.kubernetes.api.model.Namespaced
 
 @JsonDeserialize
 class BenchmarkStatus: KubernetesResource, Namespaced {
-    var resourceSetsState = "-"
+    var resourceSetsState: BenchmarkState = BenchmarkState.PENDING
 
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRD.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRD.kt
new file mode 100644
index 0000000000000000000000000000000000000000..dc3da88ce461cb36074180b209a2240b4e4a8275
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRD.kt
@@ -0,0 +1,25 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import io.fabric8.kubernetes.api.model.Namespaced
+import io.fabric8.kubernetes.client.CustomResource
+import io.fabric8.kubernetes.model.annotation.Group
+import io.fabric8.kubernetes.model.annotation.Kind
+import io.fabric8.kubernetes.model.annotation.Version
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+
+@JsonDeserialize
+@Version("v1beta1")
+@Group("theodolite.rocks")
+@Kind("execution")
+class ExecutionCRD: CustomResource<BenchmarkExecution, ExecutionStatus>(), Namespaced {
+
+    override fun initSpec(): BenchmarkExecution {
+        return BenchmarkExecution()
+    }
+
+    override fun initStatus(): ExecutionStatus {
+         return ExecutionStatus()
+    }
+
+}
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStates.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionState.kt
similarity index 53%
rename from theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStates.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionState.kt
index ad68bf380b18af1a654c201817bb7fc982804c8b..d74d70eb8e91246946923532967534aa46b958f7 100644
--- a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStates.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionState.kt
@@ -1,7 +1,8 @@
-package theodolite.model.crd
+package rocks.theodolite.kubernetes.model.crd
 
-enum class ExecutionStates(val value: String) {
-    // Execution states
+import com.fasterxml.jackson.annotation.JsonValue
+
+enum class ExecutionState(@JsonValue val value: String) {
     RUNNING("Running"),
     PENDING("Pending"),
     FAILURE("Failure"),
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparator.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparator.kt
new file mode 100644
index 0000000000000000000000000000000000000000..9e859c3e943df4c72a2265941f14ea218b35ab12
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparator.kt
@@ -0,0 +1,18 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
+
+class ExecutionStateComparator(private val preferredState: ExecutionState): Comparator<ExecutionCRD> {
+
+    /**
+     * Simple comparator which can be used to order a list of [ExecutionCRD]s such that executions with
+     * status [ExecutionState.RESTART] are before all other executions.
+     */
+    override fun compare(p0: ExecutionCRD, p1: ExecutionCRD): Int {
+       return when {
+            (p0.status.executionState == preferredState) -> -1
+            else -> 1
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatus.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatus.kt
new file mode 100644
index 0000000000000000000000000000000000000000..6bec7197ddde61185ca37b3e0e96f471a910a0aa
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatus.kt
@@ -0,0 +1,58 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties
+import com.fasterxml.jackson.core.JsonGenerator
+import com.fasterxml.jackson.databind.JsonSerializer
+import com.fasterxml.jackson.databind.SerializerProvider
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize
+import com.fasterxml.jackson.databind.annotation.JsonSerialize
+import io.fabric8.kubernetes.api.model.Duration
+import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.api.model.MicroTime
+import io.fabric8.kubernetes.api.model.Namespaced
+import java.time.Clock
+import java.time.Instant
+import java.time.Duration as JavaDuration
+
+
+@JsonDeserialize
+@JsonIgnoreProperties(ignoreUnknown = true)
+class ExecutionStatus(
+    private val clock: Clock = Clock.systemUTC()
+) : KubernetesResource, Namespaced {
+
+    var executionState: ExecutionState = ExecutionState.NO_STATE
+
+    var startTime: MicroTime? = null
+
+    var completionTime: MicroTime? = null
+
+    @get:JsonSerialize(using = DurationSerializer::class)
+    val executionDuration: Duration?
+        get() {
+            val startTime = this.startTime?.toInstant()
+            val completionTime = this.completionTime?.toInstant() ?: clock.instant()!!
+            return startTime?.let {Duration(JavaDuration.between(it, completionTime)) }
+        }
+
+    private fun MicroTime.toInstant(): Instant {
+        return Instant.parse(this.time)
+    }
+
+    class DurationSerializer : JsonSerializer<Duration?>() {
+
+        override fun serialize(duration: Duration?, generator: JsonGenerator, serProvider: SerializerProvider) {
+            generator.writeObject(duration?.duration?.toK8sString())
+        }
+
+        private fun JavaDuration.toK8sString(): String {
+            return when {
+                this <= JavaDuration.ofSeconds(2)  -> "${this.toSeconds()}s"
+                this < JavaDuration.ofMinutes(99) -> "${this.toMinutes()}m"
+                this < JavaDuration.ofHours(99) -> "${this.toHours()}h"
+                else -> "${this.toDays()}d + ${this.minusDays(this.toDays()).toHours()}h"
+            }
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/util/KafkaConfig.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KafkaConfig.kt
similarity index 92%
rename from theodolite/src/main/kotlin/theodolite/util/KafkaConfig.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KafkaConfig.kt
index 4e72ccb0d86749a6538c26556241ac114ef8d9a4..adde94c5126e370816966e6991670b6d400ba79a 100644
--- a/theodolite/src/main/kotlin/theodolite/util/KafkaConfig.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KafkaConfig.kt
@@ -1,8 +1,8 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.model.crd
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.util.KafkaConfig.TopicWrapper
+import rocks.theodolite.kubernetes.model.crd.KafkaConfig.TopicWrapper
 import kotlin.properties.Delegates
 import kotlin.reflect.KProperty
 
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/KubernetesBenchmarkList.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KubernetesBenchmarkList.kt
similarity index 72%
rename from theodolite/src/main/kotlin/theodolite/model/crd/KubernetesBenchmarkList.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KubernetesBenchmarkList.kt
index 8ad0a493d948bf5f78741052100766dcf6e316ec..be34662bd63b39808099a968ec4b89b5499ef34b 100644
--- a/theodolite/src/main/kotlin/theodolite/model/crd/KubernetesBenchmarkList.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/crd/KubernetesBenchmarkList.kt
@@ -1,4 +1,4 @@
-package theodolite.model.crd
+package rocks.theodolite.kubernetes.model.crd
 
 import io.fabric8.kubernetes.client.CustomResourceList
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/AbstractStateHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/AbstractStateHandler.kt
new file mode 100644
index 0000000000000000000000000000000000000000..96593914cf07c427c924a1631a00f76dc3649ed3
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/AbstractStateHandler.kt
@@ -0,0 +1,65 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.KubernetesResourceList
+import io.fabric8.kubernetes.client.KubernetesClientException
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.fabric8.kubernetes.client.dsl.MixedOperation
+import io.fabric8.kubernetes.client.dsl.Resource
+import mu.KotlinLogging
+import java.lang.Thread.sleep
+private val logger = KotlinLogging.logger {}
+
+private const val MAX_RETRIES: Int = 5
+
+abstract class AbstractStateHandler<S : HasMetadata>(
+    private val client: NamespacedKubernetesClient,
+    private val crd: Class<S>
+) {
+
+    private val crdClient: MixedOperation<S, KubernetesResourceList<S>, Resource<S>> = this.client.resources(this.crd)
+
+    @Synchronized
+    fun setState(resourceName: String, setter: (S) -> S?) {
+        try {
+            val resource = this.crdClient.withName(resourceName).get()
+            if (resource != null) {
+                val resourcePatched = setter(resource)
+                // TODO replace with this.crdClient.replaceStatus(resourcePatched) with upcoming fabric8 release (> 5.12.1)
+                // find out the difference between patchStatus and replaceStatus
+                // see also https://github.com/fabric8io/kubernetes-client/pull/3798
+                if (resourcePatched != null) {
+                    this.crdClient.withName(resourcePatched.metadata.name).patchStatus(resourcePatched)
+                }
+            }
+        } catch (e: KubernetesClientException) {
+            logger.warn(e) { "Status cannot be set for resource $resourceName." }
+        }
+    }
+
+    @Synchronized
+    fun getState(resourceName: String, f: (S) -> String?): String? {
+        return this.crdClient
+            .list().items
+            .filter { it.metadata.name == resourceName }
+            .map { customResource -> f(customResource) }
+            .firstOrNull()
+    }
+
+    @Synchronized
+    fun blockUntilStateIsSet(
+        resourceName: String,
+        desiredStatusString: String,
+        f: (S) -> String?,
+        maxRetries: Int = MAX_RETRIES
+    ): Boolean {
+        for (i in 0.rangeTo(maxRetries)) {
+            val currentStatus = getState(resourceName, f)
+            if (currentStatus == desiredStatusString) {
+                return true
+            }
+            sleep(50)
+        }
+        return false
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c2c7db6cd6c5d6a02132353228714c3a3b19ec80
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt
@@ -0,0 +1,206 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import io.fabric8.kubernetes.client.dsl.MixedOperation
+import io.fabric8.kubernetes.client.dsl.Resource
+import rocks.theodolite.kubernetes.ExecActionSelector
+import rocks.theodolite.kubernetes.Action
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.ResourceSets
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.BenchmarkState
+import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
+import rocks.theodolite.kubernetes.loadKubernetesResources
+
+
+class BenchmarkStateChecker(
+        private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
+        private val benchmarkStateHandler: BenchmarkStateHandler,
+        private val client: NamespacedKubernetesClient,
+
+) {
+
+    fun start(running: Boolean) {
+        Thread {
+            while (running) {
+                updateBenchmarkStatus()
+                Thread.sleep(1000)
+            }
+        }.start()
+    }
+
+    /**
+     * Checks and updates the states off all deployed benchmarks.
+     *
+     */
+    fun updateBenchmarkStatus() {
+        this.benchmarkCRDClient
+            .list()
+            .items
+            .map { it.spec.name = it.metadata.name; it }
+            .map { Pair(it, checkState(it.spec)) }
+            .forEach { setState(it.first, it.second) }
+    }
+
+    private fun setState(resource: BenchmarkCRD, state: BenchmarkState) {
+        benchmarkStateHandler.setResourceSetState(resource.spec.name, state)
+    }
+
+    /**
+     * Checks the state of the benchmark.
+     *
+     * @param benchmark The benchmark to check
+     * @return [BenchmarkStates.READY] iff all resource could be loaded and all actions could be executed, [BenchmarkStates.PENDING] else
+     */
+    private fun checkState(benchmark: KubernetesBenchmark): BenchmarkState {
+        return if (checkActionCommands(benchmark) == BenchmarkState.READY
+            && checkResources(benchmark) == BenchmarkState.READY
+        ) {
+            BenchmarkState.READY
+        } else {
+            BenchmarkState.PENDING
+        }
+    }
+
+    /**
+     * Checks if all specified actions of the given benchmark could be executed or not
+     *
+     * @param benchmark The benchmark to check
+     * @return The state of this benchmark. [BenchmarkStates.READY] if all actions could be executed, else [BenchmarkStates.PENDING]
+     */
+    private fun checkActionCommands(benchmark: KubernetesBenchmark): BenchmarkState {
+        return if (checkIfActionPossible(benchmark.infrastructure.resources, benchmark.sut.beforeActions)
+            && checkIfActionPossible(benchmark.infrastructure.resources, benchmark.sut.afterActions)
+            && checkIfActionPossible(benchmark.infrastructure.resources, benchmark.loadGenerator.beforeActions)
+            && checkIfActionPossible(benchmark.infrastructure.resources, benchmark.loadGenerator.beforeActions)
+        ) {
+            BenchmarkState.READY
+        } else {
+            BenchmarkState.PENDING
+        }
+    }
+
+    /**
+     * Action commands are called on a pod. To verify that an action command can be executed,
+     * it checks that the specified pods are either currently running in the cluster or
+     * have been specified as infrastructure in the benchmark.
+     *
+     * @param benchmark the benchmark to check
+     * @param actions the actions
+     * @return true if all actions could be executed, else false
+     */
+    private fun checkIfActionPossible(resourcesSets: List<ResourceSets>, actions: List<Action>): Boolean {
+        return !actions.map {
+            it.deleteCommand != null || checkIfResourceIsDeployed(it.execCommand!!.selector) || checkIfResourceIsInfrastructure(resourcesSets, it.execCommand!!.selector)
+        }.contains(false)
+    }
+
+    /**
+     * Checks for the given actionSelector whether the required resources are already deployed in the cluster or not
+     *
+     * @param selector the actionSelector to check
+     * @return true if the required resources are found, else false
+     */
+    fun checkIfResourceIsDeployed(selector: ExecActionSelector): Boolean {
+        val pods = this.client
+            .pods()
+            .withLabels(selector.pod.matchLabels)
+            .list()
+            .items
+
+        return if (pods.isNotEmpty() && selector.container.isNotEmpty()) {
+            pods.map { pod ->
+                pod
+                    .spec
+                    .containers
+                    .map { it.name }
+                    .contains(selector.container)
+            }.contains(true)
+        } else {
+            pods.isNotEmpty()
+        }
+    }
+
+    /**
+     * Checks for the given actionSelector whether the required resources are specified as infrastructure or not
+     *
+     * @param benchmark the benchmark to check
+     * @param selector the actionSelector to check
+     * @return true if the required resources are found, else false
+     */
+    fun checkIfResourceIsInfrastructure(resourcesSets: List<ResourceSets>, selector: ExecActionSelector): Boolean {
+        val resources = loadKubernetesResources(resourcesSets, this.client)
+
+        if (resources.isEmpty()) {
+            return false
+        }
+
+        var podExist = resources.map { it.second }
+            .filterIsInstance<Deployment>()
+            .filter { it.metadata.labels.containsMatchLabels(selector.pod.matchLabels) }
+            .any {
+                if (selector.container.isNotEmpty()) {
+                    it.spec.template.spec.containers.map { it.name }.contains(selector.container)
+                } else {
+                    true
+                }
+            }
+
+        if (podExist) {
+            return true
+        }
+
+        podExist = resources.map { it.second }
+            .filterIsInstance<StatefulSet>()
+            .filter { it.metadata.labels.containsMatchLabels(selector.pod.matchLabels) }
+            .any {
+                if (selector.container.isNotEmpty()) {
+                    it.spec.template.spec.containers.map { it.name }.contains(selector.container)
+                } else {
+                    true
+                }
+            }
+
+        if (podExist) {
+            return true
+        }
+
+        return false
+    }
+
+    /**
+     * Checks if it is possible to load all specified Kubernetes manifests.
+     *
+     * @param benchmark The benchmark to check
+     * @return The state of this benchmark. [BenchmarkState.READY] if all resources could be loaded, else [BenchmarkState.PENDING]
+     */
+    fun checkResources(benchmark: KubernetesBenchmark): BenchmarkState {
+        return try {
+            val appResources =
+                    loadKubernetesResources(resourceSet = benchmark.sut.resources, this.client)
+            val loadGenResources =
+                    loadKubernetesResources(resourceSet = benchmark.loadGenerator.resources, this.client)
+            if (appResources.isNotEmpty() && loadGenResources.isNotEmpty()) {
+                BenchmarkState.READY
+            } else {
+                BenchmarkState.PENDING
+            }
+        } catch (e: Exception) {
+            BenchmarkState.PENDING
+        }
+    }
+
+
+}
+
+private fun <K, V> Map<K, V>.containsMatchLabels(matchLabels: Map<V, V>): Boolean {
+    for (kv in matchLabels) {
+        if (kv.value != this[kv.key as K]) {
+            return false
+        }
+    }
+    return true
+}
+
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/BenchmarkStateHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateHandler.kt
similarity index 58%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/BenchmarkStateHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateHandler.kt
index adca2a8b7fdb9b3e610f15e57c011679869df14c..9a272b43f911bf523adf7c64c5ab34793b7a7dc5 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/BenchmarkStateHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateHandler.kt
@@ -1,28 +1,29 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import theodolite.model.crd.*
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.BenchmarkState
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
 
 class BenchmarkStateHandler(val client: NamespacedKubernetesClient) :
-    AbstractStateHandler<BenchmarkCRD, KubernetesBenchmarkList, ExecutionStatus>(
+    AbstractStateHandler<BenchmarkCRD>(
         client = client,
-        crd = BenchmarkCRD::class.java,
-        crdList = KubernetesBenchmarkList::class.java
+        crd = BenchmarkCRD::class.java
     ) {
 
-    private fun getBenchmarkResourceState() = { cr: BenchmarkCRD -> cr.status.resourceSetsState }
+    private fun getBenchmarkResourceState() = { cr: BenchmarkCRD -> cr.status.resourceSetsState.value }
 
-    fun setResourceSetState(resourceName: String, status: BenchmarkStates): Boolean {
-        setState(resourceName) { cr -> cr.status.resourceSetsState = status.value; cr }
+    fun setResourceSetState(resourceName: String, status: BenchmarkState): Boolean {
+        setState(resourceName) { cr -> cr.status.resourceSetsState = status; cr }
         return blockUntilStateIsSet(resourceName, status.value, getBenchmarkResourceState())
     }
 
-    fun getResourceSetState(resourceName: String): ExecutionStates {
+    fun getResourceSetState(resourceName: String): ExecutionState {
         val status = this.getState(resourceName, getBenchmarkResourceState())
         return if (status.isNullOrBlank()) {
-            ExecutionStates.NO_STATE
+            ExecutionState.NO_STATE
         } else {
-            ExecutionStates.values().first { it.value == status }
+            ExecutionState.values().first { it.value == status }
         }
     }
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/ClusterSetup.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
similarity index 66%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/ClusterSetup.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
index efca98f8bf72024daa0367c6c57574f0644872e4..a84bacb8296d62b8d6863046561dc797443e6084 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/ClusterSetup.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
@@ -1,20 +1,21 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
+import io.fabric8.kubernetes.client.KubernetesClientException
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.MixedOperation
 import io.fabric8.kubernetes.client.dsl.Resource
 import mu.KotlinLogging
-import theodolite.execution.Shutdown
-import theodolite.k8s.K8sContextFactory
-import theodolite.k8s.ResourceByLabelHandler
-import theodolite.model.crd.*
+import rocks.theodolite.kubernetes.K8sContextFactory
+import rocks.theodolite.kubernetes.ResourceByLabelHandler
+import rocks.theodolite.kubernetes.model.crd.*
+import rocks.theodolite.kubernetes.Shutdown
 
 private val logger = KotlinLogging.logger {}
 
 class ClusterSetup(
-    private val executionCRDClient: MixedOperation<ExecutionCRD, BenchmarkExecutionList, Resource<ExecutionCRD>>,
-    private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
-    private val client: NamespacedKubernetesClient
+        private val executionCRDClient: MixedOperation<ExecutionCRD, BenchmarkExecutionList, Resource<ExecutionCRD>>,
+        private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
+        private val client: NamespacedKubernetesClient
 
 ) {
     private val serviceMonitorContext = K8sContextFactory().create(
@@ -41,7 +42,7 @@ class ClusterSetup(
             .list()
             .items
             .asSequence()
-            .filter { it.status.executionState == ExecutionStates.RUNNING.value }
+            .filter { it.status.executionState == ExecutionState.RUNNING }
             .forEach { execution ->
                 val benchmark = benchmarkCRDClient
                     .inNamespace(client.namespace)
@@ -52,9 +53,9 @@ class ClusterSetup(
                 if (benchmark != null) {
                     execution.spec.name = execution.metadata.name
                     benchmark.spec.name = benchmark.metadata.name
-                    Shutdown(execution.spec, benchmark.spec).start()
+                    Shutdown(execution.spec, benchmark.spec, client).run()
                 } else {
-                    throw IllegalStateException("Execution with state ${ExecutionStates.RUNNING.value} was found, but no corresponding benchmark. " +
+                    throw IllegalStateException("Execution with state ${ExecutionState.RUNNING.value} was found, but no corresponding benchmark. " +
                             "Could not initialize cluster.")
                 }
             }
@@ -78,10 +79,15 @@ class ClusterSetup(
             labelName = "app.kubernetes.io/created-by",
             labelValue = "theodolite"
         )
-        resourceRemover.removeCR(
-            labelName = "app.kubernetes.io/created-by",
-            labelValue = "theodolite",
-            context = serviceMonitorContext
-        )
+        try {
+            resourceRemover.removeCR(
+                labelName = "app.kubernetes.io/created-by",
+                labelValue = "theodolite",
+                context = serviceMonitorContext
+            )
+        } catch (e: KubernetesClientException) {
+            logger.warn { "Service monitors could not be cleaned up. It may be that service monitors are not registered by the Kubernetes API."}
+            logger.debug { "Error is: ${e.message}" }
+        }
     }
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/EventCreator.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
similarity index 83%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/EventCreator.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
index fab098ebd5fe765a455d787ddb7fcbfbb6c9ffc7..6803da62f045efcaf1b5504a33b42b2200d16baa 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/EventCreator.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
@@ -1,4 +1,4 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import io.fabric8.kubernetes.api.model.EventBuilder
 import io.fabric8.kubernetes.api.model.EventSource
@@ -6,14 +6,14 @@ import io.fabric8.kubernetes.api.model.ObjectReference
 import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
-import theodolite.util.Configuration
+import rocks.theodolite.kubernetes.Configuration
 import java.time.Instant
 import java.util.*
 import kotlin.NoSuchElementException
 private val logger = KotlinLogging.logger {}
 
 class EventCreator {
-    val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(Configuration.NAMESPACE)
+    private val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(Configuration.NAMESPACE)
 
     fun createEvent(executionName: String, type: String, message: String, reason: String) {
         val uuid = UUID.randomUUID().toString()
@@ -34,15 +34,15 @@ class EventCreator {
             event.source = source
 
             event.involvedObject = objectRef
-            client.v1().events().inNamespace(Configuration.NAMESPACE).createOrReplace(event)
+            this.client.v1().events().inNamespace(Configuration.NAMESPACE).createOrReplace(event)
         } catch (e: NoSuchElementException) {
                 logger.warn {"Could not create event: type: $type, message: $message, reason: $reason, no corresponding execution found."}
         }
     }
 
     private fun buildObjectReference(executionName: String): ObjectReference {
-        val exec = TheodoliteOperator()
-            .getExecutionClient(client = client)
+        val exec = TheodoliteOperator(this.client)
+            .getExecutionClient()
             .list()
             .items
             .first{it.metadata.name == executionName}
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionEventHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandler.kt
similarity index 63%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionEventHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandler.kt
index 16c4ea98ba614bb3dcdd7d9f486f4e65ae70d380..58120d25d7e26daab015c01fece85cf72344bffa 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionEventHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandler.kt
@@ -1,11 +1,12 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import com.google.gson.Gson
 import com.google.gson.GsonBuilder
 import io.fabric8.kubernetes.client.informers.ResourceEventHandler
 import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.model.crd.*
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
 
 private val logger = KotlinLogging.logger {}
 
@@ -17,25 +18,26 @@ private val logger = KotlinLogging.logger {}
  * @see TheodoliteController
  * @see BenchmarkExecution
  */
-class ExecutionHandler(
-    private val controller: TheodoliteController,
-    private val stateHandler: ExecutionStateHandler
+class ExecutionEventHandler(
+        private val controller: TheodoliteController,
+        private val stateHandler: ExecutionStateHandler
 ) : ResourceEventHandler<ExecutionCRD> {
+
     private val gson: Gson = GsonBuilder().enableComplexMapKeySerialization().create()
 
     /**
-     * Add an execution to the end of the queue of the TheodoliteController.
+     * Adds an execution to the end of the queue of the TheodoliteController.
      *
-     * @param ExecutionCRD the execution to add
+     * @param execution the execution to add
      */
     @Synchronized
     override fun onAdd(execution: ExecutionCRD) {
-        logger.info { "Add execution ${execution.metadata.name}" }
+        logger.info { "Add execution ${execution.metadata.name}." }
         execution.spec.name = execution.metadata.name
         when (this.stateHandler.getExecutionState(execution.metadata.name)) {
-            ExecutionStates.NO_STATE -> this.stateHandler.setExecutionState(execution.spec.name, ExecutionStates.PENDING)
-            ExecutionStates.RUNNING -> {
-                this.stateHandler.setExecutionState(execution.spec.name, ExecutionStates.RESTART)
+            ExecutionState.NO_STATE -> this.stateHandler.setExecutionState(execution.spec.name, ExecutionState.PENDING)
+            ExecutionState.RUNNING -> {
+                this.stateHandler.setExecutionState(execution.spec.name, ExecutionState.RESTART)
                 if (this.controller.isExecutionRunning(execution.spec.name)) {
                     this.controller.stop(restart = true)
                 }
@@ -44,29 +46,29 @@ class ExecutionHandler(
     }
 
     /**
-     * Updates an execution. If this execution is running at the time this function is called, it is stopped and
+     * To be called on update of an execution. If this execution is running at the time this function is called, it is stopped and
      * added to the beginning of the queue of the TheodoliteController.
      * Otherwise, it is just added to the beginning of the queue.
      *
-     * @param oldExecutionCRD the old execution
-     * @param newExecutionCRD the new execution
+     * @param oldExecution the old execution
+     * @param newExecution the new execution
      */
     @Synchronized
     override fun onUpdate(oldExecution: ExecutionCRD, newExecution: ExecutionCRD) {
         newExecution.spec.name = newExecution.metadata.name
         oldExecution.spec.name = oldExecution.metadata.name
         if (gson.toJson(oldExecution.spec) != gson.toJson(newExecution.spec)) {
-            logger.info { "Receive update event for execution ${oldExecution.metadata.name}" }
+            logger.info { "Receive update event for execution ${oldExecution.metadata.name}." }
             when (this.stateHandler.getExecutionState(newExecution.metadata.name)) {
-                ExecutionStates.RUNNING -> {
-                    this.stateHandler.setExecutionState(newExecution.spec.name, ExecutionStates.RESTART)
+                ExecutionState.RUNNING -> {
+                    this.stateHandler.setExecutionState(newExecution.spec.name, ExecutionState.RESTART)
                     if (this.controller.isExecutionRunning(newExecution.spec.name)) {
                         this.controller.stop(restart = true)
                     }
                 }
-                ExecutionStates.RESTART -> {
+                ExecutionState.RESTART -> {
                 } // should this set to pending?
-                else -> this.stateHandler.setExecutionState(newExecution.spec.name, ExecutionStates.PENDING)
+                else -> this.stateHandler.setExecutionState(newExecution.spec.name, ExecutionState.PENDING)
             }
         }
     }
@@ -74,12 +76,12 @@ class ExecutionHandler(
     /**
      * Delete an execution from the queue of the TheodoliteController.
      *
-     * @param ExecutionCRD the execution to delete
+     * @param execution the execution to delete
      */
     @Synchronized
-    override fun onDelete(execution: ExecutionCRD, b: Boolean) {
-        logger.info { "Delete execution ${execution.metadata.name}" }
-        if (execution.status.executionState == ExecutionStates.RUNNING.value
+    override fun onDelete(execution: ExecutionCRD, deletedFinalStateUnknown: Boolean) {
+        logger.info { "Delete execution ${execution.metadata.name}." }
+        if (execution.status.executionState == ExecutionState.RUNNING
             && this.controller.isExecutionRunning(execution.metadata.name)
         ) {
             this.controller.stop()
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionStateHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionStateHandler.kt
new file mode 100644
index 0000000000000000000000000000000000000000..6264b574d2be297865fab3b2a4d020bc57c56678
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ExecutionStateHandler.kt
@@ -0,0 +1,55 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.api.model.MicroTime
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
+import java.lang.Thread.sleep
+import java.time.Instant
+import java.util.concurrent.atomic.AtomicBoolean
+
+class ExecutionStateHandler(val client: NamespacedKubernetesClient) :
+    AbstractStateHandler<ExecutionCRD>(
+        client = client,
+        crd = ExecutionCRD::class.java
+    ) {
+
+    private var runExecutionDurationTimer: AtomicBoolean = AtomicBoolean(false)
+
+    private fun getExecutionLambda() = { cr: ExecutionCRD -> cr.status.executionState.value }
+
+    fun setExecutionState(resourceName: String, status: ExecutionState): Boolean {
+        super.setState(resourceName) { cr -> cr.status.executionState = status; cr }
+        return blockUntilStateIsSet(resourceName, status.value, getExecutionLambda())
+    }
+
+    fun getExecutionState(resourceName: String): ExecutionState {
+        val statusString = this.getState(resourceName, getExecutionLambda())
+        return ExecutionState.values().first { it.value == statusString }
+    }
+
+    private fun updateDurationState(resourceName: String) {
+        super.setState(resourceName) { cr -> cr }
+    }
+
+    fun startDurationStateTimer(resourceName: String) {
+        this.runExecutionDurationTimer.set(true)
+
+        super.setState(resourceName) { cr -> cr.status.completionTime = null; cr }
+        super.setState(resourceName) { cr -> cr.status.startTime = MicroTime(Instant.now().toString()); cr }
+
+        Thread {
+            while (this.runExecutionDurationTimer.get()) {
+                updateDurationState(resourceName)
+                sleep(100 * 1)
+            }
+        }.start()
+    }
+
+    @Synchronized
+    fun stopDurationStateTimer(resourceName: String) {
+        super.setState(resourceName) { cr -> cr.status.completionTime = MicroTime(Instant.now().toString()); cr }
+        this.runExecutionDurationTimer.set(false)
+        sleep(100 * 2)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/LeaderElector.kt
similarity index 82%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/LeaderElector.kt
index 1ce94c2fdd1ce13d50a21e01b9d4692c87d0da6f..8a713d040e931a0e60266059c4faa44fdf5bddbc 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/LeaderElector.kt
@@ -1,4 +1,4 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
@@ -18,22 +18,22 @@ class LeaderElector(
 ) {
 
     // TODO(what is the name of the lock? .withName() or LeaseLock(..,name..) ?)
-    fun getLeadership(leader: KFunction0<Unit>) {
+    fun getLeadership(leader: () -> Unit) {
         val lockIdentity: String = UUID.randomUUID().toString()
         DefaultKubernetesClient().use { kc ->
             kc.leaderElector()
                 .withConfig(
                     LeaderElectionConfigBuilder()
                         .withName("Theodolite")
-                        .withLeaseDuration(Duration.ofSeconds(15L))
+                        .withLeaseDuration(Duration.ofSeconds(15))
                         .withLock(LeaseLock(client.namespace, name, lockIdentity))
-                        .withRenewDeadline(Duration.ofSeconds(10L))
-                        .withRetryPeriod(Duration.ofSeconds(2L))
+                        .withRenewDeadline(Duration.ofSeconds(10))
+                        .withRetryPeriod(Duration.ofSeconds(2))
                         .withLeaderCallbacks(LeaderCallbacks(
                             { Thread { leader() }.start() },
-                            { logger.info { "STOPPED LEADERSHIP" } }
+                            { logger.info { "Stop being the leading operator." } }
                         ) { newLeader: String? ->
-                            logger.info { "New leader elected $newLeader" }
+                            logger.info { "New leader elected: $newLeader" }
                         })
                         .build()
                 )
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/StateHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/StateHandler.kt
similarity index 64%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/StateHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/StateHandler.kt
index e2cfaa354443cdc940abf92ef2c7474d028daecf..eaa3b39ec1391cb1e27573dfc85345add4c32330 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/StateHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/StateHandler.kt
@@ -1,15 +1,19 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
-private const val MAX_TRIES: Int = 5
+private const val MAX_RETRIES: Int = 5
 
+@Deprecated("should not be needed")
 interface StateHandler<T> {
+
     fun setState(resourceName: String, f: (T) -> T?)
+
     fun getState(resourceName: String, f: (T) -> String?): String?
+
     fun blockUntilStateIsSet(
         resourceName: String,
         desiredStatusString: String,
         f: (T) -> String?,
-        maxTries: Int = MAX_TRIES
+        maxRetries: Int = MAX_RETRIES
     ): Boolean
 
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteController.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
similarity index 52%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteController.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
index 70e30cf84ef40796eb085a0d68eb2e323232fde9..67a9a40fe260c8105e30fef3c9c44436b7a37c5e 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteController.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
@@ -1,14 +1,19 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.MixedOperation
 import io.fabric8.kubernetes.client.dsl.Resource
 import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.execution.TheodoliteExecutor
-import theodolite.model.crd.*
-import theodolite.patcher.ConfigOverrideModifier
-import theodolite.util.ExecutionStateComparator
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
+import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.TheodoliteExecutor
+import rocks.theodolite.kubernetes.model.crd.*
+import rocks.theodolite.kubernetes.patcher.ConfigOverrideModifier
+import rocks.theodolite.kubernetes.model.crd.ExecutionStateComparator
+import rocks.theodolite.kubernetes.loadKubernetesResources
 import java.lang.Thread.sleep
 
 private val logger = KotlinLogging.logger {}
@@ -22,26 +27,26 @@ const val CREATED_BY_LABEL_VALUE = "theodolite"
  *
  * @see BenchmarkExecution
  * @see KubernetesBenchmark
- * @see ConcurrentLinkedDeque
  */
 
 class TheodoliteController(
-    private val executionCRDClient: MixedOperation<ExecutionCRD, BenchmarkExecutionList, Resource<ExecutionCRD>>,
-    private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
-    private val executionStateHandler: ExecutionStateHandler,
-    private val benchmarkStateHandler: BenchmarkStateHandler
+        private val client: NamespacedKubernetesClient,
+        private val executionCRDClient: MixedOperation<ExecutionCRD, BenchmarkExecutionList, Resource<ExecutionCRD>>,
+        private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
+        private val executionStateHandler: ExecutionStateHandler,
+        private val benchmarkStateChecker: BenchmarkStateChecker,
+
 ) {
     lateinit var executor: TheodoliteExecutor
 
     /**
-     *
      * Runs the TheodoliteController forever.
      */
     fun run() {
         sleep(5000) // wait until all states are correctly set
+        benchmarkStateChecker.start(true)
         while (true) {
             reconcile()
-            updateBenchmarkStatus()
             sleep(2000)
         }
     }
@@ -49,7 +54,6 @@ class TheodoliteController(
     private fun reconcile() {
         do {
             val execution = getNextExecution()
-            updateBenchmarkStatus()
             if (execution != null) {
                 val benchmark = getBenchmarks()
                     .map { it.spec }
@@ -71,59 +75,58 @@ class TheodoliteController(
     private fun runExecution(execution: BenchmarkExecution, benchmark: KubernetesBenchmark) {
         try {
             val modifier = ConfigOverrideModifier(
-            execution = execution,
-            resources = benchmark.loadKubernetesResources(benchmark.sut.resources).map { it.first }
-                    + benchmark.loadKubernetesResources(benchmark.loadGenerator.resources).map { it.first }
-        )
-        modifier.setAdditionalLabels(
-            labelValue = execution.name,
-            labelName = DEPLOYED_FOR_EXECUTION_LABEL_NAME
-        )
-        modifier.setAdditionalLabels(
-            labelValue = benchmark.name,
-            labelName = DEPLOYED_FOR_BENCHMARK_LABEL_NAME
-        )
-        modifier.setAdditionalLabels(
-            labelValue = CREATED_BY_LABEL_VALUE,
-            labelName = CREATED_BY_LABEL_NAME
-        )
-
-        executionStateHandler.setExecutionState(execution.name, ExecutionStates.RUNNING)
-        executionStateHandler.startDurationStateTimer(execution.name)
-
-            executor = TheodoliteExecutor(execution, benchmark)
-            executor.run()
+                    execution = execution,
+                    resources = loadKubernetesResources(benchmark.sut.resources, this.client).map { it.first }
+                            + loadKubernetesResources(benchmark.loadGenerator.resources, this.client).map { it.first }
+            )
+            modifier.setAdditionalLabels(
+                labelValue = execution.name,
+                labelName = DEPLOYED_FOR_EXECUTION_LABEL_NAME
+            )
+            modifier.setAdditionalLabels(
+                labelValue = benchmark.name,
+                labelName = DEPLOYED_FOR_BENCHMARK_LABEL_NAME
+            )
+            modifier.setAdditionalLabels(
+                labelValue = CREATED_BY_LABEL_VALUE,
+                labelName = CREATED_BY_LABEL_NAME
+            )
+
+            executionStateHandler.setExecutionState(execution.name, ExecutionState.RUNNING)
+            executionStateHandler.startDurationStateTimer(execution.name)
+
+            executor = TheodoliteExecutor(execution, benchmark, this.client)
+            executor.setupAndRunExecution()
             when (executionStateHandler.getExecutionState(execution.name)) {
-                ExecutionStates.RESTART -> runExecution(execution, benchmark)
-                ExecutionStates.RUNNING -> {
-                    executionStateHandler.setExecutionState(execution.name, ExecutionStates.FINISHED)
+                ExecutionState.RESTART -> runExecution(execution, benchmark)
+                ExecutionState.RUNNING -> {
+                    executionStateHandler.setExecutionState(execution.name, ExecutionState.FINISHED)
                     logger.info { "Execution of ${execution.name} is finally stopped." }
                     }
                 else -> {
-                    executionStateHandler.setExecutionState(execution.name, ExecutionStates.FAILURE)
-                    logger.warn { "Unexpected execution state, set state to ${ExecutionStates.FAILURE.value}" }
+                    executionStateHandler.setExecutionState(execution.name, ExecutionState.FAILURE)
+                    logger.warn { "Unexpected execution state, set state to ${ExecutionState.FAILURE.value}." }
                 }
             }
         } catch (e: Exception) {
-                EventCreator().createEvent(
+            EventCreator().createEvent(
                 executionName = execution.name,
                 type = "WARNING",
                 reason = "Execution failed",
                 message = "An error occurs while executing:  ${e.message}")
-            logger.error { "Failure while executing execution ${execution.name} with benchmark ${benchmark.name}." }
-            logger.error { "Problem is: $e" }
-            executionStateHandler.setExecutionState(execution.name, ExecutionStates.FAILURE)
+            logger.error(e) { "Failure while executing execution ${execution.name} with benchmark ${benchmark.name}." }
+            executionStateHandler.setExecutionState(execution.name, ExecutionState.FAILURE)
         }
-        executionStateHandler.stopDurationStateTimer()
+        executionStateHandler.stopDurationStateTimer(execution.name)
     }
 
     @Synchronized
     fun stop(restart: Boolean = false) {
         if (!::executor.isInitialized) return
         if (restart) {
-            executionStateHandler.setExecutionState(this.executor.getExecution().name, ExecutionStates.RESTART)
+            executionStateHandler.setExecutionState(this.executor.getExecution().name, ExecutionState.RESTART)
         }
-        this.executor.executor.run.set(false)
+        this.executor.experimentRunner.run.set(false)
     }
 
     /**
@@ -134,27 +137,25 @@ class TheodoliteController(
             .list()
             .items
             .map {
-                it.spec.name = it.metadata.name
-                it
+                it.apply { it.spec.name = it.metadata.name }
             }
     }
 
-
     /**
      * Get the [BenchmarkExecution] for the next run. Which [BenchmarkExecution]
      * is selected for the next execution depends on three points:
      *
      * 1. Only executions are considered for which a matching benchmark is available on the cluster
-     * 2. The Status of the execution must be [ExecutionStates.PENDING] or [ExecutionStates.RESTART]
-     * 3. Of the remaining [BenchmarkCRD], those with status [ExecutionStates.RESTART] are preferred,
+     * 2. The Status of the execution must be [ExecutionState.PENDING] or [ExecutionState.RESTART]
+     * 3. Of the remaining [BenchmarkCRD], those with status [ExecutionState.RESTART] are preferred,
      * then, if there is more than one, the oldest execution is chosen.
      *
      * @return the next execution or null
      */
     private fun getNextExecution(): BenchmarkExecution? {
-        val comparator = ExecutionStateComparator(ExecutionStates.RESTART)
+        val comparator = ExecutionStateComparator(ExecutionState.RESTART)
         val availableBenchmarkNames = getBenchmarks()
-            .filter { it.status.resourceSetsState == BenchmarkStates.READY.value }
+            .filter { it.status.resourceSetsState == BenchmarkState.READY }
             .map { it.spec }
             .map { it.name }
 
@@ -164,8 +165,7 @@ class TheodoliteController(
             .asSequence()
             .map { it.spec.name = it.metadata.name; it }
             .filter {
-                it.status.executionState == ExecutionStates.PENDING.value ||
-                        it.status.executionState == ExecutionStates.RESTART.value
+                it.status.executionState == ExecutionState.PENDING || it.status.executionState == ExecutionState.RESTART
             }
             .filter { availableBenchmarkNames.contains(it.spec.benchmark) }
             .sortedWith(comparator.thenBy { it.metadata.creationTimestamp })
@@ -173,35 +173,6 @@ class TheodoliteController(
             .firstOrNull()
     }
 
-    private fun updateBenchmarkStatus() {
-        this.benchmarkCRDClient
-            .list()
-            .items
-            .map { it.spec.name = it.metadata.name; it }
-            .map { Pair(it, checkResource(it.spec)) }
-            .forEach { setState(it.first, it.second ) }
-    }
-
-    private fun setState(resource: BenchmarkCRD, state: BenchmarkStates) {
-        benchmarkStateHandler.setResourceSetState(resource.spec.name, state)
-    }
-
-    private fun checkResource(benchmark: KubernetesBenchmark): BenchmarkStates {
-        return try {
-            val appResources =
-                benchmark.loadKubernetesResources(resourceSet = benchmark.sut.resources)
-            val loadGenResources =
-                benchmark.loadKubernetesResources(resourceSet = benchmark.sut.resources)
-            if(appResources.isNotEmpty() && loadGenResources.isNotEmpty()) {
-                BenchmarkStates.READY
-            } else {
-                BenchmarkStates.PENDING
-            }
-        } catch (e: Exception) {
-            BenchmarkStates.PENDING
-        }
-    }
-
     fun isExecutionRunning(executionName: String): Boolean {
         if (!::executor.isInitialized) return false
         return this.executor.getExecution().name == executionName
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
similarity index 56%
rename from theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
index 4850a44fdddba117178e29d3170f44a95df646e7..4d639fdb98ea4a890a734f8db0deca62d83fb508 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
@@ -1,25 +1,23 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
-import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.MixedOperation
 import io.fabric8.kubernetes.client.dsl.Resource
 import io.fabric8.kubernetes.client.informers.SharedInformerFactory
 import io.fabric8.kubernetes.internal.KubernetesDeserializer
 import mu.KotlinLogging
-import theodolite.model.crd.BenchmarkCRD
-import theodolite.model.crd.BenchmarkExecutionList
-import theodolite.model.crd.ExecutionCRD
-import theodolite.model.crd.KubernetesBenchmarkList
-import theodolite.util.Configuration
+import rocks.theodolite.kubernetes.Configuration
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.BenchmarkExecutionList
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
 
 
-private const val DEFAULT_NAMESPACE = "default"
 private const val EXECUTION_SINGULAR = "execution"
 private const val BENCHMARK_SINGULAR = "benchmark"
-private const val API_VERSION = "v1"
+private const val API_VERSION = "v1beta1"
 private const val RESYNC_PERIOD = 10 * 60 * 1000.toLong()
-private const val GROUP = "theodolite.com"
+private const val GROUP = "theodolite.rocks"
 private val logger = KotlinLogging.logger {}
 
 /**
@@ -27,28 +25,25 @@ private val logger = KotlinLogging.logger {}
  *
  * **See Also:** [Kubernetes Operator Pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)
  */
-class TheodoliteOperator {
-    private val namespace = Configuration.NAMESPACE
-
-    private val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(namespace)
+class TheodoliteOperator(private val client: NamespacedKubernetesClient) {
     private lateinit var controller: TheodoliteController
     private lateinit var executionStateHandler: ExecutionStateHandler
     private lateinit var benchmarkStateHandler: BenchmarkStateHandler
+    private lateinit var benchmarkStateChecker: BenchmarkStateChecker
 
 
     fun start() {
         LeaderElector(
-            client = client,
+            client = this.client,
             name = Configuration.COMPONENT_NAME
-        )
-            .getLeadership(::startOperator)
+        ).getLeadership(::startOperator)
     }
 
     /**
      * Start the operator.
      */
     private fun startOperator() {
-        logger.info { "Using $namespace as namespace." }
+        logger.info { "Becoming the leading operator. Use namespace '${this.client.namespace}'." }
         client.use {
             KubernetesDeserializer.registerCustomKind(
                 "$GROUP/$API_VERSION",
@@ -63,86 +58,95 @@ class TheodoliteOperator {
             )
 
             ClusterSetup(
-                executionCRDClient = getExecutionClient(client),
-                benchmarkCRDClient = getBenchmarkClient(client),
-                client = client
+                executionCRDClient = getExecutionClient(),
+                benchmarkCRDClient = getBenchmarkClient(),
+                client = this.client
             ).clearClusterState()
 
             controller = getController(
-                client = client,
-                executionStateHandler = getExecutionStateHandler(client = client),
-                benchmarkStateHandler = getBenchmarkStateHandler(client = client)
+                executionStateHandler = getExecutionStateHandler(),
+                benchmarkStateChecker = getBenchmarkStateChecker()
 
             )
-            getExecutionEventHandler(controller, client).startAllRegisteredInformers()
+            getExecutionEventHandler(controller).startAllRegisteredInformers()
             controller.run()
         }
     }
 
-    fun getExecutionEventHandler(
-        controller: TheodoliteController,
-        client: NamespacedKubernetesClient
+    private fun getExecutionEventHandler(
+            controller: TheodoliteController,
     ): SharedInformerFactory {
-        val factory = client.informers()
-            .inNamespace(client.namespace)
+        val factory = this.client.informers()
+            .inNamespace(this.client.namespace)
 
         factory.sharedIndexInformerForCustomResource(
             ExecutionCRD::class.java,
             RESYNC_PERIOD
         ).addEventHandler(
-            ExecutionHandler(
+            ExecutionEventHandler(
                 controller = controller,
-                stateHandler = ExecutionStateHandler(client)
+                stateHandler = ExecutionStateHandler(this.client)
             )
         )
         return factory
     }
 
-    fun getExecutionStateHandler(client: NamespacedKubernetesClient): ExecutionStateHandler {
+    fun getExecutionStateHandler(): ExecutionStateHandler {
         if (!::executionStateHandler.isInitialized) {
-            this.executionStateHandler = ExecutionStateHandler(client = client)
+            this.executionStateHandler = ExecutionStateHandler(client = this.client)
         }
         return executionStateHandler
     }
 
-    fun getBenchmarkStateHandler(client: NamespacedKubernetesClient) : BenchmarkStateHandler {
+    fun getBenchmarkStateHandler() : BenchmarkStateHandler {
         if (!::benchmarkStateHandler.isInitialized) {
-            this.benchmarkStateHandler = BenchmarkStateHandler(client = client)
+            this.benchmarkStateHandler = BenchmarkStateHandler(client = this.client)
         }
         return benchmarkStateHandler
     }
 
+    fun getBenchmarkStateChecker() : BenchmarkStateChecker {
+        if (!::benchmarkStateChecker.isInitialized) {
+            this.benchmarkStateChecker = BenchmarkStateChecker(
+                client = this.client,
+                benchmarkStateHandler = getBenchmarkStateHandler(),
+                benchmarkCRDClient = getBenchmarkClient())
+        }
+        return benchmarkStateChecker
+    }
+
+
     fun getController(
-        client: NamespacedKubernetesClient,
-        executionStateHandler: ExecutionStateHandler,
-        benchmarkStateHandler: BenchmarkStateHandler
+            executionStateHandler: ExecutionStateHandler,
+            benchmarkStateChecker: BenchmarkStateChecker
     ): TheodoliteController {
         if (!::controller.isInitialized) {
             this.controller = TheodoliteController(
-                benchmarkCRDClient = getBenchmarkClient(client),
-                executionCRDClient = getExecutionClient(client),
+                client = this.client,
+                benchmarkCRDClient = getBenchmarkClient(),
+                executionCRDClient = getExecutionClient(),
                 executionStateHandler = executionStateHandler,
-                benchmarkStateHandler = benchmarkStateHandler
+                benchmarkStateChecker = benchmarkStateChecker
             )
         }
         return this.controller
     }
 
-    fun getExecutionClient(client: NamespacedKubernetesClient): MixedOperation<
+    fun getExecutionClient(): MixedOperation<
             ExecutionCRD,
             BenchmarkExecutionList,
             Resource<ExecutionCRD>> {
-        return client.customResources(
+        return this.client.customResources(
             ExecutionCRD::class.java,
             BenchmarkExecutionList::class.java
         )
     }
 
-    fun getBenchmarkClient(client: NamespacedKubernetesClient): MixedOperation<
+    fun getBenchmarkClient(): MixedOperation<
             BenchmarkCRD,
             KubernetesBenchmarkList,
             Resource<BenchmarkCRD>> {
-        return client.customResources(
+        return this.client.customResources(
             BenchmarkCRD::class.java,
             KubernetesBenchmarkList::class.java
         )
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a20a26b351e730de60497ac014b3aba855ac01f5
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcher.kt
@@ -0,0 +1,30 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.client.utils.Serialization
+
+/**
+ * A Patcher is able to modify values of a Kubernetes resource, see [Patcher].
+ *
+ * An AbstractPatcher is created with up to three parameters.
+ *
+ *
+ *
+ * **For example** to patch the load dimension of a load generator, the patcher should be created as follow:
+ *
+ * k8sResource: `uc-1-workload-generator.yaml`
+ * container: `workload`
+ * variableName: `NUM_SENSORS`
+ *
+ */
+abstract class AbstractPatcher : Patcher {
+
+    override fun patch(resources: List<HasMetadata>, value: String) : List<HasMetadata> {
+        return resources
+            .map { Serialization.clone(it)}
+            .map { patchSingleResource(it, value) }
+    }
+
+    abstract fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata
+
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifier.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifier.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8945d9b647c0e79e854d509eafcfae1aa932367c
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifier.kt
@@ -0,0 +1,35 @@
+package rocks.theodolite.kubernetes.patcher
+
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+
+/**
+ * The ConfigOverrideModifier makes it possible to update the configuration overrides of an execution.
+ *
+ * @property execution execution for which the config overrides should be updated
+ * @property resources list of all resources that should be updated.
+ */
+class ConfigOverrideModifier(val execution: BenchmarkExecution, val resources: List<String>) {
+
+    /**
+     * Adds a [LabelPatcher] to the configOverrides.
+     *
+     * @param labelValue value argument for the label patcher
+     * @param labelName  label name argument for the label patcher
+     */
+    fun setAdditionalLabels(
+        labelValue: String,
+        labelName: String
+    ) {
+        val additionalConfigOverrides = resources.map {
+            ConfigurationOverride().apply {
+                this.patcher = PatcherDefinition()
+                this.patcher.type = "LabelPatcher"
+                this.patcher.properties = mapOf("variableName" to labelName)
+                this.patcher.resource = it
+                this.value = labelValue
+            }
+        }
+        execution.configOverrides.addAll(additionalConfigOverrides)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt
similarity index 57%
rename from theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt
index bdc107910edc8ddfb41e7757c775977086a25a26..2979d06268d4b363ba2c4de35242bd45fa52f423 100644
--- a/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt
@@ -1,6 +1,6 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
-import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.api.model.HasMetadata
 
 /**
  * The DataVolumeLoadGeneratorReplicaPatcher takes the total load that should be generated
@@ -10,29 +10,28 @@ import io.fabric8.kubernetes.api.model.KubernetesResource
  * The number of instances are set for the load generator and the given variable is set to the
  * load per instance.
  *
- * @property k8sResource Kubernetes resource to be patched.
  * @property maxVolume per load generator instance
  * @property container Container to be patched.
  * @property variableName Name of the environment variable to be patched.
  */
 class DataVolumeLoadGeneratorReplicaPatcher(
-    k8sResource: KubernetesResource,
     private val maxVolume: Int,
-    container: String,
-    variableName: String
-) : AbstractPatcher(k8sResource) {
+    private val container: String,
+    private val variableName: String
+) : Patcher {
 
-    private val replicaPatcher = ReplicaPatcher(k8sResource)
-    private val envVarPatcher = EnvVarPatcher(k8sResource, container, variableName)
+    override fun patch(resources: List<HasMetadata>, value: String) : List<HasMetadata> {
+        return resources.flatMap { patchSingeResource(it, value)}
+    }
 
-    override fun <T> patch(value: T) {
+    private fun patchSingeResource(k8sResource: HasMetadata, value: String): List<HasMetadata> {
         // calculate number of load generator instances and load per instance
-        val load = Integer.parseInt(value.toString())
+        val load = Integer.parseInt(value)
         val loadGenInstances = (load + maxVolume - 1) / maxVolume
         val loadPerInstance = load / loadGenInstances
 
         // Patch instance values and load value of generators
-        replicaPatcher.patch(loadGenInstances.toString())
-        envVarPatcher.patch(loadPerInstance.toString())
+        val resourceList = ReplicaPatcher().patch(listOf(k8sResource), loadGenInstances.toString())
+        return EnvVarPatcher(this.container, this.variableName).patch(resourceList, loadPerInstance.toString())
     }
 }
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcher.kt
similarity index 77%
rename from theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcher.kt
index 416aec74a3af9b74594f5e6cd018682bf91cbf63..33d6c8d9b6f5f82a49e7cd414e4b273708c0e68a 100644
--- a/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcher.kt
@@ -1,30 +1,31 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
 import io.fabric8.kubernetes.api.model.Container
 import io.fabric8.kubernetes.api.model.EnvVar
-import io.fabric8.kubernetes.api.model.KubernetesResource
+import io.fabric8.kubernetes.api.model.HasMetadata
 import io.fabric8.kubernetes.api.model.apps.Deployment
 
 /**
  * The EnvVarPatcher allows to modify the value of an environment variable
  *
- * @property k8sResource Kubernetes resource to be patched.
  * @property container Container to be patched.
  * @property variableName Name of the environment variable to be patched.
  */
 class EnvVarPatcher(
-    private val k8sResource: KubernetesResource,
     private val container: String,
     private val variableName: String
-) : AbstractPatcher(k8sResource) {
+) : AbstractPatcher() {
 
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
             this.setEnv(
-                k8sResource, this.container,
-                mapOf(this.variableName to value) as Map<kotlin.String, kotlin.String>
+                resource, this.container,
+                mapOf(this.variableName to value)
             )
+            return resource
         }
+        return resource
     }
 
     /**
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7f54416501bc742499a958566a179b7fad320318
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcher.kt
@@ -0,0 +1,37 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.client.utils.Serialization
+
+/**
+ * The Image patcher allows to change the image of a container.
+ *
+ * @param container Container to be patched.
+ */
+class ImagePatcher(
+    private val container: String) :
+    AbstractPatcher() {
+
+    override fun patch(resources: List<HasMetadata>, value: String) : List<HasMetadata> {
+        return resources
+            .map { Serialization.clone(it) }
+            .map { patchSingleResource(it, value as kotlin.String) }
+    }
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            (resource).spec.template.spec.containers.filter { it.name == container }.forEach {
+                it.image = value
+            }
+            return resource
+        } else if (resource is StatefulSet) {
+            (resource).spec.template.spec.containers.filter { it.name == container }.forEach {
+                it.image = value
+            }
+            return resource
+        }
+        return resource
+    }
+}
diff --git a/theodolite/src/main/kotlin/theodolite/util/InvalidPatcherConfigurationException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
similarity index 53%
rename from theodolite/src/main/kotlin/theodolite/util/InvalidPatcherConfigurationException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
index d02948ad341207051c4653ba9400ac0ffe5b03aa..88ad707ec48b0c2c2b3a62cc46f004ced64dbb69 100644
--- a/theodolite/src/main/kotlin/theodolite/util/InvalidPatcherConfigurationException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
@@ -1,3 +1,5 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.patcher
+
+import rocks.theodolite.kubernetes.DeploymentFailedException
 
 class InvalidPatcherConfigurationException(message: String, e: Exception? = null) : DeploymentFailedException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8bb5be97e780479884e6cb8e551c03340b04f8e6
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcher.kt
@@ -0,0 +1,50 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.ConfigMap
+import io.fabric8.kubernetes.api.model.GenericKubernetesResource
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.Service
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+class LabelPatcher(
+    val variableName: String) :
+    AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
+            is Deployment -> {
+                if (resource.metadata.labels == null) {
+                    resource.metadata.labels = mutableMapOf()
+                }
+                resource.metadata.labels[this.variableName] = value
+            }
+            is StatefulSet -> {
+                if (resource.metadata.labels == null) {
+                    resource.metadata.labels = mutableMapOf()
+                }
+                resource.metadata.labels[this.variableName] = value
+            }
+            is Service -> {
+                if (resource.metadata.labels == null) {
+                    resource.metadata.labels = mutableMapOf()
+                }
+                resource.metadata.labels[this.variableName] = value
+
+            }
+            is ConfigMap -> {
+                if (resource.metadata.labels == null) {
+                    resource.metadata.labels = mutableMapOf()
+                }
+                resource.metadata.labels[this.variableName] = value
+            }
+            is GenericKubernetesResource -> {
+                if (resource.metadata.labels == null) {
+                    resource.metadata.labels = mutableMapOf()
+                }
+                resource.metadata.labels[this.variableName] = value
+            }
+        }
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..725c9cf8a6a87c23119812c0a5d5ad3280a42e3c
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcher.kt
@@ -0,0 +1,33 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+/**
+ * This patcher is able to set the `spec.selector.matchLabels` for a `Deployment` or `StatefulSet` Kubernetes resource.
+ *
+ * @property variableName The matchLabel which should be set
+ */
+class MatchLabelPatcher(
+    val variableName: String) :
+    AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
+            is Deployment -> {
+                if (resource.spec.selector.matchLabels == null) {
+                    resource.spec.selector.matchLabels = mutableMapOf()
+                }
+                resource.spec.selector.matchLabels[this.variableName] = value
+            }
+            is StatefulSet -> {
+                if (resource.spec.selector.matchLabels == null) {
+                    resource.spec.selector.matchLabels = mutableMapOf()
+                }
+                resource.spec.selector.matchLabels[this.variableName] = value
+            }
+        }
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a6416a7e77841fa869de7ce2c248882fb486572c
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcher.kt
@@ -0,0 +1,35 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.ConfigMap
+import io.fabric8.kubernetes.api.model.GenericKubernetesResource
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.Service
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+class NamePatcher : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
+            is Deployment -> {
+                resource.metadata.name = value
+            }
+            is StatefulSet -> {
+                resource.metadata.name = value
+            }
+            is Service -> {
+                resource.metadata.name = value
+            }
+            is ConfigMap -> {
+                resource.metadata.name = value
+            }
+            is io.fabric8.kubernetes.api.model.networking.v1.Ingress -> {
+                resource.metadata.name = value
+            }
+            is GenericKubernetesResource -> {
+                resource.metadata.name = value
+            }
+        }
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c3b5ba1a07afa41dd604f2335baf6b58e362f293
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcher.kt
@@ -0,0 +1,22 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+
+/**
+ * The Node selector patcher make it possible to set the NodeSelector of a Kubernetes deployment.
+ *
+ * @param variableName The `label-key` of the node for which the `label-value` is to be patched.
+ */
+class NodeSelectorPatcher(
+    private val variableName: String) :
+    AbstractPatcher() {
+
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            resource.spec.template.spec.nodeSelector = mapOf(variableName to value)
+        }
+        return resource
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e3b0105768ec339758fd89233a09da233145d641
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt
@@ -0,0 +1,23 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import kotlin.math.pow
+
+class NumNestedGroupsLoadGeneratorReplicaPatcher(
+    private val numSensors: String,
+    private val loadGenMaxRecords: String,
+) : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            val approxNumSensors = numSensors.toDouble().pow(Integer.parseInt(value).toDouble())
+            val loadGenInstances =
+                (approxNumSensors + loadGenMaxRecords.toDouble() - 1) / loadGenMaxRecords.toDouble()
+            resource.spec.replicas = loadGenInstances.toInt()
+
+        }
+        return resource
+    }
+}
+
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..6bb2750bb1ca923aa05022884ef7054772a987c6
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt
@@ -0,0 +1,21 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+
+
+class NumSensorsLoadGeneratorReplicaPatcher(
+    private val loadGenMaxRecords: String,
+) : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            val loadGenInstances =
+                (Integer.parseInt(value) + loadGenMaxRecords.toInt() - 1) / loadGenMaxRecords.toInt()
+            resource.spec.replicas = loadGenInstances
+
+        }
+        return resource
+    }
+
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatchHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatchHandler.kt
new file mode 100644
index 0000000000000000000000000000000000000000..92b1e52ba7492181b5f3b06080efe01aae6cf66b
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatchHandler.kt
@@ -0,0 +1,20 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+class PatchHandler {
+    companion object {
+        private fun getResourcesToPatch(resources: Map<String, List<HasMetadata>>, patcherDefinition: PatcherDefinition): List<HasMetadata> {
+            return resources[patcherDefinition.resource]
+                ?: throw InvalidPatcherConfigurationException("Could not find resource ${patcherDefinition.resource}")
+
+        }
+        fun patchResource(
+            resources: Map<String, List<HasMetadata>>,
+            patcherDefinition: PatcherDefinition,
+            value: String,
+        ): List<HasMetadata> {
+            val resToPatch = getResourcesToPatch(resources, patcherDefinition)
+            return PatcherFactory.createPatcher(patcherDefinition).patch(resToPatch,value)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/Patcher.kt
similarity index 68%
rename from theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/Patcher.kt
index 84b886cb4f06b3e667eb8b8aeaa622e1ee54852e..310b370b97d065fc1ea0c3f7edd81577816ff69c 100644
--- a/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/Patcher.kt
@@ -1,5 +1,6 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
+import io.fabric8.kubernetes.api.model.HasMetadata
 import io.quarkus.runtime.annotations.RegisterForReflection
 
 /**
@@ -13,8 +14,7 @@ interface Patcher {
      * The patch method modifies a value in the definition of a
      * Kubernetes resource.
      *
-     * @param T The type of value
      * @param value The value to be used.
      */
-    fun <T> patch(value: T)
+    fun patch(resources: List<HasMetadata>, value: String) : List<HasMetadata>
 }
diff --git a/theodolite/src/main/kotlin/theodolite/util/PatcherDefinition.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinition.kt
similarity index 86%
rename from theodolite/src/main/kotlin/theodolite/util/PatcherDefinition.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinition.kt
index 6ec0cce36751ec0343d40aa49fefa44f4c7fc918..653ed9e03caf86c661e6a52ed59501b478eea7b5 100644
--- a/theodolite/src/main/kotlin/theodolite/util/PatcherDefinition.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinition.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.patcher
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import com.fasterxml.jackson.databind.annotation.JsonSerialize
@@ -21,5 +21,5 @@ class PatcherDefinition {
     lateinit var resource: String
 
     @JsonSerialize
-    lateinit var properties: MutableMap<String, String>
+    lateinit var properties: Map<String, String>
 }
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/PatcherDefinitionFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactory.kt
similarity index 83%
rename from theodolite/src/main/kotlin/theodolite/patcher/PatcherDefinitionFactory.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactory.kt
index 6a1f993e2ac327ec242a8a5bafc3e6cc43475710..be9dcd11b08edf58462f0a1e71c7c3ab548fa66a 100644
--- a/theodolite/src/main/kotlin/theodolite/patcher/PatcherDefinitionFactory.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactory.kt
@@ -1,7 +1,6 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
-import theodolite.util.PatcherDefinition
-import theodolite.util.TypeName
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 
 /**
  * The PatcherDefinition Factory creates a [PatcherDefinition]s.
@@ -20,7 +19,7 @@ class PatcherDefinitionFactory {
      * @return A list of PatcherDefinitions which corresponds to the
      *     value of the requiredType.
      */
-    fun createPatcherDefinition(requiredType: String, patcherTypes: List<TypeName>): List<PatcherDefinition> {
+    fun createPatcherDefinition(requiredType: String, patcherTypes: List<KubernetesBenchmark.TypeName>): List<PatcherDefinition> {
         return patcherTypes.firstOrNull { type -> type.typeName == requiredType }
             ?.patchers ?: throw IllegalArgumentException("typeName $requiredType not found.")
     }
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a4dcf68d2b4ec12facb26755e9f63e298725e195
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt
@@ -0,0 +1,89 @@
+package rocks.theodolite.kubernetes.patcher
+
+/**
+ * The Patcher factory creates [Patcher]s
+ *
+ * @constructor Creates an empty PatcherFactory.
+ */
+class PatcherFactory {
+
+    companion object {
+        /**
+         * Create patcher based on the given [PatcherDefinition] and
+         * the list of KubernetesResources.
+         *
+         * @param patcherDefinition The [PatcherDefinition] for which are
+         *     [Patcher] should be created.
+         * @param k8sResources List of all available Kubernetes resources.
+         *     This is a list of pairs<String, KubernetesResource>:
+         *     The frist corresponds to the filename where the resource is defined.
+         *     The second corresponds to the concrete [KubernetesResource] that should be patched.
+         * @return The created [Patcher].
+         * @throws IllegalArgumentException if no patcher can be created.
+         */
+        fun createPatcher(
+            patcherDefinition: PatcherDefinition,
+        ): Patcher {
+
+            return try {
+                when (patcherDefinition.type) {
+                    "ReplicaPatcher" -> ReplicaPatcher(
+                    )
+                    "NumNestedGroupsLoadGeneratorReplicaPatcher" -> NumNestedGroupsLoadGeneratorReplicaPatcher(
+                        loadGenMaxRecords = patcherDefinition.properties["loadGenMaxRecords"]!!,
+                        numSensors = patcherDefinition.properties["numSensors"]!!
+                    )
+                    "NumSensorsLoadGeneratorReplicaPatcher" -> NumSensorsLoadGeneratorReplicaPatcher(
+                        loadGenMaxRecords = patcherDefinition.properties["loadGenMaxRecords"]!!
+                    )
+                    "DataVolumeLoadGeneratorReplicaPatcher" -> DataVolumeLoadGeneratorReplicaPatcher(
+                        maxVolume = patcherDefinition.properties["maxVolume"]!!.toInt(),
+                        container = patcherDefinition.properties["container"]!!,
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "EnvVarPatcher" -> EnvVarPatcher(
+                        container = patcherDefinition.properties["container"]!!,
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "NodeSelectorPatcher" -> NodeSelectorPatcher(
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "ResourceLimitPatcher" -> ResourceLimitPatcher(
+                        container = patcherDefinition.properties["container"]!!,
+                        limitedResource = patcherDefinition.properties["limitedResource"]!!
+                    )
+                    "ResourceRequestPatcher" -> ResourceRequestPatcher(
+                        container = patcherDefinition.properties["container"]!!,
+                        requestedResource = patcherDefinition.properties["requestedResource"]!!
+                    )
+                    "SchedulerNamePatcher" -> SchedulerNamePatcher()
+                    "LabelPatcher" -> LabelPatcher(
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "MatchLabelPatcher" -> MatchLabelPatcher(
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "TemplateLabelPatcher" -> TemplateLabelPatcher(
+                        variableName = patcherDefinition.properties["variableName"]!!
+                    )
+                    "ImagePatcher" -> ImagePatcher(
+                        container = patcherDefinition.properties["container"]!!
+                    )
+                    "NamePatcher" -> NamePatcher()
+                    "ServiceSelectorPatcher" -> ServiceSelectorPatcher(
+                        variableName = patcherDefinition.properties["label"]!!
+                    )
+                    "rocks.theodolite.kubernetes.patcher.VolumesConfigMapPatcher" -> VolumesConfigMapPatcher(
+                        volumeName = patcherDefinition.properties["volumeName"]!!
+                    )
+                    else -> throw InvalidPatcherConfigurationException("Patcher type ${patcherDefinition.type} not found.")
+                }
+            } catch (e: NullPointerException) {
+                throw InvalidPatcherConfigurationException(
+                    "Could not create patcher with type ${patcherDefinition.type}" +
+                            " Probably a required patcher argument was not specified.", e
+                )
+            }
+        }
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8637b1299e878c4424e7fcaf4eac3bc901428541
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcher.kt
@@ -0,0 +1,18 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+
+/**
+ * The Replica [Patcher] modifies the number of replicas for the given Kubernetes deployment.
+ *
+ */
+class ReplicaPatcher : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            resource.spec.replicas = Integer.parseInt(value)
+        }
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c8064c605fbd8c65d97d9fbd8ee24fd49ad893da
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt
@@ -0,0 +1,57 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.*
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+/**
+ * The Resource limit [Patcher] set resource limits for deployments and statefulSets.
+ *
+ * @param k8sResource Kubernetes resource to be patched.
+ * @param container Container to be patched.
+ * @param limitedResource The resource to be limited (e.g. **cpu or memory**)
+ */
+class ResourceLimitPatcher(
+    private val container: String,
+    private val limitedResource: String
+) : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
+            is Deployment -> {
+                resource.spec.template.spec.containers.filter { it.name == container }.forEach {
+                    setLimits(it, value)
+                }
+            }
+            is StatefulSet -> {
+                resource.spec.template.spec.containers.filter { it.name == container }.forEach {
+                    setLimits(it, value)
+                }
+            }
+            else -> {
+                throw InvalidPatcherConfigurationException("ResourceLimitPatcher is not applicable for $resource.")
+            }
+        }
+        return resource
+    }
+
+
+        private fun setLimits(container: Container, value: String) {
+            when {
+                container.resources == null -> {
+                    val resource = ResourceRequirements()
+                    resource.limits = mapOf(limitedResource to Quantity(value))
+                    container.resources = resource
+                }
+                container.resources.limits.isEmpty() -> {
+                    container.resources.limits = mapOf(limitedResource to Quantity(value))
+                }
+                else -> {
+                    val values = mutableMapOf<String, Quantity>()
+                    container.resources.limits.forEach { entry -> values[entry.key] = entry.value }
+                    values[limitedResource] = Quantity(value)
+                    container.resources.limits = values
+                }
+        }
+    }
+}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
similarity index 62%
rename from theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
index 24cdde40f7f78bd67d115b2dc44f47e180f51ee2..7d9cd8b748d9e41d5506508259452032b1228015 100644
--- a/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
@@ -1,44 +1,39 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
-import io.fabric8.kubernetes.api.model.Container
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Quantity
-import io.fabric8.kubernetes.api.model.ResourceRequirements
+import io.fabric8.kubernetes.api.model.*
 import io.fabric8.kubernetes.api.model.apps.Deployment
 import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import theodolite.util.InvalidPatcherConfigurationException
 
 /**
  * The Resource request [Patcher] set resource limits for deployments and statefulSets.
  *
- * @param k8sResource Kubernetes resource to be patched.
  * @param container Container to be patched.
  * @param requestedResource The resource to be requested (e.g. **cpu or memory**)
  */
 class ResourceRequestPatcher(
-    private val k8sResource: KubernetesResource,
     private val container: String,
     private val requestedResource: String
-) : AbstractPatcher(k8sResource) {
+) : AbstractPatcher() {
 
-    override fun <String> patch(value: String) {
-        when (k8sResource) {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
             is Deployment -> {
-                k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                    setRequests(it, value as kotlin.String)
+                resource.spec.template.spec.containers.filter { it.name == container }.forEach {
+                    setRequests(it, value)
                 }
             }
             is StatefulSet -> {
-                k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                    setRequests(it, value as kotlin.String)
+                resource.spec.template.spec.containers.filter { it.name == container }.forEach {
+                    setRequests(it, value)
                 }
             }
             else -> {
-                throw InvalidPatcherConfigurationException("ResourceRequestPatcher not applicable for $k8sResource")
+                throw InvalidPatcherConfigurationException("ResourceRequestPatcher is not applicable for $resource.")
             }
         }
+        return resource
     }
-
     private fun setRequests(container: Container, value: String) {
         when {
             container.resources == null -> {
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..c5ac16cdfe25f6b2fd2e4d0a2fb27000f885ffe7
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcher.kt
@@ -0,0 +1,20 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+
+/**
+ * The Scheduler name [Patcher] make it possible to set the scheduler which should
+ * be used to deploy the given deployment.
+ * @param k8sResource Kubernetes resource to be patched.
+ */
+class SchedulerNamePatcher : AbstractPatcher() {
+
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            resource.spec.template.spec.schedulerName = value
+        }
+        return resource
+    }
+}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ServiceSelectorPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ServiceSelectorPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..b38ae4108748f85e7ac60f3ee3aa8c5d28281432
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ServiceSelectorPatcher.kt
@@ -0,0 +1,19 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.Service
+
+class ServiceSelectorPatcher(
+    private var variableName: String
+    ) : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Service) {
+            if (resource.spec.selector == null) {
+                resource.spec.selector = mutableMapOf()
+            }
+            resource.spec.selector[this.variableName] = value
+        }
+        return resource
+    }
+    }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e1c1bc3a15b8a9035bcaaa513f040aff9982e7ab
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcher.kt
@@ -0,0 +1,33 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+/**
+ * This patcher is able to set the field `spec.template.metadata.labels` for a `Deployment` or `StatefulSet` Kubernetes resource.
+ *
+ * @property variableName The label which should be set
+ */
+class TemplateLabelPatcher(
+    val variableName: String) :
+    AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        when (resource) {
+            is Deployment -> {
+                if (resource.spec.template.metadata.labels == null) {
+                    resource.spec.template.metadata.labels = mutableMapOf()
+                }
+                resource.spec.template.metadata.labels[this.variableName] = value
+            }
+            is StatefulSet -> {
+                if (resource.spec.template.metadata.labels == null) {
+                    resource.spec.template.metadata.labels = mutableMapOf()
+                }
+                resource.spec.template.metadata.labels[this.variableName] = value
+            }
+        }
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcher.kt
new file mode 100644
index 0000000000000000000000000000000000000000..54a459a19b35e74839de647761e8ac22f839ca2d
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcher.kt
@@ -0,0 +1,44 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+
+class VolumesConfigMapPatcher(private var volumeName: String
+) : AbstractPatcher() {
+
+    override fun patchSingleResource(resource: HasMetadata, value: String): HasMetadata {
+        if (resource is Deployment) {
+            if (resource.spec.template.spec.volumes == null) {
+                resource.spec.template.spec.volumes = mutableListOf()
+            }
+            val volumeMounts = resource.spec.template.spec.volumes
+
+            for (mount in volumeMounts) {
+                try {
+                    if (mount.configMap.name == volumeName) {
+                        mount.configMap.name = value
+                    }
+                } catch (_: NullPointerException) {
+                }
+            }
+        }
+        if (resource is StatefulSet) {
+            if (resource.spec.template.spec.volumes == null) {
+                resource.spec.template.spec.volumes = mutableListOf()
+            }
+            val volumeMounts = resource.spec.template.spec.volumes
+
+            for (mount in volumeMounts) {
+                try {
+                    if (mount.configMap.name == volumeName) {
+                        mount.configMap.name = value
+                    }
+                } catch (_: NullPointerException) {
+                }
+            }
+        }
+
+        return resource
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
similarity index 67%
rename from theodolite/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
index 281c68e318784ee8206473cd014f814b3f5152a9..96c5a43b85c0db5600d813f9e799903927a53ec3 100644
--- a/theodolite/src/main/kotlin/theodolite/evaluation/AnalysisExecutor.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
@@ -1,26 +1,21 @@
-package theodolite.evaluation
+package rocks.theodolite.kubernetes.slo
 
-import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.util.EvaluationFailedException
-import theodolite.util.IOHandler
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.IOHandler
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
 import java.text.Normalizer
 import java.time.Duration
 import java.time.Instant
 import java.util.*
 import java.util.regex.Pattern
 
-private val logger = KotlinLogging.logger {}
-
 /**
  * Contains the analysis. Fetches a metric from Prometheus, documents it, and evaluates it.
  * @param slo Slo that is used for the analysis.
  */
 class AnalysisExecutor(
-    private val slo: BenchmarkExecution.Slo,
-    private val executionId: Int
+        private val slo: Slo,
+        private val executionId: Int
 ) {
 
     private val fetcher = MetricFetcher(
@@ -32,31 +27,30 @@ class AnalysisExecutor(
      *  Analyses an experiment via prometheus data.
      *  First fetches data from prometheus, then documents them and afterwards evaluate it via a [slo].
      *  @param load of the experiment.
-     *  @param res of the experiment.
+     *  @param resource of the experiment.
      *  @param executionIntervals list of start and end points of experiments
      *  @return true if the experiment succeeded.
      */
-    fun analyze(load: LoadDimension, res: Resource, executionIntervals: List<Pair<Instant, Instant>>): Boolean {
-        var result: Boolean
+    fun analyze(load: Int, resource: Int, executionIntervals: List<Pair<Instant, Instant>>, metric: Metric): Boolean {
         var repetitionCounter = 1
 
         try {
             val ioHandler = IOHandler()
-            val resultsFolder: String = ioHandler.getResultFolderURL()
-            val fileURL = "${resultsFolder}exp${executionId}_${load.get()}_${res.get()}_${slo.sloType.toSlug()}"
+            val resultsFolder = ioHandler.getResultFolderURL()
+            val fileURL = "${resultsFolder}exp${executionId}_${load}_${resource}_${slo.sloType.toSlug()}"
 
             val prometheusData = executionIntervals
                 .map { interval ->
                     fetcher.fetchMetric(
                         start = interval.first,
                         end = interval.second,
-                        query = SloConfigHandler.getQueryString(sloType = slo.sloType)
+                        query = SloConfigHandler.getQueryString(slo = slo)
                     )
                 }
 
-            prometheusData.forEach { data ->
+            prometheusData.forEach{ data ->
                 ioHandler.writeToCSVFile(
-                    fileURL = "${fileURL}_${repetitionCounter++}",
+                    fileURL = "${fileURL}_${slo.name}_${repetitionCounter++}",
                     data = data.getResultAsList(),
                     columns = listOf("labels", "timestamp", "value")
                 )
@@ -65,15 +59,16 @@ class AnalysisExecutor(
             val sloChecker = SloCheckerFactory().create(
                 sloType = slo.sloType,
                 properties = slo.properties,
-                load = load
+                load = load,
+                resource = resource,
+                metric = metric
             )
 
-            result = sloChecker.evaluate(prometheusData)
+            return sloChecker.evaluate(prometheusData)
 
         } catch (e: Exception) {
-            throw EvaluationFailedException("Evaluation failed for resource '${res.get()}' and load '${load.get()} ", e)
+            throw EvaluationFailedException("Evaluation failed for resource '$resource' and load '$load ", e)
         }
-        return result
     }
 
     private val NONLATIN: Pattern = Pattern.compile("[^\\w-]")
@@ -83,6 +78,6 @@ class AnalysisExecutor(
         val noWhitespace: String = WHITESPACE.matcher(this).replaceAll("-")
         val normalized: String = Normalizer.normalize(noWhitespace, Normalizer.Form.NFD)
         val slug: String = NONLATIN.matcher(normalized).replaceAll("")
-        return slug.toLowerCase(Locale.ENGLISH)
+        return slug.lowercase(Locale.ENGLISH)
     }
 }
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt
new file mode 100644
index 0000000000000000000000000000000000000000..564ec926aeba501c55675ba3d25cfa8ebf50b68b
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt
@@ -0,0 +1,5 @@
+package rocks.theodolite.kubernetes.slo
+
+import rocks.theodolite.kubernetes.ExecutionFailedException
+
+class EvaluationFailedException(message: String, e: Exception? = null) : ExecutionFailedException(message,e)
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloChecker.kt
similarity index 63%
rename from theodolite/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloChecker.kt
index d646286b70bc5880df1f603afdc2bda22bcc3259..3a76fa7c0d9511b8989d3e444cbefe5c8a50b285 100644
--- a/theodolite/src/main/kotlin/theodolite/evaluation/ExternalSloChecker.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloChecker.kt
@@ -1,21 +1,18 @@
-package theodolite.evaluation
+package rocks.theodolite.kubernetes.slo
 
-import com.google.gson.Gson
 import khttp.post
 import mu.KotlinLogging
-import theodolite.util.PrometheusResponse
+import rocks.theodolite.kubernetes.util.PrometheusResponse
 import java.net.ConnectException
 
 /**
  * [SloChecker] that uses an external source for the concrete evaluation.
  * @param externalSlopeURL The url under which the external evaluation can be reached.
- * @param threshold threshold that should not be exceeded to evaluate to true.
- * @param warmup time that is not taken into consideration for the evaluation.
+ * @param metadata metadata passed to the external SLO checker.
  */
 class ExternalSloChecker(
-    private val externalSlopeURL: String,
-    private val threshold: Int,
-    private val warmup: Int
+    val externalSlopeURL: String,
+    val metadata: Map<String, Any>
 ) : SloChecker {
 
     private val RETRIES = 2
@@ -28,33 +25,29 @@ class ExternalSloChecker(
      * Will try to reach the external service until success or [RETRIES] times.
      * Each request will timeout after [TIMEOUT].
      *
-     * @param start point of the experiment.
-     * @param end point of the experiment.
      * @param fetchedData that should be evaluated
-     * @return true if the experiment was successful(the threshold was not exceeded.
+     * @return true if the experiment was successful (the threshold was not exceeded).
      * @throws ConnectException if the external service could not be reached.
      */
     override fun evaluate(fetchedData: List<PrometheusResponse>): Boolean {
         var counter = 0
-        val data = SloJson.Builder()
-            .results(fetchedData.map { it.data?.result })
-            .addMetadata("threshold", threshold)
-            .addMetadata( "warmup", warmup)
-            .build()
-            .toJson()
+        val data = SloJson(
+            results = fetchedData.map { it.data?.result ?: listOf() },
+            metadata = metadata
+        ).toJson()
 
         while (counter < RETRIES) {
             val result = post(externalSlopeURL, data = data, timeout = TIMEOUT)
             if (result.statusCode != 200) {
                 counter++
-                logger.error { "Could not reach external SLO checker" }
+                logger.error { "Could not reach external SLO checker at $externalSlopeURL." }
             } else {
                 val booleanResult = result.text.toBoolean()
-                logger.info { "SLO checker result is: $booleanResult" }
+                logger.info { "SLO checker result is: $booleanResult." }
                 return booleanResult
             }
         }
 
-        throw ConnectException("Could not reach external SLO checker")
+        throw ConnectException("Could not reach external SLO checker at $externalSlopeURL.")
     }
 }
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/MetricFetcher.kt
similarity index 88%
rename from theodolite/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/MetricFetcher.kt
index e54d79fe0f95b9f6079bd4295a74e81250b73a90..962564475d0ad0b56bad8cf99daf12329950eaf3 100644
--- a/theodolite/src/main/kotlin/theodolite/evaluation/MetricFetcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/MetricFetcher.kt
@@ -1,10 +1,10 @@
-package theodolite.evaluation
+package rocks.theodolite.kubernetes.slo
 
 import com.google.gson.Gson
 import khttp.get
 import khttp.responses.Response
 import mu.KotlinLogging
-import theodolite.util.PrometheusResponse
+import rocks.theodolite.kubernetes.util.PrometheusResponse
 import java.net.ConnectException
 import java.time.Duration
 import java.time.Instant
@@ -45,15 +45,16 @@ class MetricFetcher(private val prometheusURL: String, private val offset: Durat
         )
 
         while (counter < RETRIES) {
+            logger.info { "Request collected metrics from Prometheus for interval [$offsetStart,$offsetEnd]." }
             val response = get("$prometheusURL/api/v1/query_range", params = parameter, timeout = TIMEOUT)
             if (response.statusCode != 200) {
                 val message = response.jsonObject.toString()
-                logger.warn { "Could not connect to Prometheus: $message. Retrying now." }
+                logger.warn { "Could not connect to Prometheus: $message. Retry $counter/$RETRIES." }
                 counter++
             } else {
                 val values = parseValues(response)
                 if (values.data?.result.isNullOrEmpty()) {
-                    throw NoSuchFieldException("Empty query result: $values between $start and $end for query $query.")
+                    throw NoSuchFieldException("Empty query result: $values between for query '$query' in interval [$offsetStart,$offsetEnd] .")
                 }
                 return parseValues(response)
             }
diff --git a/theodolite/src/main/kotlin/theodolite/util/PrometheusResponse.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/PrometheusResponse.kt
similarity index 98%
rename from theodolite/src/main/kotlin/theodolite/util/PrometheusResponse.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/PrometheusResponse.kt
index 9b0b0dd4e0a5a48072ca576e874cb850c5f8df3b..5222a78bde342fea4a94c69bf1e42e132d0bc706 100644
--- a/theodolite/src/main/kotlin/theodolite/util/PrometheusResponse.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/PrometheusResponse.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.util
 
 import io.quarkus.runtime.annotations.RegisterForReflection
 import java.util.*
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/SloChecker.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloChecker.kt
similarity index 68%
rename from theodolite/src/main/kotlin/theodolite/evaluation/SloChecker.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloChecker.kt
index af70fa5dca3f0556d38791ed96c2af30b9a44a68..f4ac163547421d5f0f07d2511c2e3eeeebdb35b0 100644
--- a/theodolite/src/main/kotlin/theodolite/evaluation/SloChecker.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloChecker.kt
@@ -1,6 +1,6 @@
-package theodolite.evaluation
+package rocks.theodolite.kubernetes.slo
 
-import theodolite.util.PrometheusResponse
+import rocks.theodolite.kubernetes.util.PrometheusResponse
 
 /**
  * A SloChecker can be used to evaluate data from Prometheus.
@@ -11,7 +11,7 @@ interface SloChecker {
      * Evaluates [fetchedData] and returns if the experiments were successful.
      *
      * @param fetchedData from Prometheus that will be evaluated.
-     * @return true if experiments were successful. Otherwise false.
+     * @return true if experiments were successful. Otherwise, false.
      */
     fun evaluate(fetchedData: List<PrometheusResponse>): Boolean
 }
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/SloCheckerFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactory.kt
similarity index 51%
rename from theodolite/src/main/kotlin/theodolite/evaluation/SloCheckerFactory.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactory.kt
index 64f9110cd931feef41dc65f88d6623e82f4e03a2..a789050a106f1b95be7c1d55043cc9d46a15ffbf 100644
--- a/theodolite/src/main/kotlin/theodolite/evaluation/SloCheckerFactory.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactory.kt
@@ -1,6 +1,7 @@
-package theodolite.evaluation
+package rocks.theodolite.kubernetes.slo
+
+import rocks.theodolite.core.strategies.Metric
 
-import theodolite.util.LoadDimension
 
 /**
  * Factory used to potentially create different [SloChecker]s.
@@ -40,35 +41,56 @@ class SloCheckerFactory {
      */
     fun create(
         sloType: String,
-        properties: MutableMap<String, String>,
-        load: LoadDimension
+        properties: Map<String, String>,
+        load: Int,
+        resource: Int,
+        metric: Metric
     ): SloChecker {
-        return when (sloType.toLowerCase()) {
-            SloTypes.LAG_TREND.value, SloTypes.DROPPED_RECORDS.value -> ExternalSloChecker(
+        return when (SloTypes.from(sloType)) {
+            SloTypes.GENERIC -> ExternalSloChecker(
                 externalSlopeURL = properties["externalSloUrl"]
                     ?: throw IllegalArgumentException("externalSloUrl expected"),
-                threshold = properties["threshold"]?.toInt() ?: throw IllegalArgumentException("threshold expected"),
-                warmup = properties["warmup"]?.toInt() ?: throw IllegalArgumentException("warmup expected")
+                // TODO validate property contents
+                metadata = mapOf(
+                    "warmup" to (properties["warmup"]?.toInt() ?: throw IllegalArgumentException("warmup expected")),
+                    "queryAggregation" to (properties["queryAggregation"]
+                        ?: throw IllegalArgumentException("queryAggregation expected")),
+                    "repetitionAggregation" to (properties["repetitionAggregation"]
+                        ?: throw IllegalArgumentException("repetitionAggregation expected")),
+                    "operator" to (properties["operator"] ?: throw IllegalArgumentException("operator expected")),
+                    "threshold" to (properties["threshold"]?.toDouble()
+                        ?: throw IllegalArgumentException("threshold expected"))
+                )
             )
-
-                SloTypes.LAG_TREND_RATIO.value, SloTypes.DROPPED_RECORDS_RATIO.value -> {
+            SloTypes.LAG_TREND, SloTypes.DROPPED_RECORDS -> ExternalSloChecker(
+                externalSlopeURL = properties["externalSloUrl"]
+                    ?: throw IllegalArgumentException("externalSloUrl expected"),
+                metadata = mapOf(
+                    "warmup" to (properties["warmup"]?.toInt() ?: throw IllegalArgumentException("warmup expected")),
+                    "threshold" to (properties["threshold"]?.toDouble()
+                        ?: throw IllegalArgumentException("threshold expected"))
+                )
+            )
+            SloTypes.LAG_TREND_RATIO, SloTypes.DROPPED_RECORDS_RATIO -> {
                 val thresholdRatio =
                     properties["ratio"]?.toDouble()
                         ?: throw IllegalArgumentException("ratio for threshold expected")
                 if (thresholdRatio < 0.0) {
                     throw IllegalArgumentException("Threshold ratio needs to be an Double greater or equal 0.0")
                 }
-                // cast to int, as rounding is not really necessary
-                val threshold = (load.get() * thresholdRatio).toInt()
+
+                val threshold = (load * thresholdRatio)
 
                 ExternalSloChecker(
                     externalSlopeURL = properties["externalSloUrl"]
                         ?: throw IllegalArgumentException("externalSloUrl expected"),
-                    threshold = threshold,
-                    warmup = properties["warmup"]?.toInt() ?: throw IllegalArgumentException("warmup expected")
+                    metadata = mapOf(
+                        "warmup" to (properties["warmup"]?.toInt()
+                            ?: throw IllegalArgumentException("warmup expected")),
+                        "threshold" to threshold
+                    )
                 )
             }
-            else -> throw IllegalArgumentException("Slotype $sloType not found.")
         }
     }
 }
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ed18e4a0b4027ce4284cc83ff4c9520738ec2ba7
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt
@@ -0,0 +1,28 @@
+package rocks.theodolite.kubernetes.slo
+
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+import rocks.theodolite.kubernetes.patcher.InvalidPatcherConfigurationException
+import javax.enterprise.context.ApplicationScoped
+
+private const val DEFAULT_CONSUMER_LAG_METRIC_BASE = "kafka_consumergroup_lag"
+private const val DEFAULT_CONSUMER_LAG_QUERY = "sum by(consumergroup) (kafka_consumergroup_lag >= 0)"
+private const val DEFAULT_DROPPED_RECORDS_QUERY = "sum by(job) (kafka_streams_stream_task_metrics_dropped_records_total>=0)"
+
+@ApplicationScoped
+class SloConfigHandler {
+    companion object {
+        fun getQueryString(slo: Slo): String {
+            return when (slo.sloType.lowercase()) {
+                SloTypes.GENERIC.value -> slo.properties["promQLQuery"] ?: throw IllegalArgumentException("promQLQuery expected")
+                SloTypes.LAG_TREND.value, SloTypes.LAG_TREND_RATIO.value -> slo.properties["promQLQuery"] ?:
+                    (slo.properties["consumerGroup"]?.let { "{consumergroup='$it'}" } ?: "").let {
+                        "sum by(consumergroup) ($DEFAULT_CONSUMER_LAG_METRIC_BASE$it >= 0)"
+                    }
+                SloTypes.DROPPED_RECORDS.value, SloTypes.DROPPED_RECORDS_RATIO.value -> slo.properties["promQLQuery"] ?: DEFAULT_DROPPED_RECORDS_QUERY
+                SloTypes.LAG_TREND.value, SloTypes.LAG_TREND_RATIO.value -> slo.properties["promQLQuery"] ?: DEFAULT_CONSUMER_LAG_QUERY
+                SloTypes.DROPPED_RECORDS.value, SloTypes.DROPPED_RECORDS_RATIO.value -> slo.properties["promQLQuery"] ?: DEFAULT_DROPPED_RECORDS_QUERY
+                else -> throw  InvalidPatcherConfigurationException("Could not find Prometheus query string for slo type ${slo.sloType}")
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloFactory.kt
new file mode 100644
index 0000000000000000000000000000000000000000..047f8a657de8aba6f032d36e8b84d7046d5e0209
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloFactory.kt
@@ -0,0 +1,24 @@
+package rocks.theodolite.kubernetes.slo
+
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+
+class SloFactory {
+
+    fun createSlos(execution: BenchmarkExecution, benchmark: KubernetesBenchmark): List<Slo> {
+        var benchmarkSlos = benchmark.slos
+        var executionSlos = execution.slos
+
+        for(executionSlo in executionSlos) {
+            for(i in 0 until benchmarkSlos.size) {
+                if(executionSlo.name == benchmarkSlos[i].name && executionSlo.properties != null) {
+                    for (executionProperty in executionSlo.properties!!) {
+                        benchmarkSlos[i].properties[executionProperty.key] = executionProperty.value
+                    }
+                }
+            }
+        }
+        return benchmarkSlos
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloJson.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloJson.kt
new file mode 100644
index 0000000000000000000000000000000000000000..653ad6b5f998014a0f5b9e8b7397bcd3ce51f729
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloJson.kt
@@ -0,0 +1,19 @@
+package rocks.theodolite.kubernetes.slo
+
+import com.google.gson.Gson
+import rocks.theodolite.kubernetes.util.PromResult
+
+class SloJson constructor(
+    val results: List<List<PromResult>>,
+    var metadata: Map<String, Any>
+) {
+
+    fun toJson(): String {
+        return Gson().toJson(
+            mapOf(
+                "results" to this.results,
+                "metadata" to this.metadata
+            )
+        )
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloTypes.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloTypes.kt
new file mode 100644
index 0000000000000000000000000000000000000000..07cbcd634ec7b46bd0e66a52f62989660575765f
--- /dev/null
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloTypes.kt
@@ -0,0 +1,14 @@
+package rocks.theodolite.kubernetes.slo
+
+enum class SloTypes(val value: String) {
+    GENERIC("generic"),
+    LAG_TREND("lag trend"),
+    LAG_TREND_RATIO("lag trend ratio"),
+    DROPPED_RECORDS("dropped records"),
+    DROPPED_RECORDS_RATIO("dropped records ratio");
+
+    companion object {
+        fun from(type: String): SloTypes =
+            values().find { it.value == type } ?: throw IllegalArgumentException("Requested SLO does not exist")
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/TheodoliteStandalone.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
similarity index 73%
rename from theodolite/src/main/kotlin/theodolite/execution/TheodoliteStandalone.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
index 1bbf3e01f461a19dbe588aedd41be63b84c86162..8cf3959b95374183a989a0217d754aea7eab716a 100644
--- a/theodolite/src/main/kotlin/theodolite/execution/TheodoliteStandalone.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
@@ -1,14 +1,18 @@
-package theodolite.execution
+package rocks.theodolite.kubernetes.standalone
 
+import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.util.YamlParserFromFile
-import theodolite.util.EvaluationFailedException
-import theodolite.util.ExecutionFailedException
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.TheodoliteExecutor
+import rocks.theodolite.kubernetes.util.YamlParserFromFile
+import rocks.theodolite.kubernetes.slo.EvaluationFailedException
+import rocks.theodolite.kubernetes.ExecutionFailedException
+import rocks.theodolite.kubernetes.Shutdown
 import kotlin.concurrent.thread
 import kotlin.system.exitProcess
 
+
 private val logger = KotlinLogging.logger {}
 
 
@@ -27,7 +31,7 @@ private val logger = KotlinLogging.logger {}
  *
  * @constructor Create empty Theodolite yaml executor
  */
-class TheodoliteStandalone {
+class TheodoliteStandalone (private val client: NamespacedKubernetesClient) {
     private val parser = YamlParserFromFile()
 
     fun start() {
@@ -48,11 +52,11 @@ class TheodoliteStandalone {
 
         // Add shutdown hook
         // Use thread{} with start = false, else the thread will start right away
-        val shutdown = thread(start = false) { Shutdown(benchmarkExecution, benchmark).run() }
+        val shutdown = thread(start = false) { Shutdown(benchmarkExecution, benchmark, client).run() }
         Runtime.getRuntime().addShutdownHook(shutdown)
 
         try {
-            TheodoliteExecutor(benchmarkExecution, benchmark).run()
+            TheodoliteExecutor(benchmarkExecution, benchmark, client).setupAndRunExecution()
         } catch (e: EvaluationFailedException) {
             logger.error { "Evaluation failed with error: ${e.message}" }
         }catch (e: ExecutionFailedException) {
diff --git a/theodolite/src/main/kotlin/theodolite/util/ConfigurationOverride.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/ConfigurationOverride.kt
similarity index 81%
rename from theodolite/src/main/kotlin/theodolite/util/ConfigurationOverride.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/ConfigurationOverride.kt
index 537b44721bb344c2cd7af71d29dc4fa3da5a7a33..4b054d61c15c13b2058fd4848dd69fc4633610c8 100644
--- a/theodolite/src/main/kotlin/theodolite/util/ConfigurationOverride.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/ConfigurationOverride.kt
@@ -1,7 +1,8 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.util
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.quarkus.runtime.annotations.RegisterForReflection
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
 
 /**
  * Representation of a configuration override.
diff --git a/theodolite/src/main/kotlin/theodolite/util/Parser.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Parser.kt
similarity index 89%
rename from theodolite/src/main/kotlin/theodolite/util/Parser.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Parser.kt
index e435b1cbbf18b9f860ceda69f5f7ec66e64c9375..65cd6a39303d3f0f0814c7197bbe15b4919be5d7 100644
--- a/theodolite/src/main/kotlin/theodolite/util/Parser.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Parser.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.util
 
 /**
  * Interface for parsers.
diff --git a/theodolite/src/main/kotlin/theodolite/util/YamlParserFromFile.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromFile.kt
similarity index 83%
rename from theodolite/src/main/kotlin/theodolite/util/YamlParserFromFile.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromFile.kt
index ae36349e628621bb7ad287d8cf557fbefa3ff5c5..f6a1179a880631dea7471b68b34c0823400aaadc 100644
--- a/theodolite/src/main/kotlin/theodolite/util/YamlParserFromFile.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromFile.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.util
 
 import org.yaml.snakeyaml.Yaml
 import org.yaml.snakeyaml.constructor.Constructor
@@ -9,6 +9,7 @@ import java.io.InputStream
 /**
  * The YamlParser parses a YAML file
  */
+@Deprecated("Use Jackson ObjectMapper instead")
 class YamlParserFromFile : Parser {
     override fun <T> parse(path: String, E: Class<T>): T? {
         val input: InputStream = FileInputStream(File(path))
diff --git a/theodolite/src/main/kotlin/theodolite/util/YamlParserFromString.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromString.kt
similarity index 76%
rename from theodolite/src/main/kotlin/theodolite/util/YamlParserFromString.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromString.kt
index 61db189ee99fa5fe36113b0fdecf589ad1114852..288414422963ad3de8f6b853b949b4af7939bf6a 100644
--- a/theodolite/src/main/kotlin/theodolite/util/YamlParserFromString.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/YamlParserFromString.kt
@@ -1,14 +1,12 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.util
 
 import org.yaml.snakeyaml.Yaml
 import org.yaml.snakeyaml.constructor.Constructor
-import java.io.File
-import java.io.FileInputStream
-import java.io.InputStream
 
 /**
  * The YamlParser parses a YAML string
  */
+@Deprecated("Use Jackson ObjectMapper instead")
 class YamlParserFromString : Parser {
     override fun <T> parse(fileString: String, E: Class<T>): T? {
         val parser = Yaml(Constructor(E))
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/Benchmark.kt b/theodolite/src/main/kotlin/theodolite/benchmark/Benchmark.kt
deleted file mode 100644
index cf2fac7337d79c1c5daf2b0fac070200cf27f9a5..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/Benchmark.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package theodolite.benchmark
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.util.ConfigurationOverride
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-/**
- * A Benchmark contains:
- * - The [Resource]s that can be scaled for the benchmark.
- * - The [LoadDimension]s that can be scaled the benchmark.
- * - additional [ConfigurationOverride]s.
- */
-@RegisterForReflection
-interface Benchmark {
-
-    fun setupInfrastructure()
-    fun teardownInfrastructure()
-
-    /**
-     * Builds a Deployment that can be deployed.
-     * @return a BenchmarkDeployment.
-     */
-    fun buildDeployment(
-        load: LoadDimension,
-        res: Resource,
-        configurationOverrides: List<ConfigurationOverride?>,
-        loadGenerationDelay: Long,
-        afterTeardownDelay: Long
-    ): BenchmarkDeployment
-}
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt
deleted file mode 100644
index 273a13170e77ae9e2f5f09869ebbc5cc06185715..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ConfigMapResourceSet.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-package theodolite.benchmark
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.KubernetesClientException
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.quarkus.runtime.annotations.RegisterForReflection
-import mu.KotlinLogging
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromString
-import theodolite.util.DeploymentFailedException
-import theodolite.util.YamlParserFromString
-import java.lang.IllegalArgumentException
-import java.lang.IllegalStateException
-
-private val logger = KotlinLogging.logger {}
-
-@RegisterForReflection
-@JsonDeserialize
-class ConfigMapResourceSet: ResourceSet, KubernetesResource {
-    lateinit var name: String
-    lateinit var files: List<String> // load all files, iff files is not set
-
-    @OptIn(ExperimentalStdlibApi::class)
-    override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, KubernetesResource>> {
-        val loader = K8sResourceLoaderFromString(client)
-        var resources: Map<String, String>
-
-        try {
-            resources = client
-                .configMaps()
-                .withName(name)
-                .get()
-                .data
-                .filter { it.key.endsWith(".yaml") } // consider only yaml files, e.g. ignore readme files
-        } catch (e: KubernetesClientException) {
-            throw DeploymentFailedException("can not find or read configmap:  $name", e)
-        } catch (e: IllegalStateException) {
-            throw DeploymentFailedException("can not find configmap or data section is null $name", e)
-        }
-
-        if (::files.isInitialized){
-            resources = resources
-                .filter { files.contains(it.key) }
-
-            if (resources.size != files.size) {
-                throw  DeploymentFailedException("Could not find all specified Kubernetes manifests files")
-            }
-        }
-
-        return try {
-            resources
-                .map { Pair(
-                    getKind(resource = it.value),
-                    it) }
-                .map {
-                    Pair(
-                        it.second.key,
-                        loader.loadK8sResource(it.first, it.second.value)) }
-        } catch (e: IllegalArgumentException) {
-            throw  DeploymentFailedException("Can not creat resource set from specified configmap", e)
-        }
-
-    }
-
-    private fun getKind(resource: String): String {
-        val parser = YamlParserFromString()
-        val resourceAsMap = parser.parse(resource, HashMap<String, String>()::class.java)
-
-        return try {
-            resourceAsMap?.get("kind") !!
-        } catch (e: NullPointerException) {
-            throw DeploymentFailedException( "Could not find field kind of Kubernetes resource: ${resourceAsMap?.get("name")}", e)
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt b/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt
deleted file mode 100644
index 92df1bec3cd6f21b1f830e73b466f70e37a9f4c8..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/FileSystemResourceSet.kt
+++ /dev/null
@@ -1,66 +0,0 @@
-package theodolite.benchmark
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.DefaultKubernetesClient
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.quarkus.runtime.annotations.RegisterForReflection
-import mu.KotlinLogging
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.util.DeploymentFailedException
-import theodolite.util.YamlParserFromFile
-import java.io.File
-import java.io.FileNotFoundException
-import java.lang.IllegalArgumentException
-
-private val logger = KotlinLogging.logger {}
-
-@RegisterForReflection
-@JsonDeserialize
-class FileSystemResourceSet: ResourceSet, KubernetesResource {
-    lateinit var path: String
-    lateinit var files: List<String>
-
-    override fun getResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, KubernetesResource>> {
-
-        //if files is set ...
-        if(::files.isInitialized){
-            return files
-                    .map { loadSingleResource(resourceURL = it, client = client) }
-        }
-
-        return try {
-            File(path)
-                .list() !!
-                .filter { it.endsWith(".yaml") } // consider only yaml files, e.g. ignore readme files
-                .map {
-                    loadSingleResource(resourceURL = it, client = client)
-                }
-        } catch (e: NullPointerException) {
-            throw  DeploymentFailedException("Could not load files located in $path", e)
-        }
-    }
-
-    private fun loadSingleResource(resourceURL: String, client: NamespacedKubernetesClient): Pair<String, KubernetesResource> {
-        val parser = YamlParserFromFile()
-        val loader = K8sResourceLoaderFromFile(client)
-        val resourcePath = "$path/$resourceURL"
-        lateinit var kind: String
-
-        try {
-            kind = parser.parse(resourcePath, HashMap<String, String>()::class.java)?.get("kind")!!
-        } catch (e: NullPointerException) {
-            throw DeploymentFailedException("Can not get Kind from resource $resourcePath", e)
-        } catch (e: FileNotFoundException){
-            throw DeploymentFailedException("File $resourcePath not found", e)
-
-        }
-
-        return try {
-            val k8sResource = loader.loadK8sResource(kind, resourcePath)
-            Pair(resourceURL, k8sResource)
-        } catch (e: IllegalArgumentException) {
-            throw DeploymentFailedException("Could not load resource: $resourcePath", e)
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt b/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt
deleted file mode 100644
index 0b81f8701f92a95662efef6e0d58839c9a2f6f3b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmark.kt
+++ /dev/null
@@ -1,122 +0,0 @@
-package theodolite.benchmark
-
-import com.fasterxml.jackson.annotation.JsonInclude
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.DefaultKubernetesClient
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.quarkus.runtime.annotations.RegisterForReflection
-import mu.KotlinLogging
-import theodolite.k8s.K8sManager
-import theodolite.k8s.resourceLoader.K8sResourceLoader
-import theodolite.patcher.PatcherFactory
-import theodolite.util.*
-
-
-private val logger = KotlinLogging.logger {}
-
-private var DEFAULT_NAMESPACE = "default"
-private var DEFAULT_THEODOLITE_APP_RESOURCES = "./benchmark-resources"
-
-/**
- * Represents a benchmark in Kubernetes. An example for this is the BenchmarkType.yaml
- * Contains a of:
- * - [name] of the benchmark,
- * - [appResource] list of the resources that have to be deployed for the benchmark,
- * - [loadGenResource] resource that generates the load,
- * - [resourceTypes] types of scaling resources,
- * - [loadTypes] types of loads that can be scaled for the benchmark,
- * - [kafkaConfig] for the [theodolite.k8s.TopicManager],
- * - [namespace] for the client,
- * - [path] under which the resource yamls can be found.
- *
- *  This class is used for the parsing(in the [theodolite.execution.TheodoliteStandalone]) and
- *  for the deserializing in the [theodolite.execution.operator.TheodoliteOperator].
- * @constructor construct an empty Benchmark.
- */
-@JsonDeserialize
-@RegisterForReflection
-class KubernetesBenchmark : KubernetesResource, Benchmark {
-    lateinit var name: String
-    lateinit var resourceTypes: List<TypeName>
-    lateinit var loadTypes: List<TypeName>
-    lateinit var kafkaConfig: KafkaConfig
-    lateinit var infrastructure: Resources
-    lateinit var sut: Resources
-    lateinit var loadGenerator: Resources
-    var namespace = System.getenv("NAMESPACE") ?: DEFAULT_NAMESPACE
-
-    @Transient
-    private val client: NamespacedKubernetesClient = DefaultKubernetesClient().inNamespace(namespace)
-
-    /**
-     * Loads [KubernetesResource]s.
-     * It first loads them via the [YamlParserFromFile] to check for their concrete type and afterwards initializes them using
-     * the [K8sResourceLoader]
-     */
-    fun loadKubernetesResources(resourceSet: List<ResourceSets>): Collection<Pair<String, KubernetesResource>> {
-        return resourceSet.flatMap { it.loadResourceSet(this.client) }
-    }
-
-    override fun setupInfrastructure() {
-        val kubernetesManager = K8sManager(this.client)
-        loadKubernetesResources(this.infrastructure.resources)
-            .map{it.second}
-            .forEach { kubernetesManager.deploy(it) }
-    }
-
-    override fun teardownInfrastructure() {
-        val kubernetesManager = K8sManager(this.client)
-        loadKubernetesResources(this.infrastructure.resources)
-            .map{it.second}
-            .forEach { kubernetesManager.remove(it) }
-        }
-
-    /**
-     * Builds a deployment.
-     * First loads all required resources and then patches them to the concrete load and resources for the experiment.
-     * Afterwards patches additional configurations(cluster depending) into the resources.
-     * @param load concrete load that will be benchmarked in this experiment.
-     * @param res concrete resource that will be scaled for this experiment.
-     * @param configurationOverrides
-     * @return a [BenchmarkDeployment]
-     */
-    override fun buildDeployment(
-        load: LoadDimension,
-        res: Resource,
-        configurationOverrides: List<ConfigurationOverride?>,
-        loadGenerationDelay: Long,
-        afterTeardownDelay: Long
-    ): BenchmarkDeployment {
-        logger.info { "Using $namespace as namespace." }
-
-        val appResources = loadKubernetesResources(this.sut.resources)
-        val loadGenResources = loadKubernetesResources(this.loadGenerator.resources)
-
-        val patcherFactory = PatcherFactory()
-
-        // patch the load dimension the resources
-        load.getType().forEach { patcherDefinition ->
-            patcherFactory.createPatcher(patcherDefinition, loadGenResources).patch(load.get().toString())
-        }
-        res.getType().forEach { patcherDefinition ->
-            patcherFactory.createPatcher(patcherDefinition, appResources).patch(res.get().toString())
-        }
-
-        // Patch the given overrides
-        configurationOverrides.forEach { override ->
-            override?.let {
-                patcherFactory.createPatcher(it.patcher, appResources + loadGenResources).patch(override.value)
-            }
-        }
-        return KubernetesBenchmarkDeployment(
-            appResources = appResources.map { it.second },
-            loadGenResources = loadGenResources.map { it.second },
-            loadGenerationDelay = loadGenerationDelay,
-            afterTeardownDelay = afterTeardownDelay,
-            kafkaConfig = hashMapOf("bootstrap.servers" to kafkaConfig.bootstrapServer),
-            topics = kafkaConfig.topics,
-            client = this.client
-        )
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmarkDeployment.kt b/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmarkDeployment.kt
deleted file mode 100644
index 423ac92c654ff55057796d9642c2cb408bc62fe5..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/KubernetesBenchmarkDeployment.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-package theodolite.benchmark
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.quarkus.runtime.annotations.RegisterForReflection
-import mu.KotlinLogging
-import org.apache.kafka.clients.admin.NewTopic
-import theodolite.k8s.K8sManager
-import theodolite.k8s.ResourceByLabelHandler
-import theodolite.k8s.TopicManager
-import theodolite.util.KafkaConfig
-import java.time.Duration
-
-private val logger = KotlinLogging.logger {}
-
-/**
- * Organizes the deployment of benchmarks in Kubernetes.
- *
- * @param namespace to operate in.
- * @param resources List of [KubernetesResource] that are managed.
- * @param kafkaConfig for the organization of Kafka topics.
- * @param topics List of topics that are created or deleted.
- */
-@RegisterForReflection
-class KubernetesBenchmarkDeployment(
-    val appResources: List<KubernetesResource>,
-    val loadGenResources: List<KubernetesResource>,
-    private val loadGenerationDelay: Long,
-    private val afterTeardownDelay: Long,
-    private val kafkaConfig: HashMap<String, Any>,
-    private val topics: List<KafkaConfig.TopicWrapper>,
-    private val client: NamespacedKubernetesClient
-) : BenchmarkDeployment {
-    private val kafkaController = TopicManager(this.kafkaConfig)
-    private val kubernetesManager = K8sManager(client)
-    private val LAG_EXPORTER_POD_LABEL_NAME = "app.kubernetes.io/name"
-    private val LAG_EXPORTER_POD_LABEL_VALUE = "kafka-lag-exporter"
-
-    /**
-     * Setup a [KubernetesBenchmark] using the [TopicManager] and the [K8sManager]:
-     *  - Create the needed topics.
-     *  - Deploy the needed resources.
-     */
-    override fun setup() {
-        val kafkaTopics = this.topics.filter { !it.removeOnly }
-            .map { NewTopic(it.name, it.numPartitions, it.replicationFactor) }
-        kafkaController.createTopics(kafkaTopics)
-        appResources.forEach { kubernetesManager.deploy(it) }
-        logger.info { "Wait ${this.loadGenerationDelay} seconds before starting the load generator." }
-        Thread.sleep(Duration.ofSeconds(this.loadGenerationDelay).toMillis())
-        loadGenResources.forEach { kubernetesManager.deploy(it) }
-    }
-
-    /**
-     * Tears down a [KubernetesBenchmark]:
-     *  - Reset the Kafka Lag Exporter.
-     *  - Remove the used topics.
-     *  - Remove the [KubernetesResource]s.
-     */
-    override fun teardown() {
-        loadGenResources.forEach { kubernetesManager.remove(it) }
-        appResources.forEach { kubernetesManager.remove(it) }
-        kafkaController.removeTopics(this.topics.map { topic -> topic.name })
-        ResourceByLabelHandler(client).removePods(
-            labelName = LAG_EXPORTER_POD_LABEL_NAME,
-            labelValue = LAG_EXPORTER_POD_LABEL_VALUE
-        )
-        logger.info { "Teardown complete. Wait $afterTeardownDelay ms to let everything come down." }
-        Thread.sleep(Duration.ofSeconds(afterTeardownDelay).toMillis())
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt b/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt
deleted file mode 100644
index a4fe443e7f304c411792ee06c32592ba3c9e692a..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/ResourceSets.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package theodolite.benchmark
-
-import com.fasterxml.jackson.annotation.JsonInclude
-import com.fasterxml.jackson.annotation.JsonProperty
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.quarkus.runtime.annotations.RegisterForReflection
-import mu.KotlinLogging
-import theodolite.util.DeploymentFailedException
-
-@JsonDeserialize
-@RegisterForReflection
-class ResourceSets: KubernetesResource {
-    @JsonProperty("configMap")
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    var  configMap: ConfigMapResourceSet? = null
-
-    @JsonProperty("fileSystem")
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    var fileSystem: FileSystemResourceSet? = null
-
-    fun loadResourceSet(client: NamespacedKubernetesClient): Collection<Pair<String, KubernetesResource>> {
-        return if (::configMap != null) {
-            configMap?.getResourceSet(client= client) !!
-            } else if (::fileSystem != null) {
-            fileSystem?.getResourceSet(client= client ) !!
-            } else {
-                throw  DeploymentFailedException("could not load resourceSet.")
-            }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/benchmark/Resources.kt b/theodolite/src/main/kotlin/theodolite/benchmark/Resources.kt
deleted file mode 100644
index 0187735b8fd273419874942cb7ed68797732c84c..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/benchmark/Resources.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package theodolite.benchmark
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import com.fasterxml.jackson.databind.annotation.JsonSerialize
-import io.quarkus.runtime.annotations.RegisterForReflection
-
-@JsonDeserialize
-@RegisterForReflection
-class Resources {
-
-    lateinit var resources: List<ResourceSets>
-
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt b/theodolite/src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt
deleted file mode 100644
index 93929218c822030ff065dafb19cce1fbaa69a179..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/evaluation/SloConfigHandler.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package theodolite.evaluation
-
-import theodolite.util.InvalidPatcherConfigurationException
-import javax.enterprise.context.ApplicationScoped
-
-private const val CONSUMER_LAG_QUERY = "sum by(group)(kafka_consumergroup_group_lag >= 0)"
-private const val DROPPED_RECORDS_QUERY = "sum by(job) (kafka_streams_stream_task_metrics_dropped_records_total>=0)"
-
-@ApplicationScoped
-class SloConfigHandler() {
-    companion object {
-        fun getQueryString(sloType: String): String {
-            return when (sloType.toLowerCase()) {
-                SloTypes.LAG_TREND.value, SloTypes.LAG_TREND_RATIO.value -> CONSUMER_LAG_QUERY
-                SloTypes.DROPPED_RECORDS.value, SloTypes.DROPPED_RECORDS_RATIO.value -> DROPPED_RECORDS_QUERY
-                else -> throw  InvalidPatcherConfigurationException("Could not find Prometheus query string for slo type $sloType")
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/SloJson.kt b/theodolite/src/main/kotlin/theodolite/evaluation/SloJson.kt
deleted file mode 100644
index fc9fe17b255dbb5ae68881538d8d2a50a191edb1..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/evaluation/SloJson.kt
+++ /dev/null
@@ -1,63 +0,0 @@
-package theodolite.evaluation
-
-import com.google.gson.Gson
-import theodolite.util.PromResult
-
-class SloJson private constructor(
-    val results: List<List<PromResult>?>? = null,
-    var metadata: MutableMap<String, Any>? = null
-) {
-
-    data class Builder(
-        var results:List<List<PromResult>?>? = null,
-        var metadata: MutableMap<String, Any>? = null
-    ) {
-
-        /**
-         *  Set the results
-         *
-         * @param results list of prometheus results
-         */
-        fun results(results: List<List<PromResult>?>) = apply { this.results = results }
-
-        /**
-         * Add metadata as key value pairs
-         *
-         * @param key key of the metadata to be added
-         * @param value value of the metadata to be added
-         */
-        fun addMetadata(key: String, value: String) = apply {
-            if (this.metadata.isNullOrEmpty()) {
-                this.metadata = mutableMapOf(key to value)
-            } else {
-                this.metadata!![key] = value
-            }
-        }
-
-        /**
-         * Add metadata as key value pairs
-         *
-         * @param key key of the metadata to be added
-         * @param value value of the metadata to be added
-         */
-        fun addMetadata(key: String, value: Int) = apply {
-            if (this.metadata.isNullOrEmpty()) {
-                this.metadata = mutableMapOf(key to value)
-            } else {
-                this.metadata!![key] = value
-            }
-        }
-
-        fun build() = SloJson(
-            results = results,
-            metadata = metadata
-        )
-    }
-
-   fun  toJson(): String {
-       return Gson().toJson(mapOf(
-           "results" to this.results,
-           "metadata" to this.metadata
-       ))
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/evaluation/SloTypes.kt b/theodolite/src/main/kotlin/theodolite/evaluation/SloTypes.kt
deleted file mode 100644
index ac9de35861b0bd9c012bfb0b8cfcb2e1aa5aed68..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/evaluation/SloTypes.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package theodolite.evaluation
-
-enum class SloTypes(val value: String) {
-    LAG_TREND("lag trend"),
-    LAG_TREND_RATIO("lag trend ratio"),
-    DROPPED_RECORDS("dropped records"),
-    DROPPED_RECORDS_RATIO("dropped records ratio")
-
-
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutor.kt b/theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutor.kt
deleted file mode 100644
index 3238f447be06ce6486bb7f6ca1758700f36ba558..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/execution/BenchmarkExecutor.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-package theodolite.execution
-
-import mu.KotlinLogging
-import theodolite.benchmark.Benchmark
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.util.ConfigurationOverride
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
-import java.time.Duration
-import java.util.concurrent.atomic.AtomicBoolean
-
-private val logger = KotlinLogging.logger {}
-
-/**
- * The Benchmark Executor runs a single experiment.
- *
- * @property benchmark
- * @property results
- * @property executionDuration
- * @constructor Create empty Benchmark executor
- */
-abstract class BenchmarkExecutor(
-    val benchmark: Benchmark,
-    val results: Results,
-    val executionDuration: Duration,
-    val configurationOverrides: List<ConfigurationOverride?>,
-    val slos: List<BenchmarkExecution.Slo>,
-    val repetitions: Int,
-    val executionId: Int,
-    val loadGenerationDelay: Long,
-    val afterTeardownDelay: Long,
-    val executionName: String
-) {
-
-    var run: AtomicBoolean = AtomicBoolean(true)
-
-    /**
-     * Run a experiment for the given parametrization, evaluate the
-     * experiment and save the result.
-     *
-     * @param load load to be tested.
-     * @param res resources to be tested.
-     * @return True, if the number of resources are suitable for the
-     *     given load, false otherwise.
-     */
-    abstract fun runExperiment(load: LoadDimension, res: Resource): Boolean
-
-    /**
-     * Wait while the benchmark is running and log the number of minutes executed every 1 minute.
-     *
-     */
-    fun waitAndLog() {
-        logger.info { "Execution of a new experiment started." }
-
-        var secondsRunning = 0L
-
-        while (run.get() && secondsRunning < executionDuration.toSeconds()) {
-            secondsRunning++
-            Thread.sleep(Duration.ofSeconds(1).toMillis())
-
-            if ((secondsRunning % 60) == 0L) {
-                logger.info { "Executed: ${secondsRunning / 60} minutes." }
-            }
-        }
-
-        logger.debug { "Executor shutdown gracefully." }
-
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/execution/Main.kt b/theodolite/src/main/kotlin/theodolite/execution/Main.kt
deleted file mode 100644
index 11f696ddd739e987e92ecec724390948714d898b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/execution/Main.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package theodolite.execution
-
-import io.quarkus.runtime.annotations.QuarkusMain
-import mu.KotlinLogging
-import theodolite.execution.operator.TheodoliteOperator
-import theodolite.util.Configuration
-import kotlin.system.exitProcess
-
-private val logger = KotlinLogging.logger {}
-
-@QuarkusMain
-object Main {
-
-    @JvmStatic
-    fun main(args: Array<String>) {
-
-        val mode = Configuration.EXECUTION_MODE
-        logger.info { "Start Theodolite with mode $mode" }
-
-        when (mode.toLowerCase()) {
-            ExecutionModes.STANDALONE.value, ExecutionModes.YAML_EXECUTOR.value -> TheodoliteStandalone().start()  // TODO remove standalone (#209)
-            ExecutionModes.OPERATOR.value -> TheodoliteOperator().start()
-            else -> {
-                logger.error { "MODE $mode not found" }
-                exitProcess(1)
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt b/theodolite/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt
deleted file mode 100644
index 315d1cf1afe7fd2ffbfc1c437d725d4dff29f637..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt
+++ /dev/null
@@ -1,154 +0,0 @@
-package theodolite.execution
-
-import mu.KotlinLogging
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.patcher.PatcherDefinitionFactory
-import theodolite.strategies.StrategyFactory
-import theodolite.strategies.searchstrategy.CompositeStrategy
-import theodolite.util.*
-import java.io.File
-import java.time.Duration
-
-
-private val logger = KotlinLogging.logger {}
-
-/**
- * The Theodolite executor runs all the experiments defined with the given execution and benchmark configuration.
- *
- * @property config Configuration of a execution
- * @property kubernetesBenchmark Configuration of a benchmark
- * @constructor Create empty Theodolite executor
- */
-class TheodoliteExecutor(
-    private val config: BenchmarkExecution,
-    private val kubernetesBenchmark: KubernetesBenchmark
-) {
-    /**
-     * An executor object, configured with the specified benchmark, evaluation method, experiment duration
-     * and overrides which are given in the execution.
-     */
-    lateinit var executor: BenchmarkExecutor
-
-    /**
-     * Creates all required components to start Theodolite.
-     *
-     * @return a [Config], that contains a list of [LoadDimension]s,
-     *          a list of [Resource]s , and the [CompositeStrategy].
-     * The [CompositeStrategy] is configured and able to find the minimum required resource for the given load.
-     */
-    private fun buildConfig(): Config {
-        val results = Results()
-        val strategyFactory = StrategyFactory()
-
-        val executionDuration = Duration.ofSeconds(config.execution.duration)
-
-        val resourcePatcherDefinition =
-            PatcherDefinitionFactory().createPatcherDefinition(
-                config.resources.resourceType,
-                this.kubernetesBenchmark.resourceTypes
-            )
-
-        val loadDimensionPatcherDefinition =
-            PatcherDefinitionFactory().createPatcherDefinition(
-                config.load.loadType,
-                this.kubernetesBenchmark.loadTypes
-            )
-
-        executor =
-            BenchmarkExecutorImpl(
-                benchmark = kubernetesBenchmark,
-                results = results,
-                executionDuration = executionDuration,
-                configurationOverrides = config.configOverrides,
-                slos = config.slos,
-                repetitions = config.execution.repetitions,
-                executionId = config.executionId,
-                loadGenerationDelay = config.execution.loadGenerationDelay,
-                afterTeardownDelay = config.execution.afterTeardownDelay,
-                executionName = config.name
-            )
-
-        if (config.load.loadValues != config.load.loadValues.sorted()) {
-            config.load.loadValues = config.load.loadValues.sorted()
-            logger.info {
-                "Load values are not sorted correctly, Theodolite sorts them in ascending order." +
-                        "New order is: ${config.load.loadValues}"
-            }
-        }
-
-        if (config.resources.resourceValues != config.resources.resourceValues.sorted()) {
-            config.resources.resourceValues = config.resources.resourceValues.sorted()
-            logger.info {
-                "Load values are not sorted correctly, Theodolite sorts them in ascending order." +
-                        "New order is: ${config.resources.resourceValues}"
-            }
-        }
-
-        return Config(
-            loads = config.load.loadValues.map { load -> LoadDimension(load, loadDimensionPatcherDefinition) },
-            resources = config.resources.resourceValues.map { resource ->
-                Resource(
-                    resource,
-                    resourcePatcherDefinition
-                )
-            },
-            compositeStrategy = CompositeStrategy(
-                benchmarkExecutor = executor,
-                searchStrategy = strategyFactory.createSearchStrategy(executor, config.execution.strategy),
-                restrictionStrategies = strategyFactory.createRestrictionStrategy(
-                    results,
-                    config.execution.restrictions
-                )
-            )
-        )
-    }
-
-    fun getExecution(): BenchmarkExecution {
-        return this.config
-    }
-
-    /**
-     * Run all experiments which are specified in the corresponding
-     * execution and benchmark objects.
-     */
-    fun run() {
-        kubernetesBenchmark.setupInfrastructure()
-
-        val ioHandler = IOHandler()
-        val resultsFolder = ioHandler.getResultFolderURL()
-        this.config.executionId = getAndIncrementExecutionID(resultsFolder + "expID.txt")
-        ioHandler.writeToJSONFile(this.config, "${resultsFolder}exp${this.config.executionId}-execution-configuration")
-        ioHandler.writeToJSONFile(
-            kubernetesBenchmark,
-            "${resultsFolder}exp${this.config.executionId}-benchmark-configuration"
-        )
-
-        val config = buildConfig()
-        // execute benchmarks for each load
-        try {
-            for (load in config.loads) {
-                if (executor.run.get()) {
-                    config.compositeStrategy.findSuitableResource(load, config.resources)
-                }
-            }
-        } finally {
-            ioHandler.writeToJSONFile(
-                config.compositeStrategy.benchmarkExecutor.results,
-                "${resultsFolder}exp${this.config.executionId}-result"
-            )
-        }
-        kubernetesBenchmark.teardownInfrastructure()
-    }
-
-    private fun getAndIncrementExecutionID(fileURL: String): Int {
-        val ioHandler = IOHandler()
-        var executionID = 0
-        if (File(fileURL).exists()) {
-            executionID = ioHandler.readFileAsString(fileURL).toInt() + 1
-        }
-        ioHandler.writeStringToTextFile(fileURL, (executionID).toString())
-        return executionID
-    }
-
-}
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/AbstractStateHandler.kt b/theodolite/src/main/kotlin/theodolite/execution/operator/AbstractStateHandler.kt
deleted file mode 100644
index 0b5d6040bdea1316f8fb55bcc3f204c5443f6eee..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/AbstractStateHandler.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package theodolite.execution.operator
-
-import io.fabric8.kubernetes.api.model.HasMetadata
-import io.fabric8.kubernetes.api.model.KubernetesResourceList
-import io.fabric8.kubernetes.api.model.Namespaced
-import io.fabric8.kubernetes.client.CustomResource
-import io.fabric8.kubernetes.client.KubernetesClientException
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.fabric8.kubernetes.client.dsl.MixedOperation
-import io.fabric8.kubernetes.client.dsl.Resource
-import mu.KotlinLogging
-import java.lang.Thread.sleep
-private val logger = KotlinLogging.logger {}
-
-abstract class AbstractStateHandler<T, L, D>(
-    private val client: NamespacedKubernetesClient,
-    private val crd: Class<T>,
-    private val crdList: Class<L>
-) : StateHandler<T> where T : CustomResource<*, *>?, T : HasMetadata, T : Namespaced, L : KubernetesResourceList<T> {
-
-    private val crdClient: MixedOperation<T, L, Resource<T>> =
-        this.client.customResources(this.crd, this.crdList)
-
-    @Synchronized
-    override fun setState(resourceName: String, f: (T) -> T?) {
-        try {
-            this.crdClient
-                .list().items
-                .filter { it.metadata.name == resourceName }
-                .map { customResource -> f(customResource) }
-                .forEach { this.crdClient.updateStatus(it) }
-        } catch (e: KubernetesClientException) {
-            logger.warn { "Status cannot be set for resource $resourceName" }
-        }
-    }
-
-    @Synchronized
-    override fun getState(resourceName: String, f: (T) -> String?): String? {
-        return this.crdClient
-            .list().items
-            .filter { it.metadata.name == resourceName }
-            .map { customResource -> f(customResource) }
-            .firstOrNull()
-    }
-
-    @Synchronized
-    override fun blockUntilStateIsSet(
-        resourceName: String,
-        desiredStatusString: String,
-        f: (T) -> String?,
-        maxTries: Int
-    ): Boolean {
-        for (i in 0.rangeTo(maxTries)) {
-            val currentStatus = getState(resourceName, f)
-            if (currentStatus == desiredStatusString) {
-                return true
-            }
-            sleep(50)
-        }
-        return false
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionStateHandler.kt b/theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionStateHandler.kt
deleted file mode 100644
index 9f49cf3ee4f9f62e7006dbf6697340e1af152f27..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/execution/operator/ExecutionStateHandler.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-package theodolite.execution.operator
-
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import theodolite.model.crd.BenchmarkExecutionList
-import theodolite.model.crd.ExecutionCRD
-import theodolite.model.crd.ExecutionStatus
-import theodolite.model.crd.ExecutionStates
-import java.lang.Thread.sleep
-import java.time.Duration
-import java.time.Instant
-import java.util.concurrent.atomic.AtomicBoolean
-
-class ExecutionStateHandler(val client: NamespacedKubernetesClient) :
-    AbstractStateHandler<ExecutionCRD, BenchmarkExecutionList, ExecutionStatus>(
-        client = client,
-        crd = ExecutionCRD::class.java,
-        crdList = BenchmarkExecutionList::class.java
-    ) {
-
-    private var runExecutionDurationTimer: AtomicBoolean = AtomicBoolean(false)
-
-    private fun getExecutionLambda() = { cr: ExecutionCRD -> cr.status.executionState }
-
-    private fun getDurationLambda() = { cr: ExecutionCRD -> cr.status.executionDuration }
-
-    fun setExecutionState(resourceName: String, status: ExecutionStates): Boolean {
-        setState(resourceName) { cr -> cr.status.executionState = status.value; cr }
-        return blockUntilStateIsSet(resourceName, status.value, getExecutionLambda())
-    }
-
-    fun getExecutionState(resourceName: String): ExecutionStates {
-        val status = this.getState(resourceName, getExecutionLambda())
-        return if (status.isNullOrBlank()) {
-            ExecutionStates.NO_STATE
-        } else {
-            ExecutionStates.values().first { it.value == status }
-        }
-    }
-
-    fun setDurationState(resourceName: String, duration: Duration): Boolean {
-        setState(resourceName) { cr -> cr.status.executionDuration = durationToK8sString(duration); cr }
-        return blockUntilStateIsSet(resourceName, durationToK8sString(duration), getDurationLambda())
-    }
-
-    fun getDurationState(resourceName: String): String {
-        val status = getState(resourceName, getDurationLambda())
-        return if (status.isNullOrBlank()) {
-            "-"
-        } else {
-            status
-        }
-    }
-
-    private fun durationToK8sString(duration: Duration): String {
-        val sec = duration.seconds
-        return when {
-            sec <= 120 -> "${sec}s" // max 120s
-            sec < 60 * 99 -> "${duration.toMinutes()}m" // max 99m
-            sec < 60 * 60 * 99 -> "${duration.toHours()}h"   // max 99h
-            else -> "${duration.toDays()}d + ${duration.minusDays(duration.toDays()).toHours()}h"
-        }
-    }
-
-    fun startDurationStateTimer(resourceName: String) {
-        this.runExecutionDurationTimer.set(true)
-        val startTime = Instant.now().toEpochMilli()
-        Thread {
-            while (this.runExecutionDurationTimer.get()) {
-                val duration = Duration.ofMillis(Instant.now().minusMillis(startTime).toEpochMilli())
-                setDurationState(resourceName, duration)
-                sleep(100 * 1)
-            }
-        }.start()
-    }
-
-    @Synchronized
-    fun stopDurationStateTimer() {
-        this.runExecutionDurationTimer.set(false)
-        sleep(100 * 2)
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/CustomResourceWrapper.kt b/theodolite/src/main/kotlin/theodolite/k8s/CustomResourceWrapper.kt
deleted file mode 100644
index 797ed88389947d66aa626ba2ef3fdf6732f8369d..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/CustomResourceWrapper.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-package theodolite.k8s
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
-import mu.KotlinLogging
-
-private val logger = KotlinLogging.logger {}
-
-class CustomResourceWrapper(
-    val crAsMap: Map<String, String>,
-    private val context: CustomResourceDefinitionContext
-) : KubernetesResource {
-    /**
-     * Deploy a service monitor
-     *
-     * @param client a namespaced Kubernetes client which are used to deploy the CR object.
-     *
-     * @throws java.io.IOException if the resource could not be deployed.
-     */
-    fun deploy(client: NamespacedKubernetesClient) {
-        client.customResource(this.context)
-            .createOrReplace(client.configuration.namespace, this.crAsMap as Map<String, Any>)
-    }
-
-    /**
-     * Delete a service monitor
-     *
-     * @param client a namespaced Kubernetes client which are used to delete the CR object.
-     */
-    fun delete(client: NamespacedKubernetesClient) {
-        try {
-            client.customResource(this.context)
-                .delete(client.configuration.namespace, this.getName())
-        } catch (e: Exception) {
-            logger.warn { "Could not delete custom resource" }
-        }
-    }
-
-    /**
-     * @throws NullPointerException if name or metadata is null
-     */
-    fun getName(): String {
-        val metadataAsMap = this.crAsMap["metadata"]!! as Map<String, String>
-        return metadataAsMap["name"]!!
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/K8sManager.kt b/theodolite/src/main/kotlin/theodolite/k8s/K8sManager.kt
deleted file mode 100644
index 389d5eefad556df502c218862e2f253ef8ad2100..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/K8sManager.kt
+++ /dev/null
@@ -1,69 +0,0 @@
-package theodolite.k8s
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Service
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import mu.KotlinLogging
-
-private val logger = KotlinLogging.logger {}
-
-/**
- * This class is used to deploy or remove different Kubernetes resources.
- * Supports: Deployments, Services, ConfigMaps, StatefulSets, and CustomResources.
- * @param client KubernetesClient used to deploy or remove.
- */
-class K8sManager(private val client: NamespacedKubernetesClient) {
-
-    /**
-     * Deploys different k8s resources using the client.
-     * @throws IllegalArgumentException if KubernetesResource not supported.
-     */
-    fun deploy(resource: KubernetesResource) {
-        when (resource) {
-            is Deployment ->
-                this.client.apps().deployments().createOrReplace(resource)
-            is Service ->
-                this.client.services().createOrReplace(resource)
-            is ConfigMap ->
-                this.client.configMaps().createOrReplace(resource)
-            is StatefulSet ->
-                this.client.apps().statefulSets().createOrReplace(resource)
-            is CustomResourceWrapper -> resource.deploy(client)
-            else -> throw IllegalArgumentException("Unknown Kubernetes resource.")
-        }
-    }
-
-    /**
-     * Removes different k8s resources using the client.
-     * @throws IllegalArgumentException if KubernetesResource not supported.
-     */
-    fun remove(resource: KubernetesResource) {
-        when (resource) {
-            is Deployment -> {
-                this.client.apps().deployments().delete(resource)
-                ResourceByLabelHandler(client = client)
-                    .blockUntilPodsDeleted(
-                        matchLabels = resource.spec.selector.matchLabels
-                    )
-                logger.info { "Deployment '${resource.metadata.name}' deleted." }
-            }
-            is Service ->
-                this.client.services().delete(resource)
-            is ConfigMap ->
-                this.client.configMaps().delete(resource)
-            is StatefulSet -> {
-                this.client.apps().statefulSets().delete(resource)
-                ResourceByLabelHandler(client = client)
-                    .blockUntilPodsDeleted(
-                        matchLabels = resource.spec.selector.matchLabels
-                    )
-                logger.info { "StatefulSet '$resource.metadata.name' deleted." }
-            }
-            is CustomResourceWrapper -> resource.delete(client)
-            else -> throw IllegalArgumentException("Unknown Kubernetes resource.")
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/AbstractK8sLoader.kt b/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/AbstractK8sLoader.kt
deleted file mode 100644
index 862de14e2a7a4721e15215b0a1389e14f943fe24..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/AbstractK8sLoader.kt
+++ /dev/null
@@ -1,73 +0,0 @@
-package theodolite.k8s.resourceLoader
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import mu.KotlinLogging
-import theodolite.k8s.K8sContextFactory
-
-private val logger = KotlinLogging.logger {}
-
-abstract class AbstractK8sLoader: K8sResourceLoader {
-
-    fun loadK8sResource(kind: String, resourceString: String): KubernetesResource {
-        return when (kind.replaceFirst(kind[0],kind[0].toUpperCase())) {
-            "Deployment" -> loadDeployment(resourceString)
-            "Service" -> loadService(resourceString)
-            "ServiceMonitor" -> loadServiceMonitor(resourceString)
-            "ConfigMap" -> loadConfigmap(resourceString)
-            "StatefulSet" -> loadStatefulSet(resourceString)
-            "Execution" -> loadExecution(resourceString)
-            "Benchmark" -> loadBenchmark(resourceString)
-            else -> {
-                logger.error { "Error during loading of unspecified resource Kind $kind" }
-                throw java.lang.IllegalArgumentException("error while loading resource with kind: $kind")
-            }
-        }
-    }
-
-    fun <T> loadGenericResource(resourceString: String, f: (String) -> T): T {
-        var resource: T? = null
-
-        try {
-            resource = f(resourceString)
-        } catch (e: Exception) {
-            logger.warn { e }
-        }
-
-        if (resource == null) {
-            throw IllegalArgumentException("The Resource: $resourceString could not be loaded")
-        }
-        return resource
-    }
-
-
-
-    override fun loadServiceMonitor(resource: String): KubernetesResource {
-        val context = K8sContextFactory().create(
-            api = "v1",
-            scope = "Namespaced",
-            group = "monitoring.coreos.com",
-            plural = "servicemonitors"
-        )
-        return loadCustomResourceWrapper(resource, context)
-    }
-
-    override fun loadExecution(resource: String): KubernetesResource {
-        val context = K8sContextFactory().create(
-            api = "v1",
-            scope = "Namespaced",
-            group = "theodolite.com",
-            plural = "executions"
-        )
-        return loadCustomResourceWrapper(resource, context)
-    }
-
-    override fun loadBenchmark(resource: String): KubernetesResource {
-        val context = K8sContextFactory().create(
-            api = "v1",
-            scope = "Namespaced",
-            group = "theodolite.com",
-            plural = "benchmarks"
-        )
-        return loadCustomResourceWrapper(resource, context)
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoader.kt b/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoader.kt
deleted file mode 100644
index c123ab2958132cb43ad188136f738b561e91310b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoader.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package theodolite.k8s.resourceLoader
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
-
-interface K8sResourceLoader {
-    fun loadDeployment(resource: String): KubernetesResource
-    fun loadService(resource: String): KubernetesResource
-    fun loadStatefulSet(resource: String): KubernetesResource
-    fun loadExecution(resource: String): KubernetesResource
-    fun loadBenchmark(resource: String): KubernetesResource
-    fun loadConfigmap(resource: String): KubernetesResource
-    fun loadServiceMonitor(resource: String): KubernetesResource
-    fun loadCustomResourceWrapper(resource: String, context: CustomResourceDefinitionContext): KubernetesResource
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromFile.kt b/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromFile.kt
deleted file mode 100644
index 08f34e1d67c9821c9f9a07a49f4ba8683a072611..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromFile.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-package theodolite.k8s.resourceLoader
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Service
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
-import theodolite.k8s.CustomResourceWrapper
-import theodolite.util.YamlParserFromFile
-
-/**
- * Used to load different Kubernetes resources.
- * Supports: Deployments, Services, ConfigMaps, and CustomResources.
- * @param client KubernetesClient used to deploy or remove.
- */
-class K8sResourceLoaderFromFile(private val client: NamespacedKubernetesClient): AbstractK8sLoader(),
-    K8sResourceLoader {
-
-    /**
-     * Parses a Service from a service yaml
-     * @param resource of the yaml file
-     * @return Service from fabric8
-     */
-    override fun loadService(resource: String): Service {
-        return loadGenericResource(resource) { x: String -> client.services().load(x).get() }
-    }
-
-
-    /**
-     * Parses a CustomResource from a yaml
-     * @param path of the yaml file
-     * @param context specific crd context for this custom resource
-     * @return  CustomResourceWrapper from fabric8
-     */
-    override fun loadCustomResourceWrapper(resource: String, context: CustomResourceDefinitionContext): CustomResourceWrapper {
-       return loadGenericResource(resource) {
-           CustomResourceWrapper(
-               YamlParserFromFile().parse(
-                   resource,
-                   HashMap<String, String>()::class.java
-               )!!,
-               context
-           )
-       }
-   }
-
-    /**
-     * Parses a Deployment from a Deployment yaml
-     * @param resource of the yaml file
-     * @return Deployment from fabric8
-     */
-    override fun loadDeployment(resource: String): Deployment {
-        return loadGenericResource(resource) { x: String -> client.apps().deployments().load(x).get() }
-    }
-
-    /**
-     * Parses a ConfigMap from a ConfigMap yaml
-     * @param resource of the yaml file
-     * @return ConfigMap from fabric8
-     */
-    override fun loadConfigmap(resource: String): ConfigMap {
-        return loadGenericResource(resource) { x: String -> client.configMaps().load(x).get() }
-    }
-
-    /**
-     * Parses a StatefulSet from a StatefulSet yaml
-     * @param resource of the yaml file
-     * @return StatefulSet from fabric8
-     */
-    override fun loadStatefulSet(resource: String): KubernetesResource {
-        return loadGenericResource(resource) { x: String -> client.apps().statefulSets().load(x).get() }
-
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromString.kt b/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromString.kt
deleted file mode 100644
index e9611aaa82870dfb676820029cf42c5aab63d672..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/k8s/resourceLoader/K8sResourceLoaderFromString.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package theodolite.k8s.resourceLoader
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.client.NamespacedKubernetesClient
-import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
-import theodolite.k8s.CustomResourceWrapper
-import theodolite.util.YamlParserFromString
-import java.io.ByteArrayInputStream
-
-class K8sResourceLoaderFromString(private val client: NamespacedKubernetesClient): AbstractK8sLoader(),
-    K8sResourceLoader {
-
-    @OptIn(ExperimentalStdlibApi::class)
-    override fun loadService(resource: String): KubernetesResource {
-        return loadGenericResource(resource) { x: String ->
-            val stream = ByteArrayInputStream(x.encodeToByteArray())
-            client.services().load(stream).get() }
-    }
-
-    @OptIn(ExperimentalStdlibApi::class)
-    override fun loadDeployment(resource: String): Deployment {
-        return loadGenericResource(resource) { x: String ->
-            val stream = ByteArrayInputStream(x.encodeToByteArray())
-            client.apps().deployments().load(stream).get() }
-    }
-
-    @OptIn(ExperimentalStdlibApi::class)
-    override fun loadConfigmap(resource: String): ConfigMap {
-        return loadGenericResource(resource) { x: String ->
-            val stream = ByteArrayInputStream(x.encodeToByteArray())
-            client.configMaps().load(stream).get() }
-    }
-
-    @OptIn(ExperimentalStdlibApi::class)
-    override fun loadStatefulSet(resource: String): KubernetesResource {
-        return loadGenericResource(resource) { x: String ->
-            val stream = ByteArrayInputStream(x.encodeToByteArray())
-            client.apps().statefulSets().load(stream).get() }
-    }
-
-    /**
-     * Parses a CustomResource from a yaml
-     * @param resource of the yaml file
-     * @param context specific crd context for this custom resource
-     * @return  CustomResourceWrapper from fabric8
-     */
-    override fun loadCustomResourceWrapper(resource: String, context: CustomResourceDefinitionContext): CustomResourceWrapper {
-        return loadGenericResource(resource) {
-            CustomResourceWrapper(
-                YamlParserFromString().parse(
-                    resource,
-                    HashMap<String, String>()::class.java
-                )!!,
-                context
-            )
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkCRD.kt b/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkCRD.kt
deleted file mode 100644
index b6468fff523e57b124e144d5b9fef6477973655a..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkCRD.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite.model.crd
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.HasMetadata
-import io.fabric8.kubernetes.api.model.Namespaced
-import io.fabric8.kubernetes.client.CustomResource
-import io.fabric8.kubernetes.model.annotation.Group
-import io.fabric8.kubernetes.model.annotation.Kind
-import io.fabric8.kubernetes.model.annotation.Version
-import theodolite.benchmark.KubernetesBenchmark
-
-@JsonDeserialize
-@Version("v1")
-@Group("theodolite.com")
-@Kind("benchmark")
-class BenchmarkCRD(
-    var spec: KubernetesBenchmark = KubernetesBenchmark(),
-    var status: BenchmarkStatus = BenchmarkStatus()
-) : CustomResource<KubernetesBenchmark, BenchmarkStatus>(), Namespaced, HasMetadata
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStates.kt b/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStates.kt
deleted file mode 100644
index f52f2c168765ebb8bcc4f390795aa470b968021b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/model/crd/BenchmarkStates.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package theodolite.model.crd
-
-enum class BenchmarkStates(val value: String) {
-    PENDING("Pending"),
-    READY("Ready")
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionCRD.kt b/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionCRD.kt
deleted file mode 100644
index 659621e8c3b1d5308a10d81240575dd3d432b53f..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionCRD.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package theodolite.model.crd
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.Namespaced
-import io.fabric8.kubernetes.client.CustomResource
-import io.fabric8.kubernetes.model.annotation.Group
-import io.fabric8.kubernetes.model.annotation.Kind
-import io.fabric8.kubernetes.model.annotation.Version
-import theodolite.benchmark.BenchmarkExecution
-
-@JsonDeserialize
-@Version("v1")
-@Group("theodolite.com")
-@Kind("execution")
-class ExecutionCRD(
-    var spec: BenchmarkExecution = BenchmarkExecution(),
-    var status: ExecutionStatus = ExecutionStatus()
-) : CustomResource<BenchmarkExecution, ExecutionStatus>(), Namespaced
diff --git a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStatus.kt b/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStatus.kt
deleted file mode 100644
index 252738959762aa5d0732babc5589c698d7bd4e9f..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/model/crd/ExecutionStatus.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-package theodolite.model.crd
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Namespaced
-
-@JsonDeserialize
-class ExecutionStatus : KubernetesResource, Namespaced {
-    var executionState: String = ""
-    var executionDuration: String = "-"
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt
deleted file mode 100644
index df80e9cbd2503685a7dbed35db5319920dfc42cb..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-
-/**
- * A Patcher is able to modify values of a Kubernetes resource, see [Patcher].
- *
- * An AbstractPatcher is created with up to three parameters.
- *
- * @param k8sResource The Kubernetes resource to be patched.
- * @param container *(optional)* The name of the container to be patched
- * @param variableName *(optional)* The variable name to be patched
- *
- *
- * **For example** to patch the load dimension of a load generator, the patcher should be created as follow:
- *
- * k8sResource: `uc-1-workload-generator.yaml`
- * container: `workload`
- * variableName: `NUM_SENSORS`
- *
- */
-abstract class AbstractPatcher(
-    k8sResource: KubernetesResource
-) : Patcher
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ConfigOverrideModifier.kt b/theodolite/src/main/kotlin/theodolite/patcher/ConfigOverrideModifier.kt
deleted file mode 100644
index 8f77b1b95f3bf5cc9422cda55cb261048cebaeb6..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/ConfigOverrideModifier.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package theodolite.patcher
-
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.util.ConfigurationOverride
-import theodolite.util.PatcherDefinition
-
-/**
- * The ConfigOverrideModifier makes it possible to update the configuration overrides of an execution.
- *
- * @property execution execution for which the config overrides should be updated
- * @property resources list of all resources that should be updated.
- */
-class ConfigOverrideModifier(val execution: BenchmarkExecution, val resources: List<String>) {
-
-    /**
-     * Adds a [LabelPatcher] to the configOverrides.
-     *
-     * @param labelValue value argument for the label patcher
-     * @param labelName  label name argument for the label patcher
-     */
-    fun setAdditionalLabels(
-        labelValue: String,
-        labelName: String
-    ) {
-        val additionalConfigOverrides = mutableListOf<ConfigurationOverride>()
-        resources.forEach {
-            run {
-                val configurationOverride = ConfigurationOverride()
-                configurationOverride.patcher = PatcherDefinition()
-                configurationOverride.patcher.type = "LabelPatcher"
-                configurationOverride.patcher.properties = mutableMapOf("variableName" to labelName)
-                configurationOverride.patcher.resource = it
-                configurationOverride.value = labelValue
-                additionalConfigOverrides.add(configurationOverride)
-            }
-        }
-        execution.configOverrides.addAll(additionalConfigOverrides)
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt
deleted file mode 100644
index 8f6753372076c119324dc962112928253633b6b0..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt
+++ /dev/null
@@ -1,27 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-
-/**
- * The Image patcher allows to change the image of a container.
- *
- * @param k8sResource Kubernetes resource to be patched.
- * @param container Container to be patched.
- */
-class ImagePatcher(private val k8sResource: KubernetesResource, private val container: String) :
-    AbstractPatcher(k8sResource) {
-
-    override fun <String> patch(imagePath: String) {
-        if (k8sResource is Deployment) {
-            k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                it.image = imagePath as kotlin.String
-            }
-        } else if (k8sResource is StatefulSet) {
-            k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                it.image = imagePath as kotlin.String
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt
deleted file mode 100644
index 2f8c703afa9e826a79f0785abef493d2d448ac74..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Service
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import io.fabric8.kubernetes.client.CustomResource
-
-class LabelPatcher(private val k8sResource: KubernetesResource, val variableName: String) :
-    AbstractPatcher(k8sResource) {
-
-    override fun <String> patch(labelValue: String) {
-        if (labelValue is kotlin.String) {
-            when (k8sResource) {
-                is Deployment -> {
-                    if (k8sResource.metadata.labels == null) {
-                        k8sResource.metadata.labels = mutableMapOf()
-                    }
-                    k8sResource.metadata.labels[this.variableName] = labelValue
-                }
-                is StatefulSet -> {
-                    if (k8sResource.metadata.labels == null) {
-                        k8sResource.metadata.labels = mutableMapOf()
-                    }
-                    k8sResource.metadata.labels[this.variableName] = labelValue
-                }
-                is Service -> {
-                    if (k8sResource.metadata.labels == null) {
-                        k8sResource.metadata.labels = mutableMapOf()
-                    }
-                    k8sResource.metadata.labels[this.variableName] = labelValue
-                }
-                is ConfigMap -> {
-                    if (k8sResource.metadata.labels == null) {
-                        k8sResource.metadata.labels = mutableMapOf()
-                    }
-                    k8sResource.metadata.labels[this.variableName] = labelValue
-                }
-                is CustomResource<*, *> -> {
-                    if (k8sResource.metadata.labels == null) {
-                        k8sResource.metadata.labels = mutableMapOf()
-                    }
-                    k8sResource.metadata.labels[this.variableName] = labelValue
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt
deleted file mode 100644
index 0e8cd553a6c6a9ed6fa2c8cc1b84e4cfebe79d73..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-
-/**
- * The Node selector patcher make it possible to set the NodeSelector of a Kubernetes deployment.
- *
- * @param k8sResource Kubernetes resource to be patched.
- * @param variableName The `label-key` of the node for which the `label-value` is to be patched.
- */
-class NodeSelectorPatcher(private val k8sResource: KubernetesResource, private val variableName: String) :
-    AbstractPatcher(k8sResource) {
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
-            k8sResource.spec.template.spec.nodeSelector = mapOf(variableName to value as kotlin.String)
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt
deleted file mode 100644
index c617917e6894c3a30779dd4257a96365ded35481..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import kotlin.math.pow
-
-class NumNestedGroupsLoadGeneratorReplicaPatcher(
-    private val k8sResource: KubernetesResource,
-    private val numSensors: String,
-    private val loadGenMaxRecords: String
-) :
-    AbstractPatcher(k8sResource) {
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
-            if (value is kotlin.String) {
-                val approxNumSensors = numSensors.toDouble().pow(Integer.parseInt(value).toDouble())
-                val loadGenInstances =
-                    (approxNumSensors + loadGenMaxRecords.toDouble() - 1) / loadGenMaxRecords.toDouble()
-                this.k8sResource.spec.replicas = loadGenInstances.toInt()
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt
deleted file mode 100644
index 86bb37db3cb9fd0d3bca1690d5eb4e622329a9bc..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-
-
-class NumSensorsLoadGeneratorReplicaPatcher(
-    private val k8sResource: KubernetesResource,
-    private val loadGenMaxRecords: String
-) :
-    AbstractPatcher(k8sResource) {
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
-            if (value is kotlin.String) {
-                val loadGenInstances =
-                    (Integer.parseInt(value) + loadGenMaxRecords.toInt() - 1) / loadGenMaxRecords.toInt()
-                this.k8sResource.spec.replicas = loadGenInstances
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt b/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt
deleted file mode 100644
index ebad5de74a6b819dbf7887dfad91faac37ed5074..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt
+++ /dev/null
@@ -1,96 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import theodolite.util.DeploymentFailedException
-import theodolite.util.InvalidPatcherConfigurationException
-import theodolite.util.PatcherDefinition
-
-/**
- * The Patcher factory creates [Patcher]s
- *
- * @constructor Creates an empty PatcherFactory.
- */
-class PatcherFactory {
-    /**
-     * Create patcher based on the given [PatcherDefinition] and
-     * the list of KubernetesResources.
-     *
-     * @param patcherDefinition The [PatcherDefinition] for which are
-     *     [Patcher] should be created.
-     * @param k8sResources List of all available Kubernetes resources.
-     *     This is a list of pairs<String, KubernetesResource>:
-     *     The frist corresponds to the filename where the resource is defined.
-     *     The second corresponds to the concrete [KubernetesResource] that should be patched.
-     * @return The created [Patcher].
-     * @throws IllegalArgumentException if no patcher can be created.
-     */
-    fun createPatcher(
-        patcherDefinition: PatcherDefinition,
-        k8sResources: Collection<Pair<String, KubernetesResource>>
-    ): Patcher {
-        val resource =
-            k8sResources.filter { it.first == patcherDefinition.resource }
-                .map { resource -> resource.second }
-                .firstOrNull()
-                ?: throw InvalidPatcherConfigurationException("Could not find resource ${patcherDefinition.resource}")
-
-        return try {
-            when (patcherDefinition.type) {
-                "ReplicaPatcher" -> ReplicaPatcher(
-                    k8sResource = resource
-                )
-                "NumNestedGroupsLoadGeneratorReplicaPatcher" -> NumNestedGroupsLoadGeneratorReplicaPatcher(
-                    k8sResource = resource,
-                    loadGenMaxRecords = patcherDefinition.properties["loadGenMaxRecords"]!!,
-                    numSensors = patcherDefinition.properties["numSensors"]!!
-                )
-                "NumSensorsLoadGeneratorReplicaPatcher" -> NumSensorsLoadGeneratorReplicaPatcher(
-                    k8sResource = resource,
-                    loadGenMaxRecords = patcherDefinition.properties["loadGenMaxRecords"]!!
-                )
-                "DataVolumeLoadGeneratorReplicaPatcher" -> DataVolumeLoadGeneratorReplicaPatcher(
-                    k8sResource = resource,
-                    maxVolume = patcherDefinition.properties["maxVolume"]!!.toInt(),
-                    container = patcherDefinition.properties["container"]!!,
-                    variableName = patcherDefinition.properties["variableName"]!!
-                )
-                "EnvVarPatcher" -> EnvVarPatcher(
-                    k8sResource = resource,
-                    container = patcherDefinition.properties["container"]!!,
-                    variableName = patcherDefinition.properties["variableName"]!!
-                )
-                "NodeSelectorPatcher" -> NodeSelectorPatcher(
-                    k8sResource = resource,
-                    variableName = patcherDefinition.properties["variableName"]!!
-                )
-                "ResourceLimitPatcher" -> ResourceLimitPatcher(
-                    k8sResource = resource,
-                    container = patcherDefinition.properties["container"]!!,
-                    limitedResource = patcherDefinition.properties["limitedResource"]!!
-                )
-                "ResourceRequestPatcher" -> ResourceRequestPatcher(
-                    k8sResource = resource,
-                    container = patcherDefinition.properties["container"]!!,
-                    requestedResource = patcherDefinition.properties["requestedResource"]!!
-                )
-                "SchedulerNamePatcher" -> SchedulerNamePatcher(
-                    k8sResource = resource
-                )
-                "LabelPatcher" -> LabelPatcher(
-                    k8sResource = resource,
-                    variableName = patcherDefinition.properties["variableName"]!!
-                )
-                "ImagePatcher" -> ImagePatcher(
-                    k8sResource = resource,
-                    container = patcherDefinition.properties["container"]!!
-                )
-                else -> throw InvalidPatcherConfigurationException("Patcher type ${patcherDefinition.type} not found.")
-            }
-        } catch (e: NullPointerException) {
-            throw InvalidPatcherConfigurationException(
-                "Could not create patcher with type ${patcherDefinition.type}" +
-                        " Probably a required patcher argument was not specified.", e
-            )
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt
deleted file mode 100644
index 4cc35f2ed74f9e366c266c3f98f1b3d36d4ba1b8..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-
-/**
- * The Replica [Patcher] modifies the number of replicas for the given Kubernetes deployment.
- *
- * @param k8sResource  Kubernetes resource to be patched.
- */
-class ReplicaPatcher(private val k8sResource: KubernetesResource) : AbstractPatcher(k8sResource) {
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
-            if (value is kotlin.String) {
-                this.k8sResource.spec.replicas = Integer.parseInt(value)
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt
deleted file mode 100644
index 9dcdffa0407dd4fdaf2d9b0a898bcdf6cebe5a8b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.Container
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Quantity
-import io.fabric8.kubernetes.api.model.ResourceRequirements
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import theodolite.util.InvalidPatcherConfigurationException
-
-/**
- * The Resource limit [Patcher] set resource limits for deployments and statefulSets.
- *
- * @param k8sResource Kubernetes resource to be patched.
- * @param container Container to be patched.
- * @param limitedResource The resource to be limited (e.g. **cpu or memory**)
- */
-class ResourceLimitPatcher(
-    private val k8sResource: KubernetesResource,
-    private val container: String,
-    private val limitedResource: String
-) : AbstractPatcher(k8sResource) {
-
-    override fun <String> patch(value: String) {
-        when (k8sResource) {
-            is Deployment -> {
-                k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                    setLimits(it, value as kotlin.String)
-                }
-            }
-            is StatefulSet -> {
-                k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
-                    setLimits(it, value as kotlin.String)
-                }
-            }
-            else -> {
-                throw InvalidPatcherConfigurationException("ResourceLimitPatcher not applicable for $k8sResource")
-            }
-        }
-    }
-
-    private fun setLimits(container: Container, value: String) {
-        when {
-            container.resources == null -> {
-                val resource = ResourceRequirements()
-                resource.limits = mapOf(limitedResource to Quantity(value))
-                container.resources = resource
-            }
-            container.resources.limits.isEmpty() -> {
-                container.resources.limits = mapOf(limitedResource to Quantity(value))
-            }
-            else -> {
-                val values = mutableMapOf<String, Quantity>()
-                container.resources.limits.forEach { entry -> values[entry.key] = entry.value }
-                values[limitedResource] = Quantity(value)
-                container.resources.limits = values
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt
deleted file mode 100644
index 348f0c50090a34c91221d3e099c3532375a578da..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package theodolite.patcher
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.apps.Deployment
-
-/**
- * The Scheduler name [Patcher] make it possible to set the scheduler which should
- * be used to deploy the given deployment.
- * @param k8sResource Kubernetes resource to be patched.
- */
-class SchedulerNamePatcher(private val k8sResource: KubernetesResource) : Patcher {
-    override fun <String> patch(value: String) {
-        if (k8sResource is Deployment) {
-            k8sResource.spec.template.spec.schedulerName = value as kotlin.String
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/StrategyFactory.kt b/theodolite/src/main/kotlin/theodolite/strategies/StrategyFactory.kt
deleted file mode 100644
index 829370e8ce1c181c1a4cb9fdd8ccf0ecefd48d3d..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/StrategyFactory.kt
+++ /dev/null
@@ -1,54 +0,0 @@
-package theodolite.strategies
-
-import theodolite.execution.BenchmarkExecutor
-import theodolite.strategies.restriction.LowerBoundRestriction
-import theodolite.strategies.restriction.RestrictionStrategy
-import theodolite.strategies.searchstrategy.BinarySearch
-import theodolite.strategies.searchstrategy.FullSearch
-import theodolite.strategies.searchstrategy.LinearSearch
-import theodolite.strategies.searchstrategy.SearchStrategy
-import theodolite.util.Results
-
-/**
- * Factory for creating [SearchStrategy] and [RestrictionStrategy] strategies.
- */
-class StrategyFactory {
-
-    /**
-     * Create a [SearchStrategy].
-     *
-     * @param executor The [theodolite.execution.BenchmarkExecutor] that executes individual experiments.
-     * @param searchStrategyString Specifies the [SearchStrategy]. Must either be the string 'LinearSearch',
-     * or 'BinarySearch'.
-     *
-     * @throws IllegalArgumentException if the [SearchStrategy] was not one of the allowed options.
-     */
-    fun createSearchStrategy(executor: BenchmarkExecutor, searchStrategyString: String): SearchStrategy {
-        return when (searchStrategyString) {
-            "FullSearch" -> FullSearch(executor)
-            "LinearSearch" -> LinearSearch(executor)
-            "BinarySearch" -> BinarySearch(executor)
-            else -> throw IllegalArgumentException("Search Strategy $searchStrategyString not found")
-        }
-    }
-
-    /**
-     * Create a [RestrictionStrategy].
-     *
-     * @param results The [Results] saves the state of the Theodolite benchmark run.
-     * @param restrictionStrings Specifies the list of [RestrictionStrategy] that are used to restrict the amount
-     * of [theodolite.util.Resource] for a fixed LoadDimension. Must equal the string
-     * 'LowerBound'.
-     *
-     * @throws IllegalArgumentException if param searchStrategyString was not one of the allowed options.
-     */
-    fun createRestrictionStrategy(results: Results, restrictionStrings: List<String>): Set<RestrictionStrategy> {
-        return restrictionStrings
-            .map { restriction ->
-                when (restriction) {
-                    "LowerBound" -> LowerBoundRestriction(results)
-                    else -> throw IllegalArgumentException("Restriction Strategy $restrictionStrings not found")
-                }
-            }.toSet()
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/restriction/LowerBoundRestriction.kt b/theodolite/src/main/kotlin/theodolite/strategies/restriction/LowerBoundRestriction.kt
deleted file mode 100644
index 13bfedfe055f2bd428137f89b2986f3967ec797c..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/restriction/LowerBoundRestriction.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package theodolite.strategies.restriction
-
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
-
-/**
- * The [LowerBoundRestriction] sets the lower bound of the resources to be examined to the value
- * needed to successfully execute the next smaller load.
- *
- * @param results [Result] object used as a basis to restrict the resources.
- */
-class LowerBoundRestriction(results: Results) : RestrictionStrategy(results) {
-
-    override fun apply(load: LoadDimension, resources: List<Resource>): List<Resource> {
-        val maxLoad: LoadDimension? = this.results.getMaxBenchmarkedLoad(load)
-        var lowerBound: Resource? = this.results.getMinRequiredInstances(maxLoad)
-        if (lowerBound == null) {
-            lowerBound = resources[0]
-        }
-        return resources.filter { x -> x.get() >= lowerBound.get() }
-    }
-
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/restriction/RestrictionStrategy.kt b/theodolite/src/main/kotlin/theodolite/strategies/restriction/RestrictionStrategy.kt
deleted file mode 100644
index 1ab7302d7898daad729b1c94c32d97138b5cdcf4..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/restriction/RestrictionStrategy.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package theodolite.strategies.restriction
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
-
-/**
- * A 'Restriction Strategy' restricts a list of resources based on the current
- * results of all previously performed benchmarks.
- *
- * @param results the [Results] object
- */
-@RegisterForReflection
-abstract class RestrictionStrategy(val results: Results) {
-    /**
-     * Apply the restriction of the given resource list for the given load based on the results object.
-     *
-     * @param load [LoadDimension] for which a subset of resources are required.
-     * @param resources List of [Resource]s to be restricted.
-     * @return Returns a list containing only elements that have not been filtered out by the
-     * restriction (possibly empty).
-     */
-    abstract fun apply(load: LoadDimension, resources: List<Resource>): List<Resource>
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt b/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt
deleted file mode 100644
index 28e8194c699cd074026c8cb7e6f3ce4ec347023b..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt
+++ /dev/null
@@ -1,61 +0,0 @@
-package theodolite.strategies.searchstrategy
-
-import mu.KotlinLogging
-import theodolite.execution.BenchmarkExecutor
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-private val logger = KotlinLogging.logger {}
-
-/**
- *  Binary-search-like implementation for determining the smallest suitable number of instances.
- *
- * @param benchmarkExecutor Benchmark executor which runs the individual benchmarks.
- */
-class BinarySearch(benchmarkExecutor: BenchmarkExecutor) : SearchStrategy(benchmarkExecutor) {
-    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
-        val result = binarySearch(load, resources, 0, resources.size - 1)
-        if (result == -1) {
-            return null
-        }
-        return resources[result]
-    }
-
-    /**
-     * Apply binary search.
-     *
-     * @param load the load dimension to perform experiments for
-     * @param resources the list in which binary search is performed
-     * @param lower lower bound for binary search (inclusive)
-     * @param upper upper bound for binary search (inclusive)
-     */
-    private fun binarySearch(load: LoadDimension, resources: List<Resource>, lower: Int, upper: Int): Int {
-        if (lower > upper) {
-            throw IllegalArgumentException()
-        }
-        // special case:  length == 1 or 2
-        if (lower == upper) {
-            val res = resources[lower]
-            logger.info { "Running experiment with load '${load.get()}' and resources '${res.get()}'" }
-            if (this.benchmarkExecutor.runExperiment(load, resources[lower])) return lower
-            else {
-                if (lower + 1 == resources.size) return -1
-                return lower + 1
-            }
-        } else {
-            // apply binary search for a list with
-            // length > 2 and adjust upper and lower depending on the result for `resources[mid]`
-            val mid = (upper + lower) / 2
-            val res = resources[mid]
-            logger.info { "Running experiment with load '${load.get()}' and resources '${res.get()}'" }
-            if (this.benchmarkExecutor.runExperiment(load, resources[mid])) {
-                if (mid == lower) {
-                    return lower
-                }
-                return binarySearch(load, resources, lower, mid - 1)
-            } else {
-                return binarySearch(load, resources, mid + 1, upper)
-            }
-        }
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt b/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt
deleted file mode 100644
index 41cc5c325163ade54469398e815fdb8d95c6e6cd..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package theodolite.strategies.searchstrategy
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.execution.BenchmarkExecutor
-import theodolite.strategies.restriction.RestrictionStrategy
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-/**
- *  Composite strategy that combines a SearchStrategy and a set of RestrictionStrategy.
- *
- * @param searchStrategy the [SearchStrategy] that is executed as part of this [CompositeStrategy].
- * @param restrictionStrategies the set of [RestrictionStrategy] that are connected conjunctive to restrict the [Resource]
- * @param benchmarkExecutor Benchmark executor which runs the individual benchmarks.
- */
-@RegisterForReflection
-class CompositeStrategy(
-    benchmarkExecutor: BenchmarkExecutor,
-    private val searchStrategy: SearchStrategy,
-    val restrictionStrategies: Set<RestrictionStrategy>
-) : SearchStrategy(benchmarkExecutor) {
-
-    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
-        var restrictedResources = resources.toList()
-        for (strategy in this.restrictionStrategies) {
-            restrictedResources = restrictedResources.intersect(strategy.apply(load, resources)).toList()
-        }
-        return this.searchStrategy.findSuitableResource(load, restrictedResources)
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/FullSearch.kt b/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/FullSearch.kt
deleted file mode 100644
index cb0dd2d8ab528e42e8290f59f26c8b9b32f384c7..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/FullSearch.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package theodolite.strategies.searchstrategy
-
-import mu.KotlinLogging
-import theodolite.execution.BenchmarkExecutor
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-private val logger = KotlinLogging.logger {}
-
-/**
- * [SearchStrategy] that executes experiment for provides resources in a linear-search-like fashion, but **without
- * stopping** once a suitable resource amount is found.
- *
- * @see LinearSearch for a SearchStrategy that stops once a suitable resource amount is found.
- *
- * @param benchmarkExecutor Benchmark executor which runs the individual benchmarks.
- */
-class FullSearch(benchmarkExecutor: BenchmarkExecutor) : SearchStrategy(benchmarkExecutor) {
-
-    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
-        var minimalSuitableResources: Resource? = null
-        for (res in resources) {
-            logger.info { "Running experiment with load '${load.get()}' and resources '${res.get()}'" }
-            val result = this.benchmarkExecutor.runExperiment(load, res)
-            if (result && minimalSuitableResources != null) {
-                minimalSuitableResources = res
-            }
-        }
-        return minimalSuitableResources
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt b/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt
deleted file mode 100644
index 85deaf6fa75437199bfc560404eb5b40bb4a986a..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-package theodolite.strategies.searchstrategy
-
-import mu.KotlinLogging
-import theodolite.execution.BenchmarkExecutor
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-private val logger = KotlinLogging.logger {}
-
-/**
- *  Linear-search-like implementation for determining the smallest suitable number of instances.
- *
- * @param benchmarkExecutor Benchmark executor which runs the individual benchmarks.
- */
-class LinearSearch(benchmarkExecutor: BenchmarkExecutor) : SearchStrategy(benchmarkExecutor) {
-
-    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
-        for (res in resources) {
-
-            logger.info { "Running experiment with load '${load.get()}' and resources '${res.get()}'" }
-            if (this.benchmarkExecutor.runExperiment(load, res)) return res
-        }
-        return null
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt b/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt
deleted file mode 100644
index 4e304b010d4d56f6b5fe734a6b977361f93e57a1..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package theodolite.strategies.searchstrategy
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.execution.BenchmarkExecutor
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-/**
- *  Base class for the implementation for SearchStrategies. SearchStrategies determine the smallest suitable number of instances.
- *
- * @param benchmarkExecutor Benchmark executor which runs the individual benchmarks.
- */
-@RegisterForReflection
-abstract class SearchStrategy(val benchmarkExecutor: BenchmarkExecutor) {
-    /**
-     * Find smallest suitable resource from the specified resource list for the given load.
-     *
-     * @param load the [LoadDimension] to be tested.
-     * @param resources List of all possible [Resource]s.
-     *
-     * @return suitable resource for the specified load, or null if no suitable resource exists.
-     */
-    abstract fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource?
-}
diff --git a/theodolite/src/main/kotlin/theodolite/util/Config.kt b/theodolite/src/main/kotlin/theodolite/util/Config.kt
deleted file mode 100644
index afbf784e9d6d72939615e367b54891ecd95a3608..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/Config.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package theodolite.util
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-import theodolite.strategies.searchstrategy.CompositeStrategy
-
-/**
- * Config class that represents a configuration of a theodolite run.
- *
- * @param loads the [LoadDimension] of the execution
- * @param resources the [Resource] of the execution
- * @param compositeStrategy the [CompositeStrategy] of the execution
- */
-@RegisterForReflection
-data class Config(
-    val loads: List<LoadDimension>,
-    val resources: List<Resource>,
-    val compositeStrategy: CompositeStrategy
-)
diff --git a/theodolite/src/main/kotlin/theodolite/util/EvaluationFailedException.kt b/theodolite/src/main/kotlin/theodolite/util/EvaluationFailedException.kt
deleted file mode 100644
index c67ed7ffd79afc733a97dae05c3203f8e78722ea..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/EvaluationFailedException.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-package theodolite.util
-
-class EvaluationFailedException(message: String, e: Exception? = null) : ExecutionFailedException(message,e) {
-}
diff --git a/theodolite/src/main/kotlin/theodolite/util/ExecutionFailedException.kt b/theodolite/src/main/kotlin/theodolite/util/ExecutionFailedException.kt
deleted file mode 100644
index 6566a451a3e273214f59962531b6bd17b33a850d..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/ExecutionFailedException.kt
+++ /dev/null
@@ -1,4 +0,0 @@
-package theodolite.util
-
-open class ExecutionFailedException(message: String, e: Exception? = null) : TheodoliteException(message,e) {
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/util/ExecutionStateComparator.kt b/theodolite/src/main/kotlin/theodolite/util/ExecutionStateComparator.kt
deleted file mode 100644
index 8a6b0e9a49362afa401cf3c1279e7f7f6cddf85d..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/ExecutionStateComparator.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite.util
-
-import theodolite.model.crd.ExecutionCRD
-import theodolite.model.crd.ExecutionStates
-
-class ExecutionStateComparator(private val preferredState: ExecutionStates): Comparator<ExecutionCRD> {
-
-    /**
-     * Simple comparator which can be used to order a list of [ExecutionCRD] such that executions with
-     * status [ExecutionStates.RESTART] are before all other executions.
-     */
-    override fun compare(p0: ExecutionCRD, p1: ExecutionCRD): Int {
-       return when {
-            (p0 == null && p1 == null) -> 0
-            (p0.status.executionState == preferredState.value) -> -1
-            else -> 1
-        }
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/theodolite/util/LoadDimension.kt b/theodolite/src/main/kotlin/theodolite/util/LoadDimension.kt
deleted file mode 100644
index cf26da979b05f0a2bd82289ce371715ea0d67c93..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/LoadDimension.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package theodolite.util
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-
-/**
- * Representation of the load dimensions for a execution of theodolite.
- *
- * @param number the value of this [LoadDimension]
- * @param type [PatcherDefinition] of this [LoadDimension]
- */
-@RegisterForReflection
-data class LoadDimension(private val number: Int, private val type: List<PatcherDefinition>) {
-    /**
-     * @return the value of this load dimension.
-     */
-    fun get(): Int {
-        return this.number
-    }
-
-    /**
-     * @return the list of [PatcherDefinition]
-     */
-    fun getType(): List<PatcherDefinition> {
-        return this.type
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/util/Resource.kt b/theodolite/src/main/kotlin/theodolite/util/Resource.kt
deleted file mode 100644
index 1d6410aa4288e19817e3ba48bfd1bc0d85d006a2..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/Resource.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package theodolite.util
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-
-/**
- * Representation of the resources for an execution of Theodolite.
- */
-@RegisterForReflection
-data class Resource(private val number: Int, private val type: List<PatcherDefinition>) {
-
-    /**
-     * @return the value of this resource.
-     */
-    fun get(): Int {
-        return this.number
-    }
-
-    /**
-     * @return the list of [PatcherDefinition]
-     */
-    fun getType(): List<PatcherDefinition> {
-        return this.type
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/util/Results.kt b/theodolite/src/main/kotlin/theodolite/util/Results.kt
deleted file mode 100644
index 60641ea0248435de53aaaaf362da7be995b391c5..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/Results.kt
+++ /dev/null
@@ -1,86 +0,0 @@
-package theodolite.util
-
-import io.quarkus.runtime.annotations.RegisterForReflection
-
-/**
- * Central class that saves the state of a execution of Theodolite. For an execution, it is used to save the result of
- * individual experiments. Further, it is used by the RestrictionStrategy to
- * perform the [theodolite.strategies.restriction.RestrictionStrategy].
- */
-@RegisterForReflection
-class Results {
-    private val results: MutableMap<Pair<LoadDimension, Resource>, Boolean> = mutableMapOf()
-
-    /**
-     * Set the result for an experiment.
-     *
-     * @param experiment A pair that identifies the experiment by the [LoadDimension] and [Resource].
-     * @param successful the result of the experiment. Successful == true and Unsuccessful == false.
-     */
-    fun setResult(experiment: Pair<LoadDimension, Resource>, successful: Boolean) {
-        this.results[experiment] = successful
-    }
-
-    /**
-     * Get the result for an experiment.
-     *
-     * @param experiment A pair that identifies the experiment by the [LoadDimension] and [Resource].
-     * @return true if the experiment was successful and false otherwise. If the result has not been reported so far,
-     * null is returned.
-     *
-     * @see Resource
-     */
-    fun getResult(experiment: Pair<LoadDimension, Resource>): Boolean? {
-        return this.results[experiment]
-    }
-
-    /**
-     * Get the smallest suitable number of instances for a specified [LoadDimension].
-     *
-     * @param load the [LoadDimension]
-     *
-     * @return the smallest suitable number of resources. If the experiment was not executed yet,
-     * a @see Resource with the constant Int.MAX_VALUE as value is returned.
-     * If no experiments have been marked as either successful or unsuccessful
-     * yet, a Resource with the constant value Int.MIN_VALUE is returned.
-     */
-    fun getMinRequiredInstances(load: LoadDimension?): Resource? {
-        if (this.results.isEmpty()) {
-            return Resource(Int.MIN_VALUE, emptyList())
-        }
-
-        var minRequiredInstances: Resource? = Resource(Int.MAX_VALUE, emptyList())
-        for (experiment in results) {
-            // Get all successful experiments for requested load
-            if (experiment.key.first == load && experiment.value) {
-                if (minRequiredInstances == null || experiment.key.second.get() < minRequiredInstances.get()) {
-                    // Found new smallest resources
-                    minRequiredInstances = experiment.key.second
-                }
-            }
-        }
-        return minRequiredInstances
-    }
-
-    /**
-     * Get the largest [LoadDimension] that has been reported executed successfully (or unsuccessfully) so far, for a
-     * [LoadDimension] and is smaller than the given [LoadDimension].
-     *
-     * @param load the [LoadDimension]
-     *
-     * @return the largest [LoadDimension] or null, if there is none for this [LoadDimension]
-     */
-    fun getMaxBenchmarkedLoad(load: LoadDimension): LoadDimension? {
-        var maxBenchmarkedLoad: LoadDimension? = null
-        for (experiment in results) {
-            if (experiment.key.first.get() <= load.get()) {
-                if (maxBenchmarkedLoad == null) {
-                    maxBenchmarkedLoad = experiment.key.first
-                } else if (maxBenchmarkedLoad.get() < experiment.key.first.get()) {
-                    maxBenchmarkedLoad = experiment.key.first
-                }
-            }
-        }
-        return maxBenchmarkedLoad
-    }
-}
diff --git a/theodolite/src/main/kotlin/theodolite/util/TypeName.kt b/theodolite/src/main/kotlin/theodolite/util/TypeName.kt
deleted file mode 100644
index f20fc7c9ce6757be75d9317e76c23a68b09914bd..0000000000000000000000000000000000000000
--- a/theodolite/src/main/kotlin/theodolite/util/TypeName.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package theodolite.util
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize
-import io.quarkus.runtime.annotations.RegisterForReflection
-
-/**
- * The TypeName encapsulates a list of [PatcherDefinition] along with a typeName that specifies for what the [PatcherDefinition] should be used.
- */
-@RegisterForReflection
-@JsonDeserialize
-class TypeName {
-    lateinit var typeName: String
-    lateinit var patchers: List<PatcherDefinition>
-}
diff --git a/theodolite/src/main/resources/operator/example-execution-k8s-resource.yaml b/theodolite/src/main/resources/operator/example-execution-k8s-resource.yaml
index b81bbcd442834136283dc080f5f6a79bbc1cd415..ce91b1a5b03045152e94650c9ccf912e31ece44f 100644
--- a/theodolite/src/main/resources/operator/example-execution-k8s-resource.yaml
+++ b/theodolite/src/main/resources/operator/example-execution-k8s-resource.yaml
@@ -1,4 +1,4 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: theodolite-example-execution
diff --git a/theodolite/src/test/kotlin/MockServerUtils.kt b/theodolite/src/test/kotlin/MockServerUtils.kt
new file mode 100644
index 0000000000000000000000000000000000000000..0c8da45cd5d2dab948f9ccba1c2f4917050bb040
--- /dev/null
+++ b/theodolite/src/test/kotlin/MockServerUtils.kt
@@ -0,0 +1,20 @@
+import io.fabric8.kubernetes.api.model.APIResourceListBuilder
+import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+
+fun KubernetesServer.registerResource(context: ResourceDefinitionContext) {
+    val apiResourceList = APIResourceListBuilder()
+        .addNewResource()
+            .withName(context.plural)
+            .withKind(context.kind)
+            .withNamespaced(context.isNamespaceScoped)
+        .endResource()
+        .build()
+
+    this
+        .expect()
+        .get()
+        .withPath("/apis/${context.group}/${context.version}")
+        .andReturn(200, apiResourceList)
+        .always()
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/util/IOHandlerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/IOHandlerTest.kt
similarity index 90%
rename from theodolite/src/test/kotlin/theodolite/util/IOHandlerTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/core/IOHandlerTest.kt
index 6b8aa1d567fd2c93c1301fe3f953273e0f5d5420..65e84d7dd37eb5b68f77bc2d47d212db2f720a90 100644
--- a/theodolite/src/test/kotlin/theodolite/util/IOHandlerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/IOHandlerTest.kt
@@ -1,4 +1,4 @@
-package theodolite.util
+package rocks.theodolite.core
 
 import com.google.gson.GsonBuilder
 import io.quarkus.test.junit.QuarkusTest
@@ -12,7 +12,6 @@ import org.junit.rules.TemporaryFolder
 import org.junitpioneer.jupiter.ClearEnvironmentVariable
 import org.junitpioneer.jupiter.SetEnvironmentVariable
 
-
 const val FOLDER_URL = "Test-Folder"
 
 @QuarkusTest
@@ -56,11 +55,12 @@ internal class IOHandlerTest {
             columns = columns
         )
 
-        var expected = "Fruit,Color\n"
-        testContent.forEach { expected += it[0] + "," + it[1] + "\n" }
+        val expected = (listOf(listOf("Fruit", "Color")) + testContent)
+            .map { "${it[0]},${it[1]}" }
+            .reduce { left, right -> left + System.lineSeparator() + right }
 
         assertEquals(
-            expected.trim(),
+            expected,
             IOHandler().readFileAsString("${folder.absolutePath}/test-file.csv")
         )
     }
@@ -69,14 +69,14 @@ internal class IOHandlerTest {
     fun testWriteToJSONFile() {
         temporaryFolder.create()
         val folder = temporaryFolder.newFolder(FOLDER_URL)
-        val testContent = Resource(0, emptyList())
+        val testContentResource = 0
 
         IOHandler().writeToJSONFile(
             fileURL = "${folder.absolutePath}/test-file.json",
-            objectToSave = testContent
+            objectToSave = testContentResource
         )
 
-        val expected = GsonBuilder().enableComplexMapKeySerialization().setPrettyPrinting().create().toJson(testContent)
+        val expected = GsonBuilder().enableComplexMapKeySerialization().setPrettyPrinting().create().toJson(testContentResource)
 
         assertEquals(
             expected,
@@ -96,7 +96,7 @@ internal class IOHandlerTest {
     }
 
 
-    @Test()
+    @Test
     @SetEnvironmentVariable.SetEnvironmentVariables(
         SetEnvironmentVariable(key = "RESULTS_FOLDER", value = "./src/test/resources"),
         SetEnvironmentVariable(key = "CREATE_RESULTS_FOLDER", value = "false")
@@ -105,7 +105,7 @@ internal class IOHandlerTest {
         assertEquals("./src/test/resources/", IOHandler().getResultFolderURL())
     }
 
-    @Test()
+    @Test
     @SetEnvironmentVariable.SetEnvironmentVariables(
         SetEnvironmentVariable(key = "RESULTS_FOLDER", value = "$FOLDER_URL-0"),
         SetEnvironmentVariable(key = "CREATE_RESULTS_FOLDER", value = "false")
@@ -121,7 +121,7 @@ internal class IOHandlerTest {
         assertTrue(exceptionWasThrown)
     }
 
-    @Test()
+    @Test
     @SetEnvironmentVariable.SetEnvironmentVariables(
         SetEnvironmentVariable(key = "RESULTS_FOLDER", value = FOLDER_URL),
         SetEnvironmentVariable(key = "CREATE_RESULTS_FOLDER", value = "true")
@@ -130,7 +130,7 @@ internal class IOHandlerTest {
         assertEquals("$FOLDER_URL/", IOHandler().getResultFolderURL())
     }
 
-    @Test()
+    @Test
     @ClearEnvironmentVariable(key = "RESULTS_FOLDER")
     @SetEnvironmentVariable(key = "CREATE_RESULTS_FOLDER", value = "true")
     fun testGetResultFolderURL_CreateFolderButNoFolderGiven() {
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2dbeb44b90f780975af884028335a7e398c7cfdc
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt
@@ -0,0 +1,91 @@
+package rocks.theodolite.core
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertNotNull
+import org.junit.jupiter.api.Test
+import rocks.theodolite.core.strategies.Metric
+
+@QuarkusTest
+internal class ResultsTest {
+
+    @Test
+    fun testMinRequiredInstancesWhenSuccessfulDemand() {
+        val results = Results(Metric.from("demand"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(10000, 2), true)
+        results.setResult(Pair(20000, 1), false)
+        results.setResult(Pair(20000, 2), true)
+
+        val minRequiredInstances = results.getOptYDimensionValue(20000)
+
+        assertNotNull(minRequiredInstances)
+        assertEquals(2, minRequiredInstances)
+    }
+
+    @Test
+    fun testGetMaxBenchmarkedLoadWhenAllSuccessfulDemand() {
+        val results = Results(Metric.from("demand"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(10000, 2), true)
+
+        val test1 = results.getMaxBenchmarkedXDimensionValue(100000)
+
+        assertNotNull(test1)
+        assertEquals(10000, test1)
+    }
+
+    @Test
+    fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessfulDemand() {
+        val results = Results(Metric.from("demand"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(10000, 2), true)
+        results.setResult(Pair(20000, 1), false)
+
+        val test2 = results.getMaxBenchmarkedXDimensionValue(100000)
+
+        assertNotNull(test2)
+        assertEquals(20000, test2)
+    }
+
+    @Test
+    fun testMaxRequiredInstancesWhenSuccessfulCapacity() {
+        val results = Results(Metric.from("capacity"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(20000, 1), false)
+        results.setResult(Pair(10000, 2), true)
+        results.setResult(Pair(20000, 2), true)
+
+        val maxRequiredInstances = results.getOptYDimensionValue(2)
+
+        assertNotNull(maxRequiredInstances)
+        assertEquals(20000, maxRequiredInstances)
+    }
+
+
+    @Test
+    fun testGetMaxBenchmarkedLoadWhenAllSuccessfulCapacity() {
+        val results = Results(Metric.from("capacity"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(10000, 2), true)
+
+        val test1 = results.getMaxBenchmarkedXDimensionValue(5)
+
+        assertNotNull(test1)
+        assertEquals(2, test1)
+    }
+
+    @Test
+    fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessfulCapacity() {
+        val results = Results(Metric.from("capacity"))
+        results.setResult(Pair(10000, 1), true)
+        results.setResult(Pair(20000, 1), true)
+        results.setResult(Pair(10000, 2), false)
+
+
+        val test2 = results.getMaxBenchmarkedXDimensionValue(5)
+
+        assertNotNull(test2)
+        assertEquals(2, test2)
+    }
+}
diff --git a/theodolite/src/test/kotlin/theodolite/strategies/restriction/LowerBoundRestrictionTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
similarity index 53%
rename from theodolite/src/test/kotlin/theodolite/strategies/restriction/LowerBoundRestrictionTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
index b368647e314a4d803b444268c8218aefbee00ad4..79fadb4867a155ee7b4dc86e4bb165947a4f15a4 100644
--- a/theodolite/src/test/kotlin/theodolite/strategies/restriction/LowerBoundRestrictionTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
@@ -1,25 +1,21 @@
-package theodolite.strategies.restriction
+package rocks.theodolite.core.strategies.restrictionstrategy
 
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertNotNull
 import org.junit.jupiter.api.Disabled
 import org.junit.jupiter.api.Test
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.strategies.restrictionstrategy.LowerBoundRestriction
+import rocks.theodolite.core.Results
 
 internal class LowerBoundRestrictionTest {
 
     @Test
     fun testNoPreviousResults() {
-        val results = Results()
+        val results = Results(Metric.from("demand"))
         val strategy = LowerBoundRestriction(results)
-        val load = buildLoadDimension(10000)
-        val resources = listOf(
-            buildResourcesDimension(1),
-            buildResourcesDimension(2),
-            buildResourcesDimension(3)
-        )
+        val load = 10000
+        val resources = listOf(1, 2, 3)
         val restriction = strategy.apply(load, resources)
 
         assertEquals(3, restriction.size)
@@ -28,17 +24,13 @@ internal class LowerBoundRestrictionTest {
 
     @Test
     fun testWithSuccessfulPreviousResults() {
-        val results = Results()
+        val results = Results(Metric.from("demand"))
         results.setResult(10000, 1, true)
         results.setResult(20000, 1, false)
         results.setResult(20000, 2, true)
         val strategy = LowerBoundRestriction(results)
-        val load = buildLoadDimension(30000)
-        val resources = listOf(
-            buildResourcesDimension(1),
-            buildResourcesDimension(2),
-            buildResourcesDimension(3)
-        )
+        val load = 30000
+        val resources = listOf(1, 2, 3)
         val restriction = strategy.apply(load, resources)
 
         assertEquals(2, restriction.size)
@@ -49,70 +41,54 @@ internal class LowerBoundRestrictionTest {
     @Disabled
     fun testWithNoSuccessfulPreviousResults() {
         // This test is currently not implemented this way, but might later be the desired behavior.
-        val results = Results()
+        val results = Results(Metric.from("demand"))
         results.setResult(10000, 1, true)
         results.setResult(20000, 1, false)
         results.setResult(20000, 2, false)
         results.setResult(20000, 3, false)
         val strategy = LowerBoundRestriction(results)
-        val load = buildLoadDimension(30000)
-        val resources = listOf(
-            buildResourcesDimension(1),
-            buildResourcesDimension(2),
-            buildResourcesDimension(3)
-        )
+        val load = 30000
+        val resources = listOf(1, 2, 3)
         val restriction = strategy.apply(load, resources)
 
         assertEquals(0, restriction.size)
-        assertEquals(emptyList<Resource>(), restriction)
+        assertEquals(emptyList<Int>(), restriction)
     }
 
 
     @Test
     fun testNoPreviousResults2() {
-        val results = Results()
+        val results = Results(Metric.from("demand"))
         results.setResult(10000, 1, true)
         results.setResult(20000, 2, true)
         results.setResult(10000, 1, false)
         results.setResult(20000, 2, true)
 
-        val minRequiredInstances = results.getMinRequiredInstances(LoadDimension(20000, emptyList()))
+        val minRequiredInstances = results.getOptYDimensionValue(20000)
 
         assertNotNull(minRequiredInstances)
-        assertEquals(2, minRequiredInstances!!.get())
+        assertEquals(2, minRequiredInstances!!)
     }
 
     @Test
     @Disabled
     fun testMinRequiredInstancesWhenNotSuccessful() {
         // This test is currently not implemented this way, but might later be the desired behavior.
-        val results = Results()
+        val results = Results(Metric.from("demand"))
         results.setResult(10000, 1, true)
         results.setResult(20000, 2, true)
         results.setResult(10000, 1, false)
         results.setResult(20000, 2, false)
 
-        val minRequiredInstances = results.getMinRequiredInstances(LoadDimension(20000, emptyList()))
+        val minRequiredInstances = results.getOptYDimensionValue(20000)
 
         assertNotNull(minRequiredInstances)
-        assertEquals(2, minRequiredInstances!!.get())
+        assertEquals(2, minRequiredInstances!!)
     }
 
-    private fun buildLoadDimension(load: Int): LoadDimension {
-        return LoadDimension(load, emptyList())
-    }
 
-    private fun buildResourcesDimension(resources: Int): Resource {
-        return Resource(resources, emptyList())
-    }
 
-    private fun Results.setResult(load: Int, resources: Int, successful: Boolean) {
-        this.setResult(
-            Pair(
-                buildLoadDimension(load),
-                buildResourcesDimension(resources)
-            ),
-            successful
-        )
+    private fun Results.setResult(load: Int, resource: Int, successful: Boolean) {
+        this.setResult(Pair(load, resource),successful)
     }
 }
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..820dc7564aac2497a2884ca004f15110bc5465f7
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
@@ -0,0 +1,133 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
+import rocks.theodolite.core.strategies.Metric
+import mu.KotlinLogging
+import rocks.theodolite.kubernetes.TestBenchmarkDeploymentBuilder
+import rocks.theodolite.kubernetes.TestExperimentRunnerImpl
+import rocks.theodolite.core.strategies.guessstrategy.PrevInstanceOptGuess
+import rocks.theodolite.core.Results
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+
+private val logger = KotlinLogging.logger {}
+
+@QuarkusTest
+class InitialGuessSearchStrategyTest {
+
+    @Test
+    fun testInitialGuessSearch() {
+        val mockResults = arrayOf(
+            arrayOf(true, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, false, true, true, true, true),
+            arrayOf(false, false, false, false, true, true, true),
+            arrayOf(false, false, false, false, false, false, true),
+            arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val guessStrategy = PrevInstanceOptGuess()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
+        val strategy = InitialGuessSearchStrategy(benchmarkExecutor,guessStrategy, results)
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> = ArrayList(listOf(0, 2, 2, 3, 4, 6))
+        expected.add(null)
+
+        for (load in mockLoads) {
+            val returnVal : Int? = strategy.findSuitableResource(load, mockResources)
+            if(returnVal != null) {
+                logger.info { "returnVal '${returnVal}'" }
+            }
+            else {
+                logger.info { "returnVal is null." }
+            }
+            actual.add(returnVal)
+        }
+
+        assertEquals(actual, expected)
+    }
+
+    @Test
+    fun testInitialGuessSearchLowerResourceDemandHigherLoad() {
+        val mockResults = arrayOf(
+            arrayOf(true, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, true, true, true, true, true, true),
+            arrayOf(false, false, false, false, true, true, true),
+            arrayOf(false, false, false, false, false, false, true),
+            arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val guessStrategy = PrevInstanceOptGuess()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
+        val strategy = InitialGuessSearchStrategy(benchmarkExecutor,guessStrategy, results)
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> = ArrayList(listOf(0, 2, 2, 1, 4, 6))
+        expected.add(null)
+
+        for (load in mockLoads) {
+            val returnVal : Int? = strategy.findSuitableResource(load, mockResources)
+            if(returnVal != null) {
+                logger.info { "returnVal '${returnVal}'" }
+            }
+            else {
+                logger.info { "returnVal is null." }
+            }
+            actual.add(returnVal)
+        }
+
+        assertEquals(actual, expected)
+    }
+
+    @Test
+    fun testInitialGuessSearchFirstNotDoable() {
+        val mockResults = arrayOf(
+                arrayOf(false, false, false, false, false, false, false),
+                arrayOf(false, false, true, true, true, true, true),
+                arrayOf(false, false, false, true, true, true, true),
+                arrayOf(true, true, true, true, true, true, true),
+                arrayOf(false, false, false, false, true, true, true),
+                arrayOf(false, false, false, false, false, false, true),
+                arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val guessStrategy = PrevInstanceOptGuess()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
+        val strategy = InitialGuessSearchStrategy(benchmarkExecutor, guessStrategy, results)
+
+        val actual: ArrayList<Int?> = ArrayList()
+        var expected: ArrayList<Int?> = ArrayList(listOf(2, 3, 0, 4, 6))
+        expected.add(null)
+        expected = ArrayList(listOf(null) + expected)
+
+        for (load in mockLoads) {
+            val returnVal : Int? = strategy.findSuitableResource(load, mockResources)
+            if(returnVal != null) {
+                logger.info { "returnVal '${returnVal}'" }
+            }
+            else {
+                logger.info { "returnVal is null." }
+            }
+            actual.add(returnVal)
+        }
+
+        assertEquals(actual, expected)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..bae944801fcacf40431559a0e7ddeb78923d2173
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
@@ -0,0 +1,148 @@
+package rocks.theodolite.core.strategies.searchstrategy
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Test
+import rocks.theodolite.kubernetes.TestBenchmarkDeploymentBuilder
+import rocks.theodolite.kubernetes.TestExperimentRunnerImpl
+import rocks.theodolite.core.strategies.Metric
+import rocks.theodolite.core.strategies.restrictionstrategy.LowerBoundRestriction
+import rocks.theodolite.core.Results
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+
+@QuarkusTest
+class RestrictionSearchTest {
+
+
+    @Test
+    fun restrictionSearchTestLinearSearch() {
+        val mockResults = arrayOf(
+            arrayOf(true, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, false, true, true, true, true),
+            arrayOf(false, false, false, false, true, true, true),
+            arrayOf(false, false, false, false, false, false, true),
+            arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
+        val linearSearch = LinearSearch(benchmarkExecutor)
+        val lowerBoundRestriction = LowerBoundRestriction(results)
+        val strategy =
+            RestrictionSearch(benchmarkExecutor, linearSearch, setOf(lowerBoundRestriction))
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> = ArrayList(listOf(0, 2, 2, 3, 4, 6))
+        expected.add(null)
+
+        for (load in mockLoads) {
+            actual.add(strategy.findSuitableResource(load, mockResources))
+        }
+
+        assertEquals(actual, expected)
+    }
+
+    @Test
+    fun restrictionSearchTestFullSearch() {
+        val mockResults = arrayOf(
+                arrayOf(true, true, true, true, true, true, true),
+                arrayOf(false, false, true, true, true, true, true),
+                arrayOf(false, false, true, true, true, true, true),
+                arrayOf(false, false, false, true, true, true, true),
+                arrayOf(false, false, false, false, true, true, true),
+                arrayOf(false, false, false, false, false, false, true),
+                arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
+        val fullSearch = FullSearch(benchmarkExecutor)
+        val lowerBoundRestriction = LowerBoundRestriction(results)
+        val strategy =
+                RestrictionSearch(benchmarkExecutor, fullSearch, setOf(lowerBoundRestriction))
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> = ArrayList(listOf(0, 2, 2, 3, 4, 6))
+        expected.add(null)
+
+        for (load in mockLoads) {
+            actual.add(strategy.findSuitableResource(load, mockResources))
+        }
+
+        assertEquals(actual, expected)
+    }
+
+    @Test
+    fun restrictionSearchTestBinarySearch() {
+        val mockResults = arrayOf(
+            arrayOf(true, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true),
+            arrayOf(false, false, false, true, true, true, true),
+            arrayOf(false, false, false, false, true, true, true),
+            arrayOf(false, false, false, false, false, false, true),
+            arrayOf(false, false, false, false, false, false, false)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..6).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val sloChecker = Slo()
+        val benchmarkExecutorImpl =
+            TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 0)
+        val binarySearch = BinarySearch(benchmarkExecutorImpl)
+        val lowerBoundRestriction = LowerBoundRestriction(results)
+        val strategy = RestrictionSearch(benchmarkExecutorImpl, binarySearch, setOf(lowerBoundRestriction))
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> = ArrayList(listOf(0, 2, 2, 3, 4, 6))
+        expected.add(null)
+
+        for (load in mockLoads) {
+            actual.add(strategy.findSuitableResource(load, mockResources))
+        }
+
+        assertEquals(actual, expected)
+    }
+
+    @Test
+    fun restrictionSearchTestBinarySearch2() {
+        val mockResults = arrayOf(
+            arrayOf(true, true, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true, true),
+            arrayOf(false, false, true, true, true, true, true, true),
+            arrayOf(false, false, false, true, true, true, true, true),
+            arrayOf(false, false, false, false, true, true, true, true),
+            arrayOf(false, false, false, false, false, false, true, true),
+            arrayOf(false, false, false, false, false, false, false, true)
+        )
+        val mockLoads: List<Int> = (0..6).toList()
+        val mockResources: List<Int> = (0..7).toList()
+        val results = Results(Metric.from("demand"))
+        val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
+        val sloChecker = Slo()
+        val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 0)
+        val binarySearch = BinarySearch(benchmarkExecutor)
+        val lowerBoundRestriction = LowerBoundRestriction(results)
+        val strategy =
+            RestrictionSearch(benchmarkExecutor, binarySearch, setOf(lowerBoundRestriction))
+
+        val actual: ArrayList<Int?> = ArrayList()
+        val expected: ArrayList<Int?> =
+            ArrayList(listOf(0, 2, 2, 3, 4, 6, 7))
+
+        for (load in mockLoads) {
+            actual.add(strategy.findSuitableResource(load, mockResources))
+        }
+
+        assertEquals(actual, expected)
+    }
+}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..008bc302f1ba9a246b7bd898aec712f305c5b288
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt
@@ -0,0 +1,127 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.Pod
+import io.fabric8.kubernetes.api.model.PodBuilder
+import io.fabric8.kubernetes.api.model.PodListBuilder
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.fabric8.kubernetes.client.utils.Utils
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.*
+import org.junit.jupiter.api.Assertions.assertEquals
+import rocks.theodolite.kubernetes.operator.TheodoliteController
+import rocks.theodolite.kubernetes.operator.TheodoliteOperator
+
+
+@QuarkusTest
+class ActionCommandTest {
+    private val server = KubernetesServer(false, false)
+    lateinit var controller: TheodoliteController
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+        val operator = TheodoliteOperator(server.client)
+        this.controller = operator.getController(
+            executionStateHandler = operator.getExecutionStateHandler(),
+            benchmarkStateChecker = operator.getBenchmarkStateChecker()
+        )
+
+        val pod: Pod = PodBuilder().withNewMetadata()
+            .withName("pod1")
+            .withResourceVersion("1")
+            .withLabels<String, String>(mapOf("app" to "pod"))
+            .withNamespace("test").and()
+            .build()
+
+        val ready: Pod = createReadyFrom(pod, "True")
+
+        val podList = PodListBuilder().build()
+        podList.items.add(0, ready)
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods?labelSelector=${Utils.toUrlEncoded("app=pod")}")
+            .andReturn(200, podList)
+            .always()
+
+        server
+            .expect()
+            .get()
+            .withPath("/api/v1/namespaces/test/pods/pod1")
+            .andReturn(200, ready)
+            .always()
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods/pod1/exec?command=ls&stdout=true&stderr=true")
+            .andUpgradeToWebSocket()
+            .open(ErrorChannelMessage("{\"metadata\":{},\"status\":\"Success\"}\n"))
+            .done()
+            .always()
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods/pod1/exec?command=error-command&stdout=true&stderr=true")
+            .andUpgradeToWebSocket()
+            .open(ErrorChannelMessage("{\"metadata\":{},\"status\":\"failed\", \"details\":{}}\n"))
+            .done()
+            .always()
+    }
+
+    /**
+     * Copied from fabric8 Kubernetes Client repository
+     *
+     * @param pod
+     * @param status
+     * @return
+     */
+    fun createReadyFrom(pod: Pod, status: String): Pod {
+        return PodBuilder(pod)
+            .withNewStatus()
+            .addNewCondition()
+            .withType("Ready")
+            .withStatus(status)
+            .endCondition()
+            .endStatus()
+            .build()
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+    }
+
+    @Test
+    fun testGetPodName() {
+        assertEquals("pod1", ActionCommand(client = server.client).getPodName(mutableMapOf("app" to "pod"), 1))
+    }
+
+    @Test
+    fun testActionSuccess() {
+        val action = Action()
+        action.execCommand = ExecCommand()
+        action.execCommand!!.selector = ExecActionSelector()
+        action.execCommand!!.selector.pod = PodSelector()
+        action.execCommand!!.selector.pod.matchLabels = mutableMapOf("app" to "pod")
+        action.execCommand!!.command = arrayOf("ls")
+        action.execCommand!!.timeoutSeconds = 10L
+
+        action.exec(server.client)
+        assertEquals(
+            "/api/v1/namespaces/test/pods/pod1/exec?command=ls&stdout=true&stderr=true",
+            server.lastRequest.path)
+    }
+
+    @Test
+    fun testActionFailed() {
+        val action = Action()
+        action.execCommand = ExecCommand()
+        action.execCommand!!.selector = ExecActionSelector()
+        action.execCommand!!.selector.pod = PodSelector()
+        action.execCommand!!.selector.pod.matchLabels = mapOf("app" to "pod")
+        action.execCommand!!.command = arrayOf("error-command")
+        action.execCommand!!.timeoutSeconds = 10L
+
+        assertThrows<ActionCommandFailedException> { run { action.exec(server.client) } }
+    }
+}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..87058706c1a315c98ba098e6c5835f3a57343112
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt
@@ -0,0 +1,265 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import io.fabric8.kubernetes.api.model.*
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder
+import io.fabric8.kubernetes.client.dsl.MixedOperation
+import io.fabric8.kubernetes.client.dsl.Resource
+import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+import registerResource
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRDummy
+import rocks.theodolite.kubernetes.operator.ExecutionClient
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import java.io.FileInputStream
+
+// TODO move somewhere else
+typealias BenchmarkClient = MixedOperation<BenchmarkCRD, KubernetesResourceList<BenchmarkCRD>, Resource<BenchmarkCRD>>
+
+@QuarkusTest
+@WithKubernetesTestServer
+internal class ConfigMapResourceSetTest {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
+
+    private val objectMapper: ObjectMapper = ObjectMapper()
+
+    private lateinit var executionClient: ExecutionClient
+    private lateinit var benchmarkClient: BenchmarkClient
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-execution.yaml"))
+            .create()
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-benchmark.yaml"))
+            .create()
+
+        this.executionClient = this.server.client.resources(ExecutionCRD::class.java)
+        this.benchmarkClient = this.server.client.resources(BenchmarkCRD::class.java)
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+    }
+
+    private fun deployAndGetResource(vararg resources: HasMetadata): ConfigMapResourceSet {
+        val configMap = ConfigMapBuilder()
+            .withNewMetadata().withName("test-configmap").endMetadata()
+            .let {
+                resources.foldIndexed(it) {
+                    i, b, r -> b.addToData("resource_$i.yaml", objectMapper.writeValueAsString(r))
+                }
+            }
+            .build()
+
+        server.client.configMaps().createOrReplace(configMap)
+
+        val resourceSet = ConfigMapResourceSet()
+        resourceSet.name = "test-configmap"
+
+        return resourceSet
+    }
+
+    @Test
+    fun testLoadDeployment() {
+        val resource = DeploymentBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-deployment")
+            .endMetadata()
+            .build()
+
+        val createdResource = deployAndGetResource(resource).getResourceSet(server.client)
+        assertEquals(1, createdResource.size)
+        assertTrue(createdResource.toList().first().second is Deployment)
+        assertTrue(createdResource.toList().first().second.toString().contains(other = resource.metadata.name))
+    }
+
+    @Test
+    fun testLoadStateFulSet() {
+        val resource = StatefulSetBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-sts")
+            .endMetadata()
+            .build()
+
+        val createdResource = deployAndGetResource(resource).getResourceSet(server.client)
+        assertEquals(1, createdResource.size)
+        assertTrue(createdResource.toList().first().second is StatefulSet)
+        assertTrue(createdResource.toList().first().second.toString().contains(other = resource.metadata.name))
+    }
+
+    @Test
+    fun testLoadService() {
+        val resource = ServiceBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-service")
+            .endMetadata()
+            .build()
+
+        val createdResource = deployAndGetResource(resource).getResourceSet(server.client)
+        assertEquals(1, createdResource.size)
+        assertTrue(createdResource.toList().first().second is Service)
+        assertTrue(createdResource.toList().first().second.toString().contains(other = resource.metadata.name))
+    }
+
+    @Test
+    fun testLoadConfigMap() {
+        val resource = ConfigMapBuilder()
+            .withNewMetadata()
+            .withName("test-configmap")
+            .endMetadata()
+            .build()
+
+        val createdResource = deployAndGetResource(resource).getResourceSet(server.client)
+        assertEquals(1, createdResource.size)
+        assertTrue(createdResource.toList().first().second is ConfigMap)
+        assertTrue(createdResource.toList().first().second.toString().contains(other = resource.metadata.name))
+    }
+
+    @Test
+    fun testLoadExecution() {
+        val stream = javaClass.getResourceAsStream("/k8s-resource-files/test-execution.yaml")
+        val execution = this.executionClient.load(stream).get()
+        val createdResource = deployAndGetResource(execution).getResourceSet(server.client)
+
+        assertEquals(1, createdResource.size)
+        val loadedResource = createdResource.toList().first().second
+        assertTrue(loadedResource is ExecutionCRD)
+        assertEquals("example-execution", loadedResource.metadata.name)
+
+
+    }
+
+    @Test
+    fun testLoadBenchmark() {
+        val benchmark = BenchmarkCRDummy("example-benchmark").getCR()
+        val createdResource = deployAndGetResource(benchmark).getResourceSet(server.client)
+
+        assertEquals(1, createdResource.size)
+        val loadedResource = createdResource.toList().first().second
+        assertTrue(loadedResource is BenchmarkCRD)
+        assertEquals("example-benchmark", loadedResource.metadata.name)
+    }
+
+    @Test
+    fun testLoadServiceMonitor() {
+        val serviceMonitorContext = ResourceDefinitionContext.Builder()
+            .withGroup("monitoring.coreos.com")
+            .withKind("ServiceMonitor")
+            .withPlural("servicemonitors")
+            .withNamespaced(true)
+            .withVersion("v1")
+            .build()
+        server.registerResource(serviceMonitorContext)
+
+        val stream = javaClass.getResourceAsStream("/k8s-resource-files/test-service-monitor.yaml")
+        val serviceMonitor = server.client.load(stream).get()[0]
+        val createdResource = deployAndGetResource(serviceMonitor).getResourceSet(server.client)
+
+        assertEquals(1, createdResource.size)
+        val loadedResource = createdResource.toList().first().second
+        assertTrue(loadedResource is GenericKubernetesResource)
+        assertEquals("ServiceMonitor", loadedResource.kind)
+        assertEquals("test-service-monitor", loadedResource.metadata.name)
+    }
+
+    @Test
+    fun testMultipleFiles(){
+        val deployment = DeploymentBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-deployment")
+            .endMetadata()
+            .build()
+        val configMap = ConfigMapBuilder()
+            .withNewMetadata()
+            .withName("test-configmap")
+            .endMetadata()
+            .build()
+
+        val createdResourceSet = deployAndGetResource(deployment, configMap).getResourceSet(server.client)
+
+        assertEquals(2, createdResourceSet.size )
+        assert(createdResourceSet.toList()[0].second is Deployment)
+        assert(createdResourceSet.toList()[1].second is ConfigMap)
+    }
+
+    @Test
+    fun testFilesRestricted() {
+        val deployment = DeploymentBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-deployment")
+            .endMetadata()
+            .build()
+        val configMap = ConfigMapBuilder()
+            .withNewMetadata()
+            .withName("test-configmap")
+            .endMetadata()
+            .build()
+
+        val createdResourceSet = deployAndGetResource(deployment, configMap)
+        val allResources = createdResourceSet.getResourceSet(server.client)
+        assertEquals(2, allResources.size)
+        createdResourceSet.files = listOf(allResources.first().first) // only select first file from ConfigMa
+        val resources = createdResourceSet.getResourceSet(server.client)
+        assertEquals(1, resources.size)
+        assertTrue(resources.toList().first().second is Deployment)
+    }
+
+    @Test
+    fun testFileNotExist() {
+        val resource = DeploymentBuilder()
+            .withNewSpec()
+            .endSpec()
+            .withNewMetadata()
+            .withName("test-deployment")
+            .endMetadata()
+            .build()
+
+        val resourceSet = deployAndGetResource(resource)
+        resourceSet.files = listOf("non-existing-file.yaml")
+        assertThrows<DeploymentFailedException> {
+            resourceSet.getResourceSet(server.client)
+        }
+    }
+
+    @Test
+    fun testConfigMapNotExist() {
+        val resourceSet = ConfigMapResourceSet()
+        resourceSet.name = "test-configmap1"
+        assertThrows<DeploymentFailedException> {
+            resourceSet.getResourceSet(server.client)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt
new file mode 100644
index 0000000000000000000000000000000000000000..4181b7cbb90fd0c6bd2db78753560092d7ea60ca
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt
@@ -0,0 +1,17 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.mockwebserver.internal.WebSocketMessage
+import java.nio.charset.StandardCharsets
+
+class ErrorChannelMessage(body: String) : WebSocketMessage(0L, getBodyBytes(OUT_STREAM_ID, body), true, true) {
+    companion object {
+        private const val OUT_STREAM_ID: Byte = 3
+        private fun getBodyBytes(prefix: Byte, body: String): ByteArray {
+            val original = body.toByteArray(StandardCharsets.UTF_8)
+            val prefixed = ByteArray(original.size + 1)
+            prefixed[0] = prefix
+            System.arraycopy(original, 0, prefixed, 1, original.size)
+            return prefixed
+        }
+    }
+}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..1c5f32159713e7ace6857caf0f97b43c90cb36e0
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt
@@ -0,0 +1,168 @@
+package rocks.theodolite.kubernetes
+
+import io.fabric8.kubernetes.api.model.*
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.fabric8.kubernetes.api.model.apps.StatefulSet
+import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.*
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.io.TempDir
+import registerResource
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import java.io.FileInputStream
+import java.nio.file.Files
+import java.nio.file.Path
+
+@QuarkusTest
+@WithKubernetesTestServer
+class FileSystemResourceSetTest {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
+
+    @TempDir
+    @JvmField
+    final var tempDir: Path? = null
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-execution.yaml"))
+            .create()
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-benchmark.yaml"))
+            .create()
+
+        // Apparently we need create CRD clients once
+        this.server.client.resources(ExecutionCRD::class.java)
+        this.server.client.resources(BenchmarkCRD::class.java)
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+    }
+
+    private fun copyTestResourceFile(fileName: String, tempDir: Path) {
+        val stream = javaClass.getResourceAsStream("/k8s-resource-files/$fileName")
+            ?: throw IllegalArgumentException("File does not exist")
+        val target = tempDir.resolve(fileName)
+        Files.copy(stream, target)
+    }
+
+    @Test
+    fun testLoadDeployment(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-deployment.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-deployment.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is Deployment)
+    }
+
+    @Test
+    fun testLoadService(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-service.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-service.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is Service)
+    }
+
+    @Test
+    fun testLoadStatefulSet(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-statefulset.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-statefulset.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is StatefulSet)
+    }
+
+    @Test
+    fun testLoadConfigMap(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-configmap.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-configmap.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is ConfigMap)
+    }
+
+    @Test
+    fun testLoadServiceMonitor(@TempDir tempDir: Path) {
+        val serviceMonitorContext = ResourceDefinitionContext.Builder()
+            .withGroup("monitoring.coreos.com")
+            .withKind("ServiceMonitor")
+            .withPlural("servicemonitors")
+            .withNamespaced(true)
+            .withVersion("v1")
+            .build()
+        server.registerResource(serviceMonitorContext)
+
+        copyTestResourceFile("test-service-monitor.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-service-monitor.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is GenericKubernetesResource)
+    }
+
+    @Test
+    fun testLoadBenchmark(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-benchmark.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-benchmark.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is BenchmarkCRD)
+    }
+
+    @Test
+    fun testLoadExecution(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-execution.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-execution.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+        assertTrue(resourceSet.getResourceSet(server.client).toList().first().second is ExecutionCRD)
+    }
+
+    @Test
+    fun testFilesNotSet(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-deployment.yaml", tempDir)
+        copyTestResourceFile("test-service.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        assertEquals(2, resourceSet.getResourceSet(server.client).size)
+    }
+
+    @Test
+    fun testWrongPath(@TempDir tempDir: Path) {
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = "/not/existing/path"
+        assertThrows<DeploymentFailedException> {
+            resourceSet.getResourceSet(server.client)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/k8s/K8sManagerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
similarity index 67%
rename from theodolite/src/test/kotlin/theodolite/k8s/K8sManagerTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
index 7c69618de03f730f5b6f1cb83c5df544e2cd120c..90dd01626a7c18e0b6f8d6018aae54297e758464 100644
--- a/theodolite/src/test/kotlin/theodolite/k8s/K8sManagerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
@@ -1,36 +1,31 @@
-package theodolite.k8s
+package rocks.theodolite.kubernetes
 
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties
 import io.fabric8.kubernetes.api.model.*
 import io.fabric8.kubernetes.api.model.apps.Deployment
 import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder
 import io.fabric8.kubernetes.api.model.apps.StatefulSet
 import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder
+import io.fabric8.kubernetes.client.dsl.base.ResourceDefinitionContext
 import io.fabric8.kubernetes.client.server.mock.KubernetesServer
 import io.quarkus.test.junit.QuarkusTest
-import mu.KotlinLogging
-import org.json.JSONObject
-import org.junit.jupiter.api.AfterEach
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
 import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.DisplayName
 import org.junit.jupiter.api.Test
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
+import registerResource
 
 
-private val logger = KotlinLogging.logger {}
-
 @QuarkusTest
-@JsonIgnoreProperties(ignoreUnknown = true)
-class K8sManagerTest {
-    @JsonIgnoreProperties(ignoreUnknown = true)
-    private final val server = KubernetesServer(false, true)
-    private final val testResourcePath = "./src/test/resources/k8s-resource-files/"
+@WithKubernetesTestServer
+internal class K8sManagerTest {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
 
     private final val resourceName = "test-resource"
     private final val metadata: ObjectMeta = ObjectMetaBuilder().withName(resourceName).build()
 
-
     val defaultDeployment: Deployment = DeploymentBuilder()
         .withMetadata(metadata)
         .withNewSpec()
@@ -57,18 +52,6 @@ class K8sManagerTest {
         .withMetadata(metadata)
         .build()
 
-    @BeforeEach
-    fun setUp() {
-        server.before()
-
-    }
-
-    @AfterEach
-    fun tearDown() {
-        server.after()
-
-    }
-
     @Test
     @DisplayName("Test handling of Deployments")
     fun handleDeploymentTest() {
@@ -125,32 +108,29 @@ class K8sManagerTest {
     @Test
     @DisplayName("Test handling of custom resources")
     fun handleCustomResourcesTest() {
-        val manager = K8sManager(server.client)
-        val servicemonitor = K8sResourceLoaderFromFile(server.client)
-            .loadK8sResource("ServiceMonitor", testResourcePath + "test-service-monitor.yaml")
+        val serviceMonitorContext = ResourceDefinitionContext.Builder()
+            .withGroup("monitoring.coreos.com")
+            .withKind("ServiceMonitor")
+            .withPlural("servicemonitors")
+            .withNamespaced(true)
+            .withVersion("v1")
+            .build()
+        server.registerResource(serviceMonitorContext)
 
-        val serviceMonitorContext = K8sContextFactory().create(
-            api = "v1",
-            scope = "Namespaced",
-            group = "monitoring.coreos.com",
-            plural = "servicemonitors"
-        )
-        manager.deploy(servicemonitor)
+        val manager = K8sManager(server.client)
 
-        var serviceMonitors = JSONObject(server.client.customResource(serviceMonitorContext).list())
-            .getJSONArray("items")
+        val serviceMonitorStream = javaClass.getResourceAsStream("/k8s-resource-files/test-service-monitor.yaml")
+        val serviceMonitor = server.client.load(serviceMonitorStream).get()[0]
 
-        assertEquals(1, serviceMonitors.length())
-        assertEquals(
-            "test-service-monitor",
-            serviceMonitors.getJSONObject(0).getJSONObject("metadata").getString("name")
-        )
+        manager.deploy(serviceMonitor)
 
-        manager.remove(servicemonitor)
+        val serviceMonitorsDeployed = server.client.genericKubernetesResources(serviceMonitorContext).list()
+        assertEquals(1, serviceMonitorsDeployed.items.size)
+        assertEquals("test-service-monitor", serviceMonitorsDeployed.items[0].metadata.name)
 
-        serviceMonitors = JSONObject(server.client.customResource(serviceMonitorContext).list())
-            .getJSONArray("items")
+        manager.remove(serviceMonitor)
 
-        assertEquals(0, serviceMonitors.length())
+        val serviceMonitorsDeleted = server.client.genericKubernetesResources(serviceMonitorContext).list()
+        assertEquals(0, serviceMonitorsDeleted.items.size)
     }
 }
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ResourceSetsTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ResourceSetsTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..f0a6c120ca6c3397e8d41cd9f42b536b3e053caf
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ResourceSetsTest.kt
@@ -0,0 +1,132 @@
+package rocks.theodolite.kubernetes
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
+import io.fabric8.kubernetes.api.model.ConfigMap
+import io.fabric8.kubernetes.api.model.ConfigMapBuilder
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+import org.junit.jupiter.api.io.TempDir
+import java.nio.file.Files
+import java.nio.file.Path
+
+@QuarkusTest
+@WithKubernetesTestServer
+internal class ResourceSetsTest {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
+
+    @TempDir
+    @JvmField
+    final var tempDir: Path? = null
+
+    private val objectMapper: ObjectMapper = ObjectMapper(YAMLFactory())
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+    }
+
+    private fun deployAndGetResource(vararg resources: HasMetadata): ConfigMapResourceSet {
+        val configMap = ConfigMapBuilder()
+            .withNewMetadata().withName(resources[0].metadata.name).endMetadata()
+            .let {
+                resources.foldIndexed(it) { i, b, r ->
+                    b.addToData("resource_$i.yaml", objectMapper.writeValueAsString(r))
+                }
+            }
+            .build()
+
+        server.client.configMaps().createOrReplace(configMap)
+
+        val resourceSet = ConfigMapResourceSet()
+        resourceSet.name = resources[0].metadata.name
+
+        return resourceSet
+    }
+
+    private fun copyTestResourceFile(fileName: String, tempDir: Path) {
+        val stream = javaClass.getResourceAsStream("/k8s-resource-files/$fileName")
+            ?: throw IllegalArgumentException("File does not exist")
+        val target = tempDir.resolve(fileName)
+        Files.copy(stream, target)
+    }
+
+    @Test
+    fun testLoadConfigMap() {
+        val resource = ConfigMapBuilder()
+            .withNewMetadata()
+            .withName("test-configmap")
+            .endMetadata()
+            .build()
+        deployAndGetResource(resource)
+
+        val yamlString =
+            """
+            configMap:    
+                name: test-configmap
+                files:
+            """
+
+        val resourcesSet: ResourceSets = objectMapper.readValue(yamlString, ResourceSets::class.java)
+        assertTrue(resourcesSet.fileSystem == null)
+        assertTrue(resourcesSet.configMap != null)
+
+        val configMap = resourcesSet.loadResourceSet(server.client)
+        assertEquals(1, configMap.size)
+        assertTrue(configMap.toList().first().second is ConfigMap)
+        assertTrue(configMap.toList().first().second.toString().contains(other = resource.metadata.name))
+
+        assertEquals(configMap.elementAt(0).second, resource)
+    }
+
+    @Test
+    fun testLoadFileSystem(@TempDir tempDir: Path) {
+        copyTestResourceFile("test-deployment.yaml", tempDir)
+
+        val resourceSet = FileSystemResourceSet()
+        resourceSet.path = tempDir.toString()
+        resourceSet.files = listOf("test-deployment.yaml")
+        assertEquals(1, resourceSet.getResourceSet(server.client).size)
+
+        val yamlString =
+            """
+            fileSystem:    
+                path: ${resourceSet.path}
+                files:
+                    - test-deployment.yaml
+            """
+
+        val resourcesSet: ResourceSets = objectMapper.readValue(yamlString, ResourceSets::class.java)
+        assertTrue(resourcesSet.fileSystem != null)
+        assertTrue(resourcesSet.configMap == null)
+
+        val fileSystem = resourcesSet.loadResourceSet(server.client)
+        assertEquals(fileSystem.size, 1)
+        assertTrue(fileSystem.elementAt(0).second is HasMetadata)
+    }
+
+    @Test
+    fun testEmptyResourceSets() {
+        val resourceSet = ResourceSets()
+
+        assertThrows<DeploymentFailedException> {
+            resourceSet.loadResourceSet(server.client)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/TestBenchmarkDeployment.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
similarity index 56%
rename from theodolite/src/test/kotlin/theodolite/TestBenchmarkDeployment.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
index 68b08c294128368ee1b65549aa85c877bd4bf313..92bc2fd26a8c5e9d77b0729731b3e65833b3dd08 100644
--- a/theodolite/src/test/kotlin/theodolite/TestBenchmarkDeployment.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
@@ -1,6 +1,6 @@
-package theodolite
+package rocks.theodolite.kubernetes
 
-import theodolite.benchmark.BenchmarkDeployment
+import rocks.theodolite.kubernetes.BenchmarkDeployment
 
 class TestBenchmarkDeployment : BenchmarkDeployment {
     override fun setup() {}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt
new file mode 100644
index 0000000000000000000000000000000000000000..cc7c9d6ae9a5fe158f7ba9243f23442acde001ee
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt
@@ -0,0 +1,21 @@
+package rocks.theodolite.kubernetes
+
+
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+import rocks.theodolite.kubernetes.patcher.PatcherDefinition
+
+class TestBenchmarkDeploymentBuilder(): BenchmarkDeploymentBuilder {
+
+    override fun buildDeployment(
+            load: Int,
+            loadPatcherDefinitions: List<PatcherDefinition>,
+            resource: Int,
+            resourcePatcherDefinitions: List<PatcherDefinition>,
+            configurationOverrides: List<ConfigurationOverride?>,
+            loadGenerationDelay: Long,
+            afterTeardownDelay: Long,
+            waitForResourcesEnabled: Boolean
+    ): BenchmarkDeployment {
+        return TestBenchmarkDeployment()
+    }
+}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt
new file mode 100644
index 0000000000000000000000000000000000000000..896beed83e0c9436c3aadc83b1e395df06b1f5b2
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt
@@ -0,0 +1,24 @@
+package rocks.theodolite.kubernetes
+
+import rocks.theodolite.core.Results
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
+import rocks.theodolite.core.ExperimentRunner
+
+class TestExperimentRunnerImpl(
+        results: Results,
+        private val mockResults: Array<Array<Boolean>>,
+        private val benchmarkDeploymentBuilder: TestBenchmarkDeploymentBuilder,
+        private val slo: List<Slo>,
+        private val executionId: Int,
+        private val loadGenerationDelay: Long,
+        private val afterTeardownDelay: Long
+) : ExperimentRunner(
+        results
+) {
+
+    override fun runExperiment(load: Int, resource: Int): Boolean {
+        val result = this.mockResults[load][resource]
+        this.results.setResult(Pair(load, resource), result)
+        return result
+    }
+}
diff --git a/theodolite/src/test/kotlin/theodolite/execution/operator/BenchmarkCRDummy.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRDummy.kt
similarity index 50%
rename from theodolite/src/test/kotlin/theodolite/execution/operator/BenchmarkCRDummy.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRDummy.kt
index e294ea539ea60104cc00e9f73de790302ad52670..2bd52d55bb3acd3e37d53d22a1a434d53c1fff95 100644
--- a/theodolite/src/test/kotlin/theodolite/execution/operator/BenchmarkCRDummy.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/BenchmarkCRDummy.kt
@@ -1,14 +1,11 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.model.crd
 
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.benchmark.Resources
-import theodolite.model.crd.BenchmarkCRD
-import theodolite.util.KafkaConfig
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 
 class BenchmarkCRDummy(name: String) {
 
     private val benchmark = KubernetesBenchmark()
-    private val benchmarkCR = BenchmarkCRD(benchmark)
+    private val benchmarkCR = BenchmarkCRD()
 
     fun getCR(): BenchmarkCRD {
         return benchmarkCR
@@ -20,22 +17,31 @@ class BenchmarkCRDummy(name: String) {
         kafkaConfig.bootstrapServer = ""
         kafkaConfig.topics = emptyList()
 
+
         benchmarkCR.spec = benchmark
         benchmarkCR.metadata.name = name
         benchmarkCR.kind = "Benchmark"
         benchmarkCR.apiVersion = "v1"
+        benchmark.waitForResourcesEnabled = false
 
-
-        benchmark.infrastructure = Resources()
-        benchmark.sut = Resources()
-        benchmark.loadGenerator = Resources()
+        benchmark.infrastructure = KubernetesBenchmark.Resources()
+        benchmark.sut = KubernetesBenchmark.Resources()
+        benchmark.loadGenerator = KubernetesBenchmark.Resources()
 
         benchmark.infrastructure.resources = emptyList()
         benchmark.sut.resources = emptyList()
         benchmark.loadGenerator.resources = emptyList()
 
+        benchmark.infrastructure.beforeActions = emptyList()
+        benchmark.infrastructure.afterActions = emptyList()
+        benchmark.sut.beforeActions = emptyList()
+        benchmark.sut.afterActions = emptyList()
+        benchmark.loadGenerator.beforeActions = emptyList()
+        benchmark.loadGenerator.afterActions = emptyList()
+
         benchmark.resourceTypes = emptyList()
         benchmark.loadTypes = emptyList()
+        benchmark.slos = mutableListOf()
         benchmark.kafkaConfig = kafkaConfig
         benchmark.name = benchmarkCR.metadata.name
     }
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/CRDExecutionTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/CRDExecutionTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a7de76acfe7aac9b92628e87b9911599a13ab438
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/CRDExecutionTest.kt
@@ -0,0 +1,86 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import io.fabric8.kubernetes.api.model.KubernetesResourceList
+import io.fabric8.kubernetes.client.dsl.MixedOperation
+import io.fabric8.kubernetes.client.dsl.Resource
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import org.mockito.kotlin.mock
+import rocks.theodolite.kubernetes.operator.ExecutionEventHandler
+import rocks.theodolite.kubernetes.operator.ExecutionStateHandler
+import rocks.theodolite.kubernetes.operator.TheodoliteController
+import rocks.theodolite.kubernetes.util.ConfigurationOverride
+import java.io.FileInputStream
+
+
+// TODO move somewhere else
+typealias ExecutionClient = MixedOperation<ExecutionCRD, KubernetesResourceList<ExecutionCRD>, Resource<ExecutionCRD>>
+
+@WithKubernetesTestServer
+@QuarkusTest
+internal class CRDExecutionTest {
+
+     @KubernetesTestServer
+     private lateinit var server: KubernetesServer
+
+     lateinit var executionClient: ExecutionClient
+
+     lateinit var controller: TheodoliteController
+
+     lateinit var stateHandler: ExecutionStateHandler
+
+     lateinit var eventHandler: ExecutionEventHandler
+
+     @BeforeEach
+     fun setUp() {
+          server.before()
+
+          this.server.client
+                  .apiextensions().v1()
+                  .customResourceDefinitions()
+                  .load(FileInputStream("crd/crd-execution.yaml"))
+                  .create()
+
+          this.executionClient = this.server.client.resources(ExecutionCRD::class.java)
+
+          this.controller = mock()
+          this.stateHandler = ExecutionStateHandler(server.client)
+          this.eventHandler = ExecutionEventHandler(this.controller, this.stateHandler)
+     }
+
+     @AfterEach
+     fun tearDown() {
+          server.after()
+     }
+
+     @Test
+     fun checkParsingCRDTest(){
+          // BenchmarkExecution from yaml
+          val execution = executionClient.load(ClassLoader.getSystemResourceAsStream("k8s-resource-files/test-execution.yaml")).create().spec
+
+          assertEquals(0, execution.executionId)
+          assertEquals("test", execution.name)
+          assertEquals("uc1-kstreams", execution.benchmark)
+          assertEquals(mutableListOf<ConfigurationOverride?>(), execution.configOverrides)
+
+          assertEquals("NumSensors", execution.loads.loadType)
+          assertEquals(listOf(25000, 50000, 75000, 100000, 125000, 150000),execution.loads.loadValues)
+
+          assertEquals("Instances", execution.resources.resourceType)
+          assertEquals(listOf(1, 2, 3, 4, 5), execution.resources.resourceValues)
+
+          assertEquals("demand", execution.execution.metric)
+          assertEquals(300, execution.execution.duration)
+          assertEquals(1, execution.execution.repetitions)
+
+          assertEquals("RestrictionSearch", execution.execution.strategy.name)
+          assertEquals("LinearSearch", execution.execution.strategy.searchStrategy)
+          assertEquals(listOf("LowerBound"), execution.execution.strategy.restrictions)
+     }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionCRDummy.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRDummy.kt
similarity index 70%
rename from theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionCRDummy.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRDummy.kt
index 51347d41b396bf375c14d5580b0f2619ce5b518c..871471ee941f5cf2d254fb2bd70556f161d8d4de 100644
--- a/theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionCRDummy.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionCRDummy.kt
@@ -1,15 +1,12 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.model.crd
 
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.model.crd.ExecutionCRD
-import theodolite.model.crd.ExecutionStatus
-import theodolite.model.crd.ExecutionStates
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
 
 class ExecutionCRDummy(name: String, benchmark: String) {
 
     private val execution = BenchmarkExecution()
     private val executionState = ExecutionStatus()
-    private val executionCR = ExecutionCRD(execution, executionState)
+    private val executionCR = ExecutionCRD()
 
     fun getCR(): ExecutionCRD {
         return this.executionCR
@@ -25,6 +22,7 @@ class ExecutionCRDummy(name: String, benchmark: String) {
         executionCR.metadata.name = name
         executionCR.kind = "Execution"
         executionCR.apiVersion = "v1"
+        executionCR.status = executionState
 
         // configure execution
         val loadType = BenchmarkExecution.LoadDefinition()
@@ -35,22 +33,30 @@ class ExecutionCRDummy(name: String, benchmark: String) {
         resourceDef.resourceType = ""
         resourceDef.resourceValues = emptyList()
 
+        val strat = BenchmarkExecution.Strategy()
+        strat.name = ""
+        strat.restrictions = emptyList()
+        strat.guessStrategy = ""
+        strat.searchStrategy = ""
+
+
         val exec = BenchmarkExecution.Execution()
         exec.afterTeardownDelay = 0
         exec.duration = 0
         exec.loadGenerationDelay = 0
         exec.repetitions = 1
-        exec.restrictions = emptyList()
-        exec.strategy = ""
+        exec.metric = ""
+        exec.strategy = strat
+
 
         execution.benchmark = benchmark
-        execution.load = loadType
+        execution.loads = loadType
         execution.resources = resourceDef
         execution.slos = emptyList()
         execution.execution = exec
         execution.configOverrides = mutableListOf()
         execution.name = executionCR.metadata.name
 
-        executionState.executionState = ExecutionStates.PENDING.value
+        executionState.executionState = ExecutionState.PENDING
     }
 }
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/util/ExecutionStateComparatorTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparatorTest.kt
similarity index 67%
rename from theodolite/src/test/kotlin/theodolite/util/ExecutionStateComparatorTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparatorTest.kt
index 7332e53f9e1814f28b8ff37a595b31b0eb931ea7..14186ef408acd3233ce866102497bc56af1cdfda 100644
--- a/theodolite/src/test/kotlin/theodolite/util/ExecutionStateComparatorTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStateComparatorTest.kt
@@ -1,10 +1,8 @@
-package theodolite.util
+package rocks.theodolite.kubernetes.model.crd
 
 import io.quarkus.test.junit.QuarkusTest
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
-import theodolite.execution.operator.ExecutionCRDummy
-import theodolite.model.crd.ExecutionStates
 
 
 @QuarkusTest
@@ -12,14 +10,13 @@ class ExecutionStateComparatorTest {
 
     @Test
     fun testCompare() {
-        val comparator = ExecutionStateComparator(ExecutionStates.RESTART)
+        val comparator = ExecutionStateComparator(ExecutionState.RESTART)
         val execution1 = ExecutionCRDummy("dummy1", "default-benchmark")
         val execution2 = ExecutionCRDummy("dummy2", "default-benchmark")
-        execution1.getStatus().executionState = ExecutionStates.RESTART.value
-        execution2.getStatus().executionState = ExecutionStates.PENDING.value
+        execution1.getStatus().executionState = ExecutionState.RESTART
+        execution2.getStatus().executionState = ExecutionState.PENDING
         val list = listOf(execution2.getCR(), execution1.getCR())
 
-
         assertEquals(
             list.reversed(),
             list.sortedWith(comparator)
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatusTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatusTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..4c9326ac2e99dd7dd9707d4db25cb2e9e360ddf9
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/model/crd/ExecutionStatusTest.kt
@@ -0,0 +1,144 @@
+package rocks.theodolite.kubernetes.model.crd
+
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.databind.exc.InvalidFormatException
+import io.fabric8.kubernetes.api.model.MicroTime
+import io.fabric8.kubernetes.api.model.Duration as K8sDuration
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+import java.time.Clock
+import java.time.Duration
+import java.time.Instant
+import java.time.ZoneId
+
+
+internal class ExecutionStatusTest {
+
+    @Test
+    fun testDefaultStateSerialization() {
+        val objectMapper = ObjectMapper()
+        val executionStatus = ExecutionStatus()
+        val jsonString = objectMapper.writeValueAsString(executionStatus)
+        val json = objectMapper.readTree(jsonString)
+        val jsonField = json.get("executionState")
+        assertTrue(jsonField.isTextual)
+        assertEquals(ExecutionState.NO_STATE.value, json.get("executionState").asText())
+    }
+
+    @Test
+    fun testCustomStateSerialization() {
+        val objectMapper = ObjectMapper()
+        val executionStatus = ExecutionStatus()
+        executionStatus.executionState = ExecutionState.PENDING
+        val jsonString = objectMapper.writeValueAsString(executionStatus)
+        val json = objectMapper.readTree(jsonString)
+        val jsonField = json.get("executionState")
+        assertTrue(jsonField.isTextual)
+        assertEquals(ExecutionState.PENDING.value, json.get("executionState").asText())
+    }
+
+    @Test
+    fun testStateDeserialization() {
+        val objectMapper = ObjectMapper()
+        val json = objectMapper.createObjectNode()
+        json.put("executionState", ExecutionState.RUNNING.value)
+        json.put("executionDuration", "")
+        val jsonString = objectMapper.writeValueAsString(json)
+        val executionStatus = objectMapper.readValue(jsonString, ExecutionStatus::class.java)
+        val executionState =  executionStatus.executionState
+        assertNotNull(executionState)
+        assertEquals(ExecutionState.RUNNING, executionState)
+    }
+
+    @Test
+    fun testInvalidStateDeserialization() {
+        val objectMapper = ObjectMapper()
+        val json = objectMapper.createObjectNode()
+        json.put("executionState", "invalid-state")
+        json.put("executionDuration", "")
+        val jsonString = objectMapper.writeValueAsString(json)
+        assertThrows<InvalidFormatException> {
+            objectMapper.readValue(jsonString, ExecutionStatus::class.java)
+        }
+    }
+
+    @Test
+    fun `test duration for no start and completion time`() {
+        val executionStatus = ExecutionStatus()
+        assertNull(executionStatus.startTime)
+        assertNull(executionStatus.completionTime)
+        assertNull(executionStatus.executionDuration)
+    }
+
+    @Test
+    fun `test duration for no start but completion time`() {
+        val executionStatus = ExecutionStatus()
+        executionStatus.completionTime = MicroTime(Instant.parse("2022-01-02T18:59:20.492103Z").toString())
+        assertNull(executionStatus.startTime)
+        assertNull(executionStatus.executionDuration)
+    }
+
+    @Test
+    fun `test duration for non completed execution`() {
+        val startInstant = Instant.parse("2022-01-02T18:59:20.492103Z")
+        val sinceStart = Duration.ofMinutes(5)
+        val executionStatus = ExecutionStatus(clock = Clock.fixed(startInstant.plus(sinceStart), ZoneId.systemDefault()))
+        executionStatus.startTime = MicroTime(startInstant.toString())
+        assertNotNull(executionStatus.executionDuration)
+        assertEquals(K8sDuration(sinceStart), executionStatus.executionDuration)
+    }
+
+    @Test
+    fun `test duration for completed execution`() {
+        val startInstant = Instant.parse("2022-01-02T18:59:20.492103Z")
+        val sinceStart = Duration.ofMinutes(5)
+        val executionStatus = ExecutionStatus()
+        executionStatus.startTime = MicroTime(startInstant.toString())
+        executionStatus.completionTime = MicroTime(startInstant.plus(sinceStart).toString())
+        assertNotNull(executionStatus.executionDuration)
+        assertEquals(K8sDuration(sinceStart), executionStatus.executionDuration)
+    }
+
+    @Test
+    fun testDurationSerialization() {
+        val objectMapper = ObjectMapper()
+        val executionStatus = ExecutionStatus()
+        val startInstant = Instant.parse("2022-01-02T18:59:20.492103Z")
+        executionStatus.startTime = MicroTime(startInstant.toString())
+        executionStatus.completionTime = MicroTime(startInstant.plus(Duration.ofMinutes(15)).toString())
+        val jsonString = objectMapper.writeValueAsString(executionStatus)
+        val json = objectMapper.readTree(jsonString)
+        val jsonField = json.get("executionDuration")
+        assertTrue(jsonField.isTextual)
+        assertEquals("15m", jsonField.asText())
+    }
+
+    @Test
+    fun testNotStartedDurationSerialization() {
+        val objectMapper = ObjectMapper()
+        val executionStatus = ExecutionStatus()
+        val jsonString = objectMapper.writeValueAsString(executionStatus)
+        val json = objectMapper.readTree(jsonString)
+
+        assertTrue(json.get("startTime").isNull)
+        assertTrue(json.get("completionTime").isNull)
+        assertTrue(json.get("executionDuration").isNull)
+    }
+
+    @Test
+    fun testWrongDurationDeserialization() {
+        val startTime = "2022-01-02T18:59:20.492103Z"
+        val completionTime = "2022-01-02T19:14:20.492103Z"
+        val objectMapper = ObjectMapper()
+        val json = objectMapper.createObjectNode()
+        json.put("executionState", ExecutionState.RUNNING.value)
+        json.put("executionDuration", "20m")
+        json.put("startTime", startTime)
+        json.put("completionTime", completionTime)
+        val jsonString = objectMapper.writeValueAsString(json)
+        val executionStatus = objectMapper.readValue(jsonString, ExecutionStatus::class.java)
+        assertNotNull(executionStatus.executionDuration)
+        assertEquals(Duration.ofMinutes(15), executionStatus.executionDuration?.duration)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..465233a5d47e0c3963371a1fd0cc891aac74a42a
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt
@@ -0,0 +1,183 @@
+package rocks.theodolite.kubernetes.operator
+
+import com.google.gson.Gson
+import io.fabric8.kubernetes.api.model.ConfigMapBuilder
+import io.fabric8.kubernetes.api.model.Pod
+import io.fabric8.kubernetes.api.model.PodBuilder
+import io.fabric8.kubernetes.api.model.PodListBuilder
+import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.fabric8.kubernetes.client.server.mock.OutputStreamMessage
+import io.fabric8.kubernetes.client.utils.Utils
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.Assertions.*
+import rocks.theodolite.kubernetes.model.crd.BenchmarkState
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRDummy
+import rocks.theodolite.kubernetes.ConfigMapResourceSet
+import rocks.theodolite.kubernetes.ExecActionSelector
+import rocks.theodolite.kubernetes.PodSelector
+import rocks.theodolite.kubernetes.ResourceSets
+
+internal class BenchmarkStateCheckerTest {
+    private val server = KubernetesServer(false, false)
+    private val serverCrud = KubernetesServer(false, true)
+    private lateinit var checker: BenchmarkStateChecker
+    private lateinit var checkerCrud: BenchmarkStateChecker
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+        serverCrud.before()
+        val operator = TheodoliteOperator(serverCrud.client)
+        checker = BenchmarkStateChecker(
+            client = server.client,
+            benchmarkCRDClient = operator.getBenchmarkClient(),
+            benchmarkStateHandler = operator.getBenchmarkStateHandler()
+        )
+
+        checkerCrud = BenchmarkStateChecker(
+            client = serverCrud.client,
+            benchmarkCRDClient = operator.getBenchmarkClient(),
+            benchmarkStateHandler = operator.getBenchmarkStateHandler()
+        )
+
+        val pod: Pod = PodBuilder().withNewMetadata()
+            .withName("pod1")
+            .withResourceVersion("1")
+            .withLabels<String, String>(mapOf("app" to "pod"))
+            .withNamespace("test").and()
+            .build()
+
+        val ready: Pod = createReadyFrom(pod, "True")
+
+        val podList = PodListBuilder().build()
+        podList.items.add(0, ready)
+
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods?labelSelector=${Utils.toUrlEncoded("app=pod1")}")
+            .andReturn(200, podList)
+            .always()
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods?labelSelector=${Utils.toUrlEncoded("app=pod0")}")
+            .andReturn(200, emptyMap<String, String>())
+            .always()
+
+
+        server
+            .expect()
+            .get()
+            .withPath("/api/v1/namespaces/test/pods/pod1")
+            .andReturn(200, ready)
+            .always()
+
+        server
+            .expect()
+            .withPath("/api/v1/namespaces/test/pods/pod1/exec?command=ls&stdout=true&stderr=true")
+            .andUpgradeToWebSocket()
+            .open(OutputStreamMessage("Test-Output"))
+            .done()
+            .always()
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+        serverCrud.after()
+    }
+
+    /**
+     * Copied from fabric8 Kubernetes Client repository
+     *
+     * @param pod
+     * @param status
+     * @return
+     */
+    private fun createReadyFrom(pod: Pod, status: String): Pod {
+        return PodBuilder(pod)
+            .withNewStatus()
+            .addNewCondition()
+            .withType("Ready")
+            .withStatus(status)
+            .endCondition()
+            .endStatus()
+            .build()
+    }
+
+    private fun getActionSelector(label: Pair<String, String>): ExecActionSelector {
+        val podSelector = PodSelector()
+        val actionSelector = ExecActionSelector()
+        actionSelector.pod = podSelector
+
+        // pod with matching labels are deployed
+        podSelector.matchLabels = mutableMapOf(label)
+        return actionSelector
+    }
+
+    private fun createAndDeployConfigmapResourceSet(): ResourceSets {
+        // create test deployment
+        val resourceBuilder = DeploymentBuilder()
+        resourceBuilder.withNewSpec().endSpec()
+        resourceBuilder.withNewMetadata().endMetadata()
+        val resource = resourceBuilder.build()
+        resource.metadata.name = "test-deployment"
+        resource.metadata.labels = mutableMapOf("app" to "pod1")
+        val resourceString = Gson().toJson(resource)
+
+        // create and deploy configmap
+        val configMap1 = ConfigMapBuilder()
+            .withNewMetadata().withName("test-configmap").endMetadata()
+            .addToData("test-resource.yaml",resourceString)
+            .build()
+
+        serverCrud.client.configMaps().createOrReplace(configMap1)
+
+        // create configmap resource set
+        val resourceSet = ConfigMapResourceSet()
+        resourceSet.name = "test-configmap"
+
+        // create ResourceSetsList
+        val set = ResourceSets()
+        set.configMap = resourceSet
+        return set
+    }
+
+    @Test
+    fun checkIfResourceIsDeployed() {
+        // pod with matching labels are deployed
+        assertTrue(checker.checkIfResourceIsDeployed(getActionSelector("app" to "pod1")))
+
+        // no pod with matching labels are deployed
+        assertFalse(checker.checkIfResourceIsDeployed(getActionSelector("app" to "pod0")))
+    }
+
+    @Test
+    fun checkIfResourceIsInfrastructure() {
+        val resourceSets = listOf(createAndDeployConfigmapResourceSet())
+        assertTrue(checkerCrud.checkIfResourceIsInfrastructure(resourceSets, getActionSelector("app" to "pod1")))
+        assertFalse(checkerCrud.checkIfResourceIsInfrastructure(resourceSets, getActionSelector("app" to "pod0")))
+
+    }
+
+    @Test
+    fun checkResources() {
+        val benchmarkCR = BenchmarkCRDummy(
+            name = "test-benchmark"
+        )
+        val benchmark = benchmarkCR.getCR().spec
+
+        val resourceSet = KubernetesBenchmark.Resources()
+        resourceSet.resources = listOf(createAndDeployConfigmapResourceSet())
+        benchmark.infrastructure = resourceSet
+        benchmark.loadGenerator = resourceSet
+        benchmark.sut = resourceSet
+
+        assertEquals(BenchmarkState.READY,checkerCrud.checkResources(benchmark))
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/execution/operator/ControllerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ControllerTest.kt
similarity index 85%
rename from theodolite/src/test/kotlin/theodolite/execution/operator/ControllerTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ControllerTest.kt
index 7e0532aff36cac2fb1a1c718415315b8f54052c2..bdb7cc6ce4c0a6044878496eed3f99efe105c17d 100644
--- a/theodolite/src/test/kotlin/theodolite/execution/operator/ControllerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ControllerTest.kt
@@ -1,4 +1,4 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import com.google.gson.Gson
 import com.google.gson.GsonBuilder
@@ -10,11 +10,10 @@ import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.DisplayName
 import org.junit.jupiter.api.Test
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.model.crd.BenchmarkCRD
-import theodolite.model.crd.BenchmarkStates
-import theodolite.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.model.crd.*
+
 
 @QuarkusTest
 class ControllerTest {
@@ -32,15 +31,15 @@ class ControllerTest {
     @BeforeEach
     fun setUp() {
         server.before()
-        this.controller = TheodoliteOperator().getController(
-            client = server.client,
-            executionStateHandler = ExecutionStateHandler(server.client),
-            benchmarkStateHandler =  BenchmarkStateHandler(server.client)
+        val operator = TheodoliteOperator(server.client)
+        this.controller = operator.getController(
+            executionStateHandler = operator.getExecutionStateHandler(),
+            benchmarkStateChecker = operator.getBenchmarkStateChecker()
         )
 
         // benchmark
         val benchmark1 = BenchmarkCRDummy(name = "Test-Benchmark")
-        benchmark1.getCR().status.resourceSetsState = BenchmarkStates.READY.value
+        benchmark1.getCR().status.resourceSetsState = BenchmarkState.READY
         val benchmark2 = BenchmarkCRDummy(name = "Test-Benchmark-123")
         benchmarkResourceList.items = listOf(benchmark1.getCR(), benchmark2.getCR())
 
@@ -56,14 +55,14 @@ class ControllerTest {
         server
             .expect()
             .get()
-            .withPath("/apis/theodolite.com/v1/namespaces/test/benchmarks")
+            .withPath("/apis/theodolite.rocks/v1beta1/namespaces/test/benchmarks")
             .andReturn(200, benchmarkResourceList)
             .always()
 
         server
             .expect()
             .get()
-            .withPath("/apis/theodolite.com/v1/namespaces/test/executions")
+            .withPath("/apis/theodolite.rocks/v1beta1/namespaces/test/executions")
             .andReturn(200, executionResourceList)
             .always()
     }
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e794ae1638bd6c7f265b3b7ffb08c2494ba76a37
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTest.kt
@@ -0,0 +1,264 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.api.model.KubernetesResourceList
+import io.fabric8.kubernetes.client.dsl.MixedOperation
+import io.fabric8.kubernetes.client.dsl.Resource
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.DisplayName
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.Arguments
+import org.junit.jupiter.params.provider.MethodSource
+import org.mockito.kotlin.*
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
+import java.io.FileInputStream
+import java.util.stream.Stream
+
+// TODO move somewhere else
+typealias ExecutionClient = MixedOperation<ExecutionCRD, KubernetesResourceList<ExecutionCRD>, Resource<ExecutionCRD>>
+
+@WithKubernetesTestServer
+@QuarkusTest
+class ExecutionEventHandlerTest {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
+
+    lateinit var executionClient: ExecutionClient
+
+    lateinit var controller: TheodoliteController
+
+    lateinit var stateHandler: ExecutionStateHandler
+
+    lateinit var eventHandler: ExecutionEventHandler
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-execution.yaml"))
+            .create()
+
+        this.executionClient = this.server.client.resources(ExecutionCRD::class.java)
+
+        this.controller = mock()
+        this.stateHandler = ExecutionStateHandler(server.client)
+        this.eventHandler = ExecutionEventHandler(this.controller, this.stateHandler)
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+    }
+
+    @Test
+    fun testCrdRegistered() {
+        val crds = this.server.client.apiextensions().v1().customResourceDefinitions().list();
+        assertEquals(1, crds.items.size)
+        assertEquals("execution", crds.items[0].spec.names.kind)
+    }
+
+    @Test
+    fun testExecutionDeploy() {
+        getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml").create()
+
+        val executions = executionClient.list().items
+        assertEquals(1, executions.size)
+    }
+
+    @Test
+    fun testStatusSet() {
+        val execCreated = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml").create()
+        assertNotNull(execCreated.status)
+        val execResponse = this.executionClient.withName(execCreated.metadata.name)
+        val execResponseItem = execResponse.get()
+        assertNotNull(execResponseItem.status)
+    }
+
+    @Test
+    @DisplayName("Test onAdd method for executions without execution state")
+    fun testOnAddWithoutStatus() {
+        // Create first version of execution resource
+        val executionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val execution = executionResource.create()
+        val executionName = execution.metadata.name
+
+        // Get execution from server
+        val executionResponse = this.executionClient.withName(executionName).get()
+        this.eventHandler.onAdd(executionResponse)
+
+        assertEquals(ExecutionState.PENDING, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    @DisplayName("Test onAdd method for executions with execution state `RUNNING`")
+    fun testOnAddWithStatusRunning() {
+        // Create first version of execution resource
+        val executionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val execution = executionResource.create()
+        val executionName = execution.metadata.name
+        stateHandler.setExecutionState(executionName, ExecutionState.RUNNING)
+
+        // Update status of execution
+        execution.status.executionState = ExecutionState.RUNNING
+        executionResource.patchStatus(execution)
+
+
+        // Get execution from server
+        val executionResponse = this.executionClient.withName(executionName).get()
+        // Assert that status at server matches set status
+        assertEquals(ExecutionState.RUNNING, this.executionClient.withName(executionName).get().status.executionState)
+
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(true)
+
+        this.eventHandler.onAdd(executionResponse)
+
+        verify(this.controller).stop(true)
+        assertEquals(ExecutionState.RESTART, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    @DisplayName("Test onUpdate method for execution with no status")
+    fun testOnUpdateWithoutStatus() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution at server has no status
+        assertEquals(ExecutionState.NO_STATE, firstExecutionResponse.status.executionState)
+
+        // Create new version of execution and update at server
+        getExecutionFromSystemResource("k8s-resource-files/test-execution-update.yaml").createOrReplace()
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+
+        this.eventHandler.onUpdate(firstExecutionResponse, secondExecutionResponse)
+
+        // Get execution from server and assert that new status matches expected one
+        assertEquals(ExecutionState.PENDING, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @ParameterizedTest
+    @MethodSource("provideOnUpdateTestArguments")
+    @DisplayName("Test onUpdate method for execution with different status")
+    fun testOnUpdateWithStatus(beforeState: ExecutionState, expectedState: ExecutionState) {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution
+        firstExecution.status.executionState = beforeState
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that status at server matches set status
+        assertEquals(beforeState, firstExecutionResponse.status.executionState)
+
+        // Create new version of execution and update at server
+        getExecutionFromSystemResource("k8s-resource-files/test-execution-update.yaml").createOrReplace()
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+
+        this.eventHandler.onUpdate(firstExecutionResponse, secondExecutionResponse)
+
+        // Get execution from server and assert that new status matches expected one
+        assertEquals(expectedState, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    fun testOnDeleteWithExecutionRunning() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution to be running
+        firstExecution.status.executionState = ExecutionState.RUNNING
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNotNull(firstExecutionResponse)
+
+        // Delete execution
+        this.executionClient.delete(firstExecutionResponse)
+
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNull(secondExecutionResponse)
+
+        // We consider execution to be running
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(true)
+
+        this.eventHandler.onDelete(firstExecutionResponse, true)
+
+        verify(this.controller).stop(false)
+    }
+
+    @Test
+    fun testOnDeleteWithExecutionNotRunning() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution to be running
+        firstExecution.status.executionState = ExecutionState.RUNNING
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNotNull(firstExecutionResponse)
+
+        // Delete execution
+        this.executionClient.delete(firstExecutionResponse)
+
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNull(secondExecutionResponse)
+
+        // We consider execution to be running
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(false)
+
+        this.eventHandler.onDelete(firstExecutionResponse, true)
+
+        verify(this.controller, never()).stop(false)
+    }
+
+    private fun getExecutionFromSystemResource(resourceName: String): Resource<ExecutionCRD> {
+        return executionClient.load(ClassLoader.getSystemResourceAsStream(resourceName))
+    }
+
+    companion object {
+        @JvmStatic
+        fun provideOnUpdateTestArguments(): Stream<Arguments> =
+            Stream.of(
+                // before state -> expected state
+                Arguments.of(ExecutionState.PENDING, ExecutionState.PENDING),
+                Arguments.of(ExecutionState.FINISHED, ExecutionState.PENDING),
+                Arguments.of(ExecutionState.FAILURE, ExecutionState.PENDING),
+                Arguments.of(ExecutionState.RUNNING, ExecutionState.RESTART),
+                Arguments.of(ExecutionState.RESTART, ExecutionState.RESTART)
+            )
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTestWithInformer.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTestWithInformer.kt
new file mode 100644
index 0000000000000000000000000000000000000000..63a669fe67c66b644b6acbabedc5d79afff8ee31
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerTestWithInformer.kt
@@ -0,0 +1,283 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.client.dsl.Resource
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.*
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.Arguments
+import org.junit.jupiter.params.provider.MethodSource
+import org.mockito.kotlin.*
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
+import java.io.FileInputStream
+import java.util.concurrent.CountDownLatch
+import java.util.stream.Stream
+
+@WithKubernetesTestServer
+@QuarkusTest
+class ExecutionEventHandlerTestWithInformer {
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
+
+    lateinit var executionClient: ExecutionClient
+
+    lateinit var controller: TheodoliteController
+
+    lateinit var stateHandler: ExecutionStateHandler
+
+    lateinit var addCountDownLatch: CountDownLatch
+    lateinit var updateCountDownLatch: CountDownLatch
+    lateinit var deleteCountDownLatch: CountDownLatch
+
+    lateinit var eventHandler: ExecutionEventHandlerWrapper
+
+    @BeforeEach
+    fun setUp() {
+        server.before()
+
+        this.server.client
+            .apiextensions().v1()
+            .customResourceDefinitions()
+            .load(FileInputStream("crd/crd-execution.yaml"))
+            .create()
+
+        this.executionClient = this.server.client.resources(ExecutionCRD::class.java)
+
+        this.controller = mock()
+        this.stateHandler = ExecutionStateHandler(server.client)
+        this.addCountDownLatch = CountDownLatch(1)
+        this.updateCountDownLatch = CountDownLatch(2)
+        this.deleteCountDownLatch = CountDownLatch(1)
+        this.eventHandler = ExecutionEventHandlerWrapper(
+            ExecutionEventHandler(this.controller, this.stateHandler),
+            { addCountDownLatch.countDown() },
+            { updateCountDownLatch.countDown() },
+            { deleteCountDownLatch.countDown() }
+        )
+    }
+
+    @AfterEach
+    fun tearDown() {
+        server.after()
+        this.server.client.informers().stopAllRegisteredInformers()
+    }
+
+    @Test
+    fun testCrdRegistered() {
+        val crds = this.server.client.apiextensions().v1().customResourceDefinitions().list();
+        assertEquals(1, crds.items.size)
+        assertEquals("execution", crds.items[0].spec.names.kind)
+    }
+
+    @Test
+    fun testExecutionDeploy() {
+        getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml").create()
+
+        val executions = executionClient.list().items
+        assertEquals(1, executions.size)
+    }
+
+    @Test
+    fun testStatusSet() {
+        val execCreated = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml").create()
+        assertNotNull(execCreated.status)
+        val execResponse = this.executionClient.withName(execCreated.metadata.name)
+        val execResponseItem = execResponse.get()
+        assertNotNull(execResponseItem.status)
+    }
+
+    @Test
+    @DisplayName("Test onAdd method for executions without execution state")
+    fun testOnAddWithoutStatus() {
+        // Create first version of execution resource
+        val executionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val execution = executionResource.create()
+        val executionName = execution.metadata.name
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        // Await informer called
+        this.addCountDownLatch.await()
+        assertEquals(ExecutionState.PENDING, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    @DisplayName("Test onAdd method for executions with execution state `RUNNING`")
+    @Disabled("Flaky test due to multiple informer events.")
+    fun testOnAddWithStatusRunning() {
+        // Create first version of execution resource
+        val executionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val executionName = executionResource.get().metadata.name
+
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(true)
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        val execution = executionResource.create()
+
+        // Update status of execution
+        execution.status.executionState = ExecutionState.RUNNING
+        executionResource.patchStatus(execution)
+
+        // Assert that status at server matches set status
+        // assertEquals(ExecutionStates.RUNNING, this.executionClient.withName(executionName).get().status.executionState)
+
+        // Await informer called
+        this.addCountDownLatch.await()
+        verify(this.controller).stop(true)
+        assertEquals(ExecutionState.RESTART, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    @DisplayName("Test onUpdate method for execution with no status")
+    fun testOnUpdateWithoutStatus() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution at server has pending status
+        assertEquals(ExecutionState.PENDING, firstExecutionResponse.status.executionState)
+
+        // Create new version of execution and update at server
+        getExecutionFromSystemResource("k8s-resource-files/test-execution-update.yaml").createOrReplace()
+
+        // Await informer called
+        this.updateCountDownLatch.await()
+        // Get execution from server and assert that new status matches expected one
+        assertEquals(ExecutionState.PENDING, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @ParameterizedTest
+    @MethodSource("provideOnUpdateTestArguments")
+    @DisplayName("Test onUpdate method for execution with different status")
+    fun testOnUpdateWithStatus(beforeState: ExecutionState, expectedState: ExecutionState) {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution
+        firstExecution.status.executionState = beforeState
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that status at server matches set status
+        assertEquals(beforeState, firstExecutionResponse.status.executionState)
+
+        // Create new version of execution and update at server
+        getExecutionFromSystemResource("k8s-resource-files/test-execution-update.yaml").createOrReplace()
+
+        // Await informer called
+        this.updateCountDownLatch.await()
+        // Get execution from server and assert that new status matches expected one
+        assertEquals(expectedState, this.executionClient.withName(executionName).get().status.executionState)
+    }
+
+    @Test
+    @Disabled("Informer also called onAdd and changes status")
+    fun testOnDeleteWithExecutionRunning() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution to be running
+        firstExecution.status.executionState = ExecutionState.RUNNING
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNotNull(firstExecutionResponse)
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        // We consider execution to be running
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(true)
+
+        // Delete execution
+        this.executionClient.delete(firstExecutionResponse)
+
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution deleted at server
+        assertNull(secondExecutionResponse)
+
+        // Await informer called
+        this.deleteCountDownLatch.await()
+
+        verify(this.controller).stop(false)
+    }
+
+    @Test
+    fun testOnDeleteWithExecutionNotRunning() {
+        // Create first version of execution resource
+        val firstExecutionResource = getExecutionFromSystemResource("k8s-resource-files/test-execution.yaml")
+        val firstExecution = firstExecutionResource.create()
+        val executionName = firstExecution.metadata.name
+
+        // Update status of execution to be running
+        firstExecution.status.executionState = ExecutionState.RUNNING
+        firstExecutionResource.patchStatus(firstExecution)
+
+        // Get execution from server
+        val firstExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNotNull(firstExecutionResponse)
+
+        // Start informer
+        this.executionClient.inform(eventHandler)
+
+        // We consider execution to be running
+        whenever(this.controller.isExecutionRunning(executionName)).thenReturn(false)
+
+        // Delete execution
+        this.executionClient.delete(firstExecutionResponse)
+
+        // Get execution from server
+        val secondExecutionResponse = this.executionClient.withName(executionName).get()
+        // Assert that execution created at server
+        assertNull(secondExecutionResponse)
+
+        // Await informer called
+        this.deleteCountDownLatch.await()
+
+        verify(this.controller, never()).stop(false)
+    }
+
+    private fun getExecutionFromSystemResource(resourceName: String): Resource<ExecutionCRD> {
+        return executionClient.load(ClassLoader.getSystemResourceAsStream(resourceName))
+    }
+
+    companion object {
+        @JvmStatic
+        fun provideOnUpdateTestArguments(): Stream<Arguments> =
+            Stream.of(
+                // before state -> expected state
+                Arguments.of(ExecutionState.PENDING, ExecutionState.PENDING),
+                Arguments.of(ExecutionState.FINISHED, ExecutionState.PENDING),
+                Arguments.of(ExecutionState.FAILURE, ExecutionState.PENDING),
+                // Arguments.of(ExecutionStates.RUNNING, ExecutionStates.RESTART), // see testOnDeleteWithExecutionRunning
+                Arguments.of(ExecutionState.RESTART, ExecutionState.RESTART)
+            )
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerWrapper.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerWrapper.kt
new file mode 100644
index 0000000000000000000000000000000000000000..43ff721bd0f964065243188465849354bc7f8b23
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/ExecutionEventHandlerWrapper.kt
@@ -0,0 +1,28 @@
+package rocks.theodolite.kubernetes.operator
+
+import io.fabric8.kubernetes.client.informers.ResourceEventHandler
+import rocks.theodolite.kubernetes.operator.ExecutionEventHandler
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+
+class ExecutionEventHandlerWrapper(
+        private val executionEventHandler: ExecutionEventHandler,
+        private val afterOnAddCallback: () -> Unit,
+        private val afterOnUpdateCallback: () -> Unit,
+        private val afterOnDeleteCallback: () -> Unit
+) : ResourceEventHandler<ExecutionCRD> {
+
+    override fun onAdd(execution: ExecutionCRD) {
+        this.executionEventHandler.onAdd(execution)
+        this.afterOnAddCallback()
+    }
+
+    override fun onUpdate(oldExecution: ExecutionCRD, newExecution: ExecutionCRD) {
+        this.executionEventHandler.onUpdate(oldExecution, newExecution)
+        this.afterOnUpdateCallback()
+    }
+
+    override fun onDelete(execution: ExecutionCRD, deletedFinalStateUnknown: Boolean) {
+        this.executionEventHandler.onDelete(execution, deletedFinalStateUnknown)
+        this.afterOnDeleteCallback()
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/execution/operator/StateHandlerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
similarity index 50%
rename from theodolite/src/test/kotlin/theodolite/execution/operator/StateHandlerTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
index a54f4ed6db559f8f7f15ae82deecf3fedf8b4abe..ebef641d1e0a699ab5e220b0846be654fbefc672 100644
--- a/theodolite/src/test/kotlin/theodolite/execution/operator/StateHandlerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
@@ -1,26 +1,31 @@
-package theodolite.execution.operator
+package rocks.theodolite.kubernetes.operator
 
 import io.fabric8.kubernetes.client.server.mock.KubernetesServer
+import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
 import org.junit.jupiter.api.AfterEach
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.DisplayName
 import org.junit.jupiter.api.Test
-import theodolite.k8s.K8sManager
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.model.crd.ExecutionStates
-import java.time.Duration
+import rocks.theodolite.kubernetes.K8sManager
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
+import rocks.theodolite.kubernetes.model.crd.ExecutionState
 
+@QuarkusTest
+@WithKubernetesTestServer
 class StateHandlerTest {
-    private val testResourcePath = "./src/test/resources/k8s-resource-files/"
-    private val server = KubernetesServer(false, true)
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
 
     @BeforeEach
     fun setUp() {
         server.before()
-        val executionResource = K8sResourceLoaderFromFile(server.client)
-            .loadK8sResource("Execution", testResourcePath + "test-execution.yaml")
+        val executionStream = javaClass.getResourceAsStream("/k8s-resource-files/test-execution.yaml")
+        val executionResource = server.client.resources(ExecutionCRD::class.java).load(executionStream).get()
 
         K8sManager(server.client).deploy(executionResource)
     }
@@ -47,14 +52,7 @@ class StateHandlerTest {
     @DisplayName("Test empty execution state")
     fun executionWithoutExecutionStatusTest() {
         val handler = ExecutionStateHandler(client = server.client)
-        assertEquals(ExecutionStates.NO_STATE, handler.getExecutionState("example-execution"))
-    }
-
-    @Test
-    @DisplayName("Test empty duration state")
-    fun executionWithoutDurationStatusTest() {
-        val handler = ExecutionStateHandler(client = server.client)
-        assertEquals("-", handler.getDurationState("example-execution"))
+        assertEquals(ExecutionState.NO_STATE, handler.getExecutionState("example-execution"))
     }
 
     @Test
@@ -62,16 +60,8 @@ class StateHandlerTest {
     fun executionStatusTest() {
         val handler = ExecutionStateHandler(client = server.client)
 
-        assertTrue(handler.setExecutionState("example-execution", ExecutionStates.INTERRUPTED))
-        assertEquals(ExecutionStates.INTERRUPTED, handler.getExecutionState("example-execution"))
+        assertTrue(handler.setExecutionState("example-execution", ExecutionState.INTERRUPTED))
+        assertEquals(ExecutionState.INTERRUPTED, handler.getExecutionState("example-execution"))
     }
 
-    @Test
-    @DisplayName("Test set and get of the duration state")
-    fun durationStatusTest() {
-        val handler = ExecutionStateHandler(client = server.client)
-
-        assertTrue(handler.setDurationState("example-execution", Duration.ofMillis(100)))
-        assertEquals("0s", handler.getDurationState("example-execution"))
-    }
 }
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..cb92423305fd3f724753225d95150d5198f1d306
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/AbstractPatcherTest.kt
@@ -0,0 +1,98 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.*
+import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder
+import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Test
+
+@QuarkusTest
+abstract class AbstractPatcherTest {
+
+    lateinit var resource: List<HasMetadata>
+    lateinit var patcher: Patcher
+    lateinit var value: String
+
+    fun createDeployment(): HasMetadata {
+        return DeploymentBuilder()
+            .withNewMetadata()
+                .withName("dummy")
+            .endMetadata()
+            .withNewSpec()
+                .withNewSelector()
+                    .withMatchLabels<String, String>(mapOf("labelName" to "labelValue"))
+                .endSelector()
+                    .withNewTemplate()
+                        .withNewMetadata()
+                            .withLabels<String, String>(mapOf("labelName" to "labelValue"))
+                        .endMetadata()
+                        .withNewSpec()
+                        .withContainers(
+                                ContainerBuilder()
+                                    .withName("container")
+                                    .withImage("test-image")
+                                    .build())
+                            .addNewVolume()
+                                .withName("test-volume")
+                                .withNewConfigMap()
+                                    .withName("test-configmap")
+                                .endConfigMap()
+                            .endVolume()
+                        .endSpec()
+                .endTemplate()
+            .endSpec()
+            .build()
+    }
+
+    fun createStateFulSet(): HasMetadata {
+        return StatefulSetBuilder()
+            .withNewMetadata()
+                .withName("dummy")
+            .endMetadata()
+            .withNewSpec()
+                .withNewSelector()
+                    .withMatchLabels<String, String>(mapOf("labelName" to "labelValue"))
+                .endSelector()
+                .withNewTemplate()
+                    .withNewMetadata()
+                        .withLabels<String, String>(mapOf("labelName" to "labelValue"))
+                    .endMetadata()
+                    .withNewSpec()
+                    .addNewVolume()
+                        .withName("test-volume")
+                            .withNewConfigMap()
+                                .withName("test-configmap")
+                            .endConfigMap()
+                        .endVolume()
+                    .endSpec()
+                .endTemplate()
+            .endSpec()
+            .build()
+    }
+
+    fun createService(): HasMetadata {
+        return ServiceBuilder()
+            .withNewMetadata()
+            .withName("dummy")
+            .endMetadata()
+            .build()
+    }
+
+    fun createConfigMap(): HasMetadata {
+        return ConfigMapBuilder()
+            .withNewMetadata()
+                .withName("dummy")
+            .endMetadata()
+            .withData<String, String>(mapOf("application.properties" to "propA = valueA"))
+            .build()
+    }
+
+    fun patch() {
+        resource = patcher.patch(resource, value)
+    }
+
+    @Test
+    abstract fun validate()
+
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/patcher/ConfigOverrideModifierTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifierTest.kt
similarity index 82%
rename from theodolite/src/test/kotlin/theodolite/patcher/ConfigOverrideModifierTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifierTest.kt
index 1db1122e1caa5a783159ecaba849b99963e3c2a9..6172454008266c987b335999b7d8bbe67bb0fc02 100644
--- a/theodolite/src/test/kotlin/theodolite/patcher/ConfigOverrideModifierTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ConfigOverrideModifierTest.kt
@@ -1,13 +1,13 @@
-package theodolite.patcher
+package rocks.theodolite.kubernetes.patcher
 
 import io.quarkus.test.junit.QuarkusTest
 import org.junit.jupiter.api.Assertions
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.benchmark.KubernetesBenchmark
-import theodolite.execution.operator.BenchmarkCRDummy
-import theodolite.execution.operator.ExecutionCRDummy
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+import rocks.theodolite.kubernetes.model.crd.BenchmarkCRDummy
+import rocks.theodolite.kubernetes.model.crd.ExecutionCRDummy
 
 @QuarkusTest
 class ConfigOverrideModifierTest {
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..6c9be1b9a59f963c8996e520b55e16caf24cbf6c
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/DataVolumeLoadGeneratorReplicaPatcherTest.kt
@@ -0,0 +1,28 @@
+package theodolite.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import rocks.theodolite.kubernetes.patcher.AbstractPatcherTest
+
+import rocks.theodolite.kubernetes.patcher.VolumesConfigMapPatcher
+
+@QuarkusTest
+internal class DataVolumeLoadGeneratorReplicaPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = VolumesConfigMapPatcher((resource.first() as Deployment).spec.template.spec.volumes[0].configMap.name)
+        value = "new-configMapName"
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assert((it as Deployment).spec.template.spec.volumes[0].configMap.name == value)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..83cd056ac1b56b13fb8f211a2d926f1272c9fb0e
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/EnvVarPatcherTest.kt
@@ -0,0 +1,34 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.EnvVarBuilder
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.BeforeEach
+
+@QuarkusTest
+internal class EnvVarPatcherTest : AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = EnvVarPatcher(variableName = "testEnv", container = "container")
+        value = "testValue"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        val envVar = EnvVarBuilder().withName("testEnv").withValue("testValue").build()
+        resource.forEach {
+        assertTrue((it as Deployment).spec.template.spec.containers[0].env.contains(envVar))
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7b3f803a4e13039b7bb40aec6259f7d9a4fdbb57
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ImagePatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class ImagePatcherTest: AbstractPatcherTest(){
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = ImagePatcher(container = "container")
+        value = "testValue"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.template.spec.containers[0].image  == value)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..652dda47cef34a7a95e54c36cbe9af9c897b84a1
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/LabelPatcherTest.kt
@@ -0,0 +1,37 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class LabelPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = LabelPatcher("labelName")
+        value = "labelValue"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).metadata.labels.containsKey("labelName"))
+            assertTrue(it.metadata.labels.get("labelName")=="labelValue")
+        }
+    }
+
+    @Test
+    fun getVariableName() {
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a5711a762ab65fc39edf731c21d085d0936a5a93
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/MatchLabelPatcherTest.kt
@@ -0,0 +1,37 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class MatchLabelPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = MatchLabelPatcher("labelName")
+        value = "labelValue"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.selector.matchLabels.containsKey("labelName"))
+            assertTrue(it.spec.selector.matchLabels.get("labelName")=="labelValue")
+        }
+    }
+
+    @Test
+    fun getVariableName() {
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..cb1308cb73dc127661b2c2741fdc3e0460fcfde4
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NamePatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class NamePatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = NamePatcher()
+        value = "newName"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            println(it.toString())
+            assertTrue(it.toString().contains("name=$value"))
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ca8f83518a5bcd96837de96b1879c0de2e9a5773
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NodeSelectorPatcherTest.kt
@@ -0,0 +1,35 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class NodeSelectorPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = NodeSelectorPatcher("nodeName")
+        value = "nodeValue"
+
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.template.spec.nodeSelector.containsKey("nodeName"))
+            assertTrue(it.spec.template.spec.nodeSelector["nodeName"] == value)
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..8940e288fae79f10e5dcd728121a2dbbf0aaa180
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumNestedGroupsLoadGeneratorReplicaPatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class NumNestedGroupsLoadGeneratorReplicaPatcherTest : AbstractPatcherTest(){
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = NumNestedGroupsLoadGeneratorReplicaPatcher("10", "500")
+        value = "2"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.replicas == 1)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e3bb6ffff4938bcaeb4a0db6487bd4741da75850
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/NumSensorsLoadGeneratorReplicaPatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class NumSensorsLoadGeneratorReplicaPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = NumSensorsLoadGeneratorReplicaPatcher("10")
+        value = "2"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.replicas == 1)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactoryTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactoryTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..010fa1e25fb89619c8954b1bafa52c5389d0a2f3
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/PatcherDefinitionFactoryTest.kt
@@ -0,0 +1,22 @@
+package rocks.theodolite.kubernetes.patcher
+
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+internal class PatcherDefinitionFactoryTest {
+
+    @BeforeEach
+    fun setUp() {
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    fun createPatcherDefinition() {
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..852002a07cfb756086afbc6d0573fc548f945683
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ReplicaPatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class ReplicaPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = ReplicaPatcher()
+        value = "5"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.replicas == 5)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/ResourceLimitPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcherTest.kt
similarity index 59%
rename from theodolite/src/test/kotlin/theodolite/ResourceLimitPatcherTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcherTest.kt
index 46758583172c3fcd6417e17ff5bab85f8659734b..b0af74d1e207ee10fac548f27267356711943dd0 100644
--- a/theodolite/src/test/kotlin/theodolite/ResourceLimitPatcherTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcherTest.kt
@@ -1,13 +1,13 @@
-package theodolite
+package rocks.theodolite.kubernetes.patcher
 
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.client.DefaultKubernetesClient
+import io.fabric8.kubernetes.api.model.HasMetadata
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
 import io.quarkus.test.junit.QuarkusTest
-import io.smallrye.common.constraint.Assert.assertTrue
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
+import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Disabled
 import org.junit.jupiter.api.Test
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.patcher.PatcherFactory
-import theodolite.util.PatcherDefinition
 
 /**
  * Resource patcher test
@@ -20,41 +20,36 @@ import theodolite.util.PatcherDefinition
  * Case 4:  In the given YAML declaration neither `Resource Request` nor `Request Limit` is defined
  */
 @QuarkusTest
+@WithKubernetesTestServer
+@Disabled
 class ResourceLimitPatcherTest {
-    val testPath = "./src/test/resources/"
-    val loader = K8sResourceLoaderFromFile(DefaultKubernetesClient().inNamespace(""))
-    val patcherFactory = PatcherFactory()
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
 
     fun applyTest(fileName: String) {
         val cpuValue = "50m"
         val memValue = "3Gi"
-        val k8sResource = loader.loadK8sResource("Deployment", testPath + fileName) as Deployment
+        val k8sResource = server.client.apps().deployments().load(javaClass.getResourceAsStream(fileName)).get()
 
         val defCPU = PatcherDefinition()
-        defCPU.resource = "cpu-memory-deployment.yaml"
+        defCPU.resource = "/cpu-memory-deployment.yaml"
         defCPU.type = "ResourceLimitPatcher"
-        defCPU.properties = mutableMapOf(
+        defCPU.properties = mapOf(
             "limitedResource" to "cpu",
             "container" to "application"
         )
 
         val defMEM = PatcherDefinition()
-        defMEM.resource = "cpu-memory-deployment.yaml"
+        defMEM.resource = "/cpu-memory-deployment.yaml"
         defMEM.type = "ResourceLimitPatcher"
-        defMEM.properties = mutableMapOf(
+        defMEM.properties = mapOf(
             "limitedResource" to "memory",
             "container" to "uc-application"
         )
 
-        patcherFactory.createPatcher(
-            patcherDefinition = defCPU,
-            k8sResources = listOf(Pair("cpu-memory-deployment.yaml", k8sResource))
-        ).patch(value = cpuValue)
-
-        patcherFactory.createPatcher(
-            patcherDefinition = defMEM,
-            k8sResources = listOf(Pair("cpu-memory-deployment.yaml", k8sResource))
-        ).patch(value = memValue)
+        PatchHandler.patchResource(mutableMapOf(Pair("cpu-memory-deployment.yaml", listOf(k8sResource as HasMetadata))), defCPU, cpuValue)
+        PatchHandler.patchResource(mutableMapOf(Pair("cpu-memory-deployment.yaml", listOf(k8sResource as HasMetadata))), defMEM, memValue)
 
         k8sResource.spec.template.spec.containers.filter { it.name == defCPU.properties["container"]!! }
             .forEach {
@@ -66,24 +61,24 @@ class ResourceLimitPatcherTest {
     @Test
     fun testWithExistingCpuAndMemoryDeclarations() {
         // Case 1: In the given YAML declaration memory and cpu are defined
-        applyTest("cpu-memory-deployment.yaml")
+        applyTest("/cpu-memory-deployment.yaml")
     }
 
     @Test
     fun testOnlyWithExistingCpuDeclarations() {
         // Case 2:  In the given YAML declaration only cpu is defined
-        applyTest("cpu-deployment.yaml")
+        applyTest("/cpu-deployment.yaml")
     }
 
     @Test
     fun testOnlyWithExistingMemoryDeclarations() {
         //  Case 3:  In the given YAML declaration only memory is defined
-        applyTest("memory-deployment.yaml")
+        applyTest("/memory-deployment.yaml")
     }
 
     @Test
     fun testWithoutResourceDeclarations() {
         // Case 4: In the given YAML declaration neither `Resource Request` nor `Request Limit` is defined
-        applyTest("no-resources-deployment.yaml")
+        applyTest("/no-resources-deployment.yaml")
     }
 }
diff --git a/theodolite/src/test/kotlin/theodolite/ResourceRequestPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcherTest.kt
similarity index 60%
rename from theodolite/src/test/kotlin/theodolite/ResourceRequestPatcherTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcherTest.kt
index 8794d4dc2d67b8af78f4fa409c727f882922d0b8..a076e541e742e97ffa95dccff925892dd63ff17a 100644
--- a/theodolite/src/test/kotlin/theodolite/ResourceRequestPatcherTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcherTest.kt
@@ -1,13 +1,11 @@
-package theodolite
+package rocks.theodolite.kubernetes.patcher
 
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.client.DefaultKubernetesClient
+import io.fabric8.kubernetes.client.server.mock.KubernetesServer
 import io.quarkus.test.junit.QuarkusTest
+import io.quarkus.test.kubernetes.client.KubernetesTestServer
+import io.quarkus.test.kubernetes.client.WithKubernetesTestServer
 import io.smallrye.common.constraint.Assert.assertTrue
 import org.junit.jupiter.api.Test
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.patcher.PatcherFactory
-import theodolite.util.PatcherDefinition
 
 /**
  * Resource patcher test
@@ -20,40 +18,35 @@ import theodolite.util.PatcherDefinition
  * Case 4:  In the given YAML declaration neither `Resource Request` nor `Request Limit` is defined
  */
 @QuarkusTest
+@WithKubernetesTestServer
 class ResourceRequestPatcherTest {
-    val testPath = "./src/test/resources/"
-    val loader = K8sResourceLoaderFromFile(DefaultKubernetesClient().inNamespace(""))
-    val patcherFactory = PatcherFactory()
+
+    @KubernetesTestServer
+    private lateinit var server: KubernetesServer
 
     fun applyTest(fileName: String) {
         val cpuValue = "50m"
         val memValue = "3Gi"
-        val k8sResource = loader.loadK8sResource("Deployment", testPath + fileName) as Deployment
+        val k8sResource = server.client.apps().deployments().load(javaClass.getResourceAsStream(fileName)).get()
 
         val defCPU = PatcherDefinition()
-        defCPU.resource = "cpu-memory-deployment.yaml"
+        defCPU.resource = "/cpu-memory-deployment.yaml"
         defCPU.type = "ResourceRequestPatcher"
-        defCPU.properties = mutableMapOf(
+        defCPU.properties = mapOf(
             "requestedResource" to "cpu",
             "container" to "application"
         )
 
         val defMEM = PatcherDefinition()
-        defMEM.resource = "cpu-memory-deployment.yaml"
+        defMEM.resource = "/cpu-memory-deployment.yaml"
         defMEM.type = "ResourceRequestPatcher"
-        defMEM.properties = mutableMapOf(
+        defMEM.properties = mapOf(
             "requestedResource" to "memory",
             "container" to "application"
         )
 
-        patcherFactory.createPatcher(
-            patcherDefinition = defCPU,
-            k8sResources = listOf(Pair("cpu-memory-deployment.yaml", k8sResource))
-        ).patch(value = cpuValue)
-        patcherFactory.createPatcher(
-            patcherDefinition = defMEM,
-            k8sResources = listOf(Pair("cpu-memory-deployment.yaml", k8sResource))
-        ).patch(value = memValue)
+        PatchHandler.patchResource(mutableMapOf(Pair("/cpu-memory-deployment.yaml", listOf(k8sResource))), defCPU, cpuValue)
+        PatchHandler.patchResource(mutableMapOf(Pair("/cpu-memory-deployment.yaml", listOf(k8sResource))), defMEM, memValue)
 
         k8sResource.spec.template.spec.containers.filter { it.name == defCPU.properties["container"]!! }
             .forEach {
@@ -65,24 +58,24 @@ class ResourceRequestPatcherTest {
     @Test
     fun testWithExistingCpuAndMemoryDeclarations() {
         // Case 1: In the given YAML declaration memory and cpu are defined
-        applyTest("cpu-memory-deployment.yaml")
+        applyTest("/cpu-memory-deployment.yaml")
     }
 
     @Test
     fun testOnlyWithExistingCpuDeclarations() {
         // Case 2:  In the given YAML declaration only cpu is defined
-        applyTest("cpu-deployment.yaml")
+        applyTest("/cpu-deployment.yaml")
     }
 
     @Test
     fun testOnlyWithExistingMemoryDeclarations() {
         //  Case 3:  In the given YAML declaration only memory is defined
-        applyTest("memory-deployment.yaml")
+        applyTest("/memory-deployment.yaml")
     }
 
     @Test
     fun testWithoutResourceDeclarations() {
         // Case 4: In the given YAML declaration neither `Resource Request` nor `Request Limit` is defined
-        applyTest("no-resources-deployment.yaml")
+        applyTest("/no-resources-deployment.yaml")
     }
-}
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2b2021ec5853af4a2ef087a21bde87fb5bdc847e
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/SchedulerNamePatcherTest.kt
@@ -0,0 +1,32 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class SchedulerNamePatcherTest : AbstractPatcherTest(){
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = SchedulerNamePatcher()
+        value = "testScheduler"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.template.spec.schedulerName == value)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..94073b9f34d6b76d69d82e4ea40ed047a68655ff
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/TemplateLabelPatcherTest.kt
@@ -0,0 +1,30 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class TemplateLabelPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = TemplateLabelPatcher( "labelName")
+        value = "labelValue"
+    }
+
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            assertTrue((it as Deployment).spec.template.metadata.labels.containsKey("labelName"))
+            assertTrue(it.spec.template.metadata.labels["labelName"] =="labelValue")
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcherTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcherTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..db3fc812e426c0f74cf68d35a158f32a3ec0bc3f
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/patcher/VolumesConfigMapPatcherTest.kt
@@ -0,0 +1,33 @@
+package rocks.theodolite.kubernetes.patcher
+
+import io.fabric8.kubernetes.api.model.apps.Deployment
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+import org.junit.jupiter.api.Assertions.*
+
+@QuarkusTest
+internal class VolumesConfigMapPatcherTest: AbstractPatcherTest() {
+
+    @BeforeEach
+    fun setUp() {
+        resource = listOf(createDeployment())
+        patcher = VolumesConfigMapPatcher("test-configmap")
+        value = "patchedVolumeName"
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    override fun validate() {
+        patch()
+        resource.forEach {
+            println((it as Deployment).spec.template.spec.volumes[0].configMap.name)
+            assertTrue((it as Deployment).spec.template.spec.volumes[0].configMap.name == value)
+        }
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloCheckerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloCheckerTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2c0b1119402c3c443537367091ce99e601d6c2bd
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/ExternalSloCheckerTest.kt
@@ -0,0 +1,63 @@
+package rocks.theodolite.kubernetes.slo
+
+import com.fasterxml.jackson.databind.node.BooleanNode
+import com.github.tomakehurst.wiremock.WireMockServer
+import com.github.tomakehurst.wiremock.client.WireMock.*
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+
+@QuarkusTest
+internal class ExternalSloCheckerTest {
+
+    private var wireMockServer: WireMockServer? = null
+
+    @BeforeEach
+    fun start() {
+        wireMockServer = WireMockServer().also {
+            it.start()
+        }
+    }
+
+    @AfterEach
+    fun stop() {
+        wireMockServer?.stop()
+    }
+
+    @Test
+    fun testExternalTrueResult() {
+        this.wireMockServer!!.stubFor(
+            post(urlEqualTo("/"))
+                .willReturn(
+                    aResponse().withJsonBody(BooleanNode.getTrue())
+                )
+        )
+
+        val sloChecker = ExternalSloChecker(
+            wireMockServer!!.baseUrl(),
+            mapOf()
+        )
+        val result = sloChecker.evaluate(listOf())
+        assertTrue(result)
+    }
+
+    @Test
+    fun testExternalFalseResult() {
+        this.wireMockServer!!.stubFor(
+            post(urlEqualTo("/"))
+                .willReturn(
+                    aResponse().withJsonBody(BooleanNode.getFalse())
+                )
+        )
+
+        val sloChecker = ExternalSloChecker(
+            wireMockServer!!.baseUrl(),
+            mapOf()
+        )
+        val result = sloChecker.evaluate(listOf())
+        assertFalse(result)
+    }
+
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactoryTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactoryTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a61119bbe0e5be180ccf3ca2c54ac2829eb4558d
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloCheckerFactoryTest.kt
@@ -0,0 +1,298 @@
+package rocks.theodolite.kubernetes.slo
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+import rocks.theodolite.core.strategies.Metric
+
+@QuarkusTest
+internal class SloCheckerFactoryTest {
+
+    @Test
+    fun testCreateGenericSloWithoutUrl() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "warmup" to "60",
+                    "queryAggregation" to "median",
+                    "repetitionAggregation" to "median",
+                    "operator" to "lte",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloWithoutWarmup() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "queryAggregation" to "median",
+                    "repetitionAggregation" to "median",
+                    "operator" to "lte",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloWithoutQueryAggregation() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                    "repetitionAggregation" to "median",
+                    "operator" to "lte",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloWithoutRepetitionAggregation() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                    "queryAggregation" to "median",
+                    "operator" to "lte",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloWithoutOperator() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                    "queryAggregation" to "median",
+                    "repetitionAggregation" to "median",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloWithoutThreshold() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.GENERIC.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                    "queryAggregation" to "median",
+                    "repetitionAggregation" to "median",
+                    "operator" to "lte",
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateGenericSloFloatThreshold() {
+        val factory = SloCheckerFactory()
+        val sloChecker = factory.create(
+            SloTypes.GENERIC.value,
+            mapOf(
+                "externalSloUrl" to "http://localhost:1234",
+                "warmup" to "60",
+                "queryAggregation" to "median",
+                "repetitionAggregation" to "median",
+                "operator" to "lte",
+                "threshold" to "12.34"
+            ),
+            100,
+            5,
+            Metric.DEMAND
+        )
+        assertInstanceOf(ExternalSloChecker::class.java, sloChecker)
+        val threshold = (sloChecker as ExternalSloChecker).metadata["threshold"]
+        assertTrue(threshold is Double, "Expected threshold to be Double.")
+        assertEquals(12.34, threshold as Double, 0.01)
+    }
+
+    @Test
+    fun testCreateLagTrendSloWithoutUrl() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND.value,
+                mapOf(
+                    "warmup" to "60",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateLagTrendSloWithoutWarmup() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "threshold" to "1234"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+
+    @Test
+    fun testCreateLagTrendSloWithoutThreshold() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateLagTrendSloFloatThreshold() {
+        val factory = SloCheckerFactory()
+        val sloChecker = factory.create(
+            SloTypes.LAG_TREND.value,
+            mapOf(
+                "externalSloUrl" to "http://localhost:1234",
+                "warmup" to "60",
+                "threshold" to "12.34"
+            ),
+            100,
+            5,
+            Metric.DEMAND
+        )
+        assertInstanceOf(ExternalSloChecker::class.java, sloChecker)
+        val threshold = (sloChecker as ExternalSloChecker).metadata["threshold"]
+        assertTrue(threshold is Double, "Expected threshold to be Double.")
+        assertEquals(12.34, threshold as Double, 0.01)
+    }
+
+    @Test
+    fun testCreateLagTrendRatioSloWithoutUrl() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND_RATIO.value,
+                mapOf(
+                    "warmup" to "60",
+                    "ratio" to "0.123"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateLagTrendRatioSloWithoutWarmup() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND_RATIO.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "ratio" to "0.123"
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+
+    @Test
+    fun testCreateLagTrendRatioSloWithoutRatioThreshold() {
+        val factory = SloCheckerFactory()
+        assertThrows<IllegalArgumentException> {
+            factory.create(
+                SloTypes.LAG_TREND_RATIO.value,
+                mapOf(
+                    "externalSloUrl" to "http://localhost:1234",
+                    "warmup" to "60",
+                ),
+                100,
+                5,
+                Metric.DEMAND
+            )
+        }
+    }
+
+    @Test
+    fun testCreateLagTrendRatioSloFloatThreshold() {
+        val factory = SloCheckerFactory()
+        val sloChecker = factory.create(
+            SloTypes.LAG_TREND_RATIO.value,
+            mapOf(
+                "externalSloUrl" to "http://localhost:1234",
+                "warmup" to "60",
+                "ratio" to "0.123"
+            ),
+            100,
+            5,
+            Metric.DEMAND
+        )
+        assertInstanceOf(ExternalSloChecker::class.java, sloChecker)
+        val threshold = (sloChecker as ExternalSloChecker).metadata["threshold"]
+        assertTrue(threshold is Double, "Expected threshold to be Double.")
+        assertEquals(12.3, threshold as Double, 0.01)
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloFactoryTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloFactoryTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..de9d4c60dbad069ccb1229bebb4a4751cf96d98d
--- /dev/null
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/slo/SloFactoryTest.kt
@@ -0,0 +1,69 @@
+package rocks.theodolite.kubernetes.slo
+
+import io.quarkus.test.junit.QuarkusTest
+import org.junit.jupiter.api.Assertions
+import org.junit.jupiter.api.Test
+import rocks.theodolite.kubernetes.model.BenchmarkExecution
+import rocks.theodolite.kubernetes.model.KubernetesBenchmark
+
+@QuarkusTest
+internal class SloFactoryTest {
+
+    @Test
+    fun overwriteSloTest() {
+
+        val benchmark = KubernetesBenchmark()
+        val execution = BenchmarkExecution()
+
+        // Define Benchmark SLOs
+        val slo = KubernetesBenchmark.Slo()
+        slo.name="test"
+        slo.sloType="lag trend"
+        slo.prometheusUrl="test.de"
+        slo.offset=0
+
+        val benchmarkSloProperties = mutableMapOf<String, String>()
+        benchmarkSloProperties["threshold"] = "2000"
+        benchmarkSloProperties["externalSloUrl"] = "http://localhost:80/evaluate-slope"
+        benchmarkSloProperties["warmup"] = "60"
+
+        slo.properties=benchmarkSloProperties
+
+        benchmark.slos = mutableListOf(slo)
+
+
+        // Define Execution SLOs, benchmark SLO values for these properties should be overwritten
+        val sloConfig = BenchmarkExecution.SloConfiguration()
+        sloConfig.name = "test"
+
+        val executionSloProperties = mutableMapOf<String, String>()
+        // overwriting properties 'threshold' and 'warmup' and adding property 'extensionTest'
+        executionSloProperties["threshold"] = "3000"
+        executionSloProperties["warmup"] = "80"
+        executionSloProperties["extensionTest"] = "extended"
+
+        sloConfig.properties = executionSloProperties
+
+        // SLO has 'name' that isn't defined in the benchmark, therefore it will be ignored by the SloFactory
+        val sloConfig2 = BenchmarkExecution.SloConfiguration()
+        sloConfig2.name = "test2"
+        sloConfig2.properties = executionSloProperties
+
+        execution.slos = listOf(sloConfig, sloConfig2)
+
+        val sloFactory = SloFactory()
+        val combinedSlos = sloFactory.createSlos(execution,benchmark)
+
+        Assertions.assertEquals(1, combinedSlos.size)
+        Assertions.assertEquals("test", combinedSlos[0].name)
+        Assertions.assertEquals("lag trend", combinedSlos[0].sloType)
+        Assertions.assertEquals("test.de", combinedSlos[0].prometheusUrl)
+        Assertions.assertEquals(0, combinedSlos[0].offset)
+
+        Assertions.assertEquals(4, combinedSlos[0].properties.size)
+        Assertions.assertEquals("3000", combinedSlos[0].properties["threshold"])
+        Assertions.assertEquals("http://localhost:80/evaluate-slope", combinedSlos[0].properties["externalSloUrl"])
+        Assertions.assertEquals("80", combinedSlos[0].properties["warmup"])
+        Assertions.assertEquals("extended", combinedSlos[0].properties["extensionTest"])
+    }
+}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/CompositeStrategyTest.kt b/theodolite/src/test/kotlin/theodolite/CompositeStrategyTest.kt
deleted file mode 100644
index 580d9e747bde687a91ffb1bce2e7c9dfb6f166a2..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/CompositeStrategyTest.kt
+++ /dev/null
@@ -1,117 +0,0 @@
-package theodolite
-
-import io.quarkus.test.junit.QuarkusTest
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.strategies.restriction.LowerBoundRestriction
-import theodolite.strategies.searchstrategy.BinarySearch
-import theodolite.strategies.searchstrategy.CompositeStrategy
-import theodolite.strategies.searchstrategy.LinearSearch
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
-
-@QuarkusTest
-class CompositeStrategyTest {
-
-    @Test
-    fun testEnd2EndLinearSearch() {
-        val mockResults = arrayOf(
-            arrayOf(true, true, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true),
-            arrayOf(false, false, false, true, true, true, true),
-            arrayOf(false, false, false, false, true, true, true),
-            arrayOf(false, false, false, false, false, false, true),
-            arrayOf(false, false, false, false, false, false, false)
-        )
-        val mockLoads: List<LoadDimension> = (0..6).map { number -> LoadDimension(number, emptyList()) }
-        val mockResources: List<Resource> = (0..6).map { number -> Resource(number, emptyList()) }
-        val results = Results()
-        val benchmark = TestBenchmark()
-        val sloChecker: BenchmarkExecution.Slo = BenchmarkExecution.Slo()
-        val benchmarkExecutor = TestBenchmarkExecutorImpl(mockResults, benchmark, results, listOf(sloChecker), 0, 0, 5)
-        val linearSearch = LinearSearch(benchmarkExecutor)
-        val lowerBoundRestriction = LowerBoundRestriction(results)
-        val strategy =
-            CompositeStrategy(benchmarkExecutor, linearSearch, setOf(lowerBoundRestriction))
-
-        val actual: ArrayList<Resource?> = ArrayList()
-        val expected: ArrayList<Resource?> = ArrayList(listOf(0, 2, 2, 3, 4, 6).map { x -> Resource(x, emptyList()) })
-        expected.add(null)
-
-        for (load in mockLoads) {
-            actual.add(strategy.findSuitableResource(load, mockResources))
-        }
-
-        assertEquals(actual, expected)
-    }
-
-    @Test
-    fun testEnd2EndBinarySearch() {
-        val mockResults = arrayOf(
-            arrayOf(true, true, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true),
-            arrayOf(false, false, false, true, true, true, true),
-            arrayOf(false, false, false, false, true, true, true),
-            arrayOf(false, false, false, false, false, false, true),
-            arrayOf(false, false, false, false, false, false, false)
-        )
-        val mockLoads: List<LoadDimension> = (0..6).map { number -> LoadDimension(number, emptyList()) }
-        val mockResources: List<Resource> = (0..6).map { number -> Resource(number, emptyList()) }
-        val results = Results()
-        val benchmark = TestBenchmark()
-        val sloChecker: BenchmarkExecution.Slo = BenchmarkExecution.Slo()
-        val benchmarkExecutorImpl =
-            TestBenchmarkExecutorImpl(mockResults, benchmark, results, listOf(sloChecker), 0, 0, 0)
-        val binarySearch = BinarySearch(benchmarkExecutorImpl)
-        val lowerBoundRestriction = LowerBoundRestriction(results)
-        val strategy =
-            CompositeStrategy(benchmarkExecutorImpl, binarySearch, setOf(lowerBoundRestriction))
-
-        val actual: ArrayList<Resource?> = ArrayList()
-        val expected: ArrayList<Resource?> = ArrayList(listOf(0, 2, 2, 3, 4, 6).map { x -> Resource(x, emptyList()) })
-        expected.add(null)
-
-        for (load in mockLoads) {
-            actual.add(strategy.findSuitableResource(load, mockResources))
-        }
-
-        assertEquals(actual, expected)
-    }
-
-    @Test
-    fun testEnd2EndBinarySearch2() {
-        val mockResults = arrayOf(
-            arrayOf(true, true, true, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true, true),
-            arrayOf(false, false, true, true, true, true, true, true),
-            arrayOf(false, false, false, true, true, true, true, true),
-            arrayOf(false, false, false, false, true, true, true, true),
-            arrayOf(false, false, false, false, false, false, true, true),
-            arrayOf(false, false, false, false, false, false, false, true)
-        )
-        val mockLoads: List<LoadDimension> = (0..6).map { number -> LoadDimension(number, emptyList()) }
-        val mockResources: List<Resource> = (0..7).map { number -> Resource(number, emptyList()) }
-        val results = Results()
-        val benchmark = TestBenchmark()
-        val sloChecker: BenchmarkExecution.Slo = BenchmarkExecution.Slo()
-        val benchmarkExecutor = TestBenchmarkExecutorImpl(mockResults, benchmark, results, listOf(sloChecker), 0, 0, 0)
-        val binarySearch = BinarySearch(benchmarkExecutor)
-        val lowerBoundRestriction = LowerBoundRestriction(results)
-        val strategy =
-            CompositeStrategy(benchmarkExecutor, binarySearch, setOf(lowerBoundRestriction))
-
-        val actual: ArrayList<Resource?> = ArrayList()
-        val expected: ArrayList<Resource?> =
-            ArrayList(listOf(0, 2, 2, 3, 4, 6, 7).map { x -> Resource(x, emptyList()) })
-
-        for (load in mockLoads) {
-            actual.add(strategy.findSuitableResource(load, mockResources))
-        }
-
-        assertEquals(actual, expected)
-    }
-}
diff --git a/theodolite/src/test/kotlin/theodolite/TestBenchmark.kt b/theodolite/src/test/kotlin/theodolite/TestBenchmark.kt
deleted file mode 100644
index b08c1a18a3013e1573e4892f01698b5e509f9609..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/TestBenchmark.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package theodolite
-
-import theodolite.benchmark.Benchmark
-import theodolite.benchmark.BenchmarkDeployment
-import theodolite.util.ConfigurationOverride
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-
-class TestBenchmark : Benchmark {
-
-    override fun setupInfrastructure() {
-    }
-
-    override fun teardownInfrastructure() {
-    }
-
-    override fun buildDeployment(
-        load: LoadDimension,
-        res: Resource,
-        configurationOverrides: List<ConfigurationOverride?>,
-        loadGenerationDelay: Long,
-        afterTeardownDelay: Long
-    ): BenchmarkDeployment {
-        return TestBenchmarkDeployment()
-    }
-}
diff --git a/theodolite/src/test/kotlin/theodolite/TestBenchmarkExecutorImpl.kt b/theodolite/src/test/kotlin/theodolite/TestBenchmarkExecutorImpl.kt
deleted file mode 100644
index 2efddc48cb93a0870d1716c58a7018145c16e2ff..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/TestBenchmarkExecutorImpl.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-package theodolite
-
-import theodolite.benchmark.Benchmark
-import theodolite.benchmark.BenchmarkExecution
-import theodolite.execution.BenchmarkExecutor
-import theodolite.util.LoadDimension
-import theodolite.util.Resource
-import theodolite.util.Results
-import java.time.Duration
-
-class TestBenchmarkExecutorImpl(
-    private val mockResults: Array<Array<Boolean>>,
-    benchmark: Benchmark,
-    results: Results,
-    slo: List<BenchmarkExecution.Slo>,
-    executionId: Int,
-    loadGenerationDelay: Long,
-    afterTeardownDelay: Long
-) :
-    BenchmarkExecutor(
-        benchmark,
-        results,
-        executionDuration = Duration.ofSeconds(1),
-        configurationOverrides = emptyList(),
-        slos = slo,
-        repetitions = 1,
-        executionId = executionId,
-        loadGenerationDelay = loadGenerationDelay,
-        afterTeardownDelay = afterTeardownDelay,
-        executionName = "test-execution"
-    ) {
-
-    override fun runExperiment(load: LoadDimension, res: Resource): Boolean {
-        val result = this.mockResults[load.get()][res.get()]
-        this.results.setResult(Pair(load, res), result)
-        return result
-    }
-}
diff --git a/theodolite/src/test/kotlin/theodolite/benchmark/ConfigMapResourceSetTest.kt b/theodolite/src/test/kotlin/theodolite/benchmark/ConfigMapResourceSetTest.kt
deleted file mode 100644
index 2cc8f931418e28ae8841b592f93df8d88440cf3c..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/benchmark/ConfigMapResourceSetTest.kt
+++ /dev/null
@@ -1,226 +0,0 @@
-package theodolite.benchmark
-
-import com.google.gson.Gson
-import io.fabric8.kubernetes.api.model.*
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import io.fabric8.kubernetes.api.model.apps.StatefulSetBuilder
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer
-import io.quarkus.test.junit.QuarkusTest
-import io.smallrye.common.constraint.Assert.assertTrue
-import junit.framework.Assert.assertEquals
-import org.junit.jupiter.api.AfterEach
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import theodolite.k8s.CustomResourceWrapper
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.util.DeploymentFailedException
-
-private val testResourcePath = "./src/test/resources/k8s-resource-files/"
-
-@QuarkusTest
-class ConfigMapResourceSetTest {
-    private val server = KubernetesServer(false, true)
-
-    @BeforeEach
-    fun setUp() {
-        server.before()
-    }
-
-    @AfterEach
-    fun tearDown() {
-        server.after()
-    }
-
-    fun deployAndGetResource(resource: String): Collection<Pair<String, KubernetesResource>> {
-        val configMap1 = ConfigMapBuilder()
-            .withNewMetadata().withName("test-configmap").endMetadata()
-            .addToData("test-resource.yaml",resource)
-            .build()
-
-        server.client.configMaps().createOrReplace(configMap1)
-
-        val resourceSet = ConfigMapResourceSet()
-        resourceSet.name = "test-configmap"
-
-        return resourceSet.getResourceSet(server.client)
-    }
-
-
-    @Test
-    fun testLoadDeployment() {
-        val resourceBuilder = DeploymentBuilder()
-        resourceBuilder.withNewSpec().endSpec()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-deployment"
-
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource))
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is Deployment)
-        assertTrue(createdResource.toMutableSet().first().second.toString().contains(other = resource.metadata.name))
-    }
-
-    @Test
-    fun testLoadStateFulSet() {
-        val resourceBuilder = StatefulSetBuilder()
-        resourceBuilder.withNewSpec().endSpec()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-resource"
-
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource))
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is StatefulSet)
-        assertTrue(createdResource.toMutableSet().first().second.toString().contains(other = resource.metadata.name))
-    }
-
-    @Test
-    fun testLoadService() {
-        val resourceBuilder = ServiceBuilder()
-        resourceBuilder.withNewSpec().endSpec()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-resource"
-
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource))
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is Service)
-        assertTrue(createdResource.toMutableSet().first().second.toString().contains(other = resource.metadata.name))
-    }
-
-    @Test
-    fun testLoadConfigMap() {
-        val resourceBuilder = ConfigMapBuilder()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-resource"
-
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource))
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is ConfigMap)
-        assertTrue(createdResource.toMutableSet().first().second.toString().contains(other = resource.metadata.name))
-    }
-
-    @Test
-    fun testLoadExecution() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Execution", testResourcePath + "test-execution.yaml") as CustomResourceWrapper
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource.crAsMap))
-
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is CustomResourceWrapper)
-
-        val loadedResource = createdResource.toMutableSet().first().second
-        if (loadedResource is CustomResourceWrapper){
-            assertTrue(loadedResource.getName() == "example-execution")
-        }
-    }
-
-    @Test
-    fun testLoadBenchmark() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Benchmark", testResourcePath + "test-benchmark.yaml") as CustomResourceWrapper
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource.crAsMap))
-
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is CustomResourceWrapper)
-
-        val loadedResource = createdResource.toMutableSet().first().second
-        if (loadedResource is CustomResourceWrapper){
-            assertTrue(loadedResource.getName() == "example-benchmark")
-        }
-    }
-
-    @Test
-    fun testLoadServiceMonitor() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("ServiceMonitor", testResourcePath + "test-service-monitor.yaml") as CustomResourceWrapper
-        val createdResource = deployAndGetResource(resource = Gson().toJson(resource.crAsMap))
-
-        assertEquals(1, createdResource.size)
-        assertTrue(createdResource.toMutableSet().first().second is CustomResourceWrapper)
-
-        val loadedResource = createdResource.toMutableSet().first().second
-        if (loadedResource is CustomResourceWrapper){
-            assertTrue(loadedResource.getName() == "test-service-monitor")
-        }
-    }
-
-    @Test
-    fun testMultipleFiles(){
-        val resourceBuilder = DeploymentBuilder()
-        resourceBuilder.withNewSpec().endSpec()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-deployment"
-
-        val resourceBuilder1 = ConfigMapBuilder()
-        resourceBuilder1.withNewMetadata().endMetadata()
-        val resource1 = resourceBuilder1.build()
-        resource1.metadata.name = "test-configmap"
-
-        val configMap1 = ConfigMapBuilder()
-            .withNewMetadata().withName("test-configmap").endMetadata()
-            .addToData("test-deployment.yaml",Gson().toJson(resource))
-            .addToData("test-configmap.yaml",Gson().toJson(resource1))
-            .build()
-
-        server.client.configMaps().createOrReplace(configMap1)
-
-        val resourceSet = ConfigMapResourceSet()
-        resourceSet.name = "test-configmap"
-
-        val createdResourcesSet = resourceSet.getResourceSet(server.client)
-
-        assertEquals(2,createdResourcesSet.size )
-        assert(createdResourcesSet.toMutableList()[0].second is Deployment)
-        assert(createdResourcesSet.toMutableList()[1].second is ConfigMap)
-    }
-
-    @Test
-    fun testFileIsSet(){
-        val resourceBuilder = DeploymentBuilder()
-        resourceBuilder.withNewSpec().endSpec()
-        resourceBuilder.withNewMetadata().endMetadata()
-        val resource = resourceBuilder.build()
-        resource.metadata.name = "test-deployment"
-
-        val resourceBuilder1 = ConfigMapBuilder()
-        resourceBuilder1.withNewMetadata().endMetadata()
-        val resource1 = resourceBuilder1.build()
-        resource1.metadata.name = "test-configmap"
-
-        val configMap1 = ConfigMapBuilder()
-            .withNewMetadata().withName("test-configmap").endMetadata()
-            .addToData("test-deployment.yaml",Gson().toJson(resource))
-            .addToData("test-configmap.yaml",Gson().toJson(resource1))
-            .build()
-
-        server.client.configMaps().createOrReplace(configMap1)
-
-        val resourceSet = ConfigMapResourceSet()
-        resourceSet.name = "test-configmap"
-        resourceSet.files = listOf("test-deployment.yaml")
-
-        val createdResourcesSet = resourceSet.getResourceSet(server.client)
-
-        assertEquals(1,createdResourcesSet.size )
-        assert(createdResourcesSet.toMutableSet().first().second is Deployment)
-    }
-
-
-    @Test()
-    fun testConfigMapNotExist() {
-        val resourceSet = ConfigMapResourceSet()
-        resourceSet.name = "test-configmap1"
-        lateinit var ex: Exception
-        try {
-            resourceSet.getResourceSet(server.client)
-        } catch (e: Exception) {
-            ex = e
-        }
-        assertTrue(ex is DeploymentFailedException)
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/benchmark/FileSystemResourceSetTest.kt b/theodolite/src/test/kotlin/theodolite/benchmark/FileSystemResourceSetTest.kt
deleted file mode 100644
index 59ad2be3248f67442ce352788f8b94b26f3b6b90..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/benchmark/FileSystemResourceSetTest.kt
+++ /dev/null
@@ -1,115 +0,0 @@
-package theodolite.benchmark
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.Service
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer
-import io.smallrye.common.constraint.Assert.assertTrue
-import junit.framework.Assert.assertEquals
-import org.junit.jupiter.api.AfterEach
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import theodolite.k8s.CustomResourceWrapper
-import theodolite.util.DeploymentFailedException
-import java.lang.IllegalStateException
-
-private val testResourcePath = "./src/test/resources/k8s-resource-files/"
-
-class FileSystemResourceSetTest {
-
-    private val server = KubernetesServer(false, true)
-
-    @BeforeEach
-    fun setUp() {
-        server.before()
-    }
-
-    @AfterEach
-    fun tearDown() {
-        server.after()
-    }
-
-    @Test
-    fun testLoadDeployment() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-deployment.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is Deployment)
-    }
-
-    @Test
-    fun testLoadService() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-service.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is Service)
-    }
-
-    @Test
-    fun testLoadStatefulSet() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-statefulset.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is StatefulSet)
-    }
-
-    @Test
-    fun testLoadConfigMap() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-configmap.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is ConfigMap)
-    }
-
-    @Test
-    fun testLoadServiceMonitor() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-service-monitor.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is CustomResourceWrapper)
-    }
-
-    @Test
-    fun testLoadBenchmark() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-benchmark.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is CustomResourceWrapper)
-    }
-
-    @Test
-    fun testLoadExecution() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        resourceSet.files = listOf("test-execution.yaml")
-        assertEquals(1,resourceSet.getResourceSet(server.client).size)
-        assertTrue(resourceSet.getResourceSet(server.client).toMutableSet().first().second is CustomResourceWrapper)
-    }
-
-    @Test
-    fun testFilesNotSet() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = testResourcePath
-        assertEquals(9,resourceSet.getResourceSet(server.client).size)
-    }
-
-    @Test
-    fun testWrongPath() {
-        val resourceSet = FileSystemResourceSet()
-        resourceSet.path = "/abc/not-exist"
-        lateinit var ex: Exception
-        try {
-            resourceSet.getResourceSet(server.client)
-        } catch (e: Exception) {
-            println(e)
-            ex = e
-        }
-        assertTrue(ex is DeploymentFailedException)    }
-}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt b/theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt
deleted file mode 100644
index d8db7ab3b64ce3856984ddbc279ef148aa325e73..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt
+++ /dev/null
@@ -1,227 +0,0 @@
-package theodolite.execution.operator
-
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.client.informers.SharedInformerFactory
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer
-import io.quarkus.test.junit.QuarkusTest
-import org.junit.jupiter.api.AfterEach
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.DisplayName
-import org.junit.jupiter.api.Test
-import theodolite.k8s.K8sManager
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-import theodolite.model.crd.ExecutionStates
-import java.lang.Thread.sleep
-
-
-private const val RESYNC_PERIOD = 1000 * 1000.toLong()
-
-
-@QuarkusTest
-class ExecutionEventHandlerTest {
-    private final val server = KubernetesServer(false, true)
-    private val testResourcePath = "./src/test/resources/k8s-resource-files/"
-    private final val executionName = "example-execution"
-    lateinit var factory: SharedInformerFactory
-    lateinit var executionVersion1: KubernetesResource
-    lateinit var executionVersion2: KubernetesResource
-    lateinit var stateHandler: ExecutionStateHandler
-    lateinit var manager: K8sManager
-    lateinit var controller: TheodoliteController
-
-    @BeforeEach
-    fun setUp() {
-        server.before()
-        val operator = TheodoliteOperator()
-        this.controller = operator.getController(
-            client = server.client,
-            executionStateHandler = ExecutionStateHandler(client = server.client),
-            benchmarkStateHandler = BenchmarkStateHandler(client = server.client)
-        )
-
-        this.factory = operator.getExecutionEventHandler(this.controller, server.client)
-        this.stateHandler = TheodoliteOperator().getExecutionStateHandler(client = server.client)
-
-        this.executionVersion1 = K8sResourceLoaderFromFile(server.client)
-            .loadK8sResource("Execution", testResourcePath + "test-execution.yaml")
-
-        this.executionVersion2 = K8sResourceLoaderFromFile(server.client)
-            .loadK8sResource("Execution", testResourcePath + "test-execution-update.yaml")
-
-        this.stateHandler = operator.getExecutionStateHandler(server.client)
-
-        this.manager = K8sManager((server.client))
-    }
-
-    @AfterEach
-    fun tearDown() {
-        server.after()
-        factory.stopAllRegisteredInformers()
-    }
-
-    @Test
-    @DisplayName("Check namespaced property of informers")
-    fun testNamespaced() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        server.lastRequest
-        // the second request must be namespaced (this is the first `GET` request)
-        assert(
-            server
-                .lastRequest
-                .toString()
-                .contains("namespaces")
-        )
-    }
-
-    @Test
-    @DisplayName("Test onAdd method for executions without execution state")
-    fun testWithoutState() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        sleep(500)
-        assertEquals(
-            ExecutionStates.PENDING,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-    @Test
-    @DisplayName("Test onAdd method for executions with execution state `RUNNING`")
-    fun testWithStateIsRunning() {
-        manager.deploy(executionVersion1)
-        stateHandler
-            .setExecutionState(
-                resourceName = executionName,
-                status = ExecutionStates.RUNNING
-            )
-        factory.startAllRegisteredInformers()
-        sleep(500)
-        assertEquals(
-            ExecutionStates.RESTART,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-    @Test
-    @DisplayName("Test onUpdate method for execution with execution state `PENDING`")
-    fun testOnUpdatePending() {
-        manager.deploy(executionVersion1)
-
-        factory.startAllRegisteredInformers()
-        sleep(500)
-
-        assertEquals(
-            ExecutionStates.PENDING,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-
-        manager.deploy(executionVersion2)
-        assertEquals(
-            ExecutionStates.PENDING,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-    @Test
-    @DisplayName("Test onUpdate method for execution with execution state `FINISHED`")
-    fun testOnUpdateFinished() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        sleep(500)
-
-        stateHandler.setExecutionState(
-            resourceName = executionName,
-            status = ExecutionStates.FINISHED
-        )
-
-        manager.deploy(executionVersion2)
-        sleep(500)
-
-        assertEquals(
-            ExecutionStates.PENDING,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-    @Test
-    @DisplayName("Test onUpdate method for execution with execution state `FAILURE`")
-    fun testOnUpdateFailure() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        sleep(500)
-
-        stateHandler.setExecutionState(
-            resourceName = executionName,
-            status = ExecutionStates.FAILURE
-        )
-
-        manager.deploy(executionVersion2)
-        sleep(500)
-
-        assertEquals(
-            ExecutionStates.PENDING,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-
-    @Test
-    @DisplayName("Test onUpdate method for execution with execution state `RUNNING`")
-    fun testOnUpdateRunning() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        sleep(500)
-
-        stateHandler.setExecutionState(
-            resourceName = executionName,
-            status = ExecutionStates.RUNNING
-        )
-
-        manager.deploy(executionVersion2)
-        sleep(500)
-
-        assertEquals(
-            ExecutionStates.RESTART,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-
-    @Test
-    @DisplayName("Test onUpdate method for execution with execution state `RESTART`")
-    fun testOnUpdateRestart() {
-        manager.deploy(executionVersion1)
-        factory.startAllRegisteredInformers()
-        sleep(500)
-
-        stateHandler.setExecutionState(
-            resourceName = executionName,
-            status = ExecutionStates.RESTART
-        )
-
-        manager.deploy(executionVersion2)
-        sleep(500)
-
-        assertEquals(
-            ExecutionStates.RESTART,
-            stateHandler.getExecutionState(
-                resourceName = executionName
-            )
-        )
-    }
-}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/k8s/K8sResourceLoaderTest.kt b/theodolite/src/test/kotlin/theodolite/k8s/K8sResourceLoaderTest.kt
deleted file mode 100644
index 4a41dac8b27b9d4ddcfb9915f759b14ea4eaba4a..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/k8s/K8sResourceLoaderTest.kt
+++ /dev/null
@@ -1,111 +0,0 @@
-package theodolite.k8s
-
-import io.fabric8.kubernetes.api.model.ConfigMap
-import io.fabric8.kubernetes.api.model.Service
-import io.fabric8.kubernetes.api.model.apps.Deployment
-import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import io.fabric8.kubernetes.client.server.mock.KubernetesServer
-import io.quarkus.test.junit.QuarkusTest
-import org.junit.jupiter.api.AfterEach
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.DisplayName
-import org.junit.jupiter.api.Test
-import theodolite.k8s.resourceLoader.K8sResourceLoaderFromFile
-
-@QuarkusTest
-class K8sResourceLoaderTest {
-    private final val server = KubernetesServer(false, true)
-    private final val testResourcePath = "./src/test/resources/k8s-resource-files/"
-
-    @BeforeEach
-    fun setUp() {
-        server.before()
-    }
-
-    @AfterEach
-    fun tearDown() {
-        server.after()
-    }
-
-    @Test
-    @DisplayName("Test loading of Deployments")
-    fun loadDeploymentTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Deployment", testResourcePath + "test-deployment.yaml")
-
-        assertTrue(resource is Deployment)
-        assertTrue(resource.toString().contains("name=test-deployment"))
-    }
-
-    @Test
-    @DisplayName("Test loading of StatefulSet")
-    fun loadStatefulSetTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("StatefulSet", testResourcePath + "test-statefulset.yaml")
-
-        assertTrue(resource is StatefulSet)
-        assertTrue(resource.toString().contains("name=test-statefulset"))
-    }
-
-    @Test
-    @DisplayName("Test loading of Service")
-    fun loadServiceTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Service", testResourcePath + "test-service.yaml")
-
-        assertTrue(resource is Service)
-        assertTrue(resource.toString().contains("name=test-service"))
-    }
-
-    @Test
-    @DisplayName("Test loading of ConfigMap")
-    fun loadConfigMapTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("ConfigMap", testResourcePath + "test-configmap.yaml")
-
-        assertTrue(resource is ConfigMap)
-        assertTrue(resource.toString().contains("name=test-configmap"))
-    }
-
-    @Test
-    @DisplayName("Test loading of ServiceMonitors")
-    fun loadServiceMonitorTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("ServiceMonitor", testResourcePath + "test-service-monitor.yaml")
-
-        assertTrue(resource is CustomResourceWrapper)
-        if (resource is CustomResourceWrapper) {
-            assertEquals("test-service-monitor", resource.getName())
-
-        }
-    }
-
-    @Test
-    @DisplayName("Test loading of Executions")
-    fun loadExecutionTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Execution", testResourcePath + "test-execution.yaml")
-
-        assertTrue(resource is CustomResourceWrapper)
-        if (resource is CustomResourceWrapper) {
-            assertEquals("example-execution", resource.getName())
-
-        }
-    }
-
-    @Test
-    @DisplayName("Test loading of Benchmarks")
-    fun loadBenchmarkTest() {
-        val loader = K8sResourceLoaderFromFile(server.client)
-        val resource = loader.loadK8sResource("Benchmark", testResourcePath + "test-benchmark.yaml")
-
-        assertTrue(resource is CustomResourceWrapper)
-        if (resource is CustomResourceWrapper) {
-            assertEquals("example-benchmark", resource.getName())
-
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/theodolite/src/test/kotlin/theodolite/util/ResultsTest.kt b/theodolite/src/test/kotlin/theodolite/util/ResultsTest.kt
deleted file mode 100644
index 9cfc2ae78e7a8846e3f0fa136699509145e5de22..0000000000000000000000000000000000000000
--- a/theodolite/src/test/kotlin/theodolite/util/ResultsTest.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-package theodolite.util
-
-import io.quarkus.test.junit.QuarkusTest
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotNull
-import org.junit.jupiter.api.Disabled
-import org.junit.jupiter.api.Test
-
-@QuarkusTest
-internal class ResultsTest {
-
-    @Test
-    fun testMinRequiredInstancesWhenSuccessful() {
-        val results = Results()
-        results.setResult(10000, 1, true)
-        results.setResult(10000, 2, true)
-        results.setResult(20000, 1, false)
-        results.setResult(20000, 2, true)
-
-        val minRequiredInstances = results.getMinRequiredInstances(LoadDimension(20000, emptyList()))
-
-        assertNotNull(minRequiredInstances)
-        assertEquals(2, minRequiredInstances!!.get())
-    }
-
-    @Test
-    @Disabled
-    fun testMinRequiredInstancesWhenNotSuccessful() {
-        // This test is currently not implemented this way, but might later be the desired behavior.
-        val results = Results()
-        results.setResult(10000, 1, true)
-        results.setResult(10000, 2, true)
-        results.setResult(20000, 1, false)
-        results.setResult(20000, 2, false)
-
-        val minRequiredInstances = results.getMinRequiredInstances(LoadDimension(20000, emptyList()))
-
-        assertNotNull(minRequiredInstances)
-        assertEquals(2, minRequiredInstances!!.get())
-    }
-
-    private fun Results.setResult(load: Int, resources: Int, successful: Boolean) {
-        this.setResult(
-            Pair(
-                LoadDimension(load, emptyList()),
-                Resource(resources, emptyList())
-            ),
-            successful
-        )
-    }
-
-
-    @Test
-    fun testGetMaxBenchmarkedLoadWhenAllSuccessful() {
-        val results = Results()
-        results.setResult(10000, 1, true)
-        results.setResult(10000, 2, true)
-
-        val test1 = results.getMaxBenchmarkedLoad(LoadDimension(100000, emptyList()))!!.get()
-
-        assertEquals(10000, test1)
-    }
-
-    @Test
-    fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessful() {
-        val results = Results()
-        results.setResult(10000, 1, true)
-        results.setResult(10000, 2, true)
-        results.setResult(20000, 1, false)
-
-        val test2 = results.getMaxBenchmarkedLoad(LoadDimension(100000, emptyList()))!!.get()
-
-        assertEquals(20000, test2)
-    }
-}
diff --git a/theodolite/src/test/resources/k8s-resource-files/test-benchmark.yaml b/theodolite/src/test/resources/k8s-resource-files/test-benchmark.yaml
index e690aa56d74d695b0b81469023ccf82d0046cf45..425ac2be616aae958cc20f570c730f7f4b9d6ccd 100644
--- a/theodolite/src/test/resources/k8s-resource-files/test-benchmark.yaml
+++ b/theodolite/src/test/resources/k8s-resource-files/test-benchmark.yaml
@@ -1,16 +1,22 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: benchmark
 metadata:
   name: example-benchmark
 spec:
-  appResource:
-    - "uc1-kstreams-deployment.yaml"
-    - "aggregation-service.yaml"
-    - "jmx-configmap.yaml"
-    - "uc1-service-monitor.yaml"
-  loadGenResource:
-    - "uc1-load-generator-deployment.yaml"
-    - "uc1-load-generator-service.yaml"
+  waitForResourcesEnabled: false
+  sut:
+    resources:
+      - configMap:
+          name: "example-configmap"
+          files:
+            - "uc1-kstreams-deployment.yaml"
+  loadGenerator:
+    resources:
+      - configMap:
+          name: "example-configmap"
+          files:
+            - uc1-load-generator-service.yaml
+            - uc1-load-generator-deployment.yaml
   resourceTypes:
     - typeName: "Instances"
       patchers:
@@ -28,11 +34,20 @@ spec:
           resource: "uc1-load-generator-deployment.yaml"
           properties:
             loadGenMaxRecords: "15000"
+  slos:
+    - name: "lag trend"
+      sloType: "lag trend"
+      prometheusUrl: "http://prometheus-operated:9090"
+      offset: 0
+      properties:
+        threshold: 3000
+        externalSloUrl: "http://localhost:80/evaluate-slope"
+        warmup: 60 # in seconds
   kafkaConfig:
-    bootstrapServer: "theodolite-cp-kafka:9092"
+    bootstrapServer: "theodolite-kafka-kafka-bootstrap:9092"
     topics:
       - name: "input"
         numPartitions: 40
         replicationFactor: 1
       - name: "theodolite-.*"
-        removeOnly: True
\ No newline at end of file
+        removeOnly: True
diff --git a/theodolite/src/test/resources/k8s-resource-files/test-execution-1.yaml b/theodolite/src/test/resources/k8s-resource-files/test-execution-1.yaml
index 1407a9952b7454053d204454841d51cfb4d7dbf4..b758e9b9b1e39a9722ad9c0d6513f36b9a4961da 100644
--- a/theodolite/src/test/resources/k8s-resource-files/test-execution-1.yaml
+++ b/theodolite/src/test/resources/k8s-resource-files/test-execution-1.yaml
@@ -1,28 +1,30 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: Execution
 metadata:
   name: example-execution
 spec:
   name: test
   benchmark: "uc1-kstreams"
-  load:
+  loads:
     loadType: "NumSensors"
     loadValues: [25000, 50000, 75000, 100000, 125000, 150000]
   resources:
     resourceType: "Instances"
     resourceValues: [1, 2, 3, 4, 5]
   slos:
-    - sloType: "lag trend"
+    - name: "lag trend"
       threshold: 2000
       prometheusUrl: "http://prometheus-operated:9090"
       externalSloUrl: "http://localhost:80/evaluate-slope"
       offset: 0
       warmup: 60 # in seconds
   execution:
-    strategy: "LinearSearch"
+    strategy:
+      name: "RestrictionSearch"
+      restrictions:
+        - "LowerBound"
+      searchStrategy: "LinearSearch"
     duration: 300 # in seconds
     repetitions: 1
     loadGenerationDelay: 30 # in seconds
-    restrictions:
-      - "LowerBound"
   configOverrides: []
diff --git a/theodolite/src/test/resources/k8s-resource-files/test-execution-update.yaml b/theodolite/src/test/resources/k8s-resource-files/test-execution-update.yaml
index c075702da218397352f1dc1e5b283534fbb4d718..ccfd0160fc407863544e5b735e595b86a2669eea 100644
--- a/theodolite/src/test/resources/k8s-resource-files/test-execution-update.yaml
+++ b/theodolite/src/test/resources/k8s-resource-files/test-execution-update.yaml
@@ -1,29 +1,27 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: example-execution
 spec:
   name: test
   benchmark: "uc1-kstreams-update"
-  load:
+  loads:
     loadType: "NumSensors"
     loadValues: [25000, 50000, 75000, 100000, 125000, 150000]
   resources:
     resourceType: "Instances"
     resourceValues: [1, 2, 3, 4, 5]
   slos:
-    - sloType: "lag trend"
-      prometheusUrl: "http://prometheus-operated:9090"
-      offset: 0
+    - name: "lag trend"
       properties:
         threshold: 2000
-        externalSloUrl: "http://localhost:80/evaluate-slope"
-        warmup: 60 # in seconds
   execution:
-    strategy: "LinearSearch"
+    strategy:
+      name: "RestrictionSearch"
+      restrictions:
+        - "LowerBound"
+      searchStrategy: "LinearSearch"
     duration: 300 # in seconds
     repetitions: 1
     loadGenerationDelay: 30 # in seconds
-    restrictions:
-      - "LowerBound"
   configOverrides: []
diff --git a/theodolite/src/test/resources/k8s-resource-files/test-execution.yaml b/theodolite/src/test/resources/k8s-resource-files/test-execution.yaml
index e12c851da5d8a79f57b1fa59b86239c219370c0f..78c01c9e8e241c92a897dc00d024d92ecd9e82d6 100644
--- a/theodolite/src/test/resources/k8s-resource-files/test-execution.yaml
+++ b/theodolite/src/test/resources/k8s-resource-files/test-execution.yaml
@@ -1,29 +1,27 @@
-apiVersion: theodolite.com/v1
+apiVersion: theodolite.rocks/v1beta1
 kind: execution
 metadata:
   name: example-execution
 spec:
   name: test
   benchmark: "uc1-kstreams"
-  load:
+  loads:
     loadType: "NumSensors"
     loadValues: [25000, 50000, 75000, 100000, 125000, 150000]
   resources:
     resourceType: "Instances"
     resourceValues: [1, 2, 3, 4, 5]
   slos:
-    - sloType: "lag trend"
-      prometheusUrl: "http://prometheus-operated:9090"
-      offset: 0
+    - name: "lag trend"
       properties:
         threshold: 2000
-        externalSloUrl: "http://localhost:80/evaluate-slope"
-        warmup: 60 # in seconds
   execution:
-    strategy: "LinearSearch"
+    strategy:
+      name: "RestrictionSearch"
+      restrictions:
+        - "LowerBound"
+      searchStrategy: "LinearSearch"
     duration: 300 # in seconds
     repetitions: 1
     loadGenerationDelay: 30 # in seconds
-    restrictions:
-      - "LowerBound"
   configOverrides: []
diff --git a/theodolite/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/theodolite/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
new file mode 100644
index 0000000000000000000000000000000000000000..1f0955d450f0dc49ca715b1a0a88a5aa746ee11e
--- /dev/null
+++ b/theodolite/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
@@ -0,0 +1 @@
+mock-maker-inline