aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/theming/appinfo/routes.php5
-rw-r--r--apps/theming/css/settings-admin.css148
-rw-r--r--apps/theming/css/settings-admin.scss168
-rw-r--r--apps/theming/lib/Command/UpdateConfig.php10
-rw-r--r--apps/theming/lib/Controller/UserThemeController.php25
-rw-r--r--apps/theming/lib/ImageManager.php37
-rw-r--r--apps/theming/lib/Jobs/MigrateBackgroundImages.php1
-rw-r--r--apps/theming/lib/Listener/BeforeTemplateRenderedListener.php20
-rw-r--r--apps/theming/lib/Service/BackgroundService.php29
-rw-r--r--apps/theming/lib/Themes/CommonThemeTrait.php33
-rw-r--r--apps/theming/lib/Themes/DefaultTheme.php5
-rw-r--r--apps/theming/lib/ThemingDefaults.php15
-rw-r--r--apps/theming/src/UserThemes.vue25
-rw-r--r--apps/theming/src/components/BackgroundSettings.vue215
-rw-r--r--apps/theming/src/helpers/getBackgroundUrl.js49
-rw-r--r--apps/theming/src/helpers/prefixWithBaseUrl.js25
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php2
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php8
-rw-r--r--core/css/apps.css2
-rw-r--r--core/css/apps.scss2
-rw-r--r--core/css/guest.css4
-rw-r--r--core/css/server.css2
-rw-r--r--core/img/app-background.jpgbin190294 -> 0 bytes
-rw-r--r--core/img/background.pngbin9621 -> 0 bytes
-rw-r--r--core/img/background.svg1
25 files changed, 585 insertions, 246 deletions
diff --git a/apps/theming/appinfo/routes.php b/apps/theming/appinfo/routes.php
index 0b51b22dbb7..eceb447620d 100644
--- a/apps/theming/appinfo/routes.php
+++ b/apps/theming/appinfo/routes.php
@@ -88,6 +88,11 @@ return [
'url' => '/background/{type}',
'verb' => 'POST',
],
+ [
+ 'name' => 'userTheme#deleteBackground',
+ 'url' => '/background/custom',
+ 'verb' => 'DELETE',
+ ],
],
'ocs' => [
[
diff --git a/apps/theming/css/settings-admin.css b/apps/theming/css/settings-admin.css
new file mode 100644
index 00000000000..1979387c5dd
--- /dev/null
+++ b/apps/theming/css/settings-admin.css
@@ -0,0 +1,148 @@
+#theming input {
+ width: 230px;
+}
+#theming input:focus,
+#theming input:active {
+ padding-right: 30px;
+}
+#theming .fileupload {
+ display: none;
+}
+#theming div > label {
+ position: relative;
+}
+#theming .theme-undo {
+ position: absolute;
+ top: -7px;
+ right: 4px;
+ cursor: pointer;
+ opacity: 0.3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ visibility: hidden;
+ height: 32px;
+ width: 32px;
+}
+#theming form.uploadButton {
+ width: 411px;
+ display: flex;
+ align-items: center;
+}
+#theming form .theme-undo,
+#theming .theme-remove-bg {
+ cursor: pointer;
+ opacity: 0.3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ float: right;
+ position: relative;
+ top: 4px;
+ right: 0px;
+ visibility: visible;
+ height: 32px;
+ width: 32px;
+ margin-left: auto;
+}
+#theming form .theme-undo:not([style*="display:"]) ~ .theme-remove-bg {
+ margin-left: 0;
+}
+#theming input[type=text]:hover + .theme-undo,
+#theming input[type=text] + .theme-undo:hover,
+#theming input[type=text]:focus + .theme-undo,
+#theming input[type=text]:active + .theme-undo,
+#theming input[type=url]:hover + .theme-undo,
+#theming input[type=url] + .theme-undo:hover,
+#theming input[type=url]:focus + .theme-undo,
+#theming input[type=url]:active + .theme-undo {
+ visibility: visible;
+}
+#theming label span {
+ display: inline-block;
+ min-width: 175px;
+ max-width: 175px;
+ white-space: wrap;
+ padding: 8px 0px;
+ vertical-align: top;
+}
+#theming .icon-upload,
+#theming .uploadButton .icon-loading-small {
+ padding: 8px 20px;
+ width: 20px;
+ margin: 2px 0px;
+ min-height: 32px;
+ display: inline-block;
+}
+#theming #theming_settings_status {
+ height: 26px;
+ margin: 10px;
+}
+#theming #theming_settings_loading {
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+}
+#theming #theming_settings_msg {
+ vertical-align: middle;
+ border-radius: 3px;
+}
+#theming #theming-preview {
+ width: 230px;
+ height: 140px;
+ background-size: cover;
+ background-position: center center;
+ text-align: center;
+ margin-left: 178px;
+ margin-top: 10px;
+ margin-bottom: 20px;
+ cursor: pointer;
+ background-color: var(--color-primary-default);
+ background-image: var(--image-background-default, var(--image-background-plain, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
+}
+#theming #theming-preview #theming-preview-logo {
+ cursor: pointer;
+ width: 20%;
+ height: 20%;
+ margin-top: 20px;
+ display: inline-block;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-image: var(--image-logo, url("../../../core/img/logo/logo.svg"));
+}
+#theming .theming-hints {
+ margin-top: 20px;
+}
+#theming .image-preview {
+ display: inline-block;
+ width: 80px;
+ height: 36px;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+}
+#theming #theming-preview-logoheader {
+ background-image: var(--image-logoheader);
+}
+#theming #theming-preview-favicon {
+ background-image: var(--image-favicon);
+}
+#theming #user-theming {
+ margin-top: 44px;
+ display: flex;
+}
+#theming #user-theming > div {
+ max-width: 400px;
+ margin-bottom: 44px;
+}
+
+/* transition effects for theming value changes */
+#header {
+ transition: background-color 500ms linear;
+}
+#header svg, #header img {
+ transition: 500ms filter linear;
+}
+
+/*# sourceMappingURL=settings-admin.css.map */
diff --git a/apps/theming/css/settings-admin.scss b/apps/theming/css/settings-admin.scss
new file mode 100644
index 00000000000..f34dea52698
--- /dev/null
+++ b/apps/theming/css/settings-admin.scss
@@ -0,0 +1,168 @@
+#theming {
+ input {
+ width: 230px;
+ }
+
+ input:focus,
+ input:active {
+ padding-right: 30px;
+ }
+
+ .fileupload {
+ display: none;
+ }
+
+ div > label {
+ position: relative;
+ }
+
+ .theme-undo {
+ position: absolute;
+ top: -7px; // input padding
+ right: 4px; // input right margin + border
+ cursor: pointer;
+ opacity: .3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ visibility: hidden;
+ height: 32px; // height of input
+ width: 32px; // height of input
+ }
+ form.uploadButton {
+ width: 411px;
+ display: flex;
+ align-items: center;
+ }
+ form .theme-undo,
+ .theme-remove-bg {
+ cursor: pointer;
+ opacity: .3;
+ padding: 7px;
+ vertical-align: top;
+ display: inline-block;
+ float: right;
+ position: relative;
+ top: 4px;
+ right: 0px;
+ visibility: visible;
+ height: 32px;
+ width: 32px;
+ // right align
+ margin-left: auto;
+ }
+ form .theme-undo:not([style*="display:"]) ~ .theme-remove-bg {
+ // Only align the undo button if both are shown
+ margin-left: 0;
+ }
+
+ input[type='text']:hover + .theme-undo,
+ input[type='text'] + .theme-undo:hover,
+ input[type='text']:focus + .theme-undo,
+ input[type='text']:active + .theme-undo,
+ input[type='url']:hover + .theme-undo,
+ input[type='url'] + .theme-undo:hover,
+ input[type='url']:focus + .theme-undo,
+ input[type='url']:active + .theme-undo{
+ visibility: visible;
+ }
+
+ label span {
+ display: inline-block;
+ min-width: 175px;
+ max-width: 175px;
+ white-space: wrap;
+ padding: 8px 0px;
+ vertical-align: top;
+ }
+
+ .icon-upload,
+ .uploadButton .icon-loading-small {
+ padding: 8px 20px;
+ width: 20px;
+ margin: 2px 0px;
+ min-height: 32px;
+ display: inline-block;
+ }
+
+ #theming_settings_status {
+ height: 26px;
+ margin: 10px;
+ }
+
+ #theming_settings_loading {
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 10px;
+ }
+
+ #theming_settings_msg {
+ vertical-align: middle;
+ border-radius: 3px;
+ }
+
+ #theming-preview {
+ width: 230px;
+ height: 140px;
+ background-size: cover;
+ background-position: center center;
+ text-align: center;
+ margin-left: 178px;
+ margin-top: 10px;
+ margin-bottom: 20px;
+ cursor: pointer;
+ background-color: var(--color-primary-default);
+ background-image: var(--image-background-default, var(--image-background-plain, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
+
+ #theming-preview-logo {
+ cursor: pointer;
+ width: 20%;
+ height: 20%;
+ margin-top: 20px;
+ display: inline-block;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));
+ }
+ }
+
+ .theming-hints {
+ margin-top: 20px;
+ }
+
+ .image-preview {
+ display: inline-block;
+ width: 80px;
+ height: 36px;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+
+ #theming-preview-logoheader {
+ // Only using --image-logoheader to show the custom value only
+ background-image: var(--image-logoheader);
+ }
+
+ #theming-preview-favicon {
+ background-image: var(--image-favicon);
+ }
+
+ #user-theming {
+ margin-top: 44px;
+ display: flex;
+ & > div {
+ max-width: 400px;
+ margin-bottom: 44px;
+ }
+ }
+}
+
+/* transition effects for theming value changes */
+#header {
+ transition: background-color 500ms linear;
+ svg, img {
+ transition: 500ms filter linear;
+ }
+}
diff --git a/apps/theming/lib/Command/UpdateConfig.php b/apps/theming/lib/Command/UpdateConfig.php
index c327c92492f..58dfcff8a8e 100644
--- a/apps/theming/lib/Command/UpdateConfig.php
+++ b/apps/theming/lib/Command/UpdateConfig.php
@@ -36,10 +36,6 @@ class UpdateConfig extends Command {
'name', 'url', 'imprintUrl', 'privacyUrl', 'slogan', 'color', 'disable-user-theming'
];
- public const SUPPORTED_IMAGE_KEYS = [
- 'background', 'logo', 'favicon', 'logoheader'
- ];
-
private $themingDefaults;
private $imageManager;
private $config;
@@ -87,14 +83,14 @@ class UpdateConfig extends Command {
$value = $this->config->getAppValue('theming', $key, '');
$output->writeln('- ' . $key . ': ' . $value . '');
}
- foreach (self::SUPPORTED_IMAGE_KEYS as $key) {
+ foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $key) {
$value = $this->config->getAppValue('theming', $key . 'Mime', '');
$output->writeln('- ' . $key . ': ' . $value . '');
}
return 0;
}
- if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
+ if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) {
$output->writeln('<error>Invalid config key provided</error>');
return 1;
}
@@ -115,7 +111,7 @@ class UpdateConfig extends Command {
return 0;
}
- if (in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
+ if (in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) {
if (strpos($value, '/') !== 0) {
$output->writeln('<error>The image file needs to be provided as an absolute path: ' . $value . '.</error>');
return 1;
diff --git a/apps/theming/lib/Controller/UserThemeController.php b/apps/theming/lib/Controller/UserThemeController.php
index 635dad34736..888ab9a0ca8 100644
--- a/apps/theming/lib/Controller/UserThemeController.php
+++ b/apps/theming/lib/Controller/UserThemeController.php
@@ -155,21 +155,34 @@ class UserThemeController extends OCSController {
/**
* @NoAdminRequired
*/
- public function setBackground(string $type = 'default', string $value = ''): JSONResponse {
+ public function deleteBackground(): JSONResponse {
+ $currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0');
+ $this->backgroundService->deleteBackgroundImage();
+ return new JSONResponse([
+ 'backgroundImage' => null,
+ 'backgroundColor' => $this->themingDefaults->getColorPrimary(),
+ 'version' => $currentVersion,
+ ]);
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function setBackground(string $type = BackgroundService::BACKGROUND_DEFAULT, string $value = ''): JSONResponse {
$currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0');
try {
switch ($type) {
- case 'shipped':
+ case BackgroundService::BACKGROUND_SHIPPED:
$this->backgroundService->setShippedBackground($value);
break;
- case 'custom':
+ case BackgroundService::BACKGROUND_CUSTOM:
$this->backgroundService->setFileBackground($value);
break;
case 'color':
$this->backgroundService->setColorBackground($value);
break;
- case 'default':
+ case BackgroundService::BACKGROUND_DEFAULT:
$this->backgroundService->setDefaultBackground();
break;
default:
@@ -185,8 +198,8 @@ class UserThemeController extends OCSController {
$this->config->setUserValue($this->userId, Application::APP_ID, 'userCacheBuster', (string)$currentVersion);
return new JSONResponse([
- 'type' => $type,
- 'value' => $value,
+ 'backgroundImage' => $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT),
+ 'backgroundColor' => $this->themingDefaults->getColorPrimary(),
'version' => $currentVersion,
]);
}
diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php
index 88a733580fc..ce9c2525802 100644
--- a/apps/theming/lib/ImageManager.php
+++ b/apps/theming/lib/ImageManager.php
@@ -33,6 +33,8 @@
*/
namespace OCA\Theming;
+use OCA\Theming\AppInfo\Application;
+use OCA\Theming\Service\BackgroundService;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
@@ -45,7 +47,7 @@ use OCP\ITempManager;
use OCP\IURLGenerator;
class ImageManager {
- public const SupportedImageKeys = ['background', 'logo', 'logoheader', 'favicon'];
+ public const SUPPORTED_IMAGE_KEYS = ['background', 'logo', 'logoheader', 'favicon'];
/** @var IConfig */
private $config;
@@ -74,8 +76,14 @@ class ImageManager {
$this->appData = $appData;
}
- public function getImageUrl(string $key, bool $useSvg = true): string {
- $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0');
+ /**
+ * Get a globally defined image (admin theming settings)
+ *
+ * @param string $key the image key
+ * @return string the image url
+ */
+ public function getImageUrl(string $key): string {
+ $cacheBusterCounter = $this->config->getAppValue(Application::APP_ID, 'cachebuster', '0');
if ($this->hasImage($key)) {
return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => $key ]) . '?v=' . $cacheBusterCounter;
}
@@ -86,13 +94,16 @@ class ImageManager {
case 'favicon':
return $this->urlGenerator->imagePath('core', 'logo/logo.png') . '?v=' . $cacheBusterCounter;
case 'background':
- return $this->urlGenerator->imagePath('core', 'background.png') . '?v=' . $cacheBusterCounter;
+ return $this->urlGenerator->linkTo(Application::APP_ID, "img/background/" . BackgroundService::DEFAULT_BACKGROUND);
}
return '';
}
- public function getImageUrlAbsolute(string $key, bool $useSvg = true): string {
- return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key, $useSvg));
+ /**
+ * Get the absolute url. See getImageUrl
+ */
+ public function getImageUrlAbsolute(string $key): string {
+ return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key));
}
/**
@@ -137,6 +148,20 @@ class ImageManager {
}
/**
+ * @return array<string, array{mime: string, url: string}>
+ */
+ public function getCustomImages(): array {
+ $images = [];
+ foreach (self::SUPPORTED_IMAGE_KEYS as $key) {
+ $images[$key] = [
+ 'mime' => $this->config->getAppValue('theming', $key . 'Mime', ''),
+ 'url' => $this->getImageUrl($key),
+ ];
+ }
+ return $images;
+ }
+
+ /**
* Get folder for current theming files
*
* @return ISimpleFolder
diff --git a/apps/theming/lib/Jobs/MigrateBackgroundImages.php b/apps/theming/lib/Jobs/MigrateBackgroundImages.php
index 54c0d591e40..4b0cf187bae 100644
--- a/apps/theming/lib/Jobs/MigrateBackgroundImages.php
+++ b/apps/theming/lib/Jobs/MigrateBackgroundImages.php
@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OCA\Theming\Jobs;
use OCA\Theming\AppInfo\Application;
+use OCP\App\IAppManager;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\BackgroundJob\QueuedJob;
diff --git a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
index a6e0923e643..d0fa9690602 100644
--- a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
+++ b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
@@ -84,16 +84,32 @@ class BeforeTemplateRenderedListener implements IEventListener {
if (!empty($user)) {
$userId = $user->getUID();
+ /** User background */
$this->initialState->provideInitialState(
- 'background',
- $this->config->getUserValue($userId, Application::APP_ID, 'background', 'default'),
+ 'backgroundImage',
+ $this->config->getUserValue($userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT),
);
+ /** User color */
+ $this->initialState->provideInitialState(
+ 'backgroundColor',
+ $this->config->getUserValue($userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT),
+ );
+
+ /**
+ * Admin background. `backgroundColor` if disabled,
+ * mime type if defined and empty by default
+ */
$this->initialState->provideInitialState(
'themingDefaultBackground',
$this->config->getAppValue('theming', 'backgroundMime', ''),
);
+ $this->initialState->provideInitialState(
+ 'defaultShippedBackground',
+ BackgroundService::DEFAULT_BACKGROUND,
+ );
+ /** List of all shipped backgrounds */
$this->initialState->provideInitialState(
'shippedBackgrounds',
BackgroundService::SHIPPED_BACKGROUNDS,
diff --git a/apps/theming/lib/Service/BackgroundService.php b/apps/theming/lib/Service/BackgroundService.php
index d49878b11b0..667ca99a1f9 100644
--- a/apps/theming/lib/Service/BackgroundService.php
+++ b/apps/theming/lib/Service/BackgroundService.php
@@ -48,6 +48,12 @@ class BackgroundService {
public const DEFAULT_COLOR = '#0082c9';
public const DEFAULT_ACCESSIBLE_COLOR = '#006aa3';
+ public const BACKGROUND_SHIPPED = 'shipped';
+ public const BACKGROUND_CUSTOM = 'custom';
+ public const BACKGROUND_DEFAULT = 'default';
+ public const BACKGROUND_DISABLED = 'disabled';
+
+ public const DEFAULT_BACKGROUND = 'kamil-porembinski-clouds.jpg';
public const SHIPPED_BACKGROUNDS = [
'anatoly-mikhaltsov-butterfly-wing-scale.jpg' => [
'attribution' => 'Butterfly wing scale (Anatoly Mikhaltsov, CC BY-SA)',
@@ -153,7 +159,7 @@ class BackgroundService {
}
public function setDefaultBackground(): void {
- $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background');
+ $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background_image');
}
/**
@@ -165,7 +171,7 @@ class BackgroundService {
* @throws NoUserException
*/
public function setFileBackground($path): void {
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', 'custom');
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DEFAULT);
$userFolder = $this->rootFolder->getUserFolder($this->userId);
/** @var File $file */
@@ -183,27 +189,28 @@ class BackgroundService {
if (!array_key_exists($fileName, self::SHIPPED_BACKGROUNDS)) {
throw new InvalidArgumentException('The given file name is invalid');
}
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $fileName);
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', $fileName);
+ $this->setColorBackground(self::SHIPPED_BACKGROUNDS[$fileName]['primary_color']);
}
public function setColorBackground(string $color): void {
if (!preg_match('/^#([0-9a-f]{3}|[0-9a-f]{6})$/i', $color)) {
throw new InvalidArgumentException('The given color is invalid');
}
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $color);
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_color', $color);
+ }
+
+ public function deleteBackgroundImage(): void {
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DISABLED);
}
public function getBackground(): ?ISimpleFile {
- $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background', 'default');
- if ($background === 'custom') {
+ $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DEFAULT);
+ if ($background === self::BACKGROUND_CUSTOM) {
try {
return $this->getAppDataFolder()->getFile('background.jpg');
} catch (NotFoundException | NotPermittedException $e) {
- try {
- // Fallback can be removed in 26
- $dashboardFolder = $this->appDataFactory->get('dashboard');
- return $dashboardFolder->getFolder($this->userId)->getFile('background.jpg');
- } catch (\Throwable $t) {}
+ return null;
}
}
return null;
diff --git a/apps/theming/lib/Themes/CommonThemeTrait.php b/apps/theming/lib/Themes/CommonThemeTrait.php
index 360c335fc7d..c58a3fd43e3 100644
--- a/apps/theming/lib/Themes/CommonThemeTrait.php
+++ b/apps/theming/lib/Themes/CommonThemeTrait.php
@@ -88,6 +88,10 @@ trait CommonThemeTrait {
$variables = [];
+ // Default last fallback values
+ $variables['--image-background-default'] = $backgroundDeleted ?: "url('" . $this->themingDefaults->getBackground() . "')";
+ $variables['--color-background-plain'] = $this->defaultPrimaryColor;
+
// If primary as background has been request or if we have a custom primary colour
// let's not define the background image
if ($backgroundDeleted) {
@@ -98,7 +102,7 @@ trait CommonThemeTrait {
}
// Register image variables only if custom-defined
- foreach (ImageManager::SupportedImageKeys as $image) {
+ foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $image) {
if ($this->imageManager->hasImage($image)) {
$imageUrl = $this->imageManager->getImageUrl($image);
if ($image === 'background') {
@@ -110,6 +114,7 @@ trait CommonThemeTrait {
$variables['--image-background-size'] = 'cover';
$variables['--image-background-default'] = "url('" . $imageUrl . "')";
}
+ // --image-background is overriden by user theming
$variables["--image-$image"] = "url('" . $imageUrl . "')";
}
}
@@ -129,32 +134,32 @@ trait CommonThemeTrait {
if ($user !== null
&& !$this->themingDefaults->isUserThemingDisabled()
&& $this->appManager->isEnabledForUser(Application::APP_ID)) {
- $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', 'default');
+ $backgroundImage = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT);
$currentVersion = (int)$this->config->getUserValue($user->getUID(), Application::APP_ID, 'userCacheBuster', '0');
- // The user uploaded a custom background
- if ($themingBackground === 'custom') {
- $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8);
+ // The user removed the background
+ if ($backgroundImage === BackgroundService::BACKGROUND_DISABLED) {
return [
- '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')",
- // TODO: implement primary color from custom background --color-background-plain
+ '--image-background' => 'no',
+ '--color-background-plain' => $this->themingDefaults->getColorPrimary(),
];
}
- // The user picked a shipped background
- if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground])) {
+ // The user uploaded a custom background
+ if ($backgroundImage === BackgroundService::BACKGROUND_CUSTOM) {
+ $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8);
return [
- '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "/img/background/$themingBackground") . "')",
+ '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')",
'--color-background-plain' => $this->themingDefaults->getColorPrimary(),
- '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no',
];
}
- // The user picked a static colour
- if (substr($themingBackground, 0, 1) === '#') {
+ // The user picked a shipped background
+ if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage])) {
return [
- '--image-background' => 'no',
+ '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "img/background/$backgroundImage") . "')",
'--color-background-plain' => $this->themingDefaults->getColorPrimary(),
+ '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no',
];
}
}
diff --git a/apps/theming/lib/Themes/DefaultTheme.php b/apps/theming/lib/Themes/DefaultTheme.php
index 85e437a82e5..100d34864fc 100644
--- a/apps/theming/lib/Themes/DefaultTheme.php
+++ b/apps/theming/lib/Themes/DefaultTheme.php
@@ -190,11 +190,6 @@ class DefaultTheme implements ITheme {
'--background-invert-if-dark' => 'no',
'--background-invert-if-bright' => 'invert(100%)',
'--background-image-invert-if-bright' => 'no',
-
- // Default last fallback values
- '--image-background' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')",
- '--image-background-default' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')",
- '--color-background-plain' => $this->defaultPrimaryColor,
];
// Primary variables
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php
index 16ea7a14c0f..42965ca6795 100644
--- a/apps/theming/lib/ThemingDefaults.php
+++ b/apps/theming/lib/ThemingDefaults.php
@@ -226,23 +226,12 @@ class ThemingDefaults extends \OC_Defaults {
}
// user-defined primary color
- $themingBackground = '';
if (!empty($user)) {
- $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', '');
- // If the user selected the default background
- if ($themingBackground === '') {
- return BackgroundService::DEFAULT_COLOR;
- }
-
+ $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_color', '');
// If the user selected a specific colour
if (preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $themingBackground)) {
return $themingBackground;
}
-
- // if the user-selected background is a background reference
- if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color'])) {
- return BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color'];
- }
}
// If the default color is not valid, return the default background one
@@ -477,7 +466,7 @@ class ThemingDefaults extends \OC_Defaults {
$returnValue = $this->getSlogan();
break;
case 'color':
- $returnValue = $this->getColorPrimary();
+ $returnValue = $this->getDefaultColorPrimary();
break;
case 'logo':
case 'logoheader':
diff --git a/apps/theming/src/UserThemes.vue b/apps/theming/src/UserThemes.vue
index 5a41c019017..7220820a3c3 100644
--- a/apps/theming/src/UserThemes.vue
+++ b/apps/theming/src/UserThemes.vue
@@ -69,10 +69,7 @@
</template>
<template v-else>
<p>{{ t('theming', 'Set a custom background') }}</p>
- <BackgroundSettings class="background__grid"
- :background="background"
- :theming-default-background="themingDefaultBackground"
- @update:background="updateBackground" />
+ <BackgroundSettings class="background__grid" @update:background="refreshGlobalStyles" />
</template>
</NcSettingsSection>
</section>
@@ -92,8 +89,6 @@ const availableThemes = loadState('theming', 'themes', [])
const enforceTheme = loadState('theming', 'enforceTheme', '')
const shortcutsDisabled = loadState('theming', 'shortcutsDisabled', false)
-const background = loadState('theming', 'background')
-const themingDefaultBackground = loadState('theming', 'themingDefaultBackground')
const isUserThemingDisabled = loadState('theming', 'isUserThemingDisabled')
console.debug('Available themes', availableThemes)
@@ -111,10 +106,10 @@ export default {
data() {
return {
availableThemes,
+
+ // Admin defined configs
enforceTheme,
shortcutsDisabled,
- background,
- themingDefaultBackground,
isUserThemingDisabled,
}
},
@@ -173,9 +168,21 @@ export default {
},
methods: {
+ // Refresh server-side generated theming CSS
+ refreshGlobalStyles() {
+ [...document.head.querySelectorAll('link.theme')].forEach(theme => {
+ const url = new URL(theme.href)
+ url.searchParams.set('v', Date.now())
+ const newTheme = theme.cloneNode()
+ newTheme.href = url.toString()
+ newTheme.onload = () => theme.remove()
+ document.head.append(newTheme)
+ })
+ },
+
updateBackground(data) {
this.background = (data.type === 'custom' || data.type === 'default') ? data.type : data.value
- this.$emit('update:background')
+ this.refreshGlobalStyles()
},
changeTheme({ enabled, id }) {
diff --git a/apps/theming/src/components/BackgroundSettings.vue b/apps/theming/src/components/BackgroundSettings.vue
index 45e627fd378..9890f9ad3f0 100644
--- a/apps/theming/src/components/BackgroundSettings.vue
+++ b/apps/theming/src/components/BackgroundSettings.vue
@@ -26,68 +26,75 @@
<template>
<div class="background-selector">
<!-- Custom background -->
- <button class="background filepicker"
- :class="{ active: background === 'custom' }"
+ <button class="background background__filepicker"
+ :class="{ 'background--active': backgroundImage === 'custom' }"
tabindex="0"
@click="pickFile">
- {{ t('theming', 'Pick from Files') }}
+ {{ t('theming', 'Custom background') }}
</button>
<!-- Default background -->
- <button class="background default"
+ <button class="background background__default"
+ :class="{ 'icon-loading': loading === 'default', 'background--active': backgroundImage === 'default' }"
+ :data-color-bright="invertTextColor(Theming.defaultColor)"
+ :style="{ '--border-color': Theming.defaultColor }"
tabindex="0"
- :class="{ 'icon-loading': loading === 'default', active: background === 'default' }"
@click="setDefault">
- {{ t('theming', 'Default image') }}
+ {{ t('theming', 'Default background') }}
+ <Check :size="44" />
</button>
<!-- Custom color picker -->
<NcColorPicker v-model="Theming.color" @input="debouncePickColor">
- <button class="background color"
- :class="{ active: background === Theming.color}"
- tabindex="0"
+ <button class="background background__color"
:data-color="Theming.color"
:data-color-bright="invertTextColor(Theming.color)"
- :style="{ backgroundColor: Theming.color, color: invertTextColor(Theming.color) ? '#000000' : '#ffffff'}">
- {{ t('theming', 'Custom color') }}
+ :style="{ backgroundColor: Theming.color, '--border-color': Theming.color}"
+ tabindex="0">
+ {{ t('theming', 'Change color') }}
</button>
</NcColorPicker>
- <!-- Default admin primary color -->
- <button class="background color"
- :class="{ active: background === Theming.defaultColor }"
- tabindex="0"
- :data-color="Theming.defaultColor"
- :data-color-bright="invertTextColor(Theming.defaultColor)"
- :style="{ color: invertTextColor(Theming.defaultColor) ? '#000000' : '#ffffff'}"
- @click="debouncePickColor">
- {{ t('theming', 'Plain background') }}
- </button>
-
<!-- Background set selection -->
<button v-for="shippedBackground in shippedBackgrounds"
:key="shippedBackground.name"
v-tooltip="shippedBackground.details.attribution"
- :class="{ 'icon-loading': loading === shippedBackground.name, active: background === shippedBackground.name }"
- tabindex="0"
- class="background"
+ :class="{ 'icon-loading': loading === shippedBackground.name, 'background--active': backgroundImage === shippedBackground.name }"
:data-color-bright="shippedBackground.details.theming === 'dark'"
- :style="{ 'background-image': 'url(' + shippedBackground.preview + ')' }"
- @click="setShipped(shippedBackground.name)" />
+ :style="{ backgroundImage: 'url(' + shippedBackground.preview + ')', '--border-color': shippedBackground.details.primary_color }"
+ class="background background__shipped"
+ tabindex="0"
+ @click="setShipped(shippedBackground.name)">
+ <Check :size="44" />
+ </button>
+
+ <!-- Remove background -->
+ <button class="background background__delete"
+ tabindex="0"
+ @click="removeBackground">
+ {{ t('theming', 'Remove background') }}
+ <Close :size="24" />
+ </button>
</div>
</template>
<script>
-import { generateUrl } from '@nextcloud/router'
-import { getBackgroundUrl } from '../helpers/getBackgroundUrl.js'
+import { generateFilePath, generateUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
-import { prefixWithBaseUrl } from '../helpers/prefixWithBaseUrl.js'
import axios from '@nextcloud/axios'
+import Check from 'vue-material-design-icons/Check.vue'
+import Close from 'vue-material-design-icons/Close.vue'
import debounce from 'debounce'
import NcColorPicker from '@nextcloud/vue/dist/Components/NcColorPicker'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
+const backgroundColor = loadState('theming', 'backgroundColor')
+const backgroundImage = loadState('theming', 'backgroundImage')
const shippedBackgroundList = loadState('theming', 'shippedBackgrounds')
+const themingDefaultBackground = loadState('theming', 'themingDefaultBackground')
+const defaultShippedBackground = loadState('theming', 'defaultShippedBackground')
+
+const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url
export default {
name: 'BackgroundSettings',
@@ -96,38 +103,49 @@ export default {
},
components: {
+ Check,
+ Close,
NcColorPicker,
},
- props: {
- background: {
- type: String,
- default: 'default',
- },
- themingDefaultBackground: {
- type: String,
- default: '',
- },
- },
-
data() {
return {
- backgroundImage: generateUrl('/apps/theming/background') + '?v=' + Date.now(),
loading: false,
Theming: loadState('theming', 'data', {}),
+
+ // User background image and color settings
+ backgroundImage,
+ backgroundColor,
}
},
computed: {
shippedBackgrounds() {
- return Object.keys(shippedBackgroundList).map(fileName => {
- return {
- name: fileName,
- url: prefixWithBaseUrl(fileName),
- preview: prefixWithBaseUrl('preview/' + fileName),
- details: shippedBackgroundList[fileName],
- }
- })
+ return Object.keys(shippedBackgroundList)
+ .map(fileName => {
+ return {
+ name: fileName,
+ url: prefixWithBaseUrl(fileName),
+ preview: prefixWithBaseUrl('preview/' + fileName),
+ details: shippedBackgroundList[fileName],
+ }
+ })
+ .filter(background => {
+ // If the admin did not changed the global background
+ // let's hide the default background to not show it twice
+ if (!this.isGlobalBackgroundDeleted && !this.isGlobalBackgroundDefault) {
+ return background.name !== defaultShippedBackground
+ }
+ return true
+ })
+ },
+
+ isGlobalBackgroundDefault() {
+ return !!themingDefaultBackground
+ },
+
+ isGlobalBackgroundDeleted() {
+ return themingDefaultBackground === 'backgroundColor'
},
},
@@ -163,20 +181,24 @@ export default {
: null
},
+ /**
+ * Update local state
+ *
+ * @param {object} data destructuring object
+ * @param {string} data.backgroundColor background color value
+ * @param {string} data.backgroundImage background image value
+ * @param {string} data.version cache buster number
+ * @see https://github.com/nextcloud/server/blob/c78bd45c64d9695724fc44fe8453a88824b85f2f/apps/theming/lib/Controller/UserThemeController.php#L187-L191
+ */
async update(data) {
- const background = data.type === 'custom' || data.type === 'default' ? data.type : data.value
- this.backgroundImage = getBackgroundUrl(background, data.version, this.themingDefaultBackground)
- if (data.type === 'color' || (data.type === 'default' && this.themingDefaultBackground === 'backgroundColor')) {
- this.$emit('update:background', data)
- this.loading = false
- return
- }
- const image = new Image()
- image.onload = () => {
- this.$emit('update:background', data)
- this.loading = false
- }
- image.src = this.backgroundImage
+ // Update state
+ this.backgroundImage = data.backgroundImage
+ this.backgroundColor = data.backgroundColor
+ this.Theming.color = data.backgroundColor
+
+ // Notify parent and reload style
+ this.$emit('update:background')
+ this.loading = false
},
async setDefault() {
@@ -197,15 +219,21 @@ export default {
this.update(result.data)
},
- debouncePickColor: debounce(function() {
- this.pickColor(...arguments)
- }, 200),
+ async removeBackground() {
+ this.loading = 'remove'
+ const result = await axios.delete(generateUrl('/apps/theming/background/custom'))
+ this.update(result.data)
+ },
+
async pickColor(event) {
this.loading = 'color'
const color = event?.target?.dataset?.color || this.Theming?.color || '#0082c9'
const result = await axios.post(generateUrl('/apps/theming/background/color'), { value: color })
this.update(result.data)
},
+ debouncePickColor: debounce(function() {
+ this.pickColor(...arguments)
+ }, 200),
pickFile() {
window.OC.dialogs.filepicker(t('theming', 'Select a background from your files'), (path, type) => {
@@ -225,50 +253,61 @@ export default {
justify-content: center;
.background {
+ overflow: hidden;
width: 176px;
height: 96px;
margin: 8px;
- background-size: cover;
- background-position: center center;
text-align: center;
- border-radius: var(--border-radius-large);
border: 2px solid var(--color-main-background);
- overflow: hidden;
+ border-radius: var(--border-radius-large);
+ background-position: center center;
+ background-size: cover;
- &.current {
- background-image: var(--color-background-dark);
+ &__default {
+ background-color: var(--color-primary-default);
+ background-image: var(--image-background-default);
}
- &.filepicker, &.default, &.color {
+ &__filepicker, &__default, &__color {
border-color: var(--color-border);
}
- &.color {
- background-color: var(--color-primary-default);
+ &__color {
color: var(--color-primary-text);
+ background-color: var(--color-primary-default);
+ }
+
+ // Text and svg icon dark on bright background
+ &[data-color-bright] {
+ color: black;
}
- &.active,
+ &--active,
&:hover,
&:focus {
- border: 2px solid var(--color-primary);
+ // Use theme color primary, see inline css variable in template
+ border: 2px solid var(--border-color, var(--color-primary)) !important;
}
- &.active:not(.icon-loading) {
- &:after {
- background-image: var(--original-icon-checkmark-white);
- background-repeat: no-repeat;
- background-position: center;
- background-size: 44px;
- content: '';
- display: block;
- height: 100%;
+ // Icon
+ span {
+ margin: 4px;
+ }
+
+ &__default,
+ &__shipped {
+ color: white;
+ span {
+ display: none;
}
+ }
- &[data-color-bright]:after {
- background-image: var(--original-icon-checkmark-dark);
+ &--active:not(.icon-loading) {
+ span {
+ display: block;
}
}
}
}
+
</style>
diff --git a/apps/theming/src/helpers/getBackgroundUrl.js b/apps/theming/src/helpers/getBackgroundUrl.js
deleted file mode 100644
index 88a3ab57291..00000000000
--- a/apps/theming/src/helpers/getBackgroundUrl.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
- *
- * @author Avior <florian.bouillon@delta-wings.net>
- * @author Julien Veyssier <eneiluj@posteo.net>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-import { generateUrl } from '@nextcloud/router'
-import { prefixWithBaseUrl } from './prefixWithBaseUrl.js'
-
-export const getBackgroundUrl = (background, time = 0, themingDefaultBackground = '') => {
- const enabledThemes = window.OCA?.Theming?.enabledThemes || []
- const isDarkTheme = (enabledThemes.length === 0 || enabledThemes[0] === 'default')
- ? window.matchMedia('(prefers-color-scheme: dark)').matches
- : enabledThemes.join('').indexOf('dark') !== -1
-
- if (background === 'default') {
- if (themingDefaultBackground && themingDefaultBackground !== 'backgroundColor') {
- return generateUrl('/apps/theming/image/background') + '?v=' + window.OCA.Theming.cacheBuster
- }
-
- if (isDarkTheme) {
- return prefixWithBaseUrl('eduardo-neves-pedra-azul.jpg')
- }
-
- return prefixWithBaseUrl('kamil-porembinski-clouds.jpg')
- } else if (background === 'custom') {
- return generateUrl('/apps/theming/background') + '?v=' + time
- }
-
- return prefixWithBaseUrl(background)
-}
diff --git a/apps/theming/src/helpers/prefixWithBaseUrl.js b/apps/theming/src/helpers/prefixWithBaseUrl.js
deleted file mode 100644
index d2f42c93549..00000000000
--- a/apps/theming/src/helpers/prefixWithBaseUrl.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-import { generateFilePath } from '@nextcloud/router'
-
-export const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index 9042a338fb7..c67be434631 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -680,7 +680,7 @@ class ThemingControllerTest extends TestCase {
public function testGetLoginBackground() {
$file = $this->createMock(ISimpleFile::class);
- $file->method('getName')->willReturn('background.png');
+ $file->method('getName')->willReturn('app-background.jpg');
$file->method('getMTime')->willReturn(42);
$this->imageManager->expects($this->once())
->method('getImage')
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index fafa1fd450c..caed7002980 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -484,7 +484,7 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
+ ->with('user', 'theming', 'background_image', '')
->willReturn(array_keys(BackgroundService::SHIPPED_BACKGROUNDS)[$backgroundIndex]);
$this->config
->expects($this->exactly(2))
@@ -509,7 +509,7 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
+ ->with('user', 'theming', 'background_image', '')
->willReturn('#fff');
$this->config
->expects($this->exactly(2))
@@ -534,7 +534,7 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
+ ->with('user', 'theming', 'background_image', '')
->willReturn('nextcloud');
$this->config
->expects($this->exactly(3))
@@ -781,7 +781,7 @@ class ThemingDefaultsTest extends TestCase {
['logo', true, 'custom-logo?v=0'],
['logoheader', true, 'custom-logoheader?v=0'],
['favicon', true, 'custom-favicon?v=0'],
- ['background', true, 'custom-background?v=0'],
+ ['background_image', true, 'custom-background?v=0'],
]);
$expected = [
diff --git a/core/css/apps.css b/core/css/apps.css
index c07b3f67c7c..186184a8584 100644
--- a/core/css/apps.css
+++ b/core/css/apps.css
@@ -97,7 +97,7 @@ html {
body {
background-color: var(--color-background-plain, var(--color-main-background));
- background-image: var(--image-background-plain, var(--image-background));
+ background-image: var(--image-background-plain, var(--image-background, var(--image-background-default)));
background-size: cover;
background-position: center;
position: fixed;
diff --git a/core/css/apps.scss b/core/css/apps.scss
index b52a5a37793..bdc1fe95a06 100644
--- a/core/css/apps.scss
+++ b/core/css/apps.scss
@@ -47,7 +47,7 @@ html {
body {
background-color: var(--color-background-plain, var(--color-main-background));
- background-image: var(--image-background-plain, var(--image-background));
+ background-image: var(--image-background-plain, var(--image-background, var(--image-background-default)));
background-size: cover;
background-position: center;
position: fixed;
diff --git a/core/css/guest.css b/core/css/guest.css
index 7baa6017a55..0a26afdf116 100644
--- a/core/css/guest.css
+++ b/core/css/guest.css
@@ -23,8 +23,8 @@ body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
color: var(--color-text);
text-align: center;
- background-color: var(--color-primary-default, var(--color-primary));
- background-image: var(--image-background-plain, var(--image-background, url('../../../core/img/app-background.jpg'), linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
+ background-color: var(--color-main-background-not-plain, var(--color-primary));
+ background-image: var(--image-background, var(--image-background-plain, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
background-attachment: fixed;
min-height: 100%; /* fix sticky footer */
height: auto;
diff --git a/core/css/server.css b/core/css/server.css
index 58fb6189106..c8333d0b98d 100644
--- a/core/css/server.css
+++ b/core/css/server.css
@@ -2679,7 +2679,7 @@ html {
body {
background-color: var(--color-background-plain, var(--color-main-background));
- background-image: var(--image-background-plain, var(--image-background));
+ background-image: var(--image-background-plain, var(--image-background, var(--image-background-default)));
background-size: cover;
background-position: center;
position: fixed;
diff --git a/core/img/app-background.jpg b/core/img/app-background.jpg
deleted file mode 100644
index b9cc2cc5cd1..00000000000
--- a/core/img/app-background.jpg
+++ /dev/null
Binary files differ
diff --git a/core/img/background.png b/core/img/background.png
deleted file mode 100644
index 1d4d5e8c3d6..00000000000
--- a/core/img/background.png
+++ /dev/null
Binary files differ
diff --git a/core/img/background.svg b/core/img/background.svg
deleted file mode 100644
index 84ce9970581..00000000000
--- a/core/img/background.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="640" height="1040" version="1.1" viewBox="0 0 169.33 275.17" xmlns="http://www.w3.org/2000/svg"><g fill="#0082c9"><g stroke-width=".26458"><path d="m45.391 89.957c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m68.103 87.847c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m6.4768 89.127c-1.1782 0-2.1777 0.86165-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2293-1.811c-1.7177 0-3.1749 1.2562-3.1749 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m27.519 87.84c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.99219c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99219c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.02029 0.04958 0.04961v6.2506c0 0.0293-0.02032 0.0496-0.04958 0.0496h-11.542c-0.02932 0-0.04958-0.0203-0.04958-0.0496v-6.2506c0-0.02932 0.02032-0.04961 0.04958-0.04961z" opacity=".15" stroke-width=".26458"/><path d="m158.75 87.837a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m109.37 88.897c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46303v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35619-0.27993-0.64713-0.54557-0.64505zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m88.371 88.897c-0.26458 0-0.52917 0.26458-0.52917 0.52917v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m137.58 87.317-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m4.6031 109.01c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m151.22 111.13c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/></g><path d="m95.249 109.01a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m45.872 110.07c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m24.871 110.07c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m112.31 110.29c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m133.35 109.01c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.91441 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.0203 0.0496 0.0496v6.2506c0 0.0293-0.0203 0.0496-0.0496 0.0496h-11.542c-0.0293 0-0.0496-0.0203-0.0496-0.0496v-6.2506c0-0.0293 0.0203-0.0496 0.0496-0.0496z" opacity=".15" stroke-width=".26458"/><path d="m74.083 108.48-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15" stroke-width=".26458"/><path d="m108.89 132.29c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15" stroke-width=".26458"/><path d="m52.916 130.18a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m3.5386 131.24c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m131.6 130.18c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m69.977 131.46c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m91.019 130.18c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.0203 0.0496 0.0496v6.2506c0 0.0293-0.0203 0.0496-0.0496 0.0496h-11.542c-0.02932 0-0.04958-0.0203-0.04958-0.0496v-6.2506c0-0.0293 0.02032-0.0496 0.04958-0.0496z" opacity=".15" stroke-width=".26458"/><g stroke-width=".26458"><path d="m31.75 129.65-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m151.87 131.24c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m45.391 153.46c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m68.103 151.35c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m6.4768 152.63c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2293-1.811c-1.7177 0-3.1749 1.2562-3.1749 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m27.519 151.34c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.0203 0.04958 0.0496v6.2506c0 0.0293-0.02032 0.0496-0.04958 0.0496h-11.542c-0.02932 0-0.04958-0.0203-0.04958-0.0496v-6.2506c0-0.0293 0.02032-0.0496 0.04958-0.0496z" opacity=".15" stroke-width=".26458"/><path d="m158.75 151.34a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m109.37 152.4c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m88.371 152.4c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m137.58 150.82-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m3.0572 174.63c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m25.77 172.51c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m116.42 172.51a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m67.039 173.57c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m46.037 173.57c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m133.48 173.79c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m154.52 172.51c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.91441 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.0203 0.0496 0.0496v6.2506c0 0.0293-0.0203 0.0496-0.0496 0.0496h-11.542c-0.0293 0-0.0496-0.0203-0.0496-0.0496v-6.2506c0-0.0293 0.0203-0.0496 0.0496-0.0496z" opacity=".15" stroke-width=".26458"/><path d="m95.25 171.98-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15" stroke-width=".26458"/><path d="m130.06 195.79c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15" stroke-width=".26458"/><path d="m74.082 193.68a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m24.705 194.74c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m152.77 193.68c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m3.7039 194.74c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m91.143 194.96c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4473-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.1749-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m112.18 193.68c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47201 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47201-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58631 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70802 1.5875-1.5875 1.5875-0.87947 0-1.5875-0.70802-1.5875-1.5875v-0.99218c-0.9144 0.23417-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94403 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94403 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99218c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70802-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.0203 0.0496 0.0496v6.2505c0 0.0293-0.0203 0.0496-0.0496 0.0496h-11.542c-0.0293 0-0.0496-0.0203-0.0496-0.0496v-6.2505c0-0.0293 0.0203-0.0496 0.0496-0.0496z" opacity=".15"/><path d="m52.916 193.15-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m87.724 216.96c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/></g><path d="m31.749 214.84a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><path d="m110.44 214.85c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m48.81 216.13c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m69.849 214.84c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.0203 0.04958 0.0496v6.2506c0 0.0293-0.02032 0.0496-0.04958 0.0496h-11.542c-0.02932 0-0.04958-0.0203-0.04958-0.0496v-6.2506c0-0.0293 0.02032-0.0496 0.04958-0.0496z" opacity=".15" stroke-width=".26458"/><g stroke-width=".26458"><path d="m10.583 214.32-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m151.71 215.9c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m130.7 215.9c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m24.224 238.13c-0.52118 0-0.94075 0.4199-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.93979 0.94075 0.93979h15.052c0.52123 0 0.94086-0.41856 0.94086-0.93979v-8.7027c0-0.52117-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m46.936 236.01c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20267l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m6.349 236.01c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.91441 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.0203 0.04958 0.0496v6.2506c0 0.0293-0.02032 0.0496-0.04958 0.0496h-11.542c-0.029316 0-0.049583-0.0203-0.049583-0.0496v-6.2506c0-0.0293 0.02032-0.0496 0.049583-0.0496z" opacity=".15" stroke-width=".26458"/><path d="m137.58 236.01a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m88.205 237.07c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m67.204 237.07c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m154.64 237.29c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14833 0.2696-0.30394 0.38563-0.4537 0.11602-0.14975 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12811 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44311 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m116.42 235.48-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m108.89 259.29c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/></g><path d="m52.916 257.18a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m3.5386 258.24c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m131.6 257.18c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m69.977 258.46c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m91.019 257.18c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.9922c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98945-0.6731-1.8164-1.5875-2.0505v0.9922c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.0203 0.0496 0.0496v6.2506c0 0.0293-0.0203 0.0496-0.0496 0.0496h-11.542c-0.02932 0-0.04958-0.0203-0.04958-0.0496v-6.2506c0-0.0293 0.02032-0.0496 0.04958-0.0496z" opacity=".15" stroke-width=".26458"/><g stroke-width=".26458"><path d="m31.75 256.65-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m151.87 258.24c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m24.224 26.459c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m46.936 24.344c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m6.349 24.342c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-0.99219c-0.91441 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99219c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.02029 0.04958 0.04961v6.2506c0 0.02932-0.02032 0.04961-0.04958 0.04961h-11.542c-0.029316 0-0.049583-0.02029-0.049583-0.04961v-6.2506c0-0.02932 0.02032-0.04961 0.049583-0.04961z" opacity=".15" stroke-width=".26458"/><path d="m137.58 24.341a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m88.205 25.4c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m67.204 25.4c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m154.64 25.623c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m116.42 23.813-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m87.724 47.625c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/></g><path d="m31.749 45.508a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><path d="m110.44 45.511c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m48.81 46.789c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m69.849 45.509c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.99219c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99219c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.02029 0.04958 0.04961v6.2506c0 0.02932-0.02032 0.04961-0.04958 0.04961h-11.542c-0.02932 0-0.04958-0.02029-0.04958-0.04961v-6.2506c0-0.02932 0.02032-0.04961 0.04958-0.04961z" opacity=".15" stroke-width=".26458"/><g stroke-width=".26458"><path d="m10.583 44.979-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/><path d="m151.71 46.567c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m130.7 46.567c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m3.0572 68.792c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15"/><path d="m25.77 66.678c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m116.42 66.674a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><g stroke-width=".26458"><path d="m67.039 67.734c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m46.037 67.734c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m133.48 67.956c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4537-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/></g><path d="m154.52 66.676c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583s1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-0.99219c-0.91441 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99219c0 0.87948-0.70803 1.5875-1.5875 1.5875s-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.0293 0 0.0496 0.02029 0.0496 0.04961v6.2506c0 0.02932-0.0203 0.04961-0.0496 0.04961h-11.542c-0.0293 0-0.0496-0.02029-0.0496-0.04961v-6.2506c0-0.02932 0.0203-0.04961 0.0496-0.04961z" opacity=".15" stroke-width=".26458"/><path d="m95.25 66.146-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15" stroke-width=".26458"/><path d="m66.557 5.292c-0.52118 0-0.94075 0.41989-0.94075 0.94107v8.7027c0 0.52123 0.41957 0.9398 0.94075 0.9398h15.052c0.52123 0 0.94086-0.41857 0.94086-0.9398v-8.7027c0-0.52118-0.41963-0.94107-0.94086-0.94107zm0.79375 1.0881 6.4384 6.4384h0.55859l6.4675-6.4384 0.64675 0.64675-3.8512 3.91 2.9104 2.9692-0.64675 0.64675-2.9692-2.9692-2.1461 2.1755h-1.3523l-2.1458-2.1749-2.9694 2.9982-0.6468-0.67627 2.9398-2.9692-3.8805-3.9098z" opacity=".15" stroke-width=".26458"/><path d="m10.582 3.174a7.4076 7.4077 0 0 0-7.4075 7.4079 7.4076 7.4077 0 0 0 7.4075 7.4077 7.4076 7.4077 0 0 0 3.8426-1.0837c0.91042 0.36176 2.9497 1.4351 3.435 0.97148 0.50718-0.48434-0.59542-2.7639-0.85976-3.611a7.4076 7.4077 0 0 0 0.98954-3.6845 7.4076 7.4077 0 0 0-7.4074-7.4076zm8.4e-4 2.8163a4.5932 4.5933 0 0 1 4.5932 4.5933 4.5932 4.5933 0 0 1-4.5932 4.593 4.5932 4.5933 0 0 1-4.5932-4.593 4.5932 4.5933 0 0 1 4.5932-4.5933z" opacity=".15" stroke-width=".037042"/><path d="m89.27 3.178c-0.20903 0.0404-0.3737 0.24692-0.37 0.46302v13.887c0 0.24342 0.21812 0.46354 0.45678 0.46354h11.788c0.23918 0 0.4572-0.22012 0.4572-0.46354v-10.734c-4e-3 -0.0708-0.0243-0.1408-0.0582-0.20268l-3.5052-3.3858c-0.0455-0.018-0.0942-0.027-0.14288-0.0288h-8.5392c-0.0282-2e-3 -0.0582-2e-3 -0.0866 0zm1.7467 2.1146h6.35v1.0583h-6.35zm0 3.175h5.2917v1.0583h-5.2917zm0 3.175h8.4667v1.0583h-8.4667zm0 3.175h4.2333v1.0583h-4.2333z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m27.643 4.456c-1.1782 0-2.1777 0.86164-2.1777 1.9736 8e-3 0.35146 0.0398 0.78486 0.24953 1.7014v0.0227l0.0227 0.0227c0.0673 0.19286 0.1653 0.30318 0.29489 0.4537 0.12958 0.15052 0.28409 0.32768 0.431 0.47638 0.0174 0.0176 0.0284 0.0283 0.0454 0.0454 0.0292 0.1268 0.0644 0.26325 0.0907 0.38565 0.07 0.32565 0.0628 0.55626 0.0454 0.63516-0.50628 0.17776-1.1361 0.38947-1.7013 0.63515-0.3173 0.13794-0.60442 0.26114-0.83932 0.40834-0.23488 0.1472-0.46849 0.25841-0.5444 0.58981-1e-3 0.015-1e-3 0.0303 0 0.0454-0.0742 0.68124-0.18642 1.6831-0.27221 2.3592-0.0186 0.14234 0.0565 0.29238 0.18148 0.36296 1.0262 0.55431 2.6025 0.7774 4.1738 0.77132 1.5714-6e-3 3.1352-0.24235 4.1285-0.77132 0.12498-0.0706 0.2-0.22062 0.18148-0.36296-0.0274-0.21136-0.061-0.68797-0.0907-1.1569-0.0297-0.46897-0.0555-0.93028-0.0907-1.2023-0.0122-0.0674-0.0442-0.13118-0.0907-0.18148-0.31556-0.37683-0.78703-0.60717-1.3384-0.83937-0.50335-0.21195-1.0935-0.43206-1.6786-0.68056-0.0328-0.073-0.0653-0.28524 0-0.61251 0.0176-0.0879 0.045-0.18198 0.0681-0.27222 0.055-0.0616 0.0979-0.11192 0.15878-0.18148 0.12996-0.14834 0.2696-0.30394 0.38563-0.4537 0.11602-0.14976 0.21095-0.27823 0.27221-0.4537l0.0227-0.0227c0.2371-0.95699 0.23723-1.3563 0.24953-1.7014v-0.0227c0-1.1119-0.99949-1.9736-2.1777-1.9736zm6.2294-1.811c-1.7177 0-3.175 1.2562-3.175 2.8773 0.0122 0.51239 0.058 1.1443 0.3638 2.4804v0.0331l0.0331 0.0331c0.0982 0.28116 0.24101 0.442 0.42994 0.66145 0.18894 0.21945 0.41418 0.47773 0.62839 0.69453 0.0252 0.0255 0.0413 0.0413 0.0661 0.0662 0.0425 0.18484 0.0939 0.38379 0.1323 0.56224 0.10204 0.47477 0.0916 0.811 0.0662 0.92604-0.73814 0.25917-1.6564 0.5678-2.4804 0.92605-0.46261 0.20111-0.88122 0.38069-1.2237 0.59531-0.34246 0.2146-0.68304 0.37674-0.79375 0.85989-2e-3 0.022-2e-3 0.0441 0 0.0662-0.10818 0.9932-0.27179 2.4538-0.39686 3.4395-0.027 0.20751 0.0824 0.42625 0.26457 0.52916 1.4961 0.80814 3.7943 1.1334 6.0854 1.1245 2.291-9e-3 4.5709-0.3533 6.0193-1.1245 0.1822-0.1029 0.29158-0.32165 0.26458-0.52916-0.04-0.30817-0.089-1.003-0.1323-1.6867-0.0433-0.68369-0.0809-1.3563-0.13228-1.7529-0.018-0.0983-0.0644-0.19124-0.1323-0.26458-0.46007-0.54938-1.1474-0.88519-1.9513-1.2237-0.73385-0.30901-1.5942-0.62992-2.4474-0.99219-0.0477-0.10638-0.0952-0.41585 0-0.89297 0.0256-0.12812 0.0656-0.26533 0.0992-0.39687 0.0802-0.0898 0.14266-0.16318 0.23151-0.26458 0.18948-0.21626 0.39307-0.44312 0.56224-0.66146 0.16916-0.21833 0.30756-0.40563 0.39687-0.66146l0.0331-0.0331c0.3457-1.3952 0.34588-1.9773 0.36381-2.4804v-0.0331c0-1.6211-1.4572-2.8773-3.175-2.8773z" color="#000000" opacity=".15" stroke-width=".26458" style="text-indent:0;text-transform:none"/><path d="m48.679 3.1756c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm8.4667 0c-0.58632 0-1.0583 0.47202-1.0583 1.0583v2.1167c0 0.58632 0.47202 1.0583 1.0583 1.0583 0.58632 0 1.0583-0.47202 1.0583-1.0583v-2.1167c0-0.58632-0.47202-1.0583-1.0583-1.0583zm-6.8792 2.1167v1.0583c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-0.99219c-0.9144 0.23418-1.5875 1.0611-1.5875 2.0505v8.4667c0 1.1726 0.94404 2.1167 2.1167 2.1167h10.583c1.1726 0 2.1167-0.94404 2.1167-2.1167v-8.4667c0-0.98944-0.6731-1.8164-1.5875-2.0505v0.99219c0 0.87948-0.70803 1.5875-1.5875 1.5875-0.87948 0-1.5875-0.70803-1.5875-1.5875v-1.0583zm-3.1254 4.7625h11.542c0.02932 0 0.04958 0.02029 0.04958 0.04961v6.2506c0 0.02932-0.02032 0.04961-0.04958 0.04961h-11.542c-0.02932 0-0.04958-0.02029-0.04958-0.04961v-6.2506c0-0.02932 0.02032-0.04961 0.04958-0.04961z" opacity=".15" stroke-width=".26458"/><g stroke-width=".26458"><path d="m130.54 4.234c-0.20902 0.0404-0.36756 0.24702-0.3638 0.46302v11.774c0 0.24342 0.22437 0.46356 0.46302 0.46356h13.891c0.2387-2e-5 0.46301-0.22062 0.46302-0.46302v-11.592c-5.3e-4 -0.35618-0.27993-0.64712-0.54557-0.64504zm0.69448 1.0583h12.7v5.2917l-1.0583-1.0583-3.175 4.2333-3.175-3.175-4.2333 4.2333h-1.0583zm2.6459 1.0583c-0.87678 0-1.5875 0.71072-1.5875 1.5875s0.71072 1.5875 1.5875 1.5875 1.5875-0.71072 1.5875-1.5875-0.71072-1.5875-1.5875-1.5875z" color="#000000" opacity=".15" style="text-indent:0;text-transform:none"/><path d="m109.54 4.234c-0.26458 0-0.52917 0.26458-0.52917 0.52916v11.642c0 0.27516 0.254 0.52916 0.52917 0.52916h13.758c0.27517 0 0.52917-0.25506 0.52917-0.52916v-9.525c0-0.26458-0.26459-0.52918-0.52917-0.52918h-6.8792l-2.1167-2.1167z" opacity=".15"/><path d="m158.75 2.646-5.2917 9.525h5.8208l-0.52916 6.35 5.2917-9.525h-5.8208z" opacity=".15"/></g></g></svg>