diff options
author | Thomas Citharel <tcit@tcit.fr> | 2017-04-30 09:16:55 +0200 |
---|---|---|
committer | Thomas Citharel <tcit@tcit.fr> | 2017-06-14 17:53:52 +0200 |
commit | 0f8268c93e6210d368f9dcd1900274871a9eacdf (patch) | |
tree | 251024ae114d2a14a67399ba28d02ddb6d031bad | |
parent | f93a3109a5f0999dbbd69131c9e5041c390120c9 (diff) | |
download | wallabag-oauth-changes.tar.gz wallabag-oauth-changes.tar.zst wallabag-oauth-changes.zip |
Add client_credentials as grant_typeoauth-changes
Therefore, username and password are no longer needed
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Allow to have global clients, auth through direct token or auth code and bring scopes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
fix review
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
remove redirect uri requirement on specific clients
add back password and depreciate it
enforce state
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Allow apps to register themselves
A handful of changes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
change timeout values
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
set access_token lifetime to 1 year and double for refresh_token
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
47 files changed, 4467 insertions, 696 deletions
diff --git a/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig new file mode 100644 index 00000000..42566a05 --- /dev/null +++ b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize.html.twig | |||
@@ -0,0 +1,7 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | ||
2 | |||
3 | {% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %} | ||
4 | |||
5 | {% block content %} | ||
6 | {% include "FOSOAuthServerBundle:Authorize:authorize_content.html.twig" %} | ||
7 | {% endblock content %} | ||
diff --git a/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig new file mode 100644 index 00000000..d7f2dbe0 --- /dev/null +++ b/app/Resources/FOSOAuthServerBundle/views/Authorize/authorize_content.html.twig | |||
@@ -0,0 +1,53 @@ | |||
1 | <div class="row"> | ||
2 | <div class="col s12"> | ||
3 | <h4>A new application would like to connect to your account</h4> | ||
4 | |||
5 | <div class="center-align col l6 offset-l3"> | ||
6 | <div class="row"> | ||
7 | <ul class="collection"> | ||
8 | <li class="collection-item avatar"> | ||
9 | {% if client.image %} | ||
10 | <img src="{{ client.image }}" alt="Client icon" class="circle"> | ||
11 | {% endif %} | ||
12 | <span class="title">{{ client.name }}</span> | ||
13 | <p>{{ client.description }}</p> | ||
14 | </li> | ||
15 | </ul> | ||
16 | {% set scopes = form.scope.vars.value | split(' ') %} | ||
17 | {# TODO : Fix me when https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/issues/309 is ok #} | ||
18 | <ul class="collapsible col s12 m12 l6 offset-l3" data-collapsible="accordion"> | ||
19 | {% for scope in scopes %} | ||
20 | {% if scope == 'read' %} | ||
21 | <li> | ||
22 | <div class="collapsible-header"><i class="material-icons">visibility</i>Read Permission</div> | ||
23 | <div class="collapsible-body"><span>{{ client.name }} will be able to access the list and contents of your entries, tags and annotations.</span></div> | ||
24 | </li> | ||
25 | {% endif %} | ||
26 | {% if scope == 'write' %} | ||
27 | <li> | ||
28 | <div class="collapsible-header"><i class="material-icons">edit</i>Edit Permission</div> | ||
29 | <div class="collapsible-body"><span>{{ client.name }} will be able to edit and manage (including deleting) your entries, tags and annotations.</span></div> | ||
30 | </li> | ||
31 | {% endif %} | ||
32 | {% if scope == 'user' %} | ||
33 | <li> | ||
34 | <div class="collapsible-header"><i class="material-icons">person</i>User Permission</div> | ||
35 | <div class="collapsible-body"><span>{{ client.name }} will be able to manage your user account.</span></div> | ||
36 | </li> | ||
37 | {% endif %} | ||
38 | {% endfor %} | ||
39 | </ul> | ||
40 | </div> | ||
41 | {{ form_start(form, {'method': 'POST', 'action': path('fos_oauth_server_authorize'), 'label_attr': {'class': 'fos_oauth_server_authorize'} }) }} | ||
42 | <input class="waves-effect waves-light btn red" type="submit" name="rejected" value="{{ 'authorize.reject'|trans({}, 'FOSOAuthServerBundle') }}" /> | ||
43 | <input class="waves-effect waves-light btn" type="submit" name="accepted" value="{{ 'authorize.accept'|trans({}, 'FOSOAuthServerBundle') }}" /> | ||
44 | {{ form_row(form.client_id) }} | ||
45 | {{ form_row(form.response_type) }} | ||
46 | {{ form_row(form.redirect_uri) }} | ||
47 | {{ form_row(form.state) }} | ||
48 | {{ form_row(form.scope) }} | ||
49 | {{ form_rest(form) }} | ||
50 | </form> | ||
51 | </div> | ||
52 | </div> | ||
53 | </div> | ||
diff --git a/app/Resources/static/themes/material/css/various.scss b/app/Resources/static/themes/material/css/various.scss index 7daf40ec..5ff18038 100644 --- a/app/Resources/static/themes/material/css/various.scss +++ b/app/Resources/static/themes/material/css/various.scss | |||
@@ -30,3 +30,30 @@ nav .input-field input { | |||
30 | .tab { | 30 | .tab { |
31 | flex: 1; | 31 | flex: 1; |
32 | } | 32 | } |
33 | |||
34 | .slider .slides { | ||
35 | background: #00acc1; | ||
36 | |||
37 | li { | ||
38 | img { | ||
39 | background: no-repeat; | ||
40 | background-size: contain; | ||
41 | background-position: unset; | ||
42 | } | ||
43 | |||
44 | .icon { | ||
45 | width: auto; | ||
46 | height: 180px; | ||
47 | } | ||
48 | |||
49 | .icon.browser { | ||
50 | width: auto; | ||
51 | height: 100px; | ||
52 | } | ||
53 | |||
54 | .caption { | ||
55 | width: 85%; | ||
56 | left: 10%; | ||
57 | } | ||
58 | } | ||
59 | } | ||
diff --git a/app/Resources/static/themes/material/index.js b/app/Resources/static/themes/material/index.js index d6afbb8a..74f64f9e 100755 --- a/app/Resources/static/themes/material/index.js +++ b/app/Resources/static/themes/material/index.js | |||
@@ -75,4 +75,10 @@ $(document).ready(() => { | |||
75 | const scrollPercent = (s / (d - c)) * 100; | 75 | const scrollPercent = (s / (d - c)) * 100; |
76 | $('.progress .determinate').css('width', `${scrollPercent}%`); | 76 | $('.progress .determinate').css('width', `${scrollPercent}%`); |
77 | }); | 77 | }); |
78 | |||
79 | if ($('.slider')) { | ||
80 | $('.slider').slider({ | ||
81 | height: 500, | ||
82 | }); | ||
83 | } | ||
78 | }); | 84 | }); |
diff --git a/app/config/config.yml b/app/config/config.yml index 2bc5e3b3..112fa012 100644 --- a/app/config/config.yml +++ b/app/config/config.yml | |||
@@ -35,6 +35,42 @@ framework: | |||
35 | http_method_override: true | 35 | http_method_override: true |
36 | assets: ~ | 36 | assets: ~ |
37 | 37 | ||
38 | wallabag_core: | ||
39 | version: 2.2.3 | ||
40 | paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" | ||
41 | languages: | ||
42 | en: 'English' | ||
43 | fr: 'Français' | ||
44 | de: 'Deutsch' | ||
45 | tr: 'Türkçe' | ||
46 | fa: 'فارسی' | ||
47 | ro: 'Română' | ||
48 | pl: 'Polish' | ||
49 | da: 'Dansk' | ||
50 | es: 'Español' | ||
51 | oc: 'Occitan' | ||
52 | it: 'Italiano' | ||
53 | pt: 'Português' | ||
54 | items_on_page: 12 | ||
55 | theme: material | ||
56 | language: '%locale%' | ||
57 | rss_limit: 50 | ||
58 | reading_speed: 1 | ||
59 | cache_lifetime: 10 | ||
60 | action_mark_as_read: 1 | ||
61 | list_mode: 0 | ||
62 | fetching_error_message_title: 'No title found' | ||
63 | fetching_error_message: | | ||
64 | wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>. | ||
65 | api_limit_mass_actions: 10 | ||
66 | |||
67 | wallabag_user: | ||
68 | registration_enabled: "%fosuser_registration%" | ||
69 | |||
70 | wallabag_import: | ||
71 | allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv'] | ||
72 | resource_dir: "%kernel.root_dir%/../web/uploads/import" | ||
73 | |||
38 | # Twig Configuration | 74 | # Twig Configuration |
39 | twig: | 75 | twig: |
40 | debug: "%kernel.debug%" | 76 | debug: "%kernel.debug%" |
@@ -194,7 +230,11 @@ fos_oauth_server: | |||
194 | service: | 230 | service: |
195 | user_provider: fos_user.user_provider.username_email | 231 | user_provider: fos_user.user_provider.username_email |
196 | options: | 232 | options: |
197 | refresh_token_lifetime: 1209600 | 233 | access_token_lifetime: 31536000 |
234 | refresh_token_lifetime: 63072000 | ||
235 | supported_scopes: read write user | ||
236 | enforce_state: true | ||
237 | auth_code_lifetime: 60 | ||
198 | 238 | ||
199 | scheb_two_factor: | 239 | scheb_two_factor: |
200 | trusted_computer: | 240 | trusted_computer: |
diff --git a/app/config/routing.yml b/app/config/routing.yml index 0bd2d130..5d26f944 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml | |||
@@ -44,6 +44,9 @@ fos_user: | |||
44 | fos_oauth_server_token: | 44 | fos_oauth_server_token: |
45 | resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" | 45 | resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" |
46 | 46 | ||
47 | fos_oauth_server_authorize: | ||
48 | resource: "@FOSOAuthServerBundle/Resources/config/routing/authorize.xml" | ||
49 | |||
47 | craue_config_settings_modify: | 50 | craue_config_settings_modify: |
48 | path: /settings | 51 | path: /settings |
49 | defaults: | 52 | defaults: |
diff --git a/app/config/security.yml b/app/config/security.yml index ffb1d356..0ce37661 100644 --- a/app/config/security.yml +++ b/app/config/security.yml | |||
@@ -57,6 +57,7 @@ security: | |||
57 | - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY } | 57 | - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY } |
58 | - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY } | 58 | - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY } |
59 | - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY } | 59 | - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY } |
60 | - { path: ^/api/apps, roles: IS_AUTHENTICATED_ANONYMOUSLY } | ||
60 | - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } | 61 | - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } |
61 | - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } | 62 | - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } |
62 | - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } | 63 | - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } |
diff --git a/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php b/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php index 2dd26c07..c524a24c 100644 --- a/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php +++ b/src/Wallabag/ApiBundle/Controller/AnnotationRestController.php | |||
@@ -4,6 +4,7 @@ namespace Wallabag\ApiBundle\Controller; | |||
4 | 4 | ||
5 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; | 5 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; |
6 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; | 6 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; |
7 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | ||
7 | use Symfony\Component\HttpFoundation\Request; | 8 | use Symfony\Component\HttpFoundation\Request; |
8 | use Symfony\Component\HttpFoundation\JsonResponse; | 9 | use Symfony\Component\HttpFoundation\JsonResponse; |
9 | use Wallabag\CoreBundle\Entity\Entry; | 10 | use Wallabag\CoreBundle\Entity\Entry; |
@@ -21,7 +22,7 @@ class AnnotationRestController extends WallabagRestController | |||
21 | * ) | 22 | * ) |
22 | * | 23 | * |
23 | * @param Entry $entry | 24 | * @param Entry $entry |
24 | * | 25 | * @Security("has_role('ROLE_READ')") |
25 | * @return JsonResponse | 26 | * @return JsonResponse |
26 | */ | 27 | */ |
27 | public function getAnnotationsAction(Entry $entry) | 28 | public function getAnnotationsAction(Entry $entry) |
@@ -46,7 +47,7 @@ class AnnotationRestController extends WallabagRestController | |||
46 | * | 47 | * |
47 | * @param Request $request | 48 | * @param Request $request |
48 | * @param Entry $entry | 49 | * @param Entry $entry |
49 | * | 50 | * @Security("has_role('ROLE_WRITE')") |
50 | * @return JsonResponse | 51 | * @return JsonResponse |
51 | */ | 52 | */ |
52 | public function postAnnotationAction(Request $request, Entry $entry) | 53 | public function postAnnotationAction(Request $request, Entry $entry) |
@@ -72,7 +73,7 @@ class AnnotationRestController extends WallabagRestController | |||
72 | * | 73 | * |
73 | * @param Annotation $annotation | 74 | * @param Annotation $annotation |
74 | * @param Request $request | 75 | * @param Request $request |
75 | * | 76 | * @Security("has_role('ROLE_WRITE')") |
76 | * @return JsonResponse | 77 | * @return JsonResponse |
77 | */ | 78 | */ |
78 | public function putAnnotationAction(Annotation $annotation, Request $request) | 79 | public function putAnnotationAction(Annotation $annotation, Request $request) |
@@ -97,7 +98,7 @@ class AnnotationRestController extends WallabagRestController | |||
97 | * @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation") | 98 | * @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation") |
98 | * | 99 | * |
99 | * @param Annotation $annotation | 100 | * @param Annotation $annotation |
100 | * | 101 | * @Security("has_role('ROLE_WRITE')") |
101 | * @return JsonResponse | 102 | * @return JsonResponse |
102 | */ | 103 | */ |
103 | public function deleteAnnotationAction(Annotation $annotation) | 104 | public function deleteAnnotationAction(Annotation $annotation) |
diff --git a/src/Wallabag/ApiBundle/Controller/AppsController.php b/src/Wallabag/ApiBundle/Controller/AppsController.php new file mode 100644 index 00000000..6ef77667 --- /dev/null +++ b/src/Wallabag/ApiBundle/Controller/AppsController.php | |||
@@ -0,0 +1,189 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ApiBundle\Controller; | ||
4 | |||
5 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; | ||
6 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | ||
7 | use Symfony\Component\Finder\Exception\AccessDeniedException; | ||
8 | use Symfony\Component\HttpFoundation\JsonResponse; | ||
9 | use Symfony\Component\HttpFoundation\Request; | ||
10 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; | ||
11 | use Wallabag\ApiBundle\Entity\AccessToken; | ||
12 | use Wallabag\ApiBundle\Entity\Client; | ||
13 | use Wallabag\ApiBundle\Form\Type\ClientType; | ||
14 | |||
15 | class AppsController extends Controller | ||
16 | { | ||
17 | /** | ||
18 | * List all clients and link to create a new one. | ||
19 | * | ||
20 | * @Route("/apps", name="apps") | ||
21 | * | ||
22 | * @return \Symfony\Component\HttpFoundation\Response | ||
23 | */ | ||
24 | public function indexAction() | ||
25 | { | ||
26 | $clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findByUser($this->getUser()->getId()); | ||
27 | |||
28 | $apps = $this->getDoctrine()->getRepository('WallabagApiBundle:AccessToken')->findAppsByUser($this->getUser()->getId()); | ||
29 | |||
30 | return $this->render('@WallabagCore/themes/common/Developer/index.html.twig', [ | ||
31 | 'clients' => $clients, | ||
32 | 'apps' => $apps, | ||
33 | ]); | ||
34 | } | ||
35 | |||
36 | /** | ||
37 | * Create a an app | ||
38 | * | ||
39 | * @param Request $request | ||
40 | * | ||
41 | * @Route("/api/apps", name="apps_create") | ||
42 | * @Method("POST") | ||
43 | * | ||
44 | * @return \Symfony\Component\HttpFoundation\Response | ||
45 | */ | ||
46 | public function createAppAction(Request $request) | ||
47 | { | ||
48 | $em = $this->getDoctrine()->getManager(); | ||
49 | |||
50 | $clientName = $request->request->get('client_name'); | ||
51 | $redirectURIs = $request->request->get('redirect_uris'); | ||
52 | $logoURI = $request->request->get('logo_uri'); | ||
53 | $description = $request->request->get('description'); | ||
54 | $appURI = $request->request->get('app_uri'); | ||
55 | $nextRedirect = $request->request->get('uri_redirect_after_creation'); | ||
56 | |||
57 | if (!$clientName) { | ||
58 | return new JsonResponse([ | ||
59 | 'error' => 'invalid_client_name', | ||
60 | 'error_description' => 'The client name cannot be empty', | ||
61 | ], 400); | ||
62 | } | ||
63 | |||
64 | if (!$redirectURIs) { | ||
65 | return new JsonResponse([ | ||
66 | 'error' => 'invalid_redirect_uri', | ||
67 | 'error_description' => 'One or more redirect_uri values are invalid', | ||
68 | ], 400); | ||
69 | } | ||
70 | |||
71 | $redirectURIs = (array) $redirectURIs; | ||
72 | |||
73 | $client = new Client(); | ||
74 | |||
75 | $client->setName($clientName); | ||
76 | |||
77 | $client->setDescription($description); | ||
78 | |||
79 | $client->setRedirectUris($redirectURIs); | ||
80 | |||
81 | $client->setImage($logoURI); | ||
82 | $client->setAppUrl($appURI); | ||
83 | |||
84 | $client->setAllowedGrantTypes(['token', 'refresh_token', 'authorization_code']); | ||
85 | $em->persist($client); | ||
86 | $em->flush(); | ||
87 | |||
88 | return new JsonResponse([ | ||
89 | 'client_id' => $client->getPublicId(), | ||
90 | 'client_secret' => $client->getSecret(), | ||
91 | 'client_name' => $client->getName(), | ||
92 | 'redirect_uri' => $client->getRedirectUris(), | ||
93 | 'description' => $client->getDescription(), | ||
94 | 'logo_uri' => $client->getImage(), | ||
95 | 'app_uri' => $client->getAppUrl(), | ||
96 | ], 201); | ||
97 | } | ||
98 | |||
99 | /** | ||
100 | * Create a client (an app). | ||
101 | * | ||
102 | * @param Request $request | ||
103 | * | ||
104 | * @Route("/apps/client/create", name="apps_create_client") | ||
105 | * | ||
106 | * @return \Symfony\Component\HttpFoundation\Response | ||
107 | */ | ||
108 | public function createClientAction(Request $request) | ||
109 | { | ||
110 | $em = $this->getDoctrine()->getManager(); | ||
111 | $client = new Client($this->getUser()); | ||
112 | $clientForm = $this->createForm(ClientType::class, $client); | ||
113 | $clientForm->handleRequest($request); | ||
114 | |||
115 | if ($clientForm->isSubmitted() && $clientForm->isValid()) { | ||
116 | $client->setAllowedGrantTypes(['password', 'token', 'refresh_token', 'client_credentials']); // Password is depreciated | ||
117 | $em->persist($client); | ||
118 | $em->flush(); | ||
119 | |||
120 | $this->get('session')->getFlashBag()->add( | ||
121 | 'notice', | ||
122 | $this->get('translator')->trans('flashes.developer.notice.client_created', ['%name%' => $client->getName()]) | ||
123 | ); | ||
124 | |||
125 | return $this->render('@WallabagCore/themes/common/Developer/client_parameters.html.twig', [ | ||
126 | 'client_id' => $client->getPublicId(), | ||
127 | 'client_secret' => $client->getSecret(), | ||
128 | 'client_name' => $client->getName(), | ||
129 | ]); | ||
130 | } | ||
131 | |||
132 | return $this->render('@WallabagCore/themes/common/Developer/client.html.twig', [ | ||
133 | 'form' => $clientForm->createView(), | ||
134 | ]); | ||
135 | } | ||
136 | |||
137 | /** | ||
138 | * Revoke an access token | ||
139 | * @param $token | ||
140 | * @Route("/api/revoke/{token}", name="apps_revoke_access_token") | ||
141 | * @return JsonResponse | ||
142 | */ | ||
143 | public function removeAccessTokenAction($token) | ||
144 | { | ||
145 | if (false === $this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) { | ||
146 | throw new AccessDeniedException(); | ||
147 | } | ||
148 | |||
149 | $em = $this->getDoctrine()->getManager(); | ||
150 | $accessToken = $em->getRepository('WallabagApiBundle:AccessToken')->findOneBy([ | ||
151 | 'user' => $this->getUser()->getId(), | ||
152 | 'token' => $token | ||
153 | ]); | ||
154 | if ($accessToken) { | ||
155 | $em->remove($accessToken); | ||
156 | $em->flush(); | ||
157 | |||
158 | return new JsonResponse([], 204); | ||
159 | } | ||
160 | return new JsonResponse([], 404); | ||
161 | } | ||
162 | |||
163 | /** | ||
164 | * Remove a client. | ||
165 | * | ||
166 | * @param Client $client | ||
167 | * | ||
168 | * @Route("/apps/client/delete/{id}", requirements={"id" = "\d+"}, name="apps_delete_client") | ||
169 | * | ||
170 | * @return \Symfony\Component\HttpFoundation\RedirectResponse | ||
171 | */ | ||
172 | public function deleteClientAction(Client $client) | ||
173 | { | ||
174 | if (null === $this->getUser() || $client->getUser()->getId() != $this->getUser()->getId()) { | ||
175 | throw $this->createAccessDeniedException('You can not access this client.'); | ||
176 | } | ||
177 | |||
178 | $em = $this->getDoctrine()->getManager(); | ||
179 | $em->remove($client); | ||
180 | $em->flush(); | ||
181 | |||
182 | $this->get('session')->getFlashBag()->add( | ||
183 | 'notice', | ||
184 | $this->get('translator')->trans('flashes.developer.notice.client_deleted', ['%name%' => $client->getName()]) | ||
185 | ); | ||
186 | |||
187 | return $this->redirect($this->generateUrl('apps')); | ||
188 | } | ||
189 | } | ||
diff --git a/src/Wallabag/ApiBundle/Controller/DeveloperController.php b/src/Wallabag/ApiBundle/Controller/DeveloperController.php deleted file mode 100644 index 9cb1b626..00000000 --- a/src/Wallabag/ApiBundle/Controller/DeveloperController.php +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ApiBundle\Controller; | ||
4 | |||
5 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | ||
6 | use Symfony\Component\HttpFoundation\Request; | ||
7 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; | ||
8 | use Wallabag\ApiBundle\Entity\Client; | ||
9 | use Wallabag\ApiBundle\Form\Type\ClientType; | ||
10 | |||
11 | class DeveloperController extends Controller | ||
12 | { | ||
13 | /** | ||
14 | * List all clients and link to create a new one. | ||
15 | * | ||
16 | * @Route("/developer", name="developer") | ||
17 | * | ||
18 | * @return \Symfony\Component\HttpFoundation\Response | ||
19 | */ | ||
20 | public function indexAction() | ||
21 | { | ||
22 | $clients = $this->getDoctrine()->getRepository('WallabagApiBundle:Client')->findByUser($this->getUser()->getId()); | ||
23 | |||
24 | return $this->render('@WallabagCore/themes/common/Developer/index.html.twig', [ | ||
25 | 'clients' => $clients, | ||
26 | ]); | ||
27 | } | ||
28 | |||
29 | /** | ||
30 | * Create a client (an app). | ||
31 | * | ||
32 | * @param Request $request | ||
33 | * | ||
34 | * @Route("/developer/client/create", name="developer_create_client") | ||
35 | * | ||
36 | * @return \Symfony\Component\HttpFoundation\Response | ||
37 | */ | ||
38 | public function createClientAction(Request $request) | ||
39 | { | ||
40 | $em = $this->getDoctrine()->getManager(); | ||
41 | $client = new Client($this->getUser()); | ||
42 | $clientForm = $this->createForm(ClientType::class, $client); | ||
43 | $clientForm->handleRequest($request); | ||
44 | |||
45 | if ($clientForm->isSubmitted() && $clientForm->isValid()) { | ||
46 | $client->setAllowedGrantTypes(['token', 'authorization_code', 'password', 'refresh_token']); | ||
47 | $em->persist($client); | ||
48 | $em->flush(); | ||
49 | |||
50 | $this->get('session')->getFlashBag()->add( | ||
51 | 'notice', | ||
52 | $this->get('translator')->trans('flashes.developer.notice.client_created', ['%name%' => $client->getName()]) | ||
53 | ); | ||
54 | |||
55 | return $this->render('@WallabagCore/themes/common/Developer/client_parameters.html.twig', [ | ||
56 | 'client_id' => $client->getPublicId(), | ||
57 | 'client_secret' => $client->getSecret(), | ||
58 | 'client_name' => $client->getName(), | ||
59 | ]); | ||
60 | } | ||
61 | |||
62 | return $this->render('@WallabagCore/themes/common/Developer/client.html.twig', [ | ||
63 | 'form' => $clientForm->createView(), | ||
64 | ]); | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * Remove a client. | ||
69 | * | ||
70 | * @param Client $client | ||
71 | * | ||
72 | * @Route("/developer/client/delete/{id}", requirements={"id" = "\d+"}, name="developer_delete_client") | ||
73 | * | ||
74 | * @return \Symfony\Component\HttpFoundation\RedirectResponse | ||
75 | */ | ||
76 | public function deleteClientAction(Client $client) | ||
77 | { | ||
78 | if (null === $this->getUser() || $client->getUser()->getId() != $this->getUser()->getId()) { | ||
79 | throw $this->createAccessDeniedException('You can not access this client.'); | ||
80 | } | ||
81 | |||
82 | $em = $this->getDoctrine()->getManager(); | ||
83 | $em->remove($client); | ||
84 | $em->flush(); | ||
85 | |||
86 | $this->get('session')->getFlashBag()->add( | ||
87 | 'notice', | ||
88 | $this->get('translator')->trans('flashes.developer.notice.client_deleted', ['%name%' => $client->getName()]) | ||
89 | ); | ||
90 | |||
91 | return $this->redirect($this->generateUrl('developer')); | ||
92 | } | ||
93 | |||
94 | /** | ||
95 | * Display developer how to use an existing app. | ||
96 | * | ||
97 | * @Route("/developer/howto/first-app", name="developer_howto_firstapp") | ||
98 | * | ||
99 | * @return \Symfony\Component\HttpFoundation\Response | ||
100 | */ | ||
101 | public function howtoFirstAppAction() | ||
102 | { | ||
103 | return $this->render('@WallabagCore/themes/common/Developer/howto_app.html.twig'); | ||
104 | } | ||
105 | } | ||
diff --git a/src/Wallabag/ApiBundle/Controller/EntryRestController.php b/src/Wallabag/ApiBundle/Controller/EntryRestController.php index 768c4fdc..93f1f461 100644 --- a/src/Wallabag/ApiBundle/Controller/EntryRestController.php +++ b/src/Wallabag/ApiBundle/Controller/EntryRestController.php | |||
@@ -5,6 +5,7 @@ namespace Wallabag\ApiBundle\Controller; | |||
5 | use Hateoas\Configuration\Route; | 5 | use Hateoas\Configuration\Route; |
6 | use Hateoas\Representation\Factory\PagerfantaFactory; | 6 | use Hateoas\Representation\Factory\PagerfantaFactory; |
7 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; | 7 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; |
8 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | ||
8 | use Symfony\Component\HttpKernel\Exception\HttpException; | 9 | use Symfony\Component\HttpKernel\Exception\HttpException; |
9 | use Symfony\Component\HttpFoundation\Request; | 10 | use Symfony\Component\HttpFoundation\Request; |
10 | use Symfony\Component\HttpFoundation\JsonResponse; | 11 | use Symfony\Component\HttpFoundation\JsonResponse; |
@@ -25,7 +26,7 @@ class EntryRestController extends WallabagRestController | |||
25 | * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"} | 26 | * {"name"="urls", "dataType"="string", "required"=false, "format"="An array of urls (?urls[]=http...&urls[]=http...)", "description"="Urls (as an array) to check if it exists"} |
26 | * } | 27 | * } |
27 | * ) | 28 | * ) |
28 | * | 29 | * @Security("has_role('ROLE_READ')") |
29 | * @return JsonResponse | 30 | * @return JsonResponse |
30 | */ | 31 | */ |
31 | public function getEntriesExistsAction(Request $request) | 32 | public function getEntriesExistsAction(Request $request) |
@@ -80,7 +81,7 @@ class EntryRestController extends WallabagRestController | |||
80 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"}, | 81 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"}, |
81 | * } | 82 | * } |
82 | * ) | 83 | * ) |
83 | * | 84 | * @Security("has_role('ROLE_READ')") |
84 | * @return JsonResponse | 85 | * @return JsonResponse |
85 | */ | 86 | */ |
86 | public function getEntriesAction(Request $request) | 87 | public function getEntriesAction(Request $request) |
@@ -143,7 +144,7 @@ class EntryRestController extends WallabagRestController | |||
143 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 144 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
144 | * } | 145 | * } |
145 | * ) | 146 | * ) |
146 | * | 147 | * @Security("has_role('ROLE_READ')") |
147 | * @return JsonResponse | 148 | * @return JsonResponse |
148 | */ | 149 | */ |
149 | public function getEntryAction(Entry $entry) | 150 | public function getEntryAction(Entry $entry) |
@@ -162,7 +163,7 @@ class EntryRestController extends WallabagRestController | |||
162 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 163 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
163 | * } | 164 | * } |
164 | * ) | 165 | * ) |
165 | * | 166 | * @Security("has_role('ROLE_READ')") |
166 | * @return Response | 167 | * @return Response |
167 | */ | 168 | */ |
168 | public function getEntryExportAction(Entry $entry, Request $request) | 169 | public function getEntryExportAction(Entry $entry, Request $request) |
@@ -302,7 +303,7 @@ class EntryRestController extends WallabagRestController | |||
302 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, | 303 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, |
303 | * } | 304 | * } |
304 | * ) | 305 | * ) |
305 | * | 306 | * @Security("has_role('ROLE_WRITE')") |
306 | * @return JsonResponse | 307 | * @return JsonResponse |
307 | */ | 308 | */ |
308 | public function postEntriesAction(Request $request) | 309 | public function postEntriesAction(Request $request) |
@@ -346,7 +347,7 @@ class EntryRestController extends WallabagRestController | |||
346 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, | 347 | * {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0", "description"="will generate a public link for the entry"}, |
347 | * } | 348 | * } |
348 | * ) | 349 | * ) |
349 | * | 350 | * @Security("has_role('ROLE_WRITE')") |
350 | * @return JsonResponse | 351 | * @return JsonResponse |
351 | */ | 352 | */ |
352 | public function patchEntriesAction(Entry $entry, Request $request) | 353 | public function patchEntriesAction(Entry $entry, Request $request) |
@@ -368,7 +369,7 @@ class EntryRestController extends WallabagRestController | |||
368 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 369 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
369 | * } | 370 | * } |
370 | * ) | 371 | * ) |
371 | * | 372 | * @Security("has_role('ROLE_WRITE')") |
372 | * @return JsonResponse | 373 | * @return JsonResponse |
373 | */ | 374 | */ |
374 | public function patchEntriesReloadAction(Entry $entry) | 375 | public function patchEntriesReloadAction(Entry $entry) |
@@ -410,7 +411,7 @@ class EntryRestController extends WallabagRestController | |||
410 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 411 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
411 | * } | 412 | * } |
412 | * ) | 413 | * ) |
413 | * | 414 | * @Security("has_role('ROLE_WRITE')") |
414 | * @return JsonResponse | 415 | * @return JsonResponse |
415 | */ | 416 | */ |
416 | public function deleteEntriesAction(Entry $entry) | 417 | public function deleteEntriesAction(Entry $entry) |
@@ -436,7 +437,7 @@ class EntryRestController extends WallabagRestController | |||
436 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 437 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
437 | * } | 438 | * } |
438 | * ) | 439 | * ) |
439 | * | 440 | * @Security("has_role('ROLE_READ')") |
440 | * @return JsonResponse | 441 | * @return JsonResponse |
441 | */ | 442 | */ |
442 | public function getEntriesTagsAction(Entry $entry) | 443 | public function getEntriesTagsAction(Entry $entry) |
@@ -458,7 +459,7 @@ class EntryRestController extends WallabagRestController | |||
458 | * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, | 459 | * {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."}, |
459 | * } | 460 | * } |
460 | * ) | 461 | * ) |
461 | * | 462 | * @Security("has_role('ROLE_WRITE')") |
462 | * @return JsonResponse | 463 | * @return JsonResponse |
463 | */ | 464 | */ |
464 | public function postEntriesTagsAction(Request $request, Entry $entry) | 465 | public function postEntriesTagsAction(Request $request, Entry $entry) |
@@ -487,7 +488,7 @@ class EntryRestController extends WallabagRestController | |||
487 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} | 488 | * {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"} |
488 | * } | 489 | * } |
489 | * ) | 490 | * ) |
490 | * | 491 | * @Security("has_role('ROLE_WRITE')") |
491 | * @return JsonResponse | 492 | * @return JsonResponse |
492 | */ | 493 | */ |
493 | public function deleteEntriesTagsAction(Entry $entry, Tag $tag) | 494 | public function deleteEntriesTagsAction(Entry $entry, Tag $tag) |
diff --git a/src/Wallabag/ApiBundle/Controller/TagRestController.php b/src/Wallabag/ApiBundle/Controller/TagRestController.php index 354187a0..6f460a2d 100644 --- a/src/Wallabag/ApiBundle/Controller/TagRestController.php +++ b/src/Wallabag/ApiBundle/Controller/TagRestController.php | |||
@@ -3,6 +3,7 @@ | |||
3 | namespace Wallabag\ApiBundle\Controller; | 3 | namespace Wallabag\ApiBundle\Controller; |
4 | 4 | ||
5 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; | 5 | use Nelmio\ApiDocBundle\Annotation\ApiDoc; |
6 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | ||
6 | use Symfony\Component\HttpFoundation\Request; | 7 | use Symfony\Component\HttpFoundation\Request; |
7 | use Symfony\Component\HttpFoundation\JsonResponse; | 8 | use Symfony\Component\HttpFoundation\JsonResponse; |
8 | use Wallabag\CoreBundle\Entity\Entry; | 9 | use Wallabag\CoreBundle\Entity\Entry; |
@@ -14,7 +15,7 @@ class TagRestController extends WallabagRestController | |||
14 | * Retrieve all tags. | 15 | * Retrieve all tags. |
15 | * | 16 | * |
16 | * @ApiDoc() | 17 | * @ApiDoc() |
17 | * | 18 | * @Security("has_role('ROLE_READ')") |
18 | * @return JsonResponse | 19 | * @return JsonResponse |
19 | */ | 20 | */ |
20 | public function getTagsAction() | 21 | public function getTagsAction() |
@@ -38,7 +39,7 @@ class TagRestController extends WallabagRestController | |||
38 | * {"name"="tag", "dataType"="string", "required"=true, "requirement"="\w+", "description"="Tag as a string"} | 39 | * {"name"="tag", "dataType"="string", "required"=true, "requirement"="\w+", "description"="Tag as a string"} |
39 | * } | 40 | * } |
40 | * ) | 41 | * ) |
41 | * | 42 | * @Security("has_role('ROLE_WRITE')") |
42 | * @return JsonResponse | 43 | * @return JsonResponse |
43 | */ | 44 | */ |
44 | public function deleteTagLabelAction(Request $request) | 45 | public function deleteTagLabelAction(Request $request) |
@@ -71,7 +72,7 @@ class TagRestController extends WallabagRestController | |||
71 | * {"name"="tags", "dataType"="string", "required"=true, "format"="tag1,tag2", "description"="Tags as strings (comma splitted)"} | 72 | * {"name"="tags", "dataType"="string", "required"=true, "format"="tag1,tag2", "description"="Tags as strings (comma splitted)"} |
72 | * } | 73 | * } |
73 | * ) | 74 | * ) |
74 | * | 75 | * @Security("has_role('ROLE_WRITE')") |
75 | * @return JsonResponse | 76 | * @return JsonResponse |
76 | */ | 77 | */ |
77 | public function deleteTagsLabelAction(Request $request) | 78 | public function deleteTagsLabelAction(Request $request) |
@@ -113,7 +114,7 @@ class TagRestController extends WallabagRestController | |||
113 | * {"name"="tag", "dataType"="integer", "requirement"="\w+", "description"="The tag"} | 114 | * {"name"="tag", "dataType"="integer", "requirement"="\w+", "description"="The tag"} |
114 | * } | 115 | * } |
115 | * ) | 116 | * ) |
116 | * | 117 | * @Security("has_role('ROLE_WRITE')") |
117 | * @return JsonResponse | 118 | * @return JsonResponse |
118 | */ | 119 | */ |
119 | public function deleteTagAction(Tag $tag) | 120 | public function deleteTagAction(Tag $tag) |
@@ -133,7 +134,7 @@ class TagRestController extends WallabagRestController | |||
133 | 134 | ||
134 | /** | 135 | /** |
135 | * Remove orphan tag in case no entries are associated to it. | 136 | * Remove orphan tag in case no entries are associated to it. |
136 | * | 137 | * @Security("has_role('ROLE_WRITE')") |
137 | * @param Tag|array $tags | 138 | * @param Tag|array $tags |
138 | */ | 139 | */ |
139 | private function cleanOrphanTag($tags) | 140 | private function cleanOrphanTag($tags) |
diff --git a/src/Wallabag/ApiBundle/Entity/AccessToken.php b/src/Wallabag/ApiBundle/Entity/AccessToken.php index c09a0c80..a8b46742 100644 --- a/src/Wallabag/ApiBundle/Entity/AccessToken.php +++ b/src/Wallabag/ApiBundle/Entity/AccessToken.php | |||
@@ -7,7 +7,7 @@ use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken; | |||
7 | 7 | ||
8 | /** | 8 | /** |
9 | * @ORM\Table("oauth2_access_tokens") | 9 | * @ORM\Table("oauth2_access_tokens") |
10 | * @ORM\Entity | 10 | * @ORM\Entity(repositoryClass="Wallabag\ApiBundle\Repository\AccessTokenRepository") |
11 | */ | 11 | */ |
12 | class AccessToken extends BaseAccessToken | 12 | class AccessToken extends BaseAccessToken |
13 | { | 13 | { |
diff --git a/src/Wallabag/ApiBundle/Entity/Client.php b/src/Wallabag/ApiBundle/Entity/Client.php index c15fd3fa..24444c9f 100644 --- a/src/Wallabag/ApiBundle/Entity/Client.php +++ b/src/Wallabag/ApiBundle/Entity/Client.php | |||
@@ -8,6 +8,7 @@ use Wallabag\UserBundle\Entity\User; | |||
8 | use JMS\Serializer\Annotation\Groups; | 8 | use JMS\Serializer\Annotation\Groups; |
9 | use JMS\Serializer\Annotation\SerializedName; | 9 | use JMS\Serializer\Annotation\SerializedName; |
10 | use JMS\Serializer\Annotation\VirtualProperty; | 10 | use JMS\Serializer\Annotation\VirtualProperty; |
11 | use Symfony\Component\Validator\Constraints as Assert; | ||
11 | 12 | ||
12 | /** | 13 | /** |
13 | * @ORM\Table("oauth2_clients") | 14 | * @ORM\Table("oauth2_clients") |
@@ -51,13 +52,39 @@ class Client extends BaseClient | |||
51 | 52 | ||
52 | /** | 53 | /** |
53 | * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients") | 54 | * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients") |
55 | * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) | ||
54 | */ | 56 | */ |
55 | private $user; | 57 | private $user; |
56 | 58 | ||
57 | public function __construct(User $user) | 59 | /** |
60 | * @ORM\Column(type="string", nullable=true) | ||
61 | */ | ||
62 | private $image; | ||
63 | |||
64 | /** | ||
65 | * @ORM\Column(type="string", nullable=true) | ||
66 | */ | ||
67 | private $description; | ||
68 | |||
69 | /** | ||
70 | * @ORM\Column(type="string", nullable=true) | ||
71 | */ | ||
72 | private $appUrl; | ||
73 | |||
74 | /** | ||
75 | * @ORM\Column(type="datetime", nullable=true) | ||
76 | */ | ||
77 | private $createdAt; | ||
78 | |||
79 | /** | ||
80 | * Client constructor. | ||
81 | * @param User|null $user | ||
82 | */ | ||
83 | public function __construct(User $user = null) | ||
58 | { | 84 | { |
59 | parent::__construct(); | 85 | parent::__construct(); |
60 | $this->user = $user; | 86 | $this->user = $user; |
87 | $this->createdAt = new \DateTime(); | ||
61 | } | 88 | } |
62 | 89 | ||
63 | /** | 90 | /** |
@@ -99,6 +126,62 @@ class Client extends BaseClient | |||
99 | */ | 126 | */ |
100 | public function getClientId() | 127 | public function getClientId() |
101 | { | 128 | { |
102 | return $this->getId().'_'.$this->getRandomId(); | 129 | return $this->getId() . '_' . $this->getRandomId(); |
130 | } | ||
131 | |||
132 | /** | ||
133 | * @return string | ||
134 | */ | ||
135 | public function getImage() | ||
136 | { | ||
137 | return $this->image; | ||
138 | } | ||
139 | |||
140 | /** | ||
141 | * @param string $image | ||
142 | */ | ||
143 | public function setImage($image) | ||
144 | { | ||
145 | $this->image = $image; | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * @return string | ||
150 | */ | ||
151 | public function getDescription() | ||
152 | { | ||
153 | return $this->description; | ||
154 | } | ||
155 | |||
156 | /** | ||
157 | * @param string $description | ||
158 | */ | ||
159 | public function setDescription($description) | ||
160 | { | ||
161 | $this->description = $description; | ||
162 | } | ||
163 | |||
164 | /** | ||
165 | * @return string | ||
166 | */ | ||
167 | public function getAppUrl() | ||
168 | { | ||
169 | return $this->appUrl; | ||
170 | } | ||
171 | |||
172 | /** | ||
173 | * @param string $appUrl | ||
174 | */ | ||
175 | public function setAppUrl($appUrl) | ||
176 | { | ||
177 | $this->appUrl = $appUrl; | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * @return \DateTime | ||
182 | */ | ||
183 | public function getCreatedAt() | ||
184 | { | ||
185 | return $this->createdAt; | ||
103 | } | 186 | } |
104 | } | 187 | } |
diff --git a/src/Wallabag/ApiBundle/Form/Type/ClientType.php b/src/Wallabag/ApiBundle/Form/Type/ClientType.php index eaea4feb..58602d22 100644 --- a/src/Wallabag/ApiBundle/Form/Type/ClientType.php +++ b/src/Wallabag/ApiBundle/Form/Type/ClientType.php | |||
@@ -15,24 +15,8 @@ class ClientType extends AbstractType | |||
15 | public function buildForm(FormBuilderInterface $builder, array $options) | 15 | public function buildForm(FormBuilderInterface $builder, array $options) |
16 | { | 16 | { |
17 | $builder | 17 | $builder |
18 | ->add('name', TextType::class, ['label' => 'developer.client.form.name_label']) | 18 | ->add('name', TextType::class, ['label' => 'apps.old_client.form.name_label']) |
19 | ->add('redirect_uris', UrlType::class, [ | 19 | ->add('save', SubmitType::class, ['label' => 'apps.old_client.form.save_label']) |
20 | 'required' => false, | ||
21 | 'label' => 'developer.client.form.redirect_uris_label', | ||
22 | 'property_path' => 'redirectUris', | ||
23 | ]) | ||
24 | ->add('save', SubmitType::class, ['label' => 'developer.client.form.save_label']) | ||
25 | ; | ||
26 | |||
27 | $builder->get('redirect_uris') | ||
28 | ->addModelTransformer(new CallbackTransformer( | ||
29 | function ($originalUri) { | ||
30 | return $originalUri; | ||
31 | }, | ||
32 | function ($submittedUri) { | ||
33 | return [$submittedUri]; | ||
34 | } | ||
35 | )) | ||
36 | ; | 20 | ; |
37 | } | 21 | } |
38 | 22 | ||
diff --git a/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php b/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php new file mode 100644 index 00000000..2b8d24df --- /dev/null +++ b/src/Wallabag/ApiBundle/Repository/AccessTokenRepository.php | |||
@@ -0,0 +1,18 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\ApiBundle\Repository; | ||
4 | |||
5 | use Doctrine\ORM\EntityRepository; | ||
6 | |||
7 | |||
8 | class AccessTokenRepository extends EntityRepository | ||
9 | { | ||
10 | public function findAppsByUser($userId) | ||
11 | { | ||
12 | $qb = $this->createQueryBuilder('a') | ||
13 | ->innerJoin('a.client', 'c') | ||
14 | ->addSelect('c') | ||
15 | ->where('a.user =:userId')->setParameter('userId', $userId); | ||
16 | return $qb->getQuery()->getResult(); | ||
17 | } | ||
18 | } | ||
diff --git a/src/Wallabag/ApiBundle/Resources/config/services.yml b/src/Wallabag/ApiBundle/Resources/config/services.yml new file mode 100644 index 00000000..1275107d --- /dev/null +++ b/src/Wallabag/ApiBundle/Resources/config/services.yml | |||
@@ -0,0 +1,6 @@ | |||
1 | services: | ||
2 | wallabag_api.accesstoken_repository: | ||
3 | class: Wallabag\ApiBundle\Repository\AccessTokenRepository | ||
4 | factory: [ "@doctrine.orm.default_entity_manager", getRepository ] | ||
5 | arguments: | ||
6 | - WallabagApiBundle:AccessToken | ||
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index 02dd04f2..adf896ee 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml | |||
@@ -156,6 +156,7 @@ config: | |||
156 | # and: 'One rule AND another' | 156 | # and: 'One rule AND another' |
157 | # matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' | 157 | # matches: 'Tests that a <i>subject</i> is matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' |
158 | # notmatches: 'Tests that a <i>subject</i> is not matches a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' | 158 | # notmatches: 'Tests that a <i>subject</i> is not matches a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' |
159 | |||
159 | entry: | 160 | entry: |
160 | page_titles: | 161 | page_titles: |
161 | # unread: 'Unread entries' | 162 | # unread: 'Unread entries' |
@@ -442,55 +443,55 @@ import: | |||
442 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
443 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
444 | 445 | ||
445 | developer: | 446 | apps: |
446 | # page_title: 'API clients management' | 447 | # page_title: 'Apps' |
447 | # welcome_message: 'Welcome to the wallabag API' | 448 | # allow: |
448 | # documentation: 'Documentation' | 449 | # title: 'A new application would like to connect to your account' |
449 | # how_to_first_app: 'How to create my first application' | 450 | # permissions: |
450 | # full_documentation: 'View full API documentation' | 451 | # read: |
451 | # list_methods: 'List API methods' | 452 | # label: 'Read your data' |
452 | # clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
453 | # title: 'Clients' | 454 | # write: |
454 | # create_new: 'Create a new client' | 455 | # label: 'Edit your data' |
455 | # existing_clients: | 456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' |
456 | # title: 'Existing clients' | 457 | # user: |
457 | # field_id: 'Client ID' | 458 | # label: 'Edit your user settings' |
458 | # field_secret: 'Client secret' | 459 | # desc: '%name% will be able to manage your user account.' |
459 | # field_uris: 'Redirect URIs' | 460 | #featured: |
460 | # field_grant_types: 'Grant type allowed' | 461 | # title: 'Featured apps' |
461 | # no_client: 'No client yet.' | 462 | #list: |
462 | # remove: | 463 | # title: 'Authorized apps' |
463 | # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' | 464 | #old_clients: |
464 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | 465 | # create_new: 'Create a new client' |
465 | # action: 'Remove this client' | 466 | # title: 'Old clients (depreciated)' |
466 | # client: | 467 | # list: 'Old clients list' |
467 | # page_title: 'API clients management > New client' | 468 | # field_id: 'Client ID' |
468 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | 469 | # field_secret: 'Client secret' |
469 | # form: | 470 | # no_client: 'No client yet.' |
470 | # name_label: 'Name of the client' | 471 | #remove: |
471 | # redirect_uris_label: 'Redirect URIs' | 472 | # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' |
472 | # save_label: 'Create a new client' | 473 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." |
473 | # action_back: 'Back' | 474 | # action: 'Remove the client %name%' |
474 | # client_parameter: | 475 | #old_client: |
475 | # page_title: 'API clients management > Client parameters' | 476 | # page_title: 'Apps > New client' |
476 | # page_description: 'Here are your client parameters.' | 477 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' |
477 | # field_name: 'Client name' | 478 | # form: |
478 | # field_id: 'Client ID' | 479 | # name_label: 'Name of the client' |
479 | # field_secret: 'Client secret' | 480 | # save_label: 'Create a new client' |
480 | # back: 'Back' | 481 | # action_back: 'Back' |
481 | # read_howto: 'Read the howto "Create my first application"' | 482 | # parameters: |
482 | # howto: | 483 | # page_title: 'Apps > Client parameters' |
483 | # page_title: 'Developer > How to create my first application' | 484 | # page_description: 'Here are your client parameters.' |
484 | # description: | 485 | # field_name: 'Client name' |
485 | # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' | 486 | # field_id: 'Client ID' |
486 | # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' | 487 | # field_secret: 'Client secret' |
487 | # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' | 488 | # back: 'Back' |
488 | # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' | 489 | # app: |
489 | # paragraph_5: 'The API will return a response like this:' | 490 | # created_at: 'Created at: %date%' |
490 | # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' | 491 | # documentation: |
491 | # paragraph_7: 'This call will return all the entries for your user.' | 492 | # title: 'Documentation' |
492 | # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' | 493 | # full_documentation: 'Full documentation' |
493 | # back: 'Back' | 494 | # list_methods: 'List API methods' |
494 | 495 | ||
495 | user: | 496 | user: |
496 | # page_title: Users management | 497 | # page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index f6ccdae0..17b8297f 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | description: 'Dieser Import wird all deine Pinboard Artikel importieren. Auf der Seite Backup (https://pinboard.in/settings/backup) klickst du auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird dann heruntergeladen (z.B. "pinboard_export").' | 443 | description: 'Dieser Import wird all deine Pinboard Artikel importieren. Auf der Seite Backup (https://pinboard.in/settings/backup) klickst du auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird dann heruntergeladen (z.B. "pinboard_export").' |
444 | how_to: 'Bitte wähle deinen Pinboard Export aus und klicke den nachfolgenden Button zum Importieren.' | 444 | how_to: 'Bitte wähle deinen Pinboard Export aus und klicke den nachfolgenden Button zum Importieren.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | page_title: 'API-Client-Verwaltung' | 447 | page_title: 'API-Client-Verwaltung' |
448 | welcome_message: 'Willkomen zur wallabag API' | 448 | # allow: |
449 | documentation: 'Dokumentation' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Wie erstelle ich meine erste Anwendung' | 450 | # permissions: |
451 | full_documentation: 'Komplette API-Dokumentation einsehen' | 451 | # read: |
452 | list_methods: 'Liste der API-Methoden' | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Clients' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | featured: | ||
461 | # title: 'Featured apps' | ||
462 | list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Neuen Client erstellen' | 465 | create_new: 'Neuen Client erstellen' |
456 | existing_clients: | ||
457 | title: 'Bestehende Clients' | 466 | title: 'Bestehende Clients' |
467 | list: 'Clients' | ||
458 | field_id: 'Client-ID' | 468 | field_id: 'Client-ID' |
459 | field_secret: 'Client-Secret' | 469 | field_secret: 'Client-Secret' |
460 | field_uris: 'Weiterleitungs-URIs' | ||
461 | field_grant_types: "Erlaubte grant_types" | ||
462 | no_client: 'Bisher kein Client.' | 470 | no_client: 'Bisher kein Client.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!' | 472 | warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!' |
465 | warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden." | 473 | warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden." |
466 | action: 'Client entfernen' | 474 | action: 'Client entfernen' |
467 | client: | 475 | old_client: |
468 | page_title: 'API-Client-Verwaltung > Neuer Client' | 476 | page_title: 'API-Client-Verwaltung > Neuer Client' |
469 | page_description: 'Du bist dabei, einen neuen Client zu erstellen. Fülle das nachfolgende Feld für die Weiterleitungs-URIs deiner Anwendung aus.' | 477 | page_description: 'Du bist dabei, einen neuen Client zu erstellen. Fülle das nachfolgende Feld für die Weiterleitungs-URIs deiner Anwendung aus.' |
470 | form: | 478 | form: |
471 | name_label: 'Name des Clients' | 479 | name_label: 'Name des Clients' |
472 | redirect_uris_label: 'Weiterleitungs-URIs' | ||
473 | save_label: 'Neuen Client erstellen' | 480 | save_label: 'Neuen Client erstellen' |
474 | action_back: 'Zurück' | 481 | action_back: 'Zurück' |
475 | client_parameter: | 482 | parameters: |
476 | page_title: 'API-Client-Verwaltung > Client-Parameter' | 483 | page_title: 'API-Client-Verwaltung > Client-Parameter' |
477 | page_description: 'Dies sind deine Client-Parameter.' | 484 | page_description: 'Dies sind deine Client-Parameter.' |
478 | field_name: 'Client Name' | 485 | field_name: 'Client Name' |
479 | field_id: 'Client-ID' | 486 | field_id: 'Client-ID' |
480 | field_secret: 'Client-Secret' | 487 | field_secret: 'Client-Secret' |
481 | back: 'Zurück' | 488 | back: 'Zurück' |
482 | read_howto: 'Lese des How-To zu "Wie erstelle ich meine erste Anwendung"' | 489 | app: |
483 | howto: | 490 | # created_at: 'Created at: %date%' |
484 | page_title: 'API-Client-Verwaltung > Wie erstelle ich meine erste Anwendung' | 491 | documentation: |
485 | description: | 492 | title: 'Dokumentation' |
486 | paragraph_1: 'Die folgenden Befehle machen Gebrauch von der <a href="https://github.com/jkbrzt/httpie">HTTPie-Bibliothek</a>. Stelle sicher, dass sie auf deinem System installiert ist, bevor du fortfährst.' | 493 | full_documentation: 'Komplette API-Dokumentation einsehen' |
487 | paragraph_2: 'Du benötigst einen Token, damit deine Anwendung mit der wallabag-API kommunizieren kann.' | 494 | list_methods: 'Liste der API-Methoden' |
488 | paragraph_3: 'Um diesen Token zu erstellen, muss <a href="%link%">ein neuer Client erstellt werden</a>.' | ||
489 | paragraph_4: 'Nun erstelle deinen Token (ersetze client_id, client_secret, username und password mit deinen Werten):' | ||
490 | paragraph_5: 'Die API wird eine Antwort der folgenden Art zurückgeben:' | ||
491 | paragraph_6: 'Der access_token ist nützlich, um die API aufzurufen. Beispiel:' | ||
492 | paragraph_7: 'Dieser Aufruf wird alle Einträge für den Nutzer zurückgeben.' | ||
493 | paragraph_8: 'Wenn du alle API-Endpunkte sehen willst, werfe einen Blick auf die <a href="%link%">API-Dokumentation</a>.' | ||
494 | back: 'Zurück' | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: Benutzerverwaltung | 497 | page_title: Benutzerverwaltung |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index 902c3046..c78228e0 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml | |||
@@ -25,7 +25,7 @@ menu: | |||
25 | internal_settings: 'Internal Settings' | 25 | internal_settings: 'Internal Settings' |
26 | import: 'Import' | 26 | import: 'Import' |
27 | howto: 'How to' | 27 | howto: 'How to' |
28 | developer: 'API clients management' | 28 | apps: 'Apps' |
29 | logout: 'Logout' | 29 | logout: 'Logout' |
30 | about: 'About' | 30 | about: 'About' |
31 | search: 'Search' | 31 | search: 'Search' |
@@ -443,55 +443,55 @@ import: | |||
443 | description: 'This importer will import all your Pinboard articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 443 | description: 'This importer will import all your Pinboard articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
444 | how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 444 | how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | page_title: 'API clients management' | 447 | page_title: 'Apps' |
448 | welcome_message: 'Welcome to the wallabag API' | 448 | allow: |
449 | documentation: 'Documentation' | 449 | title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'How to create my first application' | 450 | permissions: |
451 | full_documentation: 'View full API documentation' | 451 | read: |
452 | list_methods: 'List API methods' | 452 | label: 'Read your data' |
453 | clients: | 453 | desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Clients' | 454 | write: |
455 | label: 'Edit your data' | ||
456 | desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | user: | ||
458 | label: 'Edit your user settings' | ||
459 | desc: '%name% will be able to manage your user account.' | ||
460 | featured: | ||
461 | title: 'Featured apps' | ||
462 | list: | ||
463 | title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Create a new client' | 465 | create_new: 'Create a new client' |
456 | existing_clients: | 466 | title: 'Old clients (depreciated)' |
457 | title: 'Existing clients' | 467 | list: 'Old clients list' |
458 | field_id: 'Client ID' | 468 | field_id: 'Client ID' |
459 | field_secret: 'Client secret' | 469 | field_secret: 'Client secret' |
460 | field_uris: 'Redirect URIs' | ||
461 | field_grant_types: 'Grant type allowed' | ||
462 | no_client: 'No client yet.' | 470 | no_client: 'No client yet.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' | 472 | warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' |
465 | warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | 473 | warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." |
466 | action: 'Remove the client %name%' | 474 | action: 'Remove the client %name%' |
467 | client: | 475 | old_client: |
468 | page_title: 'API clients management > New client' | 476 | page_title: 'Apps > New client' |
469 | page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | 477 | page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' |
470 | form: | 478 | form: |
471 | name_label: 'Name of the client' | 479 | name_label: 'Name of the client' |
472 | redirect_uris_label: 'Redirect URIs (optional)' | ||
473 | save_label: 'Create a new client' | 480 | save_label: 'Create a new client' |
474 | action_back: 'Back' | 481 | action_back: 'Back' |
475 | client_parameter: | 482 | parameters: |
476 | page_title: 'API clients management > Client parameters' | 483 | page_title: 'Apps > Client parameters' |
477 | page_description: 'Here are your client parameters.' | 484 | page_description: 'Here are your client parameters.' |
478 | field_name: 'Client name' | 485 | field_name: 'Client name' |
479 | field_id: 'Client ID' | 486 | field_id: 'Client ID' |
480 | field_secret: 'Client secret' | 487 | field_secret: 'Client secret' |
481 | back: 'Back' | 488 | back: 'Back' |
482 | read_howto: 'Read the howto "Create my first application"' | 489 | app: |
483 | howto: | 490 | created_at: 'Created at: %date%' |
484 | page_title: 'API clients management > How to create my first application' | 491 | documentation: |
485 | description: | 492 | title: 'Documentation' |
486 | paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' | 493 | full_documentation: 'Full documentation' |
487 | paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' | 494 | list_methods: 'List API methods' |
488 | paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' | ||
489 | paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' | ||
490 | paragraph_5: 'The API will return a response like this:' | ||
491 | paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' | ||
492 | paragraph_7: 'This call will return all the entries for your user.' | ||
493 | paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' | ||
494 | back: 'Back' | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: Users management | 497 | page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index afd6a7b1..36dd6016 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | description: 'Importa todos tus artículos de Pinboard. En la página de backup (https://pinboard.in/settings/backup), haz clic en "JSON" en la sección "Marcadores". Obtendrás un archivo JSON llamado "pinboard_export".' | 443 | description: 'Importa todos tus artículos de Pinboard. En la página de backup (https://pinboard.in/settings/backup), haz clic en "JSON" en la sección "Marcadores". Obtendrás un archivo JSON llamado "pinboard_export".' |
444 | how_to: 'Seleccione el archivo exportado de Pinboard y haga clic en el botón para subirlo e importarlo.' | 444 | how_to: 'Seleccione el archivo exportado de Pinboard y haga clic en el botón para subirlo e importarlo.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | page_title: 'Gestión de clientes API' | 447 | page_title: 'Gestión de clientes API' |
448 | welcome_message: 'Bienvenido al API de wallabag' | 448 | # allow: |
449 | documentation: 'Documentación' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Cómo crear mi primera aplicación' | 450 | # permissions: |
451 | full_documentation: 'Ver documentación completa del API' | 451 | # read: |
452 | list_methods: 'Lista con los métodos del API' | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Clientes' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | featured: | ||
461 | # title: 'Featured apps' | ||
462 | list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Crear un nuevo cliente' | 465 | create_new: 'Crear un nuevo cliente' |
456 | existing_clients: | ||
457 | title: 'Clientes existentes' | 466 | title: 'Clientes existentes' |
467 | list: 'Clientes' | ||
458 | field_id: 'Identificador del cliente' | 468 | field_id: 'Identificador del cliente' |
459 | field_secret: 'Secreto del cliente' | 469 | field_secret: 'Secreto del cliente' |
460 | field_uris: 'URIs de redirección' | ||
461 | field_grant_types: 'Permisos concedidos' | ||
462 | no_client: 'Todavía no hay clientes.' | 470 | no_client: 'Todavía no hay clientes.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'Tienes permiso para eliminar el cliente %name%. ¡Está acción es IRREVERSIBLE!' | 472 | warn_message_1: 'Tienes permiso para eliminar el cliente %name%. ¡Está acción es IRREVERSIBLE!' |
465 | warn_message_2: "Si lo eliminas, cada aplicación configurada con ese cliente no podrá autenticarse en wallabag." | 473 | warn_message_2: "Si lo eliminas, cada aplicación configurada con ese cliente no podrá autenticarse en wallabag." |
466 | action: 'Eliminar el cliente %name%' | 474 | action: 'Eliminar el cliente %name%' |
467 | client: | 475 | old_client: |
468 | page_title: 'Gestión de clientes API > Nuevo cliente' | 476 | page_title: 'Gestión de clientes API > Nuevo cliente' |
469 | page_description: 'Está a punto de crear un nuevo cliente. Por favor, rellene el campo de abajo con la URI de redirección de su aplicación.' | 477 | page_description: 'Está a punto de crear un nuevo cliente. Por favor, rellene el campo de abajo con la URI de redirección de su aplicación.' |
470 | form: | 478 | form: |
471 | name_label: 'Nombre del cliente' | 479 | name_label: 'Nombre del cliente' |
472 | redirect_uris_label: 'URIs de redirección' | ||
473 | save_label: 'Crear un nuevo cliente' | 480 | save_label: 'Crear un nuevo cliente' |
474 | action_back: 'Volver' | 481 | action_back: 'Volver' |
475 | client_parameter: | 482 | parameters: |
476 | page_title: 'Gestión de clientes API > Parámetros del cliente' | 483 | page_title: 'Gestión de clientes API > Parámetros del cliente' |
477 | page_description: 'Aquí están los parámetros del cliente.' | 484 | page_description: 'Aquí están los parámetros del cliente.' |
478 | field_name: 'Nombre del cliente' | 485 | field_name: 'Nombre del cliente' |
479 | field_id: 'Identificador del cliente' | 486 | field_id: 'Identificador del cliente' |
480 | field_secret: 'Secreto del cliente' | 487 | field_secret: 'Secreto del cliente' |
481 | back: 'Volver' | 488 | back: 'Volver' |
482 | read_howto: 'Lea la guía "Crear mi primera aplicación"' | 489 | app: |
483 | howto: | 490 | # created_at: 'Created at: %date%' |
484 | page_title: 'Gestión de clientes API > Cómo crear mi primera aplicación' | 491 | documentation: |
485 | description: | 492 | title: 'Documentación' |
486 | paragraph_1: 'Los siguientes comandos hacen uso de la <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Compruebe que está instalada en su sistema antes de usarla.' | 493 | full_documentation: 'Ver documentación completa del API' |
487 | paragraph_2: 'Necesitas un token para establecer la comunicación entre una aplicación de terceros y la API de wallabag.' | 494 | list_methods: 'Lista con los métodos del API' |
488 | paragraph_3: 'Para crear este token, necesitas <a href="%link%">crear un nuevo cliente</a>.' | ||
489 | paragraph_4: 'Ahora crea tu token (reemplace client_id, client_secret, username y password con los valores generados):' | ||
490 | paragraph_5: 'Este API devolverá una respuesta como esta:' | ||
491 | paragraph_6: 'El access_token es útil para llamar a los métodos del API. Por ejemplo:' | ||
492 | paragraph_7: 'Esta llamada devolverá todos los artículos de tu usuario.' | ||
493 | paragraph_8: 'Si quiere ver todos los métodos del API, puede verlos en <a href="%link%">nuestra documentación del API</a>.' | ||
494 | back: 'Volver' | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: Gestión de usuarios | 497 | page_title: Gestión de usuarios |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index 545514b3..e399c199 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | # page_title: 'API clients management' | 447 | # page_title: 'Apps' |
448 | # welcome_message: 'Welcome to the wallabag API' | 448 | # allow: |
449 | # documentation: 'Documentation' | 449 | # title: 'A new application would like to connect to your account' |
450 | # how_to_first_app: 'How to create my first application' | 450 | # permissions: |
451 | # full_documentation: 'View full API documentation' | 451 | # read: |
452 | # list_methods: 'List API methods' | 452 | # label: 'Read your data' |
453 | # clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | # title: 'Clients' | 454 | # write: |
455 | # create_new: 'Create a new client' | 455 | # label: 'Edit your data' |
456 | # existing_clients: | 456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' |
457 | # title: 'Existing clients' | 457 | # user: |
458 | # field_id: 'Client ID' | 458 | # label: 'Edit your user settings' |
459 | # field_secret: 'Client secret' | 459 | # desc: '%name% will be able to manage your user account.' |
460 | # field_uris: 'Redirect URIs' | 460 | #featured: |
461 | # field_grant_types: 'Grant type allowed' | 461 | # title: 'Featured apps' |
462 | # no_client: 'No client yet.' | 462 | #list: |
463 | # remove: | 463 | # title: 'Authorized apps' |
464 | # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' | 464 | #old_clients: |
465 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | 465 | # create_new: 'Create a new client' |
466 | # action: 'Remove this client' | 466 | # title: 'Old clients (depreciated)' |
467 | # client: | 467 | # list: 'Old clients list' |
468 | # page_title: 'API clients management > New client' | 468 | # field_id: 'Client ID' |
469 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | 469 | # field_secret: 'Client secret' |
470 | # form: | 470 | # no_client: 'No client yet.' |
471 | # name_label: 'Name of the client' | 471 | #remove: |
472 | # redirect_uris_label: 'Redirect URIs' | 472 | # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' |
473 | # save_label: 'Create a new client' | 473 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." |
474 | # action_back: 'بازگشت' | 474 | # action: 'Remove the client %name%' |
475 | # client_parameter: | 475 | #old_client: |
476 | # page_title: 'API clients management > Client parameters' | 476 | # page_title: 'Apps > New client' |
477 | # page_description: 'Here are your client parameters.' | 477 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' |
478 | # field_name: 'Client name' | 478 | # form: |
479 | # field_id: 'Client ID' | 479 | # name_label: 'Name of the client' |
480 | # field_secret: 'Client secret' | 480 | # save_label: 'Create a new client' |
481 | # back: 'بازگشت' | 481 | # action_back: 'Back' |
482 | # read_howto: 'Read the howto "Create my first application"' | 482 | # parameters: |
483 | # howto: | 483 | # page_title: 'Apps > Client parameters' |
484 | # page_title: 'API clients management > How to create my first application' | 484 | # page_description: 'Here are your client parameters.' |
485 | # description: | 485 | # field_name: 'Client name' |
486 | # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' | 486 | # field_id: 'Client ID' |
487 | # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' | 487 | # field_secret: 'Client secret' |
488 | # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' | 488 | # back: 'Back' |
489 | # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' | 489 | # app: |
490 | # paragraph_5: 'The API will return a response like this:' | 490 | # created_at: 'Created at: %date%' |
491 | # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' | 491 | # documentation: |
492 | # paragraph_7: 'This call will return all the entries for your user.' | 492 | # title: 'Documentation' |
493 | # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' | 493 | # full_documentation: 'Full documentation' |
494 | # back: 'بازگشت' | 494 | # list_methods: 'List API methods' |
495 | 495 | ||
496 | user: | 496 | user: |
497 | # page_title: Users management | 497 | # page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index e9e79c67..e3967960 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | description: "Sur la page « Backup » (https://pinboard.in/settings/backup), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (« pinboard_export »)." | 443 | description: "Sur la page « Backup » (https://pinboard.in/settings/backup), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (« pinboard_export »)." |
444 | how_to: "Choisissez le fichier de votre export Pinboard et cliquez sur le bouton ci-dessous pour l’importer." | 444 | how_to: "Choisissez le fichier de votre export Pinboard et cliquez sur le bouton ci-dessous pour l’importer." |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | page_title: "Gestion des clients API" | 447 | page_title: "Gestion des clients API" |
448 | welcome_message: "Bienvenue sur l’API de wallabag" | 448 | allow: |
449 | documentation: "Documentation" | 449 | title: 'Une nouvelle application voudrait accéder à votre compte' |
450 | how_to_first_app: "Comment créer votre première application" | 450 | permissions: |
451 | full_documentation: "Voir la documentation complète de l’API" | 451 | read: |
452 | list_methods: "Lister toutes les méthodes de l’API" | 452 | label: 'Lire vos données' |
453 | clients: | 453 | desc: '%name% pourra accéder à la liste et au contenu de vos articles, tags et annotations.' |
454 | title: "Clients" | 454 | write: |
455 | label: 'Modifier vos données' | ||
456 | desc: '%name% pourra modifier et gérer (y compris supprimer) vos articles, tags et annotations.' | ||
457 | user: | ||
458 | label: 'Modifier votre compte utilisateur' | ||
459 | desc: '%name% pourra modifier les détails de votre compte utilisateur.' | ||
460 | featured: | ||
461 | title: 'Applications mises en avant' | ||
462 | list: | ||
463 | title: 'Applications autorisées' | ||
464 | old_clients: | ||
455 | create_new: "Créer un nouveau client" | 465 | create_new: "Créer un nouveau client" |
456 | existing_clients: | 466 | title: "Clients existants (déprécié)" |
457 | title: "Les clients existants" | 467 | list: "Liste des clients" |
458 | field_id: "ID Client" | 468 | field_id: "ID Client" |
459 | field_secret: "Clé secrète" | 469 | field_secret: "Clé secrète" |
460 | field_uris: "Adresse de redirection" | ||
461 | field_grant_types: "Type de privilège accordé" | ||
462 | no_client: "Aucun client pour le moment" | 470 | no_client: "Aucun client pour le moment" |
463 | remove: | 471 | remove: |
464 | warn_message_1: "Vous avez la possibilité de supprimer le client %name%. Cette action est IRRÉVERSIBLE !" | 472 | warn_message_1: "Vous avez la possibilité de supprimer le client %name%. Cette action est IRRÉVERSIBLE !" |
465 | warn_message_2: "Si vous supprimez le client %name%, toutes les applications qui l’utilisaient ne fonctionneront plus avec votre compte wallabag." | 473 | warn_message_2: "Si vous supprimez le client %name%, toutes les applications qui l’utilisaient ne fonctionneront plus avec votre compte wallabag." |
466 | action: "Supprimer le client %name%" | 474 | action: "Supprimer le client %name%" |
467 | client: | 475 | old_client: |
468 | page_title: "Gestion des clients API > Nouveau client" | 476 | page_title: "Gestion des clients API > Nouveau client" |
469 | page_description: "Vous allez créer un nouveau client. Merci de remplir l’adresse de redirection vers votre application." | 477 | page_description: "Vous allez créer un nouveau client. Merci de remplir l’adresse de redirection vers votre application." |
470 | form: | 478 | form: |
471 | name_label: "Nom du client" | 479 | name_label: "Nom du client" |
472 | redirect_uris_label: "Adresses de redirection (optionnel)" | ||
473 | save_label: "Créer un nouveau client" | 480 | save_label: "Créer un nouveau client" |
474 | action_back: "Retour" | 481 | action_back: "Retour" |
475 | client_parameter: | 482 | parameters: |
476 | page_title: "Gestion des clients API > Les paramètres de votre client" | 483 | page_title: "Gestion des clients API > Les paramètres de votre client" |
477 | page_description: "Voilà les paramètres de votre client" | 484 | page_description: "Voilà les paramètres de votre client" |
478 | field_name: "Nom du client" | 485 | field_name: "Nom du client" |
479 | field_id: "ID client" | 486 | field_id: "ID client" |
480 | field_secret: "Clé secrète" | 487 | field_secret: "Clé secrète" |
481 | back: "Retour" | 488 | back: "Retour" |
482 | read_howto: "Lire « comment créer ma première application »" | 489 | app: |
483 | howto: | 490 | created_at: 'Créé le : %date%' |
484 | page_title: "Gestion des clients API > Comment créer votre première application" | 491 | documentation: |
485 | description: | 492 | title: "Documentation" |
486 | paragraph_1: "Les commandes suivantes utilisent la <a href=\"https://github.com/jkbrzt/httpie\">librarie HTTPie</a>. Assurez-vous qu’elle soit installée avant de l’utiliser." | 493 | full_documentation: "Voir la documentation complète de l’API" |
487 | paragraph_2: "Vous avez besoin d’un token pour échanger entre votre application et l’API de wallabag." | 494 | list_methods: "Lister toutes les méthodes de l’API" |
488 | paragraph_3: "Pour créer un token, vous devez <a href=\"%link%\">créer un nouveau client</a>." | ||
489 | paragraph_4: "Maintenant créez votre token (remplacer client_id, client_secret, username et password avec les bonnes valeurs):" | ||
490 | paragraph_5: "L’API vous retournera une réponse comme ça :" | ||
491 | paragraph_6: "L’access_token doit être utilisé pour faire un appel à l’API. Par exemple :" | ||
492 | paragraph_7: "Cet appel va retourner tous les articles de l’utilisateur." | ||
493 | paragraph_8: "Si vous voulez toutes les méthodes de l’API, jetez un oeil <a href=\"%link%\">à la documentation de l’API</a>." | ||
494 | back: "Retour" | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: "Gestion des utilisateurs" | 497 | page_title: "Gestion des utilisateurs" |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml index 0597d3e3..504f990f 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml | |||
@@ -443,18 +443,28 @@ import: | |||
443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | # page_title: 'API clients management' | 447 | # page_title: 'API clients management' |
448 | welcome_message: 'Benvenuto nelle API di wallabag' | 448 | # allow: |
449 | documentation: 'Documentazione' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Come creare la mia prima applicazione' | 450 | # permissions: |
451 | full_documentation: 'Consulta la documentazione API completa' | 451 | # read: |
452 | list_methods: 'Elenco dei metodi API' | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Client' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | #featured: | ||
461 | # title: 'Featured apps' | ||
462 | #list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Crea un nuovo client' | 465 | create_new: 'Crea un nuovo client' |
456 | existing_clients: | ||
457 | title: 'Client esistenti' | 466 | title: 'Client esistenti' |
467 | list: 'Client' | ||
458 | field_id: 'Client ID' | 468 | field_id: 'Client ID' |
459 | field_secret: 'Client secret' | 469 | field_secret: 'Client secret' |
460 | field_uris: 'URI di reindirizzamento' | 470 | field_uris: 'URI di reindirizzamento' |
@@ -464,34 +474,26 @@ developer: | |||
464 | warn_message_1: "Hai la possibilità di rimuovere questo client. L'operazione è IRREVERSIBILE!" | 474 | warn_message_1: "Hai la possibilità di rimuovere questo client. L'operazione è IRREVERSIBILE!" |
465 | warn_message_2: "Se lo rimuovi, ogni app configurata con questo client non sarà più in grado di autenticarsi." | 475 | warn_message_2: "Se lo rimuovi, ogni app configurata con questo client non sarà più in grado di autenticarsi." |
466 | action: 'Rimuovi questo client' | 476 | action: 'Rimuovi questo client' |
467 | client: | 477 | old_client: |
468 | # page_title: 'API clients management > Nuovo client' | 478 | # page_title: 'API clients management > Nuovo client' |
469 | page_description: 'Stai per creare un nuovo client. Compila i campi sottostanti per lo URI di reindirizzamento della tua applicazione.' | 479 | page_description: 'Stai per creare un nuovo client. Compila i campi sottostanti per lo URI di reindirizzamento della tua applicazione.' |
470 | form: | 480 | form: |
471 | # name_label: 'Name of the client' | 481 | # name_label: 'Name of the client' |
472 | redirect_uris_label: 'URI di reindirizzamento' | ||
473 | save_label: 'Crea un nuovo client' | 482 | save_label: 'Crea un nuovo client' |
474 | action_back: 'Indietro' | 483 | action_back: 'Indietro' |
475 | client_parameter: | 484 | parameters: |
476 | # page_title: 'API clients management > parametri Client' | 485 | # page_title: 'API clients management > parametri Client' |
477 | page_description: 'Questi sono i tuoi parametri del client.' | 486 | page_description: 'Questi sono i tuoi parametri del client.' |
478 | # field_name: 'Client name' | 487 | # field_name: 'Client name' |
479 | field_id: 'Client ID' | 488 | field_id: 'Client ID' |
480 | field_secret: 'Client secret' | 489 | field_secret: 'Client secret' |
481 | back: 'Indietro' | 490 | back: 'Indietro' |
482 | read_howto: 'Leggi "Come creare la mia prima applicazione"' | 491 | # app: |
483 | howto: | 492 | # created_at: 'Created at: %date%' |
484 | # page_title: 'API clients management > Come creare la mia prima applicazione' | 493 | documentation: |
485 | description: | 494 | title: 'Documentazione' |
486 | paragraph_1: 'I seguenti comandi fanno uso della <a href="https://github.com/jkbrzt/httpie">libreria HTTPie</a>. Verifica che sia installata sul tuo sistema prima di utilizzarli.' | 495 | full_documentation: 'Consulta la documentazione API completa' |
487 | paragraph_2: 'Hai bisogno di un token per far comunicare la tua applicazione di terze parti e le API di wallabag.' | 496 | list_methods: 'Elenco dei metodi API' |
488 | paragraph_3: 'Per creare questo token, hai bisogno di <a href="%link%">creare un nuovo client</a>.' | ||
489 | paragraph_4: 'Ora, crea il tuo token (sostituisci client_id, client_secret, username e password con valori reali):' | ||
490 | paragraph_5: 'Le API ritorneranno una risposta di questo tipo:' | ||
491 | paragraph_6: "L'access_token è utile per chiamare un API endpoint. Per esempio:" | ||
492 | paragraph_7: 'Questa chiamata ritornerà tutti i contenuti per il tuo utente.' | ||
493 | paragraph_8: 'Se vuoi visualizzare tutti gli API endpoints, dai una occhiata alla <a href="%link%">documentazione delle API</a>.' | ||
494 | back: 'Indietro' | ||
495 | 497 | ||
496 | user: | 498 | user: |
497 | # page_title: Users management | 499 | # page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index c172a0f6..ea05fc4c 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml | |||
@@ -445,31 +445,38 @@ import: | |||
445 | 445 | ||
446 | developer: | 446 | developer: |
447 | page_title: 'Gestion dels clients API' | 447 | page_title: 'Gestion dels clients API' |
448 | welcome_message: "Benvenguda sus l'API de wallabag" | 448 | # allow: |
449 | documentation: 'Documentacion' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Cossí crear vòstra primièra aplicacion' | 450 | # permissions: |
451 | full_documentation: "Veire la documentacion completa de l'API" | 451 | # read: |
452 | list_methods: "Lista dels metòdes de l'API" | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Clients' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | #featured: | ||
461 | # title: 'Featured apps' | ||
462 | #list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Crear un novèl client' | 465 | create_new: 'Crear un novèl client' |
456 | existing_clients: | ||
457 | title: 'Los clients existents' | 466 | title: 'Los clients existents' |
467 | list: 'Clients' | ||
458 | field_id: 'ID Client' | 468 | field_id: 'ID Client' |
459 | field_secret: 'Clé secreta' | 469 | field_secret: 'Clé secreta' |
460 | field_uris: 'URLs de redireccion' | ||
461 | field_grant_types: 'Tipe de privilègi acordat' | ||
462 | no_client: 'Pas cap de client pel moment.' | 470 | no_client: 'Pas cap de client pel moment.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !' | 472 | warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !' |
465 | warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag." | 473 | warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag." |
466 | action: 'Suprimir aqueste client' | 474 | action: 'Suprimir aqueste client' |
467 | client: | 475 | old_client: |
468 | page_title: 'Gestion dels clients API > Novèl client' | 476 | page_title: 'Gestion dels clients API > Novèl client' |
469 | page_description: "Anatz crear un novèl client. Mercés de garnir l'url de redireccion cap a vòstra aplicacion." | 477 | page_description: "Anatz crear un novèl client. Mercés de garnir l'url de redireccion cap a vòstra aplicacion." |
470 | form: | 478 | form: |
471 | name_label: "Nom del client" | 479 | name_label: "Nom del client" |
472 | redirect_uris_label: 'URLs de redireccion' | ||
473 | save_label: 'Crear un novèl client' | 480 | save_label: 'Crear un novèl client' |
474 | action_back: 'Retorn' | 481 | action_back: 'Retorn' |
475 | client_parameter: | 482 | client_parameter: |
@@ -492,6 +499,19 @@ developer: | |||
492 | paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire." | 499 | paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire." |
493 | paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>." | 500 | paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>." |
494 | back: 'Retorn' | 501 | back: 'Retorn' |
502 | parameters: | ||
503 | page_title: 'Gestion dels clients API > Los paramètres de vòstre client' | ||
504 | page_description: 'Vaquí los paramètres de vòstre client.' | ||
505 | field_name: 'Nom del client' | ||
506 | field_id: 'ID Client' | ||
507 | field_secret: 'Clau secreta' | ||
508 | back: 'Retour' | ||
509 | # app: | ||
510 | # created_at: 'Created at: %date%' | ||
511 | documentation: | ||
512 | title: 'Documentacion' | ||
513 | full_documentation: "Veire la documentacion completa de l'API" | ||
514 | list_methods: "Lista dels metòdes de l'API" | ||
495 | 515 | ||
496 | user: | 516 | user: |
497 | page_title: 'Gestion dels utilizaires' | 517 | page_title: 'Gestion dels utilizaires' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index 82d16767..d2e5c1d5 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Pinboard. W ustawieniach kopii zapasowej (https://pinboard.in/settings/backup), kliknij na "JSON" w sekcji "Bookmarks". Otrzymasz plik "pinboard_export".' | 443 | description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Pinboard. W ustawieniach kopii zapasowej (https://pinboard.in/settings/backup), kliknij na "JSON" w sekcji "Bookmarks". Otrzymasz plik "pinboard_export".' |
444 | how_to: 'Wybierz swój plik eksportu z Pinboard i kliknij poniższy przycisk, aby go załadować.' | 444 | how_to: 'Wybierz swój plik eksportu z Pinboard i kliknij poniższy przycisk, aby go załadować.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | page_title: 'Zarządzanie klientami API' | 447 | page_title: 'Zarządzanie klientami API' |
448 | welcome_message: 'Witaj w API wallabag' | 448 | # allow: |
449 | documentation: 'Dokumentacja' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Jak stworzyć moją pierwszą aplikację' | 450 | # permissions: |
451 | full_documentation: 'Pokaż pełne API' | 451 | # read: |
452 | list_methods: 'Lista metod API' | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Klienci' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | #featured: | ||
461 | # title: 'Featured apps' | ||
462 | #list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Utwórz nowego klienta' | 465 | create_new: 'Utwórz nowego klienta' |
456 | existing_clients: | ||
457 | title: 'Istniejący klienci' | 466 | title: 'Istniejący klienci' |
467 | list: 'Klienci' | ||
458 | field_id: 'ID klienta' | 468 | field_id: 'ID klienta' |
459 | field_secret: 'Client secret' | 469 | field_secret: 'Client secret' |
460 | field_uris: 'Przekieruj URIs' | ||
461 | field_grant_types: 'Przyznaj pozwolenie' | ||
462 | no_client: 'Nie ma jeszcze klienta.' | 470 | no_client: 'Nie ma jeszcze klienta.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'Masz możliwość usunięcia tego klienta. Ta akcja jest NIEODWRACALNA !' | 472 | warn_message_1: 'Masz możliwość usunięcia tego klienta. Ta akcja jest NIEODWRACALNA !' |
465 | warn_message_2: "Jeżeli go usuniesz, aplikacje skonfigurowane z tym klientem nię będa w stanie autoryzować twojego wallabag." | 473 | warn_message_2: "Jeżeli go usuniesz, aplikacje skonfigurowane z tym klientem nię będa w stanie autoryzować twojego wallabag." |
466 | action: 'Usuń tego klienta' | 474 | action: 'Usuń tego klienta' |
467 | client: | 475 | old_client: |
468 | page_title: 'Zarządzanie klientami API > Nowy klient' | 476 | page_title: 'Zarządzanie klientami API > Nowy klient' |
469 | page_description: 'Tworzysz nowego klienta. Wypełnij poniższe pole w celu przekierowania URI twojej aplikacji.' | 477 | page_description: 'Tworzysz nowego klienta. Wypełnij poniższe pole w celu przekierowania URI twojej aplikacji.' |
470 | form: | 478 | form: |
471 | name_label: 'Nazwa klienta' | 479 | name_label: 'Nazwa klienta' |
472 | redirect_uris_label: 'Przekieruj adresy URI' | ||
473 | save_label: 'Stwórz nowego klienta' | 480 | save_label: 'Stwórz nowego klienta' |
474 | action_back: 'Cofnij' | 481 | action_back: 'Cofnij' |
475 | client_parameter: | 482 | parameters: |
476 | page_title: 'Zarządzanie klientami API > Parametry klienta' | 483 | page_title: 'Zarządzanie klientami API > Parametry klienta' |
477 | page_description: 'Tutaj znajdują się parametry klienta.' | 484 | page_description: 'Tutaj znajdują się parametry klienta.' |
478 | field_name: 'Nazwa klienta' | 485 | field_name: 'Nazwa klienta' |
479 | field_id: 'Client ID' | 486 | field_id: 'Client ID' |
480 | field_secret: 'Client secret' | 487 | field_secret: 'Client secret' |
481 | back: 'Cofnij' | 488 | back: 'Cofnij' |
482 | read_howto: 'Przeczytaj jak "Stworzyć moją pierwszą aplikację"' | 489 | # app: |
483 | howto: | 490 | # created_at: 'Created at: %date%' |
484 | page_title: 'Zarządzanie klientami API > Jak stworzyć moją pierwszą aplikację' | 491 | documentation: |
485 | description: | 492 | title: 'Dokumentacja' |
486 | paragraph_1: 'Następujące komendy korzystają <a href="https://github.com/jkbrzt/httpie">Biblioteka HTTPie</a>. Upewnij się, czy zainstalowałeś ją w swoim systemie zanim z niej skorzystasz' | 493 | full_documentation: 'Pokaż pełne API' |
487 | paragraph_2: 'Potrzebujesz tokena w celu nawiązania komunikacji między swoją aplikacją a API wallabag.' | 494 | list_methods: 'Lista metod API' |
488 | paragraph_3: 'W celu stworzenia tokena musisz <a href="%link%">stwórz nowego klienta</a>.' | ||
489 | paragraph_4: 'Teraz, utwórz tokena (zmień client_id, client_secret, username i password z poprawnymi wartościami):' | ||
490 | paragraph_5: 'API powinno zwrócić taką informację:' | ||
491 | paragraph_6: 'access_token jest użyteczny do wywołania API endpoint. Na przykład:' | ||
492 | paragraph_7: 'To wywołanie zwróci wszystkie twoje wpisy.' | ||
493 | paragraph_8: 'Jeżeli chcesz wyświetlić wszystkie punkty końcowe API, zobacz <a href="%link%">Dokumentacja naszego API</a>.' | ||
494 | back: 'Cofnij' | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: Zarządzanie użytkownikami | 497 | page_title: Zarządzanie użytkownikami |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml index b75567d6..0533ddba 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml | |||
@@ -445,53 +445,53 @@ import: | |||
445 | 445 | ||
446 | developer: | 446 | developer: |
447 | # page_title: 'API clients management' | 447 | # page_title: 'API clients management' |
448 | welcome_message: 'Bem-vindo a API do wallabag' | 448 | # allow: |
449 | documentation: 'Documentação' | 449 | # title: 'A new application would like to connect to your account' |
450 | how_to_first_app: 'Como criar minha primeira aplicação' | 450 | # permissions: |
451 | full_documentation: 'Ver a documentação completa da API' | 451 | # read: |
452 | list_methods: 'Lista de métodos da API' | 452 | # label: 'Read your data' |
453 | clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | title: 'Clientes' | 454 | # write: |
455 | # label: 'Edit your data' | ||
456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' | ||
457 | # user: | ||
458 | # label: 'Edit your user settings' | ||
459 | # desc: '%name% will be able to manage your user account.' | ||
460 | #featured: | ||
461 | # title: 'Featured apps' | ||
462 | #list: | ||
463 | # title: 'Authorized apps' | ||
464 | old_clients: | ||
455 | create_new: 'Criar um novo cliente' | 465 | create_new: 'Criar um novo cliente' |
456 | existing_clients: | ||
457 | title: 'Clientes existentes' | 466 | title: 'Clientes existentes' |
467 | list: 'Clientes' | ||
458 | field_id: 'ID do cliente' | 468 | field_id: 'ID do cliente' |
459 | field_secret: 'Chave do cliente' | 469 | field_secret: 'Chave do cliente' |
460 | field_uris: 'URIs de redirecionamento' | ||
461 | field_grant_types: 'Tipo permitido' | ||
462 | no_client: 'Nenhum cliente até agora.' | 470 | no_client: 'Nenhum cliente até agora.' |
463 | remove: | 471 | remove: |
464 | warn_message_1: 'Você tem permissão pare remover este cliente. Esta ação é IRREVERSÍVEL !' | 472 | warn_message_1: 'Você tem permissão pare remover este cliente. Esta ação é IRREVERSÍVEL !' |
465 | warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.' | 473 | warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.' |
466 | action: 'Remover este cliente' | 474 | action: 'Remover este cliente' |
467 | client: | 475 | old_client: |
468 | # page_title: 'API clients management > Novo cliente' | 476 | # page_title: 'API clients management > Novo cliente' |
469 | page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.' | 477 | page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.' |
470 | form: | 478 | form: |
471 | name_label: 'Nome do cliente' | 479 | name_label: 'Nome do cliente' |
472 | redirect_uris_label: 'URIs de redirecionamento' | ||
473 | save_label: 'Criar um novo cliente' | 480 | save_label: 'Criar um novo cliente' |
474 | action_back: 'Voltar' | 481 | action_back: 'Voltar' |
475 | client_parameter: | 482 | parameters: |
476 | # page_title: 'API clients management > Parâmetros de clientes' | 483 | # page_title: 'API clients management > Parâmetros de clientes' |
477 | page_description: 'Aqui estão os parâmetros de seus clientes.' | 484 | page_description: 'Aqui estão os parâmetros de seus clientes.' |
478 | field_name: 'Nome do cliente' | 485 | field_name: 'Nome do cliente' |
479 | field_id: 'ID do cliente' | 486 | field_id: 'ID do cliente' |
480 | field_secret: 'Chave do cliente' | 487 | field_secret: 'Chave do cliente' |
481 | back: 'Voltar' | 488 | back: 'Voltar' |
482 | read_howto: 'Leia o how-to "Criar minha primeira aplicação"' | 489 | # app: |
483 | howto: | 490 | # created_at: 'Created at: %date%' |
484 | # page_title: 'API clients management > Criar minha primeira aplicação' | 491 | documentation: |
485 | description: | 492 | title: 'Documentação' |
486 | paragraph_1: 'Os seguintes comandos fazem uso da <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Tenha certeza que ela está instalada em seu servidor antes de usá-la.' | 493 | full_documentation: 'Ver a documentação completa da API' |
487 | paragraph_2: 'Você precisa de um token para a comunicação entre sua aplicação terceira e a API do wallabag.' | 494 | list_methods: 'Lista de métodos da API' |
488 | paragraph_3: 'Para criar este token, você precisa <a href="%link%">criar um novo cliente</a>.' | ||
489 | paragraph_4: 'Agora, crie seu token (altere client_id, client_secret, username e password com os valores corretos):' | ||
490 | paragraph_5: 'A API pode retornar uma resposta como essa:' | ||
491 | paragraph_6: 'O access_token é utilizável para fazer uma chamada para o endpoint da API. Por exemplo:' | ||
492 | paragraph_7: 'Esta chamada pode retornar todas as entradas de seu usuário.' | ||
493 | paragraph_8: 'Se você deseja ver todos os endpoints da API, dê uma olhada <a href="%link%">em nossa documentação da API</a>.' | ||
494 | back: 'Voltar' | ||
495 | 495 | ||
496 | user: | 496 | user: |
497 | page_title: 'Gerenciamento de Usuários' | 497 | page_title: 'Gerenciamento de Usuários' |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 95df573d..3cea2900 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml | |||
@@ -443,55 +443,55 @@ import: | |||
443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 443 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 444 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
445 | 445 | ||
446 | developer: | 446 | apps: |
447 | # page_title: 'API clients management' | 447 | # page_title: 'Apps' |
448 | # welcome_message: 'Welcome to the wallabag API' | 448 | # allow: |
449 | # documentation: 'Documentation' | 449 | # title: 'A new application would like to connect to your account' |
450 | # how_to_first_app: 'How to create my first application' | 450 | # permissions: |
451 | # full_documentation: 'View full API documentation' | 451 | # read: |
452 | # list_methods: 'List API methods' | 452 | # label: 'Read your data' |
453 | # clients: | 453 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
454 | # title: 'Clients' | 454 | # write: |
455 | # create_new: 'Create a new client' | 455 | # label: 'Edit your data' |
456 | # existing_clients: | 456 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' |
457 | # title: 'Existing clients' | 457 | # user: |
458 | # field_id: 'Client ID' | 458 | # label: 'Edit your user settings' |
459 | # field_secret: 'Client secret' | 459 | # desc: '%name% will be able to manage your user account.' |
460 | # field_uris: 'Redirect URIs' | 460 | #featured: |
461 | # field_grant_types: 'Grant type allowed' | 461 | # title: 'Featured apps' |
462 | # no_client: 'No client yet.' | 462 | #list: |
463 | # remove: | 463 | # title: 'Authorized apps' |
464 | # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' | 464 | #old_clients: |
465 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | 465 | # create_new: 'Create a new client' |
466 | # action: 'Remove this client' | 466 | # title: 'Old clients (depreciated)' |
467 | # client: | 467 | # list: 'Old clients list' |
468 | # page_title: 'API clients management > New client' | 468 | # field_id: 'Client ID' |
469 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | 469 | # field_secret: 'Client secret' |
470 | # form: | 470 | # no_client: 'No client yet.' |
471 | # name_label: 'Name of the client' | 471 | #remove: |
472 | # redirect_uris_label: 'Redirect URIs' | 472 | # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' |
473 | # save_label: 'Create a new client' | 473 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." |
474 | # action_back: 'Back' | 474 | # action: 'Remove the client %name%' |
475 | # client_parameter: | 475 | #old_client: |
476 | # page_title: 'API clients management > Client parameters' | 476 | # page_title: 'Apps > New client' |
477 | # page_description: 'Here are your client parameters.' | 477 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' |
478 | # field_name: 'Client name' | 478 | # form: |
479 | # field_id: 'Client ID' | 479 | # name_label: 'Name of the client' |
480 | # field_secret: 'Client secret' | 480 | # save_label: 'Create a new client' |
481 | # back: 'Back' | 481 | # action_back: 'Back' |
482 | # read_howto: 'Read the howto "Create my first application"' | 482 | # parameters: |
483 | # howto: | 483 | # page_title: 'Apps > Client parameters' |
484 | # page_title: 'API clients management > How to create my first application' | 484 | # page_description: 'Here are your client parameters.' |
485 | # description: | 485 | # field_name: 'Client name' |
486 | # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' | 486 | # field_id: 'Client ID' |
487 | # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' | 487 | # field_secret: 'Client secret' |
488 | # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' | 488 | # back: 'Back' |
489 | # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' | 489 | # app: |
490 | # paragraph_5: 'The API will return a response like this:' | 490 | # created_at: 'Created at: %date%' |
491 | # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' | 491 | # documentation: |
492 | # paragraph_7: 'This call will return all the entries for your user.' | 492 | # title: 'Documentation' |
493 | # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' | 493 | # full_documentation: 'Full documentation' |
494 | # back: 'Back' | 494 | # list_methods: 'List API methods' |
495 | 495 | ||
496 | user: | 496 | user: |
497 | # page_title: Users management | 497 | # page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index 61e1a1ea..7c2edba0 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml | |||
@@ -441,55 +441,55 @@ import: | |||
441 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' | 441 | # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' |
442 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' | 442 | # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' |
443 | 443 | ||
444 | developer: | 444 | apps: |
445 | # page_title: 'API clients management' | 445 | # page_title: 'Apps' |
446 | # welcome_message: 'Welcome to the wallabag API' | 446 | # allow: |
447 | # documentation: 'Documentation' | 447 | # title: 'A new application would like to connect to your account' |
448 | # how_to_first_app: 'How to create my first application' | 448 | # permissions: |
449 | # full_documentation: 'View full API documentation' | 449 | # read: |
450 | # list_methods: 'List API methods' | 450 | # label: 'Read your data' |
451 | # clients: | 451 | # desc: '%name% will be able to access the list and contents of your entries, tags and annotations.' |
452 | # title: 'Clients' | 452 | # write: |
453 | # create_new: 'Create a new client' | 453 | # label: 'Edit your data' |
454 | # existing_clients: | 454 | # desc: '%name% will be able to edit and manage (including deleting) your entries, tags and annotations.' |
455 | # title: 'Existing clients' | 455 | # user: |
456 | # field_id: 'Client ID' | 456 | # label: 'Edit your user settings' |
457 | # field_secret: 'Client secret' | 457 | # desc: '%name% will be able to manage your user account.' |
458 | # field_uris: 'Redirect URIs' | 458 | #featured: |
459 | # field_grant_types: 'Grant type allowed' | 459 | # title: 'Featured apps' |
460 | # no_client: 'No client yet.' | 460 | #list: |
461 | # remove: | 461 | # title: 'Authorized apps' |
462 | # warn_message_1: 'You have the ability to remove this client. This action is IRREVERSIBLE !' | 462 | #old_clients: |
463 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | 463 | # create_new: 'Create a new client' |
464 | # action: 'Remove this client' | 464 | # title: 'Old clients (depreciated)' |
465 | # client: | 465 | # list: 'Old clients list' |
466 | # page_title: 'API clients management > New client' | 466 | # field_id: 'Client ID' |
467 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | 467 | # field_secret: 'Client secret' |
468 | # form: | 468 | # no_client: 'No client yet.' |
469 | #remove: | ||
470 | # warn_message_1: 'You have the ability to remove the client %name%. This action is IRREVERSIBLE !' | ||
471 | # warn_message_2: "If you remove it, every app configured with that client won't be able to auth on your wallabag." | ||
472 | # action: 'Remove the client %name%' | ||
473 | #old_client: | ||
474 | # page_title: 'Apps > New client' | ||
475 | # page_description: 'You are about to create a new client. Please fill the field below for the redirect URI of your application.' | ||
476 | # form: | ||
469 | # name_label: 'Name of the client' | 477 | # name_label: 'Name of the client' |
470 | # redirect_uris_label: 'Redirect URIs' | 478 | # save_label: 'Create a new client' |
471 | # save_label: 'Create a new client' | 479 | # action_back: 'Back' |
472 | # action_back: 'Back' | 480 | # parameters: |
473 | # client_parameter: | 481 | # page_title: 'Apps > Client parameters' |
474 | # page_title: 'API clients management > Client parameters' | 482 | # page_description: 'Here are your client parameters.' |
475 | # page_description: 'Here are your client parameters.' | 483 | # field_name: 'Client name' |
476 | # field_name: 'Client name' | 484 | # field_id: 'Client ID' |
477 | # field_id: 'Client ID' | 485 | # field_secret: 'Client secret' |
478 | # field_secret: 'Client secret' | 486 | # back: 'Back' |
479 | # back: 'Back' | 487 | # app: |
480 | # read_howto: 'Read the howto "Create my first application"' | 488 | # created_at: 'Created at: %date%' |
481 | # howto: | 489 | # documentation: |
482 | # page_title: 'API clients management > How to create my first application' | 490 | # title: 'Documentation' |
483 | # description: | 491 | # full_documentation: 'Full documentation' |
484 | # paragraph_1: 'The following commands make use of the <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Make sure it is installed on your system before using it.' | 492 | # list_methods: 'List API methods' |
485 | # paragraph_2: 'You need a token to communicate between your 3rd application and wallabag API.' | ||
486 | # paragraph_3: 'To create this token, you need <a href="%link%">to create a new client</a>.' | ||
487 | # paragraph_4: 'Now, create your token (replace client_id, client_secret, username and password with the good values):' | ||
488 | # paragraph_5: 'The API will return a response like this:' | ||
489 | # paragraph_6: 'The access_token is useful to do a call to the API endpoint. For example:' | ||
490 | # paragraph_7: 'This call will return all the entries for your user.' | ||
491 | # paragraph_8: 'If you want to see all the API endpoints, you can have a look <a href="%link%">to our API documentation</a>.' | ||
492 | # back: 'Back' | ||
493 | 493 | ||
494 | user: | 494 | user: |
495 | # page_title: Users management | 495 | # page_title: Users management |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig index 8a5da71a..09e138ed 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client.html.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | 1 | {% extends "WallabagCoreBundle::layout.html.twig" %} |
2 | 2 | ||
3 | {% block title %}{{ 'developer.client.page_title'|trans }}{% endblock %} | 3 | {% block title %}{{ 'apps.old_client.page_title'|trans }}{% endblock %} |
4 | 4 | ||
5 | {% block content %} | 5 | {% block content %} |
6 | <div class="row"> | 6 | <div class="row"> |
@@ -8,7 +8,7 @@ | |||
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | 9 | ||
10 | <div class="row"> | 10 | <div class="row"> |
11 | <p>{{ 'developer.client.page_description'|trans }}</p> | 11 | <p>{{ 'apps.old_client.page_description'|trans }}</p> |
12 | {{ form_start(form) }} | 12 | {{ form_start(form) }} |
13 | {{ form_errors(form) }} | 13 | {{ form_errors(form) }} |
14 | 14 | ||
@@ -18,13 +18,7 @@ | |||
18 | {{ form_widget(form.name) }} | 18 | {{ form_widget(form.name) }} |
19 | </div> | 19 | </div> |
20 | 20 | ||
21 | <div class="input-field col s12"> | 21 | <a href="{{ path('apps') }}" class="waves-effect waves-light grey btn">{{ 'apps.old_client.action_back'|trans }}</a> |
22 | {{ form_label(form.redirect_uris) }} | ||
23 | {{ form_errors(form.redirect_uris) }} | ||
24 | {{ form_widget(form.redirect_uris) }} | ||
25 | </div> | ||
26 | |||
27 | <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client.action_back'|trans }}</a> | ||
28 | {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} | 22 | {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} |
29 | 23 | ||
30 | {{ form_rest(form) }} | 24 | {{ form_rest(form) }} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig index b498cceb..30b90252 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig | |||
@@ -1,21 +1,20 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | 1 | {% extends "WallabagCoreBundle::layout.html.twig" %} |
2 | 2 | ||
3 | {% block title %}{{ 'developer.client_parameter.page_title'|trans }}{% endblock %} | 3 | {% block title %}{{ 'apps.old_client.parameters.page_title'|trans }}{% endblock %} |
4 | 4 | ||
5 | {% block content %} | 5 | {% block content %} |
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | <div class="row"> | 9 | <div class="row"> |
10 | <p>{{ 'developer.client_parameter.page_description'|trans }}</p> | 10 | <p>{{ 'apps.old_client.parameters.page_description'|trans }}</p> |
11 | <ul> | 11 | <ul> |
12 | <li>{{ 'developer.client_parameter.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> | 12 | <li>{{ 'apps.old_client.parameters.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> |
13 | <li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> | 13 | <li>{{ 'apps.old_client.parameters.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> |
14 | <li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> | 14 | <li>{{ 'apps.old_client.parameters.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> |
15 | </ul> | 15 | </ul> |
16 | 16 | ||
17 | <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> | 17 | <a href="{{ path('apps') }}" class="waves-effect waves-light grey btn">{{ 'apps.old_client.parameters.back'|trans }}</a> |
18 | <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a> | ||
19 | </div> | 18 | </div> |
20 | </div> | 19 | </div> |
21 | </div> | 20 | </div> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig deleted file mode 100644 index acbc2c88..00000000 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | ||
2 | |||
3 | {% block title %}{{ 'developer.howto.page_title'|trans }}{% endblock %} | ||
4 | |||
5 | {% block css %} | ||
6 | {{ parent() }} | ||
7 | <link rel="stylesheet" href="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/themes/prism-dark.min.css') }}"> | ||
8 | {% endblock %} | ||
9 | |||
10 | {% block content %} | ||
11 | <div class="row"> | ||
12 | <div class="col s12"> | ||
13 | <div class="card-panel settings"> | ||
14 | |||
15 | <div class="row"> | ||
16 | <p>{{ 'developer.howto.description.paragraph_1'|trans|raw }}</p> | ||
17 | <p>{{ 'developer.howto.description.paragraph_2'|trans }}</p> | ||
18 | <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p> | ||
19 | <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p> | ||
20 | <p> | ||
21 | <pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \ | ||
22 | grant_type=password \ | ||
23 | client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \ | ||
24 | client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \ | ||
25 | username=yourUsername \ | ||
26 | password=yourPassw0rd</code></pre> | ||
27 | </p> | ||
28 | <p>{{ 'developer.howto.description.paragraph_5'|trans }}</p> | ||
29 | <p> | ||
30 | <pre><code class="language-bash">HTTP/1.1 200 OK | ||
31 | Cache-Control: no-store, private | ||
32 | Connection: close | ||
33 | Content-Type: application/json | ||
34 | Date: Tue, 06 Oct 2015 18:24:03 GMT | ||
35 | Host: localhost:8000 | ||
36 | Pragma: no-cache | ||
37 | X-Debug-Token: be00a1 | ||
38 | X-Debug-Token-Link: /profiler/be00a1 | ||
39 | X-Powered-By: PHP/5.5.9-1ubuntu4.13 | ||
40 | { | ||
41 | "access_token": "ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw", | ||
42 | "expires_in": 3600, | ||
43 | "refresh_token": "ODBjODU1NWUwNmUzZTBkNDQ5YWVlZTVlMjQ2Y2I0OWM2NTM1ZGM2M2Y3MDhjMTViM2U2MzYxYzRkMDk5ODRlZg", | ||
44 | "scope": null, | ||
45 | "token_type": "bearer" | ||
46 | }</code></pre> | ||
47 | </p> | ||
48 | <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p> | ||
49 | <p> | ||
50 | <pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \ | ||
51 | "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre> | ||
52 | </p> | ||
53 | <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p> | ||
54 | <p>{{ 'developer.howto.description.paragraph_8'|trans({'%link%': path('nelmio_api_doc_index')})|raw }}</p> | ||
55 | <p><a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.howto.back'|trans }}</a></p> | ||
56 | </div> | ||
57 | |||
58 | </div> | ||
59 | </div> | ||
60 | </div> | ||
61 | <script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/prism.min.js') }}"></script> | ||
62 | <script src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/prism/1.4.1/components/prism-bash.min.js') }}"></script> | ||
63 | {% endblock %} | ||
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig index 528b055c..a41e64f7 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig | |||
@@ -1,67 +1,153 @@ | |||
1 | {% extends "WallabagCoreBundle::layout.html.twig" %} | 1 | {% extends "WallabagCoreBundle::layout.html.twig" %} |
2 | 2 | ||
3 | {% block title %}{{ 'developer.page_title'|trans }}{% endblock %} | 3 | {% block title %}{{ 'apps.page_title'|trans }}{% endblock %} |
4 | 4 | ||
5 | {% block content %} | 5 | {% block content %} |
6 | <div class="row"> | 6 | <div class="row"> |
7 | <div class="col s12"> | 7 | <div class="col s12"> |
8 | <div class="card-panel settings"> | 8 | <div class="card-panel settings"> |
9 | |||
10 | <div class="row"> | 9 | <div class="row"> |
11 | <h3>{{ 'developer.welcome_message'|trans }}</h3> | 10 | <h4>{{ 'apps.featured.title'|trans }}</h4> |
11 | |||
12 | <div class="slider"> | ||
13 | <ul class="slides"> | ||
14 | <li> | ||
15 | <img src="{{ asset('assets/appicons/android_full.png') }}"> | ||
16 | <div class="caption right-align"> | ||
17 | <h3>Android</h3> | ||
18 | <h5 class="light grey-text text-lighten-3">For all Android 4.4+ devices</h5> | ||
19 | <p> | ||
20 | <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche"> | ||
21 | <img class="icon" alt="Get it on Google Play" | ||
22 | height="80" | ||
23 | src="{{ asset('assets/appicons/google_play.png') }}" /> | ||
24 | </a> | ||
25 | <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche"> | ||
26 | <img class="icon" alt="Get it on F-Droid" | ||
27 | height="80" | ||
28 | src="{{ asset('assets/appicons/fdroid.png') }}" /> | ||
29 | </a> | ||
30 | </p> | ||
31 | </div> | ||
32 | </li> | ||
33 | <li> | ||
34 | <img style="background-position: right" src="{{ asset('assets/appicons/iOS_full.png') }}"> | ||
35 | <div class="caption left-align"> | ||
36 | <h3>iOS</h3> | ||
37 | <h5 class="light grey-text text-lighten-3">For your iPhones and iPads</h5> | ||
38 | <p> | ||
39 | <a href="https://itunes.apple.com/app/wallabag-2/id1170800946?mt=8"> | ||
40 | <img class="icon" alt="Get it on the AppStore" | ||
41 | height="80" | ||
42 | src="{{ asset('assets/appicons/appstore.svg') }}" /> | ||
43 | </a> | ||
44 | </p> | ||
45 | </div> | ||
46 | </li> | ||
47 | <li> | ||
48 | <img src="{{ asset('assets/appicons/windows.jpeg') }}"> | ||
49 | <div class="caption right-align"> | ||
50 | <h3>Windows</h3> | ||
51 | <h5 class="light grey-text text-lighten-3">Available on Windows Phones and Windows 10</h5> | ||
52 | <p> | ||
53 | <a href="https://www.microsoft.com/en-us/store/p/wallabag/9nblggh5x3p6"> | ||
54 | <img class="icon" alt="Get it on the Windows Store" | ||
55 | height="80" | ||
56 | src="{{ asset('assets/appicons/windowsstore.png') }}" /> | ||
57 | </a> | ||
58 | </p> | ||
59 | </div> | ||
60 | </li> | ||
61 | <li> | ||
62 | <img style="background-position: right" src="{{ asset('assets/appicons/browser.png') }}"> | ||
63 | <div class="caption left-align"> | ||
64 | <h3>Browser Extension</h3> | ||
65 | <h5 class="light grey-text text-lighten-3">Available on Firefox, Chrome and Opera</h5> | ||
66 | <p> | ||
67 | <a href="https://addons.mozilla.org/en/firefox/addon/wallabagger/"> | ||
68 | <img class="icon browser" alt="Get it on the Firefox Addons Website" | ||
69 | height="80" | ||
70 | src="{{ asset('assets/appicons/Firefox-logo.svg') }}" /> | ||
71 | </a> | ||
72 | <a href="https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj"> | ||
73 | <img class="icon browser" alt="Get it on the Firefox Addons Website" | ||
74 | height="80" | ||
75 | src="{{ asset('assets/appicons/Logo_Google_Chrome.svg') }}" /> | ||
76 | </a> | ||
77 | <a href="https://addons.opera.com/fr/extensions/details/wallabagger/"> | ||
78 | <img class="icon browser" alt="Get it on the Firefox Addons Website" | ||
79 | height="80" | ||
80 | src="{{ asset('assets/appicons/opera-for-computers_icon_128x128.png') }}" /> | ||
81 | </a> | ||
82 | </p> | ||
83 | </div> | ||
84 | </li> | ||
85 | </ul> | ||
86 | </div> | ||
12 | 87 | ||
13 | <h4>{{ 'developer.documentation'|trans }}</h4> | 88 | <h4>{{ 'apps.list.title'|trans }}</h4> |
14 | 89 | ||
15 | <ul> | 90 | <ul class="collection"> |
16 | <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> | 91 | {% for app in apps %} |
17 | <li><a href="https://doc.wallabag.org/en/developer/api/readme.html">{{ 'developer.full_documentation'|trans }}</a></li> | 92 | <li class="collection-item avatar"> |
18 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li> | 93 | {% if app.client.image %} |
94 | <img src="{{ app.client.image }}" alt="" class="circle"> | ||
95 | {% endif %} | ||
96 | <span class="title"><a href="{{ app.client.appUrl }}">{{ app.client.name }}</a></span> | ||
97 | <p>{{ app.client.description }}</p> | ||
98 | <div class="scopes"> | ||
99 | {% for scope in app.scope | split(' ') %} | ||
100 | <div class="chip">{{ scope }}</div> | ||
101 | {% endfor %} | ||
102 | </div> | ||
103 | <p>{{ 'apps.app.created_at' | trans({'%date%': app.client.createdAt}) }}</p> | ||
104 | <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a> | ||
105 | </li> | ||
106 | {% endfor %} | ||
19 | </ul> | 107 | </ul> |
20 | 108 | ||
21 | <h4>{{ 'developer.clients.title'|trans }}</h4> | 109 | <h4>{{ 'apps.old_clients.title'|trans }}</h4> |
22 | <ul> | 110 | <ul> |
23 | <li><a href="{{ path('developer_create_client') }}">{{ 'developer.clients.create_new'|trans }}</a></li> | 111 | <li><a href="{{ path('apps_create_client') }}">{{ 'apps.old_clients.create_new'|trans }}</a></li> |
24 | </ul> | 112 | </ul> |
25 | 113 | ||
26 | <h4>{{ 'developer.existing_clients.title'|trans }}</h4> | 114 | <h5>{{ 'apps.old_clients.list'|trans }}</h5> |
27 | {% if clients %} | 115 | {% if clients %} |
28 | <ul class="collapsible" data-collapsible="expandable"> | 116 | <ul class="collapsible" data-collapsible="expandable"> |
29 | {% for client in clients %} | 117 | {% for client in clients %} |
30 | <li> | 118 | <li> |
31 | <div class="collapsible-header">{{ client.name }} - #{{ client.id }}</div> | 119 | <div class="collapsible-header">{{ client.name }}</div> |
32 | <div class="collapsible-body"> | 120 | <div class="collapsible-body"> |
33 | <table class="striped"> | 121 | <table class="striped"> |
34 | <tr> | 122 | <tr> |
35 | <td>{{ 'developer.existing_clients.field_id'|trans }}</td> | 123 | <td>{{ 'apps.old_clients.field_id'|trans }}</td> |
36 | <td><strong><code>{{ client.clientId }}</code></strong></td> | 124 | <td><strong><code>{{ client.id }}_{{ client.randomId }}</code></strong></td> |
37 | </tr> | 125 | </tr> |
38 | <tr> | 126 | <tr> |
39 | <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> | 127 | <td>{{ 'apps.old_clients.field_secret'|trans }}</td> |
40 | <td><strong><code>{{ client.secret }}</code></strong></td> | 128 | <td><strong><code>{{ client.secret }}</code></strong></td> |
41 | </tr> | 129 | </tr> |
42 | <tr> | ||
43 | <td>{{ 'developer.existing_clients.field_uris'|trans }}</td> | ||
44 | <td><strong><code>{{ client.redirectUris|json_encode() }}</code></strong></td> | ||
45 | </tr> | ||
46 | <tr> | ||
47 | <td>{{ 'developer.existing_clients.field_grant_types'|trans }}</td> | ||
48 | <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td> | ||
49 | </tr> | ||
50 | </table> | 130 | </table> |
51 | <p> | 131 | <p> |
52 | {{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/> | 132 | {{ 'apps.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/> |
53 | {{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/> | 133 | {{ 'apps.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/> |
54 | <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> | 134 | <a class="waves-effect waves-light red btn" href="{{ path('apps_delete_client', {'id': client.id}) }}">{{ 'apps.remove.action'|trans({'%name%': client.name }) }}</a> |
55 | </p> | 135 | </p> |
136 | |||
56 | </div> | 137 | </div> |
57 | </li> | 138 | </li> |
58 | {% endfor %} | 139 | {% endfor %} |
59 | </ul> | 140 | </ul> |
60 | {% else %} | 141 | {% else %} |
61 | {{ 'developer.existing_clients.no_client'|trans }} | 142 | {{ 'apps.old_clients.no_client'|trans }} |
62 | {% endif %} | 143 | {% endif %} |
63 | </div> | 144 | <h4>{{ 'apps.documentation.title'|trans }}</h4> |
64 | 145 | ||
146 | <ul> | ||
147 | <li><a href="http://doc.wallabag.org/en/master/developer/api.html">{{ 'apps.documentation.full_documentation'|trans }}</a></li> | ||
148 | <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'apps.documentation.list_methods'|trans }}</a></li> | ||
149 | </ul> | ||
150 | </div> | ||
65 | </div> | 151 | </div> |
66 | </div> | 152 | </div> |
67 | </div> | 153 | </div> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig index 2dab1c18..6bee628d 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig | |||
@@ -78,8 +78,8 @@ | |||
78 | <li class="bold {% if currentRoute == 'import' %}active{% endif %}"> | 78 | <li class="bold {% if currentRoute == 'import' %}active{% endif %}"> |
79 | <a class="waves-effect" href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a> | 79 | <a class="waves-effect" href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a> |
80 | </li> | 80 | </li> |
81 | <li class="bold {% if currentRoute == 'developer' %}active{% endif %}"> | 81 | <li class="bold {% if currentRoute == 'apps' %}active{% endif %}"> |
82 | <a class="waves-effect" href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a> | 82 | <a class="waves-effect" href="{{ path('apps') }}">{{ 'menu.left.apps'|trans }}</a> |
83 | </li> | 83 | </li> |
84 | <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"> | 84 | <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"> |
85 | <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a> | 85 | <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a> |
diff --git a/web/assets/appicons/.gitkeep b/web/assets/appicons/.gitkeep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/web/assets/appicons/.gitkeep | |||
diff --git a/web/assets/appicons/Firefox-logo.svg b/web/assets/appicons/Firefox-logo.svg new file mode 100644 index 00000000..3f71d3d6 --- /dev/null +++ b/web/assets/appicons/Firefox-logo.svg | |||
@@ -0,0 +1,429 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ | ||
3 | <!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/"> | ||
4 | <!ENTITY ns_svg "http://www.w3.org/2000/svg"> | ||
5 | <!ENTITY ns_xlink "http://www.w3.org/1999/xlink"> | ||
6 | ]> | ||
7 | <svg xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="132.72" height="127.219" viewBox="0 0 132.72 127.219" overflow="visible" enable-background="new 0 0 132.72 127.219" xml:space="preserve"> | ||
8 | |||
9 | <title>Firefox Logo</title> | ||
10 | <desc>Firefox logo in SVG, authored by Jon Hicks, made in Adobe Illustrator (file format cleaned up and slightly modified by Doug Schepers)</desc> | ||
11 | |||
12 | <g id="Firefox"> | ||
13 | <g id="Globe"> | ||
14 | <ellipse fill="#110070" cx="63.755" cy="59.375" rx="59.336" ry="59.375"/> | ||
15 | <radialGradient id="XMLID_61_" cx="64.5688" cy="7.2266" r="104.221" fx="64.5688" fy="7.2266" gradientUnits="userSpaceOnUse"> | ||
16 | <stop offset="0" style="stop-color:#67C5D5"/> | ||
17 | <stop offset="0.1604" style="stop-color:#66C2D3"/> | ||
18 | <stop offset="0.2795" style="stop-color:#62B9CE"/> | ||
19 | <stop offset="0.3852" style="stop-color:#5CA8C6"/> | ||
20 | <stop offset="0.4832" style="stop-color:#5392BA"/> | ||
21 | <stop offset="0.5759" style="stop-color:#4874AA"/> | ||
22 | <stop offset="0.6646" style="stop-color:#3A5097"/> | ||
23 | <stop offset="0.7485" style="stop-color:#2A2781"/> | ||
24 | <stop offset="0.8146" style="stop-color:#1B006D"/> | ||
25 | <stop offset="1" style="stop-color:#596AAD"/> | ||
26 | </radialGradient> | ||
27 | <ellipse fill="url(#XMLID_61_)" cx="63.755" cy="59.375" rx="58.215" ry="58.254"/> | ||
28 | <radialGradient id="XMLID_62_" cx="64.5518" cy="14.1748" r="52.2317" fx="64.5518" fy="14.1748" gradientUnits="userSpaceOnUse"> | ||
29 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
30 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
31 | <stop offset="1" style="stop-color:#00145A"/> | ||
32 | </radialGradient> | ||
33 | <path fill="url(#XMLID_62_)" d="M55.405,89.446c-0.072-0.316-0.857-1.233-1.458-1.438 c-0.599-0.205-1.188,0.884-1.574-0.924c-1.266,0.726-1.812-0.2-1.812-0.2s-1.365,0.08-1.629,1.751 c-0.65,0.769-2.316,3.566-1.431,0.657c0.891-2.927-0.94-0.23-1.11,1.24c-0.318,0.653-0.855,0.719-0.517-2.218 c-1.173-0.405-1.772-3.127-1.129-3.179c-0.747-1.041-0.16-2.633,0.462-2.548c0.622,0.08,1.69-1.36,1.657-1.694 c-0.033-0.333,0.482-0.095,0.45-2.336c-0.033-2.247,0.847-2.803,0.919-0.924c0.076,1.872,1.194-0.613,1.079-1.566 c-0.116-0.949,0.112-3.094,0.793-1.826c-0.793-3.137-0.167-3.261,0.309-1.173c1.193,0.094,1.234,0.73,1.234,0.73 c1.321-0.325,1.954,0.67,2.056,1.228c1.224-1.445,2.46,0.113,2.46,0.113s0.853-0.283,0.445,1.2 c-0.41,1.478,1.772,0.678,1.251-0.384c1.073-0.543,2.666,1.102,3.168,2.224c0.502,1.127-0.86,2.723,0.202,3.109 c1.068,0.384,0.6,2.242,0.6,2.242s2.232,1.238,0.683,2.301l-0.528,1.265c0,0,1.01,1.127,1.354,0.456 c0.344-0.672,0.466,0.683,0.466,0.683c-0.129-0.24,0.248,1.396,1.64,1.74c1.398,0.341,2.283,2.55,0.731,2.578 c-1.546,0.025-1.666-0.017-2.085,0.886c-0.417,0.899-2.391,0.931-3.413-0.233c-1.087,0.368-3.021-0.106-2.452-0.976 c-0.938,0.547-1.824-0.922-1.091-1.577c0.733-0.653-0.412-1.499-0.797-0.563c-0.381,0.935-2.404,1.396-2.263-0.195 c0.042-0.472,1.12-0.748,1.134-0.354C55.406,89.996,55.486,89.505,55.405,89.446z"/> | ||
34 | <g> | ||
35 | <radialGradient id="XMLID_63_" cx="64.5537" cy="14.1758" r="52.2289" fx="64.5537" fy="14.1758" gradientUnits="userSpaceOnUse"> | ||
36 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
37 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
38 | <stop offset="1" style="stop-color:#00145A"/> | ||
39 | </radialGradient> | ||
40 | <path fill="url(#XMLID_63_)" d="M103.541,43.916c0.309,0.306,0.917,0.238,1.254,0.144 c0.339-0.097,0.291-0.337,0.583-0.431c0.287-0.097,1.397,0.431,1.107,1.584c-0.673,0.094-0.917,0.912-0.917,0.912 s-0.673,0.287-1.013,0.144c-0.338-0.144-0.338-0.097-0.821-0.05c-0.483,0.05-1.643-0.622-0.387-0.622 c1.257,0-0.143-0.577-0.675-0.577c-0.53,0-0.097-0.528,0.532-0.384C102.768,43.916,103.009,43.385,103.541,43.916z"/> | ||
41 | <radialGradient id="XMLID_64_" cx="64.5488" cy="14.1724" r="52.2373" fx="64.5488" fy="14.1724" gradientUnits="userSpaceOnUse"> | ||
42 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
43 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
44 | <stop offset="1" style="stop-color:#00145A"/> | ||
45 | </radialGradient> | ||
46 | <path fill="url(#XMLID_64_)" d="M99.188,46.524c-0.337,0.334,0.049,1.344,0.483,1.294 c0.433-0.047,1.11-0.238,1.11-0.238s0.337,0.672,0,0.866c-0.337,0.19-1.319,0.106-0.047,0.575 c1.304,0.479,1.64,0.334,1.737,0.094c0.097-0.238,0.53-1.054,0.773-1.006c0.193-0.431-0.676-0.815-0.192-1.105 c0.479-0.288,0.096-1.343,0.096-1.343s-0.677,0.047-0.966,0.528c-0.29,0.48-0.674-0.047-0.964-0.047 c-0.049,0.287-0.243,0.527-0.243,0.527l-0.193-0.434C100.781,46.234,99.428,46.188,99.188,46.524z"/> | ||
47 | </g> | ||
48 | <radialGradient id="XMLID_65_" cx="65.4053" cy="19.1201" r="57.3827" fx="65.4053" fy="19.1201" gradientUnits="userSpaceOnUse"> | ||
49 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
50 | <stop offset="0.2643" style="stop-color:#0B629B"/> | ||
51 | <stop offset="0.8439" style="stop-color:#031747"/> | ||
52 | <stop offset="1" style="stop-color:#00022F"/> | ||
53 | </radialGradient> | ||
54 | <path fill="url(#XMLID_65_)" d="M90.165,47.314c-0.042-0.123,0.384-0.62,0.27,0.024 c-0.262,0.458,1.058,0.87,1.428,0.36c1.241-1.7-1.17-2.522-2.216-1.732c-1.056,0.797-1.638-0.912-0.425-1.155 c1.209-0.245,1.311-2.43-0.021-2.438c1.176-0.58-0.453-2.318-1.799-2.615c-0.217-1.87-2.189-3.059-3.226-2.38 c-1.047,0.681-1.137,0.561-2.671-0.37c-1.528-0.927-2.264,1.928-1.14,3.175c1.131,1.256,0.311,3.281,0.358,2.935 c0,0-0.426,0.766-0.398,1.053c-1.294,0.439-1.672-1.383-2.475-1.786c-0.585,0.763-1.53,1.17-1.53,1.17l0.071-1.553 c0,0-4.017-2.188-5.251-1.575c-1.521,0.47-1.881,3.991-0.5,4.506c1.383,0.521-1.735,1.818,1.393,5.116 c3.213,3.386,4.455,3.483,5.111,2.932c0.162-0.139,0.442-0.347,0.784-0.578c0.031,0.13,0.083,0.255,0.163,0.373 c0.804,1.209-1.869,2.162-2.242,3.894c-0.379,1.751-0.03,5.007,1.556,5.118c0.302-1.735,3.27-1.122,1.655,0.45 c-1.644,1.603-0.491,1.886-0.491,1.886s0.078,3.003,2.592,2.043c-0.073,0.172-0.132,0.392-0.167,0.632 c-0.703-0.142-2.421-0.357-2.841,0.841c-0.53,1.512-2.774-0.512-4.344,0.167c-1.563,0.674-3.844,2.887-3.076,4.443 c1.476-0.7,2.606,2.456,0.544,1.808c-2.069-0.65-1.667,0.583-1.667,0.583s-2.154,1.699-0.137,3.508 c-0.775,0.118-2.152,0.981-1.688,2.874c0,0-0.885,0.032-1.004,1.726c-2.887,0.582-2.711,1.478,1.633,0.496 c-1.753,0.91,1.226,1.338,2.546,1.217c1.322-0.12,4.792,1.591,2.185,1.608c-2.612,0.016-1.834,1.294,1.294,1.355 c3.123,0.064,2.795,0.788,3.259,0.756c0.464-0.032,2.484,1.561,2.374,2.444c-0.113,0.884,2.116,1.801,3.566,0.788 c0.074,0.919,3.886,0.202,4.45-1.455c4.128,0.631,4.033-0.139,3.114-0.629c-2.067-0.316-5.86-3.063-1.746-1.65 c4.093,1.411,0.15-1.11-0.929-2.079c-2.35-0.457-2.47-2.416-2.47-2.416s1.298-0.739,0.274-2.586 c2.539-0.471,1.006-1.364,1.291-2.215c0.285-0.854,1.574-1.942,2.016-2.03c0.084-0.115,0.775,0.023,0.134,0.283 c-0.554,0.006-0.161,1.566,0.502,1.646c2.242,0.273,1.586-2.654,0.269-3.243c-1.32-0.594-0.135-2.204,0.792-1.12 c0.927,1.082,2.993-0.133,2.218-1.504c1.232,0.854,1.896-1.909,1.372-3.495c1.648-1.429,1.595-4.278,0.32-4.915 c-0.627-0.313-0.93-0.516-1.082-0.905c0.757-0.358,1.761-0.622,2.155-0.269c0.641,0.579,2.425-1.018,2.312-2.885 c0.751,0.412,1.947-3.395,0.931-4.727c2.326-3.252,1.699-3.547,0.921-3.002c-1.17,1.622-5.013,3.563-2.034,0.688 c2.892-2.791-0.769-0.675-1.994-0.222c-1.441,1.805-2.97,0.938-2.97,0.938s0.065-1.479-1.796-1.509 c0.86-2.373-0.526-1.516-1.011-2.164C90.191,49.301,90.016,47.719,90.165,47.314z"/> | ||
55 | <radialGradient id="XMLID_66_" cx="64.5508" cy="14.1733" r="52.2333" fx="64.5508" fy="14.1733" gradientUnits="userSpaceOnUse"> | ||
56 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
57 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
58 | <stop offset="1" style="stop-color:#00145A"/> | ||
59 | </radialGradient> | ||
60 | <path fill="url(#XMLID_66_)" d="M60.007,23.541c-0.361,0.941,1.178,2.47,1.951,1.978 c0.775-0.495,1.885-1.482,1.885-1.482s1.177,0.945,0.701,1.619c-0.479,0.672-2.386,1.428,0.374,1.122 c2.831-0.313,3.347-0.897,3.333-1.437c-0.015-0.538,0.141-2.469,0.631-2.603c0.015-0.99-1.925-0.898-1.253-1.889 c0.672-0.986-0.905-2.606-0.905-2.606s-1.228,0.719-1.382,1.888c-0.155,1.167-1.304,0.538-1.848,0.806 c0.141,0.584-0.026,1.212-0.026,1.212l-0.711-0.629C62.758,21.519,60.186,22.688,60.007,23.541z"/> | ||
61 | <radialGradient id="XMLID_67_" cx="64.5518" cy="14.1646" r="52.2415" fx="64.5518" fy="14.1646" gradientUnits="userSpaceOnUse"> | ||
62 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
63 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
64 | <stop offset="1" style="stop-color:#00145A"/> | ||
65 | </radialGradient> | ||
66 | <path fill="url(#XMLID_67_)" d="M64.61,72.966c-0.337,0.334,0.05,1.343,0.483,1.296 c0.434-0.049,1.11-0.24,1.11-0.24s0.337,0.672,0,0.865c-0.339,0.19-1.319,0.108-0.049,0.575 c1.303,0.48,1.642,0.336,1.739,0.096c0.095-0.24,0.529-1.056,0.771-1.009c0.195-0.431-0.676-0.814-0.193-1.102 c0.483-0.291,0.099-1.346,0.099-1.346s-0.676,0.048-0.966,0.529c-0.29,0.479-0.676-0.049-0.966-0.049 c-0.049,0.288-0.24,0.528-0.24,0.528l-0.193-0.431C66.204,72.678,64.851,72.63,64.61,72.966z"/> | ||
67 | <g> | ||
68 | <defs> | ||
69 | <ellipse id="XMLID_8_" cx="63.755" cy="59.375" rx="58.215" ry="58.254"/> | ||
70 | </defs> | ||
71 | <clipPath id="XMLID_68_"> | ||
72 | <use xlink:href="#XMLID_8_" /> | ||
73 | </clipPath> | ||
74 | <linearGradient id="XMLID_69_" gradientUnits="userSpaceOnUse" x1="76.3716" y1="16.5918" x2="93.2318" y2="18.0293"> | ||
75 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
76 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
77 | <stop offset="1" style="stop-color:#00145A"/> | ||
78 | </linearGradient> | ||
79 | <path clip-path="url(#XMLID_68_)" fill="url(#XMLID_69_)" d="M65.061,1.002 c-0.912,0.203,0.613,3.503,0.613,3.503s-0.055,2.216,0.321,2.329c0.374,0.113,2.852,0.733,4.147,2.345 c1.301,1.614,0.625,2.463-0.458,1.997c-1.084-0.465-0.797,0.959-0.797,0.959s3.27,1.063,0.8,0.995 c-2.475-0.066,1.666,1.741,1.393,1.93c-0.273,0.191-0.429,1.231-0.429,1.231s-2.183,0.182-0.333,0.959 c6.26,2.637-0.669,1.925-0.669,1.925l-0.884,1.087l1.749,2.194l1.345,0.962c0,0,2.833-0.945,3.716-1.093 c0.884-0.146,3.114-1.815,3.114-1.815s0.669,0.478,0.169-0.497c-0.501-0.976,1.841-0.54,2.425,0.186l4.134,1.867 c0.054,0.144,0.146,0.274,0.292,0.375c0.806,0.565-0.729,1.535-0.573,2.562c0.156,1.016,1.093,2.704,2.121,2.526 c-0.18-0.969,1.851-1.086,1.144-0.006c-0.706,1.077,0.077,1.056,0.077,1.056s0.653,1.521,2.034,0.676 c-0.056,0.464,0.227,1.397,1.413,1.459c0,0-0.126,0.506,0.848,0.865c-0.132,1.737,0.424,1.792,0.561-0.846 c0.245,1.157,0.992-0.471,1.141-1.25c0.15-0.784,1.756-2.505,1.322-0.984c-0.431,1.508,4.735,2.06,5.308,0.259 c0.578-1.815,2.637-2.763,2.699-3.038c0.062-0.281-4.583-0.712-4.07-0.493c0.514,0.219,1.47-0.948,1.115-1.986 c0.576,0.116,0.83-2.301-0.083-2.927c1.143-2.405,0.651-2.48,0.182-2.001c-0.57,1.205-2.922,3.023-1.327,0.783 c1.609-2.263-0.653-0.284-1.438,0.208c-0.689,1.341-1.899,1.08-1.899,1.08s-0.222-0.911-1.516-0.607 c0.151-1.612-0.653-0.838-1.12-1.154c-0.285-0.193-0.558-0.627-0.726-0.999c1.115,0.452,2.612,0.933,2.354,0.104 c-0.167-0.542,2.112,0.643,2.192,0.396l2.848-0.396l2.769-1.75C85.388,0.164,65.061,1.002,65.061,1.002z"/> | ||
80 | <linearGradient id="XMLID_70_" gradientUnits="userSpaceOnUse" x1="38.4917" y1="19.147" x2="29.1739" y2="32.8324"> | ||
81 | <stop offset="0" style="stop-color:#0F80BC"/> | ||
82 | <stop offset="0.3376" style="stop-color:#0A5F9E"/> | ||
83 | <stop offset="1" style="stop-color:#00145A"/> | ||
84 | </linearGradient> | ||
85 | <path clip-path="url(#XMLID_68_)" fill="url(#XMLID_70_)" d="M38.752,6.095 c-10.573,4.747-18.551,14.531-18.551,14.531s0.938,2.145,1.265,1.987c0.33-0.156-2.361,5.628-0.386,5.954 c1.985,0.325,7.696-3.578,6.637-3.22c-1.056,0.356,0.595-2.112,0.595-2.112s2.972-1.318,1.214,0.202 c-1.743,1.511,2.318,0.187,2.255,0.496c-0.064,0.311,0.525,1.147,0.525,1.147s-1.393,1.494,0.406,0.892 c6.172-2.075,0.812,1.779,0.812,1.779l0.106,1.312l2.67,0.464l1.578-0.15c0,0,1.381-2.436,1.914-3.098 c0.535-0.663,1.028-3.284,1.028-3.284s0.803-0.084-0.213-0.468c-1.016-0.385,0.972-1.583,1.886-1.434l4.303-1.336 c0.138,0.068,0.292,0.103,0.47,0.082c0.985-0.114,0.489,1.603,1.294,2.25c0.796,0.644,2.627,1.264,3.283,0.469 c-0.784-0.594,0.674-2.011,0.86-0.751c0.187,1.249,0.767,0.723,0.767,0.723s1.543-2.654,2.036-4.177 c0.27,0.377,2.788-3.309,2.025-5.067c-0.771-1.78,0.479-3.456,0.34-3.715c-0.143-0.256-0.896,0.528-0.34,0.34 c0.561-0.192-1.589,0.772-1.874-2.061c-0.288-2.89-0.707,0.243-0.985,1.169c0.377,1.508,4.29-6.093,4.29-6.093l5.044-2.057 C64.006,0.873,52.525-0.088,38.752,6.095z"/> | ||
86 | </g> | ||
87 | <linearGradient id="XMLID_71_" gradientUnits="userSpaceOnUse" x1="62.6519" y1="34.5464" x2="62.6519" y2="11.8951"> | ||
88 | <stop offset="0.0137" style="stop-color:#000000" stop-opacity='0'/> | ||
89 | <stop offset="0.65" style="stop-color:#C4E0E3" stop-opacity='0.2'/> | ||
90 | <stop offset="0.8224" style="stop-color:#C4E0E3"/> | ||
91 | <stop offset="0.8498" style="stop-color:#CDE5E8"/> | ||
92 | <stop offset="0.9443" style="stop-color:#E8F4F7"/> | ||
93 | <stop offset="1" style="stop-color:#F2FAFC"/> | ||
94 | </linearGradient> | ||
95 | <ellipse opacity="0.5" fill="url(#XMLID_71_)" cx="62.652" cy="23.271" rx="30.825" ry="19.971"/> | ||
96 | </g> | ||
97 | |||
98 | |||
99 | <filter id='blurshadow' x='-25%' y='-25%' width='150%' height='150%'> | ||
100 | <feGaussianBlur in='SourceAlpha' stdDeviation='1.5' result='blur' /> | ||
101 | <feOffset dx='1' dy='1' in='blur' result='shift' /> | ||
102 | <feMerge> | ||
103 | <feMergeNode in='shift'/> | ||
104 | <feMergeNode in='SourceGraphic'/> | ||
105 | </feMerge> | ||
106 | </filter> | ||
107 | <g id="Fox" filter='url(#blurshadow)'> | ||
108 | <g> | ||
109 | <linearGradient id="XMLID_74_" gradientUnits="userSpaceOnUse" x1="64.4775" y1="56.3008" x2="78.4661" y2="48.0854"> | ||
110 | <stop offset="0" style="stop-color:#DF731B"/> | ||
111 | <stop offset="0.5449" style="stop-color:#DF731B"/> | ||
112 | <stop offset="0.7014" style="stop-color:#EC8811"/> | ||
113 | <stop offset="0.8593" style="stop-color:#F4950B"/> | ||
114 | <stop offset="1" style="stop-color:#F79A09"/> | ||
115 | </linearGradient> | ||
116 | <path fill="url(#XMLID_74_)" d="M125.321,43.084l-1.426,9.15c0,0-2.039-16.94-4.538-23.273 c-3.83-9.704-5.534-9.626-5.545-9.612c2.565,6.519,2.1,10.021,2.1,10.021s-4.545-12.387-16.562-16.328 c-14.232-4.665-21.482-2.979-21.428-2.914c0.054,0.066,14.709,2.562,17.308,6.133c0,0-6.225,0-12.42,1.785 c-0.28,0.08,22.793,2.882,27.51,25.938c0,0-2.529-5.277-5.657-6.173c2.057,6.258,1.529,18.133-0.43,24.035 c-0.252,0.759-0.51-3.281-4.369-5.021c1.236,8.857-0.074,22.905-6.219,26.775c-0.479,0.301,3.852-13.868,0.871-8.39 c-17.797,27.287-38.956,11.04-47.538,5.249c6.888,1.688,14.205,0.472,18.441-2.423c4.275-2.922,6.804-5.058,9.075-4.553 c2.27,0.507,3.781-1.771,2.018-3.792c-1.765-2.025-6.051-4.808-11.849-3.291c-4.089,1.071-9.156,5.595-16.891,1.014 c-6.599-3.91-6.554-7.085-6.554-9.108c0-2.024,1.8-5.1,5.076-4.595c2.934,0.453,1.388-1.27,4.545,0 c0.86,0.346-0.086-4.129-1.31-6.996c2.357-4.919,10.004-6.381,10.575-6.812c1.034-0.782,0.465-1.172,0.818-2.35 c0.33-1.097,0.541-4.062-8.017-3.243c-3.938,0.377-6.443-4.726-7.264-5.965c0.266-1.577,0.693-3.018,1.271-4.338 c0.587-1.203,1.228-2.305,1.868-3.139c0.2-0.261,0.374-0.49,0.532-0.703c1.276-1.488,2.842-2.76,4.722-3.818 c0.981-0.554-10.969-0.035-16.346,6.974c-1.443,0.188-3.423-0.228-5.636-0.228c-2.774,0-4.953,0.303-6.97,0.81 c-0.323,0.081-0.844,0.037-1.481-0.115c-1.775-1.839-6.797-6.259-7.027-12.254c0,0-7.302,5.612-6.209,20.912 c-0.096,8.461-2.594,6.042-3.879,10.634c-0.598,2.176,0.899,3.815,0.899,3.879c-0.002,0.033,1.796-1.946,1.796-1.946 s-11.323,19.617,3.3,44.66c12.604,21.589,33.755,31.13,55.703,29.272c3.839-0.25,7.706-0.822,11.564-1.754 C130.881,104.828,125.321,43.084,125.321,43.084z"/> | ||
117 | </g> | ||
118 | <linearGradient id="XMLID_75_" gradientUnits="userSpaceOnUse" x1="41.8389" y1="36.9619" x2="52.6969" y2="37.8922"> | ||
119 | <stop offset="0.0112" style="stop-color:#941403"/> | ||
120 | <stop offset="0.8972" style="stop-color:#E85C0A"/> | ||
121 | </linearGradient> | ||
122 | <path fill="url(#XMLID_75_)" d="M45.469,27.61c0,0,2.21,6.039,7.167,6.019 c9.457-0.038,9.646,0.093,9.707,1.243c0.188,3.5-1.54,4.647-2.201,5.145c-0.663,0.497-9.668,5.718-9.999,7.211 C49.812,48.72,39.752,33.03,39.752,33.03L45.469,27.61z"/> | ||
123 | <linearGradient id="XMLID_76_" gradientUnits="userSpaceOnUse" x1="24.4502" y1="33.9526" x2="63.643" y2="38.8517"> | ||
124 | <stop offset="0.0112" style="stop-color:#941403"/> | ||
125 | <stop offset="0.1357" style="stop-color:#A32104"/> | ||
126 | <stop offset="0.4978" style="stop-color:#C84107"/> | ||
127 | <stop offset="0.7893" style="stop-color:#DF5509"/> | ||
128 | <stop offset="0.972" style="stop-color:#E85C0A"/> | ||
129 | </linearGradient> | ||
130 | <path fill="url(#XMLID_76_)" d="M50.504,34.12c0,0,3.072,3.922,0.749,5.491 c-2.838,1.916,4.012,2.335,6.494,0.942s4.006-3.44,4.093-3.745s0.902-3.054-4.279-2.096 C54.285,35.318,53.085,35.458,50.504,34.12z"/> | ||
131 | <linearGradient id="XMLID_77_" gradientUnits="userSpaceOnUse" x1="48.731" y1="44.3203" x2="51.8565" y2="42.9451"> | ||
132 | <stop offset="0" style="stop-color:#F2C8A9"/> | ||
133 | <stop offset="1" style="stop-color:#FFFFCC"/> | ||
134 | </linearGradient> | ||
135 | <path fill="url(#XMLID_77_)" d="M60.143,40.017c0.502-0.378,1.616-1.137,2.042-3.011 c-0.311,0.126-0.34-0.23-0.707-0.076c-6.955,7.255-7.221,2.203-11.017,3.22c-3.46,0.947-4.237,2.246-4.383,2.347 c0.051,0.073,0.104,0.148,0.155,0.221c0.997,0.506,1.953,2.122,2.671,3.564c0.702,0.836,1.173,1.248,1.241,0.945 C50.475,45.734,59.48,40.513,60.143,40.017z"/> | ||
136 | <linearGradient id="XMLID_78_" gradientUnits="userSpaceOnUse" x1="38.7676" y1="82.5825" x2="91.3391" y2="84.7472"> | ||
137 | <stop offset="0" style="stop-color:#B30000"/> | ||
138 | <stop offset="1" style="stop-color:#DF731B"/> | ||
139 | </linearGradient> | ||
140 | <path fill="url(#XMLID_78_)" d="M8.18,45.782C6.76,48.761-2.352,64.159,12.519,89.787 c14.552,25.084,39.737,33.276,65.45,27.71c7.34-1.588,15.803-7.331,21.196-11.545c-3.465-8.74-1.414-8.412-3.271-7.262 c-20.714,12.823-37.18,0.174-49.924-1.443C-0.913,91.305,8.345,45.689,8.345,45.689L8.18,45.782z"/> | ||
141 | <linearGradient id="XMLID_79_" gradientUnits="userSpaceOnUse" x1="51.2778" y1="74.4243" x2="78.6891" y2="84.2116"> | ||
142 | <stop offset="0" style="stop-color:#941403"/> | ||
143 | <stop offset="1" style="stop-color:#DF731B"/> | ||
144 | </linearGradient> | ||
145 | <path fill="url(#XMLID_79_)" d="M47.219,80.933c4.419,1.325,14.06,0.183,18.201-2.897 c2.79-2.074,4.898-3.638,6.671-4.292c-3.134-2.129-3.184,0.889-9.774,2.415c-13.728,3.185-20.393-3.695-20.393-3.695 c0.972,5.444,4.372,8.095,5.902,9.036C47.42,81.14,47.207,80.929,47.219,80.933z"/> | ||
146 | <linearGradient id="XMLID_80_" gradientUnits="userSpaceOnUse" x1="6.1064" y1="87.0566" x2="32.8281" y2="87.0566" gradientTransform="matrix(0.9988 0.049 -0.049 0.9988 4.7153 -1.2399)"> | ||
147 | <stop offset="0.0562" style="stop-color:#B30000"/> | ||
148 | <stop offset="1" style="stop-color:#DE5C01"/> | ||
149 | </linearGradient> | ||
150 | <path fill="url(#XMLID_80_)" d="M32.332,105.794c0,0-11.428-12.896-14.618-27.338 c-4.704-4.443-8.042-8.2-10.259-10.917C8.735,77.816,13.975,93.771,32.332,105.794z"/> | ||
151 | <linearGradient id="XMLID_81_" gradientUnits="userSpaceOnUse" x1="209.7227" y1="-130.6592" x2="224.2611" y2="-85.6186" gradientTransform="matrix(0.9929 0.1186 -0.1186 0.9929 -207.2682 181.2932)"> | ||
152 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
153 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
154 | </linearGradient> | ||
155 | <path fill="url(#XMLID_81_)" d="M22.799,94.082c0,0-7.887-11.228-4.93-20.762 c2.66-8.571-0.565-3.472-2.441-1.64c-1.895,1.851-2.869-5.464-2.821-6.307c0.003-0.018,0.001-0.026-0.001-0.027 C12.487,65.321,8.852,82.872,22.799,94.082z"/> | ||
156 | <linearGradient id="XMLID_82_" gradientUnits="userSpaceOnUse" x1="12.4712" y1="61.1074" x2="12.4712" y2="111.4548" gradientTransform="matrix(0.999 0.0448 -0.0448 0.999 3.2321 -0.6968)"> | ||
157 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
158 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
159 | </linearGradient> | ||
160 | <path fill="url(#XMLID_82_)" d="M11.115,84.294c0,0-1.798-22.788,3.885-26.009 c9.025-5.115,0.753-3.919-1.864-2.499c-2.645,1.433-2.4-8-2.026-8.896C11.477,46.007,1.795,55.808,11.115,84.294z"/> | ||
161 | <path fill="#A40000" d="M50.601,17.239c0,0-7.145,7.257-7.092,7.282c0.054,0.026,0.205,9.315,0.438,11.948 c0.856,1.011,3.524,7.588,1.482,6.128c-2.086-1.49-0.582-1.522-0.4-0.765c0.005,0.025,0.005,0.037,0,0.037 C44.891,41.933,39.844,30.946,50.601,17.239z"/> | ||
162 | <linearGradient id="XMLID_83_" gradientUnits="userSpaceOnUse" x1="18.3477" y1="30.8462" x2="12.8857" y2="16.8496"> | ||
163 | <stop offset="0.0112" style="stop-color:#941403"/> | ||
164 | <stop offset="0.4719" style="stop-color:#E85C0A"/> | ||
165 | <stop offset="1" style="stop-color:#F9BD5F"/> | ||
166 | </linearGradient> | ||
167 | <path fill="url(#XMLID_83_)" d="M16.613,11.647c0,0-7.594,5.825-6.143,21.805 c5.878-5.277,14.19-9.222,14.19-9.222C23.265,23.352,16.866,18.233,16.613,11.647z"/> | ||
168 | <linearGradient id="XMLID_84_" gradientUnits="userSpaceOnUse" x1="41.7036" y1="34.0576" x2="54.7924" y2="16.8533"> | ||
169 | <stop offset="0.1966" style="stop-color:#DE7210"/> | ||
170 | <stop offset="0.8427" style="stop-color:#F9BD5F"/> | ||
171 | <stop offset="1" style="stop-color:#FFFCCF"/> | ||
172 | </linearGradient> | ||
173 | <path fill="url(#XMLID_84_)" d="M35.328,29.122l11.406,14.185c-3.291-13.93-0.761-22.288,7.34-26.847 C55.273,15.784,37.149,16.703,35.328,29.122z"/> | ||
174 | <linearGradient id="XMLID_85_" gradientUnits="userSpaceOnUse" x1="34.7837" y1="57.5415" x2="48.0524" y2="84.0789"> | ||
175 | <stop offset="0.0169" style="stop-color:#941403"/> | ||
176 | <stop offset="0.5" style="stop-color:#E35100"/> | ||
177 | <stop offset="1" style="stop-color:#DF731B"/> | ||
178 | </linearGradient> | ||
179 | <path fill="url(#XMLID_85_)" d="M27.292,64.164C29.237,51.908,46.294,53.71,46.294,53.71 c-0.761,0.565-3.683,0.903-4.52,3.241c-2.762,7.719-0.128,24.581,17.078,31.653C60.667,89.352,24.418,82.276,27.292,64.164z" /> | ||
180 | <linearGradient id="XMLID_86_" gradientUnits="userSpaceOnUse" x1="54.8252" y1="41.2671" x2="58.1387" y2="44.27"> | ||
181 | <stop offset="0" style="stop-color:#EEA272"/> | ||
182 | <stop offset="0.1865" style="stop-color:#EFA777"/> | ||
183 | <stop offset="0.4064" style="stop-color:#F2B585"/> | ||
184 | <stop offset="0.643" style="stop-color:#F6CD9C"/> | ||
185 | <stop offset="0.8898" style="stop-color:#FCEEBB"/> | ||
186 | <stop offset="1" style="stop-color:#FFFFCC"/> | ||
187 | </linearGradient> | ||
188 | <path fill="url(#XMLID_86_)" d="M62.087,37.338c-0.084-0.015-0.158-0.013-0.195,0.037 c-0.21,0.281-1.021,1.239-2.95,2.81c-3.583,2.915-5.093,2.177-7.762,2.774c-1.215,0.271-2.37,1.087-3.148,1.741 c0.315,0.509,0.609,1.057,0.871,1.582c0.702,0.836,1.173,1.248,1.241,0.945c0.331-1.493,9.336-6.714,9.999-7.211 C60.613,39.663,61.611,38.962,62.087,37.338z"/> | ||
189 | <linearGradient id="XMLID_87_" gradientUnits="userSpaceOnUse" x1="35.5" y1="48.3613" x2="50.7214" y2="63.8933"> | ||
190 | <stop offset="0.1966" style="stop-color:#DF731B"/> | ||
191 | <stop offset="0.8427" style="stop-color:#F9BD5F"/> | ||
192 | <stop offset="1" style="stop-color:#FFFCCF"/> | ||
193 | </linearGradient> | ||
194 | <path fill="url(#XMLID_87_)" d="M51.09,55.865c0.1-2.59-0.081-8.881-2.774-11.611 c-2.057-2.085-2.54-4.474-2.816-7.201c-22.363,8.353-25.556,19.272-23.32,18.917C40.066,53.135,45.094,52.788,51.09,55.865z" /> | ||
195 | <linearGradient id="XMLID_88_" gradientUnits="userSpaceOnUse" x1="847.4707" y1="-1065.021" x2="847.4707" y2="-1007.9581" gradientTransform="matrix(0.9673 0.2537 -0.2537 0.9673 -1076.6656 855.2322)"> | ||
196 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
197 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
198 | </linearGradient> | ||
199 | <path fill="url(#XMLID_88_)" d="M3.411,71.171c0,0,1.554-20.192,11.661-27.582 c7.935-5.805,1.773-3.696-1.291-3.456c-3.231,0.256-4.954,2.221-4.331,1.498c0.027-0.03,0.036-0.047,0.031-0.055 C9.375,41.451,1.897,47.726,3.411,71.171z"/> | ||
200 | <linearGradient id="XMLID_89_" gradientUnits="userSpaceOnUse" x1="15.8564" y1="36.4131" x2="-3.4365" y2="67.833" gradientTransform="matrix(0.9897 -0.0801 0.0949 1.1727 -3.8203 -4.9468)"> | ||
201 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
202 | <stop offset="1" style="stop-color:#F2C06E"/> | ||
203 | </linearGradient> | ||
204 | <path fill="url(#XMLID_89_)" d="M2.347,55.658c0,0,5.416-17.192,16.362-17.047 c7.259,0.097,1.501-6.134-0.695-7.081c-2.291-0.981-2.839-0.943-3.374-0.469C13.838,31.771,6.636,31.497,2.347,55.658z"/> | ||
205 | <linearGradient id="XMLID_90_" gradientUnits="userSpaceOnUse" x1="80.9292" y1="67.8447" x2="60.4332" y2="71.7597"> | ||
206 | <stop offset="0.0047" style="stop-color:#FFFAEE"/> | ||
207 | <stop offset="0.2757" style="stop-color:#F5F89B"/> | ||
208 | <stop offset="0.3102" style="stop-color:#F3ED91"/> | ||
209 | <stop offset="0.4668" style="stop-color:#ECC267"/> | ||
210 | <stop offset="0.6182" style="stop-color:#E6A046"/> | ||
211 | <stop offset="0.7611" style="stop-color:#E2872E"/> | ||
212 | <stop offset="0.8921" style="stop-color:#E07820"/> | ||
213 | <stop offset="1" style="stop-color:#DF731B"/> | ||
214 | </linearGradient> | ||
215 | <path fill="url(#XMLID_90_)" d="M76.185,72.486c0.823-0.807,0.249-3.903-4.924-5.78 c-4.694-1.705-12.021,2.63-14.195,3.486c0,0,8.299-1.555,11.411-1.037C72.695,69.857,74.177,74.456,76.185,72.486z"/> | ||
216 | <linearGradient id="XMLID_91_" gradientUnits="userSpaceOnUse" x1="-411.2729" y1="427.6279" x2="-411.2729" y2="475.3195" gradientTransform="matrix(0.992 0.1261 -0.1261 0.992 477.0624 -332.3914)"> | ||
217 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
218 | <stop offset="1" style="stop-color:#F2C06E"/> | ||
219 | </linearGradient> | ||
220 | <path fill="url(#XMLID_91_)" d="M10.342,66.822c0,0-0.899-16.902,6.676-24.121 c5.947-5.67,1.069-3.255-1.444-2.724c-2.65,0.562-3.865,2.377-3.426,1.71c0.019-0.028,0.023-0.043,0.019-0.049 C12.064,41.547,6.548,47.557,10.342,66.822z"/> | ||
221 | <linearGradient id="XMLID_92_" gradientUnits="userSpaceOnUse" x1="-414.4365" y1="422.6836" x2="-414.4365" y2="470.3703" gradientTransform="matrix(0.9324 0.3616 -0.3616 0.9324 554.92 -207.713)"> | ||
222 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
223 | <stop offset="1" style="stop-color:#F2C06E"/> | ||
224 | </linearGradient> | ||
225 | <path fill="url(#XMLID_92_)" d="M4.508,61.453c0,0,3.201-16.621,12.293-21.801 c7.138-4.069,1.823-2.901-0.745-2.991c-2.708-0.093-4.324,1.375-3.738,0.834c0.025-0.022,0.033-0.037,0.03-0.042 C12.272,37.338,5.47,41.842,4.508,61.453z"/> | ||
226 | <linearGradient id="XMLID_93_" gradientUnits="userSpaceOnUse" x1="13.8481" y1="55.7974" x2="0.5692" y2="75.7157" gradientTransform="matrix(0.8104 -0.5859 0.5859 0.8104 -28.537 20.3312)"> | ||
227 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
228 | <stop offset="1" style="stop-color:#F2C072"/> | ||
229 | </linearGradient> | ||
230 | <path fill="url(#XMLID_93_)" d="M15.303,68.275c0,0-1.75-10.074,2.021-15.033 c3.01-3.957,0.367-2.021-1.03-1.451c-1.458,0.596-2.011,1.771-1.812,1.34C14.675,52.71,7.994,57.887,15.303,68.275z"/> | ||
231 | <linearGradient id="XMLID_94_" gradientUnits="userSpaceOnUse" x1="21.0347" y1="49.271" x2="7.7561" y2="69.1888" gradientTransform="matrix(0.8104 -0.5859 0.5859 0.8104 -28.537 20.3312)"> | ||
232 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
233 | <stop offset="1" style="stop-color:#F2C072"/> | ||
234 | </linearGradient> | ||
235 | <path fill="url(#XMLID_94_)" d="M17.303,58.775c0,0-1.75-10.074,2.021-15.033 c3.01-3.957,0.367-2.021-1.03-1.451c-1.458,0.596-2.011,1.771-1.812,1.34C16.675,43.21,9.994,48.387,17.303,58.775z"/> | ||
236 | <linearGradient id="XMLID_95_" gradientUnits="userSpaceOnUse" x1="12.3135" y1="37.8647" x2="6.504" y2="48.7088"> | ||
237 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
238 | <stop offset="1" style="stop-color:#EED8A5"/> | ||
239 | </linearGradient> | ||
240 | <path fill="url(#XMLID_95_)" d="M6.725,45.003c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C14.573,33.172,6.875,33.428,6.725,45.003z"/> | ||
241 | <linearGradient id="XMLID_96_" gradientUnits="userSpaceOnUse" x1="11.7305" y1="44.4917" x2="5.9211" y2="55.3354"> | ||
242 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
243 | <stop offset="1" style="stop-color:#EED8A5"/> | ||
244 | </linearGradient> | ||
245 | <path fill="url(#XMLID_96_)" d="M6.142,51.631c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C13.989,39.799,6.291,40.056,6.142,51.631z"/> | ||
246 | <linearGradient id="XMLID_97_" gradientUnits="userSpaceOnUse" x1="18.313" y1="39.8911" x2="12.6977" y2="53.833"> | ||
247 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
248 | <stop offset="1" style="stop-color:#F2C072"/> | ||
249 | </linearGradient> | ||
250 | <path fill="url(#XMLID_97_)" d="M9.109,49.803c0,0,7.209-14.774,16.794-17.684 c7.65-2.32,2.382-2.287,0.024-2.86c-2.462-0.597-4.288,0.414-3.624,0.039C22.953,28.931,9.373,29.383,9.109,49.803z"/> | ||
251 | <linearGradient id="XMLID_98_" gradientUnits="userSpaceOnUse" x1="20.4468" y1="33.1045" x2="7.1675" y2="53.0234"> | ||
252 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
253 | <stop offset="1" style="stop-color:#F2C072"/> | ||
254 | </linearGradient> | ||
255 | <path fill="url(#XMLID_98_)" d="M14.037,41.846c0,0,4.484-9.189,10.445-10.999 c4.758-1.443,1.481-1.422,0.015-1.779c-1.532-0.371-2.667,0.257-2.254,0.024C22.647,28.864,14.201,29.145,14.037,41.846z"/> | ||
256 | <linearGradient id="XMLID_99_" gradientUnits="userSpaceOnUse" x1="21.3408" y1="37.1255" x2="9.2385" y2="55.279"> | ||
257 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
258 | <stop offset="1" style="stop-color:#F2C072"/> | ||
259 | </linearGradient> | ||
260 | <path fill="url(#XMLID_99_)" d="M15.499,45.092c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C23.346,33.26,15.648,33.517,15.499,45.092z"/> | ||
261 | <linearGradient id="XMLID_100_" gradientUnits="userSpaceOnUse" x1="60.2861" y1="34.2974" x2="61.245" y2="36.0061"> | ||
262 | <stop offset="0" style="stop-color:#8B8B89"/> | ||
263 | <stop offset="1" style="stop-color:#120500"/> | ||
264 | </linearGradient> | ||
265 | <path fill="url(#XMLID_100_)" d="M62.344,34.872c-0.047-0.873-0.176-1.158-4.356-1.229 c0.479,0.217,1.305,0.652,2.214,1.398c1.201,0.984,1.396,2.081,1.52,3.217C62.129,37.484,62.427,36.417,62.344,34.872z"/> | ||
266 | <linearGradient id="XMLID_101_" gradientUnits="userSpaceOnUse" x1="22.5596" y1="28.4922" x2="22.5596" y2="23.2452"> | ||
267 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
268 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
269 | </linearGradient> | ||
270 | <path fill="url(#XMLID_101_)" d="M37.802,23.206l-3.625,5.833c0,0-14.496-2.273-26.785,9.616 C6.376,39.637,15.43,17.632,37.802,23.206z"/> | ||
271 | <linearGradient id="XMLID_102_" gradientUnits="userSpaceOnUse" x1="23.0117" y1="34.751" x2="33.9931" y2="21.918" gradientTransform="matrix(0.9992 0.0398 -0.0398 0.9992 0.9958 -1.3319)"> | ||
272 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
273 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
274 | </linearGradient> | ||
275 | <path fill="url(#XMLID_102_)" d="M24.784,33.646c0,0,3.863-7.172,8.872-9.339 C31.067,24.389,25.253,26.413,24.784,33.646z"/> | ||
276 | <linearGradient id="XMLID_103_" gradientUnits="userSpaceOnUse" x1="15.5088" y1="33.5078" x2="9.6995" y2="44.3515"> | ||
277 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
278 | <stop offset="1" style="stop-color:#EED8A5"/> | ||
279 | </linearGradient> | ||
280 | <path fill="url(#XMLID_103_)" d="M9.92,40.646c0,0,4.087-8.375,9.52-10.024 c4.336-1.315,1.35-1.296,0.014-1.622c-1.396-0.338-2.431,0.234-2.054,0.022C17.768,28.815,10.069,29.071,9.92,40.646z"/> | ||
281 | <linearGradient id="XMLID_104_" gradientUnits="userSpaceOnUse" x1="16.3398" y1="35.8047" x2="27.0674" y2="23.2683" gradientTransform="matrix(0.9946 0.1039 -0.1039 0.9946 3.786 -2.0567)"> | ||
282 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
283 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
284 | </linearGradient> | ||
285 | <path fill="url(#XMLID_104_)" d="M18.482,34.745c0,0,4.217-6.751,9.235-8.548 C25.19,26.114,19.394,27.723,18.482,34.745z"/> | ||
286 | <linearGradient id="XMLID_105_" gradientUnits="userSpaceOnUse" x1="13.3721" y1="22.876" x2="26.2598" y2="24.641" gradientTransform="matrix(0.9959 0.0903 -0.0903 0.9959 2.3457 -2.346)"> | ||
287 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
288 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
289 | </linearGradient> | ||
290 | <path fill="url(#XMLID_105_)" d="M25.712,23.214c0,0-3.18,1.389-8.787-0.942l4.999,2.513L25.712,23.214z"/> | ||
291 | <linearGradient id="XMLID_106_" gradientUnits="userSpaceOnUse" x1="6.9834" y1="23.1094" x2="25.1783" y2="25.6012"> | ||
292 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
293 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
294 | </linearGradient> | ||
295 | <path fill="url(#XMLID_106_)" d="M24.175,24.105c0,0-4.238,1.642-12.394-0.802l6.977,2.776 C19.621,25.281,24.175,24.105,24.175,24.105z"/> | ||
296 | <linearGradient id="XMLID_107_" gradientUnits="userSpaceOnUse" x1="15.8809" y1="22.228" x2="27.7244" y2="23.85" gradientTransform="matrix(0.9959 0.0903 -0.0903 0.9959 2.3457 -2.346)"> | ||
297 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
298 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
299 | </linearGradient> | ||
300 | <path fill="url(#XMLID_107_)" d="M27.268,22.759c0,0-2.813,0.856-8.009-1.154l4.999,2.513 C24.786,23.651,27.268,22.759,27.268,22.759z"/> | ||
301 | <linearGradient id="XMLID_108_" gradientUnits="userSpaceOnUse" x1="15.2012" y1="26.9399" x2="4.5215" y2="25.8437"> | ||
302 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
303 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
304 | </linearGradient> | ||
305 | <path fill="url(#XMLID_108_)" d="M18.496,25.993c0,0-2.09,1.735-7.443,1.806l4.63,0.151L18.496,25.993z"/> | ||
306 | <linearGradient id="XMLID_109_" gradientUnits="userSpaceOnUse" x1="10.9453" y1="37.0996" x2="25.7187" y2="19.8352" gradientTransform="matrix(0.9946 0.1039 -0.1039 0.9946 3.786 -2.0567)"> | ||
307 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
308 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
309 | </linearGradient> | ||
310 | <path fill="url(#XMLID_109_)" d="M13.411,34.871c0,0,7.153-9.318,13.044-11.428 C23.487,23.346,14.48,26.629,13.411,34.871z"/> | ||
311 | </g> | ||
312 | <g id="Fire"> | ||
313 | <linearGradient id="XMLID_110_" gradientUnits="userSpaceOnUse" x1="88.3306" y1="117.3682" x2="117.2648" y2="72.7407"> | ||
314 | <stop offset="0" style="stop-color:#DE5C01"/> | ||
315 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
316 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
317 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
318 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
319 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
320 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
321 | </linearGradient> | ||
322 | <path fill="url(#XMLID_110_)" d="M124.199,50.76c0,0,0.771,17.288-23.244,41.304 c-2.669,2.668-17.16,16.244-16.65,20.317C84.484,113.82,122.326,106.576,124.199,50.76z"/> | ||
323 | <linearGradient id="XMLID_111_" gradientUnits="userSpaceOnUse" x1="105.1567" y1="22.7378" x2="86.2112" y2="14.4171"> | ||
324 | <stop offset="0" style="stop-color:#F79A09"/> | ||
325 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
326 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
327 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
328 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
329 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
330 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
331 | </linearGradient> | ||
332 | <path fill="url(#XMLID_111_)" d="M77.64,10.096c28.926,2.222,34.528,23.021,34.53,21.748 C112.243,11.624,84.726,10.089,77.64,10.096z"/> | ||
333 | <linearGradient id="XMLID_112_" gradientUnits="userSpaceOnUse" x1="117.8823" y1="41.729" x2="91.3593" y2="17.106"> | ||
334 | <stop offset="0" style="stop-color:#DE5C01"/> | ||
335 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
336 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
337 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
338 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
339 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
340 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
341 | </linearGradient> | ||
342 | <path fill="url(#XMLID_112_)" d="M86.449,18.003c0,0,20.053,4.099,25.709,25.354 c0.75,2.815-2.416-17.267-1.439-15.361C111.694,29.912,102.648,18.638,86.449,18.003z"/> | ||
343 | <linearGradient id="XMLID_113_" gradientUnits="userSpaceOnUse" x1="1.1396" y1="145.4453" x2="-9.9659" y2="133.9595" gradientTransform="matrix(0.9996 -0.0282 0.0282 0.9996 104.7769 -104.6242)"> | ||
344 | <stop offset="0" style="stop-color:#F79A09"/> | ||
345 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
346 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
347 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
348 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
349 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
350 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
351 | </linearGradient> | ||
352 | <path fill="url(#XMLID_113_)" d="M94.464,17.483c0,0,18.11,3.775,18.29,32.509 c0.127,20.338,3.141,7.635,6.131,3.064c2.578-3.948,0.816-8.76,0.754-8.748c-0.01,0.003-1.305-3.743-0.432-2.156 c0.039,0.07-1.216-1.034-1.207-1.035C118.201,41.087,117.303,20.465,94.464,17.483z"/> | ||
353 | <linearGradient id="XMLID_114_" gradientUnits="userSpaceOnUse" x1="113.4365" y1="55.834" x2="119.687" y2="34.3323"> | ||
354 | <stop offset="0" style="stop-color:#F79A09"/> | ||
355 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
356 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
357 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
358 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
359 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
360 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
361 | </linearGradient> | ||
362 | <path fill="url(#XMLID_114_)" d="M114.857,21.376c0,0,6.505,16.945-0.389,25.371 c-2.25,2.75-2.502,16.839,0.247,15.545c2.756-1.296,2.157,7.481,1.796,8.48c-0.008,0.019-0.01,0.028-0.006,0.031 C116.685,70.914,130.097,49.143,114.857,21.376z"/> | ||
363 | <linearGradient id="XMLID_115_" gradientUnits="userSpaceOnUse" x1="-51.9663" y1="212.7881" x2="-52.1943" y2="196.4341" gradientTransform="matrix(0.9992 -0.0412 0.0412 0.9992 151.8961 -153.906)"> | ||
364 | <stop offset="0" style="stop-color:#F79A09"/> | ||
365 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
366 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
367 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
368 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
369 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
370 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
371 | </linearGradient> | ||
372 | <path fill="url(#XMLID_115_)" d="M105.814,39.215c0,0,4.095,11.989-0.193,20.56l3.244,7.245 C111.244,61.176,114.273,48.817,105.814,39.215z"/> | ||
373 | <linearGradient id="XMLID_116_" gradientUnits="userSpaceOnUse" x1="-172.7212" y1="332.082" x2="-161.4561" y2="309.8933" gradientTransform="matrix(0.9975 -0.0707 0.0707 0.9975 254.6004 -268.4704)"> | ||
374 | <stop offset="0" style="stop-color:#F79A09"/> | ||
375 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
376 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
377 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
378 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
379 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
380 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
381 | </linearGradient> | ||
382 | <path fill="url(#XMLID_116_)" d="M113.016,37.789c0,0,2.832,19.03-7.387,36.208 c0.158,3.973-0.539,7.569-1.496,10.532c0.445,0.586,1.041,0.987,1.827,1.057c-0.347,0.32-0.692,0.62-1.026,0.904 c-0.614,0.271-1.243,0.558-1.852,0.853c-0.13,0.303-0.261,0.597-0.389,0.879c0.68-0.477,1.438-1.056,2.24-1.731 c2.087-0.922,3.965-1.638,3.961-1.642c0,0-0.383,0.143-1.303,0.478c-0.619,0.225-1.16,0.301-1.632,0.259 C113.851,78.394,124.665,62.311,113.016,37.789z M101.109,88.379c-0.902,0.529-1.558,1.025-1.698,1.408 c-0.103,0.279,0.512,0.118,1.575-0.479C101.041,88.989,101.086,88.676,101.109,88.379z"/> | ||
383 | <linearGradient id="XMLID_117_" gradientUnits="userSpaceOnUse" x1="99.2056" y1="87.7466" x2="100.7206" y2="63.1691" gradientTransform="matrix(0.9975 -0.0707 0.0707 0.9975 -10.9669 13.6507)"> | ||
384 | <stop offset="0" style="stop-color:#DE5C01"/> | ||
385 | <stop offset="0.736" style="stop-color:#FEFD00"/> | ||
386 | <stop offset="0.7783" style="stop-color:#FEFE26"/> | ||
387 | <stop offset="0.8369" style="stop-color:#FFFE54"/> | ||
388 | <stop offset="0.889" style="stop-color:#FFFF76"/> | ||
389 | <stop offset="0.932" style="stop-color:#FFFF8B"/> | ||
390 | <stop offset="0.9607" style="stop-color:#FFFF92"/> | ||
391 | </linearGradient> | ||
392 | <path fill="url(#XMLID_117_)" d="M100.412,58.065c0,0,8.057,22.932-17.693,44.432 c-1.519,1.269,10.452,0.726,11.5,0.25c3.086-1.402,6.733-10.757,6.303-9.637C100.095,94.229,112.479,76.574,100.412,58.065z" /> | ||
393 | <linearGradient id="XMLID_118_" gradientUnits="userSpaceOnUse" x1="58.3691" y1="113.8594" x2="105.8753" y2="85.4649"> | ||
394 | <stop offset="0" style="stop-color:#B9120D"/> | ||
395 | <stop offset="0.078" style="stop-color:#BB180D"/> | ||
396 | <stop offset="0.1822" style="stop-color:#C0290C"/> | ||
397 | <stop offset="0.3013" style="stop-color:#C8450A"/> | ||
398 | <stop offset="0.4314" style="stop-color:#D36C08"/> | ||
399 | <stop offset="0.5706" style="stop-color:#E29E05"/> | ||
400 | <stop offset="0.7151" style="stop-color:#F4DA02"/> | ||
401 | <stop offset="0.7921" style="stop-color:#FEFD00"/> | ||
402 | <stop offset="0.8136" style="stop-color:#FEFD07"/> | ||
403 | <stop offset="0.8455" style="stop-color:#FEFD1B"/> | ||
404 | <stop offset="0.8837" style="stop-color:#FEFE3C"/> | ||
405 | <stop offset="0.9268" style="stop-color:#FFFE69"/> | ||
406 | <stop offset="0.9736" style="stop-color:#FFFFA3"/> | ||
407 | <stop offset="1" style="stop-color:#FFFFC7"/> | ||
408 | </linearGradient> | ||
409 | <path fill="url(#XMLID_118_)" d="M111.68,72.61c0,0-4.86,29.744-38.461,32.137 c-13.157,0.938-32.048-2.141-30.375,2.877c0.519,1.556,2.992,8.043,8.636,9.548C66.755,121.247,107.395,119.913,111.68,72.61z "/> | ||
410 | </g> | ||
411 | <g id="Layer_6" > | ||
412 | <linearGradient id="XMLID_119_" gradientUnits="userSpaceOnUse" x1="54.2402" y1="93.5825" x2="102.9066" y2="100.176" gradientTransform="matrix(0.9951 0.0989 -0.0989 0.9951 10.3843 -6.0754)"> | ||
413 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
414 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
415 | </linearGradient> | ||
416 | <path fill="url(#XMLID_119_)" d="M83.657,95.119c0,0-20.559,4.697-33.878-6.641 c-12.187-10.377-6.141-1.643-4.488,2.665c1.698,4.418-7.853,1.042-9.289,0.332C34.571,90.774,58.625,105.859,83.657,95.119z" /> | ||
417 | <linearGradient id="XMLID_120_" gradientUnits="userSpaceOnUse" x1="39.0127" y1="89.8896" x2="95.5219" y2="107.6497" gradientTransform="matrix(0.9895 0.1448 -0.1448 0.9895 14.2829 -5.8352)"> | ||
418 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
419 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
420 | </linearGradient> | ||
421 | <path fill="url(#XMLID_120_)" d="M70.408,106.325c0,0-24.525-4.82-32.29-21.438 c-6.635-14.197-4.879-3.779-5.178,0.962c-0.314,4.877-7.191-1.783-8.11-2.942c-0.026-0.028-0.044-0.047-0.046-0.042 C24.647,82.955,37.433,102.999,70.408,106.325z"/> | ||
422 | <linearGradient id="XMLID_121_" gradientUnits="userSpaceOnUse" x1="-601.4673" y1="628.9609" x2="-574.5974" y2="680.4042" gradientTransform="matrix(0.9837 -0.1799 0.1799 0.9837 500.9515 -643.7268)"> | ||
423 | <stop offset="0.0562" style="stop-color:#DE7210"/> | ||
424 | <stop offset="1" style="stop-color:#F6C08F"/> | ||
425 | </linearGradient> | ||
426 | <path fill="url(#XMLID_121_)" d="M43.617,104.176c0,0-11.714-9.073-16.995-21.514 c-4.438-1.542-10.339-5.067-10.456-5.67C18.041,86.659,27.912,97.946,43.617,104.176z"/> | ||
427 | </g> | ||
428 | </g> | ||
429 | </svg> | ||
diff --git a/web/assets/appicons/Logo_Google_Chrome.svg b/web/assets/appicons/Logo_Google_Chrome.svg new file mode 100644 index 00000000..506184a0 --- /dev/null +++ b/web/assets/appicons/Logo_Google_Chrome.svg | |||
@@ -0,0 +1,2859 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
3 | |||
4 | <svg | ||
5 | xmlns:dc="http://purl.org/dc/elements/1.1/" | ||
6 | xmlns:cc="http://creativecommons.org/ns#" | ||
7 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||
8 | xmlns:svg="http://www.w3.org/2000/svg" | ||
9 | xmlns="http://www.w3.org/2000/svg" | ||
10 | xmlns:xlink="http://www.w3.org/1999/xlink" | ||
11 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||
12 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||
13 | width="632.5" | ||
14 | height="604.99976" | ||
15 | id="svg2" | ||
16 | version="1.1" | ||
17 | inkscape:version="0.47pre4 r22446" | ||
18 | sodipodi:docname="Logo Google Chrome.svg"> | ||
19 | <defs | ||
20 | id="defs4"> | ||
21 | <clipPath | ||
22 | id="clipPath4339" | ||
23 | clipPathUnits="userSpaceOnUse"> | ||
24 | <path | ||
25 | id="path4341" | ||
26 | d="m 211.71,369.561 67.416,0 0,-12.07 -67.416,0 0,12.07 z" /> | ||
27 | </clipPath> | ||
28 | <clipPath | ||
29 | id="clipPath4323" | ||
30 | clipPathUnits="userSpaceOnUse"> | ||
31 | <path | ||
32 | id="path4325" | ||
33 | d="m 183.878,378.374 122.998,0 0,-36.216 -122.998,0 0,36.216 z" /> | ||
34 | </clipPath> | ||
35 | <mask | ||
36 | id="mask4293" | ||
37 | height="1" | ||
38 | width="1" | ||
39 | y="0" | ||
40 | x="0" | ||
41 | maskUnits="userSpaceOnUse"> | ||
42 | <g | ||
43 | id="g4295"> | ||
44 | <g | ||
45 | id="g4297" | ||
46 | clip-path="url(#clipPath4275)"> | ||
47 | <path | ||
48 | id="path4299" | ||
49 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
50 | d="m 183.878,405.657 122.998,0 0,-63.5 -122.998,0 0,63.5 z" /> | ||
51 | <g | ||
52 | id="g4301"> | ||
53 | <g | ||
54 | id="g4303" /> | ||
55 | <g | ||
56 | id="g4305"> | ||
57 | <g | ||
58 | id="g4307" | ||
59 | clip-path="url(#clipPath4279)"> | ||
60 | <g | ||
61 | id="g4309"> | ||
62 | <g | ||
63 | id="g4311"> | ||
64 | <g | ||
65 | id="g4313"> | ||
66 | <g | ||
67 | id="g4315"> | ||
68 | <path | ||
69 | id="path4317" | ||
70 | style="fill:url(#radialGradient4287);stroke:none" | ||
71 | d="m 306.876,364.491 c 0,0 -6.917,1 -15.5,-3.166 0,0 -8.167,-1.917 -12.25,0.583 0,0 -30.75,17.916 -67.416,-4.417 0,0 -18.916,-7.666 -27.832,-15.333 0,0 46.664,63.499 122.998,22.333" /> | ||
72 | </g> | ||
73 | </g> | ||
74 | </g> | ||
75 | </g> | ||
76 | </g> | ||
77 | </g> | ||
78 | </g> | ||
79 | </g> | ||
80 | </g> | ||
81 | </mask> | ||
82 | <radialGradient | ||
83 | id="radialGradient4287" | ||
84 | spreadMethod="pad" | ||
85 | gradientTransform="matrix(44.332031,0,0,-44.332031,246.87695,373.76562)" | ||
86 | gradientUnits="userSpaceOnUse" | ||
87 | r="1" | ||
88 | cy="0" | ||
89 | cx="0" | ||
90 | fy="0" | ||
91 | fx="0"> | ||
92 | <stop | ||
93 | id="stop4289" | ||
94 | offset="0" | ||
95 | style="stop-opacity:1;stop-color:#414042" /> | ||
96 | <stop | ||
97 | id="stop4291" | ||
98 | offset="1" | ||
99 | style="stop-opacity:1;stop-color:#9d9fa2" /> | ||
100 | </radialGradient> | ||
101 | <clipPath | ||
102 | id="clipPath4279" | ||
103 | clipPathUnits="userSpaceOnUse"> | ||
104 | <path | ||
105 | id="path4281" | ||
106 | d="m 183.878,405.657 122.998,0 0,-63.499 -122.998,0 0,63.499 z" /> | ||
107 | </clipPath> | ||
108 | <clipPath | ||
109 | id="clipPath4275" | ||
110 | clipPathUnits="userSpaceOnUse"> | ||
111 | <path | ||
112 | id="path4277" | ||
113 | d="m 183.878,378.374 122.998,0 0,-36.216 -122.998,0 0,36.216 z" /> | ||
114 | </clipPath> | ||
115 | <clipPath | ||
116 | id="clipPath4259" | ||
117 | clipPathUnits="userSpaceOnUse"> | ||
118 | <path | ||
119 | id="path4261" | ||
120 | d="m 299.771,343.158 25.346,0 0,-86 -25.346,0 0,86 z" /> | ||
121 | </clipPath> | ||
122 | <clipPath | ||
123 | id="clipPath4243" | ||
124 | clipPathUnits="userSpaceOnUse"> | ||
125 | <path | ||
126 | id="path4245" | ||
127 | d="m 298.146,343.158 32.091,0 0,-88.875 -32.091,0 0,88.875 z" /> | ||
128 | </clipPath> | ||
129 | <linearGradient | ||
130 | id="linearGradient4219" | ||
131 | spreadMethod="pad" | ||
132 | gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)" | ||
133 | gradientUnits="userSpaceOnUse" | ||
134 | y2="0" | ||
135 | x2="1" | ||
136 | y1="0" | ||
137 | x1="0"> | ||
138 | <stop | ||
139 | id="stop4221" | ||
140 | offset="0" | ||
141 | style="stop-opacity:1;stop-color:#231f20" /> | ||
142 | <stop | ||
143 | id="stop4223" | ||
144 | offset="1" | ||
145 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
146 | </linearGradient> | ||
147 | <clipPath | ||
148 | id="clipPath4211" | ||
149 | clipPathUnits="userSpaceOnUse"> | ||
150 | <path | ||
151 | id="path4213" | ||
152 | d="m 284.348,343.158 54.967,0 0,-117.722 -54.967,0 0,117.722 z" /> | ||
153 | </clipPath> | ||
154 | <mask | ||
155 | id="mask4181" | ||
156 | height="1" | ||
157 | width="1" | ||
158 | y="0" | ||
159 | x="0" | ||
160 | maskUnits="userSpaceOnUse"> | ||
161 | <g | ||
162 | id="g4183"> | ||
163 | <g | ||
164 | id="g4185" | ||
165 | clip-path="url(#clipPath4163)"> | ||
166 | <path | ||
167 | id="path4187" | ||
168 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
169 | d="m 284.348,343.158 103.695,0 0,-117.723 -103.695,0 0,117.723 z" /> | ||
170 | <g | ||
171 | id="g4189"> | ||
172 | <g | ||
173 | id="g4191" /> | ||
174 | <g | ||
175 | id="g4193"> | ||
176 | <g | ||
177 | id="g4195" | ||
178 | clip-path="url(#clipPath4167)"> | ||
179 | <g | ||
180 | id="g4197"> | ||
181 | <g | ||
182 | id="g4199"> | ||
183 | <g | ||
184 | id="g4201"> | ||
185 | <g | ||
186 | id="g4203"> | ||
187 | <path | ||
188 | id="path4205" | ||
189 | style="fill:url(#linearGradient4175);stroke:none" | ||
190 | d="m 310.584,343.158 c 0,0 35.125,-45 -10.813,-86 0,0 -13.062,-7.75 -15.423,-31.722 0,0 103.695,48.722 26.236,117.722" /> | ||
191 | </g> | ||
192 | </g> | ||
193 | </g> | ||
194 | </g> | ||
195 | </g> | ||
196 | </g> | ||
197 | </g> | ||
198 | </g> | ||
199 | </g> | ||
200 | </mask> | ||
201 | <linearGradient | ||
202 | id="linearGradient4175" | ||
203 | spreadMethod="pad" | ||
204 | gradientTransform="matrix(-7.663559,86.087174,86.087174,7.663559,311.97852,258.04639)" | ||
205 | gradientUnits="userSpaceOnUse" | ||
206 | y2="0" | ||
207 | x2="1" | ||
208 | y1="0" | ||
209 | x1="0"> | ||
210 | <stop | ||
211 | id="stop4177" | ||
212 | offset="0" | ||
213 | style="stop-opacity:1;stop-color:#808285" /> | ||
214 | <stop | ||
215 | id="stop4179" | ||
216 | offset="1" | ||
217 | style="stop-opacity:1;stop-color:#a7a9ac" /> | ||
218 | </linearGradient> | ||
219 | <clipPath | ||
220 | id="clipPath4167" | ||
221 | clipPathUnits="userSpaceOnUse"> | ||
222 | <path | ||
223 | id="path4169" | ||
224 | d="m 284.348,343.158 103.695,0 0,-117.722 -103.695,0 0,117.722 z" /> | ||
225 | </clipPath> | ||
226 | <clipPath | ||
227 | id="clipPath4163" | ||
228 | clipPathUnits="userSpaceOnUse"> | ||
229 | <path | ||
230 | id="path4165" | ||
231 | d="m 284.348,343.158 54.967,0 0,-117.722 -54.967,0 0,117.722 z" /> | ||
232 | </clipPath> | ||
233 | <clipPath | ||
234 | id="clipPath4147" | ||
235 | clipPathUnits="userSpaceOnUse"> | ||
236 | <path | ||
237 | id="path4149" | ||
238 | d="m 175.361,320.471 12.723,0 0,-49.063 -12.723,0 0,49.063 z" /> | ||
239 | </clipPath> | ||
240 | <clipPath | ||
241 | id="clipPath4131" | ||
242 | clipPathUnits="userSpaceOnUse"> | ||
243 | <path | ||
244 | id="path4133" | ||
245 | d="m 182.737,275.494 89.972,0 0,-43.239 -89.972,0 0,43.239 z" /> | ||
246 | </clipPath> | ||
247 | <linearGradient | ||
248 | id="linearGradient4107" | ||
249 | spreadMethod="pad" | ||
250 | gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)" | ||
251 | gradientUnits="userSpaceOnUse" | ||
252 | y2="0" | ||
253 | x2="1" | ||
254 | y1="0" | ||
255 | x1="0"> | ||
256 | <stop | ||
257 | id="stop4109" | ||
258 | offset="0" | ||
259 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
260 | <stop | ||
261 | id="stop4111" | ||
262 | offset="1" | ||
263 | style="stop-opacity:1;stop-color:#231f20" /> | ||
264 | </linearGradient> | ||
265 | <clipPath | ||
266 | id="clipPath4099" | ||
267 | clipPathUnits="userSpaceOnUse"> | ||
268 | <path | ||
269 | id="path4101" | ||
270 | d="m 174.219,320.471 98.49,0 0,-98.87 -98.49,0 0,98.87 z" /> | ||
271 | </clipPath> | ||
272 | <mask | ||
273 | id="mask4069" | ||
274 | height="1" | ||
275 | width="1" | ||
276 | y="0" | ||
277 | x="0" | ||
278 | maskUnits="userSpaceOnUse"> | ||
279 | <g | ||
280 | id="g4071"> | ||
281 | <g | ||
282 | id="g4073" | ||
283 | clip-path="url(#clipPath4051)"> | ||
284 | <path | ||
285 | id="path4075" | ||
286 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
287 | d="m 164.334,320.471 108.375,0 0,-103.563 -108.375,0 0,103.563 z" /> | ||
288 | <g | ||
289 | id="g4077"> | ||
290 | <g | ||
291 | id="g4079" /> | ||
292 | <g | ||
293 | id="g4081"> | ||
294 | <g | ||
295 | id="g4083" | ||
296 | clip-path="url(#clipPath4055)"> | ||
297 | <g | ||
298 | id="g4085"> | ||
299 | <g | ||
300 | id="g4087"> | ||
301 | <g | ||
302 | id="g4089"> | ||
303 | <g | ||
304 | id="g4091"> | ||
305 | <path | ||
306 | id="path4093" | ||
307 | style="fill:url(#radialGradient4063);stroke:none" | ||
308 | d="m 176.834,320.471 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 16.5,-53.125 84.625,-27.812 0,0 -11,-11.313 -12.75,-21.063 0,0 -34.75,-5.625 -59.25,10.75 0,0 -36.375,24.625 -23.875,87.188" /> | ||
309 | </g> | ||
310 | </g> | ||
311 | </g> | ||
312 | </g> | ||
313 | </g> | ||
314 | </g> | ||
315 | </g> | ||
316 | </g> | ||
317 | </g> | ||
318 | </mask> | ||
319 | <radialGradient | ||
320 | id="radialGradient4063" | ||
321 | spreadMethod="pad" | ||
322 | gradientTransform="matrix(52.870712,0,0,-52.870712,213.46387,243.66016)" | ||
323 | gradientUnits="userSpaceOnUse" | ||
324 | r="1" | ||
325 | cy="0" | ||
326 | cx="0" | ||
327 | fy="0" | ||
328 | fx="0"> | ||
329 | <stop | ||
330 | id="stop4065" | ||
331 | offset="0" | ||
332 | style="stop-opacity:1;stop-color:#545456" /> | ||
333 | <stop | ||
334 | id="stop4067" | ||
335 | offset="1" | ||
336 | style="stop-opacity:1;stop-color:#888a8c" /> | ||
337 | </radialGradient> | ||
338 | <clipPath | ||
339 | id="clipPath4055" | ||
340 | clipPathUnits="userSpaceOnUse"> | ||
341 | <path | ||
342 | id="path4057" | ||
343 | d="m 164.334,320.471 108.375,0 0,-103.563 -108.375,0 0,103.563 z" /> | ||
344 | </clipPath> | ||
345 | <clipPath | ||
346 | id="clipPath4051" | ||
347 | clipPathUnits="userSpaceOnUse"> | ||
348 | <path | ||
349 | id="path4053" | ||
350 | d="m 174.219,320.471 98.49,0 0,-98.87 -98.49,0 0,98.87 z" /> | ||
351 | </clipPath> | ||
352 | <radialGradient | ||
353 | id="radialGradient4023" | ||
354 | spreadMethod="pad" | ||
355 | gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)" | ||
356 | gradientUnits="userSpaceOnUse" | ||
357 | r="1" | ||
358 | cy="0" | ||
359 | cx="0" | ||
360 | fy="0.00041198701" | ||
361 | fx="0.123642"> | ||
362 | <stop | ||
363 | id="stop4025" | ||
364 | offset="0" | ||
365 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
366 | <stop | ||
367 | id="stop4027" | ||
368 | offset="0.9832" | ||
369 | style="stop-opacity:1;stop-color:#000000" /> | ||
370 | <stop | ||
371 | id="stop4029" | ||
372 | offset="0.9832" | ||
373 | style="stop-opacity:1;stop-color:#000000" /> | ||
374 | <stop | ||
375 | id="stop4031" | ||
376 | offset="1" | ||
377 | style="stop-opacity:1;stop-color:#000000" /> | ||
378 | </radialGradient> | ||
379 | <clipPath | ||
380 | id="clipPath4015" | ||
381 | clipPathUnits="userSpaceOnUse"> | ||
382 | <path | ||
383 | id="path4017" | ||
384 | d="m 163.456,379.817 183.02,0 0,-169.151 -183.02,0 0,169.151 z" /> | ||
385 | </clipPath> | ||
386 | <mask | ||
387 | id="mask3985" | ||
388 | height="1" | ||
389 | width="1" | ||
390 | y="0" | ||
391 | x="0" | ||
392 | maskUnits="userSpaceOnUse"> | ||
393 | <g | ||
394 | id="g3987"> | ||
395 | <g | ||
396 | id="g3989" | ||
397 | clip-path="url(#clipPath3963)"> | ||
398 | <path | ||
399 | id="path3991" | ||
400 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
401 | d="m 161.77,381.625 187.25,0 0,-173.125 -187.25,0 0,173.125 z" /> | ||
402 | <g | ||
403 | id="g3993"> | ||
404 | <g | ||
405 | id="g3995" /> | ||
406 | <g | ||
407 | id="g3997"> | ||
408 | <g | ||
409 | id="g3999" | ||
410 | clip-path="url(#clipPath3967)"> | ||
411 | <g | ||
412 | id="g4001"> | ||
413 | <g | ||
414 | id="g4003"> | ||
415 | <g | ||
416 | id="g4005"> | ||
417 | <g | ||
418 | id="g4007"> | ||
419 | <path | ||
420 | id="path4009" | ||
421 | style="fill:url(#radialGradient3975);stroke:none" | ||
422 | d="m 185.145,240.751 c 0,0 24.25,-30.086 70.166,-30.041 0,0 34.084,-2.209 64.177,24.603 0,0 26.91,21.188 26.91,59.98 0,0 2.622,28.832 -22.753,55.957 0,0 -25,28.567 -69.079,28.545 0,0 -36.046,1.83 -67.046,-27.42 0,0 -24.064,-21.75 -24.036,-57.791 0,0 -1.714,-28.958 21.661,-53.833" /> | ||
423 | </g> | ||
424 | </g> | ||
425 | </g> | ||
426 | </g> | ||
427 | </g> | ||
428 | </g> | ||
429 | </g> | ||
430 | </g> | ||
431 | </g> | ||
432 | </mask> | ||
433 | <radialGradient | ||
434 | id="radialGradient3975" | ||
435 | spreadMethod="pad" | ||
436 | gradientTransform="matrix(-0.4723206,-110.46269,-96.737152,0.4136353,258.46582,335.2417)" | ||
437 | gradientUnits="userSpaceOnUse" | ||
438 | r="1" | ||
439 | cy="0" | ||
440 | cx="0" | ||
441 | fy="0.00137329" | ||
442 | fx="0.109406"> | ||
443 | <stop | ||
444 | id="stop3977" | ||
445 | offset="0" | ||
446 | style="stop-opacity:1;stop-color:#000000" /> | ||
447 | <stop | ||
448 | id="stop3979" | ||
449 | offset="0.9832" | ||
450 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
451 | <stop | ||
452 | id="stop3981" | ||
453 | offset="0.9832" | ||
454 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
455 | <stop | ||
456 | id="stop3983" | ||
457 | offset="1" | ||
458 | style="stop-opacity:1;stop-color:#ffffff" /> | ||
459 | </radialGradient> | ||
460 | <clipPath | ||
461 | id="clipPath3967" | ||
462 | clipPathUnits="userSpaceOnUse"> | ||
463 | <path | ||
464 | id="path3969" | ||
465 | d="m 161.77,381.625 187.25,0 0,-173.124 -187.25,0 0,173.124 z" /> | ||
466 | </clipPath> | ||
467 | <clipPath | ||
468 | id="clipPath3963" | ||
469 | clipPathUnits="userSpaceOnUse"> | ||
470 | <path | ||
471 | id="path3965" | ||
472 | d="m 163.456,379.817 183.02,0 0,-169.151 -183.02,0 0,169.151 z" /> | ||
473 | </clipPath> | ||
474 | <clipPath | ||
475 | id="clipPath3947" | ||
476 | clipPathUnits="userSpaceOnUse"> | ||
477 | <path | ||
478 | id="path3949" | ||
479 | d="m 179.709,379.678 162.75,0 0,-66.77 -162.75,0 0,66.77 z" /> | ||
480 | </clipPath> | ||
481 | <mask | ||
482 | id="mask3917" | ||
483 | height="1" | ||
484 | width="1" | ||
485 | y="0" | ||
486 | x="0" | ||
487 | maskUnits="userSpaceOnUse"> | ||
488 | <g | ||
489 | id="g3919"> | ||
490 | <g | ||
491 | id="g3921" | ||
492 | clip-path="url(#clipPath3897)"> | ||
493 | <path | ||
494 | id="path3923" | ||
495 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
496 | d="m 179.709,385.408 162.75,0 0,-72.5 -162.75,0 0,72.5 z" /> | ||
497 | <g | ||
498 | id="g3925"> | ||
499 | <g | ||
500 | id="g3927" /> | ||
501 | <g | ||
502 | id="g3929"> | ||
503 | <g | ||
504 | id="g3931" | ||
505 | clip-path="url(#clipPath3901)"> | ||
506 | <g | ||
507 | id="g3933"> | ||
508 | <g | ||
509 | id="g3935"> | ||
510 | <g | ||
511 | id="g3937"> | ||
512 | <g | ||
513 | id="g3939"> | ||
514 | <path | ||
515 | id="path3941" | ||
516 | style="fill:url(#linearGradient3909);stroke:none" | ||
517 | d="m 342.459,312.908 c 0,0 -12.5,61 -81.375,66.5 0,0 -49.375,6 -81.375,-38.626 0,0 27.833,33.543 76.834,34.958 0,0 65.333,2.918 85.916,-62.832" /> | ||
518 | </g> | ||
519 | </g> | ||
520 | </g> | ||
521 | </g> | ||
522 | </g> | ||
523 | </g> | ||
524 | </g> | ||
525 | </g> | ||
526 | </g> | ||
527 | </mask> | ||
528 | <linearGradient | ||
529 | id="linearGradient3909" | ||
530 | spreadMethod="pad" | ||
531 | gradientTransform="matrix(162.75,0,0,-162.75,179.70898,346.29297)" | ||
532 | gradientUnits="userSpaceOnUse" | ||
533 | y2="0" | ||
534 | x2="1" | ||
535 | y1="0" | ||
536 | x1="0"> | ||
537 | <stop | ||
538 | id="stop3911" | ||
539 | offset="0" | ||
540 | style="stop-opacity:1;stop-color:#696a6d" /> | ||
541 | <stop | ||
542 | id="stop3913" | ||
543 | offset="0.478531" | ||
544 | style="stop-opacity:1;stop-color:#a3a5a8" /> | ||
545 | <stop | ||
546 | id="stop3915" | ||
547 | offset="1" | ||
548 | style="stop-opacity:1;stop-color:#4d4d4f" /> | ||
549 | </linearGradient> | ||
550 | <clipPath | ||
551 | id="clipPath3901" | ||
552 | clipPathUnits="userSpaceOnUse"> | ||
553 | <path | ||
554 | id="path3903" | ||
555 | d="m 179.709,385.408 162.75,0 0,-72.5 -162.75,0 0,72.5 z" /> | ||
556 | </clipPath> | ||
557 | <clipPath | ||
558 | id="clipPath3897" | ||
559 | clipPathUnits="userSpaceOnUse"> | ||
560 | <path | ||
561 | id="path3899" | ||
562 | d="m 179.709,379.678 162.75,0 0,-66.77 -162.75,0 0,66.77 z" /> | ||
563 | </clipPath> | ||
564 | <clipPath | ||
565 | id="clipPath3881" | ||
566 | clipPathUnits="userSpaceOnUse"> | ||
567 | <path | ||
568 | id="path3883" | ||
569 | d="m 214.236,363.64 45.16,0 0,-22.858 -45.16,0 0,22.858 z" /> | ||
570 | </clipPath> | ||
571 | <mask | ||
572 | id="mask3851" | ||
573 | height="1" | ||
574 | width="1" | ||
575 | y="0" | ||
576 | x="0" | ||
577 | maskUnits="userSpaceOnUse"> | ||
578 | <g | ||
579 | id="g3853"> | ||
580 | <g | ||
581 | id="g3855" | ||
582 | clip-path="url(#clipPath3833)"> | ||
583 | <path | ||
584 | id="path3857" | ||
585 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
586 | d="m 212.584,365.283 46.813,0 0,-25.563 -46.813,0 0,25.563 z" /> | ||
587 | <g | ||
588 | id="g3859"> | ||
589 | <g | ||
590 | id="g3861" /> | ||
591 | <g | ||
592 | id="g3863"> | ||
593 | <g | ||
594 | id="g3865" | ||
595 | clip-path="url(#clipPath3837)"> | ||
596 | <g | ||
597 | id="g3867"> | ||
598 | <g | ||
599 | id="g3869"> | ||
600 | <g | ||
601 | id="g3871"> | ||
602 | <g | ||
603 | id="g3873"> | ||
604 | <path | ||
605 | id="path3875" | ||
606 | style="fill:url(#linearGradient3845);stroke:none" | ||
607 | d="m 259.396,363.346 c 0,0 -18.312,1.937 -29.687,-4.125 0,0 -9.313,-5.188 -15.063,-14.125 0,0 -2.062,-5.375 3.063,-4.125 0,0 8,7.312 17.125,12.875 0,0 10.062,6.187 24.562,9.5" /> | ||
608 | </g> | ||
609 | </g> | ||
610 | </g> | ||
611 | </g> | ||
612 | </g> | ||
613 | </g> | ||
614 | </g> | ||
615 | </g> | ||
616 | </g> | ||
617 | </mask> | ||
618 | <linearGradient | ||
619 | id="linearGradient3845" | ||
620 | spreadMethod="pad" | ||
621 | gradientTransform="matrix(41.032745,18.861435,18.861435,-41.032745,216.08203,346.61426)" | ||
622 | gradientUnits="userSpaceOnUse" | ||
623 | y2="0" | ||
624 | x2="1" | ||
625 | y1="0" | ||
626 | x1="0"> | ||
627 | <stop | ||
628 | id="stop3847" | ||
629 | offset="0" | ||
630 | style="stop-opacity:1;stop-color:#7d7e81" /> | ||
631 | <stop | ||
632 | id="stop3849" | ||
633 | offset="1" | ||
634 | style="stop-opacity:1;stop-color:#231f20" /> | ||
635 | </linearGradient> | ||
636 | <clipPath | ||
637 | id="clipPath3837" | ||
638 | clipPathUnits="userSpaceOnUse"> | ||
639 | <path | ||
640 | id="path3839" | ||
641 | d="m 212.584,365.283 46.812,0 0,-25.562 -46.812,0 0,25.562 z" /> | ||
642 | </clipPath> | ||
643 | <clipPath | ||
644 | id="clipPath3833" | ||
645 | clipPathUnits="userSpaceOnUse"> | ||
646 | <path | ||
647 | id="path3835" | ||
648 | d="m 214.236,363.64 45.16,0 0,-22.858 -45.16,0 0,22.858 z" /> | ||
649 | </clipPath> | ||
650 | <clipPath | ||
651 | id="clipPath3817" | ||
652 | clipPathUnits="userSpaceOnUse"> | ||
653 | <path | ||
654 | id="path3819" | ||
655 | d="m 189.21,356.075 33,0 0,-76.898 -33,0 0,76.898 z" /> | ||
656 | </clipPath> | ||
657 | <mask | ||
658 | id="mask3787" | ||
659 | height="1" | ||
660 | width="1" | ||
661 | y="0" | ||
662 | x="0" | ||
663 | maskUnits="userSpaceOnUse"> | ||
664 | <g | ||
665 | id="g3789"> | ||
666 | <g | ||
667 | id="g3791" | ||
668 | clip-path="url(#clipPath3769)"> | ||
669 | <path | ||
670 | id="path3793" | ||
671 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
672 | d="m 189.129,356.075 33.081,0 0,-77.999 -33.081,0 0,77.999 z" /> | ||
673 | <g | ||
674 | id="g3795"> | ||
675 | <g | ||
676 | id="g3797" /> | ||
677 | <g | ||
678 | id="g3799"> | ||
679 | <g | ||
680 | id="g3801" | ||
681 | clip-path="url(#clipPath3773)"> | ||
682 | <g | ||
683 | id="g3803"> | ||
684 | <g | ||
685 | id="g3805"> | ||
686 | <g | ||
687 | id="g3807"> | ||
688 | <g | ||
689 | id="g3809"> | ||
690 | <path | ||
691 | id="path3811" | ||
692 | style="fill:url(#linearGradient3781);stroke:none" | ||
693 | d="m 222.21,356.075 c 0,0 -29.5,-4.584 -33,-54.333 0,0 -0.081,-18.999 6.833,-22.499 0,0 3.834,-1.167 3.417,6.333 0,0 -1.083,10.501 0.917,28.418 0,0 2.083,26.666 21.833,42.081" /> | ||
694 | </g> | ||
695 | </g> | ||
696 | </g> | ||
697 | </g> | ||
698 | </g> | ||
699 | </g> | ||
700 | </g> | ||
701 | </g> | ||
702 | </g> | ||
703 | </mask> | ||
704 | <linearGradient | ||
705 | id="linearGradient3781" | ||
706 | spreadMethod="pad" | ||
707 | gradientTransform="matrix(13.957611,29.902389,29.902389,-13.957611,199.79492,311.26221)" | ||
708 | gradientUnits="userSpaceOnUse" | ||
709 | y2="0" | ||
710 | x2="1" | ||
711 | y1="0" | ||
712 | x1="0"> | ||
713 | <stop | ||
714 | id="stop3783" | ||
715 | offset="0" | ||
716 | style="stop-opacity:1;stop-color:#353435" /> | ||
717 | <stop | ||
718 | id="stop3785" | ||
719 | offset="1" | ||
720 | style="stop-opacity:1;stop-color:#7d7e81" /> | ||
721 | </linearGradient> | ||
722 | <clipPath | ||
723 | id="clipPath3773" | ||
724 | clipPathUnits="userSpaceOnUse"> | ||
725 | <path | ||
726 | id="path3775" | ||
727 | d="m 189.129,356.075 33.081,0 0,-77.999 -33.081,0 0,77.999 z" /> | ||
728 | </clipPath> | ||
729 | <clipPath | ||
730 | id="clipPath3769" | ||
731 | clipPathUnits="userSpaceOnUse"> | ||
732 | <path | ||
733 | id="path3771" | ||
734 | d="m 189.21,356.075 33,0 0,-76.898 -33,0 0,76.898 z" /> | ||
735 | </clipPath> | ||
736 | <clipPath | ||
737 | id="clipPath3761" | ||
738 | clipPathUnits="userSpaceOnUse"> | ||
739 | <path | ||
740 | id="path3763" | ||
741 | d="M 0,512 512,512 512,0 0,0 0,512 z" /> | ||
742 | </clipPath> | ||
743 | <radialGradient | ||
744 | id="radialGradient3749" | ||
745 | spreadMethod="pad" | ||
746 | gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)" | ||
747 | gradientUnits="userSpaceOnUse" | ||
748 | r="1" | ||
749 | cy="0" | ||
750 | cx="0" | ||
751 | fy="-0.00463867" | ||
752 | fx="0.216034"> | ||
753 | <stop | ||
754 | id="stop3751" | ||
755 | offset="0" | ||
756 | style="stop-opacity:1;stop-color:#b0ddf3" /> | ||
757 | <stop | ||
758 | id="stop3753" | ||
759 | offset="1" | ||
760 | style="stop-opacity:1;stop-color:#005edb" /> | ||
761 | </radialGradient> | ||
762 | <clipPath | ||
763 | id="clipPath3725" | ||
764 | clipPathUnits="userSpaceOnUse"> | ||
765 | <path | ||
766 | id="path3727" | ||
767 | d="m 33.937,174.185 232.557,0 0,-140.5141 -232.557,0 0,140.5141 z" /> | ||
768 | </clipPath> | ||
769 | <mask | ||
770 | id="mask3695" | ||
771 | height="1" | ||
772 | width="1" | ||
773 | y="0" | ||
774 | x="0" | ||
775 | maskUnits="userSpaceOnUse"> | ||
776 | <g | ||
777 | id="g3697"> | ||
778 | <g | ||
779 | id="g3699" | ||
780 | clip-path="url(#clipPath3677)"> | ||
781 | <path | ||
782 | id="path3701" | ||
783 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
784 | d="m 33.937,174.185 232.557,0 0,-143.193 -232.557,0 0,143.193 z" /> | ||
785 | <g | ||
786 | id="g3703"> | ||
787 | <g | ||
788 | id="g3705" /> | ||
789 | <g | ||
790 | id="g3707"> | ||
791 | <g | ||
792 | id="g3709" | ||
793 | clip-path="url(#clipPath3681)"> | ||
794 | <g | ||
795 | id="g3711"> | ||
796 | <g | ||
797 | id="g3713"> | ||
798 | <g | ||
799 | id="g3715"> | ||
800 | <g | ||
801 | id="g3717"> | ||
802 | <path | ||
803 | id="path3719" | ||
804 | style="fill:url(#linearGradient3689);stroke:none" | ||
805 | d="m 33.937,174.185 c 0,0 19.959,-51.527 65.609,-87.589 0,0 44.475,-40 120.363,-51.773 0,0 26.921,-3.331 34.835,1.335 0,0 8.584,0.583 11.75,3.333 0,0 -2.065,0.331 -4.813,0.87 0,0 -27.303,-9.37 -67.785,16.11 0,0 -14.685,8.353 -29.537,23.164 0,0 -67.213,10.461 -130.422,94.55" /> | ||
806 | </g> | ||
807 | </g> | ||
808 | </g> | ||
809 | </g> | ||
810 | </g> | ||
811 | </g> | ||
812 | </g> | ||
813 | </g> | ||
814 | </g> | ||
815 | </mask> | ||
816 | <linearGradient | ||
817 | id="linearGradient3689" | ||
818 | spreadMethod="pad" | ||
819 | gradientTransform="matrix(232.55713,0,0,-232.55713,33.937012,103.92773)" | ||
820 | gradientUnits="userSpaceOnUse" | ||
821 | y2="0" | ||
822 | x2="1" | ||
823 | y1="0" | ||
824 | x1="0"> | ||
825 | <stop | ||
826 | id="stop3691" | ||
827 | offset="0" | ||
828 | style="stop-opacity:1;stop-color:#333132" /> | ||
829 | <stop | ||
830 | id="stop3693" | ||
831 | offset="1" | ||
832 | style="stop-opacity:1;stop-color:#58595b" /> | ||
833 | </linearGradient> | ||
834 | <clipPath | ||
835 | id="clipPath3681" | ||
836 | clipPathUnits="userSpaceOnUse"> | ||
837 | <path | ||
838 | id="path3683" | ||
839 | d="m 33.937,174.185 232.557,0 0,-143.1938 -232.557,0 0,143.1938 z" /> | ||
840 | </clipPath> | ||
841 | <clipPath | ||
842 | id="clipPath3677" | ||
843 | clipPathUnits="userSpaceOnUse"> | ||
844 | <path | ||
845 | id="path3679" | ||
846 | d="m 33.937,174.185 232.557,0 0,-140.5141 -232.557,0 0,140.5141 z" /> | ||
847 | </clipPath> | ||
848 | <clipPath | ||
849 | id="clipPath3661" | ||
850 | clipPathUnits="userSpaceOnUse"> | ||
851 | <path | ||
852 | id="path3663" | ||
853 | d="m 15.7295,436.901 90.2455,0 0,-265.368 -90.2455,0 0,265.368 z" /> | ||
854 | </clipPath> | ||
855 | <mask | ||
856 | id="mask3631" | ||
857 | height="1" | ||
858 | width="1" | ||
859 | y="0" | ||
860 | x="0" | ||
861 | maskUnits="userSpaceOnUse"> | ||
862 | <g | ||
863 | id="g3633"> | ||
864 | <g | ||
865 | id="g3635" | ||
866 | clip-path="url(#clipPath3613)"> | ||
867 | <path | ||
868 | id="path3637" | ||
869 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
870 | d="m 11.875,436.902 94.1,0 0,-265.369 -94.1,0 0,265.369 z" /> | ||
871 | <g | ||
872 | id="g3639"> | ||
873 | <g | ||
874 | id="g3641" /> | ||
875 | <g | ||
876 | id="g3643"> | ||
877 | <g | ||
878 | id="g3645" | ||
879 | clip-path="url(#clipPath3617)"> | ||
880 | <g | ||
881 | id="g3647"> | ||
882 | <g | ||
883 | id="g3649"> | ||
884 | <g | ||
885 | id="g3651"> | ||
886 | <g | ||
887 | id="g3653"> | ||
888 | <path | ||
889 | id="path3655" | ||
890 | style="fill:url(#linearGradient3625);stroke:none" | ||
891 | d="m 20.875,246.283 c 0,0 -5.146,31.5 6.75,69.5 0,0 16.5,62.75 60.5,102.75 0,0 8.474,6.775 17.85,18.368 0.001,10e-4 -53.184,-30.281 -82.85,-120.118 0,0 -11.25,-26.25 -6,-70.75 0,0 2.5,-39.75 20.625,-74.5 0,0 -10.973,26.628 -16.875,74.75" /> | ||
892 | </g> | ||
893 | </g> | ||
894 | </g> | ||
895 | </g> | ||
896 | </g> | ||
897 | </g> | ||
898 | </g> | ||
899 | </g> | ||
900 | </g> | ||
901 | </mask> | ||
902 | <linearGradient | ||
903 | id="linearGradient3625" | ||
904 | spreadMethod="pad" | ||
905 | gradientTransform="matrix(90.245606,0,0,-90.245606,15.729492,304.21729)" | ||
906 | gradientUnits="userSpaceOnUse" | ||
907 | y2="0" | ||
908 | x2="1" | ||
909 | y1="0" | ||
910 | x1="0"> | ||
911 | <stop | ||
912 | id="stop3627" | ||
913 | offset="0" | ||
914 | style="stop-opacity:1;stop-color:#414042" /> | ||
915 | <stop | ||
916 | id="stop3629" | ||
917 | offset="1" | ||
918 | style="stop-opacity:1;stop-color:#58595b" /> | ||
919 | </linearGradient> | ||
920 | <clipPath | ||
921 | id="clipPath3617" | ||
922 | clipPathUnits="userSpaceOnUse"> | ||
923 | <path | ||
924 | id="path3619" | ||
925 | d="m 11.8755,436.902 94.1005,0 0,-265.369 -94.1005,0 0,265.369 z" /> | ||
926 | </clipPath> | ||
927 | <clipPath | ||
928 | id="clipPath3613" | ||
929 | clipPathUnits="userSpaceOnUse"> | ||
930 | <path | ||
931 | id="path3615" | ||
932 | d="m 15.7295,436.901 90.2455,0 0,-265.368 -90.2455,0 0,265.368 z" /> | ||
933 | </clipPath> | ||
934 | <clipPath | ||
935 | id="clipPath3597" | ||
936 | clipPathUnits="userSpaceOnUse"> | ||
937 | <path | ||
938 | id="path3599" | ||
939 | d="m 30.2681,421.533 102.5029,0 0,-332.1658 -102.5029,0 0,332.1658 z" /> | ||
940 | </clipPath> | ||
941 | <mask | ||
942 | id="mask3567" | ||
943 | height="1" | ||
944 | width="1" | ||
945 | y="0" | ||
946 | x="0" | ||
947 | maskUnits="userSpaceOnUse"> | ||
948 | <g | ||
949 | id="g3569"> | ||
950 | <g | ||
951 | id="g3571" | ||
952 | clip-path="url(#clipPath3549)"> | ||
953 | <path | ||
954 | id="path3573" | ||
955 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
956 | d="m 27.084,421.533 107.625,0 0,-334.298 -107.625,0 0,334.298 z" /> | ||
957 | <g | ||
958 | id="g3575"> | ||
959 | <g | ||
960 | id="g3577" /> | ||
961 | <g | ||
962 | id="g3579"> | ||
963 | <g | ||
964 | id="g3581" | ||
965 | clip-path="url(#clipPath3553)"> | ||
966 | <g | ||
967 | id="g3583"> | ||
968 | <g | ||
969 | id="g3585"> | ||
970 | <g | ||
971 | id="g3587"> | ||
972 | <g | ||
973 | id="g3589"> | ||
974 | <path | ||
975 | id="path3591" | ||
976 | style="fill:url(#linearGradient3561);stroke:none" | ||
977 | d="m 100.334,421.533 c 0,0 -50.625,-40.375 -66.125,-117.75 0,0 -7.125,-36.5 -2.215,-66.875 0,0 10.965,-90.25 89.715,-145.75 0,0 5.833,-3.923 9.613,-0.155 0,0 3.387,4.03 -0.197,7.905 0,0 -5.291,6.375 -26.083,21.077 0,0 -58.583,46.798 -67.084,132.346 0,0 -2.374,26.077 1.001,47.452 0,0 6.5,68.125 61.375,121.75" /> | ||
978 | </g> | ||
979 | </g> | ||
980 | </g> | ||
981 | </g> | ||
982 | </g> | ||
983 | </g> | ||
984 | </g> | ||
985 | </g> | ||
986 | </g> | ||
987 | </mask> | ||
988 | <linearGradient | ||
989 | id="linearGradient3561" | ||
990 | spreadMethod="pad" | ||
991 | gradientTransform="matrix(102.50244,0,0,-102.50244,30.268066,255.45117)" | ||
992 | gradientUnits="userSpaceOnUse" | ||
993 | y2="0" | ||
994 | x2="1" | ||
995 | y1="0" | ||
996 | x1="0"> | ||
997 | <stop | ||
998 | id="stop3563" | ||
999 | offset="0" | ||
1000 | style="stop-opacity:1;stop-color:#58595b" /> | ||
1001 | <stop | ||
1002 | id="stop3565" | ||
1003 | offset="1" | ||
1004 | style="stop-opacity:1;stop-color:#333132" /> | ||
1005 | </linearGradient> | ||
1006 | <clipPath | ||
1007 | id="clipPath3553" | ||
1008 | clipPathUnits="userSpaceOnUse"> | ||
1009 | <path | ||
1010 | id="path3555" | ||
1011 | d="m 27.084,421.533 107.625,0 0,-334.2976 -107.625,0 0,334.2976 z" /> | ||
1012 | </clipPath> | ||
1013 | <clipPath | ||
1014 | id="clipPath3549" | ||
1015 | clipPathUnits="userSpaceOnUse"> | ||
1016 | <path | ||
1017 | id="path3551" | ||
1018 | d="m 30.2681,421.533 102.5029,0 0,-332.1658 -102.5029,0 0,332.1658 z" /> | ||
1019 | </clipPath> | ||
1020 | <clipPath | ||
1021 | id="clipPath3533" | ||
1022 | clipPathUnits="userSpaceOnUse"> | ||
1023 | <path | ||
1024 | id="path3535" | ||
1025 | d="m 78.7988,411.741 44.8122,0 0,-50.749 -44.8122,0 0,50.749 z" /> | ||
1026 | </clipPath> | ||
1027 | <clipPath | ||
1028 | id="clipPath3517" | ||
1029 | clipPathUnits="userSpaceOnUse"> | ||
1030 | <path | ||
1031 | id="path3519" | ||
1032 | d="m 134.084,343.039 87.166,0 0,-152.101 -87.166,0 0,152.101 z" /> | ||
1033 | </clipPath> | ||
1034 | <clipPath | ||
1035 | id="clipPath3501" | ||
1036 | clipPathUnits="userSpaceOnUse"> | ||
1037 | <path | ||
1038 | id="path3503" | ||
1039 | d="m 103.229,442.453 31.533,0 0,-85.341 -31.533,0 0,85.341 z" /> | ||
1040 | </clipPath> | ||
1041 | <clipPath | ||
1042 | id="clipPath3485" | ||
1043 | clipPathUnits="userSpaceOnUse"> | ||
1044 | <path | ||
1045 | id="path3487" | ||
1046 | d="m 239.188,40.3613 27.306,0 0,-4.248 -27.306,0 0,4.248 z" /> | ||
1047 | </clipPath> | ||
1048 | <clipPath | ||
1049 | id="clipPath3469" | ||
1050 | clipPathUnits="userSpaceOnUse"> | ||
1051 | <path | ||
1052 | id="path3471" | ||
1053 | d="m 132.725,114.152 98.651,0 0,-73.3317 -98.651,0 0,73.3317 z" /> | ||
1054 | </clipPath> | ||
1055 | <clipPath | ||
1056 | id="clipPath3453" | ||
1057 | clipPathUnits="userSpaceOnUse"> | ||
1058 | <path | ||
1059 | id="path3455" | ||
1060 | d="m 197.178,61.6895 58.71,0 0,-19.9483 -58.71,0 0,19.9483 z" /> | ||
1061 | </clipPath> | ||
1062 | <clipPath | ||
1063 | id="clipPath3437" | ||
1064 | clipPathUnits="userSpaceOnUse"> | ||
1065 | <path | ||
1066 | id="path3439" | ||
1067 | d="m 130.994,201.783 130.687,0 0,-162.9197 -130.687,0 0,162.9197 z" /> | ||
1068 | </clipPath> | ||
1069 | <clipPath | ||
1070 | id="clipPath3421" | ||
1071 | clipPathUnits="userSpaceOnUse"> | ||
1072 | <path | ||
1073 | id="path3423" | ||
1074 | d="m 149.165,329.522 72.476,0 0,-127.739 -72.476,0 0,127.739 z" /> | ||
1075 | </clipPath> | ||
1076 | <clipPath | ||
1077 | id="clipPath3405" | ||
1078 | clipPathUnits="userSpaceOnUse"> | ||
1079 | <path | ||
1080 | id="path3407" | ||
1081 | d="m 105.362,442.441 29.4,0 0,-85.329 -29.4,0 0,85.329 z" /> | ||
1082 | </clipPath> | ||
1083 | <clipPath | ||
1084 | id="clipPath3397" | ||
1085 | clipPathUnits="userSpaceOnUse"> | ||
1086 | <path | ||
1087 | id="path3399" | ||
1088 | d="M 0,512 512,512 512,0 0,0 0,512 z" /> | ||
1089 | </clipPath> | ||
1090 | <radialGradient | ||
1091 | id="radialGradient3381" | ||
1092 | spreadMethod="pad" | ||
1093 | gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)" | ||
1094 | gradientUnits="userSpaceOnUse" | ||
1095 | r="1" | ||
1096 | cy="0" | ||
1097 | cx="0" | ||
1098 | fy="0.00097656198" | ||
1099 | fx="-0.00891113"> | ||
1100 | <stop | ||
1101 | id="stop3383" | ||
1102 | offset="0" | ||
1103 | style="stop-opacity:1;stop-color:#91dd96" /> | ||
1104 | <stop | ||
1105 | id="stop3385" | ||
1106 | offset="0.68129" | ||
1107 | style="stop-opacity:1;stop-color:#00ad00" /> | ||
1108 | <stop | ||
1109 | id="stop3387" | ||
1110 | offset="0.68129" | ||
1111 | style="stop-opacity:1;stop-color:#00ad00" /> | ||
1112 | <stop | ||
1113 | id="stop3389" | ||
1114 | offset="1" | ||
1115 | style="stop-opacity:1;stop-color:#008008" /> | ||
1116 | </radialGradient> | ||
1117 | <clipPath | ||
1118 | id="clipPath3357" | ||
1119 | clipPathUnits="userSpaceOnUse"> | ||
1120 | <path | ||
1121 | id="path3359" | ||
1122 | d="m 160.318,399.978 304.709,0 0,-77.01 -304.709,0 0,77.01 z" /> | ||
1123 | </clipPath> | ||
1124 | <clipPath | ||
1125 | id="clipPath3341" | ||
1126 | clipPathUnits="userSpaceOnUse"> | ||
1127 | <path | ||
1128 | id="path3343" | ||
1129 | d="m 128.268,480.049 263.941,0 0,-62.391 -263.941,0 0,62.391 z" /> | ||
1130 | </clipPath> | ||
1131 | <mask | ||
1132 | id="mask3311" | ||
1133 | height="1" | ||
1134 | width="1" | ||
1135 | y="0" | ||
1136 | x="0" | ||
1137 | maskUnits="userSpaceOnUse"> | ||
1138 | <g | ||
1139 | id="g3313"> | ||
1140 | <g | ||
1141 | id="g3315" | ||
1142 | clip-path="url(#clipPath3293)"> | ||
1143 | <path | ||
1144 | id="path3317" | ||
1145 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1146 | d="m 128.268,481.075 263.941,0 0,-63.417 -263.941,0 0,63.417 z" /> | ||
1147 | <g | ||
1148 | id="g3319"> | ||
1149 | <g | ||
1150 | id="g3321" /> | ||
1151 | <g | ||
1152 | id="g3323"> | ||
1153 | <g | ||
1154 | id="g3325" | ||
1155 | clip-path="url(#clipPath3297)"> | ||
1156 | <g | ||
1157 | id="g3327"> | ||
1158 | <g | ||
1159 | id="g3329"> | ||
1160 | <g | ||
1161 | id="g3331"> | ||
1162 | <g | ||
1163 | id="g3333"> | ||
1164 | <path | ||
1165 | id="path3335" | ||
1166 | style="fill:url(#linearGradient3305);stroke:none" | ||
1167 | d="m 128.513,435.58 c 0,0 -0.245,1.955 -0.245,3.91 0,0 55.366,37.667 103.273,40 0,0 19.501,1.585 40.334,-0.582 0,0 100.419,-9.749 120.334,-61.25 0,0 -46.745,46.001 -117.748,53.919 0,0 -19.843,2.416 -47.604,-0.002 0,0 -47.723,-4.168 -98.344,-35.995" /> | ||
1168 | </g> | ||
1169 | </g> | ||
1170 | </g> | ||
1171 | </g> | ||
1172 | </g> | ||
1173 | </g> | ||
1174 | </g> | ||
1175 | </g> | ||
1176 | </g> | ||
1177 | </mask> | ||
1178 | <linearGradient | ||
1179 | id="linearGradient3305" | ||
1180 | spreadMethod="pad" | ||
1181 | gradientTransform="matrix(263.94141,0,0,-263.94141,128.26758,448.85352)" | ||
1182 | gradientUnits="userSpaceOnUse" | ||
1183 | y2="0" | ||
1184 | x2="1" | ||
1185 | y1="0" | ||
1186 | x1="0"> | ||
1187 | <stop | ||
1188 | id="stop3307" | ||
1189 | offset="0" | ||
1190 | style="stop-opacity:1;stop-color:#58595b" /> | ||
1191 | <stop | ||
1192 | id="stop3309" | ||
1193 | offset="1" | ||
1194 | style="stop-opacity:1;stop-color:#231f20" /> | ||
1195 | </linearGradient> | ||
1196 | <clipPath | ||
1197 | id="clipPath3297" | ||
1198 | clipPathUnits="userSpaceOnUse"> | ||
1199 | <path | ||
1200 | id="path3299" | ||
1201 | d="m 128.268,481.075 263.941,0 0,-63.417 -263.941,0 0,63.417 z" /> | ||
1202 | </clipPath> | ||
1203 | <clipPath | ||
1204 | id="clipPath3293" | ||
1205 | clipPathUnits="userSpaceOnUse"> | ||
1206 | <path | ||
1207 | id="path3295" | ||
1208 | d="m 128.268,480.049 263.941,0 0,-62.391 -263.941,0 0,62.391 z" /> | ||
1209 | </clipPath> | ||
1210 | <clipPath | ||
1211 | id="clipPath3277" | ||
1212 | clipPathUnits="userSpaceOnUse"> | ||
1213 | <path | ||
1214 | id="path3279" | ||
1215 | d="m 145.473,452.822 30.715,0 0,-25.322 -30.715,0 0,25.322 z" /> | ||
1216 | </clipPath> | ||
1217 | <clipPath | ||
1218 | id="clipPath3261" | ||
1219 | clipPathUnits="userSpaceOnUse"> | ||
1220 | <path | ||
1221 | id="path3263" | ||
1222 | d="m 131.21,432.158 13.943,0 0,-31.252 -13.943,0 0,31.252 z" /> | ||
1223 | </clipPath> | ||
1224 | <clipPath | ||
1225 | id="clipPath3245" | ||
1226 | clipPathUnits="userSpaceOnUse"> | ||
1227 | <path | ||
1228 | id="path3247" | ||
1229 | d="m 128.235,454.491 337.805,0 0,-128.314 -337.805,0 0,128.314 z" /> | ||
1230 | </clipPath> | ||
1231 | <clipPath | ||
1232 | id="clipPath3237" | ||
1233 | clipPathUnits="userSpaceOnUse"> | ||
1234 | <path | ||
1235 | id="path3239" | ||
1236 | d="M 0,512 512,512 512,0 0,0 0,512 z" /> | ||
1237 | </clipPath> | ||
1238 | <radialGradient | ||
1239 | id="radialGradient3219" | ||
1240 | spreadMethod="pad" | ||
1241 | gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)" | ||
1242 | gradientUnits="userSpaceOnUse" | ||
1243 | r="1" | ||
1244 | cy="0" | ||
1245 | cx="0" | ||
1246 | fy="0" | ||
1247 | fx="0"> | ||
1248 | <stop | ||
1249 | id="stop3221" | ||
1250 | offset="0" | ||
1251 | style="stop-opacity:1;stop-color:#f7010b" /> | ||
1252 | <stop | ||
1253 | id="stop3223" | ||
1254 | offset="0.721237" | ||
1255 | style="stop-opacity:1;stop-color:#d90000" /> | ||
1256 | <stop | ||
1257 | id="stop3225" | ||
1258 | offset="0.721237" | ||
1259 | style="stop-opacity:1;stop-color:#d90000" /> | ||
1260 | <stop | ||
1261 | id="stop3227" | ||
1262 | offset="0.829605" | ||
1263 | style="stop-opacity:1;stop-color:#be0201" /> | ||
1264 | <stop | ||
1265 | id="stop3229" | ||
1266 | offset="1" | ||
1267 | style="stop-opacity:1;stop-color:#e2817d" /> | ||
1268 | </radialGradient> | ||
1269 | <clipPath | ||
1270 | id="clipPath3195" | ||
1271 | clipPathUnits="userSpaceOnUse"> | ||
1272 | <path | ||
1273 | id="path3197" | ||
1274 | d="m 442.744,389.332 38.38,0 0,-106.63 -38.38,0 0,106.63 z" /> | ||
1275 | </clipPath> | ||
1276 | <clipPath | ||
1277 | id="clipPath3179" | ||
1278 | clipPathUnits="userSpaceOnUse"> | ||
1279 | <path | ||
1280 | id="path3181" | ||
1281 | d="m 451.423,372.208 25.457,0 0,-87.924 -25.457,0 0,87.924 z" /> | ||
1282 | </clipPath> | ||
1283 | <clipPath | ||
1284 | id="clipPath3163" | ||
1285 | clipPathUnits="userSpaceOnUse"> | ||
1286 | <path | ||
1287 | id="path3165" | ||
1288 | d="m 336.357,331.413 23.353,0 0,-94.68 -23.353,0 0,94.68 z" /> | ||
1289 | </clipPath> | ||
1290 | <clipPath | ||
1291 | id="clipPath3147" | ||
1292 | clipPathUnits="userSpaceOnUse"> | ||
1293 | <path | ||
1294 | id="path3149" | ||
1295 | d="m 208.204,233.913 279.458,0 0,-195.537 -279.458,0 0,195.537 z" /> | ||
1296 | </clipPath> | ||
1297 | <mask | ||
1298 | id="mask3117" | ||
1299 | height="1" | ||
1300 | width="1" | ||
1301 | y="0" | ||
1302 | x="0" | ||
1303 | maskUnits="userSpaceOnUse"> | ||
1304 | <g | ||
1305 | id="g3119"> | ||
1306 | <g | ||
1307 | id="g3121" | ||
1308 | clip-path="url(#clipPath3099)"> | ||
1309 | <path | ||
1310 | id="path3123" | ||
1311 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1312 | d="m 208.204,233.913 279.458,0 0,-196.817 -279.458,0 0,196.817 z" /> | ||
1313 | <g | ||
1314 | id="g3125"> | ||
1315 | <g | ||
1316 | id="g3127" /> | ||
1317 | <g | ||
1318 | id="g3129"> | ||
1319 | <g | ||
1320 | id="g3131" | ||
1321 | clip-path="url(#clipPath3103)"> | ||
1322 | <g | ||
1323 | id="g3133"> | ||
1324 | <g | ||
1325 | id="g3135"> | ||
1326 | <g | ||
1327 | id="g3137"> | ||
1328 | <g | ||
1329 | id="g3139"> | ||
1330 | <path | ||
1331 | id="path3141" | ||
1332 | style="fill:url(#linearGradient3111);stroke:none" | ||
1333 | d="m 208.204,66.201 c 0,0 25.817,-18.793 54.966,-26.11 0,0 1.664,-0.402 3.324,-0.6 0,0 16.684,-2.395 28.666,-0.166 0,0 167.584,21.083 192.502,194.588 0,0 -77.287,-190.422 -279.458,-167.712" /> | ||
1334 | </g> | ||
1335 | </g> | ||
1336 | </g> | ||
1337 | </g> | ||
1338 | </g> | ||
1339 | </g> | ||
1340 | </g> | ||
1341 | </g> | ||
1342 | </g> | ||
1343 | </mask> | ||
1344 | <linearGradient | ||
1345 | id="linearGradient3111" | ||
1346 | spreadMethod="pad" | ||
1347 | gradientTransform="matrix(279.45801,0,0,-279.45801,208.2041,136.14453)" | ||
1348 | gradientUnits="userSpaceOnUse" | ||
1349 | y2="0" | ||
1350 | x2="1" | ||
1351 | y1="0" | ||
1352 | x1="0"> | ||
1353 | <stop | ||
1354 | id="stop3113" | ||
1355 | offset="0" | ||
1356 | style="stop-opacity:1;stop-color:#58595b" /> | ||
1357 | <stop | ||
1358 | id="stop3115" | ||
1359 | offset="1" | ||
1360 | style="stop-opacity:1;stop-color:#333132" /> | ||
1361 | </linearGradient> | ||
1362 | <clipPath | ||
1363 | id="clipPath3103" | ||
1364 | clipPathUnits="userSpaceOnUse"> | ||
1365 | <path | ||
1366 | id="path3105" | ||
1367 | d="m 208.204,233.913 279.458,0 0,-196.8173 -279.458,0 0,196.8173 z" /> | ||
1368 | </clipPath> | ||
1369 | <clipPath | ||
1370 | id="clipPath3099" | ||
1371 | clipPathUnits="userSpaceOnUse"> | ||
1372 | <path | ||
1373 | id="path3101" | ||
1374 | d="m 208.204,233.913 279.458,0 0,-195.537 -279.458,0 0,195.537 z" /> | ||
1375 | </clipPath> | ||
1376 | <clipPath | ||
1377 | id="clipPath3083" | ||
1378 | clipPathUnits="userSpaceOnUse"> | ||
1379 | <path | ||
1380 | id="path3085" | ||
1381 | d="m 159.348,331.413 218.036,0 0,-291.3222 -218.036,0 0,291.3222 z" /> | ||
1382 | </clipPath> | ||
1383 | <clipPath | ||
1384 | id="clipPath3067" | ||
1385 | clipPathUnits="userSpaceOnUse"> | ||
1386 | <path | ||
1387 | id="path3069" | ||
1388 | d="m 353.305,328.46 115.917,0 0,-44.905 -115.917,0 0,44.905 z" /> | ||
1389 | </clipPath> | ||
1390 | <clipPath | ||
1391 | id="clipPath3051" | ||
1392 | clipPathUnits="userSpaceOnUse"> | ||
1393 | <path | ||
1394 | id="path3053" | ||
1395 | d="m 456.298,370.215 22.026,0 0,-62.807 -22.026,0 0,62.807 z" /> | ||
1396 | </clipPath> | ||
1397 | <clipPath | ||
1398 | id="clipPath3035" | ||
1399 | clipPathUnits="userSpaceOnUse"> | ||
1400 | <path | ||
1401 | id="path3037" | ||
1402 | d="m 358.834,270.554 128.828,0 0,-205.4251 -128.828,0 0,205.4251 z" /> | ||
1403 | </clipPath> | ||
1404 | <clipPath | ||
1405 | id="clipPath3019" | ||
1406 | clipPathUnits="userSpaceOnUse"> | ||
1407 | <path | ||
1408 | id="path3021" | ||
1409 | d="m 361.646,268.408 125.211,0 0,-202.9119 -125.211,0 0,202.9119 z" /> | ||
1410 | </clipPath> | ||
1411 | <clipPath | ||
1412 | id="clipPath3003" | ||
1413 | clipPathUnits="userSpaceOnUse"> | ||
1414 | <path | ||
1415 | id="path3005" | ||
1416 | d="m 281.646,96.1582 64.208,0 0,-53.8369 -64.208,0 0,53.8369 z" /> | ||
1417 | </clipPath> | ||
1418 | <clipPath | ||
1419 | id="clipPath2987" | ||
1420 | clipPathUnits="userSpaceOnUse"> | ||
1421 | <path | ||
1422 | id="path2989" | ||
1423 | d="m 284.084,95.0332 60.846,0 0,-52.4941 -60.846,0 0,52.4941 z" /> | ||
1424 | </clipPath> | ||
1425 | <clipPath | ||
1426 | id="clipPath2979" | ||
1427 | clipPathUnits="userSpaceOnUse"> | ||
1428 | <path | ||
1429 | id="path2981" | ||
1430 | d="M 0,512 512,512 512,0 0,0 0,512 z" /> | ||
1431 | </clipPath> | ||
1432 | <radialGradient | ||
1433 | id="radialGradient2963" | ||
1434 | spreadMethod="pad" | ||
1435 | gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)" | ||
1436 | gradientUnits="userSpaceOnUse" | ||
1437 | r="1" | ||
1438 | cy="0" | ||
1439 | cx="0" | ||
1440 | fy="0" | ||
1441 | fx="0"> | ||
1442 | <stop | ||
1443 | id="stop2965" | ||
1444 | offset="0" | ||
1445 | style="stop-opacity:1;stop-color:#fff055" /> | ||
1446 | <stop | ||
1447 | id="stop2967" | ||
1448 | offset="0.617706" | ||
1449 | style="stop-opacity:1;stop-color:#f4cf12" /> | ||
1450 | <stop | ||
1451 | id="stop2969" | ||
1452 | offset="0.617706" | ||
1453 | style="stop-opacity:1;stop-color:#f4cf12" /> | ||
1454 | <stop | ||
1455 | id="stop2971" | ||
1456 | offset="1" | ||
1457 | style="stop-opacity:1;stop-color:#d0ae1a" /> | ||
1458 | </radialGradient> | ||
1459 | <clipPath | ||
1460 | id="clipPath2939" | ||
1461 | clipPathUnits="userSpaceOnUse"> | ||
1462 | <path | ||
1463 | id="path2941" | ||
1464 | d="m 336.673,333.388 116.547,0 0,-38.477 -116.547,0 0,38.477 z" /> | ||
1465 | </clipPath> | ||
1466 | <clipPath | ||
1467 | id="clipPath2923" | ||
1468 | clipPathUnits="userSpaceOnUse"> | ||
1469 | <path | ||
1470 | id="path2925" | ||
1471 | d="m 451.423,324.121 6.413,0 0,-23.464 -6.413,0 0,23.464 z" /> | ||
1472 | </clipPath> | ||
1473 | <clipPath | ||
1474 | id="clipPath2907" | ||
1475 | clipPathUnits="userSpaceOnUse"> | ||
1476 | <path | ||
1477 | id="path2909" | ||
1478 | d="m 122.214,421.622 186.265,0 0,-306.113 -186.265,0 0,306.113 z" /> | ||
1479 | </clipPath> | ||
1480 | <mask | ||
1481 | id="mask2881" | ||
1482 | height="1" | ||
1483 | width="1" | ||
1484 | y="0" | ||
1485 | x="0" | ||
1486 | maskUnits="userSpaceOnUse"> | ||
1487 | <image | ||
1488 | id="image2883" | ||
1489 | xlink:href="data:image/png;base64,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" | ||
1490 | height="1" | ||
1491 | width="1" /> | ||
1492 | </mask> | ||
1493 | <mask | ||
1494 | id="mask2869" | ||
1495 | height="1" | ||
1496 | width="1" | ||
1497 | y="0" | ||
1498 | x="0" | ||
1499 | maskUnits="userSpaceOnUse"> | ||
1500 | <g | ||
1501 | id="g2871"> | ||
1502 | <g | ||
1503 | id="g2873" | ||
1504 | clip-path="url(#clipPath2865)"> | ||
1505 | <g | ||
1506 | id="g2875"> | ||
1507 | <g | ||
1508 | id="g2877" | ||
1509 | transform="matrix(506,0,0,484,4.2089844,13.658203)"> | ||
1510 | <image | ||
1511 | id="image2879" | ||
1512 | xlink:href="data:image/png;base64,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" | ||
1513 | transform="matrix(1,0,0,-1,0,1)" | ||
1514 | height="1" | ||
1515 | width="1" /> | ||
1516 | </g> | ||
1517 | </g> | ||
1518 | </g> | ||
1519 | </g> | ||
1520 | </mask> | ||
1521 | <clipPath | ||
1522 | id="clipPath2865" | ||
1523 | clipPathUnits="userSpaceOnUse"> | ||
1524 | <path | ||
1525 | id="path2867" | ||
1526 | d="m 4.20898,497.658 506.00002,0 0,-483.9998 -506.00002,0 0,483.9998 z" /> | ||
1527 | </clipPath> | ||
1528 | <clipPath | ||
1529 | id="clipPath2861" | ||
1530 | clipPathUnits="userSpaceOnUse"> | ||
1531 | <path | ||
1532 | id="path2863" | ||
1533 | d="m 4.20898,497.658 506.00002,0 0,-483.9998 -506.00002,0 0,483.9998 z" /> | ||
1534 | </clipPath> | ||
1535 | <clipPath | ||
1536 | id="clipPath2853" | ||
1537 | clipPathUnits="userSpaceOnUse"> | ||
1538 | <path | ||
1539 | id="path2855" | ||
1540 | d="M 0,512 512,512 512,0 0,0 0,512 z" /> | ||
1541 | </clipPath> | ||
1542 | <radialGradient | ||
1543 | inkscape:collect="always" | ||
1544 | xlink:href="#radialGradient4023" | ||
1545 | id="radialGradient5419" | ||
1546 | gradientUnits="userSpaceOnUse" | ||
1547 | gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)" | ||
1548 | spreadMethod="pad" | ||
1549 | cx="0" | ||
1550 | cy="0" | ||
1551 | fx="0.123642" | ||
1552 | fy="0.00041198701" | ||
1553 | r="1" /> | ||
1554 | <linearGradient | ||
1555 | inkscape:collect="always" | ||
1556 | xlink:href="#linearGradient4107" | ||
1557 | id="linearGradient5421" | ||
1558 | gradientUnits="userSpaceOnUse" | ||
1559 | gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)" | ||
1560 | spreadMethod="pad" | ||
1561 | x1="0" | ||
1562 | y1="0" | ||
1563 | x2="1" | ||
1564 | y2="0" /> | ||
1565 | <linearGradient | ||
1566 | inkscape:collect="always" | ||
1567 | xlink:href="#linearGradient4219" | ||
1568 | id="linearGradient5423" | ||
1569 | gradientUnits="userSpaceOnUse" | ||
1570 | gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)" | ||
1571 | spreadMethod="pad" | ||
1572 | x1="0" | ||
1573 | y1="0" | ||
1574 | x2="1" | ||
1575 | y2="0" /> | ||
1576 | <radialGradient | ||
1577 | inkscape:collect="always" | ||
1578 | xlink:href="#radialGradient3749" | ||
1579 | id="radialGradient5521" | ||
1580 | gradientUnits="userSpaceOnUse" | ||
1581 | gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)" | ||
1582 | spreadMethod="pad" | ||
1583 | cx="0" | ||
1584 | cy="0" | ||
1585 | fx="0.216034" | ||
1586 | fy="-0.00463867" | ||
1587 | r="1" /> | ||
1588 | <radialGradient | ||
1589 | inkscape:collect="always" | ||
1590 | xlink:href="#radialGradient3381" | ||
1591 | id="radialGradient5606" | ||
1592 | gradientUnits="userSpaceOnUse" | ||
1593 | gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)" | ||
1594 | spreadMethod="pad" | ||
1595 | cx="0" | ||
1596 | cy="0" | ||
1597 | fx="-0.00891113" | ||
1598 | fy="0.00097656198" | ||
1599 | r="1" /> | ||
1600 | <radialGradient | ||
1601 | inkscape:collect="always" | ||
1602 | xlink:href="#radialGradient3219" | ||
1603 | id="radialGradient5645" | ||
1604 | gradientUnits="userSpaceOnUse" | ||
1605 | gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)" | ||
1606 | spreadMethod="pad" | ||
1607 | cx="0" | ||
1608 | cy="0" | ||
1609 | fx="0" | ||
1610 | fy="0" | ||
1611 | r="1" /> | ||
1612 | <radialGradient | ||
1613 | inkscape:collect="always" | ||
1614 | xlink:href="#radialGradient2963" | ||
1615 | id="radialGradient5720" | ||
1616 | gradientUnits="userSpaceOnUse" | ||
1617 | gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)" | ||
1618 | spreadMethod="pad" | ||
1619 | cx="0" | ||
1620 | cy="0" | ||
1621 | fx="0" | ||
1622 | fy="0" | ||
1623 | r="1" /> | ||
1624 | <radialGradient | ||
1625 | inkscape:collect="always" | ||
1626 | xlink:href="#radialGradient2963" | ||
1627 | id="radialGradient5785" | ||
1628 | gradientUnits="userSpaceOnUse" | ||
1629 | gradientTransform="matrix(154.71136,-104.55475,-154.62616,-228.80284,302.98437,249.18652)" | ||
1630 | spreadMethod="pad" | ||
1631 | cx="0" | ||
1632 | cy="0" | ||
1633 | fx="0" | ||
1634 | fy="0" | ||
1635 | r="1" /> | ||
1636 | <radialGradient | ||
1637 | inkscape:collect="always" | ||
1638 | xlink:href="#radialGradient3219" | ||
1639 | id="radialGradient5858" | ||
1640 | gradientUnits="userSpaceOnUse" | ||
1641 | gradientTransform="matrix(11.844727,198.37062,355.44763,-21.223816,267.38867,289.70752)" | ||
1642 | spreadMethod="pad" | ||
1643 | cx="0" | ||
1644 | cy="0" | ||
1645 | fx="0" | ||
1646 | fy="0" | ||
1647 | r="1" /> | ||
1648 | <radialGradient | ||
1649 | inkscape:collect="always" | ||
1650 | xlink:href="#radialGradient3381" | ||
1651 | id="radialGradient5895" | ||
1652 | gradientUnits="userSpaceOnUse" | ||
1653 | gradientTransform="matrix(-199.02205,-83.139374,-114.44565,273.96414,212.81348,310.07324)" | ||
1654 | spreadMethod="pad" | ||
1655 | cx="0" | ||
1656 | cy="0" | ||
1657 | fx="-0.00891113" | ||
1658 | fy="0.00097656198" | ||
1659 | r="1" /> | ||
1660 | <radialGradient | ||
1661 | inkscape:collect="always" | ||
1662 | xlink:href="#radialGradient3749" | ||
1663 | id="radialGradient5978" | ||
1664 | gradientUnits="userSpaceOnUse" | ||
1665 | gradientTransform="matrix(-0.4078369,-139.25677,-139.25677,0.4078369,257.96582,347.2417)" | ||
1666 | spreadMethod="pad" | ||
1667 | cx="0" | ||
1668 | cy="0" | ||
1669 | fx="0.216034" | ||
1670 | fy="-0.00463867" | ||
1671 | r="1" /> | ||
1672 | <radialGradient | ||
1673 | inkscape:collect="always" | ||
1674 | xlink:href="#radialGradient4023" | ||
1675 | id="radialGradient5983" | ||
1676 | gradientUnits="userSpaceOnUse" | ||
1677 | gradientTransform="matrix(0.5894928,-114.41545,-97.240326,-0.5010071,258.46582,338.7417)" | ||
1678 | spreadMethod="pad" | ||
1679 | cx="0" | ||
1680 | cy="0" | ||
1681 | fx="0.123642" | ||
1682 | fy="0.00041198701" | ||
1683 | r="1" /> | ||
1684 | <linearGradient | ||
1685 | inkscape:collect="always" | ||
1686 | xlink:href="#linearGradient4107" | ||
1687 | id="linearGradient5985" | ||
1688 | gradientUnits="userSpaceOnUse" | ||
1689 | gradientTransform="matrix(63.891083,-57.330246,-57.330246,-63.891083,176.02295,292.76611)" | ||
1690 | spreadMethod="pad" | ||
1691 | x1="0" | ||
1692 | y1="0" | ||
1693 | x2="1" | ||
1694 | y2="0" /> | ||
1695 | <linearGradient | ||
1696 | inkscape:collect="always" | ||
1697 | xlink:href="#linearGradient4219" | ||
1698 | id="linearGradient5987" | ||
1699 | gradientUnits="userSpaceOnUse" | ||
1700 | gradientTransform="matrix(-30.281815,78.325073,78.325073,30.281815,315.58105,253.38281)" | ||
1701 | spreadMethod="pad" | ||
1702 | x1="0" | ||
1703 | y1="0" | ||
1704 | x2="1" | ||
1705 | y2="0" /> | ||
1706 | </defs> | ||
1707 | <sodipodi:namedview | ||
1708 | id="base" | ||
1709 | pagecolor="#ffffff" | ||
1710 | bordercolor="#666666" | ||
1711 | borderopacity="1.0" | ||
1712 | inkscape:pageopacity="0.0" | ||
1713 | inkscape:pageshadow="2" | ||
1714 | inkscape:zoom="0.35" | ||
1715 | inkscape:cx="-668.74997" | ||
1716 | inkscape:cy="625.35706" | ||
1717 | inkscape:document-units="px" | ||
1718 | inkscape:current-layer="layer1" | ||
1719 | showgrid="false" | ||
1720 | inkscape:window-width="1280" | ||
1721 | inkscape:window-height="750" | ||
1722 | inkscape:window-x="-4" | ||
1723 | inkscape:window-y="-3" | ||
1724 | inkscape:window-maximized="1" /> | ||
1725 | <metadata | ||
1726 | id="metadata7"> | ||
1727 | <rdf:RDF> | ||
1728 | <cc:Work | ||
1729 | rdf:about=""> | ||
1730 | <dc:format>image/svg+xml</dc:format> | ||
1731 | <dc:type | ||
1732 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||
1733 | <dc:title></dc:title> | ||
1734 | </cc:Work> | ||
1735 | </rdf:RDF> | ||
1736 | </metadata> | ||
1737 | <g | ||
1738 | inkscape:label="Calque 1" | ||
1739 | inkscape:groupmode="layer" | ||
1740 | id="layer1" | ||
1741 | transform="translate(-1040.8928,-552.7195)"> | ||
1742 | <g | ||
1743 | id="g2857" | ||
1744 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1745 | <g | ||
1746 | id="g2859" /> | ||
1747 | <g | ||
1748 | id="g2885"> | ||
1749 | <g | ||
1750 | style="opacity:0.5" | ||
1751 | clip-path="url(#clipPath2861)" | ||
1752 | id="g2887"> | ||
1753 | <g | ||
1754 | id="g2889"> | ||
1755 | <g | ||
1756 | id="g2891" /> | ||
1757 | <g | ||
1758 | mask="url(#mask2869)" | ||
1759 | id="g2893"> | ||
1760 | <g | ||
1761 | transform="matrix(506,0,0,484,4.2089844,13.658203)" | ||
1762 | id="g2895"> | ||
1763 | <image | ||
1764 | width="1" | ||
1765 | height="1" | ||
1766 | transform="matrix(1,0,0,-1,0,1)" | ||
1767 | xlink:href="data:image/png;base64,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" | ||
1768 | mask="url(#mask2881)" | ||
1769 | id="image2897" /> | ||
1770 | </g> | ||
1771 | </g> | ||
1772 | </g> | ||
1773 | </g> | ||
1774 | </g> | ||
1775 | </g> | ||
1776 | <g | ||
1777 | id="g2899" | ||
1778 | transform="matrix(1.25,0,0,-1.25,1158.1249,635.688)"> | ||
1779 | <path | ||
1780 | d="m 0,0 c 0,0 -74.25,-54.123 -81.75,-148.625 0,0 -2.5,-21.58 0,-43.08 0,0 12.167,-172.076 203.664,-204.755 0,0 26.92,-3.332 34.836,1.335 0,0 8.583,0.583 11.75,3.333 0,0 16.833,-2.75 28.666,-0.166 0,0 167.584,21.083 192.501,194.588 0,0 3.083,17.911 0.75,43.577 0,0 -4,64.003 -43.834,111.504 0,0 -1,0.338 -1.833,0.338 0,0 -43.168,83.659 -163.833,96.409 0,0 -22.003,2.75 -53.336,0.084 0,0 -47.168,-3.001 -95.335,-31.334 0,0 -2,-2.667 -2,-12.833 0,0 -3.719,1.75 -10.907,0.125 C 19.339,10.5 10.465,8.626 0,0" | ||
1781 | style="fill:#4d4a49;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1782 | id="path2901" /> | ||
1783 | </g> | ||
1784 | <g | ||
1785 | id="g2903" | ||
1786 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1787 | <g | ||
1788 | id="g2905" /> | ||
1789 | <g | ||
1790 | id="g2911"> | ||
1791 | <g | ||
1792 | style="opacity:0.30000299" | ||
1793 | clip-path="url(#clipPath2907)" | ||
1794 | id="g2913"> | ||
1795 | <g | ||
1796 | transform="translate(168.5435,131.6211)" | ||
1797 | id="g2915"> | ||
1798 | <path | ||
1799 | d="m 0,0 c 0,0 -2.834,9.287 5.166,16.162 0,0 44,35 79.5,61.875 0,0 31.138,-2.5 55.269,17.158 0,0 -24.131,-16.033 -52.024,-16.144 0,0 -88.495,-0.006 -92.998,85.267 0,0 0.753,20.719 8.935,35.474 0,0 1.828,4.495 -5.107,13.002 0,0 -29.103,80.243 -36.644,77.118 0,0 -11.645,-5.625 -7.556,-28.875 0,0 1.673,-21.792 19.625,-39.75 0,0 15,-17.875 19.375,-32.437 0,0 -1.767,-11.813 -1.875,-25.229 0,0 -1.125,-63.584 66.125,-84.576 0,0 -2.871,-1.883 -4.693,-3.883 0,0 -82.307,-54.875 -76.525,-70.183 0,0 5.093,-12.692 14.247,-21.066 0,0 16.221,-1.382 9.18,16.087" | ||
1800 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1801 | id="path2917" /> | ||
1802 | </g> | ||
1803 | </g> | ||
1804 | </g> | ||
1805 | </g> | ||
1806 | <g | ||
1807 | id="g2919" | ||
1808 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1809 | <g | ||
1810 | id="g2921" /> | ||
1811 | <g | ||
1812 | id="g2927"> | ||
1813 | <g | ||
1814 | style="opacity:0.30000299" | ||
1815 | clip-path="url(#clipPath2923)" | ||
1816 | id="g2929"> | ||
1817 | <g | ||
1818 | transform="translate(457.5693,300.6567)" | ||
1819 | id="g2931"> | ||
1820 | <path | ||
1821 | d="m 0,0 c 0,0 -3.61,12.751 -6.146,22.311 0,0 1.161,2.565 3.763,0.043 0,0 3.648,-9.853 2.383,-22.354" | ||
1822 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1823 | id="path2933" /> | ||
1824 | </g> | ||
1825 | </g> | ||
1826 | </g> | ||
1827 | </g> | ||
1828 | <g | ||
1829 | id="g2935" | ||
1830 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1831 | <g | ||
1832 | id="g2937" /> | ||
1833 | <g | ||
1834 | id="g2943"> | ||
1835 | <g | ||
1836 | style="opacity:0.30000299" | ||
1837 | clip-path="url(#clipPath2939)" | ||
1838 | id="g2945"> | ||
1839 | <g | ||
1840 | transform="translate(440.7783,326.1772)" | ||
1841 | id="g2947"> | ||
1842 | <path | ||
1843 | d="m 0,0 c 0,0 1.966,-5.894 2.556,-10.644 0,0 0.375,-6.625 -5.75,-4.625 0,0 -28.5,17.552 -100.911,22.48 0,0 1.036,-10.42 15.098,-13.673 0,0 99.652,-29.932 101.448,-24.035 0,0 -1.26,14.978 -6.307,28.094 0,0 -5.203,7.638 -6.134,2.403" | ||
1844 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1845 | id="path2949" /> | ||
1846 | </g> | ||
1847 | </g> | ||
1848 | </g> | ||
1849 | </g> | ||
1850 | <g | ||
1851 | id="g2959" | ||
1852 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1853 | <g | ||
1854 | id="g2961"> | ||
1855 | <path | ||
1856 | d="m 465.456,333.45 c 0,0 2.065,-6.354 -4.33,-8.622 l 0,0 c 0,0 -2.754,-1.165 -6.004,-1.248 l 0,0 c 0,0 1.987,-17.384 3.167,-30.499 l 0,0 c 0,0 -34.166,18.999 -84.167,28.166 l 0,0 c 0,0 -18.667,2.082 -21.084,10.165 l 0,0 c 0,0 -3.169,-5.832 -2.168,-9.666 l 0,0 c 0,0 2.749,-4.082 4.082,-20.082 l 0,0 c 0,0 0.667,-6.578 0,-16.245 l 0,0 c 0,0 -4.91,-83.761 -98.837,-85.836 l 0,0 c 0,0 -43.742,-33.925 -89.242,-69.259 l 0,0 c 0,0 -13.666,-9.998 -4.166,-24.332 l 0,0 c 0,0 42.499,-56.333 103.787,-66.501 l 0,0 c 0,0 16.684,-2.396 28.666,-0.165 l 0,0 c 0,0 167.584,21.082 192.502,194.587 l 0,0 c 0,0 3.082,17.911 0.75,43.577 l 0,0 c 0,0 -4,64.003 -43.834,111.504 l 0,0 c 0,0 -1,0.338 -1.834,0.338 l 0,0 c 0,0 13.048,-21.506 22.712,-55.882" | ||
1857 | style="fill:url(#radialGradient5785);stroke:none" | ||
1858 | id="path2973" /> | ||
1859 | </g> | ||
1860 | </g> | ||
1861 | <g | ||
1862 | id="g2983" | ||
1863 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1864 | <g | ||
1865 | id="g2985" /> | ||
1866 | <g | ||
1867 | id="g2991"> | ||
1868 | <g | ||
1869 | style="opacity:0.60000598" | ||
1870 | clip-path="url(#clipPath2987)" | ||
1871 | id="g2993"> | ||
1872 | <g | ||
1873 | transform="translate(311.3018,42.5391)" | ||
1874 | id="g2995"> | ||
1875 | <path | ||
1876 | d="m 0,0 c 0,0 -18.155,7.994 -27.218,36.619 0,0 32.5,4.875 49,15.875 0,0 15.375,-23.75 11.093,-42.043 0,0 -0.576,-0.225 -1.117,-0.435 0,0 4.149,15.166 -9.851,40.478 0,0 -13.062,-10.562 -47.25,-14.687 0,0 6.125,-23.75 26.373,-35.554 C 1.03,0.253 0.452,0.11 0,0" | ||
1877 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1878 | id="path2997" /> | ||
1879 | </g> | ||
1880 | </g> | ||
1881 | </g> | ||
1882 | </g> | ||
1883 | <g | ||
1884 | id="g2999" | ||
1885 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1886 | <g | ||
1887 | id="g3001" /> | ||
1888 | <g | ||
1889 | id="g3007"> | ||
1890 | <g | ||
1891 | style="opacity:0.19999701" | ||
1892 | clip-path="url(#clipPath3003)" | ||
1893 | id="g3009"> | ||
1894 | <g | ||
1895 | transform="translate(310.4023,42.3213)" | ||
1896 | id="g3011"> | ||
1897 | <path | ||
1898 | d="m 0,0 c 0,0 -23.256,13.087 -28.756,38.712 0,0 39.813,6.75 51,15.125 0,0 14.625,-17.938 13.096,-42.548 0,0 -0.813,-0.322 -1.349,-0.535 0,0 2.128,20.833 -12.059,40.02 0,0 -14.688,-8.062 -48.125,-13.562 0,0 3.375,-21.063 27.592,-36.872 C 1.399,0.34 0.523,0.126 0,0" | ||
1899 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1900 | id="path3013" /> | ||
1901 | </g> | ||
1902 | </g> | ||
1903 | </g> | ||
1904 | </g> | ||
1905 | <g | ||
1906 | id="g3015" | ||
1907 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1908 | <g | ||
1909 | id="g3017" /> | ||
1910 | <g | ||
1911 | id="g3023"> | ||
1912 | <g | ||
1913 | style="opacity:0.60000598" | ||
1914 | clip-path="url(#clipPath3019)" | ||
1915 | id="g3025"> | ||
1916 | <g | ||
1917 | transform="translate(371.3496,65.4961)" | ||
1918 | id="g3027"> | ||
1919 | <path | ||
1920 | d="m 0,0 c 0,0 15.422,11.537 -9.703,44.662 0,0 98.062,41.75 100.812,158.25 0,0 24.399,0 24.399,-39.733 0,0 -0.142,-0.872 -0.364,-2.19 0,0 -0.952,37.673 -23.118,40.256 0,0 7.333,-101.083 -99.334,-157.333 0,0 23.792,-28.875 9.887,-42.518 C 2.579,1.394 1.327,0.712 0,0" | ||
1921 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1922 | id="path3029" /> | ||
1923 | </g> | ||
1924 | </g> | ||
1925 | </g> | ||
1926 | </g> | ||
1927 | <g | ||
1928 | id="g3031" | ||
1929 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1930 | <g | ||
1931 | id="g3033" /> | ||
1932 | <g | ||
1933 | id="g3039"> | ||
1934 | <g | ||
1935 | style="opacity:0.19999701" | ||
1936 | clip-path="url(#clipPath3035)" | ||
1937 | id="g3041"> | ||
1938 | <g | ||
1939 | transform="translate(370.6582,65.1289)" | ||
1940 | id="g3043"> | ||
1941 | <path | ||
1942 | d="m 0,0 c 0,0 13.551,12.654 -11.824,43.904 0,0 101.5,42.5 102.5,161.5 0,0 23.5,2.125 26.328,-36.62 0,0 -0.217,-1.48 -0.569,-3.776 0,0 -0.634,35.021 -23.884,38.646 0,0 5,-107.125 -102.125,-160.25 0,0 22.187,-25.75 11.303,-42.481 C 1.729,0.923 0.941,0.5 0,0" | ||
1943 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1944 | id="path3045" /> | ||
1945 | </g> | ||
1946 | </g> | ||
1947 | </g> | ||
1948 | </g> | ||
1949 | <g | ||
1950 | id="g3047" | ||
1951 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1952 | <g | ||
1953 | id="g3049" /> | ||
1954 | <g | ||
1955 | id="g3055"> | ||
1956 | <g | ||
1957 | style="opacity:0.39999396" | ||
1958 | clip-path="url(#clipPath3051)" | ||
1959 | id="g3057"> | ||
1960 | <g | ||
1961 | transform="translate(478.3242,307.4082)" | ||
1962 | id="g3059"> | ||
1963 | <path | ||
1964 | d="M 0,0 C 0,0 -7.353,36.896 -22.026,62.807 -22.026,62.807 -4.353,37.648 0,0" | ||
1965 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1966 | id="path3061" /> | ||
1967 | </g> | ||
1968 | </g> | ||
1969 | </g> | ||
1970 | </g> | ||
1971 | <g | ||
1972 | id="g3063" | ||
1973 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1974 | <g | ||
1975 | id="g3065" /> | ||
1976 | <g | ||
1977 | id="g3071"> | ||
1978 | <g | ||
1979 | style="opacity:0.39999396" | ||
1980 | clip-path="url(#clipPath3067)" | ||
1981 | id="g3073"> | ||
1982 | <g | ||
1983 | transform="translate(353.3047,328.4604)" | ||
1984 | id="g3075"> | ||
1985 | <path | ||
1986 | d="m 0,0 c 0,0 8.329,-11.576 37.831,-15.409 0,0 4,-0.25 12.086,-1.581 0,0 25.415,-3.002 66,-27.916 0,0 -31.253,23.914 -65.419,29.248 0,0 -38,6.582 -50.498,15.658" | ||
1987 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
1988 | id="path3077" /> | ||
1989 | </g> | ||
1990 | </g> | ||
1991 | </g> | ||
1992 | </g> | ||
1993 | <g | ||
1994 | id="g3079" | ||
1995 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
1996 | <g | ||
1997 | id="g3081" /> | ||
1998 | <g | ||
1999 | id="g3087"> | ||
2000 | <g | ||
2001 | style="opacity:0.60000598" | ||
2002 | clip-path="url(#clipPath3083)" | ||
2003 | id="g3089"> | ||
2004 | <g | ||
2005 | transform="translate(374.1221,321.2466)" | ||
2006 | id="g3091"> | ||
2007 | <path | ||
2008 | d="m 0,0 c 0,0 -18.667,2.083 -21.084,10.166 0,0 -0.36,-1.958 0.505,-3.419 0,0 4.541,-6.71 6.167,-30.834 0,0 0.833,-36.167 -23.353,-60.426 0,0 -8.856,-12.867 -23.794,-22.024 0,0 -20.434,-14.591 -56.448,-15.127 0,0 -43.742,-33.925 -89.242,-69.258 0,0 -13.666,-9.999 -4.166,-24.332 0,0 40.968,-54.303 100.463,-65.902 0,0 -55.04,11.143 -98.794,68.502 0,0 -3.496,5.215 1.083,11.399 0,0 39.419,32.744 72.667,59.363 0,0 70.837,-13.298 116.674,48.203 0,0 22.749,28.165 22.583,67.498 0,0 10e-4,18.085 -3.261,26.191" | ||
2009 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2010 | id="path3093" /> | ||
2011 | </g> | ||
2012 | </g> | ||
2013 | </g> | ||
2014 | </g> | ||
2015 | <g | ||
2016 | id="g3095" | ||
2017 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2018 | <g | ||
2019 | id="g3097" /> | ||
2020 | <g | ||
2021 | id="g3143" | ||
2022 | mask="url(#mask3117)"> | ||
2023 | <g | ||
2024 | id="g3145" /> | ||
2025 | <g | ||
2026 | id="g3151"> | ||
2027 | <g | ||
2028 | clip-path="url(#clipPath3147)" | ||
2029 | id="g3153"> | ||
2030 | <g | ||
2031 | transform="translate(208.2041,66.2012)" | ||
2032 | id="g3155"> | ||
2033 | <path | ||
2034 | d="m 0,0 c 0,0 25.817,-18.793 54.966,-26.11 0,0 1.664,-0.402 3.324,-0.6 0,0 16.684,-2.395 28.666,-0.166 0,0 167.584,21.083 192.502,194.588 C 279.458,167.712 202.171,-22.71 0,0" | ||
2035 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2036 | id="path3157" /> | ||
2037 | </g> | ||
2038 | </g> | ||
2039 | </g> | ||
2040 | </g> | ||
2041 | </g> | ||
2042 | <g | ||
2043 | id="g3159" | ||
2044 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2045 | <g | ||
2046 | id="g3161" /> | ||
2047 | <g | ||
2048 | id="g3167"> | ||
2049 | <g | ||
2050 | style="opacity:0.25" | ||
2051 | clip-path="url(#clipPath3163)" | ||
2052 | id="g3169"> | ||
2053 | <g | ||
2054 | transform="translate(353.0381,331.4126)" | ||
2055 | id="g3171"> | ||
2056 | <path | ||
2057 | d="m 0,0 c 0,0 -3.169,-5.833 -2.169,-9.666 0,0 2.75,-4.083 4.083,-20.083 0,0 0.667,-6.578 0,-16.245 0,0 -1.494,-25.483 -18.595,-48.685 0,0 22.52,19.927 23.353,60.426 0,0 -1.167,22 -6.167,30.834 0,0 -0.834,1.165 -0.505,3.419" | ||
2058 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2059 | id="path3173" /> | ||
2060 | </g> | ||
2061 | </g> | ||
2062 | </g> | ||
2063 | </g> | ||
2064 | <g | ||
2065 | id="g3175" | ||
2066 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2067 | <g | ||
2068 | id="g3177" /> | ||
2069 | <g | ||
2070 | id="g3183"> | ||
2071 | <g | ||
2072 | style="opacity:0.5" | ||
2073 | clip-path="url(#clipPath3179)" | ||
2074 | id="g3185"> | ||
2075 | <g | ||
2076 | transform="translate(451.4229,372.2085)" | ||
2077 | id="g3187"> | ||
2078 | <path | ||
2079 | d="m 0,0 c 0,0 9.161,-20.332 14.033,-38.758 0,0 2.081,-6.37 -4.33,-8.623 0,0 -2.754,-1.164 -6.004,-1.248 0,0 1.988,-17.383 3.167,-30.499 0,0 6.171,-3.38 13.296,-8.797 0,0 5.468,0.672 5.291,7.628 0,0 -4.416,45.664 -25.453,80.297" | ||
2080 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2081 | id="path3189" /> | ||
2082 | </g> | ||
2083 | </g> | ||
2084 | </g> | ||
2085 | </g> | ||
2086 | <g | ||
2087 | id="g3191" | ||
2088 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2089 | <g | ||
2090 | id="g3193" /> | ||
2091 | <g | ||
2092 | id="g3199"> | ||
2093 | <g | ||
2094 | style="opacity:0.25" | ||
2095 | clip-path="url(#clipPath3195)" | ||
2096 | id="g3201"> | ||
2097 | <g | ||
2098 | transform="translate(479.6689,300.1797)" | ||
2099 | id="g3203"> | ||
2100 | <path | ||
2101 | d="m 0,0 c 0,0 -9.126,58.98 -36.925,89.152 0,0 3.886,-6.264 8.679,-17.123 0,0 19.099,-28.55 25.453,-80.298 0,0 0.583,-6.393 -5.291,-7.627 0,0 6.789,-5.14 9.539,3.11 0,0 0,5.766 -1.455,12.786" | ||
2102 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2103 | id="path3205" /> | ||
2104 | </g> | ||
2105 | </g> | ||
2106 | </g> | ||
2107 | </g> | ||
2108 | <g | ||
2109 | id="g3215" | ||
2110 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2111 | <g | ||
2112 | id="g3217"> | ||
2113 | <path | ||
2114 | d="m 225.602,485.784 c 0,0 -47.194,-2.96 -95.361,-31.293 l 0,0 c 0,0 -2.001,-2.667 -2.001,-12.833 l 0,0 c 0,0 -0.922,-29.876 21.581,-69.538 l 0,0 c 0,0 12.913,-17.756 10.497,-26.588 l 0,0 c 0,0 2.583,-1.668 6.249,-2.084 l 0,0 c 0,0 26.584,38.333 61.167,45.833 l 0,0 c 0,0 16.415,5.167 40.164,0.667 l 0,0 c 0,0 23.25,-1.918 47.416,-20.501 l 0,0 c 0,0 8.92,-6.832 17.087,-18.082 l 0,0 c 0,0 7.003,-10.005 24.003,-10.005 l 0,0 c 0,0 36.088,-1.836 74.67,-12.503 l 0,0 c 0,0 10.588,-2.416 15.838,-5.083 l 0,0 c 0,0 9.25,-2.584 16.834,1.499 l 0,0 c 0,0 3.75,1.834 1.667,9.584 l 0,0 c 0,0 -8.027,30.457 -22.669,54.475 l 0,0 c 0,0 -43.14,83.618 -163.804,96.367 l 0,0 c 0,0 -9.986,1.248 -26.077,1.248 l 0,0 c -7.8,0 -17.031,-0.293 -27.261,-1.163" | ||
2115 | style="fill:url(#radialGradient5858);stroke:none" | ||
2116 | id="path3231" /> | ||
2117 | </g> | ||
2118 | </g> | ||
2119 | <g | ||
2120 | id="g3241" | ||
2121 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2122 | <g | ||
2123 | id="g3243" /> | ||
2124 | <g | ||
2125 | id="g3249"> | ||
2126 | <g | ||
2127 | style="opacity:0.60000598" | ||
2128 | clip-path="url(#clipPath3245)" | ||
2129 | id="g3251"> | ||
2130 | <g | ||
2131 | transform="translate(130.2407,454.4907)" | ||
2132 | id="g3253"> | ||
2133 | <path | ||
2134 | d="m 0,0 c 0,0 -2,-2.667 -2,-12.833 0,0 -0.923,-29.875 21.581,-69.538 0,0 12.913,-17.755 10.496,-26.588 0,0 25.141,46.709 77.891,53.501 0,0 15.084,2.125 31.125,0 0,0 40.125,-2.375 69.982,-43.375 0,0 2.331,-4.562 13.268,-5.375 0,0 33.75,-1.125 72.125,-10.875 0,0 18.035,-4.062 31.375,-12 0,0 3.625,-2.062 8.944,-0.847 0,0 1.994,2.504 0.384,8.296 0,0 -8.025,30.458 -22.668,54.475 0,0 -1.999,3.875 -6.339,10.084 0,0 13.969,-21.042 25.529,-62.258 0,0 3.094,-9.228 -3.726,-7.667 0,0 -36.829,16.802 -94.499,22.721 0,0 -28.165,56.446 -92.166,61.613 0,0 -17.5,3.166 -33.666,-0.334 0,0 -49.833,-4.333 -81.167,-48.5 0,0 -21.948,34.786 -25.5,67.167 0,0 -1.5,10.284 -0.969,22.333" | ||
2135 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2136 | id="path3255" /> | ||
2137 | </g> | ||
2138 | </g> | ||
2139 | </g> | ||
2140 | </g> | ||
2141 | <g | ||
2142 | id="g3257" | ||
2143 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2144 | <g | ||
2145 | id="g3259" /> | ||
2146 | <g | ||
2147 | id="g3265"> | ||
2148 | <g | ||
2149 | style="opacity:0.19999701" | ||
2150 | clip-path="url(#clipPath3261)" | ||
2151 | id="g3267"> | ||
2152 | <g | ||
2153 | transform="translate(143.3755,403.8237)" | ||
2154 | id="g3269"> | ||
2155 | <path | ||
2156 | d="m 0,0 c 0,0 4,10 0,20 0,0 -2.562,8.334 -12.166,8.334 0,0 4.314,-20.417 9.604,-29.667 0,0 2.562,-4.334 2.562,1.333" | ||
2157 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2158 | id="path3271" /> | ||
2159 | </g> | ||
2160 | </g> | ||
2161 | </g> | ||
2162 | </g> | ||
2163 | <g | ||
2164 | id="g3273" | ||
2165 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2166 | <g | ||
2167 | id="g3275" /> | ||
2168 | <g | ||
2169 | id="g3281"> | ||
2170 | <g | ||
2171 | style="opacity:0.19999701" | ||
2172 | clip-path="url(#clipPath3277)" | ||
2173 | id="g3283"> | ||
2174 | <g | ||
2175 | transform="translate(172.709,442.4414)" | ||
2176 | id="g3285"> | ||
2177 | <path | ||
2178 | d="m 0,0 c 0,0 2.122,1.261 2.903,3.594 0,0.001 1.511,3 -0.364,5.875 0,0 -1.875,1.875 -7.539,0.247 0,0 -8.361,-1.667 -18.544,-9 0,0 -2.167,-1.082 -3.208,-4.248 0,0 -1.084,-2.125 -0.006,-6.752 0,0 1.922,-8.373 10.758,-2.667" | ||
2179 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2180 | id="path3287" /> | ||
2181 | </g> | ||
2182 | </g> | ||
2183 | </g> | ||
2184 | </g> | ||
2185 | <g | ||
2186 | id="g3289" | ||
2187 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2188 | <g | ||
2189 | id="g3291" /> | ||
2190 | <g | ||
2191 | id="g3337" | ||
2192 | mask="url(#mask3311)"> | ||
2193 | <g | ||
2194 | id="g3339" /> | ||
2195 | <g | ||
2196 | id="g3345"> | ||
2197 | <g | ||
2198 | clip-path="url(#clipPath3341)" | ||
2199 | id="g3347"> | ||
2200 | <g | ||
2201 | transform="translate(128.5127,435.5801)" | ||
2202 | id="g3349"> | ||
2203 | <path | ||
2204 | d="m 0,0 c 0,0 -0.245,1.955 -0.245,3.91 0,0 55.367,37.667 103.273,40 0,0 19.502,1.585 40.334,-0.582 0,0 100.419,-9.749 120.334,-61.25 0,0 -46.745,46.001 -117.748,53.919 0,0 -19.843,2.416 -47.604,-0.002 C 98.344,35.995 50.621,31.827 0,0" | ||
2205 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2206 | id="path3351" /> | ||
2207 | </g> | ||
2208 | </g> | ||
2209 | </g> | ||
2210 | </g> | ||
2211 | </g> | ||
2212 | <g | ||
2213 | id="g3353" | ||
2214 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2215 | <g | ||
2216 | id="g3355" /> | ||
2217 | <g | ||
2218 | id="g3361"> | ||
2219 | <g | ||
2220 | style="opacity:0.25" | ||
2221 | clip-path="url(#clipPath3357)" | ||
2222 | id="g3363"> | ||
2223 | <g | ||
2224 | transform="translate(160.3179,345.5313)" | ||
2225 | id="g3365"> | ||
2226 | <path | ||
2227 | d="m 0,0 c 0,0 2.583,-1.667 6.25,-2.083 0,0 27.185,38.023 61.167,45.833 0,0 17.683,5.002 40.164,0.667 0,0 23.25,-1.918 47.416,-20.5 0,0 8.92,-6.834 17.086,-18.084 0,0 7.003,-10.004 24.003,-10.004 0,0 36.088,-1.836 74.67,-12.503 0,0 10.588,-2.417 15.838,-5.083 0,0 9.578,-2.585 16.834,1.5 0,0 0.744,0.431 1.281,1.286 0,0 -4.459,-1.324 -8.943,0.848 0,0 -14.5,8.125 -31.375,12 0,0 -36.5,9.5 -72.125,10.875 0,0 -10.125,0.375 -13.268,5.375 0,0 -26.357,38.5 -69.982,43.375 0,0 -11.625,2.125 -31.125,0 0,0 -46.875,-3 -77.891,-53.502" | ||
2228 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2229 | id="path3367" /> | ||
2230 | </g> | ||
2231 | </g> | ||
2232 | </g> | ||
2233 | </g> | ||
2234 | <g | ||
2235 | id="g3377" | ||
2236 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2237 | <g | ||
2238 | id="g3379"> | ||
2239 | <path | ||
2240 | d="m 117.334,441.783 c 0,0 -9.146,-1.999 -19.339,-10.499 l 0,0 c 0,0 -74.25,-54.124 -81.75,-148.626 l 0,0 c 0,0 -2.5,-21.58 0,-43.08 l 0,0 c 0,0 12.166,-172.077 203.664,-204.755 l 0,0 c 0,0 26.92,-3.331 34.835,1.335 l 0,0 c 0,0 8.584,0.584 11.75,3.333 l 0,0 c 0,0 -21.575,2.747 -46.133,16.917 l 0,0 c 0,0 -13.402,0.5 -23.184,5.282 l 0,0 c 0,0 -30.437,18.968 -55.426,54.64 l 0,0 c 0,0 -3.209,6.493 -0.001,14.703 l 0,0 c 1,1.625 5.625,17.625 79.5,70.751 l 0,0 c 0,0 0.627,3.035 0.293,7.868 l 0,0 c 0,0 -49.999,13.168 -62.043,67.631 l 0,0 c 0,0 -4.539,25.085 -2.789,41.21 l 0,0 c 0,0 -8.292,20.915 -30.001,49.832 l 0,0 c 0,0 -8.333,9.001 -14.332,31.502 l 0,0 c 0,0 -4.167,16.833 -2.378,25.331 l 0,0 c 0,0 1.544,8.669 8.125,11 l 0,0 c 0,0 4.282,1.914 10.408,-0.586 l 0,0 -0.293,6.086 c 0,0 -1.588,0.816 -4.985,0.816 l 0,0 c -1.577,0 -3.544,-0.176 -5.921,-0.691" | ||
2241 | style="fill:url(#radialGradient5895);stroke:none" | ||
2242 | id="path3391" /> | ||
2243 | </g> | ||
2244 | </g> | ||
2245 | <g | ||
2246 | id="g3401" | ||
2247 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2248 | <g | ||
2249 | id="g3403" /> | ||
2250 | <g | ||
2251 | id="g3409"> | ||
2252 | <g | ||
2253 | style="opacity:0.25" | ||
2254 | clip-path="url(#clipPath3405)" | ||
2255 | id="g3411"> | ||
2256 | <g | ||
2257 | transform="translate(134.7617,357.1118)" | ||
2258 | id="g3413"> | ||
2259 | <path | ||
2260 | d="m 0,0 c 0,0 -4.532,6.713 -8.051,11.213 0,0 -8.669,9.625 -14.333,31.502 0,0 -4.167,16.834 -2.378,25.331 0,0 1.544,8.669 8.125,11 0,0 4.283,1.914 10.408,-0.586 l -0.292,6.086 c 0,0 -4.407,2.125 -10.907,-0.625 0,0 -8.859,-3.703 -11.25,-14.875 0,0 -1.625,-6.25 0,-13.375 0,0 6.125,-37.125 28.678,-55.671" | ||
2261 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2262 | id="path3415" /> | ||
2263 | </g> | ||
2264 | </g> | ||
2265 | </g> | ||
2266 | </g> | ||
2267 | <g | ||
2268 | id="g3417" | ||
2269 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2270 | <g | ||
2271 | id="g3419" /> | ||
2272 | <g | ||
2273 | id="g3425"> | ||
2274 | <g | ||
2275 | style="opacity:0.25" | ||
2276 | clip-path="url(#clipPath3421)" | ||
2277 | id="g3427"> | ||
2278 | <g | ||
2279 | transform="translate(221.25,201.7832)" | ||
2280 | id="g3429"> | ||
2281 | <path | ||
2282 | d="m 0,0 c 0,0 0.627,3.036 0.293,7.869 0,0 -50,13.168 -62.043,67.631 0,0 -4.539,25.084 -2.789,41.209 0,0 -1.913,4.448 -5.254,11.03 0,0 -5.913,-28.533 1.254,-53.529 0,0 10.498,-50.835 68.539,-74.21" | ||
2283 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2284 | id="path3431" /> | ||
2285 | </g> | ||
2286 | </g> | ||
2287 | </g> | ||
2288 | </g> | ||
2289 | <g | ||
2290 | id="g3433" | ||
2291 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2292 | <g | ||
2293 | id="g3435" /> | ||
2294 | <g | ||
2295 | id="g3441"> | ||
2296 | <g | ||
2297 | style="opacity:0.25" | ||
2298 | clip-path="url(#clipPath3437)" | ||
2299 | id="g3443"> | ||
2300 | <g | ||
2301 | transform="translate(221.25,201.7832)" | ||
2302 | id="g3445"> | ||
2303 | <path | ||
2304 | d="m 0,0 c -73.875,-53.125 -78.5,-69.125 -79.5,-70.75 -3.208,-8.21 0,-14.703 0,-14.703 24.99,-35.672 55.428,-54.641 55.428,-54.641 14.281,-10.943 31.813,-15.843 31.813,-15.843 15.801,-4.6 26.897,-4.105 26.897,-4.105 3.118,-0.864 5.793,-1.38 5.793,-1.38 0,0 -27.16,-8.766 -67.785,16.109 0,0 -33.062,18.188 -60.875,61.563 0,0 -4.562,6.25 0,12.25 0,0 14.313,24.875 88.229,71.5" | ||
2305 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2306 | id="path3447" /> | ||
2307 | </g> | ||
2308 | </g> | ||
2309 | </g> | ||
2310 | </g> | ||
2311 | <g | ||
2312 | id="g3449" | ||
2313 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2314 | <g | ||
2315 | id="g3451" /> | ||
2316 | <g | ||
2317 | id="g3457"> | ||
2318 | <g | ||
2319 | style="opacity:0.5" | ||
2320 | clip-path="url(#clipPath3453)" | ||
2321 | id="g3459"> | ||
2322 | <g | ||
2323 | transform="translate(255.8877,41.7412)" | ||
2324 | id="g3461"> | ||
2325 | <path | ||
2326 | d="m 0,0 c 0,0 -16.804,3.911 -35.527,14.666 0,0 -13.402,0.501 -23.183,5.282 C -58.71,19.948 -33.741,0 0,0" | ||
2327 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2328 | id="path3463" /> | ||
2329 | </g> | ||
2330 | </g> | ||
2331 | </g> | ||
2332 | </g> | ||
2333 | <g | ||
2334 | id="g3465" | ||
2335 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2336 | <g | ||
2337 | id="g3467" /> | ||
2338 | <g | ||
2339 | id="g3473"> | ||
2340 | <g | ||
2341 | style="opacity:0.60000598" | ||
2342 | clip-path="url(#clipPath3469)" | ||
2343 | id="g3475"> | ||
2344 | <g | ||
2345 | transform="translate(231.376,40.8203)" | ||
2346 | id="g3477"> | ||
2347 | <path | ||
2348 | d="m 0,0 c 0,0 -51.666,7.005 -97.166,73.172 0,0 -7.667,3.169 11.833,-18.664 C -85.333,54.508 -40,3.174 0,0" | ||
2349 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2350 | id="path3479" /> | ||
2351 | </g> | ||
2352 | </g> | ||
2353 | </g> | ||
2354 | </g> | ||
2355 | <g | ||
2356 | id="g3481" | ||
2357 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2358 | <g | ||
2359 | id="g3483" /> | ||
2360 | <g | ||
2361 | id="g3489"> | ||
2362 | <g | ||
2363 | style="opacity:0.5" | ||
2364 | clip-path="url(#clipPath3485)" | ||
2365 | id="g3491"> | ||
2366 | <g | ||
2367 | transform="translate(239.1875,39.4785)" | ||
2368 | id="g3493"> | ||
2369 | <path | ||
2370 | d="m 0,0 c 0,0 9.557,-3.82 15.557,-3.32 0,0 10.417,1.153 11.75,3.333 0,0 -2.164,0.293 -4.814,0.87 0,0 -8.84,-2.703 -22.493,-0.883" | ||
2371 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2372 | id="path3495" /> | ||
2373 | </g> | ||
2374 | </g> | ||
2375 | </g> | ||
2376 | </g> | ||
2377 | <g | ||
2378 | id="g3497" | ||
2379 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2380 | <g | ||
2381 | id="g3499" /> | ||
2382 | <g | ||
2383 | id="g3505"> | ||
2384 | <g | ||
2385 | style="opacity:0.60000598" | ||
2386 | clip-path="url(#clipPath3501)" | ||
2387 | id="g3507"> | ||
2388 | <g | ||
2389 | transform="translate(119.811,442.2246)" | ||
2390 | id="g3509"> | ||
2391 | <path | ||
2392 | d="m 0,0 c 0,0 1.757,0.293 3.897,0.215 -3.171,0.062 -6.374,-1.406 -6.374,-1.406 -9.672,-4.75 -11.25,-14.875 -11.25,-14.875 -0.797,-3.344 -0.721,-6.75 -0.721,-6.75 0.002,-3.782 0.721,-6.625 0.721,-6.625 8.062,-41.125 28.678,-55.671 28.678,-55.672 0,0 -28.72,22.838 -31.463,63.23 0,0 -0.387,5.504 0.66,8.567 0,0 4.203,11.64 15.852,13.316" | ||
2393 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2394 | id="path3511" /> | ||
2395 | </g> | ||
2396 | </g> | ||
2397 | </g> | ||
2398 | </g> | ||
2399 | <g | ||
2400 | id="g3513" | ||
2401 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2402 | <g | ||
2403 | id="g3515" /> | ||
2404 | <g | ||
2405 | id="g3521"> | ||
2406 | <g | ||
2407 | style="opacity:0.60000598" | ||
2408 | clip-path="url(#clipPath3517)" | ||
2409 | id="g3523"> | ||
2410 | <g | ||
2411 | transform="translate(164.6641,248.5342)" | ||
2412 | id="g3525"> | ||
2413 | <path | ||
2414 | d="m 0,0 c 0,0 16.482,-30.876 56.586,-46.751 0,0 -9.697,-6.344 -16.728,-10.845 0,0 -58.813,21.97 -69.438,90.22 0,0 -2.25,13 0,30.875 0,0 1.75,15.625 8.759,31.005 0,0 4.098,-7.015 7.613,-13.516 0,0 -1.435,-7.708 -1.881,-14.678 0,0 -0.616,-5.623 -0.272,-16.061 0,0 -0.532,-25.437 15.361,-50.249" | ||
2415 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2416 | id="path3527" /> | ||
2417 | </g> | ||
2418 | </g> | ||
2419 | </g> | ||
2420 | </g> | ||
2421 | <g | ||
2422 | id="g3529" | ||
2423 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2424 | <g | ||
2425 | id="g3531" /> | ||
2426 | <g | ||
2427 | id="g3537"> | ||
2428 | <g | ||
2429 | style="opacity:0.19999701" | ||
2430 | clip-path="url(#clipPath3533)" | ||
2431 | id="g3539"> | ||
2432 | <g | ||
2433 | transform="translate(101.9595,411.7412)" | ||
2434 | id="g3541"> | ||
2435 | <path | ||
2436 | d="m 0,0 c 0,0 -7.833,-0.833 -19.917,-19.833 0,0 -5.416,-10.083 -2.25,-23.417 0,0 0.334,-6.916 10.084,-7.5 0,0 1.253,0 2.333,1.75 0,0 3.5,4.667 11.25,6.5 0,0 3,0.917 6.167,0.167 0,0 2.032,-0.75 2,-2.5 0,0 -0.417,-2.5 5.583,-4.25 0,0 2,-0.75 5.083,-1.083 0,0 3.917,0.25 -1.75,5.75 0,0 -17.999,16.835 -17.999,37.416 0,0 0.916,7 -0.584,7" | ||
2437 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2438 | id="path3543" /> | ||
2439 | </g> | ||
2440 | </g> | ||
2441 | </g> | ||
2442 | </g> | ||
2443 | <g | ||
2444 | id="g3545" | ||
2445 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2446 | <g | ||
2447 | id="g3547" /> | ||
2448 | <g | ||
2449 | id="g3593" | ||
2450 | mask="url(#mask3567)"> | ||
2451 | <g | ||
2452 | id="g3595" /> | ||
2453 | <g | ||
2454 | id="g3601"> | ||
2455 | <g | ||
2456 | clip-path="url(#clipPath3597)" | ||
2457 | id="g3603"> | ||
2458 | <g | ||
2459 | transform="translate(100.334,421.5332)" | ||
2460 | id="g3605"> | ||
2461 | <path | ||
2462 | d="m 0,0 c 0,0 -50.625,-40.375 -66.125,-117.75 0,0 -7.125,-36.5 -2.215,-66.875 0,0 10.965,-90.25 89.715,-145.75 0,0 5.833,-3.923 9.613,-0.155 0,0 3.387,4.03 -0.196,7.905 0,0 -5.292,6.375 -26.084,21.077 0,0 -58.583,46.798 -67.083,132.346 0,0 -2.375,26.077 1,47.452 0,0 6.5,68.125 61.375,121.75" | ||
2463 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2464 | id="path3607" /> | ||
2465 | </g> | ||
2466 | </g> | ||
2467 | </g> | ||
2468 | </g> | ||
2469 | </g> | ||
2470 | <g | ||
2471 | id="g3609" | ||
2472 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2473 | <g | ||
2474 | id="g3611" /> | ||
2475 | <g | ||
2476 | id="g3657" | ||
2477 | mask="url(#mask3631)"> | ||
2478 | <g | ||
2479 | id="g3659" /> | ||
2480 | <g | ||
2481 | id="g3665"> | ||
2482 | <g | ||
2483 | clip-path="url(#clipPath3661)" | ||
2484 | id="g3667"> | ||
2485 | <g | ||
2486 | transform="translate(20.8755,246.2832)" | ||
2487 | id="g3669"> | ||
2488 | <path | ||
2489 | d="m 0,0 c 0,0 -5.146,31.5 6.75,69.5 0,0 16.5,62.75 60.5,102.75 0,0 8.474,6.775 17.85,18.368 0,0.001 -53.184,-30.282 -82.85,-120.118 0,0 -11.25,-26.25 -6,-70.75 0,0 2.5,-39.75 20.625,-74.5 0,0 -10.974,26.628 -16.875,74.75" | ||
2490 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2491 | id="path3671" /> | ||
2492 | </g> | ||
2493 | </g> | ||
2494 | </g> | ||
2495 | </g> | ||
2496 | </g> | ||
2497 | <g | ||
2498 | id="g3673" | ||
2499 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2500 | <g | ||
2501 | id="g3675" /> | ||
2502 | <g | ||
2503 | id="g3721" | ||
2504 | mask="url(#mask3695)"> | ||
2505 | <g | ||
2506 | id="g3723" /> | ||
2507 | <g | ||
2508 | id="g3729"> | ||
2509 | <g | ||
2510 | clip-path="url(#clipPath3725)" | ||
2511 | id="g3731"> | ||
2512 | <g | ||
2513 | transform="translate(33.937,174.1846)" | ||
2514 | id="g3733"> | ||
2515 | <path | ||
2516 | d="m 0,0 c 0,0 19.959,-51.526 65.609,-87.589 0,0 44.475,-40 120.363,-51.772 0,0 26.921,-3.331 34.835,1.335 0,0 8.584,0.583 11.75,3.333 0,0 -2.065,0.331 -4.813,0.87 0,0 -27.303,-9.37 -67.785,16.109 0,0 -14.685,8.354 -29.537,23.164 0,0 -67.213,10.461 -130.422,94.55" | ||
2517 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2518 | id="path3735" /> | ||
2519 | </g> | ||
2520 | </g> | ||
2521 | </g> | ||
2522 | </g> | ||
2523 | </g> | ||
2524 | <g | ||
2525 | id="g3745" | ||
2526 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2527 | <g | ||
2528 | id="g3747"> | ||
2529 | <path | ||
2530 | d="m 187.52,352.375 c 0,0 -24.064,-21.749 -24.036,-57.791 l 0,0 c 0,0 -1.714,-28.958 21.66,-53.833 l 0,0 c 0,0 24.251,-30.086 70.166,-30.041 l 0,0 c 0,0 34.084,-2.209 64.178,24.603 l 0,0 c 0,0 26.91,21.188 26.91,59.98 l 0,0 c 0,0 2.621,28.832 -22.753,55.957 l 0,0 c 0,0 -25.001,28.567 -69.078,28.545 l 0,0 c 0,0 -0.447,0.022 -1.282,0.022 l 0,0 c -6.674,0 -38.213,-1.445 -65.765,-27.442" | ||
2531 | style="fill:url(#radialGradient5978);stroke:none" | ||
2532 | id="path3755" /> | ||
2533 | </g> | ||
2534 | </g> | ||
2535 | <g | ||
2536 | id="g3765" | ||
2537 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2538 | <g | ||
2539 | id="g3767" /> | ||
2540 | <g | ||
2541 | id="g3813" | ||
2542 | mask="url(#mask3787)"> | ||
2543 | <g | ||
2544 | id="g3815" /> | ||
2545 | <g | ||
2546 | id="g3821"> | ||
2547 | <g | ||
2548 | clip-path="url(#clipPath3817)" | ||
2549 | id="g3823"> | ||
2550 | <g | ||
2551 | transform="translate(222.21,356.0747)" | ||
2552 | id="g3825"> | ||
2553 | <path | ||
2554 | d="m 0,0 c 0,0 -29.5,-4.583 -33,-54.333 0,0 -0.081,-18.999 6.833,-22.499 0,0 3.834,-1.167 3.417,6.333 0,0 -1.083,10.501 0.917,28.418 0,0 2.083,26.666 21.833,42.081" | ||
2555 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2556 | id="path3827" /> | ||
2557 | </g> | ||
2558 | </g> | ||
2559 | </g> | ||
2560 | </g> | ||
2561 | </g> | ||
2562 | <g | ||
2563 | id="g3829" | ||
2564 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2565 | <g | ||
2566 | id="g3831" /> | ||
2567 | <g | ||
2568 | id="g3877" | ||
2569 | mask="url(#mask3851)"> | ||
2570 | <g | ||
2571 | id="g3879" /> | ||
2572 | <g | ||
2573 | id="g3885"> | ||
2574 | <g | ||
2575 | clip-path="url(#clipPath3881)" | ||
2576 | id="g3887"> | ||
2577 | <g | ||
2578 | transform="translate(259.3965,363.3457)" | ||
2579 | id="g3889"> | ||
2580 | <path | ||
2581 | d="m 0,0 c 0,0 -18.313,1.938 -29.688,-4.125 0,0 -9.312,-5.188 -15.062,-14.125 0,0 -2.063,-5.375 3.062,-4.125 0,0 8,7.312 17.125,12.875 0,0 10.063,6.187 24.563,9.5" | ||
2582 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2583 | id="path3891" /> | ||
2584 | </g> | ||
2585 | </g> | ||
2586 | </g> | ||
2587 | </g> | ||
2588 | </g> | ||
2589 | <g | ||
2590 | id="g3893" | ||
2591 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2592 | <g | ||
2593 | id="g3895" /> | ||
2594 | <g | ||
2595 | id="g3943" | ||
2596 | mask="url(#mask3917)"> | ||
2597 | <g | ||
2598 | id="g3945" /> | ||
2599 | <g | ||
2600 | id="g3951"> | ||
2601 | <g | ||
2602 | clip-path="url(#clipPath3947)" | ||
2603 | id="g3953"> | ||
2604 | <g | ||
2605 | transform="translate(342.459,312.9082)" | ||
2606 | id="g3955"> | ||
2607 | <path | ||
2608 | d="m 0,0 c 0,0 -12.5,61 -81.375,66.5 0,0 -49.375,6 -81.375,-38.626 0,0 27.833,33.543 76.834,34.958 0,0 65.333,2.918 85.916,-62.832" | ||
2609 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2610 | id="path3957" /> | ||
2611 | </g> | ||
2612 | </g> | ||
2613 | </g> | ||
2614 | </g> | ||
2615 | </g> | ||
2616 | <g | ||
2617 | id="g3959" | ||
2618 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2619 | <g | ||
2620 | id="g3961" /> | ||
2621 | <g | ||
2622 | id="g4011" | ||
2623 | mask="url(#mask3985)"> | ||
2624 | <g | ||
2625 | id="g4013" /> | ||
2626 | <g | ||
2627 | id="g4033"> | ||
2628 | <g | ||
2629 | clip-path="url(#clipPath4015)" | ||
2630 | id="g4035"> | ||
2631 | <g | ||
2632 | id="g4037"> | ||
2633 | <g | ||
2634 | id="g4039"> | ||
2635 | <g | ||
2636 | id="g4041"> | ||
2637 | <g | ||
2638 | id="g4043"> | ||
2639 | <path | ||
2640 | d="m 185.145,240.751 c 0,0 24.25,-30.086 70.166,-30.041 0,0 34.084,-2.209 64.177,24.603 0,0 26.91,21.188 26.91,59.98 0,0 2.622,28.832 -22.753,55.957 0,0 -25,28.567 -69.079,28.545 0,0 -36.046,1.83 -67.046,-27.42 0,0 -24.064,-21.75 -24.036,-57.791 0,0 -1.714,-28.958 21.661,-53.833" | ||
2641 | style="fill:url(#radialGradient5983);stroke:none" | ||
2642 | id="path4045" /> | ||
2643 | </g> | ||
2644 | </g> | ||
2645 | </g> | ||
2646 | </g> | ||
2647 | </g> | ||
2648 | </g> | ||
2649 | </g> | ||
2650 | </g> | ||
2651 | <g | ||
2652 | id="g4047" | ||
2653 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2654 | <g | ||
2655 | id="g4049" /> | ||
2656 | <g | ||
2657 | id="g4095" | ||
2658 | mask="url(#mask4069)"> | ||
2659 | <g | ||
2660 | id="g4097" /> | ||
2661 | <g | ||
2662 | id="g4113"> | ||
2663 | <g | ||
2664 | clip-path="url(#clipPath4099)" | ||
2665 | id="g4115"> | ||
2666 | <g | ||
2667 | id="g4117"> | ||
2668 | <g | ||
2669 | id="g4119"> | ||
2670 | <g | ||
2671 | id="g4121"> | ||
2672 | <g | ||
2673 | id="g4123"> | ||
2674 | <path | ||
2675 | d="m 176.834,320.471 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 16.5,-53.125 84.625,-27.812 0,0 -11,-11.313 -12.75,-21.063 0,0 -34.75,-5.625 -59.25,10.75 0,0 -36.375,24.625 -23.875,87.188" | ||
2676 | style="fill:url(#linearGradient5985);stroke:none" | ||
2677 | id="path4125" /> | ||
2678 | </g> | ||
2679 | </g> | ||
2680 | </g> | ||
2681 | </g> | ||
2682 | </g> | ||
2683 | </g> | ||
2684 | </g> | ||
2685 | </g> | ||
2686 | <g | ||
2687 | id="g4127" | ||
2688 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2689 | <g | ||
2690 | id="g4129" /> | ||
2691 | <g | ||
2692 | id="g4135"> | ||
2693 | <g | ||
2694 | style="opacity:0.14999402" | ||
2695 | clip-path="url(#clipPath4131)" | ||
2696 | id="g4137"> | ||
2697 | <g | ||
2698 | transform="translate(182.7368,275.4937)" | ||
2699 | id="g4139"> | ||
2700 | <path | ||
2701 | d="m 0,0 c 0,0 2.597,-3.117 5.347,-4.085 0,0 16.5,-53.125 84.625,-27.813 0,0 -2.623,-2.697 -5.511,-6.593 0,0 -66.989,-24.677 -84.461,38.491" | ||
2702 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2703 | id="path4141" /> | ||
2704 | </g> | ||
2705 | </g> | ||
2706 | </g> | ||
2707 | </g> | ||
2708 | <g | ||
2709 | id="g4143" | ||
2710 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2711 | <g | ||
2712 | id="g4145" /> | ||
2713 | <g | ||
2714 | id="g4151"> | ||
2715 | <g | ||
2716 | style="opacity:0.39999396" | ||
2717 | clip-path="url(#clipPath4147)" | ||
2718 | id="g4153"> | ||
2719 | <g | ||
2720 | transform="translate(176.834,320.4707)" | ||
2721 | id="g4155"> | ||
2722 | <path | ||
2723 | d="m 0,0 c 0,0 -5.875,-37.75 11.25,-49.063 0,0 -17.875,5.5 -11.25,49.063" | ||
2724 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2725 | id="path4157" /> | ||
2726 | </g> | ||
2727 | </g> | ||
2728 | </g> | ||
2729 | </g> | ||
2730 | <g | ||
2731 | id="g4159" | ||
2732 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2733 | <g | ||
2734 | id="g4161" /> | ||
2735 | <g | ||
2736 | id="g4207" | ||
2737 | mask="url(#mask4181)"> | ||
2738 | <g | ||
2739 | id="g4209" /> | ||
2740 | <g | ||
2741 | id="g4225"> | ||
2742 | <g | ||
2743 | clip-path="url(#clipPath4211)" | ||
2744 | id="g4227"> | ||
2745 | <g | ||
2746 | id="g4229"> | ||
2747 | <g | ||
2748 | id="g4231"> | ||
2749 | <g | ||
2750 | id="g4233"> | ||
2751 | <g | ||
2752 | id="g4235"> | ||
2753 | <path | ||
2754 | d="m 310.584,343.158 c 0,0 35.125,-45 -10.813,-86 0,0 -13.062,-7.75 -15.423,-31.722 0,0 103.695,48.722 26.236,117.722" | ||
2755 | style="fill:url(#linearGradient5987);stroke:none" | ||
2756 | id="path4237" /> | ||
2757 | </g> | ||
2758 | </g> | ||
2759 | </g> | ||
2760 | </g> | ||
2761 | </g> | ||
2762 | </g> | ||
2763 | </g> | ||
2764 | </g> | ||
2765 | <g | ||
2766 | id="g4239" | ||
2767 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2768 | <g | ||
2769 | id="g4241" /> | ||
2770 | <g | ||
2771 | id="g4247"> | ||
2772 | <g | ||
2773 | style="opacity:0.14999402" | ||
2774 | clip-path="url(#clipPath4243)" | ||
2775 | id="g4249"> | ||
2776 | <g | ||
2777 | transform="translate(326.7637,325.7793)" | ||
2778 | id="g4251"> | ||
2779 | <path | ||
2780 | d="m 0,0 c 0,0 -5.93,8.316 -16.18,17.379 0,0 41.25,-45.188 -12.437,-88.875 0,0 44.645,5.458 28.617,71.496" | ||
2781 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2782 | id="path4253" /> | ||
2783 | </g> | ||
2784 | </g> | ||
2785 | </g> | ||
2786 | </g> | ||
2787 | <g | ||
2788 | id="g4255" | ||
2789 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2790 | <g | ||
2791 | id="g4257" /> | ||
2792 | <g | ||
2793 | id="g4263"> | ||
2794 | <g | ||
2795 | style="opacity:0.39999396" | ||
2796 | clip-path="url(#clipPath4259)" | ||
2797 | id="g4265"> | ||
2798 | <g | ||
2799 | transform="translate(310.584,343.1582)" | ||
2800 | id="g4267"> | ||
2801 | <path | ||
2802 | d="m 0,0 c 0,0 35.125,-45 -10.813,-86 0,0 48.938,35.25 10.813,86" | ||
2803 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2804 | id="path4269" /> | ||
2805 | </g> | ||
2806 | </g> | ||
2807 | </g> | ||
2808 | </g> | ||
2809 | <g | ||
2810 | id="g4271" | ||
2811 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2812 | <g | ||
2813 | id="g4273" /> | ||
2814 | <g | ||
2815 | id="g4319" | ||
2816 | mask="url(#mask4293)"> | ||
2817 | <g | ||
2818 | id="g4321" /> | ||
2819 | <g | ||
2820 | id="g4327"> | ||
2821 | <g | ||
2822 | clip-path="url(#clipPath4323)" | ||
2823 | id="g4329"> | ||
2824 | <g | ||
2825 | transform="translate(306.876,364.4912)" | ||
2826 | id="g4331"> | ||
2827 | <path | ||
2828 | d="m 0,0 c 0,0 -6.917,1 -15.5,-3.167 0,0 -8.167,-1.916 -12.25,0.584 0,0 -30.75,17.916 -67.416,-4.417 0,0 -18.916,-7.667 -27.832,-15.333 0,0 46.664,63.499 122.998,22.333" | ||
2829 | style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2830 | id="path4333" /> | ||
2831 | </g> | ||
2832 | </g> | ||
2833 | </g> | ||
2834 | </g> | ||
2835 | </g> | ||
2836 | <g | ||
2837 | id="g4335" | ||
2838 | transform="matrix(1.25,0,0,-1.25,1035.6316,1174.792)"> | ||
2839 | <g | ||
2840 | id="g4337" /> | ||
2841 | <g | ||
2842 | id="g4343"> | ||
2843 | <g | ||
2844 | style="opacity:0.39999396" | ||
2845 | clip-path="url(#clipPath4339)" | ||
2846 | id="g4345"> | ||
2847 | <g | ||
2848 | transform="translate(279.126,361.9077)" | ||
2849 | id="g4347"> | ||
2850 | <path | ||
2851 | d="m 0,0 c 0,0 -30.75,17.917 -67.416,-4.417 0,0 31.249,23.917 67.416,4.417" | ||
2852 | style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" | ||
2853 | id="path4349" /> | ||
2854 | </g> | ||
2855 | </g> | ||
2856 | </g> | ||
2857 | </g> | ||
2858 | </g> | ||
2859 | </svg> | ||
diff --git a/web/assets/appicons/android_full.png b/web/assets/appicons/android_full.png new file mode 100644 index 00000000..1d777800 --- /dev/null +++ b/web/assets/appicons/android_full.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/appstore.svg b/web/assets/appicons/appstore.svg new file mode 100644 index 00000000..ac111e59 --- /dev/null +++ b/web/assets/appicons/appstore.svg | |||
@@ -0,0 +1,129 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | ||
3 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||
4 | <svg version="1.1" id="US_UK_Download_on_the" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" | ||
5 | x="0px" y="0px" width="135px" height="40px" viewBox="0 0 135 40" enable-background="new 0 0 135 40" xml:space="preserve"> | ||
6 | <g> | ||
7 | <path fill="#A6A6A6" d="M130.197,40H4.729C2.122,40,0,37.872,0,35.267V4.726C0,2.12,2.122,0,4.729,0h125.468 | ||
8 | C132.803,0,135,2.12,135,4.726v30.541C135,37.872,132.803,40,130.197,40L130.197,40z"/> | ||
9 | <path d="M134.032,35.268c0,2.116-1.714,3.83-3.834,3.83H4.729c-2.119,0-3.839-1.714-3.839-3.83V4.725 | ||
10 | c0-2.115,1.72-3.835,3.839-3.835h125.468c2.121,0,3.834,1.72,3.834,3.835L134.032,35.268L134.032,35.268z"/> | ||
11 | <g> | ||
12 | <g> | ||
13 | <path fill="#FFFFFF" d="M30.128,19.784c-0.029-3.223,2.639-4.791,2.761-4.864c-1.511-2.203-3.853-2.504-4.676-2.528 | ||
14 | c-1.967-0.207-3.875,1.177-4.877,1.177c-1.022,0-2.565-1.157-4.228-1.123c-2.14,0.033-4.142,1.272-5.24,3.196 | ||
15 | c-2.266,3.923-0.576,9.688,1.595,12.859c1.086,1.553,2.355,3.287,4.016,3.226c1.625-0.067,2.232-1.036,4.193-1.036 | ||
16 | c1.943,0,2.513,1.036,4.207,0.997c1.744-0.028,2.842-1.56,3.89-3.127c1.255-1.78,1.759-3.533,1.779-3.623 | ||
17 | C33.507,24.924,30.161,23.647,30.128,19.784z"/> | ||
18 | <path fill="#FFFFFF" d="M26.928,10.306c0.874-1.093,1.472-2.58,1.306-4.089c-1.265,0.056-2.847,0.875-3.758,1.944 | ||
19 | c-0.806,0.942-1.526,2.486-1.34,3.938C24.557,12.205,26.016,11.382,26.928,10.306z"/> | ||
20 | </g> | ||
21 | </g> | ||
22 | <g> | ||
23 | <path fill="#FFFFFF" d="M53.645,31.504h-2.271l-1.244-3.909h-4.324l-1.185,3.909h-2.211l4.284-13.308h2.646L53.645,31.504z | ||
24 | M49.755,25.955L48.63,22.48c-0.119-0.355-0.342-1.191-0.671-2.507h-0.04c-0.131,0.566-0.342,1.402-0.632,2.507l-1.105,3.475 | ||
25 | H49.755z"/> | ||
26 | <path fill="#FFFFFF" d="M64.662,26.588c0,1.632-0.441,2.922-1.323,3.869c-0.79,0.843-1.771,1.264-2.942,1.264 | ||
27 | c-1.264,0-2.172-0.454-2.725-1.362h-0.04v5.055h-2.132V25.067c0-1.026-0.027-2.079-0.079-3.159h1.875l0.119,1.521h0.04 | ||
28 | c0.711-1.146,1.79-1.718,3.238-1.718c1.132,0,2.077,0.447,2.833,1.342C64.284,23.949,64.662,25.127,64.662,26.588z M62.49,26.666 | ||
29 | c0-0.934-0.21-1.704-0.632-2.31c-0.461-0.632-1.08-0.948-1.856-0.948c-0.526,0-1.004,0.176-1.431,0.523 | ||
30 | c-0.428,0.35-0.708,0.807-0.839,1.373c-0.066,0.264-0.099,0.48-0.099,0.65v1.6c0,0.698,0.214,1.287,0.642,1.768 | ||
31 | s0.984,0.721,1.668,0.721c0.803,0,1.428-0.31,1.875-0.928C62.266,28.496,62.49,27.68,62.49,26.666z"/> | ||
32 | <path fill="#FFFFFF" d="M75.699,26.588c0,1.632-0.441,2.922-1.324,3.869c-0.789,0.843-1.77,1.264-2.941,1.264 | ||
33 | c-1.264,0-2.172-0.454-2.724-1.362H68.67v5.055h-2.132V25.067c0-1.026-0.027-2.079-0.079-3.159h1.875l0.119,1.521h0.04 | ||
34 | c0.71-1.146,1.789-1.718,3.238-1.718c1.131,0,2.076,0.447,2.834,1.342C75.32,23.949,75.699,25.127,75.699,26.588z M73.527,26.666 | ||
35 | c0-0.934-0.211-1.704-0.633-2.31c-0.461-0.632-1.078-0.948-1.855-0.948c-0.527,0-1.004,0.176-1.432,0.523 | ||
36 | c-0.428,0.35-0.707,0.807-0.838,1.373c-0.065,0.264-0.099,0.48-0.099,0.65v1.6c0,0.698,0.214,1.287,0.64,1.768 | ||
37 | c0.428,0.48,0.984,0.721,1.67,0.721c0.803,0,1.428-0.31,1.875-0.928C73.303,28.496,73.527,27.68,73.527,26.666z"/> | ||
38 | <path fill="#FFFFFF" d="M88.039,27.772c0,1.132-0.393,2.053-1.182,2.764c-0.867,0.777-2.074,1.165-3.625,1.165 | ||
39 | c-1.432,0-2.58-0.276-3.449-0.829l0.494-1.777c0.936,0.566,1.963,0.85,3.082,0.85c0.803,0,1.428-0.182,1.877-0.544 | ||
40 | c0.447-0.362,0.67-0.848,0.67-1.454c0-0.54-0.184-0.995-0.553-1.364c-0.367-0.369-0.98-0.712-1.836-1.029 | ||
41 | c-2.33-0.869-3.494-2.142-3.494-3.816c0-1.094,0.408-1.991,1.225-2.689c0.814-0.699,1.9-1.048,3.258-1.048 | ||
42 | c1.211,0,2.217,0.211,3.02,0.632l-0.533,1.738c-0.75-0.408-1.598-0.612-2.547-0.612c-0.75,0-1.336,0.185-1.756,0.553 | ||
43 | c-0.355,0.329-0.533,0.73-0.533,1.205c0,0.526,0.203,0.961,0.611,1.303c0.355,0.316,1,0.658,1.936,1.027 | ||
44 | c1.145,0.461,1.986,1,2.527,1.618C87.77,26.081,88.039,26.852,88.039,27.772z"/> | ||
45 | <path fill="#FFFFFF" d="M95.088,23.508h-2.35v4.659c0,1.185,0.414,1.777,1.244,1.777c0.381,0,0.697-0.033,0.947-0.099l0.059,1.619 | ||
46 | c-0.42,0.157-0.973,0.236-1.658,0.236c-0.842,0-1.5-0.257-1.975-0.77c-0.473-0.514-0.711-1.376-0.711-2.587v-4.837h-1.4v-1.6h1.4 | ||
47 | v-1.757l2.094-0.632v2.389h2.35V23.508z"/> | ||
48 | <path fill="#FFFFFF" d="M105.691,26.627c0,1.475-0.422,2.686-1.264,3.633c-0.883,0.975-2.055,1.461-3.516,1.461 | ||
49 | c-1.408,0-2.529-0.467-3.365-1.401s-1.254-2.113-1.254-3.534c0-1.487,0.43-2.705,1.293-3.652c0.861-0.948,2.023-1.422,3.484-1.422 | ||
50 | c1.408,0,2.541,0.467,3.396,1.402C105.283,24.021,105.691,25.192,105.691,26.627z M103.479,26.696 | ||
51 | c0-0.885-0.189-1.644-0.572-2.277c-0.447-0.766-1.086-1.148-1.914-1.148c-0.857,0-1.508,0.383-1.955,1.148 | ||
52 | c-0.383,0.634-0.572,1.405-0.572,2.317c0,0.885,0.189,1.644,0.572,2.276c0.461,0.766,1.105,1.148,1.936,1.148 | ||
53 | c0.814,0,1.453-0.39,1.914-1.168C103.281,28.347,103.479,27.58,103.479,26.696z"/> | ||
54 | <path fill="#FFFFFF" d="M112.621,23.783c-0.211-0.039-0.436-0.059-0.672-0.059c-0.75,0-1.33,0.283-1.738,0.85 | ||
55 | c-0.355,0.5-0.533,1.132-0.533,1.895v5.035h-2.131l0.02-6.574c0-1.106-0.027-2.113-0.08-3.021h1.857l0.078,1.836h0.059 | ||
56 | c0.225-0.631,0.58-1.139,1.066-1.52c0.475-0.343,0.988-0.514,1.541-0.514c0.197,0,0.375,0.014,0.533,0.039V23.783z"/> | ||
57 | <path fill="#FFFFFF" d="M122.156,26.252c0,0.382-0.025,0.704-0.078,0.967h-6.396c0.025,0.948,0.334,1.673,0.928,2.173 | ||
58 | c0.539,0.447,1.236,0.671,2.092,0.671c0.947,0,1.811-0.151,2.588-0.454l0.334,1.48c-0.908,0.396-1.98,0.593-3.217,0.593 | ||
59 | c-1.488,0-2.656-0.438-3.506-1.313c-0.848-0.875-1.273-2.05-1.273-3.524c0-1.447,0.395-2.652,1.186-3.613 | ||
60 | c0.828-1.026,1.947-1.539,3.355-1.539c1.383,0,2.43,0.513,3.141,1.539C121.873,24.047,122.156,25.055,122.156,26.252z | ||
61 | M120.123,25.699c0.014-0.632-0.125-1.178-0.414-1.639c-0.369-0.593-0.936-0.889-1.699-0.889c-0.697,0-1.264,0.289-1.697,0.869 | ||
62 | c-0.355,0.461-0.566,1.014-0.631,1.658H120.123z"/> | ||
63 | </g> | ||
64 | <g> | ||
65 | <g> | ||
66 | <path fill="#FFFFFF" d="M49.05,10.009c0,1.177-0.353,2.063-1.058,2.658c-0.653,0.549-1.581,0.824-2.783,0.824 | ||
67 | c-0.596,0-1.106-0.026-1.533-0.078V6.982c0.557-0.09,1.157-0.136,1.805-0.136c1.145,0,2.008,0.249,2.59,0.747 | ||
68 | C48.723,8.156,49.05,8.961,49.05,10.009z M47.945,10.038c0-0.763-0.202-1.348-0.606-1.756c-0.404-0.407-0.994-0.611-1.771-0.611 | ||
69 | c-0.33,0-0.611,0.022-0.844,0.068v4.889c0.129,0.02,0.365,0.029,0.708,0.029c0.802,0,1.421-0.223,1.857-0.669 | ||
70 | S47.945,10.892,47.945,10.038z"/> | ||
71 | <path fill="#FFFFFF" d="M54.909,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.009,0.718-1.727,0.718 | ||
72 | c-0.692,0-1.243-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.712-0.698 | ||
73 | c0.692,0,1.248,0.229,1.669,0.688C54.708,9.757,54.909,10.333,54.909,11.037z M53.822,11.071c0-0.435-0.094-0.808-0.281-1.119 | ||
74 | c-0.22-0.376-0.533-0.564-0.94-0.564c-0.421,0-0.741,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138 | ||
75 | c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.714-0.191,0.94-0.574 | ||
76 | C53.725,11.882,53.822,11.506,53.822,11.071z"/> | ||
77 | <path fill="#FFFFFF" d="M62.765,8.719l-1.475,4.714h-0.96l-0.611-2.047c-0.155-0.511-0.281-1.019-0.379-1.523h-0.019 | ||
78 | c-0.091,0.518-0.217,1.025-0.379,1.523l-0.649,2.047h-0.971l-1.387-4.714h1.077l0.533,2.241c0.129,0.53,0.235,1.035,0.32,1.513 | ||
79 | h0.019c0.078-0.394,0.207-0.896,0.389-1.503l0.669-2.25h0.854l0.641,2.202c0.155,0.537,0.281,1.054,0.378,1.552h0.029 | ||
80 | c0.071-0.485,0.178-1.002,0.32-1.552l0.572-2.202H62.765z"/> | ||
81 | <path fill="#FFFFFF" d="M68.198,13.433H67.15v-2.7c0-0.832-0.316-1.248-0.95-1.248c-0.311,0-0.562,0.114-0.757,0.343 | ||
82 | c-0.193,0.229-0.291,0.499-0.291,0.808v2.796h-1.048v-3.366c0-0.414-0.013-0.863-0.038-1.349h0.921l0.049,0.737h0.029 | ||
83 | c0.122-0.229,0.304-0.418,0.543-0.569c0.284-0.176,0.602-0.265,0.95-0.265c0.44,0,0.806,0.142,1.097,0.427 | ||
84 | c0.362,0.349,0.543,0.87,0.543,1.562V13.433z"/> | ||
85 | <path fill="#FFFFFF" d="M71.088,13.433h-1.047V6.556h1.047V13.433z"/> | ||
86 | <path fill="#FFFFFF" d="M77.258,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.01,0.718-1.727,0.718 | ||
87 | c-0.693,0-1.244-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.711-0.698 | ||
88 | c0.693,0,1.248,0.229,1.67,0.688C77.057,9.757,77.258,10.333,77.258,11.037z M76.17,11.071c0-0.435-0.094-0.808-0.281-1.119 | ||
89 | c-0.219-0.376-0.533-0.564-0.939-0.564c-0.422,0-0.742,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138 | ||
90 | c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.713-0.191,0.939-0.574 | ||
91 | C76.074,11.882,76.17,11.506,76.17,11.071z"/> | ||
92 | <path fill="#FFFFFF" d="M82.33,13.433h-0.941l-0.078-0.543h-0.029c-0.322,0.433-0.781,0.65-1.377,0.65 | ||
93 | c-0.445,0-0.805-0.143-1.076-0.427c-0.246-0.258-0.369-0.579-0.369-0.96c0-0.576,0.24-1.015,0.723-1.319 | ||
94 | c0.482-0.304,1.16-0.453,2.033-0.446V10.3c0-0.621-0.326-0.931-0.979-0.931c-0.465,0-0.875,0.117-1.229,0.349l-0.213-0.688 | ||
95 | c0.438-0.271,0.979-0.407,1.617-0.407c1.232,0,1.85,0.65,1.85,1.95v1.736C82.262,12.78,82.285,13.155,82.33,13.433z | ||
96 | M81.242,11.813v-0.727c-1.156-0.02-1.734,0.297-1.734,0.95c0,0.246,0.066,0.43,0.201,0.553c0.135,0.123,0.307,0.184,0.512,0.184 | ||
97 | c0.23,0,0.445-0.073,0.641-0.218c0.197-0.146,0.318-0.331,0.363-0.558C81.236,11.946,81.242,11.884,81.242,11.813z"/> | ||
98 | <path fill="#FFFFFF" d="M88.285,13.433h-0.93l-0.049-0.757h-0.029c-0.297,0.576-0.803,0.864-1.514,0.864 | ||
99 | c-0.568,0-1.041-0.223-1.416-0.669s-0.562-1.025-0.562-1.736c0-0.763,0.203-1.381,0.611-1.853c0.395-0.44,0.879-0.66,1.455-0.66 | ||
100 | c0.633,0,1.076,0.213,1.328,0.64h0.02V6.556h1.049v5.607C88.248,12.622,88.26,13.045,88.285,13.433z M87.199,11.445v-0.786 | ||
101 | c0-0.136-0.01-0.246-0.029-0.33c-0.059-0.252-0.186-0.464-0.379-0.635c-0.195-0.171-0.43-0.257-0.701-0.257 | ||
102 | c-0.391,0-0.697,0.155-0.922,0.466c-0.223,0.311-0.336,0.708-0.336,1.193c0,0.466,0.107,0.844,0.322,1.135 | ||
103 | c0.227,0.31,0.533,0.465,0.916,0.465c0.344,0,0.619-0.129,0.828-0.388C87.1,12.069,87.199,11.781,87.199,11.445z"/> | ||
104 | <path fill="#FFFFFF" d="M97.248,11.037c0,0.725-0.207,1.319-0.621,1.785c-0.434,0.479-1.008,0.718-1.727,0.718 | ||
105 | c-0.691,0-1.242-0.229-1.654-0.689c-0.41-0.459-0.615-1.038-0.615-1.736c0-0.73,0.211-1.329,0.635-1.794s0.994-0.698,1.713-0.698 | ||
106 | c0.691,0,1.248,0.229,1.668,0.688C97.047,9.757,97.248,10.333,97.248,11.037z M96.162,11.071c0-0.435-0.094-0.808-0.281-1.119 | ||
107 | c-0.221-0.376-0.533-0.564-0.941-0.564c-0.42,0-0.74,0.188-0.961,0.564c-0.188,0.311-0.281,0.69-0.281,1.138 | ||
108 | c0,0.435,0.094,0.808,0.281,1.119c0.227,0.376,0.543,0.564,0.951,0.564c0.4,0,0.715-0.191,0.941-0.574 | ||
109 | C96.064,11.882,96.162,11.506,96.162,11.071z"/> | ||
110 | <path fill="#FFFFFF" d="M102.883,13.433h-1.047v-2.7c0-0.832-0.316-1.248-0.951-1.248c-0.311,0-0.562,0.114-0.756,0.343 | ||
111 | s-0.291,0.499-0.291,0.808v2.796h-1.049v-3.366c0-0.414-0.012-0.863-0.037-1.349h0.92l0.049,0.737h0.029 | ||
112 | c0.123-0.229,0.305-0.418,0.543-0.569c0.285-0.176,0.602-0.265,0.951-0.265c0.439,0,0.805,0.142,1.096,0.427 | ||
113 | c0.363,0.349,0.543,0.87,0.543,1.562V13.433z"/> | ||
114 | <path fill="#FFFFFF" d="M109.936,9.504h-1.154v2.29c0,0.582,0.205,0.873,0.611,0.873c0.188,0,0.344-0.016,0.467-0.049 | ||
115 | l0.027,0.795c-0.207,0.078-0.479,0.117-0.814,0.117c-0.414,0-0.736-0.126-0.969-0.378c-0.234-0.252-0.35-0.676-0.35-1.271V9.504 | ||
116 | h-0.689V8.719h0.689V7.855l1.027-0.31v1.173h1.154V9.504z"/> | ||
117 | <path fill="#FFFFFF" d="M115.484,13.433h-1.049v-2.68c0-0.845-0.316-1.268-0.949-1.268c-0.486,0-0.818,0.245-1,0.735 | ||
118 | c-0.031,0.103-0.049,0.229-0.049,0.377v2.835h-1.047V6.556h1.047v2.841h0.02c0.33-0.517,0.803-0.775,1.416-0.775 | ||
119 | c0.434,0,0.793,0.142,1.078,0.427c0.355,0.355,0.533,0.883,0.533,1.581V13.433z"/> | ||
120 | <path fill="#FFFFFF" d="M121.207,10.853c0,0.188-0.014,0.346-0.039,0.475h-3.143c0.014,0.466,0.164,0.821,0.455,1.067 | ||
121 | c0.266,0.22,0.609,0.33,1.029,0.33c0.465,0,0.889-0.074,1.271-0.223l0.164,0.728c-0.447,0.194-0.973,0.291-1.582,0.291 | ||
122 | c-0.73,0-1.305-0.215-1.721-0.645c-0.418-0.43-0.625-1.007-0.625-1.731c0-0.711,0.193-1.303,0.582-1.775 | ||
123 | c0.406-0.504,0.955-0.756,1.648-0.756c0.678,0,1.193,0.252,1.541,0.756C121.068,9.77,121.207,10.265,121.207,10.853z | ||
124 | M120.207,10.582c0.008-0.311-0.061-0.579-0.203-0.805c-0.182-0.291-0.459-0.437-0.834-0.437c-0.342,0-0.621,0.142-0.834,0.427 | ||
125 | c-0.174,0.227-0.277,0.498-0.311,0.815H120.207z"/> | ||
126 | </g> | ||
127 | </g> | ||
128 | </g> | ||
129 | </svg> | ||
diff --git a/web/assets/appicons/browser.png b/web/assets/appicons/browser.png new file mode 100644 index 00000000..b70e3b8d --- /dev/null +++ b/web/assets/appicons/browser.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/fdroid.png b/web/assets/appicons/fdroid.png new file mode 100644 index 00000000..23af0e40 --- /dev/null +++ b/web/assets/appicons/fdroid.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/google_play.png b/web/assets/appicons/google_play.png new file mode 100644 index 00000000..c77b7464 --- /dev/null +++ b/web/assets/appicons/google_play.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/iOS_full.png b/web/assets/appicons/iOS_full.png new file mode 100644 index 00000000..bd016399 --- /dev/null +++ b/web/assets/appicons/iOS_full.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/ios.png b/web/assets/appicons/ios.png new file mode 100644 index 00000000..e68fe5e9 --- /dev/null +++ b/web/assets/appicons/ios.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/opera-for-computers_icon_128x128.png b/web/assets/appicons/opera-for-computers_icon_128x128.png new file mode 100644 index 00000000..a4fc59e9 --- /dev/null +++ b/web/assets/appicons/opera-for-computers_icon_128x128.png | |||
Binary files differ | |||
diff --git a/web/assets/appicons/windows.jpeg b/web/assets/appicons/windows.jpeg new file mode 100644 index 00000000..027baf56 --- /dev/null +++ b/web/assets/appicons/windows.jpeg | |||
Binary files differ | |||
diff --git a/web/assets/appicons/windowsstore.png b/web/assets/appicons/windowsstore.png new file mode 100644 index 00000000..0c27fa04 --- /dev/null +++ b/web/assets/appicons/windowsstore.png | |||
Binary files differ | |||