diff --git a/services/nginx-pages.nix b/services/nginx-pages.nix index ef53967..7f7a156 100644 --- a/services/nginx-pages.nix +++ b/services/nginx-pages.nix @@ -1,44 +1,9 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: -with lib; -let - domains = [ "www.infra4future.de" "hacc.earth" "www.hacc.earth" "muc.hacc.earth" "help.studentsforfuture.info" ]; -in { + +{ hacc.websites = { enable = true; directory = ../websites; }; - - services.nginx.virtualHosts = - listToAttrs (map (host: nameValuePair host { - useACMEHost = "infra4future.de"; - forceSSL = true; - locations."/".proxyPass = "http://${config.containers.gitlab.localAddress}:8090"; - }) domains) // { - "infra4future.de" = { - enableACME = true; - forceSSL = true; - locations."/".proxyPass = "http://${config.containers.gitlab.localAddress}:8090"; - }; - "muc.hacc.earth" = { - enableACME = true; - forceSSL = true; - locations."/".extraConfig = '' - proxy_pass "http://${config.containers.gitlab.localAddress}:8090/infra4future/muc.hacc.earth/"; - proxy_set_header Host 'hacc.4future.dev'; - ''; - }; - "help.studentsforfuture.info" = { - enableACME = true; - forceSSL = true; - locations."/".extraConfig = '' - proxy_pass "http://${config.containers.gitlab.localAddress}:8090/pcs-docs/"; - proxy_set_header Host 'studentsforfuture.4future.dev'; - ''; - }; - }; - - security.acme.certs."infra4future.de" = { - extraDomainNames = domains; - }; } diff --git a/websites/hacc.earth/License.md b/websites/hacc.earth/License.md new file mode 100644 index 0000000..471f09f --- /dev/null +++ b/websites/hacc.earth/License.md @@ -0,0 +1,25 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + diff --git a/websites/hacc.earth/assets/ShareTech-Regular.ttf b/websites/hacc.earth/assets/ShareTech-Regular.ttf new file mode 100644 index 0000000..787ba83 Binary files /dev/null and b/websites/hacc.earth/assets/ShareTech-Regular.ttf differ diff --git a/websites/hacc.earth/assets/favicon.png b/websites/hacc.earth/assets/favicon.png new file mode 100644 index 0000000..0f66e6a Binary files /dev/null and b/websites/hacc.earth/assets/favicon.png differ diff --git a/websites/hacc.earth/assets/favicon_color.png b/websites/hacc.earth/assets/favicon_color.png new file mode 100644 index 0000000..8456767 Binary files /dev/null and b/websites/hacc.earth/assets/favicon_color.png differ diff --git a/websites/hacc.earth/assets/globe_cut_mid.jpg b/websites/hacc.earth/assets/globe_cut_mid.jpg new file mode 100644 index 0000000..beabda3 Binary files /dev/null and b/websites/hacc.earth/assets/globe_cut_mid.jpg differ diff --git a/websites/hacc.earth/assets/haccvoc.svg b/websites/hacc.earth/assets/haccvoc.svg new file mode 100644 index 0000000..77e7aa7 --- /dev/null +++ b/websites/hacc.earth/assets/haccvoc.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/websites/hacc.earth/assets/infra4future.svg b/websites/hacc.earth/assets/infra4future.svg new file mode 100644 index 0000000..63db6f5 --- /dev/null +++ b/websites/hacc.earth/assets/infra4future.svg @@ -0,0 +1,92 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/websites/hacc.earth/assets/logo_header.svg b/websites/hacc.earth/assets/logo_header.svg new file mode 100644 index 0000000..5340f36 --- /dev/null +++ b/websites/hacc.earth/assets/logo_header.svg @@ -0,0 +1,39 @@ + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/websites/hacc.earth/assets/logo_header_shadow.svg b/websites/hacc.earth/assets/logo_header_shadow.svg new file mode 100644 index 0000000..308d2de --- /dev/null +++ b/websites/hacc.earth/assets/logo_header_shadow.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/websites/hacc.earth/default.nix b/websites/hacc.earth/default.nix new file mode 100644 index 0000000..3b7d2d3 --- /dev/null +++ b/websites/hacc.earth/default.nix @@ -0,0 +1,16 @@ +{ stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "hacc.earth-static"; + + src = ./.; + + phases = [ "buildPhase" ]; + buildPhase = '' + cd $src + mkdir -p $out + cp -r * $out + rm $out/default.nix + ''; + +} diff --git a/websites/hacc.earth/index.html b/websites/hacc.earth/index.html new file mode 100644 index 0000000..01ee6dc --- /dev/null +++ b/websites/hacc.earth/index.html @@ -0,0 +1,460 @@ + + + + + + + + hacc – hackers against climate change + + + + + +
Die Erde vom Weltall aus gesehen.
+
+ +
+ + + +
+

Welcome to hacc_

+

+ “Hackers Against Climate Change" originated as a series of self-organized sessions at 35c3. Working groups, spin offs and local chapters formed afterwards and were present at all major CCC events. Join the groups or start your own!

+

More info about this page at the bottom. +

+
+ + +
+

Get in contact

+

+

+

+ + +
+

Ways to Participate

+

+

+

+
+ + +
+

Local chapters

+

+

+

+
+ + +
+

Spin offs & working groups

+

+ There are different spin-offs of the movement originating from the original hacc sessions and events like the CCCamp2019 or working groups associated to hacc. +

+
    +
  • c3sus, making Chaos events more sustainable
  • +
  • Eventgrid, developing a green power network for Camps
  • +
  • infra4future, offering infrastructure and communcation platforms
  • +
  • hacc-voc, doing streams and recordings
  • +
  • GreenFeediverse, providing a list about servers and their renewable energy consumption status
  • +
+

+ Further project ideas can be found or added in the wiki and the hacc directory. +

+ + +
+

Similar groups

+

+

+

+
+ + +
+

We in the press

+ +

+

+

+
+ + +
+

History of hacc

+

+ “Hackers Against Climate Change" originated as a series of self-organized sessions at 35c3. In the aftermath members of those sessions started spin offs as mentioned above and local chapters in Siegen, Munich and on the Canary Islands. +

+

+The local chapter in Siegen initiated the first hacc sessions at 35c3 and afterwards was mainly involved in local activities. +

+The local chapter CHT hackbase cohosted the 35c3 sessions, hosted the session at 36c3 and cohosted the divoc r2r sessions. +

+

+Inspired by the activities in Siegen, the Munich chapter started their bi-weekly meetings in May 2019. With the approval to use the name by the initiator of the first sessions on May 13th 2020 we eventually founded the German non-profit organization "hackers against climate change e.V." on December 9th 2020. Two members of us were part of the 35c3 sessions. Since then we were active at the CCCamp 2019, 36c3, rC3 and divoc r2r.
+

+

+Unfortunately conflicts led to a split between the local chapter Munich and CHT hackbase in July 2021. +

+ + +
+

About this page

+

+The hacc e.V. runs this page (hacc.earth) but not necessarily the linked projects. You can find more about our activities and involvements on our own page.
+Also the source of the page can be found here. As with the hacc e.V. infrastructure in general you are invited to make change requests or just contact us to ask for changes. +

+

+The hacc logo was designed by Creatives for Future. +

+ +
+ + +
+
+ + + diff --git a/websites/hacc.earth/index_de.html b/websites/hacc.earth/index_de.html new file mode 100644 index 0000000..dc55ada --- /dev/null +++ b/websites/hacc.earth/index_de.html @@ -0,0 +1,386 @@ + + + + + + + + hacc – hackers against climate change + + + + + +
The Earth, seen from space.
+
+
en/de
+
+ + + +
+

Willkommen bei hacc_

+

+ “Hackers Against Climate Change” entstammt einer Serie von Self-Organized Sessions beim 35c3. Seit dem haben wir mit anderen Klimaschutzgruppen zusammengearbeitet, diese mit technischem Wissen unterstützt, sowie in der Hacker Community auf die Klimakrise aufmerksam gemacht.

+

+ Zögere nicht mit uns in Kontakt zu treten, über verschiedene Kanäle oder bei lokalen Treffen. Treffe uns bei Chaos-Events oder starte Deine eigene lokale Gruppe! +

+
+ + +
+

Was wir machen

+

+ hacc ist eine Gemeinschaft von Lebewesen die sich zur Aufgabe gemacht haben, im Sinne der Hackerethik des Chaos Computer Clubs die Klimaschutzbewegung mitzugestalten. Zur Zeit sind unsere bedeutensten Projekte hacc.voc und infra4future (siehe unten).
Ein weiteres Projekt ist hacc.csv. Dabei steht csv für collaboration, science, visualization und data. Es gibt zwei lokale Gruppen in Deutschland, in München und + Siegen. +

+ + +
+
+ +
+ hacc.voc +
+

+ Du hast ein Event hast brauchst wen um es zu filmen + oder live zu streamen? Vielleicht habe wir Zeit und können + dir helfen!
+ Alle unsere Aufnahmen landen auf hacc.media; + unsere Livestreams sind auf live.hacc.media. +

+
    +
  • v-edge Congress 2020 in München
  • +
  • Livestreams und Aufzeichnungen einiger Podiumsdiskussionen und Pressekonferenzen von anderen * for future-Orgas (siehe hacc.media)
  • +
  • Unsere eigene Stage auf der Remote Chaos Experience (rc3) 2020
  • +
  • Die Streaming-Infrastruktur für die zweite und dritte Auflage der Public Climate School der Students for Future
  • +
+
+
+ +
+ infra4future +
+

+ Wir betreiben und administrieren Server-Infrastruktur und stellen diese Klimaschutzgruppen zur Verfügung. +

+
    +
  • Cloud-Speicher, Chats und Foren
  • +
  • mumble.hacc.space: ein Sprach-Chat für Gruppen, die ohne physische Treffen in Kontakt bleiben wollen
  • +
  • Wenn Du einen der Dienste benötigst, schau Dich auf der oben verlinkten Seite um, schreib uns oder erstell Dir ein Account!
  • +
+ +
+
+
+ + +
+

Mitmachen

+
    +
  • Regelmäßiger internationaler Call, jeden 10. und 25. im Monat um 18:00 UTC via Jitsi.
  • +
  • Regelmäßige Treffen von hacc in München, normalerweise jeden ersten und dritten Mittwoch im Monat um 19:00 Uhr beim muCCC. Im Moment treffen wir uns Online auf mumble.hacc.space.
  • +
  • Regelmäßige Treffen des Klimanotstandbündnis in Siegen. Jeden zweiten Sonntag, siehe hacc-Seite.
  • +
  • + Wenn du Vorschläge für Änderungen an unserer Infrastruktur hast, leg bitte einen Issue in unserem Meta-Diskussions-Repo an, + oder (falls du Nix kennst) erstelle einen Merge Request auf die nixfiles, über die wir einen (größer werdenden) Teil unserer Server verwalten. +
  • +
+ +
+ + +
+

Kontakt

+

+ Du kannst uns über verschiedne Kanäle erreichen und mitmachen: +

+ + +
+ + +
+

Spin offs & Ähnlich Gruppen

+

+ Es gibt verschiedene Spin-Offs, die aus der Bewegung der den ersten hacc-Sessions auf dem 35c3 und Events wie dem CCCamp2019 entstanden sind: +

+
    +
  • c3sus, Chaos-Events nachhaltig gestalten
  • +
  • Eventgrid, Entwicklung eines lokalen Stromnetzes, für Outdoor-Events wie dem Camp
  • +
+ +

+ Weitere Projektideen gibt es im wiki. +

+

Ähnliche Gruppen

+ +
+ + +
+

In der Presse

+

+ Le Monde hat sich aus unbekannten Gründen entschlossen, uns und unsere Poster (und Mate) in einem Artikel zum 36c3 zu erwähnen! +

+
+ +
+
+ + + diff --git a/websites/help.studentsforfuture.info/.DS_Store b/websites/help.studentsforfuture.info/.DS_Store new file mode 100644 index 0000000..f92bd22 Binary files /dev/null and b/websites/help.studentsforfuture.info/.DS_Store differ diff --git a/websites/help.studentsforfuture.info/.gitignore b/websites/help.studentsforfuture.info/.gitignore new file mode 100644 index 0000000..64e3706 --- /dev/null +++ b/websites/help.studentsforfuture.info/.gitignore @@ -0,0 +1,2 @@ +.jekyll-cache +_site diff --git a/websites/help.studentsforfuture.info/.nojekyll b/websites/help.studentsforfuture.info/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/websites/help.studentsforfuture.info/README.md b/websites/help.studentsforfuture.info/README.md new file mode 100644 index 0000000..478f5bf --- /dev/null +++ b/websites/help.studentsforfuture.info/README.md @@ -0,0 +1,31 @@ +# SFF Technik Wiki + +?> Gerade wird noch herumgebastelt, deswegen ist einiges unvollständig. + +Hier sammeln wir technische Leitfäden, wie ihr euch mit den bei SFF verwendeten Tools +zurechtfindet, und wie ihr digitale Events abhalten & gestalten könnt. +Hauptsächlich geht es hier um die [PCS](https://studentsforfuture.info/public-climate-school), +aber manches ist vielleicht auch so nützlich. + +**Für ungeklärte Fragen, Ergänzungswünsche oder Feedback wendet euch einfach an den [PCS Tech Support auf Telegram](https://t.me/joinchat/PezzhhOoxeVRGvoxMoi4Sg).** + +**Überblick:** +- **[Webseite](website/website.md)**: Hier findet ihr Leitfäden für unsere bundesweite Webseite. +- **[Tools](tools/tools.md)**: Hier findet ihr Leitfäden zu einigen Tools zur Organisation, für Social Media, Events, Online-Meetings und Live-Interaktion. +- **[Streams](streams/streams)**: Hier erfahrt ihr, wie ihr Veranstaltungen streamen könnt. Außerdem findet ihr hier die technische Stream Dokumentation zu den digitalen PCS. +- **[Online-Events](event/online-event.md)**: Hier findet ihr Ressourcen, die euch bei digitalen Events vielleicht helfen können. + +**FAQ:** + +- [Wie kommt mein Format in den Stream? Wie läuft das ab?](/faq?id=wie-kommt-mein-format-in-den-stream-wie-läuft-das-ab) +- [Wir haben keinen Streaming-Account. Könnt ihr uns etwas zur Verfügung stellen?](/faq?id=wir-haben-keinen-streaming-account-könnt-ihr-uns-etwas-zur-verfügung-stellen) +- [Woher bekomme ich Ortsgruppen Zugang zur Website?](/faq?id=woher-bekomme-ich-ortsgruppen-zugang-zur-website) +- [Wie kann ich mit Trollen im meinem Online-Event umgehen?](/faq?id=wie-kann-ich-mit-trollen-im-meinem-online-event-umgehen) +- [Wie kann ich mein Online-Event barrierefrei gestalten?](/faq?id=wie-kann-ich-mein-online-event-barrierefrei-gestalten) + +--- + + + +[Hier](https://www.youtube.com/watch?v=wn5AE98T8sE) findest du ein YouTube-Video, in dem wir die aktuellen Tools der PCS-Organisation erklären. + diff --git a/websites/help.studentsforfuture.info/_404.md b/websites/help.studentsforfuture.info/_404.md new file mode 100644 index 0000000..4934456 --- /dev/null +++ b/websites/help.studentsforfuture.info/_404.md @@ -0,0 +1,8 @@ +# Seite nicht gefunden :( + +Falls du auf einen Link geklickt hast, ist der Link vermutlich veraltet. +Bitte melde dich beim +[PCS Tech Support auf Telegram](https://t.me/joinchat/PezzhhOoxeVRGvoxMoi4Sg), damit +das behoben werden kann. + +[Zur Startseite](/) diff --git a/websites/help.studentsforfuture.info/_glossary.md b/websites/help.studentsforfuture.info/_glossary.md new file mode 100644 index 0000000..0b8853a --- /dev/null +++ b/websites/help.studentsforfuture.info/_glossary.md @@ -0,0 +1,4 @@ +##### PCS +Public Climate School + + diff --git a/websites/help.studentsforfuture.info/_sidebar.md b/websites/help.studentsforfuture.info/_sidebar.md new file mode 100644 index 0000000..2070756 --- /dev/null +++ b/websites/help.studentsforfuture.info/_sidebar.md @@ -0,0 +1,36 @@ +- [Start](README.md) +- [FAQ](faq.md) +- [Webseite](website/website.md) + - [Events eintragen](website/events-eintragen.md) + - [OG-Homepage einrichten](website/og-homepage.md) +- [Tools](tools/tools.md) + - [Tools zur Organisation](tools/orga.md) + - [Plattform-N](tools/plattform-n.md) + - [Rocket.Chat](tools/rocket-chat.md) + - [Meistertask](tools/meistertask.md) + - [Dieses Wiki](tools/technik-wiki.md) + - [Tools für Social Media](tools/socialmedia.md) + - [Profilbildgenerator](tools/profilbildgenerator.md) + - [Sharepics mit Canva](tools/canva.md) + - [Tools fürs Eventmanagement](tools/events.md) + - [Eventkalender](tools/eventkalender.md) + - [Attending.io](tools/attending.md) + - [Tools für Video-Konferenzen](tools/video-conference.md) + - [Zoom](tools/zoom.md) + - [BigBlueButton](tools/bbb.md) + - [JitSi](tools/jitsi.md) + - [Tools für Live-Interaktion](tools/live-interaktion.md) + - [Tweedback](tools/tweedback.md) +- [Streams](streams/streams.md) + - [Stream: Zoom zu YouTube](streams/einfach.md) + - [Stream: Zoom zu PCS-Server (RTMP)](streams/streamzoomrtpm.md) + - [Streams mit OBS](streams/obs.md) + - [Troubleshooting](streams/troubleshooting.md) + - [Ergänzungen / Optimierungen](streams/optimierungen.md) + - [Technische Dok. digitale PCS](streams/pcs-doc.md) + - [Überblick PCS 2.0](streams/pcs2.md) + - [Überblick PCS 3.0](streams/pcs3.md) +- [Online-Events](events/online-events.md) + - [Moderation](events/moderation.md) + - [Datenschutz](events/datenschutz.md) + - [Beispiel PCS Einverständniserklärung](events/einverstaendniserklaerung.md) diff --git a/websites/help.studentsforfuture.info/default.nix b/websites/help.studentsforfuture.info/default.nix new file mode 100644 index 0000000..501be08 --- /dev/null +++ b/websites/help.studentsforfuture.info/default.nix @@ -0,0 +1,16 @@ +{ stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "muc.hacc.earth-static"; + + src = ./.; + + phases = [ "buildPhase" ]; + buildPhase = '' + cd $src + mkdir -p $out + cp -r * $out + rm $out/default.nix + ''; + +} diff --git a/websites/help.studentsforfuture.info/einverstaendniserklaerung.pdf b/websites/help.studentsforfuture.info/einverstaendniserklaerung.pdf new file mode 100644 index 0000000..c086fb2 Binary files /dev/null and b/websites/help.studentsforfuture.info/einverstaendniserklaerung.pdf differ diff --git a/websites/help.studentsforfuture.info/events/datenschutz.md b/websites/help.studentsforfuture.info/events/datenschutz.md new file mode 100644 index 0000000..fefd931 --- /dev/null +++ b/websites/help.studentsforfuture.info/events/datenschutz.md @@ -0,0 +1,17 @@ +# Leitfaden: PCS 2020 zum Thema Datenschutz + +Dadurch, dass die PCS 2020 online stattfindet müssen wir uns auch Gedanken über Datenschutz machen. Dieser Leitfaden kann nicht jeden Fall abdecken und es handelt sich hier nur um Empfehlungen. + + + +## Normaler Vortrag + +Sollte der Vortrag wie eine Vorlesung in diesen Zeiten üblich über eine Konferenzplattform stattfinden jedoch ansonsten nicht weiter gestreamed oder aufgezeichnet werden, reicht meistens ein einfacher Hinweis auf die Datenschutzrichtlinien der Plattform. Dieser sollte vor betreten der Plattform platziert sein. Zum Beispiel an der Stelle an der ihr die Links zu der Vorlesung bewirbt. + +## Aufgezeichneter oder gestreamter Vortrag + +Für einen Vortrag der noch anderweitig zugänglich gemacht werden soll müssen noch weitere Vorkehrung getroffen werden. Alle Menschen die in einem solchen Vortrag zu sehen sind müssen **vor der Verarbeitung ihrer Daten** zugestimmt haben. Zuschauer könnt ihr Beispielsweise mündlich darüber aufklären, dass sie in einem Livestream zu sehen sein werden oder was mit der Aufnahme passiert. Außerdem empfiehlt es sich auch an anderer Stelle darauf hinzuweisen. Beispielsweise kann auf der gleichen Folie auf der zur Interaktion aufgerufen wird, auch der Hinweis stehen, dass eine solche aufgezeichnet wird. Wichtig ist das es nicht die Möglichkeit gibt, dass unfreiwillig oder unwissentlich persönliche Daten (z.B. Äußerungen, Namen etc) verarbeitet/veröffentlicht werden. Um sicher zu gehen könnt empfiehlt sich zu diesem Zweck auch von jedem Teilnehmenden eine Einverständniserklärung unterschreiben zu lassen. Eine weitere Möglichkeit ist es Fragerunden am Ende des Vortrages nicht mit aufzuzeichnen. Bedenkt außerdem auch, dass auch Menschen die erst später der Konferenz beitreten informiert werden müssen. Zum Beispiel im Chat. + +Die Dozierenden solltet ihr außerdem **vorher** darum bitten euch eine Einverständnis Erklärung auszufüllen. + +Beispiele für Einverständniserklärungen findet ihr [hier](events/einverstaendniserklaerung.md). diff --git a/websites/help.studentsforfuture.info/events/einverstaendniserklaerung.md b/websites/help.studentsforfuture.info/events/einverstaendniserklaerung.md new file mode 100644 index 0000000..0a19d5a --- /dev/null +++ b/websites/help.studentsforfuture.info/events/einverstaendniserklaerung.md @@ -0,0 +1,68 @@ +# Beispiel PCS Einverständniserklärung + +Wenn ihr Veranstaltungen aufzeichnen und veröffentlichen wollt, braucht ihr vermutlich +eine Einverständniserklärung. Hier findet ihr Beispiele für die PCS, die ihr für euch +anpassen könnt (insb. alles was markiert ist). +Trotzdem der Disclaimer: **Die Einverständniserklärungen hier sind nur zur Orientierung und ohne Gewährleistung!** + +## Deutsch + +#### Als PDF: +Eine Beispieleinverständniserklärung von der PCS 2020 findet ihr hier. + +#### In Textform: + +_**Einverständniserklärung zur Aufzeichnung von Vorlesungen / Vorträgen im Rahmen der Public Climate School vom 17.-21.05.2021.**_ + +*Ich erkläre mich damit einverstanden, dass von mir Audio-/Videoaufnahmen gemacht +werden, die im Rahmen der vom 17.-21.05.2021 stattfindenden Public +Climate School online veröffentlicht werden.* + +*Ich versichere, dass innerhalb dieser Aufzeichnungen keine Rechte Dritter verletzt +werden.* + +*Ich erkläre, dass ich alle Materialien, die ich in meiner Vorlesung/meinem Vortrag benutze, +selbst erstellt habe, bzw. bei der Verwendung fremder Materialien (Texte aus Büchern, +Zeitschriften, Bilder, Graphiken, Filmausschnitte, Musiktitel, etc.) diese auf das +Urheberrecht nach §60a geprüft habe und diese veröffentlicht werden können.* + +*Ich stelle die Students for Future Stadt von allen Ansprüchen Dritter frei, die sich +wegen möglicher Urheberrechtsverstöße an die Students for Future Stadt wenden.* + +*Ich verpflichte mich außerdem, den Betreiber des genutzten online Servers unverzüglich +zu informieren, wenn Dritte Ansprüche auf Grund der ihnen zustehenden Urheber- bzw. +Nutzungsrechte in Bezug auf die oben bezeichnete Aufzeichnung geltend machen.* + +*Ich erkläre, dass meine Vorlesung/mein Vortrag und damit die Audio-/Videoaufnahmen +und bereitgestellte Foliensätze frei von diskriminierenden Inhalten sind, seien sie +rassistisch, sexistisch, antisemitisch, trans\*feindlich, homophob oder anderweitig +diskriminierend.* + +*Name, Vorname: +Titel des Vortrags: +Datum des Vortrags: +Datum, Unterschrift:* + + +## Englisch + +#### In Textform: + +_**Declaration of consent for the recording of lectures in context of the Public Climate School from May 17 – 21 2021**_ + +*I hereby agree that audio/video recordings may be made of me, that might be published online in the context of the Public Climate School taking place from 17.-21.05.2021.* + +*I assure that no rights of third parties are violated within these recordings.* + +*I declare that I have created all materials I use in my lecture myself, or when using foreign materials (texts from books, magazines, pictures, graphics, film clips, music titles, etc.) I have checked them for copyright according to §60a UrhG and they can be published.* + +*I indemnify the Students for Future Stadt from all claims of third parties who contact the Students for Future Stadt regarding possible copyright infringements.* + +*I also undertake to inform the operator of the online server used immediately if third parties assert claims based on the copyrights or rights of use to which they are entitled with regard to the above-mentioned recording.* + +*I declare that my lectures and therefore my audio-/video recordings and slides are free of discriminating contents such as racist, sexist, antisemitic, trans\*hostile, homophobic or otherwise discriminating.* + +*Full name: +Title of lecture: +Date of lecture: +Date, Signature:* diff --git a/websites/help.studentsforfuture.info/events/moderation.md b/websites/help.studentsforfuture.info/events/moderation.md new file mode 100644 index 0000000..29ec33e --- /dev/null +++ b/websites/help.studentsforfuture.info/events/moderation.md @@ -0,0 +1,3 @@ +# Moderation + +... diff --git a/websites/help.studentsforfuture.info/events/online-events.md b/websites/help.studentsforfuture.info/events/online-events.md new file mode 100644 index 0000000..4f58673 --- /dev/null +++ b/websites/help.studentsforfuture.info/events/online-events.md @@ -0,0 +1,32 @@ +# Online-Events + +Hier versuchen wir euch eine Sammlung nützlicher Guides für die Durchführung von +Online Veranstaltungen bereitzustellen. + +Typischerweise sind vor jedem Online-Event folgende Fragen zu klären: +- **Wie können Menschen teilnehmen?** + Meist entweder direkte Teilnahme im Online Meeting, z.B. über Zoom, + oder ein Stream, z.B. über YouTube. + + Das hängt von einigen Faktoren ab, u.a. wie viele Teilnehmer:innen erwartet werden, + wie interaktiv das Event sein soll, und wie geschlossen der Raum, in dem es stattfindet. + Für Workshops eignen sich Meetings, für Podiumsdiskussion sind vermutlich Streams + die bessere Wahl. Vorträge lassen sich auf beide Arten gut umsetzen. Hier ist vermutlich + die Teilnehmer:innenzahl und Öffentlichkeit ausschlaggebend. + + Theoretisch geht auch eine Kombination: Die Teilnehmer:innen können dem Meeting direkt + beitreten, während es gleichzeitig gestreamt wird. In diesem Fall müsstet ihr aber + sicherstellen, dass keine Person das Meeting stören kann und dass keine persönlichen + Daten im Stream landen können. Außerdem könnten Zuschauer:innen auf YouTube dann z.B. + nicht erfahren, wenn Fragen im Zoom Chat gestellt werden. +- **Wer kann teilnehemen / braucht es evtl. eine Anmeldung?** + Es ist bei allen Optionen möglich, die Teilnahme so einzuschränken, dass nur Menschen + mit den richtigen Zugangsdaten oder dem richtigen Link teilnehemen können. + Um diese zu verteilen könnt ihr zum Beispiel eine Anmeldung machen. +- **Wie sieht die Interaktion mit den Teilnehmer:innen aus?** + Fast alle Tools haben einen Chat, den ihr natürlich verwenden könnt, der aber auch schnell + unübersichtlich werden kann. Es kann sich daher lohnen, ein eigenes Tool für die Live-Interaktion + zu verwenden. Mehr dazu findet ihr auf der [zugehörigen Seite bei den Tools](tools/live-interaktion.md). +- **Soll die Veranstaltung aufgezeichnet werden?** + Wenn ja, braucht ihr vermutlich eine [Einverständniserklärung](events/datenschutz.md). + diff --git a/websites/help.studentsforfuture.info/faq.md b/websites/help.studentsforfuture.info/faq.md new file mode 100644 index 0000000..f00af4a --- /dev/null +++ b/websites/help.studentsforfuture.info/faq.md @@ -0,0 +1,109 @@ +# **F**requently **A**sked **Q**uestions: + +?> Das FAQ ist noch von der letzten PCS, das heißt insb. die Links werden sich vermutlich noch ändern. + +## Wie kommt mein Format in den Stream? Wie läuft das ab? +Das hängt davon ab, was für ein Format es ist bzw. welches Tool ihr verwendet: +- **Voraufgezeichnete Videos:** + + könnt ihr uns einfach über einen Cloud Link (z.B. hier: https://fffutu.re/pcs-lecture-upload) + oder einen Link zu einem (ungelisteten) YouTube Video schicken. Bitte gebt uns das Video noch vor Beginn der PCS. + +- **Zoom-Veranstaltungen**: + + hier hängt es davon ab, ob ihr das Meeting selbst erstellt habt oder der/die Dozierende. + Nur die Person, die das Meeting erstellt hat kann das Livestreaming aktivieren. Wie das geht steht [hier](zoom.md). + Ihr bekommt dazu so bald wie möglich die genauen Einstellungen, die ihr da eingeben müsst. + Bitte prüft schon im vornherein, ob ihr das in den Einstellungen findet (also ob es bei euch aktiviert ist). + +- **JitSi**: + + Für JitSi im Livestream verwenden wir voraussichtlich eine eigene Instanz. Das bedeutet ihr bekommt von uns so bald wie möglich einen Link zu dem JitSi Raum. Dort könnt ihr dann mit zwei Klicks den Stream starten. + Mehr Infos dazu kommen so bald wie möglich. Bitte gebt uns unbedingt vorher bekannt, falls mehr als 6 Personen an diesem Meeting teilnehmen werden. + +- **BigBlueButton**: + + Es tut uns Leid, aber bisher haben wir uns noch nicht mit einem Leitfaden für BigBlueButton beschäftigen können. Deshalb möchten wir euch diesen ausführlichen Leitfaden von HACC (Hackers Against Climate Crisis) wärmstens empfehlen: [Recording a talk with Big Blue Button and obs studio](https://hacc.uber.space/Recording_a_talk_with_Big_Blue_Button_and_obs_studio) + + + +## Wie kann ich als Dolmer*in teilnehmen? + +- **Den Stream empfangen** + 1. Über Zoom: + + Sie sitzen mit in dem Zoom Meeting, indem der Vortrag abgehalten wird. + + 2. Über VLC: + + Sie empfangen den Stream ohne große Verzögerung auf ihren PC. + + Hier finden Sie die Aufzeichnung des entsprechenden Technik-Briefings. + +- **Übersetzung einsprechen** + + Dafür müssen Sie dem entsprechenden Mumble Channel beitreten. Den Link erhalten Sie von uns. Als Gebärdensprachendolmetscher*in müssen Sie nur dem richtigen Zoom Meeting beitreten und nichts weiter tun. Hier finden Sie eine Aufgabe des Übersetzerinnen-Briefings. + + + +## Wir haben keinen Streaming-Account. Könnt ihr uns etwas zur Verfügung stellen? + +- **Streaming Accounts eurer Uni:** + + werden möglicherweise auch euch als Studenten zur Verfügung gestellt. Viele Universitäten haben zahlreiche Zoom Lizenzen erworben, oder betreiben BigBlueButton Instanzen. Informiert euch also, ob ihr auf diese Weise an einen Account kommt. + +- **Streaming Accounts vom Technik Team:** + + können wir euch zur Verfügung stellen, wenn ihr keine andere Möglichkeit mehr habt. Zurzeit wäre uns es möglich sowohl Zoom, als auch BigBlueButton Instanzen zu stellen. Wir würden die Anzahl der von uns gestellten Instanzen aber gerne in Grenzen halten. Meldet euch dafür im [PCS-Techsupport](https://fffutu.re/pcs-techsupport) auf Telegram. + +## Woher bekomme ich Ortsgruppen Zugang zur Website? + +Richtig, jede Ortsgruppe kann sich auf der Website von [Students for Future Germany](studentsforfuture.info) einloggen. + +**Wenn ihr keine Zugangsdaten (mehr) habt** meldet euch per Telegram im [PCS-Techsupport](https://fffutu.re/pcs-techsupport) + +Wie ihr anschließend eure Kontaktinformationen aktualisiert, eine eigene OG-Homepage erstellt, oder einen Eventkalender anlegt steht [hier](webseite.md). + +## Wie kann ich mit Trollen im meinem Online-Event umgehen? + +Das wichtigste zuerst: **Don't Feed the Troll!** Negativ auf dein Event einzuwirken ist oft das Ziel von Troll-Angriffen. + +Versuche dich deshalb von destruktiven Menschen + +- nicht ablenken zu lassen, +- nicht emotional zu reagieren, +- und sie nicht in den Fokus zu rücken. + +Verweise als Moderation im Zweifel darauf, nach dem Event weiterzudiskutieren und nicht währenddessen. + +Ansonsten kannst du natürlich technische Hilfsmittel verwenden, wie + +- einen Zoom-Warteraum +- Menschen kicken/bannen +- die Video/Sprachfunktion für Menschen ausschalten. + +Im [Zoom-Leitfaden](zoom.md) findest du dazu einige nützliche Funktionen. + + + +**Bitte beachte**, dass wir keine Expert*innen im Umgang mit Trollen sind. Wenn ihr ausführliche Informationen sucht, können wir euch folgende Artikel empfehlen: + +- [Ratgeber: Konstruktiv auf Internet-Trolle reagieren (Klimafakten.de)](https://www.klimafakten.de/meldung/ratgeber-konstruktiv-auf-internet-trolle-reagieren) + +- [Beware of ‘ZoomBombing’: screensharing filth to video calls (TheCrunch.com)](https://techcrunch.com/2020/03/17/zoombombing/?guccounter=1) + + + +## Wie kann ich mein Online-Event barrierefrei gestalten? + +Beim Stichwort Barrierefreiheit kennen wir Möglichkeiten, um folgendes einzubauen: + +- **Live-Untertitel** (braucht Menschen die live Mitschreiben, [Tutorial auf zoom.us](https://support.zoom.us/hc/en-us/articles/207279736)) +- **Gebärdesprachendolmetscher*in** (braucht Mensch mit diesem Skill) + +Wenn ihr mit Zoom arbeitet wäre beides umsetzbar. Sofern das Teil des Livestreams sein soll, würden wir dann eurem Meeting beitreten und die Untertitel oder den\*die Dolmetscher\*in mit OBS mitschneiden. + +**Bitte sagt uns [hier auf Telegram](https://fffutu.re/pcs-techsupport) sobald wie möglich Bescheid, falls ihr das plant!** + + + diff --git a/websites/help.studentsforfuture.info/fonts/Jost-Italic-VariableFont_wght.ttf b/websites/help.studentsforfuture.info/fonts/Jost-Italic-VariableFont_wght.ttf new file mode 100644 index 0000000..b5cf9ef Binary files /dev/null and b/websites/help.studentsforfuture.info/fonts/Jost-Italic-VariableFont_wght.ttf differ diff --git a/websites/help.studentsforfuture.info/fonts/Jost-VariableFont_wght.ttf b/websites/help.studentsforfuture.info/fonts/Jost-VariableFont_wght.ttf new file mode 100644 index 0000000..e8d9607 Binary files /dev/null and b/websites/help.studentsforfuture.info/fonts/Jost-VariableFont_wght.ttf differ diff --git a/websites/help.studentsforfuture.info/img/.DS_Store b/websites/help.studentsforfuture.info/img/.DS_Store new file mode 100644 index 0000000..7613227 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/.DS_Store differ diff --git a/websites/help.studentsforfuture.info/img/events/attending_io.png b/websites/help.studentsforfuture.info/img/events/attending_io.png new file mode 100644 index 0000000..0a441ef Binary files /dev/null and b/websites/help.studentsforfuture.info/img/events/attending_io.png differ diff --git a/websites/help.studentsforfuture.info/img/faq/.DS_Store b/websites/help.studentsforfuture.info/img/faq/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/.DS_Store differ diff --git a/websites/help.studentsforfuture.info/img/faq/audiosetup.jpg b/websites/help.studentsforfuture.info/img/faq/audiosetup.jpg new file mode 100644 index 0000000..4d34a91 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/audiosetup.jpg differ diff --git a/websites/help.studentsforfuture.info/img/faq/get_stream.jpg b/websites/help.studentsforfuture.info/img/faq/get_stream.jpg new file mode 100644 index 0000000..69d602f Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/get_stream.jpg differ diff --git a/websites/help.studentsforfuture.info/img/faq/get_stream.png b/websites/help.studentsforfuture.info/img/faq/get_stream.png new file mode 100644 index 0000000..fcd3979 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/get_stream.png differ diff --git a/websites/help.studentsforfuture.info/img/faq/pcs_walkthrough_thumbnail.png b/websites/help.studentsforfuture.info/img/faq/pcs_walkthrough_thumbnail.png new file mode 100644 index 0000000..59bce5c Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/pcs_walkthrough_thumbnail.png differ diff --git a/websites/help.studentsforfuture.info/img/faq/tutorial_thumbnail.png b/websites/help.studentsforfuture.info/img/faq/tutorial_thumbnail.png new file mode 100644 index 0000000..1798935 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/faq/tutorial_thumbnail.png differ diff --git a/websites/help.studentsforfuture.info/img/favicon.png b/websites/help.studentsforfuture.info/img/favicon.png new file mode 100644 index 0000000..274244b Binary files /dev/null and b/websites/help.studentsforfuture.info/img/favicon.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/meistertask.png b/websites/help.studentsforfuture.info/img/orga/meistertask.png new file mode 100644 index 0000000..1d7834a Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/meistertask.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-login.base.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-login.base.png new file mode 100644 index 0000000..7ef9a0b Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-login.base.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-login.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-login.png new file mode 100644 index 0000000..f5b605e Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-login.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-1.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-1.png new file mode 100644 index 0000000..fa90467 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-1.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-2.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-2.png new file mode 100644 index 0000000..aad32b5 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-2.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-3.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-3.png new file mode 100644 index 0000000..e8464d0 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-3.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-4.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-4.png new file mode 100644 index 0000000..b4235e6 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-4.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-5.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-5.png new file mode 100644 index 0000000..478e279 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-registrieren-5.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-sff.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-sff.png new file mode 100644 index 0000000..75f06ff Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-sff.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-start.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-start.png new file mode 100644 index 0000000..413e36d Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-start.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.edit.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.edit.png new file mode 100644 index 0000000..33f14f2 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.edit.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.png b/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.png new file mode 100644 index 0000000..3b5b740 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/plattform_n-uebersicht.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-app_login.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-app_login.png new file mode 100644 index 0000000..886cf4e Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-app_login.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-download.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-download.png new file mode 100644 index 0000000..29350b5 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-download.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-login.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-login.png new file mode 100644 index 0000000..25ba5ad Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-login.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-main.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-main.png new file mode 100644 index 0000000..4e5d0f2 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-main.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs.png new file mode 100644 index 0000000..b730f2b Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs.png differ diff --git a/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs_ags.png b/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs_ags.png new file mode 100644 index 0000000..f2ddd87 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/orga/rocket_chat-pcs_ags.png differ diff --git a/websites/help.studentsforfuture.info/img/socialmedia/PCS_SS20_de.svg b/websites/help.studentsforfuture.info/img/socialmedia/PCS_SS20_de.svg new file mode 100644 index 0000000..1fb471a --- /dev/null +++ b/websites/help.studentsforfuture.info/img/socialmedia/PCS_SS20_de.svg @@ -0,0 +1,2483 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + studierende aller fakultaten + + + studierendenversammlung + + + . + + + . + + + munchener unis sollen + - klimaneutral werden + - fakten in die offentliche + debatte tragen + - echte demokratische teilhabe + von studierenden zulassen + deshalb: + + + vereinigt euch! + + + + + montag, 20.01. LMU-Audimax + + + . + + + . + + + . + + + . + + + + + + + + + + + studierende aller fakultaten + + + studierendenversammlung + + + . + + + . + + + munchener unis sollen + - klimaneutral werden + - fakten in die offentliche + debatte tragen + - echte demokratische teilhabe + von studierenden zulassen + deshalb: + + + vereinigt euch! + + + + + montag, 20.01. LMU-Audimax + + + . + + + . + + + . + + + . + + + + + + + + studierende aller fakultaten + + + studierendenversammlung + + + . + + + . + + + munchener unis sollen + - klimaneutral werden + - fakten in die offentliche + debatte tragen + - echte demokratische teilhabe + von studierenden zulassen + deshalb: + + + vereinigt euch! + + + + + montag, 20.01. LMU-Audimax + + + . + + + . + + + . + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/websites/help.studentsforfuture.info/img/socialmedia/sharepic-instagram.png b/websites/help.studentsforfuture.info/img/socialmedia/sharepic-instagram.png new file mode 100644 index 0000000..3cc34f6 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/socialmedia/sharepic-instagram.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/pcs3-graph.svg b/websites/help.studentsforfuture.info/img/streams/pcs3-graph.svg new file mode 100644 index 0000000..c40b8d0 --- /dev/null +++ b/websites/help.studentsforfuture.info/img/streams/pcs3-graph.svg @@ -0,0 +1,255 @@ + + +schema + + +cluster_nginx1 + +NGINX RTMP + + +cluster_nginx2 + +NGINX RTMP + + + +ffmpeg1 + +ffmpeg [1] + + + +/audio + +/audio + + + +ffmpeg1->/audio + + + RTMP (FLV), + 7.1, aac, + Sprache 1 -> 5. Channel (BL) + Sprache 2 -> 7. Channel (SL) + + + +ffmpeg2 + +ffmpeg [2] + + + +/output + +/output + + + +ffmpeg2->/output + + +7.1 mit +links->FL +rechts->FR + + + +ffmpeg3 + +ffmpeg [3] + + + +YouTube DE Stream + +YouTube DE Stream + + + +ffmpeg3->YouTube DE Stream + + +Stereo +mit Originalsound + + + +YouTube EN Stream + +YouTube EN Stream + + + +ffmpeg3->YouTube EN Stream + + + Stereo + mit Sprache 1 links und rechts, + sowie Original leise unterlegt + + + +Zoom Session + +Zoom Session + + + +/input + +/input + + + +Zoom Session->/input + + + RTMP, + Video 720p, + Audio Mono + + + +Übersetzer*in + +Übersetzer*in + + + +Mumble Web (Browser) + +Mumble Web (Browser) + + + +Übersetzer*in->Mumble Web (Browser) + + + spricht in + + + +mumble-web-proxy + + +mumble-web-proxy + + + + + +Mumble Web (Browser)->mumble-web-proxy + + + WebSocket+WebRTC + + + +Mumble channel + +Mumble channel + + + +mumble-web-proxy->Mumble channel + + + Leitet Sprache über UDP weiter + + + +c3lingo-mumble (Bot) + + +c3lingo-mumble (Bot) + + + + + +Mumble channel->c3lingo-mumble (Bot) + + + Empfängt Sprache über UDP + + + +c3lingo-mumble (Bot)->ffmpeg1 + + + über stdin/stdout + 16 bit PCM + 48ks/s, Mono + + + +/input->ffmpeg2 + + +Mono/ +(ggf. Stereo) + + + +/input->Übersetzer*in + + +Sieht über VLC + + + +OBS + +OBS + + + +/input->OBS + + +[4], ggf. Stereo + + + + +/output->OBS + + + [4] + + + +/audio->OBS + + + + + +/split_in + +/split_in + + + +/split_in->ffmpeg3 + + + + + +OBS->/split_in + + + RTMP, + Video 1080p30, + Audio mit 7.1, wobei + FL(0)=Original links, + FR(1)=Original rechts + BL(4)=Sprache 1 (mono) + SL(6)=Sprache 2 (mono) + + + diff --git a/websites/help.studentsforfuture.info/img/streams/pcs3-legend.svg b/websites/help.studentsforfuture.info/img/streams/pcs3-legend.svg new file mode 100644 index 0000000..55953cc --- /dev/null +++ b/websites/help.studentsforfuture.info/img/streams/pcs3-legend.svg @@ -0,0 +1,70 @@ + + +legend + + + +Server Rosenbaum (von Lukas) + +Server Rosenbaum (von Lukas) + + + + + +Server Libocedrus (von Lukas/HACC) + +Server Libocedrus (von Lukas/HACC) + + + +Server von Markus + +Server von Markus + + + + +1->2 + + +Video + Audio + + + + + +3->4 + + +nur Audio + + + + + +5->6 + + +Mono + + + + + +7->8 + + +Stereo + + + + + +9->0 + + +7.1 + + + \ No newline at end of file diff --git a/websites/help.studentsforfuture.info/img/streams/schema-pcs2.png b/websites/help.studentsforfuture.info/img/streams/schema-pcs2.png new file mode 100644 index 0000000..787f02f Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/schema-pcs2.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-1.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-1.png new file mode 100644 index 0000000..a783fe5 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-1.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-10.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-10.png new file mode 100644 index 0000000..300e48a Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-10.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-11.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-11.png new file mode 100644 index 0000000..1468700 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-11.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-2.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-2.png new file mode 100644 index 0000000..e129e41 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-2.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-3.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-3.png new file mode 100644 index 0000000..4a9f9be Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-3.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-4.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-4.png new file mode 100644 index 0000000..1cbddd2 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-4.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-5.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-5.png new file mode 100644 index 0000000..3a606a9 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-5.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-6.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-6.png new file mode 100644 index 0000000..b5aac3e Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-6.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-7.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-7.png new file mode 100644 index 0000000..b0c0d7d Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-7.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-8.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-8.png new file mode 100644 index 0000000..4cbed05 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-8.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/youtube-stream-9.png b/websites/help.studentsforfuture.info/img/streams/youtube-stream-9.png new file mode 100644 index 0000000..ad43a33 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/youtube-stream-9.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-rtmp.jpg b/websites/help.studentsforfuture.info/img/streams/zoom-rtmp.jpg new file mode 100644 index 0000000..95d832b Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-rtmp.jpg differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-1.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-1.base.png new file mode 100644 index 0000000..e8b1da0 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-1.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-2.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-2.base.png new file mode 100644 index 0000000..8539361 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-2.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-3.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-3.base.png new file mode 100644 index 0000000..244a3bd Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-3.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-4.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-4.base.png new file mode 100644 index 0000000..8d0b8b0 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-4.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-5.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-5.base.png new file mode 100644 index 0000000..b16e141 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-5.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-6.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-6.base.png new file mode 100644 index 0000000..1796441 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-6.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-7.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-7.base.png new file mode 100644 index 0000000..b6ca106 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-7.base.png differ diff --git a/websites/help.studentsforfuture.info/img/streams/zoom-stream-8.base.png b/websites/help.studentsforfuture.info/img/streams/zoom-stream-8.base.png new file mode 100644 index 0000000..48749f9 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/streams/zoom-stream-8.base.png differ diff --git a/websites/help.studentsforfuture.info/img/website/og_profile.png b/websites/help.studentsforfuture.info/img/website/og_profile.png new file mode 100644 index 0000000..a2ac734 Binary files /dev/null and b/websites/help.studentsforfuture.info/img/website/og_profile.png differ diff --git a/websites/help.studentsforfuture.info/index.html b/websites/help.studentsforfuture.info/index.html new file mode 100644 index 0000000..05a6847 --- /dev/null +++ b/websites/help.studentsforfuture.info/index.html @@ -0,0 +1,137 @@ + + + + + SFF Technik Wiki + + + + + + + + + + +
+ + + + + + + + + + + diff --git a/websites/help.studentsforfuture.info/logo_128px.jpg b/websites/help.studentsforfuture.info/logo_128px.jpg new file mode 100644 index 0000000..cdf44db Binary files /dev/null and b/websites/help.studentsforfuture.info/logo_128px.jpg differ diff --git a/websites/help.studentsforfuture.info/logo_128px.png b/websites/help.studentsforfuture.info/logo_128px.png new file mode 100644 index 0000000..a597378 Binary files /dev/null and b/websites/help.studentsforfuture.info/logo_128px.png differ diff --git a/websites/help.studentsforfuture.info/res/docsify-sidebar-collapse.min.js b/websites/help.studentsforfuture.info/res/docsify-sidebar-collapse.min.js new file mode 100644 index 0000000..2b067c7 --- /dev/null +++ b/websites/help.studentsforfuture.info/res/docsify-sidebar-collapse.min.js @@ -0,0 +1 @@ +!function(e){("object"!=typeof exports||"undefined"==typeof module)&&"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";function e(e,n){var t,a=(n=void 0===n?{}:n).insertAt;e&&"undefined"!=typeof document&&(t=document.head||document.getElementsByTagName("head")[0],(n=document.createElement("style")).type="text/css","top"===a&&t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)))}var t;function a(e){e&&null!=t&&(e=e.getBoundingClientRect().top,document.querySelector(".sidebar").scrollBy(0,e-t))}function n(){requestAnimationFrame(function(){var e=document.querySelector(".app-sub-sidebar > .active");if(e)for(e.parentNode.parentNode.querySelectorAll(".app-sub-sidebar").forEach(function(e){return e.classList.remove("open")});e.parentNode.classList.contains("app-sub-sidebar")&&!e.parentNode.classList.contains("open");)e.parentNode.classList.add("open"),e=e.parentNode})}function o(e){t=e.target.getBoundingClientRect().top;var n=d(e.target,"LI",2);n&&(n.classList.contains("open")?(n.classList.remove("open"),setTimeout(function(){n.classList.add("collapse")},0)):(function(e){if(e)for(e.classList.remove("open","active");e&&"sidebar-nav"!==e.className&&e.parentNode;)"LI"!==e.parentNode.tagName&&"app-sub-sidebar"!==e.parentNode.className||e.parentNode.classList.remove("open"),e=e.parentNode}(s()),i(n),setTimeout(function(){n.classList.remove("collapse")},0)),a(n))}function s(){var e=document.querySelector(".sidebar-nav .active");return e||(e=d(document.querySelector('.sidebar-nav a[href="'.concat(decodeURIComponent(location.hash).replace(/ /gi,"%20"),'"]')),"LI",2))&&e.classList.add("active"),e}function i(e){if(e)for(e.classList.add("open","active");e&&"sidebar-nav"!==e.className&&e.parentNode;)"LI"!==e.parentNode.tagName&&"app-sub-sidebar"!==e.parentNode.className||e.parentNode.classList.add("open"),e=e.parentNode}function d(e,n,t){if(e&&e.tagName===n)return e;for(var a=0;e;){if(t<++a)return;if(e.parentNode.tagName===n)return e.parentNode;e=e.parentNode}}e(".sidebar-nav > ul > li ul {\n display: none;\n}\n\n.app-sub-sidebar {\n display: none;\n}\n\n.app-sub-sidebar.open {\n display: block;\n}\n\n.sidebar-nav .open > ul:not(.app-sub-sidebar),\n.sidebar-nav .active:not(.collapse) > ul {\n display: block;\n}\n\n/* 抖动 */\n.sidebar-nav li.open:not(.collapse) > ul {\n display: block;\n}\n\n.active + ul.app-sub-sidebar {\n display: block;\n}\n"),document.addEventListener("scroll",n);e("@media screen and (max-width: 768px) {\n /* 移动端适配 */\n .markdown-section {\n max-width: none;\n padding: 16px;\n }\n /* 改变原来按钮热区大小 */\n .sidebar-toggle {\n padding: 0 0 10px 10px;\n }\n /* my pin */\n .sidebar-pin {\n appearance: none;\n outline: none;\n position: fixed;\n bottom: 0;\n border: none;\n width: 40px;\n height: 40px;\n background: transparent;\n }\n}\n");var r,c="DOCSIFY_SIDEBAR_PIN_FLAG";function l(){var e="true"===(e=localStorage.getItem(c));localStorage.setItem(c,!e),e?(document.querySelector(".sidebar").style.transform="translateX(0)",document.querySelector(".content").style.transform="translateX(0)"):(document.querySelector(".sidebar").style.transform="translateX(300px)",document.querySelector(".content").style.transform="translateX(300px)")}768 ul"),1),a(t),n(e)}),e.ready(function(){document.querySelector(".sidebar-nav").addEventListener("click",o)})})}); \ No newline at end of file diff --git a/websites/help.studentsforfuture.info/res/docsify-themeable.min.js b/websites/help.studentsforfuture.info/res/docsify-themeable.min.js new file mode 100644 index 0000000..02ac93b --- /dev/null +++ b/websites/help.studentsforfuture.info/res/docsify-themeable.min.js @@ -0,0 +1,9 @@ +/*! + * docsify-themeable + * v0.8.4 + * https://jhildenbiddle.github.io/docsify-themeable/ + * (c) 2018-2020 John Hildenbiddle + * MIT license + */ +!function(){"use strict";function p(){return(p=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nObject.keys(n).length||Boolean(Object.keys(n).length&&Object.keys(x.job).some(function(e){return x.job[e]!==n[e]}))))_(d.rootElement),T(d);else{var i=[],u=[],l=!1;if(d.updateDOM&&E.job++,t.forEach(function(t,e){var n=!t.__cssVars;if(t.__cssVars)try{S(t.__cssVars.tree,p({},d,{variables:x.job,onWarning:m}));var r,o,a,s=b(t.__cssVars.tree);d.updateDOM?(o=c[e],a=C.cssVarFunc.test(o),t.getAttribute("data-cssvars")||t.setAttribute("data-cssvars","src"),s.length&&a&&(r=t.getAttribute("data-cssvars-group")||++E.group,o=s.replace(/\s/g,""),a=d.rootElement.querySelector('[data-cssvars="out"][data-cssvars-group="'.concat(r,'"]'))||document.createElement("style"),l=l||C.cssKeyframes.test(s),d.preserveStatic&&(t.sheet.disabled=!0),a.hasAttribute("data-cssvars")||a.setAttribute("data-cssvars","out"),o===t.textContent.replace(/\s/g,"")?(n=!0,a&&a.parentNode&&(t.removeAttribute("data-cssvars-group"),a.parentNode.removeChild(a))):o!==a.textContent.replace(/\s/g,"")&&([t,a].forEach(function(e){e.setAttribute("data-cssvars-job",E.job),e.setAttribute("data-cssvars-group",r)}),a.textContent=s,i.push(s),u.push(a),a.parentNode||t.parentNode.insertBefore(a,t.nextSibling)))):t.textContent.replace(/\s/g,"")!==s&&i.push(s)}catch(e){f(e.message,t)}n&&t.setAttribute("data-cssvars","skip"),t.hasAttribute("data-cssvars-job")||t.setAttribute("data-cssvars-job",E.job)}),k=d.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars="out"])').length,d.shadowDOM)for(var r,o=[d.rootElement].concat(v(d.rootElement.querySelectorAll("*"))),a=0;r=o[a];++a){r.shadowRoot&&r.shadowRoot.querySelector("style")&&T(p({},d,{rootElement:r.shadowRoot}))}d.updateDOM&&l&&function(e){var t=["animation-name","-moz-animation-name","-webkit-animation-name"].filter(function(e){return getComputedStyle(document.body)[e]})[0];if(t){for(var n=e.getElementsByTagName("*"),r=[],o="__CSSVARSPONYFILL-KEYFRAMES__",a=0,s=n.length;a a");e&&(e.parentNode.innerHTML=e.innerHTML)})},function(e,t){e.doneEach(function(){var e=Array.apply(null,document.querySelectorAll("body > nav.app-nav > ul > li")),t=Array.apply(null,document.querySelectorAll(".sidebar > nav > ul > li"));e.forEach(function(t){var n="focus-within";s(t,"span",0),t.addEventListener("focusin",function(e){t.contains(document.activeElement)&&t.classList.add(n)}),t.addEventListener("focusout",function(e){t.contains(document.activeElement)||t.classList.remove(n)})}),t.forEach(function(e){s(e,"span")})})},function(e,t){e.doneEach(function(){Array.apply(null,document.querySelectorAll("pre[data-lang]")).forEach(function(e){var t=e.querySelector("code"),n="language-".concat(e.getAttribute("data-lang"));e.classList.add(n),t.classList.add(n)})})},function(e,t){e.mounted(function(){var e=document.querySelector(".content"),t=setInterval(function(){e.textContent.length&&(document.body.classList.add("ready-fix"),clearInterval(t))},250)}),e.ready(function(){document.body.classList.add("ready-fix")})},function(e,t){e.init(function(){var e,t;!1!==((window.$docsify||{}).themeable||{}).responsiveTables&&(t=(e=window.$docsify.markdown=window.$docsify.markdown||{}).renderer=e.renderer||{},e.smartypants=e.smartypants||!0,t.table=t.table||function(e,t){var n='\n
\n \n '.concat(e,"\n ").concat(t,"\n
\n
");try{var r=document.createElement("div"),o=document.head.appendChild(document.createElement("style")).sheet,a="_"+Math.random().toString(36).substr(2,9);r.innerHTML=n;var s=r.querySelector("table");Array.apply(null,s.getElementsByTagName("th")).map(function(e){return e.innerHTML.replace(" "," ")}).forEach(function(e,t){e="#".concat(a," td:nth-child(").concat(t+1,')::before{content:"').concat(e,'";}');o.insertRule(e,o.cssRules.length)}),s.id=a,n=r.innerHTML}catch(e){console.log("Failed to render responsive table: "+e)}return n})})}],window.$docsify.plugins||[],[function(e,t){e.ready(function(){var e,t=document.querySelector(".sidebar .search .clear-button");t&&((e=document.createElement("button")).className="clear-button",e.setAttribute("aria-label","Clear search"),e.innerHTML='\n \n \n \n \n \n ',t.parentNode.replaceChild(e,t))})},d("4.8.0",function(e,t){e.ready(function(){var t=document.querySelector(".sidebar .search"),n=document.querySelector(".sidebar .search input[type=search]"),r=document.querySelector(".sidebar .search .clear-button");t&&t.addEventListener("click",function(e){e.target!==r&&!r.contains(e.target)||(t.classList.remove("show"),n.focus())}),n&&n.addEventListener("input",function(e){n.value.length?t.classList.add("show"):t.classList.remove("show")})})}),d("4.8.0",function(e,t){var o=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.msMatchesSelector;e.doneEach(function(){var r="medium-zoom-image";Array.apply(null,document.querySelectorAll(".".concat(r))).forEach(function(e){var t=o.call(e,"a img"),n=o.call(e,".content img");!t&&n||(n=e.cloneNode(!0),e.parentNode.replaceChild(n,e),n.classList.remove(r))})})})]).filter(function(e){return null!==e}),window.$docsify.search=window.$docsify.search||{},window.$docsify.search.hideOtherSidebarContent=!0,window.$docsify.themeable=window.$docsify.themeable||{},window.$docsify.themeable.version="0.8.4",window.$docsify.themeable.util={cssVars:function(e){T(0/gm),tt=M(/^data-[\-\w.\u00B7-\uFFFF]/),nt=M(/^aria-[\-\w]+$/),rt=M(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),it=M(/^(?:\w+script|data):/i),at=M(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function st(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t/i,t))me(a,e);else{W&&(t=ze(t,O," "),t=ze(t,L," "));var l=e.nodeName.toLowerCase();if(xe(l,s,t))try{o?e.setAttributeNS(o,a,t):e.setAttribute(a,t),Ce(c.removed)}catch(e){}}}ke("afterSanitizeAttributes",e,null)}}function Se(e){var t,n=be(e);for(ke("beforeSanitizeShadowDOM",e,null);t=n.nextNode();)ke("uponSanitizeShadowNode",t,null),we(t)||(t.content instanceof u&&Se(t.content),_e(t));ke("afterSanitizeShadowDOM",e,null)}var Ae="http://www.w3.org/1998/Math/MathML",Te="http://www.w3.org/2000/svg",Ee="http://www.w3.org/1999/xhtml";return c.sanitize=function(e,t){var n,r=void 0,i=void 0,a=void 0;if("string"!=typeof(e=e||"\x3c!--\x3e")&&!ye(e)){if("function"!=typeof e.toString)throw De("toString is not a function");if("string"!=typeof(e=e.toString()))throw De("dirty is not a string, aborting")}if(!c.isSupported){if("object"===ot(s.toStaticHTML)||"function"==typeof s.toStaticHTML){if("string"==typeof e)return s.toStaticHTML(e);if(ye(e))return s.toStaticHTML(e.outerHTML)}return e}if(Y||$(t),c.removed=[],"string"==typeof e&&(re=!1),!re)if(e instanceof p)1===(t=(r=ve("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===t.nodeName||"HTML"===t.nodeName?r=t:r.appendChild(t);else{if(!K&&!W&&!V&&-1===e.indexOf("<"))return k&&ee?k.createHTML(e):e;if(!(r=ve(e)))return K?null:w}r&&X&&ge(r.firstChild);for(var o=be(re?e:r);n=o.nextNode();)3===n.nodeType&&n===i||we(n)||(n.content instanceof u&&Se(n.content),_e(n),i=n);if(i=null,re)return e;if(K){if(Q)for(a=A.call(r.ownerDocument);r.firstChild;)a.appendChild(r.firstChild);else a=r;return J&&(a=T.call(l,a,!0)),a}return e=V?r.outerHTML:r.innerHTML,W&&(e=ze(e,O," "),e=ze(e,L," ")),k&&ee?k.createHTML(e):e},c.setConfig=function(e){$(e),Y=!0},c.clearConfig=function(){ce=null,Y=!1},c.isValidAttribute=function(e,t,n){return ce||$({}),e=Le(e),t=Le(t),xe(e,t,n)},c.addHook=function(e,t){"function"==typeof t&&(R[e]=R[e]||[],Oe(R[e],t))},c.removeHook=function(e){R[e]&&Ce(R[e])},c.removeHooks=function(e){R[e]&&(R[e]=[])},c.removeAllHooks=function(){R={}},c}();function B(e){var t,n=e.loaded,r=e.total,i=e.step;q||((e=x("div")).classList.add("progress"),o(v,e),q=e),t=i?80<(t=parseInt(q.style.width||0,10)+i)?80:t:Math.floor(n/r*100),q.style.opacity=1,q.style.width=95<=t?"100%":t+"%",95<=t&&(clearTimeout(H),H=setTimeout(function(e){q.style.opacity=0,q.style.width="0%"},200))}var Z={};function G(i,e,t){void 0===e&&(e=!1),void 0===t&&(t={});function a(){o.addEventListener.apply(o,arguments)}var n,o=new XMLHttpRequest,r=Z[i];if(r)return{then:function(e){return e(r.content,r.opt)},abort:u};for(n in o.open("GET",i),t)l.call(t,n)&&o.setRequestHeader(n,t[n]);return o.send(),{then:function(t,n){var r;void 0===n&&(n=u),e&&(r=setInterval(function(e){return B({step:Math.floor(5*Math.random()+1)})},500),a("progress",B),a("loadend",function(e){B(e),clearInterval(r)})),a("error",n),a("load",function(e){e=e.target;400<=e.status?n(e):(e=Z[i]={content:e.response,opt:{updatedAt:o.getResponseHeader("last-modified")}},t(e.content,e.opt))})},abort:function(e){return 4!==o.readyState&&o.abort()}}}function W(e,t){e.innerHTML=e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g,t)}function V(e,t,n,r){void 0===r&&(r=u);var i=e._hooks[t],a=function(t){var e=i[t];t>=i.length?r(n):"function"==typeof e?2===e.length?e(n,function(e){n=e,a(t+1)}):(e=e(n),n=void 0===e?n:e,a(t+1)):a(t+1)};a(0)}var Y=m.title;function X(){var e,t=g("section.cover");t&&(e=t.getBoundingClientRect().height,window.pageYOffset>=e||t.classList.contains("hidden")?T(v,"add","sticky"):T(v,"remove","sticky"))}function K(e,t,r,n){var i=[];null!=(t=g(t))&&(i=w(t,"a"));var a,o=decodeURI(e.toURL(e.getCurrentPath()));return i.sort(function(e,t){return t.href.length-e.href.length}).forEach(function(e){var t=decodeURI(e.getAttribute("href")),n=r?e.parentNode:e;e.title=e.title||e.innerText,0!==o.indexOf(t)||a?T(n,"remove","active"):(a=e,T(n,"add","active"))}),n&&(m.title=a?a.title||a.innerText+" - "+Y:Y),a}var Q=decodeURIComponent,J=encodeURIComponent;function ee(e){var t={};return(e=e.trim().replace(/^(\?|#|&)/,""))&&e.split("&").forEach(function(e){e=e.replace(/\+/g," ").split("=");t[e[0]]=e[1]&&Q(e[1])}),t}function te(e,t){void 0===t&&(t=[]);var n,r=[];for(n in e)-1this.end&&e>=this.next}[this.direction]}},{key:"_defaultEase",value:function(e,t,n,r){return(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}}]),me);function me(){var e=0l){t=t||p;break}t=p}!t||(n=ve[_e(e,t.getAttribute("data-id"))])&&n!==o&&(o&&o.classList.remove("active"),n.classList.add("active"),o=n,!be&&v.classList.contains("sticky")&&(s=r.clientHeight,e=o.offsetTop+o.clientHeight+40,n=o.offsetTop>=a.scrollTop&&e<=a.scrollTop+s,o=+e"']/),ht=/[&<>"']/g,ft=/[<>"']|&(?!#?\w+;)/,gt=/[<>"']|&(?!#?\w+;)/g,mt={"&":"&","<":"<",">":">",'"':""","'":"'"};var vt=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function bt(e){return e.replace(vt,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var yt=/(^|[^\[])\^/g;var kt=/[^\w:]/g,wt=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var xt={},_t=/^[^:]+:\/*[^/]*$/,St=/^([^:]+:)[\s\S]*$/,At=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Tt(e,t){xt[" "+e]||(_t.test(e)?xt[" "+e]=e+"/":xt[" "+e]=Et(e,"/",!0));var n=-1===(e=xt[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(St,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(At,"$1")+t:e+t}function Et(e,t,n){var r=e.length;if(0===r)return"";for(var i=0;it)n.splice(t);else for(;n.length>=1,e+=e;return n+e},Nt=pt.defaults,Pt=Et,Dt=zt,It=Rt,jt=Mt;function qt(e,t,n){var r=t.href,i=t.title?It(t.title):null,t=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:i,text:t}:{type:"image",raw:n,href:r,title:i,text:It(t)}}var Ht=function(){function e(e){this.options=e||Nt}return e.prototype.space=function(e){e=this.rules.block.newline.exec(e);if(e)return 1=n.length?e.slice(n.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:e}}},e.prototype.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();return/#$/.test(n)&&(e=Pt(n,"#"),!this.options.pedantic&&e&&!/ $/.test(e)||(n=e.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:n}}},e.prototype.nptable=function(e){e=this.rules.block.nptable.exec(e);if(e){var t={type:"table",header:Dt(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(t.header.length===t.align.length){for(var n=t.align.length,r=0;r ?/gm,"");return{type:"blockquote",raw:t[0],text:e}}},e.prototype.list=function(e){e=this.rules.block.list.exec(e);if(e){for(var t,n,r,i,a,o=e[0],s=e[2],l=1h[1].length:r[1].length>h[0].length||3/i.test(e[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):It(e[0]):e[0]}},e.prototype.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;e=Pt(n.slice(0,-1),"\\");if((n.length-e.length)%2==0)return}else{var r=jt(t[2],"()");-1$/.test(n)?r.slice(1):r.slice(1,-1)),qt(t,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:a?a.replace(this.rules.inline._escapes,"$1"):a},t[0])}},e.prototype.reflink=function(e,t){if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){e=(n[2]||n[1]).replace(/\s+/g," ");if((e=t[e.toLowerCase()])&&e.href)return qt(n,e,n[0]);var n=n[0].charAt(0);return{type:"text",raw:n,text:n}}},e.prototype.strong=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,a="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(a.lastIndex=0;null!=(r=a.exec(t));)if(i=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)))return{type:"strong",raw:e.slice(0,i[0].length),text:e.slice(2,i[0].length-2)}}},e.prototype.em=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,a="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(a.lastIndex=0;null!=(r=a.exec(t));)if(i=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)))return{type:"em",raw:e.slice(0,i[0].length),text:e.slice(1,i[0].length-1)}}},e.prototype.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),e=/^ /.test(n)&&/ $/.test(n);return r&&e&&(n=n.substring(1,n.length-1)),n=It(n,!0),{type:"codespan",raw:t[0],text:n}}},e.prototype.br=function(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}},e.prototype.del=function(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2]}},e.prototype.autolink=function(e,t){e=this.rules.inline.autolink.exec(e);if(e){var n,t="@"===e[2]?"mailto:"+(n=It(this.options.mangle?t(e[1]):e[1])):n=It(e[1]);return{type:"link",raw:e[0],text:n,href:t,tokens:[{type:"text",raw:n,text:n}]}}},e.prototype.url=function(e,t){var n,r,i,a;if(n=this.rules.inline.url.exec(e)){if("@"===n[2])i="mailto:"+(r=It(this.options.mangle?t(n[0]):n[0]));else{for(;a=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0],a!==n[0];);r=It(n[0]),i="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}},e.prototype.inlineText=function(e,t,n){e=this.rules.inline.text.exec(e);if(e){n=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):It(e[0]):e[0]:It(this.options.smartypants?n(e[0]):e[0]);return{type:"text",raw:e[0],text:n}}},e}(),zt=Lt,Mt=Ct,Lt=Ft,Ct={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:zt,table:zt,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Ct.def=Mt(Ct.def).replace("label",Ct._label).replace("title",Ct._title).getRegex(),Ct.bullet=/(?:[*+-]|\d{1,9}[.)])/,Ct.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Ct.item=Mt(Ct.item,"gm").replace(/bull/g,Ct.bullet).getRegex(),Ct.listItemStart=Mt(/^( *)(bull)/).replace("bull",Ct.bullet).getRegex(),Ct.list=Mt(Ct.list).replace(/bull/g,Ct.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Ct.def.source+")").getRegex(),Ct._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ct._comment=/|$)/,Ct.html=Mt(Ct.html,"i").replace("comment",Ct._comment).replace("tag",Ct._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ct.paragraph=Mt(Ct._paragraph).replace("hr",Ct.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",Ct._tag).getRegex(),Ct.blockquote=Mt(Ct.blockquote).replace("paragraph",Ct.paragraph).getRegex(),Ct.normal=Lt({},Ct),Ct.gfm=Lt({},Ct.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Ct.gfm.nptable=Mt(Ct.gfm.nptable).replace("hr",Ct.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",Ct._tag).getRegex(),Ct.gfm.table=Mt(Ct.gfm.table).replace("hr",Ct.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",Ct._tag).getRegex(),Ct.pedantic=Lt({},Ct.normal,{html:Mt("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Ct._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:zt,paragraph:Mt(Ct.normal._paragraph).replace("hr",Ct.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ct.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});zt={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:zt,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:zt,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};zt.punctuation=Mt(zt.punctuation).replace(/punctuation/g,zt._punctuation).getRegex(),zt._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",zt._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",zt._comment=Mt(Ct._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),zt.em.start=Mt(zt.em.start).replace(/punctuation/g,zt._punctuation).getRegex(),zt.em.middle=Mt(zt.em.middle).replace(/punctuation/g,zt._punctuation).replace(/overlapSkip/g,zt._overlapSkip).getRegex(),zt.em.endAst=Mt(zt.em.endAst,"g").replace(/punctuation/g,zt._punctuation).getRegex(),zt.em.endUnd=Mt(zt.em.endUnd,"g").replace(/punctuation/g,zt._punctuation).getRegex(),zt.strong.start=Mt(zt.strong.start).replace(/punctuation/g,zt._punctuation).getRegex(),zt.strong.middle=Mt(zt.strong.middle).replace(/punctuation/g,zt._punctuation).replace(/overlapSkip/g,zt._overlapSkip).getRegex(),zt.strong.endAst=Mt(zt.strong.endAst,"g").replace(/punctuation/g,zt._punctuation).getRegex(),zt.strong.endUnd=Mt(zt.strong.endUnd,"g").replace(/punctuation/g,zt._punctuation).getRegex(),zt.blockSkip=Mt(zt._blockSkip,"g").getRegex(),zt.overlapSkip=Mt(zt._overlapSkip,"g").getRegex(),zt._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,zt._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,zt._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,zt.autolink=Mt(zt.autolink).replace("scheme",zt._scheme).replace("email",zt._email).getRegex(),zt._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,zt.tag=Mt(zt.tag).replace("comment",zt._comment).replace("attribute",zt._attribute).getRegex(),zt._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,zt._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,zt._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,zt.link=Mt(zt.link).replace("label",zt._label).replace("href",zt._href).replace("title",zt._title).getRegex(),zt.reflink=Mt(zt.reflink).replace("label",zt._label).getRegex(),zt.reflinkSearch=Mt(zt.reflinkSearch,"g").replace("reflink",zt.reflink).replace("nolink",zt.nolink).getRegex(),zt.normal=Lt({},zt),zt.pedantic=Lt({},zt.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Mt(/^!?\[(label)\]\((.*?)\)/).replace("label",zt._label).getRegex(),reflink:Mt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",zt._label).getRegex()}),zt.gfm=Lt({},zt.normal,{escape:Mt(zt.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\'+(n?e:Qt(e,!0))+"\n":"
"+(n?e:Qt(e,!0))+"
\n"},e.prototype.blockquote=function(e){return"
\n"+e+"
\n"},e.prototype.html=function(e){return e},e.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},e.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},e.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},e.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},e.prototype.checkbox=function(e){return" "},e.prototype.paragraph=function(e){return"

    "+e+"

    \n"},e.prototype.table=function(e,t){return"\n\n"+e+"\n"+(t=t&&""+t+"")+"
    \n"},e.prototype.tablerow=function(e){return"\n"+e+"\n"},e.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},e.prototype.strong=function(e){return""+e+""},e.prototype.em=function(e){return""+e+""},e.prototype.codespan=function(e){return""+e+""},e.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},e.prototype.del=function(e){return""+e+""},e.prototype.link=function(e,t,n){if(null===(e=Kt(this.options.sanitize,this.options.baseUrl,e)))return n;e='"},e.prototype.image=function(e,t,n){if(null===(e=Kt(this.options.sanitize,this.options.baseUrl,e)))return n;n=''+n+'":">"},e.prototype.text=function(e){return e},e}(),en=function(){function e(){}return e.prototype.strong=function(e){return e},e.prototype.em=function(e){return e},e.prototype.codespan=function(e){return e},e.prototype.del=function(e){return e},e.prototype.html=function(e){return e},e.prototype.text=function(e){return e},e.prototype.link=function(e,t,n){return""+n},e.prototype.image=function(e,t,n){return""+n},e.prototype.br=function(){return""},e}(),tn=function(){function e(){this.seen={}}return e.prototype.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},e.prototype.getNextSafeSlug=function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n))for(r=this.seen[e];n=e+"-"+ ++r,this.seen.hasOwnProperty(n););return t||(this.seen[e]=r,this.seen[n]=0),n},e.prototype.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),nn=pt.defaults,rn=$t,an=function(){function n(e){this.options=e||nn,this.options.renderer=this.options.renderer||new Jt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new en,this.slugger=new tn}return n.parse=function(e,t){return new n(t).parse(e)},n.parseInline=function(e,t){return new n(t).parseInline(e)},n.prototype.parse=function(e,t){void 0===t&&(t=!0);for(var n,r,i,a,o,s,l,c,u,p,d,h,f,g,m,v="",b=e.length,y=0;yAn error occurred:

    "+ln(e.message+"",!0)+"
    ";throw e}}un.options=un.setOptions=function(e){return on(un.defaults,e),cn(un.defaults),un},un.getDefaults=Rt,un.defaults=pt,un.use=function(a){var t,e=on({},a);if(a.renderer){var n,o=un.defaults.renderer||new Jt;for(n in a.renderer)!function(r){var i=o[r];o[r]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=a.renderer[r].apply(o,e);return!1===n&&(n=i.apply(o,e)),n}}(n);e.renderer=o}if(a.tokenizer){var i,s=un.defaults.tokenizer||new Ht;for(i in a.tokenizer)!function(){var r=s[i];s[i]=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n=a.tokenizer[i].apply(s,e);return!1===n&&(n=r.apply(s,e)),n}}();e.tokenizer=s}a.walkTokens&&(t=un.defaults.walkTokens,e.walkTokens=function(e){a.walkTokens(e),t&&t(e)}),un.setOptions(e)},un.walkTokens=function(e,t){for(var n=0,r=e;nAn error occurred:

    "+ln(e.message+"",!0)+"
    ";throw e}},un.Parser=an,un.parser=an.parse,un.Renderer=Jt,un.TextRenderer=en,un.Lexer=Yt,un.lexer=Yt.lex,un.Tokenizer=Ht,un.Slugger=tn;var pn=un.parse=un;function dn(e,n){if(void 0===n&&(n='
      {inner}
    '),!e||!e.length)return"";var r="";return e.forEach(function(e){var t=e.title.replace(/(<([^>]+)>)/g,"");r+='
  • '+e.title+"
  • ",e.children&&(r+=dn(e.children,n))}),n.replace("{inner}",r)}function hn(e,t){return'

    '+t.slice(5).trim()+"

    "}function fn(e,r){var i=[],a={};return e.forEach(function(e){var t=e.level||1,n=t-1;r?@[\]^`{|}~]/g;function vn(e){return e.toLowerCase()}function bn(e){if("string"!=typeof e)return"";var t=e.trim().replace(/[A-Z]+/g,vn).replace(/<[^>]+>/g,"").replace(mn,"").replace(/\s/g,"-").replace(/-+/g,"-").replace(/^(\d)/,"_$1"),e=gn[t],e=l.call(gn,t)?e+1:0;return(gn[t]=e)&&(t=t+"-"+e),t}function yn(e,t){return''+t+''}function kn(e){void 0===e&&(e="");var r={};return{str:e=e&&e.replace(/^'/,"").replace(/'$/,"").replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g,function(e,t,n){return-1===t.indexOf(":")?(r[t]=n&&n.replace(/"/g,"")||!0,""):e}).trim(),config:r}}function wn(e){return void 0===e&&(e=""),e.replace(/(<\/?a.*?>)/gi,"")}bn.clear=function(){gn={}};var xn,_n=Ee(function(e){var o,s,l,c,u,r,t,i=function(l){var c=/\blang(?:uage)?-([\w-]+)\b/i,t=0,C={manual:l.Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof O?new O(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=o.reach);b+=v.value.length,v=v.next){var y=v.value;if(n.length>t.length)return;if(!(y instanceof O)){var k,w=1;if(f){if(!(k=L(m,b,t,h)))break;var x=k.index,_=k.index+k[0].length,S=b;for(S+=v.value.length;S<=x;)v=v.next,S+=v.value.length;if(S-=v.value.length,b=S,v.value instanceof O)continue;for(var A=v;A!==n.tail&&(S<_||"string"==typeof A.value);A=A.next)w++,S+=A.value.length;w--,y=t.slice(b,S),k.index-=b}else if(!(k=L(m,0,y,h)))continue;var x=k.index,T=k[0],E=y.slice(0,x),R=y.slice(x+T.length),$=b+y.length;o&&$>o.reach&&(o.reach=$);var y=v.prev;E&&(y=F(n,y,E),b+=E.length),z(n,y,w);var T=new O(s,d?C.tokenize(T,d):T,g,T);v=F(n,y,T),R&&F(n,v,R),1"+i.content+""},!l.document)return l.addEventListener&&(C.disableWorkerMessageHandler||l.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,e=t.code,t=t.immediateClose;l.postMessage(C.highlight(e,C.languages[n],n)),t&&l.close()},!1)),C;var e,n=C.util.currentScript();function r(){C.manual||C.highlightAll()}return n&&(C.filename=n.src,n.hasAttribute("data-manual")&&(C.manual=!0)),C.manual||("loading"===(e=document.readyState)||"interactive"===e&&n&&n.defer?document.addEventListener("DOMContentLoaded",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)),C}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});function p(e,t){var n=(n=e.className).replace(r," ")+" language-"+t;e.className=n.replace(/\s+/g," ").trim()}e.exports&&(e.exports=i),void 0!==Te&&(Te.Prism=i),i.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^$/i;n={"included-cdata":{pattern://i,inside:n}};n["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};t={};t[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},i.languages.insertBefore("markup","cdata",t)}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;t=e.languages.markup;t&&(t.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},t.tag))}(i),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:i.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:i.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:i.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:i.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),i.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.markup.tag.addInlined("script","javascript"),i.languages.js=i.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),o=window.Prism,s={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},u="pre[data-src]:not(["+(l="data-src-status")+'="loaded"]):not(['+l+'="'+(c="loading")+'"])',r=/\blang(?:uage)?-([\w-]+)\b/i,o.hooks.add("before-highlightall",function(e){e.selector+=", "+u}),o.hooks.add("before-sanity-check",function(e){var t,n,r,i,a=e.element;a.matches(u)&&(e.code="",a.setAttribute(l,c),(t=a.appendChild(document.createElement("CODE"))).textContent="Loading…",n=a.getAttribute("data-src"),"none"===(e=e.language)&&(r=(/\.(\w+)$/.exec(n)||[,"none"])[1],e=s[r]||r),p(t,e),p(a,e),(r=o.plugins.autoloader)&&r.loadLanguages(e),(i=new XMLHttpRequest).open("GET",n,!0),i.onreadystatechange=function(){4==i.readyState&&(i.status<400&&i.responseText?(a.setAttribute(l,"loaded"),t.textContent=i.responseText,o.highlightElement(t)):(a.setAttribute(l,"failed"),400<=i.status?t.textContent="✖ Error "+i.status+" while fetching file: "+i.statusText:t.textContent="✖ Error: File does not exist or is empty"))},i.send(null))}),t=!(o.plugins.fileHighlight={highlight:function(e){for(var t,n=(e||document).querySelectorAll(u),r=0;t=n[r++];)o.highlightElement(t)}}),o.fileHighlight=function(){t||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),t=!0),o.plugins.fileHighlight.highlight.apply(this,arguments)})});function Sn(e,t){return"___"+e.toUpperCase()+t+"___"}xn=Prism,Object.defineProperties(xn.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,i,e,a){var o;r.language===i&&(o=r.tokenStack=[],r.code=r.code.replace(e,function(e){if("function"==typeof a&&!a(e))return e;for(var t,n=o.length;-1!==r.code.indexOf(t=Sn(i,n));)++n;return o[n]=e,t}),r.grammar=xn.languages.markup)}},tokenizePlaceholders:{value:function(c,u){var p,d;c.language===u&&c.tokenStack&&(c.grammar=xn.languages[u],p=0,d=Object.keys(c.tokenStack),function e(t){for(var n=0;n=d.length);n++){var r,i,a,o,s,l=t[n];"string"==typeof l||l.content&&"string"==typeof l.content?(i=d[p],a=c.tokenStack[i],r="string"==typeof l?l:l.content,s=Sn(u,i),-1<(o=r.indexOf(s))&&(++p,i=r.substring(0,o),a=new xn.Token(u,xn.tokenize(a,c.grammar),"language-"+u,a),o=r.substring(o+s.length),s=[],i&&s.push.apply(s,e([i])),s.push(a),o&&s.push.apply(s,e([o])),"string"==typeof l?t.splice.apply(t,[n,1].concat(s)):l.content=s)):l.content&&e(l.content)}return t}(c.tokens))}}});var An={},Tn={markdown:function(e){return{url:e}},mermaid:function(e){return{url:e}},iframe:function(e,t){return{html:'"}},video:function(e,t){return{html:'"}},audio:function(e,t){return{html:'"}},code:function(e,t){var n=e.match(/\.(\w+)$/);return"md"===(n=t||n&&n[1])&&(n="markdown"),{url:e,lang:n}}},En=function(i,e){var a=this;this.config=i,this.router=e,this.cacheTree={},this.toc=[],this.cacheTOC={},this.linkTarget=i.externalLinkTarget||"_blank",this.linkRel="_blank"===this.linkTarget?i.externalLinkRel||"noopener":"",this.contentBase=e.getBasePath();var t=this._initRenderer();this.heading=t.heading;var e=i.markdown||{},o=p(e)?e(pn,t):(pn.setOptions(b(e,{renderer:b(t,e.renderer)})),pn);this._marked=o,this.compile=function(n){var r=!0,e=s(function(e){r=!1;var t="";return n?(t=c(n)?o(n):o.parser(n),t=i.noEmoji?t:t.replace(/:\+1:/g,":thumbsup:").replace(/:-1:/g,":thumbsdown:").replace(/<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g,function(e){return e.replace(/:/g,"__colon__")}).replace(/:(\w+?):/gi,window.emojify||yn).replace(/__colon__/g,":"),bn.clear(),t):n})(n),t=a.router.parse().file;return r?a.toc=a.cacheTOC[t]:a.cacheTOC[t]=[].concat(a.toc),e}};En.prototype.compileEmbed=function(e,t){var n,r,i=kn(t),a=i.str,i=i.config;if(t=a,i.include)return ne(e)||(e=le(this.contentBase,ie(this.router.getCurrentPath()),e)),i.type&&(r=Tn[i.type])?(n=r.call(this,e,t)).type=i.type:(r="code",/\.(md|markdown)/.test(e)?r="markdown":/\.mmd/.test(e)?r="mermaid":/\.html?/.test(e)?r="iframe":/\.(mp4|ogg)/.test(e)?r="video":/\.mp3/.test(e)&&(r="audio"),(n=Tn[r].call(this,e,t)).type=r),n.fragment=i.fragment,n},En.prototype._matchNotCompileLink=function(e){for(var t=this.config.noCompileLinks||[],n=0;n/g.test(r)&&(r=r.replace("\x3c!-- {docsify-ignore} --\x3e",""),e.title=wn(r),e.ignoreSubHeading=!0),/{docsify-ignore}/g.test(r)&&(r=r.replace("{docsify-ignore}",""),e.title=wn(r),e.ignoreSubHeading=!0),//g.test(r)&&(r=r.replace("\x3c!-- {docsify-ignore-all} --\x3e",""),e.title=wn(r),e.ignoreAllSubs=!0),/{docsify-ignore-all}/g.test(r)&&(r=r.replace("{docsify-ignore-all}",""),e.title=wn(r),e.ignoreAllSubs=!0);n=bn(i.id||r),i=a.toURL(a.getCurrentPath(),{id:n});return e.slug=i,d.toc.push(e),"'+r+""},i.code={renderer:e}.renderer.code=function(e,t){void 0===t&&(t="markup");var n=_n.languages[t]||_n.languages.markup;return'
    '+_n.highlight(e.replace(/@DOCSIFY_QM@/g,"`"),n,t)+"
    "},i.link=(n=(t={renderer:e,router:a,linkTarget:t,linkRel:n,compilerClass:d}).renderer,o=t.router,s=t.linkTarget,l=t.linkRel,c=t.compilerClass,n.link=function(e,t,n){void 0===t&&(t="");var r=[],i=kn(t),a=i.str,i=i.config;return s=i.target||s,l="_blank"===s?c.config.externalLinkRel||"noopener":"",t=a,ne(e)||c._matchNotCompileLink(e)||i.ignore?(ne(e)||"./"!==e.slice(0,2)||(e=document.URL.replace(/\/(?!.*\/).*/,"/").replace("#/./","")+e),r.push(0===e.indexOf("mailto:")?"":'target="'+s+'"'),r.push(0!==e.indexOf("mailto:")&&""!==l?' rel="'+l+'"':"")):(e===c.config.homepage&&(e="README"),e=o.toURL(e,null,o.getCurrentPath())),i.crossorgin&&"_self"===s&&"history"===c.config.routerMode&&-1===c.config.crossOriginLinks.indexOf(e)&&c.config.crossOriginLinks.push(e),i.disabled&&(r.push("disabled"),e="javascript:void(0)"),i.class&&r.push('class="'+i.class+'"'),i.id&&r.push('id="'+i.id+'"'),t&&r.push('title="'+t+'"'),'"+n+""}),i.paragraph={renderer:e}.renderer.paragraph=function(e){e=/^!>/.test(e)?hn("tip",e):/^\?>/.test(e)?hn("warn",e):"

    "+e+"

    ";return e},i.image=(r=(n={renderer:e,contentBase:r,router:a}).renderer,u=n.contentBase,p=n.router,r.image=function(e,t,n){var r=e,i=[],a=kn(t),o=a.str,a=a.config;return t=o,a["no-zoom"]&&i.push("data-no-zoom"),t&&i.push('title="'+t+'"'),a.size&&(t=(o=a.size.split("x"))[0],(o=o[1])?i.push('width="'+t+'" height="'+o+'"'):i.push('width="'+t+'"')),a.class&&i.push('class="'+a.class+'"'),a.id&&i.push('id="'+a.id+'"'),ne(e)||(r=le(u,ie(p.getCurrentPath()),e)),0":''+n+'"}),i.list={renderer:e}.renderer.list=function(e,t,n){t=t?"ol":"ul";return"<"+t+" "+[/
  • /.test(e.split('class="task-list"')[0])?'class="task-list"':"",n&&1"+e+""},i.listitem={renderer:e}.renderer.listitem=function(e){return/^(]*>)/.test(e)?'
  • ":"
  • "+e+"
  • "},e.origin=i,e},En.prototype.sidebar=function(e,t){var n=this.toc,r=this.router.getCurrentPath(),i="";if(e)i=this.compile(e);else{for(var a=0;a{inner}");this.cacheTree[r]=t}return i},En.prototype.subSidebar=function(e){if(e){var t=this.router.getCurrentPath(),n=this.cacheTree,r=this.toc;r[0]&&r[0].ignoreAllSubs&&r.splice(0),r[0]&&1===r[0].level&&r.shift();for(var i=0;i\n'+e+"\n"}]).links={}:(t=[{type:"html",text:e}]).links={}),a({token:i,embedToken:t}),++l>=s&&a({})}}(t);t.embed.url?G(t.embed.url).then(r):r(t.embed.html)}}({compile:n,embedTokens:s,fetch:t},function(e){var t,n=e.embedToken,e=e.token;e?(t=e.index,u.forEach(function(e){t>e.start&&(t+=e.length)}),b(c,n.links),o=o.slice(0,t).concat(n,o.slice(t+1)),u.push({start:t,length:n.length-1})):(Cn[i]=o.concat(),o.links=Cn[i].links=c,r(o))})}function Ln(e,t,n){var r,i,a,o;return t="function"==typeof n?n(t):"string"==typeof n?(a=[],o=0,(r=n).replace($,function(t,e,n){a.push(r.substring(o,n-1)),o=n+=t.length+1,a.push(i&&i[t]||function(e){return("00"+("string"==typeof C[t]?e[C[t]]():C[t](e))).slice(-t.length)})}),o!==r.length&&a.push(r.substring(o)),function(e){for(var t="",n=0,r=e||new Date;n404 - Not found","Vue"in window)for(var a=0,o=w(".markdown-section > *").filter(t);ascript").filter(function(e){return!/template/.test(e.type)})[0])||(e=e.innerText.trim())&&new Function(e)()),"Vue"in window){var l,c,u=[],p=Object.keys(n.vueComponents||{});2===i&&p.length&&p.forEach(function(e){window.Vue.options.components[e]||window.Vue.component(e,n.vueComponents[e])}),!Rn&&n.vueGlobalOptions&&"function"==typeof n.vueGlobalOptions.data&&(Rn=n.vueGlobalOptions.data()),u.push.apply(u,Object.keys(n.vueMounts||{}).map(function(e){return[k(r,e),n.vueMounts[e]]}).filter(function(e){var t=e[0];e[1];return t})),(n.vueGlobalOptions||p.length)&&(l=/{{2}[^{}]*}{2}/,c=/<[^>/]+\s([@:]|v-)[\w-:.[\]]+[=>\s]/,u.push.apply(u,w(".markdown-section > *").filter(function(n){return!u.some(function(e){var t=e[0];e[1];return t===n})}).filter(function(e){return e.tagName.toLowerCase()in(n.vueComponents||{})||e.querySelector(p.join(",")||null)||l.test(e.outerHTML)||c.test(e.outerHTML)}).map(function(e){var t=b({},n.vueGlobalOptions||{});return Rn&&(t.data=function(){return Rn}),[e,t]})));for(var d=0,h=u;d'):"")),t.coverpage&&(u+=(i=", 100%, 85%",'
    \x3c!--cover--\x3e
    ')),t.logo&&(i=/^data:image/.test(t.logo),n=/(?:http[s]?:)?\/\//.test(t.logo),r=/^\./.test(t.logo),i||n||r||(t.logo=le(e.router.getBasePath(),t.logo))),u+=(r=(n=t).name?n.name:"","
    "+('')+'
    \x3c!--main--\x3e
    '),e._renderTo(c,u,!0)):e.rendered=!0,t.mergeNavbar&&h?p=k(".sidebar"):(l.classList.add("app-nav"),t.repo||l.classList.add("no-badge")),t.loadNavbar&&_(p,l),t.themeColor&&(m.head.appendChild(x("div","").firstElementChild),o=t.themeColor,window.CSS&&window.CSS.supports&&window.CSS.supports("(--v:red)")||(t=w("style:not(.inserted),link"),[].forEach.call(t,function(e){if("STYLE"===e.nodeName)W(e,o);else if("LINK"===e.nodeName){e=e.getAttribute("href");if(!/\.css$/.test(e))return;G(e).then(function(e){e=x("style",e);y.appendChild(e),W(e,o)})}}))),e._updateRender(),T(v,"ready")}var Mn={};pt=function(e){this.config=e};function Nn(e){var t=location.href.indexOf("#");location.replace(location.href.slice(0,0<=t?t:0)+"#"+e)}pt.prototype.getBasePath=function(){return this.config.basePath},pt.prototype.getFile=function(e,t){void 0===e&&(e=this.getCurrentPath());var n,r,i=this.config,a=this.getBasePath(),o="string"==typeof i.ext?i.ext:".md";return e=i.alias?function e(t,n,r){var i=Object.keys(n).filter(function(e){return(Mn[e]||(Mn[e]=new RegExp("^"+e+"$"))).test(t)&&t!==r})[0];return i?e(t.replace(Mn[i],n[i]),n,t):t}(e,i.alias):e,n=e,r=o,e=(e=new RegExp("\\.("+r.replace(/^\./,"")+"|html)$","g").test(n)?n:/\/$/g.test(n)?n+"README"+r:""+n+r)==="/README"+o&&i.homepage||e,e=ne(e)?e:le(a,e),t&&(e=e.replace(new RegExp("^"+a),"")),e},pt.prototype.onchange=function(e){void 0===e&&(e=u),e()},pt.prototype.getCurrentPath=function(){},pt.prototype.normalize=function(){},pt.prototype.parse=function(){},pt.prototype.toURL=function(e,t,n){var r=n&&"#"===e[0],i=this.parse(ce(e));if(i.query=b({},i.query,t),e=(e=i.path+te(i.query)).replace(/\.md(\?)|\.md$/,"$1"),r&&(e=(0<(r=n.indexOf("?"))?n.substring(0,r):n)+e),this.config.relativePath&&0!==e.indexOf("/")){n=n.substring(0,n.lastIndexOf("/")+1);return ae(oe(n+e))}return ae("/"+e)};var Pn=function(r){function e(e){r.call(this,e),this.mode="hash"}return r&&(e.__proto__=r),((e.prototype=Object.create(r&&r.prototype)).constructor=e).prototype.getBasePath=function(){var e=window.location.pathname||"",t=this.config.basePath,e=ue(e,".html")?e+"#/"+t:e+"/"+t;return/^(\/|https?:)/g.test(t)?t:ae(e)},e.prototype.getCurrentPath=function(){var e=location.href,t=e.indexOf("#");return-1===t?"":e.slice(t+1)},e.prototype.onchange=function(n){void 0===n&&(n=u);var r=!1;S("click",function(e){e="A"===e.target.tagName?e.target:e.target.parentNode;e&&"A"===e.tagName&&!/_blank/.test(e.target)&&(r=!0)}),S("hashchange",function(e){var t=r?"navigate":"history";r=!1,n({event:e,source:t})})},e.prototype.normalize=function(){var e=this.getCurrentPath();if("/"===(e=ce(e)).charAt(0))return Nn(e);Nn("/"+e)},e.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("#");0<=n&&(e=e.slice(n+1));n=e.indexOf("?");return 0<=n&&(t=e.slice(n+1),e=e.slice(0,n)),{path:e,file:this.getFile(e,!0),query:ee(t)}},e.prototype.toURL=function(e,t,n){return"#"+r.prototype.toURL.call(this,e,t,n)},e}(pt),Dn=function(t){function e(e){t.call(this,e),this.mode="history"}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).prototype.getCurrentPath=function(){var e=this.getBasePath(),t=window.location.pathname;return e&&0===t.indexOf(e)&&(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash},e.prototype.onchange=function(n){var r=this;void 0===n&&(n=u),S("click",function(e){var t="A"===e.target.tagName?e.target:e.target.parentNode;"A"!==t.tagName||/_blank/.test(t.target)||(e.preventDefault(),t=t.href,-1!==r.config.crossOriginLinks.indexOf(t)?window.open(t,"_self"):window.history.pushState({key:t},"",t),n({event:e,source:"navigate"}))}),S("popstate",function(e){n({event:e,source:"history"})})},e.prototype.parse=function(e){void 0===e&&(e=location.href);var t="",n=e.indexOf("?");0<=n&&(t=e.slice(n+1),e=e.slice(0,n));var r=le(location.origin),n=e.indexOf(r);return-1([^<]*?)

    $'))&&("color"===t[2]?r.style.background=t[1]+(t[3]||""):(e=t[1],T(r,"add","has-mask"),ne(t[1])||(e=le(this.router.getBasePath(),t[1])),r.style.backgroundImage="url("+e+")",r.style.backgroundSize="cover",r.style.backgroundPosition="center center"),n=n.replace(t[0],"")),this._renderTo(".cover-main",n),X()):T(r,"remove","show")},Zn._updateRender=function(){var e,t,n,r;e=this,t=g(".app-name-link"),n=e.config.nameLink,r=e.route.path,t&&(c(e.config.nameLink)?t.setAttribute("href",n):"object"==typeof n&&(e=Object.keys(n).filter(function(e){return-1":">",'"':""","'":"'"},String(t).replace(/[&<>"']/g,function(e){return i[e]})))}),a&&(p=a.replace(//,"").replace(/{docsify-ignore}/,"").replace(//,"").replace(/{docsify-ignore-all}/,"").trim()),l[c]={slug:c,title:p,body:""}}else{if(0===n&&(c=o.toURL(r),l[c]={slug:c,title:"/"!==r?r.slice(1):"Home Page",body:e.text||""}),!c)return;l[c]?l[c].body?(e.text=h(e),e.text=f(e),l[c].body+="\n"+(e.text||"")):(e.text=h(e),e.text=f(e),l[c].body=l[c].body?l[c].body+e.text:e.text):l[c]={slug:c,title:"",body:""}}var i}),d.clear(),l}function p(e){return e&&e.normalize?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function r(i,r){var t,a,n,e,o="auto"===i.paths,s=o?(t=r.router,a=[],Docsify.dom.findAll(".sidebar-nav a:not(.section-link):not([data-nosearch])").forEach(function(e){var n=e.href,e=e.getAttribute("href"),n=t.parse(n).path;n&&-1===a.indexOf(n)&&!Docsify.util.isAbsolutePath(e)&&a.push(n)}),a):i.paths,c="";s.length&&o&&i.pathNamespaces?(n=s[0],Array.isArray(i.pathNamespaces)?c=i.pathNamespaces.filter(function(e){return n.slice(0,e.length)===e})[0]||c:i.pathNamespaces instanceof RegExp&&((d=n.match(i.pathNamespaces))&&(c=d[0])),e=-1===s.indexOf(c+"/"),d=-1===s.indexOf(c+"/README"),e&&d&&s.unshift(c+"/")):-1===s.indexOf("/")&&-1===s.indexOf("/README")&&s.unshift("/");var d,l=((d=i.namespace)?m.EXPIRE_KEY+"/"+d:m.EXPIRE_KEY)+c,p=((d=i.namespace)?m.INDEX_KEY+"/"+d:m.INDEX_KEY)+c,c=localStorage.getItem(l)l.length&&(a=l.length),t="..."+c.substring(n,a).replace(t,function(e){return''+e+""})+"...",o+=t)}),0\n

    '+e.title+"

    \n

    "+e.content+"

    \n
    \n"}),t.classList.add("show"),a.classList.add("show"),t.innerHTML=r||'

    '+s+"

    ",o.hideOtherSidebarContent&&(i.classList.add("hide"),n.classList.add("hide"))}function d(e){o=e}function l(e,n){var t,a,i=n.router.parse().query.s;d(e),Docsify.dom.style("\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0 7px;\n line-height: 36px;\n font-size: 14px;\n border: 1px solid transparent;\n}\n\n.search input:focus {\n box-shadow: 0 0 5px var(--theme-color, #42b983);\n border: 1px solid var(--theme-color, #42b983);\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.search .clear-button {\n cursor: pointer;\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}"),function(e){void 0===e&&(e="");var n='
    \n \n
    \n \n \n \n \n \n
    \n
    \n
    \n ',e=Docsify.dom.create("div",n),n=Docsify.dom.find("aside");Docsify.dom.toggleClass(e,"search"),Docsify.dom.before(n,e)}(i),n=Docsify.dom.find("div.search"),a=Docsify.dom.find(n,"input"),e=Docsify.dom.find(n,".input-wrap"),Docsify.dom.on(n,"click",function(e){return-1===["A","H2","P","EM"].indexOf(e.target.tagName)&&e.stopPropagation()}),Docsify.dom.on(a,"input",function(n){clearTimeout(t),t=setTimeout(function(e){return c(n.target.value.trim())},100)}),Docsify.dom.on(e,"click",function(e){"INPUT"!==e.target.tagName&&(a.value="",c())}),i&&setTimeout(function(e){return c(i)},500)}function y(e,n){var t,a,i,r,o;d(e),t=e.placeholder,a=n.route.path,(r=Docsify.dom.getNode('.search input[type="search"]'))&&("string"==typeof t?r.placeholder=t:(i=Object.keys(t).filter(function(e){return-1*:not(.progress){opacity:0;transition:opacity var(--spinner-transition-duration)}body.ready-transition:after{content:'';position:absolute;z-index:1000;top:calc(50% - (var(--spinner-size) / 2));left:calc(50% - (var(--spinner-size) / 2));height:var(--spinner-size);width:var(--spinner-size);border:var(--spinner-track-width, 0) solid var(--spinner-track-color);border-left-color:var(--theme-color);border-left-color:var(--theme-color);border-radius:50%;-webkit-animation:spinner var(--duration-slow) infinite linear;animation:spinner var(--duration-slow) infinite linear}body.ready-transition.ready-spinner:after{opacity:1}body.ready-transition.ready-fix:after{opacity:0}body.ready-transition.ready-fix>*:not(.progress){opacity:1;transition-delay:var(--spinner-transition-duration)}@-webkit-keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:inherit;font-size:inherit;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none}:root{box-sizing:border-box;background-color:var(--base-background-color);font-size:var(--base-font-size);font-weight:var(--base-font-weight);line-height:var(--base-line-height);letter-spacing:var(--base-letter-spacing);color:var(--base-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased}html,button,input,optgroup,select,textarea{font-family:var(--base-font-family)}button,input,optgroup,select,textarea{font-size:100%;margin:0}a{text-decoration:none;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}body{margin:0}hr{height:0;margin:2em 0;border:none;border-bottom:var(--hr-border, 0)}img{max-width:100%;border:0}main{display:block}main.hidden{display:none}mark{background:var(--mark-background);color:var(--mark-color)}pre{font-family:var(--pre-font-family);font-size:var(--pre-font-size);font-weight:var(--pre-font-weight);line-height:var(--pre-line-height)}small{display:inline-block;font-size:var(--small-font-size)}strong{font-weight:var(--strong-font-weight);color:var(--strong-color, currentColor)}sub,sup{font-size:var(--subsup-font-size);line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}body:not([data-platform^="Mac"]) *{scrollbar-color:hsla(var(--mono-hue), var(--mono-saturation), 50%, 0.3) hsla(var(--mono-hue), var(--mono-saturation), 50%, 0.1);scrollbar-width:thin}body:not([data-platform^="Mac"]) * ::-webkit-scrollbar{width:5px;height:5px}body:not([data-platform^="Mac"]) * ::-webkit-scrollbar-thumb{background:hsla(var(--mono-hue), var(--mono-saturation), 50%, 0.3)}body:not([data-platform^="Mac"]) * ::-webkit-scrollbar-track{background:hsla(var(--mono-hue), var(--mono-saturation), 50%, 0.1)}::-moz-selection{background:var(--selection-color)}::selection{background:var(--selection-color)}.emoji{height:var(--emoji-size);vertical-align:middle}.task-list-item{list-style:none}.task-list-item input{margin-right:0.5em;margin-left:0;vertical-align:0.075em}.markdown-section code[class*="lang-"],.markdown-section pre[data-lang]{font-family:var(--code-font-family);font-size:var(--code-font-size);font-weight:var(--code-font-weight);letter-spacing:normal;line-height:var(--code-block-line-height);-moz-tab-size:var(--code-tab-size);-o-tab-size:var(--code-tab-size);tab-size:var(--code-tab-size);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}.markdown-section pre[data-lang]{position:relative;overflow:hidden;margin:var(--code-block-margin);padding:0;border-radius:var(--code-block-border-radius)}.markdown-section pre[data-lang]::after{content:attr(data-lang);position:absolute;top:0.75em;right:0.75em;opacity:0.6;color:inherit;font-size:var(--font-size-s);line-height:1}.markdown-section pre[data-lang] code{display:block;overflow:auto;padding:var(--code-block-padding)}code[class*="lang-"],pre[data-lang]{color:var(--code-theme-text)}pre[data-lang]::-moz-selection,pre[data-lang] ::-moz-selection,code[class*="lang-"]::-moz-selection,code[class*="lang-"] ::-moz-selection{background:var(--code-theme-selection, var(--selection-color))}pre[data-lang]::-moz-selection, pre[data-lang] ::-moz-selection, code[class*="lang-"]::-moz-selection, code[class*="lang-"] ::-moz-selection{background:var(--code-theme-selection, var(--selection-color))}pre[data-lang]::selection,pre[data-lang] ::selection,code[class*="lang-"]::selection,code[class*="lang-"] ::selection{background:var(--code-theme-selection, var(--selection-color))}:not(pre)>code[class*="lang-"],pre[data-lang]{background:var(--code-theme-background)}.namespace{opacity:0.7}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--code-theme-comment)}.token.punctuation{color:var(--code-theme-punctuation)}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:var(--code-theme-tag)}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--code-theme-selector)}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:var(--code-theme-operator)}.token.atrule,.token.attr-value,.token.keyword{color:var(--code-theme-keyword)}.token.function{color:var(--code-theme-function)}.token.regex,.token.important,.token.variable{color:var(--code-theme-variable)}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section{position:relative;max-width:var(--content-max-width);margin:0 auto;padding:2rem 45px}.app-nav:not(:empty) ~ main .markdown-section{padding-top:3.5rem}.markdown-section figure,.markdown-section p,.markdown-section ol,.markdown-section ul{margin:1em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section ol ol,.markdown-section ol ul,.markdown-section ul ol,.markdown-section ul ul{margin-top:0.15rem;margin-bottom:0.15rem}.markdown-section a{border-bottom:var(--link-border-bottom);color:var(--link-color);-webkit-text-decoration:var(--link-text-decoration);text-decoration:var(--link-text-decoration);-webkit-text-decoration-color:var(--link-text-decoration-color);text-decoration-color:var(--link-text-decoration-color)}.markdown-section a:hover{border-bottom:var(--link-border-bottom--hover, var(--link-border-bottom, 0));color:var(--link-color--hover, var(--link-color));-webkit-text-decoration:var(--link-text-decoration--hover, var(--link-text-decoration));text-decoration:var(--link-text-decoration--hover, var(--link-text-decoration));-webkit-text-decoration-color:var(--link-text-decoration-color--hover, var(--link-text-decoration-color));text-decoration-color:var(--link-text-decoration-color--hover, var(--link-text-decoration-color))}.markdown-section a.anchor{border-bottom:0;color:inherit;text-decoration:none}.markdown-section a.anchor:hover{text-decoration:underline}.markdown-section blockquote{overflow:visible;margin:2em 0;padding:1.5em;border-width:var(--blockquote-border-width, 0);border-style:var(--blockquote-border-style);border-color:var(--blockquote-border-color);border-radius:var(--blockquote-border-radius);background:var(--blockquote-background);color:var(--blockquote-color);font-family:var(--blockquote-font-family);font-size:var(--blockquote-font-size);font-style:var(--blockquote-font-style);font-weight:var(--blockquote-font-weight);quotes:"“" "”" "‘" "’"}.markdown-section blockquote em{font-family:var(--blockquote-em-font-family);font-size:var(--blockquote-em-font-size);font-style:var(--blockquote-em-font-style);font-weight:var(--blockquote-em-font-weight)}.markdown-section blockquote p:first-child{margin-top:0}.markdown-section blockquote p:first-child:before,.markdown-section blockquote p:first-child:after{color:var(--blockquote-quotes-color);font-family:var(--blockquote-quotes-font-family);font-size:var(--blockquote-quotes-font-size);line-height:0}.markdown-section blockquote p:first-child:before{content:var(--blockquote-quotes-open);margin-right:0.15em;vertical-align:-0.45em}.markdown-section blockquote p:first-child:after{content:var(--blockquote-quotes-close);margin-left:0.15em;vertical-align:-0.55em}.markdown-section blockquote p:last-child{margin-bottom:0}.markdown-section code{font-family:var(--code-font-family);font-size:var(--code-font-size);font-weight:var(--code-font-weight);line-height:inherit}.markdown-section code:not([class*="lang-"]):not([class*="language-"]){margin:var(--code-inline-margin);padding:var(--code-inline-padding);border-radius:var(--code-inline-border-radius);background:var(--code-inline-background);color:var(--code-inline-color, currentColor);white-space:nowrap}.markdown-section h1:first-child,.markdown-section h2:first-child,.markdown-section h3:first-child,.markdown-section h4:first-child,.markdown-section h5:first-child,.markdown-section h6:first-child{margin-top:0}.markdown-section h1 a[data-id],.markdown-section h2 a[data-id],.markdown-section h3 a[data-id],.markdown-section h4 a[data-id],.markdown-section h5 a[data-id],.markdown-section h6 a[data-id]{display:inline-block}.markdown-section h1 code,.markdown-section h2 code,.markdown-section h3 code,.markdown-section h4 code,.markdown-section h5 code,.markdown-section h6 code{font-size:0.875em}.markdown-section h1+h2,.markdown-section h1+h3,.markdown-section h1+h4,.markdown-section h1+h5,.markdown-section h1+h6,.markdown-section h2+h3,.markdown-section h2+h4,.markdown-section h2+h5,.markdown-section h2+h6,.markdown-section h3+h4,.markdown-section h3+h5,.markdown-section h3+h6,.markdown-section h4+h5,.markdown-section h4+h6,.markdown-section h5+h6{margin-top:1rem}.markdown-section h1{margin:var(--heading-h1-margin, var(--heading-margin));padding:var(--heading-h1-padding, var(--heading-padding));border-width:var(--heading-h1-border-width, 0);border-style:var(--heading-h1-border-style);border-color:var(--heading-h1-border-color);font-family:var(--heading-h1-font-family, var(--heading-font-family));font-size:var(--heading-h1-font-size);font-weight:var(--heading-h1-font-weight, var(--heading-font-weight));line-height:var(--base-line-height);color:var(--heading-h1-color, var(--heading-color))}.markdown-section h2{margin:var(--heading-h2-margin, var(--heading-margin));padding:var(--heading-h2-padding, var(--heading-padding));border-width:var(--heading-h2-border-width, 0);border-style:var(--heading-h2-border-style);border-color:var(--heading-h2-border-color);font-family:var(--heading-h2-font-family, var(--heading-font-family));font-size:var(--heading-h2-font-size);font-weight:var(--heading-h2-font-weight, var(--heading-font-weight));line-height:var(--base-line-height);color:var(--heading-h2-color, var(--heading-color))}.markdown-section h3{margin:var(--heading-h3-margin, var(--heading-margin));padding:var(--heading-h3-padding, var(--heading-padding));border-width:var(--heading-h3-border-width, 0);border-style:var(--heading-h3-border-style);border-color:var(--heading-h3-border-color);font-family:var(--heading-h3-font-family, var(--heading-font-family));font-size:var(--heading-h3-font-size);font-weight:var(--heading-h3-font-weight, var(--heading-font-weight));color:var(--heading-h3-color, var(--heading-color))}.markdown-section h4{margin:var(--heading-h4-margin, var(--heading-margin));padding:var(--heading-h4-padding, var(--heading-padding));border-width:var(--heading-h4-border-width, 0);border-style:var(--heading-h4-border-style);border-color:var(--heading-h4-border-color);font-family:var(--heading-h4-font-family, var(--heading-font-family));font-size:var(--heading-h4-font-size);font-weight:var(--heading-h4-font-weight, var(--heading-font-weight));color:var(--heading-h4-color, var(--heading-color))}.markdown-section h5{margin:var(--heading-h5-margin, var(--heading-margin));padding:var(--heading-h5-padding, var(--heading-padding));border-width:var(--heading-h5-border-width, 0);border-style:var(--heading-h5-border-style);border-color:var(--heading-h5-border-color);font-family:var(--heading-h5-font-family, var(--heading-font-family));font-size:var(--heading-h5-font-size);font-weight:var(--heading-h5-font-weight, var(--heading-font-weight));color:var(--heading-h5-color, var(--heading-color))}.markdown-section h6{margin:var(--heading-h6-margin, var(--heading-margin));padding:var(--heading-h6-padding, var(--heading-padding));border-width:var(--heading-h6-border-width, 0);border-style:var(--heading-h6-border-style);border-color:var(--heading-h6-border-color);font-family:var(--heading-h6-font-family, var(--heading-font-family));font-size:var(--heading-h6-font-size);font-weight:var(--heading-h6-font-weight, var(--heading-font-weight));color:var(--heading-h6-color, var(--heading-color))}.markdown-section iframe{margin:1em 0}.markdown-section img{max-width:100%}.markdown-section kbd{display:inline-block;min-width:var(--kbd-min-width);margin:var(--kbd-margin);padding:var(--kbd-padding);border:var(--kbd-border);border-radius:var(--kbd-border-radius);background:var(--kbd-background);font-family:inherit;font-size:var(--kbd-font-size);text-align:center;letter-spacing:0;line-height:1;color:var(--kbd-color)}.markdown-section kbd+kbd{margin-left:-0.15em}.markdown-section table{display:block;overflow:auto;margin:1rem 0;border-spacing:0;border-collapse:collapse}.markdown-section th,.markdown-section td{padding:var(--table-cell-padding)}.markdown-section th:not([align]){text-align:left}.markdown-section thead{border-color:var(--table-head-border-color);border-style:solid;border-width:var(--table-head-border-width, 0);background:var(--table-head-background)}.markdown-section th{font-weight:var(--table-head-font-weight);color:var(--strong-color)}.markdown-section td{border-color:var(--table-cell-border-color);border-style:solid;border-width:var(--table-cell-border-width, 0)}.markdown-section tbody{border-color:var(--table-body-border-color);border-style:solid;border-width:var(--table-body-border-width, 0)}.markdown-section tbody tr:nth-child(odd){background:var(--table-row-odd-background)}.markdown-section tbody tr:nth-child(even){background:var(--table-row-even-background)}.markdown-section>ul .task-list-item{margin-left:-1.25em}.markdown-section>ul .task-list-item .task-list-item{margin-left:0}.markdown-section .table-wrapper{overflow-x:auto}.markdown-section .table-wrapper table{display:table;width:100%}.markdown-section .table-wrapper td::before{display:none}@media (max-width: 30em){.markdown-section .table-wrapper tbody,.markdown-section .table-wrapper tr,.markdown-section .table-wrapper td{display:block}.markdown-section .table-wrapper th,.markdown-section .table-wrapper td{border:none}.markdown-section .table-wrapper thead{display:none}.markdown-section .table-wrapper tr{border-color:var(--table-cell-border-color);border-style:solid;border-width:var(--table-cell-border-width, 0);padding:var(--table-cell-padding)}.markdown-section .table-wrapper tr:not(:last-child){border-bottom:0}.markdown-section .table-wrapper td{padding:0.15em 0 0.15em 8em}.markdown-section .table-wrapper td::before{display:inline-block;float:left;width:8em;margin-left:-8em;font-weight:bold;text-align:left}}.markdown-section .tip,.markdown-section .warn{position:relative;margin:2em 0;padding:var(--notice-padding);border-width:var(--notice-border-width, 0);border-style:var(--notice-border-style);border-color:var(--notice-border-color);border-radius:var(--notice-border-radius);background:var(--notice-background);font-family:var(--notice-font-family);font-weight:var(--notice-font-weight);color:var(--notice-color)}.markdown-section .tip:before,.markdown-section .warn:before{display:inline-block;position:var(--notice-before-position, relative);top:var(--notice-before-top);left:var(--notice-before-left);height:var(--notice-before-height);width:var(--notice-before-width);margin:var(--notice-before-margin);padding:var(--notice-before-padding);border-radius:var(--notice-before-border-radius);line-height:var(--notice-before-line-height);font-family:var(--notice-before-font-family);font-size:var(--notice-before-font-size);font-weight:var(--notice-before-font-weight);text-align:center}.markdown-section .tip{border-width:var(--notice-important-border-width, var(--notice-border-width, 0));border-style:var(--notice-important-border-style, var(--notice-border-style));border-color:var(--notice-important-border-color, var(--notice-border-color));background:var(--notice-important-background, var(--notice-background));color:var(--notice-important-color, var(--notice-color))}.markdown-section .tip:before{content:var(--notice-important-before-content, var(--notice-before-content));background:var(--notice-important-before-background, var(--notice-before-background));color:var(--notice-important-before-color, var(--notice-before-color))}.markdown-section .warn{border-width:var(--notice-tip-border-width, var(--notice-border-width, 0));border-style:var(--notice-tip-border-style, var(--notice-border-style));border-color:var(--notice-tip-border-color, var(--notice-border-color));background:var(--notice-tip-background, var(--notice-background));color:var(--notice-tip-color, var(--notice-color))}.markdown-section .warn:before{content:var(--notice-tip-before-content, var(--notice-before-content));background:var(--notice-tip-before-background, var(--notice-before-background));color:var(--notice-tip-before-color, var(--notice-before-color))}.cover{display:none;position:relative;z-index:20;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--cover-border-inset, 0px) + var(--cover-border-width, 0px));color:var(--cover-color);text-align:var(--cover-text-align)}@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){.cover{height:100vh}}.cover:before,.cover:after{content:'';position:absolute}.cover:before{top:0;bottom:0;left:0;right:0;background-blend-mode:var(--cover-background-blend-mode);background-color:var(--cover-background-color);background-image:var(--cover-background-image);background-position:var(--cover-background-position);background-repeat:var(--cover-background-repeat);background-size:var(--cover-background-size)}.cover:after{top:var(--cover-border-inset, 0);bottom:var(--cover-border-inset, 0);left:var(--cover-border-inset, 0);right:var(--cover-border-inset, 0);border-width:var(--cover-border-width, 0);border-style:solid;border-color:var(--cover-border-color)}.cover a{border-bottom:var(--cover-link-border-bottom);color:var(--cover-link-color);-webkit-text-decoration:var(--cover-link-text-decoration);text-decoration:var(--cover-link-text-decoration);-webkit-text-decoration-color:var(--cover-link-text-decoration-color);text-decoration-color:var(--cover-link-text-decoration-color)}.cover a:hover{border-bottom:var(--cover-link-border-bottom--hover, var(--cover-link-border-bottom));color:var(--cover-link-color--hover, var(--cover-link-color));-webkit-text-decoration:var(--cover-link-text-decoration--hover, var(--cover-link-text-decoration));text-decoration:var(--cover-link-text-decoration--hover, var(--cover-link-text-decoration));-webkit-text-decoration-color:var(--cover-link-text-decoration-color--hover, var(--cover-link-text-decoration-color));text-decoration-color:var(--cover-link-text-decoration-color--hover, var(--cover-link-text-decoration-color))}.cover h1{color:var(--cover-heading-color);position:relative;margin:0;font-size:var(--cover-heading-font-size);font-weight:var(--cover-heading-font-weight);line-height:1.2}.cover h1 a,.cover h1 a:hover{display:block;border-bottom:none;color:inherit;text-decoration:none}.cover h1 small{position:absolute;bottom:0;margin-left:0.5em}.cover h1 span{font-size:calc(var(--cover-heading-font-size-min) * 1px)}@media (min-width: 26em){.cover h1 span{font-size:calc((var(--cover-heading-font-size-min) * 1px) + (var(--cover-heading-font-size-max) - var(--cover-heading-font-size-min)) * ((100vw - 420px) / (1024 - 420)))}}@media (min-width: 64em){.cover h1 span{font-size:calc(var(--cover-heading-font-size-max) * 1px)}}.cover blockquote{margin:0;color:var(--cover-blockquote-color);font-size:var(--cover-blockquote-font-size)}.cover blockquote a{color:inherit}.cover ul{padding:0;list-style-type:none}.cover .cover-main{position:relative;z-index:1;max-width:var(--cover-max-width);margin:var(--cover-margin);padding:0 45px}.cover .cover-main>p:last-child{margin:1.25em -.25em}.cover .cover-main>p:last-child a{display:block;margin:.375em .25em;padding:var(--cover-button-padding);border:var(--cover-button-border);border-radius:var(--cover-button-border-radius);box-shadow:var(--cover-button-box-shadow);background:var(--cover-button-background);text-align:center;-webkit-text-decoration:var(--cover-button-text-decoration);text-decoration:var(--cover-button-text-decoration);-webkit-text-decoration-color:var(--cover-button-text-decoration-color);text-decoration-color:var(--cover-button-text-decoration-color);color:var(--cover-button-color);white-space:nowrap;transition:var(--cover-button-transition)}.cover .cover-main>p:last-child a:hover{border:var(--cover-button-border--hover, var(--cover-button-border));box-shadow:var(--cover-button-box-shadow--hover, var(--cover-button-box-shadow));background:var(--cover-button-background--hover, var(--cover-button-background));-webkit-text-decoration:var(--cover-button-text-decoration--hover, var(--cover-button-text-decoration));text-decoration:var(--cover-button-text-decoration--hover, var(--cover-button-text-decoration));-webkit-text-decoration-color:var(--cover-button-text-decoration-color--hover, var(--cover-button-text-decoration-color));text-decoration-color:var(--cover-button-text-decoration-color--hover, var(--cover-button-text-decoration-color));color:var(--cover-button-color--hover, var(--cover-button-color))}.cover .cover-main>p:last-child a:first-child{border:var(--cover-button-primary-border, var(--cover-button-border));box-shadow:var(--cover-button-primary-box-shadow, var(--cover-button-box-shadow));background:var(--cover-button-primary-background, var(--cover-button-background));-webkit-text-decoration:var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration));text-decoration:var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration));-webkit-text-decoration-color:var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color));text-decoration-color:var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color));color:var(--cover-button-primary-color, var(--cover-button-color))}.cover .cover-main>p:last-child a:first-child:hover{border:var(--cover-button-primary-border--hover, var(--cover-button-border--hover, var(--cover-button-primary-border, var(--cover-button-border))));box-shadow:var(--cover-button-primary-box-shadow--hover, var(--cover-button-box-shadow--hover, var(--cover-button-primary-box-shadow, var(--cover-button-box-shadow))));background:var(--cover-button-primary-background--hover, var(--cover-button-background--hover, var(--cover-button-primary-background, var(--cover-button-background))));-webkit-text-decoration:var(--cover-button-primary-text-decoration--hover, var(--cover-button-text-decoration--hover, var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration))));text-decoration:var(--cover-button-primary-text-decoration--hover, var(--cover-button-text-decoration--hover, var(--cover-button-primary-text-decoration, var(--cover-button-text-decoration))));-webkit-text-decoration-color:var(--cover-button-primary-text-decoration-color--hover, var(--cover-button-text-decoration-color--hover, var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color))));text-decoration-color:var(--cover-button-primary-text-decoration-color--hover, var(--cover-button-text-decoration-color--hover, var(--cover-button-primary-text-decoration-color, var(--cover-button-text-decoration-color))));color:var(--cover-button-primary-color--hover, var(--cover-button-color--hover, var(--cover-button-primary-color, var(--cover-button-color))))}@media (min-width: 30.01em){.cover .cover-main>p:last-child a{display:inline-block}}.cover .mask{visibility:var(--cover-background-mask-visibility, hidden);position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--cover-background-mask-color);opacity:var(--cover-background-mask-opacity)}.cover.has-mask .mask{visibility:visible}.cover.show{display:flex}.app-nav{position:absolute;z-index:30;top:calc(35px - (0.5em * var(--base-line-height)));left:45px;right:80px;text-align:right}.app-nav.no-badge{right:45px}.app-nav li>img,.app-nav li>a>img{margin-top:-0.25em;vertical-align:middle}.app-nav li>img:first-child,.app-nav li>a>img:first-child{margin-right:0.5em}.app-nav ul,.app-nav li{margin:0;padding:0;list-style:none}.app-nav li{position:relative}.app-nav li a{display:block;line-height:1;transition:var(--navbar-root-transition)}.app-nav>ul>li{display:inline-block;margin:var(--navbar-root-margin)}.app-nav>ul>li:first-child{margin-left:0}.app-nav>ul>li:last-child{margin-right:0}.app-nav>ul>li>a,.app-nav>ul>li>span{padding:var(--navbar-root-padding);border-width:var(--navbar-root-border-width, 0);border-style:var(--navbar-root-border-style);border-color:var(--navbar-root-border-color);border-radius:var(--navbar-root-border-radius);background:var(--navbar-root-background);color:var(--navbar-root-color);-webkit-text-decoration:var(--navbar-root-text-decoration);text-decoration:var(--navbar-root-text-decoration);-webkit-text-decoration-color:var(--navbar-root-text-decoration-color);text-decoration-color:var(--navbar-root-text-decoration-color)}.app-nav>ul>li>a:hover,.app-nav>ul>li>span:hover{background:var(--navbar-root-background--hover, var(--navbar-root-background));border-style:var(--navbar-root-border-style--hover, var(--navbar-root-border-style));border-color:var(--navbar-root-border-color--hover, var(--navbar-root-border-color));color:var(--navbar-root-color--hover, var(--navbar-root-color));-webkit-text-decoration:var(--navbar-root-text-decoration--hover, var(--navbar-root-text-decoration));text-decoration:var(--navbar-root-text-decoration--hover, var(--navbar-root-text-decoration));-webkit-text-decoration-color:var(--navbar-root-text-decoration-color--hover, var(--navbar-root-text-decoration-color));text-decoration-color:var(--navbar-root-text-decoration-color--hover, var(--navbar-root-text-decoration-color))}.app-nav>ul>li>a:not(:last-child),.app-nav>ul>li>span:not(:last-child){padding:var(--navbar-menu-root-padding, var(--navbar-root-padding));background:var(--navbar-menu-root-background, var(--navbar-root-background))}.app-nav>ul>li>a:not(:last-child):hover,.app-nav>ul>li>span:not(:last-child):hover{background:var(--navbar-menu-root-background--hover, var(--navbar-menu-root-background, var(--navbar-root-background--hover, var(--navbar-root-background))))}.app-nav>ul>li>a.active{background:var(--navbar-root-background--active, var(--navbar-root-background));border-style:var(--navbar-root-border-style--active, var(--navbar-root-border-style));border-color:var(--navbar-root-border-color--active, var(--navbar-root-border-color));color:var(--navbar-root-color--active, var(--navbar-root-color));-webkit-text-decoration:var(--navbar-root-text-decoration--active, var(--navbar-root-text-decoration));text-decoration:var(--navbar-root-text-decoration--active, var(--navbar-root-text-decoration));-webkit-text-decoration-color:var(--navbar-root-text-decoration-color--active, var(--navbar-root-text-decoration-color));text-decoration-color:var(--navbar-root-text-decoration-color--active, var(--navbar-root-text-decoration-color))}.app-nav>ul>li>a.active:not(:last-child):hover{background:var(--navbar-menu-root-background--active, var(--navbar-menu-root-background, var(--navbar-root-background--active, var(--navbar-root-background))))}.app-nav>ul>li ul{visibility:hidden;position:absolute;top:100%;right:50%;overflow-y:auto;box-sizing:border-box;max-height:calc(50vh);padding:var(--navbar-menu-padding);border-width:var(--navbar-menu-border-width, 0);border-style:solid;border-color:var(--navbar-menu-border-color);border-radius:var(--navbar-menu-border-radius);background:var(--navbar-menu-background);box-shadow:var(--navbar-menu-box-shadow);text-align:left;white-space:nowrap;opacity:0;transform:translate(50%, -0.35em);transition:var(--navbar-menu-transition)}.app-nav>ul>li ul li{white-space:nowrap}.app-nav>ul>li ul a{margin:var(--navbar-menu-link-margin);padding:var(--navbar-menu-link-padding);border-width:var(--navbar-menu-link-border-width, 0);border-style:var(--navbar-menu-link-border-style);border-color:var(--navbar-menu-link-border-color);border-radius:var(--navbar-menu-link-border-radius);background:var(--navbar-menu-link-background);color:var(--navbar-menu-link-color);-webkit-text-decoration:var(--navbar-menu-link-text-decoration);text-decoration:var(--navbar-menu-link-text-decoration);-webkit-text-decoration-color:var(--navbar-menu-link-text-decoration-color);text-decoration-color:var(--navbar-menu-link-text-decoration-color)}.app-nav>ul>li ul a:hover{background:var(--navbar-menu-link-background--hover, var(--navbar-menu-link-background));border-style:var(--navbar-menu-link-border-style--hover, var(--navbar-menu-link-border-style));border-color:var(--navbar-menu-link-border-color--hover, var(--navbar-menu-link-border-color));color:var(--navbar-menu-link-color--hover, var(--navbar-menu-link-color));-webkit-text-decoration:var(--navbar-menu-link-text-decoration--hover, var(--navbar-menu-link-text-decoration));text-decoration:var(--navbar-menu-link-text-decoration--hover, var(--navbar-menu-link-text-decoration));-webkit-text-decoration-color:var(--navbar-menu-link-text-decoration-color--hover, var(--navbar-menu-link-text-decoration-color));text-decoration-color:var(--navbar-menu-link-text-decoration-color--hover, var(--navbar-menu-link-text-decoration-color))}.app-nav>ul>li ul a.active{background:var(--navbar-menu-link-background--active, var(--navbar-menu-link-background));border-style:var(--navbar-menu-link-border-style--active, var(--navbar-menu-link-border-style));border-color:var(--navbar-menu-link-border-color--active, var(--navbar-menu-link-border-color));color:var(--navbar-menu-link-color--active, var(--navbar-menu-link-color));-webkit-text-decoration:var(--navbar-menu-link-text-decoration--active, var(--navbar-menu-link-text-decoration));text-decoration:var(--navbar-menu-link-text-decoration--active, var(--navbar-menu-link-text-decoration));-webkit-text-decoration-color:var(--navbar-menu-link-text-decoration-color--active, var(--navbar-menu-link-text-decoration-color));text-decoration-color:var(--navbar-menu-link-text-decoration-color--active, var(--navbar-menu-link-text-decoration-color))}.app-nav>ul>li:hover ul,.app-nav>ul>li:focus ul,.app-nav>ul>li.focus-within ul{visibility:visible;opacity:1;transform:translate(50%, 0)}@media (min-width: 48em){nav.app-nav{margin-left:var(--sidebar-width)}}main{position:relative;overflow-x:hidden;min-height:100vh}.sidebar,.sidebar-toggle,.sidebar+.content{transition:all var(--sidebar-transition-duration) ease-out}@media (min-width: 48em){.sidebar+.content{margin-left:var(--sidebar-width)}}.sidebar{display:flex;flex-direction:column;position:fixed;z-index:10;top:0;right:100%;overflow-x:hidden;overflow-y:auto;height:100vh;width:var(--sidebar-width);padding:var(--sidebar-padding);border-width:var(--sidebar-border-width);border-style:solid;border-color:var(--sidebar-border-color);background:var(--sidebar-background)}.sidebar>h1{margin:0;margin:var(--sidebar-name-margin);padding:var(--sidebar-name-padding);background:var(--sidebar-name-background);color:var(--sidebar-name-color);font-family:var(--sidebar-name-font-family);font-size:var(--sidebar-name-font-size);font-weight:var(--sidebar-name-font-weight);text-align:var(--sidebar-name-text-align)}.sidebar>h1 img{max-width:100%}.sidebar>h1 .app-name-link{color:var(--sidebar-name-color)}body:not([data-platform^="Mac"]) .sidebar::-webkit-scrollbar{width:5px}body:not([data-platform^="Mac"]) .sidebar::-webkit-scrollbar-thumb{border-radius:50vw}@media (min-width: 48em){.sidebar{position:absolute;transform:translateX(var(--sidebar-width))}}@media print{.sidebar{display:none}}.sidebar-nav,.sidebar nav{order:1;margin:var(--sidebar-nav-margin);padding:var(--sidebar-nav-padding);background:var(--sidebar-nav-background)}.sidebar-nav ul,.sidebar nav ul{margin:0;padding:0;list-style:none}.sidebar-nav ul ul,.sidebar nav ul ul{margin-left:var(--sidebar-nav-indent)}.sidebar-nav a,.sidebar nav a{display:block;overflow:hidden;margin:var(--sidebar-nav-link-margin);padding:var(--sidebar-nav-link-padding);border-width:var(--sidebar-nav-link-border-width, 0);border-style:var(--sidebar-nav-link-border-style);border-color:var(--sidebar-nav-link-border-color);border-radius:var(--sidebar-nav-link-border-radius);background-color:var(--sidebar-nav-link-background-color);background-image:var(--sidebar-nav-link-background-image);background-position:var(--sidebar-nav-link-background-position);background-repeat:var(--sidebar-nav-link-background-repeat);background-size:var(--sidebar-nav-link-background-size);color:var(--sidebar-nav-link-color);font-weight:var(--sidebar-nav-link-font-weight);white-space:nowrap;-webkit-text-decoration:var(--sidebar-nav-link-text-decoration);text-decoration:var(--sidebar-nav-link-text-decoration);-webkit-text-decoration-color:var(--sidebar-nav-link-text-decoration-color);text-decoration-color:var(--sidebar-nav-link-text-decoration-color);text-overflow:ellipsis;transition:var(--sidebar-nav-link-transition)}.sidebar-nav a img,.sidebar nav a img{margin-top:-0.25em;vertical-align:middle}.sidebar-nav a img:first-child,.sidebar nav a img:first-child{margin-right:0.5em}.sidebar-nav a:hover,.sidebar nav a:hover{border-width:var(--sidebar-nav-link-border-width--hover, var(--sidebar-nav-link-border-width, 0));border-style:var(--sidebar-nav-link-border-style--hover, var(--sidebar-nav-link-border-style));border-color:var(--sidebar-nav-link-border-color--hover, var(--sidebar-nav-link-border-color));background-color:var(--sidebar-nav-link-background-color--hover, var(--sidebar-nav-link-background-color));background-image:var(--sidebar-nav-link-background-image--hover, var(--sidebar-nav-link-background-image));background-position:var(--sidebar-nav-link-background-position--hover, var(--sidebar-nav-link-background-position));background-size:var(--sidebar-nav-link-background-size--hover, var(--sidebar-nav-link-background-size));color:var(--sidebar-nav-link-color--hover, var(--sidebar-nav-link-color));font-weight:var(--sidebar-nav-link-font-weight--hover, var(--sidebar-nav-link-font-weight));-webkit-text-decoration:var(--sidebar-nav-link-text-decoration--hover, var(--sidebar-nav-link-text-decoration));text-decoration:var(--sidebar-nav-link-text-decoration--hover, var(--sidebar-nav-link-text-decoration));-webkit-text-decoration-color:var(--sidebar-nav-link-text-decoration-color);text-decoration-color:var(--sidebar-nav-link-text-decoration-color)}.sidebar-nav ul>li>span,.sidebar-nav ul>li>strong,.sidebar nav ul>li>span,.sidebar nav ul>li>strong{display:block;margin:var(--sidebar-nav-strong-margin);padding:var(--sidebar-nav-strong-padding);border-width:var(--sidebar-nav-strong-border-width, 0);border-style:solid;border-color:var(--sidebar-nav-strong-border-color);color:var(--sidebar-nav-strong-color);font-size:var(--sidebar-nav-strong-font-size);font-weight:var(--sidebar-nav-strong-font-weight);text-transform:var(--sidebar-nav-strong-text-transform)}.sidebar-nav ul>li>span+ul,.sidebar-nav ul>li>strong+ul,.sidebar nav ul>li>span+ul,.sidebar nav ul>li>strong+ul{margin-left:0}.sidebar-nav ul>li:first-child>span,.sidebar-nav ul>li:first-child>strong,.sidebar nav ul>li:first-child>span,.sidebar nav ul>li:first-child>strong{margin-top:0}.sidebar-nav::-webkit-scrollbar,.sidebar nav::-webkit-scrollbar{width:0}@supports (width: env(safe-area-inset)){@media only screen and (orientation: landscape){.sidebar-nav,.sidebar nav{margin-left:calc(env(safe-area-inset-left) / 2)}}}.sidebar-nav li>a:before,.sidebar-nav li>strong:before{display:inline-block}.sidebar-nav li>a{background-repeat:var(--sidebar-nav-pagelink-background-repeat);background-size:var(--sidebar-nav-pagelink-background-size)}.sidebar-nav li>a[href^="#/"]:not([href*="?id="]){transition:var(--sidebar-nav-pagelink-transition)}.sidebar-nav li>a[href^="#/"]:not([href*="?id="]),.sidebar-nav li>a[href^="#/"]:not([href*="?id="]) ~ ul a{padding:var(--sidebar-nav-pagelink-padding, var(--sidebar-nav-link-padding))}.sidebar-nav li>a[href^="#/"]:not([href*="?id="]):only-child{background-image:var(--sidebar-nav-pagelink-background-image);background-position:var(--sidebar-nav-pagelink-background-position)}.sidebar-nav li>a[href^="#/"]:not([href*="?id="]):not(:only-child){background-image:var(--sidebar-nav-pagelink-background-image--loaded, var(--sidebar-nav-pagelink-background-image));background-position:var(--sidebar-nav-pagelink-background-position--loaded, var(--sidebar-nav-pagelink-background-image))}.sidebar-nav li.active>a,.sidebar-nav li.collapse>a{border-width:var(--sidebar-nav-link-border-width--active, var(--sidebar-nav-link-border-width));border-style:var(--sidebar-nav-link-border-style--active, var(--sidebar-nav-link-border-style));border-color:var(--sidebar-nav-link-border-color--active, var(--sidebar-nav-link-border-color));background-color:var(--sidebar-nav-link-background-color--active, var(--sidebar-nav-link-background-color));background-image:var(--sidebar-nav-link-background-image--active, var(--sidebar-nav-link-background-image));background-position:var(--sidebar-nav-link-background-position--active, var(--sidebar-nav-link-background-position));background-size:var(--sidebar-nav-link-background-size--active, var(--sidebar-nav-link-background-size));color:var(--sidebar-nav-link-color--active, var(--sidebar-nav-link-color));font-weight:var(--sidebar-nav-link-font-weight--active, var(--sidebar-nav-link-font-weight));-webkit-text-decoration:var(--sidebar-nav-link-text-decoration--active, var(--sidebar-nav-link-text-decoration));text-decoration:var(--sidebar-nav-link-text-decoration--active, var(--sidebar-nav-link-text-decoration));-webkit-text-decoration-color:var(--sidebar-nav-link-text-decoration-color);text-decoration-color:var(--sidebar-nav-link-text-decoration-color)}.sidebar-nav li.active>a[href^="#/"]:not([href*="?id="]):not(:only-child){background-image:var(--sidebar-nav-pagelink-background-image--active, var(--sidebar-nav-pagelink-background-image--loaded, var(--sidebar-nav-pagelink-background-image)));background-position:var(--sidebar-nav-pagelink-background-position--active, var(--sidebar-nav-pagelink-background-position--loaded, var(--sidebar-nav-pagelink-background-image)))}.sidebar-nav li.collapse>a[href^="#/"]:not([href*="?id="]):not(:only-child){background-image:var(--sidebar-nav-pagelink-background-image--collapse, var(--sidebar-nav-pagelink-background-image--loaded, var(--sidebar-nav-pagelink-background-image)));background-position:var(--sidebar-nav-pagelink-background-position--collapse, var(--sidebar-nav-pagelink-background-position--loaded, var(--sidebar-nav-pagelink-background-image)))}.sidebar-nav li.collapse .app-sub-sidebar{display:none}.sidebar-nav>ul>li>a:before{content:var(--sidebar-nav-link-before-content-l1, var(--sidebar-nav-link-before-content));margin:var(--sidebar-nav-link-before-margin-l1, var(--sidebar-nav-link-before-margin));color:var(--sidebar-nav-link-before-color-l1, var(--sidebar-nav-link-before-color))}.sidebar-nav>ul>li.active>a:before{content:var(--sidebar-nav-link-before-content-l1--active, var(--sidebar-nav-link-before-content--active, var(--sidebar-nav-link-before-content-l1, var(--sidebar-nav-link-before-content))));color:var(--sidebar-nav-link-before-color-l1--active, var(--sidebar-nav-link-before-color--active, var(--sidebar-nav-link-before-color-l1, var(--sidebar-nav-link-before-color))))}.sidebar-nav>ul>li>ul>li>a:before{content:var(--sidebar-nav-link-before-content-l2, var(--sidebar-nav-link-before-content));margin:var(--sidebar-nav-link-before-margin-l2, var(--sidebar-nav-link-before-margin));color:var(--sidebar-nav-link-before-color-l2, var(--sidebar-nav-link-before-color))}.sidebar-nav>ul>li>ul>li.active>a:before{content:var(--sidebar-nav-link-before-content-l2--active, var(--sidebar-nav-link-before-content--active, var(--sidebar-nav-link-before-content-l2, var(--sidebar-nav-link-before-content))));color:var(--sidebar-nav-link-before-color-l2--active, var(--sidebar-nav-link-before-color--active, var(--sidebar-nav-link-before-color-l2, var(--sidebar-nav-link-before-color))))}.sidebar-nav>ul>li>ul>li>ul>li>a:before{content:var(--sidebar-nav-link-before-content-l3, var(--sidebar-nav-link-before-content));margin:var(--sidebar-nav-link-before-margin-l3, var(--sidebar-nav-link-before-margin));color:var(--sidebar-nav-link-before-color-l3, var(--sidebar-nav-link-before-color))}.sidebar-nav>ul>li>ul>li>ul>li.active>a:before{content:var(--sidebar-nav-link-before-content-l3--active, var(--sidebar-nav-link-before-content--active, var(--sidebar-nav-link-before-content-l3, var(--sidebar-nav-link-before-content))));color:var(--sidebar-nav-link-before-color-l3--active, var(--sidebar-nav-link-before-color--active, var(--sidebar-nav-link-before-color-l3, var(--sidebar-nav-link-before-color))))}.sidebar-nav>ul>li>ul>li>ul>li>ul>li>a:before{content:var(--sidebar-nav-link-before-content-l4, var(--sidebar-nav-link-before-content));margin:var(--sidebar-nav-link-before-margin-l4, var(--sidebar-nav-link-before-margin));color:var(--sidebar-nav-link-before-color-l4, var(--sidebar-nav-link-before-color))}.sidebar-nav>ul>li>ul>li>ul>li>ul>li.active>a:before{content:var(--sidebar-nav-link-before-content-l4--active, var(--sidebar-nav-link-before-content--active, var(--sidebar-nav-link-before-content-l4, var(--sidebar-nav-link-before-content))));color:var(--sidebar-nav-link-before-color-l4--active, var(--sidebar-nav-link-before-color--active, var(--sidebar-nav-link-before-color-l4, var(--sidebar-nav-link-before-color))))}.sidebar-nav>:last-child{margin-bottom:2rem}.sidebar-toggle,.sidebar-toggle-button{width:var(--sidebar-toggle-width);outline:none}.sidebar-toggle{position:fixed;z-index:11;top:0;bottom:0;left:0;max-width:40px;margin:0;padding:0;border:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.sidebar-toggle .sidebar-toggle-button{position:absolute;top:var(--sidebar-toggle-offset-top);left:var(--sidebar-toggle-offset-left);height:var(--sidebar-toggle-height);border-radius:var(--sidebar-toggle-border-radius);border-width:var(--sidebar-toggle-border-width);border-style:var(--sidebar-toggle-border-style);border-color:var(--sidebar-toggle-border-color);background:var(--sidebar-toggle-background, transparent);color:var(--sidebar-toggle-icon-color)}.sidebar-toggle span{position:absolute;top:calc(50% - (var(--sidebar-toggle-icon-stroke-width) / 2));left:calc(50% - (var(--sidebar-toggle-icon-width) / 2));height:var(--sidebar-toggle-icon-stroke-width);width:var(--sidebar-toggle-icon-width);background-color:currentColor}.sidebar-toggle span:nth-child(1){margin-top:calc(0px - (var(--sidebar-toggle-icon-height) / 2))}.sidebar-toggle span:nth-child(3){margin-top:calc((var(--sidebar-toggle-icon-height) / 2))}@media (min-width: 48em){.sidebar-toggle{position:absolute;overflow:visible;top:var(--sidebar-toggle-offset-top);bottom:auto;left:0;height:var(--sidebar-toggle-height);transform:translateX(var(--sidebar-width))}.sidebar-toggle .sidebar-toggle-button{top:0}}@media print{.sidebar-toggle{display:none}}@media (max-width: 47.99em){body.close .sidebar,body.close .sidebar-toggle,body.close .sidebar+.content{transform:translateX(var(--sidebar-width))}}@media (min-width: 48em){body.close .sidebar+.content{transform:translateX(0)}}@media (max-width: 47.99em){body.close nav.app-nav,body.close .github-corner{display:none}}@media (min-width: 48em){body.close .sidebar,body.close .sidebar-toggle{transform:translateX(0)}}@media (min-width: 48em){body.close nav.app-nav{margin-left:0}}@media (max-width: 47.99em){body.close .sidebar-toggle{width:100%;max-width:none}body.close .sidebar-toggle span{margin-top:0}body.close .sidebar-toggle span:nth-child(1){transform:rotate(45deg)}body.close .sidebar-toggle span:nth-child(2){display:none}body.close .sidebar-toggle span:nth-child(3){transform:rotate(-45deg)}}@media (min-width: 48em){body.close .sidebar+.content{margin-left:0}}@media (min-width: 48em){body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}}body .docsify-copy-code-button,body .docsify-copy-code-button:after{border-radius:var(--border-radius-m, 0);border-top-left-radius:0;border-bottom-right-radius:0;background:var(--copycode-background);color:var(--copycode-color)}body .docsify-copy-code-button span{border-radius:var(--border-radius-s, 0)}body .docsify-pagination-container{border-top:var(--pagination-border-top);color:var(--pagination-color)}body .pagination-item-label{font-size:var(--pagination-label-font-size)}body .pagination-item-label svg{color:var(--pagination-label-color);height:var(--pagination-chevron-height);stroke:var(--pagination-chevron-stroke);stroke-linecap:var(--pagination-chevron-stroke-linecap);stroke-linejoin:var(--pagination-chevron-stroke-linecap);stroke-width:var(--pagination-chevron-stroke-width)}body .pagination-item-title{color:var(--pagination-title-color);font-size:var(--pagination-title-font-size)}body .app-name.hide{display:block}body .sidebar{padding:var(--sidebar-padding)}.sidebar .search{margin:0;padding:0;border:0}.sidebar .search input{padding:0;line-height:1;font-size:inherit}.sidebar .search .clear-button{width:auto}.sidebar .search .clear-button svg{transform:scale(1)}.sidebar .search .matching-post{border:none}.sidebar .search p{font-size:inherit}.sidebar .search{order:var(--search-flex-order);margin:var(--search-margin);padding:var(--search-padding);background:var(--search-background)}.sidebar .search a{color:inherit}.sidebar .search h2{margin:var(--search-result-heading-margin);font-size:var(--search-result-heading-font-size);font-weight:var(--search-result-heading-font-weight);color:var(--search-result-heading-color)}.sidebar .search .input-wrap{margin:var(--search-input-margin);background-color:var(--search-input-background-color);border-width:var(--search-input-border-width, 0);border-style:solid;border-color:var(--search-input-border-color);border-radius:var(--search-input-border-radius)}.sidebar .search input[type="search"]{min-width:0;padding:var(--search-input-padding);border:none;background-color:transparent;background-image:var(--search-input-background-image);background-position:var(--search-input-background-position);background-repeat:var(--search-input-background-repeat);background-size:var(--search-input-background-size);font-size:var(--search-input-font-size);color:var(--search-input-color);transition:var(--search-input-transition)}.sidebar .search input[type="search"]::-ms-clear{display:none}.sidebar .search input[type="search"]::-moz-placeholder{color:var(--search-input-placeholder-color, gray)}.sidebar .search input[type="search"]:-ms-input-placeholder{color:var(--search-input-placeholder-color, gray)}.sidebar .search input[type="search"]::placeholder{color:var(--search-input-placeholder-color, gray)}.sidebar .search input[type="search"]::-webkit-input-placeholder{line-height:normal}.sidebar .search input[type="search"]:focus{background-color:var(--search-input-background-color--focus, var(--search-input-background-color));background-image:var(--search-input-background-image--focus, var(--search-input-background-image));background-position:var(--search-input-background-position--focus, var(--search-input-background-position));background-size:var(--search-input-background-size--focus, var(--search-input-background-size))}@supports (width: env(safe-area-inset)){@media only screen and (orientation: landscape){.sidebar .search input[type="search"]{margin-left:calc(env(safe-area-inset-left) / 2)}}}.sidebar .search p{overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sidebar .search p:empty{text-align:center}.sidebar .search .clear-button{margin:0 15px 0 0;padding:0;border:none;line-height:1;background:transparent;cursor:pointer}.sidebar .search .clear-button svg circle{fill:var(--search-clear-icon-color1, gray)}.sidebar .search .clear-button svg path{stroke:var(--search-clear-icon-color2, #fff)}.sidebar .search.show ~ *:not(h1){display:none}.sidebar .search .results-panel{display:none;color:var(--search-result-item-color);font-size:var(--search-result-item-font-size);font-weight:var(--search-result-item-font-weight)}.sidebar .search .results-panel.show{display:block}.sidebar .search .matching-post{margin:var(--search-result-item-margin);padding:var(--search-result-item-padding)}.sidebar .search .matching-post,.sidebar .search .matching-post:last-child{border-width:var(--search-result-item-border-width, 0) !important;border-style:var(--search-result-item-border-style);border-color:var(--search-result-item-border-color)}.sidebar .search .matching-post p{margin:0}.sidebar .search .search-keyword{margin:var(--search-result-keyword-margin);padding:var(--search-result-keyword-padding);border-radius:var(--search-result-keyword-border-radius);background-color:var(--search-result-keyword-background);color:var(--search-result-keyword-color, currentColor);font-style:normal;font-weight:var(--search-result-keyword-font-weight)}.medium-zoom-overlay,.medium-zoom-image--open,.medium-zoom-image--opened{z-index:2147483646 !important}.medium-zoom-overlay{background:var(--zoomimage-overlay-background) !important}:root{--mono-hue: 113;--mono-saturation: 0%;--mono-shade3: hsl(var(--mono-hue), var(--mono-saturation), 20%);--mono-shade2: hsl(var(--mono-hue), var(--mono-saturation), 30%);--mono-shade1: hsl(var(--mono-hue), var(--mono-saturation), 40%);--mono-base: hsl(var(--mono-hue), var(--mono-saturation), 50%);--mono-tint1: hsl(var(--mono-hue), var(--mono-saturation), 70%);--mono-tint2: hsl(var(--mono-hue), var(--mono-saturation), 89%);--mono-tint3: hsl(var(--mono-hue), var(--mono-saturation), 97%);--theme-hue: 204;--theme-saturation: 90%;--theme-lightness: 45%;--theme-color: hsl(var(--theme-hue), var(--theme-saturation), var(--theme-lightness));--modular-scale: 1.333;--modular-scale--2: calc(var(--modular-scale--1) / var(--modular-scale));--modular-scale--1: calc(var(--modular-scale-1) / var(--modular-scale));--modular-scale-1: 1rem;--modular-scale-2: calc(var(--modular-scale-1) * var(--modular-scale));--modular-scale-3: calc(var(--modular-scale-2) * var(--modular-scale));--modular-scale-4: calc(var(--modular-scale-3) * var(--modular-scale));--modular-scale-5: calc(var(--modular-scale-4) * var(--modular-scale));--font-size-xxxl: var(--modular-scale-5);--font-size-xxl: var(--modular-scale-4);--font-size-xl: var(--modular-scale-3);--font-size-l: var(--modular-scale-2);--font-size-m: var(--modular-scale-1);--font-size-s: var(--modular-scale--1);--font-size-xs: var(--modular-scale--2);--duration-slow: 1s;--duration-medium: 0.5s;--duration-fast: 0.25s;--spinner-size: 60px;--spinner-track-width: 4px;--spinner-track-color: rgba(0, 0, 0, 0.15);--spinner-transition-duration: var(--duration-medium)}:root{--base-background-color: #fff;--base-color: var(--mono-shade2);--base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--base-font-size: 16px;--base-font-weight: normal;--base-line-height: 1.7;--emoji-size: calc(var(--base-line-height) * 1em);--hr-border: 1px solid var(--mono-tint2);--mark-background: #ffecb3;--pre-font-family: var(--code-font-family);--pre-font-size: var(--code-font-size);--pre-font-weight: normal;--selection-color: #b4d5fe;--small-font-size: var(--font-size-s);--strong-color: var(--heading-color);--strong-font-weight: 600;--subsup-font-size: var(--font-size-s)}:root{--content-max-width: 55em;--blockquote-background: var(--mono-tint3);--blockquote-border-style: solid;--blockquote-border-radius: var(--border-radius-m);--blockquote-em-font-weight: normal;--blockquote-font-weight: normal;--code-font-family: Inconsolata, Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;--code-font-size: calc(var(--font-size-m) * 0.95);--code-font-weight: normal;--code-tab-size: 4;--code-block-border-radius: var(--border-radius-m);--code-block-line-height: var(--base-line-height);--code-block-margin: 1em 0;--code-block-padding: 1.75em 1.5em 1.5em 1.5em;--code-inline-background: var(--code-theme-background);--code-inline-border-radius: var(--border-radius-s);--code-inline-color: var(--code-theme-text);--code-inline-margin: 0 0.15em;--code-inline-padding: 0.125em 0.4em;--code-theme-background: var(--mono-tint3);--heading-color: var(--mono-shade3);--heading-margin: 2.5rem 0 0;--heading-h1-border-style: solid;--heading-h1-font-size: var(--font-size-xxl);--heading-h2-border-style: solid;--heading-h2-font-size: var(--font-size-xl);--heading-h3-border-style: solid;--heading-h3-font-size: var(--font-size-l);--heading-h4-border-style: solid;--heading-h4-font-size: var(--font-size-m);--heading-h5-border-style: solid;--heading-h5-font-size: var(--font-size-s);--heading-h6-border-style: solid;--heading-h6-font-size: var(--font-size-xs);--kbd-background: var(--mono-tint3);--kbd-border-radius: var(--border-radius-m);--kbd-margin: 0 0.3em;--kbd-min-width: 2.5em;--kbd-padding: 0.65em 0.5em;--link-text-decoration: underline;--notice-background: var(--mono-tint3);--notice-border-radius: var(--border-radius-m);--notice-border-style: solid;--notice-font-weight: normal;--notice-padding: 1em 1.5em;--notice-before-font-weight: normal;--table-cell-padding: 0.75em 0.5em;--table-head-border-color: var(--table-cell-border-color);--table-head-font-weight: var(--strong-font-weight);--table-row-odd-background: var(--mono-tint3)}:root{--cover-margin: 0 auto;--cover-max-width: 40em;--cover-text-align: center;--cover-background-color: var(--base-background-color);--cover-background-mask-color: var(--base-background-color);--cover-background-mask-opacity: 0.8;--cover-background-position: center center;--cover-background-repeat: no-repeat;--cover-background-size: cover;--cover-blockquote-font-size: var(--font-size-l);--cover-border-color: var(--theme-color);--cover-button-border: 1px solid var(--theme-color);--cover-button-border-radius: var(--border-radius-m);--cover-button-color: var(--theme-color);--cover-button-padding: 0.5em 2rem;--cover-button-text-decoration: none;--cover-button-transition: all var(--duration-fast) ease-in-out;--cover-button-primary-background: var(--theme-color);--cover-button-primary-border: 1px solid var(--theme-color);--cover-button-primary-color: #fff;--cover-heading-color: var(--theme-color);--cover-heading-font-size: var(--font-size-xxl);--cover-heading-font-weight: normal;--cover-link-text-decoration: underline }:root{--navbar-root-border-style: solid;--navbar-root-margin: 0 0 0 1.5em;--navbar-root-transition: all var(--duration-fast);--navbar-menu-background: var(--base-background-color);--navbar-menu-border-radius: var(--border-radius-m);--navbar-menu-box-shadow: rgba(45,45,45,0.05) 0px 0px 1px, rgba(49,49,49,0.05) 0px 1px 2px, rgba(42,42,42,0.05) 0px 2px 4px, rgba(32,32,32,0.05) 0px 4px 8px, rgba(49,49,49,0.05) 0px 8px 16px, rgba(35,35,35,0.05) 0px 16px 32px;--navbar-menu-padding: 0.5em;--navbar-menu-transition: all var(--duration-fast);--navbar-menu-link-border-style: solid;--navbar-menu-link-margin: 0.75em 0.5em;--navbar-menu-link-padding: 0.2em 0 }:root{--copycode-background: #808080;--copycode-color: #fff}:root{--docsifytabs-border-color: var(--mono-tint2);--docsifytabs-border-radius-px: var(--border-radius-s);--docsifytabs-tab-background: var(--mono-tint3);--docsifytabs-tab-color: var(--mono-tint1)}:root{--pagination-border-top: 1px solid var(--mono-tint2);--pagination-chevron-height: 0.8em;--pagination-chevron-stroke: currentColor;--pagination-chevron-stroke-linecap: round;--pagination-chevron-stroke-width: 1px;--pagination-label-font-size: var(--font-size-s);--pagination-title-font-size: var(--font-size-l)}:root{--search-margin: 1.5rem 0 0;--search-input-background-repeat: no-repeat;--search-input-border-color: var(--mono-tint1);--search-input-border-width: 1px;--search-input-padding: 0.5em;--search-flex-order: 1;--search-result-heading-color: var(--heading-color);--search-result-heading-font-size: var(--base-font-size);--search-result-heading-font-weight: normal;--search-result-heading-margin: 0 0 0.25em;--search-result-item-border-color: var(--mono-tint2);--search-result-item-border-style: solid;--search-result-item-border-width: 0 0 1px 0;--search-result-item-font-weight: normal;--search-result-item-padding: 1em 0;--search-result-keyword-background: var(--mark-background);--search-result-keyword-border-radius: var(--border-radius-s);--search-result-keyword-color: var(--mark-color);--search-result-keyword-font-weight: normal;--search-result-keyword-margin: 0 0.1em;--search-result-keyword-padding: 0.2em 0}:root{--zoomimage-overlay-background: rgba(0, 0, 0, 0.875)}:root{--sidebar-background: var(--base-background-color);--sidebar-border-width: 0;--sidebar-padding: 0 25px;--sidebar-transition-duration: var(--duration-fast);--sidebar-width: 17rem;--sidebar-name-font-size: var(--font-size-l);--sidebar-name-font-weight: normal;--sidebar-name-margin: 1.5rem 0 0;--sidebar-name-text-align: center;--sidebar-nav-strong-border-color: var(--sidebar-border-color);--sidebar-nav-strong-color: var(--heading-color);--sidebar-nav-strong-font-weight: var(--strong-font-weight);--sidebar-nav-strong-margin: 1.5em 0 0.5em;--sidebar-nav-strong-padding: 0.25em 0;--sidebar-nav-indent: 1em;--sidebar-nav-margin: 1.5rem 0 0;--sidebar-nav-link-border-style: solid;--sidebar-nav-link-border-width: 0;--sidebar-nav-link-color: var(--base-color);--sidebar-nav-link-font-weight: normal;--sidebar-nav-link-padding: 0.25em 0;--sidebar-nav-link-text-decoration--active: underline;--sidebar-nav-link-text-decoration--hover: underline;--sidebar-nav-link-before-margin: 0 0.35em 0 0;--sidebar-nav-pagelink-background-repeat: no-repeat;--sidebar-nav-pagelink-transition: var(--sidebar-nav-link-transition);--sidebar-toggle-border-radius: var(--border-radius-s);--sidebar-toggle-border-style: solid;--sidebar-toggle-border-width: 0;--sidebar-toggle-height: 36px;--sidebar-toggle-icon-color: var(--base-color);--sidebar-toggle-icon-height: 10px;--sidebar-toggle-icon-stroke-width: 1px;--sidebar-toggle-icon-width: 16px;--sidebar-toggle-offset-left: 0;--sidebar-toggle-offset-top: calc(35px - (var(--sidebar-toggle-height) / 2));--sidebar-toggle-width: 44px}:root{--code-theme-background: #f3f3f3;--code-theme-comment: #6e8090;--code-theme-function: #dd4a68;--code-theme-keyword: #07a;--code-theme-operator: #a67f59;--code-theme-punctuation: #999;--code-theme-selector: #690;--code-theme-tag: #905;--code-theme-text: #333;--code-theme-variable: #e90}:root{--border-radius-s: 2px;--border-radius-m: 4px;--border-radius-l: 8px;--strong-font-weight: 600;--blockquote-border-color: var(--theme-color);--blockquote-border-radius: 0 var(--border-radius-m) var(--border-radius-m) 0;--blockquote-border-width: 0 0 0 4px;--code-inline-background: var(--mono-tint2);--code-theme-background: var(--mono-tint3);--heading-font-weight: var(--strong-font-weight);--heading-h1-font-weight: 400;--heading-h2-font-weight: 400;--heading-h2-border-color: var(--mono-tint2);--heading-h2-border-width: 0 0 1px 0;--heading-h2-margin: 2.5rem 0 1.5rem;--heading-h2-padding: 0 0 1rem 0;--kbd-border: 1px solid var(--mono-tint2);--notice-border-radius: 0 var(--border-radius-m) var(--border-radius-m) 0;--notice-border-width: 0 0 0 4px;--notice-padding: 1em 1.5em 1em 3em;--notice-before-border-radius: 100%;--notice-before-font-weight: bold;--notice-before-height: 1.5em;--notice-before-left: 0.75em;--notice-before-line-height: 1.5;--notice-before-margin: 0 0.25em 0 0;--notice-before-position: absolute;--notice-before-width: var(--notice-before-height);--notice-important-background: hsl(340, 60%, 96%);--notice-important-border-color: hsl(340, 90%, 45%);--notice-important-before-background: var(--notice-important-border-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M10 14C10 15.1 9.1 16 8 16 6.9 16 6 15.1 6 14 6 12.9 6.9 12 8 12 9.1 12 10 12.9 10 14Z'/%3E%3Cpath d='M10 1.6C10 1.2 9.8 0.9 9.6 0.7 9.2 0.3 8.6 0 8 0 7.4 0 6.8 0.2 6.5 0.6 6.2 0.9 6 1.2 6 1.6 6 1.7 6 1.8 6 1.9L6.8 9.6C6.9 9.9 7 10.1 7.2 10.2 7.4 10.4 7.7 10.5 8 10.5 8.3 10.5 8.6 10.4 8.8 10.3 9 10.1 9.1 9.9 9.2 9.6L10 1.9C10 1.8 10 1.7 10 1.6Z'/%3E%3C/svg%3E") center / 0.875em no-repeat;--notice-important-before-color: #fff;--notice-important-before-content: "";--notice-tip-background: hsl(204, 60%, 96%);--notice-tip-border-color: hsl(204, 90%, 45%);--notice-tip-before-background: var(--notice-tip-border-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M9.1 0C10.2 0 10.7 0.7 10.7 1.6 10.7 2.6 9.8 3.6 8.6 3.6 7.6 3.6 7 3 7 2 7 1.1 7.7 0 9.1 0Z'/%3E%3Cpath d='M5.8 16C5 16 4.4 15.5 5 13.2L5.9 9.1C6.1 8.5 6.1 8.2 5.9 8.2 5.7 8.2 4.6 8.6 3.9 9.1L3.5 8.4C5.6 6.6 7.9 5.6 8.9 5.6 9.8 5.6 9.9 6.6 9.5 8.2L8.4 12.5C8.2 13.2 8.3 13.5 8.5 13.5 8.7 13.5 9.6 13.2 10.4 12.5L10.9 13.2C8.9 15.2 6.7 16 5.8 16Z'/%3E%3C/svg%3E") center / 0.875em no-repeat;--notice-tip-before-color: #fff;--notice-tip-before-content: "";--table-cell-border-color: var(--mono-tint2);--table-cell-border-width: 1px 0;--cover-background-color: hsl(var(--theme-hue), 25%, 60%);--cover-background-image: radial-gradient(ellipse at center 115%, rgba(255, 255, 255, 0.9), transparent);--cover-blockquote-color: var(--strong-color);--cover-heading-color: #fff;--cover-heading-font-size-max: 56;--cover-heading-font-size-min: 34;--cover-heading-font-weight: 200;--navbar-root-color--active: var(--theme-color);--navbar-menu-border-radius: var(--border-radius-m);--navbar-menu-root-background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.6' height='6' viewBox='0 0 9.6 6'%3E%3Cpath d='M1.5 1.5l3.3 3 3.3-3' stroke-width='1.5' stroke='rgb%28179, 179, 179%29' fill='none' stroke-linecap='square' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") right no-repeat;--navbar-menu-root-padding: 0 18px 0 0;--search-input-background-color: #fff;--search-input-background-image: url("data:image/svg+xml,%3Csvg height='20px' width='20px' viewBox='0 0 24 24' fill='none' stroke='rgba(0, 0, 0, 0.3)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' preserveAspectRatio='xMidYMid meet' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5' vector-effect='non-scaling-stroke'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='15.8' y2='15.8' vector-effect='non-scaling-stroke'%3E%3C/line%3E%3C/svg%3E");--search-input-background-position: 21px center;--search-input-border-color: var(--sidebar-border-color);--search-input-border-width: 1px 0;--search-input-margin: 0 -25px;--search-input-padding: 0.65em 1em 0.65em 50px;--search-input-placeholder-color: rgba(0, 0, 0, 0.4);--search-clear-icon-color1: rgba(0, 0, 0, 0.3);--search-result-heading-font-weight: var(--strong-font-weight);--search-result-item-border-color: var(--sidebar-border-color);--search-result-keyword-border-radius: var(--border-radius-s);--sidebar-background: var(--mono-tint3);--sidebar-border-color: var(--mono-tint2);--sidebar-border-width: 0 1px 0 0;--sidebar-name-color: var(--theme-color);--sidebar-name-font-weight: 300;--sidebar-nav-strong-border-width: 0 0 1px 0;--sidebar-nav-strong-font-size: smaller;--sidebar-nav-strong-margin: 2em -25px 0.75em 0;--sidebar-nav-strong-padding: 0.25em 0 0.75em 0;--sidebar-nav-strong-text-transform: uppercase;--sidebar-nav-link-border-color: transparent;--sidebar-nav-link-border-color--active: var(--theme-color);--sidebar-nav-link-border-width: 0 4px 0 0;--sidebar-nav-link-color--active: var(--theme-color);--sidebar-nav-link-margin: 0 -25px 0 0;--sidebar-nav-link-text-decoration: none;--sidebar-nav-link-text-decoration--active: none;--sidebar-nav-link-text-decoration--hover: underline;--sidebar-nav-link-before-content-l3: '-';--sidebar-nav-pagelink-background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11.2' viewBox='0 0 7 11.2'%3E%3Cpath d='M1.5 1.5l4 4.1 -4 4.1' stroke-width='1.5' stroke='rgb%28179, 179, 179%29' fill='none' stroke-linecap='square' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--sidebar-nav-pagelink-background-image--active: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.2' height='7' viewBox='0 0 11.2 7'%3E%3Cpath d='M1.5 1.5l4.1 4 4.1-4' stroke-width='1.5' stroke='rgb%2811, 135, 218%29' fill='none' stroke-linecap='square' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--sidebar-nav-pagelink-background-image--collapse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11.2' viewBox='0 0 7 11.2'%3E%3Cpath d='M1.5 1.5l4 4.1 -4 4.1' stroke-width='1.5' stroke='rgb%2811, 135, 218%29' fill='none' stroke-linecap='square' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--sidebar-nav-pagelink-background-image--loaded: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.2' height='7' viewBox='0 0 11.2 7'%3E%3Cpath d='M1.5 1.5l4.1 4 4.1-4' stroke-width='1.5' stroke='rgb%2811, 135, 218%29' fill='none' stroke-linecap='square' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");--sidebar-nav-pagelink-background-position: 3px center;--sidebar-nav-pagelink-background-position--active: left center;--sidebar-nav-pagelink-background-position--collapse: var(--sidebar-nav-pagelink-background-position);--sidebar-nav-pagelink-background-position--loaded: var(--sidebar-nav-pagelink-background-position--active);--sidebar-nav-pagelink-padding: 0.25em 0 0.25em 20px;--sidebar-nav-pagelink-transition: none;--sidebar-toggle-background: var(--sidebar-border-color);--sidebar-toggle-border-radius: 0 var(--border-radius-s) var(--border-radius-s) 0;--sidebar-toggle-width: 32px} +/*# sourceMappingURL=theme-simple.css.map */ \ No newline at end of file diff --git a/websites/help.studentsforfuture.info/streams/einfach.md b/websites/help.studentsforfuture.info/streams/einfach.md new file mode 100644 index 0000000..78ebcf3 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/einfach.md @@ -0,0 +1,142 @@ +# Stream: Zoom zu YouTube + +Die meisten einzelnen Zoom-Veranstaltungen lassen sich ohne Umwege direkt zur YouTube streamen +und die meisten Schritte dazu könnt ihr bereits im Vorfeld machen. + +Ein erweitertes Setup wie beispielsweise [hier mit dem Programm OBS Studio](streams/obs.md) braucht ihr +erst, wenn ihr +- Links, Bauchbinden, Logos etc. einblenden möchtet, +- längere Videos einspielen möchtet (die über die "Bildschirm Teilen" Funktion von Zoom zu sehr ruckeln), oder +- den Stream zwischendurch pausieren möchtet (z.B. mit einem Standbild), während im Zoom Meeting weiter geredet werden kann + +?> Mehr Infos zu Zoom gibt es auf der [Wiki-Seite zu Zoom](tools/zoom.md). Die Oberfläche von Zoom schaut je nach Account und aktivierten Funktionen anders aus, deswegen sind manche Screenshots nicht immer gleich. + +## Streams aktivieren +Sowohl in Zoom, als auch bei YouTube, muss Streaming aktiviert sein, bevor ihr es nutzen könnt. +Diese Schritte müsst ihr für jeden YouTube Kanal beziehungsweise Zoom Account **nur einmal +durchführen**. Wichtig ist aber, dass ihr das früh genug macht, denn bei YouTube müssen +Streams mindestens **24 Stunden vorher** aktiviert werden. + +#### YouTube +Livestreaming lässt sich von [YouTube Studio](https://studio.youtube.com) aus aktivieren. +Klicke dazu auf `Erstellen -> Livestream Starten`: + + + +Wenn Livestreaming noch nicht aktiviert wurde, erscheint eine Meldung: + + + +Mit Klick auf `Aktivieren` leitet YouTube dann durch die notwendigen Schritte. Insbesondere +muss eine Telefonnummer mit dem Kanal verknüpft werden. Nach 24 Stunden ist Livestreaming +dann verfügbar. + +Mehr Informationen gibt es auch noch auf der [Support Seite von YouTube](https://support.google.com/youtube/answer/2474026). + +#### Zoom +?> Voraussetzung, um mit Zoom streamen zu können, ist ein Pro-, Business-, Bildungs- +oder Enterprise-Account. Den Lizenztyp findest du in den Profileinstellungen. Mehr Informationen zu Streams gibt es auf der [Webseite von Zoom](https://support.zoom.us/hc/de/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service). + +Livestreaming muss in den Einstellungen von Zoom für deinen Account aktiviert werden. +Ziemlich weit unten findet sich dort ein Punkt zu Livestreams: + + + +Es reicht, `Benutzerdefinierter Live Streaming Service` auswählen, auch wenn ihr direkt zu +YouTube streamen wollt (Facebook vermutlich auch, noch nicht getestet). +Die Option `YouTube` verwendet einen Google-Account, und ist deswegen weniger flexibel. + +## Streams einrichten + +### 1. Stream auf YouTube erstellen +Neu Streams lassen sich von [YouTube Studio](https://studio.youtube.com) aus einrichten: + + + +Es öffnet sich das YouTube Live Studio unter dem Reiter `Verwalten`. +Von dort aus lässt sich mit Klick auf `Stream planen` ein neuer Stream erstellen. + + + +Eventuell öffnet sich ein Dialog, ob die Einstellungen von einem der letzten Streams +übernommen werden sollen. Im Zweifelsfall empfiehlt es sich, die Einstellungen zu übernehmen +(es wird dann auch der Streaming Key von diesem Stream übernommen). + + + +Im darauffolgenden Dialog könnt ihr die wichtigsten Daten zum Stream anpassen. + +- **Öffentlichkeit**: Wählt am besten zuerst `Nicht gelistet`, sobald ihr den Stream fertig + eingerichtet habt, könnt ihr ihn wieder auf `Öffentlich` stellen. +- **Datum**: Das angegebene Datum ist für YouTube nicht relevant, es erscheint lediglich auf der + Streaming Seite als Countdown. Theoretisch kann jeder Stream beliebig früher oder später + gestartet werden. +- **Zielgruppe**: Außer in Sonderfällen solltet ihr immer `Nein, es ist nicht speziell für + Kinder` auswählen, weil YouTube sonst Einschränkungen auf den Stream auferlegt (z.B. beim + Live Chat). + + + +Mit Klick auf `Stream erstellen` landet ihr in den detailierten Stream-Einstellungen. +Bei den meisten sollte die Standardeinstellung passen, folgendes wollt ihr aber vielleicht +anspassen: +- Die **Stream-Latenz** könnt ihr auf `niedrig` stellen +- Wenn ihr den Stream von **Zoom aus starten und beenden** möchtet, aktiviert die + Schalter bei `Automatisch starten` und `Automatisch beenden`. + +Abschließend müsst ihr noch Streamschlüssel / Streaming Key kopieren für Zoom. + + + +### 2. Stream auf Zoom einrichten +Es empfiehlt sich Streaming schon einzurichten, bevor das Meeting gestartet wurde. Es ist aber +auch noch möglich während des Meetings den Stream einzurichten. + +Für die Einrichtung vor dem Meeting finden sich die Einstellungen bei den Meeting-Details +(nicht Meeting-Einstellungen): + + + +Dort sollte es unten einen Abschnitt geben, um Livestreaming einzurichten. Der Abschnitt kann je nach Account anders aussehen: + + + +Beim Klick auf `Konfigurieren`/`Configure` oder Ähnlichem öffnet sich ein Dialog mit drei +Textfeldern: + + + +Hier kommen die Streaming-Daten rein: +- **Stream URL:** Bei YouTube ist das immer `rtmp://a.rtmp.youtube.com/live2` +- **Stream Key:** Hier kommt der Streaming Key aus YouTube (siehe oben) rein +- **Live Stream Seite URL:** Hier kommt die Seite rein, wo der Stream zu sehen ist: `https://youtube.com` + +## Starten + +Im Zoom Meeting kann der Host den Livestream unter +`Mehr -> Live auf benutzerdefiniertem Live Streaming Service` starten. + + + +Es öffnet sich im Browser eine Ladeansicht: + + + +Falls `Automatisch starten` in YouTube aktiviert ist (siehe oben), **seid ihr danach live!** + +Ansonsten könnt ihr im letzten Schritt jetzt auch noch den Stream in YouTube starten: + + + +## Beenden + +Falls `Automatisch beenden` in YouTube aktiviert ist, solltet ihr zuerst den Stream dort +beenden: + +
    + + +Danach – oder falls `Automatisch beenden` aktiviert ist direkt – könnt ihr +in Zoom den Stream beenden: + + diff --git a/websites/help.studentsforfuture.info/streams/obs.md b/websites/help.studentsforfuture.info/streams/obs.md new file mode 100644 index 0000000..6aa3310 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/obs.md @@ -0,0 +1,4 @@ +# Streams mit OBS + +[OBS Studio](https://obsproject.com/) ist eine kostenlose Open Source Software, +mit der Streams erstellt und gesteuert werden können. diff --git a/websites/help.studentsforfuture.info/streams/optimierungen.md b/websites/help.studentsforfuture.info/streams/optimierungen.md new file mode 100644 index 0000000..8c10182 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/optimierungen.md @@ -0,0 +1,27 @@ +# Ergänzungen / Optimierungen + +## NGINX RTMP + +### Recordings + +### Restreaming an mehrere Ziele + +## Mehrere Audiokanäle +Um z.B. gedolmetschte Übersetzungen anzubieten, braucht ihr mehrere Audiokanäle. +OBS hat zwar die Möglichkeit integriert, bis zu 6 verschiedene Kanäle zu verwenden, +allerdings kann nur einer davon gestreamt werden (weil die meisten RTMP Implementierungen +das nicht unterstützen). + +## Latenz +Typischerweise liegt die Gesamtlatenz im Bereich von 10s (Zoom -> YouTube) bis 15s (mit OBS). +Der Wert schwankt in der Praxis allerdings stark und kann sich zwischen Endgeräten +unterscheiden. +Eine kürzere Latenz bedeutet meistens geringere Stabilität. Deshalb haben wir bei YouTube +bisher nur die zweit-niedrigste Stufe (`gering`) gewählt. + +An manchen Punkten lässt sich die Latenz aber noch verbessern: + +- **Encoding:** In OBS kann das Encoding auf geringe Latenz optimiert werden. Das kann die Latenz von OBS zu YouTube um bis ca. 2s reduzieren (abhängig von der Keyframe Rate kann es mehr oder weniger sein, der Wert bezieht sich auf 2s Keyframe Rate). + Dazu könnt ihr in OBS unter `Datei->Einstellungen` und dann `Ausgabe->Streaming` beim Feld `x264-Optionen` eingeben: `-tune zerolatency` (Das Feld wird nur angezeigt, wenn der Encoder auf Software/x264 gestellt ist). +- **Input Buffer:** Aktuelle Versionen (v26) von OBS können beim `Media Source` Input das Buffering einstellen. Der Standard (auch bei älteren Versionen) ist 2MB. Bei einer guten Netzwerkverbindung kann das auf 1MB reduziert werden. 0MB ist zwar auch möglich, aber sehr instabil. + diff --git a/websites/help.studentsforfuture.info/streams/pcs-doc.md b/websites/help.studentsforfuture.info/streams/pcs-doc.md new file mode 100644 index 0000000..4fdefd1 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/pcs-doc.md @@ -0,0 +1,10 @@ +# Technische Dokumentation digitale PCS + +Bei der ersten PCS im November 2019 wurde bereits eine Veranstaltung +([der Lesch Vortrag](https://www.youtube.com/watch?v=dfEdT9vlebQ)) +gestreamt, allerdings ging das noch über ein lokales OBS direkt zu YouTube. +Erst ab der zweiten PCS gab es einen bundesweiten, durchgehenden Livestream, +in den viele einzelne Veranstaltungen integriert wurden. + +Der Bereich hier soll als Dokumentation dienen, wie das Setup im wesentlichen +aufgebaut war (und ist). diff --git a/websites/help.studentsforfuture.info/streams/pcs2.md b/websites/help.studentsforfuture.info/streams/pcs2.md new file mode 100644 index 0000000..b9acd54 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/pcs2.md @@ -0,0 +1,9 @@ +# Technik PCS 2.0 + +Zur ersten digital PCS war das hier der erste Entwurf, der so ähnlich auch umgesetzt wurde: + +Schema der Technik bei der PCS2.0 + + +... + diff --git a/websites/help.studentsforfuture.info/streams/pcs3.md b/websites/help.studentsforfuture.info/streams/pcs3.md new file mode 100644 index 0000000..c32dc18 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/pcs3.md @@ -0,0 +1,83 @@ +# Technik PCS 3.0 + +**Legende:** + +--- + + + +--- + + + +**Bekannte Latenzen:** + +| von | bis | Latenz | +| -------- | -------- | -------- | +| `Übersetzer*in` | `/audio` | ca. 1s | +| `/audio` | `OBS` | ca. 4-5s | + + + + +[1] Service: `rec-.service` +``` +.venv/bin/python3 -m c3lingo_mumble.recv_stdout mumble.octycs.eu | \ + ffmpeg -re -fflags nobuffer -probesize 32 -f s16le -ac 1 -ar 48000 -i pipe:0 \ + -filter_complex pan=7.1|BL=c0[a] -map [a] -c:a aac -ac 8 -ar 44100 \ + -f flv rtmp://localhost:1935/audio/ +``` + +[2] Datei: `/opt/forwarder.sh` +``` +ffmpeg -fflags nobuffer \ + -i rtmp://localhost:1935/input/$1 -c:v copy \ + -filter_complex "[a:0]pan=7.1|FL=c0|FR=c0" -c:a aac -ac 8 -ar 44100 \ + -f flv rtmp://localhost:1935/output/$1 +``` + +[3] (Bisher nur zwei Sprachen) Datei: `/opt/splitter.sh` +``` +ffmpeg -re -fflags nobuffer \ + -i rtmp://localhost:1935/split_in/live \ + -filter_complex \ + "[0:a]pan=stereo|c0=c0|c1=c1,aresample=async=1000[a0]; + [0:a]pan=stereo|c0=0.02*c0+0.98*c4|c1=0.02*c1+0.98*c4,aresample=async=1000[a1]" \ + -map 0:v -copyts -start_at_zero -vcodec copy \ + -map [a0] -c:a aac -ac 2 \ + -f flv rtmp://a.rtmp.youtube.com/live2/ \ + -map 0:v -copyts -start_at_zero -vcodec copy \ + -map [a1] -c:a aac -ac 2 \ + -f flv rtmp://a.rtmp.youtube.com/live2/ +``` + +[4] Die Streams von `/input` und `/output` sind funktional gleich, nur dass das Video bei `/output` 8 Kanäle hat und deswegen in OBS alle Kanäle angezeigt werden. Das ist nur relevant, falls die Kanäle in OBS anders gemixt werden mit dem rematrix Plugin. ~~Im Zweifel `/input` nehmen.~~ +Es scheint OBS hat Probleme mit Mono input im 7.1 Modus, deswegen besser `/output` nehmen. (Sollte das nicht möglich sein: unter `Advanced Audio Properties` das Häkchen bei `Downmix to Mono` aktivieren.) + +### Z.B. dann so konfiguriert in Nginx RTMP +```nginx +application input { + live on; + exec /opt/forwarder.sh $name; + exec_kill_signal term; + + record all; + record_path /opt/rec; + record_suffix -%Y-%m-%dT%T.flv; +} +``` + +und dann in `/opt/forwarder.sh`: +```bash +#!/bin/bash +on_die() { + pkill -KILL -P $$ +} +trap 'on_die' TERM + +ffmpeg -fflags nobuffer \ + -i rtmp://localhost:1935/input/$1 -c:v copy \ + -filter_complex "[a:0]pan=7.1|FL=c0|FR=c0" -c:a aac -ac 8 -ar 44100 \ + -f flv rtmp://localhost:1935/output/$1 & +wait +``` diff --git a/websites/help.studentsforfuture.info/streams/streams.md b/websites/help.studentsforfuture.info/streams/streams.md new file mode 100644 index 0000000..0be9a87 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/streams.md @@ -0,0 +1,9 @@ +# Streams + +Mit Streams könnt ihr eure Events einer größeren Zuschauerschaft eröffnen. +Dieser Wiki-Bereich soll euch dabei unterstützen einfache bis umfangreiche Streams +einzurichten. Für die digitale PCS dient er auch als technische Dokumentation. + +Wenn ihr Zoom verwendet, ist der einfachste Start von dort aus direkt zu streamen, +zum Beispiel zu YouTube. Das beschreibt der Leitfaden +[Einfache Streams: Zoom zu YouTube](streams/einfach.md). diff --git a/websites/help.studentsforfuture.info/streams/streamzoomrtpm.md b/websites/help.studentsforfuture.info/streams/streamzoomrtpm.md new file mode 100644 index 0000000..9cc0416 --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/streamzoomrtpm.md @@ -0,0 +1,66 @@ +# Stream: Zoom an PCS-Server (RTMP) + +Die meisten einzelnen Zoom-Veranstaltungen lassen sich ohne Umwege direkt zur YouTube streamen +und die meisten Schritte dazu könnt ihr bereits im Vorfeld machen. + +Ein erweitertes Setup wie beispielsweise [hier mit dem Programm OBS Studio](streams/obs.md) braucht ihr +erst, wenn ihr +- Links, Bauchbinden, Logos etc. einblenden möchtet, +- längere Videos einspielen möchtet (die über die "Bildschirm Teilen" Funktion von Zoom zu sehr ruckeln), oder +- den Stream zwischendurch pausieren möchtet (z.B. mit einem Standbild), während im Zoom Meeting weiter geredet werden kann + +?> Mehr Infos zu Zoom gibt es auf der [Wiki-Seite zu Zoom](tools/zoom.md). Die Oberfläche von Zoom schaut je nach Account und aktivierten Funktionen anders aus, deswegen sind manche Screenshots nicht immer gleich. + +#### Zoom +?> Voraussetzung, um mit Zoom streamen zu können, ist ein Pro-, Business-, Bildungs- +oder Enterprise-Account. Den Lizenztyp findest du in den Profileinstellungen. Mehr Informationen zu Streams gibt es auf der [Webseite von Zoom](https://support.zoom.us/hc/de/articles/115001777826-Live-Streaming-Meetings-or-Webinars-Using-a-Custom-Service). + +Livestreaming muss in den Einstellungen von Zoom für deinen Account aktiviert werden. +Ziemlich weit unten findet sich dort ein Punkt zu Livestreams: + + + +Es reicht, `Benutzerdefinierter Live Streaming Service` auswählen, auch wenn ihr direkt zu +YouTube streamen wollt (Facebook vermutlich auch, noch nicht getestet). +Die Option `YouTube` verwendet einen Google-Account, und ist deswegen weniger flexibel. + +### 2. Stream auf Zoom einrichten +Es empfiehlt sich Streaming schon einzurichten, bevor das Meeting gestartet wurde. +Es ist aber auch noch möglich während des Meetings den Stream einzurichten. + +Für die Einrichtung vor dem Meeting finden sich die Einstellungen bei den Meeting-Details +(nicht Meeting-Einstellungen): + + + +Dort sollte es unten einen Abschnitt geben, um Livestreaming einzurichten. Der Abschnitt kann je nach Account anders aussehen: + + + +Beim Klick auf `Konfigurieren`/`Configure` oder Ähnlichem öffnet sich ein Dialog mit drei +Textfeldern: + + + +Hier kommen die Streaming-Daten des PCS Technik-Servers rein: +- **Stream URL:** `rtmp://streams.4futu.re:1935/input` +- **Stream Key:** `1234` +- **Live Stream Seite URL:** `https://publicclimateschool.de` + +## Starten + +Im Zoom Meeting kann der Host den Livestream unter +`Mehr -> Live auf benutzerdefiniertem Live Streaming Service` starten. + + + +Es öffnet sich im Browser eine Ladeansicht: + + + +Falls `Automatisch starten` in streamt ihr an unseren Server Video und Ton und könnt Live geschaltet werden.** + + +## Beenden + +Auf Ende bei Streaming klicken oder Konferenz schließen / neustarten. \ No newline at end of file diff --git a/websites/help.studentsforfuture.info/streams/troubleshooting.md b/websites/help.studentsforfuture.info/streams/troubleshooting.md new file mode 100644 index 0000000..78c37dc --- /dev/null +++ b/websites/help.studentsforfuture.info/streams/troubleshooting.md @@ -0,0 +1,3 @@ +# Troubleshooting + +... diff --git a/websites/help.studentsforfuture.info/tools/attending.md b/websites/help.studentsforfuture.info/tools/attending.md new file mode 100644 index 0000000..9072b41 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/attending.md @@ -0,0 +1,32 @@ +# Attending.io + +[Attending.io](https://attending.io) ist eine Website, mit dem ihr einfach eine Anmeldung +für euer Event einrichten könnt. Das ist z.B. hilfreich wenn ihr die Teilnehmer:innenzahl +beschränken möchtet oder schon vorher wissen wie viele ungefähr kommen. +Attending.io ist kostenlos und erlaubt es auch, E-Mails an die Teilnehmenden zu schicken. + +Zur Anmeldung bei attending.io **benötigt ihr einen Twitter-Account**. Nutzt dafür am besten den Twitter-Account eurer OG, oder legt einen neuen PCS Account für eure OG an. Dabei ist zu beachten, dass für neue Twitter-Accounts mittlerweile eine Handynummer notwendig ist. + +Geht anschließend folgendermaßen vor: + +## Event anlegen + +- Titel, Ort und Zeit eintragen +- Kurzbeschreibung eintragen +- Public Climate School Logo einfügen +- Maximale Anzahl der Teilnehmer*innen einstellen +- Willkommensnachricht für Teilnehmer*innen eintragen + +## Teilnehmer*innen benachrichtigen + +Wenn ihr den Teilnehmer*innen beispielsweise Login Daten für euer Zoom Meeting schicken wollt könnt ihr entweder + +- **den Link in die Wilkommensnachricht eintragen** +- **allen Menschen, die sich für eure Events angemeldet haben eine eMail zukommen lassen** + +Für die **Mail-Option** geht ihr auf euer **Profil**, wählt von dort das entsprechende Event aus und anschließend **"Attendees"**. Dort könnt ihr **alle Teilnehmenden einsehen**, sowie eine **eMail an sie verschicken**. + +Achtet darauf, nicht unnötig viele Nachrichten zu versenden, damit die wichtigsten Nachrichten nicht im Spam landen. Ihr solltet auf jeden Fall **rechtzeitig alle zur Teilnahme am Event notwendigen Informationen mitsenden**. + +Das Bild zeigt die Startseite von attending.io + diff --git a/websites/help.studentsforfuture.info/tools/canva.md b/websites/help.studentsforfuture.info/tools/canva.md new file mode 100644 index 0000000..05b3dbd --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/canva.md @@ -0,0 +1,23 @@ +# Sharepics Erstellen mit Canva + +Alle bisherigen Sharepics, Plakate & Slides zur PCS [findet ihr gesammelt auf der StuFF-Website](https://studentsforfuture.info/public-climate-school/#downloads). Gerne ergänzen wir diese Sammlung noch um die schönsten Sharepics eurer OG. Sendet sie dafür einfach per Telegram in die [PCS Design Gruppe](https://t.me/joinchat/P1jHMkW76UrHcCd40VdvuQ). + + + +Um eure Events der Public Climate School zu bewerben, stellt euch die OG-Mainz außerdem eine Canva-Vorlage zur Verfügung, mit der ihr **ohne ein zusätzliches Programm** folgende PCS-Sharepics für eure OG erstellen könnt: + +- **[PCS Stundenplan](https://www.canva.com/design/DAD8tlZlfys/vLNJt5SloNpsI_T9Qxw2cw/view?utm_content=DAD8tlZlfys&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton&mode=preview) (für Instagram Posts)** + +- **[PCS Stundenplan](https://www.canva.com/design/DAD8ttY2Dms/JOjQE6yfgSaCZDEmEW_qoQ/view?utm_content=DAD8ttY2Dms&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton&mode=preview) (für Instagram Stories)** + +- **[PCS Stundenplan](https://www.canva.com/design/DAD8tobEK0U/RL8huK8at5b93weM2CBmqg/view?utm_content=DAD8tobEK0U&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton&mode=preview)** **(in groß)** + +- **[PCS Referent*innen ankündigen](https://www.canva.com/design/DAD8yfqBF1A/O6AmR37oR_7dEznSsLAAXw/view?utm_content=DAD8yfqBF1A&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton&mode=preview) (für Instagram Posts)** + +- **[PCS Fotocollage ](https://www.canva.com/design/DAD84i2HFqg/fqprJfgJhaNDM_NZmDbSdg/view?utm_content=DAD84i2HFqg&utm_campaign=designshare&utm_medium=link&utm_source=sharebutton&mode=preview)(für Instagram Posts)** + + + +Das schöne an Canva ist, dass ihr kein **zusätzliches Grafikprogramm** braucht, um ansprechende Designs zu erstellen und zu bearbeiten. Außerdem könnt ihr eure **Designs mit anderen teilen**, sodass sie diese nach Belieben anpassen können. [Auch für Canva gibt es zahlreiche Tutorials.](https://www.youtube.com/results?search_query=canva+tutorial) + + diff --git a/websites/help.studentsforfuture.info/tools/eventkalender.md b/websites/help.studentsforfuture.info/tools/eventkalender.md new file mode 100644 index 0000000..2b80b63 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/eventkalender.md @@ -0,0 +1,12 @@ +# PCS Eventkalender + +Über die Website https://studentsforfuture.info könnt ihr **Termine zum bundesweiten PCS-Kalender**, oder zum **Kalender eurer OG hinzufügen**. Die Anleitung dazu findet ihr [hier beim Leitfaden der Website](webseite?id=events-eintragen). + +Ihr müsst dabei insbesondere auf folgendes achten: + +- **Markiert eure Events nur mit [Schlagworten aus der offiziellen Liste](webseite?id=einheitliche-schlagworte-hinzufügen)** +- **Achtet bei bundesweiten Livestream-Events darauf, die [richtige Kategorie auszuwählen](webseite?id=kategorie-richtig-einstellen)** + +Für einige Events ist es sinnvoll, die **Teilnehmer:innenanzahl zu beschränken** und +im Voraus zu wissen **wie viele Teilnehmer:innen bei eurem Event zu erwarten sind**. +Das könnt ihr zum Beispiel mit [attending.io](tools/attending.md) machen. diff --git a/websites/help.studentsforfuture.info/tools/events.md b/websites/help.studentsforfuture.info/tools/events.md new file mode 100644 index 0000000..2908d46 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/events.md @@ -0,0 +1,6 @@ +# Eventmanagement + +[zurück zur Tool-Übersicht](tools/tools.md) + +- [Eventkalender](tools/eventkalender.md): Events auf dem Kalender der bundesweiten Website eintragen (z.B. für die PCS) +- [Attending.io](tools/attending.md): Tool für Anmeldung bei Teilnehmer:innenbeschränkten Events diff --git a/websites/help.studentsforfuture.info/tools/live-interaktion.md b/websites/help.studentsforfuture.info/tools/live-interaktion.md new file mode 100644 index 0000000..a4c3482 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/live-interaktion.md @@ -0,0 +1,3 @@ +# Live-Interaktion + +... diff --git a/websites/help.studentsforfuture.info/tools/meistertask.md b/websites/help.studentsforfuture.info/tools/meistertask.md new file mode 100644 index 0000000..22216f7 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/meistertask.md @@ -0,0 +1,11 @@ +# Meistertask + +?> Meistertask wurde testweise für die PCS 3.0 verwendet, daher diese Anleitung. Für die PCS 4.0 und andere Projekte wird Meistertask aktuell nicht benutzt. + +Um eine transparente Übersicht über **alle** offenen Todos **aller** AGs zu ermöglichen, nutzen wir das Tool Meistertask. Den Einladungslink zum PCS 3.0 Arbeitsbereich bekommst du über dein SFF-Plenum. + +Hier können ToDos detailliert gesammelt werden & jede:r hat einsicht in alle AGs. Weiterhin können ToDos bestimmten Menschen zugewiesen werden. + +Bitte arbeite daran mit, die Todos deiner AGs aktuell zu halten. Somit können neue Menschen möglichst leicht herausfinden, wo sie mithelfen können. + + diff --git a/websites/help.studentsforfuture.info/tools/orga.md b/websites/help.studentsforfuture.info/tools/orga.md new file mode 100644 index 0000000..023ea06 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/orga.md @@ -0,0 +1,8 @@ +# Tools zur Organisation + +[zurück zur Tool-Übersicht](tools/tools.md) + +- **[Plattform-N](tools/plattform-n.md)**: Zentrale Plattform für Pads, Dateien und Termine +- [Rocket.Chat](tools/rocket-chat.md): Messenger ähnlich Slack, der für die PCS 3.0 verwendet wurde +- [Meistertask](tools/meistertask.md): Kanban-Board, das für die PCS 3.0 verwendet wurde +- [Dieses Wiki](tools/technik-wiki.md): Infos über dieses Wiki hier diff --git a/websites/help.studentsforfuture.info/tools/plattform-n.md b/websites/help.studentsforfuture.info/tools/plattform-n.md new file mode 100644 index 0000000..e9bf080 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/plattform-n.md @@ -0,0 +1,49 @@ +# Plattform-N + +[Plattform-N](https://plattform-n.org) ist der zentrale Ort, an dem **Protokolle und Dateien** +gesammelt, und **TK-Termine** eingetragen werden. Es ist auf jeden Fall praktisch, sich dort +einen Account anzulegen. Auch für die PCS liegt dort der Großteil aller Materialien. + +## Zugriff bekommen +Zuerst brauchst du einen Account bei Plattform-N. Gehe dazu auf +[plattform-n.org](https://plattform-n.org) und klicke auf `Login`: + + + +Auf der linken Seite kannst du dann auf `Registrieren` klicken: + + + +Nach der Registrierung bekommst du eine E-Mail mit einem Bestätigungslink. +Es kann ggf. ein paar Minuten dauern, bis du die Mail bekommst. +Sollte nach 20 min immer noch keine Mail gekommen sein, gibt es vmtl. gerade +Probleme mit Plattform-N. + +Sobald du auf den Link geklickt hast, kannst du noch zwei wichtige Einstellungen zu deinem +Profil vornehmen: + + + +und wirst dann auf dein `Dashboard` weitergeleitet. Klicke auf die Suche oben rechts + + + +und suche nach der `FFF AG Studierende`: + + + +Dort kannst du dann Zugriff auf die Gruppe anfragen. Ein Mensch wird dich dann so bald +wie möglich freischalten. + + + +## Zurechtfinden auf Plattform-N + +Sobald deine Anfrage angenommen wurde, findest du die Gruppe auf deinem Dashboard: + + + +Darüber gelangst du auf die +[Gruppen-Übersichtsseite](https://plattform-n.org/group/fff-ag-studierende/): + + diff --git a/websites/help.studentsforfuture.info/tools/profilbildgenerator.md b/websites/help.studentsforfuture.info/tools/profilbildgenerator.md new file mode 100644 index 0000000..8dd563b --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/profilbildgenerator.md @@ -0,0 +1,21 @@ +# Profilbildgenerator in eure Homepage einbinden + +Für die Public Climate School 2020 existiert bereits ein [Profilbildgenerator auf der StuFF-Website.](studentsforfuture.info/public-climate-school/#downloads) Es bietet sich an, einen aktuellen Profilbildgenerator auf euren Social Media Kanälen zu verlinken. + +Falls ihr einen Profilbildgenerator in eure OG-Website einbauen möchtet, wird es **unter Umständen etwas kompliziert**. Es lohnt sich natürlich trotzdem darüber nachzudenken, da ihr damit einfach Aufmerksamkeit für euere Aktionen generieren, und Menschen zum Mitmachen bewegen könnt. Es kommt dabei darauf an, wie ihr bisher eure Website organisiert. + +## Wenn eure Website über studentsforfuture.info läuft + +Sofern ihr eure OG-Website mithilfe [eures OG-Accounts auf der StuFF-Website](/webseite?id=ortsgruppen-login) erstellt habt, ist dort bereits ein fertiger Profilbildgenerator verfügbar. Ihr benötigt also lediglich einen passenden Profilbildrahmen. Dafür könnt ihr euch bei [diesem Profilbildrahmen von FFF](https://fridaysforfuture.de/netzstreikfursklima/profilbildgenerator/) orientieren. Anschließend müsst ihr nur noch einen `Profile Image Generator`-Block [in eure OG-Homepage einbinden](/webseite?id=profilbildgenerator-einrichten). + +## Wenn eure Website selbst gehostet wird + +Sofern ihr eure OG-Homepage selbst hostet, müsst ihr einen Profilbildgenerator mit **Javascript** und **HTML** einbinden. Falls ihr euch nicht damit auskennt, **kontaktiert den Technik-Hutmenschen eurer OG**. Arbeitet euch doch bei Zeit selbst in [Javascript](https://www.youtube.com/results?search_query=javascript+for+beginners) oder [HTML](https://www.youtube.com/results?search_query=html+for+beginners) ein, es gibt genügend Tutorials dazu. **Skillsharing ist wichtig für die Revolution!** + +Sobald ihr die Person gefunden habt, die sicher mit eurer Website umgehen kann gibt es folgende fertige Profilbildgeneratoren, die einfach eingebaut werden können: + +- https://gitlab.com/developersforfuture/profile-generator-frontend **von den DevelopersForFuture** + +- https://github.com/kilian579/profilepicturegenerator **von kilian579** + + diff --git a/websites/help.studentsforfuture.info/tools/rocket-chat.md b/websites/help.studentsforfuture.info/tools/rocket-chat.md new file mode 100644 index 0000000..846a103 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/rocket-chat.md @@ -0,0 +1,47 @@ +# Rocket.Chat + +?> Rocket.Chat wurde testweise für die PCS 3.0 verwendet, daher diese Anleitung. Für die PCS 4.0 und andere Projekte wird Rocket.Chat aktuell nicht benutzt. + +Rocket.Chat funktioniert ziemlich genau wie Slack oder Mattermost, ist Open Source, und ist bereits in Plattform-N integriert. + +## Rocket.Chat App +Für Rocket.Chat gibt es auch eine App, sowohl fürs Handy, als auch für den PC. + + - **NICHT** hier Installieren: https://rocket.chat/install/ + - Bitte benutzt zum Download https://github.com/RocketChat/Rocket.Chat.Electron/releases/latest da die Version auf der Homepage Veraltet es und es Probleme beim update Prozess gibt. + Für Windows wäre es rocketchat-setup-3.0.X.exe hier bespielhaft für rocketchat-setup-3.0.3.exe + + + + - Server-URL: https://chat.plattform-n.org/ + + + + + +## Rocket.Chat auf Plattform-N + +Um den Rocket.Chat Arbeitsbereich der Public Climate School nutzen zu können, müsst ihr [bei Plattform-N eingeloggt sein](orga?id=plattform-n). + +Anschließend wählt ihr oben rechts das Mail-Symbol aus, um Rocket.Chat zu öffnen. Dort müsst ihr euch erneut mit eurem Plattform-N Account anmelden. + + + + + +Nun könnt ihr Rocket.Chat direkt über den Browser nutzen. Natürlich gibt es auch eine [App für's Smartphone & den Desktop](orga?id=rocket.chat-app). + +## Rocket.Chat PCS-AGs beitreten + +Sucht als erstes den öffentlichen Kanal "public-climate-school" und tretet diesem bei. Dieser dient als Übersicht, über alle aktiven Gruppen. Von dort aus könnt ihr allen AGs beitreten, die euch interessieren, indem ihr auf den Einladungslink klickt. + +**Disclaimer - Bitte Beachten**: + +- Aktuell hat das Rocket.Chat von Plattform-N ein Problem mit Gruppen-Einladungslinks. Nach dem Benutzen muss die App neu gestartet, bzw die Seite neu geladen werden. +- *Tipp:* Trete erst allen AGs bei, denen du beitreten willst & mache dann einen Neustart. Nachdem du einer Gruppe beigetreten bist, kannst du auch den Gruppenlink verwenden. + + + + + + diff --git a/websites/help.studentsforfuture.info/tools/socialmedia.md b/websites/help.studentsforfuture.info/tools/socialmedia.md new file mode 100644 index 0000000..63314b0 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/socialmedia.md @@ -0,0 +1,11 @@ +# Tools für Social Media + +[zurück zur Tool-Übersicht](tools/tools.md) + +**Social Media ist wichtig für die Revolution!** + +Deshalb findet ihr hier einige gesammelte Tools, mit denen ihr euren Social Media Auftritt erweitern könnt. + +- [Profilbildgenerator](tools/profilbildgenerator.md) in eure Website einbinden +- [SharePics mit Canva](tools/canva.md) erstellen + diff --git a/websites/help.studentsforfuture.info/tools/technik-wiki.md b/websites/help.studentsforfuture.info/tools/technik-wiki.md new file mode 100644 index 0000000..e1900c6 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/technik-wiki.md @@ -0,0 +1,10 @@ +# Dieses Wiki + +Das Wiki hier basiert auf [Docsify](https://docsify.js.org/) und kann daher statisch +gehostet werden. Aktuell liegt es auf GitLab Pages über +[infra4future.de](https://infra4future.de). +Um Zugriff auf das [Git Repo](https://gitlab.infra4future.de/octycs/pcs-docs) zu bekommen könnt ihr euch einen Account dort erstellen oder den PCS-Account verwenden (einfach beim Tech Support nachfragen). + +Nützliche Links: +- [Docsify Markdown Referenz](https://jhildenbiddle.github.io/docsify-themeable/#/markdown) +- Lokaler Webserver: `python -m http.server` diff --git a/websites/help.studentsforfuture.info/tools/tools.md b/websites/help.studentsforfuture.info/tools/tools.md new file mode 100644 index 0000000..c0cc423 --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/tools.md @@ -0,0 +1,26 @@ +# Tools + +Wir verwenden eine Reihe von Tools für verschiedene Aufgaben. +Hier findet ihr Leitfäden dazu. + +**Organisation** +- **[Plattform-N](tools/plattform-n.md)**: Zentrale Plattform für Pads, Dateien und Termine +- [Rocket.Chat](tools/rocket-chat.md): Messenger ähnlich Slack, der für die PCS 3.0 verwendet wurde +- [Meistertask](tools/meistertask.md): Kanban-Board, das für die PCS 3.0 verwendet wurde +- [Dieses Wiki](tools/technik-wiki.md): Infos über dieses Wiki hier + +**Social Media** +- [Profilbildgenerator](tools/profilbildgenerator.md) in eure Website einbinden +- [SharePics mit Canva](tools/canva.md) erstellen + +**Eventmanagement** +- [Eventkalender](tools/eventkalender.md): Events auf dem Kalender der bundesweiten Website eintragen (z.B. für die PCS) +- [Attending.io](tools/attending.md): Tool für Anmeldung bei Teilnehmer:innenbeschränkten Events + +**Video-Konferenzen** +- [Zoom](tools/zoom.md): Kommerzielle, aber einfach zu bedienende und weit verbreitete Software für Online-Meetings +- [BigBlueButton](tools/bbb.md): Open Source Software für Online Workshops / Vorträge (läuft im Browser) +- [JitSi](tools/jitsi.md): Datenschutzfreundliche Open Source Software für Online Meetings (läuft im Browser) + +**Live-Interaktion** +- [Tweedback](tools/tweedback.md): Kostenloses Tool, um live Fragen zu sammeln und Umfragen durchzuführen diff --git a/websites/help.studentsforfuture.info/tools/tweedback.md b/websites/help.studentsforfuture.info/tools/tweedback.md new file mode 100644 index 0000000..6d685fb --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/tweedback.md @@ -0,0 +1,43 @@ +# Tweedback + +TeilnehmerInnen sollen unkompliziert **Fragen stellen** können und zwischendrin mal **ein Quiz zur Auflockerung** wäre auch ganz cool? Dann ist [Tweedback](https://tweedback.de/) das richtige Tool für Euch! Und das Beste daran: Es ist eigentlich total einfach! **Probiert** die hier aufgelisteten Schritte gerne **selbst schon mal im Voraus aus**. + + + +**Wir haben nun auch Tweedback-Premium Zugang. Ihr findet ihn im [PCS-Masterpad](https://fffutu.re/pcs-masterpad)** + +## Tweedback Premium +Die Zugangsdaten für Tweedback Premium findet ihr im [PCS-Masterpad](https://fffutu.re/pcs-masterpad) (ziemlich weit unten). Ihr könnt Euch damit auf Tweedback anmelden und genauso wie unten beschrieben eine Session erstellen. Im Gegensatz zu normalem Tweedback sind die Links für ein Meeting jedoch **länger als 24 Stunden gültig**. Ihr könnt auch über `Students for Future` rechts oben und dann `Your Profile` die bereits erstellten Meetings einsehen, verwalten und starten. + +## Session erstellen +Mit folgenden Schritten könnt ihr ganz einfach eine Tweedback-Session erstellen: +- auf die **[Website von Tweedback](https://tweedback.de/) gehen** +- Rechts oben auf **`Session erstellen` klicken** +- Die gewünschten **Funktionen** ([Chatwall](tweedback?id=chatwall), [Quiz](tweedback?id=quiz), [Panik](tweedback?id=panik)) **auswählen** und auf `Lass mich loslegen` klicken +- **Fertig!** Eure Session-ID wird rechts beim Punkt `Session-ID` angezeigt und besteht aus vier Buchstaben + +### An der Session teilnehmen +Diese [Session-ID](tweedback?id=session-erstellen) müsst ihr jetzt nur noch an die ZuschauerInnen weitergeben. Diese können mit folgenden Schritten an der Session teilnehmen: +- auf die **[Website von Tweedback](https://tweedback.de/) gehen** +- Rechts oben im Feld `Session-ID ...` neben `an Session teilnehmen` die **ID eingeben** + +## Übersicht über die Funktionen +In der **rechten Spalte** kann (je nach Auswahl bei der Erstellung) zwischen **[Chatwall](tweedback?id=chatwall), [Quiz](tweedback?id=quiz), [Panik](tweedback?id=panik) und [Session](tweedback?id=session)** (letztes seht nur ihr) **gewechselt werden**. In der Chatwall können TeilnehmerInnen Kommentare posten und liken, in der Quiz-Funktion könnt ihr Single-Choice Umfragen/Quizes erstellen, mit Panik können euch die TeilnehmerInnen Feedback geben und über Session könnt ihr die Session verwalten. Jede aktivierte Funktion lässt sich rechts oben über `*Funktion* abschalten` beenden. + +## Chatwall +Hier könnt ihr genauso wie die TeilnehmerInnen **Kommentare schreiben und liken**. Beim Beantworten von Fragen lohnt es sich rechts die Sortierung `Neueste zuerst` auf `Beliebteste zuerst` umzustellen, so könnt ihr die Fragen zuerst beantworten, die die TeilnehmerInnen am meisten interessieren. Oben könnt ihr die Chatwall auf **`Moderiert`** umstellen. Dann seht ihr links neben jedem Post ein Häkchen und ein Kreuz, mit denen die **Posts freigeben könnt** (oder eben auch nicht). Ihr könnt eure Auswahl für einen Kommentar später auch wieder ändern. + +## Quiz +Hier könnt ihr Umfragen mit mehreren Optionen starten, von denen die TeilnehmerInnen dann eine auswählen können. Um eine neue Umfrage zu starten, einfach folgende Schritte befolgen: +- Rechts unten **auf das `+`** (Sollte das nicht sichtbar sein, den Cookies zustimmen, da die Leiste sonst den Button verdeckt) **klicken** +- **Frage eingeben** +- Eine der **Schnellwahl Optionen** (ja - nein, A - B, A - B - C, etc.) **auswählen oder** auf **`Manuell` umschalten** und **selbst Antwortmöglichkeiten formulieren** und dann mit `+ Quiz erstellen` bestätigen +- Wenn das Quiz starten soll, bei dem jeweiligen Quiz auf **`Start` klicken** +- **Fertig!** Ihr seht jetzt die Ergebnisse +- Mit `Stop` könnt ihr das **Quiz** schließlich wieder **beenden** + +## Panik +Mit dieser Funktion können die TeilnehmerInnen **live Feedback geben**. Die Teilnehmer haben dafür **verschiedene Buttons** (Zu schnell, Zu langsam, Bitte ein Beispiel, etc.) zur Auswahl (vollständige Liste siehe Auflistung auf der rechten Seite im Panik-Bereich). In der **Grafik seht ihr dann, wie viele Menschen wie geantwortet** haben. + +## Session +Hier seht ihr, **wie viele NuterInnen gerade in der Session sind**. Rechts seht ihr auch einen QR-Code, sowie den **Link zur aktuellen Session**. Wenn ihr [angemeldet](tweedback?id=tweedback-premium) seid, könnt ihr hier die Session sperren und entsperren. diff --git a/websites/help.studentsforfuture.info/tools/zoom.md b/websites/help.studentsforfuture.info/tools/zoom.md new file mode 100644 index 0000000..325906b --- /dev/null +++ b/websites/help.studentsforfuture.info/tools/zoom.md @@ -0,0 +1,81 @@ +# Zoom + +Zoom wird bereits von vielen DozentInnen für Online-Vorlesungen verwendet. Hier nochmal die wichtigsten Punkte sowie einige weiterführende Informationen zusammengefasst: + +**Die wichtigsten Einstellungen auf einen Blick:** +Hier ein paar der weiterführenden Einstellungen, die für PCS-Zoom-Meetings sinnvoll sein könnten: + +**FFF hat bereits [hier ein umfassendes Webinar zu Zoom](https://www.youtube.com/watch?v=ZBU5eIfs87o)** **aufgenommen.** +**Zudem gibt es auch von Zoom selbst ein recht [ausführliches Wiki](https://support.zoom.us/hc/de/articles/206618765-Zoom-Video-Tutorials), das viele Funktionen nochmal im Detail erklärt:** + +## Zoom-Einstellungen +In den Zoom-Einstellungen können jede Menge Dinge eingestellt werden. Man erreicht die Einstellungen entweder über Anmeldung bei Zoom (bzw. den entsprechenden Zoom-Seiten der Hochschulen/Universitäten) und dann durch einen Klick auf `Einstellungen`. Oder über die Zoom-Anwendung rechts oben unter dem Account-Icon durch Klick auf das `Zahnrad` und dann unten auf `Mehr Einstellungen ansehen`. Werden bestimmte Einstellungen gesucht, so muss unter Umständen eine Weile gescrollt werden... + +## Co-Hosts +Co-Hosts sind vor allem dann sehr praktisch, wenn **mehrere Menschen** moderieren, diskutieren oder eine Präsentation zeigen wollen. Normalerweise gibt es **in Zoom nur einen Host**, nämlich die Person, die das Meeting erstellt hat. In den meisten Fällen sind jedoch noch weitere Menschen beteiligt, die ebenfalls Berechtigungen benötigen. Dies lässt sich durch Co-Hosts umsetzen. + +**Folgende Schritte zum Erstellen eines Co-Hostes:** + +Direkt im Zoom Meeting: +- In der unteren Leiste auf `Teilnehmer` +- Person auswählen und auf `Mehr` klicken +- `Co-Host`auswählen und bestätigen + +Im Planungsdialog: +- Neues Zoom Meeting erstellen oder bei bestehendem auf `Bearbeiten` klicken +- ganz unten auf `Erweiterte Optionen` +- wieder ganz unten im Feld `Alternative Moderatoren` die E-Mailadresse der Person eingeben +- hierbei kann es eventuell zu einem Fehler kommen, falls die Person nicht an der gleichen Institution ist, dann einfach *direkt im Zoom Meeting* Co-Host Berechtigungen zuweisen + +Sollten diese Schritte **nicht funktionieren**, muss eventuell in den **[Zoom-Einstellungen](zoom?id=zoom-einstellungen)** noch `Co-Moderator` (dafür etwas herunterscrollen) aktiviert werden. + +## Livestreams +Einige Veranstaltungen werden ja in den bundesweiten Livestream eingebunden. Folgende Schritte, um einen Livestream aus Zoom aus einzurichten: +- Vorbereitung: In den [Zoom-Einstellungen](zoom?id=zoom-einstellungen) den Punkt `Live-Stream` aktivieren und den Haken bei `benutzerdefinierter Live Streaming Service` setzen +- die Daten für den Streaming-Server bekommt ihr von uns rechtzeitig direkt zugesendet +- Im Meeting dann in der unteren Leiste rechts auf den Punkt `Mehr` klicken und dann auf `Live auf benutzerdefinierter Streaming-Service` +- es öffnet sich eine Seite, auf der Ihr die Daten eingeben und den Stream starten. Die Zugangsdaten dafür bekommt ihr von uns + +## Meetings von anderen DozentInnen +Wenn DozentInnen euch einen Link für das Meeting geben, müsst ihr ein paar Schritte beachten, um das Meeting z.B. zu streamen. Zuerst muss der/die DozentIn die entsprechenden Voreinstellungen in den [Zoom-Einstellungen](zoom?id=zoom-einstellungen) treffen. Wenn ihr von uns ein Meeting bekommt, könnt in diesem Meeting über `Teilnehmer` und rechts unten `Host beantragen` selbst zum Host werden. Ihr müsst hierfür nochmal einen Key eingeben, diesen bekommt ihr von uns. Haben DozentInnen das Meeting erstellt, können diese auch im Zoom-Meeting über `Teilnehmer` auf euch klicken und euch zum Host machen. + +## Sicherheit +In letzter Zeit gab es leider immer wieder Meldungen von Trollen oder anderen unerwünschten Ereignissen in Zoom-Meetings. Um solchen Szenarien vorzubeugen, hier ein paar Einstellungen, um die Meetings sicherer zu machen: + +### Passwörter verwenden: +In vielen Zoom-Versionen mittlerweile Standard, aufgrund der Wichtigkeit gehört es jedoch auf jeden Fall in diese Aufzählung hier. Für wiederkehrende Veranstaltungen (zum Beispiel Vorlesungen, die regulär über Zoom stattfinden) kann im Bereich `Meetings` unter `Bearbeiten` das Kennwort für die Veranstaltung geändert werden und danach über den selben Weg manuell wieder zurückgestellt werden. So lässt sich sicherstellen, das nach der PCS wieder nur Studierende des eigenen Studiengangs im Meeting sind + +### Bildschirmfreigabe nur für Host/Co-Host: +Damit nicht plötzlich irgendwelche Teilnehmer ihren Bildschirm teilen (mit möglicherweise ungewollten Inhalten) ist es sinnvoll, nur dem Host/bzw. den [Co-Hosts](zoom?id=co-hosts) die Bildschirmfreigabe zu erlauben. Dies funktioniert entweder über die Zoom-Einstellungen unter `Bildschirmübertragung` und dort dann nur `Nur Host` auswählen. Oder aber direkt im Zoom-Meeting über den Punkt `Sicherheit` in der unteren Leiste und dann im Abschnitt `Telnehmern die Erlaubnis geben:` sicherstellen, das kein Haken bei `Bildschirm freigeben` gesetzt ist + +### Muten: +Grundsätzlich empfiehlt es sich in Zoom-Meetings, **das Mikrofon stummzuschalten**, wenn gerade nichts gesagt werden soll. Bei TeilnehmerInnen insbesondere ist es durchaus sinnvoll, diese **von Anfang an stummzuschalten**. Dies funktioniert auf **verschiedene Wege:** + +**In den [Zoom-Einstellungen](zoom?id=zoom-einstellungen):** +`Teilnehmer beim Beitritt stumm schalten` in den [Zoom-Einstellungen](zoom?id=zoom-einstellungen) aktivieren. Damit können die TeilnehmerInnen jedoch immer noch **selbst ihr Mikrofon wieder aktivieren**. + +**Direkt im Zoom Meeting:** +Zum Beispiel aber bei einem Vortrag kann es **sinnvoll sein, TeilnehmerInnen dauerhaft stummzuschalten**, um zu verhindern, das Menschen ausversehen ihr Mikrofon anschalten. Dafür folgende Schritte befolgen: +- in der unteren Leiste auf `Teilnehmer` klicken +- nun wird eine Liste der TeilnehmerInnen angezeigt +- unten in diesem Fenster auf den Button `Alle stummschalten` klicken +- Es öffnet sich ein Dialogfenster +- Hier kann nun durch den Haken bei `Den Teilnehmern gestatten, ihre Stummschaltung selbst aufzuheben` eingestellt werden, ob TeilnehmerInnen ihr Mikrofon selbst wieder aktivieren können. +- Auf `Ja` klicken. Nun sind alle (auch neu hinzukommende) gemuted. + +Will man nun den TeilnehmerInnen erlauben, wieder zu sprechen, gibt es verschiedene Möglichkeiten: +- Das Mikrofon von einzelnen TeilnehmerInnen aktivieren: In der Liste `Teilnehmer` die Person auswählen und auf `Audio ein` klicken +- Alle Mikrofone aktivieren: In der Liste `Teilnehmer` rechsts unten auf `...` und dann auf `Audio aller ein` +- Den TeilnehmerInnen erlauben, ihre Mikrofone selbst zu aktivieren: In der Liste `Teilnehmer` rechsts unten auf `...` und dann auf `Den Teilnehmern gestatten, ihre Stummschaltung selbst aufzuheben` + +### Teilnehmer entfernen: +Diese Funktion sollte hoffentlich nicht benötigt werden, dennoch hier der Vollständigkeit halber die Schritte, wenn eine Person aus dem Meeting entfernt werden muss: +- in der unteren Leiste auf `Teilnehmer` klicken +- nun wird eine Liste der TeilnehmerInnen angezeigt +- Die betreffende Person auswählen und bei der Person auf `...` klicken +- Auf `Entfernen` klicken + +Ihr könnt in den [Zoom-Einstellungen](zoom?id=zoom-einstellungen) auch festlegen, dass Menschen, die entfernt wurden, nicht mehr beitreten können. Dafür den Punkt `Entfernten Teilnehmern den erneuten Beitritt erlauben` deaktivieren. + + + diff --git a/websites/help.studentsforfuture.info/website/events-eintragen.md b/websites/help.studentsforfuture.info/website/events-eintragen.md new file mode 100644 index 0000000..3c92b8d --- /dev/null +++ b/websites/help.studentsforfuture.info/website/events-eintragen.md @@ -0,0 +1,68 @@ +# Events Eintragen + +- [Allgemeine Infos Eintragen](website/events-eintragen.md?id=events-eintragen) +- [Kategorie richtig einstellen](website/events-eintragen.md?id=kategorie-richtig-einstellen) +- [Einheitliche Schlagworte hinzufügen](website/events-eintragen.md?id=einheitliche-schlagworte-hinzufügen) + +Über die Eingabemaske könnt ihr alle **Events eurer OG eintragen**, diese tauchen dann **automatisch auf eurer OG-Homepage** auf, wenn ihr dort einen `Calendar`-Block einbaut. Insbesondere für die PCS ist das wichtig – aber auch sonst könnt ihr so eure Termine veröffentlichen. + +Ihr müsst dabei nicht auf vieles achten, bis auf eines. **Markiert eure Events nur mit Schlagworten aus der offiziellen Liste.** Ansonsten kann die Kalenderansicht auf der Website schnell unübersichtlich werden. + +## Allgemeine Infos Eintragen + +Grundsätzlich sollte die Beschreibung eures Events andere Menschen ausreichend über den **geplanten Inhalt aufklären** und alle **zur Teilnahme notwendigen Informationen** enthalten. Mit einem **aussagekräftigen Titel**, kann euer Event außerdem schneller von Suchenden gefunden. Achtet also darauf folgende immer Infos einzutragen, soweit sie vorhanden sind: + +- **Titel** +- **Zusammenfassung** +- **Uhrzeit, Ort\*** +- **Sprecher\*innen, Moderator\*innen** +- **Zugangsdaten (z.b. Zoom Link; Website; Adresse; Raumnummer)** +- **Anmeldeinfos (bei beschränkter Teilnehmeranzahl)** +- **Sharepic\*\*** + +\**Benutzt zum Eintragen der **Ortsangabe** bitte das Kästchen `Wo` unter der Eingabemaske* + +\*\**Ein **Sharepic** könnt ihr sowohl in den Beschreibungstext einbinden, als auch als Beitragsbild festlegen. Benutzt dafür auf der rechten Seite der Eingabemaske das Kästchen* `Beitragsbild`. + +## Kategorie richtig einstellen + +Auf der rechten Seite der Event-Eingabemaske findet ihr das Kästchen `Veranstaltungskategorien`. Wählt hier bitte die passende Überkategorie eures Events aus, beispielsweise ``Public Climate School SoSe2020`` für die kommende PCS. + +## Einheitliche Schlagworte hinzufügen + +Markiert euer Event mit den **zutreffenden Schlagworten**. Auf der rechten Seite der Eingabemaske findet ihr das Kästchen Veranstaltungsschlagworte. Alle Schlagworte müssen mit einem **Komma getrennt** werden. So kann später z.b. nach Filmvorführungen gefiltert werden. + +**Bitte achtet dabei auf Folgendes:** + +- Verwendet **so wenige Schlagworte wie möglich** & nur so viele wie nötig +- Verwendet nur die **Schlagworte aus der einheitlichen Liste** +- Bitte **keine eigenen Schlagwörter** hinzufügen + +Ansonsten kann die Kalenderansicht auf der Website schnell unübersichtlich werden. + +**Die aktuellste Version der Liste findet ihr [hier auf Platform-N](https://plattform-n.org/group/fff-ag-studierende/document/veranstaltungskategorien/).** Sofern wichtige Schlagwörter fehlen, meldet euch bitte bei der PCS-Technik-AG. Die folgende Liste ist möglicherweise unvollständig: + +| **Schlagwort** | **Darunter fällt auch** | +| ------------------ | ---------------------------------------- | +| **Ausstellung** | | +| **Basteln** | | +| **Demonstration** | | +| **Diskussion** | Podiumsdiskussion, Publikumsdiskussion | +| **Eröffnung** | Intro | +| **Fahrraddemo** | Critical Mass | +| **Filmvorführung** | | +| **Infostand** | | +| **Klimakneipe** | Bar, Barabend | +| **Klimastreik** | | +| **Kochen** | Kochshow, Kochabend | +| **Musik** | | +| **Party** | Rave, | +| **Plenum** | | +| **Rede** | | +| **Seminar** | Webinar | +| **Spiele** | Spieleabend, Videospiele | +| **Sport** | Tanzen, Joggen, etc. | +| **Versammlung** | Studierendenversammlung, Vollversammlung | +| **Vorlesung** | Vortrag, reguläre Lehrveranstaltung | +| **Workshop** | Mitmachkurs, Skillsharing | + diff --git a/websites/help.studentsforfuture.info/website/og-homepage.md b/websites/help.studentsforfuture.info/website/og-homepage.md new file mode 100644 index 0000000..2712b57 --- /dev/null +++ b/websites/help.studentsforfuture.info/website/og-homepage.md @@ -0,0 +1,69 @@ +## Ortsgruppen-Homepage selbst erstellen + +- [Gestalten der Website](website/og-homepage.md?id=gestalten-der-website) +- [Titelbild einfügen](website/og-homepage.md?id=titelbild-einfügen) +- [Terminkalender einbauen](website/og-homepage.md?id=terminkalender-einbauen) +- [Profilbildgenerator einrichten](website/og-homepage.md?id=profilbildgenerator-einrichten) + +Die Website bietet alle Informationen die ihr braucht, um eure **eigene OG-Homepage** zu basteln. Dazu braucht ihr **keine besonderen technischen Kenntnisse**, ihr solltet aber ein Auge für Design haben. + +Der Link zu eurer Homepage lautet dann "studentsforfuture.info/ortsgruppe/*Name eurer OG*". Hier ist ein [Beispiel der OG Leipzig](https://studentsforfuture.info/ortsgruppe/leipzig/). + +Zum Homepage-Editor gelangt ihr über den Reiter `Pages`. Dort findet ihr bereits eine Seite die den Namen eurer OG trägt. Klickt einfach auf `bearbeiten`, um deren Design & Inhalte anzupassen. + + + +### Gestalten der Homepage + +In der Mitte der Eingabemaske ist die aktuelle Arbeitsversion eurer Website zu sehen. Um ein geändertes Design zu testen, könnt ihr oben rechts `Vorschau` auswählen. Wählt `Aktualisieren`, damit die Änderungen auch auf der tatsächlichen Homepage geändert werden. + +Neue Elemente fügt ihr mit dem `+`-Knopf hinzu, der in der linken oberen Ecke der Eingabemaske liegt. Dort könnt ihr zwischen **verschiedensten Designblöcke** auswählen. + +Anschließend könnt den Block auf der Seite an die **gewünschte Position** ziehen. Ebenso könnt ihr ihn wieder **löschen oder duplizieren**. + +Wählt ihr einen existierenden Block aus, so erscheint rechts neben der Eingabemaske ein **Optionsmenü, mit verschiedenen Einstellungsmöglichkeiten**. Zum Beispiel lässt sich dort die Schriftgröße in einem Absatz anpassen. + +**Übersicht über die wichtigsten Blöcke:** + +| Name | Funktion | +| ---------------------------- | --------------------------------------- | +| **Heading** | Verschiedene einheitliche Überschriften | +| **Absatz** | Textelemente einbinden | +| **Buttons** | Knöpfe zum Verlinken anderer Websites | +| **Bild** | einzelnes Bild | +| **Galerie** | mehrere Bilder mit Fester Spaltenanzahl | +| **Zitat** | Einbinden von Zitaten | +| **Pullqoute** | Einbinden von Zitaten | +| **#PublicClimateSchool2020** | Link zur PCS Website | +| **Cover** | Titelbild | +| **Calendar** | Terminkalender eurer OG | +| **Profile Image Generator** | Profilbildgenerator für Events | + + + +### Titelbild einfügen + +Oben auf eurer Homepage könnt ihr ein **großes Titelbild** einbauen. Dafür eignen sich besonders **Bilder von Klimastreiks** oder anderen Aktionen eurer OGs. [Hier ein Beispiel der OG Leipzig.](https://studentsforfuture.info/ortsgruppe/leipzig) + +Dafür müsst ihr oben auf eurer Seite einen `Cover` Block einbauen. Wählt dann ein **Bild mit möglichst hoher Auflösung** aus. Anschließend könnt ihr innerhalb des Titelbilds weitere Blöcke einbauen, meistens bietet sich ein `Heading` an, also eine Überschrift. + +Im Optionsmenü des `Cover`-Blocks könnt das Titelbild mit einer Farbe überlagern. Wählt dafür eine Farbe aus und ändert danach die `Deckkraft`, bis euch das Ergebnis gefällt. [Hier ein Beispiel auf der SFF-Startseite.](https://studentsforfuture.info) + + + +### Terminkalender einbauen + +Ihr könnt einen **Terminkalender** einbauen, **der alle Events anzeigt**, die für eure OG eingetragen wurden. Außerdem könnt ihr diesen auf eine Kategorie, wie die PCS beschränken. Erstellt dazu einen `Calendar`-Block. + +Im Optionsmenü des Blocks könnt die **Ortsgruppe, und die Eventkategorie des Kalenders auswählen**. Es bietet sich an, eure eigene OG auszuwählen, um deren Events anzuzeigen. + +Zusätzlich könnt ihr den **Zeitraum des Kalenders eingrenzen**. Für einen Studenplan zur PCS eignet sich beispielsweise der Zeitraum 25.05.-29.05. + + + +### Profilbildgenerator einrichten + +Ihr könnt auch einen **Profilbildgenerator** einbinden. Dafür benötigt ihr allerdings selbst einen **passenden Profilbildrahmen**. Dieser sollte im `.png` oder `.svg` Format sein und mindestens eine Auflösung von **800x800** **Pixeln** haben. + +Erstellt dafür einen `Profile Image Generator`-Block. Anschließend müsst ihr einen passenden **Profilbildrahmen auswählen oder hochladen**. In der Medien-Galerie der Website ist bereits ein Rahmen für die PCS-2020 verfügbar. + diff --git a/websites/help.studentsforfuture.info/website/website.md b/websites/help.studentsforfuture.info/website/website.md new file mode 100644 index 0000000..41fc29f --- /dev/null +++ b/websites/help.studentsforfuture.info/website/website.md @@ -0,0 +1,39 @@ +# Students for Future Webseite + +Die bundesweite [studentsforfuture.info](https://studentsforfuture.info) Webseite bietet für **Students for Future Ortsgruppen** einige Zusatzfunktionen. + +Insbesondere könnt ihr folgendes tun: + +- **Kontaktdaten eurer OG aktualisieren** +- **Events & Termine eintragen** +- **Eigene Homepage für eure OG erstellen** + +Jede SFF-Ortsgruppe erhält deshalb einen eigenen Account, um auf ihre Inhalte selbst zuzugreifen und diese anzupassen. Bitte koordiniert in eurer OG, wer die **Zugangsdaten** zu dieser Seite verwaltet. + +Das Bild zeigt die Eingabemaske für Ortsgruppen. + + + +## Ortsgruppen Login :class=hidden + +Ganz unten auf der Website befindet sich ein `Schlüssel-Symbol`, darüber gelangt ihr zum Login. Um euch für eure Ortsgruppe anzumelden, benötigt ihr euren Benutzernamen und Passwort. + +Falls einer der folgenden Fälle zutrifft: + +- **E-Mail-Adresse veraltet/vergessen** +- **Ortsgruppe besitzt noch keinen Login** + +könnt ihr euch per [**Telegram beim PCS Tech Support**](https://t.me/joinchat/PezzhhOoxeVRGvoxMoi4Sg) für neue Zugangsdaten melden. + + + +## Kontaktdaten aktualisieren + +Unter dem Reiter `Links` findet ihr eine Eingabemaske zum Eintragen eurer Kontaktdaten. Diese werden automatisch auf der [Ortsgruppen-Übersicht](https://studentsforfuture.info/ortsgruppe/) aktualisiert. Denkt also dran insbesondere folgendes zu verlinken, **damit euch Interessierte finden können:** + +- **Messenger-Gruppen** (Telegram, Whatsapp, etc.) +- **E-Mail-Adressen** +- **Homepage** +- **Social-Media Links** + + diff --git a/websites/infra4future.de/.gitignore b/websites/infra4future.de/.gitignore new file mode 100644 index 0000000..a438dae --- /dev/null +++ b/websites/infra4future.de/.gitignore @@ -0,0 +1,2 @@ +_site/* +.jekyll-cache/* diff --git a/websites/infra4future.de/README.md b/websites/infra4future.de/README.md new file mode 100644 index 0000000..039993f --- /dev/null +++ b/websites/infra4future.de/README.md @@ -0,0 +1,19 @@ + +# infra4future.de main page + +the page which should appear when you visit infra4future.de in a webbrowser, +giving basic information about this server + + +## building + +To build this page, simply run `jekyll build` in the main directory, then copy +the contents of `_site` to a path which the webserver will publish (the `_site`- +Directory is icluded in `.gitignore`, so no need to worry about cluttering the repo). + +Nothing more is required, as the entire site consists solely of static html and css. + +## TODOs: + +Add an actual FAQ (just add them to `index.md`, based on the example question there). +Pull-Requests are welcome! diff --git a/websites/infra4future.de/_config.yml b/websites/infra4future.de/_config.yml new file mode 100644 index 0000000..9ace90f --- /dev/null +++ b/websites/infra4future.de/_config.yml @@ -0,0 +1,12 @@ +# Site settings +title: infra4future.de +description: Saving the Climate with Infrastructure +baseurl: "" # the subpath of your site, e.g. /blog +url: "https://www.infra4future.de" + +exclude: + - README.md + - default.nix + +sass: + textcolor: white diff --git a/websites/infra4future.de/_includes/a-name.html b/websites/infra4future.de/_includes/a-name.html new file mode 100644 index 0000000..1250ed2 --- /dev/null +++ b/websites/infra4future.de/_includes/a-name.html @@ -0,0 +1 @@ + diff --git a/websites/infra4future.de/_includes/banner.html b/websites/infra4future.de/_includes/banner.html new file mode 100644 index 0000000..b0a95ec --- /dev/null +++ b/websites/infra4future.de/_includes/banner.html @@ -0,0 +1,7 @@ + +
    +
    +
    „{{ include.quote }}“
    — {{ include.author }}
    +
    +
    + diff --git a/websites/infra4future.de/_includes/contact-buttons.html b/websites/infra4future.de/_includes/contact-buttons.html new file mode 100644 index 0000000..4262e54 --- /dev/null +++ b/websites/infra4future.de/_includes/contact-buttons.html @@ -0,0 +1,9 @@ + + +
    + + + + + +
    diff --git a/websites/infra4future.de/_includes/faq.html b/websites/infra4future.de/_includes/faq.html new file mode 100644 index 0000000..57db3ea --- /dev/null +++ b/websites/infra4future.de/_includes/faq.html @@ -0,0 +1,11 @@ + +
    +
    + {{ include.question }} +
    + {{ include.answer }} +
    +
    +
    + + diff --git a/websites/infra4future.de/_includes/footer.html b/websites/infra4future.de/_includes/footer.html new file mode 100644 index 0000000..65242fc --- /dev/null +++ b/websites/infra4future.de/_includes/footer.html @@ -0,0 +1,19 @@ + + + + + diff --git a/websites/infra4future.de/_includes/head.html b/websites/infra4future.de/_includes/head.html new file mode 100644 index 0000000..c45ab87 --- /dev/null +++ b/websites/infra4future.de/_includes/head.html @@ -0,0 +1,14 @@ + + {{ page.title }} + + + + + + + + + + + + diff --git a/websites/infra4future.de/_includes/header.html b/websites/infra4future.de/_includes/header.html new file mode 100644 index 0000000..000ccdc --- /dev/null +++ b/websites/infra4future.de/_includes/header.html @@ -0,0 +1,36 @@ + + + +
    + {{ page.title }} + +
    +
    +
    + + +
    +
    + {{ page.slogan }} +
    +
    + diff --git a/websites/infra4future.de/_layouts/default.html b/websites/infra4future.de/_layouts/default.html new file mode 100644 index 0000000..74088f6 --- /dev/null +++ b/websites/infra4future.de/_layouts/default.html @@ -0,0 +1,13 @@ + + +{% include head.html %} + + +
    + {% include header.html %} +
    +
    + {{ content }} +
    + {% include footer.html %} + diff --git a/websites/infra4future.de/_layouts/simple_page.html b/websites/infra4future.de/_layouts/simple_page.html new file mode 100644 index 0000000..dd71ebe --- /dev/null +++ b/websites/infra4future.de/_layouts/simple_page.html @@ -0,0 +1,12 @@ + + +{% include head.html %} + + +
    + +{{ content }} + +
    +{% include footer.html %} + diff --git a/websites/infra4future.de/assets/css/main.scss b/websites/infra4future.de/assets/css/main.scss new file mode 100644 index 0000000..f96808f --- /dev/null +++ b/websites/infra4future.de/assets/css/main.scss @@ -0,0 +1,3627 @@ +--- +--- + + +/* set the main colours of the website */ +$textcolor: #444; +$backgroundcolor: #fff; +$accentcolor: #1b7340; + + + + + +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +@font-face { + font-family: fff-text; + src: url(../fonts/textfont_fff.ttf); +} + +@font-face { + font-family: fff-header; + src: url(../fonts/fff-jost.ttf); +} + +@font-face { + font-family: symbols; + src: url(../fonts/symbols.otf); +} + +@font-face { + font-family: courier-prime; + src: url(../fonts/courier-prime.ttf); +} + +ul, ol { + margin-top: 0; +} + +/* main stuff */ + +body { + padding: 0; + margin: 0; + font-size: 100%; + line-height: 1.5; + color: $textcolor; + background-color: $backgroundcolor; + font-family: 'fff-text', sans-serif; + overflow-x: hidden; +} + +html { + line-height: 1.15; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + + +/* header styles */ + +h1 { + font-family: "fff-header"; + font-weight: normal; + font-size: 35pt; + margin-bottom: 1vh; + text-align: center; +} + +h2 { + font-family: "fff-header"; + font-weight: normal; + font-size: 25pt; + margin-bottom: 0.5vh; + text-align: center; +} + +h4 { + font-family: "fff-header"; + font-weight: normal; + font-size: 15pt; +} + + +/* text link */ + +a { + color: $accentcolor; +} + + +/* footer styles */ + +footer { + background: $accentcolor; + padding: 10px 0; + margin-top: 100px; + text-align: center; + color: $backgroundcolor +} + +footer a, +.header a, .language { + text-decoration: none; + margin: 0; + margin-left: 0.2em; + margin-right: 0.2em; + color: $backgroundcolor; + transition: color .3s; + font-family: fff-header; +} + +.header a .language{ + font-size: 15px; + margin: 10px +} + +@media only screen and (min-width:550px) { + .header a{ + font-size: 12pt + } +} + +@media only screen and (min-width:1000px) { + .header a{ + font-size: 15pt + } +} + +footer a:active, +footer a:hover, +.header a:active, +.header a:hover, +.language:hover { + color: #fff +} + + +/* style for main sections */ + +section:not(#top-section) { + display: flex; + flex-direction: column; + justify-content: space-between; + width: 90vw; + max-width: 960px; + margin: 0 auto +} + +@media only screen and (min-width:550px) { + section:not(#top-section) { + width: 80% + } +} + + +/* table style (for donations) */ + +table { + margin-left: auto; + margin-right: auto; +} + +.table-box { + text-align: left; + padding-top: 1em; + font-family: fff-text; + width: 100%; +} + + +/* style the map */ + +#StrikeMap { + height: 60vh; + margin-left: auto; + margin-right: auto; + width: 80%; +} + + +/* link buttons */ + +.button { + display: inline-block; + margin: 10px 0; + padding: 5px; + color: $accentcolor; + background-color: transparent; + border: 1px solid $accentcolor; + text-align: center; + outline: 0; + text-decoration: none; + cursor: pointer; + transition: color .3s ease-out, background-color .3s ease-out, border-color .3s ease-out; + display: inline-block; + cursor: pointer; +} + +.button:active, +.button:hover { + background-color: $accentcolor; + border-color: $accentcolor; + color: $backgroundcolor; + transition: color .3s ease-in, background-color .3s ease-in, border-color .3s ease-in +} + + +/* arrow pointing downwards */ + +.down { + position: absolute; + bottom: 3.7em; + width: 97vw; + margin: 0 auto; + top: 3.2em; + display: block; + font-size: 30px; + z-index: 0; +} + +.down .icon { + position: absolute; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 100px; + height: 100px; + fill: $backgroundcolor; + -webkit-animation: pulse 1.3s infinite; + animation: pulse 1.3s infinite +} + +.down .icon:active, +.down .icon:hover { + width: 90%; + margin: 0 auto; + max-width: 960px +} + +@keyframes pulse { + 0%, + to { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + filter: alpha(opacity=40); + opacity: .4; + top: 0 + } + 50% { + -ms-filter: none; + -webkit-filter: none; + filter: none; + opacity: 1; + top: -10px + } +} + + +/* Style The Dropdown Button */ + +.dropbtn { + background-color: $accentcolor; + color: white; + width: 6em; + height: 6em; + font-size: 16px; + border: none; + cursor: pointer; +} + +.dropbtn div { + height: 5px; + background-color: $backgroundcolor; + margin: 0.7em; +} + + +/* The container
    - needed to position the dropdown content */ + +.dropdown { + position: absolute; + display: inline-block; + z-index: 120; + right: 0; + display: block; + top: 3em; +} + +@media only screen and (min-width:1000px) { + .dropdown { + display: none; + } +} + + +/* Dropdown Content (Hidden by Default) */ + +.dropdown-content { + display: none; + position: absolute; + right: 6em; + top: 0; + background-color: $accentcolor; + min-width: 160px; + box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); + z-index: 1; +} + + +/* Links inside the dropdown */ + +.dropdown-content a { + color: $backgroundcolor; + padding: 1em 1.5em; + text-decoration: none; + display: block; + margin: 0; +} + + +/* Change color of dropdown links on hover */ + +.dropdown-content a:hover { + background-color: $accentcolor +} + + +/* Show the dropdown menu on hover */ + +.dropdown:hover .dropdown-content { + display: block; +} + + +/* Change the background color of the dropdown button when the dropdown content is shown */ + +.dropdown:hover .dropbtn { + background-color: $accentcolor; +} + + +/*for removing bold tables*/ + +th { + font-weight: normal; + padding-right: 1em; +} + +.header-icons { + display: flex; + justify-content: center; + text-align: center; + z-index: 100; +} + +.down, +.header-icons .icon { + color: $backgroundcolor; + text-align: center +} + +.header-icons .icon { + height: 20px; + padding: 10px; + border: 2px solid $backgroundcolor; + transition: all .7s; + width: 20px; + font-size: 20px; + margin: 0.2em +} + +.header-icons .icon:active, +.header-icons .icon:hover { + color: #fff; + background: $backgroundcolor +} + +@media only screen and (min-width:550px) { + .header-icons .icon { + width: 35px; + height: 35px; + font-size: 35px + } +} + +.text-icon { + display: inline-block; + font-size: 40px; + line-height: 40px; + width: 40px; + height: 40px; + text-align: center; + vertical-align: bottom; +} + +.header-logo { + position: absolute; + left: 0.5em; + top: 4em; + width: 40vw; + height: 40vw; + z-index: 100; + background-image: url("../img/StuFF-Icon.png"); + background-size: cover; +} + +.header-links { + margin: 10px; + color: $backgroundcolor; + text-decoration: none; + font-size: 15px; + margin: 10px; + display: none; +} + +.header-menu { + display: initial; +} + +@media only screen and (min-width:550px) { + .header-logo { + width: 20vw; + height: 20vw; + top: 5em; + left: 1em; + } + .header-menu { + display: none; + } +} + +@media only screen and (min-width:1000px) { + .header-logo { + width: 15vw; + height: 15vw; + top: 6em; + left: 1.5em; + } + .header-links { + display: initial; + } +} + +.header { + position: absolute; + z-index: 1; + text-align: center; + width: 100%; + top: -12vh; + color: $backgroundcolor; + background-color: $accentcolor; + margin: 0 auto; + padding-bottom: 0.5em; + padding-top: 14vh; + font-family: "fff-header"; + /*transform: skewY(-5deg);*/ +} + +@media only screen and (min-width:550px) { + .header .site-title { + margin: 0; + font-size: 30pt; + display: block; + font-family: courier-prime; + } +} + +@media only screen and (min-width:1000px) { + .header .site-title { + margin: 0; + font-size: 40pt; + font-family: courier-prime; + } +} + +@media only screen and (min-width:1300px) { + .header .site-title { + margin: 0; + font-size: 50pt; + font-family: courier-prime; + } +} + +.header .site-description { + font-size: 30pt; + display: block; + line-height: 1; + color: $backgroundcolor; + margin-top: 10px +} + +@media only screen and (min-width:550px) { + .header .site-description { + font-size: 30pt + } +} + +.header-lower { + z-index: 1; + text-align: center; + height: 20%; + width: 100%; + bottom: 4vh; + color: $backgroundcolor; + position: absolute; + margin: 0 auto; + font-family: "fff-header"; +} + +.site-banner { + font-size: 16pt; + display: block; + line-height: 1; + color: $backgroundcolor; + font-family: fff-header; +} + +@media only screen and (min-width:550px) { + .site-banner { + margin: 0.5em 0; + font-size: 30pt; + } +} + +@media only screen and (min-width:550px) { + .demands { + width: 48% + } + .demands-right { + position: absolute; + right: 0; + top: 0; + width: 48% + } +} + +.subgroup { + float: left; + width: 33%; +} + +.faq { + padding-left: 4vw; + padding-right: 4vw; +} + +.faq summary { + padding-top: 0.5em; + font-size: 16pt; +} + +.demads-box { + position: relative; + margin-bottom: 0em; +} + +@media only screen and (min-width:550px) { + .demands-box { + position: relative; + margin-bottom: 5em; + } +} + +.demands-box h2 { + text-align: left; +} + +/* Emojis */ + + +img.emoji { + cursor: normal; + height: 1em; + margin: 0 .1em 0 .1em; + padding-top: 0.2em; + width: 1em; +} + + +/* borders between sections; border-top for the header with the title */ + + +.border-top { + position: static; + z-index: 10; + margin-top: -5vh; + padding: 2em; + background-color: $accentcolor; + font-size: 15pt; + color: $backgroundcolor; + text-align: center; + transform: skewY(-5deg); +} + + +.border-test div { + text-align: right; + display: inline-block; +} + +@media only screen and (min-width:550px) { + .border-top { + margin-top: -4em; + } +} + +.border-test { + position: relative; + left: calc(-50vw + 50%); + z-index: 10; + margin: 0px; + margin-top: 8vh; + padding-top: 2em; + padding-bottom: 2em; + background-color: $accentcolor; + font-size: 15pt; + color: $backgroundcolor; + text-align: center; + transform: skewY(-5deg); + width: 100vw; +} + +.language { + display: none; +} + + +@media only screen and (min-width:1000px) { + + .language { + position: absolute; + display: block; + right: 1em; + z-index: 20; + color: $backgroundcolor; + text-decoration: none; + font-size: 20px; + margin: 10px; + } +} + +.background { + z-index: 10; + left: 0vw; + width: 100%; + height: 80vh; + background-image: url("../img/background.jpg"); + background-size: cover; + background-position: center; +} + +@media only screen and (min-width:1000px) { + .background { + background-position: 0 100px; + } +} + +.programme h1 { + font-size: 35pt; + margin-bottom: 1vh; + text-align: center; +} + +.programme h2, +.programme h3 { + background: white; + padding: 3px 5px; + margin-right: 0.5em; + margin-left: 0.5em; +} + +.programme h2, +.programme h3 { + background: $accentcolor; + color: $backgroundcolor; + font-family: fff-header; + font-weight: normal; +} + +.programme div { + margin-left: 10px; + margin-right: 10px; + margin-bottom: 5px; +} + +.programme a, +.programme a:visited { + color: $accentcolor; + text-decoration: none; +} + +.programme a:hover { + color: #000; + text-decoration: underline; +} + +.time { + color: #000; + font-style: bold; +} + +.location { +} +.title { + font-weight: bold; +} + +.versammlung { + color: #ff0000; + font-weight: bold; + font-size: 18pt; +} + +.gridline { +} + +@media only screen and (min-width:1000px) { +.gridline { + display: grid; + grid-template-columns: 7.5em 15em auto; +} +} + +@media only screen and (max-width:1000px) { + .title { + display: block; + margin-left: 400px; + padding-top: 0em; + padding-bottom: 1em; + } + .time { + float: left; + width: 7em; + } + .location{ + } +} + + +.orga-logo { + width: 15em; + height: 15em; + padding: 1em; + background-size: cover; +} + +img { + float: left; + margin-right: 1em; +} + +.speaker img { + width: 15%; +} + +.speaker h2 { + text-align: left; +} + +.speaker .description { + color: #777; + font-family: fff-header; + font-style: thin; + margin-bottom: 1em; +} + + +/*! + * Font Awesome 4.7.0 by +@davegandy - http://fontawesome.io - +@fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@font-face { + font-family: 'FontAwesome'; + src: url(../fonts/fontawesome-webfont.eot?v=5.12.0); + src: url(../fonts/fontawesome-webfont.eot?#iefix&v=5.12.0) format("embedded-opentype"), url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"), url(../fonts/fontawesome-webfont.woff?v=5.12.0) format("woff"), url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"), url(../fonts/fontawesome-webfont.svg?v=5.12.0#fontawesomeregular) format("svg"); + font-weight: 400; + font-style: normal +} + +.fa { + display: inline-block; + font: 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.fa-lg .fa-glass:before { + content: "\f000" +} + +.fa-music:before { + content: "\f001" +} + +.fa-search:before { + content: "\f002" +} + +.fa-envelope-o:before { + content: "\f003" +} + +.fa-heart:before { + content: "\f004" +} + +.fa-star:before { + content: "\f005" +} + +.fa-star-o:before { + content: "\f006" +} + +.fa-user:before { + content: "\f007" +} + +.fa-film:before { + content: "\f008" +} + +.fa-th-large:before { + content: "\f009" +} + +.fa-th:before { + content: "\f00a" +} + +.fa-th-list:before { + content: "\f00b" +} + +.fa-check:before { + content: "\f00c" +} + +.fa-close:before, +.fa-remove:before, +.fa-times:before { + content: "\f00d" +} + +.fa-search-plus:before { + content: "\f00e" +} + +.fa-search-minus:before { + content: "\f010" +} + +.fa-power-off:before { + content: "\f011" +} + +.fa-signal:before { + content: "\f012" +} + +.fa-cog:before, +.fa-gear:before { + content: "\f013" +} + +.fa-trash-o:before { + content: "\f014" +} + +.fa-home:before { + content: "\f015" +} + +.fa-file-o:before { + content: "\f016" +} + +.fa-clock-o:before { + content: "\f017" +} + +.fa-road:before { + content: "\f018" +} + +.fa-download:before { + content: "\f019" +} + +.fa-arrow-circle-o-down:before { + content: "\f01a" +} + +.fa-arrow-circle-o-up:before { + content: "\f01b" +} + +.fa-inbox:before { + content: "\f01c" +} + +.fa-play-circle-o:before { + content: "\f01d" +} + +.fa-repeat:before, +.fa-rotate-right:before { + content: "\f01e" +} + +.fa-refresh:before { + content: "\f021" +} + +.fa-list-alt:before { + content: "\f022" +} + +.fa-lock:before { + content: "\f023" +} + +.fa-flag:before { + content: "\f024" +} + +.fa-headphones:before { + content: "\f025" +} + +.fa-volume-off:before { + content: "\f026" +} + +.fa-volume-down:before { + content: "\f027" +} + +.fa-volume-up:before { + content: "\f028" +} + +.fa-qrcode:before { + content: "\f029" +} + +.fa-barcode:before { + content: "\f02a" +} + +.fa-tag:before { + content: "\f02b" +} + +.fa-tags:before { + content: "\f02c" +} + +.fa-book:before { + content: "\f02d" +} + +.fa-bookmark:before { + content: "\f02e" +} + +.fa-print:before { + content: "\f02f" +} + +.fa-camera:before { + content: "\f030" +} + +.fa-font:before { + content: "\f031" +} + +.fa-bold:before { + content: "\f032" +} + +.fa-italic:before { + content: "\f033" +} + +.fa-text-height:before { + content: "\f034" +} + +.fa-text-width:before { + content: "\f035" +} + +.fa-align-left:before { + content: "\f036" +} + +.fa-align-center:before { + content: "\f037" +} + +.fa-align-right:before { + content: "\f038" +} + +.fa-align-justify:before { + content: "\f039" +} + +.fa-list:before { + content: "\f03a" +} + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b" +} + +.fa-indent:before { + content: "\f03c" +} + +.fa-video-camera:before { + content: "\f03d" +} + +.fa-image:before, +.fa-photo:before, +.fa-picture-o:before { + content: "\f03e" +} + +.fa-pencil:before { + content: "\f040" +} + +.fa-map-marker:before { + content: "\f041" +} + +.fa-adjust:before { + content: "\f042" +} + +.fa-tint:before { + content: "\f043" +} + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044" +} + +.fa-share-square-o:before { + content: "\f045" +} + +.fa-check-square-o:before { + content: "\f046" +} + +.fa-arrows:before { + content: "\f047" +} + +.fa-step-backward:before { + content: "\f048" +} + +.fa-fast-backward:before { + content: "\f049" +} + +.fa-backward:before { + content: "\f04a" +} + +.fa-play:before { + content: "\f04b" +} + +.fa-pause:before { + content: "\f04c" +} + +.fa-stop:before { + content: "\f04d" +} + +.fa-forward:before { + content: "\f04e" +} + +.fa-fast-forward:before { + content: "\f050" +} + +.fa-step-forward:before { + content: "\f051" +} + +.fa-eject:before { + content: "\f052" +} + +.fa-chevron-left:before { + content: "\f053" +} + +.fa-chevron-right:before { + content: "\f054" +} + +.fa-plus-circle:before { + content: "\f055" +} + +.fa-minus-circle:before { + content: "\f056" +} + +.fa-times-circle:before { + content: "\f057" +} + +.fa-check-circle:before { + content: "\f058" +} + +.fa-question-circle:before { + content: "\f059" +} + +.fa-info-circle:before { + content: "\f05a" +} + +.fa-crosshairs:before { + content: "\f05b" +} + +.fa-times-circle-o:before { + content: "\f05c" +} + +.fa-check-circle-o:before { + content: "\f05d" +} + +.fa-ban:before { + content: "\f05e" +} + +.fa-arrow-left:before { + content: "\f060" +} + +.fa-arrow-right:before { + content: "\f061" +} + +.fa-arrow-up:before { + content: "\f062" +} + +.fa-arrow-down:before { + content: "\f063" +} + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064" +} + +.fa-expand:before { + content: "\f065" +} + +.fa-compress:before { + content: "\f066" +} + +.fa-plus:before { + content: "\f067" +} + +.fa-minus:before { + content: "\f068" +} + +.fa-asterisk:before { + content: "\f069" +} + +.fa-exclamation-circle:before { + content: "\f06a" +} + +.fa-gift:before { + content: "\f06b" +} + +.fa-leaf:before { + content: "\f06c" +} + +.fa-fire:before { + content: "\f06d" +} + +.fa-eye:before { + content: "\f06e" +} + +.fa-eye-slash:before { + content: "\f070" +} + +.fa-exclamation-triangle:before, +.fa-warning:before { + content: "\f071" +} + +.fa-plane:before { + content: "\f072" +} + +.fa-calendar:before { + content: "\f073" +} + +.fa-random:before { + content: "\f074" +} + +.fa-comment:before { + content: "\f075" +} + +.fa-magnet:before { + content: "\f076" +} + +.fa-chevron-up:before { + content: "\f077" +} + +.fa-chevron-down:before { + content: "\f078" +} + +.fa-retweet:before { + content: "\f079" +} + +.fa-shopping-cart:before { + content: "\f07a" +} + +.fa-folder:before { + content: "\f07b" +} + +.fa-folder-open:before { + content: "\f07c" +} + +.fa-arrows-v:before { + content: "\f07d" +} + +.fa-arrows-h:before { + content: "\f07e" +} + +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080" +} + +.fa-twitter-square:before { + content: "\f081" +} + +.fa-facebook-square:before { + content: "\f082" +} + +.fa-camera-retro:before { + content: "\f083" +} + +.fa-key:before { + content: "\f084" +} + +.fa-cogs:before, +.fa-gears:before { + content: "\f085" +} + +.fa-comments:before { + content: "\f086" +} + +.fa-thumbs-o-up:before { + content: "\f087" +} + +.fa-thumbs-o-down:before { + content: "\f088" +} + +.fa-star-half:before { + content: "\f089" +} + +.fa-heart-o:before { + content: "\f08a" +} + +.fa-sign-out:before { + content: "\f08b" +} + +.fa-linkedin-square:before { + content: "\f08c" +} + +.fa-thumb-tack:before { + content: "\f08d" +} + +.fa-external-link:before { + content: "\f08e" +} + +.fa-sign-in:before { + content: "\f090" +} + +.fa-trophy:before { + content: "\f091" +} + +.fa-github-square:before { + content: "\f092" +} + +.fa-upload:before { + content: "\f093" +} + +.fa-lemon-o:before { + content: "\f094" +} + +.fa-phone:before { + content: "\f095" +} + +.fa-square-o:before { + content: "\f096" +} + +.fa-bookmark-o:before { + content: "\f097" +} + +.fa-phone-square:before { + content: "\f098" +} + +.fa-twitter:before { + content: "\f099" +} + +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a" +} + +.fa-github:before { + content: "\f09b" +} + +.fa-unlock:before { + content: "\f09c" +} + +.fa-credit-card:before { + content: "\f09d" +} + +.fa-feed:before, +.fa-rss:before { + content: "\f09e" +} + +.fa-hdd-o:before { + content: "\f0a0" +} + +.fa-bullhorn:before { + content: "\f0a1" +} + +.fa-bell:before { + content: "\f0f3" +} + +.fa-certificate:before { + content: "\f0a3" +} + +.fa-hand-o-right:before { + content: "\f0a4" +} + +.fa-hand-o-left:before { + content: "\f0a5" +} + +.fa-hand-o-up:before { + content: "\f0a6" +} + +.fa-hand-o-down:before { + content: "\f0a7" +} + +.fa-arrow-circle-left:before { + content: "\f0a8" +} + +.fa-arrow-circle-right:before { + content: "\f0a9" +} + +.fa-arrow-circle-up:before { + content: "\f0aa" +} + +.fa-arrow-circle-down:before { + content: "\f0ab" +} + +.fa-globe:before { + content: "\f0ac" +} + +.fa-wrench:before { + content: "\f0ad" +} + +.fa-tasks:before { + content: "\f0ae" +} + +.fa-filter:before { + content: "\f0b0" +} + +.fa-briefcase:before { + content: "\f0b1" +} + +.fa-arrows-alt:before { + content: "\f0b2" +} + +.fa-group:before, +.fa-users:before { + content: "\f0c0" +} + +.fa-chain:before, +.fa-link:before { + content: "\f0c1" +} + +.fa-cloud:before { + content: "\f0c2" +} + +.fa-flask:before { + content: "\f0c3" +} + +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4" +} + +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5" +} + +.fa-paperclip:before { + content: "\f0c6" +} + +.fa-floppy-o:before, +.fa-save:before { + content: "\f0c7" +} + +.fa-square:before { + content: "\f0c8" +} + +.fa-bars:before, +.fa-navicon:before, +.fa-reorder:before { + content: "\f0c9" +} + +.fa-list-ul:before { + content: "\f0ca" +} + +.fa-list-ol:before { + content: "\f0cb" +} + +.fa-strikethrough:before { + content: "\f0cc" +} + +.fa-underline:before { + content: "\f0cd" +} + +.fa-table:before { + content: "\f0ce" +} + +.fa-magic:before { + content: "\f0d0" +} + +.fa-truck:before { + content: "\f0d1" +} + +.fa-pinterest:before { + content: "\f0d2" +} + +.fa-pinterest-square:before { + content: "\f0d3" +} + +.fa-google-plus-square:before { + content: "\f0d4" +} + +.fa-google-plus:before { + content: "\f0d5" +} + +.fa-money:before { + content: "\f0d6" +} + +.fa-caret-down:before { + content: "\f0d7" +} + +.fa-caret-up:before { + content: "\f0d8" +} + +.fa-caret-left:before { + content: "\f0d9" +} + +.fa-caret-right:before { + content: "\f0da" +} + +.fa-columns:before { + content: "\f0db" +} + +.fa-sort:before, +.fa-unsorted:before { + content: "\f0dc" +} + +.fa-sort-desc:before, +.fa-sort-down:before { + content: "\f0dd" +} + +.fa-sort-asc:before, +.fa-sort-up:before { + content: "\f0de" +} + +.fa-envelope:before { + content: "\f0e0" +} + +.fa-linkedin:before { + content: "\f0e1" +} + +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2" +} + +.fa-gavel:before, +.fa-legal:before { + content: "\f0e3" +} + +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4" +} + +.fa-comment-o:before { + content: "\f0e5" +} + +.fa-comments-o:before { + content: "\f0e6" +} + +.fa-bolt:before, +.fa-flash:before { + content: "\f0e7" +} + +.fa-sitemap:before { + content: "\f0e8" +} + +.fa-umbrella:before { + content: "\f0e9" +} + +.fa-clipboard:before, +.fa-paste:before { + content: "\f0ea" +} + +.fa-lightbulb-o:before { + content: "\f0eb" +} + +.fa-exchange:before { + content: "\f0ec" +} + +.fa-cloud-download:before { + content: "\f0ed" +} + +.fa-cloud-upload:before { + content: "\f0ee" +} + +.fa-user-md:before { + content: "\f0f0" +} + +.fa-stethoscope:before { + content: "\f0f1" +} + +.fa-suitcase:before { + content: "\f0f2" +} + +.fa-bell-o:before { + content: "\f0a2" +} + +.fa-coffee:before { + content: "\f0f4" +} + +.fa-cutlery:before { + content: "\f0f5" +} + +.fa-file-text-o:before { + content: "\f0f6" +} + +.fa-building-o:before { + content: "\f0f7" +} + +.fa-hospital-o:before { + content: "\f0f8" +} + +.fa-ambulance:before { + content: "\f0f9" +} + +.fa-medkit:before { + content: "\f0fa" +} + +.fa-fighter-jet:before { + content: "\f0fb" +} + +.fa-beer:before { + content: "\f0fc" +} + +.fa-h-square:before { + content: "\f0fd" +} + +.fa-plus-square:before { + content: "\f0fe" +} + +.fa-angle-double-left:before { + content: "\f100" +} + +.fa-angle-double-right:before { + content: "\f101" +} + +.fa-angle-double-up:before { + content: "\f102" +} + +.fa-angle-double-down:before { + content: "\f103" +} + +.fa-angle-left:before { + content: "\f104" +} + +.fa-angle-right:before { + content: "\f105" +} + +.fa-angle-up:before { + content: "\f106" +} + +.fa-angle-down:before { + content: "\f107" +} + +.fa-desktop:before { + content: "\f108" +} + +.fa-laptop:before { + content: "\f109" +} + +.fa-tablet:before { + content: "\f10a" +} + +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b" +} + +.fa-circle-o:before { + content: "\f10c" +} + +.fa-quote-left:before { + content: "\f10d" +} + +.fa-quote-right:before { + content: "\f10e" +} + +.fa-spinner:before { + content: "\f110" +} + +.fa-circle:before { + content: "\f111" +} + +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112" +} + +.fa-github-alt:before { + content: "\f113" +} + +.fa-folder-o:before { + content: "\f114" +} + +.fa-folder-open-o:before { + content: "\f115" +} + +.fa-smile-o:before { + content: "\f118" +} + +.fa-frown-o:before { + content: "\f119" +} + +.fa-meh-o:before { + content: "\f11a" +} + +.fa-gamepad:before { + content: "\f11b" +} + +.fa-keyboard-o:before { + content: "\f11c" +} + +.fa-flag-o:before { + content: "\f11d" +} + +.fa-flag-checkered:before { + content: "\f11e" +} + +.fa-terminal:before { + content: "\f120" +} + +.fa-code:before { + content: "\f121" +} + +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122" +} + +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123" +} + +.fa-location-arrow:before { + content: "\f124" +} + +.fa-crop:before { + content: "\f125" +} + +.fa-code-fork:before { + content: "\f126" +} + +.fa-chain-broken:before, +.fa-unlink:before { + content: "\f127" +} + +.fa-question:before { + content: "\f128" +} + +.fa-info:before { + content: "\f129" +} + +.fa-exclamation:before { + content: "\f12a" +} + +.fa-superscript:before { + content: "\f12b" +} + +.fa-subscript:before { + content: "\f12c" +} + +.fa-eraser:before { + content: "\f12d" +} + +.fa-puzzle-piece:before { + content: "\f12e" +} + +.fa-microphone:before { + content: "\f130" +} + +.fa-microphone-slash:before { + content: "\f131" +} + +.fa-shield:before { + content: "\f132" +} + +.fa-calendar-o:before { + content: "\f133" +} + +.fa-fire-extinguisher:before { + content: "\f134" +} + +.fa-rocket:before { + content: "\f135" +} + +.fa-maxcdn:before { + content: "\f136" +} + +.fa-chevron-circle-left:before { + content: "\f137" +} + +.fa-chevron-circle-right:before { + content: "\f138" +} + +.fa-chevron-circle-up:before { + content: "\f139" +} + +.fa-chevron-circle-down:before { + content: "\f13a" +} + +.fa-html5:before { + content: "\f13b" +} + +.fa-css3:before { + content: "\f13c" +} + +.fa-anchor:before { + content: "\f13d" +} + +.fa-unlock-alt:before { + content: "\f13e" +} + +.fa-bullseye:before { + content: "\f140" +} + +.fa-ellipsis-h:before { + content: "\f141" +} + +.fa-ellipsis-v:before { + content: "\f142" +} + +.fa-rss-square:before { + content: "\f143" +} + +.fa-play-circle:before { + content: "\f144" +} + +.fa-ticket:before { + content: "\f145" +} + +.fa-minus-square:before { + content: "\f146" +} + +.fa-minus-square-o:before { + content: "\f147" +} + +.fa-level-up:before { + content: "\f148" +} + +.fa-level-down:before { + content: "\f149" +} + +.fa-check-square:before { + content: "\f14a" +} + +.fa-pencil-square:before { + content: "\f14b" +} + +.fa-external-link-square:before { + content: "\f14c" +} + +.fa-share-square:before { + content: "\f14d" +} + +.fa-compass:before { + content: "\f14e" +} + +.fa-caret-square-o-down:before, +.fa-toggle-down:before { + content: "\f150" +} + +.fa-caret-square-o-up:before, +.fa-toggle-up:before { + content: "\f151" +} + +.fa-caret-square-o-right:before, +.fa-toggle-right:before { + content: "\f152" +} + +.fa-eur:before, +.fa-euro:before { + content: "\f153" +} + +.fa-gbp:before { + content: "\f154" +} + +.fa-dollar:before, +.fa-usd:before { + content: "\f155" +} + +.fa-inr:before, +.fa-rupee:before { + content: "\f156" +} + +.fa-cny:before, +.fa-jpy:before, +.fa-rmb:before, +.fa-yen:before { + content: "\f157" +} + +.fa-rouble:before, +.fa-rub:before, +.fa-ruble:before { + content: "\f158" +} + +.fa-krw:before, +.fa-won:before { + content: "\f159" +} + +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a" +} + +.fa-file:before { + content: "\f15b" +} + +.fa-file-text:before { + content: "\f15c" +} + +.fa-sort-alpha-asc:before { + content: "\f15d" +} + +.fa-sort-alpha-desc:before { + content: "\f15e" +} + +.fa-sort-amount-asc:before { + content: "\f160" +} + +.fa-sort-amount-desc:before { + content: "\f161" +} + +.fa-sort-numeric-asc:before { + content: "\f162" +} + +.fa-sort-numeric-desc:before { + content: "\f163" +} + +.fa-thumbs-up:before { + content: "\f164" +} + +.fa-thumbs-down:before { + content: "\f165" +} + +.fa-youtube-square:before { + content: "\f166" +} + +.fa-youtube:before { + content: "\f167" +} + +.fa-xing:before { + content: "\f168" +} + +.fa-xing-square:before { + content: "\f169" +} + +.fa-youtube-play:before { + content: "\f16a" +} + +.fa-dropbox:before { + content: "\f16b" +} + +.fa-stack-overflow:before { + content: "\f16c" +} + +.fa-instagram:before { + content: "\f16d" +} + +.fa-flickr:before { + content: "\f16e" +} + +.fa-adn:before { + content: "\f170" +} + +.fa-bitbucket:before { + content: "\f171" +} + +.fa-bitbucket-square:before { + content: "\f172" +} + +.fa-tumblr:before { + content: "\f173" +} + +.fa-tumblr-square:before { + content: "\f174" +} + +.fa-long-arrow-down:before { + content: "\f175" +} + +.fa-long-arrow-up:before { + content: "\f176" +} + +.fa-long-arrow-left:before { + content: "\f177" +} + +.fa-long-arrow-right:before { + content: "\f178" +} + +.fa-apple:before { + content: "\f179" +} + +.fa-windows:before { + content: "\f17a" +} + +.fa-android:before { + content: "\f17b" +} + +.fa-linux:before { + content: "\f17c" +} + +.fa-dribbble:before { + content: "\f17d" +} + +.fa-skype:before { + content: "\f17e" +} + +.fa-foursquare:before { + content: "\f180" +} + +.fa-trello:before { + content: "\f181" +} + +.fa-female:before { + content: "\f182" +} + +.fa-male:before { + content: "\f183" +} + +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184" +} + +.fa-sun-o:before { + content: "\f185" +} + +.fa-moon-o:before { + content: "\f186" +} + +.fa-archive:before { + content: "\f187" +} + +.fa-bug:before { + content: "\f188" +} + +.fa-vk:before { + content: "\f189" +} + +.fa-weibo:before { + content: "\f18a" +} + +.fa-renren:before { + content: "\f18b" +} + +.fa-pagelines:before { + content: "\f18c" +} + +.fa-stack-exchange:before { + content: "\f18d" +} + +.fa-arrow-circle-o-right:before { + content: "\f18e" +} + +.fa-arrow-circle-o-left:before { + content: "\f190" +} + +.fa-caret-square-o-left:before, +.fa-toggle-left:before { + content: "\f191" +} + +.fa-dot-circle-o:before { + content: "\f192" +} + +.fa-wheelchair:before { + content: "\f193" +} + +.fa-vimeo-square:before { + content: "\f194" +} + +.fa-try:before, +.fa-turkish-lira:before { + content: "\f195" +} + +.fa-plus-square-o:before { + content: "\f196" +} + +.fa-space-shuttle:before { + content: "\f197" +} + +.fa-slack:before { + content: "\f198" +} + +.fa-envelope-square:before { + content: "\f199" +} + +.fa-wordpress:before { + content: "\f19a" +} + +.fa-openid:before { + content: "\f19b" +} + +.fa-bank:before, +.fa-institution:before, +.fa-university:before { + content: "\f19c" +} + +.fa-graduation-cap:before, +.fa-mortar-board:before { + content: "\f19d" +} + +.fa-yahoo:before { + content: "\f19e" +} + +.fa-google:before { + content: "\f1a0" +} + +.fa-reddit:before { + content: "\f1a1" +} + +.fa-reddit-square:before { + content: "\f1a2" +} + +.fa-stumbleupon-circle:before { + content: "\f1a3" +} + +.fa-stumbleupon:before { + content: "\f1a4" +} + +.fa-delicious:before { + content: "\f1a5" +} + +.fa-digg:before { + content: "\f1a6" +} + +.fa-pied-piper-pp:before { + content: "\f1a7" +} + +.fa-pied-piper-alt:before { + content: "\f1a8" +} + +.fa-drupal:before { + content: "\f1a9" +} + +.fa-joomla:before { + content: "\f1aa" +} + +.fa-language:before { + content: "\f1ab" +} + +.fa-fax:before { + content: "\f1ac" +} + +.fa-building:before { + content: "\f1ad" +} + +.fa-child:before { + content: "\f1ae" +} + +.fa-paw:before { + content: "\f1b0" +} + +.fa-spoon:before { + content: "\f1b1" +} + +.fa-cube:before { + content: "\f1b2" +} + +.fa-cubes:before { + content: "\f1b3" +} + +.fa-behance:before { + content: "\f1b4" +} + +.fa-behance-square:before { + content: "\f1b5" +} + +.fa-steam:before { + content: "\f1b6" +} + +.fa-steam-square:before { + content: "\f1b7" +} + +.fa-recycle:before { + content: "\f1b8" +} + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9" +} + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba" +} + +.fa-tree:before { + content: "\f1bb" +} + +.fa-spotify:before { + content: "\f1bc" +} + +.fa-deviantart:before { + content: "\f1bd" +} + +.fa-soundcloud:before { + content: "\f1be" +} + +.fa-database:before { + content: "\f1c0" +} + +.fa-file-pdf-o:before { + content: "\f1c1" +} + +.fa-file-word-o:before { + content: "\f1c2" +} + +.fa-file-excel-o:before { + content: "\f1c3" +} + +.fa-file-powerpoint-o:before { + content: "\f1c4" +} + +.fa-file-image-o:before, +.fa-file-photo-o:before, +.fa-file-picture-o:before { + content: "\f1c5" +} + +.fa-file-archive-o:before, +.fa-file-zip-o:before { + content: "\f1c6" +} + +.fa-file-audio-o:before, +.fa-file-sound-o:before { + content: "\f1c7" +} + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8" +} + +.fa-file-code-o:before { + content: "\f1c9" +} + +.fa-vine:before { + content: "\f1ca" +} + +.fa-codepen:before { + content: "\f1cb" +} + +.fa-jsfiddle:before { + content: "\f1cc" +} + +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-ring:before, +.fa-life-saver:before, +.fa-support:before { + content: "\f1cd" +} + +.fa-circle-o-notch:before { + content: "\f1ce" +} + +.fa-ra:before, +.fa-rebel:before, +.fa-resistance:before { + content: "\f1d0" +} + +.fa-empire:before, +.fa-ge:before { + content: "\f1d1" +} + +.fa-git-square:before { + content: "\f1d2" +} + +.fa-git:before { + content: "\f1d3" +} + +.fa-hacker-news:before, +.fa-y-combinator-square:before, +.fa-yc-square:before { + content: "\f1d4" +} + +.fa-tencent-weibo:before { + content: "\f1d5" +} + +.fa-qq:before { + content: "\f1d6" +} + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7" +} + +.fa-paper-plane:before, +.fa-send:before { + content: "\f1d8" +} + +.fa-paper-plane-o:before, +.fa-send-o:before { + content: "\f1d9" +} + +.fa-history:before { + content: "\f1da" +} + +.fa-circle-thin:before { + content: "\f1db" +} + +.fa-header:before { + content: "\f1dc" +} + +.fa-paragraph:before { + content: "\f1dd" +} + +.fa-sliders:before { + content: "\f1de" +} + +.fa-share-alt:before { + content: "\f1e0" +} + +.fa-share-alt-square:before { + content: "\f1e1" +} + +.fa-bomb:before { + content: "\f1e2" +} + +.fa-futbol-o:before, +.fa-soccer-ball-o:before { + content: "\f1e3" +} + +.fa-tty:before { + content: "\f1e4" +} + +.fa-binoculars:before { + content: "\f1e5" +} + +.fa-plug:before { + content: "\f1e6" +} + +.fa-slideshare:before { + content: "\f1e7" +} + +.fa-twitch:before { + content: "\f1e8" +} + +.fa-yelp:before { + content: "\f1e9" +} + +.fa-newspaper-o:before { + content: "\f1ea" +} + +.fa-wifi:before { + content: "\f1eb" +} + +.fa-calculator:before { + content: "\f1ec" +} + +.fa-paypal:before { + content: "\f1ed" +} + +.fa-google-wallet:before { + content: "\f1ee" +} + +.fa-cc-visa:before { + content: "\f1f0" +} + +.fa-cc-mastercard:before { + content: "\f1f1" +} + +.fa-cc-discover:before { + content: "\f1f2" +} + +.fa-cc-amex:before { + content: "\f1f3" +} + +.fa-cc-paypal:before { + content: "\f1f4" +} + +.fa-cc-stripe:before { + content: "\f1f5" +} + +.fa-bell-slash:before { + content: "\f1f6" +} + +.fa-bell-slash-o:before { + content: "\f1f7" +} + +.fa-trash:before { + content: "\f1f8" +} + +.fa-copyright:before { + content: "\f1f9" +} + +.fa-at:before { + content: "\f1fa" +} + +.fa-eyedropper:before { + content: "\f1fb" +} + +.fa-paint-brush:before { + content: "\f1fc" +} + +.fa-birthday-cake:before { + content: "\f1fd" +} + +.fa-area-chart:before { + content: "\f1fe" +} + +.fa-pie-chart:before { + content: "\f200" +} + +.fa-line-chart:before { + content: "\f201" +} + +.fa-lastfm:before { + content: "\f202" +} + +.fa-lastfm-square:before { + content: "\f203" +} + +.fa-toggle-off:before { + content: "\f204" +} + +.fa-toggle-on:before { + content: "\f205" +} + +.fa-bicycle:before { + content: "\f206" +} + +.fa-bus:before { + content: "\f207" +} + +.fa-ioxhost:before { + content: "\f208" +} + +.fa-angellist:before { + content: "\f209" +} + +.fa-cc:before { + content: "\f20a" +} + +.fa-ils:before, +.fa-shekel:before, +.fa-sheqel:before { + content: "\f20b" +} + +.fa-meanpath:before { + content: "\f20c" +} + +.fa-buysellads:before { + content: "\f20d" +} + +.fa-connectdevelop:before { + content: "\f20e" +} + +.fa-dashcube:before { + content: "\f210" +} + +.fa-forumbee:before { + content: "\f211" +} + +.fa-leanpub:before { + content: "\f212" +} + +.fa-sellsy:before { + content: "\f213" +} + +.fa-shirtsinbulk:before { + content: "\f214" +} + +.fa-simplybuilt:before { + content: "\f215" +} + +.fa-skyatlas:before { + content: "\f216" +} + +.fa-cart-plus:before { + content: "\f217" +} + +.fa-cart-arrow-down:before { + content: "\f218" +} + +.fa-diamond:before { + content: "\f219" +} + +.fa-ship:before { + content: "\f21a" +} + +.fa-user-secret:before { + content: "\f21b" +} + +.fa-motorcycle:before { + content: "\f21c" +} + +.fa-street-view:before { + content: "\f21d" +} + +.fa-heartbeat:before { + content: "\f21e" +} + +.fa-venus:before { + content: "\f221" +} + +.fa-mars:before { + content: "\f222" +} + +.fa-mercury:before { + content: "\f223" +} + +.fa-intersex:before, +.fa-transgender:before { + content: "\f224" +} + +.fa-transgender-alt:before { + content: "\f225" +} + +.fa-venus-double:before { + content: "\f226" +} + +.fa-mars-double:before { + content: "\f227" +} + +.fa-venus-mars:before { + content: "\f228" +} + +.fa-mars-stroke:before { + content: "\f229" +} + +.fa-mars-stroke-v:before { + content: "\f22a" +} + +.fa-mars-stroke-h:before { + content: "\f22b" +} + +.fa-neuter:before { + content: "\f22c" +} + +.fa-genderless:before { + content: "\f22d" +} + +.fa-facebook-official:before { + content: "\f230" +} + +.fa-pinterest-p:before { + content: "\f231" +} + +.fa-whatsapp:before { + content: "\f232" +} + +.fa-server:before { + content: "\f233" +} + +.fa-user-plus:before { + content: "\f234" +} + +.fa-user-times:before { + content: "\f235" +} + +.fa-bed:before, +.fa-hotel:before { + content: "\f236" +} + +.fa-viacoin:before { + content: "\f237" +} + +.fa-train:before { + content: "\f238" +} + +.fa-subway:before { + content: "\f239" +} + +.fa-medium:before { + content: "\f23a" +} + +.fa-y-combinator:before, +.fa-yc:before { + content: "\f23b" +} + +.fa-optin-monster:before { + content: "\f23c" +} + +.fa-opencart:before { + content: "\f23d" +} + +.fa-expeditedssl:before { + content: "\f23e" +} + +.fa-battery-4:before, +.fa-battery-full:before, +.fa-battery:before { + content: "\f240" +} + +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241" +} + +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242" +} + +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243" +} + +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244" +} + +.fa-mouse-pointer:before { + content: "\f245" +} + +.fa-i-cursor:before { + content: "\f246" +} + +.fa-object-group:before { + content: "\f247" +} + +.fa-object-ungroup:before { + content: "\f248" +} + +.fa-sticky-note:before { + content: "\f249" +} + +.fa-sticky-note-o:before { + content: "\f24a" +} + +.fa-cc-jcb:before { + content: "\f24b" +} + +.fa-cc-diners-club:before { + content: "\f24c" +} + +.fa-clone:before { + content: "\f24d" +} + +.fa-balance-scale:before { + content: "\f24e" +} + +.fa-hourglass-o:before { + content: "\f250" +} + +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251" +} + +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252" +} + +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253" +} + +.fa-hourglass:before { + content: "\f254" +} + +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255" +} + +.fa-hand-paper-o:before, +.fa-hand-stop-o:before { + content: "\f256" +} + +.fa-hand-scissors-o:before { + content: "\f257" +} + +.fa-hand-lizard-o:before { + content: "\f258" +} + +.fa-hand-spock-o:before { + content: "\f259" +} + +.fa-hand-pointer-o:before { + content: "\f25a" +} + +.fa-hand-peace-o:before { + content: "\f25b" +} + +.fa-trademark:before { + content: "\f25c" +} + +.fa-registered:before { + content: "\f25d" +} + +.fa-creative-commons:before { + content: "\f25e" +} + +.fa-gg:before { + content: "\f260" +} + +.fa-gg-circle:before { + content: "\f261" +} + +.fa-tripadvisor:before { + content: "\f262" +} + +.fa-odnoklassniki:before { + content: "\f263" +} + +.fa-odnoklassniki-square:before { + content: "\f264" +} + +.fa-get-pocket:before { + content: "\f265" +} + +.fa-wikipedia-w:before { + content: "\f266" +} + +.fa-safari:before { + content: "\f267" +} + +.fa-chrome:before { + content: "\f268" +} + +.fa-firefox:before { + content: "\f269" +} + +.fa-opera:before { + content: "\f26a" +} + +.fa-internet-explorer:before { + content: "\f26b" +} + +.fa-television:before, +.fa-tv:before { + content: "\f26c" +} + +.fa-contao:before { + content: "\f26d" +} + +.fa-500px:before { + content: "\f26e" +} + +.fa-amazon:before { + content: "\f270" +} + +.fa-calendar-plus-o:before { + content: "\f271" +} + +.fa-calendar-minus-o:before { + content: "\f272" +} + +.fa-calendar-times-o:before { + content: "\f273" +} + +.fa-calendar-check-o:before { + content: "\f274" +} + +.fa-industry:before { + content: "\f275" +} + +.fa-map-pin:before { + content: "\f276" +} + +.fa-map-signs:before { + content: "\f277" +} + +.fa-map-o:before { + content: "\f278" +} + +.fa-map:before { + content: "\f279" +} + +.fa-commenting:before { + content: "\f27a" +} + +.fa-commenting-o:before { + content: "\f27b" +} + +.fa-houzz:before { + content: "\f27c" +} + +.fa-vimeo:before { + content: "\f27d" +} + +.fa-black-tie:before { + content: "\f27e" +} + +.fa-fonticons:before { + content: "\f280" +} + +.fa-reddit-alien:before { + content: "\f281" +} + +.fa-edge:before { + content: "\f282" +} + +.fa-credit-card-alt:before { + content: "\f283" +} + +.fa-codiepie:before { + content: "\f284" +} + +.fa-modx:before { + content: "\f285" +} + +.fa-fort-awesome:before { + content: "\f286" +} + +.fa-usb:before { + content: "\f287" +} + +.fa-product-hunt:before { + content: "\f288" +} + +.fa-mixcloud:before { + content: "\f289" +} + +.fa-scribd:before { + content: "\f28a" +} + +.fa-pause-circle:before { + content: "\f28b" +} + +.fa-pause-circle-o:before { + content: "\f28c" +} + +.fa-stop-circle:before { + content: "\f28d" +} + +.fa-stop-circle-o:before { + content: "\f28e" +} + +.fa-shopping-bag:before { + content: "\f290" +} + +.fa-shopping-basket:before { + content: "\f291" +} + +.fa-hashtag:before { + content: "\f292" +} + +.fa-bluetooth:before { + content: "\f293" +} + +.fa-bluetooth-b:before { + content: "\f294" +} + +.fa-percent:before { + content: "\f295" +} + +.fa-gitlab:before { + content: "\f296" +} + +.fa-wpbeginner:before { + content: "\f297" +} + +.fa-wpforms:before { + content: "\f298" +} + +.fa-envira:before { + content: "\f299" +} + +.fa-universal-access:before { + content: "\f29a" +} + +.fa-wheelchair-alt:before { + content: "\f29b" +} + +.fa-question-circle-o:before { + content: "\f29c" +} + +.fa-blind:before { + content: "\f29d" +} + +.fa-audio-description:before { + content: "\f29e" +} + +.fa-volume-control-phone:before { + content: "\f2a0" +} + +.fa-braille:before { + content: "\f2a1" +} + +.fa-assistive-listening-systems:before { + content: "\f2a2" +} + +.fa-american-sign-language-interpreting:before, +.fa-asl-interpreting:before { + content: "\f2a3" +} + +.fa-deaf:before, +.fa-deafness:before, +.fa-hard-of-hearing:before { + content: "\f2a4" +} + +.fa-glide:before { + content: "\f2a5" +} + +.fa-glide-g:before { + content: "\f2a6" +} + +.fa-sign-language:before, +.fa-signing:before { + content: "\f2a7" +} + +.fa-low-vision:before { + content: "\f2a8" +} + +.fa-viadeo:before { + content: "\f2a9" +} + +.fa-viadeo-square:before { + content: "\f2aa" +} + +.fa-snapchat:before { + content: "\f2ab" +} + +.fa-snapchat-ghost:before { + content: "\f2ac" +} + +.fa-snapchat-square:before { + content: "\f2ad" +} + +.fa-pied-piper:before { + content: "\f2ae" +} + +.fa-first-order:before { + content: "\f2b0" +} + +.fa-yoast:before { + content: "\f2b1" +} + +.fa-themeisle:before { + content: "\f2b2" +} + +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3" +} + +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4" +} + +.fa-handshake-o:before { + content: "\f2b5" +} + +.fa-envelope-open:before { + content: "\f2b6" +} + +.fa-envelope-open-o:before { + content: "\f2b7" +} + +.fa-linode:before { + content: "\f2b8" +} + +.fa-address-book:before { + content: "\f2b9" +} + +.fa-address-book-o:before { + content: "\f2ba" +} + +.fa-address-card:before, +.fa-vcard:before { + content: "\f2bb" +} + +.fa-address-card-o:before, +.fa-vcard-o:before { + content: "\f2bc" +} + +.fa-user-circle:before { + content: "\f2bd" +} + +.fa-user-circle-o:before { + content: "\f2be" +} + +.fa-user-o:before { + content: "\f2c0" +} + +.fa-id-badge:before { + content: "\f2c1" +} + +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2" +} + +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3" +} + +.fa-quora:before { + content: "\f2c4" +} + +.fa-free-code-camp:before { + content: "\f2c5" +} + +.fa-telegram:before { + content: "\f2c6" +} + +.fa-thermometer-4:before, +.fa-thermometer-full:before, +.fa-thermometer:before { + content: "\f2c7" +} + +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8" +} + +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9" +} + +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca" +} + +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb" +} + +.fa-shower:before { + content: "\f2cc" +} + +.fa-bath:before, +.fa-bathtub:before, +.fa-s15:before { + content: "\f2cd" +} + +.fa-podcast:before { + content: "\f2ce" +} + +.fa-window-maximize:before { + content: "\f2d0" +} + +.fa-window-minimize:before { + content: "\f2d1" +} + +.fa-window-restore:before { + content: "\f2d2" +} + +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3" +} + +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4" +} + +.fa-bandcamp:before { + content: "\f2d5" +} + +.fa-grav:before { + content: "\f2d6" +} + +.fa-etsy:before { + content: "\f2d7" +} + +.fa-imdb:before { + content: "\f2d8" +} + +.fa-ravelry:before { + content: "\f2d9" +} + +.fa-eercast:before { + content: "\f2da" +} + +.fa-microchip:before { + content: "\f2db" +} + +.fa-snowflake-o:before { + content: "\f2dc" +} + +.fa-superpowers:before { + content: "\f2dd" +} + +.fa-wpexplorer:before { + content: "\f2de" +} + +.fa-meetup:before { + content: "\f2e0" +} + +.mastodon, .matrix { + font-family: "Symbols"; +/* font: 14px/1 FontAwesome;*/ + display: inline-block; + font-style: normal; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.mastodon:before { + content: "A" +} + +.matrix:before { + content: "B" +} + + + + diff --git a/websites/infra4future.de/assets/fonts/courier-prime.ttf b/websites/infra4future.de/assets/fonts/courier-prime.ttf new file mode 100755 index 0000000..db4e6c1 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/courier-prime.ttf differ diff --git a/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold Italic.ttf b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold Italic.ttf new file mode 100755 index 0000000..d4e7186 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold Italic.ttf differ diff --git a/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold.ttf b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold.ttf new file mode 100755 index 0000000..1b0888c Binary files /dev/null and b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Bold.ttf differ diff --git a/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Italic.ttf b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Italic.ttf new file mode 100755 index 0000000..75a1343 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime Italic.ttf differ diff --git a/websites/infra4future.de/assets/fonts/courierprime/Courier Prime.ttf b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime.ttf new file mode 100755 index 0000000..db4e6c1 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/courierprime/Courier Prime.ttf differ diff --git a/websites/infra4future.de/assets/fonts/courierprime/SIL Open Font License.txt b/websites/infra4future.de/assets/fonts/courierprime/SIL Open Font License.txt new file mode 100755 index 0000000..574da97 --- /dev/null +++ b/websites/infra4future.de/assets/fonts/courierprime/SIL Open Font License.txt @@ -0,0 +1,44 @@ +Copyright (c) 2013, Quote-Unquote Apps (http://quoteunquoteapps.com), +with Reserved Font Name Courier Prime. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. + +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). + +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. + +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + +5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/websites/infra4future.de/assets/fonts/fff-jost.ttf b/websites/infra4future.de/assets/fonts/fff-jost.ttf new file mode 100644 index 0000000..85d3505 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/fff-jost.ttf differ diff --git a/websites/infra4future.de/assets/fonts/fontawesome-webfont.woff2 b/websites/infra4future.de/assets/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/fontawesome-webfont.woff2 differ diff --git a/websites/infra4future.de/assets/fonts/symbols.otf b/websites/infra4future.de/assets/fonts/symbols.otf new file mode 100644 index 0000000..cba639c Binary files /dev/null and b/websites/infra4future.de/assets/fonts/symbols.otf differ diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd b/websites/infra4future.de/assets/fonts/symbols.sfd new file mode 100644 index 0000000..81b7ee6 --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578265302 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 23 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +HStem: 27.2012 83.5371<374.738 656.705> +VStem: 819.425 101.188<627.095 688.447> +LayerCount: 2 +Fore +SplineSet +320.7265625 26.6806640625 m 4 + 153.284179688 65.95703125 92.08203125 190.265625 92.64453125 489.938476562 c 4 + 93.04296875 702.162109375 129.069335938 773.688476562 258.708007812 819.634765625 c 4 + 324.93359375 843.106445312 691.46875 842.830078125 758.083984375 819.2578125 c 4 + 888.3671875 773.157226562 929.6328125 688.447265625 920.612304688 485.623046875 c 4 + 913.676757812 329.662109375 899.232421875 298.811523438 809.731445312 248.793945312 c 4 + 734.809570312 206.924804688 566.55859375 187.069335938 435.303710938 204.608398438 c 4 + 379.083984375 212.12109375 330.973632812 216.155273438 328.392578125 213.57421875 c 4 + 325.810546875 210.9921875 331.533203125 192.541992188 341.108398438 172.572265625 c 4 + 369.044921875 114.307617188 408.703125 101.32421875 543.529296875 106.302734375 c 6 + 663.625 110.73828125 l 5 + 663.625 76.4892578125 l 6 + 663.625 47.978515625 655.21484375 39.7197265625 613.431640625 27.201171875 c 4 + 555.108398438 9.7275390625 394.22265625 9.44140625 320.7265625 26.6806640625 c 4 +377.80078125 323.666015625 m 4 + 420.1328125 345.03515625 474.008789062 379.002929688 497.525390625 399.150390625 c 4 + 521.04296875 419.297851562 567.15625 445.780273438 600 458 c 4 + 704.46875 496.8671875 819.424804688 620.29296875 819.424804688 693.590820312 c 4 + 819.424804688 721.377929688 766.41015625 739.228515625 683.88671875 739.228515625 c 4 + 601.830078125 739.228515625 527.57421875 715.0078125 452.50390625 663.755859375 c 4 + 422.233398438 643.08984375 368.254882812 616.512695312 332.55078125 604.694335938 c 4 + 249.05078125 577.057617188 128.31640625 507.891601562 137.53515625 492.975585938 c 4 + 141.451171875 486.639648438 179.400390625 494.111328125 221.868164062 509.578125 c 4 + 277.490234375 529.8359375 303.030273438 533.750976562 313.202148438 523.578125 c 4 + 323.375 513.40625 305.36328125 495.467773438 248.791015625 459.426757812 c 4 + 130.141601562 383.838867188 150.375976562 360.106445312 279.485351562 423.427734375 c 4 + 338.770507812 452.50390625 353.653320312 455.423828125 370.65625 441.3125 c 4 + 408.69140625 409.747070312 389.399414062 379.208984375 286.572265625 308.213867188 c 4 + 231.23828125 270.009765625 291.842773438 280.274414062 377.80078125 323.666015625 c 4 +EndSplineSet +Validated: 524321 +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +HStem: 34 68.0889<129.726 244 721.215 835.489> 583.406 47.207<336.202 433.13 541.763 643.551> 835.351 68.0889<129.726 244 721.215 835.489> +VStem: 42.1152 201.885<34 102.089 835.351 903.439> 42.1152 87.6104<102.089 835.351> 237.23 81.4883<279.013 563.804 592.909 622.337> 446.074 81.9756<279.013 563.804> 655.893 81.9766<279.013 565.067> 721.215 201.885<34 102.089 835.351 903.439> 835.489 87.6104<102.089 835.351> +LayerCount: 2 +Fore +SplineSet +42.115234375 903.439453125 m 5xf2 + 244 903.439453125 l 5 + 244 835.350585938 l 5xf2 + 129.725585938 835.350585938 l 5 + 129.725585938 102.088867188 l 5xea + 244 102.088867188 l 5 + 244 34 l 5 + 42.115234375 34 l 5 + 42.115234375 903.439453125 l 5xf2 +513.899414062 587.391601562 m 5 + 524.958984375 602.10546875 538.947265625 612.936523438 555.86328125 619.884765625 c 4 + 573.104492188 627.037109375 593.760742188 630.61328125 617.833007812 630.61328125 c 4 + 661.748046875 630.61328125 692.65234375 619.884765625 710.543945312 598.426757812 c 4 + 728.760742188 577.173828125 737.489257812 537.350585938 737.869140625 477.95703125 c 6 + 737.869140625 279.012695312 l 5 + 655.892578125 279.012695312 l 5 + 655.892578125 475.504882812 l 6 + 655.892578125 523.9375 651.500976562 553.978515625 642.71875 565.626953125 c 4 + 634.260742188 577.479492188 618.645507812 583.40625 595.875 583.40625 c 4 + 569.850585938 583.40625 551.958984375 577.071289062 542.200195312 564.401367188 c 4 + 532.766601562 551.935546875 528.049804688 522.302734375 528.049804688 475.504882812 c 6 + 528.049804688 279.012695312 l 5 + 446.07421875 279.012695312 l 5 + 446.07421875 475.504882812 l 6 + 446.07421875 524.55078125 441.357421875 554.795898438 431.922851562 566.240234375 c 4 + 422.814453125 577.684570312 406.224609375 583.40625 382.15234375 583.40625 c 4 + 358.405273438 583.40625 341.814453125 577.071289062 332.380859375 564.401367188 c 4 + 323.272460938 551.935546875 318.71875 522.302734375 318.71875 475.504882812 c 6 + 318.71875 279.012695312 l 5 + 237.23046875 279.012695312 l 5 + 237.23046875 622.336914062 l 5 + 318.71875 622.336914062 l 5 + 318.71875 592.909179688 l 6xe7 + 329.453125 605.170898438 342.790039062 614.469726562 358.73046875 620.8046875 c 4 + 374.995117188 627.34375 393.375 630.61328125 413.869140625 630.61328125 c 4 + 438.591796875 630.61328125 459.0859375 627.037109375 475.350585938 619.884765625 c 4 + 491.94140625 612.731445312 504.791015625 601.900390625 513.899414062 587.391601562 c 5 +923.099609375 903.439453125 m 5xe280 + 923.099609375 34 l 5 + 721.21484375 34 l 5 + 721.21484375 102.088867188 l 5xe280 + 835.489257812 102.088867188 l 5 + 835.489257812 835.350585938 l 5xe240 + 721.21484375 835.350585938 l 5 + 721.21484375 903.439453125 l 5 + 923.099609375 903.439453125 l 5xe280 +EndSplineSet +Validated: 524289 +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-01 b/websites/infra4future.de/assets/fonts/symbols.sfd-01 new file mode 100644 index 0000000..cc56e2c --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-01 @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578265302 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 23 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +Flags: HO +HStem: 233.578 83.5371<374.126 656.093> +VStem: 818.812 101.188<833.472 894.824> +LayerCount: 2 +Fore +SplineSet +320.7265625 26.6806640625 m 4 + 153.284179688 65.95703125 92.08203125 190.265625 92.64453125 489.938476562 c 4 + 93.04296875 702.162109375 129.069335938 773.688476562 258.708007812 819.634765625 c 4 + 324.93359375 843.106445312 691.46875 842.830078125 758.083984375 819.2578125 c 4 + 888.3671875 773.157226562 929.6328125 688.447265625 920.612304688 485.623046875 c 4 + 913.676757812 329.662109375 899.232421875 298.811523438 809.731445312 248.793945312 c 4 + 734.809570312 206.924804688 566.55859375 187.069335938 435.303710938 204.608398438 c 4 + 379.083984375 212.12109375 330.973632812 216.155273438 328.392578125 213.57421875 c 4 + 325.810546875 210.9921875 331.533203125 192.541992188 341.108398438 172.572265625 c 4 + 369.044921875 114.307617188 408.703125 101.32421875 543.529296875 106.302734375 c 6 + 663.625 110.73828125 l 5 + 663.625 76.4892578125 l 6 + 663.625 47.978515625 655.21484375 39.7197265625 613.431640625 27.201171875 c 4 + 555.108398438 9.7275390625 394.22265625 9.44140625 320.7265625 26.6806640625 c 4 +377.80078125 323.666015625 m 4 + 420.1328125 345.03515625 474.008789062 379.002929688 497.525390625 399.150390625 c 4 + 521.04296875 419.297851562 567.15625 445.780273438 600 458 c 4 + 704.46875 496.8671875 819.424804688 620.29296875 819.424804688 693.590820312 c 4 + 819.424804688 721.377929688 766.41015625 739.228515625 683.88671875 739.228515625 c 4 + 601.830078125 739.228515625 527.57421875 715.0078125 452.50390625 663.755859375 c 4 + 422.233398438 643.08984375 368.254882812 616.512695312 332.55078125 604.694335938 c 4 + 249.05078125 577.057617188 128.31640625 507.891601562 137.53515625 492.975585938 c 4 + 141.451171875 486.639648438 179.400390625 494.111328125 221.868164062 509.578125 c 4 + 277.490234375 529.8359375 303.030273438 533.750976562 313.202148438 523.578125 c 4 + 323.375 513.40625 305.36328125 495.467773438 248.791015625 459.426757812 c 4 + 130.141601562 383.838867188 150.375976562 360.106445312 279.485351562 423.427734375 c 4 + 338.770507812 452.50390625 353.653320312 455.423828125 370.65625 441.3125 c 4 + 408.69140625 409.747070312 389.399414062 379.208984375 286.572265625 308.213867188 c 4 + 231.23828125 270.009765625 291.842773438 280.274414062 377.80078125 323.666015625 c 4 +EndSplineSet +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +Flags: H +HStem: 192.987 68.0889<131.856 246.131 723.346 837.62> 742.394 47.207<338.332 435.261 543.894 645.682> 994.338 68.0889<131.856 246.131 723.346 837.62> +VStem: 44.2461 201.885<192.987 261.076 994.338 1062.43> 44.2461 87.6104<261.076 994.338> 239.361 81.4883<438 722.792 751.896 781.324> 448.205 81.9756<438 722.792> 658.023 81.9766<438 724.055> 723.346 201.885<192.987 261.076 994.338 1062.43> 837.62 87.6104<261.076 994.338> +LayerCount: 2 +Fore +SplineSet +42.115234375 903.439453125 m 5xf2 + 244 903.439453125 l 5 + 244 835.350585938 l 5xf2 + 129.725585938 835.350585938 l 5 + 129.725585938 102.088867188 l 5xea + 244 102.088867188 l 5 + 244 34 l 5 + 42.115234375 34 l 5 + 42.115234375 903.439453125 l 5xf2 +513.899414062 587.391601562 m 5 + 524.958984375 602.10546875 538.947265625 612.936523438 555.86328125 619.884765625 c 4 + 573.104492188 627.037109375 593.760742188 630.61328125 617.833007812 630.61328125 c 4 + 661.748046875 630.61328125 692.65234375 619.884765625 710.543945312 598.426757812 c 4 + 728.760742188 577.173828125 737.489257812 537.350585938 737.869140625 477.95703125 c 6 + 737.869140625 279.012695312 l 5 + 655.892578125 279.012695312 l 5 + 655.892578125 475.504882812 l 6 + 655.892578125 523.9375 651.500976562 553.978515625 642.71875 565.626953125 c 4 + 634.260742188 577.479492188 618.645507812 583.40625 595.875 583.40625 c 4 + 569.850585938 583.40625 551.958984375 577.071289062 542.200195312 564.401367188 c 4 + 532.766601562 551.935546875 528.049804688 522.302734375 528.049804688 475.504882812 c 6 + 528.049804688 279.012695312 l 5 + 446.07421875 279.012695312 l 5 + 446.07421875 475.504882812 l 6 + 446.07421875 524.55078125 441.357421875 554.795898438 431.922851562 566.240234375 c 4 + 422.814453125 577.684570312 406.224609375 583.40625 382.15234375 583.40625 c 4 + 358.405273438 583.40625 341.814453125 577.071289062 332.380859375 564.401367188 c 4 + 323.272460938 551.935546875 318.71875 522.302734375 318.71875 475.504882812 c 6 + 318.71875 279.012695312 l 5 + 237.23046875 279.012695312 l 5 + 237.23046875 622.336914062 l 5 + 318.71875 622.336914062 l 5 + 318.71875 592.909179688 l 6xe7 + 329.453125 605.170898438 342.790039062 614.469726562 358.73046875 620.8046875 c 4 + 374.995117188 627.34375 393.375 630.61328125 413.869140625 630.61328125 c 4 + 438.591796875 630.61328125 459.0859375 627.037109375 475.350585938 619.884765625 c 4 + 491.94140625 612.731445312 504.791015625 601.900390625 513.899414062 587.391601562 c 5 +923.099609375 903.439453125 m 5xe280 + 923.099609375 34 l 5 + 721.21484375 34 l 5 + 721.21484375 102.088867188 l 5xe280 + 835.489257812 102.088867188 l 5 + 835.489257812 835.350585938 l 5xe240 + 721.21484375 835.350585938 l 5 + 721.21484375 903.439453125 l 5 + 923.099609375 903.439453125 l 5xe280 +EndSplineSet +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-02 b/websites/infra4future.de/assets/fonts/symbols.sfd-02 new file mode 100644 index 0000000..ec4cddf --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-02 @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578265262 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 23 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +Flags: H +HStem: -134.422 83.5371<368.126 650.093> +VStem: 812.812 101.188<465.472 526.824> +LayerCount: 2 +Fore +SplineSet +320.114257812 233.057617188 m 4 + 152.671875 272.333984375 91.4697265625 396.642578125 92.0322265625 696.315429688 c 4 + 92.4306640625 908.5390625 128.45703125 980.065429688 258.095703125 1026.01171875 c 4 + 324.321289062 1049.48339844 690.856445312 1049.20703125 757.471679688 1025.63476562 c 4 + 887.754882812 979.534179688 929.020507812 894.82421875 920 692 c 4 + 913.064453125 536.0390625 898.620117188 505.188476562 809.119140625 455.170898438 c 4 + 734.197265625 413.301757812 565.946289062 393.446289062 434.69140625 410.985351562 c 4 + 378.471679688 418.498046875 330.361328125 422.532226562 327.780273438 419.951171875 c 4 + 325.198242188 417.369140625 330.920898438 398.918945312 340.49609375 378.94921875 c 4 + 368.432617188 320.684570312 408.090820312 307.701171875 542.916992188 312.6796875 c 6 + 663.012695312 317.115234375 l 5 + 663.012695312 282.866210938 l 6 + 663.012695312 254.35546875 654.602539062 246.096679688 612.819335938 233.578125 c 4 + 554.49609375 216.104492188 393.610351562 215.818359375 320.114257812 233.057617188 c 4 +377.188476562 530.04296875 m 4 + 419.520507812 551.412109375 473.396484375 585.379882812 496.913085938 605.52734375 c 4 + 520.430664062 625.674804688 566.543945312 652.157226562 599.387695312 664.376953125 c 4 + 703.856445312 703.244140625 818.8125 826.669921875 818.8125 899.967773438 c 4 + 818.8125 927.754882812 765.797851562 945.60546875 683.274414062 945.60546875 c 4 + 601.217773438 945.60546875 526.961914062 921.384765625 451.891601562 870.1328125 c 4 + 421.62109375 849.466796875 367.642578125 822.889648438 331.938476562 811.071289062 c 4 + 248.438476562 783.434570312 127.704101562 714.268554688 136.922851562 699.352539062 c 4 + 140.838867188 693.016601562 178.788085938 700.48828125 221.255859375 715.955078125 c 4 + 276.877929688 736.212890625 302.41796875 740.127929688 312.58984375 729.955078125 c 4 + 322.762695312 719.783203125 304.750976562 701.844726562 248.178710938 665.803710938 c 4 + 129.529296875 590.215820312 149.763671875 566.483398438 278.873046875 629.8046875 c 4 + 338.158203125 658.880859375 353.041015625 661.80078125 370.043945312 647.689453125 c 4 + 408.079101562 616.124023438 388.787109375 585.5859375 285.959960938 514.590820312 c 4 + 230.625976562 476.38671875 291.23046875 486.651367188 377.188476562 530.04296875 c 4 +EndSplineSet +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +Flags: HO +HStem: -167.351 68.0889<145.236 259.511 736.726 851> 382.056 47.207<351.712 448.641 557.274 659.062> 634 68.0889<145.236 259.511 736.726 851> +VStem: 57.626 201.885<-167.351 -99.2617 634 702.089> 57.626 87.6104<-99.2617 634> 252.741 81.4883<77.6621 362.454 391.559 420.986> 461.585 81.9756<77.6621 362.454> 671.403 81.9766<77.6621 363.717> 736.726 201.885<-167.351 -99.2617 634 702.089> 851 87.6104<-99.2617 634> +LayerCount: 2 +Fore +SplineSet +44.24609375 1062.42675781 m 5xf2 + 246.130859375 1062.42675781 l 5 + 246.130859375 994.337890625 l 5xf2 + 131.856445312 994.337890625 l 5 + 131.856445312 261.076171875 l 5xea + 246.130859375 261.076171875 l 5 + 246.130859375 192.987304688 l 5 + 44.24609375 192.987304688 l 5 + 44.24609375 1062.42675781 l 5xf2 +516.030273438 746.37890625 m 5 + 527.08984375 761.092773438 541.078125 771.923828125 557.994140625 778.872070312 c 4 + 575.235351562 786.024414062 595.891601562 789.600585938 619.963867188 789.600585938 c 4 + 663.87890625 789.600585938 694.783203125 778.872070312 712.674804688 757.4140625 c 4 + 730.891601562 736.161132812 739.620117188 696.337890625 740 636.944335938 c 6 + 740 438 l 5 + 658.0234375 438 l 5 + 658.0234375 634.4921875 l 6 + 658.0234375 682.924804688 653.631835938 712.965820312 644.849609375 724.614257812 c 4 + 636.391601562 736.466796875 620.776367188 742.393554688 598.005859375 742.393554688 c 4 + 571.981445312 742.393554688 554.08984375 736.05859375 544.331054688 723.388671875 c 4 + 534.897460938 710.922851562 530.180664062 681.290039062 530.180664062 634.4921875 c 6 + 530.180664062 438 l 5 + 448.205078125 438 l 5 + 448.205078125 634.4921875 l 6 + 448.205078125 683.538085938 443.48828125 713.783203125 434.053710938 725.227539062 c 4 + 424.9453125 736.671875 408.35546875 742.393554688 384.283203125 742.393554688 c 4 + 360.536132812 742.393554688 343.9453125 736.05859375 334.51171875 723.388671875 c 4 + 325.403320312 710.922851562 320.849609375 681.290039062 320.849609375 634.4921875 c 6 + 320.849609375 438 l 5 + 239.361328125 438 l 5 + 239.361328125 781.32421875 l 5 + 320.849609375 781.32421875 l 5 + 320.849609375 751.896484375 l 6xe7 + 331.583984375 764.158203125 344.920898438 773.45703125 360.861328125 779.791992188 c 4 + 377.125976562 786.331054688 395.505859375 789.600585938 416 789.600585938 c 4 + 440.72265625 789.600585938 461.216796875 786.024414062 477.481445312 778.872070312 c 4 + 494.072265625 771.71875 506.921875 760.887695312 516.030273438 746.37890625 c 5 +925.23046875 1062.42675781 m 5xe280 + 925.23046875 192.987304688 l 5 + 723.345703125 192.987304688 l 5 + 723.345703125 261.076171875 l 5xe280 + 837.620117188 261.076171875 l 5 + 837.620117188 994.337890625 l 5xe240 + 723.345703125 994.337890625 l 5 + 723.345703125 1062.42675781 l 5 + 925.23046875 1062.42675781 l 5xe280 +EndSplineSet +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-03 b/websites/infra4future.de/assets/fonts/symbols.sfd-03 new file mode 100644 index 0000000..be9682d --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-03 @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578265207 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 23 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +Flags: H +HStem: -134.422 83.5371<368.126 650.093> +VStem: 812.812 101.188<465.472 526.824> +LayerCount: 2 +Fore +SplineSet +314.114257812 -134.942382812 m 4 + 146.671875 -95.666015625 85.4697265625 28.642578125 86.0322265625 328.315429688 c 4 + 86.4306640625 540.5390625 122.45703125 612.065429688 252.095703125 658.01171875 c 4 + 318.321289062 681.483398438 684.856445312 681.20703125 751.471679688 657.634765625 c 4 + 881.754882812 611.534179688 923.020507812 526.82421875 914 324 c 4 + 907.064453125 168.0390625 892.620117188 137.188476562 803.119140625 87.1708984375 c 4 + 728.197265625 45.3017578125 559.946289062 25.4462890625 428.69140625 42.9853515625 c 4 + 372.471679688 50.498046875 324.361328125 54.5322265625 321.780273438 51.951171875 c 4 + 319.198242188 49.369140625 324.920898438 30.9189453125 334.49609375 10.94921875 c 4 + 362.432617188 -47.3154296875 402.090820312 -60.298828125 536.916992188 -55.3203125 c 6 + 657.012695312 -50.884765625 l 5 + 657.012695312 -85.1337890625 l 6 + 657.012695312 -113.64453125 648.602539062 -121.903320312 606.819335938 -134.421875 c 4 + 548.49609375 -151.895507812 387.610351562 -152.181640625 314.114257812 -134.942382812 c 4 +371.188476562 162.04296875 m 4 + 413.520507812 183.412109375 467.396484375 217.379882812 490.913085938 237.52734375 c 4 + 514.430664062 257.674804688 560.543945312 284.157226562 593.387695312 296.376953125 c 4 + 697.856445312 335.244140625 812.8125 458.669921875 812.8125 531.967773438 c 4 + 812.8125 559.754882812 759.797851562 577.60546875 677.274414062 577.60546875 c 4 + 595.217773438 577.60546875 520.961914062 553.384765625 445.891601562 502.1328125 c 4 + 415.62109375 481.466796875 361.642578125 454.889648438 325.938476562 443.071289062 c 4 + 242.438476562 415.434570312 121.704101562 346.268554688 130.922851562 331.352539062 c 4 + 134.838867188 325.016601562 172.788085938 332.48828125 215.255859375 347.955078125 c 4 + 270.877929688 368.212890625 296.41796875 372.127929688 306.58984375 361.955078125 c 4 + 316.762695312 351.783203125 298.750976562 333.844726562 242.178710938 297.803710938 c 4 + 123.529296875 222.215820312 143.763671875 198.483398438 272.873046875 261.8046875 c 4 + 332.158203125 290.880859375 347.041015625 293.80078125 364.043945312 279.689453125 c 4 + 402.079101562 248.124023438 382.787109375 217.5859375 279.959960938 146.590820312 c 4 + 224.625976562 108.38671875 285.23046875 118.651367188 371.188476562 162.04296875 c 4 +EndSplineSet +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +Flags: H +HStem: -167.351 68.0889<145.236 259.511 736.726 851> 382.056 47.207<351.712 448.641 557.274 659.062> 634 68.0889<145.236 259.511 736.726 851> +VStem: 57.626 201.885<-167.351 -99.2617 634 702.089> 57.626 87.6104<-99.2617 634> 252.741 81.4883<77.6621 362.454 391.559 420.986> 461.585 81.9756<77.6621 362.454> 671.403 81.9766<77.6621 363.717> 736.726 201.885<-167.351 -99.2617 634 702.089> 851 87.6104<-99.2617 634> +LayerCount: 2 +Fore +SplineSet +57.6259765625 702.088867188 m 5xf2 + 259.510742188 702.088867188 l 5 + 259.510742188 634 l 5xf2 + 145.236328125 634 l 5 + 145.236328125 -99.26171875 l 5xea + 259.510742188 -99.26171875 l 5 + 259.510742188 -167.350585938 l 5 + 57.6259765625 -167.350585938 l 5 + 57.6259765625 702.088867188 l 5xf2 +529.41015625 386.041015625 m 5 + 540.469726562 400.754882812 554.458007812 411.5859375 571.374023438 418.534179688 c 4 + 588.615234375 425.686523438 609.271484375 429.262695312 633.34375 429.262695312 c 4 + 677.258789062 429.262695312 708.163085938 418.534179688 726.0546875 397.076171875 c 4 + 744.271484375 375.823242188 753.379882812 335.666015625 753.379882812 276.606445312 c 6 + 753.379882812 77.662109375 l 5 + 671.403320312 77.662109375 l 5 + 671.403320312 274.154296875 l 6 + 671.403320312 322.586914062 667.01171875 352.627929688 658.229492188 364.276367188 c 4 + 649.771484375 376.12890625 634.15625 382.055664062 611.385742188 382.055664062 c 4 + 585.361328125 382.055664062 567.469726562 375.720703125 557.7109375 363.05078125 c 4 + 548.27734375 350.584960938 543.560546875 320.952148438 543.560546875 274.154296875 c 6 + 543.560546875 77.662109375 l 5 + 461.584960938 77.662109375 l 5 + 461.584960938 274.154296875 l 6 + 461.584960938 323.200195312 456.868164062 353.4453125 447.43359375 364.889648438 c 4 + 438.325195312 376.333984375 421.735351562 382.055664062 397.663085938 382.055664062 c 4 + 373.916015625 382.055664062 357.325195312 375.720703125 347.891601562 363.05078125 c 4 + 338.783203125 350.584960938 334.229492188 320.952148438 334.229492188 274.154296875 c 6 + 334.229492188 77.662109375 l 5 + 252.741210938 77.662109375 l 5 + 252.741210938 420.986328125 l 5 + 334.229492188 420.986328125 l 5 + 334.229492188 391.55859375 l 6xe7 + 344.963867188 403.8203125 358.30078125 413.119140625 374.241210938 419.454101562 c 4 + 390.505859375 425.993164062 408.885742188 429.262695312 429.379882812 429.262695312 c 4 + 454.102539062 429.262695312 474.596679688 425.686523438 490.861328125 418.534179688 c 4 + 507.452148438 411.380859375 520.301757812 400.549804688 529.41015625 386.041015625 c 5 +938.610351562 702.088867188 m 5xe280 + 938.610351562 -167.350585938 l 5 + 736.725585938 -167.350585938 l 5 + 736.725585938 -99.26171875 l 5xe280 + 851 -99.26171875 l 5 + 851 634 l 5xe240 + 736.725585938 634 l 5 + 736.725585938 702.088867188 l 5 + 938.610351562 702.088867188 l 5xe280 +EndSplineSet +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-04 b/websites/infra4future.de/assets/fonts/symbols.sfd-04 new file mode 100644 index 0000000..7081030 --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-04 @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578265120 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 23 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +HStem: 294.578 83.5371<369.126 651.093> +VStem: 813.812 101.188<894.472 955.824> +LayerCount: 2 +Fore +SplineSet +315.114257812 294.057617188 m 4 + 147.671875 333.333984375 86.4697265625 457.642578125 87.0322265625 757.315429688 c 4 + 87.4306640625 969.5390625 123.45703125 1041.06542969 253.095703125 1087.01171875 c 4 + 319.321289062 1110.48339844 659.932617188 1119.37890625 752.471679688 1086.63476562 c 4 + 856.83203125 1049.70800781 924.01953125 955.82421875 915 753 c 4 + 908.064453125 597.0390625 893.620117188 566.1875 804.119140625 516.170898438 c 4 + 729.197265625 474.301757812 560.946289062 454.4453125 429.69140625 471.985351562 c 4 + 373.471679688 479.498046875 325.361328125 483.532226562 322.780273438 480.951171875 c 4 + 320.198242188 478.369140625 325.920898438 459.918945312 335.49609375 439.94921875 c 4 + 363.432617188 381.684570312 403.090820312 368.700195312 537.916992188 373.6796875 c 6 + 658.012695312 378.115234375 l 5 + 658.012695312 343.866210938 l 6 + 658.012695312 315.35546875 649.602539062 307.096679688 607.819335938 294.578125 c 4 + 549.49609375 277.104492188 388.610351562 276.818359375 315.114257812 294.057617188 c 4 +372.188476562 591.04296875 m 4 + 414.520507812 612.412109375 468.396484375 646.379882812 491.913085938 666.52734375 c 4 + 515.430664062 686.674804688 561.543945312 713.157226562 594.387695312 725.376953125 c 4 + 698.856445312 764.244140625 813.8125 887.669921875 813.8125 960.967773438 c 4 + 813.8125 988.754882812 760.797851562 1006.60546875 678.274414062 1006.60546875 c 4 + 596.217773438 1006.60546875 521.961914062 982.384765625 446.891601562 931.1328125 c 4 + 416.62109375 910.466796875 362.642578125 883.888671875 326.938476562 872.071289062 c 4 + 243.438476562 844.434570312 122.704101562 775.268554688 131.922851562 760.352539062 c 4 + 135.838867188 754.016601562 173.788085938 761.48828125 216.255859375 776.955078125 c 4 + 271.877929688 797.212890625 297.416992188 801.126953125 307.58984375 790.955078125 c 4 + 317.762695312 780.783203125 299.750976562 762.844726562 243.178710938 726.803710938 c 4 + 124.529296875 651.215820312 144.763671875 627.483398438 273.873046875 690.8046875 c 4 + 333.158203125 719.880859375 348.041015625 722.80078125 365.043945312 708.689453125 c 4 + 403.079101562 677.124023438 383.787109375 646.5859375 280.959960938 575.590820312 c 4 + 225.625976562 537.38671875 286.23046875 547.651367188 372.188476562 591.04296875 c 4 +EndSplineSet +Validated: 524321 +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +HStem: 264.649 68.0889<145.236 259.511 736.726 851> 814.056 47.207<351.712 448.641 557.274 659.062> 1066 68.0889<145.236 259.511 736.726 851> +VStem: 57.626 201.885<264.649 332.738 1066 1134.09> 57.626 87.6104<332.738 1066> 252.741 81.4883<509.662 794.454 823.559 852.986> 461.585 81.9756<509.662 794.454> 671.403 81.9766<509.662 795.717> 736.726 201.885<264.649 332.738 1066 1134.09> 851 87.6104<332.738 1066> +LayerCount: 2 +Fore +SplineSet +57.6259765625 1134.08886719 m 5xf2 + 259.510742188 1134.08886719 l 5 + 259.510742188 1066 l 5xf2 + 145.236328125 1066 l 5 + 145.236328125 332.73828125 l 5xea + 259.510742188 332.73828125 l 5 + 259.510742188 264.649414062 l 5 + 57.6259765625 264.649414062 l 5 + 57.6259765625 1134.08886719 l 5xf2 +529.41015625 818.041015625 m 5 + 540.469726562 832.754882812 554.458007812 843.5859375 571.374023438 850.534179688 c 4 + 588.615234375 857.686523438 609.271484375 861.262695312 633.34375 861.262695312 c 4 + 677.258789062 861.262695312 708.163085938 850.534179688 726.0546875 829.076171875 c 4 + 744.271484375 807.823242188 753.379882812 767.666015625 753.379882812 708.606445312 c 6 + 753.379882812 509.662109375 l 5 + 671.403320312 509.662109375 l 5 + 671.403320312 706.154296875 l 6 + 671.403320312 754.586914062 667.01171875 784.627929688 658.229492188 796.276367188 c 4 + 649.771484375 808.12890625 634.15625 814.055664062 611.385742188 814.055664062 c 4 + 585.361328125 814.055664062 567.469726562 807.720703125 557.7109375 795.05078125 c 4 + 548.27734375 782.584960938 543.560546875 752.952148438 543.560546875 706.154296875 c 6 + 543.560546875 509.662109375 l 5 + 461.584960938 509.662109375 l 5 + 461.584960938 706.154296875 l 6 + 461.584960938 755.200195312 456.868164062 785.4453125 447.43359375 796.889648438 c 4 + 438.325195312 808.333984375 421.735351562 814.055664062 397.663085938 814.055664062 c 4 + 373.916015625 814.055664062 357.325195312 807.720703125 347.891601562 795.05078125 c 4 + 338.783203125 782.584960938 334.229492188 752.952148438 334.229492188 706.154296875 c 6 + 334.229492188 509.662109375 l 5 + 252.741210938 509.662109375 l 5 + 252.741210938 852.986328125 l 5 + 334.229492188 852.986328125 l 5 + 334.229492188 823.55859375 l 6xe7 + 344.963867188 835.8203125 358.30078125 845.119140625 374.241210938 851.454101562 c 4 + 390.505859375 857.993164062 408.885742188 861.262695312 429.379882812 861.262695312 c 4 + 454.102539062 861.262695312 474.596679688 857.686523438 490.861328125 850.534179688 c 4 + 507.452148438 843.380859375 520.301757812 832.549804688 529.41015625 818.041015625 c 5 +938.610351562 1134.08886719 m 5xe280 + 938.610351562 264.649414062 l 5 + 736.725585938 264.649414062 l 5 + 736.725585938 332.73828125 l 5xe280 + 851 332.73828125 l 5 + 851 1066 l 5xe240 + 736.725585938 1066 l 5 + 736.725585938 1134.08886719 l 5 + 938.610351562 1134.08886719 l 5xe280 +EndSplineSet +Validated: 524289 +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-05 b/websites/infra4future.de/assets/fonts/symbols.sfd-05 new file mode 100644 index 0000000..3c44610 --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-05 @@ -0,0 +1,150 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +StyleMap: 0x0000 +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578264479 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 0 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +HStem: -134.422 83.5371<368.126 650.093> +VStem: 812.812 101.188<465.472 526.824> +LayerCount: 2 +Fore +SplineSet +314.114257812 -134.942382812 m 4 + 146.671875 -95.666015625 85.4697265625 28.642578125 86.0322265625 328.315429688 c 4 + 86.4306640625 540.5390625 122.45703125 612.065429688 252.095703125 658.01171875 c 4 + 318.321289062 681.483398438 684.856445312 681.20703125 751.471679688 657.634765625 c 4 + 881.754882812 611.534179688 923.020507812 526.82421875 914 324 c 4 + 907.064453125 168.0390625 892.620117188 137.188476562 803.119140625 87.1708984375 c 4 + 728.197265625 45.3017578125 559.946289062 25.4462890625 428.69140625 42.9853515625 c 4 + 372.471679688 50.498046875 324.361328125 54.5322265625 321.780273438 51.951171875 c 4 + 319.198242188 49.369140625 324.920898438 30.9189453125 334.49609375 10.94921875 c 4 + 362.432617188 -47.3154296875 402.090820312 -60.298828125 536.916992188 -55.3203125 c 6 + 657.012695312 -50.884765625 l 5 + 657.012695312 -85.1337890625 l 6 + 657.012695312 -113.64453125 648.602539062 -121.903320312 606.819335938 -134.421875 c 4 + 548.49609375 -151.895507812 387.610351562 -152.181640625 314.114257812 -134.942382812 c 4 +371.188476562 162.04296875 m 4 + 413.520507812 183.412109375 467.396484375 217.379882812 490.913085938 237.52734375 c 4 + 514.430664062 257.674804688 560.543945312 284.157226562 593.387695312 296.376953125 c 4 + 697.856445312 335.244140625 812.8125 458.669921875 812.8125 531.967773438 c 4 + 812.8125 559.754882812 759.797851562 577.60546875 677.274414062 577.60546875 c 4 + 595.217773438 577.60546875 520.961914062 553.384765625 445.891601562 502.1328125 c 4 + 415.62109375 481.466796875 361.642578125 454.889648438 325.938476562 443.071289062 c 4 + 242.438476562 415.434570312 121.704101562 346.268554688 130.922851562 331.352539062 c 4 + 134.838867188 325.016601562 172.788085938 332.48828125 215.255859375 347.955078125 c 4 + 270.877929688 368.212890625 296.41796875 372.127929688 306.58984375 361.955078125 c 4 + 316.762695312 351.783203125 298.750976562 333.844726562 242.178710938 297.803710938 c 4 + 123.529296875 222.215820312 143.763671875 198.483398438 272.873046875 261.8046875 c 4 + 332.158203125 290.880859375 347.041015625 293.80078125 364.043945312 279.689453125 c 4 + 402.079101562 248.124023438 382.787109375 217.5859375 279.959960938 146.590820312 c 4 + 224.625976562 108.38671875 285.23046875 118.651367188 371.188476562 162.04296875 c 4 +EndSplineSet +Validated: 524321 +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +HStem: -167.351 68.0889<145.236 259.511 736.726 851> 382.056 47.207<351.712 448.641 557.274 659.062> 634 68.0889<145.236 259.511 736.726 851> +VStem: 57.626 201.885<-167.351 -99.2617 634 702.089> 57.626 87.6104<-99.2617 634> 252.741 81.4883<77.6621 362.454 391.559 420.986> 461.585 81.9756<77.6621 362.454> 671.403 81.9766<77.6621 363.717> 736.726 201.885<-167.351 -99.2617 634 702.089> 851 87.6104<-99.2617 634> +LayerCount: 2 +Fore +SplineSet +57.6259765625 702.088867188 m 5xf2 + 259.510742188 702.088867188 l 5 + 259.510742188 634 l 5xf2 + 145.236328125 634 l 5 + 145.236328125 -99.26171875 l 5xea + 259.510742188 -99.26171875 l 5 + 259.510742188 -167.350585938 l 5 + 57.6259765625 -167.350585938 l 5 + 57.6259765625 702.088867188 l 5xf2 +529.41015625 386.041015625 m 5 + 540.469726562 400.754882812 554.458007812 411.5859375 571.374023438 418.534179688 c 4 + 588.615234375 425.686523438 609.271484375 429.262695312 633.34375 429.262695312 c 4 + 677.258789062 429.262695312 708.163085938 418.534179688 726.0546875 397.076171875 c 4 + 744.271484375 375.823242188 753.379882812 335.666015625 753.379882812 276.606445312 c 6 + 753.379882812 77.662109375 l 5 + 671.403320312 77.662109375 l 5 + 671.403320312 274.154296875 l 6 + 671.403320312 322.586914062 667.01171875 352.627929688 658.229492188 364.276367188 c 4 + 649.771484375 376.12890625 634.15625 382.055664062 611.385742188 382.055664062 c 4 + 585.361328125 382.055664062 567.469726562 375.720703125 557.7109375 363.05078125 c 4 + 548.27734375 350.584960938 543.560546875 320.952148438 543.560546875 274.154296875 c 6 + 543.560546875 77.662109375 l 5 + 461.584960938 77.662109375 l 5 + 461.584960938 274.154296875 l 6 + 461.584960938 323.200195312 456.868164062 353.4453125 447.43359375 364.889648438 c 4 + 438.325195312 376.333984375 421.735351562 382.055664062 397.663085938 382.055664062 c 4 + 373.916015625 382.055664062 357.325195312 375.720703125 347.891601562 363.05078125 c 4 + 338.783203125 350.584960938 334.229492188 320.952148438 334.229492188 274.154296875 c 6 + 334.229492188 77.662109375 l 5 + 252.741210938 77.662109375 l 5 + 252.741210938 420.986328125 l 5 + 334.229492188 420.986328125 l 5 + 334.229492188 391.55859375 l 6xe7 + 344.963867188 403.8203125 358.30078125 413.119140625 374.241210938 419.454101562 c 4 + 390.505859375 425.993164062 408.885742188 429.262695312 429.379882812 429.262695312 c 4 + 454.102539062 429.262695312 474.596679688 425.686523438 490.861328125 418.534179688 c 4 + 507.452148438 411.380859375 520.301757812 400.549804688 529.41015625 386.041015625 c 5 +938.610351562 702.088867188 m 5xe280 + 938.610351562 -167.350585938 l 5 + 736.725585938 -167.350585938 l 5 + 736.725585938 -99.26171875 l 5xe280 + 851 -99.26171875 l 5 + 851 634 l 5xe240 + 736.725585938 634 l 5 + 736.725585938 702.088867188 l 5 + 938.610351562 702.088867188 l 5xe280 +EndSplineSet +Validated: 524289 +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-06 b/websites/infra4future.de/assets/fonts/symbols.sfd-06 new file mode 100644 index 0000000..1505862 --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-06 @@ -0,0 +1,145 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578264479 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 0 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +OS2Vendor: 'PfEd' +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 0 23 11 +BeginChars: 256 2 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +Flags: H +LayerCount: 2 +Fore +SplineSet +314.114257812 -134.942382812 m 4 + 146.671875 -95.666015625 85.4697265625 28.642578125 86.0322265625 328.315429688 c 4 + 86.4306640625 540.5390625 122.45703125 612.065429688 252.095703125 658.01171875 c 4 + 318.321289062 681.483398438 684.856445312 681.20703125 751.471679688 657.634765625 c 4 + 881.754882812 611.534179688 923.020507812 526.82421875 914 324 c 4 + 907.064453125 168.0390625 892.620117188 137.188476562 803.119140625 87.1708984375 c 4 + 728.197265625 45.3017578125 559.946289062 25.4462890625 428.69140625 42.9853515625 c 4 + 372.471679688 50.498046875 324.361328125 54.5322265625 321.780273438 51.951171875 c 4 + 319.198242188 49.369140625 324.920898438 30.9189453125 334.49609375 10.94921875 c 4 + 362.432617188 -47.3154296875 402.090820312 -60.298828125 536.916992188 -55.3203125 c 6 + 657.012695312 -50.884765625 l 5 + 657.012695312 -85.1337890625 l 6 + 657.012695312 -113.64453125 648.602539062 -121.903320312 606.819335938 -134.421875 c 4 + 548.49609375 -151.895507812 387.610351562 -152.181640625 314.114257812 -134.942382812 c 4 +371.188476562 162.04296875 m 4 + 413.520507812 183.412109375 467.396484375 217.379882812 490.913085938 237.52734375 c 4 + 514.430664062 257.674804688 560.543945312 284.157226562 593.387695312 296.376953125 c 4 + 697.856445312 335.244140625 812.8125 458.669921875 812.8125 531.967773438 c 4 + 812.8125 559.754882812 759.797851562 577.60546875 677.274414062 577.60546875 c 4 + 595.217773438 577.60546875 520.961914062 553.384765625 445.891601562 502.1328125 c 4 + 415.62109375 481.466796875 361.642578125 454.889648438 325.938476562 443.071289062 c 4 + 242.438476562 415.434570312 121.704101562 346.268554688 130.922851562 331.352539062 c 4 + 134.838867188 325.016601562 172.788085938 332.48828125 215.255859375 347.955078125 c 4 + 270.877929688 368.212890625 296.41796875 372.127929688 306.58984375 361.955078125 c 4 + 316.762695312 351.783203125 298.750976562 333.844726562 242.178710938 297.803710938 c 4 + 123.529296875 222.215820312 143.763671875 198.483398438 272.873046875 261.8046875 c 4 + 332.158203125 290.880859375 347.041015625 293.80078125 364.043945312 279.689453125 c 4 + 402.079101562 248.124023438 382.787109375 217.5859375 279.959960938 146.590820312 c 4 + 224.625976562 108.38671875 285.23046875 118.651367188 371.188476562 162.04296875 c 4 +EndSplineSet +EndChar + +StartChar: B +Encoding: 66 66 1 +Width: 1000 +VWidth: 0 +Flags: H +LayerCount: 2 +Fore +SplineSet +57.6259765625 702.088867188 m 5 + 259.510742188 702.088867188 l 5 + 259.510742188 634 l 5 + 145.236328125 634 l 5 + 145.236328125 -99.26171875 l 5 + 259.510742188 -99.26171875 l 5 + 259.510742188 -167.350585938 l 5 + 57.6259765625 -167.350585938 l 5 + 57.6259765625 702.088867188 l 5 +529.41015625 386.041015625 m 5 + 540.469726562 400.754882812 554.458007812 411.5859375 571.374023438 418.534179688 c 4 + 588.615234375 425.686523438 609.271484375 429.262695312 633.34375 429.262695312 c 4 + 677.258789062 429.262695312 708.163085938 418.534179688 726.0546875 397.076171875 c 4 + 744.271484375 375.823242188 753.379882812 335.666015625 753.379882812 276.606445312 c 6 + 753.379882812 77.662109375 l 5 + 671.403320312 77.662109375 l 5 + 671.403320312 274.154296875 l 6 + 671.403320312 322.586914062 667.01171875 352.627929688 658.229492188 364.276367188 c 4 + 649.771484375 376.12890625 634.15625 382.055664062 611.385742188 382.055664062 c 4 + 585.361328125 382.055664062 567.469726562 375.720703125 557.7109375 363.05078125 c 4 + 548.27734375 350.584960938 543.560546875 320.952148438 543.560546875 274.154296875 c 6 + 543.560546875 77.662109375 l 5 + 461.584960938 77.662109375 l 5 + 461.584960938 274.154296875 l 6 + 461.584960938 323.200195312 456.868164062 353.4453125 447.43359375 364.889648438 c 4 + 438.325195312 376.333984375 421.735351562 382.055664062 397.663085938 382.055664062 c 4 + 373.916015625 382.055664062 357.325195312 375.720703125 347.891601562 363.05078125 c 4 + 338.783203125 350.584960938 334.229492188 320.952148438 334.229492188 274.154296875 c 6 + 334.229492188 77.662109375 l 5 + 252.741210938 77.662109375 l 5 + 252.741210938 420.986328125 l 5 + 334.229492188 420.986328125 l 5 + 334.229492188 391.55859375 l 6 + 344.963867188 403.8203125 358.30078125 413.119140625 374.241210938 419.454101562 c 4 + 390.505859375 425.993164062 408.885742188 429.262695312 429.379882812 429.262695312 c 4 + 454.102539062 429.262695312 474.596679688 425.686523438 490.861328125 418.534179688 c 4 + 507.452148438 411.380859375 520.301757812 400.549804688 529.41015625 386.041015625 c 5 +938.610351562 702.088867188 m 5 + 938.610351562 -167.350585938 l 5 + 736.725585938 -167.350585938 l 5 + 736.725585938 -99.26171875 l 5 + 851 -99.26171875 l 5 + 851 634 l 5 + 736.725585938 634 l 5 + 736.725585938 702.088867188 l 5 + 938.610351562 702.088867188 l 5 +EndSplineSet +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/symbols.sfd-07 b/websites/infra4future.de/assets/fonts/symbols.sfd-07 new file mode 100644 index 0000000..243a6cd --- /dev/null +++ b/websites/infra4future.de/assets/fonts/symbols.sfd-07 @@ -0,0 +1,88 @@ +SplineFontDB: 3.0 +FontName: Untitled1 +FullName: Untitled1 +FamilyName: Untitled1 +Weight: Regular +Copyright: Copyright (c) 2020, Matthias Stübinger,,, +UComments: "2020-1-5: Created with FontForge (http://fontforge.org)" +Version: 001.000 +ItalicAngle: 0 +UnderlinePosition: -100 +UnderlineWidth: 50 +Ascent: 800 +Descent: 200 +InvalidEm: 0 +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Zeichen" 0 +XUID: [1021 772 -648170974 5500403] +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 1 +CreationTime: 1578263233 +ModificationTime: 1578263657 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 0 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +OS2Vendor: 'PfEd' +DEI: 91125 +Encoding: ISO8859-1 +UnicodeInterp: none +NameList: AGL For New Fonts +DisplaySize: -48 +AntiAlias: 1 +FitToEm: 0 +WinInfo: 0 23 11 +BeginChars: 256 1 + +StartChar: A +Encoding: 65 65 0 +Width: 1000 +VWidth: 0 +Flags: H +LayerCount: 2 +Fore +SplineSet +314.114257812 -134.942382812 m 4 + 146.671875 -95.666015625 85.4697265625 28.642578125 86.0322265625 328.315429688 c 4 + 86.4306640625 540.5390625 122.45703125 612.065429688 252.095703125 658.01171875 c 4 + 318.321289062 681.483398438 684.856445312 681.20703125 751.471679688 657.634765625 c 4 + 881.754882812 611.534179688 923.020507812 526.82421875 914 324 c 4 + 907.064453125 168.0390625 892.620117188 137.188476562 803.119140625 87.1708984375 c 4 + 728.197265625 45.3017578125 559.946289062 25.4462890625 428.69140625 42.9853515625 c 4 + 372.471679688 50.498046875 324.361328125 54.5322265625 321.780273438 51.951171875 c 4 + 319.198242188 49.369140625 324.920898438 30.9189453125 334.49609375 10.94921875 c 4 + 362.432617188 -47.3154296875 402.090820312 -60.298828125 536.916992188 -55.3203125 c 6 + 657.012695312 -50.884765625 l 5 + 657.012695312 -85.1337890625 l 6 + 657.012695312 -113.64453125 648.602539062 -121.903320312 606.819335938 -134.421875 c 4 + 548.49609375 -151.895507812 387.610351562 -152.181640625 314.114257812 -134.942382812 c 4 +371.188476562 162.04296875 m 4 + 413.520507812 183.412109375 467.396484375 217.379882812 490.913085938 237.52734375 c 4 + 514.430664062 257.674804688 560.543945312 284.157226562 593.387695312 296.376953125 c 4 + 697.856445312 335.244140625 812.8125 458.669921875 812.8125 531.967773438 c 4 + 812.8125 559.754882812 759.797851562 577.60546875 677.274414062 577.60546875 c 4 + 595.217773438 577.60546875 520.961914062 553.384765625 445.891601562 502.1328125 c 4 + 415.62109375 481.466796875 361.642578125 454.889648438 325.938476562 443.071289062 c 4 + 242.438476562 415.434570312 121.704101562 346.268554688 130.922851562 331.352539062 c 4 + 134.838867188 325.016601562 172.788085938 332.48828125 215.255859375 347.955078125 c 4 + 270.877929688 368.212890625 296.41796875 372.127929688 306.58984375 361.955078125 c 4 + 316.762695312 351.783203125 298.750976562 333.844726562 242.178710938 297.803710938 c 4 + 123.529296875 222.215820312 143.763671875 198.483398438 272.873046875 261.8046875 c 4 + 332.158203125 290.880859375 347.041015625 293.80078125 364.043945312 279.689453125 c 4 + 402.079101562 248.124023438 382.787109375 217.5859375 279.959960938 146.590820312 c 4 + 224.625976562 108.38671875 285.23046875 118.651367188 371.188476562 162.04296875 c 4 +EndSplineSet +EndChar +EndChars +EndSplineFont diff --git a/websites/infra4future.de/assets/fonts/textfont_fff.ttf b/websites/infra4future.de/assets/fonts/textfont_fff.ttf new file mode 100644 index 0000000..6670b91 Binary files /dev/null and b/websites/infra4future.de/assets/fonts/textfont_fff.ttf differ diff --git a/websites/infra4future.de/assets/img/background.jpg b/websites/infra4future.de/assets/img/background.jpg new file mode 100644 index 0000000..f211c7d Binary files /dev/null and b/websites/infra4future.de/assets/img/background.jpg differ diff --git a/websites/infra4future.de/assets/img/favicon.png b/websites/infra4future.de/assets/img/favicon.png new file mode 100755 index 0000000..78bcf15 Binary files /dev/null and b/websites/infra4future.de/assets/img/favicon.png differ diff --git a/websites/infra4future.de/default.nix b/websites/infra4future.de/default.nix new file mode 100644 index 0000000..b67444f --- /dev/null +++ b/websites/infra4future.de/default.nix @@ -0,0 +1,14 @@ +{ jekyll, stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "infra4future.de-static"; + + src = ./.; + + phases = [ "buildPhase" ]; + buildPhase = '' + cd $src + ${jekyll}/bin/jekyll build -d $out --disable-disk-cache + ''; + +} diff --git a/websites/infra4future.de/impressum.md b/websites/infra4future.de/impressum.md new file mode 100644 index 0000000..8128574 --- /dev/null +++ b/websites/infra4future.de/impressum.md @@ -0,0 +1,45 @@ +--- +layout: simple_page + +# um das Ganze hier besser lesbar zu machen: auch wenn diese Datei auf .html endet, schaltet den Syntax Highlighter auf YAML. + +title: Infra4future + + + +--- + + +# infra4future.de Impressum + +### Angaben gemäß § 5 TMG: + +hackers against climate change e.V. \\ +Gaiglstraße 16 \\ +80335 München + +### Kontakt: + +Email: info@infra4future.de + +### Haftung für Inhalte + +Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. + +Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. +Haftung für Links + +Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. + +Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen. +Urheberrecht + +Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. + +Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen. + + +Quelle: [https://www.e-recht24.de/impressum-generator.html](https://www.e-recht24.de/impressum-generator.html) + + + diff --git a/websites/infra4future.de/index.md b/websites/infra4future.de/index.md new file mode 100644 index 0000000..6c6d375 --- /dev/null +++ b/websites/infra4future.de/index.md @@ -0,0 +1,56 @@ +--- +layout: default + + +title: Infra4future.de +slogan: Saving the climate with infrastructure +--- + +{% include a-name.html name="about" %} +# Über infra4future.de + +*Ihr habt noch keinen Account? Erstellt euch einfach einen! → [cloud.infra4future.de](https://cloud.infra4future.de)* + +Infra4future.de zugrunde lag das Bedürfnis verschiedener aktivistischer Gruppen im Raum München, besser zusammen zu arbeiten, nach Möglichkeit ohne dabei immer mehr unübersichtlichen einzelnen Chatgruppen beizutreten oder mit anderen sonst übliche (propritären und kommerziellen) Plattformen wie etwa Slack o.ä. zu arbeiten. Dieser Server wurde von [hacc](https://hacc.wiki) als freie Alternative zu solchen Diensten aufgebaut, um eine Plattform zu haben, die von der Bewegung und für die Bewegung ist. + +Die Nutzung ist für alle offen! Einfach bei dem Login-Screen auf Registrieren klicken und sich selbst einen Account erstellen. + +{% include banner.html quote="Rohdaten statt Propaganda" author="Arne Semsrott" %} + + + + +{% include a-name.html name="services" %} +# Dienste + +Bisher haben wir auf diesem Server schon einige Dienste installiert, darunter: + + - [Nextcloud](https://cloud.infra4future.de), mit dem ihr Dateien mit eurer Gruppe oder allen Teilen könnt, sowie einige Erweiterungen: + - *Deck* und *Tasks* zum Verwalten (und Überblick-Behalten) über all die Projekte, die mensch so startet + - ein Kalender + - Collabora — erlaubt euch, übliche Office-Dokumente direkt online zu bearbeiten + - ein Kochbuch, denn Essen ist wichtig für den Widerstand! 🍲 + - [Mattermost](https://mattermost.infra4future.de), eine Plattform zur Echtzeitkommunikation, ähnlich zu Slack. + - [Discourse](https://discuss.infra4future.de), ein Forum für asynchrone Kommunikation + - [Mumble](https://mumble.hacc.space), für Telefonkonferenzen. + - [LimeSurvey](https://survey.infra4future.de), ein Tool zum Erstellen und Durchführen von Umfragen + - [GitLab](https://gitlab.infra4future.de) und [GitLab Pages](https://gitlab.infra4future.de/help/user/project/pages/index.md), eine Hostingplattform für git-Repositories, zum gemeinschaftlichen auf-Software-einhacken (und Webseiten hosten). + - [hacc.media](https://hacc.media), unsere Videoplattform für Vorträge und ähnliches mit Klimabezug (schreibt uns eine Mail, falls ihr eure Aufnahmen dort auch sehen wollt) + +Sobald ihr einen Account für infra4future habt, könnt ihr euch mit diesem zu allen diesen Diensten einloggen ohne euch für jeden nochmal extra registrieren zu müssen. + +Falls das eure Bedürfnisse noch nicht abdeckt oder ihr andere coole Software haben die ihr gerne benutzen würdet, meldet euch bei uns — wir können nichts versprechen, aber wenn möglich fügen wir gerne auch noch weitere Dienste dazu. + +{% include banner.html quote="It is our predicament that we live in a finite world, and yet we behave as if it were infinite." author="Naomi Klein" %} + + + +{% include a-name.html name="faq" %} +# Frequently Asked Questions + + +{% include faq.html question="Wo kann ich meinen Account bearbeiten?" answer="Deine persönlichen Details kannst du global auf https://auth.infra4future.de/auth/realms/forfuture/account" %} +{% include faq.html question="Ich suche einen Dienst für Videotelefonie" answer="Wir haben unseren Jitsi Dienst aufgrund des hohen Wartungsaufwands eingestellt. Wir können aber [meet.ffmuc.net](https://meet.ffmuc.net/) oder [senfcall.de](https://www.senfcall.de/) empfehlen!" %} + + + diff --git a/websites/infra4future.de/nutzungsbedingungen.md b/websites/infra4future.de/nutzungsbedingungen.md new file mode 100644 index 0000000..ac1d214 --- /dev/null +++ b/websites/infra4future.de/nutzungsbedingungen.md @@ -0,0 +1,121 @@ +--- +layout: simple_page + +# um das Ganze hier besser lesbar zu machen: auch wenn diese Datei auf .html endet, schaltet den Syntax Highlighter auf YAML. + +title: Infra4future + + + +--- + + +# infra4future.de Nutzungsbedingungen + +## Nutzungsbedingungen für Online-Plattform + +1. Geltungsbereich der Nutzungsbedingungen + + (1) Diese Nutzungsbedingungen gelten für das Online-Angebot Infra4future, das im Internet unter cloud.infra4future.de, talk.infra4future.de, mattermost.infra4future.de, auth.infra4future.de, social.infra4future.de, gitlab.infra4future.de, survey.infra4future.de, live.infra4future.de, 4future.dev und discuss.infra4future.de abrufbar ist. Hierbei handelt es sich um eine Plattform, auf der Nutzer Profile anlegen können. + + (2) Sie können die derzeit gültigen Nutzungsbedingungen unter infra4future.de/nutzungsbedingungen.html abrufen und ausdrucken. + +2. Vertragsschluss und Benutzerkonto + + (1) Durch Abschluss des Online-Registrierungsvorgangs und Erstellung eines Profils kommt ein Nutzungsvertrag mit dem Betreiber zustande. Gegenstand des Nutzungsvertrages ist die kostenlose Nutzung des Profils. + + (2) Für die Erstellung eines Profils ist die Erstellung eines Benutzerkontos erforderlich. Dieses besteht aus einem Benutzernamen und einem Kennwort („Log-in-Daten“). + + (3) Die Erstellung eines Benutzerkontos ist nur unter Angabe einer aktuellen E-Mail-Adresse des Nutzers möglich. Diese E-Mail-Adresse dient zugleich der Kommunikation mit dem Betreiber. + + (4) Der Nutzer sichert zu, dass die bei Erstellung seines Profils verwendeten Daten („Profil-Daten“) zutreffend und vollständig sind. Die Nutzung von Pseudonymen ist unzulässig. + + (5) Vertragssprache ist ausschließlich deutsch. + + (6) Bei jedweder Kommunikation des Nutzers mit anderen Nutzern entstehen etwaige Vertragsbeziehungen ausschließlich zwischen den beteiligten Nutzern. Der Betreiber ist weder Stellvertreter noch wird er selbst Vertragspartner. + +3. Nutzung des Profils + + (1) Bei der Nutzung des Profils kann der Nutzer verschiedene Dienste in Anspruch nehmen: + - Der Nutzer hat die Möglichkeit, eigene Inhalte (Text, Bilder etc.) innerhalb des Portals zu publizieren. + - Der Nutzer hat die Möglichkeit, Nachrichten an andere Nutzer zu versenden. + - Der Nutzer hat die Möglichkeit von anderen Nutzern publizierte Inhalte anzuschauen und zu teilen. + + (2) Der Betreiber ist jederzeit berechtigt, den Zugang zu einzelnen Inhalten zu sperren, z.B. wenn der Verdacht besteht, dass diese gegen geltenden Recht oder Rechte Dritter verstoßen. Es besteht kein Anspruch des Nutzers auf Aufrechterhaltung einzelner Funktionalitäten des Portals. + + (3) Der Betreiber ist um einen störungsfreien Betrieb des Portals bemüht. Dies beschränkt sich naturgemäß auf Leistungen, auf die der Betreiber einen Einfluss hat. Dem Betreiber ist es unbenommen, den Zugang zu dem Portal aufgrund von Wartungsarbeiten, Kapazitätsbelangen und aufgrund anderer Ereignisse, die nicht in seinem Machtbereich stehen, ganz oder teilweise, zeitweise oder auf Dauer, einzuschränken. + +4. Mitwirkungspflicht des Nutzers: Einstellen von Inhalten + + (1) Der Nutzer verpflichtet sich, bei der Erstellung und Verwendung eigener Inhalte geltendes Recht (z.B. Straf-, Wettbewerbs- und Jugendschutzrecht) zu beachten und keine Rechte Dritter (z.B. Namens-, Marken-, Urheber- und Datenschutzrechte) zu verletzen. + + (2) Der Nutzer verpflichtet sich gegenüber dem Betreiber, dass jedwede Inhalte, die in das Portal eingestellt werden, weder durch ihren Inhalt oder die Form gegen geltendes Recht oder die guten Sitten verstoßen. Das Gleiche gilt für das Setzen von externen Links. Nicht erlaubt ist insbesondere das Verbreiten von Inhalten, die + - Rassismus + - Gewaltverherrlichung und Extremismus irgendwelcher Art + - Aufrufe und Anstiftung zu Straftaten und Gesetzesverstößen, Drohungen gegen Leib, Leben oder Eigentum + - Hetzen gegen Personen oder Unternehmen + - persönlichkeitsverletzende Äußerungen, Verleumdung, Ehrverletzung und üble Nachrede von Nutzern und Dritten sowie Verstöße gegen das Lauterkeitsrecht + - urheberrechtsverletzende Inhalte oder andere Verletzungen von Immaterialgüterrechten + - sexuelle Belästigung von Nutzerinnen und Nutzern und Dritten + - Pornografie + - anstößige, sexistische, obszöne, vulgäre, abscheuliche oder ekelerregende Materialien und Ausdrucksweisen +darstellen, betreffen oder beinhalten. + + (3) Urheberrechtlich geschützte Inhalte dürfen ohne Zustimmung des jeweiligen Rechteinhabers nur im Rahmen des anwendbaren Zitatrechts wörtlich in Beiträge aufgenommen werden. Zitate sind durch Hervorheben mittels Zitatfunktion und Quellenangabe zu kennzeichnen. Fremdsprachige Zitate sind zusätzlich soweit auf Deutsch zu übersetzen, dass der Inhalt grob ersichtlich ist. Insbesondere nicht korrekt zitierte Beiträge können von den Moderatoren entfernt oder berichtigt werden. Die Verbreitung und/oder öffentliche Wiedergabe von jedweden Inhalten des Portals ohne Einwilligung des Betreibers ist untersagt. + +5. Weitere Mitwirkungspflichten des Nutzers + + (1) Der Nutzer darf, ohne ausdrückliche Gestattung des Betreibers, das Portal nur für private Zwecke nutzen und keine Werbung für sich oder Dritte machen. Das bedeutet insbesondere, dass der Nutzer keine Nachrichten werbenden Inhalts ohne eine Einwilligung des Betreibers und des Empfängers verwenden darf (insbesondere: Spam-Nachrichten). + + (2) Für den Fall, dass der Nutzer die Möglichkeit nutzt, Dritte über die Existenz des Portals über die von dem Betreiber bereitgestellte Empfehlungsfunktion zu informieren, hat er sicherzustellen, dass der Dritte mit der Übersendung der werbenden Empfehlungs-E-Mail einverstanden ist. + + (3) Für den Fall, dass die Inhalte Hyperlinks auf Seiten Dritter enthalten, sichert der Nutzer zu, dass er die Berechtigung zur Nutzung des Hyperlinks hat und die Website, auf die verweisen wird („Landingpage“), mit geltendem Recht und Rechten Dritter vereinbar ist. + + (4) Der Nutzer ist verpflichtet, mit den Log-in-Daten sorgfältig umzugehen. Dem Nutzer ist es ausnahmslos untersagt, die Log-in-Daten Dritten mitzuteilen und/oder Dritten den Zugang zu dem Profil unter Umgehung der Log-in-Daten zu ermöglichen. + + (5) Der Nutzer muss jedwede Tätigkeit unterlassen, die geeignet ist, den Betrieb des Portals oder der dahinterstehenden technischen Infrastruktur zu beeinträchtigen und/oder übermäßig zu belasten. Dazu zählen insbesondere: + - die Verwendung von Software, Scripten oder Datenbanken in Verbindung mit der Nutzung des Portals; + - das automatische Auslesen, Blockieren, Überschreiben, Modifizieren, Kopieren von Daten und/oder sonstigen Inhalten, soweit dies nicht für die ordnungsgemäße Nutzung des Portals erforderlich ist; + + (6) Persönlichkeitsverletzend und deshalb nicht zulässig ist es zudem, die Anonymität anderer Nutzer aufzuheben oder Informationen von anderen Nutzern aus privaten Nachrichten, E-Mails oder Chats bekanntzugeben, die nicht für die Öffentlichkeit bestimmt sind. Nutzer dürfen keine Informationen in ihre Beiträge aufnehmen oder sonst wie bekannt machen, die Aufschluss über die Identität eines anderen Nutzers geben könnten oder die der Nutzer von anderen Nutzern ausschließlich in privaten Nachrichten, E-Mails oder Chats erhalten hat. + + (7) Sollte es bei der Nutzung des Portals oder seiner Funktionalitäten zu Störungen kommen, wird der Nutzer den Betreiber von dieser Störung unverzüglich in Kenntnis setzen. Gleiches gilt, wenn der Nutzer Informationen über von Dritten veröffentlichte Inhalte erlangt, die offensichtlich gegen die geltendes Recht oder Rechte Dritter verstoßen. + +6. Nutzungsrechte + + (1) Der Nutzer räumt dem Betreiber ein räumlich und zeitlich unbeschränktes, unwiderrufliches auf Dritte übertragbares, nicht exklusives, unentgeltliches Recht ein, die eingestellten Inhalte in dem Online-Angebot zu verwerten. Der Betreiber ist jederzeit berechtigt, die Inhalte zu verwenden, zu bearbeiten und zu verwerten. Das schließt insbesondere das Vervielfältigungsrecht, das Verbreitungsrecht und das Recht der öffentlichen Wiedergabe, insbesondere das Recht der öffentlichen Zugänglichmachung mit ein. Der Nutzer verzichtet auf das Recht zur Urhebernennung. Von dieser Regelung unberührt bleibt die Möglichkeit des Nutzers, Dritten Rechte an eingestellten Inhalten nach bestimmten Lizenzmodellen einzuräumen. + +7. Haftung + + (1) Unbeschränkte Haftung: Der Betreiber haftet unbeschränkt für Vorsatz und grobe Fahrlässigkeit sowie nach Maßgabe des Produkthaftungsgesetzes. Für leichte Fahrlässigkeit haftet der Betreiber bei Schäden aus der Verletzung des Lebens, des Körpers und der Gesundheit von Personen. + + (2) Im Übrigen gilt folgende beschränkte Haftung: Bei leichter Fahrlässigkeit haftet der Betreiber nur im Falle der Verletzung einer wesentlichen Vertragspflicht, deren Erfüllung die ordnungsgemäße Durchführung des Vertrags überhaupt erst ermöglicht und auf deren Einhaltung der Nutzer regelmäßig vertrauen darf (Kardinalpflicht). Die Haftung für leichte Fahrlässigkeit ist der Höhe nach beschränkt auf die bei Vertragsschluss vorhersehbaren Schäden, mit deren Entstehung typischerweise gerechnet werden muss. Diese Haftungsbeschränkung gilt auch zugunsten der Erfüllungsgehilfen des Betreibers. + +8. Freistellungsanspruch + + Der Nutzer stellt den Betreiber und seine Mitarbeiter bzw. Beauftragten für den Fall der Inanspruchnahme wegen vermeintlicher oder tatsächlicher Rechtsverletzung und/oder Verletzung von Rechten Dritter durch von dem Nutzer im Zusammenhang mit der Nutzung des Portals vorgenommenen Handlungen von sämtlichen sich daraus ergebenen Ansprüchen Dritter frei. Darüber hinaus verpflichtet sich der Nutzer, alle Kosten zu ersetzen, die dem Betreiber durch die Inanspruchnahme durch Dritte entstehen. Zu den erstattungsfähigen Kosten zählen auch die Kosten einer angemessenen Rechtsverteidigung. + +9. Personenbezogene Daten + + (1) Der Nutzer willigt hiermit in die Speicherung der von ihm eingegebenen personenbezogenen Daten ein. Dies gilt auch für die Speicherung der IP-Adressen, die bei jeder Nutzung des Portals übermittelt werden. Der Nutzer willigt insbesondere auch in die Darstellung der von ihm eingegebenen personenbezogenen Daten in seiner Profildarstellung innerhalb des Portals für andere Nutzer des Portals und Dritte ein, die nicht Nutzer des Portals sind. + + (2) Der Nutzer willigt auch in die Nutzung seiner personenbezogenen Daten für die Personalisierung von in dem Portal geschalteten Werbeanzeigen ein (eine Weitergabe personenbezogener Daten an die Werbetreibenden erfolgt nicht). Der Nutzer ist ferner damit einverstanden, dass Werbeanzeigen Dritter, gleich welcher Art, auf seinen Profilseiten geschaltet werden. + + (3) Die Nutzung des Portals macht die Erhebung, Verarbeitung und Nutzung personenbezogener Daten durch den Betreiber unumgänglich. Der Betreiber versichert, alle gespeicherten Daten sorgsam zu behandeln und ausschließlich im Rahmen der datenschutzrechtlichen Einwilligungen des Nutzers zu verarbeiten. Eine darüber hinausgehende Nutzung personenbezogener Daten erfolgt durch den Betreiber nur, sofern dies gesetzlich zulässig ist oder der Nutzer vorab eingewilligt hat. + + (4) Der Nutzer erklärt sich ferner damit einverstanden, dass der Betreiber personenbezogene Daten des Nutzers für Direktmarketingzwecke benutzt. Dazu zählt die werbliche Ansprache des Nutzers per E-Mail und per Post. + +10. Vertragsdauer/Kündigung + + (1) Der Vertrag läuft auf unbestimmte Zeit und kann von beiden Seiten jederzeit ohne Einhaltung einer Kündigungsfrist und Angabe von Gründen gekündigt werden. + + (2) Daneben und darüber hinaus bleibt das Recht der Parteien, das Vertragsverhältnis durch außerordentliche Kündigung aus wichtigem Grund zu beenden, unbenommen. + + (3) Für den Betreiber liegt ein wichtiger Grund zur Kündigung dieses Vertrages vor, wenn der Kunde seine Verpflichtungen nach Ziff. 4 oder 5 dieses Vertrages nachhaltig verletzt. + +11. Schlussbestimmungen + + (1) Sollte der Vertrag unwirksame Regelungen enthalten, bleibt die Wirksamkeit des Vertrages im Übrigen unberührt. + + (2) Auf den vorliegenden Vertrag ist ausschließlich deutsches Recht anwendbar. + diff --git a/websites/muc.hacc.earth/License.md b/websites/muc.hacc.earth/License.md new file mode 100644 index 0000000..471f09f --- /dev/null +++ b/websites/muc.hacc.earth/License.md @@ -0,0 +1,25 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + diff --git a/websites/muc.hacc.earth/assets/ShareTech-Regular.ttf b/websites/muc.hacc.earth/assets/ShareTech-Regular.ttf new file mode 100644 index 0000000..787ba83 Binary files /dev/null and b/websites/muc.hacc.earth/assets/ShareTech-Regular.ttf differ diff --git a/websites/muc.hacc.earth/assets/favicon.png b/websites/muc.hacc.earth/assets/favicon.png new file mode 100644 index 0000000..0f66e6a Binary files /dev/null and b/websites/muc.hacc.earth/assets/favicon.png differ diff --git a/websites/muc.hacc.earth/assets/favicon_color.png b/websites/muc.hacc.earth/assets/favicon_color.png new file mode 100644 index 0000000..8456767 Binary files /dev/null and b/websites/muc.hacc.earth/assets/favicon_color.png differ diff --git a/websites/muc.hacc.earth/assets/globe_cut_mid.jpg b/websites/muc.hacc.earth/assets/globe_cut_mid.jpg new file mode 100644 index 0000000..beabda3 Binary files /dev/null and b/websites/muc.hacc.earth/assets/globe_cut_mid.jpg differ diff --git a/websites/muc.hacc.earth/assets/haccvoc.svg b/websites/muc.hacc.earth/assets/haccvoc.svg new file mode 100644 index 0000000..77e7aa7 --- /dev/null +++ b/websites/muc.hacc.earth/assets/haccvoc.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/websites/muc.hacc.earth/assets/infra4future.svg b/websites/muc.hacc.earth/assets/infra4future.svg new file mode 100644 index 0000000..63db6f5 --- /dev/null +++ b/websites/muc.hacc.earth/assets/infra4future.svg @@ -0,0 +1,92 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/websites/muc.hacc.earth/assets/logo_header.svg b/websites/muc.hacc.earth/assets/logo_header.svg new file mode 100644 index 0000000..5340f36 --- /dev/null +++ b/websites/muc.hacc.earth/assets/logo_header.svg @@ -0,0 +1,39 @@ + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/websites/muc.hacc.earth/assets/logo_header_shadow.svg b/websites/muc.hacc.earth/assets/logo_header_shadow.svg new file mode 100644 index 0000000..308d2de --- /dev/null +++ b/websites/muc.hacc.earth/assets/logo_header_shadow.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/websites/muc.hacc.earth/default.nix b/websites/muc.hacc.earth/default.nix new file mode 100644 index 0000000..501be08 --- /dev/null +++ b/websites/muc.hacc.earth/default.nix @@ -0,0 +1,16 @@ +{ stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "muc.hacc.earth-static"; + + src = ./.; + + phases = [ "buildPhase" ]; + buildPhase = '' + cd $src + mkdir -p $out + cp -r * $out + rm $out/default.nix + ''; + +} diff --git a/websites/muc.hacc.earth/index.html b/websites/muc.hacc.earth/index.html new file mode 100644 index 0000000..fbc0bb4 --- /dev/null +++ b/websites/muc.hacc.earth/index.html @@ -0,0 +1,452 @@ + + + + + + + + hacc – hackers against climate change e.V., Munich + + + + + +
    Die Erde vom Weltall aus gesehen.
    +
    + +
    + + + +
    +

    Welcome to
    hackers against climate change e.V.

    +

    +Inspired by the activities in Siegen, the Munich chapter of hacc started their bi-weekly meetings in May 2019. With the approval to use the name by the initiator of the first sessions on May 13th 2020 we eventually founded the German non-profit organization "hackers against climate change e.V." on December 9th 2020. Two members of us were part of the first hacc sessions at 35c3. Since then we were active at all major Chaos events at the CCCamp 2019, 36c3, rC3 and divoc r2r.
    +Of course we also did and do support multiple events and groups in Munich and Germany. +

    +
    + + +
    +

    Get in contact

    +

    +

    +

    + + + +
    +

    Ways to Participate

    +

    +

      +
    • Regular meetings of the hacc e.V., usually every 1st and 3rd Wednesday 7:30 p.m. at muCCC. At the moment we meet online on mumble.hacc.space.
    • +
    • Regular matinanence of the hacc e.V. infrastrucutre, usually the Wednesday after the regular meeting sometime in the evening. Normally coordinated on mumble.hacc.space.
    • +
    • Help us running the hacc e.V. infrastructure like infra4future.de. You can open an issue on our meta discussion repository or (if you are familiar with Nix) open a merge request on the nixfiles which control a growing part of our infrastructure. Or just ask us via one of hacc e.V. channels above. +
    • +
    • +Interested in streaming and recording? Get in contact with hacc-voc +
    • +
    • + The hacc blog can always use input. It's based on zola. The source of our blog is here. +
    • +
    • +Use the wiki and add your project! +
    • +
    +

    +
    + + + +
    +

    Working groups

    +

    +

      +
    • infra4future, offering infrastructure and communcation platforms
    • +
    • hacc-voc, doing streams and recordings
    • +
    • hacc-csv, collaboration, science, visualisation and data
    • +
    • hacc-blog, work in progress
    • +
    + + +
    +
    + +
    + hacc.voc +
    +

    + If you have an event and need someone + to film or livestream it, maybe we have + time and can help you! + All our recordings and livestreams can be found on hacc.media; if we stream something live, you'll find us at + live.hacc.media. +

    +
      +
    • v-edge Congress 2020 in Munich
    • +
    • Filmed and live streamed several stage discussions and press conferences of other * for future groups (see hacc.media)
    • +
    • Livestreams from demonstrations for climate justice
    • +
    • Our own stage at the Remote Chaos Experience (rc3) 2020
    • +
    • Streaming infrastructure for the second and third editions of the Public Climate School by Students for Future
    • +
    +
    +
    + +
    + infra4future +
    +

    + We provide and administrate server infrastructure + for other climate justice groups. +

    +
      +
    • cloud storage, chats, and forums
    • +
    • mumble.hacc.space: a voice-chat allowing groups to stay in contact while we can’t physically meet
    • +
    • if you need any, look around on the website linked above, write us, or just create an account!
    • +
    +
    +
    +
    + + + +
    +

    Similar groups in Munich

    +

    +

    +

    +
    + + +
    +

    We in the press

    +

    + Le Monde decided to give us, our posters, and Mate, a shoutout in their article about the 36c3! +

    +

    + Article by CIPRA on their networking conference, the online plattform Knotenpunkt Alpen and our involvment. +

    +
    + + +
    +

    Legal Info about hacc e.V.

    +

    +hackers aganist climate change e.V.
    +registered at the local court Munich VR 208921 +

    +

    +

    +

    +

    +Spendenkonto (donation account)
    +hackers against climate change e.V.
    +DE45 4306 0967 1200 4076 00
    +GENODEM1GLS (GLS Bank)
    +

    +

    +Adresse (postal address)
    +hackers against climate change e.V.
    +Gaiglstr. 16
    +80335 München
    +Germany
    +

    + +
    + + +
    +

    About this page

    +

    +The source of the page can be found here. As with the hacc e.V. infrastructure in general you are invited to make change requests or just contact us to ask for changes. +

    +

    +The hacc logo was designed by Creatives for Future. +

    + +
    + + +
    +
    + + + diff --git a/websites/www.infra4future.de/default.nix b/websites/www.infra4future.de/default.nix new file mode 100644 index 0000000..5178f8e --- /dev/null +++ b/websites/www.infra4future.de/default.nix @@ -0,0 +1 @@ +import ../infra4future.de