merging rebranding branch from /

This commit is contained in:
Moriz Wahl 2020-11-10 10:28:20 +01:00
commit bd962bbfcc
97 changed files with 1281 additions and 1136 deletions

46
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: CI
on: [push]
jobs:
build:
name: Continuous Integration
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Check translation files
run: |
scripts/translations/sort.sh
scripts/translations/missing-keys.sh
- name: Build neo4j image
uses: docker/build-push-action@v1.1.0
with:
repository: humanconnection/neo4j
tags: latest
path: neo4j/
push: false
- name: Build backend base image
uses: docker/build-push-action@v1.1.0
with:
repository: humanconnection/backend
tags: build-and-test
target: build-and-test
path: backend/
push: false
- name: Build webapp base image
uses: docker/build-push-action@v1.1.0
with:
repository: humanconnection/webapp
tags: build-and-test
target: build-and-test
path: webapp/
push: false
- name: Lint backend
run: docker run --rm humanconnection/backend:build-and-test yarn run lint
- name: Lint webapp
run: docker run --rm humanconnection/webapp:build-and-test yarn run lint

View File

@ -23,3 +23,6 @@ AWS_SECRET_ACCESS_KEY=
AWS_ENDPOINT=
AWS_REGION=
AWS_BUCKET=
EMAIL_DEFAULT_SENDER="info@human-connection.org"
EMAIL_SUPPORT="support@human-connection.org"

View File

@ -1,11 +1,10 @@
FROM node:12.19.0-alpine3.10 as base
LABEL Description="Backend of the Social Network Human-Connection.org" Vendor="Human Connection gGmbH" Version="0.0.1" Maintainer="Human Connection gGmbH (developer@human-connection.org)"
EXPOSE 4000
CMD ["yarn", "run", "start"]
ARG BUILD_COMMIT
ENV BUILD_COMMIT=$BUILD_COMMIT
ARG WORKDIR=/develop-backend
ARG WORKDIR=/backend
RUN mkdir -p $WORKDIR
WORKDIR $WORKDIR
@ -22,7 +21,7 @@ RUN NODE_ENV=production yarn run build
# reduce image size with a multistage build
FROM base as production
ENV NODE_ENV=production
COPY --from=build-and-test /develop-backend/dist ./dist
COPY --from=build-and-test /backend/dist ./dist
COPY ./public/img/ ./public/img/
COPY ./public/providers.json ./public/providers.json
RUN yarn install --production=true --frozen-lockfile --non-interactive --no-cache

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@ -14,7 +14,7 @@ import { InMemoryCache } from 'apollo-cache-inmemory'
import fetch from 'node-fetch'
import { ApolloClient } from 'apollo-client'
import trunc from 'trunc-html'
const debug = require('debug')('ea:nitro-datasource')
const debug = require('debug')('ea:datasource')
export default class NitroDataSource {
constructor(uri) {

View File

@ -45,7 +45,7 @@ export async function handler(req, res) {
} catch (error) {
debug(error)
return res.status(500).json({
error: 'Something went terribly wrong. Please contact support@human-connection.org',
error: `Something went terribly wrong. Please visit ${CONFIG.SUPPORT_URL}`,
})
} finally {
session.close()

View File

@ -1,7 +1,15 @@
import dotenv from 'dotenv'
import links from './links.js'
import metadata from './metadata.js'
if (require.resolve) {
// are we in a nodejs environment?
dotenv.config({ path: require.resolve('../../.env') })
try {
dotenv.config({ path: require.resolve('../../.env') })
} catch (error) {
if (error.code !== 'MODULE_NOT_FOUND') throw error
console.log('WARN: No `.env` file found in /backend') // eslint-disable-line no-console
}
}
// eslint-disable-next-line no-undef
@ -31,6 +39,7 @@ const {
REDIS_DOMAIN,
REDIS_PORT,
REDIS_PASSWORD,
EMAIL_DEFAULT_SENDER,
} = env
export const requiredConfigs = {
@ -83,6 +92,12 @@ export const s3Configs = {
S3_CONFIGURED,
}
export const customConfigs = {
EMAIL_DEFAULT_SENDER,
SUPPORT_URL: links.SUPPORT,
APPLICATION_NAME: metadata.APPLICATION_NAME,
}
export default {
...requiredConfigs,
...smtpConfigs,
@ -92,4 +107,5 @@ export default {
...sentryConfigs,
...redisConfigs,
...s3Configs,
...customConfigs,
}

View File

@ -0,0 +1,6 @@
export default {
ORGANIZATION: 'https://human-connection.org/',
DONATE: 'https://human-connection.org/spenden/',
FAQ: 'https://faq.human-connection.org/',
SUPPORT: 'https://human-connection.org/support'
}

View File

@ -0,0 +1,7 @@
export default {
APPLICATION_NAME: 'fyphe_O',
APPLICATION_SHORT_NAME: 'fyphe',
APPLICATION_DESCRIPTION: 'The Schools in Motion Network',
ORGANIZATION_NAME: 'Ensible e.V.',
ORGANIZATION_JURISDICTION: 'Köln',
}

View File

@ -3,11 +3,17 @@ import CONFIG from '../../config'
import * as templates from './templates'
const from = '"Human Connection" <info@human-connection.org>'
const supportUrl = 'https://human-connection.org/en/contact'
const from = CONFIG.EMAIL_DEFAULT_SENDER
const welcomeImageUrl = new URL(`/img/custom/welcome.svg`, CONFIG.CLIENT_URI)
const defaultParams = {
supportUrl: CONFIG.SUPPORT_URL,
APPLICATION_NAME: CONFIG.APPLICATION_NAME,
welcomeImageUrl
}
export const signupTemplate = ({ email, nonce }) => {
const subject = 'Willkommen, Bienvenue, Welcome to Human Connection!'
const subject = `Willkommen, Bienvenue, Welcome to ${CONFIG.APPLICATION_NAME}!`
const actionUrl = new URL('/registration/create-user-account', CONFIG.CLIENT_URI)
actionUrl.searchParams.set('nonce', nonce)
actionUrl.searchParams.set('email', email)
@ -18,7 +24,7 @@ export const signupTemplate = ({ email, nonce }) => {
subject,
html: mustache.render(
templates.layout,
{ actionUrl, nonce, supportUrl, subject },
{ ...defaultParams, actionUrl, nonce, subject },
{ content: templates.signup },
),
}
@ -36,7 +42,7 @@ export const emailVerificationTemplate = ({ email, nonce, name }) => {
subject,
html: mustache.render(
templates.layout,
{ actionUrl, name, nonce, supportUrl, subject },
{ ...defaultParams, actionUrl, name, nonce, subject },
{ content: templates.emailVerification },
),
}
@ -54,7 +60,7 @@ export const resetPasswordTemplate = ({ email, nonce, name }) => {
subject,
html: mustache.render(
templates.layout,
{ actionUrl, name, nonce, supportUrl, subject },
{ ...defaultParams, actionUrl, name, nonce, subject },
{ content: templates.passwordReset },
),
}
@ -70,7 +76,7 @@ export const wrongAccountTemplate = ({ email }) => {
subject,
html: mustache.render(
templates.layout,
{ actionUrl, supportUrl },
{ actionUrl, supportUrl, welcomeImageUrl },
{ content: templates.wrongAccount },
),
}

View File

@ -6,8 +6,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -75,8 +75,8 @@
<p style="margin: 0;">Sollte der Button für Dich nicht funktionieren, kannst Du auch folgenden Code in
Dein Browserfenster kopieren: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0; margin-top: 10px;">Bis bald bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein Human Connection Team</p>
style="color: #17b53e;">{{{APPLICATION_NAME}}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein {{APPLICATION_NAME}} Team</p>
</td>
</tr>
<tr>
@ -104,8 +104,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -173,8 +173,8 @@
<p style="margin: 0;">If the above button doesn't work you can also copy the following code into your
browser window: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0; margin-top: 10px;">See you soon on <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The Human Connection Team</p>
style="color: #17b53e;">{{{APPLICATION_NAME}}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The {{APPLICATION_NAME}} Team</p>
</td>
</tr>
</table>

View File

@ -170,7 +170,7 @@
<td
style="padding: 20px; font-family: Lato, sans-serif; font-size: 12px; line-height: 15px; text-align: center; color: #888888;">
<br><br>
Human Connection gGmbH<br><span class="unstyle-auto-detected-links">Bahnhofstraße 11, 73235 Weilheim /
{{ORGANIZATION_NAME}}<br><span class="unstyle-auto-detected-links">Bahnhofstraße 11, 73235 Weilheim /
Teck<br>Germany</span>
<br><br>
</td>

View File

@ -6,8 +6,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -75,8 +75,8 @@
<p style="margin: 0;">Sollte der Button für Dich nicht funktionieren, kannst Du auch folgenden Code in
Dein Browserfenster kopieren: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0; margin-top: 10px;">Bis bald bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein {{APPLICATION_NAME}} Team</p>
</td>
</tr>
<tr>
@ -104,8 +104,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -172,8 +172,8 @@
<p style="margin: 0;">If the above button doesn't work you can also copy the following code into your
browser window: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0; margin-top: 10px;">See you soon on <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The {{APPLICATION_NAME}} Team</p>
</td>
</tr>
</table>

View File

@ -6,8 +6,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -23,7 +23,7 @@
style="padding: 20px; padding-top: 0; font-family: Lato, sans-serif; font-size: 16px; line-height: 22px; color: #555555;">
<h1
style="margin: 0 0 10px 0; font-family: Lato, sans-serif; font-size: 25px; line-height: 30px; color: #333333; font-weight: normal;">
Willkommen bei Human Connection!</h1>
Willkommen bei {{APPLICATION_NAME}}!</h1>
<p style="margin: 0;">Danke, dass Du dich angemeldet hast wir freuen uns, Dich dabei zu haben. Jetzt
fehlt nur noch eine Kleinigkeit, bevor wir gemeinsam die Welt verbessern können ... Bitte bestätige
Deine E-Mail Adresse:</p>
@ -63,7 +63,7 @@
<p style="margin: 0;">Sollte der Button für Dich nicht funktionieren, kannst Du auch folgenden Code in Dein Browserfenster kopieren: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0;">Das funktioniert allerdings nur, wenn du Dich über unsere Website registriert hast.</p>
<p style="margin: 0; margin-top: 10px;">Falls Du Dich nicht selbst bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a> angemeldet hast, schau doch mal vorbei!
style="color: #17b53e;">{{APPLICATION_NAME}}</a> angemeldet hast, schau doch mal vorbei!
Wir sind ein gemeinnütziges Aktionsnetzwerk von Menschen für Menschen.</p>
<p style="margin: 0; margin-top: 10px;">PS: Wenn Du keinen Account bei uns möchtest, kannst Du diese
E-Mail einfach ignorieren. ;)</p>
@ -88,8 +88,8 @@
<p style="margin: 0;">Melde Dich gerne <a href="{{{ supportUrl }}}" style="color: #17b53e;">bei
unserem Support Team</a>, wenn Du Fragen hast.</p>
<p style="margin: 0; margin-top: 10px;">Bis bald bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein {{APPLICATION_NAME}} Team</p>
</td>
</tr>
<tr>
@ -117,8 +117,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -134,7 +134,7 @@
style="padding: 20px; padding-top: 0; font-family: Lato, sans-serif; font-size: 16px; line-height: 22px; color: #555555;">
<h1
style="margin: 0 0 10px 0; font-family: Lato, sans-serif; font-size: 25px; line-height: 30px; color: #333333; font-weight: normal;">
Welcome to Human Connection!</h1>
Welcome to {{APPLICATION_NAME}}!</h1>
<p style="margin: 0;">Thank you for joining our cause it's awesome to have you on board. There's
just one tiny step missing before we can start shaping the world together ... Please confirm your
e-mail address by clicking the button below:</p>
@ -174,7 +174,7 @@
<p style="margin: 0;">If the above button doesn't work, you can also copy the following code into your browser window: <span style="color: #17b53e;">{{{ nonce }}}</span></p>
<p style="margin: 0;">However, this only works if you have registered through our website.</p>
<p style="margin: 0; margin-top: 10px;">If you didn't sign up for <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a> we recommend you to check it out!
style="color: #17b53e;">{{APPLICATION_NAME}}</a> we recommend you to check it out!
It's a social network from people for people who want to connect and change the world together.</p>
<p style="margin: 0; margin-top: 10px;">PS: If you ignore this e-mail we will not create an account
for
@ -201,8 +201,8 @@
support team</a> with any
questions you have.</p>
<p style="margin: 0; margin-top: 10px;">See you soon on <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The {{APPLICATION_NAME}} Team</p>
</td>
</tr>
</table>

View File

@ -6,8 +6,8 @@
<tr>
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
src="{{{ welcomeImageUrl }}}"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -56,7 +56,7 @@
<tr>
<td style="padding: 20px; font-family: Lato, sans-serif; font-size: 16px; line-height: 22px; color: #555555;">
<p style="margin: 0;">Wenn Du noch keinen Account bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a> hast oder Dein Password gar nicht ändern willst,
style="color: #17b53e;">{{APPLICATION_NAME}}</a> hast oder Dein Password gar nicht ändern willst,
kannst Du diese E-Mail einfach ignorieren!</p>
</td>
</tr>
@ -75,8 +75,8 @@
<p style="margin: 0;">Ansonsten hilft Dir <a href="{{{ supportUrl }}}" style="color: #17b53e;">unser
Support Team</a> gerne weiter.</p>
<p style="margin: 0; margin-top: 10px;">Bis bald bei <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> Dein {{APPLICATION_NAME}} Team</p>
</td>
</tr>
<tr>
@ -105,7 +105,7 @@
<td style="background-color: #ffffff;">
<img
src="https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LcGvGRsW6DrZn7FWRzF%2F-LcGv6EiVcsjYLfQ_2YE%2F-LcGv8UtmAWc61fxGveg%2Flets_get_together.png?generation=1555078880410873&alt=media"
width="600" height="" alt="Human Connection community logo" border="0"
width="600" height="" alt="Welcome image" border="0"
style="width: 100%; max-width: 600px; height: auto; background: #ffffff; font-family: Lato, sans-serif; font-size: 16px; line-height: 15px; color: #555555; margin: auto; display: block;"
class="g-img">
</td>
@ -153,7 +153,7 @@
<tr>
<td style="padding: 20px; font-family: Lato, sans-serif; font-size: 16px; line-height: 22px; color: #555555;">
<p style="margin: 0;">If you don't have an account at <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a> yet or if you didn't want to reset your password,
style="color: #17b53e;">{{APPLICATION_NAME}}</a> yet or if you didn't want to reset your password,
please ignore this e-mail.</p>
</td>
</tr>
@ -172,8 +172,8 @@
<p style="margin: 0;">Otherwise <a href="{{{ supportUrl }}}" style="color: #17b53e;">our
support team</a> will be happy to help you out.</p>
<p style="margin: 0; margin-top: 10px;">See you soon on <a href="https://human-connection.org"
style="color: #17b53e;">Human Connection</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The Human Connection Team</p>
style="color: #17b53e;">{{APPLICATION_NAME}}</a>!</p>
<p style="margin: 0; margin-bottom: 10px;"> The {{APPLICATION_NAME}} Team</p>
</td>
</tr>
</table>

View File

@ -44,7 +44,7 @@ spec:
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /develop-backend/public/uploads
- mountPath: /backend/public/uploads
name: uploads
dnsPolicy: ClusterFirst
restartPolicy: Always

View File

@ -50,4 +50,4 @@ privateKeyPassphrase: "YTdkc2Y3OHNhZGc4N2FkODdzZmFnc2FkZzc4"
mapboxToken: "cGsuZXlKMUlqb2lhSFZ0WVc0dFkyOXVibVZqZEdsdmJpSXNJbUVpT2lKamFqbDBjbkJ1Ykdvd2VUVmxNM1Z3WjJsek5UTnVkM1p0SW4wLktaOEtLOWw3MG9talhiRWtrYkhHc1E="
uploadsStorage: "25Gi"
neo4jStorage: "5Gi"
developmentMailserverDomain: nitro-mailserver.human-connection.org
developmentMailserverDomain: nitro-mailserver.human-connection.org

View File

@ -18,8 +18,8 @@ minikube dashboard, expose the services you want on your host system.
For example:
```text
$ minikube service develop-webapp --namespace=human-connection
$ minikube service develop-webapp --namespace=ocelotsocialnetwork
# optionally
$ minikube service develop-backend --namespace=human-connection
$ minikube service develop-backend --namespace=ocelotsocialnetwork
```

View File

@ -56,4 +56,4 @@ $ kubectl --namespace=human-connection exec -it <POD-ID> bash
> exit
```
Revert your changes to deployment `develop-neo4j` which will restart the database.
Revert your changes to deployment `develop-neo4j` which will restart the database.

View File

@ -2,6 +2,7 @@ version: "3.4"
services:
webapp:
image: schoolsinmotion/webapp:build-and-test
build:
context: webapp
target: build-and-test
@ -9,11 +10,12 @@ services:
- ./webapp:/develop-webapp
environment:
- NUXT_BUILD=/tmp/nuxt # avoid file permission issues when `rm -rf .nuxt/`
- PUBLIC_REGISTRATION=false
- PUBLIC_REGISTRATION=true
command: yarn run dev
volumes:
- webapp_node_modules:/nitro-web/node_modules
backend:
image: schoolsinmotion/backend:build-and-test
build:
context: backend
target: build-and-test

View File

@ -45,6 +45,7 @@ services:
- MAPBOX_TOKEN=pk.eyJ1IjoiaHVtYW4tY29ubmVjdGlvbiIsImEiOiJjajl0cnBubGoweTVlM3VwZ2lzNTNud3ZtIn0.KZ8KK9l70omjXbEkkbHGsQ
- PRIVATE_KEY_PASSPHRASE=a7dsf78sadg87ad87sfagsadg78
- "DEBUG=${DEBUG}"
- EMAIL_DEFAULT_SENDER=info@human-connection.org
neo4j:
image: ocelotsocialnetwork/develop-neo4j:latest
build:

View File

@ -1,5 +1,4 @@
FROM neo4j:3.5.14-enterprise
LABEL Description="Neo4J database of the Social Network Human-Connection.org with preinstalled database constraints and indices" Vendor="Human Connection gGmbH" Version="0.0.1" Maintainer="Human Connection gGmbH (developer@human-connection.org)"
ARG BUILD_COMMIT
ENV BUILD_COMMIT=$BUILD_COMMIT

View File

@ -13,8 +13,6 @@ scripts/
cypress/
README.md
screenshot*.png
lokalise.png
.editorconfig
maintenance/node_modules/

View File

@ -1,5 +1,4 @@
FROM node:12.19.0-alpine3.10 as base
LABEL Description="Web Frontend of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)"
EXPOSE 3000
CMD ["yarn", "run", "start"]

View File

@ -1,5 +1,4 @@
FROM node:12.19.0-alpine3.10 as build
LABEL Description="Maintenance page of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)"
EXPOSE 3000
CMD ["yarn", "run", "start"]
@ -25,6 +24,7 @@ COPY locales locales
COPY mixins mixins
COPY plugins/i18n.js plugins/v-tooltip.js plugins/styleguide.js plugins/
COPY static static
COPY constants constants
COPY nuxt.config.js nuxt.config.js
# this will also ovewrite the existing package.json

View File

@ -24,14 +24,6 @@
<div v-if="formData.image" class="blur-toggle">
<label for="blur-img">{{ $t('contribution.inappropriatePicture') }}</label>
<input type="checkbox" id="blur-img" v-model="formData.imageBlurred" />
<a
href="https://support.human-connection.org/kb/faq.php?id=113"
target="_blank"
class="link"
>
{{ $t('contribution.inappropriatePictureText') }}
<base-icon name="question-circle" />
</a>
</div>
<ds-input
model="title"

View File

@ -1,13 +1,14 @@
<template>
<div class="donation-info">
<progress-bar :title="title" :label="label" :goal="goal" :progress="progress" />
<a target="_blank" href="https://human-connection.org/spenden/">
<a target="_blank" :href="links.DONATE">
<base-button filled>{{ $t('donations.donate-now') }}</base-button>
</a>
</div>
</template>
<script>
import links from '~/constants/links.js'
import { DonationsQuery } from '~/graphql/Donations'
import ProgressBar from '~/components/ProgressBar/ProgressBar.vue'
@ -17,6 +18,7 @@ export default {
},
data() {
return {
links,
goal: 15000,
progress: 0,
}

View File

@ -22,7 +22,7 @@ export default class Hashtag extends TipTapMention {
...super.schema,
toDOM: (node) => {
// use a dummy domain because URL cannot handle relative urls
const url = new URL('/', 'https://human-connection.org')
const url = new URL('/', 'https://example.org')
url.searchParams.append('hashtag', node.attrs.id)
return [

View File

@ -6,8 +6,8 @@
</blockquote>
<base-card>
<template #imageColumn>
<a :href="$t('login.moreInfoURL')" :title="$t('login.moreInfo')" target="_blank">
<img class="image" alt="Human Connection" src="/img/sign-up/humanconnection.svg" />
<a :href="links.ORGANIZATION" :title="$t('login.moreInfo', metadata)" target="_blank">
<img class="image" alt="Welcome" src="/img/custom/welcome.svg" />
</a>
</template>
<h2 class="title">{{ $t('login.login') }}</h2>
@ -49,6 +49,8 @@
<script>
import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
import links from '~/constants/links.js'
import metadata from '~/constants/metadata.js'
export default {
components: {
@ -56,6 +58,8 @@ export default {
},
data() {
return {
metadata,
links,
form: {
email: '',
password: '',

View File

@ -1,79 +0,0 @@
<template>
<div class="VueToNuxtLogo">
<div class="Triangle Triangle--two" />
<div class="Triangle Triangle--one" />
<div class="Triangle Triangle--three" />
<div class="Triangle Triangle--four" />
</div>
</template>
<style>
.VueToNuxtLogo {
display: inline-block;
animation: turn 2s linear forwards 1s;
transform: rotateX(180deg);
position: relative;
overflow: hidden;
height: 180px;
width: 245px;
}
.Triangle {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
}
.Triangle--one {
border-left: 105px solid transparent;
border-right: 105px solid transparent;
border-bottom: 180px solid #41b883;
}
.Triangle--two {
top: 30px;
left: 35px;
animation: goright 0.5s linear forwards 3.5s;
border-left: 87.5px solid transparent;
border-right: 87.5px solid transparent;
border-bottom: 150px solid #3b8070;
}
.Triangle--three {
top: 60px;
left: 35px;
animation: goright 0.5s linear forwards 3.5s;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-bottom: 120px solid #35495e;
}
.Triangle--four {
top: 120px;
left: 70px;
animation: godown 0.5s linear forwards 3s;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
border-bottom: 60px solid #fff;
}
@keyframes turn {
100% {
transform: rotateX(0deg);
}
}
@keyframes godown {
100% {
top: 180px;
}
}
@keyframes goright {
100% {
left: 70px;
}
}
</style>

View File

@ -0,0 +1,70 @@
<template>
<component
:is="tag"
class="ds-logo"
:class="[inverse && 'ds-logo-inverse']"
>
<svg-logo
v-if="!inverse"
class="ds-logo-svg"
/>
<svg-logo-inverse
v-else
class="ds-logo-svg"
/>
</component>
</template>
<script>
import svgLogo from '~/static/img/custom/Logo-Horizontal.svg'
import svgLogoInverse from '~/static/img/custom/Logo-Horizontal-Dark.svg'
/**
* This component displays the brand's logo.
* @version 1.0.0
*/
export default {
name: 'Logo',
components: {
svgLogo,
svgLogoInverse
},
props: {
/**
* Inverse the logo
*/
inverse: {
type: Boolean,
default: false
},
/**
* The html element name used for the logo.
*/
tag: {
type: String,
default: 'div'
}
}
}
</script>
<style lang="scss">
.ds-logo {
@include reset;
display: inline-flex;
justify-content: center;
align-items: center;
color: $text-color-primary;
}
.ds-logo-inverse {
color: $text-color-primary-inverse;
}
.ds-logo-svg {
width: 130px;
height: auto;
fill: currentColor;
}
</style>
<docs src="./demo.md"></docs>

View File

@ -0,0 +1,15 @@
# Basic usage
```
<ds-section>
<ds-logo></ds-logo>
</ds-section>
```
# Inverse Logo
```
<ds-section secondary>
<ds-logo inverse></ds-logo>
</ds-section>
```

View File

@ -0,0 +1,17 @@
.ds-logo {
@include reset;
display: inline-flex;
justify-content: center;
align-items: center;
color: $text-color-primary;
}
.ds-logo-inverse {
color: $text-color-primary-inverse;
}
.ds-logo-svg {
width: 130px;
height: auto;
fill: currentColor;
}

View File

@ -1,20 +1,20 @@
<template>
<div id="footer" class="ds-footer">
<a href="https://human-connection.org" target="_blank" v-html="$t('site.made')"></a>
<a :href="links.ORGANIZATION" target="_blank" v-html="$t('site.made')"></a>
<span>-</span>
<a href="https://human-connection.org/impressum/" target="_blank">
<nuxt-link to="/imprint">
{{ $t('site.imprint') }}
</a>
</nuxt-link>
<span>-</span>
<nuxt-link to="/terms-and-conditions">{{ $t('site.termsAndConditions') }}</nuxt-link>
<span>-</span>
<nuxt-link to="/code-of-conduct">{{ $t('site.code-of-conduct') }}</nuxt-link>
<span>-</span>
<a href="https://human-connection.org/datenschutz/" target="_blank">
<nuxt-link to="/data-privacy">
{{ $t('site.data-privacy') }}
</a>
</nuxt-link>
<span>-</span>
<a href="https://faq.human-connection.org/" target="_blank">
<a :href="links.FAQ" target="_blank">
{{ $t('site.faq') }}
</a>
<span>-</span>
@ -28,9 +28,10 @@
</template>
<script>
import links from '~/constants/links.js'
export default {
data() {
return { version: `v${process.env.release}` }
return { links, version: `v${process.env.release}` }
},
}
</script>

View File

@ -49,8 +49,9 @@
</p>
<p>
{{ $t('components.password-reset.change-password.help') }}
<br />
<a href="mailto:support@human-connection.org">support@human-connection.org</a>
</p>
<p>
<a :href="'mailto:' + supportEmail">{{ supportEmail }}</a>
</p>
</ds-text>
</template>
@ -60,6 +61,7 @@
</template>
<script>
import emails from '../../constants/emails.js'
import PasswordStrength from '../Password/Strength'
import gql from 'graphql-tag'
import { SweetalertIcon } from 'vue-sweetalert-icons'
@ -77,6 +79,7 @@ export default {
data() {
const passwordForm = PasswordForm({ translate: this.$t })
return {
supportEmail: emails.SUPPORT,
formData: {
...passwordForm.formData,
},

View File

@ -16,7 +16,7 @@
</ds-text>
<ds-text align="center">
{{ $t('components.registration.create-user-account.help') }}
<a :href="supportEmail.href">{{ supportEmail.label }}</a>
<a :href="'mailto:' + supportEmail">{{ supportEmail }}</a>
</ds-text>
<ds-space centered>
<nuxt-link to="/login">{{ $t('site.back-to-login') }}</nuxt-link>
@ -69,17 +69,21 @@
v-model="termsAndConditionsConfirmed"
:checked="termsAndConditionsConfirmed"
/>
<label
for="checkbox0"
v-html="$t('termsAndConditions.termsAndConditionsConfirmed')"
></label>
<label for="checkbox0">
{{ $t('termsAndConditions.termsAndConditionsConfirmed') }}
<br />
<nuxt-link to="/terms-and-conditions">{{ $t('site.termsAndConditions') }}</nuxt-link>
</label>
</ds-text>
<ds-text>
<input id="checkbox1" type="checkbox" v-model="dataPrivacy" :checked="dataPrivacy" />
<label
for="checkbox1"
v-html="$t('components.registration.signup.form.data-privacy')"
></label>
<label for="checkbox1">
{{ $t('components.registration.signup.form.data-privacy') }}
<br />
<nuxt-link to="/data-privacy">
{{ $t('site.data-privacy') }}
</nuxt-link>
</label>
</ds-text>
<ds-text>
<input id="checkbox2" type="checkbox" v-model="minimumAge" :checked="minimumAge" />
@ -125,12 +129,13 @@
</template>
<script>
import links from '~/constants/links'
import PasswordStrength from '../Password/Strength'
import { SweetalertIcon } from 'vue-sweetalert-icons'
import PasswordForm from '~/components/utils/PasswordFormHelper'
import { SUPPORT_EMAIL } from '~/constants/emails.js'
import { VERSION } from '~/constants/terms-and-conditions-version.js'
import { SignupVerificationMutation } from '~/graphql/Registration.js'
import emails from '~/constants/emails'
export default {
components: {
@ -140,7 +145,8 @@ export default {
data() {
const passwordForm = PasswordForm({ translate: this.$t })
return {
supportEmail: SUPPORT_EMAIL,
links,
supportEmail: emails.SUPPORT,
formData: {
name: '',
about: '',

View File

@ -8,7 +8,7 @@
@submit="handleSubmit"
>
<h1>
{{ invitation ? $t('profile.invites.title') : $t('components.registration.signup.title') }}
{{ invitation ? $t('profile.invites.title', metadata) : $t('components.registration.signup.title', metadata) }}
</h1>
<ds-space v-if="token" margin-botton="large">
<ds-text v-html="$t('registration.signup.form.invitation-code', { code: token })" />
@ -64,6 +64,7 @@
<script>
import gql from 'graphql-tag'
import metadata from '~/constants/metadata'
import { SweetalertIcon } from 'vue-sweetalert-icons'
export const SignupMutation = gql`
@ -91,6 +92,7 @@ export default {
},
data() {
return {
metadata,
formData: {
email: '',
},

View File

@ -33,7 +33,7 @@ storiesOf('Generic/BaseCard', module)
template: `
<base-card style="width: 600px;">
<template #imageColumn>
<img class="image" src="/img/sign-up/humanconnection.svg" />
<img class="image" alt="Example image" src="/img/custom/welcome.svg" />
</template>
<h2 class="title">I am a card heading</h2>
<p>And I am a paragraph.</p>
@ -46,7 +46,7 @@ storiesOf('Generic/BaseCard', module)
template: `
<base-card style="width: 600px;">
<template #imageColumn>
<img class="image" src="/img/sign-up/humanconnection.svg" />
<img class="image" alt="Example image" src="/img/custom/welcome.svg" />
</template>
<h2 class="title">I am a card heading</h2>
<p>And I am a paragraph.</p>

View File

@ -1,4 +1,4 @@
export const SUPPORT_EMAIL = {
href: 'mailto:support@human-connection.org',
label: 'support@human-connection.org',
export default {
SUPPORT: 'support@human-connection.org',
MODERATION: 'moderation@human-connection.org',
}

View File

@ -0,0 +1,6 @@
export default {
ORGANIZATION: 'https://human-connection.org/',
DONATE: 'https://human-connection.org/spenden/',
FAQ: 'https://faq.human-connection.org/',
SUPPORT: 'https://human-connection.org/support',
}

View File

@ -0,0 +1,9 @@
import metadata from './metadata.js'
const { APPLICATION_NAME, APPLICATION_SHORT_NAME, APPLICATION_DESCRIPTION } = metadata
export default {
name: APPLICATION_NAME,
short_name: APPLICATION_SHORT_NAME,
description: APPLICATION_DESCRIPTION,
theme_color: '#17b53f',
lang: 'en',
}

View File

@ -0,0 +1,7 @@
export default {
APPLICATION_NAME: 'fyphe_O',
APPLICATION_SHORT_NAME: 'fyphe',
APPLICATION_DESCRIPTION: 'The Schools in Motion Network',
ORGANIZATION_NAME: 'Ensible e.V.',
ORGANIZATION_JURISDICTION: 'Köln',
}

View File

@ -6,7 +6,7 @@
<ds-flex-item width="5.5%" />
<ds-flex-item style="flex-grow: 1;" width="20%">
<a @click="redirectToRoot">
<ds-logo />
<Logo />
</a>
</ds-flex-item>
<ds-flex-item width="20%" style="flex-grow: 0;">
@ -26,12 +26,14 @@
</template>
<script>
import Logo from '~/components/Logo/Logo'
import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
import seo from '~/mixins/seo'
import PageFooter from '~/components/PageFooter/PageFooter'
export default {
components: {
Logo,
LocaleSwitch,
PageFooter,
},

View File

@ -6,7 +6,7 @@
<ds-flex class="main-navigation-flex">
<ds-flex-item :width="{ base: '142px' }">
<nuxt-link :to="{ name: 'index' }" v-scroll-to="'.main-navigation'">
<ds-logo />
<Logo />
</nuxt-link>
</ds-flex-item>
<ds-flex-item
@ -74,6 +74,7 @@
</template>
<script>
import Logo from '~/components/Logo/Logo'
import { mapGetters } from 'vuex'
import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
import SearchField from '~/components/features/SearchField/SearchField.vue'
@ -86,6 +87,7 @@ import AvatarMenu from '~/components/AvatarMenu/AvatarMenu'
export default {
components: {
Logo,
LocaleSwitch,
SearchField,
Modal,

View File

@ -76,54 +76,7 @@
}
},
"code-of-conduct": {
"consequences": {
"description": "Wenn ein Gemeinschaftsmitglied inakzeptables Verhalten an den Tag legt, können die verantwortlichen Betreiber, Moderatoren und Administratoren des Netzwerks angemessene Maßnahmen ergreifen, u.a.:",
"list": {
"0": "Aufforderung zum sofortigen Abstellen des inakzeptablen Verhaltens",
"1": "Sperren oder Löschen von Kommentaren",
"2": "Vorübergehender Ausschluss aus dem jeweiligen Beitrag",
"3": "Sperren bzw. Löschen von Inhalten",
"4": "Vorübergehender Entzug von Schreibrechten",
"5": "Vorübergehender Ausschluss aus dem Netzwerk",
"6": "Endgültiger Ausschluss aus dem Netzwerk",
"7": "Verstöße gegen deutsches Recht können zur Anzeige gebracht werden."
},
"title": "Konsequenzen inakzeptablen Verhaltens"
},
"expected-behaviour": {
"description": "Die folgenden Verhaltensweisen werden von allen Community-Mitgliedern erwartet und gefordert:",
"list": {
"0": "Sei rücksichtsvoll und respektvoll, bei dem, was Du schreibst und tust.",
"1": "Versuche auf andere zuzugehen, bevor ein Konflikt entsteht.",
"2": "Vermeide erniedrigende, diskriminierende oder belästigende Verhaltensweisen und Ausdrücke.",
"3": "Achte Dein Umfeld und Deine Mitmenschen. Warne die Verantwortlichen der Community, falls Du eine gefährliche Situation, jemanden in Not oder Verstöße gegen diesen Verhaltenskodex bemerkst, auch wenn diese unbedeutend erscheinen."
},
"title": "Erwartetes Verhalten"
},
"get-help": "Wenn Du einem inakzeptablen Verhalten ausgesetzt bist, es miterlebst oder andere Bedenken hast, benachrichtige bitte so schnell wie möglich einen Organisator der Gemeinschaft und verlinke oder verweise auf den entsprechenden Inhalt:",
"preamble": {
"description": "Human Connection ist ein gemeinnütziges soziales Wissens- und Aktionsnetzwerk der nächsten Generation. Von Menschen für Menschen. Open Source, fair und transparent. Für positiven lokalen und globalen Wandel in allen Lebensbereichen. Wir gestalten den öffentlichen Austausch von Wissen, Ideen und Projekten völlig neu. Die Funktionen von Human Connection bringen die Menschen zusammen offline und online so dass wir die Welt zu einem besseren Ort machen können.",
"title": "Präambel"
},
"purpose": {
"description": "Mit diesen Verhaltensregeln regeln wir die wesentlichen Grundsätze für das Verhalten in unserem Sozialen Netzwerk. Dabei ist die Menschenrechtscharta der Vereinten Nationen unsere Orientierung und bildet das Herz unseres Werteverständnisses. Die Verhaltensregeln dienen als Leitsätze für den persönlichen Auftritt und den Umgang untereinander. Wer als Nutzer im Human Connection Netzwerk aktiv ist, Beiträge verfasst, kommentiert oder mit anderen Nutzern, auch außerhalb des Netzwerkes, Kontakt aufnimmt, erkennt diese Verhaltensregeln als verbindlich an.",
"title": "Zweck"
},
"subheader": "für das Soziale Netzwerk der Human Connection gGmbH",
"unacceptable-behaviour": {
"description": "Die folgenden Verhaltensweisen sind in unserer Community inakzeptabel:",
"list": {
"0": "Diskriminierende Beiträge, Kommentare, Äußerungen oder Beleidigungen, insbesondere solche, die sich auf Geschlecht, sexuelle Orientierung, Rasse, Religion, politische oder weltanschauliche Ausrichtung oder Behinderung beziehen.",
"1": "Das Senden oder Verlinken eindeutig pornografischen Materials.",
"2": "Verherrlichung oder Verharmlosung grausamer oder unmenschlicher Gewalttätigkeiten.",
"3": "Das Veröffentlichen von personenbezogenen Daten anderer ohne deren Einverständnis oder das Androhen dessen („Doxing“).",
"4": "Absichtliche Einschüchterung, Stalking oder Verfolgung.",
"5": "Bewerben von Produkten und Dienstleistungen mit kommerzieller Absicht.",
"6": "Strafbares Verhalten bzw. Verstoß gegen deutsches Recht.",
"7": "Befürwortung oder Ermutigung zu diesen Verhaltensweisen."
},
"title": "Nichtakzeptables Verhalten"
}
"subheader": "für das Soziale Netzwerk von {ORGANIZATION_NAME}"
},
"comment": {
"content": {
@ -197,7 +150,7 @@
},
"signup": {
"form": {
"data-privacy": "Ich habe die <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"><ds-text bold color=\"primary\" >Datenschutzerklärung</ds-text></a> gelesen und verstanden",
"data-privacy": "Ich habe die Datenschutzerklärung gelesen und verstanden",
"description": "Um loszulegen, kannst Du Dich hier kostenfrei registrieren:",
"errors": {
"email-exists": "Es gibt schon ein Benutzerkonto mit dieser E-Mail-Adresse!",
@ -209,9 +162,9 @@
"no-political": "Ich bin nicht im Auftrag einer Partei oder politischen Organisation im Netzwerk.",
"submit": "Konto erstellen",
"success": "Eine E-Mail mit einem Link zum Abschließen Deiner Registrierung wurde an <b>{email}</b> geschickt",
"terms-and-condition": "Ich stimme den <a href=\"/terms-and-conditions\"><ds-text bold color=\"primary\" >Nutzungsbedingungen</ds-text></a> zu."
"terms-and-condition": "Ich stimme den Nutzungsbedingungen zu."
},
"title": "Mach mit bei Human Connection!",
"title": "Mach mit bei {APPLICATION_NAME}!",
"unavailable": "Leider ist die öffentliche Registrierung von Benutzerkonten auf diesem Server derzeit nicht möglich."
}
}
@ -252,7 +205,6 @@
"filterALL": "Alle Beiträge anzeigen",
"filterFollow": "Beiträge von Benutzern filtern, denen ich folge",
"inappropriatePicture": "Dieses Bild kann für einige Menschen unangemessen sein.",
"inappropriatePictureText": "Wann sollte mein Beitragsbild verschwommen sein?",
"languageSelectLabel": "Sprache Deines Beitrags",
"languageSelectText": "Sprache wählen",
"newPost": "Erstelle einen neuen Beitrag",
@ -354,16 +306,14 @@
"no-results": "Keine Beiträge gefunden."
},
"login": {
"copy": "Falls Du bereits ein Konto bei Human Connection hast, melde Dich bitte hier an.",
"email": "Deine E-Mail",
"failure": "Fehlerhafte E-Mail-Adresse oder Passwort.",
"forgotPassword": "Passwort vergessen?",
"hello": "Hallo",
"login": "Anmelden",
"logout": "Abmelden",
"moreInfo": "Was ist Human Connection?",
"moreInfo": "Was ist {APPLICATION_NAME}?",
"moreInfoHint": "zur Präsentationsseite",
"moreInfoURL": "https://human-connection.org",
"no-account": "Du hast noch kein Benutzerkonto?",
"password": "Dein Passwort",
"register": "Benutzerkonto erstellen",
@ -372,7 +322,7 @@
"maintenance": {
"explanation": "Derzeit führen wir einige geplante Wartungsarbeiten durch, bitte versuche es später erneut.",
"questions": "Bei Fragen oder Problemen erreichst Du uns per E-Mail an",
"title": "Human Connection befindet sich in der Wartung"
"title": "{APPLICATION_NAME} befindet sich in der Wartung"
},
"modals": {
"deleteUser": {
@ -504,7 +454,7 @@
"invites": {
"description": "Zur Einladung die E-Mail-Adresse hier eintragen.",
"emailPlaceholder": "E-Mail-Adresse für die Einladung",
"title": "Lade jemanden zu Human Connection ein!"
"title": "Lade jemanden zu {APPLICATION_NAME} ein!"
},
"memberSince": "Mitglied seit",
"name": "Mein Profil",
@ -793,51 +743,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/veranstaltungen/\" target=\"_blank\" > https://human-connection.org/veranstaltungen/ </a>",
"title": "Zusätzlich veranstalten wir regelmäßig Ereignisse, wo Du auch Eindrücke teilen und Fragen stellen kannst. Du findest eine aktuelle Übersicht hier:"
},
"agree": "Ich stimme zu!",
"code-of-conduct": {
"description": "Unser Verhaltenskodex dient als Leitfaden für das persönliche Auftreten und den Umgang miteinander. Wer als Nutzer im Human Connection-Netzwerk aktiv ist, Beiträge verfasst, kommentiert oder mit anderen Nutzern, auch außerhalb des Netzwerkes, Kontakt aufnimmt, erkennt diese Verhaltensregeln als verbindlich an. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\">https://alpha.human-connection.org/code-of-conduct</a>",
"title": "Verhaltenscodex"
},
"errors-and-feedback": {
"description": "Wir sind sehr bemüht, unser Netzwerk und unsere Daten sicher und abrufbar zu erhalten. Jede neue Version der Software durchläuft sowohl automatisierte als auch manuelle Tests. Es können jedoch unvorhergesehene Fehler auftreten. Deshalb sind wir dankbar für jeden gemeldeten Fehler. Du kannst gerne jeden von Dir entdeckten Fehler dem Support/der Hilfe-Assistenz mitteilen: support@human-connection.org",
"title": "Fehler und Rückmeldungen"
},
"help-and-questions": {
"description": "Für Hilfe und Fragen haben wir Dir eine umfassende Sammlung an häufig gestellten Fragen und Antworten (FAQ) zusammengestellt; Du findest diese auf <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" > support.human-connection.org/kb/ </a>",
"title": "Hilfe und Fragen"
},
"moderation": {
"description": "Bis unsere finanziellen Möglichkeiten uns erlauben, das Community-Moderationssystem zu implementieren, moderieren wir mit einem vereinfachten System und eigenen bzw. ggf. ehrenamtlichen Mitarbeitern. Wir schulen diese Moderatoren und aus diesem Grund treffen auch nur diese entsprechende Entscheidungen. Diese Moderatoren führen Ihre Tätigkeit anonym aus. Du kannst uns Beiträge, Kommentare und auch Nutzer melden (wenn diese zum Beispiel in ihrem Profil Angaben machen oder Bilder haben, die diese Nutzungsbedingungen verletzen). Wenn Du uns etwas meldest, kannst Du einen Meldegrund angeben und noch eine kurze Erläuterung mitgeben. Wir schauen uns dann das Gemeldete an und sanktionieren ggf., z.B. indem wir Beiträge, Kommentare oder Nutzer sperren. Du und auch der Betroffene erhält derzeitig von uns leider noch keine Rückmeldung, das ist aber in Planung. Unabhängig davon behalten wir uns prinzipiell Sanktionen vor aus Gründen, die unter Umständen nicht oder noch nicht in unserem Verhaltenscodex oder diesen Nutzungsbedingungen aufgeführt sind.",
"title": "Moderation"
},
"newTermsAndConditions": "Neue Nutzungsbedingungen",
"no-commercial-use": {
"description": "Die Nutzung des Human Connection Netzwerkes ist nicht gestattet für kommerzielle Nutzung. Darunter fällt unter anderem das Bewerben von Produkten mit kommerzieller Absicht, das Einstellen von Affiliate-Links (Geschäftspartner-Links), direkter Aufruf zu Spenden oder finanzieller Unterstützung für Zwecke, die steuerlich nicht als gemeinnützig anerkannt sind.",
"title": "Keine kommerzielle Nutzung"
},
"no-parties": {
"description": "Nutzerkonten von politischen Parteien oder offizielle Nutzerkonten eines politischen Vertreters sind unzulässig.",
"title": "Keine politische Nutzung"
},
"privacy-statement": {
"description": "Unser Netzwerk ist ein soziales Wissens- und Aktionsnetzwerk. Daher ist es uns besonders wichtig, dass möglichst viele Inhalte öffentlich zugänglich sind. Im Laufe der Entwicklung unseres Netzwerkes wird es mehr und mehr die Möglichkeit geben, über die Sichtbarkeit der selbst angegebenen bzw. persönlichen Daten zu entscheiden. Über diese neuen Funktionen werden wir Euch informieren. Ansonsten gilt, dass Du immer darüber nachdenken solltest, welche persönlichen Daten Du über Dich (oder andere) preisgibst. Dies gilt insbesondere für Inhalte von Beiträgen und Kommentaren, da diese einen weitgehend öffentlichen Charakter haben. Später wird es Möglichkeiten geben, die Sichtbarkeit Deines Profils einzuschränken. Teil der Nutzungsbedingungen ist unsere Datenschutzerklärung, die Dich über die einzelnen Datenverarbeitungen in unserem Netzwerk informiert: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\">https://human-connection.org/datenschutz/#netzwerk</a> bzw. <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz/</a>. Unsere Datenschutzerklärung ist an die Gesetzeslage und die Charakteristika unseres Netzwerks angepasst und gilt immer in der aktuellsten Version.",
"title": "Datenschutz"
},
"terms-of-service": {
"description": "Die folgenden Nutzungsbedingungen sind Basis für die Nutzung unseres Netzwerkes. Beim Registrieren musst Du sie anerkennen und wir werden Dich auch später über ggf. stattfindende Änderungen informieren. Das Human Connection Netzwerk wird in Deutschland betrieben und unterliegt daher deutschem Recht. Gerichtsstand ist Kirchheim / Teck. Zu Details schau in unser Impressum: <a href=\"https://human-connection.org/impressum/\" target=\"_blank\" >https://human-connection.org/impressum/</a>",
"title": "Nutzungsbedingungen"
},
"termsAndConditionsConfirmed": "Ich habe die <a href=\"/terms-and-conditions\" target=\"_blank\">Nutzungsbedingungen</a> durchgelesen und stimme ihnen zu.",
"termsAndConditionsConfirmed": "Ich habe die Nutzungsbedingungen durchgelesen und stimme ihnen zu.",
"termsAndConditionsNewConfirm": "Ich habe die neuen Nutzungsbedingungen durchgelesen und stimme zu.",
"termsAndConditionsNewConfirmText": "Bitte lies Dir die neuen Nutzungsbedingungen jetzt durch!",
"use-and-license": {
"description": "Sind Inhalte, die Du bei uns einstellst, durch Rechte am geistigen Eigentum geschützt, erteilst Du uns eine nicht-exklusive, übertragbare, unterlizenzierbare und weltweite Lizenz für die Nutzung dieser Inhalte für die Bereitstellung in unserem Netzwerk. Diese Lizenz endet, sobald Du Deine Inhalte oder Deinen ganzen Account löscht. Bedenke, dass andere Deine Inhalte weiter teilen können und wir diese nicht löschen können.",
"title": "Nutzung und Lizenz"
}
"termsAndConditionsNewConfirmText": "Bitte lies Dir die neuen Nutzungsbedingungen jetzt durch!"
},
"user": {
"avatar": {

View File

@ -76,54 +76,7 @@
}
},
"code-of-conduct": {
"consequences": {
"description": "If a community member exhibits unacceptable behaviour, the responsible operators, moderators and administrators of the network may take appropriate measures, including but not limited to:",
"list": {
"0": "Request for immediate cessation of unacceptable conduct",
"1": "Locking or deleting comments",
"2": "Temporary exclusion from the respective post or contribution",
"3": "Blocking or deleting of content",
"4": "Temporary withdrawal of write permissions",
"5": "Temporary exclusion from the network",
"6": "Final exclusion from the network",
"7": "Violations of German law can be reported."
},
"title": "Consequences of Unacceptable Behavior"
},
"expected-behaviour": {
"description": "The following behaviors are expected and requested of all community members:",
"list": {
"0": "Exercise consideration and respect in your speech and actions.",
"1": "Attempt collaboration before conflict.",
"2": "Refrain from demeaning, discriminatory, or harassing behavior and speech.",
"3": "Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential."
},
"title": "Expected Behaviour"
},
"get-help": "If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible and link or refer to the corresponding content:",
"preamble": {
"description": "Human Connection is a non-profit social knowledge and action network of the next generation. By people - for people. Open Source, fair and transparent. For positive local and global change in all areas of life. We completely redesign the public exchange of knowledge, ideas and projects. The functions of Human Connection bring people together - offline and online - so that we can make the world a better place.",
"title": "Preamble"
},
"purpose": {
"description": "With these code of conduct we regulate the essential principles for behavior in our social network. The United Nations Charter of Human Rights is our orientation and forms the heart of our understanding of values. The code of conduct serves as guiding principles for our personal appearance and interaction with one another. Anyone who is active as a user in the Human Connection Network, writes articles, comments or contacts other users, including those outside the network,acknowledges these rules of conduct as binding.",
"title": "Purpose"
},
"subheader": "for the social network of the Human Connection gGmbH",
"unacceptable-behaviour": {
"description": "The following behaviors are unacceptable within our community:",
"list": {
"0": "Discriminatory posts, comments, utterances or insults, particularly those relating to gender, sexual orientation, race, religion, political or philosophical orientation or disability.",
"1": "Posting or linking of clearly pornographic material.",
"2": "Glorification or trivialization of cruel or inhuman acts of violence.",
"3": "The disclosure of others' personal information without their consent or threat there of (\"doxing\").",
"4": "Intentional intimidation, stalking or persecution.",
"5": "Advertising products and services with commercial intent.",
"6": "Criminal behavior or violation of German law.",
"7": "Endorse or encourage such conduct."
},
"title": "Unacceptable Behavior"
}
"subheader": "for the social network of {ORGANIZATION_NAME}"
},
"comment": {
"content": {
@ -197,7 +150,7 @@
},
"signup": {
"form": {
"data-privacy": " I have read and understood the <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"><ds-text bold color=\"primary\" >Privacy Statement</ds-text></a> ",
"data-privacy": " I have read and understood the Privacy Statement.",
"description": "To get started, you can register here for free:",
"errors": {
"email-exists": "There is already a user account with this e-mail address!",
@ -209,9 +162,9 @@
"no-political": "I am not on behalf of a party or political organization in the network.",
"submit": "Create an account",
"success": "A mail with a link to complete your registration has been sent to <b>{email}</b>",
"terms-and-condition": "I confirm to the <a href=\"/terms-and-conditions\"><ds-text bold color=\"primary\" > Terms and conditions</ds-text></a>."
"terms-and-condition": "I confirm to the Terms and conditions."
},
"title": "Join Human Connection!",
"title": "Join {APPLICATION_NAME}!",
"unavailable": "Unfortunately, public registration of user accounts is not available right now on this server."
}
}
@ -252,7 +205,6 @@
"filterALL": "View all contributions",
"filterFollow": "Filter contributions from users I follow",
"inappropriatePicture": "This image may be inappropriate for some people.",
"inappropriatePictureText": "When should my picture be blurred",
"languageSelectLabel": "Language of your contribution",
"languageSelectText": "Select Language",
"newPost": "Create a new Post",
@ -354,16 +306,14 @@
"no-results": "No contributions found."
},
"login": {
"copy": "If you already have a human-connection account, please login.",
"email": "Your E-mail",
"failure": "Incorrect email address or password.",
"forgotPassword": "Forgot Password?",
"hello": "Hello",
"login": "Login",
"logout": "Logout",
"moreInfo": "What is Human Connection?",
"moreInfo": "What is {APPLICATION_NAME}?",
"moreInfoHint": "to the presentation page",
"moreInfoURL": "https://human-connection.org/en/",
"no-account": "Don't have an account?",
"password": "Your Password",
"register": "Sign up",
@ -372,7 +322,7 @@
"maintenance": {
"explanation": "At the moment we are doing some scheduled maintenance, please try again later.",
"questions": "Any Questions or concerns, send an e-mail to",
"title": "Human Connection is under maintenance"
"title": "{APPLICATION_NAME} is under maintenance"
},
"modals": {
"deleteUser": {
@ -504,7 +454,7 @@
"invites": {
"description": "Enter their e-mail address for invitation.",
"emailPlaceholder": "E-mail to invite",
"title": "Invite somebody to Human Connection!"
"title": "Invite somebody to {APPLICATION_NAME}!"
},
"memberSince": "Member since",
"name": "My Profile",
@ -793,51 +743,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/events/\" target=\"_blank\" > https://human-connection.org/events/ </a>",
"title": "In addition, we regularly hold events where you can also share your impressions and ask questions. You can find a current overview here:"
},
"agree": "I agree!",
"code-of-conduct": {
"description": "Our code of conduct serves as a handbook for personal appearance and interaction with each other. Whoever is active as a user in the Human Connection network, writes articles, comments or makes contact with other users, even outside the network, acknowledges these rules of conduct as binding. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct</a>",
"title": "Code of Conduct"
},
"errors-and-feedback": {
"description": "We make every effort to keep our network and data secure and available. Each new release of the software goes through both automated and manual testing. However, unforeseen errors may occur. Therefore, we are grateful for any reported bugs. You are welcome to report any bugs you discover by emailing Support at support@human-connection.org",
"title": "Errors and Feedback"
},
"help-and-questions": {
"description": "For help and questions we have compiled a comprehensive collection of frequently asked questions and answers (FAQ) for you. You can find them here: <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" > https://support.human-connection.org/kb/ </a>",
"title": "Help and Questions"
},
"moderation": {
"description": "Until our financial possibilities allow us to implement the community moderation system, we moderate with a simplified system and with our own or possibly volunteer staff. We train these moderators and for this reason only they make the appropriate decisions. These moderators carry out their work anonymously. You can report posts, comments and users to us (for example, if they provide information in their profile or have images that violate these Terms of Use). If you report something to us, you can give us a reason and a short explanation. We will then take a look at what you have reported and sanction you if necessary, e.g. by blocking contributions, comments or users. Unfortunately, you and the person concerned will not receive any feedback from us at this time, but this is in the planning stage. Irrespective of this, we reserve the right to impose sanctions in principle for reasons that may not or not yet be listed in our Code of Conduct or these terms of service.",
"title": "Moderation"
},
"newTermsAndConditions": "New Terms and Conditions",
"no-commercial-use": {
"description": "The use of the Human Connection Network is not permitted for commercial purposes. This includes, but is not limited to, advertising products with commercial intent, posting affiliate links, directly soliciting donations, or providing financial support for purposes that are not recognized as charitable for tax purposes.",
"title": "No Commercial Use"
},
"no-parties": {
"description": "User accounts of political parties or official user accounts of a political representative are not permitted.",
"title": "No Political Use"
},
"privacy-statement": {
"description": "Our network is a social knowledge and action network. It is therefore particularly important to us that as much content as possible is publicly accessible. In the course of the development of our network there will be more and more the possibility to decide about the visibility of the personal data. We will inform you about these new features. Otherwise, you should always think about which personal data you disclose about yourself (or others). This applies in particular to the content of posts and comments, as these have a largely public character. Later there will be possibilities to limit the visibility of your profile. Part of the terms of service is our privacy statement, which informs you about the individual data processing operations in our network: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\"> https://human-connection.org/datenschutz/#netzwerk</a> bzw. <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz/</a> Our privacy statement is adapted to the legal situation and characteristics of our network and is always valid in the most current version.",
"title": "Privacy Statement"
},
"terms-of-service": {
"description": "The following terms of use form the basis for the use of our network. When you register, you must accept them and we will inform you later about any changes that may take place. The Human Connection Network is operated in Germany and is therefore subject to German law. Place of jurisdiction is Kirchheim / Teck. For details see our imprint: <a href=\"https://human-connection.org/imprint\" target=\"_blank\" >https://human-connection.org/imprint</a> ",
"title": "Terms of Service"
},
"termsAndConditionsConfirmed": "I have read and confirmed the <a href=\"/terms-and-conditions\" target=\"_blank\">Terms and Conditions</a>.",
"termsAndConditionsConfirmed": "I have read and confirmed the Terms and Conditions.",
"termsAndConditionsNewConfirm": "I have read and agree to the new terms of conditions.",
"termsAndConditionsNewConfirmText": "Please read the new terms of use now!",
"use-and-license": {
"description": "If any content you post to us is protected by intellectual property rights, you grant us a non-exclusive, transferable, sublicensable, worldwide license to use such content for posting to our network. This license expires when you delete your content or your entire account. Remember that others may share your content and we cannot delete it.",
"title": "Use and License"
}
"termsAndConditionsNewConfirmText": "Please read the new terms of use now!"
},
"user": {
"avatar": {

View File

@ -76,54 +76,7 @@
}
},
"code-of-conduct": {
"consequences": {
"description": "Si un miembro de la comunidad muestra un comportamiento inaceptable, los operadores, moderadores y administradores responsables de la red pueden tomar las medidas apropiadas, incluyendo pero no limitándose a:",
"list": {
"0": "Solicitud de cese inmediato de conducta inaceptable",
"1": "Bloquear o eliminar comentarios",
"2": "Exclusión temporal de la contribución respectiva",
"3": "Bloqueo o eliminación de contenido",
"4": "Retirada temporal de permisos de escritura",
"5": "Exclusión temporal de la red.",
"6": "Exclusión definitiva de la red",
"7": "Las violaciones de la ley alemana pueden ser denunciadas."
},
"title": "Consecuencias de Comportamiento Inaceptable"
},
"expected-behaviour": {
"description": "Los siguientes comportamientos son esperados y solicitados de todos los miembros de la comunidad:",
"list": {
"0": "Ejercite la consideración y el respeto en su discurso y en sus acciones.",
"1": "Intento de colaboración antes del conflicto.",
"2": "Abstenerse de denigrar, discriminar o acosar la conducta y el habla.",
"3": "Tenga en cuenta su entorno y sus compañeros participantes. Alerte a los líderes de la comunidad si nota una situación peligrosa, alguien en apuros o violaciones de este Código de Conducta, incluso si parecen no tener consecuencias."
},
"title": "Comportamiento esperado"
},
"get-help": "Si usted está sujeto a un comportamiento inaceptable, lo experimenta o tiene otras preocupaciones, por favor notifique a un organizador de la comunidad tan pronto como sea posible y enlace o apunte el contenido relevante:",
"preamble": {
"description": "Human Connection es una red de conocimiento y acción social sin fines de lucro de la próxima generación. Por la gente - para la gente. Código Abierto, justo y transparente. Por un cambio positivo a nivel local y global en todas las áreas de la vida. Rediseñamos completamente el intercambio público de conocimientos, ideas y proyectos. Las funciones de Human Connection unen a las personas - fuera de línea y en línea - para que podamos hacer del mundo un lugar mejor.",
"title": "Preámbulo"
},
"purpose": {
"description": "Con este código de conducta regulamos los principios esenciales de comportamiento en nuestra red social. La Carta de Derechos Humanos de las Naciones Unidas es nuestra orientación y constituye el núcleo de nuestra comprensión de los valores. El código de conducta sirve como principios rectores para nuestra apariencia personal y la interacción entre nosotros. Cualquiera que esté activo como usuario de la Red de Human Connection, escriba artículos, comentarios o se ponga en contacto con otros usuarios, incluidos los que están fuera de la red, reconoce que estas normas de conducta son vinculantes.",
"title": "Propósito"
},
"subheader": "para la red social de Human Connection gGmbH",
"unacceptable-behaviour": {
"description": "Los siguientes comportamientos son inaceptables dentro de nuestra comunidad:",
"list": {
"0": "Publicaciones, comentarios, expresiones o insultos discriminatorios, particularmente aquellos relacionados con género, orientación sexual, raza, religión, orientación política o filosófica o discapacidad.",
"1": "Publicación o enlace de material claramente pornográfico.",
"2": "Glorificación o trivialización de actos de violencia crueles o inhumanos.",
"3": "La divulgación de información personal de otros sin su consentimiento o amenaza de (\"doxing\").",
"4": "Intimidación intencional, acoso o persecución.",
"5": "Publicidad de productos y servicios con fines comerciales.",
"6": "Comportamiento criminal o violación de la ley alemana.",
"7": "Apoyar o alentar dicha conducta."
},
"title": "Comportamiento Inaceptable"
}
"subheader": "para la red social de {ORGANIZATION_NAME}"
},
"comment": {
"content": {
@ -197,7 +150,7 @@
},
"signup": {
"form": {
"data-privacy": "He leido y entendido la <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"><ds-text bold color=\"primary\" >declaración de protección de datos</ds-text></a>",
"data-privacy": "He leido y entendido la declaración de protección de datos.",
"description": "Para empezar, introduzca su dirección de correo electrónico:",
"errors": {
"email-exists": "¡Ya hay una cuenta de usuario con esta dirección de correo electrónico!",
@ -209,9 +162,9 @@
"no-political": "No estoy en la red en nombre de un partido o una organización política.",
"submit": "Crear una cuenta",
"success": "Se ha enviado un correo electrónico con un enlace de confirmación para el registro a <b>{email}</b>.",
"terms-and-condition": "Estoy de acuerdo con los <a href=\"/terms-and-conditions\"><ds-text bold color=\"primary\" >términos de uso</ds-text></a>."
"terms-and-condition": "Estoy de acuerdo con los términos de uso."
},
"title": "¡Únete a Human Connection!",
"title": "¡Únete a {APPLICATION_NAME}!",
"unavailable": "Desafortunadamente, el registro público de cuentas de usuario en este servidor actualmente no es posible."
}
}
@ -250,7 +203,6 @@
"filterALL": "Ver todas las contribuciones",
"filterFollow": "Filtrar las contribuciones de los usuarios que sigo",
"inappropriatePicture": "Esta imagen puede ser inapropiada para algunas personas.",
"inappropriatePictureText": "¿Cuándo debería estar borrosa mi foto?",
"languageSelectLabel": "Idioma",
"languageSelectText": "Seleccione el idioma",
"newPost": "Crear una nueva contribución",
@ -352,16 +304,14 @@
"no-results": "No se han encontrado contribuciones."
},
"login": {
"copy": "Si ya tiene una cuenta de Human Connection, inicie sesión aquí.",
"email": "Su correo electrónico",
"failure": "Dirección de correo electrónico o contraseña incorrecta.",
"forgotPassword": "¿Olvidó su contraseña?",
"hello": "Hola",
"login": "Iniciar sesión",
"logout": "Cierre de sesión",
"moreInfo": "¿Qué es Human Connection?",
"moreInfo": "¿Qué es {APPLICATION_NAME}?",
"moreInfoHint": "a la página de presentación",
"moreInfoURL": "https://human-connection.org/es/",
"no-account": "¿No tiene una cuenta?",
"password": "Su contraseña",
"register": "Regístrese",
@ -370,7 +320,7 @@
"maintenance": {
"explanation": "Actualmente estamos llevando a cabo algunos trabajos de mantenimiento planificados, por favor, inténtelo de nuevo más tarde.",
"questions": "Si tiene alguna pregunta o problema, por favor contáctenos por correo electrónico a",
"title": "Human Connection está en mantenimiento"
"title": "{APPLICATION_NAME} está en mantenimiento"
},
"moderation": {
"name": "Moderación",
@ -497,7 +447,7 @@
"invites": {
"description": "Introduzca la dirección de correo electrónico para la invitación.",
"emailPlaceholder": "Correo electrónico para invitar",
"title": "¡Invite a alguien a Human Connection!"
"title": "¡Invite a alguien a {APPLICATION_NAME}!"
},
"memberSince": "Miembro desde",
"name": "Mi perfil",
@ -779,51 +729,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/events/\" target=\"_blank\" > https://human-connection.org/events/ </a>",
"title": "Además, regularmente celebramos eventos donde también puede dar impresiones y hacer preguntas. Puede encontrar un resumen actualizado aquí:"
},
"agree": "¡Estoy de acuerdo!",
"code-of-conduct": {
"description": "Nuestro código de conducta sirve como un manual para la apariencia personal y la interacción entre nosotros. Quien esté activo como usuario en la red de Human Connection, escriba artículos, haga comentarios o se ponga en contacto con otros usuarios, incluso fuera de la red, reconoce que estas normas de conducta son vinculantes. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\">https://alpha.human-connection.org/code-of-conduct</a>",
"title": "Código de conducta"
},
"errors-and-feedback": {
"description": "Hacemos todo lo posible para mantener nuestra red y los datos seguros y disponibles. Cada nueva versión del software pasa por pruebas automáticas y manuales. No obstante, pueden producirse errores imprevistos. Por lo tanto, estamos agradecidos por cualquier error reportado. Le invitamos a informar de cualquier error que haya descubierto enviando un correo electrónico a Soporte: support@human-connection.org",
"title": "Errores y comentarios"
},
"help-and-questions": {
"description": "Para ayuda y preguntas hemos compilado una colección completa de preguntas y respuestas frecuentes (FAQ) para usted. Puede encontrarlos aquí: <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" >https://support.human-connection.org/kb/</a>",
"title": "Ayuda y preguntas"
},
"moderation": {
"description": "Hasta que nuestras posibilidades financieras nos permitan implementar el sistema de moderación comunitaria, moderaremos con un sistema simplificado y con personal propio o posiblemente voluntario. Formamos a estos moderadores y por eso sólo ellos toman las decisiones adecuadas. Estos moderadores realizan su trabajo de forma anónima. Usted puede reportarnos contribuciones, comentarios y usuarios (por ejemplo, si proporcionan información en su perfil o tienen imágenes que violan estos Términos de Uso). Si nos informa de algo, puede darnos una razón y una breve explicación. A continuación, examinaremos su denuncia y le sancionaremos si es necesario, por ejemplo, bloqueando las contribuciones, los comentarios o los usuarios. Desafortunadamente, usted y la persona en cuestión no recibirán ninguna respuesta de nuestra parte en este momento, pero esto se encuentra en la fase de planificación. Independientemente de esto, nos reservamos el derecho de imponer sanciones en principio por razones que pueden no estar incluidas o no estar incluidas en nuestro Código de Conducta o en estas condiciones de servicio.",
"title": "Moderación"
},
"newTermsAndConditions": "Nuevos términos de uso",
"no-commercial-use": {
"description": "El uso de la red Human Connection no está permitido para fines comerciales. Esto incluye, pero no se limita a, publicitar productos con intención comercial, publicar enlaces de afiliados, solicitar donaciones directamente o brindar apoyo financiero para fines que no se reconocen como caritativos para fines fiscales.",
"title": "Sin uso comercial"
},
"no-parties": {
"description": "No se permiten las cuentas de usuario de los partidos políticos ni las cuentas de usuario oficiales de un representante político.",
"title": "No tiene uso político"
},
"privacy-statement": {
"description": "Nuestra red es una red de conocimiento y acción social. Por lo tanto, es especialmente importante para nosotros que el mayor número posible de contenidos sea accesible al público. En el curso del desarrollo de nuestra red habrá cada vez más la posibilidad de decidir sobre la visibilidad de los datos personales. Le informaremos sobre estas nuevas características. De lo contrario, siempre debe pensar en los datos personales que revela sobre usted (u otros). Esto se aplica en particular al contenido de los mensajes y comentarios, ya que éstos tienen un carácter ampliamente público. Más tarde habrá posibilidades de limitar la visibilidad de su perfil. Parte de los términos del servicio es nuestra declaración de privacidad, que le informa sobre las operaciones individuales de procesamiento de datos en nuestra red: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\">https://human-connection.org/datenschutz/#netzwerk</a> o <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz/</a> Nuestra declaración de privacidad está adaptada a la situación legal y a las características de nuestra red y es siempre válida en la versión más actualizada.",
"title": "Protección de datos"
},
"terms-of-service": {
"description": "Las siguientes condiciones de uso constituyen la base para el uso de nuestra red. Cuando se registre, deberá aceptarlos y le informaremos más adelante de cualquier cambio que se produzca. La Red de Human Connection es operada en Alemania y por lo tanto está sujeta a la ley alemana. El fuero competente es Kirchheim / Teck. Para más detalles, consulte nuestro pie de imprenta: <a href=\"https://human-connection.org/en/imprint\" target=\"_blank\" >https://human-connection.org/en/imprint</a> ",
"title": "Términos de uso"
},
"termsAndConditionsConfirmed": "He leído y acepto los <a href=\"/terms-and-conditions\" target=\"_blank\">términos de uso</a>.",
"termsAndConditionsConfirmed": "He leído y acepto los términos de uso.",
"termsAndConditionsNewConfirm": "He leído y acepto los nuevos términos de uso.",
"termsAndConditionsNewConfirmText": "¡Por favor, lea los nuevos términos de uso ahora!",
"use-and-license": {
"description": "Si cualquier contenido que nos envíe está protegido por derechos de propiedad intelectual, nos concede una licencia mundial no exclusiva, transferible, sublicenciable y no exclusiva para utilizar dicho contenido para su publicación en nuestra red. Esta licencia caduca cuando usted elimina su contenido o toda su cuenta. Recuerde que otros pueden compartir su contenido y que nosotros no podemos eliminarlo.",
"title": "Uso y Licencia"
}
"termsAndConditionsNewConfirmText": "¡Por favor, lea los nuevos términos de uso ahora!"
},
"user": {
"avatar": {

View File

@ -76,54 +76,7 @@
}
},
"code-of-conduct": {
"consequences": {
"description": "Si un membre de la communauté présente un comportement inacceptable, les opérateurs, modérateurs et administrateurs responsables du réseau peuvent prendre les mesures appropriées, notamment:",
"list": {
"0": "Veuillez cesser immédiatement tout comportement inacceptable",
"1": "Verrouillage ou suppression des commentaires",
"2": "Exclusion temporaire du poste ou de la contribution en question",
"3": "Blocage ou suppression de contenu",
"4": "Retrait temporaire des droits d'écriture",
"5": "Exclusion temporaire du réseau",
"6": "Exclusion définitive du réseau",
"7": "Des violations du droit allemand peuvent être signalées."
},
"title": "Conséquences d'un comportement inacceptable"
},
"expected-behaviour": {
"description": "Les comportements suivants sont attendus et exigés de tous les membres de la communauté :",
"list": {
"0": "Faites preuve de considération et de respect dans votre discours et vos actions.",
"1": "Tenter de collaborer avant le conflit.",
"2": "S'abstenir de tout comportement ou discours dégradant, discriminatoire ou harcelant.",
"3": "Soyez attentif à votre environnement et aux autres participants. Alertez les leaders de la communauté si vous remarquez une situation dangereuse, une personne en détresse ou une violation du Code de Conduite, même si elle vous semble sans importance."
},
"title": "Comportement attendu"
},
"get-help": "Si vous êtes victime ou témoin d'un comportement inacceptable, ou si vous avez d'autres préoccupations, veuillez en aviser un organisateur communautaire dès que possible et établir un lien ou vous référer au contenu correspondant:",
"preamble": {
"description": "Human Connection est un réseau de connaissances et d'action sociale à but non lucratif de la prochaine génération. Par les gens - pour les gens. Open Source, équitable et transparent. Pour un changement local et global positif dans tous les domaines de la vie. Nous redessinons complètement l'échange public de connaissances, d'idées et de projets. Les fonctions de Human Connection rassemblent les gens - hors ligne et en ligne - afin que nous puissions rendre le monde meilleur.",
"title": "Préambule"
},
"purpose": {
"description": "Avec ce code de conduite, nous réglementons les principes essentiels de comportement dans notre réseau social. Nous nous orientons à la Charte des Droits de l'Homme, elle est le cœur de notre compréhension des valeurs. Le code de conduite sert de fil conducteur pour notre apparence personnelle et notre interaction les uns avec les autres. Toute personne active comme utilisateur sur le réseau Human Connection, écrit des articles, commente ou contacte d'autres utilisateurs, y compris ceux qui ne font pas partie du réseau, reconnaît ces règles comme contractuel.",
"title": "Objectif"
},
"subheader": "pour le réseau social de la Human Connection gGmbH",
"unacceptable-behaviour": {
"description": "Les comportements suivants sont inacceptables dans notre communauté:",
"list": {
"0": "Les messages, commentaires, déclarations ou insultes discriminatoires, en particulier ceux relatifs au sexe, à l'orientation sexuelle, à la race, à la religion, à l'orientation politique ou philosophique ou au handicap.",
"1": "Publication ou partage de matériel clairement pornographique.",
"2": "Glorification ou banalisation d'actes de violence cruels ou inhumains.",
"3": "La divulgation de renseignements personnels sans le consentement ou la menace d' (\"doxing\").",
"4": "L'intimidation, le harcèlement ou la persécution intentionnelle.",
"5": "Publicité de produits et de services à des fins commerciaux.",
"6": "Comportement criminel ou violation du droit allemand.",
"7": "Cautionner ou encourager de tels comportements."
},
"title": "Comportement inacceptable"
}
"subheader": "pour le réseau social de {ORGANIZATION_NAME}"
},
"comment": {
"content": {
@ -197,7 +150,7 @@
},
"signup": {
"form": {
"data-privacy": "J'ai lu et compris la <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"> <ds-text bold color=\"primary\" > Déclaration de confidentialité </ds-text> </a> ",
"data-privacy": "J'ai lu et compris la Déclaration de confidentialité.",
"description": "Pour commencer, entrez votre adresse mail :",
"errors": {
"email-exists": "Il existe déjà un compte utilisateur avec cette adresse mail!",
@ -209,9 +162,9 @@
"no-political": "Je ne parle pas au nom d'un parti ou d'une organisation politique sur le réseau.",
"submit": "Créer un compte",
"success": "Un mail avec un lien pour compléter votre inscription a été envoyé à <b>{email}</b>",
"terms-and-condition": "Je confirme les <a href=\"/terms-and-conditions\"> <ds-text bold color=\"primary\" > Conditions générales </ds-text> </a>."
"terms-and-condition": "Je confirme les Conditions générales."
},
"title": "Rejoignez Human Connection!",
"title": "Rejoignez {APPLICATION_NAME}!",
"unavailable": "Malheureusement, l'enregistrement public des comptes utilisateurs n'est pas encore disponible sur ce serveur."
}
}
@ -250,7 +203,6 @@
"filterALL": "Voir toutes les contributions",
"filterFollow": "Filtrer les contributions des utilisateurs que je suis",
"inappropriatePicture": "Cette image peut être inappropriée pour certaines personnes.",
"inappropriatePictureText": "Quand est ce que ma photo doit-elle être floue",
"languageSelectLabel": "Langue",
"languageSelectText": "Sélectionner une langue",
"newPost": "Créer un nouveau Post",
@ -341,16 +293,14 @@
"no-results": "Pas de contribution trouvée."
},
"login": {
"copy": "Si vous avez déjà un compte human-connection, connectez-vous ici.",
"email": "Votre mail",
"failure": "Adresse mail ou mot de passe incorrect.",
"forgotPassword": "Mot de passe oublié?",
"hello": "Bonjour",
"login": "Connexion",
"logout": "Déconnexion",
"moreInfo": "Qu'est-ce que Human Connection?",
"moreInfo": "Qu'est-ce que {APPLICATION_NAME}?",
"moreInfoHint": "à la page de présentation",
"moreInfoURL": "https://human-connection.org/fr/",
"no-account": "Vous n'avez pas de compte?",
"password": "Votre mot de passe",
"register": "S'inscrire",
@ -359,7 +309,7 @@
"maintenance": {
"explanation": "Pour l'instant, nous faisons de la maintenance programmée, veuillez réessayer plus tard.",
"questions": "Des questions ou des préoccupations, envoyez un mail à",
"title": "Human Connection est en maintenance"
"title": "{APPLICATION_NAME} est en maintenance"
},
"moderation": {
"name": "Modération",
@ -485,7 +435,7 @@
"invites": {
"description": "Entrez leur adresse mail pour l'invitation.",
"emailPlaceholder": "Mail d'invitation",
"title": "Invitez quelqu'un à Human Connection!"
"title": "Invitez quelqu'un à {APPLICATION_NAME}!"
},
"memberSince": "Membre depuis",
"name": "Mon profil",
@ -747,47 +697,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/events/\" target=\"_blank\" > https://human-connection.org/events/ </a>",
"title": "De plus, nous organisons régulièrement des événements où vous pouvez également partager vos impressions et poser vos questions. Ici, vous trouverez un aperçu actuel:"
},
"agree": "J'accepte!",
"code-of-conduct": {
"description": "Notre code de conduite sert de manuel pour l'apparence personnelle et l'interaction les uns avec les autres. Quiconque est actif en tant qu'utilisateur sur le réseau Human Connection, écrit des articles, commente ou établit des contacts avec d'autres utilisateurs, même en dehors du réseau, reconnaît que ces règles de conduite sont contractuel. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct </a>",
"title": "Code de conduite"
},
"errors-and-feedback": {
"description": "Nous mettons tout en œuvre pour que notre réseau et nos données soient sécurisés et disponibles. Chaque nouvelle version du logiciel passe par des tests automatisés et manuels. Cependant, des erreurs imprévues peuvent survenir. Par conséquent, nous sommes reconnaissants pour tous les bugs signalés. Nous vous invitons à signaler les bugs que vous avez découverts en envoyant un mail à support@human-connection.org.",
"title": "Erreurs et Feedback"
},
"help-and-questions": {
"description": "Pour obtenir de l'aide et des questions, nous avons compilé une foire aux questions (FAQ) complète pour vous. Vous pouvez les trouver ici: <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" >https://support.human-connection.org/kb/ </a>",
"title": "Aide et questions"
},
"moderation": {
"description": "Jusqu'à ce que nos possibilités financières nous permettent de mettre en œuvre le système de modération communautaire, nous modérons avec un système simplifié et avec notre propre personnel ou éventuellement des bénévoles. Nous formons ces modérateurs et c'est pour cette raison qu'ils sont les seuls à prendre les décisions appropriées. Ces modérateurs effectuent leur travail de manière anonyme. Vous pouvez nous signaler des postes, commentaires et utilisateurs (par exemple, s'ils fournissent des informations dans leur profil ou s'ils ont des images qui violent ces Conditions d'utilisation). Si vous nous signalez quelque chose, vous pouvez nous donner une raison et une brève explication. Nous examinerons ensuite ce que vous nous avez signalé et vous sanctionnerons si nécessaire, par exemple en bloquant des contributions, des commentaires ou des utilisateurs. Malheureusement, vous et la personne concernée ne recevrez pas de commentaires de notre part pour le moment, mais c'est à l'étape de la planification. Indépendamment de cela, nous nous réservons le droit d'imposer des sanctions de principe pour des raisons qui ne figurent pas ou pas encore dans notre Code de conduite ou dans les présentes conditions de service.",
"title": "Modération"
},
"newTermsAndConditions": "Nouvelles conditions générales",
"no-commercial-use": {
"description": "L'utilisation du réseau Human Connetion à fin commercial n'est pas autorisée. Cela comprend, sans s'y limiter, la publicité de produits à des fins commerciales, la publication de liens d'affiliation, la sollicitation directe de dons ou l'octroi d'un soutien financier à des fins qui ne sont pas reconnues comme organismes de bienfaisance aux fins de l'impôt.",
"title": "Pas d'utilisation commerciale"
},
"privacy-statement": {
"description": "Notre réseau est un réseau de connaissances et d'action sociale. Il est donc particulièrement important pour nous qu'autant de contenu que possible soit accessible au public. Au cours du développement de notre réseau, il y aura de plus en plus la possibilité de décider de la visibilité des données personnelles. Nous vous informerons de ces nouvelles fonctionnalités. Sinon, vous devriez toujours penser aux données personnelles que vous divulguez à votre sujet (ou à celui d'autres personnes). Cela vaut en particulier pour le contenu des messages et des commentaires, qui ont un caractère largement public. Plus tard, il y aura des possibilités de limiter la visibilité de votre profil. Une partie des conditions d'utilisation est notre déclaration de confidentialité, qui vous informe sur les différentes opérations de traitement des données dans notre réseau: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\"> https://human-connection.org/datenschutz/#netzwerk</a> ex: <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz/</a> Notre déclaration de confidentialité est adaptée à la situation juridique et aux caractéristiques de notre réseau et est toujours valable dans la version la plus récente.",
"title": "Déclaration de confidentialité"
},
"terms-of-service": {
"description": "Les conditions d'utilisation suivantes constituent la base de l'utilisation de notre réseau. Lorsque vous vous inscrivez, vous devez les accepter et nous vous informerons ultérieurement de tout changement qui pourrait survenir. Le réseau Human Connection Network est exploité en Allemagne et est donc soumis au droit allemand. Le tribunal compétent est celui de Kirchheim / Teck. Pour plus de détails, consultez notre site Internet: <a href=\"https://human-connection.org/en/imprint\" target=\"_blank\" >https://human-connection.org/en/imprint</a> ",
"title": "Conditions d'utilisation"
},
"termsAndConditionsConfirmed": "J'ai lu et accepte les <a href=\"/terms-and-conditions\" target=\"_blank\">conditions générales</a>.",
"termsAndConditionsConfirmed": "J'ai lu et accepte les conditions générales.",
"termsAndConditionsNewConfirm": "J'ai lu et accepté les nouvelles conditions générales.",
"termsAndConditionsNewConfirmText": "Veuillez lire les nouvelles conditions d'utilisation dès maintenant !",
"use-and-license": {
"description": "Si un contenu que vous nous publiez est protégé par des droits de propriété intellectuelle, vous nous accordez une licence mondiale non exclusive, transférable, transférable et pouvant faire l'objet d'une sous-licence pour utiliser ce contenu à des fins de publication sur notre réseau. Cette licence expire lorsque vous supprimez votre contenu ou l'ensemble de votre compte. Rappelez-vous que d'autres personnes peuvent partager votre contenu et que nous ne pouvons pas le supprimer.",
"title": "Utilisation et licence"
}
"termsAndConditionsNewConfirmText": "Veuillez lire les nouvelles conditions d'utilisation dès maintenant !"
},
"user": {
"avatar": {

View File

@ -0,0 +1 @@
<p1>Ich bin der Inhalt vom Verhaltenskodex</p>

View File

@ -0,0 +1 @@
<p>Das hier wäre der Inhalt der Datenschutzbestimmungen</p>

View File

@ -0,0 +1 @@
<p1>Ich bin das Impressum</p>

View File

@ -0,0 +1,11 @@
import termsAndConditions from './terms-and-conditions.html'
import codeOfConduct from './code-of-conduct.html'
import dataPrivacy from './data-privacy.html'
import imprint from './imprint.html'
export default {
termsAndConditions,
codeOfConduct,
dataPrivacy,
imprint,
}

View File

@ -0,0 +1 @@
<p>Ich bin der Inhalt der Seite "Nutzungsbedingungen"</p>

View File

@ -0,0 +1 @@
<p1>I am the content of the code of conduct</p>

View File

@ -0,0 +1 @@
<p>This would be our data privacy section</p>

View File

@ -0,0 +1 @@
<p>I am the imprint</p>

View File

@ -0,0 +1,11 @@
import termsAndConditions from './terms-and-conditions.html'
import codeOfConduct from './code-of-conduct.html'
import dataPrivacy from './data-privacy.html'
import imprint from './imprint.html'
export default {
termsAndConditions,
codeOfConduct,
dataPrivacy,
imprint,
}

View File

@ -0,0 +1 @@
<p>I am the content of the page "terms and conditions"<p>

View File

@ -0,0 +1,7 @@
import de from './de'
import en from './en'
export default {
de,
en,
}

View File

@ -1,6 +1,6 @@
{
"actions": {
"cancel": "",
"cancel": null,
"create": "Crea",
"delete": "Cancella",
"edit": "Modifica",
@ -33,16 +33,16 @@
"successfulUpdate": "Informazioni sulle donazioni aggiornate con successo!"
},
"hashtags": {
"name": "",
"nameOfHashtag": "",
"number": "",
"tagCount": "",
"tagCountUnique": ""
"name": null,
"nameOfHashtag": null,
"number": null,
"tagCount": null,
"tagCountUnique": null
},
"invites": {
"description": "",
"name": "",
"title": ""
"description": null,
"name": null,
"title": null
},
"name": "Admin",
"notifications": {
@ -63,87 +63,40 @@
"tagCountUnique": "Utenti"
},
"users": {
"empty": "",
"empty": null,
"form": {
"placeholder": ""
"placeholder": null
},
"name": "Utenti",
"table": {
"columns": {
"createdAt": "",
"email": "",
"name": "",
"number": "",
"role": "",
"slug": ""
"createdAt": null,
"email": null,
"name": null,
"number": null,
"role": null,
"slug": null
}
}
}
},
"code-of-conduct": {
"consequences": {
"description": "Se un membro della comunità manifesta comportamenti inaccettabili, gli operatori, i moderatori e gli amministratori responsabili della rete possono adottare le misure appropriate, inclusi ma non limitati a:",
"list": {
"0": "Richiesta di cessazione immediata di comportamenti inaccettabili",
"1": "Blocco o eliminazione di commenti",
"2": "Esclusione temporanea dal rispettivo posto o contributo",
"3": "Blocco o eliminazione di contenuti",
"4": "Revoca temporanea delle autorizzazioni di scrittura",
"5": "Esclusione temporanea dalla rete",
"6": "Esclusione definitiva dalla rete",
"7": "Violazioni della legge tedesca possono essere segnalate."
},
"title": "Conseguenze di comportamenti inaccettabilil"
},
"expected-behaviour": {
"description": "",
"list": {
"0": "",
"1": "",
"2": "",
"3": "Fai attenzione a ciò che ti circonda e ai tuoi compagni partecipanti. Avvisare i leader della comunità se si nota una situazione pericolosa, qualcuno in difficoltà o violazioni del presente Codice di condotta, anche se sembrano insignificanti."
},
"title": ""
},
"get-help": "Se sei soggetto o testimone di un comportamento inaccettabile, o se hai altre preoccupazioni, ti preghiamo di avvisare al più presto un organizzatore della comunità e di fare riferimento al contenuto corrispondente:",
"preamble": {
"description": "Human Connection è una rete di conoscenza e azione sociale senza scopo di lucro della prossima generazione. Dalle persone - per le persone. Open Source, equo e trasparente. Per un cambiamento locale e globale positivo in tutte le aree della vita. Ridisegniamo completamente lo scambio pubblico di conoscenze, idee e progetti. Le funzioni di Human Connection riuniscono le persone - offline e online - in modo che possiamo rendere il mondo un posto migliore.",
"title": ""
},
"purpose": {
"description": "Con questo codice di condotta regoliamo i principi essenziali di comportamento nel nostro social network. La Carta dei diritti umani delle Nazioni Unite è il nostro orientamento e costituisce il cuore della nostra comprensione dei valori. Il codice di condotta funge da principio guida per il nostro aspetto personale e l'interazione reciproca. Chiunque sia attivo come utente nella rete di connessione umana, scrive articoli, commenti o contatta altri utenti, compresi quelli esterni alla rete, riconosce queste regole di condotta come vincolanti.",
"title": ""
},
"subheader": "",
"unacceptable-behaviour": {
"description": "",
"list": {
"0": "Posti discriminatori, commenti, dichiarazioni o insulti, in particolare quelli relativi a genere, orientamento sessuale, razza, religione, orientamento politico o filosofico o disabilità.",
"1": "Pubblicazione o collegamento di materiale chiaramente pornografico.",
"2": "Glorificazione o banalizzazione di atti di violenza crudele o disumana.",
"3": "La divulgazione di informazioni personali altrui senza il loro consenso o minaccia di (\"doxing\").",
"4": "Intimidazione intenzionale, stalking o persecuzione.",
"5": "Pubblicità di prodotti e servizi a fini commerciali.",
"6": "Comportamento criminale o violazione della legge tedesca.",
"7": "Sostenere o incoraggiare tale condotta."
},
"title": ""
}
"subheader": null
},
"comment": {
"content": {
"unavailable-placeholder": ""
"unavailable-placeholder": null
},
"delete": "",
"edit": "",
"edited": "",
"delete": null,
"edit": null,
"edited": null,
"menu": {
"delete": "",
"edit": ""
"delete": null,
"edit": null
},
"show": {
"less": "",
"more": ""
"less": null,
"more": null
}
},
"common": {
@ -157,149 +110,149 @@
"organization": "Organizzazione ::: Organizzazioni",
"post": "Messaggio ::: Messaggi",
"project": "Progetto ::: Progetti",
"reportContent": "",
"reportContent": null,
"shout": "Grido ::: Gridi",
"tag": "Tag ::: Tag",
"takeAction": "Agire",
"user": "Utente ::: Utenti",
"validations": {
"categories": "",
"email": "",
"url": ""
"categories": null,
"email": null,
"url": null
},
"versus": "Verso"
},
"components": {
"enter-nonce": {
"form": {
"description": "",
"next": "",
"nonce": "",
"description": null,
"next": null,
"nonce": null,
"validations": {
"length": ""
"length": null
}
}
},
"password-reset": {
"change-password": {
"error": "Modifica della password non riuscita. Forse il codice di sicurezza non era corretto?",
"help": "",
"success": ""
"help": null,
"success": null
},
"request": {
"form": {
"description": "",
"submit": "",
"submitted": ""
"description": null,
"submit": null,
"submitted": null
},
"title": ""
"title": null
}
},
"registration": {
"create-user-account": {
"error": "",
"help": "",
"success": "",
"title": ""
"error": null,
"help": null,
"success": null,
"title": null
},
"signup": {
"form": {
"data-privacy": "",
"description": "",
"data-privacy": null,
"description": null,
"errors": {
"email-exists": "",
"email-exists": null,
"invalid-invitation-token": "Sembra che l'invito sia già stato utilizzato. I link di invito possono essere utilizzati una sola volta."
},
"invitation-code": "",
"minimum-age": "",
"submit": "",
"success": "",
"terms-and-condition": ""
"invitation-code": null,
"minimum-age": null,
"submit": null,
"success": null,
"terms-and-condition": null
},
"title": "",
"unavailable": ""
"title": null,
"unavailable": null
}
}
},
"contribution": {
"categories": {
"infoSelectedNoOfMaxCategories": ""
"infoSelectedNoOfMaxCategories": null
},
"category": {
"name": {
"animal-protection": "",
"art-culture-sport": "",
"consumption-sustainability": "",
"cooperation-development": "",
"democracy-politics": "",
"economy-finances": "",
"education-sciences": "",
"energy-technology": "",
"environment-nature": "",
"freedom-of-speech": "",
"global-peace-nonviolence": "",
"happiness-values": "",
"health-wellbeing": "",
"human-rights-justice": "",
"it-internet-data-privacy": "",
"just-for-fun": ""
"animal-protection": null,
"art-culture-sport": null,
"consumption-sustainability": null,
"cooperation-development": null,
"democracy-politics": null,
"economy-finances": null,
"education-sciences": null,
"energy-technology": null,
"environment-nature": null,
"freedom-of-speech": null,
"global-peace-nonviolence": null,
"happiness-values": null,
"health-wellbeing": null,
"human-rights-justice": null,
"it-internet-data-privacy": null,
"just-for-fun": null
}
},
"delete": "",
"edit": "",
"delete": null,
"edit": null,
"emotions-label": {
"angry": "",
"cry": "",
"funny": "",
"happy": "",
"surprised": ""
"angry": null,
"cry": null,
"funny": null,
"happy": null,
"surprised": null
},
"filterALL": "",
"filterFollow": "",
"languageSelectLabel": "",
"languageSelectText": "",
"newPost": "",
"success": "",
"filterALL": null,
"filterFollow": null,
"languageSelectLabel": null,
"languageSelectText": null,
"newPost": null,
"success": null,
"teaserImage": {
"cropperConfirm": "Confermare",
"supportedFormats": "Inserisci un'immagine in formato file JPG, PNG o GIF"
},
"title": ""
"title": null
},
"delete": {
"cancel": "",
"cancel": null,
"comment": {
"message": "",
"success": "",
"title": "",
"type": ""
"message": null,
"success": null,
"title": null,
"type": null
},
"contribution": {
"message": "",
"success": "",
"title": "",
"type": ""
"message": null,
"success": null,
"title": null,
"type": null
},
"submit": ""
"submit": null
},
"disable": {
"cancel": "",
"cancel": null,
"comment": {
"message": "",
"title": "",
"type": ""
"message": null,
"title": null,
"type": null
},
"contribution": {
"message": "",
"title": "",
"type": ""
"message": null,
"title": null,
"type": null
},
"submit": "",
"success": "",
"submit": null,
"success": null,
"user": {
"message": "",
"title": "",
"type": ""
"message": null,
"title": null,
"type": null
}
},
"donations": {
@ -309,120 +262,118 @@
},
"editor": {
"embed": {
"always_allow": "",
"always_allow": null,
"data_privacy_info": "I tuoi dati non sono ancora stati condivisi con fornitori terzi. Se continui a guardare questo video, il seguente fornitore probabilmente raccoglierà i dati dell'utente:",
"data_privacy_warning": "",
"play_now": ""
"data_privacy_warning": null,
"play_now": null
},
"hashtag": {
"addHashtag": "",
"addLetter": "",
"noHashtagsFound": ""
"addHashtag": null,
"addLetter": null,
"noHashtagsFound": null
},
"mention": {
"noUsersFound": ""
"noUsersFound": null
},
"placeholder": ""
"placeholder": null
},
"filter-menu": {
"all": "",
"categories": "",
"emotions": "",
"filter-by": "",
"following": "",
"languages": ""
"all": null,
"categories": null,
"emotions": null,
"filter-by": null,
"following": null,
"languages": null
},
"followButton": {
"follow": "",
"following": ""
"follow": null,
"following": null
},
"hashtags-filter": {
"clearSearch": "",
"hashtag-search": "",
"title": ""
"clearSearch": null,
"hashtag-search": null,
"title": null
},
"index": {
"change-filter-settings": "",
"no-results": ""
"change-filter-settings": null,
"no-results": null
},
"login": {
"copy": "Se sei gia registrato su Human Connection, accedi qui.",
"email": "La tua email",
"failure": "",
"forgotPassword": "",
"failure": null,
"forgotPassword": null,
"hello": "Ciao",
"login": "Accesso",
"logout": "Logout",
"moreInfo": "Che cosa è Human Connection?",
"moreInfoHint": "",
"moreInfoURL": "",
"no-account": "",
"moreInfo": "Che cosa è {APPLICATION_NAME}?",
"moreInfoHint": null,
"no-account": null,
"password": "La tua password",
"register": "",
"success": ""
"register": null,
"success": null
},
"maintenance": {
"explanation": "",
"questions": "",
"title": ""
"explanation": null,
"questions": null,
"title": null
},
"moderation": {
"name": "",
"name": null,
"reports": {
"createdAt": "",
"disabledBy": "",
"empty": "",
"name": "",
"reasonCategory": "",
"reasonDescription": "",
"reporter": "",
"submitter": ""
"createdAt": null,
"disabledBy": null,
"empty": null,
"name": null,
"reasonCategory": null,
"reasonDescription": null,
"reporter": null,
"submitter": null
}
},
"notifications": {
"comment": "",
"content": "",
"empty": "",
"comment": null,
"content": null,
"empty": null,
"filterLabel": {
"all": "",
"read": "",
"unread": ""
"all": null,
"read": null,
"unread": null
},
"pageLink": "",
"post": "",
"pageLink": null,
"post": null,
"reason": {
"commented_on_post": "",
"mentioned_in_comment": "",
"mentioned_in_post": ""
"commented_on_post": null,
"mentioned_in_comment": null,
"mentioned_in_post": null
},
"title": "",
"user": ""
"title": null,
"user": null
},
"post": {
"comment": {
"submit": "",
"submitted": "",
"updated": ""
"submit": null,
"submitted": null,
"updated": null
},
"edited": "",
"edited": null,
"menu": {
"delete": "",
"edit": "",
"pin": "",
"pinnedSuccessfully": "",
"unpin": "",
"unpinnedSuccessfully": ""
"delete": null,
"edit": null,
"pin": null,
"pinnedSuccessfully": null,
"unpin": null,
"unpinnedSuccessfully": null
},
"moreInfo": {
"description": "",
"description": null,
"name": "Ulteriori informazioni",
"title": "",
"titleOfCategoriesSection": "",
"titleOfHashtagsSection": "",
"titleOfRelatedContributionsSection": ""
"title": null,
"titleOfCategoriesSection": null,
"titleOfHashtagsSection": null,
"titleOfRelatedContributionsSection": null
},
"name": "Messaggio",
"pinned": "",
"pinned": null,
"takeAction": {
"name": "Agire"
}
@ -433,22 +384,22 @@
"followers": "Seguenti",
"following": "Seguendo",
"invites": {
"description": "",
"emailPlaceholder": "",
"title": ""
"description": null,
"emailPlaceholder": null,
"title": null
},
"memberSince": "Membro dal",
"name": "Il mio profilo",
"network": {
"andMore": "",
"followedBy": "",
"followedByNobody": "",
"following": "",
"followingNobody": "",
"title": ""
"andMore": null,
"followedBy": null,
"followedByNobody": null,
"following": null,
"followingNobody": null,
"title": null
},
"shouted": "Gridato",
"socialMedia": "",
"socialMedia": null,
"userAnonym": "Anonymous"
},
"quotes": {
@ -458,86 +409,86 @@
}
},
"release": {
"cancel": "",
"cancel": null,
"comment": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
},
"contribution": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
},
"submit": "",
"success": "",
"submit": null,
"success": null,
"user": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
}
},
"report": {
"cancel": "",
"cancel": null,
"comment": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
},
"contribution": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
},
"reason": {
"category": {
"invalid": "",
"label": "",
"invalid": null,
"label": null,
"options": {
"advert_products_services_commercial": "",
"criminal_behavior_violation_german_law": "",
"discrimination_etc": "",
"doxing": "",
"glorific_trivia_of_cruel_inhuman_acts": "",
"intentional_intimidation_stalking_persecution": "",
"other": "",
"pornographic_content_links": ""
"advert_products_services_commercial": null,
"criminal_behavior_violation_german_law": null,
"discrimination_etc": null,
"doxing": null,
"glorific_trivia_of_cruel_inhuman_acts": null,
"intentional_intimidation_stalking_persecution": null,
"other": null,
"pornographic_content_links": null
},
"placeholder": ""
"placeholder": null
},
"description": {
"label": "",
"placeholder": ""
"label": null,
"placeholder": null
}
},
"submit": "",
"success": "",
"submit": null,
"success": null,
"user": {
"error": "",
"message": "",
"title": "",
"type": ""
"error": null,
"message": null,
"title": null,
"type": null
}
},
"search": {
"failed": "",
"hint": "",
"placeholder": ""
"failed": null,
"hint": null,
"placeholder": null
},
"settings": {
"data": {
"labelBio": "Su di te",
"labelCity": "La tua città o regione",
"labelName": "Nome",
"labelSlug": "",
"labelSlug": null,
"name": "I tuoi dati",
"namePlaceholder": "Anonymous",
"success": ""
"success": null
},
"delete": {
"name": "Elimina Account"
@ -555,39 +506,39 @@
"name": "Scaricamento dati"
},
"email": {
"change-successful": "",
"labelEmail": "",
"labelNewEmail": "",
"labelNonce": "",
"name": "",
"submitted": "",
"success": "",
"change-successful": null,
"labelEmail": null,
"labelNewEmail": null,
"labelNonce": null,
"name": null,
"submitted": null,
"success": null,
"validation": {
"same-email": ""
"same-email": null
},
"verification-error": {
"explanation": "",
"message": "",
"explanation": null,
"message": null,
"reason": {
"invalid-nonce": "",
"no-email-request": ""
"invalid-nonce": null,
"no-email-request": null
},
"support": ""
"support": null
}
},
"embeds": {
"info-description": "Ecco l'elenco dei fornitori di terze parti i cui contenuti possono essere visualizzati come codice di terze parti, ad esempio sotto forma di video incorporati.",
"name": "",
"name": null,
"status": {
"change": {
"allow": "",
"deny": "",
"question": ""
"allow": null,
"deny": null,
"question": null
},
"description": "",
"description": null,
"disabled": {
"off": "",
"on": ""
"off": null,
"on": null
}
}
},
@ -620,75 +571,75 @@
"name": "Mie organizzazioni"
},
"privacy": {
"make-shouts-public": "",
"name": "",
"success-update": ""
"make-shouts-public": null,
"name": null,
"success-update": null
},
"security": {
"change-password": {
"button": "",
"label-new-password": "",
"label-new-password-confirm": "",
"label-old-password": "",
"message-new-password-confirm-required": "",
"message-new-password-missmatch": "",
"message-new-password-required": "",
"message-old-password-required": "",
"passwordSecurity": "",
"passwordStrength0": "",
"passwordStrength1": "",
"passwordStrength2": "",
"passwordStrength3": "",
"passwordStrength4": "",
"success": ""
"button": null,
"label-new-password": null,
"label-new-password-confirm": null,
"label-old-password": null,
"message-new-password-confirm-required": null,
"message-new-password-missmatch": null,
"message-new-password-required": null,
"message-old-password-required": null,
"passwordSecurity": null,
"passwordStrength0": null,
"passwordStrength1": null,
"passwordStrength2": null,
"passwordStrength3": null,
"passwordStrength4": null,
"success": null
},
"name": "Sicurezza"
},
"social-media": {
"name": "",
"placeholder": "",
"requireUnique": "",
"submit": "",
"name": null,
"placeholder": null,
"requireUnique": null,
"submit": null,
"successAdd": "Social media aggiunti. \nProfilo utente aggiornato ",
"successDelete": "Social media cancellati. Profilo utente aggiornato!"
},
"validation": {
"slug": {
"alreadyTaken": "",
"regex": ""
"alreadyTaken": null,
"regex": null
}
}
},
"shoutButton": {
"shouted": ""
"shouted": null
},
"site": {
"back-to-login": "",
"back-to-login": null,
"bank": "conto bancario",
"code-of-conduct": "",
"code-of-conduct": null,
"contact": "Contatto",
"data-privacy": "protezione dei dati",
"director": "Direttore Generale",
"error-occurred": "",
"faq": "",
"error-occurred": null,
"faq": null,
"germany": "Germania",
"imprint": "Impressum",
"made": "Con &#10084; fatto",
"register": "numero di registro",
"responsible": "Responsabile ai sensi del § 55 Abs. 2 RStV (Germania)",
"taxident": "Numero di identificazione dell'imposta sul valore aggiunto ai sensi del § 27 a Legge sull'imposta sul valore aggiunto (Germania)",
"termsAndConditions": "",
"thanks": "",
"termsAndConditions": null,
"thanks": null,
"tribunal": "registro tribunale"
},
"store": {
"posts": {
"orderBy": {
"newest": {
"label": ""
"label": null
},
"oldest": {
"label": ""
"label": null
}
}
}
@ -700,7 +651,7 @@
},
"agree": "Sono d'accordo!",
"code-of-conduct": {
"description": "Il nostro codice di condotta funge da manuale per l'aspetto personale e l'interazione reciproca. Chiunque sia attivo come utente nella rete di Human Connection, scrive articoli, commenti o contatta altri utenti, anche al di fuori della rete, riconosce queste regole di condotta come vincolanti. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct </a>",
"description": "Il nostro codice di condotta funge da manuale per l'aspetto personale e l'interazione reciproca. Chiunque sia attivo come utente nella rete di {APPLICATION_NAME}, scrive articoli, commenti o contatta altri utenti, anche al di fuori della rete, riconosce queste regole di condotta come vincolanti. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct </a>",
"title": "Codice di condotta"
},
"errors-and-feedback": {
@ -724,7 +675,7 @@
"description": "Le seguenti condizioni d'uso costituiscono la base per l'utilizzo della nostra rete. Quando ti registri, devi accettarli e ti informeremo in seguito di eventuali modifiche che potrebbero aver luogo. La rete di connessione umana è gestita in Germania ed è quindi soggetta alla legge tedesca. Il foro competente è Kirchheim / Teck. Per i dettagli, consulta la nostra impronta: <a href=\"https://human-connection.org/imprint\" target=\"_blank\" > https://human-connection.org/imprint </a>",
"title": "Termini di servizio"
},
"termsAndConditionsConfirmed": "Ho letto e confermato i <a href=\"/terms-and-conditions\" target=\"_blank\"> Termini e condizioni </a> .",
"termsAndConditionsConfirmed": "Ho letto e confermato i Termini e condizioni.",
"termsAndConditionsNewConfirm": "Ho letto e accetto le nuove condizioni generali di contratto.",
"termsAndConditionsNewConfirmText": "Si prega di leggere le nuove condizioni d'uso ora!",
"use-and-license": {
@ -734,7 +685,7 @@
},
"user": {
"avatar": {
"submitted": ""
"submitted": null
}
}
}

View File

@ -84,12 +84,11 @@
"following": "Volgt"
},
"login": {
"copy": "Als u al een mini-aansluiting account heeft, log dan hier in.",
"email": "Uw E-mail",
"hello": "Hallo",
"login": "Inloggen",
"logout": "Uitloggen",
"moreInfo": "Wat is Human Connection?",
"moreInfo": "Wat is {APPLICATION_NAME}?",
"password": "Uw Wachtwoord"
},
"post": {

View File

@ -169,15 +169,13 @@
"title": "Twoja bańka filtrująca"
},
"login": {
"copy": "Jeśli masz już konto Human Connection, zaloguj się tutaj.",
"email": "Twój adres e-mail",
"forgotPassword": "Zapomniałeś hasła?",
"hello": "Cześć",
"login": "Logowanie",
"logout": "Wyloguj się",
"moreInfo": "Co to jest Human Connection?",
"moreInfo": "Co to jest {APPLICATION_NAME}?",
"moreInfoHint": "idź po więcej szczegółów",
"moreInfoURL": "https://human-connection.org/en/",
"password": "Twoje hasło"
},
"moderation": {

View File

@ -102,14 +102,14 @@
},
"get-help": "Se você for vítima ou testemunhar um comportamento inaceitável, ou tiver qualquer outra preocupação, por favor notifique um organizador da comunidade o mais rápido possível e inclua o link ou mencione o conteúdo correspondente:",
"preamble": {
"description": "A Human Connection é uma rede de conhecimento e ação social sem fins lucrativos da próxima geração. Feito por pessoas - para pessoas. Open Source, justo e transparente. Para uma mudança local e global positiva em todas as áreas da vida. Redesenhamos completamente a troca pública de conhecimentos, idéias e projetos. As funções da Human Connection reúnem as pessoas - offline e online - para que possamos fazer do mundo um lugar melhor.",
"description": "A {APPLICATION_NAME} é uma rede de conhecimento e ação social sem fins lucrativos da próxima geração. Feito por pessoas - para pessoas. Open Source, justo e transparente. Para uma mudança local e global positiva em todas as áreas da vida. Redesenhamos completamente a troca pública de conhecimentos, idéias e projetos. As funções da Human Connection reúnem as pessoas - offline e online - para que possamos fazer do mundo um lugar melhor.",
"title": "Introdução"
},
"purpose": {
"description": "Com este código de conduta, regulamentamos os princípios essenciais para o comportamento em nossa rede social. A Carta dos Direitos Humanos das Nações Unidas é a nossa orientação e forma o coração da nossa compreensão dos valores. O código de conduta serve como princípios orientadores para a nossa aparência pessoal e interação uns com os outros. Qualquer pessoa ativa como usuário da Human Connection Network, que escreve artigos, comentários ou se conecta com outros usuários, incluindo aqueles fora da rede, reconhece estas regras de conduta como obrigatórias.",
"description": "Com este código de conduta, regulamentamos os princípios essenciais para o comportamento em nossa rede social. A Carta dos Direitos Humanos das Nações Unidas é a nossa orientação e forma o coração da nossa compreensão dos valores. O código de conduta serve como princípios orientadores para a nossa aparência pessoal e interação uns com os outros. Qualquer pessoa ativa como usuário da {APPLICATION_NAME} Network, que escreve artigos, comentários ou se conecta com outros usuários, incluindo aqueles fora da rede, reconhece estas regras de conduta como obrigatórias.",
"title": "Propósito"
},
"subheader": "para a rede social da Human Connection gGmbH",
"subheader": "para a rede social da {ORGANIZATION_NAME}",
"unacceptable-behaviour": {
"description": "Os seguintes comportamentos são inaceitáveis dentro da nossa comunidade:",
"list": {
@ -197,7 +197,7 @@
},
"signup": {
"form": {
"data-privacy": "Eu li e entendi o <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"><ds-text bold color=\"primary\" >Política de Privacidade</ds-text></a> ",
"data-privacy": "Eu li e entendi o Política de Privacidade.",
"description": "Para começar, digite seu endereço de e-mail:",
"errors": {
"email-exists": "Já existe uma conta de usuário com este endereço de e-mail!",
@ -207,9 +207,9 @@
"minimum-age": "Tenho 18 anos ou mais.",
"submit": "Criar uma conta",
"success": "Um e-mail com um link para completar o seu registo foi enviado para <b>{email}</b>",
"terms-and-condition": "Eu concordo com os <a href=\"/terms-and-conditions\"><ds-text bold color=\"primary\" > Termos e condições</ds-text></a>."
"terms-and-condition": "Eu concordo com os Termos e condições."
},
"title": "Junte-se à Human Connection!",
"title": "Junte-se à {APPLICATION_NAME}!",
"unavailable": "Infelizmente, o registo público para usuário não está disponível neste servidor."
}
}
@ -337,16 +337,14 @@
"no-results": "Nenhuma contribuição encontrada."
},
"login": {
"copy": "Se você já tem uma conta no Human Connection, entre aqui.",
"email": "Seu email",
"failure": "Endereço de e-mail ou senha incorretos.",
"forgotPassword": "Esqueceu a sua senha?",
"hello": "Olá",
"login": "Entrar",
"logout": "Sair",
"moreInfo": "O que é a Human Connection?",
"moreInfo": "O que é a {APPLICATION_NAME}?",
"moreInfoHint": "para a página de apresentação",
"moreInfoURL": "https://human-connection.org/en/",
"no-account": "Ainda não tem uma conta?",
"password": "Sua senha",
"register": "Cadastrar-se",
@ -355,7 +353,7 @@
"maintenance": {
"explanation": "No momento estamos em manutenção, por favor tente novamente mais tarde.",
"questions": "Qualquer dúvida, envie um e-mail para",
"title": "Human Connection está em manutenção"
"title": "{APPLICATION_NAME} está em manutenção"
},
"moderation": {
"name": "Moderação",
@ -424,7 +422,7 @@
"invites": {
"description": "Digite o endereço de e-mail para o convite.",
"emailPlaceholder": "E-mail para convidar",
"title": "Convidar alguém para Human Connection!"
"title": "Convidar alguém para {APPLICATION_NAME}!"
},
"memberSince": "Membro desde",
"name": "Meu perfil",
@ -682,43 +680,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/events/\" target=\"_blank\" > https://human-connection.org/events/ </a>",
"title": "Além disso, realizamos regularmente eventos onde você também pode compartilhar suas impressões e fazer perguntas. Você pode encontrar uma visão geral atual aqui:"
},
"agree": "Eu concordo!",
"code-of-conduct": {
"description": "Nosso código de conduta serve como um manual de aparência pessoal e interação entre si. Quem quer que seja ativo como utilizador na rede Human Connection, escreva artigos, comentários ou faça contato com outros utilizadores, mesmo fora da rede, reconhece estas regras de conduta como sendo vinculativas. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct</a>",
"title": "Código de Conduta"
},
"errors-and-feedback": {
"description": "Fazemos todos os esforços para manter a nossa rede e dados seguros e disponíveis. Cada nova versão do software passa por testes automatizados e manuais. No entanto, podem ocorrer erros imprevistos. Portanto, somos gratos por quaisquer erros reportados. Você é bem-vindo para relatar quaisquer erros que você descobrir enviando um e-mail para o Suporte em support@human-connection.org.",
"title": "Erros e Feedback"
},
"help-and-questions": {
"description": "Para ajuda e perguntas, nós compilamos uma coleção abrangente de perguntas e respostas frequentes (FAQ) para você. Você pode encontrá-las aqui: <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" > https://support.human-connection.org/kb/ </a>",
"title": "Ajuda e Perguntas"
},
"moderation": {
"description": "Até que nossas possibilidades financeiras nos permitam implementar o sistema de moderação comunitária, moderamos com um sistema simplificado e com pessoal próprio ou possivelmente voluntário. Nós treinamos esses moderadores e por isso só eles tomam as decisões apropriadas. Estes moderadores realizam o seu trabalho de forma anônima. Você pode denunciar mensagens, comentários e usuários para nós (por exemplo, se eles fornecem informações em seu perfil ou têm imagens que violam estes Termos de Uso). Se você relatar algo para nós, você precisa dar uma razão e pode dar uma breve explicação. Em seguida, analisaremos o que você denunciou e o sancionaremos, se necessário, por exemplo, bloqueando contribuições, comentários ou usuários. Infelizmente, você e a pessoa em questão não receberão qualquer feedback da nossa parte neste momento, mas isto está na fase de planeamento. Independentemente disso, reservamo-nos o direito de impor sanções em princípio por razões que podem ou não estar listadas no nosso Código de Conduta ou nestes termos de serviço.",
"title": "Moderação"
},
"newTermsAndConditions": "Novos Termos e Condições",
"privacy-statement": {
"description": "Nossa rede é uma rede social de conhecimento e ação. Portanto, é particularmente importante para nós que o máximo de conteúdo possível seja acessível ao público. No decurso do desenvolvimento da nossa rede, haverá cada vez mais a possibilidade de decidir sobre a visibilidade dos dados pessoais. Iremos informá-lo sobre estas novas funcionalidades. Caso contrário, você deve sempre pensar sobre quais dados pessoais você divulga sobre si mesmo (ou outros). Isto aplica-se em particular ao conteúdo das mensagens e comentários, uma vez que estes têm um carácter largamente público. Mais tarde, haverá possibilidades de limitar a visibilidade do seu perfil. Parte dos termos de serviço é a nossa declaração de privacidade, que o informa sobre as operações individuais de processamento de dados na nossa rede: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\"> https://human-connection.org/datenschutz/#netzwerk</a> bzw. <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz/</a> Nossa declaração de privacidade é adaptada à situação legal e às características de nossa rede e é sempre válida na versão mais atual.",
"title": "Política de Privacidade"
},
"terms-of-service": {
"description": "As seguintes condições de utilização constituem a base para a utilização da nossa rede. Ao registar-se, deve aceitar os termos de utilização e informaremos mais tarde sobre quaisquer alterações que possam ocorrer. A Human Connection Network é operada na Alemanha e, portanto, está sujeita à lei alemã. O local de jurisdição é Kirchheim / Teck. Para mais detalhes, veja a nossa impressão: <a href=\"https://human-connection.org/imprint\" target=\"_blank\" >https://human-connection.org/imprint</a> ",
"title": "Termos do Serviço"
},
"termsAndConditionsConfirmed": "Eu li e confirmei os <a href=\"/terms-and-conditions\" target=\"_blank\">Terms and Conditions</a>.",
"termsAndConditionsConfirmed": "Eu li e confirmei os Terms and Conditions.",
"termsAndConditionsNewConfirm": "Eu li e concordo com os novos termos de condições.",
"termsAndConditionsNewConfirmText": "Por favor, leia os novos termos de uso agora!",
"use-and-license": {
"description": "Se qualquer conteúdo que você publicar para nós for protegido por direitos de propriedade intelectual, você nos concede uma licença não exclusiva, transferível, sublicenciável e mundial para usar tal conteúdo para postar em nossa rede. Esta licença expira quando você exclui seu conteúdo ou toda a sua conta. Lembre-se de que outros podem compartilhar seu conteúdo e nós não podemos excluí-lo.",
"title": "Uso e Licença"
}
"termsAndConditionsNewConfirmText": "Por favor, leia os novos termos de uso agora!"
},
"user": {
"avatar": {

View File

@ -76,54 +76,7 @@
}
},
"code-of-conduct": {
"consequences": {
"description": "Если участник сообщества проявляет неприемлемое поведение, ответственные операторы, модераторы и администраторы сети могут принять соответствующие меры, включая, но не ограничиваясь:",
"list": {
"0": "Просьба о немедленном прекращении неприемлемого поведения",
"1": "Блокирование или удаление комментариев",
"2": "Временное исключение из соответствующего поста или другого контента",
"3": "Блокирование или удаление контента",
"4": "Временный запрет на добавление контента",
"5": "Временное исключение из сети",
"6": "Окончательное исключение из сети",
"7": "Передача сведений о нарушениях немецкого законодательства."
},
"title": "Последствия неприемлемого поведения"
},
"expected-behaviour": {
"description": "Мы ожидаем и требуем от всех членов сообщества предерживаться следующих правил поведения:",
"list": {
"0": "Будьте внимательны и уважительны к тому, что пишете и делаете.",
"1": "Пытайтесь сотрудничать, прежде чем возникнет конфликт.",
"2": "Воздерживайтесь от поведения и высказываний, унижающих достоинство, дискриминационного или преследующего характера.",
"3": "Будьте внимательны к своему окружению и другим участникам. Информируйте лидеров сообщества об опасных ситуациях, когда кто-либо попал в беду или нарушает настоящий Кодекс поведения, даже если они кажутся незначительными."
},
"title": "Ожидаемое поведение"
},
"get-help": "Если вы стали жертвой или свидетелем неприемлемого поведения или у вас возникли какие-либо другие проблемы, пожалуйста, как можно скорее сообщите об этом организатору сообщества и укажите ссылку на соответствующий контент:",
"preamble": {
"description": "Human Connection - это некоммерческая социальная сеть знаний и действий следующего поколения. Создана людьми для людей. С открытым исходным кодом, справедливая и прозрачная. Для позитивных локальных и глобальных изменений во всех сферах жизни. Мы полностью перестраиваем публичный обмен знаниями, идеями и проектами. Функции Human Connection объединяют людей офлайн и онлайн так что мы можем сделать мир лучше.",
"title": "Преамбула"
},
"purpose": {
"description": "С помощью этих правил поведения мы регулируем основные принципы поведения в нашей социальной сети. При этом Устав ООН по правам человека является нашей ориентацией и лежит в основе нашего понимания ценностей. Правила поведения служат руководящими принципами для личного выступления и общения друг с другом. Любой, кто является активным пользователем в сети Human Connection, публикует сообщения, комментирует или контактирует с другими пользователями, в том числе за пределами сети, признает эти правила поведения обязательными.",
"title": "Цель"
},
"subheader": "социальной сети \"Human Connection gGmbH\"",
"unacceptable-behaviour": {
"description": "В нашем сообществе неприемлемо следующее поведение:",
"list": {
"0": "Дискриминационные посты, комментарии, высказывания или оскорбления, в частности, касающиеся пола, сексуальной ориентации, расы, религии, политической или мировоззренческой ориентации, или инвалидности.",
"1": "Публикация или ссылка на явно порнографические материалы.",
"2": "Прославление или умаление жестоких, или бесчеловечных актов насилия.",
"3": "Публикация персональных данных других лиц без их согласия или угрозы (\"Доксинг\").",
"4": "Преднамеренное запугивание или преследование.",
"5": "Рекламировать продукты и услуги с коммерческим намерением.",
"6": "Преступное поведение или нарушение немецкого права.",
"7": "Одобрение или поощрение недопустимого поведения."
},
"title": "Недопустимое поведение"
}
"subheader": "социальной сети {ORGANIZATION_NAME}"
},
"comment": {
"content": {
@ -197,7 +150,7 @@
},
"signup": {
"form": {
"data-privacy": "Я прочитал и понял <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\"><ds-text bold color=\"primary\" >Заявление о конфиденциальности</ds-text></a>",
"data-privacy": "Я прочитал и понял Заявление о конфиденциальности",
"description": "Для начала работы введите свой адрес электронной почты:",
"errors": {
"email-exists": "Уже есть учетная запись пользователя с этим адресом электронной почты!",
@ -209,9 +162,9 @@
"no-political": "Я не от имени какой-либо партии или политической организации в сети.",
"submit": "Создать учетную запись",
"success": "Письмо со ссылкой для завершения регистрации было отправлено на <b> {email} </b>",
"terms-and-condition": "Принимаю <a href=\"/terms-and-conditions\"><ds-text bold color=\"primary\" >Условия и положения</ds-text></a>."
"terms-and-condition": "Принимаю Условия и положения."
},
"title": "Присоединяйся к Human Connection!",
"title": "Присоединяйся к {APPLICATION_NAME}!",
"unavailable": "К сожалению, публичная регистрация пользователей на этом сервере сейчас недоступна."
}
}
@ -250,7 +203,6 @@
"filterALL": "Просмотреть все посты",
"filterFollow": "Показать сообщения пользователей, на которых я подписан",
"inappropriatePicture": "Эта картинка может быть неуместным для некоторых людей.",
"inappropriatePictureText": "Когда моя картинка должна быть размыта",
"languageSelectLabel": "Язык",
"languageSelectText": "Выберите язык",
"newPost": "Создать пост",
@ -352,16 +304,14 @@
"no-results": "Посты не найдены."
},
"login": {
"copy": "Авторизуйтесь, если у вас уже есть учетная запись Human Connection.",
"email": "Электронная почта",
"failure": "Неверный адрес электронной почты или пароль.",
"forgotPassword": "Забыли пароль?",
"hello": "Здравствуйте",
"login": "Вход",
"logout": "Выйти",
"moreInfo": "Что такое Human Connection?",
"moreInfo": "Что такое {APPLICATION_NAME}?",
"moreInfoHint": "на страницу проекта",
"moreInfoURL": "https://human-connection.org/en/",
"no-account": "У вас нет аккаунта?",
"password": "Пароль",
"register": "Зарегистрируйтесь",
@ -370,7 +320,7 @@
"maintenance": {
"explanation": "В данный момент мы проводим плановое техническое обслуживание, пожалуйста, повторите попытку позже.",
"questions": "Любые вопросы или сообщения о проблемах отправляйте на электронную почту",
"title": "Human Connection на техническом обслуживании"
"title": "{APPLICATION_NAME} на техническом обслуживании"
},
"moderation": {
"name": "Модерация",
@ -497,7 +447,7 @@
"invites": {
"description": "Введите адрес электронной почты для приглашения.",
"emailPlaceholder": "Электронная почта для приглашения",
"title": "Пригласите кого-нибудь в Human Connection!"
"title": "Пригласите кого-нибудь в {APPLICATION_NAME}!"
},
"memberSince": "Участник с",
"name": "Мой профиль",
@ -779,47 +729,11 @@
}
},
"termsAndConditions": {
"addition": {
"description": "<a href=\"https://human-connection.org/events/\" target=\"_blank\" > https://human-connection.org/events/ </a>",
"title": "Кроме того, мы регулярно проводим мероприятия, где вы также можете\\nподелиться своими впечатлениями и задать вопросы. Информацию о текущих событиях можно найти здесь:"
},
"agree": "Я согласен(на)!",
"code-of-conduct": {
"description": "Наш кодекс поведения служит руководством для личного поведения и взаимодействия друг с другом. Каждый пользователь социальной сети Human Connection, который пишет статьи, комментирует или вступает в контакт с другими пользователями, даже за пределами сети, признает эти правила поведения обязательными. <a href=\"https://alpha.human-connection.org/code-of-conduct\" target=\"_blank\"> https://alpha.human-connection.org/code-of-conduct</a>",
"title": "Кодекс поведения"
},
"errors-and-feedback": {
"description": "Мы прилагаем все усилия для обеспечения безопасности и доступности нашей сети и данных. Каждый новый выпуск программного обеспечения проходит как автоматическое, так и ручное тестирование. Однако могут возникнуть непредвиденные ошибки. Поэтому мы благодарны за любые обнаруженные ошибки. Вы можете сообщить о любых обнаруженных ошибках, отправив электронное письмо в службу поддержки по адресу support@human-connection.org",
"title": "Ошибки и обратная связь"
},
"help-and-questions": {
"description": "Для справки и вопросов мы собрали для вас исчерпывающую подборку часто задаваемых вопросов и ответов (FAQ). Вы можете найти их здесь: <a href=\"https://support.human-connection.org/kb/\" target=\"_blank\" > https://support.human-connection.org/kb/ </a>",
"title": "Помощь и вопросы"
},
"moderation": {
"description": "Пока наши финансовые возможности не позволяют нам реализовать полноценную систему модерации, поэтому мы осуществляем упрощенную модерацию собственными силами и с помощью волонтёров. Мы специально обучаем этих модераторов, поэтому только они принимают соответствующие решения. Модераторы действуют анонимно. Вы можете сообщать нам о постах, комментариях и пользователях (например, если они предоставляют информацию в своем профиле или имеют изображения, которые нарушают настоящие Условия использования). При обращении вы можете указать причину и дать краткое пояснение. Мы рассмотрим обращение и применим санкции в случае необходимости, например, путем блокировки постов, комментариев или пользователей. К сожалению, в настоящее время ни вы ни пострадавший пользователь не получите от нас обратной связи, но мы планируем ряд улучшений в этом направлении. Несмотря на это, мы оставляем за собой право на применение санкций по причинам, которые не могут быть или ещё не указаны в нашем Кодексе поведения или настоящих Условиях использования.",
"title": "Модерация"
},
"newTermsAndConditions": "Новые условия и положения",
"no-commercial-use": {
"description": "Использование Human Connection сети не допускается в коммерческих целях. Это включает, но не ограничивается рекламой продуктов с коммерческими целями, размещением партнерских ссылок, прямым привлечением пожертвований или предоставлением финансовой поддержки для целей, которые не признаются благотворительными для целей налогообложения.",
"title": "Нет коммерческого использования"
},
"privacy-statement": {
"description": "Наша сеть — это социальная сеть знаний и действий. Поэтому для нас особенно важно, чтобы как можно больше контента было общедоступным. В процессе развития нашей сети будет добавлено больше возможностей для управления видимостью личных данных. Об этих новых функциях мы сообщим дополнительно. В противном случае вы должны думать о том, какие личные данные вы раскрываете о себе (или других). Это особенно актуально для содержания постов и комментариев, поскольку они имеют в основном общедоступный характер. Позже появятся возможности ограничения видимости вашего профиля. Часть условий использования — это наша политика конфиденциальности, которая информирует вас об обработке персональных данных в нашей сети: <a href=\"https://human-connection.org/datenschutz/#netzwerk\" target=\"_blank\">https://human-connection.org/datenschutz/#netzwerk</a> или <a href=\"https://human-connection.org/datenschutz/\" target=\"_blank\">https://human-connection.org/datenschutz</a>. Наше заявление о конфиденциальности корректируется в соответствии с законодательством и характеристиками нашей сети и является действительной в настоящей версии.",
"title": "Заявление о конфиденциальности"
},
"terms-of-service": {
"description": "Следующие условия использования являются основой для использования нашей сети. При регистрации вы должны принять их, а мы при необходимости сообщим вам об изменениях. Сеть Human Connection работает в Германии и поэтому регулируется немецким законодательством. Место юрисдикции - Kirchheim / Teck. Подробности в выходных данных: <a href=\"https://human-connection.org/en/imprint\" target=\"_blank\" >https://human-connection.org/en/imprint</a>.",
"title": "Условия обслуживания"
},
"termsAndConditionsConfirmed": "Я прочитал(а) и подтверждаю <a href=\"/terms-and-conditions\" target=\"_blank\">Условия и положения</a>.",
"termsAndConditionsConfirmed": "Я прочитал(а) и подтверждаю Условия и положения.",
"termsAndConditionsNewConfirm": "Я прочитал(а) и согласен(на) с новыми условиями.",
"termsAndConditionsNewConfirmText": "Пожалуйста, ознакомьтесь с новыми условиями использования!",
"use-and-license": {
"description": "Если размещаемый в сети контент защищен правами на интеллектуальную собственность, вы предоставляете нам неисключительную, передаваемую, сублицензируемую и всемирную лицензию на использование этого контента для публикации в нашей сети. Эта лицензия заканчивается, как только вы удаляете свой контент или учетную запись. Помните, что другие пользователи могут продолжать делиться вашим контентом, и мы не можем его удалить.",
"title": "Использование и лицензия"
}
"termsAndConditionsNewConfirmText": "Пожалуйста, ознакомьтесь с новыми условиями использования!"
},
"user": {
"avatar": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -8,7 +8,7 @@ export default {
manifest,
head: {
title: 'Human Connection',
title: manifest.name,
meta: [
{
charset: 'utf-8',
@ -20,7 +20,7 @@ export default {
{
hid: 'description',
name: 'description',
content: 'Maintenance page for Human Connection',
content: `Maintenance page for ${manifest.name}`,
},
],
link: [
@ -49,4 +49,14 @@ export default {
})
},
},
build: {
extend(config, ctx) {
config.module.rules.push({
enforce: 'pre',
test: /\.html$/,
loader: 'raw-loader',
exclude: /(node_modules)/,
})
}
}
}

View File

@ -8,22 +8,19 @@
<ds-flex>
<ds-flex-item :width="{ base: '100%', sm: 1, md: 1 }">
<ds-space>
<img class="login-image" alt="Human Connection" src="/img/sign-up/onourjourney.svg" />
<img alt="Under maintenance" src="/img/custom/under-maintenance.svg" />
</ds-space>
</ds-flex-item>
<ds-flex-item :width="{ base: '100%', sm: 1, md: 1 }">
<ds-flex-item>
<ds-heading tag="h3">{{ $t('maintenance.title') }}</ds-heading>
<ds-heading tag="h3">{{ $t('maintenance.title', metadata) }}</ds-heading>
</ds-flex-item>
<ds-flex-item>
<ds-space margin="small">
<ds-text>{{ $t('maintenance.explanation') }}</ds-text>
<ds-text>
{{ $t('maintenance.questions') }}
<a href="mailto:support@human-connection.org" class="email-link">
support@human-connection.org
</a>
.
<a :href="'mailto:' + supportEmail">{{ supportEmail }}</a>
</ds-text>
</ds-space>
</ds-flex-item>
@ -35,6 +32,8 @@
</template>
<script>
import emails from '~/constants/emails.js'
import metadata from '~/constants/metadata.js'
import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch'
export default {
@ -42,5 +41,8 @@ export default {
components: {
LocaleSwitch,
},
data() {
return { metadata, supportEmail: emails.SUPPORT }
},
}
</script>

View File

@ -1,5 +1,6 @@
import path from 'path'
import dotenv from 'dotenv'
import manifest from './constants/manifest.js'
dotenv.config() // we want to synchronize @nuxt-dotenv and nuxt-env
@ -56,6 +57,8 @@ export default {
'terms-and-conditions',
'code-of-conduct',
'changelog',
'imprint',
'data-privacy',
],
// pages to keep alive
keepAlivePages: ['index'],
@ -64,8 +67,8 @@ export default {
** Headers of the page
*/
head: {
title: 'Human Connection',
titleTemplate: '%s - Human Connection',
title: manifest.name,
titleTemplate: `%s - ${manifest.name}`,
meta: [
{
charset: 'utf-8',
@ -236,14 +239,7 @@ export default {
config: additionalSentryConfig,
},
manifest: {
name: 'Human Connection',
short_name: 'HC',
homepage_url: 'https://human-connection.org/',
description: 'The free and open source social network for active citizenship',
theme_color: '#17b53f',
lang: 'en',
},
manifest,
/*
** Build configuration
@ -284,6 +280,13 @@ export default {
},
],
})
config.module.rules.push({
enforce: 'pre',
test: /\.html$/,
loader: 'raw-loader',
exclude: /(node_modules)/,
})
const tagAttributesForTesting = ['data-test', ':data-test', 'v-bind:data-test']
ctx.loaders.vue.compilerOptions = {
modules: [

View File

@ -135,6 +135,7 @@
"mutation-observer": "^1.0.3",
"node-sass": "~4.13.1",
"prettier": "~2.0.4",
"raw-loader": "^4.0.1",
"sass-loader": "~8.0.2",
"storybook-design-token": "^0.7.2",
"storybook-vue-router": "^1.0.7",

View File

@ -2,7 +2,7 @@
<div>
<ds-space>
<ds-heading tag="h2">{{ $t('site.code-of-conduct') }}</ds-heading>
<p>{{ $t('code-of-conduct.subheader') }}</p>
<p>{{ $t('code-of-conduct.subheader', metadata) }}</p>
</ds-space>
<ds-container>
@ -39,6 +39,8 @@
</template>
<script>
import metadata from '~/constants/metadata.js'
export default {
layout: 'basic',
head() {
@ -48,21 +50,7 @@ export default {
},
data() {
return {
sections: ['preamble', 'purpose'],
listSections: [
{
key: 'expected-behaviour',
items: [...Array(4).keys()],
},
{
key: 'unacceptable-behaviour',
items: [...Array(8).keys()],
},
{
key: 'consequences',
items: [...Array(8).keys()],
},
],
metadata,
}
},
}

View File

@ -0,0 +1,22 @@
<template>
<div>
<ds-space>
<ds-heading tag="h2">{{ $t('site.data-privacy') }}</ds-heading>
</ds-space>
<ds-container>
<div v-html="$t('html.dataPrivacy')" />
</ds-container>
</div>
</template>
<script>
export default {
layout: 'basic',
head() {
return {
title: this.$t('site.data-privacy'),
}
},
}
</script>

22
webapp/pages/imprint.vue Normal file
View File

@ -0,0 +1,22 @@
<template>
<div>
<ds-space>
<ds-heading tag="h2">{{ $t('site.imprint') }}</ds-heading>
</ds-space>
<ds-container>
<div v-html="$t('html.imprint')" />
</ds-container>
</div>
</template>
<script>
export default {
layout: 'basic',
head() {
return {
title: this.$t('site.imprint'),
}
},
}
</script>

View File

@ -7,7 +7,7 @@
<ds-grid-item :row-span="2" column-span="fullWidth" class="top-info-bar">
<!--<donation-info /> -->
<div>
<a target="_blank" href="https://human-connection.org/spenden/">
<a target="_blank" :href="links.DONATE">
<base-button filled>{{ $t('donations.donate-now') }}</base-button>
</a>
</div>
@ -74,6 +74,7 @@ import { mapGetters, mapMutations } from 'vuex'
import { filterPosts } from '~/graphql/PostQuery.js'
import PostMutations from '~/graphql/PostMutations'
import UpdateQuery from '~/components/utils/UpdateQuery'
import links from '~/constants/links.js'
export default {
components: {
@ -87,6 +88,7 @@ export default {
data() {
const { hashtag = null } = this.$route.query
return {
links,
posts: [],
hasMore: true,
// Initialize your apollo data

View File

@ -3,7 +3,7 @@
<ds-flex>
<ds-flex-item :width="{ base: '100%' }" centered>
<ds-space style="text-align: center;" margin-top="large" margin-bottom="xxx-small" centered>
<img style="width: 200px;" src="/img/sign-up/onourjourney.png" alt="Human Connection" />
<img style="width: 200px;" alt="Logging out" src="/img/custom/logout.svg" />
</ds-space>
<ds-space style="text-align: center;" margin-top="small" margin-bottom="xxx-small" centered>
<ds-heading tag="h3" soft>Logging out...</ds-heading>

View File

@ -2,7 +2,7 @@
<ds-container width="small" class="password-reset">
<base-card>
<template #imageColumn>
<img alt="Human Connection" src="/icon.png" class="image" />
<img alt="Reset your password" src="/img/custom/password-reset.svg" class="image" />
</template>
<nuxt-child />
<template #topMenu>

View File

@ -101,7 +101,7 @@
{{ $t('settings.blocked-users.explanation.commenting-disabled') }}
<br />
{{ $t('settings.blocked-users.explanation.commenting-explanation') }}
<a href="https://support.human-connection.org/kb/" target="_blank">FAQ</a>
<a :href="links.FAQ" target="_blank">FAQ</a>
</ds-placeholder>
</ds-section>
</base-card>
@ -125,6 +125,7 @@ import {
import PostQuery from '~/graphql/PostQuery'
import HcEmotions from '~/components/Emotions/Emotions'
import PostMutations from '~/graphql/PostMutations'
import links from '~/constants/links.js'
export default {
name: 'PostSlug',
@ -150,6 +151,7 @@ export default {
},
data() {
return {
links,
post: null,
ready: false,
title: 'loading',

View File

@ -2,7 +2,7 @@
<ds-container width="medium">
<base-card>
<template #imageColumn>
<img alt="Human Connection" src="/img/sign-up/nicetomeetyou.svg" />
<img alt="Sign up" src="/img/custom/sign-up.svg" />
</template>
<nuxt-child />
<template #topMenu>

View File

@ -29,7 +29,7 @@
</ds-list-item>
</ds-list>
{{ $t('settings.email.verification-error.support') }}
<a href="mailto:support@human-connection.org">support@human-connection.org</a>
<a :href="'mailto:' + supportEmail">{{ supportEmail }}</a>
</ds-text>
</client-only>
</ds-space>
@ -38,6 +38,7 @@
</template>
<script>
import emails from '~/constants/emails.js'
import { VerifyEmailAddressMutation } from '~/graphql/EmailAddress.js'
import { SweetalertIcon } from 'vue-sweetalert-icons'
@ -57,6 +58,11 @@ export default {
}, 3000)
}
},
data() {
return {
supportEmail: emails.SUPPORT,
}
},
async asyncData(context) {
const {
store,

View File

@ -39,16 +39,6 @@ export default {
data() {
return {
checked: false,
sections: [
'risk',
'data-privacy',
'work-in-progress',
'code-of-conduct',
'moderation',
'fairness',
'questions',
'human-connection',
],
}
},
asyncData({ store, redirect }) {

View File

@ -4,14 +4,7 @@
<ds-heading tag="h2">{{ $t('site.termsAndConditions') }}</ds-heading>
</ds-space>
<ds-container>
<div>
<ol>
<li v-for="section in sections" :key="section">
<strong>{{ $t(`termsAndConditions.${section}.title`) }}:</strong>
<p v-html="$t(`termsAndConditions.${section}.description`)" />
</li>
</ol>
</div>
<div v-html="$t('html.termsAndConditions')" />
</ds-container>
</div>
</template>
@ -24,22 +17,5 @@ export default {
title: this.$t('site.termsAndConditions'),
}
},
data() {
return {
// if you change terms and conditions please change also version in file "webapp/constants/terms-and-conditions-version.js"
sections: [
'terms-of-service',
'use-and-license',
'privacy-statement',
'code-of-conduct',
'moderation',
'errors-and-feedback',
'no-commercial-use',
'no-parties',
'help-and-questions',
'addition',
],
}
},
}
</script>

View File

@ -2,6 +2,13 @@ import Vue from 'vue'
import vuexI18n from 'vuex-i18n/dist/vuex-i18n.umd.js'
import { isEmpty, find } from 'lodash'
import locales from '~/locales'
import htmlTranslations from '~/locales/html/'
const registerTranslation = ({ Vue, locale }) => {
const translation = require(`~/locales/${locale}.json`)
translation.html = htmlTranslations[locale]
Vue.i18n.add(locale, translation)
}
/**
* TODO: Refactor and simplify browser detection
@ -53,9 +60,6 @@ export default ({ app, req, cookie, store }) => {
},
})
// register the fallback locales
Vue.i18n.add('en', require('~/locales/en.json'))
let userLocale = 'en'
const localeCookie = app.$cookies.get(key)
/* const userSettings = store.getters['auth/userSettings']
@ -80,8 +84,10 @@ export default ({ app, req, cookie, store }) => {
const availableLocales = locales.filter((lang) => !!lang.enabled)
const locale = find(availableLocales, ['code', userLocale]) ? userLocale : 'en'
// register the fallback locales
registerTranslation({ Vue, locale: 'en' })
if (locale !== 'en') {
Vue.i18n.add(locale, require(`~/locales/${locale}.json`))
registerTranslation({ Vue, locale })
}
// Set the start locale to use

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,360 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Back" viewBox="0 0 600 570">
<defs>
<style>
.cls-1,.cls-12{fill:#fff;}.cls-2,.cls-4{fill:#dfeff4;}.cls-3{fill:#fddb00;}.cls-12,.cls-13,.cls-14,.cls-15,.cls-16,.cls-18,.cls-19,.cls-20,.cls-21,.cls-23,.cls-24,.cls-26,.cls-27,.cls-28,.cls-29,.cls-30,.cls-32,.cls-34,.cls-35,.cls-36,.cls-37,.cls-38,.cls-39,.cls-4,.cls-40,.cls-41,.cls-42,.cls-44,.cls-45,.cls-46,.cls-47,.cls-48,.cls-50,.cls-51,.cls-52,.cls-53,.cls-55,.cls-56,.cls-57,.cls-58,.cls-59,.cls-64,.cls-67,.cls-68,.cls-9,.cls-96,.cls-97{fill-rule:evenodd;}.cls-5{mask:url(#mask);}.cls-6,.cls-7{fill:#9dca00;}.cls-6{opacity:0.5;}.cls-14,.cls-8{fill:#471e04;}.cls-9{fill:#70a30a;}.cls-10,.cls-16{fill:#f5b800;}.cls-11,.cls-21{fill:#ff9;}.cls-13{fill:#5b8408;}.cls-15{fill:#fc0;}.cls-17,.cls-48{fill:#f1502d;}.cls-18{fill:#f6aa32;}.cls-19{fill:#cc3;}.cls-20,.cls-63{fill:#f5e68a;}.cls-22,.cls-58{fill:#9cc;}.cls-23,.cls-62{fill:#a44624;}.cls-24,.cls-43{fill:#333;}.cls-25,.cls-45{fill:#d4a15e;}.cls-26{fill:#c4d621;}.cls-27{fill:#4e2111;}.cls-28{fill:#78331a;}.cls-30{fill:#058e7f;}.cls-31{fill:#fcda9a;}.cls-32{fill:#07b09d;}.cls-33,.cls-40{fill:#d63d3d;}.cls-34{fill:#3b696a;}.cls-35{fill:#a6d0d1;}.cls-36{fill:#d48439;}.cls-37{fill:#9e5a29;}.cls-38{fill:#e44b4b;}.cls-39{fill:#b0642e;}.cls-41{fill:#f66;}.cls-42,.cls-61{fill:#f2d291;}.cls-44{fill:#fcc;}.cls-46{fill:#edba68;}.cls-47{fill:#366;}.cls-49,.cls-50{fill:#1f0f05;}.cls-51{fill:#804921;}.cls-52,.cls-65{fill:#ff6;}.cls-53{fill:#f69883;}.cls-54,.cls-55{fill:#ff1f1f;}.cls-56{fill:#aac905;}.cls-57{fill:#f5e97d;}.cls-59,.cls-60{fill:#bf3611;}.cls-64{fill:#eccf7c;}.cls-66{fill:#ff441f;}.cls-67{fill:#88b02c;}.cls-68{fill:#500d00;}.cls-69{fill:#216194;}.cls-70{fill:#017f9f;}.cls-71{fill:#76b629;}.cls-72{fill:#a53589;}.cls-73{fill:#024f9d;}.cls-74{fill:#50568c;}.cls-75{fill:#c6d200;}.cls-76{fill:#0369b2;}.cls-77{fill:#007d75;}.cls-78{fill:#008d6d;}.cls-79{fill:#008051;}.cls-80{fill:#46942b;}.cls-81{fill:#d5146e;}.cls-82{fill:#15a338;}.cls-83{fill:#0080c7;}.cls-84{fill:#0089d0;}.cls-85{fill:#e9bb00;}.cls-86{fill:#007632;}.cls-87{fill:#c51553;}.cls-88{fill:#593872;}.cls-89{fill:#f19000;}.cls-90{fill:#f9b800;}.cls-91{fill:#e43311;}.cls-92{fill:#b7c200;}.cls-93{fill:#e64e10;}.cls-94{fill:#079de1;}.cls-95{fill:#93bf1f;}.cls-96{fill:#8fdbf3;}.cls-97{fill:#c20212;}.cls-98{fill:#152e56;}
</style>
<mask id="mask" width="1087.71" height="713.35" x="-161.4" y="91.4" maskUnits="userSpaceOnUse">
<circle cx="301.72" cy="330.39" r="238.99" class="cls-1"/>
</mask>
</defs>
<circle cx="300" cy="332.01" r="238.99" class="cls-2"/>
<circle cx="438.86" cy="295.31" r="80.84" class="cls-3"/>
<path d="M538.13 168.86a24.22 24.22 0 0 0-19.13 9.39 19.58 19.58 0 0 0-19 16.1 11.59 11.59 0 1 0-1.77 23c28.22 0 62.52-1.53 93.54-1.53a8.94 8.94 0 1 0-1.8-17.7 18.13 18.13 0 0 0-29.2-13.77 24.27 24.27 0 0 0-22.64-15.49zM82.63 147.25a30.27 30.27 0 0 1 24 11.73 24.46 24.46 0 0 1 23.7 20.12 14.48 14.48 0 1 1 2.21 28.79c-35.26 0-78.12-1.92-116.88-1.92a11.17 11.17 0 1 1 2.25-22.11 22.66 22.66 0 0 1 36.48-17.21 30.33 30.33 0 0 1 28.24-19.4zM89.91 50.71a10.35 10.35 0 0 0-8.19 4 8.36 8.36 0 0 0-8.1 6.88 5 5 0 0 0-.75-.06 5 5 0 1 0 0 9.9c12.06 0 26.71-.65 40-.65a3.82 3.82 0 1 0 0-7.64 3.87 3.87 0 0 0-.77.08 7.75 7.75 0 0 0-12.47-5.88 10.37 10.37 0 0 0-9.72-6.63z" class="cls-4"/>
<g class="cls-5">
<ellipse cx="189.6" cy="640.52" class="cls-6" rx="350.99" ry="164.22"/>
<ellipse cx="254.61" cy="625.53" class="cls-7" rx="349.38" ry="127.57"/>
<ellipse cx="575.32" cy="640.52" class="cls-6" rx="350.99" ry="164.22"/>
<ellipse cx="370.48" cy="648.66" class="cls-7" rx="272.66" ry="127.57"/>
</g>
<path d="M152.94 477.67h4.13v25.81h-4.13z" class="cls-8"/>
<path d="M135.69 472a5.9 5.9 0 0 1 .8-2.44 6.45 6.45 0 0 1-2.81-5.92 5.8 5.8 0 0 1 3-4.56 6.22 6.22 0 0 1-.37-2.81 5.81 5.81 0 0 1 5.14-5.24 6.2 6.2 0 0 1-.18-2.22 5.85 5.85 0 0 1 6.74-5.22 6.39 6.39 0 0 1 2.22.75c2.55-3.23 9.66-4.25 12.46.19a6 6 0 0 1 1.52-.51 6.48 6.48 0 0 1 7.41 4.92 6.14 6.14 0 0 1 0 2.6 6.55 6.55 0 0 1 4.54 4.78 6 6 0 0 1-1.33 5.35 6.45 6.45 0 0 1 1.26 2.58 5.89 5.89 0 0 1-3.1 6.69 6.43 6.43 0 0 1 .89 2.08 5.86 5.86 0 0 1-4.6 7.19 6.15 6.15 0 0 1-2.31 0c-3.64 7-11.92 3.56-12.59.39a5.87 5.87 0 0 1-6.2 3.26 6.54 6.54 0 0 1-5.38-4.86 6.18 6.18 0 0 1-1.63 0 6.49 6.49 0 0 1-5.48-7z" class="cls-9"/>
<circle cx="152.62" cy="452.42" r="2.69" class="cls-10"/>
<circle cx="163.65" cy="456.62" r="2.69" class="cls-10"/>
<circle cx="147.37" cy="471.06" r="2.69" class="cls-10"/>
<circle cx="159.98" cy="472.64" r="2.69" class="cls-10"/>
<circle cx="154.46" cy="463.45" r="2.69" class="cls-10"/>
<circle cx="167.46" cy="466.07" r="2.69" class="cls-10"/>
<circle cx="144.88" cy="460.16" r="2.69" class="cls-10"/>
<path d="M396.3 510.23h3.08v19.27h-3.08z" class="cls-8"/>
<path d="M383.42 506a4.4 4.4 0 0 1 .6-1.82 4.82 4.82 0 0 1-2.1-4.42 4.33 4.33 0 0 1 2.24-3.41 4.64 4.64 0 0 1-.28-2.1 4.34 4.34 0 0 1 3.84-3.91 4.63 4.63 0 0 1-.14-1.66 4.37 4.37 0 0 1 5-3.89 4.77 4.77 0 0 1 1.65.56c1.9-2.41 7.21-3.17 9.31.14a4.44 4.44 0 0 1 1.14-.38 4.84 4.84 0 0 1 5.53 3.67 4.58 4.58 0 0 1 0 1.94 4.89 4.89 0 0 1 3.39 3.57 4.45 4.45 0 0 1-1 4 4.82 4.82 0 0 1 .94 1.93 4.4 4.4 0 0 1-2.31 5 4.8 4.8 0 0 1 .66 1.55 4.38 4.38 0 0 1-3.43 5.37 4.59 4.59 0 0 1-1.72 0c-2.72 5.24-8.9 2.66-9.4.29a4.38 4.38 0 0 1-4.63 2.43 4.88 4.88 0 0 1-4-3.63 4.62 4.62 0 0 1-1.22 0 4.85 4.85 0 0 1-4.07-5.23z" class="cls-9"/>
<circle cx="396.06" cy="491.37" r="2.01" class="cls-11"/>
<circle cx="404.3" cy="494.51" r="2.01" class="cls-11"/>
<circle cx="392.14" cy="505.3" r="2.01" class="cls-11"/>
<circle cx="401.56" cy="506.47" r="2.01" class="cls-11"/>
<circle cx="397.44" cy="499.61" r="2.01" class="cls-11"/>
<circle cx="407.15" cy="501.57" r="2.01" class="cls-11"/>
<circle cx="390.28" cy="497.16" r="2.01" class="cls-11"/>
<path d="M446.95 488.05h1.66v10.4h-1.66z" class="cls-8"/>
<path d="M440 485.76a2.38 2.38 0 0 1 .32-1 2.6 2.6 0 0 1-1.13-2.38 2.34 2.34 0 0 1 1.21-1.84 2.51 2.51 0 0 1-.15-1.13 2.34 2.34 0 0 1 2.07-2.11 2.5 2.5 0 0 1-.07-.9 2.36 2.36 0 0 1 2.72-2.1 2.58 2.58 0 0 1 .89.3c1-1.3 3.89-1.71 5 .08a2.4 2.4 0 0 1 .61-.2 2.61 2.61 0 0 1 3 2 2.47 2.47 0 0 1 0 1 2.64 2.64 0 0 1 1.83 1.93 2.4 2.4 0 0 1-.53 2.16 2.6 2.6 0 0 1 .51 1 2.37 2.37 0 0 1-1.25 2.7 2.59 2.59 0 0 1 .36.84 2.36 2.36 0 0 1-1.85 2.9 2.48 2.48 0 0 1-.93 0c-1.47 2.83-4.8 1.43-5.08.16a2.37 2.37 0 0 1-2.5 1.31 2.64 2.64 0 0 1-2.17-2 2.49 2.49 0 0 1-.66 0 2.62 2.62 0 0 1-2.2-2.72z" class="cls-9"/>
<circle cx="446.83" cy="477.87" r="1.09" class="cls-11"/>
<circle cx="451.27" cy="479.56" r="1.09" class="cls-11"/>
<circle cx="444.71" cy="485.39" r="1.09" class="cls-11"/>
<circle cx="449.79" cy="486.02" r="1.09" class="cls-11"/>
<circle cx="447.57" cy="482.32" r="1.09" class="cls-11"/>
<circle cx="452.81" cy="483.38" r="1.09" class="cls-11"/>
<circle cx="443.7" cy="480.99" r="1.09" class="cls-11"/>
<path d="M193.42 486.85h2.94v18.37h-2.94z" class="cls-8"/>
<path d="M181.15 482.81a4.2 4.2 0 0 1 .57-1.74 4.59 4.59 0 0 1-2-4.21 4.13 4.13 0 0 1 2.14-3.25 4.43 4.43 0 0 1-.27-2 4.14 4.14 0 0 1 3.66-3.73 4.41 4.41 0 0 1-.13-1.58 4.16 4.16 0 0 1 4.8-3.71 4.55 4.55 0 0 1 1.58.53c1.81-2.3 6.88-3 8.87.13a4.23 4.23 0 0 1 1.08-.36 4.61 4.61 0 0 1 5.27 3.5 4.37 4.37 0 0 1 0 1.85 4.66 4.66 0 0 1 3.23 3.4 4.24 4.24 0 0 1-.94 3.81 4.59 4.59 0 0 1 .9 1.84 4.19 4.19 0 0 1-2.21 4.77 4.58 4.58 0 0 1 .63 1.48 4.17 4.17 0 0 1-3.27 5.12 4.38 4.38 0 0 1-1.64 0c-2.59 5-8.48 2.53-9 .28a4.18 4.18 0 0 1-4.41 2.32 4.66 4.66 0 0 1-3.83-3.46 4.4 4.4 0 0 1-1.16 0 4.62 4.62 0 0 1-3.87-4.99z" class="cls-9"/>
<circle cx="193.2" cy="468.87" r="1.92" class="cls-10"/>
<circle cx="201.05" cy="471.86" r="1.92" class="cls-10"/>
<circle cx="189.46" cy="482.14" r="1.92" class="cls-10"/>
<circle cx="198.43" cy="483.27" r="1.92" class="cls-10"/>
<circle cx="194.51" cy="476.72" r="1.92" class="cls-10"/>
<circle cx="203.76" cy="478.59" r="1.92" class="cls-10"/>
<circle cx="187.68" cy="474.38" r="1.92" class="cls-10"/>
<path d="M532.92 91.83a17.85 17.85 0 0 0-14.13 6.92 14.43 14.43 0 0 0-14 11.87 8.67 8.67 0 0 0-1.3-.1 8.54 8.54 0 1 0 0 17.08c20.8 0 46.08-1.13 68.95-1.13a6.59 6.59 0 1 0 0-13.18 6.68 6.68 0 0 0-1.32.13 13.36 13.36 0 0 0-21.52-10.15 17.89 17.89 0 0 0-16.68-11.44z" class="cls-4"/>
<path d="M449.81 370.21a17.85 17.85 0 0 0-14.13 6.92 14.43 14.43 0 0 0-14 11.87 8.67 8.67 0 0 0-1.3-.1 8.54 8.54 0 1 0 0 17.08c20.8 0 46.08-1.13 68.95-1.13a6.59 6.59 0 1 0 0-13.18 6.68 6.68 0 0 0-1.32.13 13.36 13.36 0 0 0-21.52-10.15 17.89 17.89 0 0 0-16.68-11.44zM153 369.27a15.23 15.23 0 0 0-12.05 5.9A12.31 12.31 0 0 0 129 385.3a7.4 7.4 0 0 0-1.11-.08 7.29 7.29 0 1 0 0 14.57c17.74 0 39.31-1 58.82-1a5.62 5.62 0 1 0 0-11.24 5.7 5.7 0 0 0-1.13.11 11.4 11.4 0 0 0-18.34-8.66 15.26 15.26 0 0 0-14.24-9.73zM215.67 220.63a23.91 23.91 0 0 0-18.92 9.26A19.32 19.32 0 0 0 178 245.78a11.61 11.61 0 0 0-1.74-.13 11.44 11.44 0 1 0 0 22.87c27.85 0 61.7-1.51 92.32-1.51a8.82 8.82 0 1 0 0-17.65 8.94 8.94 0 0 0-1.77.18A17.9 17.9 0 0 0 238 235.95a24 24 0 0 0-22.33-15.32z" class="cls-12"/>
<path d="M196.6 523.67h8.37l.04-8.41-8.41 8.41z" class="cls-13"/>
<path d="M199.32 529.07H205a.81.81 0 1 1 0 1.61h-5.65v2.37h-1.61v-12.59a.81.81 0 1 1 1.61 0v5.38H205a.81.81 0 0 1 0 1.61h-5.65v1.61z" class="cls-14"/>
<path d="M204.97 533.1v-19.36l19.36-19.36 25.81 25.82v12.9h-45.17z" class="cls-15"/>
<path d="M250.14 520.2v12.9h35.85v-19.36h-23.64l6.04 6.46h-18.25z" class="cls-16"/>
<path d="M270 494.38h-45.67l25.81 25.82h18.25l-6.04-6.46h27.01L270 494.38z" class="cls-13"/>
<path d="M250.34 485.34h10.67v17.28h-10.67z" class="cls-10"/>
<path d="M247.38 480.93h16.6v4.71h-16.6z" class="cls-10"/>
<path d="M210.84 514h5.77v13.22h-5.77zM221.14 514h5.77v13.22h-5.77z" class="cls-1"/>
<path d="M233.13 517.09h5.77v16.01h-5.77z" class="cls-17"/>
<path d="M256.24 523.79h5.77v5.17h-5.77zM272.49 518.03h9.61v10.14h-9.61z" class="cls-1"/>
<path d="M272.49 522.58a.81.81 0 0 1 0-1.61h9.61a.81.81 0 0 1 0 1.61h-9.61z" class="cls-18"/>
<path d="M223.61 493.63a1.07 1.07 0 0 1 1.52 0L251 519.54a1.07 1.07 0 0 1-1.52 1.52l-25.1-25.16-28.28 28.28a1.07 1.07 0 1 1-1.52-1.52z" class="cls-19"/>
<path d="M250.14 521.27a1.07 1.07 0 0 1 0-2.15h18.25a1.07 1.07 0 0 1 0 2.15h-18.25zM262.35 514.82a1.07 1.07 0 0 1 0-2.15h27a1.07 1.07 0 0 1 0 2.15h-27z" class="cls-19"/>
<path d="M356.8 421.12c-4.28 4.22-9.41 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-20"/>
<path d="M356.8 421.12c-4.28 4.22-9.41 9.69-10.45 15a9.75 9.75 0 0 0 .73 6.08 11.44 11.44 0 0 0 5.61 2.35c7.17.6 11-4.13 11.17-9.11.2-4.44-2.23-9.59-4.85-14.11l-.81-.1z" class="cls-21"/>
<path d="M239.15 407.15c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-20"/>
<path d="M239.15 407.15c-4.28 4.22-9.4 9.69-10.45 15a9.76 9.76 0 0 0 .73 6.08 11.44 11.44 0 0 0 5.61 2.35c7.17.6 11-4.13 11.17-9.11.2-4.44-2.23-9.59-4.85-14.11l-.81-.1z" class="cls-21"/>
<path d="M332.887 408.086l44.848-153.565 3.388.99-44.847 153.565zM269.147 242.175l3.526-.168 7.648 159.797-3.525.168zM356.93 408.03l59.335-148.57 3.278 1.31-59.334 148.57zM217.413 236.783l3.494-.505 22.9 158.333-3.493.506z" class="cls-22"/>
<path d="M314.19 383.78a12 12 0 0 0 4.1 3c2.34-5.06 5.21-14.71 8-23.87l-5.25-.62a150.41 150.41 0 0 1-6.85 21.49z" class="cls-23"/>
<path d="M322.53 385.92l22.27 2.64 3.2-27.26a5 5 0 0 0-4.35-5.53l-12.4-1.47a5 5 0 0 0-5.53 4.35z" class="cls-16"/>
<path d="M320 411.45l8.78 1a19 19 0 0 1-.15 6.56l-15.36-1.82c.42-3.49 6.52-3.58 6.73-5.74z" class="cls-24"/>
<path d="M313.073 417.213l.152-1.28 15.78 1.873-.153 1.28z" class="cls-25"/>
<path d="M341.25 414l-8.78-1a19 19 0 0 0-1.39 6.42l15.36 1.82c.47-3.6-5.44-5.11-5.19-7.24z" class="cls-24"/>
<path d="M330.913 419.318l.152-1.28 15.78 1.872-.153 1.28z" class="cls-25"/>
<path d="M345.19 385.57l-22.33-2.65-3.38 28.51 10.07 1.19 2.12-24.41 3.72.44-3.65 24.23 10.07 1.19z" class="cls-13"/>
<path d="M326.46 383.6l1.13 1.25-4.54 4.37-1.13-1.25 4.54-4.37zM341.52 385.39l-1.39.95 3.39 5.31 1.39-.95-3.39-5.31z" class="cls-26"/>
<path d="M343.56 355.76v.34l-.08.2a6.28 6.28 0 0 1-12-1.43v-.55l2.88.34a3.42 3.42 0 0 0 1 1.72 3.42 3.42 0 0 0 4.09.49 3.42 3.42 0 0 0 1.34-1.45z" class="cls-12"/>
<path d="M333.27 351.79l9.07 1.08c0 .11 0 .23.06.34l-.3 2.56a4.85 4.85 0 0 1-9.28-1.1l.3-2.56z" class="cls-23"/>
<path d="M333.31 352.53l9 .34c0 .11 0 .23.06.34l-.3 2.56a4.85 4.85 0 0 1-3.91 3z" class="cls-27"/>
<path d="M320.14 363.94l5.38 1.68 3.44-11c-4.05-1.2-6.42 2.49-7.05 4.29z" class="cls-16"/>
<path d="M341.24 323.41c-3-.29-12.18-1.09-13.6 9.52s.39 14.77 1.64 16.53a11 11 0 0 0 5.42 4.54 4.44 4.44 0 0 0 2.73 1.57z" class="cls-23"/>
<path d="M341.24 323.41c3 .43 12.1 1.8 11 12.44s-3.84 14.27-5.46 15.69a11 11 0 0 1-6.32 3.09 4.44 4.44 0 0 1-3 .89z" class="cls-28"/>
<path d="M328.65 338.55a1.89 1.89 0 0 0-1.32-1.56c-.86-.29-2.5 0-2.79 2.46s1.53 4.87 2.88 4.73 1.27-4.95 1.23-5.63z" class="cls-23"/>
<path d="M328 339.3a1.47 1.47 0 0 0-.92-1c-.52-.18-1.32 0-1.5 1.51s.73 2.95 1.55 2.86a1 1 0 0 0 .57-.84 1.15 1.15 0 0 1-.53-1.4 1.26 1.26 0 0 1 .82-.88c.01-.15.01-.25.01-.25zM349.74 341.07a2.42 2.42 0 0 1 1.85-1.2c.9-.08 2.44.56 2.14 3s-2.63 4.38-3.9 3.93-.09-5.73-.09-5.73z" class="cls-28"/>
<path d="M350.42 342a1.47 1.47 0 0 1 1.13-.73c.55 0 1.29.31 1.11 1.82s-1.4 2.7-2.18 2.42a1 1 0 0 1-.36-1 1.15 1.15 0 0 0 .84-1.24 1.26 1.26 0 0 0-.59-1z" class="cls-27"/>
<path d="M343.81 338.4l1.85.22a.66.66 0 0 0 .73-.58.66.66 0 0 0-.58-.73l-1.85-.22a.66.66 0 0 0-.73.58.66.66 0 0 0 .58.73z" class="cls-29"/>
<path d="M343.89 346.63c-.24 2-2.83 3.42-5.77 3.07s-5.14-2.29-4.89-4.33z" class="cls-12"/>
<path d="M333.23 337.15l1.85.22a.66.66 0 0 0 .73-.58.66.66 0 0 0-.58-.73l-1.85-.22a.66.66 0 0 0-.73.58.66.66 0 0 0 .58.73z" class="cls-29"/>
<path d="M327.54 335.9c-1.74-11.29 6.39-15.55 14-14.65s14.47 6.94 10.14 17.51c.22-2.3.42-5.11-.49-6.73-1.51-2.75-5.69-4.92-10.3-5.29-4.56-.72-9.14.41-11.25 2.73-1.3 1.37-1.77 4.14-2.1 6.43z" class="cls-29"/>
<circle cx="344.9" cy="341.69" r="1.03" transform="rotate(-83.23 344.905 341.69)"/>
<path d="M346.31 341.73a.32.32 0 1 0 .45-.45 2.48 2.48 0 0 0-3.65-.37.32.32 0 0 0 .35.53 1.93 1.93 0 0 1 2.85.29z" class="cls-29"/>
<circle cx="333.4" cy="340.32" r="1.03" transform="rotate(-83.23 333.4 340.322)"/>
<path d="M332 340a.32.32 0 1 1-.33-.54 2.48 2.48 0 0 1 3.63.5.32.32 0 1 1-.47.43 1.93 1.93 0 0 0-2.84-.39z" class="cls-29"/>
<path d="M353.64 388.46a12 12 0 0 1-4.69 1.95c-1.09-5.47-1.62-15.52-2.21-25.09l5.25.62a150.41 150.41 0 0 0 1.65 22.52z" class="cls-23"/>
<path d="M352.5 367.78l-5.62.37-.76-11.53c4.22-.22 5.66 3.93 5.85 5.83z" class="cls-16"/>
<path d="M306.22 407.49l-5.71-.68a12.06 12.06 0 0 0-1.61 5.37l11.87 1.41c.39-2.97-3.84-4.91-4.55-6.1z" class="cls-30"/>
<path d="M298.71 412.18l.087-.724 12.214 1.45-.085.725z" class="cls-31"/>
<path d="M308.6 409.89a.43.43 0 0 0 .29-.81s-1.68-.64-4.53 1.61a.43.43 0 1 0 .53.68c2.47-1.95 3.7-1.48 3.71-1.48zM307.54 408.74a.43.43 0 0 0 .29-.81s-1.68-.64-4.53 1.61a.43.43 0 1 0 .53.68c2.48-1.95 3.7-1.48 3.71-1.48z" class="cls-32"/>
<path d="M290.69 405.65l5.71.68a12.06 12.06 0 0 1 .31 5.6l-11.87-1.41c.31-2.99 4.88-3.88 5.85-4.87z" class="cls-30"/>
<path d="M284.68 410.527l.086-.725 12.214 1.45-.086.725z" class="cls-8"/>
<path d="M287.81 407.43a.43.43 0 1 1-.1-.85s1.78-.22 4 2.63a.43.43 0 0 1-.68.53c-1.91-2.48-3.22-2.31-3.22-2.31zM289.11 406.55a.43.43 0 0 1-.09-.85s1.78-.23 4 2.63a.43.43 0 1 1-.68.53c-1.92-2.48-3.23-2.31-3.23-2.31z" class="cls-32"/>
<path d="M299.47 407.756l3.483-29.324 9.602 1.14-3.48 29.324zM287.693 406.35l3.48-29.325 9.603 1.14-3.48 29.324z" class="cls-33"/>
<path d="M312.26 399l-25.38-3 6.77-44a5.06 5.06 0 0 1 5.54-4.36l12.43 1.48a5.06 5.06 0 0 1 4.36 5.54z" class="cls-34"/>
<path d="M321.51 381.33a12 12 0 0 1-4.69 1.95c-1.41-7.09-1.88-21.87-2.77-33.33 4.19-.22 5.75 3.89 5.81 5.78a156.51 156.51 0 0 0 1.65 25.6zM282.27 376.68a12 12 0 0 0 4.1 3c3-6.56 6.95-20.82 10.5-31.75-4-1.19-6.5 2.44-7 4.26a156.47 156.47 0 0 1-7.6 24.49z" class="cls-35"/>
<path d="M300.47 342.12l11.05 1.31-1.18 10c-.87 7.31-11.92 6-11.05-1.31z" class="cls-36"/>
<path d="M309.58 355.74l-9.34-11.68.23-1.94 11.05 1.31-1.18 10a5.94 5.94 0 0 1-.76 2.31z" class="cls-37"/>
<path d="M320.12 323.59c-1.53 2.93-15.8 14-22.78 20-1.36 1.17-4.8 2.13-5.57 5.17-1.29 5.07 7.07 8.61 11.35 9.08 7.38.8 14.37 1.86 17.42-4.44.54-1.12.26-4.56-2.47-5.31 2.93-6.73 2.76-19.86 2.05-24.5z" class="cls-38"/>
<path d="M309.28 315.14c3 .42 12 1.79 10.93 12.37s-3.82 14.19-5.43 15.6a11 11 0 0 1-6.29 3.08 4 4 0 0 1-5.71-.68 11 11 0 0 1-5.39-4.46c-1.24-1.75-3-5.89-1.63-16.44s10.5-9.76 13.52-9.47z" class="cls-36"/>
<path d="M309.28 315.14c3 .42 12 1.79 10.93 12.37s-3.82 14.19-5.43 15.6a11 11 0 0 1-6.29 3.08 4.41 4.41 0 0 1-3 .88z" class="cls-39"/>
<path d="M317.4 339.38a11.66 11.66 0 0 1-8.91 6.8 4 4 0 0 1-5.71-.68 11.66 11.66 0 0 1-7.07-8.7c0 3.54 4.74 11.7 6.88 16.24 9.82 1.22 13.25-8.25 14.82-13.66z" class="cls-40"/>
<path d="M296.76 320.82c-2.3 15.88 1.36 32.08 21.32 27.3-4.51 8.89-12.34 7.84-14 7.48a12.33 12.33 0 0 1-9.61-11c-1.05-8.32-.78-16.28 2.29-23.78z" class="cls-41"/>
<path d="M296.52 332.37c1.95-7.11 6.09-8.85 11.72-8.44l.84-7.1c-9.08-1.03-13.46 8.84-12.56 15.54z" class="cls-12"/>
<path d="M295.7 336.81c1-12.27 5.88-16.18 12.86-15.67l.71-6c-3-.29-12.11-1.08-13.52 9.47-.05.39-1.92 7.39-.05 12.2z" class="cls-41"/>
<path d="M317.65 334.87c-.23-7.37-3.85-10-9.42-11l.84-7.1c8.92 1.12 11 12.06 8.76 18.42-.04.17-.14-.04-.18-.32z" class="cls-12"/>
<path d="M317.4 339.38c1.86-12.17-1.93-17.11-8.84-18.25l.71-6c3 .42 12 1.79 10.93 12.37-.04.44.14 7.66-2.8 11.88z" class="cls-38"/>
<path d="M309.72 339.69a3.41 3.41 0 0 1-6.62-.79z" class="cls-12"/>
<path d="M314.19 334.39a.32.32 0 0 0 .45-.45 2.49 2.49 0 0 0-3.67-.37.32.32 0 1 0 .36.53 2 2 0 0 1 2.86.29z" class="cls-29"/>
<circle cx="312.68" cy="334.19" r=".96" transform="rotate(-83.23 312.683 334.193)"/>
<path d="M314.38 333.24a.19.19 0 1 0-.32-.23l-.42.58a.19.19 0 1 0 .32.23z" class="cls-29"/>
<path d="M314.81 333.46a.19.19 0 1 0-.25-.29l-.65.56a.19.19 0 1 0 .26.29zM312.1 330.14a.46.46 0 1 0-.07.91 8.33 8.33 0 0 1 2.07.72.46.46 0 0 0 .41-.82 6.64 6.64 0 0 0-2.41-.81zM300 332.7a.32.32 0 0 1-.33-.55 2.49 2.49 0 0 1 3.65.5.32.32 0 0 1-.47.43 2 2 0 0 0-2.85-.39z" class="cls-29"/>
<circle cx="301.51" cy="332.86" r=".96" transform="rotate(-83.23 301.517 332.864)"/>
<path d="M300.08 331.54a.19.19 0 1 1 .36-.15l.27.66a.19.19 0 1 1-.36.15z" class="cls-29"/>
<path d="M299.61 331.66a.19.19 0 1 1 .32-.23l.5.7a.19.19 0 1 1-.32.23zM303 329.07a.46.46 0 1 1-.14.9 8.34 8.34 0 0 0-2.19.22.46.46 0 0 1-.21-.89 6.65 6.65 0 0 1 2.54-.23z" class="cls-29"/>
<path d="M258.49 354.506l3.575-30.118 23.892 2.836-3.575 30.118z"/>
<path d="M269.64 377.64l5.58.66-3.97 30.02-5.08-.79 1.44-12.76 2.03-17.13zM265.25 377.12l-5.58-.67-3.17 30.12 5.12.42 1.59-12.74 2.04-17.13z" class="cls-42"/>
<path d="M256.45 405.19l5.61.67a11.85 11.85 0 0 1 .31 5.51L250.69 410c.31-3 4.81-3.83 5.76-4.81z" class="cls-34"/>
<path d="M250.546 409.986l.085-.715 12.007 1.426-.085.715z" class="cls-43"/>
<path d="M271.72 407l-5.61-.67a11.85 11.85 0 0 0-1.59 5.28l11.67 1.39c.39-2.92-3.77-4.83-4.47-6z" class="cls-34"/>
<path d="M264.33 411.615l.086-.715 12.005 1.426-.084.715z" class="cls-43"/>
<path d="M256.39 376.72l22 2.61 2.84-23.91a4.92 4.92 0 0 0-4.29-5.45l-12.22-1.45a4.92 4.92 0 0 0-5.45 4.29z" class="cls-44"/>
<path d="M259 357.59s-3.76 14.65-5.65 21.58h-1.67l-2.27-2.6c2-7.5 5.22-20 5.23-20z" class="cls-42"/>
<path d="M253.89 357.56l5.25 1.64 3.36-10.77c-4-1.17-6.27 2.43-6.88 4.19z" class="cls-44"/>
<path d="M252.55 382.3l-.69-2.88a.92.92 0 0 1 .68-1.1.92.92 0 0 1 1.1.68l.69 2.88a.92.92 0 0 1-.68 1.1.92.92 0 0 1-1.1-.68z" class="cls-42"/>
<path d="M250.61 379.13l-.46 5.69a.91.91 0 0 0 .84 1 .93.93 0 0 0 1-.85l.46-5.69a.91.91 0 0 0-.84-1 .93.93 0 0 0-1 .85z" class="cls-42"/>
<path d="M249.65 377.65l-.46 5.69a.91.91 0 0 0 .84 1 .93.93 0 0 0 1-.85l.46-5.69a.91.91 0 0 0-.84-1 .93.93 0 0 0-1 .85z" class="cls-42"/>
<path d="M249.34 376.33l-.47 5.67a.91.91 0 0 0 .84 1 .93.93 0 0 0 1-.85l.46-5.69a.91.91 0 0 0-.84-1 .93.93 0 0 0-.99.87z" class="cls-42"/>
<path d="M279.06 350.4v.64a6.47 6.47 0 0 1-3.12 4.69 9.62 9.62 0 0 1-11.61-1.38 6.47 6.47 0 0 1-1.93-5.29c0-.15 0-.33.09-.54v-.08a12.09 12.09 0 0 1 3.36 0l2.52.3-.13 1.1-1.1-.13-1.42-.17c-.35 0-.7-.07-1-.09h-.09a4.32 4.32 0 0 0 1.33 3.39 7.44 7.44 0 0 0 8.83 1 4.32 4.32 0 0 0 2.08-3h-.09c-.34-.07-.69-.12-1-.16l-1.42-.17-1.1-.13.13-1.1 2.52.3a12.06 12.06 0 0 1 3.15.82z" class="cls-12"/>
<path d="M277.94 350a4.82 4.82 0 0 1 0 .89c-.38 3.23-3.93 5.47-7.92 5s-6.92-3.48-6.53-6.71a4.82 4.82 0 0 1 .19-.87 13.87 13.87 0 0 1 2.18.1l1.42.17.47-3.94.11-.27 7 .83v.29l-.47 3.94 1.42.17a13.87 13.87 0 0 1 2.13.4z" class="cls-42"/>
<path d="M275.3 354.8l-7.64-9.73v-.22h1.59l.11-.27 5.41.64v.29l-.47 3.94 1.42.17a13.87 13.87 0 0 1 2.14.42 4.82 4.82 0 0 1 0 .89 5.39 5.39 0 0 1-2.56 3.87z" class="cls-45"/>
<path d="M274.5 317.74c-2.89-.28-11.62-1-13 9.08s.37 14.09 1.56 15.77a10.54 10.54 0 0 0 5.17 4.28 3.81 3.81 0 0 0 5.48.65 10.54 10.54 0 0 0 6-3c1.55-1.35 4.16-4.81 5.21-15s-7.54-11.38-10.42-11.78z" class="cls-42"/>
<path d="M274.5 317.74c2.88.41 11.54 1.71 10.49 11.87s-3.66 13.61-5.21 15a10.54 10.54 0 0 1-6 2.95 4.23 4.23 0 0 1-2.88.85z" class="cls-46"/>
<path d="M262.49 332.17a1.8 1.8 0 0 0-1.26-1.49c-.82-.28-2.39 0-2.67 2.34s1.46 4.65 2.74 4.51 1.24-4.71 1.19-5.36z" class="cls-42"/>
<path d="M280.12 324.23c.87 2.49.33 6.23 4.55 9.19 4.3-10.68-2.83-16.71-10.27-17.43-7.87-.76-14.2 3.76-13.24 14.87 2.84-3.13 17.39-5.26 18.96-6.63z" class="cls-29"/>
<path d="M275.74 341.17a4 4 0 0 1-7.92-.94z" class="cls-12"/>
<path d="M276.66 379l-18.57-2.2-1.39 10.84 18.79 2.23z" class="cls-47"/>
<path d="M272.74 331.5a49.29 49.29 0 0 1-11.06-2.89l1.08-6.1c3.38-7.4 11.74-5.82 11.74-5.82s8.49.42 10.05 8.41l-.37 6.18c-.75.12-2.1.15-2.92.22-.48 0 .23-2.51-1.1-5.63.38 3.13-.2 5.79-.78 5.79-1.98.04-4.75.01-6.64-.16z" class="cls-29"/>
<path d="M266.7 361.4a8 8 0 0 0-2.17-2.13c-.62-.31-.7 3-.55 3.87-.08 1-.72 2.26.56 4.56 1.2 2.15 2.74 3.16 3.71 2.76.85.62 2.59 0 4.26-1.81s1.45-3.29 1.61-4.3c.35-.83 1.05-4.05.37-3.89a8 8 0 0 0-2.6 1.56 5.79 5.79 0 0 0-5.19-.62z" class="cls-12"/>
<path d="M267.47 367.78a.28.28 0 1 1-.53.16 2.34 2.34 0 0 0-1.87-1.46.28.28 0 1 1 .11-.54 2.91 2.91 0 0 1 2.29 1.84zM269.9 368.3a.28.28 0 0 1-.48-.28 2.91 2.91 0 0 1 2.66-1.26.28.28 0 1 1 0 .55 2.35 2.35 0 0 0-2.18.99zM268.3 370.14a2.81 2.81 0 0 1-.66-.72c0-.51 1.56-.33 1.46.17a2.8 2.8 0 0 1-.8.55z" class="cls-44"/>
<path d="M249.73 374.84l4.29 1.33a.89.89 0 0 1 .59 1.12.89.89 0 0 1-1.12.59l-4.29-1.33a.89.89 0 0 1-.59-1.12.89.89 0 0 1 1.12-.59z" class="cls-48"/>
<path d="M261.86 332.85a1.41 1.41 0 0 0-.88-.93c-.5-.17-1.26 0-1.43 1.44s.7 2.81 1.48 2.73a1 1 0 0 0 .54-.81 1.09 1.09 0 0 1-.5-1.34 1.19 1.19 0 0 1 .78-.84c.01-.15.01-.25.01-.25z" class="cls-46"/>
<path d="M278.11 334.62a1 1 0 0 1 .26.07l.23-.33a.19.19 0 0 1 .31.21l-.23.33.34-.2a.19.19 0 0 1 .19.32l-.32.19h.41a.19.19 0 0 1 0 .37h-.38a.92.92 0 0 1 0 .1 1 1 0 1 1-.81-1.06zM277.76 332.55a.5.5 0 1 1 .08-1 5.43 5.43 0 0 1 1.83.53.5.5 0 0 1-.45.89 4.31 4.31 0 0 0-1.46-.42zM267.06 333.31a1 1 0 0 0-.27 0l-.15-.38a.19.19 0 0 0-.35.13l.15.38-.28-.27a.19.19 0 0 0-.26.27l.27.26-.38-.14a.19.19 0 0 0-.13.35l.36.13a.92.92 0 0 0 0 .1 1 1 0 1 0 1.04-.83zM268 330.39a.5.5 0 1 1-.16 1 4.31 4.31 0 0 0-1.52.08.5.5 0 0 1-.23-1 5.43 5.43 0 0 1 1.91-.08z" class="cls-29"/>
<path d="M279.44 335.78a.32.32 0 1 0 .34-.55 2.52 2.52 0 0 0-3.7.46.32.32 0 0 0 .47.44 2 2 0 0 1 2.89-.36zM265.48 334.12a.32.32 0 1 1-.21-.61 2.52 2.52 0 0 1 3.49 1.32.32.32 0 0 1-.56.32 2 2 0 0 0-2.72-1z" class="cls-29"/>
<path d="M280 360.16a165.74 165.74 0 0 0 4.56 22.84 1.49 1.49 0 0 0 .49.87l1-1.19 2.43-2.49c-1.66-3.06-3.83-19.46-3.66-20.09z" class="cls-42"/>
<path d="M285.33 361.29l-5.48.36-.75-11.25c4.12-.21 5.53 3.83 5.71 5.69z" class="cls-44"/>
<path d="M281.7 326.71l4.24.5-1.7 30.15c-.13 2.35-4.42 5.09-6.75 4.81z" class="cls-29"/>
<path d="M336.33 406.29l2.11-17.75a5 5 0 0 1 5.48-4.31l12.29 1.46a4.94 4.94 0 0 1 4.31 5.48l-2.11 17.75z" class="cls-48"/>
<circle cx="340.18" cy="361.87" r="6.71" class="cls-49" transform="rotate(-83.23 340.185 361.876)"/>
<circle cx="365.07" cy="364.83" r="6.71" class="cls-49" transform="rotate(-83.23 365.073 364.83)"/>
<path d="M355.19 380.64l-9.11-1.08-.74 6.23 3.93 5.85 5.18-4.77.74-6.23z" class="cls-36"/>
<path d="M352.36 389.23l-6.47-8.08.19-1.59 9.11 1.08-.74 6.23-2.09 2.36z" class="cls-37"/>
<path d="M353.91 352.55c-2.94-.28-11.82-1.05-13.2 9.24s.38 14.34 1.59 16a10.73 10.73 0 0 0 5.26 4.35 3.88 3.88 0 0 0 5.58.66 10.72 10.72 0 0 0 6.14-3c1.58-1.38 4.23-4.9 5.3-15.22s-7.75-11.58-10.67-12.03z" class="cls-37"/>
<path d="M353.91 352.55c-2.94-.28-11.82-1.05-13.2 9.24s.38 14.34 1.59 16a10.73 10.73 0 0 0 5.26 4.35 4.31 4.31 0 0 0 2.65 1.53z" class="cls-36"/>
<path d="M341.88 367.27a2.35 2.35 0 0 0-1.47-1.55c-.83-.28-2.43 0-2.71 2.38s1.48 4.73 2.79 4.59 1.39-5.42 1.39-5.42z" class="cls-36"/>
<path d="M341 368a1.43 1.43 0 0 0-.9-.95c-.51-.17-1.28 0-1.46 1.47s.71 2.86 1.51 2.78a1 1 0 0 0 .55-.82 1.11 1.11 0 0 1-.51-1.36 1.21 1.21 0 0 1 .8-.85c.01-.21.01-.27.01-.27z" class="cls-37"/>
<path d="M347.34 364.89a.51.51 0 1 0 .16-1 5.48 5.48 0 0 0-1.94.09.51.51 0 1 0 .24 1 4.39 4.39 0 0 1 1.54-.09zM357.48 365.07a.51.51 0 1 0-.08 1 4.39 4.39 0 0 1 1.48.44.51.51 0 1 0 .46-.91 5.48 5.48 0 0 0-1.86-.53z" class="cls-50"/>
<path d="M346.81 357.63c-1.45 2.25-1.81 6.08-6.69 8-1.71-11.59 6.78-15.85 14.31-14.79 8 1.12 14.53 7.37 10.93 18.12-5.22-1.76-7.74-4.79-9.94-8.09.55 2.65 2.07 4.13 1.64 4-5.01-1.87-6.82-2.37-10.25-7.24z" class="cls-50"/>
<path d="M362.35 369.68a1.84 1.84 0 0 1 1.6-1.17c.87-.08 2.37.54 2.08 3s-2.55 4.25-3.79 3.81-.09-5.01.11-5.64z" class="cls-37"/>
<path d="M362.82 370.55a1.43 1.43 0 0 1 1.09-.71c.53 0 1.25.3 1.07 1.77s-1.36 2.62-2.11 2.35a1 1 0 0 1-.35-.93 1.11 1.11 0 0 0 .82-1.2 1.22 1.22 0 0 0-.57-1z" class="cls-51"/>
<path d="M353.63 375.59a2.45 2.45 0 1 1-4.86-.58z" class="cls-12"/>
<path d="M349.27 391.64l5.21-.88.56-5.21-.43-.05-5.34 6.14zM349.27 391.64l-4.87-2.08.68-5.19.42.05 3.77 7.22z" class="cls-52"/>
<path d="M359.11 370.24a.32.32 0 0 0 .46-.46 2.53 2.53 0 0 0-3.72-.37.32.32 0 1 0 .36.54 2 2 0 0 1 2.91.29z" class="cls-29"/>
<circle cx="357.58" cy="370.03" r=".97" transform="rotate(-83.23 357.584 370.03)"/>
<path d="M359.3 369.07a.2.2 0 1 0-.32-.23l-.43.59a.2.2 0 1 0 .32.23z" class="cls-29"/>
<path d="M359.74 369.3a.2.2 0 0 0-.26-.3l-.66.57a.2.2 0 1 0 .26.3zM344.71 368.53a.32.32 0 1 1-.34-.55 2.53 2.53 0 0 1 3.71.51.32.32 0 1 1-.48.44 2 2 0 0 0-2.89-.39z" class="cls-29"/>
<circle cx="346.24" cy="368.69" r=".97" transform="rotate(-83.23 346.247 368.69)"/>
<path d="M344.79 367.35a.2.2 0 1 1 .37-.15l.27.67a.2.2 0 1 1-.37.15z" class="cls-29"/>
<path d="M344.32 367.47a.2.2 0 0 1 .32-.23l.51.71a.2.2 0 0 1-.32.23z" class="cls-29"/>
<path d="M335.15 406.15c1.38-4.24 2.81-9 4.24-13.62l-5.33-.63c-1.23 5-2.48 9.35-3.94 13.65z" class="cls-36"/>
<path d="M333.12 393.59l5.46 1.7 3.49-11.2c-4.11-1.22-6.52 2.53-7.16 4.36z" class="cls-48"/>
<path d="M333.3 392.9l5.67 1.83-.61 1.81-5.67-1.83.61-1.81z" class="cls-52"/>
<path d="M271.3 398.57l1.54-13a5.08 5.08 0 0 1 5.63-4.44l12.63 1.5a5.08 5.08 0 0 1 4.44 5.63l-1.54 13z" class="cls-53"/>
<path d="M278.19 381.16l.61 1.06 3.89 7.27 1 1.84 1.38-1.55 5.48-6.16.77-.9h-.2l-12.63-1.5z" class="cls-12"/>
<path d="M290.21 376.23l-9.36-1.11-.76 6.41 3.88 7.27 5.48-6.16.76-6.41z" class="cls-23"/>
<path d="M287.3 385.06l-6.65-8.3.2-1.64 9.36 1.11-.76 6.41-2.15 2.42z" class="cls-27"/>
<path d="M289.11 349.37c3 .42 12 1.78 10.91 12.35s-3.81 14.16-5.42 15.57a11 11 0 0 1-6.28 3.07 4 4 0 0 1-5.7-.68 11 11 0 0 1-5.38-4.45c-1.24-1.75-3-5.88-1.63-16.41s10.49-9.75 13.5-9.45z" class="cls-23"/>
<path d="M289.11 349.37c3 .42 12 1.78 10.91 12.35s-3.81 14.16-5.42 15.57a11 11 0 0 1-6.28 3.07 4.4 4.4 0 0 1-3 .88z" class="cls-28"/>
<path d="M289.86 373.27a3.57 3.57 0 0 1-7.08-.84z" class="cls-12"/>
<path d="M292.56 364.16a.52.52 0 1 1 .08-1 5.66 5.66 0 0 1 1.91.56.52.52 0 1 1-.47.93 4.49 4.49 0 0 0-1.52-.49zM282.44 361.91a.52.52 0 1 1-.16 1 4.49 4.49 0 0 0-1.58.08.52.52 0 1 1-.24-1 5.66 5.66 0 0 1 1.98-.08z" class="cls-29"/>
<path d="M283.12 396a3 3 0 0 1 3.12-1.58 2.76 2.76 0 0 1 2.58 2.9 5.66 5.66 0 0 1-1.76 3.13l-8.81-1a5.66 5.66 0 0 1-1-3.46 2.76 2.76 0 0 1 3.19-2.22 3 3 0 0 1 2.68 2.23z" class="cls-12"/>
<path d="M294.3 367.68a.33.33 0 0 0 .46-.46c-.65-.65-1.74-1.73-3.76-.38a.33.33 0 1 0 .36.54 2 2 0 0 1 2.93.3z" class="cls-29"/>
<circle cx="292.75" cy="367.48" r=".98" transform="rotate(-83.23 292.76 367.48)"/>
<path d="M294.49 366.51a.2.2 0 1 0-.32-.23l-.43.6a.2.2 0 0 0 .32.23z" class="cls-29"/>
<path d="M294.93 366.74a.2.2 0 0 0-.26-.3l-.67.56a.2.2 0 1 0 .26.3zM279.77 366a.33.33 0 1 1-.34-.56c.78-.48 2.09-1.28 3.74.51a.33.33 0 1 1-.48.44 2 2 0 0 0-2.92-.4z" class="cls-29"/>
<circle cx="281.32" cy="366.12" r=".98" transform="rotate(-83.23 281.326 366.125)"/>
<path d="M279.85 364.77a.2.2 0 1 1 .37-.15l.28.68a.2.2 0 0 1-.37.15z" class="cls-29"/>
<path d="M279.37 364.89a.2.2 0 0 1 .32-.23l.51.72a.2.2 0 1 1-.32.23zM303.18 353.32a.93.93 0 1 1 .42 1.82 6.3 6.3 0 0 0-3.8 2.71.93.93 0 0 1-1.62-.93 8.27 8.27 0 0 1 5-3.6zM304.89 364.63a.93.93 0 1 1-1.13 1.49 4.08 4.08 0 0 0-3.92-.46.93.93 0 1 1-.72-1.72 6 6 0 0 1 5.77.69z" class="cls-29"/>
<ellipse cx="303.53" cy="364.93" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-83.23 303.537 364.93)"/>
<path d="M304.82 358.93a.93.93 0 0 1-.57 1.78 4.05 4.05 0 0 0-3.81 1 .94.94 0 1 1-1.29-1.35 6 6 0 0 1 5.67-1.43z" class="cls-29"/>
<ellipse cx="303.65" cy="359.69" class="cls-54" rx="1.18" ry="1.21" transform="rotate(-14.05 303.772 359.798)"/>
<ellipse cx="302.49" cy="354.41" class="cls-54" rx="1.18" ry="1.21" transform="rotate(-30.52 302.444 354.37)"/>
<path d="M299.34 348.84a.94.94 0 0 1 1.33 1.32c-.14.15-.34.32-.56.52a12 12 0 0 0-2.67 3.31.93.93 0 0 1-1.62-.93 13.69 13.69 0 0 1 3-3.77c.18-.15.35-.29.52-.45z" class="cls-29"/>
<ellipse cx="299.35" cy="349.99" class="cls-54" rx="1.18" ry="1.21" transform="rotate(-30.53 299.335 349.985)"/>
<path d="M294.61 345.85a.93.93 0 0 1 1.66.86c-.11.21-.24.43-.38.66a12 12 0 0 0-1.58 3.95.93.93 0 0 1-1.82-.41 13.69 13.69 0 0 1 1.8-4.49c.12-.2.23-.42.32-.57z" class="cls-29"/>
<ellipse cx="295.01" cy="346.94" class="cls-54" rx="1.18" ry="1.21" transform="rotate(-30.52 295.067 346.982)"/>
<path d="M273.66 351.58a.93.93 0 0 1 .84-1.67 8.27 8.27 0 0 1 4 4.66.93.93 0 0 1-1.79.52 6.3 6.3 0 0 0-3.05-3.51z" class="cls-29"/>
<path d="M299.58 366.46c4.24-10.54-2.63-16.24-10-17.2-8.66-1.12-16.21 3.3-14.43 14.61 0 0 1.3.58 1.44-.12.47-3.49.78-5.06 2-6.39 1.66-1.87 8.74-.84 14.9-2.11a5 5 0 0 1 3.2 2.37c1.63 3.07 2.57 4.51 2.13 8.76a4.36 4.36 0 0 0 .76.08z" class="cls-29"/>
<path d="M297.1 352.84a.79.79 0 0 1 0 1.11l-2.45 2.36a.79.79 0 0 1-1.11 0 .79.79 0 0 1 0-1.11l2.45-2.36a.79.79 0 0 1 1.11 0zM299 354.27a.79.79 0 0 1 0 1.11l-2.45 2.36a.79.79 0 0 1-1.11 0 .79.79 0 0 1 0-1.11l2.45-2.35a.79.79 0 0 1 1.11-.01z" class="cls-55"/>
<path d="M270.94 362.22a.93.93 0 0 1-.75-1.71 6 6 0 0 1 5.78.68.93.93 0 0 1-1.11 1.5 4.08 4.08 0 0 0-3.92-.47z" class="cls-29"/>
<ellipse cx="271.44" cy="361.12" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-83.23 271.442 361.12)"/>
<path d="M271.72 356.85a.93.93 0 0 1-.13-1.86 6 6 0 0 1 5.18 2.69.94.94 0 1 1-1.57 1 4.05 4.05 0 0 0-3.48-1.83z" class="cls-29"/>
<ellipse cx="272.55" cy="356" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-62.4 272.587 356.01)"/>
<ellipse cx="274.91" cy="351.14" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-45.95 274.927 351.15)"/>
<path d="M277.68 347.43a.94.94 0 0 1 1.6-1c.12.2.24.37.36.55a13.67 13.67 0 0 1 2.07 4.38.93.93 0 0 1-1.79.52 12 12 0 0 0-1.82-3.84c-.17-.22-.32-.44-.42-.61z" class="cls-29"/>
<ellipse cx="279" cy="347.58" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-45.93 279.006 347.586)"/>
<path d="M282.76 345.1a.93.93 0 1 1 1.81-.45c.05.2.11.4.18.63a13.69 13.69 0 0 1 .7 4.79.93.93 0 0 1-1.87 0 12 12 0 0 0-.61-4.21c-.08-.28-.15-.53-.21-.76z" class="cls-29"/>
<ellipse cx="283.93" cy="345.62" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-45.94 283.966 345.642)"/>
<path d="M288.19 344.47a.94.94 0 1 1 1.87 0v1.13c0 .86.12 2 .09 4a.93.93 0 0 1-1.87 0c0-1.83 0-3-.09-3.84.02-.52 0-.9 0-1.29z" class="cls-29"/>
<ellipse cx="289.12" cy="345.25" class="cls-54" rx="1.21" ry="1.18" transform="rotate(-45.93 289.126 345.25)"/>
<path d="M276.61 364.38a1.88 1.88 0 0 0-1.31-1.55c-.85-.29-2.48 0-2.77 2.44s1.52 4.84 2.85 4.7 1.28-4.91 1.23-5.59z" class="cls-23"/>
<path d="M275.93 365.13a1.46 1.46 0 0 0-.92-1c-.52-.17-1.31 0-1.49 1.5s.73 2.93 1.54 2.84a1 1 0 0 0 .57-.84 1.14 1.14 0 0 1-.52-1.39 1.24 1.24 0 0 1 .81-.87c.01-.14.01-.24.01-.24zM297.54 366.89a2.4 2.4 0 0 1 1.84-1.19c.89-.08 2.42.55 2.12 3s-2.61 4.35-3.87 3.9-.09-5.71-.09-5.71z" class="cls-28"/>
<path d="M298.22 367.78a1.46 1.46 0 0 1 1.12-.73c.54 0 1.28.31 1.1 1.81s-1.39 2.67-2.16 2.4a1 1 0 0 1-.35-.95 1.14 1.14 0 0 0 .83-1.23 1.24 1.24 0 0 0-.59-1z" class="cls-27"/>
<path d="M272.4 391.4c-.69 2.17-1.53 4.56-2.49 7l-5.16-.61c1.6-3.87 2.82-7.11 2.82-7.39z" class="cls-23"/>
<path d="M267.15 391l5.59 1.74 3.58-11.48c-4.21-1.25-6.68 2.59-7.34 4.47z" class="cls-53"/>
<path d="M294.55 394c.16 2.27.42 4.79.78 7.39l5.16.61c-.65-4.14-1.08-7.57-1-7.85z" class="cls-23"/>
<path d="M299.74 394.87l-5.84.39-.79-12c4.39-.23 5.89 4.08 6.09 6.06z" class="cls-53"/>
<path d="M247 378.52c-.32 0-4 .31-4.35.3-9.81-.32-14.89-7.43-17.46-15.91-.06-.27-.12-.56-.18-.87v-.16A4.43 4.43 0 0 0 226 360l.66-2.19a.94.94 0 0 0-.66-1.16 1 1 0 0 0-1.07.46l-.14-.08-.06-4.14a.94.94 0 0 0-1-.93.94.94 0 0 0-.93 1v1.36l-.5-2.32a1 1 0 0 0-1.13-.7.94.94 0 0 0-.7 1.13l1.07 4.54-1.44-4.28a.94.94 0 0 0-1.19-.59.94.94 0 0 0-.59 1.19l1.45 4.3-1.28-2.17a.94.94 0 0 0-1.29-.33.94.94 0 0 0-.33 1.29l1.22 2.07a.44.44 0 0 0 0 .54l1.41 3a2 2 0 0 0 1 1.26c2.26 10.76 8.25 20.26 22.25 21.83z" class="cls-42"/>
<path d="M245.23 377.81c-.32 0-3.94-.27-4.24-.28a17.89 17.89 0 0 1-5-.84l-1.47 7a28.71 28.71 0 0 0 6.36 1.42z" class="cls-56"/>
<path d="M259.86 355c1.06.46 4-5.77 5.06-3.27 5.59 5.39-1.21 19.27 5.27 19.09-2.74 7.69-15.85 10.28-20.88 4.8 0 0 6.36-18.54 10.55-20.62z" class="cls-57"/>
<path d="M251.22 354c-1.14.2-3.12-6.77-4.73-4.58-6.69 3.94-2.76 19.24-9 17.54.87 8.12 13 13.71 19.18 9.55-.03-.02-1.87-19.51-5.45-22.51z" class="cls-57"/>
<path d="M239.4 393.69l1.36-11.45a5.07 5.07 0 0 1 5.62-4.43l12.6 1.5a5.07 5.07 0 0 1 4.43 5.62L262 396.38z" class="cls-56"/>
<path d="M246.1 377.79l.61 1.05 3.88 7.25 1 1.83 1.38-1.55 5.47-6.14.77-.89h-.2l-12.6-1.5z" class="cls-12"/>
<path d="M258.09 372.88l-9.34-1.11-.76 6.39 3.88 7.26 5.46-6.15.76-6.39z" class="cls-42"/>
<path d="M255.18 381.69l-6.62-8.29.19-1.63 9.34 1.11-.76 6.39-2.15 2.42z" class="cls-45"/>
<path d="M256.68 344.85c3 .42 12 1.78 10.88 12.32s-3.8 14.13-5.41 15.53a10.94 10.94 0 0 1-6.26 3.06 4 4 0 0 1-5.69-.68 10.94 10.94 0 0 1-5.37-4.44c-1.23-1.74-3-5.87-1.62-16.37s10.47-9.71 13.47-9.42z" class="cls-42"/>
<path d="M256.68 344.85c3 .42 12 1.78 10.88 12.32s-3.8 14.13-5.41 15.53a10.94 10.94 0 0 1-6.26 3.06 4.39 4.39 0 0 1-3 .88z" class="cls-46"/>
<path d="M244.22 359.82a1.87 1.87 0 0 0-1.31-1.55c-.85-.29-2.48 0-2.77 2.43s1.51 4.82 2.85 4.68 1.27-4.88 1.23-5.56z" class="cls-42"/>
<path d="M243.54 360.57a1.45 1.45 0 0 0-.91-1c-.52-.17-1.31 0-1.49 1.5s.72 2.92 1.53 2.83a1 1 0 0 0 .57-.84 1.13 1.13 0 0 1-.52-1.39 1.24 1.24 0 0 1 .81-.87c.01-.13.01-.23.01-.23zM265.1 362.32a2.4 2.4 0 0 1 1.83-1.19c.89-.08 2.42.55 2.12 3s-2.6 4.34-3.86 3.89-.09-5.7-.09-5.7z" class="cls-46"/>
<path d="M265.77 363.21a1.46 1.46 0 0 1 1.11-.72c.54 0 1.27.3 1.09 1.8s-1.39 2.67-2.16 2.4a1 1 0 0 1-.35-.95 1.13 1.13 0 0 0 .83-1.23 1.24 1.24 0 0 0-.59-1z" class="cls-45"/>
<path d="M262.51 351.59c.9 2.58.35 6.47 4.72 9.54 4.46-11.09-2.93-17.34-10.66-18.09-8.17-.79-16.17 3.84-15.17 15.37 4.71.68 7.15-4.46 7.41-4.49 5.25.61 9.13 1.67 13.7-2.33z" class="cls-21"/>
<path d="M257.43 368.69c-.41 1.22-2 2-3.79 1.79s-3.16-1.35-3.27-2.63z" class="cls-12"/>
<path d="M260.13 359.6a.52.52 0 1 1 .08-1 5.64 5.64 0 0 1 1.9.55.52.52 0 0 1-.47.93 4.45 4.45 0 0 0-1.51-.48zM250 357.36a.52.52 0 0 1-.16 1 4.46 4.46 0 0 0-1.58.08.52.52 0 0 1-.24-1 5.64 5.64 0 0 1 1.98-.08z" class="cls-45"/>
<path d="M262 362.82a.33.33 0 0 0 .47-.47c-.65-.65-1.75-1.75-3.8-.38a.33.33 0 1 0 .37.55 2 2 0 0 1 3 .3z" class="cls-14"/>
<circle cx="260.43" cy="362.61" r=".99" class="cls-8" transform="rotate(-83.23 260.438 362.615)"/>
<path d="M262.19 361.63a.2.2 0 1 0-.33-.23l-.43.6a.2.2 0 0 0 .33.23z" class="cls-14"/>
<path d="M262.63 361.86a.2.2 0 1 0-.26-.3l-.67.58a.2.2 0 0 0 .26.3zM247.32 361.08a.33.33 0 0 1-.34-.56c.79-.48 2.12-1.29 3.78.52a.33.33 0 1 1-.49.45 2 2 0 0 0-2.95-.4z" class="cls-14"/>
<circle cx="248.88" cy="361.24" r=".99" class="cls-8" transform="rotate(-83.23 248.886 361.245)"/>
<path d="M247.4 359.87a.2.2 0 0 1 .37-.15l.28.69a.2.2 0 1 1-.37.15z" class="cls-14"/>
<path d="M246.91 360a.2.2 0 1 1 .33-.23l.52.73a.2.2 0 0 1-.33.23z" class="cls-14"/>
<path d="M246.78 349.88a.78.78 0 0 1 1.05.34l1.77 3.45a.78.78 0 0 1-.34 1.05.79.79 0 0 1-1.05-.34l-1.77-3.45a.79.79 0 0 1 .34-1.05z" class="cls-48"/>
<path d="M263.59 390.63c.13 1.86.33 3.89.59 6l5.12.61a63.72 63.72 0 0 1-.79-6.44z" class="cls-42"/>
<path d="M268.78 391.47l-5.84.39-.79-12c4.39-.23 5.89 4.08 6.09 6.06z" class="cls-56"/>
<path d="M326.77 401l1.5-12.61a5 5 0 0 0-4.4-5.58l-12.52-1.49a5 5 0 0 0-5.58 4.4l-1.5 12.61z" class="cls-58"/>
<path d="M323.75 382.77v.35l-.08.2a6.35 6.35 0 0 1-12.16-1.44v-.56l2.9.34a3.45 3.45 0 0 0 1 1.74 3.45 3.45 0 0 0 4.13.49 3.45 3.45 0 0 0 1.36-1.47z" class="cls-12"/>
<path d="M313.36 378.76l9.16 1.09c0 .11 0 .23.06.34l-.31 2.58a4.9 4.9 0 0 1-9.37-1.11l.31-2.58c.05-.08.09-.21.15-.32z" class="cls-42"/>
<path d="M313.39 379.51l9.13.34c0 .11 0 .23.06.34l-.31 2.58a4.9 4.9 0 0 1-4 3z" class="cls-45"/>
<path d="M321.38 350.33c-3-.29-12.16-1.08-13.58 9.51s.39 14.75 1.64 16.51a11 11 0 0 0 5.41 4.48 4.43 4.43 0 0 0 2.72 1.57z" class="cls-42"/>
<path d="M321.38 350.33c3 .42 12.08 1.79 11 12.42s-3.83 14.25-5.45 15.66a11 11 0 0 1-6.31 3.09 4.43 4.43 0 0 1-3 .89z" class="cls-46"/>
<path d="M328.92 356.45c-.42-1-1-1.93-4-1.13s-8 3-13.34 1.88c-2.24 3.14-2.41 9.39-2.41 9.39l-2.83-2.36s.34-7.09 1.74-9.22c-.89-.26-1.54-1.26-1.2-3.44 1.12.29 1.69 1.27 3.35.24s5.47-4.72 11.5-3.85 8.3 4.44 9 5.82c3.78 4.08 2.91 8.4 1.92 13.55l-3.32 1.67c.45-2.15.73-9.93-.41-12.55z" class="cls-59"/>
<path d="M308.81 365.43a1.89 1.89 0 0 0-1.32-1.56c-.85-.29-2.5 0-2.79 2.45s1.53 4.86 2.87 4.72 1.28-4.93 1.24-5.61z" class="cls-42"/>
<path d="M308.13 366.19a1.47 1.47 0 0 0-.92-1c-.52-.18-1.32 0-1.5 1.51s.73 2.94 1.55 2.86a1 1 0 0 0 .57-.84 1.14 1.14 0 0 1-.53-1.4 1.25 1.25 0 0 1 .82-.88c.01-.15.01-.25.01-.25zM329.86 368a2.41 2.41 0 0 1 1.85-1.2c.9-.08 2.44.56 2.14 3s-2.62 4.37-3.9 3.92-.09-5.72-.09-5.72z" class="cls-46"/>
<path d="M330.55 368.85a1.47 1.47 0 0 1 1.12-.73c.55 0 1.28.31 1.1 1.82s-1.4 2.69-2.17 2.42a1 1 0 0 1-.36-1 1.14 1.14 0 0 0 .84-1.24 1.25 1.25 0 0 0-.59-1z" class="cls-45"/>
<rect width="1.32" height="4.18" x="313.49" y="360.4" class="cls-60" rx=".66" ry=".66" transform="rotate(-83.23 314.154 362.488)"/>
<rect width="1.32" height="4.18" x="324.9" y="361.75" class="cls-60" rx=".66" ry=".66" transform="rotate(-83.23 325.56 363.84)"/>
<path d="M321.2 373.17a2.52 2.52 0 1 1-5-.59z" class="cls-12"/>
<circle cx="325.58" cy="367.79" r="1.11" class="cls-8" transform="rotate(-83.23 325.58 367.785)"/>
<path d="M327.09 367.83a.34.34 0 0 0 .48-.48c-.68-.67-1.81-1.81-3.92-.39a.34.34 0 1 0 .38.57 2.08 2.08 0 0 1 3.06.31z" class="cls-14"/>
<circle cx="313.21" cy="366.32" r="1.11" class="cls-8" transform="rotate(-83.23 313.208 366.32)"/>
<path d="M311.72 366a.34.34 0 0 1-.36-.58c.81-.5 2.19-1.33 3.91.54a.34.34 0 1 1-.5.46 2.08 2.08 0 0 0-3-.42z" class="cls-14"/>
<path d="M303.59 398.22c.8-2.59 1.61-5.25 2.42-7.88l-5.43-.64c-.69 2.79-1.39 5.4-2.12 7.91z" class="cls-46"/>
<path d="M299.62 391.42l5.56 1.73 3.56-11.41c-4.19-1.24-6.64 2.58-7.29 4.44z" class="cls-58"/>
<path d="M299.582 391.507l.487-1.386 5.64 1.984-.487 1.387z" class="cls-1"/>
<path d="M327.5 401.06c-.17-2.71-.34-5.49-.51-8.23l5.43.64c0 2.87.08 5.57.21 8.19z" class="cls-46"/>
<path d="M332.95 395.38l-5.81.38-.79-11.93c4.36-.23 5.86 4.06 6.05 6z" class="cls-58"/>
<path d="M326.872 394.63l5.95-.607.148 1.463-5.95.607z" class="cls-1"/>
<path d="M240.28 390.81l122.07 14.49-13.55 56.4c-1.35 5.67-5.85 14.57-13.9 13.62l-84.33-10c-8-1-10.34-10.66-10.33-16.49z" class="cls-15"/>
<path d="M349.57 458.48l-.77 3.22c-1.35 5.67-5.85 14.57-13.9 13.62l-84.33-10c-8-1-10.34-10.66-10.33-16.49v-3.31c.9 5.48 3.76 11.74 10.27 12.48l86.16 10.23c6.52.77 10.75-4.63 12.9-9.75zM240.28 390.81l122.07 14.49-3.54 14.7-118.54-14.07.01-15.12z" class="cls-16"/>
<path d="M241.83 387.66l119.75 14.21a6.63 6.63 0 0 1 5.78 7.34A6.63 6.63 0 0 1 360 415l-119.73-14.22a6.63 6.63 0 0 1-5.78-7.34 6.63 6.63 0 0 1 7.34-5.78z" class="cls-20"/>
<path d="M241.83 387.66l119.75 14.21a6.63 6.63 0 0 1 5.78 7.34 6.56 6.56 0 0 1-.27 1.25 6.88 6.88 0 0 1-4.94 1.32L239 397.15a6.88 6.88 0 0 1-4.49-2.44 6.59 6.59 0 0 1 0-1.28 6.63 6.63 0 0 1 7.32-5.77z" class="cls-21"/>
<rect width="4.95" height="2.12" x="303.99" y="394.68" class="cls-61" rx="1.06" ry="1.06" transform="rotate(-83.23 306.474 395.745)"/>
<rect width="4.95" height="2.12" x="306.1" y="394.93" class="cls-61" rx="1.06" ry="1.06" transform="rotate(-83.23 308.58 395.994)"/>
<path d="M311 393.79a1.06 1.06 0 0 1 .93 1.18l-.33 2.81a1.06 1.06 0 0 1-1.18.93 1.06 1.06 0 0 1-.93-1.18l.33-2.81a1.06 1.06 0 0 1 1.18-.93z" class="cls-42"/>
<path d="M313.08 394a1.06 1.06 0 0 0-1.18.93l-.33 2.81a1.06 1.06 0 0 0 .93 1.18 1.06 1.06 0 0 0 1.18-.93l.33-2.81a1.06 1.06 0 0 0-.93-1.18zM321.85 395.08a1.06 1.06 0 0 1 .93 1.18l-.33 2.81a1.06 1.06 0 0 1-1.18.93 1.06 1.06 0 0 1-.93-1.18l.33-2.81a1.06 1.06 0 0 1 1.18-.93zM324 395.33a1.06 1.06 0 0 0-1.18.93l-.33 2.81a1.06 1.06 0 0 0 .93 1.18 1.06 1.06 0 0 0 1.18-.93l.33-2.81a1.06 1.06 0 0 0-.93-1.18z" class="cls-42"/>
<rect width="4.95" height="2.12" x="323.29" y="396.97" class="cls-61" rx="1.06" ry="1.06" transform="rotate(-83.23 325.77 398.033)"/>
<path d="M319.74 394.83a1.06 1.06 0 0 0-1.18.93l-.33 2.81a1.06 1.06 0 0 0 .93 1.18 1.06 1.06 0 0 0 1.18-.93l.33-2.81a1.06 1.06 0 0 0-.93-1.18z" class="cls-42"/>
<path d="M272.38 389.21a1.06 1.06 0 0 1 .93 1.18l-.31 2.8a1.06 1.06 0 0 1-1.18.93 1.06 1.06 0 0 1-.93-1.18l.33-2.81a1.06 1.06 0 0 1 1.16-.92z" class="cls-23"/>
<rect width="4.95" height="2.12" x="271.72" y="390.85" class="cls-62" rx="1.06" ry="1.06" transform="rotate(-83.23 274.19 391.91)"/>
<rect width="4.95" height="2.12" x="273.82" y="391.1" class="cls-62" rx="1.06" ry="1.06" transform="rotate(-83.23 276.302 392.165)"/>
<rect width="4.95" height="2.12" x="275.93" y="391.35" class="cls-62" rx="1.06" ry="1.06" transform="rotate(-83.23 278.407 392.413)"/>
<rect width="4.95" height="2.12" x="281.54" y="392.02" class="cls-62" rx="1.06" ry="1.06" transform="rotate(-83.23 284.02 393.08)"/>
<path d="M286.41 390.87a1.06 1.06 0 0 0-1.18.93l-.33 2.81a1.06 1.06 0 0 0 .93 1.18 1.06 1.06 0 0 0 1.18-.93l.33-2.81a1.06 1.06 0 0 0-.93-1.18z" class="cls-23"/>
<rect width="4.95" height="2.12" x="285.75" y="392.52" class="cls-62" rx="1.06" ry="1.06" transform="rotate(-83.23 288.23 393.576)"/>
<path d="M290.62 391.37a1.06 1.06 0 0 0-1.18.93l-.33 2.81a1.06 1.06 0 0 0 .93 1.18 1.06 1.06 0 0 0 1.18-.93l.33-2.81a1.06 1.06 0 0 0-.93-1.18z" class="cls-23"/>
<path d="M266.86 409.48s14.79 12.28 30.84 3.68l.83 1.55c-17.09 9.16-32.74-3.83-32.78-3.87zM301.23 413.56s14.79 12.28 30.84 3.68l.83 1.55c-17.09 9.16-32.74-3.83-32.79-3.87zM335.76 417.65s16.1 12.57 23.06 2.3l1.46 1c-8 11.84-25.55-1.85-25.6-1.89z" class="cls-21"/>
<path d="M264.27 412.88c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-16"/>
<path d="M263.6 410.06c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-20"/>
<path d="M263.6 410.06c-4.28 4.22-9.4 9.69-10.45 15a9.76 9.76 0 0 0 .73 6.08 11.44 11.44 0 0 0 5.61 2.35c7.17.6 11-4.13 11.17-9.11.2-4.44-2.23-9.59-4.85-14.11l-.81-.1z" class="cls-21"/>
<path d="M298.68 417c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17zM333.34 421.07c-4.28 4.22-9.41 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-16"/>
<path d="M332.35 418.21c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-20"/>
<path d="M332.35 418.21c-4.28 4.22-9.4 9.69-10.45 15a9.75 9.75 0 0 0 .73 6.08 11.44 11.44 0 0 0 5.61 2.35c7.17.6 11-4.13 11.17-9.11.2-4.44-2.23-9.59-4.85-14.11l-.81-.1z" class="cls-21"/>
<path d="M298 414.13c-4.28 4.22-9.4 9.69-10.45 15-1 4.89 1.62 10.37 8.73 11.47 7.17.6 11-4.13 11.17-9.11.24-5.45-3.46-12-6.63-17.07l-1.41-.17z" class="cls-20"/>
<path d="M298 414.13c-4.28 4.22-9.4 9.69-10.45 15a9.75 9.75 0 0 0 .73 6.08 11.44 11.44 0 0 0 5.61 2.35c7.17.6 11-4.13 11.17-9.11.2-4.44-2.23-9.59-4.85-14.11l-.81-.1zM263.57 409.08c-.05 0-18.86 8.36-23.22-3.25l-1.39.7c5 13.39 25.27 4.18 25.33 4.15z" class="cls-21"/>
<circle cx="299.56" cy="412.87" r="2.18" class="cls-63" transform="rotate(-83.23 299.563 412.878)"/>
<circle cx="265.19" cy="408.79" r="2.18" class="cls-63" transform="rotate(-83.23 265.19 408.8)"/>
<circle cx="333.93" cy="416.95" r="2.18" class="cls-63" transform="rotate(-83.23 333.935 416.956)"/>
<path d="M299.81 410.71a2.18 2.18 0 0 1 1.91 2.42v.09l-4.33-.51v-.09a2.18 2.18 0 0 1 2.42-1.91zM265.44 406.63a2.18 2.18 0 0 1 1.91 2.42v.09l-4.33-.51v-.09a2.18 2.18 0 0 1 2.42-1.91zM334.18 414.79a2.18 2.18 0 0 1 1.91 2.42v.09l-4.33-.51v-.09a2.18 2.18 0 0 1 2.42-1.91z" class="cls-64"/>
<path d="M359.32 417.89a2.18 2.18 0 0 1-1 4.15zM240.27 408a2.18 2.18 0 0 1 0-4.27V408z" class="cls-20"/>
<path d="M369.24 397.41l2.07 1.24c.59.35.93-.12 1.83-.68.69-.43 1.27-.29 2.63-.31a4.64 4.64 0 0 0 1.76-.67.89.89 0 0 0 .69-.8.78.78 0 0 0 .54-.87 1 1 0 0 1-.32-1.2.78.78 0 0 0-1-.45l-.14.06a.73.73 0 0 0-.8-.32 10.73 10.73 0 0 1-2.6.51.77.77 0 0 0-.13-.71.77.77 0 0 0-1.09-.11l-1.07.94a2.06 2.06 0 0 0-1.33.5 4.51 4.51 0 0 0-1.04 2.87z" class="cls-36"/>
<path d="M364 395.85c.1 1.88.85 6.82.86 6.82s1.51-2.23 4.88-6.84l2.36 2.78c-5.41 9-7.48 9.71-9.78 8-.88-.94-1.29-3.33-1.77-5.64a25.48 25.48 0 0 0-.91-3.54z" class="cls-36"/>
<path d="M364.57 397.44l-5.52.37-.75-11.32c4.14-.21 5.56 3.85 5.74 5.72z" class="cls-48"/>
<path d="M359.32 397.504l5.62-.49.165 1.903-5.62.49z" class="cls-65"/>
<circle cx="375.66" cy="391.02" r="4.54" class="cls-66" transform="rotate(-83.23 375.666 391.018)"/>
<path d="M373.7 386a2.64 2.64 0 1 0-2.32-.68 2.63 2.63 0 0 0 2.32.68z" class="cls-67"/>
<path d="M374.06 387.82a.23.23 0 1 1-.46.09 7.62 7.62 0 0 1 .67-3.77.23.23 0 1 1 .44.16 7.18 7.18 0 0 0-.65 3.52z" class="cls-68"/>
<circle cx="332.39" cy="150.75" r="145.02" class="cls-2" transform="rotate(-83.23 332.39 150.748)"/>
<path d="M405.16 72.93A203.65 203.65 0 0 0 377.3 62.8c.41 4.76.62 9.81.83 14.87 12.07-1.81 18.57-.56 27-4.75" class="cls-69"/>
<path d="M425.64 127.47a30.49 30.49 0 0 1 3.59 1.24c-.18-2.62-.17-5.38-.53-7.86a11.19 11.19 0 0 1-1 2 24 24 0 0 0-2 4.63" class="cls-70"/>
<path d="M310 254.66a25.25 25.25 0 0 1-.23-4.9 1.45 1.45 0 0 0-.07-.82 143.69 143.69 0 0 1-14.1-3c3.31 28.15 10.57 46.38 20.65 47.58a8 8 0 0 0 3.94-.34c-1.13-4.19-2.64-9.24-3.82-13-3.8-13.11-6.09-21.18-6.38-25.6" class="cls-71"/>
<path d="M268.12 55.36a200.3 200.3 0 0 1 45.05-6.18c7.06-19.78 15.52-35 24.35-42.4l-.52-.06c-26.12 2.58-50.68 20.77-68.92 48.64" class="cls-72"/>
<path d="M371 55.56C367.72 27.25 360.45 9.18 350.21 8S328.66 22.61 319 49.39a219.09 219.09 0 0 1 52 6.18" class="cls-73"/>
<path d="M339.25 92.05c7.6-6.57 10.54-5.4 20.9-9.21a129.19 129.19 0 0 1 12.65-4c-.24-6.2-.67-12.09-1.15-17.67a224 224 0 0 0-54.59-6.48c-2.22 6.39-4.16 13.14-6.13 20.21 10.73 2.57 20.94 6.87 28.32 17.16" class="cls-74"/>
<path d="M293.63 209.69c.17 10.9.55 21.33 1.23 30.67 4.73 1.21 9.49 2.1 14.24 3.15a31.34 31.34 0 0 0-2.33-7.74c-1.7-3.45-7.57-15.51-13.14-26.07" class="cls-75"/>
<path d="M363.1 10.14C369 18 373.47 32.15 376 52.25a24.12 24.12 0 0 1 .41 4.76 199.77 199.77 0 0 1 33.89 12.3 34.31 34.31 0 0 0 4.65-5c-11.25-27-29.36-46.67-51.85-54.21" class="cls-76"/>
<path d="M434.69 130.49c19.78 7.06 35 15.52 42.4 24.35l.06-.48c-2-21.5-14.52-41.82-34.6-58.65-2.79 4.38-5.66 9.39-9 15.65.54 6.4 1.08 12.79 1.14 19.13" class="cls-70"/>
<path d="M475.89 167.69c1.2-10.09-14.65-21.54-41.43-31.22a219.09 219.09 0 0 1-6.18 52c28.31-3.3 46.38-10.57 47.6-20.81" class="cls-77"/>
<path d="M394.74 175.75l-9.68 9.08c-.83 1.52-1.86 3.35-2.91 5.34a368.06 368.06 0 0 0 40.74-1.33 224 224 0 0 0 6.48-54.59c-1.7-.69-3.75-1.26-5.77-2-.06.48-.26.78-.31 1.26-4.09 11.2-8.67 23.81-28.55 42.23" class="cls-78"/>
<path d="M427.13 194.2a202.69 202.69 0 0 1-16.55 42.35c31.54-11.35 55-31 63.26-55.64v-.16c-7.86 6-22 10.53-42.15 13.18a26.83 26.83 0 0 0-4.58.27" class="cls-79"/>
<path d="M373 275.12A123.43 123.43 0 0 0 398.26 246c-5.87 1.58-11.84 2.65-18.15 3.85a54.87 54.87 0 0 1-3.77 14c-1.06 3.45-2.28 6.87-3.29 11.3" class="cls-80"/>
<path d="M214.35 81.61C227.3 71 243.51 63 260.2 57.83c12.37-20.77 29.47-39 50.13-48.92A145 145 0 0 0 206 83.38a69.68 69.68 0 0 1 8.33-1.77" class="cls-81"/>
<path d="M363.77 224.67l-.22.46c8.12 4 16.35 11.36 16.87 17.91-.06.48.07.82 0 1.3a168 168 0 0 0 22.2-5.16A191.78 191.78 0 0 0 421 194.94a410.77 410.77 0 0 1-42.18 1.16l-2.94 5.66c-5.18 9.45-10.62 19.68-12.14 22.91" class="cls-82"/>
<path d="M445.38 91c12.56 10.42 23.28 22.73 29.74 36.65a142.73 142.73 0 0 0-19.3-52.13c-1.21 2-2.75 4.06-4.3 6.15-1.64 2.89-3.8 6-6.14 9.34" class="cls-83"/>
<path d="M388.94 18.08c12.56 10.42 22.59 24.43 29.94 40.41A77.24 77.24 0 0 0 425 40a138.12 138.12 0 0 0-36-22" class="cls-84"/>
<path d="M240.31 224c-20.77-12.37-39-29.47-48.92-50.13a144.52 144.52 0 0 0 86.34 109.6c-17.79-14.29-30.1-36.37-37.42-59.48" class="cls-85"/>
<path d="M406.48 243.7c-9.28 15.29-21.21 29.63-34.93 39.85-.41 2.06-.64 4-1.22 6.19a144.16 144.16 0 0 0 95.76-83.28c-14.61 17.75-36.37 30.1-59.62 37.24" class="cls-86"/>
<path d="M255.76 65.09a127 127 0 0 0-29.68 14.82A212.18 212.18 0 0 0 251 75.08c1.54-3.39 3.24-6.76 4.76-10" class="cls-87"/>
<path d="M273.64 69c17.82 3.09 31.71 5.06 31.71 5.06 1.76-6.61 3.68-13.2 5.84-19.11a189.68 189.68 0 0 0-47.32 7.53c-1.86 3.35-3.72 6.7-5.6 10.21 8.48-3.05 7-4.36 15.37-3.69" class="cls-88"/>
<path d="M269.73 169c-6.85-5.2-12.47-11.22-17.8-16.89a132.84 132.84 0 0 0-13.08-12.92 263.93 263.93 0 0 0-1.67 27.72 379.55 379.55 0 0 0 40.74 11 15.6 15.6 0 0 0-2.62-3.88 34.76 34.76 0 0 0-5.57-5" class="cls-89"/>
<path d="M237.84 216.06a200.3 200.3 0 0 1-6.17-45.06c-19.16-6.82-33.8-14.73-41.54-23.44l-.88.55c3.28 25.71 21.19 49.92 48.59 67.94" class="cls-90"/>
<path d="M281.36 184.53A426.21 426.21 0 0 1 237.44 173a189.68 189.68 0 0 0 7.56 47.31 191.78 191.78 0 0 0 44.25 18.4 327.53 327.53 0 0 1-.95-39.89c-2-3.65-3.85-8.57-6.91-14.29" class="cls-3"/>
<path d="M211.14 134.64l-.18.14-15.78 9.82c6.32 6.92 19.28 14 36.7 20.43a201 201 0 0 1 2-29.47 28.08 28.08 0 0 0-10.9-3.89 15.51 15.51 0 0 0-11.88 3" class="cls-91"/>
<path d="M289.81 244.63a202.69 202.69 0 0 1-42.35-16.55c11.35 31.54 31 55 55.64 63.26h.16c-6-7.86-10.53-22-13.18-42.15a16.72 16.72 0 0 0-.27-4.58" class="cls-92"/>
<path d="M223.71 125.9c13.45 1.6 24 12.75 32.75 22.23 5.35 5.51 10.65 11.49 17 16.47a28.42 28.42 0 0 1 6.4 6.28 26.83 26.83 0 0 1 4.38 6.85c1.3 2.75 2.37 4.66 3.17 4.76 1.6.19 5.33-1.15 6.14-3.82 1.93-5.29-2.75-11-6.45-15.38-5-6.11-12.6-16.92-14.47-21.69-15-38.14 30.95-62.4 53.95-38.73 2.85-2.1 5.79-5 8-6.85-11.84-16.5-31.79-15.3-51.47-19.1-2.86-.5-10.79-2.09-13.11-1.72a28.57 28.57 0 0 0-6.6 2.3c-19.45 7.92-44.85 7.18-61 13.7a144.06 144.06 0 0 0-11.87 42.59c-.29 2.4-.57 4.8-.71 7.38L208 130a21 21 0 0 1 15.75-4.14" class="cls-93"/>
<path d="M374.24 84.51c-8 2-14.58 5.25-19.24 6.16-8.85 2-10.25 4.3-17.31 10.45a93 93 0 0 1-7.78 6.71 3.59 3.59 0 0 0 .55 2.18c1.86 3.47 5.2 2.73 8.4.35 33.68-25.22 54.89 2.62 56.14 18 .62 7.05 0 17.86-10.39 34.16 3.83 1.92 6.43 4.66 6.39 9 25.39-23.77 23.77-36.14 31.61-51.61C437.2 90.2 446 80.69 452.87 70.31a142.92 142.92 0 0 0-22.42-25.88C419.61 88 393.11 80.1 374.24 84.51" class="cls-94"/>
<path d="M367.08 274.74c2.36-13 8.36-18.49 7.46-31.42-.26-3.28-7.33-10.77-16-14.08l-2.82-.82 2.86-6.32c1.79-4.17 9.68-18.66 16.52-31.16.81-1.36 9.38-16.09 9.38-18.85-.2-2.46-2.73-4.38-4.65-4.61s-4.26 3.07-6.76 6.34c-3.43 4.3-5.73 8.57-8.66 12.77-3.13 4.5-6.62 9.28-10.31 14.36q-5.56 7.86-12.85 18a9.13 9.13 0 0 1-9.11 4.28c-3.2-.38-6.77-1.78-7.64-2.69s-21.65-31-26.91-37.29a12.8 12.8 0 0 1-8.51 4.67c7 13.81 20.46 39.6 23.07 44.95 3.91 8.09 3.18 12.88 3.81 21.23.26 6 7.51 27 10.81 40.24A143.35 143.35 0 0 0 364 291.1c1-5.56 2.13-11.11 3.08-16.36" class="cls-95"/>
<path d="M163 44.29a25.89 25.89 0 0 0-20.48 10 20.92 20.92 0 0 0-20.27 17.21 12.57 12.57 0 0 0-1.89-.14 12.38 12.38 0 1 0 0 24.77c30.16 0 66.81-1.64 100-1.64a9.55 9.55 0 1 0 0-19.11 9.68 9.68 0 0 0-1.92.19 19.38 19.38 0 0 0-31.2-14.72A25.94 25.94 0 0 0 163 44.29z" class="cls-4"/>
<path d="M167.72 295.05c2.43.86 4.29 2.11 7 1.43s5.42-1.17 6.39-.5 8.28 8 12.53 20.36-1.93 2.83-4 1.35-7.11-10.44-9.28-11.65-8.44.11-14.24-2c-1.7-.63-4.15.45-5.16 3.15s-1.93 6.53-1.93 6.53-5.38 1-10.92-5.66c1.81-1.85 6.19-4.06 7.18-5.23.41-1.12-.83-2.46-2-3.37a64.77 64.77 0 0 1-7.81-6.77c-2.3-2.63-4.87-1.72-7.8-1.58s-8.72 1.25-11.19 1.08-6.23.22-.57-2.3 19.5-7.48 24.5-6.46c3.25.67 2.67 1.71 4.19 3.69s4.68 6.38 6.9 4.7a17.2 17.2 0 0 1 4.86-3c1.49-.52 2.92-.15 2.4 1.56s-1.05 4.67-1.05 4.67z" class="cls-96"/>
<path d="M171.42 288.28a4 4 0 0 0-3.2.9c-.66.75.57.91.82.78a26 26 0 0 1 2.38-1.68z" class="cls-97"/>
<ellipse cx="166.11" cy="289.09" class="cls-98" rx=".48" ry=".38" transform="rotate(-34.42 166.098 289.075)"/>
<path d="M118.86 326c1.88.3 3.4 1 5.29.11s3.78-1.57 4.57-1.21 7.07 4.68 11.8 13.12-1 2.31-2.69 1.5-6.55-6.63-8.28-7.23-6.11 1.2-10.61.42c-1.31-.23-3 .87-3.33 3s-.54 5-.54 5-3.78 1.42-8.68-2.66c1.07-1.58 4-3.77 4.52-4.75.15-.87-.93-1.67-1.87-2.19a47.81 47.81 0 0 1-6.57-3.88c-2-1.61-3.77-.61-5.87-.11s-6.17 2.06-8 2.27-4.5 1-.72-1.6 13.17-8 16.93-7.94c2.45.05 2.17.89 3.54 2.12s4.25 4 5.64 2.5a12.69 12.69 0 0 1 3.13-2.81c1-.57 2.1-.49 1.95.81s-.21 3.53-.21 3.53z" class="cls-96"/>
<path d="M120.65 320.64a2.92 2.92 0 0 0-2.21 1.08c-.38.63.53.59.7.46a19.22 19.22 0 0 1 1.51-1.54z" class="cls-97"/>
<ellipse cx="116.9" cy="321.94" class="cls-98" rx=".35" ry=".28" transform="rotate(-44.77 116.913 321.942)"/>
<path d="M117.91 237.8c1.29-.47 2.69-1.4 3.91-4.27s2-2.28 4.38-3.45a25.09 25.09 0 0 1 8.88-1.92c3-.18-2.8 3.39-4 4s-3.8 1.4-4.09 2.34a18.45 18.45 0 0 1-2.63 4.5c-.76.76-3.16 2.63-2.34 3.68s3.91 2.1 4.27 2.22-1 3.8-4.5 4.33a23.51 23.51 0 0 1-1.76-4c-.29-.65-1.87-1-3.39.47s-4.32 2.1-5.49 2.4-3 3.27-4.55 4.38-3.45 3-4.33 3.27.53-4 1.11-5a63.46 63.46 0 0 1 5.37-7c.88-.7 2.87-.64 4.62-1.75s1.75-1.23 1.69-1.81-1.87-2.16-2.1-2.75.24-.93 1-.87a11.35 11.35 0 0 1 3.95 1.23z" class="cls-96"/>
<path d="M111.55 236.06a15.21 15.21 0 0 1 1.52 1.25c.22.25.6-.38.55-.58a2.87 2.87 0 0 0-2.07-.67z" class="cls-97"/>
<ellipse cx="114.62" cy="236.83" class="cls-98" rx=".27" ry=".21"/>
</svg>

After

Width:  |  Height:  |  Size: 55 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View File

@ -13852,6 +13852,14 @@ raw-loader@3.1.0, raw-loader@^3.1.0:
loader-utils "^1.1.0"
schema-utils "^2.0.1"
raw-loader@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.1.tgz#14e1f726a359b68437e183d5a5b7d33a3eba6933"
integrity sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==
dependencies:
loader-utils "^2.0.0"
schema-utils "^2.6.5"
rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"