diff --git a/_extensions/linogaliana/rev-history/rev-history.lua b/_extensions/linogaliana/rev-history/rev-history.lua index 20f9269c36..01c046181b 100644 --- a/_extensions/linogaliana/rev-history/rev-history.lua +++ b/_extensions/linogaliana/rev-history/rev-history.lua @@ -33,10 +33,13 @@ return { -- return as string if tags ~= nil then + -- "-citations": un message de commit contenant "@user" ne doit pas + -- être lu comme une clé bibliographique (erreur fatale en Typst) return pandoc.read( "" .. header .. divider .. tags .. - "
\n\n" + "\n\n", + "markdown-citations" ).blocks else return pandoc.Null() diff --git a/_quarto-prod.yml b/_quarto-prod.yml index b3642acbc6..52a2b1a9c9 100644 --- a/_quarto-prod.yml +++ b/_quarto-prod.yml @@ -92,6 +92,11 @@ website: format: html: + # gitlink ne sert qu'au HTML (widget): en Typst il plante sur `bibliography` + # (pandoc.utils.references lit un nom de fichier vide) + filters: + - path: gitlink + at: post-quarto include-after-body: build/js/mac.html respect-user-color-scheme: true theme: @@ -108,6 +113,26 @@ format: mainfont: "Open Sans" monofont: "JetBrains Mono" linestretch: 1.65 + typst: + # Mise en forme des chapitres en PDF: voir styles/typst/README.md + font-paths: + - fonts + - _extensions/quarto-ext/fontawesome/assets/webfonts + papersize: a4 + fontsize: 10.5pt + toc: true + toc-depth: 2 + linkcolor: "#447099" + highlight-style: atom-one-dark + date-format: long + filters: + - styles/typst/inline-code.lua + template-partials: + - styles/typst/typst-template.typ + - styles/typst/typst-show.typ + - styles/typst/page.typ + include-in-header: + - styles/typst/style.typ ipynb: default @@ -124,8 +149,6 @@ filters: - build/replace-title.lua - _extensions/linogaliana/details-iframe/details.lua - _extensions/linogaliana/lang-switch/button.lua - - path: gitlink - at: post-quarto extensions: gitlink: enabled: false diff --git a/_quarto-test.yml b/_quarto-test.yml index 170853733e..839fe277a8 100644 --- a/_quarto-test.yml +++ b/_quarto-test.yml @@ -68,6 +68,26 @@ format: code-overflow: wrap include-in-header: - build/toggle.js + typst: + # Mise en forme des chapitres en PDF: voir styles/typst/README.md + font-paths: + - fonts + - _extensions/quarto-ext/fontawesome/assets/webfonts + papersize: a4 + fontsize: 10.5pt + toc: true + toc-depth: 2 + linkcolor: "#447099" + highlight-style: atom-one-dark + date-format: long + filters: + - styles/typst/inline-code.lua + template-partials: + - styles/typst/typst-template.typ + - styles/typst/typst-show.typ + - styles/typst/page.typ + include-in-header: + - styles/typst/style.typ ipynb: default diff --git a/_quarto.yml b/_quarto.yml index 65770751d8..113879c607 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -67,6 +67,11 @@ website: format: html: + # gitlink ne sert qu'au HTML (widget): en Typst il plante sur `bibliography` + # (pandoc.utils.references lit un nom de fichier vide) + filters: + - path: gitlink + at: post-quarto include-after-body: build/js/mac.html respect-user-color-scheme: true theme: @@ -84,6 +89,26 @@ format: mainfont: "Open Sans" monofont: "JetBrains Mono" linestretch: 1.65 + typst: + # Mise en forme des chapitres en PDF: voir styles/typst/README.md + font-paths: + - fonts + - _extensions/quarto-ext/fontawesome/assets/webfonts + papersize: a4 + fontsize: 10.5pt + toc: true + toc-depth: 2 + linkcolor: "#447099" + highlight-style: atom-one-dark + date-format: long + filters: + - styles/typst/inline-code.lua + template-partials: + - styles/typst/typst-template.typ + - styles/typst/typst-show.typ + - styles/typst/page.typ + include-in-header: + - styles/typst/style.typ ipynb: default @@ -101,8 +126,6 @@ filters: - build/replace-title.lua - _extensions/linogaliana/details-iframe/details.lua - _extensions/linogaliana/lang-switch/button.lua - - path: gitlink - at: post-quarto extensions: gitlink: enabled: false diff --git a/build/append-environment/_meta_info.qmd b/build/append-environment/_meta_info.qmd index fb4e88f10d..af3b5f5745 100644 --- a/build/append-environment/_meta_info.qmd +++ b/build/append-environment/_meta_info.qmd @@ -18,6 +18,8 @@ Pour utiliser exactement le même environnement (version de `Python` et _package +::: {.content-visible when-format="html"} + ::: {.callout-note collapse="true"} ## Historique du fichier {{< fa brands git-alt >}} @@ -40,6 +42,8 @@ html`
${git_history_graph}
` ::: +::: + :::: :::: {.content-visible when-profile="en"} @@ -59,6 +63,8 @@ To use exactly the same environment (version of `Python` and _packages_), please ::: +::: {.content-visible when-format="html"} + ::: {.callout-note collapse="true"} ## File history {{< fa brands git-alt >}} @@ -82,12 +88,16 @@ html`
${git_history_graph}
` ::: +::: + :::: +::: {.content-visible when-format="html"} + ```{ojs} //| echo: false creation = d3.min( @@ -179,26 +189,19 @@ git_history_graph = { } const isFirst = i === 0 const isLast = i === commits.length - 1 - rows.push(html`
  • - -
    - ${isFirst ? html`${labels.latest}` : ""} - ${isLast ? html`${labels.created}` : ""} - ${c.sha} - ${c.message} - ${c.pr ? html`#${c.pr}` : ""} -
    -
    ${fmt.format(c.date)} · ${labels.by} ${c.author}
    -
  • `) + const head = isFirst ? html`${labels.latest}` : "" + const root = isLast ? html`${labels.created}` : "" + const pr = c.pr ? html`#${c.pr}` : "" + const title = html`
    ${head}${root}${c.sha}${c.message}${pr}
    ` + const meta = html`
    ${fmt.format(c.date)} · ${labels.by} ${c.author}
    ` + rows.push(html`
  • ${title}${meta}
  • `) }) - return html`
    -
      ${rows}
    -
    - ${labels.plain} - ${labels.pr} -
    -
    ` + // Les gabarits html tiennent sur une seule ligne: en sortie Typst, ce code n'est pas + // interprété par Quarto et pandoc le lit comme du markdown; une balise `${labels.plain}${labels.pr}` + return html`
      ${rows}
    ${legend}
    ` } ``` @@ -277,6 +280,4 @@ if (table) { } ``` - - - +::: diff --git a/content/NLP/01_intro.qmd b/content/NLP/01_intro.qmd index d3bd833087..b7fc4f3cd8 100644 --- a/content/NLP/01_intro.qmd +++ b/content/NLP/01_intro.qmd @@ -551,7 +551,7 @@ word_tokenize(dumas[10000:10500]) ::: {.content-visible when-profile="fr"} Comme on le voit, cette librairie ne fait pas les choses dans le détail et a quelques incohérences: `j'y étais` est séparé en 4 sèmes (`['j', "'", 'y', 'étais']`) là où `l'acheter` reste un unique sème. `NLTK` est en effet une librairie anglo-saxonne et l'algorithme de séparation n'est pas toujours adapté aux règles grammaticales françaises. Il vaut mieux dans ce cas privilégier `SpaCy`, la librairie plus récente pour faire ce type de tâche. En plus d'être très bien documentée, elle est mieux adaptée pour les langues non anglo-saxonnes. En l'occurrence, comme le montre l'[exemple de la documentation](https://spacy.io/usage/linguistic-features#tokenization) sur les _tokenizers_, l'algorithme de séparation présente un certain raffinement -![Exemple d'algorithme de tokenisation](https://spacy.io/images/tokenization.svg) +![Exemple d'algorithme de tokenisation](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/spacy-tokenization.svg) Celui-ci peut être appliqué de cette manière: ::: @@ -559,7 +559,7 @@ Celui-ci peut être appliqué de cette manière: As we can see, this library lacks detail and has some inconsistencies: `j'y étais` is split into 4 tokens (`['j', "'", 'y', 'étais']`) whereas `l'acheter` remains a single token. `NLTK` is an English-centric library, and its tokenization algorithm is not always well-suited to French grammar rules. In such cases, it is better to use `SpaCy`, the more modern library for this kind of task. Besides being well-documented, it is better adapted to non-English languages. As shown in the [documentation example](https://spacy.io/usage/linguistic-features#tokenization) on tokenizers, its algorithm provides a certain level of sophistication: -![Example of a tokenization algorithm](https://spacy.io/images/tokenization.svg) +![Example of a tokenization algorithm](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/spacy-tokenization.svg) It can be applied in the following way: ::: diff --git a/content/NLP/02_exoclean.qmd b/content/NLP/02_exoclean.qmd index 29cf2fbd8f..c793a03d4e 100644 --- a/content/NLP/02_exoclean.qmd +++ b/content/NLP/02_exoclean.qmd @@ -685,7 +685,7 @@ Le concept de _feature_ peut sembler étonnant pour des données textuelles, qui `FastText` est un _"sac de n-gram"_. Il considère donc que les _features_ sont à construire à partir des mots de notre corpus mais aussi des _ngrams_ à plusieurs niveaux. L'architecture générale de `FastText` ressemble à celle-ci : -![Illustration de l'architecture de `FastText`](https://raw.githubusercontent.com/InseeFrLab/formation-mlops/main/slides/img/diag-fasttext.png) +![Illustration de l'architecture de `FastText`](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-diag-fasttext.png) Ce qui nous intéresse ici est la partie gauche de ce diagramme, la _"feature extraction"_ car la partie _embedding_ correspond à des concepts que nous verrons lors des prochains chapitres. Avec l'exemple de cette figure, on voit que le texte _"Business engineering and services"_ est tokenisé comme nous avons pu le voir plus tôt en mots. Mais `Fasttext` créé également des ngrams à plusieurs niveaux. Par exemple, il va créer des bigrams de mots : _"Business engineering"_, _"engineering and"_, _"and services"_. mais aussi des quadrigrammes de caractères _"busi"_, _"usin"_ et _"sine"_. Ensuite, `Fasttext` transformera tous ces termes en vecteurs numériques. Contrairement à ce que nous avons vu jusqu'à présent, ces vecteurs ne sont pas des fréquences d'apparition dans le corpus (principe de la matrice origine-document), ce sont des plongements de mots (_word embedding_). Nous découvrirons leurs principes dans les prochains chapitres. @@ -703,7 +703,7 @@ The concept of a _feature_ might seem odd for text data, which is inherently uns `FastText` uses a _"bag of n-grams"_ approach. It considers that features are derived not only from words in the corpus but also from multiple levels of n-grams. The general architecture of `FastText` looks like this: -![Diagram of `FastText` architecture](https://raw.githubusercontent.com/InseeFrLab/formation-mlops/main/slides/img/diag-fasttext.png) +![Diagram of `FastText` architecture](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-diag-fasttext.png) What interests us here is the left side of the diagram—_"feature extraction"_—since the _embedding_ part relates to concepts we will cover in upcoming chapters. In the figure's example, the text _"Business engineering and services"_ is tokenized into words as we’ve seen earlier. But `Fasttext` also creates multiple levels of n-grams. For instance, it generates word bigrams: _"Business engineering"_, _"engineering and"_, _"and services"_; and also character four-grams like _"busi"_, _"usin"_, and _"sine"_. Then, `Fasttext` transforms all these items into numeric vectors. Unlike the term frequency representations we've seen, these vectors are not based on corpus frequency (as in document-term matrices) but are word embeddings. We'll explore this concept in future chapters. diff --git a/content/NLP/03_embedding.qmd b/content/NLP/03_embedding.qmd index 3df544b0fb..8d29634431 100644 --- a/content/NLP/03_embedding.qmd +++ b/content/NLP/03_embedding.qmd @@ -511,7 +511,7 @@ Une métrique régulièrement utilisée pour comparer des vecteurs est la simila Si chaque dimension d'un vecteur correspond à une direction, l'idée derrière la similarité cosinus est de mesurer l'angle entre deux vecteurs. L'angle sera réduit si les vecteurs sont proches. -![](https://miro.medium.com/v2/resize:fit:824/1*GK56xmDIWtNQAD_jnBIt2g.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/miro-1-GK56xmDIWtNQAD_jnBIt2g.png) ::: @@ -525,7 +525,7 @@ A metric commonly used to compare vectors is cosine similarity. This is a centra If each dimension of a vector represents a direction, cosine similarity measures the angle between two vectors. The smaller the angle, the closer the vectors. -![](https://miro.medium.com/v2/resize:fit:824/1*GK56xmDIWtNQAD_jnBIt2g.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/miro-1-GK56xmDIWtNQAD_jnBIt2g.png) ::: @@ -932,7 +932,7 @@ Cette représentation dense va représenter une solution à une limite de l'appr c'est à dire une variable inobservée, de la même manière que les composantes principales produites par une ACP. Ces dimensions latentes peuvent être interprétées comme des dimensions "fondamentales" du langage -![Illustration du principe de la représentation de Word2Vec (source: [Jay Alammar](https://jalammar.github.io/illustrated-word2vec/))](https://jalammar.github.io/images/word2vec/word2vec.png) +![Illustration du principe de la représentation de Word2Vec (source: [Jay Alammar](https://jalammar.github.io/illustrated-word2vec/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/jalammar-word2vec.png) Par exemple, un humain sait qu'un document contenant le mot _"Roi"_ @@ -971,7 +971,7 @@ This dense representation will represent a solution to a limitation of the _bag that is, an unobserved variable, in the same way as principal components produced by a PCA. These latent dimensions can be interpreted as "fundamental" dimensions of language. -![Illustration of the principle of Word2Vec representation (source: [Jay Alammar](https://jalammar.github.io/illustrated-word2vec/))](https://jalammar.github.io/images/word2vec/word2vec.png) +![Illustration of the principle of Word2Vec representation (source: [Jay Alammar](https://jalammar.github.io/illustrated-word2vec/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/jalammar-word2vec.png) For example, a human knows that a document containing the word _"King"_ @@ -1013,7 +1013,7 @@ $$ Un autre "miracle" de cette approche est qu'on obtient une forme de transfert entre les langues. Les relations sémantiques pouvant être similaires entre les langues, pour de nombreux mots usuels, on peut voir translater certaines langues les unes avec les autres si elles ont un socle commun (par exemple les langues occidentales). Ce concept est le point de départ des traducteurs automatiques et des IA multilingues -![Exemple de translation entre deux représentations vectorielles. Source: [Meta](https://engineering.fb.com/2018/01/24/ml-applications/under-the-hood-multilingual-embeddings/)](https://engineering.fb.com/wp-content/uploads/2018/01/GJ_9lgFMnVaR0ZYAAAAAAABV9MkQbj0JAAAC.gif) +![Exemple de translation entre deux représentations vectorielles. Source: [Meta](https://engineering.fb.com/2018/01/24/ml-applications/under-the-hood-multilingual-embeddings/)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/engineering-GJ_9lgFMnVaR0ZYAAAAAAABV9MkQbj0JAAAC.gif) ::: @@ -1023,7 +1023,7 @@ Un autre "miracle" de cette approche est qu'on obtient une forme de transfert en Another "miracle" of this approach is that it allows a form of transfer between languages. Since semantic relationships can be similar across languages, many common words can be mapped between languages if they share a common base (such as Western languages). This concept is the foundation of automatic translators and multilingual AI systems. -![Example of translation between two vector representations. Source: [Meta](https://engineering.fb.com/2018/01/24/ml-applications/under-the-hood-multilingual-embeddings/)](https://engineering.fb.com/wp-content/uploads/2018/01/GJ_9lgFMnVaR0ZYAAAAAAABV9MkQbj0JAAAC.gif) +![Example of translation between two vector representations. Source: [Meta](https://engineering.fb.com/2018/01/24/ml-applications/under-the-hood-multilingual-embeddings/)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/engineering-GJ_9lgFMnVaR0ZYAAAAAAABV9MkQbj0JAAAC.gif) ::: diff --git a/content/annexes/evaluation.qmd b/content/annexes/evaluation.qmd index d962176207..070206e77a 100644 --- a/content/annexes/evaluation.qmd +++ b/content/annexes/evaluation.qmd @@ -95,7 +95,7 @@ Une composante essentielle de l'évaluation des projets `Python` est la __reprod Face à l'incertitude de ne pas retrouver demain les mêmes données qu'aujourd'hui, il est nécessaire de pouvoir stocker des données (ou des modèles). **Votre dépôt `Git` n'est pas le lieu adapté pour le stockage de fichiers volumineux**. Un projet `Python` bien construit est modulaire: il sépare le stockage du code (`Git`), d'éléments de configuration (par exemple des jetons d'API qui ne doivent pas être dans le code) et du stockage des données. Cette séparation conceptuelle entre code et données permet de meilleurs projets. -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/environment_clean.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-environment_clean.png) Là où `Git` est fait pour stocker du code, on utilise des solutions adaptées pour le stockage de fichiers. De nombreuses solutions existent pour ce faire. Sur le SSP Cloud, on propose `MinIO`, une implémentation open-source du stockage `S3`. Si vous êtes dans cette situation, vous pouvez consulter ce [guide pour partager vos données sur le sspcloud](https://pythonds.linogaliana.fr/content/modern-ds/s3.html#cas-pratique-stocker-les-donn%C3%A9es-de-son-projet-sur-le-ssp-cloud). diff --git a/content/getting-started/01_environment.qmd b/content/getting-started/01_environment.qmd index b81f823367..3e25c37c8a 100644 --- a/content/getting-started/01_environment.qmd +++ b/content/getting-started/01_environment.qmd @@ -388,7 +388,7 @@ Ils permettent, dans un même document, de combiner du texte au format `Markdown [^jupyter]: `Jupyter` est né du projet `IPython`, un environnement interactif pour `Python` développé par Fernando Pérez en 2001. En 2014, le projet a évolué pour supporter d'autres langages de programmation en plus de Python, ce qui a conduit à la création du projet Jupyter. Le nom "Jupyter" est un acronyme qui fait référence aux trois langages principaux qu'il supporte : `Julia`, `Python` et `R`. Les _notebooks_ `Jupyter` sont incontournables dans les domaines de la _data science_ et de l'enseignement et de la recherche car ils simplifient grandement l'exploration et le tâtonnement. -![Illustration du principe d'un _notebook_ `Jupyter`. Source: [Cours de Python pour les sciences de la vie (Paris 18) par Patrick Fuchs et Pierre Poulain](https://python.sdv.u-paris.fr/)](https://python.sdv.u-paris.fr/img/jupyter-exemple.png) +![Illustration du principe d'un _notebook_ `Jupyter`. Source: [Cours de Python pour les sciences de la vie (Paris 18) par Patrick Fuchs et Pierre Poulain](https://python.sdv.u-paris.fr/)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/python-jupyter-exemple.png) A l'origine, le logiciel `Jupyter` était le seul offrant ces fonctionnalités interactives. Il existe maintenant d'autres manières de bénéficier des avantages du _notebook_ tout en ayant un IDE aux fonctionnalités plus complètes que `Jupyter`. C'est pour cette raison qu'il est plus pratique, en 2026, d'utiliser `VSCode`, un éditeur de code généraliste mais proposant d'excellentes fonctionnalités en `Python`, que directement `Jupyter`. Déjà très pratique pour utiliser des *notebooks*, lorsque vous utiliserez `Python` par le biais des scripts, un vrai IDE comme `VSCode` vous sera essentiel. @@ -421,7 +421,7 @@ They allow you to combine text in `Markdown` format (a lighter markup text forma [^jupyter-en]: `Jupyter` originated from the `IPython` project, an interactive environment for `Python` developed by Fernando Pérez in 2001. In 2014, the project evolved to support other programming languages in addition to Python, leading to the creation of the Jupyter project. The name "Jupyter" is an acronym referring to the three main languages it supports: `Julia`, `Python`, and `R`. `Jupyter` notebooks are crucial in the fields of data science and education and research because they greatly simplify exploration and experimentation. -![Illustration of a Jupyter notebook concept. Source: [Python Course for Life Sciences (Paris 18) by Patrick Fuchs and Pierre Poulain](https://python.sdv.u-paris.fr/)](https://python.sdv.u-paris.fr/img/jupyter-exemple.png) +![Illustration of a Jupyter notebook concept. Source: [Python Course for Life Sciences (Paris 18) by Patrick Fuchs and Pierre Poulain](https://python.sdv.u-paris.fr/)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/python-jupyter-exemple.png) Initially, `Jupyter` was the only software offering these interactive features. There are now other ways to benefit from the advantages of notebooks while having an IDE with more complete features than `Jupyter`. This is why, as of 2026, it is more practical to use `VSCode`—a general-purpose code editor that nonetheless offers excellent `Python` features—rather than `Jupyter` directly. Already very handy for working with notebooks, a real IDE like `VSCode` will become essential once you start using `Python` through scripts. ::: diff --git a/content/getting-started/02_data_analysis.qmd b/content/getting-started/02_data_analysis.qmd index c638fd19ab..93bc543f0d 100644 --- a/content/getting-started/02_data_analysis.qmd +++ b/content/getting-started/02_data_analysis.qmd @@ -580,7 +580,7 @@ une étude. Même dans les articles scientifiques où il est mentionné que les données peuvent être mises à disposition d'autres chercheurs, le partage de celles-ci est rare : -![Graphique issu de l'article de _Nature_](https://media.nature.com/lw800/magazine-assets/d41586-022-01692-1/d41586-022-01692-1_23176470.png){} +![Graphique issu de l'article de _Nature_](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/nature-d41586-022-01692-1_23176470.png){} Ce constat, quelque peu inquiétant, est confirmé par une étude récente @@ -628,7 +628,7 @@ raises the issue of data access for researchers wanting to reproduce a study. Even in scientific articles where it is mentioned that data can be made available to other researchers, such sharing is rare: -![Graph from the _Nature_ article](https://media.nature.com/lw800/magazine-assets/d41586-022-01692-1/d41586-022-01692-1_23176470.png){} +![Graph from the _Nature_ article](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/nature-d41586-022-01692-1_23176470.png){} This somewhat concerning observation is confirmed by a recent study diff --git a/content/git/exogit/_divergence.qmd b/content/git/exogit/_divergence.qmd index 1825b4e9a1..cd1e99c309 100644 --- a/content/git/exogit/_divergence.qmd +++ b/content/git/exogit/_divergence.qmd @@ -6,7 +6,7 @@ Imaginons deux personnes qui collaborent sur un projet, Alice et Bob. Bob a mis de côté le projet quelques jours. Il veut récupérer les avancées faites par Alice pendant cette période. Celle-ci a fait évoluer le projet, supposons avec un seul _commit_ puisque cela ne change rien. -![Historique de Bob en retard (cas simple)](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/ff.png){#fig-history-simple} +![Historique de Bob en retard (cas simple)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-ff.png){#fig-history-simple} L'historique de Bob est cohérent avec celui sur `Github`, il lui manque juste le dernier _commit_ en bleu (@fig-history-simple). Il suffit donc à Bob de récupérer ce _commit_ en local avant de commencer à éditer ses fichiers. @@ -20,7 +20,7 @@ Maintenant, imaginons le cas plus compliqué où Bob avait fait évoluer son cod Son historique local diverge donc de l'historique distant: -![Historique de Bob en retard (cas plus compliqué)](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/divergence.png){#fig-history-complicated} +![Historique de Bob en retard (cas plus compliqué)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-divergence.png){#fig-history-complicated} Les derniers commits ne sont pas les mêmes. `Git` ne peut pas résoudre de lui-même la divergence. C'est à Bob de trancher sur la version qu'il préfère. Deux stratégies pour réconcilier les historiques sont accessibles: @@ -29,7 +29,7 @@ Les derniers commits ne sont pas les mêmes. `Git` ne peut pas résoudre de lui- La première méthode, la plus simple, est le _merge_. -![Historique de Bob en retard: résolution par _merge_](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/merge_commit_local.png){#fig-history-merge} +![Historique de Bob en retard: résolution par _merge_](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-merge_commit_local.png){#fig-history-merge} Le rapatriement des modifications d'Alice dans l'historique de Bob crée un premier commit de _merge_. Les fichiers en question présenteront alors des balises permettant d'identifier la divergence de version et la source de celle-ci. Dans le fichier brut, cela donnera @@ -53,7 +53,7 @@ Une fois les versions réconciliées, il ne reste plus qu'à faire un nouveau _c Une autre approche est accessible, le _rebase_. _In fine_ ceci va correspondre à cet historique, propre. -![](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/rebase1.png){#fig-history-rebase1} +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-rebase1.png){#fig-history-rebase1} Néanmoins ceci implique des étapes intermédiaires qui consistent à réécrire l'historique, ce qui est déjà une opération avancée. En fait, `Git` effectue trois étapes: @@ -61,7 +61,7 @@ Néanmoins ceci implique des étapes intermédiaires qui consistent à réécrir 2. Réalise un _fast forward merge_ maintenant que le _commit_ local n'est plus là 3. Rajoute le commit local au bout de l'historique -![](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/rebase2.png){#fig-history-rebase2} +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-rebase2.png){#fig-history-rebase2} Le _commit_ local a changé d'identité, ce qui explique son nouveau SHA. Cette approche présente l'avantage de garder un historique linéaire. Néanmoins, elle peut avoir des effects de bord et est donc à utiliser avec précaution (plus d'explications dans [la documentation de `Git`](https://git-scm.com/book/fr/v2/Les-branches-avec-Git-Rebaser-Rebasing#s_rebase_peril)). Quand on débute, et même après, il est recommandé de privilégier la méthode _merge_, qui est celle mise en oeuvre par défaut. Lorsque vous serez plus à l'aise, vous pourrez vous essayer à d'autres méthodes de *merge*. @@ -75,7 +75,7 @@ Le _commit_ local a changé d'identité, ce qui explique son nouveau SHA. Cette Imagine two people collaborating on a project, Alice and Bob. Bob put the project aside for a few days. He wants to retrieve the progress Alice made during this period. She made the project evolve, let us assume with a single _commit_ since it changes nothing. -![Bob's history when behind (simple case)](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/ff.png){#fig-history-simple} +![Bob's history when behind (simple case)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-ff.png){#fig-history-simple} Bob's history is consistent with the one on `Github`, it is only missing the last _commit_ in blue (@fig-history-simple). Bob therefore just needs to retrieve this _commit_ locally before starting to edit his files. @@ -89,7 +89,7 @@ Now, imagine the more complicated case where Bob had made his code evolve in par His local history therefore diverges from the remote history: -![Bob's history when behind (more complicated case)](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/divergence.png){#fig-history-complicated} +![Bob's history when behind (more complicated case)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-divergence.png){#fig-history-complicated} The last commits are not the same. `Git` cannot resolve the divergence by itself. It is up to Bob to decide which version he prefers. Two strategies are available to reconcile the histories: @@ -98,7 +98,7 @@ The last commits are not the same. `Git` cannot resolve the divergence by itself The first method, the simplest, is the _merge_. -![Bob's history when behind: resolution by _merge_](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/merge_commit_local.png){#fig-history-merge} +![Bob's history when behind: resolution by _merge_](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-merge_commit_local.png){#fig-history-merge} Bringing Alice's changes into Bob's history creates a first merge commit. The files in question will then contain markers identifying the version divergence and its source. In the raw file, this will give @@ -122,7 +122,7 @@ Once the versions are reconciled, all that remains is to make a new _commit_. Th Another approach is available, the _rebase_. _In fine_ this will correspond to this clean history. -![](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/rebase1.png){#fig-history-rebase1} +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-rebase1.png){#fig-history-rebase1} Nevertheless, this involves intermediate steps that consist in rewriting the history, which is already an advanced operation. In fact, `Git` performs three steps: @@ -130,7 +130,7 @@ Nevertheless, this involves intermediate steps that consist in rewriting the his 2. Performs a _fast forward merge_ now that the local _commit_ is no longer there 3. Adds the local commit back at the end of the history -![](https://raw.githubusercontent.com/InseeFrLab/formation-bonnes-pratiques-git-R/main/slides/img/rebase2.png){#fig-history-rebase2} +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/githubusercontent-rebase2.png){#fig-history-rebase2} The local _commit_ has changed identity, which explains its new SHA. This approach has the advantage of keeping a linear history. Nevertheless, it can have side effects and should therefore be used with caution (more explanations in [the `Git` documentation](https://git-scm.com/book/en/v2/Git-Branching-Rebasing#_rebase_peril)). When you are starting out, and even afterwards, it is recommended to favour the _merge_ method, which is the one implemented by default. When you are more comfortable, you can try other *merge* methods. diff --git a/content/git/exogit/_exercice3.qmd b/content/git/exogit/_exercice3.qmd index 4791b2099c..75492b1a0f 100644 --- a/content/git/exogit/_exercice3.qmd +++ b/content/git/exogit/_exercice3.qmd @@ -38,7 +38,7 @@ Le/la mainteneur.euse choisit une des `pull request` et la valide avec l'option 9️⃣ Vérifier l'arborescence du dépôt dans `Insights > Network`. Votre arbre doit avoir une forme caractéristique de ce qu'on appelle le `Github flow`: -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/ghflow.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-ghflow.png) ::: @@ -86,7 +86,7 @@ The maintainer chooses one of the `pull request`s and validates it with the `squ 9️⃣ Check the tree of the repository in `Insights > Network`. Your tree must have the characteristic shape of what is called the `Github flow`: -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/ghflow.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-ghflow.png) ::: diff --git a/content/git/exogit/_workflow.qmd b/content/git/exogit/_workflow.qmd index c4aa3a0fa1..5d913da0c3 100644 --- a/content/git/exogit/_workflow.qmd +++ b/content/git/exogit/_workflow.qmd @@ -11,7 +11,7 @@ Le _Github flow_ correspond à cette forme caractéristique d'arbre: 3. Lorsque les modifications aboutissent, elles sont intégrées à `main` ; la branche en question disparaît : -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/ghflow.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-ghflow.png)
    @@ -25,7 +25,7 @@ Il existe des *workflows* plus complexes, notamment le `Git Flow` que j'utilise pour développer ce cours. [Ce tutoriel](https://www.atlassian.com/fr/git/tutorials/comparing-workflows/gitflow-workflow), très bien fait, illustre avec un graphique la complexité accrue de ce flow : -![](https://wac-cdn.atlassian.com/dam/jcr:8f00f1a4-ef2d-498a-a2c6-8020bb97902f/03%20Release%20branches.svg?cdnVersion=55) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/atlassian-03-Release-branches.svg) Cette fois, une branche intermédiaire, par exemple une branche `development`, intègre des modifications à tester avant de les intégrer dans la version @@ -57,7 +57,7 @@ The _Github flow_ corresponds to this characteristic tree shape: 3. When the changes are complete, they are merged into `main`; the branch in question disappears: -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/ghflow.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-ghflow.png)
    @@ -71,7 +71,7 @@ There are more complex *workflows*, notably the `Git Flow` that I use to develop this course. [This tutorial](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow), very well done, illustrates with a graph the increased complexity of this flow: -![](https://wac-cdn.atlassian.com/dam/jcr:8f00f1a4-ef2d-498a-a2c6-8020bb97902f/03%20Release%20branches.svg?cdnVersion=55) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/atlassian-03-Release-branches.svg) This time, an intermediate branch, for example a `development` branch, gathers changes to be tested before integrating them into the diff --git a/content/git/index.qmd b/content/git/index.qmd index 4259497f03..5e26146036 100644 --- a/content/git/index.qmd +++ b/content/git/index.qmd @@ -74,7 +74,7 @@ Scroll down to read the _slides_ below or [click here](https://inseefrlab.github La démarche naturelle quand on commence à travailler longuement sur un projet pour lequel on veut éviter d'effacer et perdre son code à cause d'une erreur humaine est de dupliquer les fichiers et créer des __versions multiples d'un même code qui sont des instantanés à un moment donné__ : -![Le contrôle de version artisanal](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/fichiers_multiples.png){#fig-version-control-inferno} +![Le contrôle de version artisanal](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-fichiers_multiples.png){#fig-version-control-inferno} Ceci est une manière de sauvegarder l'évolution de son code et donc la vie d'un projet. Néanmoins c'est une manière très artisanale de procéder qui n'efface pas l'erreur humaine puisqu'il est toujours possible de faire une erreur lors de la duplication du fichier ou d'oublier de sauvegarder une version qui nous satisfaisait. @@ -98,7 +98,7 @@ Si on ajoute la dimension collaborative du travail sur le code, on voit rapideme The natural approach when you start working for a long time on a project for which you want to avoid erasing and losing your code because of a human error is to duplicate files and create __multiple versions of the same code that are snapshots at a given point in time__: -![Handmade version control](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/fichiers_multiples.png){#fig-version-control-inferno} +![Handmade version control](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-fichiers_multiples.png){#fig-version-control-inferno} This is a way of saving the evolution of your code and therefore the life of a project. Nevertheless, it is a very artisanal way of proceeding that does not eliminate human error, since it is always possible to make a mistake when duplicating the file or to forget to save a version that satisfied us. diff --git a/content/git/introgit/_branches.qmd b/content/git/introgit/_branches.qmd index 44db207b62..bd08a3a12a 100644 --- a/content/git/introgit/_branches.qmd +++ b/content/git/introgit/_branches.qmd @@ -24,7 +24,7 @@ L'utilisation des branches est une fonctionnalité déjà avancée de `Git`. Ce Parmi les pratiques techniquement possibles mais non recommandables, il faut **absolument** bannir les usages de `push force` qui peuvent déstabiliser les copies locales des collaborateurs. S'il est nécessaire de faire un `push force`, c'est qu'il y a un problème dans la branche, à identifier et régler **sans** faire `push force`. -![](https://miro.medium.com/max/400/0*XaLzNzYkA6PZjbl9.jpg) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/miro-0-XaLzNzYkA6PZjbl9.jpg) ::: @@ -208,7 +208,7 @@ Using branches is already an advanced feature of `Git`. It is a wonderful techni Among the practices that are technically possible but not recommended, you must **absolutely** ban the use of `push force`, which can destabilise collaborators' local copies. If a `push force` is necessary, it means there is a problem in the branch, which must be identified and fixed **without** a `push force`. -![](https://miro.medium.com/max/400/0*XaLzNzYkA6PZjbl9.jpg) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/miro-0-XaLzNzYkA6PZjbl9.jpg) ::: diff --git a/content/git/introgit/_commit.qmd b/content/git/introgit/_commit.qmd index 3e1b2d4ac8..fc52243361 100644 --- a/content/git/introgit/_commit.qmd +++ b/content/git/introgit/_commit.qmd @@ -66,6 +66,8 @@ des fichiers `Changed`, il faudra le modifier à nouveau ::: +::: {.content-visible when-format="html"} + ```{ojs} containerQuestionGit1 ``` @@ -123,6 +125,8 @@ messageQuestion1 = { } ``` +::: + ::: {.callout-note} Si vous utilisiez la ligne de commande, la manière équivalente de faire serait @@ -209,6 +213,8 @@ of `Changed` files, you will have to modify it again ::: +::: {.content-visible when-format="html"} + ```{ojs} containerQuestionGit1 ``` @@ -266,6 +272,8 @@ messageQuestion1 = { } ``` +::: + ::: {.callout-note} If you were using the command line, the equivalent way of doing this would be diff --git a/content/git/introgit/_gitignore.qmd b/content/git/introgit/_gitignore.qmd index c13138239f..4107020ef1 100644 --- a/content/git/introgit/_gitignore.qmd +++ b/content/git/introgit/_gitignore.qmd @@ -41,6 +41,8 @@ de `Jupyter`, cliquer sur `View -> Show Hidden Files` ::: +::: {.content-visible when-format="html"} + ```{ojs} //| echo: false html`${containerQuestionGit2}` @@ -51,13 +53,7 @@ html`${containerQuestionGit2}` //| output: false containerQuestionGit2 = { // The container div for all the elements - let container = html` -
    -
    ${textQuestion2}
    -
    ${viewof questionGit2}

    -
    ${messageQuestion2Response}
    -
    - `; + let container = html`
    ${textQuestion2}
    ${viewof questionGit2}

    ${messageQuestion2Response}
    `; return container; } @@ -134,6 +130,8 @@ textQuestion3 textQuestion3 = md`__❓ **Question** : que se passe-t-il lorsque l'on ajoute au \`.gitignore\` des fichiers qui ont déjà été *commit* sur le projet Git ?__` ``` +::: + Il ne faut pas négliger le `.gitignore`. `Git` est un système de contrôle de version qui est pensé pour des fichiers textes, pas des fichiers de données. Contrairement aux fichiers texte où `Git` peut contrôler ligne à ligne les évolutions, ce qui en fait un gestionnaire de version utile, les fichiers de données sont trop complexes pour ce suivi fin, ce qui fait que chaque modification de ces fichiers, souvent lourds (plusieurs Méga Octets), revient à dupliquer le fichier dans la mémoire de `Git` (plus de détails sur les alternatives dans @tip-data). @@ -199,6 +197,8 @@ of `Jupyter`, click on `View -> Show Hidden Files` ::: +::: {.content-visible when-format="html"} + ```{ojs} //| echo: false html`${containerQuestionGit2}` @@ -209,13 +209,7 @@ html`${containerQuestionGit2}` //| output: false containerQuestionGit2 = { // The container div for all the elements - let container = html` -
    -
    ${textQuestion2}
    -
    ${viewof questionGit2}

    -
    ${messageQuestion2Response}
    -
    - `; + let container = html`
    ${textQuestion2}
    ${viewof questionGit2}

    ${messageQuestion2Response}
    `; return container; } @@ -292,6 +286,8 @@ textQuestion3 textQuestion3 = md`__❓ **Question**: what happens when you add to the \`.gitignore\` files that have already been *committed* to the Git project?__` ``` +::: + The `.gitignore` should not be neglected. `Git` is a version control system designed for text files, not data files. Unlike text files, where `Git` can track changes line by line, which makes it a useful version manager, data files are too complex for this fine-grained tracking, so every change to these files, which are often heavy (several megabytes), amounts to duplicating the file in `Git`'s memory (more details on the alternatives in @tip-data). diff --git a/content/git/introgit/_introduction.qmd b/content/git/introgit/_introduction.qmd index ec6b30cb23..b1dc6696d0 100644 --- a/content/git/introgit/_introduction.qmd +++ b/content/git/introgit/_introduction.qmd @@ -31,7 +31,7 @@ pour certaines opérations où elles s'avèrent fort pratiques Pour comprendre les analogies avec le versionnage artisanal à la main, rappelons nous le principe de celui-ci avec la @fig-version-control-inferno -![Le contrôle de version artisanal](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/fichiers_multiples.png){#fig-version-control-inferno} +![Le contrôle de version artisanal](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-fichiers_multiples.png){#fig-version-control-inferno} ::: {.callout-important} @@ -83,7 +83,7 @@ for certain operations where they prove very handy To understand the analogies with hand-made versioning, let us recall how it works with @fig-version-control-inferno -![Handmade version control](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/fichiers_multiples.png){#fig-version-control-inferno} +![Handmade version control](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-fichiers_multiples.png){#fig-version-control-inferno} ::: {.callout-important} diff --git a/content/git/introgit/_staging.qmd b/content/git/introgit/_staging.qmd index 124799bb67..52b671dba8 100644 --- a/content/git/introgit/_staging.qmd +++ b/content/git/introgit/_staging.qmd @@ -7,7 +7,7 @@ Dans un monde sans `Git`, on écrit du code, on sauvegarde son script et parfois Le premier niveau conceptuel est celui de l'index des modifications. Il s'agit des modifications en attente de validation, d'où le nom de _staging area_ dans la première partie de @fig-staging-area. -![La gymnastique de `Git` dans son ensemble](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/completeworkflow.png){#fig-staging-area} +![La gymnastique de `Git` dans son ensemble](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-completeworkflow.png){#fig-staging-area} En principe, quand on édite des scripts ou _notebooks_, on enregistre régulièrement ceux-ci. Le niveau d'implication suivant est de mettre de côté une version particulière de ceux-ci, ce qu'à la main (voir la @fig-version-control-inferno), nous ferions en dupliquant le fichier. Cela implique de mettre une ou plusieurs modifications dans la liste d'attente des modifications à valider. Cette opération s'appelle `git add` et est l'objet du prochain exercice. @@ -111,7 +111,7 @@ In a world without `Git`, you write code, save your script and sometimes decide The first conceptual level is the index of changes. These are the changes awaiting validation, hence the name _staging area_ in the first part of @fig-staging-area. -![The whole `Git` workout](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/completeworkflow.png){#fig-staging-area} +![The whole `Git` workout](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-completeworkflow.png){#fig-staging-area} In principle, when you edit scripts or _notebooks_, you save them regularly. The next level of commitment is to set aside a particular version of them, which by hand (see @fig-version-control-inferno) we would do by duplicating the file. This means putting one or more changes in the waiting list of changes to be validated. This operation is called `git add` and is the subject of the next exercise. diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/LICENSE b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/LICENSE new file mode 100644 index 0000000000..fdb0416f4b --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 duskmoon314 (Campbell He) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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 OR COPYRIGHT HOLDERS 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. diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/README.md b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/README.md new file mode 100644 index 0000000000..cd258ce894 --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/README.md @@ -0,0 +1,162 @@ +# typst-fontawesome + +A Typst library for Font Awesome icons through the desktop fonts. + +p.s. The library is based on the Font Awesome 6 desktop fonts (v6.6.0) + +## Usage + +### Install the fonts + +You can download the fonts from the official website: https://fontawesome.com/download + +After downloading the zip file, you can install the fonts depending on your OS. + +#### Typst web app + +You can simply upload the `otf` files to the web app and use them with this package. + +#### Mac + +You can double click the `otf` files to install them. + +#### Windows + +You can right-click the `otf` files and select `Install`. + +#### Some notes + +This library is tested with the otf files of the Font Awesome Free set. TrueType fonts may not work as expected. (Though I am not sure whether Font Awesome provides TrueType fonts, some issue is reported with TrueType fonts.) + +### Import the library + +#### Using the typst packages + +You can install the library using the typst packages: + +`#import "@preview/fontawesome:0.5.0": *` + +#### Manually install + +Copy all files start with `lib` to your project and import the library: + +`#import "lib.typ": *` + +There are three files: + +- `lib.typ`: The main entrypoint of the library. +- `lib-impl.typ`: The implementation of `fa-icon`. +- `lib-gen.typ`: The generated icon map and functions. + +I recommend renaming these files to avoid conflicts with other libraries. + +### Use the icons + +You can use the `fa-icon` function to create an icon with its name: + +`#fa-icon("chess-queen")` + +Or you can use the `fa-` prefix to create an icon with its name: + +`#fa-chess-queen()` (This is equivalent to `#fa-icon().with("chess-queen")`) + +You can also set `solid` to `true` to use the solid version of the icon: + +`#fa-icon("chess-queen", solid: true)` + +Some icons only have the solid version in the Free set, so you need to set `solid` to `true` to use them if you are using the Free set. +Otherwise, you may not get the expected glyph. + +#### Full list of icons + +You can find all icons on the [official website](https://fontawesome.com/search) + +#### Different sets + +By default, the library supports `Free`, `Brands`, `Pro`, `Duotone` and `Sharp` sets. +(See [Enable Pro sets](#enable-pro-sets) for enabling Pro sets.) + +But only `Free` and `Brands` are tested by me. +That is, three font files are used to test: + +- Font Awesome 6 Free (Also named as _Font Awesome 6 Free Regular_) +- Font Awesome 6 Free Solid +- Font Awesome 6 Brands + +Due to some limitations of typst 0.12.0, the regular and solid versions are treated as different fonts. +In this library, `solid` is used to switch between the regular and solid versions. + +To use other sets or specify one set, you can pass the `font` parameter to the inner `text` function: \ +`fa-icon("github", font: "Font Awesome 6 Pro Solid")` + +If you have Font Awesome Pro, please help me test the library with the Pro set. +Any feedback is appreciated. + +##### Enable Pro sets + +Typst 0.12.0 raise a warning when the font is not found. +To use the Pro set, `#fa-use-pro()` should be called before any `fa-*` functions. + +```typst +#fa-use-pro() // Enable Pro sets + +#fa-icon("chess-queen-piece") // Use icons from Pro sets +``` + +#### Customization + +The `fa-icon` function passes args to `text`, so you can customize the icon by passing parameters to it: + +`#fa-icon("chess-queen", fill: blue)` + +#### Stacking icons + +The `fa-stack` function can be used to create stacked icons: + +`#fa-stack(fa-icon-args: (solid: true), "square", ("chess-queen", (fill: white, size: 5.5pt)))` + +Declaration is `fa-stack(box-args: (:), grid-args: (:), fa-icon-args: (:), ..icons)` + +- The order of the icons is from the bottom to the top. +- `fa-icon-args` is used to set the default args for all icons. +- You can also control the internal `box` and `grid` by passing the `box-args` and `grid-args` to the `fa-stack` function. +- Currently, four types of icons are supported. The first three types leverage the `fa-icon` function, and the last type is just a content you want to put in the stack. + - `str`, e.g., `"square"` + - `array`, e.g., `("chess-queen", (fill: white, size: 5.5pt))` + - `arguments`, e.g. `arguments("chess-queen", solid: true, fill: white)` + - `content`, e.g. `fa-chess-queen(solid: true, fill: white)` + +#### Known Issues + +- [typst#2578](https://github.com/typst/typst/issues/2578) [typst-fontawesome#2](https://github.com/duskmoon314/typst-fontawesome/issues/2) + + This is a known issue that the ligatures may not work in headings, list items, grid items, and other elements. You can use the Unicode from the [official website](https://fontawesome.com) to avoid this issue when using Pro sets. + + For most icons, Unicode is used implicitly. So I assume we usually don't need to worry about this. + + Any help on this issue is appreciated. + +## Example + +See the [`example.typ`](https://typst.app/project/rQwGUWt5p33vrsb_uNPR9F) file for a complete example. + +## Contribution + +Feel free to open an issue or a pull request if you find any problems or have any suggestions. + +### Python helper + +The `helper.py` script is used to get metadata via the GraphQL API and generate typst code. I aim only to use standard python libraries, so running it on any platform with python installed should be easy. + +### Repo structure + +- `helper.py`: The helper script to get metadata and generate typst code. +- `lib.typ`: The main entrypoint of the library. +- `lib-impl.typ`: The implementation of `fa-icon`. +- `lib-gen.typ`: The generated functions of icons. +- `example.typ`: An example file to show how to use the library. +- `gallery.typ`: The generated gallery of icons. It is used in the example file. + +## License + +This library is licensed under the MIT license. Feel free to use it in your project. diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-gen.typ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-gen.typ new file mode 100644 index 0000000000..0ac48f1e9b --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-gen.typ @@ -0,0 +1,9648 @@ +#import "lib-impl.typ": fa-icon + +// Generated icon list of Font Aewsome 6.6.0 + +#let fa-icon-map = ( + "0": "\u{30}", + "00": "\u{e467}", + "1": "\u{31}", + "2": "\u{32}", + "3": "\u{33}", + "360-degrees": "\u{e2dc}", + "4": "\u{34}", + "42-group": "\u{e080}", + "innosoft": "\u{e080}", + "5": "\u{35}", + "500px": "\u{f26e}", + "6": "\u{36}", + "7": "\u{37}", + "8": "\u{38}", + "9": "\u{39}", + "a": "\u{41}", + "abacus": "\u{f640}", + "accent-grave": "\u{60}", + "accessible-icon": "\u{f368}", + "accusoft": "\u{f369}", + "acorn": "\u{f6ae}", + "address-book": "\u{f2b9}", + "contact-book": "\u{f2b9}", + "address-card": "\u{f2bb}", + "contact-card": "\u{f2bb}", + "vcard": "\u{f2bb}", + "adn": "\u{f170}", + "adversal": "\u{f36a}", + "affiliatetheme": "\u{f36b}", + "airbnb": "\u{f834}", + "air-conditioner": "\u{f8f4}", + "airplay": "\u{e089}", + "alarm-clock": "\u{f34e}", + "alarm-exclamation": "\u{f843}", + "alarm-plus": "\u{f844}", + "alarm-snooze": "\u{f845}", + "album": "\u{f89f}", + "album-circle-plus": "\u{e48c}", + "album-circle-user": "\u{e48d}", + "album-collection": "\u{f8a0}", + "album-collection-circle-plus": "\u{e48e}", + "album-collection-circle-user": "\u{e48f}", + "algolia": "\u{f36c}", + "alicorn": "\u{f6b0}", + "alien": "\u{f8f5}", + "alien-8bit": "\u{f8f6}", + "alien-monster": "\u{f8f6}", + "align-center": "\u{f037}", + "align-justify": "\u{f039}", + "align-left": "\u{f036}", + "align-right": "\u{f038}", + "align-slash": "\u{f846}", + "alipay": "\u{f642}", + "alt": "\u{e08a}", + "amazon": "\u{f270}", + "amazon-pay": "\u{f42c}", + "amilia": "\u{f36d}", + "ampersand": "\u{26}", + "amp-guitar": "\u{f8a1}", + "anchor": "\u{f13d}", + "anchor-circle-check": "\u{e4aa}", + "anchor-circle-exclamation": "\u{e4ab}", + "anchor-circle-xmark": "\u{e4ac}", + "anchor-lock": "\u{e4ad}", + "android": "\u{f17b}", + "angel": "\u{f779}", + "angellist": "\u{f209}", + "angle": "\u{e08c}", + "angle-90": "\u{e08d}", + "angle-down": "\u{f107}", + "angle-left": "\u{f104}", + "angle-right": "\u{f105}", + "angles-down": "\u{f103}", + "angle-double-down": "\u{f103}", + "angles-left": "\u{f100}", + "angle-double-left": "\u{f100}", + "angles-right": "\u{f101}", + "angle-double-right": "\u{f101}", + "angles-up": "\u{f102}", + "angle-double-up": "\u{f102}", + "angles-up-down": "\u{e60d}", + "angle-up": "\u{f106}", + "angrycreative": "\u{f36e}", + "angular": "\u{f420}", + "ankh": "\u{f644}", + "ant": "\u{e680}", + "apartment": "\u{e468}", + "aperture": "\u{e2df}", + "apostrophe": "\u{27}", + "apper": "\u{f371}", + "apple": "\u{f179}", + "apple-core": "\u{e08f}", + "apple-pay": "\u{f415}", + "apple-whole": "\u{f5d1}", + "apple-alt": "\u{f5d1}", + "app-store": "\u{f36f}", + "app-store-ios": "\u{f370}", + "archway": "\u{f557}", + "arrow-down": "\u{f063}", + "arrow-down-1-9": "\u{f162}", + "sort-numeric-asc": "\u{f162}", + "sort-numeric-down": "\u{f162}", + "arrow-down-9-1": "\u{f886}", + "sort-numeric-desc": "\u{f886}", + "sort-numeric-down-alt": "\u{f886}", + "arrow-down-arrow-up": "\u{f883}", + "sort-alt": "\u{f883}", + "arrow-down-a-z": "\u{f15d}", + "sort-alpha-asc": "\u{f15d}", + "sort-alpha-down": "\u{f15d}", + "arrow-down-big-small": "\u{f88c}", + "sort-size-down": "\u{f88c}", + "arrow-down-from-arc": "\u{e614}", + "arrow-down-from-bracket": "\u{e667}", + "arrow-down-from-dotted-line": "\u{e090}", + "arrow-down-from-line": "\u{f345}", + "arrow-from-top": "\u{f345}", + "arrow-down-left": "\u{e091}", + "arrow-down-left-and-arrow-up-right-to-center": "\u{e092}", + "arrow-down-long": "\u{f175}", + "long-arrow-down": "\u{f175}", + "arrow-down-right": "\u{e093}", + "arrow-down-short-wide": "\u{f884}", + "sort-amount-desc": "\u{f884}", + "sort-amount-down-alt": "\u{f884}", + "arrow-down-small-big": "\u{f88d}", + "sort-size-down-alt": "\u{f88d}", + "arrow-down-square-triangle": "\u{f889}", + "sort-shapes-down-alt": "\u{f889}", + "arrow-down-to-arc": "\u{e4ae}", + "arrow-down-to-bracket": "\u{e094}", + "arrow-down-to-dotted-line": "\u{e095}", + "arrow-down-to-line": "\u{f33d}", + "arrow-to-bottom": "\u{f33d}", + "arrow-down-to-square": "\u{e096}", + "arrow-down-triangle-square": "\u{f888}", + "sort-shapes-down": "\u{f888}", + "arrow-down-up-across-line": "\u{e4af}", + "arrow-down-up-lock": "\u{e4b0}", + "arrow-down-wide-short": "\u{f160}", + "sort-amount-asc": "\u{f160}", + "sort-amount-down": "\u{f160}", + "arrow-down-z-a": "\u{f881}", + "sort-alpha-desc": "\u{f881}", + "sort-alpha-down-alt": "\u{f881}", + "arrow-left": "\u{f060}", + "arrow-left-from-arc": "\u{e615}", + "arrow-left-from-bracket": "\u{e668}", + "arrow-left-from-line": "\u{f344}", + "arrow-from-right": "\u{f344}", + "arrow-left-long": "\u{f177}", + "long-arrow-left": "\u{f177}", + "arrow-left-long-to-line": "\u{e3d4}", + "arrow-left-to-arc": "\u{e616}", + "arrow-left-to-bracket": "\u{e669}", + "arrow-left-to-line": "\u{f33e}", + "arrow-to-left": "\u{f33e}", + "arrow-pointer": "\u{f245}", + "mouse-pointer": "\u{f245}", + "arrow-progress": "\u{e5df}", + "arrow-right": "\u{f061}", + "arrow-right-arrow-left": "\u{f0ec}", + "exchange": "\u{f0ec}", + "arrow-right-from-arc": "\u{e4b1}", + "arrow-right-from-bracket": "\u{f08b}", + "sign-out": "\u{f08b}", + "arrow-right-from-line": "\u{f343}", + "arrow-from-left": "\u{f343}", + "arrow-right-long": "\u{f178}", + "long-arrow-right": "\u{f178}", + "arrow-right-long-to-line": "\u{e3d5}", + "arrow-right-to-arc": "\u{e4b2}", + "arrow-right-to-bracket": "\u{f090}", + "sign-in": "\u{f090}", + "arrow-right-to-city": "\u{e4b3}", + "arrow-right-to-line": "\u{f340}", + "arrow-to-right": "\u{f340}", + "arrow-rotate-left": "\u{f0e2}", + "arrow-left-rotate": "\u{f0e2}", + "arrow-rotate-back": "\u{f0e2}", + "arrow-rotate-backward": "\u{f0e2}", + "undo": "\u{f0e2}", + "arrow-rotate-right": "\u{f01e}", + "arrow-right-rotate": "\u{f01e}", + "arrow-rotate-forward": "\u{f01e}", + "redo": "\u{f01e}", + "arrows-cross": "\u{e0a2}", + "arrows-down-to-line": "\u{e4b8}", + "arrows-down-to-people": "\u{e4b9}", + "arrows-from-dotted-line": "\u{e0a3}", + "arrows-from-line": "\u{e0a4}", + "arrows-left-right": "\u{f07e}", + "arrows-h": "\u{f07e}", + "arrows-left-right-to-line": "\u{e4ba}", + "arrows-maximize": "\u{f31d}", + "expand-arrows": "\u{f31d}", + "arrows-minimize": "\u{e0a5}", + "compress-arrows": "\u{e0a5}", + "arrows-repeat": "\u{f364}", + "repeat-alt": "\u{f364}", + "arrows-repeat-1": "\u{f366}", + "repeat-1-alt": "\u{f366}", + "arrows-retweet": "\u{f361}", + "retweet-alt": "\u{f361}", + "arrows-rotate": "\u{f021}", + "refresh": "\u{f021}", + "sync": "\u{f021}", + "arrows-rotate-reverse": "\u{e630}", + "arrows-spin": "\u{e4bb}", + "arrows-split-up-and-left": "\u{e4bc}", + "arrows-to-circle": "\u{e4bd}", + "arrows-to-dot": "\u{e4be}", + "arrows-to-dotted-line": "\u{e0a6}", + "arrows-to-eye": "\u{e4bf}", + "arrows-to-line": "\u{e0a7}", + "arrows-turn-right": "\u{e4c0}", + "arrows-turn-to-dots": "\u{e4c1}", + "arrows-up-down": "\u{f07d}", + "arrows-v": "\u{f07d}", + "arrows-up-down-left-right": "\u{f047}", + "arrows": "\u{f047}", + "arrows-up-to-line": "\u{e4c2}", + "arrow-trend-down": "\u{e097}", + "arrow-trend-up": "\u{e098}", + "arrow-turn-down": "\u{f149}", + "level-down": "\u{f149}", + "arrow-turn-down-left": "\u{e2e1}", + "arrow-turn-down-right": "\u{e3d6}", + "arrow-turn-left": "\u{e632}", + "arrow-turn-left-down": "\u{e633}", + "arrow-turn-left-up": "\u{e634}", + "arrow-turn-right": "\u{e635}", + "arrow-turn-up": "\u{f148}", + "level-up": "\u{f148}", + "arrow-up": "\u{f062}", + "arrow-up-1-9": "\u{f163}", + "sort-numeric-up": "\u{f163}", + "arrow-up-9-1": "\u{f887}", + "sort-numeric-up-alt": "\u{f887}", + "arrow-up-arrow-down": "\u{e099}", + "sort-up-down": "\u{e099}", + "arrow-up-a-z": "\u{f15e}", + "sort-alpha-up": "\u{f15e}", + "arrow-up-big-small": "\u{f88e}", + "sort-size-up": "\u{f88e}", + "arrow-up-from-arc": "\u{e4b4}", + "arrow-up-from-bracket": "\u{e09a}", + "arrow-up-from-dotted-line": "\u{e09b}", + "arrow-up-from-ground-water": "\u{e4b5}", + "arrow-up-from-line": "\u{f342}", + "arrow-from-bottom": "\u{f342}", + "arrow-up-from-square": "\u{e09c}", + "arrow-up-from-water-pump": "\u{e4b6}", + "arrow-up-left": "\u{e09d}", + "arrow-up-left-from-circle": "\u{e09e}", + "arrow-up-long": "\u{f176}", + "long-arrow-up": "\u{f176}", + "arrow-up-right": "\u{e09f}", + "arrow-up-right-and-arrow-down-left-from-center": "\u{e0a0}", + "arrow-up-right-dots": "\u{e4b7}", + "arrow-up-right-from-square": "\u{f08e}", + "external-link": "\u{f08e}", + "arrow-up-short-wide": "\u{f885}", + "sort-amount-up-alt": "\u{f885}", + "arrow-up-small-big": "\u{f88f}", + "sort-size-up-alt": "\u{f88f}", + "arrow-up-square-triangle": "\u{f88b}", + "sort-shapes-up-alt": "\u{f88b}", + "arrow-up-to-arc": "\u{e617}", + "arrow-up-to-bracket": "\u{e66a}", + "arrow-up-to-dotted-line": "\u{e0a1}", + "arrow-up-to-line": "\u{f341}", + "arrow-to-top": "\u{f341}", + "arrow-up-triangle-square": "\u{f88a}", + "sort-shapes-up": "\u{f88a}", + "arrow-up-wide-short": "\u{f161}", + "sort-amount-up": "\u{f161}", + "arrow-up-z-a": "\u{f882}", + "sort-alpha-up-alt": "\u{f882}", + "artstation": "\u{f77a}", + "asterisk": "\u{2a}", + "asymmetrik": "\u{f372}", + "at": "\u{40}", + "atlassian": "\u{f77b}", + "atom": "\u{f5d2}", + "atom-simple": "\u{f5d3}", + "atom-alt": "\u{f5d3}", + "audible": "\u{f373}", + "audio-description": "\u{f29e}", + "audio-description-slash": "\u{e0a8}", + "austral-sign": "\u{e0a9}", + "autoprefixer": "\u{f41c}", + "avianex": "\u{f374}", + "aviato": "\u{f421}", + "avocado": "\u{e0aa}", + "award": "\u{f559}", + "award-simple": "\u{e0ab}", + "aws": "\u{f375}", + "axe": "\u{f6b2}", + "axe-battle": "\u{f6b3}", + "b": "\u{42}", + "baby": "\u{f77c}", + "baby-carriage": "\u{f77d}", + "carriage-baby": "\u{f77d}", + "backpack": "\u{f5d4}", + "backward": "\u{f04a}", + "backward-fast": "\u{f049}", + "fast-backward": "\u{f049}", + "backward-step": "\u{f048}", + "step-backward": "\u{f048}", + "bacon": "\u{f7e5}", + "bacteria": "\u{e059}", + "bacterium": "\u{e05a}", + "badge": "\u{f335}", + "badge-check": "\u{f336}", + "badge-dollar": "\u{f645}", + "badge-percent": "\u{f646}", + "badger-honey": "\u{f6b4}", + "badge-sheriff": "\u{f8a2}", + "badminton": "\u{e33a}", + "bagel": "\u{e3d7}", + "bag-seedling": "\u{e5f2}", + "bag-shopping": "\u{f290}", + "shopping-bag": "\u{f290}", + "bag-shopping-minus": "\u{e650}", + "bag-shopping-plus": "\u{e651}", + "bags-shopping": "\u{f847}", + "baguette": "\u{e3d8}", + "bahai": "\u{f666}", + "haykal": "\u{f666}", + "baht-sign": "\u{e0ac}", + "balloon": "\u{e2e3}", + "balloons": "\u{e2e4}", + "ballot": "\u{f732}", + "ballot-check": "\u{f733}", + "ball-pile": "\u{f77e}", + "ban": "\u{f05e}", + "cancel": "\u{f05e}", + "banana": "\u{e2e5}", + "ban-bug": "\u{f7f9}", + "debug": "\u{f7f9}", + "bandage": "\u{f462}", + "band-aid": "\u{f462}", + "bandcamp": "\u{f2d5}", + "bangladeshi-taka-sign": "\u{e2e6}", + "banjo": "\u{f8a3}", + "ban-parking": "\u{f616}", + "parking-circle-slash": "\u{f616}", + "ban-smoking": "\u{f54d}", + "smoking-ban": "\u{f54d}", + "barcode": "\u{f02a}", + "barcode-read": "\u{f464}", + "barcode-scan": "\u{f465}", + "bars": "\u{f0c9}", + "navicon": "\u{f0c9}", + "bars-filter": "\u{e0ad}", + "bars-progress": "\u{f828}", + "tasks-alt": "\u{f828}", + "bars-sort": "\u{e0ae}", + "bars-staggered": "\u{f550}", + "reorder": "\u{f550}", + "stream": "\u{f550}", + "baseball": "\u{f433}", + "baseball-ball": "\u{f433}", + "baseball-bat-ball": "\u{f432}", + "basketball": "\u{f434}", + "basketball-ball": "\u{f434}", + "basketball-hoop": "\u{f435}", + "basket-shopping": "\u{f291}", + "shopping-basket": "\u{f291}", + "basket-shopping-minus": "\u{e652}", + "basket-shopping-plus": "\u{e653}", + "basket-shopping-simple": "\u{e0af}", + "shopping-basket-alt": "\u{e0af}", + "bat": "\u{f6b5}", + "bath": "\u{f2cd}", + "bathtub": "\u{f2cd}", + "battery-bolt": "\u{f376}", + "battery-empty": "\u{f244}", + "battery-0": "\u{f244}", + "battery-exclamation": "\u{e0b0}", + "battery-full": "\u{f240}", + "battery": "\u{f240}", + "battery-5": "\u{f240}", + "battery-half": "\u{f242}", + "battery-3": "\u{f242}", + "battery-low": "\u{e0b1}", + "battery-1": "\u{e0b1}", + "battery-quarter": "\u{f243}", + "battery-2": "\u{f243}", + "battery-slash": "\u{f377}", + "battery-three-quarters": "\u{f241}", + "battery-4": "\u{f241}", + "battle-net": "\u{f835}", + "bed": "\u{f236}", + "bed-bunk": "\u{f8f8}", + "bed-empty": "\u{f8f9}", + "bed-front": "\u{f8f7}", + "bed-alt": "\u{f8f7}", + "bed-pulse": "\u{f487}", + "procedures": "\u{f487}", + "bee": "\u{e0b2}", + "beer-mug": "\u{e0b3}", + "beer-foam": "\u{e0b3}", + "beer-mug-empty": "\u{f0fc}", + "beer": "\u{f0fc}", + "behance": "\u{f1b4}", + "bell": "\u{f0f3}", + "bell-concierge": "\u{f562}", + "concierge-bell": "\u{f562}", + "bell-exclamation": "\u{f848}", + "bell-on": "\u{f8fa}", + "bell-plus": "\u{f849}", + "bell-ring": "\u{e62c}", + "bells": "\u{f77f}", + "bell-school": "\u{f5d5}", + "bell-school-slash": "\u{f5d6}", + "bell-slash": "\u{f1f6}", + "bench-tree": "\u{e2e7}", + "bezier-curve": "\u{f55b}", + "bicycle": "\u{f206}", + "bilibili": "\u{e3d9}", + "billboard": "\u{e5cd}", + "bimobject": "\u{f378}", + "binary": "\u{e33b}", + "binary-circle-check": "\u{e33c}", + "binary-lock": "\u{e33d}", + "binary-slash": "\u{e33e}", + "bin-bottles": "\u{e5f5}", + "bin-bottles-recycle": "\u{e5f6}", + "binoculars": "\u{f1e5}", + "bin-recycle": "\u{e5f7}", + "biohazard": "\u{f780}", + "bird": "\u{e469}", + "bitbucket": "\u{f171}", + "bitcoin": "\u{f379}", + "bitcoin-sign": "\u{e0b4}", + "bity": "\u{f37a}", + "blackberry": "\u{f37b}", + "black-tie": "\u{f27e}", + "blanket": "\u{f498}", + "blanket-fire": "\u{e3da}", + "blender": "\u{f517}", + "blender-phone": "\u{f6b6}", + "blinds": "\u{f8fb}", + "blinds-open": "\u{f8fc}", + "blinds-raised": "\u{f8fd}", + "block": "\u{e46a}", + "block-brick": "\u{e3db}", + "wall-brick": "\u{e3db}", + "block-brick-fire": "\u{e3dc}", + "firewall": "\u{e3dc}", + "block-question": "\u{e3dd}", + "block-quote": "\u{e0b5}", + "blog": "\u{f781}", + "blogger": "\u{f37c}", + "blogger-b": "\u{f37d}", + "blueberries": "\u{e2e8}", + "bluesky": "\u{e671}", + "bluetooth": "\u{f293}", + "bluetooth-b": "\u{f294}", + "bold": "\u{f032}", + "bolt": "\u{f0e7}", + "zap": "\u{f0e7}", + "bolt-auto": "\u{e0b6}", + "bolt-lightning": "\u{e0b7}", + "bolt-slash": "\u{e0b8}", + "bomb": "\u{f1e2}", + "bone": "\u{f5d7}", + "bone-break": "\u{f5d8}", + "bong": "\u{f55c}", + "book": "\u{f02d}", + "book-arrow-right": "\u{e0b9}", + "book-arrow-up": "\u{e0ba}", + "book-atlas": "\u{f558}", + "atlas": "\u{f558}", + "book-bible": "\u{f647}", + "bible": "\u{f647}", + "book-blank": "\u{f5d9}", + "book-alt": "\u{f5d9}", + "book-bookmark": "\u{e0bb}", + "book-circle-arrow-right": "\u{e0bc}", + "book-circle-arrow-up": "\u{e0bd}", + "book-copy": "\u{e0be}", + "book-font": "\u{e0bf}", + "book-heart": "\u{f499}", + "book-journal-whills": "\u{f66a}", + "journal-whills": "\u{f66a}", + "bookmark": "\u{f02e}", + "bookmark-slash": "\u{e0c2}", + "book-medical": "\u{f7e6}", + "book-open": "\u{f518}", + "book-open-cover": "\u{e0c0}", + "book-open-alt": "\u{e0c0}", + "book-open-reader": "\u{f5da}", + "book-reader": "\u{f5da}", + "book-quran": "\u{f687}", + "quran": "\u{f687}", + "books": "\u{f5db}", + "book-section": "\u{e0c1}", + "book-law": "\u{e0c1}", + "book-skull": "\u{f6b7}", + "book-dead": "\u{f6b7}", + "books-medical": "\u{f7e8}", + "book-sparkles": "\u{f6b8}", + "book-spells": "\u{f6b8}", + "book-tanakh": "\u{f827}", + "tanakh": "\u{f827}", + "book-user": "\u{f7e7}", + "boombox": "\u{f8a5}", + "boot": "\u{f782}", + "booth-curtain": "\u{f734}", + "boot-heeled": "\u{e33f}", + "bootstrap": "\u{f836}", + "border-all": "\u{f84c}", + "border-bottom": "\u{f84d}", + "border-bottom-right": "\u{f854}", + "border-style-alt": "\u{f854}", + "border-center-h": "\u{f89c}", + "border-center-v": "\u{f89d}", + "border-inner": "\u{f84e}", + "border-left": "\u{f84f}", + "border-none": "\u{f850}", + "border-outer": "\u{f851}", + "border-right": "\u{f852}", + "border-top": "\u{f855}", + "border-top-left": "\u{f853}", + "border-style": "\u{f853}", + "bore-hole": "\u{e4c3}", + "bots": "\u{e340}", + "bottle-baby": "\u{e673}", + "bottle-droplet": "\u{e4c4}", + "bottle-water": "\u{e4c5}", + "bow-arrow": "\u{f6b9}", + "bowl-chopsticks": "\u{e2e9}", + "bowl-chopsticks-noodles": "\u{e2ea}", + "bowl-food": "\u{e4c6}", + "bowl-hot": "\u{f823}", + "soup": "\u{f823}", + "bowling-ball": "\u{f436}", + "bowling-ball-pin": "\u{e0c3}", + "bowling-pins": "\u{f437}", + "bowl-rice": "\u{e2eb}", + "bowl-scoop": "\u{e3de}", + "bowl-shaved-ice": "\u{e3de}", + "bowl-scoops": "\u{e3df}", + "bowl-soft-serve": "\u{e46b}", + "bowl-spoon": "\u{e3e0}", + "box": "\u{f466}", + "box-archive": "\u{f187}", + "archive": "\u{f187}", + "box-ballot": "\u{f735}", + "box-check": "\u{f467}", + "box-circle-check": "\u{e0c4}", + "box-dollar": "\u{f4a0}", + "box-usd": "\u{f4a0}", + "boxes-packing": "\u{e4c7}", + "boxes-stacked": "\u{f468}", + "boxes": "\u{f468}", + "boxes-alt": "\u{f468}", + "box-heart": "\u{f49d}", + "boxing-glove": "\u{f438}", + "glove-boxing": "\u{f438}", + "box-open": "\u{f49e}", + "box-open-full": "\u{f49c}", + "box-full": "\u{f49c}", + "box-taped": "\u{f49a}", + "box-alt": "\u{f49a}", + "box-tissue": "\u{e05b}", + "bracket-curly": "\u{7b}", + "bracket-curly-left": "\u{7b}", + "bracket-curly-right": "\u{7d}", + "bracket-round": "\u{28}", + "parenthesis": "\u{28}", + "bracket-round-right": "\u{29}", + "brackets-curly": "\u{f7ea}", + "bracket-square": "\u{5b}", + "bracket": "\u{5b}", + "bracket-left": "\u{5b}", + "bracket-square-right": "\u{5d}", + "brackets-round": "\u{e0c5}", + "parentheses": "\u{e0c5}", + "brackets-square": "\u{f7e9}", + "brackets": "\u{f7e9}", + "braille": "\u{f2a1}", + "brain": "\u{f5dc}", + "brain-arrow-curved-right": "\u{f677}", + "mind-share": "\u{f677}", + "brain-circuit": "\u{e0c6}", + "brake-warning": "\u{e0c7}", + "brave": "\u{e63c}", + "brave-reverse": "\u{e63d}", + "brazilian-real-sign": "\u{e46c}", + "bread-loaf": "\u{f7eb}", + "bread-slice": "\u{f7ec}", + "bread-slice-butter": "\u{e3e1}", + "bridge": "\u{e4c8}", + "bridge-circle-check": "\u{e4c9}", + "bridge-circle-exclamation": "\u{e4ca}", + "bridge-circle-xmark": "\u{e4cb}", + "bridge-lock": "\u{e4cc}", + "bridge-suspension": "\u{e4cd}", + "bridge-water": "\u{e4ce}", + "briefcase": "\u{f0b1}", + "briefcase-arrow-right": "\u{e2f2}", + "briefcase-blank": "\u{e0c8}", + "briefcase-medical": "\u{f469}", + "brightness": "\u{e0c9}", + "brightness-low": "\u{e0ca}", + "bring-forward": "\u{f856}", + "bring-front": "\u{f857}", + "broccoli": "\u{e3e2}", + "broom": "\u{f51a}", + "broom-ball": "\u{f458}", + "quidditch": "\u{f458}", + "quidditch-broom-ball": "\u{f458}", + "broom-wide": "\u{e5d1}", + "browser": "\u{f37e}", + "browsers": "\u{e0cb}", + "brush": "\u{f55d}", + "btc": "\u{f15a}", + "bucket": "\u{e4cf}", + "buffer": "\u{f837}", + "bug": "\u{f188}", + "bugs": "\u{e4d0}", + "bug-slash": "\u{e490}", + "building": "\u{f1ad}", + "building-circle-arrow-right": "\u{e4d1}", + "building-circle-check": "\u{e4d2}", + "building-circle-exclamation": "\u{e4d3}", + "building-circle-xmark": "\u{e4d4}", + "building-columns": "\u{f19c}", + "bank": "\u{f19c}", + "institution": "\u{f19c}", + "museum": "\u{f19c}", + "university": "\u{f19c}", + "building-flag": "\u{e4d5}", + "building-lock": "\u{e4d6}", + "building-magnifying-glass": "\u{e61c}", + "building-memo": "\u{e61e}", + "building-ngo": "\u{e4d7}", + "buildings": "\u{e0cc}", + "building-shield": "\u{e4d8}", + "building-un": "\u{e4d9}", + "building-user": "\u{e4da}", + "building-wheat": "\u{e4db}", + "bulldozer": "\u{e655}", + "bullhorn": "\u{f0a1}", + "bullseye": "\u{f140}", + "bullseye-arrow": "\u{f648}", + "bullseye-pointer": "\u{f649}", + "buoy": "\u{e5b5}", + "buoy-mooring": "\u{e5b6}", + "burger": "\u{f805}", + "hamburger": "\u{f805}", + "burger-cheese": "\u{f7f1}", + "cheeseburger": "\u{f7f1}", + "burger-fries": "\u{e0cd}", + "burger-glass": "\u{e0ce}", + "burger-lettuce": "\u{e3e3}", + "burger-soda": "\u{f858}", + "buromobelexperte": "\u{f37f}", + "burrito": "\u{f7ed}", + "burst": "\u{e4dc}", + "bus": "\u{f207}", + "business-time": "\u{f64a}", + "briefcase-clock": "\u{f64a}", + "bus-school": "\u{f5dd}", + "bus-simple": "\u{f55e}", + "bus-alt": "\u{f55e}", + "butter": "\u{e3e4}", + "buy-n-large": "\u{f8a6}", + "buysellads": "\u{f20d}", + "c": "\u{43}", + "cabin": "\u{e46d}", + "cabinet-filing": "\u{f64b}", + "cable-car": "\u{f7da}", + "tram": "\u{f7da}", + "cactus": "\u{f8a7}", + "caduceus": "\u{e681}", + "cake-candles": "\u{f1fd}", + "birthday-cake": "\u{f1fd}", + "cake": "\u{f1fd}", + "cake-slice": "\u{e3e5}", + "shortcake": "\u{e3e5}", + "calculator": "\u{f1ec}", + "calculator-simple": "\u{f64c}", + "calculator-alt": "\u{f64c}", + "calendar": "\u{f133}", + "calendar-arrow-down": "\u{e0d0}", + "calendar-download": "\u{e0d0}", + "calendar-arrow-up": "\u{e0d1}", + "calendar-upload": "\u{e0d1}", + "calendar-check": "\u{f274}", + "calendar-circle-exclamation": "\u{e46e}", + "calendar-circle-minus": "\u{e46f}", + "calendar-circle-plus": "\u{e470}", + "calendar-circle-user": "\u{e471}", + "calendar-clock": "\u{e0d2}", + "calendar-time": "\u{e0d2}", + "calendar-day": "\u{f783}", + "calendar-days": "\u{f073}", + "calendar-alt": "\u{f073}", + "calendar-exclamation": "\u{f334}", + "calendar-heart": "\u{e0d3}", + "calendar-image": "\u{e0d4}", + "calendar-lines": "\u{e0d5}", + "calendar-note": "\u{e0d5}", + "calendar-lines-pen": "\u{e472}", + "calendar-minus": "\u{f272}", + "calendar-pen": "\u{f333}", + "calendar-edit": "\u{f333}", + "calendar-plus": "\u{f271}", + "calendar-range": "\u{e0d6}", + "calendars": "\u{e0d7}", + "calendar-star": "\u{f736}", + "calendar-users": "\u{e5e2}", + "calendar-week": "\u{f784}", + "calendar-xmark": "\u{f273}", + "calendar-times": "\u{f273}", + "camcorder": "\u{f8a8}", + "video-handheld": "\u{f8a8}", + "camera": "\u{f030}", + "camera-alt": "\u{f030}", + "camera-cctv": "\u{f8ac}", + "cctv": "\u{f8ac}", + "camera-movie": "\u{f8a9}", + "camera-polaroid": "\u{f8aa}", + "camera-retro": "\u{f083}", + "camera-rotate": "\u{e0d8}", + "camera-security": "\u{f8fe}", + "camera-home": "\u{f8fe}", + "camera-slash": "\u{e0d9}", + "camera-viewfinder": "\u{e0da}", + "screenshot": "\u{e0da}", + "camera-web": "\u{f832}", + "webcam": "\u{f832}", + "camera-web-slash": "\u{f833}", + "webcam-slash": "\u{f833}", + "campfire": "\u{f6ba}", + "campground": "\u{f6bb}", + "canadian-maple-leaf": "\u{f785}", + "candle-holder": "\u{f6bc}", + "candy": "\u{e3e7}", + "candy-bar": "\u{e3e8}", + "chocolate-bar": "\u{e3e8}", + "candy-cane": "\u{f786}", + "candy-corn": "\u{f6bd}", + "can-food": "\u{e3e6}", + "cannabis": "\u{f55f}", + "cannon": "\u{e642}", + "capsules": "\u{f46b}", + "car": "\u{f1b9}", + "automobile": "\u{f1b9}", + "caravan": "\u{f8ff}", + "caravan-simple": "\u{e000}", + "caravan-alt": "\u{e000}", + "car-battery": "\u{f5df}", + "battery-car": "\u{f5df}", + "car-bolt": "\u{e341}", + "car-building": "\u{f859}", + "car-bump": "\u{f5e0}", + "car-burst": "\u{f5e1}", + "car-crash": "\u{f5e1}", + "car-bus": "\u{f85a}", + "car-circle-bolt": "\u{e342}", + "card-club": "\u{e3e9}", + "card-diamond": "\u{e3ea}", + "card-heart": "\u{e3eb}", + "cards": "\u{e3ed}", + "cards-blank": "\u{e4df}", + "card-spade": "\u{e3ec}", + "caret-down": "\u{f0d7}", + "caret-left": "\u{f0d9}", + "caret-right": "\u{f0da}", + "caret-up": "\u{f0d8}", + "car-garage": "\u{f5e2}", + "car-mirrors": "\u{e343}", + "car-on": "\u{e4dd}", + "car-rear": "\u{f5de}", + "car-alt": "\u{f5de}", + "carrot": "\u{f787}", + "cars": "\u{f85b}", + "car-side": "\u{f5e4}", + "car-side-bolt": "\u{e344}", + "cart-arrow-down": "\u{f218}", + "cart-arrow-up": "\u{e3ee}", + "cart-circle-arrow-down": "\u{e3ef}", + "cart-circle-arrow-up": "\u{e3f0}", + "cart-circle-check": "\u{e3f1}", + "cart-circle-exclamation": "\u{e3f2}", + "cart-circle-plus": "\u{e3f3}", + "cart-circle-xmark": "\u{e3f4}", + "cart-flatbed": "\u{f474}", + "dolly-flatbed": "\u{f474}", + "cart-flatbed-boxes": "\u{f475}", + "dolly-flatbed-alt": "\u{f475}", + "cart-flatbed-empty": "\u{f476}", + "dolly-flatbed-empty": "\u{f476}", + "cart-flatbed-suitcase": "\u{f59d}", + "luggage-cart": "\u{f59d}", + "car-tilt": "\u{f5e5}", + "cart-minus": "\u{e0db}", + "cart-plus": "\u{f217}", + "cart-shopping": "\u{f07a}", + "shopping-cart": "\u{f07a}", + "cart-shopping-fast": "\u{e0dc}", + "car-tunnel": "\u{e4de}", + "cart-xmark": "\u{e0dd}", + "car-wash": "\u{f5e6}", + "car-wrench": "\u{f5e3}", + "car-mechanic": "\u{f5e3}", + "cash-register": "\u{f788}", + "cassette-betamax": "\u{f8a4}", + "betamax": "\u{f8a4}", + "cassette-tape": "\u{f8ab}", + "cassette-vhs": "\u{f8ec}", + "vhs": "\u{f8ec}", + "castle": "\u{e0de}", + "cat": "\u{f6be}", + "cat-space": "\u{e001}", + "cauldron": "\u{f6bf}", + "cc-amazon-pay": "\u{f42d}", + "cc-amex": "\u{f1f3}", + "cc-apple-pay": "\u{f416}", + "cc-diners-club": "\u{f24c}", + "cc-discover": "\u{f1f2}", + "cc-jcb": "\u{f24b}", + "cc-mastercard": "\u{f1f1}", + "cc-paypal": "\u{f1f4}", + "cc-stripe": "\u{f1f5}", + "cc-visa": "\u{f1f0}", + "cedi-sign": "\u{e0df}", + "centercode": "\u{f380}", + "centos": "\u{f789}", + "cent-sign": "\u{e3f5}", + "certificate": "\u{f0a3}", + "chair": "\u{f6c0}", + "chair-office": "\u{f6c1}", + "chalkboard": "\u{f51b}", + "blackboard": "\u{f51b}", + "chalkboard-user": "\u{f51c}", + "chalkboard-teacher": "\u{f51c}", + "champagne-glass": "\u{f79e}", + "glass-champagne": "\u{f79e}", + "champagne-glasses": "\u{f79f}", + "glass-cheers": "\u{f79f}", + "charging-station": "\u{f5e7}", + "chart-area": "\u{f1fe}", + "area-chart": "\u{f1fe}", + "chart-bar": "\u{f080}", + "bar-chart": "\u{f080}", + "chart-bullet": "\u{e0e1}", + "chart-candlestick": "\u{e0e2}", + "chart-column": "\u{e0e3}", + "chart-gantt": "\u{e0e4}", + "chart-kanban": "\u{e64f}", + "chart-line": "\u{f201}", + "line-chart": "\u{f201}", + "chart-line-down": "\u{f64d}", + "chart-line-up": "\u{e0e5}", + "chart-line-up-down": "\u{e5d7}", + "chart-mixed": "\u{f643}", + "analytics": "\u{f643}", + "chart-mixed-up-circle-currency": "\u{e5d8}", + "chart-mixed-up-circle-dollar": "\u{e5d9}", + "chart-network": "\u{f78a}", + "chart-pie": "\u{f200}", + "pie-chart": "\u{f200}", + "chart-pie-simple": "\u{f64e}", + "chart-pie-alt": "\u{f64e}", + "chart-pie-simple-circle-currency": "\u{e604}", + "chart-pie-simple-circle-dollar": "\u{e605}", + "chart-pyramid": "\u{e0e6}", + "chart-radar": "\u{e0e7}", + "chart-scatter": "\u{f7ee}", + "chart-scatter-3d": "\u{e0e8}", + "chart-scatter-bubble": "\u{e0e9}", + "chart-simple": "\u{e473}", + "chart-simple-horizontal": "\u{e474}", + "chart-tree-map": "\u{e0ea}", + "chart-user": "\u{f6a3}", + "user-chart": "\u{f6a3}", + "chart-waterfall": "\u{e0eb}", + "check": "\u{f00c}", + "check-double": "\u{f560}", + "check-to-slot": "\u{f772}", + "vote-yea": "\u{f772}", + "cheese": "\u{f7ef}", + "cheese-swiss": "\u{f7f0}", + "cherries": "\u{e0ec}", + "chess": "\u{f439}", + "chess-bishop": "\u{f43a}", + "chess-bishop-piece": "\u{f43b}", + "chess-bishop-alt": "\u{f43b}", + "chess-board": "\u{f43c}", + "chess-clock": "\u{f43d}", + "chess-clock-flip": "\u{f43e}", + "chess-clock-alt": "\u{f43e}", + "chess-king": "\u{f43f}", + "chess-king-piece": "\u{f440}", + "chess-king-alt": "\u{f440}", + "chess-knight": "\u{f441}", + "chess-knight-piece": "\u{f442}", + "chess-knight-alt": "\u{f442}", + "chess-pawn": "\u{f443}", + "chess-pawn-piece": "\u{f444}", + "chess-pawn-alt": "\u{f444}", + "chess-queen": "\u{f445}", + "chess-queen-piece": "\u{f446}", + "chess-queen-alt": "\u{f446}", + "chess-rook": "\u{f447}", + "chess-rook-piece": "\u{f448}", + "chess-rook-alt": "\u{f448}", + "chestnut": "\u{e3f6}", + "chevron-down": "\u{f078}", + "chevron-left": "\u{f053}", + "chevron-right": "\u{f054}", + "chevrons-down": "\u{f322}", + "chevron-double-down": "\u{f322}", + "chevrons-left": "\u{f323}", + "chevron-double-left": "\u{f323}", + "chevrons-right": "\u{f324}", + "chevron-double-right": "\u{f324}", + "chevrons-up": "\u{f325}", + "chevron-double-up": "\u{f325}", + "chevron-up": "\u{f077}", + "chf-sign": "\u{e602}", + "child": "\u{f1ae}", + "child-combatant": "\u{e4e0}", + "child-rifle": "\u{e4e0}", + "child-dress": "\u{e59c}", + "child-reaching": "\u{e59d}", + "children": "\u{e4e1}", + "chimney": "\u{f78b}", + "chopsticks": "\u{e3f7}", + "chrome": "\u{f268}", + "chromecast": "\u{f838}", + "church": "\u{f51d}", + "circle": "\u{f111}", + "circle-0": "\u{e0ed}", + "circle-1": "\u{e0ee}", + "circle-2": "\u{e0ef}", + "circle-3": "\u{e0f0}", + "circle-4": "\u{e0f1}", + "circle-5": "\u{e0f2}", + "circle-6": "\u{e0f3}", + "circle-7": "\u{e0f4}", + "circle-8": "\u{e0f5}", + "circle-9": "\u{e0f6}", + "circle-a": "\u{e0f7}", + "circle-ampersand": "\u{e0f8}", + "circle-arrow-down": "\u{f0ab}", + "arrow-circle-down": "\u{f0ab}", + "circle-arrow-down-left": "\u{e0f9}", + "circle-arrow-down-right": "\u{e0fa}", + "circle-arrow-left": "\u{f0a8}", + "arrow-circle-left": "\u{f0a8}", + "circle-arrow-right": "\u{f0a9}", + "arrow-circle-right": "\u{f0a9}", + "circle-arrow-up": "\u{f0aa}", + "arrow-circle-up": "\u{f0aa}", + "circle-arrow-up-left": "\u{e0fb}", + "circle-arrow-up-right": "\u{e0fc}", + "circle-b": "\u{e0fd}", + "circle-bolt": "\u{e0fe}", + "circle-bookmark": "\u{e100}", + "bookmark-circle": "\u{e100}", + "circle-book-open": "\u{e0ff}", + "book-circle": "\u{e0ff}", + "circle-c": "\u{e101}", + "circle-calendar": "\u{e102}", + "calendar-circle": "\u{e102}", + "circle-camera": "\u{e103}", + "camera-circle": "\u{e103}", + "circle-caret-down": "\u{f32d}", + "caret-circle-down": "\u{f32d}", + "circle-caret-left": "\u{f32e}", + "caret-circle-left": "\u{f32e}", + "circle-caret-right": "\u{f330}", + "caret-circle-right": "\u{f330}", + "circle-caret-up": "\u{f331}", + "caret-circle-up": "\u{f331}", + "circle-check": "\u{f058}", + "check-circle": "\u{f058}", + "circle-chevron-down": "\u{f13a}", + "chevron-circle-down": "\u{f13a}", + "circle-chevron-left": "\u{f137}", + "chevron-circle-left": "\u{f137}", + "circle-chevron-right": "\u{f138}", + "chevron-circle-right": "\u{f138}", + "circle-chevron-up": "\u{f139}", + "chevron-circle-up": "\u{f139}", + "circle-d": "\u{e104}", + "circle-dashed": "\u{e105}", + "circle-divide": "\u{e106}", + "circle-dollar": "\u{f2e8}", + "dollar-circle": "\u{f2e8}", + "usd-circle": "\u{f2e8}", + "circle-dollar-to-slot": "\u{f4b9}", + "donate": "\u{f4b9}", + "circle-dot": "\u{f192}", + "dot-circle": "\u{f192}", + "circle-down": "\u{f358}", + "arrow-alt-circle-down": "\u{f358}", + "circle-down-left": "\u{e107}", + "circle-down-right": "\u{e108}", + "circle-e": "\u{e109}", + "circle-ellipsis": "\u{e10a}", + "circle-ellipsis-vertical": "\u{e10b}", + "circle-envelope": "\u{e10c}", + "envelope-circle": "\u{e10c}", + "circle-euro": "\u{e5ce}", + "circle-exclamation": "\u{f06a}", + "exclamation-circle": "\u{f06a}", + "circle-exclamation-check": "\u{e10d}", + "circle-f": "\u{e10e}", + "circle-g": "\u{e10f}", + "circle-gf": "\u{e67f}", + "circle-h": "\u{f47e}", + "hospital-symbol": "\u{f47e}", + "circle-half": "\u{e110}", + "circle-half-stroke": "\u{f042}", + "adjust": "\u{f042}", + "circle-heart": "\u{f4c7}", + "heart-circle": "\u{f4c7}", + "circle-i": "\u{e111}", + "circle-info": "\u{f05a}", + "info-circle": "\u{f05a}", + "circle-j": "\u{e112}", + "circle-k": "\u{e113}", + "circle-l": "\u{e114}", + "circle-left": "\u{f359}", + "arrow-alt-circle-left": "\u{f359}", + "circle-location-arrow": "\u{f602}", + "location-circle": "\u{f602}", + "circle-m": "\u{e115}", + "circle-microphone": "\u{e116}", + "microphone-circle": "\u{e116}", + "circle-microphone-lines": "\u{e117}", + "microphone-circle-alt": "\u{e117}", + "circle-minus": "\u{f056}", + "minus-circle": "\u{f056}", + "circle-n": "\u{e118}", + "circle-nodes": "\u{e4e2}", + "circle-notch": "\u{f1ce}", + "circle-o": "\u{e119}", + "circle-p": "\u{e11a}", + "circle-parking": "\u{f615}", + "parking-circle": "\u{f615}", + "circle-pause": "\u{f28b}", + "pause-circle": "\u{f28b}", + "circle-phone": "\u{e11b}", + "phone-circle": "\u{e11b}", + "circle-phone-flip": "\u{e11c}", + "phone-circle-alt": "\u{e11c}", + "circle-phone-hangup": "\u{e11d}", + "phone-circle-down": "\u{e11d}", + "circle-play": "\u{f144}", + "play-circle": "\u{f144}", + "circle-plus": "\u{f055}", + "plus-circle": "\u{f055}", + "circle-q": "\u{e11e}", + "circle-quarter": "\u{e11f}", + "circle-quarters": "\u{e3f8}", + "circle-quarter-stroke": "\u{e5d3}", + "circle-question": "\u{f059}", + "question-circle": "\u{f059}", + "circle-r": "\u{e120}", + "circle-radiation": "\u{f7ba}", + "radiation-alt": "\u{f7ba}", + "circle-right": "\u{f35a}", + "arrow-alt-circle-right": "\u{f35a}", + "circle-s": "\u{e121}", + "circle-small": "\u{e122}", + "circle-sort": "\u{e030}", + "sort-circle": "\u{e030}", + "circle-sort-down": "\u{e031}", + "sort-circle-down": "\u{e031}", + "circle-sort-up": "\u{e032}", + "sort-circle-up": "\u{e032}", + "circles-overlap": "\u{e600}", + "circle-star": "\u{e123}", + "star-circle": "\u{e123}", + "circle-sterling": "\u{e5cf}", + "circle-stop": "\u{f28d}", + "stop-circle": "\u{f28d}", + "circle-t": "\u{e124}", + "circle-three-quarters": "\u{e125}", + "circle-three-quarters-stroke": "\u{e5d4}", + "circle-trash": "\u{e126}", + "trash-circle": "\u{e126}", + "circle-u": "\u{e127}", + "circle-up": "\u{f35b}", + "arrow-alt-circle-up": "\u{f35b}", + "circle-up-left": "\u{e128}", + "circle-up-right": "\u{e129}", + "circle-user": "\u{f2bd}", + "user-circle": "\u{f2bd}", + "circle-v": "\u{e12a}", + "circle-video": "\u{e12b}", + "video-circle": "\u{e12b}", + "circle-w": "\u{e12c}", + "circle-waveform-lines": "\u{e12d}", + "waveform-circle": "\u{e12d}", + "circle-wifi": "\u{e67d}", + "circle-wifi-circle-wifi": "\u{e67e}", + "circle-wifi-group": "\u{e67e}", + "circle-x": "\u{e12e}", + "circle-xmark": "\u{f057}", + "times-circle": "\u{f057}", + "xmark-circle": "\u{f057}", + "circle-y": "\u{e12f}", + "circle-yen": "\u{e5d0}", + "circle-z": "\u{e130}", + "citrus": "\u{e2f4}", + "citrus-slice": "\u{e2f5}", + "city": "\u{f64f}", + "clapperboard": "\u{e131}", + "clapperboard-play": "\u{e132}", + "clarinet": "\u{f8ad}", + "claw-marks": "\u{f6c2}", + "clipboard": "\u{f328}", + "clipboard-check": "\u{f46c}", + "clipboard-list": "\u{f46d}", + "clipboard-list-check": "\u{f737}", + "clipboard-medical": "\u{e133}", + "clipboard-prescription": "\u{f5e8}", + "clipboard-question": "\u{e4e3}", + "clipboard-user": "\u{f7f3}", + "clock": "\u{f017}", + "clock-four": "\u{f017}", + "clock-desk": "\u{e134}", + "clock-eight": "\u{e345}", + "clock-eight-thirty": "\u{e346}", + "clock-eleven": "\u{e347}", + "clock-eleven-thirty": "\u{e348}", + "clock-five": "\u{e349}", + "clock-five-thirty": "\u{e34a}", + "clock-four-thirty": "\u{e34b}", + "clock-nine": "\u{e34c}", + "clock-nine-thirty": "\u{e34d}", + "clock-one": "\u{e34e}", + "clock-one-thirty": "\u{e34f}", + "clock-rotate-left": "\u{f1da}", + "history": "\u{f1da}", + "clock-seven": "\u{e350}", + "clock-seven-thirty": "\u{e351}", + "clock-six": "\u{e352}", + "clock-six-thirty": "\u{e353}", + "clock-ten": "\u{e354}", + "clock-ten-thirty": "\u{e355}", + "clock-three": "\u{e356}", + "clock-three-thirty": "\u{e357}", + "clock-twelve": "\u{e358}", + "clock-twelve-thirty": "\u{e359}", + "clock-two": "\u{e35a}", + "clock-two-thirty": "\u{e35b}", + "clone": "\u{f24d}", + "closed-captioning": "\u{f20a}", + "closed-captioning-slash": "\u{e135}", + "clothes-hanger": "\u{e136}", + "cloud": "\u{f0c2}", + "cloud-arrow-down": "\u{f0ed}", + "cloud-download": "\u{f0ed}", + "cloud-download-alt": "\u{f0ed}", + "cloud-arrow-up": "\u{f0ee}", + "cloud-upload": "\u{f0ee}", + "cloud-upload-alt": "\u{f0ee}", + "cloud-binary": "\u{e601}", + "cloud-bolt": "\u{f76c}", + "thunderstorm": "\u{f76c}", + "cloud-bolt-moon": "\u{f76d}", + "thunderstorm-moon": "\u{f76d}", + "cloud-bolt-sun": "\u{f76e}", + "thunderstorm-sun": "\u{f76e}", + "cloud-check": "\u{e35c}", + "cloud-drizzle": "\u{f738}", + "cloud-exclamation": "\u{e491}", + "cloudflare": "\u{e07d}", + "cloud-fog": "\u{f74e}", + "fog": "\u{f74e}", + "cloud-hail": "\u{f739}", + "cloud-hail-mixed": "\u{f73a}", + "cloud-meatball": "\u{f73b}", + "cloud-minus": "\u{e35d}", + "cloud-moon": "\u{f6c3}", + "cloud-moon-rain": "\u{f73c}", + "cloud-music": "\u{f8ae}", + "cloud-plus": "\u{e35e}", + "cloud-question": "\u{e492}", + "cloud-rain": "\u{f73d}", + "cloud-rainbow": "\u{f73e}", + "clouds": "\u{f744}", + "cloudscale": "\u{f383}", + "cloud-showers": "\u{f73f}", + "cloud-showers-heavy": "\u{f740}", + "cloud-showers-water": "\u{e4e4}", + "cloud-slash": "\u{e137}", + "cloud-sleet": "\u{f741}", + "cloudsmith": "\u{f384}", + "clouds-moon": "\u{f745}", + "cloud-snow": "\u{f742}", + "clouds-sun": "\u{f746}", + "cloud-sun": "\u{f6c4}", + "cloud-sun-rain": "\u{f743}", + "cloudversify": "\u{f385}", + "cloud-word": "\u{e138}", + "cloud-xmark": "\u{e35f}", + "clover": "\u{e139}", + "club": "\u{f327}", + "cmplid": "\u{e360}", + "coconut": "\u{e2f6}", + "code": "\u{f121}", + "code-branch": "\u{f126}", + "code-commit": "\u{f386}", + "code-compare": "\u{e13a}", + "code-fork": "\u{e13b}", + "code-merge": "\u{f387}", + "codepen": "\u{f1cb}", + "code-pull-request": "\u{e13c}", + "code-pull-request-closed": "\u{e3f9}", + "code-pull-request-draft": "\u{e3fa}", + "code-simple": "\u{e13d}", + "codiepie": "\u{f284}", + "coffee-bean": "\u{e13e}", + "coffee-beans": "\u{e13f}", + "coffee-pot": "\u{e002}", + "coffin": "\u{f6c6}", + "coffin-cross": "\u{e051}", + "coin": "\u{f85c}", + "coin-blank": "\u{e3fb}", + "coin-front": "\u{e3fc}", + "coins": "\u{f51e}", + "coin-vertical": "\u{e3fd}", + "colon": "\u{3a}", + "colon-sign": "\u{e140}", + "columns-3": "\u{e361}", + "comet": "\u{e003}", + "comma": "\u{2c}", + "command": "\u{e142}", + "comment": "\u{f075}", + "comment-arrow-down": "\u{e143}", + "comment-arrow-up": "\u{e144}", + "comment-arrow-up-right": "\u{e145}", + "comment-captions": "\u{e146}", + "comment-check": "\u{f4ac}", + "comment-code": "\u{e147}", + "comment-dollar": "\u{f651}", + "comment-dots": "\u{f4ad}", + "commenting": "\u{f4ad}", + "comment-exclamation": "\u{f4af}", + "comment-heart": "\u{e5c8}", + "comment-image": "\u{e148}", + "comment-lines": "\u{f4b0}", + "comment-medical": "\u{f7f5}", + "comment-middle": "\u{e149}", + "comment-middle-top": "\u{e14a}", + "comment-minus": "\u{f4b1}", + "comment-music": "\u{f8b0}", + "comment-pen": "\u{f4ae}", + "comment-edit": "\u{f4ae}", + "comment-plus": "\u{f4b2}", + "comment-question": "\u{e14b}", + "comment-quote": "\u{e14c}", + "comments": "\u{f086}", + "comments-dollar": "\u{f653}", + "comment-slash": "\u{f4b3}", + "comment-smile": "\u{f4b4}", + "comment-sms": "\u{f7cd}", + "sms": "\u{f7cd}", + "comments-question": "\u{e14e}", + "comments-question-check": "\u{e14f}", + "comment-text": "\u{e14d}", + "comment-xmark": "\u{f4b5}", + "comment-times": "\u{f4b5}", + "compact-disc": "\u{f51f}", + "compass": "\u{f14e}", + "compass-drafting": "\u{f568}", + "drafting-compass": "\u{f568}", + "compass-slash": "\u{f5e9}", + "compress": "\u{f066}", + "compress-wide": "\u{f326}", + "computer": "\u{e4e5}", + "computer-classic": "\u{f8b1}", + "computer-mouse": "\u{f8cc}", + "mouse": "\u{f8cc}", + "computer-mouse-scrollwheel": "\u{f8cd}", + "mouse-alt": "\u{f8cd}", + "computer-speaker": "\u{f8b2}", + "confluence": "\u{f78d}", + "connectdevelop": "\u{f20e}", + "container-storage": "\u{f4b7}", + "contao": "\u{f26d}", + "conveyor-belt": "\u{f46e}", + "conveyor-belt-arm": "\u{e5f8}", + "conveyor-belt-boxes": "\u{f46f}", + "conveyor-belt-alt": "\u{f46f}", + "conveyor-belt-empty": "\u{e150}", + "cookie": "\u{f563}", + "cookie-bite": "\u{f564}", + "copy": "\u{f0c5}", + "copyright": "\u{f1f9}", + "corn": "\u{f6c7}", + "corner": "\u{e3fe}", + "cotton-bureau": "\u{f89e}", + "couch": "\u{f4b8}", + "court-sport": "\u{e643}", + "cow": "\u{f6c8}", + "cowbell": "\u{f8b3}", + "cowbell-circle-plus": "\u{f8b4}", + "cowbell-more": "\u{f8b4}", + "cpanel": "\u{f388}", + "crab": "\u{e3ff}", + "crate-apple": "\u{f6b1}", + "apple-crate": "\u{f6b1}", + "crate-empty": "\u{e151}", + "creative-commons": "\u{f25e}", + "creative-commons-by": "\u{f4e7}", + "creative-commons-nc": "\u{f4e8}", + "creative-commons-nc-eu": "\u{f4e9}", + "creative-commons-nc-jp": "\u{f4ea}", + "creative-commons-nd": "\u{f4eb}", + "creative-commons-pd": "\u{f4ec}", + "creative-commons-pd-alt": "\u{f4ed}", + "creative-commons-remix": "\u{f4ee}", + "creative-commons-sa": "\u{f4ef}", + "creative-commons-sampling": "\u{f4f0}", + "creative-commons-sampling-plus": "\u{f4f1}", + "creative-commons-share": "\u{f4f2}", + "creative-commons-zero": "\u{f4f3}", + "credit-card": "\u{f09d}", + "credit-card-alt": "\u{f09d}", + "credit-card-blank": "\u{f389}", + "credit-card-front": "\u{f38a}", + "cricket-bat-ball": "\u{f449}", + "cricket": "\u{f449}", + "critical-role": "\u{f6c9}", + "croissant": "\u{f7f6}", + "crop": "\u{f125}", + "crop-simple": "\u{f565}", + "crop-alt": "\u{f565}", + "cross": "\u{f654}", + "crosshairs": "\u{f05b}", + "crosshairs-simple": "\u{e59f}", + "crow": "\u{f520}", + "crown": "\u{f521}", + "crutch": "\u{f7f7}", + "crutches": "\u{f7f8}", + "cruzeiro-sign": "\u{e152}", + "crystal-ball": "\u{e362}", + "css3": "\u{f13c}", + "css3-alt": "\u{f38b}", + "cube": "\u{f1b2}", + "cubes": "\u{f1b3}", + "cubes-stacked": "\u{e4e6}", + "cucumber": "\u{e401}", + "cupcake": "\u{e402}", + "cup-straw": "\u{e363}", + "cup-straw-swoosh": "\u{e364}", + "cup-togo": "\u{f6c5}", + "coffee-togo": "\u{f6c5}", + "curling-stone": "\u{f44a}", + "curling": "\u{f44a}", + "custard": "\u{e403}", + "cuttlefish": "\u{f38c}", + "d": "\u{44}", + "dagger": "\u{f6cb}", + "dailymotion": "\u{e052}", + "d-and-d": "\u{f38d}", + "d-and-d-beyond": "\u{f6ca}", + "dart-lang": "\u{e693}", + "dash": "\u{e404}", + "minus-large": "\u{e404}", + "dashcube": "\u{f210}", + "database": "\u{f1c0}", + "debian": "\u{e60b}", + "deer": "\u{f78e}", + "deer-rudolph": "\u{f78f}", + "deezer": "\u{e077}", + "delete-left": "\u{f55a}", + "backspace": "\u{f55a}", + "delete-right": "\u{e154}", + "delicious": "\u{f1a5}", + "democrat": "\u{f747}", + "deploydog": "\u{f38e}", + "deskpro": "\u{f38f}", + "desktop": "\u{f390}", + "desktop-alt": "\u{f390}", + "desktop-arrow-down": "\u{e155}", + "dev": "\u{f6cc}", + "deviantart": "\u{f1bd}", + "dharmachakra": "\u{f655}", + "dhl": "\u{f790}", + "diagram-cells": "\u{e475}", + "diagram-lean-canvas": "\u{e156}", + "diagram-nested": "\u{e157}", + "diagram-next": "\u{e476}", + "diagram-predecessor": "\u{e477}", + "diagram-previous": "\u{e478}", + "diagram-project": "\u{f542}", + "project-diagram": "\u{f542}", + "diagram-sankey": "\u{e158}", + "diagram-subtask": "\u{e479}", + "diagram-successor": "\u{e47a}", + "diagram-venn": "\u{e15a}", + "dial": "\u{e15b}", + "dial-med-high": "\u{e15b}", + "dial-high": "\u{e15c}", + "dial-low": "\u{e15d}", + "dial-max": "\u{e15e}", + "dial-med": "\u{e15f}", + "dial-med-low": "\u{e160}", + "dial-min": "\u{e161}", + "dial-off": "\u{e162}", + "diamond": "\u{f219}", + "diamond-exclamation": "\u{e405}", + "diamond-half": "\u{e5b7}", + "diamond-half-stroke": "\u{e5b8}", + "diamonds-4": "\u{e68b}", + "diamond-turn-right": "\u{f5eb}", + "directions": "\u{f5eb}", + "diaspora": "\u{f791}", + "dice": "\u{f522}", + "dice-d10": "\u{f6cd}", + "dice-d12": "\u{f6ce}", + "dice-d20": "\u{f6cf}", + "dice-d4": "\u{f6d0}", + "dice-d6": "\u{f6d1}", + "dice-d8": "\u{f6d2}", + "dice-five": "\u{f523}", + "dice-four": "\u{f524}", + "dice-one": "\u{f525}", + "dice-six": "\u{f526}", + "dice-three": "\u{f527}", + "dice-two": "\u{f528}", + "digg": "\u{f1a6}", + "digital-ocean": "\u{f391}", + "dinosaur": "\u{e5fe}", + "diploma": "\u{f5ea}", + "scroll-ribbon": "\u{f5ea}", + "disc-drive": "\u{f8b5}", + "discord": "\u{f392}", + "discourse": "\u{f393}", + "disease": "\u{f7fa}", + "display": "\u{e163}", + "display-arrow-down": "\u{e164}", + "display-chart-up": "\u{e5e3}", + "display-chart-up-circle-currency": "\u{e5e5}", + "display-chart-up-circle-dollar": "\u{e5e6}", + "display-code": "\u{e165}", + "desktop-code": "\u{e165}", + "display-medical": "\u{e166}", + "desktop-medical": "\u{e166}", + "display-slash": "\u{e2fa}", + "desktop-slash": "\u{e2fa}", + "distribute-spacing-horizontal": "\u{e365}", + "distribute-spacing-vertical": "\u{e366}", + "ditto": "\u{22}", + "divide": "\u{f529}", + "dna": "\u{f471}", + "dochub": "\u{f394}", + "docker": "\u{f395}", + "dog": "\u{f6d3}", + "dog-leashed": "\u{f6d4}", + "dollar-sign": "\u{24}", + "dollar": "\u{24}", + "usd": "\u{24}", + "dolly": "\u{f472}", + "dolly-box": "\u{f472}", + "dolly-empty": "\u{f473}", + "dolphin": "\u{e168}", + "dong-sign": "\u{e169}", + "do-not-enter": "\u{f5ec}", + "donut": "\u{e406}", + "doughnut": "\u{e406}", + "door-closed": "\u{f52a}", + "door-open": "\u{f52b}", + "dove": "\u{f4ba}", + "down": "\u{f354}", + "arrow-alt-down": "\u{f354}", + "down-from-bracket": "\u{e66b}", + "down-from-dotted-line": "\u{e407}", + "down-from-line": "\u{f349}", + "arrow-alt-from-top": "\u{f349}", + "down-left": "\u{e16a}", + "down-left-and-up-right-to-center": "\u{f422}", + "compress-alt": "\u{f422}", + "download": "\u{f019}", + "down-long": "\u{f309}", + "long-arrow-alt-down": "\u{f309}", + "down-right": "\u{e16b}", + "down-to-bracket": "\u{e4e7}", + "down-to-dotted-line": "\u{e408}", + "down-to-line": "\u{f34a}", + "arrow-alt-to-bottom": "\u{f34a}", + "draft2digital": "\u{f396}", + "dragon": "\u{f6d5}", + "draw-circle": "\u{f5ed}", + "draw-polygon": "\u{f5ee}", + "draw-square": "\u{f5ef}", + "dreidel": "\u{f792}", + "dribbble": "\u{f17d}", + "drone": "\u{f85f}", + "drone-front": "\u{f860}", + "drone-alt": "\u{f860}", + "dropbox": "\u{f16b}", + "droplet": "\u{f043}", + "tint": "\u{f043}", + "droplet-degree": "\u{f748}", + "dewpoint": "\u{f748}", + "droplet-percent": "\u{f750}", + "humidity": "\u{f750}", + "droplet-slash": "\u{f5c7}", + "tint-slash": "\u{f5c7}", + "drum": "\u{f569}", + "drum-steelpan": "\u{f56a}", + "drumstick": "\u{f6d6}", + "drumstick-bite": "\u{f6d7}", + "drupal": "\u{f1a9}", + "dryer": "\u{f861}", + "dryer-heat": "\u{f862}", + "dryer-alt": "\u{f862}", + "duck": "\u{f6d8}", + "dumbbell": "\u{f44b}", + "dumpster": "\u{f793}", + "dumpster-fire": "\u{f794}", + "dungeon": "\u{f6d9}", + "dyalog": "\u{f399}", + "e": "\u{45}", + "ear": "\u{f5f0}", + "ear-deaf": "\u{f2a4}", + "deaf": "\u{f2a4}", + "deafness": "\u{f2a4}", + "hard-of-hearing": "\u{f2a4}", + "ear-listen": "\u{f2a2}", + "assistive-listening-systems": "\u{f2a2}", + "earlybirds": "\u{f39a}", + "ear-muffs": "\u{f795}", + "earth-africa": "\u{f57c}", + "globe-africa": "\u{f57c}", + "earth-americas": "\u{f57d}", + "earth": "\u{f57d}", + "earth-america": "\u{f57d}", + "globe-americas": "\u{f57d}", + "earth-asia": "\u{f57e}", + "globe-asia": "\u{f57e}", + "earth-europe": "\u{f7a2}", + "globe-europe": "\u{f7a2}", + "earth-oceania": "\u{e47b}", + "globe-oceania": "\u{e47b}", + "ebay": "\u{f4f4}", + "eclipse": "\u{f749}", + "edge": "\u{f282}", + "edge-legacy": "\u{e078}", + "egg": "\u{f7fb}", + "egg-fried": "\u{f7fc}", + "eggplant": "\u{e16c}", + "eject": "\u{f052}", + "elementor": "\u{f430}", + "elephant": "\u{f6da}", + "elevator": "\u{e16d}", + "ellipsis": "\u{f141}", + "ellipsis-h": "\u{f141}", + "ellipsis-stroke": "\u{f39b}", + "ellipsis-h-alt": "\u{f39b}", + "ellipsis-stroke-vertical": "\u{f39c}", + "ellipsis-v-alt": "\u{f39c}", + "ellipsis-vertical": "\u{f142}", + "ellipsis-v": "\u{f142}", + "ello": "\u{f5f1}", + "ember": "\u{f423}", + "empire": "\u{f1d1}", + "empty-set": "\u{f656}", + "engine": "\u{e16e}", + "engine-warning": "\u{f5f2}", + "engine-exclamation": "\u{f5f2}", + "envelope": "\u{f0e0}", + "envelope-circle-check": "\u{e4e8}", + "envelope-dot": "\u{e16f}", + "envelope-badge": "\u{e16f}", + "envelope-open": "\u{f2b6}", + "envelope-open-dollar": "\u{f657}", + "envelope-open-text": "\u{f658}", + "envelopes": "\u{e170}", + "envelopes-bulk": "\u{f674}", + "mail-bulk": "\u{f674}", + "envira": "\u{f299}", + "equals": "\u{3d}", + "eraser": "\u{f12d}", + "erlang": "\u{f39d}", + "escalator": "\u{e171}", + "ethereum": "\u{f42e}", + "ethernet": "\u{f796}", + "etsy": "\u{f2d7}", + "euro-sign": "\u{f153}", + "eur": "\u{f153}", + "euro": "\u{f153}", + "evernote": "\u{f839}", + "excavator": "\u{e656}", + "exclamation": "\u{21}", + "expand": "\u{f065}", + "expand-wide": "\u{f320}", + "expeditedssl": "\u{f23e}", + "explosion": "\u{e4e9}", + "eye": "\u{f06e}", + "eye-dropper": "\u{f1fb}", + "eye-dropper-empty": "\u{f1fb}", + "eyedropper": "\u{f1fb}", + "eye-dropper-full": "\u{e172}", + "eye-dropper-half": "\u{e173}", + "eye-evil": "\u{f6db}", + "eye-low-vision": "\u{f2a8}", + "low-vision": "\u{f2a8}", + "eyes": "\u{e367}", + "eye-slash": "\u{f070}", + "f": "\u{46}", + "face-angry": "\u{f556}", + "angry": "\u{f556}", + "face-angry-horns": "\u{e368}", + "face-anguished": "\u{e369}", + "face-anxious-sweat": "\u{e36a}", + "face-astonished": "\u{e36b}", + "face-awesome": "\u{e409}", + "gave-dandy": "\u{e409}", + "face-beam-hand-over-mouth": "\u{e47c}", + "facebook": "\u{f09a}", + "facebook-f": "\u{f39e}", + "facebook-messenger": "\u{f39f}", + "face-clouds": "\u{e47d}", + "face-confounded": "\u{e36c}", + "face-confused": "\u{e36d}", + "face-cowboy-hat": "\u{e36e}", + "face-diagonal-mouth": "\u{e47e}", + "face-disappointed": "\u{e36f}", + "face-disguise": "\u{e370}", + "face-dizzy": "\u{f567}", + "dizzy": "\u{f567}", + "face-dotted": "\u{e47f}", + "face-downcast-sweat": "\u{e371}", + "face-drooling": "\u{e372}", + "face-exhaling": "\u{e480}", + "face-explode": "\u{e2fe}", + "exploding-head": "\u{e2fe}", + "face-expressionless": "\u{e373}", + "face-eyes-xmarks": "\u{e374}", + "face-fearful": "\u{e375}", + "face-flushed": "\u{f579}", + "flushed": "\u{f579}", + "face-frown": "\u{f119}", + "frown": "\u{f119}", + "face-frown-open": "\u{f57a}", + "frown-open": "\u{f57a}", + "face-frown-slight": "\u{e376}", + "face-glasses": "\u{e377}", + "face-grimace": "\u{f57f}", + "grimace": "\u{f57f}", + "face-grin": "\u{f580}", + "grin": "\u{f580}", + "face-grin-beam": "\u{f582}", + "grin-beam": "\u{f582}", + "face-grin-beam-sweat": "\u{f583}", + "grin-beam-sweat": "\u{f583}", + "face-grin-hearts": "\u{f584}", + "grin-hearts": "\u{f584}", + "face-grin-squint": "\u{f585}", + "grin-squint": "\u{f585}", + "face-grin-squint-tears": "\u{f586}", + "grin-squint-tears": "\u{f586}", + "face-grin-stars": "\u{f587}", + "grin-stars": "\u{f587}", + "face-grin-tears": "\u{f588}", + "grin-tears": "\u{f588}", + "face-grin-tongue": "\u{f589}", + "grin-tongue": "\u{f589}", + "face-grin-tongue-squint": "\u{f58a}", + "grin-tongue-squint": "\u{f58a}", + "face-grin-tongue-wink": "\u{f58b}", + "grin-tongue-wink": "\u{f58b}", + "face-grin-wide": "\u{f581}", + "grin-alt": "\u{f581}", + "face-grin-wink": "\u{f58c}", + "grin-wink": "\u{f58c}", + "face-hand-over-mouth": "\u{e378}", + "face-hand-peeking": "\u{e481}", + "face-hand-yawn": "\u{e379}", + "face-head-bandage": "\u{e37a}", + "face-holding-back-tears": "\u{e482}", + "face-hushed": "\u{e37b}", + "face-icicles": "\u{e37c}", + "face-kiss": "\u{f596}", + "kiss": "\u{f596}", + "face-kiss-beam": "\u{f597}", + "kiss-beam": "\u{f597}", + "face-kiss-closed-eyes": "\u{e37d}", + "face-kiss-wink-heart": "\u{f598}", + "kiss-wink-heart": "\u{f598}", + "face-laugh": "\u{f599}", + "laugh": "\u{f599}", + "face-laugh-beam": "\u{f59a}", + "laugh-beam": "\u{f59a}", + "face-laugh-squint": "\u{f59b}", + "laugh-squint": "\u{f59b}", + "face-laugh-wink": "\u{f59c}", + "laugh-wink": "\u{f59c}", + "face-lying": "\u{e37e}", + "face-mask": "\u{e37f}", + "face-meh": "\u{f11a}", + "meh": "\u{f11a}", + "face-meh-blank": "\u{f5a4}", + "meh-blank": "\u{f5a4}", + "face-melting": "\u{e483}", + "face-monocle": "\u{e380}", + "face-nauseated": "\u{e381}", + "face-nose-steam": "\u{e382}", + "face-party": "\u{e383}", + "face-pensive": "\u{e384}", + "face-persevering": "\u{e385}", + "face-pleading": "\u{e386}", + "face-pouting": "\u{e387}", + "face-raised-eyebrow": "\u{e388}", + "face-relieved": "\u{e389}", + "face-rolling-eyes": "\u{f5a5}", + "meh-rolling-eyes": "\u{f5a5}", + "face-sad-cry": "\u{f5b3}", + "sad-cry": "\u{f5b3}", + "face-sad-sweat": "\u{e38a}", + "face-sad-tear": "\u{f5b4}", + "sad-tear": "\u{f5b4}", + "face-saluting": "\u{e484}", + "face-scream": "\u{e38b}", + "face-shush": "\u{e38c}", + "face-sleeping": "\u{e38d}", + "face-sleepy": "\u{e38e}", + "face-smile": "\u{f118}", + "smile": "\u{f118}", + "face-smile-beam": "\u{f5b8}", + "smile-beam": "\u{f5b8}", + "face-smile-halo": "\u{e38f}", + "face-smile-hearts": "\u{e390}", + "face-smile-horns": "\u{e391}", + "face-smile-plus": "\u{f5b9}", + "smile-plus": "\u{f5b9}", + "face-smile-relaxed": "\u{e392}", + "face-smile-tear": "\u{e393}", + "face-smile-tongue": "\u{e394}", + "face-smile-upside-down": "\u{e395}", + "face-smile-wink": "\u{f4da}", + "smile-wink": "\u{f4da}", + "face-smiling-hands": "\u{e396}", + "face-smirking": "\u{e397}", + "face-spiral-eyes": "\u{e485}", + "face-sunglasses": "\u{e398}", + "face-surprise": "\u{f5c2}", + "surprise": "\u{f5c2}", + "face-swear": "\u{e399}", + "face-thermometer": "\u{e39a}", + "face-thinking": "\u{e39b}", + "face-tired": "\u{f5c8}", + "tired": "\u{f5c8}", + "face-tissue": "\u{e39c}", + "face-tongue-money": "\u{e39d}", + "face-tongue-sweat": "\u{e39e}", + "face-unamused": "\u{e39f}", + "face-viewfinder": "\u{e2ff}", + "face-vomit": "\u{e3a0}", + "face-weary": "\u{e3a1}", + "face-woozy": "\u{e3a2}", + "face-worried": "\u{e3a3}", + "face-zany": "\u{e3a4}", + "face-zipper": "\u{e3a5}", + "falafel": "\u{e40a}", + "family": "\u{e300}", + "family-dress": "\u{e301}", + "family-pants": "\u{e302}", + "fan": "\u{f863}", + "fan-table": "\u{e004}", + "fantasy-flight-games": "\u{f6dc}", + "farm": "\u{f864}", + "barn-silo": "\u{f864}", + "faucet": "\u{e005}", + "faucet-drip": "\u{e006}", + "fax": "\u{f1ac}", + "feather": "\u{f52d}", + "feather-pointed": "\u{f56b}", + "feather-alt": "\u{f56b}", + "fedex": "\u{f797}", + "fedora": "\u{f798}", + "fence": "\u{e303}", + "ferris-wheel": "\u{e174}", + "ferry": "\u{e4ea}", + "field-hockey-stick-ball": "\u{f44c}", + "field-hockey": "\u{f44c}", + "figma": "\u{f799}", + "file": "\u{f15b}", + "file-arrow-down": "\u{f56d}", + "file-download": "\u{f56d}", + "file-arrow-up": "\u{f574}", + "file-upload": "\u{f574}", + "file-audio": "\u{f1c7}", + "file-binary": "\u{e175}", + "file-cad": "\u{e672}", + "file-certificate": "\u{f5f3}", + "file-award": "\u{f5f3}", + "file-chart-column": "\u{f659}", + "file-chart-line": "\u{f659}", + "file-chart-pie": "\u{f65a}", + "file-check": "\u{f316}", + "file-circle-check": "\u{e5a0}", + "file-circle-exclamation": "\u{e4eb}", + "file-circle-info": "\u{e493}", + "file-circle-minus": "\u{e4ed}", + "file-circle-plus": "\u{e494}", + "file-circle-question": "\u{e4ef}", + "file-circle-xmark": "\u{e5a1}", + "file-code": "\u{f1c9}", + "file-contract": "\u{f56c}", + "file-csv": "\u{f6dd}", + "file-dashed-line": "\u{f877}", + "page-break": "\u{f877}", + "file-doc": "\u{e5ed}", + "file-eps": "\u{e644}", + "file-excel": "\u{f1c3}", + "file-exclamation": "\u{f31a}", + "file-export": "\u{f56e}", + "arrow-right-from-file": "\u{f56e}", + "file-gif": "\u{e645}", + "file-heart": "\u{e176}", + "file-image": "\u{f1c5}", + "file-import": "\u{f56f}", + "arrow-right-to-file": "\u{f56f}", + "file-invoice": "\u{f570}", + "file-invoice-dollar": "\u{f571}", + "file-jpg": "\u{e646}", + "file-lines": "\u{f15c}", + "file-alt": "\u{f15c}", + "file-text": "\u{f15c}", + "file-lock": "\u{e3a6}", + "file-magnifying-glass": "\u{f865}", + "file-search": "\u{f865}", + "file-medical": "\u{f477}", + "file-minus": "\u{f318}", + "file-mov": "\u{e647}", + "file-mp3": "\u{e648}", + "file-mp4": "\u{e649}", + "file-music": "\u{f8b6}", + "file-pdf": "\u{f1c1}", + "file-pen": "\u{f31c}", + "file-edit": "\u{f31c}", + "file-plus": "\u{f319}", + "file-plus-minus": "\u{e177}", + "file-png": "\u{e666}", + "file-powerpoint": "\u{f1c4}", + "file-ppt": "\u{e64a}", + "file-prescription": "\u{f572}", + "files": "\u{e178}", + "file-shield": "\u{e4f0}", + "file-signature": "\u{f573}", + "file-slash": "\u{e3a7}", + "files-medical": "\u{f7fd}", + "file-spreadsheet": "\u{f65b}", + "file-svg": "\u{e64b}", + "file-user": "\u{f65c}", + "file-vector": "\u{e64c}", + "file-video": "\u{f1c8}", + "file-waveform": "\u{f478}", + "file-medical-alt": "\u{f478}", + "file-word": "\u{f1c2}", + "file-xls": "\u{e64d}", + "file-xmark": "\u{f317}", + "file-times": "\u{f317}", + "file-xml": "\u{e654}", + "file-zip": "\u{e5ee}", + "file-zipper": "\u{f1c6}", + "file-archive": "\u{f1c6}", + "fill": "\u{f575}", + "fill-drip": "\u{f576}", + "film": "\u{f008}", + "film-canister": "\u{f8b7}", + "film-cannister": "\u{f8b7}", + "films": "\u{e17a}", + "film-simple": "\u{f3a0}", + "film-alt": "\u{f3a0}", + "film-slash": "\u{e179}", + "filter": "\u{f0b0}", + "filter-circle-dollar": "\u{f662}", + "funnel-dollar": "\u{f662}", + "filter-circle-xmark": "\u{e17b}", + "filter-list": "\u{e17c}", + "filters": "\u{e17e}", + "filter-slash": "\u{e17d}", + "fingerprint": "\u{f577}", + "fire": "\u{f06d}", + "fire-burner": "\u{e4f1}", + "fire-extinguisher": "\u{f134}", + "fire-flame": "\u{f6df}", + "flame": "\u{f6df}", + "fire-flame-curved": "\u{f7e4}", + "fire-alt": "\u{f7e4}", + "fire-flame-simple": "\u{f46a}", + "burn": "\u{f46a}", + "firefox": "\u{f269}", + "firefox-browser": "\u{e007}", + "fire-hydrant": "\u{e17f}", + "fireplace": "\u{f79a}", + "fire-smoke": "\u{f74b}", + "firstdraft": "\u{f3a1}", + "first-order": "\u{f2b0}", + "first-order-alt": "\u{f50a}", + "fish": "\u{f578}", + "fish-bones": "\u{e304}", + "fish-cooked": "\u{f7fe}", + "fish-fins": "\u{e4f2}", + "fishing-rod": "\u{e3a8}", + "flag": "\u{f024}", + "flag-checkered": "\u{f11e}", + "flag-pennant": "\u{f456}", + "pennant": "\u{f456}", + "flag-swallowtail": "\u{f74c}", + "flag-alt": "\u{f74c}", + "flag-usa": "\u{f74d}", + "flashlight": "\u{f8b8}", + "flask": "\u{f0c3}", + "flask-gear": "\u{e5f1}", + "flask-round-poison": "\u{f6e0}", + "flask-poison": "\u{f6e0}", + "flask-round-potion": "\u{f6e1}", + "flask-potion": "\u{f6e1}", + "flask-vial": "\u{e4f3}", + "flatbread": "\u{e40b}", + "flatbread-stuffed": "\u{e40c}", + "flickr": "\u{f16e}", + "flipboard": "\u{f44d}", + "floppy-disk": "\u{f0c7}", + "save": "\u{f0c7}", + "floppy-disk-circle-arrow-right": "\u{e180}", + "save-circle-arrow-right": "\u{e180}", + "floppy-disk-circle-xmark": "\u{e181}", + "floppy-disk-times": "\u{e181}", + "save-circle-xmark": "\u{e181}", + "save-times": "\u{e181}", + "floppy-disk-pen": "\u{e182}", + "floppy-disks": "\u{e183}", + "florin-sign": "\u{e184}", + "flower": "\u{f7ff}", + "flower-daffodil": "\u{f800}", + "flower-tulip": "\u{f801}", + "flute": "\u{f8b9}", + "flutter": "\u{e694}", + "flux-capacitor": "\u{f8ba}", + "fly": "\u{f417}", + "flying-disc": "\u{e3a9}", + "folder": "\u{f07b}", + "folder-blank": "\u{f07b}", + "folder-arrow-down": "\u{e053}", + "folder-download": "\u{e053}", + "folder-arrow-up": "\u{e054}", + "folder-upload": "\u{e054}", + "folder-bookmark": "\u{e186}", + "folder-check": "\u{e64e}", + "folder-closed": "\u{e185}", + "folder-gear": "\u{e187}", + "folder-cog": "\u{e187}", + "folder-grid": "\u{e188}", + "folder-heart": "\u{e189}", + "folder-image": "\u{e18a}", + "folder-magnifying-glass": "\u{e18b}", + "folder-search": "\u{e18b}", + "folder-medical": "\u{e18c}", + "folder-minus": "\u{f65d}", + "folder-music": "\u{e18d}", + "folder-open": "\u{f07c}", + "folder-plus": "\u{f65e}", + "folders": "\u{f660}", + "folder-tree": "\u{f802}", + "folder-user": "\u{e18e}", + "folder-xmark": "\u{f65f}", + "folder-times": "\u{f65f}", + "fondue-pot": "\u{e40d}", + "font": "\u{f031}", + "font-awesome": "\u{f2b4}", + "font-awesome-flag": "\u{f2b4}", + "font-awesome-logo-full": "\u{f2b4}", + "font-case": "\u{f866}", + "fonticons": "\u{f280}", + "fonticons-fi": "\u{f3a2}", + "football": "\u{f44e}", + "football-ball": "\u{f44e}", + "football-helmet": "\u{f44f}", + "fork": "\u{f2e3}", + "utensil-fork": "\u{f2e3}", + "fork-knife": "\u{f2e6}", + "utensils-alt": "\u{f2e6}", + "forklift": "\u{f47a}", + "fort": "\u{e486}", + "fort-awesome": "\u{f286}", + "fort-awesome-alt": "\u{f3a3}", + "forumbee": "\u{f211}", + "forward": "\u{f04e}", + "forward-fast": "\u{f050}", + "fast-forward": "\u{f050}", + "forward-step": "\u{f051}", + "step-forward": "\u{f051}", + "foursquare": "\u{f180}", + "frame": "\u{e495}", + "franc-sign": "\u{e18f}", + "freebsd": "\u{f3a4}", + "free-code-camp": "\u{f2c5}", + "french-fries": "\u{f803}", + "frog": "\u{f52e}", + "fulcrum": "\u{f50b}", + "function": "\u{f661}", + "futbol": "\u{f1e3}", + "futbol-ball": "\u{f1e3}", + "soccer-ball": "\u{f1e3}", + "g": "\u{47}", + "galactic-republic": "\u{f50c}", + "galactic-senate": "\u{f50d}", + "galaxy": "\u{e008}", + "gallery-thumbnails": "\u{e3aa}", + "game-board": "\u{f867}", + "game-board-simple": "\u{f868}", + "game-board-alt": "\u{f868}", + "game-console-handheld": "\u{f8bb}", + "game-console-handheld-crank": "\u{e5b9}", + "gamepad": "\u{f11b}", + "gamepad-modern": "\u{e5a2}", + "gamepad-alt": "\u{e5a2}", + "garage": "\u{e009}", + "garage-car": "\u{e00a}", + "garage-open": "\u{e00b}", + "garlic": "\u{e40e}", + "gas-pump": "\u{f52f}", + "gas-pump-slash": "\u{f5f4}", + "gauge": "\u{f624}", + "dashboard": "\u{f624}", + "gauge-med": "\u{f624}", + "tachometer-alt-average": "\u{f624}", + "gauge-circle-bolt": "\u{e496}", + "gauge-circle-minus": "\u{e497}", + "gauge-circle-plus": "\u{e498}", + "gauge-high": "\u{f625}", + "tachometer-alt": "\u{f625}", + "tachometer-alt-fast": "\u{f625}", + "gauge-low": "\u{f627}", + "tachometer-alt-slow": "\u{f627}", + "gauge-max": "\u{f626}", + "tachometer-alt-fastest": "\u{f626}", + "gauge-min": "\u{f628}", + "tachometer-alt-slowest": "\u{f628}", + "gauge-simple": "\u{f629}", + "gauge-simple-med": "\u{f629}", + "tachometer-average": "\u{f629}", + "gauge-simple-high": "\u{f62a}", + "tachometer": "\u{f62a}", + "tachometer-fast": "\u{f62a}", + "gauge-simple-low": "\u{f62c}", + "tachometer-slow": "\u{f62c}", + "gauge-simple-max": "\u{f62b}", + "tachometer-fastest": "\u{f62b}", + "gauge-simple-min": "\u{f62d}", + "tachometer-slowest": "\u{f62d}", + "gavel": "\u{f0e3}", + "legal": "\u{f0e3}", + "gear": "\u{f013}", + "cog": "\u{f013}", + "gear-code": "\u{e5e8}", + "gear-complex": "\u{e5e9}", + "gear-complex-code": "\u{e5eb}", + "gears": "\u{f085}", + "cogs": "\u{f085}", + "gem": "\u{f3a5}", + "genderless": "\u{f22d}", + "get-pocket": "\u{f265}", + "gg": "\u{f260}", + "gg-circle": "\u{f261}", + "ghost": "\u{f6e2}", + "gif": "\u{e190}", + "gift": "\u{f06b}", + "gift-card": "\u{f663}", + "gifts": "\u{f79c}", + "gingerbread-man": "\u{f79d}", + "git": "\u{f1d3}", + "git-alt": "\u{f841}", + "github": "\u{f09b}", + "github-alt": "\u{f113}", + "gitkraken": "\u{f3a6}", + "gitlab": "\u{f296}", + "gitter": "\u{f426}", + "glass": "\u{f804}", + "glass-citrus": "\u{f869}", + "glass-empty": "\u{e191}", + "glasses": "\u{f530}", + "glasses-round": "\u{f5f5}", + "glasses-alt": "\u{f5f5}", + "glass-half": "\u{e192}", + "glass-half-empty": "\u{e192}", + "glass-half-full": "\u{e192}", + "glass-water": "\u{e4f4}", + "glass-water-droplet": "\u{e4f5}", + "glide": "\u{f2a5}", + "glide-g": "\u{f2a6}", + "globe": "\u{f0ac}", + "globe-pointer": "\u{e60e}", + "globe-snow": "\u{f7a3}", + "globe-stand": "\u{f5f6}", + "globe-wifi": "\u{e685}", + "goal-net": "\u{e3ab}", + "gofore": "\u{f3a7}", + "golang": "\u{e40f}", + "golf-ball-tee": "\u{f450}", + "golf-ball": "\u{f450}", + "golf-club": "\u{f451}", + "golf-flag-hole": "\u{e3ac}", + "goodreads": "\u{f3a8}", + "goodreads-g": "\u{f3a9}", + "google": "\u{f1a0}", + "google-drive": "\u{f3aa}", + "google-pay": "\u{e079}", + "google-play": "\u{f3ab}", + "google-plus": "\u{f2b3}", + "google-plus-g": "\u{f0d5}", + "google-scholar": "\u{e63b}", + "google-wallet": "\u{f1ee}", + "gopuram": "\u{f664}", + "graduation-cap": "\u{f19d}", + "mortar-board": "\u{f19d}", + "gramophone": "\u{f8bd}", + "grapes": "\u{e306}", + "grate": "\u{e193}", + "grate-droplet": "\u{e194}", + "gratipay": "\u{f184}", + "grav": "\u{f2d6}", + "greater-than": "\u{3e}", + "greater-than-equal": "\u{f532}", + "grid": "\u{e195}", + "grid-3": "\u{e195}", + "grid-2": "\u{e196}", + "grid-2-plus": "\u{e197}", + "grid-4": "\u{e198}", + "grid-5": "\u{e199}", + "grid-dividers": "\u{e3ad}", + "grid-horizontal": "\u{e307}", + "grid-round": "\u{e5da}", + "grid-round-2": "\u{e5db}", + "grid-round-2-plus": "\u{e5dc}", + "grid-round-4": "\u{e5dd}", + "grid-round-5": "\u{e5de}", + "grill": "\u{e5a3}", + "grill-fire": "\u{e5a4}", + "grill-hot": "\u{e5a5}", + "grip": "\u{f58d}", + "grip-horizontal": "\u{f58d}", + "grip-dots": "\u{e410}", + "grip-dots-vertical": "\u{e411}", + "gripfire": "\u{f3ac}", + "grip-lines": "\u{f7a4}", + "grip-lines-vertical": "\u{f7a5}", + "grip-vertical": "\u{f58e}", + "group-arrows-rotate": "\u{e4f6}", + "grunt": "\u{f3ad}", + "guarani-sign": "\u{e19a}", + "guilded": "\u{e07e}", + "guitar": "\u{f7a6}", + "guitar-electric": "\u{f8be}", + "guitars": "\u{f8bf}", + "gulp": "\u{f3ae}", + "gun": "\u{e19b}", + "gun-slash": "\u{e19c}", + "gun-squirt": "\u{e19d}", + "h": "\u{48}", + "h1": "\u{f313}", + "h2": "\u{f314}", + "h3": "\u{f315}", + "h4": "\u{f86a}", + "h5": "\u{e412}", + "h6": "\u{e413}", + "hacker-news": "\u{f1d4}", + "hackerrank": "\u{f5f7}", + "hammer": "\u{f6e3}", + "hammer-brush": "\u{e620}", + "hammer-crash": "\u{e414}", + "hammer-war": "\u{f6e4}", + "hamsa": "\u{f665}", + "hand": "\u{f256}", + "hand-paper": "\u{f256}", + "hand-back-fist": "\u{f255}", + "hand-rock": "\u{f255}", + "hand-back-point-down": "\u{e19e}", + "hand-back-point-left": "\u{e19f}", + "hand-back-point-ribbon": "\u{e1a0}", + "hand-back-point-right": "\u{e1a1}", + "hand-back-point-up": "\u{e1a2}", + "handcuffs": "\u{e4f8}", + "hand-dots": "\u{f461}", + "allergies": "\u{f461}", + "hand-fingers-crossed": "\u{e1a3}", + "hand-fist": "\u{f6de}", + "fist-raised": "\u{f6de}", + "hand-heart": "\u{f4bc}", + "hand-holding": "\u{f4bd}", + "hand-holding-box": "\u{f47b}", + "hand-holding-circle-dollar": "\u{e621}", + "hand-holding-dollar": "\u{f4c0}", + "hand-holding-usd": "\u{f4c0}", + "hand-holding-droplet": "\u{f4c1}", + "hand-holding-water": "\u{f4c1}", + "hand-holding-hand": "\u{e4f7}", + "hand-holding-heart": "\u{f4be}", + "hand-holding-magic": "\u{f6e5}", + "hand-holding-medical": "\u{e05c}", + "hand-holding-seedling": "\u{f4bf}", + "hand-holding-skull": "\u{e1a4}", + "hand-horns": "\u{e1a9}", + "hand-lizard": "\u{f258}", + "hand-love": "\u{e1a5}", + "hand-middle-finger": "\u{f806}", + "hand-peace": "\u{f25b}", + "hand-point-down": "\u{f0a7}", + "hand-pointer": "\u{f25a}", + "hand-point-left": "\u{f0a5}", + "hand-point-ribbon": "\u{e1a6}", + "hand-point-right": "\u{f0a4}", + "hand-point-up": "\u{f0a6}", + "hands": "\u{f2a7}", + "sign-language": "\u{f2a7}", + "signing": "\u{f2a7}", + "hands-asl-interpreting": "\u{f2a3}", + "american-sign-language-interpreting": "\u{f2a3}", + "asl-interpreting": "\u{f2a3}", + "hands-american-sign-language-interpreting": "\u{f2a3}", + "hands-bound": "\u{e4f9}", + "hands-bubbles": "\u{e05e}", + "hands-wash": "\u{e05e}", + "hand-scissors": "\u{f257}", + "hands-clapping": "\u{e1a8}", + "handshake": "\u{f2b5}", + "handshake-angle": "\u{f4c4}", + "hands-helping": "\u{f4c4}", + "handshake-simple": "\u{f4c6}", + "handshake-alt": "\u{f4c6}", + "handshake-simple-slash": "\u{e05f}", + "handshake-alt-slash": "\u{e05f}", + "handshake-slash": "\u{e060}", + "hands-holding": "\u{f4c2}", + "hands-holding-child": "\u{e4fa}", + "hands-holding-circle": "\u{e4fb}", + "hands-holding-diamond": "\u{f47c}", + "hand-receiving": "\u{f47c}", + "hands-holding-dollar": "\u{f4c5}", + "hands-usd": "\u{f4c5}", + "hands-holding-heart": "\u{f4c3}", + "hands-heart": "\u{f4c3}", + "hand-sparkles": "\u{e05d}", + "hand-spock": "\u{f259}", + "hands-praying": "\u{f684}", + "praying-hands": "\u{f684}", + "hand-wave": "\u{e1a7}", + "hanukiah": "\u{f6e6}", + "hard-drive": "\u{f0a0}", + "hdd": "\u{f0a0}", + "hashnode": "\u{e499}", + "hashtag": "\u{23}", + "hashtag-lock": "\u{e415}", + "hat-beach": "\u{e606}", + "hat-chef": "\u{f86b}", + "hat-cowboy": "\u{f8c0}", + "hat-cowboy-side": "\u{f8c1}", + "hat-santa": "\u{f7a7}", + "hat-winter": "\u{f7a8}", + "hat-witch": "\u{f6e7}", + "hat-wizard": "\u{f6e8}", + "heading": "\u{f1dc}", + "header": "\u{f1dc}", + "headphones": "\u{f025}", + "headphones-simple": "\u{f58f}", + "headphones-alt": "\u{f58f}", + "headset": "\u{f590}", + "head-side": "\u{f6e9}", + "head-side-brain": "\u{f808}", + "head-side-cough": "\u{e061}", + "head-side-cough-slash": "\u{e062}", + "head-side-gear": "\u{e611}", + "head-side-goggles": "\u{f6ea}", + "head-vr": "\u{f6ea}", + "head-side-headphones": "\u{f8c2}", + "head-side-heart": "\u{e1aa}", + "head-side-mask": "\u{e063}", + "head-side-medical": "\u{f809}", + "head-side-virus": "\u{e064}", + "heart": "\u{f004}", + "heart-circle-bolt": "\u{e4fc}", + "heart-circle-check": "\u{e4fd}", + "heart-circle-exclamation": "\u{e4fe}", + "heart-circle-minus": "\u{e4ff}", + "heart-circle-plus": "\u{e500}", + "heart-circle-xmark": "\u{e501}", + "heart-crack": "\u{f7a9}", + "heart-broken": "\u{f7a9}", + "heart-half": "\u{e1ab}", + "heart-half-stroke": "\u{e1ac}", + "heart-half-alt": "\u{e1ac}", + "heart-pulse": "\u{f21e}", + "heartbeat": "\u{f21e}", + "heat": "\u{e00c}", + "helicopter": "\u{f533}", + "helicopter-symbol": "\u{e502}", + "helmet-battle": "\u{f6eb}", + "helmet-safety": "\u{f807}", + "hard-hat": "\u{f807}", + "hat-hard": "\u{f807}", + "helmet-un": "\u{e503}", + "hexagon": "\u{f312}", + "hexagon-check": "\u{e416}", + "hexagon-divide": "\u{e1ad}", + "hexagon-exclamation": "\u{e417}", + "hexagon-image": "\u{e504}", + "hexagon-minus": "\u{f307}", + "minus-hexagon": "\u{f307}", + "hexagon-plus": "\u{f300}", + "plus-hexagon": "\u{f300}", + "hexagon-vertical-nft": "\u{e505}", + "hexagon-vertical-nft-slanted": "\u{e506}", + "hexagon-xmark": "\u{f2ee}", + "times-hexagon": "\u{f2ee}", + "xmark-hexagon": "\u{f2ee}", + "high-definition": "\u{e1ae}", + "rectangle-hd": "\u{e1ae}", + "highlighter": "\u{f591}", + "highlighter-line": "\u{e1af}", + "hill-avalanche": "\u{e507}", + "hill-rockslide": "\u{e508}", + "hippo": "\u{f6ed}", + "hips": "\u{f452}", + "hire-a-helper": "\u{f3b0}", + "hive": "\u{e07f}", + "hockey-mask": "\u{f6ee}", + "hockey-puck": "\u{f453}", + "hockey-stick-puck": "\u{e3ae}", + "hockey-sticks": "\u{f454}", + "holly-berry": "\u{f7aa}", + "honey-pot": "\u{e418}", + "hood-cloak": "\u{f6ef}", + "hooli": "\u{f427}", + "horizontal-rule": "\u{f86c}", + "hornbill": "\u{f592}", + "horse": "\u{f6f0}", + "horse-head": "\u{f7ab}", + "horse-saddle": "\u{f8c3}", + "hose": "\u{e419}", + "hose-reel": "\u{e41a}", + "hospital": "\u{f0f8}", + "hospital-alt": "\u{f0f8}", + "hospital-wide": "\u{f0f8}", + "hospitals": "\u{f80e}", + "hospital-user": "\u{f80d}", + "hotdog": "\u{f80f}", + "hotel": "\u{f594}", + "hotjar": "\u{f3b1}", + "hot-tub-person": "\u{f593}", + "hot-tub": "\u{f593}", + "hourglass": "\u{f254}", + "hourglass-empty": "\u{f254}", + "hourglass-clock": "\u{e41b}", + "hourglass-end": "\u{f253}", + "hourglass-3": "\u{f253}", + "hourglass-half": "\u{f252}", + "hourglass-2": "\u{f252}", + "hourglass-start": "\u{f251}", + "hourglass-1": "\u{f251}", + "house": "\u{f015}", + "home": "\u{f015}", + "home-alt": "\u{f015}", + "home-lg-alt": "\u{f015}", + "house-blank": "\u{e487}", + "home-blank": "\u{e487}", + "house-building": "\u{e1b1}", + "house-chimney": "\u{e3af}", + "home-lg": "\u{e3af}", + "house-chimney-blank": "\u{e3b0}", + "house-chimney-crack": "\u{f6f1}", + "house-damage": "\u{f6f1}", + "house-chimney-heart": "\u{e1b2}", + "house-chimney-medical": "\u{f7f2}", + "clinic-medical": "\u{f7f2}", + "house-chimney-user": "\u{e065}", + "house-chimney-window": "\u{e00d}", + "house-circle-check": "\u{e509}", + "house-circle-exclamation": "\u{e50a}", + "house-circle-xmark": "\u{e50b}", + "house-crack": "\u{e3b1}", + "house-day": "\u{e00e}", + "house-fire": "\u{e50c}", + "house-flag": "\u{e50d}", + "house-flood-water": "\u{e50e}", + "house-flood-water-circle-arrow-right": "\u{e50f}", + "house-heart": "\u{f4c9}", + "home-heart": "\u{f4c9}", + "house-laptop": "\u{e066}", + "laptop-house": "\u{e066}", + "house-lock": "\u{e510}", + "house-medical": "\u{e3b2}", + "house-medical-circle-check": "\u{e511}", + "house-medical-circle-exclamation": "\u{e512}", + "house-medical-circle-xmark": "\u{e513}", + "house-medical-flag": "\u{e514}", + "house-night": "\u{e010}", + "house-person-leave": "\u{e00f}", + "house-leave": "\u{e00f}", + "house-person-depart": "\u{e00f}", + "house-person-return": "\u{e011}", + "house-person-arrive": "\u{e011}", + "house-return": "\u{e011}", + "house-signal": "\u{e012}", + "house-tree": "\u{e1b3}", + "house-tsunami": "\u{e515}", + "house-turret": "\u{e1b4}", + "house-user": "\u{e1b0}", + "home-user": "\u{e1b0}", + "house-water": "\u{f74f}", + "house-flood": "\u{f74f}", + "house-window": "\u{e3b3}", + "houzz": "\u{f27c}", + "hryvnia-sign": "\u{f6f2}", + "hryvnia": "\u{f6f2}", + "html5": "\u{f13b}", + "hubspot": "\u{f3b2}", + "hundred-points": "\u{e41c}", + "100": "\u{e41c}", + "hurricane": "\u{f751}", + "hydra": "\u{e686}", + "hyphen": "\u{2d}", + "i": "\u{49}", + "ice-cream": "\u{f810}", + "ice-skate": "\u{f7ac}", + "icicles": "\u{f7ad}", + "icons": "\u{f86d}", + "heart-music-camera-bolt": "\u{f86d}", + "i-cursor": "\u{f246}", + "id-badge": "\u{f2c1}", + "id-card": "\u{f2c2}", + "drivers-license": "\u{f2c2}", + "id-card-clip": "\u{f47f}", + "id-card-alt": "\u{f47f}", + "ideal": "\u{e013}", + "igloo": "\u{f7ae}", + "image": "\u{f03e}", + "image-landscape": "\u{e1b5}", + "landscape": "\u{e1b5}", + "image-polaroid": "\u{f8c4}", + "image-polaroid-user": "\u{e1b6}", + "image-portrait": "\u{f3e0}", + "portrait": "\u{f3e0}", + "images": "\u{f302}", + "image-slash": "\u{e1b7}", + "images-user": "\u{e1b9}", + "image-user": "\u{e1b8}", + "imdb": "\u{f2d8}", + "inbox": "\u{f01c}", + "inboxes": "\u{e1bb}", + "inbox-full": "\u{e1ba}", + "inbox-in": "\u{f310}", + "inbox-arrow-down": "\u{f310}", + "inbox-out": "\u{f311}", + "inbox-arrow-up": "\u{f311}", + "indent": "\u{f03c}", + "indian-rupee-sign": "\u{e1bc}", + "indian-rupee": "\u{e1bc}", + "inr": "\u{e1bc}", + "industry": "\u{f275}", + "industry-windows": "\u{f3b3}", + "industry-alt": "\u{f3b3}", + "infinity": "\u{f534}", + "info": "\u{f129}", + "inhaler": "\u{f5f9}", + "input-numeric": "\u{e1bd}", + "input-pipe": "\u{e1be}", + "input-text": "\u{e1bf}", + "instagram": "\u{f16d}", + "instalod": "\u{e081}", + "integral": "\u{f667}", + "intercom": "\u{f7af}", + "internet-explorer": "\u{f26b}", + "interrobang": "\u{e5ba}", + "intersection": "\u{f668}", + "invision": "\u{f7b0}", + "ioxhost": "\u{f208}", + "island-tropical": "\u{f811}", + "island-tree-palm": "\u{f811}", + "italic": "\u{f033}", + "itch-io": "\u{f83a}", + "itunes": "\u{f3b4}", + "itunes-note": "\u{f3b5}", + "j": "\u{4a}", + "jack-o-lantern": "\u{f30e}", + "jar": "\u{e516}", + "jar-wheat": "\u{e517}", + "java": "\u{f4e4}", + "jedi": "\u{f669}", + "jedi-order": "\u{f50e}", + "jenkins": "\u{f3b6}", + "jet-fighter": "\u{f0fb}", + "fighter-jet": "\u{f0fb}", + "jet-fighter-up": "\u{e518}", + "jira": "\u{f7b1}", + "joget": "\u{f3b7}", + "joint": "\u{f595}", + "joomla": "\u{f1aa}", + "joystick": "\u{f8c5}", + "js": "\u{f3b8}", + "jsfiddle": "\u{f1cc}", + "jug": "\u{f8c6}", + "jug-bottle": "\u{e5fb}", + "jug-detergent": "\u{e519}", + "jxl": "\u{e67b}", + "k": "\u{4b}", + "kaaba": "\u{f66b}", + "kaggle": "\u{f5fa}", + "kazoo": "\u{f8c7}", + "kerning": "\u{f86f}", + "key": "\u{f084}", + "keybase": "\u{f4f5}", + "keyboard": "\u{f11c}", + "keyboard-brightness": "\u{e1c0}", + "keyboard-brightness-low": "\u{e1c1}", + "keyboard-down": "\u{e1c2}", + "keyboard-left": "\u{e1c3}", + "keycdn": "\u{f3ba}", + "keynote": "\u{f66c}", + "key-skeleton": "\u{f6f3}", + "key-skeleton-left-right": "\u{e3b4}", + "khanda": "\u{f66d}", + "kickstarter": "\u{f3bb}", + "square-kickstarter": "\u{f3bb}", + "kickstarter-k": "\u{f3bc}", + "kidneys": "\u{f5fb}", + "kip-sign": "\u{e1c4}", + "kitchen-set": "\u{e51a}", + "kite": "\u{f6f4}", + "kit-medical": "\u{f479}", + "first-aid": "\u{f479}", + "kiwi-bird": "\u{f535}", + "kiwi-fruit": "\u{e30c}", + "knife": "\u{f2e4}", + "utensil-knife": "\u{f2e4}", + "knife-kitchen": "\u{f6f5}", + "korvue": "\u{f42f}", + "l": "\u{4c}", + "lacrosse-stick": "\u{e3b5}", + "lacrosse-stick-ball": "\u{e3b6}", + "lambda": "\u{f66e}", + "lamp": "\u{f4ca}", + "lamp-desk": "\u{e014}", + "lamp-floor": "\u{e015}", + "lamp-street": "\u{e1c5}", + "landmark": "\u{f66f}", + "landmark-dome": "\u{f752}", + "landmark-alt": "\u{f752}", + "landmark-flag": "\u{e51c}", + "landmark-magnifying-glass": "\u{e622}", + "land-mine-on": "\u{e51b}", + "language": "\u{f1ab}", + "laptop": "\u{f109}", + "laptop-arrow-down": "\u{e1c6}", + "laptop-binary": "\u{e5e7}", + "laptop-code": "\u{f5fc}", + "laptop-file": "\u{e51d}", + "laptop-medical": "\u{f812}", + "laptop-mobile": "\u{f87a}", + "phone-laptop": "\u{f87a}", + "laptop-slash": "\u{e1c7}", + "laravel": "\u{f3bd}", + "lari-sign": "\u{e1c8}", + "lasso": "\u{f8c8}", + "lasso-sparkles": "\u{e1c9}", + "lastfm": "\u{f202}", + "layer-group": "\u{f5fd}", + "layer-minus": "\u{f5fe}", + "layer-group-minus": "\u{f5fe}", + "layer-plus": "\u{f5ff}", + "layer-group-plus": "\u{f5ff}", + "leaf": "\u{f06c}", + "leaf-heart": "\u{f4cb}", + "leaf-maple": "\u{f6f6}", + "leaf-oak": "\u{f6f7}", + "leafy-green": "\u{e41d}", + "leanpub": "\u{f212}", + "left": "\u{f355}", + "arrow-alt-left": "\u{f355}", + "left-from-bracket": "\u{e66c}", + "left-from-line": "\u{f348}", + "arrow-alt-from-right": "\u{f348}", + "left-long": "\u{f30a}", + "long-arrow-alt-left": "\u{f30a}", + "left-long-to-line": "\u{e41e}", + "left-right": "\u{f337}", + "arrows-alt-h": "\u{f337}", + "left-to-bracket": "\u{e66d}", + "left-to-line": "\u{f34b}", + "arrow-alt-to-left": "\u{f34b}", + "lemon": "\u{f094}", + "less": "\u{f41d}", + "less-than": "\u{3c}", + "less-than-equal": "\u{f537}", + "letterboxd": "\u{e62d}", + "life-ring": "\u{f1cd}", + "lightbulb": "\u{f0eb}", + "lightbulb-cfl": "\u{e5a6}", + "lightbulb-cfl-on": "\u{e5a7}", + "lightbulb-dollar": "\u{f670}", + "lightbulb-exclamation": "\u{f671}", + "lightbulb-exclamation-on": "\u{e1ca}", + "lightbulb-gear": "\u{e5fd}", + "lightbulb-message": "\u{e687}", + "lightbulb-on": "\u{f672}", + "lightbulb-slash": "\u{f673}", + "light-ceiling": "\u{e016}", + "light-emergency": "\u{e41f}", + "light-emergency-on": "\u{e420}", + "lighthouse": "\u{e612}", + "lights-holiday": "\u{f7b2}", + "light-switch": "\u{e017}", + "light-switch-off": "\u{e018}", + "light-switch-on": "\u{e019}", + "line": "\u{f3c0}", + "line-columns": "\u{f870}", + "line-height": "\u{f871}", + "lines-leaning": "\u{e51e}", + "link": "\u{f0c1}", + "chain": "\u{f0c1}", + "linkedin": "\u{f08c}", + "linkedin-in": "\u{f0e1}", + "link-horizontal": "\u{e1cb}", + "chain-horizontal": "\u{e1cb}", + "link-horizontal-slash": "\u{e1cc}", + "chain-horizontal-slash": "\u{e1cc}", + "link-simple": "\u{e1cd}", + "link-simple-slash": "\u{e1ce}", + "link-slash": "\u{f127}", + "chain-broken": "\u{f127}", + "chain-slash": "\u{f127}", + "unlink": "\u{f127}", + "linode": "\u{f2b8}", + "linux": "\u{f17c}", + "lips": "\u{f600}", + "lira-sign": "\u{f195}", + "list": "\u{f03a}", + "list-squares": "\u{f03a}", + "list-check": "\u{f0ae}", + "tasks": "\u{f0ae}", + "list-dropdown": "\u{e1cf}", + "list-music": "\u{f8c9}", + "list-ol": "\u{f0cb}", + "list-1-2": "\u{f0cb}", + "list-numeric": "\u{f0cb}", + "list-radio": "\u{e1d0}", + "list-timeline": "\u{e1d1}", + "list-tree": "\u{e1d2}", + "list-ul": "\u{f0ca}", + "list-dots": "\u{f0ca}", + "litecoin-sign": "\u{e1d3}", + "loader": "\u{e1d4}", + "lobster": "\u{e421}", + "location-arrow": "\u{f124}", + "location-arrow-up": "\u{e63a}", + "location-check": "\u{f606}", + "map-marker-check": "\u{f606}", + "location-crosshairs": "\u{f601}", + "location": "\u{f601}", + "location-crosshairs-slash": "\u{f603}", + "location-slash": "\u{f603}", + "location-dot": "\u{f3c5}", + "map-marker-alt": "\u{f3c5}", + "location-dot-slash": "\u{f605}", + "map-marker-alt-slash": "\u{f605}", + "location-exclamation": "\u{f608}", + "map-marker-exclamation": "\u{f608}", + "location-minus": "\u{f609}", + "map-marker-minus": "\u{f609}", + "location-pen": "\u{f607}", + "map-marker-edit": "\u{f607}", + "location-pin": "\u{f041}", + "map-marker": "\u{f041}", + "location-pin-lock": "\u{e51f}", + "location-pin-slash": "\u{f60c}", + "map-marker-slash": "\u{f60c}", + "location-plus": "\u{f60a}", + "map-marker-plus": "\u{f60a}", + "location-question": "\u{f60b}", + "map-marker-question": "\u{f60b}", + "location-smile": "\u{f60d}", + "map-marker-smile": "\u{f60d}", + "location-xmark": "\u{f60e}", + "map-marker-times": "\u{f60e}", + "map-marker-xmark": "\u{f60e}", + "lock": "\u{f023}", + "lock-a": "\u{e422}", + "lock-hashtag": "\u{e423}", + "lock-keyhole": "\u{f30d}", + "lock-alt": "\u{f30d}", + "lock-keyhole-open": "\u{f3c2}", + "lock-open-alt": "\u{f3c2}", + "lock-open": "\u{f3c1}", + "locust": "\u{e520}", + "lollipop": "\u{e424}", + "lollypop": "\u{e424}", + "loveseat": "\u{f4cc}", + "couch-small": "\u{f4cc}", + "luchador-mask": "\u{f455}", + "luchador": "\u{f455}", + "mask-luchador": "\u{f455}", + "lungs": "\u{f604}", + "lungs-virus": "\u{e067}", + "lyft": "\u{f3c3}", + "m": "\u{4d}", + "mace": "\u{f6f8}", + "magento": "\u{f3c4}", + "magnet": "\u{f076}", + "magnifying-glass": "\u{f002}", + "search": "\u{f002}", + "magnifying-glass-arrow-right": "\u{e521}", + "magnifying-glass-arrows-rotate": "\u{e65e}", + "magnifying-glass-chart": "\u{e522}", + "magnifying-glass-dollar": "\u{f688}", + "search-dollar": "\u{f688}", + "magnifying-glass-location": "\u{f689}", + "search-location": "\u{f689}", + "magnifying-glass-minus": "\u{f010}", + "search-minus": "\u{f010}", + "magnifying-glass-music": "\u{e65f}", + "magnifying-glass-play": "\u{e660}", + "magnifying-glass-plus": "\u{f00e}", + "search-plus": "\u{f00e}", + "magnifying-glass-waveform": "\u{e661}", + "mailbox": "\u{f813}", + "mailbox-flag-up": "\u{e5bb}", + "mailchimp": "\u{f59e}", + "manat-sign": "\u{e1d5}", + "mandalorian": "\u{f50f}", + "mandolin": "\u{f6f9}", + "mango": "\u{e30f}", + "manhole": "\u{e1d6}", + "map": "\u{f279}", + "map-location": "\u{f59f}", + "map-marked": "\u{f59f}", + "map-location-dot": "\u{f5a0}", + "map-marked-alt": "\u{f5a0}", + "map-pin": "\u{f276}", + "markdown": "\u{f60f}", + "marker": "\u{f5a1}", + "mars": "\u{f222}", + "mars-and-venus": "\u{f224}", + "mars-and-venus-burst": "\u{e523}", + "mars-double": "\u{f227}", + "mars-stroke": "\u{f229}", + "mars-stroke-right": "\u{f22b}", + "mars-stroke-h": "\u{f22b}", + "mars-stroke-up": "\u{f22a}", + "mars-stroke-v": "\u{f22a}", + "martini-glass": "\u{f57b}", + "glass-martini-alt": "\u{f57b}", + "martini-glass-citrus": "\u{f561}", + "cocktail": "\u{f561}", + "martini-glass-empty": "\u{f000}", + "glass-martini": "\u{f000}", + "mask": "\u{f6fa}", + "mask-face": "\u{e1d7}", + "mask-snorkel": "\u{e3b7}", + "masks-theater": "\u{f630}", + "theater-masks": "\u{f630}", + "mask-ventilator": "\u{e524}", + "mastodon": "\u{f4f6}", + "mattress-pillow": "\u{e525}", + "maxcdn": "\u{f136}", + "maximize": "\u{f31e}", + "expand-arrows-alt": "\u{f31e}", + "mdb": "\u{f8ca}", + "meat": "\u{f814}", + "medal": "\u{f5a2}", + "medapps": "\u{f3c6}", + "medium": "\u{f23a}", + "medium-m": "\u{f23a}", + "medrt": "\u{f3c8}", + "meetup": "\u{f2e0}", + "megaphone": "\u{f675}", + "megaport": "\u{f5a3}", + "melon": "\u{e310}", + "melon-slice": "\u{e311}", + "memo": "\u{e1d8}", + "memo-circle-check": "\u{e1d9}", + "memo-circle-info": "\u{e49a}", + "memo-pad": "\u{e1da}", + "memory": "\u{f538}", + "mendeley": "\u{f7b3}", + "menorah": "\u{f676}", + "mercury": "\u{f223}", + "merge": "\u{e526}", + "message": "\u{f27a}", + "comment-alt": "\u{f27a}", + "message-arrow-down": "\u{e1db}", + "comment-alt-arrow-down": "\u{e1db}", + "message-arrow-up": "\u{e1dc}", + "comment-alt-arrow-up": "\u{e1dc}", + "message-arrow-up-right": "\u{e1dd}", + "message-bot": "\u{e3b8}", + "message-captions": "\u{e1de}", + "comment-alt-captions": "\u{e1de}", + "message-check": "\u{f4a2}", + "comment-alt-check": "\u{f4a2}", + "message-code": "\u{e1df}", + "message-dollar": "\u{f650}", + "comment-alt-dollar": "\u{f650}", + "message-dots": "\u{f4a3}", + "comment-alt-dots": "\u{f4a3}", + "messaging": "\u{f4a3}", + "message-exclamation": "\u{f4a5}", + "comment-alt-exclamation": "\u{f4a5}", + "message-heart": "\u{e5c9}", + "message-image": "\u{e1e0}", + "comment-alt-image": "\u{e1e0}", + "message-lines": "\u{f4a6}", + "comment-alt-lines": "\u{f4a6}", + "message-medical": "\u{f7f4}", + "comment-alt-medical": "\u{f7f4}", + "message-middle": "\u{e1e1}", + "comment-middle-alt": "\u{e1e1}", + "message-middle-top": "\u{e1e2}", + "comment-middle-top-alt": "\u{e1e2}", + "message-minus": "\u{f4a7}", + "comment-alt-minus": "\u{f4a7}", + "message-music": "\u{f8af}", + "comment-alt-music": "\u{f8af}", + "message-pen": "\u{f4a4}", + "comment-alt-edit": "\u{f4a4}", + "message-edit": "\u{f4a4}", + "message-plus": "\u{f4a8}", + "comment-alt-plus": "\u{f4a8}", + "message-question": "\u{e1e3}", + "message-quote": "\u{e1e4}", + "comment-alt-quote": "\u{e1e4}", + "messages": "\u{f4b6}", + "comments-alt": "\u{f4b6}", + "messages-dollar": "\u{f652}", + "comments-alt-dollar": "\u{f652}", + "message-slash": "\u{f4a9}", + "comment-alt-slash": "\u{f4a9}", + "message-smile": "\u{f4aa}", + "comment-alt-smile": "\u{f4aa}", + "message-sms": "\u{e1e5}", + "messages-question": "\u{e1e7}", + "message-text": "\u{e1e6}", + "comment-alt-text": "\u{e1e6}", + "message-xmark": "\u{f4ab}", + "comment-alt-times": "\u{f4ab}", + "message-times": "\u{f4ab}", + "meta": "\u{e49b}", + "meteor": "\u{f753}", + "meter": "\u{e1e8}", + "meter-bolt": "\u{e1e9}", + "meter-droplet": "\u{e1ea}", + "meter-fire": "\u{e1eb}", + "microblog": "\u{e01a}", + "microchip": "\u{f2db}", + "microchip-ai": "\u{e1ec}", + "microphone": "\u{f130}", + "microphone-lines": "\u{f3c9}", + "microphone-alt": "\u{f3c9}", + "microphone-lines-slash": "\u{f539}", + "microphone-alt-slash": "\u{f539}", + "microphone-slash": "\u{f131}", + "microphone-stand": "\u{f8cb}", + "microscope": "\u{f610}", + "microsoft": "\u{f3ca}", + "microwave": "\u{e01b}", + "mill-sign": "\u{e1ed}", + "minimize": "\u{f78c}", + "compress-arrows-alt": "\u{f78c}", + "mintbit": "\u{e62f}", + "minus": "\u{f068}", + "subtract": "\u{f068}", + "mistletoe": "\u{f7b4}", + "mitten": "\u{f7b5}", + "mix": "\u{f3cb}", + "mixcloud": "\u{f289}", + "mixer": "\u{e056}", + "mizuni": "\u{f3cc}", + "mobile": "\u{f3ce}", + "mobile-android": "\u{f3ce}", + "mobile-phone": "\u{f3ce}", + "mobile-button": "\u{f10b}", + "mobile-notch": "\u{e1ee}", + "mobile-iphone": "\u{e1ee}", + "mobile-retro": "\u{e527}", + "mobile-screen": "\u{f3cf}", + "mobile-android-alt": "\u{f3cf}", + "mobile-screen-button": "\u{f3cd}", + "mobile-alt": "\u{f3cd}", + "mobile-signal": "\u{e1ef}", + "mobile-signal-out": "\u{e1f0}", + "modx": "\u{f285}", + "monero": "\u{f3d0}", + "money-bill": "\u{f0d6}", + "money-bill-1": "\u{f3d1}", + "money-bill-alt": "\u{f3d1}", + "money-bill-1-wave": "\u{f53b}", + "money-bill-wave-alt": "\u{f53b}", + "money-bills": "\u{e1f3}", + "money-bill-simple": "\u{e1f1}", + "money-bill-simple-wave": "\u{e1f2}", + "money-bills-simple": "\u{e1f4}", + "money-bills-alt": "\u{e1f4}", + "money-bill-transfer": "\u{e528}", + "money-bill-trend-up": "\u{e529}", + "money-bill-wave": "\u{f53a}", + "money-bill-wheat": "\u{e52a}", + "money-check": "\u{f53c}", + "money-check-dollar": "\u{f53d}", + "money-check-alt": "\u{f53d}", + "money-check-dollar-pen": "\u{f873}", + "money-check-edit-alt": "\u{f873}", + "money-check-pen": "\u{f872}", + "money-check-edit": "\u{f872}", + "money-from-bracket": "\u{e312}", + "money-simple-from-bracket": "\u{e313}", + "monitor-waveform": "\u{f611}", + "monitor-heart-rate": "\u{f611}", + "monkey": "\u{f6fb}", + "monument": "\u{f5a6}", + "moon": "\u{f186}", + "moon-cloud": "\u{f754}", + "moon-over-sun": "\u{f74a}", + "eclipse-alt": "\u{f74a}", + "moon-stars": "\u{f755}", + "moped": "\u{e3b9}", + "mortar-pestle": "\u{f5a7}", + "mosque": "\u{f678}", + "mosquito": "\u{e52b}", + "mosquito-net": "\u{e52c}", + "motorcycle": "\u{f21c}", + "mound": "\u{e52d}", + "mountain": "\u{f6fc}", + "mountain-city": "\u{e52e}", + "mountains": "\u{f6fd}", + "mountain-sun": "\u{e52f}", + "mouse-field": "\u{e5a8}", + "mp3-player": "\u{f8ce}", + "mug": "\u{f874}", + "mug-hot": "\u{f7b6}", + "mug-marshmallows": "\u{f7b7}", + "mug-saucer": "\u{f0f4}", + "coffee": "\u{f0f4}", + "mug-tea": "\u{f875}", + "mug-tea-saucer": "\u{e1f5}", + "mushroom": "\u{e425}", + "music": "\u{f001}", + "music-magnifying-glass": "\u{e662}", + "music-note": "\u{f8cf}", + "music-alt": "\u{f8cf}", + "music-note-slash": "\u{f8d0}", + "music-alt-slash": "\u{f8d0}", + "music-slash": "\u{f8d1}", + "mustache": "\u{e5bc}", + "n": "\u{4e}", + "naira-sign": "\u{e1f6}", + "napster": "\u{f3d2}", + "narwhal": "\u{f6fe}", + "neos": "\u{f612}", + "nesting-dolls": "\u{e3ba}", + "network-wired": "\u{f6ff}", + "neuter": "\u{f22c}", + "newspaper": "\u{f1ea}", + "nfc": "\u{e1f7}", + "nfc-directional": "\u{e530}", + "nfc-lock": "\u{e1f8}", + "nfc-magnifying-glass": "\u{e1f9}", + "nfc-pen": "\u{e1fa}", + "nfc-signal": "\u{e1fb}", + "nfc-slash": "\u{e1fc}", + "nfc-symbol": "\u{e531}", + "nfc-trash": "\u{e1fd}", + "nimblr": "\u{f5a8}", + "node": "\u{f419}", + "node-js": "\u{f3d3}", + "nose": "\u{e5bd}", + "notdef": "\u{e1fe}", + "note": "\u{e1ff}", + "notebook": "\u{e201}", + "note-medical": "\u{e200}", + "not-equal": "\u{f53e}", + "notes": "\u{e202}", + "notes-medical": "\u{f481}", + "note-sticky": "\u{f249}", + "sticky-note": "\u{f249}", + "npm": "\u{f3d4}", + "ns8": "\u{f3d5}", + "nutritionix": "\u{f3d6}", + "o": "\u{4f}", + "object-exclude": "\u{e49c}", + "object-group": "\u{f247}", + "object-intersect": "\u{e49d}", + "objects-align-bottom": "\u{e3bb}", + "objects-align-center-horizontal": "\u{e3bc}", + "objects-align-center-vertical": "\u{e3bd}", + "objects-align-left": "\u{e3be}", + "objects-align-right": "\u{e3bf}", + "objects-align-top": "\u{e3c0}", + "objects-column": "\u{e3c1}", + "object-subtract": "\u{e49e}", + "object-ungroup": "\u{f248}", + "object-union": "\u{e49f}", + "octagon": "\u{f306}", + "octagon-check": "\u{e426}", + "octagon-divide": "\u{e203}", + "octagon-exclamation": "\u{e204}", + "octagon-minus": "\u{f308}", + "minus-octagon": "\u{f308}", + "octagon-plus": "\u{f301}", + "plus-octagon": "\u{f301}", + "octagon-xmark": "\u{f2f0}", + "times-octagon": "\u{f2f0}", + "xmark-octagon": "\u{f2f0}", + "octopus": "\u{e688}", + "octopus-deploy": "\u{e082}", + "odnoklassniki": "\u{f263}", + "odysee": "\u{e5c6}", + "oil-can": "\u{f613}", + "oil-can-drip": "\u{e205}", + "oil-temperature": "\u{f614}", + "oil-temp": "\u{f614}", + "oil-well": "\u{e532}", + "old-republic": "\u{f510}", + "olive": "\u{e316}", + "olive-branch": "\u{e317}", + "om": "\u{f679}", + "omega": "\u{f67a}", + "onion": "\u{e427}", + "opencart": "\u{f23d}", + "openid": "\u{f19b}", + "opensuse": "\u{e62b}", + "opera": "\u{f26a}", + "optin-monster": "\u{f23c}", + "option": "\u{e318}", + "orcid": "\u{f8d2}", + "ornament": "\u{f7b8}", + "osi": "\u{f41a}", + "otter": "\u{f700}", + "outdent": "\u{f03b}", + "dedent": "\u{f03b}", + "outlet": "\u{e01c}", + "oven": "\u{e01d}", + "overline": "\u{f876}", + "p": "\u{50}", + "padlet": "\u{e4a0}", + "page": "\u{e428}", + "page4": "\u{f3d7}", + "page-caret-down": "\u{e429}", + "file-caret-down": "\u{e429}", + "page-caret-up": "\u{e42a}", + "file-caret-up": "\u{e42a}", + "pagelines": "\u{f18c}", + "pager": "\u{f815}", + "paintbrush": "\u{f1fc}", + "paint-brush": "\u{f1fc}", + "paintbrush-fine": "\u{f5a9}", + "paint-brush-alt": "\u{f5a9}", + "paint-brush-fine": "\u{f5a9}", + "paintbrush-alt": "\u{f5a9}", + "paintbrush-pencil": "\u{e206}", + "paint-roller": "\u{f5aa}", + "palette": "\u{f53f}", + "palfed": "\u{f3d8}", + "pallet": "\u{f482}", + "pallet-box": "\u{e208}", + "pallet-boxes": "\u{f483}", + "palette-boxes": "\u{f483}", + "pallet-alt": "\u{f483}", + "pancakes": "\u{e42d}", + "panel-ews": "\u{e42e}", + "panel-fire": "\u{e42f}", + "pan-food": "\u{e42b}", + "pan-frying": "\u{e42c}", + "panorama": "\u{e209}", + "paperclip": "\u{f0c6}", + "paperclip-vertical": "\u{e3c2}", + "paper-plane": "\u{f1d8}", + "paper-plane-top": "\u{e20a}", + "paper-plane-alt": "\u{e20a}", + "send": "\u{e20a}", + "parachute-box": "\u{f4cd}", + "paragraph": "\u{f1dd}", + "paragraph-left": "\u{f878}", + "paragraph-rtl": "\u{f878}", + "party-bell": "\u{e31a}", + "party-horn": "\u{e31b}", + "passport": "\u{f5ab}", + "paste": "\u{f0ea}", + "file-clipboard": "\u{f0ea}", + "patreon": "\u{f3d9}", + "pause": "\u{f04c}", + "paw": "\u{f1b0}", + "paw-claws": "\u{f702}", + "paw-simple": "\u{f701}", + "paw-alt": "\u{f701}", + "paypal": "\u{f1ed}", + "peace": "\u{f67c}", + "peach": "\u{e20b}", + "peanut": "\u{e430}", + "peanuts": "\u{e431}", + "peapod": "\u{e31c}", + "pear": "\u{e20c}", + "pedestal": "\u{e20d}", + "pegasus": "\u{f703}", + "pen": "\u{f304}", + "pencil": "\u{f303}", + "pencil-alt": "\u{f303}", + "pencil-mechanical": "\u{e5ca}", + "pencil-slash": "\u{e215}", + "pen-circle": "\u{e20e}", + "pen-clip": "\u{f305}", + "pen-alt": "\u{f305}", + "pen-clip-slash": "\u{e20f}", + "pen-alt-slash": "\u{e20f}", + "pen-fancy": "\u{f5ac}", + "pen-fancy-slash": "\u{e210}", + "pen-field": "\u{e211}", + "pen-line": "\u{e212}", + "pen-nib": "\u{f5ad}", + "pen-nib-slash": "\u{e4a1}", + "pen-paintbrush": "\u{f618}", + "pencil-paintbrush": "\u{f618}", + "pen-ruler": "\u{f5ae}", + "pencil-ruler": "\u{f5ae}", + "pen-slash": "\u{e213}", + "pen-swirl": "\u{e214}", + "pen-to-square": "\u{f044}", + "edit": "\u{f044}", + "people": "\u{e216}", + "people-arrows": "\u{e068}", + "people-arrows-left-right": "\u{e068}", + "people-carry-box": "\u{f4ce}", + "people-carry": "\u{f4ce}", + "people-dress": "\u{e217}", + "people-dress-simple": "\u{e218}", + "people-group": "\u{e533}", + "people-line": "\u{e534}", + "people-pants": "\u{e219}", + "people-pants-simple": "\u{e21a}", + "people-pulling": "\u{e535}", + "people-robbery": "\u{e536}", + "people-roof": "\u{e537}", + "people-simple": "\u{e21b}", + "pepper": "\u{e432}", + "pepper-hot": "\u{f816}", + "perbyte": "\u{e083}", + "percent": "\u{25}", + "percentage": "\u{25}", + "period": "\u{2e}", + "periscope": "\u{f3da}", + "person": "\u{f183}", + "male": "\u{f183}", + "person-arrow-down-to-line": "\u{e538}", + "person-arrow-up-from-line": "\u{e539}", + "person-biking": "\u{f84a}", + "biking": "\u{f84a}", + "person-biking-mountain": "\u{f84b}", + "biking-mountain": "\u{f84b}", + "person-booth": "\u{f756}", + "person-breastfeeding": "\u{e53a}", + "person-burst": "\u{e53b}", + "person-cane": "\u{e53c}", + "person-carry-box": "\u{f4cf}", + "person-carry": "\u{f4cf}", + "person-chalkboard": "\u{e53d}", + "person-circle-check": "\u{e53e}", + "person-circle-exclamation": "\u{e53f}", + "person-circle-minus": "\u{e540}", + "person-circle-plus": "\u{e541}", + "person-circle-question": "\u{e542}", + "person-circle-xmark": "\u{e543}", + "person-digging": "\u{f85e}", + "digging": "\u{f85e}", + "person-dolly": "\u{f4d0}", + "person-dolly-empty": "\u{f4d1}", + "person-dots-from-line": "\u{f470}", + "diagnoses": "\u{f470}", + "person-dress": "\u{f182}", + "female": "\u{f182}", + "person-dress-burst": "\u{e544}", + "person-dress-fairy": "\u{e607}", + "person-dress-simple": "\u{e21c}", + "person-drowning": "\u{e545}", + "person-fairy": "\u{e608}", + "person-falling": "\u{e546}", + "person-falling-burst": "\u{e547}", + "person-from-portal": "\u{e023}", + "portal-exit": "\u{e023}", + "person-half-dress": "\u{e548}", + "person-harassing": "\u{e549}", + "person-hiking": "\u{f6ec}", + "hiking": "\u{f6ec}", + "person-military-pointing": "\u{e54a}", + "person-military-rifle": "\u{e54b}", + "person-military-to-person": "\u{e54c}", + "person-pinball": "\u{e21d}", + "person-praying": "\u{f683}", + "pray": "\u{f683}", + "person-pregnant": "\u{e31e}", + "person-rays": "\u{e54d}", + "person-rifle": "\u{e54e}", + "person-running": "\u{f70c}", + "running": "\u{f70c}", + "person-running-fast": "\u{e5ff}", + "person-seat": "\u{e21e}", + "person-seat-reclined": "\u{e21f}", + "person-shelter": "\u{e54f}", + "person-sign": "\u{f757}", + "person-simple": "\u{e220}", + "person-skating": "\u{f7c5}", + "skating": "\u{f7c5}", + "person-skiing": "\u{f7c9}", + "skiing": "\u{f7c9}", + "person-skiing-nordic": "\u{f7ca}", + "skiing-nordic": "\u{f7ca}", + "person-ski-jumping": "\u{f7c7}", + "ski-jump": "\u{f7c7}", + "person-ski-lift": "\u{f7c8}", + "ski-lift": "\u{f7c8}", + "person-sledding": "\u{f7cb}", + "sledding": "\u{f7cb}", + "person-snowboarding": "\u{f7ce}", + "snowboarding": "\u{f7ce}", + "person-snowmobiling": "\u{f7d1}", + "snowmobile": "\u{f7d1}", + "person-swimming": "\u{f5c4}", + "swimmer": "\u{f5c4}", + "person-through-window": "\u{e5a9}", + "person-to-door": "\u{e433}", + "person-to-portal": "\u{e022}", + "portal-enter": "\u{e022}", + "person-walking": "\u{f554}", + "walking": "\u{f554}", + "person-walking-arrow-loop-left": "\u{e551}", + "person-walking-arrow-right": "\u{e552}", + "person-walking-dashed-line-arrow-right": "\u{e553}", + "person-walking-luggage": "\u{e554}", + "person-walking-with-cane": "\u{f29d}", + "blind": "\u{f29d}", + "peseta-sign": "\u{e221}", + "peso-sign": "\u{e222}", + "phabricator": "\u{f3db}", + "phoenix-framework": "\u{f3dc}", + "phoenix-squadron": "\u{f511}", + "phone": "\u{f095}", + "phone-arrow-down-left": "\u{e223}", + "phone-arrow-down": "\u{e223}", + "phone-incoming": "\u{e223}", + "phone-arrow-right": "\u{e5be}", + "phone-arrow-up-right": "\u{e224}", + "phone-arrow-up": "\u{e224}", + "phone-outgoing": "\u{e224}", + "phone-flip": "\u{f879}", + "phone-alt": "\u{f879}", + "phone-hangup": "\u{e225}", + "phone-intercom": "\u{e434}", + "phone-missed": "\u{e226}", + "phone-office": "\u{f67d}", + "phone-plus": "\u{f4d2}", + "phone-rotary": "\u{f8d3}", + "phone-slash": "\u{f3dd}", + "phone-volume": "\u{f2a0}", + "volume-control-phone": "\u{f2a0}", + "phone-xmark": "\u{e227}", + "photo-film": "\u{f87c}", + "photo-video": "\u{f87c}", + "photo-film-music": "\u{e228}", + "php": "\u{f457}", + "pi": "\u{f67e}", + "piano": "\u{f8d4}", + "piano-keyboard": "\u{f8d5}", + "pickaxe": "\u{e5bf}", + "pickleball": "\u{e435}", + "pie": "\u{f705}", + "pied-piper": "\u{f2ae}", + "pied-piper-alt": "\u{f1a8}", + "pied-piper-hat": "\u{f4e5}", + "pied-piper-pp": "\u{f1a7}", + "pig": "\u{f706}", + "piggy-bank": "\u{f4d3}", + "pills": "\u{f484}", + "pinata": "\u{e3c3}", + "pinball": "\u{e229}", + "pineapple": "\u{e31f}", + "pinterest": "\u{f0d2}", + "pinterest-p": "\u{f231}", + "pipe": "\u{7c}", + "pipe-circle-check": "\u{e436}", + "pipe-collar": "\u{e437}", + "pipe-section": "\u{e438}", + "pipe-smoking": "\u{e3c4}", + "pipe-valve": "\u{e439}", + "pix": "\u{e43a}", + "pixiv": "\u{e640}", + "pizza": "\u{f817}", + "pizza-slice": "\u{f818}", + "place-of-worship": "\u{f67f}", + "plane": "\u{f072}", + "plane-arrival": "\u{f5af}", + "plane-circle-check": "\u{e555}", + "plane-circle-exclamation": "\u{e556}", + "plane-circle-xmark": "\u{e557}", + "plane-departure": "\u{f5b0}", + "plane-engines": "\u{f3de}", + "plane-alt": "\u{f3de}", + "plane-lock": "\u{e558}", + "plane-prop": "\u{e22b}", + "plane-slash": "\u{e069}", + "plane-tail": "\u{e22c}", + "planet-moon": "\u{e01f}", + "planet-ringed": "\u{e020}", + "plane-up": "\u{e22d}", + "plane-up-slash": "\u{e22e}", + "plant-wilt": "\u{e5aa}", + "plate-utensils": "\u{e43b}", + "plate-wheat": "\u{e55a}", + "play": "\u{f04b}", + "play-pause": "\u{e22f}", + "playstation": "\u{f3df}", + "plug": "\u{f1e6}", + "plug-circle-bolt": "\u{e55b}", + "plug-circle-check": "\u{e55c}", + "plug-circle-exclamation": "\u{e55d}", + "plug-circle-minus": "\u{e55e}", + "plug-circle-plus": "\u{e55f}", + "plug-circle-xmark": "\u{e560}", + "plus": "\u{2b}", + "add": "\u{2b}", + "plus-large": "\u{e59e}", + "plus-minus": "\u{e43c}", + "podcast": "\u{f2ce}", + "podium": "\u{f680}", + "podium-star": "\u{f758}", + "police-box": "\u{e021}", + "poll-people": "\u{f759}", + "pompebled": "\u{e43d}", + "poo": "\u{f2fe}", + "pool-8-ball": "\u{e3c5}", + "poop": "\u{f619}", + "poo-storm": "\u{f75a}", + "poo-bolt": "\u{f75a}", + "popcorn": "\u{f819}", + "popsicle": "\u{e43e}", + "potato": "\u{e440}", + "pot-food": "\u{e43f}", + "power-off": "\u{f011}", + "prescription": "\u{f5b1}", + "prescription-bottle": "\u{f485}", + "prescription-bottle-medical": "\u{f486}", + "prescription-bottle-alt": "\u{f486}", + "prescription-bottle-pill": "\u{e5c0}", + "presentation-screen": "\u{f685}", + "presentation": "\u{f685}", + "pretzel": "\u{e441}", + "print": "\u{f02f}", + "print-magnifying-glass": "\u{f81a}", + "print-search": "\u{f81a}", + "print-slash": "\u{f686}", + "product-hunt": "\u{f288}", + "projector": "\u{f8d6}", + "pump": "\u{e442}", + "pumpkin": "\u{f707}", + "pump-medical": "\u{e06a}", + "pump-soap": "\u{e06b}", + "pushed": "\u{f3e1}", + "puzzle": "\u{e443}", + "puzzle-piece": "\u{f12e}", + "puzzle-piece-simple": "\u{e231}", + "puzzle-piece-alt": "\u{e231}", + "python": "\u{f3e2}", + "q": "\u{51}", + "qq": "\u{f1d6}", + "qrcode": "\u{f029}", + "question": "\u{3f}", + "quinscape": "\u{f459}", + "quora": "\u{f2c4}", + "quote-left": "\u{f10d}", + "quote-left-alt": "\u{f10d}", + "quote-right": "\u{f10e}", + "quote-right-alt": "\u{f10e}", + "quotes": "\u{e234}", + "r": "\u{52}", + "rabbit": "\u{f708}", + "rabbit-running": "\u{f709}", + "rabbit-fast": "\u{f709}", + "raccoon": "\u{e613}", + "racquet": "\u{f45a}", + "radar": "\u{e024}", + "radiation": "\u{f7b9}", + "radio": "\u{f8d7}", + "radio-tuner": "\u{f8d8}", + "radio-alt": "\u{f8d8}", + "rainbow": "\u{f75b}", + "raindrops": "\u{f75c}", + "ram": "\u{f70a}", + "ramp-loading": "\u{f4d4}", + "ranking-star": "\u{e561}", + "raspberry-pi": "\u{f7bb}", + "ravelry": "\u{f2d9}", + "raygun": "\u{e025}", + "react": "\u{f41b}", + "reacteurope": "\u{f75d}", + "readme": "\u{f4d5}", + "rebel": "\u{f1d0}", + "receipt": "\u{f543}", + "record-vinyl": "\u{f8d9}", + "rectangle": "\u{f2fa}", + "rectangle-landscape": "\u{f2fa}", + "rectangle-ad": "\u{f641}", + "ad": "\u{f641}", + "rectangle-barcode": "\u{f463}", + "barcode-alt": "\u{f463}", + "rectangle-code": "\u{e322}", + "rectangle-history": "\u{e4a2}", + "rectangle-history-circle-plus": "\u{e4a3}", + "rectangle-history-circle-user": "\u{e4a4}", + "rectangle-list": "\u{f022}", + "list-alt": "\u{f022}", + "rectangle-pro": "\u{e235}", + "pro": "\u{e235}", + "rectangles-mixed": "\u{e323}", + "rectangle-terminal": "\u{e236}", + "rectangle-vertical": "\u{f2fb}", + "rectangle-portrait": "\u{f2fb}", + "rectangle-vertical-history": "\u{e237}", + "rectangle-wide": "\u{f2fc}", + "rectangle-xmark": "\u{f410}", + "rectangle-times": "\u{f410}", + "times-rectangle": "\u{f410}", + "window-close": "\u{f410}", + "recycle": "\u{f1b8}", + "reddit": "\u{f1a1}", + "reddit-alien": "\u{f281}", + "redhat": "\u{f7bc}", + "red-river": "\u{f3e3}", + "reel": "\u{e238}", + "reflect-both": "\u{e66f}", + "reflect-horizontal": "\u{e664}", + "reflect-vertical": "\u{e665}", + "refrigerator": "\u{e026}", + "registered": "\u{f25d}", + "renren": "\u{f18b}", + "repeat": "\u{f363}", + "repeat-1": "\u{f365}", + "reply": "\u{f3e5}", + "mail-reply": "\u{f3e5}", + "reply-all": "\u{f122}", + "mail-reply-all": "\u{f122}", + "reply-clock": "\u{e239}", + "reply-time": "\u{e239}", + "replyd": "\u{f3e6}", + "republican": "\u{f75e}", + "researchgate": "\u{f4f8}", + "resolving": "\u{f3e7}", + "restroom": "\u{f7bd}", + "restroom-simple": "\u{e23a}", + "retweet": "\u{f079}", + "rev": "\u{f5b2}", + "rhombus": "\u{e23b}", + "ribbon": "\u{f4d6}", + "right": "\u{f356}", + "arrow-alt-right": "\u{f356}", + "right-from-bracket": "\u{f2f5}", + "sign-out-alt": "\u{f2f5}", + "right-from-line": "\u{f347}", + "arrow-alt-from-left": "\u{f347}", + "right-left": "\u{f362}", + "exchange-alt": "\u{f362}", + "right-left-large": "\u{e5e1}", + "right-long": "\u{f30b}", + "long-arrow-alt-right": "\u{f30b}", + "right-long-to-line": "\u{e444}", + "right-to-bracket": "\u{f2f6}", + "sign-in-alt": "\u{f2f6}", + "right-to-line": "\u{f34c}", + "arrow-alt-to-right": "\u{f34c}", + "ring": "\u{f70b}", + "ring-diamond": "\u{e5ab}", + "rings-wedding": "\u{f81b}", + "road": "\u{f018}", + "road-barrier": "\u{e562}", + "road-bridge": "\u{e563}", + "road-circle-check": "\u{e564}", + "road-circle-exclamation": "\u{e565}", + "road-circle-xmark": "\u{e566}", + "road-lock": "\u{e567}", + "road-spikes": "\u{e568}", + "robot": "\u{f544}", + "robot-astromech": "\u{e2d2}", + "rocket": "\u{f135}", + "rocketchat": "\u{f3e8}", + "rocket-launch": "\u{e027}", + "rockrms": "\u{f3e9}", + "roller-coaster": "\u{e324}", + "rotate": "\u{f2f1}", + "sync-alt": "\u{f2f1}", + "rotate-exclamation": "\u{e23c}", + "rotate-left": "\u{f2ea}", + "rotate-back": "\u{f2ea}", + "rotate-backward": "\u{f2ea}", + "undo-alt": "\u{f2ea}", + "rotate-reverse": "\u{e631}", + "rotate-right": "\u{f2f9}", + "redo-alt": "\u{f2f9}", + "rotate-forward": "\u{f2f9}", + "route": "\u{f4d7}", + "route-highway": "\u{f61a}", + "route-interstate": "\u{f61b}", + "router": "\u{f8da}", + "r-project": "\u{f4f7}", + "rss": "\u{f09e}", + "feed": "\u{f09e}", + "ruble-sign": "\u{f158}", + "rouble": "\u{f158}", + "rub": "\u{f158}", + "ruble": "\u{f158}", + "rug": "\u{e569}", + "rugby-ball": "\u{e3c6}", + "ruler": "\u{f545}", + "ruler-combined": "\u{f546}", + "ruler-horizontal": "\u{f547}", + "ruler-triangle": "\u{f61c}", + "ruler-vertical": "\u{f548}", + "rupee-sign": "\u{f156}", + "rupee": "\u{f156}", + "rupiah-sign": "\u{e23d}", + "rust": "\u{e07a}", + "rv": "\u{f7be}", + "s": "\u{53}", + "sack": "\u{f81c}", + "sack-dollar": "\u{f81d}", + "sack-xmark": "\u{e56a}", + "safari": "\u{f267}", + "sailboat": "\u{e445}", + "salad": "\u{f81e}", + "bowl-salad": "\u{f81e}", + "salesforce": "\u{f83b}", + "salt-shaker": "\u{e446}", + "sandwich": "\u{f81f}", + "sass": "\u{f41e}", + "satellite": "\u{f7bf}", + "satellite-dish": "\u{f7c0}", + "sausage": "\u{f820}", + "saxophone": "\u{f8dc}", + "saxophone-fire": "\u{f8db}", + "sax-hot": "\u{f8db}", + "scale-balanced": "\u{f24e}", + "balance-scale": "\u{f24e}", + "scale-unbalanced": "\u{f515}", + "balance-scale-left": "\u{f515}", + "scale-unbalanced-flip": "\u{f516}", + "balance-scale-right": "\u{f516}", + "scalpel": "\u{f61d}", + "scalpel-line-dashed": "\u{f61e}", + "scalpel-path": "\u{f61e}", + "scanner-gun": "\u{f488}", + "scanner": "\u{f488}", + "scanner-image": "\u{f8f3}", + "scanner-keyboard": "\u{f489}", + "scanner-touchscreen": "\u{f48a}", + "scarecrow": "\u{f70d}", + "scarf": "\u{f7c1}", + "schlix": "\u{f3ea}", + "school": "\u{f549}", + "school-circle-check": "\u{e56b}", + "school-circle-exclamation": "\u{e56c}", + "school-circle-xmark": "\u{e56d}", + "school-flag": "\u{e56e}", + "school-lock": "\u{e56f}", + "scissors": "\u{f0c4}", + "cut": "\u{f0c4}", + "screencast": "\u{e23e}", + "screenpal": "\u{e570}", + "screen-users": "\u{f63d}", + "users-class": "\u{f63d}", + "screwdriver": "\u{f54a}", + "screwdriver-wrench": "\u{f7d9}", + "tools": "\u{f7d9}", + "scribble": "\u{e23f}", + "scribd": "\u{f28a}", + "scroll": "\u{f70e}", + "scroll-old": "\u{f70f}", + "scroll-torah": "\u{f6a0}", + "torah": "\u{f6a0}", + "scrubber": "\u{f2f8}", + "scythe": "\u{f710}", + "sd-card": "\u{f7c2}", + "sd-cards": "\u{e240}", + "seal": "\u{e241}", + "seal-exclamation": "\u{e242}", + "seal-question": "\u{e243}", + "searchengin": "\u{f3eb}", + "seat-airline": "\u{e244}", + "section": "\u{e447}", + "seedling": "\u{f4d8}", + "sprout": "\u{f4d8}", + "sellcast": "\u{f2da}", + "sellsy": "\u{f213}", + "semicolon": "\u{3b}", + "send-back": "\u{f87e}", + "send-backward": "\u{f87f}", + "sensor": "\u{e028}", + "sensor-cloud": "\u{e02c}", + "sensor-smoke": "\u{e02c}", + "sensor-fire": "\u{e02a}", + "sensor-on": "\u{e02b}", + "sensor-triangle-exclamation": "\u{e029}", + "sensor-alert": "\u{e029}", + "server": "\u{f233}", + "servicestack": "\u{f3ec}", + "shapes": "\u{f61f}", + "triangle-circle-square": "\u{f61f}", + "share": "\u{f064}", + "mail-forward": "\u{f064}", + "share-all": "\u{f367}", + "share-from-square": "\u{f14d}", + "share-square": "\u{f14d}", + "share-nodes": "\u{f1e0}", + "share-alt": "\u{f1e0}", + "sheep": "\u{f711}", + "sheet-plastic": "\u{e571}", + "shekel-sign": "\u{f20b}", + "ils": "\u{f20b}", + "shekel": "\u{f20b}", + "sheqel": "\u{f20b}", + "sheqel-sign": "\u{f20b}", + "shelves": "\u{f480}", + "inventory": "\u{f480}", + "shelves-empty": "\u{e246}", + "shield": "\u{f132}", + "shield-blank": "\u{f132}", + "shield-cat": "\u{e572}", + "shield-check": "\u{f2f7}", + "shield-cross": "\u{f712}", + "shield-dog": "\u{e573}", + "shield-exclamation": "\u{e247}", + "shield-halved": "\u{f3ed}", + "shield-alt": "\u{f3ed}", + "shield-heart": "\u{e574}", + "shield-keyhole": "\u{e248}", + "shield-minus": "\u{e249}", + "shield-plus": "\u{e24a}", + "shield-quartered": "\u{e575}", + "shield-slash": "\u{e24b}", + "shield-virus": "\u{e06c}", + "shield-xmark": "\u{e24c}", + "shield-times": "\u{e24c}", + "ship": "\u{f21a}", + "shirt": "\u{f553}", + "t-shirt": "\u{f553}", + "tshirt": "\u{f553}", + "shirt-long-sleeve": "\u{e3c7}", + "shirt-running": "\u{e3c8}", + "shirtsinbulk": "\u{f214}", + "shirt-tank-top": "\u{e3c9}", + "shish-kebab": "\u{f821}", + "shoelace": "\u{e60c}", + "shoe-prints": "\u{f54b}", + "shop": "\u{f54f}", + "store-alt": "\u{f54f}", + "shopify": "\u{e057}", + "shop-lock": "\u{e4a5}", + "shop-slash": "\u{e070}", + "store-alt-slash": "\u{e070}", + "shopware": "\u{f5b5}", + "shovel": "\u{f713}", + "shovel-snow": "\u{f7c3}", + "shower": "\u{f2cc}", + "shower-down": "\u{e24d}", + "shower-alt": "\u{e24d}", + "shredder": "\u{f68a}", + "shrimp": "\u{e448}", + "shuffle": "\u{f074}", + "random": "\u{f074}", + "shutters": "\u{e449}", + "shuttlecock": "\u{f45b}", + "shuttle-space": "\u{f197}", + "space-shuttle": "\u{f197}", + "sickle": "\u{f822}", + "sidebar": "\u{e24e}", + "sidebar-flip": "\u{e24f}", + "sigma": "\u{f68b}", + "signal": "\u{f012}", + "signal-5": "\u{f012}", + "signal-perfect": "\u{f012}", + "signal-bars": "\u{f690}", + "signal-alt": "\u{f690}", + "signal-alt-4": "\u{f690}", + "signal-bars-strong": "\u{f690}", + "signal-bars-fair": "\u{f692}", + "signal-alt-2": "\u{f692}", + "signal-bars-good": "\u{f693}", + "signal-alt-3": "\u{f693}", + "signal-bars-slash": "\u{f694}", + "signal-alt-slash": "\u{f694}", + "signal-bars-weak": "\u{f691}", + "signal-alt-1": "\u{f691}", + "signal-fair": "\u{f68d}", + "signal-2": "\u{f68d}", + "signal-good": "\u{f68e}", + "signal-3": "\u{f68e}", + "signal-messenger": "\u{e663}", + "signal-slash": "\u{f695}", + "signal-stream": "\u{f8dd}", + "signal-stream-slash": "\u{e250}", + "signal-strong": "\u{f68f}", + "signal-4": "\u{f68f}", + "signal-weak": "\u{f68c}", + "signal-1": "\u{f68c}", + "signature": "\u{f5b7}", + "signature-lock": "\u{e3ca}", + "signature-slash": "\u{e3cb}", + "sign-hanging": "\u{f4d9}", + "sign": "\u{f4d9}", + "sign-post": "\u{e624}", + "sign-posts": "\u{e625}", + "sign-posts-wrench": "\u{e626}", + "signs-post": "\u{f277}", + "map-signs": "\u{f277}", + "sim-card": "\u{f7c4}", + "sim-cards": "\u{e251}", + "simplybuilt": "\u{f215}", + "sink": "\u{e06d}", + "siren": "\u{e02d}", + "siren-on": "\u{e02e}", + "sistrix": "\u{f3ee}", + "sitemap": "\u{f0e8}", + "sith": "\u{f512}", + "sitrox": "\u{e44a}", + "skeleton": "\u{f620}", + "skeleton-ribs": "\u{e5cb}", + "sketch": "\u{f7c6}", + "ski-boot": "\u{e3cc}", + "ski-boot-ski": "\u{e3cd}", + "skull": "\u{f54c}", + "skull-cow": "\u{f8de}", + "skull-crossbones": "\u{f714}", + "skyatlas": "\u{f216}", + "skype": "\u{f17e}", + "slack": "\u{f198}", + "slack-hash": "\u{f198}", + "slash": "\u{f715}", + "slash-back": "\u{5c}", + "slash-forward": "\u{2f}", + "sleigh": "\u{f7cc}", + "slider": "\u{e252}", + "sliders": "\u{f1de}", + "sliders-h": "\u{f1de}", + "sliders-simple": "\u{e253}", + "sliders-up": "\u{f3f1}", + "sliders-v": "\u{f3f1}", + "slideshare": "\u{f1e7}", + "slot-machine": "\u{e3ce}", + "smog": "\u{f75f}", + "smoke": "\u{f760}", + "smoking": "\u{f48d}", + "snake": "\u{f716}", + "snapchat": "\u{f2ab}", + "snapchat-ghost": "\u{f2ab}", + "snooze": "\u{f880}", + "zzz": "\u{f880}", + "snow-blowing": "\u{f761}", + "snowflake": "\u{f2dc}", + "snowflake-droplets": "\u{e5c1}", + "snowflakes": "\u{f7cf}", + "snowman": "\u{f7d0}", + "snowman-head": "\u{f79b}", + "frosty-head": "\u{f79b}", + "snowplow": "\u{f7d2}", + "soap": "\u{e06e}", + "socks": "\u{f696}", + "soft-serve": "\u{e400}", + "creemee": "\u{e400}", + "solar-panel": "\u{f5ba}", + "solar-system": "\u{e02f}", + "sort": "\u{f0dc}", + "unsorted": "\u{f0dc}", + "sort-down": "\u{f0dd}", + "sort-desc": "\u{f0dd}", + "sort-up": "\u{f0de}", + "sort-asc": "\u{f0de}", + "soundcloud": "\u{f1be}", + "sourcetree": "\u{f7d3}", + "spa": "\u{f5bb}", + "space-awesome": "\u{e5ac}", + "space-station-moon": "\u{e033}", + "space-station-moon-construction": "\u{e034}", + "space-station-moon-alt": "\u{e034}", + "spade": "\u{f2f4}", + "spaghetti-monster-flying": "\u{f67b}", + "pastafarianism": "\u{f67b}", + "sparkle": "\u{e5d6}", + "sparkles": "\u{f890}", + "speakap": "\u{f3f3}", + "speaker": "\u{f8df}", + "speaker-deck": "\u{f83c}", + "speakers": "\u{f8e0}", + "spell-check": "\u{f891}", + "spider": "\u{f717}", + "spider-black-widow": "\u{f718}", + "spider-web": "\u{f719}", + "spinner": "\u{f110}", + "spinner-scale": "\u{e62a}", + "spinner-third": "\u{f3f4}", + "split": "\u{e254}", + "splotch": "\u{f5bc}", + "spoon": "\u{f2e5}", + "utensil-spoon": "\u{f2e5}", + "sportsball": "\u{e44b}", + "spotify": "\u{f1bc}", + "spray-can": "\u{f5bd}", + "spray-can-sparkles": "\u{f5d0}", + "air-freshener": "\u{f5d0}", + "sprinkler": "\u{e035}", + "sprinkler-ceiling": "\u{e44c}", + "square": "\u{f0c8}", + "square-0": "\u{e255}", + "square-1": "\u{e256}", + "square-2": "\u{e257}", + "square-3": "\u{e258}", + "square-4": "\u{e259}", + "square-5": "\u{e25a}", + "square-6": "\u{e25b}", + "square-7": "\u{e25c}", + "square-8": "\u{e25d}", + "square-9": "\u{e25e}", + "square-a": "\u{e25f}", + "square-a-lock": "\u{e44d}", + "square-ampersand": "\u{e260}", + "square-arrow-down": "\u{f339}", + "arrow-square-down": "\u{f339}", + "square-arrow-down-left": "\u{e261}", + "square-arrow-down-right": "\u{e262}", + "square-arrow-left": "\u{f33a}", + "arrow-square-left": "\u{f33a}", + "square-arrow-right": "\u{f33b}", + "arrow-square-right": "\u{f33b}", + "square-arrow-up": "\u{f33c}", + "arrow-square-up": "\u{f33c}", + "square-arrow-up-left": "\u{e263}", + "square-arrow-up-right": "\u{f14c}", + "external-link-square": "\u{f14c}", + "square-b": "\u{e264}", + "square-behance": "\u{f1b5}", + "behance-square": "\u{f1b5}", + "square-bolt": "\u{e265}", + "square-c": "\u{e266}", + "square-caret-down": "\u{f150}", + "caret-square-down": "\u{f150}", + "square-caret-left": "\u{f191}", + "caret-square-left": "\u{f191}", + "square-caret-right": "\u{f152}", + "caret-square-right": "\u{f152}", + "square-caret-up": "\u{f151}", + "caret-square-up": "\u{f151}", + "square-check": "\u{f14a}", + "check-square": "\u{f14a}", + "square-chevron-down": "\u{f329}", + "chevron-square-down": "\u{f329}", + "square-chevron-left": "\u{f32a}", + "chevron-square-left": "\u{f32a}", + "square-chevron-right": "\u{f32b}", + "chevron-square-right": "\u{f32b}", + "square-chevron-up": "\u{f32c}", + "chevron-square-up": "\u{f32c}", + "square-code": "\u{e267}", + "square-d": "\u{e268}", + "square-dashed": "\u{e269}", + "square-dashed-circle-plus": "\u{e5c2}", + "square-divide": "\u{e26a}", + "square-dollar": "\u{f2e9}", + "dollar-square": "\u{f2e9}", + "usd-square": "\u{f2e9}", + "square-down": "\u{f350}", + "arrow-alt-square-down": "\u{f350}", + "square-down-left": "\u{e26b}", + "square-down-right": "\u{e26c}", + "square-dribbble": "\u{f397}", + "dribbble-square": "\u{f397}", + "square-e": "\u{e26d}", + "square-ellipsis": "\u{e26e}", + "square-ellipsis-vertical": "\u{e26f}", + "square-envelope": "\u{f199}", + "envelope-square": "\u{f199}", + "square-exclamation": "\u{f321}", + "exclamation-square": "\u{f321}", + "square-f": "\u{e270}", + "square-facebook": "\u{f082}", + "facebook-square": "\u{f082}", + "square-font-awesome": "\u{e5ad}", + "square-font-awesome-stroke": "\u{f35c}", + "font-awesome-alt": "\u{f35c}", + "square-fragile": "\u{f49b}", + "box-fragile": "\u{f49b}", + "square-wine-glass-crack": "\u{f49b}", + "square-full": "\u{f45c}", + "square-g": "\u{e271}", + "square-git": "\u{f1d2}", + "git-square": "\u{f1d2}", + "square-github": "\u{f092}", + "github-square": "\u{f092}", + "square-gitlab": "\u{e5ae}", + "gitlab-square": "\u{e5ae}", + "square-google-plus": "\u{f0d4}", + "google-plus-square": "\u{f0d4}", + "square-h": "\u{f0fd}", + "h-square": "\u{f0fd}", + "square-hacker-news": "\u{f3af}", + "hacker-news-square": "\u{f3af}", + "square-heart": "\u{f4c8}", + "heart-square": "\u{f4c8}", + "square-i": "\u{e272}", + "square-info": "\u{f30f}", + "info-square": "\u{f30f}", + "square-instagram": "\u{e055}", + "instagram-square": "\u{e055}", + "square-j": "\u{e273}", + "square-js": "\u{f3b9}", + "js-square": "\u{f3b9}", + "square-k": "\u{e274}", + "square-kanban": "\u{e488}", + "square-l": "\u{e275}", + "square-lastfm": "\u{f203}", + "lastfm-square": "\u{f203}", + "square-left": "\u{f351}", + "arrow-alt-square-left": "\u{f351}", + "square-letterboxd": "\u{e62e}", + "square-list": "\u{e489}", + "square-m": "\u{e276}", + "square-minus": "\u{f146}", + "minus-square": "\u{f146}", + "square-n": "\u{e277}", + "square-nfi": "\u{e576}", + "square-o": "\u{e278}", + "square-odnoklassniki": "\u{f264}", + "odnoklassniki-square": "\u{f264}", + "square-p": "\u{e279}", + "square-parking": "\u{f540}", + "parking": "\u{f540}", + "square-parking-slash": "\u{f617}", + "parking-slash": "\u{f617}", + "square-pen": "\u{f14b}", + "pen-square": "\u{f14b}", + "pencil-square": "\u{f14b}", + "square-person-confined": "\u{e577}", + "square-phone": "\u{f098}", + "phone-square": "\u{f098}", + "square-phone-flip": "\u{f87b}", + "phone-square-alt": "\u{f87b}", + "square-phone-hangup": "\u{e27a}", + "phone-square-down": "\u{e27a}", + "square-pied-piper": "\u{e01e}", + "pied-piper-square": "\u{e01e}", + "square-pinterest": "\u{f0d3}", + "pinterest-square": "\u{f0d3}", + "square-plus": "\u{f0fe}", + "plus-square": "\u{f0fe}", + "square-poll-horizontal": "\u{f682}", + "poll-h": "\u{f682}", + "square-poll-vertical": "\u{f681}", + "poll": "\u{f681}", + "square-q": "\u{e27b}", + "square-quarters": "\u{e44e}", + "square-question": "\u{f2fd}", + "question-square": "\u{f2fd}", + "square-quote": "\u{e329}", + "square-r": "\u{e27c}", + "square-reddit": "\u{f1a2}", + "reddit-square": "\u{f1a2}", + "square-right": "\u{f352}", + "arrow-alt-square-right": "\u{f352}", + "square-ring": "\u{e44f}", + "square-root": "\u{f697}", + "square-root-variable": "\u{f698}", + "square-root-alt": "\u{f698}", + "square-rss": "\u{f143}", + "rss-square": "\u{f143}", + "square-s": "\u{e27d}", + "square-share-nodes": "\u{f1e1}", + "share-alt-square": "\u{f1e1}", + "square-sliders": "\u{f3f0}", + "sliders-h-square": "\u{f3f0}", + "square-sliders-vertical": "\u{f3f2}", + "sliders-v-square": "\u{f3f2}", + "square-small": "\u{e27e}", + "square-snapchat": "\u{f2ad}", + "snapchat-square": "\u{f2ad}", + "squarespace": "\u{f5be}", + "square-star": "\u{e27f}", + "square-steam": "\u{f1b7}", + "steam-square": "\u{f1b7}", + "square-t": "\u{e280}", + "square-terminal": "\u{e32a}", + "square-this-way-up": "\u{f49f}", + "box-up": "\u{f49f}", + "square-threads": "\u{e619}", + "square-tumblr": "\u{f174}", + "tumblr-square": "\u{f174}", + "square-twitter": "\u{f081}", + "twitter-square": "\u{f081}", + "square-u": "\u{e281}", + "square-up": "\u{f353}", + "arrow-alt-square-up": "\u{f353}", + "square-up-left": "\u{e282}", + "square-up-right": "\u{f360}", + "external-link-square-alt": "\u{f360}", + "square-upwork": "\u{e67c}", + "square-user": "\u{e283}", + "square-v": "\u{e284}", + "square-viadeo": "\u{f2aa}", + "viadeo-square": "\u{f2aa}", + "square-vimeo": "\u{f194}", + "vimeo-square": "\u{f194}", + "square-virus": "\u{e578}", + "square-w": "\u{e285}", + "square-web-awesome": "\u{e683}", + "square-web-awesome-stroke": "\u{e684}", + "square-whatsapp": "\u{f40c}", + "whatsapp-square": "\u{f40c}", + "square-x": "\u{e286}", + "square-xing": "\u{f169}", + "xing-square": "\u{f169}", + "square-xmark": "\u{f2d3}", + "times-square": "\u{f2d3}", + "xmark-square": "\u{f2d3}", + "square-x-twitter": "\u{e61a}", + "square-y": "\u{e287}", + "square-youtube": "\u{f431}", + "youtube-square": "\u{f431}", + "square-z": "\u{e288}", + "squid": "\u{e450}", + "squirrel": "\u{f71a}", + "stack-exchange": "\u{f18d}", + "stack-overflow": "\u{f16c}", + "stackpath": "\u{f842}", + "staff": "\u{f71b}", + "staff-snake": "\u{e579}", + "rod-asclepius": "\u{e579}", + "rod-snake": "\u{e579}", + "staff-aesculapius": "\u{e579}", + "stairs": "\u{e289}", + "stamp": "\u{f5bf}", + "standard-definition": "\u{e28a}", + "rectangle-sd": "\u{e28a}", + "stapler": "\u{e5af}", + "star": "\u{f005}", + "star-and-crescent": "\u{f699}", + "star-christmas": "\u{f7d4}", + "star-exclamation": "\u{f2f3}", + "starfighter": "\u{e037}", + "starfighter-twin-ion-engine": "\u{e038}", + "starfighter-alt": "\u{e038}", + "starfighter-twin-ion-engine-advanced": "\u{e28e}", + "starfighter-alt-advanced": "\u{e28e}", + "star-half": "\u{f089}", + "star-half-stroke": "\u{f5c0}", + "star-half-alt": "\u{f5c0}", + "star-of-david": "\u{f69a}", + "star-of-life": "\u{f621}", + "stars": "\u{f762}", + "star-sharp": "\u{e28b}", + "star-sharp-half": "\u{e28c}", + "star-sharp-half-stroke": "\u{e28d}", + "star-sharp-half-alt": "\u{e28d}", + "starship": "\u{e039}", + "starship-freighter": "\u{e03a}", + "star-shooting": "\u{e036}", + "staylinked": "\u{f3f5}", + "steak": "\u{f824}", + "steam": "\u{f1b6}", + "steam-symbol": "\u{f3f6}", + "steering-wheel": "\u{f622}", + "sterling-sign": "\u{f154}", + "gbp": "\u{f154}", + "pound-sign": "\u{f154}", + "stethoscope": "\u{f0f1}", + "sticker-mule": "\u{f3f7}", + "stocking": "\u{f7d5}", + "stomach": "\u{f623}", + "stop": "\u{f04d}", + "stopwatch": "\u{f2f2}", + "stopwatch-20": "\u{e06f}", + "store": "\u{f54e}", + "store-lock": "\u{e4a6}", + "store-slash": "\u{e071}", + "strava": "\u{f428}", + "strawberry": "\u{e32b}", + "street-view": "\u{f21d}", + "stretcher": "\u{f825}", + "strikethrough": "\u{f0cc}", + "stripe": "\u{f429}", + "stripe-s": "\u{f42a}", + "stroopwafel": "\u{f551}", + "stubber": "\u{e5c7}", + "studiovinari": "\u{f3f8}", + "stumbleupon": "\u{f1a4}", + "stumbleupon-circle": "\u{f1a3}", + "subscript": "\u{f12c}", + "subtitles": "\u{e60f}", + "subtitles-slash": "\u{e610}", + "suitcase": "\u{f0f2}", + "suitcase-medical": "\u{f0fa}", + "medkit": "\u{f0fa}", + "suitcase-rolling": "\u{f5c1}", + "sun": "\u{f185}", + "sun-bright": "\u{e28f}", + "sun-alt": "\u{e28f}", + "sun-cloud": "\u{f763}", + "sun-dust": "\u{f764}", + "sunglasses": "\u{f892}", + "sun-haze": "\u{f765}", + "sun-plant-wilt": "\u{e57a}", + "sunrise": "\u{f766}", + "sunset": "\u{f767}", + "superpowers": "\u{f2dd}", + "superscript": "\u{f12b}", + "supple": "\u{f3f9}", + "suse": "\u{f7d6}", + "sushi": "\u{e48a}", + "nigiri": "\u{e48a}", + "sushi-roll": "\u{e48b}", + "maki-roll": "\u{e48b}", + "makizushi": "\u{e48b}", + "swap": "\u{e609}", + "swap-arrows": "\u{e60a}", + "swatchbook": "\u{f5c3}", + "swift": "\u{f8e1}", + "sword": "\u{f71c}", + "sword-laser": "\u{e03b}", + "sword-laser-alt": "\u{e03c}", + "swords": "\u{f71d}", + "swords-laser": "\u{e03d}", + "symbols": "\u{f86e}", + "icons-alt": "\u{f86e}", + "symfony": "\u{f83d}", + "synagogue": "\u{f69b}", + "syringe": "\u{f48e}", + "t": "\u{54}", + "table": "\u{f0ce}", + "table-cells": "\u{f00a}", + "th": "\u{f00a}", + "table-cells-column-lock": "\u{e678}", + "table-cells-column-unlock": "\u{e690}", + "table-cells-large": "\u{f009}", + "th-large": "\u{f009}", + "table-cells-lock": "\u{e679}", + "table-cells-row-lock": "\u{e67a}", + "table-cells-row-unlock": "\u{e691}", + "table-cells-unlock": "\u{e692}", + "table-columns": "\u{f0db}", + "columns": "\u{f0db}", + "table-layout": "\u{e290}", + "table-list": "\u{f00b}", + "th-list": "\u{f00b}", + "table-picnic": "\u{e32d}", + "table-pivot": "\u{e291}", + "table-rows": "\u{e292}", + "rows": "\u{e292}", + "tablet": "\u{f3fb}", + "tablet-android": "\u{f3fb}", + "tablet-button": "\u{f10a}", + "table-tennis-paddle-ball": "\u{f45d}", + "ping-pong-paddle-ball": "\u{f45d}", + "table-tennis": "\u{f45d}", + "table-tree": "\u{e293}", + "tablet-rugged": "\u{f48f}", + "tablets": "\u{f490}", + "tablet-screen": "\u{f3fc}", + "tablet-android-alt": "\u{f3fc}", + "tablet-screen-button": "\u{f3fa}", + "tablet-alt": "\u{f3fa}", + "tachograph-digital": "\u{f566}", + "digital-tachograph": "\u{f566}", + "taco": "\u{f826}", + "tag": "\u{f02b}", + "tags": "\u{f02c}", + "tally": "\u{f69c}", + "tally-5": "\u{f69c}", + "tally-1": "\u{e294}", + "tally-2": "\u{e295}", + "tally-3": "\u{e296}", + "tally-4": "\u{e297}", + "tamale": "\u{e451}", + "tank-water": "\u{e452}", + "tape": "\u{f4db}", + "tarp": "\u{e57b}", + "tarp-droplet": "\u{e57c}", + "taxi": "\u{f1ba}", + "cab": "\u{f1ba}", + "taxi-bus": "\u{e298}", + "teamspeak": "\u{f4f9}", + "teddy-bear": "\u{e3cf}", + "teeth": "\u{f62e}", + "teeth-open": "\u{f62f}", + "telegram": "\u{f2c6}", + "telegram-plane": "\u{f2c6}", + "telescope": "\u{e03e}", + "temperature-arrow-down": "\u{e03f}", + "temperature-down": "\u{e03f}", + "temperature-arrow-up": "\u{e040}", + "temperature-up": "\u{e040}", + "temperature-empty": "\u{f2cb}", + "temperature-0": "\u{f2cb}", + "thermometer-0": "\u{f2cb}", + "thermometer-empty": "\u{f2cb}", + "temperature-full": "\u{f2c7}", + "temperature-4": "\u{f2c7}", + "thermometer-4": "\u{f2c7}", + "thermometer-full": "\u{f2c7}", + "temperature-half": "\u{f2c9}", + "temperature-2": "\u{f2c9}", + "thermometer-2": "\u{f2c9}", + "thermometer-half": "\u{f2c9}", + "temperature-high": "\u{f769}", + "temperature-list": "\u{e299}", + "temperature-low": "\u{f76b}", + "temperature-quarter": "\u{f2ca}", + "temperature-1": "\u{f2ca}", + "thermometer-1": "\u{f2ca}", + "thermometer-quarter": "\u{f2ca}", + "temperature-snow": "\u{f768}", + "temperature-frigid": "\u{f768}", + "temperature-sun": "\u{f76a}", + "temperature-hot": "\u{f76a}", + "temperature-three-quarters": "\u{f2c8}", + "temperature-3": "\u{f2c8}", + "thermometer-3": "\u{f2c8}", + "thermometer-three-quarters": "\u{f2c8}", + "tencent-weibo": "\u{f1d5}", + "tenge-sign": "\u{f7d7}", + "tenge": "\u{f7d7}", + "tennis-ball": "\u{f45e}", + "tent": "\u{e57d}", + "tent-arrow-down-to-line": "\u{e57e}", + "tent-arrow-left-right": "\u{e57f}", + "tent-arrows-down": "\u{e581}", + "tent-arrow-turn-left": "\u{e580}", + "tent-double-peak": "\u{e627}", + "tents": "\u{e582}", + "terminal": "\u{f120}", + "text": "\u{f893}", + "text-height": "\u{f034}", + "text-size": "\u{f894}", + "text-slash": "\u{f87d}", + "remove-format": "\u{f87d}", + "text-width": "\u{f035}", + "themeco": "\u{f5c6}", + "themeisle": "\u{f2b2}", + "the-red-yeti": "\u{f69d}", + "thermometer": "\u{f491}", + "theta": "\u{f69e}", + "think-peaks": "\u{f731}", + "thought-bubble": "\u{e32e}", + "threads": "\u{e618}", + "thumbs-down": "\u{f165}", + "thumbs-up": "\u{f164}", + "thumbtack": "\u{f08d}", + "thumb-tack": "\u{f08d}", + "thumbtack-slash": "\u{e68f}", + "thumb-tack-slash": "\u{e68f}", + "tick": "\u{e32f}", + "ticket": "\u{f145}", + "ticket-airline": "\u{e29a}", + "ticket-perforated-plane": "\u{e29a}", + "ticket-plane": "\u{e29a}", + "ticket-perforated": "\u{e63e}", + "tickets": "\u{e658}", + "tickets-airline": "\u{e29b}", + "tickets-perforated-plane": "\u{e29b}", + "tickets-plane": "\u{e29b}", + "ticket-simple": "\u{f3ff}", + "ticket-alt": "\u{f3ff}", + "tickets-perforated": "\u{e63f}", + "tickets-simple": "\u{e659}", + "tiktok": "\u{e07b}", + "tilde": "\u{7e}", + "timeline": "\u{e29c}", + "timeline-arrow": "\u{e29d}", + "timer": "\u{e29e}", + "tire": "\u{f631}", + "tire-flat": "\u{f632}", + "tire-pressure-warning": "\u{f633}", + "tire-rugged": "\u{f634}", + "toggle-large-off": "\u{e5b0}", + "toggle-large-on": "\u{e5b1}", + "toggle-off": "\u{f204}", + "toggle-on": "\u{f205}", + "toilet": "\u{f7d8}", + "toilet-paper": "\u{f71e}", + "toilet-paper-blank": "\u{f71f}", + "toilet-paper-alt": "\u{f71f}", + "toilet-paper-blank-under": "\u{e29f}", + "toilet-paper-reverse-alt": "\u{e29f}", + "toilet-paper-check": "\u{e5b2}", + "toilet-paper-slash": "\u{e072}", + "toilet-paper-under": "\u{e2a0}", + "toilet-paper-reverse": "\u{e2a0}", + "toilet-paper-under-slash": "\u{e2a1}", + "toilet-paper-reverse-slash": "\u{e2a1}", + "toilet-paper-xmark": "\u{e5b3}", + "toilet-portable": "\u{e583}", + "toilets-portable": "\u{e584}", + "tomato": "\u{e330}", + "tombstone": "\u{f720}", + "tombstone-blank": "\u{f721}", + "tombstone-alt": "\u{f721}", + "toolbox": "\u{f552}", + "tooth": "\u{f5c9}", + "toothbrush": "\u{f635}", + "torii-gate": "\u{f6a1}", + "tornado": "\u{f76f}", + "tower-broadcast": "\u{f519}", + "broadcast-tower": "\u{f519}", + "tower-cell": "\u{e585}", + "tower-control": "\u{e2a2}", + "tower-observation": "\u{e586}", + "tractor": "\u{f722}", + "trade-federation": "\u{f513}", + "trademark": "\u{f25c}", + "traffic-cone": "\u{f636}", + "traffic-light": "\u{f637}", + "traffic-light-go": "\u{f638}", + "traffic-light-slow": "\u{f639}", + "traffic-light-stop": "\u{f63a}", + "trailer": "\u{e041}", + "train": "\u{f238}", + "train-subway": "\u{f239}", + "subway": "\u{f239}", + "train-subway-tunnel": "\u{e2a3}", + "subway-tunnel": "\u{e2a3}", + "train-track": "\u{e453}", + "train-tram": "\u{e5b4}", + "train-tunnel": "\u{e454}", + "transformer-bolt": "\u{e2a4}", + "transgender": "\u{f225}", + "transgender-alt": "\u{f225}", + "transporter": "\u{e042}", + "transporter-1": "\u{e043}", + "transporter-2": "\u{e044}", + "transporter-3": "\u{e045}", + "transporter-4": "\u{e2a5}", + "transporter-5": "\u{e2a6}", + "transporter-6": "\u{e2a7}", + "transporter-7": "\u{e2a8}", + "transporter-empty": "\u{e046}", + "trash": "\u{f1f8}", + "trash-arrow-up": "\u{f829}", + "trash-restore": "\u{f829}", + "trash-can": "\u{f2ed}", + "trash-alt": "\u{f2ed}", + "trash-can-arrow-up": "\u{f82a}", + "trash-restore-alt": "\u{f82a}", + "trash-can-check": "\u{e2a9}", + "trash-can-clock": "\u{e2aa}", + "trash-can-list": "\u{e2ab}", + "trash-can-plus": "\u{e2ac}", + "trash-can-slash": "\u{e2ad}", + "trash-alt-slash": "\u{e2ad}", + "trash-can-undo": "\u{f896}", + "trash-can-arrow-turn-left": "\u{f896}", + "trash-undo-alt": "\u{f896}", + "trash-can-xmark": "\u{e2ae}", + "trash-check": "\u{e2af}", + "trash-clock": "\u{e2b0}", + "trash-list": "\u{e2b1}", + "trash-plus": "\u{e2b2}", + "trash-slash": "\u{e2b3}", + "trash-undo": "\u{f895}", + "trash-arrow-turn-left": "\u{f895}", + "trash-xmark": "\u{e2b4}", + "treasure-chest": "\u{f723}", + "tree": "\u{f1bb}", + "tree-christmas": "\u{f7db}", + "tree-city": "\u{e587}", + "tree-deciduous": "\u{f400}", + "tree-alt": "\u{f400}", + "tree-decorated": "\u{f7dc}", + "tree-large": "\u{f7dd}", + "tree-palm": "\u{f82b}", + "trees": "\u{f724}", + "trello": "\u{f181}", + "t-rex": "\u{e629}", + "triangle": "\u{f2ec}", + "triangle-exclamation": "\u{f071}", + "exclamation-triangle": "\u{f071}", + "warning": "\u{f071}", + "triangle-instrument": "\u{f8e2}", + "triangle-music": "\u{f8e2}", + "triangle-person-digging": "\u{f85d}", + "construction": "\u{f85d}", + "tricycle": "\u{e5c3}", + "tricycle-adult": "\u{e5c4}", + "trillium": "\u{e588}", + "trophy": "\u{f091}", + "trophy-star": "\u{f2eb}", + "trophy-alt": "\u{f2eb}", + "trowel": "\u{e589}", + "trowel-bricks": "\u{e58a}", + "truck": "\u{f0d1}", + "truck-arrow-right": "\u{e58b}", + "truck-bolt": "\u{e3d0}", + "truck-clock": "\u{f48c}", + "shipping-timed": "\u{f48c}", + "truck-container": "\u{f4dc}", + "truck-container-empty": "\u{e2b5}", + "truck-droplet": "\u{e58c}", + "truck-fast": "\u{f48b}", + "shipping-fast": "\u{f48b}", + "truck-field": "\u{e58d}", + "truck-field-un": "\u{e58e}", + "truck-fire": "\u{e65a}", + "truck-flatbed": "\u{e2b6}", + "truck-front": "\u{e2b7}", + "truck-ladder": "\u{e657}", + "truck-medical": "\u{f0f9}", + "ambulance": "\u{f0f9}", + "truck-monster": "\u{f63b}", + "truck-moving": "\u{f4df}", + "truck-pickup": "\u{f63c}", + "truck-plane": "\u{e58f}", + "truck-plow": "\u{f7de}", + "truck-ramp": "\u{f4e0}", + "truck-ramp-box": "\u{f4de}", + "truck-loading": "\u{f4de}", + "truck-ramp-couch": "\u{f4dd}", + "truck-couch": "\u{f4dd}", + "truck-tow": "\u{e2b8}", + "truck-utensils": "\u{e628}", + "trumpet": "\u{f8e3}", + "tty": "\u{f1e4}", + "teletype": "\u{f1e4}", + "tty-answer": "\u{e2b9}", + "teletype-answer": "\u{e2b9}", + "tugrik-sign": "\u{e2ba}", + "tumblr": "\u{f173}", + "turkey": "\u{f725}", + "turkish-lira-sign": "\u{e2bb}", + "try": "\u{e2bb}", + "turkish-lira": "\u{e2bb}", + "turn-down": "\u{f3be}", + "level-down-alt": "\u{f3be}", + "turn-down-left": "\u{e331}", + "turn-down-right": "\u{e455}", + "turn-left": "\u{e636}", + "turn-left-down": "\u{e637}", + "turn-left-up": "\u{e638}", + "turn-right": "\u{e639}", + "turntable": "\u{f8e4}", + "turn-up": "\u{f3bf}", + "level-up-alt": "\u{f3bf}", + "turtle": "\u{f726}", + "tv": "\u{f26c}", + "television": "\u{f26c}", + "tv-alt": "\u{f26c}", + "tv-music": "\u{f8e6}", + "tv-retro": "\u{f401}", + "twitch": "\u{f1e8}", + "twitter": "\u{f099}", + "typewriter": "\u{f8e7}", + "typo3": "\u{f42b}", + "u": "\u{55}", + "uber": "\u{f402}", + "ubuntu": "\u{f7df}", + "ufo": "\u{e047}", + "ufo-beam": "\u{e048}", + "uikit": "\u{f403}", + "umbraco": "\u{f8e8}", + "umbrella": "\u{f0e9}", + "umbrella-beach": "\u{f5ca}", + "umbrella-simple": "\u{e2bc}", + "umbrella-alt": "\u{e2bc}", + "uncharted": "\u{e084}", + "underline": "\u{f0cd}", + "unicorn": "\u{f727}", + "uniform-martial-arts": "\u{e3d1}", + "union": "\u{f6a2}", + "uniregistry": "\u{f404}", + "unity": "\u{e049}", + "universal-access": "\u{f29a}", + "unlock": "\u{f09c}", + "unlock-keyhole": "\u{f13e}", + "unlock-alt": "\u{f13e}", + "unsplash": "\u{e07c}", + "untappd": "\u{f405}", + "up": "\u{f357}", + "arrow-alt-up": "\u{f357}", + "up-down": "\u{f338}", + "arrows-alt-v": "\u{f338}", + "up-down-left-right": "\u{f0b2}", + "arrows-alt": "\u{f0b2}", + "up-from-bracket": "\u{e590}", + "up-from-dotted-line": "\u{e456}", + "up-from-line": "\u{f346}", + "arrow-alt-from-bottom": "\u{f346}", + "up-left": "\u{e2bd}", + "upload": "\u{f093}", + "up-long": "\u{f30c}", + "long-arrow-alt-up": "\u{f30c}", + "up-right": "\u{e2be}", + "up-right-and-down-left-from-center": "\u{f424}", + "expand-alt": "\u{f424}", + "up-right-from-square": "\u{f35d}", + "external-link-alt": "\u{f35d}", + "ups": "\u{f7e0}", + "up-to-bracket": "\u{e66e}", + "up-to-dotted-line": "\u{e457}", + "up-to-line": "\u{f34d}", + "arrow-alt-to-top": "\u{f34d}", + "upwork": "\u{e641}", + "usb": "\u{f287}", + "usb-drive": "\u{f8e9}", + "user": "\u{f007}", + "user-alien": "\u{e04a}", + "user-astronaut": "\u{f4fb}", + "user-beard-bolt": "\u{e689}", + "user-bounty-hunter": "\u{e2bf}", + "user-check": "\u{f4fc}", + "user-chef": "\u{e3d2}", + "user-clock": "\u{f4fd}", + "user-cowboy": "\u{f8ea}", + "user-crown": "\u{f6a4}", + "user-doctor": "\u{f0f0}", + "user-md": "\u{f0f0}", + "user-doctor-hair": "\u{e458}", + "user-doctor-hair-long": "\u{e459}", + "user-doctor-message": "\u{f82e}", + "user-md-chat": "\u{f82e}", + "user-gear": "\u{f4fe}", + "user-cog": "\u{f4fe}", + "user-graduate": "\u{f501}", + "user-group": "\u{f500}", + "user-friends": "\u{f500}", + "user-group-crown": "\u{f6a5}", + "users-crown": "\u{f6a5}", + "user-group-simple": "\u{e603}", + "user-hair": "\u{e45a}", + "user-hair-buns": "\u{e3d3}", + "user-hair-long": "\u{e45b}", + "user-hair-mullet": "\u{e45c}", + "business-front": "\u{e45c}", + "party-back": "\u{e45c}", + "trian-balbot": "\u{e45c}", + "user-headset": "\u{f82d}", + "user-helmet-safety": "\u{f82c}", + "user-construction": "\u{f82c}", + "user-hard-hat": "\u{f82c}", + "user-hoodie": "\u{e68a}", + "user-injured": "\u{f728}", + "user-large": "\u{f406}", + "user-alt": "\u{f406}", + "user-large-slash": "\u{f4fa}", + "user-alt-slash": "\u{f4fa}", + "user-lock": "\u{f502}", + "user-magnifying-glass": "\u{e5c5}", + "user-minus": "\u{f503}", + "user-music": "\u{f8eb}", + "user-ninja": "\u{f504}", + "user-nurse": "\u{f82f}", + "user-nurse-hair": "\u{e45d}", + "user-nurse-hair-long": "\u{e45e}", + "user-pen": "\u{f4ff}", + "user-edit": "\u{f4ff}", + "user-pilot": "\u{e2c0}", + "user-pilot-tie": "\u{e2c1}", + "user-plus": "\u{f234}", + "user-police": "\u{e333}", + "user-police-tie": "\u{e334}", + "user-robot": "\u{e04b}", + "user-robot-xmarks": "\u{e4a7}", + "users": "\u{f0c0}", + "users-between-lines": "\u{e591}", + "user-secret": "\u{f21b}", + "users-gear": "\u{f509}", + "users-cog": "\u{f509}", + "user-shakespeare": "\u{e2c2}", + "user-shield": "\u{f505}", + "user-slash": "\u{f506}", + "users-line": "\u{e592}", + "users-medical": "\u{f830}", + "users-rays": "\u{e593}", + "users-rectangle": "\u{e594}", + "users-slash": "\u{e073}", + "users-viewfinder": "\u{e595}", + "user-tag": "\u{f507}", + "user-tie": "\u{f508}", + "user-tie-hair": "\u{e45f}", + "user-tie-hair-long": "\u{e460}", + "user-unlock": "\u{e058}", + "user-visor": "\u{e04c}", + "user-vneck": "\u{e461}", + "user-vneck-hair": "\u{e462}", + "user-vneck-hair-long": "\u{e463}", + "user-xmark": "\u{f235}", + "user-times": "\u{f235}", + "usps": "\u{f7e1}", + "ussunnah": "\u{f407}", + "utensils": "\u{f2e7}", + "cutlery": "\u{f2e7}", + "utensils-slash": "\u{e464}", + "utility-pole": "\u{e2c3}", + "utility-pole-double": "\u{e2c4}", + "v": "\u{56}", + "vaadin": "\u{f408}", + "vacuum": "\u{e04d}", + "vacuum-robot": "\u{e04e}", + "value-absolute": "\u{f6a6}", + "van-shuttle": "\u{f5b6}", + "shuttle-van": "\u{f5b6}", + "vault": "\u{e2c5}", + "vector-circle": "\u{e2c6}", + "vector-polygon": "\u{e2c7}", + "vector-square": "\u{f5cb}", + "vent-damper": "\u{e465}", + "venus": "\u{f221}", + "venus-double": "\u{f226}", + "venus-mars": "\u{f228}", + "vest": "\u{e085}", + "vest-patches": "\u{e086}", + "viacoin": "\u{f237}", + "viadeo": "\u{f2a9}", + "vial": "\u{f492}", + "vial-circle-check": "\u{e596}", + "vials": "\u{f493}", + "vial-virus": "\u{e597}", + "viber": "\u{f409}", + "video": "\u{f03d}", + "video-camera": "\u{f03d}", + "video-arrow-down-left": "\u{e2c8}", + "video-arrow-up-right": "\u{e2c9}", + "video-plus": "\u{f4e1}", + "video-slash": "\u{f4e2}", + "vihara": "\u{f6a7}", + "vimeo": "\u{f40a}", + "vimeo-v": "\u{f27d}", + "vine": "\u{f1ca}", + "violin": "\u{f8ed}", + "virus": "\u{e074}", + "virus-covid": "\u{e4a8}", + "virus-covid-slash": "\u{e4a9}", + "viruses": "\u{e076}", + "virus-slash": "\u{e075}", + "vk": "\u{f189}", + "vnv": "\u{f40b}", + "voicemail": "\u{f897}", + "volcano": "\u{f770}", + "volleyball": "\u{f45f}", + "volleyball-ball": "\u{f45f}", + "volume": "\u{f6a8}", + "volume-medium": "\u{f6a8}", + "volume-high": "\u{f028}", + "volume-up": "\u{f028}", + "volume-low": "\u{f027}", + "volume-down": "\u{f027}", + "volume-off": "\u{f026}", + "volume-slash": "\u{f2e2}", + "volume-xmark": "\u{f6a9}", + "volume-mute": "\u{f6a9}", + "volume-times": "\u{f6a9}", + "vr-cardboard": "\u{f729}", + "vuejs": "\u{f41f}", + "w": "\u{57}", + "waffle": "\u{e466}", + "wagon-covered": "\u{f8ee}", + "walker": "\u{f831}", + "walkie-talkie": "\u{f8ef}", + "wallet": "\u{f555}", + "wand": "\u{f72a}", + "wand-magic": "\u{f0d0}", + "magic": "\u{f0d0}", + "wand-magic-sparkles": "\u{e2ca}", + "magic-wand-sparkles": "\u{e2ca}", + "wand-sparkles": "\u{f72b}", + "warehouse": "\u{f494}", + "warehouse-full": "\u{f495}", + "warehouse-alt": "\u{f495}", + "washing-machine": "\u{f898}", + "washer": "\u{f898}", + "watch": "\u{f2e1}", + "watch-apple": "\u{e2cb}", + "watch-calculator": "\u{f8f0}", + "watch-fitness": "\u{f63e}", + "watchman-monitoring": "\u{e087}", + "watch-smart": "\u{e2cc}", + "water": "\u{f773}", + "water-arrow-down": "\u{f774}", + "water-lower": "\u{f774}", + "water-arrow-up": "\u{f775}", + "water-rise": "\u{f775}", + "water-ladder": "\u{f5c5}", + "ladder-water": "\u{f5c5}", + "swimming-pool": "\u{f5c5}", + "watermelon-slice": "\u{e337}", + "wave": "\u{e65b}", + "waveform": "\u{f8f1}", + "waveform-lines": "\u{f8f2}", + "waveform-path": "\u{f8f2}", + "wave-pulse": "\u{f5f8}", + "heart-rate": "\u{f5f8}", + "wave-sine": "\u{f899}", + "wave-square": "\u{f83e}", + "waves-sine": "\u{e65d}", + "wave-triangle": "\u{f89a}", + "waze": "\u{f83f}", + "web-awesome": "\u{e682}", + "webflow": "\u{e65c}", + "webhook": "\u{e5d5}", + "weebly": "\u{f5cc}", + "weibo": "\u{f18a}", + "weight-hanging": "\u{f5cd}", + "weight-scale": "\u{f496}", + "weight": "\u{f496}", + "weixin": "\u{f1d7}", + "whale": "\u{f72c}", + "whatsapp": "\u{f232}", + "wheat": "\u{f72d}", + "wheat-awn": "\u{e2cd}", + "wheat-alt": "\u{e2cd}", + "wheat-awn-circle-exclamation": "\u{e598}", + "wheat-awn-slash": "\u{e338}", + "wheat-slash": "\u{e339}", + "wheelchair": "\u{f193}", + "wheelchair-move": "\u{e2ce}", + "wheelchair-alt": "\u{e2ce}", + "whiskey-glass": "\u{f7a0}", + "glass-whiskey": "\u{f7a0}", + "whiskey-glass-ice": "\u{f7a1}", + "glass-whiskey-rocks": "\u{f7a1}", + "whistle": "\u{f460}", + "whmcs": "\u{f40d}", + "wifi": "\u{f1eb}", + "wifi-3": "\u{f1eb}", + "wifi-strong": "\u{f1eb}", + "wifi-exclamation": "\u{e2cf}", + "wifi-fair": "\u{f6ab}", + "wifi-2": "\u{f6ab}", + "wifi-slash": "\u{f6ac}", + "wifi-weak": "\u{f6aa}", + "wifi-1": "\u{f6aa}", + "wikipedia-w": "\u{f266}", + "wind": "\u{f72e}", + "window": "\u{f40e}", + "window-flip": "\u{f40f}", + "window-alt": "\u{f40f}", + "window-frame": "\u{e04f}", + "window-frame-open": "\u{e050}", + "window-maximize": "\u{f2d0}", + "window-minimize": "\u{f2d1}", + "window-restore": "\u{f2d2}", + "windows": "\u{f17a}", + "windsock": "\u{f777}", + "wind-turbine": "\u{f89b}", + "wind-warning": "\u{f776}", + "wind-circle-exclamation": "\u{f776}", + "wine-bottle": "\u{f72f}", + "wine-glass": "\u{f4e3}", + "wine-glass-crack": "\u{f4bb}", + "fragile": "\u{f4bb}", + "wine-glass-empty": "\u{f5ce}", + "wine-glass-alt": "\u{f5ce}", + "wirsindhandwerk": "\u{e2d0}", + "wsh": "\u{e2d0}", + "wix": "\u{f5cf}", + "wizards-of-the-coast": "\u{f730}", + "wodu": "\u{e088}", + "wolf-pack-battalion": "\u{f514}", + "won-sign": "\u{f159}", + "krw": "\u{f159}", + "won": "\u{f159}", + "wordpress": "\u{f19a}", + "wordpress-simple": "\u{f411}", + "worm": "\u{e599}", + "wpbeginner": "\u{f297}", + "wpexplorer": "\u{f2de}", + "wpforms": "\u{f298}", + "wpressr": "\u{f3e4}", + "rendact": "\u{f3e4}", + "wreath": "\u{f7e2}", + "wreath-laurel": "\u{e5d2}", + "wrench": "\u{f0ad}", + "wrench-simple": "\u{e2d1}", + "x": "\u{58}", + "xbox": "\u{f412}", + "xing": "\u{f168}", + "xmark": "\u{f00d}", + "close": "\u{f00d}", + "multiply": "\u{f00d}", + "remove": "\u{f00d}", + "times": "\u{f00d}", + "xmark-large": "\u{e59b}", + "xmarks-lines": "\u{e59a}", + "xmark-to-slot": "\u{f771}", + "times-to-slot": "\u{f771}", + "vote-nay": "\u{f771}", + "x-ray": "\u{f497}", + "x-twitter": "\u{e61b}", + "y": "\u{59}", + "yahoo": "\u{f19e}", + "yammer": "\u{f840}", + "yandex": "\u{f413}", + "yandex-international": "\u{f414}", + "yarn": "\u{f7e3}", + "y-combinator": "\u{f23b}", + "yelp": "\u{f1e9}", + "yen-sign": "\u{f157}", + "cny": "\u{f157}", + "jpy": "\u{f157}", + "rmb": "\u{f157}", + "yen": "\u{f157}", + "yin-yang": "\u{f6ad}", + "yoast": "\u{f2b1}", + "youtube": "\u{f167}", + "z": "\u{5a}", + "zhihu": "\u{f63f}", +) +#let fa-0 = fa-icon.with("\u{30}") +#let fa-00 = fa-icon.with("\u{e467}") +#let fa-1 = fa-icon.with("\u{31}") +#let fa-2 = fa-icon.with("\u{32}") +#let fa-3 = fa-icon.with("\u{33}") +#let fa-360-degrees = fa-icon.with("\u{e2dc}") +#let fa-4 = fa-icon.with("\u{34}") +#let fa-42-group = fa-icon.with("\u{e080}") +#let fa-innosoft = fa-icon.with("\u{e080}") +#let fa-5 = fa-icon.with("\u{35}") +#let fa-500px = fa-icon.with("\u{f26e}") +#let fa-6 = fa-icon.with("\u{36}") +#let fa-7 = fa-icon.with("\u{37}") +#let fa-8 = fa-icon.with("\u{38}") +#let fa-9 = fa-icon.with("\u{39}") +#let fa-a = fa-icon.with("\u{41}") +#let fa-abacus = fa-icon.with("\u{f640}") +#let fa-accent-grave = fa-icon.with("\u{60}") +#let fa-accessible-icon = fa-icon.with("\u{f368}") +#let fa-accusoft = fa-icon.with("\u{f369}") +#let fa-acorn = fa-icon.with("\u{f6ae}") +#let fa-address-book = fa-icon.with("\u{f2b9}") +#let fa-contact-book = fa-icon.with("\u{f2b9}") +#let fa-address-card = fa-icon.with("\u{f2bb}") +#let fa-contact-card = fa-icon.with("\u{f2bb}") +#let fa-vcard = fa-icon.with("\u{f2bb}") +#let fa-adn = fa-icon.with("\u{f170}") +#let fa-adversal = fa-icon.with("\u{f36a}") +#let fa-affiliatetheme = fa-icon.with("\u{f36b}") +#let fa-airbnb = fa-icon.with("\u{f834}") +#let fa-air-conditioner = fa-icon.with("\u{f8f4}") +#let fa-airplay = fa-icon.with("\u{e089}") +#let fa-alarm-clock = fa-icon.with("\u{f34e}") +#let fa-alarm-exclamation = fa-icon.with("\u{f843}") +#let fa-alarm-plus = fa-icon.with("\u{f844}") +#let fa-alarm-snooze = fa-icon.with("\u{f845}") +#let fa-album = fa-icon.with("\u{f89f}") +#let fa-album-circle-plus = fa-icon.with("\u{e48c}") +#let fa-album-circle-user = fa-icon.with("\u{e48d}") +#let fa-album-collection = fa-icon.with("\u{f8a0}") +#let fa-album-collection-circle-plus = fa-icon.with("\u{e48e}") +#let fa-album-collection-circle-user = fa-icon.with("\u{e48f}") +#let fa-algolia = fa-icon.with("\u{f36c}") +#let fa-alicorn = fa-icon.with("\u{f6b0}") +#let fa-alien = fa-icon.with("\u{f8f5}") +#let fa-alien-8bit = fa-icon.with("\u{f8f6}") +#let fa-alien-monster = fa-icon.with("\u{f8f6}") +#let fa-align-center = fa-icon.with("\u{f037}") +#let fa-align-justify = fa-icon.with("\u{f039}") +#let fa-align-left = fa-icon.with("\u{f036}") +#let fa-align-right = fa-icon.with("\u{f038}") +#let fa-align-slash = fa-icon.with("\u{f846}") +#let fa-alipay = fa-icon.with("\u{f642}") +#let fa-alt = fa-icon.with("\u{e08a}") +#let fa-amazon = fa-icon.with("\u{f270}") +#let fa-amazon-pay = fa-icon.with("\u{f42c}") +#let fa-amilia = fa-icon.with("\u{f36d}") +#let fa-ampersand = fa-icon.with("\u{26}") +#let fa-amp-guitar = fa-icon.with("\u{f8a1}") +#let fa-anchor = fa-icon.with("\u{f13d}") +#let fa-anchor-circle-check = fa-icon.with("\u{e4aa}") +#let fa-anchor-circle-exclamation = fa-icon.with("\u{e4ab}") +#let fa-anchor-circle-xmark = fa-icon.with("\u{e4ac}") +#let fa-anchor-lock = fa-icon.with("\u{e4ad}") +#let fa-android = fa-icon.with("\u{f17b}") +#let fa-angel = fa-icon.with("\u{f779}") +#let fa-angellist = fa-icon.with("\u{f209}") +#let fa-angle = fa-icon.with("\u{e08c}") +#let fa-angle-90 = fa-icon.with("\u{e08d}") +#let fa-angle-down = fa-icon.with("\u{f107}") +#let fa-angle-left = fa-icon.with("\u{f104}") +#let fa-angle-right = fa-icon.with("\u{f105}") +#let fa-angles-down = fa-icon.with("\u{f103}") +#let fa-angle-double-down = fa-icon.with("\u{f103}") +#let fa-angles-left = fa-icon.with("\u{f100}") +#let fa-angle-double-left = fa-icon.with("\u{f100}") +#let fa-angles-right = fa-icon.with("\u{f101}") +#let fa-angle-double-right = fa-icon.with("\u{f101}") +#let fa-angles-up = fa-icon.with("\u{f102}") +#let fa-angle-double-up = fa-icon.with("\u{f102}") +#let fa-angles-up-down = fa-icon.with("\u{e60d}") +#let fa-angle-up = fa-icon.with("\u{f106}") +#let fa-angrycreative = fa-icon.with("\u{f36e}") +#let fa-angular = fa-icon.with("\u{f420}") +#let fa-ankh = fa-icon.with("\u{f644}") +#let fa-ant = fa-icon.with("\u{e680}") +#let fa-apartment = fa-icon.with("\u{e468}") +#let fa-aperture = fa-icon.with("\u{e2df}") +#let fa-apostrophe = fa-icon.with("\u{27}") +#let fa-apper = fa-icon.with("\u{f371}") +#let fa-apple = fa-icon.with("\u{f179}") +#let fa-apple-core = fa-icon.with("\u{e08f}") +#let fa-apple-pay = fa-icon.with("\u{f415}") +#let fa-apple-whole = fa-icon.with("\u{f5d1}") +#let fa-apple-alt = fa-icon.with("\u{f5d1}") +#let fa-app-store = fa-icon.with("\u{f36f}") +#let fa-app-store-ios = fa-icon.with("\u{f370}") +#let fa-archway = fa-icon.with("\u{f557}") +#let fa-arrow-down = fa-icon.with("\u{f063}") +#let fa-arrow-down-1-9 = fa-icon.with("\u{f162}") +#let fa-sort-numeric-asc = fa-icon.with("\u{f162}") +#let fa-sort-numeric-down = fa-icon.with("\u{f162}") +#let fa-arrow-down-9-1 = fa-icon.with("\u{f886}") +#let fa-sort-numeric-desc = fa-icon.with("\u{f886}") +#let fa-sort-numeric-down-alt = fa-icon.with("\u{f886}") +#let fa-arrow-down-arrow-up = fa-icon.with("\u{f883}") +#let fa-sort-alt = fa-icon.with("\u{f883}") +#let fa-arrow-down-a-z = fa-icon.with("\u{f15d}") +#let fa-sort-alpha-asc = fa-icon.with("\u{f15d}") +#let fa-sort-alpha-down = fa-icon.with("\u{f15d}") +#let fa-arrow-down-big-small = fa-icon.with("\u{f88c}") +#let fa-sort-size-down = fa-icon.with("\u{f88c}") +#let fa-arrow-down-from-arc = fa-icon.with("\u{e614}") +#let fa-arrow-down-from-bracket = fa-icon.with("\u{e667}") +#let fa-arrow-down-from-dotted-line = fa-icon.with("\u{e090}") +#let fa-arrow-down-from-line = fa-icon.with("\u{f345}") +#let fa-arrow-from-top = fa-icon.with("\u{f345}") +#let fa-arrow-down-left = fa-icon.with("\u{e091}") +#let fa-arrow-down-left-and-arrow-up-right-to-center = fa-icon.with("\u{e092}") +#let fa-arrow-down-long = fa-icon.with("\u{f175}") +#let fa-long-arrow-down = fa-icon.with("\u{f175}") +#let fa-arrow-down-right = fa-icon.with("\u{e093}") +#let fa-arrow-down-short-wide = fa-icon.with("\u{f884}") +#let fa-sort-amount-desc = fa-icon.with("\u{f884}") +#let fa-sort-amount-down-alt = fa-icon.with("\u{f884}") +#let fa-arrow-down-small-big = fa-icon.with("\u{f88d}") +#let fa-sort-size-down-alt = fa-icon.with("\u{f88d}") +#let fa-arrow-down-square-triangle = fa-icon.with("\u{f889}") +#let fa-sort-shapes-down-alt = fa-icon.with("\u{f889}") +#let fa-arrow-down-to-arc = fa-icon.with("\u{e4ae}") +#let fa-arrow-down-to-bracket = fa-icon.with("\u{e094}") +#let fa-arrow-down-to-dotted-line = fa-icon.with("\u{e095}") +#let fa-arrow-down-to-line = fa-icon.with("\u{f33d}") +#let fa-arrow-to-bottom = fa-icon.with("\u{f33d}") +#let fa-arrow-down-to-square = fa-icon.with("\u{e096}") +#let fa-arrow-down-triangle-square = fa-icon.with("\u{f888}") +#let fa-sort-shapes-down = fa-icon.with("\u{f888}") +#let fa-arrow-down-up-across-line = fa-icon.with("\u{e4af}") +#let fa-arrow-down-up-lock = fa-icon.with("\u{e4b0}") +#let fa-arrow-down-wide-short = fa-icon.with("\u{f160}") +#let fa-sort-amount-asc = fa-icon.with("\u{f160}") +#let fa-sort-amount-down = fa-icon.with("\u{f160}") +#let fa-arrow-down-z-a = fa-icon.with("\u{f881}") +#let fa-sort-alpha-desc = fa-icon.with("\u{f881}") +#let fa-sort-alpha-down-alt = fa-icon.with("\u{f881}") +#let fa-arrow-left = fa-icon.with("\u{f060}") +#let fa-arrow-left-from-arc = fa-icon.with("\u{e615}") +#let fa-arrow-left-from-bracket = fa-icon.with("\u{e668}") +#let fa-arrow-left-from-line = fa-icon.with("\u{f344}") +#let fa-arrow-from-right = fa-icon.with("\u{f344}") +#let fa-arrow-left-long = fa-icon.with("\u{f177}") +#let fa-long-arrow-left = fa-icon.with("\u{f177}") +#let fa-arrow-left-long-to-line = fa-icon.with("\u{e3d4}") +#let fa-arrow-left-to-arc = fa-icon.with("\u{e616}") +#let fa-arrow-left-to-bracket = fa-icon.with("\u{e669}") +#let fa-arrow-left-to-line = fa-icon.with("\u{f33e}") +#let fa-arrow-to-left = fa-icon.with("\u{f33e}") +#let fa-arrow-pointer = fa-icon.with("\u{f245}") +#let fa-mouse-pointer = fa-icon.with("\u{f245}") +#let fa-arrow-progress = fa-icon.with("\u{e5df}") +#let fa-arrow-right = fa-icon.with("\u{f061}") +#let fa-arrow-right-arrow-left = fa-icon.with("\u{f0ec}") +#let fa-exchange = fa-icon.with("\u{f0ec}") +#let fa-arrow-right-from-arc = fa-icon.with("\u{e4b1}") +#let fa-arrow-right-from-bracket = fa-icon.with("\u{f08b}") +#let fa-sign-out = fa-icon.with("\u{f08b}") +#let fa-arrow-right-from-line = fa-icon.with("\u{f343}") +#let fa-arrow-from-left = fa-icon.with("\u{f343}") +#let fa-arrow-right-long = fa-icon.with("\u{f178}") +#let fa-long-arrow-right = fa-icon.with("\u{f178}") +#let fa-arrow-right-long-to-line = fa-icon.with("\u{e3d5}") +#let fa-arrow-right-to-arc = fa-icon.with("\u{e4b2}") +#let fa-arrow-right-to-bracket = fa-icon.with("\u{f090}") +#let fa-sign-in = fa-icon.with("\u{f090}") +#let fa-arrow-right-to-city = fa-icon.with("\u{e4b3}") +#let fa-arrow-right-to-line = fa-icon.with("\u{f340}") +#let fa-arrow-to-right = fa-icon.with("\u{f340}") +#let fa-arrow-rotate-left = fa-icon.with("\u{f0e2}") +#let fa-arrow-left-rotate = fa-icon.with("\u{f0e2}") +#let fa-arrow-rotate-back = fa-icon.with("\u{f0e2}") +#let fa-arrow-rotate-backward = fa-icon.with("\u{f0e2}") +#let fa-undo = fa-icon.with("\u{f0e2}") +#let fa-arrow-rotate-right = fa-icon.with("\u{f01e}") +#let fa-arrow-right-rotate = fa-icon.with("\u{f01e}") +#let fa-arrow-rotate-forward = fa-icon.with("\u{f01e}") +#let fa-redo = fa-icon.with("\u{f01e}") +#let fa-arrows-cross = fa-icon.with("\u{e0a2}") +#let fa-arrows-down-to-line = fa-icon.with("\u{e4b8}") +#let fa-arrows-down-to-people = fa-icon.with("\u{e4b9}") +#let fa-arrows-from-dotted-line = fa-icon.with("\u{e0a3}") +#let fa-arrows-from-line = fa-icon.with("\u{e0a4}") +#let fa-arrows-left-right = fa-icon.with("\u{f07e}") +#let fa-arrows-h = fa-icon.with("\u{f07e}") +#let fa-arrows-left-right-to-line = fa-icon.with("\u{e4ba}") +#let fa-arrows-maximize = fa-icon.with("\u{f31d}") +#let fa-expand-arrows = fa-icon.with("\u{f31d}") +#let fa-arrows-minimize = fa-icon.with("\u{e0a5}") +#let fa-compress-arrows = fa-icon.with("\u{e0a5}") +#let fa-arrows-repeat = fa-icon.with("\u{f364}") +#let fa-repeat-alt = fa-icon.with("\u{f364}") +#let fa-arrows-repeat-1 = fa-icon.with("\u{f366}") +#let fa-repeat-1-alt = fa-icon.with("\u{f366}") +#let fa-arrows-retweet = fa-icon.with("\u{f361}") +#let fa-retweet-alt = fa-icon.with("\u{f361}") +#let fa-arrows-rotate = fa-icon.with("\u{f021}") +#let fa-refresh = fa-icon.with("\u{f021}") +#let fa-sync = fa-icon.with("\u{f021}") +#let fa-arrows-rotate-reverse = fa-icon.with("\u{e630}") +#let fa-arrows-spin = fa-icon.with("\u{e4bb}") +#let fa-arrows-split-up-and-left = fa-icon.with("\u{e4bc}") +#let fa-arrows-to-circle = fa-icon.with("\u{e4bd}") +#let fa-arrows-to-dot = fa-icon.with("\u{e4be}") +#let fa-arrows-to-dotted-line = fa-icon.with("\u{e0a6}") +#let fa-arrows-to-eye = fa-icon.with("\u{e4bf}") +#let fa-arrows-to-line = fa-icon.with("\u{e0a7}") +#let fa-arrows-turn-right = fa-icon.with("\u{e4c0}") +#let fa-arrows-turn-to-dots = fa-icon.with("\u{e4c1}") +#let fa-arrows-up-down = fa-icon.with("\u{f07d}") +#let fa-arrows-v = fa-icon.with("\u{f07d}") +#let fa-arrows-up-down-left-right = fa-icon.with("\u{f047}") +#let fa-arrows = fa-icon.with("\u{f047}") +#let fa-arrows-up-to-line = fa-icon.with("\u{e4c2}") +#let fa-arrow-trend-down = fa-icon.with("\u{e097}") +#let fa-arrow-trend-up = fa-icon.with("\u{e098}") +#let fa-arrow-turn-down = fa-icon.with("\u{f149}") +#let fa-level-down = fa-icon.with("\u{f149}") +#let fa-arrow-turn-down-left = fa-icon.with("\u{e2e1}") +#let fa-arrow-turn-down-right = fa-icon.with("\u{e3d6}") +#let fa-arrow-turn-left = fa-icon.with("\u{e632}") +#let fa-arrow-turn-left-down = fa-icon.with("\u{e633}") +#let fa-arrow-turn-left-up = fa-icon.with("\u{e634}") +#let fa-arrow-turn-right = fa-icon.with("\u{e635}") +#let fa-arrow-turn-up = fa-icon.with("\u{f148}") +#let fa-level-up = fa-icon.with("\u{f148}") +#let fa-arrow-up = fa-icon.with("\u{f062}") +#let fa-arrow-up-1-9 = fa-icon.with("\u{f163}") +#let fa-sort-numeric-up = fa-icon.with("\u{f163}") +#let fa-arrow-up-9-1 = fa-icon.with("\u{f887}") +#let fa-sort-numeric-up-alt = fa-icon.with("\u{f887}") +#let fa-arrow-up-arrow-down = fa-icon.with("\u{e099}") +#let fa-sort-up-down = fa-icon.with("\u{e099}") +#let fa-arrow-up-a-z = fa-icon.with("\u{f15e}") +#let fa-sort-alpha-up = fa-icon.with("\u{f15e}") +#let fa-arrow-up-big-small = fa-icon.with("\u{f88e}") +#let fa-sort-size-up = fa-icon.with("\u{f88e}") +#let fa-arrow-up-from-arc = fa-icon.with("\u{e4b4}") +#let fa-arrow-up-from-bracket = fa-icon.with("\u{e09a}") +#let fa-arrow-up-from-dotted-line = fa-icon.with("\u{e09b}") +#let fa-arrow-up-from-ground-water = fa-icon.with("\u{e4b5}") +#let fa-arrow-up-from-line = fa-icon.with("\u{f342}") +#let fa-arrow-from-bottom = fa-icon.with("\u{f342}") +#let fa-arrow-up-from-square = fa-icon.with("\u{e09c}") +#let fa-arrow-up-from-water-pump = fa-icon.with("\u{e4b6}") +#let fa-arrow-up-left = fa-icon.with("\u{e09d}") +#let fa-arrow-up-left-from-circle = fa-icon.with("\u{e09e}") +#let fa-arrow-up-long = fa-icon.with("\u{f176}") +#let fa-long-arrow-up = fa-icon.with("\u{f176}") +#let fa-arrow-up-right = fa-icon.with("\u{e09f}") +#let fa-arrow-up-right-and-arrow-down-left-from-center = fa-icon.with("\u{e0a0}") +#let fa-arrow-up-right-dots = fa-icon.with("\u{e4b7}") +#let fa-arrow-up-right-from-square = fa-icon.with("\u{f08e}") +#let fa-external-link = fa-icon.with("\u{f08e}") +#let fa-arrow-up-short-wide = fa-icon.with("\u{f885}") +#let fa-sort-amount-up-alt = fa-icon.with("\u{f885}") +#let fa-arrow-up-small-big = fa-icon.with("\u{f88f}") +#let fa-sort-size-up-alt = fa-icon.with("\u{f88f}") +#let fa-arrow-up-square-triangle = fa-icon.with("\u{f88b}") +#let fa-sort-shapes-up-alt = fa-icon.with("\u{f88b}") +#let fa-arrow-up-to-arc = fa-icon.with("\u{e617}") +#let fa-arrow-up-to-bracket = fa-icon.with("\u{e66a}") +#let fa-arrow-up-to-dotted-line = fa-icon.with("\u{e0a1}") +#let fa-arrow-up-to-line = fa-icon.with("\u{f341}") +#let fa-arrow-to-top = fa-icon.with("\u{f341}") +#let fa-arrow-up-triangle-square = fa-icon.with("\u{f88a}") +#let fa-sort-shapes-up = fa-icon.with("\u{f88a}") +#let fa-arrow-up-wide-short = fa-icon.with("\u{f161}") +#let fa-sort-amount-up = fa-icon.with("\u{f161}") +#let fa-arrow-up-z-a = fa-icon.with("\u{f882}") +#let fa-sort-alpha-up-alt = fa-icon.with("\u{f882}") +#let fa-artstation = fa-icon.with("\u{f77a}") +#let fa-asterisk = fa-icon.with("\u{2a}") +#let fa-asymmetrik = fa-icon.with("\u{f372}") +#let fa-at = fa-icon.with("\u{40}") +#let fa-atlassian = fa-icon.with("\u{f77b}") +#let fa-atom = fa-icon.with("\u{f5d2}") +#let fa-atom-simple = fa-icon.with("\u{f5d3}") +#let fa-atom-alt = fa-icon.with("\u{f5d3}") +#let fa-audible = fa-icon.with("\u{f373}") +#let fa-audio-description = fa-icon.with("\u{f29e}") +#let fa-audio-description-slash = fa-icon.with("\u{e0a8}") +#let fa-austral-sign = fa-icon.with("\u{e0a9}") +#let fa-autoprefixer = fa-icon.with("\u{f41c}") +#let fa-avianex = fa-icon.with("\u{f374}") +#let fa-aviato = fa-icon.with("\u{f421}") +#let fa-avocado = fa-icon.with("\u{e0aa}") +#let fa-award = fa-icon.with("\u{f559}") +#let fa-award-simple = fa-icon.with("\u{e0ab}") +#let fa-aws = fa-icon.with("\u{f375}") +#let fa-axe = fa-icon.with("\u{f6b2}") +#let fa-axe-battle = fa-icon.with("\u{f6b3}") +#let fa-b = fa-icon.with("\u{42}") +#let fa-baby = fa-icon.with("\u{f77c}") +#let fa-baby-carriage = fa-icon.with("\u{f77d}") +#let fa-carriage-baby = fa-icon.with("\u{f77d}") +#let fa-backpack = fa-icon.with("\u{f5d4}") +#let fa-backward = fa-icon.with("\u{f04a}") +#let fa-backward-fast = fa-icon.with("\u{f049}") +#let fa-fast-backward = fa-icon.with("\u{f049}") +#let fa-backward-step = fa-icon.with("\u{f048}") +#let fa-step-backward = fa-icon.with("\u{f048}") +#let fa-bacon = fa-icon.with("\u{f7e5}") +#let fa-bacteria = fa-icon.with("\u{e059}") +#let fa-bacterium = fa-icon.with("\u{e05a}") +#let fa-badge = fa-icon.with("\u{f335}") +#let fa-badge-check = fa-icon.with("\u{f336}") +#let fa-badge-dollar = fa-icon.with("\u{f645}") +#let fa-badge-percent = fa-icon.with("\u{f646}") +#let fa-badger-honey = fa-icon.with("\u{f6b4}") +#let fa-badge-sheriff = fa-icon.with("\u{f8a2}") +#let fa-badminton = fa-icon.with("\u{e33a}") +#let fa-bagel = fa-icon.with("\u{e3d7}") +#let fa-bag-seedling = fa-icon.with("\u{e5f2}") +#let fa-bag-shopping = fa-icon.with("\u{f290}") +#let fa-shopping-bag = fa-icon.with("\u{f290}") +#let fa-bag-shopping-minus = fa-icon.with("\u{e650}") +#let fa-bag-shopping-plus = fa-icon.with("\u{e651}") +#let fa-bags-shopping = fa-icon.with("\u{f847}") +#let fa-baguette = fa-icon.with("\u{e3d8}") +#let fa-bahai = fa-icon.with("\u{f666}") +#let fa-haykal = fa-icon.with("\u{f666}") +#let fa-baht-sign = fa-icon.with("\u{e0ac}") +#let fa-balloon = fa-icon.with("\u{e2e3}") +#let fa-balloons = fa-icon.with("\u{e2e4}") +#let fa-ballot = fa-icon.with("\u{f732}") +#let fa-ballot-check = fa-icon.with("\u{f733}") +#let fa-ball-pile = fa-icon.with("\u{f77e}") +#let fa-ban = fa-icon.with("\u{f05e}") +#let fa-cancel = fa-icon.with("\u{f05e}") +#let fa-banana = fa-icon.with("\u{e2e5}") +#let fa-ban-bug = fa-icon.with("\u{f7f9}") +#let fa-debug = fa-icon.with("\u{f7f9}") +#let fa-bandage = fa-icon.with("\u{f462}") +#let fa-band-aid = fa-icon.with("\u{f462}") +#let fa-bandcamp = fa-icon.with("\u{f2d5}") +#let fa-bangladeshi-taka-sign = fa-icon.with("\u{e2e6}") +#let fa-banjo = fa-icon.with("\u{f8a3}") +#let fa-ban-parking = fa-icon.with("\u{f616}") +#let fa-parking-circle-slash = fa-icon.with("\u{f616}") +#let fa-ban-smoking = fa-icon.with("\u{f54d}") +#let fa-smoking-ban = fa-icon.with("\u{f54d}") +#let fa-barcode = fa-icon.with("\u{f02a}") +#let fa-barcode-read = fa-icon.with("\u{f464}") +#let fa-barcode-scan = fa-icon.with("\u{f465}") +#let fa-bars = fa-icon.with("\u{f0c9}") +#let fa-navicon = fa-icon.with("\u{f0c9}") +#let fa-bars-filter = fa-icon.with("\u{e0ad}") +#let fa-bars-progress = fa-icon.with("\u{f828}") +#let fa-tasks-alt = fa-icon.with("\u{f828}") +#let fa-bars-sort = fa-icon.with("\u{e0ae}") +#let fa-bars-staggered = fa-icon.with("\u{f550}") +#let fa-reorder = fa-icon.with("\u{f550}") +#let fa-stream = fa-icon.with("\u{f550}") +#let fa-baseball = fa-icon.with("\u{f433}") +#let fa-baseball-ball = fa-icon.with("\u{f433}") +#let fa-baseball-bat-ball = fa-icon.with("\u{f432}") +#let fa-basketball = fa-icon.with("\u{f434}") +#let fa-basketball-ball = fa-icon.with("\u{f434}") +#let fa-basketball-hoop = fa-icon.with("\u{f435}") +#let fa-basket-shopping = fa-icon.with("\u{f291}") +#let fa-shopping-basket = fa-icon.with("\u{f291}") +#let fa-basket-shopping-minus = fa-icon.with("\u{e652}") +#let fa-basket-shopping-plus = fa-icon.with("\u{e653}") +#let fa-basket-shopping-simple = fa-icon.with("\u{e0af}") +#let fa-shopping-basket-alt = fa-icon.with("\u{e0af}") +#let fa-bat = fa-icon.with("\u{f6b5}") +#let fa-bath = fa-icon.with("\u{f2cd}") +#let fa-bathtub = fa-icon.with("\u{f2cd}") +#let fa-battery-bolt = fa-icon.with("\u{f376}") +#let fa-battery-empty = fa-icon.with("\u{f244}") +#let fa-battery-0 = fa-icon.with("\u{f244}") +#let fa-battery-exclamation = fa-icon.with("\u{e0b0}") +#let fa-battery-full = fa-icon.with("\u{f240}") +#let fa-battery = fa-icon.with("\u{f240}") +#let fa-battery-5 = fa-icon.with("\u{f240}") +#let fa-battery-half = fa-icon.with("\u{f242}") +#let fa-battery-3 = fa-icon.with("\u{f242}") +#let fa-battery-low = fa-icon.with("\u{e0b1}") +#let fa-battery-1 = fa-icon.with("\u{e0b1}") +#let fa-battery-quarter = fa-icon.with("\u{f243}") +#let fa-battery-2 = fa-icon.with("\u{f243}") +#let fa-battery-slash = fa-icon.with("\u{f377}") +#let fa-battery-three-quarters = fa-icon.with("\u{f241}") +#let fa-battery-4 = fa-icon.with("\u{f241}") +#let fa-battle-net = fa-icon.with("\u{f835}") +#let fa-bed = fa-icon.with("\u{f236}") +#let fa-bed-bunk = fa-icon.with("\u{f8f8}") +#let fa-bed-empty = fa-icon.with("\u{f8f9}") +#let fa-bed-front = fa-icon.with("\u{f8f7}") +#let fa-bed-alt = fa-icon.with("\u{f8f7}") +#let fa-bed-pulse = fa-icon.with("\u{f487}") +#let fa-procedures = fa-icon.with("\u{f487}") +#let fa-bee = fa-icon.with("\u{e0b2}") +#let fa-beer-mug = fa-icon.with("\u{e0b3}") +#let fa-beer-foam = fa-icon.with("\u{e0b3}") +#let fa-beer-mug-empty = fa-icon.with("\u{f0fc}") +#let fa-beer = fa-icon.with("\u{f0fc}") +#let fa-behance = fa-icon.with("\u{f1b4}") +#let fa-bell = fa-icon.with("\u{f0f3}") +#let fa-bell-concierge = fa-icon.with("\u{f562}") +#let fa-concierge-bell = fa-icon.with("\u{f562}") +#let fa-bell-exclamation = fa-icon.with("\u{f848}") +#let fa-bell-on = fa-icon.with("\u{f8fa}") +#let fa-bell-plus = fa-icon.with("\u{f849}") +#let fa-bell-ring = fa-icon.with("\u{e62c}") +#let fa-bells = fa-icon.with("\u{f77f}") +#let fa-bell-school = fa-icon.with("\u{f5d5}") +#let fa-bell-school-slash = fa-icon.with("\u{f5d6}") +#let fa-bell-slash = fa-icon.with("\u{f1f6}") +#let fa-bench-tree = fa-icon.with("\u{e2e7}") +#let fa-bezier-curve = fa-icon.with("\u{f55b}") +#let fa-bicycle = fa-icon.with("\u{f206}") +#let fa-bilibili = fa-icon.with("\u{e3d9}") +#let fa-billboard = fa-icon.with("\u{e5cd}") +#let fa-bimobject = fa-icon.with("\u{f378}") +#let fa-binary = fa-icon.with("\u{e33b}") +#let fa-binary-circle-check = fa-icon.with("\u{e33c}") +#let fa-binary-lock = fa-icon.with("\u{e33d}") +#let fa-binary-slash = fa-icon.with("\u{e33e}") +#let fa-bin-bottles = fa-icon.with("\u{e5f5}") +#let fa-bin-bottles-recycle = fa-icon.with("\u{e5f6}") +#let fa-binoculars = fa-icon.with("\u{f1e5}") +#let fa-bin-recycle = fa-icon.with("\u{e5f7}") +#let fa-biohazard = fa-icon.with("\u{f780}") +#let fa-bird = fa-icon.with("\u{e469}") +#let fa-bitbucket = fa-icon.with("\u{f171}") +#let fa-bitcoin = fa-icon.with("\u{f379}") +#let fa-bitcoin-sign = fa-icon.with("\u{e0b4}") +#let fa-bity = fa-icon.with("\u{f37a}") +#let fa-blackberry = fa-icon.with("\u{f37b}") +#let fa-black-tie = fa-icon.with("\u{f27e}") +#let fa-blanket = fa-icon.with("\u{f498}") +#let fa-blanket-fire = fa-icon.with("\u{e3da}") +#let fa-blender = fa-icon.with("\u{f517}") +#let fa-blender-phone = fa-icon.with("\u{f6b6}") +#let fa-blinds = fa-icon.with("\u{f8fb}") +#let fa-blinds-open = fa-icon.with("\u{f8fc}") +#let fa-blinds-raised = fa-icon.with("\u{f8fd}") +#let fa-block = fa-icon.with("\u{e46a}") +#let fa-block-brick = fa-icon.with("\u{e3db}") +#let fa-wall-brick = fa-icon.with("\u{e3db}") +#let fa-block-brick-fire = fa-icon.with("\u{e3dc}") +#let fa-firewall = fa-icon.with("\u{e3dc}") +#let fa-block-question = fa-icon.with("\u{e3dd}") +#let fa-block-quote = fa-icon.with("\u{e0b5}") +#let fa-blog = fa-icon.with("\u{f781}") +#let fa-blogger = fa-icon.with("\u{f37c}") +#let fa-blogger-b = fa-icon.with("\u{f37d}") +#let fa-blueberries = fa-icon.with("\u{e2e8}") +#let fa-bluesky = fa-icon.with("\u{e671}") +#let fa-bluetooth = fa-icon.with("\u{f293}") +#let fa-bluetooth-b = fa-icon.with("\u{f294}") +#let fa-bold = fa-icon.with("\u{f032}") +#let fa-bolt = fa-icon.with("\u{f0e7}") +#let fa-zap = fa-icon.with("\u{f0e7}") +#let fa-bolt-auto = fa-icon.with("\u{e0b6}") +#let fa-bolt-lightning = fa-icon.with("\u{e0b7}") +#let fa-bolt-slash = fa-icon.with("\u{e0b8}") +#let fa-bomb = fa-icon.with("\u{f1e2}") +#let fa-bone = fa-icon.with("\u{f5d7}") +#let fa-bone-break = fa-icon.with("\u{f5d8}") +#let fa-bong = fa-icon.with("\u{f55c}") +#let fa-book = fa-icon.with("\u{f02d}") +#let fa-book-arrow-right = fa-icon.with("\u{e0b9}") +#let fa-book-arrow-up = fa-icon.with("\u{e0ba}") +#let fa-book-atlas = fa-icon.with("\u{f558}") +#let fa-atlas = fa-icon.with("\u{f558}") +#let fa-book-bible = fa-icon.with("\u{f647}") +#let fa-bible = fa-icon.with("\u{f647}") +#let fa-book-blank = fa-icon.with("\u{f5d9}") +#let fa-book-alt = fa-icon.with("\u{f5d9}") +#let fa-book-bookmark = fa-icon.with("\u{e0bb}") +#let fa-book-circle-arrow-right = fa-icon.with("\u{e0bc}") +#let fa-book-circle-arrow-up = fa-icon.with("\u{e0bd}") +#let fa-book-copy = fa-icon.with("\u{e0be}") +#let fa-book-font = fa-icon.with("\u{e0bf}") +#let fa-book-heart = fa-icon.with("\u{f499}") +#let fa-book-journal-whills = fa-icon.with("\u{f66a}") +#let fa-journal-whills = fa-icon.with("\u{f66a}") +#let fa-bookmark = fa-icon.with("\u{f02e}") +#let fa-bookmark-slash = fa-icon.with("\u{e0c2}") +#let fa-book-medical = fa-icon.with("\u{f7e6}") +#let fa-book-open = fa-icon.with("\u{f518}") +#let fa-book-open-cover = fa-icon.with("\u{e0c0}") +#let fa-book-open-alt = fa-icon.with("\u{e0c0}") +#let fa-book-open-reader = fa-icon.with("\u{f5da}") +#let fa-book-reader = fa-icon.with("\u{f5da}") +#let fa-book-quran = fa-icon.with("\u{f687}") +#let fa-quran = fa-icon.with("\u{f687}") +#let fa-books = fa-icon.with("\u{f5db}") +#let fa-book-section = fa-icon.with("\u{e0c1}") +#let fa-book-law = fa-icon.with("\u{e0c1}") +#let fa-book-skull = fa-icon.with("\u{f6b7}") +#let fa-book-dead = fa-icon.with("\u{f6b7}") +#let fa-books-medical = fa-icon.with("\u{f7e8}") +#let fa-book-sparkles = fa-icon.with("\u{f6b8}") +#let fa-book-spells = fa-icon.with("\u{f6b8}") +#let fa-book-tanakh = fa-icon.with("\u{f827}") +#let fa-tanakh = fa-icon.with("\u{f827}") +#let fa-book-user = fa-icon.with("\u{f7e7}") +#let fa-boombox = fa-icon.with("\u{f8a5}") +#let fa-boot = fa-icon.with("\u{f782}") +#let fa-booth-curtain = fa-icon.with("\u{f734}") +#let fa-boot-heeled = fa-icon.with("\u{e33f}") +#let fa-bootstrap = fa-icon.with("\u{f836}") +#let fa-border-all = fa-icon.with("\u{f84c}") +#let fa-border-bottom = fa-icon.with("\u{f84d}") +#let fa-border-bottom-right = fa-icon.with("\u{f854}") +#let fa-border-style-alt = fa-icon.with("\u{f854}") +#let fa-border-center-h = fa-icon.with("\u{f89c}") +#let fa-border-center-v = fa-icon.with("\u{f89d}") +#let fa-border-inner = fa-icon.with("\u{f84e}") +#let fa-border-left = fa-icon.with("\u{f84f}") +#let fa-border-none = fa-icon.with("\u{f850}") +#let fa-border-outer = fa-icon.with("\u{f851}") +#let fa-border-right = fa-icon.with("\u{f852}") +#let fa-border-top = fa-icon.with("\u{f855}") +#let fa-border-top-left = fa-icon.with("\u{f853}") +#let fa-border-style = fa-icon.with("\u{f853}") +#let fa-bore-hole = fa-icon.with("\u{e4c3}") +#let fa-bots = fa-icon.with("\u{e340}") +#let fa-bottle-baby = fa-icon.with("\u{e673}") +#let fa-bottle-droplet = fa-icon.with("\u{e4c4}") +#let fa-bottle-water = fa-icon.with("\u{e4c5}") +#let fa-bow-arrow = fa-icon.with("\u{f6b9}") +#let fa-bowl-chopsticks = fa-icon.with("\u{e2e9}") +#let fa-bowl-chopsticks-noodles = fa-icon.with("\u{e2ea}") +#let fa-bowl-food = fa-icon.with("\u{e4c6}") +#let fa-bowl-hot = fa-icon.with("\u{f823}") +#let fa-soup = fa-icon.with("\u{f823}") +#let fa-bowling-ball = fa-icon.with("\u{f436}") +#let fa-bowling-ball-pin = fa-icon.with("\u{e0c3}") +#let fa-bowling-pins = fa-icon.with("\u{f437}") +#let fa-bowl-rice = fa-icon.with("\u{e2eb}") +#let fa-bowl-scoop = fa-icon.with("\u{e3de}") +#let fa-bowl-shaved-ice = fa-icon.with("\u{e3de}") +#let fa-bowl-scoops = fa-icon.with("\u{e3df}") +#let fa-bowl-soft-serve = fa-icon.with("\u{e46b}") +#let fa-bowl-spoon = fa-icon.with("\u{e3e0}") +#let fa-box = fa-icon.with("\u{f466}") +#let fa-box-archive = fa-icon.with("\u{f187}") +#let fa-archive = fa-icon.with("\u{f187}") +#let fa-box-ballot = fa-icon.with("\u{f735}") +#let fa-box-check = fa-icon.with("\u{f467}") +#let fa-box-circle-check = fa-icon.with("\u{e0c4}") +#let fa-box-dollar = fa-icon.with("\u{f4a0}") +#let fa-box-usd = fa-icon.with("\u{f4a0}") +#let fa-boxes-packing = fa-icon.with("\u{e4c7}") +#let fa-boxes-stacked = fa-icon.with("\u{f468}") +#let fa-boxes = fa-icon.with("\u{f468}") +#let fa-boxes-alt = fa-icon.with("\u{f468}") +#let fa-box-heart = fa-icon.with("\u{f49d}") +#let fa-boxing-glove = fa-icon.with("\u{f438}") +#let fa-glove-boxing = fa-icon.with("\u{f438}") +#let fa-box-open = fa-icon.with("\u{f49e}") +#let fa-box-open-full = fa-icon.with("\u{f49c}") +#let fa-box-full = fa-icon.with("\u{f49c}") +#let fa-box-taped = fa-icon.with("\u{f49a}") +#let fa-box-alt = fa-icon.with("\u{f49a}") +#let fa-box-tissue = fa-icon.with("\u{e05b}") +#let fa-bracket-curly = fa-icon.with("\u{7b}") +#let fa-bracket-curly-left = fa-icon.with("\u{7b}") +#let fa-bracket-curly-right = fa-icon.with("\u{7d}") +#let fa-bracket-round = fa-icon.with("\u{28}") +#let fa-parenthesis = fa-icon.with("\u{28}") +#let fa-bracket-round-right = fa-icon.with("\u{29}") +#let fa-brackets-curly = fa-icon.with("\u{f7ea}") +#let fa-bracket-square = fa-icon.with("\u{5b}") +#let fa-bracket = fa-icon.with("\u{5b}") +#let fa-bracket-left = fa-icon.with("\u{5b}") +#let fa-bracket-square-right = fa-icon.with("\u{5d}") +#let fa-brackets-round = fa-icon.with("\u{e0c5}") +#let fa-parentheses = fa-icon.with("\u{e0c5}") +#let fa-brackets-square = fa-icon.with("\u{f7e9}") +#let fa-brackets = fa-icon.with("\u{f7e9}") +#let fa-braille = fa-icon.with("\u{f2a1}") +#let fa-brain = fa-icon.with("\u{f5dc}") +#let fa-brain-arrow-curved-right = fa-icon.with("\u{f677}") +#let fa-mind-share = fa-icon.with("\u{f677}") +#let fa-brain-circuit = fa-icon.with("\u{e0c6}") +#let fa-brake-warning = fa-icon.with("\u{e0c7}") +#let fa-brave = fa-icon.with("\u{e63c}") +#let fa-brave-reverse = fa-icon.with("\u{e63d}") +#let fa-brazilian-real-sign = fa-icon.with("\u{e46c}") +#let fa-bread-loaf = fa-icon.with("\u{f7eb}") +#let fa-bread-slice = fa-icon.with("\u{f7ec}") +#let fa-bread-slice-butter = fa-icon.with("\u{e3e1}") +#let fa-bridge = fa-icon.with("\u{e4c8}") +#let fa-bridge-circle-check = fa-icon.with("\u{e4c9}") +#let fa-bridge-circle-exclamation = fa-icon.with("\u{e4ca}") +#let fa-bridge-circle-xmark = fa-icon.with("\u{e4cb}") +#let fa-bridge-lock = fa-icon.with("\u{e4cc}") +#let fa-bridge-suspension = fa-icon.with("\u{e4cd}") +#let fa-bridge-water = fa-icon.with("\u{e4ce}") +#let fa-briefcase = fa-icon.with("\u{f0b1}") +#let fa-briefcase-arrow-right = fa-icon.with("\u{e2f2}") +#let fa-briefcase-blank = fa-icon.with("\u{e0c8}") +#let fa-briefcase-medical = fa-icon.with("\u{f469}") +#let fa-brightness = fa-icon.with("\u{e0c9}") +#let fa-brightness-low = fa-icon.with("\u{e0ca}") +#let fa-bring-forward = fa-icon.with("\u{f856}") +#let fa-bring-front = fa-icon.with("\u{f857}") +#let fa-broccoli = fa-icon.with("\u{e3e2}") +#let fa-broom = fa-icon.with("\u{f51a}") +#let fa-broom-ball = fa-icon.with("\u{f458}") +#let fa-quidditch = fa-icon.with("\u{f458}") +#let fa-quidditch-broom-ball = fa-icon.with("\u{f458}") +#let fa-broom-wide = fa-icon.with("\u{e5d1}") +#let fa-browser = fa-icon.with("\u{f37e}") +#let fa-browsers = fa-icon.with("\u{e0cb}") +#let fa-brush = fa-icon.with("\u{f55d}") +#let fa-btc = fa-icon.with("\u{f15a}") +#let fa-bucket = fa-icon.with("\u{e4cf}") +#let fa-buffer = fa-icon.with("\u{f837}") +#let fa-bug = fa-icon.with("\u{f188}") +#let fa-bugs = fa-icon.with("\u{e4d0}") +#let fa-bug-slash = fa-icon.with("\u{e490}") +#let fa-building = fa-icon.with("\u{f1ad}") +#let fa-building-circle-arrow-right = fa-icon.with("\u{e4d1}") +#let fa-building-circle-check = fa-icon.with("\u{e4d2}") +#let fa-building-circle-exclamation = fa-icon.with("\u{e4d3}") +#let fa-building-circle-xmark = fa-icon.with("\u{e4d4}") +#let fa-building-columns = fa-icon.with("\u{f19c}") +#let fa-bank = fa-icon.with("\u{f19c}") +#let fa-institution = fa-icon.with("\u{f19c}") +#let fa-museum = fa-icon.with("\u{f19c}") +#let fa-university = fa-icon.with("\u{f19c}") +#let fa-building-flag = fa-icon.with("\u{e4d5}") +#let fa-building-lock = fa-icon.with("\u{e4d6}") +#let fa-building-magnifying-glass = fa-icon.with("\u{e61c}") +#let fa-building-memo = fa-icon.with("\u{e61e}") +#let fa-building-ngo = fa-icon.with("\u{e4d7}") +#let fa-buildings = fa-icon.with("\u{e0cc}") +#let fa-building-shield = fa-icon.with("\u{e4d8}") +#let fa-building-un = fa-icon.with("\u{e4d9}") +#let fa-building-user = fa-icon.with("\u{e4da}") +#let fa-building-wheat = fa-icon.with("\u{e4db}") +#let fa-bulldozer = fa-icon.with("\u{e655}") +#let fa-bullhorn = fa-icon.with("\u{f0a1}") +#let fa-bullseye = fa-icon.with("\u{f140}") +#let fa-bullseye-arrow = fa-icon.with("\u{f648}") +#let fa-bullseye-pointer = fa-icon.with("\u{f649}") +#let fa-buoy = fa-icon.with("\u{e5b5}") +#let fa-buoy-mooring = fa-icon.with("\u{e5b6}") +#let fa-burger = fa-icon.with("\u{f805}") +#let fa-hamburger = fa-icon.with("\u{f805}") +#let fa-burger-cheese = fa-icon.with("\u{f7f1}") +#let fa-cheeseburger = fa-icon.with("\u{f7f1}") +#let fa-burger-fries = fa-icon.with("\u{e0cd}") +#let fa-burger-glass = fa-icon.with("\u{e0ce}") +#let fa-burger-lettuce = fa-icon.with("\u{e3e3}") +#let fa-burger-soda = fa-icon.with("\u{f858}") +#let fa-buromobelexperte = fa-icon.with("\u{f37f}") +#let fa-burrito = fa-icon.with("\u{f7ed}") +#let fa-burst = fa-icon.with("\u{e4dc}") +#let fa-bus = fa-icon.with("\u{f207}") +#let fa-business-time = fa-icon.with("\u{f64a}") +#let fa-briefcase-clock = fa-icon.with("\u{f64a}") +#let fa-bus-school = fa-icon.with("\u{f5dd}") +#let fa-bus-simple = fa-icon.with("\u{f55e}") +#let fa-bus-alt = fa-icon.with("\u{f55e}") +#let fa-butter = fa-icon.with("\u{e3e4}") +#let fa-buy-n-large = fa-icon.with("\u{f8a6}") +#let fa-buysellads = fa-icon.with("\u{f20d}") +#let fa-c = fa-icon.with("\u{43}") +#let fa-cabin = fa-icon.with("\u{e46d}") +#let fa-cabinet-filing = fa-icon.with("\u{f64b}") +#let fa-cable-car = fa-icon.with("\u{f7da}") +#let fa-tram = fa-icon.with("\u{f7da}") +#let fa-cactus = fa-icon.with("\u{f8a7}") +#let fa-caduceus = fa-icon.with("\u{e681}") +#let fa-cake-candles = fa-icon.with("\u{f1fd}") +#let fa-birthday-cake = fa-icon.with("\u{f1fd}") +#let fa-cake = fa-icon.with("\u{f1fd}") +#let fa-cake-slice = fa-icon.with("\u{e3e5}") +#let fa-shortcake = fa-icon.with("\u{e3e5}") +#let fa-calculator = fa-icon.with("\u{f1ec}") +#let fa-calculator-simple = fa-icon.with("\u{f64c}") +#let fa-calculator-alt = fa-icon.with("\u{f64c}") +#let fa-calendar = fa-icon.with("\u{f133}") +#let fa-calendar-arrow-down = fa-icon.with("\u{e0d0}") +#let fa-calendar-download = fa-icon.with("\u{e0d0}") +#let fa-calendar-arrow-up = fa-icon.with("\u{e0d1}") +#let fa-calendar-upload = fa-icon.with("\u{e0d1}") +#let fa-calendar-check = fa-icon.with("\u{f274}") +#let fa-calendar-circle-exclamation = fa-icon.with("\u{e46e}") +#let fa-calendar-circle-minus = fa-icon.with("\u{e46f}") +#let fa-calendar-circle-plus = fa-icon.with("\u{e470}") +#let fa-calendar-circle-user = fa-icon.with("\u{e471}") +#let fa-calendar-clock = fa-icon.with("\u{e0d2}") +#let fa-calendar-time = fa-icon.with("\u{e0d2}") +#let fa-calendar-day = fa-icon.with("\u{f783}") +#let fa-calendar-days = fa-icon.with("\u{f073}") +#let fa-calendar-alt = fa-icon.with("\u{f073}") +#let fa-calendar-exclamation = fa-icon.with("\u{f334}") +#let fa-calendar-heart = fa-icon.with("\u{e0d3}") +#let fa-calendar-image = fa-icon.with("\u{e0d4}") +#let fa-calendar-lines = fa-icon.with("\u{e0d5}") +#let fa-calendar-note = fa-icon.with("\u{e0d5}") +#let fa-calendar-lines-pen = fa-icon.with("\u{e472}") +#let fa-calendar-minus = fa-icon.with("\u{f272}") +#let fa-calendar-pen = fa-icon.with("\u{f333}") +#let fa-calendar-edit = fa-icon.with("\u{f333}") +#let fa-calendar-plus = fa-icon.with("\u{f271}") +#let fa-calendar-range = fa-icon.with("\u{e0d6}") +#let fa-calendars = fa-icon.with("\u{e0d7}") +#let fa-calendar-star = fa-icon.with("\u{f736}") +#let fa-calendar-users = fa-icon.with("\u{e5e2}") +#let fa-calendar-week = fa-icon.with("\u{f784}") +#let fa-calendar-xmark = fa-icon.with("\u{f273}") +#let fa-calendar-times = fa-icon.with("\u{f273}") +#let fa-camcorder = fa-icon.with("\u{f8a8}") +#let fa-video-handheld = fa-icon.with("\u{f8a8}") +#let fa-camera = fa-icon.with("\u{f030}") +#let fa-camera-alt = fa-icon.with("\u{f030}") +#let fa-camera-cctv = fa-icon.with("\u{f8ac}") +#let fa-cctv = fa-icon.with("\u{f8ac}") +#let fa-camera-movie = fa-icon.with("\u{f8a9}") +#let fa-camera-polaroid = fa-icon.with("\u{f8aa}") +#let fa-camera-retro = fa-icon.with("\u{f083}") +#let fa-camera-rotate = fa-icon.with("\u{e0d8}") +#let fa-camera-security = fa-icon.with("\u{f8fe}") +#let fa-camera-home = fa-icon.with("\u{f8fe}") +#let fa-camera-slash = fa-icon.with("\u{e0d9}") +#let fa-camera-viewfinder = fa-icon.with("\u{e0da}") +#let fa-screenshot = fa-icon.with("\u{e0da}") +#let fa-camera-web = fa-icon.with("\u{f832}") +#let fa-webcam = fa-icon.with("\u{f832}") +#let fa-camera-web-slash = fa-icon.with("\u{f833}") +#let fa-webcam-slash = fa-icon.with("\u{f833}") +#let fa-campfire = fa-icon.with("\u{f6ba}") +#let fa-campground = fa-icon.with("\u{f6bb}") +#let fa-canadian-maple-leaf = fa-icon.with("\u{f785}") +#let fa-candle-holder = fa-icon.with("\u{f6bc}") +#let fa-candy = fa-icon.with("\u{e3e7}") +#let fa-candy-bar = fa-icon.with("\u{e3e8}") +#let fa-chocolate-bar = fa-icon.with("\u{e3e8}") +#let fa-candy-cane = fa-icon.with("\u{f786}") +#let fa-candy-corn = fa-icon.with("\u{f6bd}") +#let fa-can-food = fa-icon.with("\u{e3e6}") +#let fa-cannabis = fa-icon.with("\u{f55f}") +#let fa-cannon = fa-icon.with("\u{e642}") +#let fa-capsules = fa-icon.with("\u{f46b}") +#let fa-car = fa-icon.with("\u{f1b9}") +#let fa-automobile = fa-icon.with("\u{f1b9}") +#let fa-caravan = fa-icon.with("\u{f8ff}") +#let fa-caravan-simple = fa-icon.with("\u{e000}") +#let fa-caravan-alt = fa-icon.with("\u{e000}") +#let fa-car-battery = fa-icon.with("\u{f5df}") +#let fa-battery-car = fa-icon.with("\u{f5df}") +#let fa-car-bolt = fa-icon.with("\u{e341}") +#let fa-car-building = fa-icon.with("\u{f859}") +#let fa-car-bump = fa-icon.with("\u{f5e0}") +#let fa-car-burst = fa-icon.with("\u{f5e1}") +#let fa-car-crash = fa-icon.with("\u{f5e1}") +#let fa-car-bus = fa-icon.with("\u{f85a}") +#let fa-car-circle-bolt = fa-icon.with("\u{e342}") +#let fa-card-club = fa-icon.with("\u{e3e9}") +#let fa-card-diamond = fa-icon.with("\u{e3ea}") +#let fa-card-heart = fa-icon.with("\u{e3eb}") +#let fa-cards = fa-icon.with("\u{e3ed}") +#let fa-cards-blank = fa-icon.with("\u{e4df}") +#let fa-card-spade = fa-icon.with("\u{e3ec}") +#let fa-caret-down = fa-icon.with("\u{f0d7}") +#let fa-caret-left = fa-icon.with("\u{f0d9}") +#let fa-caret-right = fa-icon.with("\u{f0da}") +#let fa-caret-up = fa-icon.with("\u{f0d8}") +#let fa-car-garage = fa-icon.with("\u{f5e2}") +#let fa-car-mirrors = fa-icon.with("\u{e343}") +#let fa-car-on = fa-icon.with("\u{e4dd}") +#let fa-car-rear = fa-icon.with("\u{f5de}") +#let fa-car-alt = fa-icon.with("\u{f5de}") +#let fa-carrot = fa-icon.with("\u{f787}") +#let fa-cars = fa-icon.with("\u{f85b}") +#let fa-car-side = fa-icon.with("\u{f5e4}") +#let fa-car-side-bolt = fa-icon.with("\u{e344}") +#let fa-cart-arrow-down = fa-icon.with("\u{f218}") +#let fa-cart-arrow-up = fa-icon.with("\u{e3ee}") +#let fa-cart-circle-arrow-down = fa-icon.with("\u{e3ef}") +#let fa-cart-circle-arrow-up = fa-icon.with("\u{e3f0}") +#let fa-cart-circle-check = fa-icon.with("\u{e3f1}") +#let fa-cart-circle-exclamation = fa-icon.with("\u{e3f2}") +#let fa-cart-circle-plus = fa-icon.with("\u{e3f3}") +#let fa-cart-circle-xmark = fa-icon.with("\u{e3f4}") +#let fa-cart-flatbed = fa-icon.with("\u{f474}") +#let fa-dolly-flatbed = fa-icon.with("\u{f474}") +#let fa-cart-flatbed-boxes = fa-icon.with("\u{f475}") +#let fa-dolly-flatbed-alt = fa-icon.with("\u{f475}") +#let fa-cart-flatbed-empty = fa-icon.with("\u{f476}") +#let fa-dolly-flatbed-empty = fa-icon.with("\u{f476}") +#let fa-cart-flatbed-suitcase = fa-icon.with("\u{f59d}") +#let fa-luggage-cart = fa-icon.with("\u{f59d}") +#let fa-car-tilt = fa-icon.with("\u{f5e5}") +#let fa-cart-minus = fa-icon.with("\u{e0db}") +#let fa-cart-plus = fa-icon.with("\u{f217}") +#let fa-cart-shopping = fa-icon.with("\u{f07a}") +#let fa-shopping-cart = fa-icon.with("\u{f07a}") +#let fa-cart-shopping-fast = fa-icon.with("\u{e0dc}") +#let fa-car-tunnel = fa-icon.with("\u{e4de}") +#let fa-cart-xmark = fa-icon.with("\u{e0dd}") +#let fa-car-wash = fa-icon.with("\u{f5e6}") +#let fa-car-wrench = fa-icon.with("\u{f5e3}") +#let fa-car-mechanic = fa-icon.with("\u{f5e3}") +#let fa-cash-register = fa-icon.with("\u{f788}") +#let fa-cassette-betamax = fa-icon.with("\u{f8a4}") +#let fa-betamax = fa-icon.with("\u{f8a4}") +#let fa-cassette-tape = fa-icon.with("\u{f8ab}") +#let fa-cassette-vhs = fa-icon.with("\u{f8ec}") +#let fa-vhs = fa-icon.with("\u{f8ec}") +#let fa-castle = fa-icon.with("\u{e0de}") +#let fa-cat = fa-icon.with("\u{f6be}") +#let fa-cat-space = fa-icon.with("\u{e001}") +#let fa-cauldron = fa-icon.with("\u{f6bf}") +#let fa-cc-amazon-pay = fa-icon.with("\u{f42d}") +#let fa-cc-amex = fa-icon.with("\u{f1f3}") +#let fa-cc-apple-pay = fa-icon.with("\u{f416}") +#let fa-cc-diners-club = fa-icon.with("\u{f24c}") +#let fa-cc-discover = fa-icon.with("\u{f1f2}") +#let fa-cc-jcb = fa-icon.with("\u{f24b}") +#let fa-cc-mastercard = fa-icon.with("\u{f1f1}") +#let fa-cc-paypal = fa-icon.with("\u{f1f4}") +#let fa-cc-stripe = fa-icon.with("\u{f1f5}") +#let fa-cc-visa = fa-icon.with("\u{f1f0}") +#let fa-cedi-sign = fa-icon.with("\u{e0df}") +#let fa-centercode = fa-icon.with("\u{f380}") +#let fa-centos = fa-icon.with("\u{f789}") +#let fa-cent-sign = fa-icon.with("\u{e3f5}") +#let fa-certificate = fa-icon.with("\u{f0a3}") +#let fa-chair = fa-icon.with("\u{f6c0}") +#let fa-chair-office = fa-icon.with("\u{f6c1}") +#let fa-chalkboard = fa-icon.with("\u{f51b}") +#let fa-blackboard = fa-icon.with("\u{f51b}") +#let fa-chalkboard-user = fa-icon.with("\u{f51c}") +#let fa-chalkboard-teacher = fa-icon.with("\u{f51c}") +#let fa-champagne-glass = fa-icon.with("\u{f79e}") +#let fa-glass-champagne = fa-icon.with("\u{f79e}") +#let fa-champagne-glasses = fa-icon.with("\u{f79f}") +#let fa-glass-cheers = fa-icon.with("\u{f79f}") +#let fa-charging-station = fa-icon.with("\u{f5e7}") +#let fa-chart-area = fa-icon.with("\u{f1fe}") +#let fa-area-chart = fa-icon.with("\u{f1fe}") +#let fa-chart-bar = fa-icon.with("\u{f080}") +#let fa-bar-chart = fa-icon.with("\u{f080}") +#let fa-chart-bullet = fa-icon.with("\u{e0e1}") +#let fa-chart-candlestick = fa-icon.with("\u{e0e2}") +#let fa-chart-column = fa-icon.with("\u{e0e3}") +#let fa-chart-gantt = fa-icon.with("\u{e0e4}") +#let fa-chart-kanban = fa-icon.with("\u{e64f}") +#let fa-chart-line = fa-icon.with("\u{f201}") +#let fa-line-chart = fa-icon.with("\u{f201}") +#let fa-chart-line-down = fa-icon.with("\u{f64d}") +#let fa-chart-line-up = fa-icon.with("\u{e0e5}") +#let fa-chart-line-up-down = fa-icon.with("\u{e5d7}") +#let fa-chart-mixed = fa-icon.with("\u{f643}") +#let fa-analytics = fa-icon.with("\u{f643}") +#let fa-chart-mixed-up-circle-currency = fa-icon.with("\u{e5d8}") +#let fa-chart-mixed-up-circle-dollar = fa-icon.with("\u{e5d9}") +#let fa-chart-network = fa-icon.with("\u{f78a}") +#let fa-chart-pie = fa-icon.with("\u{f200}") +#let fa-pie-chart = fa-icon.with("\u{f200}") +#let fa-chart-pie-simple = fa-icon.with("\u{f64e}") +#let fa-chart-pie-alt = fa-icon.with("\u{f64e}") +#let fa-chart-pie-simple-circle-currency = fa-icon.with("\u{e604}") +#let fa-chart-pie-simple-circle-dollar = fa-icon.with("\u{e605}") +#let fa-chart-pyramid = fa-icon.with("\u{e0e6}") +#let fa-chart-radar = fa-icon.with("\u{e0e7}") +#let fa-chart-scatter = fa-icon.with("\u{f7ee}") +#let fa-chart-scatter-3d = fa-icon.with("\u{e0e8}") +#let fa-chart-scatter-bubble = fa-icon.with("\u{e0e9}") +#let fa-chart-simple = fa-icon.with("\u{e473}") +#let fa-chart-simple-horizontal = fa-icon.with("\u{e474}") +#let fa-chart-tree-map = fa-icon.with("\u{e0ea}") +#let fa-chart-user = fa-icon.with("\u{f6a3}") +#let fa-user-chart = fa-icon.with("\u{f6a3}") +#let fa-chart-waterfall = fa-icon.with("\u{e0eb}") +#let fa-check = fa-icon.with("\u{f00c}") +#let fa-check-double = fa-icon.with("\u{f560}") +#let fa-check-to-slot = fa-icon.with("\u{f772}") +#let fa-vote-yea = fa-icon.with("\u{f772}") +#let fa-cheese = fa-icon.with("\u{f7ef}") +#let fa-cheese-swiss = fa-icon.with("\u{f7f0}") +#let fa-cherries = fa-icon.with("\u{e0ec}") +#let fa-chess = fa-icon.with("\u{f439}") +#let fa-chess-bishop = fa-icon.with("\u{f43a}") +#let fa-chess-bishop-piece = fa-icon.with("\u{f43b}") +#let fa-chess-bishop-alt = fa-icon.with("\u{f43b}") +#let fa-chess-board = fa-icon.with("\u{f43c}") +#let fa-chess-clock = fa-icon.with("\u{f43d}") +#let fa-chess-clock-flip = fa-icon.with("\u{f43e}") +#let fa-chess-clock-alt = fa-icon.with("\u{f43e}") +#let fa-chess-king = fa-icon.with("\u{f43f}") +#let fa-chess-king-piece = fa-icon.with("\u{f440}") +#let fa-chess-king-alt = fa-icon.with("\u{f440}") +#let fa-chess-knight = fa-icon.with("\u{f441}") +#let fa-chess-knight-piece = fa-icon.with("\u{f442}") +#let fa-chess-knight-alt = fa-icon.with("\u{f442}") +#let fa-chess-pawn = fa-icon.with("\u{f443}") +#let fa-chess-pawn-piece = fa-icon.with("\u{f444}") +#let fa-chess-pawn-alt = fa-icon.with("\u{f444}") +#let fa-chess-queen = fa-icon.with("\u{f445}") +#let fa-chess-queen-piece = fa-icon.with("\u{f446}") +#let fa-chess-queen-alt = fa-icon.with("\u{f446}") +#let fa-chess-rook = fa-icon.with("\u{f447}") +#let fa-chess-rook-piece = fa-icon.with("\u{f448}") +#let fa-chess-rook-alt = fa-icon.with("\u{f448}") +#let fa-chestnut = fa-icon.with("\u{e3f6}") +#let fa-chevron-down = fa-icon.with("\u{f078}") +#let fa-chevron-left = fa-icon.with("\u{f053}") +#let fa-chevron-right = fa-icon.with("\u{f054}") +#let fa-chevrons-down = fa-icon.with("\u{f322}") +#let fa-chevron-double-down = fa-icon.with("\u{f322}") +#let fa-chevrons-left = fa-icon.with("\u{f323}") +#let fa-chevron-double-left = fa-icon.with("\u{f323}") +#let fa-chevrons-right = fa-icon.with("\u{f324}") +#let fa-chevron-double-right = fa-icon.with("\u{f324}") +#let fa-chevrons-up = fa-icon.with("\u{f325}") +#let fa-chevron-double-up = fa-icon.with("\u{f325}") +#let fa-chevron-up = fa-icon.with("\u{f077}") +#let fa-chf-sign = fa-icon.with("\u{e602}") +#let fa-child = fa-icon.with("\u{f1ae}") +#let fa-child-combatant = fa-icon.with("\u{e4e0}") +#let fa-child-rifle = fa-icon.with("\u{e4e0}") +#let fa-child-dress = fa-icon.with("\u{e59c}") +#let fa-child-reaching = fa-icon.with("\u{e59d}") +#let fa-children = fa-icon.with("\u{e4e1}") +#let fa-chimney = fa-icon.with("\u{f78b}") +#let fa-chopsticks = fa-icon.with("\u{e3f7}") +#let fa-chrome = fa-icon.with("\u{f268}") +#let fa-chromecast = fa-icon.with("\u{f838}") +#let fa-church = fa-icon.with("\u{f51d}") +#let fa-circle = fa-icon.with("\u{f111}") +#let fa-circle-0 = fa-icon.with("\u{e0ed}") +#let fa-circle-1 = fa-icon.with("\u{e0ee}") +#let fa-circle-2 = fa-icon.with("\u{e0ef}") +#let fa-circle-3 = fa-icon.with("\u{e0f0}") +#let fa-circle-4 = fa-icon.with("\u{e0f1}") +#let fa-circle-5 = fa-icon.with("\u{e0f2}") +#let fa-circle-6 = fa-icon.with("\u{e0f3}") +#let fa-circle-7 = fa-icon.with("\u{e0f4}") +#let fa-circle-8 = fa-icon.with("\u{e0f5}") +#let fa-circle-9 = fa-icon.with("\u{e0f6}") +#let fa-circle-a = fa-icon.with("\u{e0f7}") +#let fa-circle-ampersand = fa-icon.with("\u{e0f8}") +#let fa-circle-arrow-down = fa-icon.with("\u{f0ab}") +#let fa-arrow-circle-down = fa-icon.with("\u{f0ab}") +#let fa-circle-arrow-down-left = fa-icon.with("\u{e0f9}") +#let fa-circle-arrow-down-right = fa-icon.with("\u{e0fa}") +#let fa-circle-arrow-left = fa-icon.with("\u{f0a8}") +#let fa-arrow-circle-left = fa-icon.with("\u{f0a8}") +#let fa-circle-arrow-right = fa-icon.with("\u{f0a9}") +#let fa-arrow-circle-right = fa-icon.with("\u{f0a9}") +#let fa-circle-arrow-up = fa-icon.with("\u{f0aa}") +#let fa-arrow-circle-up = fa-icon.with("\u{f0aa}") +#let fa-circle-arrow-up-left = fa-icon.with("\u{e0fb}") +#let fa-circle-arrow-up-right = fa-icon.with("\u{e0fc}") +#let fa-circle-b = fa-icon.with("\u{e0fd}") +#let fa-circle-bolt = fa-icon.with("\u{e0fe}") +#let fa-circle-bookmark = fa-icon.with("\u{e100}") +#let fa-bookmark-circle = fa-icon.with("\u{e100}") +#let fa-circle-book-open = fa-icon.with("\u{e0ff}") +#let fa-book-circle = fa-icon.with("\u{e0ff}") +#let fa-circle-c = fa-icon.with("\u{e101}") +#let fa-circle-calendar = fa-icon.with("\u{e102}") +#let fa-calendar-circle = fa-icon.with("\u{e102}") +#let fa-circle-camera = fa-icon.with("\u{e103}") +#let fa-camera-circle = fa-icon.with("\u{e103}") +#let fa-circle-caret-down = fa-icon.with("\u{f32d}") +#let fa-caret-circle-down = fa-icon.with("\u{f32d}") +#let fa-circle-caret-left = fa-icon.with("\u{f32e}") +#let fa-caret-circle-left = fa-icon.with("\u{f32e}") +#let fa-circle-caret-right = fa-icon.with("\u{f330}") +#let fa-caret-circle-right = fa-icon.with("\u{f330}") +#let fa-circle-caret-up = fa-icon.with("\u{f331}") +#let fa-caret-circle-up = fa-icon.with("\u{f331}") +#let fa-circle-check = fa-icon.with("\u{f058}") +#let fa-check-circle = fa-icon.with("\u{f058}") +#let fa-circle-chevron-down = fa-icon.with("\u{f13a}") +#let fa-chevron-circle-down = fa-icon.with("\u{f13a}") +#let fa-circle-chevron-left = fa-icon.with("\u{f137}") +#let fa-chevron-circle-left = fa-icon.with("\u{f137}") +#let fa-circle-chevron-right = fa-icon.with("\u{f138}") +#let fa-chevron-circle-right = fa-icon.with("\u{f138}") +#let fa-circle-chevron-up = fa-icon.with("\u{f139}") +#let fa-chevron-circle-up = fa-icon.with("\u{f139}") +#let fa-circle-d = fa-icon.with("\u{e104}") +#let fa-circle-dashed = fa-icon.with("\u{e105}") +#let fa-circle-divide = fa-icon.with("\u{e106}") +#let fa-circle-dollar = fa-icon.with("\u{f2e8}") +#let fa-dollar-circle = fa-icon.with("\u{f2e8}") +#let fa-usd-circle = fa-icon.with("\u{f2e8}") +#let fa-circle-dollar-to-slot = fa-icon.with("\u{f4b9}") +#let fa-donate = fa-icon.with("\u{f4b9}") +#let fa-circle-dot = fa-icon.with("\u{f192}") +#let fa-dot-circle = fa-icon.with("\u{f192}") +#let fa-circle-down = fa-icon.with("\u{f358}") +#let fa-arrow-alt-circle-down = fa-icon.with("\u{f358}") +#let fa-circle-down-left = fa-icon.with("\u{e107}") +#let fa-circle-down-right = fa-icon.with("\u{e108}") +#let fa-circle-e = fa-icon.with("\u{e109}") +#let fa-circle-ellipsis = fa-icon.with("\u{e10a}") +#let fa-circle-ellipsis-vertical = fa-icon.with("\u{e10b}") +#let fa-circle-envelope = fa-icon.with("\u{e10c}") +#let fa-envelope-circle = fa-icon.with("\u{e10c}") +#let fa-circle-euro = fa-icon.with("\u{e5ce}") +#let fa-circle-exclamation = fa-icon.with("\u{f06a}") +#let fa-exclamation-circle = fa-icon.with("\u{f06a}") +#let fa-circle-exclamation-check = fa-icon.with("\u{e10d}") +#let fa-circle-f = fa-icon.with("\u{e10e}") +#let fa-circle-g = fa-icon.with("\u{e10f}") +#let fa-circle-gf = fa-icon.with("\u{e67f}") +#let fa-circle-h = fa-icon.with("\u{f47e}") +#let fa-hospital-symbol = fa-icon.with("\u{f47e}") +#let fa-circle-half = fa-icon.with("\u{e110}") +#let fa-circle-half-stroke = fa-icon.with("\u{f042}") +#let fa-adjust = fa-icon.with("\u{f042}") +#let fa-circle-heart = fa-icon.with("\u{f4c7}") +#let fa-heart-circle = fa-icon.with("\u{f4c7}") +#let fa-circle-i = fa-icon.with("\u{e111}") +#let fa-circle-info = fa-icon.with("\u{f05a}") +#let fa-info-circle = fa-icon.with("\u{f05a}") +#let fa-circle-j = fa-icon.with("\u{e112}") +#let fa-circle-k = fa-icon.with("\u{e113}") +#let fa-circle-l = fa-icon.with("\u{e114}") +#let fa-circle-left = fa-icon.with("\u{f359}") +#let fa-arrow-alt-circle-left = fa-icon.with("\u{f359}") +#let fa-circle-location-arrow = fa-icon.with("\u{f602}") +#let fa-location-circle = fa-icon.with("\u{f602}") +#let fa-circle-m = fa-icon.with("\u{e115}") +#let fa-circle-microphone = fa-icon.with("\u{e116}") +#let fa-microphone-circle = fa-icon.with("\u{e116}") +#let fa-circle-microphone-lines = fa-icon.with("\u{e117}") +#let fa-microphone-circle-alt = fa-icon.with("\u{e117}") +#let fa-circle-minus = fa-icon.with("\u{f056}") +#let fa-minus-circle = fa-icon.with("\u{f056}") +#let fa-circle-n = fa-icon.with("\u{e118}") +#let fa-circle-nodes = fa-icon.with("\u{e4e2}") +#let fa-circle-notch = fa-icon.with("\u{f1ce}") +#let fa-circle-o = fa-icon.with("\u{e119}") +#let fa-circle-p = fa-icon.with("\u{e11a}") +#let fa-circle-parking = fa-icon.with("\u{f615}") +#let fa-parking-circle = fa-icon.with("\u{f615}") +#let fa-circle-pause = fa-icon.with("\u{f28b}") +#let fa-pause-circle = fa-icon.with("\u{f28b}") +#let fa-circle-phone = fa-icon.with("\u{e11b}") +#let fa-phone-circle = fa-icon.with("\u{e11b}") +#let fa-circle-phone-flip = fa-icon.with("\u{e11c}") +#let fa-phone-circle-alt = fa-icon.with("\u{e11c}") +#let fa-circle-phone-hangup = fa-icon.with("\u{e11d}") +#let fa-phone-circle-down = fa-icon.with("\u{e11d}") +#let fa-circle-play = fa-icon.with("\u{f144}") +#let fa-play-circle = fa-icon.with("\u{f144}") +#let fa-circle-plus = fa-icon.with("\u{f055}") +#let fa-plus-circle = fa-icon.with("\u{f055}") +#let fa-circle-q = fa-icon.with("\u{e11e}") +#let fa-circle-quarter = fa-icon.with("\u{e11f}") +#let fa-circle-quarters = fa-icon.with("\u{e3f8}") +#let fa-circle-quarter-stroke = fa-icon.with("\u{e5d3}") +#let fa-circle-question = fa-icon.with("\u{f059}") +#let fa-question-circle = fa-icon.with("\u{f059}") +#let fa-circle-r = fa-icon.with("\u{e120}") +#let fa-circle-radiation = fa-icon.with("\u{f7ba}") +#let fa-radiation-alt = fa-icon.with("\u{f7ba}") +#let fa-circle-right = fa-icon.with("\u{f35a}") +#let fa-arrow-alt-circle-right = fa-icon.with("\u{f35a}") +#let fa-circle-s = fa-icon.with("\u{e121}") +#let fa-circle-small = fa-icon.with("\u{e122}") +#let fa-circle-sort = fa-icon.with("\u{e030}") +#let fa-sort-circle = fa-icon.with("\u{e030}") +#let fa-circle-sort-down = fa-icon.with("\u{e031}") +#let fa-sort-circle-down = fa-icon.with("\u{e031}") +#let fa-circle-sort-up = fa-icon.with("\u{e032}") +#let fa-sort-circle-up = fa-icon.with("\u{e032}") +#let fa-circles-overlap = fa-icon.with("\u{e600}") +#let fa-circle-star = fa-icon.with("\u{e123}") +#let fa-star-circle = fa-icon.with("\u{e123}") +#let fa-circle-sterling = fa-icon.with("\u{e5cf}") +#let fa-circle-stop = fa-icon.with("\u{f28d}") +#let fa-stop-circle = fa-icon.with("\u{f28d}") +#let fa-circle-t = fa-icon.with("\u{e124}") +#let fa-circle-three-quarters = fa-icon.with("\u{e125}") +#let fa-circle-three-quarters-stroke = fa-icon.with("\u{e5d4}") +#let fa-circle-trash = fa-icon.with("\u{e126}") +#let fa-trash-circle = fa-icon.with("\u{e126}") +#let fa-circle-u = fa-icon.with("\u{e127}") +#let fa-circle-up = fa-icon.with("\u{f35b}") +#let fa-arrow-alt-circle-up = fa-icon.with("\u{f35b}") +#let fa-circle-up-left = fa-icon.with("\u{e128}") +#let fa-circle-up-right = fa-icon.with("\u{e129}") +#let fa-circle-user = fa-icon.with("\u{f2bd}") +#let fa-user-circle = fa-icon.with("\u{f2bd}") +#let fa-circle-v = fa-icon.with("\u{e12a}") +#let fa-circle-video = fa-icon.with("\u{e12b}") +#let fa-video-circle = fa-icon.with("\u{e12b}") +#let fa-circle-w = fa-icon.with("\u{e12c}") +#let fa-circle-waveform-lines = fa-icon.with("\u{e12d}") +#let fa-waveform-circle = fa-icon.with("\u{e12d}") +#let fa-circle-wifi = fa-icon.with("\u{e67d}") +#let fa-circle-wifi-circle-wifi = fa-icon.with("\u{e67e}") +#let fa-circle-wifi-group = fa-icon.with("\u{e67e}") +#let fa-circle-x = fa-icon.with("\u{e12e}") +#let fa-circle-xmark = fa-icon.with("\u{f057}") +#let fa-times-circle = fa-icon.with("\u{f057}") +#let fa-xmark-circle = fa-icon.with("\u{f057}") +#let fa-circle-y = fa-icon.with("\u{e12f}") +#let fa-circle-yen = fa-icon.with("\u{e5d0}") +#let fa-circle-z = fa-icon.with("\u{e130}") +#let fa-citrus = fa-icon.with("\u{e2f4}") +#let fa-citrus-slice = fa-icon.with("\u{e2f5}") +#let fa-city = fa-icon.with("\u{f64f}") +#let fa-clapperboard = fa-icon.with("\u{e131}") +#let fa-clapperboard-play = fa-icon.with("\u{e132}") +#let fa-clarinet = fa-icon.with("\u{f8ad}") +#let fa-claw-marks = fa-icon.with("\u{f6c2}") +#let fa-clipboard = fa-icon.with("\u{f328}") +#let fa-clipboard-check = fa-icon.with("\u{f46c}") +#let fa-clipboard-list = fa-icon.with("\u{f46d}") +#let fa-clipboard-list-check = fa-icon.with("\u{f737}") +#let fa-clipboard-medical = fa-icon.with("\u{e133}") +#let fa-clipboard-prescription = fa-icon.with("\u{f5e8}") +#let fa-clipboard-question = fa-icon.with("\u{e4e3}") +#let fa-clipboard-user = fa-icon.with("\u{f7f3}") +#let fa-clock = fa-icon.with("\u{f017}") +#let fa-clock-four = fa-icon.with("\u{f017}") +#let fa-clock-desk = fa-icon.with("\u{e134}") +#let fa-clock-eight = fa-icon.with("\u{e345}") +#let fa-clock-eight-thirty = fa-icon.with("\u{e346}") +#let fa-clock-eleven = fa-icon.with("\u{e347}") +#let fa-clock-eleven-thirty = fa-icon.with("\u{e348}") +#let fa-clock-five = fa-icon.with("\u{e349}") +#let fa-clock-five-thirty = fa-icon.with("\u{e34a}") +#let fa-clock-four-thirty = fa-icon.with("\u{e34b}") +#let fa-clock-nine = fa-icon.with("\u{e34c}") +#let fa-clock-nine-thirty = fa-icon.with("\u{e34d}") +#let fa-clock-one = fa-icon.with("\u{e34e}") +#let fa-clock-one-thirty = fa-icon.with("\u{e34f}") +#let fa-clock-rotate-left = fa-icon.with("\u{f1da}") +#let fa-history = fa-icon.with("\u{f1da}") +#let fa-clock-seven = fa-icon.with("\u{e350}") +#let fa-clock-seven-thirty = fa-icon.with("\u{e351}") +#let fa-clock-six = fa-icon.with("\u{e352}") +#let fa-clock-six-thirty = fa-icon.with("\u{e353}") +#let fa-clock-ten = fa-icon.with("\u{e354}") +#let fa-clock-ten-thirty = fa-icon.with("\u{e355}") +#let fa-clock-three = fa-icon.with("\u{e356}") +#let fa-clock-three-thirty = fa-icon.with("\u{e357}") +#let fa-clock-twelve = fa-icon.with("\u{e358}") +#let fa-clock-twelve-thirty = fa-icon.with("\u{e359}") +#let fa-clock-two = fa-icon.with("\u{e35a}") +#let fa-clock-two-thirty = fa-icon.with("\u{e35b}") +#let fa-clone = fa-icon.with("\u{f24d}") +#let fa-closed-captioning = fa-icon.with("\u{f20a}") +#let fa-closed-captioning-slash = fa-icon.with("\u{e135}") +#let fa-clothes-hanger = fa-icon.with("\u{e136}") +#let fa-cloud = fa-icon.with("\u{f0c2}") +#let fa-cloud-arrow-down = fa-icon.with("\u{f0ed}") +#let fa-cloud-download = fa-icon.with("\u{f0ed}") +#let fa-cloud-download-alt = fa-icon.with("\u{f0ed}") +#let fa-cloud-arrow-up = fa-icon.with("\u{f0ee}") +#let fa-cloud-upload = fa-icon.with("\u{f0ee}") +#let fa-cloud-upload-alt = fa-icon.with("\u{f0ee}") +#let fa-cloud-binary = fa-icon.with("\u{e601}") +#let fa-cloud-bolt = fa-icon.with("\u{f76c}") +#let fa-thunderstorm = fa-icon.with("\u{f76c}") +#let fa-cloud-bolt-moon = fa-icon.with("\u{f76d}") +#let fa-thunderstorm-moon = fa-icon.with("\u{f76d}") +#let fa-cloud-bolt-sun = fa-icon.with("\u{f76e}") +#let fa-thunderstorm-sun = fa-icon.with("\u{f76e}") +#let fa-cloud-check = fa-icon.with("\u{e35c}") +#let fa-cloud-drizzle = fa-icon.with("\u{f738}") +#let fa-cloud-exclamation = fa-icon.with("\u{e491}") +#let fa-cloudflare = fa-icon.with("\u{e07d}") +#let fa-cloud-fog = fa-icon.with("\u{f74e}") +#let fa-fog = fa-icon.with("\u{f74e}") +#let fa-cloud-hail = fa-icon.with("\u{f739}") +#let fa-cloud-hail-mixed = fa-icon.with("\u{f73a}") +#let fa-cloud-meatball = fa-icon.with("\u{f73b}") +#let fa-cloud-minus = fa-icon.with("\u{e35d}") +#let fa-cloud-moon = fa-icon.with("\u{f6c3}") +#let fa-cloud-moon-rain = fa-icon.with("\u{f73c}") +#let fa-cloud-music = fa-icon.with("\u{f8ae}") +#let fa-cloud-plus = fa-icon.with("\u{e35e}") +#let fa-cloud-question = fa-icon.with("\u{e492}") +#let fa-cloud-rain = fa-icon.with("\u{f73d}") +#let fa-cloud-rainbow = fa-icon.with("\u{f73e}") +#let fa-clouds = fa-icon.with("\u{f744}") +#let fa-cloudscale = fa-icon.with("\u{f383}") +#let fa-cloud-showers = fa-icon.with("\u{f73f}") +#let fa-cloud-showers-heavy = fa-icon.with("\u{f740}") +#let fa-cloud-showers-water = fa-icon.with("\u{e4e4}") +#let fa-cloud-slash = fa-icon.with("\u{e137}") +#let fa-cloud-sleet = fa-icon.with("\u{f741}") +#let fa-cloudsmith = fa-icon.with("\u{f384}") +#let fa-clouds-moon = fa-icon.with("\u{f745}") +#let fa-cloud-snow = fa-icon.with("\u{f742}") +#let fa-clouds-sun = fa-icon.with("\u{f746}") +#let fa-cloud-sun = fa-icon.with("\u{f6c4}") +#let fa-cloud-sun-rain = fa-icon.with("\u{f743}") +#let fa-cloudversify = fa-icon.with("\u{f385}") +#let fa-cloud-word = fa-icon.with("\u{e138}") +#let fa-cloud-xmark = fa-icon.with("\u{e35f}") +#let fa-clover = fa-icon.with("\u{e139}") +#let fa-club = fa-icon.with("\u{f327}") +#let fa-cmplid = fa-icon.with("\u{e360}") +#let fa-coconut = fa-icon.with("\u{e2f6}") +#let fa-code = fa-icon.with("\u{f121}") +#let fa-code-branch = fa-icon.with("\u{f126}") +#let fa-code-commit = fa-icon.with("\u{f386}") +#let fa-code-compare = fa-icon.with("\u{e13a}") +#let fa-code-fork = fa-icon.with("\u{e13b}") +#let fa-code-merge = fa-icon.with("\u{f387}") +#let fa-codepen = fa-icon.with("\u{f1cb}") +#let fa-code-pull-request = fa-icon.with("\u{e13c}") +#let fa-code-pull-request-closed = fa-icon.with("\u{e3f9}") +#let fa-code-pull-request-draft = fa-icon.with("\u{e3fa}") +#let fa-code-simple = fa-icon.with("\u{e13d}") +#let fa-codiepie = fa-icon.with("\u{f284}") +#let fa-coffee-bean = fa-icon.with("\u{e13e}") +#let fa-coffee-beans = fa-icon.with("\u{e13f}") +#let fa-coffee-pot = fa-icon.with("\u{e002}") +#let fa-coffin = fa-icon.with("\u{f6c6}") +#let fa-coffin-cross = fa-icon.with("\u{e051}") +#let fa-coin = fa-icon.with("\u{f85c}") +#let fa-coin-blank = fa-icon.with("\u{e3fb}") +#let fa-coin-front = fa-icon.with("\u{e3fc}") +#let fa-coins = fa-icon.with("\u{f51e}") +#let fa-coin-vertical = fa-icon.with("\u{e3fd}") +#let fa-colon = fa-icon.with("\u{3a}") +#let fa-colon-sign = fa-icon.with("\u{e140}") +#let fa-columns-3 = fa-icon.with("\u{e361}") +#let fa-comet = fa-icon.with("\u{e003}") +#let fa-comma = fa-icon.with("\u{2c}") +#let fa-command = fa-icon.with("\u{e142}") +#let fa-comment = fa-icon.with("\u{f075}") +#let fa-comment-arrow-down = fa-icon.with("\u{e143}") +#let fa-comment-arrow-up = fa-icon.with("\u{e144}") +#let fa-comment-arrow-up-right = fa-icon.with("\u{e145}") +#let fa-comment-captions = fa-icon.with("\u{e146}") +#let fa-comment-check = fa-icon.with("\u{f4ac}") +#let fa-comment-code = fa-icon.with("\u{e147}") +#let fa-comment-dollar = fa-icon.with("\u{f651}") +#let fa-comment-dots = fa-icon.with("\u{f4ad}") +#let fa-commenting = fa-icon.with("\u{f4ad}") +#let fa-comment-exclamation = fa-icon.with("\u{f4af}") +#let fa-comment-heart = fa-icon.with("\u{e5c8}") +#let fa-comment-image = fa-icon.with("\u{e148}") +#let fa-comment-lines = fa-icon.with("\u{f4b0}") +#let fa-comment-medical = fa-icon.with("\u{f7f5}") +#let fa-comment-middle = fa-icon.with("\u{e149}") +#let fa-comment-middle-top = fa-icon.with("\u{e14a}") +#let fa-comment-minus = fa-icon.with("\u{f4b1}") +#let fa-comment-music = fa-icon.with("\u{f8b0}") +#let fa-comment-pen = fa-icon.with("\u{f4ae}") +#let fa-comment-edit = fa-icon.with("\u{f4ae}") +#let fa-comment-plus = fa-icon.with("\u{f4b2}") +#let fa-comment-question = fa-icon.with("\u{e14b}") +#let fa-comment-quote = fa-icon.with("\u{e14c}") +#let fa-comments = fa-icon.with("\u{f086}") +#let fa-comments-dollar = fa-icon.with("\u{f653}") +#let fa-comment-slash = fa-icon.with("\u{f4b3}") +#let fa-comment-smile = fa-icon.with("\u{f4b4}") +#let fa-comment-sms = fa-icon.with("\u{f7cd}") +#let fa-sms = fa-icon.with("\u{f7cd}") +#let fa-comments-question = fa-icon.with("\u{e14e}") +#let fa-comments-question-check = fa-icon.with("\u{e14f}") +#let fa-comment-text = fa-icon.with("\u{e14d}") +#let fa-comment-xmark = fa-icon.with("\u{f4b5}") +#let fa-comment-times = fa-icon.with("\u{f4b5}") +#let fa-compact-disc = fa-icon.with("\u{f51f}") +#let fa-compass = fa-icon.with("\u{f14e}") +#let fa-compass-drafting = fa-icon.with("\u{f568}") +#let fa-drafting-compass = fa-icon.with("\u{f568}") +#let fa-compass-slash = fa-icon.with("\u{f5e9}") +#let fa-compress = fa-icon.with("\u{f066}") +#let fa-compress-wide = fa-icon.with("\u{f326}") +#let fa-computer = fa-icon.with("\u{e4e5}") +#let fa-computer-classic = fa-icon.with("\u{f8b1}") +#let fa-computer-mouse = fa-icon.with("\u{f8cc}") +#let fa-mouse = fa-icon.with("\u{f8cc}") +#let fa-computer-mouse-scrollwheel = fa-icon.with("\u{f8cd}") +#let fa-mouse-alt = fa-icon.with("\u{f8cd}") +#let fa-computer-speaker = fa-icon.with("\u{f8b2}") +#let fa-confluence = fa-icon.with("\u{f78d}") +#let fa-connectdevelop = fa-icon.with("\u{f20e}") +#let fa-container-storage = fa-icon.with("\u{f4b7}") +#let fa-contao = fa-icon.with("\u{f26d}") +#let fa-conveyor-belt = fa-icon.with("\u{f46e}") +#let fa-conveyor-belt-arm = fa-icon.with("\u{e5f8}") +#let fa-conveyor-belt-boxes = fa-icon.with("\u{f46f}") +#let fa-conveyor-belt-alt = fa-icon.with("\u{f46f}") +#let fa-conveyor-belt-empty = fa-icon.with("\u{e150}") +#let fa-cookie = fa-icon.with("\u{f563}") +#let fa-cookie-bite = fa-icon.with("\u{f564}") +#let fa-copy = fa-icon.with("\u{f0c5}") +#let fa-copyright = fa-icon.with("\u{f1f9}") +#let fa-corn = fa-icon.with("\u{f6c7}") +#let fa-corner = fa-icon.with("\u{e3fe}") +#let fa-cotton-bureau = fa-icon.with("\u{f89e}") +#let fa-couch = fa-icon.with("\u{f4b8}") +#let fa-court-sport = fa-icon.with("\u{e643}") +#let fa-cow = fa-icon.with("\u{f6c8}") +#let fa-cowbell = fa-icon.with("\u{f8b3}") +#let fa-cowbell-circle-plus = fa-icon.with("\u{f8b4}") +#let fa-cowbell-more = fa-icon.with("\u{f8b4}") +#let fa-cpanel = fa-icon.with("\u{f388}") +#let fa-crab = fa-icon.with("\u{e3ff}") +#let fa-crate-apple = fa-icon.with("\u{f6b1}") +#let fa-apple-crate = fa-icon.with("\u{f6b1}") +#let fa-crate-empty = fa-icon.with("\u{e151}") +#let fa-creative-commons = fa-icon.with("\u{f25e}") +#let fa-creative-commons-by = fa-icon.with("\u{f4e7}") +#let fa-creative-commons-nc = fa-icon.with("\u{f4e8}") +#let fa-creative-commons-nc-eu = fa-icon.with("\u{f4e9}") +#let fa-creative-commons-nc-jp = fa-icon.with("\u{f4ea}") +#let fa-creative-commons-nd = fa-icon.with("\u{f4eb}") +#let fa-creative-commons-pd = fa-icon.with("\u{f4ec}") +#let fa-creative-commons-pd-alt = fa-icon.with("\u{f4ed}") +#let fa-creative-commons-remix = fa-icon.with("\u{f4ee}") +#let fa-creative-commons-sa = fa-icon.with("\u{f4ef}") +#let fa-creative-commons-sampling = fa-icon.with("\u{f4f0}") +#let fa-creative-commons-sampling-plus = fa-icon.with("\u{f4f1}") +#let fa-creative-commons-share = fa-icon.with("\u{f4f2}") +#let fa-creative-commons-zero = fa-icon.with("\u{f4f3}") +#let fa-credit-card = fa-icon.with("\u{f09d}") +#let fa-credit-card-alt = fa-icon.with("\u{f09d}") +#let fa-credit-card-blank = fa-icon.with("\u{f389}") +#let fa-credit-card-front = fa-icon.with("\u{f38a}") +#let fa-cricket-bat-ball = fa-icon.with("\u{f449}") +#let fa-cricket = fa-icon.with("\u{f449}") +#let fa-critical-role = fa-icon.with("\u{f6c9}") +#let fa-croissant = fa-icon.with("\u{f7f6}") +#let fa-crop = fa-icon.with("\u{f125}") +#let fa-crop-simple = fa-icon.with("\u{f565}") +#let fa-crop-alt = fa-icon.with("\u{f565}") +#let fa-cross = fa-icon.with("\u{f654}") +#let fa-crosshairs = fa-icon.with("\u{f05b}") +#let fa-crosshairs-simple = fa-icon.with("\u{e59f}") +#let fa-crow = fa-icon.with("\u{f520}") +#let fa-crown = fa-icon.with("\u{f521}") +#let fa-crutch = fa-icon.with("\u{f7f7}") +#let fa-crutches = fa-icon.with("\u{f7f8}") +#let fa-cruzeiro-sign = fa-icon.with("\u{e152}") +#let fa-crystal-ball = fa-icon.with("\u{e362}") +#let fa-css3 = fa-icon.with("\u{f13c}") +#let fa-css3-alt = fa-icon.with("\u{f38b}") +#let fa-cube = fa-icon.with("\u{f1b2}") +#let fa-cubes = fa-icon.with("\u{f1b3}") +#let fa-cubes-stacked = fa-icon.with("\u{e4e6}") +#let fa-cucumber = fa-icon.with("\u{e401}") +#let fa-cupcake = fa-icon.with("\u{e402}") +#let fa-cup-straw = fa-icon.with("\u{e363}") +#let fa-cup-straw-swoosh = fa-icon.with("\u{e364}") +#let fa-cup-togo = fa-icon.with("\u{f6c5}") +#let fa-coffee-togo = fa-icon.with("\u{f6c5}") +#let fa-curling-stone = fa-icon.with("\u{f44a}") +#let fa-curling = fa-icon.with("\u{f44a}") +#let fa-custard = fa-icon.with("\u{e403}") +#let fa-cuttlefish = fa-icon.with("\u{f38c}") +#let fa-d = fa-icon.with("\u{44}") +#let fa-dagger = fa-icon.with("\u{f6cb}") +#let fa-dailymotion = fa-icon.with("\u{e052}") +#let fa-d-and-d = fa-icon.with("\u{f38d}") +#let fa-d-and-d-beyond = fa-icon.with("\u{f6ca}") +#let fa-dart-lang = fa-icon.with("\u{e693}") +#let fa-dash = fa-icon.with("\u{e404}") +#let fa-minus-large = fa-icon.with("\u{e404}") +#let fa-dashcube = fa-icon.with("\u{f210}") +#let fa-database = fa-icon.with("\u{f1c0}") +#let fa-debian = fa-icon.with("\u{e60b}") +#let fa-deer = fa-icon.with("\u{f78e}") +#let fa-deer-rudolph = fa-icon.with("\u{f78f}") +#let fa-deezer = fa-icon.with("\u{e077}") +#let fa-delete-left = fa-icon.with("\u{f55a}") +#let fa-backspace = fa-icon.with("\u{f55a}") +#let fa-delete-right = fa-icon.with("\u{e154}") +#let fa-delicious = fa-icon.with("\u{f1a5}") +#let fa-democrat = fa-icon.with("\u{f747}") +#let fa-deploydog = fa-icon.with("\u{f38e}") +#let fa-deskpro = fa-icon.with("\u{f38f}") +#let fa-desktop = fa-icon.with("\u{f390}") +#let fa-desktop-alt = fa-icon.with("\u{f390}") +#let fa-desktop-arrow-down = fa-icon.with("\u{e155}") +#let fa-dev = fa-icon.with("\u{f6cc}") +#let fa-deviantart = fa-icon.with("\u{f1bd}") +#let fa-dharmachakra = fa-icon.with("\u{f655}") +#let fa-dhl = fa-icon.with("\u{f790}") +#let fa-diagram-cells = fa-icon.with("\u{e475}") +#let fa-diagram-lean-canvas = fa-icon.with("\u{e156}") +#let fa-diagram-nested = fa-icon.with("\u{e157}") +#let fa-diagram-next = fa-icon.with("\u{e476}") +#let fa-diagram-predecessor = fa-icon.with("\u{e477}") +#let fa-diagram-previous = fa-icon.with("\u{e478}") +#let fa-diagram-project = fa-icon.with("\u{f542}") +#let fa-project-diagram = fa-icon.with("\u{f542}") +#let fa-diagram-sankey = fa-icon.with("\u{e158}") +#let fa-diagram-subtask = fa-icon.with("\u{e479}") +#let fa-diagram-successor = fa-icon.with("\u{e47a}") +#let fa-diagram-venn = fa-icon.with("\u{e15a}") +#let fa-dial = fa-icon.with("\u{e15b}") +#let fa-dial-med-high = fa-icon.with("\u{e15b}") +#let fa-dial-high = fa-icon.with("\u{e15c}") +#let fa-dial-low = fa-icon.with("\u{e15d}") +#let fa-dial-max = fa-icon.with("\u{e15e}") +#let fa-dial-med = fa-icon.with("\u{e15f}") +#let fa-dial-med-low = fa-icon.with("\u{e160}") +#let fa-dial-min = fa-icon.with("\u{e161}") +#let fa-dial-off = fa-icon.with("\u{e162}") +#let fa-diamond = fa-icon.with("\u{f219}") +#let fa-diamond-exclamation = fa-icon.with("\u{e405}") +#let fa-diamond-half = fa-icon.with("\u{e5b7}") +#let fa-diamond-half-stroke = fa-icon.with("\u{e5b8}") +#let fa-diamonds-4 = fa-icon.with("\u{e68b}") +#let fa-diamond-turn-right = fa-icon.with("\u{f5eb}") +#let fa-directions = fa-icon.with("\u{f5eb}") +#let fa-diaspora = fa-icon.with("\u{f791}") +#let fa-dice = fa-icon.with("\u{f522}") +#let fa-dice-d10 = fa-icon.with("\u{f6cd}") +#let fa-dice-d12 = fa-icon.with("\u{f6ce}") +#let fa-dice-d20 = fa-icon.with("\u{f6cf}") +#let fa-dice-d4 = fa-icon.with("\u{f6d0}") +#let fa-dice-d6 = fa-icon.with("\u{f6d1}") +#let fa-dice-d8 = fa-icon.with("\u{f6d2}") +#let fa-dice-five = fa-icon.with("\u{f523}") +#let fa-dice-four = fa-icon.with("\u{f524}") +#let fa-dice-one = fa-icon.with("\u{f525}") +#let fa-dice-six = fa-icon.with("\u{f526}") +#let fa-dice-three = fa-icon.with("\u{f527}") +#let fa-dice-two = fa-icon.with("\u{f528}") +#let fa-digg = fa-icon.with("\u{f1a6}") +#let fa-digital-ocean = fa-icon.with("\u{f391}") +#let fa-dinosaur = fa-icon.with("\u{e5fe}") +#let fa-diploma = fa-icon.with("\u{f5ea}") +#let fa-scroll-ribbon = fa-icon.with("\u{f5ea}") +#let fa-disc-drive = fa-icon.with("\u{f8b5}") +#let fa-discord = fa-icon.with("\u{f392}") +#let fa-discourse = fa-icon.with("\u{f393}") +#let fa-disease = fa-icon.with("\u{f7fa}") +#let fa-display = fa-icon.with("\u{e163}") +#let fa-display-arrow-down = fa-icon.with("\u{e164}") +#let fa-display-chart-up = fa-icon.with("\u{e5e3}") +#let fa-display-chart-up-circle-currency = fa-icon.with("\u{e5e5}") +#let fa-display-chart-up-circle-dollar = fa-icon.with("\u{e5e6}") +#let fa-display-code = fa-icon.with("\u{e165}") +#let fa-desktop-code = fa-icon.with("\u{e165}") +#let fa-display-medical = fa-icon.with("\u{e166}") +#let fa-desktop-medical = fa-icon.with("\u{e166}") +#let fa-display-slash = fa-icon.with("\u{e2fa}") +#let fa-desktop-slash = fa-icon.with("\u{e2fa}") +#let fa-distribute-spacing-horizontal = fa-icon.with("\u{e365}") +#let fa-distribute-spacing-vertical = fa-icon.with("\u{e366}") +#let fa-ditto = fa-icon.with("\u{22}") +#let fa-divide = fa-icon.with("\u{f529}") +#let fa-dna = fa-icon.with("\u{f471}") +#let fa-dochub = fa-icon.with("\u{f394}") +#let fa-docker = fa-icon.with("\u{f395}") +#let fa-dog = fa-icon.with("\u{f6d3}") +#let fa-dog-leashed = fa-icon.with("\u{f6d4}") +#let fa-dollar-sign = fa-icon.with("\u{24}") +#let fa-dollar = fa-icon.with("\u{24}") +#let fa-usd = fa-icon.with("\u{24}") +#let fa-dolly = fa-icon.with("\u{f472}") +#let fa-dolly-box = fa-icon.with("\u{f472}") +#let fa-dolly-empty = fa-icon.with("\u{f473}") +#let fa-dolphin = fa-icon.with("\u{e168}") +#let fa-dong-sign = fa-icon.with("\u{e169}") +#let fa-do-not-enter = fa-icon.with("\u{f5ec}") +#let fa-donut = fa-icon.with("\u{e406}") +#let fa-doughnut = fa-icon.with("\u{e406}") +#let fa-door-closed = fa-icon.with("\u{f52a}") +#let fa-door-open = fa-icon.with("\u{f52b}") +#let fa-dove = fa-icon.with("\u{f4ba}") +#let fa-down = fa-icon.with("\u{f354}") +#let fa-arrow-alt-down = fa-icon.with("\u{f354}") +#let fa-down-from-bracket = fa-icon.with("\u{e66b}") +#let fa-down-from-dotted-line = fa-icon.with("\u{e407}") +#let fa-down-from-line = fa-icon.with("\u{f349}") +#let fa-arrow-alt-from-top = fa-icon.with("\u{f349}") +#let fa-down-left = fa-icon.with("\u{e16a}") +#let fa-down-left-and-up-right-to-center = fa-icon.with("\u{f422}") +#let fa-compress-alt = fa-icon.with("\u{f422}") +#let fa-download = fa-icon.with("\u{f019}") +#let fa-down-long = fa-icon.with("\u{f309}") +#let fa-long-arrow-alt-down = fa-icon.with("\u{f309}") +#let fa-down-right = fa-icon.with("\u{e16b}") +#let fa-down-to-bracket = fa-icon.with("\u{e4e7}") +#let fa-down-to-dotted-line = fa-icon.with("\u{e408}") +#let fa-down-to-line = fa-icon.with("\u{f34a}") +#let fa-arrow-alt-to-bottom = fa-icon.with("\u{f34a}") +#let fa-draft2digital = fa-icon.with("\u{f396}") +#let fa-dragon = fa-icon.with("\u{f6d5}") +#let fa-draw-circle = fa-icon.with("\u{f5ed}") +#let fa-draw-polygon = fa-icon.with("\u{f5ee}") +#let fa-draw-square = fa-icon.with("\u{f5ef}") +#let fa-dreidel = fa-icon.with("\u{f792}") +#let fa-dribbble = fa-icon.with("\u{f17d}") +#let fa-drone = fa-icon.with("\u{f85f}") +#let fa-drone-front = fa-icon.with("\u{f860}") +#let fa-drone-alt = fa-icon.with("\u{f860}") +#let fa-dropbox = fa-icon.with("\u{f16b}") +#let fa-droplet = fa-icon.with("\u{f043}") +#let fa-tint = fa-icon.with("\u{f043}") +#let fa-droplet-degree = fa-icon.with("\u{f748}") +#let fa-dewpoint = fa-icon.with("\u{f748}") +#let fa-droplet-percent = fa-icon.with("\u{f750}") +#let fa-humidity = fa-icon.with("\u{f750}") +#let fa-droplet-slash = fa-icon.with("\u{f5c7}") +#let fa-tint-slash = fa-icon.with("\u{f5c7}") +#let fa-drum = fa-icon.with("\u{f569}") +#let fa-drum-steelpan = fa-icon.with("\u{f56a}") +#let fa-drumstick = fa-icon.with("\u{f6d6}") +#let fa-drumstick-bite = fa-icon.with("\u{f6d7}") +#let fa-drupal = fa-icon.with("\u{f1a9}") +#let fa-dryer = fa-icon.with("\u{f861}") +#let fa-dryer-heat = fa-icon.with("\u{f862}") +#let fa-dryer-alt = fa-icon.with("\u{f862}") +#let fa-duck = fa-icon.with("\u{f6d8}") +#let fa-dumbbell = fa-icon.with("\u{f44b}") +#let fa-dumpster = fa-icon.with("\u{f793}") +#let fa-dumpster-fire = fa-icon.with("\u{f794}") +#let fa-dungeon = fa-icon.with("\u{f6d9}") +#let fa-dyalog = fa-icon.with("\u{f399}") +#let fa-e = fa-icon.with("\u{45}") +#let fa-ear = fa-icon.with("\u{f5f0}") +#let fa-ear-deaf = fa-icon.with("\u{f2a4}") +#let fa-deaf = fa-icon.with("\u{f2a4}") +#let fa-deafness = fa-icon.with("\u{f2a4}") +#let fa-hard-of-hearing = fa-icon.with("\u{f2a4}") +#let fa-ear-listen = fa-icon.with("\u{f2a2}") +#let fa-assistive-listening-systems = fa-icon.with("\u{f2a2}") +#let fa-earlybirds = fa-icon.with("\u{f39a}") +#let fa-ear-muffs = fa-icon.with("\u{f795}") +#let fa-earth-africa = fa-icon.with("\u{f57c}") +#let fa-globe-africa = fa-icon.with("\u{f57c}") +#let fa-earth-americas = fa-icon.with("\u{f57d}") +#let fa-earth = fa-icon.with("\u{f57d}") +#let fa-earth-america = fa-icon.with("\u{f57d}") +#let fa-globe-americas = fa-icon.with("\u{f57d}") +#let fa-earth-asia = fa-icon.with("\u{f57e}") +#let fa-globe-asia = fa-icon.with("\u{f57e}") +#let fa-earth-europe = fa-icon.with("\u{f7a2}") +#let fa-globe-europe = fa-icon.with("\u{f7a2}") +#let fa-earth-oceania = fa-icon.with("\u{e47b}") +#let fa-globe-oceania = fa-icon.with("\u{e47b}") +#let fa-ebay = fa-icon.with("\u{f4f4}") +#let fa-eclipse = fa-icon.with("\u{f749}") +#let fa-edge = fa-icon.with("\u{f282}") +#let fa-edge-legacy = fa-icon.with("\u{e078}") +#let fa-egg = fa-icon.with("\u{f7fb}") +#let fa-egg-fried = fa-icon.with("\u{f7fc}") +#let fa-eggplant = fa-icon.with("\u{e16c}") +#let fa-eject = fa-icon.with("\u{f052}") +#let fa-elementor = fa-icon.with("\u{f430}") +#let fa-elephant = fa-icon.with("\u{f6da}") +#let fa-elevator = fa-icon.with("\u{e16d}") +#let fa-ellipsis = fa-icon.with("\u{f141}") +#let fa-ellipsis-h = fa-icon.with("\u{f141}") +#let fa-ellipsis-stroke = fa-icon.with("\u{f39b}") +#let fa-ellipsis-h-alt = fa-icon.with("\u{f39b}") +#let fa-ellipsis-stroke-vertical = fa-icon.with("\u{f39c}") +#let fa-ellipsis-v-alt = fa-icon.with("\u{f39c}") +#let fa-ellipsis-vertical = fa-icon.with("\u{f142}") +#let fa-ellipsis-v = fa-icon.with("\u{f142}") +#let fa-ello = fa-icon.with("\u{f5f1}") +#let fa-ember = fa-icon.with("\u{f423}") +#let fa-empire = fa-icon.with("\u{f1d1}") +#let fa-empty-set = fa-icon.with("\u{f656}") +#let fa-engine = fa-icon.with("\u{e16e}") +#let fa-engine-warning = fa-icon.with("\u{f5f2}") +#let fa-engine-exclamation = fa-icon.with("\u{f5f2}") +#let fa-envelope = fa-icon.with("\u{f0e0}") +#let fa-envelope-circle-check = fa-icon.with("\u{e4e8}") +#let fa-envelope-dot = fa-icon.with("\u{e16f}") +#let fa-envelope-badge = fa-icon.with("\u{e16f}") +#let fa-envelope-open = fa-icon.with("\u{f2b6}") +#let fa-envelope-open-dollar = fa-icon.with("\u{f657}") +#let fa-envelope-open-text = fa-icon.with("\u{f658}") +#let fa-envelopes = fa-icon.with("\u{e170}") +#let fa-envelopes-bulk = fa-icon.with("\u{f674}") +#let fa-mail-bulk = fa-icon.with("\u{f674}") +#let fa-envira = fa-icon.with("\u{f299}") +#let fa-equals = fa-icon.with("\u{3d}") +#let fa-eraser = fa-icon.with("\u{f12d}") +#let fa-erlang = fa-icon.with("\u{f39d}") +#let fa-escalator = fa-icon.with("\u{e171}") +#let fa-ethereum = fa-icon.with("\u{f42e}") +#let fa-ethernet = fa-icon.with("\u{f796}") +#let fa-etsy = fa-icon.with("\u{f2d7}") +#let fa-euro-sign = fa-icon.with("\u{f153}") +#let fa-eur = fa-icon.with("\u{f153}") +#let fa-euro = fa-icon.with("\u{f153}") +#let fa-evernote = fa-icon.with("\u{f839}") +#let fa-excavator = fa-icon.with("\u{e656}") +#let fa-exclamation = fa-icon.with("\u{21}") +#let fa-expand = fa-icon.with("\u{f065}") +#let fa-expand-wide = fa-icon.with("\u{f320}") +#let fa-expeditedssl = fa-icon.with("\u{f23e}") +#let fa-explosion = fa-icon.with("\u{e4e9}") +#let fa-eye = fa-icon.with("\u{f06e}") +#let fa-eye-dropper = fa-icon.with("\u{f1fb}") +#let fa-eye-dropper-empty = fa-icon.with("\u{f1fb}") +#let fa-eyedropper = fa-icon.with("\u{f1fb}") +#let fa-eye-dropper-full = fa-icon.with("\u{e172}") +#let fa-eye-dropper-half = fa-icon.with("\u{e173}") +#let fa-eye-evil = fa-icon.with("\u{f6db}") +#let fa-eye-low-vision = fa-icon.with("\u{f2a8}") +#let fa-low-vision = fa-icon.with("\u{f2a8}") +#let fa-eyes = fa-icon.with("\u{e367}") +#let fa-eye-slash = fa-icon.with("\u{f070}") +#let fa-f = fa-icon.with("\u{46}") +#let fa-face-angry = fa-icon.with("\u{f556}") +#let fa-angry = fa-icon.with("\u{f556}") +#let fa-face-angry-horns = fa-icon.with("\u{e368}") +#let fa-face-anguished = fa-icon.with("\u{e369}") +#let fa-face-anxious-sweat = fa-icon.with("\u{e36a}") +#let fa-face-astonished = fa-icon.with("\u{e36b}") +#let fa-face-awesome = fa-icon.with("\u{e409}") +#let fa-gave-dandy = fa-icon.with("\u{e409}") +#let fa-face-beam-hand-over-mouth = fa-icon.with("\u{e47c}") +#let fa-facebook = fa-icon.with("\u{f09a}") +#let fa-facebook-f = fa-icon.with("\u{f39e}") +#let fa-facebook-messenger = fa-icon.with("\u{f39f}") +#let fa-face-clouds = fa-icon.with("\u{e47d}") +#let fa-face-confounded = fa-icon.with("\u{e36c}") +#let fa-face-confused = fa-icon.with("\u{e36d}") +#let fa-face-cowboy-hat = fa-icon.with("\u{e36e}") +#let fa-face-diagonal-mouth = fa-icon.with("\u{e47e}") +#let fa-face-disappointed = fa-icon.with("\u{e36f}") +#let fa-face-disguise = fa-icon.with("\u{e370}") +#let fa-face-dizzy = fa-icon.with("\u{f567}") +#let fa-dizzy = fa-icon.with("\u{f567}") +#let fa-face-dotted = fa-icon.with("\u{e47f}") +#let fa-face-downcast-sweat = fa-icon.with("\u{e371}") +#let fa-face-drooling = fa-icon.with("\u{e372}") +#let fa-face-exhaling = fa-icon.with("\u{e480}") +#let fa-face-explode = fa-icon.with("\u{e2fe}") +#let fa-exploding-head = fa-icon.with("\u{e2fe}") +#let fa-face-expressionless = fa-icon.with("\u{e373}") +#let fa-face-eyes-xmarks = fa-icon.with("\u{e374}") +#let fa-face-fearful = fa-icon.with("\u{e375}") +#let fa-face-flushed = fa-icon.with("\u{f579}") +#let fa-flushed = fa-icon.with("\u{f579}") +#let fa-face-frown = fa-icon.with("\u{f119}") +#let fa-frown = fa-icon.with("\u{f119}") +#let fa-face-frown-open = fa-icon.with("\u{f57a}") +#let fa-frown-open = fa-icon.with("\u{f57a}") +#let fa-face-frown-slight = fa-icon.with("\u{e376}") +#let fa-face-glasses = fa-icon.with("\u{e377}") +#let fa-face-grimace = fa-icon.with("\u{f57f}") +#let fa-grimace = fa-icon.with("\u{f57f}") +#let fa-face-grin = fa-icon.with("\u{f580}") +#let fa-grin = fa-icon.with("\u{f580}") +#let fa-face-grin-beam = fa-icon.with("\u{f582}") +#let fa-grin-beam = fa-icon.with("\u{f582}") +#let fa-face-grin-beam-sweat = fa-icon.with("\u{f583}") +#let fa-grin-beam-sweat = fa-icon.with("\u{f583}") +#let fa-face-grin-hearts = fa-icon.with("\u{f584}") +#let fa-grin-hearts = fa-icon.with("\u{f584}") +#let fa-face-grin-squint = fa-icon.with("\u{f585}") +#let fa-grin-squint = fa-icon.with("\u{f585}") +#let fa-face-grin-squint-tears = fa-icon.with("\u{f586}") +#let fa-grin-squint-tears = fa-icon.with("\u{f586}") +#let fa-face-grin-stars = fa-icon.with("\u{f587}") +#let fa-grin-stars = fa-icon.with("\u{f587}") +#let fa-face-grin-tears = fa-icon.with("\u{f588}") +#let fa-grin-tears = fa-icon.with("\u{f588}") +#let fa-face-grin-tongue = fa-icon.with("\u{f589}") +#let fa-grin-tongue = fa-icon.with("\u{f589}") +#let fa-face-grin-tongue-squint = fa-icon.with("\u{f58a}") +#let fa-grin-tongue-squint = fa-icon.with("\u{f58a}") +#let fa-face-grin-tongue-wink = fa-icon.with("\u{f58b}") +#let fa-grin-tongue-wink = fa-icon.with("\u{f58b}") +#let fa-face-grin-wide = fa-icon.with("\u{f581}") +#let fa-grin-alt = fa-icon.with("\u{f581}") +#let fa-face-grin-wink = fa-icon.with("\u{f58c}") +#let fa-grin-wink = fa-icon.with("\u{f58c}") +#let fa-face-hand-over-mouth = fa-icon.with("\u{e378}") +#let fa-face-hand-peeking = fa-icon.with("\u{e481}") +#let fa-face-hand-yawn = fa-icon.with("\u{e379}") +#let fa-face-head-bandage = fa-icon.with("\u{e37a}") +#let fa-face-holding-back-tears = fa-icon.with("\u{e482}") +#let fa-face-hushed = fa-icon.with("\u{e37b}") +#let fa-face-icicles = fa-icon.with("\u{e37c}") +#let fa-face-kiss = fa-icon.with("\u{f596}") +#let fa-kiss = fa-icon.with("\u{f596}") +#let fa-face-kiss-beam = fa-icon.with("\u{f597}") +#let fa-kiss-beam = fa-icon.with("\u{f597}") +#let fa-face-kiss-closed-eyes = fa-icon.with("\u{e37d}") +#let fa-face-kiss-wink-heart = fa-icon.with("\u{f598}") +#let fa-kiss-wink-heart = fa-icon.with("\u{f598}") +#let fa-face-laugh = fa-icon.with("\u{f599}") +#let fa-laugh = fa-icon.with("\u{f599}") +#let fa-face-laugh-beam = fa-icon.with("\u{f59a}") +#let fa-laugh-beam = fa-icon.with("\u{f59a}") +#let fa-face-laugh-squint = fa-icon.with("\u{f59b}") +#let fa-laugh-squint = fa-icon.with("\u{f59b}") +#let fa-face-laugh-wink = fa-icon.with("\u{f59c}") +#let fa-laugh-wink = fa-icon.with("\u{f59c}") +#let fa-face-lying = fa-icon.with("\u{e37e}") +#let fa-face-mask = fa-icon.with("\u{e37f}") +#let fa-face-meh = fa-icon.with("\u{f11a}") +#let fa-meh = fa-icon.with("\u{f11a}") +#let fa-face-meh-blank = fa-icon.with("\u{f5a4}") +#let fa-meh-blank = fa-icon.with("\u{f5a4}") +#let fa-face-melting = fa-icon.with("\u{e483}") +#let fa-face-monocle = fa-icon.with("\u{e380}") +#let fa-face-nauseated = fa-icon.with("\u{e381}") +#let fa-face-nose-steam = fa-icon.with("\u{e382}") +#let fa-face-party = fa-icon.with("\u{e383}") +#let fa-face-pensive = fa-icon.with("\u{e384}") +#let fa-face-persevering = fa-icon.with("\u{e385}") +#let fa-face-pleading = fa-icon.with("\u{e386}") +#let fa-face-pouting = fa-icon.with("\u{e387}") +#let fa-face-raised-eyebrow = fa-icon.with("\u{e388}") +#let fa-face-relieved = fa-icon.with("\u{e389}") +#let fa-face-rolling-eyes = fa-icon.with("\u{f5a5}") +#let fa-meh-rolling-eyes = fa-icon.with("\u{f5a5}") +#let fa-face-sad-cry = fa-icon.with("\u{f5b3}") +#let fa-sad-cry = fa-icon.with("\u{f5b3}") +#let fa-face-sad-sweat = fa-icon.with("\u{e38a}") +#let fa-face-sad-tear = fa-icon.with("\u{f5b4}") +#let fa-sad-tear = fa-icon.with("\u{f5b4}") +#let fa-face-saluting = fa-icon.with("\u{e484}") +#let fa-face-scream = fa-icon.with("\u{e38b}") +#let fa-face-shush = fa-icon.with("\u{e38c}") +#let fa-face-sleeping = fa-icon.with("\u{e38d}") +#let fa-face-sleepy = fa-icon.with("\u{e38e}") +#let fa-face-smile = fa-icon.with("\u{f118}") +#let fa-smile = fa-icon.with("\u{f118}") +#let fa-face-smile-beam = fa-icon.with("\u{f5b8}") +#let fa-smile-beam = fa-icon.with("\u{f5b8}") +#let fa-face-smile-halo = fa-icon.with("\u{e38f}") +#let fa-face-smile-hearts = fa-icon.with("\u{e390}") +#let fa-face-smile-horns = fa-icon.with("\u{e391}") +#let fa-face-smile-plus = fa-icon.with("\u{f5b9}") +#let fa-smile-plus = fa-icon.with("\u{f5b9}") +#let fa-face-smile-relaxed = fa-icon.with("\u{e392}") +#let fa-face-smile-tear = fa-icon.with("\u{e393}") +#let fa-face-smile-tongue = fa-icon.with("\u{e394}") +#let fa-face-smile-upside-down = fa-icon.with("\u{e395}") +#let fa-face-smile-wink = fa-icon.with("\u{f4da}") +#let fa-smile-wink = fa-icon.with("\u{f4da}") +#let fa-face-smiling-hands = fa-icon.with("\u{e396}") +#let fa-face-smirking = fa-icon.with("\u{e397}") +#let fa-face-spiral-eyes = fa-icon.with("\u{e485}") +#let fa-face-sunglasses = fa-icon.with("\u{e398}") +#let fa-face-surprise = fa-icon.with("\u{f5c2}") +#let fa-surprise = fa-icon.with("\u{f5c2}") +#let fa-face-swear = fa-icon.with("\u{e399}") +#let fa-face-thermometer = fa-icon.with("\u{e39a}") +#let fa-face-thinking = fa-icon.with("\u{e39b}") +#let fa-face-tired = fa-icon.with("\u{f5c8}") +#let fa-tired = fa-icon.with("\u{f5c8}") +#let fa-face-tissue = fa-icon.with("\u{e39c}") +#let fa-face-tongue-money = fa-icon.with("\u{e39d}") +#let fa-face-tongue-sweat = fa-icon.with("\u{e39e}") +#let fa-face-unamused = fa-icon.with("\u{e39f}") +#let fa-face-viewfinder = fa-icon.with("\u{e2ff}") +#let fa-face-vomit = fa-icon.with("\u{e3a0}") +#let fa-face-weary = fa-icon.with("\u{e3a1}") +#let fa-face-woozy = fa-icon.with("\u{e3a2}") +#let fa-face-worried = fa-icon.with("\u{e3a3}") +#let fa-face-zany = fa-icon.with("\u{e3a4}") +#let fa-face-zipper = fa-icon.with("\u{e3a5}") +#let fa-falafel = fa-icon.with("\u{e40a}") +#let fa-family = fa-icon.with("\u{e300}") +#let fa-family-dress = fa-icon.with("\u{e301}") +#let fa-family-pants = fa-icon.with("\u{e302}") +#let fa-fan = fa-icon.with("\u{f863}") +#let fa-fan-table = fa-icon.with("\u{e004}") +#let fa-fantasy-flight-games = fa-icon.with("\u{f6dc}") +#let fa-farm = fa-icon.with("\u{f864}") +#let fa-barn-silo = fa-icon.with("\u{f864}") +#let fa-faucet = fa-icon.with("\u{e005}") +#let fa-faucet-drip = fa-icon.with("\u{e006}") +#let fa-fax = fa-icon.with("\u{f1ac}") +#let fa-feather = fa-icon.with("\u{f52d}") +#let fa-feather-pointed = fa-icon.with("\u{f56b}") +#let fa-feather-alt = fa-icon.with("\u{f56b}") +#let fa-fedex = fa-icon.with("\u{f797}") +#let fa-fedora = fa-icon.with("\u{f798}") +#let fa-fence = fa-icon.with("\u{e303}") +#let fa-ferris-wheel = fa-icon.with("\u{e174}") +#let fa-ferry = fa-icon.with("\u{e4ea}") +#let fa-field-hockey-stick-ball = fa-icon.with("\u{f44c}") +#let fa-field-hockey = fa-icon.with("\u{f44c}") +#let fa-figma = fa-icon.with("\u{f799}") +#let fa-file = fa-icon.with("\u{f15b}") +#let fa-file-arrow-down = fa-icon.with("\u{f56d}") +#let fa-file-download = fa-icon.with("\u{f56d}") +#let fa-file-arrow-up = fa-icon.with("\u{f574}") +#let fa-file-upload = fa-icon.with("\u{f574}") +#let fa-file-audio = fa-icon.with("\u{f1c7}") +#let fa-file-binary = fa-icon.with("\u{e175}") +#let fa-file-cad = fa-icon.with("\u{e672}") +#let fa-file-certificate = fa-icon.with("\u{f5f3}") +#let fa-file-award = fa-icon.with("\u{f5f3}") +#let fa-file-chart-column = fa-icon.with("\u{f659}") +#let fa-file-chart-line = fa-icon.with("\u{f659}") +#let fa-file-chart-pie = fa-icon.with("\u{f65a}") +#let fa-file-check = fa-icon.with("\u{f316}") +#let fa-file-circle-check = fa-icon.with("\u{e5a0}") +#let fa-file-circle-exclamation = fa-icon.with("\u{e4eb}") +#let fa-file-circle-info = fa-icon.with("\u{e493}") +#let fa-file-circle-minus = fa-icon.with("\u{e4ed}") +#let fa-file-circle-plus = fa-icon.with("\u{e494}") +#let fa-file-circle-question = fa-icon.with("\u{e4ef}") +#let fa-file-circle-xmark = fa-icon.with("\u{e5a1}") +#let fa-file-code = fa-icon.with("\u{f1c9}") +#let fa-file-contract = fa-icon.with("\u{f56c}") +#let fa-file-csv = fa-icon.with("\u{f6dd}") +#let fa-file-dashed-line = fa-icon.with("\u{f877}") +#let fa-page-break = fa-icon.with("\u{f877}") +#let fa-file-doc = fa-icon.with("\u{e5ed}") +#let fa-file-eps = fa-icon.with("\u{e644}") +#let fa-file-excel = fa-icon.with("\u{f1c3}") +#let fa-file-exclamation = fa-icon.with("\u{f31a}") +#let fa-file-export = fa-icon.with("\u{f56e}") +#let fa-arrow-right-from-file = fa-icon.with("\u{f56e}") +#let fa-file-gif = fa-icon.with("\u{e645}") +#let fa-file-heart = fa-icon.with("\u{e176}") +#let fa-file-image = fa-icon.with("\u{f1c5}") +#let fa-file-import = fa-icon.with("\u{f56f}") +#let fa-arrow-right-to-file = fa-icon.with("\u{f56f}") +#let fa-file-invoice = fa-icon.with("\u{f570}") +#let fa-file-invoice-dollar = fa-icon.with("\u{f571}") +#let fa-file-jpg = fa-icon.with("\u{e646}") +#let fa-file-lines = fa-icon.with("\u{f15c}") +#let fa-file-alt = fa-icon.with("\u{f15c}") +#let fa-file-text = fa-icon.with("\u{f15c}") +#let fa-file-lock = fa-icon.with("\u{e3a6}") +#let fa-file-magnifying-glass = fa-icon.with("\u{f865}") +#let fa-file-search = fa-icon.with("\u{f865}") +#let fa-file-medical = fa-icon.with("\u{f477}") +#let fa-file-minus = fa-icon.with("\u{f318}") +#let fa-file-mov = fa-icon.with("\u{e647}") +#let fa-file-mp3 = fa-icon.with("\u{e648}") +#let fa-file-mp4 = fa-icon.with("\u{e649}") +#let fa-file-music = fa-icon.with("\u{f8b6}") +#let fa-file-pdf = fa-icon.with("\u{f1c1}") +#let fa-file-pen = fa-icon.with("\u{f31c}") +#let fa-file-edit = fa-icon.with("\u{f31c}") +#let fa-file-plus = fa-icon.with("\u{f319}") +#let fa-file-plus-minus = fa-icon.with("\u{e177}") +#let fa-file-png = fa-icon.with("\u{e666}") +#let fa-file-powerpoint = fa-icon.with("\u{f1c4}") +#let fa-file-ppt = fa-icon.with("\u{e64a}") +#let fa-file-prescription = fa-icon.with("\u{f572}") +#let fa-files = fa-icon.with("\u{e178}") +#let fa-file-shield = fa-icon.with("\u{e4f0}") +#let fa-file-signature = fa-icon.with("\u{f573}") +#let fa-file-slash = fa-icon.with("\u{e3a7}") +#let fa-files-medical = fa-icon.with("\u{f7fd}") +#let fa-file-spreadsheet = fa-icon.with("\u{f65b}") +#let fa-file-svg = fa-icon.with("\u{e64b}") +#let fa-file-user = fa-icon.with("\u{f65c}") +#let fa-file-vector = fa-icon.with("\u{e64c}") +#let fa-file-video = fa-icon.with("\u{f1c8}") +#let fa-file-waveform = fa-icon.with("\u{f478}") +#let fa-file-medical-alt = fa-icon.with("\u{f478}") +#let fa-file-word = fa-icon.with("\u{f1c2}") +#let fa-file-xls = fa-icon.with("\u{e64d}") +#let fa-file-xmark = fa-icon.with("\u{f317}") +#let fa-file-times = fa-icon.with("\u{f317}") +#let fa-file-xml = fa-icon.with("\u{e654}") +#let fa-file-zip = fa-icon.with("\u{e5ee}") +#let fa-file-zipper = fa-icon.with("\u{f1c6}") +#let fa-file-archive = fa-icon.with("\u{f1c6}") +#let fa-fill = fa-icon.with("\u{f575}") +#let fa-fill-drip = fa-icon.with("\u{f576}") +#let fa-film = fa-icon.with("\u{f008}") +#let fa-film-canister = fa-icon.with("\u{f8b7}") +#let fa-film-cannister = fa-icon.with("\u{f8b7}") +#let fa-films = fa-icon.with("\u{e17a}") +#let fa-film-simple = fa-icon.with("\u{f3a0}") +#let fa-film-alt = fa-icon.with("\u{f3a0}") +#let fa-film-slash = fa-icon.with("\u{e179}") +#let fa-filter = fa-icon.with("\u{f0b0}") +#let fa-filter-circle-dollar = fa-icon.with("\u{f662}") +#let fa-funnel-dollar = fa-icon.with("\u{f662}") +#let fa-filter-circle-xmark = fa-icon.with("\u{e17b}") +#let fa-filter-list = fa-icon.with("\u{e17c}") +#let fa-filters = fa-icon.with("\u{e17e}") +#let fa-filter-slash = fa-icon.with("\u{e17d}") +#let fa-fingerprint = fa-icon.with("\u{f577}") +#let fa-fire = fa-icon.with("\u{f06d}") +#let fa-fire-burner = fa-icon.with("\u{e4f1}") +#let fa-fire-extinguisher = fa-icon.with("\u{f134}") +#let fa-fire-flame = fa-icon.with("\u{f6df}") +#let fa-flame = fa-icon.with("\u{f6df}") +#let fa-fire-flame-curved = fa-icon.with("\u{f7e4}") +#let fa-fire-alt = fa-icon.with("\u{f7e4}") +#let fa-fire-flame-simple = fa-icon.with("\u{f46a}") +#let fa-burn = fa-icon.with("\u{f46a}") +#let fa-firefox = fa-icon.with("\u{f269}") +#let fa-firefox-browser = fa-icon.with("\u{e007}") +#let fa-fire-hydrant = fa-icon.with("\u{e17f}") +#let fa-fireplace = fa-icon.with("\u{f79a}") +#let fa-fire-smoke = fa-icon.with("\u{f74b}") +#let fa-firstdraft = fa-icon.with("\u{f3a1}") +#let fa-first-order = fa-icon.with("\u{f2b0}") +#let fa-first-order-alt = fa-icon.with("\u{f50a}") +#let fa-fish = fa-icon.with("\u{f578}") +#let fa-fish-bones = fa-icon.with("\u{e304}") +#let fa-fish-cooked = fa-icon.with("\u{f7fe}") +#let fa-fish-fins = fa-icon.with("\u{e4f2}") +#let fa-fishing-rod = fa-icon.with("\u{e3a8}") +#let fa-flag = fa-icon.with("\u{f024}") +#let fa-flag-checkered = fa-icon.with("\u{f11e}") +#let fa-flag-pennant = fa-icon.with("\u{f456}") +#let fa-pennant = fa-icon.with("\u{f456}") +#let fa-flag-swallowtail = fa-icon.with("\u{f74c}") +#let fa-flag-alt = fa-icon.with("\u{f74c}") +#let fa-flag-usa = fa-icon.with("\u{f74d}") +#let fa-flashlight = fa-icon.with("\u{f8b8}") +#let fa-flask = fa-icon.with("\u{f0c3}") +#let fa-flask-gear = fa-icon.with("\u{e5f1}") +#let fa-flask-round-poison = fa-icon.with("\u{f6e0}") +#let fa-flask-poison = fa-icon.with("\u{f6e0}") +#let fa-flask-round-potion = fa-icon.with("\u{f6e1}") +#let fa-flask-potion = fa-icon.with("\u{f6e1}") +#let fa-flask-vial = fa-icon.with("\u{e4f3}") +#let fa-flatbread = fa-icon.with("\u{e40b}") +#let fa-flatbread-stuffed = fa-icon.with("\u{e40c}") +#let fa-flickr = fa-icon.with("\u{f16e}") +#let fa-flipboard = fa-icon.with("\u{f44d}") +#let fa-floppy-disk = fa-icon.with("\u{f0c7}") +#let fa-save = fa-icon.with("\u{f0c7}") +#let fa-floppy-disk-circle-arrow-right = fa-icon.with("\u{e180}") +#let fa-save-circle-arrow-right = fa-icon.with("\u{e180}") +#let fa-floppy-disk-circle-xmark = fa-icon.with("\u{e181}") +#let fa-floppy-disk-times = fa-icon.with("\u{e181}") +#let fa-save-circle-xmark = fa-icon.with("\u{e181}") +#let fa-save-times = fa-icon.with("\u{e181}") +#let fa-floppy-disk-pen = fa-icon.with("\u{e182}") +#let fa-floppy-disks = fa-icon.with("\u{e183}") +#let fa-florin-sign = fa-icon.with("\u{e184}") +#let fa-flower = fa-icon.with("\u{f7ff}") +#let fa-flower-daffodil = fa-icon.with("\u{f800}") +#let fa-flower-tulip = fa-icon.with("\u{f801}") +#let fa-flute = fa-icon.with("\u{f8b9}") +#let fa-flutter = fa-icon.with("\u{e694}") +#let fa-flux-capacitor = fa-icon.with("\u{f8ba}") +#let fa-fly = fa-icon.with("\u{f417}") +#let fa-flying-disc = fa-icon.with("\u{e3a9}") +#let fa-folder = fa-icon.with("\u{f07b}") +#let fa-folder-blank = fa-icon.with("\u{f07b}") +#let fa-folder-arrow-down = fa-icon.with("\u{e053}") +#let fa-folder-download = fa-icon.with("\u{e053}") +#let fa-folder-arrow-up = fa-icon.with("\u{e054}") +#let fa-folder-upload = fa-icon.with("\u{e054}") +#let fa-folder-bookmark = fa-icon.with("\u{e186}") +#let fa-folder-check = fa-icon.with("\u{e64e}") +#let fa-folder-closed = fa-icon.with("\u{e185}") +#let fa-folder-gear = fa-icon.with("\u{e187}") +#let fa-folder-cog = fa-icon.with("\u{e187}") +#let fa-folder-grid = fa-icon.with("\u{e188}") +#let fa-folder-heart = fa-icon.with("\u{e189}") +#let fa-folder-image = fa-icon.with("\u{e18a}") +#let fa-folder-magnifying-glass = fa-icon.with("\u{e18b}") +#let fa-folder-search = fa-icon.with("\u{e18b}") +#let fa-folder-medical = fa-icon.with("\u{e18c}") +#let fa-folder-minus = fa-icon.with("\u{f65d}") +#let fa-folder-music = fa-icon.with("\u{e18d}") +#let fa-folder-open = fa-icon.with("\u{f07c}") +#let fa-folder-plus = fa-icon.with("\u{f65e}") +#let fa-folders = fa-icon.with("\u{f660}") +#let fa-folder-tree = fa-icon.with("\u{f802}") +#let fa-folder-user = fa-icon.with("\u{e18e}") +#let fa-folder-xmark = fa-icon.with("\u{f65f}") +#let fa-folder-times = fa-icon.with("\u{f65f}") +#let fa-fondue-pot = fa-icon.with("\u{e40d}") +#let fa-font = fa-icon.with("\u{f031}") +#let fa-font-awesome = fa-icon.with("\u{f2b4}") +#let fa-font-awesome-flag = fa-icon.with("\u{f2b4}") +#let fa-font-awesome-logo-full = fa-icon.with("\u{f2b4}") +#let fa-font-case = fa-icon.with("\u{f866}") +#let fa-fonticons = fa-icon.with("\u{f280}") +#let fa-fonticons-fi = fa-icon.with("\u{f3a2}") +#let fa-football = fa-icon.with("\u{f44e}") +#let fa-football-ball = fa-icon.with("\u{f44e}") +#let fa-football-helmet = fa-icon.with("\u{f44f}") +#let fa-fork = fa-icon.with("\u{f2e3}") +#let fa-utensil-fork = fa-icon.with("\u{f2e3}") +#let fa-fork-knife = fa-icon.with("\u{f2e6}") +#let fa-utensils-alt = fa-icon.with("\u{f2e6}") +#let fa-forklift = fa-icon.with("\u{f47a}") +#let fa-fort = fa-icon.with("\u{e486}") +#let fa-fort-awesome = fa-icon.with("\u{f286}") +#let fa-fort-awesome-alt = fa-icon.with("\u{f3a3}") +#let fa-forumbee = fa-icon.with("\u{f211}") +#let fa-forward = fa-icon.with("\u{f04e}") +#let fa-forward-fast = fa-icon.with("\u{f050}") +#let fa-fast-forward = fa-icon.with("\u{f050}") +#let fa-forward-step = fa-icon.with("\u{f051}") +#let fa-step-forward = fa-icon.with("\u{f051}") +#let fa-foursquare = fa-icon.with("\u{f180}") +#let fa-frame = fa-icon.with("\u{e495}") +#let fa-franc-sign = fa-icon.with("\u{e18f}") +#let fa-freebsd = fa-icon.with("\u{f3a4}") +#let fa-free-code-camp = fa-icon.with("\u{f2c5}") +#let fa-french-fries = fa-icon.with("\u{f803}") +#let fa-frog = fa-icon.with("\u{f52e}") +#let fa-fulcrum = fa-icon.with("\u{f50b}") +#let fa-function = fa-icon.with("\u{f661}") +#let fa-futbol = fa-icon.with("\u{f1e3}") +#let fa-futbol-ball = fa-icon.with("\u{f1e3}") +#let fa-soccer-ball = fa-icon.with("\u{f1e3}") +#let fa-g = fa-icon.with("\u{47}") +#let fa-galactic-republic = fa-icon.with("\u{f50c}") +#let fa-galactic-senate = fa-icon.with("\u{f50d}") +#let fa-galaxy = fa-icon.with("\u{e008}") +#let fa-gallery-thumbnails = fa-icon.with("\u{e3aa}") +#let fa-game-board = fa-icon.with("\u{f867}") +#let fa-game-board-simple = fa-icon.with("\u{f868}") +#let fa-game-board-alt = fa-icon.with("\u{f868}") +#let fa-game-console-handheld = fa-icon.with("\u{f8bb}") +#let fa-game-console-handheld-crank = fa-icon.with("\u{e5b9}") +#let fa-gamepad = fa-icon.with("\u{f11b}") +#let fa-gamepad-modern = fa-icon.with("\u{e5a2}") +#let fa-gamepad-alt = fa-icon.with("\u{e5a2}") +#let fa-garage = fa-icon.with("\u{e009}") +#let fa-garage-car = fa-icon.with("\u{e00a}") +#let fa-garage-open = fa-icon.with("\u{e00b}") +#let fa-garlic = fa-icon.with("\u{e40e}") +#let fa-gas-pump = fa-icon.with("\u{f52f}") +#let fa-gas-pump-slash = fa-icon.with("\u{f5f4}") +#let fa-gauge = fa-icon.with("\u{f624}") +#let fa-dashboard = fa-icon.with("\u{f624}") +#let fa-gauge-med = fa-icon.with("\u{f624}") +#let fa-tachometer-alt-average = fa-icon.with("\u{f624}") +#let fa-gauge-circle-bolt = fa-icon.with("\u{e496}") +#let fa-gauge-circle-minus = fa-icon.with("\u{e497}") +#let fa-gauge-circle-plus = fa-icon.with("\u{e498}") +#let fa-gauge-high = fa-icon.with("\u{f625}") +#let fa-tachometer-alt = fa-icon.with("\u{f625}") +#let fa-tachometer-alt-fast = fa-icon.with("\u{f625}") +#let fa-gauge-low = fa-icon.with("\u{f627}") +#let fa-tachometer-alt-slow = fa-icon.with("\u{f627}") +#let fa-gauge-max = fa-icon.with("\u{f626}") +#let fa-tachometer-alt-fastest = fa-icon.with("\u{f626}") +#let fa-gauge-min = fa-icon.with("\u{f628}") +#let fa-tachometer-alt-slowest = fa-icon.with("\u{f628}") +#let fa-gauge-simple = fa-icon.with("\u{f629}") +#let fa-gauge-simple-med = fa-icon.with("\u{f629}") +#let fa-tachometer-average = fa-icon.with("\u{f629}") +#let fa-gauge-simple-high = fa-icon.with("\u{f62a}") +#let fa-tachometer = fa-icon.with("\u{f62a}") +#let fa-tachometer-fast = fa-icon.with("\u{f62a}") +#let fa-gauge-simple-low = fa-icon.with("\u{f62c}") +#let fa-tachometer-slow = fa-icon.with("\u{f62c}") +#let fa-gauge-simple-max = fa-icon.with("\u{f62b}") +#let fa-tachometer-fastest = fa-icon.with("\u{f62b}") +#let fa-gauge-simple-min = fa-icon.with("\u{f62d}") +#let fa-tachometer-slowest = fa-icon.with("\u{f62d}") +#let fa-gavel = fa-icon.with("\u{f0e3}") +#let fa-legal = fa-icon.with("\u{f0e3}") +#let fa-gear = fa-icon.with("\u{f013}") +#let fa-cog = fa-icon.with("\u{f013}") +#let fa-gear-code = fa-icon.with("\u{e5e8}") +#let fa-gear-complex = fa-icon.with("\u{e5e9}") +#let fa-gear-complex-code = fa-icon.with("\u{e5eb}") +#let fa-gears = fa-icon.with("\u{f085}") +#let fa-cogs = fa-icon.with("\u{f085}") +#let fa-gem = fa-icon.with("\u{f3a5}") +#let fa-genderless = fa-icon.with("\u{f22d}") +#let fa-get-pocket = fa-icon.with("\u{f265}") +#let fa-gg = fa-icon.with("\u{f260}") +#let fa-gg-circle = fa-icon.with("\u{f261}") +#let fa-ghost = fa-icon.with("\u{f6e2}") +#let fa-gif = fa-icon.with("\u{e190}") +#let fa-gift = fa-icon.with("\u{f06b}") +#let fa-gift-card = fa-icon.with("\u{f663}") +#let fa-gifts = fa-icon.with("\u{f79c}") +#let fa-gingerbread-man = fa-icon.with("\u{f79d}") +#let fa-git = fa-icon.with("\u{f1d3}") +#let fa-git-alt = fa-icon.with("\u{f841}") +#let fa-github = fa-icon.with("\u{f09b}") +#let fa-github-alt = fa-icon.with("\u{f113}") +#let fa-gitkraken = fa-icon.with("\u{f3a6}") +#let fa-gitlab = fa-icon.with("\u{f296}") +#let fa-gitter = fa-icon.with("\u{f426}") +#let fa-glass = fa-icon.with("\u{f804}") +#let fa-glass-citrus = fa-icon.with("\u{f869}") +#let fa-glass-empty = fa-icon.with("\u{e191}") +#let fa-glasses = fa-icon.with("\u{f530}") +#let fa-glasses-round = fa-icon.with("\u{f5f5}") +#let fa-glasses-alt = fa-icon.with("\u{f5f5}") +#let fa-glass-half = fa-icon.with("\u{e192}") +#let fa-glass-half-empty = fa-icon.with("\u{e192}") +#let fa-glass-half-full = fa-icon.with("\u{e192}") +#let fa-glass-water = fa-icon.with("\u{e4f4}") +#let fa-glass-water-droplet = fa-icon.with("\u{e4f5}") +#let fa-glide = fa-icon.with("\u{f2a5}") +#let fa-glide-g = fa-icon.with("\u{f2a6}") +#let fa-globe = fa-icon.with("\u{f0ac}") +#let fa-globe-pointer = fa-icon.with("\u{e60e}") +#let fa-globe-snow = fa-icon.with("\u{f7a3}") +#let fa-globe-stand = fa-icon.with("\u{f5f6}") +#let fa-globe-wifi = fa-icon.with("\u{e685}") +#let fa-goal-net = fa-icon.with("\u{e3ab}") +#let fa-gofore = fa-icon.with("\u{f3a7}") +#let fa-golang = fa-icon.with("\u{e40f}") +#let fa-golf-ball-tee = fa-icon.with("\u{f450}") +#let fa-golf-ball = fa-icon.with("\u{f450}") +#let fa-golf-club = fa-icon.with("\u{f451}") +#let fa-golf-flag-hole = fa-icon.with("\u{e3ac}") +#let fa-goodreads = fa-icon.with("\u{f3a8}") +#let fa-goodreads-g = fa-icon.with("\u{f3a9}") +#let fa-google = fa-icon.with("\u{f1a0}") +#let fa-google-drive = fa-icon.with("\u{f3aa}") +#let fa-google-pay = fa-icon.with("\u{e079}") +#let fa-google-play = fa-icon.with("\u{f3ab}") +#let fa-google-plus = fa-icon.with("\u{f2b3}") +#let fa-google-plus-g = fa-icon.with("\u{f0d5}") +#let fa-google-scholar = fa-icon.with("\u{e63b}") +#let fa-google-wallet = fa-icon.with("\u{f1ee}") +#let fa-gopuram = fa-icon.with("\u{f664}") +#let fa-graduation-cap = fa-icon.with("\u{f19d}") +#let fa-mortar-board = fa-icon.with("\u{f19d}") +#let fa-gramophone = fa-icon.with("\u{f8bd}") +#let fa-grapes = fa-icon.with("\u{e306}") +#let fa-grate = fa-icon.with("\u{e193}") +#let fa-grate-droplet = fa-icon.with("\u{e194}") +#let fa-gratipay = fa-icon.with("\u{f184}") +#let fa-grav = fa-icon.with("\u{f2d6}") +#let fa-greater-than = fa-icon.with("\u{3e}") +#let fa-greater-than-equal = fa-icon.with("\u{f532}") +#let fa-grid = fa-icon.with("\u{e195}") +#let fa-grid-3 = fa-icon.with("\u{e195}") +#let fa-grid-2 = fa-icon.with("\u{e196}") +#let fa-grid-2-plus = fa-icon.with("\u{e197}") +#let fa-grid-4 = fa-icon.with("\u{e198}") +#let fa-grid-5 = fa-icon.with("\u{e199}") +#let fa-grid-dividers = fa-icon.with("\u{e3ad}") +#let fa-grid-horizontal = fa-icon.with("\u{e307}") +#let fa-grid-round = fa-icon.with("\u{e5da}") +#let fa-grid-round-2 = fa-icon.with("\u{e5db}") +#let fa-grid-round-2-plus = fa-icon.with("\u{e5dc}") +#let fa-grid-round-4 = fa-icon.with("\u{e5dd}") +#let fa-grid-round-5 = fa-icon.with("\u{e5de}") +#let fa-grill = fa-icon.with("\u{e5a3}") +#let fa-grill-fire = fa-icon.with("\u{e5a4}") +#let fa-grill-hot = fa-icon.with("\u{e5a5}") +#let fa-grip = fa-icon.with("\u{f58d}") +#let fa-grip-horizontal = fa-icon.with("\u{f58d}") +#let fa-grip-dots = fa-icon.with("\u{e410}") +#let fa-grip-dots-vertical = fa-icon.with("\u{e411}") +#let fa-gripfire = fa-icon.with("\u{f3ac}") +#let fa-grip-lines = fa-icon.with("\u{f7a4}") +#let fa-grip-lines-vertical = fa-icon.with("\u{f7a5}") +#let fa-grip-vertical = fa-icon.with("\u{f58e}") +#let fa-group-arrows-rotate = fa-icon.with("\u{e4f6}") +#let fa-grunt = fa-icon.with("\u{f3ad}") +#let fa-guarani-sign = fa-icon.with("\u{e19a}") +#let fa-guilded = fa-icon.with("\u{e07e}") +#let fa-guitar = fa-icon.with("\u{f7a6}") +#let fa-guitar-electric = fa-icon.with("\u{f8be}") +#let fa-guitars = fa-icon.with("\u{f8bf}") +#let fa-gulp = fa-icon.with("\u{f3ae}") +#let fa-gun = fa-icon.with("\u{e19b}") +#let fa-gun-slash = fa-icon.with("\u{e19c}") +#let fa-gun-squirt = fa-icon.with("\u{e19d}") +#let fa-h = fa-icon.with("\u{48}") +#let fa-h1 = fa-icon.with("\u{f313}") +#let fa-h2 = fa-icon.with("\u{f314}") +#let fa-h3 = fa-icon.with("\u{f315}") +#let fa-h4 = fa-icon.with("\u{f86a}") +#let fa-h5 = fa-icon.with("\u{e412}") +#let fa-h6 = fa-icon.with("\u{e413}") +#let fa-hacker-news = fa-icon.with("\u{f1d4}") +#let fa-hackerrank = fa-icon.with("\u{f5f7}") +#let fa-hammer = fa-icon.with("\u{f6e3}") +#let fa-hammer-brush = fa-icon.with("\u{e620}") +#let fa-hammer-crash = fa-icon.with("\u{e414}") +#let fa-hammer-war = fa-icon.with("\u{f6e4}") +#let fa-hamsa = fa-icon.with("\u{f665}") +#let fa-hand = fa-icon.with("\u{f256}") +#let fa-hand-paper = fa-icon.with("\u{f256}") +#let fa-hand-back-fist = fa-icon.with("\u{f255}") +#let fa-hand-rock = fa-icon.with("\u{f255}") +#let fa-hand-back-point-down = fa-icon.with("\u{e19e}") +#let fa-hand-back-point-left = fa-icon.with("\u{e19f}") +#let fa-hand-back-point-ribbon = fa-icon.with("\u{e1a0}") +#let fa-hand-back-point-right = fa-icon.with("\u{e1a1}") +#let fa-hand-back-point-up = fa-icon.with("\u{e1a2}") +#let fa-handcuffs = fa-icon.with("\u{e4f8}") +#let fa-hand-dots = fa-icon.with("\u{f461}") +#let fa-allergies = fa-icon.with("\u{f461}") +#let fa-hand-fingers-crossed = fa-icon.with("\u{e1a3}") +#let fa-hand-fist = fa-icon.with("\u{f6de}") +#let fa-fist-raised = fa-icon.with("\u{f6de}") +#let fa-hand-heart = fa-icon.with("\u{f4bc}") +#let fa-hand-holding = fa-icon.with("\u{f4bd}") +#let fa-hand-holding-box = fa-icon.with("\u{f47b}") +#let fa-hand-holding-circle-dollar = fa-icon.with("\u{e621}") +#let fa-hand-holding-dollar = fa-icon.with("\u{f4c0}") +#let fa-hand-holding-usd = fa-icon.with("\u{f4c0}") +#let fa-hand-holding-droplet = fa-icon.with("\u{f4c1}") +#let fa-hand-holding-water = fa-icon.with("\u{f4c1}") +#let fa-hand-holding-hand = fa-icon.with("\u{e4f7}") +#let fa-hand-holding-heart = fa-icon.with("\u{f4be}") +#let fa-hand-holding-magic = fa-icon.with("\u{f6e5}") +#let fa-hand-holding-medical = fa-icon.with("\u{e05c}") +#let fa-hand-holding-seedling = fa-icon.with("\u{f4bf}") +#let fa-hand-holding-skull = fa-icon.with("\u{e1a4}") +#let fa-hand-horns = fa-icon.with("\u{e1a9}") +#let fa-hand-lizard = fa-icon.with("\u{f258}") +#let fa-hand-love = fa-icon.with("\u{e1a5}") +#let fa-hand-middle-finger = fa-icon.with("\u{f806}") +#let fa-hand-peace = fa-icon.with("\u{f25b}") +#let fa-hand-point-down = fa-icon.with("\u{f0a7}") +#let fa-hand-pointer = fa-icon.with("\u{f25a}") +#let fa-hand-point-left = fa-icon.with("\u{f0a5}") +#let fa-hand-point-ribbon = fa-icon.with("\u{e1a6}") +#let fa-hand-point-right = fa-icon.with("\u{f0a4}") +#let fa-hand-point-up = fa-icon.with("\u{f0a6}") +#let fa-hands = fa-icon.with("\u{f2a7}") +#let fa-sign-language = fa-icon.with("\u{f2a7}") +#let fa-signing = fa-icon.with("\u{f2a7}") +#let fa-hands-asl-interpreting = fa-icon.with("\u{f2a3}") +#let fa-american-sign-language-interpreting = fa-icon.with("\u{f2a3}") +#let fa-asl-interpreting = fa-icon.with("\u{f2a3}") +#let fa-hands-american-sign-language-interpreting = fa-icon.with("\u{f2a3}") +#let fa-hands-bound = fa-icon.with("\u{e4f9}") +#let fa-hands-bubbles = fa-icon.with("\u{e05e}") +#let fa-hands-wash = fa-icon.with("\u{e05e}") +#let fa-hand-scissors = fa-icon.with("\u{f257}") +#let fa-hands-clapping = fa-icon.with("\u{e1a8}") +#let fa-handshake = fa-icon.with("\u{f2b5}") +#let fa-handshake-angle = fa-icon.with("\u{f4c4}") +#let fa-hands-helping = fa-icon.with("\u{f4c4}") +#let fa-handshake-simple = fa-icon.with("\u{f4c6}") +#let fa-handshake-alt = fa-icon.with("\u{f4c6}") +#let fa-handshake-simple-slash = fa-icon.with("\u{e05f}") +#let fa-handshake-alt-slash = fa-icon.with("\u{e05f}") +#let fa-handshake-slash = fa-icon.with("\u{e060}") +#let fa-hands-holding = fa-icon.with("\u{f4c2}") +#let fa-hands-holding-child = fa-icon.with("\u{e4fa}") +#let fa-hands-holding-circle = fa-icon.with("\u{e4fb}") +#let fa-hands-holding-diamond = fa-icon.with("\u{f47c}") +#let fa-hand-receiving = fa-icon.with("\u{f47c}") +#let fa-hands-holding-dollar = fa-icon.with("\u{f4c5}") +#let fa-hands-usd = fa-icon.with("\u{f4c5}") +#let fa-hands-holding-heart = fa-icon.with("\u{f4c3}") +#let fa-hands-heart = fa-icon.with("\u{f4c3}") +#let fa-hand-sparkles = fa-icon.with("\u{e05d}") +#let fa-hand-spock = fa-icon.with("\u{f259}") +#let fa-hands-praying = fa-icon.with("\u{f684}") +#let fa-praying-hands = fa-icon.with("\u{f684}") +#let fa-hand-wave = fa-icon.with("\u{e1a7}") +#let fa-hanukiah = fa-icon.with("\u{f6e6}") +#let fa-hard-drive = fa-icon.with("\u{f0a0}") +#let fa-hdd = fa-icon.with("\u{f0a0}") +#let fa-hashnode = fa-icon.with("\u{e499}") +#let fa-hashtag = fa-icon.with("\u{23}") +#let fa-hashtag-lock = fa-icon.with("\u{e415}") +#let fa-hat-beach = fa-icon.with("\u{e606}") +#let fa-hat-chef = fa-icon.with("\u{f86b}") +#let fa-hat-cowboy = fa-icon.with("\u{f8c0}") +#let fa-hat-cowboy-side = fa-icon.with("\u{f8c1}") +#let fa-hat-santa = fa-icon.with("\u{f7a7}") +#let fa-hat-winter = fa-icon.with("\u{f7a8}") +#let fa-hat-witch = fa-icon.with("\u{f6e7}") +#let fa-hat-wizard = fa-icon.with("\u{f6e8}") +#let fa-heading = fa-icon.with("\u{f1dc}") +#let fa-header = fa-icon.with("\u{f1dc}") +#let fa-headphones = fa-icon.with("\u{f025}") +#let fa-headphones-simple = fa-icon.with("\u{f58f}") +#let fa-headphones-alt = fa-icon.with("\u{f58f}") +#let fa-headset = fa-icon.with("\u{f590}") +#let fa-head-side = fa-icon.with("\u{f6e9}") +#let fa-head-side-brain = fa-icon.with("\u{f808}") +#let fa-head-side-cough = fa-icon.with("\u{e061}") +#let fa-head-side-cough-slash = fa-icon.with("\u{e062}") +#let fa-head-side-gear = fa-icon.with("\u{e611}") +#let fa-head-side-goggles = fa-icon.with("\u{f6ea}") +#let fa-head-vr = fa-icon.with("\u{f6ea}") +#let fa-head-side-headphones = fa-icon.with("\u{f8c2}") +#let fa-head-side-heart = fa-icon.with("\u{e1aa}") +#let fa-head-side-mask = fa-icon.with("\u{e063}") +#let fa-head-side-medical = fa-icon.with("\u{f809}") +#let fa-head-side-virus = fa-icon.with("\u{e064}") +#let fa-heart = fa-icon.with("\u{f004}") +#let fa-heart-circle-bolt = fa-icon.with("\u{e4fc}") +#let fa-heart-circle-check = fa-icon.with("\u{e4fd}") +#let fa-heart-circle-exclamation = fa-icon.with("\u{e4fe}") +#let fa-heart-circle-minus = fa-icon.with("\u{e4ff}") +#let fa-heart-circle-plus = fa-icon.with("\u{e500}") +#let fa-heart-circle-xmark = fa-icon.with("\u{e501}") +#let fa-heart-crack = fa-icon.with("\u{f7a9}") +#let fa-heart-broken = fa-icon.with("\u{f7a9}") +#let fa-heart-half = fa-icon.with("\u{e1ab}") +#let fa-heart-half-stroke = fa-icon.with("\u{e1ac}") +#let fa-heart-half-alt = fa-icon.with("\u{e1ac}") +#let fa-heart-pulse = fa-icon.with("\u{f21e}") +#let fa-heartbeat = fa-icon.with("\u{f21e}") +#let fa-heat = fa-icon.with("\u{e00c}") +#let fa-helicopter = fa-icon.with("\u{f533}") +#let fa-helicopter-symbol = fa-icon.with("\u{e502}") +#let fa-helmet-battle = fa-icon.with("\u{f6eb}") +#let fa-helmet-safety = fa-icon.with("\u{f807}") +#let fa-hard-hat = fa-icon.with("\u{f807}") +#let fa-hat-hard = fa-icon.with("\u{f807}") +#let fa-helmet-un = fa-icon.with("\u{e503}") +#let fa-hexagon = fa-icon.with("\u{f312}") +#let fa-hexagon-check = fa-icon.with("\u{e416}") +#let fa-hexagon-divide = fa-icon.with("\u{e1ad}") +#let fa-hexagon-exclamation = fa-icon.with("\u{e417}") +#let fa-hexagon-image = fa-icon.with("\u{e504}") +#let fa-hexagon-minus = fa-icon.with("\u{f307}") +#let fa-minus-hexagon = fa-icon.with("\u{f307}") +#let fa-hexagon-plus = fa-icon.with("\u{f300}") +#let fa-plus-hexagon = fa-icon.with("\u{f300}") +#let fa-hexagon-vertical-nft = fa-icon.with("\u{e505}") +#let fa-hexagon-vertical-nft-slanted = fa-icon.with("\u{e506}") +#let fa-hexagon-xmark = fa-icon.with("\u{f2ee}") +#let fa-times-hexagon = fa-icon.with("\u{f2ee}") +#let fa-xmark-hexagon = fa-icon.with("\u{f2ee}") +#let fa-high-definition = fa-icon.with("\u{e1ae}") +#let fa-rectangle-hd = fa-icon.with("\u{e1ae}") +#let fa-highlighter = fa-icon.with("\u{f591}") +#let fa-highlighter-line = fa-icon.with("\u{e1af}") +#let fa-hill-avalanche = fa-icon.with("\u{e507}") +#let fa-hill-rockslide = fa-icon.with("\u{e508}") +#let fa-hippo = fa-icon.with("\u{f6ed}") +#let fa-hips = fa-icon.with("\u{f452}") +#let fa-hire-a-helper = fa-icon.with("\u{f3b0}") +#let fa-hive = fa-icon.with("\u{e07f}") +#let fa-hockey-mask = fa-icon.with("\u{f6ee}") +#let fa-hockey-puck = fa-icon.with("\u{f453}") +#let fa-hockey-stick-puck = fa-icon.with("\u{e3ae}") +#let fa-hockey-sticks = fa-icon.with("\u{f454}") +#let fa-holly-berry = fa-icon.with("\u{f7aa}") +#let fa-honey-pot = fa-icon.with("\u{e418}") +#let fa-hood-cloak = fa-icon.with("\u{f6ef}") +#let fa-hooli = fa-icon.with("\u{f427}") +#let fa-horizontal-rule = fa-icon.with("\u{f86c}") +#let fa-hornbill = fa-icon.with("\u{f592}") +#let fa-horse = fa-icon.with("\u{f6f0}") +#let fa-horse-head = fa-icon.with("\u{f7ab}") +#let fa-horse-saddle = fa-icon.with("\u{f8c3}") +#let fa-hose = fa-icon.with("\u{e419}") +#let fa-hose-reel = fa-icon.with("\u{e41a}") +#let fa-hospital = fa-icon.with("\u{f0f8}") +#let fa-hospital-alt = fa-icon.with("\u{f0f8}") +#let fa-hospital-wide = fa-icon.with("\u{f0f8}") +#let fa-hospitals = fa-icon.with("\u{f80e}") +#let fa-hospital-user = fa-icon.with("\u{f80d}") +#let fa-hotdog = fa-icon.with("\u{f80f}") +#let fa-hotel = fa-icon.with("\u{f594}") +#let fa-hotjar = fa-icon.with("\u{f3b1}") +#let fa-hot-tub-person = fa-icon.with("\u{f593}") +#let fa-hot-tub = fa-icon.with("\u{f593}") +#let fa-hourglass = fa-icon.with("\u{f254}") +#let fa-hourglass-empty = fa-icon.with("\u{f254}") +#let fa-hourglass-clock = fa-icon.with("\u{e41b}") +#let fa-hourglass-end = fa-icon.with("\u{f253}") +#let fa-hourglass-3 = fa-icon.with("\u{f253}") +#let fa-hourglass-half = fa-icon.with("\u{f252}") +#let fa-hourglass-2 = fa-icon.with("\u{f252}") +#let fa-hourglass-start = fa-icon.with("\u{f251}") +#let fa-hourglass-1 = fa-icon.with("\u{f251}") +#let fa-house = fa-icon.with("\u{f015}") +#let fa-home = fa-icon.with("\u{f015}") +#let fa-home-alt = fa-icon.with("\u{f015}") +#let fa-home-lg-alt = fa-icon.with("\u{f015}") +#let fa-house-blank = fa-icon.with("\u{e487}") +#let fa-home-blank = fa-icon.with("\u{e487}") +#let fa-house-building = fa-icon.with("\u{e1b1}") +#let fa-house-chimney = fa-icon.with("\u{e3af}") +#let fa-home-lg = fa-icon.with("\u{e3af}") +#let fa-house-chimney-blank = fa-icon.with("\u{e3b0}") +#let fa-house-chimney-crack = fa-icon.with("\u{f6f1}") +#let fa-house-damage = fa-icon.with("\u{f6f1}") +#let fa-house-chimney-heart = fa-icon.with("\u{e1b2}") +#let fa-house-chimney-medical = fa-icon.with("\u{f7f2}") +#let fa-clinic-medical = fa-icon.with("\u{f7f2}") +#let fa-house-chimney-user = fa-icon.with("\u{e065}") +#let fa-house-chimney-window = fa-icon.with("\u{e00d}") +#let fa-house-circle-check = fa-icon.with("\u{e509}") +#let fa-house-circle-exclamation = fa-icon.with("\u{e50a}") +#let fa-house-circle-xmark = fa-icon.with("\u{e50b}") +#let fa-house-crack = fa-icon.with("\u{e3b1}") +#let fa-house-day = fa-icon.with("\u{e00e}") +#let fa-house-fire = fa-icon.with("\u{e50c}") +#let fa-house-flag = fa-icon.with("\u{e50d}") +#let fa-house-flood-water = fa-icon.with("\u{e50e}") +#let fa-house-flood-water-circle-arrow-right = fa-icon.with("\u{e50f}") +#let fa-house-heart = fa-icon.with("\u{f4c9}") +#let fa-home-heart = fa-icon.with("\u{f4c9}") +#let fa-house-laptop = fa-icon.with("\u{e066}") +#let fa-laptop-house = fa-icon.with("\u{e066}") +#let fa-house-lock = fa-icon.with("\u{e510}") +#let fa-house-medical = fa-icon.with("\u{e3b2}") +#let fa-house-medical-circle-check = fa-icon.with("\u{e511}") +#let fa-house-medical-circle-exclamation = fa-icon.with("\u{e512}") +#let fa-house-medical-circle-xmark = fa-icon.with("\u{e513}") +#let fa-house-medical-flag = fa-icon.with("\u{e514}") +#let fa-house-night = fa-icon.with("\u{e010}") +#let fa-house-person-leave = fa-icon.with("\u{e00f}") +#let fa-house-leave = fa-icon.with("\u{e00f}") +#let fa-house-person-depart = fa-icon.with("\u{e00f}") +#let fa-house-person-return = fa-icon.with("\u{e011}") +#let fa-house-person-arrive = fa-icon.with("\u{e011}") +#let fa-house-return = fa-icon.with("\u{e011}") +#let fa-house-signal = fa-icon.with("\u{e012}") +#let fa-house-tree = fa-icon.with("\u{e1b3}") +#let fa-house-tsunami = fa-icon.with("\u{e515}") +#let fa-house-turret = fa-icon.with("\u{e1b4}") +#let fa-house-user = fa-icon.with("\u{e1b0}") +#let fa-home-user = fa-icon.with("\u{e1b0}") +#let fa-house-water = fa-icon.with("\u{f74f}") +#let fa-house-flood = fa-icon.with("\u{f74f}") +#let fa-house-window = fa-icon.with("\u{e3b3}") +#let fa-houzz = fa-icon.with("\u{f27c}") +#let fa-hryvnia-sign = fa-icon.with("\u{f6f2}") +#let fa-hryvnia = fa-icon.with("\u{f6f2}") +#let fa-html5 = fa-icon.with("\u{f13b}") +#let fa-hubspot = fa-icon.with("\u{f3b2}") +#let fa-hundred-points = fa-icon.with("\u{e41c}") +#let fa-100 = fa-icon.with("\u{e41c}") +#let fa-hurricane = fa-icon.with("\u{f751}") +#let fa-hydra = fa-icon.with("\u{e686}") +#let fa-hyphen = fa-icon.with("\u{2d}") +#let fa-i = fa-icon.with("\u{49}") +#let fa-ice-cream = fa-icon.with("\u{f810}") +#let fa-ice-skate = fa-icon.with("\u{f7ac}") +#let fa-icicles = fa-icon.with("\u{f7ad}") +#let fa-icons = fa-icon.with("\u{f86d}") +#let fa-heart-music-camera-bolt = fa-icon.with("\u{f86d}") +#let fa-i-cursor = fa-icon.with("\u{f246}") +#let fa-id-badge = fa-icon.with("\u{f2c1}") +#let fa-id-card = fa-icon.with("\u{f2c2}") +#let fa-drivers-license = fa-icon.with("\u{f2c2}") +#let fa-id-card-clip = fa-icon.with("\u{f47f}") +#let fa-id-card-alt = fa-icon.with("\u{f47f}") +#let fa-ideal = fa-icon.with("\u{e013}") +#let fa-igloo = fa-icon.with("\u{f7ae}") +#let fa-image = fa-icon.with("\u{f03e}") +#let fa-image-landscape = fa-icon.with("\u{e1b5}") +#let fa-landscape = fa-icon.with("\u{e1b5}") +#let fa-image-polaroid = fa-icon.with("\u{f8c4}") +#let fa-image-polaroid-user = fa-icon.with("\u{e1b6}") +#let fa-image-portrait = fa-icon.with("\u{f3e0}") +#let fa-portrait = fa-icon.with("\u{f3e0}") +#let fa-images = fa-icon.with("\u{f302}") +#let fa-image-slash = fa-icon.with("\u{e1b7}") +#let fa-images-user = fa-icon.with("\u{e1b9}") +#let fa-image-user = fa-icon.with("\u{e1b8}") +#let fa-imdb = fa-icon.with("\u{f2d8}") +#let fa-inbox = fa-icon.with("\u{f01c}") +#let fa-inboxes = fa-icon.with("\u{e1bb}") +#let fa-inbox-full = fa-icon.with("\u{e1ba}") +#let fa-inbox-in = fa-icon.with("\u{f310}") +#let fa-inbox-arrow-down = fa-icon.with("\u{f310}") +#let fa-inbox-out = fa-icon.with("\u{f311}") +#let fa-inbox-arrow-up = fa-icon.with("\u{f311}") +#let fa-indent = fa-icon.with("\u{f03c}") +#let fa-indian-rupee-sign = fa-icon.with("\u{e1bc}") +#let fa-indian-rupee = fa-icon.with("\u{e1bc}") +#let fa-inr = fa-icon.with("\u{e1bc}") +#let fa-industry = fa-icon.with("\u{f275}") +#let fa-industry-windows = fa-icon.with("\u{f3b3}") +#let fa-industry-alt = fa-icon.with("\u{f3b3}") +#let fa-infinity = fa-icon.with("\u{f534}") +#let fa-info = fa-icon.with("\u{f129}") +#let fa-inhaler = fa-icon.with("\u{f5f9}") +#let fa-input-numeric = fa-icon.with("\u{e1bd}") +#let fa-input-pipe = fa-icon.with("\u{e1be}") +#let fa-input-text = fa-icon.with("\u{e1bf}") +#let fa-instagram = fa-icon.with("\u{f16d}") +#let fa-instalod = fa-icon.with("\u{e081}") +#let fa-integral = fa-icon.with("\u{f667}") +#let fa-intercom = fa-icon.with("\u{f7af}") +#let fa-internet-explorer = fa-icon.with("\u{f26b}") +#let fa-interrobang = fa-icon.with("\u{e5ba}") +#let fa-intersection = fa-icon.with("\u{f668}") +#let fa-invision = fa-icon.with("\u{f7b0}") +#let fa-ioxhost = fa-icon.with("\u{f208}") +#let fa-island-tropical = fa-icon.with("\u{f811}") +#let fa-island-tree-palm = fa-icon.with("\u{f811}") +#let fa-italic = fa-icon.with("\u{f033}") +#let fa-itch-io = fa-icon.with("\u{f83a}") +#let fa-itunes = fa-icon.with("\u{f3b4}") +#let fa-itunes-note = fa-icon.with("\u{f3b5}") +#let fa-j = fa-icon.with("\u{4a}") +#let fa-jack-o-lantern = fa-icon.with("\u{f30e}") +#let fa-jar = fa-icon.with("\u{e516}") +#let fa-jar-wheat = fa-icon.with("\u{e517}") +#let fa-java = fa-icon.with("\u{f4e4}") +#let fa-jedi = fa-icon.with("\u{f669}") +#let fa-jedi-order = fa-icon.with("\u{f50e}") +#let fa-jenkins = fa-icon.with("\u{f3b6}") +#let fa-jet-fighter = fa-icon.with("\u{f0fb}") +#let fa-fighter-jet = fa-icon.with("\u{f0fb}") +#let fa-jet-fighter-up = fa-icon.with("\u{e518}") +#let fa-jira = fa-icon.with("\u{f7b1}") +#let fa-joget = fa-icon.with("\u{f3b7}") +#let fa-joint = fa-icon.with("\u{f595}") +#let fa-joomla = fa-icon.with("\u{f1aa}") +#let fa-joystick = fa-icon.with("\u{f8c5}") +#let fa-js = fa-icon.with("\u{f3b8}") +#let fa-jsfiddle = fa-icon.with("\u{f1cc}") +#let fa-jug = fa-icon.with("\u{f8c6}") +#let fa-jug-bottle = fa-icon.with("\u{e5fb}") +#let fa-jug-detergent = fa-icon.with("\u{e519}") +#let fa-jxl = fa-icon.with("\u{e67b}") +#let fa-k = fa-icon.with("\u{4b}") +#let fa-kaaba = fa-icon.with("\u{f66b}") +#let fa-kaggle = fa-icon.with("\u{f5fa}") +#let fa-kazoo = fa-icon.with("\u{f8c7}") +#let fa-kerning = fa-icon.with("\u{f86f}") +#let fa-key = fa-icon.with("\u{f084}") +#let fa-keybase = fa-icon.with("\u{f4f5}") +#let fa-keyboard = fa-icon.with("\u{f11c}") +#let fa-keyboard-brightness = fa-icon.with("\u{e1c0}") +#let fa-keyboard-brightness-low = fa-icon.with("\u{e1c1}") +#let fa-keyboard-down = fa-icon.with("\u{e1c2}") +#let fa-keyboard-left = fa-icon.with("\u{e1c3}") +#let fa-keycdn = fa-icon.with("\u{f3ba}") +#let fa-keynote = fa-icon.with("\u{f66c}") +#let fa-key-skeleton = fa-icon.with("\u{f6f3}") +#let fa-key-skeleton-left-right = fa-icon.with("\u{e3b4}") +#let fa-khanda = fa-icon.with("\u{f66d}") +#let fa-kickstarter = fa-icon.with("\u{f3bb}") +#let fa-square-kickstarter = fa-icon.with("\u{f3bb}") +#let fa-kickstarter-k = fa-icon.with("\u{f3bc}") +#let fa-kidneys = fa-icon.with("\u{f5fb}") +#let fa-kip-sign = fa-icon.with("\u{e1c4}") +#let fa-kitchen-set = fa-icon.with("\u{e51a}") +#let fa-kite = fa-icon.with("\u{f6f4}") +#let fa-kit-medical = fa-icon.with("\u{f479}") +#let fa-first-aid = fa-icon.with("\u{f479}") +#let fa-kiwi-bird = fa-icon.with("\u{f535}") +#let fa-kiwi-fruit = fa-icon.with("\u{e30c}") +#let fa-knife = fa-icon.with("\u{f2e4}") +#let fa-utensil-knife = fa-icon.with("\u{f2e4}") +#let fa-knife-kitchen = fa-icon.with("\u{f6f5}") +#let fa-korvue = fa-icon.with("\u{f42f}") +#let fa-l = fa-icon.with("\u{4c}") +#let fa-lacrosse-stick = fa-icon.with("\u{e3b5}") +#let fa-lacrosse-stick-ball = fa-icon.with("\u{e3b6}") +#let fa-lambda = fa-icon.with("\u{f66e}") +#let fa-lamp = fa-icon.with("\u{f4ca}") +#let fa-lamp-desk = fa-icon.with("\u{e014}") +#let fa-lamp-floor = fa-icon.with("\u{e015}") +#let fa-lamp-street = fa-icon.with("\u{e1c5}") +#let fa-landmark = fa-icon.with("\u{f66f}") +#let fa-landmark-dome = fa-icon.with("\u{f752}") +#let fa-landmark-alt = fa-icon.with("\u{f752}") +#let fa-landmark-flag = fa-icon.with("\u{e51c}") +#let fa-landmark-magnifying-glass = fa-icon.with("\u{e622}") +#let fa-land-mine-on = fa-icon.with("\u{e51b}") +#let fa-language = fa-icon.with("\u{f1ab}") +#let fa-laptop = fa-icon.with("\u{f109}") +#let fa-laptop-arrow-down = fa-icon.with("\u{e1c6}") +#let fa-laptop-binary = fa-icon.with("\u{e5e7}") +#let fa-laptop-code = fa-icon.with("\u{f5fc}") +#let fa-laptop-file = fa-icon.with("\u{e51d}") +#let fa-laptop-medical = fa-icon.with("\u{f812}") +#let fa-laptop-mobile = fa-icon.with("\u{f87a}") +#let fa-phone-laptop = fa-icon.with("\u{f87a}") +#let fa-laptop-slash = fa-icon.with("\u{e1c7}") +#let fa-laravel = fa-icon.with("\u{f3bd}") +#let fa-lari-sign = fa-icon.with("\u{e1c8}") +#let fa-lasso = fa-icon.with("\u{f8c8}") +#let fa-lasso-sparkles = fa-icon.with("\u{e1c9}") +#let fa-lastfm = fa-icon.with("\u{f202}") +#let fa-layer-group = fa-icon.with("\u{f5fd}") +#let fa-layer-minus = fa-icon.with("\u{f5fe}") +#let fa-layer-group-minus = fa-icon.with("\u{f5fe}") +#let fa-layer-plus = fa-icon.with("\u{f5ff}") +#let fa-layer-group-plus = fa-icon.with("\u{f5ff}") +#let fa-leaf = fa-icon.with("\u{f06c}") +#let fa-leaf-heart = fa-icon.with("\u{f4cb}") +#let fa-leaf-maple = fa-icon.with("\u{f6f6}") +#let fa-leaf-oak = fa-icon.with("\u{f6f7}") +#let fa-leafy-green = fa-icon.with("\u{e41d}") +#let fa-leanpub = fa-icon.with("\u{f212}") +#let fa-left = fa-icon.with("\u{f355}") +#let fa-arrow-alt-left = fa-icon.with("\u{f355}") +#let fa-left-from-bracket = fa-icon.with("\u{e66c}") +#let fa-left-from-line = fa-icon.with("\u{f348}") +#let fa-arrow-alt-from-right = fa-icon.with("\u{f348}") +#let fa-left-long = fa-icon.with("\u{f30a}") +#let fa-long-arrow-alt-left = fa-icon.with("\u{f30a}") +#let fa-left-long-to-line = fa-icon.with("\u{e41e}") +#let fa-left-right = fa-icon.with("\u{f337}") +#let fa-arrows-alt-h = fa-icon.with("\u{f337}") +#let fa-left-to-bracket = fa-icon.with("\u{e66d}") +#let fa-left-to-line = fa-icon.with("\u{f34b}") +#let fa-arrow-alt-to-left = fa-icon.with("\u{f34b}") +#let fa-lemon = fa-icon.with("\u{f094}") +#let fa-less = fa-icon.with("\u{f41d}") +#let fa-less-than = fa-icon.with("\u{3c}") +#let fa-less-than-equal = fa-icon.with("\u{f537}") +#let fa-letterboxd = fa-icon.with("\u{e62d}") +#let fa-life-ring = fa-icon.with("\u{f1cd}") +#let fa-lightbulb = fa-icon.with("\u{f0eb}") +#let fa-lightbulb-cfl = fa-icon.with("\u{e5a6}") +#let fa-lightbulb-cfl-on = fa-icon.with("\u{e5a7}") +#let fa-lightbulb-dollar = fa-icon.with("\u{f670}") +#let fa-lightbulb-exclamation = fa-icon.with("\u{f671}") +#let fa-lightbulb-exclamation-on = fa-icon.with("\u{e1ca}") +#let fa-lightbulb-gear = fa-icon.with("\u{e5fd}") +#let fa-lightbulb-message = fa-icon.with("\u{e687}") +#let fa-lightbulb-on = fa-icon.with("\u{f672}") +#let fa-lightbulb-slash = fa-icon.with("\u{f673}") +#let fa-light-ceiling = fa-icon.with("\u{e016}") +#let fa-light-emergency = fa-icon.with("\u{e41f}") +#let fa-light-emergency-on = fa-icon.with("\u{e420}") +#let fa-lighthouse = fa-icon.with("\u{e612}") +#let fa-lights-holiday = fa-icon.with("\u{f7b2}") +#let fa-light-switch = fa-icon.with("\u{e017}") +#let fa-light-switch-off = fa-icon.with("\u{e018}") +#let fa-light-switch-on = fa-icon.with("\u{e019}") +#let fa-line = fa-icon.with("\u{f3c0}") +#let fa-line-columns = fa-icon.with("\u{f870}") +#let fa-line-height = fa-icon.with("\u{f871}") +#let fa-lines-leaning = fa-icon.with("\u{e51e}") +#let fa-link = fa-icon.with("\u{f0c1}") +#let fa-chain = fa-icon.with("\u{f0c1}") +#let fa-linkedin = fa-icon.with("\u{f08c}") +#let fa-linkedin-in = fa-icon.with("\u{f0e1}") +#let fa-link-horizontal = fa-icon.with("\u{e1cb}") +#let fa-chain-horizontal = fa-icon.with("\u{e1cb}") +#let fa-link-horizontal-slash = fa-icon.with("\u{e1cc}") +#let fa-chain-horizontal-slash = fa-icon.with("\u{e1cc}") +#let fa-link-simple = fa-icon.with("\u{e1cd}") +#let fa-link-simple-slash = fa-icon.with("\u{e1ce}") +#let fa-link-slash = fa-icon.with("\u{f127}") +#let fa-chain-broken = fa-icon.with("\u{f127}") +#let fa-chain-slash = fa-icon.with("\u{f127}") +#let fa-unlink = fa-icon.with("\u{f127}") +#let fa-linode = fa-icon.with("\u{f2b8}") +#let fa-linux = fa-icon.with("\u{f17c}") +#let fa-lips = fa-icon.with("\u{f600}") +#let fa-lira-sign = fa-icon.with("\u{f195}") +#let fa-list = fa-icon.with("\u{f03a}") +#let fa-list-squares = fa-icon.with("\u{f03a}") +#let fa-list-check = fa-icon.with("\u{f0ae}") +#let fa-tasks = fa-icon.with("\u{f0ae}") +#let fa-list-dropdown = fa-icon.with("\u{e1cf}") +#let fa-list-music = fa-icon.with("\u{f8c9}") +#let fa-list-ol = fa-icon.with("\u{f0cb}") +#let fa-list-1-2 = fa-icon.with("\u{f0cb}") +#let fa-list-numeric = fa-icon.with("\u{f0cb}") +#let fa-list-radio = fa-icon.with("\u{e1d0}") +#let fa-list-timeline = fa-icon.with("\u{e1d1}") +#let fa-list-tree = fa-icon.with("\u{e1d2}") +#let fa-list-ul = fa-icon.with("\u{f0ca}") +#let fa-list-dots = fa-icon.with("\u{f0ca}") +#let fa-litecoin-sign = fa-icon.with("\u{e1d3}") +#let fa-loader = fa-icon.with("\u{e1d4}") +#let fa-lobster = fa-icon.with("\u{e421}") +#let fa-location-arrow = fa-icon.with("\u{f124}") +#let fa-location-arrow-up = fa-icon.with("\u{e63a}") +#let fa-location-check = fa-icon.with("\u{f606}") +#let fa-map-marker-check = fa-icon.with("\u{f606}") +#let fa-location-crosshairs = fa-icon.with("\u{f601}") +#let fa-location = fa-icon.with("\u{f601}") +#let fa-location-crosshairs-slash = fa-icon.with("\u{f603}") +#let fa-location-slash = fa-icon.with("\u{f603}") +#let fa-location-dot = fa-icon.with("\u{f3c5}") +#let fa-map-marker-alt = fa-icon.with("\u{f3c5}") +#let fa-location-dot-slash = fa-icon.with("\u{f605}") +#let fa-map-marker-alt-slash = fa-icon.with("\u{f605}") +#let fa-location-exclamation = fa-icon.with("\u{f608}") +#let fa-map-marker-exclamation = fa-icon.with("\u{f608}") +#let fa-location-minus = fa-icon.with("\u{f609}") +#let fa-map-marker-minus = fa-icon.with("\u{f609}") +#let fa-location-pen = fa-icon.with("\u{f607}") +#let fa-map-marker-edit = fa-icon.with("\u{f607}") +#let fa-location-pin = fa-icon.with("\u{f041}") +#let fa-map-marker = fa-icon.with("\u{f041}") +#let fa-location-pin-lock = fa-icon.with("\u{e51f}") +#let fa-location-pin-slash = fa-icon.with("\u{f60c}") +#let fa-map-marker-slash = fa-icon.with("\u{f60c}") +#let fa-location-plus = fa-icon.with("\u{f60a}") +#let fa-map-marker-plus = fa-icon.with("\u{f60a}") +#let fa-location-question = fa-icon.with("\u{f60b}") +#let fa-map-marker-question = fa-icon.with("\u{f60b}") +#let fa-location-smile = fa-icon.with("\u{f60d}") +#let fa-map-marker-smile = fa-icon.with("\u{f60d}") +#let fa-location-xmark = fa-icon.with("\u{f60e}") +#let fa-map-marker-times = fa-icon.with("\u{f60e}") +#let fa-map-marker-xmark = fa-icon.with("\u{f60e}") +#let fa-lock = fa-icon.with("\u{f023}") +#let fa-lock-a = fa-icon.with("\u{e422}") +#let fa-lock-hashtag = fa-icon.with("\u{e423}") +#let fa-lock-keyhole = fa-icon.with("\u{f30d}") +#let fa-lock-alt = fa-icon.with("\u{f30d}") +#let fa-lock-keyhole-open = fa-icon.with("\u{f3c2}") +#let fa-lock-open-alt = fa-icon.with("\u{f3c2}") +#let fa-lock-open = fa-icon.with("\u{f3c1}") +#let fa-locust = fa-icon.with("\u{e520}") +#let fa-lollipop = fa-icon.with("\u{e424}") +#let fa-lollypop = fa-icon.with("\u{e424}") +#let fa-loveseat = fa-icon.with("\u{f4cc}") +#let fa-couch-small = fa-icon.with("\u{f4cc}") +#let fa-luchador-mask = fa-icon.with("\u{f455}") +#let fa-luchador = fa-icon.with("\u{f455}") +#let fa-mask-luchador = fa-icon.with("\u{f455}") +#let fa-lungs = fa-icon.with("\u{f604}") +#let fa-lungs-virus = fa-icon.with("\u{e067}") +#let fa-lyft = fa-icon.with("\u{f3c3}") +#let fa-m = fa-icon.with("\u{4d}") +#let fa-mace = fa-icon.with("\u{f6f8}") +#let fa-magento = fa-icon.with("\u{f3c4}") +#let fa-magnet = fa-icon.with("\u{f076}") +#let fa-magnifying-glass = fa-icon.with("\u{f002}") +#let fa-search = fa-icon.with("\u{f002}") +#let fa-magnifying-glass-arrow-right = fa-icon.with("\u{e521}") +#let fa-magnifying-glass-arrows-rotate = fa-icon.with("\u{e65e}") +#let fa-magnifying-glass-chart = fa-icon.with("\u{e522}") +#let fa-magnifying-glass-dollar = fa-icon.with("\u{f688}") +#let fa-search-dollar = fa-icon.with("\u{f688}") +#let fa-magnifying-glass-location = fa-icon.with("\u{f689}") +#let fa-search-location = fa-icon.with("\u{f689}") +#let fa-magnifying-glass-minus = fa-icon.with("\u{f010}") +#let fa-search-minus = fa-icon.with("\u{f010}") +#let fa-magnifying-glass-music = fa-icon.with("\u{e65f}") +#let fa-magnifying-glass-play = fa-icon.with("\u{e660}") +#let fa-magnifying-glass-plus = fa-icon.with("\u{f00e}") +#let fa-search-plus = fa-icon.with("\u{f00e}") +#let fa-magnifying-glass-waveform = fa-icon.with("\u{e661}") +#let fa-mailbox = fa-icon.with("\u{f813}") +#let fa-mailbox-flag-up = fa-icon.with("\u{e5bb}") +#let fa-mailchimp = fa-icon.with("\u{f59e}") +#let fa-manat-sign = fa-icon.with("\u{e1d5}") +#let fa-mandalorian = fa-icon.with("\u{f50f}") +#let fa-mandolin = fa-icon.with("\u{f6f9}") +#let fa-mango = fa-icon.with("\u{e30f}") +#let fa-manhole = fa-icon.with("\u{e1d6}") +#let fa-map = fa-icon.with("\u{f279}") +#let fa-map-location = fa-icon.with("\u{f59f}") +#let fa-map-marked = fa-icon.with("\u{f59f}") +#let fa-map-location-dot = fa-icon.with("\u{f5a0}") +#let fa-map-marked-alt = fa-icon.with("\u{f5a0}") +#let fa-map-pin = fa-icon.with("\u{f276}") +#let fa-markdown = fa-icon.with("\u{f60f}") +#let fa-marker = fa-icon.with("\u{f5a1}") +#let fa-mars = fa-icon.with("\u{f222}") +#let fa-mars-and-venus = fa-icon.with("\u{f224}") +#let fa-mars-and-venus-burst = fa-icon.with("\u{e523}") +#let fa-mars-double = fa-icon.with("\u{f227}") +#let fa-mars-stroke = fa-icon.with("\u{f229}") +#let fa-mars-stroke-right = fa-icon.with("\u{f22b}") +#let fa-mars-stroke-h = fa-icon.with("\u{f22b}") +#let fa-mars-stroke-up = fa-icon.with("\u{f22a}") +#let fa-mars-stroke-v = fa-icon.with("\u{f22a}") +#let fa-martini-glass = fa-icon.with("\u{f57b}") +#let fa-glass-martini-alt = fa-icon.with("\u{f57b}") +#let fa-martini-glass-citrus = fa-icon.with("\u{f561}") +#let fa-cocktail = fa-icon.with("\u{f561}") +#let fa-martini-glass-empty = fa-icon.with("\u{f000}") +#let fa-glass-martini = fa-icon.with("\u{f000}") +#let fa-mask = fa-icon.with("\u{f6fa}") +#let fa-mask-face = fa-icon.with("\u{e1d7}") +#let fa-mask-snorkel = fa-icon.with("\u{e3b7}") +#let fa-masks-theater = fa-icon.with("\u{f630}") +#let fa-theater-masks = fa-icon.with("\u{f630}") +#let fa-mask-ventilator = fa-icon.with("\u{e524}") +#let fa-mastodon = fa-icon.with("\u{f4f6}") +#let fa-mattress-pillow = fa-icon.with("\u{e525}") +#let fa-maxcdn = fa-icon.with("\u{f136}") +#let fa-maximize = fa-icon.with("\u{f31e}") +#let fa-expand-arrows-alt = fa-icon.with("\u{f31e}") +#let fa-mdb = fa-icon.with("\u{f8ca}") +#let fa-meat = fa-icon.with("\u{f814}") +#let fa-medal = fa-icon.with("\u{f5a2}") +#let fa-medapps = fa-icon.with("\u{f3c6}") +#let fa-medium = fa-icon.with("\u{f23a}") +#let fa-medium-m = fa-icon.with("\u{f23a}") +#let fa-medrt = fa-icon.with("\u{f3c8}") +#let fa-meetup = fa-icon.with("\u{f2e0}") +#let fa-megaphone = fa-icon.with("\u{f675}") +#let fa-megaport = fa-icon.with("\u{f5a3}") +#let fa-melon = fa-icon.with("\u{e310}") +#let fa-melon-slice = fa-icon.with("\u{e311}") +#let fa-memo = fa-icon.with("\u{e1d8}") +#let fa-memo-circle-check = fa-icon.with("\u{e1d9}") +#let fa-memo-circle-info = fa-icon.with("\u{e49a}") +#let fa-memo-pad = fa-icon.with("\u{e1da}") +#let fa-memory = fa-icon.with("\u{f538}") +#let fa-mendeley = fa-icon.with("\u{f7b3}") +#let fa-menorah = fa-icon.with("\u{f676}") +#let fa-mercury = fa-icon.with("\u{f223}") +#let fa-merge = fa-icon.with("\u{e526}") +#let fa-message = fa-icon.with("\u{f27a}") +#let fa-comment-alt = fa-icon.with("\u{f27a}") +#let fa-message-arrow-down = fa-icon.with("\u{e1db}") +#let fa-comment-alt-arrow-down = fa-icon.with("\u{e1db}") +#let fa-message-arrow-up = fa-icon.with("\u{e1dc}") +#let fa-comment-alt-arrow-up = fa-icon.with("\u{e1dc}") +#let fa-message-arrow-up-right = fa-icon.with("\u{e1dd}") +#let fa-message-bot = fa-icon.with("\u{e3b8}") +#let fa-message-captions = fa-icon.with("\u{e1de}") +#let fa-comment-alt-captions = fa-icon.with("\u{e1de}") +#let fa-message-check = fa-icon.with("\u{f4a2}") +#let fa-comment-alt-check = fa-icon.with("\u{f4a2}") +#let fa-message-code = fa-icon.with("\u{e1df}") +#let fa-message-dollar = fa-icon.with("\u{f650}") +#let fa-comment-alt-dollar = fa-icon.with("\u{f650}") +#let fa-message-dots = fa-icon.with("\u{f4a3}") +#let fa-comment-alt-dots = fa-icon.with("\u{f4a3}") +#let fa-messaging = fa-icon.with("\u{f4a3}") +#let fa-message-exclamation = fa-icon.with("\u{f4a5}") +#let fa-comment-alt-exclamation = fa-icon.with("\u{f4a5}") +#let fa-message-heart = fa-icon.with("\u{e5c9}") +#let fa-message-image = fa-icon.with("\u{e1e0}") +#let fa-comment-alt-image = fa-icon.with("\u{e1e0}") +#let fa-message-lines = fa-icon.with("\u{f4a6}") +#let fa-comment-alt-lines = fa-icon.with("\u{f4a6}") +#let fa-message-medical = fa-icon.with("\u{f7f4}") +#let fa-comment-alt-medical = fa-icon.with("\u{f7f4}") +#let fa-message-middle = fa-icon.with("\u{e1e1}") +#let fa-comment-middle-alt = fa-icon.with("\u{e1e1}") +#let fa-message-middle-top = fa-icon.with("\u{e1e2}") +#let fa-comment-middle-top-alt = fa-icon.with("\u{e1e2}") +#let fa-message-minus = fa-icon.with("\u{f4a7}") +#let fa-comment-alt-minus = fa-icon.with("\u{f4a7}") +#let fa-message-music = fa-icon.with("\u{f8af}") +#let fa-comment-alt-music = fa-icon.with("\u{f8af}") +#let fa-message-pen = fa-icon.with("\u{f4a4}") +#let fa-comment-alt-edit = fa-icon.with("\u{f4a4}") +#let fa-message-edit = fa-icon.with("\u{f4a4}") +#let fa-message-plus = fa-icon.with("\u{f4a8}") +#let fa-comment-alt-plus = fa-icon.with("\u{f4a8}") +#let fa-message-question = fa-icon.with("\u{e1e3}") +#let fa-message-quote = fa-icon.with("\u{e1e4}") +#let fa-comment-alt-quote = fa-icon.with("\u{e1e4}") +#let fa-messages = fa-icon.with("\u{f4b6}") +#let fa-comments-alt = fa-icon.with("\u{f4b6}") +#let fa-messages-dollar = fa-icon.with("\u{f652}") +#let fa-comments-alt-dollar = fa-icon.with("\u{f652}") +#let fa-message-slash = fa-icon.with("\u{f4a9}") +#let fa-comment-alt-slash = fa-icon.with("\u{f4a9}") +#let fa-message-smile = fa-icon.with("\u{f4aa}") +#let fa-comment-alt-smile = fa-icon.with("\u{f4aa}") +#let fa-message-sms = fa-icon.with("\u{e1e5}") +#let fa-messages-question = fa-icon.with("\u{e1e7}") +#let fa-message-text = fa-icon.with("\u{e1e6}") +#let fa-comment-alt-text = fa-icon.with("\u{e1e6}") +#let fa-message-xmark = fa-icon.with("\u{f4ab}") +#let fa-comment-alt-times = fa-icon.with("\u{f4ab}") +#let fa-message-times = fa-icon.with("\u{f4ab}") +#let fa-meta = fa-icon.with("\u{e49b}") +#let fa-meteor = fa-icon.with("\u{f753}") +#let fa-meter = fa-icon.with("\u{e1e8}") +#let fa-meter-bolt = fa-icon.with("\u{e1e9}") +#let fa-meter-droplet = fa-icon.with("\u{e1ea}") +#let fa-meter-fire = fa-icon.with("\u{e1eb}") +#let fa-microblog = fa-icon.with("\u{e01a}") +#let fa-microchip = fa-icon.with("\u{f2db}") +#let fa-microchip-ai = fa-icon.with("\u{e1ec}") +#let fa-microphone = fa-icon.with("\u{f130}") +#let fa-microphone-lines = fa-icon.with("\u{f3c9}") +#let fa-microphone-alt = fa-icon.with("\u{f3c9}") +#let fa-microphone-lines-slash = fa-icon.with("\u{f539}") +#let fa-microphone-alt-slash = fa-icon.with("\u{f539}") +#let fa-microphone-slash = fa-icon.with("\u{f131}") +#let fa-microphone-stand = fa-icon.with("\u{f8cb}") +#let fa-microscope = fa-icon.with("\u{f610}") +#let fa-microsoft = fa-icon.with("\u{f3ca}") +#let fa-microwave = fa-icon.with("\u{e01b}") +#let fa-mill-sign = fa-icon.with("\u{e1ed}") +#let fa-minimize = fa-icon.with("\u{f78c}") +#let fa-compress-arrows-alt = fa-icon.with("\u{f78c}") +#let fa-mintbit = fa-icon.with("\u{e62f}") +#let fa-minus = fa-icon.with("\u{f068}") +#let fa-subtract = fa-icon.with("\u{f068}") +#let fa-mistletoe = fa-icon.with("\u{f7b4}") +#let fa-mitten = fa-icon.with("\u{f7b5}") +#let fa-mix = fa-icon.with("\u{f3cb}") +#let fa-mixcloud = fa-icon.with("\u{f289}") +#let fa-mixer = fa-icon.with("\u{e056}") +#let fa-mizuni = fa-icon.with("\u{f3cc}") +#let fa-mobile = fa-icon.with("\u{f3ce}") +#let fa-mobile-android = fa-icon.with("\u{f3ce}") +#let fa-mobile-phone = fa-icon.with("\u{f3ce}") +#let fa-mobile-button = fa-icon.with("\u{f10b}") +#let fa-mobile-notch = fa-icon.with("\u{e1ee}") +#let fa-mobile-iphone = fa-icon.with("\u{e1ee}") +#let fa-mobile-retro = fa-icon.with("\u{e527}") +#let fa-mobile-screen = fa-icon.with("\u{f3cf}") +#let fa-mobile-android-alt = fa-icon.with("\u{f3cf}") +#let fa-mobile-screen-button = fa-icon.with("\u{f3cd}") +#let fa-mobile-alt = fa-icon.with("\u{f3cd}") +#let fa-mobile-signal = fa-icon.with("\u{e1ef}") +#let fa-mobile-signal-out = fa-icon.with("\u{e1f0}") +#let fa-modx = fa-icon.with("\u{f285}") +#let fa-monero = fa-icon.with("\u{f3d0}") +#let fa-money-bill = fa-icon.with("\u{f0d6}") +#let fa-money-bill-1 = fa-icon.with("\u{f3d1}") +#let fa-money-bill-alt = fa-icon.with("\u{f3d1}") +#let fa-money-bill-1-wave = fa-icon.with("\u{f53b}") +#let fa-money-bill-wave-alt = fa-icon.with("\u{f53b}") +#let fa-money-bills = fa-icon.with("\u{e1f3}") +#let fa-money-bill-simple = fa-icon.with("\u{e1f1}") +#let fa-money-bill-simple-wave = fa-icon.with("\u{e1f2}") +#let fa-money-bills-simple = fa-icon.with("\u{e1f4}") +#let fa-money-bills-alt = fa-icon.with("\u{e1f4}") +#let fa-money-bill-transfer = fa-icon.with("\u{e528}") +#let fa-money-bill-trend-up = fa-icon.with("\u{e529}") +#let fa-money-bill-wave = fa-icon.with("\u{f53a}") +#let fa-money-bill-wheat = fa-icon.with("\u{e52a}") +#let fa-money-check = fa-icon.with("\u{f53c}") +#let fa-money-check-dollar = fa-icon.with("\u{f53d}") +#let fa-money-check-alt = fa-icon.with("\u{f53d}") +#let fa-money-check-dollar-pen = fa-icon.with("\u{f873}") +#let fa-money-check-edit-alt = fa-icon.with("\u{f873}") +#let fa-money-check-pen = fa-icon.with("\u{f872}") +#let fa-money-check-edit = fa-icon.with("\u{f872}") +#let fa-money-from-bracket = fa-icon.with("\u{e312}") +#let fa-money-simple-from-bracket = fa-icon.with("\u{e313}") +#let fa-monitor-waveform = fa-icon.with("\u{f611}") +#let fa-monitor-heart-rate = fa-icon.with("\u{f611}") +#let fa-monkey = fa-icon.with("\u{f6fb}") +#let fa-monument = fa-icon.with("\u{f5a6}") +#let fa-moon = fa-icon.with("\u{f186}") +#let fa-moon-cloud = fa-icon.with("\u{f754}") +#let fa-moon-over-sun = fa-icon.with("\u{f74a}") +#let fa-eclipse-alt = fa-icon.with("\u{f74a}") +#let fa-moon-stars = fa-icon.with("\u{f755}") +#let fa-moped = fa-icon.with("\u{e3b9}") +#let fa-mortar-pestle = fa-icon.with("\u{f5a7}") +#let fa-mosque = fa-icon.with("\u{f678}") +#let fa-mosquito = fa-icon.with("\u{e52b}") +#let fa-mosquito-net = fa-icon.with("\u{e52c}") +#let fa-motorcycle = fa-icon.with("\u{f21c}") +#let fa-mound = fa-icon.with("\u{e52d}") +#let fa-mountain = fa-icon.with("\u{f6fc}") +#let fa-mountain-city = fa-icon.with("\u{e52e}") +#let fa-mountains = fa-icon.with("\u{f6fd}") +#let fa-mountain-sun = fa-icon.with("\u{e52f}") +#let fa-mouse-field = fa-icon.with("\u{e5a8}") +#let fa-mp3-player = fa-icon.with("\u{f8ce}") +#let fa-mug = fa-icon.with("\u{f874}") +#let fa-mug-hot = fa-icon.with("\u{f7b6}") +#let fa-mug-marshmallows = fa-icon.with("\u{f7b7}") +#let fa-mug-saucer = fa-icon.with("\u{f0f4}") +#let fa-coffee = fa-icon.with("\u{f0f4}") +#let fa-mug-tea = fa-icon.with("\u{f875}") +#let fa-mug-tea-saucer = fa-icon.with("\u{e1f5}") +#let fa-mushroom = fa-icon.with("\u{e425}") +#let fa-music = fa-icon.with("\u{f001}") +#let fa-music-magnifying-glass = fa-icon.with("\u{e662}") +#let fa-music-note = fa-icon.with("\u{f8cf}") +#let fa-music-alt = fa-icon.with("\u{f8cf}") +#let fa-music-note-slash = fa-icon.with("\u{f8d0}") +#let fa-music-alt-slash = fa-icon.with("\u{f8d0}") +#let fa-music-slash = fa-icon.with("\u{f8d1}") +#let fa-mustache = fa-icon.with("\u{e5bc}") +#let fa-n = fa-icon.with("\u{4e}") +#let fa-naira-sign = fa-icon.with("\u{e1f6}") +#let fa-napster = fa-icon.with("\u{f3d2}") +#let fa-narwhal = fa-icon.with("\u{f6fe}") +#let fa-neos = fa-icon.with("\u{f612}") +#let fa-nesting-dolls = fa-icon.with("\u{e3ba}") +#let fa-network-wired = fa-icon.with("\u{f6ff}") +#let fa-neuter = fa-icon.with("\u{f22c}") +#let fa-newspaper = fa-icon.with("\u{f1ea}") +#let fa-nfc = fa-icon.with("\u{e1f7}") +#let fa-nfc-directional = fa-icon.with("\u{e530}") +#let fa-nfc-lock = fa-icon.with("\u{e1f8}") +#let fa-nfc-magnifying-glass = fa-icon.with("\u{e1f9}") +#let fa-nfc-pen = fa-icon.with("\u{e1fa}") +#let fa-nfc-signal = fa-icon.with("\u{e1fb}") +#let fa-nfc-slash = fa-icon.with("\u{e1fc}") +#let fa-nfc-symbol = fa-icon.with("\u{e531}") +#let fa-nfc-trash = fa-icon.with("\u{e1fd}") +#let fa-nimblr = fa-icon.with("\u{f5a8}") +#let fa-node = fa-icon.with("\u{f419}") +#let fa-node-js = fa-icon.with("\u{f3d3}") +#let fa-nose = fa-icon.with("\u{e5bd}") +#let fa-notdef = fa-icon.with("\u{e1fe}") +#let fa-note = fa-icon.with("\u{e1ff}") +#let fa-notebook = fa-icon.with("\u{e201}") +#let fa-note-medical = fa-icon.with("\u{e200}") +#let fa-not-equal = fa-icon.with("\u{f53e}") +#let fa-notes = fa-icon.with("\u{e202}") +#let fa-notes-medical = fa-icon.with("\u{f481}") +#let fa-note-sticky = fa-icon.with("\u{f249}") +#let fa-sticky-note = fa-icon.with("\u{f249}") +#let fa-npm = fa-icon.with("\u{f3d4}") +#let fa-ns8 = fa-icon.with("\u{f3d5}") +#let fa-nutritionix = fa-icon.with("\u{f3d6}") +#let fa-o = fa-icon.with("\u{4f}") +#let fa-object-exclude = fa-icon.with("\u{e49c}") +#let fa-object-group = fa-icon.with("\u{f247}") +#let fa-object-intersect = fa-icon.with("\u{e49d}") +#let fa-objects-align-bottom = fa-icon.with("\u{e3bb}") +#let fa-objects-align-center-horizontal = fa-icon.with("\u{e3bc}") +#let fa-objects-align-center-vertical = fa-icon.with("\u{e3bd}") +#let fa-objects-align-left = fa-icon.with("\u{e3be}") +#let fa-objects-align-right = fa-icon.with("\u{e3bf}") +#let fa-objects-align-top = fa-icon.with("\u{e3c0}") +#let fa-objects-column = fa-icon.with("\u{e3c1}") +#let fa-object-subtract = fa-icon.with("\u{e49e}") +#let fa-object-ungroup = fa-icon.with("\u{f248}") +#let fa-object-union = fa-icon.with("\u{e49f}") +#let fa-octagon = fa-icon.with("\u{f306}") +#let fa-octagon-check = fa-icon.with("\u{e426}") +#let fa-octagon-divide = fa-icon.with("\u{e203}") +#let fa-octagon-exclamation = fa-icon.with("\u{e204}") +#let fa-octagon-minus = fa-icon.with("\u{f308}") +#let fa-minus-octagon = fa-icon.with("\u{f308}") +#let fa-octagon-plus = fa-icon.with("\u{f301}") +#let fa-plus-octagon = fa-icon.with("\u{f301}") +#let fa-octagon-xmark = fa-icon.with("\u{f2f0}") +#let fa-times-octagon = fa-icon.with("\u{f2f0}") +#let fa-xmark-octagon = fa-icon.with("\u{f2f0}") +#let fa-octopus = fa-icon.with("\u{e688}") +#let fa-octopus-deploy = fa-icon.with("\u{e082}") +#let fa-odnoklassniki = fa-icon.with("\u{f263}") +#let fa-odysee = fa-icon.with("\u{e5c6}") +#let fa-oil-can = fa-icon.with("\u{f613}") +#let fa-oil-can-drip = fa-icon.with("\u{e205}") +#let fa-oil-temperature = fa-icon.with("\u{f614}") +#let fa-oil-temp = fa-icon.with("\u{f614}") +#let fa-oil-well = fa-icon.with("\u{e532}") +#let fa-old-republic = fa-icon.with("\u{f510}") +#let fa-olive = fa-icon.with("\u{e316}") +#let fa-olive-branch = fa-icon.with("\u{e317}") +#let fa-om = fa-icon.with("\u{f679}") +#let fa-omega = fa-icon.with("\u{f67a}") +#let fa-onion = fa-icon.with("\u{e427}") +#let fa-opencart = fa-icon.with("\u{f23d}") +#let fa-openid = fa-icon.with("\u{f19b}") +#let fa-opensuse = fa-icon.with("\u{e62b}") +#let fa-opera = fa-icon.with("\u{f26a}") +#let fa-optin-monster = fa-icon.with("\u{f23c}") +#let fa-option = fa-icon.with("\u{e318}") +#let fa-orcid = fa-icon.with("\u{f8d2}") +#let fa-ornament = fa-icon.with("\u{f7b8}") +#let fa-osi = fa-icon.with("\u{f41a}") +#let fa-otter = fa-icon.with("\u{f700}") +#let fa-outdent = fa-icon.with("\u{f03b}") +#let fa-dedent = fa-icon.with("\u{f03b}") +#let fa-outlet = fa-icon.with("\u{e01c}") +#let fa-oven = fa-icon.with("\u{e01d}") +#let fa-overline = fa-icon.with("\u{f876}") +#let fa-p = fa-icon.with("\u{50}") +#let fa-padlet = fa-icon.with("\u{e4a0}") +#let fa-page = fa-icon.with("\u{e428}") +#let fa-page4 = fa-icon.with("\u{f3d7}") +#let fa-page-caret-down = fa-icon.with("\u{e429}") +#let fa-file-caret-down = fa-icon.with("\u{e429}") +#let fa-page-caret-up = fa-icon.with("\u{e42a}") +#let fa-file-caret-up = fa-icon.with("\u{e42a}") +#let fa-pagelines = fa-icon.with("\u{f18c}") +#let fa-pager = fa-icon.with("\u{f815}") +#let fa-paintbrush = fa-icon.with("\u{f1fc}") +#let fa-paint-brush = fa-icon.with("\u{f1fc}") +#let fa-paintbrush-fine = fa-icon.with("\u{f5a9}") +#let fa-paint-brush-alt = fa-icon.with("\u{f5a9}") +#let fa-paint-brush-fine = fa-icon.with("\u{f5a9}") +#let fa-paintbrush-alt = fa-icon.with("\u{f5a9}") +#let fa-paintbrush-pencil = fa-icon.with("\u{e206}") +#let fa-paint-roller = fa-icon.with("\u{f5aa}") +#let fa-palette = fa-icon.with("\u{f53f}") +#let fa-palfed = fa-icon.with("\u{f3d8}") +#let fa-pallet = fa-icon.with("\u{f482}") +#let fa-pallet-box = fa-icon.with("\u{e208}") +#let fa-pallet-boxes = fa-icon.with("\u{f483}") +#let fa-palette-boxes = fa-icon.with("\u{f483}") +#let fa-pallet-alt = fa-icon.with("\u{f483}") +#let fa-pancakes = fa-icon.with("\u{e42d}") +#let fa-panel-ews = fa-icon.with("\u{e42e}") +#let fa-panel-fire = fa-icon.with("\u{e42f}") +#let fa-pan-food = fa-icon.with("\u{e42b}") +#let fa-pan-frying = fa-icon.with("\u{e42c}") +#let fa-panorama = fa-icon.with("\u{e209}") +#let fa-paperclip = fa-icon.with("\u{f0c6}") +#let fa-paperclip-vertical = fa-icon.with("\u{e3c2}") +#let fa-paper-plane = fa-icon.with("\u{f1d8}") +#let fa-paper-plane-top = fa-icon.with("\u{e20a}") +#let fa-paper-plane-alt = fa-icon.with("\u{e20a}") +#let fa-send = fa-icon.with("\u{e20a}") +#let fa-parachute-box = fa-icon.with("\u{f4cd}") +#let fa-paragraph = fa-icon.with("\u{f1dd}") +#let fa-paragraph-left = fa-icon.with("\u{f878}") +#let fa-paragraph-rtl = fa-icon.with("\u{f878}") +#let fa-party-bell = fa-icon.with("\u{e31a}") +#let fa-party-horn = fa-icon.with("\u{e31b}") +#let fa-passport = fa-icon.with("\u{f5ab}") +#let fa-paste = fa-icon.with("\u{f0ea}") +#let fa-file-clipboard = fa-icon.with("\u{f0ea}") +#let fa-patreon = fa-icon.with("\u{f3d9}") +#let fa-pause = fa-icon.with("\u{f04c}") +#let fa-paw = fa-icon.with("\u{f1b0}") +#let fa-paw-claws = fa-icon.with("\u{f702}") +#let fa-paw-simple = fa-icon.with("\u{f701}") +#let fa-paw-alt = fa-icon.with("\u{f701}") +#let fa-paypal = fa-icon.with("\u{f1ed}") +#let fa-peace = fa-icon.with("\u{f67c}") +#let fa-peach = fa-icon.with("\u{e20b}") +#let fa-peanut = fa-icon.with("\u{e430}") +#let fa-peanuts = fa-icon.with("\u{e431}") +#let fa-peapod = fa-icon.with("\u{e31c}") +#let fa-pear = fa-icon.with("\u{e20c}") +#let fa-pedestal = fa-icon.with("\u{e20d}") +#let fa-pegasus = fa-icon.with("\u{f703}") +#let fa-pen = fa-icon.with("\u{f304}") +#let fa-pencil = fa-icon.with("\u{f303}") +#let fa-pencil-alt = fa-icon.with("\u{f303}") +#let fa-pencil-mechanical = fa-icon.with("\u{e5ca}") +#let fa-pencil-slash = fa-icon.with("\u{e215}") +#let fa-pen-circle = fa-icon.with("\u{e20e}") +#let fa-pen-clip = fa-icon.with("\u{f305}") +#let fa-pen-alt = fa-icon.with("\u{f305}") +#let fa-pen-clip-slash = fa-icon.with("\u{e20f}") +#let fa-pen-alt-slash = fa-icon.with("\u{e20f}") +#let fa-pen-fancy = fa-icon.with("\u{f5ac}") +#let fa-pen-fancy-slash = fa-icon.with("\u{e210}") +#let fa-pen-field = fa-icon.with("\u{e211}") +#let fa-pen-line = fa-icon.with("\u{e212}") +#let fa-pen-nib = fa-icon.with("\u{f5ad}") +#let fa-pen-nib-slash = fa-icon.with("\u{e4a1}") +#let fa-pen-paintbrush = fa-icon.with("\u{f618}") +#let fa-pencil-paintbrush = fa-icon.with("\u{f618}") +#let fa-pen-ruler = fa-icon.with("\u{f5ae}") +#let fa-pencil-ruler = fa-icon.with("\u{f5ae}") +#let fa-pen-slash = fa-icon.with("\u{e213}") +#let fa-pen-swirl = fa-icon.with("\u{e214}") +#let fa-pen-to-square = fa-icon.with("\u{f044}") +#let fa-edit = fa-icon.with("\u{f044}") +#let fa-people = fa-icon.with("\u{e216}") +#let fa-people-arrows = fa-icon.with("\u{e068}") +#let fa-people-arrows-left-right = fa-icon.with("\u{e068}") +#let fa-people-carry-box = fa-icon.with("\u{f4ce}") +#let fa-people-carry = fa-icon.with("\u{f4ce}") +#let fa-people-dress = fa-icon.with("\u{e217}") +#let fa-people-dress-simple = fa-icon.with("\u{e218}") +#let fa-people-group = fa-icon.with("\u{e533}") +#let fa-people-line = fa-icon.with("\u{e534}") +#let fa-people-pants = fa-icon.with("\u{e219}") +#let fa-people-pants-simple = fa-icon.with("\u{e21a}") +#let fa-people-pulling = fa-icon.with("\u{e535}") +#let fa-people-robbery = fa-icon.with("\u{e536}") +#let fa-people-roof = fa-icon.with("\u{e537}") +#let fa-people-simple = fa-icon.with("\u{e21b}") +#let fa-pepper = fa-icon.with("\u{e432}") +#let fa-pepper-hot = fa-icon.with("\u{f816}") +#let fa-perbyte = fa-icon.with("\u{e083}") +#let fa-percent = fa-icon.with("\u{25}") +#let fa-percentage = fa-icon.with("\u{25}") +#let fa-period = fa-icon.with("\u{2e}") +#let fa-periscope = fa-icon.with("\u{f3da}") +#let fa-person = fa-icon.with("\u{f183}") +#let fa-male = fa-icon.with("\u{f183}") +#let fa-person-arrow-down-to-line = fa-icon.with("\u{e538}") +#let fa-person-arrow-up-from-line = fa-icon.with("\u{e539}") +#let fa-person-biking = fa-icon.with("\u{f84a}") +#let fa-biking = fa-icon.with("\u{f84a}") +#let fa-person-biking-mountain = fa-icon.with("\u{f84b}") +#let fa-biking-mountain = fa-icon.with("\u{f84b}") +#let fa-person-booth = fa-icon.with("\u{f756}") +#let fa-person-breastfeeding = fa-icon.with("\u{e53a}") +#let fa-person-burst = fa-icon.with("\u{e53b}") +#let fa-person-cane = fa-icon.with("\u{e53c}") +#let fa-person-carry-box = fa-icon.with("\u{f4cf}") +#let fa-person-carry = fa-icon.with("\u{f4cf}") +#let fa-person-chalkboard = fa-icon.with("\u{e53d}") +#let fa-person-circle-check = fa-icon.with("\u{e53e}") +#let fa-person-circle-exclamation = fa-icon.with("\u{e53f}") +#let fa-person-circle-minus = fa-icon.with("\u{e540}") +#let fa-person-circle-plus = fa-icon.with("\u{e541}") +#let fa-person-circle-question = fa-icon.with("\u{e542}") +#let fa-person-circle-xmark = fa-icon.with("\u{e543}") +#let fa-person-digging = fa-icon.with("\u{f85e}") +#let fa-digging = fa-icon.with("\u{f85e}") +#let fa-person-dolly = fa-icon.with("\u{f4d0}") +#let fa-person-dolly-empty = fa-icon.with("\u{f4d1}") +#let fa-person-dots-from-line = fa-icon.with("\u{f470}") +#let fa-diagnoses = fa-icon.with("\u{f470}") +#let fa-person-dress = fa-icon.with("\u{f182}") +#let fa-female = fa-icon.with("\u{f182}") +#let fa-person-dress-burst = fa-icon.with("\u{e544}") +#let fa-person-dress-fairy = fa-icon.with("\u{e607}") +#let fa-person-dress-simple = fa-icon.with("\u{e21c}") +#let fa-person-drowning = fa-icon.with("\u{e545}") +#let fa-person-fairy = fa-icon.with("\u{e608}") +#let fa-person-falling = fa-icon.with("\u{e546}") +#let fa-person-falling-burst = fa-icon.with("\u{e547}") +#let fa-person-from-portal = fa-icon.with("\u{e023}") +#let fa-portal-exit = fa-icon.with("\u{e023}") +#let fa-person-half-dress = fa-icon.with("\u{e548}") +#let fa-person-harassing = fa-icon.with("\u{e549}") +#let fa-person-hiking = fa-icon.with("\u{f6ec}") +#let fa-hiking = fa-icon.with("\u{f6ec}") +#let fa-person-military-pointing = fa-icon.with("\u{e54a}") +#let fa-person-military-rifle = fa-icon.with("\u{e54b}") +#let fa-person-military-to-person = fa-icon.with("\u{e54c}") +#let fa-person-pinball = fa-icon.with("\u{e21d}") +#let fa-person-praying = fa-icon.with("\u{f683}") +#let fa-pray = fa-icon.with("\u{f683}") +#let fa-person-pregnant = fa-icon.with("\u{e31e}") +#let fa-person-rays = fa-icon.with("\u{e54d}") +#let fa-person-rifle = fa-icon.with("\u{e54e}") +#let fa-person-running = fa-icon.with("\u{f70c}") +#let fa-running = fa-icon.with("\u{f70c}") +#let fa-person-running-fast = fa-icon.with("\u{e5ff}") +#let fa-person-seat = fa-icon.with("\u{e21e}") +#let fa-person-seat-reclined = fa-icon.with("\u{e21f}") +#let fa-person-shelter = fa-icon.with("\u{e54f}") +#let fa-person-sign = fa-icon.with("\u{f757}") +#let fa-person-simple = fa-icon.with("\u{e220}") +#let fa-person-skating = fa-icon.with("\u{f7c5}") +#let fa-skating = fa-icon.with("\u{f7c5}") +#let fa-person-skiing = fa-icon.with("\u{f7c9}") +#let fa-skiing = fa-icon.with("\u{f7c9}") +#let fa-person-skiing-nordic = fa-icon.with("\u{f7ca}") +#let fa-skiing-nordic = fa-icon.with("\u{f7ca}") +#let fa-person-ski-jumping = fa-icon.with("\u{f7c7}") +#let fa-ski-jump = fa-icon.with("\u{f7c7}") +#let fa-person-ski-lift = fa-icon.with("\u{f7c8}") +#let fa-ski-lift = fa-icon.with("\u{f7c8}") +#let fa-person-sledding = fa-icon.with("\u{f7cb}") +#let fa-sledding = fa-icon.with("\u{f7cb}") +#let fa-person-snowboarding = fa-icon.with("\u{f7ce}") +#let fa-snowboarding = fa-icon.with("\u{f7ce}") +#let fa-person-snowmobiling = fa-icon.with("\u{f7d1}") +#let fa-snowmobile = fa-icon.with("\u{f7d1}") +#let fa-person-swimming = fa-icon.with("\u{f5c4}") +#let fa-swimmer = fa-icon.with("\u{f5c4}") +#let fa-person-through-window = fa-icon.with("\u{e5a9}") +#let fa-person-to-door = fa-icon.with("\u{e433}") +#let fa-person-to-portal = fa-icon.with("\u{e022}") +#let fa-portal-enter = fa-icon.with("\u{e022}") +#let fa-person-walking = fa-icon.with("\u{f554}") +#let fa-walking = fa-icon.with("\u{f554}") +#let fa-person-walking-arrow-loop-left = fa-icon.with("\u{e551}") +#let fa-person-walking-arrow-right = fa-icon.with("\u{e552}") +#let fa-person-walking-dashed-line-arrow-right = fa-icon.with("\u{e553}") +#let fa-person-walking-luggage = fa-icon.with("\u{e554}") +#let fa-person-walking-with-cane = fa-icon.with("\u{f29d}") +#let fa-blind = fa-icon.with("\u{f29d}") +#let fa-peseta-sign = fa-icon.with("\u{e221}") +#let fa-peso-sign = fa-icon.with("\u{e222}") +#let fa-phabricator = fa-icon.with("\u{f3db}") +#let fa-phoenix-framework = fa-icon.with("\u{f3dc}") +#let fa-phoenix-squadron = fa-icon.with("\u{f511}") +#let fa-phone = fa-icon.with("\u{f095}") +#let fa-phone-arrow-down-left = fa-icon.with("\u{e223}") +#let fa-phone-arrow-down = fa-icon.with("\u{e223}") +#let fa-phone-incoming = fa-icon.with("\u{e223}") +#let fa-phone-arrow-right = fa-icon.with("\u{e5be}") +#let fa-phone-arrow-up-right = fa-icon.with("\u{e224}") +#let fa-phone-arrow-up = fa-icon.with("\u{e224}") +#let fa-phone-outgoing = fa-icon.with("\u{e224}") +#let fa-phone-flip = fa-icon.with("\u{f879}") +#let fa-phone-alt = fa-icon.with("\u{f879}") +#let fa-phone-hangup = fa-icon.with("\u{e225}") +#let fa-phone-intercom = fa-icon.with("\u{e434}") +#let fa-phone-missed = fa-icon.with("\u{e226}") +#let fa-phone-office = fa-icon.with("\u{f67d}") +#let fa-phone-plus = fa-icon.with("\u{f4d2}") +#let fa-phone-rotary = fa-icon.with("\u{f8d3}") +#let fa-phone-slash = fa-icon.with("\u{f3dd}") +#let fa-phone-volume = fa-icon.with("\u{f2a0}") +#let fa-volume-control-phone = fa-icon.with("\u{f2a0}") +#let fa-phone-xmark = fa-icon.with("\u{e227}") +#let fa-photo-film = fa-icon.with("\u{f87c}") +#let fa-photo-video = fa-icon.with("\u{f87c}") +#let fa-photo-film-music = fa-icon.with("\u{e228}") +#let fa-php = fa-icon.with("\u{f457}") +#let fa-pi = fa-icon.with("\u{f67e}") +#let fa-piano = fa-icon.with("\u{f8d4}") +#let fa-piano-keyboard = fa-icon.with("\u{f8d5}") +#let fa-pickaxe = fa-icon.with("\u{e5bf}") +#let fa-pickleball = fa-icon.with("\u{e435}") +#let fa-pie = fa-icon.with("\u{f705}") +#let fa-pied-piper = fa-icon.with("\u{f2ae}") +#let fa-pied-piper-alt = fa-icon.with("\u{f1a8}") +#let fa-pied-piper-hat = fa-icon.with("\u{f4e5}") +#let fa-pied-piper-pp = fa-icon.with("\u{f1a7}") +#let fa-pig = fa-icon.with("\u{f706}") +#let fa-piggy-bank = fa-icon.with("\u{f4d3}") +#let fa-pills = fa-icon.with("\u{f484}") +#let fa-pinata = fa-icon.with("\u{e3c3}") +#let fa-pinball = fa-icon.with("\u{e229}") +#let fa-pineapple = fa-icon.with("\u{e31f}") +#let fa-pinterest = fa-icon.with("\u{f0d2}") +#let fa-pinterest-p = fa-icon.with("\u{f231}") +#let fa-pipe = fa-icon.with("\u{7c}") +#let fa-pipe-circle-check = fa-icon.with("\u{e436}") +#let fa-pipe-collar = fa-icon.with("\u{e437}") +#let fa-pipe-section = fa-icon.with("\u{e438}") +#let fa-pipe-smoking = fa-icon.with("\u{e3c4}") +#let fa-pipe-valve = fa-icon.with("\u{e439}") +#let fa-pix = fa-icon.with("\u{e43a}") +#let fa-pixiv = fa-icon.with("\u{e640}") +#let fa-pizza = fa-icon.with("\u{f817}") +#let fa-pizza-slice = fa-icon.with("\u{f818}") +#let fa-place-of-worship = fa-icon.with("\u{f67f}") +#let fa-plane = fa-icon.with("\u{f072}") +#let fa-plane-arrival = fa-icon.with("\u{f5af}") +#let fa-plane-circle-check = fa-icon.with("\u{e555}") +#let fa-plane-circle-exclamation = fa-icon.with("\u{e556}") +#let fa-plane-circle-xmark = fa-icon.with("\u{e557}") +#let fa-plane-departure = fa-icon.with("\u{f5b0}") +#let fa-plane-engines = fa-icon.with("\u{f3de}") +#let fa-plane-alt = fa-icon.with("\u{f3de}") +#let fa-plane-lock = fa-icon.with("\u{e558}") +#let fa-plane-prop = fa-icon.with("\u{e22b}") +#let fa-plane-slash = fa-icon.with("\u{e069}") +#let fa-plane-tail = fa-icon.with("\u{e22c}") +#let fa-planet-moon = fa-icon.with("\u{e01f}") +#let fa-planet-ringed = fa-icon.with("\u{e020}") +#let fa-plane-up = fa-icon.with("\u{e22d}") +#let fa-plane-up-slash = fa-icon.with("\u{e22e}") +#let fa-plant-wilt = fa-icon.with("\u{e5aa}") +#let fa-plate-utensils = fa-icon.with("\u{e43b}") +#let fa-plate-wheat = fa-icon.with("\u{e55a}") +#let fa-play = fa-icon.with("\u{f04b}") +#let fa-play-pause = fa-icon.with("\u{e22f}") +#let fa-playstation = fa-icon.with("\u{f3df}") +#let fa-plug = fa-icon.with("\u{f1e6}") +#let fa-plug-circle-bolt = fa-icon.with("\u{e55b}") +#let fa-plug-circle-check = fa-icon.with("\u{e55c}") +#let fa-plug-circle-exclamation = fa-icon.with("\u{e55d}") +#let fa-plug-circle-minus = fa-icon.with("\u{e55e}") +#let fa-plug-circle-plus = fa-icon.with("\u{e55f}") +#let fa-plug-circle-xmark = fa-icon.with("\u{e560}") +#let fa-plus = fa-icon.with("\u{2b}") +#let fa-add = fa-icon.with("\u{2b}") +#let fa-plus-large = fa-icon.with("\u{e59e}") +#let fa-plus-minus = fa-icon.with("\u{e43c}") +#let fa-podcast = fa-icon.with("\u{f2ce}") +#let fa-podium = fa-icon.with("\u{f680}") +#let fa-podium-star = fa-icon.with("\u{f758}") +#let fa-police-box = fa-icon.with("\u{e021}") +#let fa-poll-people = fa-icon.with("\u{f759}") +#let fa-pompebled = fa-icon.with("\u{e43d}") +#let fa-poo = fa-icon.with("\u{f2fe}") +#let fa-pool-8-ball = fa-icon.with("\u{e3c5}") +#let fa-poop = fa-icon.with("\u{f619}") +#let fa-poo-storm = fa-icon.with("\u{f75a}") +#let fa-poo-bolt = fa-icon.with("\u{f75a}") +#let fa-popcorn = fa-icon.with("\u{f819}") +#let fa-popsicle = fa-icon.with("\u{e43e}") +#let fa-potato = fa-icon.with("\u{e440}") +#let fa-pot-food = fa-icon.with("\u{e43f}") +#let fa-power-off = fa-icon.with("\u{f011}") +#let fa-prescription = fa-icon.with("\u{f5b1}") +#let fa-prescription-bottle = fa-icon.with("\u{f485}") +#let fa-prescription-bottle-medical = fa-icon.with("\u{f486}") +#let fa-prescription-bottle-alt = fa-icon.with("\u{f486}") +#let fa-prescription-bottle-pill = fa-icon.with("\u{e5c0}") +#let fa-presentation-screen = fa-icon.with("\u{f685}") +#let fa-presentation = fa-icon.with("\u{f685}") +#let fa-pretzel = fa-icon.with("\u{e441}") +#let fa-print = fa-icon.with("\u{f02f}") +#let fa-print-magnifying-glass = fa-icon.with("\u{f81a}") +#let fa-print-search = fa-icon.with("\u{f81a}") +#let fa-print-slash = fa-icon.with("\u{f686}") +#let fa-product-hunt = fa-icon.with("\u{f288}") +#let fa-projector = fa-icon.with("\u{f8d6}") +#let fa-pump = fa-icon.with("\u{e442}") +#let fa-pumpkin = fa-icon.with("\u{f707}") +#let fa-pump-medical = fa-icon.with("\u{e06a}") +#let fa-pump-soap = fa-icon.with("\u{e06b}") +#let fa-pushed = fa-icon.with("\u{f3e1}") +#let fa-puzzle = fa-icon.with("\u{e443}") +#let fa-puzzle-piece = fa-icon.with("\u{f12e}") +#let fa-puzzle-piece-simple = fa-icon.with("\u{e231}") +#let fa-puzzle-piece-alt = fa-icon.with("\u{e231}") +#let fa-python = fa-icon.with("\u{f3e2}") +#let fa-q = fa-icon.with("\u{51}") +#let fa-qq = fa-icon.with("\u{f1d6}") +#let fa-qrcode = fa-icon.with("\u{f029}") +#let fa-question = fa-icon.with("\u{3f}") +#let fa-quinscape = fa-icon.with("\u{f459}") +#let fa-quora = fa-icon.with("\u{f2c4}") +#let fa-quote-left = fa-icon.with("\u{f10d}") +#let fa-quote-left-alt = fa-icon.with("\u{f10d}") +#let fa-quote-right = fa-icon.with("\u{f10e}") +#let fa-quote-right-alt = fa-icon.with("\u{f10e}") +#let fa-quotes = fa-icon.with("\u{e234}") +#let fa-r = fa-icon.with("\u{52}") +#let fa-rabbit = fa-icon.with("\u{f708}") +#let fa-rabbit-running = fa-icon.with("\u{f709}") +#let fa-rabbit-fast = fa-icon.with("\u{f709}") +#let fa-raccoon = fa-icon.with("\u{e613}") +#let fa-racquet = fa-icon.with("\u{f45a}") +#let fa-radar = fa-icon.with("\u{e024}") +#let fa-radiation = fa-icon.with("\u{f7b9}") +#let fa-radio = fa-icon.with("\u{f8d7}") +#let fa-radio-tuner = fa-icon.with("\u{f8d8}") +#let fa-radio-alt = fa-icon.with("\u{f8d8}") +#let fa-rainbow = fa-icon.with("\u{f75b}") +#let fa-raindrops = fa-icon.with("\u{f75c}") +#let fa-ram = fa-icon.with("\u{f70a}") +#let fa-ramp-loading = fa-icon.with("\u{f4d4}") +#let fa-ranking-star = fa-icon.with("\u{e561}") +#let fa-raspberry-pi = fa-icon.with("\u{f7bb}") +#let fa-ravelry = fa-icon.with("\u{f2d9}") +#let fa-raygun = fa-icon.with("\u{e025}") +#let fa-react = fa-icon.with("\u{f41b}") +#let fa-reacteurope = fa-icon.with("\u{f75d}") +#let fa-readme = fa-icon.with("\u{f4d5}") +#let fa-rebel = fa-icon.with("\u{f1d0}") +#let fa-receipt = fa-icon.with("\u{f543}") +#let fa-record-vinyl = fa-icon.with("\u{f8d9}") +#let fa-rectangle = fa-icon.with("\u{f2fa}") +#let fa-rectangle-landscape = fa-icon.with("\u{f2fa}") +#let fa-rectangle-ad = fa-icon.with("\u{f641}") +#let fa-ad = fa-icon.with("\u{f641}") +#let fa-rectangle-barcode = fa-icon.with("\u{f463}") +#let fa-barcode-alt = fa-icon.with("\u{f463}") +#let fa-rectangle-code = fa-icon.with("\u{e322}") +#let fa-rectangle-history = fa-icon.with("\u{e4a2}") +#let fa-rectangle-history-circle-plus = fa-icon.with("\u{e4a3}") +#let fa-rectangle-history-circle-user = fa-icon.with("\u{e4a4}") +#let fa-rectangle-list = fa-icon.with("\u{f022}") +#let fa-list-alt = fa-icon.with("\u{f022}") +#let fa-rectangle-pro = fa-icon.with("\u{e235}") +#let fa-pro = fa-icon.with("\u{e235}") +#let fa-rectangles-mixed = fa-icon.with("\u{e323}") +#let fa-rectangle-terminal = fa-icon.with("\u{e236}") +#let fa-rectangle-vertical = fa-icon.with("\u{f2fb}") +#let fa-rectangle-portrait = fa-icon.with("\u{f2fb}") +#let fa-rectangle-vertical-history = fa-icon.with("\u{e237}") +#let fa-rectangle-wide = fa-icon.with("\u{f2fc}") +#let fa-rectangle-xmark = fa-icon.with("\u{f410}") +#let fa-rectangle-times = fa-icon.with("\u{f410}") +#let fa-times-rectangle = fa-icon.with("\u{f410}") +#let fa-window-close = fa-icon.with("\u{f410}") +#let fa-recycle = fa-icon.with("\u{f1b8}") +#let fa-reddit = fa-icon.with("\u{f1a1}") +#let fa-reddit-alien = fa-icon.with("\u{f281}") +#let fa-redhat = fa-icon.with("\u{f7bc}") +#let fa-red-river = fa-icon.with("\u{f3e3}") +#let fa-reel = fa-icon.with("\u{e238}") +#let fa-reflect-both = fa-icon.with("\u{e66f}") +#let fa-reflect-horizontal = fa-icon.with("\u{e664}") +#let fa-reflect-vertical = fa-icon.with("\u{e665}") +#let fa-refrigerator = fa-icon.with("\u{e026}") +#let fa-registered = fa-icon.with("\u{f25d}") +#let fa-renren = fa-icon.with("\u{f18b}") +#let fa-repeat = fa-icon.with("\u{f363}") +#let fa-repeat-1 = fa-icon.with("\u{f365}") +#let fa-reply = fa-icon.with("\u{f3e5}") +#let fa-mail-reply = fa-icon.with("\u{f3e5}") +#let fa-reply-all = fa-icon.with("\u{f122}") +#let fa-mail-reply-all = fa-icon.with("\u{f122}") +#let fa-reply-clock = fa-icon.with("\u{e239}") +#let fa-reply-time = fa-icon.with("\u{e239}") +#let fa-replyd = fa-icon.with("\u{f3e6}") +#let fa-republican = fa-icon.with("\u{f75e}") +#let fa-researchgate = fa-icon.with("\u{f4f8}") +#let fa-resolving = fa-icon.with("\u{f3e7}") +#let fa-restroom = fa-icon.with("\u{f7bd}") +#let fa-restroom-simple = fa-icon.with("\u{e23a}") +#let fa-retweet = fa-icon.with("\u{f079}") +#let fa-rev = fa-icon.with("\u{f5b2}") +#let fa-rhombus = fa-icon.with("\u{e23b}") +#let fa-ribbon = fa-icon.with("\u{f4d6}") +#let fa-right = fa-icon.with("\u{f356}") +#let fa-arrow-alt-right = fa-icon.with("\u{f356}") +#let fa-right-from-bracket = fa-icon.with("\u{f2f5}") +#let fa-sign-out-alt = fa-icon.with("\u{f2f5}") +#let fa-right-from-line = fa-icon.with("\u{f347}") +#let fa-arrow-alt-from-left = fa-icon.with("\u{f347}") +#let fa-right-left = fa-icon.with("\u{f362}") +#let fa-exchange-alt = fa-icon.with("\u{f362}") +#let fa-right-left-large = fa-icon.with("\u{e5e1}") +#let fa-right-long = fa-icon.with("\u{f30b}") +#let fa-long-arrow-alt-right = fa-icon.with("\u{f30b}") +#let fa-right-long-to-line = fa-icon.with("\u{e444}") +#let fa-right-to-bracket = fa-icon.with("\u{f2f6}") +#let fa-sign-in-alt = fa-icon.with("\u{f2f6}") +#let fa-right-to-line = fa-icon.with("\u{f34c}") +#let fa-arrow-alt-to-right = fa-icon.with("\u{f34c}") +#let fa-ring = fa-icon.with("\u{f70b}") +#let fa-ring-diamond = fa-icon.with("\u{e5ab}") +#let fa-rings-wedding = fa-icon.with("\u{f81b}") +#let fa-road = fa-icon.with("\u{f018}") +#let fa-road-barrier = fa-icon.with("\u{e562}") +#let fa-road-bridge = fa-icon.with("\u{e563}") +#let fa-road-circle-check = fa-icon.with("\u{e564}") +#let fa-road-circle-exclamation = fa-icon.with("\u{e565}") +#let fa-road-circle-xmark = fa-icon.with("\u{e566}") +#let fa-road-lock = fa-icon.with("\u{e567}") +#let fa-road-spikes = fa-icon.with("\u{e568}") +#let fa-robot = fa-icon.with("\u{f544}") +#let fa-robot-astromech = fa-icon.with("\u{e2d2}") +#let fa-rocket = fa-icon.with("\u{f135}") +#let fa-rocketchat = fa-icon.with("\u{f3e8}") +#let fa-rocket-launch = fa-icon.with("\u{e027}") +#let fa-rockrms = fa-icon.with("\u{f3e9}") +#let fa-roller-coaster = fa-icon.with("\u{e324}") +#let fa-rotate = fa-icon.with("\u{f2f1}") +#let fa-sync-alt = fa-icon.with("\u{f2f1}") +#let fa-rotate-exclamation = fa-icon.with("\u{e23c}") +#let fa-rotate-left = fa-icon.with("\u{f2ea}") +#let fa-rotate-back = fa-icon.with("\u{f2ea}") +#let fa-rotate-backward = fa-icon.with("\u{f2ea}") +#let fa-undo-alt = fa-icon.with("\u{f2ea}") +#let fa-rotate-reverse = fa-icon.with("\u{e631}") +#let fa-rotate-right = fa-icon.with("\u{f2f9}") +#let fa-redo-alt = fa-icon.with("\u{f2f9}") +#let fa-rotate-forward = fa-icon.with("\u{f2f9}") +#let fa-route = fa-icon.with("\u{f4d7}") +#let fa-route-highway = fa-icon.with("\u{f61a}") +#let fa-route-interstate = fa-icon.with("\u{f61b}") +#let fa-router = fa-icon.with("\u{f8da}") +#let fa-r-project = fa-icon.with("\u{f4f7}") +#let fa-rss = fa-icon.with("\u{f09e}") +#let fa-feed = fa-icon.with("\u{f09e}") +#let fa-ruble-sign = fa-icon.with("\u{f158}") +#let fa-rouble = fa-icon.with("\u{f158}") +#let fa-rub = fa-icon.with("\u{f158}") +#let fa-ruble = fa-icon.with("\u{f158}") +#let fa-rug = fa-icon.with("\u{e569}") +#let fa-rugby-ball = fa-icon.with("\u{e3c6}") +#let fa-ruler = fa-icon.with("\u{f545}") +#let fa-ruler-combined = fa-icon.with("\u{f546}") +#let fa-ruler-horizontal = fa-icon.with("\u{f547}") +#let fa-ruler-triangle = fa-icon.with("\u{f61c}") +#let fa-ruler-vertical = fa-icon.with("\u{f548}") +#let fa-rupee-sign = fa-icon.with("\u{f156}") +#let fa-rupee = fa-icon.with("\u{f156}") +#let fa-rupiah-sign = fa-icon.with("\u{e23d}") +#let fa-rust = fa-icon.with("\u{e07a}") +#let fa-rv = fa-icon.with("\u{f7be}") +#let fa-s = fa-icon.with("\u{53}") +#let fa-sack = fa-icon.with("\u{f81c}") +#let fa-sack-dollar = fa-icon.with("\u{f81d}") +#let fa-sack-xmark = fa-icon.with("\u{e56a}") +#let fa-safari = fa-icon.with("\u{f267}") +#let fa-sailboat = fa-icon.with("\u{e445}") +#let fa-salad = fa-icon.with("\u{f81e}") +#let fa-bowl-salad = fa-icon.with("\u{f81e}") +#let fa-salesforce = fa-icon.with("\u{f83b}") +#let fa-salt-shaker = fa-icon.with("\u{e446}") +#let fa-sandwich = fa-icon.with("\u{f81f}") +#let fa-sass = fa-icon.with("\u{f41e}") +#let fa-satellite = fa-icon.with("\u{f7bf}") +#let fa-satellite-dish = fa-icon.with("\u{f7c0}") +#let fa-sausage = fa-icon.with("\u{f820}") +#let fa-saxophone = fa-icon.with("\u{f8dc}") +#let fa-saxophone-fire = fa-icon.with("\u{f8db}") +#let fa-sax-hot = fa-icon.with("\u{f8db}") +#let fa-scale-balanced = fa-icon.with("\u{f24e}") +#let fa-balance-scale = fa-icon.with("\u{f24e}") +#let fa-scale-unbalanced = fa-icon.with("\u{f515}") +#let fa-balance-scale-left = fa-icon.with("\u{f515}") +#let fa-scale-unbalanced-flip = fa-icon.with("\u{f516}") +#let fa-balance-scale-right = fa-icon.with("\u{f516}") +#let fa-scalpel = fa-icon.with("\u{f61d}") +#let fa-scalpel-line-dashed = fa-icon.with("\u{f61e}") +#let fa-scalpel-path = fa-icon.with("\u{f61e}") +#let fa-scanner-gun = fa-icon.with("\u{f488}") +#let fa-scanner = fa-icon.with("\u{f488}") +#let fa-scanner-image = fa-icon.with("\u{f8f3}") +#let fa-scanner-keyboard = fa-icon.with("\u{f489}") +#let fa-scanner-touchscreen = fa-icon.with("\u{f48a}") +#let fa-scarecrow = fa-icon.with("\u{f70d}") +#let fa-scarf = fa-icon.with("\u{f7c1}") +#let fa-schlix = fa-icon.with("\u{f3ea}") +#let fa-school = fa-icon.with("\u{f549}") +#let fa-school-circle-check = fa-icon.with("\u{e56b}") +#let fa-school-circle-exclamation = fa-icon.with("\u{e56c}") +#let fa-school-circle-xmark = fa-icon.with("\u{e56d}") +#let fa-school-flag = fa-icon.with("\u{e56e}") +#let fa-school-lock = fa-icon.with("\u{e56f}") +#let fa-scissors = fa-icon.with("\u{f0c4}") +#let fa-cut = fa-icon.with("\u{f0c4}") +#let fa-screencast = fa-icon.with("\u{e23e}") +#let fa-screenpal = fa-icon.with("\u{e570}") +#let fa-screen-users = fa-icon.with("\u{f63d}") +#let fa-users-class = fa-icon.with("\u{f63d}") +#let fa-screwdriver = fa-icon.with("\u{f54a}") +#let fa-screwdriver-wrench = fa-icon.with("\u{f7d9}") +#let fa-tools = fa-icon.with("\u{f7d9}") +#let fa-scribble = fa-icon.with("\u{e23f}") +#let fa-scribd = fa-icon.with("\u{f28a}") +#let fa-scroll = fa-icon.with("\u{f70e}") +#let fa-scroll-old = fa-icon.with("\u{f70f}") +#let fa-scroll-torah = fa-icon.with("\u{f6a0}") +#let fa-torah = fa-icon.with("\u{f6a0}") +#let fa-scrubber = fa-icon.with("\u{f2f8}") +#let fa-scythe = fa-icon.with("\u{f710}") +#let fa-sd-card = fa-icon.with("\u{f7c2}") +#let fa-sd-cards = fa-icon.with("\u{e240}") +#let fa-seal = fa-icon.with("\u{e241}") +#let fa-seal-exclamation = fa-icon.with("\u{e242}") +#let fa-seal-question = fa-icon.with("\u{e243}") +#let fa-searchengin = fa-icon.with("\u{f3eb}") +#let fa-seat-airline = fa-icon.with("\u{e244}") +#let fa-section = fa-icon.with("\u{e447}") +#let fa-seedling = fa-icon.with("\u{f4d8}") +#let fa-sprout = fa-icon.with("\u{f4d8}") +#let fa-sellcast = fa-icon.with("\u{f2da}") +#let fa-sellsy = fa-icon.with("\u{f213}") +#let fa-semicolon = fa-icon.with("\u{3b}") +#let fa-send-back = fa-icon.with("\u{f87e}") +#let fa-send-backward = fa-icon.with("\u{f87f}") +#let fa-sensor = fa-icon.with("\u{e028}") +#let fa-sensor-cloud = fa-icon.with("\u{e02c}") +#let fa-sensor-smoke = fa-icon.with("\u{e02c}") +#let fa-sensor-fire = fa-icon.with("\u{e02a}") +#let fa-sensor-on = fa-icon.with("\u{e02b}") +#let fa-sensor-triangle-exclamation = fa-icon.with("\u{e029}") +#let fa-sensor-alert = fa-icon.with("\u{e029}") +#let fa-server = fa-icon.with("\u{f233}") +#let fa-servicestack = fa-icon.with("\u{f3ec}") +#let fa-shapes = fa-icon.with("\u{f61f}") +#let fa-triangle-circle-square = fa-icon.with("\u{f61f}") +#let fa-share = fa-icon.with("\u{f064}") +#let fa-mail-forward = fa-icon.with("\u{f064}") +#let fa-share-all = fa-icon.with("\u{f367}") +#let fa-share-from-square = fa-icon.with("\u{f14d}") +#let fa-share-square = fa-icon.with("\u{f14d}") +#let fa-share-nodes = fa-icon.with("\u{f1e0}") +#let fa-share-alt = fa-icon.with("\u{f1e0}") +#let fa-sheep = fa-icon.with("\u{f711}") +#let fa-sheet-plastic = fa-icon.with("\u{e571}") +#let fa-shekel-sign = fa-icon.with("\u{f20b}") +#let fa-ils = fa-icon.with("\u{f20b}") +#let fa-shekel = fa-icon.with("\u{f20b}") +#let fa-sheqel = fa-icon.with("\u{f20b}") +#let fa-sheqel-sign = fa-icon.with("\u{f20b}") +#let fa-shelves = fa-icon.with("\u{f480}") +#let fa-inventory = fa-icon.with("\u{f480}") +#let fa-shelves-empty = fa-icon.with("\u{e246}") +#let fa-shield = fa-icon.with("\u{f132}") +#let fa-shield-blank = fa-icon.with("\u{f132}") +#let fa-shield-cat = fa-icon.with("\u{e572}") +#let fa-shield-check = fa-icon.with("\u{f2f7}") +#let fa-shield-cross = fa-icon.with("\u{f712}") +#let fa-shield-dog = fa-icon.with("\u{e573}") +#let fa-shield-exclamation = fa-icon.with("\u{e247}") +#let fa-shield-halved = fa-icon.with("\u{f3ed}") +#let fa-shield-alt = fa-icon.with("\u{f3ed}") +#let fa-shield-heart = fa-icon.with("\u{e574}") +#let fa-shield-keyhole = fa-icon.with("\u{e248}") +#let fa-shield-minus = fa-icon.with("\u{e249}") +#let fa-shield-plus = fa-icon.with("\u{e24a}") +#let fa-shield-quartered = fa-icon.with("\u{e575}") +#let fa-shield-slash = fa-icon.with("\u{e24b}") +#let fa-shield-virus = fa-icon.with("\u{e06c}") +#let fa-shield-xmark = fa-icon.with("\u{e24c}") +#let fa-shield-times = fa-icon.with("\u{e24c}") +#let fa-ship = fa-icon.with("\u{f21a}") +#let fa-shirt = fa-icon.with("\u{f553}") +#let fa-t-shirt = fa-icon.with("\u{f553}") +#let fa-tshirt = fa-icon.with("\u{f553}") +#let fa-shirt-long-sleeve = fa-icon.with("\u{e3c7}") +#let fa-shirt-running = fa-icon.with("\u{e3c8}") +#let fa-shirtsinbulk = fa-icon.with("\u{f214}") +#let fa-shirt-tank-top = fa-icon.with("\u{e3c9}") +#let fa-shish-kebab = fa-icon.with("\u{f821}") +#let fa-shoelace = fa-icon.with("\u{e60c}") +#let fa-shoe-prints = fa-icon.with("\u{f54b}") +#let fa-shop = fa-icon.with("\u{f54f}") +#let fa-store-alt = fa-icon.with("\u{f54f}") +#let fa-shopify = fa-icon.with("\u{e057}") +#let fa-shop-lock = fa-icon.with("\u{e4a5}") +#let fa-shop-slash = fa-icon.with("\u{e070}") +#let fa-store-alt-slash = fa-icon.with("\u{e070}") +#let fa-shopware = fa-icon.with("\u{f5b5}") +#let fa-shovel = fa-icon.with("\u{f713}") +#let fa-shovel-snow = fa-icon.with("\u{f7c3}") +#let fa-shower = fa-icon.with("\u{f2cc}") +#let fa-shower-down = fa-icon.with("\u{e24d}") +#let fa-shower-alt = fa-icon.with("\u{e24d}") +#let fa-shredder = fa-icon.with("\u{f68a}") +#let fa-shrimp = fa-icon.with("\u{e448}") +#let fa-shuffle = fa-icon.with("\u{f074}") +#let fa-random = fa-icon.with("\u{f074}") +#let fa-shutters = fa-icon.with("\u{e449}") +#let fa-shuttlecock = fa-icon.with("\u{f45b}") +#let fa-shuttle-space = fa-icon.with("\u{f197}") +#let fa-space-shuttle = fa-icon.with("\u{f197}") +#let fa-sickle = fa-icon.with("\u{f822}") +#let fa-sidebar = fa-icon.with("\u{e24e}") +#let fa-sidebar-flip = fa-icon.with("\u{e24f}") +#let fa-sigma = fa-icon.with("\u{f68b}") +#let fa-signal = fa-icon.with("\u{f012}") +#let fa-signal-5 = fa-icon.with("\u{f012}") +#let fa-signal-perfect = fa-icon.with("\u{f012}") +#let fa-signal-bars = fa-icon.with("\u{f690}") +#let fa-signal-alt = fa-icon.with("\u{f690}") +#let fa-signal-alt-4 = fa-icon.with("\u{f690}") +#let fa-signal-bars-strong = fa-icon.with("\u{f690}") +#let fa-signal-bars-fair = fa-icon.with("\u{f692}") +#let fa-signal-alt-2 = fa-icon.with("\u{f692}") +#let fa-signal-bars-good = fa-icon.with("\u{f693}") +#let fa-signal-alt-3 = fa-icon.with("\u{f693}") +#let fa-signal-bars-slash = fa-icon.with("\u{f694}") +#let fa-signal-alt-slash = fa-icon.with("\u{f694}") +#let fa-signal-bars-weak = fa-icon.with("\u{f691}") +#let fa-signal-alt-1 = fa-icon.with("\u{f691}") +#let fa-signal-fair = fa-icon.with("\u{f68d}") +#let fa-signal-2 = fa-icon.with("\u{f68d}") +#let fa-signal-good = fa-icon.with("\u{f68e}") +#let fa-signal-3 = fa-icon.with("\u{f68e}") +#let fa-signal-messenger = fa-icon.with("\u{e663}") +#let fa-signal-slash = fa-icon.with("\u{f695}") +#let fa-signal-stream = fa-icon.with("\u{f8dd}") +#let fa-signal-stream-slash = fa-icon.with("\u{e250}") +#let fa-signal-strong = fa-icon.with("\u{f68f}") +#let fa-signal-4 = fa-icon.with("\u{f68f}") +#let fa-signal-weak = fa-icon.with("\u{f68c}") +#let fa-signal-1 = fa-icon.with("\u{f68c}") +#let fa-signature = fa-icon.with("\u{f5b7}") +#let fa-signature-lock = fa-icon.with("\u{e3ca}") +#let fa-signature-slash = fa-icon.with("\u{e3cb}") +#let fa-sign-hanging = fa-icon.with("\u{f4d9}") +#let fa-sign = fa-icon.with("\u{f4d9}") +#let fa-sign-post = fa-icon.with("\u{e624}") +#let fa-sign-posts = fa-icon.with("\u{e625}") +#let fa-sign-posts-wrench = fa-icon.with("\u{e626}") +#let fa-signs-post = fa-icon.with("\u{f277}") +#let fa-map-signs = fa-icon.with("\u{f277}") +#let fa-sim-card = fa-icon.with("\u{f7c4}") +#let fa-sim-cards = fa-icon.with("\u{e251}") +#let fa-simplybuilt = fa-icon.with("\u{f215}") +#let fa-sink = fa-icon.with("\u{e06d}") +#let fa-siren = fa-icon.with("\u{e02d}") +#let fa-siren-on = fa-icon.with("\u{e02e}") +#let fa-sistrix = fa-icon.with("\u{f3ee}") +#let fa-sitemap = fa-icon.with("\u{f0e8}") +#let fa-sith = fa-icon.with("\u{f512}") +#let fa-sitrox = fa-icon.with("\u{e44a}") +#let fa-skeleton = fa-icon.with("\u{f620}") +#let fa-skeleton-ribs = fa-icon.with("\u{e5cb}") +#let fa-sketch = fa-icon.with("\u{f7c6}") +#let fa-ski-boot = fa-icon.with("\u{e3cc}") +#let fa-ski-boot-ski = fa-icon.with("\u{e3cd}") +#let fa-skull = fa-icon.with("\u{f54c}") +#let fa-skull-cow = fa-icon.with("\u{f8de}") +#let fa-skull-crossbones = fa-icon.with("\u{f714}") +#let fa-skyatlas = fa-icon.with("\u{f216}") +#let fa-skype = fa-icon.with("\u{f17e}") +#let fa-slack = fa-icon.with("\u{f198}") +#let fa-slack-hash = fa-icon.with("\u{f198}") +#let fa-slash = fa-icon.with("\u{f715}") +#let fa-slash-back = fa-icon.with("\u{5c}") +#let fa-slash-forward = fa-icon.with("\u{2f}") +#let fa-sleigh = fa-icon.with("\u{f7cc}") +#let fa-slider = fa-icon.with("\u{e252}") +#let fa-sliders = fa-icon.with("\u{f1de}") +#let fa-sliders-h = fa-icon.with("\u{f1de}") +#let fa-sliders-simple = fa-icon.with("\u{e253}") +#let fa-sliders-up = fa-icon.with("\u{f3f1}") +#let fa-sliders-v = fa-icon.with("\u{f3f1}") +#let fa-slideshare = fa-icon.with("\u{f1e7}") +#let fa-slot-machine = fa-icon.with("\u{e3ce}") +#let fa-smog = fa-icon.with("\u{f75f}") +#let fa-smoke = fa-icon.with("\u{f760}") +#let fa-smoking = fa-icon.with("\u{f48d}") +#let fa-snake = fa-icon.with("\u{f716}") +#let fa-snapchat = fa-icon.with("\u{f2ab}") +#let fa-snapchat-ghost = fa-icon.with("\u{f2ab}") +#let fa-snooze = fa-icon.with("\u{f880}") +#let fa-zzz = fa-icon.with("\u{f880}") +#let fa-snow-blowing = fa-icon.with("\u{f761}") +#let fa-snowflake = fa-icon.with("\u{f2dc}") +#let fa-snowflake-droplets = fa-icon.with("\u{e5c1}") +#let fa-snowflakes = fa-icon.with("\u{f7cf}") +#let fa-snowman = fa-icon.with("\u{f7d0}") +#let fa-snowman-head = fa-icon.with("\u{f79b}") +#let fa-frosty-head = fa-icon.with("\u{f79b}") +#let fa-snowplow = fa-icon.with("\u{f7d2}") +#let fa-soap = fa-icon.with("\u{e06e}") +#let fa-socks = fa-icon.with("\u{f696}") +#let fa-soft-serve = fa-icon.with("\u{e400}") +#let fa-creemee = fa-icon.with("\u{e400}") +#let fa-solar-panel = fa-icon.with("\u{f5ba}") +#let fa-solar-system = fa-icon.with("\u{e02f}") +#let fa-sort = fa-icon.with("\u{f0dc}") +#let fa-unsorted = fa-icon.with("\u{f0dc}") +#let fa-sort-down = fa-icon.with("\u{f0dd}") +#let fa-sort-desc = fa-icon.with("\u{f0dd}") +#let fa-sort-up = fa-icon.with("\u{f0de}") +#let fa-sort-asc = fa-icon.with("\u{f0de}") +#let fa-soundcloud = fa-icon.with("\u{f1be}") +#let fa-sourcetree = fa-icon.with("\u{f7d3}") +#let fa-spa = fa-icon.with("\u{f5bb}") +#let fa-space-awesome = fa-icon.with("\u{e5ac}") +#let fa-space-station-moon = fa-icon.with("\u{e033}") +#let fa-space-station-moon-construction = fa-icon.with("\u{e034}") +#let fa-space-station-moon-alt = fa-icon.with("\u{e034}") +#let fa-spade = fa-icon.with("\u{f2f4}") +#let fa-spaghetti-monster-flying = fa-icon.with("\u{f67b}") +#let fa-pastafarianism = fa-icon.with("\u{f67b}") +#let fa-sparkle = fa-icon.with("\u{e5d6}") +#let fa-sparkles = fa-icon.with("\u{f890}") +#let fa-speakap = fa-icon.with("\u{f3f3}") +#let fa-speaker = fa-icon.with("\u{f8df}") +#let fa-speaker-deck = fa-icon.with("\u{f83c}") +#let fa-speakers = fa-icon.with("\u{f8e0}") +#let fa-spell-check = fa-icon.with("\u{f891}") +#let fa-spider = fa-icon.with("\u{f717}") +#let fa-spider-black-widow = fa-icon.with("\u{f718}") +#let fa-spider-web = fa-icon.with("\u{f719}") +#let fa-spinner = fa-icon.with("\u{f110}") +#let fa-spinner-scale = fa-icon.with("\u{e62a}") +#let fa-spinner-third = fa-icon.with("\u{f3f4}") +#let fa-split = fa-icon.with("\u{e254}") +#let fa-splotch = fa-icon.with("\u{f5bc}") +#let fa-spoon = fa-icon.with("\u{f2e5}") +#let fa-utensil-spoon = fa-icon.with("\u{f2e5}") +#let fa-sportsball = fa-icon.with("\u{e44b}") +#let fa-spotify = fa-icon.with("\u{f1bc}") +#let fa-spray-can = fa-icon.with("\u{f5bd}") +#let fa-spray-can-sparkles = fa-icon.with("\u{f5d0}") +#let fa-air-freshener = fa-icon.with("\u{f5d0}") +#let fa-sprinkler = fa-icon.with("\u{e035}") +#let fa-sprinkler-ceiling = fa-icon.with("\u{e44c}") +#let fa-square = fa-icon.with("\u{f0c8}") +#let fa-square-0 = fa-icon.with("\u{e255}") +#let fa-square-1 = fa-icon.with("\u{e256}") +#let fa-square-2 = fa-icon.with("\u{e257}") +#let fa-square-3 = fa-icon.with("\u{e258}") +#let fa-square-4 = fa-icon.with("\u{e259}") +#let fa-square-5 = fa-icon.with("\u{e25a}") +#let fa-square-6 = fa-icon.with("\u{e25b}") +#let fa-square-7 = fa-icon.with("\u{e25c}") +#let fa-square-8 = fa-icon.with("\u{e25d}") +#let fa-square-9 = fa-icon.with("\u{e25e}") +#let fa-square-a = fa-icon.with("\u{e25f}") +#let fa-square-a-lock = fa-icon.with("\u{e44d}") +#let fa-square-ampersand = fa-icon.with("\u{e260}") +#let fa-square-arrow-down = fa-icon.with("\u{f339}") +#let fa-arrow-square-down = fa-icon.with("\u{f339}") +#let fa-square-arrow-down-left = fa-icon.with("\u{e261}") +#let fa-square-arrow-down-right = fa-icon.with("\u{e262}") +#let fa-square-arrow-left = fa-icon.with("\u{f33a}") +#let fa-arrow-square-left = fa-icon.with("\u{f33a}") +#let fa-square-arrow-right = fa-icon.with("\u{f33b}") +#let fa-arrow-square-right = fa-icon.with("\u{f33b}") +#let fa-square-arrow-up = fa-icon.with("\u{f33c}") +#let fa-arrow-square-up = fa-icon.with("\u{f33c}") +#let fa-square-arrow-up-left = fa-icon.with("\u{e263}") +#let fa-square-arrow-up-right = fa-icon.with("\u{f14c}") +#let fa-external-link-square = fa-icon.with("\u{f14c}") +#let fa-square-b = fa-icon.with("\u{e264}") +#let fa-square-behance = fa-icon.with("\u{f1b5}") +#let fa-behance-square = fa-icon.with("\u{f1b5}") +#let fa-square-bolt = fa-icon.with("\u{e265}") +#let fa-square-c = fa-icon.with("\u{e266}") +#let fa-square-caret-down = fa-icon.with("\u{f150}") +#let fa-caret-square-down = fa-icon.with("\u{f150}") +#let fa-square-caret-left = fa-icon.with("\u{f191}") +#let fa-caret-square-left = fa-icon.with("\u{f191}") +#let fa-square-caret-right = fa-icon.with("\u{f152}") +#let fa-caret-square-right = fa-icon.with("\u{f152}") +#let fa-square-caret-up = fa-icon.with("\u{f151}") +#let fa-caret-square-up = fa-icon.with("\u{f151}") +#let fa-square-check = fa-icon.with("\u{f14a}") +#let fa-check-square = fa-icon.with("\u{f14a}") +#let fa-square-chevron-down = fa-icon.with("\u{f329}") +#let fa-chevron-square-down = fa-icon.with("\u{f329}") +#let fa-square-chevron-left = fa-icon.with("\u{f32a}") +#let fa-chevron-square-left = fa-icon.with("\u{f32a}") +#let fa-square-chevron-right = fa-icon.with("\u{f32b}") +#let fa-chevron-square-right = fa-icon.with("\u{f32b}") +#let fa-square-chevron-up = fa-icon.with("\u{f32c}") +#let fa-chevron-square-up = fa-icon.with("\u{f32c}") +#let fa-square-code = fa-icon.with("\u{e267}") +#let fa-square-d = fa-icon.with("\u{e268}") +#let fa-square-dashed = fa-icon.with("\u{e269}") +#let fa-square-dashed-circle-plus = fa-icon.with("\u{e5c2}") +#let fa-square-divide = fa-icon.with("\u{e26a}") +#let fa-square-dollar = fa-icon.with("\u{f2e9}") +#let fa-dollar-square = fa-icon.with("\u{f2e9}") +#let fa-usd-square = fa-icon.with("\u{f2e9}") +#let fa-square-down = fa-icon.with("\u{f350}") +#let fa-arrow-alt-square-down = fa-icon.with("\u{f350}") +#let fa-square-down-left = fa-icon.with("\u{e26b}") +#let fa-square-down-right = fa-icon.with("\u{e26c}") +#let fa-square-dribbble = fa-icon.with("\u{f397}") +#let fa-dribbble-square = fa-icon.with("\u{f397}") +#let fa-square-e = fa-icon.with("\u{e26d}") +#let fa-square-ellipsis = fa-icon.with("\u{e26e}") +#let fa-square-ellipsis-vertical = fa-icon.with("\u{e26f}") +#let fa-square-envelope = fa-icon.with("\u{f199}") +#let fa-envelope-square = fa-icon.with("\u{f199}") +#let fa-square-exclamation = fa-icon.with("\u{f321}") +#let fa-exclamation-square = fa-icon.with("\u{f321}") +#let fa-square-f = fa-icon.with("\u{e270}") +#let fa-square-facebook = fa-icon.with("\u{f082}") +#let fa-facebook-square = fa-icon.with("\u{f082}") +#let fa-square-font-awesome = fa-icon.with("\u{e5ad}") +#let fa-square-font-awesome-stroke = fa-icon.with("\u{f35c}") +#let fa-font-awesome-alt = fa-icon.with("\u{f35c}") +#let fa-square-fragile = fa-icon.with("\u{f49b}") +#let fa-box-fragile = fa-icon.with("\u{f49b}") +#let fa-square-wine-glass-crack = fa-icon.with("\u{f49b}") +#let fa-square-full = fa-icon.with("\u{f45c}") +#let fa-square-g = fa-icon.with("\u{e271}") +#let fa-square-git = fa-icon.with("\u{f1d2}") +#let fa-git-square = fa-icon.with("\u{f1d2}") +#let fa-square-github = fa-icon.with("\u{f092}") +#let fa-github-square = fa-icon.with("\u{f092}") +#let fa-square-gitlab = fa-icon.with("\u{e5ae}") +#let fa-gitlab-square = fa-icon.with("\u{e5ae}") +#let fa-square-google-plus = fa-icon.with("\u{f0d4}") +#let fa-google-plus-square = fa-icon.with("\u{f0d4}") +#let fa-square-h = fa-icon.with("\u{f0fd}") +#let fa-h-square = fa-icon.with("\u{f0fd}") +#let fa-square-hacker-news = fa-icon.with("\u{f3af}") +#let fa-hacker-news-square = fa-icon.with("\u{f3af}") +#let fa-square-heart = fa-icon.with("\u{f4c8}") +#let fa-heart-square = fa-icon.with("\u{f4c8}") +#let fa-square-i = fa-icon.with("\u{e272}") +#let fa-square-info = fa-icon.with("\u{f30f}") +#let fa-info-square = fa-icon.with("\u{f30f}") +#let fa-square-instagram = fa-icon.with("\u{e055}") +#let fa-instagram-square = fa-icon.with("\u{e055}") +#let fa-square-j = fa-icon.with("\u{e273}") +#let fa-square-js = fa-icon.with("\u{f3b9}") +#let fa-js-square = fa-icon.with("\u{f3b9}") +#let fa-square-k = fa-icon.with("\u{e274}") +#let fa-square-kanban = fa-icon.with("\u{e488}") +#let fa-square-l = fa-icon.with("\u{e275}") +#let fa-square-lastfm = fa-icon.with("\u{f203}") +#let fa-lastfm-square = fa-icon.with("\u{f203}") +#let fa-square-left = fa-icon.with("\u{f351}") +#let fa-arrow-alt-square-left = fa-icon.with("\u{f351}") +#let fa-square-letterboxd = fa-icon.with("\u{e62e}") +#let fa-square-list = fa-icon.with("\u{e489}") +#let fa-square-m = fa-icon.with("\u{e276}") +#let fa-square-minus = fa-icon.with("\u{f146}") +#let fa-minus-square = fa-icon.with("\u{f146}") +#let fa-square-n = fa-icon.with("\u{e277}") +#let fa-square-nfi = fa-icon.with("\u{e576}") +#let fa-square-o = fa-icon.with("\u{e278}") +#let fa-square-odnoklassniki = fa-icon.with("\u{f264}") +#let fa-odnoklassniki-square = fa-icon.with("\u{f264}") +#let fa-square-p = fa-icon.with("\u{e279}") +#let fa-square-parking = fa-icon.with("\u{f540}") +#let fa-parking = fa-icon.with("\u{f540}") +#let fa-square-parking-slash = fa-icon.with("\u{f617}") +#let fa-parking-slash = fa-icon.with("\u{f617}") +#let fa-square-pen = fa-icon.with("\u{f14b}") +#let fa-pen-square = fa-icon.with("\u{f14b}") +#let fa-pencil-square = fa-icon.with("\u{f14b}") +#let fa-square-person-confined = fa-icon.with("\u{e577}") +#let fa-square-phone = fa-icon.with("\u{f098}") +#let fa-phone-square = fa-icon.with("\u{f098}") +#let fa-square-phone-flip = fa-icon.with("\u{f87b}") +#let fa-phone-square-alt = fa-icon.with("\u{f87b}") +#let fa-square-phone-hangup = fa-icon.with("\u{e27a}") +#let fa-phone-square-down = fa-icon.with("\u{e27a}") +#let fa-square-pied-piper = fa-icon.with("\u{e01e}") +#let fa-pied-piper-square = fa-icon.with("\u{e01e}") +#let fa-square-pinterest = fa-icon.with("\u{f0d3}") +#let fa-pinterest-square = fa-icon.with("\u{f0d3}") +#let fa-square-plus = fa-icon.with("\u{f0fe}") +#let fa-plus-square = fa-icon.with("\u{f0fe}") +#let fa-square-poll-horizontal = fa-icon.with("\u{f682}") +#let fa-poll-h = fa-icon.with("\u{f682}") +#let fa-square-poll-vertical = fa-icon.with("\u{f681}") +#let fa-poll = fa-icon.with("\u{f681}") +#let fa-square-q = fa-icon.with("\u{e27b}") +#let fa-square-quarters = fa-icon.with("\u{e44e}") +#let fa-square-question = fa-icon.with("\u{f2fd}") +#let fa-question-square = fa-icon.with("\u{f2fd}") +#let fa-square-quote = fa-icon.with("\u{e329}") +#let fa-square-r = fa-icon.with("\u{e27c}") +#let fa-square-reddit = fa-icon.with("\u{f1a2}") +#let fa-reddit-square = fa-icon.with("\u{f1a2}") +#let fa-square-right = fa-icon.with("\u{f352}") +#let fa-arrow-alt-square-right = fa-icon.with("\u{f352}") +#let fa-square-ring = fa-icon.with("\u{e44f}") +#let fa-square-root = fa-icon.with("\u{f697}") +#let fa-square-root-variable = fa-icon.with("\u{f698}") +#let fa-square-root-alt = fa-icon.with("\u{f698}") +#let fa-square-rss = fa-icon.with("\u{f143}") +#let fa-rss-square = fa-icon.with("\u{f143}") +#let fa-square-s = fa-icon.with("\u{e27d}") +#let fa-square-share-nodes = fa-icon.with("\u{f1e1}") +#let fa-share-alt-square = fa-icon.with("\u{f1e1}") +#let fa-square-sliders = fa-icon.with("\u{f3f0}") +#let fa-sliders-h-square = fa-icon.with("\u{f3f0}") +#let fa-square-sliders-vertical = fa-icon.with("\u{f3f2}") +#let fa-sliders-v-square = fa-icon.with("\u{f3f2}") +#let fa-square-small = fa-icon.with("\u{e27e}") +#let fa-square-snapchat = fa-icon.with("\u{f2ad}") +#let fa-snapchat-square = fa-icon.with("\u{f2ad}") +#let fa-squarespace = fa-icon.with("\u{f5be}") +#let fa-square-star = fa-icon.with("\u{e27f}") +#let fa-square-steam = fa-icon.with("\u{f1b7}") +#let fa-steam-square = fa-icon.with("\u{f1b7}") +#let fa-square-t = fa-icon.with("\u{e280}") +#let fa-square-terminal = fa-icon.with("\u{e32a}") +#let fa-square-this-way-up = fa-icon.with("\u{f49f}") +#let fa-box-up = fa-icon.with("\u{f49f}") +#let fa-square-threads = fa-icon.with("\u{e619}") +#let fa-square-tumblr = fa-icon.with("\u{f174}") +#let fa-tumblr-square = fa-icon.with("\u{f174}") +#let fa-square-twitter = fa-icon.with("\u{f081}") +#let fa-twitter-square = fa-icon.with("\u{f081}") +#let fa-square-u = fa-icon.with("\u{e281}") +#let fa-square-up = fa-icon.with("\u{f353}") +#let fa-arrow-alt-square-up = fa-icon.with("\u{f353}") +#let fa-square-up-left = fa-icon.with("\u{e282}") +#let fa-square-up-right = fa-icon.with("\u{f360}") +#let fa-external-link-square-alt = fa-icon.with("\u{f360}") +#let fa-square-upwork = fa-icon.with("\u{e67c}") +#let fa-square-user = fa-icon.with("\u{e283}") +#let fa-square-v = fa-icon.with("\u{e284}") +#let fa-square-viadeo = fa-icon.with("\u{f2aa}") +#let fa-viadeo-square = fa-icon.with("\u{f2aa}") +#let fa-square-vimeo = fa-icon.with("\u{f194}") +#let fa-vimeo-square = fa-icon.with("\u{f194}") +#let fa-square-virus = fa-icon.with("\u{e578}") +#let fa-square-w = fa-icon.with("\u{e285}") +#let fa-square-web-awesome = fa-icon.with("\u{e683}") +#let fa-square-web-awesome-stroke = fa-icon.with("\u{e684}") +#let fa-square-whatsapp = fa-icon.with("\u{f40c}") +#let fa-whatsapp-square = fa-icon.with("\u{f40c}") +#let fa-square-x = fa-icon.with("\u{e286}") +#let fa-square-xing = fa-icon.with("\u{f169}") +#let fa-xing-square = fa-icon.with("\u{f169}") +#let fa-square-xmark = fa-icon.with("\u{f2d3}") +#let fa-times-square = fa-icon.with("\u{f2d3}") +#let fa-xmark-square = fa-icon.with("\u{f2d3}") +#let fa-square-x-twitter = fa-icon.with("\u{e61a}") +#let fa-square-y = fa-icon.with("\u{e287}") +#let fa-square-youtube = fa-icon.with("\u{f431}") +#let fa-youtube-square = fa-icon.with("\u{f431}") +#let fa-square-z = fa-icon.with("\u{e288}") +#let fa-squid = fa-icon.with("\u{e450}") +#let fa-squirrel = fa-icon.with("\u{f71a}") +#let fa-stack-exchange = fa-icon.with("\u{f18d}") +#let fa-stack-overflow = fa-icon.with("\u{f16c}") +#let fa-stackpath = fa-icon.with("\u{f842}") +#let fa-staff = fa-icon.with("\u{f71b}") +#let fa-staff-snake = fa-icon.with("\u{e579}") +#let fa-rod-asclepius = fa-icon.with("\u{e579}") +#let fa-rod-snake = fa-icon.with("\u{e579}") +#let fa-staff-aesculapius = fa-icon.with("\u{e579}") +#let fa-stairs = fa-icon.with("\u{e289}") +#let fa-stamp = fa-icon.with("\u{f5bf}") +#let fa-standard-definition = fa-icon.with("\u{e28a}") +#let fa-rectangle-sd = fa-icon.with("\u{e28a}") +#let fa-stapler = fa-icon.with("\u{e5af}") +#let fa-star = fa-icon.with("\u{f005}") +#let fa-star-and-crescent = fa-icon.with("\u{f699}") +#let fa-star-christmas = fa-icon.with("\u{f7d4}") +#let fa-star-exclamation = fa-icon.with("\u{f2f3}") +#let fa-starfighter = fa-icon.with("\u{e037}") +#let fa-starfighter-twin-ion-engine = fa-icon.with("\u{e038}") +#let fa-starfighter-alt = fa-icon.with("\u{e038}") +#let fa-starfighter-twin-ion-engine-advanced = fa-icon.with("\u{e28e}") +#let fa-starfighter-alt-advanced = fa-icon.with("\u{e28e}") +#let fa-star-half = fa-icon.with("\u{f089}") +#let fa-star-half-stroke = fa-icon.with("\u{f5c0}") +#let fa-star-half-alt = fa-icon.with("\u{f5c0}") +#let fa-star-of-david = fa-icon.with("\u{f69a}") +#let fa-star-of-life = fa-icon.with("\u{f621}") +#let fa-stars = fa-icon.with("\u{f762}") +#let fa-star-sharp = fa-icon.with("\u{e28b}") +#let fa-star-sharp-half = fa-icon.with("\u{e28c}") +#let fa-star-sharp-half-stroke = fa-icon.with("\u{e28d}") +#let fa-star-sharp-half-alt = fa-icon.with("\u{e28d}") +#let fa-starship = fa-icon.with("\u{e039}") +#let fa-starship-freighter = fa-icon.with("\u{e03a}") +#let fa-star-shooting = fa-icon.with("\u{e036}") +#let fa-staylinked = fa-icon.with("\u{f3f5}") +#let fa-steak = fa-icon.with("\u{f824}") +#let fa-steam = fa-icon.with("\u{f1b6}") +#let fa-steam-symbol = fa-icon.with("\u{f3f6}") +#let fa-steering-wheel = fa-icon.with("\u{f622}") +#let fa-sterling-sign = fa-icon.with("\u{f154}") +#let fa-gbp = fa-icon.with("\u{f154}") +#let fa-pound-sign = fa-icon.with("\u{f154}") +#let fa-stethoscope = fa-icon.with("\u{f0f1}") +#let fa-sticker-mule = fa-icon.with("\u{f3f7}") +#let fa-stocking = fa-icon.with("\u{f7d5}") +#let fa-stomach = fa-icon.with("\u{f623}") +#let fa-stop = fa-icon.with("\u{f04d}") +#let fa-stopwatch = fa-icon.with("\u{f2f2}") +#let fa-stopwatch-20 = fa-icon.with("\u{e06f}") +#let fa-store = fa-icon.with("\u{f54e}") +#let fa-store-lock = fa-icon.with("\u{e4a6}") +#let fa-store-slash = fa-icon.with("\u{e071}") +#let fa-strava = fa-icon.with("\u{f428}") +#let fa-strawberry = fa-icon.with("\u{e32b}") +#let fa-street-view = fa-icon.with("\u{f21d}") +#let fa-stretcher = fa-icon.with("\u{f825}") +#let fa-strikethrough = fa-icon.with("\u{f0cc}") +#let fa-stripe = fa-icon.with("\u{f429}") +#let fa-stripe-s = fa-icon.with("\u{f42a}") +#let fa-stroopwafel = fa-icon.with("\u{f551}") +#let fa-stubber = fa-icon.with("\u{e5c7}") +#let fa-studiovinari = fa-icon.with("\u{f3f8}") +#let fa-stumbleupon = fa-icon.with("\u{f1a4}") +#let fa-stumbleupon-circle = fa-icon.with("\u{f1a3}") +#let fa-subscript = fa-icon.with("\u{f12c}") +#let fa-subtitles = fa-icon.with("\u{e60f}") +#let fa-subtitles-slash = fa-icon.with("\u{e610}") +#let fa-suitcase = fa-icon.with("\u{f0f2}") +#let fa-suitcase-medical = fa-icon.with("\u{f0fa}") +#let fa-medkit = fa-icon.with("\u{f0fa}") +#let fa-suitcase-rolling = fa-icon.with("\u{f5c1}") +#let fa-sun = fa-icon.with("\u{f185}") +#let fa-sun-bright = fa-icon.with("\u{e28f}") +#let fa-sun-alt = fa-icon.with("\u{e28f}") +#let fa-sun-cloud = fa-icon.with("\u{f763}") +#let fa-sun-dust = fa-icon.with("\u{f764}") +#let fa-sunglasses = fa-icon.with("\u{f892}") +#let fa-sun-haze = fa-icon.with("\u{f765}") +#let fa-sun-plant-wilt = fa-icon.with("\u{e57a}") +#let fa-sunrise = fa-icon.with("\u{f766}") +#let fa-sunset = fa-icon.with("\u{f767}") +#let fa-superpowers = fa-icon.with("\u{f2dd}") +#let fa-superscript = fa-icon.with("\u{f12b}") +#let fa-supple = fa-icon.with("\u{f3f9}") +#let fa-suse = fa-icon.with("\u{f7d6}") +#let fa-sushi = fa-icon.with("\u{e48a}") +#let fa-nigiri = fa-icon.with("\u{e48a}") +#let fa-sushi-roll = fa-icon.with("\u{e48b}") +#let fa-maki-roll = fa-icon.with("\u{e48b}") +#let fa-makizushi = fa-icon.with("\u{e48b}") +#let fa-swap = fa-icon.with("\u{e609}") +#let fa-swap-arrows = fa-icon.with("\u{e60a}") +#let fa-swatchbook = fa-icon.with("\u{f5c3}") +#let fa-swift = fa-icon.with("\u{f8e1}") +#let fa-sword = fa-icon.with("\u{f71c}") +#let fa-sword-laser = fa-icon.with("\u{e03b}") +#let fa-sword-laser-alt = fa-icon.with("\u{e03c}") +#let fa-swords = fa-icon.with("\u{f71d}") +#let fa-swords-laser = fa-icon.with("\u{e03d}") +#let fa-symbols = fa-icon.with("\u{f86e}") +#let fa-icons-alt = fa-icon.with("\u{f86e}") +#let fa-symfony = fa-icon.with("\u{f83d}") +#let fa-synagogue = fa-icon.with("\u{f69b}") +#let fa-syringe = fa-icon.with("\u{f48e}") +#let fa-t = fa-icon.with("\u{54}") +#let fa-table = fa-icon.with("\u{f0ce}") +#let fa-table-cells = fa-icon.with("\u{f00a}") +#let fa-th = fa-icon.with("\u{f00a}") +#let fa-table-cells-column-lock = fa-icon.with("\u{e678}") +#let fa-table-cells-column-unlock = fa-icon.with("\u{e690}") +#let fa-table-cells-large = fa-icon.with("\u{f009}") +#let fa-th-large = fa-icon.with("\u{f009}") +#let fa-table-cells-lock = fa-icon.with("\u{e679}") +#let fa-table-cells-row-lock = fa-icon.with("\u{e67a}") +#let fa-table-cells-row-unlock = fa-icon.with("\u{e691}") +#let fa-table-cells-unlock = fa-icon.with("\u{e692}") +#let fa-table-columns = fa-icon.with("\u{f0db}") +#let fa-columns = fa-icon.with("\u{f0db}") +#let fa-table-layout = fa-icon.with("\u{e290}") +#let fa-table-list = fa-icon.with("\u{f00b}") +#let fa-th-list = fa-icon.with("\u{f00b}") +#let fa-table-picnic = fa-icon.with("\u{e32d}") +#let fa-table-pivot = fa-icon.with("\u{e291}") +#let fa-table-rows = fa-icon.with("\u{e292}") +#let fa-rows = fa-icon.with("\u{e292}") +#let fa-tablet = fa-icon.with("\u{f3fb}") +#let fa-tablet-android = fa-icon.with("\u{f3fb}") +#let fa-tablet-button = fa-icon.with("\u{f10a}") +#let fa-table-tennis-paddle-ball = fa-icon.with("\u{f45d}") +#let fa-ping-pong-paddle-ball = fa-icon.with("\u{f45d}") +#let fa-table-tennis = fa-icon.with("\u{f45d}") +#let fa-table-tree = fa-icon.with("\u{e293}") +#let fa-tablet-rugged = fa-icon.with("\u{f48f}") +#let fa-tablets = fa-icon.with("\u{f490}") +#let fa-tablet-screen = fa-icon.with("\u{f3fc}") +#let fa-tablet-android-alt = fa-icon.with("\u{f3fc}") +#let fa-tablet-screen-button = fa-icon.with("\u{f3fa}") +#let fa-tablet-alt = fa-icon.with("\u{f3fa}") +#let fa-tachograph-digital = fa-icon.with("\u{f566}") +#let fa-digital-tachograph = fa-icon.with("\u{f566}") +#let fa-taco = fa-icon.with("\u{f826}") +#let fa-tag = fa-icon.with("\u{f02b}") +#let fa-tags = fa-icon.with("\u{f02c}") +#let fa-tally = fa-icon.with("\u{f69c}") +#let fa-tally-5 = fa-icon.with("\u{f69c}") +#let fa-tally-1 = fa-icon.with("\u{e294}") +#let fa-tally-2 = fa-icon.with("\u{e295}") +#let fa-tally-3 = fa-icon.with("\u{e296}") +#let fa-tally-4 = fa-icon.with("\u{e297}") +#let fa-tamale = fa-icon.with("\u{e451}") +#let fa-tank-water = fa-icon.with("\u{e452}") +#let fa-tape = fa-icon.with("\u{f4db}") +#let fa-tarp = fa-icon.with("\u{e57b}") +#let fa-tarp-droplet = fa-icon.with("\u{e57c}") +#let fa-taxi = fa-icon.with("\u{f1ba}") +#let fa-cab = fa-icon.with("\u{f1ba}") +#let fa-taxi-bus = fa-icon.with("\u{e298}") +#let fa-teamspeak = fa-icon.with("\u{f4f9}") +#let fa-teddy-bear = fa-icon.with("\u{e3cf}") +#let fa-teeth = fa-icon.with("\u{f62e}") +#let fa-teeth-open = fa-icon.with("\u{f62f}") +#let fa-telegram = fa-icon.with("\u{f2c6}") +#let fa-telegram-plane = fa-icon.with("\u{f2c6}") +#let fa-telescope = fa-icon.with("\u{e03e}") +#let fa-temperature-arrow-down = fa-icon.with("\u{e03f}") +#let fa-temperature-down = fa-icon.with("\u{e03f}") +#let fa-temperature-arrow-up = fa-icon.with("\u{e040}") +#let fa-temperature-up = fa-icon.with("\u{e040}") +#let fa-temperature-empty = fa-icon.with("\u{f2cb}") +#let fa-temperature-0 = fa-icon.with("\u{f2cb}") +#let fa-thermometer-0 = fa-icon.with("\u{f2cb}") +#let fa-thermometer-empty = fa-icon.with("\u{f2cb}") +#let fa-temperature-full = fa-icon.with("\u{f2c7}") +#let fa-temperature-4 = fa-icon.with("\u{f2c7}") +#let fa-thermometer-4 = fa-icon.with("\u{f2c7}") +#let fa-thermometer-full = fa-icon.with("\u{f2c7}") +#let fa-temperature-half = fa-icon.with("\u{f2c9}") +#let fa-temperature-2 = fa-icon.with("\u{f2c9}") +#let fa-thermometer-2 = fa-icon.with("\u{f2c9}") +#let fa-thermometer-half = fa-icon.with("\u{f2c9}") +#let fa-temperature-high = fa-icon.with("\u{f769}") +#let fa-temperature-list = fa-icon.with("\u{e299}") +#let fa-temperature-low = fa-icon.with("\u{f76b}") +#let fa-temperature-quarter = fa-icon.with("\u{f2ca}") +#let fa-temperature-1 = fa-icon.with("\u{f2ca}") +#let fa-thermometer-1 = fa-icon.with("\u{f2ca}") +#let fa-thermometer-quarter = fa-icon.with("\u{f2ca}") +#let fa-temperature-snow = fa-icon.with("\u{f768}") +#let fa-temperature-frigid = fa-icon.with("\u{f768}") +#let fa-temperature-sun = fa-icon.with("\u{f76a}") +#let fa-temperature-hot = fa-icon.with("\u{f76a}") +#let fa-temperature-three-quarters = fa-icon.with("\u{f2c8}") +#let fa-temperature-3 = fa-icon.with("\u{f2c8}") +#let fa-thermometer-3 = fa-icon.with("\u{f2c8}") +#let fa-thermometer-three-quarters = fa-icon.with("\u{f2c8}") +#let fa-tencent-weibo = fa-icon.with("\u{f1d5}") +#let fa-tenge-sign = fa-icon.with("\u{f7d7}") +#let fa-tenge = fa-icon.with("\u{f7d7}") +#let fa-tennis-ball = fa-icon.with("\u{f45e}") +#let fa-tent = fa-icon.with("\u{e57d}") +#let fa-tent-arrow-down-to-line = fa-icon.with("\u{e57e}") +#let fa-tent-arrow-left-right = fa-icon.with("\u{e57f}") +#let fa-tent-arrows-down = fa-icon.with("\u{e581}") +#let fa-tent-arrow-turn-left = fa-icon.with("\u{e580}") +#let fa-tent-double-peak = fa-icon.with("\u{e627}") +#let fa-tents = fa-icon.with("\u{e582}") +#let fa-terminal = fa-icon.with("\u{f120}") +#let fa-text = fa-icon.with("\u{f893}") +#let fa-text-height = fa-icon.with("\u{f034}") +#let fa-text-size = fa-icon.with("\u{f894}") +#let fa-text-slash = fa-icon.with("\u{f87d}") +#let fa-remove-format = fa-icon.with("\u{f87d}") +#let fa-text-width = fa-icon.with("\u{f035}") +#let fa-themeco = fa-icon.with("\u{f5c6}") +#let fa-themeisle = fa-icon.with("\u{f2b2}") +#let fa-the-red-yeti = fa-icon.with("\u{f69d}") +#let fa-thermometer = fa-icon.with("\u{f491}") +#let fa-theta = fa-icon.with("\u{f69e}") +#let fa-think-peaks = fa-icon.with("\u{f731}") +#let fa-thought-bubble = fa-icon.with("\u{e32e}") +#let fa-threads = fa-icon.with("\u{e618}") +#let fa-thumbs-down = fa-icon.with("\u{f165}") +#let fa-thumbs-up = fa-icon.with("\u{f164}") +#let fa-thumbtack = fa-icon.with("\u{f08d}") +#let fa-thumb-tack = fa-icon.with("\u{f08d}") +#let fa-thumbtack-slash = fa-icon.with("\u{e68f}") +#let fa-thumb-tack-slash = fa-icon.with("\u{e68f}") +#let fa-tick = fa-icon.with("\u{e32f}") +#let fa-ticket = fa-icon.with("\u{f145}") +#let fa-ticket-airline = fa-icon.with("\u{e29a}") +#let fa-ticket-perforated-plane = fa-icon.with("\u{e29a}") +#let fa-ticket-plane = fa-icon.with("\u{e29a}") +#let fa-ticket-perforated = fa-icon.with("\u{e63e}") +#let fa-tickets = fa-icon.with("\u{e658}") +#let fa-tickets-airline = fa-icon.with("\u{e29b}") +#let fa-tickets-perforated-plane = fa-icon.with("\u{e29b}") +#let fa-tickets-plane = fa-icon.with("\u{e29b}") +#let fa-ticket-simple = fa-icon.with("\u{f3ff}") +#let fa-ticket-alt = fa-icon.with("\u{f3ff}") +#let fa-tickets-perforated = fa-icon.with("\u{e63f}") +#let fa-tickets-simple = fa-icon.with("\u{e659}") +#let fa-tiktok = fa-icon.with("\u{e07b}") +#let fa-tilde = fa-icon.with("\u{7e}") +#let fa-timeline = fa-icon.with("\u{e29c}") +#let fa-timeline-arrow = fa-icon.with("\u{e29d}") +#let fa-timer = fa-icon.with("\u{e29e}") +#let fa-tire = fa-icon.with("\u{f631}") +#let fa-tire-flat = fa-icon.with("\u{f632}") +#let fa-tire-pressure-warning = fa-icon.with("\u{f633}") +#let fa-tire-rugged = fa-icon.with("\u{f634}") +#let fa-toggle-large-off = fa-icon.with("\u{e5b0}") +#let fa-toggle-large-on = fa-icon.with("\u{e5b1}") +#let fa-toggle-off = fa-icon.with("\u{f204}") +#let fa-toggle-on = fa-icon.with("\u{f205}") +#let fa-toilet = fa-icon.with("\u{f7d8}") +#let fa-toilet-paper = fa-icon.with("\u{f71e}") +#let fa-toilet-paper-blank = fa-icon.with("\u{f71f}") +#let fa-toilet-paper-alt = fa-icon.with("\u{f71f}") +#let fa-toilet-paper-blank-under = fa-icon.with("\u{e29f}") +#let fa-toilet-paper-reverse-alt = fa-icon.with("\u{e29f}") +#let fa-toilet-paper-check = fa-icon.with("\u{e5b2}") +#let fa-toilet-paper-slash = fa-icon.with("\u{e072}") +#let fa-toilet-paper-under = fa-icon.with("\u{e2a0}") +#let fa-toilet-paper-reverse = fa-icon.with("\u{e2a0}") +#let fa-toilet-paper-under-slash = fa-icon.with("\u{e2a1}") +#let fa-toilet-paper-reverse-slash = fa-icon.with("\u{e2a1}") +#let fa-toilet-paper-xmark = fa-icon.with("\u{e5b3}") +#let fa-toilet-portable = fa-icon.with("\u{e583}") +#let fa-toilets-portable = fa-icon.with("\u{e584}") +#let fa-tomato = fa-icon.with("\u{e330}") +#let fa-tombstone = fa-icon.with("\u{f720}") +#let fa-tombstone-blank = fa-icon.with("\u{f721}") +#let fa-tombstone-alt = fa-icon.with("\u{f721}") +#let fa-toolbox = fa-icon.with("\u{f552}") +#let fa-tooth = fa-icon.with("\u{f5c9}") +#let fa-toothbrush = fa-icon.with("\u{f635}") +#let fa-torii-gate = fa-icon.with("\u{f6a1}") +#let fa-tornado = fa-icon.with("\u{f76f}") +#let fa-tower-broadcast = fa-icon.with("\u{f519}") +#let fa-broadcast-tower = fa-icon.with("\u{f519}") +#let fa-tower-cell = fa-icon.with("\u{e585}") +#let fa-tower-control = fa-icon.with("\u{e2a2}") +#let fa-tower-observation = fa-icon.with("\u{e586}") +#let fa-tractor = fa-icon.with("\u{f722}") +#let fa-trade-federation = fa-icon.with("\u{f513}") +#let fa-trademark = fa-icon.with("\u{f25c}") +#let fa-traffic-cone = fa-icon.with("\u{f636}") +#let fa-traffic-light = fa-icon.with("\u{f637}") +#let fa-traffic-light-go = fa-icon.with("\u{f638}") +#let fa-traffic-light-slow = fa-icon.with("\u{f639}") +#let fa-traffic-light-stop = fa-icon.with("\u{f63a}") +#let fa-trailer = fa-icon.with("\u{e041}") +#let fa-train = fa-icon.with("\u{f238}") +#let fa-train-subway = fa-icon.with("\u{f239}") +#let fa-subway = fa-icon.with("\u{f239}") +#let fa-train-subway-tunnel = fa-icon.with("\u{e2a3}") +#let fa-subway-tunnel = fa-icon.with("\u{e2a3}") +#let fa-train-track = fa-icon.with("\u{e453}") +#let fa-train-tram = fa-icon.with("\u{e5b4}") +#let fa-train-tunnel = fa-icon.with("\u{e454}") +#let fa-transformer-bolt = fa-icon.with("\u{e2a4}") +#let fa-transgender = fa-icon.with("\u{f225}") +#let fa-transgender-alt = fa-icon.with("\u{f225}") +#let fa-transporter = fa-icon.with("\u{e042}") +#let fa-transporter-1 = fa-icon.with("\u{e043}") +#let fa-transporter-2 = fa-icon.with("\u{e044}") +#let fa-transporter-3 = fa-icon.with("\u{e045}") +#let fa-transporter-4 = fa-icon.with("\u{e2a5}") +#let fa-transporter-5 = fa-icon.with("\u{e2a6}") +#let fa-transporter-6 = fa-icon.with("\u{e2a7}") +#let fa-transporter-7 = fa-icon.with("\u{e2a8}") +#let fa-transporter-empty = fa-icon.with("\u{e046}") +#let fa-trash = fa-icon.with("\u{f1f8}") +#let fa-trash-arrow-up = fa-icon.with("\u{f829}") +#let fa-trash-restore = fa-icon.with("\u{f829}") +#let fa-trash-can = fa-icon.with("\u{f2ed}") +#let fa-trash-alt = fa-icon.with("\u{f2ed}") +#let fa-trash-can-arrow-up = fa-icon.with("\u{f82a}") +#let fa-trash-restore-alt = fa-icon.with("\u{f82a}") +#let fa-trash-can-check = fa-icon.with("\u{e2a9}") +#let fa-trash-can-clock = fa-icon.with("\u{e2aa}") +#let fa-trash-can-list = fa-icon.with("\u{e2ab}") +#let fa-trash-can-plus = fa-icon.with("\u{e2ac}") +#let fa-trash-can-slash = fa-icon.with("\u{e2ad}") +#let fa-trash-alt-slash = fa-icon.with("\u{e2ad}") +#let fa-trash-can-undo = fa-icon.with("\u{f896}") +#let fa-trash-can-arrow-turn-left = fa-icon.with("\u{f896}") +#let fa-trash-undo-alt = fa-icon.with("\u{f896}") +#let fa-trash-can-xmark = fa-icon.with("\u{e2ae}") +#let fa-trash-check = fa-icon.with("\u{e2af}") +#let fa-trash-clock = fa-icon.with("\u{e2b0}") +#let fa-trash-list = fa-icon.with("\u{e2b1}") +#let fa-trash-plus = fa-icon.with("\u{e2b2}") +#let fa-trash-slash = fa-icon.with("\u{e2b3}") +#let fa-trash-undo = fa-icon.with("\u{f895}") +#let fa-trash-arrow-turn-left = fa-icon.with("\u{f895}") +#let fa-trash-xmark = fa-icon.with("\u{e2b4}") +#let fa-treasure-chest = fa-icon.with("\u{f723}") +#let fa-tree = fa-icon.with("\u{f1bb}") +#let fa-tree-christmas = fa-icon.with("\u{f7db}") +#let fa-tree-city = fa-icon.with("\u{e587}") +#let fa-tree-deciduous = fa-icon.with("\u{f400}") +#let fa-tree-alt = fa-icon.with("\u{f400}") +#let fa-tree-decorated = fa-icon.with("\u{f7dc}") +#let fa-tree-large = fa-icon.with("\u{f7dd}") +#let fa-tree-palm = fa-icon.with("\u{f82b}") +#let fa-trees = fa-icon.with("\u{f724}") +#let fa-trello = fa-icon.with("\u{f181}") +#let fa-t-rex = fa-icon.with("\u{e629}") +#let fa-triangle = fa-icon.with("\u{f2ec}") +#let fa-triangle-exclamation = fa-icon.with("\u{f071}") +#let fa-exclamation-triangle = fa-icon.with("\u{f071}") +#let fa-warning = fa-icon.with("\u{f071}") +#let fa-triangle-instrument = fa-icon.with("\u{f8e2}") +#let fa-triangle-music = fa-icon.with("\u{f8e2}") +#let fa-triangle-person-digging = fa-icon.with("\u{f85d}") +#let fa-construction = fa-icon.with("\u{f85d}") +#let fa-tricycle = fa-icon.with("\u{e5c3}") +#let fa-tricycle-adult = fa-icon.with("\u{e5c4}") +#let fa-trillium = fa-icon.with("\u{e588}") +#let fa-trophy = fa-icon.with("\u{f091}") +#let fa-trophy-star = fa-icon.with("\u{f2eb}") +#let fa-trophy-alt = fa-icon.with("\u{f2eb}") +#let fa-trowel = fa-icon.with("\u{e589}") +#let fa-trowel-bricks = fa-icon.with("\u{e58a}") +#let fa-truck = fa-icon.with("\u{f0d1}") +#let fa-truck-arrow-right = fa-icon.with("\u{e58b}") +#let fa-truck-bolt = fa-icon.with("\u{e3d0}") +#let fa-truck-clock = fa-icon.with("\u{f48c}") +#let fa-shipping-timed = fa-icon.with("\u{f48c}") +#let fa-truck-container = fa-icon.with("\u{f4dc}") +#let fa-truck-container-empty = fa-icon.with("\u{e2b5}") +#let fa-truck-droplet = fa-icon.with("\u{e58c}") +#let fa-truck-fast = fa-icon.with("\u{f48b}") +#let fa-shipping-fast = fa-icon.with("\u{f48b}") +#let fa-truck-field = fa-icon.with("\u{e58d}") +#let fa-truck-field-un = fa-icon.with("\u{e58e}") +#let fa-truck-fire = fa-icon.with("\u{e65a}") +#let fa-truck-flatbed = fa-icon.with("\u{e2b6}") +#let fa-truck-front = fa-icon.with("\u{e2b7}") +#let fa-truck-ladder = fa-icon.with("\u{e657}") +#let fa-truck-medical = fa-icon.with("\u{f0f9}") +#let fa-ambulance = fa-icon.with("\u{f0f9}") +#let fa-truck-monster = fa-icon.with("\u{f63b}") +#let fa-truck-moving = fa-icon.with("\u{f4df}") +#let fa-truck-pickup = fa-icon.with("\u{f63c}") +#let fa-truck-plane = fa-icon.with("\u{e58f}") +#let fa-truck-plow = fa-icon.with("\u{f7de}") +#let fa-truck-ramp = fa-icon.with("\u{f4e0}") +#let fa-truck-ramp-box = fa-icon.with("\u{f4de}") +#let fa-truck-loading = fa-icon.with("\u{f4de}") +#let fa-truck-ramp-couch = fa-icon.with("\u{f4dd}") +#let fa-truck-couch = fa-icon.with("\u{f4dd}") +#let fa-truck-tow = fa-icon.with("\u{e2b8}") +#let fa-truck-utensils = fa-icon.with("\u{e628}") +#let fa-trumpet = fa-icon.with("\u{f8e3}") +#let fa-tty = fa-icon.with("\u{f1e4}") +#let fa-teletype = fa-icon.with("\u{f1e4}") +#let fa-tty-answer = fa-icon.with("\u{e2b9}") +#let fa-teletype-answer = fa-icon.with("\u{e2b9}") +#let fa-tugrik-sign = fa-icon.with("\u{e2ba}") +#let fa-tumblr = fa-icon.with("\u{f173}") +#let fa-turkey = fa-icon.with("\u{f725}") +#let fa-turkish-lira-sign = fa-icon.with("\u{e2bb}") +#let fa-try = fa-icon.with("\u{e2bb}") +#let fa-turkish-lira = fa-icon.with("\u{e2bb}") +#let fa-turn-down = fa-icon.with("\u{f3be}") +#let fa-level-down-alt = fa-icon.with("\u{f3be}") +#let fa-turn-down-left = fa-icon.with("\u{e331}") +#let fa-turn-down-right = fa-icon.with("\u{e455}") +#let fa-turn-left = fa-icon.with("\u{e636}") +#let fa-turn-left-down = fa-icon.with("\u{e637}") +#let fa-turn-left-up = fa-icon.with("\u{e638}") +#let fa-turn-right = fa-icon.with("\u{e639}") +#let fa-turntable = fa-icon.with("\u{f8e4}") +#let fa-turn-up = fa-icon.with("\u{f3bf}") +#let fa-level-up-alt = fa-icon.with("\u{f3bf}") +#let fa-turtle = fa-icon.with("\u{f726}") +#let fa-tv = fa-icon.with("\u{f26c}") +#let fa-television = fa-icon.with("\u{f26c}") +#let fa-tv-alt = fa-icon.with("\u{f26c}") +#let fa-tv-music = fa-icon.with("\u{f8e6}") +#let fa-tv-retro = fa-icon.with("\u{f401}") +#let fa-twitch = fa-icon.with("\u{f1e8}") +#let fa-twitter = fa-icon.with("\u{f099}") +#let fa-typewriter = fa-icon.with("\u{f8e7}") +#let fa-typo3 = fa-icon.with("\u{f42b}") +#let fa-u = fa-icon.with("\u{55}") +#let fa-uber = fa-icon.with("\u{f402}") +#let fa-ubuntu = fa-icon.with("\u{f7df}") +#let fa-ufo = fa-icon.with("\u{e047}") +#let fa-ufo-beam = fa-icon.with("\u{e048}") +#let fa-uikit = fa-icon.with("\u{f403}") +#let fa-umbraco = fa-icon.with("\u{f8e8}") +#let fa-umbrella = fa-icon.with("\u{f0e9}") +#let fa-umbrella-beach = fa-icon.with("\u{f5ca}") +#let fa-umbrella-simple = fa-icon.with("\u{e2bc}") +#let fa-umbrella-alt = fa-icon.with("\u{e2bc}") +#let fa-uncharted = fa-icon.with("\u{e084}") +#let fa-underline = fa-icon.with("\u{f0cd}") +#let fa-unicorn = fa-icon.with("\u{f727}") +#let fa-uniform-martial-arts = fa-icon.with("\u{e3d1}") +#let fa-union = fa-icon.with("\u{f6a2}") +#let fa-uniregistry = fa-icon.with("\u{f404}") +#let fa-unity = fa-icon.with("\u{e049}") +#let fa-universal-access = fa-icon.with("\u{f29a}") +#let fa-unlock = fa-icon.with("\u{f09c}") +#let fa-unlock-keyhole = fa-icon.with("\u{f13e}") +#let fa-unlock-alt = fa-icon.with("\u{f13e}") +#let fa-unsplash = fa-icon.with("\u{e07c}") +#let fa-untappd = fa-icon.with("\u{f405}") +#let fa-up = fa-icon.with("\u{f357}") +#let fa-arrow-alt-up = fa-icon.with("\u{f357}") +#let fa-up-down = fa-icon.with("\u{f338}") +#let fa-arrows-alt-v = fa-icon.with("\u{f338}") +#let fa-up-down-left-right = fa-icon.with("\u{f0b2}") +#let fa-arrows-alt = fa-icon.with("\u{f0b2}") +#let fa-up-from-bracket = fa-icon.with("\u{e590}") +#let fa-up-from-dotted-line = fa-icon.with("\u{e456}") +#let fa-up-from-line = fa-icon.with("\u{f346}") +#let fa-arrow-alt-from-bottom = fa-icon.with("\u{f346}") +#let fa-up-left = fa-icon.with("\u{e2bd}") +#let fa-upload = fa-icon.with("\u{f093}") +#let fa-up-long = fa-icon.with("\u{f30c}") +#let fa-long-arrow-alt-up = fa-icon.with("\u{f30c}") +#let fa-up-right = fa-icon.with("\u{e2be}") +#let fa-up-right-and-down-left-from-center = fa-icon.with("\u{f424}") +#let fa-expand-alt = fa-icon.with("\u{f424}") +#let fa-up-right-from-square = fa-icon.with("\u{f35d}") +#let fa-external-link-alt = fa-icon.with("\u{f35d}") +#let fa-ups = fa-icon.with("\u{f7e0}") +#let fa-up-to-bracket = fa-icon.with("\u{e66e}") +#let fa-up-to-dotted-line = fa-icon.with("\u{e457}") +#let fa-up-to-line = fa-icon.with("\u{f34d}") +#let fa-arrow-alt-to-top = fa-icon.with("\u{f34d}") +#let fa-upwork = fa-icon.with("\u{e641}") +#let fa-usb = fa-icon.with("\u{f287}") +#let fa-usb-drive = fa-icon.with("\u{f8e9}") +#let fa-user = fa-icon.with("\u{f007}") +#let fa-user-alien = fa-icon.with("\u{e04a}") +#let fa-user-astronaut = fa-icon.with("\u{f4fb}") +#let fa-user-beard-bolt = fa-icon.with("\u{e689}") +#let fa-user-bounty-hunter = fa-icon.with("\u{e2bf}") +#let fa-user-check = fa-icon.with("\u{f4fc}") +#let fa-user-chef = fa-icon.with("\u{e3d2}") +#let fa-user-clock = fa-icon.with("\u{f4fd}") +#let fa-user-cowboy = fa-icon.with("\u{f8ea}") +#let fa-user-crown = fa-icon.with("\u{f6a4}") +#let fa-user-doctor = fa-icon.with("\u{f0f0}") +#let fa-user-md = fa-icon.with("\u{f0f0}") +#let fa-user-doctor-hair = fa-icon.with("\u{e458}") +#let fa-user-doctor-hair-long = fa-icon.with("\u{e459}") +#let fa-user-doctor-message = fa-icon.with("\u{f82e}") +#let fa-user-md-chat = fa-icon.with("\u{f82e}") +#let fa-user-gear = fa-icon.with("\u{f4fe}") +#let fa-user-cog = fa-icon.with("\u{f4fe}") +#let fa-user-graduate = fa-icon.with("\u{f501}") +#let fa-user-group = fa-icon.with("\u{f500}") +#let fa-user-friends = fa-icon.with("\u{f500}") +#let fa-user-group-crown = fa-icon.with("\u{f6a5}") +#let fa-users-crown = fa-icon.with("\u{f6a5}") +#let fa-user-group-simple = fa-icon.with("\u{e603}") +#let fa-user-hair = fa-icon.with("\u{e45a}") +#let fa-user-hair-buns = fa-icon.with("\u{e3d3}") +#let fa-user-hair-long = fa-icon.with("\u{e45b}") +#let fa-user-hair-mullet = fa-icon.with("\u{e45c}") +#let fa-business-front = fa-icon.with("\u{e45c}") +#let fa-party-back = fa-icon.with("\u{e45c}") +#let fa-trian-balbot = fa-icon.with("\u{e45c}") +#let fa-user-headset = fa-icon.with("\u{f82d}") +#let fa-user-helmet-safety = fa-icon.with("\u{f82c}") +#let fa-user-construction = fa-icon.with("\u{f82c}") +#let fa-user-hard-hat = fa-icon.with("\u{f82c}") +#let fa-user-hoodie = fa-icon.with("\u{e68a}") +#let fa-user-injured = fa-icon.with("\u{f728}") +#let fa-user-large = fa-icon.with("\u{f406}") +#let fa-user-alt = fa-icon.with("\u{f406}") +#let fa-user-large-slash = fa-icon.with("\u{f4fa}") +#let fa-user-alt-slash = fa-icon.with("\u{f4fa}") +#let fa-user-lock = fa-icon.with("\u{f502}") +#let fa-user-magnifying-glass = fa-icon.with("\u{e5c5}") +#let fa-user-minus = fa-icon.with("\u{f503}") +#let fa-user-music = fa-icon.with("\u{f8eb}") +#let fa-user-ninja = fa-icon.with("\u{f504}") +#let fa-user-nurse = fa-icon.with("\u{f82f}") +#let fa-user-nurse-hair = fa-icon.with("\u{e45d}") +#let fa-user-nurse-hair-long = fa-icon.with("\u{e45e}") +#let fa-user-pen = fa-icon.with("\u{f4ff}") +#let fa-user-edit = fa-icon.with("\u{f4ff}") +#let fa-user-pilot = fa-icon.with("\u{e2c0}") +#let fa-user-pilot-tie = fa-icon.with("\u{e2c1}") +#let fa-user-plus = fa-icon.with("\u{f234}") +#let fa-user-police = fa-icon.with("\u{e333}") +#let fa-user-police-tie = fa-icon.with("\u{e334}") +#let fa-user-robot = fa-icon.with("\u{e04b}") +#let fa-user-robot-xmarks = fa-icon.with("\u{e4a7}") +#let fa-users = fa-icon.with("\u{f0c0}") +#let fa-users-between-lines = fa-icon.with("\u{e591}") +#let fa-user-secret = fa-icon.with("\u{f21b}") +#let fa-users-gear = fa-icon.with("\u{f509}") +#let fa-users-cog = fa-icon.with("\u{f509}") +#let fa-user-shakespeare = fa-icon.with("\u{e2c2}") +#let fa-user-shield = fa-icon.with("\u{f505}") +#let fa-user-slash = fa-icon.with("\u{f506}") +#let fa-users-line = fa-icon.with("\u{e592}") +#let fa-users-medical = fa-icon.with("\u{f830}") +#let fa-users-rays = fa-icon.with("\u{e593}") +#let fa-users-rectangle = fa-icon.with("\u{e594}") +#let fa-users-slash = fa-icon.with("\u{e073}") +#let fa-users-viewfinder = fa-icon.with("\u{e595}") +#let fa-user-tag = fa-icon.with("\u{f507}") +#let fa-user-tie = fa-icon.with("\u{f508}") +#let fa-user-tie-hair = fa-icon.with("\u{e45f}") +#let fa-user-tie-hair-long = fa-icon.with("\u{e460}") +#let fa-user-unlock = fa-icon.with("\u{e058}") +#let fa-user-visor = fa-icon.with("\u{e04c}") +#let fa-user-vneck = fa-icon.with("\u{e461}") +#let fa-user-vneck-hair = fa-icon.with("\u{e462}") +#let fa-user-vneck-hair-long = fa-icon.with("\u{e463}") +#let fa-user-xmark = fa-icon.with("\u{f235}") +#let fa-user-times = fa-icon.with("\u{f235}") +#let fa-usps = fa-icon.with("\u{f7e1}") +#let fa-ussunnah = fa-icon.with("\u{f407}") +#let fa-utensils = fa-icon.with("\u{f2e7}") +#let fa-cutlery = fa-icon.with("\u{f2e7}") +#let fa-utensils-slash = fa-icon.with("\u{e464}") +#let fa-utility-pole = fa-icon.with("\u{e2c3}") +#let fa-utility-pole-double = fa-icon.with("\u{e2c4}") +#let fa-v = fa-icon.with("\u{56}") +#let fa-vaadin = fa-icon.with("\u{f408}") +#let fa-vacuum = fa-icon.with("\u{e04d}") +#let fa-vacuum-robot = fa-icon.with("\u{e04e}") +#let fa-value-absolute = fa-icon.with("\u{f6a6}") +#let fa-van-shuttle = fa-icon.with("\u{f5b6}") +#let fa-shuttle-van = fa-icon.with("\u{f5b6}") +#let fa-vault = fa-icon.with("\u{e2c5}") +#let fa-vector-circle = fa-icon.with("\u{e2c6}") +#let fa-vector-polygon = fa-icon.with("\u{e2c7}") +#let fa-vector-square = fa-icon.with("\u{f5cb}") +#let fa-vent-damper = fa-icon.with("\u{e465}") +#let fa-venus = fa-icon.with("\u{f221}") +#let fa-venus-double = fa-icon.with("\u{f226}") +#let fa-venus-mars = fa-icon.with("\u{f228}") +#let fa-vest = fa-icon.with("\u{e085}") +#let fa-vest-patches = fa-icon.with("\u{e086}") +#let fa-viacoin = fa-icon.with("\u{f237}") +#let fa-viadeo = fa-icon.with("\u{f2a9}") +#let fa-vial = fa-icon.with("\u{f492}") +#let fa-vial-circle-check = fa-icon.with("\u{e596}") +#let fa-vials = fa-icon.with("\u{f493}") +#let fa-vial-virus = fa-icon.with("\u{e597}") +#let fa-viber = fa-icon.with("\u{f409}") +#let fa-video = fa-icon.with("\u{f03d}") +#let fa-video-camera = fa-icon.with("\u{f03d}") +#let fa-video-arrow-down-left = fa-icon.with("\u{e2c8}") +#let fa-video-arrow-up-right = fa-icon.with("\u{e2c9}") +#let fa-video-plus = fa-icon.with("\u{f4e1}") +#let fa-video-slash = fa-icon.with("\u{f4e2}") +#let fa-vihara = fa-icon.with("\u{f6a7}") +#let fa-vimeo = fa-icon.with("\u{f40a}") +#let fa-vimeo-v = fa-icon.with("\u{f27d}") +#let fa-vine = fa-icon.with("\u{f1ca}") +#let fa-violin = fa-icon.with("\u{f8ed}") +#let fa-virus = fa-icon.with("\u{e074}") +#let fa-virus-covid = fa-icon.with("\u{e4a8}") +#let fa-virus-covid-slash = fa-icon.with("\u{e4a9}") +#let fa-viruses = fa-icon.with("\u{e076}") +#let fa-virus-slash = fa-icon.with("\u{e075}") +#let fa-vk = fa-icon.with("\u{f189}") +#let fa-vnv = fa-icon.with("\u{f40b}") +#let fa-voicemail = fa-icon.with("\u{f897}") +#let fa-volcano = fa-icon.with("\u{f770}") +#let fa-volleyball = fa-icon.with("\u{f45f}") +#let fa-volleyball-ball = fa-icon.with("\u{f45f}") +#let fa-volume = fa-icon.with("\u{f6a8}") +#let fa-volume-medium = fa-icon.with("\u{f6a8}") +#let fa-volume-high = fa-icon.with("\u{f028}") +#let fa-volume-up = fa-icon.with("\u{f028}") +#let fa-volume-low = fa-icon.with("\u{f027}") +#let fa-volume-down = fa-icon.with("\u{f027}") +#let fa-volume-off = fa-icon.with("\u{f026}") +#let fa-volume-slash = fa-icon.with("\u{f2e2}") +#let fa-volume-xmark = fa-icon.with("\u{f6a9}") +#let fa-volume-mute = fa-icon.with("\u{f6a9}") +#let fa-volume-times = fa-icon.with("\u{f6a9}") +#let fa-vr-cardboard = fa-icon.with("\u{f729}") +#let fa-vuejs = fa-icon.with("\u{f41f}") +#let fa-w = fa-icon.with("\u{57}") +#let fa-waffle = fa-icon.with("\u{e466}") +#let fa-wagon-covered = fa-icon.with("\u{f8ee}") +#let fa-walker = fa-icon.with("\u{f831}") +#let fa-walkie-talkie = fa-icon.with("\u{f8ef}") +#let fa-wallet = fa-icon.with("\u{f555}") +#let fa-wand = fa-icon.with("\u{f72a}") +#let fa-wand-magic = fa-icon.with("\u{f0d0}") +#let fa-magic = fa-icon.with("\u{f0d0}") +#let fa-wand-magic-sparkles = fa-icon.with("\u{e2ca}") +#let fa-magic-wand-sparkles = fa-icon.with("\u{e2ca}") +#let fa-wand-sparkles = fa-icon.with("\u{f72b}") +#let fa-warehouse = fa-icon.with("\u{f494}") +#let fa-warehouse-full = fa-icon.with("\u{f495}") +#let fa-warehouse-alt = fa-icon.with("\u{f495}") +#let fa-washing-machine = fa-icon.with("\u{f898}") +#let fa-washer = fa-icon.with("\u{f898}") +#let fa-watch = fa-icon.with("\u{f2e1}") +#let fa-watch-apple = fa-icon.with("\u{e2cb}") +#let fa-watch-calculator = fa-icon.with("\u{f8f0}") +#let fa-watch-fitness = fa-icon.with("\u{f63e}") +#let fa-watchman-monitoring = fa-icon.with("\u{e087}") +#let fa-watch-smart = fa-icon.with("\u{e2cc}") +#let fa-water = fa-icon.with("\u{f773}") +#let fa-water-arrow-down = fa-icon.with("\u{f774}") +#let fa-water-lower = fa-icon.with("\u{f774}") +#let fa-water-arrow-up = fa-icon.with("\u{f775}") +#let fa-water-rise = fa-icon.with("\u{f775}") +#let fa-water-ladder = fa-icon.with("\u{f5c5}") +#let fa-ladder-water = fa-icon.with("\u{f5c5}") +#let fa-swimming-pool = fa-icon.with("\u{f5c5}") +#let fa-watermelon-slice = fa-icon.with("\u{e337}") +#let fa-wave = fa-icon.with("\u{e65b}") +#let fa-waveform = fa-icon.with("\u{f8f1}") +#let fa-waveform-lines = fa-icon.with("\u{f8f2}") +#let fa-waveform-path = fa-icon.with("\u{f8f2}") +#let fa-wave-pulse = fa-icon.with("\u{f5f8}") +#let fa-heart-rate = fa-icon.with("\u{f5f8}") +#let fa-wave-sine = fa-icon.with("\u{f899}") +#let fa-wave-square = fa-icon.with("\u{f83e}") +#let fa-waves-sine = fa-icon.with("\u{e65d}") +#let fa-wave-triangle = fa-icon.with("\u{f89a}") +#let fa-waze = fa-icon.with("\u{f83f}") +#let fa-web-awesome = fa-icon.with("\u{e682}") +#let fa-webflow = fa-icon.with("\u{e65c}") +#let fa-webhook = fa-icon.with("\u{e5d5}") +#let fa-weebly = fa-icon.with("\u{f5cc}") +#let fa-weibo = fa-icon.with("\u{f18a}") +#let fa-weight-hanging = fa-icon.with("\u{f5cd}") +#let fa-weight-scale = fa-icon.with("\u{f496}") +#let fa-weight = fa-icon.with("\u{f496}") +#let fa-weixin = fa-icon.with("\u{f1d7}") +#let fa-whale = fa-icon.with("\u{f72c}") +#let fa-whatsapp = fa-icon.with("\u{f232}") +#let fa-wheat = fa-icon.with("\u{f72d}") +#let fa-wheat-awn = fa-icon.with("\u{e2cd}") +#let fa-wheat-alt = fa-icon.with("\u{e2cd}") +#let fa-wheat-awn-circle-exclamation = fa-icon.with("\u{e598}") +#let fa-wheat-awn-slash = fa-icon.with("\u{e338}") +#let fa-wheat-slash = fa-icon.with("\u{e339}") +#let fa-wheelchair = fa-icon.with("\u{f193}") +#let fa-wheelchair-move = fa-icon.with("\u{e2ce}") +#let fa-wheelchair-alt = fa-icon.with("\u{e2ce}") +#let fa-whiskey-glass = fa-icon.with("\u{f7a0}") +#let fa-glass-whiskey = fa-icon.with("\u{f7a0}") +#let fa-whiskey-glass-ice = fa-icon.with("\u{f7a1}") +#let fa-glass-whiskey-rocks = fa-icon.with("\u{f7a1}") +#let fa-whistle = fa-icon.with("\u{f460}") +#let fa-whmcs = fa-icon.with("\u{f40d}") +#let fa-wifi = fa-icon.with("\u{f1eb}") +#let fa-wifi-3 = fa-icon.with("\u{f1eb}") +#let fa-wifi-strong = fa-icon.with("\u{f1eb}") +#let fa-wifi-exclamation = fa-icon.with("\u{e2cf}") +#let fa-wifi-fair = fa-icon.with("\u{f6ab}") +#let fa-wifi-2 = fa-icon.with("\u{f6ab}") +#let fa-wifi-slash = fa-icon.with("\u{f6ac}") +#let fa-wifi-weak = fa-icon.with("\u{f6aa}") +#let fa-wifi-1 = fa-icon.with("\u{f6aa}") +#let fa-wikipedia-w = fa-icon.with("\u{f266}") +#let fa-wind = fa-icon.with("\u{f72e}") +#let fa-window = fa-icon.with("\u{f40e}") +#let fa-window-flip = fa-icon.with("\u{f40f}") +#let fa-window-alt = fa-icon.with("\u{f40f}") +#let fa-window-frame = fa-icon.with("\u{e04f}") +#let fa-window-frame-open = fa-icon.with("\u{e050}") +#let fa-window-maximize = fa-icon.with("\u{f2d0}") +#let fa-window-minimize = fa-icon.with("\u{f2d1}") +#let fa-window-restore = fa-icon.with("\u{f2d2}") +#let fa-windows = fa-icon.with("\u{f17a}") +#let fa-windsock = fa-icon.with("\u{f777}") +#let fa-wind-turbine = fa-icon.with("\u{f89b}") +#let fa-wind-warning = fa-icon.with("\u{f776}") +#let fa-wind-circle-exclamation = fa-icon.with("\u{f776}") +#let fa-wine-bottle = fa-icon.with("\u{f72f}") +#let fa-wine-glass = fa-icon.with("\u{f4e3}") +#let fa-wine-glass-crack = fa-icon.with("\u{f4bb}") +#let fa-fragile = fa-icon.with("\u{f4bb}") +#let fa-wine-glass-empty = fa-icon.with("\u{f5ce}") +#let fa-wine-glass-alt = fa-icon.with("\u{f5ce}") +#let fa-wirsindhandwerk = fa-icon.with("\u{e2d0}") +#let fa-wsh = fa-icon.with("\u{e2d0}") +#let fa-wix = fa-icon.with("\u{f5cf}") +#let fa-wizards-of-the-coast = fa-icon.with("\u{f730}") +#let fa-wodu = fa-icon.with("\u{e088}") +#let fa-wolf-pack-battalion = fa-icon.with("\u{f514}") +#let fa-won-sign = fa-icon.with("\u{f159}") +#let fa-krw = fa-icon.with("\u{f159}") +#let fa-won = fa-icon.with("\u{f159}") +#let fa-wordpress = fa-icon.with("\u{f19a}") +#let fa-wordpress-simple = fa-icon.with("\u{f411}") +#let fa-worm = fa-icon.with("\u{e599}") +#let fa-wpbeginner = fa-icon.with("\u{f297}") +#let fa-wpexplorer = fa-icon.with("\u{f2de}") +#let fa-wpforms = fa-icon.with("\u{f298}") +#let fa-wpressr = fa-icon.with("\u{f3e4}") +#let fa-rendact = fa-icon.with("\u{f3e4}") +#let fa-wreath = fa-icon.with("\u{f7e2}") +#let fa-wreath-laurel = fa-icon.with("\u{e5d2}") +#let fa-wrench = fa-icon.with("\u{f0ad}") +#let fa-wrench-simple = fa-icon.with("\u{e2d1}") +#let fa-x = fa-icon.with("\u{58}") +#let fa-xbox = fa-icon.with("\u{f412}") +#let fa-xing = fa-icon.with("\u{f168}") +#let fa-xmark = fa-icon.with("\u{f00d}") +#let fa-close = fa-icon.with("\u{f00d}") +#let fa-multiply = fa-icon.with("\u{f00d}") +#let fa-remove = fa-icon.with("\u{f00d}") +#let fa-times = fa-icon.with("\u{f00d}") +#let fa-xmark-large = fa-icon.with("\u{e59b}") +#let fa-xmarks-lines = fa-icon.with("\u{e59a}") +#let fa-xmark-to-slot = fa-icon.with("\u{f771}") +#let fa-times-to-slot = fa-icon.with("\u{f771}") +#let fa-vote-nay = fa-icon.with("\u{f771}") +#let fa-x-ray = fa-icon.with("\u{f497}") +#let fa-x-twitter = fa-icon.with("\u{e61b}") +#let fa-y = fa-icon.with("\u{59}") +#let fa-yahoo = fa-icon.with("\u{f19e}") +#let fa-yammer = fa-icon.with("\u{f840}") +#let fa-yandex = fa-icon.with("\u{f413}") +#let fa-yandex-international = fa-icon.with("\u{f414}") +#let fa-yarn = fa-icon.with("\u{f7e3}") +#let fa-y-combinator = fa-icon.with("\u{f23b}") +#let fa-yelp = fa-icon.with("\u{f1e9}") +#let fa-yen-sign = fa-icon.with("\u{f157}") +#let fa-cny = fa-icon.with("\u{f157}") +#let fa-jpy = fa-icon.with("\u{f157}") +#let fa-rmb = fa-icon.with("\u{f157}") +#let fa-yen = fa-icon.with("\u{f157}") +#let fa-yin-yang = fa-icon.with("\u{f6ad}") +#let fa-yoast = fa-icon.with("\u{f2b1}") +#let fa-youtube = fa-icon.with("\u{f167}") +#let fa-z = fa-icon.with("\u{5a}") +#let fa-zhihu = fa-icon.with("\u{f63f}") diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-impl.typ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-impl.typ new file mode 100644 index 0000000000..c4ecba0b0c --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib-impl.typ @@ -0,0 +1,61 @@ +// Currently, we assume there is no need to enable Pro sets for only a part of the document, +// so no method is provided to disable Pro sets +#let _fa_use_pro = state("_fa_use_pro", false) +#let fa-use-pro() = { + _fa_use_pro.update(true) +} + +/// Render a Font Awesome icon by its name or unicode +/// +/// Parameters: +/// - `name`: The name of the icon +/// - This can be name in string or unicode of the icon +/// - `solid`: Whether to use the solid version of the icon +/// - `fa-icon-map`: The map of icon names to unicode +/// - Default is a map generated from FontAwesome metadata +/// - *Not recommended* You can provide your own map to override it +/// - `..args`: Additional arguments to pass to the `text` function +/// +/// Returns: The rendered icon as a `text` element +#let fa-icon( + name, + solid: false, + fa-icon-map: (:), + ..args, +) = ( + context { + let default_fonts = ( + "Font Awesome 6 Free" + if solid { + " Solid" + }, + "Font Awesome 6 Brands", + ) + + if _fa_use_pro.get() { + // TODO: Help needed to test following fonts + default_fonts += ( + "Font Awesome 6 Pro" + if solid { + " Solid" + }, + "Font Awesome 6 Duotone", + "Font Awesome 6 Sharp" + if solid { + " Solid" + }, + "Font Awesome 6 Sharp Duotone" + if solid { + " Solid" + }, + ) + } + + text( + font: default_fonts, // If you see warning here, please check whether the FA font is installed + + // TODO: We might need to check whether this is needed + weight: if solid { 900 } else { 400 }, + // If the name is in the map, use the unicode from the map + // If not, pass the name and let the ligature feature handle it + fa-icon-map.at(name, default: name), + ..args, + ) + } +) diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib.typ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib.typ new file mode 100644 index 0000000000..4ceec243d2 --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/lib.typ @@ -0,0 +1,81 @@ +//! typst-fontawesome +//! +//! https://github.com/duskmoon314/typst-fontawesome + +// Implementation of `fa-icon` +#import "lib-impl.typ": fa-icon, fa-use-pro + +// Generated icons +#import "lib-gen.typ": * + +// Re-export the `fa-icon` function +// The following doc comment is needed for lsp to show the documentation + +/// Render a Font Awesome icon by its name or unicode +/// +/// Parameters: +/// - `name`: The name of the icon +/// - This can be name in string or unicode of the icon +/// - `solid`: Whether to use the solid version of the icon +/// - `fa-icon-map`: The map of icon names to unicode +/// - Default is a map generated from FontAwesome metadata +/// - *Not recommended* You can provide your own map to override it +/// - `..args`: Additional arguments to pass to the `text` function +/// +/// Returns: The rendered icon as a `text` element +#let fa-icon = fa-icon.with(fa-icon-map: fa-icon-map) + +/// Render multiple Font Awesome icons together +/// +/// Parameters: +/// - `icons`: The list of icons to render +/// - Multiple types are supported: +/// - `str`: The name of the icon, e.g. `"square"` +/// - `array`: A tuple of the name and additional arguments, e.g. `("chess-queen", (solid: true, fill: white))` +/// - `arguments`: Arguments to pass to the `fa-icon` function, e.g. `arguments("chess-queen", solid: true, fill: white)` +/// - `content`: Any other content you want to render, e.g. `fa-chess-queen(solid: true, fill: white)` +/// - `box-args`: Additional arguments to pass to the `box` function +/// - `grid-args`: Additional arguments to pass to the `grid` function +/// - `fa-icon-args`: Additional arguments to pass to all `fa-icon` function +#let fa-stack( + box-args: (:), + grid-args: (:), + fa-icon-args: (:), + ..icons, +) = ( + context { + let icons = icons.pos().map(icon => { + if type(icon) == str { + fa-icon(icon, ..fa-icon-args) + } else if type(icon) == array { + let (name, args) = icon + fa-icon(name, ..fa-icon-args, ..args) + } else if type(icon) == arguments { + fa-icon(..icon.pos(), ..fa-icon-args, ..icon.named()) + } else if type(icon) == content { + icon + } else { + panic("Unsupported content. Please submit an issue for your use case.") + } + }) + + // Get the maximum width of the icons + let max-width = calc.max( + ..icons.map(icon => { + measure(icon).width + }), + ) + + box( + ..box-args, + grid( + align: center + horizon, + columns: icons.len() * (max-width,), + column-gutter: -max-width, + rows: 1, + ..grid-args, + ..icons + ), + ) + } +) \ No newline at end of file diff --git a/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/typst.toml b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/typst.toml new file mode 100644 index 0000000000..0917fae2a8 --- /dev/null +++ b/content/manipulation/.quarto/typst/packages/preview/fontawesome/0.5.0/typst.toml @@ -0,0 +1,8 @@ +[package] +name = "fontawesome" +version = "0.5.0" +entrypoint = "lib.typ" +authors = ["duskmoon (Campbell He) "] +license = "MIT" +description = "A Typst library for Font Awesome icons through the desktop fonts." +repository = "https://github.com/duskmoon314/typst-fontawesome" diff --git a/content/manipulation/02_pandas_intro.qmd b/content/manipulation/02_pandas_intro.qmd index 078f327af4..c0f08d2306 100644 --- a/content/manipulation/02_pandas_intro.qmd +++ b/content/manipulation/02_pandas_intro.qmd @@ -502,7 +502,7 @@ Les trois règles des données _tidy_ sont les suivantes : se trouve sur une unique cellule. -![Illustration du concept de _tidy data_ (emprunté à H. Wickham)](https://d33wubrfki0l68.cloudfront.net/6f1ddb544fc5c69a2478e444ab8112fb0eea23f8/91adc/images/tidy-1.png) +![Illustration du concept de _tidy data_ (emprunté à H. Wickham)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/cloudfront-tidy-1.png) Ces principes peuvent vous apparaître de bon sens mais vous découvrirez que de nombreux formats de données ne correspondent pas à ce principe. Par exemple, des tableurs Excel proposent régulièrement des valeurs à cheval sur plusieurs colonnes ou plusieurs lignes fusionnées. Restructurer cette donnée selon le principe des _tidy data_ sera un enjeu pour être en mesure d'effectuer des traitements sur celle-ci. @@ -517,7 +517,7 @@ The concept of __*tidy*__ data, popularized by Hadley Wickham through his `R` pa * Each __observation__ has its own row; * A __value__, representing an observation of a variable, is located in a single cell. -![Illustration of the _tidy data_ concept (borrowed from H. Wickham)](https://d33wubrfki0l68.cloudfront.net/6f1ddb544fc5c69a2478e444ab8112fb0eea23f8/91adc/images/tidy-1.png) +![Illustration of the _tidy data_ concept (borrowed from H. Wickham)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/cloudfront-tidy-1.png) These principles may seem like common sense, but you will find that many data formats do not adhere to them. For example, Excel spreadsheets often have values spanning multiple columns or several merged rows. Restructuring this data according to the tidy data principle will be crucial to performing analysis on it. ::: diff --git a/content/manipulation/02_pandas_joins.qmd b/content/manipulation/02_pandas_joins.qmd index fc3c7cb423..1d8c354a3a 100644 --- a/content/manipulation/02_pandas_joins.qmd +++ b/content/manipulation/02_pandas_joins.qmd @@ -400,7 +400,7 @@ Nous allons ici nous focaliser sur le cas le plus favorable qui est la situation Cette pratique découle du fait que de nombreux systèmes d'information prennent la forme d'un schéma en étoile (@fig-star-schema): -![Illustration du schéma en étoile (Source: [Databricks](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png))](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png){#fig-star-schema fig-width="80%"} +![Illustration du schéma en étoile (Source: [Databricks](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/databricks-star-schema-erd.png){#fig-star-schema fig-width="80%"} Cette structuration de l'information est très liée au modèle des tables relationnelles des années 1980. Aujourd'hui, il existe des modèles de données plus flexibles où l'information est empilée dans un _data lake_ sans structure _a priori_. Néanmoins ce modèle du schéma en étoile reste pertinent parce qu'il permet d'organiser l'information autour d'unités statistiques d'intérêt (le client, l'entreprise, la transaction, etc.) tout en permettant un cloisonnement des données. @@ -421,7 +421,7 @@ Here we will focus on the most favorable case, which is the situation where info This practice stems from the fact that many information systems take the form of a star schema (@#fig-star-schema-en). -![Illustration of the star schema (Source: [Databricks](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png))](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png){#fig-star-schema-en fig-width="80%"} +![Illustration of the star schema (Source: [Databricks](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/databricks-star-schema-erd.png){#fig-star-schema-en fig-width="80%"} This way of structuring information is closely tied to the relational table model from the 1980s. Today, more flexible data models exist, where information is stored in a *data lake* without any predefined structure. Nevertheless, the star schema model remains relevant because it makes it possible to organize information around statistical units of interest (the customer, the company, the transaction, etc.) while still allowing data to be compartmentalized. @@ -904,7 +904,7 @@ In a funny representation, this gives: ::: -![](https://external-preview.redd.it/yOLzCR0qSzul2WpjQorxINB0xpU3_N9twmFVsgbGJwQ.jpg?auto=webp&s=4feedc91302ba635b3028a21b98d047def5cdc2b){fig-align="center" width=60%} +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/redd-yOLzCR0qSzul2WpjQorxINB0xpU3_N9twmFVsgbGJwQ.jpg){fig-align="center" width=60%} ::: {.content-visible when-profile="fr"} Il existe bien-sûr d'autres types de jointures, basées sur la négation: *semi-join*, *anti-join*, etc. Ces méthodes sont moins fréquemment utilisées mais sont utiles lorsqu'on cherche à déterminer la discordance entre deux jeux de données. @@ -1182,7 +1182,7 @@ Ce numéro est nécessaire à l'administration pour la gestion des droits à pre Cet identifiant est principalement présent dans des bases de gestion, liées aux fiches de paie, aux prestations sociales, etc. Cependant, _a contrario_ du numéro Sirene, celui-ci contient en lui-même plusieurs informations sensibles (@fig-nir-compo) - en plus d'être intrinsèquement relié à la problématique sensible des droits à la sécurité sociale. -![Le numéro de sécurité sociale (Source: [Améli](https://www.ameli.fr/assure/droits-demarches/principes/numero-securite-sociale))](https://www.ameli.fr/sites/default/files/styles/webp_ckeditor/public/thumbnails/image/infographie_assures-regle-identification-assures.gif.webp?itok=j2owVDrB){#fig-nir-compo fig-width=70%} +![Le numéro de sécurité sociale (Source: [Améli](https://www.ameli.fr/assure/droits-demarches/principes/numero-securite-sociale))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/ameli-infographie_assures-regle-identification-assures.gif.webp){#fig-nir-compo fig-width=70%} Pour pallier ce problème, a récémment été mis en oeuvre le [code statistique non signifiant (CSNS)](https://www.insee.fr/fr/information/7635825?sommaire=7635842) ou NIR haché, un identifiant individuel anonyme non identifiant. L'objectif de cet identifiant anonymisé est de réduire la dissémination d'une information personnelle qui permettait certes aux fonctionnaires et chercheurs de relier de manière déterministe de nombreuses bases de données mais donnait une information non indispensable aux analystes sur les personnes en question. @benichou-cds décrivent plus en détail la manière dont les organisations de la statistique publique française peuvent utiliser ce code unique non signifiant pour associer entre elles diverses sources de données. diff --git a/content/manipulation/02_pandas_stats.qmd b/content/manipulation/02_pandas_stats.qmd index 0bed37a19e..363e098434 100644 --- a/content/manipulation/02_pandas_stats.qmd +++ b/content/manipulation/02_pandas_stats.qmd @@ -157,7 +157,7 @@ L'image suivante, issue de représente bien la manière dont fonctionne l'approche `split`-`apply`-`combine`: -![Split-apply-combine (Source: [unlhcc.github.io](https://unlhcc.github.io/r-novice-gapminder/16-plyr/))](https://unlhcc.github.io/r-novice-gapminder/fig/12-plyr-fig1.png){fig-width=70%} +![Split-apply-combine (Source: [unlhcc.github.io](https://unlhcc.github.io/r-novice-gapminder/16-plyr/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/unlhcc-12-plyr-fig1.png){fig-width=70%} En `Pandas`, on utilise `groupby` pour découper les données selon un ou plusieurs axes (ce [tutoriel](https://realpython.com/pandas-groupby/) sur le sujet @@ -182,7 +182,7 @@ In `SQL`, it is very simple to segment data to perform operations on coherent bl The following image, from [this site](https://unlhcc.github.io/r-novice-gapminder/16-plyr/), well represents how the `split`-`apply`-`combine` approach works: -![Split-apply-combine (Source: [unlhcc.github.io](https://unlhcc.github.io/r-novice-gapminder/16-plyr/))](https://unlhcc.github.io/r-novice-gapminder/fig/12-plyr-fig1.png){fig-width=70%} +![Split-apply-combine (Source: [unlhcc.github.io](https://unlhcc.github.io/r-novice-gapminder/16-plyr/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/unlhcc-12-plyr-fig1.png){fig-width=70%} In `Pandas`, we use `groupby` to segment the data according to one or more axes (this [tutorial](https://realpython.com/pandas-groupby/) on the subject is particularly useful). All the aggregation operations (counting, averages, etc.) that we saw earlier can be applied by group. @@ -419,7 +419,7 @@ retrouve généralement deux types de structure de données : Un exemple de la distinction entre les deux peut être pris à l'ouvrage de référence d'Hadley Wickham, [*R for Data Science*](https://r4ds.hadley.nz/): -![Données _long_ et _wide_ (Source: [*R for Data Science*](https://r4ds.hadley.nz/))](https://d33wubrfki0l68.cloudfront.net/3aea19108d39606bbe49981acda07696c0c7fcd8/2de65/images/tidy-9.png) +![Données _long_ et _wide_ (Source: [*R for Data Science*](https://r4ds.hadley.nz/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/cloudfront-tidy-9.png) L'aide mémoire suivante aidera à se rappeler les fonctions à appliquer si besoin : @@ -445,7 +445,7 @@ When we have multiple pieces of information for the same individual or group, we An example of the distinction between the two can be taken from Hadley Wickham's reference book, [*R for Data Science*](https://r4ds.hadley.nz/): -![Wide and Long Data Formats (Source: [*R for Data Science*](https://r4ds.hadley.nz/))](https://d33wubrfki0l68.cloudfront.net/3aea19108d39606bbe49981acda07696c0c7fcd8/2de65/images/tidy-9.png) +![Wide and Long Data Formats (Source: [*R for Data Science*](https://r4ds.hadley.nz/))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/cloudfront-tidy-9.png) The following cheat sheet will help remember the functions to apply if needed: diff --git a/content/manipulation/03_geopandas_intro.qmd b/content/manipulation/03_geopandas_intro.qmd index 0203bf7f98..fd712ae6ad 100644 --- a/content/manipulation/03_geopandas_intro.qmd +++ b/content/manipulation/03_geopandas_intro.qmd @@ -132,7 +132,7 @@ est la carte par aplat de couleur, dite carte choroplèthe[^limite-choro]. D'après @chen2008brief, la première représentation de ce type a été proposée par Charles Dupin en 1926 pour représenter les niveaux d'instruction sur le territoire français (@fig-dupin). L'émergence des cartes choroplèthes est en effet indissociable de l'organisation du pouvoir sous forme d'entités pensées politiques supposées unitaires: les cartes du monde représentent souvent des aplats de couleurs à partir des nations, les cartes nationales à partir d'échelons administratifs (régions, départements, communes, mais aussi Etats ou _landers_). -![La première carte choroplèthes par Dupin (1826)](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Carte_figurative_de_l%27instruction_populaire_de_la_France_-_Collon%2C_del._-_btv1b530830640.jpg/960px-Carte_figurative_de_l%27instruction_populaire_de_la_France_-_Collon%2C_del._-_btv1b530830640.jpg){#fig-dupin width="60%" fig-align="center"}. +![La première carte choroplèthes par Dupin (1826)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-960px-Carte_figurative_de_l-instruction_populaire_de_la_France_-_Collon-_del._-_btv1b530830640.jpg){#fig-dupin width="60%" fig-align="center"}. [^limite-choro]: Malgré toutes ses limites, sur lesquelles nous reviendrons, la carte choroplèthe est tout de même instructive. Savoir en produire une rapidement, @@ -152,7 +152,7 @@ Initially used mainly for military or administrative purposes, cartographic prod According to @chen2008brief, the first representation of this type was proposed by Charles Dupin in 1926 to represent education levels in France. The emergence of choropleth maps is indeed inseparable from the organization of power into entities considered unitary: world maps often represent color gradients based on nations, national maps based on administrative levels (regions, departments, municipalities, but also states or _landers_). -![The first choropleth map by Dupin (1826)](https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg/800px-Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg){width="60%" fig-align="center"}. +![The first choropleth map by Dupin (1826)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Carte_figurative_de_l-instruction_populaire_de_la_France.jpg){width="60%" fig-align="center"}. [^limite-choro-en]: Despite all its limitations, which we will revisit, the choropleth map is nonetheless informative. Knowing how to produce one quickly to grasp the main structuring facts of a dataset is particularly useful. @@ -584,7 +584,7 @@ terrestre à une position sur un plan. Il s'agit donc d'une opération de projection d'un espace tri-dimensionnel dans un espace à deux dimensions. Ce [post de Nicolas Lambert](https://observablehq.com/@cartographie/les-projections-cartographiques) propose de riches éléments sur le sujet. (voir aussi @fig-projections-diff). -![Les différents types de projection](https://firebasestorage.googleapis.com/v0/b/videotoblog-35c6e.appspot.com/o/users%2FQWDzir4jNuXyuHcNO0mDzJgvO4R2%2FXthqFNIO21Ba4n8etfuC%2F2cde098d-053b-4f28-8cbe-c1aa5c4f9bac?alt=media&token=33f6322b-c723-42d2-bf0c-e44957683969){#fig-projections-diff} +![Les différents types de projection](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/googleapis-2cde098d-053b-4f28-8cbe-c1aa5c4f9bac.png){#fig-projections-diff} Cette opération n'est pas neutre. L'une des conséquences du [théorème remarquable de Gauss](https://fr.wikipedia.org/wiki/Theorema_egregium) est que la surface de la Terre ne peut être cartographiée sans distortion. Une projection ne peut simultanément conserver intactes les distances et les angles (i.e. les positions). Il n'existe ainsi pas de projection universellement meilleure, ce qui ouvre la porte à la coexistence de nombreuses projections différentes, pensées pour des tâches différentes. Un mauvais système de représentation fausse l'appréciation visuelle mais peut aussi entraîner des erreurs dans les calculs sur la dimension spatiale. @@ -610,7 +610,7 @@ Spatial data is richer than traditional data because it usually includes additio Cartographic analysis, therefore, borrows concepts from geometry to represent objects in space. **Projections** are at the heart of managing spatial data. These projections consist of transforming a position in terrestrial space into a position on a plane. This is a projection operation from a three-dimensional space into a two-dimensional space. This [post](https://www.earthdatascience.org/courses/earth-analytics/spatial-data-r/geographic-vs-projected-coordinate-reference-systems-UTM/) offers rich elements on the subject, including the following image that clearly shows the principle of a projection: -![Different types of projection](https://www.earthdatascience.org/images/courses/earth-analytics/spatial-data/spatial-projection-transformations-crs.png) +![Different types of projection](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/earthdatascience-spatial-projection-transformations-crs.png) This operation is not neutral. One of the consequences of the [remarkable theorem of Gauss](https://en.wikipedia.org/wiki/Theorema_egregium) is that the surface of the Earth cannot be mapped without distortion. A projection cannot simultaneously keep distances and angles intact (i.e., positions). Thus, there is no universally better projection, which opens the door to the coexistence of many different projections, designed for different tasks. A poor projection system can distort visual appreciation and also cause errors in calculations on the spatial dimension. @@ -640,7 +640,7 @@ Il s'agit d'une projection pensée d'abord pour la navigation, non pour la repr ![*Exemple de reprojection de pays depuis le site [thetruesize.com](https://thetruesize.com/)*](https://minio.lab.sspcloud.fr/lgaliana/generative-art/pythonds/truesize.png) -!["Don't trust the Mercator projection" sur `Reddit`](https://rgeo.linogaliana.fr/exercises/img/mercator.jpg){#fig-mercator-funny} +!["Don't trust the Mercator projection" sur `Reddit`](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/rgeo-mercator.jpg){#fig-mercator-funny} ::: @@ -652,7 +652,7 @@ As mentioned above, one of the best-known projections is the Web Mercator projec ![*Example of country re-projection from the site [thetruesize.com](https://thetruesize.com/)*](https://minio.lab.sspcloud.fr/lgaliana/generative-art/pythonds/truesize.png) -!["Don't trust the Mercator projection" on `Reddit`](https://rgeo.linogaliana.fr/exercises/img/mercator.jpg){#fig-mercator-funny} +!["Don't trust the Mercator projection" on `Reddit`](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/rgeo-mercator.jpg){#fig-mercator-funny} ::: @@ -867,7 +867,7 @@ bon d'avoir en tête : > > From time to time, however, you may get data that does not include a projection. In this situation, you have to set the CRS so geopandas knows how to interpret the coordinates. -![*Image empruntée à XKCD qu'on peut également trouver sur *](https://imgs.xkcd.com/comics/bad_map_projection_south_america.png) +![*Image empruntée à XKCD qu'on peut également trouver sur *](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/xkcd-bad_map_projection_south_america.png) Les deux principales méthodes pour définir le système de projection utilisé sont : @@ -890,7 +890,7 @@ Regarding the management of projections with `GeoPandas`, the [official document > > From time to time, however, you may get data that does not include a projection. In this situation, you have to set the CRS so geopandas knows how to interpret the coordinates. -![*Image borrowed from XKCD which can also be found on *](https://imgs.xkcd.com/comics/bad_map_projection_south_america.png) +![*Image borrowed from XKCD which can also be found on *](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/xkcd-bad_map_projection_south_america.png) The two main methods for defining the projection system used are: diff --git a/content/manipulation/04_api/_gestion_secrets.qmd b/content/manipulation/04_api/_gestion_secrets.qmd index 1803b7c6b2..84ddf754da 100644 --- a/content/manipulation/04_api/_gestion_secrets.qmd +++ b/content/manipulation/04_api/_gestion_secrets.qmd @@ -28,7 +28,7 @@ Before diving into this, we will take a detour to discuss token confidentiality Les tokens sont des informations personnelles qui ne doivent pas être partagées. Ils n'ont pas vocation à être présent dans le code. Comme ceci est évoqué à plusieurs reprises dans le cours de [mise en production](https://ensae-reproductibilite.github.io/website/) que Romain Avouac et moi donnons en 3e année, il est important de séparer le code des éléments de configuration -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/environment_clean.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-environment_clean.png) L'idée est de trouver une recette pour apporter les éléments de configuration avec le code mais sans mettre ceux-ci en clair dans le code. L'idée générale sera de stocker la valeur du _token_ dans une variable mais ne jamais révéler celle-ci dans le code. Comment faire dès lors pour déclarer la valeur du jeton sans que celui-ci soit apparent dans le code ? @@ -49,7 +49,7 @@ L'exercice suivant permettra de découvrir comment ajouter de manière confident Tokens are personal information that should not be shared. There values are not meant to be present in the code. As mentioned multiple times in the [production deployment course](https://ensae-reproductibilite.github.io/website/) taught by Romain Avouac and myself in the third year, it is crucial to separate the code from configuration elements. -![](https://inseefrlab.github.io/formation-bonnes-pratiques-git-R/slides/img/environment_clean.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/inseefrlab-environment_clean.png) The idea is to find a way to include configuration elements with the code without exposing them directly in the code. The general approach is to store the token value in a variable without revealing it in the code. How can we declare the token value without making it visible in the code? diff --git a/content/manipulation/05_parquet/_exercise2.qmd b/content/manipulation/05_parquet/_exercise2.qmd index 18a2e75169..d1d02bd5f7 100644 --- a/content/manipulation/05_parquet/_exercise2.qmd +++ b/content/manipulation/05_parquet/_exercise2.qmd @@ -41,7 +41,7 @@ Avec l'évaluation différée, on obtient donc un processus en plusieurs temps: * `Arrow` ou `DuckDB` reçoit des instructions, les optimise, exécute les requêtes * Seules les données en sortie de cette chaîne sont renvoyées à `Python` -![](https://linogaliana.github.io/parquet-recensement-tutomate/img/duckdb-delegation1.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/linogaliana-duckdb-delegation1.png) :::: :::: {.content-visible when-profile="en"} @@ -90,5 +90,5 @@ With lazy evaluation, the process unfolds in several stages: * Only the final result of this pipeline is returned to `Python`, rather than the entire dataset. -![](https://linogaliana.github.io/parquet-recensement-tutomate/img/duckdb-delegation1.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/linogaliana-duckdb-delegation1.png) :::: diff --git a/content/manipulation/05_parquet_s3.qmd b/content/manipulation/05_parquet_s3.qmd index 38fb26f5b8..84b80a9343 100644 --- a/content/manipulation/05_parquet_s3.qmd +++ b/content/manipulation/05_parquet_s3.qmd @@ -351,7 +351,7 @@ La logique des bases de données est différente. Elle est plus systémique. Une Les données sont organisées en **tables** reliées par des **relations**, souvent selon un **schéma en étoile** : -![Source: [Documentation Databricks](https://www.databricks.com/fr/glossary/star-schema)](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png) +![Source: [Documentation Databricks](https://www.databricks.com/fr/glossary/star-schema)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/databricks-star-schema-erd.png) Le logiciel associé à la base de données fera ensuite le lien entre ces tables à partir de requêtes `SQL`. L'un des logiciels les plus efficaces dans ce domaine est [`PostgreSQL`](https://www.postgresql.org/). @@ -391,7 +391,7 @@ The logic behind databases differs fundamentally and is more systematic in natur Data is organized into **tables** connected by **relationships**, often structured according to a **star schema**: -![Source: [Databricks Documentation](https://www.databricks.com/fr/glossary/star-schema)](https://www.databricks.com/wp-content/uploads/2022/04/star-schema-erd.png) +![Source: [Databricks Documentation](https://www.databricks.com/fr/glossary/star-schema)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/databricks-star-schema-erd.png) The software managing the database links these tables together using `SQL` queries. One of the most powerful and widely used systems for this purpose is [`PostgreSQL`](https://www.postgresql.org/). diff --git a/content/modelisation/1_modelevaluation.qmd b/content/modelisation/1_modelevaluation.qmd index 6028c57a83..43d79db522 100644 --- a/content/modelisation/1_modelevaluation.qmd +++ b/content/modelisation/1_modelevaluation.qmd @@ -16,7 +16,7 @@ description: | La raison d'être du _machine learning_ est de chercher à créer des règles de décision qui ont de bonnes performances prédictives sur un nouvel échantillon. Pour éviter le surapprentissage, c'est-à-dire pour avoir un modèle ayant une bonne validité externe, outre la préparation des données vue dans le chapitre précédent, il sera nécessaire d'évaluer les modèles. Ce chapitre se plonge sur le sujet de l'évaluation des modèles et des enjeux de ceci. Cela permettra d'évoquer les enjeux de l'évaluation dans un cadre d'apprentissage supervisé comme non supervisé, de présenter la méthode de la validation croisée mais aussi d'ouvrir à des concepts comme le _data drift_ ou l'évaluation des modèles type LLM à l'état de l'art. description-en: | The purpose of machine learning is to create decision rules with good predictive performance on a new sample. To avoid overlearning, i.e. to have a model with good external validity, in addition to the data preparation seen in the previous chapter, it will be necessary to evaluate the models. This chapter delves into the subject of model evaluation and the issues involved. It will discuss the challenges of evaluation in both supervised and unsupervised learning environments, introduce the cross-validation method and open up to concepts such as _data drift_ and state-of-the-art LLM-type model evaluation. -image: https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Overfitting.svg/300px-Overfitting.svg.png +image: https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Overfitting.png --- {{< badges @@ -115,7 +115,7 @@ Il y a ainsi un compromis à faire entre biais et variance. Un modèle peu parci Par exemple, la ligne verte ci-dessous est trop dépendante des données et risque de produire une erreur plus importante que la ligne noire (qui moyennise plus) sur de nouvelles données. -![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Overfitting.svg/300px-Overfitting.svg.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Overfitting.png) La division entre échantillons d'apprentissage et de validation est une première réponse au défi du surapprentissage. Néanmoins, ce n'est pas le seul geste méthodologique pour avoir un bon modèle prédictif. @@ -127,7 +127,7 @@ There is thus a trade-off between bias and variance. A non-parsimonious model, m For example, the green line below is too dependent on the data and is likely to produce a larger error than the black line (which averages more) when applied to new data. -![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Overfitting.svg/300px-Overfitting.svg.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Overfitting.png) The division between training and validation samples is an initial response to the challenge of overfitting. However, it is not the only methodological step required to achieve a good predictive model. @@ -227,7 +227,7 @@ $$ Plus on augmente $c$, plus on est sélectif sur le critère d'appartenance à la classe. La précision, i.e. le taux de vrais positifs parmi les prédictions positives, augmente. Mais on augmente le nombre de positifs manqués (ce sont des faux négatifs). Autrement dit, quand on est pointilleux, on diminue le rappel. Pour chaque valeur de $c$ correspond une matrice de confusion et donc des mesures de performances. La **courbe ROC** consiste à faire varier $c$ de 0 à 1 et vérifier l'effet sur les performances : -![](https://glassboxmedicine.files.wordpress.com/2019/02/roc-curve-v2.png?w=576) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wordpress-roc-curve-v2.png) L'aire sous la courbe (**AUC**) permet d'évaluer quantitativement le meilleur modèle au sens de ce critère. L'AUC représente la probabilité que le modèle soit capable de distinguer entre la classe positive et négative. ::: @@ -236,7 +236,7 @@ L'aire sous la courbe (**AUC**) permet d'évaluer quantitativement le meilleur m The higher the value of $c$, the more selective the criterion for class membership becomes. Precision, i.e., the rate of true positives among positive predictions, increases. However, the number of missed positives (false negatives) also increases. In other words, being strict reduces recall. For each value of $c$, there corresponds a confusion matrix and thus performance measures. The **ROC curve** is obtained by varying $c$ from 0 to 1 and observing the effect on performance: -![](https://glassboxmedicine.files.wordpress.com/2019/02/roc-curve-v2.png?w=576) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wordpress-roc-curve-v2.png) The area under the curve (**AUC**) provides a quantitative evaluation of the best model according to this criterion. The AUC represents the probability that the model can distinguish between the positive and negative classes. ::: diff --git a/content/modelisation/2_classification.qmd b/content/modelisation/2_classification.qmd index af003dbfca..05150ea751 100644 --- a/content/modelisation/2_classification.qmd +++ b/content/modelisation/2_classification.qmd @@ -53,7 +53,7 @@ alors statistiquement on aura plutôt un vote démocrate. La @fig-iris-classification-fr illustre, de manière graphique, la manière dont un arbre de décision est construit comme une suite de choix binaires. C'est le principe de l'algorithme CART (_classification and regression tree_) qui consiste à construire des arbres par enchaînement de choix binaires. -![Exemple d'arbre de décision sur le jeu de données classique iris. Source: [Documentation de scikit-learn](https://scikit-learn.org/stable/modules/tree.html)](https://scikit-learn.org/stable/_images/iris.svg){#fig-iris-classification-fr} +![Exemple d'arbre de décision sur le jeu de données classique iris. Source: [Documentation de scikit-learn](https://scikit-learn.org/stable/modules/tree.html)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-iris.svg){#fig-iris-classification-fr} Dans cette situation, on voit qu'une première règle de décision parfaite permet de déterminer la classe _setosa_. Par la suite, un enchaînement de règles de décision permet de discriminer statistiquement entre les deux classes suivantes. :::: @@ -75,7 +75,7 @@ then, statistically, we are more likely to observe a Democratic vote. Figure @fig-iris-classification-en illustrates, graphically, how a decision tree is built as a sequence of binary choices. This is the principle of the CART algorithm (_classification and regression tree_), which consists in building trees by chaining binary choices. -![Example of a decision tree on the classic iris dataset. Source: [scikit-learn documentation](https://scikit-learn.org/stable/modules/tree.html)](https://scikit-learn.org/stable/_images/iris.svg){#fig-iris-classification-en fig-width="80%"} +![Example of a decision tree on the classic iris dataset. Source: [scikit-learn documentation](https://scikit-learn.org/stable/modules/tree.html)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-iris.svg){#fig-iris-classification-en fig-width="80%"} In this situation, we see that a first perfect decision rule makes it possible to determine the _setosa_ class. Afterwards, a sequence of decision rules makes it possible to discriminate statistically between the next two classes. :::: diff --git a/content/modelisation/5_clustering.qmd b/content/modelisation/5_clustering.qmd index 4071403f88..75c703cf7d 100644 --- a/content/modelisation/5_clustering.qmd +++ b/content/modelisation/5_clustering.qmd @@ -60,7 +60,7 @@ Rappel: l'arbre de décision des méthodes `Scikit` -![](https://upload.wikimedia.org/wikipedia/commons/a/a4/Scikit-learn_machine_learning_decision_tree.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Scikit-learn_machine_learning_decision_tree.png)
    ::: @@ -121,7 +121,7 @@ Reminder: The Decision Tree of `Scikit` Methods -![](https://upload.wikimedia.org/wikipedia/commons/a/a4/Scikit-learn_machine_learning_decision_tree.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Scikit-learn_machine_learning_decision_tree.png)
    ::: @@ -173,7 +173,7 @@ L'objectif des *k-means* est de partitionner l'espace des observations en trouva L'algorithme *k-means* fonctionne par itération, en initialisant les centroïdes puis en les mettant à jour à chaque itération, jusqu'à ce que les centroïdes se stabilisent. Quelques exemples de *clusters* issus de la méthode *k-means* : -![](https://scikit-learn.org/stable/_images/sphx_glr_plot_kmeans_assumptions_001.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-sphx_glr_plot_kmeans_assumptions_001.png) ::: {.callout-tip} @@ -198,7 +198,7 @@ d'imports de packages, pour gagner du temps. The objective of *k-means* is to partition the observation space by finding points (*centroids*) that act as centers of gravity around which nearby observations can be grouped into homogeneous classes. The *k-means* algorithm works iteratively, initializing the centroids and then updating them at each iteration until the centroids stabilize. Here are some examples of *clusters* resulting from the *k-means* method: -![](https://scikit-learn.org/stable/_images/sphx_glr_plot_kmeans_assumptions_001.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-sphx_glr_plot_kmeans_assumptions_001.png) ::: {.callout-tip} diff --git a/content/modelisation/6_pipeline.qmd b/content/modelisation/6_pipeline.qmd index fafe185dd5..0cf7c8ab26 100644 --- a/content/modelisation/6_pipeline.qmd +++ b/content/modelisation/6_pipeline.qmd @@ -435,7 +435,7 @@ règle d'agrégation pour en tirer une règle moyennisée et donc une prédictio Le _boosting_ fonctionne selon un principe différent, basé sur l'optimisation de combinaisons de classifieurs faibles. -![](https://miro.medium.com/v2/resize:fit:720/format:webp/1*jE1Cb1Dc_p9WEOPMkC95WQ.png) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/miro-1-jE1Cb1Dc_p9WEOPMkC95WQ.webp) L'un des intérêts des *random forest* est qu'il existe des méthodes pour déterminer diff --git a/content/modelisation/index.qmd b/content/modelisation/index.qmd index c99da0d9f9..47c987bff5 100644 --- a/content/modelisation/index.qmd +++ b/content/modelisation/index.qmd @@ -590,7 +590,7 @@ pour pouvoir appliquer des métriques simples et stables. En résumé, l'aide-mémoire suivante, issue de l'aide de `Scikit-Learn`, peut déjà donner de premiers enseignements sur les différentes familles de modèles : ::: {#fig-algos-scikit} -![](https://scikit-learn.org/stable/_downloads/b82bf6cd7438a351f19fac60fbc0d927/ml_map.svg) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-ml_map.svg) Une _cheatsheet_ des algorithmes disponibles dans [`Scikit-Learn`](https://scikit-learn.org) ::: @@ -618,7 +618,7 @@ Performance metrics typically use the proportion of correct or incorrect classif In summary, the following cheat sheet, taken from `Scikit-Learn` documentation, provides an initial overview of the different model families: ::: {#fig-algos-scikit} -![](https://scikit-learn.org/stable/_downloads/b82bf6cd7438a351f19fac60fbc0d927/ml_map.svg) +![](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/scikit-learn-ml_map.svg) A cheatsheet of algorithms available in [`Scikit-Learn`](https://scikit-learn.org) ::: diff --git a/content/visualisation/01_matplotlib/_matplotlib_principle.qmd b/content/visualisation/01_matplotlib/_matplotlib_principle.qmd index eb0f4aea8a..63727c7f71 100644 --- a/content/visualisation/01_matplotlib/_matplotlib_principle.qmd +++ b/content/visualisation/01_matplotlib/_matplotlib_principle.qmd @@ -7,7 +7,7 @@ [^chatGPT]: Heureusement, comme il existe un énorme corpus de code en ligne utilisant `matplotlib`, les assistants de code comme `ChatGPT` ou `Github Copilot` sont précieux pour construire un graphique à partir d'instructions. -![Comprendre l'architecture d'une figure `matplotlib` (Source: [documentation officielle](https://matplotlib.org/stable/users/explain/quick_start.html))](https://matplotlib.org/stable/_images/anatomy.png){#fig-matplotlib width=50%} +![Comprendre l'architecture d'une figure `matplotlib` (Source: [documentation officielle](https://matplotlib.org/stable/users/explain/quick_start.html))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/matplotlib-anatomy.png){#fig-matplotlib width=50%} En pratique, il existe deux manières de créer et mettre à jour sa figure selon qu'on préfère passer par: @@ -24,7 +24,7 @@ En pratique, il existe deux manières de créer et mettre à jour sa figure selo [^chatGPT-en]: Thankfully, with a vast amount of online code using `matplotlib`, code assistants like `ChatGPT` or `Github Copilot` are invaluable for creating charts based on instructions. -![Understanding the Anatomy of a `matplotlib` Figure (Source: [Official Documentation](https://matplotlib.org/stable/users/explain/quick_start.html))](https://matplotlib.org/stable/_images/anatomy.png){#fig-matplotlib} +![Understanding the Anatomy of a `matplotlib` Figure (Source: [Official Documentation](https://matplotlib.org/stable/users/explain/quick_start.html))](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/matplotlib-anatomy.png){#fig-matplotlib} In practice, there are two ways to create and update your figure, depending on your preference: diff --git a/content/visualisation/01_matplotlib/_plotnine.qmd b/content/visualisation/01_matplotlib/_plotnine.qmd index f36934c5f4..4b050fdb91 100644 --- a/content/visualisation/01_matplotlib/_plotnine.qmd +++ b/content/visualisation/01_matplotlib/_plotnine.qmd @@ -5,7 +5,7 @@ Dans cette approche, un graphique est vu comme une succession de couches qui, une fois superposées, donneront la figure suivante. En soi, ce principe n'est pas différent de celui de `matplotlib`. Néanmoins, la grammaire utilisée par `plotnine` est beaucoup plus intuitive et normalisée, ce qui offrira beaucoup plus d'autonomie pour modifier sa figure. -![La logique de `ggplot` (et `plotnine`) image empruntée à [Andrew Heiss {{< fa arrow-up-right-from-square >}}](https://datavizf24.classes.andrewheiss.com/lesson/04-lesson.html#changing-colors-shapes-and-sizes-with-scale_){target="_blank"}](https://datavizf24.classes.andrewheiss.com/slides/img/03/ggplot-layers@4x.png){width=60%} +![La logique de `ggplot` (et `plotnine`) image empruntée à [Andrew Heiss {{< fa arrow-up-right-from-square >}}](https://datavizf24.classes.andrewheiss.com/lesson/04-lesson.html#changing-colors-shapes-and-sizes-with-scale_){target="_blank"}](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/datavizf24-ggplot-layers-4x.png){width=60%} Avec `plotnine`, il n'y a plus de point d'entrée dual figure-axe. Comme l'illustrent les slides ci-dessous : @@ -20,7 +20,7 @@ Avec `plotnine`, il n'y a plus de point d'entrée dual figure-axe. Comme l'illus `plotnine` is the newcomer to the `Python` visualization ecosystem. This library is developed by `Posit`, the company behind the `RStudio` editor and the _tidyverse_ ecosystem, which is central to the `R` language. This library aims to bring the logic of `ggplot` to `Python`, meaning a standardized, readable, and flexible grammar of graphics inspired by @wilkinson2011grammar. In this approach, a chart is viewed as a succession of layers that, when combined, create the final figure. This principle is not inherently different from that of `matplotlib`. However, the grammar used by `plotnine` is far more intuitive and standardized, offering much more autonomy for modifying a chart. -![`ggplot` (and `plotnine`) logic, picture borrowed to [Andrew Heiss {{< fa arrow-up-right-from-square >}}](https://datavizf24.classes.andrewheiss.com/lesson/04-lesson.html#changing-colors-shapes-and-sizes-with-scale_){target="_blank"}](https://datavizf24.classes.andrewheiss.com/slides/img/03/ggplot-layers@4x.png){width=60%} +![`ggplot` (and `plotnine`) logic, picture borrowed to [Andrew Heiss {{< fa arrow-up-right-from-square >}}](https://datavizf24.classes.andrewheiss.com/lesson/04-lesson.html#changing-colors-shapes-and-sizes-with-scale_){target="_blank"}](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/datavizf24-ggplot-layers-4x.png){width=60%} With `plotnine`, there is no longer a dual figure-axis entry point. As illustrated in the slides below: diff --git a/content/visualisation/02_maps/_intro.qmd b/content/visualisation/02_maps/_intro.qmd index 7d5e9b42fd..18b5b58f89 100644 --- a/content/visualisation/02_maps/_intro.qmd +++ b/content/visualisation/02_maps/_intro.qmd @@ -7,7 +7,7 @@ La cartographie est l'une des plus anciennes représentations d'informations sou D'après @chen2008brief, la première représentation de ce type a été proposée par Charles Dupin en 1826 [@fig-dupin] pour représenter les niveaux d'instruction sur le territoire français. L'émergence des cartes choroplèthes est en effet indissociable de l'organisation du pouvoir sous forme d'entités politiques supposées unitaires. Par exemple, les cartes du monde représentent souvent des aplats de couleurs à partir des nations, les cartes nationales à partir d'échelons administratifs (régions, départements, communes, mais aussi États ou _Länder_). -![La première carte choroplèthe par Dupin (1826)](https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg/800px-Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg){#fig-dupin width="50%" fig-align="center"} +![La première carte choroplèthe par Dupin (1826)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Carte_figurative_de_l-instruction_populaire_de_la_France.jpg){#fig-dupin width="50%" fig-align="center"} On peut voir l'émergence pendant le XIXe siècle de la carte choroplèthe comme un moment important de la cartographie, un glissement de l'usage militaire vers l'usage politique. Il ne s'agissait plus exclusivement de représenter le territoire physique mais aussi la réalité socioéconomique, dans des bornes administratives connues de tous. @@ -33,7 +33,7 @@ Cartography is one of the oldest forms of graphical representation of informatio According to @chen2008brief, the first representation of this type was proposed by Charles Dupin in 1826 [@fig-dupin] to illustrate literacy levels across France. The rise of choropleth maps is closely linked to the organization of power through unitary political entities. For instance, world maps often use color shades to represent nations, while national maps use administrative divisions (regions, departments, municipalities, as well as states or _Länder_). -![The first choropleth map by Dupin (1826)](https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg/800px-Carte_figurative_de_l%27instruction_populaire_de_la_France.jpg){#fig-dupin width="50%" fig-align="center"} +![The first choropleth map by Dupin (1826)](https://minio.lab.sspcloud.fr/lgaliana/ensae/python/img/wikimedia-Carte_figurative_de_l-instruction_populaire_de_la_France.jpg){#fig-dupin width="50%" fig-align="center"} The emergence of choropleth maps during the 19th century marks an important shift in cartography, transitioning from military use to political application. No longer limited to depicting physical terrain, maps began to represent socioeconomic realities within well-defined administrative boundaries. diff --git a/fonts/JetBrainsMono-Bold.ttf b/fonts/JetBrainsMono-Bold.ttf new file mode 100644 index 0000000000..9dfca3287f Binary files /dev/null and b/fonts/JetBrainsMono-Bold.ttf differ diff --git a/fonts/JetBrainsMono-BoldItalic.ttf b/fonts/JetBrainsMono-BoldItalic.ttf new file mode 100644 index 0000000000..ee9298ba68 Binary files /dev/null and b/fonts/JetBrainsMono-BoldItalic.ttf differ diff --git a/fonts/JetBrainsMono-Italic.ttf b/fonts/JetBrainsMono-Italic.ttf new file mode 100644 index 0000000000..b0cb4c3acc Binary files /dev/null and b/fonts/JetBrainsMono-Italic.ttf differ diff --git a/fonts/JetBrainsMono-Regular.ttf b/fonts/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000000..3a4195e995 Binary files /dev/null and b/fonts/JetBrainsMono-Regular.ttf differ diff --git a/fonts/NotoColorEmoji.ttf b/fonts/NotoColorEmoji.ttf new file mode 100644 index 0000000000..fa652d40a5 Binary files /dev/null and b/fonts/NotoColorEmoji.ttf differ diff --git a/fonts/README.md b/fonts/README.md new file mode 100644 index 0000000000..429ba598c4 --- /dev/null +++ b/fonts/README.md @@ -0,0 +1,18 @@ +# Polices pour la sortie Typst / PDF + +Typst n'embarque ni JetBrains Mono ni de police d'emoji (le texte courant utilise +Libertinus Serif, intégrée à Typst). Ce dossier est +référencé par `font-paths` dans la section `format: typst` de `_quarto.yml` +(et de `_quarto-prod.yml`, `_quarto-test.yml`). Voir `styles/typst/README.md`. + +- `JetBrainsMono-*.ttf` (Regular, Italic, Bold, BoldItalic): + [JetBrains Mono](https://www.jetbrains.com/lp/mono/), licence SIL OFL 1.1. + Police du code, comme sur le site. +- `NotoColorEmoji.ttf`: [Noto Color Emoji](https://github.com/googlefonts/noto-emoji) + (v2.051), licence SIL OFL 1.1. Twemoji Mozilla, plus légère (1,4 Mo), a été + écartée: elle n'affiche pas les emoji-chiffres (1️⃣, 2️⃣…) utilisés dans les + exercices. + +Les icônes `Font Awesome` des encadrés viennent de Quarto (Typst les charge +avec ses polices intégrées); l'extension `quarto-ext/fontawesome` ne gère pas +le shortcode `{{< fa >}}` en Typst. diff --git a/reference.bib b/reference.bib index 683d0a4312..61eae90b1d 100644 --- a/reference.bib +++ b/reference.bib @@ -192,15 +192,6 @@ @book{geron2022hands publisher={" O'Reilly Media, Inc."} } -@article{chen2008brief, - title={A brief history of data visualization}, - author={Chen, Chun-houh and H{\"a}rdle, Wolfgang and Unwin, Antony and Friendly, Michael}, - journal={Handbook of data visualization}, - pages={15--56}, - year={2008}, - publisher={Springer} -} - @article{breiman2001random, title={Random forests}, author={Breiman, Leo}, diff --git a/styles/typst/README.md b/styles/typst/README.md new file mode 100644 index 0000000000..afcc0e9320 --- /dev/null +++ b/styles/typst/README.md @@ -0,0 +1,52 @@ +# Template Typst des chapitres (PDF) + +Mise en forme des chapitres compilés avec `quarto render --to typst`. La config +est dans `format: typst:` de `_quarto.yml`, `_quarto-prod.yml` et +`_quarto-test.yml` (les trois doivent rester alignées). + +| Fichier | Rôle | +|---|---| +| `typst-template.typ` | Partial Quarto `typst-template.typ`: palette (`ds-*`), polices, titres, bloc de titre (titre, filet, auteur·date, description en chapeau), table des matières | +| `typst-show.typ` | Partial Quarto `typst-show.typ`: transmet les métadonnées, dont `description`, à `article()` | +| `page.typ` | Partial Quarto `page.typ`: A4, en-tête (titre du chapitre + adresse du site, sauf page 1), pied de page « n / N », marges de notes | +| `style.typ` | Chargé via `include-in-header`: blocs de code, code en ligne, encadrés, notes, figures, tableaux, citations | +| `inline-code.lua` | Filtre (Typst uniquement): envoie le code en ligne à `ds-inline` de `style.typ` | + +## Choix + +- Typographie d'article scientifique: Libertinus Serif (intégrée à Typst) en + 10,5 pt, texte justifié avec césure, titres en gras sans filet, bloc de titre + centré avec la description en résumé. Code en JetBrains Mono (`fonts/`, repli + sur DejaVu Sans Mono). +- Page A4, marges symétriques de 3 cm (texte de 15 cm). Les `.aside` du site, + que Quarto émet comme notes de marge (`#note` de marginalia, avec une colonne + réservée à droite), sont redéfinis en encadrés discrets dans le texte. +- Tableaux à 7 colonnes ou plus (DataFrame de `pandas`): ils débordent de 1,5 cm + dans chaque marge puis sont réduits à la largeur disponible. + Sans cela, les colonnes `auto` ne peuvent pas passer à la ligne au milieu d'un + nombre et les valeurs se chevauchent. Ils ne sont pas sécables d'une page à l'autre. +- Encadrés (`callout`) sécables d'une page à l'autre: sans cela un encadré plus + haut que la page débordait sur le pied de page. + +- Première page: titre, auteur, « Version du » (`date: today` au moment du + rendu, `date-format: long`), résumé, puis un avertissement (PDF généré + automatiquement, renvoi vers pythonds.linogaliana.fr) avant la table des matières. +- Blocs de code sur fond sombre (thème `atom-one-dark`, réglé par `highlight-style` + dans `format: typst`, et fond fixé dans `Skylighting` de `style.typ`). Le code en + ligne est en rouge sur fond gris clair: comme la coloration de pandoc utilise les + couleurs du thème sombre (invisibles sur la page blanche), `inline-code.lua` + l'écrit lui-même au lieu de la laisser faire. Si on change de thème, ajuster le + fond de `Skylighting` et la couleur de base du texte qui y est définie. + +## Points d'attention + +- `callout` est redéfini dans `style.typ`. Quarto réassemble le titre des encadrés + numérotés en parcourant sa structure (`body.children`): ne pas y ajouter de + `#set` ni d'enveloppe autour du titre. +- Les constantes `ds-*` sont définies dans `typst-template.typ`, avant + `page.typ` et `style.typ` dans l'ordre d'assemblage de Quarto, et ne sont + visibles que par ce qui est défini après elles. +- Dans une partial Pandoc, un `$` littéral doit s'écrire `$$`. +- Le PDF d'un fichier absent de la liste `render:` s'obtient avec + `--profile prod`: sinon Quarto le traite comme un rendu isolé et Typst refuse + `../../reference.bib`. diff --git a/styles/typst/inline-code.lua b/styles/typst/inline-code.lua new file mode 100644 index 0000000000..3fc3aa8bee --- /dev/null +++ b/styles/typst/inline-code.lua @@ -0,0 +1,19 @@ +-- Sortie Typst: le code en ligne (`toto`) est confié à `ds-inline` (styles/typst/style.typ) +-- plutôt qu'à la coloration syntaxique de pandoc, dont les couleurs sont celles du +-- thème sombre des blocs de code. +if not quarto.doc.is_format("typst") then + return {} +end + +local function typst_string(s) + s = s:gsub("\\", "\\\\"):gsub('"', '\\"'):gsub("\n", " ") + return '"' .. s .. '"' +end + +return { + { + Code = function(el) + return pandoc.RawInline("typst", "#ds-inline(" .. typst_string(el.text) .. ")") + end, + }, +} diff --git a/styles/typst/page.typ b/styles/typst/page.typ new file mode 100644 index 0000000000..3a8c3fc5cf --- /dev/null +++ b/styles/typst/page.typ @@ -0,0 +1,36 @@ +#set page( + paper: $if(papersize)$"$papersize$"$else$"a4"$endif$, +$if(margin)$ + margin: ($for(margin/pairs)$$margin.key$: $margin.value$,$endfor$), +$else$ + margin: (x: 3cm, y: 2.4cm), +$endif$ + numbering: $if(page-numbering)$"$page-numbering$"$else$"1"$endif$, + columns: $if(columns)$$columns$$else$1$endif$, + // En-tête (sauf page de titre): titre du chapitre et adresse du site + header: context { + if counter(page).get().first() > 1 { + set text(size: 8pt, fill: ds-muted) + grid( + columns: (1fr, auto), + column-gutter: 1em, +$if(title)$ + [$title$], +$else$ + [], +$endif$ + [pythonds.linogaliana.fr], + ) + v(-0.5em) + line(length: 100%, stroke: 0.4pt + ds-rule) + } + }, + header-ascent: 35%, + footer: context { + set text(size: 8pt, fill: ds-muted) + align(center)[#counter(page).display() / #counter(page).final().first()] + }, +) +$if(logo)$ +#set page(background: align($logo.location$, box(inset: $logo.inset$, image("$logo.path$", width: $logo.width$$if(logo.alt)$, alt: "$logo.alt$"$endif$)))) +$endif$ diff --git a/styles/typst/style.typ b/styles/typst/style.typ new file mode 100644 index 0000000000..3550e92273 --- /dev/null +++ b/styles/typst/style.typ @@ -0,0 +1,133 @@ +// Mise en forme des éléments du corps du texte (inclus via `include-in-header`, +// donc après les définitions de Quarto et avant le contenu). Les redéfinitions +// `#let` ci-dessous remplacent celles de Quarto pour tout ce qui suit. + +// Blocs de code (coloration de pandoc, thème `atom-one-dark` défini dans +// `highlight-style`): fond sombre. Les sorties de cellules restent sur fond clair. +#let Skylighting(fill: none, number: false, start: 1, sourcelines) = { + let blocks = [] + let lnum = start - 1 + for ln in sourcelines { + if number { + lnum = lnum + 1 + blocks = blocks + box(width: if start + sourcelines.len() > 999 { 30pt } else { 24pt }, text(fill: rgb("#636D83"), [ #lnum ])) + } + blocks = blocks + ln + EndLine() + } + block( + fill: rgb("#282C34"), + width: 100%, + inset: (x: 10pt, y: 9pt), + radius: 3pt, + above: 1em, + below: 1em, + text(fill: rgb("#ABB2BF"), blocks), + ) +} + +// Sorties de cellules et blocs de code sans coloration +#show raw.where(block: true): set block( + fill: rgb("#F6F8FA"), + stroke: 0.5pt + ds-rule, + width: 100%, + inset: (x: 10pt, y: 8pt), + radius: 3pt, +) + +// Code en ligne (`toto`): couleur et léger fond, sécable en fin de ligne. +// Appelé par le filtre inline-code.lua, qui court-circuite la coloration de +// pandoc (dont les couleurs, prévues pour fond sombre, seraient invisibles ici). +#let ds-inline(s) = highlight( + fill: rgb("#F3F4F6"), + extent: 1.5pt, + radius: 2pt, + text(fill: rgb("#B0304F"), raw(s)), +) + +// Encadrés (callouts): même structure que celle de Quarto (sa règle d'assemblage +// des titres en dépend: ne pas ajouter de `set` ni d'enveloppe), mais sécables d'une page à l'autre (sinon +// un encadré plus haut que la page déborde) et avec plus d'espace autour. +#let callout(body: [], title: "Callout", background_color: rgb("#dddddd"), icon: none, icon_color: black, body_background_color: white) = { + block( + breakable: true, + above: 1.2em, + below: 1.2em, + fill: background_color, + stroke: (paint: icon_color, thickness: 0.6pt, cap: "round"), + width: 100%, + radius: 3pt, + block( + inset: 1pt, + width: 100%, + below: 0pt, + block( + fill: background_color, + width: 100%, + inset: (x: 10pt, y: 7pt))[#if icon != none [#text(icon_color, weight: 900)[#icon] ]#title]) + + if(body != []){ + block( + inset: 1pt, + width: 100%, + block(fill: body_background_color, width: 100%, inset: (x: 10pt, y: 8pt), body)) + } + ) +} + +// Figures: légende discrète et centrée +#show figure: set block(above: 1.4em, below: 1.4em) +#show figure.caption: set text(size: 0.88em, fill: ds-muted) + +// Citations en bloc +#show quote.where(block: true): it => block( + width: 100%, + inset: (left: 1em, y: 0.3em), + stroke: (left: 3pt + ds-rule), + text(fill: ds-muted, it.body), +) + +// Tableaux: en-tête grisé, filets horizontaux fins +#set table( + inset: (x: 8pt, y: 5pt), + stroke: (x, y) => ( + top: if y == 0 { 0.8pt + ds-ink } else { none }, + bottom: if y == 0 { 0.6pt + ds-ink } else { 0.4pt + ds-rule }, + ), + fill: (x, y) => if y == 0 { ds-soft } else { none }, +) +#show table.cell.where(y: 0): set text(weight: "semibold") +#show table: set text(size: 0.92em) + +// Notes de marge (`.aside` du site): Quarto les émet comme `#note(...)[...]` de +// marginalia, qui réserve une colonne à droite de toutes les pages. On les rend +// en encadré discret dans le texte, pour garder des marges symétriques. +#let note(body, ..args) = block( + width: 100%, + above: 0.9em, + below: 0.9em, + inset: (left: 0.9em, y: 0.3em), + stroke: (left: 2.5pt + ds-rule), + { + set text(size: 0.9em, fill: ds-muted) + set par(justify: false) + body + }, +) + +// Tableaux larges (DataFrame de `pandas` à une dizaine de colonnes): sans cela +// les colonnes `auto` ne peuvent pas passer à la ligne au milieu d'un nombre et +// les valeurs se chevauchent. On les laisse déborder de 1,5 cm dans chaque marge, +// puis on les réduit s'ils sont encore trop larges. +#show table: it => { + let ncols = if type(it.columns) == int { it.columns } else if type(it.columns) == array { it.columns.len() } else { 1 } + if ncols < 7 { return it } + pad(x: -1.5cm, layout(size => { + let small = { set text(size: 0.85em, hyphenate: false); it } + let natural = measure(small) + if natural.width > size.width { + let k = size.width / natural.width + scale(x: k * 100%, y: k * 100%, origin: top + left, reflow: true, small) + } else { + small + } + })) +} diff --git a/styles/typst/typst-show.typ b/styles/typst/typst-show.typ new file mode 100644 index 0000000000..ff93549a2f --- /dev/null +++ b/styles/typst/typst-show.typ @@ -0,0 +1,79 @@ +#show: doc => article( +$if(title)$ + title: [$title$], +$endif$ +$if(subtitle)$ + subtitle: [$subtitle$], +$endif$ +$if(by-author)$ + authors: ( +$for(by-author)$ +$if(it.name.literal)$ + ( name: [$it.name.literal$], + affiliation: [$for(it.affiliations)$$it.name$$sep$, $endfor$], + email: [$it.email$] ), +$endif$ +$endfor$ + ), +$endif$ +$if(date)$ + date: [$date$], +$endif$ +$if(description)$ + description: [$description$], +$endif$ +$if(lang)$ + lang: "$lang$", +$endif$ +$if(region)$ + region: "$region$", +$endif$ +$if(abstract)$ + abstract: [$abstract$], + abstract-title: "$labels.abstract$", +$endif$ +$if(mainfont)$ + font: ("$mainfont$",), +$endif$ +$if(fontsize)$ + fontsize: $fontsize$, +$endif$ +$if(section-numbering)$ + sectionnumbering: "$section-numbering$", +$endif$ +$if(mathfont)$ + mathfont: ($for(mathfont)$"$mathfont$",$endfor$), +$endif$ +$if(codefont)$ + codefont: ($for(codefont)$"$codefont$",$endfor$), +$endif$ +$if(linestretch)$ + linestretch: $linestretch$, +$endif$ +$if(thanks)$ + thanks: [$thanks$], +$endif$ +$if(linkcolor)$ + linkcolor: [$linkcolor$], +$endif$ +$if(citecolor)$ + citecolor: [$citecolor$], +$endif$ +$if(filecolor)$ + filecolor: [$filecolor$], +$endif$ +$if(keywords)$ + keywords: ($for(keywords)$"$keywords$",$endfor$), +$endif$ +$if(toc)$ + toc: $toc$, +$endif$ +$if(toc-title)$ + toc_title: [$toc-title$], +$endif$ +$if(toc-indent)$ + toc_indent: $toc-indent$, +$endif$ + toc_depth: $toc-depth$, + doc, +) diff --git a/styles/typst/typst-template.typ b/styles/typst/typst-template.typ new file mode 100644 index 0000000000..6d6cc73cd3 --- /dev/null +++ b/styles/typst/typst-template.typ @@ -0,0 +1,195 @@ +// Gabarit des chapitres compilés en Typst / PDF (voir styles/typst/README.md). +// Remplace la partial `typst-template.typ` de Quarto: mêmes paramètres, plus +// `description`, et une mise en page pensée pour la lecture d'un chapitre long. + +// Palette, alignée sur celle du site (styles/custom*.scss et git-sandbox) +#let ds-ink = rgb("#22384C") // titres +#let ds-accent = rgb("#447099") // filets, liens +#let ds-soft = rgb("#F3F6F8") // fonds discrets +#let ds-muted = rgb("#5B6770") // métadonnées, légendes +#let ds-rule = rgb("#D0DBE5") // filets fins + +#let ds-body-font = ("Libertinus Serif",) +#let ds-code-font = ("JetBrains Mono", "DejaVu Sans Mono") + +#let article( + title: none, + subtitle: none, + authors: none, + keywords: (), + date: none, + abstract-title: none, + abstract: none, + description: none, + thanks: none, + cols: 1, + lang: "en", + region: "US", + font: none, + fontsize: 10.5pt, + title-size: 1.9em, + subtitle-size: 1.25em, + heading-family: none, + heading-weight: "bold", + heading-style: "normal", + heading-color: black, + heading-line-height: 0.65em, + mathfont: none, + codefont: none, + linestretch: 1.25, + sectionnumbering: none, + linkcolor: none, + citecolor: none, + filecolor: none, + toc: false, + toc_title: none, + toc_depth: none, + toc_indent: 1.2em, + doc, +) = { + // Métadonnées du PDF (accessibilité) + set document(title: title, keywords: keywords) + set document( + author: authors.map(author => content-to-string(author.name)).join(", ", last: " & "), + ) if authors != none and authors != () + + // Texte courant: police à empattements, justifié avec césure (typographie + // d'article scientifique). + let body-font = if font != none { font } else { ds-body-font } + set text( + lang: lang, + region: region, + size: fontsize, + font: body-font, + hyphenate: true, + fill: rgb("#1E2226"), + ) + set par(justify: true, leading: linestretch * 0.5em, spacing: 0.95em) + show math.equation: set text(font: mathfont) if mathfont != none + show raw: set text(font: if codefont != none { codefont } else { ds-code-font }, size: 0.85em) + + // Listes plus aérées + set list(indent: 0.4em, body-indent: 0.6em, spacing: 0.75em) + set enum(indent: 0.4em, body-indent: 0.6em, spacing: 0.75em) + + // Titres: sobres, en gras, couleur encre; jamais isolés en bas de page + set heading(numbering: sectionnumbering) + show heading: it => { + let sizes = (1.45em, 1.2em, 1.05em, 1em) + let size = sizes.at(calc.min(it.level, sizes.len()) - 1) + set text(fill: ds-ink, weight: if it.level <= 2 { heading-weight } else { "semibold" }, size: size) + set par(leading: 0.45em, justify: false) + let content = { + if it.numbering != none { + counter(heading).display(it.numbering) + h(0.6em) + } + it.body + } + if it.level == 1 { + block(above: 2.1em, below: 1.3em, sticky: true, content) + } else if it.level >= 3 { + block(above: 1.5em, below: 1.05em, sticky: true, text(style: "italic", content)) + } else { + block(above: 1.8em, below: 1.2em, sticky: true, content) + } + } + + // Liens + show link: set text(fill: if linkcolor != none { rgb(content-to-string(linkcolor)) } else { ds-accent }) + show ref: set text(fill: rgb(content-to-string(citecolor))) if citecolor != none + show link: this => { + if filecolor != none and type(this.dest) == label { + text(this, fill: rgb(content-to-string(filecolor))) + } else { + text(this) + } + } + + // Bloc de titre centré: titre, auteur · date, puis la description en résumé + let has-title-block = title != none or (authors != none and authors != ()) or date != none or abstract != none + if has-title-block { + block(width: 100%, above: 0pt, below: 1.8em, { + set par(leading: 0.4em, justify: false) + align(center, { + if title != none { + text(size: title-size, weight: "bold", fill: ds-ink)[#title #if thanks != none { + footnote(thanks, numbering: "*") + counter(footnote).update(n => n - 1) + }] + if subtitle != none { + linebreak() + text(size: subtitle-size, fill: ds-muted)[#subtitle] + } + v(0.8em) + } + if authors != none and authors != () { + v(0.2em) + text(size: 1.1em, weight: "semibold")[#authors.map(author => author.name).join([, ], last: [ & ])] + } + if date != none { + linebreak() + text(size: 0.95em, fill: ds-muted)[#if lang == "en" [Version of] else [Version du] #date] + } + }) + if description != none { + v(1.1em) + pad(x: 1.2cm, { + set text(size: 0.95em) + set par(justify: true) + description + }) + } + if abstract != none { + v(1em) + pad(x: 1.2cm)[#text(weight: "semibold")[#abstract-title] #h(1em) #abstract] + } + v(0.9em) + line(length: 100%, stroke: 0.5pt + ds-rule) + }) + } + + // Avertissement: PDF généré automatiquement + block( + width: 100%, + above: 0pt, + below: 1.6em, + breakable: false, + fill: rgb("#FFF7E8"), + stroke: (left: 3pt + rgb("#E8A33D"), rest: 0.5pt + rgb("#F0D9AE")), + inset: (x: 11pt, y: 9pt), + radius: 3pt, + )[ + #set text(size: 0.93em) + #set par(justify: false) + #if lang == "en" [ + *⚠️ Automatically generated PDF.* This document is produced from the course + website and may contain formatting issues. For an up-to-date version adapted + to your reading, visit the course page: + #link("https://pythonds.linogaliana.fr")[pythonds.linogaliana.fr]. + ] else [ + *⚠️ PDF généré automatiquement.* Ce document est produit à partir du site du + cours et peut présenter des problèmes de mise en forme. Pour une version à + jour et adaptée à la lecture, consultez la page du cours : + #link("https://pythonds.linogaliana.fr")[pythonds.linogaliana.fr]. + ] + ] + + // Table des matières + if toc { + show outline.entry.where(level: 1): it => { + v(0.55em, weak: true) + strong(it) + } + show outline.entry: set text(size: 0.94em) + block(above: 0em, below: 2.2em, { + // Titre en texte simple: `outline(title:)` en ferait un titre de niveau 1 (filet, grande taille) + if toc_title != none { + block(below: 0.8em, text(size: 1.15em, weight: "semibold", fill: ds-ink, toc_title)) + } + outline(title: none, depth: toc_depth, indent: toc_indent) + }) + } + + doc +}