From 5bf9568e2f5b766be8d0f89b6446e9f16ce2731a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABlle=20Morin?= Date: Fri, 25 Jan 2019 15:47:14 +0100 Subject: [PATCH] ui(right panel): #issue84 CSS - Right panel Transform svg files + add them as font. Review and correct HTML architecture. Review and add styles. Open/close menu on right + expand content. --- src/dependencies.pug.orig | 51 --- src/error.log | 368 ------------------ src/index.pug | 6 +- src/{menu.pug => menu-left.pug} | 0 src/page-project.pug | 45 ++- src/scripts/index.js | 7 + src/styles/icons/custom-icons.scss | 115 ++++++ src/styles/{ => icons}/icons.scss | 9 - .../{ => icons}/material-design-icons.scss | 6 +- src/styles/index.scss | 9 +- src/styles/main.scss | 54 +-- src/styles/menu-left.scss | 207 ++++++++++ src/styles/menu-right.scss | 92 +++++ src/styles/menu.scss | 208 ---------- src/styles/variables.scss | 1 + www/fonts/custom-icons.eot | Bin 0 -> 35452 bytes www/fonts/custom-icons.svg | 46 +++ www/fonts/custom-icons.ttf | Bin 0 -> 35268 bytes www/fonts/custom-icons.woff | Bin 0 -> 35344 bytes www/fonts/material-design-icons.svg | 42 +- www/images/svg/icon-outline-person.svg | 3 - 21 files changed, 530 insertions(+), 739 deletions(-) delete mode 100644 src/dependencies.pug.orig delete mode 100644 src/error.log rename src/{menu.pug => menu-left.pug} (100%) create mode 100644 src/styles/icons/custom-icons.scss rename src/styles/{ => icons}/icons.scss (96%) rename src/styles/{ => icons}/material-design-icons.scss (92%) create mode 100644 src/styles/menu-left.scss create mode 100644 src/styles/menu-right.scss delete mode 100644 src/styles/menu.scss create mode 100644 www/fonts/custom-icons.eot create mode 100644 www/fonts/custom-icons.svg create mode 100644 www/fonts/custom-icons.ttf create mode 100644 www/fonts/custom-icons.woff delete mode 100644 www/images/svg/icon-outline-person.svg diff --git a/src/dependencies.pug.orig b/src/dependencies.pug.orig deleted file mode 100644 index ee5965b..0000000 --- a/src/dependencies.pug.orig +++ /dev/null @@ -1,51 +0,0 @@ -// Scripts -//- script(src="https://unpkg.com/@webcomponents/webcomponentsjs@1.2.7/webcomponents-loader.js") -//script(src="/lib/webcomponentsjs/webcomponents-loader.js") -//- script(src="lib/html-imports.js") - -script(src="/lib/oidc-client.js") -script( - src="https://cdn.happy-dev.fr/sib-oidc/sib-oidc.js" - data-authority=`${sdn}/openid/`, - data-client_id=`${client_id}`, - data-response_type='id_token token', - data-scope='openid profile email', - data-automaticSilentRenew='true', - data-loadUserInfo='true' -) - -script(src="/scripts/index.js") -script(type="module" src="/scripts/hd-widgets.js") - -// Stylesheets -link(rel='stylesheet', href='/lib/normalize.css') -link(rel='stylesheet', href='/styles/index.css') -link( - rel='stylesheet' - href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&subset=latin-ext' -) -link(href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i" rel="stylesheet") - -// Web components - -//- local -//script(type="module" src="/lib/sib-core/sib-display.js") -//script(type="module" src="/lib/sib-router/sib-router.js") -//script(type="module" src="/lib/sib-core/sib-form.js") - -link(rel='import', href='/lib/sib-chat/sib-chat.html') - -//- cdn -<<<<<<< HEAD -script(type="module" src="https://cdn.happy-dev.fr/sib-core/sib-display.js") -script(type="module" src="https://cdn.happy-dev.fr/sib-router/sib-router.js") -script(type="module" src="https://cdn.happy-dev.fr/sib-core/sib-form.js") -======= -script(type='module' src='https://cdn.happy-dev.fr/sib-core/sib-display.js') -script(type='module' src='https://cdn.happy-dev.fr/sib-router/sib-router.js') -script(type='module' src='https://cdn.happy-dev.fr/sib-chat/sib-chat.js') -script(type='module' src='https://cdn.happy-dev.fr/sib-chat/sib-form.js') -//- link(rel='import', href="https://cdn.happy-dev.fr/sib-core/sib-display.html") -//- link(rel='import', href="https://cdn.happy-dev.fr/sib-router/sib-router.html") -//- link(rel='import', href="https://cdn.happy-dev.fr/sib-chat/sib-chat.html") ->>>>>>> e595053... pug syntax for scripts diff --git a/src/error.log b/src/error.log deleted file mode 100644 index e6e25d4..0000000 --- a/src/error.log +++ /dev/null @@ -1,368 +0,0 @@ -ImproperlyConfigured at /members/ -Could not resolve URL for hyperlinked relationship using view name "member-detail". You may have failed to include the related model in your API, or incorrectly configured the `lookup_field` attribute on this field. - -Request Method: GET -Request URL: http://127.0.0.1:8000/members/ -Django Version: 1.11 -Python Executable: /home/ubuntu/dev/test/ldpserverhdparis/env/bin/python -Python Version: 3.6.6 -Python Path: ['/home/ubuntu/dev/test/ldpserverhdparis', '/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python36.zip', '/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6', '/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages'] -Server time: Tue, 30 Oct 2018 16:22:14 +0000 -Installed Applications: -['ldpserverhdparis', - 'djangoldp', - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - 'oidc_provider', - 'guardian'] -Installed Middleware: -['django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware'] - - -Traceback: - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/relations.py" in to_representation - 400. url = self.get_url(value, self.view_name, request, format) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/relations.py" in get_url - 338. return self.reverse(view_name, kwargs=kwargs, request=request, format=format) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/reverse.py" in reverse - 50. url = _reverse(viewname, args, kwargs, request, format, **extra) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/reverse.py" in _reverse - 63. url = django_reverse(viewname, args=args, kwargs=kwargs, **extra) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/urls/base.py" in reverse - 91. return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/urls/resolvers.py" in _reverse_with_prefix - 497. raise NoReverseMatch(msg) - - - During handling of the above exception (Reverse for 'member-detail' with keyword arguments '{'pseudo': 'alex.bourlier'}' not found. 1 pattern(s) tried: ['members/(?P[\\w-]+)/$']), another exception occurred: - - - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner - 41. response = get_response(request) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response - 187. response = self.process_exception_by_middleware(e, request) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response - 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view - 58. return view_func(*args, **kwargs) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/viewsets.py" in view - 116. return self.dispatch(request, *args, **kwargs) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/djangoldp/views.py" in dispatch - 126. response = super(LDPViewSet, self).dispatch(request, *args, **kwargs) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/views.py" in dispatch - 495. response = self.handle_exception(exc) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception - 455. self.raise_uncaught_exception(exc) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/views.py" in dispatch - 492. response = handler(request, *args, **kwargs) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/mixins.py" in list - 48. return Response(serializer.data) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/djangoldp/serializers.py" in data - 16. return ReturnDict(super(ListSerializer, self).data, serializer=self) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/serializers.py" in data - 262. self._data = self.to_representation(self.instance) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/djangoldp/serializers.py" in to_representation - 13. return {'@id': '', 'ldp:contains':super(ContainerSerializer, self).to_representation(data)} - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/serializers.py" in to_representation - 683. self.child.to_representation(item) for item in iterable - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/serializers.py" in - 683. self.child.to_representation(item) for item in iterable - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/djangoldp/serializers.py" in to_representation - 77. data = super().to_representation(obj) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/serializers.py" in to_representation - 527. ret[field.field_name] = field.to_representation(attribute) - -File "/home/ubuntu/dev/test/ldpserverhdparis/env/lib/python3.6/site-packages/rest_framework/relations.py" in to_representation - 415. raise ImproperlyConfigured(msg % self.view_name) - -Exception Type: ImproperlyConfigured at /members/ -Exception Value: Could not resolve URL for hyperlinked relationship using view name "member-detail". You may have failed to include the related model in your API, or incorrectly configured the `lookup_field` attribute on this field. -Request information: -USER: clement - -GET: No GET data - -POST: No POST data - -FILES: No FILES data - -COOKIES: -csrftoken = 'rJoY6gBfXiXUzx2vt44C3jpidX61XuS8d33rk6bsGTOwM4qdsTo3YOU21aXLPMbG' -sessionid = 'a7j0mj6zjnv7i2mko5bs17mynvy12rcc' -io = 'F3hWNi2N9qwA7YiDAABT' - -META: -CHROME_DESKTOP = 'code-url-handler.desktop' -CONTENT_LENGTH = '' -CONTENT_TYPE = 'text/plain' -CSRF_COOKIE = 'rJoY6gBfXiXUzx2vt44C3jpidX61XuS8d33rk6bsGTOwM4qdsTo3YOU21aXLPMbG' -DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus' -DEFAULTS_PATH = '/usr/share/gconf/plasma.default.path' -DESKTOP_SESSION = 'plasma' -DESKTOP_STARTUP_ID = 'ubuntu-N7x0WU;1540892856;943495;1492_TIME14942764' -DISPLAY = ':0' -DJANGO_SETTINGS_MODULE = 'ldpserverhdparis.settings' -GATEWAY_INTERFACE = 'CGI/1.1' -GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1' -GS_LIB = '/home/ubuntu/.fonts' -GTK_MODULES = 'gail:atk-bridge' -HOME = '/home/ubuntu' -HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -HTTP_ACCEPT_ENCODING = 'gzip, deflate' -HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.8,fr;q=0.5,fr-FR;q=0.3' -HTTP_CONNECTION = 'keep-alive' -HTTP_COOKIE = 'csrftoken=rJoY6gBfXiXUzx2vt44C3jpidX61XuS8d33rk6bsGTOwM4qdsTo3YOU21aXLPMbG; sessionid=a7j0mj6zjnv7i2mko5bs17mynvy12rcc; io=F3hWNi2N9qwA7YiDAABT' -HTTP_DNT = '1' -HTTP_HOST = '127.0.0.1:8000' -HTTP_UPGRADE_INSECURE_REQUESTS = '1' -HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0' -KDE_FULL_SESSION = 'true' -KDE_SESSION_UID = '1000' -KDE_SESSION_VERSION = '5' -LANG = 'en_US.UTF-8' -LANGUAGE = 'fr' -LOGNAME = 'ubuntu' -MAKEFLAGS = '' -MAKELEVEL = '1' -MAKE_TERMERR = '/dev/pts/4' -MAKE_TERMOUT = '/dev/pts/4' -MANDATORY_PATH = '/usr/share/gconf/plasma.mandatory.path' -MFLAGS = '' -PATH = '/home/ubuntu/dev/test/ldpserverhdparis/env/bin:.deno/bin/:/home/ubuntu/.deno/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games' -PATH_INFO = '/members/' -PWD = '/home/ubuntu/dev/test/ldpserverhdparis' -QT_ACCESSIBILITY = '1' -QT_AUTO_SCREEN_SCALE_FACTOR = '0' -QUERY_STRING = '' -REMOTE_ADDR = '127.0.0.1' -REMOTE_HOST = '' -REQUEST_METHOD = 'GET' -RUN_MAIN = 'true' -SCRIPT_NAME = '' -SERVER_NAME = 'localhost' -SERVER_PORT = '8000' -SERVER_PROTOCOL = 'HTTP/1.1' -SERVER_SOFTWARE = 'WSGIServer/0.2' -SESSION_MANAGER = 'local/ubuntu-N7x0WU:@/tmp/.ICE-unix/1459,unix/ubuntu-N7x0WU:/tmp/.ICE-unix/1459' -SHELL = '/usr/bin/fish' -SHLVL = '3' -SSH_AGENT_PID = '1383' -SSH_AUTH_SOCK = '/tmp/ssh-RgoHoRBUgMlY/agent.1318' -TERM = 'xterm-256color' -TERM_PROGRAM = 'vscode' -TERM_PROGRAM_VERSION = '1.28.2' -TZ = 'UTC' -USER = 'ubuntu' -VIRTUAL_ENV = '/home/ubuntu/dev/test/ldpserverhdparis/env' -XAUTHORITY = '/home/ubuntu/.Xauthority' -XCURSOR_SIZE = '0' -XCURSOR_THEME = 'ComixCursors-Opaque-Black' -XDG_CONFIG_DIRS = '/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings' -XDG_CURRENT_DESKTOP = 'KDE' -XDG_DATA_DIRS = '/usr/share/plasma:/home/ubuntu/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share' -XDG_RUNTIME_DIR = '/run/user/1000' -XDG_SEAT = 'seat0' -XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0' -XDG_SESSION_CLASS = 'user' -XDG_SESSION_DESKTOP = 'KDE' -XDG_SESSION_ID = '1' -XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0' -XDG_SESSION_TYPE = 'x11' -XDG_VTNR = '1' -_OLD_FISH_PROMPT_OVERRIDE = '/home/ubuntu/dev/test/ldpserverhdparis/env' -_OLD_VIRTUAL_PATH = '.deno/bin/\x1e/home/ubuntu/.deno/bin/\x1e/usr/local/sbin\x1e/usr/local/bin\x1e/usr/sbin\x1e/usr/bin\x1e/sbin\x1e/bin\x1e/usr/games\x1e/usr/local/games' -wsgi.errors = <_io.TextIOWrapper name='' mode='w' encoding='UTF-8'> -wsgi.file_wrapper = '' -wsgi.input = <_io.BufferedReader name=5> -wsgi.multiprocess = False -wsgi.multithread = True -wsgi.run_once = False -wsgi.url_scheme = 'http' -wsgi.version = - -Settings: -Using settings module ldpserverhdparis.settings -ABSOLUTE_URL_OVERRIDES = {} -ADMINS = [] -ALLOWED_HOSTS = ['127.0.0.1', 'test-paris.happy-dev.fr'] -APPEND_SLASH = True -AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend', 'guardian.backends.ObjectPermissionBackend'] -AUTH_PASSWORD_VALIDATORS = '********************' -AUTH_USER_MODEL = 'auth.User' -BASE_DIR = '/home/ubuntu/dev/test/ldpserverhdparis' -CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} -CACHE_MIDDLEWARE_ALIAS = 'default' -CACHE_MIDDLEWARE_KEY_PREFIX = '********************' -CACHE_MIDDLEWARE_SECONDS = 600 -CSRF_COOKIE_AGE = 31449600 -CSRF_COOKIE_DOMAIN = None -CSRF_COOKIE_HTTPONLY = False -CSRF_COOKIE_NAME = 'csrftoken' -CSRF_COOKIE_PATH = '/' -CSRF_COOKIE_SECURE = False -CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure' -CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' -CSRF_TRUSTED_ORIGINS = [] -CSRF_USE_SESSIONS = False -DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/home/ubuntu/dev/test/ldpserverhdparis/db.sqlite3', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'USER': '', 'PASSWORD': '********************', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}} -DATABASE_ROUTERS = [] -DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 -DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 -DATETIME_FORMAT = 'N j, Y, P' -DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y'] -DATE_FORMAT = 'N j, Y' -DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] -DEBUG = True -DEBUG_PROPAGATE_EXCEPTIONS = False -DECIMAL_SEPARATOR = '.' -DEFAULT_CHARSET = 'utf-8' -DEFAULT_CONTENT_TYPE = 'text/html' -DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter' -DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' -DEFAULT_FROM_EMAIL = 'webmaster@localhost' -DEFAULT_INDEX_TABLESPACE = '' -DEFAULT_TABLESPACE = '' -DISALLOWED_USER_AGENTS = [] -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' -EMAIL_HOST = 'localhost' -EMAIL_HOST_PASSWORD = '********************' -EMAIL_HOST_USER = '' -EMAIL_PORT = 25 -EMAIL_SSL_CERTFILE = None -EMAIL_SSL_KEYFILE = '********************' -EMAIL_SUBJECT_PREFIX = '[Django] ' -EMAIL_TIMEOUT = None -EMAIL_USE_LOCALTIME = False -EMAIL_USE_SSL = False -EMAIL_USE_TLS = False -FILE_CHARSET = 'utf-8' -FILE_UPLOAD_DIRECTORY_PERMISSIONS = None -FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] -FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 -FILE_UPLOAD_PERMISSIONS = None -FILE_UPLOAD_TEMP_DIR = None -FIRST_DAY_OF_WEEK = 0 -FIXTURE_DIRS = [] -FORCE_SCRIPT_NAME = None -FORMAT_MODULE_PATH = None -FORM_RENDERER = 'django.forms.renderers.DjangoTemplates' -IGNORABLE_404_URLS = [] -INSTALLED_APPS = ['ldpserverhdparis', 'djangoldp', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'oidc_provider', 'guardian'] -INTERNAL_IPS = [] -LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian BokmÃ¥l'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] -LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur'] -LANGUAGE_CODE = 'en-us' -LANGUAGE_COOKIE_AGE = None -LANGUAGE_COOKIE_DOMAIN = None -LANGUAGE_COOKIE_NAME = 'django_language' -LANGUAGE_COOKIE_PATH = '/' -LDP_RDF_CONTEXT = 'https://cdn.happy-dev.fr/owl/hdcontext.jsonld' -LOCALE_PATHS = [] -LOGGING = {} -LOGGING_CONFIG = 'logging.config.dictConfig' -LOGIN_REDIRECT_URL = '/accounts/profile/' -LOGIN_URL = '/accounts/login/' -LOGOUT_REDIRECT_URL = None -MANAGERS = [] -MEDIA_ROOT = '' -MEDIA_URL = '' -MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage' -MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] -MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware'] -MIGRATION_MODULES = {} -MONTH_DAY_FORMAT = 'F j' -NUMBER_GROUPING = 0 -OIDC_USERINFO = 'ldpserverhdparis.oidc_provider_settings.userinfo' -PASSWORD_HASHERS = '********************' -PASSWORD_RESET_TIMEOUT_DAYS = '********************' -PREPEND_WWW = False -ROOT_URLCONF = 'ldpserverhdparis.urls' -SECRET_KEY = '********************' -SECURE_BROWSER_XSS_FILTER = False -SECURE_CONTENT_TYPE_NOSNIFF = False -SECURE_HSTS_INCLUDE_SUBDOMAINS = False -SECURE_HSTS_PRELOAD = False -SECURE_HSTS_SECONDS = 0 -SECURE_PROXY_SSL_HEADER = None -SECURE_REDIRECT_EXEMPT = [] -SECURE_SSL_HOST = None -SECURE_SSL_REDIRECT = False -SERVER_EMAIL = 'root@localhost' -SESSION_CACHE_ALIAS = 'default' -SESSION_COOKIE_AGE = 1209600 -SESSION_COOKIE_DOMAIN = None -SESSION_COOKIE_HTTPONLY = True -SESSION_COOKIE_NAME = 'sessionid' -SESSION_COOKIE_PATH = '/' -SESSION_COOKIE_SECURE = False -SESSION_ENGINE = 'django.contrib.sessions.backends.db' -SESSION_EXPIRE_AT_BROWSER_CLOSE = False -SESSION_FILE_PATH = None -SESSION_SAVE_EVERY_REQUEST = False -SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer' -SETTINGS_MODULE = 'ldpserverhdparis.settings' -SHORT_DATETIME_FORMAT = 'm/d/Y P' -SHORT_DATE_FORMAT = 'm/d/Y' -SIGNING_BACKEND = 'django.core.signing.TimestampSigner' -SILENCED_SYSTEM_CHECKS = [] -STATICFILES_DIRS = [] -STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] -STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' -STATIC_ROOT = '/home/ubuntu/dev/test/static' -STATIC_URL = '/static/' -TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}] -TEST_NON_SERIALIZED_APPS = [] -TEST_RUNNER = 'django.test.runner.DiscoverRunner' -THOUSAND_SEPARATOR = ',' -TIME_FORMAT = 'P' -TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] -TIME_ZONE = 'UTC' -USE_ETAGS = False -USE_I18N = True -USE_L10N = True -USE_THOUSAND_SEPARATOR = False -USE_TZ = True -USE_X_FORWARDED_HOST = False -USE_X_FORWARDED_PORT = False -WSGI_APPLICATION = 'ldpserverhdparis.wsgi.application' -X_FRAME_OPTIONS = 'SAMEORIGIN' -YEAR_MONTH_FORMAT = 'F Y' - - -You're seeing this error because you have DEBUG = True in your -Django settings file. Change that to False, and Django will -display a standard page generated by the handler for this status code. - diff --git a/src/index.pug b/src/index.pug index 3ab8ee1..db89f3f 100644 --- a/src/index.pug +++ b/src/index.pug @@ -12,8 +12,8 @@ html(lang="en") div.layer header#header include header.pug - #subContainer - include menu.pug + #content + include menu-left.pug main#mainContainer //- #dashboard(hidden) include page-dashboard.pug @@ -27,8 +27,6 @@ html(lang="en") include page-job-offers.pug #job-offer-create(hidden) include page-job-offer-create.pug - #projects(hidden) - include page-projects.pug #project(hidden) include page-project.pug //- #client-creation(hidden) diff --git a/src/menu.pug b/src/menu-left.pug similarity index 100% rename from src/menu.pug rename to src/menu-left.pug diff --git a/src/page-project.pug b/src/page-project.pug index 7aed5c4..300e5d6 100644 --- a/src/page-project.pug +++ b/src/page-project.pug @@ -1,19 +1,26 @@ -sib-router#project-router(default-route='project-chat') - sib-route(name='project-chat') - div Chat - sib-route(name='project-profile') - div Project - sib-route(name='project-edit') - div Edit - sib-route(name='project-create') - div Add new -div.scrollY - #project-views-container - #project-chat - include page-project-chat.pug - #project-profile - include page-project-profile.pug - #project-edit - include page-project-edit.pug - #project-create - include page-project-create.pug +nav#jsRightMenu(role='navigation') + sib-router(default-route='project-chat') + ul + li#jsOffsiteToggle + a Fold menu + sib-route(name='project-chat') + li + a Chat + sib-route(name='project-profile') + li + a Information + sib-route(name='project-edit') + li + a Edit + sib-route(name='project-create') + li + a Add new +#project-views-container + #project-chat + include page-project-chat.pug + #project-profile + include page-project-profile.pug + #project-edit + include page-project-edit.pug + #project-create + include page-project-create.pug diff --git a/src/scripts/index.js b/src/scripts/index.js index d15e55f..5b9e966 100644 --- a/src/scripts/index.js +++ b/src/scripts/index.js @@ -2,6 +2,9 @@ document.addEventListener('DOMContentLoaded', function (event) { const navBar = document.querySelector('#navbar'); const btnToggle = document.querySelector('#button-toggle'); const menuWrappers = Array.from(document.querySelectorAll('.menu-wrapper')); + const btnRightMenu = document.querySelector('#jsOffsiteToggle'); + const rightMenu = document.querySelector('#jsRightMenu'); + if (!navBar || !btnToggle) return; btnToggle.addEventListener('click', e => { @@ -35,4 +38,8 @@ document.addEventListener('DOMContentLoaded', function (event) { }); }); + // Open/close menu on the right + btnRightMenu.addEventListener('click', e => { + rightMenu.classList.toggle('offsite-is-closed'); + }); }); diff --git a/src/styles/icons/custom-icons.scss b/src/styles/icons/custom-icons.scss new file mode 100644 index 0000000..543a627 --- /dev/null +++ b/src/styles/icons/custom-icons.scss @@ -0,0 +1,115 @@ +/* Custom icons */ + +$ci-filename: "custom-icons"; +$ci-font-name: "custom-icons"; +$ci-font-family: "custom-icons"; +$ci-font-weight: "regular"; +$ci-font-path: "../fonts" !default; +$ci-css-prefix: ci !default; +$ci-version: "tlnzh2" !default; + +@font-face { + font-family: '#{$ci-font-name}'; + src: url('#{$ci-font-path}/#{$ci-filename}.eot?#{$ci-version}'); + src: url('#{$ci-font-path}/#{$ci-filename}.eot?#{$ci-version}#iefix') format('embedded-opentype'), + url('#{$ci-font-path}/#{$ci-filename}.ttf?#{$ci-version}') format('truetype'), + url('#{$ci-font-path}/#{$ci-filename}.woff?#{$ci-version}') format('woff'), + url('#{$ci-font-path}/#{$ci-filename}.svg?#{$ci-version}##{$ci-filename}') format('svg'); + font-weight: normal; + font-style: normal; +} + +$ci-icons: ( + awareness: '\e900', + businessman: '\e901', + information: '\e902', + list-1: '\e903', + sale: '\e904', + armor: '\e905', + chat: '\e906', + list: '\e907', + network: '\e908', + offer: '\e909', + reaction: '\e90a', + add: '\e90b', + appointment: '\e90c', + desk: '\e90d', + file: '\e90e', + premium: '\e90f', + team: '\e910', + beer: '\e911', + networking: '\e912', + receipt: '\e913', + robot: '\e914', + team-1: '\e915', + croupier: '\e916', + learning: '\e917', + review: '\e918', + surf: '\e919', + document: '\e91a', + code: '\e91b', + hat: '\e91c', + beer1: '\e91d', + alien: '\e91e', + drawing: '\e91f', + feedback: '\e920', + globe: '\e921' +); + +%ci, +[class^='ci-']::before, +[class*='ci-']::before { + display: inline-block; + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: '#{$ci-font-name}' !important; + font-size: 25px; + font-style: normal; + font-weight: normal; + line-height: 1; + speak: none; + text-align: center; + text-decoration: inherit; + width: 1em; + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* Better Font Rendering */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +@function char($character-code) { + @if function-exists("selector-append") { + @return unquote("\"\\#{$character-code}\""); + } + + @if "\\#{'x'}" == "\\x" { + @return str-slice("\x", 1, 1) + $character-code; + } + @else { + @return #{"\"\\"}#{$character-code + "\""}; + } +} + +@function ci($name) { + @if map-has-key($ci-icons, $name) == false { + @warn "Icon #{$name} not found."; + @return ""; + } + @return char(map-get($ci-icons, $name)); +} + +@each $key, $value in $ci-icons { + .#{$ci-css-prefix}-#{$key}:before { + content: char($value); + } +} + +@mixin ci($value) { + &:before { + @extend %ci; + @extend .#{$ci-css-prefix}-#{$value}; + } +} diff --git a/src/styles/icons.scss b/src/styles/icons/icons.scss similarity index 96% rename from src/styles/icons.scss rename to src/styles/icons/icons.scss index 1ff8e4e..f85028c 100644 --- a/src/styles/icons.scss +++ b/src/styles/icons/icons.scss @@ -58,16 +58,7 @@ // text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); } -%outline-person { - background-image: url(/images/svg/icon-outline-person.svg); - background-repeat: no-repeat; - background-position: left top; - padding-top: 20px; - margin-left: 1.35em;; -} - $icons: ( - /* outline-person: '\f206', */ user-female: '\e000', people: '\e001', user-follow: '\e002', diff --git a/src/styles/material-design-icons.scss b/src/styles/icons/material-design-icons.scss similarity index 92% rename from src/styles/material-design-icons.scss rename to src/styles/icons/material-design-icons.scss index 436656b..5a3bf2e 100644 --- a/src/styles/material-design-icons.scss +++ b/src/styles/icons/material-design-icons.scss @@ -28,10 +28,10 @@ $mdi-icons: ( ); %mdi, -[class^='mdi-']:before, -[class*='mdi-']:before { +[class^='mdi-']::before, +[class*='mdi-']::before { display: inline-block; - font-family: '#{$mdi-font-name}'; + font-family: '#{$mdi-font-name}' !important; font-size: 25px; font-style: normal; font-weight: normal; diff --git a/src/styles/index.scss b/src/styles/index.scss index 417ea29..051e4ba 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,8 +1,10 @@ @charset "UTF-8"; @import '../../node_modules/include-media/dist/include-media'; -@import 'material-design-icons'; -@import 'icons'; +@import 'icons/custom-icons'; +@import 'icons/icons'; +@import 'icons/material-design-icons'; + @import 'variables'; @import 'mixins'; @import 'main'; @@ -18,4 +20,5 @@ // @import 'members'; @import 'header'; -@import 'menu'; \ No newline at end of file +@import 'menu-left'; +@import 'menu-right'; \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss index 7e815b6..d9c2144 100644 --- a/src/styles/main.scss +++ b/src/styles/main.scss @@ -112,11 +112,8 @@ h5 { overflow-x: hidden; } -#subContainer { +#content { display: flex; - flex-grow: 1; - align-items: stretch; - overflow: hidden; } #mainContainer { @@ -137,50 +134,7 @@ h5 { display: flex; flex-direction: row-reverse; align-items: stretch; - - > sib-router { - font-family: monospace; - color: $color-dark-lava; - background-color: $color-timberwolf; - display: flex; - flex-direction: column; - - sib-route { - cursor: pointer; - - > div { - position: relative; - padding: 1.5em 3em; - border-bottom: 1px solid $color-taupe-gray; - } - - &:hover { - background-color: $color-taupe-gray; - } - - &[active] { - font-weight: bold; - background-color: $color-dark-lava; - color: $color-selective-yellow; - - > div:before { - opacity: 1; - transform: translateX(-150%); - transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); - } - } - - > div { - @include icon(arrow-left); - - &:before { - position: absolute; - transform: translateX(-50%); - opacity: 0; - } - } - } - } + overflow-x: hidden; > div { //display: flex; @@ -278,8 +232,8 @@ sib-link.back { flex-direction: row-reverse; } - -.scrollY { +#project-views-container { + flex: 1 0 0; overflow-y: auto; } diff --git a/src/styles/menu-left.scss b/src/styles/menu-left.scss new file mode 100644 index 0000000..d420583 --- /dev/null +++ b/src/styles/menu-left.scss @@ -0,0 +1,207 @@ +#navbar { + background-color: $color-purple-dark; + color: $color-white; + // max-width: 16rem; + // position: relative; + // min-height: 100%; + transition: flex-basis 0.5s ease-in-out; + display: block; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 16em; + overflow: auto; + flex-direction: column; + font-size: 16px; + + &.open { + transform: translateX(0); + } + //@include border-shadow(right); + + sib-router { + display: flex; + flex-direction: column; + + .menu-wrapper { + &.is-closed { + .sub-menu { + display: none; + } + .menu-chevron { + transform: rotate(180deg); + } + } + } + + .divider { + height: 1px; + background-color: $color-gainsboro-a02; + } + + .sub-menu { + padding-left: 1.8em; + + div { + color: $color-spun-pearl; + padding-bottom: 0.7em; + font-size: 15px; + cursor: pointer; + + div[name='project'] { + display: flex; + + sib-display-div[name='dash'] { + margin: 0 0.4em; + } + } + } + } + + .menu { + display: flex; + flex-direction: row-reverse; + padding: 1em; + // border-top: 1px solid #ddd; + // &:last-child { + // border-bottom: 1px solid #ddd; + // } + cursor: pointer; + font-weight: bold; + + &[active] { + background-color: $color-mustard; + color: $color-purple-dark; + + .menu-icon:before { + background-color: $color-purple-dark; + color: $color-white; + // transform: perspective(1000px) translateZ(1px) scale(0.8); + } + + .menu-notification > sib-display > div:first-child { + background-color: $color-purple-dark; + color: $color-mustard; + font-size: 12px; + } + } + + .menu-icon { + //flex-basis: 2em; + width: 4em; + flex-shrink: 0; + flex-grow: 0; + justify-content: center; + align-items: center; + display: flex; + flex-direction: column; + font-size: 11px; + + &:before { + width: 1.9em; + height: 1.9em; + line-height: 1.9em; + font-size: 1.6em; + border-radius: 100%; + // transform: perspective(1000px) translateZ(1px) scale(1); + // will-change: transform; + // transition: all 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.4); + } + } + + .menu-chevron { + width: 2em; + flex-shrink: 0; + flex-grow: 0; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + > div { + color: $color-spun-pearl; + display: flex; + justify-content: center; + align-items: center; + font-size: 11px; + } + } + + .menu-label { + //flex-basis: 8em; + width: 8em; + flex-shrink: 0; + flex-grow: 1; + justify-content: center; + display: flex; + flex-direction: column; + text-transform: uppercase; + font-weight: 600; + letter-spacing: 0.17px; + font-size: 16px; + } + + /*Fix: presque doublon avec main.scss ligne 71 qui gère le nombre de notifications sur la cloche */ + .menu-notification { + //flex-basis: 3em; + width: 2em; + flex-shrink: 0; + flex-grow: 0; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + > sib-display { + > div:first-of-type { + color: $color-dark-lava; + display: flex; + justify-content: center; + align-items: center; + width: 1.7em; + height: 1.7em; + border-radius: 100%; + background-color: $color-mustard; + font-size: 12px; + } + } + } + + &[id-prefix] { + display: none; + } + + > sib-display { + display: block; + font-size: 0.9em; + color: #aaa; + + > div { + margin-bottom: 1.5em; + + > sib-display { + cursor: pointer; + display: block; + padding: 0.5em 2em; + } + } + } + } + } +} + +@include media('width div { + + nav { + + > sib-router { + background-color: $color-link-water; + color: $color-purple-dark; + flex: 0 0 auto; + font-size: 16px; + font-weight: 600; + + > ul { + cursor: pointer; + list-style: none; + margin: 0; + padding-left: 0; + + li { + align-items: center; + border-bottom: 1px solid $color-lavender-gray; + display: flex; + margin-bottom: 0; + margin-left: 0; + margin-top: 0; + padding: 1.5em 1.5em; + position: relative; + width: 12em; + + &::before { + float: left; + font-size: 40px; + margin-left: 0; + margin-right: 1.5rem; + } + } + + > li { + @include icon('arrow-right-circle'); + } + + > sib-route { + + &[active] { + background-color: $color-purple-dark; + color: $color-mustard; + display: inline-block; + } + + &[name^='circle'], + &[name^='project'] { + + > li::before { + font-size: 40px; + } + } + + &[name$='chat'] > li { + @include ci('chat'); + } + + &[name$='create'] > li { + @include ci('offer'); + } + + &[name$='edit'] > li { + @include ci('list'); + } + + &[name$='profile'] > li { + @include ci('information'); + } + } + } + } + + &.offsite-is-closed { + transform: translate(12rem); + + & #jsOffsiteToggle::before { + transform: rotate(180deg); + } + + & ~ #project-views-container { + flex-basis: 95%; + transform: translate(12rem); + } + } + } + } +} diff --git a/src/styles/menu.scss b/src/styles/menu.scss deleted file mode 100644 index 1b34ce3..0000000 --- a/src/styles/menu.scss +++ /dev/null @@ -1,208 +0,0 @@ -// #navbar{} -// #navbar-router{} - -#navbar { - background-color: $color-purple-dark; - color: $color-white; - // max-width: 16rem; - // position: relative; - // min-height: 100%; - transition: flex-basis 0.5s ease-in-out; - display: block; - flex-grow: 0; - flex-shrink: 0; - flex-basis: 16em; - overflow: auto; - flex-direction: column; - font-size: 16px; - - &.open { - transform: translateX(0); - } - //@include border-shadow(right); -} -@include media('width sib-display > div:first-child { - background-color: $color-purple-dark; - color: $color-mustard; - font-size: 12px; - } - } - - .menu-icon { - //flex-basis: 2em; - width: 4em; - flex-shrink: 0; - flex-grow: 0; - justify-content: center; - align-items: center; - display: flex; - flex-direction: column; - font-size: 11px; - - &:before { - width: 1.9em; - height: 1.9em; - line-height: 1.9em; - font-size: 1.6em; - border-radius: 100%; - // transform: perspective(1000px) translateZ(1px) scale(1); - // will-change: transform; - // transition: all 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.4); - } - } - - .menu-chevron { - width: 2em; - flex-shrink: 0; - flex-grow: 0; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - > div { - color: $color-spun-pearl; - display: flex; - justify-content: center; - align-items: center; - font-size: 11px; - } - } - - .menu-label { - //flex-basis: 8em; - width: 8em; - flex-shrink: 0; - flex-grow: 1; - justify-content: center; - display: flex; - flex-direction: column; - text-transform: uppercase; - font-weight: 600; - letter-spacing: 0.17px; - font-size: 16px; - } - - /*Fix: presque doublon avec main.scss ligne 71 qui gère le nombre de notifications sur la cloche */ - .menu-notification { - //flex-basis: 3em; - width: 2em; - flex-shrink: 0; - flex-grow: 0; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - > sib-display { - > div:first-of-type { - color: $color-dark-lava; - display: flex; - justify-content: center; - align-items: center; - width: 1.7em; - height: 1.7em; - border-radius: 100%; - background-color: $color-mustard; - font-size: 12px; - } - } - } - - &[id-prefix] { - display: none; - } - - > sib-display { - display: block; - font-size: 0.9em; - color: #aaa; - - > div { - margin-bottom: 1.5em; - - > sib-display { - cursor: pointer; - display: block; - padding: 0.5em 2em; - } - } - } - } -} diff --git a/src/styles/variables.scss b/src/styles/variables.scss index 4d30014..8e5ff9f 100644 --- a/src/styles/variables.scss +++ b/src/styles/variables.scss @@ -18,6 +18,7 @@ $color-bombay: hsl(215, 9%, 73%); $color-dark-lava: hsl(216, 4%, 22%); $color-link-water: hsl(221, 51%, 90%); $color-glitter: hsl(222, 57%, 95%); +$color-lavender-gray: hsl(229, 25%, 79%); $color-purple-dark: hsl(233, 18%, 29%); $color-spun-pearl: hsl(244, 10%, 70%); $color-majorelle-blue: hsl(244, 73%, 62%); diff --git a/www/fonts/custom-icons.eot b/www/fonts/custom-icons.eot new file mode 100644 index 0000000000000000000000000000000000000000..25e855dd611356cab615d9b9b95c04b11463ff4b GIT binary patch literal 35452 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
sAqnqU(aemn27Nmx0se&b< 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

Dm3*6dHK?D8*1$S+gA!yf3eetY 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 + + + Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/www/fonts/custom-icons.ttf b/www/fonts/custom-icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..55352f0e4664d609b931b62bbbb327136a40946f GIT binary patch literal 35268 zcmeIbd7NZbc{hH~-IuC+>(*Y?wO3bFcUSdNRoz|PJ>5OiJw5xt3@{tRE-*77vJEn$ zf`EWR6vQYb5EoQl7f|B@QIteN5@HmhA{yV1ioW`)QGan<5;bJHc)!oNRlN*@A@7^N zejmH5?mhSH=iGCi^Xw%sK@cqAMnMurcAPQXaDwVIVjjcy{0m=o!IiN+&wNM_SPIX( z4qkBhO56i@rn`Rdvez8=i~jpRg6E@xaI1Xi;tMVck8JoeL3rbJNFP6h2<-{!$9R4i z&%K9Ub^^H%T9ekL@TLHSnvF?4(N z-#S6~NnU#Vg~x?;623^Jx#<4ocz{}?ZwhJNUE;Y?f-FoR-V}5}#6J^qKgqwa_`(ak zRPHAN53?735R*}EWxY&b$mOhv69u6)$+Ily`~7j2aP13ENOwq22yyh{G~p(uFqcJG zf)!Ye&0`=1H4=`-GOXDcZ_To?(Q>h%YD283;5NYUkY?d15@#5a5P>9~L1`?PYBr*g zFqIk`9dA-Xw1K)1i+U;C7)LnGyrPt+5pD7;lnV_lHPNEJ*bLV-D=(VOsE1Q*Et_RC z)YTb=^4)A%JW%(?%foDpC-O^oG+x)L7^zk)lzH}1OzKDXMW(2o#Wr%5Np;A`SuQV%4@mTH@QIz=Slw8bkG|e&E-!+3Olf+PRwpyJ{ zhD3>}K~pgm#bhbfltopNR8cln)9H8cG27pj6jAocq9Vz<$Ydl-D6blJB^s^RhKd>x zCCNVv7hFDdeMvS5}QBfO+#b+A| zsK&l^N;-6ZD6PDbDhnm+imEC`H>aJjP;pjC2l%l zQIus-M1sti$P9JBab0IXHSmDZqZ&i~Hg!yoMbKvqFqC{oHQu5cPr9O|$|?(EtY04Mw}Dso|lOAIpc(QkC{^3p-M`83hT4Od+HkxW+Drb%zc_^ zYSMF>xv^ewDeSfncz3pY<3Mx74ZA%(<2?^;Y&>^gCUX1jnPK&{(^$F(RHZ(BezUr< zebm$zH1hy++Y1lz;6uj>Pq!D?V+B-J%U>XBl8Bw81oBK2Yrc$<%`@R=HId~53euRY ziRb4Bp9|Y|xX_nM^`Va_shNe$=c5Se6k_iVMRqnbkw}KQ`_~O9-s*m#Tz)3<%>+-mcn>-KE#VSm@ycn}recA%1eaBOc#G?Yw6F~rc`v185Z zxqG~UKYetR0;9!Zal?`JF;>t_H(!@-lCYbUz~4%mG_~c^pRT2+5c*qm9`QFx^*nQ3 zI~=xMH`Ujda*txFy$R%#y&T3`RhQq+%(InRH=7h;H*Zy*{nCt8W`v;rBY=Re=AbfT{rPb5zyJdvJt-D{*Qt#_`?KObJ7`13~iD{)92I@!xZQjt0^a; z0en__oP;i^?7^8oK4o}tXji$C&nJ>a-7xfGGLg?$%DaXJhnG_dhLK9GXOg7&wY?$} zQ>lFZ>h0V2?%lrq>OB4^y!qBi*{|OGX(`oUx@tGmEZ2&JVxm-zn*mwHS(Iuh7n!+< zaNg*PS^-&6#V@2AID{A*8}~~Z@-Uy}D@Lq~r15dTtV)Pre#AuCf*Tw!2lIa1DsH|O z&X~ID*TQL2m;JgR7{V1VJTAQr@HHy*3TuQd!ui7G!eQZB0k|SSS-GI8;Vc6}Ku`)x zZis0LfGU9@f|;Y`(tlefDevapN~{Q|9cjAkjay=httd(XX8}&@JqnI5TV*@i$M{~S zUDkf^zbDVa;y+1+V~;$tc#Iu8#)4~NXx3H=SS;cK+QecU>4KG?O)V#~4Lng9UP@dO z=Ov4Tpe&#YmB~odO@d?Wz;Qv+KL5y~D?N5>u_*{WOK02pIL96m{#^K+@b|*kg#Ri0 zQ200D--SgS^a`u8^=uQ{#$Lm&XE(81+1uFN>|S<1`wZSsL3IEx2u?U6-={czI7Wv% z-;Y_5?@^pDoi`YZ5-eCN@(nypyBMz!cfRq5MUHQwPHgE2ituv0E?zOe@D{x+z)&@0 z<;8hj{DMMgMDx}NUm`Ir*3wpDeM=`*ehe6?cch^o6vpv*Voq%-w8NkTVRa&ETl(xo4hgr-6j}k%CLQw%CS@aJ6<*IQ0DzRb4D|7kLxhf6$y)u|j zUSoxYbGzWktd$|c;i!^`?N{t9IV@u3C ziiGsJA)KatvY|}+u|wB{m?+n3vdDr{ipKntiXr#)(|IegDIaABqQ${Mv>IH448AGZ zlm-bsz=3-ELx~4J?X6jJ@wdH=LMF^4fpcX7@MvxDpaZ9;sHKg)NcK-Xi>J;#1l zPL$i3LUH&11o-|ye>kA2=}=M9mGwZhCD!{{3=Ct~&otoHjQwk|@HuLV0f{iR!r~9M ze4>~2O;{6)-^Tgdmy(XA`Ve0z7TW%}ibAgd!l1_d?P5VZ$O`S}3JZm!i`z2^%~mx- zly#HsX&!uT@n|}m5ZUwWTFjpsvtMDyRLm^9Hf$fi%??YCOJWoA_oCVM-pxzRHZWd# zH+U!ByXoX6q?+C&jfdXkz|ypO^S=763=WD?i01snM0z8;_!MKBl?USwDqXNrXcS$- ziwfP;LfGa=5@lF0wcBa#a48(zS&8>q1^oFW@qfg9)tDQXHp`$BBtt$82#c)C=sykz zFd)KYfD2JQjt?tO@;R*8ewsB458Y0Yfi*rXB*|2* zh#Dyr+(Mx=H_HA@mVFNLD@DSGIKETF+43EnEdik*>=yRpTzM;?7Ir$e0+7|t8Bzg~ zj37Wo_ZH$Pu-n0kkl#brI|vc*^(^7^-3mBl05KXVO0I_kVb@{r#i9{c!!E9j6&2de zdD_v0G3R5Ti9si~A_Qy1XHC6*9bbgE=w`9~?%uHDgzuzF@7KO^mZAm%la)%%(k|7k zTBR}>2&l?gUnz}Rnskq5jh5PHZru2+8<;9rY8z{n@>Ib6VedLgw4W%pFYWzWHp=>T zd-UplRz%0&wNJAwZ6CGgj@gljP2cvNy&{hD4-WSa%ta&GWt4iE7KzRc^bfbsR1L9r zw6u{THV=1sY=416j+bq=oQNwNk#Qtu*z-VIXMcwggZIMsO@!!FB6zVeI@}>T zvv?YvwoSY-j#7B<(nA<<&p#q6w~!sA+Oq)BJ{RA-xjMRC|h*kSnX2?#Q9YV1MhDL~&sx zJLuDI8C?A1Ks+AU=f-00zJ2??iNlEhX)>Ko_!ISgRQVtAw&z#nrKlghI38!xawXl6 z^!UQaVk%Me=~O`c-`PQ@5?y?qKkPU6hvKC~fD$f@Rl}Qb5HQKnH@d~(I}N|CofS=0 zGi-0N_w44g{im1ofP{ez>>qk|%`5v`pY4^SbZKl^IVOdH>0ZW6fINi+cPQ!cadg{H^d6;XA@lh2H>?aESlR_&ba-5DK6Q zD=og`X-V+)5z{z!inY@sLb3?z!COokkS3mkz&@}}uUxAMsEu8N{Ded1QH&#~gyZH> zg0pszhSFaBt4jlkMMgAIVJOW}+Ev`fRhZ=pEVIe@gT@(_E7_C8U-dXIbZo3bVP95) z^pKtMCCyO#7o~Gb_k!#k(1Qk@uBkpnE+^*WaU~L-@444!i)X6UM6#eLGrHT&!Nc)h z^-Ohss9YDtR$paC1x;Q}CJKc_vZ}U!rVQnW=hZKZs&bLGT=Ruy+@EiVVl|&{X%esq?(dmq@czPG1Yjpw<)~rrXR|lr2+1I;Ki_K1U``&K34|ZdoOZWAq zF&g&GZjAJ}X+-8y?O&wR_XY>U1B%j@N>?gr!__NMywdq((hA*c7lMhjER~Z+P@h(0 z#w$tDgRG=t!}H3=)R{_ULKN%eL`sq>iDX5R((&Ao@-bz8Sa-AwWz4dQ@NZQib7Z$kvBf^+)t8hDq>30kF3hxpg75+~62jPDSKY|ot#X9$vn8#x* z#w4N~K*Dk8&S5Dhv9+Sx3SmPzIH8G!zJ}q*B=Vb6XM{RAEQXEI%!AK@q|R2rA-k51 z6XL_+y`RNOAcMeNB3NFLS}~2jF~D@C6ZWVnkVqisG}?2V6Nw!>#p)munP!2z!#8v* zR07#k0^IkS2XX1~1X{!sFjy-eJ3>o_*l~o65~}jq2f=m+Ksq4Hz%&7;7gR;w`Za?GnSZ|8FNedV(sSamvOcZelByo8En-MlNU02(` zX>V59V?d^u&vpX#2SW!!2k=>QA!99e}CyyKvKQei-5>zgp%xwVA8mIjwmjE&X z<<;4Siw+&i9s&Cg%)cY;jpFXbhs0}+AhmrPI(kF~x!nYj1eyV&5+=7l-~Pd+?7*e3 z%tXDxZRpbSRkmAFhwQ87oM(nqY~s_LtZlmh}P0GM&k)%K@@sT+(xiqGl?^ zc%mq>4}(YG==fJYw>!UEWPfRY_{DD|L9B702w}SCA#z}sUmAH&v z(0ZkX6ILr&g@lmDIxCVSP=vL6C_t2;I)X9!a*CQxekzG2OpBZdY^+nx)#Qf+ughC| z-VuPF0ou2wuJ!I?D2j7Y zsFU5M=@{YD!4ED%!HD_E&lbX6E2Cv#vD9-^$1y2lyeuJFMK;aG@G0Sx^bSQ}Zc72| zVJeknvEmr^F+O9>5%5O&(9j8zHPEbLO8Kl(L5XlR%vhx70_f(VBx9tc`_1g`{5(yh#A1O@_uYQV6VuFpy&N|R>{t+ZweoCpwt6&DQ&;B`KL{ z4T8A_0n_+=J}qq@4dxvge^yAV#RkK)(T9R@+w`{#+csK$vtjyUlH8Ztoa&P`hICbW zr)`e=O%=QF8AaEX@qiLE&o_gL;_FKoKmq+pyQYOKs@BN|N4HC|fdR;hPgV>tPNw^H zTl0somql#+_064r1oqD2Ux9E?g@8*{F4?;HOBPf#iKJQ^=@L}LcwloNE=toai&YJ~ z7u`cABMklACyD2al69kXDb2tofLv=jB0jq(80?{M`;&oaG~h&|e7M-Sm!9w}9=9Tz z&*x`;J#6{H#yaZ%IwNXDW@frl`h)mu$6EznTahlV$3pB3~|o zx(rLF;Z3RFB!O+=rY%uiGXSnrWTs$^oD#s?;|&DQowO>O5~G_9LnI_pR6{Oa@b-WHR(a z%zG^61foND`wD%BUK9g(Npi<;0A7AXNPsVXD>$;hX7lVk@jK%8#2<@475_#2g}5kL zQbKx-^d{+pD=0St9N5?`j@A;aziW8DTks&9!rJ)t#>Wo2s^(Fv_#6dc4;3m#zf8iAw; zn1z;iaYdb6JPMe_*$6l{2n`AqM!+_xkEr~L0RM#fb%G1A3L_E9<7Ef~U`CK9JW?-& zDH6bS1c3siT8Jbj1d`~(^K`-^^$2BJ`b1HT#9;U|MtI2vl|kX?NCc2N-0-dl)JLLq z#Ee9nl!^d-n#c@X3gJ9rdDIxLjS+lEk_H|W#gF3=@neV|ZBYDZV+_{`h8PNrHtM5D zqSQL1cq>0hUiBF%c#ri_3ZP68xe*vC^I{ZPL`C$7sT-wZrOYRGv@@k+h({i8dXa%Y z)|I?gYSMx#g7_*$fGy@%kw)GL(>aQWXTVP{k2jFV8^wypiG){)bMQrLvW``PdCOov za1hg3?0s5bqhq0Pf)pXp|K8TWfvwe`{k+8<}?&203&Bilp4cKEKl*p+wn-Q0d&yk+71^B3s5*rc&6 z(B%QTe1Z?^ICZ}}+~wL=MDifdveXmG--*75Ptd(o7aP@m0~8qW>4vYLLj6AJBc;UR z)@1L-a|3~iQmMN3;<)G}O8tKQt#8%+v#VOfL$@&sy!h{g)R)Th|4 zPH34YOZ;7*kixS|(w*%`fMpp}SsRQpGh$&GePg-S6`_Ay5&lntC(qiyW5@I6+8R4= z@1Bo-bWd!@Y2N!@I3KId8%_7_RsZ43$;dFkbL-v<)BLhLk}9Iv{53ieY2{S<+a z0RC!+9*;uSFa!;Yjl$`|xx%H8WWPbUQ@Bs~fbdD-uY_+1KWDFIH$#g0Zk*Yi@?9Un;)`ECHARj$TeZFI9gGrzPjUp;t@v3hD&qb<+6C z66FD8gcx*bFc~mT~23v8P=#I# z)HB{t2S9UtXfZwDp@VK$#YCxTfs;;W4C8*(nl-{ALU&sy)W^=V#&W=WH@b1|` zdZ0*R0kT=*1AO%vM+Q)i@jT#%`Nn0Or^O}RaYrdKX+i-*zjPM zCL=p|C7&5IcIE$7%=!OUrQS#VAf9xWvrdG?RozHJ{_#iD#-D>xUQDF;HOAeEp(;Vc?pdN8@G%3-!5*;t8cR+0I#g zS={c;*cNDD2m&$l0>JaH1fHK0`h*&Ic@uygX9(vBUxqHmcc54JGvOGpe~IbL&(h$L zyhwYH<2|&rn}j|VE3|tcX$%#|nq!?WkpR$$U4a*Qyb%uytRl)4kA(Ly8IK77-Us#* zZMQUWD5xH9%Z|Ct?%r)iJe3dB*wNg@<|8EzM1Xc6ZC!5{k3q|Z?{^Z(ks1WL2(+9y z5x|_#X)hd6ATVvAPzB#^liiU@C=;QvMS#u~>%haU>% z`mS@%nTBF)=IivA0UbApRG!6HT&T^=)JS)=Lm;yUKrL(S|DfyE*T@lnK6+6sXNTnr zsEBIpq{~!~C`0>B#A-@0HqKJmo{V^6QgVuDKUO5_PuI3B{&wfijka}>>D=>IKXS~6 zO^403zjOEK9X}qtn=;TPdIW!iOC;mJayrvVhT8k6MfRak(%Cks8qYwQDOix2mc>11uzJYq5<+*FB(SG)c zC%!i{^eK9#;R%{>Bjk-YLf+_yu2H|x!il&~cqKFrS1rUAP-a>g9`Ii+>0SNQB2^(! z3^-q?46Pz6qO@rq zJr4g8@#3(tqT7TL6yL?Plj$S{P25!KyhSSHqIyidr>VU3_9(N**VEXsLgDEH2ik=L z2iP4O;tTDE;~Ns}CV<=btdsmImfE`aXr?T^ew_&Zk1oIGt*Q+*S2l731gh_a0K4}J z*{{5A1jpO?N5L!~9R<_;=x>;vG9T4~W_yt&A)g`7MD^Z)XR=#d%9{ZQ?7I zZzy;C;e`e1m0yXBW!?f_U;ExuV~rjb<%LLS#H2vR_ox~$+@z+88Y@70>%Pm#<4V+yK5K)L1@#K9ue*1po1tS19s@H$y*kld9Z&v!b@| zv&;uIjpQ~YvT@yVqd&YXFjB=$)Fwp z3tWJnL>HG#LawtOmK^6nrgOjWLE%%7>HM?sTNY$FAX%H(``Cxs$2kZ62ke*PHt}@v zOz}$b1`#axQdcRL5Uq|5ZwJ_Oyb$kF1CQ3jDDgTuzXsz>i)=w#Z1rlhwa}2I*la?;+*5vR10xDNH32cUoSNr$_+CQQa7bC zfHJ&HWqF)@{4W|?XR5gV!kX@6p@Jps6>9o)t}V^0hq#g?8C_mI5i17I#S|EP(_J+@ zyt)mB9q;iMDF%GGjtGQdqVLczIOwLu4l_{XZ@1}018s%98ky;_?K z1#!6i`4=gXF6$|P@7a`&`$s~_c(741{gs|n#b@-7hmt)JwJ%kR7Yz*pJfje=<_0y1 zYG0Eo+GrjmeLkm%f5KT)rv;*g7IISqPjkb|=Qk6=| zP8j}8L$VB+c~;CdY`o>Oso2@^g5n!5Y?CaFbnGP`ly{`(BaZjVFPp8&Qr*V1;jKgG z(w552_PYYs_U%@HN~ej&Pf=)cwzgS{=x#x5)@FA>Q&H1!SYddkWtoak+;l<@d0)3e z*aKM<76x+R{XkTb35PPWIj=cboa_WIw z8!druiRcFK@A=t7XBR$PBHGbTBSM6Zw~ipxOG73=;$|$$wK$QSB2fp)CP-liC?!}K zr1nX6DqfXdtzF?O9hl2doQ^J>5y;Ys1i+_510N3s>hLCB#si5-msuG&#`uTNgm++j z2ki1yvVq_=$vU%hQbtvhsc@;S$JFr-22~@8HD;;G23Q3>O5s06_Y{HZ(d)~tgvLoqZviE0Kj|!Neae3i*x4AcZ(m}3MCUzhLE*e zP%8yA-$F%E-ZHZhI+-#Mgr_QoS_!9*I4PeBrEN)Z3PH1!AaS<|0jwk^U5t0V>EPUj z5tIsA0CxuYuLk`a2347W5rVCsI)2^yI3(8p-gDUYIao7?&RTM~RZH!?aYv5>X95hWb+X2yAcBM@`4EYuZxYvV8+tSmbJ2%m(hG#T^akPb$>@ z2M}vz=K7+rV3Q=D8ZG*$AU>+`SzIhvc{PQZTuT>JBOMkEuqdIkA(q23mH1pG-RC4x(eM23?rnGa%xr%ia^FJ==&>XHtgp8(0tN*LYD3a_e}yx zW?^55@v4JG2qi=;3@j?m(cED$YM_N4O5teMoVcbsx*a2P?MQaO2PGiMHkCB&msR7h zR6{n*P-)6Y*I*cfF{%L_26yO7D2>u;6srLm2!?;myZPrk_kG=jL>2lVB_&My8(Kbk zE?y0tf28;Hedz`1UeNY2p(qT)#%+`EcH!f&8vc9m_I@q2Sr#W?hY&lFB@cYRL*}ez z)xVU8fRP>(S#SdOb6qBoK?Hm~V@}V8Q{xIn6hj9j{R2vKXiHrDSk!wMuQ1P+VTC=X zN9GZgGNwcTg8|xcinf+7>ht~}Z3@01$-o8X4V3?^?f8YM$q5jU3FXQ$O4v*|97Qw}5xomC_ zhLd}GixDiSjdCQqu{Kz53=B*=0eNxM6X6Y%$}Kn0o7*`#u`}Pxn!}e5Pa{YBSSQeg zeap_t$sIY@Rs8-`y41U)T*+nm)1*8(+}pUiSsb2}*)Cq7y2dLovGZgFQtY}$FO90V zaeG&Z^!69UhzGoRDK>8FW@@{`{e9D}Yguz(cB~k2XZ&u)Hy0K=BVIZF&_J{ftyBzH zibgjK4%XSz-iQN%R=G4#+nIJIckY~Y(mQIm6WfBcbr+xS1QHWrMDa zNx%~(;k6SNWag5|xy%IgYJlui z{mK=GRa?3GYA8}2z5++&@vBu^y$W&azQw71imm=?qF&z;!QYm8ePU%8>w3lw2Hlyy z{-L4%{^_9W2B-TG&Q3<5U>4^`84J)Yp$2`q{Z$=uBiG2Rh5nR$h~U|^>{d#C4UCav zYcqxm0h4a`*gv62_G-!@Jq{>mYR8B8!!rbxnY4YoEPG#3Y;Kd~ZQH>QUvvB_>8)!J zIOoM(^}0Re24B=yj3MZ5h(-Nr*9OGJnGc|A1Et7?0_dxu13QT+P%}d;fV)C>%?|@R zp9Dh61?JGsQXCbAZSgHwKi6UXNYFanB3vL`48H2yg$IOZ!5<^eD$yCF%Z%5EH;47o z!cx+Jj&ni+JZ7#N9RhLInT+3HjbEEt{@ zmPwo#$u^o4;b}^GkhH=PVs8z>+e5LUfEyKwX?ZjRjZ0KPIIvcPqy@@aP!@uCr?tXS zLz6wbZ{LIuXRLCydMHd{LtP9XQm-aV>PkiaAl!|#Z^aq=30VnR8f)ULy9dZCOF}d9 z9!WAr+2Z%vReu&J$@0yV_vgU1?v&+HfMvem|HW>aaa|f?N@|y+Xb^#bGkf|>Te#`D zIuxz1wluOV)2s!CQx_Nx+vNX359=Fc`kULo{v#+!hyiA*UkU?tkdB_36=OYk{E=$1 zK=`WOHwFUG(2Ep;Nzx1O{|U`}9a_EV7Kl4$VS_AAG zygXR4IGu~2f3T(rrg;kd0DoL1njj(P1#6z7Gj0SKL5vc`OMsax1H@beX3+?dNZ zLJK0Bl@5Gd?%{{it}SSHQ3DX!oKTV^jH?P^gAmDF8RK}s&YvsSqw$!tr1P_p+f))z={9?_{?Cp zaz`z*oZ|LqSjydPnUE;2diFI!m{)#}u6&?yM$<_M4VOCwax_%fE$g(x|4pz&ypC!pAeS7+q%y<|CVzy=)iS=b=phtYXI<=-M1$}`K4!Z5! zgR1$Yed`(6Kv)*{W<(MDNkW=2Vt#+j$dm!@Ky!iKfHrWMQnq!g<+ZRQ-S;s4(g88A zhkc|J;0x>iW|m8ln`Z=lz94<~yMDiWPc4g4;*+gC+!fVk3JIwvD#=K*lV&O}C5!D( zD|5BloZ=75PJe8gYMPGq!*~iGMP?CwK2CFf!hTH9x1^n$_ugnZ;{Nh+Oc&f;fp+_TS`#-PU%DPX&MkYI~de`=1 zA(<@fe-lmDn;wOXm;#U#leGBy^9(gZ&$zVzWsjS;?Y#R`C&EzwoMi6`X_mASvP2A5 zNlqZH{YSh?s?2;8+{4=ebB_S#x}c)Q0C8Ufe-)n<{zmvB^dtTa?$ZqTIU8nc0b>cm z(RTbV`6_}J82~$YL4%4YbVcig2y*>lj^TlgRe>rpNuEcb>)e5J9VrnIJg%`^DUtOD z1gIW>LU_rSjtAKy98o23xh%Ra7b~$2$)t_NBHWt=*OnlkXQeI<>fxt=DIH)8)PzIh z%2?hTE&M*AECwV#4@#5Ew}&yE%*wV4b8-8qWxSbw60dG z*K4(Pq0pgx2@aQT)65b`uss)T+H}$E*}+;&Gp$QeAb^6Oq@EtgM9%u?ZCbCXrJ7+$ z3O7@l*{i*e?LI)MpZe%ok&Jj<$8{3Pgk2O^c9*m=y!ck|r!WZq2R;w?Vgcq0*ewWO z--!oLPu5JrZRi6I;d{2i3yu=SASW6$S{iv{0#guGpe(hu(c9+Uuh@a!MtvMc#HM49 zwC2PB#%%@8)B~Cpn7*%GtImb+H&?CI?@OOn<8Chw)J{v^w|n=di!R#qOaF-NU_j!K zZMAQGj4a?DgQz*vKEiI-XV79;6vODrjNZO0(Mi5NL-zUjzVIvX=kJ6DV+Fj4 zwU9S&f|kZ%;U3|A&{=#?_!#sSei&VUAsz?R-SWAkot49k)501eA0 z292OuV5y+GkcHHcI<8FUPA(9@I)I}R@}YunrHOp_cDHOEoN8LVK#aRba2F3LLOP69 zi<}y{So78_9sPuRaAK~}1S-?n4x{6+7vxQmn-+!CCpg{pQl`5e7urL;v5Ux-7%i-_ zxFtLR=z@m&s80S}(H?Cb4tQ{&&(E_vRjk-`D!X&O{r$ny^ZC-9SNs{&bn|=mZvIMjr8h439%gOZ~xOR`CAsRyX6-4i%1&YUBCkk zr_*5y*Fi!lmeP56hIa01JrfFMjLY(Q^z!abr9bc7r8_TN92l6K91y>8 zVJ4l<BVhKZ~snw$0N7gayo{b&p#5FpYNG;CtZ9Bi+6~J7cX-QBO?V@ zJe?_9nx%z!xqoV^zZ{v$Wv3#cP~NfK!FaqH=v5Lfb=FNNy`g4L1uT;bVPu8Dsb)Su zPj%1d1L?48DsXs0lYp?L)WLb>gX<2|8+4wJ3iA?hfo*y8z zm~i5FXfi1qzzY4P3cN&oiC0823~w)@FA@-aPm5uMwhQ%Te3V!w-5z-jM#6lXQ6GqT z;&pcEwDA~$9gYPb1<%cQ8%OU^EtxJ-?VwP*Q5ZEcWBt>1q&Y$d-~eB15*Q_9|J1+HuGvw zKNYQkb?62q$X*nnz0v5lMq{$4nSc}kBIl8@Xk=Rx5#tFRIY8jbnh`Y9GugSR$vuh0 z#3&SvWGE6!8xmtZiIEs{9MJ9{(8*xUFS6M)-PlNcVx+z~5*Ztjk!o zkX>Jl4unrbZ@_L=wdQ0zzNnIeAMuV6z zl*&{pRME9Bv+&&-sBM>~R>W-7cN)kGy}Y?VuIvJOdToBP(cBh^ znkJ+=)ooxdRIZ#w)YfR!GG%0vH68Be4B6*PB=$^B&26}D@Gvk2R48o#H%Nmkx#IdP zy%9N}^{mNQ5i4`qf?u&qeMaAWng3+q}F zyW(-;)my?w;FzBUj`bevkuG1C)N8UR~iMr*e9FfD= zLckW`qjn`dO`Bx~3bWXNoczTWTuCC+`G`}vg(Iu$zL6+Tf(5iSVbH|)S%ugUgejwq zR)-SqTJ9oS$OB${^Ae6oWr)nj&d#H^A+nQ0mWW&ANuEVl=XP`NGziqS+_VlYst~fkXyG%_-i7p1b(+SO-24C3a>i%*7 zCa=?wFag$qZQQT}(X^U?4XGOTL!zZC_d`x-`}|?p?9bAe=4ZA}I<(9snKyAEPfFa~8fNdq|xfhHt&B=_#*h06t} z9F3G6BLI}rEhzVmpP3;*DfR>n>0}T-v?ol{Ivi61uvf|? zLu~^6@)!Ue%L)ZV4vbN~iq-(00?3?Tv`TJLJc^~GU|NJ2YIP-iY)h#x%Fo9Jc<5<( zH`(x-T`CFe*i*E~Cr>*Ns|Ert3kJY*T6~s$B?by3Su7{XTBUu~bXBZnssJKTTs|<< zz7`%_lVGs0^E}MwJm@d8WOOEJ#w`(w*GfQfDz@Wi?6lM1`PG3O{s!H$^z(RaZ^0sE zIuv2B!tmaCNZUzCucXW6tycS+6!9*9^yvFZO zZc5Uq@P{$sA*#Y-Bl9Jq3v7Xa{ULhSc>J?1?&*JoE>F1u(z-evQMx_*gt|k=~5q^6~VdjAjmx#Bws5P zI^zhX;E_u{%Dp{8%3I5c9qqMF*2;fg_v+eKx3nY`7B>K)%B+Un%yG7sI$0KY}6S!`f3X~uW~EMO~1L(N{j#vOefNy zi1K4ZAM*Bzb+BZ)0#1U2gBcPoO@bFv_#eeF_R1!O=ra2`3ejc9ZVK^>+jYWeKI`#_ zkb>VK;B_1!Nf+Du>ZHIr3LkQz1*|lbZVL&(fE_pFs3Ov|N>fYDlC9If)rJ}cWGb|P5 z4AO2a-P^}7cMz}g7u1ITBs_`_X21u-B;vvyzZa<|a0J$kZ1M=Yw0{`3+Y2;_3{KP9 z1@_p%g@NhZurfw7G^S3LOH*nv-3MU1(3cYN+N-VMGv30Ls&12TXjq+dcgWJ9;Jq!Np$jX2B%|(Yu;dA79orbHH?$5G-0{gGFrj2xb z!>nwOoN)a9Hpd&hO$?1DDLUf4x+XLeTaD4?5_6UGzCdNwyQ0w$DdTdIl-30mg%=Z! zUbU21ha|3aXx5f8#oqxzR)A22S}O9g@O{mpC_h+8_KGFt9WouH>Ldwp+JW}yMWB7q znw+de)tKI5o+ReV(z<|YAzZ}*=ELI%m!*rpf_xNE!RqnbA^2dn6S@J!7KDc152Ayt z#Poy>B~3-TV?T*SUOEetLbkuh!hW@SY=4L>%Px`&2sy zWnIWUBo&4=ez04RM$S<|KB9~Y2Uwz{7+x7TzJf7>MP)#fAyfM*=va7dkjm&w=Z8KK zii&6hZYn_$5}5~iAzEQl)GwZ_YnDdM=o-nUJ`J)1x}ZJNd8pE2-tpLeot1#_Je=(1 z)+Ot6mHR*?gIGT0E=+#3FW>~Q?0g1XTIQhQ2CE)fOb=vxOS?x##`EEkYW0+2A=5qu zZzm=PE%K?we%c>xrk)?E)lMlC(u?N=qC_8ql;K82(ZCle0ve|vt?3?hUJnXeVTu|u z%^*Al%CI%!hYlSc;+>)GPP%;ud#{a`t>G;BxyOp9xAJld7zk~+(4hpaIFN{**Ve?w$yNCefp-zaFRrY zSd(Gu(u+Hz$}2hp(LX3acsf9rG=Bi+i^dt%+iUs`e)y^)*>VrctQbxCV)jsX_RZYANFf5j854@;y z=nYflHt`^yCdDHb%sK1vJ`KhWgXheuVmX;ATgDx}3GhbAiz*v-9j6pl{ZZ5KvGrgQ zK~lFb5smeSLhgos2im6LP-KkNO&|GCSi3h^aG}^&i9}-aQEt3MPQ+;6lLt4tFF(U& zE9{-X`qsgYmN~mbl={ucOva4EQt7-?LGTRd^?=_W_=BAem)>>A9*;wK;sYu8{J~C# z(@cM`(*eKl4|Y0#u+#a2ozDMH>~!#ZouFmgkp0EMLDs?4Igh=P9bs<=?YbnZ=8RfU z4xkf=+ypOan2ivhr|UnSI7^%qAr&l-u;r>=v9Ko!Cz@lJaT1SQ8xzGtriMclf;W5k zgrvIZmnlGpaKSt%KMH}}%mrdFlO+;`$k6e|7}3SVjN;@mSu8HKPgD)jTHtMSQ%*hv zIMn7O4@6f`0P|?14mHawL{B`aRz>2cA(2Cna&oehlUyoyW(mU7Bf)qkngxfrYMhEf zYY2MX;I4wuSv1ONXHKv~Ovz`)qt7a6w*qpOYUj08mI*oXD}l&m5)G7DmuPFTabo8j z-m&8_Ael}$9c&pqOyNfpit@*Qzj1TBF#2PgqQ~1Houls;Z0!z~&az2+$ zPBg(d7I%n}XL|z`l=()h#?HZyq(QK5w-OJ8AcK+}D>mV-x5#G3TCnnP^r4f5rL2Y@ zNVIIo%Rfs@AkMonwZ&UeKV&3`0oRSOFUfw*QT@7!{3-}CBWO?xZU%m~4XCxL`{6(U z#&Zy{D+)OpP?P|SHQxbG`mj!#9w2rNz8@@}+Sj+E0Ad3a9Wqz;4i4@uqXIZIVW**L zaR~c z21(C(^lM1Kw|(Z@;9nmsems7K z2ZvVfL+nv}z=p;~=Ug-5#}mHF?U+6GS;uKF_9u1{SJeZ%21d{*$RQFqKE=WaSRdGw zO;WaNM9JGZxKqG{u|-E_$oJBC0~|U6FOf)8vsc zDzhBPJrB`u$#j$ws0`PaUxFOoUS9!6NG%^g%VQ5=gwVkNtRNwpS2d|&p}h*1k}WgU zi4R0t{GJp9^s7irvZ9WCjM(j5Vk&$bgk3h6`p! zEQWn6tFWy#z&Zd#f#(%2&|mR%O#w8noWpbjy4wo_yOTq1j)vzzy$^bV2qoNlX7|8? zt(6)4b>kO0G0mt6FNt5->u3h}T&$Rt8&(^Uv6O*!v-)dx$;3zRbSu?Qg!ev9Z1F-LWFX@{f=v4{@ilV4)_< z&-IR2jdm>mp`gk*Fvz3O|eMA3XqHmEaDFa{VKcSP@9^G-^EXf}TOzMmzfV=cFIPpz0h$jsr zv;o5yrtMi}q}oF}9={XWgz|0&1c9B*eLRuM5;(M&3=#>V6uN>jdipywab%POV2D{N z(L{TKyG|tBQlK7!U=giSS_ZmmH2M)J*dQ6<} z+n8|sqvNNtOle`{EG-GQ1o?bAG9O9j^Khq-)Xo}Nm>N(IZJOO1DAenPGgvYno5|I; zkb{RaD8`ByuAO$kW}NDGvwpvm-#0T4W#3>V5jD)b9fCicOvuigMl!BI-UI%phbEZq z@2}loOhSR=oJ5xWV>WR%SfPnxF4+?viHlp~BcW6>S4<%NY%l#Bq$i8}*Dn4=s1(SF zZUhd^us?1IBx&bvY=~PM8{xGf5FH4@sI))ofjpY%zZUSba{}?K@7}QpX`VH;J*xcIUfR(@r?Q7JqlyH>V^yQduIdGE9g+?rXrD$q;4EB!zT4v zRZ=>7*gs{N;d*j*?~{%b7)Kg?BzxS=n=mshmv!eHkTag+*60f#}DBr90I%N@wYpWQ2mDn&gg_X z@n;MG1Va0!3j;mBg`1!+y#roL_X@8N4!|1na{NB}oAGOlZx{Xqb~>L1rt^8>Z@86C z7$`y?Ap8`YXWQ8x;5`H{uLW#`3JZ>Sjr<+LIoz-akl-11bMON5TTZ=Xfvhk8A~2B$ z^yLT%!7D1P(%|nD24iL4c7S1TqO3s2B7N z0lHBpkL3mU*s;JN(_u*Un=A7w-29w+r=jm0&O@gYpbRp8f}xz40ZQfOr=h(`RHN5* z5O<>$sGCr!S*9T;!i0!HF3iJ-kKqvyLu93is!8lP=9R!<;iVD&gU~Ey#7jZ`3J3i3 z%oP+6(}eJivSk>V4vU3mGa4_%4;KmyXD7Qg4}T)q>uaVIOB%%?oSue63w-y(p)HES zf1F5_wp4&a;1{g@PS#0e;4t;Cdq;!Qr#}*VbB_6FI>*ihE`l$UP*1ZtREQT| zQ79}v3(3jaCutGG!V`9b@nesHhNwJUC~PR;M^p>Dz28-SaxEu=U_gW4Z?Ay5d+gX! z7V$ss!*3ezR+PE1^u|7A2wPTZ4#LG4{^n|fO=U0u(8&q|y<_WWL#Pt+E!!h~OkdZZ$W2YFKAvilUw zprfoCOZFPjgk)AKwWHpEAIAEQRLX*Z4+um_o4RCRY>xW2n>y(fBM_X}@mb9^dge>R zXXO8`G~Z*mTK@>j5!Ms zZjSXK=g~c0)=p)+K5*0Q8vqCZU-0!m|Lwm#&zb%=!6M>G5Wacajdw2JIR^Fwp24}H zSp1=k^!N*p3xby)SE^~{U)f9XqNo_2ucf%o_lnNF*tw76&N|_4p6>m|lf++zxLfem z@V$LS`bLDCooAzS7iEDR?B?M;GT{w6!@eL5$w!rO?F0CQ$szMLU)XQMHd^KUGCp!iJrEqxRHe^vdfp}U5kZ|oVLo_uW0&u5-lw`(3#$VXn5K16UD zf881451oq*yw#f@hF=El&Xou+w0CskCB$#&gk^-^*9j}ol<)0?Rm5M?37hb;@FaXK zKun65I8wYY^hIDt2!E^-R$z%X+zG3Qe|0Bp3ZugJE`0UjYp!_J;3XGc zart54LZlrQu7Nj@R|$h?`$B~9i}8CdzWVSbS6rT}4~+dP*;8vaNw77n5>m%*>Z)i0;u#w#wrCU@}S%P+qAf@?0mDEErjASdM=!W)xTzRnki{|}Xl BIg-Y*Gpj1As;jEIs;lpYZlEuk+itoWCN4BkBFE9are-#icy59aJ@1DXd|F)eqR2KxMBlbc%oS-_j@A8YT zLfj$T@1P^L>&Xusyy!5+J&b!wOGn_~WiLH|xGxF9tuh^d(|6y84qbfFenEKkm+^dz zj_~lhw;n>IAiM^*LJu99}s|Km6dTD-U0be*S7PorI7i{hGZ&Py|7|M|>Rj zulKI(7ea#>xL^Lq0?Y3xyhadymXjWN?h#>)gaa{rOmU^ZZhq#qAe6#03a4AD(EYRAa|_QshdAW@nZU#BxgW>mb`JgkCnhkYa(F3ToG1v*310P5{eM2r z60UphQRxopQ6Y|2oFUxA6y~xBORzkvvN=?eS0mwQEW;Z0vE~dL9Vr#^sy4_93NHN& zH)$4*;^8#IBShd4PoUJ7ay9DFNSJbsj*KyhWwpmS=>a_svZko2@)JX4ug+GhSsbko z+`fXyR z(X-Vorm4{^D>oZ4O(_s;C@($Bu!z)IAE?^{5KU@*!&~1xK(OS580q$1L(@h$lF3Be z=Y%zTT?&QunW0^^^#?PN`AFto%``RXY0X?;%exeITL-)=+qu5KG3HNpYV(?TfVr*t2YB#-WBDgq^X%a~3ajQW5;aN0 zN>TzjCW=*GM#<)w@QbR*asdU;n5>Bx<_4Y)+jcnLn@aVfjmW8)`OFui2j`Q++gV?Kj55>FI(B}ganNlMqmq?fc_Lv9XY0d%4(`AO0J+N5F^K7Fd zh-w1f^Yq@l%(CJjYht3|$?!;R%&P!J^U^YmY8YoVeoJL~3Cf7Y#xTwzc)-KhiBJcX zg49Tazzl5@_-P?;t65eCGGp~11C}Dz6D5+~(ik(%QYuyK>F+h0Bdy1)4 z$;98XCu^=B|AYwWY+%}mUsWu5^d-|5?%45)o?@}*6+3oZ=!HjW0KcWylZxLEnPdUp z1e|JD?A^of;}lh6P@D_u@PmsEED^k1JgG%&cMRL#sF*Z8pmo%hdKFe2#So@{1 zF~6)zh+uxiMA^I>94iHLeq73Kt{Tpmy6V@$X;YW|Kqn31%I6-D-U#>_1(vu<*aUp^ z3gNJDop3#1sa7uKH8q@NKnMs*Vag3MO#x6PFhnqOq*VMbOC;sooLi0+0JS3xm%VyZ zOtBS3$zw0TZoNyv_GPPVTk9BK>$J*R_y5{j+hb{D&c z-N!zI_mfv0zzc#Cj>y+3b{~$>;mX%zR^)3G`%C)`#-aoZR*QTA578>dE5wyA{2`I! zTPPDtI)W@bA1{j+%ul>VF9|SI4M}-+UKT$g6DrZXIl`w%Op7(Ord5PEj_{$gvkIGqH-J` zW}f78Sflj>YvdoeogxFPe3(d*sag>=lFz&Od~tS!y;YWd4$>ML)O~}5%Bda;q;vXIAj1Z z8YxJwhXY~NVeQ4D5m&=1E{_%zTFp6H(S$MQVxWmZCpRMmYs9Bay>&gGgtzEsq4kcQ zu;Ya9q*Ko~zkZIQ1_Bf1a@Eo<)vRi{JP`<}$~j*zj#!#>w`PqLTW7Cd|CAe;ES0P4 ztL4&U!2LRwhr!{5F~vn*{7)#r}dk%&!4>&_k#+xh#4 z`ub<15$!U1dYKl9&i3~Wwa!)zv1g>Xo+8&5N5pTQefGlT>}_6MUd65b=Y0P23GvPi z_#2I8^NjU~*(lxtw)p3s1I~GqU<+xXB20ja+9_Nk+=chBVjC}j;PI#=4zdfy6}ROT zX|)x1D^nKf8Qu`*Dc~h=yn!$UqOOP>BYbl>AJImKM@9*#0w%ijPVgpNz({GR^+(h1 zH<@nQw%K~wcj&@T?A5y{%ulV)P>^lJ`KPT{@bIf}Zaw!}3e!nkfBXZ5TCFgwYd|Iy zL;8W(P4^4m24cxR&un9(6Nxy|9y+r}{U&9kioNUYxSpj!mT#H)+COPn z4S?7`sO8!3^R1QEvyGl%FQ=zi4WI!!k)tl&0Tv2J z`T5@8X2jsV@O2X*I+X}sEQ~gHi1sZ0jCR`w-WW$Iym#p#4A}AzkE$stE$36@{0~wf z*GbF1e|Wx-V4Cjp>8(HMzJaW`!|#OsR#3`l-H}A`5Is3$=o!%jS4Y$|Ijw1aL$~m} z9M4p`3gwV1tD5e}p~ygA^Oi(memFbe({CAA`0GGC9@yi?V(y+jd%lCsi2rFa?N0a; z^*vPhU-7!x8?X^D$Aufq2jnJ53@a3!omn$)o{k;wcF1 z1MBqiH5-81ST#sbIAjjlID$$zZVov(YX{Ge+be%%ZXmHph)T)~xj9O^g4?(Pvs{K{ zHWD3wj_uV5fXZGt~N3@x0b9ryYMjW&N##~I|yB~9f+_-WooL@ zKQ+a^)rneYw3FNSbn?Bw6Z3Ssw>OR6uqF)k(`V9`~}`gbhLvrakdfNJSR-` zS5`6VDCa3roZCr#Zzs^`1n&2mm+sAn9qOkO#g2E(7DginJ_{bTmjX7~)ohFq9}e&RELH>=1nv^S^0L&7X>`N@)0KAEqozP2 zft=H5&2dg7R`4XNfkV+PrNLQj&0OpVO&Max5i&}s z%4hEf+Z_PufGh*k1e~5%6?yk(w%sfKv)k|fy7j*;$FXj#t_3{+4x!w7(&@5Z6M2mm zFj!I@%HEhLU=v7U^ZuO?HZ)yVTfc8@RN2EorkKxm0`~hu2SNw%TXp2f@xQ}0gx@EQ z91%Y>aj_CqE}rOK2c9){`%5kXWCY5qvvvCq9m*a7`wz^&Bdzt~&V>iWYmeY*>ozp> zhzxSO0U`-B14JcEZhf)!<4f6rOJAIcdYxO>q2()Vr=$@5uujwzVm>mKmuxk`5~HoJ zvO6s6eU4>16BU;OWW%_m>k>uHlne1hL1Z5UkHFFKuY7K2Zl}mTZ>C+xO#|gg%|mcA zpIWye|5}{cF5GX(KYGU-HSLXe_#Ob>E=zBD3#biMe&C(0-!s$KdV<6VtP#t1JwS;1 z1BwsLAz~68K=8XP{ohE?2kcLH?iauV?-G*21l!Jbv+LNq*aPe#_7Ch^>__aE>{$`~ zN#GB}^5H-m%)e!fpHWWod#uDI^n&IqO`Nb=#w;X+Jl39(B!MEV-9rJQ1l19Y(ZMNd z+W9FbrZ7!%BCs(}IaiZ!61*&L?s;1PS_Wv}oW!)}%=E>R$4hUM2nCcw)jEvxKUPS# z+7vhts#R1q;V!E&i>XZ<8=@%AMWIG^s-|s(4+r142n8eNC*NBLcP)>UfW=bFQ5?sl zi1D(BXcgEL8^x~(Ovl?4fw?UPu!bpDmc z)i7e^hUBgLHVP)S=^+nw!wW%6saXVTfMg_>%USB;7gFPWt?= z>z5@v9axKX1rk{a`88Ybo06ntra1uS8U##ZbGfv%btIT`Wc*nntr{B$(?TB%#%hd;a+;ey?ES;Xg;5x`Sq~n3ma>w{cDV<6`7s}j|bcwu#eC}EOa2Q zXqloK_g}KvQvGTocubb5k&1kU2EGywEwlQWK4Z|KI%4jUr)zi~8M{Id1gg67-Sxr;Kn4 zKA&MF`uwk_KHtn=p;wY_Y#fmRhW&ih4Pfh1|0=xlw2S6Q(##N;LO>6!nccf*EPv96 z5y!YYnSizVl7+nhvG|*mM95JMwNT*aS|Ab$#MgG2XdN0+M9a`V_I7Y<#aK(zHA|NDtDpRdyQrYUkU@{p@g_6n8PcZJWm=lN&;_WMR3_dRg@RH*O`ABxY2KNtU1{FS&MSyDoJsq`A@{mUpf0vuS_O^((Q(W?OMOhXWewHO1( zRLz4mTHtU-3#$<|tfg24zi2oX#x_Hc30N>h_Vk-%0C*7T(+^+}zp)YeO|de5fSMd| zmh+`TDPKn6jb#-8;-Uho!>fRoP89&$J->qCF~D}J0B8CUOvcZHZ=;q*{n1CIlYQkEdyehief^wD^l68;Qa2 zs}J*>b;^Ux(cuUnb-3=G5vUDEYls<+Hs~n=^lKn7a4Cdyh~-hEIM;{qBS{)~P!vCg zTf~ndexy$EBlS_7#~ETMFjB9L;1NBoL5jEhhsP^^!+GzvHbMd9DIhfh!zG@LA`2*p zZZUKtw5^o*z>c(sbQJMO;|(to@Y|Y_(~1q6Pz4ZQ#R#y)+zQgj+hN*U5%CQ8?&a|Y za(JVd@z{~@DzOhfZ%)=QOE7L3j0ZMi+Katk6Kr%$6qNG3NngW^!RCu;+0U??XmlUi69nS%Fb`-`9lO!*qDI_w zDx<*j|4w*%sx0;9}~SeQoN zUMh82=y%J)|3UENN&B{Kd)8cCWf$z;_2Cciifuc?d*AaHV%B-R>0G_ypWmbQ`|Lbk ze7T+Xfd^hDb_NZOS6m+j`>29Giaf2n~z%!kNPP!ljU8ze>1MxL0_e z@Co4y!ncKAvX`)%Aw_)$_H0i1t`u>Pjg&*n(BD{2F1jt{M*O;+5s2^JnVdRz^tvr*MmRka8;Jdo1c zRQ1c*fq`sywc2e*qc(W=>>%AxBr)=Fe5I41ec!tNgal&lgoqP!EZ(=Pc$HThNR07;*z!+E`Ywk#hnX!K;XANMrYun+xjOhOjPk3G;bG%3W;rqEF|JRY&)GV zNEE2SKK*C({9B5A{JTzsJwi8MPG)H(Ws_sX{gw`82Uhhhd>nJ#q5|2MJE4W1O^wDT zIv7)FtW?!iiqy_+7&bOEkfp)M4qU}Y29;g)e-(4#|5dJcQ#*(!-QlbgVR3aQl8}G= z5w-DAFv<&w6hEigs=n3(GzPyQKJ{Fpz>@S7e{?P+7Ib>AfcG>8-DXgaINdZT(b*zx zHO1MePamOPi+}7}HA~6PTX|a8>W$bYXkZ8eG4lez^REJ)-!1eCRq*o00XxnTE)c#3 zU5xKTukaVbF<}1^)0v;8!6SK|_8`Z5XlgeIeJqq|^+3`XDvUNp+Xs;V(1=}z7kRu9 z4+^Xx$`y}<_b?fc2>{*)))OtaG;t`X9B;{vx{c1-ZA3hk50u!}+{NM}B@RS@b|7tC zZxxS1%Z9Ia63LMo1eyr6oH!A{oX}`598n-JZ6Z?{N2kh8PbK7uP~Rdz=L$98=QWTw zz~3U$H=&pGawxtAyA1WW&;ot?dFM?*F*frp`pbZh8^BYZ#8{ZGPES`!cePC*v-g5p z)>{8g=glvbBmP`;f2`XM%NJ1=)!0s_$u3cb_MM2?lwxd*rLa61@x-L$B+-7XK-8bE zZCUuk_U-F!YrpB-{e_=8=BG@D&9=UO*T@~u4BSNt=oCGIzkx-P@!vR|=_Es~Jyaw6 zKq%>K8BmR>f!4uCGgoBLlK~uFYsBD8#p}SQI=Zd*8|tU%Ax;@Idnnf39UGFvP$+Iq z@&eCmy@#&fxNB4)si7i|qv`kDgVVSSCWPcuM(_H@@|5f`6m@j!u<1DFKeok zA~u0C)6DRI|4K>k%DX113V~w4{z7?Z7EvY_1O?Q#h)Ba^AYzTnEK%kv=8D2oBsQhf zS6X{0$UZ>lQ-t3wOP>KZqa_i;RlGNn`OJZROuS8G3kSfMVeBWF$gPicB(ZPo1m4gI zEXKSPeBaMVawdFye>jr~i!FA;0g)Ylh7b+uZH(O-NiQU@_RTil@I}}IXpnX}p!}yG zA%BhVT1dMD25vcYdOEG>#sJf01}`*l59RKnaSkVp_?xlY%C0C^cRqWpYtGhThXu zUVM9$*yHPI>{vek#DN2?{DA}Pj&y>Q zzw`B~4K-Ib{7MK^-vt47&y})YdHFE5w+oMgSw1oXruos|GdpEIqy^2^0!czXNg|lm z&$ClqQ@7vF4uXsGy29$j*Dc>*_wi57&r2`7I`H~h_naQ9cd;nXL_#Ab1v0*e z)PUh8HB~Gfcmhf#KcA1ULrW7-p1BW9CDeSM3DK%}!N<6KU3%p!!FPlj%f~K+(%nAr zA8&b)BJaBy`k@s3ewRNv$-mhsSw;_>@>y{#|19>J!)NV8?<>UrhJK4_Y*CQ!8 zidm4TL6n0ZNs@f#1FD(~>H)C81?Wk1aLFX(I%{FcaRFpH_X+P8J_(u5zX*R|LDmf< zYXf^X`yl%m=b-@LP925k%AM=v2;WF+Bn+CfyGMCT0^HK9)q8XVIYkiOaE zvxpY&$QaaOh;8r9ZQ41|#u*mk`vTt;_+~QQmi)ALlQQ9bD3L>62^ZM2vDz3k*2|{9+?6W(jJ~l@ zvMZwYrmFFRp+SIWWBihX2;MS6=E$&AG&O2cbPI4A9OP^;9BRKOab?5d+d8bG0n6?hjF_3=&z zNC=>`enlJVZPn@7^%jbTs6%9G80{`sXA<3dWaH@c!o?@FKko zwSt}hf-0>xsJnSTxa*M5w7Yu~-eaj$q4Mf@kHHYVw;vkn^IyA|`+ekX8ayexu4F85fS%%C!D|XjyyybH#+qv<);v36vkt~gL>?I$R zccf<{j`zwho2klD&Bn0dtwZP1mP(D*+XL3ttyX|?r-{Z-QD|bOx>1VgZeDCuXLdkS zQPZ$lp?jufnTk)`a6$`tTQ@`416dR%22$buKva?mhcdD{zJ2?+B4xvotmL)z9B=Y& zwOk6MQEL|kTx+X05a*y9{?Wo_*b`uPL^pKJFWxy*QK{! zH)2t)#fir$5_OPlf)sXuQi7F1YM*4M;uYzY+7Z6ehPedAY3srsfh6rn0DRgs@bgfh zHgDnu+>n@biIstEjQ{vZcpJ92!7iO88wg&5tTWp?WmF}Z3YXe?OdW4yP&JZRW0Wea zpOw)vE-0p|P$e2hVq!jQD5m}61{TOoxFI_1HN`t)Xcp5!&jYzTBJ@s^JDe68dz45o zh_+pbR*8um{balRWO9rp0$XD%1VND?MVufl77(Hm&OT)p(PQ=?E116e$KtSqjq zviKGXTAP^kq}DMIiFi*Q%0Xg*QVdBwLSlskpcON5 zEdWhZy1OS?2bA<1yfq}a=HQfKIB`jV-#ZaQoukAfVlpWD%^S*^6_%`cG^5BC0GKZz zNx|4>vCrK34)G(Kp=1Ke5VCd)YNdeYnf>J>X;L0HX)u4aFpehrPoVB_im^Z|tqHL*(3G+M= z+snne1=A;tW!M+cF`6`9JeOz$^k^m)l%xOvu-}rEOf+suVM~(5cbk4Oln_VI)Yg3p zOmCA;e4rrqq^zg~`zu+cEOA$qcGHL?Ogcwxqd?b!VTb*O>6kQpjw>1djXXXOK+tde z{k!lkOrMK)N$)68_9bAvE1iSM0kRt1k|bPViorLWQ3%Ol>$_XmrfJxwHGSbgu#==9j4K>p+)(^F$)Q!%bb*Ut*i}_$K{*R!P$j-C4qIZUf{Z8@ z(?(S?gb#ET4bUf=3$1v{sX4k?>JsOMJZ?d1h^8u7BC6p>S5I|~!1fkx)O2jSrY+?x z+t;6kMXsjBY~Vgx+|hvkq(ZHK1hH0Pt}hA;Hc9fS(SnaM;-?y)#mRD&mr$6=)pTAp z(qYj6ixN5;l4-F>+3{xrzO>JX`@nK!K?xkRkfB3OL&ol`tI(}LH$oaIr)K4#2xQEH zzQ1B-!*0$G%_prZWa)lz-z1P^7S@FruQ-^5P(sASz@*X~%^d=x23qK$6t-r~iEFB( z+c7fNj%53NPy&){Q%S>qSv9_(8nR)AijzjV3d0!mQ4Q!YxI3c?U<+%^br5oS21BH-&8b9y$M8doTy7}_A| zA5fY@Thcm;MZKG`GV^R1mf3T9WFAo|qe=uY81S87DO(CQ0s1?ssA7~wMe}N4g{d~t zx+bjoX^T)^cs3}G6zcT?9c{(Xg?~ID;`j;o?B`NAyr#c@C|Qs9^d=Gk!%U_6diM?u z_O<|UF_LbDtBl3-Gn?b)KkBvQ5c$# z*$$qevdYUazWrnwQtbMA5A~|2etSoW^!De)hzGoJDb#Q4Bx<=seZ5nzYgw~kb}Z|0 zyZ>&+Hyak)Jzn1bP=B-rtyFYaibmHB4Aj^YUXKHTW~ta;-JW(Pwr`(s(%Y)H6WfBc zbr+s(2N*bB-s4oUczU_ioejD&1_5^%gqMw9l$lK?XEPU#Kl*|)U{R>T)!-k#3H-wz zcojKQxDxU+`18Qr2QsmY`$zMctO7}ml%Igik(&t44Om=DOOZ(YHu|!PboWp&$BTe6P^J#PHNr705BEYnv;wda zC`m!`mULUx^%_wHu=bnczZoDqRljoOVbxZyxdw_k7BF8 z8L!ngMew(&RvTX)#=M?(gF$z?w{LK;uWu^oy1}VFgtHS-D450hR>lH!NvJ_z_uh&Q zxshvRRzrVEK1A^BI(92PekqKRW2-ZU3jvdEciBIqNcIv+Aw2>pXKKd>`OT9Am6^14 zt1NqmC^ojp@|LaOhp#$*wePTNS7I}5pNFjrHQGe0UhUr1bEC`H#!958dxistZiGDHggm{5=J1j zWVsl`5i9e6;UmFkL!;R)7+5eoD=d*XF_LXGD8kc}^dM=OBgEbug13i4SphdH64P?1 z2pX3tf^cB107(m!wV*5n@lJD@qlN~1YR{f=ANE+~8ud_^#D=;UKBQhlnABB@{C>C_ zY2AuF_T#b=v^3VhUUxT;SC)ikvC~(9nzIgGtgO?h552K%T^_P{XAllf_Gj zDgSZJd^u{p=@y7PZzHYk+aLtJuJ)6HN0I_yPX7N;E-2&I{H&MQ2qM zC0Ptb=&cb=?V&>e3c!j00r<#ZwQ@%-Go0e~Xjn?!shN-{uXy%NLYS8yN0;AFIHTz# zgoewVJUJT5Z}0_ODD3#$AgS#Hv*uAV8)Vrkdo!zMTThW>la8)FB{LQVftanDMq+JA z>F*LBsZ6e_NI_p9L}@|+pDTAKLsn4LU30(b>T1vmCA;A>Xg_=gRaQ+_M8~(n<&YWk z`C`ESm-!pA1DRw<)?^1F*nt&^_pV3>fu`diT_~9e*elYVq)?wDvP^Gp=J>bid0uu!1^B|czmerq9c zPjy7KnS4U(ib^t`*-0~%lahtjr@(ljgZopHSMoa-nib-00!v%(#p?jQK|GLY~ z*>=u-yd7bvA0^qlLYgJbge(!mRgx2kYyA~3k_s~)0{8HCz}zE%xh|-vQ9#_6!e7N_ zg})QN0{w{J!F`$mKW9U1HDD}3I9iVXDPKkKA_HItFKAE^g|29g5J9d#%rQK$vC2?I zCduuJ^RK_bYawr(PR_5wYpm!_8SSfPPznv-Nhsgr&VThVDtt0GqeHt}}MKO$)OzW*T zB-)Q}&yamSj^};@{`{TLU@U_-u^RH`4baj!EZi-;8#;^k3m<{r;!lO&2+x930jU#Y z&l%8Q5!ljudu+}vjAA+x9-v|R#Gny011uF(7m|<~QrndYUC9LkSO;)aLOxV*lp9Eg zqqAgl;8fG>1!COUf;)If0n%a2TBOv-#hN!~Y3nE4gA;T022h#yau^wdy&$iO+_Wg9 zKEdg(Qqi4;=5l9NTMK=g()skJzJ=Dc`PQ}KV>$1S_2m}6mb*BY&b9uK%B4S*ldjLTuC3+s zwbr#T?$+h{W>racP4@Lo#*@i-cqGN5opABXFWey>UbxK74-e;E@l2*{Y82<=rM}6@zEWheJ3AQ(g>sJV4#eY?K#!7e zsj+TC=?OKu%3zu7gOL?Fr<%Fk9F;wn3#7xUslee04FbZJQUm9ecdpY>uhTi+D~wCP z2?m{glslK><3zos@xqmSQFZh#x`c+XMc5A?RBwjX#l!3}(2E?p(!>NM-$CX`W&rXZ zTrHY29o!eQ2q`dqumhYto^K#DnXuz{Xfi1qzzY3T8BP&jlrIKFHW^1~r>$)S#DL0ssVJQZA zfv$_Olc>W!Mv9!v^gKzm^WTtFNe6>zMRZV(s5iR1>jp{y`Uj+pl6d-`bbaC^1+Xa% zu2z5|f=>eB15*Q_9|J1+HuFkQKN+opb?62q$X*nnz0v5FdVQj+k$@BcBIn`JXk<$R z5n~A*DL~-Lnh`Y9)7ja{iCu}r_y`n@WGE6!>k^|~iQyP?9MJ9{(8*xUFS41l-Pmw^ ze7LqT5*Zzq7d_J_|vYrt++wZ=p|zN0z5=J8CaltJ&&S2r4U zRUHHHAocPjojft_TgViQMuQkIqR>WnYKw8112#gI89!>-7 zj~d7ey|gh;uIvJOdUbB1-q;d}nkJ+=l`UW{l&_jW)aGc^GG!!^H68Be4B6*PBz8?q z&aS(D;4m--6ez6&H%Nmkxx(5ky%9N}b*;)+5i4`qykUUnG+b*=UtWUar?Z=ow;?4I zILIRha8qSF*j6NBxUurG`8Cb)9q~Bv>MdbCaLmsF$NakRUE#;VFQIR{0hY=K*%#U4 z;)EbDZp%a#O(3+PbO>`VkiuAfFka#&vfQ+(ZOByXht*TtJd6y(xcyiJiLnpy#AF@@ zbzO=N*Jz1=BkygbMBQ>!j>uswAz+K}QM;U;ro}Q1g;^{>PX1yEE+>&`f5a}_#Fo`@ z-$;}v!2(*EFlgfItW4|(!jw@*vrP$iEO(JCG6mx|#EVm*d!RWvziqS*cJ--At~fkh zy-ZCi%*7Ca+VFFag$qZCtkl(X^U?4XGOTL!zZC_d!l*`}|?p zEE)Asmls6IKO!x3%aZR6MFew!krMqP@nt~Cma!83e;2cQohoh8e z%z^1NdF%xfklCZWacS`NbX`_lzt3rXgcpUBM>>HoK@d)kxj?e2wkCra=;(@rRR=LC z7=tpLq=B4;Kob%>l6$w)!sUWfibhI~5rD|A{an4fyHe>U;_zzHw#Mk;L{v18aohpI z5KwAAQpw{a;vm+AJ5DeVq4)(CWEuj{qJdZxOhpDV7y6tiMMd&X8AvNVwD?MRpu1Q) zvsxX@CzQUFN4QpIx`y4>ubr5D&oVOly>iSspRw~1{oZBd^gW1Xjyv3yYNj^N&K(&W ztCKoaeQfN=-0bE}n>M~?db)P}k3<09fH4UZnafqu4`RTWPgA>w0-z;kXF)>*hPqVE z?_wAi-pk%ZSz4EmkBwbDwQ6m4IxE^K8~r%_^;4}udd8j{YBrCoUcF}Rs;R5T#>T}V zid}xNv<^RYco*>KOxDwkIQURcfJ~mG%n-^cHXJ_Vy=jnrE>8;p1xK@*y8QXkj@tQU z*q6953Q1y#e}M~VK}1147JWfaycFcL!i1O>`vJ+aA(B4fO(KdM5)qLF#xPM>%gO+Z zc7(=r|5JKgdKY9uGw>IG1@xrf3Tf&Wghv6je<=J?_zidg4q!D0OgI4odmO|D$6Gu_BXUheu%;Fb6B8aOSF`#^({pHx z++|P-aEnXpKN@zRqYlTE0PN)w$xs_WzdQy&+pC#cL&?IAz=M zGj_%q@cimP4*yEsvh)jhX|Ka1WjYjLFvIZPc}Uw%k6uitE1J#LcPQ{#I_+J`cgJGn z$|S9?vse3UzrXdeWT}*t?mK_&!dKS~56`pn=fvq?!0n4g`<#H=8(q`0aC2>g$Y8Mr z?^`g18m({a&p2JC<+d4E2b!xKiON}cX-&UL3UB3XDE1k#rrr8Nz@AO8az0N>)_WBswu8f_PTVpier~M|(zaZafHbPX@{7N}2XJLMeFUqK|TKjga!z(!;j)T03d^KQ4P^X)9}5 zl#22i3M<+qd0TV`lkoO$u%S4IpISk49_%%=1T6Ko?-6a~nGO1qU8!W2@*DDNVqf!UP$486x-N~ z8x*3`%;zXXr)@ha#7}O=38(p#$0NcMe20LSafBpYa5E(C^-9B|k2ffeN}FCxu6d5b z5qFhW7m`c^bi<=RZOS6lw;s-u{so=jQ>jzf)19~oJfU|Y#d{X+C3_3;fD;Zo3-^i# z)~%cBXX;>gZ@N`T_ZEkTi@oV2Pzeh2X3p~}q+Mjzar~ZWIvs7KqwsnKBt+EdwtG-z zsowX1*Dd6!RQ7#3!z*d)3GTHW9`4Q71CrqNBW!!l!^9`-@Gr3mq5mYi)=V%A=t9S$ z7t_VS{hddh>uS7&WrMJo^|nre#jKn`+KHuW>lnrk;#K~FTJWEQTk-x3_+S`BoVern z0<{E=z&eo)9zmzpPr`O4nrAX}RAo{R?RouuZq;M7jk#5tm^ zV|I8aHL}eR&FAwiJ}`*KD;4NWKFAEvOV2_lfB_!;i2Yvd7Hi^K@eJ{N@rd{a@k8Rr z#m|XfqHnNZA$v-jgl}W2dwdJ7L5k^*)#fn-$QT5evjk+F_Dzmr6F!cOn^OXw3I))3 zY?$C%EEQ?9KT{-%kCDR-iR0x<@R3Sc4e32^249?nD|q+;89))zFCib2q1jndiA7Xf zSpdicw?%tFO~v-!Mi6Fb*T=8HDFv_B9)qOa3_dc{T6Br)lmJ4Y_A>g6NOT*G;r;i< zqD`dmG4i}l!&OV?vn-&%{#e}0*O(oVQiOX%8wW&<w40r@)fE230<_zLU=tX-LCgR4+QFxB8Wn)pNOyZASVL0g!7gu z8Eg}-K+gWVL#n%Qz&!f8ozwNRi`Z0vnZt3nXflvbi!~yS*GP}rH9`UjrHC^i&9PFz zV?gPNQp^U;0x+iNC>6#qI<#>m*{9kuDCkX1w-a8n72kjOm93sDP`qJHsYO|vwrM%PF- z^=XhD&;{+9%0ZPDwf9tJTx;`Sikhfhf_( zAZ55wQ8e%sih#x`NNc)AomYUuR+yrOOfv{ifii53_@+afhj?dbtCMcs!QN%#WovlL zAKX?vClhb|qa9Orf?}5*Aw~gwa>2|O!+`HFbb-?)Y6;tp>rjdHr!1cj!v>qC*0&$V znG*S|lphmRkK1-aLtXwZm zkQ?ZA8P4S(JGYy3ge^5(UYoutGL$4yA?9S5n)Lj}sPeMLK=cm^5S|XuB+Vay`i|nq zhcYlBp%E-=U4GSvC_!ER?Q-lxIXVep(;MJy## zCCj+OHxAw?c~NCUuHzKLsy}KPKDHK2B1r1?B%-mtP{>`^=Rn&u9Eyyxn&~4S3afVq z^DY$o%8^KHF3OFU$cY%Od-C8$*QI;7Y=ylOSl>F>(K2V3h*F;!na-GTSSnp`ItZSA zy%zBM1Anp8;nKS{+2e5tPrM-opTF4YaGL2ab~@nq{l!k_FLpYAvD5kg#7+m_>jW*^ zg6uC24zdoW&IRnn>#988`2&rIsge_O~ ziiJHe1BhqrAzOo%c(U$aX$ZoHI1#asNc9I(!>j@4(O z<3cQqNJbJ*2WLsDk54d&Yak7Wv{>u%eG6JIK;{O3){%HPrJoDgJKiey#qQ$GKx_US zBjW>l4Y5WQ$P_-<`7IxiNnmL@M9$~4iSY&)$Kp0o@@#LQf-+ZcR@r&@NE!s|b~Ewb z5M)rYW5veZwHDdTSo2m6jy`mBE1TN%m^Cv1Q!FJZ3Aj;>V7y7fbkqe?21B;1{5U#W6d|ilRm7IruvCpgX8^$ z(|dcjS0DBt~?27~|V|#vjqP^kvw{x*LbrO5$Q4 zw*k4v@K;|p*Lu7<%{sN508IKvK_wXkND zl{er^6B5iq9sOKLh(NsEh!1F>2xMYxGaIY2k+m5JZiFur@3E9VY=gUE)fAAm~6*X(rq@!GsiJ zNMkOxo`rx4)CE*KKtRDR6y!;eo&`aB2k;EjD}c^{U{jI8gl}oGf`Vsh6HgxIA1vsv zOx;e-T*yWLzl0+Zm{%z>636g|L?{G&ejht1d{_LAv>D$Iy-oPA@F{$6?d$ZdHOSQ0 zunXBsJU$uLhvxwn@@)@>5H#^*KOVorgG0;LA=W5k})9tLlMW10!f;81}WRsqvY)z+$mtfSfazzjLGHs;<%ER^L7a@nY)|bH%Qp*R> z^4LS@A#^YRD@cgu6-{bbsISbWWJ^qS;scQuzb6GjdFU_!L9Y*-hli@fcqs3)U4JNK zi&!axlbVuOP8$uETyPddQ?|42;Oy++;2h*w5S4F=^8!N!J{J9W( zha^p!!*B%MpH@TocnW}x=+j|*T+(64ja!NJr>%59q|wmu#LAAFbL3q6E0}s4@sOnA z@Fj*4K*!>{l`y7hhwzZ1@YP!fdI7M%@dJQapl=i5axH~EKxCykxsa3gBcwy7AFY)` z4wFMZUr4=dG5cZw-+rl*c6pUDR>^yLRXcZib?vrDo1s!rz{lYv^5-29!#ST4IHP`% zqK#~{U`tH|w_(l=(imx=$1y%MN{XgjR6ir2`f?#JAOHH7#O#FW!(qU}KoMc?jc-Rr zb;I0@)yY<6`uo$2)u}GXfR!Y=3uZYfAjKIjP|lyGaAo&EE+R$}nijW2X!m{Ag550=Rv4-F(2B=*A{$WNZG#}Nlev#4Qdt6r z7K1?|LF7VH&__>yhX#&}asUi5N<|uIPjJ_cgj))fLl7*Ym5YlZd`c0Pbck8JHo09O zUd(7mgBc|kW6icoGr!?*i$9NvbG_>mZeMilbe1X351*qY;g%qmOGoA+>0A!(6q4FG z!}F8<>Y)uYy94=JEq@kE#$(gnwN2#U;Vg==B8F?H9k3ZE``oPG@8tGO&q3KY7)eA8 zGiQh34<{3{bEc7uE0Fhq|LLI#X6r|*_ZE^+AUQ9QW&e~-oC{WHqR^e}3J=G{&GF$- zD%o8~;Q6`U^YidLS=hUJ;cr64K)2{d;Lr@~`=Txw zv=LYA4irPJ5AHX$IecbDY3HqN^4Fhc$3ONqFTY zlmh{9*+Wy^#ik4m8DES72;Hq=VkateNY{s1r+!SP^PWpT^DHb8H>$8U=} zNP~KZXhYaKM?t)b62808ko)(g}>ugI$@v)y@2qOY>sVZyMXr)yu1#u5h^U$;x+Pj25ITb9?-!N5`ts2eq&h45)N9>fPnOIF9HW46wKE+t{}p= z^F#t#B=aL+R)%2#3Idsg1k?&TLV#|R$YXf{KDI4z$aEM|{l@aN3O7He)@f)vhx5?s z1So@ypI|5_W`I(;xhZIG64mH69mL&88R{mKYldk^i7+8zkPGuL;$yhQ%^+E6qG%F3 zj(Rz;S$NL~|3PR5BjPzP#E`CT zJOfXm^J;qcaV{b1QXXXCBIM-#kTJEf&&q1ITDL6)a4EkN8eWoquMaN1^ zbmzM#5|)EI8{YZglV-l1Fy_odxH;O3lt*`YN!x|(c;8JkuL2+de8J&=_Isbdz?u4; zU=i^o2;aHw#ygj;90Pk4_u$-6EdG#3dgQrB1i?#>GnKUbujD=Pq9_~gucNs3ab^2j zXkW*0W$kb$P3L;!N#d_Y+$}gX9Jeofz8>L5``&0@MOk16J85`}On8INurEu4@=;|> zdmp|qIcVPI3;Qn%$f55={unzD`(r{(9m@Vo?$!DC6`m};u6Mle3zaVnzG3Lu`mV95 ziHBGHa{9?NJLWKiyyqq90|ck>*BK#x(>~e2TfOmN_%di`tVDRBy`vp3A%0yuEF=8x zc36R?d`~;9BL0$g*o2pb$KY!LVp7D!@x%*5Uj%kEURXl>8SSu)@JHHV1(s+-?XZgY zm$bvCFe3bL-%Ac(d*$T=m+ZUpio?P_JUc903vVEo3j?ToA42$I{H}|yIef{LS9I3~ zhlO2m^l%LlUBVxA3pF_8AATW)ypS|!UVQK+mtAxX{E=KN97J0#gI|ejUP#9ES6*># z_rZ&=xcHijuDy7F_lsWIy=mW-r(JpF6@&2iO?|jl=thYbBSg)=2=^Dm2B{l6>PvCn V#Cv)gQc~JMyfJC{>wJFr{{Rp2J?j7f literal 0 HcmV?d00001 diff --git a/www/fonts/material-design-icons.svg b/www/fonts/material-design-icons.svg index 48bab3a..dba7398 100644 --- a/www/fonts/material-design-icons.svg +++ b/www/fonts/material-design-icons.svg @@ -1,28 +1,28 @@ - - - - + + + + - - - + + + - + - - - + + + diff --git a/www/images/svg/icon-outline-person.svg b/www/images/svg/icon-outline-person.svg deleted file mode 100644 index 29e2fa7..0000000 --- a/www/images/svg/icon-outline-person.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file