diff --git a/.docker/env b/.docker/env
deleted file mode 100644
index 0a198e6..0000000
--- a/.docker/env
+++ /dev/null
@@ -1 +0,0 @@
-MONGO_URL=mongodb://mongo:27018/fosscord?readPreference=secondaryPreferred&replicaSet=rs0
diff --git a/.docker/mongodb/mongod.conf b/.docker/mongodb/mongod.conf
deleted file mode 100644
index cbe0a2a..0000000
--- a/.docker/mongodb/mongod.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-replication:
- replSetName: "rs0"
\ No newline at end of file
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index f8535a6..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,60 +0,0 @@
-## Code of conduct
-
-This is the code of conduct for the Fosscord developer community. It is based on Artemis Lena Code of Conduct by FantasyCookie17. As it is licensed CC0, it may also be used in modified or non-modified form by other communities without permission by the author. Its purpose is to ensure a civilized, tolerant, compassionate, helpful, pluralistic and peaceful style of communication.
-
-Fosscord developer community includes Fosscord Github repositories and Fosscord development guild.
-Fosscord developers community is administered by the Fosscord maintainers group.
-
-If you contribute to the project in any form (for example through code by a pull request) you guarantee that you have the rights to resign all rights to Fosscord under the AGPLv3 license.
-
-### Desirable behavior
-
-- If possible, providing help with issues other users may have. If it suits the topic of the community, answer it in there, if it does not, try to link to a community where it is more on topic.
-- Accepting other opinions, even if you disagree. This does not exclude the possibility to provide arguments for your own opinion.
-- Pinging moderators by mentioning their names in chat in the case of rule violations, especially trolling or spamming. While doing so, do not quote or reply to the violator to prevent extra attention by non-moderators.
-- Please keep something we can type in your username/display name in communication channels. This allows us to reach you if we ever need to, without needing to endlessly look for you in the member list.
-- Before sending a support request, we request that you look at open/closed Github issues on the relevant repository, the [documentation](https://docs.fosscord.com) and other mentions of your issue in available communication channels.
-
-In order to have your questions resolved more quickly and efficiently, see also: The XY problem, Don't ask to ask, No Hello and How to Ask Smart Questions
-
-### Undesirable behavior
-
-- Talking about things that do not suit the topic of the community. Communities exempt from this rule will mention that in their descriptions.
-- Attacking people rather than attacking their arguments (a.k.a. ad hominem).
-- Bringing extra attention by people who are not moderators to trolls and spammers.
-- Self-censorship for reasons of politeness or similar. As long as you keep it civil and free of insults, it is desirable to discuss issues you have with people directly, rather than letting it build up and later creating drama. It is in the interest of the moderators to make the rooms feel comfortable for a large amount of people, this includes changing their own behavior where necessary and reasonable. If you feel it is better to discuss in a smaller group, ask the person you have an issue with and/or a moderator whether it is fine to invite them to a private chat.
-- Making other users feel uncomfortable, for example by nagging them with questions they have stated they do not want to answer.
-- Misgendering, deadnaming and assuming gender. Use the singular they/them and inclusive language where possible.
-- Not liking the community. If you do, why don't you just leave? You would be causing discomfort to everyone else as well if you did not.
-
-### Prohibited behavior
-
-- Spreading hateful, violent or discriminatory ideologies or conspiracy theories, via images and other media (including avatars) or text (including nicknames), as well as discriminating against any group or person. This includes the use of slurs.
-- Spamming. This includes adverts, large amounts of repetitive messages, sending invites to users without asking (invite spam), etc.
-- Trolling; intentionally derailing conversations or producing discussions on non-issues.
-- Doxing: The disclosure of others' private information without their consent.
-- Sharing leaked proprietary source code from Discord Inc.: It is forbidden to share leaked proprietary source code from Discord Inc. Violation may lead to ban and legal consequences.
-- Posting media that may cause harm or be triggering to other people. For example, people with photosensitive epilepsy may experience seizures from animations with rapidly changing or flashing colours.
-- Actively suppressing opinions of other users.
-- Being an undesired bot (bots are undesired if not approved by moderation), or adding an undesired bot to a community.
-- Ban evasion (creation of additional accounts to join a community after having been banned from that room).
-- If you are a moderator or otherwise have permissions above those of normal users: abusing your permissions for personal motives not compatible with this code of conduct.
-- Continued harassment of other users.
-- Posting explicit imagery (sexual content, displays of violence, etc.) or unwanted sexual or romantic advances towards other users.
-- Posting content that is illegal to publish or illegal to distribute without permission in Germany. This includes pro-Nazi content. The reason is that in certain cases, especially when it comes to copyright, the service provider (who might be me), may be held liable, and we do not wish to get into legal trouble.
-- Abusing loopholes in this code of conduct, for example doing something that is not explicitly covered by the prohibited behavior, yet is in conflict with the general idea of desirable behavior.
-
-### Consequences of violation
-
-- Undesirable behavior will lead to warnings, and later on, if repeated too often, kicks or bans.
-- Prohibited behavior will, in most cases, directly lead to a kick or ban.
-- Any kind of violation can lead to removal of the offending content.
-- Kicks and bans apply to all communities administrated by Fosscord maintainers group.
-
-If a moderator violates the code of conduct, make sure to point it out to the project management. This can lead to warnings and demotion of the moderator.
-
-If one of the project managers violate the code of conduct, no such possibility exists. Thus, it is important to call us out, or make one of our friends, colleagues or moderators call us out. Further steps will then be discussed ad hoc.
-
-### Changes to this code of conduct
-
-This code of conduct may be changed in order to enhance clarity and precision at any time, typically without notification.
diff --git a/README.md b/README.md
index 5169d60..7179bba 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,25 @@
-
+
-Fosscord
+Spacebar
-
+
-### [About](https://fosscord.com/)
+### [About](https://spacebar.chat/)
-Fosscord is a **f**ree **o**pen **s**ource **s**elfhostable dis**cord** compatible chat, voice and video platform
+Spacebar is a free, opensource selfhostable discord-compatible chat, voice and video platform.
* **Discord-compatible** (Communicate with all friends who are "still" using [discord.com](https://discord.com))
-* **Selfhostable** ([Setup Docs](https://docs.fosscord.com/setup/server))
-* **Open Source** ([GitHub Organization](https://github.com/fosscord))
+* **Selfhostable** ([Setup Docs](https://docs.spacebar.chat/setup/server))
+* **Open Source** ([GitHub Organization](https://github.com/spacebarchat))
* **Configurable** (Configure every aspect and limits to your needs)
* **Decentralized** (no abuse of power and doesn't have a single point of failure)
* **Extendable** (secure and cross-platform plugin system)
@@ -32,8 +32,8 @@ Original logo by [@nwlandas](https://twitter.com/nwlandas).
### Installation
-* [Client](https://github.com/fosscord/fosscord-client)
-* [Server](https://github.com/fosscord/fosscord-server) (very early pre release)
+* [Client](https://github.com/spacebarchat/client)
+* [Server](https://github.com/spacebarchat/server) (very early pre release)
### Support
@@ -46,20 +46,19 @@ If we are finished we'll host our own support server.
| Repo name | Brief description
| :--- | :--- |
-| [Server](https://github.com/fosscord/fosscord-server) | Fosscord API + Gateway + CDN Server + WebRTC + Admin Dashboard
-| [Client](https://github.com/fosscord/fosscord-client) | Fosscord Client compatible with fosscord-server and discord.com
-| [UI](https://github.com/fosscord/fosscord-ui) | Open Source CSS framework in the style of Discord
-| [Docs](https://github.com/fosscord/fosscord-docs) | Documentation of Fosscord
+| [Server](https://github.com/spacebarchat/server) | Spacebar API + Gateway + CDN Server + WebRTC + Admin Dashboard
+| [Client](https://github.com/spacebarchat/client) | Spacebar Client compatible with spacebar-server and discord.com
+| [Docs](https://github.com/spacebarchat/docs) | Documentation of Spacebar
### Contribute
This project is only possible by volunteers like you and me, your contribution is very much appreciated.
-If you would like to contribute then [read this guide](https://docs.fosscord.com/contributing/server).
+If you would like to contribute then [read this guide](https://docs.spacebar.chat/contributing/).
### License
-Copyright (C) 2021 Fosscord and Fosscord Contributors
+Copyright (C) 2021 Spacebar and Spacebar Contributors
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 version 3 of the
diff --git a/SECURITY.md b/SECURITY.md
index 535c146..162b438 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -6,9 +6,7 @@ Only the latest release is supported. Pre-releases are explicitly **not** suppor
## Reporting a Vulnerability
-Report them to Fosscord team, in the [Fosscord Discord guild](https://discord.gg/ZrnGQP6p3d).
+Report them to Spacebar team, in the [Spacebar Discord guild](https://discord.gg/ZrnGQP6p3d).
However, if you can fix it yourself, fix it yourself first and then propose
a PR at the relevant repository. There is **no** fast track for getting security bugs fixed
-urgently. They are still prioritised like other bugs.
-
-Fosscord team
+urgently. They are still prioritised like other bugs.
\ No newline at end of file
diff --git a/assets-rebrand/README.md b/assets-rebrand/README.md
deleted file mode 100644
index 189119f..0000000
--- a/assets-rebrand/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Fosscord Rebrand
-
-Icon by @Flam3rboy, everything else by @ItsRealmy.
-
-## Colors
-- Main color, and gradient start: **#FF5F00**
-- Secondary color, and gradient end: **#FF3D00**
-
-## Fonts
-The font used for the wordmark is `HK Grotesk Wide`.
diff --git a/assets-rebrand/default-avatars.psd b/assets-rebrand/default-avatars.psd
deleted file mode 100644
index 7b433c2..0000000
Binary files a/assets-rebrand/default-avatars.psd and /dev/null differ
diff --git a/assets-rebrand/png/Fosscord-Discord-Banner.png b/assets-rebrand/png/Fosscord-Discord-Banner.png
deleted file mode 100644
index 183dc69..0000000
Binary files a/assets-rebrand/png/Fosscord-Discord-Banner.png and /dev/null differ
diff --git a/assets-rebrand/png/Fosscord-Discord-Icon.png b/assets-rebrand/png/Fosscord-Discord-Icon.png
deleted file mode 100644
index f85eb28..0000000
Binary files a/assets-rebrand/png/Fosscord-Discord-Icon.png and /dev/null differ
diff --git a/assets-rebrand/png/Fosscord-Icon-NoImage.png b/assets-rebrand/png/Fosscord-Icon-NoImage.png
deleted file mode 100644
index 787a351..0000000
Binary files a/assets-rebrand/png/Fosscord-Icon-NoImage.png and /dev/null differ
diff --git a/assets-rebrand/png/Fosscord-Repo-Card.png b/assets-rebrand/png/Fosscord-Repo-Card.png
deleted file mode 100644
index 2af61f2..0000000
Binary files a/assets-rebrand/png/Fosscord-Repo-Card.png and /dev/null differ
diff --git a/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg b/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg
deleted file mode 100644
index 3cb6e81..0000000
--- a/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/assets-rebrand/svg/Fosscord-Icon-Rounded.svg b/assets-rebrand/svg/Fosscord-Icon-Rounded.svg
deleted file mode 100644
index 47fbe93..0000000
--- a/assets-rebrand/svg/Fosscord-Icon-Rounded.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/assets-rebrand/svg/Fosscord-Logo.svg b/assets-rebrand/svg/Fosscord-Logo.svg
deleted file mode 100644
index 356052c..0000000
--- a/assets-rebrand/svg/Fosscord-Logo.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/assets-rebrand/svg/Fosscord-Wordmark-Gradient.svg b/assets-rebrand/svg/Fosscord-Wordmark-Gradient.svg
deleted file mode 100644
index a03de73..0000000
--- a/assets-rebrand/svg/Fosscord-Wordmark-Gradient.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets-rebrand/svg/Fosscord-Wordmark-Orange.svg b/assets-rebrand/svg/Fosscord-Wordmark-Orange.svg
deleted file mode 100644
index 70be744..0000000
--- a/assets-rebrand/svg/Fosscord-Wordmark-Orange.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets-rebrand/svg/Fosscord-Wordmark-White.svg b/assets-rebrand/svg/Fosscord-Wordmark-White.svg
deleted file mode 100644
index bbb3fc1..0000000
--- a/assets-rebrand/svg/Fosscord-Wordmark-White.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets/architecture.png b/assets/architecture.png
deleted file mode 100644
index 80b1a21..0000000
Binary files a/assets/architecture.png and /dev/null differ
diff --git a/assets/blob.png b/assets/blob.png
deleted file mode 100644
index 9e249da..0000000
Binary files a/assets/blob.png and /dev/null differ
diff --git a/assets/contributors/config.py b/assets/contributors/config.py
deleted file mode 100644
index 73988dc..0000000
--- a/assets/contributors/config.py
+++ /dev/null
@@ -1 +0,0 @@
-auth=""
\ No newline at end of file
diff --git a/assets/contributors/contributors.json b/assets/contributors/contributors.json
deleted file mode 100644
index cc5575c..0000000
--- a/assets/contributors/contributors.json
+++ /dev/null
@@ -1,157 +0,0 @@
-[
- {
- "login": "DiegoMagdaleno",
- "html_url": "https://github.com/DiegoMagdaleno",
- "avatar_url": "https://avatars.githubusercontent.com/u/38844659?v=4"
- },
- {
- "login": "luth31",
- "html_url": "https://github.com/luth31",
- "avatar_url": "https://avatars.githubusercontent.com/u/49862892?v=4"
- },
- {
- "login": "bloomsirenix",
- "html_url": "https://github.com/bloomsirenix",
- "avatar_url": "https://avatars.githubusercontent.com/u/66263341?v=4"
- },
- {
- "login": "robigan",
- "html_url": "https://github.com/robigan",
- "avatar_url": "https://avatars.githubusercontent.com/u/35210888?v=4"
- },
- {
- "login": "notsapinho",
- "html_url": "https://github.com/notsapinho",
- "avatar_url": "https://avatars.githubusercontent.com/u/52896767?v=4"
- },
- {
- "login": "aryan0078",
- "html_url": "https://github.com/aryan0078",
- "avatar_url": "https://avatars.githubusercontent.com/u/44253539?v=4"
- },
- {
- "login": "Dekryptor",
- "html_url": "https://github.com/Dekryptor",
- "avatar_url": "https://avatars.githubusercontent.com/u/4175854?v=4"
- },
- {
- "login": "DankDumpster",
- "html_url": "https://github.com/DankDumpster",
- "avatar_url": "https://avatars.githubusercontent.com/u/62047267?v=4"
- },
- {
- "login": "Umimaso",
- "html_url": "https://github.com/Umimaso",
- "avatar_url": "https://avatars.githubusercontent.com/u/48099352?v=4"
- },
- {
- "login": "afeuerstein",
- "html_url": "https://github.com/afeuerstein",
- "avatar_url": "https://avatars.githubusercontent.com/u/32029275?v=4"
- },
- {
- "login": "jhcpeixoto",
- "html_url": "https://github.com/jhcpeixoto",
- "avatar_url": "https://avatars.githubusercontent.com/u/34003264?v=4"
- },
- {
- "login": "DarrenAlex",
- "html_url": "https://github.com/DarrenAlex",
- "avatar_url": "https://avatars.githubusercontent.com/u/43137267?v=4"
- },
- {
- "login": "mafineeek",
- "html_url": "https://github.com/mafineeek",
- "avatar_url": "https://avatars.githubusercontent.com/u/59805849?v=4"
- },
- {
- "login": "xMuffi0n3xDEV",
- "html_url": "https://github.com/xMuffi0n3xDEV",
- "avatar_url": "https://avatars.githubusercontent.com/u/45566180?v=4"
- },
- {
- "login": "veselcraft",
- "html_url": "https://github.com/veselcraft",
- "avatar_url": "https://avatars.githubusercontent.com/u/22993408?v=4"
- },
- {
- "login": "BuilderHD",
- "html_url": "https://github.com/BuilderHD",
- "avatar_url": "https://avatars.githubusercontent.com/u/43351072?v=4"
- },
- {
- "login": "HugoHead",
- "html_url": "https://github.com/HugoHead",
- "avatar_url": "https://avatars.githubusercontent.com/u/45836267?v=4"
- },
- {
- "login": "aramodi",
- "html_url": "https://github.com/aramodi",
- "avatar_url": "https://avatars.githubusercontent.com/u/64416869?v=4"
- },
- {
- "login": "VBDojnaz",
- "html_url": "https://github.com/VBDojnaz",
- "avatar_url": "https://avatars.githubusercontent.com/u/36706634?v=4"
- },
- {
- "login": "Stilic",
- "html_url": "https://github.com/Stilic",
- "avatar_url": "https://avatars.githubusercontent.com/u/63605602?v=4"
- },
- {
- "login": "boehs",
- "html_url": "https://github.com/boehs",
- "avatar_url": "https://avatars.githubusercontent.com/u/51836263?v=4"
- },
- {
- "login": "ItsNewe",
- "html_url": "https://github.com/ItsNewe",
- "avatar_url": "https://avatars.githubusercontent.com/u/16577829?v=4"
- },
- {
- "login": "TechnologyClassroom",
- "html_url": "https://github.com/TechnologyClassroom",
- "avatar_url": "https://avatars.githubusercontent.com/u/14501791?v=4"
- },
- {
- "login": "asdfugil",
- "html_url": "https://github.com/asdfugil",
- "avatar_url": "https://avatars.githubusercontent.com/u/42699250?v=4"
- },
- {
- "login": "GreenXenith",
- "html_url": "https://github.com/GreenXenith",
- "avatar_url": "https://avatars.githubusercontent.com/u/24834740?v=4"
- },
- {
- "login": "Ben-D-Anderson",
- "html_url": "https://github.com/Ben-D-Anderson",
- "avatar_url": "https://avatars.githubusercontent.com/u/63131015?v=4"
- },
- {
- "login": "flybizit-dev",
- "html_url": "https://github.com/flybizit-dev",
- "avatar_url": "https://avatars.githubusercontent.com/u/72803639?v=4"
- },
- {
- "login": "ImAaron - RealMANI",
- "html_url": "https://github.com/ImAaronFR",
- "avatar_url": "https://avatars.githubusercontent.com/u/96433859?v=4"
- },
- {
- "login": "MaddyUnderStars",
- "html_url": "https://github.com/MaddyUnderStars",
- "avatar_url": "https://avatars.githubusercontent.com/u/46743919?v=4"
- },
- {
- "login": "Iratu",
- "html_url": "https://github.com/Iratu",
- "avatar_url": "https://avatars.githubusercontent.com/u/13933677?v=4"
- },
- {
- "login": "Xenorio",
- "html_url": "https://github.com/Xenorio",
- "avatar_url": "https://avatars.githubusercontent.com/u/39472201?v=4"
- }
-]
diff --git a/assets/contributors/get_contributors.py b/assets/contributors/get_contributors.py
deleted file mode 100644
index 64df678..0000000
--- a/assets/contributors/get_contributors.py
+++ /dev/null
@@ -1,50 +0,0 @@
-import requests
-import json
-from config import auth
-
-config = {
- "org_name": "fosscord",
- "auth": auth
-}
-headers = {
- "Authorization": f"token {config['auth']}",
- "User-Agent": config['org_name'],
-}
-urls = {
- "base":f"https://api.github.com/orgs/{config['org_name']}",
- "all_repos":f"/repos",
-}
-contributors = []
-contributors_names = ["flam3rboy","xnacly","intevel","stefan080106","timschweiz","actions-user"]
-def get_contributors_url(n):
- if n["fork"]:
- # * excludes forks
- return "none"
- return n["contributors_url"]
-
-repos = requests.get(f"{urls['base']}{urls['all_repos']}", headers=headers).json()
-repos = list(map(get_contributors_url, repos))
-
-def format_contributor(n):
- return {
- "login": n["login"],
- "html_url": n["html_url"],
- "avatar_url": n["avatar_url"],
-
- }
-
-
-for repo in repos:
- if repo == "none":
- continue
- contr = requests.get(repo, headers=headers).json()
- contr = list(map(format_contributor, contr))
- for cont in contr:
- if not cont["login"].lower() in contributors_names:
- contributors_names.append(cont["login"].lower())
- contributors.append(cont)
- else:
- continue
-
-with open("contributors.json","w") as f:
- f.write(json.dumps(contributors, indent=4))
diff --git a/assets/controller.png b/assets/controller.png
deleted file mode 100644
index a0eb392..0000000
Binary files a/assets/controller.png and /dev/null differ
diff --git a/assets/logo.png b/assets/logo.png
deleted file mode 100644
index ecf100a..0000000
Binary files a/assets/logo.png and /dev/null differ
diff --git a/assets/logo/generate.js b/assets/logo/generate.js
deleted file mode 100644
index 40830b0..0000000
--- a/assets/logo/generate.js
+++ /dev/null
@@ -1,162 +0,0 @@
-var sizes = [
- 20, 29, 32, 40, 48, 50, 55, 57, 58, 60, 64, 72, 76, 80, 80, 87, 88, 96, 100, 114, 120, 128, 144, 152, 167, 172, 180,
- 192, 196, 216, 256, 512, 1024,
-];
-
-const density = 300;
-const quality = 100;
-const lossless = true;
-// var sizes = [16, 32, 64, 128, 256, 512, 1024, 2048];
-// var sizes = [2048];
-
-var formats = ["png", "jpg", "webp", "ico"];
-// var formats = ["png"];
-
-const files = ["icon.svg", "icon_fullsize.svg", "icon_round.svg"];
-// const files = ["icon.svg"];
-
-var styles = {
- // default: ``,
- dropshadow: [
- `#blob {
- filter: url(#dropshadow);
- }`,
- `
-
-
-
-
-
-
-
- `,
- ],
- // inner_shadow: [
- // `#blob {
- // filter: url(#InnerShadow);
- // }
- // .eye {
- // filter: url(#dropshadow);
- // }`,
- // `
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- // `,
- // ],
-};
-
-// 84,117,244
-// 143,64,245
-
-const colors = {
- black: `#background {
- fill: black;
- }`,
- white: `
- .eye {
- fill: white;
- }
- #background {
- fill: white;
- }
-
- #blob {
- fill: black;
- }
- svg {
- background: black;
- }
- `,
- blurple: `#background {
- fill: #7289DA;
- }`,
- blue: [
- `#background {
- fill: url(#gradient);
- }`,
- `
-
-
- `,
- ],
-};
-
-const { execSync } = require("child_process");
-const { readFileSync, writeFileSync, existsSync } = require("fs");
-const path = require("path");
-const temp = path.join(__dirname, "temp.svg");
-
-for (const file of files) {
- const name = file.split(".")[0];
-
- for (const size of sizes) {
- for (const colorName in colors) {
- for (const styleName in styles) {
- for (const format of formats) {
- const input = path.join(__dirname, file);
-
- const output = path.join(
- __dirname,
- "variants",
- `${name}_${size}_${colorName}.${format}`
- // `${name}_${size}_${colorName}_${styleName}.${format}`
- );
- if (existsSync(output)) continue;
- var fileData = readFileSync(input, { encoding: "utf8" });
-
- const cssEnd = fileData.indexOf(``);
- if (cssEnd === -1) continue;
-
- const color = colors[colorName];
- const style = styles[styleName];
-
- var cssStyle = "";
- var xmlStyle = "";
-
- if (Array.isArray(style)) {
- cssStyle += style[0];
- xmlStyle += style[1];
- } else {
- cssStyle += style;
- }
- if (Array.isArray(color)) {
- cssStyle += color[0];
- xmlStyle += color[1];
- } else {
- cssStyle += color;
- }
-
- fileData = fileData.slice(0, cssEnd) + cssStyle + fileData.slice(cssEnd);
-
- const svgEnd = fileData.indexOf(``);
- if (svgEnd === -1) continue;
- fileData = fileData.slice(0, svgEnd) + xmlStyle + fileData.slice(svgEnd);
-
- writeFileSync(temp, fileData, {
- encoding: "utf8",
- });
-
- execSync(
- `sharp -i ${temp} -o ${output} --density ${density} --progressive true -q ${quality} ${
- lossless ? "--lossless" : ""
- } resize ${size}`
- );
- console.log(`[File] written ${output}`);
- }
- }
- }
- }
-}
diff --git a/assets/logo/icon.svg b/assets/logo/icon.svg
deleted file mode 100644
index 3cde329..0000000
--- a/assets/logo/icon.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/assets/logo/icon_fullsize.svg b/assets/logo/icon_fullsize.svg
deleted file mode 100644
index 63960ae..0000000
--- a/assets/logo/icon_fullsize.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/assets/logo/icon_round.svg b/assets/logo/icon_round.svg
deleted file mode 100644
index 1786f74..0000000
--- a/assets/logo/icon_round.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets/logo/illustrator.ai b/assets/logo/illustrator.ai
deleted file mode 100644
index b26de75..0000000
--- a/assets/logo/illustrator.ai
+++ /dev/null
@@ -1,2348 +0,0 @@
-%PDF-1.6
%âãÏÓ
-1 0 obj
<>/OCGs[28 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<>stream
-
-
-
-
- application/pdf
-
-
- Fosscord
-
-
- Adobe Illustrator 25.2 (Windows)
- 2021-04-30T18:39:03-07:00
- 2021-04-30T18:39:04-07:00
- 2021-04-30T18:39:04-07:00
-
-
-
- 256
- 52
- JPEG
- /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgANAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8ADjPVHlprsDj0bWnC3wWn
CHLgsOScyC04XLgneh/8cXUP+Ym1/wCTdxmp7S+qHul/vU6n6R71+YDguxV2KuxV2KuxV4F+ef8A
5MzUf+YXTP8Aum22cpq/72Xvdlj+kMCzHZuxV2KuxV2KvS/+cbv/ACdvlb/jPN/1DS4q/QnFXYq7
FXYq7FXYq7FXYq7FXYq7FXYq+TQc9UeblFWtba6u7hLa0hee4kNEijUsxPsBkJzjAcUjQYRxEmgy
yz/KXzpcqGkigswd6Tyiv0iISZqsnbunjyJl7h+unOx6CfuVJfyc82IpIuLJyP2VklqfviAyEfaD
AekvkP1uTHQyHcxzWvKPmTRkMt/ZMtuDT6xGRJH9JUnj/sqZstP2hhzGoy37uTPwZR5pLWuZrfAJ
5of/ABxdQ/5ibT/k3cZqe0vqh7pf71dT9I96/MBwEz0fy1rmsE/o60edVNGk2VAfAuxC19q5Tl1E
Mf1GmcYGXJkkX5ReaHTk0tpEf5Xkcn/hUYZhntTEOh/Hxbfy8lO6/KbzXChaP6vcmn2YpCD/AMlF
jGGPaeI87CDp5MW1HS9R024Nvf27281KhXFKjxB6Ee4zNx5IzFxNtUokc0LljF4F+ef/AJMzUf8A
mF0z/um22cpq/wC9l73ZY/pDAwCTQbk9BmOzepeVv+cZ/wA4fMVvHdRaN+jrSUBo59RkW3JB3H7o
8pvvTFWWj/nCr81Kf8dTQx7fWLv/ALJcVYt5m/5xg/OPQbd7k6Oup20Q5PJpsq3DAe0PwzN/sUOK
vKWVlYqwKspoynYgjscVelf843f+Tt8rf8Z5v+oaXFX6E4qlnmLzN5f8t6Y+qa9qEOnWEZAa4uHC
Aseir3Zj2Ub4q8j1f/nML8n7GUx2zajqqg09W0tQqn3H1mS3b8MVQlt/zmh+VE0oSSx1m3U9ZZLe
3Kj5+ncSN+GKvS/I/wCbX5e+eC0flvWIru6jXnJZuHhuFXufSlCMQO7KCPfFWX4q7FXYqwHzp+e3
5W+TrmSz1jW421GKok0+1VrmdWH7LiIMsbe0hXFXnN1/zmt+W8cpW20jV50H+7Gjto6/Ieuxp88V
THRf+cxfykv5FjvV1HSSaBpbm3WSMfTbvM9P9hir17y35r8t+Z9OGo+X9St9TsieJmt3D8WpXi4+
0jUP2WAOKvmCuerOkMHtH5PaBHZaI+sSr/pWoEiNiN1gQ0AH+swJ+7OM7f1Rnl8MfTD73Y6PDwxv
qWYLr+jS376fHfQPfJUNbLIpkBXqONa1HfNSdLkEOMxPD31s5tN3t3bWsD3FzKsMEYrJK5Cqo9yc
GPHKRqIssgEvjvdM1W0dreWK8tJKxuUKyIaijKaV7HpmQcc8UtwYyZU8B8z6OdF8wXmnCvoo3O3J
7xOOSb+wND7jO60Oo8bEJdevvaOCijND/wCOLqH/ADE2n/Ju4zE7T+qHul/vWvVj0j3ovTrGa/v7
eyh/vbmRYk9ixpU/LNZkmIxMj0dfEWafQlpbaZoekpCrJbWVogBkchQKdWYmm7Hr75ykpSyTvnIu
yAEQrWOo2F/D69lcR3MNSpeJgwBHY075GeOUTUhSQQeSnfazpNhLHFe3kNtJL/dpK6oSK0rQnphh
hnIXEEoMgOaT+ftAi1jy7cUQNd2qme1fvVRVlB/ylFPnTMjQ5zjyDuOxYZocUXhOdO694F+ef/kz
NR/5hdM/7pttnKav+9l73ZY/pDPP+cRPy7tvMfnm48w6jCJtP8uIkkMbqGRrybkISa7H01Rn9m4n
Mdm+wNe88eTvL91b2mua3ZaZdXe9tDdzxwu4rx5AOR8Ndq9MVTsEEVG4PQ4qkmjeePJut6jcabo+
t2OoahaVNxa21xHLIgB4klVJNAdj4Yq+T/8AnMb8vLbRvNVh5t0+ERW2vh49QVAAovIaH1DTvNG1
fmrHvirAf+cbv/J2+Vv+M83/AFDS4q/QnFXwT/zk9+YV15r/ADNvrCOZm0fy+7afZQg/B6sZpcy0
6cmlBWv8qrirz3WPI3nPRdNt9T1fQ77T9OuqCC7ubeSKJiw5KAzKBVhuPHFUHofl/XNev107RLC4
1K+ZS621rG0snFftNxQE0Hc4qi4W81eSPNEE7RXGj6/pUyzJHOjRSxuNxyRgDxYfQwPgcVfo/wCS
vM9r5q8paT5itRxh1S1juPTrXg7L8cZPij1U/LFU6xVi35o+c08l+Qda8yGhmsbc/VEbcNcykRQK
R4eq619sVfnTYaZ5l81a3JFYWtzrGs3ryTypCjzTSMxLySMFBPU1Y4qh9X0bV9G1CXTtXsptPv4C
BNa3MbRSLUVFVYA7jceOKo7T/JHnHUtFn1zT9EvrvR7bl6+oQ28jwpwFXq6gj4Qat4d8Veo/84ne
f5vLn5lQ6JPKRpXmQfVJYzXiLpatbPT+YtWP/ZYqzEnbPV3XmD6T0KBbPRbC1XYQW8Ue3+SgBzzj
Uy48kpd5Ls4xoAPO9J/LHWLPzZHqEtzGbK3uPrCyqxMjgNyCladT0bfOhz9s456cwAPEY15fjuaj
GZl5Ms89aDc69oL2NtIsc4kWVOZIVuNfhJFfH781XZmpjgy8UhtVORvWyVeQfK195fs7r67Ipmum
Q+khLKgQEddtzy3zL7U1sc8hwjaLDFCQu2G/nDAi61p9yPtTQNG3/PN6j/k5m17Bl+7kO4/j7m0x
3STQv+OLqH/MTaf8m7jL+0/qh7pf71xtcPSPezD8r7VZ/N9uzCot45Jae/HiPxfNB2lKsJ83BwD1
PUPO3l+513QnsbaVY5w6yJzJCtxr8LEV8c0ujzjFPiPJy8sOIUl/5eeUtQ8v2l2b6RWmu2QiGMll
QRhu9BueW+W6/VRykcPRjhxmI3Srzz+Xusa1rov7KaIxSoiOsrFTGVFNqA1Xv88v0euhjhwyDDLh
MjYZ3p1p9U062s2cy/V4UhMjdW4KFqfnTNZknxSJ7y5AFCnzvqtsLXVLy1AoIJ5IgP8AUcr/AAzr
MUuKIPeHWyFF88fnn/5MzUf+YXTP+6bbZzGr/vZe92GP6Q+oP+cNtLgtfypuL1RWbUNTnkkbvxiS
OJV+Q4k/TmOzSL8//wDnG/zr548+p5i0G9tXtruGG3uIbuRozbmIceS0V+UZHxbb8idsVe66d5Wa
18hW3lRryQtBpSaUdQXaSqW4g9YVP2tuWKvAvyP/AOcZ/O3kr8zYfMWs3tp+jdMW4W3+qyO73Jnh
aFaoVXgoEnI8j9oCleuKs1/5y50mO+/Ji9umWraXeWl0h22Ly/Vu/tcYq+Xf+cbv/J2+Vv8AjPN/
1DS4q+/9VvhYaXeXxXkLSCScr4+mhanbwxV+Yljq0sGu2+r3CC8miuku5o5fsyssgkYP7OeuKvo7
87/+cmfI/nX8sZ/Luj2V5+ktUa3af6yiIlqIJkmajhn5sTHxHHsSSR0xV57/AM44/mz5f/LnzTf3
eu2sstlqVsLY3VuoeSEq4f7BK1Rv2qGuw64qgf8AnIP8ztG/MTz0msaNayW+n2tpHZRSTqqyzFHe
QyMqluP95xUVOw+gKvpf/nDzVZb38nxbOSV0vUrq0jB6BWEdzQf7K4OKvcMVfPX/ADmrqslv+Xek
adGxUX2pq8tP2kghkPE/7N1P0Yq8K/5xx/NjQfy582X15rtvLJYalai2a4t1DyQssiuDxJWqGnxU
36Yqg/8AnIT80dH/ADF88x6to9rJb6fZ2iWUMs6qs03CR5DIyqW4islFFegr3oFXq/5W/wDOUvkn
yr+VVnoWoaddPrWkwvBBbQohguSWZkYyFhwry/eVX3HLpir5p0jVptN12y1eABJrK6iu4lUUAaKQ
SKAPmuKvosmoz1hqMHsnlf8ANDQrqzht9Rl+o3sSKshl2icqKFlcbCvgafTnH6zsbLCRMBxRPzci
MlDX/wA39JsboW+nQHU6f3syyenGPZWKvyPy298lpuwskxczwfaUmSWP+dSbcdHYivxVnAoPb92c
yR7PH+f9n7UiTIYfzE8qzWAu3vVhPGr2719VT3XgASfozBl2XnjLh4b8+jYHmHnjzVF5i1KGS2ia
O0tVZImegdyxBZiBWg2FBnSdm6I4IGz6i2Ri1oP/ABxdQ/5ibT/k3cZV2n9UPdL/AHridoioD3p/
5Q8w/oDW479ozLDxaOZFpyKN/LXuCAc0uqweLDhdZjnwm3r8P5geUZbM3X6QRABVonBWUe3ClSfl
mgOhyg1wuYM0a5sYf857USuE0t2hB+BzMAxHuvAgfeczR2Sa+r7Gr8z5IjTPzf0y5vVgvbNrO3fY
XPqeoAf8pQqkD5VyGTsqQjcTZTHUgndONY/Mfyxp9uXiuRezkVjhg+Kp/wAp/sr+v2zHxdn5ZncU
PNslmiHil9dyXl7cXctPVuZHlenTk7Fj+JzpIREYgDo4BNm3z3+ef/kzNR/5hdM/7pttnLav+9l7
3Y4/pD1f/nGv/nIjy15S0EeT/NfqWlmk7y6fqiI0kaCY8njmRauPjqQyg9d6Uqcdm9g8/wD/ADlD
+WfljS1n0q9i8y6jMR6NhYyigHdpZuLrGB4ULe2KvPB/znJY+jU+TpfWp9j6+vGvhy+r1/4XFWf/
AJd/85Tflx5psZG1i4j8r6lCfjs76YGNlP7UVwVjVvChAb2piry//nJH/nIzyp5k8rXPkvyoz38V
5LEdR1RkMcHpwSLMqQhwHZjJGtWoBQbVrsq8q/5xu/8AJ2+Vv+M83/UNLir9Ar+zhvrG4sp6+jdR
PDLxNDxkUq1D8jir4S8+f84u/mh5a1B102wfzDpbuRbXlgOcnGvw+rB/eI1OtKr/AJWKsp8nf84Z
ebdX0Nb/AF7Vo/L99LUxaY0H1qQL2MrpNGqE9aDl70O2Kpw3/ODmpi2lZfN0JuVX9xEbFwjN4O/r
EoPcI2KvKYv+ccfzlk106OPLc6yK5Vrxyi2nEfti4J9Mim+xr7V2xV9j/kX+V0v5b+RV0O5ulu9Q
ubmS+v5Yq+kJpESPhFyAYqqRKKkbmp26Yq9CxV5d/wA5Afk/ffmZ5atLPTr+Oy1DTJnuLZZ1JhlL
Jw4Oy/En+sFb5Yq+RV/5x3/NwearXy7caBPBLdScRqFPUsljH2pWuY+cYVV3pXl2pXbFXss//ODV
uz1g85vHH/K+nBzX5i5T9WKsX/Mj/nEHXPLHlVtY0HVJPMd3atW8sY7QwyGE7c4UWSdnKftL4b9q
YqkX5df84qfmP5oliuNZgPlrSDQvNeqfrTL4R2tQ4P8Axk4j59MVZfXPWm8wcaHFjwNCgxSIOri2
CC0gHC2xg7C3Rgn+gf8AHF1H/mJtP+Tdxmn7U+qHul/vXB7UFQj71bNc6N2KuxV2KuxV2KvAvzz/
APJmaj/zC6Z/3TbbOU1f97L3uyx/SGBZjs3Yq7FXYq7FXpf/ADjd/wCTt8rf8Z5v+oaXFX6E4q7F
XYq7FXYq7FXYq7FXYq7FXYq7FXyDvnrbnmnYo2dvikU7FmKaNcLYKWnC3RpkHl7/AI4uo/8AMTaf
8m7jNP2p9UPdL/eut7X+iPvV81roHYq7FXYq7FXYq8C/PP8A8mZqP/MLpn/dNts5TV/3sve7LH9I
YFmOzdirsVdirsVel/8AON3/AJO3yt/xnm/6hpcVfoTirsVdirsVdirsVdirsVdirsVdirsVf//Z
-
-
-
- proof:pdf
- uuid:65E6390686CF11DBA6E2D887CEACB407
- xmp.did:342c9f5f-deaa-ad4e-9146-6dbc602b8356
- uuid:4174d2ec-20ac-43b8-a1ac-8e65722e56be
-
- uuid:89ff6c5e-a30b-44e6-8334-f4156ed365d8
- xmp.did:da27c896-85ce-134e-a48c-68087001d90a
- uuid:65E6390686CF11DBA6E2D887CEACB407
- proof:pdf
-
-
-
-
- saved
- xmp.iid:342c9f5f-deaa-ad4e-9146-6dbc602b8356
- 2021-04-30T18:39:01-07:00
- Adobe Illustrator 25.2 (Windows)
- /
-
-
-
- Web
- Document
- AIRobin
- 1
- True
- False
-
- 1080.000000
- 1080.000000
- Pixels
-
-
-
- Cyan
- Magenta
- Yellow
- Black
-
-
-
-
-
- Default Swatch Group
- 0
-
-
-
- White
- RGB
- PROCESS
- 255
- 255
- 255
-
-
- Black
- RGB
- PROCESS
- 0
- 0
- 0
-
-
- RGB Red
- RGB
- PROCESS
- 255
- 0
- 0
-
-
- RGB Yellow
- RGB
- PROCESS
- 255
- 255
- 0
-
-
- RGB Green
- RGB
- PROCESS
- 0
- 255
- 0
-
-
- RGB Cyan
- RGB
- PROCESS
- 0
- 255
- 255
-
-
- RGB Blue
- RGB
- PROCESS
- 0
- 0
- 255
-
-
- RGB Magenta
- RGB
- PROCESS
- 255
- 0
- 255
-
-
- R=193 G=39 B=45
- RGB
- PROCESS
- 193
- 39
- 45
-
-
- R=237 G=28 B=36
- RGB
- PROCESS
- 237
- 28
- 36
-
-
- R=241 G=90 B=36
- RGB
- PROCESS
- 241
- 90
- 36
-
-
- R=247 G=147 B=30
- RGB
- PROCESS
- 247
- 147
- 30
-
-
- R=251 G=176 B=59
- RGB
- PROCESS
- 251
- 176
- 59
-
-
- R=252 G=238 B=33
- RGB
- PROCESS
- 252
- 238
- 33
-
-
- R=217 G=224 B=33
- RGB
- PROCESS
- 217
- 224
- 33
-
-
- R=140 G=198 B=63
- RGB
- PROCESS
- 140
- 198
- 63
-
-
- R=57 G=181 B=74
- RGB
- PROCESS
- 57
- 181
- 74
-
-
- R=0 G=146 B=69
- RGB
- PROCESS
- 0
- 146
- 69
-
-
- R=0 G=104 B=55
- RGB
- PROCESS
- 0
- 104
- 55
-
-
- R=34 G=181 B=115
- RGB
- PROCESS
- 34
- 181
- 115
-
-
- R=0 G=169 B=157
- RGB
- PROCESS
- 0
- 169
- 157
-
-
- R=41 G=171 B=226
- RGB
- PROCESS
- 41
- 171
- 226
-
-
- R=0 G=113 B=188
- RGB
- PROCESS
- 0
- 113
- 188
-
-
- R=46 G=49 B=146
- RGB
- PROCESS
- 46
- 49
- 146
-
-
- R=27 G=20 B=100
- RGB
- PROCESS
- 27
- 20
- 100
-
-
- R=102 G=45 B=145
- RGB
- PROCESS
- 102
- 45
- 145
-
-
- R=147 G=39 B=143
- RGB
- PROCESS
- 147
- 39
- 143
-
-
- R=158 G=0 B=93
- RGB
- PROCESS
- 158
- 0
- 93
-
-
- R=212 G=20 B=90
- RGB
- PROCESS
- 212
- 20
- 90
-
-
- R=237 G=30 B=121
- RGB
- PROCESS
- 237
- 30
- 121
-
-
- R=199 G=178 B=153
- RGB
- PROCESS
- 199
- 178
- 153
-
-
- R=153 G=134 B=117
- RGB
- PROCESS
- 153
- 134
- 117
-
-
- R=115 G=99 B=87
- RGB
- PROCESS
- 115
- 99
- 87
-
-
- R=83 G=71 B=65
- RGB
- PROCESS
- 83
- 71
- 65
-
-
- R=198 G=156 B=109
- RGB
- PROCESS
- 198
- 156
- 109
-
-
- R=166 G=124 B=82
- RGB
- PROCESS
- 166
- 124
- 82
-
-
- R=140 G=98 B=57
- RGB
- PROCESS
- 140
- 98
- 57
-
-
- R=117 G=76 B=36
- RGB
- PROCESS
- 117
- 76
- 36
-
-
- R=96 G=56 B=19
- RGB
- PROCESS
- 96
- 56
- 19
-
-
- R=66 G=33 B=11
- RGB
- PROCESS
- 66
- 33
- 11
-
-
-
-
-
- Grays
- 1
-
-
-
- R=0 G=0 B=0
- RGB
- PROCESS
- 0
- 0
- 0
-
-
- R=26 G=26 B=26
- RGB
- PROCESS
- 26
- 26
- 26
-
-
- R=51 G=51 B=51
- RGB
- PROCESS
- 51
- 51
- 51
-
-
- R=77 G=77 B=77
- RGB
- PROCESS
- 77
- 77
- 77
-
-
- R=102 G=102 B=102
- RGB
- PROCESS
- 102
- 102
- 102
-
-
- R=128 G=128 B=128
- RGB
- PROCESS
- 128
- 128
- 128
-
-
- R=153 G=153 B=153
- RGB
- PROCESS
- 153
- 153
- 153
-
-
- R=179 G=179 B=179
- RGB
- PROCESS
- 179
- 179
- 179
-
-
- R=204 G=204 B=204
- RGB
- PROCESS
- 204
- 204
- 204
-
-
- R=230 G=230 B=230
- RGB
- PROCESS
- 230
- 230
- 230
-
-
- R=242 G=242 B=242
- RGB
- PROCESS
- 242
- 242
- 242
-
-
-
-
-
- Web Color Group
- 1
-
-
-
- R=63 G=169 B=245
- RGB
- PROCESS
- 63
- 169
- 245
-
-
- R=122 G=201 B=67
- RGB
- PROCESS
- 122
- 201
- 67
-
-
- R=255 G=147 B=30
- RGB
- PROCESS
- 255
- 147
- 30
-
-
- R=255 G=29 B=37
- RGB
- PROCESS
- 255
- 29
- 37
-
-
- R=255 G=123 B=172
- RGB
- PROCESS
- 255
- 123
- 172
-
-
- R=189 G=204 B=212
- RGB
- PROCESS
- 189
- 204
- 212
-
-
-
-
-
-
- Adobe PDF library 15.00
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-endstream
endobj
3 0 obj
<>
endobj
5 0 obj
<>/Resources<>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/TrimBox[0.0 0.0 1080.0 1080.0]/Type/Page>>
endobj
25 0 obj
<>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 1080.0 1080.0]/Type/Page>>
endobj
26 0 obj
<>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 1080.0 1080.0]/Type/Page>>
endobj
27 0 obj
<>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 1080.0 1080.0]/Type/Page>>
endobj
30 0 obj
<>/Resources<>/ExtGState<>/Properties<>>>/TrimBox[0.0 0.0 1080.0 1080.0]/Type/Page>>
endobj
45 0 obj
<>stream
-H‰ÔTAŽÛ0¼ûú€¹$ERâµiÑÓ¢XôÐm/ݶû #ű'iÄ¡†C)Oß.åéùÂåÓçKYÞ.Â}Ö9þý¹ü(oËÓå;—ëGáù•+ ¯€~,ïE&(%ÙɵZ1sª\[¹¾.cëuYU•"â$e5#Ñ^T•¤ë8I)ÍJ•JG¹.«t!̪ubö²jtjÑKFÚ£÷ B|pj%Û
Ò:bOôTÀPØw`’ Íü“$®§,)#Ï'Y(Tä¡Æ
¤Þ½¡˜äCI—?€zPJnN OSìiÜjUˆ=`!øc‘PºŠ!ÏÜU2Ô»"qe=¦>I»<ã–2àÛÚ:6&‰Qv2 ½O¥-¨6Ä‚Û˜„@¨&Oêš{%˃Daƒæš„Œ Šh(unð€ÂäŠ`ë †œ„_ÓIkÔxp8Èà¶ÂP#YáGÏvd4
6ež£´WªnG5„¸'éàÌÌw1Ê°"ý¤WZ#÷‡¢n‹ôsåFy2‡ñ#'ÿTÝ
èj»ÿÛjoжÞ:ÈÔ§¥·óìû¯åeÁËÁ7ŸÝñܬ)9ú[ÜðÆdn