Date: Tue, 19 Sep 2017 21:27:29 +0000
Subject: redo #4500 with customEmojis (#5016)
---
app/javascript/mastodon/emoji.js | 66 ++++++++++++++++++----------------------
1 file changed, 29 insertions(+), 37 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/emoji.js b/app/javascript/mastodon/emoji.js
index 865b85b61..e586a3442 100644
--- a/app/javascript/mastodon/emoji.js
+++ b/app/javascript/mastodon/emoji.js
@@ -4,47 +4,39 @@ import Trie from 'substring-trie';
const trie = new Trie(Object.keys(unicodeMapping));
const emojify = (str, customEmojis = {}) => {
- // This walks through the string from start to end, ignoring any tags (, , etc.)
- // and replacing valid unicode strings
- // that _aren't_ within tags with an version.
- // The goal is to be the same as an emojione.regUnicode replacement, but faster.
- let i = -1;
- let insideTag = false;
- let insideShortname = false;
- let shortnameStartIndex = -1;
- let match;
- while (++i < str.length) {
- const char = str.charAt(i);
- if (insideShortname && char === ':') {
- const shortname = str.substring(shortnameStartIndex, i + 1);
- if (shortname in customEmojis) {
- const replacement = ` `;
- str = str.substring(0, shortnameStartIndex) + replacement + str.substring(i + 1);
- i += (replacement.length - shortname.length - 1); // jump ahead the length we've added to the string
+ let rtn = '';
+ for (;;) {
+ let match, i = 0, tag;
+ while (i < str.length && (tag = '<&:'.indexOf(str[i])) === -1 && !(match = trie.search(str.slice(i)))) {
+ i += str.codePointAt(i) < 65536 ? 1 : 2;
+ }
+ if (i === str.length)
+ break;
+ else if (tag >= 0) {
+ let tagend = str.indexOf('>;:'[tag], i + 1) + 1;
+ if (!tagend)
+ break;
+ if (str[i] === ':') {
+ const shortname = str.slice(i, tagend);
+ const lt = str.indexOf('<', i + 1);
+ if ((lt === -1 || lt >= tagend) && shortname in customEmojis) {
+ rtn += str.slice(0, i) + ` `;
+ str = str.slice(tagend);
+ } else {
+ rtn += str.slice(0, i + 1);
+ str = str.slice(i + 1);
+ }
} else {
- i--;
- }
- insideShortname = false;
- } else if (insideTag && char === '>') {
- insideTag = false;
- } else if (char === '<') {
- insideTag = true;
- insideShortname = false;
- } else if (!insideTag && char === ':') {
- insideShortname = true;
- shortnameStartIndex = i;
- } else if (!insideTag && (match = trie.search(str.substring(i)))) {
- const unicodeStr = match;
- if (unicodeStr in unicodeMapping) {
- const [filename, shortCode] = unicodeMapping[unicodeStr];
- const alt = unicodeStr;
- const replacement = ` `;
- str = str.substring(0, i) + replacement + str.substring(i + unicodeStr.length);
- i += (replacement.length - unicodeStr.length); // jump ahead the length we've added to the string
+ rtn += str.slice(0, tagend);
+ str = str.slice(tagend);
}
+ } else {
+ const [filename, shortCode] = unicodeMapping[match];
+ rtn += str.slice(0, i) + ` `;
+ str = str.slice(i + match.length);
}
}
- return str;
+ return rtn + str;
};
export default emojify;
--
cgit
From b35406b700e643c50ac9726e5f5e1650604e0879 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Wed, 20 Sep 2017 03:38:38 +0200
Subject: Fix custom emojis with non-1:1 aspect ratio being stretched (#5017)
---
app/javascript/styles/components.scss | 1 +
1 file changed, 1 insertion(+)
(limited to 'app/javascript')
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 31341fd0a..1e24592c9 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -418,6 +418,7 @@
display: inline-block;
font-size: inherit;
vertical-align: middle;
+ object-fit: contain;
margin: -.2ex .15em .2ex;
width: 16px;
height: 16px;
--
cgit
From 669fe9ee06a82482201377abd303492eb7fa7d94 Mon Sep 17 00:00:00 2001
From: aschmitz
Date: Wed, 20 Sep 2017 07:53:48 -0500
Subject: Change IDs to strings rather than numbers in API JSON output (#5019)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Fix JavaScript interface with long IDs
Somewhat predictably, the JS interface handled IDs as numbers, which in
JS are IEEE double-precision floats. This loses some precision when
working with numbers as large as those generated by the new ID scheme,
so we instead handle them here as strings. This is relatively simple,
and doesn't appear to have caused any problems, but should definitely
be tested more thoroughly than the built-in tests. Several days of use
appear to support this working properly.
BREAKING CHANGE:
The major(!) change here is that IDs are now returned as strings by the
REST endpoints, rather than as integers. In practice, relatively few
changes were required to make the existing JS UI work with this change,
but it will likely hit API clients pretty hard: it's an entirely
different type to consume. (The one API client I tested, Tusky, handles
this with no problems, however.)
Twitter ran into this issue when introducing Snowflake IDs, and decided
to instead introduce an `id_str` field in JSON responses. I have opted
to *not* do that, and instead force all IDs to 64-bit integers
represented by strings in one go. (I believe Twitter exacerbated their
problem by rolling out the changes three times: once for statuses, once
for DMs, and once for user IDs, as well as by leaving an integer ID
value in JSON. As they said, "If you’re using the `id` field with JSON
in a Javascript-related language, there is a very high likelihood that
the integers will be silently munged by Javascript interpreters. In most
cases, this will result in behavior such as being unable to load or
delete a specific direct message, because the ID you're sending to the
API is different than the actual identifier associated with the
message." [1]) However, given that this is a significant change for API
users, alternatives or a transition time may be appropriate.
1: https://blog.twitter.com/developer/en_us/a/2011/direct-messages-going-snowflake-on-sep-30-2011.html
* Additional fixes for stringified IDs in JSON
These should be the last two. These were identified using eslint to try
to identify any plain casts to JavaScript numbers. (Some such casts are
legitimate, but these were not.)
Adding the following to .eslintrc.yml will identify casts to numbers:
~~~
no-restricted-syntax:
- warn
- selector: UnaryExpression[operator='+'] > :not(Literal)
message: Avoid the use of unary +
- selector: CallExpression[callee.name='Number']
message: Casting with Number() may coerce string IDs to numbers
~~~
The remaining three casts appear legitimate: two casts to array indices,
one in a server to turn an environment variable into a number.
* Back out RelationshipsController Change
This was made to make a test a bit less flakey, but has nothing to
do with this branch.
* Change internal streaming payloads to stringified IDs as well
Per
https://github.com/tootsuite/mastodon/pull/5019#issuecomment-330736452
we need these changes to send deleted status IDs as strings, not
integers.
---
app/javascript/mastodon/actions/store.js | 3 +--
app/javascript/mastodon/components/account.js | 2 +-
.../mastodon/components/autosuggest_textarea.js | 2 +-
app/javascript/mastodon/components/status.js | 4 ++--
.../mastodon/components/status_action_bar.js | 2 +-
.../mastodon/features/account/components/action_bar.js | 2 +-
.../mastodon/features/account/components/header.js | 2 +-
.../mastodon/features/account_gallery/index.js | 16 ++++++++--------
.../features/account_timeline/components/header.js | 2 +-
.../account_timeline/containers/header_container.js | 2 +-
.../mastodon/features/account_timeline/index.js | 18 +++++++++---------
.../features/compose/components/compose_form.js | 2 +-
.../features/compose/components/upload_form.js | 2 +-
app/javascript/mastodon/features/favourites/index.js | 6 +++---
app/javascript/mastodon/features/followers/index.js | 16 ++++++++--------
app/javascript/mastodon/features/following/index.js | 16 ++++++++--------
app/javascript/mastodon/features/reblogs/index.js | 6 +++---
.../mastodon/features/status/components/action_bar.js | 2 +-
app/javascript/mastodon/features/status/index.js | 12 ++++++------
app/serializers/initial_state_serializer.rb | 10 +++++-----
app/serializers/rest/account_serializer.rb | 4 ++++
app/serializers/rest/application_serializer.rb | 6 +++++-
app/serializers/rest/media_attachment_serializer.rb | 4 ++++
app/serializers/rest/notification_serializer.rb | 4 ++++
app/serializers/rest/relationship_serializer.rb | 4 ++++
app/serializers/rest/report_serializer.rb | 4 ++++
app/serializers/rest/status_serializer.rb | 14 +++++++++++++-
app/services/batched_remove_status_service.rb | 2 +-
app/services/remove_status_service.rb | 2 +-
.../api/v1/accounts/relationships_controller_spec.rb | 4 ++--
spec/controllers/api/v1/media_controller_spec.rb | 6 +++---
.../api/v1/statuses/favourites_controller_spec.rb | 2 +-
.../api/v1/statuses/pins_controller_spec.rb | 2 +-
.../api/v1/statuses/reblogs_controller_spec.rb | 2 +-
34 files changed, 111 insertions(+), 76 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/actions/store.js b/app/javascript/mastodon/actions/store.js
index 0597d265e..a1db0fdd5 100644
--- a/app/javascript/mastodon/actions/store.js
+++ b/app/javascript/mastodon/actions/store.js
@@ -5,8 +5,7 @@ export const STORE_HYDRATE_LAZY = 'STORE_HYDRATE_LAZY';
const convertState = rawState =>
fromJS(rawState, (k, v) =>
- Iterable.isIndexed(v) ? v.toList() : v.toMap().mapKeys(x =>
- Number.isNaN(x * 1) ? x : x * 1));
+ Iterable.isIndexed(v) ? v.toList() : v.toMap());
export function hydrateStore(rawState) {
const state = convertState(rawState);
diff --git a/app/javascript/mastodon/components/account.js b/app/javascript/mastodon/components/account.js
index 6456c12ba..d614a52c9 100644
--- a/app/javascript/mastodon/components/account.js
+++ b/app/javascript/mastodon/components/account.js
@@ -21,7 +21,7 @@ export default class Account extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
onFollow: PropTypes.func.isRequired,
onBlock: PropTypes.func.isRequired,
onMute: PropTypes.func.isRequired,
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js
index 35b37600f..30e3049df 100644
--- a/app/javascript/mastodon/components/autosuggest_textarea.js
+++ b/app/javascript/mastodon/components/autosuggest_textarea.js
@@ -128,7 +128,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
onSuggestionClick = (e) => {
- const suggestion = Number(e.currentTarget.getAttribute('data-index'));
+ const suggestion = e.currentTarget.getAttribute('data-index');
e.preventDefault();
this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);
this.textarea.focus();
diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js
index 82359156d..3716d522e 100644
--- a/app/javascript/mastodon/components/status.js
+++ b/app/javascript/mastodon/components/status.js
@@ -34,7 +34,7 @@ export default class Status extends ImmutablePureComponent {
onBlock: PropTypes.func,
onEmbed: PropTypes.func,
onHeightChange: PropTypes.func,
- me: PropTypes.number,
+ me: PropTypes.string,
boostModal: PropTypes.bool,
autoPlayGif: PropTypes.bool,
muted: PropTypes.bool,
@@ -70,7 +70,7 @@ export default class Status extends ImmutablePureComponent {
handleAccountClick = (e) => {
if (this.context.router && e.button === 0) {
- const id = Number(e.currentTarget.getAttribute('data-id'));
+ const id = e.currentTarget.getAttribute('data-id');
e.preventDefault();
this.context.router.history.push(`/accounts/${id}`);
}
diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js
index 692b1ef2b..803b730d9 100644
--- a/app/javascript/mastodon/components/status_action_bar.js
+++ b/app/javascript/mastodon/components/status_action_bar.js
@@ -46,7 +46,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
onEmbed: PropTypes.func,
onMuteConversation: PropTypes.func,
onPin: PropTypes.func,
- me: PropTypes.number,
+ me: PropTypes.string,
withDismiss: PropTypes.bool,
intl: PropTypes.object.isRequired,
};
diff --git a/app/javascript/mastodon/features/account/components/action_bar.js b/app/javascript/mastodon/features/account/components/action_bar.js
index c12c0889e..9e8fea69d 100644
--- a/app/javascript/mastodon/features/account/components/action_bar.js
+++ b/app/javascript/mastodon/features/account/components/action_bar.js
@@ -26,7 +26,7 @@ export default class ActionBar extends React.PureComponent {
static propTypes = {
account: ImmutablePropTypes.map.isRequired,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
onFollow: PropTypes.func,
onBlock: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired,
diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js
index 6eb51a5c7..9ee7a56d9 100644
--- a/app/javascript/mastodon/features/account/components/header.js
+++ b/app/javascript/mastodon/features/account/components/header.js
@@ -77,7 +77,7 @@ export default class Header extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
onFollow: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
autoPlayGif: PropTypes.bool.isRequired,
diff --git a/app/javascript/mastodon/features/account_gallery/index.js b/app/javascript/mastodon/features/account_gallery/index.js
index 0cfd98f23..2a88addc4 100644
--- a/app/javascript/mastodon/features/account_gallery/index.js
+++ b/app/javascript/mastodon/features/account_gallery/index.js
@@ -16,9 +16,9 @@ import { ScrollContainer } from 'react-router-scroll';
import LoadMore from '../../components/load_more';
const mapStateToProps = (state, props) => ({
- medias: getAccountGallery(state, Number(props.params.accountId)),
- isLoading: state.getIn(['timelines', `account:${Number(props.params.accountId)}:media`, 'isLoading']),
- hasMore: !!state.getIn(['timelines', `account:${Number(props.params.accountId)}:media`, 'next']),
+ medias: getAccountGallery(state, props.params.accountId),
+ isLoading: state.getIn(['timelines', `account:${props.params.accountId}:media`, 'isLoading']),
+ hasMore: !!state.getIn(['timelines', `account:${props.params.accountId}:media`, 'next']),
autoPlayGif: state.getIn(['meta', 'auto_play_gif']),
});
@@ -35,20 +35,20 @@ export default class AccountGallery extends ImmutablePureComponent {
};
componentDidMount () {
- this.props.dispatch(fetchAccount(Number(this.props.params.accountId)));
- this.props.dispatch(refreshAccountMediaTimeline(Number(this.props.params.accountId)));
+ this.props.dispatch(fetchAccount(this.props.params.accountId));
+ this.props.dispatch(refreshAccountMediaTimeline(this.props.params.accountId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {
- this.props.dispatch(fetchAccount(Number(nextProps.params.accountId)));
- this.props.dispatch(refreshAccountMediaTimeline(Number(this.props.params.accountId)));
+ this.props.dispatch(fetchAccount(nextProps.params.accountId));
+ this.props.dispatch(refreshAccountMediaTimeline(this.props.params.accountId));
}
}
handleScrollToBottom = () => {
if (this.props.hasMore) {
- this.props.dispatch(expandAccountMediaTimeline(Number(this.props.params.accountId)));
+ this.props.dispatch(expandAccountMediaTimeline(this.props.params.accountId));
}
}
diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js
index 167a2097e..edfedb864 100644
--- a/app/javascript/mastodon/features/account_timeline/components/header.js
+++ b/app/javascript/mastodon/features/account_timeline/components/header.js
@@ -10,7 +10,7 @@ export default class Header extends ImmutablePureComponent {
static propTypes = {
account: ImmutablePropTypes.map,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
onFollow: PropTypes.func.isRequired,
onBlock: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired,
diff --git a/app/javascript/mastodon/features/account_timeline/containers/header_container.js b/app/javascript/mastodon/features/account_timeline/containers/header_container.js
index dcee78b3e..ab75b40de 100644
--- a/app/javascript/mastodon/features/account_timeline/containers/header_container.js
+++ b/app/javascript/mastodon/features/account_timeline/containers/header_container.js
@@ -27,7 +27,7 @@ const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
const mapStateToProps = (state, { accountId }) => ({
- account: getAccount(state, Number(accountId)),
+ account: getAccount(state, accountId),
me: state.getIn(['meta', 'me']),
unfollowModal: state.getIn(['meta', 'unfollow_modal']),
});
diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js
index 3c8b63114..fe92216d5 100644
--- a/app/javascript/mastodon/features/account_timeline/index.js
+++ b/app/javascript/mastodon/features/account_timeline/index.js
@@ -13,9 +13,9 @@ import { List as ImmutableList } from 'immutable';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({
- statusIds: state.getIn(['timelines', `account:${Number(props.params.accountId)}`, 'items'], ImmutableList()),
- isLoading: state.getIn(['timelines', `account:${Number(props.params.accountId)}`, 'isLoading']),
- hasMore: !!state.getIn(['timelines', `account:${Number(props.params.accountId)}`, 'next']),
+ statusIds: state.getIn(['timelines', `account:${props.params.accountId}`, 'items'], ImmutableList()),
+ isLoading: state.getIn(['timelines', `account:${props.params.accountId}`, 'isLoading']),
+ hasMore: !!state.getIn(['timelines', `account:${props.params.accountId}`, 'next']),
me: state.getIn(['meta', 'me']),
});
@@ -28,24 +28,24 @@ export default class AccountTimeline extends ImmutablePureComponent {
statusIds: ImmutablePropTypes.list,
isLoading: PropTypes.bool,
hasMore: PropTypes.bool,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
};
componentWillMount () {
- this.props.dispatch(fetchAccount(Number(this.props.params.accountId)));
- this.props.dispatch(refreshAccountTimeline(Number(this.props.params.accountId)));
+ this.props.dispatch(fetchAccount(this.props.params.accountId));
+ this.props.dispatch(refreshAccountTimeline(this.props.params.accountId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {
- this.props.dispatch(fetchAccount(Number(nextProps.params.accountId)));
- this.props.dispatch(refreshAccountTimeline(Number(nextProps.params.accountId)));
+ this.props.dispatch(fetchAccount(nextProps.params.accountId));
+ this.props.dispatch(refreshAccountTimeline(nextProps.params.accountId));
}
}
handleScrollToBottom = () => {
if (!this.props.isLoading && this.props.hasMore) {
- this.props.dispatch(expandAccountTimeline(Number(this.props.params.accountId)));
+ this.props.dispatch(expandAccountTimeline(this.props.params.accountId));
}
}
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
index f3320a42b..413142d81 100644
--- a/app/javascript/mastodon/features/compose/components/compose_form.js
+++ b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -42,7 +42,7 @@ export default class ComposeForm extends ImmutablePureComponent {
preselectDate: PropTypes.instanceOf(Date),
is_submitting: PropTypes.bool,
is_uploading: PropTypes.bool,
- me: PropTypes.number,
+ me: PropTypes.string,
onChange: PropTypes.func.isRequired,
onSubmit: PropTypes.func.isRequired,
onClearSuggestions: PropTypes.func.isRequired,
diff --git a/app/javascript/mastodon/features/compose/components/upload_form.js b/app/javascript/mastodon/features/compose/components/upload_form.js
index 78473dab4..cf2d2658a 100644
--- a/app/javascript/mastodon/features/compose/components/upload_form.js
+++ b/app/javascript/mastodon/features/compose/components/upload_form.js
@@ -21,7 +21,7 @@ export default class UploadForm extends React.PureComponent {
};
onRemoveFile = (e) => {
- const id = Number(e.currentTarget.parentElement.getAttribute('data-id'));
+ const id = e.currentTarget.parentElement.getAttribute('data-id');
this.props.onRemoveFile(id);
}
diff --git a/app/javascript/mastodon/features/favourites/index.js b/app/javascript/mastodon/features/favourites/index.js
index dc8109d16..4dbfefd87 100644
--- a/app/javascript/mastodon/features/favourites/index.js
+++ b/app/javascript/mastodon/features/favourites/index.js
@@ -11,7 +11,7 @@ import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({
- accountIds: state.getIn(['user_lists', 'favourited_by', Number(props.params.statusId)]),
+ accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]),
});
@connect(mapStateToProps)
@@ -24,12 +24,12 @@ export default class Favourites extends ImmutablePureComponent {
};
componentWillMount () {
- this.props.dispatch(fetchFavourites(Number(this.props.params.statusId)));
+ this.props.dispatch(fetchFavourites(this.props.params.statusId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
- this.props.dispatch(fetchFavourites(Number(nextProps.params.statusId)));
+ this.props.dispatch(fetchFavourites(nextProps.params.statusId));
}
}
diff --git a/app/javascript/mastodon/features/followers/index.js b/app/javascript/mastodon/features/followers/index.js
index 2d85b9cc0..89445559f 100644
--- a/app/javascript/mastodon/features/followers/index.js
+++ b/app/javascript/mastodon/features/followers/index.js
@@ -17,8 +17,8 @@ import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({
- accountIds: state.getIn(['user_lists', 'followers', Number(props.params.accountId), 'items']),
- hasMore: !!state.getIn(['user_lists', 'followers', Number(props.params.accountId), 'next']),
+ accountIds: state.getIn(['user_lists', 'followers', props.params.accountId, 'items']),
+ hasMore: !!state.getIn(['user_lists', 'followers', props.params.accountId, 'next']),
});
@connect(mapStateToProps)
@@ -32,14 +32,14 @@ export default class Followers extends ImmutablePureComponent {
};
componentWillMount () {
- this.props.dispatch(fetchAccount(Number(this.props.params.accountId)));
- this.props.dispatch(fetchFollowers(Number(this.props.params.accountId)));
+ this.props.dispatch(fetchAccount(this.props.params.accountId));
+ this.props.dispatch(fetchFollowers(this.props.params.accountId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {
- this.props.dispatch(fetchAccount(Number(nextProps.params.accountId)));
- this.props.dispatch(fetchFollowers(Number(nextProps.params.accountId)));
+ this.props.dispatch(fetchAccount(nextProps.params.accountId));
+ this.props.dispatch(fetchFollowers(nextProps.params.accountId));
}
}
@@ -47,13 +47,13 @@ export default class Followers extends ImmutablePureComponent {
const { scrollTop, scrollHeight, clientHeight } = e.target;
if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {
- this.props.dispatch(expandFollowers(Number(this.props.params.accountId)));
+ this.props.dispatch(expandFollowers(this.props.params.accountId));
}
}
handleLoadMore = (e) => {
e.preventDefault();
- this.props.dispatch(expandFollowers(Number(this.props.params.accountId)));
+ this.props.dispatch(expandFollowers(this.props.params.accountId));
}
render () {
diff --git a/app/javascript/mastodon/features/following/index.js b/app/javascript/mastodon/features/following/index.js
index e4e2a4811..c34830276 100644
--- a/app/javascript/mastodon/features/following/index.js
+++ b/app/javascript/mastodon/features/following/index.js
@@ -17,8 +17,8 @@ import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({
- accountIds: state.getIn(['user_lists', 'following', Number(props.params.accountId), 'items']),
- hasMore: !!state.getIn(['user_lists', 'following', Number(props.params.accountId), 'next']),
+ accountIds: state.getIn(['user_lists', 'following', props.params.accountId, 'items']),
+ hasMore: !!state.getIn(['user_lists', 'following', props.params.accountId, 'next']),
});
@connect(mapStateToProps)
@@ -32,14 +32,14 @@ export default class Following extends ImmutablePureComponent {
};
componentWillMount () {
- this.props.dispatch(fetchAccount(Number(this.props.params.accountId)));
- this.props.dispatch(fetchFollowing(Number(this.props.params.accountId)));
+ this.props.dispatch(fetchAccount(this.props.params.accountId));
+ this.props.dispatch(fetchFollowing(this.props.params.accountId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) {
- this.props.dispatch(fetchAccount(Number(nextProps.params.accountId)));
- this.props.dispatch(fetchFollowing(Number(nextProps.params.accountId)));
+ this.props.dispatch(fetchAccount(nextProps.params.accountId));
+ this.props.dispatch(fetchFollowing(nextProps.params.accountId));
}
}
@@ -47,13 +47,13 @@ export default class Following extends ImmutablePureComponent {
const { scrollTop, scrollHeight, clientHeight } = e.target;
if (scrollTop === scrollHeight - clientHeight && this.props.hasMore) {
- this.props.dispatch(expandFollowing(Number(this.props.params.accountId)));
+ this.props.dispatch(expandFollowing(this.props.params.accountId));
}
}
handleLoadMore = (e) => {
e.preventDefault();
- this.props.dispatch(expandFollowing(Number(this.props.params.accountId)));
+ this.props.dispatch(expandFollowing(this.props.params.accountId));
}
render () {
diff --git a/app/javascript/mastodon/features/reblogs/index.js b/app/javascript/mastodon/features/reblogs/index.js
index dc940ae01..f1904786a 100644
--- a/app/javascript/mastodon/features/reblogs/index.js
+++ b/app/javascript/mastodon/features/reblogs/index.js
@@ -11,7 +11,7 @@ import ColumnBackButton from '../../components/column_back_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
const mapStateToProps = (state, props) => ({
- accountIds: state.getIn(['user_lists', 'reblogged_by', Number(props.params.statusId)]),
+ accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]),
});
@connect(mapStateToProps)
@@ -24,12 +24,12 @@ export default class Reblogs extends ImmutablePureComponent {
};
componentWillMount () {
- this.props.dispatch(fetchReblogs(Number(this.props.params.statusId)));
+ this.props.dispatch(fetchReblogs(this.props.params.statusId));
}
componentWillReceiveProps(nextProps) {
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
- this.props.dispatch(fetchReblogs(Number(nextProps.params.statusId)));
+ this.props.dispatch(fetchReblogs(nextProps.params.statusId));
}
}
diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js
index c303caf10..034cc9854 100644
--- a/app/javascript/mastodon/features/status/components/action_bar.js
+++ b/app/javascript/mastodon/features/status/components/action_bar.js
@@ -36,7 +36,7 @@ export default class ActionBar extends React.PureComponent {
onReport: PropTypes.func,
onPin: PropTypes.func,
onEmbed: PropTypes.func,
- me: PropTypes.number.isRequired,
+ me: PropTypes.string.isRequired,
intl: PropTypes.object.isRequired,
};
diff --git a/app/javascript/mastodon/features/status/index.js b/app/javascript/mastodon/features/status/index.js
index c614f6acb..8da6e743c 100644
--- a/app/javascript/mastodon/features/status/index.js
+++ b/app/javascript/mastodon/features/status/index.js
@@ -38,9 +38,9 @@ const makeMapStateToProps = () => {
const getStatus = makeGetStatus();
const mapStateToProps = (state, props) => ({
- status: getStatus(state, Number(props.params.statusId)),
- ancestorsIds: state.getIn(['contexts', 'ancestors', Number(props.params.statusId)]),
- descendantsIds: state.getIn(['contexts', 'descendants', Number(props.params.statusId)]),
+ status: getStatus(state, props.params.statusId),
+ ancestorsIds: state.getIn(['contexts', 'ancestors', props.params.statusId]),
+ descendantsIds: state.getIn(['contexts', 'descendants', props.params.statusId]),
me: state.getIn(['meta', 'me']),
boostModal: state.getIn(['meta', 'boost_modal']),
deleteModal: state.getIn(['meta', 'delete_modal']),
@@ -64,7 +64,7 @@ export default class Status extends ImmutablePureComponent {
status: ImmutablePropTypes.map,
ancestorsIds: ImmutablePropTypes.list,
descendantsIds: ImmutablePropTypes.list,
- me: PropTypes.number,
+ me: PropTypes.string,
boostModal: PropTypes.bool,
deleteModal: PropTypes.bool,
autoPlayGif: PropTypes.bool,
@@ -72,12 +72,12 @@ export default class Status extends ImmutablePureComponent {
};
componentWillMount () {
- this.props.dispatch(fetchStatus(Number(this.props.params.statusId)));
+ this.props.dispatch(fetchStatus(this.props.params.statusId));
}
componentWillReceiveProps (nextProps) {
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
- this.props.dispatch(fetchStatus(Number(nextProps.params.statusId)));
+ this.props.dispatch(fetchStatus(nextProps.params.statusId));
}
}
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index 32ffcc688..9ee9bd29c 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -10,11 +10,11 @@ class InitialStateSerializer < ActiveModel::Serializer
access_token: object.token,
locale: I18n.locale,
domain: Rails.configuration.x.local_domain,
- admin: object.admin&.id,
+ admin: object.admin&.id&.to_s,
}
if object.current_account
- store[:me] = object.current_account.id
+ store[:me] = object.current_account.id.to_s
store[:unfollow_modal] = object.current_account.user.setting_unfollow_modal
store[:boost_modal] = object.current_account.user.setting_boost_modal
store[:delete_modal] = object.current_account.user.setting_delete_modal
@@ -28,7 +28,7 @@ class InitialStateSerializer < ActiveModel::Serializer
store = {}
if object.current_account
- store[:me] = object.current_account.id
+ store[:me] = object.current_account.id.to_s
store[:default_privacy] = object.current_account.user.setting_default_privacy
store[:default_sensitive] = object.current_account.user.setting_default_sensitive
end
@@ -40,8 +40,8 @@ class InitialStateSerializer < ActiveModel::Serializer
def accounts
store = {}
- store[object.current_account.id] = ActiveModelSerializers::SerializableResource.new(object.current_account, serializer: REST::AccountSerializer) if object.current_account
- store[object.admin.id] = ActiveModelSerializers::SerializableResource.new(object.admin, serializer: REST::AccountSerializer) if object.admin
+ store[object.current_account.id.to_s] = ActiveModelSerializers::SerializableResource.new(object.current_account, serializer: REST::AccountSerializer) if object.current_account
+ store[object.admin.id.to_s] = ActiveModelSerializers::SerializableResource.new(object.admin, serializer: REST::AccountSerializer) if object.admin
store
end
diff --git a/app/serializers/rest/account_serializer.rb b/app/serializers/rest/account_serializer.rb
index 012a4fd18..65fdb0308 100644
--- a/app/serializers/rest/account_serializer.rb
+++ b/app/serializers/rest/account_serializer.rb
@@ -7,6 +7,10 @@ class REST::AccountSerializer < ActiveModel::Serializer
:note, :url, :avatar, :avatar_static, :header, :header_static,
:followers_count, :following_count, :statuses_count
+ def id
+ object.id.to_s
+ end
+
def note
Formatter.instance.simplified_format(object)
end
diff --git a/app/serializers/rest/application_serializer.rb b/app/serializers/rest/application_serializer.rb
index 868a62f1e..5eb03a513 100644
--- a/app/serializers/rest/application_serializer.rb
+++ b/app/serializers/rest/application_serializer.rb
@@ -4,8 +4,12 @@ class REST::ApplicationSerializer < ActiveModel::Serializer
attributes :id, :name, :website, :redirect_uri,
:client_id, :client_secret
+ def id
+ object.id.to_s
+ end
+
def client_id
- object.uid
+ object.uid.to_s
end
def client_secret
diff --git a/app/serializers/rest/media_attachment_serializer.rb b/app/serializers/rest/media_attachment_serializer.rb
index 31189406a..f6e7c79d1 100644
--- a/app/serializers/rest/media_attachment_serializer.rb
+++ b/app/serializers/rest/media_attachment_serializer.rb
@@ -6,6 +6,10 @@ class REST::MediaAttachmentSerializer < ActiveModel::Serializer
attributes :id, :type, :url, :preview_url,
:remote_url, :text_url, :meta
+ def id
+ object.id.to_s
+ end
+
def url
if object.needs_redownload?
media_proxy_url(object.id, :original)
diff --git a/app/serializers/rest/notification_serializer.rb b/app/serializers/rest/notification_serializer.rb
index f95d099a3..541a6b8b5 100644
--- a/app/serializers/rest/notification_serializer.rb
+++ b/app/serializers/rest/notification_serializer.rb
@@ -6,6 +6,10 @@ class REST::NotificationSerializer < ActiveModel::Serializer
belongs_to :from_account, key: :account, serializer: REST::AccountSerializer
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
+ def id
+ object.id.to_s
+ end
+
def status_type?
[:favourite, :reblog, :mention].include?(object.type)
end
diff --git a/app/serializers/rest/relationship_serializer.rb b/app/serializers/rest/relationship_serializer.rb
index 1d431aa1b..998727e37 100644
--- a/app/serializers/rest/relationship_serializer.rb
+++ b/app/serializers/rest/relationship_serializer.rb
@@ -4,6 +4,10 @@ class REST::RelationshipSerializer < ActiveModel::Serializer
attributes :id, :following, :followed_by, :blocking,
:muting, :requested, :domain_blocking
+ def id
+ object.id.to_s
+ end
+
def following
instance_options[:relationships].following[object.id] || false
end
diff --git a/app/serializers/rest/report_serializer.rb b/app/serializers/rest/report_serializer.rb
index 0c6bd6556..ecb88d653 100644
--- a/app/serializers/rest/report_serializer.rb
+++ b/app/serializers/rest/report_serializer.rb
@@ -2,4 +2,8 @@
class REST::ReportSerializer < ActiveModel::Serializer
attributes :id, :action_taken
+
+ def id
+ object.id.to_s
+ end
end
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb
index 066d65d9e..e0fd1c77e 100644
--- a/app/serializers/rest/status_serializer.rb
+++ b/app/serializers/rest/status_serializer.rb
@@ -19,6 +19,18 @@ class REST::StatusSerializer < ActiveModel::Serializer
has_many :tags
has_many :emojis
+ def id
+ object.id.to_s
+ end
+
+ def in_reply_to_id
+ object.in_reply_to_id.to_s
+ end
+
+ def in_reply_to_account_id
+ object.in_reply_to_account_id.to_s
+ end
+
def current_user?
!current_user.nil?
end
@@ -82,7 +94,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
attributes :id, :username, :url, :acct
def id
- object.account_id
+ object.account_id.to_s
end
def username
diff --git a/app/services/batched_remove_status_service.rb b/app/services/batched_remove_status_service.rb
index 86eaa5735..e1e845bc0 100644
--- a/app/services/batched_remove_status_service.rb
+++ b/app/services/batched_remove_status_service.rb
@@ -18,7 +18,7 @@ class BatchedRemoveStatusService < BaseService
@stream_entry_batches = []
@salmon_batches = []
@activity_json_batches = []
- @json_payloads = statuses.map { |s| [s.id, Oj.dump(event: :delete, payload: s.id)] }.to_h
+ @json_payloads = statuses.map { |s| [s.id, Oj.dump(event: :delete, payload: s.id.to_s)] }.to_h
@activity_json = {}
@activity_xml = {}
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 83fc77043..5f45fb3ab 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -4,7 +4,7 @@ class RemoveStatusService < BaseService
include StreamEntryRenderer
def call(status)
- @payload = Oj.dump(event: :delete, payload: status.id)
+ @payload = Oj.dump(event: :delete, payload: status.id.to_s)
@status = status
@account = status.account
@tags = status.tags.pluck(:name).to_a
diff --git a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
index a9073b197..431fc2194 100644
--- a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
+++ b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
@@ -50,14 +50,14 @@ describe Api::V1::Accounts::RelationshipsController do
json = body_as_json
expect(json).to be_a Enumerable
- expect(json.first[:id]).to eq simon.id
+ expect(json.first[:id]).to eq simon.id.to_s
expect(json.first[:following]).to be true
expect(json.first[:followed_by]).to be false
expect(json.first[:muting]).to be false
expect(json.first[:requested]).to be false
expect(json.first[:domain_blocking]).to be false
- expect(json.second[:id]).to eq lewis.id
+ expect(json.second[:id]).to eq lewis.id.to_s
expect(json.second[:following]).to be false
expect(json.second[:followed_by]).to be true
expect(json.second[:muting]).to be false
diff --git a/spec/controllers/api/v1/media_controller_spec.rb b/spec/controllers/api/v1/media_controller_spec.rb
index 6bad3f05d..baa22d7e4 100644
--- a/spec/controllers/api/v1/media_controller_spec.rb
+++ b/spec/controllers/api/v1/media_controller_spec.rb
@@ -53,7 +53,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
end
it 'returns media ID in JSON' do
- expect(body_as_json[:id]).to eq MediaAttachment.first.id
+ expect(body_as_json[:id]).to eq MediaAttachment.first.id.to_s
end
end
@@ -75,7 +75,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
end
it 'returns media ID in JSON' do
- expect(body_as_json[:id]).to eq MediaAttachment.first.id
+ expect(body_as_json[:id]).to eq MediaAttachment.first.id.to_s
end
end
@@ -97,7 +97,7 @@ RSpec.describe Api::V1::MediaController, type: :controller do
end
xit 'returns media ID in JSON' do
- expect(body_as_json[:id]).to eq MediaAttachment.first.id
+ expect(body_as_json[:id]).to eq MediaAttachment.first.id.to_s
end
end
end
diff --git a/spec/controllers/api/v1/statuses/favourites_controller_spec.rb b/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
index 2a029230d..aba7cd458 100644
--- a/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/favourites_controller_spec.rb
@@ -36,7 +36,7 @@ describe Api::V1::Statuses::FavouritesController do
it 'return json with updated attributes' do
hash_body = body_as_json
- expect(hash_body[:id]).to eq status.id
+ expect(hash_body[:id]).to eq status.id.to_s
expect(hash_body[:favourites_count]).to eq 1
expect(hash_body[:favourited]).to be true
end
diff --git a/spec/controllers/api/v1/statuses/pins_controller_spec.rb b/spec/controllers/api/v1/statuses/pins_controller_spec.rb
index 2e170da24..79005c9de 100644
--- a/spec/controllers/api/v1/statuses/pins_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/pins_controller_spec.rb
@@ -32,7 +32,7 @@ describe Api::V1::Statuses::PinsController do
it 'return json with updated attributes' do
hash_body = body_as_json
- expect(hash_body[:id]).to eq status.id
+ expect(hash_body[:id]).to eq status.id.to_s
expect(hash_body[:pinned]).to be true
end
end
diff --git a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
index d6d36c1b2..7417ff672 100644
--- a/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
+++ b/spec/controllers/api/v1/statuses/reblogs_controller_spec.rb
@@ -36,7 +36,7 @@ describe Api::V1::Statuses::ReblogsController do
it 'return json with updated attributes' do
hash_body = body_as_json
- expect(hash_body[:reblog][:id]).to eq status.id
+ expect(hash_body[:reblog][:id]).to eq status.id.to_s
expect(hash_body[:reblog][:reblogs_count]).to eq 1
expect(hash_body[:reblog][:reblogged]).to be true
end
--
cgit
From 8cb456114545a5d06e0ef01f7cb70eb713d0f1b1 Mon Sep 17 00:00:00 2001
From: TomoyaShibata
Date: Wed, 20 Sep 2017 22:26:22 +0900
Subject: Remove unnecessary css property (#5025)
---
app/javascript/styles/components.scss | 2 --
1 file changed, 2 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 1e24592c9..a5d104cc9 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -2932,8 +2932,6 @@ button.icon-button.active i.fa-retweet {
}
.search__input {
- padding-right: 30px;
- color: $ui-secondary-color;
outline: 0;
box-sizing: border-box;
display: block;
--
cgit
From 798b0fc5af3e9e4acec6624e041ff035d95c8b78 Mon Sep 17 00:00:00 2001
From: Nolan Lawson
Date: Wed, 20 Sep 2017 10:58:44 -0700
Subject: Reduce wasted renders for column_loading.js (#5021)
* Reduce wasted renders for column_loading.js
* Use defaultProps
---
.../features/ui/components/column_loading.js | 33 ++++++++++++++--------
1 file changed, 22 insertions(+), 11 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/features/ui/components/column_loading.js b/app/javascript/mastodon/features/ui/components/column_loading.js
index 1c4058926..4834f0038 100644
--- a/app/javascript/mastodon/features/ui/components/column_loading.js
+++ b/app/javascript/mastodon/features/ui/components/column_loading.js
@@ -3,17 +3,28 @@ import PropTypes from 'prop-types';
import Column from '../../../components/column';
import ColumnHeader from '../../../components/column_header';
+import ImmutablePureComponent from 'react-immutable-pure-component';
-const ColumnLoading = ({ title = '', icon = ' ' }) => (
-
-
-
-
-);
+export default class ColumnLoading extends ImmutablePureComponent {
-ColumnLoading.propTypes = {
- title: PropTypes.node,
- icon: PropTypes.string,
-};
+ static propTypes = {
+ title: PropTypes.oneOfType(PropTypes.node, PropTypes.string),
+ icon: PropTypes.string,
+ };
-export default ColumnLoading;
+ static defaultProps = {
+ title: '',
+ icon: '',
+ };
+
+ render() {
+ let { title, icon } = this.props;
+ return (
+
+
+
+
+ );
+ }
+
+}
--
cgit
From a9abe8909371f4a3069760e6bd8d7444b85dab71 Mon Sep 17 00:00:00 2001
From: MIYAGI Hikaru
Date: Thu, 21 Sep 2017 01:47:16 +0000
Subject: Fix shortname problem in emojify() (regression from #5016) (#5032)
When colon appears end of line, skiped all character containing unicode emojis. Fixed.
https://github.com/tootsuite/mastodon/pull/5016#issuecomment-331012008
---
app/javascript/mastodon/emoji.js | 31 ++++++++++++++++++-------------
1 file changed, 18 insertions(+), 13 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/emoji.js b/app/javascript/mastodon/emoji.js
index e586a3442..7a0dab9d1 100644
--- a/app/javascript/mastodon/emoji.js
+++ b/app/javascript/mastodon/emoji.js
@@ -7,29 +7,34 @@ const emojify = (str, customEmojis = {}) => {
let rtn = '';
for (;;) {
let match, i = 0, tag;
- while (i < str.length && (tag = '<&:'.indexOf(str[i])) === -1 && !(match = trie.search(str.slice(i)))) {
+ while (i < str.length && (tag = '<&'.indexOf(str[i])) === -1 && str[i] !== ':' && !(match = trie.search(str.slice(i)))) {
i += str.codePointAt(i) < 65536 ? 1 : 2;
}
if (i === str.length)
break;
else if (tag >= 0) {
- let tagend = str.indexOf('>;:'[tag], i + 1) + 1;
+ const tagend = str.indexOf('>;'[tag], i + 1) + 1;
if (!tagend)
break;
- if (str[i] === ':') {
- const shortname = str.slice(i, tagend);
+ rtn += str.slice(0, tagend);
+ str = str.slice(tagend);
+ } else if (str[i] === ':') {
+ try {
+ // if replacing :shortname: succeed, exit this block with "continue"
+ const closeColon = str.indexOf(':', i + 1) + 1;
+ if (!closeColon) throw null; // no pair of ':'
const lt = str.indexOf('<', i + 1);
- if ((lt === -1 || lt >= tagend) && shortname in customEmojis) {
+ if (!(lt === -1 || lt >= closeColon)) throw null; // tag appeared before closing ':'
+ const shortname = str.slice(i, closeColon);
+ if (shortname in customEmojis) {
rtn += str.slice(0, i) + ` `;
- str = str.slice(tagend);
- } else {
- rtn += str.slice(0, i + 1);
- str = str.slice(i + 1);
+ str = str.slice(closeColon);
+ continue;
}
- } else {
- rtn += str.slice(0, tagend);
- str = str.slice(tagend);
- }
+ } catch (e) {}
+ // replacing :shortname: failed
+ rtn += str.slice(0, i + 1);
+ str = str.slice(i + 1);
} else {
const [filename, shortCode] = unicodeMapping[match];
rtn += str.slice(0, i) + ` `;
--
cgit
From 63819c848de8728fe3a0789213014c943588a5b1 Mon Sep 17 00:00:00 2001
From: syui
Date: Thu, 21 Sep 2017 21:30:21 +0900
Subject: fix : mobile style of /about/more (#5034)
---
app/javascript/styles/about.scss | 1 +
1 file changed, 1 insertion(+)
(limited to 'app/javascript')
diff --git a/app/javascript/styles/about.scss b/app/javascript/styles/about.scss
index 343de1590..2adcb5ba2 100644
--- a/app/javascript/styles/about.scss
+++ b/app/javascript/styles/about.scss
@@ -124,6 +124,7 @@
box-sizing: border-box;
max-width: 800px;
margin: 0 auto;
+ word-wrap: break-word;
}
.header-wrapper {
--
cgit
From 245816ab2721f386184878d71be01143d207abf5 Mon Sep 17 00:00:00 2001
From: Nolan Lawson
Date: Thu, 21 Sep 2017 19:58:33 -0700
Subject: Eliminate re-renders for intersection_observer_article.js (#5036)
---
.../components/intersection_observer_article.js | 26 ++++++++++++----------
1 file changed, 14 insertions(+), 12 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/intersection_observer_article.js b/app/javascript/mastodon/components/intersection_observer_article.js
index bb83a4da0..575743350 100644
--- a/app/javascript/mastodon/components/intersection_observer_article.js
+++ b/app/javascript/mastodon/components/intersection_observer_article.js
@@ -1,10 +1,15 @@
import React from 'react';
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
import scheduleIdleTask from '../features/ui/util/schedule_idle_task';
import getRectFromEntry from '../features/ui/util/get_rect_from_entry';
+import { is } from 'immutable';
-export default class IntersectionObserverArticle extends ImmutablePureComponent {
+// Diff these props in the "rendered" state
+const updateOnPropsForRendered = ['id', 'index', 'listLength'];
+// Diff these props in the "unrendered" state
+const updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];
+
+export default class IntersectionObserverArticle extends React.Component {
static propTypes = {
intersectionObserverWrapper: PropTypes.object.isRequired,
@@ -22,18 +27,15 @@ export default class IntersectionObserverArticle extends ImmutablePureComponent
}
shouldComponentUpdate (nextProps, nextState) {
- if (!nextState.isIntersecting && nextState.isHidden) {
- // It's only if we're not intersecting (i.e. offscreen) and isHidden is true
- // that either "isIntersecting" or "isHidden" matter, and then they're
- // the only things that matter (and updated ARIA attributes).
- return this.state.isIntersecting || !this.state.isHidden || nextProps.listLength !== this.props.listLength;
- } else if (nextState.isIntersecting && !this.state.isIntersecting) {
- // If we're going from a non-intersecting state to an intersecting state,
- // (i.e. offscreen to onscreen), then we definitely need to re-render
+ const isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);
+ const willBeUnrendered = !nextState.isIntersecting && (nextState.isHidden || nextProps.cachedHeight);
+ if (!!isUnrendered !== !!willBeUnrendered) {
+ // If we're going from rendered to unrendered (or vice versa) then update
return true;
}
- // Otherwise, diff based on "updateOnProps" and "updateOnStates"
- return super.shouldComponentUpdate(nextProps, nextState);
+ // Otherwise, diff based on props
+ const propsToDiff = isUnrendered ? updateOnPropsForUnrendered : updateOnPropsForRendered;
+ return !propsToDiff.every(prop => is(nextProps[prop], this.props[prop]));
}
componentDidMount () {
--
cgit
From 0df6442636622bd41a89bedb313854d2a7d2998f Mon Sep 17 00:00:00 2001
From: Nolan Lawson
Date: Thu, 21 Sep 2017 19:59:01 -0700
Subject: Use passive listener in privacy_dropdown.js (#5037)
---
.../mastodon/features/compose/components/privacy_dropdown.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js
index da3c0a0ab..0474dfb4e 100644
--- a/app/javascript/mastodon/features/compose/components/privacy_dropdown.js
+++ b/app/javascript/mastodon/features/compose/components/privacy_dropdown.js
@@ -2,6 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, defineMessages } from 'react-intl';
import IconButton from '../../../components/icon_button';
+import detectPassiveEvents from 'detect-passive-events';
const messages = defineMessages({
public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },
@@ -89,12 +90,12 @@ export default class PrivacyDropdown extends React.PureComponent {
componentDidMount () {
window.addEventListener('click', this.onGlobalClick);
- window.addEventListener('touchstart', this.onGlobalClick);
+ window.addEventListener('touchstart', this.onGlobalClick, detectPassiveEvents.hasSupport ? { passive: true } : false);
}
componentWillUnmount () {
window.removeEventListener('click', this.onGlobalClick);
- window.removeEventListener('touchstart', this.onGlobalClick);
+ window.removeEventListener('touchstart', this.onGlobalClick, detectPassiveEvents.hasSupport ? { passive: true } : false);
}
setRef = (c) => {
--
cgit
From 034fab39abe5f98e7a2caec861cf1c68c46747e8 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Fri, 22 Sep 2017 04:59:17 +0200
Subject: Make dropdowns render into portal, expand animation (#5018)
* Make dropdowns render into portal, expand animation
* Improve actions modal style
---
.../mastodon/components/dropdown_menu.js | 247 +++++++++++++--------
.../features/ui/components/actions_modal.js | 9 +-
app/javascript/mastodon/features/ui/index.js | 10 +-
app/javascript/styles/components.scss | 123 +++++++---
package.json | 1 +
spec/javascript/components/dropdown_menu.test.js | 132 -----------
yarn.lock | 34 ++-
7 files changed, 298 insertions(+), 258 deletions(-)
delete mode 100644 spec/javascript/components/dropdown_menu.test.js
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js
index 28631f463..1cfa7b5a2 100644
--- a/app/javascript/mastodon/components/dropdown_menu.js
+++ b/app/javascript/mastodon/components/dropdown_menu.js
@@ -1,53 +1,55 @@
import React from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import PropTypes from 'prop-types';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import IconButton from './icon_button';
+import { Overlay } from 'react-overlays';
+import { Motion, spring } from 'react-motion';
-export default class DropdownMenu extends React.PureComponent {
+class DropdownMenu extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
};
static propTypes = {
- isUserTouching: PropTypes.func,
- isModalOpen: PropTypes.bool.isRequired,
- onModalOpen: PropTypes.func,
- onModalClose: PropTypes.func,
- icon: PropTypes.string.isRequired,
items: PropTypes.array.isRequired,
- size: PropTypes.number.isRequired,
- direction: PropTypes.string,
- status: ImmutablePropTypes.map,
- ariaLabel: PropTypes.string,
- disabled: PropTypes.bool,
+ onClose: PropTypes.func.isRequired,
+ style: PropTypes.object,
+ placement: PropTypes.string,
+ arrowOffsetLeft: PropTypes.string,
+ arrowOffsetTop: PropTypes.string,
};
static defaultProps = {
- ariaLabel: 'Menu',
- isModalOpen: false,
- isUserTouching: () => false,
+ style: {},
+ placement: 'bottom',
};
- state = {
- direction: 'left',
- expanded: false,
- };
+ handleDocumentClick = e => {
+ if (this.node && !this.node.contains(e.target)) {
+ this.props.onClose();
+ }
+ }
+
+ componentDidMount () {
+ document.addEventListener('click', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, false);
+ }
+
+ componentWillUnmount () {
+ document.removeEventListener('click', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, false);
+ }
- setRef = (c) => {
- this.dropdown = c;
+ setRef = c => {
+ this.node = c;
}
- handleClick = (e) => {
+ handleClick = e => {
const i = Number(e.currentTarget.getAttribute('data-index'));
const { action, to } = this.props.items[i];
- if (this.props.isModalOpen) {
- this.props.onModalClose();
- }
-
- // Don't call e.preventDefault() when the item uses 'href' property.
- // ex. "Edit profile" on the account action bar
+ this.props.onClose();
if (typeof action === 'function') {
e.preventDefault();
@@ -56,90 +58,149 @@ export default class DropdownMenu extends React.PureComponent {
e.preventDefault();
this.context.router.history.push(to);
}
+ }
+
+ renderItem (option, i) {
+ if (option === null) {
+ return ;
+ }
+
+ const { text, href = '#' } = option;
+
+ return (
+
+
+ {text}
+
+
+ );
+ }
+
+ render () {
+ const { items, style, placement, arrowOffsetLeft, arrowOffsetTop } = this.props;
- this.dropdown.hide();
+ return (
+
+ {({ opacity, scaleX, scaleY }) => (
+
+
+
+
+ {items.map((option, i) => this.renderItem(option, i))}
+
+
+ )}
+
+ );
}
- handleShow = () => {
- if (this.props.isUserTouching()) {
+}
+
+export default class Dropdown extends React.PureComponent {
+
+ static contextTypes = {
+ router: PropTypes.object,
+ };
+
+ static propTypes = {
+ icon: PropTypes.string.isRequired,
+ items: PropTypes.array.isRequired,
+ size: PropTypes.number.isRequired,
+ ariaLabel: PropTypes.string,
+ disabled: PropTypes.bool,
+ status: ImmutablePropTypes.map,
+ isUserTouching: PropTypes.func,
+ isModalOpen: PropTypes.bool.isRequired,
+ onModalOpen: PropTypes.func,
+ onModalClose: PropTypes.func,
+ };
+
+ static defaultProps = {
+ ariaLabel: 'Menu',
+ };
+
+ state = {
+ expanded: false,
+ };
+
+ handleClick = () => {
+ if (!this.state.expanded && this.props.isUserTouching() && this.props.onModalOpen) {
+ const { status, items } = this.props;
+
this.props.onModalOpen({
- status: this.props.status,
- actions: this.props.items,
- onClick: this.handleClick,
+ status,
+ actions: items,
+ onClick: this.handleItemClick,
});
- } else {
- this.setState({ expanded: true });
+
+ return;
}
+
+ this.setState({ expanded: !this.state.expanded });
}
- handleHide = () => this.setState({ expanded: false })
-
- handleToggle = (e) => {
- if (e.key === 'Enter') {
- if (this.props.isUserTouching()) {
- this.handleShow();
- } else {
- this.setState({ expanded: !this.state.expanded });
- }
- } else if (e.key === 'Escape') {
- this.setState({ expanded: false });
+ handleClose = () => {
+ if (this.props.onModalClose) {
+ this.props.onModalClose();
}
+
+ this.setState({ expanded: false });
}
- renderItem = (item, i) => {
- if (item === null) {
- return ;
+ handleKeyDown = e => {
+ switch(e.key) {
+ case 'Enter':
+ this.handleClick();
+ break;
+ case 'Escape':
+ this.handleClose();
+ break;
}
+ }
- const { text, href = '#' } = item;
+ handleItemClick = e => {
+ const i = Number(e.currentTarget.getAttribute('data-index'));
+ const { action, to } = this.props.items[i];
- return (
-
-
- {text}
-
-
- );
- }
+ this.handleClose();
- render () {
- const { icon, items, size, direction, ariaLabel, disabled } = this.props;
- const { expanded } = this.state;
- const isUserTouching = this.props.isUserTouching();
- const directionClass = (direction === 'left') ? 'dropdown__left' : 'dropdown__right';
- const iconStyle = { fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` };
- const iconClassname = `fa fa-fw fa-${icon} dropdown__icon`;
-
- if (disabled) {
- return (
-
-
-
- );
+ if (typeof action === 'function') {
+ e.preventDefault();
+ action();
+ } else if (to) {
+ e.preventDefault();
+ this.context.router.history.push(to);
}
+ }
- const dropdownItems = expanded && (
-
- {items.map(this.renderItem)}
-
- );
+ setTargetRef = c => {
+ this.target = c;
+ }
- // No need to render the actual dropdown if we use the modal. If we
- // don't render anything breaks, so we just put an empty div.
- const dropdownContent = !isUserTouching ? (
-
- {dropdownItems}
-
- ) :
;
+ findTarget = () => {
+ return this.target;
+ }
- return (
-
-
-
-
+ render () {
+ const { icon, items, size, ariaLabel, disabled } = this.props;
+ const { expanded } = this.state;
- {dropdownContent}
-
+ return (
+
+
+
+
+
+
+
);
}
diff --git a/app/javascript/mastodon/features/ui/components/actions_modal.js b/app/javascript/mastodon/features/ui/components/actions_modal.js
index 3d40033be..79a5a20ef 100644
--- a/app/javascript/mastodon/features/ui/components/actions_modal.js
+++ b/app/javascript/mastodon/features/ui/components/actions_modal.js
@@ -1,32 +1,35 @@
import React from 'react';
import PropTypes from 'prop-types';
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import StatusContent from '../../../components/status_content';
import Avatar from '../../../components/avatar';
import RelativeTimestamp from '../../../components/relative_timestamp';
import DisplayName from '../../../components/display_name';
import IconButton from '../../../components/icon_button';
+import classNames from 'classnames';
export default class ActionsModal extends ImmutablePureComponent {
static propTypes = {
+ status: ImmutablePropTypes.map,
actions: PropTypes.array,
onClick: PropTypes.func,
};
renderAction = (action, i) => {
if (action === null) {
- return ;
+ return ;
}
const { icon = null, text, meta = null, active = false, href = '#' } = action;
return (
-
+
{icon && }
diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js
index 30a52a448..2a55cfb4c 100644
--- a/app/javascript/mastodon/features/ui/index.js
+++ b/app/javascript/mastodon/features/ui/index.js
@@ -52,7 +52,7 @@ export default class UI extends React.PureComponent {
static contextTypes = {
router: PropTypes.object.isRequired,
- }
+ };
static propTypes = {
dispatch: PropTypes.func.isRequired,
@@ -183,14 +183,18 @@ export default class UI extends React.PureComponent {
document.removeEventListener('dragend', this.handleDragEnd);
}
- setRef = (c) => {
+ setRef = c => {
this.node = c;
}
- setColumnsAreaRef = (c) => {
+ setColumnsAreaRef = c => {
this.columnsAreaNode = c.getWrappedInstance().getWrappedInstance();
}
+ setOverlayRef = c => {
+ this.overlay = c;
+ }
+
render () {
const { width, draggingOver } = this.state;
const { children } = this.props;
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index a5d104cc9..e0a310b6c 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -213,6 +213,10 @@
}
}
+.dropdown-menu {
+ position: absolute;
+}
+
.dropdown--active .icon-button {
color: $ui-highlight-color;
}
@@ -694,8 +698,8 @@
.status__action-bar-dropdown {
float: left;
- height: 18px;
- width: 18px;
+ height: 23.15px;
+ width: 23.15px;
}
.detailed-status__action-bar-dropdown {
@@ -704,26 +708,6 @@
align-items: center;
justify-content: center;
position: relative;
-
- .dropdown {
- display: block;
- width: 18px;
- height: 18px;
- }
-
- .dropdown--active {
- .dropdown__content.dropdown__left {
- left: 20px;
- right: initial;
- }
-
- &::after {
- bottom: initial;
- margin-left: 7px;
- margin-top: -7px;
- right: initial;
- }
- }
}
.detailed-status {
@@ -1254,10 +1238,80 @@
position: absolute;
}
-.dropdown__sep {
+.dropdown-menu__separator {
border-bottom: 1px solid darken($ui-secondary-color, 8%);
margin: 5px 7px 6px;
- padding-top: 1px;
+ height: 0;
+}
+
+.dropdown-menu {
+ background: $ui-secondary-color;
+ padding: 4px 0;
+ border-radius: 4px;
+ box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
+
+ ul {
+ list-style: none;
+ }
+}
+
+.dropdown-menu__arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border: 0 solid transparent;
+
+ &.left {
+ right: -5px;
+ margin-top: -5px;
+ border-width: 5px 0 5px 5px;
+ border-left-color: $ui-secondary-color;
+ }
+
+ &.top {
+ bottom: -5px;
+ margin-left: -13px;
+ border-width: 5px 5px 0;
+ border-top-color: $ui-secondary-color;
+ }
+
+ &.bottom {
+ top: -5px;
+ margin-left: -13px;
+ border-width: 0 5px 5px;
+ border-bottom-color: $ui-secondary-color;
+ }
+
+ &.right {
+ left: -5px;
+ margin-top: -5px;
+ border-width: 5px 5px 5px 0;
+ border-right-color: $ui-secondary-color;
+ }
+}
+
+.dropdown-menu__item {
+ a {
+ font-size: 13px;
+ line-height: 18px;
+ display: block;
+ padding: 4px 14px;
+ box-sizing: border-box;
+ text-decoration: none;
+ background: $ui-secondary-color;
+ color: $ui-base-color;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ &:focus,
+ &:hover,
+ &:active {
+ background: $ui-highlight-color;
+ color: $ui-secondary-color;
+ outline: 0;
+ }
+ }
}
.dropdown--active .dropdown__content {
@@ -3472,6 +3526,10 @@ button.icon-button.active i.fa-retweet {
padding-top: 10px;
padding-bottom: 10px;
}
+
+ .dropdown-menu__separator {
+ border-bottom-color: $ui-secondary-color;
+ }
}
.boost-modal__container {
@@ -3549,6 +3607,10 @@ button.icon-button.active i.fa-retweet {
max-height: 80vh;
max-width: 80vw;
+ .actions-modal__item-label {
+ font-weight: 500;
+ }
+
ul {
overflow-y: auto;
flex-shrink: 0;
@@ -3561,11 +3623,20 @@ button.icon-button.active i.fa-retweet {
a {
color: $ui-base-color;
display: flex;
- padding: 10px;
+ padding: 12px 16px;
+ font-size: 15px;
align-items: center;
text-decoration: none;
- &.active {
+ &,
+ button {
+ transition: none;
+ }
+
+ &.active,
+ &:hover,
+ &:active,
+ &:focus {
&,
button {
background: $ui-highlight-color;
diff --git a/package.json b/package.json
index 228dd1f25..8894835cd 100644
--- a/package.json
+++ b/package.json
@@ -88,6 +88,7 @@
"react-intl": "^2.4.0",
"react-motion": "^0.5.0",
"react-notification": "^6.7.1",
+ "react-overlays": "^0.8.1",
"react-redux": "^5.0.4",
"react-redux-loading-bar": "^2.9.2",
"react-router-dom": "^4.1.1",
diff --git a/spec/javascript/components/dropdown_menu.test.js b/spec/javascript/components/dropdown_menu.test.js
deleted file mode 100644
index a5af730ef..000000000
--- a/spec/javascript/components/dropdown_menu.test.js
+++ /dev/null
@@ -1,132 +0,0 @@
-import { expect } from 'chai';
-import { shallow, mount } from 'enzyme';
-import sinon from 'sinon';
-import React from 'react';
-import DropdownMenu from '../../../app/javascript/mastodon/components/dropdown_menu';
-import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
-
-const isTrue = () => true;
-
-describe(' ', () => {
- const icon = 'my-icon';
- const size = 123;
- let items;
- let wrapper;
- let action;
-
- beforeEach(() => {
- action = sinon.spy();
-
- items = [
- { text: 'first item', action: action, href: '/some/url' },
- { text: 'second item', action: 'noop' },
- ];
- wrapper = shallow( );
- });
-
- it('contains one ', () => {
- expect(wrapper).to.have.exactly(1).descendants(Dropdown);
- });
-
- it('contains one ', () => {
- expect(wrapper.find(Dropdown)).to.have.exactly(1).descendants(DropdownTrigger);
- });
-
- it('contains one ', () => {
- expect(wrapper.find(Dropdown)).to.have.exactly(1).descendants(DropdownContent);
- });
-
- it('does not contain a if isUserTouching', () => {
- const touchingWrapper = shallow( );
- expect(touchingWrapper.find(Dropdown)).to.have.exactly(0).descendants(DropdownContent);
- });
-
- it('does not contain a if isUserTouching', () => {
- const touchingWrapper = shallow( );
- expect(touchingWrapper.find(Dropdown)).to.have.exactly(0).descendants(DropdownContent);
- });
-
- it('uses props.size for style values', () => {
- ['font-size', 'width', 'line-height'].map((property) => {
- expect(wrapper.find(DropdownTrigger)).to.have.style(property, `${size}px`);
- });
- });
-
- it('uses props.icon as icon class name', () => {
- expect(wrapper.find(DropdownTrigger).find('i')).to.have.className(`fa-${icon}`);
- });
-
- it('is not expanded by default', () => {
- expect(wrapper.state('expanded')).to.be.equal(false);
- });
-
- it('does not render the list elements if not expanded', () => {
- const lis = wrapper.find(DropdownContent).find('li');
- expect(lis.length).to.be.equal(0);
- });
-
- it('sets expanded to true when clicking the trigger', () => {
- const wrapper = mount( );
- wrapper.find(DropdownTrigger).first().simulate('click');
- expect(wrapper.state('expanded')).to.be.equal(true);
- });
-
- it('calls onModalOpen when clicking the trigger if isUserTouching', () => {
- const onModalOpen = sinon.spy();
- const touchingWrapper = mount( );
- touchingWrapper.find(DropdownTrigger).first().simulate('click');
- expect(onModalOpen.calledOnce).to.be.equal(true);
- expect(onModalOpen.args[0][0]).to.be.deep.equal({ status: 3.14, actions: items, onClick: touchingWrapper.node.handleClick });
- });
-
- it('calls onModalClose when clicking an action if isUserTouching and isModalOpen', () => {
- const onModalOpen = sinon.spy();
- const onModalClose = sinon.spy();
- const touchingWrapper = mount( );
- touchingWrapper.find(DropdownTrigger).first().simulate('click');
- touchingWrapper.node.handleClick({ currentTarget: { getAttribute: () => '0' }, preventDefault: () => null });
- expect(onModalClose.calledOnce).to.be.equal(true);
- });
-
- // Error: ReactWrapper::state() can only be called on the root
- /*it('sets expanded to false when clicking outside', () => {
- const wrapper = mount((
-
-
-
-
- ));
-
- wrapper.find(DropdownTrigger).first().simulate('click');
- expect(wrapper.find(DropdownMenu).first().state('expanded')).to.be.equal(true);
-
- wrapper.find('span').first().simulate('click');
- expect(wrapper.find(DropdownMenu).first().state('expanded')).to.be.equal(false);
- })*/
-
- it('renders list elements for each props.items if expanded', () => {
- const wrapper = mount( );
- wrapper.find(DropdownTrigger).first().simulate('click');
- const lis = wrapper.find(DropdownContent).find('li');
- expect(lis.length).to.be.equal(items.length);
- });
-
- it('uses the href passed in via props.items', () => {
- wrapper
- .find(DropdownContent).find('li a')
- .forEach((a, i) => expect(a).to.have.attr('href', items[i].href));
- });
-
- it('uses the text passed in via props.items', () => {
- wrapper
- .find(DropdownContent).find('li a')
- .forEach((a, i) => expect(a).to.have.text(items[i].text));
- });
-
- it('uses the action passed in via props.items as click handler', () => {
- const wrapper = mount( );
- wrapper.find(DropdownTrigger).first().simulate('click');
- wrapper.find(DropdownContent).find('li a').first().simulate('click');
- expect(action.calledOnce).to.equal(true);
- });
-});
diff --git a/yarn.lock b/yarn.lock
index c1c27a615..1abf6a326 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1234,6 +1234,10 @@ chai@^4.1.0:
pathval "^1.0.0"
type-detect "^4.0.0"
+chain-function@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc"
+
chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -1972,7 +1976,7 @@ doctrine@^2.0.0:
esutils "^2.0.2"
isarray "^1.0.0"
-"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.0.0, dom-helpers@^3.2.1:
+"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.0.0, dom-helpers@^3.2.0, dom-helpers@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.2.1.tgz#3203e07fed217bd1f424b019735582fc37b2825a"
@@ -5131,6 +5135,12 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
+prop-types-extra@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.0.1.tgz#a57bd4810e82d27a3ff4317ecc1b4ad005f79a82"
+ dependencies:
+ warning "^3.0.0"
+
prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8:
version "15.5.10"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154"
@@ -5329,6 +5339,17 @@ react-notification@^6.7.1:
dependencies:
prop-types "^15.5.10"
+react-overlays@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.1.tgz#26e480003c2fd6f581a4a66c0c86cb3dff17e626"
+ dependencies:
+ classnames "^2.2.5"
+ dom-helpers "^3.2.1"
+ prop-types "^15.5.10"
+ prop-types-extra "^1.0.1"
+ react-transition-group "^2.0.0-beta.0"
+ warning "^3.0.0"
+
react-redux-loading-bar@^2.9.2:
version "2.9.2"
resolved "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-2.9.2.tgz#f0e604ee35af5ecb25addb10bf24ca3d478c95a8"
@@ -5430,6 +5451,17 @@ react-toggle@^4.0.1:
dependencies:
classnames "^2.2.5"
+react-transition-group@^2.0.0-beta.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.2.0.tgz#793bf8cb15bfe91b3101b24bce1c1d2891659575"
+ dependencies:
+ chain-function "^1.0.0"
+ classnames "^2.2.5"
+ dom-helpers "^3.2.0"
+ loose-envify "^1.3.1"
+ prop-types "^15.5.8"
+ warning "^3.0.0"
+
react-virtualized@^9.7.4:
version "9.9.0"
resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.9.0.tgz#799a6f23819eeb82860d59b82fad33d1d420325e"
--
cgit
From b01ab55ed83faddef4cc5c67ebbe5f72c9cad832 Mon Sep 17 00:00:00 2001
From: Nolan Lawson
Date: Fri, 22 Sep 2017 08:50:29 -0700
Subject: Fix PropTypes.oneOfType() warning (#5041)
---
app/javascript/mastodon/features/ui/components/column_loading.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/features/ui/components/column_loading.js b/app/javascript/mastodon/features/ui/components/column_loading.js
index 4834f0038..9503a7a1a 100644
--- a/app/javascript/mastodon/features/ui/components/column_loading.js
+++ b/app/javascript/mastodon/features/ui/components/column_loading.js
@@ -8,7 +8,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
export default class ColumnLoading extends ImmutablePureComponent {
static propTypes = {
- title: PropTypes.oneOfType(PropTypes.node, PropTypes.string),
+ title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
icon: PropTypes.string,
};
--
cgit
From 846cd4e8381c891816cf814582304b534db4ee5f Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 23 Sep 2017 01:41:00 +0200
Subject: Switch from EmojiOne to Twemoji, different emoji picker (#5046)
* Switch from EmojiOne to Twemoji, different emoji picker
* Make emoji-mart use a local spritesheet
* Fix emojify test
* yarn manage:translations
---
app/javascript/mastodon/emoji.js | 4 +-
app/javascript/mastodon/emojione_light.js | 2 +-
.../features/compose/components/compose_form.js | 2 +-
.../compose/components/emoji_picker_dropdown.js | 324 ++++++++++++++++-----
.../mastodon/features/ui/util/async-components.js | 2 +-
app/javascript/mastodon/locales/ar.json | 4 +
app/javascript/mastodon/locales/bg.json | 4 +
app/javascript/mastodon/locales/ca.json | 4 +
app/javascript/mastodon/locales/de.json | 4 +
.../mastodon/locales/defaultMessages.json | 25 +-
app/javascript/mastodon/locales/en.json | 4 +
app/javascript/mastodon/locales/eo.json | 4 +
app/javascript/mastodon/locales/es.json | 4 +
app/javascript/mastodon/locales/fa.json | 4 +
app/javascript/mastodon/locales/fi.json | 4 +
app/javascript/mastodon/locales/fr.json | 4 +
app/javascript/mastodon/locales/he.json | 4 +
app/javascript/mastodon/locales/hr.json | 4 +
app/javascript/mastodon/locales/hu.json | 4 +
app/javascript/mastodon/locales/id.json | 4 +
app/javascript/mastodon/locales/io.json | 4 +
app/javascript/mastodon/locales/it.json | 4 +
app/javascript/mastodon/locales/ja.json | 4 +
app/javascript/mastodon/locales/ko.json | 4 +
app/javascript/mastodon/locales/nl.json | 11 +-
app/javascript/mastodon/locales/no.json | 4 +
app/javascript/mastodon/locales/oc.json | 4 +
app/javascript/mastodon/locales/pl.json | 4 +
app/javascript/mastodon/locales/pt-BR.json | 8 +-
app/javascript/mastodon/locales/pt.json | 4 +
app/javascript/mastodon/locales/ru.json | 4 +
app/javascript/mastodon/locales/th.json | 4 +
app/javascript/mastodon/locales/tr.json | 4 +
app/javascript/mastodon/locales/uk.json | 4 +
app/javascript/mastodon/locales/zh-CN.json | 4 +
app/javascript/mastodon/locales/zh-HK.json | 4 +
app/javascript/mastodon/locales/zh-TW.json | 4 +
app/javascript/mastodon/reducers/compose.js | 2 +-
app/javascript/styles/application.scss | 1 +
app/javascript/styles/components.scss | 218 +++-----------
app/javascript/styles/emoji_picker.scss | 197 +++++++++++++
app/views/layouts/application.html.haml | 2 +-
package.json | 1 +
public/emoji/0023-20e3.png | Bin 604 -> 0 bytes
public/emoji/0023-20e3.svg | 2 -
public/emoji/0023.png | Bin 634 -> 0 bytes
public/emoji/0023.svg | 1 -
public/emoji/002a-20e3.png | Bin 627 -> 0 bytes
public/emoji/002a-20e3.svg | 2 -
public/emoji/002a.png | Bin 645 -> 0 bytes
public/emoji/002a.svg | 1 -
public/emoji/0030-20e3.png | Bin 560 -> 0 bytes
public/emoji/0030-20e3.svg | 2 -
public/emoji/0030.png | Bin 573 -> 0 bytes
public/emoji/0030.svg | 1 -
public/emoji/0031-20e3.png | Bin 442 -> 0 bytes
public/emoji/0031-20e3.svg | 2 -
public/emoji/0031.png | Bin 505 -> 0 bytes
public/emoji/0031.svg | 1 -
public/emoji/0032-20e3.png | Bin 567 -> 0 bytes
public/emoji/0032-20e3.svg | 2 -
public/emoji/0032.png | Bin 604 -> 0 bytes
public/emoji/0032.svg | 1 -
public/emoji/0033-20e3.png | Bin 602 -> 0 bytes
public/emoji/0033-20e3.svg | 2 -
public/emoji/0033.png | Bin 644 -> 0 bytes
public/emoji/0033.svg | 1 -
public/emoji/0034-20e3.png | Bin 497 -> 0 bytes
public/emoji/0034-20e3.svg | 2 -
public/emoji/0034.png | Bin 542 -> 0 bytes
public/emoji/0034.svg | 1 -
public/emoji/0035-20e3.png | Bin 577 -> 0 bytes
public/emoji/0035-20e3.svg | 2 -
public/emoji/0035.png | Bin 615 -> 0 bytes
public/emoji/0035.svg | 1 -
public/emoji/0036-20e3.png | Bin 612 -> 0 bytes
public/emoji/0036-20e3.svg | 2 -
public/emoji/0036.png | Bin 649 -> 0 bytes
public/emoji/0036.svg | 1 -
public/emoji/0037-20e3.png | Bin 522 -> 0 bytes
public/emoji/0037-20e3.svg | 2 -
public/emoji/0037.png | Bin 559 -> 0 bytes
public/emoji/0037.svg | 1 -
public/emoji/0038-20e3.png | Bin 608 -> 0 bytes
public/emoji/0038-20e3.svg | 2 -
public/emoji/0038.png | Bin 646 -> 0 bytes
public/emoji/0038.svg | 1 -
public/emoji/0039-20e3.png | Bin 607 -> 0 bytes
public/emoji/0039-20e3.svg | 2 -
public/emoji/0039.png | Bin 654 -> 0 bytes
public/emoji/0039.svg | 1 -
public/emoji/00a9.png | Bin 530 -> 0 bytes
public/emoji/00a9.svg | 1 -
public/emoji/00ae.png | Bin 547 -> 0 bytes
public/emoji/00ae.svg | 1 -
public/emoji/1f004.png | Bin 951 -> 0 bytes
public/emoji/1f004.svg | 2 +-
public/emoji/1f0cf.png | Bin 1091 -> 0 bytes
public/emoji/1f0cf.svg | 2 +-
public/emoji/1f170.png | Bin 469 -> 0 bytes
public/emoji/1f170.svg | 2 +-
public/emoji/1f171.png | Bin 391 -> 0 bytes
public/emoji/1f171.svg | 2 +-
public/emoji/1f17e.png | Bin 425 -> 0 bytes
public/emoji/1f17e.svg | 2 +-
public/emoji/1f17f.png | Bin 385 -> 0 bytes
public/emoji/1f17f.svg | 2 +-
public/emoji/1f18e.png | Bin 505 -> 0 bytes
public/emoji/1f18e.svg | 2 +-
public/emoji/1f191.png | Bin 393 -> 0 bytes
public/emoji/1f191.svg | 2 +-
public/emoji/1f192.png | Bin 396 -> 0 bytes
public/emoji/1f192.svg | 2 +-
public/emoji/1f193.png | Bin 370 -> 0 bytes
public/emoji/1f193.svg | 2 +-
public/emoji/1f194.png | Bin 348 -> 0 bytes
public/emoji/1f194.svg | 2 +-
public/emoji/1f195.png | Bin 486 -> 0 bytes
public/emoji/1f195.svg | 2 +-
public/emoji/1f196.png | Bin 445 -> 0 bytes
public/emoji/1f196.svg | 2 +-
public/emoji/1f197.png | Bin 511 -> 0 bytes
public/emoji/1f197.svg | 2 +-
public/emoji/1f198.png | Bin 604 -> 0 bytes
public/emoji/1f198.svg | 2 +-
public/emoji/1f199.png | Bin 405 -> 0 bytes
public/emoji/1f199.svg | 2 +-
public/emoji/1f19a.png | Bin 604 -> 0 bytes
public/emoji/1f19a.svg | 2 +-
public/emoji/1f1e6-1f1e8.png | Bin 1934 -> 0 bytes
public/emoji/1f1e6-1f1e8.svg | 2 +-
public/emoji/1f1e6-1f1e9.png | Bin 1285 -> 0 bytes
public/emoji/1f1e6-1f1e9.svg | 2 +-
public/emoji/1f1e6-1f1ea.png | Bin 544 -> 0 bytes
public/emoji/1f1e6-1f1ea.svg | 2 +-
public/emoji/1f1e6-1f1eb.png | Bin 942 -> 0 bytes
public/emoji/1f1e6-1f1eb.svg | 2 +-
public/emoji/1f1e6-1f1ec.png | Bin 913 -> 0 bytes
public/emoji/1f1e6-1f1ec.svg | 2 +-
public/emoji/1f1e6-1f1ee.png | Bin 1056 -> 0 bytes
public/emoji/1f1e6-1f1ee.svg | 2 +-
public/emoji/1f1e6-1f1f1.png | Bin 905 -> 0 bytes
public/emoji/1f1e6-1f1f1.svg | 2 +-
public/emoji/1f1e6-1f1f2.png | Bin 514 -> 0 bytes
public/emoji/1f1e6-1f1f2.svg | 2 +-
public/emoji/1f1e6-1f1f4.png | Bin 997 -> 0 bytes
public/emoji/1f1e6-1f1f4.svg | 2 +-
public/emoji/1f1e6-1f1f6.png | Bin 657 -> 0 bytes
public/emoji/1f1e6-1f1f6.svg | 2 +-
public/emoji/1f1e6-1f1f7.png | Bin 975 -> 0 bytes
public/emoji/1f1e6-1f1f7.svg | 2 +-
public/emoji/1f1e6-1f1f8.png | Bin 1489 -> 0 bytes
public/emoji/1f1e6-1f1f8.svg | 3 +-
public/emoji/1f1e6-1f1f9.png | Bin 430 -> 0 bytes
public/emoji/1f1e6-1f1f9.svg | 2 +-
public/emoji/1f1e6-1f1fa.png | Bin 962 -> 0 bytes
public/emoji/1f1e6-1f1fa.svg | 2 +-
public/emoji/1f1e6-1f1fc.png | Bin 709 -> 0 bytes
public/emoji/1f1e6-1f1fc.svg | 2 +-
public/emoji/1f1e6-1f1fd.png | Bin 496 -> 0 bytes
public/emoji/1f1e6-1f1fd.svg | 2 +-
public/emoji/1f1e6-1f1ff.png | Bin 709 -> 0 bytes
public/emoji/1f1e6-1f1ff.svg | 2 +-
public/emoji/1f1e6.png | Bin 614 -> 0 bytes
public/emoji/1f1e6.svg | 2 +-
public/emoji/1f1e7-1f1e6.png | Bin 848 -> 0 bytes
public/emoji/1f1e7-1f1e6.svg | 2 +-
public/emoji/1f1e7-1f1e7.png | Bin 789 -> 0 bytes
public/emoji/1f1e7-1f1e7.svg | 2 +-
public/emoji/1f1e7-1f1e9.png | Bin 490 -> 0 bytes
public/emoji/1f1e7-1f1e9.svg | 2 +-
public/emoji/1f1e7-1f1ea.png | Bin 444 -> 0 bytes
public/emoji/1f1e7-1f1ea.svg | 2 +-
public/emoji/1f1e7-1f1eb.png | Bin 717 -> 0 bytes
public/emoji/1f1e7-1f1eb.svg | 2 +-
public/emoji/1f1e7-1f1ec.png | Bin 513 -> 0 bytes
public/emoji/1f1e7-1f1ec.svg | 2 +-
public/emoji/1f1e7-1f1ed.png | Bin 593 -> 0 bytes
public/emoji/1f1e7-1f1ed.svg | 3 +-
public/emoji/1f1e7-1f1ee.png | Bin 795 -> 0 bytes
public/emoji/1f1e7-1f1ee.svg | 2 +-
public/emoji/1f1e7-1f1ef.png | Bin 554 -> 0 bytes
public/emoji/1f1e7-1f1ef.svg | 2 +-
public/emoji/1f1e7-1f1f1.png | Bin 1691 -> 0 bytes
public/emoji/1f1e7-1f1f1.svg | 2 +-
public/emoji/1f1e7-1f1f2.png | Bin 1374 -> 0 bytes
public/emoji/1f1e7-1f1f2.svg | 2 +-
public/emoji/1f1e7-1f1f3.png | Bin 1355 -> 0 bytes
public/emoji/1f1e7-1f1f3.svg | 3 +-
public/emoji/1f1e7-1f1f4.png | Bin 1132 -> 0 bytes
public/emoji/1f1e7-1f1f4.svg | 2 +-
public/emoji/1f1e7-1f1f6.png | Bin 1144 -> 0 bytes
public/emoji/1f1e7-1f1f6.svg | 2 +-
public/emoji/1f1e7-1f1f7.png | Bin 819 -> 0 bytes
public/emoji/1f1e7-1f1f7.svg | 2 +-
public/emoji/1f1e7-1f1f8.png | Bin 448 -> 0 bytes
public/emoji/1f1e7-1f1f8.svg | 2 +-
public/emoji/1f1e7-1f1f9.png | Bin 1213 -> 0 bytes
public/emoji/1f1e7-1f1f9.svg | 2 +-
public/emoji/1f1e7-1f1fb.png | Bin 495 -> 0 bytes
public/emoji/1f1e7-1f1fb.svg | 2 +-
public/emoji/1f1e7-1f1fc.png | Bin 391 -> 0 bytes
public/emoji/1f1e7-1f1fc.svg | 2 +-
public/emoji/1f1e7-1f1fe.png | Bin 1120 -> 0 bytes
public/emoji/1f1e7-1f1fe.svg | 2 +-
public/emoji/1f1e7-1f1ff.png | Bin 1595 -> 0 bytes
public/emoji/1f1e7-1f1ff.svg | 2 +-
public/emoji/1f1e7.png | Bin 572 -> 0 bytes
public/emoji/1f1e7.svg | 2 +-
public/emoji/1f1e8-1f1e6.png | Bin 755 -> 0 bytes
public/emoji/1f1e8-1f1e6.svg | 2 +-
public/emoji/1f1e8-1f1e8.png | Bin 851 -> 0 bytes
public/emoji/1f1e8-1f1e8.svg | 2 +-
public/emoji/1f1e8-1f1e9.png | Bin 707 -> 0 bytes
public/emoji/1f1e8-1f1e9.svg | 2 +-
public/emoji/1f1e8-1f1eb.png | Bin 673 -> 0 bytes
public/emoji/1f1e8-1f1eb.svg | 2 +-
public/emoji/1f1e8-1f1ec.png | Bin 586 -> 0 bytes
public/emoji/1f1e8-1f1ec.svg | 2 +-
public/emoji/1f1e8-1f1ed.png | Bin 390 -> 0 bytes
public/emoji/1f1e8-1f1ed.svg | 2 +-
public/emoji/1f1e8-1f1ee.png | Bin 440 -> 0 bytes
public/emoji/1f1e8-1f1ee.svg | 2 +-
public/emoji/1f1e8-1f1f0.png | Bin 1083 -> 0 bytes
public/emoji/1f1e8-1f1f0.svg | 2 +-
public/emoji/1f1e8-1f1f1.png | Bin 748 -> 0 bytes
public/emoji/1f1e8-1f1f1.svg | 2 +-
public/emoji/1f1e8-1f1f2.png | Bin 627 -> 0 bytes
public/emoji/1f1e8-1f1f2.svg | 2 +-
public/emoji/1f1e8-1f1f3.png | Bin 676 -> 0 bytes
public/emoji/1f1e8-1f1f3.svg | 2 +-
public/emoji/1f1e8-1f1f4.png | Bin 524 -> 0 bytes
public/emoji/1f1e8-1f1f4.svg | 2 +-
public/emoji/1f1e8-1f1f5.png | Bin 443 -> 0 bytes
public/emoji/1f1e8-1f1f5.svg | 2 +-
public/emoji/1f1e8-1f1f7.png | Bin 419 -> 0 bytes
public/emoji/1f1e8-1f1f7.svg | 2 +-
public/emoji/1f1e8-1f1fa.png | Bin 586 -> 0 bytes
public/emoji/1f1e8-1f1fa.svg | 2 +-
public/emoji/1f1e8-1f1fb.png | Bin 642 -> 0 bytes
public/emoji/1f1e8-1f1fb.svg | 2 +-
public/emoji/1f1e8-1f1fc.png | Bin 665 -> 0 bytes
public/emoji/1f1e8-1f1fc.svg | 2 +-
public/emoji/1f1e8-1f1fd.png | Bin 1142 -> 0 bytes
public/emoji/1f1e8-1f1fd.svg | 2 +-
public/emoji/1f1e8-1f1fe.png | Bin 830 -> 0 bytes
public/emoji/1f1e8-1f1fe.svg | 2 +-
public/emoji/1f1e8-1f1ff.png | Bin 600 -> 0 bytes
public/emoji/1f1e8-1f1ff.svg | 2 +-
public/emoji/1f1e8.png | Bin 612 -> 0 bytes
public/emoji/1f1e8.svg | 2 +-
public/emoji/1f1e9-1f1ea.png | Bin 502 -> 0 bytes
public/emoji/1f1e9-1f1ea.svg | 2 +-
public/emoji/1f1e9-1f1ec.png | Bin 1911 -> 0 bytes
public/emoji/1f1e9-1f1ec.svg | 2 +-
public/emoji/1f1e9-1f1ef.png | Bin 753 -> 0 bytes
public/emoji/1f1e9-1f1ef.svg | 2 +-
public/emoji/1f1e9-1f1f0.png | Bin 450 -> 0 bytes
public/emoji/1f1e9-1f1f0.svg | 2 +-
public/emoji/1f1e9-1f1f2.png | Bin 1075 -> 0 bytes
public/emoji/1f1e9-1f1f2.svg | 3 +-
public/emoji/1f1e9-1f1f4.png | Bin 1135 -> 0 bytes
public/emoji/1f1e9-1f1f4.svg | 2 +-
public/emoji/1f1e9-1f1ff.png | Bin 734 -> 0 bytes
public/emoji/1f1e9-1f1ff.svg | 2 +-
public/emoji/1f1e9.png | Bin 561 -> 0 bytes
public/emoji/1f1e9.svg | 2 +-
public/emoji/1f1ea-1f1e6.png | Bin 1337 -> 0 bytes
public/emoji/1f1ea-1f1e6.svg | 2 +-
public/emoji/1f1ea-1f1e8.png | Bin 1431 -> 0 bytes
public/emoji/1f1ea-1f1e8.svg | 2 +-
public/emoji/1f1ea-1f1ea.png | Bin 512 -> 0 bytes
public/emoji/1f1ea-1f1ea.svg | 2 +-
public/emoji/1f1ea-1f1ec.png | Bin 818 -> 0 bytes
public/emoji/1f1ea-1f1ec.svg | 2 +-
public/emoji/1f1ea-1f1ed.png | Bin 742 -> 0 bytes
public/emoji/1f1ea-1f1ed.svg | 2 +-
public/emoji/1f1ea-1f1f7.png | Bin 1218 -> 0 bytes
public/emoji/1f1ea-1f1f7.svg | 2 +-
public/emoji/1f1ea-1f1f8.png | Bin 1337 -> 0 bytes
public/emoji/1f1ea-1f1f8.svg | 2 +-
public/emoji/1f1ea-1f1f9.png | Bin 947 -> 0 bytes
public/emoji/1f1ea-1f1f9.svg | 2 +-
public/emoji/1f1ea-1f1fa.png | Bin 760 -> 0 bytes
public/emoji/1f1ea-1f1fa.svg | 2 +-
public/emoji/1f1ea.png | Bin 443 -> 0 bytes
public/emoji/1f1ea.svg | 2 +-
public/emoji/1f1eb-1f1ee.png | Bin 487 -> 0 bytes
public/emoji/1f1eb-1f1ee.svg | 2 +-
public/emoji/1f1eb-1f1ef.png | Bin 1381 -> 0 bytes
public/emoji/1f1eb-1f1ef.svg | 2 +-
public/emoji/1f1eb-1f1f0.png | Bin 1558 -> 0 bytes
public/emoji/1f1eb-1f1f0.svg | 2 +-
public/emoji/1f1eb-1f1f2.png | Bin 554 -> 0 bytes
public/emoji/1f1eb-1f1f2.svg | 2 +-
public/emoji/1f1eb-1f1f4.png | Bin 495 -> 0 bytes
public/emoji/1f1eb-1f1f4.svg | 2 +-
public/emoji/1f1eb-1f1f7.png | Bin 443 -> 0 bytes
public/emoji/1f1eb-1f1f7.svg | 2 +-
public/emoji/1f1eb.png | Bin 462 -> 0 bytes
public/emoji/1f1eb.svg | 2 +-
public/emoji/1f1ec-1f1e6.png | Bin 512 -> 0 bytes
public/emoji/1f1ec-1f1e6.svg | 2 +-
public/emoji/1f1ec-1f1e7.png | Bin 919 -> 0 bytes
public/emoji/1f1ec-1f1e7.svg | 2 +-
public/emoji/1f1ec-1f1e9.png | Bin 1017 -> 0 bytes
public/emoji/1f1ec-1f1e9.svg | 2 +-
public/emoji/1f1ec-1f1ea.png | Bin 583 -> 0 bytes
public/emoji/1f1ec-1f1ea.svg | 3 +-
public/emoji/1f1ec-1f1eb.png | Bin 865 -> 0 bytes
public/emoji/1f1ec-1f1eb.svg | 2 +-
public/emoji/1f1ec-1f1ec.png | Bin 521 -> 0 bytes
public/emoji/1f1ec-1f1ec.svg | 3 +-
public/emoji/1f1ec-1f1ed.png | Bin 723 -> 0 bytes
public/emoji/1f1ec-1f1ed.svg | 2 +-
public/emoji/1f1ec-1f1ee.png | Bin 1053 -> 0 bytes
public/emoji/1f1ec-1f1ee.svg | 2 +-
public/emoji/1f1ec-1f1f1.png | Bin 700 -> 0 bytes
public/emoji/1f1ec-1f1f1.svg | 2 +-
public/emoji/1f1ec-1f1f2.png | Bin 501 -> 0 bytes
public/emoji/1f1ec-1f1f2.svg | 2 +-
public/emoji/1f1ec-1f1f3.png | Bin 434 -> 0 bytes
public/emoji/1f1ec-1f1f3.svg | 2 +-
public/emoji/1f1ec-1f1f5.png | Bin 1587 -> 0 bytes
public/emoji/1f1ec-1f1f5.svg | 2 +-
public/emoji/1f1ec-1f1f6.png | Bin 1132 -> 0 bytes
public/emoji/1f1ec-1f1f6.svg | 2 +-
public/emoji/1f1ec-1f1f7.png | Bin 549 -> 0 bytes
public/emoji/1f1ec-1f1f7.svg | 2 +-
public/emoji/1f1ec-1f1f8.png | Bin 2115 -> 0 bytes
public/emoji/1f1ec-1f1f8.svg | 2 +-
public/emoji/1f1ec-1f1f9.png | Bin 1087 -> 0 bytes
public/emoji/1f1ec-1f1f9.svg | 2 +-
public/emoji/1f1ec-1f1fa.png | Bin 1045 -> 0 bytes
public/emoji/1f1ec-1f1fa.svg | 2 +-
public/emoji/1f1ec-1f1fc.png | Bin 705 -> 0 bytes
public/emoji/1f1ec-1f1fc.svg | 2 +-
public/emoji/1f1ec-1f1fe.png | Bin 690 -> 0 bytes
public/emoji/1f1ec-1f1fe.svg | 3 +-
public/emoji/1f1ec.png | Bin 644 -> 0 bytes
public/emoji/1f1ec.svg | 2 +-
public/emoji/1f1ed-1f1f0.png | Bin 759 -> 0 bytes
public/emoji/1f1ed-1f1f0.svg | 2 +-
public/emoji/1f1ed-1f1f2.png | Bin 1036 -> 0 bytes
public/emoji/1f1ed-1f1f2.svg | 2 +-
public/emoji/1f1ed-1f1f3.png | Bin 513 -> 0 bytes
public/emoji/1f1ed-1f1f3.svg | 2 +-
public/emoji/1f1ed-1f1f7.png | Bin 1411 -> 0 bytes
public/emoji/1f1ed-1f1f7.svg | 2 +-
public/emoji/1f1ed-1f1f9.png | Bin 1205 -> 0 bytes
public/emoji/1f1ed-1f1f9.svg | 2 +-
public/emoji/1f1ed-1f1fa.png | Bin 513 -> 0 bytes
public/emoji/1f1ed-1f1fa.svg | 2 +-
public/emoji/1f1ed.png | Bin 434 -> 0 bytes
public/emoji/1f1ed.svg | 2 +-
public/emoji/1f1ee-1f1e8.png | Bin 1330 -> 0 bytes
public/emoji/1f1ee-1f1e8.svg | 2 +-
public/emoji/1f1ee-1f1e9.png | Bin 498 -> 0 bytes
public/emoji/1f1ee-1f1e9.svg | 2 +-
public/emoji/1f1ee-1f1ea.png | Bin 478 -> 0 bytes
public/emoji/1f1ee-1f1ea.svg | 2 +-
public/emoji/1f1ee-1f1f1.png | Bin 658 -> 0 bytes
public/emoji/1f1ee-1f1f1.svg | 2 +-
public/emoji/1f1ee-1f1f2.png | Bin 976 -> 0 bytes
public/emoji/1f1ee-1f1f2.svg | 2 +-
public/emoji/1f1ee-1f1f3.png | Bin 773 -> 0 bytes
public/emoji/1f1ee-1f1f3.svg | 2 +-
public/emoji/1f1ee-1f1f4.png | Bin 1911 -> 0 bytes
public/emoji/1f1ee-1f1f4.svg | 2 +-
public/emoji/1f1ee-1f1f6.png | Bin 811 -> 0 bytes
public/emoji/1f1ee-1f1f6.svg | 2 +-
public/emoji/1f1ee-1f1f7.png | Bin 1036 -> 0 bytes
public/emoji/1f1ee-1f1f7.svg | 2 +-
public/emoji/1f1ee-1f1f8.png | Bin 491 -> 0 bytes
public/emoji/1f1ee-1f1f8.svg | 2 +-
public/emoji/1f1ee-1f1f9.png | Bin 472 -> 0 bytes
public/emoji/1f1ee-1f1f9.svg | 2 +-
public/emoji/1f1ee.png | Bin 395 -> 0 bytes
public/emoji/1f1ee.svg | 2 +-
public/emoji/1f1ef-1f1ea.png | Bin 956 -> 0 bytes
public/emoji/1f1ef-1f1ea.svg | 2 +-
public/emoji/1f1ef-1f1f2.png | Bin 837 -> 0 bytes
public/emoji/1f1ef-1f1f2.svg | 3 +-
public/emoji/1f1ef-1f1f4.png | Bin 740 -> 0 bytes
public/emoji/1f1ef-1f1f4.svg | 2 +-
public/emoji/1f1ef-1f1f5.png | Bin 455 -> 0 bytes
public/emoji/1f1ef-1f1f5.svg | 2 +-
public/emoji/1f1ef.png | Bin 527 -> 0 bytes
public/emoji/1f1ef.svg | 2 +-
public/emoji/1f1f0-1f1ea.png | Bin 1160 -> 0 bytes
public/emoji/1f1f0-1f1ea.svg | 2 +-
public/emoji/1f1f0-1f1ec.png | Bin 1080 -> 0 bytes
public/emoji/1f1f0-1f1ec.svg | 2 +-
public/emoji/1f1f0-1f1ed.png | Bin 872 -> 0 bytes
public/emoji/1f1f0-1f1ed.svg | 2 +-
public/emoji/1f1f0-1f1ee.png | Bin 1369 -> 0 bytes
public/emoji/1f1f0-1f1ee.svg | 2 +-
public/emoji/1f1f0-1f1f2.png | Bin 783 -> 0 bytes
public/emoji/1f1f0-1f1f2.svg | 2 +-
public/emoji/1f1f0-1f1f3.png | Bin 1316 -> 0 bytes
public/emoji/1f1f0-1f1f3.svg | 2 +-
public/emoji/1f1f0-1f1f5.png | Bin 696 -> 0 bytes
public/emoji/1f1f0-1f1f5.svg | 2 +-
public/emoji/1f1f0-1f1f7.png | Bin 967 -> 0 bytes
public/emoji/1f1f0-1f1f7.svg | 2 +-
public/emoji/1f1f0-1f1fc.png | Bin 560 -> 0 bytes
public/emoji/1f1f0-1f1fc.svg | 2 +-
public/emoji/1f1f0-1f1fe.png | Bin 1671 -> 0 bytes
public/emoji/1f1f0-1f1fe.svg | 2 +-
public/emoji/1f1f0-1f1ff.png | Bin 1136 -> 0 bytes
public/emoji/1f1f0-1f1ff.svg | 2 +-
public/emoji/1f1f0.png | Bin 582 -> 0 bytes
public/emoji/1f1f0.svg | 2 +-
public/emoji/1f1f1-1f1e6.png | Bin 479 -> 0 bytes
public/emoji/1f1f1-1f1e6.svg | 2 +-
public/emoji/1f1f1-1f1e7.png | Bin 740 -> 0 bytes
public/emoji/1f1f1-1f1e7.svg | 2 +-
public/emoji/1f1f1-1f1e8.png | Bin 561 -> 0 bytes
public/emoji/1f1f1-1f1e8.svg | 2 +-
public/emoji/1f1f1-1f1ee.png | Bin 946 -> 0 bytes
public/emoji/1f1f1-1f1ee.svg | 2 +-
public/emoji/1f1f1-1f1f0.png | Bin 974 -> 0 bytes
public/emoji/1f1f1-1f1f0.svg | 2 +-
public/emoji/1f1f1-1f1f7.png | Bin 772 -> 0 bytes
public/emoji/1f1f1-1f1f7.svg | 2 +-
public/emoji/1f1f1-1f1f8.png | Bin 775 -> 0 bytes
public/emoji/1f1f1-1f1f8.svg | 2 +-
public/emoji/1f1f1-1f1f9.png | Bin 510 -> 0 bytes
public/emoji/1f1f1-1f1f9.svg | 2 +-
public/emoji/1f1f1-1f1fa.png | Bin 512 -> 0 bytes
public/emoji/1f1f1-1f1fa.svg | 2 +-
public/emoji/1f1f1-1f1fb.png | Bin 388 -> 0 bytes
public/emoji/1f1f1-1f1fb.svg | 2 +-
public/emoji/1f1f1-1f1fe.png | Bin 685 -> 0 bytes
public/emoji/1f1f1-1f1fe.svg | 2 +-
public/emoji/1f1f1.png | Bin 436 -> 0 bytes
public/emoji/1f1f1.svg | 2 +-
public/emoji/1f1f2-1f1e6.png | Bin 626 -> 0 bytes
public/emoji/1f1f2-1f1e6.svg | 2 +-
public/emoji/1f1f2-1f1e8.png | Bin 528 -> 0 bytes
public/emoji/1f1f2-1f1e8.svg | 2 +-
public/emoji/1f1f2-1f1e9.png | Bin 1170 -> 0 bytes
public/emoji/1f1f2-1f1e9.svg | 2 +-
public/emoji/1f1f2-1f1ea.png | Bin 1074 -> 0 bytes
public/emoji/1f1f2-1f1ea.svg | 2 +-
public/emoji/1f1f2-1f1eb.png | Bin 443 -> 0 bytes
public/emoji/1f1f2-1f1eb.svg | 2 +-
public/emoji/1f1f2-1f1ec.png | Bin 556 -> 0 bytes
public/emoji/1f1f2-1f1ec.svg | 2 +-
public/emoji/1f1f2-1f1ed.png | Bin 1138 -> 0 bytes
public/emoji/1f1f2-1f1ed.svg | 2 +-
public/emoji/1f1f2-1f1f0.png | Bin 1023 -> 0 bytes
public/emoji/1f1f2-1f1f0.svg | 2 +-
public/emoji/1f1f2-1f1f1.png | Bin 440 -> 0 bytes
public/emoji/1f1f2-1f1f1.svg | 2 +-
public/emoji/1f1f2-1f1f2.png | Bin 937 -> 0 bytes
public/emoji/1f1f2-1f1f2.svg | 2 +-
public/emoji/1f1f2-1f1f3.png | Bin 698 -> 0 bytes
public/emoji/1f1f2-1f1f3.svg | 2 +-
public/emoji/1f1f2-1f1f4.png | Bin 792 -> 0 bytes
public/emoji/1f1f2-1f1f4.svg | 2 +-
public/emoji/1f1f2-1f1f5.png | Bin 1797 -> 0 bytes
public/emoji/1f1f2-1f1f5.svg | 2 +-
public/emoji/1f1f2-1f1f6.png | Bin 780 -> 0 bytes
public/emoji/1f1f2-1f1f6.svg | 3 +-
public/emoji/1f1f2-1f1f7.png | Bin 657 -> 0 bytes
public/emoji/1f1f2-1f1f7.svg | 2 +-
public/emoji/1f1f2-1f1f8.png | Bin 1477 -> 0 bytes
public/emoji/1f1f2-1f1f8.svg | 2 +-
public/emoji/1f1f2-1f1f9.png | Bin 799 -> 0 bytes
public/emoji/1f1f2-1f1f9.svg | 2 +-
public/emoji/1f1f2-1f1fa.png | Bin 544 -> 0 bytes
public/emoji/1f1f2-1f1fa.svg | 2 +-
public/emoji/1f1f2-1f1fb.png | Bin 598 -> 0 bytes
public/emoji/1f1f2-1f1fb.svg | 2 +-
public/emoji/1f1f2-1f1fc.png | Bin 825 -> 0 bytes
public/emoji/1f1f2-1f1fc.svg | 2 +-
public/emoji/1f1f2-1f1fd.png | Bin 951 -> 0 bytes
public/emoji/1f1f2-1f1fd.svg | 2 +-
public/emoji/1f1f2-1f1fe.png | Bin 775 -> 0 bytes
public/emoji/1f1f2-1f1fe.svg | 2 +-
public/emoji/1f1f2-1f1ff.png | Bin 1159 -> 0 bytes
public/emoji/1f1f2-1f1ff.svg | 2 +-
public/emoji/1f1f2.png | Bin 666 -> 0 bytes
public/emoji/1f1f2.svg | 2 +-
public/emoji/1f1f3-1f1e6.png | Bin 1249 -> 0 bytes
public/emoji/1f1f3-1f1e6.svg | 2 +-
public/emoji/1f1f3-1f1e8.png | Bin 1148 -> 0 bytes
public/emoji/1f1f3-1f1e8.svg | 2 +-
public/emoji/1f1f3-1f1ea.png | Bin 593 -> 0 bytes
public/emoji/1f1f3-1f1ea.svg | 2 +-
public/emoji/1f1f3-1f1eb.png | Bin 877 -> 0 bytes
public/emoji/1f1f3-1f1eb.svg | 2 +-
public/emoji/1f1f3-1f1ec.png | Bin 438 -> 0 bytes
public/emoji/1f1f3-1f1ec.svg | 2 +-
public/emoji/1f1f3-1f1ee.png | Bin 823 -> 0 bytes
public/emoji/1f1f3-1f1ee.svg | 2 +-
public/emoji/1f1f3-1f1f1.png | Bin 499 -> 0 bytes
public/emoji/1f1f3-1f1f1.svg | 2 +-
public/emoji/1f1f3-1f1f4.png | Bin 484 -> 0 bytes
public/emoji/1f1f3-1f1f4.svg | 2 +-
public/emoji/1f1f3-1f1f5.png | Bin 802 -> 0 bytes
public/emoji/1f1f3-1f1f5.svg | 2 +-
public/emoji/1f1f3-1f1f7.png | Bin 529 -> 0 bytes
public/emoji/1f1f3-1f1f7.svg | 2 +-
public/emoji/1f1f3-1f1fa.png | Bin 1128 -> 0 bytes
public/emoji/1f1f3-1f1fa.svg | 2 +-
public/emoji/1f1f3-1f1ff.png | Bin 1099 -> 0 bytes
public/emoji/1f1f3-1f1ff.svg | 2 +-
public/emoji/1f1f3.png | Bin 579 -> 0 bytes
public/emoji/1f1f3.svg | 2 +-
public/emoji/1f1f4-1f1f2.png | Bin 754 -> 0 bytes
public/emoji/1f1f4-1f1f2.svg | 2 +-
public/emoji/1f1f4.png | Bin 607 -> 0 bytes
public/emoji/1f1f4.svg | 2 +-
public/emoji/1f1f5-1f1e6.png | Bin 830 -> 0 bytes
public/emoji/1f1f5-1f1e6.svg | 2 +-
public/emoji/1f1f5-1f1ea.png | Bin 439 -> 0 bytes
public/emoji/1f1f5-1f1ea.svg | 2 +-
public/emoji/1f1f5-1f1eb.png | Bin 1091 -> 0 bytes
public/emoji/1f1f5-1f1eb.svg | 2 +-
public/emoji/1f1f5-1f1ec.png | Bin 1076 -> 0 bytes
public/emoji/1f1f5-1f1ec.svg | 2 +-
public/emoji/1f1f5-1f1ed.png | Bin 867 -> 0 bytes
public/emoji/1f1f5-1f1ed.svg | 2 +-
public/emoji/1f1f5-1f1f0.png | Bin 753 -> 0 bytes
public/emoji/1f1f5-1f1f0.svg | 2 +-
public/emoji/1f1f5-1f1f1.png | Bin 522 -> 0 bytes
public/emoji/1f1f5-1f1f1.svg | 2 +-
public/emoji/1f1f5-1f1f2.png | Bin 2314 -> 0 bytes
public/emoji/1f1f5-1f1f2.svg | 2 +-
public/emoji/1f1f5-1f1f3.png | Bin 1895 -> 0 bytes
public/emoji/1f1f5-1f1f3.svg | 2 +-
public/emoji/1f1f5-1f1f7.png | Bin 605 -> 0 bytes
public/emoji/1f1f5-1f1f7.svg | 2 +-
public/emoji/1f1f5-1f1f8.png | Bin 574 -> 0 bytes
public/emoji/1f1f5-1f1f8.svg | 2 +-
public/emoji/1f1f5-1f1f9.png | Bin 1055 -> 0 bytes
public/emoji/1f1f5-1f1f9.svg | 2 +-
public/emoji/1f1f5-1f1fc.png | Bin 475 -> 0 bytes
public/emoji/1f1f5-1f1fc.svg | 2 +-
public/emoji/1f1f5-1f1fe.png | Bin 1085 -> 0 bytes
public/emoji/1f1f5-1f1fe.svg | 2 +-
public/emoji/1f1f5.png | Bin 541 -> 0 bytes
public/emoji/1f1f5.svg | 2 +-
public/emoji/1f1f6-1f1e6.png | Bin 657 -> 0 bytes
public/emoji/1f1f6-1f1e6.svg | 2 +-
public/emoji/1f1f6.png | Bin 659 -> 0 bytes
public/emoji/1f1f6.svg | 2 +-
public/emoji/1f1f7-1f1ea.png | Bin 837 -> 0 bytes
public/emoji/1f1f7-1f1ea.svg | 2 +-
public/emoji/1f1f7-1f1f4.png | Bin 441 -> 0 bytes
public/emoji/1f1f7-1f1f4.svg | 2 +-
public/emoji/1f1f7-1f1f8.png | Bin 1237 -> 0 bytes
public/emoji/1f1f7-1f1f8.svg | 2 +-
public/emoji/1f1f7-1f1fa.png | Bin 496 -> 0 bytes
public/emoji/1f1f7-1f1fa.svg | 2 +-
public/emoji/1f1f7-1f1fc.png | Bin 940 -> 0 bytes
public/emoji/1f1f7-1f1fc.svg | 2 +-
public/emoji/1f1f7.png | Bin 580 -> 0 bytes
public/emoji/1f1f7.svg | 2 +-
public/emoji/1f1f8-1f1e6.png | Bin 781 -> 0 bytes
public/emoji/1f1f8-1f1e6.svg | 2 +-
public/emoji/1f1f8-1f1e7.png | Bin 1102 -> 0 bytes
public/emoji/1f1f8-1f1e7.svg | 2 +-
public/emoji/1f1f8-1f1e8.png | Bin 1073 -> 0 bytes
public/emoji/1f1f8-1f1e8.svg | 2 +-
public/emoji/1f1f8-1f1e9.png | Bin 578 -> 0 bytes
public/emoji/1f1f8-1f1e9.svg | 2 +-
public/emoji/1f1f8-1f1ea.png | Bin 455 -> 0 bytes
public/emoji/1f1f8-1f1ea.svg | 2 +-
public/emoji/1f1f8-1f1ec.png | Bin 730 -> 0 bytes
public/emoji/1f1f8-1f1ec.svg | 2 +-
public/emoji/1f1f8-1f1ed.png | Bin 1369 -> 0 bytes
public/emoji/1f1f8-1f1ed.svg | 2 +-
public/emoji/1f1f8-1f1ee.png | Bin 1030 -> 0 bytes
public/emoji/1f1f8-1f1ee.svg | 2 +-
public/emoji/1f1f8-1f1ef.png | Bin 495 -> 0 bytes
public/emoji/1f1f8-1f1ef.svg | 2 +-
public/emoji/1f1f8-1f1f0.png | Bin 780 -> 0 bytes
public/emoji/1f1f8-1f1f0.svg | 2 +-
public/emoji/1f1f8-1f1f1.png | Bin 510 -> 0 bytes
public/emoji/1f1f8-1f1f1.svg | 2 +-
public/emoji/1f1f8-1f1f2.png | Bin 2000 -> 0 bytes
public/emoji/1f1f8-1f1f2.svg | 2 +-
public/emoji/1f1f8-1f1f3.png | Bin 621 -> 0 bytes
public/emoji/1f1f8-1f1f3.svg | 2 +-
public/emoji/1f1f8-1f1f4.png | Bin 609 -> 0 bytes
public/emoji/1f1f8-1f1f4.svg | 2 +-
public/emoji/1f1f8-1f1f7.png | Bin 650 -> 0 bytes
public/emoji/1f1f8-1f1f7.svg | 2 +-
public/emoji/1f1f8-1f1f8.png | Bin 722 -> 0 bytes
public/emoji/1f1f8-1f1f8.svg | 2 +-
public/emoji/1f1f8-1f1f9.png | Bin 562 -> 0 bytes
public/emoji/1f1f8-1f1f9.svg | 2 +-
public/emoji/1f1f8-1f1fb.png | Bin 1125 -> 0 bytes
public/emoji/1f1f8-1f1fb.svg | 2 +-
public/emoji/1f1f8-1f1fd.png | Bin 1195 -> 0 bytes
public/emoji/1f1f8-1f1fd.svg | 2 +-
public/emoji/1f1f8-1f1fe.png | Bin 696 -> 0 bytes
public/emoji/1f1f8-1f1fe.svg | 2 +-
public/emoji/1f1f8-1f1ff.png | Bin 1102 -> 0 bytes
public/emoji/1f1f8-1f1ff.svg | 2 +-
public/emoji/1f1f8.png | Bin 653 -> 0 bytes
public/emoji/1f1f8.svg | 2 +-
public/emoji/1f1f9-1f1e6.png | Bin 1907 -> 0 bytes
public/emoji/1f1f9-1f1e6.svg | 2 +-
public/emoji/1f1f9-1f1e8.png | Bin 1538 -> 0 bytes
public/emoji/1f1f9-1f1e8.svg | 2 +-
public/emoji/1f1f9-1f1e9.png | Bin 443 -> 0 bytes
public/emoji/1f1f9-1f1e9.svg | 2 +-
public/emoji/1f1f9-1f1eb.png | Bin 857 -> 0 bytes
public/emoji/1f1f9-1f1eb.svg | 3 +-
public/emoji/1f1f9-1f1ec.png | Bin 790 -> 0 bytes
public/emoji/1f1f9-1f1ec.svg | 2 +-
public/emoji/1f1f9-1f1ed.png | Bin 421 -> 0 bytes
public/emoji/1f1f9-1f1ed.svg | 2 +-
public/emoji/1f1f9-1f1ef.png | Bin 906 -> 0 bytes
public/emoji/1f1f9-1f1ef.svg | 2 +-
public/emoji/1f1f9-1f1f0.png | Bin 835 -> 0 bytes
public/emoji/1f1f9-1f1f0.svg | 2 +-
public/emoji/1f1f9-1f1f1.png | Bin 849 -> 0 bytes
public/emoji/1f1f9-1f1f1.svg | 2 +-
public/emoji/1f1f9-1f1f2.png | Bin 1178 -> 0 bytes
public/emoji/1f1f9-1f1f2.svg | 2 +-
public/emoji/1f1f9-1f1f3.png | Bin 625 -> 0 bytes
public/emoji/1f1f9-1f1f3.svg | 2 +-
public/emoji/1f1f9-1f1f4.png | Bin 553 -> 0 bytes
public/emoji/1f1f9-1f1f4.svg | 2 +-
public/emoji/1f1f9-1f1f7.png | Bin 576 -> 0 bytes
public/emoji/1f1f9-1f1f7.svg | 2 +-
public/emoji/1f1f9-1f1f9.png | Bin 604 -> 0 bytes
public/emoji/1f1f9-1f1f9.svg | 2 +-
public/emoji/1f1f9-1f1fb.png | Bin 1120 -> 0 bytes
public/emoji/1f1f9-1f1fb.svg | 2 +-
public/emoji/1f1f9-1f1fc.png | Bin 761 -> 0 bytes
public/emoji/1f1f9-1f1fc.svg | 2 +-
public/emoji/1f1f9-1f1ff.png | Bin 1061 -> 0 bytes
public/emoji/1f1f9-1f1ff.svg | 2 +-
public/emoji/1f1f9.png | Bin 453 -> 0 bytes
public/emoji/1f1f9.svg | 2 +-
public/emoji/1f1fa-1f1e6.png | Bin 528 -> 0 bytes
public/emoji/1f1fa-1f1e6.svg | 2 +-
public/emoji/1f1fa-1f1ec.png | Bin 887 -> 0 bytes
public/emoji/1f1fa-1f1ec.svg | 2 +-
public/emoji/1f1fa-1f1f2.png | Bin 776 -> 0 bytes
public/emoji/1f1fa-1f1f2.svg | 2 +-
public/emoji/1f1fa-1f1f3.svg | 1 +
public/emoji/1f1fa-1f1f8.png | Bin 776 -> 0 bytes
public/emoji/1f1fa-1f1f8.svg | 2 +-
public/emoji/1f1fa-1f1fe.png | Bin 966 -> 0 bytes
public/emoji/1f1fa-1f1fe.svg | 2 +-
public/emoji/1f1fa-1f1ff.png | Bin 750 -> 0 bytes
public/emoji/1f1fa-1f1ff.svg | 2 +-
public/emoji/1f1fa.png | Bin 544 -> 0 bytes
public/emoji/1f1fa.svg | 2 +-
public/emoji/1f1fb-1f1e6.png | Bin 1331 -> 0 bytes
public/emoji/1f1fb-1f1e6.svg | 2 +-
public/emoji/1f1fb-1f1e8.png | Bin 897 -> 0 bytes
public/emoji/1f1fb-1f1e8.svg | 2 +-
public/emoji/1f1fb-1f1ea.png | Bin 748 -> 0 bytes
public/emoji/1f1fb-1f1ea.svg | 2 +-
public/emoji/1f1fb-1f1ec.png | Bin 1789 -> 0 bytes
public/emoji/1f1fb-1f1ec.svg | 2 +-
public/emoji/1f1fb-1f1ee.png | Bin 1378 -> 0 bytes
public/emoji/1f1fb-1f1ee.svg | 2 +-
public/emoji/1f1fb-1f1f3.png | Bin 583 -> 0 bytes
public/emoji/1f1fb-1f1f3.svg | 2 +-
public/emoji/1f1fb-1f1fa.png | Bin 844 -> 0 bytes
public/emoji/1f1fb-1f1fa.svg | 3 +-
public/emoji/1f1fb.png | Bin 632 -> 0 bytes
public/emoji/1f1fb.svg | 2 +-
public/emoji/1f1fc-1f1eb.png | Bin 443 -> 0 bytes
public/emoji/1f1fc-1f1eb.svg | 2 +-
public/emoji/1f1fc-1f1f8.png | Bin 634 -> 0 bytes
public/emoji/1f1fc-1f1f8.svg | 2 +-
public/emoji/1f1fc.png | Bin 737 -> 0 bytes
public/emoji/1f1fc.svg | 2 +-
public/emoji/1f1fd-1f1f0.png | Bin 722 -> 0 bytes
public/emoji/1f1fd-1f1f0.svg | 2 +-
public/emoji/1f1fd.png | Bin 635 -> 0 bytes
public/emoji/1f1fd.svg | 2 +-
public/emoji/1f1fe-1f1ea.png | Bin 507 -> 0 bytes
public/emoji/1f1fe-1f1ea.svg | 2 +-
public/emoji/1f1fe-1f1f9.png | Bin 1623 -> 0 bytes
public/emoji/1f1fe-1f1f9.svg | 2 +-
public/emoji/1f1fe.png | Bin 590 -> 0 bytes
public/emoji/1f1fe.svg | 2 +-
public/emoji/1f1ff-1f1e6.png | Bin 676 -> 0 bytes
public/emoji/1f1ff-1f1e6.svg | 3 +-
public/emoji/1f1ff-1f1f2.png | Bin 881 -> 0 bytes
public/emoji/1f1ff-1f1f2.svg | 2 +-
public/emoji/1f1ff-1f1fc.png | Bin 993 -> 0 bytes
public/emoji/1f1ff-1f1fc.svg | 2 +-
public/emoji/1f1ff.png | Bin 571 -> 0 bytes
public/emoji/1f1ff.svg | 2 +-
public/emoji/1f201.png | Bin 266 -> 0 bytes
public/emoji/1f201.svg | 2 +-
public/emoji/1f202.png | Bin 420 -> 0 bytes
public/emoji/1f202.svg | 2 +-
public/emoji/1f21a.png | Bin 534 -> 0 bytes
public/emoji/1f21a.svg | 2 +-
public/emoji/1f22f.png | Bin 504 -> 0 bytes
public/emoji/1f22f.svg | 2 +-
public/emoji/1f232.png | Bin 584 -> 0 bytes
public/emoji/1f232.svg | 2 +-
public/emoji/1f233.png | Bin 456 -> 0 bytes
public/emoji/1f233.svg | 2 +-
public/emoji/1f234.png | Bin 484 -> 0 bytes
public/emoji/1f234.svg | 3 +-
public/emoji/1f235.png | Bin 564 -> 0 bytes
public/emoji/1f235.svg | 2 +-
public/emoji/1f236.png | Bin 434 -> 0 bytes
public/emoji/1f236.svg | 2 +-
public/emoji/1f237.png | Bin 409 -> 0 bytes
public/emoji/1f237.svg | 2 +-
public/emoji/1f238.png | Bin 306 -> 0 bytes
public/emoji/1f238.svg | 2 +-
public/emoji/1f239.png | Bin 411 -> 0 bytes
public/emoji/1f239.svg | 2 +-
public/emoji/1f23a.png | Bin 460 -> 0 bytes
public/emoji/1f23a.svg | 2 +-
public/emoji/1f250.png | Bin 716 -> 0 bytes
public/emoji/1f250.svg | 2 +-
public/emoji/1f251.png | Bin 491 -> 0 bytes
public/emoji/1f251.svg | 2 +-
public/emoji/1f300.png | Bin 797 -> 0 bytes
public/emoji/1f300.svg | 2 +-
public/emoji/1f301.png | Bin 1069 -> 0 bytes
public/emoji/1f301.svg | 2 +-
public/emoji/1f302.png | Bin 1002 -> 0 bytes
public/emoji/1f302.svg | 2 +-
public/emoji/1f303.png | Bin 835 -> 0 bytes
public/emoji/1f303.svg | 2 +-
public/emoji/1f304.png | Bin 1576 -> 0 bytes
public/emoji/1f304.svg | 2 +-
public/emoji/1f305.png | Bin 812 -> 0 bytes
public/emoji/1f305.svg | 2 +-
public/emoji/1f306.png | Bin 431 -> 0 bytes
public/emoji/1f306.svg | 2 +-
public/emoji/1f307.png | Bin 997 -> 0 bytes
public/emoji/1f307.svg | 2 +-
public/emoji/1f308.png | Bin 1299 -> 0 bytes
public/emoji/1f308.svg | 2 +-
public/emoji/1f309.png | Bin 637 -> 0 bytes
public/emoji/1f309.svg | 2 +-
public/emoji/1f30a.png | Bin 1018 -> 0 bytes
public/emoji/1f30a.svg | 2 +-
public/emoji/1f30b.png | Bin 1257 -> 0 bytes
public/emoji/1f30b.svg | 2 +-
public/emoji/1f30c.png | Bin 622 -> 0 bytes
public/emoji/1f30c.svg | 2 +-
public/emoji/1f30d.png | Bin 978 -> 0 bytes
public/emoji/1f30d.svg | 2 +-
public/emoji/1f30e.png | Bin 1031 -> 0 bytes
public/emoji/1f30e.svg | 2 +-
public/emoji/1f30f.png | Bin 966 -> 0 bytes
public/emoji/1f30f.svg | 2 +-
public/emoji/1f310.png | Bin 796 -> 0 bytes
public/emoji/1f310.svg | 2 +-
public/emoji/1f311.png | Bin 829 -> 0 bytes
public/emoji/1f311.svg | 2 +-
public/emoji/1f312.png | Bin 1199 -> 0 bytes
public/emoji/1f312.svg | 2 +-
public/emoji/1f313.png | Bin 1152 -> 0 bytes
public/emoji/1f313.svg | 2 +-
public/emoji/1f314.png | Bin 1229 -> 0 bytes
public/emoji/1f314.svg | 2 +-
public/emoji/1f315.png | Bin 841 -> 0 bytes
public/emoji/1f315.svg | 2 +-
public/emoji/1f316.png | Bin 1208 -> 0 bytes
public/emoji/1f316.svg | 2 +-
public/emoji/1f317.png | Bin 1180 -> 0 bytes
public/emoji/1f317.svg | 2 +-
public/emoji/1f318.png | Bin 1213 -> 0 bytes
public/emoji/1f318.svg | 2 +-
public/emoji/1f319.png | Bin 446 -> 0 bytes
public/emoji/1f319.svg | 3 +-
public/emoji/1f31a.png | Bin 975 -> 0 bytes
public/emoji/1f31a.svg | 2 +-
public/emoji/1f31b.png | Bin 1068 -> 0 bytes
public/emoji/1f31b.svg | 2 +-
public/emoji/1f31c.png | Bin 1030 -> 0 bytes
public/emoji/1f31c.svg | 2 +-
public/emoji/1f31d.png | Bin 1186 -> 0 bytes
public/emoji/1f31d.svg | 2 +-
public/emoji/1f31e.png | Bin 741 -> 0 bytes
public/emoji/1f31e.svg | 2 +-
public/emoji/1f31f.png | Bin 732 -> 0 bytes
public/emoji/1f31f.svg | 2 +-
public/emoji/1f320.png | Bin 1048 -> 0 bytes
public/emoji/1f320.svg | 2 +-
public/emoji/1f321.png | Bin 759 -> 0 bytes
public/emoji/1f321.svg | 2 +-
public/emoji/1f324.png | Bin 989 -> 0 bytes
public/emoji/1f324.svg | 2 +-
public/emoji/1f325.png | Bin 968 -> 0 bytes
public/emoji/1f325.svg | 2 +-
public/emoji/1f326.png | Bin 1161 -> 0 bytes
public/emoji/1f326.svg | 2 +-
public/emoji/1f327.png | Bin 876 -> 0 bytes
public/emoji/1f327.svg | 2 +-
public/emoji/1f328.png | Bin 823 -> 0 bytes
public/emoji/1f328.svg | 2 +-
public/emoji/1f329.png | Bin 767 -> 0 bytes
public/emoji/1f329.svg | 2 +-
public/emoji/1f32a.png | Bin 1519 -> 0 bytes
public/emoji/1f32a.svg | 2 +-
public/emoji/1f32b.png | Bin 713 -> 0 bytes
public/emoji/1f32b.svg | 2 +-
public/emoji/1f32c.png | Bin 1827 -> 0 bytes
public/emoji/1f32c.svg | 2 +-
public/emoji/1f32d.png | Bin 1770 -> 0 bytes
public/emoji/1f32d.svg | 3 +-
public/emoji/1f32e.png | Bin 3045 -> 0 bytes
public/emoji/1f32e.svg | 2 +-
public/emoji/1f32f.png | Bin 2938 -> 0 bytes
public/emoji/1f32f.svg | 2 +-
public/emoji/1f330.png | Bin 1337 -> 0 bytes
public/emoji/1f330.svg | 2 +-
public/emoji/1f331.png | Bin 749 -> 0 bytes
public/emoji/1f331.svg | 2 +-
public/emoji/1f332.png | Bin 719 -> 0 bytes
public/emoji/1f332.svg | 2 +-
public/emoji/1f333.png | Bin 1267 -> 0 bytes
public/emoji/1f333.svg | 2 +-
public/emoji/1f334.png | Bin 1450 -> 0 bytes
public/emoji/1f334.svg | 2 +-
public/emoji/1f335.png | Bin 628 -> 0 bytes
public/emoji/1f335.svg | 2 +-
public/emoji/1f336.png | Bin 677 -> 0 bytes
public/emoji/1f336.svg | 2 +-
public/emoji/1f337.png | Bin 1065 -> 0 bytes
public/emoji/1f337.svg | 2 +-
public/emoji/1f338.png | Bin 1129 -> 0 bytes
public/emoji/1f338.svg | 2 +-
public/emoji/1f339.png | Bin 1182 -> 0 bytes
public/emoji/1f339.svg | 2 +-
public/emoji/1f33a.png | Bin 1815 -> 0 bytes
public/emoji/1f33a.svg | 2 +-
public/emoji/1f33b.png | Bin 1915 -> 0 bytes
public/emoji/1f33b.svg | 2 +-
public/emoji/1f33c.png | Bin 867 -> 0 bytes
public/emoji/1f33c.svg | 2 +-
public/emoji/1f33d.png | Bin 1547 -> 0 bytes
public/emoji/1f33d.svg | 2 +-
public/emoji/1f33e.png | Bin 1422 -> 0 bytes
public/emoji/1f33e.svg | 2 +-
public/emoji/1f33f.png | Bin 886 -> 0 bytes
public/emoji/1f33f.svg | 2 +-
public/emoji/1f340.png | Bin 1156 -> 0 bytes
public/emoji/1f340.svg | 2 +-
public/emoji/1f341.png | Bin 1117 -> 0 bytes
public/emoji/1f341.svg | 2 +-
public/emoji/1f342.png | Bin 951 -> 0 bytes
public/emoji/1f342.svg | 2 +-
public/emoji/1f343.png | Bin 993 -> 0 bytes
public/emoji/1f343.svg | 2 +-
public/emoji/1f344.png | Bin 1024 -> 0 bytes
public/emoji/1f344.svg | 2 +-
public/emoji/1f345.png | Bin 1055 -> 0 bytes
public/emoji/1f345.svg | 2 +-
public/emoji/1f346.png | Bin 773 -> 0 bytes
public/emoji/1f346.svg | 2 +-
public/emoji/1f347.png | Bin 1552 -> 0 bytes
public/emoji/1f347.svg | 2 +-
public/emoji/1f348.png | Bin 2005 -> 0 bytes
public/emoji/1f348.svg | 2 +-
public/emoji/1f349.png | Bin 1275 -> 0 bytes
public/emoji/1f349.svg | 2 +-
public/emoji/1f34a.png | Bin 1184 -> 0 bytes
public/emoji/1f34a.svg | 2 +-
public/emoji/1f34b.png | Bin 1033 -> 0 bytes
public/emoji/1f34b.svg | 2 +-
public/emoji/1f34c.png | Bin 1157 -> 0 bytes
public/emoji/1f34c.svg | 2 +-
public/emoji/1f34d.png | Bin 1642 -> 0 bytes
public/emoji/1f34d.svg | 2 +-
public/emoji/1f34e.png | Bin 655 -> 0 bytes
public/emoji/1f34e.svg | 3 +-
public/emoji/1f34f.png | Bin 656 -> 0 bytes
public/emoji/1f34f.svg | 3 +-
public/emoji/1f350.png | Bin 747 -> 0 bytes
public/emoji/1f350.svg | 2 +-
public/emoji/1f351.png | Bin 1189 -> 0 bytes
public/emoji/1f351.svg | 2 +-
public/emoji/1f352.png | Bin 1211 -> 0 bytes
public/emoji/1f352.svg | 2 +-
public/emoji/1f353.png | Bin 1206 -> 0 bytes
public/emoji/1f353.svg | 2 +-
public/emoji/1f354.png | Bin 1973 -> 0 bytes
public/emoji/1f354.svg | 3 +-
public/emoji/1f355.png | Bin 2008 -> 0 bytes
public/emoji/1f355.svg | 2 +-
public/emoji/1f356.png | Bin 1465 -> 0 bytes
public/emoji/1f356.svg | 2 +-
public/emoji/1f357.png | Bin 925 -> 0 bytes
public/emoji/1f357.svg | 2 +-
public/emoji/1f358.png | Bin 1443 -> 0 bytes
public/emoji/1f358.svg | 2 +-
public/emoji/1f359.png | Bin 1091 -> 0 bytes
public/emoji/1f359.svg | 2 +-
public/emoji/1f35a.png | Bin 1195 -> 0 bytes
public/emoji/1f35a.svg | 2 +-
public/emoji/1f35b.png | Bin 1754 -> 0 bytes
public/emoji/1f35b.svg | 2 +-
public/emoji/1f35c.png | Bin 1992 -> 0 bytes
public/emoji/1f35c.svg | 2 +-
public/emoji/1f35d.png | Bin 1796 -> 0 bytes
public/emoji/1f35d.svg | 2 +-
public/emoji/1f35e.png | Bin 1419 -> 0 bytes
public/emoji/1f35e.svg | 2 +-
public/emoji/1f35f.png | Bin 1873 -> 0 bytes
public/emoji/1f35f.svg | 2 +-
public/emoji/1f360.png | Bin 951 -> 0 bytes
public/emoji/1f360.svg | 2 +-
public/emoji/1f361.png | Bin 802 -> 0 bytes
public/emoji/1f361.svg | 2 +-
public/emoji/1f362.png | Bin 794 -> 0 bytes
public/emoji/1f362.svg | 2 +-
public/emoji/1f363.png | Bin 2101 -> 0 bytes
public/emoji/1f363.svg | 2 +-
public/emoji/1f364.png | Bin 1241 -> 0 bytes
public/emoji/1f364.svg | 2 +-
public/emoji/1f365.png | Bin 1245 -> 0 bytes
public/emoji/1f365.svg | 2 +-
public/emoji/1f366.png | Bin 1496 -> 0 bytes
public/emoji/1f366.svg | 2 +-
public/emoji/1f367.png | Bin 997 -> 0 bytes
public/emoji/1f367.svg | 2 +-
public/emoji/1f368.png | Bin 1779 -> 0 bytes
public/emoji/1f368.svg | 2 +-
public/emoji/1f369.png | Bin 1322 -> 0 bytes
public/emoji/1f369.svg | 2 +-
public/emoji/1f36a.png | Bin 1351 -> 0 bytes
public/emoji/1f36a.svg | 2 +-
public/emoji/1f36b.png | Bin 771 -> 0 bytes
public/emoji/1f36b.svg | 2 +-
public/emoji/1f36c.png | Bin 1054 -> 0 bytes
public/emoji/1f36c.svg | 2 +-
public/emoji/1f36d.png | Bin 2164 -> 0 bytes
public/emoji/1f36d.svg | 2 +-
public/emoji/1f36e.png | Bin 1273 -> 0 bytes
public/emoji/1f36e.svg | 2 +-
public/emoji/1f36f.png | Bin 1217 -> 0 bytes
public/emoji/1f36f.svg | 2 +-
public/emoji/1f370.png | Bin 2266 -> 0 bytes
public/emoji/1f370.svg | 2 +-
public/emoji/1f371.png | Bin 1127 -> 0 bytes
public/emoji/1f371.svg | 2 +-
public/emoji/1f372.png | Bin 1960 -> 0 bytes
public/emoji/1f372.svg | 2 +-
public/emoji/1f373.png | Bin 764 -> 0 bytes
public/emoji/1f373.svg | 2 +-
public/emoji/1f374.png | Bin 668 -> 0 bytes
public/emoji/1f374.svg | 2 +-
public/emoji/1f375.png | Bin 1297 -> 0 bytes
public/emoji/1f375.svg | 2 +-
public/emoji/1f376.png | Bin 826 -> 0 bytes
public/emoji/1f376.svg | 2 +-
public/emoji/1f377.png | Bin 655 -> 0 bytes
public/emoji/1f377.svg | 2 +-
public/emoji/1f378.png | Bin 1027 -> 0 bytes
public/emoji/1f378.svg | 2 +-
public/emoji/1f379.png | Bin 1428 -> 0 bytes
public/emoji/1f379.svg | 2 +-
public/emoji/1f37a.png | Bin 1338 -> 0 bytes
public/emoji/1f37a.svg | 2 +-
public/emoji/1f37b.png | Bin 2100 -> 0 bytes
public/emoji/1f37b.svg | 2 +-
public/emoji/1f37c.png | Bin 818 -> 0 bytes
public/emoji/1f37c.svg | 3 +-
public/emoji/1f37d.png | Bin 976 -> 0 bytes
public/emoji/1f37d.svg | 2 +-
public/emoji/1f37e.png | Bin 1205 -> 0 bytes
public/emoji/1f37e.svg | 2 +-
public/emoji/1f37f.png | Bin 1843 -> 0 bytes
public/emoji/1f37f.svg | 2 +-
public/emoji/1f380.png | Bin 968 -> 0 bytes
public/emoji/1f380.svg | 2 +-
public/emoji/1f381.png | Bin 1966 -> 0 bytes
public/emoji/1f381.svg | 2 +-
public/emoji/1f382.png | Bin 2219 -> 0 bytes
public/emoji/1f382.svg | 2 +-
public/emoji/1f383.png | Bin 2289 -> 0 bytes
public/emoji/1f383.svg | 2 +-
public/emoji/1f384.png | Bin 1542 -> 0 bytes
public/emoji/1f384.svg | 2 +-
public/emoji/1f385-1f3fb.png | Bin 1585 -> 0 bytes
public/emoji/1f385-1f3fb.svg | 2 +-
public/emoji/1f385-1f3fc.png | Bin 1578 -> 0 bytes
public/emoji/1f385-1f3fc.svg | 2 +-
public/emoji/1f385-1f3fd.png | Bin 1578 -> 0 bytes
public/emoji/1f385-1f3fd.svg | 2 +-
public/emoji/1f385-1f3fe.png | Bin 1578 -> 0 bytes
public/emoji/1f385-1f3fe.svg | 2 +-
public/emoji/1f385-1f3ff.png | Bin 1578 -> 0 bytes
public/emoji/1f385-1f3ff.svg | 2 +-
public/emoji/1f385.png | Bin 1585 -> 0 bytes
public/emoji/1f385.svg | 2 +-
public/emoji/1f386.png | Bin 1364 -> 0 bytes
public/emoji/1f386.svg | 2 +-
public/emoji/1f387.png | Bin 910 -> 0 bytes
public/emoji/1f387.svg | 2 +-
public/emoji/1f388.png | Bin 501 -> 0 bytes
public/emoji/1f388.svg | 2 +-
public/emoji/1f389.png | Bin 1778 -> 0 bytes
public/emoji/1f389.svg | 2 +-
public/emoji/1f38a.png | Bin 1703 -> 0 bytes
public/emoji/1f38a.svg | 2 +-
public/emoji/1f38b.png | Bin 1479 -> 0 bytes
public/emoji/1f38b.svg | 2 +-
public/emoji/1f38c.png | Bin 1239 -> 0 bytes
public/emoji/1f38c.svg | 2 +-
public/emoji/1f38d.png | Bin 1946 -> 0 bytes
public/emoji/1f38d.svg | 2 +-
public/emoji/1f38e.png | Bin 2249 -> 0 bytes
public/emoji/1f38e.svg | 2 +-
public/emoji/1f38f.png | Bin 1722 -> 0 bytes
public/emoji/1f38f.svg | 2 +-
public/emoji/1f390.png | Bin 1046 -> 0 bytes
public/emoji/1f390.svg | 2 +-
public/emoji/1f391.png | Bin 1349 -> 0 bytes
public/emoji/1f391.svg | 2 +-
public/emoji/1f392.png | Bin 1490 -> 0 bytes
public/emoji/1f392.svg | 2 +-
public/emoji/1f393.png | Bin 710 -> 0 bytes
public/emoji/1f393.svg | 2 +-
public/emoji/1f396.png | Bin 949 -> 0 bytes
public/emoji/1f396.svg | 2 +-
public/emoji/1f397.png | Bin 921 -> 0 bytes
public/emoji/1f397.svg | 2 +-
public/emoji/1f399.png | Bin 839 -> 0 bytes
public/emoji/1f399.svg | 2 +-
public/emoji/1f39a.png | Bin 454 -> 0 bytes
public/emoji/1f39a.svg | 2 +-
public/emoji/1f39b.png | Bin 1104 -> 0 bytes
public/emoji/1f39b.svg | 2 +-
public/emoji/1f39e.png | Bin 560 -> 0 bytes
public/emoji/1f39e.svg | 2 +-
public/emoji/1f39f.png | Bin 1750 -> 0 bytes
public/emoji/1f39f.svg | 2 +-
public/emoji/1f3a0.png | Bin 1739 -> 0 bytes
public/emoji/1f3a0.svg | 2 +-
public/emoji/1f3a1.png | Bin 2185 -> 0 bytes
public/emoji/1f3a1.svg | 2 +-
public/emoji/1f3a2.png | Bin 1723 -> 0 bytes
public/emoji/1f3a2.svg | 2 +-
public/emoji/1f3a3.png | Bin 1442 -> 0 bytes
public/emoji/1f3a3.svg | 2 +-
public/emoji/1f3a4.png | Bin 1165 -> 0 bytes
public/emoji/1f3a4.svg | 2 +-
public/emoji/1f3a5.png | Bin 576 -> 0 bytes
public/emoji/1f3a5.svg | 2 +-
public/emoji/1f3a6.png | Bin 585 -> 0 bytes
public/emoji/1f3a6.svg | 2 +-
public/emoji/1f3a7.png | Bin 1202 -> 0 bytes
public/emoji/1f3a7.svg | 2 +-
public/emoji/1f3a8.png | Bin 1455 -> 0 bytes
public/emoji/1f3a8.svg | 2 +-
public/emoji/1f3a9.png | Bin 845 -> 0 bytes
public/emoji/1f3a9.svg | 2 +-
public/emoji/1f3aa.png | Bin 1369 -> 0 bytes
public/emoji/1f3aa.svg | 2 +-
public/emoji/1f3ab.png | Bin 763 -> 0 bytes
public/emoji/1f3ab.svg | 2 +-
public/emoji/1f3ac.png | Bin 1535 -> 0 bytes
public/emoji/1f3ac.svg | 2 +-
public/emoji/1f3ad.png | Bin 1971 -> 0 bytes
public/emoji/1f3ad.svg | 2 +-
public/emoji/1f3ae.png | Bin 765 -> 0 bytes
public/emoji/1f3ae.svg | 2 +-
public/emoji/1f3af.png | Bin 1374 -> 0 bytes
public/emoji/1f3af.svg | 2 +-
public/emoji/1f3b0.png | Bin 1648 -> 0 bytes
public/emoji/1f3b0.svg | 2 +-
public/emoji/1f3b1.png | Bin 810 -> 0 bytes
public/emoji/1f3b1.svg | 2 +-
public/emoji/1f3b2.png | Bin 1136 -> 0 bytes
public/emoji/1f3b2.svg | 2 +-
public/emoji/1f3b3.png | Bin 1426 -> 0 bytes
public/emoji/1f3b3.svg | 2 +-
public/emoji/1f3b4.png | Bin 449 -> 0 bytes
public/emoji/1f3b4.svg | 2 +-
public/emoji/1f3b5.png | Bin 419 -> 0 bytes
public/emoji/1f3b5.svg | 2 +-
public/emoji/1f3b6.png | Bin 501 -> 0 bytes
public/emoji/1f3b6.svg | 2 +-
public/emoji/1f3b7.png | Bin 1442 -> 0 bytes
public/emoji/1f3b7.svg | 2 +-
public/emoji/1f3b8.png | Bin 1056 -> 0 bytes
public/emoji/1f3b8.svg | 2 +-
public/emoji/1f3b9.png | Bin 1695 -> 0 bytes
public/emoji/1f3b9.svg | 2 +-
public/emoji/1f3ba.png | Bin 1281 -> 0 bytes
public/emoji/1f3ba.svg | 3 +-
public/emoji/1f3bb.png | Bin 1156 -> 0 bytes
public/emoji/1f3bb.svg | 2 +-
public/emoji/1f3bc.png | Bin 1289 -> 0 bytes
public/emoji/1f3bc.svg | 2 +-
public/emoji/1f3bd.png | Bin 784 -> 0 bytes
public/emoji/1f3bd.svg | 2 +-
public/emoji/1f3be.png | Bin 1561 -> 0 bytes
public/emoji/1f3be.svg | 2 +-
public/emoji/1f3bf.png | Bin 1762 -> 0 bytes
public/emoji/1f3bf.svg | 2 +-
public/emoji/1f3c0.png | Bin 1546 -> 0 bytes
public/emoji/1f3c0.svg | 2 +-
public/emoji/1f3c1.png | Bin 787 -> 0 bytes
public/emoji/1f3c1.svg | 2 +-
public/emoji/1f3c2-1f3fb.svg | 1 +
public/emoji/1f3c2-1f3fc.svg | 1 +
public/emoji/1f3c2-1f3fd.svg | 1 +
public/emoji/1f3c2-1f3fe.svg | 1 +
public/emoji/1f3c2-1f3ff.svg | 1 +
public/emoji/1f3c2.png | Bin 2020 -> 0 bytes
public/emoji/1f3c2.svg | 2 +-
public/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fb.png | Bin 1163 -> 0 bytes
public/emoji/1f3c3-1f3fb.svg | 2 +-
public/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fc.png | Bin 1162 -> 0 bytes
public/emoji/1f3c3-1f3fc.svg | 2 +-
public/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fd.png | Bin 1151 -> 0 bytes
public/emoji/1f3c3-1f3fd.svg | 2 +-
public/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3-1f3fe.png | Bin 1156 -> 0 bytes
public/emoji/1f3c3-1f3fe.svg | 2 +-
public/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3-1f3ff.png | Bin 1145 -> 0 bytes
public/emoji/1f3c3-1f3ff.svg | 2 +-
public/emoji/1f3c3-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c3-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c3.png | Bin 1161 -> 0 bytes
public/emoji/1f3c3.svg | 2 +-
public/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fb.png | Bin 1781 -> 0 bytes
public/emoji/1f3c4-1f3fb.svg | 2 +-
public/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fc.png | Bin 1769 -> 0 bytes
public/emoji/1f3c4-1f3fc.svg | 2 +-
public/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fd.png | Bin 1777 -> 0 bytes
public/emoji/1f3c4-1f3fd.svg | 2 +-
public/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4-1f3fe.png | Bin 1784 -> 0 bytes
public/emoji/1f3c4-1f3fe.svg | 2 +-
public/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4-1f3ff.png | Bin 1782 -> 0 bytes
public/emoji/1f3c4-1f3ff.svg | 2 +-
public/emoji/1f3c4-200d-2640-fe0f.svg | 1 +
public/emoji/1f3c4-200d-2642-fe0f.svg | 1 +
public/emoji/1f3c4.png | Bin 1777 -> 0 bytes
public/emoji/1f3c4.svg | 2 +-
public/emoji/1f3c5.png | Bin 1700 -> 0 bytes
public/emoji/1f3c5.svg | 2 +-
public/emoji/1f3c6.png | Bin 863 -> 0 bytes
public/emoji/1f3c6.svg | 2 +-
public/emoji/1f3c7-1f3fb.png | Bin 2099 -> 0 bytes
public/emoji/1f3c7-1f3fb.svg | 2 +-
public/emoji/1f3c7-1f3fc.png | Bin 2103 -> 0 bytes
public/emoji/1f3c7-1f3fc.svg | 2 +-
public/emoji/1f3c7-1f3fd.png | Bin 2090 -> 0 bytes
public/emoji/1f3c7-1f3fd.svg | 2 +-
public/emoji/1f3c7-1f3fe.png | Bin 2090 -> 0 bytes
public/emoji/1f3c7-1f3fe.svg | 2 +-
public/emoji/1f3c7-1f3ff.png | Bin 2085 -> 0 bytes
public/emoji/1f3c7-1f3ff.svg | 2 +-
public/emoji/1f3c7.png | Bin 2096 -> 0 bytes
public/emoji/1f3c7.svg | 2 +-
public/emoji/1f3c8.png | Bin 956 -> 0 bytes
public/emoji/1f3c8.svg | 2 +-
public/emoji/1f3c9.png | Bin 1618 -> 0 bytes
public/emoji/1f3c9.svg | 3 +-
public/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fb.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca-1f3fb.svg | 2 +-
public/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fc.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca-1f3fc.svg | 2 +-
public/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fd.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca-1f3fd.svg | 2 +-
public/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca-1f3fe.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca-1f3fe.svg | 2 +-
public/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca-1f3ff.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca-1f3ff.svg | 2 +-
public/emoji/1f3ca-200d-2640-fe0f.svg | 1 +
public/emoji/1f3ca-200d-2642-fe0f.svg | 1 +
public/emoji/1f3ca.png | Bin 1184 -> 0 bytes
public/emoji/1f3ca.svg | 2 +-
public/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fb.png | Bin 1346 -> 0 bytes
public/emoji/1f3cb-1f3fb.svg | 2 +-
public/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fc.png | Bin 1347 -> 0 bytes
public/emoji/1f3cb-1f3fc.svg | 2 +-
public/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fd.png | Bin 1339 -> 0 bytes
public/emoji/1f3cb-1f3fd.svg | 2 +-
public/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb-1f3fe.png | Bin 1343 -> 0 bytes
public/emoji/1f3cb-1f3fe.svg | 2 +-
public/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb-1f3ff.png | Bin 1337 -> 0 bytes
public/emoji/1f3cb-1f3ff.svg | 2 +-
public/emoji/1f3cb-fe0f-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cb-fe0f-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cb.png | Bin 1356 -> 0 bytes
public/emoji/1f3cb.svg | 2 +-
public/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fb.svg | 1 +
public/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fc.svg | 1 +
public/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fd.svg | 1 +
public/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc-1f3fe.svg | 1 +
public/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc-1f3ff.svg | 1 +
public/emoji/1f3cc-fe0f-200d-2640-fe0f.svg | 1 +
public/emoji/1f3cc-fe0f-200d-2642-fe0f.svg | 1 +
public/emoji/1f3cc.png | Bin 1189 -> 0 bytes
public/emoji/1f3cc.svg | 2 +-
public/emoji/1f3cd.png | Bin 2081 -> 0 bytes
public/emoji/1f3cd.svg | 2 +-
public/emoji/1f3ce.png | Bin 2140 -> 0 bytes
public/emoji/1f3ce.svg | 2 +-
public/emoji/1f3cf.png | Bin 1060 -> 0 bytes
public/emoji/1f3cf.svg | 2 +-
public/emoji/1f3d0.png | Bin 1202 -> 0 bytes
public/emoji/1f3d0.svg | 2 +-
public/emoji/1f3d1.png | Bin 947 -> 0 bytes
public/emoji/1f3d1.svg | 2 +-
public/emoji/1f3d2.png | Bin 1010 -> 0 bytes
public/emoji/1f3d2.svg | 2 +-
public/emoji/1f3d3.png | Bin 823 -> 0 bytes
public/emoji/1f3d3.svg | 2 +-
public/emoji/1f3d4.png | Bin 1193 -> 0 bytes
public/emoji/1f3d4.svg | 2 +-
public/emoji/1f3d5.png | Bin 1513 -> 0 bytes
public/emoji/1f3d5.svg | 2 +-
public/emoji/1f3d6.png | Bin 942 -> 0 bytes
public/emoji/1f3d6.svg | 2 +-
public/emoji/1f3d7.png | Bin 668 -> 0 bytes
public/emoji/1f3d7.svg | 2 +-
public/emoji/1f3d8.png | Bin 981 -> 0 bytes
public/emoji/1f3d8.svg | 2 +-
public/emoji/1f3d9.png | Bin 599 -> 0 bytes
public/emoji/1f3d9.svg | 2 +-
public/emoji/1f3da.png | Bin 1606 -> 0 bytes
public/emoji/1f3da.svg | 2 +-
public/emoji/1f3db.png | Bin 1006 -> 0 bytes
public/emoji/1f3db.svg | 2 +-
public/emoji/1f3dc.png | Bin 1443 -> 0 bytes
public/emoji/1f3dc.svg | 2 +-
public/emoji/1f3dd.png | Bin 1273 -> 0 bytes
public/emoji/1f3dd.svg | 2 +-
public/emoji/1f3de.png | Bin 929 -> 0 bytes
public/emoji/1f3de.svg | 2 +-
public/emoji/1f3df.png | Bin 1515 -> 0 bytes
public/emoji/1f3df.svg | 2 +-
public/emoji/1f3e0.png | Bin 863 -> 0 bytes
public/emoji/1f3e0.svg | 2 +-
public/emoji/1f3e1.png | Bin 1613 -> 0 bytes
public/emoji/1f3e1.svg | 2 +-
public/emoji/1f3e2.png | Bin 524 -> 0 bytes
public/emoji/1f3e2.svg | 2 +-
public/emoji/1f3e3.png | Bin 676 -> 0 bytes
public/emoji/1f3e3.svg | 2 +-
public/emoji/1f3e4.png | Bin 551 -> 0 bytes
public/emoji/1f3e4.svg | 2 +-
public/emoji/1f3e5.png | Bin 530 -> 0 bytes
public/emoji/1f3e5.svg | 2 +-
public/emoji/1f3e6.png | Bin 1358 -> 0 bytes
public/emoji/1f3e6.svg | 2 +-
public/emoji/1f3e7.png | Bin 1397 -> 0 bytes
public/emoji/1f3e7.svg | 4 +-
public/emoji/1f3e8.png | Bin 1322 -> 0 bytes
public/emoji/1f3e8.svg | 2 +-
public/emoji/1f3e9.png | Bin 372 -> 0 bytes
public/emoji/1f3e9.svg | 2 +-
public/emoji/1f3ea.png | Bin 528 -> 0 bytes
public/emoji/1f3ea.svg | 2 +-
public/emoji/1f3eb.png | Bin 1234 -> 0 bytes
public/emoji/1f3eb.svg | 2 +-
public/emoji/1f3ec.png | Bin 673 -> 0 bytes
public/emoji/1f3ec.svg | 2 +-
public/emoji/1f3ed.png | Bin 936 -> 0 bytes
public/emoji/1f3ed.svg | 2 +-
public/emoji/1f3ee.png | Bin 1227 -> 0 bytes
public/emoji/1f3ee.svg | 2 +-
public/emoji/1f3ef.png | Bin 1404 -> 0 bytes
public/emoji/1f3ef.svg | 2 +-
public/emoji/1f3f0.png | Bin 965 -> 0 bytes
public/emoji/1f3f0.svg | 2 +-
public/emoji/1f3f3-1f308.png | Bin 2340 -> 0 bytes
public/emoji/1f3f3-1f308.svg | 1 -
public/emoji/1f3f3-fe0f-200d-1f308.svg | 1 +
public/emoji/1f3f3.png | Bin 699 -> 0 bytes
public/emoji/1f3f3.svg | 2 +-
public/emoji/1f3f4-200d-2620-fe0f.svg | 1 +
.../1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg | 1 +
.../1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg | 1 +
.../1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg | 1 +
public/emoji/1f3f4.png | Bin 702 -> 0 bytes
public/emoji/1f3f4.svg | 2 +-
public/emoji/1f3f5.png | Bin 1023 -> 0 bytes
public/emoji/1f3f5.svg | 2 +-
public/emoji/1f3f7.png | Bin 669 -> 0 bytes
public/emoji/1f3f7.svg | 2 +-
public/emoji/1f3f8.png | Bin 1253 -> 0 bytes
public/emoji/1f3f8.svg | 2 +-
public/emoji/1f3f9.png | Bin 1402 -> 0 bytes
public/emoji/1f3f9.svg | 2 +-
public/emoji/1f3fa.png | Bin 1044 -> 0 bytes
public/emoji/1f3fa.svg | 2 +-
public/emoji/1f3fb.png | Bin 802 -> 0 bytes
public/emoji/1f3fb.svg | 2 +-
public/emoji/1f3fc.png | Bin 829 -> 0 bytes
public/emoji/1f3fc.svg | 2 +-
public/emoji/1f3fd.png | Bin 837 -> 0 bytes
public/emoji/1f3fd.svg | 2 +-
public/emoji/1f3fe.png | Bin 860 -> 0 bytes
public/emoji/1f3fe.svg | 2 +-
public/emoji/1f3ff.png | Bin 850 -> 0 bytes
public/emoji/1f3ff.svg | 2 +-
public/emoji/1f400.png | Bin 1193 -> 0 bytes
public/emoji/1f400.svg | 2 +-
public/emoji/1f401.png | Bin 1324 -> 0 bytes
public/emoji/1f401.svg | 2 +-
public/emoji/1f402.png | Bin 1436 -> 0 bytes
public/emoji/1f402.svg | 2 +-
public/emoji/1f403.png | Bin 1536 -> 0 bytes
public/emoji/1f403.svg | 2 +-
public/emoji/1f404.png | Bin 1810 -> 0 bytes
public/emoji/1f404.svg | 2 +-
public/emoji/1f405.png | Bin 2623 -> 0 bytes
public/emoji/1f405.svg | 2 +-
public/emoji/1f406.png | Bin 2222 -> 0 bytes
public/emoji/1f406.svg | 2 +-
public/emoji/1f407.png | Bin 1805 -> 0 bytes
public/emoji/1f407.svg | 2 +-
public/emoji/1f408.png | Bin 1781 -> 0 bytes
public/emoji/1f408.svg | 2 +-
public/emoji/1f409.png | Bin 1574 -> 0 bytes
public/emoji/1f409.svg | 2 +-
public/emoji/1f40a.png | Bin 2408 -> 0 bytes
public/emoji/1f40a.svg | 2 +-
public/emoji/1f40b.png | Bin 1196 -> 0 bytes
public/emoji/1f40b.svg | 2 +-
public/emoji/1f40c.png | Bin 1731 -> 0 bytes
public/emoji/1f40c.svg | 2 +-
public/emoji/1f40d.png | Bin 1575 -> 0 bytes
public/emoji/1f40d.svg | 2 +-
public/emoji/1f40e.png | Bin 1401 -> 0 bytes
public/emoji/1f40e.svg | 2 +-
public/emoji/1f40f.png | Bin 1951 -> 0 bytes
public/emoji/1f40f.svg | 2 +-
public/emoji/1f410.png | Bin 981 -> 0 bytes
public/emoji/1f410.svg | 2 +-
public/emoji/1f411.png | Bin 1372 -> 0 bytes
public/emoji/1f411.svg | 2 +-
public/emoji/1f412.png | Bin 1348 -> 0 bytes
public/emoji/1f412.svg | 2 +-
public/emoji/1f413.png | Bin 1333 -> 0 bytes
public/emoji/1f413.svg | 2 +-
public/emoji/1f414.png | Bin 1267 -> 0 bytes
public/emoji/1f414.svg | 2 +-
public/emoji/1f415.png | Bin 2085 -> 0 bytes
public/emoji/1f415.svg | 2 +-
public/emoji/1f416.png | Bin 1548 -> 0 bytes
public/emoji/1f416.svg | 2 +-
public/emoji/1f417.png | Bin 1366 -> 0 bytes
public/emoji/1f417.svg | 2 +-
public/emoji/1f418.png | Bin 1293 -> 0 bytes
public/emoji/1f418.svg | 2 +-
public/emoji/1f419.png | Bin 1188 -> 0 bytes
public/emoji/1f419.svg | 2 +-
public/emoji/1f41a.png | Bin 1497 -> 0 bytes
public/emoji/1f41a.svg | 2 +-
public/emoji/1f41b.png | Bin 1599 -> 0 bytes
public/emoji/1f41b.svg | 2 +-
public/emoji/1f41c.png | Bin 1412 -> 0 bytes
public/emoji/1f41c.svg | 2 +-
public/emoji/1f41d.png | Bin 1378 -> 0 bytes
public/emoji/1f41d.svg | 2 +-
public/emoji/1f41e.png | Bin 1288 -> 0 bytes
public/emoji/1f41e.svg | 2 +-
public/emoji/1f41f.png | Bin 1080 -> 0 bytes
public/emoji/1f41f.svg | 2 +-
public/emoji/1f420.png | Bin 1676 -> 0 bytes
public/emoji/1f420.svg | 2 +-
public/emoji/1f421.png | Bin 1620 -> 0 bytes
public/emoji/1f421.svg | 2 +-
public/emoji/1f422.png | Bin 1515 -> 0 bytes
public/emoji/1f422.svg | 2 +-
public/emoji/1f423.png | Bin 1598 -> 0 bytes
public/emoji/1f423.svg | 2 +-
public/emoji/1f424.png | Bin 1181 -> 0 bytes
public/emoji/1f424.svg | 2 +-
public/emoji/1f425.png | Bin 1174 -> 0 bytes
public/emoji/1f425.svg | 2 +-
public/emoji/1f426.png | Bin 1068 -> 0 bytes
public/emoji/1f426.svg | 2 +-
public/emoji/1f427.png | Bin 1034 -> 0 bytes
public/emoji/1f427.svg | 2 +-
public/emoji/1f428.png | Bin 1428 -> 0 bytes
public/emoji/1f428.svg | 2 +-
public/emoji/1f429.png | Bin 1531 -> 0 bytes
public/emoji/1f429.svg | 2 +-
public/emoji/1f42a.png | Bin 1515 -> 0 bytes
public/emoji/1f42a.svg | 2 +-
public/emoji/1f42b.png | Bin 1190 -> 0 bytes
public/emoji/1f42b.svg | 2 +-
public/emoji/1f42c.png | Bin 1697 -> 0 bytes
public/emoji/1f42c.svg | 2 +-
public/emoji/1f42d.png | Bin 1245 -> 0 bytes
public/emoji/1f42d.svg | 2 +-
public/emoji/1f42e.png | Bin 1640 -> 0 bytes
public/emoji/1f42e.svg | 2 +-
public/emoji/1f42f.png | Bin 2104 -> 0 bytes
public/emoji/1f42f.svg | 2 +-
public/emoji/1f430.png | Bin 1660 -> 0 bytes
public/emoji/1f430.svg | 2 +-
public/emoji/1f431.png | Bin 1354 -> 0 bytes
public/emoji/1f431.svg | 2 +-
public/emoji/1f432.png | Bin 1769 -> 0 bytes
public/emoji/1f432.svg | 2 +-
public/emoji/1f433.png | Bin 1572 -> 0 bytes
public/emoji/1f433.svg | 2 +-
public/emoji/1f434.png | Bin 1694 -> 0 bytes
public/emoji/1f434.svg | 2 +-
public/emoji/1f435.png | Bin 1022 -> 0 bytes
public/emoji/1f435.svg | 2 +-
public/emoji/1f436.png | Bin 1674 -> 0 bytes
public/emoji/1f436.svg | 2 +-
public/emoji/1f437.png | Bin 1138 -> 0 bytes
public/emoji/1f437.svg | 2 +-
public/emoji/1f438.png | Bin 897 -> 0 bytes
public/emoji/1f438.svg | 2 +-
public/emoji/1f439.png | Bin 1279 -> 0 bytes
public/emoji/1f439.svg | 2 +-
public/emoji/1f43a.png | Bin 1528 -> 0 bytes
public/emoji/1f43a.svg | 2 +-
public/emoji/1f43b.png | Bin 1023 -> 0 bytes
public/emoji/1f43b.svg | 2 +-
public/emoji/1f43c.png | Bin 1478 -> 0 bytes
public/emoji/1f43c.svg | 3 +-
public/emoji/1f43d.png | Bin 820 -> 0 bytes
public/emoji/1f43d.svg | 2 +-
public/emoji/1f43e.png | Bin 603 -> 0 bytes
public/emoji/1f43e.svg | 2 +-
public/emoji/1f43f.png | Bin 1454 -> 0 bytes
public/emoji/1f43f.svg | 2 +-
public/emoji/1f440.png | Bin 791 -> 0 bytes
public/emoji/1f440.svg | 2 +-
public/emoji/1f441-1f5e8.png | Bin 698 -> 0 bytes
public/emoji/1f441-1f5e8.svg | 2 -
public/emoji/1f441-200d-1f5e8.svg | 1 +
public/emoji/1f441.png | Bin 664 -> 0 bytes
public/emoji/1f441.svg | 2 +-
public/emoji/1f442-1f3fb.png | Bin 860 -> 0 bytes
public/emoji/1f442-1f3fb.svg | 2 +-
public/emoji/1f442-1f3fc.png | Bin 860 -> 0 bytes
public/emoji/1f442-1f3fc.svg | 2 +-
public/emoji/1f442-1f3fd.png | Bin 860 -> 0 bytes
public/emoji/1f442-1f3fd.svg | 2 +-
public/emoji/1f442-1f3fe.png | Bin 860 -> 0 bytes
public/emoji/1f442-1f3fe.svg | 2 +-
public/emoji/1f442-1f3ff.png | Bin 860 -> 0 bytes
public/emoji/1f442-1f3ff.svg | 2 +-
public/emoji/1f442.png | Bin 860 -> 0 bytes
public/emoji/1f442.svg | 2 +-
public/emoji/1f443-1f3fb.png | Bin 703 -> 0 bytes
public/emoji/1f443-1f3fb.svg | 2 +-
public/emoji/1f443-1f3fc.png | Bin 703 -> 0 bytes
public/emoji/1f443-1f3fc.svg | 2 +-
public/emoji/1f443-1f3fd.png | Bin 703 -> 0 bytes
public/emoji/1f443-1f3fd.svg | 2 +-
public/emoji/1f443-1f3fe.png | Bin 703 -> 0 bytes
public/emoji/1f443-1f3fe.svg | 2 +-
public/emoji/1f443-1f3ff.png | Bin 703 -> 0 bytes
public/emoji/1f443-1f3ff.svg | 2 +-
public/emoji/1f443.png | Bin 703 -> 0 bytes
public/emoji/1f443.svg | 2 +-
public/emoji/1f444.png | Bin 599 -> 0 bytes
public/emoji/1f444.svg | 2 +-
public/emoji/1f445.png | Bin 599 -> 0 bytes
public/emoji/1f445.svg | 2 +-
public/emoji/1f446-1f3fb.png | Bin 822 -> 0 bytes
public/emoji/1f446-1f3fb.svg | 2 +-
public/emoji/1f446-1f3fc.png | Bin 822 -> 0 bytes
public/emoji/1f446-1f3fc.svg | 2 +-
public/emoji/1f446-1f3fd.png | Bin 871 -> 0 bytes
public/emoji/1f446-1f3fd.svg | 2 +-
public/emoji/1f446-1f3fe.png | Bin 822 -> 0 bytes
public/emoji/1f446-1f3fe.svg | 2 +-
public/emoji/1f446-1f3ff.png | Bin 822 -> 0 bytes
public/emoji/1f446-1f3ff.svg | 2 +-
public/emoji/1f446.png | Bin 822 -> 0 bytes
public/emoji/1f446.svg | 2 +-
public/emoji/1f447-1f3fb.png | Bin 856 -> 0 bytes
public/emoji/1f447-1f3fb.svg | 2 +-
public/emoji/1f447-1f3fc.png | Bin 856 -> 0 bytes
public/emoji/1f447-1f3fc.svg | 2 +-
public/emoji/1f447-1f3fd.png | Bin 858 -> 0 bytes
public/emoji/1f447-1f3fd.svg | 2 +-
public/emoji/1f447-1f3fe.png | Bin 856 -> 0 bytes
public/emoji/1f447-1f3fe.svg | 2 +-
public/emoji/1f447-1f3ff.png | Bin 856 -> 0 bytes
public/emoji/1f447-1f3ff.svg | 2 +-
public/emoji/1f447.png | Bin 853 -> 0 bytes
public/emoji/1f447.svg | 2 +-
public/emoji/1f448-1f3fb.png | Bin 832 -> 0 bytes
public/emoji/1f448-1f3fb.svg | 2 +-
public/emoji/1f448-1f3fc.png | Bin 830 -> 0 bytes
public/emoji/1f448-1f3fc.svg | 2 +-
public/emoji/1f448-1f3fd.png | Bin 830 -> 0 bytes
public/emoji/1f448-1f3fd.svg | 2 +-
public/emoji/1f448-1f3fe.png | Bin 830 -> 0 bytes
public/emoji/1f448-1f3fe.svg | 2 +-
public/emoji/1f448-1f3ff.png | Bin 832 -> 0 bytes
public/emoji/1f448-1f3ff.svg | 2 +-
public/emoji/1f448.png | Bin 825 -> 0 bytes
public/emoji/1f448.svg | 2 +-
public/emoji/1f449-1f3fb.png | Bin 805 -> 0 bytes
public/emoji/1f449-1f3fb.svg | 2 +-
public/emoji/1f449-1f3fc.png | Bin 805 -> 0 bytes
public/emoji/1f449-1f3fc.svg | 2 +-
public/emoji/1f449-1f3fd.png | Bin 805 -> 0 bytes
public/emoji/1f449-1f3fd.svg | 2 +-
public/emoji/1f449-1f3fe.png | Bin 805 -> 0 bytes
public/emoji/1f449-1f3fe.svg | 2 +-
public/emoji/1f449-1f3ff.png | Bin 805 -> 0 bytes
public/emoji/1f449-1f3ff.svg | 2 +-
public/emoji/1f449.png | Bin 805 -> 0 bytes
public/emoji/1f449.svg | 2 +-
public/emoji/1f44a-1f3fb.png | Bin 838 -> 0 bytes
public/emoji/1f44a-1f3fb.svg | 2 +-
public/emoji/1f44a-1f3fc.png | Bin 838 -> 0 bytes
public/emoji/1f44a-1f3fc.svg | 2 +-
public/emoji/1f44a-1f3fd.png | Bin 838 -> 0 bytes
public/emoji/1f44a-1f3fd.svg | 2 +-
public/emoji/1f44a-1f3fe.png | Bin 838 -> 0 bytes
public/emoji/1f44a-1f3fe.svg | 2 +-
public/emoji/1f44a-1f3ff.png | Bin 838 -> 0 bytes
public/emoji/1f44a-1f3ff.svg | 2 +-
public/emoji/1f44a.png | Bin 838 -> 0 bytes
public/emoji/1f44a.svg | 2 +-
public/emoji/1f44b-1f3fb.png | Bin 1300 -> 0 bytes
public/emoji/1f44b-1f3fb.svg | 2 +-
public/emoji/1f44b-1f3fc.png | Bin 1300 -> 0 bytes
public/emoji/1f44b-1f3fc.svg | 2 +-
public/emoji/1f44b-1f3fd.png | Bin 1295 -> 0 bytes
public/emoji/1f44b-1f3fd.svg | 2 +-
public/emoji/1f44b-1f3fe.png | Bin 1300 -> 0 bytes
public/emoji/1f44b-1f3fe.svg | 2 +-
public/emoji/1f44b-1f3ff.png | Bin 1300 -> 0 bytes
public/emoji/1f44b-1f3ff.svg | 2 +-
public/emoji/1f44b.png | Bin 1300 -> 0 bytes
public/emoji/1f44b.svg | 2 +-
public/emoji/1f44c-1f3fb.png | Bin 979 -> 0 bytes
public/emoji/1f44c-1f3fb.svg | 2 +-
public/emoji/1f44c-1f3fc.png | Bin 979 -> 0 bytes
public/emoji/1f44c-1f3fc.svg | 2 +-
public/emoji/1f44c-1f3fd.png | Bin 979 -> 0 bytes
public/emoji/1f44c-1f3fd.svg | 2 +-
public/emoji/1f44c-1f3fe.png | Bin 979 -> 0 bytes
public/emoji/1f44c-1f3fe.svg | 2 +-
public/emoji/1f44c-1f3ff.png | Bin 979 -> 0 bytes
public/emoji/1f44c-1f3ff.svg | 2 +-
public/emoji/1f44c.png | Bin 979 -> 0 bytes
public/emoji/1f44c.svg | 2 +-
public/emoji/1f44d-1f3fb.png | Bin 814 -> 0 bytes
public/emoji/1f44d-1f3fb.svg | 2 +-
public/emoji/1f44d-1f3fc.png | Bin 814 -> 0 bytes
public/emoji/1f44d-1f3fc.svg | 2 +-
public/emoji/1f44d-1f3fd.png | Bin 814 -> 0 bytes
public/emoji/1f44d-1f3fd.svg | 2 +-
public/emoji/1f44d-1f3fe.png | Bin 814 -> 0 bytes
public/emoji/1f44d-1f3fe.svg | 2 +-
public/emoji/1f44d-1f3ff.png | Bin 814 -> 0 bytes
public/emoji/1f44d-1f3ff.svg | 2 +-
public/emoji/1f44d.png | Bin 814 -> 0 bytes
public/emoji/1f44d.svg | 2 +-
public/emoji/1f44e-1f3fb.png | Bin 815 -> 0 bytes
public/emoji/1f44e-1f3fb.svg | 2 +-
public/emoji/1f44e-1f3fc.png | Bin 815 -> 0 bytes
public/emoji/1f44e-1f3fc.svg | 2 +-
public/emoji/1f44e-1f3fd.png | Bin 815 -> 0 bytes
public/emoji/1f44e-1f3fd.svg | 2 +-
public/emoji/1f44e-1f3fe.png | Bin 815 -> 0 bytes
public/emoji/1f44e-1f3fe.svg | 2 +-
public/emoji/1f44e-1f3ff.png | Bin 815 -> 0 bytes
public/emoji/1f44e-1f3ff.svg | 2 +-
public/emoji/1f44e.png | Bin 815 -> 0 bytes
public/emoji/1f44e.svg | 2 +-
public/emoji/1f44f-1f3fb.png | Bin 1458 -> 0 bytes
public/emoji/1f44f-1f3fb.svg | 2 +-
public/emoji/1f44f-1f3fc.png | Bin 1458 -> 0 bytes
public/emoji/1f44f-1f3fc.svg | 2 +-
public/emoji/1f44f-1f3fd.png | Bin 1458 -> 0 bytes
public/emoji/1f44f-1f3fd.svg | 2 +-
public/emoji/1f44f-1f3fe.png | Bin 1458 -> 0 bytes
public/emoji/1f44f-1f3fe.svg | 2 +-
public/emoji/1f44f-1f3ff.png | Bin 1444 -> 0 bytes
public/emoji/1f44f-1f3ff.svg | 2 +-
public/emoji/1f44f.png | Bin 1456 -> 0 bytes
public/emoji/1f44f.svg | 2 +-
public/emoji/1f450-1f3fb.png | Bin 1053 -> 0 bytes
public/emoji/1f450-1f3fb.svg | 2 +-
public/emoji/1f450-1f3fc.png | Bin 1053 -> 0 bytes
public/emoji/1f450-1f3fc.svg | 2 +-
public/emoji/1f450-1f3fd.png | Bin 1053 -> 0 bytes
public/emoji/1f450-1f3fd.svg | 2 +-
public/emoji/1f450-1f3fe.png | Bin 1053 -> 0 bytes
public/emoji/1f450-1f3fe.svg | 2 +-
public/emoji/1f450-1f3ff.png | Bin 1053 -> 0 bytes
public/emoji/1f450-1f3ff.svg | 2 +-
public/emoji/1f450.png | Bin 1053 -> 0 bytes
public/emoji/1f450.svg | 2 +-
public/emoji/1f451.png | Bin 1534 -> 0 bytes
public/emoji/1f451.svg | 2 +-
public/emoji/1f452.png | Bin 1553 -> 0 bytes
public/emoji/1f452.svg | 2 +-
public/emoji/1f453.png | Bin 577 -> 0 bytes
public/emoji/1f453.svg | 2 +-
public/emoji/1f454.png | Bin 995 -> 0 bytes
public/emoji/1f454.svg | 3 +-
public/emoji/1f455.png | Bin 670 -> 0 bytes
public/emoji/1f455.svg | 2 +-
public/emoji/1f456.png | Bin 1158 -> 0 bytes
public/emoji/1f456.svg | 3 +-
public/emoji/1f457.png | Bin 1001 -> 0 bytes
public/emoji/1f457.svg | 2 +-
public/emoji/1f458.png | Bin 1527 -> 0 bytes
public/emoji/1f458.svg | 2 +-
public/emoji/1f459.png | Bin 613 -> 0 bytes
public/emoji/1f459.svg | 2 +-
public/emoji/1f45a.png | Bin 1042 -> 0 bytes
public/emoji/1f45a.svg | 2 +-
public/emoji/1f45b.png | Bin 1558 -> 0 bytes
public/emoji/1f45b.svg | 2 +-
public/emoji/1f45c.png | Bin 1285 -> 0 bytes
public/emoji/1f45c.svg | 2 +-
public/emoji/1f45d.png | Bin 1259 -> 0 bytes
public/emoji/1f45d.svg | 2 +-
public/emoji/1f45e.png | Bin 1649 -> 0 bytes
public/emoji/1f45e.svg | 2 +-
public/emoji/1f45f.png | Bin 1595 -> 0 bytes
public/emoji/1f45f.svg | 2 +-
public/emoji/1f460.png | Bin 1008 -> 0 bytes
public/emoji/1f460.svg | 2 +-
public/emoji/1f461.png | Bin 1180 -> 0 bytes
public/emoji/1f461.svg | 2 +-
public/emoji/1f462.png | Bin 662 -> 0 bytes
public/emoji/1f462.svg | 2 +-
public/emoji/1f463.png | Bin 621 -> 0 bytes
public/emoji/1f463.svg | 2 +-
public/emoji/1f464.png | Bin 426 -> 0 bytes
public/emoji/1f464.svg | 2 +-
public/emoji/1f465.png | Bin 526 -> 0 bytes
public/emoji/1f465.svg | 2 +-
public/emoji/1f466-1f3fb.png | Bin 876 -> 0 bytes
public/emoji/1f466-1f3fb.svg | 2 +-
public/emoji/1f466-1f3fc.png | Bin 876 -> 0 bytes
public/emoji/1f466-1f3fc.svg | 2 +-
public/emoji/1f466-1f3fd.png | Bin 876 -> 0 bytes
public/emoji/1f466-1f3fd.svg | 2 +-
public/emoji/1f466-1f3fe.png | Bin 870 -> 0 bytes
public/emoji/1f466-1f3fe.svg | 2 +-
public/emoji/1f466-1f3ff.png | Bin 873 -> 0 bytes
public/emoji/1f466-1f3ff.svg | 2 +-
public/emoji/1f466.png | Bin 881 -> 0 bytes
public/emoji/1f466.svg | 2 +-
public/emoji/1f467-1f3fb.png | Bin 1259 -> 0 bytes
public/emoji/1f467-1f3fb.svg | 2 +-
public/emoji/1f467-1f3fc.png | Bin 1255 -> 0 bytes
public/emoji/1f467-1f3fc.svg | 2 +-
public/emoji/1f467-1f3fd.png | Bin 1255 -> 0 bytes
public/emoji/1f467-1f3fd.svg | 2 +-
public/emoji/1f467-1f3fe.png | Bin 1241 -> 0 bytes
public/emoji/1f467-1f3fe.svg | 2 +-
public/emoji/1f467-1f3ff.png | Bin 1245 -> 0 bytes
public/emoji/1f467-1f3ff.svg | 2 +-
public/emoji/1f467.png | Bin 1261 -> 0 bytes
public/emoji/1f467.svg | 2 +-
public/emoji/1f468-1f3fb-200d-1f33e.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f373.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f393.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f3a4.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f3a8.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f3eb.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f3ed.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f4bb.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f4bc.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f527.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f52c.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f680.svg | 1 +
public/emoji/1f468-1f3fb-200d-1f692.svg | 1 +
public/emoji/1f468-1f3fb-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-1f3fb-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-1f3fb-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-1f3fb.png | Bin 1069 -> 0 bytes
public/emoji/1f468-1f3fb.svg | 2 +-
public/emoji/1f468-1f3fc-200d-1f33e.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f373.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f393.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f3a4.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f3a8.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f3eb.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f3ed.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f4bb.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f4bc.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f527.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f52c.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f680.svg | 1 +
public/emoji/1f468-1f3fc-200d-1f692.svg | 1 +
public/emoji/1f468-1f3fc-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-1f3fc-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-1f3fc-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-1f3fc.png | Bin 1069 -> 0 bytes
public/emoji/1f468-1f3fc.svg | 2 +-
public/emoji/1f468-1f3fd-200d-1f33e.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f373.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f393.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f3a4.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f3a8.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f3eb.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f3ed.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f4bb.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f4bc.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f527.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f52c.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f680.svg | 1 +
public/emoji/1f468-1f3fd-200d-1f692.svg | 1 +
public/emoji/1f468-1f3fd-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-1f3fd-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-1f3fd-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-1f3fd.png | Bin 1069 -> 0 bytes
public/emoji/1f468-1f3fd.svg | 2 +-
public/emoji/1f468-1f3fe-200d-1f33e.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f373.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f393.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f3a4.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f3a8.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f3eb.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f3ed.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f4bb.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f4bc.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f527.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f52c.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f680.svg | 1 +
public/emoji/1f468-1f3fe-200d-1f692.svg | 1 +
public/emoji/1f468-1f3fe-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-1f3fe-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-1f3fe-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-1f3fe.png | Bin 1069 -> 0 bytes
public/emoji/1f468-1f3fe.svg | 2 +-
public/emoji/1f468-1f3ff-200d-1f33e.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f373.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f393.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f3a4.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f3a8.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f3eb.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f3ed.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f4bb.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f4bc.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f527.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f52c.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f680.svg | 1 +
public/emoji/1f468-1f3ff-200d-1f692.svg | 1 +
public/emoji/1f468-1f3ff-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-1f3ff-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-1f3ff-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-1f3ff.png | Bin 1087 -> 0 bytes
public/emoji/1f468-1f3ff.svg | 2 +-
public/emoji/1f468-1f468-1f466-1f466.png | Bin 1349 -> 0 bytes
public/emoji/1f468-1f468-1f466-1f466.svg | 1 -
public/emoji/1f468-1f468-1f466.png | Bin 1206 -> 0 bytes
public/emoji/1f468-1f468-1f466.svg | 1 -
public/emoji/1f468-1f468-1f467-1f466.png | Bin 1626 -> 0 bytes
public/emoji/1f468-1f468-1f467-1f466.svg | 1 -
public/emoji/1f468-1f468-1f467-1f467.png | Bin 1448 -> 0 bytes
public/emoji/1f468-1f468-1f467-1f467.svg | 1 -
public/emoji/1f468-1f468-1f467.png | Bin 1361 -> 0 bytes
public/emoji/1f468-1f468-1f467.svg | 1 -
public/emoji/1f468-1f469-1f466-1f466.png | Bin 1638 -> 0 bytes
public/emoji/1f468-1f469-1f466-1f466.svg | 1 -
public/emoji/1f468-1f469-1f467-1f466.png | Bin 1837 -> 0 bytes
public/emoji/1f468-1f469-1f467-1f466.svg | 1 -
public/emoji/1f468-1f469-1f467-1f467.png | Bin 1738 -> 0 bytes
public/emoji/1f468-1f469-1f467-1f467.svg | 1 -
public/emoji/1f468-1f469-1f467.png | Bin 1554 -> 0 bytes
public/emoji/1f468-1f469-1f467.svg | 1 -
public/emoji/1f468-200d-1f33e.svg | 1 +
public/emoji/1f468-200d-1f373.svg | 1 +
public/emoji/1f468-200d-1f393.svg | 1 +
public/emoji/1f468-200d-1f3a4.svg | 1 +
public/emoji/1f468-200d-1f3a8.svg | 1 +
public/emoji/1f468-200d-1f3eb.svg | 1 +
public/emoji/1f468-200d-1f3ed.svg | 1 +
public/emoji/1f468-200d-1f466-200d-1f466.svg | 1 +
public/emoji/1f468-200d-1f466.svg | 1 +
public/emoji/1f468-200d-1f467-200d-1f466.svg | 1 +
public/emoji/1f468-200d-1f467-200d-1f467.svg | 1 +
public/emoji/1f468-200d-1f467.svg | 1 +
.../1f468-200d-1f468-200d-1f466-200d-1f466.svg | 1 +
public/emoji/1f468-200d-1f468-200d-1f466.svg | 1 +
.../1f468-200d-1f468-200d-1f467-200d-1f466.svg | 1 +
.../1f468-200d-1f468-200d-1f467-200d-1f467.svg | 1 +
public/emoji/1f468-200d-1f468-200d-1f467.svg | 1 +
.../1f468-200d-1f469-200d-1f466-200d-1f466.svg | 1 +
public/emoji/1f468-200d-1f469-200d-1f466.svg | 1 +
.../1f468-200d-1f469-200d-1f467-200d-1f466.svg | 1 +
.../1f468-200d-1f469-200d-1f467-200d-1f467.svg | 1 +
public/emoji/1f468-200d-1f469-200d-1f467.svg | 1 +
public/emoji/1f468-200d-1f4bb.svg | 1 +
public/emoji/1f468-200d-1f4bc.svg | 1 +
public/emoji/1f468-200d-1f527.svg | 1 +
public/emoji/1f468-200d-1f52c.svg | 1 +
public/emoji/1f468-200d-1f680.svg | 1 +
public/emoji/1f468-200d-1f692.svg | 1 +
public/emoji/1f468-200d-2695-fe0f.svg | 1 +
public/emoji/1f468-200d-2696-fe0f.svg | 1 +
public/emoji/1f468-200d-2708-fe0f.svg | 1 +
public/emoji/1f468-200d-2764-fe0f-200d-1f468.svg | 1 +
.../1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg | 1 +
public/emoji/1f468-2764-1f468.png | Bin 1091 -> 0 bytes
public/emoji/1f468-2764-1f468.svg | 1 -
public/emoji/1f468-2764-1f48b-1f468.png | Bin 1269 -> 0 bytes
public/emoji/1f468-2764-1f48b-1f468.svg | 1 -
public/emoji/1f468.png | Bin 1092 -> 0 bytes
public/emoji/1f468.svg | 2 +-
public/emoji/1f469-1f3fb-200d-1f33e.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f373.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f393.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f3a4.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f3a8.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f3eb.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f3ed.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f4bb.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f4bc.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f527.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f52c.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f680.svg | 1 +
public/emoji/1f469-1f3fb-200d-1f692.svg | 1 +
public/emoji/1f469-1f3fb-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-1f3fb-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-1f3fb-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-1f3fb.png | Bin 1212 -> 0 bytes
public/emoji/1f469-1f3fb.svg | 3 +-
public/emoji/1f469-1f3fc-200d-1f33e.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f373.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f393.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f3a4.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f3a8.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f3eb.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f3ed.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f4bb.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f4bc.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f527.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f52c.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f680.svg | 1 +
public/emoji/1f469-1f3fc-200d-1f692.svg | 1 +
public/emoji/1f469-1f3fc-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-1f3fc-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-1f3fc-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-1f3fc.png | Bin 1212 -> 0 bytes
public/emoji/1f469-1f3fc.svg | 3 +-
public/emoji/1f469-1f3fd-200d-1f33e.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f373.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f393.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f3a4.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f3a8.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f3eb.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f3ed.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f4bb.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f4bc.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f527.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f52c.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f680.svg | 1 +
public/emoji/1f469-1f3fd-200d-1f692.svg | 1 +
public/emoji/1f469-1f3fd-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-1f3fd-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-1f3fd-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-1f3fd.png | Bin 1202 -> 0 bytes
public/emoji/1f469-1f3fd.svg | 3 +-
public/emoji/1f469-1f3fe-200d-1f33e.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f373.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f393.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f3a4.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f3a8.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f3eb.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f3ed.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f4bb.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f4bc.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f527.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f52c.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f680.svg | 1 +
public/emoji/1f469-1f3fe-200d-1f692.svg | 1 +
public/emoji/1f469-1f3fe-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-1f3fe-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-1f3fe-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-1f3fe.png | Bin 1195 -> 0 bytes
public/emoji/1f469-1f3fe.svg | 3 +-
public/emoji/1f469-1f3ff-200d-1f33e.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f373.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f393.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f3a4.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f3a8.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f3eb.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f3ed.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f4bb.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f4bc.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f527.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f52c.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f680.svg | 1 +
public/emoji/1f469-1f3ff-200d-1f692.svg | 1 +
public/emoji/1f469-1f3ff-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-1f3ff-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-1f3ff-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-1f3ff.png | Bin 1202 -> 0 bytes
public/emoji/1f469-1f3ff.svg | 3 +-
public/emoji/1f469-1f469-1f466-1f466.png | Bin 1289 -> 0 bytes
public/emoji/1f469-1f469-1f466-1f466.svg | 2 -
public/emoji/1f469-1f469-1f466.png | Bin 1155 -> 0 bytes
public/emoji/1f469-1f469-1f466.svg | 2 -
public/emoji/1f469-1f469-1f467-1f466.png | Bin 1550 -> 0 bytes
public/emoji/1f469-1f469-1f467-1f466.svg | 2 -
public/emoji/1f469-1f469-1f467-1f467.png | Bin 1374 -> 0 bytes
public/emoji/1f469-1f469-1f467-1f467.svg | 2 -
public/emoji/1f469-1f469-1f467.png | Bin 1286 -> 0 bytes
public/emoji/1f469-1f469-1f467.svg | 2 -
public/emoji/1f469-200d-1f33e.svg | 1 +
public/emoji/1f469-200d-1f373.svg | 1 +
public/emoji/1f469-200d-1f393.svg | 1 +
public/emoji/1f469-200d-1f3a4.svg | 1 +
public/emoji/1f469-200d-1f3a8.svg | 1 +
public/emoji/1f469-200d-1f3eb.svg | 1 +
public/emoji/1f469-200d-1f3ed.svg | 1 +
public/emoji/1f469-200d-1f466-200d-1f466.svg | 1 +
public/emoji/1f469-200d-1f466.svg | 1 +
public/emoji/1f469-200d-1f467-200d-1f466.svg | 1 +
public/emoji/1f469-200d-1f467-200d-1f467.svg | 1 +
public/emoji/1f469-200d-1f467.svg | 1 +
.../1f469-200d-1f469-200d-1f466-200d-1f466.svg | 1 +
public/emoji/1f469-200d-1f469-200d-1f466.svg | 1 +
.../1f469-200d-1f469-200d-1f467-200d-1f466.svg | 1 +
.../1f469-200d-1f469-200d-1f467-200d-1f467.svg | 1 +
public/emoji/1f469-200d-1f469-200d-1f467.svg | 1 +
public/emoji/1f469-200d-1f4bb.svg | 1 +
public/emoji/1f469-200d-1f4bc.svg | 1 +
public/emoji/1f469-200d-1f527.svg | 1 +
public/emoji/1f469-200d-1f52c.svg | 1 +
public/emoji/1f469-200d-1f680.svg | 1 +
public/emoji/1f469-200d-1f692.svg | 1 +
public/emoji/1f469-200d-2695-fe0f.svg | 1 +
public/emoji/1f469-200d-2696-fe0f.svg | 1 +
public/emoji/1f469-200d-2708-fe0f.svg | 1 +
public/emoji/1f469-200d-2764-fe0f-200d-1f468.svg | 1 +
public/emoji/1f469-200d-2764-fe0f-200d-1f469.svg | 1 +
.../1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg | 1 +
.../1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg | 1 +
public/emoji/1f469-2764-1f469.png | Bin 1034 -> 0 bytes
public/emoji/1f469-2764-1f469.svg | 1 -
public/emoji/1f469-2764-1f48b-1f469.png | Bin 1149 -> 0 bytes
public/emoji/1f469-2764-1f48b-1f469.svg | 1 -
public/emoji/1f469.png | Bin 1212 -> 0 bytes
public/emoji/1f469.svg | 3 +-
public/emoji/1f46a.png | Bin 1433 -> 0 bytes
public/emoji/1f46a.svg | 2 +-
public/emoji/1f46b.png | Bin 1537 -> 0 bytes
public/emoji/1f46b.svg | 2 +-
public/emoji/1f46c.png | Bin 1347 -> 0 bytes
public/emoji/1f46c.svg | 2 +-
public/emoji/1f46d.png | Bin 1544 -> 0 bytes
public/emoji/1f46d.svg | 2 +-
public/emoji/1f46e-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e-1f3fb.png | Bin 1421 -> 0 bytes
public/emoji/1f46e-1f3fb.svg | 2 +-
public/emoji/1f46e-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e-1f3fc.png | Bin 1424 -> 0 bytes
public/emoji/1f46e-1f3fc.svg | 2 +-
public/emoji/1f46e-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e-1f3fd.png | Bin 1419 -> 0 bytes
public/emoji/1f46e-1f3fd.svg | 2 +-
public/emoji/1f46e-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e-1f3fe.png | Bin 1417 -> 0 bytes
public/emoji/1f46e-1f3fe.svg | 2 +-
public/emoji/1f46e-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e-1f3ff.png | Bin 1433 -> 0 bytes
public/emoji/1f46e-1f3ff.svg | 2 +-
public/emoji/1f46e-200d-2640-fe0f.svg | 1 +
public/emoji/1f46e-200d-2642-fe0f.svg | 1 +
public/emoji/1f46e.png | Bin 1440 -> 0 bytes
public/emoji/1f46e.svg | 2 +-
public/emoji/1f46f-200d-2640-fe0f.svg | 1 +
public/emoji/1f46f-200d-2642-fe0f.svg | 1 +
public/emoji/1f46f.png | Bin 1872 -> 0 bytes
public/emoji/1f46f.svg | 2 +-
public/emoji/1f470-1f3fb.png | Bin 2464 -> 0 bytes
public/emoji/1f470-1f3fb.svg | 2 +-
public/emoji/1f470-1f3fc.png | Bin 2457 -> 0 bytes
public/emoji/1f470-1f3fc.svg | 2 +-
public/emoji/1f470-1f3fd.png | Bin 2463 -> 0 bytes
public/emoji/1f470-1f3fd.svg | 2 +-
public/emoji/1f470-1f3fe.png | Bin 2463 -> 0 bytes
public/emoji/1f470-1f3fe.svg | 2 +-
public/emoji/1f470-1f3ff.png | Bin 2462 -> 0 bytes
public/emoji/1f470-1f3ff.svg | 2 +-
public/emoji/1f470.png | Bin 2452 -> 0 bytes
public/emoji/1f470.svg | 2 +-
public/emoji/1f471-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f471-1f3fb.png | Bin 1181 -> 0 bytes
public/emoji/1f471-1f3fb.svg | 2 +-
public/emoji/1f471-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f471-1f3fc.png | Bin 1181 -> 0 bytes
public/emoji/1f471-1f3fc.svg | 2 +-
public/emoji/1f471-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f471-1f3fd.png | Bin 1181 -> 0 bytes
public/emoji/1f471-1f3fd.svg | 2 +-
public/emoji/1f471-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f471-1f3fe.png | Bin 1189 -> 0 bytes
public/emoji/1f471-1f3fe.svg | 2 +-
public/emoji/1f471-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f471-1f3ff.png | Bin 1214 -> 0 bytes
public/emoji/1f471-1f3ff.svg | 2 +-
public/emoji/1f471-200d-2640-fe0f.svg | 1 +
public/emoji/1f471-200d-2642-fe0f.svg | 1 +
public/emoji/1f471.png | Bin 1205 -> 0 bytes
public/emoji/1f471.svg | 2 +-
public/emoji/1f472-1f3fb.png | Bin 1328 -> 0 bytes
public/emoji/1f472-1f3fb.svg | 3 +-
public/emoji/1f472-1f3fc.png | Bin 1332 -> 0 bytes
public/emoji/1f472-1f3fc.svg | 3 +-
public/emoji/1f472-1f3fd.png | Bin 1329 -> 0 bytes
public/emoji/1f472-1f3fd.svg | 3 +-
public/emoji/1f472-1f3fe.png | Bin 1325 -> 0 bytes
public/emoji/1f472-1f3fe.svg | 3 +-
public/emoji/1f472-1f3ff.png | Bin 1337 -> 0 bytes
public/emoji/1f472-1f3ff.svg | 3 +-
public/emoji/1f472.png | Bin 1339 -> 0 bytes
public/emoji/1f472.svg | 3 +-
public/emoji/1f473-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f473-1f3fb.png | Bin 1584 -> 0 bytes
public/emoji/1f473-1f3fb.svg | 2 +-
public/emoji/1f473-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f473-1f3fc.png | Bin 1588 -> 0 bytes
public/emoji/1f473-1f3fc.svg | 2 +-
public/emoji/1f473-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f473-1f3fd.png | Bin 1584 -> 0 bytes
public/emoji/1f473-1f3fd.svg | 2 +-
public/emoji/1f473-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f473-1f3fe.png | Bin 1583 -> 0 bytes
public/emoji/1f473-1f3fe.svg | 2 +-
public/emoji/1f473-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f473-1f3ff.png | Bin 1605 -> 0 bytes
public/emoji/1f473-1f3ff.svg | 2 +-
public/emoji/1f473-200d-2640-fe0f.svg | 1 +
public/emoji/1f473-200d-2642-fe0f.svg | 1 +
public/emoji/1f473.png | Bin 1618 -> 0 bytes
public/emoji/1f473.svg | 2 +-
public/emoji/1f474-1f3fb.png | Bin 1253 -> 0 bytes
public/emoji/1f474-1f3fb.svg | 2 +-
public/emoji/1f474-1f3fc.png | Bin 1253 -> 0 bytes
public/emoji/1f474-1f3fc.svg | 2 +-
public/emoji/1f474-1f3fd.png | Bin 1253 -> 0 bytes
public/emoji/1f474-1f3fd.svg | 2 +-
public/emoji/1f474-1f3fe.png | Bin 1254 -> 0 bytes
public/emoji/1f474-1f3fe.svg | 2 +-
public/emoji/1f474-1f3ff.png | Bin 1254 -> 0 bytes
public/emoji/1f474-1f3ff.svg | 2 +-
public/emoji/1f474.png | Bin 1253 -> 0 bytes
public/emoji/1f474.svg | 2 +-
public/emoji/1f475-1f3fb.png | Bin 1562 -> 0 bytes
public/emoji/1f475-1f3fb.svg | 2 +-
public/emoji/1f475-1f3fc.png | Bin 1564 -> 0 bytes
public/emoji/1f475-1f3fc.svg | 2 +-
public/emoji/1f475-1f3fd.png | Bin 1555 -> 0 bytes
public/emoji/1f475-1f3fd.svg | 2 +-
public/emoji/1f475-1f3fe.png | Bin 1562 -> 0 bytes
public/emoji/1f475-1f3fe.svg | 2 +-
public/emoji/1f475-1f3ff.png | Bin 1544 -> 0 bytes
public/emoji/1f475-1f3ff.svg | 2 +-
public/emoji/1f475.png | Bin 1472 -> 0 bytes
public/emoji/1f475.svg | 2 +-
public/emoji/1f476-1f3fb.png | Bin 1392 -> 0 bytes
public/emoji/1f476-1f3fb.svg | 2 +-
public/emoji/1f476-1f3fc.png | Bin 1392 -> 0 bytes
public/emoji/1f476-1f3fc.svg | 2 +-
public/emoji/1f476-1f3fd.png | Bin 1403 -> 0 bytes
public/emoji/1f476-1f3fd.svg | 2 +-
public/emoji/1f476-1f3fe.png | Bin 1413 -> 0 bytes
public/emoji/1f476-1f3fe.svg | 2 +-
public/emoji/1f476-1f3ff.png | Bin 1405 -> 0 bytes
public/emoji/1f476-1f3ff.svg | 2 +-
public/emoji/1f476.png | Bin 1380 -> 0 bytes
public/emoji/1f476.svg | 2 +-
public/emoji/1f477-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f477-1f3fb.png | Bin 1102 -> 0 bytes
public/emoji/1f477-1f3fb.svg | 2 +-
public/emoji/1f477-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f477-1f3fc.png | Bin 1102 -> 0 bytes
public/emoji/1f477-1f3fc.svg | 2 +-
public/emoji/1f477-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f477-1f3fd.png | Bin 1102 -> 0 bytes
public/emoji/1f477-1f3fd.svg | 2 +-
public/emoji/1f477-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f477-1f3fe.png | Bin 1095 -> 0 bytes
public/emoji/1f477-1f3fe.svg | 2 +-
public/emoji/1f477-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f477-1f3ff.png | Bin 1119 -> 0 bytes
public/emoji/1f477-1f3ff.svg | 2 +-
public/emoji/1f477-200d-2640-fe0f.svg | 1 +
public/emoji/1f477-200d-2642-fe0f.svg | 1 +
public/emoji/1f477.png | Bin 1126 -> 0 bytes
public/emoji/1f477.svg | 2 +-
public/emoji/1f478-1f3fb.png | Bin 1812 -> 0 bytes
public/emoji/1f478-1f3fb.svg | 2 +-
public/emoji/1f478-1f3fc.png | Bin 1805 -> 0 bytes
public/emoji/1f478-1f3fc.svg | 2 +-
public/emoji/1f478-1f3fd.png | Bin 1805 -> 0 bytes
public/emoji/1f478-1f3fd.svg | 2 +-
public/emoji/1f478-1f3fe.png | Bin 1813 -> 0 bytes
public/emoji/1f478-1f3fe.svg | 3 +-
public/emoji/1f478-1f3ff.png | Bin 1812 -> 0 bytes
public/emoji/1f478-1f3ff.svg | 2 +-
public/emoji/1f478.png | Bin 1812 -> 0 bytes
public/emoji/1f478.svg | 2 +-
public/emoji/1f479.png | Bin 1864 -> 0 bytes
public/emoji/1f479.svg | 2 +-
public/emoji/1f47a.png | Bin 1561 -> 0 bytes
public/emoji/1f47a.svg | 2 +-
public/emoji/1f47b.png | Bin 1465 -> 0 bytes
public/emoji/1f47b.svg | 2 +-
public/emoji/1f47c-1f3fb.png | Bin 2088 -> 0 bytes
public/emoji/1f47c-1f3fb.svg | 2 +-
public/emoji/1f47c-1f3fc.png | Bin 2075 -> 0 bytes
public/emoji/1f47c-1f3fc.svg | 2 +-
public/emoji/1f47c-1f3fd.png | Bin 2078 -> 0 bytes
public/emoji/1f47c-1f3fd.svg | 2 +-
public/emoji/1f47c-1f3fe.png | Bin 2076 -> 0 bytes
public/emoji/1f47c-1f3fe.svg | 2 +-
public/emoji/1f47c-1f3ff.png | Bin 2078 -> 0 bytes
public/emoji/1f47c-1f3ff.svg | 2 +-
public/emoji/1f47c.png | Bin 2077 -> 0 bytes
public/emoji/1f47c.svg | 2 +-
public/emoji/1f47d.png | Bin 839 -> 0 bytes
public/emoji/1f47d.svg | 2 +-
public/emoji/1f47e.png | Bin 1325 -> 0 bytes
public/emoji/1f47e.svg | 2 +-
public/emoji/1f47f.png | Bin 1988 -> 0 bytes
public/emoji/1f47f.svg | 2 +-
public/emoji/1f480.png | Bin 628 -> 0 bytes
public/emoji/1f480.svg | 2 +-
public/emoji/1f481-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f481-1f3fb.png | Bin 1597 -> 0 bytes
public/emoji/1f481-1f3fb.svg | 2 +-
public/emoji/1f481-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f481-1f3fc.png | Bin 1590 -> 0 bytes
public/emoji/1f481-1f3fc.svg | 2 +-
public/emoji/1f481-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f481-1f3fd.png | Bin 1580 -> 0 bytes
public/emoji/1f481-1f3fd.svg | 2 +-
public/emoji/1f481-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f481-1f3fe.png | Bin 1572 -> 0 bytes
public/emoji/1f481-1f3fe.svg | 2 +-
public/emoji/1f481-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f481-1f3ff.png | Bin 1588 -> 0 bytes
public/emoji/1f481-1f3ff.svg | 2 +-
public/emoji/1f481-200d-2640-fe0f.svg | 1 +
public/emoji/1f481-200d-2642-fe0f.svg | 1 +
public/emoji/1f481.png | Bin 1580 -> 0 bytes
public/emoji/1f481.svg | 2 +-
public/emoji/1f482-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f482-1f3fb.png | Bin 1122 -> 0 bytes
public/emoji/1f482-1f3fb.svg | 2 +-
public/emoji/1f482-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f482-1f3fc.png | Bin 1160 -> 0 bytes
public/emoji/1f482-1f3fc.svg | 2 +-
public/emoji/1f482-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f482-1f3fd.png | Bin 1160 -> 0 bytes
public/emoji/1f482-1f3fd.svg | 2 +-
public/emoji/1f482-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f482-1f3fe.png | Bin 1157 -> 0 bytes
public/emoji/1f482-1f3fe.svg | 2 +-
public/emoji/1f482-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f482-1f3ff.png | Bin 1165 -> 0 bytes
public/emoji/1f482-1f3ff.svg | 2 +-
public/emoji/1f482-200d-2640-fe0f.svg | 1 +
public/emoji/1f482-200d-2642-fe0f.svg | 1 +
public/emoji/1f482.png | Bin 1140 -> 0 bytes
public/emoji/1f482.svg | 2 +-
public/emoji/1f483-1f3fb.png | Bin 1420 -> 0 bytes
public/emoji/1f483-1f3fb.svg | 2 +-
public/emoji/1f483-1f3fc.png | Bin 1423 -> 0 bytes
public/emoji/1f483-1f3fc.svg | 2 +-
public/emoji/1f483-1f3fd.png | Bin 1429 -> 0 bytes
public/emoji/1f483-1f3fd.svg | 2 +-
public/emoji/1f483-1f3fe.png | Bin 1428 -> 0 bytes
public/emoji/1f483-1f3fe.svg | 2 +-
public/emoji/1f483-1f3ff.png | Bin 1418 -> 0 bytes
public/emoji/1f483-1f3ff.svg | 2 +-
public/emoji/1f483.png | Bin 1405 -> 0 bytes
public/emoji/1f483.svg | 2 +-
public/emoji/1f484.png | Bin 549 -> 0 bytes
public/emoji/1f484.svg | 2 +-
public/emoji/1f485-1f3fb.png | Bin 1712 -> 0 bytes
public/emoji/1f485-1f3fb.svg | 2 +-
public/emoji/1f485-1f3fc.png | Bin 1711 -> 0 bytes
public/emoji/1f485-1f3fc.svg | 2 +-
public/emoji/1f485-1f3fd.png | Bin 1727 -> 0 bytes
public/emoji/1f485-1f3fd.svg | 2 +-
public/emoji/1f485-1f3fe.png | Bin 1728 -> 0 bytes
public/emoji/1f485-1f3fe.svg | 2 +-
public/emoji/1f485-1f3ff.png | Bin 1716 -> 0 bytes
public/emoji/1f485-1f3ff.svg | 2 +-
public/emoji/1f485.png | Bin 1639 -> 0 bytes
public/emoji/1f485.svg | 2 +-
public/emoji/1f486-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f486-1f3fb.png | Bin 1578 -> 0 bytes
public/emoji/1f486-1f3fb.svg | 2 +-
public/emoji/1f486-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f486-1f3fc.png | Bin 1565 -> 0 bytes
public/emoji/1f486-1f3fc.svg | 2 +-
public/emoji/1f486-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f486-1f3fd.png | Bin 1553 -> 0 bytes
public/emoji/1f486-1f3fd.svg | 2 +-
public/emoji/1f486-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f486-1f3fe.png | Bin 1546 -> 0 bytes
public/emoji/1f486-1f3fe.svg | 2 +-
public/emoji/1f486-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f486-1f3ff.png | Bin 1557 -> 0 bytes
public/emoji/1f486-1f3ff.svg | 2 +-
public/emoji/1f486-200d-2640-fe0f.svg | 1 +
public/emoji/1f486-200d-2642-fe0f.svg | 1 +
public/emoji/1f486.png | Bin 1571 -> 0 bytes
public/emoji/1f486.svg | 2 +-
public/emoji/1f487-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f487-1f3fb.png | Bin 1945 -> 0 bytes
public/emoji/1f487-1f3fb.svg | 2 +-
public/emoji/1f487-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f487-1f3fc.png | Bin 1935 -> 0 bytes
public/emoji/1f487-1f3fc.svg | 2 +-
public/emoji/1f487-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f487-1f3fd.png | Bin 1923 -> 0 bytes
public/emoji/1f487-1f3fd.svg | 2 +-
public/emoji/1f487-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f487-1f3fe.png | Bin 1904 -> 0 bytes
public/emoji/1f487-1f3fe.svg | 2 +-
public/emoji/1f487-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f487-1f3ff.png | Bin 1920 -> 0 bytes
public/emoji/1f487-1f3ff.svg | 2 +-
public/emoji/1f487-200d-2640-fe0f.svg | 1 +
public/emoji/1f487-200d-2642-fe0f.svg | 1 +
public/emoji/1f487.png | Bin 1935 -> 0 bytes
public/emoji/1f487.svg | 2 +-
public/emoji/1f488.png | Bin 820 -> 0 bytes
public/emoji/1f488.svg | 2 +-
public/emoji/1f489.png | Bin 737 -> 0 bytes
public/emoji/1f489.svg | 2 +-
public/emoji/1f48a.png | Bin 442 -> 0 bytes
public/emoji/1f48a.svg | 2 +-
public/emoji/1f48b.png | Bin 842 -> 0 bytes
public/emoji/1f48b.svg | 2 +-
public/emoji/1f48c.png | Bin 923 -> 0 bytes
public/emoji/1f48c.svg | 2 +-
public/emoji/1f48d.png | Bin 1113 -> 0 bytes
public/emoji/1f48d.svg | 2 +-
public/emoji/1f48e.png | Bin 715 -> 0 bytes
public/emoji/1f48e.svg | 2 +-
public/emoji/1f48f.png | Bin 1380 -> 0 bytes
public/emoji/1f48f.svg | 2 +-
public/emoji/1f490.png | Bin 1662 -> 0 bytes
public/emoji/1f490.svg | 2 +-
public/emoji/1f491.png | Bin 1285 -> 0 bytes
public/emoji/1f491.svg | 2 +-
public/emoji/1f492.png | Bin 1260 -> 0 bytes
public/emoji/1f492.svg | 3 +-
public/emoji/1f493.png | Bin 699 -> 0 bytes
public/emoji/1f493.svg | 2 +-
public/emoji/1f494.png | Bin 556 -> 0 bytes
public/emoji/1f494.svg | 2 +-
public/emoji/1f495.png | Bin 493 -> 0 bytes
public/emoji/1f495.svg | 2 +-
public/emoji/1f496.png | Bin 821 -> 0 bytes
public/emoji/1f496.svg | 2 +-
public/emoji/1f497.png | Bin 675 -> 0 bytes
public/emoji/1f497.svg | 2 +-
public/emoji/1f498.png | Bin 846 -> 0 bytes
public/emoji/1f498.svg | 2 +-
public/emoji/1f499.png | Bin 435 -> 0 bytes
public/emoji/1f499.svg | 2 +-
public/emoji/1f49a.png | Bin 435 -> 0 bytes
public/emoji/1f49a.svg | 2 +-
public/emoji/1f49b.png | Bin 435 -> 0 bytes
public/emoji/1f49b.svg | 2 +-
public/emoji/1f49c.png | Bin 435 -> 0 bytes
public/emoji/1f49c.svg | 2 +-
public/emoji/1f49d.png | Bin 1141 -> 0 bytes
public/emoji/1f49d.svg | 3 +-
public/emoji/1f49e.png | Bin 920 -> 0 bytes
public/emoji/1f49e.svg | 2 +-
public/emoji/1f49f.png | Bin 557 -> 0 bytes
public/emoji/1f49f.svg | 2 +-
public/emoji/1f4a0.png | Bin 693 -> 0 bytes
public/emoji/1f4a0.svg | 2 +-
public/emoji/1f4a1.png | Bin 805 -> 0 bytes
public/emoji/1f4a1.svg | 2 +-
public/emoji/1f4a2.png | Bin 594 -> 0 bytes
public/emoji/1f4a2.svg | 2 +-
public/emoji/1f4a3.png | Bin 702 -> 0 bytes
public/emoji/1f4a3.svg | 2 +-
public/emoji/1f4a4.png | Bin 540 -> 0 bytes
public/emoji/1f4a4.svg | 2 +-
public/emoji/1f4a5.png | Bin 1110 -> 0 bytes
public/emoji/1f4a5.svg | 2 +-
public/emoji/1f4a6.png | Bin 549 -> 0 bytes
public/emoji/1f4a6.svg | 2 +-
public/emoji/1f4a7.png | Bin 411 -> 0 bytes
public/emoji/1f4a7.svg | 2 +-
public/emoji/1f4a8.png | Bin 840 -> 0 bytes
public/emoji/1f4a8.svg | 2 +-
public/emoji/1f4a9.png | Bin 1273 -> 0 bytes
public/emoji/1f4a9.svg | 2 +-
public/emoji/1f4aa-1f3fb.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa-1f3fb.svg | 2 +-
public/emoji/1f4aa-1f3fc.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa-1f3fc.svg | 2 +-
public/emoji/1f4aa-1f3fd.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa-1f3fd.svg | 2 +-
public/emoji/1f4aa-1f3fe.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa-1f3fe.svg | 2 +-
public/emoji/1f4aa-1f3ff.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa-1f3ff.svg | 2 +-
public/emoji/1f4aa.png | Bin 1012 -> 0 bytes
public/emoji/1f4aa.svg | 2 +-
public/emoji/1f4ab.png | Bin 795 -> 0 bytes
public/emoji/1f4ab.svg | 2 +-
public/emoji/1f4ac.png | Bin 384 -> 0 bytes
public/emoji/1f4ac.svg | 3 +-
public/emoji/1f4ad.png | Bin 489 -> 0 bytes
public/emoji/1f4ad.svg | 2 +-
public/emoji/1f4ae.png | Bin 941 -> 0 bytes
public/emoji/1f4ae.svg | 2 +-
public/emoji/1f4af.png | Bin 793 -> 0 bytes
public/emoji/1f4af.svg | 2 +-
public/emoji/1f4b0.png | Bin 2310 -> 0 bytes
public/emoji/1f4b0.svg | 2 +-
public/emoji/1f4b1.png | Bin 576 -> 0 bytes
public/emoji/1f4b1.svg | 2 +-
public/emoji/1f4b2.png | Bin 429 -> 0 bytes
public/emoji/1f4b2.svg | 2 +-
public/emoji/1f4b3.png | Bin 1012 -> 0 bytes
public/emoji/1f4b3.svg | 2 +-
public/emoji/1f4b4.png | Bin 421 -> 0 bytes
public/emoji/1f4b4.svg | 2 +-
public/emoji/1f4b5.png | Bin 405 -> 0 bytes
public/emoji/1f4b5.svg | 2 +-
public/emoji/1f4b6.png | Bin 460 -> 0 bytes
public/emoji/1f4b6.svg | 2 +-
public/emoji/1f4b7.png | Bin 452 -> 0 bytes
public/emoji/1f4b7.svg | 2 +-
public/emoji/1f4b8.png | Bin 2327 -> 0 bytes
public/emoji/1f4b8.svg | 2 +-
public/emoji/1f4b9.png | Bin 724 -> 0 bytes
public/emoji/1f4b9.svg | 2 +-
public/emoji/1f4ba.png | Bin 884 -> 0 bytes
public/emoji/1f4ba.svg | 2 +-
public/emoji/1f4bb.png | Bin 369 -> 0 bytes
public/emoji/1f4bb.svg | 2 +-
public/emoji/1f4bc.png | Bin 1275 -> 0 bytes
public/emoji/1f4bc.svg | 2 +-
public/emoji/1f4bd.png | Bin 522 -> 0 bytes
public/emoji/1f4bd.svg | 2 +-
public/emoji/1f4be.png | Bin 258 -> 0 bytes
public/emoji/1f4be.svg | 2 +-
public/emoji/1f4bf.png | Bin 908 -> 0 bytes
public/emoji/1f4bf.svg | 2 +-
public/emoji/1f4c0.png | Bin 933 -> 0 bytes
public/emoji/1f4c0.svg | 2 +-
public/emoji/1f4c1.png | Bin 1445 -> 0 bytes
public/emoji/1f4c1.svg | 2 +-
public/emoji/1f4c2.png | Bin 755 -> 0 bytes
public/emoji/1f4c2.svg | 2 +-
public/emoji/1f4c3.png | Bin 1157 -> 0 bytes
public/emoji/1f4c3.svg | 2 +-
public/emoji/1f4c4.png | Bin 1110 -> 0 bytes
public/emoji/1f4c4.svg | 2 +-
public/emoji/1f4c5.png | Bin 788 -> 0 bytes
public/emoji/1f4c5.svg | 2 +-
public/emoji/1f4c6.png | Bin 2077 -> 0 bytes
public/emoji/1f4c6.svg | 2 +-
public/emoji/1f4c7.png | Bin 1929 -> 0 bytes
public/emoji/1f4c7.svg | 2 +-
public/emoji/1f4c8.png | Bin 688 -> 0 bytes
public/emoji/1f4c8.svg | 2 +-
public/emoji/1f4c9.png | Bin 709 -> 0 bytes
public/emoji/1f4c9.svg | 2 +-
public/emoji/1f4ca.png | Bin 408 -> 0 bytes
public/emoji/1f4ca.svg | 2 +-
public/emoji/1f4cb.png | Bin 1345 -> 0 bytes
public/emoji/1f4cb.svg | 2 +-
public/emoji/1f4cc.png | Bin 640 -> 0 bytes
public/emoji/1f4cc.svg | 2 +-
public/emoji/1f4cd.png | Bin 455 -> 0 bytes
public/emoji/1f4cd.svg | 2 +-
public/emoji/1f4ce.png | Bin 439 -> 0 bytes
public/emoji/1f4ce.svg | 2 +-
public/emoji/1f4cf.png | Bin 1406 -> 0 bytes
public/emoji/1f4cf.svg | 2 +-
public/emoji/1f4d0.png | Bin 369 -> 0 bytes
public/emoji/1f4d0.svg | 2 +-
public/emoji/1f4d1.png | Bin 1395 -> 0 bytes
public/emoji/1f4d1.svg | 3 +-
public/emoji/1f4d2.png | Bin 1528 -> 0 bytes
public/emoji/1f4d2.svg | 2 +-
public/emoji/1f4d3.png | Bin 1215 -> 0 bytes
public/emoji/1f4d3.svg | 2 +-
public/emoji/1f4d4.png | Bin 1782 -> 0 bytes
public/emoji/1f4d4.svg | 2 +-
public/emoji/1f4d5.png | Bin 1359 -> 0 bytes
public/emoji/1f4d5.svg | 2 +-
public/emoji/1f4d6.png | Bin 1716 -> 0 bytes
public/emoji/1f4d6.svg | 2 +-
public/emoji/1f4d7.png | Bin 1366 -> 0 bytes
public/emoji/1f4d7.svg | 2 +-
public/emoji/1f4d8.png | Bin 1347 -> 0 bytes
public/emoji/1f4d8.svg | 2 +-
public/emoji/1f4d9.png | Bin 1329 -> 0 bytes
public/emoji/1f4d9.svg | 2 +-
public/emoji/1f4da.png | Bin 2474 -> 0 bytes
public/emoji/1f4da.svg | 2 +-
public/emoji/1f4db.png | Bin 632 -> 0 bytes
public/emoji/1f4db.svg | 2 +-
public/emoji/1f4dc.png | Bin 989 -> 0 bytes
public/emoji/1f4dc.svg | 2 +-
public/emoji/1f4dd.png | Bin 1624 -> 0 bytes
public/emoji/1f4dd.svg | 2 +-
public/emoji/1f4de.png | Bin 941 -> 0 bytes
public/emoji/1f4de.svg | 2 +-
public/emoji/1f4df.png | Bin 553 -> 0 bytes
public/emoji/1f4df.svg | 2 +-
public/emoji/1f4e0.png | Bin 1188 -> 0 bytes
public/emoji/1f4e0.svg | 2 +-
public/emoji/1f4e1.png | Bin 1173 -> 0 bytes
public/emoji/1f4e1.svg | 2 +-
public/emoji/1f4e2.png | Bin 1316 -> 0 bytes
public/emoji/1f4e2.svg | 2 +-
public/emoji/1f4e3.png | Bin 1751 -> 0 bytes
public/emoji/1f4e3.svg | 2 +-
public/emoji/1f4e4.png | Bin 1002 -> 0 bytes
public/emoji/1f4e4.svg | 2 +-
public/emoji/1f4e5.png | Bin 1029 -> 0 bytes
public/emoji/1f4e5.svg | 3 +-
public/emoji/1f4e6.png | Bin 950 -> 0 bytes
public/emoji/1f4e6.svg | 2 +-
public/emoji/1f4e7.png | Bin 1196 -> 0 bytes
public/emoji/1f4e7.svg | 2 +-
public/emoji/1f4e8.png | Bin 1129 -> 0 bytes
public/emoji/1f4e8.svg | 2 +-
public/emoji/1f4e9.png | Bin 1062 -> 0 bytes
public/emoji/1f4e9.svg | 2 +-
public/emoji/1f4ea.png | Bin 1192 -> 0 bytes
public/emoji/1f4ea.svg | 2 +-
public/emoji/1f4eb.png | Bin 1166 -> 0 bytes
public/emoji/1f4eb.svg | 2 +-
public/emoji/1f4ec.png | Bin 1307 -> 0 bytes
public/emoji/1f4ec.svg | 2 +-
public/emoji/1f4ed.png | Bin 960 -> 0 bytes
public/emoji/1f4ed.svg | 2 +-
public/emoji/1f4ee.png | Bin 1077 -> 0 bytes
public/emoji/1f4ee.svg | 2 +-
public/emoji/1f4ef.png | Bin 809 -> 0 bytes
public/emoji/1f4ef.svg | 2 +-
public/emoji/1f4f0.png | Bin 1178 -> 0 bytes
public/emoji/1f4f0.svg | 2 +-
public/emoji/1f4f1.png | Bin 695 -> 0 bytes
public/emoji/1f4f1.svg | 2 +-
public/emoji/1f4f2.png | Bin 815 -> 0 bytes
public/emoji/1f4f2.svg | 2 +-
public/emoji/1f4f3.png | Bin 683 -> 0 bytes
public/emoji/1f4f3.svg | 2 +-
public/emoji/1f4f4.png | Bin 621 -> 0 bytes
public/emoji/1f4f4.svg | 2 +-
public/emoji/1f4f5.png | Bin 790 -> 0 bytes
public/emoji/1f4f5.svg | 2 +-
public/emoji/1f4f6.png | Bin 445 -> 0 bytes
public/emoji/1f4f6.svg | 2 +-
public/emoji/1f4f7.png | Bin 1783 -> 0 bytes
public/emoji/1f4f7.svg | 2 +-
public/emoji/1f4f8.png | Bin 2097 -> 0 bytes
public/emoji/1f4f8.svg | 2 +-
public/emoji/1f4f9.png | Bin 1611 -> 0 bytes
public/emoji/1f4f9.svg | 2 +-
public/emoji/1f4fa.png | Bin 776 -> 0 bytes
public/emoji/1f4fa.svg | 2 +-
public/emoji/1f4fb.png | Bin 851 -> 0 bytes
public/emoji/1f4fb.svg | 2 +-
public/emoji/1f4fc.png | Bin 632 -> 0 bytes
public/emoji/1f4fc.svg | 2 +-
public/emoji/1f4fd.png | Bin 943 -> 0 bytes
public/emoji/1f4fd.svg | 2 +-
public/emoji/1f4ff.png | Bin 1059 -> 0 bytes
public/emoji/1f4ff.svg | 2 +-
public/emoji/1f500.png | Bin 574 -> 0 bytes
public/emoji/1f500.svg | 2 +-
public/emoji/1f501.png | Bin 644 -> 0 bytes
public/emoji/1f501.svg | 2 +-
public/emoji/1f502.png | Bin 688 -> 0 bytes
public/emoji/1f502.svg | 2 +-
public/emoji/1f503.png | Bin 519 -> 0 bytes
public/emoji/1f503.svg | 2 +-
public/emoji/1f504.png | Bin 693 -> 0 bytes
public/emoji/1f504.svg | 2 +-
public/emoji/1f505.png | Bin 431 -> 0 bytes
public/emoji/1f505.svg | 2 +-
public/emoji/1f506.png | Bin 474 -> 0 bytes
public/emoji/1f506.svg | 2 +-
public/emoji/1f507.png | Bin 823 -> 0 bytes
public/emoji/1f507.svg | 2 +-
public/emoji/1f508.png | Bin 575 -> 0 bytes
public/emoji/1f508.svg | 2 +-
public/emoji/1f509.png | Bin 690 -> 0 bytes
public/emoji/1f509.svg | 2 +-
public/emoji/1f50a.png | Bin 977 -> 0 bytes
public/emoji/1f50a.svg | 3 +-
public/emoji/1f50b.png | Bin 228 -> 0 bytes
public/emoji/1f50b.svg | 2 +-
public/emoji/1f50c.png | Bin 548 -> 0 bytes
public/emoji/1f50c.svg | 2 +-
public/emoji/1f50d.png | Bin 1240 -> 0 bytes
public/emoji/1f50d.svg | 2 +-
public/emoji/1f50e.png | Bin 1251 -> 0 bytes
public/emoji/1f50e.svg | 2 +-
public/emoji/1f50f.png | Bin 1123 -> 0 bytes
public/emoji/1f50f.svg | 2 +-
public/emoji/1f510.png | Bin 1250 -> 0 bytes
public/emoji/1f510.svg | 2 +-
public/emoji/1f511.png | Bin 770 -> 0 bytes
public/emoji/1f511.svg | 2 +-
public/emoji/1f512.png | Bin 986 -> 0 bytes
public/emoji/1f512.svg | 2 +-
public/emoji/1f513.png | Bin 856 -> 0 bytes
public/emoji/1f513.svg | 2 +-
public/emoji/1f514.png | Bin 1496 -> 0 bytes
public/emoji/1f514.svg | 2 +-
public/emoji/1f515.png | Bin 823 -> 0 bytes
public/emoji/1f515.svg | 2 +-
public/emoji/1f516.png | Bin 747 -> 0 bytes
public/emoji/1f516.svg | 2 +-
public/emoji/1f517.png | Bin 477 -> 0 bytes
public/emoji/1f517.svg | 2 +-
public/emoji/1f518.png | Bin 674 -> 0 bytes
public/emoji/1f518.svg | 2 +-
public/emoji/1f519.png | Bin 562 -> 0 bytes
public/emoji/1f519.svg | 2 +-
public/emoji/1f51a.png | Bin 393 -> 0 bytes
public/emoji/1f51a.svg | 2 +-
public/emoji/1f51b.png | Bin 459 -> 0 bytes
public/emoji/1f51b.svg | 2 +-
public/emoji/1f51c.png | Bin 483 -> 0 bytes
public/emoji/1f51c.svg | 2 +-
public/emoji/1f51d.png | Bin 389 -> 0 bytes
public/emoji/1f51d.svg | 2 +-
public/emoji/1f51e.png | Bin 863 -> 0 bytes
public/emoji/1f51e.svg | 2 +-
public/emoji/1f51f.png | Bin 621 -> 0 bytes
public/emoji/1f51f.svg | 3 +-
public/emoji/1f520.png | Bin 805 -> 0 bytes
public/emoji/1f520.svg | 2 +-
public/emoji/1f521.png | Bin 670 -> 0 bytes
public/emoji/1f521.svg | 2 +-
public/emoji/1f522.png | Bin 676 -> 0 bytes
public/emoji/1f522.svg | 2 +-
public/emoji/1f523.png | Bin 746 -> 0 bytes
public/emoji/1f523.svg | 2 +-
public/emoji/1f524.png | Bin 646 -> 0 bytes
public/emoji/1f524.svg | 2 +-
public/emoji/1f525.png | Bin 1020 -> 0 bytes
public/emoji/1f525.svg | 2 +-
public/emoji/1f526.png | Bin 964 -> 0 bytes
public/emoji/1f526.svg | 2 +-
public/emoji/1f527.png | Bin 418 -> 0 bytes
public/emoji/1f527.svg | 2 +-
public/emoji/1f528.png | Bin 834 -> 0 bytes
public/emoji/1f528.svg | 2 +-
public/emoji/1f529.png | Bin 899 -> 0 bytes
public/emoji/1f529.svg | 2 +-
public/emoji/1f52a.png | Bin 616 -> 0 bytes
public/emoji/1f52a.svg | 2 +-
public/emoji/1f52b.png | Bin 1859 -> 0 bytes
public/emoji/1f52b.svg | 2 +-
public/emoji/1f52c.png | Bin 1113 -> 0 bytes
public/emoji/1f52c.svg | 2 +-
public/emoji/1f52d.png | Bin 1256 -> 0 bytes
public/emoji/1f52d.svg | 2 +-
public/emoji/1f52e.png | Bin 1913 -> 0 bytes
public/emoji/1f52e.svg | 2 +-
public/emoji/1f52f.png | Bin 540 -> 0 bytes
public/emoji/1f52f.svg | 2 +-
public/emoji/1f530.png | Bin 545 -> 0 bytes
public/emoji/1f530.svg | 2 +-
public/emoji/1f531.png | Bin 668 -> 0 bytes
public/emoji/1f531.svg | 2 +-
public/emoji/1f532.png | Bin 122 -> 0 bytes
public/emoji/1f532.svg | 2 +-
public/emoji/1f533.png | Bin 122 -> 0 bytes
public/emoji/1f533.svg | 2 +-
public/emoji/1f534.png | Bin 374 -> 0 bytes
public/emoji/1f534.svg | 2 +-
public/emoji/1f535.png | Bin 371 -> 0 bytes
public/emoji/1f535.svg | 2 +-
public/emoji/1f536.png | Bin 248 -> 0 bytes
public/emoji/1f536.svg | 2 +-
public/emoji/1f537.png | Bin 245 -> 0 bytes
public/emoji/1f537.svg | 2 +-
public/emoji/1f538.png | Bin 194 -> 0 bytes
public/emoji/1f538.svg | 2 +-
public/emoji/1f539.png | Bin 191 -> 0 bytes
public/emoji/1f539.svg | 2 +-
public/emoji/1f53a.png | Bin 273 -> 0 bytes
public/emoji/1f53a.svg | 2 +-
public/emoji/1f53b.png | Bin 291 -> 0 bytes
public/emoji/1f53b.svg | 2 +-
public/emoji/1f53c.png | Bin 454 -> 0 bytes
public/emoji/1f53c.svg | 2 +-
public/emoji/1f53d.png | Bin 455 -> 0 bytes
public/emoji/1f53d.svg | 2 +-
public/emoji/1f549.png | Bin 773 -> 0 bytes
public/emoji/1f549.svg | 2 +-
public/emoji/1f54a.png | Bin 967 -> 0 bytes
public/emoji/1f54a.svg | 2 +-
public/emoji/1f54b.png | Bin 1251 -> 0 bytes
public/emoji/1f54b.svg | 2 +-
public/emoji/1f54c.png | Bin 984 -> 0 bytes
public/emoji/1f54c.svg | 2 +-
public/emoji/1f54d.png | Bin 1309 -> 0 bytes
public/emoji/1f54d.svg | 2 +-
public/emoji/1f54e.png | Bin 1279 -> 0 bytes
public/emoji/1f54e.svg | 2 +-
public/emoji/1f550.png | Bin 586 -> 0 bytes
public/emoji/1f550.svg | 2 +-
public/emoji/1f551.png | Bin 591 -> 0 bytes
public/emoji/1f551.svg | 2 +-
public/emoji/1f552.png | Bin 482 -> 0 bytes
public/emoji/1f552.svg | 2 +-
public/emoji/1f553.png | Bin 592 -> 0 bytes
public/emoji/1f553.svg | 2 +-
public/emoji/1f554.png | Bin 585 -> 0 bytes
public/emoji/1f554.svg | 2 +-
public/emoji/1f555.png | Bin 466 -> 0 bytes
public/emoji/1f555.svg | 2 +-
public/emoji/1f556.png | Bin 581 -> 0 bytes
public/emoji/1f556.svg | 2 +-
public/emoji/1f557.png | Bin 590 -> 0 bytes
public/emoji/1f557.svg | 2 +-
public/emoji/1f558.png | Bin 484 -> 0 bytes
public/emoji/1f558.svg | 2 +-
public/emoji/1f559.png | Bin 593 -> 0 bytes
public/emoji/1f559.svg | 2 +-
public/emoji/1f55a.png | Bin 590 -> 0 bytes
public/emoji/1f55a.svg | 2 +-
public/emoji/1f55b.png | Bin 480 -> 0 bytes
public/emoji/1f55b.svg | 2 +-
public/emoji/1f55c.png | Bin 526 -> 0 bytes
public/emoji/1f55c.svg | 2 +-
public/emoji/1f55d.png | Bin 576 -> 0 bytes
public/emoji/1f55d.svg | 2 +-
public/emoji/1f55e.png | Bin 568 -> 0 bytes
public/emoji/1f55e.svg | 2 +-
public/emoji/1f55f.png | Bin 531 -> 0 bytes
public/emoji/1f55f.svg | 2 +-
public/emoji/1f560.png | Bin 552 -> 0 bytes
public/emoji/1f560.svg | 2 +-
public/emoji/1f561.png | Bin 536 -> 0 bytes
public/emoji/1f561.svg | 2 +-
public/emoji/1f562.png | Bin 531 -> 0 bytes
public/emoji/1f562.svg | 2 +-
public/emoji/1f563.png | Bin 570 -> 0 bytes
public/emoji/1f563.svg | 2 +-
public/emoji/1f564.png | Bin 576 -> 0 bytes
public/emoji/1f564.svg | 2 +-
public/emoji/1f565.png | Bin 530 -> 0 bytes
public/emoji/1f565.svg | 2 +-
public/emoji/1f566.png | Bin 583 -> 0 bytes
public/emoji/1f566.svg | 2 +-
public/emoji/1f567.png | Bin 579 -> 0 bytes
public/emoji/1f567.svg | 2 +-
public/emoji/1f56f.png | Bin 1250 -> 0 bytes
public/emoji/1f56f.svg | 2 +-
public/emoji/1f570.png | Bin 592 -> 0 bytes
public/emoji/1f570.svg | 2 +-
public/emoji/1f573.png | Bin 1390 -> 0 bytes
public/emoji/1f573.svg | 2 +-
public/emoji/1f574-1f3fb.svg | 1 +
public/emoji/1f574-1f3fc.svg | 1 +
public/emoji/1f574-1f3fd.svg | 1 +
public/emoji/1f574-1f3fe.svg | 1 +
public/emoji/1f574-1f3ff.svg | 1 +
public/emoji/1f574.png | Bin 914 -> 0 bytes
public/emoji/1f574.svg | 2 +-
public/emoji/1f575-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f575-1f3fb.png | Bin 1639 -> 0 bytes
public/emoji/1f575-1f3fb.svg | 2 +-
public/emoji/1f575-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f575-1f3fc.png | Bin 1632 -> 0 bytes
public/emoji/1f575-1f3fc.svg | 2 +-
public/emoji/1f575-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f575-1f3fd.png | Bin 1645 -> 0 bytes
public/emoji/1f575-1f3fd.svg | 2 +-
public/emoji/1f575-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f575-1f3fe.png | Bin 1639 -> 0 bytes
public/emoji/1f575-1f3fe.svg | 2 +-
public/emoji/1f575-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f575-1f3ff.png | Bin 1639 -> 0 bytes
public/emoji/1f575-1f3ff.svg | 2 +-
public/emoji/1f575-fe0f-200d-2640-fe0f.svg | 1 +
public/emoji/1f575-fe0f-200d-2642-fe0f.svg | 1 +
public/emoji/1f575.png | Bin 1650 -> 0 bytes
public/emoji/1f575.svg | 2 +-
public/emoji/1f576.png | Bin 829 -> 0 bytes
public/emoji/1f576.svg | 2 +-
public/emoji/1f577.png | Bin 1724 -> 0 bytes
public/emoji/1f577.svg | 2 +-
public/emoji/1f578.png | Bin 929 -> 0 bytes
public/emoji/1f578.svg | 2 +-
public/emoji/1f579.png | Bin 1039 -> 0 bytes
public/emoji/1f579.svg | 2 +-
public/emoji/1f57a-1f3fb.png | Bin 1404 -> 0 bytes
public/emoji/1f57a-1f3fb.svg | 2 +-
public/emoji/1f57a-1f3fc.png | Bin 1402 -> 0 bytes
public/emoji/1f57a-1f3fc.svg | 2 +-
public/emoji/1f57a-1f3fd.png | Bin 1409 -> 0 bytes
public/emoji/1f57a-1f3fd.svg | 2 +-
public/emoji/1f57a-1f3fe.png | Bin 1421 -> 0 bytes
public/emoji/1f57a-1f3fe.svg | 2 +-
public/emoji/1f57a-1f3ff.png | Bin 1418 -> 0 bytes
public/emoji/1f57a-1f3ff.svg | 2 +-
public/emoji/1f57a.png | Bin 1400 -> 0 bytes
public/emoji/1f57a.svg | 2 +-
public/emoji/1f587.png | Bin 642 -> 0 bytes
public/emoji/1f587.svg | 2 +-
public/emoji/1f58a.png | Bin 696 -> 0 bytes
public/emoji/1f58a.svg | 2 +-
public/emoji/1f58b.png | Bin 623 -> 0 bytes
public/emoji/1f58b.svg | 3 +-
public/emoji/1f58c.png | Bin 950 -> 0 bytes
public/emoji/1f58c.svg | 2 +-
public/emoji/1f58d.png | Bin 633 -> 0 bytes
public/emoji/1f58d.svg | 2 +-
public/emoji/1f590-1f3fb.png | Bin 1081 -> 0 bytes
public/emoji/1f590-1f3fb.svg | 2 +-
public/emoji/1f590-1f3fc.png | Bin 1081 -> 0 bytes
public/emoji/1f590-1f3fc.svg | 2 +-
public/emoji/1f590-1f3fd.png | Bin 1081 -> 0 bytes
public/emoji/1f590-1f3fd.svg | 2 +-
public/emoji/1f590-1f3fe.png | Bin 1081 -> 0 bytes
public/emoji/1f590-1f3fe.svg | 2 +-
public/emoji/1f590-1f3ff.png | Bin 1081 -> 0 bytes
public/emoji/1f590-1f3ff.svg | 2 +-
public/emoji/1f590.png | Bin 1081 -> 0 bytes
public/emoji/1f590.svg | 2 +-
public/emoji/1f595-1f3fb.png | Bin 892 -> 0 bytes
public/emoji/1f595-1f3fb.svg | 2 +-
public/emoji/1f595-1f3fc.png | Bin 892 -> 0 bytes
public/emoji/1f595-1f3fc.svg | 2 +-
public/emoji/1f595-1f3fd.png | Bin 892 -> 0 bytes
public/emoji/1f595-1f3fd.svg | 2 +-
public/emoji/1f595-1f3fe.png | Bin 892 -> 0 bytes
public/emoji/1f595-1f3fe.svg | 2 +-
public/emoji/1f595-1f3ff.png | Bin 892 -> 0 bytes
public/emoji/1f595-1f3ff.svg | 2 +-
public/emoji/1f595.png | Bin 893 -> 0 bytes
public/emoji/1f595.svg | 2 +-
public/emoji/1f596-1f3fb.png | Bin 1083 -> 0 bytes
public/emoji/1f596-1f3fb.svg | 2 +-
public/emoji/1f596-1f3fc.png | Bin 1083 -> 0 bytes
public/emoji/1f596-1f3fc.svg | 2 +-
public/emoji/1f596-1f3fd.png | Bin 1083 -> 0 bytes
public/emoji/1f596-1f3fd.svg | 2 +-
public/emoji/1f596-1f3fe.png | Bin 1083 -> 0 bytes
public/emoji/1f596-1f3fe.svg | 2 +-
public/emoji/1f596-1f3ff.png | Bin 1083 -> 0 bytes
public/emoji/1f596-1f3ff.svg | 2 +-
public/emoji/1f596.png | Bin 1083 -> 0 bytes
public/emoji/1f596.svg | 2 +-
public/emoji/1f5a4.png | Bin 435 -> 0 bytes
public/emoji/1f5a4.svg | 2 +-
public/emoji/1f5a5.png | Bin 311 -> 0 bytes
public/emoji/1f5a5.svg | 2 +-
public/emoji/1f5a8.png | Bin 926 -> 0 bytes
public/emoji/1f5a8.svg | 4 +-
public/emoji/1f5b1.png | Bin 934 -> 0 bytes
public/emoji/1f5b1.svg | 2 +-
public/emoji/1f5b2.png | Bin 892 -> 0 bytes
public/emoji/1f5b2.svg | 2 +-
public/emoji/1f5bc.png | Bin 514 -> 0 bytes
public/emoji/1f5bc.svg | 2 +-
public/emoji/1f5c2.png | Bin 810 -> 0 bytes
public/emoji/1f5c2.svg | 2 +-
public/emoji/1f5c3.png | Bin 1523 -> 0 bytes
public/emoji/1f5c3.svg | 2 +-
public/emoji/1f5c4.png | Bin 1420 -> 0 bytes
public/emoji/1f5c4.svg | 2 +-
public/emoji/1f5d1.png | Bin 2414 -> 0 bytes
public/emoji/1f5d1.svg | 2 +-
public/emoji/1f5d2.png | Bin 1377 -> 0 bytes
public/emoji/1f5d2.svg | 3 +-
public/emoji/1f5d3.png | Bin 1491 -> 0 bytes
public/emoji/1f5d3.svg | 2 +-
public/emoji/1f5dc.png | Bin 1612 -> 0 bytes
public/emoji/1f5dc.svg | 2 +-
public/emoji/1f5dd.png | Bin 593 -> 0 bytes
public/emoji/1f5dd.svg | 2 +-
public/emoji/1f5de.png | Bin 1046 -> 0 bytes
public/emoji/1f5de.svg | 2 +-
public/emoji/1f5e1.png | Bin 916 -> 0 bytes
public/emoji/1f5e1.svg | 2 +-
public/emoji/1f5e3.png | Bin 531 -> 0 bytes
public/emoji/1f5e3.svg | 2 +-
public/emoji/1f5e8.png | Bin 390 -> 0 bytes
public/emoji/1f5e8.svg | 3 +-
public/emoji/1f5ef.png | Bin 551 -> 0 bytes
public/emoji/1f5ef.svg | 2 +-
public/emoji/1f5f3.png | Bin 1355 -> 0 bytes
public/emoji/1f5f3.svg | 2 +-
public/emoji/1f5fa.png | Bin 2352 -> 0 bytes
public/emoji/1f5fa.svg | 2 +-
public/emoji/1f5fb.png | Bin 881 -> 0 bytes
public/emoji/1f5fb.svg | 2 +-
public/emoji/1f5fc.png | Bin 765 -> 0 bytes
public/emoji/1f5fc.svg | 2 +-
public/emoji/1f5fd.png | Bin 1145 -> 0 bytes
public/emoji/1f5fd.svg | 2 +-
public/emoji/1f5fe.png | Bin 539 -> 0 bytes
public/emoji/1f5fe.svg | 2 +-
public/emoji/1f5ff.png | Bin 1593 -> 0 bytes
public/emoji/1f5ff.svg | 2 +-
public/emoji/1f600.png | Bin 810 -> 0 bytes
public/emoji/1f600.svg | 2 +-
public/emoji/1f601.png | Bin 767 -> 0 bytes
public/emoji/1f601.svg | 2 +-
public/emoji/1f602.png | Bin 1136 -> 0 bytes
public/emoji/1f602.svg | 2 +-
public/emoji/1f603.png | Bin 686 -> 0 bytes
public/emoji/1f603.svg | 2 +-
public/emoji/1f604.png | Bin 737 -> 0 bytes
public/emoji/1f604.svg | 2 +-
public/emoji/1f605.png | Bin 851 -> 0 bytes
public/emoji/1f605.svg | 2 +-
public/emoji/1f606.png | Bin 901 -> 0 bytes
public/emoji/1f606.svg | 2 +-
public/emoji/1f607.png | Bin 935 -> 0 bytes
public/emoji/1f607.svg | 2 +-
public/emoji/1f608.png | Bin 1078 -> 0 bytes
public/emoji/1f608.svg | 2 +-
public/emoji/1f609.png | Bin 746 -> 0 bytes
public/emoji/1f609.svg | 2 +-
public/emoji/1f60a.png | Bin 812 -> 0 bytes
public/emoji/1f60a.svg | 2 +-
public/emoji/1f60b.png | Bin 896 -> 0 bytes
public/emoji/1f60b.svg | 2 +-
public/emoji/1f60c.png | Bin 785 -> 0 bytes
public/emoji/1f60c.svg | 2 +-
public/emoji/1f60d.png | Bin 1069 -> 0 bytes
public/emoji/1f60d.svg | 2 +-
public/emoji/1f60e.png | Bin 824 -> 0 bytes
public/emoji/1f60e.svg | 2 +-
public/emoji/1f60f.png | Bin 775 -> 0 bytes
public/emoji/1f60f.svg | 2 +-
public/emoji/1f610.png | Bin 517 -> 0 bytes
public/emoji/1f610.svg | 2 +-
public/emoji/1f611.png | Bin 438 -> 0 bytes
public/emoji/1f611.svg | 2 +-
public/emoji/1f612.png | Bin 632 -> 0 bytes
public/emoji/1f612.svg | 2 +-
public/emoji/1f613.png | Bin 861 -> 0 bytes
public/emoji/1f613.svg | 2 +-
public/emoji/1f614.png | Bin 718 -> 0 bytes
public/emoji/1f614.svg | 2 +-
public/emoji/1f615.png | Bin 647 -> 0 bytes
public/emoji/1f615.svg | 2 +-
public/emoji/1f616.png | Bin 844 -> 0 bytes
public/emoji/1f616.svg | 2 +-
public/emoji/1f617.png | Bin 738 -> 0 bytes
public/emoji/1f617.svg | 2 +-
public/emoji/1f618.png | Bin 843 -> 0 bytes
public/emoji/1f618.svg | 2 +-
public/emoji/1f619.png | Bin 648 -> 0 bytes
public/emoji/1f619.svg | 2 +-
public/emoji/1f61a.png | Bin 888 -> 0 bytes
public/emoji/1f61a.svg | 2 +-
public/emoji/1f61b.png | Bin 752 -> 0 bytes
public/emoji/1f61b.svg | 2 +-
public/emoji/1f61c.png | Bin 1061 -> 0 bytes
public/emoji/1f61c.svg | 2 +-
public/emoji/1f61d.png | Bin 867 -> 0 bytes
public/emoji/1f61d.svg | 2 +-
public/emoji/1f61e.png | Bin 757 -> 0 bytes
public/emoji/1f61e.svg | 2 +-
public/emoji/1f61f.png | Bin 715 -> 0 bytes
public/emoji/1f61f.svg | 2 +-
public/emoji/1f620.png | Bin 845 -> 0 bytes
public/emoji/1f620.svg | 2 +-
public/emoji/1f621.png | Bin 845 -> 0 bytes
public/emoji/1f621.svg | 2 +-
public/emoji/1f622.png | Bin 1123 -> 0 bytes
public/emoji/1f622.svg | 2 +-
public/emoji/1f623.png | Bin 891 -> 0 bytes
public/emoji/1f623.svg | 2 +-
public/emoji/1f624.png | Bin 1529 -> 0 bytes
public/emoji/1f624.svg | 2 +-
public/emoji/1f625.png | Bin 835 -> 0 bytes
public/emoji/1f625.svg | 2 +-
public/emoji/1f626.png | Bin 633 -> 0 bytes
public/emoji/1f626.svg | 2 +-
public/emoji/1f627.png | Bin 821 -> 0 bytes
public/emoji/1f627.svg | 2 +-
public/emoji/1f628.png | Bin 1002 -> 0 bytes
public/emoji/1f628.svg | 2 +-
public/emoji/1f629.png | Bin 871 -> 0 bytes
public/emoji/1f629.svg | 2 +-
public/emoji/1f62a.png | Bin 1185 -> 0 bytes
public/emoji/1f62a.svg | 2 +-
public/emoji/1f62b.png | Bin 1126 -> 0 bytes
public/emoji/1f62b.svg | 2 +-
public/emoji/1f62c.png | Bin 694 -> 0 bytes
public/emoji/1f62c.svg | 2 +-
public/emoji/1f62d.png | Bin 1236 -> 0 bytes
public/emoji/1f62d.svg | 2 +-
public/emoji/1f62e.png | Bin 575 -> 0 bytes
public/emoji/1f62e.svg | 2 +-
public/emoji/1f62f.png | Bin 634 -> 0 bytes
public/emoji/1f62f.svg | 2 +-
public/emoji/1f630.png | Bin 971 -> 0 bytes
public/emoji/1f630.svg | 2 +-
public/emoji/1f631.png | Bin 1583 -> 0 bytes
public/emoji/1f631.svg | 2 +-
public/emoji/1f632.png | Bin 862 -> 0 bytes
public/emoji/1f632.svg | 2 +-
public/emoji/1f633.png | Bin 1127 -> 0 bytes
public/emoji/1f633.svg | 2 +-
public/emoji/1f634.png | Bin 1075 -> 0 bytes
public/emoji/1f634.svg | 2 +-
public/emoji/1f635.png | Bin 710 -> 0 bytes
public/emoji/1f635.svg | 2 +-
public/emoji/1f636.png | Bin 465 -> 0 bytes
public/emoji/1f636.svg | 2 +-
public/emoji/1f637.png | Bin 1322 -> 0 bytes
public/emoji/1f637.svg | 2 +-
public/emoji/1f638.png | Bin 1405 -> 0 bytes
public/emoji/1f638.svg | 2 +-
public/emoji/1f639.png | Bin 1633 -> 0 bytes
public/emoji/1f639.svg | 2 +-
public/emoji/1f63a.png | Bin 1669 -> 0 bytes
public/emoji/1f63a.svg | 2 +-
public/emoji/1f63b.png | Bin 1512 -> 0 bytes
public/emoji/1f63b.svg | 2 +-
public/emoji/1f63c.png | Bin 1663 -> 0 bytes
public/emoji/1f63c.svg | 2 +-
public/emoji/1f63d.png | Bin 1468 -> 0 bytes
public/emoji/1f63d.svg | 2 +-
public/emoji/1f63e.png | Bin 1675 -> 0 bytes
public/emoji/1f63e.svg | 2 +-
public/emoji/1f63f.png | Bin 1875 -> 0 bytes
public/emoji/1f63f.svg | 2 +-
public/emoji/1f640.png | Bin 2120 -> 0 bytes
public/emoji/1f640.svg | 2 +-
public/emoji/1f641.png | Bin 580 -> 0 bytes
public/emoji/1f641.svg | 2 +-
public/emoji/1f642.png | Bin 600 -> 0 bytes
public/emoji/1f642.svg | 2 +-
public/emoji/1f643.png | Bin 602 -> 0 bytes
public/emoji/1f643.svg | 2 +-
public/emoji/1f644.png | Bin 743 -> 0 bytes
public/emoji/1f644.svg | 2 +-
public/emoji/1f645-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f645-1f3fb.png | Bin 1767 -> 0 bytes
public/emoji/1f645-1f3fb.svg | 2 +-
public/emoji/1f645-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f645-1f3fc.png | Bin 1756 -> 0 bytes
public/emoji/1f645-1f3fc.svg | 2 +-
public/emoji/1f645-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f645-1f3fd.png | Bin 1766 -> 0 bytes
public/emoji/1f645-1f3fd.svg | 2 +-
public/emoji/1f645-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f645-1f3fe.png | Bin 1782 -> 0 bytes
public/emoji/1f645-1f3fe.svg | 2 +-
public/emoji/1f645-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f645-1f3ff.png | Bin 1784 -> 0 bytes
public/emoji/1f645-1f3ff.svg | 2 +-
public/emoji/1f645-200d-2640-fe0f.svg | 1 +
public/emoji/1f645-200d-2642-fe0f.svg | 1 +
public/emoji/1f645.png | Bin 1750 -> 0 bytes
public/emoji/1f645.svg | 2 +-
public/emoji/1f646-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f646-1f3fb.png | Bin 1696 -> 0 bytes
public/emoji/1f646-1f3fb.svg | 2 +-
public/emoji/1f646-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f646-1f3fc.png | Bin 1694 -> 0 bytes
public/emoji/1f646-1f3fc.svg | 2 +-
public/emoji/1f646-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f646-1f3fd.png | Bin 1675 -> 0 bytes
public/emoji/1f646-1f3fd.svg | 2 +-
public/emoji/1f646-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f646-1f3fe.png | Bin 1684 -> 0 bytes
public/emoji/1f646-1f3fe.svg | 2 +-
public/emoji/1f646-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f646-1f3ff.png | Bin 1696 -> 0 bytes
public/emoji/1f646-1f3ff.svg | 2 +-
public/emoji/1f646-200d-2640-fe0f.svg | 1 +
public/emoji/1f646-200d-2642-fe0f.svg | 1 +
public/emoji/1f646.png | Bin 1696 -> 0 bytes
public/emoji/1f646.svg | 2 +-
public/emoji/1f647-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f647-1f3fb.png | Bin 1394 -> 0 bytes
public/emoji/1f647-1f3fb.svg | 2 +-
public/emoji/1f647-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f647-1f3fc.png | Bin 1394 -> 0 bytes
public/emoji/1f647-1f3fc.svg | 2 +-
public/emoji/1f647-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f647-1f3fd.png | Bin 1394 -> 0 bytes
public/emoji/1f647-1f3fd.svg | 2 +-
public/emoji/1f647-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f647-1f3fe.png | Bin 1394 -> 0 bytes
public/emoji/1f647-1f3fe.svg | 2 +-
public/emoji/1f647-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f647-1f3ff.png | Bin 1394 -> 0 bytes
public/emoji/1f647-1f3ff.svg | 2 +-
public/emoji/1f647-200d-2640-fe0f.svg | 1 +
public/emoji/1f647-200d-2642-fe0f.svg | 1 +
public/emoji/1f647.png | Bin 1394 -> 0 bytes
public/emoji/1f647.svg | 2 +-
public/emoji/1f648.png | Bin 1227 -> 0 bytes
public/emoji/1f648.svg | 2 +-
public/emoji/1f649.png | Bin 1210 -> 0 bytes
public/emoji/1f649.svg | 2 +-
public/emoji/1f64a.png | Bin 1497 -> 0 bytes
public/emoji/1f64a.svg | 2 +-
public/emoji/1f64b-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b-1f3fb.png | Bin 1678 -> 0 bytes
public/emoji/1f64b-1f3fb.svg | 2 +-
public/emoji/1f64b-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b-1f3fc.png | Bin 1665 -> 0 bytes
public/emoji/1f64b-1f3fc.svg | 2 +-
public/emoji/1f64b-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b-1f3fd.png | Bin 1657 -> 0 bytes
public/emoji/1f64b-1f3fd.svg | 2 +-
public/emoji/1f64b-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b-1f3fe.png | Bin 1657 -> 0 bytes
public/emoji/1f64b-1f3fe.svg | 2 +-
public/emoji/1f64b-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b-1f3ff.png | Bin 1661 -> 0 bytes
public/emoji/1f64b-1f3ff.svg | 2 +-
public/emoji/1f64b-200d-2640-fe0f.svg | 1 +
public/emoji/1f64b-200d-2642-fe0f.svg | 1 +
public/emoji/1f64b.png | Bin 1664 -> 0 bytes
public/emoji/1f64b.svg | 2 +-
public/emoji/1f64c-1f3fb.png | Bin 1098 -> 0 bytes
public/emoji/1f64c-1f3fb.svg | 2 +-
public/emoji/1f64c-1f3fc.png | Bin 1098 -> 0 bytes
public/emoji/1f64c-1f3fc.svg | 2 +-
public/emoji/1f64c-1f3fd.png | Bin 1098 -> 0 bytes
public/emoji/1f64c-1f3fd.svg | 2 +-
public/emoji/1f64c-1f3fe.png | Bin 1098 -> 0 bytes
public/emoji/1f64c-1f3fe.svg | 2 +-
public/emoji/1f64c-1f3ff.png | Bin 1098 -> 0 bytes
public/emoji/1f64c-1f3ff.svg | 2 +-
public/emoji/1f64c.png | Bin 1098 -> 0 bytes
public/emoji/1f64c.svg | 2 +-
public/emoji/1f64d-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d-1f3fb.png | Bin 1141 -> 0 bytes
public/emoji/1f64d-1f3fb.svg | 2 +-
public/emoji/1f64d-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d-1f3fc.png | Bin 1141 -> 0 bytes
public/emoji/1f64d-1f3fc.svg | 2 +-
public/emoji/1f64d-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d-1f3fd.png | Bin 1141 -> 0 bytes
public/emoji/1f64d-1f3fd.svg | 2 +-
public/emoji/1f64d-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d-1f3fe.png | Bin 1109 -> 0 bytes
public/emoji/1f64d-1f3fe.svg | 2 +-
public/emoji/1f64d-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d-1f3ff.png | Bin 1114 -> 0 bytes
public/emoji/1f64d-1f3ff.svg | 2 +-
public/emoji/1f64d-200d-2640-fe0f.svg | 1 +
public/emoji/1f64d-200d-2642-fe0f.svg | 1 +
public/emoji/1f64d.png | Bin 1148 -> 0 bytes
public/emoji/1f64d.svg | 2 +-
public/emoji/1f64e-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e-1f3fb.png | Bin 1309 -> 0 bytes
public/emoji/1f64e-1f3fb.svg | 2 +-
public/emoji/1f64e-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e-1f3fc.png | Bin 1292 -> 0 bytes
public/emoji/1f64e-1f3fc.svg | 2 +-
public/emoji/1f64e-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e-1f3fd.png | Bin 1305 -> 0 bytes
public/emoji/1f64e-1f3fd.svg | 2 +-
public/emoji/1f64e-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e-1f3fe.png | Bin 1296 -> 0 bytes
public/emoji/1f64e-1f3fe.svg | 2 +-
public/emoji/1f64e-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e-1f3ff.png | Bin 1303 -> 0 bytes
public/emoji/1f64e-1f3ff.svg | 2 +-
public/emoji/1f64e-200d-2640-fe0f.svg | 1 +
public/emoji/1f64e-200d-2642-fe0f.svg | 1 +
public/emoji/1f64e.png | Bin 1297 -> 0 bytes
public/emoji/1f64e.svg | 2 +-
public/emoji/1f64f-1f3fb.png | Bin 1131 -> 0 bytes
public/emoji/1f64f-1f3fb.svg | 2 +-
public/emoji/1f64f-1f3fc.png | Bin 1134 -> 0 bytes
public/emoji/1f64f-1f3fc.svg | 2 +-
public/emoji/1f64f-1f3fd.png | Bin 1137 -> 0 bytes
public/emoji/1f64f-1f3fd.svg | 2 +-
public/emoji/1f64f-1f3fe.png | Bin 1126 -> 0 bytes
public/emoji/1f64f-1f3fe.svg | 2 +-
public/emoji/1f64f-1f3ff.png | Bin 1117 -> 0 bytes
public/emoji/1f64f-1f3ff.svg | 2 +-
public/emoji/1f64f.png | Bin 1122 -> 0 bytes
public/emoji/1f64f.svg | 2 +-
public/emoji/1f680.png | Bin 1639 -> 0 bytes
public/emoji/1f680.svg | 2 +-
public/emoji/1f681.png | Bin 1098 -> 0 bytes
public/emoji/1f681.svg | 2 +-
public/emoji/1f682.png | Bin 1736 -> 0 bytes
public/emoji/1f682.svg | 2 +-
public/emoji/1f683.png | Bin 847 -> 0 bytes
public/emoji/1f683.svg | 2 +-
public/emoji/1f684.png | Bin 1538 -> 0 bytes
public/emoji/1f684.svg | 2 +-
public/emoji/1f685.png | Bin 1450 -> 0 bytes
public/emoji/1f685.svg | 2 +-
public/emoji/1f686.png | Bin 1499 -> 0 bytes
public/emoji/1f686.svg | 2 +-
public/emoji/1f687.png | Bin 1020 -> 0 bytes
public/emoji/1f687.svg | 2 +-
public/emoji/1f688.png | Bin 902 -> 0 bytes
public/emoji/1f688.svg | 2 +-
public/emoji/1f689.png | Bin 1336 -> 0 bytes
public/emoji/1f689.svg | 2 +-
public/emoji/1f68a.png | Bin 1065 -> 0 bytes
public/emoji/1f68a.svg | 2 +-
public/emoji/1f68b.png | Bin 1031 -> 0 bytes
public/emoji/1f68b.svg | 2 +-
public/emoji/1f68c.png | Bin 1086 -> 0 bytes
public/emoji/1f68c.svg | 2 +-
public/emoji/1f68d.png | Bin 964 -> 0 bytes
public/emoji/1f68d.svg | 2 +-
public/emoji/1f68e.png | Bin 1168 -> 0 bytes
public/emoji/1f68e.svg | 2 +-
public/emoji/1f68f.png | Bin 626 -> 0 bytes
public/emoji/1f68f.svg | 2 +-
public/emoji/1f690.png | Bin 1256 -> 0 bytes
public/emoji/1f690.svg | 2 +-
public/emoji/1f691.png | Bin 1238 -> 0 bytes
public/emoji/1f691.svg | 2 +-
public/emoji/1f692.png | Bin 1656 -> 0 bytes
public/emoji/1f692.svg | 2 +-
public/emoji/1f693.png | Bin 1431 -> 0 bytes
public/emoji/1f693.svg | 2 +-
public/emoji/1f694.png | Bin 1547 -> 0 bytes
public/emoji/1f694.svg | 2 +-
public/emoji/1f695.png | Bin 1230 -> 0 bytes
public/emoji/1f695.svg | 2 +-
public/emoji/1f696.png | Bin 1405 -> 0 bytes
public/emoji/1f696.svg | 2 +-
public/emoji/1f697.png | Bin 1065 -> 0 bytes
public/emoji/1f697.svg | 2 +-
public/emoji/1f698.png | Bin 1238 -> 0 bytes
public/emoji/1f698.svg | 2 +-
public/emoji/1f699.png | Bin 1275 -> 0 bytes
public/emoji/1f699.svg | 2 +-
public/emoji/1f69a.png | Bin 1366 -> 0 bytes
public/emoji/1f69a.svg | 2 +-
public/emoji/1f69b.png | Bin 1710 -> 0 bytes
public/emoji/1f69b.svg | 2 +-
public/emoji/1f69c.png | Bin 1192 -> 0 bytes
public/emoji/1f69c.svg | 2 +-
public/emoji/1f69d.png | Bin 1068 -> 0 bytes
public/emoji/1f69d.svg | 2 +-
public/emoji/1f69e.png | Bin 1317 -> 0 bytes
public/emoji/1f69e.svg | 2 +-
public/emoji/1f69f.png | Bin 927 -> 0 bytes
public/emoji/1f69f.svg | 2 +-
public/emoji/1f6a0.png | Bin 811 -> 0 bytes
public/emoji/1f6a0.svg | 3 +-
public/emoji/1f6a1.png | Bin 759 -> 0 bytes
public/emoji/1f6a1.svg | 2 +-
public/emoji/1f6a2.png | Bin 1405 -> 0 bytes
public/emoji/1f6a2.svg | 2 +-
public/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fb.png | Bin 1971 -> 0 bytes
public/emoji/1f6a3-1f3fb.svg | 2 +-
public/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fc.png | Bin 1972 -> 0 bytes
public/emoji/1f6a3-1f3fc.svg | 2 +-
public/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fd.png | Bin 1967 -> 0 bytes
public/emoji/1f6a3-1f3fd.svg | 2 +-
public/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3-1f3fe.png | Bin 1974 -> 0 bytes
public/emoji/1f6a3-1f3fe.svg | 2 +-
public/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3-1f3ff.png | Bin 1971 -> 0 bytes
public/emoji/1f6a3-1f3ff.svg | 2 +-
public/emoji/1f6a3-200d-2640-fe0f.svg | 1 +
public/emoji/1f6a3-200d-2642-fe0f.svg | 1 +
public/emoji/1f6a3.png | Bin 1963 -> 0 bytes
public/emoji/1f6a3.svg | 2 +-
public/emoji/1f6a4.png | Bin 1255 -> 0 bytes
public/emoji/1f6a4.svg | 2 +-
public/emoji/1f6a5.png | Bin 590 -> 0 bytes
public/emoji/1f6a5.svg | 2 +-
public/emoji/1f6a6.png | Bin 752 -> 0 bytes
public/emoji/1f6a6.svg | 2 +-
public/emoji/1f6a7.png | Bin 1083 -> 0 bytes
public/emoji/1f6a7.svg | 2 +-
public/emoji/1f6a8.png | Bin 1969 -> 0 bytes
public/emoji/1f6a8.svg | 2 +-
public/emoji/1f6a9.png | Bin 415 -> 0 bytes
public/emoji/1f6a9.svg | 2 +-
public/emoji/1f6aa.png | Bin 1105 -> 0 bytes
public/emoji/1f6aa.svg | 2 +-
public/emoji/1f6ab.png | Bin 555 -> 0 bytes
public/emoji/1f6ab.svg | 2 +-
public/emoji/1f6ac.png | Bin 417 -> 0 bytes
public/emoji/1f6ac.svg | 2 +-
public/emoji/1f6ad.png | Bin 1136 -> 0 bytes
public/emoji/1f6ad.svg | 2 +-
public/emoji/1f6ae.png | Bin 650 -> 0 bytes
public/emoji/1f6ae.svg | 2 +-
public/emoji/1f6af.png | Bin 1010 -> 0 bytes
public/emoji/1f6af.svg | 2 +-
public/emoji/1f6b0.png | Bin 633 -> 0 bytes
public/emoji/1f6b0.svg | 2 +-
public/emoji/1f6b1.png | Bin 827 -> 0 bytes
public/emoji/1f6b1.svg | 2 +-
public/emoji/1f6b2.png | Bin 1505 -> 0 bytes
public/emoji/1f6b2.svg | 2 +-
public/emoji/1f6b3.png | Bin 998 -> 0 bytes
public/emoji/1f6b3.svg | 2 +-
public/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fb.png | Bin 1860 -> 0 bytes
public/emoji/1f6b4-1f3fb.svg | 2 +-
public/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fc.png | Bin 1866 -> 0 bytes
public/emoji/1f6b4-1f3fc.svg | 2 +-
public/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fd.png | Bin 1851 -> 0 bytes
public/emoji/1f6b4-1f3fd.svg | 2 +-
public/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4-1f3fe.png | Bin 1852 -> 0 bytes
public/emoji/1f6b4-1f3fe.svg | 2 +-
public/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4-1f3ff.png | Bin 1840 -> 0 bytes
public/emoji/1f6b4-1f3ff.svg | 2 +-
public/emoji/1f6b4-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b4-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b4.png | Bin 1911 -> 0 bytes
public/emoji/1f6b4.svg | 2 +-
public/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fb.png | Bin 2294 -> 0 bytes
public/emoji/1f6b5-1f3fb.svg | 2 +-
public/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fc.png | Bin 2298 -> 0 bytes
public/emoji/1f6b5-1f3fc.svg | 2 +-
public/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fd.png | Bin 2284 -> 0 bytes
public/emoji/1f6b5-1f3fd.svg | 2 +-
public/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5-1f3fe.png | Bin 2288 -> 0 bytes
public/emoji/1f6b5-1f3fe.svg | 2 +-
public/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5-1f3ff.png | Bin 2281 -> 0 bytes
public/emoji/1f6b5-1f3ff.svg | 2 +-
public/emoji/1f6b5-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b5-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b5.png | Bin 2288 -> 0 bytes
public/emoji/1f6b5.svg | 2 +-
public/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fb.png | Bin 1084 -> 0 bytes
public/emoji/1f6b6-1f3fb.svg | 2 +-
public/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fc.png | Bin 1084 -> 0 bytes
public/emoji/1f6b6-1f3fc.svg | 2 +-
public/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fd.png | Bin 1066 -> 0 bytes
public/emoji/1f6b6-1f3fd.svg | 2 +-
public/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6-1f3fe.png | Bin 1075 -> 0 bytes
public/emoji/1f6b6-1f3fe.svg | 2 +-
public/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6-1f3ff.png | Bin 1065 -> 0 bytes
public/emoji/1f6b6-1f3ff.svg | 2 +-
public/emoji/1f6b6-200d-2640-fe0f.svg | 1 +
public/emoji/1f6b6-200d-2642-fe0f.svg | 1 +
public/emoji/1f6b6.png | Bin 1082 -> 0 bytes
public/emoji/1f6b6.svg | 2 +-
public/emoji/1f6b7.png | Bin 875 -> 0 bytes
public/emoji/1f6b7.svg | 2 +-
public/emoji/1f6b8.png | Bin 778 -> 0 bytes
public/emoji/1f6b8.svg | 2 +-
public/emoji/1f6b9.png | Bin 561 -> 0 bytes
public/emoji/1f6b9.svg | 2 +-
public/emoji/1f6ba.png | Bin 577 -> 0 bytes
public/emoji/1f6ba.svg | 2 +-
public/emoji/1f6bb.png | Bin 676 -> 0 bytes
public/emoji/1f6bb.svg | 2 +-
public/emoji/1f6bc.png | Bin 665 -> 0 bytes
public/emoji/1f6bc.svg | 2 +-
public/emoji/1f6bd.png | Bin 726 -> 0 bytes
public/emoji/1f6bd.svg | 2 +-
public/emoji/1f6be.png | Bin 752 -> 0 bytes
public/emoji/1f6be.svg | 2 +-
public/emoji/1f6bf.png | Bin 2537 -> 0 bytes
public/emoji/1f6bf.svg | 2 +-
public/emoji/1f6c0-1f3fb.png | Bin 1235 -> 0 bytes
public/emoji/1f6c0-1f3fb.svg | 2 +-
public/emoji/1f6c0-1f3fc.png | Bin 1231 -> 0 bytes
public/emoji/1f6c0-1f3fc.svg | 2 +-
public/emoji/1f6c0-1f3fd.png | Bin 1236 -> 0 bytes
public/emoji/1f6c0-1f3fd.svg | 2 +-
public/emoji/1f6c0-1f3fe.png | Bin 1252 -> 0 bytes
public/emoji/1f6c0-1f3fe.svg | 2 +-
public/emoji/1f6c0-1f3ff.png | Bin 1239 -> 0 bytes
public/emoji/1f6c0-1f3ff.svg | 2 +-
public/emoji/1f6c0.png | Bin 1238 -> 0 bytes
public/emoji/1f6c0.svg | 2 +-
public/emoji/1f6c1.png | Bin 767 -> 0 bytes
public/emoji/1f6c1.svg | 2 +-
public/emoji/1f6c2.png | Bin 683 -> 0 bytes
public/emoji/1f6c2.svg | 2 +-
public/emoji/1f6c3.png | Bin 648 -> 0 bytes
public/emoji/1f6c3.svg | 2 +-
public/emoji/1f6c4.png | Bin 490 -> 0 bytes
public/emoji/1f6c4.svg | 2 +-
public/emoji/1f6c5.png | Bin 576 -> 0 bytes
public/emoji/1f6c5.svg | 2 +-
public/emoji/1f6cb.png | Bin 1362 -> 0 bytes
public/emoji/1f6cb.svg | 2 +-
public/emoji/1f6cc-1f3fb.svg | 1 +
public/emoji/1f6cc-1f3fc.svg | 1 +
public/emoji/1f6cc-1f3fd.svg | 1 +
public/emoji/1f6cc-1f3fe.svg | 1 +
public/emoji/1f6cc-1f3ff.svg | 1 +
public/emoji/1f6cc.png | Bin 926 -> 0 bytes
public/emoji/1f6cc.svg | 2 +-
public/emoji/1f6cd.png | Bin 1234 -> 0 bytes
public/emoji/1f6cd.svg | 2 +-
public/emoji/1f6ce.png | Bin 891 -> 0 bytes
public/emoji/1f6ce.svg | 2 +-
public/emoji/1f6cf.png | Bin 1572 -> 0 bytes
public/emoji/1f6cf.svg | 2 +-
public/emoji/1f6d0.png | Bin 487 -> 0 bytes
public/emoji/1f6d0.svg | 2 +-
public/emoji/1f6d1.png | Bin 260 -> 0 bytes
public/emoji/1f6d1.svg | 2 +-
public/emoji/1f6d2.png | Bin 1072 -> 0 bytes
public/emoji/1f6d2.svg | 2 +-
public/emoji/1f6e0.png | Bin 1225 -> 0 bytes
public/emoji/1f6e0.svg | 2 +-
public/emoji/1f6e1.png | Bin 1602 -> 0 bytes
public/emoji/1f6e1.svg | 2 +-
public/emoji/1f6e2.png | Bin 674 -> 0 bytes
public/emoji/1f6e2.svg | 2 +-
public/emoji/1f6e3.png | Bin 1102 -> 0 bytes
public/emoji/1f6e3.svg | 2 +-
public/emoji/1f6e4.png | Bin 1550 -> 0 bytes
public/emoji/1f6e4.svg | 2 +-
public/emoji/1f6e5.png | Bin 990 -> 0 bytes
public/emoji/1f6e5.svg | 2 +-
public/emoji/1f6e9.png | Bin 1229 -> 0 bytes
public/emoji/1f6e9.svg | 2 +-
public/emoji/1f6eb.png | Bin 1111 -> 0 bytes
public/emoji/1f6eb.svg | 2 +-
public/emoji/1f6ec.png | Bin 1101 -> 0 bytes
public/emoji/1f6ec.svg | 2 +-
public/emoji/1f6f0.png | Bin 762 -> 0 bytes
public/emoji/1f6f0.svg | 2 +-
public/emoji/1f6f3.png | Bin 2272 -> 0 bytes
public/emoji/1f6f3.svg | 2 +-
public/emoji/1f6f4.png | Bin 1228 -> 0 bytes
public/emoji/1f6f4.svg | 2 +-
public/emoji/1f6f5.png | Bin 1207 -> 0 bytes
public/emoji/1f6f5.svg | 2 +-
public/emoji/1f6f6.png | Bin 1244 -> 0 bytes
public/emoji/1f6f6.svg | 2 +-
public/emoji/1f6f7.svg | 1 +
public/emoji/1f6f8.svg | 1 +
public/emoji/1f910.png | Bin 722 -> 0 bytes
public/emoji/1f910.svg | 2 +-
public/emoji/1f911.png | Bin 967 -> 0 bytes
public/emoji/1f911.svg | 2 +-
public/emoji/1f912.png | Bin 1503 -> 0 bytes
public/emoji/1f912.svg | 2 +-
public/emoji/1f913.png | Bin 975 -> 0 bytes
public/emoji/1f913.svg | 2 +-
public/emoji/1f914.png | Bin 1345 -> 0 bytes
public/emoji/1f914.svg | 2 +-
public/emoji/1f915.png | Bin 1199 -> 0 bytes
public/emoji/1f915.svg | 2 +-
public/emoji/1f916.png | Bin 1228 -> 0 bytes
public/emoji/1f916.svg | 2 +-
public/emoji/1f917.png | Bin 1425 -> 0 bytes
public/emoji/1f917.svg | 2 +-
public/emoji/1f918-1f3fb.png | Bin 894 -> 0 bytes
public/emoji/1f918-1f3fb.svg | 2 +-
public/emoji/1f918-1f3fc.png | Bin 888 -> 0 bytes
public/emoji/1f918-1f3fc.svg | 2 +-
public/emoji/1f918-1f3fd.png | Bin 894 -> 0 bytes
public/emoji/1f918-1f3fd.svg | 2 +-
public/emoji/1f918-1f3fe.png | Bin 888 -> 0 bytes
public/emoji/1f918-1f3fe.svg | 2 +-
public/emoji/1f918-1f3ff.png | Bin 894 -> 0 bytes
public/emoji/1f918-1f3ff.svg | 2 +-
public/emoji/1f918.png | Bin 894 -> 0 bytes
public/emoji/1f918.svg | 2 +-
public/emoji/1f919-1f3fb.png | Bin 893 -> 0 bytes
public/emoji/1f919-1f3fb.svg | 2 +-
public/emoji/1f919-1f3fc.png | Bin 891 -> 0 bytes
public/emoji/1f919-1f3fc.svg | 2 +-
public/emoji/1f919-1f3fd.png | Bin 891 -> 0 bytes
public/emoji/1f919-1f3fd.svg | 2 +-
public/emoji/1f919-1f3fe.png | Bin 891 -> 0 bytes
public/emoji/1f919-1f3fe.svg | 2 +-
public/emoji/1f919-1f3ff.png | Bin 893 -> 0 bytes
public/emoji/1f919-1f3ff.svg | 2 +-
public/emoji/1f919.png | Bin 894 -> 0 bytes
public/emoji/1f919.svg | 2 +-
public/emoji/1f91a-1f3fb.png | Bin 848 -> 0 bytes
public/emoji/1f91a-1f3fb.svg | 2 +-
public/emoji/1f91a-1f3fc.png | Bin 848 -> 0 bytes
public/emoji/1f91a-1f3fc.svg | 2 +-
public/emoji/1f91a-1f3fd.png | Bin 848 -> 0 bytes
public/emoji/1f91a-1f3fd.svg | 2 +-
public/emoji/1f91a-1f3fe.png | Bin 848 -> 0 bytes
public/emoji/1f91a-1f3fe.svg | 2 +-
public/emoji/1f91a-1f3ff.png | Bin 848 -> 0 bytes
public/emoji/1f91a-1f3ff.svg | 2 +-
public/emoji/1f91a.png | Bin 848 -> 0 bytes
public/emoji/1f91a.svg | 2 +-
public/emoji/1f91b-1f3fb.png | Bin 960 -> 0 bytes
public/emoji/1f91b-1f3fb.svg | 2 +-
public/emoji/1f91b-1f3fc.png | Bin 972 -> 0 bytes
public/emoji/1f91b-1f3fc.svg | 2 +-
public/emoji/1f91b-1f3fd.png | Bin 960 -> 0 bytes
public/emoji/1f91b-1f3fd.svg | 2 +-
public/emoji/1f91b-1f3fe.png | Bin 960 -> 0 bytes
public/emoji/1f91b-1f3fe.svg | 2 +-
public/emoji/1f91b-1f3ff.png | Bin 976 -> 0 bytes
public/emoji/1f91b-1f3ff.svg | 2 +-
public/emoji/1f91b.png | Bin 972 -> 0 bytes
public/emoji/1f91b.svg | 2 +-
public/emoji/1f91c-1f3fb.png | Bin 964 -> 0 bytes
public/emoji/1f91c-1f3fb.svg | 2 +-
public/emoji/1f91c-1f3fc.png | Bin 964 -> 0 bytes
public/emoji/1f91c-1f3fc.svg | 2 +-
public/emoji/1f91c-1f3fd.png | Bin 964 -> 0 bytes
public/emoji/1f91c-1f3fd.svg | 2 +-
public/emoji/1f91c-1f3fe.png | Bin 964 -> 0 bytes
public/emoji/1f91c-1f3fe.svg | 2 +-
public/emoji/1f91c-1f3ff.png | Bin 964 -> 0 bytes
public/emoji/1f91c-1f3ff.svg | 2 +-
public/emoji/1f91c.png | Bin 975 -> 0 bytes
public/emoji/1f91c.svg | 2 +-
public/emoji/1f91d-1f3fb.png | Bin 1381 -> 0 bytes
public/emoji/1f91d-1f3fb.svg | 1 -
public/emoji/1f91d-1f3fc.png | Bin 1381 -> 0 bytes
public/emoji/1f91d-1f3fc.svg | 1 -
public/emoji/1f91d-1f3fd.png | Bin 1381 -> 0 bytes
public/emoji/1f91d-1f3fd.svg | 1 -
public/emoji/1f91d-1f3fe.png | Bin 1381 -> 0 bytes
public/emoji/1f91d-1f3fe.svg | 1 -
public/emoji/1f91d-1f3ff.png | Bin 1381 -> 0 bytes
public/emoji/1f91d-1f3ff.svg | 1 -
public/emoji/1f91d.png | Bin 1366 -> 0 bytes
public/emoji/1f91d.svg | 2 +-
public/emoji/1f91e-1f3fb.png | Bin 1047 -> 0 bytes
public/emoji/1f91e-1f3fb.svg | 2 +-
public/emoji/1f91e-1f3fc.png | Bin 1050 -> 0 bytes
public/emoji/1f91e-1f3fc.svg | 2 +-
public/emoji/1f91e-1f3fd.png | Bin 1050 -> 0 bytes
public/emoji/1f91e-1f3fd.svg | 2 +-
public/emoji/1f91e-1f3fe.png | Bin 1046 -> 0 bytes
public/emoji/1f91e-1f3fe.svg | 2 +-
public/emoji/1f91e-1f3ff.png | Bin 1050 -> 0 bytes
public/emoji/1f91e-1f3ff.svg | 2 +-
public/emoji/1f91e.png | Bin 1050 -> 0 bytes
public/emoji/1f91e.svg | 2 +-
public/emoji/1f91f-1f3fb.svg | 1 +
public/emoji/1f91f-1f3fc.svg | 1 +
public/emoji/1f91f-1f3fd.svg | 1 +
public/emoji/1f91f-1f3fe.svg | 1 +
public/emoji/1f91f-1f3ff.svg | 1 +
public/emoji/1f91f.svg | 1 +
public/emoji/1f920.png | Bin 1353 -> 0 bytes
public/emoji/1f920.svg | 2 +-
public/emoji/1f921.png | Bin 1818 -> 0 bytes
public/emoji/1f921.svg | 2 +-
public/emoji/1f922.png | Bin 965 -> 0 bytes
public/emoji/1f922.svg | 2 +-
public/emoji/1f923.png | Bin 1760 -> 0 bytes
public/emoji/1f923.svg | 2 +-
public/emoji/1f924.png | Bin 1049 -> 0 bytes
public/emoji/1f924.svg | 2 +-
public/emoji/1f925.png | Bin 1103 -> 0 bytes
public/emoji/1f925.svg | 2 +-
public/emoji/1f926-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f926-1f3fb.png | Bin 1563 -> 0 bytes
public/emoji/1f926-1f3fb.svg | 2 +-
public/emoji/1f926-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f926-1f3fc.png | Bin 1547 -> 0 bytes
public/emoji/1f926-1f3fc.svg | 2 +-
public/emoji/1f926-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f926-1f3fd.png | Bin 1550 -> 0 bytes
public/emoji/1f926-1f3fd.svg | 2 +-
public/emoji/1f926-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f926-1f3fe.png | Bin 1553 -> 0 bytes
public/emoji/1f926-1f3fe.svg | 2 +-
public/emoji/1f926-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f926-1f3ff.png | Bin 1532 -> 0 bytes
public/emoji/1f926-1f3ff.svg | 2 +-
public/emoji/1f926-200d-2640-fe0f.svg | 1 +
public/emoji/1f926-200d-2642-fe0f.svg | 1 +
public/emoji/1f926.png | Bin 1523 -> 0 bytes
public/emoji/1f926.svg | 2 +-
public/emoji/1f927.png | Bin 1289 -> 0 bytes
public/emoji/1f927.svg | 2 +-
public/emoji/1f928.svg | 1 +
public/emoji/1f929.svg | 1 +
public/emoji/1f92a.svg | 1 +
public/emoji/1f92b.svg | 1 +
public/emoji/1f92c.svg | 1 +
public/emoji/1f92d.svg | 1 +
public/emoji/1f92e.svg | 1 +
public/emoji/1f92f.svg | 1 +
public/emoji/1f930-1f3fb.png | Bin 1255 -> 0 bytes
public/emoji/1f930-1f3fb.svg | 2 +-
public/emoji/1f930-1f3fc.png | Bin 1246 -> 0 bytes
public/emoji/1f930-1f3fc.svg | 2 +-
public/emoji/1f930-1f3fd.png | Bin 1237 -> 0 bytes
public/emoji/1f930-1f3fd.svg | 2 +-
public/emoji/1f930-1f3fe.png | Bin 1246 -> 0 bytes
public/emoji/1f930-1f3fe.svg | 2 +-
public/emoji/1f930-1f3ff.png | Bin 1235 -> 0 bytes
public/emoji/1f930-1f3ff.svg | 2 +-
public/emoji/1f930.png | Bin 1252 -> 0 bytes
public/emoji/1f930.svg | 2 +-
public/emoji/1f931-1f3fb.svg | 1 +
public/emoji/1f931-1f3fc.svg | 1 +
public/emoji/1f931-1f3fd.svg | 1 +
public/emoji/1f931-1f3fe.svg | 1 +
public/emoji/1f931-1f3ff.svg | 1 +
public/emoji/1f931.svg | 1 +
public/emoji/1f932-1f3fb.svg | 1 +
public/emoji/1f932-1f3fc.svg | 1 +
public/emoji/1f932-1f3fd.svg | 1 +
public/emoji/1f932-1f3fe.svg | 1 +
public/emoji/1f932-1f3ff.svg | 1 +
public/emoji/1f932.svg | 1 +
public/emoji/1f933-1f3fb.png | Bin 1166 -> 0 bytes
public/emoji/1f933-1f3fb.svg | 2 +-
public/emoji/1f933-1f3fc.png | Bin 1167 -> 0 bytes
public/emoji/1f933-1f3fc.svg | 2 +-
public/emoji/1f933-1f3fd.png | Bin 1154 -> 0 bytes
public/emoji/1f933-1f3fd.svg | 2 +-
public/emoji/1f933-1f3fe.png | Bin 1153 -> 0 bytes
public/emoji/1f933-1f3fe.svg | 2 +-
public/emoji/1f933-1f3ff.png | Bin 1148 -> 0 bytes
public/emoji/1f933-1f3ff.svg | 2 +-
public/emoji/1f933.png | Bin 1160 -> 0 bytes
public/emoji/1f933.svg | 2 +-
public/emoji/1f934-1f3fb.png | Bin 1618 -> 0 bytes
public/emoji/1f934-1f3fb.svg | 2 +-
public/emoji/1f934-1f3fc.png | Bin 1621 -> 0 bytes
public/emoji/1f934-1f3fc.svg | 2 +-
public/emoji/1f934-1f3fd.png | Bin 1619 -> 0 bytes
public/emoji/1f934-1f3fd.svg | 2 +-
public/emoji/1f934-1f3fe.png | Bin 1619 -> 0 bytes
public/emoji/1f934-1f3fe.svg | 2 +-
public/emoji/1f934-1f3ff.png | Bin 1616 -> 0 bytes
public/emoji/1f934-1f3ff.svg | 2 +-
public/emoji/1f934.png | Bin 1616 -> 0 bytes
public/emoji/1f934.svg | 2 +-
public/emoji/1f935-1f3fb.png | Bin 1307 -> 0 bytes
public/emoji/1f935-1f3fb.svg | 2 +-
public/emoji/1f935-1f3fc.png | Bin 1307 -> 0 bytes
public/emoji/1f935-1f3fc.svg | 2 +-
public/emoji/1f935-1f3fd.png | Bin 1307 -> 0 bytes
public/emoji/1f935-1f3fd.svg | 2 +-
public/emoji/1f935-1f3fe.png | Bin 1307 -> 0 bytes
public/emoji/1f935-1f3fe.svg | 2 +-
public/emoji/1f935-1f3ff.png | Bin 1302 -> 0 bytes
public/emoji/1f935-1f3ff.svg | 2 +-
public/emoji/1f935.png | Bin 1307 -> 0 bytes
public/emoji/1f935.svg | 2 +-
public/emoji/1f936-1f3fb.png | Bin 1999 -> 0 bytes
public/emoji/1f936-1f3fb.svg | 2 +-
public/emoji/1f936-1f3fc.png | Bin 2006 -> 0 bytes
public/emoji/1f936-1f3fc.svg | 2 +-
public/emoji/1f936-1f3fd.png | Bin 2017 -> 0 bytes
public/emoji/1f936-1f3fd.svg | 2 +-
public/emoji/1f936-1f3fe.png | Bin 2016 -> 0 bytes
public/emoji/1f936-1f3fe.svg | 2 +-
public/emoji/1f936-1f3ff.png | Bin 2016 -> 0 bytes
public/emoji/1f936-1f3ff.svg | 2 +-
public/emoji/1f936.png | Bin 3338 -> 0 bytes
public/emoji/1f936.svg | 2 +-
public/emoji/1f937-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f937-1f3fb.png | Bin 1676 -> 0 bytes
public/emoji/1f937-1f3fb.svg | 2 +-
public/emoji/1f937-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f937-1f3fc.png | Bin 1671 -> 0 bytes
public/emoji/1f937-1f3fc.svg | 2 +-
public/emoji/1f937-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f937-1f3fd.png | Bin 1675 -> 0 bytes
public/emoji/1f937-1f3fd.svg | 2 +-
public/emoji/1f937-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f937-1f3fe.png | Bin 1641 -> 0 bytes
public/emoji/1f937-1f3fe.svg | 2 +-
public/emoji/1f937-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f937-1f3ff.png | Bin 1634 -> 0 bytes
public/emoji/1f937-1f3ff.svg | 2 +-
public/emoji/1f937-200d-2640-fe0f.svg | 1 +
public/emoji/1f937-200d-2642-fe0f.svg | 1 +
public/emoji/1f937.png | Bin 1671 -> 0 bytes
public/emoji/1f937.svg | 2 +-
public/emoji/1f938-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f938-1f3fb.png | Bin 1234 -> 0 bytes
public/emoji/1f938-1f3fb.svg | 2 +-
public/emoji/1f938-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f938-1f3fc.png | Bin 1235 -> 0 bytes
public/emoji/1f938-1f3fc.svg | 2 +-
public/emoji/1f938-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f938-1f3fd.png | Bin 1229 -> 0 bytes
public/emoji/1f938-1f3fd.svg | 2 +-
public/emoji/1f938-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f938-1f3fe.png | Bin 1227 -> 0 bytes
public/emoji/1f938-1f3fe.svg | 2 +-
public/emoji/1f938-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f938-1f3ff.png | Bin 1214 -> 0 bytes
public/emoji/1f938-1f3ff.svg | 2 +-
public/emoji/1f938-200d-2640-fe0f.svg | 1 +
public/emoji/1f938-200d-2642-fe0f.svg | 1 +
public/emoji/1f938.png | Bin 1233 -> 0 bytes
public/emoji/1f938.svg | 2 +-
public/emoji/1f939-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f939-1f3fb.png | Bin 1171 -> 0 bytes
public/emoji/1f939-1f3fb.svg | 2 +-
public/emoji/1f939-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f939-1f3fc.png | Bin 1160 -> 0 bytes
public/emoji/1f939-1f3fc.svg | 2 +-
public/emoji/1f939-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f939-1f3fd.png | Bin 1170 -> 0 bytes
public/emoji/1f939-1f3fd.svg | 2 +-
public/emoji/1f939-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f939-1f3fe.png | Bin 1167 -> 0 bytes
public/emoji/1f939-1f3fe.svg | 2 +-
public/emoji/1f939-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f939-1f3ff.png | Bin 1161 -> 0 bytes
public/emoji/1f939-1f3ff.svg | 2 +-
public/emoji/1f939-200d-2640-fe0f.svg | 1 +
public/emoji/1f939-200d-2642-fe0f.svg | 1 +
public/emoji/1f939.png | Bin 1165 -> 0 bytes
public/emoji/1f939.svg | 2 +-
public/emoji/1f93a.png | Bin 1342 -> 0 bytes
public/emoji/1f93a.svg | 2 +-
public/emoji/1f93c-1f3fb.png | Bin 2563 -> 0 bytes
public/emoji/1f93c-1f3fb.svg | 1 -
public/emoji/1f93c-1f3fc.png | Bin 2553 -> 0 bytes
public/emoji/1f93c-1f3fc.svg | 1 -
public/emoji/1f93c-1f3fd.png | Bin 2541 -> 0 bytes
public/emoji/1f93c-1f3fd.svg | 1 -
public/emoji/1f93c-1f3fe.png | Bin 2553 -> 0 bytes
public/emoji/1f93c-1f3fe.svg | 1 -
public/emoji/1f93c-1f3ff.png | Bin 2542 -> 0 bytes
public/emoji/1f93c-1f3ff.svg | 1 -
public/emoji/1f93c-200d-2640-fe0f.svg | 1 +
public/emoji/1f93c-200d-2642-fe0f.svg | 1 +
public/emoji/1f93c.png | Bin 2556 -> 0 bytes
public/emoji/1f93c.svg | 2 +-
public/emoji/1f93d-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d-1f3fb.png | Bin 1758 -> 0 bytes
public/emoji/1f93d-1f3fb.svg | 2 +-
public/emoji/1f93d-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d-1f3fc.png | Bin 1756 -> 0 bytes
public/emoji/1f93d-1f3fc.svg | 2 +-
public/emoji/1f93d-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d-1f3fd.png | Bin 1760 -> 0 bytes
public/emoji/1f93d-1f3fd.svg | 2 +-
public/emoji/1f93d-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d-1f3fe.png | Bin 1749 -> 0 bytes
public/emoji/1f93d-1f3fe.svg | 2 +-
public/emoji/1f93d-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d-1f3ff.png | Bin 1748 -> 0 bytes
public/emoji/1f93d-1f3ff.svg | 2 +-
public/emoji/1f93d-200d-2640-fe0f.svg | 1 +
public/emoji/1f93d-200d-2642-fe0f.svg | 1 +
public/emoji/1f93d.png | Bin 1755 -> 0 bytes
public/emoji/1f93d.svg | 2 +-
public/emoji/1f93e-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e-1f3fb.png | Bin 1645 -> 0 bytes
public/emoji/1f93e-1f3fb.svg | 2 +-
public/emoji/1f93e-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e-1f3fc.png | Bin 1628 -> 0 bytes
public/emoji/1f93e-1f3fc.svg | 2 +-
public/emoji/1f93e-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e-1f3fd.png | Bin 1639 -> 0 bytes
public/emoji/1f93e-1f3fd.svg | 2 +-
public/emoji/1f93e-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e-1f3fe.png | Bin 1634 -> 0 bytes
public/emoji/1f93e-1f3fe.svg | 2 +-
public/emoji/1f93e-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e-1f3ff.png | Bin 1606 -> 0 bytes
public/emoji/1f93e-1f3ff.svg | 2 +-
public/emoji/1f93e-200d-2640-fe0f.svg | 1 +
public/emoji/1f93e-200d-2642-fe0f.svg | 1 +
public/emoji/1f93e.png | Bin 1634 -> 0 bytes
public/emoji/1f93e.svg | 2 +-
public/emoji/1f940.png | Bin 1349 -> 0 bytes
public/emoji/1f940.svg | 2 +-
public/emoji/1f941.png | Bin 1870 -> 0 bytes
public/emoji/1f941.svg | 2 +-
public/emoji/1f942.png | Bin 1984 -> 0 bytes
public/emoji/1f942.svg | 2 +-
public/emoji/1f943.png | Bin 2312 -> 0 bytes
public/emoji/1f943.svg | 2 +-
public/emoji/1f944.png | Bin 700 -> 0 bytes
public/emoji/1f944.svg | 2 +-
public/emoji/1f945.png | Bin 1242 -> 0 bytes
public/emoji/1f945.svg | 2 +-
public/emoji/1f947.png | Bin 1419 -> 0 bytes
public/emoji/1f947.svg | 2 +-
public/emoji/1f948.png | Bin 1511 -> 0 bytes
public/emoji/1f948.svg | 2 +-
public/emoji/1f949.png | Bin 1529 -> 0 bytes
public/emoji/1f949.svg | 2 +-
public/emoji/1f94a.png | Bin 1575 -> 0 bytes
public/emoji/1f94a.svg | 2 +-
public/emoji/1f94b.png | Bin 1412 -> 0 bytes
public/emoji/1f94b.svg | 2 +-
public/emoji/1f94c.svg | 1 +
public/emoji/1f950.png | Bin 1313 -> 0 bytes
public/emoji/1f950.svg | 2 +-
public/emoji/1f951.png | Bin 1520 -> 0 bytes
public/emoji/1f951.svg | 2 +-
public/emoji/1f952.png | Bin 1357 -> 0 bytes
public/emoji/1f952.svg | 2 +-
public/emoji/1f953.png | Bin 2148 -> 0 bytes
public/emoji/1f953.svg | 2 +-
public/emoji/1f954.png | Bin 1246 -> 0 bytes
public/emoji/1f954.svg | 3 +-
public/emoji/1f955.png | Bin 1236 -> 0 bytes
public/emoji/1f955.svg | 2 +-
public/emoji/1f956.png | Bin 1551 -> 0 bytes
public/emoji/1f956.svg | 2 +-
public/emoji/1f957.png | Bin 2398 -> 0 bytes
public/emoji/1f957.svg | 2 +-
public/emoji/1f958.png | Bin 1738 -> 0 bytes
public/emoji/1f958.svg | 2 +-
public/emoji/1f959.png | Bin 2160 -> 0 bytes
public/emoji/1f959.svg | 2 +-
public/emoji/1f95a.png | Bin 710 -> 0 bytes
public/emoji/1f95a.svg | 2 +-
public/emoji/1f95b.png | Bin 1224 -> 0 bytes
public/emoji/1f95b.svg | 2 +-
public/emoji/1f95c.png | Bin 3266 -> 0 bytes
public/emoji/1f95c.svg | 2 +-
public/emoji/1f95d.png | Bin 1892 -> 0 bytes
public/emoji/1f95d.svg | 2 +-
public/emoji/1f95e.png | Bin 3661 -> 0 bytes
public/emoji/1f95e.svg | 2 +-
public/emoji/1f95f.svg | 1 +
public/emoji/1f960.svg | 1 +
public/emoji/1f961.svg | 1 +
public/emoji/1f962.svg | 1 +
public/emoji/1f963.svg | 1 +
public/emoji/1f964.svg | 1 +
public/emoji/1f965.svg | 1 +
public/emoji/1f966.svg | 1 +
public/emoji/1f967.svg | 1 +
public/emoji/1f968.svg | 1 +
public/emoji/1f969.svg | 1 +
public/emoji/1f96a.svg | 1 +
public/emoji/1f96b.svg | 1 +
public/emoji/1f980.png | Bin 1475 -> 0 bytes
public/emoji/1f980.svg | 2 +-
public/emoji/1f981.png | Bin 1728 -> 0 bytes
public/emoji/1f981.svg | 2 +-
public/emoji/1f982.png | Bin 1503 -> 0 bytes
public/emoji/1f982.svg | 2 +-
public/emoji/1f983.png | Bin 1240 -> 0 bytes
public/emoji/1f983.svg | 2 +-
public/emoji/1f984.png | Bin 2107 -> 0 bytes
public/emoji/1f984.svg | 2 +-
public/emoji/1f985.png | Bin 2222 -> 0 bytes
public/emoji/1f985.svg | 2 +-
public/emoji/1f986.png | Bin 1729 -> 0 bytes
public/emoji/1f986.svg | 2 +-
public/emoji/1f987.png | Bin 1190 -> 0 bytes
public/emoji/1f987.svg | 2 +-
public/emoji/1f988.png | Bin 1811 -> 0 bytes
public/emoji/1f988.svg | 3 +-
public/emoji/1f989.png | Bin 2045 -> 0 bytes
public/emoji/1f989.svg | 2 +-
public/emoji/1f98a.png | Bin 1556 -> 0 bytes
public/emoji/1f98a.svg | 2 +-
public/emoji/1f98b.png | Bin 1981 -> 0 bytes
public/emoji/1f98b.svg | 2 +-
public/emoji/1f98c.png | Bin 1606 -> 0 bytes
public/emoji/1f98c.svg | 2 +-
public/emoji/1f98d.png | Bin 1090 -> 0 bytes
public/emoji/1f98d.svg | 3 +-
public/emoji/1f98e.png | Bin 1709 -> 0 bytes
public/emoji/1f98e.svg | 2 +-
public/emoji/1f98f.png | Bin 1558 -> 0 bytes
public/emoji/1f98f.svg | 2 +-
public/emoji/1f990.png | Bin 1376 -> 0 bytes
public/emoji/1f990.svg | 2 +-
public/emoji/1f991.png | Bin 1394 -> 0 bytes
public/emoji/1f991.svg | 2 +-
public/emoji/1f992.svg | 1 +
public/emoji/1f993.svg | 1 +
public/emoji/1f994.svg | 1 +
public/emoji/1f995.svg | 1 +
public/emoji/1f996.svg | 1 +
public/emoji/1f997.svg | 1 +
public/emoji/1f9c0.png | Bin 1697 -> 0 bytes
public/emoji/1f9c0.svg | 2 +-
public/emoji/1f9d0.svg | 1 +
public/emoji/1f9d1-1f3fb.svg | 1 +
public/emoji/1f9d1-1f3fc.svg | 1 +
public/emoji/1f9d1-1f3fd.svg | 1 +
public/emoji/1f9d1-1f3fe.svg | 1 +
public/emoji/1f9d1-1f3ff.svg | 1 +
public/emoji/1f9d1.svg | 1 +
public/emoji/1f9d2-1f3fb.svg | 1 +
public/emoji/1f9d2-1f3fc.svg | 1 +
public/emoji/1f9d2-1f3fd.svg | 1 +
public/emoji/1f9d2-1f3fe.svg | 1 +
public/emoji/1f9d2-1f3ff.svg | 1 +
public/emoji/1f9d2.svg | 1 +
public/emoji/1f9d3-1f3fb.svg | 1 +
public/emoji/1f9d3-1f3fc.svg | 1 +
public/emoji/1f9d3-1f3fd.svg | 1 +
public/emoji/1f9d3-1f3fe.svg | 1 +
public/emoji/1f9d3-1f3ff.svg | 1 +
public/emoji/1f9d3.svg | 1 +
public/emoji/1f9d4-1f3fb.svg | 1 +
public/emoji/1f9d4-1f3fc.svg | 1 +
public/emoji/1f9d4-1f3fd.svg | 1 +
public/emoji/1f9d4-1f3fe.svg | 1 +
public/emoji/1f9d4-1f3ff.svg | 1 +
public/emoji/1f9d4.svg | 1 +
public/emoji/1f9d5-1f3fb.svg | 1 +
public/emoji/1f9d5-1f3fc.svg | 1 +
public/emoji/1f9d5-1f3fd.svg | 1 +
public/emoji/1f9d5-1f3fe.svg | 1 +
public/emoji/1f9d5-1f3ff.svg | 1 +
public/emoji/1f9d5.svg | 1 +
public/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fb.svg | 1 +
public/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fc.svg | 1 +
public/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fd.svg | 1 +
public/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6-1f3fe.svg | 1 +
public/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6-1f3ff.svg | 1 +
public/emoji/1f9d6-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d6-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d6.svg | 1 +
public/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fb.svg | 1 +
public/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fc.svg | 1 +
public/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fd.svg | 1 +
public/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7-1f3fe.svg | 1 +
public/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7-1f3ff.svg | 1 +
public/emoji/1f9d7-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d7-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d7.svg | 1 +
public/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fb.svg | 1 +
public/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fc.svg | 1 +
public/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fd.svg | 1 +
public/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8-1f3fe.svg | 1 +
public/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8-1f3ff.svg | 1 +
public/emoji/1f9d8-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d8-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d8.svg | 1 +
public/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fb.svg | 1 +
public/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fc.svg | 1 +
public/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fd.svg | 1 +
public/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9-1f3fe.svg | 1 +
public/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9-1f3ff.svg | 1 +
public/emoji/1f9d9-200d-2640-fe0f.svg | 1 +
public/emoji/1f9d9-200d-2642-fe0f.svg | 1 +
public/emoji/1f9d9.svg | 1 +
public/emoji/1f9da-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da-1f3fb.svg | 1 +
public/emoji/1f9da-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da-1f3fc.svg | 1 +
public/emoji/1f9da-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da-1f3fd.svg | 1 +
public/emoji/1f9da-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da-1f3fe.svg | 1 +
public/emoji/1f9da-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da-1f3ff.svg | 1 +
public/emoji/1f9da-200d-2640-fe0f.svg | 1 +
public/emoji/1f9da-200d-2642-fe0f.svg | 1 +
public/emoji/1f9da.svg | 1 +
public/emoji/1f9db-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db-1f3fb.svg | 1 +
public/emoji/1f9db-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db-1f3fc.svg | 1 +
public/emoji/1f9db-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db-1f3fd.svg | 1 +
public/emoji/1f9db-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db-1f3fe.svg | 1 +
public/emoji/1f9db-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db-1f3ff.svg | 1 +
public/emoji/1f9db-200d-2640-fe0f.svg | 1 +
public/emoji/1f9db-200d-2642-fe0f.svg | 1 +
public/emoji/1f9db.svg | 1 +
public/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fb.svg | 1 +
public/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fc.svg | 1 +
public/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fd.svg | 1 +
public/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc-1f3fe.svg | 1 +
public/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc-1f3ff.svg | 1 +
public/emoji/1f9dc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dc.svg | 1 +
public/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fb.svg | 1 +
public/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fc.svg | 1 +
public/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fd.svg | 1 +
public/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd-1f3fe.svg | 1 +
public/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd-1f3ff.svg | 1 +
public/emoji/1f9dd-200d-2640-fe0f.svg | 1 +
public/emoji/1f9dd-200d-2642-fe0f.svg | 1 +
public/emoji/1f9dd.svg | 1 +
public/emoji/1f9de-200d-2640-fe0f.svg | 1 +
public/emoji/1f9de-200d-2642-fe0f.svg | 1 +
public/emoji/1f9de.svg | 1 +
public/emoji/1f9df-200d-2640-fe0f.svg | 1 +
public/emoji/1f9df-200d-2642-fe0f.svg | 1 +
public/emoji/1f9df.svg | 1 +
public/emoji/1f9e0.svg | 1 +
public/emoji/1f9e1.svg | 1 +
public/emoji/1f9e2.svg | 1 +
public/emoji/1f9e3.svg | 1 +
public/emoji/1f9e4.svg | 1 +
public/emoji/1f9e5.svg | 1 +
public/emoji/1f9e6.svg | 1 +
public/emoji/203c.png | Bin 390 -> 0 bytes
public/emoji/203c.svg | 2 +-
public/emoji/2049.png | Bin 601 -> 0 bytes
public/emoji/2049.svg | 2 +-
public/emoji/2122.png | Bin 300 -> 0 bytes
public/emoji/2122.svg | 2 +-
public/emoji/2139.png | Bin 506 -> 0 bytes
public/emoji/2139.svg | 2 +-
public/emoji/2194.png | Bin 495 -> 0 bytes
public/emoji/2194.svg | 2 +-
public/emoji/2195.png | Bin 474 -> 0 bytes
public/emoji/2195.svg | 2 +-
public/emoji/2196.png | Bin 521 -> 0 bytes
public/emoji/2196.svg | 2 +-
public/emoji/2197.png | Bin 524 -> 0 bytes
public/emoji/2197.svg | 2 +-
public/emoji/2198.png | Bin 526 -> 0 bytes
public/emoji/2198.svg | 2 +-
public/emoji/2199.png | Bin 520 -> 0 bytes
public/emoji/2199.svg | 2 +-
public/emoji/21a9.png | Bin 643 -> 0 bytes
public/emoji/21a9.svg | 3 +-
public/emoji/21aa.png | Bin 644 -> 0 bytes
public/emoji/21aa.svg | 3 +-
public/emoji/23-20e3.svg | 1 +
public/emoji/231a.png | Bin 785 -> 0 bytes
public/emoji/231a.svg | 2 +-
public/emoji/231b.png | Bin 800 -> 0 bytes
public/emoji/231b.svg | 2 +-
public/emoji/2328.png | Bin 429 -> 0 bytes
public/emoji/2328.svg | 2 +-
public/emoji/23cf.png | Bin 548 -> 0 bytes
public/emoji/23cf.svg | 2 +-
public/emoji/23e9.png | Bin 523 -> 0 bytes
public/emoji/23e9.svg | 2 +-
public/emoji/23ea.png | Bin 523 -> 0 bytes
public/emoji/23ea.svg | 2 +-
public/emoji/23eb.png | Bin 535 -> 0 bytes
public/emoji/23eb.svg | 2 +-
public/emoji/23ec.png | Bin 543 -> 0 bytes
public/emoji/23ec.svg | 2 +-
public/emoji/23ed.png | Bin 551 -> 0 bytes
public/emoji/23ed.svg | 2 +-
public/emoji/23ee.png | Bin 549 -> 0 bytes
public/emoji/23ee.svg | 2 +-
public/emoji/23ef.png | Bin 509 -> 0 bytes
public/emoji/23ef.svg | 2 +-
public/emoji/23f0.png | Bin 1044 -> 0 bytes
public/emoji/23f0.svg | 2 +-
public/emoji/23f1.png | Bin 1329 -> 0 bytes
public/emoji/23f1.svg | 2 +-
public/emoji/23f2.png | Bin 1897 -> 0 bytes
public/emoji/23f2.svg | 2 +-
public/emoji/23f3.png | Bin 847 -> 0 bytes
public/emoji/23f3.svg | 2 +-
public/emoji/23f8.png | Bin 395 -> 0 bytes
public/emoji/23f8.svg | 2 +-
public/emoji/23f9.png | Bin 385 -> 0 bytes
public/emoji/23f9.svg | 2 +-
public/emoji/23fa.png | Bin 475 -> 0 bytes
public/emoji/23fa.svg | 2 +-
public/emoji/24c2.png | Bin 500 -> 0 bytes
public/emoji/24c2.svg | 2 +-
public/emoji/25aa.png | Bin 108 -> 0 bytes
public/emoji/25aa.svg | 2 +-
public/emoji/25ab.png | Bin 108 -> 0 bytes
public/emoji/25ab.svg | 2 +-
public/emoji/25b6.png | Bin 429 -> 0 bytes
public/emoji/25b6.svg | 2 +-
public/emoji/25c0.png | Bin 429 -> 0 bytes
public/emoji/25c0.svg | 2 +-
public/emoji/25fb.png | Bin 108 -> 0 bytes
public/emoji/25fb.svg | 2 +-
public/emoji/25fc.png | Bin 108 -> 0 bytes
public/emoji/25fc.svg | 2 +-
public/emoji/25fd.png | Bin 110 -> 0 bytes
public/emoji/25fd.svg | 2 +-
public/emoji/25fe.png | Bin 110 -> 0 bytes
public/emoji/25fe.svg | 2 +-
public/emoji/2600.png | Bin 746 -> 0 bytes
public/emoji/2600.svg | 2 +-
public/emoji/2601.png | Bin 626 -> 0 bytes
public/emoji/2601.svg | 2 +-
public/emoji/2602.png | Bin 897 -> 0 bytes
public/emoji/2602.svg | 2 +-
public/emoji/2603.png | Bin 2176 -> 0 bytes
public/emoji/2603.svg | 2 +-
public/emoji/2604.png | Bin 1819 -> 0 bytes
public/emoji/2604.svg | 2 +-
public/emoji/260e.png | Bin 1760 -> 0 bytes
public/emoji/260e.svg | 2 +-
public/emoji/2611.png | Bin 639 -> 0 bytes
public/emoji/2611.svg | 2 +-
public/emoji/2614.png | Bin 1229 -> 0 bytes
public/emoji/2614.svg | 2 +-
public/emoji/2615.png | Bin 1679 -> 0 bytes
public/emoji/2615.svg | 2 +-
public/emoji/2618.png | Bin 1023 -> 0 bytes
public/emoji/2618.svg | 2 +-
public/emoji/261d-1f3fb.png | Bin 820 -> 0 bytes
public/emoji/261d-1f3fb.svg | 2 +-
public/emoji/261d-1f3fc.png | Bin 820 -> 0 bytes
public/emoji/261d-1f3fc.svg | 2 +-
public/emoji/261d-1f3fd.png | Bin 820 -> 0 bytes
public/emoji/261d-1f3fd.svg | 2 +-
public/emoji/261d-1f3fe.png | Bin 820 -> 0 bytes
public/emoji/261d-1f3fe.svg | 2 +-
public/emoji/261d-1f3ff.png | Bin 820 -> 0 bytes
public/emoji/261d-1f3ff.svg | 2 +-
public/emoji/261d.png | Bin 819 -> 0 bytes
public/emoji/261d.svg | 2 +-
public/emoji/2620.png | Bin 726 -> 0 bytes
public/emoji/2620.svg | 2 +-
public/emoji/2622.png | Bin 858 -> 0 bytes
public/emoji/2622.svg | 2 +-
public/emoji/2623.png | Bin 794 -> 0 bytes
public/emoji/2623.svg | 2 +-
public/emoji/2626.png | Bin 239 -> 0 bytes
public/emoji/2626.svg | 2 +-
public/emoji/262a.png | Bin 490 -> 0 bytes
public/emoji/262a.svg | 2 +-
public/emoji/262e.png | Bin 933 -> 0 bytes
public/emoji/262e.svg | 2 +-
public/emoji/262f.png | Bin 776 -> 0 bytes
public/emoji/262f.svg | 2 +-
public/emoji/2638.png | Bin 666 -> 0 bytes
public/emoji/2638.svg | 2 +-
public/emoji/2639.png | Bin 589 -> 0 bytes
public/emoji/2639.svg | 2 +-
public/emoji/263a.png | Bin 636 -> 0 bytes
public/emoji/263a.svg | 2 +-
public/emoji/2640.svg | 1 +
public/emoji/2642.svg | 1 +
public/emoji/2648.png | Bin 711 -> 0 bytes
public/emoji/2648.svg | 2 +-
public/emoji/2649.png | Bin 701 -> 0 bytes
public/emoji/2649.svg | 2 +-
public/emoji/264a.png | Bin 547 -> 0 bytes
public/emoji/264a.svg | 2 +-
public/emoji/264b.png | Bin 729 -> 0 bytes
public/emoji/264b.svg | 2 +-
public/emoji/264c.png | Bin 745 -> 0 bytes
public/emoji/264c.svg | 2 +-
public/emoji/264d.png | Bin 618 -> 0 bytes
public/emoji/264d.svg | 2 +-
public/emoji/264e.png | Bin 657 -> 0 bytes
public/emoji/264e.svg | 2 +-
public/emoji/264f.png | Bin 612 -> 0 bytes
public/emoji/264f.svg | 2 +-
public/emoji/2650.png | Bin 602 -> 0 bytes
public/emoji/2650.svg | 2 +-
public/emoji/2651.png | Bin 688 -> 0 bytes
public/emoji/2651.svg | 2 +-
public/emoji/2652.png | Bin 648 -> 0 bytes
public/emoji/2652.svg | 2 +-
public/emoji/2653.png | Bin 678 -> 0 bytes
public/emoji/2653.svg | 2 +-
public/emoji/2660.png | Bin 454 -> 0 bytes
public/emoji/2660.svg | 2 +-
public/emoji/2663.png | Bin 458 -> 0 bytes
public/emoji/2663.svg | 2 +-
public/emoji/2665.png | Bin 449 -> 0 bytes
public/emoji/2665.svg | 3 +-
public/emoji/2666.png | Bin 247 -> 0 bytes
public/emoji/2666.svg | 2 +-
public/emoji/2668.png | Bin 733 -> 0 bytes
public/emoji/2668.svg | 2 +-
public/emoji/267b.png | Bin 914 -> 0 bytes
public/emoji/267b.svg | 2 +-
public/emoji/267f.png | Bin 683 -> 0 bytes
public/emoji/267f.svg | 2 +-
public/emoji/2692.png | Bin 1068 -> 0 bytes
public/emoji/2692.svg | 2 +-
public/emoji/2693.png | Bin 779 -> 0 bytes
public/emoji/2693.svg | 2 +-
public/emoji/2694.png | Bin 1591 -> 0 bytes
public/emoji/2694.svg | 4 +-
public/emoji/2695.svg | 1 +
public/emoji/2696.png | Bin 1181 -> 0 bytes
public/emoji/2696.svg | 2 +-
public/emoji/2697.png | Bin 953 -> 0 bytes
public/emoji/2697.svg | 2 +-
public/emoji/2699.png | Bin 747 -> 0 bytes
public/emoji/2699.svg | 3 +-
public/emoji/269b.png | Bin 912 -> 0 bytes
public/emoji/269b.svg | 2 +-
public/emoji/269c.png | Bin 632 -> 0 bytes
public/emoji/269c.svg | 2 +-
public/emoji/26a0.png | Bin 565 -> 0 bytes
public/emoji/26a0.svg | 2 +-
public/emoji/26a1.png | Bin 413 -> 0 bytes
public/emoji/26a1.svg | 2 +-
public/emoji/26aa.png | Bin 351 -> 0 bytes
public/emoji/26aa.svg | 2 +-
public/emoji/26ab.png | Bin 374 -> 0 bytes
public/emoji/26ab.svg | 2 +-
public/emoji/26b0.png | Bin 2195 -> 0 bytes
public/emoji/26b0.svg | 2 +-
public/emoji/26b1.png | Bin 742 -> 0 bytes
public/emoji/26b1.svg | 2 +-
public/emoji/26bd.png | Bin 1034 -> 0 bytes
public/emoji/26bd.svg | 2 +-
public/emoji/26be.png | Bin 1185 -> 0 bytes
public/emoji/26be.svg | 2 +-
public/emoji/26c4.png | Bin 1481 -> 0 bytes
public/emoji/26c4.svg | 2 +-
public/emoji/26c5.png | Bin 977 -> 0 bytes
public/emoji/26c5.svg | 2 +-
public/emoji/26c8.png | Bin 1020 -> 0 bytes
public/emoji/26c8.svg | 2 +-
public/emoji/26ce.png | Bin 723 -> 0 bytes
public/emoji/26ce.svg | 2 +-
public/emoji/26cf.png | Bin 1023 -> 0 bytes
public/emoji/26cf.svg | 2 +-
public/emoji/26d1.png | Bin 1014 -> 0 bytes
public/emoji/26d1.svg | 2 +-
public/emoji/26d3.png | Bin 708 -> 0 bytes
public/emoji/26d3.svg | 2 +-
public/emoji/26d4.png | Bin 377 -> 0 bytes
public/emoji/26d4.svg | 2 +-
public/emoji/26e9.png | Bin 579 -> 0 bytes
public/emoji/26e9.svg | 2 +-
public/emoji/26ea.png | Bin 1298 -> 0 bytes
public/emoji/26ea.svg | 2 +-
public/emoji/26f0.png | Bin 1409 -> 0 bytes
public/emoji/26f0.svg | 2 +-
public/emoji/26f1.png | Bin 1486 -> 0 bytes
public/emoji/26f1.svg | 2 +-
public/emoji/26f2.png | Bin 1768 -> 0 bytes
public/emoji/26f2.svg | 2 +-
public/emoji/26f3.png | Bin 823 -> 0 bytes
public/emoji/26f3.svg | 2 +-
public/emoji/26f4.png | Bin 528 -> 0 bytes
public/emoji/26f4.svg | 2 +-
public/emoji/26f5.png | Bin 1274 -> 0 bytes
public/emoji/26f5.svg | 2 +-
public/emoji/26f7-1f3fb.svg | 1 +
public/emoji/26f7-1f3fc.svg | 1 +
public/emoji/26f7-1f3fd.svg | 1 +
public/emoji/26f7-1f3fe.svg | 1 +
public/emoji/26f7-1f3ff.svg | 1 +
public/emoji/26f7.png | Bin 1539 -> 0 bytes
public/emoji/26f7.svg | 2 +-
public/emoji/26f8.png | Bin 1574 -> 0 bytes
public/emoji/26f8.svg | 2 +-
public/emoji/26f9-1f3fb-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-1f3fb-200d-2642-fe0f.svg | 1 +
public/emoji/26f9-1f3fb.png | Bin 1492 -> 0 bytes
public/emoji/26f9-1f3fb.svg | 2 +-
public/emoji/26f9-1f3fc-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-1f3fc-200d-2642-fe0f.svg | 1 +
public/emoji/26f9-1f3fc.png | Bin 1493 -> 0 bytes
public/emoji/26f9-1f3fc.svg | 2 +-
public/emoji/26f9-1f3fd-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-1f3fd-200d-2642-fe0f.svg | 1 +
public/emoji/26f9-1f3fd.png | Bin 1492 -> 0 bytes
public/emoji/26f9-1f3fd.svg | 2 +-
public/emoji/26f9-1f3fe-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-1f3fe-200d-2642-fe0f.svg | 1 +
public/emoji/26f9-1f3fe.png | Bin 1491 -> 0 bytes
public/emoji/26f9-1f3fe.svg | 2 +-
public/emoji/26f9-1f3ff-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-1f3ff-200d-2642-fe0f.svg | 1 +
public/emoji/26f9-1f3ff.png | Bin 1474 -> 0 bytes
public/emoji/26f9-1f3ff.svg | 2 +-
public/emoji/26f9-fe0f-200d-2640-fe0f.svg | 1 +
public/emoji/26f9-fe0f-200d-2642-fe0f.svg | 1 +
public/emoji/26f9.png | Bin 1491 -> 0 bytes
public/emoji/26f9.svg | 2 +-
public/emoji/26fa.png | Bin 1684 -> 0 bytes
public/emoji/26fa.svg | 2 +-
public/emoji/26fd.png | Bin 864 -> 0 bytes
public/emoji/26fd.svg | 2 +-
public/emoji/2702.png | Bin 937 -> 0 bytes
public/emoji/2702.svg | 2 +-
public/emoji/2705.png | Bin 547 -> 0 bytes
public/emoji/2705.svg | 2 +-
public/emoji/2708.png | Bin 1152 -> 0 bytes
public/emoji/2708.svg | 2 +-
public/emoji/2709.png | Bin 916 -> 0 bytes
public/emoji/2709.svg | 2 +-
public/emoji/270a-1f3fb.png | Bin 1014 -> 0 bytes
public/emoji/270a-1f3fb.svg | 2 +-
public/emoji/270a-1f3fc.png | Bin 1014 -> 0 bytes
public/emoji/270a-1f3fc.svg | 2 +-
public/emoji/270a-1f3fd.png | Bin 1014 -> 0 bytes
public/emoji/270a-1f3fd.svg | 2 +-
public/emoji/270a-1f3fe.png | Bin 1014 -> 0 bytes
public/emoji/270a-1f3fe.svg | 2 +-
public/emoji/270a-1f3ff.png | Bin 1014 -> 0 bytes
public/emoji/270a-1f3ff.svg | 2 +-
public/emoji/270a.png | Bin 1014 -> 0 bytes
public/emoji/270a.svg | 2 +-
public/emoji/270b-1f3fb.png | Bin 791 -> 0 bytes
public/emoji/270b-1f3fb.svg | 2 +-
public/emoji/270b-1f3fc.png | Bin 791 -> 0 bytes
public/emoji/270b-1f3fc.svg | 2 +-
public/emoji/270b-1f3fd.png | Bin 791 -> 0 bytes
public/emoji/270b-1f3fd.svg | 2 +-
public/emoji/270b-1f3fe.png | Bin 791 -> 0 bytes
public/emoji/270b-1f3fe.svg | 2 +-
public/emoji/270b-1f3ff.png | Bin 791 -> 0 bytes
public/emoji/270b-1f3ff.svg | 2 +-
public/emoji/270b.png | Bin 791 -> 0 bytes
public/emoji/270b.svg | 2 +-
public/emoji/270c-1f3fb.png | Bin 1009 -> 0 bytes
public/emoji/270c-1f3fb.svg | 2 +-
public/emoji/270c-1f3fc.png | Bin 1009 -> 0 bytes
public/emoji/270c-1f3fc.svg | 2 +-
public/emoji/270c-1f3fd.png | Bin 1009 -> 0 bytes
public/emoji/270c-1f3fd.svg | 2 +-
public/emoji/270c-1f3fe.png | Bin 1009 -> 0 bytes
public/emoji/270c-1f3fe.svg | 2 +-
public/emoji/270c-1f3ff.png | Bin 1009 -> 0 bytes
public/emoji/270c-1f3ff.svg | 2 +-
public/emoji/270c.png | Bin 1009 -> 0 bytes
public/emoji/270c.svg | 2 +-
public/emoji/270d-1f3fb.png | Bin 988 -> 0 bytes
public/emoji/270d-1f3fb.svg | 2 +-
public/emoji/270d-1f3fc.png | Bin 987 -> 0 bytes
public/emoji/270d-1f3fc.svg | 2 +-
public/emoji/270d-1f3fd.png | Bin 977 -> 0 bytes
public/emoji/270d-1f3fd.svg | 2 +-
public/emoji/270d-1f3fe.png | Bin 973 -> 0 bytes
public/emoji/270d-1f3fe.svg | 2 +-
public/emoji/270d-1f3ff.png | Bin 970 -> 0 bytes
public/emoji/270d-1f3ff.svg | 2 +-
public/emoji/270d.png | Bin 1001 -> 0 bytes
public/emoji/270d.svg | 2 +-
public/emoji/270f.png | Bin 654 -> 0 bytes
public/emoji/270f.svg | 2 +-
public/emoji/2712.png | Bin 620 -> 0 bytes
public/emoji/2712.svg | 3 +-
public/emoji/2714.png | Bin 438 -> 0 bytes
public/emoji/2714.svg | 2 +-
public/emoji/2716.png | Bin 298 -> 0 bytes
public/emoji/2716.svg | 2 +-
public/emoji/271d.png | Bin 408 -> 0 bytes
public/emoji/271d.svg | 2 +-
public/emoji/2721.png | Bin 491 -> 0 bytes
public/emoji/2721.svg | 2 +-
public/emoji/2728.png | Bin 651 -> 0 bytes
public/emoji/2728.svg | 2 +-
public/emoji/2733.png | Bin 493 -> 0 bytes
public/emoji/2733.svg | 2 +-
public/emoji/2734.png | Bin 493 -> 0 bytes
public/emoji/2734.svg | 2 +-
public/emoji/2744.png | Bin 691 -> 0 bytes
public/emoji/2744.svg | 2 +-
public/emoji/2747.png | Bin 663 -> 0 bytes
public/emoji/2747.svg | 2 +-
public/emoji/274c.png | Bin 298 -> 0 bytes
public/emoji/274c.svg | 2 +-
public/emoji/274e.png | Bin 370 -> 0 bytes
public/emoji/274e.svg | 2 +-
public/emoji/2753.png | Bin 449 -> 0 bytes
public/emoji/2753.svg | 2 +-
public/emoji/2754.png | Bin 449 -> 0 bytes
public/emoji/2754.svg | 2 +-
public/emoji/2755.png | Bin 354 -> 0 bytes
public/emoji/2755.svg | 2 +-
public/emoji/2757.png | Bin 354 -> 0 bytes
public/emoji/2757.svg | 2 +-
public/emoji/2763.png | Bin 471 -> 0 bytes
public/emoji/2763.svg | 2 +-
public/emoji/2764.png | Bin 435 -> 0 bytes
public/emoji/2764.svg | 2 +-
public/emoji/2795.png | Bin 115 -> 0 bytes
public/emoji/2795.svg | 2 +-
public/emoji/2796.png | Bin 108 -> 0 bytes
public/emoji/2796.svg | 2 +-
public/emoji/2797.png | Bin 204 -> 0 bytes
public/emoji/2797.svg | 2 +-
public/emoji/27a1.png | Bin 468 -> 0 bytes
public/emoji/27a1.svg | 2 +-
public/emoji/27b0.png | Bin 545 -> 0 bytes
public/emoji/27b0.svg | 2 +-
public/emoji/27bf.png | Bin 550 -> 0 bytes
public/emoji/27bf.svg | 2 +-
public/emoji/2934.png | Bin 559 -> 0 bytes
public/emoji/2934.svg | 2 +-
public/emoji/2935.png | Bin 563 -> 0 bytes
public/emoji/2935.svg | 2 +-
public/emoji/2a-20e3.svg | 1 +
public/emoji/2b05.png | Bin 471 -> 0 bytes
public/emoji/2b05.svg | 2 +-
public/emoji/2b06.png | Bin 507 -> 0 bytes
public/emoji/2b06.svg | 2 +-
public/emoji/2b07.png | Bin 512 -> 0 bytes
public/emoji/2b07.svg | 2 +-
public/emoji/2b1b.png | Bin 110 -> 0 bytes
public/emoji/2b1b.svg | 2 +-
public/emoji/2b1c.png | Bin 110 -> 0 bytes
public/emoji/2b1c.svg | 2 +-
public/emoji/2b50.png | Bin 456 -> 0 bytes
public/emoji/2b50.svg | 2 +-
public/emoji/2b55.png | Bin 475 -> 0 bytes
public/emoji/2b55.svg | 2 +-
public/emoji/30-20e3.svg | 1 +
public/emoji/3030.png | Bin 359 -> 0 bytes
public/emoji/3030.svg | 2 +-
public/emoji/303d.png | Bin 521 -> 0 bytes
public/emoji/303d.svg | 2 +-
public/emoji/31-20e3.svg | 1 +
public/emoji/32-20e3.svg | 1 +
public/emoji/3297.png | Bin 729 -> 0 bytes
public/emoji/3297.svg | 2 +-
public/emoji/3299.png | Bin 857 -> 0 bytes
public/emoji/3299.svg | 2 +-
public/emoji/33-20e3.svg | 1 +
public/emoji/34-20e3.svg | 1 +
public/emoji/35-20e3.svg | 1 +
public/emoji/36-20e3.svg | 1 +
public/emoji/37-20e3.svg | 1 +
public/emoji/38-20e3.svg | 1 +
public/emoji/39-20e3.svg | 1 +
public/emoji/a9.svg | 1 +
public/emoji/ae.svg | 1 +
public/emoji/e50a.svg | 1 +
public/emoji/sheet.png | Bin 0 -> 3071758 bytes
spec/javascript/components/emojify.test.js | 8 +-
yarn.lock | 10 +
4595 files changed, 3317 insertions(+), 2189 deletions(-)
create mode 100644 app/javascript/styles/emoji_picker.scss
delete mode 100644 public/emoji/0023-20e3.png
delete mode 100644 public/emoji/0023-20e3.svg
delete mode 100644 public/emoji/0023.png
delete mode 100644 public/emoji/0023.svg
delete mode 100644 public/emoji/002a-20e3.png
delete mode 100644 public/emoji/002a-20e3.svg
delete mode 100644 public/emoji/002a.png
delete mode 100644 public/emoji/002a.svg
delete mode 100644 public/emoji/0030-20e3.png
delete mode 100644 public/emoji/0030-20e3.svg
delete mode 100644 public/emoji/0030.png
delete mode 100644 public/emoji/0030.svg
delete mode 100644 public/emoji/0031-20e3.png
delete mode 100644 public/emoji/0031-20e3.svg
delete mode 100644 public/emoji/0031.png
delete mode 100644 public/emoji/0031.svg
delete mode 100644 public/emoji/0032-20e3.png
delete mode 100644 public/emoji/0032-20e3.svg
delete mode 100644 public/emoji/0032.png
delete mode 100644 public/emoji/0032.svg
delete mode 100644 public/emoji/0033-20e3.png
delete mode 100644 public/emoji/0033-20e3.svg
delete mode 100644 public/emoji/0033.png
delete mode 100644 public/emoji/0033.svg
delete mode 100644 public/emoji/0034-20e3.png
delete mode 100644 public/emoji/0034-20e3.svg
delete mode 100644 public/emoji/0034.png
delete mode 100644 public/emoji/0034.svg
delete mode 100644 public/emoji/0035-20e3.png
delete mode 100644 public/emoji/0035-20e3.svg
delete mode 100644 public/emoji/0035.png
delete mode 100644 public/emoji/0035.svg
delete mode 100644 public/emoji/0036-20e3.png
delete mode 100644 public/emoji/0036-20e3.svg
delete mode 100644 public/emoji/0036.png
delete mode 100644 public/emoji/0036.svg
delete mode 100644 public/emoji/0037-20e3.png
delete mode 100644 public/emoji/0037-20e3.svg
delete mode 100644 public/emoji/0037.png
delete mode 100644 public/emoji/0037.svg
delete mode 100644 public/emoji/0038-20e3.png
delete mode 100644 public/emoji/0038-20e3.svg
delete mode 100644 public/emoji/0038.png
delete mode 100644 public/emoji/0038.svg
delete mode 100644 public/emoji/0039-20e3.png
delete mode 100644 public/emoji/0039-20e3.svg
delete mode 100644 public/emoji/0039.png
delete mode 100644 public/emoji/0039.svg
delete mode 100644 public/emoji/00a9.png
delete mode 100644 public/emoji/00a9.svg
delete mode 100644 public/emoji/00ae.png
delete mode 100644 public/emoji/00ae.svg
delete mode 100644 public/emoji/1f004.png
delete mode 100644 public/emoji/1f0cf.png
delete mode 100644 public/emoji/1f170.png
delete mode 100644 public/emoji/1f171.png
delete mode 100644 public/emoji/1f17e.png
delete mode 100644 public/emoji/1f17f.png
delete mode 100644 public/emoji/1f18e.png
delete mode 100644 public/emoji/1f191.png
delete mode 100644 public/emoji/1f192.png
delete mode 100644 public/emoji/1f193.png
delete mode 100644 public/emoji/1f194.png
delete mode 100644 public/emoji/1f195.png
delete mode 100644 public/emoji/1f196.png
delete mode 100644 public/emoji/1f197.png
delete mode 100644 public/emoji/1f198.png
delete mode 100644 public/emoji/1f199.png
delete mode 100644 public/emoji/1f19a.png
delete mode 100644 public/emoji/1f1e6-1f1e8.png
delete mode 100644 public/emoji/1f1e6-1f1e9.png
delete mode 100644 public/emoji/1f1e6-1f1ea.png
delete mode 100644 public/emoji/1f1e6-1f1eb.png
delete mode 100644 public/emoji/1f1e6-1f1ec.png
delete mode 100644 public/emoji/1f1e6-1f1ee.png
delete mode 100644 public/emoji/1f1e6-1f1f1.png
delete mode 100644 public/emoji/1f1e6-1f1f2.png
delete mode 100644 public/emoji/1f1e6-1f1f4.png
delete mode 100644 public/emoji/1f1e6-1f1f6.png
delete mode 100644 public/emoji/1f1e6-1f1f7.png
delete mode 100644 public/emoji/1f1e6-1f1f8.png
delete mode 100644 public/emoji/1f1e6-1f1f9.png
delete mode 100644 public/emoji/1f1e6-1f1fa.png
delete mode 100644 public/emoji/1f1e6-1f1fc.png
delete mode 100644 public/emoji/1f1e6-1f1fd.png
delete mode 100644 public/emoji/1f1e6-1f1ff.png
delete mode 100644 public/emoji/1f1e6.png
delete mode 100644 public/emoji/1f1e7-1f1e6.png
delete mode 100644 public/emoji/1f1e7-1f1e7.png
delete mode 100644 public/emoji/1f1e7-1f1e9.png
delete mode 100644 public/emoji/1f1e7-1f1ea.png
delete mode 100644 public/emoji/1f1e7-1f1eb.png
delete mode 100644 public/emoji/1f1e7-1f1ec.png
delete mode 100644 public/emoji/1f1e7-1f1ed.png
delete mode 100644 public/emoji/1f1e7-1f1ee.png
delete mode 100644 public/emoji/1f1e7-1f1ef.png
delete mode 100644 public/emoji/1f1e7-1f1f1.png
delete mode 100644 public/emoji/1f1e7-1f1f2.png
delete mode 100644 public/emoji/1f1e7-1f1f3.png
delete mode 100644 public/emoji/1f1e7-1f1f4.png
delete mode 100644 public/emoji/1f1e7-1f1f6.png
delete mode 100644 public/emoji/1f1e7-1f1f7.png
delete mode 100644 public/emoji/1f1e7-1f1f8.png
delete mode 100644 public/emoji/1f1e7-1f1f9.png
delete mode 100644 public/emoji/1f1e7-1f1fb.png
delete mode 100644 public/emoji/1f1e7-1f1fc.png
delete mode 100644 public/emoji/1f1e7-1f1fe.png
delete mode 100644 public/emoji/1f1e7-1f1ff.png
delete mode 100644 public/emoji/1f1e7.png
delete mode 100644 public/emoji/1f1e8-1f1e6.png
delete mode 100644 public/emoji/1f1e8-1f1e8.png
delete mode 100644 public/emoji/1f1e8-1f1e9.png
delete mode 100644 public/emoji/1f1e8-1f1eb.png
delete mode 100644 public/emoji/1f1e8-1f1ec.png
delete mode 100644 public/emoji/1f1e8-1f1ed.png
delete mode 100644 public/emoji/1f1e8-1f1ee.png
delete mode 100644 public/emoji/1f1e8-1f1f0.png
delete mode 100644 public/emoji/1f1e8-1f1f1.png
delete mode 100644 public/emoji/1f1e8-1f1f2.png
delete mode 100644 public/emoji/1f1e8-1f1f3.png
delete mode 100644 public/emoji/1f1e8-1f1f4.png
delete mode 100644 public/emoji/1f1e8-1f1f5.png
delete mode 100644 public/emoji/1f1e8-1f1f7.png
delete mode 100644 public/emoji/1f1e8-1f1fa.png
delete mode 100644 public/emoji/1f1e8-1f1fb.png
delete mode 100644 public/emoji/1f1e8-1f1fc.png
delete mode 100644 public/emoji/1f1e8-1f1fd.png
delete mode 100644 public/emoji/1f1e8-1f1fe.png
delete mode 100644 public/emoji/1f1e8-1f1ff.png
delete mode 100644 public/emoji/1f1e8.png
delete mode 100644 public/emoji/1f1e9-1f1ea.png
delete mode 100644 public/emoji/1f1e9-1f1ec.png
delete mode 100644 public/emoji/1f1e9-1f1ef.png
delete mode 100644 public/emoji/1f1e9-1f1f0.png
delete mode 100644 public/emoji/1f1e9-1f1f2.png
delete mode 100644 public/emoji/1f1e9-1f1f4.png
delete mode 100644 public/emoji/1f1e9-1f1ff.png
delete mode 100644 public/emoji/1f1e9.png
delete mode 100644 public/emoji/1f1ea-1f1e6.png
delete mode 100644 public/emoji/1f1ea-1f1e8.png
delete mode 100644 public/emoji/1f1ea-1f1ea.png
delete mode 100644 public/emoji/1f1ea-1f1ec.png
delete mode 100644 public/emoji/1f1ea-1f1ed.png
delete mode 100644 public/emoji/1f1ea-1f1f7.png
delete mode 100644 public/emoji/1f1ea-1f1f8.png
delete mode 100644 public/emoji/1f1ea-1f1f9.png
delete mode 100644 public/emoji/1f1ea-1f1fa.png
delete mode 100644 public/emoji/1f1ea.png
delete mode 100644 public/emoji/1f1eb-1f1ee.png
delete mode 100644 public/emoji/1f1eb-1f1ef.png
delete mode 100644 public/emoji/1f1eb-1f1f0.png
delete mode 100644 public/emoji/1f1eb-1f1f2.png
delete mode 100644 public/emoji/1f1eb-1f1f4.png
delete mode 100644 public/emoji/1f1eb-1f1f7.png
delete mode 100644 public/emoji/1f1eb.png
delete mode 100644 public/emoji/1f1ec-1f1e6.png
delete mode 100644 public/emoji/1f1ec-1f1e7.png
delete mode 100644 public/emoji/1f1ec-1f1e9.png
delete mode 100644 public/emoji/1f1ec-1f1ea.png
delete mode 100644 public/emoji/1f1ec-1f1eb.png
delete mode 100644 public/emoji/1f1ec-1f1ec.png
delete mode 100644 public/emoji/1f1ec-1f1ed.png
delete mode 100644 public/emoji/1f1ec-1f1ee.png
delete mode 100644 public/emoji/1f1ec-1f1f1.png
delete mode 100644 public/emoji/1f1ec-1f1f2.png
delete mode 100644 public/emoji/1f1ec-1f1f3.png
delete mode 100644 public/emoji/1f1ec-1f1f5.png
delete mode 100644 public/emoji/1f1ec-1f1f6.png
delete mode 100644 public/emoji/1f1ec-1f1f7.png
delete mode 100644 public/emoji/1f1ec-1f1f8.png
delete mode 100644 public/emoji/1f1ec-1f1f9.png
delete mode 100644 public/emoji/1f1ec-1f1fa.png
delete mode 100644 public/emoji/1f1ec-1f1fc.png
delete mode 100644 public/emoji/1f1ec-1f1fe.png
delete mode 100644 public/emoji/1f1ec.png
delete mode 100644 public/emoji/1f1ed-1f1f0.png
delete mode 100644 public/emoji/1f1ed-1f1f2.png
delete mode 100644 public/emoji/1f1ed-1f1f3.png
delete mode 100644 public/emoji/1f1ed-1f1f7.png
delete mode 100644 public/emoji/1f1ed-1f1f9.png
delete mode 100644 public/emoji/1f1ed-1f1fa.png
delete mode 100644 public/emoji/1f1ed.png
delete mode 100644 public/emoji/1f1ee-1f1e8.png
delete mode 100644 public/emoji/1f1ee-1f1e9.png
delete mode 100644 public/emoji/1f1ee-1f1ea.png
delete mode 100644 public/emoji/1f1ee-1f1f1.png
delete mode 100644 public/emoji/1f1ee-1f1f2.png
delete mode 100644 public/emoji/1f1ee-1f1f3.png
delete mode 100644 public/emoji/1f1ee-1f1f4.png
delete mode 100644 public/emoji/1f1ee-1f1f6.png
delete mode 100644 public/emoji/1f1ee-1f1f7.png
delete mode 100644 public/emoji/1f1ee-1f1f8.png
delete mode 100644 public/emoji/1f1ee-1f1f9.png
delete mode 100644 public/emoji/1f1ee.png
delete mode 100644 public/emoji/1f1ef-1f1ea.png
delete mode 100644 public/emoji/1f1ef-1f1f2.png
delete mode 100644 public/emoji/1f1ef-1f1f4.png
delete mode 100644 public/emoji/1f1ef-1f1f5.png
delete mode 100644 public/emoji/1f1ef.png
delete mode 100644 public/emoji/1f1f0-1f1ea.png
delete mode 100644 public/emoji/1f1f0-1f1ec.png
delete mode 100644 public/emoji/1f1f0-1f1ed.png
delete mode 100644 public/emoji/1f1f0-1f1ee.png
delete mode 100644 public/emoji/1f1f0-1f1f2.png
delete mode 100644 public/emoji/1f1f0-1f1f3.png
delete mode 100644 public/emoji/1f1f0-1f1f5.png
delete mode 100644 public/emoji/1f1f0-1f1f7.png
delete mode 100644 public/emoji/1f1f0-1f1fc.png
delete mode 100644 public/emoji/1f1f0-1f1fe.png
delete mode 100644 public/emoji/1f1f0-1f1ff.png
delete mode 100644 public/emoji/1f1f0.png
delete mode 100644 public/emoji/1f1f1-1f1e6.png
delete mode 100644 public/emoji/1f1f1-1f1e7.png
delete mode 100644 public/emoji/1f1f1-1f1e8.png
delete mode 100644 public/emoji/1f1f1-1f1ee.png
delete mode 100644 public/emoji/1f1f1-1f1f0.png
delete mode 100644 public/emoji/1f1f1-1f1f7.png
delete mode 100644 public/emoji/1f1f1-1f1f8.png
delete mode 100644 public/emoji/1f1f1-1f1f9.png
delete mode 100644 public/emoji/1f1f1-1f1fa.png
delete mode 100644 public/emoji/1f1f1-1f1fb.png
delete mode 100644 public/emoji/1f1f1-1f1fe.png
delete mode 100644 public/emoji/1f1f1.png
delete mode 100644 public/emoji/1f1f2-1f1e6.png
delete mode 100644 public/emoji/1f1f2-1f1e8.png
delete mode 100644 public/emoji/1f1f2-1f1e9.png
delete mode 100644 public/emoji/1f1f2-1f1ea.png
delete mode 100644 public/emoji/1f1f2-1f1eb.png
delete mode 100644 public/emoji/1f1f2-1f1ec.png
delete mode 100644 public/emoji/1f1f2-1f1ed.png
delete mode 100644 public/emoji/1f1f2-1f1f0.png
delete mode 100644 public/emoji/1f1f2-1f1f1.png
delete mode 100644 public/emoji/1f1f2-1f1f2.png
delete mode 100644 public/emoji/1f1f2-1f1f3.png
delete mode 100644 public/emoji/1f1f2-1f1f4.png
delete mode 100644 public/emoji/1f1f2-1f1f5.png
delete mode 100644 public/emoji/1f1f2-1f1f6.png
delete mode 100644 public/emoji/1f1f2-1f1f7.png
delete mode 100644 public/emoji/1f1f2-1f1f8.png
delete mode 100644 public/emoji/1f1f2-1f1f9.png
delete mode 100644 public/emoji/1f1f2-1f1fa.png
delete mode 100644 public/emoji/1f1f2-1f1fb.png
delete mode 100644 public/emoji/1f1f2-1f1fc.png
delete mode 100644 public/emoji/1f1f2-1f1fd.png
delete mode 100644 public/emoji/1f1f2-1f1fe.png
delete mode 100644 public/emoji/1f1f2-1f1ff.png
delete mode 100644 public/emoji/1f1f2.png
delete mode 100644 public/emoji/1f1f3-1f1e6.png
delete mode 100644 public/emoji/1f1f3-1f1e8.png
delete mode 100644 public/emoji/1f1f3-1f1ea.png
delete mode 100644 public/emoji/1f1f3-1f1eb.png
delete mode 100644 public/emoji/1f1f3-1f1ec.png
delete mode 100644 public/emoji/1f1f3-1f1ee.png
delete mode 100644 public/emoji/1f1f3-1f1f1.png
delete mode 100644 public/emoji/1f1f3-1f1f4.png
delete mode 100644 public/emoji/1f1f3-1f1f5.png
delete mode 100644 public/emoji/1f1f3-1f1f7.png
delete mode 100644 public/emoji/1f1f3-1f1fa.png
delete mode 100644 public/emoji/1f1f3-1f1ff.png
delete mode 100644 public/emoji/1f1f3.png
delete mode 100644 public/emoji/1f1f4-1f1f2.png
delete mode 100644 public/emoji/1f1f4.png
delete mode 100644 public/emoji/1f1f5-1f1e6.png
delete mode 100644 public/emoji/1f1f5-1f1ea.png
delete mode 100644 public/emoji/1f1f5-1f1eb.png
delete mode 100644 public/emoji/1f1f5-1f1ec.png
delete mode 100644 public/emoji/1f1f5-1f1ed.png
delete mode 100644 public/emoji/1f1f5-1f1f0.png
delete mode 100644 public/emoji/1f1f5-1f1f1.png
delete mode 100644 public/emoji/1f1f5-1f1f2.png
delete mode 100644 public/emoji/1f1f5-1f1f3.png
delete mode 100644 public/emoji/1f1f5-1f1f7.png
delete mode 100644 public/emoji/1f1f5-1f1f8.png
delete mode 100644 public/emoji/1f1f5-1f1f9.png
delete mode 100644 public/emoji/1f1f5-1f1fc.png
delete mode 100644 public/emoji/1f1f5-1f1fe.png
delete mode 100644 public/emoji/1f1f5.png
delete mode 100644 public/emoji/1f1f6-1f1e6.png
delete mode 100644 public/emoji/1f1f6.png
delete mode 100644 public/emoji/1f1f7-1f1ea.png
delete mode 100644 public/emoji/1f1f7-1f1f4.png
delete mode 100644 public/emoji/1f1f7-1f1f8.png
delete mode 100644 public/emoji/1f1f7-1f1fa.png
delete mode 100644 public/emoji/1f1f7-1f1fc.png
delete mode 100644 public/emoji/1f1f7.png
delete mode 100644 public/emoji/1f1f8-1f1e6.png
delete mode 100644 public/emoji/1f1f8-1f1e7.png
delete mode 100644 public/emoji/1f1f8-1f1e8.png
delete mode 100644 public/emoji/1f1f8-1f1e9.png
delete mode 100644 public/emoji/1f1f8-1f1ea.png
delete mode 100644 public/emoji/1f1f8-1f1ec.png
delete mode 100644 public/emoji/1f1f8-1f1ed.png
delete mode 100644 public/emoji/1f1f8-1f1ee.png
delete mode 100644 public/emoji/1f1f8-1f1ef.png
delete mode 100644 public/emoji/1f1f8-1f1f0.png
delete mode 100644 public/emoji/1f1f8-1f1f1.png
delete mode 100644 public/emoji/1f1f8-1f1f2.png
delete mode 100644 public/emoji/1f1f8-1f1f3.png
delete mode 100644 public/emoji/1f1f8-1f1f4.png
delete mode 100644 public/emoji/1f1f8-1f1f7.png
delete mode 100644 public/emoji/1f1f8-1f1f8.png
delete mode 100644 public/emoji/1f1f8-1f1f9.png
delete mode 100644 public/emoji/1f1f8-1f1fb.png
delete mode 100644 public/emoji/1f1f8-1f1fd.png
delete mode 100644 public/emoji/1f1f8-1f1fe.png
delete mode 100644 public/emoji/1f1f8-1f1ff.png
delete mode 100644 public/emoji/1f1f8.png
delete mode 100644 public/emoji/1f1f9-1f1e6.png
delete mode 100644 public/emoji/1f1f9-1f1e8.png
delete mode 100644 public/emoji/1f1f9-1f1e9.png
delete mode 100644 public/emoji/1f1f9-1f1eb.png
delete mode 100644 public/emoji/1f1f9-1f1ec.png
delete mode 100644 public/emoji/1f1f9-1f1ed.png
delete mode 100644 public/emoji/1f1f9-1f1ef.png
delete mode 100644 public/emoji/1f1f9-1f1f0.png
delete mode 100644 public/emoji/1f1f9-1f1f1.png
delete mode 100644 public/emoji/1f1f9-1f1f2.png
delete mode 100644 public/emoji/1f1f9-1f1f3.png
delete mode 100644 public/emoji/1f1f9-1f1f4.png
delete mode 100644 public/emoji/1f1f9-1f1f7.png
delete mode 100644 public/emoji/1f1f9-1f1f9.png
delete mode 100644 public/emoji/1f1f9-1f1fb.png
delete mode 100644 public/emoji/1f1f9-1f1fc.png
delete mode 100644 public/emoji/1f1f9-1f1ff.png
delete mode 100644 public/emoji/1f1f9.png
delete mode 100644 public/emoji/1f1fa-1f1e6.png
delete mode 100644 public/emoji/1f1fa-1f1ec.png
delete mode 100644 public/emoji/1f1fa-1f1f2.png
create mode 100644 public/emoji/1f1fa-1f1f3.svg
delete mode 100644 public/emoji/1f1fa-1f1f8.png
delete mode 100644 public/emoji/1f1fa-1f1fe.png
delete mode 100644 public/emoji/1f1fa-1f1ff.png
delete mode 100644 public/emoji/1f1fa.png
delete mode 100644 public/emoji/1f1fb-1f1e6.png
delete mode 100644 public/emoji/1f1fb-1f1e8.png
delete mode 100644 public/emoji/1f1fb-1f1ea.png
delete mode 100644 public/emoji/1f1fb-1f1ec.png
delete mode 100644 public/emoji/1f1fb-1f1ee.png
delete mode 100644 public/emoji/1f1fb-1f1f3.png
delete mode 100644 public/emoji/1f1fb-1f1fa.png
delete mode 100644 public/emoji/1f1fb.png
delete mode 100644 public/emoji/1f1fc-1f1eb.png
delete mode 100644 public/emoji/1f1fc-1f1f8.png
delete mode 100644 public/emoji/1f1fc.png
delete mode 100644 public/emoji/1f1fd-1f1f0.png
delete mode 100644 public/emoji/1f1fd.png
delete mode 100644 public/emoji/1f1fe-1f1ea.png
delete mode 100644 public/emoji/1f1fe-1f1f9.png
delete mode 100644 public/emoji/1f1fe.png
delete mode 100644 public/emoji/1f1ff-1f1e6.png
delete mode 100644 public/emoji/1f1ff-1f1f2.png
delete mode 100644 public/emoji/1f1ff-1f1fc.png
delete mode 100644 public/emoji/1f1ff.png
delete mode 100644 public/emoji/1f201.png
delete mode 100644 public/emoji/1f202.png
delete mode 100644 public/emoji/1f21a.png
delete mode 100644 public/emoji/1f22f.png
delete mode 100644 public/emoji/1f232.png
delete mode 100644 public/emoji/1f233.png
delete mode 100644 public/emoji/1f234.png
delete mode 100644 public/emoji/1f235.png
delete mode 100644 public/emoji/1f236.png
delete mode 100644 public/emoji/1f237.png
delete mode 100644 public/emoji/1f238.png
delete mode 100644 public/emoji/1f239.png
delete mode 100644 public/emoji/1f23a.png
delete mode 100644 public/emoji/1f250.png
delete mode 100644 public/emoji/1f251.png
delete mode 100644 public/emoji/1f300.png
delete mode 100644 public/emoji/1f301.png
delete mode 100644 public/emoji/1f302.png
delete mode 100644 public/emoji/1f303.png
delete mode 100644 public/emoji/1f304.png
delete mode 100644 public/emoji/1f305.png
delete mode 100644 public/emoji/1f306.png
delete mode 100644 public/emoji/1f307.png
delete mode 100644 public/emoji/1f308.png
delete mode 100644 public/emoji/1f309.png
delete mode 100644 public/emoji/1f30a.png
delete mode 100644 public/emoji/1f30b.png
delete mode 100644 public/emoji/1f30c.png
delete mode 100644 public/emoji/1f30d.png
delete mode 100644 public/emoji/1f30e.png
delete mode 100644 public/emoji/1f30f.png
delete mode 100644 public/emoji/1f310.png
delete mode 100644 public/emoji/1f311.png
delete mode 100644 public/emoji/1f312.png
delete mode 100644 public/emoji/1f313.png
delete mode 100644 public/emoji/1f314.png
delete mode 100644 public/emoji/1f315.png
delete mode 100644 public/emoji/1f316.png
delete mode 100644 public/emoji/1f317.png
delete mode 100644 public/emoji/1f318.png
delete mode 100644 public/emoji/1f319.png
delete mode 100644 public/emoji/1f31a.png
delete mode 100644 public/emoji/1f31b.png
delete mode 100644 public/emoji/1f31c.png
delete mode 100644 public/emoji/1f31d.png
delete mode 100644 public/emoji/1f31e.png
delete mode 100644 public/emoji/1f31f.png
delete mode 100644 public/emoji/1f320.png
delete mode 100644 public/emoji/1f321.png
delete mode 100644 public/emoji/1f324.png
delete mode 100644 public/emoji/1f325.png
delete mode 100644 public/emoji/1f326.png
delete mode 100644 public/emoji/1f327.png
delete mode 100644 public/emoji/1f328.png
delete mode 100644 public/emoji/1f329.png
delete mode 100644 public/emoji/1f32a.png
delete mode 100644 public/emoji/1f32b.png
delete mode 100644 public/emoji/1f32c.png
delete mode 100644 public/emoji/1f32d.png
delete mode 100644 public/emoji/1f32e.png
delete mode 100644 public/emoji/1f32f.png
delete mode 100644 public/emoji/1f330.png
delete mode 100644 public/emoji/1f331.png
delete mode 100644 public/emoji/1f332.png
delete mode 100644 public/emoji/1f333.png
delete mode 100644 public/emoji/1f334.png
delete mode 100644 public/emoji/1f335.png
delete mode 100644 public/emoji/1f336.png
delete mode 100644 public/emoji/1f337.png
delete mode 100644 public/emoji/1f338.png
delete mode 100644 public/emoji/1f339.png
delete mode 100644 public/emoji/1f33a.png
delete mode 100644 public/emoji/1f33b.png
delete mode 100644 public/emoji/1f33c.png
delete mode 100644 public/emoji/1f33d.png
delete mode 100644 public/emoji/1f33e.png
delete mode 100644 public/emoji/1f33f.png
delete mode 100644 public/emoji/1f340.png
delete mode 100644 public/emoji/1f341.png
delete mode 100644 public/emoji/1f342.png
delete mode 100644 public/emoji/1f343.png
delete mode 100644 public/emoji/1f344.png
delete mode 100644 public/emoji/1f345.png
delete mode 100644 public/emoji/1f346.png
delete mode 100644 public/emoji/1f347.png
delete mode 100644 public/emoji/1f348.png
delete mode 100644 public/emoji/1f349.png
delete mode 100644 public/emoji/1f34a.png
delete mode 100644 public/emoji/1f34b.png
delete mode 100644 public/emoji/1f34c.png
delete mode 100644 public/emoji/1f34d.png
delete mode 100644 public/emoji/1f34e.png
delete mode 100644 public/emoji/1f34f.png
delete mode 100644 public/emoji/1f350.png
delete mode 100644 public/emoji/1f351.png
delete mode 100644 public/emoji/1f352.png
delete mode 100644 public/emoji/1f353.png
delete mode 100644 public/emoji/1f354.png
delete mode 100644 public/emoji/1f355.png
delete mode 100644 public/emoji/1f356.png
delete mode 100644 public/emoji/1f357.png
delete mode 100644 public/emoji/1f358.png
delete mode 100644 public/emoji/1f359.png
delete mode 100644 public/emoji/1f35a.png
delete mode 100644 public/emoji/1f35b.png
delete mode 100644 public/emoji/1f35c.png
delete mode 100644 public/emoji/1f35d.png
delete mode 100644 public/emoji/1f35e.png
delete mode 100644 public/emoji/1f35f.png
delete mode 100644 public/emoji/1f360.png
delete mode 100644 public/emoji/1f361.png
delete mode 100644 public/emoji/1f362.png
delete mode 100644 public/emoji/1f363.png
delete mode 100644 public/emoji/1f364.png
delete mode 100644 public/emoji/1f365.png
delete mode 100644 public/emoji/1f366.png
delete mode 100644 public/emoji/1f367.png
delete mode 100644 public/emoji/1f368.png
delete mode 100644 public/emoji/1f369.png
delete mode 100644 public/emoji/1f36a.png
delete mode 100644 public/emoji/1f36b.png
delete mode 100644 public/emoji/1f36c.png
delete mode 100644 public/emoji/1f36d.png
delete mode 100644 public/emoji/1f36e.png
delete mode 100644 public/emoji/1f36f.png
delete mode 100644 public/emoji/1f370.png
delete mode 100644 public/emoji/1f371.png
delete mode 100644 public/emoji/1f372.png
delete mode 100644 public/emoji/1f373.png
delete mode 100644 public/emoji/1f374.png
delete mode 100644 public/emoji/1f375.png
delete mode 100644 public/emoji/1f376.png
delete mode 100644 public/emoji/1f377.png
delete mode 100644 public/emoji/1f378.png
delete mode 100644 public/emoji/1f379.png
delete mode 100644 public/emoji/1f37a.png
delete mode 100644 public/emoji/1f37b.png
delete mode 100644 public/emoji/1f37c.png
delete mode 100644 public/emoji/1f37d.png
delete mode 100644 public/emoji/1f37e.png
delete mode 100644 public/emoji/1f37f.png
delete mode 100644 public/emoji/1f380.png
delete mode 100644 public/emoji/1f381.png
delete mode 100644 public/emoji/1f382.png
delete mode 100644 public/emoji/1f383.png
delete mode 100644 public/emoji/1f384.png
delete mode 100644 public/emoji/1f385-1f3fb.png
delete mode 100644 public/emoji/1f385-1f3fc.png
delete mode 100644 public/emoji/1f385-1f3fd.png
delete mode 100644 public/emoji/1f385-1f3fe.png
delete mode 100644 public/emoji/1f385-1f3ff.png
delete mode 100644 public/emoji/1f385.png
delete mode 100644 public/emoji/1f386.png
delete mode 100644 public/emoji/1f387.png
delete mode 100644 public/emoji/1f388.png
delete mode 100644 public/emoji/1f389.png
delete mode 100644 public/emoji/1f38a.png
delete mode 100644 public/emoji/1f38b.png
delete mode 100644 public/emoji/1f38c.png
delete mode 100644 public/emoji/1f38d.png
delete mode 100644 public/emoji/1f38e.png
delete mode 100644 public/emoji/1f38f.png
delete mode 100644 public/emoji/1f390.png
delete mode 100644 public/emoji/1f391.png
delete mode 100644 public/emoji/1f392.png
delete mode 100644 public/emoji/1f393.png
delete mode 100644 public/emoji/1f396.png
delete mode 100644 public/emoji/1f397.png
delete mode 100644 public/emoji/1f399.png
delete mode 100644 public/emoji/1f39a.png
delete mode 100644 public/emoji/1f39b.png
delete mode 100644 public/emoji/1f39e.png
delete mode 100644 public/emoji/1f39f.png
delete mode 100644 public/emoji/1f3a0.png
delete mode 100644 public/emoji/1f3a1.png
delete mode 100644 public/emoji/1f3a2.png
delete mode 100644 public/emoji/1f3a3.png
delete mode 100644 public/emoji/1f3a4.png
delete mode 100644 public/emoji/1f3a5.png
delete mode 100644 public/emoji/1f3a6.png
delete mode 100644 public/emoji/1f3a7.png
delete mode 100644 public/emoji/1f3a8.png
delete mode 100644 public/emoji/1f3a9.png
delete mode 100644 public/emoji/1f3aa.png
delete mode 100644 public/emoji/1f3ab.png
delete mode 100644 public/emoji/1f3ac.png
delete mode 100644 public/emoji/1f3ad.png
delete mode 100644 public/emoji/1f3ae.png
delete mode 100644 public/emoji/1f3af.png
delete mode 100644 public/emoji/1f3b0.png
delete mode 100644 public/emoji/1f3b1.png
delete mode 100644 public/emoji/1f3b2.png
delete mode 100644 public/emoji/1f3b3.png
delete mode 100644 public/emoji/1f3b4.png
delete mode 100644 public/emoji/1f3b5.png
delete mode 100644 public/emoji/1f3b6.png
delete mode 100644 public/emoji/1f3b7.png
delete mode 100644 public/emoji/1f3b8.png
delete mode 100644 public/emoji/1f3b9.png
delete mode 100644 public/emoji/1f3ba.png
delete mode 100644 public/emoji/1f3bb.png
delete mode 100644 public/emoji/1f3bc.png
delete mode 100644 public/emoji/1f3bd.png
delete mode 100644 public/emoji/1f3be.png
delete mode 100644 public/emoji/1f3bf.png
delete mode 100644 public/emoji/1f3c0.png
delete mode 100644 public/emoji/1f3c1.png
create mode 100644 public/emoji/1f3c2-1f3fb.svg
create mode 100644 public/emoji/1f3c2-1f3fc.svg
create mode 100644 public/emoji/1f3c2-1f3fd.svg
create mode 100644 public/emoji/1f3c2-1f3fe.svg
create mode 100644 public/emoji/1f3c2-1f3ff.svg
delete mode 100644 public/emoji/1f3c2.png
create mode 100644 public/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3-1f3fb.png
create mode 100644 public/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3-1f3fc.png
create mode 100644 public/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3-1f3fd.png
create mode 100644 public/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3-1f3fe.png
create mode 100644 public/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3-1f3ff.png
create mode 100644 public/emoji/1f3c3-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c3-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c3.png
create mode 100644 public/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4-1f3fb.png
create mode 100644 public/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4-1f3fc.png
create mode 100644 public/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4-1f3fd.png
create mode 100644 public/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4-1f3fe.png
create mode 100644 public/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4-1f3ff.png
create mode 100644 public/emoji/1f3c4-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3c4-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3c4.png
delete mode 100644 public/emoji/1f3c5.png
delete mode 100644 public/emoji/1f3c6.png
delete mode 100644 public/emoji/1f3c7-1f3fb.png
delete mode 100644 public/emoji/1f3c7-1f3fc.png
delete mode 100644 public/emoji/1f3c7-1f3fd.png
delete mode 100644 public/emoji/1f3c7-1f3fe.png
delete mode 100644 public/emoji/1f3c7-1f3ff.png
delete mode 100644 public/emoji/1f3c7.png
delete mode 100644 public/emoji/1f3c8.png
delete mode 100644 public/emoji/1f3c9.png
create mode 100644 public/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca-1f3fb.png
create mode 100644 public/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca-1f3fc.png
create mode 100644 public/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca-1f3fd.png
create mode 100644 public/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca-1f3fe.png
create mode 100644 public/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca-1f3ff.png
create mode 100644 public/emoji/1f3ca-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3ca-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3ca.png
create mode 100644 public/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb-1f3fb.png
create mode 100644 public/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb-1f3fc.png
create mode 100644 public/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb-1f3fd.png
create mode 100644 public/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb-1f3fe.png
create mode 100644 public/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb-1f3ff.png
create mode 100644 public/emoji/1f3cb-fe0f-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cb-fe0f-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cb.png
create mode 100644 public/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fb.svg
create mode 100644 public/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fc.svg
create mode 100644 public/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fd.svg
create mode 100644 public/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3fe.svg
create mode 100644 public/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f3cc-1f3ff.svg
create mode 100644 public/emoji/1f3cc-fe0f-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f3cc-fe0f-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f3cc.png
delete mode 100644 public/emoji/1f3cd.png
delete mode 100644 public/emoji/1f3ce.png
delete mode 100644 public/emoji/1f3cf.png
delete mode 100644 public/emoji/1f3d0.png
delete mode 100644 public/emoji/1f3d1.png
delete mode 100644 public/emoji/1f3d2.png
delete mode 100644 public/emoji/1f3d3.png
delete mode 100644 public/emoji/1f3d4.png
delete mode 100644 public/emoji/1f3d5.png
delete mode 100644 public/emoji/1f3d6.png
delete mode 100644 public/emoji/1f3d7.png
delete mode 100644 public/emoji/1f3d8.png
delete mode 100644 public/emoji/1f3d9.png
delete mode 100644 public/emoji/1f3da.png
delete mode 100644 public/emoji/1f3db.png
delete mode 100644 public/emoji/1f3dc.png
delete mode 100644 public/emoji/1f3dd.png
delete mode 100644 public/emoji/1f3de.png
delete mode 100644 public/emoji/1f3df.png
delete mode 100644 public/emoji/1f3e0.png
delete mode 100644 public/emoji/1f3e1.png
delete mode 100644 public/emoji/1f3e2.png
delete mode 100644 public/emoji/1f3e3.png
delete mode 100644 public/emoji/1f3e4.png
delete mode 100644 public/emoji/1f3e5.png
delete mode 100644 public/emoji/1f3e6.png
delete mode 100644 public/emoji/1f3e7.png
delete mode 100644 public/emoji/1f3e8.png
delete mode 100644 public/emoji/1f3e9.png
delete mode 100644 public/emoji/1f3ea.png
delete mode 100644 public/emoji/1f3eb.png
delete mode 100644 public/emoji/1f3ec.png
delete mode 100644 public/emoji/1f3ed.png
delete mode 100644 public/emoji/1f3ee.png
delete mode 100644 public/emoji/1f3ef.png
delete mode 100644 public/emoji/1f3f0.png
delete mode 100644 public/emoji/1f3f3-1f308.png
delete mode 100644 public/emoji/1f3f3-1f308.svg
create mode 100644 public/emoji/1f3f3-fe0f-200d-1f308.svg
delete mode 100644 public/emoji/1f3f3.png
create mode 100644 public/emoji/1f3f4-200d-2620-fe0f.svg
create mode 100644 public/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg
create mode 100644 public/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg
create mode 100644 public/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg
delete mode 100644 public/emoji/1f3f4.png
delete mode 100644 public/emoji/1f3f5.png
delete mode 100644 public/emoji/1f3f7.png
delete mode 100644 public/emoji/1f3f8.png
delete mode 100644 public/emoji/1f3f9.png
delete mode 100644 public/emoji/1f3fa.png
delete mode 100644 public/emoji/1f3fb.png
delete mode 100644 public/emoji/1f3fc.png
delete mode 100644 public/emoji/1f3fd.png
delete mode 100644 public/emoji/1f3fe.png
delete mode 100644 public/emoji/1f3ff.png
delete mode 100644 public/emoji/1f400.png
delete mode 100644 public/emoji/1f401.png
delete mode 100644 public/emoji/1f402.png
delete mode 100644 public/emoji/1f403.png
delete mode 100644 public/emoji/1f404.png
delete mode 100644 public/emoji/1f405.png
delete mode 100644 public/emoji/1f406.png
delete mode 100644 public/emoji/1f407.png
delete mode 100644 public/emoji/1f408.png
delete mode 100644 public/emoji/1f409.png
delete mode 100644 public/emoji/1f40a.png
delete mode 100644 public/emoji/1f40b.png
delete mode 100644 public/emoji/1f40c.png
delete mode 100644 public/emoji/1f40d.png
delete mode 100644 public/emoji/1f40e.png
delete mode 100644 public/emoji/1f40f.png
delete mode 100644 public/emoji/1f410.png
delete mode 100644 public/emoji/1f411.png
delete mode 100644 public/emoji/1f412.png
delete mode 100644 public/emoji/1f413.png
delete mode 100644 public/emoji/1f414.png
delete mode 100644 public/emoji/1f415.png
delete mode 100644 public/emoji/1f416.png
delete mode 100644 public/emoji/1f417.png
delete mode 100644 public/emoji/1f418.png
delete mode 100644 public/emoji/1f419.png
delete mode 100644 public/emoji/1f41a.png
delete mode 100644 public/emoji/1f41b.png
delete mode 100644 public/emoji/1f41c.png
delete mode 100644 public/emoji/1f41d.png
delete mode 100644 public/emoji/1f41e.png
delete mode 100644 public/emoji/1f41f.png
delete mode 100644 public/emoji/1f420.png
delete mode 100644 public/emoji/1f421.png
delete mode 100644 public/emoji/1f422.png
delete mode 100644 public/emoji/1f423.png
delete mode 100644 public/emoji/1f424.png
delete mode 100644 public/emoji/1f425.png
delete mode 100644 public/emoji/1f426.png
delete mode 100644 public/emoji/1f427.png
delete mode 100644 public/emoji/1f428.png
delete mode 100644 public/emoji/1f429.png
delete mode 100644 public/emoji/1f42a.png
delete mode 100644 public/emoji/1f42b.png
delete mode 100644 public/emoji/1f42c.png
delete mode 100644 public/emoji/1f42d.png
delete mode 100644 public/emoji/1f42e.png
delete mode 100644 public/emoji/1f42f.png
delete mode 100644 public/emoji/1f430.png
delete mode 100644 public/emoji/1f431.png
delete mode 100644 public/emoji/1f432.png
delete mode 100644 public/emoji/1f433.png
delete mode 100644 public/emoji/1f434.png
delete mode 100644 public/emoji/1f435.png
delete mode 100644 public/emoji/1f436.png
delete mode 100644 public/emoji/1f437.png
delete mode 100644 public/emoji/1f438.png
delete mode 100644 public/emoji/1f439.png
delete mode 100644 public/emoji/1f43a.png
delete mode 100644 public/emoji/1f43b.png
delete mode 100644 public/emoji/1f43c.png
delete mode 100644 public/emoji/1f43d.png
delete mode 100644 public/emoji/1f43e.png
delete mode 100644 public/emoji/1f43f.png
delete mode 100644 public/emoji/1f440.png
delete mode 100644 public/emoji/1f441-1f5e8.png
delete mode 100644 public/emoji/1f441-1f5e8.svg
create mode 100644 public/emoji/1f441-200d-1f5e8.svg
delete mode 100644 public/emoji/1f441.png
delete mode 100644 public/emoji/1f442-1f3fb.png
delete mode 100644 public/emoji/1f442-1f3fc.png
delete mode 100644 public/emoji/1f442-1f3fd.png
delete mode 100644 public/emoji/1f442-1f3fe.png
delete mode 100644 public/emoji/1f442-1f3ff.png
delete mode 100644 public/emoji/1f442.png
delete mode 100644 public/emoji/1f443-1f3fb.png
delete mode 100644 public/emoji/1f443-1f3fc.png
delete mode 100644 public/emoji/1f443-1f3fd.png
delete mode 100644 public/emoji/1f443-1f3fe.png
delete mode 100644 public/emoji/1f443-1f3ff.png
delete mode 100644 public/emoji/1f443.png
delete mode 100644 public/emoji/1f444.png
delete mode 100644 public/emoji/1f445.png
delete mode 100644 public/emoji/1f446-1f3fb.png
delete mode 100644 public/emoji/1f446-1f3fc.png
delete mode 100644 public/emoji/1f446-1f3fd.png
delete mode 100644 public/emoji/1f446-1f3fe.png
delete mode 100644 public/emoji/1f446-1f3ff.png
delete mode 100644 public/emoji/1f446.png
delete mode 100644 public/emoji/1f447-1f3fb.png
delete mode 100644 public/emoji/1f447-1f3fc.png
delete mode 100644 public/emoji/1f447-1f3fd.png
delete mode 100644 public/emoji/1f447-1f3fe.png
delete mode 100644 public/emoji/1f447-1f3ff.png
delete mode 100644 public/emoji/1f447.png
delete mode 100644 public/emoji/1f448-1f3fb.png
delete mode 100644 public/emoji/1f448-1f3fc.png
delete mode 100644 public/emoji/1f448-1f3fd.png
delete mode 100644 public/emoji/1f448-1f3fe.png
delete mode 100644 public/emoji/1f448-1f3ff.png
delete mode 100644 public/emoji/1f448.png
delete mode 100644 public/emoji/1f449-1f3fb.png
delete mode 100644 public/emoji/1f449-1f3fc.png
delete mode 100644 public/emoji/1f449-1f3fd.png
delete mode 100644 public/emoji/1f449-1f3fe.png
delete mode 100644 public/emoji/1f449-1f3ff.png
delete mode 100644 public/emoji/1f449.png
delete mode 100644 public/emoji/1f44a-1f3fb.png
delete mode 100644 public/emoji/1f44a-1f3fc.png
delete mode 100644 public/emoji/1f44a-1f3fd.png
delete mode 100644 public/emoji/1f44a-1f3fe.png
delete mode 100644 public/emoji/1f44a-1f3ff.png
delete mode 100644 public/emoji/1f44a.png
delete mode 100644 public/emoji/1f44b-1f3fb.png
delete mode 100644 public/emoji/1f44b-1f3fc.png
delete mode 100644 public/emoji/1f44b-1f3fd.png
delete mode 100644 public/emoji/1f44b-1f3fe.png
delete mode 100644 public/emoji/1f44b-1f3ff.png
delete mode 100644 public/emoji/1f44b.png
delete mode 100644 public/emoji/1f44c-1f3fb.png
delete mode 100644 public/emoji/1f44c-1f3fc.png
delete mode 100644 public/emoji/1f44c-1f3fd.png
delete mode 100644 public/emoji/1f44c-1f3fe.png
delete mode 100644 public/emoji/1f44c-1f3ff.png
delete mode 100644 public/emoji/1f44c.png
delete mode 100644 public/emoji/1f44d-1f3fb.png
delete mode 100644 public/emoji/1f44d-1f3fc.png
delete mode 100644 public/emoji/1f44d-1f3fd.png
delete mode 100644 public/emoji/1f44d-1f3fe.png
delete mode 100644 public/emoji/1f44d-1f3ff.png
delete mode 100644 public/emoji/1f44d.png
delete mode 100644 public/emoji/1f44e-1f3fb.png
delete mode 100644 public/emoji/1f44e-1f3fc.png
delete mode 100644 public/emoji/1f44e-1f3fd.png
delete mode 100644 public/emoji/1f44e-1f3fe.png
delete mode 100644 public/emoji/1f44e-1f3ff.png
delete mode 100644 public/emoji/1f44e.png
delete mode 100644 public/emoji/1f44f-1f3fb.png
delete mode 100644 public/emoji/1f44f-1f3fc.png
delete mode 100644 public/emoji/1f44f-1f3fd.png
delete mode 100644 public/emoji/1f44f-1f3fe.png
delete mode 100644 public/emoji/1f44f-1f3ff.png
delete mode 100644 public/emoji/1f44f.png
delete mode 100644 public/emoji/1f450-1f3fb.png
delete mode 100644 public/emoji/1f450-1f3fc.png
delete mode 100644 public/emoji/1f450-1f3fd.png
delete mode 100644 public/emoji/1f450-1f3fe.png
delete mode 100644 public/emoji/1f450-1f3ff.png
delete mode 100644 public/emoji/1f450.png
delete mode 100644 public/emoji/1f451.png
delete mode 100644 public/emoji/1f452.png
delete mode 100644 public/emoji/1f453.png
delete mode 100644 public/emoji/1f454.png
delete mode 100644 public/emoji/1f455.png
delete mode 100644 public/emoji/1f456.png
delete mode 100644 public/emoji/1f457.png
delete mode 100644 public/emoji/1f458.png
delete mode 100644 public/emoji/1f459.png
delete mode 100644 public/emoji/1f45a.png
delete mode 100644 public/emoji/1f45b.png
delete mode 100644 public/emoji/1f45c.png
delete mode 100644 public/emoji/1f45d.png
delete mode 100644 public/emoji/1f45e.png
delete mode 100644 public/emoji/1f45f.png
delete mode 100644 public/emoji/1f460.png
delete mode 100644 public/emoji/1f461.png
delete mode 100644 public/emoji/1f462.png
delete mode 100644 public/emoji/1f463.png
delete mode 100644 public/emoji/1f464.png
delete mode 100644 public/emoji/1f465.png
delete mode 100644 public/emoji/1f466-1f3fb.png
delete mode 100644 public/emoji/1f466-1f3fc.png
delete mode 100644 public/emoji/1f466-1f3fd.png
delete mode 100644 public/emoji/1f466-1f3fe.png
delete mode 100644 public/emoji/1f466-1f3ff.png
delete mode 100644 public/emoji/1f466.png
delete mode 100644 public/emoji/1f467-1f3fb.png
delete mode 100644 public/emoji/1f467-1f3fc.png
delete mode 100644 public/emoji/1f467-1f3fd.png
delete mode 100644 public/emoji/1f467-1f3fe.png
delete mode 100644 public/emoji/1f467-1f3ff.png
delete mode 100644 public/emoji/1f467.png
create mode 100644 public/emoji/1f468-1f3fb-200d-1f33e.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f373.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f393.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f527.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f52c.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f680.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-1f692.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fb-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f468-1f3fb.png
create mode 100644 public/emoji/1f468-1f3fc-200d-1f33e.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f373.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f393.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f527.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f52c.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f680.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-1f692.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fc-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f468-1f3fc.png
create mode 100644 public/emoji/1f468-1f3fd-200d-1f33e.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f373.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f393.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f527.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f52c.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f680.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-1f692.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fd-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f468-1f3fd.png
create mode 100644 public/emoji/1f468-1f3fe-200d-1f33e.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f373.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f393.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f527.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f52c.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f680.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-1f692.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-1f3fe-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f468-1f3fe.png
create mode 100644 public/emoji/1f468-1f3ff-200d-1f33e.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f373.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f393.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f527.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f52c.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f680.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-1f692.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-1f3ff-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f468-1f3ff.png
delete mode 100644 public/emoji/1f468-1f468-1f466-1f466.png
delete mode 100644 public/emoji/1f468-1f468-1f466-1f466.svg
delete mode 100644 public/emoji/1f468-1f468-1f466.png
delete mode 100644 public/emoji/1f468-1f468-1f466.svg
delete mode 100644 public/emoji/1f468-1f468-1f467-1f466.png
delete mode 100644 public/emoji/1f468-1f468-1f467-1f466.svg
delete mode 100644 public/emoji/1f468-1f468-1f467-1f467.png
delete mode 100644 public/emoji/1f468-1f468-1f467-1f467.svg
delete mode 100644 public/emoji/1f468-1f468-1f467.png
delete mode 100644 public/emoji/1f468-1f468-1f467.svg
delete mode 100644 public/emoji/1f468-1f469-1f466-1f466.png
delete mode 100644 public/emoji/1f468-1f469-1f466-1f466.svg
delete mode 100644 public/emoji/1f468-1f469-1f467-1f466.png
delete mode 100644 public/emoji/1f468-1f469-1f467-1f466.svg
delete mode 100644 public/emoji/1f468-1f469-1f467-1f467.png
delete mode 100644 public/emoji/1f468-1f469-1f467-1f467.svg
delete mode 100644 public/emoji/1f468-1f469-1f467.png
delete mode 100644 public/emoji/1f468-1f469-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f33e.svg
create mode 100644 public/emoji/1f468-200d-1f373.svg
create mode 100644 public/emoji/1f468-200d-1f393.svg
create mode 100644 public/emoji/1f468-200d-1f3a4.svg
create mode 100644 public/emoji/1f468-200d-1f3a8.svg
create mode 100644 public/emoji/1f468-200d-1f3eb.svg
create mode 100644 public/emoji/1f468-200d-1f3ed.svg
create mode 100644 public/emoji/1f468-200d-1f466-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f467-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f467-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f468-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f468-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f469-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg
create mode 100644 public/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f469-200d-1f467.svg
create mode 100644 public/emoji/1f468-200d-1f4bb.svg
create mode 100644 public/emoji/1f468-200d-1f4bc.svg
create mode 100644 public/emoji/1f468-200d-1f527.svg
create mode 100644 public/emoji/1f468-200d-1f52c.svg
create mode 100644 public/emoji/1f468-200d-1f680.svg
create mode 100644 public/emoji/1f468-200d-1f692.svg
create mode 100644 public/emoji/1f468-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f468-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f468-200d-2708-fe0f.svg
create mode 100644 public/emoji/1f468-200d-2764-fe0f-200d-1f468.svg
create mode 100644 public/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
delete mode 100644 public/emoji/1f468-2764-1f468.png
delete mode 100644 public/emoji/1f468-2764-1f468.svg
delete mode 100644 public/emoji/1f468-2764-1f48b-1f468.png
delete mode 100644 public/emoji/1f468-2764-1f48b-1f468.svg
delete mode 100644 public/emoji/1f468.png
create mode 100644 public/emoji/1f469-1f3fb-200d-1f33e.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f373.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f393.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f527.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f52c.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f680.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-1f692.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fb-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f469-1f3fb.png
create mode 100644 public/emoji/1f469-1f3fc-200d-1f33e.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f373.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f393.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f527.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f52c.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f680.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-1f692.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fc-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f469-1f3fc.png
create mode 100644 public/emoji/1f469-1f3fd-200d-1f33e.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f373.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f393.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f527.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f52c.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f680.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-1f692.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fd-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f469-1f3fd.png
create mode 100644 public/emoji/1f469-1f3fe-200d-1f33e.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f373.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f393.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f527.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f52c.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f680.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-1f692.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-1f3fe-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f469-1f3fe.png
create mode 100644 public/emoji/1f469-1f3ff-200d-1f33e.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f373.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f393.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f527.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f52c.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f680.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-1f692.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-1f3ff-200d-2708-fe0f.svg
delete mode 100644 public/emoji/1f469-1f3ff.png
delete mode 100644 public/emoji/1f469-1f469-1f466-1f466.png
delete mode 100644 public/emoji/1f469-1f469-1f466-1f466.svg
delete mode 100644 public/emoji/1f469-1f469-1f466.png
delete mode 100644 public/emoji/1f469-1f469-1f466.svg
delete mode 100644 public/emoji/1f469-1f469-1f467-1f466.png
delete mode 100644 public/emoji/1f469-1f469-1f467-1f466.svg
delete mode 100644 public/emoji/1f469-1f469-1f467-1f467.png
delete mode 100644 public/emoji/1f469-1f469-1f467-1f467.svg
delete mode 100644 public/emoji/1f469-1f469-1f467.png
delete mode 100644 public/emoji/1f469-1f469-1f467.svg
create mode 100644 public/emoji/1f469-200d-1f33e.svg
create mode 100644 public/emoji/1f469-200d-1f373.svg
create mode 100644 public/emoji/1f469-200d-1f393.svg
create mode 100644 public/emoji/1f469-200d-1f3a4.svg
create mode 100644 public/emoji/1f469-200d-1f3a8.svg
create mode 100644 public/emoji/1f469-200d-1f3eb.svg
create mode 100644 public/emoji/1f469-200d-1f3ed.svg
create mode 100644 public/emoji/1f469-200d-1f466-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f467-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f467-200d-1f467.svg
create mode 100644 public/emoji/1f469-200d-1f467.svg
create mode 100644 public/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f469-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg
create mode 100644 public/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg
create mode 100644 public/emoji/1f469-200d-1f469-200d-1f467.svg
create mode 100644 public/emoji/1f469-200d-1f4bb.svg
create mode 100644 public/emoji/1f469-200d-1f4bc.svg
create mode 100644 public/emoji/1f469-200d-1f527.svg
create mode 100644 public/emoji/1f469-200d-1f52c.svg
create mode 100644 public/emoji/1f469-200d-1f680.svg
create mode 100644 public/emoji/1f469-200d-1f692.svg
create mode 100644 public/emoji/1f469-200d-2695-fe0f.svg
create mode 100644 public/emoji/1f469-200d-2696-fe0f.svg
create mode 100644 public/emoji/1f469-200d-2708-fe0f.svg
create mode 100644 public/emoji/1f469-200d-2764-fe0f-200d-1f468.svg
create mode 100644 public/emoji/1f469-200d-2764-fe0f-200d-1f469.svg
create mode 100644 public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
create mode 100644 public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg
delete mode 100644 public/emoji/1f469-2764-1f469.png
delete mode 100644 public/emoji/1f469-2764-1f469.svg
delete mode 100644 public/emoji/1f469-2764-1f48b-1f469.png
delete mode 100644 public/emoji/1f469-2764-1f48b-1f469.svg
delete mode 100644 public/emoji/1f469.png
delete mode 100644 public/emoji/1f46a.png
delete mode 100644 public/emoji/1f46b.png
delete mode 100644 public/emoji/1f46c.png
delete mode 100644 public/emoji/1f46d.png
create mode 100644 public/emoji/1f46e-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e-1f3fb.png
create mode 100644 public/emoji/1f46e-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e-1f3fc.png
create mode 100644 public/emoji/1f46e-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e-1f3fd.png
create mode 100644 public/emoji/1f46e-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e-1f3fe.png
create mode 100644 public/emoji/1f46e-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e-1f3ff.png
create mode 100644 public/emoji/1f46e-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46e-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46e.png
create mode 100644 public/emoji/1f46f-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f46f-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f46f.png
delete mode 100644 public/emoji/1f470-1f3fb.png
delete mode 100644 public/emoji/1f470-1f3fc.png
delete mode 100644 public/emoji/1f470-1f3fd.png
delete mode 100644 public/emoji/1f470-1f3fe.png
delete mode 100644 public/emoji/1f470-1f3ff.png
delete mode 100644 public/emoji/1f470.png
create mode 100644 public/emoji/1f471-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471-1f3fb.png
create mode 100644 public/emoji/1f471-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471-1f3fc.png
create mode 100644 public/emoji/1f471-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471-1f3fd.png
create mode 100644 public/emoji/1f471-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471-1f3fe.png
create mode 100644 public/emoji/1f471-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471-1f3ff.png
create mode 100644 public/emoji/1f471-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f471-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f471.png
delete mode 100644 public/emoji/1f472-1f3fb.png
delete mode 100644 public/emoji/1f472-1f3fc.png
delete mode 100644 public/emoji/1f472-1f3fd.png
delete mode 100644 public/emoji/1f472-1f3fe.png
delete mode 100644 public/emoji/1f472-1f3ff.png
delete mode 100644 public/emoji/1f472.png
create mode 100644 public/emoji/1f473-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473-1f3fb.png
create mode 100644 public/emoji/1f473-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473-1f3fc.png
create mode 100644 public/emoji/1f473-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473-1f3fd.png
create mode 100644 public/emoji/1f473-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473-1f3fe.png
create mode 100644 public/emoji/1f473-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473-1f3ff.png
create mode 100644 public/emoji/1f473-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f473-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f473.png
delete mode 100644 public/emoji/1f474-1f3fb.png
delete mode 100644 public/emoji/1f474-1f3fc.png
delete mode 100644 public/emoji/1f474-1f3fd.png
delete mode 100644 public/emoji/1f474-1f3fe.png
delete mode 100644 public/emoji/1f474-1f3ff.png
delete mode 100644 public/emoji/1f474.png
delete mode 100644 public/emoji/1f475-1f3fb.png
delete mode 100644 public/emoji/1f475-1f3fc.png
delete mode 100644 public/emoji/1f475-1f3fd.png
delete mode 100644 public/emoji/1f475-1f3fe.png
delete mode 100644 public/emoji/1f475-1f3ff.png
delete mode 100644 public/emoji/1f475.png
delete mode 100644 public/emoji/1f476-1f3fb.png
delete mode 100644 public/emoji/1f476-1f3fc.png
delete mode 100644 public/emoji/1f476-1f3fd.png
delete mode 100644 public/emoji/1f476-1f3fe.png
delete mode 100644 public/emoji/1f476-1f3ff.png
delete mode 100644 public/emoji/1f476.png
create mode 100644 public/emoji/1f477-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477-1f3fb.png
create mode 100644 public/emoji/1f477-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477-1f3fc.png
create mode 100644 public/emoji/1f477-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477-1f3fd.png
create mode 100644 public/emoji/1f477-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477-1f3fe.png
create mode 100644 public/emoji/1f477-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477-1f3ff.png
create mode 100644 public/emoji/1f477-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f477-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f477.png
delete mode 100644 public/emoji/1f478-1f3fb.png
delete mode 100644 public/emoji/1f478-1f3fc.png
delete mode 100644 public/emoji/1f478-1f3fd.png
delete mode 100644 public/emoji/1f478-1f3fe.png
delete mode 100644 public/emoji/1f478-1f3ff.png
delete mode 100644 public/emoji/1f478.png
delete mode 100644 public/emoji/1f479.png
delete mode 100644 public/emoji/1f47a.png
delete mode 100644 public/emoji/1f47b.png
delete mode 100644 public/emoji/1f47c-1f3fb.png
delete mode 100644 public/emoji/1f47c-1f3fc.png
delete mode 100644 public/emoji/1f47c-1f3fd.png
delete mode 100644 public/emoji/1f47c-1f3fe.png
delete mode 100644 public/emoji/1f47c-1f3ff.png
delete mode 100644 public/emoji/1f47c.png
delete mode 100644 public/emoji/1f47d.png
delete mode 100644 public/emoji/1f47e.png
delete mode 100644 public/emoji/1f47f.png
delete mode 100644 public/emoji/1f480.png
create mode 100644 public/emoji/1f481-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481-1f3fb.png
create mode 100644 public/emoji/1f481-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481-1f3fc.png
create mode 100644 public/emoji/1f481-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481-1f3fd.png
create mode 100644 public/emoji/1f481-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481-1f3fe.png
create mode 100644 public/emoji/1f481-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481-1f3ff.png
create mode 100644 public/emoji/1f481-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f481-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f481.png
create mode 100644 public/emoji/1f482-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482-1f3fb.png
create mode 100644 public/emoji/1f482-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482-1f3fc.png
create mode 100644 public/emoji/1f482-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482-1f3fd.png
create mode 100644 public/emoji/1f482-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482-1f3fe.png
create mode 100644 public/emoji/1f482-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482-1f3ff.png
create mode 100644 public/emoji/1f482-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f482-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f482.png
delete mode 100644 public/emoji/1f483-1f3fb.png
delete mode 100644 public/emoji/1f483-1f3fc.png
delete mode 100644 public/emoji/1f483-1f3fd.png
delete mode 100644 public/emoji/1f483-1f3fe.png
delete mode 100644 public/emoji/1f483-1f3ff.png
delete mode 100644 public/emoji/1f483.png
delete mode 100644 public/emoji/1f484.png
delete mode 100644 public/emoji/1f485-1f3fb.png
delete mode 100644 public/emoji/1f485-1f3fc.png
delete mode 100644 public/emoji/1f485-1f3fd.png
delete mode 100644 public/emoji/1f485-1f3fe.png
delete mode 100644 public/emoji/1f485-1f3ff.png
delete mode 100644 public/emoji/1f485.png
create mode 100644 public/emoji/1f486-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486-1f3fb.png
create mode 100644 public/emoji/1f486-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486-1f3fc.png
create mode 100644 public/emoji/1f486-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486-1f3fd.png
create mode 100644 public/emoji/1f486-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486-1f3fe.png
create mode 100644 public/emoji/1f486-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486-1f3ff.png
create mode 100644 public/emoji/1f486-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f486-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f486.png
create mode 100644 public/emoji/1f487-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487-1f3fb.png
create mode 100644 public/emoji/1f487-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487-1f3fc.png
create mode 100644 public/emoji/1f487-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487-1f3fd.png
create mode 100644 public/emoji/1f487-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487-1f3fe.png
create mode 100644 public/emoji/1f487-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487-1f3ff.png
create mode 100644 public/emoji/1f487-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f487-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f487.png
delete mode 100644 public/emoji/1f488.png
delete mode 100644 public/emoji/1f489.png
delete mode 100644 public/emoji/1f48a.png
delete mode 100644 public/emoji/1f48b.png
delete mode 100644 public/emoji/1f48c.png
delete mode 100644 public/emoji/1f48d.png
delete mode 100644 public/emoji/1f48e.png
delete mode 100644 public/emoji/1f48f.png
delete mode 100644 public/emoji/1f490.png
delete mode 100644 public/emoji/1f491.png
delete mode 100644 public/emoji/1f492.png
delete mode 100644 public/emoji/1f493.png
delete mode 100644 public/emoji/1f494.png
delete mode 100644 public/emoji/1f495.png
delete mode 100644 public/emoji/1f496.png
delete mode 100644 public/emoji/1f497.png
delete mode 100644 public/emoji/1f498.png
delete mode 100644 public/emoji/1f499.png
delete mode 100644 public/emoji/1f49a.png
delete mode 100644 public/emoji/1f49b.png
delete mode 100644 public/emoji/1f49c.png
delete mode 100644 public/emoji/1f49d.png
delete mode 100644 public/emoji/1f49e.png
delete mode 100644 public/emoji/1f49f.png
delete mode 100644 public/emoji/1f4a0.png
delete mode 100644 public/emoji/1f4a1.png
delete mode 100644 public/emoji/1f4a2.png
delete mode 100644 public/emoji/1f4a3.png
delete mode 100644 public/emoji/1f4a4.png
delete mode 100644 public/emoji/1f4a5.png
delete mode 100644 public/emoji/1f4a6.png
delete mode 100644 public/emoji/1f4a7.png
delete mode 100644 public/emoji/1f4a8.png
delete mode 100644 public/emoji/1f4a9.png
delete mode 100644 public/emoji/1f4aa-1f3fb.png
delete mode 100644 public/emoji/1f4aa-1f3fc.png
delete mode 100644 public/emoji/1f4aa-1f3fd.png
delete mode 100644 public/emoji/1f4aa-1f3fe.png
delete mode 100644 public/emoji/1f4aa-1f3ff.png
delete mode 100644 public/emoji/1f4aa.png
delete mode 100644 public/emoji/1f4ab.png
delete mode 100644 public/emoji/1f4ac.png
delete mode 100644 public/emoji/1f4ad.png
delete mode 100644 public/emoji/1f4ae.png
delete mode 100644 public/emoji/1f4af.png
delete mode 100644 public/emoji/1f4b0.png
delete mode 100644 public/emoji/1f4b1.png
delete mode 100644 public/emoji/1f4b2.png
delete mode 100644 public/emoji/1f4b3.png
delete mode 100644 public/emoji/1f4b4.png
delete mode 100644 public/emoji/1f4b5.png
delete mode 100644 public/emoji/1f4b6.png
delete mode 100644 public/emoji/1f4b7.png
delete mode 100644 public/emoji/1f4b8.png
delete mode 100644 public/emoji/1f4b9.png
delete mode 100644 public/emoji/1f4ba.png
delete mode 100644 public/emoji/1f4bb.png
delete mode 100644 public/emoji/1f4bc.png
delete mode 100644 public/emoji/1f4bd.png
delete mode 100644 public/emoji/1f4be.png
delete mode 100644 public/emoji/1f4bf.png
delete mode 100644 public/emoji/1f4c0.png
delete mode 100644 public/emoji/1f4c1.png
delete mode 100644 public/emoji/1f4c2.png
delete mode 100644 public/emoji/1f4c3.png
delete mode 100644 public/emoji/1f4c4.png
delete mode 100644 public/emoji/1f4c5.png
delete mode 100644 public/emoji/1f4c6.png
delete mode 100644 public/emoji/1f4c7.png
delete mode 100644 public/emoji/1f4c8.png
delete mode 100644 public/emoji/1f4c9.png
delete mode 100644 public/emoji/1f4ca.png
delete mode 100644 public/emoji/1f4cb.png
delete mode 100644 public/emoji/1f4cc.png
delete mode 100644 public/emoji/1f4cd.png
delete mode 100644 public/emoji/1f4ce.png
delete mode 100644 public/emoji/1f4cf.png
delete mode 100644 public/emoji/1f4d0.png
delete mode 100644 public/emoji/1f4d1.png
delete mode 100644 public/emoji/1f4d2.png
delete mode 100644 public/emoji/1f4d3.png
delete mode 100644 public/emoji/1f4d4.png
delete mode 100644 public/emoji/1f4d5.png
delete mode 100644 public/emoji/1f4d6.png
delete mode 100644 public/emoji/1f4d7.png
delete mode 100644 public/emoji/1f4d8.png
delete mode 100644 public/emoji/1f4d9.png
delete mode 100644 public/emoji/1f4da.png
delete mode 100644 public/emoji/1f4db.png
delete mode 100644 public/emoji/1f4dc.png
delete mode 100644 public/emoji/1f4dd.png
delete mode 100644 public/emoji/1f4de.png
delete mode 100644 public/emoji/1f4df.png
delete mode 100644 public/emoji/1f4e0.png
delete mode 100644 public/emoji/1f4e1.png
delete mode 100644 public/emoji/1f4e2.png
delete mode 100644 public/emoji/1f4e3.png
delete mode 100644 public/emoji/1f4e4.png
delete mode 100644 public/emoji/1f4e5.png
delete mode 100644 public/emoji/1f4e6.png
delete mode 100644 public/emoji/1f4e7.png
delete mode 100644 public/emoji/1f4e8.png
delete mode 100644 public/emoji/1f4e9.png
delete mode 100644 public/emoji/1f4ea.png
delete mode 100644 public/emoji/1f4eb.png
delete mode 100644 public/emoji/1f4ec.png
delete mode 100644 public/emoji/1f4ed.png
delete mode 100644 public/emoji/1f4ee.png
delete mode 100644 public/emoji/1f4ef.png
delete mode 100644 public/emoji/1f4f0.png
delete mode 100644 public/emoji/1f4f1.png
delete mode 100644 public/emoji/1f4f2.png
delete mode 100644 public/emoji/1f4f3.png
delete mode 100644 public/emoji/1f4f4.png
delete mode 100644 public/emoji/1f4f5.png
delete mode 100644 public/emoji/1f4f6.png
delete mode 100644 public/emoji/1f4f7.png
delete mode 100644 public/emoji/1f4f8.png
delete mode 100644 public/emoji/1f4f9.png
delete mode 100644 public/emoji/1f4fa.png
delete mode 100644 public/emoji/1f4fb.png
delete mode 100644 public/emoji/1f4fc.png
delete mode 100644 public/emoji/1f4fd.png
delete mode 100644 public/emoji/1f4ff.png
delete mode 100644 public/emoji/1f500.png
delete mode 100644 public/emoji/1f501.png
delete mode 100644 public/emoji/1f502.png
delete mode 100644 public/emoji/1f503.png
delete mode 100644 public/emoji/1f504.png
delete mode 100644 public/emoji/1f505.png
delete mode 100644 public/emoji/1f506.png
delete mode 100644 public/emoji/1f507.png
delete mode 100644 public/emoji/1f508.png
delete mode 100644 public/emoji/1f509.png
delete mode 100644 public/emoji/1f50a.png
delete mode 100644 public/emoji/1f50b.png
delete mode 100644 public/emoji/1f50c.png
delete mode 100644 public/emoji/1f50d.png
delete mode 100644 public/emoji/1f50e.png
delete mode 100644 public/emoji/1f50f.png
delete mode 100644 public/emoji/1f510.png
delete mode 100644 public/emoji/1f511.png
delete mode 100644 public/emoji/1f512.png
delete mode 100644 public/emoji/1f513.png
delete mode 100644 public/emoji/1f514.png
delete mode 100644 public/emoji/1f515.png
delete mode 100644 public/emoji/1f516.png
delete mode 100644 public/emoji/1f517.png
delete mode 100644 public/emoji/1f518.png
delete mode 100644 public/emoji/1f519.png
delete mode 100644 public/emoji/1f51a.png
delete mode 100644 public/emoji/1f51b.png
delete mode 100644 public/emoji/1f51c.png
delete mode 100644 public/emoji/1f51d.png
delete mode 100644 public/emoji/1f51e.png
delete mode 100644 public/emoji/1f51f.png
delete mode 100644 public/emoji/1f520.png
delete mode 100644 public/emoji/1f521.png
delete mode 100644 public/emoji/1f522.png
delete mode 100644 public/emoji/1f523.png
delete mode 100644 public/emoji/1f524.png
delete mode 100644 public/emoji/1f525.png
delete mode 100644 public/emoji/1f526.png
delete mode 100644 public/emoji/1f527.png
delete mode 100644 public/emoji/1f528.png
delete mode 100644 public/emoji/1f529.png
delete mode 100644 public/emoji/1f52a.png
delete mode 100644 public/emoji/1f52b.png
delete mode 100644 public/emoji/1f52c.png
delete mode 100644 public/emoji/1f52d.png
delete mode 100644 public/emoji/1f52e.png
delete mode 100644 public/emoji/1f52f.png
delete mode 100644 public/emoji/1f530.png
delete mode 100644 public/emoji/1f531.png
delete mode 100644 public/emoji/1f532.png
delete mode 100644 public/emoji/1f533.png
delete mode 100644 public/emoji/1f534.png
delete mode 100644 public/emoji/1f535.png
delete mode 100644 public/emoji/1f536.png
delete mode 100644 public/emoji/1f537.png
delete mode 100644 public/emoji/1f538.png
delete mode 100644 public/emoji/1f539.png
delete mode 100644 public/emoji/1f53a.png
delete mode 100644 public/emoji/1f53b.png
delete mode 100644 public/emoji/1f53c.png
delete mode 100644 public/emoji/1f53d.png
delete mode 100644 public/emoji/1f549.png
delete mode 100644 public/emoji/1f54a.png
delete mode 100644 public/emoji/1f54b.png
delete mode 100644 public/emoji/1f54c.png
delete mode 100644 public/emoji/1f54d.png
delete mode 100644 public/emoji/1f54e.png
delete mode 100644 public/emoji/1f550.png
delete mode 100644 public/emoji/1f551.png
delete mode 100644 public/emoji/1f552.png
delete mode 100644 public/emoji/1f553.png
delete mode 100644 public/emoji/1f554.png
delete mode 100644 public/emoji/1f555.png
delete mode 100644 public/emoji/1f556.png
delete mode 100644 public/emoji/1f557.png
delete mode 100644 public/emoji/1f558.png
delete mode 100644 public/emoji/1f559.png
delete mode 100644 public/emoji/1f55a.png
delete mode 100644 public/emoji/1f55b.png
delete mode 100644 public/emoji/1f55c.png
delete mode 100644 public/emoji/1f55d.png
delete mode 100644 public/emoji/1f55e.png
delete mode 100644 public/emoji/1f55f.png
delete mode 100644 public/emoji/1f560.png
delete mode 100644 public/emoji/1f561.png
delete mode 100644 public/emoji/1f562.png
delete mode 100644 public/emoji/1f563.png
delete mode 100644 public/emoji/1f564.png
delete mode 100644 public/emoji/1f565.png
delete mode 100644 public/emoji/1f566.png
delete mode 100644 public/emoji/1f567.png
delete mode 100644 public/emoji/1f56f.png
delete mode 100644 public/emoji/1f570.png
delete mode 100644 public/emoji/1f573.png
create mode 100644 public/emoji/1f574-1f3fb.svg
create mode 100644 public/emoji/1f574-1f3fc.svg
create mode 100644 public/emoji/1f574-1f3fd.svg
create mode 100644 public/emoji/1f574-1f3fe.svg
create mode 100644 public/emoji/1f574-1f3ff.svg
delete mode 100644 public/emoji/1f574.png
create mode 100644 public/emoji/1f575-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575-1f3fb.png
create mode 100644 public/emoji/1f575-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575-1f3fc.png
create mode 100644 public/emoji/1f575-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575-1f3fd.png
create mode 100644 public/emoji/1f575-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575-1f3fe.png
create mode 100644 public/emoji/1f575-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575-1f3ff.png
create mode 100644 public/emoji/1f575-fe0f-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f575-fe0f-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f575.png
delete mode 100644 public/emoji/1f576.png
delete mode 100644 public/emoji/1f577.png
delete mode 100644 public/emoji/1f578.png
delete mode 100644 public/emoji/1f579.png
delete mode 100644 public/emoji/1f57a-1f3fb.png
delete mode 100644 public/emoji/1f57a-1f3fc.png
delete mode 100644 public/emoji/1f57a-1f3fd.png
delete mode 100644 public/emoji/1f57a-1f3fe.png
delete mode 100644 public/emoji/1f57a-1f3ff.png
delete mode 100644 public/emoji/1f57a.png
delete mode 100644 public/emoji/1f587.png
delete mode 100644 public/emoji/1f58a.png
delete mode 100644 public/emoji/1f58b.png
delete mode 100644 public/emoji/1f58c.png
delete mode 100644 public/emoji/1f58d.png
delete mode 100644 public/emoji/1f590-1f3fb.png
delete mode 100644 public/emoji/1f590-1f3fc.png
delete mode 100644 public/emoji/1f590-1f3fd.png
delete mode 100644 public/emoji/1f590-1f3fe.png
delete mode 100644 public/emoji/1f590-1f3ff.png
delete mode 100644 public/emoji/1f590.png
delete mode 100644 public/emoji/1f595-1f3fb.png
delete mode 100644 public/emoji/1f595-1f3fc.png
delete mode 100644 public/emoji/1f595-1f3fd.png
delete mode 100644 public/emoji/1f595-1f3fe.png
delete mode 100644 public/emoji/1f595-1f3ff.png
delete mode 100644 public/emoji/1f595.png
delete mode 100644 public/emoji/1f596-1f3fb.png
delete mode 100644 public/emoji/1f596-1f3fc.png
delete mode 100644 public/emoji/1f596-1f3fd.png
delete mode 100644 public/emoji/1f596-1f3fe.png
delete mode 100644 public/emoji/1f596-1f3ff.png
delete mode 100644 public/emoji/1f596.png
delete mode 100644 public/emoji/1f5a4.png
delete mode 100644 public/emoji/1f5a5.png
delete mode 100644 public/emoji/1f5a8.png
delete mode 100644 public/emoji/1f5b1.png
delete mode 100644 public/emoji/1f5b2.png
delete mode 100644 public/emoji/1f5bc.png
delete mode 100644 public/emoji/1f5c2.png
delete mode 100644 public/emoji/1f5c3.png
delete mode 100644 public/emoji/1f5c4.png
delete mode 100644 public/emoji/1f5d1.png
delete mode 100644 public/emoji/1f5d2.png
delete mode 100644 public/emoji/1f5d3.png
delete mode 100644 public/emoji/1f5dc.png
delete mode 100644 public/emoji/1f5dd.png
delete mode 100644 public/emoji/1f5de.png
delete mode 100644 public/emoji/1f5e1.png
delete mode 100644 public/emoji/1f5e3.png
delete mode 100644 public/emoji/1f5e8.png
delete mode 100644 public/emoji/1f5ef.png
delete mode 100644 public/emoji/1f5f3.png
delete mode 100644 public/emoji/1f5fa.png
delete mode 100644 public/emoji/1f5fb.png
delete mode 100644 public/emoji/1f5fc.png
delete mode 100644 public/emoji/1f5fd.png
delete mode 100644 public/emoji/1f5fe.png
delete mode 100644 public/emoji/1f5ff.png
delete mode 100644 public/emoji/1f600.png
delete mode 100644 public/emoji/1f601.png
delete mode 100644 public/emoji/1f602.png
delete mode 100644 public/emoji/1f603.png
delete mode 100644 public/emoji/1f604.png
delete mode 100644 public/emoji/1f605.png
delete mode 100644 public/emoji/1f606.png
delete mode 100644 public/emoji/1f607.png
delete mode 100644 public/emoji/1f608.png
delete mode 100644 public/emoji/1f609.png
delete mode 100644 public/emoji/1f60a.png
delete mode 100644 public/emoji/1f60b.png
delete mode 100644 public/emoji/1f60c.png
delete mode 100644 public/emoji/1f60d.png
delete mode 100644 public/emoji/1f60e.png
delete mode 100644 public/emoji/1f60f.png
delete mode 100644 public/emoji/1f610.png
delete mode 100644 public/emoji/1f611.png
delete mode 100644 public/emoji/1f612.png
delete mode 100644 public/emoji/1f613.png
delete mode 100644 public/emoji/1f614.png
delete mode 100644 public/emoji/1f615.png
delete mode 100644 public/emoji/1f616.png
delete mode 100644 public/emoji/1f617.png
delete mode 100644 public/emoji/1f618.png
delete mode 100644 public/emoji/1f619.png
delete mode 100644 public/emoji/1f61a.png
delete mode 100644 public/emoji/1f61b.png
delete mode 100644 public/emoji/1f61c.png
delete mode 100644 public/emoji/1f61d.png
delete mode 100644 public/emoji/1f61e.png
delete mode 100644 public/emoji/1f61f.png
delete mode 100644 public/emoji/1f620.png
delete mode 100644 public/emoji/1f621.png
delete mode 100644 public/emoji/1f622.png
delete mode 100644 public/emoji/1f623.png
delete mode 100644 public/emoji/1f624.png
delete mode 100644 public/emoji/1f625.png
delete mode 100644 public/emoji/1f626.png
delete mode 100644 public/emoji/1f627.png
delete mode 100644 public/emoji/1f628.png
delete mode 100644 public/emoji/1f629.png
delete mode 100644 public/emoji/1f62a.png
delete mode 100644 public/emoji/1f62b.png
delete mode 100644 public/emoji/1f62c.png
delete mode 100644 public/emoji/1f62d.png
delete mode 100644 public/emoji/1f62e.png
delete mode 100644 public/emoji/1f62f.png
delete mode 100644 public/emoji/1f630.png
delete mode 100644 public/emoji/1f631.png
delete mode 100644 public/emoji/1f632.png
delete mode 100644 public/emoji/1f633.png
delete mode 100644 public/emoji/1f634.png
delete mode 100644 public/emoji/1f635.png
delete mode 100644 public/emoji/1f636.png
delete mode 100644 public/emoji/1f637.png
delete mode 100644 public/emoji/1f638.png
delete mode 100644 public/emoji/1f639.png
delete mode 100644 public/emoji/1f63a.png
delete mode 100644 public/emoji/1f63b.png
delete mode 100644 public/emoji/1f63c.png
delete mode 100644 public/emoji/1f63d.png
delete mode 100644 public/emoji/1f63e.png
delete mode 100644 public/emoji/1f63f.png
delete mode 100644 public/emoji/1f640.png
delete mode 100644 public/emoji/1f641.png
delete mode 100644 public/emoji/1f642.png
delete mode 100644 public/emoji/1f643.png
delete mode 100644 public/emoji/1f644.png
create mode 100644 public/emoji/1f645-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645-1f3fb.png
create mode 100644 public/emoji/1f645-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645-1f3fc.png
create mode 100644 public/emoji/1f645-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645-1f3fd.png
create mode 100644 public/emoji/1f645-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645-1f3fe.png
create mode 100644 public/emoji/1f645-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645-1f3ff.png
create mode 100644 public/emoji/1f645-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f645-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f645.png
create mode 100644 public/emoji/1f646-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646-1f3fb.png
create mode 100644 public/emoji/1f646-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646-1f3fc.png
create mode 100644 public/emoji/1f646-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646-1f3fd.png
create mode 100644 public/emoji/1f646-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646-1f3fe.png
create mode 100644 public/emoji/1f646-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646-1f3ff.png
create mode 100644 public/emoji/1f646-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f646-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f646.png
create mode 100644 public/emoji/1f647-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647-1f3fb.png
create mode 100644 public/emoji/1f647-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647-1f3fc.png
create mode 100644 public/emoji/1f647-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647-1f3fd.png
create mode 100644 public/emoji/1f647-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647-1f3fe.png
create mode 100644 public/emoji/1f647-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647-1f3ff.png
create mode 100644 public/emoji/1f647-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f647-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f647.png
delete mode 100644 public/emoji/1f648.png
delete mode 100644 public/emoji/1f649.png
delete mode 100644 public/emoji/1f64a.png
create mode 100644 public/emoji/1f64b-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b-1f3fb.png
create mode 100644 public/emoji/1f64b-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b-1f3fc.png
create mode 100644 public/emoji/1f64b-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b-1f3fd.png
create mode 100644 public/emoji/1f64b-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b-1f3fe.png
create mode 100644 public/emoji/1f64b-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b-1f3ff.png
create mode 100644 public/emoji/1f64b-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64b-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64b.png
delete mode 100644 public/emoji/1f64c-1f3fb.png
delete mode 100644 public/emoji/1f64c-1f3fc.png
delete mode 100644 public/emoji/1f64c-1f3fd.png
delete mode 100644 public/emoji/1f64c-1f3fe.png
delete mode 100644 public/emoji/1f64c-1f3ff.png
delete mode 100644 public/emoji/1f64c.png
create mode 100644 public/emoji/1f64d-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d-1f3fb.png
create mode 100644 public/emoji/1f64d-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d-1f3fc.png
create mode 100644 public/emoji/1f64d-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d-1f3fd.png
create mode 100644 public/emoji/1f64d-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d-1f3fe.png
create mode 100644 public/emoji/1f64d-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d-1f3ff.png
create mode 100644 public/emoji/1f64d-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64d-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64d.png
create mode 100644 public/emoji/1f64e-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e-1f3fb.png
create mode 100644 public/emoji/1f64e-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e-1f3fc.png
create mode 100644 public/emoji/1f64e-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e-1f3fd.png
create mode 100644 public/emoji/1f64e-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e-1f3fe.png
create mode 100644 public/emoji/1f64e-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e-1f3ff.png
create mode 100644 public/emoji/1f64e-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f64e-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f64e.png
delete mode 100644 public/emoji/1f64f-1f3fb.png
delete mode 100644 public/emoji/1f64f-1f3fc.png
delete mode 100644 public/emoji/1f64f-1f3fd.png
delete mode 100644 public/emoji/1f64f-1f3fe.png
delete mode 100644 public/emoji/1f64f-1f3ff.png
delete mode 100644 public/emoji/1f64f.png
delete mode 100644 public/emoji/1f680.png
delete mode 100644 public/emoji/1f681.png
delete mode 100644 public/emoji/1f682.png
delete mode 100644 public/emoji/1f683.png
delete mode 100644 public/emoji/1f684.png
delete mode 100644 public/emoji/1f685.png
delete mode 100644 public/emoji/1f686.png
delete mode 100644 public/emoji/1f687.png
delete mode 100644 public/emoji/1f688.png
delete mode 100644 public/emoji/1f689.png
delete mode 100644 public/emoji/1f68a.png
delete mode 100644 public/emoji/1f68b.png
delete mode 100644 public/emoji/1f68c.png
delete mode 100644 public/emoji/1f68d.png
delete mode 100644 public/emoji/1f68e.png
delete mode 100644 public/emoji/1f68f.png
delete mode 100644 public/emoji/1f690.png
delete mode 100644 public/emoji/1f691.png
delete mode 100644 public/emoji/1f692.png
delete mode 100644 public/emoji/1f693.png
delete mode 100644 public/emoji/1f694.png
delete mode 100644 public/emoji/1f695.png
delete mode 100644 public/emoji/1f696.png
delete mode 100644 public/emoji/1f697.png
delete mode 100644 public/emoji/1f698.png
delete mode 100644 public/emoji/1f699.png
delete mode 100644 public/emoji/1f69a.png
delete mode 100644 public/emoji/1f69b.png
delete mode 100644 public/emoji/1f69c.png
delete mode 100644 public/emoji/1f69d.png
delete mode 100644 public/emoji/1f69e.png
delete mode 100644 public/emoji/1f69f.png
delete mode 100644 public/emoji/1f6a0.png
delete mode 100644 public/emoji/1f6a1.png
delete mode 100644 public/emoji/1f6a2.png
create mode 100644 public/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3-1f3fb.png
create mode 100644 public/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3-1f3fc.png
create mode 100644 public/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3-1f3fd.png
create mode 100644 public/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3-1f3fe.png
create mode 100644 public/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3-1f3ff.png
create mode 100644 public/emoji/1f6a3-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6a3-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6a3.png
delete mode 100644 public/emoji/1f6a4.png
delete mode 100644 public/emoji/1f6a5.png
delete mode 100644 public/emoji/1f6a6.png
delete mode 100644 public/emoji/1f6a7.png
delete mode 100644 public/emoji/1f6a8.png
delete mode 100644 public/emoji/1f6a9.png
delete mode 100644 public/emoji/1f6aa.png
delete mode 100644 public/emoji/1f6ab.png
delete mode 100644 public/emoji/1f6ac.png
delete mode 100644 public/emoji/1f6ad.png
delete mode 100644 public/emoji/1f6ae.png
delete mode 100644 public/emoji/1f6af.png
delete mode 100644 public/emoji/1f6b0.png
delete mode 100644 public/emoji/1f6b1.png
delete mode 100644 public/emoji/1f6b2.png
delete mode 100644 public/emoji/1f6b3.png
create mode 100644 public/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4-1f3fb.png
create mode 100644 public/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4-1f3fc.png
create mode 100644 public/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4-1f3fd.png
create mode 100644 public/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4-1f3fe.png
create mode 100644 public/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4-1f3ff.png
create mode 100644 public/emoji/1f6b4-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b4-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b4.png
create mode 100644 public/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5-1f3fb.png
create mode 100644 public/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5-1f3fc.png
create mode 100644 public/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5-1f3fd.png
create mode 100644 public/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5-1f3fe.png
create mode 100644 public/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5-1f3ff.png
create mode 100644 public/emoji/1f6b5-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b5-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b5.png
create mode 100644 public/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6-1f3fb.png
create mode 100644 public/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6-1f3fc.png
create mode 100644 public/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6-1f3fd.png
create mode 100644 public/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6-1f3fe.png
create mode 100644 public/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6-1f3ff.png
create mode 100644 public/emoji/1f6b6-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f6b6-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f6b6.png
delete mode 100644 public/emoji/1f6b7.png
delete mode 100644 public/emoji/1f6b8.png
delete mode 100644 public/emoji/1f6b9.png
delete mode 100644 public/emoji/1f6ba.png
delete mode 100644 public/emoji/1f6bb.png
delete mode 100644 public/emoji/1f6bc.png
delete mode 100644 public/emoji/1f6bd.png
delete mode 100644 public/emoji/1f6be.png
delete mode 100644 public/emoji/1f6bf.png
delete mode 100644 public/emoji/1f6c0-1f3fb.png
delete mode 100644 public/emoji/1f6c0-1f3fc.png
delete mode 100644 public/emoji/1f6c0-1f3fd.png
delete mode 100644 public/emoji/1f6c0-1f3fe.png
delete mode 100644 public/emoji/1f6c0-1f3ff.png
delete mode 100644 public/emoji/1f6c0.png
delete mode 100644 public/emoji/1f6c1.png
delete mode 100644 public/emoji/1f6c2.png
delete mode 100644 public/emoji/1f6c3.png
delete mode 100644 public/emoji/1f6c4.png
delete mode 100644 public/emoji/1f6c5.png
delete mode 100644 public/emoji/1f6cb.png
create mode 100644 public/emoji/1f6cc-1f3fb.svg
create mode 100644 public/emoji/1f6cc-1f3fc.svg
create mode 100644 public/emoji/1f6cc-1f3fd.svg
create mode 100644 public/emoji/1f6cc-1f3fe.svg
create mode 100644 public/emoji/1f6cc-1f3ff.svg
delete mode 100644 public/emoji/1f6cc.png
delete mode 100644 public/emoji/1f6cd.png
delete mode 100644 public/emoji/1f6ce.png
delete mode 100644 public/emoji/1f6cf.png
delete mode 100644 public/emoji/1f6d0.png
delete mode 100644 public/emoji/1f6d1.png
delete mode 100644 public/emoji/1f6d2.png
delete mode 100644 public/emoji/1f6e0.png
delete mode 100644 public/emoji/1f6e1.png
delete mode 100644 public/emoji/1f6e2.png
delete mode 100644 public/emoji/1f6e3.png
delete mode 100644 public/emoji/1f6e4.png
delete mode 100644 public/emoji/1f6e5.png
delete mode 100644 public/emoji/1f6e9.png
delete mode 100644 public/emoji/1f6eb.png
delete mode 100644 public/emoji/1f6ec.png
delete mode 100644 public/emoji/1f6f0.png
delete mode 100644 public/emoji/1f6f3.png
delete mode 100644 public/emoji/1f6f4.png
delete mode 100644 public/emoji/1f6f5.png
delete mode 100644 public/emoji/1f6f6.png
create mode 100644 public/emoji/1f6f7.svg
create mode 100644 public/emoji/1f6f8.svg
delete mode 100644 public/emoji/1f910.png
delete mode 100644 public/emoji/1f911.png
delete mode 100644 public/emoji/1f912.png
delete mode 100644 public/emoji/1f913.png
delete mode 100644 public/emoji/1f914.png
delete mode 100644 public/emoji/1f915.png
delete mode 100644 public/emoji/1f916.png
delete mode 100644 public/emoji/1f917.png
delete mode 100644 public/emoji/1f918-1f3fb.png
delete mode 100644 public/emoji/1f918-1f3fc.png
delete mode 100644 public/emoji/1f918-1f3fd.png
delete mode 100644 public/emoji/1f918-1f3fe.png
delete mode 100644 public/emoji/1f918-1f3ff.png
delete mode 100644 public/emoji/1f918.png
delete mode 100644 public/emoji/1f919-1f3fb.png
delete mode 100644 public/emoji/1f919-1f3fc.png
delete mode 100644 public/emoji/1f919-1f3fd.png
delete mode 100644 public/emoji/1f919-1f3fe.png
delete mode 100644 public/emoji/1f919-1f3ff.png
delete mode 100644 public/emoji/1f919.png
delete mode 100644 public/emoji/1f91a-1f3fb.png
delete mode 100644 public/emoji/1f91a-1f3fc.png
delete mode 100644 public/emoji/1f91a-1f3fd.png
delete mode 100644 public/emoji/1f91a-1f3fe.png
delete mode 100644 public/emoji/1f91a-1f3ff.png
delete mode 100644 public/emoji/1f91a.png
delete mode 100644 public/emoji/1f91b-1f3fb.png
delete mode 100644 public/emoji/1f91b-1f3fc.png
delete mode 100644 public/emoji/1f91b-1f3fd.png
delete mode 100644 public/emoji/1f91b-1f3fe.png
delete mode 100644 public/emoji/1f91b-1f3ff.png
delete mode 100644 public/emoji/1f91b.png
delete mode 100644 public/emoji/1f91c-1f3fb.png
delete mode 100644 public/emoji/1f91c-1f3fc.png
delete mode 100644 public/emoji/1f91c-1f3fd.png
delete mode 100644 public/emoji/1f91c-1f3fe.png
delete mode 100644 public/emoji/1f91c-1f3ff.png
delete mode 100644 public/emoji/1f91c.png
delete mode 100644 public/emoji/1f91d-1f3fb.png
delete mode 100644 public/emoji/1f91d-1f3fb.svg
delete mode 100644 public/emoji/1f91d-1f3fc.png
delete mode 100644 public/emoji/1f91d-1f3fc.svg
delete mode 100644 public/emoji/1f91d-1f3fd.png
delete mode 100644 public/emoji/1f91d-1f3fd.svg
delete mode 100644 public/emoji/1f91d-1f3fe.png
delete mode 100644 public/emoji/1f91d-1f3fe.svg
delete mode 100644 public/emoji/1f91d-1f3ff.png
delete mode 100644 public/emoji/1f91d-1f3ff.svg
delete mode 100644 public/emoji/1f91d.png
delete mode 100644 public/emoji/1f91e-1f3fb.png
delete mode 100644 public/emoji/1f91e-1f3fc.png
delete mode 100644 public/emoji/1f91e-1f3fd.png
delete mode 100644 public/emoji/1f91e-1f3fe.png
delete mode 100644 public/emoji/1f91e-1f3ff.png
delete mode 100644 public/emoji/1f91e.png
create mode 100644 public/emoji/1f91f-1f3fb.svg
create mode 100644 public/emoji/1f91f-1f3fc.svg
create mode 100644 public/emoji/1f91f-1f3fd.svg
create mode 100644 public/emoji/1f91f-1f3fe.svg
create mode 100644 public/emoji/1f91f-1f3ff.svg
create mode 100644 public/emoji/1f91f.svg
delete mode 100644 public/emoji/1f920.png
delete mode 100644 public/emoji/1f921.png
delete mode 100644 public/emoji/1f922.png
delete mode 100644 public/emoji/1f923.png
delete mode 100644 public/emoji/1f924.png
delete mode 100644 public/emoji/1f925.png
create mode 100644 public/emoji/1f926-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926-1f3fb.png
create mode 100644 public/emoji/1f926-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926-1f3fc.png
create mode 100644 public/emoji/1f926-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926-1f3fd.png
create mode 100644 public/emoji/1f926-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926-1f3fe.png
create mode 100644 public/emoji/1f926-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926-1f3ff.png
create mode 100644 public/emoji/1f926-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f926-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f926.png
delete mode 100644 public/emoji/1f927.png
create mode 100644 public/emoji/1f928.svg
create mode 100644 public/emoji/1f929.svg
create mode 100644 public/emoji/1f92a.svg
create mode 100644 public/emoji/1f92b.svg
create mode 100644 public/emoji/1f92c.svg
create mode 100644 public/emoji/1f92d.svg
create mode 100644 public/emoji/1f92e.svg
create mode 100644 public/emoji/1f92f.svg
delete mode 100644 public/emoji/1f930-1f3fb.png
delete mode 100644 public/emoji/1f930-1f3fc.png
delete mode 100644 public/emoji/1f930-1f3fd.png
delete mode 100644 public/emoji/1f930-1f3fe.png
delete mode 100644 public/emoji/1f930-1f3ff.png
delete mode 100644 public/emoji/1f930.png
create mode 100644 public/emoji/1f931-1f3fb.svg
create mode 100644 public/emoji/1f931-1f3fc.svg
create mode 100644 public/emoji/1f931-1f3fd.svg
create mode 100644 public/emoji/1f931-1f3fe.svg
create mode 100644 public/emoji/1f931-1f3ff.svg
create mode 100644 public/emoji/1f931.svg
create mode 100644 public/emoji/1f932-1f3fb.svg
create mode 100644 public/emoji/1f932-1f3fc.svg
create mode 100644 public/emoji/1f932-1f3fd.svg
create mode 100644 public/emoji/1f932-1f3fe.svg
create mode 100644 public/emoji/1f932-1f3ff.svg
create mode 100644 public/emoji/1f932.svg
delete mode 100644 public/emoji/1f933-1f3fb.png
delete mode 100644 public/emoji/1f933-1f3fc.png
delete mode 100644 public/emoji/1f933-1f3fd.png
delete mode 100644 public/emoji/1f933-1f3fe.png
delete mode 100644 public/emoji/1f933-1f3ff.png
delete mode 100644 public/emoji/1f933.png
delete mode 100644 public/emoji/1f934-1f3fb.png
delete mode 100644 public/emoji/1f934-1f3fc.png
delete mode 100644 public/emoji/1f934-1f3fd.png
delete mode 100644 public/emoji/1f934-1f3fe.png
delete mode 100644 public/emoji/1f934-1f3ff.png
delete mode 100644 public/emoji/1f934.png
delete mode 100644 public/emoji/1f935-1f3fb.png
delete mode 100644 public/emoji/1f935-1f3fc.png
delete mode 100644 public/emoji/1f935-1f3fd.png
delete mode 100644 public/emoji/1f935-1f3fe.png
delete mode 100644 public/emoji/1f935-1f3ff.png
delete mode 100644 public/emoji/1f935.png
delete mode 100644 public/emoji/1f936-1f3fb.png
delete mode 100644 public/emoji/1f936-1f3fc.png
delete mode 100644 public/emoji/1f936-1f3fd.png
delete mode 100644 public/emoji/1f936-1f3fe.png
delete mode 100644 public/emoji/1f936-1f3ff.png
delete mode 100644 public/emoji/1f936.png
create mode 100644 public/emoji/1f937-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937-1f3fb.png
create mode 100644 public/emoji/1f937-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937-1f3fc.png
create mode 100644 public/emoji/1f937-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937-1f3fd.png
create mode 100644 public/emoji/1f937-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937-1f3fe.png
create mode 100644 public/emoji/1f937-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937-1f3ff.png
create mode 100644 public/emoji/1f937-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f937-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f937.png
create mode 100644 public/emoji/1f938-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938-1f3fb.png
create mode 100644 public/emoji/1f938-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938-1f3fc.png
create mode 100644 public/emoji/1f938-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938-1f3fd.png
create mode 100644 public/emoji/1f938-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938-1f3fe.png
create mode 100644 public/emoji/1f938-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938-1f3ff.png
create mode 100644 public/emoji/1f938-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f938-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f938.png
create mode 100644 public/emoji/1f939-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939-1f3fb.png
create mode 100644 public/emoji/1f939-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939-1f3fc.png
create mode 100644 public/emoji/1f939-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939-1f3fd.png
create mode 100644 public/emoji/1f939-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939-1f3fe.png
create mode 100644 public/emoji/1f939-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939-1f3ff.png
create mode 100644 public/emoji/1f939-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f939-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f939.png
delete mode 100644 public/emoji/1f93a.png
delete mode 100644 public/emoji/1f93c-1f3fb.png
delete mode 100644 public/emoji/1f93c-1f3fb.svg
delete mode 100644 public/emoji/1f93c-1f3fc.png
delete mode 100644 public/emoji/1f93c-1f3fc.svg
delete mode 100644 public/emoji/1f93c-1f3fd.png
delete mode 100644 public/emoji/1f93c-1f3fd.svg
delete mode 100644 public/emoji/1f93c-1f3fe.png
delete mode 100644 public/emoji/1f93c-1f3fe.svg
delete mode 100644 public/emoji/1f93c-1f3ff.png
delete mode 100644 public/emoji/1f93c-1f3ff.svg
create mode 100644 public/emoji/1f93c-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93c-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93c.png
create mode 100644 public/emoji/1f93d-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d-1f3fb.png
create mode 100644 public/emoji/1f93d-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d-1f3fc.png
create mode 100644 public/emoji/1f93d-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d-1f3fd.png
create mode 100644 public/emoji/1f93d-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d-1f3fe.png
create mode 100644 public/emoji/1f93d-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d-1f3ff.png
create mode 100644 public/emoji/1f93d-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93d-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93d.png
create mode 100644 public/emoji/1f93e-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e-1f3fb.png
create mode 100644 public/emoji/1f93e-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e-1f3fc.png
create mode 100644 public/emoji/1f93e-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e-1f3fd.png
create mode 100644 public/emoji/1f93e-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e-1f3fe.png
create mode 100644 public/emoji/1f93e-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e-1f3ff.png
create mode 100644 public/emoji/1f93e-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f93e-200d-2642-fe0f.svg
delete mode 100644 public/emoji/1f93e.png
delete mode 100644 public/emoji/1f940.png
delete mode 100644 public/emoji/1f941.png
delete mode 100644 public/emoji/1f942.png
delete mode 100644 public/emoji/1f943.png
delete mode 100644 public/emoji/1f944.png
delete mode 100644 public/emoji/1f945.png
delete mode 100644 public/emoji/1f947.png
delete mode 100644 public/emoji/1f948.png
delete mode 100644 public/emoji/1f949.png
delete mode 100644 public/emoji/1f94a.png
delete mode 100644 public/emoji/1f94b.png
create mode 100644 public/emoji/1f94c.svg
delete mode 100644 public/emoji/1f950.png
delete mode 100644 public/emoji/1f951.png
delete mode 100644 public/emoji/1f952.png
delete mode 100644 public/emoji/1f953.png
delete mode 100644 public/emoji/1f954.png
delete mode 100644 public/emoji/1f955.png
delete mode 100644 public/emoji/1f956.png
delete mode 100644 public/emoji/1f957.png
delete mode 100644 public/emoji/1f958.png
delete mode 100644 public/emoji/1f959.png
delete mode 100644 public/emoji/1f95a.png
delete mode 100644 public/emoji/1f95b.png
delete mode 100644 public/emoji/1f95c.png
delete mode 100644 public/emoji/1f95d.png
delete mode 100644 public/emoji/1f95e.png
create mode 100644 public/emoji/1f95f.svg
create mode 100644 public/emoji/1f960.svg
create mode 100644 public/emoji/1f961.svg
create mode 100644 public/emoji/1f962.svg
create mode 100644 public/emoji/1f963.svg
create mode 100644 public/emoji/1f964.svg
create mode 100644 public/emoji/1f965.svg
create mode 100644 public/emoji/1f966.svg
create mode 100644 public/emoji/1f967.svg
create mode 100644 public/emoji/1f968.svg
create mode 100644 public/emoji/1f969.svg
create mode 100644 public/emoji/1f96a.svg
create mode 100644 public/emoji/1f96b.svg
delete mode 100644 public/emoji/1f980.png
delete mode 100644 public/emoji/1f981.png
delete mode 100644 public/emoji/1f982.png
delete mode 100644 public/emoji/1f983.png
delete mode 100644 public/emoji/1f984.png
delete mode 100644 public/emoji/1f985.png
delete mode 100644 public/emoji/1f986.png
delete mode 100644 public/emoji/1f987.png
delete mode 100644 public/emoji/1f988.png
delete mode 100644 public/emoji/1f989.png
delete mode 100644 public/emoji/1f98a.png
delete mode 100644 public/emoji/1f98b.png
delete mode 100644 public/emoji/1f98c.png
delete mode 100644 public/emoji/1f98d.png
delete mode 100644 public/emoji/1f98e.png
delete mode 100644 public/emoji/1f98f.png
delete mode 100644 public/emoji/1f990.png
delete mode 100644 public/emoji/1f991.png
create mode 100644 public/emoji/1f992.svg
create mode 100644 public/emoji/1f993.svg
create mode 100644 public/emoji/1f994.svg
create mode 100644 public/emoji/1f995.svg
create mode 100644 public/emoji/1f996.svg
create mode 100644 public/emoji/1f997.svg
delete mode 100644 public/emoji/1f9c0.png
create mode 100644 public/emoji/1f9d0.svg
create mode 100644 public/emoji/1f9d1-1f3fb.svg
create mode 100644 public/emoji/1f9d1-1f3fc.svg
create mode 100644 public/emoji/1f9d1-1f3fd.svg
create mode 100644 public/emoji/1f9d1-1f3fe.svg
create mode 100644 public/emoji/1f9d1-1f3ff.svg
create mode 100644 public/emoji/1f9d1.svg
create mode 100644 public/emoji/1f9d2-1f3fb.svg
create mode 100644 public/emoji/1f9d2-1f3fc.svg
create mode 100644 public/emoji/1f9d2-1f3fd.svg
create mode 100644 public/emoji/1f9d2-1f3fe.svg
create mode 100644 public/emoji/1f9d2-1f3ff.svg
create mode 100644 public/emoji/1f9d2.svg
create mode 100644 public/emoji/1f9d3-1f3fb.svg
create mode 100644 public/emoji/1f9d3-1f3fc.svg
create mode 100644 public/emoji/1f9d3-1f3fd.svg
create mode 100644 public/emoji/1f9d3-1f3fe.svg
create mode 100644 public/emoji/1f9d3-1f3ff.svg
create mode 100644 public/emoji/1f9d3.svg
create mode 100644 public/emoji/1f9d4-1f3fb.svg
create mode 100644 public/emoji/1f9d4-1f3fc.svg
create mode 100644 public/emoji/1f9d4-1f3fd.svg
create mode 100644 public/emoji/1f9d4-1f3fe.svg
create mode 100644 public/emoji/1f9d4-1f3ff.svg
create mode 100644 public/emoji/1f9d4.svg
create mode 100644 public/emoji/1f9d5-1f3fb.svg
create mode 100644 public/emoji/1f9d5-1f3fc.svg
create mode 100644 public/emoji/1f9d5-1f3fd.svg
create mode 100644 public/emoji/1f9d5-1f3fe.svg
create mode 100644 public/emoji/1f9d5-1f3ff.svg
create mode 100644 public/emoji/1f9d5.svg
create mode 100644 public/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fb.svg
create mode 100644 public/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fc.svg
create mode 100644 public/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fd.svg
create mode 100644 public/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3fe.svg
create mode 100644 public/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6-1f3ff.svg
create mode 100644 public/emoji/1f9d6-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d6-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d6.svg
create mode 100644 public/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fb.svg
create mode 100644 public/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fc.svg
create mode 100644 public/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fd.svg
create mode 100644 public/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3fe.svg
create mode 100644 public/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7-1f3ff.svg
create mode 100644 public/emoji/1f9d7-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d7-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d7.svg
create mode 100644 public/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fb.svg
create mode 100644 public/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fc.svg
create mode 100644 public/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fd.svg
create mode 100644 public/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3fe.svg
create mode 100644 public/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8-1f3ff.svg
create mode 100644 public/emoji/1f9d8-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d8-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d8.svg
create mode 100644 public/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fb.svg
create mode 100644 public/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fc.svg
create mode 100644 public/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fd.svg
create mode 100644 public/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3fe.svg
create mode 100644 public/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9-1f3ff.svg
create mode 100644 public/emoji/1f9d9-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9d9-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9d9.svg
create mode 100644 public/emoji/1f9da-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fb.svg
create mode 100644 public/emoji/1f9da-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fc.svg
create mode 100644 public/emoji/1f9da-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fd.svg
create mode 100644 public/emoji/1f9da-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3fe.svg
create mode 100644 public/emoji/1f9da-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da-1f3ff.svg
create mode 100644 public/emoji/1f9da-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9da-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9da.svg
create mode 100644 public/emoji/1f9db-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fb.svg
create mode 100644 public/emoji/1f9db-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fc.svg
create mode 100644 public/emoji/1f9db-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fd.svg
create mode 100644 public/emoji/1f9db-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3fe.svg
create mode 100644 public/emoji/1f9db-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db-1f3ff.svg
create mode 100644 public/emoji/1f9db-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9db-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9db.svg
create mode 100644 public/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fb.svg
create mode 100644 public/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fc.svg
create mode 100644 public/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fd.svg
create mode 100644 public/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3fe.svg
create mode 100644 public/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc-1f3ff.svg
create mode 100644 public/emoji/1f9dc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dc.svg
create mode 100644 public/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fb.svg
create mode 100644 public/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fc.svg
create mode 100644 public/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fd.svg
create mode 100644 public/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3fe.svg
create mode 100644 public/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd-1f3ff.svg
create mode 100644 public/emoji/1f9dd-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9dd-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9dd.svg
create mode 100644 public/emoji/1f9de-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9de-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9de.svg
create mode 100644 public/emoji/1f9df-200d-2640-fe0f.svg
create mode 100644 public/emoji/1f9df-200d-2642-fe0f.svg
create mode 100644 public/emoji/1f9df.svg
create mode 100644 public/emoji/1f9e0.svg
create mode 100644 public/emoji/1f9e1.svg
create mode 100644 public/emoji/1f9e2.svg
create mode 100644 public/emoji/1f9e3.svg
create mode 100644 public/emoji/1f9e4.svg
create mode 100644 public/emoji/1f9e5.svg
create mode 100644 public/emoji/1f9e6.svg
delete mode 100644 public/emoji/203c.png
delete mode 100644 public/emoji/2049.png
delete mode 100644 public/emoji/2122.png
delete mode 100644 public/emoji/2139.png
delete mode 100644 public/emoji/2194.png
delete mode 100644 public/emoji/2195.png
delete mode 100644 public/emoji/2196.png
delete mode 100644 public/emoji/2197.png
delete mode 100644 public/emoji/2198.png
delete mode 100644 public/emoji/2199.png
delete mode 100644 public/emoji/21a9.png
delete mode 100644 public/emoji/21aa.png
create mode 100644 public/emoji/23-20e3.svg
delete mode 100644 public/emoji/231a.png
delete mode 100644 public/emoji/231b.png
delete mode 100644 public/emoji/2328.png
delete mode 100644 public/emoji/23cf.png
delete mode 100644 public/emoji/23e9.png
delete mode 100644 public/emoji/23ea.png
delete mode 100644 public/emoji/23eb.png
delete mode 100644 public/emoji/23ec.png
delete mode 100644 public/emoji/23ed.png
delete mode 100644 public/emoji/23ee.png
delete mode 100644 public/emoji/23ef.png
delete mode 100644 public/emoji/23f0.png
delete mode 100644 public/emoji/23f1.png
delete mode 100644 public/emoji/23f2.png
delete mode 100644 public/emoji/23f3.png
delete mode 100644 public/emoji/23f8.png
delete mode 100644 public/emoji/23f9.png
delete mode 100644 public/emoji/23fa.png
delete mode 100644 public/emoji/24c2.png
delete mode 100644 public/emoji/25aa.png
delete mode 100644 public/emoji/25ab.png
delete mode 100644 public/emoji/25b6.png
delete mode 100644 public/emoji/25c0.png
delete mode 100644 public/emoji/25fb.png
delete mode 100644 public/emoji/25fc.png
delete mode 100644 public/emoji/25fd.png
delete mode 100644 public/emoji/25fe.png
delete mode 100644 public/emoji/2600.png
delete mode 100644 public/emoji/2601.png
delete mode 100644 public/emoji/2602.png
delete mode 100644 public/emoji/2603.png
delete mode 100644 public/emoji/2604.png
delete mode 100644 public/emoji/260e.png
delete mode 100644 public/emoji/2611.png
delete mode 100644 public/emoji/2614.png
delete mode 100644 public/emoji/2615.png
delete mode 100644 public/emoji/2618.png
delete mode 100644 public/emoji/261d-1f3fb.png
delete mode 100644 public/emoji/261d-1f3fc.png
delete mode 100644 public/emoji/261d-1f3fd.png
delete mode 100644 public/emoji/261d-1f3fe.png
delete mode 100644 public/emoji/261d-1f3ff.png
delete mode 100644 public/emoji/261d.png
delete mode 100644 public/emoji/2620.png
delete mode 100644 public/emoji/2622.png
delete mode 100644 public/emoji/2623.png
delete mode 100644 public/emoji/2626.png
delete mode 100644 public/emoji/262a.png
delete mode 100644 public/emoji/262e.png
delete mode 100644 public/emoji/262f.png
delete mode 100644 public/emoji/2638.png
delete mode 100644 public/emoji/2639.png
delete mode 100644 public/emoji/263a.png
create mode 100644 public/emoji/2640.svg
create mode 100644 public/emoji/2642.svg
delete mode 100644 public/emoji/2648.png
delete mode 100644 public/emoji/2649.png
delete mode 100644 public/emoji/264a.png
delete mode 100644 public/emoji/264b.png
delete mode 100644 public/emoji/264c.png
delete mode 100644 public/emoji/264d.png
delete mode 100644 public/emoji/264e.png
delete mode 100644 public/emoji/264f.png
delete mode 100644 public/emoji/2650.png
delete mode 100644 public/emoji/2651.png
delete mode 100644 public/emoji/2652.png
delete mode 100644 public/emoji/2653.png
delete mode 100644 public/emoji/2660.png
delete mode 100644 public/emoji/2663.png
delete mode 100644 public/emoji/2665.png
delete mode 100644 public/emoji/2666.png
delete mode 100644 public/emoji/2668.png
delete mode 100644 public/emoji/267b.png
delete mode 100644 public/emoji/267f.png
delete mode 100644 public/emoji/2692.png
delete mode 100644 public/emoji/2693.png
delete mode 100644 public/emoji/2694.png
create mode 100644 public/emoji/2695.svg
delete mode 100644 public/emoji/2696.png
delete mode 100644 public/emoji/2697.png
delete mode 100644 public/emoji/2699.png
delete mode 100644 public/emoji/269b.png
delete mode 100644 public/emoji/269c.png
delete mode 100644 public/emoji/26a0.png
delete mode 100644 public/emoji/26a1.png
delete mode 100644 public/emoji/26aa.png
delete mode 100644 public/emoji/26ab.png
delete mode 100644 public/emoji/26b0.png
delete mode 100644 public/emoji/26b1.png
delete mode 100644 public/emoji/26bd.png
delete mode 100644 public/emoji/26be.png
delete mode 100644 public/emoji/26c4.png
delete mode 100644 public/emoji/26c5.png
delete mode 100644 public/emoji/26c8.png
delete mode 100644 public/emoji/26ce.png
delete mode 100644 public/emoji/26cf.png
delete mode 100644 public/emoji/26d1.png
delete mode 100644 public/emoji/26d3.png
delete mode 100644 public/emoji/26d4.png
delete mode 100644 public/emoji/26e9.png
delete mode 100644 public/emoji/26ea.png
delete mode 100644 public/emoji/26f0.png
delete mode 100644 public/emoji/26f1.png
delete mode 100644 public/emoji/26f2.png
delete mode 100644 public/emoji/26f3.png
delete mode 100644 public/emoji/26f4.png
delete mode 100644 public/emoji/26f5.png
create mode 100644 public/emoji/26f7-1f3fb.svg
create mode 100644 public/emoji/26f7-1f3fc.svg
create mode 100644 public/emoji/26f7-1f3fd.svg
create mode 100644 public/emoji/26f7-1f3fe.svg
create mode 100644 public/emoji/26f7-1f3ff.svg
delete mode 100644 public/emoji/26f7.png
delete mode 100644 public/emoji/26f8.png
create mode 100644 public/emoji/26f9-1f3fb-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-1f3fb-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9-1f3fb.png
create mode 100644 public/emoji/26f9-1f3fc-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-1f3fc-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9-1f3fc.png
create mode 100644 public/emoji/26f9-1f3fd-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-1f3fd-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9-1f3fd.png
create mode 100644 public/emoji/26f9-1f3fe-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-1f3fe-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9-1f3fe.png
create mode 100644 public/emoji/26f9-1f3ff-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-1f3ff-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9-1f3ff.png
create mode 100644 public/emoji/26f9-fe0f-200d-2640-fe0f.svg
create mode 100644 public/emoji/26f9-fe0f-200d-2642-fe0f.svg
delete mode 100644 public/emoji/26f9.png
delete mode 100644 public/emoji/26fa.png
delete mode 100644 public/emoji/26fd.png
delete mode 100644 public/emoji/2702.png
delete mode 100644 public/emoji/2705.png
delete mode 100644 public/emoji/2708.png
delete mode 100644 public/emoji/2709.png
delete mode 100644 public/emoji/270a-1f3fb.png
delete mode 100644 public/emoji/270a-1f3fc.png
delete mode 100644 public/emoji/270a-1f3fd.png
delete mode 100644 public/emoji/270a-1f3fe.png
delete mode 100644 public/emoji/270a-1f3ff.png
delete mode 100644 public/emoji/270a.png
delete mode 100644 public/emoji/270b-1f3fb.png
delete mode 100644 public/emoji/270b-1f3fc.png
delete mode 100644 public/emoji/270b-1f3fd.png
delete mode 100644 public/emoji/270b-1f3fe.png
delete mode 100644 public/emoji/270b-1f3ff.png
delete mode 100644 public/emoji/270b.png
delete mode 100644 public/emoji/270c-1f3fb.png
delete mode 100644 public/emoji/270c-1f3fc.png
delete mode 100644 public/emoji/270c-1f3fd.png
delete mode 100644 public/emoji/270c-1f3fe.png
delete mode 100644 public/emoji/270c-1f3ff.png
delete mode 100644 public/emoji/270c.png
delete mode 100644 public/emoji/270d-1f3fb.png
delete mode 100644 public/emoji/270d-1f3fc.png
delete mode 100644 public/emoji/270d-1f3fd.png
delete mode 100644 public/emoji/270d-1f3fe.png
delete mode 100644 public/emoji/270d-1f3ff.png
delete mode 100644 public/emoji/270d.png
delete mode 100644 public/emoji/270f.png
delete mode 100644 public/emoji/2712.png
delete mode 100644 public/emoji/2714.png
delete mode 100644 public/emoji/2716.png
delete mode 100644 public/emoji/271d.png
delete mode 100644 public/emoji/2721.png
delete mode 100644 public/emoji/2728.png
delete mode 100644 public/emoji/2733.png
delete mode 100644 public/emoji/2734.png
delete mode 100644 public/emoji/2744.png
delete mode 100644 public/emoji/2747.png
delete mode 100644 public/emoji/274c.png
delete mode 100644 public/emoji/274e.png
delete mode 100644 public/emoji/2753.png
delete mode 100644 public/emoji/2754.png
delete mode 100644 public/emoji/2755.png
delete mode 100644 public/emoji/2757.png
delete mode 100644 public/emoji/2763.png
delete mode 100644 public/emoji/2764.png
delete mode 100644 public/emoji/2795.png
delete mode 100644 public/emoji/2796.png
delete mode 100644 public/emoji/2797.png
delete mode 100644 public/emoji/27a1.png
delete mode 100644 public/emoji/27b0.png
delete mode 100644 public/emoji/27bf.png
delete mode 100644 public/emoji/2934.png
delete mode 100644 public/emoji/2935.png
create mode 100644 public/emoji/2a-20e3.svg
delete mode 100644 public/emoji/2b05.png
delete mode 100644 public/emoji/2b06.png
delete mode 100644 public/emoji/2b07.png
delete mode 100644 public/emoji/2b1b.png
delete mode 100644 public/emoji/2b1c.png
delete mode 100644 public/emoji/2b50.png
delete mode 100644 public/emoji/2b55.png
create mode 100644 public/emoji/30-20e3.svg
delete mode 100644 public/emoji/3030.png
delete mode 100644 public/emoji/303d.png
create mode 100644 public/emoji/31-20e3.svg
create mode 100644 public/emoji/32-20e3.svg
delete mode 100644 public/emoji/3297.png
delete mode 100644 public/emoji/3299.png
create mode 100644 public/emoji/33-20e3.svg
create mode 100644 public/emoji/34-20e3.svg
create mode 100644 public/emoji/35-20e3.svg
create mode 100644 public/emoji/36-20e3.svg
create mode 100644 public/emoji/37-20e3.svg
create mode 100644 public/emoji/38-20e3.svg
create mode 100644 public/emoji/39-20e3.svg
create mode 100644 public/emoji/a9.svg
create mode 100644 public/emoji/ae.svg
create mode 100644 public/emoji/e50a.svg
create mode 100644 public/emoji/sheet.png
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/emoji.js b/app/javascript/mastodon/emoji.js
index 7a0dab9d1..407b21b4b 100644
--- a/app/javascript/mastodon/emoji.js
+++ b/app/javascript/mastodon/emoji.js
@@ -3,6 +3,8 @@ import Trie from 'substring-trie';
const trie = new Trie(Object.keys(unicodeMapping));
+const assetHost = process.env.CDN_HOST || '';
+
const emojify = (str, customEmojis = {}) => {
let rtn = '';
for (;;) {
@@ -37,7 +39,7 @@ const emojify = (str, customEmojis = {}) => {
str = str.slice(i + 1);
} else {
const [filename, shortCode] = unicodeMapping[match];
- rtn += str.slice(0, i) + ` `;
+ rtn += str.slice(0, i) + ` `;
str = str.slice(i + match.length);
}
}
diff --git a/app/javascript/mastodon/emojione_light.js b/app/javascript/mastodon/emojione_light.js
index 0d07d012f..ecba35d03 100644
--- a/app/javascript/mastodon/emojione_light.js
+++ b/app/javascript/mastodon/emojione_light.js
@@ -9,5 +9,5 @@ const excluded = ['®', '©', '™'];
module.exports.unicodeMapping = Object.keys(emojione.jsEscapeMap)
.filter(c => !excluded.includes(c))
.map(unicodeStr => [unicodeStr, mappedUnicode[emojione.jsEscapeMap[unicodeStr]]])
- .map(([unicodeStr, shortCode]) => ({ [unicodeStr]: [emojione.emojioneList[shortCode].fname, shortCode.slice(1, shortCode.length - 1)] }))
+ .map(([unicodeStr, shortCode]) => ({ [unicodeStr]: [emojione.emojioneList[shortCode].fname.replace(/^0+/g, ''), shortCode.slice(1, shortCode.length - 1)] }))
.reduce((x, y) => Object.assign(x, y), { });
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
index 413142d81..bb747b611 100644
--- a/app/javascript/mastodon/features/compose/components/compose_form.js
+++ b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -138,7 +138,7 @@ export default class ComposeForm extends ImmutablePureComponent {
handleEmojiPick = (data) => {
const position = this.autosuggestTextarea.textarea.selectionStart;
- const emojiChar = data.unicode.split('-').map(code => String.fromCodePoint(parseInt(code, 16))).join('');
+ const emojiChar = data.native;
this._restoreCaret = position + emojiChar.length + 1;
this.props.onPickEmoji(position, data);
}
diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
index 9d05b7a34..43e175be5 100644
--- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
+++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
@@ -1,12 +1,17 @@
import React from 'react';
-import Dropdown, { DropdownTrigger, DropdownContent } from 'react-simple-dropdown';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
+import { Overlay } from 'react-overlays';
+import classNames from 'classnames';
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },
+ emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },
+ custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },
+ recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },
+ search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },
people: { id: 'emoji_button.people', defaultMessage: 'People' },
nature: { id: 'emoji_button.nature', defaultMessage: 'Nature' },
food: { id: 'emoji_button.food', defaultMessage: 'Food & Drink' },
@@ -17,13 +22,234 @@ const messages = defineMessages({
flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },
});
-const settings = {
- imageType: 'png',
- sprites: false,
- imagePathPNG: '/emoji/',
-};
+const assetHost = process.env.CDN_HOST || '';
-let EmojiPicker; // load asynchronously
+let EmojiPicker, Emoji; // load asynchronously
+
+const backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;
+
+class ModifierPickerMenu extends React.PureComponent {
+
+ static propTypes = {
+ active: PropTypes.bool,
+ onSelect: PropTypes.func.isRequired,
+ onClose: PropTypes.func.isRequired,
+ };
+
+ handleClick = (e) => {
+ const modifier = [].slice.call(e.currentTarget.parentNode.children).indexOf(e.target) + 1;
+ this.props.onSelect(modifier);
+ }
+
+ componentWillReceiveProps (nextProps) {
+ if (nextProps.active) {
+ this.attachListeners();
+ } else {
+ this.removeListeners();
+ }
+ }
+
+ componentWillUnmount () {
+ this.removeListeners();
+ }
+
+ handleDocumentClick = e => {
+ if (this.node && !this.node.contains(e.target)) {
+ this.props.onClose();
+ }
+ }
+
+ attachListeners () {
+ document.addEventListener('click', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, false);
+ }
+
+ removeListeners () {
+ document.removeEventListener('click', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, false);
+ }
+
+ setRef = c => {
+ this.node = c;
+ }
+
+ render () {
+ const { active } = this.props;
+
+ return (
+
+
+
+
+
+
+
+
+ );
+ }
+
+}
+
+class ModifierPicker extends React.PureComponent {
+
+ static propTypes = {
+ active: PropTypes.bool,
+ modifier: PropTypes.number,
+ onChange: PropTypes.func,
+ onClose: PropTypes.func,
+ onOpen: PropTypes.func,
+ };
+
+ handleClick = () => {
+ if (this.props.active) {
+ this.props.onClose();
+ } else {
+ this.props.onOpen();
+ }
+ }
+
+ handleSelect = modifier => {
+ this.props.onChange(modifier);
+ this.props.onClose();
+ }
+
+ render () {
+ const { active, modifier } = this.props;
+
+ return (
+
+
+
+
+ );
+ }
+
+}
+
+@injectIntl
+class EmojiPickerMenu extends React.PureComponent {
+
+ static propTypes = {
+ loading: PropTypes.bool,
+ onClose: PropTypes.func.isRequired,
+ onPick: PropTypes.func.isRequired,
+ style: PropTypes.object,
+ placement: PropTypes.string,
+ arrowOffsetLeft: PropTypes.string,
+ arrowOffsetTop: PropTypes.string,
+ intl: PropTypes.object.isRequired,
+ };
+
+ static defaultProps = {
+ style: {},
+ loading: true,
+ placement: 'bottom',
+ };
+
+ state = {
+ modifierOpen: false,
+ modifier: 1,
+ };
+
+ handleDocumentClick = e => {
+ if (this.node && !this.node.contains(e.target)) {
+ this.props.onClose();
+ }
+ }
+
+ componentDidMount () {
+ document.addEventListener('click', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, false);
+ }
+
+ componentWillUnmount () {
+ document.removeEventListener('click', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, false);
+ }
+
+ setRef = c => {
+ this.node = c;
+ }
+
+ getI18n = () => {
+ const { intl } = this.props;
+
+ return {
+ search: intl.formatMessage(messages.emoji_search),
+ notfound: intl.formatMessage(messages.emoji_not_found),
+ categories: {
+ search: intl.formatMessage(messages.search_results),
+ recent: intl.formatMessage(messages.recent),
+ people: intl.formatMessage(messages.people),
+ nature: intl.formatMessage(messages.nature),
+ foods: intl.formatMessage(messages.food),
+ activity: intl.formatMessage(messages.activity),
+ places: intl.formatMessage(messages.travel),
+ objects: intl.formatMessage(messages.objects),
+ symbols: intl.formatMessage(messages.symbols),
+ flags: intl.formatMessage(messages.flags),
+ custom: intl.formatMessage(messages.custom),
+ },
+ };
+ }
+
+ handleClick = emoji => {
+ this.props.onClose();
+ this.props.onPick(emoji);
+ }
+
+ handleModifierOpen = () => {
+ this.setState({ modifierOpen: true });
+ }
+
+ handleModifierClose = () => {
+ this.setState({ modifierOpen: false });
+ }
+
+ handleModifierChange = modifier => {
+ if (modifier !== this.state.modifier) {
+ this.setState({ modifier });
+ }
+ }
+
+ render () {
+ const { loading, style, intl } = this.props;
+
+ if (loading) {
+ return
;
+ }
+
+ const title = intl.formatMessage(messages.emoji);
+ const { modifierOpen, modifier } = this.state;
+
+ return (
+
+
+
+
+
+ );
+ }
+
+}
@injectIntl
export default class EmojiPickerDropdown extends React.PureComponent {
@@ -42,20 +268,17 @@ export default class EmojiPickerDropdown extends React.PureComponent {
this.dropdown = c;
}
- handleChange = (data) => {
- this.dropdown.hide();
- this.props.onPickEmoji(data);
- }
-
onShowDropdown = () => {
this.setState({ active: true });
+
if (!EmojiPicker) {
this.setState({ loading: true });
- EmojiPickerAsync().then(TheEmojiPicker => {
- EmojiPicker = TheEmojiPicker.default;
+
+ EmojiPickerAsync().then(EmojiMart => {
+ EmojiPicker = EmojiMart.Picker;
+ Emoji = EmojiMart.Emoji;
this.setState({ loading: false });
}).catch(() => {
- // TODO: show the user an error?
this.setState({ loading: false });
});
}
@@ -75,70 +298,39 @@ export default class EmojiPickerDropdown extends React.PureComponent {
}
}
- onEmojiPickerKeyDown = (e) => {
+ handleKeyDown = e => {
if (e.key === 'Escape') {
this.onHideDropdown();
}
}
- render () {
- const { intl } = this.props;
+ setTargetRef = c => {
+ this.target = c;
+ }
- const categories = {
- people: {
- title: intl.formatMessage(messages.people),
- emoji: 'smile',
- },
- nature: {
- title: intl.formatMessage(messages.nature),
- emoji: 'hamster',
- },
- food: {
- title: intl.formatMessage(messages.food),
- emoji: 'pizza',
- },
- activity: {
- title: intl.formatMessage(messages.activity),
- emoji: 'soccer',
- },
- travel: {
- title: intl.formatMessage(messages.travel),
- emoji: 'earth_americas',
- },
- objects: {
- title: intl.formatMessage(messages.objects),
- emoji: 'bulb',
- },
- symbols: {
- title: intl.formatMessage(messages.symbols),
- emoji: 'clock9',
- },
- flags: {
- title: intl.formatMessage(messages.flags),
- emoji: 'flag_gb',
- },
- };
+ findTarget = () => {
+ return this.target;
+ }
- const { active, loading } = this.state;
+ render () {
+ const { intl, onPickEmoji } = this.props;
const title = intl.formatMessage(messages.emoji);
+ const { active, loading } = this.state;
return (
-
-
+
+
-
-
-
- {
- this.state.active && !this.state.loading &&
- ( )
- }
-
-
+
+
+
+
+
+
);
}
diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js
index c0b93a3a1..bd2fca337 100644
--- a/app/javascript/mastodon/features/ui/util/async-components.js
+++ b/app/javascript/mastodon/features/ui/util/async-components.js
@@ -1,5 +1,5 @@
export function EmojiPicker () {
- return import(/* webpackChunkName: "emojione_picker" */'emojione-picker');
+ return import(/* webpackChunkName: "emoji_picker" */'emoji-mart');
}
export function Compose () {
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index 3a6fa2874..e27c19f4e 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "الأنشطة",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "الأعلام",
"emoji_button.food": "الطعام والشراب",
"emoji_button.label": "أدرج إيموجي",
"emoji_button.nature": "الطبيعة",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "أشياء",
"emoji_button.people": "الناس",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "ابحث...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "رموز",
"emoji_button.travel": "أماكن و أسفار",
"empty_column.community": "الخط الزمني المحلي فارغ. اكتب شيئا ما للعامة كبداية.",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 9afe2d038..85ede7dfd 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 7d45b4d6b..901241322 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activitat",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Menjar i Beure",
"emoji_button.label": "Inserir emoji",
"emoji_button.nature": "Natura",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objectes",
"emoji_button.people": "Gent",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Cercar...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Símbols",
"emoji_button.travel": "Viatges i Llocs",
"empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per fer rodar la pilota!",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index 712c635c8..c5fbc3a4c 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -67,13 +67,17 @@
"embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, in dem du den folgenden Code einfügst.",
"embed.preview": "So wird es aussehen:",
"emoji_button.activity": "Aktivitäten",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flaggen",
"emoji_button.food": "Essen und Trinken",
"emoji_button.label": "Emoji einfügen",
"emoji_button.nature": "Natur",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Dinge",
"emoji_button.people": "Leute",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Suche…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbole",
"emoji_button.travel": "Reise und Orte",
"empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe etwas öffentlich, um den Ball ins Rollen zu bringen!",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index 42df796a7..b9a951a7f 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -516,6 +516,22 @@
"defaultMessage": "Search...",
"id": "emoji_button.search"
},
+ {
+ "defaultMessage": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "id": "emoji_button.not_found"
+ },
+ {
+ "defaultMessage": "Custom",
+ "id": "emoji_button.custom"
+ },
+ {
+ "defaultMessage": "Frequently used",
+ "id": "emoji_button.recent"
+ },
+ {
+ "defaultMessage": "Search results",
+ "id": "emoji_button.search_results"
+ },
{
"defaultMessage": "People",
"id": "emoji_button.people"
@@ -1331,15 +1347,6 @@
],
"path": "app/javascript/mastodon/features/ui/components/upload_area.json"
},
- {
- "descriptors": [
- {
- "defaultMessage": "Close",
- "id": "lightbox.close"
- }
- ],
- "path": "app/javascript/mastodon/features/ui/components/video_modal.json"
- },
{
"descriptors": [
{
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 436079aeb..7ce57c4fe 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 945fcd8e0..8dfb05bc3 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 5182b5094..0489da64d 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -67,13 +67,17 @@
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
"embed.preview": "Así es como se verá:",
"emoji_button.activity": "Actividad",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Marcas",
"emoji_button.food": "Comida y bebida",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Naturaleza",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objetos",
"emoji_button.people": "Gente",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Buscar…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viajes y lugares",
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 23f4a41d6..64a9172cf 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -67,13 +67,17 @@
"embed.instructions": "برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.",
"embed.preview": "نوشتهٔ جاگذاریشده این گونه به نظر خواهد رسید:",
"emoji_button.activity": "فعالیت",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "پرچمها",
"emoji_button.food": "غذا و نوشیدنی",
"emoji_button.label": "افزودن شکلک",
"emoji_button.nature": "طبیعت",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "اشیا",
"emoji_button.people": "مردم",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "جستجو...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "نمادها",
"emoji_button.travel": "سفر و مکان",
"empty_column.community": "فهرست نوشتههای محلی خالی است. چیزی بنویسید تا چرخش بچرخد!",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index fc409a932..ea8433107 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 5a436891b..a4ecc6c17 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -67,13 +67,17 @@
"embed.instructions": "Intégrez ce statut à votre site en copiant ce code ci-dessous.",
"embed.preview": "Il apparaîtra comme cela : ",
"emoji_button.activity": "Activités",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Drapeaux",
"emoji_button.food": "Boire et manger",
"emoji_button.label": "Insérer un emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objets",
"emoji_button.people": "Personnages",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Recherche…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symboles",
"emoji_button.travel": "Lieux et voyages",
"empty_column.community": "Le fil public local est vide. Écrivez-donc quelque chose pour le remplir !",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index 06b401d39..dbba9d3bc 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "פעילות",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "דגלים",
"emoji_button.food": "אוכל ושתיה",
"emoji_button.label": "הוספת אמוג'י",
"emoji_button.nature": "טבע",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "חפצים",
"emoji_button.people": "אנשים",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "חיפוש...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "סמלים",
"emoji_button.travel": "טיולים ואתרים",
"empty_column.community": "טור הסביבה ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index cb28ce9c1..4c877d95b 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Aktivnost",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Zastave",
"emoji_button.food": "Hrana & Piće",
"emoji_button.label": "Umetni smajlije",
"emoji_button.nature": "Priroda",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekti",
"emoji_button.people": "Ljudi",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Traži...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Simboli",
"emoji_button.travel": "Putovanja & Mjesta",
"empty_column.community": "Lokalni timeline je prazan. Napiši nešto javno kako bi pokrenuo stvari!",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index a13e4fee2..699fc265d 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 349423cce..cbacc68ff 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Aktivitas",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Bendera",
"emoji_button.food": "Makanan & Minuman",
"emoji_button.label": "Tambahkan emoji",
"emoji_button.nature": "Alam",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Benda-benda",
"emoji_button.people": "Orang",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Cari...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Simbol",
"emoji_button.travel": "Tempat Wisata",
"empty_column.community": "Linimasa lokal masih kosong. Tulis sesuatu secara publik dan buat roda berputar!",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 5f19509e2..9b2cc27d3 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "La lokala tempolineo esas vakua. Skribez ulo publike por iniciar la agiveso!",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index cedbb947c..2106e59c7 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserisci emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index e78ac4c26..013cd6ef1 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -67,13 +67,17 @@
"embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。",
"embed.preview": "表示例:",
"emoji_button.activity": "活動",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "国旗",
"emoji_button.food": "食べ物",
"emoji_button.label": "絵文字を追加",
"emoji_button.nature": "自然",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "物",
"emoji_button.people": "人々",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "検索...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "記号",
"emoji_button.travel": "旅行と場所",
"empty_column.community": "ローカルタイムラインはまだ使われていません。何か書いてみましょう!",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 46ed772cf..57d74ea6f 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "활동",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "국기",
"emoji_button.food": "음식",
"emoji_button.label": "emoji를 추가",
"emoji_button.nature": "자연",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "물건",
"emoji_button.people": "사람들",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "검색...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "기호",
"emoji_button.travel": "여행과 장소",
"empty_column.community": "로컬 타임라인에 아무 것도 없습니다. 아무거나 적어 보세요!",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index b696bccfd..c9f837b20 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -33,9 +33,8 @@
"column.home": "Start",
"column.mutes": "Genegeerde gebruikers",
"column.notifications": "Meldingen",
- "column.pins": "Pinned toot",
- "column.public": "Globale tijdlijn",
"column.pins": "Vastgezette toots",
+ "column.public": "Globale tijdlijn",
"column_back_button.label": "terug",
"column_header.hide_settings": "Instellingen verbergen",
"column_header.moveLeft_settings": "Kolom naar links verplaatsen",
@@ -68,13 +67,17 @@
"embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.",
"embed.preview": "Zo komt het eruit te zien:",
"emoji_button.activity": "Activiteiten",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Vlaggen",
"emoji_button.food": "Eten en drinken",
"emoji_button.label": "Emoji toevoegen",
"emoji_button.nature": "Natuur",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Voorwerpen",
"emoji_button.people": "Mensen",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Zoeken...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbolen",
"emoji_button.travel": "Reizen en plekken",
"empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!",
@@ -87,7 +90,6 @@
"follow_request.authorize": "Goedkeuren",
"follow_request.reject": "Afkeuren",
"getting_started.appsshort": "Apps",
- "getting_started.donate": "Doneren",
"getting_started.faq": "FAQ",
"getting_started.heading": "Beginnen",
"getting_started.open_source_notice": "Mastodon is open-sourcesoftware. Je kunt bijdragen of problemen melden op GitHub via {github}.",
@@ -112,10 +114,9 @@
"navigation_bar.info": "Uitgebreide informatie",
"navigation_bar.logout": "Afmelden",
"navigation_bar.mutes": "Genegeerde gebruikers",
- "navigation_bar.pins": "Pinned toots",
+ "navigation_bar.pins": "Vastgezette toots",
"navigation_bar.preferences": "Instellingen",
"navigation_bar.public_timeline": "Globale tijdlijn",
- "navigation_bar.pins": "Vastgezette toots",
"notification.favourite": "{name} markeerde jouw toot als favoriet",
"notification.follow": "{name} volgt jou nu",
"notification.mention": "{name} vermeldde jou",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index 742017c66..a34ee51f4 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Aktivitet",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flagg",
"emoji_button.food": "Mat og drikke",
"emoji_button.label": "Sett inn emoji",
"emoji_button.nature": "Natur",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekter",
"emoji_button.people": "Mennesker",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Søk...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symboler",
"emoji_button.travel": "Reise & steder",
"empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 512e4120d..81babfb2b 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.",
"embed.preview": "Semblarà aquò : ",
"emoji_button.activity": "Activitats",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Drapèus",
"emoji_button.food": "Beure e manjar",
"emoji_button.label": "Inserir un emoji",
"emoji_button.nature": "Natura",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objèctes",
"emoji_button.people": "Gents",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Cercar…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Simbòls",
"emoji_button.travel": "Viatges & lòcs",
"empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 1d2443690..a35668b6b 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -67,13 +67,17 @@
"embed.instructions": "Osadź ten status na swojej stronie wklejając poniższy kod.",
"embed.preview": "Tak będzie to wyglądać:",
"emoji_button.activity": "Aktywność",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flagi",
"emoji_button.food": "Żywność i napoje",
"emoji_button.label": "Wstaw emoji",
"emoji_button.nature": "Natura",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekty",
"emoji_button.people": "Ludzie",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Szukaj…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbole",
"emoji_button.travel": "Podróże i miejsca",
"empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index a5def0ad0..7ef7a9bc5 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -35,7 +35,6 @@
"column.notifications": "Notificações",
"column.pins": "Postagens fixadas",
"column.public": "Global",
- "column.pins": "Postagens fixadas",
"column_back_button.label": "Voltar",
"column_header.hide_settings": "Esconder configurações",
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
@@ -68,13 +67,17 @@
"embed.instructions": "Incorpore esta postagem em seu site copiando o código abaixo:",
"embed.preview": "Aqui está uma previsão de como ficará:",
"emoji_button.activity": "Atividades",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Bandeiras",
"emoji_button.food": "Comidas & Bebidas",
"emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Natureza",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objetos",
"emoji_button.people": "Pessoas",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Buscar...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viagens & Lugares",
"empty_column.community": "A timeline local está vazia. Escreva algo publicamente para começar!",
@@ -114,9 +117,6 @@
"navigation_bar.pins": "Postagens fixadas",
"navigation_bar.preferences": "Preferências",
"navigation_bar.public_timeline": "Global",
- "navigation_bar.preferences": "Preferências",
- "navigation_bar.public_timeline": "Global",
- "navigation_bar.pins": "Postagens fixadas",
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
"notification.follow": "{name} te seguiu",
"notification.mention": "{name} te mencionou",
diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json
index cff528f83..7f9681fff 100644
--- a/app/javascript/mastodon/locales/pt.json
+++ b/app/javascript/mastodon/locales/pt.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Inserir Emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "Ainda não existem conteúdo local para mostrar!",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index fcc147c87..f6094d630 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Занятия",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Флаги",
"emoji_button.food": "Еда и напитки",
"emoji_button.label": "Вставить эмодзи",
"emoji_button.nature": "Природа",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Предметы",
"emoji_button.people": "Люди",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Найти...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Символы",
"emoji_button.travel": "Путешествия",
"empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index f2752f5e0..c1b6b74e4 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Flags",
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index 2676b851c..b9b249bc0 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Aktivite",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Bayraklar",
"emoji_button.food": "Yiyecek ve İçecek",
"emoji_button.label": "Emoji ekle",
"emoji_button.nature": "Doğa",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Nesneler",
"emoji_button.people": "İnsanlar",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Emoji ara...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Semboller",
"emoji_button.travel": "Seyahat ve Yerler",
"empty_column.community": "Yerel zaman tüneliniz boş. Daha fazla eğlence için herkese açık bir gönderi paylaşın.",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 6b5ab64ef..9d3e7ec7c 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -67,13 +67,17 @@
"embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Заняття",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "Прапори",
"emoji_button.food": "Їжа та напої",
"emoji_button.label": "Вставити емодзі",
"emoji_button.nature": "Природа",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Предмети",
"emoji_button.people": "Люди",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "Знайти...",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "Символи",
"emoji_button.travel": "Подорожі",
"empty_column.community": "Локальна стрічка пуста. Напишіть щось, щоб розігріти народ!",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 6037e7581..70589adfb 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -67,13 +67,17 @@
"embed.instructions": "要内嵌此嘟文,请将以下代码贴进你的网站。",
"embed.preview": "到时大概长这样:",
"emoji_button.activity": "活动",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "旗帜",
"emoji_button.food": "食物和饮料",
"emoji_button.label": "加入表情符号",
"emoji_button.nature": "自然",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "物体",
"emoji_button.people": "人物",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "搜索…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "符号",
"emoji_button.travel": "旅途和地点",
"empty_column.community": "本站时间轴暂时未有内容,快嘟几个来抢头香啊!",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 66d32fb7e..e702a385e 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -67,13 +67,17 @@
"embed.instructions": "要內嵌此文章,請將以下代碼貼進你的網站。",
"embed.preview": "看上去會是這樣:",
"emoji_button.activity": "活動",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "旗幟",
"emoji_button.food": "飲飲食食",
"emoji_button.label": "加入表情符號",
"emoji_button.nature": "自然",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "物品",
"emoji_button.people": "人物",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "搜尋…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "符號",
"emoji_button.travel": "旅遊景物",
"empty_column.community": "本站時間軸暫時未有內容,快文章來搶頭香啊!",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index b3cc6add7..964ce15c0 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -67,13 +67,17 @@
"embed.instructions": "要內嵌此貼文,請將以下代碼貼進你的網站。",
"embed.preview": "看上去會變成這樣:",
"emoji_button.activity": "活動",
+ "emoji_button.custom": "Custom",
"emoji_button.flags": "旗幟",
"emoji_button.food": "食物與飲料",
"emoji_button.label": "插入表情符號",
"emoji_button.nature": "自然",
+ "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "物件",
"emoji_button.people": "人",
+ "emoji_button.recent": "Frequently used",
"emoji_button.search": "搜尋…",
+ "emoji_button.search_results": "Search results",
"emoji_button.symbols": "符號",
"emoji_button.travel": "旅遊與地點",
"empty_column.community": "本地時間軸是空的。公開寫點什麼吧!",
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 34f5dab7f..526dbd0c5 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -120,7 +120,7 @@ const insertSuggestion = (state, position, token, completion) => {
};
const insertEmoji = (state, position, emojiData) => {
- const emoji = emojiData.unicode.split('-').map(code => String.fromCodePoint(parseInt(code, 16))).join('');
+ const emoji = emojiData.native;
return state.withMutations(map => {
map.update('text', oldText => `${oldText.slice(0, position)}${emoji} ${oldText.slice(position)}`);
diff --git a/app/javascript/styles/application.scss b/app/javascript/styles/application.scss
index f418ba699..0eb6ac6d8 100644
--- a/app/javascript/styles/application.scss
+++ b/app/javascript/styles/application.scss
@@ -15,6 +15,7 @@
@import 'accounts';
@import 'stream_entries';
@import 'components';
+@import 'emoji_picker';
@import 'about';
@import 'tables';
@import 'admin';
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index e0a310b6c..abf5cfd5b 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -390,17 +390,11 @@
.compose-form__autosuggest-wrapper {
position: relative;
- .emoji-picker__dropdown {
+ .emoji-picker-dropdown {
position: absolute;
right: 5px;
top: 5px;
- &.dropdown--active::after {
- border-color: transparent transparent $base-border-color;
- bottom: -1px;
- right: 8px;
- }
-
::-webkit-scrollbar-track:hover,
::-webkit-scrollbar-track:active {
background-color: rgba($base-overlay-background, 0.3);
@@ -2583,197 +2577,55 @@ button.icon-button.active i.fa-retweet {
animation-direction: alternate;
}
-.emoji-dialog {
- width: 245px;
- height: 270px;
+.emoji-picker-dropdown__menu {
background: $simple-background-color;
- box-sizing: border-box;
+ position: absolute;
+ box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
border-radius: 4px;
- overflow: hidden;
- position: relative;
- box-shadow: 0 0 8px rgba($base-shadow-color, 0.2);
-
- .emojione {
- margin: 0;
- width: 100%;
- height: auto;
- }
-
- .emoji-dialog-header {
- padding: 0 10px;
-
- ul {
- padding: 0;
- margin: 0;
- list-style: none;
- }
-
- li {
- display: inline-block;
- box-sizing: border-box;
- padding: 10px 5px;
- cursor: pointer;
- border-bottom: 2px solid transparent;
-
- .emoji {
- width: 18px;
- height: 18px;
- }
-
- img,
- svg {
- width: 18px;
- height: 18px;
- filter: grayscale(100%);
- }
-
- &:hover {
- img,
- svg {
- filter: grayscale(0);
- }
- }
-
- &.active {
- border-bottom-color: $ui-highlight-color;
-
- img,
- svg {
- filter: grayscale(0);
- }
- }
- }
- }
-
- .emoji-row {
- box-sizing: border-box;
- overflow-y: hidden;
- padding-left: 10px;
-
- .emoji {
- display: inline-block;
- padding: 2.5px;
- border-radius: 4px;
- }
- }
-
- .emoji-category-header {
- box-sizing: border-box;
- overflow-y: hidden;
- padding: 10px 8px 10px 16px;
- display: table;
-
- > * {
- display: table-cell;
- vertical-align: middle;
- }
- }
+ margin-top: 5px;
- .emoji-category-title {
- font-size: 12px;
- text-transform: uppercase;
- font-weight: 500;
- color: darken($ui-secondary-color, 18%);
- cursor: default;
+ .emoji-mart-scroll {
+ transition: opacity 200ms ease;
}
- .emoji-category-heading-decoration {
- text-align: right;
+ &.selecting .emoji-mart-scroll {
+ opacity: 0.5;
}
+}
- .modifiers {
- list-style: none;
- padding: 0;
- margin: 0;
- vertical-align: middle;
- white-space: nowrap;
- margin-top: 4px;
-
- li {
- display: inline-block;
- padding: 0 2px;
-
- &:last-of-type {
- padding-right: 0;
- }
- }
-
- .modifier {
- display: inline-block;
- border-radius: 10px;
- width: 15px;
- height: 15px;
- position: relative;
- cursor: pointer;
-
- &.active::after {
- content: "";
- display: block;
- position: absolute;
- width: 7px;
- height: 7px;
- border-radius: 10px;
- border: 2px solid $base-border-color;
- top: 2px;
- left: 2px;
- }
- }
- }
+.emoji-picker-dropdown__modifiers {
+ position: absolute;
+ top: 60px;
+ right: 11px;
+ cursor: pointer;
+}
- .emoji-search-wrapper {
- padding: 10px;
- border-bottom: 1px solid lighten($ui-secondary-color, 4%);
- }
+.emoji-picker-dropdown__modifiers__menu {
+ position: absolute;
+ z-index: 4;
+ top: -4px;
+ left: -8px;
+ background: $simple-background-color;
+ border-radius: 4px;
+ box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2);
+ overflow: hidden;
- .emoji-search {
- font-size: 14px;
- font-weight: 400;
- padding: 7px 9px;
- font-family: inherit;
+ button {
display: block;
- width: 100%;
- background: rgba($ui-secondary-color, 0.3);
- color: darken($ui-secondary-color, 18%);
- border: 1px solid $ui-secondary-color;
- border-radius: 4px;
- }
-
- .emoji-categories-wrapper {
- position: absolute;
- top: 42px;
- bottom: 0;
- left: 0;
- right: 0;
- }
-
- .emoji-search-wrapper + .emoji-categories-wrapper {
- top: 93px;
- }
-
- .emoji-row .emoji {
- img,
- svg {
- transition: transform 60ms ease-in-out;
- }
-
- &:hover {
- background: lighten($ui-secondary-color, 3%);
+ cursor: pointer;
+ border: 0;
+ padding: 4px 8px;
+ background: transparent;
- img,
- svg {
- transform: translateZ(0) scale(1.2);
- }
+ &:hover,
+ &:focus,
+ &:active {
+ background: rgba($ui-secondary-color, 0.4);
}
}
- .emoji {
- width: 22px;
+ .emoji-mart-emoji {
height: 22px;
- cursor: pointer;
-
- &:focus {
- outline: 0;
- }
}
}
diff --git a/app/javascript/styles/emoji_picker.scss b/app/javascript/styles/emoji_picker.scss
new file mode 100644
index 000000000..dbd9dbd97
--- /dev/null
+++ b/app/javascript/styles/emoji_picker.scss
@@ -0,0 +1,197 @@
+.emoji-mart {
+ &,
+ * {
+ box-sizing: border-box;
+ line-height: 1.15;
+ }
+
+ font-size: 13px;
+ display: inline-block;
+ color: $ui-base-color;
+
+ .emoji-mart-emoji {
+ padding: 6px;
+ }
+}
+
+.emoji-mart-bar {
+ border: 0 solid darken($ui-secondary-color, 8%);
+
+ &:first-child {
+ border-bottom-width: 1px;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ background: $ui-secondary-color;
+ }
+
+ &:last-child {
+ border-top-width: 1px;
+ border-bottom-left-radius: 5px;
+ border-bottom-right-radius: 5px;
+ display: none;
+ }
+}
+
+.emoji-mart-anchors {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 6px;
+ color: $ui-primary-color;
+ line-height: 0;
+}
+
+.emoji-mart-anchor {
+ position: relative;
+ flex: 1;
+ text-align: center;
+ padding: 12px 4px;
+ overflow: hidden;
+ transition: color .1s ease-out;
+ cursor: pointer;
+
+ &:hover {
+ color: darken($ui-primary-color, 4%);
+ }
+}
+
+.emoji-mart-anchor-selected {
+ color: darken($ui-highlight-color, 3%);
+
+ &:hover {
+ color: darken($ui-highlight-color, 3%);
+ }
+
+ .emoji-mart-anchor-bar {
+ bottom: 0;
+ }
+}
+
+.emoji-mart-anchor-bar {
+ position: absolute;
+ bottom: -3px;
+ left: 0;
+ width: 100%;
+ height: 3px;
+ background-color: darken($ui-highlight-color, 3%);
+}
+
+.emoji-mart-anchors {
+ i {
+ display: inline-block;
+ width: 100%;
+ max-width: 22px;
+ }
+
+ svg {
+ fill: currentColor;
+ max-height: 18px;
+ }
+}
+
+.emoji-mart-scroll {
+ overflow-y: scroll;
+ height: 270px;
+ padding: 0 6px 6px;
+ background: $simple-background-color;
+}
+
+.emoji-mart-search {
+ padding: 10px;
+ padding-right: 45px;
+ background: $simple-background-color;
+
+ input {
+ font-size: 14px;
+ font-weight: 400;
+ padding: 7px 9px;
+ font-family: inherit;
+ display: block;
+ width: 100%;
+ background: rgba($ui-secondary-color, 0.3);
+ color: $ui-primary-color;
+ border: 1px solid $ui-secondary-color;
+ border-radius: 4px;
+
+ &::-moz-focus-inner {
+ border: 0;
+ }
+
+ &::-moz-focus-inner,
+ &:focus,
+ &:active {
+ outline: 0 !important;
+ }
+ }
+}
+
+.emoji-mart-category .emoji-mart-emoji {
+ cursor: pointer;
+
+ span {
+ z-index: 1;
+ position: relative;
+ text-align: center;
+ }
+
+ &:hover::before {
+ z-index: 0;
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba($ui-secondary-color, 0.7);
+ border-radius: 100%;
+ }
+}
+
+.emoji-mart-category-label {
+ z-index: 2;
+ position: relative;
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+
+ span {
+ display: block;
+ width: 100%;
+ font-weight: 500;
+ padding: 5px 6px;
+ background: $simple-background-color;
+ }
+}
+
+.emoji-mart-emoji {
+ position: relative;
+ display: inline-block;
+ font-size: 0;
+
+ span {
+ width: 22px;
+ height: 22px;
+ }
+}
+
+.emoji-mart-no-results {
+ font-size: 14px;
+ text-align: center;
+ padding-top: 70px;
+ color: $ui-primary-color;
+
+ .emoji-mart-category-label {
+ display: none;
+ }
+
+ .emoji-mart-no-results-label {
+ margin-top: .2em;
+ }
+
+ .emoji-mart-emoji:hover::before {
+ content: none;
+ }
+}
+
+.emoji-mart-preview {
+ display: none;
+}
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 15012de7e..bd846552b 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -28,7 +28,7 @@
%link{ href: asset_pack_path('features/notifications.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
%link{ href: asset_pack_path('features/community_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
%link{ href: asset_pack_path('features/public_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
- %link{ href: asset_pack_path('emojione_picker.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
+ %link{ href: asset_pack_path('emoji_picker.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
= javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
= csrf_meta_tags
diff --git a/package.json b/package.json
index 8894835cd..be9b90875 100644
--- a/package.json
+++ b/package.json
@@ -45,6 +45,7 @@
"css-loader": "^0.28.4",
"detect-passive-events": "^1.0.2",
"dotenv": "^4.0.0",
+ "emoji-mart": "^1.0.1",
"emojione": "^2.2.7",
"emojione-picker": "^2.2.1",
"es6-symbol": "^3.1.1",
diff --git a/public/emoji/0023-20e3.png b/public/emoji/0023-20e3.png
deleted file mode 100644
index 6e26f0070..000000000
Binary files a/public/emoji/0023-20e3.png and /dev/null differ
diff --git a/public/emoji/0023-20e3.svg b/public/emoji/0023-20e3.svg
deleted file mode 100644
index a29d90113..000000000
--- a/public/emoji/0023-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0023.png b/public/emoji/0023.png
deleted file mode 100644
index 811f22af8..000000000
Binary files a/public/emoji/0023.png and /dev/null differ
diff --git a/public/emoji/0023.svg b/public/emoji/0023.svg
deleted file mode 100644
index 76c606dd0..000000000
--- a/public/emoji/0023.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/002a-20e3.png b/public/emoji/002a-20e3.png
deleted file mode 100644
index 2f8e51138..000000000
Binary files a/public/emoji/002a-20e3.png and /dev/null differ
diff --git a/public/emoji/002a-20e3.svg b/public/emoji/002a-20e3.svg
deleted file mode 100644
index bc3b2e6eb..000000000
--- a/public/emoji/002a-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/002a.png b/public/emoji/002a.png
deleted file mode 100644
index c39443e24..000000000
Binary files a/public/emoji/002a.png and /dev/null differ
diff --git a/public/emoji/002a.svg b/public/emoji/002a.svg
deleted file mode 100644
index 258414904..000000000
--- a/public/emoji/002a.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0030-20e3.png b/public/emoji/0030-20e3.png
deleted file mode 100644
index 13aca83e0..000000000
Binary files a/public/emoji/0030-20e3.png and /dev/null differ
diff --git a/public/emoji/0030-20e3.svg b/public/emoji/0030-20e3.svg
deleted file mode 100644
index 57dc88909..000000000
--- a/public/emoji/0030-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0030.png b/public/emoji/0030.png
deleted file mode 100644
index e730b28df..000000000
Binary files a/public/emoji/0030.png and /dev/null differ
diff --git a/public/emoji/0030.svg b/public/emoji/0030.svg
deleted file mode 100644
index 8ea076ce9..000000000
--- a/public/emoji/0030.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0031-20e3.png b/public/emoji/0031-20e3.png
deleted file mode 100644
index e6d84b801..000000000
Binary files a/public/emoji/0031-20e3.png and /dev/null differ
diff --git a/public/emoji/0031-20e3.svg b/public/emoji/0031-20e3.svg
deleted file mode 100644
index e18178a17..000000000
--- a/public/emoji/0031-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0031.png b/public/emoji/0031.png
deleted file mode 100644
index 9c4cbd6f7..000000000
Binary files a/public/emoji/0031.png and /dev/null differ
diff --git a/public/emoji/0031.svg b/public/emoji/0031.svg
deleted file mode 100644
index c0ca63e68..000000000
--- a/public/emoji/0031.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0032-20e3.png b/public/emoji/0032-20e3.png
deleted file mode 100644
index 927339c9b..000000000
Binary files a/public/emoji/0032-20e3.png and /dev/null differ
diff --git a/public/emoji/0032-20e3.svg b/public/emoji/0032-20e3.svg
deleted file mode 100644
index c2eb5bd50..000000000
--- a/public/emoji/0032-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0032.png b/public/emoji/0032.png
deleted file mode 100644
index 9a0b49a0e..000000000
Binary files a/public/emoji/0032.png and /dev/null differ
diff --git a/public/emoji/0032.svg b/public/emoji/0032.svg
deleted file mode 100644
index abd01370a..000000000
--- a/public/emoji/0032.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0033-20e3.png b/public/emoji/0033-20e3.png
deleted file mode 100644
index dbaa6183e..000000000
Binary files a/public/emoji/0033-20e3.png and /dev/null differ
diff --git a/public/emoji/0033-20e3.svg b/public/emoji/0033-20e3.svg
deleted file mode 100644
index 295276013..000000000
--- a/public/emoji/0033-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0033.png b/public/emoji/0033.png
deleted file mode 100644
index bc898b986..000000000
Binary files a/public/emoji/0033.png and /dev/null differ
diff --git a/public/emoji/0033.svg b/public/emoji/0033.svg
deleted file mode 100644
index 3136230ff..000000000
--- a/public/emoji/0033.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0034-20e3.png b/public/emoji/0034-20e3.png
deleted file mode 100644
index b0e914aac..000000000
Binary files a/public/emoji/0034-20e3.png and /dev/null differ
diff --git a/public/emoji/0034-20e3.svg b/public/emoji/0034-20e3.svg
deleted file mode 100644
index f530a7542..000000000
--- a/public/emoji/0034-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0034.png b/public/emoji/0034.png
deleted file mode 100644
index 7216ee32b..000000000
Binary files a/public/emoji/0034.png and /dev/null differ
diff --git a/public/emoji/0034.svg b/public/emoji/0034.svg
deleted file mode 100644
index 1722ee958..000000000
--- a/public/emoji/0034.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0035-20e3.png b/public/emoji/0035-20e3.png
deleted file mode 100644
index d14371f3f..000000000
Binary files a/public/emoji/0035-20e3.png and /dev/null differ
diff --git a/public/emoji/0035-20e3.svg b/public/emoji/0035-20e3.svg
deleted file mode 100644
index dc4e1d81a..000000000
--- a/public/emoji/0035-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0035.png b/public/emoji/0035.png
deleted file mode 100644
index c64709a7e..000000000
Binary files a/public/emoji/0035.png and /dev/null differ
diff --git a/public/emoji/0035.svg b/public/emoji/0035.svg
deleted file mode 100644
index 3e7717f08..000000000
--- a/public/emoji/0035.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0036-20e3.png b/public/emoji/0036-20e3.png
deleted file mode 100644
index 371b3acef..000000000
Binary files a/public/emoji/0036-20e3.png and /dev/null differ
diff --git a/public/emoji/0036-20e3.svg b/public/emoji/0036-20e3.svg
deleted file mode 100644
index 9ce3a594f..000000000
--- a/public/emoji/0036-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0036.png b/public/emoji/0036.png
deleted file mode 100644
index 68e1e71e4..000000000
Binary files a/public/emoji/0036.png and /dev/null differ
diff --git a/public/emoji/0036.svg b/public/emoji/0036.svg
deleted file mode 100644
index 2ff6d9390..000000000
--- a/public/emoji/0036.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0037-20e3.png b/public/emoji/0037-20e3.png
deleted file mode 100644
index 9b3476ae7..000000000
Binary files a/public/emoji/0037-20e3.png and /dev/null differ
diff --git a/public/emoji/0037-20e3.svg b/public/emoji/0037-20e3.svg
deleted file mode 100644
index 1f01b9db8..000000000
--- a/public/emoji/0037-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0037.png b/public/emoji/0037.png
deleted file mode 100644
index e4aa065c6..000000000
Binary files a/public/emoji/0037.png and /dev/null differ
diff --git a/public/emoji/0037.svg b/public/emoji/0037.svg
deleted file mode 100644
index 6079e4930..000000000
--- a/public/emoji/0037.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0038-20e3.png b/public/emoji/0038-20e3.png
deleted file mode 100644
index 8c95874d4..000000000
Binary files a/public/emoji/0038-20e3.png and /dev/null differ
diff --git a/public/emoji/0038-20e3.svg b/public/emoji/0038-20e3.svg
deleted file mode 100644
index b6ed90a32..000000000
--- a/public/emoji/0038-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0038.png b/public/emoji/0038.png
deleted file mode 100644
index 27eae28e6..000000000
Binary files a/public/emoji/0038.png and /dev/null differ
diff --git a/public/emoji/0038.svg b/public/emoji/0038.svg
deleted file mode 100644
index 014bf2631..000000000
--- a/public/emoji/0038.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0039-20e3.png b/public/emoji/0039-20e3.png
deleted file mode 100644
index 9fce3d1ec..000000000
Binary files a/public/emoji/0039-20e3.png and /dev/null differ
diff --git a/public/emoji/0039-20e3.svg b/public/emoji/0039-20e3.svg
deleted file mode 100644
index c88341970..000000000
--- a/public/emoji/0039-20e3.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/0039.png b/public/emoji/0039.png
deleted file mode 100644
index fd9e98055..000000000
Binary files a/public/emoji/0039.png and /dev/null differ
diff --git a/public/emoji/0039.svg b/public/emoji/0039.svg
deleted file mode 100644
index afda6d7b6..000000000
--- a/public/emoji/0039.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/00a9.png b/public/emoji/00a9.png
deleted file mode 100644
index 6b9a6adbf..000000000
Binary files a/public/emoji/00a9.png and /dev/null differ
diff --git a/public/emoji/00a9.svg b/public/emoji/00a9.svg
deleted file mode 100644
index 68a770227..000000000
--- a/public/emoji/00a9.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/00ae.png b/public/emoji/00ae.png
deleted file mode 100644
index 53ef9f2d4..000000000
Binary files a/public/emoji/00ae.png and /dev/null differ
diff --git a/public/emoji/00ae.svg b/public/emoji/00ae.svg
deleted file mode 100644
index 8b084f6bf..000000000
--- a/public/emoji/00ae.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f004.png b/public/emoji/1f004.png
deleted file mode 100644
index 66fd32025..000000000
Binary files a/public/emoji/1f004.png and /dev/null differ
diff --git a/public/emoji/1f004.svg b/public/emoji/1f004.svg
index 45867fb5a..f6f39e433 100644
--- a/public/emoji/1f004.svg
+++ b/public/emoji/1f004.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f0cf.png b/public/emoji/1f0cf.png
deleted file mode 100644
index 3d0924b68..000000000
Binary files a/public/emoji/1f0cf.png and /dev/null differ
diff --git a/public/emoji/1f0cf.svg b/public/emoji/1f0cf.svg
index 45ae8abcc..ae95b9954 100644
--- a/public/emoji/1f0cf.svg
+++ b/public/emoji/1f0cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f170.png b/public/emoji/1f170.png
deleted file mode 100644
index 8603ff05a..000000000
Binary files a/public/emoji/1f170.png and /dev/null differ
diff --git a/public/emoji/1f170.svg b/public/emoji/1f170.svg
index a2ed41f33..c9fc32b71 100644
--- a/public/emoji/1f170.svg
+++ b/public/emoji/1f170.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f171.png b/public/emoji/1f171.png
deleted file mode 100644
index 25875bc6a..000000000
Binary files a/public/emoji/1f171.png and /dev/null differ
diff --git a/public/emoji/1f171.svg b/public/emoji/1f171.svg
index d0f8e6494..f7251222d 100644
--- a/public/emoji/1f171.svg
+++ b/public/emoji/1f171.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f17e.png b/public/emoji/1f17e.png
deleted file mode 100644
index 73278ba19..000000000
Binary files a/public/emoji/1f17e.png and /dev/null differ
diff --git a/public/emoji/1f17e.svg b/public/emoji/1f17e.svg
index 8844efa53..96c14b4c3 100644
--- a/public/emoji/1f17e.svg
+++ b/public/emoji/1f17e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f17f.png b/public/emoji/1f17f.png
deleted file mode 100644
index 7be7dac27..000000000
Binary files a/public/emoji/1f17f.png and /dev/null differ
diff --git a/public/emoji/1f17f.svg b/public/emoji/1f17f.svg
index 5d8564444..33db94984 100644
--- a/public/emoji/1f17f.svg
+++ b/public/emoji/1f17f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f18e.png b/public/emoji/1f18e.png
deleted file mode 100644
index d9f2d17de..000000000
Binary files a/public/emoji/1f18e.png and /dev/null differ
diff --git a/public/emoji/1f18e.svg b/public/emoji/1f18e.svg
index 6c5e8866f..207d4cf09 100644
--- a/public/emoji/1f18e.svg
+++ b/public/emoji/1f18e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f191.png b/public/emoji/1f191.png
deleted file mode 100644
index 8b01b4343..000000000
Binary files a/public/emoji/1f191.png and /dev/null differ
diff --git a/public/emoji/1f191.svg b/public/emoji/1f191.svg
index ef2cbf896..7334171fd 100644
--- a/public/emoji/1f191.svg
+++ b/public/emoji/1f191.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f192.png b/public/emoji/1f192.png
deleted file mode 100644
index 74674978d..000000000
Binary files a/public/emoji/1f192.png and /dev/null differ
diff --git a/public/emoji/1f192.svg b/public/emoji/1f192.svg
index 4bcdb3b91..86fd7df12 100644
--- a/public/emoji/1f192.svg
+++ b/public/emoji/1f192.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f193.png b/public/emoji/1f193.png
deleted file mode 100644
index b71956eb4..000000000
Binary files a/public/emoji/1f193.png and /dev/null differ
diff --git a/public/emoji/1f193.svg b/public/emoji/1f193.svg
index d26b8c27c..72a80ae58 100644
--- a/public/emoji/1f193.svg
+++ b/public/emoji/1f193.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f194.png b/public/emoji/1f194.png
deleted file mode 100644
index 5bf69bf7b..000000000
Binary files a/public/emoji/1f194.png and /dev/null differ
diff --git a/public/emoji/1f194.svg b/public/emoji/1f194.svg
index 0c36d517b..9d72b800c 100644
--- a/public/emoji/1f194.svg
+++ b/public/emoji/1f194.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f195.png b/public/emoji/1f195.png
deleted file mode 100644
index b4f85488d..000000000
Binary files a/public/emoji/1f195.png and /dev/null differ
diff --git a/public/emoji/1f195.svg b/public/emoji/1f195.svg
index ad6466f5e..22dad4cf8 100644
--- a/public/emoji/1f195.svg
+++ b/public/emoji/1f195.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f196.png b/public/emoji/1f196.png
deleted file mode 100644
index ee8d20f5e..000000000
Binary files a/public/emoji/1f196.png and /dev/null differ
diff --git a/public/emoji/1f196.svg b/public/emoji/1f196.svg
index fe38c95a4..50bf80034 100644
--- a/public/emoji/1f196.svg
+++ b/public/emoji/1f196.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f197.png b/public/emoji/1f197.png
deleted file mode 100644
index d0d775532..000000000
Binary files a/public/emoji/1f197.png and /dev/null differ
diff --git a/public/emoji/1f197.svg b/public/emoji/1f197.svg
index c45e4e1c9..9f43d676f 100644
--- a/public/emoji/1f197.svg
+++ b/public/emoji/1f197.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f198.png b/public/emoji/1f198.png
deleted file mode 100644
index d7d8c9953..000000000
Binary files a/public/emoji/1f198.png and /dev/null differ
diff --git a/public/emoji/1f198.svg b/public/emoji/1f198.svg
index fef773a90..36cf60117 100644
--- a/public/emoji/1f198.svg
+++ b/public/emoji/1f198.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f199.png b/public/emoji/1f199.png
deleted file mode 100644
index 0d42142ba..000000000
Binary files a/public/emoji/1f199.png and /dev/null differ
diff --git a/public/emoji/1f199.svg b/public/emoji/1f199.svg
index f5bc638ac..1f2d8e60a 100644
--- a/public/emoji/1f199.svg
+++ b/public/emoji/1f199.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f19a.png b/public/emoji/1f19a.png
deleted file mode 100644
index e1180f4a4..000000000
Binary files a/public/emoji/1f19a.png and /dev/null differ
diff --git a/public/emoji/1f19a.svg b/public/emoji/1f19a.svg
index 6d2545d60..af8f685dc 100644
--- a/public/emoji/1f19a.svg
+++ b/public/emoji/1f19a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1e8.png b/public/emoji/1f1e6-1f1e8.png
deleted file mode 100644
index 286239920..000000000
Binary files a/public/emoji/1f1e6-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1e8.svg b/public/emoji/1f1e6-1f1e8.svg
index 23d700999..588d4e8bf 100644
--- a/public/emoji/1f1e6-1f1e8.svg
+++ b/public/emoji/1f1e6-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1e9.png b/public/emoji/1f1e6-1f1e9.png
deleted file mode 100644
index 20f4b14e8..000000000
Binary files a/public/emoji/1f1e6-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1e9.svg b/public/emoji/1f1e6-1f1e9.svg
index 0340b9d6d..e0e8608b8 100644
--- a/public/emoji/1f1e6-1f1e9.svg
+++ b/public/emoji/1f1e6-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1ea.png b/public/emoji/1f1e6-1f1ea.png
deleted file mode 100644
index d16ffe4b8..000000000
Binary files a/public/emoji/1f1e6-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1ea.svg b/public/emoji/1f1e6-1f1ea.svg
index 6610e894c..571251753 100644
--- a/public/emoji/1f1e6-1f1ea.svg
+++ b/public/emoji/1f1e6-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1eb.png b/public/emoji/1f1e6-1f1eb.png
deleted file mode 100644
index a51533b55..000000000
Binary files a/public/emoji/1f1e6-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1eb.svg b/public/emoji/1f1e6-1f1eb.svg
index e1998a6b2..9e880f92e 100644
--- a/public/emoji/1f1e6-1f1eb.svg
+++ b/public/emoji/1f1e6-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1ec.png b/public/emoji/1f1e6-1f1ec.png
deleted file mode 100644
index 07f2ce397..000000000
Binary files a/public/emoji/1f1e6-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1ec.svg b/public/emoji/1f1e6-1f1ec.svg
index 0bcf4ebdc..10d53620b 100644
--- a/public/emoji/1f1e6-1f1ec.svg
+++ b/public/emoji/1f1e6-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1ee.png b/public/emoji/1f1e6-1f1ee.png
deleted file mode 100644
index 500b5ab09..000000000
Binary files a/public/emoji/1f1e6-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1ee.svg b/public/emoji/1f1e6-1f1ee.svg
index c117d6087..cf17878e0 100644
--- a/public/emoji/1f1e6-1f1ee.svg
+++ b/public/emoji/1f1e6-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f1.png b/public/emoji/1f1e6-1f1f1.png
deleted file mode 100644
index 03a20132c..000000000
Binary files a/public/emoji/1f1e6-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f1.svg b/public/emoji/1f1e6-1f1f1.svg
index 62c373cb0..5de35c369 100644
--- a/public/emoji/1f1e6-1f1f1.svg
+++ b/public/emoji/1f1e6-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f2.png b/public/emoji/1f1e6-1f1f2.png
deleted file mode 100644
index 2ad60a273..000000000
Binary files a/public/emoji/1f1e6-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f2.svg b/public/emoji/1f1e6-1f1f2.svg
index 619935b02..0b87990cc 100644
--- a/public/emoji/1f1e6-1f1f2.svg
+++ b/public/emoji/1f1e6-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f4.png b/public/emoji/1f1e6-1f1f4.png
deleted file mode 100644
index cb46c31f8..000000000
Binary files a/public/emoji/1f1e6-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f4.svg b/public/emoji/1f1e6-1f1f4.svg
index 7440d2d23..32692e12d 100644
--- a/public/emoji/1f1e6-1f1f4.svg
+++ b/public/emoji/1f1e6-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f6.png b/public/emoji/1f1e6-1f1f6.png
deleted file mode 100644
index b272021d3..000000000
Binary files a/public/emoji/1f1e6-1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f6.svg b/public/emoji/1f1e6-1f1f6.svg
index 476eac881..8f8250990 100644
--- a/public/emoji/1f1e6-1f1f6.svg
+++ b/public/emoji/1f1e6-1f1f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f7.png b/public/emoji/1f1e6-1f1f7.png
deleted file mode 100644
index 73136caf3..000000000
Binary files a/public/emoji/1f1e6-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f7.svg b/public/emoji/1f1e6-1f1f7.svg
index 040ef76bb..983c6df9d 100644
--- a/public/emoji/1f1e6-1f1f7.svg
+++ b/public/emoji/1f1e6-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f8.png b/public/emoji/1f1e6-1f1f8.png
deleted file mode 100644
index 3db45a0d9..000000000
Binary files a/public/emoji/1f1e6-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f8.svg b/public/emoji/1f1e6-1f1f8.svg
index 158d0c6f4..d4334d65c 100644
--- a/public/emoji/1f1e6-1f1f8.svg
+++ b/public/emoji/1f1e6-1f1f8.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1f9.png b/public/emoji/1f1e6-1f1f9.png
deleted file mode 100644
index c43769dcb..000000000
Binary files a/public/emoji/1f1e6-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1f9.svg b/public/emoji/1f1e6-1f1f9.svg
index 407ac4035..ea3c039e5 100644
--- a/public/emoji/1f1e6-1f1f9.svg
+++ b/public/emoji/1f1e6-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1fa.png b/public/emoji/1f1e6-1f1fa.png
deleted file mode 100644
index 7794309c7..000000000
Binary files a/public/emoji/1f1e6-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1fa.svg b/public/emoji/1f1e6-1f1fa.svg
index 48ab1dc09..986705ff9 100644
--- a/public/emoji/1f1e6-1f1fa.svg
+++ b/public/emoji/1f1e6-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1fc.png b/public/emoji/1f1e6-1f1fc.png
deleted file mode 100644
index 02c840d12..000000000
Binary files a/public/emoji/1f1e6-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1fc.svg b/public/emoji/1f1e6-1f1fc.svg
index ab3f2d057..3ec298915 100644
--- a/public/emoji/1f1e6-1f1fc.svg
+++ b/public/emoji/1f1e6-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1fd.png b/public/emoji/1f1e6-1f1fd.png
deleted file mode 100644
index fc5466174..000000000
Binary files a/public/emoji/1f1e6-1f1fd.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1fd.svg b/public/emoji/1f1e6-1f1fd.svg
index 81ab22551..939ea37c7 100644
--- a/public/emoji/1f1e6-1f1fd.svg
+++ b/public/emoji/1f1e6-1f1fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6-1f1ff.png b/public/emoji/1f1e6-1f1ff.png
deleted file mode 100644
index 89d3d15fd..000000000
Binary files a/public/emoji/1f1e6-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1e6-1f1ff.svg b/public/emoji/1f1e6-1f1ff.svg
index 4ac419fbc..d05dffbc2 100644
--- a/public/emoji/1f1e6-1f1ff.svg
+++ b/public/emoji/1f1e6-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e6.png b/public/emoji/1f1e6.png
deleted file mode 100644
index 2b6c43956..000000000
Binary files a/public/emoji/1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1e6.svg b/public/emoji/1f1e6.svg
index 5670a81a0..845aea33b 100644
--- a/public/emoji/1f1e6.svg
+++ b/public/emoji/1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1e6.png b/public/emoji/1f1e7-1f1e6.png
deleted file mode 100644
index 25fe407e1..000000000
Binary files a/public/emoji/1f1e7-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1e6.svg b/public/emoji/1f1e7-1f1e6.svg
index 9c14bd4b6..e30dd2cb3 100644
--- a/public/emoji/1f1e7-1f1e6.svg
+++ b/public/emoji/1f1e7-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1e7.png b/public/emoji/1f1e7-1f1e7.png
deleted file mode 100644
index bccd8c5c9..000000000
Binary files a/public/emoji/1f1e7-1f1e7.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1e7.svg b/public/emoji/1f1e7-1f1e7.svg
index 6bf8ae2cd..2eeb18255 100644
--- a/public/emoji/1f1e7-1f1e7.svg
+++ b/public/emoji/1f1e7-1f1e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1e9.png b/public/emoji/1f1e7-1f1e9.png
deleted file mode 100644
index b0597a314..000000000
Binary files a/public/emoji/1f1e7-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1e9.svg b/public/emoji/1f1e7-1f1e9.svg
index e2713372a..5d16a3f3a 100644
--- a/public/emoji/1f1e7-1f1e9.svg
+++ b/public/emoji/1f1e7-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ea.png b/public/emoji/1f1e7-1f1ea.png
deleted file mode 100644
index 551f086e3..000000000
Binary files a/public/emoji/1f1e7-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ea.svg b/public/emoji/1f1e7-1f1ea.svg
index 085c2cdb6..18a9d1bb1 100644
--- a/public/emoji/1f1e7-1f1ea.svg
+++ b/public/emoji/1f1e7-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1eb.png b/public/emoji/1f1e7-1f1eb.png
deleted file mode 100644
index 444d4829f..000000000
Binary files a/public/emoji/1f1e7-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1eb.svg b/public/emoji/1f1e7-1f1eb.svg
index eeb129a77..769b898c9 100644
--- a/public/emoji/1f1e7-1f1eb.svg
+++ b/public/emoji/1f1e7-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ec.png b/public/emoji/1f1e7-1f1ec.png
deleted file mode 100644
index 821eee5e1..000000000
Binary files a/public/emoji/1f1e7-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ec.svg b/public/emoji/1f1e7-1f1ec.svg
index f6a6723c0..4caa980b1 100644
--- a/public/emoji/1f1e7-1f1ec.svg
+++ b/public/emoji/1f1e7-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ed.png b/public/emoji/1f1e7-1f1ed.png
deleted file mode 100644
index f33724249..000000000
Binary files a/public/emoji/1f1e7-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ed.svg b/public/emoji/1f1e7-1f1ed.svg
index f708818b1..8ee8c0818 100644
--- a/public/emoji/1f1e7-1f1ed.svg
+++ b/public/emoji/1f1e7-1f1ed.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ee.png b/public/emoji/1f1e7-1f1ee.png
deleted file mode 100644
index ea20ac932..000000000
Binary files a/public/emoji/1f1e7-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ee.svg b/public/emoji/1f1e7-1f1ee.svg
index 7ea0077c0..4b0122f05 100644
--- a/public/emoji/1f1e7-1f1ee.svg
+++ b/public/emoji/1f1e7-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ef.png b/public/emoji/1f1e7-1f1ef.png
deleted file mode 100644
index 7cca4f804..000000000
Binary files a/public/emoji/1f1e7-1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ef.svg b/public/emoji/1f1e7-1f1ef.svg
index 0e99fb00d..d3d3435ff 100644
--- a/public/emoji/1f1e7-1f1ef.svg
+++ b/public/emoji/1f1e7-1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f1.png b/public/emoji/1f1e7-1f1f1.png
deleted file mode 100644
index 1082e7899..000000000
Binary files a/public/emoji/1f1e7-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f1.svg b/public/emoji/1f1e7-1f1f1.svg
index ad59884c6..77b2b07bc 100644
--- a/public/emoji/1f1e7-1f1f1.svg
+++ b/public/emoji/1f1e7-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f2.png b/public/emoji/1f1e7-1f1f2.png
deleted file mode 100644
index ab8cafdac..000000000
Binary files a/public/emoji/1f1e7-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f2.svg b/public/emoji/1f1e7-1f1f2.svg
index ba96edd0e..723f28577 100644
--- a/public/emoji/1f1e7-1f1f2.svg
+++ b/public/emoji/1f1e7-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f3.png b/public/emoji/1f1e7-1f1f3.png
deleted file mode 100644
index caa9329a8..000000000
Binary files a/public/emoji/1f1e7-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f3.svg b/public/emoji/1f1e7-1f1f3.svg
index 3271af93c..669fd4045 100644
--- a/public/emoji/1f1e7-1f1f3.svg
+++ b/public/emoji/1f1e7-1f1f3.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f4.png b/public/emoji/1f1e7-1f1f4.png
deleted file mode 100644
index 98af62b3d..000000000
Binary files a/public/emoji/1f1e7-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f4.svg b/public/emoji/1f1e7-1f1f4.svg
index 49a94e9e9..f702e40b6 100644
--- a/public/emoji/1f1e7-1f1f4.svg
+++ b/public/emoji/1f1e7-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f6.png b/public/emoji/1f1e7-1f1f6.png
deleted file mode 100644
index cb978ef9d..000000000
Binary files a/public/emoji/1f1e7-1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f6.svg b/public/emoji/1f1e7-1f1f6.svg
index a835cb570..25fad1393 100644
--- a/public/emoji/1f1e7-1f1f6.svg
+++ b/public/emoji/1f1e7-1f1f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f7.png b/public/emoji/1f1e7-1f1f7.png
deleted file mode 100644
index b139366a4..000000000
Binary files a/public/emoji/1f1e7-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f7.svg b/public/emoji/1f1e7-1f1f7.svg
index 3191070a2..f9b120d64 100644
--- a/public/emoji/1f1e7-1f1f7.svg
+++ b/public/emoji/1f1e7-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f8.png b/public/emoji/1f1e7-1f1f8.png
deleted file mode 100644
index d36bcd2fb..000000000
Binary files a/public/emoji/1f1e7-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f8.svg b/public/emoji/1f1e7-1f1f8.svg
index a353225a2..48f72d7f8 100644
--- a/public/emoji/1f1e7-1f1f8.svg
+++ b/public/emoji/1f1e7-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1f9.png b/public/emoji/1f1e7-1f1f9.png
deleted file mode 100644
index ed57aa036..000000000
Binary files a/public/emoji/1f1e7-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1f9.svg b/public/emoji/1f1e7-1f1f9.svg
index fb5784cc7..ac8ba9d37 100644
--- a/public/emoji/1f1e7-1f1f9.svg
+++ b/public/emoji/1f1e7-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1fb.png b/public/emoji/1f1e7-1f1fb.png
deleted file mode 100644
index 5884e6482..000000000
Binary files a/public/emoji/1f1e7-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1fb.svg b/public/emoji/1f1e7-1f1fb.svg
index e9f5672c6..75ed1e94a 100644
--- a/public/emoji/1f1e7-1f1fb.svg
+++ b/public/emoji/1f1e7-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1fc.png b/public/emoji/1f1e7-1f1fc.png
deleted file mode 100644
index cb12f3473..000000000
Binary files a/public/emoji/1f1e7-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1fc.svg b/public/emoji/1f1e7-1f1fc.svg
index 05f152a37..f29ad45ce 100644
--- a/public/emoji/1f1e7-1f1fc.svg
+++ b/public/emoji/1f1e7-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1fe.png b/public/emoji/1f1e7-1f1fe.png
deleted file mode 100644
index 859c05beb..000000000
Binary files a/public/emoji/1f1e7-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1fe.svg b/public/emoji/1f1e7-1f1fe.svg
index f27068ab6..b7ba015c3 100644
--- a/public/emoji/1f1e7-1f1fe.svg
+++ b/public/emoji/1f1e7-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7-1f1ff.png b/public/emoji/1f1e7-1f1ff.png
deleted file mode 100644
index 34761cd03..000000000
Binary files a/public/emoji/1f1e7-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1e7-1f1ff.svg b/public/emoji/1f1e7-1f1ff.svg
index a2e5cffc0..36f0d2e6c 100644
--- a/public/emoji/1f1e7-1f1ff.svg
+++ b/public/emoji/1f1e7-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e7.png b/public/emoji/1f1e7.png
deleted file mode 100644
index 8f69fa973..000000000
Binary files a/public/emoji/1f1e7.png and /dev/null differ
diff --git a/public/emoji/1f1e7.svg b/public/emoji/1f1e7.svg
index 7590fdd8e..70bee8133 100644
--- a/public/emoji/1f1e7.svg
+++ b/public/emoji/1f1e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1e6.png b/public/emoji/1f1e8-1f1e6.png
deleted file mode 100644
index 7c5b390e8..000000000
Binary files a/public/emoji/1f1e8-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1e6.svg b/public/emoji/1f1e8-1f1e6.svg
index 886c66e27..555d21808 100644
--- a/public/emoji/1f1e8-1f1e6.svg
+++ b/public/emoji/1f1e8-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1e8.png b/public/emoji/1f1e8-1f1e8.png
deleted file mode 100644
index b6555a23d..000000000
Binary files a/public/emoji/1f1e8-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1e8.svg b/public/emoji/1f1e8-1f1e8.svg
index 8d002807b..a8d74a752 100644
--- a/public/emoji/1f1e8-1f1e8.svg
+++ b/public/emoji/1f1e8-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1e9.png b/public/emoji/1f1e8-1f1e9.png
deleted file mode 100644
index fa9200977..000000000
Binary files a/public/emoji/1f1e8-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1e9.svg b/public/emoji/1f1e8-1f1e9.svg
index c635b47e7..1495355e4 100644
--- a/public/emoji/1f1e8-1f1e9.svg
+++ b/public/emoji/1f1e8-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1eb.png b/public/emoji/1f1e8-1f1eb.png
deleted file mode 100644
index b969ae29e..000000000
Binary files a/public/emoji/1f1e8-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1eb.svg b/public/emoji/1f1e8-1f1eb.svg
index 919121cd3..d9fcde0a9 100644
--- a/public/emoji/1f1e8-1f1eb.svg
+++ b/public/emoji/1f1e8-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1ec.png b/public/emoji/1f1e8-1f1ec.png
deleted file mode 100644
index 3a38a40a9..000000000
Binary files a/public/emoji/1f1e8-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1ec.svg b/public/emoji/1f1e8-1f1ec.svg
index d511520b9..c9496fe12 100644
--- a/public/emoji/1f1e8-1f1ec.svg
+++ b/public/emoji/1f1e8-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1ed.png b/public/emoji/1f1e8-1f1ed.png
deleted file mode 100644
index 5ff86b8a3..000000000
Binary files a/public/emoji/1f1e8-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1ed.svg b/public/emoji/1f1e8-1f1ed.svg
index 507afb370..46e47864f 100644
--- a/public/emoji/1f1e8-1f1ed.svg
+++ b/public/emoji/1f1e8-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1ee.png b/public/emoji/1f1e8-1f1ee.png
deleted file mode 100644
index e3b4d15c7..000000000
Binary files a/public/emoji/1f1e8-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1ee.svg b/public/emoji/1f1e8-1f1ee.svg
index 4ae397b28..47188a220 100644
--- a/public/emoji/1f1e8-1f1ee.svg
+++ b/public/emoji/1f1e8-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f0.png b/public/emoji/1f1e8-1f1f0.png
deleted file mode 100644
index b6b53dbc1..000000000
Binary files a/public/emoji/1f1e8-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f0.svg b/public/emoji/1f1e8-1f1f0.svg
index 683223e29..bec3a0836 100644
--- a/public/emoji/1f1e8-1f1f0.svg
+++ b/public/emoji/1f1e8-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f1.png b/public/emoji/1f1e8-1f1f1.png
deleted file mode 100644
index c9390da54..000000000
Binary files a/public/emoji/1f1e8-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f1.svg b/public/emoji/1f1e8-1f1f1.svg
index 51be06e67..6ebd46453 100644
--- a/public/emoji/1f1e8-1f1f1.svg
+++ b/public/emoji/1f1e8-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f2.png b/public/emoji/1f1e8-1f1f2.png
deleted file mode 100644
index 2d3f6ec45..000000000
Binary files a/public/emoji/1f1e8-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f2.svg b/public/emoji/1f1e8-1f1f2.svg
index e86d029a4..e7651a513 100644
--- a/public/emoji/1f1e8-1f1f2.svg
+++ b/public/emoji/1f1e8-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f3.png b/public/emoji/1f1e8-1f1f3.png
deleted file mode 100644
index 0a7f350a6..000000000
Binary files a/public/emoji/1f1e8-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f3.svg b/public/emoji/1f1e8-1f1f3.svg
index 9e5bd6650..646cea9d9 100644
--- a/public/emoji/1f1e8-1f1f3.svg
+++ b/public/emoji/1f1e8-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f4.png b/public/emoji/1f1e8-1f1f4.png
deleted file mode 100644
index 7e0f5e0dc..000000000
Binary files a/public/emoji/1f1e8-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f4.svg b/public/emoji/1f1e8-1f1f4.svg
index 387be03c3..e9cb4f814 100644
--- a/public/emoji/1f1e8-1f1f4.svg
+++ b/public/emoji/1f1e8-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f5.png b/public/emoji/1f1e8-1f1f5.png
deleted file mode 100644
index 70c761036..000000000
Binary files a/public/emoji/1f1e8-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f5.svg b/public/emoji/1f1e8-1f1f5.svg
index 16bfba0cf..359779e7f 100644
--- a/public/emoji/1f1e8-1f1f5.svg
+++ b/public/emoji/1f1e8-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1f7.png b/public/emoji/1f1e8-1f1f7.png
deleted file mode 100644
index a5fce1265..000000000
Binary files a/public/emoji/1f1e8-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1f7.svg b/public/emoji/1f1e8-1f1f7.svg
index e8510bc05..18dabbc4e 100644
--- a/public/emoji/1f1e8-1f1f7.svg
+++ b/public/emoji/1f1e8-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1fa.png b/public/emoji/1f1e8-1f1fa.png
deleted file mode 100644
index 447328f7d..000000000
Binary files a/public/emoji/1f1e8-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1fa.svg b/public/emoji/1f1e8-1f1fa.svg
index ae73709b6..d8c05766c 100644
--- a/public/emoji/1f1e8-1f1fa.svg
+++ b/public/emoji/1f1e8-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1fb.png b/public/emoji/1f1e8-1f1fb.png
deleted file mode 100644
index 43faf4d64..000000000
Binary files a/public/emoji/1f1e8-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1fb.svg b/public/emoji/1f1e8-1f1fb.svg
index c3c11d621..d9055e7f3 100644
--- a/public/emoji/1f1e8-1f1fb.svg
+++ b/public/emoji/1f1e8-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1fc.png b/public/emoji/1f1e8-1f1fc.png
deleted file mode 100644
index eb39e8d00..000000000
Binary files a/public/emoji/1f1e8-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1fc.svg b/public/emoji/1f1e8-1f1fc.svg
index cecfdbffd..e05eae77f 100644
--- a/public/emoji/1f1e8-1f1fc.svg
+++ b/public/emoji/1f1e8-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1fd.png b/public/emoji/1f1e8-1f1fd.png
deleted file mode 100644
index 09d21359f..000000000
Binary files a/public/emoji/1f1e8-1f1fd.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1fd.svg b/public/emoji/1f1e8-1f1fd.svg
index 281154200..30857e46b 100644
--- a/public/emoji/1f1e8-1f1fd.svg
+++ b/public/emoji/1f1e8-1f1fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1fe.png b/public/emoji/1f1e8-1f1fe.png
deleted file mode 100644
index 154a7aa31..000000000
Binary files a/public/emoji/1f1e8-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1fe.svg b/public/emoji/1f1e8-1f1fe.svg
index 4529030d1..fe7b2b05f 100644
--- a/public/emoji/1f1e8-1f1fe.svg
+++ b/public/emoji/1f1e8-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8-1f1ff.png b/public/emoji/1f1e8-1f1ff.png
deleted file mode 100644
index 9737ca223..000000000
Binary files a/public/emoji/1f1e8-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1e8-1f1ff.svg b/public/emoji/1f1e8-1f1ff.svg
index 3226720be..3dd8a789c 100644
--- a/public/emoji/1f1e8-1f1ff.svg
+++ b/public/emoji/1f1e8-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e8.png b/public/emoji/1f1e8.png
deleted file mode 100644
index f94e668a2..000000000
Binary files a/public/emoji/1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1e8.svg b/public/emoji/1f1e8.svg
index 1aa1eabd4..c2a6d71f1 100644
--- a/public/emoji/1f1e8.svg
+++ b/public/emoji/1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1ea.png b/public/emoji/1f1e9-1f1ea.png
deleted file mode 100644
index 98ed76b3b..000000000
Binary files a/public/emoji/1f1e9-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1ea.svg b/public/emoji/1f1e9-1f1ea.svg
index b2015a77a..ef390466f 100644
--- a/public/emoji/1f1e9-1f1ea.svg
+++ b/public/emoji/1f1e9-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1ec.png b/public/emoji/1f1e9-1f1ec.png
deleted file mode 100644
index aae927d14..000000000
Binary files a/public/emoji/1f1e9-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1ec.svg b/public/emoji/1f1e9-1f1ec.svg
index 04d9b4ee6..0266453dd 100644
--- a/public/emoji/1f1e9-1f1ec.svg
+++ b/public/emoji/1f1e9-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1ef.png b/public/emoji/1f1e9-1f1ef.png
deleted file mode 100644
index 73c2a2acb..000000000
Binary files a/public/emoji/1f1e9-1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1ef.svg b/public/emoji/1f1e9-1f1ef.svg
index f4ae5eafa..a4daa6f94 100644
--- a/public/emoji/1f1e9-1f1ef.svg
+++ b/public/emoji/1f1e9-1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1f0.png b/public/emoji/1f1e9-1f1f0.png
deleted file mode 100644
index e5a60b062..000000000
Binary files a/public/emoji/1f1e9-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1f0.svg b/public/emoji/1f1e9-1f1f0.svg
index fd2d704d0..ceda13d97 100644
--- a/public/emoji/1f1e9-1f1f0.svg
+++ b/public/emoji/1f1e9-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1f2.png b/public/emoji/1f1e9-1f1f2.png
deleted file mode 100644
index 50f8a5398..000000000
Binary files a/public/emoji/1f1e9-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1f2.svg b/public/emoji/1f1e9-1f1f2.svg
index 27fc817ba..66d850adc 100644
--- a/public/emoji/1f1e9-1f1f2.svg
+++ b/public/emoji/1f1e9-1f1f2.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1f4.png b/public/emoji/1f1e9-1f1f4.png
deleted file mode 100644
index 037a45d7c..000000000
Binary files a/public/emoji/1f1e9-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1f4.svg b/public/emoji/1f1e9-1f1f4.svg
index 133278cbb..48967b1c9 100644
--- a/public/emoji/1f1e9-1f1f4.svg
+++ b/public/emoji/1f1e9-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9-1f1ff.png b/public/emoji/1f1e9-1f1ff.png
deleted file mode 100644
index 24945b10f..000000000
Binary files a/public/emoji/1f1e9-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1e9-1f1ff.svg b/public/emoji/1f1e9-1f1ff.svg
index 081674e2a..243c153f3 100644
--- a/public/emoji/1f1e9-1f1ff.svg
+++ b/public/emoji/1f1e9-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1e9.png b/public/emoji/1f1e9.png
deleted file mode 100644
index 4a36666e5..000000000
Binary files a/public/emoji/1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1e9.svg b/public/emoji/1f1e9.svg
index e7085af16..b96b27d1f 100644
--- a/public/emoji/1f1e9.svg
+++ b/public/emoji/1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1e6.png b/public/emoji/1f1ea-1f1e6.png
deleted file mode 100644
index 356ff3478..000000000
Binary files a/public/emoji/1f1ea-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1e6.svg b/public/emoji/1f1ea-1f1e6.svg
index 0a39cf63e..97f8ad011 100644
--- a/public/emoji/1f1ea-1f1e6.svg
+++ b/public/emoji/1f1ea-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1e8.png b/public/emoji/1f1ea-1f1e8.png
deleted file mode 100644
index 138145946..000000000
Binary files a/public/emoji/1f1ea-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1e8.svg b/public/emoji/1f1ea-1f1e8.svg
index 2d7bf4d1b..d8af4a192 100644
--- a/public/emoji/1f1ea-1f1e8.svg
+++ b/public/emoji/1f1ea-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1ea.png b/public/emoji/1f1ea-1f1ea.png
deleted file mode 100644
index 84f317e77..000000000
Binary files a/public/emoji/1f1ea-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1ea.svg b/public/emoji/1f1ea-1f1ea.svg
index 0f3f6d8ed..e8359c64b 100644
--- a/public/emoji/1f1ea-1f1ea.svg
+++ b/public/emoji/1f1ea-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1ec.png b/public/emoji/1f1ea-1f1ec.png
deleted file mode 100644
index 57786064a..000000000
Binary files a/public/emoji/1f1ea-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1ec.svg b/public/emoji/1f1ea-1f1ec.svg
index ee47f26c9..9018d1c60 100644
--- a/public/emoji/1f1ea-1f1ec.svg
+++ b/public/emoji/1f1ea-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1ed.png b/public/emoji/1f1ea-1f1ed.png
deleted file mode 100644
index 4d7a76687..000000000
Binary files a/public/emoji/1f1ea-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1ed.svg b/public/emoji/1f1ea-1f1ed.svg
index 63f1fe8ac..a4bbad309 100644
--- a/public/emoji/1f1ea-1f1ed.svg
+++ b/public/emoji/1f1ea-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1f7.png b/public/emoji/1f1ea-1f1f7.png
deleted file mode 100644
index 0c3c724c1..000000000
Binary files a/public/emoji/1f1ea-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1f7.svg b/public/emoji/1f1ea-1f1f7.svg
index 616efd6cc..067278b02 100644
--- a/public/emoji/1f1ea-1f1f7.svg
+++ b/public/emoji/1f1ea-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1f8.png b/public/emoji/1f1ea-1f1f8.png
deleted file mode 100644
index 3e73597a2..000000000
Binary files a/public/emoji/1f1ea-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1f8.svg b/public/emoji/1f1ea-1f1f8.svg
index 891a2597b..97f8ad011 100644
--- a/public/emoji/1f1ea-1f1f8.svg
+++ b/public/emoji/1f1ea-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1f9.png b/public/emoji/1f1ea-1f1f9.png
deleted file mode 100644
index 9560a134c..000000000
Binary files a/public/emoji/1f1ea-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1f9.svg b/public/emoji/1f1ea-1f1f9.svg
index ab724478e..7e7a5194d 100644
--- a/public/emoji/1f1ea-1f1f9.svg
+++ b/public/emoji/1f1ea-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea-1f1fa.png b/public/emoji/1f1ea-1f1fa.png
deleted file mode 100644
index 0b456cf33..000000000
Binary files a/public/emoji/1f1ea-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1ea-1f1fa.svg b/public/emoji/1f1ea-1f1fa.svg
index 40416b4ba..76f6485a8 100644
--- a/public/emoji/1f1ea-1f1fa.svg
+++ b/public/emoji/1f1ea-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ea.png b/public/emoji/1f1ea.png
deleted file mode 100644
index 66f7e8d8c..000000000
Binary files a/public/emoji/1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1ea.svg b/public/emoji/1f1ea.svg
index 6727438c4..d1521bb00 100644
--- a/public/emoji/1f1ea.svg
+++ b/public/emoji/1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1ee.png b/public/emoji/1f1eb-1f1ee.png
deleted file mode 100644
index ebcf58abf..000000000
Binary files a/public/emoji/1f1eb-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1ee.svg b/public/emoji/1f1eb-1f1ee.svg
index 0894ffc58..ce60e2d95 100644
--- a/public/emoji/1f1eb-1f1ee.svg
+++ b/public/emoji/1f1eb-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1ef.png b/public/emoji/1f1eb-1f1ef.png
deleted file mode 100644
index 9cc8c37fe..000000000
Binary files a/public/emoji/1f1eb-1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1ef.svg b/public/emoji/1f1eb-1f1ef.svg
index 0bbbeae0f..198e69ed6 100644
--- a/public/emoji/1f1eb-1f1ef.svg
+++ b/public/emoji/1f1eb-1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1f0.png b/public/emoji/1f1eb-1f1f0.png
deleted file mode 100644
index 61372fd25..000000000
Binary files a/public/emoji/1f1eb-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1f0.svg b/public/emoji/1f1eb-1f1f0.svg
index 29f0c8548..e2c5a4917 100644
--- a/public/emoji/1f1eb-1f1f0.svg
+++ b/public/emoji/1f1eb-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1f2.png b/public/emoji/1f1eb-1f1f2.png
deleted file mode 100644
index 0889825c8..000000000
Binary files a/public/emoji/1f1eb-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1f2.svg b/public/emoji/1f1eb-1f1f2.svg
index ca329d00a..01e5dd223 100644
--- a/public/emoji/1f1eb-1f1f2.svg
+++ b/public/emoji/1f1eb-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1f4.png b/public/emoji/1f1eb-1f1f4.png
deleted file mode 100644
index 9a4431b08..000000000
Binary files a/public/emoji/1f1eb-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1f4.svg b/public/emoji/1f1eb-1f1f4.svg
index d5b522ebe..c1fd7e977 100644
--- a/public/emoji/1f1eb-1f1f4.svg
+++ b/public/emoji/1f1eb-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb-1f1f7.png b/public/emoji/1f1eb-1f1f7.png
deleted file mode 100644
index 62ca19c3f..000000000
Binary files a/public/emoji/1f1eb-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1eb-1f1f7.svg b/public/emoji/1f1eb-1f1f7.svg
index 7f9d0ab32..359779e7f 100644
--- a/public/emoji/1f1eb-1f1f7.svg
+++ b/public/emoji/1f1eb-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1eb.png b/public/emoji/1f1eb.png
deleted file mode 100644
index 913b230fd..000000000
Binary files a/public/emoji/1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1eb.svg b/public/emoji/1f1eb.svg
index 2d54ed238..c5907a4a4 100644
--- a/public/emoji/1f1eb.svg
+++ b/public/emoji/1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1e6.png b/public/emoji/1f1ec-1f1e6.png
deleted file mode 100644
index 2e68e527a..000000000
Binary files a/public/emoji/1f1ec-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1e6.svg b/public/emoji/1f1ec-1f1e6.svg
index f30f1e044..809addb47 100644
--- a/public/emoji/1f1ec-1f1e6.svg
+++ b/public/emoji/1f1ec-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1e7.png b/public/emoji/1f1ec-1f1e7.png
deleted file mode 100644
index 3ed10f623..000000000
Binary files a/public/emoji/1f1ec-1f1e7.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1e7.svg b/public/emoji/1f1ec-1f1e7.svg
index f745d658d..9628d4f2b 100644
--- a/public/emoji/1f1ec-1f1e7.svg
+++ b/public/emoji/1f1ec-1f1e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1e9.png b/public/emoji/1f1ec-1f1e9.png
deleted file mode 100644
index 527aad338..000000000
Binary files a/public/emoji/1f1ec-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1e9.svg b/public/emoji/1f1ec-1f1e9.svg
index c33b39dfc..33a1f9b84 100644
--- a/public/emoji/1f1ec-1f1e9.svg
+++ b/public/emoji/1f1ec-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1ea.png b/public/emoji/1f1ec-1f1ea.png
deleted file mode 100644
index a75d14248..000000000
Binary files a/public/emoji/1f1ec-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1ea.svg b/public/emoji/1f1ec-1f1ea.svg
index 044d07dca..e1dc358f4 100644
--- a/public/emoji/1f1ec-1f1ea.svg
+++ b/public/emoji/1f1ec-1f1ea.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1eb.png b/public/emoji/1f1ec-1f1eb.png
deleted file mode 100644
index 0cf96f327..000000000
Binary files a/public/emoji/1f1ec-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1eb.svg b/public/emoji/1f1ec-1f1eb.svg
index 328baf263..4aef79702 100644
--- a/public/emoji/1f1ec-1f1eb.svg
+++ b/public/emoji/1f1ec-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1ec.png b/public/emoji/1f1ec-1f1ec.png
deleted file mode 100644
index 970002c7f..000000000
Binary files a/public/emoji/1f1ec-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1ec.svg b/public/emoji/1f1ec-1f1ec.svg
index 3e4098e42..8bd725600 100644
--- a/public/emoji/1f1ec-1f1ec.svg
+++ b/public/emoji/1f1ec-1f1ec.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1ed.png b/public/emoji/1f1ec-1f1ed.png
deleted file mode 100644
index f31b5eb7b..000000000
Binary files a/public/emoji/1f1ec-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1ed.svg b/public/emoji/1f1ec-1f1ed.svg
index f3558ad05..ea91d2508 100644
--- a/public/emoji/1f1ec-1f1ed.svg
+++ b/public/emoji/1f1ec-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1ee.png b/public/emoji/1f1ec-1f1ee.png
deleted file mode 100644
index e554a2a1d..000000000
Binary files a/public/emoji/1f1ec-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1ee.svg b/public/emoji/1f1ec-1f1ee.svg
index c980311a0..77ac93289 100644
--- a/public/emoji/1f1ec-1f1ee.svg
+++ b/public/emoji/1f1ec-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f1.png b/public/emoji/1f1ec-1f1f1.png
deleted file mode 100644
index 2e795dd4e..000000000
Binary files a/public/emoji/1f1ec-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f1.svg b/public/emoji/1f1ec-1f1f1.svg
index 484b80c08..aa1713855 100644
--- a/public/emoji/1f1ec-1f1f1.svg
+++ b/public/emoji/1f1ec-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f2.png b/public/emoji/1f1ec-1f1f2.png
deleted file mode 100644
index bb69c0975..000000000
Binary files a/public/emoji/1f1ec-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f2.svg b/public/emoji/1f1ec-1f1f2.svg
index 5fa53d532..38e8738de 100644
--- a/public/emoji/1f1ec-1f1f2.svg
+++ b/public/emoji/1f1ec-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f3.png b/public/emoji/1f1ec-1f1f3.png
deleted file mode 100644
index 1981f61db..000000000
Binary files a/public/emoji/1f1ec-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f3.svg b/public/emoji/1f1ec-1f1f3.svg
index ea98260a4..94758e537 100644
--- a/public/emoji/1f1ec-1f1f3.svg
+++ b/public/emoji/1f1ec-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f5.png b/public/emoji/1f1ec-1f1f5.png
deleted file mode 100644
index 10e42e672..000000000
Binary files a/public/emoji/1f1ec-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f5.svg b/public/emoji/1f1ec-1f1f5.svg
index f044d48d2..5cba06978 100644
--- a/public/emoji/1f1ec-1f1f5.svg
+++ b/public/emoji/1f1ec-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f6.png b/public/emoji/1f1ec-1f1f6.png
deleted file mode 100644
index 11475e61e..000000000
Binary files a/public/emoji/1f1ec-1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f6.svg b/public/emoji/1f1ec-1f1f6.svg
index 6c4a1581a..0b7c18236 100644
--- a/public/emoji/1f1ec-1f1f6.svg
+++ b/public/emoji/1f1ec-1f1f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f7.png b/public/emoji/1f1ec-1f1f7.png
deleted file mode 100644
index 0f6bb1b6b..000000000
Binary files a/public/emoji/1f1ec-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f7.svg b/public/emoji/1f1ec-1f1f7.svg
index 75c9bc6a4..686ca152e 100644
--- a/public/emoji/1f1ec-1f1f7.svg
+++ b/public/emoji/1f1ec-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f8.png b/public/emoji/1f1ec-1f1f8.png
deleted file mode 100644
index 6fc927804..000000000
Binary files a/public/emoji/1f1ec-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f8.svg b/public/emoji/1f1ec-1f1f8.svg
index 68772ee19..f51cd5dfc 100644
--- a/public/emoji/1f1ec-1f1f8.svg
+++ b/public/emoji/1f1ec-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1f9.png b/public/emoji/1f1ec-1f1f9.png
deleted file mode 100644
index 7213d4139..000000000
Binary files a/public/emoji/1f1ec-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1f9.svg b/public/emoji/1f1ec-1f1f9.svg
index bc4f58471..3e86ce520 100644
--- a/public/emoji/1f1ec-1f1f9.svg
+++ b/public/emoji/1f1ec-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1fa.png b/public/emoji/1f1ec-1f1fa.png
deleted file mode 100644
index 4027549ca..000000000
Binary files a/public/emoji/1f1ec-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1fa.svg b/public/emoji/1f1ec-1f1fa.svg
index 6cdd6bf36..4718442ac 100644
--- a/public/emoji/1f1ec-1f1fa.svg
+++ b/public/emoji/1f1ec-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1fc.png b/public/emoji/1f1ec-1f1fc.png
deleted file mode 100644
index 6357f6225..000000000
Binary files a/public/emoji/1f1ec-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1fc.svg b/public/emoji/1f1ec-1f1fc.svg
index 30ed7effb..9c121c564 100644
--- a/public/emoji/1f1ec-1f1fc.svg
+++ b/public/emoji/1f1ec-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec-1f1fe.png b/public/emoji/1f1ec-1f1fe.png
deleted file mode 100644
index 746e2fb7e..000000000
Binary files a/public/emoji/1f1ec-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1ec-1f1fe.svg b/public/emoji/1f1ec-1f1fe.svg
index b4f6743d2..37faeaf90 100644
--- a/public/emoji/1f1ec-1f1fe.svg
+++ b/public/emoji/1f1ec-1f1fe.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ec.png b/public/emoji/1f1ec.png
deleted file mode 100644
index 271163075..000000000
Binary files a/public/emoji/1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1ec.svg b/public/emoji/1f1ec.svg
index 2fb801430..a8c44210f 100644
--- a/public/emoji/1f1ec.svg
+++ b/public/emoji/1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1f0.png b/public/emoji/1f1ed-1f1f0.png
deleted file mode 100644
index cf0c7151b..000000000
Binary files a/public/emoji/1f1ed-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1f0.svg b/public/emoji/1f1ed-1f1f0.svg
index 20f6508be..8152b768b 100644
--- a/public/emoji/1f1ed-1f1f0.svg
+++ b/public/emoji/1f1ed-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1f2.png b/public/emoji/1f1ed-1f1f2.png
deleted file mode 100644
index b613509e4..000000000
Binary files a/public/emoji/1f1ed-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1f2.svg b/public/emoji/1f1ed-1f1f2.svg
index ee741bb19..986705ff9 100644
--- a/public/emoji/1f1ed-1f1f2.svg
+++ b/public/emoji/1f1ed-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1f3.png b/public/emoji/1f1ed-1f1f3.png
deleted file mode 100644
index 402cdcefd..000000000
Binary files a/public/emoji/1f1ed-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1f3.svg b/public/emoji/1f1ed-1f1f3.svg
index 0b56c947b..9ffdb103c 100644
--- a/public/emoji/1f1ed-1f1f3.svg
+++ b/public/emoji/1f1ed-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1f7.png b/public/emoji/1f1ed-1f1f7.png
deleted file mode 100644
index 46f4f06b4..000000000
Binary files a/public/emoji/1f1ed-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1f7.svg b/public/emoji/1f1ed-1f1f7.svg
index 938504a0d..3d757816a 100644
--- a/public/emoji/1f1ed-1f1f7.svg
+++ b/public/emoji/1f1ed-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1f9.png b/public/emoji/1f1ed-1f1f9.png
deleted file mode 100644
index d8d0c8884..000000000
Binary files a/public/emoji/1f1ed-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1f9.svg b/public/emoji/1f1ed-1f1f9.svg
index 6162c6a4d..6bc187229 100644
--- a/public/emoji/1f1ed-1f1f9.svg
+++ b/public/emoji/1f1ed-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed-1f1fa.png b/public/emoji/1f1ed-1f1fa.png
deleted file mode 100644
index a898de636..000000000
Binary files a/public/emoji/1f1ed-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1ed-1f1fa.svg b/public/emoji/1f1ed-1f1fa.svg
index 48b8aced6..bb04c1863 100644
--- a/public/emoji/1f1ed-1f1fa.svg
+++ b/public/emoji/1f1ed-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ed.png b/public/emoji/1f1ed.png
deleted file mode 100644
index ca88e46bf..000000000
Binary files a/public/emoji/1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1ed.svg b/public/emoji/1f1ed.svg
index 6add3c7e0..337b2f0a9 100644
--- a/public/emoji/1f1ed.svg
+++ b/public/emoji/1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1e8.png b/public/emoji/1f1ee-1f1e8.png
deleted file mode 100644
index 69fd990aa..000000000
Binary files a/public/emoji/1f1ee-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1e8.svg b/public/emoji/1f1ee-1f1e8.svg
index 540234ef7..7741ac37d 100644
--- a/public/emoji/1f1ee-1f1e8.svg
+++ b/public/emoji/1f1ee-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1e9.png b/public/emoji/1f1ee-1f1e9.png
deleted file mode 100644
index 85b4c063a..000000000
Binary files a/public/emoji/1f1ee-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1e9.svg b/public/emoji/1f1ee-1f1e9.svg
index d92e0a009..2e35859dd 100644
--- a/public/emoji/1f1ee-1f1e9.svg
+++ b/public/emoji/1f1ee-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1ea.png b/public/emoji/1f1ee-1f1ea.png
deleted file mode 100644
index a28295838..000000000
Binary files a/public/emoji/1f1ee-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1ea.svg b/public/emoji/1f1ee-1f1ea.svg
index c3f32f72d..449c63946 100644
--- a/public/emoji/1f1ee-1f1ea.svg
+++ b/public/emoji/1f1ee-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f1.png b/public/emoji/1f1ee-1f1f1.png
deleted file mode 100644
index 85c410d45..000000000
Binary files a/public/emoji/1f1ee-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f1.svg b/public/emoji/1f1ee-1f1f1.svg
index 4118fdf99..a9680cc92 100644
--- a/public/emoji/1f1ee-1f1f1.svg
+++ b/public/emoji/1f1ee-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f2.png b/public/emoji/1f1ee-1f1f2.png
deleted file mode 100644
index 60a2458e3..000000000
Binary files a/public/emoji/1f1ee-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f2.svg b/public/emoji/1f1ee-1f1f2.svg
index 17632dc76..7dc6a44fe 100644
--- a/public/emoji/1f1ee-1f1f2.svg
+++ b/public/emoji/1f1ee-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f3.png b/public/emoji/1f1ee-1f1f3.png
deleted file mode 100644
index feccc8952..000000000
Binary files a/public/emoji/1f1ee-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f3.svg b/public/emoji/1f1ee-1f1f3.svg
index 0f8b13d57..c8720d0ea 100644
--- a/public/emoji/1f1ee-1f1f3.svg
+++ b/public/emoji/1f1ee-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f4.png b/public/emoji/1f1ee-1f1f4.png
deleted file mode 100644
index aae927d14..000000000
Binary files a/public/emoji/1f1ee-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f4.svg b/public/emoji/1f1ee-1f1f4.svg
index 04d9b4ee6..0266453dd 100644
--- a/public/emoji/1f1ee-1f1f4.svg
+++ b/public/emoji/1f1ee-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f6.png b/public/emoji/1f1ee-1f1f6.png
deleted file mode 100644
index 41fd1db6f..000000000
Binary files a/public/emoji/1f1ee-1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f6.svg b/public/emoji/1f1ee-1f1f6.svg
index c260e2925..cde68d8e7 100644
--- a/public/emoji/1f1ee-1f1f6.svg
+++ b/public/emoji/1f1ee-1f1f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f7.png b/public/emoji/1f1ee-1f1f7.png
deleted file mode 100644
index ff7aaf62b..000000000
Binary files a/public/emoji/1f1ee-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f7.svg b/public/emoji/1f1ee-1f1f7.svg
index d7b36f5e8..79a88385b 100644
--- a/public/emoji/1f1ee-1f1f7.svg
+++ b/public/emoji/1f1ee-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f8.png b/public/emoji/1f1ee-1f1f8.png
deleted file mode 100644
index ad8d4131d..000000000
Binary files a/public/emoji/1f1ee-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f8.svg b/public/emoji/1f1ee-1f1f8.svg
index 485bbd003..06b977391 100644
--- a/public/emoji/1f1ee-1f1f8.svg
+++ b/public/emoji/1f1ee-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee-1f1f9.png b/public/emoji/1f1ee-1f1f9.png
deleted file mode 100644
index f21563ec5..000000000
Binary files a/public/emoji/1f1ee-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1ee-1f1f9.svg b/public/emoji/1f1ee-1f1f9.svg
index f14b06522..9278ea01a 100644
--- a/public/emoji/1f1ee-1f1f9.svg
+++ b/public/emoji/1f1ee-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ee.png b/public/emoji/1f1ee.png
deleted file mode 100644
index 48dc16788..000000000
Binary files a/public/emoji/1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1ee.svg b/public/emoji/1f1ee.svg
index dc8d231b8..a34480173 100644
--- a/public/emoji/1f1ee.svg
+++ b/public/emoji/1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ef-1f1ea.png b/public/emoji/1f1ef-1f1ea.png
deleted file mode 100644
index 198a918f6..000000000
Binary files a/public/emoji/1f1ef-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1ef-1f1ea.svg b/public/emoji/1f1ef-1f1ea.svg
index d71bf48ee..79576ef1f 100644
--- a/public/emoji/1f1ef-1f1ea.svg
+++ b/public/emoji/1f1ef-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ef-1f1f2.png b/public/emoji/1f1ef-1f1f2.png
deleted file mode 100644
index f84e4f9e8..000000000
Binary files a/public/emoji/1f1ef-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1ef-1f1f2.svg b/public/emoji/1f1ef-1f1f2.svg
index 810f5ab71..9a2c61823 100644
--- a/public/emoji/1f1ef-1f1f2.svg
+++ b/public/emoji/1f1ef-1f1f2.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ef-1f1f4.png b/public/emoji/1f1ef-1f1f4.png
deleted file mode 100644
index 20bfa147e..000000000
Binary files a/public/emoji/1f1ef-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1ef-1f1f4.svg b/public/emoji/1f1ef-1f1f4.svg
index 2acfb9a8e..76695fd2a 100644
--- a/public/emoji/1f1ef-1f1f4.svg
+++ b/public/emoji/1f1ef-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ef-1f1f5.png b/public/emoji/1f1ef-1f1f5.png
deleted file mode 100644
index 8d8838e47..000000000
Binary files a/public/emoji/1f1ef-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1ef-1f1f5.svg b/public/emoji/1f1ef-1f1f5.svg
index 8ffa66be6..e7d4edf6b 100644
--- a/public/emoji/1f1ef-1f1f5.svg
+++ b/public/emoji/1f1ef-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ef.png b/public/emoji/1f1ef.png
deleted file mode 100644
index 16599daa7..000000000
Binary files a/public/emoji/1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1ef.svg b/public/emoji/1f1ef.svg
index 249efde29..c36897e37 100644
--- a/public/emoji/1f1ef.svg
+++ b/public/emoji/1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1ea.png b/public/emoji/1f1f0-1f1ea.png
deleted file mode 100644
index 9e417ab30..000000000
Binary files a/public/emoji/1f1f0-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1ea.svg b/public/emoji/1f1f0-1f1ea.svg
index 65828fd76..7448af9f4 100644
--- a/public/emoji/1f1f0-1f1ea.svg
+++ b/public/emoji/1f1f0-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1ec.png b/public/emoji/1f1f0-1f1ec.png
deleted file mode 100644
index 2f2d848fe..000000000
Binary files a/public/emoji/1f1f0-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1ec.svg b/public/emoji/1f1f0-1f1ec.svg
index c2b532f66..88eb57613 100644
--- a/public/emoji/1f1f0-1f1ec.svg
+++ b/public/emoji/1f1f0-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1ed.png b/public/emoji/1f1f0-1f1ed.png
deleted file mode 100644
index 9a2877dd6..000000000
Binary files a/public/emoji/1f1f0-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1ed.svg b/public/emoji/1f1f0-1f1ed.svg
index a28e0243e..7ef576703 100644
--- a/public/emoji/1f1f0-1f1ed.svg
+++ b/public/emoji/1f1f0-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1ee.png b/public/emoji/1f1f0-1f1ee.png
deleted file mode 100644
index 10e507e32..000000000
Binary files a/public/emoji/1f1f0-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1ee.svg b/public/emoji/1f1f0-1f1ee.svg
index 81f5fc9e5..4ff9bc263 100644
--- a/public/emoji/1f1f0-1f1ee.svg
+++ b/public/emoji/1f1f0-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1f2.png b/public/emoji/1f1f0-1f1f2.png
deleted file mode 100644
index bd5a0588e..000000000
Binary files a/public/emoji/1f1f0-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1f2.svg b/public/emoji/1f1f0-1f1f2.svg
index 8e9ba574d..576e2fa22 100644
--- a/public/emoji/1f1f0-1f1f2.svg
+++ b/public/emoji/1f1f0-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1f3.png b/public/emoji/1f1f0-1f1f3.png
deleted file mode 100644
index 776207c96..000000000
Binary files a/public/emoji/1f1f0-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1f3.svg b/public/emoji/1f1f0-1f1f3.svg
index 505ac748d..86a2dd6bb 100644
--- a/public/emoji/1f1f0-1f1f3.svg
+++ b/public/emoji/1f1f0-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1f5.png b/public/emoji/1f1f0-1f1f5.png
deleted file mode 100644
index 6b3fd89ea..000000000
Binary files a/public/emoji/1f1f0-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1f5.svg b/public/emoji/1f1f0-1f1f5.svg
index dc4d67981..c4ff6ac31 100644
--- a/public/emoji/1f1f0-1f1f5.svg
+++ b/public/emoji/1f1f0-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1f7.png b/public/emoji/1f1f0-1f1f7.png
deleted file mode 100644
index 833a88116..000000000
Binary files a/public/emoji/1f1f0-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1f7.svg b/public/emoji/1f1f0-1f1f7.svg
index 5b28e3595..7b5c67904 100644
--- a/public/emoji/1f1f0-1f1f7.svg
+++ b/public/emoji/1f1f0-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1fc.png b/public/emoji/1f1f0-1f1fc.png
deleted file mode 100644
index 4d19bfa6c..000000000
Binary files a/public/emoji/1f1f0-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1fc.svg b/public/emoji/1f1f0-1f1fc.svg
index f3076ffb4..735085fa9 100644
--- a/public/emoji/1f1f0-1f1fc.svg
+++ b/public/emoji/1f1f0-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1fe.png b/public/emoji/1f1f0-1f1fe.png
deleted file mode 100644
index 40daa4da5..000000000
Binary files a/public/emoji/1f1f0-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1fe.svg b/public/emoji/1f1f0-1f1fe.svg
index 6d0432cb8..ae4088997 100644
--- a/public/emoji/1f1f0-1f1fe.svg
+++ b/public/emoji/1f1f0-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0-1f1ff.png b/public/emoji/1f1f0-1f1ff.png
deleted file mode 100644
index 2f97a8fd3..000000000
Binary files a/public/emoji/1f1f0-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1f0-1f1ff.svg b/public/emoji/1f1f0-1f1ff.svg
index 107bf17ac..0c398a457 100644
--- a/public/emoji/1f1f0-1f1ff.svg
+++ b/public/emoji/1f1f0-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f0.png b/public/emoji/1f1f0.png
deleted file mode 100644
index 204b95d1b..000000000
Binary files a/public/emoji/1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f0.svg b/public/emoji/1f1f0.svg
index 0ae3f9a3b..d9294f183 100644
--- a/public/emoji/1f1f0.svg
+++ b/public/emoji/1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1e6.png b/public/emoji/1f1f1-1f1e6.png
deleted file mode 100644
index 4d4179f34..000000000
Binary files a/public/emoji/1f1f1-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1e6.svg b/public/emoji/1f1f1-1f1e6.svg
index a9ebf083c..251d2bdec 100644
--- a/public/emoji/1f1f1-1f1e6.svg
+++ b/public/emoji/1f1f1-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1e7.png b/public/emoji/1f1f1-1f1e7.png
deleted file mode 100644
index 3d5944670..000000000
Binary files a/public/emoji/1f1f1-1f1e7.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1e7.svg b/public/emoji/1f1f1-1f1e7.svg
index d000185e5..3b47f5895 100644
--- a/public/emoji/1f1f1-1f1e7.svg
+++ b/public/emoji/1f1f1-1f1e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1e8.png b/public/emoji/1f1f1-1f1e8.png
deleted file mode 100644
index 45547b1e4..000000000
Binary files a/public/emoji/1f1f1-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1e8.svg b/public/emoji/1f1f1-1f1e8.svg
index 9f5255714..255cbe8f0 100644
--- a/public/emoji/1f1f1-1f1e8.svg
+++ b/public/emoji/1f1f1-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1ee.png b/public/emoji/1f1f1-1f1ee.png
deleted file mode 100644
index 0eafa6a22..000000000
Binary files a/public/emoji/1f1f1-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1ee.svg b/public/emoji/1f1f1-1f1ee.svg
index 51b11472b..5b878c9d7 100644
--- a/public/emoji/1f1f1-1f1ee.svg
+++ b/public/emoji/1f1f1-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1f0.png b/public/emoji/1f1f1-1f1f0.png
deleted file mode 100644
index ab4fe10c4..000000000
Binary files a/public/emoji/1f1f1-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1f0.svg b/public/emoji/1f1f1-1f1f0.svg
index 5eb3cd7ee..18ce60f46 100644
--- a/public/emoji/1f1f1-1f1f0.svg
+++ b/public/emoji/1f1f1-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1f7.png b/public/emoji/1f1f1-1f1f7.png
deleted file mode 100644
index f66f267fe..000000000
Binary files a/public/emoji/1f1f1-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1f7.svg b/public/emoji/1f1f1-1f1f7.svg
index 13995a6bf..60815efb6 100644
--- a/public/emoji/1f1f1-1f1f7.svg
+++ b/public/emoji/1f1f1-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1f8.png b/public/emoji/1f1f1-1f1f8.png
deleted file mode 100644
index 24745631e..000000000
Binary files a/public/emoji/1f1f1-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1f8.svg b/public/emoji/1f1f1-1f1f8.svg
index ef9b0346c..437f875ba 100644
--- a/public/emoji/1f1f1-1f1f8.svg
+++ b/public/emoji/1f1f1-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1f9.png b/public/emoji/1f1f1-1f1f9.png
deleted file mode 100644
index d644b56d6..000000000
Binary files a/public/emoji/1f1f1-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1f9.svg b/public/emoji/1f1f1-1f1f9.svg
index 513d722c0..464ae5e04 100644
--- a/public/emoji/1f1f1-1f1f9.svg
+++ b/public/emoji/1f1f1-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1fa.png b/public/emoji/1f1f1-1f1fa.png
deleted file mode 100644
index a2df9c929..000000000
Binary files a/public/emoji/1f1f1-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1fa.svg b/public/emoji/1f1f1-1f1fa.svg
index 78de14835..ce8ff86f7 100644
--- a/public/emoji/1f1f1-1f1fa.svg
+++ b/public/emoji/1f1f1-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1fb.png b/public/emoji/1f1f1-1f1fb.png
deleted file mode 100644
index ae680d5f0..000000000
Binary files a/public/emoji/1f1f1-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1fb.svg b/public/emoji/1f1f1-1f1fb.svg
index b3fa271e0..7265ac507 100644
--- a/public/emoji/1f1f1-1f1fb.svg
+++ b/public/emoji/1f1f1-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1-1f1fe.png b/public/emoji/1f1f1-1f1fe.png
deleted file mode 100644
index f6e77b0f3..000000000
Binary files a/public/emoji/1f1f1-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1f1-1f1fe.svg b/public/emoji/1f1f1-1f1fe.svg
index dd29b3b31..74add1f6f 100644
--- a/public/emoji/1f1f1-1f1fe.svg
+++ b/public/emoji/1f1f1-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f1.png b/public/emoji/1f1f1.png
deleted file mode 100644
index 7992b4f68..000000000
Binary files a/public/emoji/1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f1.svg b/public/emoji/1f1f1.svg
index 9239d516e..dc299d45f 100644
--- a/public/emoji/1f1f1.svg
+++ b/public/emoji/1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1e6.png b/public/emoji/1f1f2-1f1e6.png
deleted file mode 100644
index c4a056722..000000000
Binary files a/public/emoji/1f1f2-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1e6.svg b/public/emoji/1f1f2-1f1e6.svg
index f2e7c5aab..77421f18d 100644
--- a/public/emoji/1f1f2-1f1e6.svg
+++ b/public/emoji/1f1f2-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1e8.png b/public/emoji/1f1f2-1f1e8.png
deleted file mode 100644
index d479eab98..000000000
Binary files a/public/emoji/1f1f2-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1e8.svg b/public/emoji/1f1f2-1f1e8.svg
index a0228346b..abc6746dc 100644
--- a/public/emoji/1f1f2-1f1e8.svg
+++ b/public/emoji/1f1f2-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1e9.png b/public/emoji/1f1f2-1f1e9.png
deleted file mode 100644
index a7a725398..000000000
Binary files a/public/emoji/1f1f2-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1e9.svg b/public/emoji/1f1f2-1f1e9.svg
index 76845b662..b4f1fe18f 100644
--- a/public/emoji/1f1f2-1f1e9.svg
+++ b/public/emoji/1f1f2-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1ea.png b/public/emoji/1f1f2-1f1ea.png
deleted file mode 100644
index 7c771e7e1..000000000
Binary files a/public/emoji/1f1f2-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1ea.svg b/public/emoji/1f1f2-1f1ea.svg
index 7eb38ad81..45e00923e 100644
--- a/public/emoji/1f1f2-1f1ea.svg
+++ b/public/emoji/1f1f2-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1eb.png b/public/emoji/1f1f2-1f1eb.png
deleted file mode 100644
index 70c761036..000000000
Binary files a/public/emoji/1f1f2-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1eb.svg b/public/emoji/1f1f2-1f1eb.svg
index 16bfba0cf..359779e7f 100644
--- a/public/emoji/1f1f2-1f1eb.svg
+++ b/public/emoji/1f1f2-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1ec.png b/public/emoji/1f1f2-1f1ec.png
deleted file mode 100644
index 2f3ccdda7..000000000
Binary files a/public/emoji/1f1f2-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1ec.svg b/public/emoji/1f1f2-1f1ec.svg
index 3571c0a7f..016e1c360 100644
--- a/public/emoji/1f1f2-1f1ec.svg
+++ b/public/emoji/1f1f2-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1ed.png b/public/emoji/1f1f2-1f1ed.png
deleted file mode 100644
index 598016481..000000000
Binary files a/public/emoji/1f1f2-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1ed.svg b/public/emoji/1f1f2-1f1ed.svg
index bc53ad966..9a82f6e4a 100644
--- a/public/emoji/1f1f2-1f1ed.svg
+++ b/public/emoji/1f1f2-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f0.png b/public/emoji/1f1f2-1f1f0.png
deleted file mode 100644
index 7ba775ee7..000000000
Binary files a/public/emoji/1f1f2-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f0.svg b/public/emoji/1f1f2-1f1f0.svg
index 8a3bc3e7c..d5602de7c 100644
--- a/public/emoji/1f1f2-1f1f0.svg
+++ b/public/emoji/1f1f2-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f1.png b/public/emoji/1f1f2-1f1f1.png
deleted file mode 100644
index 683437854..000000000
Binary files a/public/emoji/1f1f2-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f1.svg b/public/emoji/1f1f2-1f1f1.svg
index 650d974a9..729816534 100644
--- a/public/emoji/1f1f2-1f1f1.svg
+++ b/public/emoji/1f1f2-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f2.png b/public/emoji/1f1f2-1f1f2.png
deleted file mode 100644
index 37dc7d715..000000000
Binary files a/public/emoji/1f1f2-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f2.svg b/public/emoji/1f1f2-1f1f2.svg
index 2df73cff5..011a6a4d7 100644
--- a/public/emoji/1f1f2-1f1f2.svg
+++ b/public/emoji/1f1f2-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f3.png b/public/emoji/1f1f2-1f1f3.png
deleted file mode 100644
index 1f146bbcd..000000000
Binary files a/public/emoji/1f1f2-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f3.svg b/public/emoji/1f1f2-1f1f3.svg
index bfb46eb04..6987e1262 100644
--- a/public/emoji/1f1f2-1f1f3.svg
+++ b/public/emoji/1f1f2-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f4.png b/public/emoji/1f1f2-1f1f4.png
deleted file mode 100644
index 7edde31f6..000000000
Binary files a/public/emoji/1f1f2-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f4.svg b/public/emoji/1f1f2-1f1f4.svg
index 30c75b65a..9c7fb5365 100644
--- a/public/emoji/1f1f2-1f1f4.svg
+++ b/public/emoji/1f1f2-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f5.png b/public/emoji/1f1f2-1f1f5.png
deleted file mode 100644
index 17ec1c441..000000000
Binary files a/public/emoji/1f1f2-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f5.svg b/public/emoji/1f1f2-1f1f5.svg
index 823a275f3..ea7005e64 100644
--- a/public/emoji/1f1f2-1f1f5.svg
+++ b/public/emoji/1f1f2-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f6.png b/public/emoji/1f1f2-1f1f6.png
deleted file mode 100644
index 1e672dc90..000000000
Binary files a/public/emoji/1f1f2-1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f6.svg b/public/emoji/1f1f2-1f1f6.svg
index 79c46fd4a..3a12ec050 100644
--- a/public/emoji/1f1f2-1f1f6.svg
+++ b/public/emoji/1f1f2-1f1f6.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f7.png b/public/emoji/1f1f2-1f1f7.png
deleted file mode 100644
index f87de46ef..000000000
Binary files a/public/emoji/1f1f2-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f7.svg b/public/emoji/1f1f2-1f1f7.svg
index 7878b6bbf..1cc8a6fff 100644
--- a/public/emoji/1f1f2-1f1f7.svg
+++ b/public/emoji/1f1f2-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f8.png b/public/emoji/1f1f2-1f1f8.png
deleted file mode 100644
index 480b0d4eb..000000000
Binary files a/public/emoji/1f1f2-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f8.svg b/public/emoji/1f1f2-1f1f8.svg
index 97cb964c8..24d149b0a 100644
--- a/public/emoji/1f1f2-1f1f8.svg
+++ b/public/emoji/1f1f2-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1f9.png b/public/emoji/1f1f2-1f1f9.png
deleted file mode 100644
index c9e1dbdce..000000000
Binary files a/public/emoji/1f1f2-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1f9.svg b/public/emoji/1f1f2-1f1f9.svg
index f24473275..98a364da9 100644
--- a/public/emoji/1f1f2-1f1f9.svg
+++ b/public/emoji/1f1f2-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1fa.png b/public/emoji/1f1f2-1f1fa.png
deleted file mode 100644
index 55b33cb7c..000000000
Binary files a/public/emoji/1f1f2-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1fa.svg b/public/emoji/1f1f2-1f1fa.svg
index 03c638846..223c786e6 100644
--- a/public/emoji/1f1f2-1f1fa.svg
+++ b/public/emoji/1f1f2-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1fb.png b/public/emoji/1f1f2-1f1fb.png
deleted file mode 100644
index ce5867126..000000000
Binary files a/public/emoji/1f1f2-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1fb.svg b/public/emoji/1f1f2-1f1fb.svg
index 9326ae793..87eba9d93 100644
--- a/public/emoji/1f1f2-1f1fb.svg
+++ b/public/emoji/1f1f2-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1fc.png b/public/emoji/1f1f2-1f1fc.png
deleted file mode 100644
index 003d85484..000000000
Binary files a/public/emoji/1f1f2-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1fc.svg b/public/emoji/1f1f2-1f1fc.svg
index 4fd4f5aef..2dd553add 100644
--- a/public/emoji/1f1f2-1f1fc.svg
+++ b/public/emoji/1f1f2-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1fd.png b/public/emoji/1f1f2-1f1fd.png
deleted file mode 100644
index 42572bcd0..000000000
Binary files a/public/emoji/1f1f2-1f1fd.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1fd.svg b/public/emoji/1f1f2-1f1fd.svg
index 7ccbceb6a..fbb2ae056 100644
--- a/public/emoji/1f1f2-1f1fd.svg
+++ b/public/emoji/1f1f2-1f1fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1fe.png b/public/emoji/1f1f2-1f1fe.png
deleted file mode 100644
index 17526c267..000000000
Binary files a/public/emoji/1f1f2-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1fe.svg b/public/emoji/1f1f2-1f1fe.svg
index 580bc7f9f..97f472e19 100644
--- a/public/emoji/1f1f2-1f1fe.svg
+++ b/public/emoji/1f1f2-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2-1f1ff.png b/public/emoji/1f1f2-1f1ff.png
deleted file mode 100644
index 2352a78e7..000000000
Binary files a/public/emoji/1f1f2-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1f2-1f1ff.svg b/public/emoji/1f1f2-1f1ff.svg
index 42ff00cef..ddca4a7bd 100644
--- a/public/emoji/1f1f2-1f1ff.svg
+++ b/public/emoji/1f1f2-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f2.png b/public/emoji/1f1f2.png
deleted file mode 100644
index 7b848b2ce..000000000
Binary files a/public/emoji/1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f2.svg b/public/emoji/1f1f2.svg
index c04f37116..595c1a8a7 100644
--- a/public/emoji/1f1f2.svg
+++ b/public/emoji/1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1e6.png b/public/emoji/1f1f3-1f1e6.png
deleted file mode 100644
index ed31c3df0..000000000
Binary files a/public/emoji/1f1f3-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1e6.svg b/public/emoji/1f1f3-1f1e6.svg
index c53c7ddc6..d8224397a 100644
--- a/public/emoji/1f1f3-1f1e6.svg
+++ b/public/emoji/1f1f3-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1e8.png b/public/emoji/1f1f3-1f1e8.png
deleted file mode 100644
index 90b3afebf..000000000
Binary files a/public/emoji/1f1f3-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1e8.svg b/public/emoji/1f1f3-1f1e8.svg
index 7a9113f80..5a4999f5a 100644
--- a/public/emoji/1f1f3-1f1e8.svg
+++ b/public/emoji/1f1f3-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1ea.png b/public/emoji/1f1f3-1f1ea.png
deleted file mode 100644
index f98a1173c..000000000
Binary files a/public/emoji/1f1f3-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1ea.svg b/public/emoji/1f1f3-1f1ea.svg
index b7f470788..b7d32ca12 100644
--- a/public/emoji/1f1f3-1f1ea.svg
+++ b/public/emoji/1f1f3-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1eb.png b/public/emoji/1f1f3-1f1eb.png
deleted file mode 100644
index 9099e7674..000000000
Binary files a/public/emoji/1f1f3-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1eb.svg b/public/emoji/1f1f3-1f1eb.svg
index 21005fb0d..d8d25ec54 100644
--- a/public/emoji/1f1f3-1f1eb.svg
+++ b/public/emoji/1f1f3-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1ec.png b/public/emoji/1f1f3-1f1ec.png
deleted file mode 100644
index ea0abeff1..000000000
Binary files a/public/emoji/1f1f3-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1ec.svg b/public/emoji/1f1f3-1f1ec.svg
index 0701d0cdf..2e68813ae 100644
--- a/public/emoji/1f1f3-1f1ec.svg
+++ b/public/emoji/1f1f3-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1ee.png b/public/emoji/1f1f3-1f1ee.png
deleted file mode 100644
index 772920dfa..000000000
Binary files a/public/emoji/1f1f3-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1ee.svg b/public/emoji/1f1f3-1f1ee.svg
index 8792eddc8..d61e76bcd 100644
--- a/public/emoji/1f1f3-1f1ee.svg
+++ b/public/emoji/1f1f3-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1f1.png b/public/emoji/1f1f3-1f1f1.png
deleted file mode 100644
index 83a0e817e..000000000
Binary files a/public/emoji/1f1f3-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1f1.svg b/public/emoji/1f1f3-1f1f1.svg
index c150ee594..80adf56dd 100644
--- a/public/emoji/1f1f3-1f1f1.svg
+++ b/public/emoji/1f1f3-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1f4.png b/public/emoji/1f1f3-1f1f4.png
deleted file mode 100644
index 99d3142eb..000000000
Binary files a/public/emoji/1f1f3-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1f4.svg b/public/emoji/1f1f3-1f1f4.svg
index 85182d983..f9a01310c 100644
--- a/public/emoji/1f1f3-1f1f4.svg
+++ b/public/emoji/1f1f3-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1f5.png b/public/emoji/1f1f3-1f1f5.png
deleted file mode 100644
index 87425a8df..000000000
Binary files a/public/emoji/1f1f3-1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1f5.svg b/public/emoji/1f1f3-1f1f5.svg
index a1e7545ba..4c816f7a4 100644
--- a/public/emoji/1f1f3-1f1f5.svg
+++ b/public/emoji/1f1f3-1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1f7.png b/public/emoji/1f1f3-1f1f7.png
deleted file mode 100644
index b3e3a5d56..000000000
Binary files a/public/emoji/1f1f3-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1f7.svg b/public/emoji/1f1f3-1f1f7.svg
index eba929277..dcf7aa255 100644
--- a/public/emoji/1f1f3-1f1f7.svg
+++ b/public/emoji/1f1f3-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1fa.png b/public/emoji/1f1f3-1f1fa.png
deleted file mode 100644
index f03614443..000000000
Binary files a/public/emoji/1f1f3-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1fa.svg b/public/emoji/1f1f3-1f1fa.svg
index f4b61fd5e..20fa1fbfa 100644
--- a/public/emoji/1f1f3-1f1fa.svg
+++ b/public/emoji/1f1f3-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3-1f1ff.png b/public/emoji/1f1f3-1f1ff.png
deleted file mode 100644
index a4eeeab9c..000000000
Binary files a/public/emoji/1f1f3-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1f3-1f1ff.svg b/public/emoji/1f1f3-1f1ff.svg
index 688b145c1..3d76eaf87 100644
--- a/public/emoji/1f1f3-1f1ff.svg
+++ b/public/emoji/1f1f3-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f3.png b/public/emoji/1f1f3.png
deleted file mode 100644
index 4a11e5043..000000000
Binary files a/public/emoji/1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f3.svg b/public/emoji/1f1f3.svg
index a32f05590..4736cc6eb 100644
--- a/public/emoji/1f1f3.svg
+++ b/public/emoji/1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f4-1f1f2.png b/public/emoji/1f1f4-1f1f2.png
deleted file mode 100644
index ea824ba31..000000000
Binary files a/public/emoji/1f1f4-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f4-1f1f2.svg b/public/emoji/1f1f4-1f1f2.svg
index 3a23ddcb9..95682a7be 100644
--- a/public/emoji/1f1f4-1f1f2.svg
+++ b/public/emoji/1f1f4-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f4.png b/public/emoji/1f1f4.png
deleted file mode 100644
index 2a0760b31..000000000
Binary files a/public/emoji/1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f4.svg b/public/emoji/1f1f4.svg
index 079e2b1a9..96fc0b1f4 100644
--- a/public/emoji/1f1f4.svg
+++ b/public/emoji/1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1e6.png b/public/emoji/1f1f5-1f1e6.png
deleted file mode 100644
index c3091d898..000000000
Binary files a/public/emoji/1f1f5-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1e6.svg b/public/emoji/1f1f5-1f1e6.svg
index cbeb3037f..aa4edaa8f 100644
--- a/public/emoji/1f1f5-1f1e6.svg
+++ b/public/emoji/1f1f5-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1ea.png b/public/emoji/1f1f5-1f1ea.png
deleted file mode 100644
index 39223aa9d..000000000
Binary files a/public/emoji/1f1f5-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1ea.svg b/public/emoji/1f1f5-1f1ea.svg
index dab27b636..17e8abe25 100644
--- a/public/emoji/1f1f5-1f1ea.svg
+++ b/public/emoji/1f1f5-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1eb.png b/public/emoji/1f1f5-1f1eb.png
deleted file mode 100644
index 113445f8f..000000000
Binary files a/public/emoji/1f1f5-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1eb.svg b/public/emoji/1f1f5-1f1eb.svg
index d68516daa..8d2d87494 100644
--- a/public/emoji/1f1f5-1f1eb.svg
+++ b/public/emoji/1f1f5-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1ec.png b/public/emoji/1f1f5-1f1ec.png
deleted file mode 100644
index 825e9dcb7..000000000
Binary files a/public/emoji/1f1f5-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1ec.svg b/public/emoji/1f1f5-1f1ec.svg
index 094bf895f..a39a0e987 100644
--- a/public/emoji/1f1f5-1f1ec.svg
+++ b/public/emoji/1f1f5-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1ed.png b/public/emoji/1f1f5-1f1ed.png
deleted file mode 100644
index 8260e15bd..000000000
Binary files a/public/emoji/1f1f5-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1ed.svg b/public/emoji/1f1f5-1f1ed.svg
index 57ebde425..17965b9eb 100644
--- a/public/emoji/1f1f5-1f1ed.svg
+++ b/public/emoji/1f1f5-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f0.png b/public/emoji/1f1f5-1f1f0.png
deleted file mode 100644
index a7b6a1c50..000000000
Binary files a/public/emoji/1f1f5-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f0.svg b/public/emoji/1f1f5-1f1f0.svg
index 3a8cfd9b2..f3cfa4668 100644
--- a/public/emoji/1f1f5-1f1f0.svg
+++ b/public/emoji/1f1f5-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f1.png b/public/emoji/1f1f5-1f1f1.png
deleted file mode 100644
index 19de2edec..000000000
Binary files a/public/emoji/1f1f5-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f1.svg b/public/emoji/1f1f5-1f1f1.svg
index bf78dbbce..bbc7f1ba9 100644
--- a/public/emoji/1f1f5-1f1f1.svg
+++ b/public/emoji/1f1f5-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f2.png b/public/emoji/1f1f5-1f1f2.png
deleted file mode 100644
index 2ca605541..000000000
Binary files a/public/emoji/1f1f5-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f2.svg b/public/emoji/1f1f5-1f1f2.svg
index 517c6682a..44e7282b8 100644
--- a/public/emoji/1f1f5-1f1f2.svg
+++ b/public/emoji/1f1f5-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f3.png b/public/emoji/1f1f5-1f1f3.png
deleted file mode 100644
index f2263b154..000000000
Binary files a/public/emoji/1f1f5-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f3.svg b/public/emoji/1f1f5-1f1f3.svg
index adf57ca1a..e9d1c474e 100644
--- a/public/emoji/1f1f5-1f1f3.svg
+++ b/public/emoji/1f1f5-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f7.png b/public/emoji/1f1f5-1f1f7.png
deleted file mode 100644
index d0209cddb..000000000
Binary files a/public/emoji/1f1f5-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f7.svg b/public/emoji/1f1f5-1f1f7.svg
index 9008a5585..5a384c0e7 100644
--- a/public/emoji/1f1f5-1f1f7.svg
+++ b/public/emoji/1f1f5-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f8.png b/public/emoji/1f1f5-1f1f8.png
deleted file mode 100644
index 7ccab0977..000000000
Binary files a/public/emoji/1f1f5-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f8.svg b/public/emoji/1f1f5-1f1f8.svg
index e3f5f4248..08f8d7f13 100644
--- a/public/emoji/1f1f5-1f1f8.svg
+++ b/public/emoji/1f1f5-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1f9.png b/public/emoji/1f1f5-1f1f9.png
deleted file mode 100644
index cc93f27c6..000000000
Binary files a/public/emoji/1f1f5-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1f9.svg b/public/emoji/1f1f5-1f1f9.svg
index f4866075c..81defcf3a 100644
--- a/public/emoji/1f1f5-1f1f9.svg
+++ b/public/emoji/1f1f5-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1fc.png b/public/emoji/1f1f5-1f1fc.png
deleted file mode 100644
index 154b2f12d..000000000
Binary files a/public/emoji/1f1f5-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1fc.svg b/public/emoji/1f1f5-1f1fc.svg
index a88c9f8fb..4eaf0143c 100644
--- a/public/emoji/1f1f5-1f1fc.svg
+++ b/public/emoji/1f1f5-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5-1f1fe.png b/public/emoji/1f1f5-1f1fe.png
deleted file mode 100644
index 662ad2f6f..000000000
Binary files a/public/emoji/1f1f5-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1f5-1f1fe.svg b/public/emoji/1f1f5-1f1fe.svg
index 93e40d091..1853d28da 100644
--- a/public/emoji/1f1f5-1f1fe.svg
+++ b/public/emoji/1f1f5-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f5.png b/public/emoji/1f1f5.png
deleted file mode 100644
index bcb3298f9..000000000
Binary files a/public/emoji/1f1f5.png and /dev/null differ
diff --git a/public/emoji/1f1f5.svg b/public/emoji/1f1f5.svg
index 2a769ae73..c111c0386 100644
--- a/public/emoji/1f1f5.svg
+++ b/public/emoji/1f1f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f6-1f1e6.png b/public/emoji/1f1f6-1f1e6.png
deleted file mode 100644
index a01d8b05c..000000000
Binary files a/public/emoji/1f1f6-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f6-1f1e6.svg b/public/emoji/1f1f6-1f1e6.svg
index 6c5ce7947..0df012496 100644
--- a/public/emoji/1f1f6-1f1e6.svg
+++ b/public/emoji/1f1f6-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f6.png b/public/emoji/1f1f6.png
deleted file mode 100644
index 6c92a9dfb..000000000
Binary files a/public/emoji/1f1f6.png and /dev/null differ
diff --git a/public/emoji/1f1f6.svg b/public/emoji/1f1f6.svg
index ea3e84d3c..b3de8efbd 100644
--- a/public/emoji/1f1f6.svg
+++ b/public/emoji/1f1f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7-1f1ea.png b/public/emoji/1f1f7-1f1ea.png
deleted file mode 100644
index 57f2bbe9d..000000000
Binary files a/public/emoji/1f1f7-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f7-1f1ea.svg b/public/emoji/1f1f7-1f1ea.svg
index 634a34f5c..ef15739e2 100644
--- a/public/emoji/1f1f7-1f1ea.svg
+++ b/public/emoji/1f1f7-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7-1f1f4.png b/public/emoji/1f1f7-1f1f4.png
deleted file mode 100644
index 3e48c4477..000000000
Binary files a/public/emoji/1f1f7-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f7-1f1f4.svg b/public/emoji/1f1f7-1f1f4.svg
index 20553c771..3b3b6ab86 100644
--- a/public/emoji/1f1f7-1f1f4.svg
+++ b/public/emoji/1f1f7-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7-1f1f8.png b/public/emoji/1f1f7-1f1f8.png
deleted file mode 100644
index 9df6c9a52..000000000
Binary files a/public/emoji/1f1f7-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f7-1f1f8.svg b/public/emoji/1f1f7-1f1f8.svg
index 276ec5da5..5a2a16528 100644
--- a/public/emoji/1f1f7-1f1f8.svg
+++ b/public/emoji/1f1f7-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7-1f1fa.png b/public/emoji/1f1f7-1f1fa.png
deleted file mode 100644
index e50c9db90..000000000
Binary files a/public/emoji/1f1f7-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1f7-1f1fa.svg b/public/emoji/1f1f7-1f1fa.svg
index ba85d44e8..0c0949e69 100644
--- a/public/emoji/1f1f7-1f1fa.svg
+++ b/public/emoji/1f1f7-1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7-1f1fc.png b/public/emoji/1f1f7-1f1fc.png
deleted file mode 100644
index c238c874e..000000000
Binary files a/public/emoji/1f1f7-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1f7-1f1fc.svg b/public/emoji/1f1f7-1f1fc.svg
index d02fc12ba..11651f29b 100644
--- a/public/emoji/1f1f7-1f1fc.svg
+++ b/public/emoji/1f1f7-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f7.png b/public/emoji/1f1f7.png
deleted file mode 100644
index 627892c91..000000000
Binary files a/public/emoji/1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f7.svg b/public/emoji/1f1f7.svg
index 1e8673ffa..545c7700f 100644
--- a/public/emoji/1f1f7.svg
+++ b/public/emoji/1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1e6.png b/public/emoji/1f1f8-1f1e6.png
deleted file mode 100644
index 4941be7d1..000000000
Binary files a/public/emoji/1f1f8-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1e6.svg b/public/emoji/1f1f8-1f1e6.svg
index 73d0b056b..86d652757 100644
--- a/public/emoji/1f1f8-1f1e6.svg
+++ b/public/emoji/1f1f8-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1e7.png b/public/emoji/1f1f8-1f1e7.png
deleted file mode 100644
index 7d8f1ac61..000000000
Binary files a/public/emoji/1f1f8-1f1e7.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1e7.svg b/public/emoji/1f1f8-1f1e7.svg
index 1253585e9..f5629076f 100644
--- a/public/emoji/1f1f8-1f1e7.svg
+++ b/public/emoji/1f1f8-1f1e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1e8.png b/public/emoji/1f1f8-1f1e8.png
deleted file mode 100644
index 6ae4d9076..000000000
Binary files a/public/emoji/1f1f8-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1e8.svg b/public/emoji/1f1f8-1f1e8.svg
index c1632e696..2bafbc20c 100644
--- a/public/emoji/1f1f8-1f1e8.svg
+++ b/public/emoji/1f1f8-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1e9.png b/public/emoji/1f1f8-1f1e9.png
deleted file mode 100644
index 963be1b36..000000000
Binary files a/public/emoji/1f1f8-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1e9.svg b/public/emoji/1f1f8-1f1e9.svg
index 4fe07ce32..387ad3405 100644
--- a/public/emoji/1f1f8-1f1e9.svg
+++ b/public/emoji/1f1f8-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ea.png b/public/emoji/1f1f8-1f1ea.png
deleted file mode 100644
index fc0d0e0ce..000000000
Binary files a/public/emoji/1f1f8-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ea.svg b/public/emoji/1f1f8-1f1ea.svg
index ccd38777b..a84f573df 100644
--- a/public/emoji/1f1f8-1f1ea.svg
+++ b/public/emoji/1f1f8-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ec.png b/public/emoji/1f1f8-1f1ec.png
deleted file mode 100644
index de3c7737c..000000000
Binary files a/public/emoji/1f1f8-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ec.svg b/public/emoji/1f1f8-1f1ec.svg
index 91caccd4a..3d77757f4 100644
--- a/public/emoji/1f1f8-1f1ec.svg
+++ b/public/emoji/1f1f8-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ed.png b/public/emoji/1f1f8-1f1ed.png
deleted file mode 100644
index 40cd9e44e..000000000
Binary files a/public/emoji/1f1f8-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ed.svg b/public/emoji/1f1f8-1f1ed.svg
index ac8dfd1a0..5ceca0d3f 100644
--- a/public/emoji/1f1f8-1f1ed.svg
+++ b/public/emoji/1f1f8-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ee.png b/public/emoji/1f1f8-1f1ee.png
deleted file mode 100644
index e308999db..000000000
Binary files a/public/emoji/1f1f8-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ee.svg b/public/emoji/1f1f8-1f1ee.svg
index 85338c99c..aa66a1599 100644
--- a/public/emoji/1f1f8-1f1ee.svg
+++ b/public/emoji/1f1f8-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ef.png b/public/emoji/1f1f8-1f1ef.png
deleted file mode 100644
index 5884e6482..000000000
Binary files a/public/emoji/1f1f8-1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ef.svg b/public/emoji/1f1f8-1f1ef.svg
index e9f5672c6..f9a01310c 100644
--- a/public/emoji/1f1f8-1f1ef.svg
+++ b/public/emoji/1f1f8-1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f0.png b/public/emoji/1f1f8-1f1f0.png
deleted file mode 100644
index 4259d0e14..000000000
Binary files a/public/emoji/1f1f8-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f0.svg b/public/emoji/1f1f8-1f1f0.svg
index 5b0e54356..d3a88c1da 100644
--- a/public/emoji/1f1f8-1f1f0.svg
+++ b/public/emoji/1f1f8-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f1.png b/public/emoji/1f1f8-1f1f1.png
deleted file mode 100644
index d2cc68830..000000000
Binary files a/public/emoji/1f1f8-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f1.svg b/public/emoji/1f1f8-1f1f1.svg
index 50fafc277..a03423c12 100644
--- a/public/emoji/1f1f8-1f1f1.svg
+++ b/public/emoji/1f1f8-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f2.png b/public/emoji/1f1f8-1f1f2.png
deleted file mode 100644
index 03b870875..000000000
Binary files a/public/emoji/1f1f8-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f2.svg b/public/emoji/1f1f8-1f1f2.svg
index abe63183d..d26d90e38 100644
--- a/public/emoji/1f1f8-1f1f2.svg
+++ b/public/emoji/1f1f8-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f3.png b/public/emoji/1f1f8-1f1f3.png
deleted file mode 100644
index 5368bbe93..000000000
Binary files a/public/emoji/1f1f8-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f3.svg b/public/emoji/1f1f8-1f1f3.svg
index 548243e3b..308ef0342 100644
--- a/public/emoji/1f1f8-1f1f3.svg
+++ b/public/emoji/1f1f8-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f4.png b/public/emoji/1f1f8-1f1f4.png
deleted file mode 100644
index 68a059736..000000000
Binary files a/public/emoji/1f1f8-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f4.svg b/public/emoji/1f1f8-1f1f4.svg
index 967be6174..c205b1b37 100644
--- a/public/emoji/1f1f8-1f1f4.svg
+++ b/public/emoji/1f1f8-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f7.png b/public/emoji/1f1f8-1f1f7.png
deleted file mode 100644
index d32513270..000000000
Binary files a/public/emoji/1f1f8-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f7.svg b/public/emoji/1f1f8-1f1f7.svg
index 6348d1a78..d2b6e0fb5 100644
--- a/public/emoji/1f1f8-1f1f7.svg
+++ b/public/emoji/1f1f8-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f8.png b/public/emoji/1f1f8-1f1f8.png
deleted file mode 100644
index 122977e79..000000000
Binary files a/public/emoji/1f1f8-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f8.svg b/public/emoji/1f1f8-1f1f8.svg
index 9bbb66542..e18f9e697 100644
--- a/public/emoji/1f1f8-1f1f8.svg
+++ b/public/emoji/1f1f8-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1f9.png b/public/emoji/1f1f8-1f1f9.png
deleted file mode 100644
index f83a863d6..000000000
Binary files a/public/emoji/1f1f8-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1f9.svg b/public/emoji/1f1f8-1f1f9.svg
index 08a1d8fbb..2d5ef73c5 100644
--- a/public/emoji/1f1f8-1f1f9.svg
+++ b/public/emoji/1f1f8-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1fb.png b/public/emoji/1f1f8-1f1fb.png
deleted file mode 100644
index efb83e2f2..000000000
Binary files a/public/emoji/1f1f8-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1fb.svg b/public/emoji/1f1f8-1f1fb.svg
index 9c9370475..5081fb948 100644
--- a/public/emoji/1f1f8-1f1fb.svg
+++ b/public/emoji/1f1f8-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1fd.png b/public/emoji/1f1f8-1f1fd.png
deleted file mode 100644
index 94b760fbe..000000000
Binary files a/public/emoji/1f1f8-1f1fd.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1fd.svg b/public/emoji/1f1f8-1f1fd.svg
index b0cd97a07..00d7eb4d5 100644
--- a/public/emoji/1f1f8-1f1fd.svg
+++ b/public/emoji/1f1f8-1f1fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1fe.png b/public/emoji/1f1f8-1f1fe.png
deleted file mode 100644
index 09a8ee8f7..000000000
Binary files a/public/emoji/1f1f8-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1fe.svg b/public/emoji/1f1f8-1f1fe.svg
index 62fbea40b..d7c1df75a 100644
--- a/public/emoji/1f1f8-1f1fe.svg
+++ b/public/emoji/1f1f8-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8-1f1ff.png b/public/emoji/1f1f8-1f1ff.png
deleted file mode 100644
index f74e82ea1..000000000
Binary files a/public/emoji/1f1f8-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1f8-1f1ff.svg b/public/emoji/1f1f8-1f1ff.svg
index deafce4e2..d6c470dd0 100644
--- a/public/emoji/1f1f8-1f1ff.svg
+++ b/public/emoji/1f1f8-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f8.png b/public/emoji/1f1f8.png
deleted file mode 100644
index 9d0dbf93a..000000000
Binary files a/public/emoji/1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1f8.svg b/public/emoji/1f1f8.svg
index a39d2010e..a73e5074c 100644
--- a/public/emoji/1f1f8.svg
+++ b/public/emoji/1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1e6.png b/public/emoji/1f1f9-1f1e6.png
deleted file mode 100644
index b44283e90..000000000
Binary files a/public/emoji/1f1f9-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1e6.svg b/public/emoji/1f1f9-1f1e6.svg
index 68e6e9ce7..84b5c1e7d 100644
--- a/public/emoji/1f1f9-1f1e6.svg
+++ b/public/emoji/1f1f9-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1e8.png b/public/emoji/1f1f9-1f1e8.png
deleted file mode 100644
index 156b33d1b..000000000
Binary files a/public/emoji/1f1f9-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1e8.svg b/public/emoji/1f1f9-1f1e8.svg
index ba12e33df..5f2b42d62 100644
--- a/public/emoji/1f1f9-1f1e8.svg
+++ b/public/emoji/1f1f9-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1e9.png b/public/emoji/1f1f9-1f1e9.png
deleted file mode 100644
index ebe7f5928..000000000
Binary files a/public/emoji/1f1f9-1f1e9.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1e9.svg b/public/emoji/1f1f9-1f1e9.svg
index 3976073fb..0e48d2772 100644
--- a/public/emoji/1f1f9-1f1e9.svg
+++ b/public/emoji/1f1f9-1f1e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1eb.png b/public/emoji/1f1f9-1f1eb.png
deleted file mode 100644
index a1a3ad68e..000000000
Binary files a/public/emoji/1f1f9-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1eb.svg b/public/emoji/1f1f9-1f1eb.svg
index f374f23f6..015fbf976 100644
--- a/public/emoji/1f1f9-1f1eb.svg
+++ b/public/emoji/1f1f9-1f1eb.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1ec.png b/public/emoji/1f1f9-1f1ec.png
deleted file mode 100644
index 826b73c9a..000000000
Binary files a/public/emoji/1f1f9-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1ec.svg b/public/emoji/1f1f9-1f1ec.svg
index 1c9e70f45..e4dc6d6d3 100644
--- a/public/emoji/1f1f9-1f1ec.svg
+++ b/public/emoji/1f1f9-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1ed.png b/public/emoji/1f1f9-1f1ed.png
deleted file mode 100644
index 93ff542c5..000000000
Binary files a/public/emoji/1f1f9-1f1ed.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1ed.svg b/public/emoji/1f1f9-1f1ed.svg
index d5a54a4d8..426a60c8e 100644
--- a/public/emoji/1f1f9-1f1ed.svg
+++ b/public/emoji/1f1f9-1f1ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1ef.png b/public/emoji/1f1f9-1f1ef.png
deleted file mode 100644
index 7a8a0b619..000000000
Binary files a/public/emoji/1f1f9-1f1ef.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1ef.svg b/public/emoji/1f1f9-1f1ef.svg
index a7d29de9d..126bc7c5a 100644
--- a/public/emoji/1f1f9-1f1ef.svg
+++ b/public/emoji/1f1f9-1f1ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f0.png b/public/emoji/1f1f9-1f1f0.png
deleted file mode 100644
index 2fa5a21b1..000000000
Binary files a/public/emoji/1f1f9-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f0.svg b/public/emoji/1f1f9-1f1f0.svg
index 7c869591e..ba9c6a1a6 100644
--- a/public/emoji/1f1f9-1f1f0.svg
+++ b/public/emoji/1f1f9-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f1.png b/public/emoji/1f1f9-1f1f1.png
deleted file mode 100644
index 5b120eccc..000000000
Binary files a/public/emoji/1f1f9-1f1f1.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f1.svg b/public/emoji/1f1f9-1f1f1.svg
index 43e983ac3..1da3e6502 100644
--- a/public/emoji/1f1f9-1f1f1.svg
+++ b/public/emoji/1f1f9-1f1f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f2.png b/public/emoji/1f1f9-1f1f2.png
deleted file mode 100644
index c3c4f5323..000000000
Binary files a/public/emoji/1f1f9-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f2.svg b/public/emoji/1f1f9-1f1f2.svg
index 785f91cbb..5dcd737a7 100644
--- a/public/emoji/1f1f9-1f1f2.svg
+++ b/public/emoji/1f1f9-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f3.png b/public/emoji/1f1f9-1f1f3.png
deleted file mode 100644
index 58ef16122..000000000
Binary files a/public/emoji/1f1f9-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f3.svg b/public/emoji/1f1f9-1f1f3.svg
index b27930a65..09b34992a 100644
--- a/public/emoji/1f1f9-1f1f3.svg
+++ b/public/emoji/1f1f9-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f4.png b/public/emoji/1f1f9-1f1f4.png
deleted file mode 100644
index 1ffa7bb9d..000000000
Binary files a/public/emoji/1f1f9-1f1f4.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f4.svg b/public/emoji/1f1f9-1f1f4.svg
index 4adcb0343..cd4ae3094 100644
--- a/public/emoji/1f1f9-1f1f4.svg
+++ b/public/emoji/1f1f9-1f1f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f7.png b/public/emoji/1f1f9-1f1f7.png
deleted file mode 100644
index 325251fae..000000000
Binary files a/public/emoji/1f1f9-1f1f7.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f7.svg b/public/emoji/1f1f9-1f1f7.svg
index 57ab90b7d..d8fd78213 100644
--- a/public/emoji/1f1f9-1f1f7.svg
+++ b/public/emoji/1f1f9-1f1f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1f9.png b/public/emoji/1f1f9-1f1f9.png
deleted file mode 100644
index ed3bb39a3..000000000
Binary files a/public/emoji/1f1f9-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1f9.svg b/public/emoji/1f1f9-1f1f9.svg
index d0322a71a..00bf8643a 100644
--- a/public/emoji/1f1f9-1f1f9.svg
+++ b/public/emoji/1f1f9-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1fb.png b/public/emoji/1f1f9-1f1fb.png
deleted file mode 100644
index e82c65c7b..000000000
Binary files a/public/emoji/1f1f9-1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1fb.svg b/public/emoji/1f1f9-1f1fb.svg
index e911e865f..1a3d48f7e 100644
--- a/public/emoji/1f1f9-1f1fb.svg
+++ b/public/emoji/1f1f9-1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1fc.png b/public/emoji/1f1f9-1f1fc.png
deleted file mode 100644
index 3a8f00b59..000000000
Binary files a/public/emoji/1f1f9-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1fc.svg b/public/emoji/1f1f9-1f1fc.svg
index 8ac4ed831..948f05efe 100644
--- a/public/emoji/1f1f9-1f1fc.svg
+++ b/public/emoji/1f1f9-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9-1f1ff.png b/public/emoji/1f1f9-1f1ff.png
deleted file mode 100644
index 2a020853d..000000000
Binary files a/public/emoji/1f1f9-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1f9-1f1ff.svg b/public/emoji/1f1f9-1f1ff.svg
index 9e65b4b84..8a5cbf680 100644
--- a/public/emoji/1f1f9-1f1ff.svg
+++ b/public/emoji/1f1f9-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1f9.png b/public/emoji/1f1f9.png
deleted file mode 100644
index 2d882f66b..000000000
Binary files a/public/emoji/1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1f9.svg b/public/emoji/1f1f9.svg
index 6d8e6eda8..c230bbcfc 100644
--- a/public/emoji/1f1f9.svg
+++ b/public/emoji/1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1e6.png b/public/emoji/1f1fa-1f1e6.png
deleted file mode 100644
index cd84d1bbd..000000000
Binary files a/public/emoji/1f1fa-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1e6.svg b/public/emoji/1f1fa-1f1e6.svg
index 3d4e0e3b5..6d7254dce 100644
--- a/public/emoji/1f1fa-1f1e6.svg
+++ b/public/emoji/1f1fa-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1ec.png b/public/emoji/1f1fa-1f1ec.png
deleted file mode 100644
index dc97690eb..000000000
Binary files a/public/emoji/1f1fa-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1ec.svg b/public/emoji/1f1fa-1f1ec.svg
index 450937689..cc3422c62 100644
--- a/public/emoji/1f1fa-1f1ec.svg
+++ b/public/emoji/1f1fa-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1f2.png b/public/emoji/1f1fa-1f1f2.png
deleted file mode 100644
index 4a7ee3cdf..000000000
Binary files a/public/emoji/1f1fa-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1f2.svg b/public/emoji/1f1fa-1f1f2.svg
index 48488ea24..a7e325796 100644
--- a/public/emoji/1f1fa-1f1f2.svg
+++ b/public/emoji/1f1fa-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1f3.svg b/public/emoji/1f1fa-1f1f3.svg
new file mode 100644
index 000000000..825b32dac
--- /dev/null
+++ b/public/emoji/1f1fa-1f1f3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1f8.png b/public/emoji/1f1fa-1f1f8.png
deleted file mode 100644
index 9f7303058..000000000
Binary files a/public/emoji/1f1fa-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1f8.svg b/public/emoji/1f1fa-1f1f8.svg
index 28e8578e1..a7e325796 100644
--- a/public/emoji/1f1fa-1f1f8.svg
+++ b/public/emoji/1f1fa-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1fe.png b/public/emoji/1f1fa-1f1fe.png
deleted file mode 100644
index b8002a697..000000000
Binary files a/public/emoji/1f1fa-1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1fe.svg b/public/emoji/1f1fa-1f1fe.svg
index bc4ad7003..dfd2535a0 100644
--- a/public/emoji/1f1fa-1f1fe.svg
+++ b/public/emoji/1f1fa-1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa-1f1ff.png b/public/emoji/1f1fa-1f1ff.png
deleted file mode 100644
index d56ca9bc4..000000000
Binary files a/public/emoji/1f1fa-1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1fa-1f1ff.svg b/public/emoji/1f1fa-1f1ff.svg
index a6bb6cbfd..b9997256e 100644
--- a/public/emoji/1f1fa-1f1ff.svg
+++ b/public/emoji/1f1fa-1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fa.png b/public/emoji/1f1fa.png
deleted file mode 100644
index ae0cabeb1..000000000
Binary files a/public/emoji/1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1fa.svg b/public/emoji/1f1fa.svg
index 9966d1323..1e7d29869 100644
--- a/public/emoji/1f1fa.svg
+++ b/public/emoji/1f1fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1e6.png b/public/emoji/1f1fb-1f1e6.png
deleted file mode 100644
index ddaf5e314..000000000
Binary files a/public/emoji/1f1fb-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1e6.svg b/public/emoji/1f1fb-1f1e6.svg
index d0078effe..af4d69603 100644
--- a/public/emoji/1f1fb-1f1e6.svg
+++ b/public/emoji/1f1fb-1f1e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1e8.png b/public/emoji/1f1fb-1f1e8.png
deleted file mode 100644
index 43703c62a..000000000
Binary files a/public/emoji/1f1fb-1f1e8.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1e8.svg b/public/emoji/1f1fb-1f1e8.svg
index 5cafb43d9..06ffac698 100644
--- a/public/emoji/1f1fb-1f1e8.svg
+++ b/public/emoji/1f1fb-1f1e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1ea.png b/public/emoji/1f1fb-1f1ea.png
deleted file mode 100644
index 1b6279682..000000000
Binary files a/public/emoji/1f1fb-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1ea.svg b/public/emoji/1f1fb-1f1ea.svg
index 8274ed0b4..a4ed2d2aa 100644
--- a/public/emoji/1f1fb-1f1ea.svg
+++ b/public/emoji/1f1fb-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1ec.png b/public/emoji/1f1fb-1f1ec.png
deleted file mode 100644
index 536f780f1..000000000
Binary files a/public/emoji/1f1fb-1f1ec.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1ec.svg b/public/emoji/1f1fb-1f1ec.svg
index e5afefcad..6357a52fa 100644
--- a/public/emoji/1f1fb-1f1ec.svg
+++ b/public/emoji/1f1fb-1f1ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1ee.png b/public/emoji/1f1fb-1f1ee.png
deleted file mode 100644
index 64102012c..000000000
Binary files a/public/emoji/1f1fb-1f1ee.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1ee.svg b/public/emoji/1f1fb-1f1ee.svg
index 2364a0c8c..2f0b93194 100644
--- a/public/emoji/1f1fb-1f1ee.svg
+++ b/public/emoji/1f1fb-1f1ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1f3.png b/public/emoji/1f1fb-1f1f3.png
deleted file mode 100644
index 427036046..000000000
Binary files a/public/emoji/1f1fb-1f1f3.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1f3.svg b/public/emoji/1f1fb-1f1f3.svg
index a35b203fd..d0b7daeb4 100644
--- a/public/emoji/1f1fb-1f1f3.svg
+++ b/public/emoji/1f1fb-1f1f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb-1f1fa.png b/public/emoji/1f1fb-1f1fa.png
deleted file mode 100644
index 706eba440..000000000
Binary files a/public/emoji/1f1fb-1f1fa.png and /dev/null differ
diff --git a/public/emoji/1f1fb-1f1fa.svg b/public/emoji/1f1fb-1f1fa.svg
index 51ac13f4f..7595f2f72 100644
--- a/public/emoji/1f1fb-1f1fa.svg
+++ b/public/emoji/1f1fb-1f1fa.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fb.png b/public/emoji/1f1fb.png
deleted file mode 100644
index e01e179b4..000000000
Binary files a/public/emoji/1f1fb.png and /dev/null differ
diff --git a/public/emoji/1f1fb.svg b/public/emoji/1f1fb.svg
index fd7586dca..946cf36a1 100644
--- a/public/emoji/1f1fb.svg
+++ b/public/emoji/1f1fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fc-1f1eb.png b/public/emoji/1f1fc-1f1eb.png
deleted file mode 100644
index 70c761036..000000000
Binary files a/public/emoji/1f1fc-1f1eb.png and /dev/null differ
diff --git a/public/emoji/1f1fc-1f1eb.svg b/public/emoji/1f1fc-1f1eb.svg
index 16bfba0cf..b7d01ea66 100644
--- a/public/emoji/1f1fc-1f1eb.svg
+++ b/public/emoji/1f1fc-1f1eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fc-1f1f8.png b/public/emoji/1f1fc-1f1f8.png
deleted file mode 100644
index a1ea07031..000000000
Binary files a/public/emoji/1f1fc-1f1f8.png and /dev/null differ
diff --git a/public/emoji/1f1fc-1f1f8.svg b/public/emoji/1f1fc-1f1f8.svg
index 67b769ca6..6e11aab76 100644
--- a/public/emoji/1f1fc-1f1f8.svg
+++ b/public/emoji/1f1fc-1f1f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fc.png b/public/emoji/1f1fc.png
deleted file mode 100644
index e8f614ac8..000000000
Binary files a/public/emoji/1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1fc.svg b/public/emoji/1f1fc.svg
index 3f2ce79fd..aed47a882 100644
--- a/public/emoji/1f1fc.svg
+++ b/public/emoji/1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fd-1f1f0.png b/public/emoji/1f1fd-1f1f0.png
deleted file mode 100644
index e587a4466..000000000
Binary files a/public/emoji/1f1fd-1f1f0.png and /dev/null differ
diff --git a/public/emoji/1f1fd-1f1f0.svg b/public/emoji/1f1fd-1f1f0.svg
index 4a771e938..4499d2cfd 100644
--- a/public/emoji/1f1fd-1f1f0.svg
+++ b/public/emoji/1f1fd-1f1f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fd.png b/public/emoji/1f1fd.png
deleted file mode 100644
index e3bedba0b..000000000
Binary files a/public/emoji/1f1fd.png and /dev/null differ
diff --git a/public/emoji/1f1fd.svg b/public/emoji/1f1fd.svg
index 0b95b597c..9af21b8df 100644
--- a/public/emoji/1f1fd.svg
+++ b/public/emoji/1f1fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fe-1f1ea.png b/public/emoji/1f1fe-1f1ea.png
deleted file mode 100644
index eadfebd5f..000000000
Binary files a/public/emoji/1f1fe-1f1ea.png and /dev/null differ
diff --git a/public/emoji/1f1fe-1f1ea.svg b/public/emoji/1f1fe-1f1ea.svg
index beeca6229..667d2ae89 100644
--- a/public/emoji/1f1fe-1f1ea.svg
+++ b/public/emoji/1f1fe-1f1ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1fe-1f1f9.png b/public/emoji/1f1fe-1f1f9.png
deleted file mode 100644
index c81fa6d88..000000000
Binary files a/public/emoji/1f1fe-1f1f9.png and /dev/null differ
diff --git a/public/emoji/1f1fe-1f1f9.svg b/public/emoji/1f1fe-1f1f9.svg
index b2627bf9b..5560649cb 100644
--- a/public/emoji/1f1fe-1f1f9.svg
+++ b/public/emoji/1f1fe-1f1f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml MAYOTTE
diff --git a/public/emoji/1f1fe.png b/public/emoji/1f1fe.png
deleted file mode 100644
index 9bfa7f2db..000000000
Binary files a/public/emoji/1f1fe.png and /dev/null differ
diff --git a/public/emoji/1f1fe.svg b/public/emoji/1f1fe.svg
index fe9e109c0..49eecb7d6 100644
--- a/public/emoji/1f1fe.svg
+++ b/public/emoji/1f1fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ff-1f1e6.png b/public/emoji/1f1ff-1f1e6.png
deleted file mode 100644
index f397ef507..000000000
Binary files a/public/emoji/1f1ff-1f1e6.png and /dev/null differ
diff --git a/public/emoji/1f1ff-1f1e6.svg b/public/emoji/1f1ff-1f1e6.svg
index 5253e6360..cb41b2ef6 100644
--- a/public/emoji/1f1ff-1f1e6.svg
+++ b/public/emoji/1f1ff-1f1e6.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ff-1f1f2.png b/public/emoji/1f1ff-1f1f2.png
deleted file mode 100644
index 2494a31f6..000000000
Binary files a/public/emoji/1f1ff-1f1f2.png and /dev/null differ
diff --git a/public/emoji/1f1ff-1f1f2.svg b/public/emoji/1f1ff-1f1f2.svg
index 16306c739..25e86be03 100644
--- a/public/emoji/1f1ff-1f1f2.svg
+++ b/public/emoji/1f1ff-1f1f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ff-1f1fc.png b/public/emoji/1f1ff-1f1fc.png
deleted file mode 100644
index e09b9652b..000000000
Binary files a/public/emoji/1f1ff-1f1fc.png and /dev/null differ
diff --git a/public/emoji/1f1ff-1f1fc.svg b/public/emoji/1f1ff-1f1fc.svg
index 77f539e5f..aeb9a3c81 100644
--- a/public/emoji/1f1ff-1f1fc.svg
+++ b/public/emoji/1f1ff-1f1fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f1ff.png b/public/emoji/1f1ff.png
deleted file mode 100644
index 5bf03f100..000000000
Binary files a/public/emoji/1f1ff.png and /dev/null differ
diff --git a/public/emoji/1f1ff.svg b/public/emoji/1f1ff.svg
index 133cd3cf3..f8f798989 100644
--- a/public/emoji/1f1ff.svg
+++ b/public/emoji/1f1ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f201.png b/public/emoji/1f201.png
deleted file mode 100644
index 6450eb44d..000000000
Binary files a/public/emoji/1f201.png and /dev/null differ
diff --git a/public/emoji/1f201.svg b/public/emoji/1f201.svg
index 44714e7ea..824d957c3 100644
--- a/public/emoji/1f201.svg
+++ b/public/emoji/1f201.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f202.png b/public/emoji/1f202.png
deleted file mode 100644
index 900f96332..000000000
Binary files a/public/emoji/1f202.png and /dev/null differ
diff --git a/public/emoji/1f202.svg b/public/emoji/1f202.svg
index a6e36bc7d..b2c039cb7 100644
--- a/public/emoji/1f202.svg
+++ b/public/emoji/1f202.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f21a.png b/public/emoji/1f21a.png
deleted file mode 100644
index d3a19b420..000000000
Binary files a/public/emoji/1f21a.png and /dev/null differ
diff --git a/public/emoji/1f21a.svg b/public/emoji/1f21a.svg
index 74c92f22c..1992f1d49 100644
--- a/public/emoji/1f21a.svg
+++ b/public/emoji/1f21a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f22f.png b/public/emoji/1f22f.png
deleted file mode 100644
index 078e23e4f..000000000
Binary files a/public/emoji/1f22f.png and /dev/null differ
diff --git a/public/emoji/1f22f.svg b/public/emoji/1f22f.svg
index 07d785adf..265e896a9 100644
--- a/public/emoji/1f22f.svg
+++ b/public/emoji/1f22f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f232.png b/public/emoji/1f232.png
deleted file mode 100644
index 4c704e034..000000000
Binary files a/public/emoji/1f232.png and /dev/null differ
diff --git a/public/emoji/1f232.svg b/public/emoji/1f232.svg
index 5cc5826ce..442d11dce 100644
--- a/public/emoji/1f232.svg
+++ b/public/emoji/1f232.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f233.png b/public/emoji/1f233.png
deleted file mode 100644
index 47966c1ea..000000000
Binary files a/public/emoji/1f233.png and /dev/null differ
diff --git a/public/emoji/1f233.svg b/public/emoji/1f233.svg
index ae8c7bdad..c9de76080 100644
--- a/public/emoji/1f233.svg
+++ b/public/emoji/1f233.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f234.png b/public/emoji/1f234.png
deleted file mode 100644
index 8375ad9d9..000000000
Binary files a/public/emoji/1f234.png and /dev/null differ
diff --git a/public/emoji/1f234.svg b/public/emoji/1f234.svg
index ea346b666..8d24fe0b1 100644
--- a/public/emoji/1f234.svg
+++ b/public/emoji/1f234.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f235.png b/public/emoji/1f235.png
deleted file mode 100644
index f9dea8b88..000000000
Binary files a/public/emoji/1f235.png and /dev/null differ
diff --git a/public/emoji/1f235.svg b/public/emoji/1f235.svg
index ed4265dc3..69992bd9b 100644
--- a/public/emoji/1f235.svg
+++ b/public/emoji/1f235.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f236.png b/public/emoji/1f236.png
deleted file mode 100644
index a4510de41..000000000
Binary files a/public/emoji/1f236.png and /dev/null differ
diff --git a/public/emoji/1f236.svg b/public/emoji/1f236.svg
index 8d2d4e38f..161b13898 100644
--- a/public/emoji/1f236.svg
+++ b/public/emoji/1f236.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f237.png b/public/emoji/1f237.png
deleted file mode 100644
index c41bd36a2..000000000
Binary files a/public/emoji/1f237.png and /dev/null differ
diff --git a/public/emoji/1f237.svg b/public/emoji/1f237.svg
index 01c87d775..a0590d6a3 100644
--- a/public/emoji/1f237.svg
+++ b/public/emoji/1f237.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f238.png b/public/emoji/1f238.png
deleted file mode 100644
index 6b7af0ee2..000000000
Binary files a/public/emoji/1f238.png and /dev/null differ
diff --git a/public/emoji/1f238.svg b/public/emoji/1f238.svg
index 2bec66900..913f6ee10 100644
--- a/public/emoji/1f238.svg
+++ b/public/emoji/1f238.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f239.png b/public/emoji/1f239.png
deleted file mode 100644
index c4f837fe6..000000000
Binary files a/public/emoji/1f239.png and /dev/null differ
diff --git a/public/emoji/1f239.svg b/public/emoji/1f239.svg
index c989838cc..a85431feb 100644
--- a/public/emoji/1f239.svg
+++ b/public/emoji/1f239.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f23a.png b/public/emoji/1f23a.png
deleted file mode 100644
index d21cb30ea..000000000
Binary files a/public/emoji/1f23a.png and /dev/null differ
diff --git a/public/emoji/1f23a.svg b/public/emoji/1f23a.svg
index 2c743f7f9..3b7447811 100644
--- a/public/emoji/1f23a.svg
+++ b/public/emoji/1f23a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f250.png b/public/emoji/1f250.png
deleted file mode 100644
index 0c0d589ca..000000000
Binary files a/public/emoji/1f250.png and /dev/null differ
diff --git a/public/emoji/1f250.svg b/public/emoji/1f250.svg
index 0518c4af6..b33576a7a 100644
--- a/public/emoji/1f250.svg
+++ b/public/emoji/1f250.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f251.png b/public/emoji/1f251.png
deleted file mode 100644
index 8afd7ce99..000000000
Binary files a/public/emoji/1f251.png and /dev/null differ
diff --git a/public/emoji/1f251.svg b/public/emoji/1f251.svg
index 4da18fa19..c47e05b21 100644
--- a/public/emoji/1f251.svg
+++ b/public/emoji/1f251.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f300.png b/public/emoji/1f300.png
deleted file mode 100644
index ff00b1afe..000000000
Binary files a/public/emoji/1f300.png and /dev/null differ
diff --git a/public/emoji/1f300.svg b/public/emoji/1f300.svg
index 00f603086..2dc5286f7 100644
--- a/public/emoji/1f300.svg
+++ b/public/emoji/1f300.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f301.png b/public/emoji/1f301.png
deleted file mode 100644
index 57702d8d3..000000000
Binary files a/public/emoji/1f301.png and /dev/null differ
diff --git a/public/emoji/1f301.svg b/public/emoji/1f301.svg
index a94c77a88..0ab7d698b 100644
--- a/public/emoji/1f301.svg
+++ b/public/emoji/1f301.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f302.png b/public/emoji/1f302.png
deleted file mode 100644
index ecefba9e4..000000000
Binary files a/public/emoji/1f302.png and /dev/null differ
diff --git a/public/emoji/1f302.svg b/public/emoji/1f302.svg
index 2e02d2895..881160d3a 100644
--- a/public/emoji/1f302.svg
+++ b/public/emoji/1f302.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f303.png b/public/emoji/1f303.png
deleted file mode 100644
index ca2018f45..000000000
Binary files a/public/emoji/1f303.png and /dev/null differ
diff --git a/public/emoji/1f303.svg b/public/emoji/1f303.svg
index cb533e58f..958318bc8 100644
--- a/public/emoji/1f303.svg
+++ b/public/emoji/1f303.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f304.png b/public/emoji/1f304.png
deleted file mode 100644
index 2b9930734..000000000
Binary files a/public/emoji/1f304.png and /dev/null differ
diff --git a/public/emoji/1f304.svg b/public/emoji/1f304.svg
index 1d032f082..9b9aab4d6 100644
--- a/public/emoji/1f304.svg
+++ b/public/emoji/1f304.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f305.png b/public/emoji/1f305.png
deleted file mode 100644
index 4ad36003c..000000000
Binary files a/public/emoji/1f305.png and /dev/null differ
diff --git a/public/emoji/1f305.svg b/public/emoji/1f305.svg
index dfc849803..df6b2f0d5 100644
--- a/public/emoji/1f305.svg
+++ b/public/emoji/1f305.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f306.png b/public/emoji/1f306.png
deleted file mode 100644
index 80cdff7cf..000000000
Binary files a/public/emoji/1f306.png and /dev/null differ
diff --git a/public/emoji/1f306.svg b/public/emoji/1f306.svg
index 0bf2b32a9..49a62d499 100644
--- a/public/emoji/1f306.svg
+++ b/public/emoji/1f306.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f307.png b/public/emoji/1f307.png
deleted file mode 100644
index 7cded0ba5..000000000
Binary files a/public/emoji/1f307.png and /dev/null differ
diff --git a/public/emoji/1f307.svg b/public/emoji/1f307.svg
index d6648a490..03edebae1 100644
--- a/public/emoji/1f307.svg
+++ b/public/emoji/1f307.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f308.png b/public/emoji/1f308.png
deleted file mode 100644
index 154735d71..000000000
Binary files a/public/emoji/1f308.png and /dev/null differ
diff --git a/public/emoji/1f308.svg b/public/emoji/1f308.svg
index 22ae3f5f8..000d18deb 100644
--- a/public/emoji/1f308.svg
+++ b/public/emoji/1f308.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f309.png b/public/emoji/1f309.png
deleted file mode 100644
index 1d444e0be..000000000
Binary files a/public/emoji/1f309.png and /dev/null differ
diff --git a/public/emoji/1f309.svg b/public/emoji/1f309.svg
index cdaab3191..20776394b 100644
--- a/public/emoji/1f309.svg
+++ b/public/emoji/1f309.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30a.png b/public/emoji/1f30a.png
deleted file mode 100644
index 45ff1e877..000000000
Binary files a/public/emoji/1f30a.png and /dev/null differ
diff --git a/public/emoji/1f30a.svg b/public/emoji/1f30a.svg
index efdfafca5..e72edf1e6 100644
--- a/public/emoji/1f30a.svg
+++ b/public/emoji/1f30a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30b.png b/public/emoji/1f30b.png
deleted file mode 100644
index 931d56929..000000000
Binary files a/public/emoji/1f30b.png and /dev/null differ
diff --git a/public/emoji/1f30b.svg b/public/emoji/1f30b.svg
index 51ce7a82e..9d4ca1818 100644
--- a/public/emoji/1f30b.svg
+++ b/public/emoji/1f30b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30c.png b/public/emoji/1f30c.png
deleted file mode 100644
index b2b8ac59c..000000000
Binary files a/public/emoji/1f30c.png and /dev/null differ
diff --git a/public/emoji/1f30c.svg b/public/emoji/1f30c.svg
index de7a0212d..d6764f50f 100644
--- a/public/emoji/1f30c.svg
+++ b/public/emoji/1f30c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30d.png b/public/emoji/1f30d.png
deleted file mode 100644
index 66c3348c2..000000000
Binary files a/public/emoji/1f30d.png and /dev/null differ
diff --git a/public/emoji/1f30d.svg b/public/emoji/1f30d.svg
index efe3dee5d..d34b7012d 100644
--- a/public/emoji/1f30d.svg
+++ b/public/emoji/1f30d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30e.png b/public/emoji/1f30e.png
deleted file mode 100644
index 538c3cddd..000000000
Binary files a/public/emoji/1f30e.png and /dev/null differ
diff --git a/public/emoji/1f30e.svg b/public/emoji/1f30e.svg
index 96eb2c4a4..609dd5c93 100644
--- a/public/emoji/1f30e.svg
+++ b/public/emoji/1f30e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f30f.png b/public/emoji/1f30f.png
deleted file mode 100644
index d8df97fec..000000000
Binary files a/public/emoji/1f30f.png and /dev/null differ
diff --git a/public/emoji/1f30f.svg b/public/emoji/1f30f.svg
index 3766698ba..21b702ddb 100644
--- a/public/emoji/1f30f.svg
+++ b/public/emoji/1f30f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f310.png b/public/emoji/1f310.png
deleted file mode 100644
index 82450c1a4..000000000
Binary files a/public/emoji/1f310.png and /dev/null differ
diff --git a/public/emoji/1f310.svg b/public/emoji/1f310.svg
index 5290ca39f..fa1e93b6c 100644
--- a/public/emoji/1f310.svg
+++ b/public/emoji/1f310.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f311.png b/public/emoji/1f311.png
deleted file mode 100644
index ecff72caa..000000000
Binary files a/public/emoji/1f311.png and /dev/null differ
diff --git a/public/emoji/1f311.svg b/public/emoji/1f311.svg
index 78fd41ea0..6b7dd3d8d 100644
--- a/public/emoji/1f311.svg
+++ b/public/emoji/1f311.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f312.png b/public/emoji/1f312.png
deleted file mode 100644
index 687125173..000000000
Binary files a/public/emoji/1f312.png and /dev/null differ
diff --git a/public/emoji/1f312.svg b/public/emoji/1f312.svg
index 7bae646de..6b7680e36 100644
--- a/public/emoji/1f312.svg
+++ b/public/emoji/1f312.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f313.png b/public/emoji/1f313.png
deleted file mode 100644
index 5dccaf72a..000000000
Binary files a/public/emoji/1f313.png and /dev/null differ
diff --git a/public/emoji/1f313.svg b/public/emoji/1f313.svg
index 2a604a0f7..8ade662c7 100644
--- a/public/emoji/1f313.svg
+++ b/public/emoji/1f313.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f314.png b/public/emoji/1f314.png
deleted file mode 100644
index 3a8081563..000000000
Binary files a/public/emoji/1f314.png and /dev/null differ
diff --git a/public/emoji/1f314.svg b/public/emoji/1f314.svg
index 8fd4cf6a7..1609b18e9 100644
--- a/public/emoji/1f314.svg
+++ b/public/emoji/1f314.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f315.png b/public/emoji/1f315.png
deleted file mode 100644
index c9a2d6aa7..000000000
Binary files a/public/emoji/1f315.png and /dev/null differ
diff --git a/public/emoji/1f315.svg b/public/emoji/1f315.svg
index cdcbea597..e0143639f 100644
--- a/public/emoji/1f315.svg
+++ b/public/emoji/1f315.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f316.png b/public/emoji/1f316.png
deleted file mode 100644
index 24e162661..000000000
Binary files a/public/emoji/1f316.png and /dev/null differ
diff --git a/public/emoji/1f316.svg b/public/emoji/1f316.svg
index 0e1aa7b98..c7a3390eb 100644
--- a/public/emoji/1f316.svg
+++ b/public/emoji/1f316.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f317.png b/public/emoji/1f317.png
deleted file mode 100644
index 0842a0dd4..000000000
Binary files a/public/emoji/1f317.png and /dev/null differ
diff --git a/public/emoji/1f317.svg b/public/emoji/1f317.svg
index fe9e6db9d..2c63c0179 100644
--- a/public/emoji/1f317.svg
+++ b/public/emoji/1f317.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f318.png b/public/emoji/1f318.png
deleted file mode 100644
index cf68706b8..000000000
Binary files a/public/emoji/1f318.png and /dev/null differ
diff --git a/public/emoji/1f318.svg b/public/emoji/1f318.svg
index 0cc59a6d0..0cd9693b5 100644
--- a/public/emoji/1f318.svg
+++ b/public/emoji/1f318.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f319.png b/public/emoji/1f319.png
deleted file mode 100644
index 765420ece..000000000
Binary files a/public/emoji/1f319.png and /dev/null differ
diff --git a/public/emoji/1f319.svg b/public/emoji/1f319.svg
index 3fd5b28f9..a05283d37 100644
--- a/public/emoji/1f319.svg
+++ b/public/emoji/1f319.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31a.png b/public/emoji/1f31a.png
deleted file mode 100644
index 150dd1240..000000000
Binary files a/public/emoji/1f31a.png and /dev/null differ
diff --git a/public/emoji/1f31a.svg b/public/emoji/1f31a.svg
index 201d831f2..ea21d3f3d 100644
--- a/public/emoji/1f31a.svg
+++ b/public/emoji/1f31a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31b.png b/public/emoji/1f31b.png
deleted file mode 100644
index cd8a3d7ac..000000000
Binary files a/public/emoji/1f31b.png and /dev/null differ
diff --git a/public/emoji/1f31b.svg b/public/emoji/1f31b.svg
index 1f67f817d..14707c9d2 100644
--- a/public/emoji/1f31b.svg
+++ b/public/emoji/1f31b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31c.png b/public/emoji/1f31c.png
deleted file mode 100644
index 94099343c..000000000
Binary files a/public/emoji/1f31c.png and /dev/null differ
diff --git a/public/emoji/1f31c.svg b/public/emoji/1f31c.svg
index 53b98ca50..b1c8b5250 100644
--- a/public/emoji/1f31c.svg
+++ b/public/emoji/1f31c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31d.png b/public/emoji/1f31d.png
deleted file mode 100644
index a5c25bbaf..000000000
Binary files a/public/emoji/1f31d.png and /dev/null differ
diff --git a/public/emoji/1f31d.svg b/public/emoji/1f31d.svg
index 90c6d5019..cc75e8a56 100644
--- a/public/emoji/1f31d.svg
+++ b/public/emoji/1f31d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31e.png b/public/emoji/1f31e.png
deleted file mode 100644
index 14a4ea971..000000000
Binary files a/public/emoji/1f31e.png and /dev/null differ
diff --git a/public/emoji/1f31e.svg b/public/emoji/1f31e.svg
index f86c173d6..f694aa74a 100644
--- a/public/emoji/1f31e.svg
+++ b/public/emoji/1f31e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f31f.png b/public/emoji/1f31f.png
deleted file mode 100644
index 2f5cba592..000000000
Binary files a/public/emoji/1f31f.png and /dev/null differ
diff --git a/public/emoji/1f31f.svg b/public/emoji/1f31f.svg
index 13565256f..ac88d0d94 100644
--- a/public/emoji/1f31f.svg
+++ b/public/emoji/1f31f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f320.png b/public/emoji/1f320.png
deleted file mode 100644
index aa45384d1..000000000
Binary files a/public/emoji/1f320.png and /dev/null differ
diff --git a/public/emoji/1f320.svg b/public/emoji/1f320.svg
index c79d56a39..5d54372e3 100644
--- a/public/emoji/1f320.svg
+++ b/public/emoji/1f320.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f321.png b/public/emoji/1f321.png
deleted file mode 100644
index b11473924..000000000
Binary files a/public/emoji/1f321.png and /dev/null differ
diff --git a/public/emoji/1f321.svg b/public/emoji/1f321.svg
index b6419126b..8f55e77e1 100644
--- a/public/emoji/1f321.svg
+++ b/public/emoji/1f321.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f324.png b/public/emoji/1f324.png
deleted file mode 100644
index cead0bfa5..000000000
Binary files a/public/emoji/1f324.png and /dev/null differ
diff --git a/public/emoji/1f324.svg b/public/emoji/1f324.svg
index 0bfacd23d..b5d8293ce 100644
--- a/public/emoji/1f324.svg
+++ b/public/emoji/1f324.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f325.png b/public/emoji/1f325.png
deleted file mode 100644
index 0a4cc1002..000000000
Binary files a/public/emoji/1f325.png and /dev/null differ
diff --git a/public/emoji/1f325.svg b/public/emoji/1f325.svg
index 41fc0560c..8155577a3 100644
--- a/public/emoji/1f325.svg
+++ b/public/emoji/1f325.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f326.png b/public/emoji/1f326.png
deleted file mode 100644
index 491f9ca48..000000000
Binary files a/public/emoji/1f326.png and /dev/null differ
diff --git a/public/emoji/1f326.svg b/public/emoji/1f326.svg
index 8f83b295f..383aa2e97 100644
--- a/public/emoji/1f326.svg
+++ b/public/emoji/1f326.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f327.png b/public/emoji/1f327.png
deleted file mode 100644
index 385685e05..000000000
Binary files a/public/emoji/1f327.png and /dev/null differ
diff --git a/public/emoji/1f327.svg b/public/emoji/1f327.svg
index 52e6a1eff..2ff8cdfa3 100644
--- a/public/emoji/1f327.svg
+++ b/public/emoji/1f327.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f328.png b/public/emoji/1f328.png
deleted file mode 100644
index 9720384eb..000000000
Binary files a/public/emoji/1f328.png and /dev/null differ
diff --git a/public/emoji/1f328.svg b/public/emoji/1f328.svg
index dc0e858a8..35476fa95 100644
--- a/public/emoji/1f328.svg
+++ b/public/emoji/1f328.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f329.png b/public/emoji/1f329.png
deleted file mode 100644
index 0831e88aa..000000000
Binary files a/public/emoji/1f329.png and /dev/null differ
diff --git a/public/emoji/1f329.svg b/public/emoji/1f329.svg
index d7844b627..88bf05d37 100644
--- a/public/emoji/1f329.svg
+++ b/public/emoji/1f329.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32a.png b/public/emoji/1f32a.png
deleted file mode 100644
index 4821c89da..000000000
Binary files a/public/emoji/1f32a.png and /dev/null differ
diff --git a/public/emoji/1f32a.svg b/public/emoji/1f32a.svg
index 87326d990..ca5c1694a 100644
--- a/public/emoji/1f32a.svg
+++ b/public/emoji/1f32a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32b.png b/public/emoji/1f32b.png
deleted file mode 100644
index 4e73c2de2..000000000
Binary files a/public/emoji/1f32b.png and /dev/null differ
diff --git a/public/emoji/1f32b.svg b/public/emoji/1f32b.svg
index a294ee341..f22dfdd84 100644
--- a/public/emoji/1f32b.svg
+++ b/public/emoji/1f32b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32c.png b/public/emoji/1f32c.png
deleted file mode 100644
index df81b652e..000000000
Binary files a/public/emoji/1f32c.png and /dev/null differ
diff --git a/public/emoji/1f32c.svg b/public/emoji/1f32c.svg
index 652f28b7c..cb0615f1b 100644
--- a/public/emoji/1f32c.svg
+++ b/public/emoji/1f32c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32d.png b/public/emoji/1f32d.png
deleted file mode 100644
index 3c3354d94..000000000
Binary files a/public/emoji/1f32d.png and /dev/null differ
diff --git a/public/emoji/1f32d.svg b/public/emoji/1f32d.svg
index e9acb62da..e4c7c5b61 100644
--- a/public/emoji/1f32d.svg
+++ b/public/emoji/1f32d.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32e.png b/public/emoji/1f32e.png
deleted file mode 100644
index 10e847a46..000000000
Binary files a/public/emoji/1f32e.png and /dev/null differ
diff --git a/public/emoji/1f32e.svg b/public/emoji/1f32e.svg
index 7ce2afabe..1ed1f80c8 100644
--- a/public/emoji/1f32e.svg
+++ b/public/emoji/1f32e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f32f.png b/public/emoji/1f32f.png
deleted file mode 100644
index 02bd5601d..000000000
Binary files a/public/emoji/1f32f.png and /dev/null differ
diff --git a/public/emoji/1f32f.svg b/public/emoji/1f32f.svg
index 6ae903902..78023dd5d 100644
--- a/public/emoji/1f32f.svg
+++ b/public/emoji/1f32f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f330.png b/public/emoji/1f330.png
deleted file mode 100644
index e9fb40468..000000000
Binary files a/public/emoji/1f330.png and /dev/null differ
diff --git a/public/emoji/1f330.svg b/public/emoji/1f330.svg
index 5def65604..2bdaacc0c 100644
--- a/public/emoji/1f330.svg
+++ b/public/emoji/1f330.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f331.png b/public/emoji/1f331.png
deleted file mode 100644
index ae0948bcf..000000000
Binary files a/public/emoji/1f331.png and /dev/null differ
diff --git a/public/emoji/1f331.svg b/public/emoji/1f331.svg
index 90f17ee29..3fbe3c819 100644
--- a/public/emoji/1f331.svg
+++ b/public/emoji/1f331.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f332.png b/public/emoji/1f332.png
deleted file mode 100644
index f679d8dd7..000000000
Binary files a/public/emoji/1f332.png and /dev/null differ
diff --git a/public/emoji/1f332.svg b/public/emoji/1f332.svg
index be2098863..6c6ce5505 100644
--- a/public/emoji/1f332.svg
+++ b/public/emoji/1f332.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f333.png b/public/emoji/1f333.png
deleted file mode 100644
index 785fc1c30..000000000
Binary files a/public/emoji/1f333.png and /dev/null differ
diff --git a/public/emoji/1f333.svg b/public/emoji/1f333.svg
index 4f29da350..27070cdc1 100644
--- a/public/emoji/1f333.svg
+++ b/public/emoji/1f333.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f334.png b/public/emoji/1f334.png
deleted file mode 100644
index 4bbb10f4f..000000000
Binary files a/public/emoji/1f334.png and /dev/null differ
diff --git a/public/emoji/1f334.svg b/public/emoji/1f334.svg
index b0cec6d92..e20f94e27 100644
--- a/public/emoji/1f334.svg
+++ b/public/emoji/1f334.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f335.png b/public/emoji/1f335.png
deleted file mode 100644
index 9b48ccf3d..000000000
Binary files a/public/emoji/1f335.png and /dev/null differ
diff --git a/public/emoji/1f335.svg b/public/emoji/1f335.svg
index b980aad28..972a1fc9b 100644
--- a/public/emoji/1f335.svg
+++ b/public/emoji/1f335.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f336.png b/public/emoji/1f336.png
deleted file mode 100644
index 266675bd5..000000000
Binary files a/public/emoji/1f336.png and /dev/null differ
diff --git a/public/emoji/1f336.svg b/public/emoji/1f336.svg
index 3763d91d2..a5f14a3bb 100644
--- a/public/emoji/1f336.svg
+++ b/public/emoji/1f336.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f337.png b/public/emoji/1f337.png
deleted file mode 100644
index f799d75c1..000000000
Binary files a/public/emoji/1f337.png and /dev/null differ
diff --git a/public/emoji/1f337.svg b/public/emoji/1f337.svg
index 651218941..0c5a2c362 100644
--- a/public/emoji/1f337.svg
+++ b/public/emoji/1f337.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f338.png b/public/emoji/1f338.png
deleted file mode 100644
index 282f3e7bc..000000000
Binary files a/public/emoji/1f338.png and /dev/null differ
diff --git a/public/emoji/1f338.svg b/public/emoji/1f338.svg
index eb6d6da7b..8188ae92a 100644
--- a/public/emoji/1f338.svg
+++ b/public/emoji/1f338.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f339.png b/public/emoji/1f339.png
deleted file mode 100644
index 52c286d31..000000000
Binary files a/public/emoji/1f339.png and /dev/null differ
diff --git a/public/emoji/1f339.svg b/public/emoji/1f339.svg
index e7122eb32..66a4b9c6a 100644
--- a/public/emoji/1f339.svg
+++ b/public/emoji/1f339.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33a.png b/public/emoji/1f33a.png
deleted file mode 100644
index 39dd35242..000000000
Binary files a/public/emoji/1f33a.png and /dev/null differ
diff --git a/public/emoji/1f33a.svg b/public/emoji/1f33a.svg
index 557788787..19e7e3001 100644
--- a/public/emoji/1f33a.svg
+++ b/public/emoji/1f33a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33b.png b/public/emoji/1f33b.png
deleted file mode 100644
index 08cc07761..000000000
Binary files a/public/emoji/1f33b.png and /dev/null differ
diff --git a/public/emoji/1f33b.svg b/public/emoji/1f33b.svg
index 3834929fe..b39eabf1c 100644
--- a/public/emoji/1f33b.svg
+++ b/public/emoji/1f33b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33c.png b/public/emoji/1f33c.png
deleted file mode 100644
index 4083026c1..000000000
Binary files a/public/emoji/1f33c.png and /dev/null differ
diff --git a/public/emoji/1f33c.svg b/public/emoji/1f33c.svg
index 15d420735..3242c56f7 100644
--- a/public/emoji/1f33c.svg
+++ b/public/emoji/1f33c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33d.png b/public/emoji/1f33d.png
deleted file mode 100644
index 36e201279..000000000
Binary files a/public/emoji/1f33d.png and /dev/null differ
diff --git a/public/emoji/1f33d.svg b/public/emoji/1f33d.svg
index 074139da8..8e542a038 100644
--- a/public/emoji/1f33d.svg
+++ b/public/emoji/1f33d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33e.png b/public/emoji/1f33e.png
deleted file mode 100644
index 3564d9d64..000000000
Binary files a/public/emoji/1f33e.png and /dev/null differ
diff --git a/public/emoji/1f33e.svg b/public/emoji/1f33e.svg
index 5b02cf7cb..ce4151b06 100644
--- a/public/emoji/1f33e.svg
+++ b/public/emoji/1f33e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f33f.png b/public/emoji/1f33f.png
deleted file mode 100644
index d984d1562..000000000
Binary files a/public/emoji/1f33f.png and /dev/null differ
diff --git a/public/emoji/1f33f.svg b/public/emoji/1f33f.svg
index 174e90223..48fb3f3fd 100644
--- a/public/emoji/1f33f.svg
+++ b/public/emoji/1f33f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f340.png b/public/emoji/1f340.png
deleted file mode 100644
index fdedfcc2b..000000000
Binary files a/public/emoji/1f340.png and /dev/null differ
diff --git a/public/emoji/1f340.svg b/public/emoji/1f340.svg
index 0b06567d5..1685a7ca1 100644
--- a/public/emoji/1f340.svg
+++ b/public/emoji/1f340.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f341.png b/public/emoji/1f341.png
deleted file mode 100644
index c49acea67..000000000
Binary files a/public/emoji/1f341.png and /dev/null differ
diff --git a/public/emoji/1f341.svg b/public/emoji/1f341.svg
index 35a456362..2b65956e1 100644
--- a/public/emoji/1f341.svg
+++ b/public/emoji/1f341.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f342.png b/public/emoji/1f342.png
deleted file mode 100644
index 0d60e7bdf..000000000
Binary files a/public/emoji/1f342.png and /dev/null differ
diff --git a/public/emoji/1f342.svg b/public/emoji/1f342.svg
index 7ca377c87..e03bcc4de 100644
--- a/public/emoji/1f342.svg
+++ b/public/emoji/1f342.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f343.png b/public/emoji/1f343.png
deleted file mode 100644
index 1e43e1af8..000000000
Binary files a/public/emoji/1f343.png and /dev/null differ
diff --git a/public/emoji/1f343.svg b/public/emoji/1f343.svg
index c19539d9d..ec4e9d7f6 100644
--- a/public/emoji/1f343.svg
+++ b/public/emoji/1f343.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f344.png b/public/emoji/1f344.png
deleted file mode 100644
index dd85742ba..000000000
Binary files a/public/emoji/1f344.png and /dev/null differ
diff --git a/public/emoji/1f344.svg b/public/emoji/1f344.svg
index 853a49d20..2ebc9dd2e 100644
--- a/public/emoji/1f344.svg
+++ b/public/emoji/1f344.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f345.png b/public/emoji/1f345.png
deleted file mode 100644
index 497da8f6b..000000000
Binary files a/public/emoji/1f345.png and /dev/null differ
diff --git a/public/emoji/1f345.svg b/public/emoji/1f345.svg
index b0f3efc4e..6921847d1 100644
--- a/public/emoji/1f345.svg
+++ b/public/emoji/1f345.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f346.png b/public/emoji/1f346.png
deleted file mode 100644
index fafd7c1a1..000000000
Binary files a/public/emoji/1f346.png and /dev/null differ
diff --git a/public/emoji/1f346.svg b/public/emoji/1f346.svg
index 78a52f6c8..a6eb93647 100644
--- a/public/emoji/1f346.svg
+++ b/public/emoji/1f346.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f347.png b/public/emoji/1f347.png
deleted file mode 100644
index 30d222188..000000000
Binary files a/public/emoji/1f347.png and /dev/null differ
diff --git a/public/emoji/1f347.svg b/public/emoji/1f347.svg
index e924fc216..bbcc06a29 100644
--- a/public/emoji/1f347.svg
+++ b/public/emoji/1f347.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f348.png b/public/emoji/1f348.png
deleted file mode 100644
index c01232d41..000000000
Binary files a/public/emoji/1f348.png and /dev/null differ
diff --git a/public/emoji/1f348.svg b/public/emoji/1f348.svg
index d715aaa25..ddd15f631 100644
--- a/public/emoji/1f348.svg
+++ b/public/emoji/1f348.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f349.png b/public/emoji/1f349.png
deleted file mode 100644
index 0761488b4..000000000
Binary files a/public/emoji/1f349.png and /dev/null differ
diff --git a/public/emoji/1f349.svg b/public/emoji/1f349.svg
index 0f7a175f7..4ba2a40d9 100644
--- a/public/emoji/1f349.svg
+++ b/public/emoji/1f349.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34a.png b/public/emoji/1f34a.png
deleted file mode 100644
index ab14e5378..000000000
Binary files a/public/emoji/1f34a.png and /dev/null differ
diff --git a/public/emoji/1f34a.svg b/public/emoji/1f34a.svg
index a6c48c5ff..8dc08a76c 100644
--- a/public/emoji/1f34a.svg
+++ b/public/emoji/1f34a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34b.png b/public/emoji/1f34b.png
deleted file mode 100644
index 9a7d95ca2..000000000
Binary files a/public/emoji/1f34b.png and /dev/null differ
diff --git a/public/emoji/1f34b.svg b/public/emoji/1f34b.svg
index e6dafd4c7..6a4aea458 100644
--- a/public/emoji/1f34b.svg
+++ b/public/emoji/1f34b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34c.png b/public/emoji/1f34c.png
deleted file mode 100644
index f49872795..000000000
Binary files a/public/emoji/1f34c.png and /dev/null differ
diff --git a/public/emoji/1f34c.svg b/public/emoji/1f34c.svg
index 9f7af936f..19a2413fe 100644
--- a/public/emoji/1f34c.svg
+++ b/public/emoji/1f34c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34d.png b/public/emoji/1f34d.png
deleted file mode 100644
index c89a16064..000000000
Binary files a/public/emoji/1f34d.png and /dev/null differ
diff --git a/public/emoji/1f34d.svg b/public/emoji/1f34d.svg
index 350c11f28..ed6150475 100644
--- a/public/emoji/1f34d.svg
+++ b/public/emoji/1f34d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34e.png b/public/emoji/1f34e.png
deleted file mode 100644
index da650c60f..000000000
Binary files a/public/emoji/1f34e.png and /dev/null differ
diff --git a/public/emoji/1f34e.svg b/public/emoji/1f34e.svg
index 1353d5dd5..47576d4e5 100644
--- a/public/emoji/1f34e.svg
+++ b/public/emoji/1f34e.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f34f.png b/public/emoji/1f34f.png
deleted file mode 100644
index 5fd51bd39..000000000
Binary files a/public/emoji/1f34f.png and /dev/null differ
diff --git a/public/emoji/1f34f.svg b/public/emoji/1f34f.svg
index 27561bc31..821091041 100644
--- a/public/emoji/1f34f.svg
+++ b/public/emoji/1f34f.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f350.png b/public/emoji/1f350.png
deleted file mode 100644
index 3869f718b..000000000
Binary files a/public/emoji/1f350.png and /dev/null differ
diff --git a/public/emoji/1f350.svg b/public/emoji/1f350.svg
index 467a86e13..161fe7a94 100644
--- a/public/emoji/1f350.svg
+++ b/public/emoji/1f350.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f351.png b/public/emoji/1f351.png
deleted file mode 100644
index 9ab57cbb7..000000000
Binary files a/public/emoji/1f351.png and /dev/null differ
diff --git a/public/emoji/1f351.svg b/public/emoji/1f351.svg
index 574969a8e..2f6beeebe 100644
--- a/public/emoji/1f351.svg
+++ b/public/emoji/1f351.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f352.png b/public/emoji/1f352.png
deleted file mode 100644
index 9b10cbaac..000000000
Binary files a/public/emoji/1f352.png and /dev/null differ
diff --git a/public/emoji/1f352.svg b/public/emoji/1f352.svg
index d43aca6dc..ba6f99a59 100644
--- a/public/emoji/1f352.svg
+++ b/public/emoji/1f352.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f353.png b/public/emoji/1f353.png
deleted file mode 100644
index 7bb86f0b2..000000000
Binary files a/public/emoji/1f353.png and /dev/null differ
diff --git a/public/emoji/1f353.svg b/public/emoji/1f353.svg
index 709e0db4b..0243a55b7 100644
--- a/public/emoji/1f353.svg
+++ b/public/emoji/1f353.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f354.png b/public/emoji/1f354.png
deleted file mode 100644
index 3573b28a1..000000000
Binary files a/public/emoji/1f354.png and /dev/null differ
diff --git a/public/emoji/1f354.svg b/public/emoji/1f354.svg
index 34608757f..7c954be89 100644
--- a/public/emoji/1f354.svg
+++ b/public/emoji/1f354.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f355.png b/public/emoji/1f355.png
deleted file mode 100644
index e07365cb3..000000000
Binary files a/public/emoji/1f355.png and /dev/null differ
diff --git a/public/emoji/1f355.svg b/public/emoji/1f355.svg
index 4bd17b70e..1bd819aca 100644
--- a/public/emoji/1f355.svg
+++ b/public/emoji/1f355.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f356.png b/public/emoji/1f356.png
deleted file mode 100644
index b20a59d16..000000000
Binary files a/public/emoji/1f356.png and /dev/null differ
diff --git a/public/emoji/1f356.svg b/public/emoji/1f356.svg
index d1b3e056e..bb4e72396 100644
--- a/public/emoji/1f356.svg
+++ b/public/emoji/1f356.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f357.png b/public/emoji/1f357.png
deleted file mode 100644
index eea4a53a2..000000000
Binary files a/public/emoji/1f357.png and /dev/null differ
diff --git a/public/emoji/1f357.svg b/public/emoji/1f357.svg
index dca233f0b..6096785de 100644
--- a/public/emoji/1f357.svg
+++ b/public/emoji/1f357.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f358.png b/public/emoji/1f358.png
deleted file mode 100644
index 7fbd08e4f..000000000
Binary files a/public/emoji/1f358.png and /dev/null differ
diff --git a/public/emoji/1f358.svg b/public/emoji/1f358.svg
index 5e38bb4fb..f59e71bc0 100644
--- a/public/emoji/1f358.svg
+++ b/public/emoji/1f358.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f359.png b/public/emoji/1f359.png
deleted file mode 100644
index d3d8ee25c..000000000
Binary files a/public/emoji/1f359.png and /dev/null differ
diff --git a/public/emoji/1f359.svg b/public/emoji/1f359.svg
index 0c7cf7952..7d6ececa8 100644
--- a/public/emoji/1f359.svg
+++ b/public/emoji/1f359.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35a.png b/public/emoji/1f35a.png
deleted file mode 100644
index 6e3ac7956..000000000
Binary files a/public/emoji/1f35a.png and /dev/null differ
diff --git a/public/emoji/1f35a.svg b/public/emoji/1f35a.svg
index 08398ca6c..ebbc452f5 100644
--- a/public/emoji/1f35a.svg
+++ b/public/emoji/1f35a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35b.png b/public/emoji/1f35b.png
deleted file mode 100644
index 69657ca81..000000000
Binary files a/public/emoji/1f35b.png and /dev/null differ
diff --git a/public/emoji/1f35b.svg b/public/emoji/1f35b.svg
index 5880aea59..f26558101 100644
--- a/public/emoji/1f35b.svg
+++ b/public/emoji/1f35b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35c.png b/public/emoji/1f35c.png
deleted file mode 100644
index c1cb7cd73..000000000
Binary files a/public/emoji/1f35c.png and /dev/null differ
diff --git a/public/emoji/1f35c.svg b/public/emoji/1f35c.svg
index 93c4cdbf2..f5371889f 100644
--- a/public/emoji/1f35c.svg
+++ b/public/emoji/1f35c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35d.png b/public/emoji/1f35d.png
deleted file mode 100644
index 89c24a321..000000000
Binary files a/public/emoji/1f35d.png and /dev/null differ
diff --git a/public/emoji/1f35d.svg b/public/emoji/1f35d.svg
index 52f7db9ca..6c795af57 100644
--- a/public/emoji/1f35d.svg
+++ b/public/emoji/1f35d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35e.png b/public/emoji/1f35e.png
deleted file mode 100644
index 6676510aa..000000000
Binary files a/public/emoji/1f35e.png and /dev/null differ
diff --git a/public/emoji/1f35e.svg b/public/emoji/1f35e.svg
index bbaae9cc6..1df731d9d 100644
--- a/public/emoji/1f35e.svg
+++ b/public/emoji/1f35e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f35f.png b/public/emoji/1f35f.png
deleted file mode 100644
index 4e2a4caac..000000000
Binary files a/public/emoji/1f35f.png and /dev/null differ
diff --git a/public/emoji/1f35f.svg b/public/emoji/1f35f.svg
index fe9e1bac7..15661bc92 100644
--- a/public/emoji/1f35f.svg
+++ b/public/emoji/1f35f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f360.png b/public/emoji/1f360.png
deleted file mode 100644
index 92a425f2e..000000000
Binary files a/public/emoji/1f360.png and /dev/null differ
diff --git a/public/emoji/1f360.svg b/public/emoji/1f360.svg
index bfbbd9c50..6ad2c8568 100644
--- a/public/emoji/1f360.svg
+++ b/public/emoji/1f360.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f361.png b/public/emoji/1f361.png
deleted file mode 100644
index f73f37b01..000000000
Binary files a/public/emoji/1f361.png and /dev/null differ
diff --git a/public/emoji/1f361.svg b/public/emoji/1f361.svg
index 6cc82e3d9..e74a76be2 100644
--- a/public/emoji/1f361.svg
+++ b/public/emoji/1f361.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f362.png b/public/emoji/1f362.png
deleted file mode 100644
index d38a849fe..000000000
Binary files a/public/emoji/1f362.png and /dev/null differ
diff --git a/public/emoji/1f362.svg b/public/emoji/1f362.svg
index f00dbf6df..c7dda46dc 100644
--- a/public/emoji/1f362.svg
+++ b/public/emoji/1f362.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f363.png b/public/emoji/1f363.png
deleted file mode 100644
index f171fd2f7..000000000
Binary files a/public/emoji/1f363.png and /dev/null differ
diff --git a/public/emoji/1f363.svg b/public/emoji/1f363.svg
index 93aed0807..ec00279f9 100644
--- a/public/emoji/1f363.svg
+++ b/public/emoji/1f363.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f364.png b/public/emoji/1f364.png
deleted file mode 100644
index 752ba7f13..000000000
Binary files a/public/emoji/1f364.png and /dev/null differ
diff --git a/public/emoji/1f364.svg b/public/emoji/1f364.svg
index c64f84077..3bc480d47 100644
--- a/public/emoji/1f364.svg
+++ b/public/emoji/1f364.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f365.png b/public/emoji/1f365.png
deleted file mode 100644
index 157bded65..000000000
Binary files a/public/emoji/1f365.png and /dev/null differ
diff --git a/public/emoji/1f365.svg b/public/emoji/1f365.svg
index 9932d3438..bd9130486 100644
--- a/public/emoji/1f365.svg
+++ b/public/emoji/1f365.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f366.png b/public/emoji/1f366.png
deleted file mode 100644
index 8f6546e31..000000000
Binary files a/public/emoji/1f366.png and /dev/null differ
diff --git a/public/emoji/1f366.svg b/public/emoji/1f366.svg
index aab1e61fd..bf9a7609c 100644
--- a/public/emoji/1f366.svg
+++ b/public/emoji/1f366.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f367.png b/public/emoji/1f367.png
deleted file mode 100644
index 36dfb53ca..000000000
Binary files a/public/emoji/1f367.png and /dev/null differ
diff --git a/public/emoji/1f367.svg b/public/emoji/1f367.svg
index 296c4f717..0d3c276dd 100644
--- a/public/emoji/1f367.svg
+++ b/public/emoji/1f367.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f368.png b/public/emoji/1f368.png
deleted file mode 100644
index 94267b9c4..000000000
Binary files a/public/emoji/1f368.png and /dev/null differ
diff --git a/public/emoji/1f368.svg b/public/emoji/1f368.svg
index c1524bf37..693e2afe7 100644
--- a/public/emoji/1f368.svg
+++ b/public/emoji/1f368.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f369.png b/public/emoji/1f369.png
deleted file mode 100644
index 0ca4cd0bd..000000000
Binary files a/public/emoji/1f369.png and /dev/null differ
diff --git a/public/emoji/1f369.svg b/public/emoji/1f369.svg
index 6620235bc..ae1d58f02 100644
--- a/public/emoji/1f369.svg
+++ b/public/emoji/1f369.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36a.png b/public/emoji/1f36a.png
deleted file mode 100644
index 1b6bcb155..000000000
Binary files a/public/emoji/1f36a.png and /dev/null differ
diff --git a/public/emoji/1f36a.svg b/public/emoji/1f36a.svg
index 8daf31164..31f6bf342 100644
--- a/public/emoji/1f36a.svg
+++ b/public/emoji/1f36a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36b.png b/public/emoji/1f36b.png
deleted file mode 100644
index 318bbd40e..000000000
Binary files a/public/emoji/1f36b.png and /dev/null differ
diff --git a/public/emoji/1f36b.svg b/public/emoji/1f36b.svg
index 493e7b34a..1ac9c24d2 100644
--- a/public/emoji/1f36b.svg
+++ b/public/emoji/1f36b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36c.png b/public/emoji/1f36c.png
deleted file mode 100644
index 8c67ace3a..000000000
Binary files a/public/emoji/1f36c.png and /dev/null differ
diff --git a/public/emoji/1f36c.svg b/public/emoji/1f36c.svg
index 2c26a67d9..d12a6545a 100644
--- a/public/emoji/1f36c.svg
+++ b/public/emoji/1f36c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36d.png b/public/emoji/1f36d.png
deleted file mode 100644
index ad76d7bf9..000000000
Binary files a/public/emoji/1f36d.png and /dev/null differ
diff --git a/public/emoji/1f36d.svg b/public/emoji/1f36d.svg
index 887f57c00..2dc9f0c59 100644
--- a/public/emoji/1f36d.svg
+++ b/public/emoji/1f36d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36e.png b/public/emoji/1f36e.png
deleted file mode 100644
index fa3df67b8..000000000
Binary files a/public/emoji/1f36e.png and /dev/null differ
diff --git a/public/emoji/1f36e.svg b/public/emoji/1f36e.svg
index de1d4317e..4e251e450 100644
--- a/public/emoji/1f36e.svg
+++ b/public/emoji/1f36e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f36f.png b/public/emoji/1f36f.png
deleted file mode 100644
index 9d8f59295..000000000
Binary files a/public/emoji/1f36f.png and /dev/null differ
diff --git a/public/emoji/1f36f.svg b/public/emoji/1f36f.svg
index 031903fc1..b29e9bf7f 100644
--- a/public/emoji/1f36f.svg
+++ b/public/emoji/1f36f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f370.png b/public/emoji/1f370.png
deleted file mode 100644
index 4368177be..000000000
Binary files a/public/emoji/1f370.png and /dev/null differ
diff --git a/public/emoji/1f370.svg b/public/emoji/1f370.svg
index c42ca1b6f..7156f048d 100644
--- a/public/emoji/1f370.svg
+++ b/public/emoji/1f370.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f371.png b/public/emoji/1f371.png
deleted file mode 100644
index 83d41ca7e..000000000
Binary files a/public/emoji/1f371.png and /dev/null differ
diff --git a/public/emoji/1f371.svg b/public/emoji/1f371.svg
index dbc80e5b3..da1195afa 100644
--- a/public/emoji/1f371.svg
+++ b/public/emoji/1f371.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f372.png b/public/emoji/1f372.png
deleted file mode 100644
index 6b3f010c1..000000000
Binary files a/public/emoji/1f372.png and /dev/null differ
diff --git a/public/emoji/1f372.svg b/public/emoji/1f372.svg
index 52663af16..65a5fcacc 100644
--- a/public/emoji/1f372.svg
+++ b/public/emoji/1f372.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f373.png b/public/emoji/1f373.png
deleted file mode 100644
index 918c98057..000000000
Binary files a/public/emoji/1f373.png and /dev/null differ
diff --git a/public/emoji/1f373.svg b/public/emoji/1f373.svg
index 4f80ed53c..33e20b728 100644
--- a/public/emoji/1f373.svg
+++ b/public/emoji/1f373.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f374.png b/public/emoji/1f374.png
deleted file mode 100644
index 09f1feaea..000000000
Binary files a/public/emoji/1f374.png and /dev/null differ
diff --git a/public/emoji/1f374.svg b/public/emoji/1f374.svg
index e9d6b48ef..3585bc0ea 100644
--- a/public/emoji/1f374.svg
+++ b/public/emoji/1f374.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f375.png b/public/emoji/1f375.png
deleted file mode 100644
index b53b98f0c..000000000
Binary files a/public/emoji/1f375.png and /dev/null differ
diff --git a/public/emoji/1f375.svg b/public/emoji/1f375.svg
index 7f210fc76..deabda3dd 100644
--- a/public/emoji/1f375.svg
+++ b/public/emoji/1f375.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f376.png b/public/emoji/1f376.png
deleted file mode 100644
index 2933f5672..000000000
Binary files a/public/emoji/1f376.png and /dev/null differ
diff --git a/public/emoji/1f376.svg b/public/emoji/1f376.svg
index b573b4566..f8df7b4fb 100644
--- a/public/emoji/1f376.svg
+++ b/public/emoji/1f376.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f377.png b/public/emoji/1f377.png
deleted file mode 100644
index 3cc986891..000000000
Binary files a/public/emoji/1f377.png and /dev/null differ
diff --git a/public/emoji/1f377.svg b/public/emoji/1f377.svg
index e2652b0a3..4df8c35fa 100644
--- a/public/emoji/1f377.svg
+++ b/public/emoji/1f377.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f378.png b/public/emoji/1f378.png
deleted file mode 100644
index 2e50c57e9..000000000
Binary files a/public/emoji/1f378.png and /dev/null differ
diff --git a/public/emoji/1f378.svg b/public/emoji/1f378.svg
index a8c9960d8..ed6ca0eb0 100644
--- a/public/emoji/1f378.svg
+++ b/public/emoji/1f378.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f379.png b/public/emoji/1f379.png
deleted file mode 100644
index cd714f81b..000000000
Binary files a/public/emoji/1f379.png and /dev/null differ
diff --git a/public/emoji/1f379.svg b/public/emoji/1f379.svg
index b96f8f05c..7b4f6eebf 100644
--- a/public/emoji/1f379.svg
+++ b/public/emoji/1f379.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37a.png b/public/emoji/1f37a.png
deleted file mode 100644
index b6d73dc0b..000000000
Binary files a/public/emoji/1f37a.png and /dev/null differ
diff --git a/public/emoji/1f37a.svg b/public/emoji/1f37a.svg
index 85e65ba62..575e03bd5 100644
--- a/public/emoji/1f37a.svg
+++ b/public/emoji/1f37a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37b.png b/public/emoji/1f37b.png
deleted file mode 100644
index b55deb66b..000000000
Binary files a/public/emoji/1f37b.png and /dev/null differ
diff --git a/public/emoji/1f37b.svg b/public/emoji/1f37b.svg
index 76c8bdc07..c4bd4c719 100644
--- a/public/emoji/1f37b.svg
+++ b/public/emoji/1f37b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37c.png b/public/emoji/1f37c.png
deleted file mode 100644
index 2bd105241..000000000
Binary files a/public/emoji/1f37c.png and /dev/null differ
diff --git a/public/emoji/1f37c.svg b/public/emoji/1f37c.svg
index 1491a98b8..0f776fcb7 100644
--- a/public/emoji/1f37c.svg
+++ b/public/emoji/1f37c.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37d.png b/public/emoji/1f37d.png
deleted file mode 100644
index 7411755f7..000000000
Binary files a/public/emoji/1f37d.png and /dev/null differ
diff --git a/public/emoji/1f37d.svg b/public/emoji/1f37d.svg
index 95bd3821f..469593c05 100644
--- a/public/emoji/1f37d.svg
+++ b/public/emoji/1f37d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37e.png b/public/emoji/1f37e.png
deleted file mode 100644
index 285a79a93..000000000
Binary files a/public/emoji/1f37e.png and /dev/null differ
diff --git a/public/emoji/1f37e.svg b/public/emoji/1f37e.svg
index 24714015c..604147b6e 100644
--- a/public/emoji/1f37e.svg
+++ b/public/emoji/1f37e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f37f.png b/public/emoji/1f37f.png
deleted file mode 100644
index 36853e381..000000000
Binary files a/public/emoji/1f37f.png and /dev/null differ
diff --git a/public/emoji/1f37f.svg b/public/emoji/1f37f.svg
index 74510dcbe..0902f2880 100644
--- a/public/emoji/1f37f.svg
+++ b/public/emoji/1f37f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f380.png b/public/emoji/1f380.png
deleted file mode 100644
index 0f253c3d8..000000000
Binary files a/public/emoji/1f380.png and /dev/null differ
diff --git a/public/emoji/1f380.svg b/public/emoji/1f380.svg
index 12c535e99..d031920ef 100644
--- a/public/emoji/1f380.svg
+++ b/public/emoji/1f380.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f381.png b/public/emoji/1f381.png
deleted file mode 100644
index 844e21645..000000000
Binary files a/public/emoji/1f381.png and /dev/null differ
diff --git a/public/emoji/1f381.svg b/public/emoji/1f381.svg
index bd62608c9..bbe0fa9e0 100644
--- a/public/emoji/1f381.svg
+++ b/public/emoji/1f381.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f382.png b/public/emoji/1f382.png
deleted file mode 100644
index 317e9a419..000000000
Binary files a/public/emoji/1f382.png and /dev/null differ
diff --git a/public/emoji/1f382.svg b/public/emoji/1f382.svg
index 0bbef8ccc..955152aad 100644
--- a/public/emoji/1f382.svg
+++ b/public/emoji/1f382.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f383.png b/public/emoji/1f383.png
deleted file mode 100644
index 44c3fc0ae..000000000
Binary files a/public/emoji/1f383.png and /dev/null differ
diff --git a/public/emoji/1f383.svg b/public/emoji/1f383.svg
index 21144b72e..bdab6d290 100644
--- a/public/emoji/1f383.svg
+++ b/public/emoji/1f383.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f384.png b/public/emoji/1f384.png
deleted file mode 100644
index 4197d37a5..000000000
Binary files a/public/emoji/1f384.png and /dev/null differ
diff --git a/public/emoji/1f384.svg b/public/emoji/1f384.svg
index 27bbe5fc5..d8f76bc7f 100644
--- a/public/emoji/1f384.svg
+++ b/public/emoji/1f384.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385-1f3fb.png b/public/emoji/1f385-1f3fb.png
deleted file mode 100644
index 5233ffb71..000000000
Binary files a/public/emoji/1f385-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f385-1f3fb.svg b/public/emoji/1f385-1f3fb.svg
index 13c2657c3..2eef1d1d0 100644
--- a/public/emoji/1f385-1f3fb.svg
+++ b/public/emoji/1f385-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385-1f3fc.png b/public/emoji/1f385-1f3fc.png
deleted file mode 100644
index 4e8454381..000000000
Binary files a/public/emoji/1f385-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f385-1f3fc.svg b/public/emoji/1f385-1f3fc.svg
index 408986531..ce5e991ff 100644
--- a/public/emoji/1f385-1f3fc.svg
+++ b/public/emoji/1f385-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385-1f3fd.png b/public/emoji/1f385-1f3fd.png
deleted file mode 100644
index 7fc4f33b6..000000000
Binary files a/public/emoji/1f385-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f385-1f3fd.svg b/public/emoji/1f385-1f3fd.svg
index 9286b2f80..e6b9f1487 100644
--- a/public/emoji/1f385-1f3fd.svg
+++ b/public/emoji/1f385-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385-1f3fe.png b/public/emoji/1f385-1f3fe.png
deleted file mode 100644
index d1d5a1513..000000000
Binary files a/public/emoji/1f385-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f385-1f3fe.svg b/public/emoji/1f385-1f3fe.svg
index 3745e8eef..4e6a2efeb 100644
--- a/public/emoji/1f385-1f3fe.svg
+++ b/public/emoji/1f385-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385-1f3ff.png b/public/emoji/1f385-1f3ff.png
deleted file mode 100644
index 4d697a01f..000000000
Binary files a/public/emoji/1f385-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f385-1f3ff.svg b/public/emoji/1f385-1f3ff.svg
index af8c96721..91b20f10b 100644
--- a/public/emoji/1f385-1f3ff.svg
+++ b/public/emoji/1f385-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f385.png b/public/emoji/1f385.png
deleted file mode 100644
index bc83ab80d..000000000
Binary files a/public/emoji/1f385.png and /dev/null differ
diff --git a/public/emoji/1f385.svg b/public/emoji/1f385.svg
index 9f07458ba..55e0d6c56 100644
--- a/public/emoji/1f385.svg
+++ b/public/emoji/1f385.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f386.png b/public/emoji/1f386.png
deleted file mode 100644
index 176c8b582..000000000
Binary files a/public/emoji/1f386.png and /dev/null differ
diff --git a/public/emoji/1f386.svg b/public/emoji/1f386.svg
index 9b8995a4e..712a7f011 100644
--- a/public/emoji/1f386.svg
+++ b/public/emoji/1f386.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f387.png b/public/emoji/1f387.png
deleted file mode 100644
index 30339cd6e..000000000
Binary files a/public/emoji/1f387.png and /dev/null differ
diff --git a/public/emoji/1f387.svg b/public/emoji/1f387.svg
index 201422523..3e81c5c2d 100644
--- a/public/emoji/1f387.svg
+++ b/public/emoji/1f387.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f388.png b/public/emoji/1f388.png
deleted file mode 100644
index 07916fe6d..000000000
Binary files a/public/emoji/1f388.png and /dev/null differ
diff --git a/public/emoji/1f388.svg b/public/emoji/1f388.svg
index d29c08e05..d799bc41b 100644
--- a/public/emoji/1f388.svg
+++ b/public/emoji/1f388.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f389.png b/public/emoji/1f389.png
deleted file mode 100644
index 0244d60f2..000000000
Binary files a/public/emoji/1f389.png and /dev/null differ
diff --git a/public/emoji/1f389.svg b/public/emoji/1f389.svg
index b0adb4c72..0e5d08936 100644
--- a/public/emoji/1f389.svg
+++ b/public/emoji/1f389.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38a.png b/public/emoji/1f38a.png
deleted file mode 100644
index ba4fd9b12..000000000
Binary files a/public/emoji/1f38a.png and /dev/null differ
diff --git a/public/emoji/1f38a.svg b/public/emoji/1f38a.svg
index a29c16a78..961ed4fb6 100644
--- a/public/emoji/1f38a.svg
+++ b/public/emoji/1f38a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38b.png b/public/emoji/1f38b.png
deleted file mode 100644
index 46fcb3a1a..000000000
Binary files a/public/emoji/1f38b.png and /dev/null differ
diff --git a/public/emoji/1f38b.svg b/public/emoji/1f38b.svg
index ad576db71..80bdcf94a 100644
--- a/public/emoji/1f38b.svg
+++ b/public/emoji/1f38b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38c.png b/public/emoji/1f38c.png
deleted file mode 100644
index 273bd0f0f..000000000
Binary files a/public/emoji/1f38c.png and /dev/null differ
diff --git a/public/emoji/1f38c.svg b/public/emoji/1f38c.svg
index 959e66865..8ec2b57f6 100644
--- a/public/emoji/1f38c.svg
+++ b/public/emoji/1f38c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38d.png b/public/emoji/1f38d.png
deleted file mode 100644
index 5d5e0e728..000000000
Binary files a/public/emoji/1f38d.png and /dev/null differ
diff --git a/public/emoji/1f38d.svg b/public/emoji/1f38d.svg
index 952e4c4c6..f3bc7cfe4 100644
--- a/public/emoji/1f38d.svg
+++ b/public/emoji/1f38d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38e.png b/public/emoji/1f38e.png
deleted file mode 100644
index 109556151..000000000
Binary files a/public/emoji/1f38e.png and /dev/null differ
diff --git a/public/emoji/1f38e.svg b/public/emoji/1f38e.svg
index 05628ca3a..beb21af5c 100644
--- a/public/emoji/1f38e.svg
+++ b/public/emoji/1f38e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f38f.png b/public/emoji/1f38f.png
deleted file mode 100644
index 3b451035a..000000000
Binary files a/public/emoji/1f38f.png and /dev/null differ
diff --git a/public/emoji/1f38f.svg b/public/emoji/1f38f.svg
index 8f1261b6c..51c1fbde8 100644
--- a/public/emoji/1f38f.svg
+++ b/public/emoji/1f38f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f390.png b/public/emoji/1f390.png
deleted file mode 100644
index 3c9ef3a95..000000000
Binary files a/public/emoji/1f390.png and /dev/null differ
diff --git a/public/emoji/1f390.svg b/public/emoji/1f390.svg
index 6a2c3ac90..f2c5c6ea8 100644
--- a/public/emoji/1f390.svg
+++ b/public/emoji/1f390.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f391.png b/public/emoji/1f391.png
deleted file mode 100644
index 1a2842659..000000000
Binary files a/public/emoji/1f391.png and /dev/null differ
diff --git a/public/emoji/1f391.svg b/public/emoji/1f391.svg
index 7a1e11428..5fae1c37b 100644
--- a/public/emoji/1f391.svg
+++ b/public/emoji/1f391.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f392.png b/public/emoji/1f392.png
deleted file mode 100644
index 9997c86e7..000000000
Binary files a/public/emoji/1f392.png and /dev/null differ
diff --git a/public/emoji/1f392.svg b/public/emoji/1f392.svg
index 812ae0409..67c626e86 100644
--- a/public/emoji/1f392.svg
+++ b/public/emoji/1f392.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f393.png b/public/emoji/1f393.png
deleted file mode 100644
index 8b17ddd9d..000000000
Binary files a/public/emoji/1f393.png and /dev/null differ
diff --git a/public/emoji/1f393.svg b/public/emoji/1f393.svg
index 743f8c1d9..b3e6d83e1 100644
--- a/public/emoji/1f393.svg
+++ b/public/emoji/1f393.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f396.png b/public/emoji/1f396.png
deleted file mode 100644
index ecd3fb035..000000000
Binary files a/public/emoji/1f396.png and /dev/null differ
diff --git a/public/emoji/1f396.svg b/public/emoji/1f396.svg
index 316e3a49e..b9102321a 100644
--- a/public/emoji/1f396.svg
+++ b/public/emoji/1f396.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f397.png b/public/emoji/1f397.png
deleted file mode 100644
index 3988bbd09..000000000
Binary files a/public/emoji/1f397.png and /dev/null differ
diff --git a/public/emoji/1f397.svg b/public/emoji/1f397.svg
index 11875061e..9c6a7b408 100644
--- a/public/emoji/1f397.svg
+++ b/public/emoji/1f397.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f399.png b/public/emoji/1f399.png
deleted file mode 100644
index cd9167654..000000000
Binary files a/public/emoji/1f399.png and /dev/null differ
diff --git a/public/emoji/1f399.svg b/public/emoji/1f399.svg
index 44c4b3f0a..853475c23 100644
--- a/public/emoji/1f399.svg
+++ b/public/emoji/1f399.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f39a.png b/public/emoji/1f39a.png
deleted file mode 100644
index 720a3b341..000000000
Binary files a/public/emoji/1f39a.png and /dev/null differ
diff --git a/public/emoji/1f39a.svg b/public/emoji/1f39a.svg
index 426ccd12f..28cd6ecd0 100644
--- a/public/emoji/1f39a.svg
+++ b/public/emoji/1f39a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f39b.png b/public/emoji/1f39b.png
deleted file mode 100644
index 6635ac93b..000000000
Binary files a/public/emoji/1f39b.png and /dev/null differ
diff --git a/public/emoji/1f39b.svg b/public/emoji/1f39b.svg
index 54dda727d..4bb880b27 100644
--- a/public/emoji/1f39b.svg
+++ b/public/emoji/1f39b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f39e.png b/public/emoji/1f39e.png
deleted file mode 100644
index 30143aedb..000000000
Binary files a/public/emoji/1f39e.png and /dev/null differ
diff --git a/public/emoji/1f39e.svg b/public/emoji/1f39e.svg
index 1a65cc86e..2823df68c 100644
--- a/public/emoji/1f39e.svg
+++ b/public/emoji/1f39e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f39f.png b/public/emoji/1f39f.png
deleted file mode 100644
index e510f4a7a..000000000
Binary files a/public/emoji/1f39f.png and /dev/null differ
diff --git a/public/emoji/1f39f.svg b/public/emoji/1f39f.svg
index 6e4c9b692..59db5eb8c 100644
--- a/public/emoji/1f39f.svg
+++ b/public/emoji/1f39f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a0.png b/public/emoji/1f3a0.png
deleted file mode 100644
index a17074edf..000000000
Binary files a/public/emoji/1f3a0.png and /dev/null differ
diff --git a/public/emoji/1f3a0.svg b/public/emoji/1f3a0.svg
index 1c1feb090..fd3e3464f 100644
--- a/public/emoji/1f3a0.svg
+++ b/public/emoji/1f3a0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a1.png b/public/emoji/1f3a1.png
deleted file mode 100644
index 55c8ff047..000000000
Binary files a/public/emoji/1f3a1.png and /dev/null differ
diff --git a/public/emoji/1f3a1.svg b/public/emoji/1f3a1.svg
index 72c71cd42..70b23f1e4 100644
--- a/public/emoji/1f3a1.svg
+++ b/public/emoji/1f3a1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a2.png b/public/emoji/1f3a2.png
deleted file mode 100644
index 5b849e071..000000000
Binary files a/public/emoji/1f3a2.png and /dev/null differ
diff --git a/public/emoji/1f3a2.svg b/public/emoji/1f3a2.svg
index e8efa01a2..350ee1c32 100644
--- a/public/emoji/1f3a2.svg
+++ b/public/emoji/1f3a2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a3.png b/public/emoji/1f3a3.png
deleted file mode 100644
index dfcdf07eb..000000000
Binary files a/public/emoji/1f3a3.png and /dev/null differ
diff --git a/public/emoji/1f3a3.svg b/public/emoji/1f3a3.svg
index daa26dc60..8a4146941 100644
--- a/public/emoji/1f3a3.svg
+++ b/public/emoji/1f3a3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a4.png b/public/emoji/1f3a4.png
deleted file mode 100644
index d4e6b0def..000000000
Binary files a/public/emoji/1f3a4.png and /dev/null differ
diff --git a/public/emoji/1f3a4.svg b/public/emoji/1f3a4.svg
index 810538abd..854679bc7 100644
--- a/public/emoji/1f3a4.svg
+++ b/public/emoji/1f3a4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a5.png b/public/emoji/1f3a5.png
deleted file mode 100644
index 4e73b1301..000000000
Binary files a/public/emoji/1f3a5.png and /dev/null differ
diff --git a/public/emoji/1f3a5.svg b/public/emoji/1f3a5.svg
index da84a9fc6..7d6255d80 100644
--- a/public/emoji/1f3a5.svg
+++ b/public/emoji/1f3a5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a6.png b/public/emoji/1f3a6.png
deleted file mode 100644
index 65f27b386..000000000
Binary files a/public/emoji/1f3a6.png and /dev/null differ
diff --git a/public/emoji/1f3a6.svg b/public/emoji/1f3a6.svg
index 1dca8b517..20804c977 100644
--- a/public/emoji/1f3a6.svg
+++ b/public/emoji/1f3a6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a7.png b/public/emoji/1f3a7.png
deleted file mode 100644
index e9fd34041..000000000
Binary files a/public/emoji/1f3a7.png and /dev/null differ
diff --git a/public/emoji/1f3a7.svg b/public/emoji/1f3a7.svg
index 15d028902..ef591d6b1 100644
--- a/public/emoji/1f3a7.svg
+++ b/public/emoji/1f3a7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a8.png b/public/emoji/1f3a8.png
deleted file mode 100644
index bd6afe9ff..000000000
Binary files a/public/emoji/1f3a8.png and /dev/null differ
diff --git a/public/emoji/1f3a8.svg b/public/emoji/1f3a8.svg
index c70f95ee6..184cb761b 100644
--- a/public/emoji/1f3a8.svg
+++ b/public/emoji/1f3a8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3a9.png b/public/emoji/1f3a9.png
deleted file mode 100644
index 131b657b1..000000000
Binary files a/public/emoji/1f3a9.png and /dev/null differ
diff --git a/public/emoji/1f3a9.svg b/public/emoji/1f3a9.svg
index d61f2f3d0..6fd99395d 100644
--- a/public/emoji/1f3a9.svg
+++ b/public/emoji/1f3a9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3aa.png b/public/emoji/1f3aa.png
deleted file mode 100644
index b0379775b..000000000
Binary files a/public/emoji/1f3aa.png and /dev/null differ
diff --git a/public/emoji/1f3aa.svg b/public/emoji/1f3aa.svg
index 6d0fdff84..e68ca8a78 100644
--- a/public/emoji/1f3aa.svg
+++ b/public/emoji/1f3aa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ab.png b/public/emoji/1f3ab.png
deleted file mode 100644
index 605936bb6..000000000
Binary files a/public/emoji/1f3ab.png and /dev/null differ
diff --git a/public/emoji/1f3ab.svg b/public/emoji/1f3ab.svg
index 4e2c9b8eb..c29ba2917 100644
--- a/public/emoji/1f3ab.svg
+++ b/public/emoji/1f3ab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ac.png b/public/emoji/1f3ac.png
deleted file mode 100644
index 813908831..000000000
Binary files a/public/emoji/1f3ac.png and /dev/null differ
diff --git a/public/emoji/1f3ac.svg b/public/emoji/1f3ac.svg
index 7e70040c5..1a91c024e 100644
--- a/public/emoji/1f3ac.svg
+++ b/public/emoji/1f3ac.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ad.png b/public/emoji/1f3ad.png
deleted file mode 100644
index 685441fda..000000000
Binary files a/public/emoji/1f3ad.png and /dev/null differ
diff --git a/public/emoji/1f3ad.svg b/public/emoji/1f3ad.svg
index f94769858..de1ca17bb 100644
--- a/public/emoji/1f3ad.svg
+++ b/public/emoji/1f3ad.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ae.png b/public/emoji/1f3ae.png
deleted file mode 100644
index 316a9106a..000000000
Binary files a/public/emoji/1f3ae.png and /dev/null differ
diff --git a/public/emoji/1f3ae.svg b/public/emoji/1f3ae.svg
index 534a483de..c96c63589 100644
--- a/public/emoji/1f3ae.svg
+++ b/public/emoji/1f3ae.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3af.png b/public/emoji/1f3af.png
deleted file mode 100644
index f6704aeb8..000000000
Binary files a/public/emoji/1f3af.png and /dev/null differ
diff --git a/public/emoji/1f3af.svg b/public/emoji/1f3af.svg
index fe4adfa48..fffbf85a5 100644
--- a/public/emoji/1f3af.svg
+++ b/public/emoji/1f3af.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b0.png b/public/emoji/1f3b0.png
deleted file mode 100644
index ee71b6c26..000000000
Binary files a/public/emoji/1f3b0.png and /dev/null differ
diff --git a/public/emoji/1f3b0.svg b/public/emoji/1f3b0.svg
index bf844ef63..94d62408f 100644
--- a/public/emoji/1f3b0.svg
+++ b/public/emoji/1f3b0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b1.png b/public/emoji/1f3b1.png
deleted file mode 100644
index 38ca662ed..000000000
Binary files a/public/emoji/1f3b1.png and /dev/null differ
diff --git a/public/emoji/1f3b1.svg b/public/emoji/1f3b1.svg
index c4dcbfe7f..29ad50683 100644
--- a/public/emoji/1f3b1.svg
+++ b/public/emoji/1f3b1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b2.png b/public/emoji/1f3b2.png
deleted file mode 100644
index ad3626fe5..000000000
Binary files a/public/emoji/1f3b2.png and /dev/null differ
diff --git a/public/emoji/1f3b2.svg b/public/emoji/1f3b2.svg
index 56434d024..036835dc7 100644
--- a/public/emoji/1f3b2.svg
+++ b/public/emoji/1f3b2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b3.png b/public/emoji/1f3b3.png
deleted file mode 100644
index 63add89e5..000000000
Binary files a/public/emoji/1f3b3.png and /dev/null differ
diff --git a/public/emoji/1f3b3.svg b/public/emoji/1f3b3.svg
index 3fe632fcb..997b5d309 100644
--- a/public/emoji/1f3b3.svg
+++ b/public/emoji/1f3b3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b4.png b/public/emoji/1f3b4.png
deleted file mode 100644
index 6766b044d..000000000
Binary files a/public/emoji/1f3b4.png and /dev/null differ
diff --git a/public/emoji/1f3b4.svg b/public/emoji/1f3b4.svg
index 9618a3cb1..e0dcba142 100644
--- a/public/emoji/1f3b4.svg
+++ b/public/emoji/1f3b4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b5.png b/public/emoji/1f3b5.png
deleted file mode 100644
index 06691ef61..000000000
Binary files a/public/emoji/1f3b5.png and /dev/null differ
diff --git a/public/emoji/1f3b5.svg b/public/emoji/1f3b5.svg
index 7ce21dd8d..d748d57ac 100644
--- a/public/emoji/1f3b5.svg
+++ b/public/emoji/1f3b5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b6.png b/public/emoji/1f3b6.png
deleted file mode 100644
index 57d499aa1..000000000
Binary files a/public/emoji/1f3b6.png and /dev/null differ
diff --git a/public/emoji/1f3b6.svg b/public/emoji/1f3b6.svg
index 9c0b8a81e..f1e96a143 100644
--- a/public/emoji/1f3b6.svg
+++ b/public/emoji/1f3b6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b7.png b/public/emoji/1f3b7.png
deleted file mode 100644
index a392faec2..000000000
Binary files a/public/emoji/1f3b7.png and /dev/null differ
diff --git a/public/emoji/1f3b7.svg b/public/emoji/1f3b7.svg
index a3bf5ca27..146331c50 100644
--- a/public/emoji/1f3b7.svg
+++ b/public/emoji/1f3b7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b8.png b/public/emoji/1f3b8.png
deleted file mode 100644
index 43d752f1e..000000000
Binary files a/public/emoji/1f3b8.png and /dev/null differ
diff --git a/public/emoji/1f3b8.svg b/public/emoji/1f3b8.svg
index e31145b88..9253fa712 100644
--- a/public/emoji/1f3b8.svg
+++ b/public/emoji/1f3b8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3b9.png b/public/emoji/1f3b9.png
deleted file mode 100644
index 442b74568..000000000
Binary files a/public/emoji/1f3b9.png and /dev/null differ
diff --git a/public/emoji/1f3b9.svg b/public/emoji/1f3b9.svg
index 4605d3fbd..f3dc5d6fb 100644
--- a/public/emoji/1f3b9.svg
+++ b/public/emoji/1f3b9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ba.png b/public/emoji/1f3ba.png
deleted file mode 100644
index 864ccbcd0..000000000
Binary files a/public/emoji/1f3ba.png and /dev/null differ
diff --git a/public/emoji/1f3ba.svg b/public/emoji/1f3ba.svg
index 248ae7d2a..69c96b2bc 100644
--- a/public/emoji/1f3ba.svg
+++ b/public/emoji/1f3ba.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3bb.png b/public/emoji/1f3bb.png
deleted file mode 100644
index e1e76cce2..000000000
Binary files a/public/emoji/1f3bb.png and /dev/null differ
diff --git a/public/emoji/1f3bb.svg b/public/emoji/1f3bb.svg
index 3e9cf6e76..bb41fa03a 100644
--- a/public/emoji/1f3bb.svg
+++ b/public/emoji/1f3bb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3bc.png b/public/emoji/1f3bc.png
deleted file mode 100644
index 47dc05a8e..000000000
Binary files a/public/emoji/1f3bc.png and /dev/null differ
diff --git a/public/emoji/1f3bc.svg b/public/emoji/1f3bc.svg
index c07402486..5a6b2c543 100644
--- a/public/emoji/1f3bc.svg
+++ b/public/emoji/1f3bc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3bd.png b/public/emoji/1f3bd.png
deleted file mode 100644
index 6d83c06b8..000000000
Binary files a/public/emoji/1f3bd.png and /dev/null differ
diff --git a/public/emoji/1f3bd.svg b/public/emoji/1f3bd.svg
index b612348f3..5afc205fc 100644
--- a/public/emoji/1f3bd.svg
+++ b/public/emoji/1f3bd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3be.png b/public/emoji/1f3be.png
deleted file mode 100644
index 7e68ba8f3..000000000
Binary files a/public/emoji/1f3be.png and /dev/null differ
diff --git a/public/emoji/1f3be.svg b/public/emoji/1f3be.svg
index 25ead517e..a32596c85 100644
--- a/public/emoji/1f3be.svg
+++ b/public/emoji/1f3be.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3bf.png b/public/emoji/1f3bf.png
deleted file mode 100644
index 4a2d2c123..000000000
Binary files a/public/emoji/1f3bf.png and /dev/null differ
diff --git a/public/emoji/1f3bf.svg b/public/emoji/1f3bf.svg
index c18b6706d..8fc9b173d 100644
--- a/public/emoji/1f3bf.svg
+++ b/public/emoji/1f3bf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c0.png b/public/emoji/1f3c0.png
deleted file mode 100644
index 64c76b79c..000000000
Binary files a/public/emoji/1f3c0.png and /dev/null differ
diff --git a/public/emoji/1f3c0.svg b/public/emoji/1f3c0.svg
index 4c88cd07e..19fe48e47 100644
--- a/public/emoji/1f3c0.svg
+++ b/public/emoji/1f3c0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c1.png b/public/emoji/1f3c1.png
deleted file mode 100644
index 5a71eecb8..000000000
Binary files a/public/emoji/1f3c1.png and /dev/null differ
diff --git a/public/emoji/1f3c1.svg b/public/emoji/1f3c1.svg
index a57b1b001..a8b271864 100644
--- a/public/emoji/1f3c1.svg
+++ b/public/emoji/1f3c1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c2-1f3fb.svg b/public/emoji/1f3c2-1f3fb.svg
new file mode 100644
index 000000000..80f18eae4
--- /dev/null
+++ b/public/emoji/1f3c2-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c2-1f3fc.svg b/public/emoji/1f3c2-1f3fc.svg
new file mode 100644
index 000000000..d9d27bd1b
--- /dev/null
+++ b/public/emoji/1f3c2-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c2-1f3fd.svg b/public/emoji/1f3c2-1f3fd.svg
new file mode 100644
index 000000000..93bdecc58
--- /dev/null
+++ b/public/emoji/1f3c2-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c2-1f3fe.svg b/public/emoji/1f3c2-1f3fe.svg
new file mode 100644
index 000000000..076c81b98
--- /dev/null
+++ b/public/emoji/1f3c2-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c2-1f3ff.svg b/public/emoji/1f3c2-1f3ff.svg
new file mode 100644
index 000000000..b2d6ad96e
--- /dev/null
+++ b/public/emoji/1f3c2-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c2.png b/public/emoji/1f3c2.png
deleted file mode 100644
index 6361c0f2c..000000000
Binary files a/public/emoji/1f3c2.png and /dev/null differ
diff --git a/public/emoji/1f3c2.svg b/public/emoji/1f3c2.svg
index 347e2d7f7..7239e1252 100644
--- a/public/emoji/1f3c2.svg
+++ b/public/emoji/1f3c2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..570fc7cc0
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..dfff62b71
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fb.png b/public/emoji/1f3c3-1f3fb.png
deleted file mode 100644
index 9355239a5..000000000
Binary files a/public/emoji/1f3c3-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3c3-1f3fb.svg b/public/emoji/1f3c3-1f3fb.svg
index 4b9b89b06..dfff62b71 100644
--- a/public/emoji/1f3c3-1f3fb.svg
+++ b/public/emoji/1f3c3-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ab219949d
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..093f4ba69
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fc.png b/public/emoji/1f3c3-1f3fc.png
deleted file mode 100644
index 6112fd5c3..000000000
Binary files a/public/emoji/1f3c3-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3c3-1f3fc.svg b/public/emoji/1f3c3-1f3fc.svg
index fd2a61abd..093f4ba69 100644
--- a/public/emoji/1f3c3-1f3fc.svg
+++ b/public/emoji/1f3c3-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c7d77e2af
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..fc486856e
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fd.png b/public/emoji/1f3c3-1f3fd.png
deleted file mode 100644
index 625ec708f..000000000
Binary files a/public/emoji/1f3c3-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3c3-1f3fd.svg b/public/emoji/1f3c3-1f3fd.svg
index 6e8a3ba0d..fc486856e 100644
--- a/public/emoji/1f3c3-1f3fd.svg
+++ b/public/emoji/1f3c3-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ec6cb8d7b
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ebf10ebde
--- /dev/null
+++ b/public/emoji/1f3c3-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3fe.png b/public/emoji/1f3c3-1f3fe.png
deleted file mode 100644
index 242f1b563..000000000
Binary files a/public/emoji/1f3c3-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3c3-1f3fe.svg b/public/emoji/1f3c3-1f3fe.svg
index 819f33c33..ebf10ebde 100644
--- a/public/emoji/1f3c3-1f3fe.svg
+++ b/public/emoji/1f3c3-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6a6be6cb8
--- /dev/null
+++ b/public/emoji/1f3c3-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..870bf9f5b
--- /dev/null
+++ b/public/emoji/1f3c3-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-1f3ff.png b/public/emoji/1f3c3-1f3ff.png
deleted file mode 100644
index 2976c6f01..000000000
Binary files a/public/emoji/1f3c3-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3c3-1f3ff.svg b/public/emoji/1f3c3-1f3ff.svg
index 622c252e4..870bf9f5b 100644
--- a/public/emoji/1f3c3-1f3ff.svg
+++ b/public/emoji/1f3c3-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c3-200d-2640-fe0f.svg b/public/emoji/1f3c3-200d-2640-fe0f.svg
new file mode 100644
index 000000000..267f23f2a
--- /dev/null
+++ b/public/emoji/1f3c3-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3-200d-2642-fe0f.svg b/public/emoji/1f3c3-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2916e5897
--- /dev/null
+++ b/public/emoji/1f3c3-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c3.png b/public/emoji/1f3c3.png
deleted file mode 100644
index e91491597..000000000
Binary files a/public/emoji/1f3c3.png and /dev/null differ
diff --git a/public/emoji/1f3c3.svg b/public/emoji/1f3c3.svg
index e292a290c..2916e5897 100644
--- a/public/emoji/1f3c3.svg
+++ b/public/emoji/1f3c3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1e6a1bb30
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..10680958e
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fb.png b/public/emoji/1f3c4-1f3fb.png
deleted file mode 100644
index b5faaa524..000000000
Binary files a/public/emoji/1f3c4-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3c4-1f3fb.svg b/public/emoji/1f3c4-1f3fb.svg
index b76cc56bc..10680958e 100644
--- a/public/emoji/1f3c4-1f3fb.svg
+++ b/public/emoji/1f3c4-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..63730d1c0
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..02facb5ce
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fc.png b/public/emoji/1f3c4-1f3fc.png
deleted file mode 100644
index 6d92e412f..000000000
Binary files a/public/emoji/1f3c4-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3c4-1f3fc.svg b/public/emoji/1f3c4-1f3fc.svg
index f595853c7..02facb5ce 100644
--- a/public/emoji/1f3c4-1f3fc.svg
+++ b/public/emoji/1f3c4-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..03e18b72d
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..bf3a8b32b
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fd.png b/public/emoji/1f3c4-1f3fd.png
deleted file mode 100644
index f05ef5949..000000000
Binary files a/public/emoji/1f3c4-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3c4-1f3fd.svg b/public/emoji/1f3c4-1f3fd.svg
index 5ddcf250f..bf3a8b32b 100644
--- a/public/emoji/1f3c4-1f3fd.svg
+++ b/public/emoji/1f3c4-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..866a81364
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d3529de70
--- /dev/null
+++ b/public/emoji/1f3c4-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3fe.png b/public/emoji/1f3c4-1f3fe.png
deleted file mode 100644
index 35e143d19..000000000
Binary files a/public/emoji/1f3c4-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3c4-1f3fe.svg b/public/emoji/1f3c4-1f3fe.svg
index bf0fa36f2..d3529de70 100644
--- a/public/emoji/1f3c4-1f3fe.svg
+++ b/public/emoji/1f3c4-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..40c4e2605
--- /dev/null
+++ b/public/emoji/1f3c4-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5c4f2a5e4
--- /dev/null
+++ b/public/emoji/1f3c4-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-1f3ff.png b/public/emoji/1f3c4-1f3ff.png
deleted file mode 100644
index 38917658e..000000000
Binary files a/public/emoji/1f3c4-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3c4-1f3ff.svg b/public/emoji/1f3c4-1f3ff.svg
index 294226da2..5c4f2a5e4 100644
--- a/public/emoji/1f3c4-1f3ff.svg
+++ b/public/emoji/1f3c4-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c4-200d-2640-fe0f.svg b/public/emoji/1f3c4-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ea334a12a
--- /dev/null
+++ b/public/emoji/1f3c4-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4-200d-2642-fe0f.svg b/public/emoji/1f3c4-200d-2642-fe0f.svg
new file mode 100644
index 000000000..88bd36f1a
--- /dev/null
+++ b/public/emoji/1f3c4-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3c4.png b/public/emoji/1f3c4.png
deleted file mode 100644
index 3ab017adf..000000000
Binary files a/public/emoji/1f3c4.png and /dev/null differ
diff --git a/public/emoji/1f3c4.svg b/public/emoji/1f3c4.svg
index 53b845c63..88bd36f1a 100644
--- a/public/emoji/1f3c4.svg
+++ b/public/emoji/1f3c4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c5.png b/public/emoji/1f3c5.png
deleted file mode 100644
index b85896b14..000000000
Binary files a/public/emoji/1f3c5.png and /dev/null differ
diff --git a/public/emoji/1f3c5.svg b/public/emoji/1f3c5.svg
index 4862d3c69..1514714dc 100644
--- a/public/emoji/1f3c5.svg
+++ b/public/emoji/1f3c5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c6.png b/public/emoji/1f3c6.png
deleted file mode 100644
index ac2895c18..000000000
Binary files a/public/emoji/1f3c6.png and /dev/null differ
diff --git a/public/emoji/1f3c6.svg b/public/emoji/1f3c6.svg
index 025592e6d..6ecc234af 100644
--- a/public/emoji/1f3c6.svg
+++ b/public/emoji/1f3c6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7-1f3fb.png b/public/emoji/1f3c7-1f3fb.png
deleted file mode 100644
index e9bf4092e..000000000
Binary files a/public/emoji/1f3c7-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3c7-1f3fb.svg b/public/emoji/1f3c7-1f3fb.svg
index 308dd7abe..47ac7e418 100644
--- a/public/emoji/1f3c7-1f3fb.svg
+++ b/public/emoji/1f3c7-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7-1f3fc.png b/public/emoji/1f3c7-1f3fc.png
deleted file mode 100644
index 031bbc3d8..000000000
Binary files a/public/emoji/1f3c7-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3c7-1f3fc.svg b/public/emoji/1f3c7-1f3fc.svg
index f841b3e2d..b8509d9d1 100644
--- a/public/emoji/1f3c7-1f3fc.svg
+++ b/public/emoji/1f3c7-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7-1f3fd.png b/public/emoji/1f3c7-1f3fd.png
deleted file mode 100644
index b40ef891f..000000000
Binary files a/public/emoji/1f3c7-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3c7-1f3fd.svg b/public/emoji/1f3c7-1f3fd.svg
index ca972a62f..67944e288 100644
--- a/public/emoji/1f3c7-1f3fd.svg
+++ b/public/emoji/1f3c7-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7-1f3fe.png b/public/emoji/1f3c7-1f3fe.png
deleted file mode 100644
index e286cb850..000000000
Binary files a/public/emoji/1f3c7-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3c7-1f3fe.svg b/public/emoji/1f3c7-1f3fe.svg
index c8f385084..5bea32d7c 100644
--- a/public/emoji/1f3c7-1f3fe.svg
+++ b/public/emoji/1f3c7-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7-1f3ff.png b/public/emoji/1f3c7-1f3ff.png
deleted file mode 100644
index 453c51c60..000000000
Binary files a/public/emoji/1f3c7-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3c7-1f3ff.svg b/public/emoji/1f3c7-1f3ff.svg
index 1ee4554df..a6c6031f7 100644
--- a/public/emoji/1f3c7-1f3ff.svg
+++ b/public/emoji/1f3c7-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c7.png b/public/emoji/1f3c7.png
deleted file mode 100644
index addf9edac..000000000
Binary files a/public/emoji/1f3c7.png and /dev/null differ
diff --git a/public/emoji/1f3c7.svg b/public/emoji/1f3c7.svg
index f790b6885..b6b0ecc8e 100644
--- a/public/emoji/1f3c7.svg
+++ b/public/emoji/1f3c7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c8.png b/public/emoji/1f3c8.png
deleted file mode 100644
index 10366f41f..000000000
Binary files a/public/emoji/1f3c8.png and /dev/null differ
diff --git a/public/emoji/1f3c8.svg b/public/emoji/1f3c8.svg
index 85ecdbf9c..3a7e9ea5c 100644
--- a/public/emoji/1f3c8.svg
+++ b/public/emoji/1f3c8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3c9.png b/public/emoji/1f3c9.png
deleted file mode 100644
index b18722734..000000000
Binary files a/public/emoji/1f3c9.png and /dev/null differ
diff --git a/public/emoji/1f3c9.svg b/public/emoji/1f3c9.svg
index dca5f0493..c61d5e104 100644
--- a/public/emoji/1f3c9.svg
+++ b/public/emoji/1f3c9.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b566b0b49
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4adae1bee
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fb.png b/public/emoji/1f3ca-1f3fb.png
deleted file mode 100644
index 38441c9ca..000000000
Binary files a/public/emoji/1f3ca-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3ca-1f3fb.svg b/public/emoji/1f3ca-1f3fb.svg
index 8484a5304..4adae1bee 100644
--- a/public/emoji/1f3ca-1f3fb.svg
+++ b/public/emoji/1f3ca-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..938af613b
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b7bad3195
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fc.png b/public/emoji/1f3ca-1f3fc.png
deleted file mode 100644
index b0d431124..000000000
Binary files a/public/emoji/1f3ca-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3ca-1f3fc.svg b/public/emoji/1f3ca-1f3fc.svg
index 456bee3b3..b7bad3195 100644
--- a/public/emoji/1f3ca-1f3fc.svg
+++ b/public/emoji/1f3ca-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fb1f38e4b
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..87d970d38
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fd.png b/public/emoji/1f3ca-1f3fd.png
deleted file mode 100644
index 211e77e2a..000000000
Binary files a/public/emoji/1f3ca-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3ca-1f3fd.svg b/public/emoji/1f3ca-1f3fd.svg
index 57e064224..87d970d38 100644
--- a/public/emoji/1f3ca-1f3fd.svg
+++ b/public/emoji/1f3ca-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c50640082
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..68084d89a
--- /dev/null
+++ b/public/emoji/1f3ca-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3fe.png b/public/emoji/1f3ca-1f3fe.png
deleted file mode 100644
index f34c34db9..000000000
Binary files a/public/emoji/1f3ca-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3ca-1f3fe.svg b/public/emoji/1f3ca-1f3fe.svg
index 12d607b4b..68084d89a 100644
--- a/public/emoji/1f3ca-1f3fe.svg
+++ b/public/emoji/1f3ca-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..7f97b5f07
--- /dev/null
+++ b/public/emoji/1f3ca-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..0e93a98c9
--- /dev/null
+++ b/public/emoji/1f3ca-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-1f3ff.png b/public/emoji/1f3ca-1f3ff.png
deleted file mode 100644
index 3e9231ff8..000000000
Binary files a/public/emoji/1f3ca-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3ca-1f3ff.svg b/public/emoji/1f3ca-1f3ff.svg
index 99fe3f240..0e93a98c9 100644
--- a/public/emoji/1f3ca-1f3ff.svg
+++ b/public/emoji/1f3ca-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ca-200d-2640-fe0f.svg b/public/emoji/1f3ca-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1d4abfd76
--- /dev/null
+++ b/public/emoji/1f3ca-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca-200d-2642-fe0f.svg b/public/emoji/1f3ca-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7611ea22a
--- /dev/null
+++ b/public/emoji/1f3ca-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3ca.png b/public/emoji/1f3ca.png
deleted file mode 100644
index 55b4d72f9..000000000
Binary files a/public/emoji/1f3ca.png and /dev/null differ
diff --git a/public/emoji/1f3ca.svg b/public/emoji/1f3ca.svg
index 5b62b5cc7..7611ea22a 100644
--- a/public/emoji/1f3ca.svg
+++ b/public/emoji/1f3ca.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..70fdc084f
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3938ed9cc
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fb.png b/public/emoji/1f3cb-1f3fb.png
deleted file mode 100644
index febaad123..000000000
Binary files a/public/emoji/1f3cb-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3cb-1f3fb.svg b/public/emoji/1f3cb-1f3fb.svg
index 1d993f5b3..3938ed9cc 100644
--- a/public/emoji/1f3cb-1f3fb.svg
+++ b/public/emoji/1f3cb-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5f8438793
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..11f1a1728
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fc.png b/public/emoji/1f3cb-1f3fc.png
deleted file mode 100644
index 27ae794a1..000000000
Binary files a/public/emoji/1f3cb-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3cb-1f3fc.svg b/public/emoji/1f3cb-1f3fc.svg
index 4b386c011..11f1a1728 100644
--- a/public/emoji/1f3cb-1f3fc.svg
+++ b/public/emoji/1f3cb-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..310e48533
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8f7a55728
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fd.png b/public/emoji/1f3cb-1f3fd.png
deleted file mode 100644
index 45c4c22c7..000000000
Binary files a/public/emoji/1f3cb-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3cb-1f3fd.svg b/public/emoji/1f3cb-1f3fd.svg
index 06778330e..8f7a55728 100644
--- a/public/emoji/1f3cb-1f3fd.svg
+++ b/public/emoji/1f3cb-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..7026af4e9
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4e06d696b
--- /dev/null
+++ b/public/emoji/1f3cb-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3fe.png b/public/emoji/1f3cb-1f3fe.png
deleted file mode 100644
index 67dd21d24..000000000
Binary files a/public/emoji/1f3cb-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3cb-1f3fe.svg b/public/emoji/1f3cb-1f3fe.svg
index 7df96c44d..4e06d696b 100644
--- a/public/emoji/1f3cb-1f3fe.svg
+++ b/public/emoji/1f3cb-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..27cfbeef6
--- /dev/null
+++ b/public/emoji/1f3cb-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..08e998ed9
--- /dev/null
+++ b/public/emoji/1f3cb-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-1f3ff.png b/public/emoji/1f3cb-1f3ff.png
deleted file mode 100644
index fa0152038..000000000
Binary files a/public/emoji/1f3cb-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3cb-1f3ff.svg b/public/emoji/1f3cb-1f3ff.svg
index 252bf0e4a..08e998ed9 100644
--- a/public/emoji/1f3cb-1f3ff.svg
+++ b/public/emoji/1f3cb-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cb-fe0f-200d-2640-fe0f.svg b/public/emoji/1f3cb-fe0f-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3e6f21e92
--- /dev/null
+++ b/public/emoji/1f3cb-fe0f-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb-fe0f-200d-2642-fe0f.svg b/public/emoji/1f3cb-fe0f-200d-2642-fe0f.svg
new file mode 100644
index 000000000..01306a753
--- /dev/null
+++ b/public/emoji/1f3cb-fe0f-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cb.png b/public/emoji/1f3cb.png
deleted file mode 100644
index afdeaa476..000000000
Binary files a/public/emoji/1f3cb.png and /dev/null differ
diff --git a/public/emoji/1f3cb.svg b/public/emoji/1f3cb.svg
index 606b0076b..01306a753 100644
--- a/public/emoji/1f3cb.svg
+++ b/public/emoji/1f3cb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..24b0ade25
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ca733cb95
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fb.svg b/public/emoji/1f3cc-1f3fb.svg
new file mode 100644
index 000000000..ca733cb95
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e3379b1e3
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c0c794162
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fc.svg b/public/emoji/1f3cc-1f3fc.svg
new file mode 100644
index 000000000..c0c794162
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0fb927c82
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6e67fa7ab
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fd.svg b/public/emoji/1f3cc-1f3fd.svg
new file mode 100644
index 000000000..6e67fa7ab
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..150fc0e21
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c891ce67a
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3fe.svg b/public/emoji/1f3cc-1f3fe.svg
new file mode 100644
index 000000000..c891ce67a
--- /dev/null
+++ b/public/emoji/1f3cc-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..78031ea85
--- /dev/null
+++ b/public/emoji/1f3cc-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..703b6c66e
--- /dev/null
+++ b/public/emoji/1f3cc-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-1f3ff.svg b/public/emoji/1f3cc-1f3ff.svg
new file mode 100644
index 000000000..703b6c66e
--- /dev/null
+++ b/public/emoji/1f3cc-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-fe0f-200d-2640-fe0f.svg b/public/emoji/1f3cc-fe0f-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a51cba2e1
--- /dev/null
+++ b/public/emoji/1f3cc-fe0f-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc-fe0f-200d-2642-fe0f.svg b/public/emoji/1f3cc-fe0f-200d-2642-fe0f.svg
new file mode 100644
index 000000000..23c4ae77e
--- /dev/null
+++ b/public/emoji/1f3cc-fe0f-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3cc.png b/public/emoji/1f3cc.png
deleted file mode 100644
index 39c552de8..000000000
Binary files a/public/emoji/1f3cc.png and /dev/null differ
diff --git a/public/emoji/1f3cc.svg b/public/emoji/1f3cc.svg
index 25cce198a..23c4ae77e 100644
--- a/public/emoji/1f3cc.svg
+++ b/public/emoji/1f3cc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cd.png b/public/emoji/1f3cd.png
deleted file mode 100644
index 3d1d567e8..000000000
Binary files a/public/emoji/1f3cd.png and /dev/null differ
diff --git a/public/emoji/1f3cd.svg b/public/emoji/1f3cd.svg
index ea58df55b..7384d6b0e 100644
--- a/public/emoji/1f3cd.svg
+++ b/public/emoji/1f3cd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ce.png b/public/emoji/1f3ce.png
deleted file mode 100644
index fe3f045f4..000000000
Binary files a/public/emoji/1f3ce.png and /dev/null differ
diff --git a/public/emoji/1f3ce.svg b/public/emoji/1f3ce.svg
index f6bb1d8f9..3fc893c90 100644
--- a/public/emoji/1f3ce.svg
+++ b/public/emoji/1f3ce.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3cf.png b/public/emoji/1f3cf.png
deleted file mode 100644
index d602294a2..000000000
Binary files a/public/emoji/1f3cf.png and /dev/null differ
diff --git a/public/emoji/1f3cf.svg b/public/emoji/1f3cf.svg
index 1723dfe48..c9f934012 100644
--- a/public/emoji/1f3cf.svg
+++ b/public/emoji/1f3cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d0.png b/public/emoji/1f3d0.png
deleted file mode 100644
index 7a0e49d4b..000000000
Binary files a/public/emoji/1f3d0.png and /dev/null differ
diff --git a/public/emoji/1f3d0.svg b/public/emoji/1f3d0.svg
index bf0a61323..6f3923c6a 100644
--- a/public/emoji/1f3d0.svg
+++ b/public/emoji/1f3d0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d1.png b/public/emoji/1f3d1.png
deleted file mode 100644
index 839637716..000000000
Binary files a/public/emoji/1f3d1.png and /dev/null differ
diff --git a/public/emoji/1f3d1.svg b/public/emoji/1f3d1.svg
index 22278e575..3cd95b299 100644
--- a/public/emoji/1f3d1.svg
+++ b/public/emoji/1f3d1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d2.png b/public/emoji/1f3d2.png
deleted file mode 100644
index be94e9cbf..000000000
Binary files a/public/emoji/1f3d2.png and /dev/null differ
diff --git a/public/emoji/1f3d2.svg b/public/emoji/1f3d2.svg
index 84c1cd509..25513203c 100644
--- a/public/emoji/1f3d2.svg
+++ b/public/emoji/1f3d2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d3.png b/public/emoji/1f3d3.png
deleted file mode 100644
index ff3c51727..000000000
Binary files a/public/emoji/1f3d3.png and /dev/null differ
diff --git a/public/emoji/1f3d3.svg b/public/emoji/1f3d3.svg
index f7ecc8461..f9fe5dedb 100644
--- a/public/emoji/1f3d3.svg
+++ b/public/emoji/1f3d3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d4.png b/public/emoji/1f3d4.png
deleted file mode 100644
index 76e1cfd83..000000000
Binary files a/public/emoji/1f3d4.png and /dev/null differ
diff --git a/public/emoji/1f3d4.svg b/public/emoji/1f3d4.svg
index fad85a34e..06a703edb 100644
--- a/public/emoji/1f3d4.svg
+++ b/public/emoji/1f3d4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d5.png b/public/emoji/1f3d5.png
deleted file mode 100644
index d589cc1f4..000000000
Binary files a/public/emoji/1f3d5.png and /dev/null differ
diff --git a/public/emoji/1f3d5.svg b/public/emoji/1f3d5.svg
index 166f1a74f..2aec636dc 100644
--- a/public/emoji/1f3d5.svg
+++ b/public/emoji/1f3d5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d6.png b/public/emoji/1f3d6.png
deleted file mode 100644
index 69108c8ea..000000000
Binary files a/public/emoji/1f3d6.png and /dev/null differ
diff --git a/public/emoji/1f3d6.svg b/public/emoji/1f3d6.svg
index 7aa2ca8b9..0e9cc8076 100644
--- a/public/emoji/1f3d6.svg
+++ b/public/emoji/1f3d6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d7.png b/public/emoji/1f3d7.png
deleted file mode 100644
index 8206a20f6..000000000
Binary files a/public/emoji/1f3d7.png and /dev/null differ
diff --git a/public/emoji/1f3d7.svg b/public/emoji/1f3d7.svg
index a29f1db27..271e35a24 100644
--- a/public/emoji/1f3d7.svg
+++ b/public/emoji/1f3d7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d8.png b/public/emoji/1f3d8.png
deleted file mode 100644
index 6ab4a2a26..000000000
Binary files a/public/emoji/1f3d8.png and /dev/null differ
diff --git a/public/emoji/1f3d8.svg b/public/emoji/1f3d8.svg
index ba838e874..805e0aa14 100644
--- a/public/emoji/1f3d8.svg
+++ b/public/emoji/1f3d8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3d9.png b/public/emoji/1f3d9.png
deleted file mode 100644
index d7b9844a0..000000000
Binary files a/public/emoji/1f3d9.png and /dev/null differ
diff --git a/public/emoji/1f3d9.svg b/public/emoji/1f3d9.svg
index 3deabda45..b740e61a2 100644
--- a/public/emoji/1f3d9.svg
+++ b/public/emoji/1f3d9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3da.png b/public/emoji/1f3da.png
deleted file mode 100644
index c55e81de9..000000000
Binary files a/public/emoji/1f3da.png and /dev/null differ
diff --git a/public/emoji/1f3da.svg b/public/emoji/1f3da.svg
index bf6c30621..df78c98e8 100644
--- a/public/emoji/1f3da.svg
+++ b/public/emoji/1f3da.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3db.png b/public/emoji/1f3db.png
deleted file mode 100644
index de7b559da..000000000
Binary files a/public/emoji/1f3db.png and /dev/null differ
diff --git a/public/emoji/1f3db.svg b/public/emoji/1f3db.svg
index 501ea5c8b..85a798427 100644
--- a/public/emoji/1f3db.svg
+++ b/public/emoji/1f3db.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3dc.png b/public/emoji/1f3dc.png
deleted file mode 100644
index e9966ff8c..000000000
Binary files a/public/emoji/1f3dc.png and /dev/null differ
diff --git a/public/emoji/1f3dc.svg b/public/emoji/1f3dc.svg
index f95f15ea7..5dd33f2b9 100644
--- a/public/emoji/1f3dc.svg
+++ b/public/emoji/1f3dc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3dd.png b/public/emoji/1f3dd.png
deleted file mode 100644
index 7fd834389..000000000
Binary files a/public/emoji/1f3dd.png and /dev/null differ
diff --git a/public/emoji/1f3dd.svg b/public/emoji/1f3dd.svg
index c9bf17012..ef5d06435 100644
--- a/public/emoji/1f3dd.svg
+++ b/public/emoji/1f3dd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3de.png b/public/emoji/1f3de.png
deleted file mode 100644
index 63ec70163..000000000
Binary files a/public/emoji/1f3de.png and /dev/null differ
diff --git a/public/emoji/1f3de.svg b/public/emoji/1f3de.svg
index c3c729a29..d0d38a8a1 100644
--- a/public/emoji/1f3de.svg
+++ b/public/emoji/1f3de.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3df.png b/public/emoji/1f3df.png
deleted file mode 100644
index 00cd6db5e..000000000
Binary files a/public/emoji/1f3df.png and /dev/null differ
diff --git a/public/emoji/1f3df.svg b/public/emoji/1f3df.svg
index 579a72025..4b9818a8e 100644
--- a/public/emoji/1f3df.svg
+++ b/public/emoji/1f3df.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e0.png b/public/emoji/1f3e0.png
deleted file mode 100644
index 01c98a0ba..000000000
Binary files a/public/emoji/1f3e0.png and /dev/null differ
diff --git a/public/emoji/1f3e0.svg b/public/emoji/1f3e0.svg
index 5edbccef4..c6b274a31 100644
--- a/public/emoji/1f3e0.svg
+++ b/public/emoji/1f3e0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e1.png b/public/emoji/1f3e1.png
deleted file mode 100644
index 0aae41598..000000000
Binary files a/public/emoji/1f3e1.png and /dev/null differ
diff --git a/public/emoji/1f3e1.svg b/public/emoji/1f3e1.svg
index 8c1751eef..b7fb3cc8a 100644
--- a/public/emoji/1f3e1.svg
+++ b/public/emoji/1f3e1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e2.png b/public/emoji/1f3e2.png
deleted file mode 100644
index 7eee927d1..000000000
Binary files a/public/emoji/1f3e2.png and /dev/null differ
diff --git a/public/emoji/1f3e2.svg b/public/emoji/1f3e2.svg
index 0f38711e0..71a433061 100644
--- a/public/emoji/1f3e2.svg
+++ b/public/emoji/1f3e2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e3.png b/public/emoji/1f3e3.png
deleted file mode 100644
index a23848f9a..000000000
Binary files a/public/emoji/1f3e3.png and /dev/null differ
diff --git a/public/emoji/1f3e3.svg b/public/emoji/1f3e3.svg
index db2004f55..697b1bd85 100644
--- a/public/emoji/1f3e3.svg
+++ b/public/emoji/1f3e3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e4.png b/public/emoji/1f3e4.png
deleted file mode 100644
index 3745aff8d..000000000
Binary files a/public/emoji/1f3e4.png and /dev/null differ
diff --git a/public/emoji/1f3e4.svg b/public/emoji/1f3e4.svg
index 8359ad4f1..62040366a 100644
--- a/public/emoji/1f3e4.svg
+++ b/public/emoji/1f3e4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e5.png b/public/emoji/1f3e5.png
deleted file mode 100644
index 1cbce4ae7..000000000
Binary files a/public/emoji/1f3e5.png and /dev/null differ
diff --git a/public/emoji/1f3e5.svg b/public/emoji/1f3e5.svg
index 448460d26..f115d2de4 100644
--- a/public/emoji/1f3e5.svg
+++ b/public/emoji/1f3e5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e6.png b/public/emoji/1f3e6.png
deleted file mode 100644
index dffdcef36..000000000
Binary files a/public/emoji/1f3e6.png and /dev/null differ
diff --git a/public/emoji/1f3e6.svg b/public/emoji/1f3e6.svg
index dee2c6fa7..99f5f1ff0 100644
--- a/public/emoji/1f3e6.svg
+++ b/public/emoji/1f3e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e7.png b/public/emoji/1f3e7.png
deleted file mode 100644
index 4d935307b..000000000
Binary files a/public/emoji/1f3e7.png and /dev/null differ
diff --git a/public/emoji/1f3e7.svg b/public/emoji/1f3e7.svg
index 770f01959..520b82114 100644
--- a/public/emoji/1f3e7.svg
+++ b/public/emoji/1f3e7.svg
@@ -1,3 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e8.png b/public/emoji/1f3e8.png
deleted file mode 100644
index ea8f4c497..000000000
Binary files a/public/emoji/1f3e8.png and /dev/null differ
diff --git a/public/emoji/1f3e8.svg b/public/emoji/1f3e8.svg
index 6aaa75988..667bffaf7 100644
--- a/public/emoji/1f3e8.svg
+++ b/public/emoji/1f3e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3e9.png b/public/emoji/1f3e9.png
deleted file mode 100644
index 5e136be6f..000000000
Binary files a/public/emoji/1f3e9.png and /dev/null differ
diff --git a/public/emoji/1f3e9.svg b/public/emoji/1f3e9.svg
index 5842ed57f..036f2cb6e 100644
--- a/public/emoji/1f3e9.svg
+++ b/public/emoji/1f3e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ea.png b/public/emoji/1f3ea.png
deleted file mode 100644
index 26b53b566..000000000
Binary files a/public/emoji/1f3ea.png and /dev/null differ
diff --git a/public/emoji/1f3ea.svg b/public/emoji/1f3ea.svg
index c423a1ef7..73b362028 100644
--- a/public/emoji/1f3ea.svg
+++ b/public/emoji/1f3ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3eb.png b/public/emoji/1f3eb.png
deleted file mode 100644
index 269759534..000000000
Binary files a/public/emoji/1f3eb.png and /dev/null differ
diff --git a/public/emoji/1f3eb.svg b/public/emoji/1f3eb.svg
index 67a04c921..e02359f96 100644
--- a/public/emoji/1f3eb.svg
+++ b/public/emoji/1f3eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ec.png b/public/emoji/1f3ec.png
deleted file mode 100644
index 58867c7a6..000000000
Binary files a/public/emoji/1f3ec.png and /dev/null differ
diff --git a/public/emoji/1f3ec.svg b/public/emoji/1f3ec.svg
index d39eedf56..da4dac448 100644
--- a/public/emoji/1f3ec.svg
+++ b/public/emoji/1f3ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ed.png b/public/emoji/1f3ed.png
deleted file mode 100644
index e1d2ddf4a..000000000
Binary files a/public/emoji/1f3ed.png and /dev/null differ
diff --git a/public/emoji/1f3ed.svg b/public/emoji/1f3ed.svg
index 43aaa5a07..2303b92e1 100644
--- a/public/emoji/1f3ed.svg
+++ b/public/emoji/1f3ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ee.png b/public/emoji/1f3ee.png
deleted file mode 100644
index dfd933f6f..000000000
Binary files a/public/emoji/1f3ee.png and /dev/null differ
diff --git a/public/emoji/1f3ee.svg b/public/emoji/1f3ee.svg
index 664a33340..3fa57346b 100644
--- a/public/emoji/1f3ee.svg
+++ b/public/emoji/1f3ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ef.png b/public/emoji/1f3ef.png
deleted file mode 100644
index 64b4e33a1..000000000
Binary files a/public/emoji/1f3ef.png and /dev/null differ
diff --git a/public/emoji/1f3ef.svg b/public/emoji/1f3ef.svg
index f4ba33581..19127e6ff 100644
--- a/public/emoji/1f3ef.svg
+++ b/public/emoji/1f3ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f0.png b/public/emoji/1f3f0.png
deleted file mode 100644
index 888d11332..000000000
Binary files a/public/emoji/1f3f0.png and /dev/null differ
diff --git a/public/emoji/1f3f0.svg b/public/emoji/1f3f0.svg
index b0b4b12cc..a8a08cdc2 100644
--- a/public/emoji/1f3f0.svg
+++ b/public/emoji/1f3f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f3-1f308.png b/public/emoji/1f3f3-1f308.png
deleted file mode 100644
index 1bec5f2ff..000000000
Binary files a/public/emoji/1f3f3-1f308.png and /dev/null differ
diff --git a/public/emoji/1f3f3-1f308.svg b/public/emoji/1f3f3-1f308.svg
deleted file mode 100644
index e082546b2..000000000
--- a/public/emoji/1f3f3-1f308.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f3f3-fe0f-200d-1f308.svg b/public/emoji/1f3f3-fe0f-200d-1f308.svg
new file mode 100644
index 000000000..f3994d389
--- /dev/null
+++ b/public/emoji/1f3f3-fe0f-200d-1f308.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3f3.png b/public/emoji/1f3f3.png
deleted file mode 100644
index 86d6e96d5..000000000
Binary files a/public/emoji/1f3f3.png and /dev/null differ
diff --git a/public/emoji/1f3f3.svg b/public/emoji/1f3f3.svg
index d1421b827..2c792674e 100644
--- a/public/emoji/1f3f3.svg
+++ b/public/emoji/1f3f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f4-200d-2620-fe0f.svg b/public/emoji/1f3f4-200d-2620-fe0f.svg
new file mode 100644
index 000000000..4c8a34344
--- /dev/null
+++ b/public/emoji/1f3f4-200d-2620-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg b/public/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg
new file mode 100644
index 000000000..a929886b8
--- /dev/null
+++ b/public/emoji/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg b/public/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg
new file mode 100644
index 000000000..f732be741
--- /dev/null
+++ b/public/emoji/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg b/public/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg
new file mode 100644
index 000000000..76ac4e04f
--- /dev/null
+++ b/public/emoji/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f3f4.png b/public/emoji/1f3f4.png
deleted file mode 100644
index 0e28d05d5..000000000
Binary files a/public/emoji/1f3f4.png and /dev/null differ
diff --git a/public/emoji/1f3f4.svg b/public/emoji/1f3f4.svg
index 0e6202dc1..82a6942b3 100644
--- a/public/emoji/1f3f4.svg
+++ b/public/emoji/1f3f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f5.png b/public/emoji/1f3f5.png
deleted file mode 100644
index 8030e494b..000000000
Binary files a/public/emoji/1f3f5.png and /dev/null differ
diff --git a/public/emoji/1f3f5.svg b/public/emoji/1f3f5.svg
index b6576ae99..624353dea 100644
--- a/public/emoji/1f3f5.svg
+++ b/public/emoji/1f3f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f7.png b/public/emoji/1f3f7.png
deleted file mode 100644
index d41c9b4f1..000000000
Binary files a/public/emoji/1f3f7.png and /dev/null differ
diff --git a/public/emoji/1f3f7.svg b/public/emoji/1f3f7.svg
index 372a35f5e..3851970f9 100644
--- a/public/emoji/1f3f7.svg
+++ b/public/emoji/1f3f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f8.png b/public/emoji/1f3f8.png
deleted file mode 100644
index 7ba157089..000000000
Binary files a/public/emoji/1f3f8.png and /dev/null differ
diff --git a/public/emoji/1f3f8.svg b/public/emoji/1f3f8.svg
index c9e2b401e..e4ade6338 100644
--- a/public/emoji/1f3f8.svg
+++ b/public/emoji/1f3f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3f9.png b/public/emoji/1f3f9.png
deleted file mode 100644
index 6a538bf47..000000000
Binary files a/public/emoji/1f3f9.png and /dev/null differ
diff --git a/public/emoji/1f3f9.svg b/public/emoji/1f3f9.svg
index e73e45cc3..bc367fc4e 100644
--- a/public/emoji/1f3f9.svg
+++ b/public/emoji/1f3f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3fa.png b/public/emoji/1f3fa.png
deleted file mode 100644
index 96de50560..000000000
Binary files a/public/emoji/1f3fa.png and /dev/null differ
diff --git a/public/emoji/1f3fa.svg b/public/emoji/1f3fa.svg
index bf02dbdda..e2c6cd44f 100644
--- a/public/emoji/1f3fa.svg
+++ b/public/emoji/1f3fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3fb.png b/public/emoji/1f3fb.png
deleted file mode 100644
index 7c9d7cdc4..000000000
Binary files a/public/emoji/1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f3fb.svg b/public/emoji/1f3fb.svg
index 95d9113d7..dd5723819 100644
--- a/public/emoji/1f3fb.svg
+++ b/public/emoji/1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3fc.png b/public/emoji/1f3fc.png
deleted file mode 100644
index c0fc8338c..000000000
Binary files a/public/emoji/1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f3fc.svg b/public/emoji/1f3fc.svg
index 98674ab9a..635292095 100644
--- a/public/emoji/1f3fc.svg
+++ b/public/emoji/1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3fd.png b/public/emoji/1f3fd.png
deleted file mode 100644
index 4814822f2..000000000
Binary files a/public/emoji/1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f3fd.svg b/public/emoji/1f3fd.svg
index 3216c0c48..efeab639c 100644
--- a/public/emoji/1f3fd.svg
+++ b/public/emoji/1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3fe.png b/public/emoji/1f3fe.png
deleted file mode 100644
index 60599fa6b..000000000
Binary files a/public/emoji/1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f3fe.svg b/public/emoji/1f3fe.svg
index f4e86c336..ac82ddb05 100644
--- a/public/emoji/1f3fe.svg
+++ b/public/emoji/1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f3ff.png b/public/emoji/1f3ff.png
deleted file mode 100644
index 4c528eaf6..000000000
Binary files a/public/emoji/1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f3ff.svg b/public/emoji/1f3ff.svg
index b99182a77..d0683b427 100644
--- a/public/emoji/1f3ff.svg
+++ b/public/emoji/1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f400.png b/public/emoji/1f400.png
deleted file mode 100644
index 86219144f..000000000
Binary files a/public/emoji/1f400.png and /dev/null differ
diff --git a/public/emoji/1f400.svg b/public/emoji/1f400.svg
index 8dcadea17..b3a80271c 100644
--- a/public/emoji/1f400.svg
+++ b/public/emoji/1f400.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f401.png b/public/emoji/1f401.png
deleted file mode 100644
index 20fb041f0..000000000
Binary files a/public/emoji/1f401.png and /dev/null differ
diff --git a/public/emoji/1f401.svg b/public/emoji/1f401.svg
index 944b4a2e5..54852c8f4 100644
--- a/public/emoji/1f401.svg
+++ b/public/emoji/1f401.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f402.png b/public/emoji/1f402.png
deleted file mode 100644
index badf5708f..000000000
Binary files a/public/emoji/1f402.png and /dev/null differ
diff --git a/public/emoji/1f402.svg b/public/emoji/1f402.svg
index 491e8d181..b06f60b19 100644
--- a/public/emoji/1f402.svg
+++ b/public/emoji/1f402.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f403.png b/public/emoji/1f403.png
deleted file mode 100644
index 80446615c..000000000
Binary files a/public/emoji/1f403.png and /dev/null differ
diff --git a/public/emoji/1f403.svg b/public/emoji/1f403.svg
index 96982688c..cc5483e9f 100644
--- a/public/emoji/1f403.svg
+++ b/public/emoji/1f403.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f404.png b/public/emoji/1f404.png
deleted file mode 100644
index 4d0ca534f..000000000
Binary files a/public/emoji/1f404.png and /dev/null differ
diff --git a/public/emoji/1f404.svg b/public/emoji/1f404.svg
index 1bf172871..d0dca2b50 100644
--- a/public/emoji/1f404.svg
+++ b/public/emoji/1f404.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f405.png b/public/emoji/1f405.png
deleted file mode 100644
index 871a8b74d..000000000
Binary files a/public/emoji/1f405.png and /dev/null differ
diff --git a/public/emoji/1f405.svg b/public/emoji/1f405.svg
index 27db054c5..383ee31f8 100644
--- a/public/emoji/1f405.svg
+++ b/public/emoji/1f405.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f406.png b/public/emoji/1f406.png
deleted file mode 100644
index 8aac3d494..000000000
Binary files a/public/emoji/1f406.png and /dev/null differ
diff --git a/public/emoji/1f406.svg b/public/emoji/1f406.svg
index 7093fe41f..59a2e0585 100644
--- a/public/emoji/1f406.svg
+++ b/public/emoji/1f406.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f407.png b/public/emoji/1f407.png
deleted file mode 100644
index 2c8a29c64..000000000
Binary files a/public/emoji/1f407.png and /dev/null differ
diff --git a/public/emoji/1f407.svg b/public/emoji/1f407.svg
index f673e966d..54f4d6965 100644
--- a/public/emoji/1f407.svg
+++ b/public/emoji/1f407.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f408.png b/public/emoji/1f408.png
deleted file mode 100644
index 46abe8cbc..000000000
Binary files a/public/emoji/1f408.png and /dev/null differ
diff --git a/public/emoji/1f408.svg b/public/emoji/1f408.svg
index 4eadb2c41..68fe8f2a1 100644
--- a/public/emoji/1f408.svg
+++ b/public/emoji/1f408.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f409.png b/public/emoji/1f409.png
deleted file mode 100644
index d6311cf54..000000000
Binary files a/public/emoji/1f409.png and /dev/null differ
diff --git a/public/emoji/1f409.svg b/public/emoji/1f409.svg
index aaf9cd252..ab05374fb 100644
--- a/public/emoji/1f409.svg
+++ b/public/emoji/1f409.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40a.png b/public/emoji/1f40a.png
deleted file mode 100644
index 3005c46f1..000000000
Binary files a/public/emoji/1f40a.png and /dev/null differ
diff --git a/public/emoji/1f40a.svg b/public/emoji/1f40a.svg
index d5dd7c6ab..1d3f3be01 100644
--- a/public/emoji/1f40a.svg
+++ b/public/emoji/1f40a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40b.png b/public/emoji/1f40b.png
deleted file mode 100644
index 0df9d3c73..000000000
Binary files a/public/emoji/1f40b.png and /dev/null differ
diff --git a/public/emoji/1f40b.svg b/public/emoji/1f40b.svg
index 31bb7393f..b6d3c6032 100644
--- a/public/emoji/1f40b.svg
+++ b/public/emoji/1f40b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40c.png b/public/emoji/1f40c.png
deleted file mode 100644
index f4ea071e2..000000000
Binary files a/public/emoji/1f40c.png and /dev/null differ
diff --git a/public/emoji/1f40c.svg b/public/emoji/1f40c.svg
index b4204fae0..75393adf4 100644
--- a/public/emoji/1f40c.svg
+++ b/public/emoji/1f40c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40d.png b/public/emoji/1f40d.png
deleted file mode 100644
index d0278a28d..000000000
Binary files a/public/emoji/1f40d.png and /dev/null differ
diff --git a/public/emoji/1f40d.svg b/public/emoji/1f40d.svg
index 6ad56b8d9..7e2fc51c2 100644
--- a/public/emoji/1f40d.svg
+++ b/public/emoji/1f40d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40e.png b/public/emoji/1f40e.png
deleted file mode 100644
index b3e73cc89..000000000
Binary files a/public/emoji/1f40e.png and /dev/null differ
diff --git a/public/emoji/1f40e.svg b/public/emoji/1f40e.svg
index b7ba4df3f..ac2eab05a 100644
--- a/public/emoji/1f40e.svg
+++ b/public/emoji/1f40e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f40f.png b/public/emoji/1f40f.png
deleted file mode 100644
index 52a44464c..000000000
Binary files a/public/emoji/1f40f.png and /dev/null differ
diff --git a/public/emoji/1f40f.svg b/public/emoji/1f40f.svg
index 2cf3e5715..590560909 100644
--- a/public/emoji/1f40f.svg
+++ b/public/emoji/1f40f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f410.png b/public/emoji/1f410.png
deleted file mode 100644
index f9d9e38a1..000000000
Binary files a/public/emoji/1f410.png and /dev/null differ
diff --git a/public/emoji/1f410.svg b/public/emoji/1f410.svg
index 445e63f8c..056f6ba06 100644
--- a/public/emoji/1f410.svg
+++ b/public/emoji/1f410.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f411.png b/public/emoji/1f411.png
deleted file mode 100644
index 102b8a52b..000000000
Binary files a/public/emoji/1f411.png and /dev/null differ
diff --git a/public/emoji/1f411.svg b/public/emoji/1f411.svg
index 19d8b9e77..58cf59a30 100644
--- a/public/emoji/1f411.svg
+++ b/public/emoji/1f411.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f412.png b/public/emoji/1f412.png
deleted file mode 100644
index 9fae29448..000000000
Binary files a/public/emoji/1f412.png and /dev/null differ
diff --git a/public/emoji/1f412.svg b/public/emoji/1f412.svg
index 713e48da8..f6335f367 100644
--- a/public/emoji/1f412.svg
+++ b/public/emoji/1f412.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f413.png b/public/emoji/1f413.png
deleted file mode 100644
index bbf2bbff9..000000000
Binary files a/public/emoji/1f413.png and /dev/null differ
diff --git a/public/emoji/1f413.svg b/public/emoji/1f413.svg
index 349de8552..b952ce5be 100644
--- a/public/emoji/1f413.svg
+++ b/public/emoji/1f413.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f414.png b/public/emoji/1f414.png
deleted file mode 100644
index 9a6992e55..000000000
Binary files a/public/emoji/1f414.png and /dev/null differ
diff --git a/public/emoji/1f414.svg b/public/emoji/1f414.svg
index 34dfab577..1fd133345 100644
--- a/public/emoji/1f414.svg
+++ b/public/emoji/1f414.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f415.png b/public/emoji/1f415.png
deleted file mode 100644
index 976143dbd..000000000
Binary files a/public/emoji/1f415.png and /dev/null differ
diff --git a/public/emoji/1f415.svg b/public/emoji/1f415.svg
index 7fded5c11..3626f8a36 100644
--- a/public/emoji/1f415.svg
+++ b/public/emoji/1f415.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f416.png b/public/emoji/1f416.png
deleted file mode 100644
index 5f31c1a2d..000000000
Binary files a/public/emoji/1f416.png and /dev/null differ
diff --git a/public/emoji/1f416.svg b/public/emoji/1f416.svg
index a3f0422a5..d6fbe7c17 100644
--- a/public/emoji/1f416.svg
+++ b/public/emoji/1f416.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f417.png b/public/emoji/1f417.png
deleted file mode 100644
index fead97263..000000000
Binary files a/public/emoji/1f417.png and /dev/null differ
diff --git a/public/emoji/1f417.svg b/public/emoji/1f417.svg
index d134de16a..39715ce4e 100644
--- a/public/emoji/1f417.svg
+++ b/public/emoji/1f417.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f418.png b/public/emoji/1f418.png
deleted file mode 100644
index b8a6d1405..000000000
Binary files a/public/emoji/1f418.png and /dev/null differ
diff --git a/public/emoji/1f418.svg b/public/emoji/1f418.svg
index 80479aa3d..595a80805 100644
--- a/public/emoji/1f418.svg
+++ b/public/emoji/1f418.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f419.png b/public/emoji/1f419.png
deleted file mode 100644
index 72c84074a..000000000
Binary files a/public/emoji/1f419.png and /dev/null differ
diff --git a/public/emoji/1f419.svg b/public/emoji/1f419.svg
index fa59238e2..0f00d078e 100644
--- a/public/emoji/1f419.svg
+++ b/public/emoji/1f419.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41a.png b/public/emoji/1f41a.png
deleted file mode 100644
index 55721629f..000000000
Binary files a/public/emoji/1f41a.png and /dev/null differ
diff --git a/public/emoji/1f41a.svg b/public/emoji/1f41a.svg
index fb691d49b..e4aef0416 100644
--- a/public/emoji/1f41a.svg
+++ b/public/emoji/1f41a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41b.png b/public/emoji/1f41b.png
deleted file mode 100644
index e64e72f25..000000000
Binary files a/public/emoji/1f41b.png and /dev/null differ
diff --git a/public/emoji/1f41b.svg b/public/emoji/1f41b.svg
index 64bcedb14..ddc70682e 100644
--- a/public/emoji/1f41b.svg
+++ b/public/emoji/1f41b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41c.png b/public/emoji/1f41c.png
deleted file mode 100644
index 994127ed6..000000000
Binary files a/public/emoji/1f41c.png and /dev/null differ
diff --git a/public/emoji/1f41c.svg b/public/emoji/1f41c.svg
index 2f90d0615..8d8d18afd 100644
--- a/public/emoji/1f41c.svg
+++ b/public/emoji/1f41c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41d.png b/public/emoji/1f41d.png
deleted file mode 100644
index 461560600..000000000
Binary files a/public/emoji/1f41d.png and /dev/null differ
diff --git a/public/emoji/1f41d.svg b/public/emoji/1f41d.svg
index eb1819b07..956227a51 100644
--- a/public/emoji/1f41d.svg
+++ b/public/emoji/1f41d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41e.png b/public/emoji/1f41e.png
deleted file mode 100644
index 3d93174d7..000000000
Binary files a/public/emoji/1f41e.png and /dev/null differ
diff --git a/public/emoji/1f41e.svg b/public/emoji/1f41e.svg
index 0cbee7332..179f097dd 100644
--- a/public/emoji/1f41e.svg
+++ b/public/emoji/1f41e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f41f.png b/public/emoji/1f41f.png
deleted file mode 100644
index c2d2faaac..000000000
Binary files a/public/emoji/1f41f.png and /dev/null differ
diff --git a/public/emoji/1f41f.svg b/public/emoji/1f41f.svg
index d4ddc1a59..4ad051562 100644
--- a/public/emoji/1f41f.svg
+++ b/public/emoji/1f41f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f420.png b/public/emoji/1f420.png
deleted file mode 100644
index 252105235..000000000
Binary files a/public/emoji/1f420.png and /dev/null differ
diff --git a/public/emoji/1f420.svg b/public/emoji/1f420.svg
index 339bfce51..0dc45ffe7 100644
--- a/public/emoji/1f420.svg
+++ b/public/emoji/1f420.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f421.png b/public/emoji/1f421.png
deleted file mode 100644
index a10f4f84e..000000000
Binary files a/public/emoji/1f421.png and /dev/null differ
diff --git a/public/emoji/1f421.svg b/public/emoji/1f421.svg
index 51e96024a..1c24b12d0 100644
--- a/public/emoji/1f421.svg
+++ b/public/emoji/1f421.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f422.png b/public/emoji/1f422.png
deleted file mode 100644
index c22f7519f..000000000
Binary files a/public/emoji/1f422.png and /dev/null differ
diff --git a/public/emoji/1f422.svg b/public/emoji/1f422.svg
index 48be9dc54..4ad52f2ee 100644
--- a/public/emoji/1f422.svg
+++ b/public/emoji/1f422.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f423.png b/public/emoji/1f423.png
deleted file mode 100644
index c5b0e8f3b..000000000
Binary files a/public/emoji/1f423.png and /dev/null differ
diff --git a/public/emoji/1f423.svg b/public/emoji/1f423.svg
index 7d8abff5f..b3635cdd0 100644
--- a/public/emoji/1f423.svg
+++ b/public/emoji/1f423.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f424.png b/public/emoji/1f424.png
deleted file mode 100644
index dccd96576..000000000
Binary files a/public/emoji/1f424.png and /dev/null differ
diff --git a/public/emoji/1f424.svg b/public/emoji/1f424.svg
index f9269d148..976679286 100644
--- a/public/emoji/1f424.svg
+++ b/public/emoji/1f424.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f425.png b/public/emoji/1f425.png
deleted file mode 100644
index 31dfb511e..000000000
Binary files a/public/emoji/1f425.png and /dev/null differ
diff --git a/public/emoji/1f425.svg b/public/emoji/1f425.svg
index fabfbf927..24dbec2aa 100644
--- a/public/emoji/1f425.svg
+++ b/public/emoji/1f425.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f426.png b/public/emoji/1f426.png
deleted file mode 100644
index e201c22be..000000000
Binary files a/public/emoji/1f426.png and /dev/null differ
diff --git a/public/emoji/1f426.svg b/public/emoji/1f426.svg
index 225d76777..2760fec59 100644
--- a/public/emoji/1f426.svg
+++ b/public/emoji/1f426.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f427.png b/public/emoji/1f427.png
deleted file mode 100644
index c0064fb97..000000000
Binary files a/public/emoji/1f427.png and /dev/null differ
diff --git a/public/emoji/1f427.svg b/public/emoji/1f427.svg
index ce85cadf2..b83882c12 100644
--- a/public/emoji/1f427.svg
+++ b/public/emoji/1f427.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f428.png b/public/emoji/1f428.png
deleted file mode 100644
index a0aa437a9..000000000
Binary files a/public/emoji/1f428.png and /dev/null differ
diff --git a/public/emoji/1f428.svg b/public/emoji/1f428.svg
index 88832b702..9a54a0d28 100644
--- a/public/emoji/1f428.svg
+++ b/public/emoji/1f428.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f429.png b/public/emoji/1f429.png
deleted file mode 100644
index 8ec39e396..000000000
Binary files a/public/emoji/1f429.png and /dev/null differ
diff --git a/public/emoji/1f429.svg b/public/emoji/1f429.svg
index 7b56afe0d..33c5b7ec0 100644
--- a/public/emoji/1f429.svg
+++ b/public/emoji/1f429.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42a.png b/public/emoji/1f42a.png
deleted file mode 100644
index 5271637c7..000000000
Binary files a/public/emoji/1f42a.png and /dev/null differ
diff --git a/public/emoji/1f42a.svg b/public/emoji/1f42a.svg
index 63e30c13a..e7f97340d 100644
--- a/public/emoji/1f42a.svg
+++ b/public/emoji/1f42a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42b.png b/public/emoji/1f42b.png
deleted file mode 100644
index b421d07a8..000000000
Binary files a/public/emoji/1f42b.png and /dev/null differ
diff --git a/public/emoji/1f42b.svg b/public/emoji/1f42b.svg
index fbd4b0e1b..a6b76e272 100644
--- a/public/emoji/1f42b.svg
+++ b/public/emoji/1f42b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42c.png b/public/emoji/1f42c.png
deleted file mode 100644
index 814348090..000000000
Binary files a/public/emoji/1f42c.png and /dev/null differ
diff --git a/public/emoji/1f42c.svg b/public/emoji/1f42c.svg
index abd84802e..dc57e89ab 100644
--- a/public/emoji/1f42c.svg
+++ b/public/emoji/1f42c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42d.png b/public/emoji/1f42d.png
deleted file mode 100644
index 50afcd326..000000000
Binary files a/public/emoji/1f42d.png and /dev/null differ
diff --git a/public/emoji/1f42d.svg b/public/emoji/1f42d.svg
index 0b215006d..60fec435e 100644
--- a/public/emoji/1f42d.svg
+++ b/public/emoji/1f42d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42e.png b/public/emoji/1f42e.png
deleted file mode 100644
index 718a3986d..000000000
Binary files a/public/emoji/1f42e.png and /dev/null differ
diff --git a/public/emoji/1f42e.svg b/public/emoji/1f42e.svg
index f6d7c9a04..a3d5d0305 100644
--- a/public/emoji/1f42e.svg
+++ b/public/emoji/1f42e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f42f.png b/public/emoji/1f42f.png
deleted file mode 100644
index a4d3ef086..000000000
Binary files a/public/emoji/1f42f.png and /dev/null differ
diff --git a/public/emoji/1f42f.svg b/public/emoji/1f42f.svg
index 834981944..934ec15ec 100644
--- a/public/emoji/1f42f.svg
+++ b/public/emoji/1f42f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f430.png b/public/emoji/1f430.png
deleted file mode 100644
index ea75ab042..000000000
Binary files a/public/emoji/1f430.png and /dev/null differ
diff --git a/public/emoji/1f430.svg b/public/emoji/1f430.svg
index ec8d17c08..4d80f7cb5 100644
--- a/public/emoji/1f430.svg
+++ b/public/emoji/1f430.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f431.png b/public/emoji/1f431.png
deleted file mode 100644
index efd82c2ab..000000000
Binary files a/public/emoji/1f431.png and /dev/null differ
diff --git a/public/emoji/1f431.svg b/public/emoji/1f431.svg
index bacd52c38..7576d6bf3 100644
--- a/public/emoji/1f431.svg
+++ b/public/emoji/1f431.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f432.png b/public/emoji/1f432.png
deleted file mode 100644
index 3c2720446..000000000
Binary files a/public/emoji/1f432.png and /dev/null differ
diff --git a/public/emoji/1f432.svg b/public/emoji/1f432.svg
index b4b366909..4f099dc73 100644
--- a/public/emoji/1f432.svg
+++ b/public/emoji/1f432.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f433.png b/public/emoji/1f433.png
deleted file mode 100644
index 9f19b4425..000000000
Binary files a/public/emoji/1f433.png and /dev/null differ
diff --git a/public/emoji/1f433.svg b/public/emoji/1f433.svg
index dc6f7f1ec..6085b4793 100644
--- a/public/emoji/1f433.svg
+++ b/public/emoji/1f433.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f434.png b/public/emoji/1f434.png
deleted file mode 100644
index 7cb1172f4..000000000
Binary files a/public/emoji/1f434.png and /dev/null differ
diff --git a/public/emoji/1f434.svg b/public/emoji/1f434.svg
index 593514930..ae0185799 100644
--- a/public/emoji/1f434.svg
+++ b/public/emoji/1f434.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f435.png b/public/emoji/1f435.png
deleted file mode 100644
index 7cab9b91a..000000000
Binary files a/public/emoji/1f435.png and /dev/null differ
diff --git a/public/emoji/1f435.svg b/public/emoji/1f435.svg
index 5e796ada8..671de74ec 100644
--- a/public/emoji/1f435.svg
+++ b/public/emoji/1f435.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f436.png b/public/emoji/1f436.png
deleted file mode 100644
index 281b81d58..000000000
Binary files a/public/emoji/1f436.png and /dev/null differ
diff --git a/public/emoji/1f436.svg b/public/emoji/1f436.svg
index b6af6c613..d30951d4e 100644
--- a/public/emoji/1f436.svg
+++ b/public/emoji/1f436.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f437.png b/public/emoji/1f437.png
deleted file mode 100644
index afe05ca16..000000000
Binary files a/public/emoji/1f437.png and /dev/null differ
diff --git a/public/emoji/1f437.svg b/public/emoji/1f437.svg
index 30d534b08..41fe6ff8a 100644
--- a/public/emoji/1f437.svg
+++ b/public/emoji/1f437.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f438.png b/public/emoji/1f438.png
deleted file mode 100644
index 8825d1ad5..000000000
Binary files a/public/emoji/1f438.png and /dev/null differ
diff --git a/public/emoji/1f438.svg b/public/emoji/1f438.svg
index a45c14aaa..4b2e5bbb8 100644
--- a/public/emoji/1f438.svg
+++ b/public/emoji/1f438.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f439.png b/public/emoji/1f439.png
deleted file mode 100644
index 9a04388e4..000000000
Binary files a/public/emoji/1f439.png and /dev/null differ
diff --git a/public/emoji/1f439.svg b/public/emoji/1f439.svg
index 4027ed9b5..a61817e29 100644
--- a/public/emoji/1f439.svg
+++ b/public/emoji/1f439.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43a.png b/public/emoji/1f43a.png
deleted file mode 100644
index ba7220f2d..000000000
Binary files a/public/emoji/1f43a.png and /dev/null differ
diff --git a/public/emoji/1f43a.svg b/public/emoji/1f43a.svg
index 7b2fd5751..5287eeea7 100644
--- a/public/emoji/1f43a.svg
+++ b/public/emoji/1f43a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43b.png b/public/emoji/1f43b.png
deleted file mode 100644
index 272d56bbb..000000000
Binary files a/public/emoji/1f43b.png and /dev/null differ
diff --git a/public/emoji/1f43b.svg b/public/emoji/1f43b.svg
index 681e20a57..5b3c33d01 100644
--- a/public/emoji/1f43b.svg
+++ b/public/emoji/1f43b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43c.png b/public/emoji/1f43c.png
deleted file mode 100644
index 978382775..000000000
Binary files a/public/emoji/1f43c.png and /dev/null differ
diff --git a/public/emoji/1f43c.svg b/public/emoji/1f43c.svg
index 247aacc06..f8964d903 100644
--- a/public/emoji/1f43c.svg
+++ b/public/emoji/1f43c.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43d.png b/public/emoji/1f43d.png
deleted file mode 100644
index 3610ae4a9..000000000
Binary files a/public/emoji/1f43d.png and /dev/null differ
diff --git a/public/emoji/1f43d.svg b/public/emoji/1f43d.svg
index 6014a8b70..57642b28a 100644
--- a/public/emoji/1f43d.svg
+++ b/public/emoji/1f43d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43e.png b/public/emoji/1f43e.png
deleted file mode 100644
index 5fe568cee..000000000
Binary files a/public/emoji/1f43e.png and /dev/null differ
diff --git a/public/emoji/1f43e.svg b/public/emoji/1f43e.svg
index c6b2b83af..846abe58e 100644
--- a/public/emoji/1f43e.svg
+++ b/public/emoji/1f43e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f43f.png b/public/emoji/1f43f.png
deleted file mode 100644
index 2aac560cb..000000000
Binary files a/public/emoji/1f43f.png and /dev/null differ
diff --git a/public/emoji/1f43f.svg b/public/emoji/1f43f.svg
index 243ee8944..1363021ee 100644
--- a/public/emoji/1f43f.svg
+++ b/public/emoji/1f43f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f440.png b/public/emoji/1f440.png
deleted file mode 100644
index 2102ada7e..000000000
Binary files a/public/emoji/1f440.png and /dev/null differ
diff --git a/public/emoji/1f440.svg b/public/emoji/1f440.svg
index 8caf9aafe..b4f59a98b 100644
--- a/public/emoji/1f440.svg
+++ b/public/emoji/1f440.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f441-1f5e8.png b/public/emoji/1f441-1f5e8.png
deleted file mode 100644
index 21bd22bbc..000000000
Binary files a/public/emoji/1f441-1f5e8.png and /dev/null differ
diff --git a/public/emoji/1f441-1f5e8.svg b/public/emoji/1f441-1f5e8.svg
deleted file mode 100644
index facc5a21a..000000000
--- a/public/emoji/1f441-1f5e8.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f441-200d-1f5e8.svg b/public/emoji/1f441-200d-1f5e8.svg
new file mode 100644
index 000000000..fd23adad7
--- /dev/null
+++ b/public/emoji/1f441-200d-1f5e8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f441.png b/public/emoji/1f441.png
deleted file mode 100644
index 9d989cdd3..000000000
Binary files a/public/emoji/1f441.png and /dev/null differ
diff --git a/public/emoji/1f441.svg b/public/emoji/1f441.svg
index 3ce3327d1..ae4257faa 100644
--- a/public/emoji/1f441.svg
+++ b/public/emoji/1f441.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442-1f3fb.png b/public/emoji/1f442-1f3fb.png
deleted file mode 100644
index d09e1e419..000000000
Binary files a/public/emoji/1f442-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f442-1f3fb.svg b/public/emoji/1f442-1f3fb.svg
index e203744ea..fcbaf7353 100644
--- a/public/emoji/1f442-1f3fb.svg
+++ b/public/emoji/1f442-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442-1f3fc.png b/public/emoji/1f442-1f3fc.png
deleted file mode 100644
index 300d60a99..000000000
Binary files a/public/emoji/1f442-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f442-1f3fc.svg b/public/emoji/1f442-1f3fc.svg
index e9b24783b..103d6aca1 100644
--- a/public/emoji/1f442-1f3fc.svg
+++ b/public/emoji/1f442-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442-1f3fd.png b/public/emoji/1f442-1f3fd.png
deleted file mode 100644
index 2a56eebe4..000000000
Binary files a/public/emoji/1f442-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f442-1f3fd.svg b/public/emoji/1f442-1f3fd.svg
index 717877f31..50708efd1 100644
--- a/public/emoji/1f442-1f3fd.svg
+++ b/public/emoji/1f442-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442-1f3fe.png b/public/emoji/1f442-1f3fe.png
deleted file mode 100644
index bd270f776..000000000
Binary files a/public/emoji/1f442-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f442-1f3fe.svg b/public/emoji/1f442-1f3fe.svg
index aaf77d80b..1099e8151 100644
--- a/public/emoji/1f442-1f3fe.svg
+++ b/public/emoji/1f442-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442-1f3ff.png b/public/emoji/1f442-1f3ff.png
deleted file mode 100644
index b96bb441d..000000000
Binary files a/public/emoji/1f442-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f442-1f3ff.svg b/public/emoji/1f442-1f3ff.svg
index c8f653bba..7e451d62b 100644
--- a/public/emoji/1f442-1f3ff.svg
+++ b/public/emoji/1f442-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f442.png b/public/emoji/1f442.png
deleted file mode 100644
index f84f9ff15..000000000
Binary files a/public/emoji/1f442.png and /dev/null differ
diff --git a/public/emoji/1f442.svg b/public/emoji/1f442.svg
index 3063df796..6af51d61d 100644
--- a/public/emoji/1f442.svg
+++ b/public/emoji/1f442.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443-1f3fb.png b/public/emoji/1f443-1f3fb.png
deleted file mode 100644
index 8008d1750..000000000
Binary files a/public/emoji/1f443-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f443-1f3fb.svg b/public/emoji/1f443-1f3fb.svg
index db943dbf4..22d8710ab 100644
--- a/public/emoji/1f443-1f3fb.svg
+++ b/public/emoji/1f443-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443-1f3fc.png b/public/emoji/1f443-1f3fc.png
deleted file mode 100644
index ac17f26e8..000000000
Binary files a/public/emoji/1f443-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f443-1f3fc.svg b/public/emoji/1f443-1f3fc.svg
index e909c446d..dc165861c 100644
--- a/public/emoji/1f443-1f3fc.svg
+++ b/public/emoji/1f443-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443-1f3fd.png b/public/emoji/1f443-1f3fd.png
deleted file mode 100644
index d8b6cbe0f..000000000
Binary files a/public/emoji/1f443-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f443-1f3fd.svg b/public/emoji/1f443-1f3fd.svg
index 61fe53769..1fb7a658b 100644
--- a/public/emoji/1f443-1f3fd.svg
+++ b/public/emoji/1f443-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443-1f3fe.png b/public/emoji/1f443-1f3fe.png
deleted file mode 100644
index 004b2631e..000000000
Binary files a/public/emoji/1f443-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f443-1f3fe.svg b/public/emoji/1f443-1f3fe.svg
index 4b9d46616..38bb79d05 100644
--- a/public/emoji/1f443-1f3fe.svg
+++ b/public/emoji/1f443-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443-1f3ff.png b/public/emoji/1f443-1f3ff.png
deleted file mode 100644
index 7b33821f6..000000000
Binary files a/public/emoji/1f443-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f443-1f3ff.svg b/public/emoji/1f443-1f3ff.svg
index a1daed04f..c3d638111 100644
--- a/public/emoji/1f443-1f3ff.svg
+++ b/public/emoji/1f443-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f443.png b/public/emoji/1f443.png
deleted file mode 100644
index 2f04ac5f9..000000000
Binary files a/public/emoji/1f443.png and /dev/null differ
diff --git a/public/emoji/1f443.svg b/public/emoji/1f443.svg
index 6f1613804..6aa7857d4 100644
--- a/public/emoji/1f443.svg
+++ b/public/emoji/1f443.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f444.png b/public/emoji/1f444.png
deleted file mode 100644
index 35f3cc200..000000000
Binary files a/public/emoji/1f444.png and /dev/null differ
diff --git a/public/emoji/1f444.svg b/public/emoji/1f444.svg
index 1bdb5440f..0d8e7cf6f 100644
--- a/public/emoji/1f444.svg
+++ b/public/emoji/1f444.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f445.png b/public/emoji/1f445.png
deleted file mode 100644
index 70ce9c122..000000000
Binary files a/public/emoji/1f445.png and /dev/null differ
diff --git a/public/emoji/1f445.svg b/public/emoji/1f445.svg
index 8a5af77fa..86d4ea200 100644
--- a/public/emoji/1f445.svg
+++ b/public/emoji/1f445.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446-1f3fb.png b/public/emoji/1f446-1f3fb.png
deleted file mode 100644
index a12a7e784..000000000
Binary files a/public/emoji/1f446-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f446-1f3fb.svg b/public/emoji/1f446-1f3fb.svg
index 0b774dd4d..d3797818f 100644
--- a/public/emoji/1f446-1f3fb.svg
+++ b/public/emoji/1f446-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446-1f3fc.png b/public/emoji/1f446-1f3fc.png
deleted file mode 100644
index cdff40cea..000000000
Binary files a/public/emoji/1f446-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f446-1f3fc.svg b/public/emoji/1f446-1f3fc.svg
index 8931e2428..478b8d097 100644
--- a/public/emoji/1f446-1f3fc.svg
+++ b/public/emoji/1f446-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446-1f3fd.png b/public/emoji/1f446-1f3fd.png
deleted file mode 100644
index a07ce9e5a..000000000
Binary files a/public/emoji/1f446-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f446-1f3fd.svg b/public/emoji/1f446-1f3fd.svg
index 1bf90d520..f3f5c4d62 100644
--- a/public/emoji/1f446-1f3fd.svg
+++ b/public/emoji/1f446-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446-1f3fe.png b/public/emoji/1f446-1f3fe.png
deleted file mode 100644
index 4f86c88ba..000000000
Binary files a/public/emoji/1f446-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f446-1f3fe.svg b/public/emoji/1f446-1f3fe.svg
index cfeb3e0a5..75943fadf 100644
--- a/public/emoji/1f446-1f3fe.svg
+++ b/public/emoji/1f446-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446-1f3ff.png b/public/emoji/1f446-1f3ff.png
deleted file mode 100644
index ed1b26c35..000000000
Binary files a/public/emoji/1f446-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f446-1f3ff.svg b/public/emoji/1f446-1f3ff.svg
index 845edc330..21289fae2 100644
--- a/public/emoji/1f446-1f3ff.svg
+++ b/public/emoji/1f446-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f446.png b/public/emoji/1f446.png
deleted file mode 100644
index bc496dfea..000000000
Binary files a/public/emoji/1f446.png and /dev/null differ
diff --git a/public/emoji/1f446.svg b/public/emoji/1f446.svg
index fc4d2b1fd..73464961d 100644
--- a/public/emoji/1f446.svg
+++ b/public/emoji/1f446.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447-1f3fb.png b/public/emoji/1f447-1f3fb.png
deleted file mode 100644
index 140f157d8..000000000
Binary files a/public/emoji/1f447-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f447-1f3fb.svg b/public/emoji/1f447-1f3fb.svg
index b6d347e66..942fadfdb 100644
--- a/public/emoji/1f447-1f3fb.svg
+++ b/public/emoji/1f447-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447-1f3fc.png b/public/emoji/1f447-1f3fc.png
deleted file mode 100644
index d518544f7..000000000
Binary files a/public/emoji/1f447-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f447-1f3fc.svg b/public/emoji/1f447-1f3fc.svg
index cd98682fb..891ba7088 100644
--- a/public/emoji/1f447-1f3fc.svg
+++ b/public/emoji/1f447-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447-1f3fd.png b/public/emoji/1f447-1f3fd.png
deleted file mode 100644
index 018b688b8..000000000
Binary files a/public/emoji/1f447-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f447-1f3fd.svg b/public/emoji/1f447-1f3fd.svg
index a63fe5741..e363bcc3c 100644
--- a/public/emoji/1f447-1f3fd.svg
+++ b/public/emoji/1f447-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447-1f3fe.png b/public/emoji/1f447-1f3fe.png
deleted file mode 100644
index 98845bf6f..000000000
Binary files a/public/emoji/1f447-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f447-1f3fe.svg b/public/emoji/1f447-1f3fe.svg
index cdb5c4a81..a61d20313 100644
--- a/public/emoji/1f447-1f3fe.svg
+++ b/public/emoji/1f447-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447-1f3ff.png b/public/emoji/1f447-1f3ff.png
deleted file mode 100644
index 9a9b039a9..000000000
Binary files a/public/emoji/1f447-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f447-1f3ff.svg b/public/emoji/1f447-1f3ff.svg
index 62fa98410..aca3691d9 100644
--- a/public/emoji/1f447-1f3ff.svg
+++ b/public/emoji/1f447-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f447.png b/public/emoji/1f447.png
deleted file mode 100644
index 00d3d13ab..000000000
Binary files a/public/emoji/1f447.png and /dev/null differ
diff --git a/public/emoji/1f447.svg b/public/emoji/1f447.svg
index 25b2490a2..9c0e52853 100644
--- a/public/emoji/1f447.svg
+++ b/public/emoji/1f447.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448-1f3fb.png b/public/emoji/1f448-1f3fb.png
deleted file mode 100644
index 88e2c3060..000000000
Binary files a/public/emoji/1f448-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f448-1f3fb.svg b/public/emoji/1f448-1f3fb.svg
index 16ef6409e..f3b7f99d3 100644
--- a/public/emoji/1f448-1f3fb.svg
+++ b/public/emoji/1f448-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448-1f3fc.png b/public/emoji/1f448-1f3fc.png
deleted file mode 100644
index d3c89d87c..000000000
Binary files a/public/emoji/1f448-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f448-1f3fc.svg b/public/emoji/1f448-1f3fc.svg
index e37282ab8..cd2a2d02b 100644
--- a/public/emoji/1f448-1f3fc.svg
+++ b/public/emoji/1f448-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448-1f3fd.png b/public/emoji/1f448-1f3fd.png
deleted file mode 100644
index b23b91673..000000000
Binary files a/public/emoji/1f448-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f448-1f3fd.svg b/public/emoji/1f448-1f3fd.svg
index 09d730d4f..b00149aaf 100644
--- a/public/emoji/1f448-1f3fd.svg
+++ b/public/emoji/1f448-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448-1f3fe.png b/public/emoji/1f448-1f3fe.png
deleted file mode 100644
index 3093f325c..000000000
Binary files a/public/emoji/1f448-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f448-1f3fe.svg b/public/emoji/1f448-1f3fe.svg
index 07f16f2e9..970dcb2ce 100644
--- a/public/emoji/1f448-1f3fe.svg
+++ b/public/emoji/1f448-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448-1f3ff.png b/public/emoji/1f448-1f3ff.png
deleted file mode 100644
index 2b4cbfa12..000000000
Binary files a/public/emoji/1f448-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f448-1f3ff.svg b/public/emoji/1f448-1f3ff.svg
index a382bfd7b..0c4851b8d 100644
--- a/public/emoji/1f448-1f3ff.svg
+++ b/public/emoji/1f448-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f448.png b/public/emoji/1f448.png
deleted file mode 100644
index 599fa2e3c..000000000
Binary files a/public/emoji/1f448.png and /dev/null differ
diff --git a/public/emoji/1f448.svg b/public/emoji/1f448.svg
index 63e25672e..800ff09aa 100644
--- a/public/emoji/1f448.svg
+++ b/public/emoji/1f448.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449-1f3fb.png b/public/emoji/1f449-1f3fb.png
deleted file mode 100644
index 4a28c6bbc..000000000
Binary files a/public/emoji/1f449-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f449-1f3fb.svg b/public/emoji/1f449-1f3fb.svg
index 150e78be9..c810f2a89 100644
--- a/public/emoji/1f449-1f3fb.svg
+++ b/public/emoji/1f449-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449-1f3fc.png b/public/emoji/1f449-1f3fc.png
deleted file mode 100644
index 7cb132317..000000000
Binary files a/public/emoji/1f449-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f449-1f3fc.svg b/public/emoji/1f449-1f3fc.svg
index d30c03fe1..049a07e34 100644
--- a/public/emoji/1f449-1f3fc.svg
+++ b/public/emoji/1f449-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449-1f3fd.png b/public/emoji/1f449-1f3fd.png
deleted file mode 100644
index 5514807d7..000000000
Binary files a/public/emoji/1f449-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f449-1f3fd.svg b/public/emoji/1f449-1f3fd.svg
index 421e7e5af..d5b62df74 100644
--- a/public/emoji/1f449-1f3fd.svg
+++ b/public/emoji/1f449-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449-1f3fe.png b/public/emoji/1f449-1f3fe.png
deleted file mode 100644
index b8541d644..000000000
Binary files a/public/emoji/1f449-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f449-1f3fe.svg b/public/emoji/1f449-1f3fe.svg
index 43db2b7b2..850a672de 100644
--- a/public/emoji/1f449-1f3fe.svg
+++ b/public/emoji/1f449-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449-1f3ff.png b/public/emoji/1f449-1f3ff.png
deleted file mode 100644
index 1b7aab07b..000000000
Binary files a/public/emoji/1f449-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f449-1f3ff.svg b/public/emoji/1f449-1f3ff.svg
index c3fde3f9d..a04f4c9e3 100644
--- a/public/emoji/1f449-1f3ff.svg
+++ b/public/emoji/1f449-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f449.png b/public/emoji/1f449.png
deleted file mode 100644
index 93a3cd34a..000000000
Binary files a/public/emoji/1f449.png and /dev/null differ
diff --git a/public/emoji/1f449.svg b/public/emoji/1f449.svg
index 815e08efb..93f79ee85 100644
--- a/public/emoji/1f449.svg
+++ b/public/emoji/1f449.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a-1f3fb.png b/public/emoji/1f44a-1f3fb.png
deleted file mode 100644
index 93c7d17fb..000000000
Binary files a/public/emoji/1f44a-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44a-1f3fb.svg b/public/emoji/1f44a-1f3fb.svg
index 6b68ade7e..f4e937b74 100644
--- a/public/emoji/1f44a-1f3fb.svg
+++ b/public/emoji/1f44a-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a-1f3fc.png b/public/emoji/1f44a-1f3fc.png
deleted file mode 100644
index c0a1af6e1..000000000
Binary files a/public/emoji/1f44a-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44a-1f3fc.svg b/public/emoji/1f44a-1f3fc.svg
index 7bb10f2fa..a24a0a105 100644
--- a/public/emoji/1f44a-1f3fc.svg
+++ b/public/emoji/1f44a-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a-1f3fd.png b/public/emoji/1f44a-1f3fd.png
deleted file mode 100644
index 1458b0212..000000000
Binary files a/public/emoji/1f44a-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44a-1f3fd.svg b/public/emoji/1f44a-1f3fd.svg
index 1543e53a8..5d0cb8ee9 100644
--- a/public/emoji/1f44a-1f3fd.svg
+++ b/public/emoji/1f44a-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a-1f3fe.png b/public/emoji/1f44a-1f3fe.png
deleted file mode 100644
index c1466bfcd..000000000
Binary files a/public/emoji/1f44a-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44a-1f3fe.svg b/public/emoji/1f44a-1f3fe.svg
index 6485deb72..dabe7559b 100644
--- a/public/emoji/1f44a-1f3fe.svg
+++ b/public/emoji/1f44a-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a-1f3ff.png b/public/emoji/1f44a-1f3ff.png
deleted file mode 100644
index 00b4ddb89..000000000
Binary files a/public/emoji/1f44a-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44a-1f3ff.svg b/public/emoji/1f44a-1f3ff.svg
index 2eded3072..e06418546 100644
--- a/public/emoji/1f44a-1f3ff.svg
+++ b/public/emoji/1f44a-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44a.png b/public/emoji/1f44a.png
deleted file mode 100644
index b14ca5f52..000000000
Binary files a/public/emoji/1f44a.png and /dev/null differ
diff --git a/public/emoji/1f44a.svg b/public/emoji/1f44a.svg
index 20b808db5..6d8336daf 100644
--- a/public/emoji/1f44a.svg
+++ b/public/emoji/1f44a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b-1f3fb.png b/public/emoji/1f44b-1f3fb.png
deleted file mode 100644
index 6b2b34b10..000000000
Binary files a/public/emoji/1f44b-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44b-1f3fb.svg b/public/emoji/1f44b-1f3fb.svg
index 981d4d474..86471187b 100644
--- a/public/emoji/1f44b-1f3fb.svg
+++ b/public/emoji/1f44b-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b-1f3fc.png b/public/emoji/1f44b-1f3fc.png
deleted file mode 100644
index b85711973..000000000
Binary files a/public/emoji/1f44b-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44b-1f3fc.svg b/public/emoji/1f44b-1f3fc.svg
index 0e3fb5f89..490e479a4 100644
--- a/public/emoji/1f44b-1f3fc.svg
+++ b/public/emoji/1f44b-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b-1f3fd.png b/public/emoji/1f44b-1f3fd.png
deleted file mode 100644
index 6283b670f..000000000
Binary files a/public/emoji/1f44b-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44b-1f3fd.svg b/public/emoji/1f44b-1f3fd.svg
index 801f13f4d..8988c6e17 100644
--- a/public/emoji/1f44b-1f3fd.svg
+++ b/public/emoji/1f44b-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b-1f3fe.png b/public/emoji/1f44b-1f3fe.png
deleted file mode 100644
index fe6b2baa7..000000000
Binary files a/public/emoji/1f44b-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44b-1f3fe.svg b/public/emoji/1f44b-1f3fe.svg
index 687ff445f..6c35abe52 100644
--- a/public/emoji/1f44b-1f3fe.svg
+++ b/public/emoji/1f44b-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b-1f3ff.png b/public/emoji/1f44b-1f3ff.png
deleted file mode 100644
index 4bd168ebb..000000000
Binary files a/public/emoji/1f44b-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44b-1f3ff.svg b/public/emoji/1f44b-1f3ff.svg
index 68636c28d..5ef6da63f 100644
--- a/public/emoji/1f44b-1f3ff.svg
+++ b/public/emoji/1f44b-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44b.png b/public/emoji/1f44b.png
deleted file mode 100644
index e0cd79b45..000000000
Binary files a/public/emoji/1f44b.png and /dev/null differ
diff --git a/public/emoji/1f44b.svg b/public/emoji/1f44b.svg
index 2118c9b43..5860e8159 100644
--- a/public/emoji/1f44b.svg
+++ b/public/emoji/1f44b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c-1f3fb.png b/public/emoji/1f44c-1f3fb.png
deleted file mode 100644
index cecf7b2ab..000000000
Binary files a/public/emoji/1f44c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44c-1f3fb.svg b/public/emoji/1f44c-1f3fb.svg
index 988b464e5..7c8564a1d 100644
--- a/public/emoji/1f44c-1f3fb.svg
+++ b/public/emoji/1f44c-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c-1f3fc.png b/public/emoji/1f44c-1f3fc.png
deleted file mode 100644
index c19239bcd..000000000
Binary files a/public/emoji/1f44c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44c-1f3fc.svg b/public/emoji/1f44c-1f3fc.svg
index c03cb353f..606e6a14a 100644
--- a/public/emoji/1f44c-1f3fc.svg
+++ b/public/emoji/1f44c-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c-1f3fd.png b/public/emoji/1f44c-1f3fd.png
deleted file mode 100644
index 94b65b03e..000000000
Binary files a/public/emoji/1f44c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44c-1f3fd.svg b/public/emoji/1f44c-1f3fd.svg
index e6d0d5475..047798834 100644
--- a/public/emoji/1f44c-1f3fd.svg
+++ b/public/emoji/1f44c-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c-1f3fe.png b/public/emoji/1f44c-1f3fe.png
deleted file mode 100644
index 03d26f08e..000000000
Binary files a/public/emoji/1f44c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44c-1f3fe.svg b/public/emoji/1f44c-1f3fe.svg
index c28d64a33..3136ab5a9 100644
--- a/public/emoji/1f44c-1f3fe.svg
+++ b/public/emoji/1f44c-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c-1f3ff.png b/public/emoji/1f44c-1f3ff.png
deleted file mode 100644
index d4b240863..000000000
Binary files a/public/emoji/1f44c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44c-1f3ff.svg b/public/emoji/1f44c-1f3ff.svg
index 6d2a3a437..6c60c5cce 100644
--- a/public/emoji/1f44c-1f3ff.svg
+++ b/public/emoji/1f44c-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44c.png b/public/emoji/1f44c.png
deleted file mode 100644
index 028d69b0d..000000000
Binary files a/public/emoji/1f44c.png and /dev/null differ
diff --git a/public/emoji/1f44c.svg b/public/emoji/1f44c.svg
index bb3a06657..3ccac8265 100644
--- a/public/emoji/1f44c.svg
+++ b/public/emoji/1f44c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d-1f3fb.png b/public/emoji/1f44d-1f3fb.png
deleted file mode 100644
index 39684cd5c..000000000
Binary files a/public/emoji/1f44d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44d-1f3fb.svg b/public/emoji/1f44d-1f3fb.svg
index c50c59f9f..f2ea302f9 100644
--- a/public/emoji/1f44d-1f3fb.svg
+++ b/public/emoji/1f44d-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d-1f3fc.png b/public/emoji/1f44d-1f3fc.png
deleted file mode 100644
index a9b597235..000000000
Binary files a/public/emoji/1f44d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44d-1f3fc.svg b/public/emoji/1f44d-1f3fc.svg
index 54d7d6a19..be40cb642 100644
--- a/public/emoji/1f44d-1f3fc.svg
+++ b/public/emoji/1f44d-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d-1f3fd.png b/public/emoji/1f44d-1f3fd.png
deleted file mode 100644
index c5e291670..000000000
Binary files a/public/emoji/1f44d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44d-1f3fd.svg b/public/emoji/1f44d-1f3fd.svg
index 1fc72ebe9..534a37fb2 100644
--- a/public/emoji/1f44d-1f3fd.svg
+++ b/public/emoji/1f44d-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d-1f3fe.png b/public/emoji/1f44d-1f3fe.png
deleted file mode 100644
index 5bf4857a8..000000000
Binary files a/public/emoji/1f44d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44d-1f3fe.svg b/public/emoji/1f44d-1f3fe.svg
index 4db4b58ef..682fed7d4 100644
--- a/public/emoji/1f44d-1f3fe.svg
+++ b/public/emoji/1f44d-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d-1f3ff.png b/public/emoji/1f44d-1f3ff.png
deleted file mode 100644
index d829f787c..000000000
Binary files a/public/emoji/1f44d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44d-1f3ff.svg b/public/emoji/1f44d-1f3ff.svg
index e64edfb13..280fed6ac 100644
--- a/public/emoji/1f44d-1f3ff.svg
+++ b/public/emoji/1f44d-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44d.png b/public/emoji/1f44d.png
deleted file mode 100644
index f9e6f13a3..000000000
Binary files a/public/emoji/1f44d.png and /dev/null differ
diff --git a/public/emoji/1f44d.svg b/public/emoji/1f44d.svg
index 100df6707..de2963f8b 100644
--- a/public/emoji/1f44d.svg
+++ b/public/emoji/1f44d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e-1f3fb.png b/public/emoji/1f44e-1f3fb.png
deleted file mode 100644
index a1631af8e..000000000
Binary files a/public/emoji/1f44e-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44e-1f3fb.svg b/public/emoji/1f44e-1f3fb.svg
index 298cda369..98af17fe3 100644
--- a/public/emoji/1f44e-1f3fb.svg
+++ b/public/emoji/1f44e-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e-1f3fc.png b/public/emoji/1f44e-1f3fc.png
deleted file mode 100644
index 85fff82d5..000000000
Binary files a/public/emoji/1f44e-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44e-1f3fc.svg b/public/emoji/1f44e-1f3fc.svg
index 79398ad09..4504b3b67 100644
--- a/public/emoji/1f44e-1f3fc.svg
+++ b/public/emoji/1f44e-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e-1f3fd.png b/public/emoji/1f44e-1f3fd.png
deleted file mode 100644
index eeba3be80..000000000
Binary files a/public/emoji/1f44e-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44e-1f3fd.svg b/public/emoji/1f44e-1f3fd.svg
index e0bf3be99..b25cfcfbc 100644
--- a/public/emoji/1f44e-1f3fd.svg
+++ b/public/emoji/1f44e-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e-1f3fe.png b/public/emoji/1f44e-1f3fe.png
deleted file mode 100644
index 1addafdae..000000000
Binary files a/public/emoji/1f44e-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44e-1f3fe.svg b/public/emoji/1f44e-1f3fe.svg
index 17fa30cea..fb26a9e6d 100644
--- a/public/emoji/1f44e-1f3fe.svg
+++ b/public/emoji/1f44e-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e-1f3ff.png b/public/emoji/1f44e-1f3ff.png
deleted file mode 100644
index 37ec07b57..000000000
Binary files a/public/emoji/1f44e-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44e-1f3ff.svg b/public/emoji/1f44e-1f3ff.svg
index c58da806f..9d064d53a 100644
--- a/public/emoji/1f44e-1f3ff.svg
+++ b/public/emoji/1f44e-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44e.png b/public/emoji/1f44e.png
deleted file mode 100644
index b63da2f20..000000000
Binary files a/public/emoji/1f44e.png and /dev/null differ
diff --git a/public/emoji/1f44e.svg b/public/emoji/1f44e.svg
index cd5ce20ee..05c5a1f97 100644
--- a/public/emoji/1f44e.svg
+++ b/public/emoji/1f44e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f-1f3fb.png b/public/emoji/1f44f-1f3fb.png
deleted file mode 100644
index de4bc837b..000000000
Binary files a/public/emoji/1f44f-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f44f-1f3fb.svg b/public/emoji/1f44f-1f3fb.svg
index 4728186ef..d11ee40be 100644
--- a/public/emoji/1f44f-1f3fb.svg
+++ b/public/emoji/1f44f-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f-1f3fc.png b/public/emoji/1f44f-1f3fc.png
deleted file mode 100644
index 1323de775..000000000
Binary files a/public/emoji/1f44f-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f44f-1f3fc.svg b/public/emoji/1f44f-1f3fc.svg
index ffb3d7e71..562ec0799 100644
--- a/public/emoji/1f44f-1f3fc.svg
+++ b/public/emoji/1f44f-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f-1f3fd.png b/public/emoji/1f44f-1f3fd.png
deleted file mode 100644
index d448ca19d..000000000
Binary files a/public/emoji/1f44f-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f44f-1f3fd.svg b/public/emoji/1f44f-1f3fd.svg
index 138e7bde1..ca3e19e1c 100644
--- a/public/emoji/1f44f-1f3fd.svg
+++ b/public/emoji/1f44f-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f-1f3fe.png b/public/emoji/1f44f-1f3fe.png
deleted file mode 100644
index c49f44ee9..000000000
Binary files a/public/emoji/1f44f-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f44f-1f3fe.svg b/public/emoji/1f44f-1f3fe.svg
index 56107c433..83b18c50e 100644
--- a/public/emoji/1f44f-1f3fe.svg
+++ b/public/emoji/1f44f-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f-1f3ff.png b/public/emoji/1f44f-1f3ff.png
deleted file mode 100644
index 29ee9bdf3..000000000
Binary files a/public/emoji/1f44f-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f44f-1f3ff.svg b/public/emoji/1f44f-1f3ff.svg
index d4361ab36..c214a9b51 100644
--- a/public/emoji/1f44f-1f3ff.svg
+++ b/public/emoji/1f44f-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f44f.png b/public/emoji/1f44f.png
deleted file mode 100644
index b0ffe9289..000000000
Binary files a/public/emoji/1f44f.png and /dev/null differ
diff --git a/public/emoji/1f44f.svg b/public/emoji/1f44f.svg
index c611e5d3b..d190887b7 100644
--- a/public/emoji/1f44f.svg
+++ b/public/emoji/1f44f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450-1f3fb.png b/public/emoji/1f450-1f3fb.png
deleted file mode 100644
index 352d2614f..000000000
Binary files a/public/emoji/1f450-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f450-1f3fb.svg b/public/emoji/1f450-1f3fb.svg
index 3da933cf3..fc3e98804 100644
--- a/public/emoji/1f450-1f3fb.svg
+++ b/public/emoji/1f450-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450-1f3fc.png b/public/emoji/1f450-1f3fc.png
deleted file mode 100644
index 70824a50c..000000000
Binary files a/public/emoji/1f450-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f450-1f3fc.svg b/public/emoji/1f450-1f3fc.svg
index 4463814f0..da95cf19a 100644
--- a/public/emoji/1f450-1f3fc.svg
+++ b/public/emoji/1f450-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450-1f3fd.png b/public/emoji/1f450-1f3fd.png
deleted file mode 100644
index d7d136bd3..000000000
Binary files a/public/emoji/1f450-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f450-1f3fd.svg b/public/emoji/1f450-1f3fd.svg
index 715fb59fc..3dfa45374 100644
--- a/public/emoji/1f450-1f3fd.svg
+++ b/public/emoji/1f450-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450-1f3fe.png b/public/emoji/1f450-1f3fe.png
deleted file mode 100644
index df4eaa711..000000000
Binary files a/public/emoji/1f450-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f450-1f3fe.svg b/public/emoji/1f450-1f3fe.svg
index d3c412ec0..f15104c53 100644
--- a/public/emoji/1f450-1f3fe.svg
+++ b/public/emoji/1f450-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450-1f3ff.png b/public/emoji/1f450-1f3ff.png
deleted file mode 100644
index 7dc04eaeb..000000000
Binary files a/public/emoji/1f450-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f450-1f3ff.svg b/public/emoji/1f450-1f3ff.svg
index d7dc9146f..888cc644e 100644
--- a/public/emoji/1f450-1f3ff.svg
+++ b/public/emoji/1f450-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f450.png b/public/emoji/1f450.png
deleted file mode 100644
index 1cf75c910..000000000
Binary files a/public/emoji/1f450.png and /dev/null differ
diff --git a/public/emoji/1f450.svg b/public/emoji/1f450.svg
index d91062650..5f4edc4c0 100644
--- a/public/emoji/1f450.svg
+++ b/public/emoji/1f450.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f451.png b/public/emoji/1f451.png
deleted file mode 100644
index 93b82d92f..000000000
Binary files a/public/emoji/1f451.png and /dev/null differ
diff --git a/public/emoji/1f451.svg b/public/emoji/1f451.svg
index ce7da0aab..c8e31dfd5 100644
--- a/public/emoji/1f451.svg
+++ b/public/emoji/1f451.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f452.png b/public/emoji/1f452.png
deleted file mode 100644
index b837b6a2e..000000000
Binary files a/public/emoji/1f452.png and /dev/null differ
diff --git a/public/emoji/1f452.svg b/public/emoji/1f452.svg
index 0ef14ae7a..19c624995 100644
--- a/public/emoji/1f452.svg
+++ b/public/emoji/1f452.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f453.png b/public/emoji/1f453.png
deleted file mode 100644
index 865d8274a..000000000
Binary files a/public/emoji/1f453.png and /dev/null differ
diff --git a/public/emoji/1f453.svg b/public/emoji/1f453.svg
index 0356c31ef..0e0451ea2 100644
--- a/public/emoji/1f453.svg
+++ b/public/emoji/1f453.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f454.png b/public/emoji/1f454.png
deleted file mode 100644
index 1804e7f3f..000000000
Binary files a/public/emoji/1f454.png and /dev/null differ
diff --git a/public/emoji/1f454.svg b/public/emoji/1f454.svg
index b72e4dc9e..de9f10fee 100644
--- a/public/emoji/1f454.svg
+++ b/public/emoji/1f454.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f455.png b/public/emoji/1f455.png
deleted file mode 100644
index af08dec8b..000000000
Binary files a/public/emoji/1f455.png and /dev/null differ
diff --git a/public/emoji/1f455.svg b/public/emoji/1f455.svg
index 33900afbb..13581c7b6 100644
--- a/public/emoji/1f455.svg
+++ b/public/emoji/1f455.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f456.png b/public/emoji/1f456.png
deleted file mode 100644
index 2a6869d67..000000000
Binary files a/public/emoji/1f456.png and /dev/null differ
diff --git a/public/emoji/1f456.svg b/public/emoji/1f456.svg
index eed2f86df..8f07c2078 100644
--- a/public/emoji/1f456.svg
+++ b/public/emoji/1f456.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f457.png b/public/emoji/1f457.png
deleted file mode 100644
index a697ca5c5..000000000
Binary files a/public/emoji/1f457.png and /dev/null differ
diff --git a/public/emoji/1f457.svg b/public/emoji/1f457.svg
index 2a20f802b..c00c84a04 100644
--- a/public/emoji/1f457.svg
+++ b/public/emoji/1f457.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f458.png b/public/emoji/1f458.png
deleted file mode 100644
index abe851115..000000000
Binary files a/public/emoji/1f458.png and /dev/null differ
diff --git a/public/emoji/1f458.svg b/public/emoji/1f458.svg
index 7f7bed9af..6917bbc77 100644
--- a/public/emoji/1f458.svg
+++ b/public/emoji/1f458.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f459.png b/public/emoji/1f459.png
deleted file mode 100644
index 77a8a0aae..000000000
Binary files a/public/emoji/1f459.png and /dev/null differ
diff --git a/public/emoji/1f459.svg b/public/emoji/1f459.svg
index e0a1ca75d..6480f8f85 100644
--- a/public/emoji/1f459.svg
+++ b/public/emoji/1f459.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45a.png b/public/emoji/1f45a.png
deleted file mode 100644
index 01410dc81..000000000
Binary files a/public/emoji/1f45a.png and /dev/null differ
diff --git a/public/emoji/1f45a.svg b/public/emoji/1f45a.svg
index 294d86ef6..4312f4ca5 100644
--- a/public/emoji/1f45a.svg
+++ b/public/emoji/1f45a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45b.png b/public/emoji/1f45b.png
deleted file mode 100644
index 981346193..000000000
Binary files a/public/emoji/1f45b.png and /dev/null differ
diff --git a/public/emoji/1f45b.svg b/public/emoji/1f45b.svg
index 2bb632f3e..615cb606c 100644
--- a/public/emoji/1f45b.svg
+++ b/public/emoji/1f45b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45c.png b/public/emoji/1f45c.png
deleted file mode 100644
index cbf75c5d2..000000000
Binary files a/public/emoji/1f45c.png and /dev/null differ
diff --git a/public/emoji/1f45c.svg b/public/emoji/1f45c.svg
index 39165931c..ffa83ff15 100644
--- a/public/emoji/1f45c.svg
+++ b/public/emoji/1f45c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45d.png b/public/emoji/1f45d.png
deleted file mode 100644
index 8795c6c66..000000000
Binary files a/public/emoji/1f45d.png and /dev/null differ
diff --git a/public/emoji/1f45d.svg b/public/emoji/1f45d.svg
index b877d3ed8..4cadb52c7 100644
--- a/public/emoji/1f45d.svg
+++ b/public/emoji/1f45d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45e.png b/public/emoji/1f45e.png
deleted file mode 100644
index 4bf754103..000000000
Binary files a/public/emoji/1f45e.png and /dev/null differ
diff --git a/public/emoji/1f45e.svg b/public/emoji/1f45e.svg
index 7dbe5d8bf..5b71d31ff 100644
--- a/public/emoji/1f45e.svg
+++ b/public/emoji/1f45e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f45f.png b/public/emoji/1f45f.png
deleted file mode 100644
index 423fa07dd..000000000
Binary files a/public/emoji/1f45f.png and /dev/null differ
diff --git a/public/emoji/1f45f.svg b/public/emoji/1f45f.svg
index a54733edc..3b94ca3ce 100644
--- a/public/emoji/1f45f.svg
+++ b/public/emoji/1f45f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f460.png b/public/emoji/1f460.png
deleted file mode 100644
index b331cbccc..000000000
Binary files a/public/emoji/1f460.png and /dev/null differ
diff --git a/public/emoji/1f460.svg b/public/emoji/1f460.svg
index 57b7e17fb..334ea75ec 100644
--- a/public/emoji/1f460.svg
+++ b/public/emoji/1f460.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f461.png b/public/emoji/1f461.png
deleted file mode 100644
index 9d9f5122b..000000000
Binary files a/public/emoji/1f461.png and /dev/null differ
diff --git a/public/emoji/1f461.svg b/public/emoji/1f461.svg
index e17e173db..4da080d37 100644
--- a/public/emoji/1f461.svg
+++ b/public/emoji/1f461.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f462.png b/public/emoji/1f462.png
deleted file mode 100644
index 11f1065ed..000000000
Binary files a/public/emoji/1f462.png and /dev/null differ
diff --git a/public/emoji/1f462.svg b/public/emoji/1f462.svg
index 72c94f379..47948a931 100644
--- a/public/emoji/1f462.svg
+++ b/public/emoji/1f462.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f463.png b/public/emoji/1f463.png
deleted file mode 100644
index b2673c5a1..000000000
Binary files a/public/emoji/1f463.png and /dev/null differ
diff --git a/public/emoji/1f463.svg b/public/emoji/1f463.svg
index 233061051..c4ee494e6 100644
--- a/public/emoji/1f463.svg
+++ b/public/emoji/1f463.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f464.png b/public/emoji/1f464.png
deleted file mode 100644
index 123b2cbe1..000000000
Binary files a/public/emoji/1f464.png and /dev/null differ
diff --git a/public/emoji/1f464.svg b/public/emoji/1f464.svg
index 9c0e92dad..515da2c57 100644
--- a/public/emoji/1f464.svg
+++ b/public/emoji/1f464.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f465.png b/public/emoji/1f465.png
deleted file mode 100644
index d7656860a..000000000
Binary files a/public/emoji/1f465.png and /dev/null differ
diff --git a/public/emoji/1f465.svg b/public/emoji/1f465.svg
index 4ca629e3d..9ac02e6dc 100644
--- a/public/emoji/1f465.svg
+++ b/public/emoji/1f465.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466-1f3fb.png b/public/emoji/1f466-1f3fb.png
deleted file mode 100644
index 2fc436ea5..000000000
Binary files a/public/emoji/1f466-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f466-1f3fb.svg b/public/emoji/1f466-1f3fb.svg
index f0c2365dd..ae20d77b5 100644
--- a/public/emoji/1f466-1f3fb.svg
+++ b/public/emoji/1f466-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466-1f3fc.png b/public/emoji/1f466-1f3fc.png
deleted file mode 100644
index 09a5f18d3..000000000
Binary files a/public/emoji/1f466-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f466-1f3fc.svg b/public/emoji/1f466-1f3fc.svg
index 296576e85..380488720 100644
--- a/public/emoji/1f466-1f3fc.svg
+++ b/public/emoji/1f466-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466-1f3fd.png b/public/emoji/1f466-1f3fd.png
deleted file mode 100644
index 3cfe675dd..000000000
Binary files a/public/emoji/1f466-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f466-1f3fd.svg b/public/emoji/1f466-1f3fd.svg
index eafb2511d..12d0d0f06 100644
--- a/public/emoji/1f466-1f3fd.svg
+++ b/public/emoji/1f466-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466-1f3fe.png b/public/emoji/1f466-1f3fe.png
deleted file mode 100644
index 780be0ace..000000000
Binary files a/public/emoji/1f466-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f466-1f3fe.svg b/public/emoji/1f466-1f3fe.svg
index 1623d305e..5c9c55d97 100644
--- a/public/emoji/1f466-1f3fe.svg
+++ b/public/emoji/1f466-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466-1f3ff.png b/public/emoji/1f466-1f3ff.png
deleted file mode 100644
index f32fe22e3..000000000
Binary files a/public/emoji/1f466-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f466-1f3ff.svg b/public/emoji/1f466-1f3ff.svg
index 051400b1c..d0e4deca1 100644
--- a/public/emoji/1f466-1f3ff.svg
+++ b/public/emoji/1f466-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f466.png b/public/emoji/1f466.png
deleted file mode 100644
index 8ecfb0a4e..000000000
Binary files a/public/emoji/1f466.png and /dev/null differ
diff --git a/public/emoji/1f466.svg b/public/emoji/1f466.svg
index 5e233fc8b..3ef0fcc58 100644
--- a/public/emoji/1f466.svg
+++ b/public/emoji/1f466.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467-1f3fb.png b/public/emoji/1f467-1f3fb.png
deleted file mode 100644
index bb667e886..000000000
Binary files a/public/emoji/1f467-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f467-1f3fb.svg b/public/emoji/1f467-1f3fb.svg
index eeb7738da..1836aaa67 100644
--- a/public/emoji/1f467-1f3fb.svg
+++ b/public/emoji/1f467-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467-1f3fc.png b/public/emoji/1f467-1f3fc.png
deleted file mode 100644
index a59ed4a3f..000000000
Binary files a/public/emoji/1f467-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f467-1f3fc.svg b/public/emoji/1f467-1f3fc.svg
index 4088b48a7..08eae438e 100644
--- a/public/emoji/1f467-1f3fc.svg
+++ b/public/emoji/1f467-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467-1f3fd.png b/public/emoji/1f467-1f3fd.png
deleted file mode 100644
index 517e7f2a7..000000000
Binary files a/public/emoji/1f467-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f467-1f3fd.svg b/public/emoji/1f467-1f3fd.svg
index 18a76f65d..477ffe9ee 100644
--- a/public/emoji/1f467-1f3fd.svg
+++ b/public/emoji/1f467-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467-1f3fe.png b/public/emoji/1f467-1f3fe.png
deleted file mode 100644
index 542d96c84..000000000
Binary files a/public/emoji/1f467-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f467-1f3fe.svg b/public/emoji/1f467-1f3fe.svg
index dbb0f5fc6..190ba2229 100644
--- a/public/emoji/1f467-1f3fe.svg
+++ b/public/emoji/1f467-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467-1f3ff.png b/public/emoji/1f467-1f3ff.png
deleted file mode 100644
index 66b7c28c2..000000000
Binary files a/public/emoji/1f467-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f467-1f3ff.svg b/public/emoji/1f467-1f3ff.svg
index 80e424ed2..8d2ca5636 100644
--- a/public/emoji/1f467-1f3ff.svg
+++ b/public/emoji/1f467-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f467.png b/public/emoji/1f467.png
deleted file mode 100644
index dc1d4d08b..000000000
Binary files a/public/emoji/1f467.png and /dev/null differ
diff --git a/public/emoji/1f467.svg b/public/emoji/1f467.svg
index 1cb7f67a6..a3bc67064 100644
--- a/public/emoji/1f467.svg
+++ b/public/emoji/1f467.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f33e.svg b/public/emoji/1f468-1f3fb-200d-1f33e.svg
new file mode 100644
index 000000000..2b4b3e2dd
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f373.svg b/public/emoji/1f468-1f3fb-200d-1f373.svg
new file mode 100644
index 000000000..80e793c79
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f393.svg b/public/emoji/1f468-1f3fb-200d-1f393.svg
new file mode 100644
index 000000000..1b9ca687a
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f3a4.svg b/public/emoji/1f468-1f3fb-200d-1f3a4.svg
new file mode 100644
index 000000000..3c51ea959
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f3a8.svg b/public/emoji/1f468-1f3fb-200d-1f3a8.svg
new file mode 100644
index 000000000..b884ed15d
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f3eb.svg b/public/emoji/1f468-1f3fb-200d-1f3eb.svg
new file mode 100644
index 000000000..e33cca230
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f3ed.svg b/public/emoji/1f468-1f3fb-200d-1f3ed.svg
new file mode 100644
index 000000000..53b9e25b4
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f4bb.svg b/public/emoji/1f468-1f3fb-200d-1f4bb.svg
new file mode 100644
index 000000000..15601f70c
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f4bc.svg b/public/emoji/1f468-1f3fb-200d-1f4bc.svg
new file mode 100644
index 000000000..f5987b48e
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f527.svg b/public/emoji/1f468-1f3fb-200d-1f527.svg
new file mode 100644
index 000000000..7b44dc173
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f52c.svg b/public/emoji/1f468-1f3fb-200d-1f52c.svg
new file mode 100644
index 000000000..f14434d22
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f680.svg b/public/emoji/1f468-1f3fb-200d-1f680.svg
new file mode 100644
index 000000000..eab6f4e66
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-1f692.svg b/public/emoji/1f468-1f3fb-200d-1f692.svg
new file mode 100644
index 000000000..e562eadee
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-2695-fe0f.svg b/public/emoji/1f468-1f3fb-200d-2695-fe0f.svg
new file mode 100644
index 000000000..73027bb86
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-2696-fe0f.svg b/public/emoji/1f468-1f3fb-200d-2696-fe0f.svg
new file mode 100644
index 000000000..9418cad31
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb-200d-2708-fe0f.svg b/public/emoji/1f468-1f3fb-200d-2708-fe0f.svg
new file mode 100644
index 000000000..119142aec
--- /dev/null
+++ b/public/emoji/1f468-1f3fb-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fb.png b/public/emoji/1f468-1f3fb.png
deleted file mode 100644
index bb86e963a..000000000
Binary files a/public/emoji/1f468-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f468-1f3fb.svg b/public/emoji/1f468-1f3fb.svg
index 9ffc40139..6c3bfe333 100644
--- a/public/emoji/1f468-1f3fb.svg
+++ b/public/emoji/1f468-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f33e.svg b/public/emoji/1f468-1f3fc-200d-1f33e.svg
new file mode 100644
index 000000000..6b9dff148
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f373.svg b/public/emoji/1f468-1f3fc-200d-1f373.svg
new file mode 100644
index 000000000..3834a6fca
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f393.svg b/public/emoji/1f468-1f3fc-200d-1f393.svg
new file mode 100644
index 000000000..4c665c307
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f3a4.svg b/public/emoji/1f468-1f3fc-200d-1f3a4.svg
new file mode 100644
index 000000000..924e63cbb
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f3a8.svg b/public/emoji/1f468-1f3fc-200d-1f3a8.svg
new file mode 100644
index 000000000..340b2c74c
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f3eb.svg b/public/emoji/1f468-1f3fc-200d-1f3eb.svg
new file mode 100644
index 000000000..891c080bc
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f3ed.svg b/public/emoji/1f468-1f3fc-200d-1f3ed.svg
new file mode 100644
index 000000000..1e65941de
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f4bb.svg b/public/emoji/1f468-1f3fc-200d-1f4bb.svg
new file mode 100644
index 000000000..916faf924
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f4bc.svg b/public/emoji/1f468-1f3fc-200d-1f4bc.svg
new file mode 100644
index 000000000..68a414590
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f527.svg b/public/emoji/1f468-1f3fc-200d-1f527.svg
new file mode 100644
index 000000000..6ce9580f8
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f52c.svg b/public/emoji/1f468-1f3fc-200d-1f52c.svg
new file mode 100644
index 000000000..054ab0096
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f680.svg b/public/emoji/1f468-1f3fc-200d-1f680.svg
new file mode 100644
index 000000000..523fe1c98
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-1f692.svg b/public/emoji/1f468-1f3fc-200d-1f692.svg
new file mode 100644
index 000000000..4f05f832f
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-2695-fe0f.svg b/public/emoji/1f468-1f3fc-200d-2695-fe0f.svg
new file mode 100644
index 000000000..16625d457
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-2696-fe0f.svg b/public/emoji/1f468-1f3fc-200d-2696-fe0f.svg
new file mode 100644
index 000000000..f2d87d2d7
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc-200d-2708-fe0f.svg b/public/emoji/1f468-1f3fc-200d-2708-fe0f.svg
new file mode 100644
index 000000000..e2496e389
--- /dev/null
+++ b/public/emoji/1f468-1f3fc-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fc.png b/public/emoji/1f468-1f3fc.png
deleted file mode 100644
index fdeeaff46..000000000
Binary files a/public/emoji/1f468-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f468-1f3fc.svg b/public/emoji/1f468-1f3fc.svg
index e0e8d5fd3..19a37a432 100644
--- a/public/emoji/1f468-1f3fc.svg
+++ b/public/emoji/1f468-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f33e.svg b/public/emoji/1f468-1f3fd-200d-1f33e.svg
new file mode 100644
index 000000000..9eb258598
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f373.svg b/public/emoji/1f468-1f3fd-200d-1f373.svg
new file mode 100644
index 000000000..5e723978b
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f393.svg b/public/emoji/1f468-1f3fd-200d-1f393.svg
new file mode 100644
index 000000000..15aa6ce23
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f3a4.svg b/public/emoji/1f468-1f3fd-200d-1f3a4.svg
new file mode 100644
index 000000000..9fec65130
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f3a8.svg b/public/emoji/1f468-1f3fd-200d-1f3a8.svg
new file mode 100644
index 000000000..979e5bc52
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f3eb.svg b/public/emoji/1f468-1f3fd-200d-1f3eb.svg
new file mode 100644
index 000000000..0ccca9bde
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f3ed.svg b/public/emoji/1f468-1f3fd-200d-1f3ed.svg
new file mode 100644
index 000000000..b8d6cacae
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f4bb.svg b/public/emoji/1f468-1f3fd-200d-1f4bb.svg
new file mode 100644
index 000000000..d26aa9ae2
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f4bc.svg b/public/emoji/1f468-1f3fd-200d-1f4bc.svg
new file mode 100644
index 000000000..3f59dbcbf
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f527.svg b/public/emoji/1f468-1f3fd-200d-1f527.svg
new file mode 100644
index 000000000..06b41a20c
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f52c.svg b/public/emoji/1f468-1f3fd-200d-1f52c.svg
new file mode 100644
index 000000000..98f161a81
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f680.svg b/public/emoji/1f468-1f3fd-200d-1f680.svg
new file mode 100644
index 000000000..fd0843423
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-1f692.svg b/public/emoji/1f468-1f3fd-200d-1f692.svg
new file mode 100644
index 000000000..5d9619e15
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-2695-fe0f.svg b/public/emoji/1f468-1f3fd-200d-2695-fe0f.svg
new file mode 100644
index 000000000..4a53e82bd
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-2696-fe0f.svg b/public/emoji/1f468-1f3fd-200d-2696-fe0f.svg
new file mode 100644
index 000000000..7815ddb92
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd-200d-2708-fe0f.svg b/public/emoji/1f468-1f3fd-200d-2708-fe0f.svg
new file mode 100644
index 000000000..caf7f3dfd
--- /dev/null
+++ b/public/emoji/1f468-1f3fd-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fd.png b/public/emoji/1f468-1f3fd.png
deleted file mode 100644
index 7ae0b5df9..000000000
Binary files a/public/emoji/1f468-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f468-1f3fd.svg b/public/emoji/1f468-1f3fd.svg
index 4fc71c6d8..42f34b8b0 100644
--- a/public/emoji/1f468-1f3fd.svg
+++ b/public/emoji/1f468-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f33e.svg b/public/emoji/1f468-1f3fe-200d-1f33e.svg
new file mode 100644
index 000000000..96a2bf5bf
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f373.svg b/public/emoji/1f468-1f3fe-200d-1f373.svg
new file mode 100644
index 000000000..e608c4e26
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f393.svg b/public/emoji/1f468-1f3fe-200d-1f393.svg
new file mode 100644
index 000000000..da6f2b100
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f3a4.svg b/public/emoji/1f468-1f3fe-200d-1f3a4.svg
new file mode 100644
index 000000000..4eb5cd9c5
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f3a8.svg b/public/emoji/1f468-1f3fe-200d-1f3a8.svg
new file mode 100644
index 000000000..d01f1b275
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f3eb.svg b/public/emoji/1f468-1f3fe-200d-1f3eb.svg
new file mode 100644
index 000000000..ae70e8a4a
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f3ed.svg b/public/emoji/1f468-1f3fe-200d-1f3ed.svg
new file mode 100644
index 000000000..1663a9c95
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f4bb.svg b/public/emoji/1f468-1f3fe-200d-1f4bb.svg
new file mode 100644
index 000000000..7bcc7ecf4
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f4bc.svg b/public/emoji/1f468-1f3fe-200d-1f4bc.svg
new file mode 100644
index 000000000..094ce5d7e
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f527.svg b/public/emoji/1f468-1f3fe-200d-1f527.svg
new file mode 100644
index 000000000..176da65b1
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f52c.svg b/public/emoji/1f468-1f3fe-200d-1f52c.svg
new file mode 100644
index 000000000..ef4187208
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f680.svg b/public/emoji/1f468-1f3fe-200d-1f680.svg
new file mode 100644
index 000000000..56fc2b18b
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-1f692.svg b/public/emoji/1f468-1f3fe-200d-1f692.svg
new file mode 100644
index 000000000..0408f4d35
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-2695-fe0f.svg b/public/emoji/1f468-1f3fe-200d-2695-fe0f.svg
new file mode 100644
index 000000000..385369bf5
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-2696-fe0f.svg b/public/emoji/1f468-1f3fe-200d-2696-fe0f.svg
new file mode 100644
index 000000000..ceb83559f
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe-200d-2708-fe0f.svg b/public/emoji/1f468-1f3fe-200d-2708-fe0f.svg
new file mode 100644
index 000000000..799fd409b
--- /dev/null
+++ b/public/emoji/1f468-1f3fe-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3fe.png b/public/emoji/1f468-1f3fe.png
deleted file mode 100644
index db14cde99..000000000
Binary files a/public/emoji/1f468-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f468-1f3fe.svg b/public/emoji/1f468-1f3fe.svg
index 9dc4c6df7..62054625a 100644
--- a/public/emoji/1f468-1f3fe.svg
+++ b/public/emoji/1f468-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f33e.svg b/public/emoji/1f468-1f3ff-200d-1f33e.svg
new file mode 100644
index 000000000..e5edce814
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f373.svg b/public/emoji/1f468-1f3ff-200d-1f373.svg
new file mode 100644
index 000000000..30eba86ed
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f393.svg b/public/emoji/1f468-1f3ff-200d-1f393.svg
new file mode 100644
index 000000000..7d5672e85
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f3a4.svg b/public/emoji/1f468-1f3ff-200d-1f3a4.svg
new file mode 100644
index 000000000..28d5059ed
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f3a8.svg b/public/emoji/1f468-1f3ff-200d-1f3a8.svg
new file mode 100644
index 000000000..e63e974c6
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f3eb.svg b/public/emoji/1f468-1f3ff-200d-1f3eb.svg
new file mode 100644
index 000000000..2565b202f
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f3ed.svg b/public/emoji/1f468-1f3ff-200d-1f3ed.svg
new file mode 100644
index 000000000..a3de0981d
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f4bb.svg b/public/emoji/1f468-1f3ff-200d-1f4bb.svg
new file mode 100644
index 000000000..401bfb9eb
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f4bc.svg b/public/emoji/1f468-1f3ff-200d-1f4bc.svg
new file mode 100644
index 000000000..6e48ee353
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f527.svg b/public/emoji/1f468-1f3ff-200d-1f527.svg
new file mode 100644
index 000000000..b188a3d21
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f52c.svg b/public/emoji/1f468-1f3ff-200d-1f52c.svg
new file mode 100644
index 000000000..e0eccb44b
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f680.svg b/public/emoji/1f468-1f3ff-200d-1f680.svg
new file mode 100644
index 000000000..21f0babef
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-1f692.svg b/public/emoji/1f468-1f3ff-200d-1f692.svg
new file mode 100644
index 000000000..e99af4b65
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-2695-fe0f.svg b/public/emoji/1f468-1f3ff-200d-2695-fe0f.svg
new file mode 100644
index 000000000..515da8684
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-2696-fe0f.svg b/public/emoji/1f468-1f3ff-200d-2696-fe0f.svg
new file mode 100644
index 000000000..96f7b0b85
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff-200d-2708-fe0f.svg b/public/emoji/1f468-1f3ff-200d-2708-fe0f.svg
new file mode 100644
index 000000000..713423a78
--- /dev/null
+++ b/public/emoji/1f468-1f3ff-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-1f3ff.png b/public/emoji/1f468-1f3ff.png
deleted file mode 100644
index 7c67a7052..000000000
Binary files a/public/emoji/1f468-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f468-1f3ff.svg b/public/emoji/1f468-1f3ff.svg
index fab2b4349..f8f629a42 100644
--- a/public/emoji/1f468-1f3ff.svg
+++ b/public/emoji/1f468-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f468-1f468-1f466-1f466.png b/public/emoji/1f468-1f468-1f466-1f466.png
deleted file mode 100644
index 81e6c0fc0..000000000
Binary files a/public/emoji/1f468-1f468-1f466-1f466.png and /dev/null differ
diff --git a/public/emoji/1f468-1f468-1f466-1f466.svg b/public/emoji/1f468-1f468-1f466-1f466.svg
deleted file mode 100644
index 5c348147b..000000000
--- a/public/emoji/1f468-1f468-1f466-1f466.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f468-1f466.png b/public/emoji/1f468-1f468-1f466.png
deleted file mode 100644
index 7a2e4e2c4..000000000
Binary files a/public/emoji/1f468-1f468-1f466.png and /dev/null differ
diff --git a/public/emoji/1f468-1f468-1f466.svg b/public/emoji/1f468-1f468-1f466.svg
deleted file mode 100644
index 7f5946500..000000000
--- a/public/emoji/1f468-1f468-1f466.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f468-1f467-1f466.png b/public/emoji/1f468-1f468-1f467-1f466.png
deleted file mode 100644
index 41e351666..000000000
Binary files a/public/emoji/1f468-1f468-1f467-1f466.png and /dev/null differ
diff --git a/public/emoji/1f468-1f468-1f467-1f466.svg b/public/emoji/1f468-1f468-1f467-1f466.svg
deleted file mode 100644
index 555c8bd84..000000000
--- a/public/emoji/1f468-1f468-1f467-1f466.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f468-1f467-1f467.png b/public/emoji/1f468-1f468-1f467-1f467.png
deleted file mode 100644
index 8e8ccfe6c..000000000
Binary files a/public/emoji/1f468-1f468-1f467-1f467.png and /dev/null differ
diff --git a/public/emoji/1f468-1f468-1f467-1f467.svg b/public/emoji/1f468-1f468-1f467-1f467.svg
deleted file mode 100644
index 1e35ca4eb..000000000
--- a/public/emoji/1f468-1f468-1f467-1f467.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f468-1f467.png b/public/emoji/1f468-1f468-1f467.png
deleted file mode 100644
index 932a85e1f..000000000
Binary files a/public/emoji/1f468-1f468-1f467.png and /dev/null differ
diff --git a/public/emoji/1f468-1f468-1f467.svg b/public/emoji/1f468-1f468-1f467.svg
deleted file mode 100644
index 6dfa7e98e..000000000
--- a/public/emoji/1f468-1f468-1f467.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f469-1f466-1f466.png b/public/emoji/1f468-1f469-1f466-1f466.png
deleted file mode 100644
index b544fbe57..000000000
Binary files a/public/emoji/1f468-1f469-1f466-1f466.png and /dev/null differ
diff --git a/public/emoji/1f468-1f469-1f466-1f466.svg b/public/emoji/1f468-1f469-1f466-1f466.svg
deleted file mode 100644
index f877a886c..000000000
--- a/public/emoji/1f468-1f469-1f466-1f466.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f469-1f467-1f466.png b/public/emoji/1f468-1f469-1f467-1f466.png
deleted file mode 100644
index 40dbf1f7a..000000000
Binary files a/public/emoji/1f468-1f469-1f467-1f466.png and /dev/null differ
diff --git a/public/emoji/1f468-1f469-1f467-1f466.svg b/public/emoji/1f468-1f469-1f467-1f466.svg
deleted file mode 100644
index 0ab0a6b2b..000000000
--- a/public/emoji/1f468-1f469-1f467-1f466.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f469-1f467-1f467.png b/public/emoji/1f468-1f469-1f467-1f467.png
deleted file mode 100644
index bfefa4879..000000000
Binary files a/public/emoji/1f468-1f469-1f467-1f467.png and /dev/null differ
diff --git a/public/emoji/1f468-1f469-1f467-1f467.svg b/public/emoji/1f468-1f469-1f467-1f467.svg
deleted file mode 100644
index ca1285f9b..000000000
--- a/public/emoji/1f468-1f469-1f467-1f467.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-1f469-1f467.png b/public/emoji/1f468-1f469-1f467.png
deleted file mode 100644
index 71d2681c3..000000000
Binary files a/public/emoji/1f468-1f469-1f467.png and /dev/null differ
diff --git a/public/emoji/1f468-1f469-1f467.svg b/public/emoji/1f468-1f469-1f467.svg
deleted file mode 100644
index 0afec9c1b..000000000
--- a/public/emoji/1f468-1f469-1f467.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-200d-1f33e.svg b/public/emoji/1f468-200d-1f33e.svg
new file mode 100644
index 000000000..315a53f07
--- /dev/null
+++ b/public/emoji/1f468-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f373.svg b/public/emoji/1f468-200d-1f373.svg
new file mode 100644
index 000000000..e999b5493
--- /dev/null
+++ b/public/emoji/1f468-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f393.svg b/public/emoji/1f468-200d-1f393.svg
new file mode 100644
index 000000000..701bc5f3a
--- /dev/null
+++ b/public/emoji/1f468-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f3a4.svg b/public/emoji/1f468-200d-1f3a4.svg
new file mode 100644
index 000000000..48bbd13e8
--- /dev/null
+++ b/public/emoji/1f468-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f3a8.svg b/public/emoji/1f468-200d-1f3a8.svg
new file mode 100644
index 000000000..861521d27
--- /dev/null
+++ b/public/emoji/1f468-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f3eb.svg b/public/emoji/1f468-200d-1f3eb.svg
new file mode 100644
index 000000000..ff49105fc
--- /dev/null
+++ b/public/emoji/1f468-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f3ed.svg b/public/emoji/1f468-200d-1f3ed.svg
new file mode 100644
index 000000000..178acc73a
--- /dev/null
+++ b/public/emoji/1f468-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f466-200d-1f466.svg b/public/emoji/1f468-200d-1f466-200d-1f466.svg
new file mode 100644
index 000000000..8edd3a9c5
--- /dev/null
+++ b/public/emoji/1f468-200d-1f466-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f466.svg b/public/emoji/1f468-200d-1f466.svg
new file mode 100644
index 000000000..6ef28200c
--- /dev/null
+++ b/public/emoji/1f468-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f467-200d-1f466.svg b/public/emoji/1f468-200d-1f467-200d-1f466.svg
new file mode 100644
index 000000000..a12e1379f
--- /dev/null
+++ b/public/emoji/1f468-200d-1f467-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f467-200d-1f467.svg b/public/emoji/1f468-200d-1f467-200d-1f467.svg
new file mode 100644
index 000000000..b9b029f59
--- /dev/null
+++ b/public/emoji/1f468-200d-1f467-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f467.svg b/public/emoji/1f468-200d-1f467.svg
new file mode 100644
index 000000000..9b0ded754
--- /dev/null
+++ b/public/emoji/1f468-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg b/public/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg
new file mode 100644
index 000000000..621d66ec9
--- /dev/null
+++ b/public/emoji/1f468-200d-1f468-200d-1f466-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f468-200d-1f466.svg b/public/emoji/1f468-200d-1f468-200d-1f466.svg
new file mode 100644
index 000000000..b44243a48
--- /dev/null
+++ b/public/emoji/1f468-200d-1f468-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg b/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg
new file mode 100644
index 000000000..613d824d3
--- /dev/null
+++ b/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg b/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg
new file mode 100644
index 000000000..8dcf9c634
--- /dev/null
+++ b/public/emoji/1f468-200d-1f468-200d-1f467-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f468-200d-1f467.svg b/public/emoji/1f468-200d-1f468-200d-1f467.svg
new file mode 100644
index 000000000..f5395db98
--- /dev/null
+++ b/public/emoji/1f468-200d-1f468-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg b/public/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg
new file mode 100644
index 000000000..4146ccc4f
--- /dev/null
+++ b/public/emoji/1f468-200d-1f469-200d-1f466-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f469-200d-1f466.svg b/public/emoji/1f468-200d-1f469-200d-1f466.svg
new file mode 100644
index 000000000..ce5ccdd20
--- /dev/null
+++ b/public/emoji/1f468-200d-1f469-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg b/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg
new file mode 100644
index 000000000..de683b256
--- /dev/null
+++ b/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg b/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg
new file mode 100644
index 000000000..bbc2e5b40
--- /dev/null
+++ b/public/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f469-200d-1f467.svg b/public/emoji/1f468-200d-1f469-200d-1f467.svg
new file mode 100644
index 000000000..6eecb56bb
--- /dev/null
+++ b/public/emoji/1f468-200d-1f469-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f4bb.svg b/public/emoji/1f468-200d-1f4bb.svg
new file mode 100644
index 000000000..d5721aa9c
--- /dev/null
+++ b/public/emoji/1f468-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f4bc.svg b/public/emoji/1f468-200d-1f4bc.svg
new file mode 100644
index 000000000..62b3870a9
--- /dev/null
+++ b/public/emoji/1f468-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f527.svg b/public/emoji/1f468-200d-1f527.svg
new file mode 100644
index 000000000..22e44a25b
--- /dev/null
+++ b/public/emoji/1f468-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f52c.svg b/public/emoji/1f468-200d-1f52c.svg
new file mode 100644
index 000000000..084d54a68
--- /dev/null
+++ b/public/emoji/1f468-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f680.svg b/public/emoji/1f468-200d-1f680.svg
new file mode 100644
index 000000000..5a5e3c84b
--- /dev/null
+++ b/public/emoji/1f468-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-1f692.svg b/public/emoji/1f468-200d-1f692.svg
new file mode 100644
index 000000000..134d97722
--- /dev/null
+++ b/public/emoji/1f468-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-2695-fe0f.svg b/public/emoji/1f468-200d-2695-fe0f.svg
new file mode 100644
index 000000000..4c83450a2
--- /dev/null
+++ b/public/emoji/1f468-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-2696-fe0f.svg b/public/emoji/1f468-200d-2696-fe0f.svg
new file mode 100644
index 000000000..01dc234b6
--- /dev/null
+++ b/public/emoji/1f468-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-2708-fe0f.svg b/public/emoji/1f468-200d-2708-fe0f.svg
new file mode 100644
index 000000000..e787f8275
--- /dev/null
+++ b/public/emoji/1f468-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-2764-fe0f-200d-1f468.svg b/public/emoji/1f468-200d-2764-fe0f-200d-1f468.svg
new file mode 100644
index 000000000..42220fc2e
--- /dev/null
+++ b/public/emoji/1f468-200d-2764-fe0f-200d-1f468.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/public/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
new file mode 100644
index 000000000..0a0955d14
--- /dev/null
+++ b/public/emoji/1f468-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f468-2764-1f468.png b/public/emoji/1f468-2764-1f468.png
deleted file mode 100644
index 8759fa5db..000000000
Binary files a/public/emoji/1f468-2764-1f468.png and /dev/null differ
diff --git a/public/emoji/1f468-2764-1f468.svg b/public/emoji/1f468-2764-1f468.svg
deleted file mode 100644
index 727c3fc94..000000000
--- a/public/emoji/1f468-2764-1f468.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468-2764-1f48b-1f468.png b/public/emoji/1f468-2764-1f48b-1f468.png
deleted file mode 100644
index a9a0edae1..000000000
Binary files a/public/emoji/1f468-2764-1f48b-1f468.png and /dev/null differ
diff --git a/public/emoji/1f468-2764-1f48b-1f468.svg b/public/emoji/1f468-2764-1f48b-1f468.svg
deleted file mode 100644
index 5e8450682..000000000
--- a/public/emoji/1f468-2764-1f48b-1f468.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f468.png b/public/emoji/1f468.png
deleted file mode 100644
index 857a02e51..000000000
Binary files a/public/emoji/1f468.png and /dev/null differ
diff --git a/public/emoji/1f468.svg b/public/emoji/1f468.svg
index 0f27a2836..914813193 100644
--- a/public/emoji/1f468.svg
+++ b/public/emoji/1f468.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f33e.svg b/public/emoji/1f469-1f3fb-200d-1f33e.svg
new file mode 100644
index 000000000..a393ab23e
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f373.svg b/public/emoji/1f469-1f3fb-200d-1f373.svg
new file mode 100644
index 000000000..49513c95f
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f393.svg b/public/emoji/1f469-1f3fb-200d-1f393.svg
new file mode 100644
index 000000000..15b126167
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f3a4.svg b/public/emoji/1f469-1f3fb-200d-1f3a4.svg
new file mode 100644
index 000000000..a0648002f
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f3a8.svg b/public/emoji/1f469-1f3fb-200d-1f3a8.svg
new file mode 100644
index 000000000..ab5179434
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f3eb.svg b/public/emoji/1f469-1f3fb-200d-1f3eb.svg
new file mode 100644
index 000000000..68f3a9e4e
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f3ed.svg b/public/emoji/1f469-1f3fb-200d-1f3ed.svg
new file mode 100644
index 000000000..3586f5448
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f4bb.svg b/public/emoji/1f469-1f3fb-200d-1f4bb.svg
new file mode 100644
index 000000000..01efc523f
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f4bc.svg b/public/emoji/1f469-1f3fb-200d-1f4bc.svg
new file mode 100644
index 000000000..60bf35290
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f527.svg b/public/emoji/1f469-1f3fb-200d-1f527.svg
new file mode 100644
index 000000000..db0ba00c2
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f52c.svg b/public/emoji/1f469-1f3fb-200d-1f52c.svg
new file mode 100644
index 000000000..95fbcb49b
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f680.svg b/public/emoji/1f469-1f3fb-200d-1f680.svg
new file mode 100644
index 000000000..5913cc9b6
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-1f692.svg b/public/emoji/1f469-1f3fb-200d-1f692.svg
new file mode 100644
index 000000000..c3442f955
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-2695-fe0f.svg b/public/emoji/1f469-1f3fb-200d-2695-fe0f.svg
new file mode 100644
index 000000000..1873ac8c3
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-2696-fe0f.svg b/public/emoji/1f469-1f3fb-200d-2696-fe0f.svg
new file mode 100644
index 000000000..92cf6553e
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb-200d-2708-fe0f.svg b/public/emoji/1f469-1f3fb-200d-2708-fe0f.svg
new file mode 100644
index 000000000..3d9d0ceca
--- /dev/null
+++ b/public/emoji/1f469-1f3fb-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fb.png b/public/emoji/1f469-1f3fb.png
deleted file mode 100644
index ff089b888..000000000
Binary files a/public/emoji/1f469-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f469-1f3fb.svg b/public/emoji/1f469-1f3fb.svg
index 62b4b6322..7866eff41 100644
--- a/public/emoji/1f469-1f3fb.svg
+++ b/public/emoji/1f469-1f3fb.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f33e.svg b/public/emoji/1f469-1f3fc-200d-1f33e.svg
new file mode 100644
index 000000000..442deaec1
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f373.svg b/public/emoji/1f469-1f3fc-200d-1f373.svg
new file mode 100644
index 000000000..a4161eaca
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f393.svg b/public/emoji/1f469-1f3fc-200d-1f393.svg
new file mode 100644
index 000000000..5aa6c0ec0
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f3a4.svg b/public/emoji/1f469-1f3fc-200d-1f3a4.svg
new file mode 100644
index 000000000..9f26f9fda
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f3a8.svg b/public/emoji/1f469-1f3fc-200d-1f3a8.svg
new file mode 100644
index 000000000..11017c800
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f3eb.svg b/public/emoji/1f469-1f3fc-200d-1f3eb.svg
new file mode 100644
index 000000000..e0f456b98
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f3ed.svg b/public/emoji/1f469-1f3fc-200d-1f3ed.svg
new file mode 100644
index 000000000..0cef02e69
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f4bb.svg b/public/emoji/1f469-1f3fc-200d-1f4bb.svg
new file mode 100644
index 000000000..37c0eb59c
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f4bc.svg b/public/emoji/1f469-1f3fc-200d-1f4bc.svg
new file mode 100644
index 000000000..3daf9c47b
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f527.svg b/public/emoji/1f469-1f3fc-200d-1f527.svg
new file mode 100644
index 000000000..3b6fc5c20
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f52c.svg b/public/emoji/1f469-1f3fc-200d-1f52c.svg
new file mode 100644
index 000000000..47d03225a
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f680.svg b/public/emoji/1f469-1f3fc-200d-1f680.svg
new file mode 100644
index 000000000..11378acae
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-1f692.svg b/public/emoji/1f469-1f3fc-200d-1f692.svg
new file mode 100644
index 000000000..35e271ba4
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-2695-fe0f.svg b/public/emoji/1f469-1f3fc-200d-2695-fe0f.svg
new file mode 100644
index 000000000..dabd93e1d
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-2696-fe0f.svg b/public/emoji/1f469-1f3fc-200d-2696-fe0f.svg
new file mode 100644
index 000000000..f0a3ea40c
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc-200d-2708-fe0f.svg b/public/emoji/1f469-1f3fc-200d-2708-fe0f.svg
new file mode 100644
index 000000000..81c041eeb
--- /dev/null
+++ b/public/emoji/1f469-1f3fc-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fc.png b/public/emoji/1f469-1f3fc.png
deleted file mode 100644
index 0719c3780..000000000
Binary files a/public/emoji/1f469-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f469-1f3fc.svg b/public/emoji/1f469-1f3fc.svg
index 2556b3a2d..8328828e1 100644
--- a/public/emoji/1f469-1f3fc.svg
+++ b/public/emoji/1f469-1f3fc.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f33e.svg b/public/emoji/1f469-1f3fd-200d-1f33e.svg
new file mode 100644
index 000000000..31787ece2
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f373.svg b/public/emoji/1f469-1f3fd-200d-1f373.svg
new file mode 100644
index 000000000..9abc40896
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f393.svg b/public/emoji/1f469-1f3fd-200d-1f393.svg
new file mode 100644
index 000000000..25fd3caaa
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f3a4.svg b/public/emoji/1f469-1f3fd-200d-1f3a4.svg
new file mode 100644
index 000000000..ad6deb4d0
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f3a8.svg b/public/emoji/1f469-1f3fd-200d-1f3a8.svg
new file mode 100644
index 000000000..c6233010e
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f3eb.svg b/public/emoji/1f469-1f3fd-200d-1f3eb.svg
new file mode 100644
index 000000000..d059eb64a
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f3ed.svg b/public/emoji/1f469-1f3fd-200d-1f3ed.svg
new file mode 100644
index 000000000..d242300ab
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f4bb.svg b/public/emoji/1f469-1f3fd-200d-1f4bb.svg
new file mode 100644
index 000000000..3f16d298a
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f4bc.svg b/public/emoji/1f469-1f3fd-200d-1f4bc.svg
new file mode 100644
index 000000000..b9cb8782d
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f527.svg b/public/emoji/1f469-1f3fd-200d-1f527.svg
new file mode 100644
index 000000000..01b65f1e1
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f52c.svg b/public/emoji/1f469-1f3fd-200d-1f52c.svg
new file mode 100644
index 000000000..89158a233
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f680.svg b/public/emoji/1f469-1f3fd-200d-1f680.svg
new file mode 100644
index 000000000..df8627aac
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-1f692.svg b/public/emoji/1f469-1f3fd-200d-1f692.svg
new file mode 100644
index 000000000..bbc2e7cad
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-2695-fe0f.svg b/public/emoji/1f469-1f3fd-200d-2695-fe0f.svg
new file mode 100644
index 000000000..5c96c15c3
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-2696-fe0f.svg b/public/emoji/1f469-1f3fd-200d-2696-fe0f.svg
new file mode 100644
index 000000000..5c34de7b8
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd-200d-2708-fe0f.svg b/public/emoji/1f469-1f3fd-200d-2708-fe0f.svg
new file mode 100644
index 000000000..e149723f0
--- /dev/null
+++ b/public/emoji/1f469-1f3fd-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fd.png b/public/emoji/1f469-1f3fd.png
deleted file mode 100644
index 5672e2fd5..000000000
Binary files a/public/emoji/1f469-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f469-1f3fd.svg b/public/emoji/1f469-1f3fd.svg
index c02698566..0c25028ae 100644
--- a/public/emoji/1f469-1f3fd.svg
+++ b/public/emoji/1f469-1f3fd.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f33e.svg b/public/emoji/1f469-1f3fe-200d-1f33e.svg
new file mode 100644
index 000000000..ee03115ff
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f373.svg b/public/emoji/1f469-1f3fe-200d-1f373.svg
new file mode 100644
index 000000000..ca0215f9c
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f393.svg b/public/emoji/1f469-1f3fe-200d-1f393.svg
new file mode 100644
index 000000000..2998bbc9b
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f3a4.svg b/public/emoji/1f469-1f3fe-200d-1f3a4.svg
new file mode 100644
index 000000000..f1d48b1d8
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f3a8.svg b/public/emoji/1f469-1f3fe-200d-1f3a8.svg
new file mode 100644
index 000000000..5e7049c80
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f3eb.svg b/public/emoji/1f469-1f3fe-200d-1f3eb.svg
new file mode 100644
index 000000000..70e1044b0
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f3ed.svg b/public/emoji/1f469-1f3fe-200d-1f3ed.svg
new file mode 100644
index 000000000..a8a3c3479
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f4bb.svg b/public/emoji/1f469-1f3fe-200d-1f4bb.svg
new file mode 100644
index 000000000..51fb3f47d
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f4bc.svg b/public/emoji/1f469-1f3fe-200d-1f4bc.svg
new file mode 100644
index 000000000..61aef5724
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f527.svg b/public/emoji/1f469-1f3fe-200d-1f527.svg
new file mode 100644
index 000000000..fe47e22fa
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f52c.svg b/public/emoji/1f469-1f3fe-200d-1f52c.svg
new file mode 100644
index 000000000..ba7c0e68d
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f680.svg b/public/emoji/1f469-1f3fe-200d-1f680.svg
new file mode 100644
index 000000000..e2734a355
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-1f692.svg b/public/emoji/1f469-1f3fe-200d-1f692.svg
new file mode 100644
index 000000000..6ad50f740
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-2695-fe0f.svg b/public/emoji/1f469-1f3fe-200d-2695-fe0f.svg
new file mode 100644
index 000000000..1f1492f76
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-2696-fe0f.svg b/public/emoji/1f469-1f3fe-200d-2696-fe0f.svg
new file mode 100644
index 000000000..021c28723
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe-200d-2708-fe0f.svg b/public/emoji/1f469-1f3fe-200d-2708-fe0f.svg
new file mode 100644
index 000000000..c82832cb5
--- /dev/null
+++ b/public/emoji/1f469-1f3fe-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3fe.png b/public/emoji/1f469-1f3fe.png
deleted file mode 100644
index 5754aab55..000000000
Binary files a/public/emoji/1f469-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f469-1f3fe.svg b/public/emoji/1f469-1f3fe.svg
index 8c977082d..2aa3fef23 100644
--- a/public/emoji/1f469-1f3fe.svg
+++ b/public/emoji/1f469-1f3fe.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f33e.svg b/public/emoji/1f469-1f3ff-200d-1f33e.svg
new file mode 100644
index 000000000..36db97cc3
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f373.svg b/public/emoji/1f469-1f3ff-200d-1f373.svg
new file mode 100644
index 000000000..02cd40205
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f393.svg b/public/emoji/1f469-1f3ff-200d-1f393.svg
new file mode 100644
index 000000000..6822832ba
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f3a4.svg b/public/emoji/1f469-1f3ff-200d-1f3a4.svg
new file mode 100644
index 000000000..b23847530
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f3a8.svg b/public/emoji/1f469-1f3ff-200d-1f3a8.svg
new file mode 100644
index 000000000..930d5ed5d
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f3eb.svg b/public/emoji/1f469-1f3ff-200d-1f3eb.svg
new file mode 100644
index 000000000..925977b39
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f3ed.svg b/public/emoji/1f469-1f3ff-200d-1f3ed.svg
new file mode 100644
index 000000000..cde71c216
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f4bb.svg b/public/emoji/1f469-1f3ff-200d-1f4bb.svg
new file mode 100644
index 000000000..a41064af8
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f4bc.svg b/public/emoji/1f469-1f3ff-200d-1f4bc.svg
new file mode 100644
index 000000000..eea06ae80
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f527.svg b/public/emoji/1f469-1f3ff-200d-1f527.svg
new file mode 100644
index 000000000..cf2c4e310
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f52c.svg b/public/emoji/1f469-1f3ff-200d-1f52c.svg
new file mode 100644
index 000000000..06e8d253d
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f680.svg b/public/emoji/1f469-1f3ff-200d-1f680.svg
new file mode 100644
index 000000000..35fe42f5f
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-1f692.svg b/public/emoji/1f469-1f3ff-200d-1f692.svg
new file mode 100644
index 000000000..861b1ff04
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-2695-fe0f.svg b/public/emoji/1f469-1f3ff-200d-2695-fe0f.svg
new file mode 100644
index 000000000..40fe1cb15
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-2696-fe0f.svg b/public/emoji/1f469-1f3ff-200d-2696-fe0f.svg
new file mode 100644
index 000000000..2385f231a
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff-200d-2708-fe0f.svg b/public/emoji/1f469-1f3ff-200d-2708-fe0f.svg
new file mode 100644
index 000000000..273621927
--- /dev/null
+++ b/public/emoji/1f469-1f3ff-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-1f3ff.png b/public/emoji/1f469-1f3ff.png
deleted file mode 100644
index fc252af3a..000000000
Binary files a/public/emoji/1f469-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f469-1f3ff.svg b/public/emoji/1f469-1f3ff.svg
index 3078858cd..523ac98cc 100644
--- a/public/emoji/1f469-1f3ff.svg
+++ b/public/emoji/1f469-1f3ff.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f469-1f469-1f466-1f466.png b/public/emoji/1f469-1f469-1f466-1f466.png
deleted file mode 100644
index 6c6ba45e7..000000000
Binary files a/public/emoji/1f469-1f469-1f466-1f466.png and /dev/null differ
diff --git a/public/emoji/1f469-1f469-1f466-1f466.svg b/public/emoji/1f469-1f469-1f466-1f466.svg
deleted file mode 100644
index 8bd591103..000000000
--- a/public/emoji/1f469-1f469-1f466-1f466.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-1f469-1f466.png b/public/emoji/1f469-1f469-1f466.png
deleted file mode 100644
index 836feae7c..000000000
Binary files a/public/emoji/1f469-1f469-1f466.png and /dev/null differ
diff --git a/public/emoji/1f469-1f469-1f466.svg b/public/emoji/1f469-1f469-1f466.svg
deleted file mode 100644
index ece9c72c4..000000000
--- a/public/emoji/1f469-1f469-1f466.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-1f469-1f467-1f466.png b/public/emoji/1f469-1f469-1f467-1f466.png
deleted file mode 100644
index 284d29ab5..000000000
Binary files a/public/emoji/1f469-1f469-1f467-1f466.png and /dev/null differ
diff --git a/public/emoji/1f469-1f469-1f467-1f466.svg b/public/emoji/1f469-1f469-1f467-1f466.svg
deleted file mode 100644
index 2f4951e98..000000000
--- a/public/emoji/1f469-1f469-1f467-1f466.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-1f469-1f467-1f467.png b/public/emoji/1f469-1f469-1f467-1f467.png
deleted file mode 100644
index d8d3f49b8..000000000
Binary files a/public/emoji/1f469-1f469-1f467-1f467.png and /dev/null differ
diff --git a/public/emoji/1f469-1f469-1f467-1f467.svg b/public/emoji/1f469-1f469-1f467-1f467.svg
deleted file mode 100644
index 73760fbb4..000000000
--- a/public/emoji/1f469-1f469-1f467-1f467.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-1f469-1f467.png b/public/emoji/1f469-1f469-1f467.png
deleted file mode 100644
index 41225c6fa..000000000
Binary files a/public/emoji/1f469-1f469-1f467.png and /dev/null differ
diff --git a/public/emoji/1f469-1f469-1f467.svg b/public/emoji/1f469-1f469-1f467.svg
deleted file mode 100644
index bbc72da22..000000000
--- a/public/emoji/1f469-1f469-1f467.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-200d-1f33e.svg b/public/emoji/1f469-200d-1f33e.svg
new file mode 100644
index 000000000..e1a146570
--- /dev/null
+++ b/public/emoji/1f469-200d-1f33e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f373.svg b/public/emoji/1f469-200d-1f373.svg
new file mode 100644
index 000000000..4883fffcb
--- /dev/null
+++ b/public/emoji/1f469-200d-1f373.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f393.svg b/public/emoji/1f469-200d-1f393.svg
new file mode 100644
index 000000000..0edec9c29
--- /dev/null
+++ b/public/emoji/1f469-200d-1f393.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f3a4.svg b/public/emoji/1f469-200d-1f3a4.svg
new file mode 100644
index 000000000..b8da6c8d3
--- /dev/null
+++ b/public/emoji/1f469-200d-1f3a4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f3a8.svg b/public/emoji/1f469-200d-1f3a8.svg
new file mode 100644
index 000000000..2db8c4a31
--- /dev/null
+++ b/public/emoji/1f469-200d-1f3a8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f3eb.svg b/public/emoji/1f469-200d-1f3eb.svg
new file mode 100644
index 000000000..fe46827cc
--- /dev/null
+++ b/public/emoji/1f469-200d-1f3eb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f3ed.svg b/public/emoji/1f469-200d-1f3ed.svg
new file mode 100644
index 000000000..450cf4496
--- /dev/null
+++ b/public/emoji/1f469-200d-1f3ed.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f466-200d-1f466.svg b/public/emoji/1f469-200d-1f466-200d-1f466.svg
new file mode 100644
index 000000000..2f20655ef
--- /dev/null
+++ b/public/emoji/1f469-200d-1f466-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f466.svg b/public/emoji/1f469-200d-1f466.svg
new file mode 100644
index 000000000..df6d98820
--- /dev/null
+++ b/public/emoji/1f469-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f467-200d-1f466.svg b/public/emoji/1f469-200d-1f467-200d-1f466.svg
new file mode 100644
index 000000000..7c02a27bd
--- /dev/null
+++ b/public/emoji/1f469-200d-1f467-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f467-200d-1f467.svg b/public/emoji/1f469-200d-1f467-200d-1f467.svg
new file mode 100644
index 000000000..f016ce89c
--- /dev/null
+++ b/public/emoji/1f469-200d-1f467-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f467.svg b/public/emoji/1f469-200d-1f467.svg
new file mode 100644
index 000000000..1c5d811ee
--- /dev/null
+++ b/public/emoji/1f469-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg b/public/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg
new file mode 100644
index 000000000..38198b363
--- /dev/null
+++ b/public/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f469-200d-1f466.svg b/public/emoji/1f469-200d-1f469-200d-1f466.svg
new file mode 100644
index 000000000..eeb0c80e1
--- /dev/null
+++ b/public/emoji/1f469-200d-1f469-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg b/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg
new file mode 100644
index 000000000..1e84cdd35
--- /dev/null
+++ b/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f466.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg b/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg
new file mode 100644
index 000000000..689084de1
--- /dev/null
+++ b/public/emoji/1f469-200d-1f469-200d-1f467-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f469-200d-1f467.svg b/public/emoji/1f469-200d-1f469-200d-1f467.svg
new file mode 100644
index 000000000..ac18f5515
--- /dev/null
+++ b/public/emoji/1f469-200d-1f469-200d-1f467.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f4bb.svg b/public/emoji/1f469-200d-1f4bb.svg
new file mode 100644
index 000000000..bc0eda085
--- /dev/null
+++ b/public/emoji/1f469-200d-1f4bb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f4bc.svg b/public/emoji/1f469-200d-1f4bc.svg
new file mode 100644
index 000000000..e84decf7a
--- /dev/null
+++ b/public/emoji/1f469-200d-1f4bc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f527.svg b/public/emoji/1f469-200d-1f527.svg
new file mode 100644
index 000000000..c020914a9
--- /dev/null
+++ b/public/emoji/1f469-200d-1f527.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f52c.svg b/public/emoji/1f469-200d-1f52c.svg
new file mode 100644
index 000000000..6a05dde12
--- /dev/null
+++ b/public/emoji/1f469-200d-1f52c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f680.svg b/public/emoji/1f469-200d-1f680.svg
new file mode 100644
index 000000000..54b41f7dc
--- /dev/null
+++ b/public/emoji/1f469-200d-1f680.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-1f692.svg b/public/emoji/1f469-200d-1f692.svg
new file mode 100644
index 000000000..e95a70cf9
--- /dev/null
+++ b/public/emoji/1f469-200d-1f692.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2695-fe0f.svg b/public/emoji/1f469-200d-2695-fe0f.svg
new file mode 100644
index 000000000..a24749665
--- /dev/null
+++ b/public/emoji/1f469-200d-2695-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2696-fe0f.svg b/public/emoji/1f469-200d-2696-fe0f.svg
new file mode 100644
index 000000000..69eb8c537
--- /dev/null
+++ b/public/emoji/1f469-200d-2696-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2708-fe0f.svg b/public/emoji/1f469-200d-2708-fe0f.svg
new file mode 100644
index 000000000..25ab72a34
--- /dev/null
+++ b/public/emoji/1f469-200d-2708-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2764-fe0f-200d-1f468.svg b/public/emoji/1f469-200d-2764-fe0f-200d-1f468.svg
new file mode 100644
index 000000000..9f42ccee8
--- /dev/null
+++ b/public/emoji/1f469-200d-2764-fe0f-200d-1f468.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2764-fe0f-200d-1f469.svg b/public/emoji/1f469-200d-2764-fe0f-200d-1f469.svg
new file mode 100644
index 000000000..804903c75
--- /dev/null
+++ b/public/emoji/1f469-200d-2764-fe0f-200d-1f469.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg b/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
new file mode 100644
index 000000000..0bae3004b
--- /dev/null
+++ b/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f468.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg b/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg
new file mode 100644
index 000000000..529eff4d1
--- /dev/null
+++ b/public/emoji/1f469-200d-2764-fe0f-200d-1f48b-200d-1f469.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f469-2764-1f469.png b/public/emoji/1f469-2764-1f469.png
deleted file mode 100644
index 08fdabcdc..000000000
Binary files a/public/emoji/1f469-2764-1f469.png and /dev/null differ
diff --git a/public/emoji/1f469-2764-1f469.svg b/public/emoji/1f469-2764-1f469.svg
deleted file mode 100644
index 5f188ca18..000000000
--- a/public/emoji/1f469-2764-1f469.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469-2764-1f48b-1f469.png b/public/emoji/1f469-2764-1f48b-1f469.png
deleted file mode 100644
index fdac73cbb..000000000
Binary files a/public/emoji/1f469-2764-1f48b-1f469.png and /dev/null differ
diff --git a/public/emoji/1f469-2764-1f48b-1f469.svg b/public/emoji/1f469-2764-1f48b-1f469.svg
deleted file mode 100644
index c23690619..000000000
--- a/public/emoji/1f469-2764-1f48b-1f469.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f469.png b/public/emoji/1f469.png
deleted file mode 100644
index ece440e7a..000000000
Binary files a/public/emoji/1f469.png and /dev/null differ
diff --git a/public/emoji/1f469.svg b/public/emoji/1f469.svg
index 8a7fada15..6f7dde41f 100644
--- a/public/emoji/1f469.svg
+++ b/public/emoji/1f469.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46a.png b/public/emoji/1f46a.png
deleted file mode 100644
index 264219657..000000000
Binary files a/public/emoji/1f46a.png and /dev/null differ
diff --git a/public/emoji/1f46a.svg b/public/emoji/1f46a.svg
index e0fc9893b..ab47f4abc 100644
--- a/public/emoji/1f46a.svg
+++ b/public/emoji/1f46a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46b.png b/public/emoji/1f46b.png
deleted file mode 100644
index 960323f3c..000000000
Binary files a/public/emoji/1f46b.png and /dev/null differ
diff --git a/public/emoji/1f46b.svg b/public/emoji/1f46b.svg
index 4e7dcce0f..8115fe984 100644
--- a/public/emoji/1f46b.svg
+++ b/public/emoji/1f46b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46c.png b/public/emoji/1f46c.png
deleted file mode 100644
index a511fda82..000000000
Binary files a/public/emoji/1f46c.png and /dev/null differ
diff --git a/public/emoji/1f46c.svg b/public/emoji/1f46c.svg
index 376a18ddd..7feab42c0 100644
--- a/public/emoji/1f46c.svg
+++ b/public/emoji/1f46c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46d.png b/public/emoji/1f46d.png
deleted file mode 100644
index b077cd3e4..000000000
Binary files a/public/emoji/1f46d.png and /dev/null differ
diff --git a/public/emoji/1f46d.svg b/public/emoji/1f46d.svg
index ed12b05e1..fae1da2d4 100644
--- a/public/emoji/1f46d.svg
+++ b/public/emoji/1f46d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f46e-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..58bcfd77a
--- /dev/null
+++ b/public/emoji/1f46e-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f46e-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2bff6d572
--- /dev/null
+++ b/public/emoji/1f46e-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fb.png b/public/emoji/1f46e-1f3fb.png
deleted file mode 100644
index 6ccba3879..000000000
Binary files a/public/emoji/1f46e-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f46e-1f3fb.svg b/public/emoji/1f46e-1f3fb.svg
index 98a019fff..2bff6d572 100644
--- a/public/emoji/1f46e-1f3fb.svg
+++ b/public/emoji/1f46e-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f46e-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d3d127b3b
--- /dev/null
+++ b/public/emoji/1f46e-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f46e-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..873359cd2
--- /dev/null
+++ b/public/emoji/1f46e-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fc.png b/public/emoji/1f46e-1f3fc.png
deleted file mode 100644
index 7814ea9f5..000000000
Binary files a/public/emoji/1f46e-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f46e-1f3fc.svg b/public/emoji/1f46e-1f3fc.svg
index 9e4435062..873359cd2 100644
--- a/public/emoji/1f46e-1f3fc.svg
+++ b/public/emoji/1f46e-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f46e-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b94c792bd
--- /dev/null
+++ b/public/emoji/1f46e-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f46e-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b0d9e6ae1
--- /dev/null
+++ b/public/emoji/1f46e-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fd.png b/public/emoji/1f46e-1f3fd.png
deleted file mode 100644
index d78e88ec8..000000000
Binary files a/public/emoji/1f46e-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f46e-1f3fd.svg b/public/emoji/1f46e-1f3fd.svg
index fe8b6f451..b0d9e6ae1 100644
--- a/public/emoji/1f46e-1f3fd.svg
+++ b/public/emoji/1f46e-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f46e-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3e6a0c7cc
--- /dev/null
+++ b/public/emoji/1f46e-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f46e-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1fdabb297
--- /dev/null
+++ b/public/emoji/1f46e-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3fe.png b/public/emoji/1f46e-1f3fe.png
deleted file mode 100644
index 2e13c5083..000000000
Binary files a/public/emoji/1f46e-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f46e-1f3fe.svg b/public/emoji/1f46e-1f3fe.svg
index d880766e5..1fdabb297 100644
--- a/public/emoji/1f46e-1f3fe.svg
+++ b/public/emoji/1f46e-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f46e-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1b1ffa107
--- /dev/null
+++ b/public/emoji/1f46e-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f46e-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f6c19165a
--- /dev/null
+++ b/public/emoji/1f46e-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-1f3ff.png b/public/emoji/1f46e-1f3ff.png
deleted file mode 100644
index 2980d61cc..000000000
Binary files a/public/emoji/1f46e-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f46e-1f3ff.svg b/public/emoji/1f46e-1f3ff.svg
index 9ec2135b5..f6c19165a 100644
--- a/public/emoji/1f46e-1f3ff.svg
+++ b/public/emoji/1f46e-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46e-200d-2640-fe0f.svg b/public/emoji/1f46e-200d-2640-fe0f.svg
new file mode 100644
index 000000000..79963b5e6
--- /dev/null
+++ b/public/emoji/1f46e-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e-200d-2642-fe0f.svg b/public/emoji/1f46e-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f38c573d0
--- /dev/null
+++ b/public/emoji/1f46e-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46e.png b/public/emoji/1f46e.png
deleted file mode 100644
index 0b16d7c17..000000000
Binary files a/public/emoji/1f46e.png and /dev/null differ
diff --git a/public/emoji/1f46e.svg b/public/emoji/1f46e.svg
index 3631cdd54..f38c573d0 100644
--- a/public/emoji/1f46e.svg
+++ b/public/emoji/1f46e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f46f-200d-2640-fe0f.svg b/public/emoji/1f46f-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e3d470d6f
--- /dev/null
+++ b/public/emoji/1f46f-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46f-200d-2642-fe0f.svg b/public/emoji/1f46f-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d58f55fae
--- /dev/null
+++ b/public/emoji/1f46f-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f46f.png b/public/emoji/1f46f.png
deleted file mode 100644
index 67e6ffacb..000000000
Binary files a/public/emoji/1f46f.png and /dev/null differ
diff --git a/public/emoji/1f46f.svg b/public/emoji/1f46f.svg
index 32985cc36..e3d470d6f 100644
--- a/public/emoji/1f46f.svg
+++ b/public/emoji/1f46f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470-1f3fb.png b/public/emoji/1f470-1f3fb.png
deleted file mode 100644
index c4fb141ae..000000000
Binary files a/public/emoji/1f470-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f470-1f3fb.svg b/public/emoji/1f470-1f3fb.svg
index cb221eee1..b1eeedb6d 100644
--- a/public/emoji/1f470-1f3fb.svg
+++ b/public/emoji/1f470-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470-1f3fc.png b/public/emoji/1f470-1f3fc.png
deleted file mode 100644
index c248769fc..000000000
Binary files a/public/emoji/1f470-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f470-1f3fc.svg b/public/emoji/1f470-1f3fc.svg
index b57183971..09a8ed7e3 100644
--- a/public/emoji/1f470-1f3fc.svg
+++ b/public/emoji/1f470-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470-1f3fd.png b/public/emoji/1f470-1f3fd.png
deleted file mode 100644
index 962c0a6ee..000000000
Binary files a/public/emoji/1f470-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f470-1f3fd.svg b/public/emoji/1f470-1f3fd.svg
index 6c9874f77..e5b73e6af 100644
--- a/public/emoji/1f470-1f3fd.svg
+++ b/public/emoji/1f470-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470-1f3fe.png b/public/emoji/1f470-1f3fe.png
deleted file mode 100644
index 740ca208c..000000000
Binary files a/public/emoji/1f470-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f470-1f3fe.svg b/public/emoji/1f470-1f3fe.svg
index e4ff8c92d..6fe5fe607 100644
--- a/public/emoji/1f470-1f3fe.svg
+++ b/public/emoji/1f470-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470-1f3ff.png b/public/emoji/1f470-1f3ff.png
deleted file mode 100644
index 5cc559858..000000000
Binary files a/public/emoji/1f470-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f470-1f3ff.svg b/public/emoji/1f470-1f3ff.svg
index 29633af92..149a6fc24 100644
--- a/public/emoji/1f470-1f3ff.svg
+++ b/public/emoji/1f470-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f470.png b/public/emoji/1f470.png
deleted file mode 100644
index eaf4bd978..000000000
Binary files a/public/emoji/1f470.png and /dev/null differ
diff --git a/public/emoji/1f470.svg b/public/emoji/1f470.svg
index dc9e6c730..3445fc8d6 100644
--- a/public/emoji/1f470.svg
+++ b/public/emoji/1f470.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f471-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b112f6a4e
--- /dev/null
+++ b/public/emoji/1f471-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f471-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b3b6a74d7
--- /dev/null
+++ b/public/emoji/1f471-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fb.png b/public/emoji/1f471-1f3fb.png
deleted file mode 100644
index 7d18ef244..000000000
Binary files a/public/emoji/1f471-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f471-1f3fb.svg b/public/emoji/1f471-1f3fb.svg
index eee7e7a2c..b3b6a74d7 100644
--- a/public/emoji/1f471-1f3fb.svg
+++ b/public/emoji/1f471-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f471-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8328828e1
--- /dev/null
+++ b/public/emoji/1f471-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f471-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9f0eceb39
--- /dev/null
+++ b/public/emoji/1f471-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fc.png b/public/emoji/1f471-1f3fc.png
deleted file mode 100644
index dae130731..000000000
Binary files a/public/emoji/1f471-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f471-1f3fc.svg b/public/emoji/1f471-1f3fc.svg
index 6bdf85886..9f0eceb39 100644
--- a/public/emoji/1f471-1f3fc.svg
+++ b/public/emoji/1f471-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f471-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..259f8ccbd
--- /dev/null
+++ b/public/emoji/1f471-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f471-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e1431d851
--- /dev/null
+++ b/public/emoji/1f471-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fd.png b/public/emoji/1f471-1f3fd.png
deleted file mode 100644
index 684677e8e..000000000
Binary files a/public/emoji/1f471-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f471-1f3fd.svg b/public/emoji/1f471-1f3fd.svg
index b08ba6684..e1431d851 100644
--- a/public/emoji/1f471-1f3fd.svg
+++ b/public/emoji/1f471-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f471-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b4ff0c991
--- /dev/null
+++ b/public/emoji/1f471-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f471-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..994afaf96
--- /dev/null
+++ b/public/emoji/1f471-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3fe.png b/public/emoji/1f471-1f3fe.png
deleted file mode 100644
index 012be0b51..000000000
Binary files a/public/emoji/1f471-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f471-1f3fe.svg b/public/emoji/1f471-1f3fe.svg
index 72a38d218..994afaf96 100644
--- a/public/emoji/1f471-1f3fe.svg
+++ b/public/emoji/1f471-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f471-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b28b077d2
--- /dev/null
+++ b/public/emoji/1f471-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f471-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..151970867
--- /dev/null
+++ b/public/emoji/1f471-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-1f3ff.png b/public/emoji/1f471-1f3ff.png
deleted file mode 100644
index d4ecc4cf4..000000000
Binary files a/public/emoji/1f471-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f471-1f3ff.svg b/public/emoji/1f471-1f3ff.svg
index dcfd094c8..151970867 100644
--- a/public/emoji/1f471-1f3ff.svg
+++ b/public/emoji/1f471-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f471-200d-2640-fe0f.svg b/public/emoji/1f471-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a3f7c1998
--- /dev/null
+++ b/public/emoji/1f471-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471-200d-2642-fe0f.svg b/public/emoji/1f471-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2c49aa3d5
--- /dev/null
+++ b/public/emoji/1f471-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f471.png b/public/emoji/1f471.png
deleted file mode 100644
index ad6f01a7d..000000000
Binary files a/public/emoji/1f471.png and /dev/null differ
diff --git a/public/emoji/1f471.svg b/public/emoji/1f471.svg
index 2f56b379c..2c49aa3d5 100644
--- a/public/emoji/1f471.svg
+++ b/public/emoji/1f471.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472-1f3fb.png b/public/emoji/1f472-1f3fb.png
deleted file mode 100644
index 5b7b3def1..000000000
Binary files a/public/emoji/1f472-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f472-1f3fb.svg b/public/emoji/1f472-1f3fb.svg
index f02094dcb..d3c168207 100644
--- a/public/emoji/1f472-1f3fb.svg
+++ b/public/emoji/1f472-1f3fb.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472-1f3fc.png b/public/emoji/1f472-1f3fc.png
deleted file mode 100644
index c8b9cf87f..000000000
Binary files a/public/emoji/1f472-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f472-1f3fc.svg b/public/emoji/1f472-1f3fc.svg
index 9933af021..652c00412 100644
--- a/public/emoji/1f472-1f3fc.svg
+++ b/public/emoji/1f472-1f3fc.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472-1f3fd.png b/public/emoji/1f472-1f3fd.png
deleted file mode 100644
index effdd0c4c..000000000
Binary files a/public/emoji/1f472-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f472-1f3fd.svg b/public/emoji/1f472-1f3fd.svg
index f2884ff0a..9c8e135ce 100644
--- a/public/emoji/1f472-1f3fd.svg
+++ b/public/emoji/1f472-1f3fd.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472-1f3fe.png b/public/emoji/1f472-1f3fe.png
deleted file mode 100644
index f885ff46f..000000000
Binary files a/public/emoji/1f472-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f472-1f3fe.svg b/public/emoji/1f472-1f3fe.svg
index 6bb5fad55..2a80ac626 100644
--- a/public/emoji/1f472-1f3fe.svg
+++ b/public/emoji/1f472-1f3fe.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472-1f3ff.png b/public/emoji/1f472-1f3ff.png
deleted file mode 100644
index a6d55ca13..000000000
Binary files a/public/emoji/1f472-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f472-1f3ff.svg b/public/emoji/1f472-1f3ff.svg
index c28a77da8..122e20c2b 100644
--- a/public/emoji/1f472-1f3ff.svg
+++ b/public/emoji/1f472-1f3ff.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f472.png b/public/emoji/1f472.png
deleted file mode 100644
index 7841e1360..000000000
Binary files a/public/emoji/1f472.png and /dev/null differ
diff --git a/public/emoji/1f472.svg b/public/emoji/1f472.svg
index 8274a2303..3f059078c 100644
--- a/public/emoji/1f472.svg
+++ b/public/emoji/1f472.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f473-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ffe17f168
--- /dev/null
+++ b/public/emoji/1f473-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f473-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9d8c68772
--- /dev/null
+++ b/public/emoji/1f473-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fb.png b/public/emoji/1f473-1f3fb.png
deleted file mode 100644
index 1e12ee4b2..000000000
Binary files a/public/emoji/1f473-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f473-1f3fb.svg b/public/emoji/1f473-1f3fb.svg
index 43c2e9d58..9d8c68772 100644
--- a/public/emoji/1f473-1f3fb.svg
+++ b/public/emoji/1f473-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f473-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1487c58f3
--- /dev/null
+++ b/public/emoji/1f473-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f473-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d08a57f69
--- /dev/null
+++ b/public/emoji/1f473-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fc.png b/public/emoji/1f473-1f3fc.png
deleted file mode 100644
index 37de4cceb..000000000
Binary files a/public/emoji/1f473-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f473-1f3fc.svg b/public/emoji/1f473-1f3fc.svg
index 86edb085f..d08a57f69 100644
--- a/public/emoji/1f473-1f3fc.svg
+++ b/public/emoji/1f473-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f473-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8a5a25146
--- /dev/null
+++ b/public/emoji/1f473-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f473-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1a2a155a3
--- /dev/null
+++ b/public/emoji/1f473-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fd.png b/public/emoji/1f473-1f3fd.png
deleted file mode 100644
index f607afd34..000000000
Binary files a/public/emoji/1f473-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f473-1f3fd.svg b/public/emoji/1f473-1f3fd.svg
index 4567f5800..1a2a155a3 100644
--- a/public/emoji/1f473-1f3fd.svg
+++ b/public/emoji/1f473-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f473-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..be875ee37
--- /dev/null
+++ b/public/emoji/1f473-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f473-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..bca472d81
--- /dev/null
+++ b/public/emoji/1f473-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3fe.png b/public/emoji/1f473-1f3fe.png
deleted file mode 100644
index c05695888..000000000
Binary files a/public/emoji/1f473-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f473-1f3fe.svg b/public/emoji/1f473-1f3fe.svg
index ddb3d5beb..bca472d81 100644
--- a/public/emoji/1f473-1f3fe.svg
+++ b/public/emoji/1f473-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f473-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a01f89dda
--- /dev/null
+++ b/public/emoji/1f473-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f473-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ca21b9651
--- /dev/null
+++ b/public/emoji/1f473-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-1f3ff.png b/public/emoji/1f473-1f3ff.png
deleted file mode 100644
index 4b4ff6472..000000000
Binary files a/public/emoji/1f473-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f473-1f3ff.svg b/public/emoji/1f473-1f3ff.svg
index 19b2e728f..ca21b9651 100644
--- a/public/emoji/1f473-1f3ff.svg
+++ b/public/emoji/1f473-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f473-200d-2640-fe0f.svg b/public/emoji/1f473-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ecd3fb021
--- /dev/null
+++ b/public/emoji/1f473-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473-200d-2642-fe0f.svg b/public/emoji/1f473-200d-2642-fe0f.svg
new file mode 100644
index 000000000..627d77321
--- /dev/null
+++ b/public/emoji/1f473-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f473.png b/public/emoji/1f473.png
deleted file mode 100644
index 51cf047f9..000000000
Binary files a/public/emoji/1f473.png and /dev/null differ
diff --git a/public/emoji/1f473.svg b/public/emoji/1f473.svg
index 511280812..627d77321 100644
--- a/public/emoji/1f473.svg
+++ b/public/emoji/1f473.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474-1f3fb.png b/public/emoji/1f474-1f3fb.png
deleted file mode 100644
index ab459baac..000000000
Binary files a/public/emoji/1f474-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f474-1f3fb.svg b/public/emoji/1f474-1f3fb.svg
index 77aacc5a9..fd2ff9dcf 100644
--- a/public/emoji/1f474-1f3fb.svg
+++ b/public/emoji/1f474-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474-1f3fc.png b/public/emoji/1f474-1f3fc.png
deleted file mode 100644
index f4dfc7694..000000000
Binary files a/public/emoji/1f474-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f474-1f3fc.svg b/public/emoji/1f474-1f3fc.svg
index 03c13c515..c4f43282b 100644
--- a/public/emoji/1f474-1f3fc.svg
+++ b/public/emoji/1f474-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474-1f3fd.png b/public/emoji/1f474-1f3fd.png
deleted file mode 100644
index 5ffd11792..000000000
Binary files a/public/emoji/1f474-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f474-1f3fd.svg b/public/emoji/1f474-1f3fd.svg
index 2a73bef91..4e532e6e2 100644
--- a/public/emoji/1f474-1f3fd.svg
+++ b/public/emoji/1f474-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474-1f3fe.png b/public/emoji/1f474-1f3fe.png
deleted file mode 100644
index b350a764b..000000000
Binary files a/public/emoji/1f474-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f474-1f3fe.svg b/public/emoji/1f474-1f3fe.svg
index 0c9133ece..1f19763a2 100644
--- a/public/emoji/1f474-1f3fe.svg
+++ b/public/emoji/1f474-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474-1f3ff.png b/public/emoji/1f474-1f3ff.png
deleted file mode 100644
index 05fe24a17..000000000
Binary files a/public/emoji/1f474-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f474-1f3ff.svg b/public/emoji/1f474-1f3ff.svg
index 14a6554c3..8d8bc0928 100644
--- a/public/emoji/1f474-1f3ff.svg
+++ b/public/emoji/1f474-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f474.png b/public/emoji/1f474.png
deleted file mode 100644
index 4ace4e6f3..000000000
Binary files a/public/emoji/1f474.png and /dev/null differ
diff --git a/public/emoji/1f474.svg b/public/emoji/1f474.svg
index 79bd197e1..5f1c83bbc 100644
--- a/public/emoji/1f474.svg
+++ b/public/emoji/1f474.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475-1f3fb.png b/public/emoji/1f475-1f3fb.png
deleted file mode 100644
index b49e82140..000000000
Binary files a/public/emoji/1f475-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f475-1f3fb.svg b/public/emoji/1f475-1f3fb.svg
index 1e1c55669..86c69bae9 100644
--- a/public/emoji/1f475-1f3fb.svg
+++ b/public/emoji/1f475-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475-1f3fc.png b/public/emoji/1f475-1f3fc.png
deleted file mode 100644
index e86bf5ab3..000000000
Binary files a/public/emoji/1f475-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f475-1f3fc.svg b/public/emoji/1f475-1f3fc.svg
index fd7cea0fc..7207298c8 100644
--- a/public/emoji/1f475-1f3fc.svg
+++ b/public/emoji/1f475-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475-1f3fd.png b/public/emoji/1f475-1f3fd.png
deleted file mode 100644
index 83fc14b08..000000000
Binary files a/public/emoji/1f475-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f475-1f3fd.svg b/public/emoji/1f475-1f3fd.svg
index 121b50ba0..15c14c144 100644
--- a/public/emoji/1f475-1f3fd.svg
+++ b/public/emoji/1f475-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475-1f3fe.png b/public/emoji/1f475-1f3fe.png
deleted file mode 100644
index e4aa8a424..000000000
Binary files a/public/emoji/1f475-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f475-1f3fe.svg b/public/emoji/1f475-1f3fe.svg
index c1246e568..e9950c385 100644
--- a/public/emoji/1f475-1f3fe.svg
+++ b/public/emoji/1f475-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475-1f3ff.png b/public/emoji/1f475-1f3ff.png
deleted file mode 100644
index 4009012bb..000000000
Binary files a/public/emoji/1f475-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f475-1f3ff.svg b/public/emoji/1f475-1f3ff.svg
index b1ae7cd6c..31cb9f003 100644
--- a/public/emoji/1f475-1f3ff.svg
+++ b/public/emoji/1f475-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f475.png b/public/emoji/1f475.png
deleted file mode 100644
index 52dc49871..000000000
Binary files a/public/emoji/1f475.png and /dev/null differ
diff --git a/public/emoji/1f475.svg b/public/emoji/1f475.svg
index a2ac6131e..a2d61af95 100644
--- a/public/emoji/1f475.svg
+++ b/public/emoji/1f475.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476-1f3fb.png b/public/emoji/1f476-1f3fb.png
deleted file mode 100644
index d20911d40..000000000
Binary files a/public/emoji/1f476-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f476-1f3fb.svg b/public/emoji/1f476-1f3fb.svg
index aa85b9bd0..38e1aa8f6 100644
--- a/public/emoji/1f476-1f3fb.svg
+++ b/public/emoji/1f476-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476-1f3fc.png b/public/emoji/1f476-1f3fc.png
deleted file mode 100644
index b0a9b30ed..000000000
Binary files a/public/emoji/1f476-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f476-1f3fc.svg b/public/emoji/1f476-1f3fc.svg
index 50f5f8c94..d1fc49a2c 100644
--- a/public/emoji/1f476-1f3fc.svg
+++ b/public/emoji/1f476-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476-1f3fd.png b/public/emoji/1f476-1f3fd.png
deleted file mode 100644
index 7de5286fa..000000000
Binary files a/public/emoji/1f476-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f476-1f3fd.svg b/public/emoji/1f476-1f3fd.svg
index 9d3946dcd..85b9fa85c 100644
--- a/public/emoji/1f476-1f3fd.svg
+++ b/public/emoji/1f476-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476-1f3fe.png b/public/emoji/1f476-1f3fe.png
deleted file mode 100644
index 9b7a86ac6..000000000
Binary files a/public/emoji/1f476-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f476-1f3fe.svg b/public/emoji/1f476-1f3fe.svg
index 75c1a6747..3905353f8 100644
--- a/public/emoji/1f476-1f3fe.svg
+++ b/public/emoji/1f476-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476-1f3ff.png b/public/emoji/1f476-1f3ff.png
deleted file mode 100644
index fe1be34cb..000000000
Binary files a/public/emoji/1f476-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f476-1f3ff.svg b/public/emoji/1f476-1f3ff.svg
index 27a4a6d7f..e4807abad 100644
--- a/public/emoji/1f476-1f3ff.svg
+++ b/public/emoji/1f476-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f476.png b/public/emoji/1f476.png
deleted file mode 100644
index a4af92c63..000000000
Binary files a/public/emoji/1f476.png and /dev/null differ
diff --git a/public/emoji/1f476.svg b/public/emoji/1f476.svg
index 6bbcb0c2e..1d6619388 100644
--- a/public/emoji/1f476.svg
+++ b/public/emoji/1f476.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f477-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..46f7d6402
--- /dev/null
+++ b/public/emoji/1f477-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f477-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..759fd81ba
--- /dev/null
+++ b/public/emoji/1f477-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fb.png b/public/emoji/1f477-1f3fb.png
deleted file mode 100644
index 2f24a2bab..000000000
Binary files a/public/emoji/1f477-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f477-1f3fb.svg b/public/emoji/1f477-1f3fb.svg
index 1c078948d..759fd81ba 100644
--- a/public/emoji/1f477-1f3fb.svg
+++ b/public/emoji/1f477-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f477-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..12173b62d
--- /dev/null
+++ b/public/emoji/1f477-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f477-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6cbec13d8
--- /dev/null
+++ b/public/emoji/1f477-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fc.png b/public/emoji/1f477-1f3fc.png
deleted file mode 100644
index 93c8fec5a..000000000
Binary files a/public/emoji/1f477-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f477-1f3fc.svg b/public/emoji/1f477-1f3fc.svg
index 2baad9283..6cbec13d8 100644
--- a/public/emoji/1f477-1f3fc.svg
+++ b/public/emoji/1f477-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f477-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..cef8bb79c
--- /dev/null
+++ b/public/emoji/1f477-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f477-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5634fa7e1
--- /dev/null
+++ b/public/emoji/1f477-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fd.png b/public/emoji/1f477-1f3fd.png
deleted file mode 100644
index abc1f2af2..000000000
Binary files a/public/emoji/1f477-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f477-1f3fd.svg b/public/emoji/1f477-1f3fd.svg
index 9bd5a803f..5634fa7e1 100644
--- a/public/emoji/1f477-1f3fd.svg
+++ b/public/emoji/1f477-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f477-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..13ef34ba5
--- /dev/null
+++ b/public/emoji/1f477-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f477-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..902261cc2
--- /dev/null
+++ b/public/emoji/1f477-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3fe.png b/public/emoji/1f477-1f3fe.png
deleted file mode 100644
index eed83289a..000000000
Binary files a/public/emoji/1f477-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f477-1f3fe.svg b/public/emoji/1f477-1f3fe.svg
index ee7b22823..902261cc2 100644
--- a/public/emoji/1f477-1f3fe.svg
+++ b/public/emoji/1f477-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f477-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6e9b84dfa
--- /dev/null
+++ b/public/emoji/1f477-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f477-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1fc22a6a8
--- /dev/null
+++ b/public/emoji/1f477-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-1f3ff.png b/public/emoji/1f477-1f3ff.png
deleted file mode 100644
index acbb220b8..000000000
Binary files a/public/emoji/1f477-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f477-1f3ff.svg b/public/emoji/1f477-1f3ff.svg
index 2cfb7cf1b..1fc22a6a8 100644
--- a/public/emoji/1f477-1f3ff.svg
+++ b/public/emoji/1f477-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f477-200d-2640-fe0f.svg b/public/emoji/1f477-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1d9d18d31
--- /dev/null
+++ b/public/emoji/1f477-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477-200d-2642-fe0f.svg b/public/emoji/1f477-200d-2642-fe0f.svg
new file mode 100644
index 000000000..cb161f83a
--- /dev/null
+++ b/public/emoji/1f477-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f477.png b/public/emoji/1f477.png
deleted file mode 100644
index a9970a890..000000000
Binary files a/public/emoji/1f477.png and /dev/null differ
diff --git a/public/emoji/1f477.svg b/public/emoji/1f477.svg
index 56ae64c82..cb161f83a 100644
--- a/public/emoji/1f477.svg
+++ b/public/emoji/1f477.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478-1f3fb.png b/public/emoji/1f478-1f3fb.png
deleted file mode 100644
index c28078cdc..000000000
Binary files a/public/emoji/1f478-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f478-1f3fb.svg b/public/emoji/1f478-1f3fb.svg
index ded39faa2..88cc31391 100644
--- a/public/emoji/1f478-1f3fb.svg
+++ b/public/emoji/1f478-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478-1f3fc.png b/public/emoji/1f478-1f3fc.png
deleted file mode 100644
index dcd20e6ec..000000000
Binary files a/public/emoji/1f478-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f478-1f3fc.svg b/public/emoji/1f478-1f3fc.svg
index e815e485a..8aed00f80 100644
--- a/public/emoji/1f478-1f3fc.svg
+++ b/public/emoji/1f478-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478-1f3fd.png b/public/emoji/1f478-1f3fd.png
deleted file mode 100644
index cde6f315c..000000000
Binary files a/public/emoji/1f478-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f478-1f3fd.svg b/public/emoji/1f478-1f3fd.svg
index 7d5b77783..6fdfb919b 100644
--- a/public/emoji/1f478-1f3fd.svg
+++ b/public/emoji/1f478-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478-1f3fe.png b/public/emoji/1f478-1f3fe.png
deleted file mode 100644
index c71e69caa..000000000
Binary files a/public/emoji/1f478-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f478-1f3fe.svg b/public/emoji/1f478-1f3fe.svg
index 18edf0cbc..f88d49e9f 100644
--- a/public/emoji/1f478-1f3fe.svg
+++ b/public/emoji/1f478-1f3fe.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478-1f3ff.png b/public/emoji/1f478-1f3ff.png
deleted file mode 100644
index 063e26459..000000000
Binary files a/public/emoji/1f478-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f478-1f3ff.svg b/public/emoji/1f478-1f3ff.svg
index 6b8053df1..19f06ed2f 100644
--- a/public/emoji/1f478-1f3ff.svg
+++ b/public/emoji/1f478-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f478.png b/public/emoji/1f478.png
deleted file mode 100644
index 879e9fa8c..000000000
Binary files a/public/emoji/1f478.png and /dev/null differ
diff --git a/public/emoji/1f478.svg b/public/emoji/1f478.svg
index 939f660d4..06d437fa6 100644
--- a/public/emoji/1f478.svg
+++ b/public/emoji/1f478.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f479.png b/public/emoji/1f479.png
deleted file mode 100644
index fe8670fda..000000000
Binary files a/public/emoji/1f479.png and /dev/null differ
diff --git a/public/emoji/1f479.svg b/public/emoji/1f479.svg
index 4aa1df93b..d08549995 100644
--- a/public/emoji/1f479.svg
+++ b/public/emoji/1f479.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47a.png b/public/emoji/1f47a.png
deleted file mode 100644
index 515c6a225..000000000
Binary files a/public/emoji/1f47a.png and /dev/null differ
diff --git a/public/emoji/1f47a.svg b/public/emoji/1f47a.svg
index a20c6c44e..81c1ef39d 100644
--- a/public/emoji/1f47a.svg
+++ b/public/emoji/1f47a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47b.png b/public/emoji/1f47b.png
deleted file mode 100644
index 5650bc0ed..000000000
Binary files a/public/emoji/1f47b.png and /dev/null differ
diff --git a/public/emoji/1f47b.svg b/public/emoji/1f47b.svg
index 37f068039..e5a2ee739 100644
--- a/public/emoji/1f47b.svg
+++ b/public/emoji/1f47b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c-1f3fb.png b/public/emoji/1f47c-1f3fb.png
deleted file mode 100644
index 391694dc0..000000000
Binary files a/public/emoji/1f47c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f47c-1f3fb.svg b/public/emoji/1f47c-1f3fb.svg
index b33f37c47..58a4fe2da 100644
--- a/public/emoji/1f47c-1f3fb.svg
+++ b/public/emoji/1f47c-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c-1f3fc.png b/public/emoji/1f47c-1f3fc.png
deleted file mode 100644
index 700cbe6ed..000000000
Binary files a/public/emoji/1f47c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f47c-1f3fc.svg b/public/emoji/1f47c-1f3fc.svg
index 0095920c4..4618465f7 100644
--- a/public/emoji/1f47c-1f3fc.svg
+++ b/public/emoji/1f47c-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c-1f3fd.png b/public/emoji/1f47c-1f3fd.png
deleted file mode 100644
index be597437d..000000000
Binary files a/public/emoji/1f47c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f47c-1f3fd.svg b/public/emoji/1f47c-1f3fd.svg
index ce453f4b7..d6c44bf62 100644
--- a/public/emoji/1f47c-1f3fd.svg
+++ b/public/emoji/1f47c-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c-1f3fe.png b/public/emoji/1f47c-1f3fe.png
deleted file mode 100644
index b06d3c853..000000000
Binary files a/public/emoji/1f47c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f47c-1f3fe.svg b/public/emoji/1f47c-1f3fe.svg
index bbff87d41..3b861ff04 100644
--- a/public/emoji/1f47c-1f3fe.svg
+++ b/public/emoji/1f47c-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c-1f3ff.png b/public/emoji/1f47c-1f3ff.png
deleted file mode 100644
index 17bd677e3..000000000
Binary files a/public/emoji/1f47c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f47c-1f3ff.svg b/public/emoji/1f47c-1f3ff.svg
index 5e7bb9f04..1be099a01 100644
--- a/public/emoji/1f47c-1f3ff.svg
+++ b/public/emoji/1f47c-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47c.png b/public/emoji/1f47c.png
deleted file mode 100644
index 66ea97a3b..000000000
Binary files a/public/emoji/1f47c.png and /dev/null differ
diff --git a/public/emoji/1f47c.svg b/public/emoji/1f47c.svg
index fd6002a20..f83cb7704 100644
--- a/public/emoji/1f47c.svg
+++ b/public/emoji/1f47c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47d.png b/public/emoji/1f47d.png
deleted file mode 100644
index 3b90e9743..000000000
Binary files a/public/emoji/1f47d.png and /dev/null differ
diff --git a/public/emoji/1f47d.svg b/public/emoji/1f47d.svg
index fff8d2f2b..d58d81912 100644
--- a/public/emoji/1f47d.svg
+++ b/public/emoji/1f47d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47e.png b/public/emoji/1f47e.png
deleted file mode 100644
index 2e73f5f32..000000000
Binary files a/public/emoji/1f47e.png and /dev/null differ
diff --git a/public/emoji/1f47e.svg b/public/emoji/1f47e.svg
index 0d4c47cfe..2ac86c206 100644
--- a/public/emoji/1f47e.svg
+++ b/public/emoji/1f47e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f47f.png b/public/emoji/1f47f.png
deleted file mode 100644
index 9f9a96055..000000000
Binary files a/public/emoji/1f47f.png and /dev/null differ
diff --git a/public/emoji/1f47f.svg b/public/emoji/1f47f.svg
index a2bf45a63..3ceaefa4d 100644
--- a/public/emoji/1f47f.svg
+++ b/public/emoji/1f47f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f480.png b/public/emoji/1f480.png
deleted file mode 100644
index 26abb1729..000000000
Binary files a/public/emoji/1f480.png and /dev/null differ
diff --git a/public/emoji/1f480.svg b/public/emoji/1f480.svg
index 300fed888..7097d6ee0 100644
--- a/public/emoji/1f480.svg
+++ b/public/emoji/1f480.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f481-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..579847c43
--- /dev/null
+++ b/public/emoji/1f481-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f481-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9fce17c57
--- /dev/null
+++ b/public/emoji/1f481-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fb.png b/public/emoji/1f481-1f3fb.png
deleted file mode 100644
index 3d9e22479..000000000
Binary files a/public/emoji/1f481-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f481-1f3fb.svg b/public/emoji/1f481-1f3fb.svg
index 94f0d9fa8..579847c43 100644
--- a/public/emoji/1f481-1f3fb.svg
+++ b/public/emoji/1f481-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f481-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..873f4dc5d
--- /dev/null
+++ b/public/emoji/1f481-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f481-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..bcf9e0cd9
--- /dev/null
+++ b/public/emoji/1f481-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fc.png b/public/emoji/1f481-1f3fc.png
deleted file mode 100644
index 879e8b796..000000000
Binary files a/public/emoji/1f481-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f481-1f3fc.svg b/public/emoji/1f481-1f3fc.svg
index 4094b088f..873f4dc5d 100644
--- a/public/emoji/1f481-1f3fc.svg
+++ b/public/emoji/1f481-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f481-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f22657d8a
--- /dev/null
+++ b/public/emoji/1f481-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f481-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ef182a4bd
--- /dev/null
+++ b/public/emoji/1f481-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fd.png b/public/emoji/1f481-1f3fd.png
deleted file mode 100644
index 307514eab..000000000
Binary files a/public/emoji/1f481-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f481-1f3fd.svg b/public/emoji/1f481-1f3fd.svg
index 502cf7baa..f22657d8a 100644
--- a/public/emoji/1f481-1f3fd.svg
+++ b/public/emoji/1f481-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f481-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c836fb1d5
--- /dev/null
+++ b/public/emoji/1f481-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f481-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..48e59176e
--- /dev/null
+++ b/public/emoji/1f481-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3fe.png b/public/emoji/1f481-1f3fe.png
deleted file mode 100644
index 297395dcb..000000000
Binary files a/public/emoji/1f481-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f481-1f3fe.svg b/public/emoji/1f481-1f3fe.svg
index d23383208..c836fb1d5 100644
--- a/public/emoji/1f481-1f3fe.svg
+++ b/public/emoji/1f481-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f481-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c93ce31f5
--- /dev/null
+++ b/public/emoji/1f481-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f481-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1dcc0745c
--- /dev/null
+++ b/public/emoji/1f481-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-1f3ff.png b/public/emoji/1f481-1f3ff.png
deleted file mode 100644
index 26f8f22b2..000000000
Binary files a/public/emoji/1f481-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f481-1f3ff.svg b/public/emoji/1f481-1f3ff.svg
index 64f4c4969..c93ce31f5 100644
--- a/public/emoji/1f481-1f3ff.svg
+++ b/public/emoji/1f481-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f481-200d-2640-fe0f.svg b/public/emoji/1f481-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a06e256ad
--- /dev/null
+++ b/public/emoji/1f481-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481-200d-2642-fe0f.svg b/public/emoji/1f481-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e97a32a39
--- /dev/null
+++ b/public/emoji/1f481-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f481.png b/public/emoji/1f481.png
deleted file mode 100644
index 55fc6294d..000000000
Binary files a/public/emoji/1f481.png and /dev/null differ
diff --git a/public/emoji/1f481.svg b/public/emoji/1f481.svg
index 324606f26..a06e256ad 100644
--- a/public/emoji/1f481.svg
+++ b/public/emoji/1f481.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f482-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..2662a46e2
--- /dev/null
+++ b/public/emoji/1f482-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f482-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..95a2c5bdc
--- /dev/null
+++ b/public/emoji/1f482-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fb.png b/public/emoji/1f482-1f3fb.png
deleted file mode 100644
index cea9ba274..000000000
Binary files a/public/emoji/1f482-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f482-1f3fb.svg b/public/emoji/1f482-1f3fb.svg
index 12ecea3c4..95a2c5bdc 100644
--- a/public/emoji/1f482-1f3fb.svg
+++ b/public/emoji/1f482-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f482-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1d07ec5af
--- /dev/null
+++ b/public/emoji/1f482-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f482-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9459a537b
--- /dev/null
+++ b/public/emoji/1f482-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fc.png b/public/emoji/1f482-1f3fc.png
deleted file mode 100644
index 037464e40..000000000
Binary files a/public/emoji/1f482-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f482-1f3fc.svg b/public/emoji/1f482-1f3fc.svg
index 0a822b81e..9459a537b 100644
--- a/public/emoji/1f482-1f3fc.svg
+++ b/public/emoji/1f482-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f482-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..21368fe45
--- /dev/null
+++ b/public/emoji/1f482-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f482-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..48eef9556
--- /dev/null
+++ b/public/emoji/1f482-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fd.png b/public/emoji/1f482-1f3fd.png
deleted file mode 100644
index 0f6726fbe..000000000
Binary files a/public/emoji/1f482-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f482-1f3fd.svg b/public/emoji/1f482-1f3fd.svg
index 3048f05b8..48eef9556 100644
--- a/public/emoji/1f482-1f3fd.svg
+++ b/public/emoji/1f482-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f482-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..93f02ff99
--- /dev/null
+++ b/public/emoji/1f482-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f482-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6def55dcf
--- /dev/null
+++ b/public/emoji/1f482-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3fe.png b/public/emoji/1f482-1f3fe.png
deleted file mode 100644
index 85fcf9a3b..000000000
Binary files a/public/emoji/1f482-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f482-1f3fe.svg b/public/emoji/1f482-1f3fe.svg
index ece9fd37d..6def55dcf 100644
--- a/public/emoji/1f482-1f3fe.svg
+++ b/public/emoji/1f482-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f482-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..925100027
--- /dev/null
+++ b/public/emoji/1f482-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f482-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..41e80851c
--- /dev/null
+++ b/public/emoji/1f482-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-1f3ff.png b/public/emoji/1f482-1f3ff.png
deleted file mode 100644
index e5f9ca7d5..000000000
Binary files a/public/emoji/1f482-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f482-1f3ff.svg b/public/emoji/1f482-1f3ff.svg
index c59625be5..41e80851c 100644
--- a/public/emoji/1f482-1f3ff.svg
+++ b/public/emoji/1f482-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f482-200d-2640-fe0f.svg b/public/emoji/1f482-200d-2640-fe0f.svg
new file mode 100644
index 000000000..11be3310a
--- /dev/null
+++ b/public/emoji/1f482-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482-200d-2642-fe0f.svg b/public/emoji/1f482-200d-2642-fe0f.svg
new file mode 100644
index 000000000..349a3c03c
--- /dev/null
+++ b/public/emoji/1f482-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f482.png b/public/emoji/1f482.png
deleted file mode 100644
index 8d7ab3c47..000000000
Binary files a/public/emoji/1f482.png and /dev/null differ
diff --git a/public/emoji/1f482.svg b/public/emoji/1f482.svg
index a2828629e..349a3c03c 100644
--- a/public/emoji/1f482.svg
+++ b/public/emoji/1f482.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483-1f3fb.png b/public/emoji/1f483-1f3fb.png
deleted file mode 100644
index 2c7b11c3a..000000000
Binary files a/public/emoji/1f483-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f483-1f3fb.svg b/public/emoji/1f483-1f3fb.svg
index 23026b5a5..5e28fb0f3 100644
--- a/public/emoji/1f483-1f3fb.svg
+++ b/public/emoji/1f483-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483-1f3fc.png b/public/emoji/1f483-1f3fc.png
deleted file mode 100644
index cb04b1f90..000000000
Binary files a/public/emoji/1f483-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f483-1f3fc.svg b/public/emoji/1f483-1f3fc.svg
index df65e02a3..57ded5528 100644
--- a/public/emoji/1f483-1f3fc.svg
+++ b/public/emoji/1f483-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483-1f3fd.png b/public/emoji/1f483-1f3fd.png
deleted file mode 100644
index 98c5bca7b..000000000
Binary files a/public/emoji/1f483-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f483-1f3fd.svg b/public/emoji/1f483-1f3fd.svg
index e4c1d7b9d..dc1ff5363 100644
--- a/public/emoji/1f483-1f3fd.svg
+++ b/public/emoji/1f483-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483-1f3fe.png b/public/emoji/1f483-1f3fe.png
deleted file mode 100644
index fdb1e00cb..000000000
Binary files a/public/emoji/1f483-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f483-1f3fe.svg b/public/emoji/1f483-1f3fe.svg
index e163cfbc5..b80348375 100644
--- a/public/emoji/1f483-1f3fe.svg
+++ b/public/emoji/1f483-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483-1f3ff.png b/public/emoji/1f483-1f3ff.png
deleted file mode 100644
index 0e34e0e23..000000000
Binary files a/public/emoji/1f483-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f483-1f3ff.svg b/public/emoji/1f483-1f3ff.svg
index bb4dcfe49..80f37167d 100644
--- a/public/emoji/1f483-1f3ff.svg
+++ b/public/emoji/1f483-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f483.png b/public/emoji/1f483.png
deleted file mode 100644
index 04b166991..000000000
Binary files a/public/emoji/1f483.png and /dev/null differ
diff --git a/public/emoji/1f483.svg b/public/emoji/1f483.svg
index 25ff89a2c..436f9ae58 100644
--- a/public/emoji/1f483.svg
+++ b/public/emoji/1f483.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f484.png b/public/emoji/1f484.png
deleted file mode 100644
index 61a0c084c..000000000
Binary files a/public/emoji/1f484.png and /dev/null differ
diff --git a/public/emoji/1f484.svg b/public/emoji/1f484.svg
index 99bc7908b..86892d2f2 100644
--- a/public/emoji/1f484.svg
+++ b/public/emoji/1f484.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485-1f3fb.png b/public/emoji/1f485-1f3fb.png
deleted file mode 100644
index 26e883dd2..000000000
Binary files a/public/emoji/1f485-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f485-1f3fb.svg b/public/emoji/1f485-1f3fb.svg
index f31a7a298..0ca21402e 100644
--- a/public/emoji/1f485-1f3fb.svg
+++ b/public/emoji/1f485-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485-1f3fc.png b/public/emoji/1f485-1f3fc.png
deleted file mode 100644
index 61257b47e..000000000
Binary files a/public/emoji/1f485-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f485-1f3fc.svg b/public/emoji/1f485-1f3fc.svg
index 442102a4b..e20634f6c 100644
--- a/public/emoji/1f485-1f3fc.svg
+++ b/public/emoji/1f485-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485-1f3fd.png b/public/emoji/1f485-1f3fd.png
deleted file mode 100644
index 29871b05f..000000000
Binary files a/public/emoji/1f485-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f485-1f3fd.svg b/public/emoji/1f485-1f3fd.svg
index daa1db199..c2d3ade12 100644
--- a/public/emoji/1f485-1f3fd.svg
+++ b/public/emoji/1f485-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485-1f3fe.png b/public/emoji/1f485-1f3fe.png
deleted file mode 100644
index 2881de0b1..000000000
Binary files a/public/emoji/1f485-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f485-1f3fe.svg b/public/emoji/1f485-1f3fe.svg
index 759366904..a47022a92 100644
--- a/public/emoji/1f485-1f3fe.svg
+++ b/public/emoji/1f485-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485-1f3ff.png b/public/emoji/1f485-1f3ff.png
deleted file mode 100644
index a0b7c0a45..000000000
Binary files a/public/emoji/1f485-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f485-1f3ff.svg b/public/emoji/1f485-1f3ff.svg
index 36a0f8403..3c6a2a135 100644
--- a/public/emoji/1f485-1f3ff.svg
+++ b/public/emoji/1f485-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f485.png b/public/emoji/1f485.png
deleted file mode 100644
index aa52af705..000000000
Binary files a/public/emoji/1f485.png and /dev/null differ
diff --git a/public/emoji/1f485.svg b/public/emoji/1f485.svg
index 91fd2c51f..3f956cbd3 100644
--- a/public/emoji/1f485.svg
+++ b/public/emoji/1f485.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f486-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9a67284b5
--- /dev/null
+++ b/public/emoji/1f486-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f486-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..68b072cfc
--- /dev/null
+++ b/public/emoji/1f486-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fb.png b/public/emoji/1f486-1f3fb.png
deleted file mode 100644
index e0f415d31..000000000
Binary files a/public/emoji/1f486-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f486-1f3fb.svg b/public/emoji/1f486-1f3fb.svg
index dc1aef549..9a67284b5 100644
--- a/public/emoji/1f486-1f3fb.svg
+++ b/public/emoji/1f486-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f486-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9ebc012da
--- /dev/null
+++ b/public/emoji/1f486-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f486-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1eaa098c1
--- /dev/null
+++ b/public/emoji/1f486-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fc.png b/public/emoji/1f486-1f3fc.png
deleted file mode 100644
index 0bb244a27..000000000
Binary files a/public/emoji/1f486-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f486-1f3fc.svg b/public/emoji/1f486-1f3fc.svg
index ccea5085e..9ebc012da 100644
--- a/public/emoji/1f486-1f3fc.svg
+++ b/public/emoji/1f486-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f486-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..52e52636c
--- /dev/null
+++ b/public/emoji/1f486-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f486-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8852a1efc
--- /dev/null
+++ b/public/emoji/1f486-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fd.png b/public/emoji/1f486-1f3fd.png
deleted file mode 100644
index a117ee81a..000000000
Binary files a/public/emoji/1f486-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f486-1f3fd.svg b/public/emoji/1f486-1f3fd.svg
index 245ca4b6d..52e52636c 100644
--- a/public/emoji/1f486-1f3fd.svg
+++ b/public/emoji/1f486-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f486-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ad9c254bd
--- /dev/null
+++ b/public/emoji/1f486-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f486-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..caa12c479
--- /dev/null
+++ b/public/emoji/1f486-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3fe.png b/public/emoji/1f486-1f3fe.png
deleted file mode 100644
index 6f42ab017..000000000
Binary files a/public/emoji/1f486-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f486-1f3fe.svg b/public/emoji/1f486-1f3fe.svg
index a56ff48dd..ad9c254bd 100644
--- a/public/emoji/1f486-1f3fe.svg
+++ b/public/emoji/1f486-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f486-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3fb4f8420
--- /dev/null
+++ b/public/emoji/1f486-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f486-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2242f1b8a
--- /dev/null
+++ b/public/emoji/1f486-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-1f3ff.png b/public/emoji/1f486-1f3ff.png
deleted file mode 100644
index 6a388c0d0..000000000
Binary files a/public/emoji/1f486-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f486-1f3ff.svg b/public/emoji/1f486-1f3ff.svg
index bf24cb068..3fb4f8420 100644
--- a/public/emoji/1f486-1f3ff.svg
+++ b/public/emoji/1f486-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f486-200d-2640-fe0f.svg b/public/emoji/1f486-200d-2640-fe0f.svg
new file mode 100644
index 000000000..39ffd8bdc
--- /dev/null
+++ b/public/emoji/1f486-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486-200d-2642-fe0f.svg b/public/emoji/1f486-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e9d1cff1d
--- /dev/null
+++ b/public/emoji/1f486-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f486.png b/public/emoji/1f486.png
deleted file mode 100644
index b91d845e3..000000000
Binary files a/public/emoji/1f486.png and /dev/null differ
diff --git a/public/emoji/1f486.svg b/public/emoji/1f486.svg
index 04a272713..39ffd8bdc 100644
--- a/public/emoji/1f486.svg
+++ b/public/emoji/1f486.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f487-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0625e084c
--- /dev/null
+++ b/public/emoji/1f487-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f487-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..932553668
--- /dev/null
+++ b/public/emoji/1f487-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fb.png b/public/emoji/1f487-1f3fb.png
deleted file mode 100644
index c743b74ab..000000000
Binary files a/public/emoji/1f487-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f487-1f3fb.svg b/public/emoji/1f487-1f3fb.svg
index 793781e7e..0625e084c 100644
--- a/public/emoji/1f487-1f3fb.svg
+++ b/public/emoji/1f487-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f487-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9457987a0
--- /dev/null
+++ b/public/emoji/1f487-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f487-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1e91c663a
--- /dev/null
+++ b/public/emoji/1f487-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fc.png b/public/emoji/1f487-1f3fc.png
deleted file mode 100644
index f144f8e55..000000000
Binary files a/public/emoji/1f487-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f487-1f3fc.svg b/public/emoji/1f487-1f3fc.svg
index ac7e41cfc..9457987a0 100644
--- a/public/emoji/1f487-1f3fc.svg
+++ b/public/emoji/1f487-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f487-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..607df1e22
--- /dev/null
+++ b/public/emoji/1f487-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f487-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5f32e6338
--- /dev/null
+++ b/public/emoji/1f487-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fd.png b/public/emoji/1f487-1f3fd.png
deleted file mode 100644
index d5ad19563..000000000
Binary files a/public/emoji/1f487-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f487-1f3fd.svg b/public/emoji/1f487-1f3fd.svg
index b581fe54a..607df1e22 100644
--- a/public/emoji/1f487-1f3fd.svg
+++ b/public/emoji/1f487-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f487-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d0cccfc8f
--- /dev/null
+++ b/public/emoji/1f487-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f487-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6f4de3161
--- /dev/null
+++ b/public/emoji/1f487-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3fe.png b/public/emoji/1f487-1f3fe.png
deleted file mode 100644
index 244fd3af0..000000000
Binary files a/public/emoji/1f487-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f487-1f3fe.svg b/public/emoji/1f487-1f3fe.svg
index 2c2be850c..d0cccfc8f 100644
--- a/public/emoji/1f487-1f3fe.svg
+++ b/public/emoji/1f487-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f487-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8edd33e3f
--- /dev/null
+++ b/public/emoji/1f487-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f487-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4246251e8
--- /dev/null
+++ b/public/emoji/1f487-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-1f3ff.png b/public/emoji/1f487-1f3ff.png
deleted file mode 100644
index 20a94a886..000000000
Binary files a/public/emoji/1f487-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f487-1f3ff.svg b/public/emoji/1f487-1f3ff.svg
index 0d4ee4cb5..8edd33e3f 100644
--- a/public/emoji/1f487-1f3ff.svg
+++ b/public/emoji/1f487-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f487-200d-2640-fe0f.svg b/public/emoji/1f487-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f6c2fd7d4
--- /dev/null
+++ b/public/emoji/1f487-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487-200d-2642-fe0f.svg b/public/emoji/1f487-200d-2642-fe0f.svg
new file mode 100644
index 000000000..257d6d08c
--- /dev/null
+++ b/public/emoji/1f487-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f487.png b/public/emoji/1f487.png
deleted file mode 100644
index 91266b129..000000000
Binary files a/public/emoji/1f487.png and /dev/null differ
diff --git a/public/emoji/1f487.svg b/public/emoji/1f487.svg
index 0d345e70b..f6c2fd7d4 100644
--- a/public/emoji/1f487.svg
+++ b/public/emoji/1f487.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f488.png b/public/emoji/1f488.png
deleted file mode 100644
index 896f4d716..000000000
Binary files a/public/emoji/1f488.png and /dev/null differ
diff --git a/public/emoji/1f488.svg b/public/emoji/1f488.svg
index 8db2bdc7d..e9ae2255c 100644
--- a/public/emoji/1f488.svg
+++ b/public/emoji/1f488.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f489.png b/public/emoji/1f489.png
deleted file mode 100644
index 71c1a9528..000000000
Binary files a/public/emoji/1f489.png and /dev/null differ
diff --git a/public/emoji/1f489.svg b/public/emoji/1f489.svg
index 0a2fe9667..9c4caf5c1 100644
--- a/public/emoji/1f489.svg
+++ b/public/emoji/1f489.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48a.png b/public/emoji/1f48a.png
deleted file mode 100644
index 1d4530e77..000000000
Binary files a/public/emoji/1f48a.png and /dev/null differ
diff --git a/public/emoji/1f48a.svg b/public/emoji/1f48a.svg
index ea0a9a8cc..c7bd66801 100644
--- a/public/emoji/1f48a.svg
+++ b/public/emoji/1f48a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48b.png b/public/emoji/1f48b.png
deleted file mode 100644
index 85e6dcfc4..000000000
Binary files a/public/emoji/1f48b.png and /dev/null differ
diff --git a/public/emoji/1f48b.svg b/public/emoji/1f48b.svg
index a2d76f20d..492398c52 100644
--- a/public/emoji/1f48b.svg
+++ b/public/emoji/1f48b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48c.png b/public/emoji/1f48c.png
deleted file mode 100644
index 3c3c767e7..000000000
Binary files a/public/emoji/1f48c.png and /dev/null differ
diff --git a/public/emoji/1f48c.svg b/public/emoji/1f48c.svg
index ae73beac1..b2f85697a 100644
--- a/public/emoji/1f48c.svg
+++ b/public/emoji/1f48c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48d.png b/public/emoji/1f48d.png
deleted file mode 100644
index 87d227adb..000000000
Binary files a/public/emoji/1f48d.png and /dev/null differ
diff --git a/public/emoji/1f48d.svg b/public/emoji/1f48d.svg
index 51da1763c..8bbab8ac6 100644
--- a/public/emoji/1f48d.svg
+++ b/public/emoji/1f48d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48e.png b/public/emoji/1f48e.png
deleted file mode 100644
index db122d26a..000000000
Binary files a/public/emoji/1f48e.png and /dev/null differ
diff --git a/public/emoji/1f48e.svg b/public/emoji/1f48e.svg
index c7a3719a2..d89d98190 100644
--- a/public/emoji/1f48e.svg
+++ b/public/emoji/1f48e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f48f.png b/public/emoji/1f48f.png
deleted file mode 100644
index 9aa519da9..000000000
Binary files a/public/emoji/1f48f.png and /dev/null differ
diff --git a/public/emoji/1f48f.svg b/public/emoji/1f48f.svg
index cd4f66f04..0bae3004b 100644
--- a/public/emoji/1f48f.svg
+++ b/public/emoji/1f48f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f490.png b/public/emoji/1f490.png
deleted file mode 100644
index 11455af6d..000000000
Binary files a/public/emoji/1f490.png and /dev/null differ
diff --git a/public/emoji/1f490.svg b/public/emoji/1f490.svg
index 8f15a9652..79b996eed 100644
--- a/public/emoji/1f490.svg
+++ b/public/emoji/1f490.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f491.png b/public/emoji/1f491.png
deleted file mode 100644
index 62111601b..000000000
Binary files a/public/emoji/1f491.png and /dev/null differ
diff --git a/public/emoji/1f491.svg b/public/emoji/1f491.svg
index 38085503c..9ec3083f4 100644
--- a/public/emoji/1f491.svg
+++ b/public/emoji/1f491.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f492.png b/public/emoji/1f492.png
deleted file mode 100644
index d0d8aa0bf..000000000
Binary files a/public/emoji/1f492.png and /dev/null differ
diff --git a/public/emoji/1f492.svg b/public/emoji/1f492.svg
index e7008d423..e2873f71e 100644
--- a/public/emoji/1f492.svg
+++ b/public/emoji/1f492.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f493.png b/public/emoji/1f493.png
deleted file mode 100644
index 0bcf2d1d5..000000000
Binary files a/public/emoji/1f493.png and /dev/null differ
diff --git a/public/emoji/1f493.svg b/public/emoji/1f493.svg
index 41388626b..1a0a8a054 100644
--- a/public/emoji/1f493.svg
+++ b/public/emoji/1f493.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f494.png b/public/emoji/1f494.png
deleted file mode 100644
index 718e26ee1..000000000
Binary files a/public/emoji/1f494.png and /dev/null differ
diff --git a/public/emoji/1f494.svg b/public/emoji/1f494.svg
index a8b9e1b05..5236cebce 100644
--- a/public/emoji/1f494.svg
+++ b/public/emoji/1f494.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f495.png b/public/emoji/1f495.png
deleted file mode 100644
index 4d8c33860..000000000
Binary files a/public/emoji/1f495.png and /dev/null differ
diff --git a/public/emoji/1f495.svg b/public/emoji/1f495.svg
index 6f51fbd1f..b8e0e292b 100644
--- a/public/emoji/1f495.svg
+++ b/public/emoji/1f495.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f496.png b/public/emoji/1f496.png
deleted file mode 100644
index 670926945..000000000
Binary files a/public/emoji/1f496.png and /dev/null differ
diff --git a/public/emoji/1f496.svg b/public/emoji/1f496.svg
index 27457d5b7..75a875b3a 100644
--- a/public/emoji/1f496.svg
+++ b/public/emoji/1f496.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f497.png b/public/emoji/1f497.png
deleted file mode 100644
index d6e694e97..000000000
Binary files a/public/emoji/1f497.png and /dev/null differ
diff --git a/public/emoji/1f497.svg b/public/emoji/1f497.svg
index a3da17e1f..1f586cd45 100644
--- a/public/emoji/1f497.svg
+++ b/public/emoji/1f497.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f498.png b/public/emoji/1f498.png
deleted file mode 100644
index 2df0078dd..000000000
Binary files a/public/emoji/1f498.png and /dev/null differ
diff --git a/public/emoji/1f498.svg b/public/emoji/1f498.svg
index 66b99f330..619c6aa24 100644
--- a/public/emoji/1f498.svg
+++ b/public/emoji/1f498.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f499.png b/public/emoji/1f499.png
deleted file mode 100644
index bdf1287e5..000000000
Binary files a/public/emoji/1f499.png and /dev/null differ
diff --git a/public/emoji/1f499.svg b/public/emoji/1f499.svg
index 6db134a92..9d48cbf89 100644
--- a/public/emoji/1f499.svg
+++ b/public/emoji/1f499.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49a.png b/public/emoji/1f49a.png
deleted file mode 100644
index c52d60a58..000000000
Binary files a/public/emoji/1f49a.png and /dev/null differ
diff --git a/public/emoji/1f49a.svg b/public/emoji/1f49a.svg
index 2d718b516..41990800e 100644
--- a/public/emoji/1f49a.svg
+++ b/public/emoji/1f49a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49b.png b/public/emoji/1f49b.png
deleted file mode 100644
index 7901a9d01..000000000
Binary files a/public/emoji/1f49b.png and /dev/null differ
diff --git a/public/emoji/1f49b.svg b/public/emoji/1f49b.svg
index c64250205..b6e197862 100644
--- a/public/emoji/1f49b.svg
+++ b/public/emoji/1f49b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49c.png b/public/emoji/1f49c.png
deleted file mode 100644
index 95c53a9ad..000000000
Binary files a/public/emoji/1f49c.png and /dev/null differ
diff --git a/public/emoji/1f49c.svg b/public/emoji/1f49c.svg
index 7adf07939..29c430046 100644
--- a/public/emoji/1f49c.svg
+++ b/public/emoji/1f49c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49d.png b/public/emoji/1f49d.png
deleted file mode 100644
index 902ceafe4..000000000
Binary files a/public/emoji/1f49d.png and /dev/null differ
diff --git a/public/emoji/1f49d.svg b/public/emoji/1f49d.svg
index 2e8a49688..aab714aaf 100644
--- a/public/emoji/1f49d.svg
+++ b/public/emoji/1f49d.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49e.png b/public/emoji/1f49e.png
deleted file mode 100644
index 7b9d1948f..000000000
Binary files a/public/emoji/1f49e.png and /dev/null differ
diff --git a/public/emoji/1f49e.svg b/public/emoji/1f49e.svg
index f90aae90f..d25ef6ba9 100644
--- a/public/emoji/1f49e.svg
+++ b/public/emoji/1f49e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f49f.png b/public/emoji/1f49f.png
deleted file mode 100644
index 5443f60bc..000000000
Binary files a/public/emoji/1f49f.png and /dev/null differ
diff --git a/public/emoji/1f49f.svg b/public/emoji/1f49f.svg
index 2c1c7d270..0276b32a8 100644
--- a/public/emoji/1f49f.svg
+++ b/public/emoji/1f49f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a0.png b/public/emoji/1f4a0.png
deleted file mode 100644
index 2a22a26d1..000000000
Binary files a/public/emoji/1f4a0.png and /dev/null differ
diff --git a/public/emoji/1f4a0.svg b/public/emoji/1f4a0.svg
index 77363d199..37291c912 100644
--- a/public/emoji/1f4a0.svg
+++ b/public/emoji/1f4a0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a1.png b/public/emoji/1f4a1.png
deleted file mode 100644
index 38e32e02d..000000000
Binary files a/public/emoji/1f4a1.png and /dev/null differ
diff --git a/public/emoji/1f4a1.svg b/public/emoji/1f4a1.svg
index 7e44d418a..dc2aa4d21 100644
--- a/public/emoji/1f4a1.svg
+++ b/public/emoji/1f4a1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a2.png b/public/emoji/1f4a2.png
deleted file mode 100644
index d63c2e000..000000000
Binary files a/public/emoji/1f4a2.png and /dev/null differ
diff --git a/public/emoji/1f4a2.svg b/public/emoji/1f4a2.svg
index d816b4934..6ba7cd3a0 100644
--- a/public/emoji/1f4a2.svg
+++ b/public/emoji/1f4a2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a3.png b/public/emoji/1f4a3.png
deleted file mode 100644
index c7f8f81c9..000000000
Binary files a/public/emoji/1f4a3.png and /dev/null differ
diff --git a/public/emoji/1f4a3.svg b/public/emoji/1f4a3.svg
index b9a7e0f74..803d57e9e 100644
--- a/public/emoji/1f4a3.svg
+++ b/public/emoji/1f4a3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a4.png b/public/emoji/1f4a4.png
deleted file mode 100644
index 9bc72b446..000000000
Binary files a/public/emoji/1f4a4.png and /dev/null differ
diff --git a/public/emoji/1f4a4.svg b/public/emoji/1f4a4.svg
index 625c72482..83df1a48d 100644
--- a/public/emoji/1f4a4.svg
+++ b/public/emoji/1f4a4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a5.png b/public/emoji/1f4a5.png
deleted file mode 100644
index 9b0f027b1..000000000
Binary files a/public/emoji/1f4a5.png and /dev/null differ
diff --git a/public/emoji/1f4a5.svg b/public/emoji/1f4a5.svg
index 5ae4d00db..f7d71d3ea 100644
--- a/public/emoji/1f4a5.svg
+++ b/public/emoji/1f4a5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a6.png b/public/emoji/1f4a6.png
deleted file mode 100644
index 4106117eb..000000000
Binary files a/public/emoji/1f4a6.png and /dev/null differ
diff --git a/public/emoji/1f4a6.svg b/public/emoji/1f4a6.svg
index d33061edc..c57213860 100644
--- a/public/emoji/1f4a6.svg
+++ b/public/emoji/1f4a6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a7.png b/public/emoji/1f4a7.png
deleted file mode 100644
index 71241ec30..000000000
Binary files a/public/emoji/1f4a7.png and /dev/null differ
diff --git a/public/emoji/1f4a7.svg b/public/emoji/1f4a7.svg
index e56136fe5..99699f6f0 100644
--- a/public/emoji/1f4a7.svg
+++ b/public/emoji/1f4a7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a8.png b/public/emoji/1f4a8.png
deleted file mode 100644
index 064b8525c..000000000
Binary files a/public/emoji/1f4a8.png and /dev/null differ
diff --git a/public/emoji/1f4a8.svg b/public/emoji/1f4a8.svg
index 5807909d1..13a086ec5 100644
--- a/public/emoji/1f4a8.svg
+++ b/public/emoji/1f4a8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4a9.png b/public/emoji/1f4a9.png
deleted file mode 100644
index 10b15e72d..000000000
Binary files a/public/emoji/1f4a9.png and /dev/null differ
diff --git a/public/emoji/1f4a9.svg b/public/emoji/1f4a9.svg
index 342ac404b..ef0d55c1f 100644
--- a/public/emoji/1f4a9.svg
+++ b/public/emoji/1f4a9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa-1f3fb.png b/public/emoji/1f4aa-1f3fb.png
deleted file mode 100644
index 1522942ce..000000000
Binary files a/public/emoji/1f4aa-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f4aa-1f3fb.svg b/public/emoji/1f4aa-1f3fb.svg
index 174dc99d2..978179689 100644
--- a/public/emoji/1f4aa-1f3fb.svg
+++ b/public/emoji/1f4aa-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa-1f3fc.png b/public/emoji/1f4aa-1f3fc.png
deleted file mode 100644
index 569c6e832..000000000
Binary files a/public/emoji/1f4aa-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f4aa-1f3fc.svg b/public/emoji/1f4aa-1f3fc.svg
index be0b9c70b..f572f93a0 100644
--- a/public/emoji/1f4aa-1f3fc.svg
+++ b/public/emoji/1f4aa-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa-1f3fd.png b/public/emoji/1f4aa-1f3fd.png
deleted file mode 100644
index 0a76b00fa..000000000
Binary files a/public/emoji/1f4aa-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f4aa-1f3fd.svg b/public/emoji/1f4aa-1f3fd.svg
index fa50395b9..1d0ca6d95 100644
--- a/public/emoji/1f4aa-1f3fd.svg
+++ b/public/emoji/1f4aa-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa-1f3fe.png b/public/emoji/1f4aa-1f3fe.png
deleted file mode 100644
index f0cf31328..000000000
Binary files a/public/emoji/1f4aa-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f4aa-1f3fe.svg b/public/emoji/1f4aa-1f3fe.svg
index 820211811..ae067f1c4 100644
--- a/public/emoji/1f4aa-1f3fe.svg
+++ b/public/emoji/1f4aa-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa-1f3ff.png b/public/emoji/1f4aa-1f3ff.png
deleted file mode 100644
index 4fda92460..000000000
Binary files a/public/emoji/1f4aa-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f4aa-1f3ff.svg b/public/emoji/1f4aa-1f3ff.svg
index 109ded67d..30b3fa626 100644
--- a/public/emoji/1f4aa-1f3ff.svg
+++ b/public/emoji/1f4aa-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4aa.png b/public/emoji/1f4aa.png
deleted file mode 100644
index 7e67c1880..000000000
Binary files a/public/emoji/1f4aa.png and /dev/null differ
diff --git a/public/emoji/1f4aa.svg b/public/emoji/1f4aa.svg
index 772927cc4..dcf6e9ede 100644
--- a/public/emoji/1f4aa.svg
+++ b/public/emoji/1f4aa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ab.png b/public/emoji/1f4ab.png
deleted file mode 100644
index 85f52efad..000000000
Binary files a/public/emoji/1f4ab.png and /dev/null differ
diff --git a/public/emoji/1f4ab.svg b/public/emoji/1f4ab.svg
index 6f4ba8a7b..9df115d2c 100644
--- a/public/emoji/1f4ab.svg
+++ b/public/emoji/1f4ab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ac.png b/public/emoji/1f4ac.png
deleted file mode 100644
index a34ef7417..000000000
Binary files a/public/emoji/1f4ac.png and /dev/null differ
diff --git a/public/emoji/1f4ac.svg b/public/emoji/1f4ac.svg
index 663533c82..fa8769018 100644
--- a/public/emoji/1f4ac.svg
+++ b/public/emoji/1f4ac.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ad.png b/public/emoji/1f4ad.png
deleted file mode 100644
index 72fe8fa70..000000000
Binary files a/public/emoji/1f4ad.png and /dev/null differ
diff --git a/public/emoji/1f4ad.svg b/public/emoji/1f4ad.svg
index b9883d63a..6ff056df1 100644
--- a/public/emoji/1f4ad.svg
+++ b/public/emoji/1f4ad.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ae.png b/public/emoji/1f4ae.png
deleted file mode 100644
index d6af8b600..000000000
Binary files a/public/emoji/1f4ae.png and /dev/null differ
diff --git a/public/emoji/1f4ae.svg b/public/emoji/1f4ae.svg
index 3703f53e2..be4d94192 100644
--- a/public/emoji/1f4ae.svg
+++ b/public/emoji/1f4ae.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4af.png b/public/emoji/1f4af.png
deleted file mode 100644
index 6903ff030..000000000
Binary files a/public/emoji/1f4af.png and /dev/null differ
diff --git a/public/emoji/1f4af.svg b/public/emoji/1f4af.svg
index 8bb5a8027..80a08e016 100644
--- a/public/emoji/1f4af.svg
+++ b/public/emoji/1f4af.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b0.png b/public/emoji/1f4b0.png
deleted file mode 100644
index b9296be09..000000000
Binary files a/public/emoji/1f4b0.png and /dev/null differ
diff --git a/public/emoji/1f4b0.svg b/public/emoji/1f4b0.svg
index 5dcbf7d1c..a23258732 100644
--- a/public/emoji/1f4b0.svg
+++ b/public/emoji/1f4b0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b1.png b/public/emoji/1f4b1.png
deleted file mode 100644
index 4d46c6050..000000000
Binary files a/public/emoji/1f4b1.png and /dev/null differ
diff --git a/public/emoji/1f4b1.svg b/public/emoji/1f4b1.svg
index 350402b9d..66cee5e03 100644
--- a/public/emoji/1f4b1.svg
+++ b/public/emoji/1f4b1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b2.png b/public/emoji/1f4b2.png
deleted file mode 100644
index ef2c2e205..000000000
Binary files a/public/emoji/1f4b2.png and /dev/null differ
diff --git a/public/emoji/1f4b2.svg b/public/emoji/1f4b2.svg
index 12419774c..12abc5323 100644
--- a/public/emoji/1f4b2.svg
+++ b/public/emoji/1f4b2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b3.png b/public/emoji/1f4b3.png
deleted file mode 100644
index 372777d5c..000000000
Binary files a/public/emoji/1f4b3.png and /dev/null differ
diff --git a/public/emoji/1f4b3.svg b/public/emoji/1f4b3.svg
index 289be20ad..2a7941970 100644
--- a/public/emoji/1f4b3.svg
+++ b/public/emoji/1f4b3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b4.png b/public/emoji/1f4b4.png
deleted file mode 100644
index 63ee4799d..000000000
Binary files a/public/emoji/1f4b4.png and /dev/null differ
diff --git a/public/emoji/1f4b4.svg b/public/emoji/1f4b4.svg
index 73ada09a2..6d9d73854 100644
--- a/public/emoji/1f4b4.svg
+++ b/public/emoji/1f4b4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b5.png b/public/emoji/1f4b5.png
deleted file mode 100644
index a9904c282..000000000
Binary files a/public/emoji/1f4b5.png and /dev/null differ
diff --git a/public/emoji/1f4b5.svg b/public/emoji/1f4b5.svg
index a6723a2be..1288e2638 100644
--- a/public/emoji/1f4b5.svg
+++ b/public/emoji/1f4b5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b6.png b/public/emoji/1f4b6.png
deleted file mode 100644
index a49020820..000000000
Binary files a/public/emoji/1f4b6.png and /dev/null differ
diff --git a/public/emoji/1f4b6.svg b/public/emoji/1f4b6.svg
index 4ab37625b..54ca3194d 100644
--- a/public/emoji/1f4b6.svg
+++ b/public/emoji/1f4b6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b7.png b/public/emoji/1f4b7.png
deleted file mode 100644
index a0d4c4099..000000000
Binary files a/public/emoji/1f4b7.png and /dev/null differ
diff --git a/public/emoji/1f4b7.svg b/public/emoji/1f4b7.svg
index 59a5f522a..c619edaad 100644
--- a/public/emoji/1f4b7.svg
+++ b/public/emoji/1f4b7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b8.png b/public/emoji/1f4b8.png
deleted file mode 100644
index f022b04b3..000000000
Binary files a/public/emoji/1f4b8.png and /dev/null differ
diff --git a/public/emoji/1f4b8.svg b/public/emoji/1f4b8.svg
index 8e90f8e50..f51e8fbb3 100644
--- a/public/emoji/1f4b8.svg
+++ b/public/emoji/1f4b8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4b9.png b/public/emoji/1f4b9.png
deleted file mode 100644
index 9773f03be..000000000
Binary files a/public/emoji/1f4b9.png and /dev/null differ
diff --git a/public/emoji/1f4b9.svg b/public/emoji/1f4b9.svg
index b794bad1c..eff7d7351 100644
--- a/public/emoji/1f4b9.svg
+++ b/public/emoji/1f4b9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ba.png b/public/emoji/1f4ba.png
deleted file mode 100644
index a6d72d95a..000000000
Binary files a/public/emoji/1f4ba.png and /dev/null differ
diff --git a/public/emoji/1f4ba.svg b/public/emoji/1f4ba.svg
index a961080f2..1ae3854de 100644
--- a/public/emoji/1f4ba.svg
+++ b/public/emoji/1f4ba.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4bb.png b/public/emoji/1f4bb.png
deleted file mode 100644
index c1fee27e3..000000000
Binary files a/public/emoji/1f4bb.png and /dev/null differ
diff --git a/public/emoji/1f4bb.svg b/public/emoji/1f4bb.svg
index de2b1388a..e995d4856 100644
--- a/public/emoji/1f4bb.svg
+++ b/public/emoji/1f4bb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4bc.png b/public/emoji/1f4bc.png
deleted file mode 100644
index b9912ba21..000000000
Binary files a/public/emoji/1f4bc.png and /dev/null differ
diff --git a/public/emoji/1f4bc.svg b/public/emoji/1f4bc.svg
index 16fd4d572..9556a69ec 100644
--- a/public/emoji/1f4bc.svg
+++ b/public/emoji/1f4bc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4bd.png b/public/emoji/1f4bd.png
deleted file mode 100644
index 9fa94cfbe..000000000
Binary files a/public/emoji/1f4bd.png and /dev/null differ
diff --git a/public/emoji/1f4bd.svg b/public/emoji/1f4bd.svg
index f37c1636c..e02677fee 100644
--- a/public/emoji/1f4bd.svg
+++ b/public/emoji/1f4bd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4be.png b/public/emoji/1f4be.png
deleted file mode 100644
index 072a76d3c..000000000
Binary files a/public/emoji/1f4be.png and /dev/null differ
diff --git a/public/emoji/1f4be.svg b/public/emoji/1f4be.svg
index 9eba4f910..4a2be4b03 100644
--- a/public/emoji/1f4be.svg
+++ b/public/emoji/1f4be.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4bf.png b/public/emoji/1f4bf.png
deleted file mode 100644
index e6b01449c..000000000
Binary files a/public/emoji/1f4bf.png and /dev/null differ
diff --git a/public/emoji/1f4bf.svg b/public/emoji/1f4bf.svg
index eac0a2aab..78c4bdafd 100644
--- a/public/emoji/1f4bf.svg
+++ b/public/emoji/1f4bf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c0.png b/public/emoji/1f4c0.png
deleted file mode 100644
index 045a6f7a0..000000000
Binary files a/public/emoji/1f4c0.png and /dev/null differ
diff --git a/public/emoji/1f4c0.svg b/public/emoji/1f4c0.svg
index 2547f71c1..341784d8e 100644
--- a/public/emoji/1f4c0.svg
+++ b/public/emoji/1f4c0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c1.png b/public/emoji/1f4c1.png
deleted file mode 100644
index addedaf08..000000000
Binary files a/public/emoji/1f4c1.png and /dev/null differ
diff --git a/public/emoji/1f4c1.svg b/public/emoji/1f4c1.svg
index 8eaf3c99c..1fd3ac19c 100644
--- a/public/emoji/1f4c1.svg
+++ b/public/emoji/1f4c1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c2.png b/public/emoji/1f4c2.png
deleted file mode 100644
index 3993b0922..000000000
Binary files a/public/emoji/1f4c2.png and /dev/null differ
diff --git a/public/emoji/1f4c2.svg b/public/emoji/1f4c2.svg
index 85fc74148..74498396d 100644
--- a/public/emoji/1f4c2.svg
+++ b/public/emoji/1f4c2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c3.png b/public/emoji/1f4c3.png
deleted file mode 100644
index 06355319c..000000000
Binary files a/public/emoji/1f4c3.png and /dev/null differ
diff --git a/public/emoji/1f4c3.svg b/public/emoji/1f4c3.svg
index 46b14fcc8..a275b2735 100644
--- a/public/emoji/1f4c3.svg
+++ b/public/emoji/1f4c3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c4.png b/public/emoji/1f4c4.png
deleted file mode 100644
index ba4ed757e..000000000
Binary files a/public/emoji/1f4c4.png and /dev/null differ
diff --git a/public/emoji/1f4c4.svg b/public/emoji/1f4c4.svg
index b782c6146..3b2d58b31 100644
--- a/public/emoji/1f4c4.svg
+++ b/public/emoji/1f4c4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c5.png b/public/emoji/1f4c5.png
deleted file mode 100644
index f05b3da97..000000000
Binary files a/public/emoji/1f4c5.png and /dev/null differ
diff --git a/public/emoji/1f4c5.svg b/public/emoji/1f4c5.svg
index 5b18759b0..2defa9405 100644
--- a/public/emoji/1f4c5.svg
+++ b/public/emoji/1f4c5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c6.png b/public/emoji/1f4c6.png
deleted file mode 100644
index 47353b744..000000000
Binary files a/public/emoji/1f4c6.png and /dev/null differ
diff --git a/public/emoji/1f4c6.svg b/public/emoji/1f4c6.svg
index a82a59085..1356a920e 100644
--- a/public/emoji/1f4c6.svg
+++ b/public/emoji/1f4c6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c7.png b/public/emoji/1f4c7.png
deleted file mode 100644
index 151e11cb3..000000000
Binary files a/public/emoji/1f4c7.png and /dev/null differ
diff --git a/public/emoji/1f4c7.svg b/public/emoji/1f4c7.svg
index 21c4b7730..d8f8fb447 100644
--- a/public/emoji/1f4c7.svg
+++ b/public/emoji/1f4c7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c8.png b/public/emoji/1f4c8.png
deleted file mode 100644
index f13cfcf99..000000000
Binary files a/public/emoji/1f4c8.png and /dev/null differ
diff --git a/public/emoji/1f4c8.svg b/public/emoji/1f4c8.svg
index 69c80f6b8..6500ccbb7 100644
--- a/public/emoji/1f4c8.svg
+++ b/public/emoji/1f4c8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4c9.png b/public/emoji/1f4c9.png
deleted file mode 100644
index 5222ec72d..000000000
Binary files a/public/emoji/1f4c9.png and /dev/null differ
diff --git a/public/emoji/1f4c9.svg b/public/emoji/1f4c9.svg
index 621097002..1989d48fa 100644
--- a/public/emoji/1f4c9.svg
+++ b/public/emoji/1f4c9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ca.png b/public/emoji/1f4ca.png
deleted file mode 100644
index 53c894550..000000000
Binary files a/public/emoji/1f4ca.png and /dev/null differ
diff --git a/public/emoji/1f4ca.svg b/public/emoji/1f4ca.svg
index 619ce84e4..b7aee13b6 100644
--- a/public/emoji/1f4ca.svg
+++ b/public/emoji/1f4ca.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4cb.png b/public/emoji/1f4cb.png
deleted file mode 100644
index 7edcfc525..000000000
Binary files a/public/emoji/1f4cb.png and /dev/null differ
diff --git a/public/emoji/1f4cb.svg b/public/emoji/1f4cb.svg
index 29f1ef7fb..b2577d99a 100644
--- a/public/emoji/1f4cb.svg
+++ b/public/emoji/1f4cb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4cc.png b/public/emoji/1f4cc.png
deleted file mode 100644
index 57e07d7f4..000000000
Binary files a/public/emoji/1f4cc.png and /dev/null differ
diff --git a/public/emoji/1f4cc.svg b/public/emoji/1f4cc.svg
index 540377228..ebc2187e4 100644
--- a/public/emoji/1f4cc.svg
+++ b/public/emoji/1f4cc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4cd.png b/public/emoji/1f4cd.png
deleted file mode 100644
index 28b9d7286..000000000
Binary files a/public/emoji/1f4cd.png and /dev/null differ
diff --git a/public/emoji/1f4cd.svg b/public/emoji/1f4cd.svg
index fa9f105cf..e86e5d8ed 100644
--- a/public/emoji/1f4cd.svg
+++ b/public/emoji/1f4cd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ce.png b/public/emoji/1f4ce.png
deleted file mode 100644
index 8cd8d4f87..000000000
Binary files a/public/emoji/1f4ce.png and /dev/null differ
diff --git a/public/emoji/1f4ce.svg b/public/emoji/1f4ce.svg
index 47c8d2c6a..7d2e463ec 100644
--- a/public/emoji/1f4ce.svg
+++ b/public/emoji/1f4ce.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4cf.png b/public/emoji/1f4cf.png
deleted file mode 100644
index 1017b7433..000000000
Binary files a/public/emoji/1f4cf.png and /dev/null differ
diff --git a/public/emoji/1f4cf.svg b/public/emoji/1f4cf.svg
index 3d66c0674..50062de14 100644
--- a/public/emoji/1f4cf.svg
+++ b/public/emoji/1f4cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d0.png b/public/emoji/1f4d0.png
deleted file mode 100644
index 77dee9ee8..000000000
Binary files a/public/emoji/1f4d0.png and /dev/null differ
diff --git a/public/emoji/1f4d0.svg b/public/emoji/1f4d0.svg
index 5d4c52db9..08704eacf 100644
--- a/public/emoji/1f4d0.svg
+++ b/public/emoji/1f4d0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d1.png b/public/emoji/1f4d1.png
deleted file mode 100644
index f8d9e01b4..000000000
Binary files a/public/emoji/1f4d1.png and /dev/null differ
diff --git a/public/emoji/1f4d1.svg b/public/emoji/1f4d1.svg
index b0ff58643..573134838 100644
--- a/public/emoji/1f4d1.svg
+++ b/public/emoji/1f4d1.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d2.png b/public/emoji/1f4d2.png
deleted file mode 100644
index 13e7561a4..000000000
Binary files a/public/emoji/1f4d2.png and /dev/null differ
diff --git a/public/emoji/1f4d2.svg b/public/emoji/1f4d2.svg
index 93fecc88c..32f457064 100644
--- a/public/emoji/1f4d2.svg
+++ b/public/emoji/1f4d2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d3.png b/public/emoji/1f4d3.png
deleted file mode 100644
index f6c28b491..000000000
Binary files a/public/emoji/1f4d3.png and /dev/null differ
diff --git a/public/emoji/1f4d3.svg b/public/emoji/1f4d3.svg
index 604ba14e9..65c7642c2 100644
--- a/public/emoji/1f4d3.svg
+++ b/public/emoji/1f4d3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d4.png b/public/emoji/1f4d4.png
deleted file mode 100644
index 03f566b6d..000000000
Binary files a/public/emoji/1f4d4.png and /dev/null differ
diff --git a/public/emoji/1f4d4.svg b/public/emoji/1f4d4.svg
index 211f080c9..9f269a7e4 100644
--- a/public/emoji/1f4d4.svg
+++ b/public/emoji/1f4d4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d5.png b/public/emoji/1f4d5.png
deleted file mode 100644
index 6395cf215..000000000
Binary files a/public/emoji/1f4d5.png and /dev/null differ
diff --git a/public/emoji/1f4d5.svg b/public/emoji/1f4d5.svg
index be6b7fa3c..821ba5743 100644
--- a/public/emoji/1f4d5.svg
+++ b/public/emoji/1f4d5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d6.png b/public/emoji/1f4d6.png
deleted file mode 100644
index 0f4447ed3..000000000
Binary files a/public/emoji/1f4d6.png and /dev/null differ
diff --git a/public/emoji/1f4d6.svg b/public/emoji/1f4d6.svg
index 40a387e31..47e6ccb63 100644
--- a/public/emoji/1f4d6.svg
+++ b/public/emoji/1f4d6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d7.png b/public/emoji/1f4d7.png
deleted file mode 100644
index e5e411cf3..000000000
Binary files a/public/emoji/1f4d7.png and /dev/null differ
diff --git a/public/emoji/1f4d7.svg b/public/emoji/1f4d7.svg
index 5ef4524b9..8c5f2c7f7 100644
--- a/public/emoji/1f4d7.svg
+++ b/public/emoji/1f4d7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d8.png b/public/emoji/1f4d8.png
deleted file mode 100644
index e1e455401..000000000
Binary files a/public/emoji/1f4d8.png and /dev/null differ
diff --git a/public/emoji/1f4d8.svg b/public/emoji/1f4d8.svg
index 3e1ba1c8f..e20be569c 100644
--- a/public/emoji/1f4d8.svg
+++ b/public/emoji/1f4d8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4d9.png b/public/emoji/1f4d9.png
deleted file mode 100644
index ab40e6ae6..000000000
Binary files a/public/emoji/1f4d9.png and /dev/null differ
diff --git a/public/emoji/1f4d9.svg b/public/emoji/1f4d9.svg
index 0758e63e0..aa9ac8ac7 100644
--- a/public/emoji/1f4d9.svg
+++ b/public/emoji/1f4d9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4da.png b/public/emoji/1f4da.png
deleted file mode 100644
index 59a8bafeb..000000000
Binary files a/public/emoji/1f4da.png and /dev/null differ
diff --git a/public/emoji/1f4da.svg b/public/emoji/1f4da.svg
index 8469d334e..fd830ccba 100644
--- a/public/emoji/1f4da.svg
+++ b/public/emoji/1f4da.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4db.png b/public/emoji/1f4db.png
deleted file mode 100644
index ec5ee213e..000000000
Binary files a/public/emoji/1f4db.png and /dev/null differ
diff --git a/public/emoji/1f4db.svg b/public/emoji/1f4db.svg
index 616945d2d..ad86629b7 100644
--- a/public/emoji/1f4db.svg
+++ b/public/emoji/1f4db.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4dc.png b/public/emoji/1f4dc.png
deleted file mode 100644
index 50ee5dcd4..000000000
Binary files a/public/emoji/1f4dc.png and /dev/null differ
diff --git a/public/emoji/1f4dc.svg b/public/emoji/1f4dc.svg
index 6b1d35971..b29dfd1d5 100644
--- a/public/emoji/1f4dc.svg
+++ b/public/emoji/1f4dc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4dd.png b/public/emoji/1f4dd.png
deleted file mode 100644
index edc6155e1..000000000
Binary files a/public/emoji/1f4dd.png and /dev/null differ
diff --git a/public/emoji/1f4dd.svg b/public/emoji/1f4dd.svg
index 5e6f46c8b..583017b87 100644
--- a/public/emoji/1f4dd.svg
+++ b/public/emoji/1f4dd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4de.png b/public/emoji/1f4de.png
deleted file mode 100644
index 69388316c..000000000
Binary files a/public/emoji/1f4de.png and /dev/null differ
diff --git a/public/emoji/1f4de.svg b/public/emoji/1f4de.svg
index a4039435d..e253cab80 100644
--- a/public/emoji/1f4de.svg
+++ b/public/emoji/1f4de.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4df.png b/public/emoji/1f4df.png
deleted file mode 100644
index b24b99306..000000000
Binary files a/public/emoji/1f4df.png and /dev/null differ
diff --git a/public/emoji/1f4df.svg b/public/emoji/1f4df.svg
index a46aa37d0..f8a0609f8 100644
--- a/public/emoji/1f4df.svg
+++ b/public/emoji/1f4df.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e0.png b/public/emoji/1f4e0.png
deleted file mode 100644
index 6f929e294..000000000
Binary files a/public/emoji/1f4e0.png and /dev/null differ
diff --git a/public/emoji/1f4e0.svg b/public/emoji/1f4e0.svg
index 7e52dbfd0..cf9dfd4f1 100644
--- a/public/emoji/1f4e0.svg
+++ b/public/emoji/1f4e0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e1.png b/public/emoji/1f4e1.png
deleted file mode 100644
index db0372795..000000000
Binary files a/public/emoji/1f4e1.png and /dev/null differ
diff --git a/public/emoji/1f4e1.svg b/public/emoji/1f4e1.svg
index f15cb8a0e..e345be12d 100644
--- a/public/emoji/1f4e1.svg
+++ b/public/emoji/1f4e1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e2.png b/public/emoji/1f4e2.png
deleted file mode 100644
index 5fd76a95b..000000000
Binary files a/public/emoji/1f4e2.png and /dev/null differ
diff --git a/public/emoji/1f4e2.svg b/public/emoji/1f4e2.svg
index 44179fefc..e6250d2bf 100644
--- a/public/emoji/1f4e2.svg
+++ b/public/emoji/1f4e2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e3.png b/public/emoji/1f4e3.png
deleted file mode 100644
index 4e6735188..000000000
Binary files a/public/emoji/1f4e3.png and /dev/null differ
diff --git a/public/emoji/1f4e3.svg b/public/emoji/1f4e3.svg
index 0967abab9..e217cdaf2 100644
--- a/public/emoji/1f4e3.svg
+++ b/public/emoji/1f4e3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e4.png b/public/emoji/1f4e4.png
deleted file mode 100644
index 46493ed5b..000000000
Binary files a/public/emoji/1f4e4.png and /dev/null differ
diff --git a/public/emoji/1f4e4.svg b/public/emoji/1f4e4.svg
index b7b006630..69fce0a9b 100644
--- a/public/emoji/1f4e4.svg
+++ b/public/emoji/1f4e4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e5.png b/public/emoji/1f4e5.png
deleted file mode 100644
index 41a6be2b0..000000000
Binary files a/public/emoji/1f4e5.png and /dev/null differ
diff --git a/public/emoji/1f4e5.svg b/public/emoji/1f4e5.svg
index 75df61a63..10c940b95 100644
--- a/public/emoji/1f4e5.svg
+++ b/public/emoji/1f4e5.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e6.png b/public/emoji/1f4e6.png
deleted file mode 100644
index 85431756a..000000000
Binary files a/public/emoji/1f4e6.png and /dev/null differ
diff --git a/public/emoji/1f4e6.svg b/public/emoji/1f4e6.svg
index 95182fd1b..d0b8d6d1d 100644
--- a/public/emoji/1f4e6.svg
+++ b/public/emoji/1f4e6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e7.png b/public/emoji/1f4e7.png
deleted file mode 100644
index d22e654a2..000000000
Binary files a/public/emoji/1f4e7.png and /dev/null differ
diff --git a/public/emoji/1f4e7.svg b/public/emoji/1f4e7.svg
index c296f5070..60b696762 100644
--- a/public/emoji/1f4e7.svg
+++ b/public/emoji/1f4e7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e8.png b/public/emoji/1f4e8.png
deleted file mode 100644
index fd22e8818..000000000
Binary files a/public/emoji/1f4e8.png and /dev/null differ
diff --git a/public/emoji/1f4e8.svg b/public/emoji/1f4e8.svg
index 694c04ee9..d2379e22a 100644
--- a/public/emoji/1f4e8.svg
+++ b/public/emoji/1f4e8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4e9.png b/public/emoji/1f4e9.png
deleted file mode 100644
index 7448a6b76..000000000
Binary files a/public/emoji/1f4e9.png and /dev/null differ
diff --git a/public/emoji/1f4e9.svg b/public/emoji/1f4e9.svg
index 2e5dd66c4..bde5374d4 100644
--- a/public/emoji/1f4e9.svg
+++ b/public/emoji/1f4e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ea.png b/public/emoji/1f4ea.png
deleted file mode 100644
index ddc705db0..000000000
Binary files a/public/emoji/1f4ea.png and /dev/null differ
diff --git a/public/emoji/1f4ea.svg b/public/emoji/1f4ea.svg
index b825c02f2..6c7e0d114 100644
--- a/public/emoji/1f4ea.svg
+++ b/public/emoji/1f4ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4eb.png b/public/emoji/1f4eb.png
deleted file mode 100644
index ef5174e40..000000000
Binary files a/public/emoji/1f4eb.png and /dev/null differ
diff --git a/public/emoji/1f4eb.svg b/public/emoji/1f4eb.svg
index fcd20da49..a48e2210e 100644
--- a/public/emoji/1f4eb.svg
+++ b/public/emoji/1f4eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ec.png b/public/emoji/1f4ec.png
deleted file mode 100644
index 5460616a5..000000000
Binary files a/public/emoji/1f4ec.png and /dev/null differ
diff --git a/public/emoji/1f4ec.svg b/public/emoji/1f4ec.svg
index 2393774c7..0ebfec4c5 100644
--- a/public/emoji/1f4ec.svg
+++ b/public/emoji/1f4ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ed.png b/public/emoji/1f4ed.png
deleted file mode 100644
index f9aeee6b1..000000000
Binary files a/public/emoji/1f4ed.png and /dev/null differ
diff --git a/public/emoji/1f4ed.svg b/public/emoji/1f4ed.svg
index c4fddbace..ebecab75e 100644
--- a/public/emoji/1f4ed.svg
+++ b/public/emoji/1f4ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ee.png b/public/emoji/1f4ee.png
deleted file mode 100644
index 07c9c4ab3..000000000
Binary files a/public/emoji/1f4ee.png and /dev/null differ
diff --git a/public/emoji/1f4ee.svg b/public/emoji/1f4ee.svg
index 2c53c56e2..4806b51ff 100644
--- a/public/emoji/1f4ee.svg
+++ b/public/emoji/1f4ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ef.png b/public/emoji/1f4ef.png
deleted file mode 100644
index c173b8dbd..000000000
Binary files a/public/emoji/1f4ef.png and /dev/null differ
diff --git a/public/emoji/1f4ef.svg b/public/emoji/1f4ef.svg
index 6ead0b07b..e60c3067e 100644
--- a/public/emoji/1f4ef.svg
+++ b/public/emoji/1f4ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f0.png b/public/emoji/1f4f0.png
deleted file mode 100644
index 2aa8f060b..000000000
Binary files a/public/emoji/1f4f0.png and /dev/null differ
diff --git a/public/emoji/1f4f0.svg b/public/emoji/1f4f0.svg
index 51f9f85a0..d5a70ea3c 100644
--- a/public/emoji/1f4f0.svg
+++ b/public/emoji/1f4f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f1.png b/public/emoji/1f4f1.png
deleted file mode 100644
index fd377acf8..000000000
Binary files a/public/emoji/1f4f1.png and /dev/null differ
diff --git a/public/emoji/1f4f1.svg b/public/emoji/1f4f1.svg
index bbb0684ac..e0387a1c4 100644
--- a/public/emoji/1f4f1.svg
+++ b/public/emoji/1f4f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f2.png b/public/emoji/1f4f2.png
deleted file mode 100644
index e2f308f8e..000000000
Binary files a/public/emoji/1f4f2.png and /dev/null differ
diff --git a/public/emoji/1f4f2.svg b/public/emoji/1f4f2.svg
index 9f323e496..95437b263 100644
--- a/public/emoji/1f4f2.svg
+++ b/public/emoji/1f4f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f3.png b/public/emoji/1f4f3.png
deleted file mode 100644
index cc46510e4..000000000
Binary files a/public/emoji/1f4f3.png and /dev/null differ
diff --git a/public/emoji/1f4f3.svg b/public/emoji/1f4f3.svg
index 7f2e947b1..5c2e1a4f5 100644
--- a/public/emoji/1f4f3.svg
+++ b/public/emoji/1f4f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f4.png b/public/emoji/1f4f4.png
deleted file mode 100644
index 8b661ec1c..000000000
Binary files a/public/emoji/1f4f4.png and /dev/null differ
diff --git a/public/emoji/1f4f4.svg b/public/emoji/1f4f4.svg
index 3f7fd7f15..5dc375568 100644
--- a/public/emoji/1f4f4.svg
+++ b/public/emoji/1f4f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f5.png b/public/emoji/1f4f5.png
deleted file mode 100644
index 7b1ae6ea5..000000000
Binary files a/public/emoji/1f4f5.png and /dev/null differ
diff --git a/public/emoji/1f4f5.svg b/public/emoji/1f4f5.svg
index dfeb0985c..86b5a5df3 100644
--- a/public/emoji/1f4f5.svg
+++ b/public/emoji/1f4f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f6.png b/public/emoji/1f4f6.png
deleted file mode 100644
index ee2b5a4b5..000000000
Binary files a/public/emoji/1f4f6.png and /dev/null differ
diff --git a/public/emoji/1f4f6.svg b/public/emoji/1f4f6.svg
index f6033621b..b9eee1d41 100644
--- a/public/emoji/1f4f6.svg
+++ b/public/emoji/1f4f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f7.png b/public/emoji/1f4f7.png
deleted file mode 100644
index 0a3429f72..000000000
Binary files a/public/emoji/1f4f7.png and /dev/null differ
diff --git a/public/emoji/1f4f7.svg b/public/emoji/1f4f7.svg
index ed7884b41..6cc2096be 100644
--- a/public/emoji/1f4f7.svg
+++ b/public/emoji/1f4f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f8.png b/public/emoji/1f4f8.png
deleted file mode 100644
index 27471da20..000000000
Binary files a/public/emoji/1f4f8.png and /dev/null differ
diff --git a/public/emoji/1f4f8.svg b/public/emoji/1f4f8.svg
index 7814bdd92..e9f242d9e 100644
--- a/public/emoji/1f4f8.svg
+++ b/public/emoji/1f4f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4f9.png b/public/emoji/1f4f9.png
deleted file mode 100644
index 85b300d42..000000000
Binary files a/public/emoji/1f4f9.png and /dev/null differ
diff --git a/public/emoji/1f4f9.svg b/public/emoji/1f4f9.svg
index 8c71d01a1..c279f12e9 100644
--- a/public/emoji/1f4f9.svg
+++ b/public/emoji/1f4f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4fa.png b/public/emoji/1f4fa.png
deleted file mode 100644
index 999f1fb5c..000000000
Binary files a/public/emoji/1f4fa.png and /dev/null differ
diff --git a/public/emoji/1f4fa.svg b/public/emoji/1f4fa.svg
index 3d446fd6e..b967aef26 100644
--- a/public/emoji/1f4fa.svg
+++ b/public/emoji/1f4fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4fb.png b/public/emoji/1f4fb.png
deleted file mode 100644
index dec381fa2..000000000
Binary files a/public/emoji/1f4fb.png and /dev/null differ
diff --git a/public/emoji/1f4fb.svg b/public/emoji/1f4fb.svg
index 4a7bff172..88b7b9518 100644
--- a/public/emoji/1f4fb.svg
+++ b/public/emoji/1f4fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4fc.png b/public/emoji/1f4fc.png
deleted file mode 100644
index b9eb78ecd..000000000
Binary files a/public/emoji/1f4fc.png and /dev/null differ
diff --git a/public/emoji/1f4fc.svg b/public/emoji/1f4fc.svg
index 6b1e3d0c2..991e95f54 100644
--- a/public/emoji/1f4fc.svg
+++ b/public/emoji/1f4fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4fd.png b/public/emoji/1f4fd.png
deleted file mode 100644
index ce9ab0daa..000000000
Binary files a/public/emoji/1f4fd.png and /dev/null differ
diff --git a/public/emoji/1f4fd.svg b/public/emoji/1f4fd.svg
index a440cbfe4..922c71b8d 100644
--- a/public/emoji/1f4fd.svg
+++ b/public/emoji/1f4fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f4ff.png b/public/emoji/1f4ff.png
deleted file mode 100644
index a4b6dfcc6..000000000
Binary files a/public/emoji/1f4ff.png and /dev/null differ
diff --git a/public/emoji/1f4ff.svg b/public/emoji/1f4ff.svg
index 1fa2a4abf..b5adfabe4 100644
--- a/public/emoji/1f4ff.svg
+++ b/public/emoji/1f4ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f500.png b/public/emoji/1f500.png
deleted file mode 100644
index 5904badde..000000000
Binary files a/public/emoji/1f500.png and /dev/null differ
diff --git a/public/emoji/1f500.svg b/public/emoji/1f500.svg
index 81a5389c7..25b1bf27b 100644
--- a/public/emoji/1f500.svg
+++ b/public/emoji/1f500.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f501.png b/public/emoji/1f501.png
deleted file mode 100644
index 540ce4e0f..000000000
Binary files a/public/emoji/1f501.png and /dev/null differ
diff --git a/public/emoji/1f501.svg b/public/emoji/1f501.svg
index fccd8243c..2b59af7c2 100644
--- a/public/emoji/1f501.svg
+++ b/public/emoji/1f501.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f502.png b/public/emoji/1f502.png
deleted file mode 100644
index 9567e8333..000000000
Binary files a/public/emoji/1f502.png and /dev/null differ
diff --git a/public/emoji/1f502.svg b/public/emoji/1f502.svg
index 3372590bd..7ab33b25f 100644
--- a/public/emoji/1f502.svg
+++ b/public/emoji/1f502.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f503.png b/public/emoji/1f503.png
deleted file mode 100644
index 26e49c383..000000000
Binary files a/public/emoji/1f503.png and /dev/null differ
diff --git a/public/emoji/1f503.svg b/public/emoji/1f503.svg
index 3aa0d63ba..716355f63 100644
--- a/public/emoji/1f503.svg
+++ b/public/emoji/1f503.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f504.png b/public/emoji/1f504.png
deleted file mode 100644
index 8d06d8e09..000000000
Binary files a/public/emoji/1f504.png and /dev/null differ
diff --git a/public/emoji/1f504.svg b/public/emoji/1f504.svg
index 2eefda0d3..61b0c0459 100644
--- a/public/emoji/1f504.svg
+++ b/public/emoji/1f504.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f505.png b/public/emoji/1f505.png
deleted file mode 100644
index 543011d39..000000000
Binary files a/public/emoji/1f505.png and /dev/null differ
diff --git a/public/emoji/1f505.svg b/public/emoji/1f505.svg
index 206610ecf..060996279 100644
--- a/public/emoji/1f505.svg
+++ b/public/emoji/1f505.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f506.png b/public/emoji/1f506.png
deleted file mode 100644
index c41f2d5fd..000000000
Binary files a/public/emoji/1f506.png and /dev/null differ
diff --git a/public/emoji/1f506.svg b/public/emoji/1f506.svg
index dc65b9a6d..251d4ffa7 100644
--- a/public/emoji/1f506.svg
+++ b/public/emoji/1f506.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f507.png b/public/emoji/1f507.png
deleted file mode 100644
index 7c1788e50..000000000
Binary files a/public/emoji/1f507.png and /dev/null differ
diff --git a/public/emoji/1f507.svg b/public/emoji/1f507.svg
index 4d10ceb24..9dc1fe903 100644
--- a/public/emoji/1f507.svg
+++ b/public/emoji/1f507.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f508.png b/public/emoji/1f508.png
deleted file mode 100644
index 7bcffb8fc..000000000
Binary files a/public/emoji/1f508.png and /dev/null differ
diff --git a/public/emoji/1f508.svg b/public/emoji/1f508.svg
index 9eac4a0d0..33b12bdda 100644
--- a/public/emoji/1f508.svg
+++ b/public/emoji/1f508.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f509.png b/public/emoji/1f509.png
deleted file mode 100644
index e75ddca53..000000000
Binary files a/public/emoji/1f509.png and /dev/null differ
diff --git a/public/emoji/1f509.svg b/public/emoji/1f509.svg
index 5460d8e98..7566b83e8 100644
--- a/public/emoji/1f509.svg
+++ b/public/emoji/1f509.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50a.png b/public/emoji/1f50a.png
deleted file mode 100644
index 8370033a5..000000000
Binary files a/public/emoji/1f50a.png and /dev/null differ
diff --git a/public/emoji/1f50a.svg b/public/emoji/1f50a.svg
index eb2e94c83..8614d3e92 100644
--- a/public/emoji/1f50a.svg
+++ b/public/emoji/1f50a.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50b.png b/public/emoji/1f50b.png
deleted file mode 100644
index f593e2bdb..000000000
Binary files a/public/emoji/1f50b.png and /dev/null differ
diff --git a/public/emoji/1f50b.svg b/public/emoji/1f50b.svg
index 370d5cfe0..d8b375c15 100644
--- a/public/emoji/1f50b.svg
+++ b/public/emoji/1f50b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50c.png b/public/emoji/1f50c.png
deleted file mode 100644
index 31d1eb215..000000000
Binary files a/public/emoji/1f50c.png and /dev/null differ
diff --git a/public/emoji/1f50c.svg b/public/emoji/1f50c.svg
index bbbcf0a5a..d3ecea9ab 100644
--- a/public/emoji/1f50c.svg
+++ b/public/emoji/1f50c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50d.png b/public/emoji/1f50d.png
deleted file mode 100644
index 55487156a..000000000
Binary files a/public/emoji/1f50d.png and /dev/null differ
diff --git a/public/emoji/1f50d.svg b/public/emoji/1f50d.svg
index 7f1758d67..098d5e081 100644
--- a/public/emoji/1f50d.svg
+++ b/public/emoji/1f50d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50e.png b/public/emoji/1f50e.png
deleted file mode 100644
index 0f4b1bca8..000000000
Binary files a/public/emoji/1f50e.png and /dev/null differ
diff --git a/public/emoji/1f50e.svg b/public/emoji/1f50e.svg
index a60c2aa11..22c930905 100644
--- a/public/emoji/1f50e.svg
+++ b/public/emoji/1f50e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f50f.png b/public/emoji/1f50f.png
deleted file mode 100644
index 19a07d162..000000000
Binary files a/public/emoji/1f50f.png and /dev/null differ
diff --git a/public/emoji/1f50f.svg b/public/emoji/1f50f.svg
index eb3c3fb47..a6fbfdbf1 100644
--- a/public/emoji/1f50f.svg
+++ b/public/emoji/1f50f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f510.png b/public/emoji/1f510.png
deleted file mode 100644
index 1c1cd5d07..000000000
Binary files a/public/emoji/1f510.png and /dev/null differ
diff --git a/public/emoji/1f510.svg b/public/emoji/1f510.svg
index 2d9a97df6..0f9f441bf 100644
--- a/public/emoji/1f510.svg
+++ b/public/emoji/1f510.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f511.png b/public/emoji/1f511.png
deleted file mode 100644
index 319cd1b88..000000000
Binary files a/public/emoji/1f511.png and /dev/null differ
diff --git a/public/emoji/1f511.svg b/public/emoji/1f511.svg
index 74b38d18c..9a720cdf4 100644
--- a/public/emoji/1f511.svg
+++ b/public/emoji/1f511.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f512.png b/public/emoji/1f512.png
deleted file mode 100644
index 5a739c466..000000000
Binary files a/public/emoji/1f512.png and /dev/null differ
diff --git a/public/emoji/1f512.svg b/public/emoji/1f512.svg
index fac55a2f0..f0f1bb153 100644
--- a/public/emoji/1f512.svg
+++ b/public/emoji/1f512.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f513.png b/public/emoji/1f513.png
deleted file mode 100644
index 4a74a6939..000000000
Binary files a/public/emoji/1f513.png and /dev/null differ
diff --git a/public/emoji/1f513.svg b/public/emoji/1f513.svg
index 4d650b67e..433323722 100644
--- a/public/emoji/1f513.svg
+++ b/public/emoji/1f513.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f514.png b/public/emoji/1f514.png
deleted file mode 100644
index 5b3b04619..000000000
Binary files a/public/emoji/1f514.png and /dev/null differ
diff --git a/public/emoji/1f514.svg b/public/emoji/1f514.svg
index e64706564..5210eece6 100644
--- a/public/emoji/1f514.svg
+++ b/public/emoji/1f514.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f515.png b/public/emoji/1f515.png
deleted file mode 100644
index 15cb38dd1..000000000
Binary files a/public/emoji/1f515.png and /dev/null differ
diff --git a/public/emoji/1f515.svg b/public/emoji/1f515.svg
index a37acaff3..f9cd1368b 100644
--- a/public/emoji/1f515.svg
+++ b/public/emoji/1f515.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f516.png b/public/emoji/1f516.png
deleted file mode 100644
index bbb444611..000000000
Binary files a/public/emoji/1f516.png and /dev/null differ
diff --git a/public/emoji/1f516.svg b/public/emoji/1f516.svg
index 555079664..a8baaeb5c 100644
--- a/public/emoji/1f516.svg
+++ b/public/emoji/1f516.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f517.png b/public/emoji/1f517.png
deleted file mode 100644
index ae20f0f8e..000000000
Binary files a/public/emoji/1f517.png and /dev/null differ
diff --git a/public/emoji/1f517.svg b/public/emoji/1f517.svg
index 777545a17..f34d20258 100644
--- a/public/emoji/1f517.svg
+++ b/public/emoji/1f517.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f518.png b/public/emoji/1f518.png
deleted file mode 100644
index 3a23449d9..000000000
Binary files a/public/emoji/1f518.png and /dev/null differ
diff --git a/public/emoji/1f518.svg b/public/emoji/1f518.svg
index a894198e8..aa5d9a429 100644
--- a/public/emoji/1f518.svg
+++ b/public/emoji/1f518.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f519.png b/public/emoji/1f519.png
deleted file mode 100644
index d32c5d4f1..000000000
Binary files a/public/emoji/1f519.png and /dev/null differ
diff --git a/public/emoji/1f519.svg b/public/emoji/1f519.svg
index b8fe574e2..d723bae40 100644
--- a/public/emoji/1f519.svg
+++ b/public/emoji/1f519.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51a.png b/public/emoji/1f51a.png
deleted file mode 100644
index ef3ccd5f3..000000000
Binary files a/public/emoji/1f51a.png and /dev/null differ
diff --git a/public/emoji/1f51a.svg b/public/emoji/1f51a.svg
index 1925646d1..27825d360 100644
--- a/public/emoji/1f51a.svg
+++ b/public/emoji/1f51a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51b.png b/public/emoji/1f51b.png
deleted file mode 100644
index a0c371ae2..000000000
Binary files a/public/emoji/1f51b.png and /dev/null differ
diff --git a/public/emoji/1f51b.svg b/public/emoji/1f51b.svg
index f9bb3d833..8e41094fe 100644
--- a/public/emoji/1f51b.svg
+++ b/public/emoji/1f51b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51c.png b/public/emoji/1f51c.png
deleted file mode 100644
index 8cdfd8669..000000000
Binary files a/public/emoji/1f51c.png and /dev/null differ
diff --git a/public/emoji/1f51c.svg b/public/emoji/1f51c.svg
index 62c2ffb2f..9e308a466 100644
--- a/public/emoji/1f51c.svg
+++ b/public/emoji/1f51c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51d.png b/public/emoji/1f51d.png
deleted file mode 100644
index 49dea8c08..000000000
Binary files a/public/emoji/1f51d.png and /dev/null differ
diff --git a/public/emoji/1f51d.svg b/public/emoji/1f51d.svg
index cc4db6763..0fc2ed653 100644
--- a/public/emoji/1f51d.svg
+++ b/public/emoji/1f51d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51e.png b/public/emoji/1f51e.png
deleted file mode 100644
index 6dfe6da51..000000000
Binary files a/public/emoji/1f51e.png and /dev/null differ
diff --git a/public/emoji/1f51e.svg b/public/emoji/1f51e.svg
index 19ac9d2bd..8a7bd2017 100644
--- a/public/emoji/1f51e.svg
+++ b/public/emoji/1f51e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f51f.png b/public/emoji/1f51f.png
deleted file mode 100644
index 782d40049..000000000
Binary files a/public/emoji/1f51f.png and /dev/null differ
diff --git a/public/emoji/1f51f.svg b/public/emoji/1f51f.svg
index f717fa7f0..40d2560e3 100644
--- a/public/emoji/1f51f.svg
+++ b/public/emoji/1f51f.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f520.png b/public/emoji/1f520.png
deleted file mode 100644
index fe9482d2d..000000000
Binary files a/public/emoji/1f520.png and /dev/null differ
diff --git a/public/emoji/1f520.svg b/public/emoji/1f520.svg
index 04d626dcd..6771c2328 100644
--- a/public/emoji/1f520.svg
+++ b/public/emoji/1f520.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f521.png b/public/emoji/1f521.png
deleted file mode 100644
index 0996a8705..000000000
Binary files a/public/emoji/1f521.png and /dev/null differ
diff --git a/public/emoji/1f521.svg b/public/emoji/1f521.svg
index a127d1934..4cc64b9e7 100644
--- a/public/emoji/1f521.svg
+++ b/public/emoji/1f521.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f522.png b/public/emoji/1f522.png
deleted file mode 100644
index 248dc7e55..000000000
Binary files a/public/emoji/1f522.png and /dev/null differ
diff --git a/public/emoji/1f522.svg b/public/emoji/1f522.svg
index 5710ed971..75de7d6da 100644
--- a/public/emoji/1f522.svg
+++ b/public/emoji/1f522.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f523.png b/public/emoji/1f523.png
deleted file mode 100644
index ac2fc1f35..000000000
Binary files a/public/emoji/1f523.png and /dev/null differ
diff --git a/public/emoji/1f523.svg b/public/emoji/1f523.svg
index 7de6af1d7..c30182b50 100644
--- a/public/emoji/1f523.svg
+++ b/public/emoji/1f523.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f524.png b/public/emoji/1f524.png
deleted file mode 100644
index 7688de692..000000000
Binary files a/public/emoji/1f524.png and /dev/null differ
diff --git a/public/emoji/1f524.svg b/public/emoji/1f524.svg
index 236a41ce9..6f9f763f0 100644
--- a/public/emoji/1f524.svg
+++ b/public/emoji/1f524.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f525.png b/public/emoji/1f525.png
deleted file mode 100644
index bd3775a46..000000000
Binary files a/public/emoji/1f525.png and /dev/null differ
diff --git a/public/emoji/1f525.svg b/public/emoji/1f525.svg
index 23dd30a75..4c5a36a6f 100644
--- a/public/emoji/1f525.svg
+++ b/public/emoji/1f525.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f526.png b/public/emoji/1f526.png
deleted file mode 100644
index eee36c250..000000000
Binary files a/public/emoji/1f526.png and /dev/null differ
diff --git a/public/emoji/1f526.svg b/public/emoji/1f526.svg
index 1d9dcdfdf..f934e9d5c 100644
--- a/public/emoji/1f526.svg
+++ b/public/emoji/1f526.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f527.png b/public/emoji/1f527.png
deleted file mode 100644
index c16b74396..000000000
Binary files a/public/emoji/1f527.png and /dev/null differ
diff --git a/public/emoji/1f527.svg b/public/emoji/1f527.svg
index 5ca5cf38e..26775fd0a 100644
--- a/public/emoji/1f527.svg
+++ b/public/emoji/1f527.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f528.png b/public/emoji/1f528.png
deleted file mode 100644
index 00736cce4..000000000
Binary files a/public/emoji/1f528.png and /dev/null differ
diff --git a/public/emoji/1f528.svg b/public/emoji/1f528.svg
index 0285e2d1a..d506977e1 100644
--- a/public/emoji/1f528.svg
+++ b/public/emoji/1f528.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f529.png b/public/emoji/1f529.png
deleted file mode 100644
index 4b9ae1553..000000000
Binary files a/public/emoji/1f529.png and /dev/null differ
diff --git a/public/emoji/1f529.svg b/public/emoji/1f529.svg
index b43444715..3da1ee738 100644
--- a/public/emoji/1f529.svg
+++ b/public/emoji/1f529.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52a.png b/public/emoji/1f52a.png
deleted file mode 100644
index 1acb9f307..000000000
Binary files a/public/emoji/1f52a.png and /dev/null differ
diff --git a/public/emoji/1f52a.svg b/public/emoji/1f52a.svg
index cbf231949..d260eaf87 100644
--- a/public/emoji/1f52a.svg
+++ b/public/emoji/1f52a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52b.png b/public/emoji/1f52b.png
deleted file mode 100644
index 89c5c244c..000000000
Binary files a/public/emoji/1f52b.png and /dev/null differ
diff --git a/public/emoji/1f52b.svg b/public/emoji/1f52b.svg
index 7ce6a43f1..fa4e11d88 100644
--- a/public/emoji/1f52b.svg
+++ b/public/emoji/1f52b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52c.png b/public/emoji/1f52c.png
deleted file mode 100644
index 90f5acf6a..000000000
Binary files a/public/emoji/1f52c.png and /dev/null differ
diff --git a/public/emoji/1f52c.svg b/public/emoji/1f52c.svg
index 149eb3797..511a102e2 100644
--- a/public/emoji/1f52c.svg
+++ b/public/emoji/1f52c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52d.png b/public/emoji/1f52d.png
deleted file mode 100644
index d63154614..000000000
Binary files a/public/emoji/1f52d.png and /dev/null differ
diff --git a/public/emoji/1f52d.svg b/public/emoji/1f52d.svg
index e4dc0106e..67df6ece7 100644
--- a/public/emoji/1f52d.svg
+++ b/public/emoji/1f52d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52e.png b/public/emoji/1f52e.png
deleted file mode 100644
index 485d5c888..000000000
Binary files a/public/emoji/1f52e.png and /dev/null differ
diff --git a/public/emoji/1f52e.svg b/public/emoji/1f52e.svg
index 72eff081e..1fbcefcb9 100644
--- a/public/emoji/1f52e.svg
+++ b/public/emoji/1f52e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f52f.png b/public/emoji/1f52f.png
deleted file mode 100644
index 2eb170745..000000000
Binary files a/public/emoji/1f52f.png and /dev/null differ
diff --git a/public/emoji/1f52f.svg b/public/emoji/1f52f.svg
index 5783decc3..e31b3e04c 100644
--- a/public/emoji/1f52f.svg
+++ b/public/emoji/1f52f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f530.png b/public/emoji/1f530.png
deleted file mode 100644
index bc434fb7c..000000000
Binary files a/public/emoji/1f530.png and /dev/null differ
diff --git a/public/emoji/1f530.svg b/public/emoji/1f530.svg
index b0677aae7..8ed169ae5 100644
--- a/public/emoji/1f530.svg
+++ b/public/emoji/1f530.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f531.png b/public/emoji/1f531.png
deleted file mode 100644
index 777a1dad1..000000000
Binary files a/public/emoji/1f531.png and /dev/null differ
diff --git a/public/emoji/1f531.svg b/public/emoji/1f531.svg
index 09cb93cd8..ded296271 100644
--- a/public/emoji/1f531.svg
+++ b/public/emoji/1f531.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f532.png b/public/emoji/1f532.png
deleted file mode 100644
index a78fc2f6b..000000000
Binary files a/public/emoji/1f532.png and /dev/null differ
diff --git a/public/emoji/1f532.svg b/public/emoji/1f532.svg
index 4234050ba..8d17e1757 100644
--- a/public/emoji/1f532.svg
+++ b/public/emoji/1f532.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f533.png b/public/emoji/1f533.png
deleted file mode 100644
index 934b1cedf..000000000
Binary files a/public/emoji/1f533.png and /dev/null differ
diff --git a/public/emoji/1f533.svg b/public/emoji/1f533.svg
index 478b8cde7..485afa920 100644
--- a/public/emoji/1f533.svg
+++ b/public/emoji/1f533.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f534.png b/public/emoji/1f534.png
deleted file mode 100644
index 4bef930d9..000000000
Binary files a/public/emoji/1f534.png and /dev/null differ
diff --git a/public/emoji/1f534.svg b/public/emoji/1f534.svg
index a8ac9f77d..fe221ca00 100644
--- a/public/emoji/1f534.svg
+++ b/public/emoji/1f534.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f535.png b/public/emoji/1f535.png
deleted file mode 100644
index 84078ef31..000000000
Binary files a/public/emoji/1f535.png and /dev/null differ
diff --git a/public/emoji/1f535.svg b/public/emoji/1f535.svg
index 3df8731d3..fc3f6e9a0 100644
--- a/public/emoji/1f535.svg
+++ b/public/emoji/1f535.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f536.png b/public/emoji/1f536.png
deleted file mode 100644
index 73ff0ac36..000000000
Binary files a/public/emoji/1f536.png and /dev/null differ
diff --git a/public/emoji/1f536.svg b/public/emoji/1f536.svg
index 351f0db4e..fdcbdce96 100644
--- a/public/emoji/1f536.svg
+++ b/public/emoji/1f536.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f537.png b/public/emoji/1f537.png
deleted file mode 100644
index 416a58bd5..000000000
Binary files a/public/emoji/1f537.png and /dev/null differ
diff --git a/public/emoji/1f537.svg b/public/emoji/1f537.svg
index 2d3514448..3ef69732f 100644
--- a/public/emoji/1f537.svg
+++ b/public/emoji/1f537.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f538.png b/public/emoji/1f538.png
deleted file mode 100644
index e1c6ed9b2..000000000
Binary files a/public/emoji/1f538.png and /dev/null differ
diff --git a/public/emoji/1f538.svg b/public/emoji/1f538.svg
index 10ba0449a..7b78e0bd8 100644
--- a/public/emoji/1f538.svg
+++ b/public/emoji/1f538.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f539.png b/public/emoji/1f539.png
deleted file mode 100644
index b86b5bc4d..000000000
Binary files a/public/emoji/1f539.png and /dev/null differ
diff --git a/public/emoji/1f539.svg b/public/emoji/1f539.svg
index 344ca5956..9798bdd62 100644
--- a/public/emoji/1f539.svg
+++ b/public/emoji/1f539.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f53a.png b/public/emoji/1f53a.png
deleted file mode 100644
index 785887c19..000000000
Binary files a/public/emoji/1f53a.png and /dev/null differ
diff --git a/public/emoji/1f53a.svg b/public/emoji/1f53a.svg
index 321041237..11a872d9e 100644
--- a/public/emoji/1f53a.svg
+++ b/public/emoji/1f53a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f53b.png b/public/emoji/1f53b.png
deleted file mode 100644
index a83beff19..000000000
Binary files a/public/emoji/1f53b.png and /dev/null differ
diff --git a/public/emoji/1f53b.svg b/public/emoji/1f53b.svg
index 57d6ad467..2e6655267 100644
--- a/public/emoji/1f53b.svg
+++ b/public/emoji/1f53b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f53c.png b/public/emoji/1f53c.png
deleted file mode 100644
index 20a13dcd5..000000000
Binary files a/public/emoji/1f53c.png and /dev/null differ
diff --git a/public/emoji/1f53c.svg b/public/emoji/1f53c.svg
index 6836e6e04..08d218b67 100644
--- a/public/emoji/1f53c.svg
+++ b/public/emoji/1f53c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f53d.png b/public/emoji/1f53d.png
deleted file mode 100644
index 5870b9a22..000000000
Binary files a/public/emoji/1f53d.png and /dev/null differ
diff --git a/public/emoji/1f53d.svg b/public/emoji/1f53d.svg
index a624cea78..47ef8e021 100644
--- a/public/emoji/1f53d.svg
+++ b/public/emoji/1f53d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f549.png b/public/emoji/1f549.png
deleted file mode 100644
index a35c63c45..000000000
Binary files a/public/emoji/1f549.png and /dev/null differ
diff --git a/public/emoji/1f549.svg b/public/emoji/1f549.svg
index f068cd739..cb310e362 100644
--- a/public/emoji/1f549.svg
+++ b/public/emoji/1f549.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f54a.png b/public/emoji/1f54a.png
deleted file mode 100644
index 9580c4917..000000000
Binary files a/public/emoji/1f54a.png and /dev/null differ
diff --git a/public/emoji/1f54a.svg b/public/emoji/1f54a.svg
index 37fa3aaf1..ac560ea66 100644
--- a/public/emoji/1f54a.svg
+++ b/public/emoji/1f54a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f54b.png b/public/emoji/1f54b.png
deleted file mode 100644
index 1778c1138..000000000
Binary files a/public/emoji/1f54b.png and /dev/null differ
diff --git a/public/emoji/1f54b.svg b/public/emoji/1f54b.svg
index 687e4d776..92bc70f83 100644
--- a/public/emoji/1f54b.svg
+++ b/public/emoji/1f54b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f54c.png b/public/emoji/1f54c.png
deleted file mode 100644
index ef770b26d..000000000
Binary files a/public/emoji/1f54c.png and /dev/null differ
diff --git a/public/emoji/1f54c.svg b/public/emoji/1f54c.svg
index 071b498d3..446c3c6f1 100644
--- a/public/emoji/1f54c.svg
+++ b/public/emoji/1f54c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f54d.png b/public/emoji/1f54d.png
deleted file mode 100644
index ee347904c..000000000
Binary files a/public/emoji/1f54d.png and /dev/null differ
diff --git a/public/emoji/1f54d.svg b/public/emoji/1f54d.svg
index e33485507..5f33b368b 100644
--- a/public/emoji/1f54d.svg
+++ b/public/emoji/1f54d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f54e.png b/public/emoji/1f54e.png
deleted file mode 100644
index b42973628..000000000
Binary files a/public/emoji/1f54e.png and /dev/null differ
diff --git a/public/emoji/1f54e.svg b/public/emoji/1f54e.svg
index 82e1ca338..aa69dd7e1 100644
--- a/public/emoji/1f54e.svg
+++ b/public/emoji/1f54e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f550.png b/public/emoji/1f550.png
deleted file mode 100644
index d6e34941f..000000000
Binary files a/public/emoji/1f550.png and /dev/null differ
diff --git a/public/emoji/1f550.svg b/public/emoji/1f550.svg
index bd5bb075b..3b8391d07 100644
--- a/public/emoji/1f550.svg
+++ b/public/emoji/1f550.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f551.png b/public/emoji/1f551.png
deleted file mode 100644
index a54253d7d..000000000
Binary files a/public/emoji/1f551.png and /dev/null differ
diff --git a/public/emoji/1f551.svg b/public/emoji/1f551.svg
index 2e5517712..9094bf4ff 100644
--- a/public/emoji/1f551.svg
+++ b/public/emoji/1f551.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f552.png b/public/emoji/1f552.png
deleted file mode 100644
index 27ec4b1f5..000000000
Binary files a/public/emoji/1f552.png and /dev/null differ
diff --git a/public/emoji/1f552.svg b/public/emoji/1f552.svg
index 834d2ddc5..d7627919e 100644
--- a/public/emoji/1f552.svg
+++ b/public/emoji/1f552.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f553.png b/public/emoji/1f553.png
deleted file mode 100644
index 60a1ef4cc..000000000
Binary files a/public/emoji/1f553.png and /dev/null differ
diff --git a/public/emoji/1f553.svg b/public/emoji/1f553.svg
index 9f67b6958..c8825cbab 100644
--- a/public/emoji/1f553.svg
+++ b/public/emoji/1f553.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f554.png b/public/emoji/1f554.png
deleted file mode 100644
index c9382d1e0..000000000
Binary files a/public/emoji/1f554.png and /dev/null differ
diff --git a/public/emoji/1f554.svg b/public/emoji/1f554.svg
index 073f85721..1002512b4 100644
--- a/public/emoji/1f554.svg
+++ b/public/emoji/1f554.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f555.png b/public/emoji/1f555.png
deleted file mode 100644
index 8fd5d3f5b..000000000
Binary files a/public/emoji/1f555.png and /dev/null differ
diff --git a/public/emoji/1f555.svg b/public/emoji/1f555.svg
index 0fc34642b..8f4cf5d8a 100644
--- a/public/emoji/1f555.svg
+++ b/public/emoji/1f555.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f556.png b/public/emoji/1f556.png
deleted file mode 100644
index 8c7084036..000000000
Binary files a/public/emoji/1f556.png and /dev/null differ
diff --git a/public/emoji/1f556.svg b/public/emoji/1f556.svg
index 528919067..b160ba8de 100644
--- a/public/emoji/1f556.svg
+++ b/public/emoji/1f556.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f557.png b/public/emoji/1f557.png
deleted file mode 100644
index fcddf722e..000000000
Binary files a/public/emoji/1f557.png and /dev/null differ
diff --git a/public/emoji/1f557.svg b/public/emoji/1f557.svg
index f5bc3aff5..bf351fd08 100644
--- a/public/emoji/1f557.svg
+++ b/public/emoji/1f557.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f558.png b/public/emoji/1f558.png
deleted file mode 100644
index dfbe01179..000000000
Binary files a/public/emoji/1f558.png and /dev/null differ
diff --git a/public/emoji/1f558.svg b/public/emoji/1f558.svg
index 7e4eda386..ff38ea75b 100644
--- a/public/emoji/1f558.svg
+++ b/public/emoji/1f558.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f559.png b/public/emoji/1f559.png
deleted file mode 100644
index e62b245cd..000000000
Binary files a/public/emoji/1f559.png and /dev/null differ
diff --git a/public/emoji/1f559.svg b/public/emoji/1f559.svg
index 21e380e62..e341eb5cc 100644
--- a/public/emoji/1f559.svg
+++ b/public/emoji/1f559.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55a.png b/public/emoji/1f55a.png
deleted file mode 100644
index 098334527..000000000
Binary files a/public/emoji/1f55a.png and /dev/null differ
diff --git a/public/emoji/1f55a.svg b/public/emoji/1f55a.svg
index 6d7a3531c..0f916d26d 100644
--- a/public/emoji/1f55a.svg
+++ b/public/emoji/1f55a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55b.png b/public/emoji/1f55b.png
deleted file mode 100644
index e61caa4b3..000000000
Binary files a/public/emoji/1f55b.png and /dev/null differ
diff --git a/public/emoji/1f55b.svg b/public/emoji/1f55b.svg
index 1381b3bc6..1e9903606 100644
--- a/public/emoji/1f55b.svg
+++ b/public/emoji/1f55b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55c.png b/public/emoji/1f55c.png
deleted file mode 100644
index 86b7689b8..000000000
Binary files a/public/emoji/1f55c.png and /dev/null differ
diff --git a/public/emoji/1f55c.svg b/public/emoji/1f55c.svg
index 9972f542d..d98c28884 100644
--- a/public/emoji/1f55c.svg
+++ b/public/emoji/1f55c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55d.png b/public/emoji/1f55d.png
deleted file mode 100644
index 7a787e018..000000000
Binary files a/public/emoji/1f55d.png and /dev/null differ
diff --git a/public/emoji/1f55d.svg b/public/emoji/1f55d.svg
index 86f24116e..efdbe5ca4 100644
--- a/public/emoji/1f55d.svg
+++ b/public/emoji/1f55d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55e.png b/public/emoji/1f55e.png
deleted file mode 100644
index c6860395c..000000000
Binary files a/public/emoji/1f55e.png and /dev/null differ
diff --git a/public/emoji/1f55e.svg b/public/emoji/1f55e.svg
index da9779968..e8a5b47a8 100644
--- a/public/emoji/1f55e.svg
+++ b/public/emoji/1f55e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f55f.png b/public/emoji/1f55f.png
deleted file mode 100644
index 3c05b3621..000000000
Binary files a/public/emoji/1f55f.png and /dev/null differ
diff --git a/public/emoji/1f55f.svg b/public/emoji/1f55f.svg
index 8185d206b..46d2f6098 100644
--- a/public/emoji/1f55f.svg
+++ b/public/emoji/1f55f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f560.png b/public/emoji/1f560.png
deleted file mode 100644
index c21fa926d..000000000
Binary files a/public/emoji/1f560.png and /dev/null differ
diff --git a/public/emoji/1f560.svg b/public/emoji/1f560.svg
index 54ef72628..6b1eeabaa 100644
--- a/public/emoji/1f560.svg
+++ b/public/emoji/1f560.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f561.png b/public/emoji/1f561.png
deleted file mode 100644
index 2aec87fef..000000000
Binary files a/public/emoji/1f561.png and /dev/null differ
diff --git a/public/emoji/1f561.svg b/public/emoji/1f561.svg
index fea0cde95..5510c2375 100644
--- a/public/emoji/1f561.svg
+++ b/public/emoji/1f561.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f562.png b/public/emoji/1f562.png
deleted file mode 100644
index f7a1135e0..000000000
Binary files a/public/emoji/1f562.png and /dev/null differ
diff --git a/public/emoji/1f562.svg b/public/emoji/1f562.svg
index 5cf968fb8..d600d0e19 100644
--- a/public/emoji/1f562.svg
+++ b/public/emoji/1f562.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f563.png b/public/emoji/1f563.png
deleted file mode 100644
index 799b4aebc..000000000
Binary files a/public/emoji/1f563.png and /dev/null differ
diff --git a/public/emoji/1f563.svg b/public/emoji/1f563.svg
index ce973153f..7b1bf9359 100644
--- a/public/emoji/1f563.svg
+++ b/public/emoji/1f563.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f564.png b/public/emoji/1f564.png
deleted file mode 100644
index 4a2092ee6..000000000
Binary files a/public/emoji/1f564.png and /dev/null differ
diff --git a/public/emoji/1f564.svg b/public/emoji/1f564.svg
index d7d214fa1..1ee190a63 100644
--- a/public/emoji/1f564.svg
+++ b/public/emoji/1f564.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f565.png b/public/emoji/1f565.png
deleted file mode 100644
index 0802b3c65..000000000
Binary files a/public/emoji/1f565.png and /dev/null differ
diff --git a/public/emoji/1f565.svg b/public/emoji/1f565.svg
index d7d8b48d1..e68c2eb3a 100644
--- a/public/emoji/1f565.svg
+++ b/public/emoji/1f565.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f566.png b/public/emoji/1f566.png
deleted file mode 100644
index d970d03b8..000000000
Binary files a/public/emoji/1f566.png and /dev/null differ
diff --git a/public/emoji/1f566.svg b/public/emoji/1f566.svg
index 77030c048..67e850cbf 100644
--- a/public/emoji/1f566.svg
+++ b/public/emoji/1f566.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f567.png b/public/emoji/1f567.png
deleted file mode 100644
index f2b1d2617..000000000
Binary files a/public/emoji/1f567.png and /dev/null differ
diff --git a/public/emoji/1f567.svg b/public/emoji/1f567.svg
index 02e81326a..b5bb0e0a6 100644
--- a/public/emoji/1f567.svg
+++ b/public/emoji/1f567.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f56f.png b/public/emoji/1f56f.png
deleted file mode 100644
index 0b56444e3..000000000
Binary files a/public/emoji/1f56f.png and /dev/null differ
diff --git a/public/emoji/1f56f.svg b/public/emoji/1f56f.svg
index af4c60634..826430435 100644
--- a/public/emoji/1f56f.svg
+++ b/public/emoji/1f56f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f570.png b/public/emoji/1f570.png
deleted file mode 100644
index ffdb451e3..000000000
Binary files a/public/emoji/1f570.png and /dev/null differ
diff --git a/public/emoji/1f570.svg b/public/emoji/1f570.svg
index c2808cbac..408633459 100644
--- a/public/emoji/1f570.svg
+++ b/public/emoji/1f570.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f573.png b/public/emoji/1f573.png
deleted file mode 100644
index 517d2ae0d..000000000
Binary files a/public/emoji/1f573.png and /dev/null differ
diff --git a/public/emoji/1f573.svg b/public/emoji/1f573.svg
index 4ccc4369f..d45030a30 100644
--- a/public/emoji/1f573.svg
+++ b/public/emoji/1f573.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f574-1f3fb.svg b/public/emoji/1f574-1f3fb.svg
new file mode 100644
index 000000000..557e7da46
--- /dev/null
+++ b/public/emoji/1f574-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f574-1f3fc.svg b/public/emoji/1f574-1f3fc.svg
new file mode 100644
index 000000000..e7934589d
--- /dev/null
+++ b/public/emoji/1f574-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f574-1f3fd.svg b/public/emoji/1f574-1f3fd.svg
new file mode 100644
index 000000000..e0fc839fa
--- /dev/null
+++ b/public/emoji/1f574-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f574-1f3fe.svg b/public/emoji/1f574-1f3fe.svg
new file mode 100644
index 000000000..ea1743997
--- /dev/null
+++ b/public/emoji/1f574-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f574-1f3ff.svg b/public/emoji/1f574-1f3ff.svg
new file mode 100644
index 000000000..bae73e205
--- /dev/null
+++ b/public/emoji/1f574-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f574.png b/public/emoji/1f574.png
deleted file mode 100644
index 3dc315a3d..000000000
Binary files a/public/emoji/1f574.png and /dev/null differ
diff --git a/public/emoji/1f574.svg b/public/emoji/1f574.svg
index cfaf2a789..cf6aa4b7e 100644
--- a/public/emoji/1f574.svg
+++ b/public/emoji/1f574.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f575-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..22d2265a6
--- /dev/null
+++ b/public/emoji/1f575-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f575-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..87429276e
--- /dev/null
+++ b/public/emoji/1f575-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fb.png b/public/emoji/1f575-1f3fb.png
deleted file mode 100644
index 2d1c022ca..000000000
Binary files a/public/emoji/1f575-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f575-1f3fb.svg b/public/emoji/1f575-1f3fb.svg
index 9e0d53872..87429276e 100644
--- a/public/emoji/1f575-1f3fb.svg
+++ b/public/emoji/1f575-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f575-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..110603c47
--- /dev/null
+++ b/public/emoji/1f575-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f575-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a76aeba51
--- /dev/null
+++ b/public/emoji/1f575-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fc.png b/public/emoji/1f575-1f3fc.png
deleted file mode 100644
index 548b9c26f..000000000
Binary files a/public/emoji/1f575-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f575-1f3fc.svg b/public/emoji/1f575-1f3fc.svg
index 1eb13a65e..a76aeba51 100644
--- a/public/emoji/1f575-1f3fc.svg
+++ b/public/emoji/1f575-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f575-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5ed697977
--- /dev/null
+++ b/public/emoji/1f575-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f575-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..85821083d
--- /dev/null
+++ b/public/emoji/1f575-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fd.png b/public/emoji/1f575-1f3fd.png
deleted file mode 100644
index b023f4b18..000000000
Binary files a/public/emoji/1f575-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f575-1f3fd.svg b/public/emoji/1f575-1f3fd.svg
index 6eaa233c3..85821083d 100644
--- a/public/emoji/1f575-1f3fd.svg
+++ b/public/emoji/1f575-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f575-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4099bdc92
--- /dev/null
+++ b/public/emoji/1f575-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f575-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..917dc1777
--- /dev/null
+++ b/public/emoji/1f575-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3fe.png b/public/emoji/1f575-1f3fe.png
deleted file mode 100644
index d8300af49..000000000
Binary files a/public/emoji/1f575-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f575-1f3fe.svg b/public/emoji/1f575-1f3fe.svg
index f3f11e430..917dc1777 100644
--- a/public/emoji/1f575-1f3fe.svg
+++ b/public/emoji/1f575-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f575-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f1e2b8c5e
--- /dev/null
+++ b/public/emoji/1f575-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f575-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..04dc79582
--- /dev/null
+++ b/public/emoji/1f575-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-1f3ff.png b/public/emoji/1f575-1f3ff.png
deleted file mode 100644
index ca1462595..000000000
Binary files a/public/emoji/1f575-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f575-1f3ff.svg b/public/emoji/1f575-1f3ff.svg
index 5fc557546..04dc79582 100644
--- a/public/emoji/1f575-1f3ff.svg
+++ b/public/emoji/1f575-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f575-fe0f-200d-2640-fe0f.svg b/public/emoji/1f575-fe0f-200d-2640-fe0f.svg
new file mode 100644
index 000000000..625c83007
--- /dev/null
+++ b/public/emoji/1f575-fe0f-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575-fe0f-200d-2642-fe0f.svg b/public/emoji/1f575-fe0f-200d-2642-fe0f.svg
new file mode 100644
index 000000000..89e86fd2c
--- /dev/null
+++ b/public/emoji/1f575-fe0f-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f575.png b/public/emoji/1f575.png
deleted file mode 100644
index a729e9584..000000000
Binary files a/public/emoji/1f575.png and /dev/null differ
diff --git a/public/emoji/1f575.svg b/public/emoji/1f575.svg
index 9612edafb..89e86fd2c 100644
--- a/public/emoji/1f575.svg
+++ b/public/emoji/1f575.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f576.png b/public/emoji/1f576.png
deleted file mode 100644
index b1b6db0ac..000000000
Binary files a/public/emoji/1f576.png and /dev/null differ
diff --git a/public/emoji/1f576.svg b/public/emoji/1f576.svg
index 3f1075ec4..07dfcf045 100644
--- a/public/emoji/1f576.svg
+++ b/public/emoji/1f576.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f577.png b/public/emoji/1f577.png
deleted file mode 100644
index 3849fa90b..000000000
Binary files a/public/emoji/1f577.png and /dev/null differ
diff --git a/public/emoji/1f577.svg b/public/emoji/1f577.svg
index 21bb08901..35c53883b 100644
--- a/public/emoji/1f577.svg
+++ b/public/emoji/1f577.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f578.png b/public/emoji/1f578.png
deleted file mode 100644
index ba448ee7f..000000000
Binary files a/public/emoji/1f578.png and /dev/null differ
diff --git a/public/emoji/1f578.svg b/public/emoji/1f578.svg
index 8a5a41959..a09fb444a 100644
--- a/public/emoji/1f578.svg
+++ b/public/emoji/1f578.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f579.png b/public/emoji/1f579.png
deleted file mode 100644
index 1ee190543..000000000
Binary files a/public/emoji/1f579.png and /dev/null differ
diff --git a/public/emoji/1f579.svg b/public/emoji/1f579.svg
index b2e644013..a8290299b 100644
--- a/public/emoji/1f579.svg
+++ b/public/emoji/1f579.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a-1f3fb.png b/public/emoji/1f57a-1f3fb.png
deleted file mode 100644
index e0b9f82d9..000000000
Binary files a/public/emoji/1f57a-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f57a-1f3fb.svg b/public/emoji/1f57a-1f3fb.svg
index fc47b48f6..4e375b9f1 100644
--- a/public/emoji/1f57a-1f3fb.svg
+++ b/public/emoji/1f57a-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a-1f3fc.png b/public/emoji/1f57a-1f3fc.png
deleted file mode 100644
index a5beed56e..000000000
Binary files a/public/emoji/1f57a-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f57a-1f3fc.svg b/public/emoji/1f57a-1f3fc.svg
index 289dcb68a..f88efc751 100644
--- a/public/emoji/1f57a-1f3fc.svg
+++ b/public/emoji/1f57a-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a-1f3fd.png b/public/emoji/1f57a-1f3fd.png
deleted file mode 100644
index 2fa20180a..000000000
Binary files a/public/emoji/1f57a-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f57a-1f3fd.svg b/public/emoji/1f57a-1f3fd.svg
index 0356c2ac9..b2e430355 100644
--- a/public/emoji/1f57a-1f3fd.svg
+++ b/public/emoji/1f57a-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a-1f3fe.png b/public/emoji/1f57a-1f3fe.png
deleted file mode 100644
index bd3528c83..000000000
Binary files a/public/emoji/1f57a-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f57a-1f3fe.svg b/public/emoji/1f57a-1f3fe.svg
index 70bb51fb9..efec3c0e4 100644
--- a/public/emoji/1f57a-1f3fe.svg
+++ b/public/emoji/1f57a-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a-1f3ff.png b/public/emoji/1f57a-1f3ff.png
deleted file mode 100644
index 41fd4f880..000000000
Binary files a/public/emoji/1f57a-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f57a-1f3ff.svg b/public/emoji/1f57a-1f3ff.svg
index 61633d21d..f8b9c9c0f 100644
--- a/public/emoji/1f57a-1f3ff.svg
+++ b/public/emoji/1f57a-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f57a.png b/public/emoji/1f57a.png
deleted file mode 100644
index ccff3bede..000000000
Binary files a/public/emoji/1f57a.png and /dev/null differ
diff --git a/public/emoji/1f57a.svg b/public/emoji/1f57a.svg
index 11d2247c7..6dd771005 100644
--- a/public/emoji/1f57a.svg
+++ b/public/emoji/1f57a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f587.png b/public/emoji/1f587.png
deleted file mode 100644
index 76021e8c7..000000000
Binary files a/public/emoji/1f587.png and /dev/null differ
diff --git a/public/emoji/1f587.svg b/public/emoji/1f587.svg
index b2dafc18b..8f33de38d 100644
--- a/public/emoji/1f587.svg
+++ b/public/emoji/1f587.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f58a.png b/public/emoji/1f58a.png
deleted file mode 100644
index 6ef7a3424..000000000
Binary files a/public/emoji/1f58a.png and /dev/null differ
diff --git a/public/emoji/1f58a.svg b/public/emoji/1f58a.svg
index 1b61284ce..88dafbf5c 100644
--- a/public/emoji/1f58a.svg
+++ b/public/emoji/1f58a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f58b.png b/public/emoji/1f58b.png
deleted file mode 100644
index 3ca4bd2c2..000000000
Binary files a/public/emoji/1f58b.png and /dev/null differ
diff --git a/public/emoji/1f58b.svg b/public/emoji/1f58b.svg
index a15d1aa50..a73b05883 100644
--- a/public/emoji/1f58b.svg
+++ b/public/emoji/1f58b.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f58c.png b/public/emoji/1f58c.png
deleted file mode 100644
index 28bffbaa3..000000000
Binary files a/public/emoji/1f58c.png and /dev/null differ
diff --git a/public/emoji/1f58c.svg b/public/emoji/1f58c.svg
index 25a691660..ccff7f8f6 100644
--- a/public/emoji/1f58c.svg
+++ b/public/emoji/1f58c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f58d.png b/public/emoji/1f58d.png
deleted file mode 100644
index 8d7b427aa..000000000
Binary files a/public/emoji/1f58d.png and /dev/null differ
diff --git a/public/emoji/1f58d.svg b/public/emoji/1f58d.svg
index 5a76528b5..69bc06e75 100644
--- a/public/emoji/1f58d.svg
+++ b/public/emoji/1f58d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590-1f3fb.png b/public/emoji/1f590-1f3fb.png
deleted file mode 100644
index a7888e6bd..000000000
Binary files a/public/emoji/1f590-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f590-1f3fb.svg b/public/emoji/1f590-1f3fb.svg
index 5154c0bb0..bd1bf5aae 100644
--- a/public/emoji/1f590-1f3fb.svg
+++ b/public/emoji/1f590-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590-1f3fc.png b/public/emoji/1f590-1f3fc.png
deleted file mode 100644
index cc10fbc27..000000000
Binary files a/public/emoji/1f590-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f590-1f3fc.svg b/public/emoji/1f590-1f3fc.svg
index 00e624a29..9082d2b68 100644
--- a/public/emoji/1f590-1f3fc.svg
+++ b/public/emoji/1f590-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590-1f3fd.png b/public/emoji/1f590-1f3fd.png
deleted file mode 100644
index 707236ae8..000000000
Binary files a/public/emoji/1f590-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f590-1f3fd.svg b/public/emoji/1f590-1f3fd.svg
index 79c964408..1eaeadc29 100644
--- a/public/emoji/1f590-1f3fd.svg
+++ b/public/emoji/1f590-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590-1f3fe.png b/public/emoji/1f590-1f3fe.png
deleted file mode 100644
index 1430df9c6..000000000
Binary files a/public/emoji/1f590-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f590-1f3fe.svg b/public/emoji/1f590-1f3fe.svg
index 1e01c773b..1fe6d0be7 100644
--- a/public/emoji/1f590-1f3fe.svg
+++ b/public/emoji/1f590-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590-1f3ff.png b/public/emoji/1f590-1f3ff.png
deleted file mode 100644
index 80bec971b..000000000
Binary files a/public/emoji/1f590-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f590-1f3ff.svg b/public/emoji/1f590-1f3ff.svg
index feae91977..5a2ece62c 100644
--- a/public/emoji/1f590-1f3ff.svg
+++ b/public/emoji/1f590-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f590.png b/public/emoji/1f590.png
deleted file mode 100644
index fb5ae8ebb..000000000
Binary files a/public/emoji/1f590.png and /dev/null differ
diff --git a/public/emoji/1f590.svg b/public/emoji/1f590.svg
index daefb13e6..5d7b83f46 100644
--- a/public/emoji/1f590.svg
+++ b/public/emoji/1f590.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595-1f3fb.png b/public/emoji/1f595-1f3fb.png
deleted file mode 100644
index 61ef12a15..000000000
Binary files a/public/emoji/1f595-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f595-1f3fb.svg b/public/emoji/1f595-1f3fb.svg
index 74a6b8c40..29cb0ad89 100644
--- a/public/emoji/1f595-1f3fb.svg
+++ b/public/emoji/1f595-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595-1f3fc.png b/public/emoji/1f595-1f3fc.png
deleted file mode 100644
index c31a69be9..000000000
Binary files a/public/emoji/1f595-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f595-1f3fc.svg b/public/emoji/1f595-1f3fc.svg
index 57bccaa78..b8a18628e 100644
--- a/public/emoji/1f595-1f3fc.svg
+++ b/public/emoji/1f595-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595-1f3fd.png b/public/emoji/1f595-1f3fd.png
deleted file mode 100644
index 73ac216ce..000000000
Binary files a/public/emoji/1f595-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f595-1f3fd.svg b/public/emoji/1f595-1f3fd.svg
index 8ae95508b..35a676a20 100644
--- a/public/emoji/1f595-1f3fd.svg
+++ b/public/emoji/1f595-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595-1f3fe.png b/public/emoji/1f595-1f3fe.png
deleted file mode 100644
index 80b8ab770..000000000
Binary files a/public/emoji/1f595-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f595-1f3fe.svg b/public/emoji/1f595-1f3fe.svg
index b571c1553..0f3c877bc 100644
--- a/public/emoji/1f595-1f3fe.svg
+++ b/public/emoji/1f595-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595-1f3ff.png b/public/emoji/1f595-1f3ff.png
deleted file mode 100644
index a8826b196..000000000
Binary files a/public/emoji/1f595-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f595-1f3ff.svg b/public/emoji/1f595-1f3ff.svg
index 63062da9a..a5592dda9 100644
--- a/public/emoji/1f595-1f3ff.svg
+++ b/public/emoji/1f595-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f595.png b/public/emoji/1f595.png
deleted file mode 100644
index 697f7a25e..000000000
Binary files a/public/emoji/1f595.png and /dev/null differ
diff --git a/public/emoji/1f595.svg b/public/emoji/1f595.svg
index a4247910c..2ca84e3ba 100644
--- a/public/emoji/1f595.svg
+++ b/public/emoji/1f595.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596-1f3fb.png b/public/emoji/1f596-1f3fb.png
deleted file mode 100644
index 8aff5d8fa..000000000
Binary files a/public/emoji/1f596-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f596-1f3fb.svg b/public/emoji/1f596-1f3fb.svg
index 73de3c32d..1a7d5d6d5 100644
--- a/public/emoji/1f596-1f3fb.svg
+++ b/public/emoji/1f596-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596-1f3fc.png b/public/emoji/1f596-1f3fc.png
deleted file mode 100644
index 82b7ad519..000000000
Binary files a/public/emoji/1f596-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f596-1f3fc.svg b/public/emoji/1f596-1f3fc.svg
index acd4f53b6..da2236382 100644
--- a/public/emoji/1f596-1f3fc.svg
+++ b/public/emoji/1f596-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596-1f3fd.png b/public/emoji/1f596-1f3fd.png
deleted file mode 100644
index d1400e1dd..000000000
Binary files a/public/emoji/1f596-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f596-1f3fd.svg b/public/emoji/1f596-1f3fd.svg
index ab308598e..c688db96a 100644
--- a/public/emoji/1f596-1f3fd.svg
+++ b/public/emoji/1f596-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596-1f3fe.png b/public/emoji/1f596-1f3fe.png
deleted file mode 100644
index 47e2b2801..000000000
Binary files a/public/emoji/1f596-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f596-1f3fe.svg b/public/emoji/1f596-1f3fe.svg
index 6104d999d..2fc051573 100644
--- a/public/emoji/1f596-1f3fe.svg
+++ b/public/emoji/1f596-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596-1f3ff.png b/public/emoji/1f596-1f3ff.png
deleted file mode 100644
index 60b5c6077..000000000
Binary files a/public/emoji/1f596-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f596-1f3ff.svg b/public/emoji/1f596-1f3ff.svg
index e936d88aa..881988397 100644
--- a/public/emoji/1f596-1f3ff.svg
+++ b/public/emoji/1f596-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f596.png b/public/emoji/1f596.png
deleted file mode 100644
index 54728bcaf..000000000
Binary files a/public/emoji/1f596.png and /dev/null differ
diff --git a/public/emoji/1f596.svg b/public/emoji/1f596.svg
index b2fb218f7..8126598d2 100644
--- a/public/emoji/1f596.svg
+++ b/public/emoji/1f596.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5a4.png b/public/emoji/1f5a4.png
deleted file mode 100644
index b4068c3e6..000000000
Binary files a/public/emoji/1f5a4.png and /dev/null differ
diff --git a/public/emoji/1f5a4.svg b/public/emoji/1f5a4.svg
index 5cedc5fb2..8d3556c4e 100644
--- a/public/emoji/1f5a4.svg
+++ b/public/emoji/1f5a4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5a5.png b/public/emoji/1f5a5.png
deleted file mode 100644
index 909bd42b5..000000000
Binary files a/public/emoji/1f5a5.png and /dev/null differ
diff --git a/public/emoji/1f5a5.svg b/public/emoji/1f5a5.svg
index 852287cf9..36b9da1fe 100644
--- a/public/emoji/1f5a5.svg
+++ b/public/emoji/1f5a5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5a8.png b/public/emoji/1f5a8.png
deleted file mode 100644
index 027c830f0..000000000
Binary files a/public/emoji/1f5a8.png and /dev/null differ
diff --git a/public/emoji/1f5a8.svg b/public/emoji/1f5a8.svg
index 4eb491f2e..a34359e13 100644
--- a/public/emoji/1f5a8.svg
+++ b/public/emoji/1f5a8.svg
@@ -1,3 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5b1.png b/public/emoji/1f5b1.png
deleted file mode 100644
index e84e96ff6..000000000
Binary files a/public/emoji/1f5b1.png and /dev/null differ
diff --git a/public/emoji/1f5b1.svg b/public/emoji/1f5b1.svg
index ed83ffe0f..cbad4fd06 100644
--- a/public/emoji/1f5b1.svg
+++ b/public/emoji/1f5b1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5b2.png b/public/emoji/1f5b2.png
deleted file mode 100644
index 3bea84ad7..000000000
Binary files a/public/emoji/1f5b2.png and /dev/null differ
diff --git a/public/emoji/1f5b2.svg b/public/emoji/1f5b2.svg
index 35468b2c8..fd464c096 100644
--- a/public/emoji/1f5b2.svg
+++ b/public/emoji/1f5b2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5bc.png b/public/emoji/1f5bc.png
deleted file mode 100644
index 9fe84607b..000000000
Binary files a/public/emoji/1f5bc.png and /dev/null differ
diff --git a/public/emoji/1f5bc.svg b/public/emoji/1f5bc.svg
index a0f89d0d6..8d935157a 100644
--- a/public/emoji/1f5bc.svg
+++ b/public/emoji/1f5bc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5c2.png b/public/emoji/1f5c2.png
deleted file mode 100644
index 46a7e403f..000000000
Binary files a/public/emoji/1f5c2.png and /dev/null differ
diff --git a/public/emoji/1f5c2.svg b/public/emoji/1f5c2.svg
index d2046e806..b63f3914c 100644
--- a/public/emoji/1f5c2.svg
+++ b/public/emoji/1f5c2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5c3.png b/public/emoji/1f5c3.png
deleted file mode 100644
index f2e764ce5..000000000
Binary files a/public/emoji/1f5c3.png and /dev/null differ
diff --git a/public/emoji/1f5c3.svg b/public/emoji/1f5c3.svg
index 4ab8e1b1c..743f964e6 100644
--- a/public/emoji/1f5c3.svg
+++ b/public/emoji/1f5c3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5c4.png b/public/emoji/1f5c4.png
deleted file mode 100644
index fddc65dde..000000000
Binary files a/public/emoji/1f5c4.png and /dev/null differ
diff --git a/public/emoji/1f5c4.svg b/public/emoji/1f5c4.svg
index e27bdf1b3..d3986817f 100644
--- a/public/emoji/1f5c4.svg
+++ b/public/emoji/1f5c4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5d1.png b/public/emoji/1f5d1.png
deleted file mode 100644
index 2b3c484b4..000000000
Binary files a/public/emoji/1f5d1.png and /dev/null differ
diff --git a/public/emoji/1f5d1.svg b/public/emoji/1f5d1.svg
index a83f728e2..d9ea71a06 100644
--- a/public/emoji/1f5d1.svg
+++ b/public/emoji/1f5d1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5d2.png b/public/emoji/1f5d2.png
deleted file mode 100644
index 85faa10d8..000000000
Binary files a/public/emoji/1f5d2.png and /dev/null differ
diff --git a/public/emoji/1f5d2.svg b/public/emoji/1f5d2.svg
index edfd8d0e6..61e735eb9 100644
--- a/public/emoji/1f5d2.svg
+++ b/public/emoji/1f5d2.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5d3.png b/public/emoji/1f5d3.png
deleted file mode 100644
index dec8d49bf..000000000
Binary files a/public/emoji/1f5d3.png and /dev/null differ
diff --git a/public/emoji/1f5d3.svg b/public/emoji/1f5d3.svg
index abe8a9410..cd3ce2757 100644
--- a/public/emoji/1f5d3.svg
+++ b/public/emoji/1f5d3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5dc.png b/public/emoji/1f5dc.png
deleted file mode 100644
index d7eda7f36..000000000
Binary files a/public/emoji/1f5dc.png and /dev/null differ
diff --git a/public/emoji/1f5dc.svg b/public/emoji/1f5dc.svg
index 7d7fcab04..412bf6bf7 100644
--- a/public/emoji/1f5dc.svg
+++ b/public/emoji/1f5dc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5dd.png b/public/emoji/1f5dd.png
deleted file mode 100644
index e11d706c6..000000000
Binary files a/public/emoji/1f5dd.png and /dev/null differ
diff --git a/public/emoji/1f5dd.svg b/public/emoji/1f5dd.svg
index 9bbf4f2ac..bd1d99581 100644
--- a/public/emoji/1f5dd.svg
+++ b/public/emoji/1f5dd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5de.png b/public/emoji/1f5de.png
deleted file mode 100644
index f64748df2..000000000
Binary files a/public/emoji/1f5de.png and /dev/null differ
diff --git a/public/emoji/1f5de.svg b/public/emoji/1f5de.svg
index fc3788633..f99430638 100644
--- a/public/emoji/1f5de.svg
+++ b/public/emoji/1f5de.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5e1.png b/public/emoji/1f5e1.png
deleted file mode 100644
index 66e97b0aa..000000000
Binary files a/public/emoji/1f5e1.png and /dev/null differ
diff --git a/public/emoji/1f5e1.svg b/public/emoji/1f5e1.svg
index 8802fe08c..9f4d1b5da 100644
--- a/public/emoji/1f5e1.svg
+++ b/public/emoji/1f5e1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5e3.png b/public/emoji/1f5e3.png
deleted file mode 100644
index 2df93aaae..000000000
Binary files a/public/emoji/1f5e3.png and /dev/null differ
diff --git a/public/emoji/1f5e3.svg b/public/emoji/1f5e3.svg
index 9ba8a6ca6..ded1caa61 100644
--- a/public/emoji/1f5e3.svg
+++ b/public/emoji/1f5e3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5e8.png b/public/emoji/1f5e8.png
deleted file mode 100644
index 00c05959b..000000000
Binary files a/public/emoji/1f5e8.png and /dev/null differ
diff --git a/public/emoji/1f5e8.svg b/public/emoji/1f5e8.svg
index b8c77e411..d158c6e25 100644
--- a/public/emoji/1f5e8.svg
+++ b/public/emoji/1f5e8.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5ef.png b/public/emoji/1f5ef.png
deleted file mode 100644
index f5c97c4d2..000000000
Binary files a/public/emoji/1f5ef.png and /dev/null differ
diff --git a/public/emoji/1f5ef.svg b/public/emoji/1f5ef.svg
index ed8290098..f9f4c9be1 100644
--- a/public/emoji/1f5ef.svg
+++ b/public/emoji/1f5ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5f3.png b/public/emoji/1f5f3.png
deleted file mode 100644
index 9b6767aea..000000000
Binary files a/public/emoji/1f5f3.png and /dev/null differ
diff --git a/public/emoji/1f5f3.svg b/public/emoji/1f5f3.svg
index c0cfc8307..4aa277eb0 100644
--- a/public/emoji/1f5f3.svg
+++ b/public/emoji/1f5f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5fa.png b/public/emoji/1f5fa.png
deleted file mode 100644
index 15efe32c7..000000000
Binary files a/public/emoji/1f5fa.png and /dev/null differ
diff --git a/public/emoji/1f5fa.svg b/public/emoji/1f5fa.svg
index 182a68f7f..b6e48a7c1 100644
--- a/public/emoji/1f5fa.svg
+++ b/public/emoji/1f5fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5fb.png b/public/emoji/1f5fb.png
deleted file mode 100644
index 88a547524..000000000
Binary files a/public/emoji/1f5fb.png and /dev/null differ
diff --git a/public/emoji/1f5fb.svg b/public/emoji/1f5fb.svg
index 17545f8cc..68b542bc1 100644
--- a/public/emoji/1f5fb.svg
+++ b/public/emoji/1f5fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5fc.png b/public/emoji/1f5fc.png
deleted file mode 100644
index 37df7fc65..000000000
Binary files a/public/emoji/1f5fc.png and /dev/null differ
diff --git a/public/emoji/1f5fc.svg b/public/emoji/1f5fc.svg
index cb64daa5f..40ee1e93b 100644
--- a/public/emoji/1f5fc.svg
+++ b/public/emoji/1f5fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5fd.png b/public/emoji/1f5fd.png
deleted file mode 100644
index 05df8289b..000000000
Binary files a/public/emoji/1f5fd.png and /dev/null differ
diff --git a/public/emoji/1f5fd.svg b/public/emoji/1f5fd.svg
index fc4d83459..bbdd9f727 100644
--- a/public/emoji/1f5fd.svg
+++ b/public/emoji/1f5fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5fe.png b/public/emoji/1f5fe.png
deleted file mode 100644
index d86d0a59e..000000000
Binary files a/public/emoji/1f5fe.png and /dev/null differ
diff --git a/public/emoji/1f5fe.svg b/public/emoji/1f5fe.svg
index 2b86ffcad..02b5e88d6 100644
--- a/public/emoji/1f5fe.svg
+++ b/public/emoji/1f5fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f5ff.png b/public/emoji/1f5ff.png
deleted file mode 100644
index e6a7779c4..000000000
Binary files a/public/emoji/1f5ff.png and /dev/null differ
diff --git a/public/emoji/1f5ff.svg b/public/emoji/1f5ff.svg
index 3b6c02afd..ebe179192 100644
--- a/public/emoji/1f5ff.svg
+++ b/public/emoji/1f5ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f600.png b/public/emoji/1f600.png
deleted file mode 100644
index 3e8e0dab7..000000000
Binary files a/public/emoji/1f600.png and /dev/null differ
diff --git a/public/emoji/1f600.svg b/public/emoji/1f600.svg
index 33a476929..d7e74f2d7 100644
--- a/public/emoji/1f600.svg
+++ b/public/emoji/1f600.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f601.png b/public/emoji/1f601.png
deleted file mode 100644
index 418d94c81..000000000
Binary files a/public/emoji/1f601.png and /dev/null differ
diff --git a/public/emoji/1f601.svg b/public/emoji/1f601.svg
index e3939db53..5f3b93ea0 100644
--- a/public/emoji/1f601.svg
+++ b/public/emoji/1f601.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f602.png b/public/emoji/1f602.png
deleted file mode 100644
index 0ba3b1859..000000000
Binary files a/public/emoji/1f602.png and /dev/null differ
diff --git a/public/emoji/1f602.svg b/public/emoji/1f602.svg
index ad3522a9d..09650895a 100644
--- a/public/emoji/1f602.svg
+++ b/public/emoji/1f602.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f603.png b/public/emoji/1f603.png
deleted file mode 100644
index 30957a659..000000000
Binary files a/public/emoji/1f603.png and /dev/null differ
diff --git a/public/emoji/1f603.svg b/public/emoji/1f603.svg
index a526b1541..3b0f5413f 100644
--- a/public/emoji/1f603.svg
+++ b/public/emoji/1f603.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f604.png b/public/emoji/1f604.png
deleted file mode 100644
index aa47ffe97..000000000
Binary files a/public/emoji/1f604.png and /dev/null differ
diff --git a/public/emoji/1f604.svg b/public/emoji/1f604.svg
index 9d3a8409e..c0d62c68d 100644
--- a/public/emoji/1f604.svg
+++ b/public/emoji/1f604.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f605.png b/public/emoji/1f605.png
deleted file mode 100644
index cb18d9c89..000000000
Binary files a/public/emoji/1f605.png and /dev/null differ
diff --git a/public/emoji/1f605.svg b/public/emoji/1f605.svg
index da2087545..2d9c1104c 100644
--- a/public/emoji/1f605.svg
+++ b/public/emoji/1f605.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f606.png b/public/emoji/1f606.png
deleted file mode 100644
index d94e9505b..000000000
Binary files a/public/emoji/1f606.png and /dev/null differ
diff --git a/public/emoji/1f606.svg b/public/emoji/1f606.svg
index a16e007eb..b802bce3e 100644
--- a/public/emoji/1f606.svg
+++ b/public/emoji/1f606.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f607.png b/public/emoji/1f607.png
deleted file mode 100644
index 57f515112..000000000
Binary files a/public/emoji/1f607.png and /dev/null differ
diff --git a/public/emoji/1f607.svg b/public/emoji/1f607.svg
index 7109c8371..c5139cb9d 100644
--- a/public/emoji/1f607.svg
+++ b/public/emoji/1f607.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f608.png b/public/emoji/1f608.png
deleted file mode 100644
index cc2c5f1ec..000000000
Binary files a/public/emoji/1f608.png and /dev/null differ
diff --git a/public/emoji/1f608.svg b/public/emoji/1f608.svg
index bdf423616..770f118d9 100644
--- a/public/emoji/1f608.svg
+++ b/public/emoji/1f608.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f609.png b/public/emoji/1f609.png
deleted file mode 100644
index 7ea7810a3..000000000
Binary files a/public/emoji/1f609.png and /dev/null differ
diff --git a/public/emoji/1f609.svg b/public/emoji/1f609.svg
index 2e4509e57..0a7bf7fb8 100644
--- a/public/emoji/1f609.svg
+++ b/public/emoji/1f609.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60a.png b/public/emoji/1f60a.png
deleted file mode 100644
index aac1a424a..000000000
Binary files a/public/emoji/1f60a.png and /dev/null differ
diff --git a/public/emoji/1f60a.svg b/public/emoji/1f60a.svg
index 797c06386..ad888b581 100644
--- a/public/emoji/1f60a.svg
+++ b/public/emoji/1f60a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60b.png b/public/emoji/1f60b.png
deleted file mode 100644
index 2df15753c..000000000
Binary files a/public/emoji/1f60b.png and /dev/null differ
diff --git a/public/emoji/1f60b.svg b/public/emoji/1f60b.svg
index 932ca7d7c..1439ed01e 100644
--- a/public/emoji/1f60b.svg
+++ b/public/emoji/1f60b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60c.png b/public/emoji/1f60c.png
deleted file mode 100644
index 715ad0bf5..000000000
Binary files a/public/emoji/1f60c.png and /dev/null differ
diff --git a/public/emoji/1f60c.svg b/public/emoji/1f60c.svg
index 4af17f144..bad14b74f 100644
--- a/public/emoji/1f60c.svg
+++ b/public/emoji/1f60c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60d.png b/public/emoji/1f60d.png
deleted file mode 100644
index 73fbee29d..000000000
Binary files a/public/emoji/1f60d.png and /dev/null differ
diff --git a/public/emoji/1f60d.svg b/public/emoji/1f60d.svg
index 4237d7e3f..ea5dce36a 100644
--- a/public/emoji/1f60d.svg
+++ b/public/emoji/1f60d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60e.png b/public/emoji/1f60e.png
deleted file mode 100644
index 200117351..000000000
Binary files a/public/emoji/1f60e.png and /dev/null differ
diff --git a/public/emoji/1f60e.svg b/public/emoji/1f60e.svg
index 945ae68db..4dfb1d675 100644
--- a/public/emoji/1f60e.svg
+++ b/public/emoji/1f60e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f60f.png b/public/emoji/1f60f.png
deleted file mode 100644
index 878521099..000000000
Binary files a/public/emoji/1f60f.png and /dev/null differ
diff --git a/public/emoji/1f60f.svg b/public/emoji/1f60f.svg
index 68a3db63b..886ea2e1b 100644
--- a/public/emoji/1f60f.svg
+++ b/public/emoji/1f60f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f610.png b/public/emoji/1f610.png
deleted file mode 100644
index 065d193af..000000000
Binary files a/public/emoji/1f610.png and /dev/null differ
diff --git a/public/emoji/1f610.svg b/public/emoji/1f610.svg
index 23a11f7c5..69a7a3816 100644
--- a/public/emoji/1f610.svg
+++ b/public/emoji/1f610.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f611.png b/public/emoji/1f611.png
deleted file mode 100644
index 2954017f6..000000000
Binary files a/public/emoji/1f611.png and /dev/null differ
diff --git a/public/emoji/1f611.svg b/public/emoji/1f611.svg
index 7938d2c1d..71a6155a5 100644
--- a/public/emoji/1f611.svg
+++ b/public/emoji/1f611.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f612.png b/public/emoji/1f612.png
deleted file mode 100644
index 25e3677f2..000000000
Binary files a/public/emoji/1f612.png and /dev/null differ
diff --git a/public/emoji/1f612.svg b/public/emoji/1f612.svg
index e55762748..bc67b3aa0 100644
--- a/public/emoji/1f612.svg
+++ b/public/emoji/1f612.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f613.png b/public/emoji/1f613.png
deleted file mode 100644
index f0dae7b78..000000000
Binary files a/public/emoji/1f613.png and /dev/null differ
diff --git a/public/emoji/1f613.svg b/public/emoji/1f613.svg
index 607726762..82838f419 100644
--- a/public/emoji/1f613.svg
+++ b/public/emoji/1f613.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f614.png b/public/emoji/1f614.png
deleted file mode 100644
index 490fb5669..000000000
Binary files a/public/emoji/1f614.png and /dev/null differ
diff --git a/public/emoji/1f614.svg b/public/emoji/1f614.svg
index 28de02f24..5125d919a 100644
--- a/public/emoji/1f614.svg
+++ b/public/emoji/1f614.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f615.png b/public/emoji/1f615.png
deleted file mode 100644
index 502b6bf0e..000000000
Binary files a/public/emoji/1f615.png and /dev/null differ
diff --git a/public/emoji/1f615.svg b/public/emoji/1f615.svg
index 534330c3b..0c29da5c2 100644
--- a/public/emoji/1f615.svg
+++ b/public/emoji/1f615.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f616.png b/public/emoji/1f616.png
deleted file mode 100644
index aa4b29e93..000000000
Binary files a/public/emoji/1f616.png and /dev/null differ
diff --git a/public/emoji/1f616.svg b/public/emoji/1f616.svg
index 5f038264f..cbdeaa055 100644
--- a/public/emoji/1f616.svg
+++ b/public/emoji/1f616.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f617.png b/public/emoji/1f617.png
deleted file mode 100644
index 39d325fd8..000000000
Binary files a/public/emoji/1f617.png and /dev/null differ
diff --git a/public/emoji/1f617.svg b/public/emoji/1f617.svg
index be878012b..4b0b62d8b 100644
--- a/public/emoji/1f617.svg
+++ b/public/emoji/1f617.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f618.png b/public/emoji/1f618.png
deleted file mode 100644
index 0ff808fd6..000000000
Binary files a/public/emoji/1f618.png and /dev/null differ
diff --git a/public/emoji/1f618.svg b/public/emoji/1f618.svg
index 983b37b47..2d920d99f 100644
--- a/public/emoji/1f618.svg
+++ b/public/emoji/1f618.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f619.png b/public/emoji/1f619.png
deleted file mode 100644
index e181f1709..000000000
Binary files a/public/emoji/1f619.png and /dev/null differ
diff --git a/public/emoji/1f619.svg b/public/emoji/1f619.svg
index 1ac00e32f..e265c02f1 100644
--- a/public/emoji/1f619.svg
+++ b/public/emoji/1f619.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61a.png b/public/emoji/1f61a.png
deleted file mode 100644
index b684d7d4d..000000000
Binary files a/public/emoji/1f61a.png and /dev/null differ
diff --git a/public/emoji/1f61a.svg b/public/emoji/1f61a.svg
index 7a3cf7604..414193a78 100644
--- a/public/emoji/1f61a.svg
+++ b/public/emoji/1f61a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61b.png b/public/emoji/1f61b.png
deleted file mode 100644
index 25757341f..000000000
Binary files a/public/emoji/1f61b.png and /dev/null differ
diff --git a/public/emoji/1f61b.svg b/public/emoji/1f61b.svg
index ccef634ec..eb39b5526 100644
--- a/public/emoji/1f61b.svg
+++ b/public/emoji/1f61b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61c.png b/public/emoji/1f61c.png
deleted file mode 100644
index 4817eaa3d..000000000
Binary files a/public/emoji/1f61c.png and /dev/null differ
diff --git a/public/emoji/1f61c.svg b/public/emoji/1f61c.svg
index 413c3d2a8..20dd42d42 100644
--- a/public/emoji/1f61c.svg
+++ b/public/emoji/1f61c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61d.png b/public/emoji/1f61d.png
deleted file mode 100644
index 5c0401e9b..000000000
Binary files a/public/emoji/1f61d.png and /dev/null differ
diff --git a/public/emoji/1f61d.svg b/public/emoji/1f61d.svg
index 5157da937..8d5e50cc7 100644
--- a/public/emoji/1f61d.svg
+++ b/public/emoji/1f61d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61e.png b/public/emoji/1f61e.png
deleted file mode 100644
index efe4e67e2..000000000
Binary files a/public/emoji/1f61e.png and /dev/null differ
diff --git a/public/emoji/1f61e.svg b/public/emoji/1f61e.svg
index 143c2f431..8ebcdf398 100644
--- a/public/emoji/1f61e.svg
+++ b/public/emoji/1f61e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f61f.png b/public/emoji/1f61f.png
deleted file mode 100644
index 7074afcf5..000000000
Binary files a/public/emoji/1f61f.png and /dev/null differ
diff --git a/public/emoji/1f61f.svg b/public/emoji/1f61f.svg
index a1eec054e..0ac3e37e1 100644
--- a/public/emoji/1f61f.svg
+++ b/public/emoji/1f61f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f620.png b/public/emoji/1f620.png
deleted file mode 100644
index cfc4a6ecd..000000000
Binary files a/public/emoji/1f620.png and /dev/null differ
diff --git a/public/emoji/1f620.svg b/public/emoji/1f620.svg
index a32acbcdd..70cc96a73 100644
--- a/public/emoji/1f620.svg
+++ b/public/emoji/1f620.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f621.png b/public/emoji/1f621.png
deleted file mode 100644
index 9d739bd40..000000000
Binary files a/public/emoji/1f621.png and /dev/null differ
diff --git a/public/emoji/1f621.svg b/public/emoji/1f621.svg
index f7c72270f..8913846df 100644
--- a/public/emoji/1f621.svg
+++ b/public/emoji/1f621.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f622.png b/public/emoji/1f622.png
deleted file mode 100644
index b7877f8a1..000000000
Binary files a/public/emoji/1f622.png and /dev/null differ
diff --git a/public/emoji/1f622.svg b/public/emoji/1f622.svg
index e39209c80..2d960b569 100644
--- a/public/emoji/1f622.svg
+++ b/public/emoji/1f622.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f623.png b/public/emoji/1f623.png
deleted file mode 100644
index 646a05fe9..000000000
Binary files a/public/emoji/1f623.png and /dev/null differ
diff --git a/public/emoji/1f623.svg b/public/emoji/1f623.svg
index 94826839a..69e670b15 100644
--- a/public/emoji/1f623.svg
+++ b/public/emoji/1f623.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f624.png b/public/emoji/1f624.png
deleted file mode 100644
index 0be7a5019..000000000
Binary files a/public/emoji/1f624.png and /dev/null differ
diff --git a/public/emoji/1f624.svg b/public/emoji/1f624.svg
index fe5de95fc..a3b73f63e 100644
--- a/public/emoji/1f624.svg
+++ b/public/emoji/1f624.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f625.png b/public/emoji/1f625.png
deleted file mode 100644
index aef864d2b..000000000
Binary files a/public/emoji/1f625.png and /dev/null differ
diff --git a/public/emoji/1f625.svg b/public/emoji/1f625.svg
index c52759e69..1d06587ec 100644
--- a/public/emoji/1f625.svg
+++ b/public/emoji/1f625.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f626.png b/public/emoji/1f626.png
deleted file mode 100644
index 43ab6b0a1..000000000
Binary files a/public/emoji/1f626.png and /dev/null differ
diff --git a/public/emoji/1f626.svg b/public/emoji/1f626.svg
index c037c085a..11a2a0bf6 100644
--- a/public/emoji/1f626.svg
+++ b/public/emoji/1f626.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f627.png b/public/emoji/1f627.png
deleted file mode 100644
index f99026a3b..000000000
Binary files a/public/emoji/1f627.png and /dev/null differ
diff --git a/public/emoji/1f627.svg b/public/emoji/1f627.svg
index b97c18b3a..94aee7d3c 100644
--- a/public/emoji/1f627.svg
+++ b/public/emoji/1f627.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f628.png b/public/emoji/1f628.png
deleted file mode 100644
index eb8b347ce..000000000
Binary files a/public/emoji/1f628.png and /dev/null differ
diff --git a/public/emoji/1f628.svg b/public/emoji/1f628.svg
index 38cfe0bb2..d4cc4aa7c 100644
--- a/public/emoji/1f628.svg
+++ b/public/emoji/1f628.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f629.png b/public/emoji/1f629.png
deleted file mode 100644
index 98bfbd24a..000000000
Binary files a/public/emoji/1f629.png and /dev/null differ
diff --git a/public/emoji/1f629.svg b/public/emoji/1f629.svg
index 248da5b2e..200c69f7d 100644
--- a/public/emoji/1f629.svg
+++ b/public/emoji/1f629.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62a.png b/public/emoji/1f62a.png
deleted file mode 100644
index 836b41077..000000000
Binary files a/public/emoji/1f62a.png and /dev/null differ
diff --git a/public/emoji/1f62a.svg b/public/emoji/1f62a.svg
index d2dd9f7b4..26f5e93a3 100644
--- a/public/emoji/1f62a.svg
+++ b/public/emoji/1f62a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62b.png b/public/emoji/1f62b.png
deleted file mode 100644
index 4e01eff5b..000000000
Binary files a/public/emoji/1f62b.png and /dev/null differ
diff --git a/public/emoji/1f62b.svg b/public/emoji/1f62b.svg
index 3ba1a6c02..094fd685d 100644
--- a/public/emoji/1f62b.svg
+++ b/public/emoji/1f62b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62c.png b/public/emoji/1f62c.png
deleted file mode 100644
index 871b2f071..000000000
Binary files a/public/emoji/1f62c.png and /dev/null differ
diff --git a/public/emoji/1f62c.svg b/public/emoji/1f62c.svg
index 75c5b7dcb..6ef38ff1c 100644
--- a/public/emoji/1f62c.svg
+++ b/public/emoji/1f62c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62d.png b/public/emoji/1f62d.png
deleted file mode 100644
index 52e3517a1..000000000
Binary files a/public/emoji/1f62d.png and /dev/null differ
diff --git a/public/emoji/1f62d.svg b/public/emoji/1f62d.svg
index 0fb4ba9bd..87a656b31 100644
--- a/public/emoji/1f62d.svg
+++ b/public/emoji/1f62d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62e.png b/public/emoji/1f62e.png
deleted file mode 100644
index a62cd27e1..000000000
Binary files a/public/emoji/1f62e.png and /dev/null differ
diff --git a/public/emoji/1f62e.svg b/public/emoji/1f62e.svg
index 855b53c66..4b54e4c74 100644
--- a/public/emoji/1f62e.svg
+++ b/public/emoji/1f62e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f62f.png b/public/emoji/1f62f.png
deleted file mode 100644
index cad0e2313..000000000
Binary files a/public/emoji/1f62f.png and /dev/null differ
diff --git a/public/emoji/1f62f.svg b/public/emoji/1f62f.svg
index d9b0801f7..192838a67 100644
--- a/public/emoji/1f62f.svg
+++ b/public/emoji/1f62f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f630.png b/public/emoji/1f630.png
deleted file mode 100644
index 85b2231bb..000000000
Binary files a/public/emoji/1f630.png and /dev/null differ
diff --git a/public/emoji/1f630.svg b/public/emoji/1f630.svg
index 9ae7444e7..3463630bc 100644
--- a/public/emoji/1f630.svg
+++ b/public/emoji/1f630.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f631.png b/public/emoji/1f631.png
deleted file mode 100644
index c3bea9f25..000000000
Binary files a/public/emoji/1f631.png and /dev/null differ
diff --git a/public/emoji/1f631.svg b/public/emoji/1f631.svg
index 686c98355..cd901c7c1 100644
--- a/public/emoji/1f631.svg
+++ b/public/emoji/1f631.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f632.png b/public/emoji/1f632.png
deleted file mode 100644
index bd0ac55ec..000000000
Binary files a/public/emoji/1f632.png and /dev/null differ
diff --git a/public/emoji/1f632.svg b/public/emoji/1f632.svg
index 703ddf123..6c07237f4 100644
--- a/public/emoji/1f632.svg
+++ b/public/emoji/1f632.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f633.png b/public/emoji/1f633.png
deleted file mode 100644
index 829220bc4..000000000
Binary files a/public/emoji/1f633.png and /dev/null differ
diff --git a/public/emoji/1f633.svg b/public/emoji/1f633.svg
index 8be56d39a..b4a717fab 100644
--- a/public/emoji/1f633.svg
+++ b/public/emoji/1f633.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f634.png b/public/emoji/1f634.png
deleted file mode 100644
index 9ecf600d6..000000000
Binary files a/public/emoji/1f634.png and /dev/null differ
diff --git a/public/emoji/1f634.svg b/public/emoji/1f634.svg
index 41beef906..53b486a9d 100644
--- a/public/emoji/1f634.svg
+++ b/public/emoji/1f634.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f635.png b/public/emoji/1f635.png
deleted file mode 100644
index 3120316ab..000000000
Binary files a/public/emoji/1f635.png and /dev/null differ
diff --git a/public/emoji/1f635.svg b/public/emoji/1f635.svg
index 655645247..45a8bbed7 100644
--- a/public/emoji/1f635.svg
+++ b/public/emoji/1f635.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f636.png b/public/emoji/1f636.png
deleted file mode 100644
index b642f6c11..000000000
Binary files a/public/emoji/1f636.png and /dev/null differ
diff --git a/public/emoji/1f636.svg b/public/emoji/1f636.svg
index 9ad70bc51..3eb385b1d 100644
--- a/public/emoji/1f636.svg
+++ b/public/emoji/1f636.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f637.png b/public/emoji/1f637.png
deleted file mode 100644
index 1e800acd1..000000000
Binary files a/public/emoji/1f637.png and /dev/null differ
diff --git a/public/emoji/1f637.svg b/public/emoji/1f637.svg
index 2fcc6b50f..c2de94b08 100644
--- a/public/emoji/1f637.svg
+++ b/public/emoji/1f637.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f638.png b/public/emoji/1f638.png
deleted file mode 100644
index 6f25f11dd..000000000
Binary files a/public/emoji/1f638.png and /dev/null differ
diff --git a/public/emoji/1f638.svg b/public/emoji/1f638.svg
index 6e8aa8435..470dd7266 100644
--- a/public/emoji/1f638.svg
+++ b/public/emoji/1f638.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f639.png b/public/emoji/1f639.png
deleted file mode 100644
index aac353179..000000000
Binary files a/public/emoji/1f639.png and /dev/null differ
diff --git a/public/emoji/1f639.svg b/public/emoji/1f639.svg
index 1eb62f35c..4cd1a535a 100644
--- a/public/emoji/1f639.svg
+++ b/public/emoji/1f639.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63a.png b/public/emoji/1f63a.png
deleted file mode 100644
index 163b57a34..000000000
Binary files a/public/emoji/1f63a.png and /dev/null differ
diff --git a/public/emoji/1f63a.svg b/public/emoji/1f63a.svg
index c708d746e..c5d85658d 100644
--- a/public/emoji/1f63a.svg
+++ b/public/emoji/1f63a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63b.png b/public/emoji/1f63b.png
deleted file mode 100644
index bc5a833f9..000000000
Binary files a/public/emoji/1f63b.png and /dev/null differ
diff --git a/public/emoji/1f63b.svg b/public/emoji/1f63b.svg
index b7388254b..7fbf39f0b 100644
--- a/public/emoji/1f63b.svg
+++ b/public/emoji/1f63b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63c.png b/public/emoji/1f63c.png
deleted file mode 100644
index 9ac5954c1..000000000
Binary files a/public/emoji/1f63c.png and /dev/null differ
diff --git a/public/emoji/1f63c.svg b/public/emoji/1f63c.svg
index 7cebf3d67..496d0bfea 100644
--- a/public/emoji/1f63c.svg
+++ b/public/emoji/1f63c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63d.png b/public/emoji/1f63d.png
deleted file mode 100644
index 6e0bcc775..000000000
Binary files a/public/emoji/1f63d.png and /dev/null differ
diff --git a/public/emoji/1f63d.svg b/public/emoji/1f63d.svg
index 8d029f960..147c3e5c0 100644
--- a/public/emoji/1f63d.svg
+++ b/public/emoji/1f63d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63e.png b/public/emoji/1f63e.png
deleted file mode 100644
index 41ddfeab4..000000000
Binary files a/public/emoji/1f63e.png and /dev/null differ
diff --git a/public/emoji/1f63e.svg b/public/emoji/1f63e.svg
index aa7be0f64..edb262e0f 100644
--- a/public/emoji/1f63e.svg
+++ b/public/emoji/1f63e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f63f.png b/public/emoji/1f63f.png
deleted file mode 100644
index b4f49715e..000000000
Binary files a/public/emoji/1f63f.png and /dev/null differ
diff --git a/public/emoji/1f63f.svg b/public/emoji/1f63f.svg
index 5b17e9523..1a0b5017e 100644
--- a/public/emoji/1f63f.svg
+++ b/public/emoji/1f63f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f640.png b/public/emoji/1f640.png
deleted file mode 100644
index 15803ad8e..000000000
Binary files a/public/emoji/1f640.png and /dev/null differ
diff --git a/public/emoji/1f640.svg b/public/emoji/1f640.svg
index 5c1c25786..95462021a 100644
--- a/public/emoji/1f640.svg
+++ b/public/emoji/1f640.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f641.png b/public/emoji/1f641.png
deleted file mode 100644
index b2f1d983d..000000000
Binary files a/public/emoji/1f641.png and /dev/null differ
diff --git a/public/emoji/1f641.svg b/public/emoji/1f641.svg
index aeb3b4f24..af09e8205 100644
--- a/public/emoji/1f641.svg
+++ b/public/emoji/1f641.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f642.png b/public/emoji/1f642.png
deleted file mode 100644
index ddd7d65dd..000000000
Binary files a/public/emoji/1f642.png and /dev/null differ
diff --git a/public/emoji/1f642.svg b/public/emoji/1f642.svg
index 753ef7c23..0eab08c53 100644
--- a/public/emoji/1f642.svg
+++ b/public/emoji/1f642.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f643.png b/public/emoji/1f643.png
deleted file mode 100644
index 128f31c98..000000000
Binary files a/public/emoji/1f643.png and /dev/null differ
diff --git a/public/emoji/1f643.svg b/public/emoji/1f643.svg
index bdb24a7e5..b44e813c7 100644
--- a/public/emoji/1f643.svg
+++ b/public/emoji/1f643.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f644.png b/public/emoji/1f644.png
deleted file mode 100644
index 2f77b9fc3..000000000
Binary files a/public/emoji/1f644.png and /dev/null differ
diff --git a/public/emoji/1f644.svg b/public/emoji/1f644.svg
index dcb222cef..0d6bfd354 100644
--- a/public/emoji/1f644.svg
+++ b/public/emoji/1f644.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f645-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..74f9b85fd
--- /dev/null
+++ b/public/emoji/1f645-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f645-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..71db02cba
--- /dev/null
+++ b/public/emoji/1f645-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fb.png b/public/emoji/1f645-1f3fb.png
deleted file mode 100644
index 5c1a3cbb8..000000000
Binary files a/public/emoji/1f645-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f645-1f3fb.svg b/public/emoji/1f645-1f3fb.svg
index ac2255ef7..74f9b85fd 100644
--- a/public/emoji/1f645-1f3fb.svg
+++ b/public/emoji/1f645-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f645-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..af386803e
--- /dev/null
+++ b/public/emoji/1f645-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f645-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..67aae6cd5
--- /dev/null
+++ b/public/emoji/1f645-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fc.png b/public/emoji/1f645-1f3fc.png
deleted file mode 100644
index 80d8021f8..000000000
Binary files a/public/emoji/1f645-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f645-1f3fc.svg b/public/emoji/1f645-1f3fc.svg
index 621160c36..af386803e 100644
--- a/public/emoji/1f645-1f3fc.svg
+++ b/public/emoji/1f645-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f645-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..420a4d318
--- /dev/null
+++ b/public/emoji/1f645-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f645-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d6d2b153b
--- /dev/null
+++ b/public/emoji/1f645-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fd.png b/public/emoji/1f645-1f3fd.png
deleted file mode 100644
index 635e6a008..000000000
Binary files a/public/emoji/1f645-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f645-1f3fd.svg b/public/emoji/1f645-1f3fd.svg
index 446067544..420a4d318 100644
--- a/public/emoji/1f645-1f3fd.svg
+++ b/public/emoji/1f645-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f645-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fb7d1118b
--- /dev/null
+++ b/public/emoji/1f645-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f645-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ee5efbf77
--- /dev/null
+++ b/public/emoji/1f645-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3fe.png b/public/emoji/1f645-1f3fe.png
deleted file mode 100644
index b96e412a3..000000000
Binary files a/public/emoji/1f645-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f645-1f3fe.svg b/public/emoji/1f645-1f3fe.svg
index 2a99eabc2..fb7d1118b 100644
--- a/public/emoji/1f645-1f3fe.svg
+++ b/public/emoji/1f645-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f645-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4bd472200
--- /dev/null
+++ b/public/emoji/1f645-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f645-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ff3880c72
--- /dev/null
+++ b/public/emoji/1f645-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-1f3ff.png b/public/emoji/1f645-1f3ff.png
deleted file mode 100644
index 9a7084afa..000000000
Binary files a/public/emoji/1f645-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f645-1f3ff.svg b/public/emoji/1f645-1f3ff.svg
index b32480b4a..4bd472200 100644
--- a/public/emoji/1f645-1f3ff.svg
+++ b/public/emoji/1f645-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f645-200d-2640-fe0f.svg b/public/emoji/1f645-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4d88d71eb
--- /dev/null
+++ b/public/emoji/1f645-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645-200d-2642-fe0f.svg b/public/emoji/1f645-200d-2642-fe0f.svg
new file mode 100644
index 000000000..eae7e5fdb
--- /dev/null
+++ b/public/emoji/1f645-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f645.png b/public/emoji/1f645.png
deleted file mode 100644
index ed5771003..000000000
Binary files a/public/emoji/1f645.png and /dev/null differ
diff --git a/public/emoji/1f645.svg b/public/emoji/1f645.svg
index d735d25d7..4d88d71eb 100644
--- a/public/emoji/1f645.svg
+++ b/public/emoji/1f645.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f646-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..df103cc7a
--- /dev/null
+++ b/public/emoji/1f646-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f646-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..0838f2dde
--- /dev/null
+++ b/public/emoji/1f646-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fb.png b/public/emoji/1f646-1f3fb.png
deleted file mode 100644
index c99543e78..000000000
Binary files a/public/emoji/1f646-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f646-1f3fb.svg b/public/emoji/1f646-1f3fb.svg
index b8d8dfddb..df103cc7a 100644
--- a/public/emoji/1f646-1f3fb.svg
+++ b/public/emoji/1f646-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f646-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..271cf8fd0
--- /dev/null
+++ b/public/emoji/1f646-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f646-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3a1069e0b
--- /dev/null
+++ b/public/emoji/1f646-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fc.png b/public/emoji/1f646-1f3fc.png
deleted file mode 100644
index ad5fae813..000000000
Binary files a/public/emoji/1f646-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f646-1f3fc.svg b/public/emoji/1f646-1f3fc.svg
index f16fa5a95..271cf8fd0 100644
--- a/public/emoji/1f646-1f3fc.svg
+++ b/public/emoji/1f646-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f646-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..16995b6a8
--- /dev/null
+++ b/public/emoji/1f646-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f646-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..910658dd2
--- /dev/null
+++ b/public/emoji/1f646-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fd.png b/public/emoji/1f646-1f3fd.png
deleted file mode 100644
index 51bf4fab4..000000000
Binary files a/public/emoji/1f646-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f646-1f3fd.svg b/public/emoji/1f646-1f3fd.svg
index 9bc563c6b..16995b6a8 100644
--- a/public/emoji/1f646-1f3fd.svg
+++ b/public/emoji/1f646-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f646-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..7ddb98d58
--- /dev/null
+++ b/public/emoji/1f646-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f646-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..125caa0c6
--- /dev/null
+++ b/public/emoji/1f646-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3fe.png b/public/emoji/1f646-1f3fe.png
deleted file mode 100644
index ee3f9dc64..000000000
Binary files a/public/emoji/1f646-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f646-1f3fe.svg b/public/emoji/1f646-1f3fe.svg
index 5392c7375..7ddb98d58 100644
--- a/public/emoji/1f646-1f3fe.svg
+++ b/public/emoji/1f646-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f646-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..2d91be69f
--- /dev/null
+++ b/public/emoji/1f646-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f646-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..964fa2982
--- /dev/null
+++ b/public/emoji/1f646-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-1f3ff.png b/public/emoji/1f646-1f3ff.png
deleted file mode 100644
index 62a9d9237..000000000
Binary files a/public/emoji/1f646-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f646-1f3ff.svg b/public/emoji/1f646-1f3ff.svg
index 6a43d0b1a..2d91be69f 100644
--- a/public/emoji/1f646-1f3ff.svg
+++ b/public/emoji/1f646-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f646-200d-2640-fe0f.svg b/public/emoji/1f646-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6f357f8e7
--- /dev/null
+++ b/public/emoji/1f646-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646-200d-2642-fe0f.svg b/public/emoji/1f646-200d-2642-fe0f.svg
new file mode 100644
index 000000000..236602e9f
--- /dev/null
+++ b/public/emoji/1f646-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f646.png b/public/emoji/1f646.png
deleted file mode 100644
index 90a2c7469..000000000
Binary files a/public/emoji/1f646.png and /dev/null differ
diff --git a/public/emoji/1f646.svg b/public/emoji/1f646.svg
index 8a9a9648e..6f357f8e7 100644
--- a/public/emoji/1f646.svg
+++ b/public/emoji/1f646.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f647-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fee297b9c
--- /dev/null
+++ b/public/emoji/1f647-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f647-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8b367d523
--- /dev/null
+++ b/public/emoji/1f647-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fb.png b/public/emoji/1f647-1f3fb.png
deleted file mode 100644
index 87afb7b54..000000000
Binary files a/public/emoji/1f647-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f647-1f3fb.svg b/public/emoji/1f647-1f3fb.svg
index bce8d4bab..8b367d523 100644
--- a/public/emoji/1f647-1f3fb.svg
+++ b/public/emoji/1f647-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f647-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a6e77cca7
--- /dev/null
+++ b/public/emoji/1f647-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f647-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..43f2bcb9c
--- /dev/null
+++ b/public/emoji/1f647-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fc.png b/public/emoji/1f647-1f3fc.png
deleted file mode 100644
index 3ccf7dc08..000000000
Binary files a/public/emoji/1f647-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f647-1f3fc.svg b/public/emoji/1f647-1f3fc.svg
index c492d0978..43f2bcb9c 100644
--- a/public/emoji/1f647-1f3fc.svg
+++ b/public/emoji/1f647-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f647-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8ee53b816
--- /dev/null
+++ b/public/emoji/1f647-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f647-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4b07a0882
--- /dev/null
+++ b/public/emoji/1f647-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fd.png b/public/emoji/1f647-1f3fd.png
deleted file mode 100644
index 8b9eb64f9..000000000
Binary files a/public/emoji/1f647-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f647-1f3fd.svg b/public/emoji/1f647-1f3fd.svg
index e61503403..4b07a0882 100644
--- a/public/emoji/1f647-1f3fd.svg
+++ b/public/emoji/1f647-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f647-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fc989b227
--- /dev/null
+++ b/public/emoji/1f647-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f647-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..851dae93d
--- /dev/null
+++ b/public/emoji/1f647-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3fe.png b/public/emoji/1f647-1f3fe.png
deleted file mode 100644
index 683795ff4..000000000
Binary files a/public/emoji/1f647-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f647-1f3fe.svg b/public/emoji/1f647-1f3fe.svg
index 090651faa..851dae93d 100644
--- a/public/emoji/1f647-1f3fe.svg
+++ b/public/emoji/1f647-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f647-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1d3cfa1f1
--- /dev/null
+++ b/public/emoji/1f647-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f647-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8fea01051
--- /dev/null
+++ b/public/emoji/1f647-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-1f3ff.png b/public/emoji/1f647-1f3ff.png
deleted file mode 100644
index 7969d9717..000000000
Binary files a/public/emoji/1f647-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f647-1f3ff.svg b/public/emoji/1f647-1f3ff.svg
index f726d47a8..8fea01051 100644
--- a/public/emoji/1f647-1f3ff.svg
+++ b/public/emoji/1f647-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f647-200d-2640-fe0f.svg b/public/emoji/1f647-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f4353ee98
--- /dev/null
+++ b/public/emoji/1f647-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647-200d-2642-fe0f.svg b/public/emoji/1f647-200d-2642-fe0f.svg
new file mode 100644
index 000000000..da2f281d4
--- /dev/null
+++ b/public/emoji/1f647-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f647.png b/public/emoji/1f647.png
deleted file mode 100644
index d8f793088..000000000
Binary files a/public/emoji/1f647.png and /dev/null differ
diff --git a/public/emoji/1f647.svg b/public/emoji/1f647.svg
index e5dedddd3..da2f281d4 100644
--- a/public/emoji/1f647.svg
+++ b/public/emoji/1f647.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f648.png b/public/emoji/1f648.png
deleted file mode 100644
index 5187e4745..000000000
Binary files a/public/emoji/1f648.png and /dev/null differ
diff --git a/public/emoji/1f648.svg b/public/emoji/1f648.svg
index b8b51161e..1d1f0924e 100644
--- a/public/emoji/1f648.svg
+++ b/public/emoji/1f648.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f649.png b/public/emoji/1f649.png
deleted file mode 100644
index 74b6be0c6..000000000
Binary files a/public/emoji/1f649.png and /dev/null differ
diff --git a/public/emoji/1f649.svg b/public/emoji/1f649.svg
index ab6b6844c..db494cc26 100644
--- a/public/emoji/1f649.svg
+++ b/public/emoji/1f649.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64a.png b/public/emoji/1f64a.png
deleted file mode 100644
index 9d9e07c97..000000000
Binary files a/public/emoji/1f64a.png and /dev/null differ
diff --git a/public/emoji/1f64a.svg b/public/emoji/1f64a.svg
index 47df40a8c..7c87f05eb 100644
--- a/public/emoji/1f64a.svg
+++ b/public/emoji/1f64a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f64b-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..231fcade4
--- /dev/null
+++ b/public/emoji/1f64b-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f64b-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ef3c817b0
--- /dev/null
+++ b/public/emoji/1f64b-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fb.png b/public/emoji/1f64b-1f3fb.png
deleted file mode 100644
index 1c90e3e26..000000000
Binary files a/public/emoji/1f64b-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f64b-1f3fb.svg b/public/emoji/1f64b-1f3fb.svg
index e9e7e3b3a..231fcade4 100644
--- a/public/emoji/1f64b-1f3fb.svg
+++ b/public/emoji/1f64b-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f64b-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..7157d7421
--- /dev/null
+++ b/public/emoji/1f64b-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f64b-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a0915c071
--- /dev/null
+++ b/public/emoji/1f64b-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fc.png b/public/emoji/1f64b-1f3fc.png
deleted file mode 100644
index 82c3ef2bf..000000000
Binary files a/public/emoji/1f64b-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f64b-1f3fc.svg b/public/emoji/1f64b-1f3fc.svg
index 9e6ac9c2c..7157d7421 100644
--- a/public/emoji/1f64b-1f3fc.svg
+++ b/public/emoji/1f64b-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f64b-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..45eb562ca
--- /dev/null
+++ b/public/emoji/1f64b-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f64b-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c9634b8d6
--- /dev/null
+++ b/public/emoji/1f64b-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fd.png b/public/emoji/1f64b-1f3fd.png
deleted file mode 100644
index 1b1da2aa0..000000000
Binary files a/public/emoji/1f64b-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f64b-1f3fd.svg b/public/emoji/1f64b-1f3fd.svg
index d4e4a75f8..45eb562ca 100644
--- a/public/emoji/1f64b-1f3fd.svg
+++ b/public/emoji/1f64b-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f64b-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..7d3b14a38
--- /dev/null
+++ b/public/emoji/1f64b-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f64b-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7b2c719bd
--- /dev/null
+++ b/public/emoji/1f64b-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3fe.png b/public/emoji/1f64b-1f3fe.png
deleted file mode 100644
index e453855c0..000000000
Binary files a/public/emoji/1f64b-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f64b-1f3fe.svg b/public/emoji/1f64b-1f3fe.svg
index 39a115000..7d3b14a38 100644
--- a/public/emoji/1f64b-1f3fe.svg
+++ b/public/emoji/1f64b-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f64b-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1dd14746a
--- /dev/null
+++ b/public/emoji/1f64b-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f64b-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ce0d45a1d
--- /dev/null
+++ b/public/emoji/1f64b-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-1f3ff.png b/public/emoji/1f64b-1f3ff.png
deleted file mode 100644
index b86200fd8..000000000
Binary files a/public/emoji/1f64b-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f64b-1f3ff.svg b/public/emoji/1f64b-1f3ff.svg
index f8cb017ef..1dd14746a 100644
--- a/public/emoji/1f64b-1f3ff.svg
+++ b/public/emoji/1f64b-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64b-200d-2640-fe0f.svg b/public/emoji/1f64b-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e1a2f19dc
--- /dev/null
+++ b/public/emoji/1f64b-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b-200d-2642-fe0f.svg b/public/emoji/1f64b-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9f9aea0bf
--- /dev/null
+++ b/public/emoji/1f64b-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64b.png b/public/emoji/1f64b.png
deleted file mode 100644
index 2880708c0..000000000
Binary files a/public/emoji/1f64b.png and /dev/null differ
diff --git a/public/emoji/1f64b.svg b/public/emoji/1f64b.svg
index d221b1846..e1a2f19dc 100644
--- a/public/emoji/1f64b.svg
+++ b/public/emoji/1f64b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c-1f3fb.png b/public/emoji/1f64c-1f3fb.png
deleted file mode 100644
index 1168b8236..000000000
Binary files a/public/emoji/1f64c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f64c-1f3fb.svg b/public/emoji/1f64c-1f3fb.svg
index 2bec077d9..4a0b194f1 100644
--- a/public/emoji/1f64c-1f3fb.svg
+++ b/public/emoji/1f64c-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c-1f3fc.png b/public/emoji/1f64c-1f3fc.png
deleted file mode 100644
index 322de6229..000000000
Binary files a/public/emoji/1f64c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f64c-1f3fc.svg b/public/emoji/1f64c-1f3fc.svg
index f90b8825c..077ea85a0 100644
--- a/public/emoji/1f64c-1f3fc.svg
+++ b/public/emoji/1f64c-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c-1f3fd.png b/public/emoji/1f64c-1f3fd.png
deleted file mode 100644
index 2aa24e05a..000000000
Binary files a/public/emoji/1f64c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f64c-1f3fd.svg b/public/emoji/1f64c-1f3fd.svg
index 0b0ed18ce..8b2e1e9eb 100644
--- a/public/emoji/1f64c-1f3fd.svg
+++ b/public/emoji/1f64c-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c-1f3fe.png b/public/emoji/1f64c-1f3fe.png
deleted file mode 100644
index f31bf0db9..000000000
Binary files a/public/emoji/1f64c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f64c-1f3fe.svg b/public/emoji/1f64c-1f3fe.svg
index 413708003..e5b98fcfc 100644
--- a/public/emoji/1f64c-1f3fe.svg
+++ b/public/emoji/1f64c-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c-1f3ff.png b/public/emoji/1f64c-1f3ff.png
deleted file mode 100644
index 5e95067f9..000000000
Binary files a/public/emoji/1f64c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f64c-1f3ff.svg b/public/emoji/1f64c-1f3ff.svg
index e13a1d7b3..65e7f1b2d 100644
--- a/public/emoji/1f64c-1f3ff.svg
+++ b/public/emoji/1f64c-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64c.png b/public/emoji/1f64c.png
deleted file mode 100644
index c0155f728..000000000
Binary files a/public/emoji/1f64c.png and /dev/null differ
diff --git a/public/emoji/1f64c.svg b/public/emoji/1f64c.svg
index 0f7f86cfd..4ff308a9d 100644
--- a/public/emoji/1f64c.svg
+++ b/public/emoji/1f64c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f64d-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ba7323330
--- /dev/null
+++ b/public/emoji/1f64d-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f64d-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..174369312
--- /dev/null
+++ b/public/emoji/1f64d-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fb.png b/public/emoji/1f64d-1f3fb.png
deleted file mode 100644
index 21d3bb439..000000000
Binary files a/public/emoji/1f64d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f64d-1f3fb.svg b/public/emoji/1f64d-1f3fb.svg
index 7a858ef2c..ba7323330 100644
--- a/public/emoji/1f64d-1f3fb.svg
+++ b/public/emoji/1f64d-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f64d-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..31ad900f6
--- /dev/null
+++ b/public/emoji/1f64d-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f64d-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..461dd9dc1
--- /dev/null
+++ b/public/emoji/1f64d-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fc.png b/public/emoji/1f64d-1f3fc.png
deleted file mode 100644
index 973f5fc83..000000000
Binary files a/public/emoji/1f64d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f64d-1f3fc.svg b/public/emoji/1f64d-1f3fc.svg
index 10458b13f..31ad900f6 100644
--- a/public/emoji/1f64d-1f3fc.svg
+++ b/public/emoji/1f64d-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f64d-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..46f7a8c8d
--- /dev/null
+++ b/public/emoji/1f64d-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f64d-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..aa1741bc7
--- /dev/null
+++ b/public/emoji/1f64d-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fd.png b/public/emoji/1f64d-1f3fd.png
deleted file mode 100644
index 41fbcc788..000000000
Binary files a/public/emoji/1f64d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f64d-1f3fd.svg b/public/emoji/1f64d-1f3fd.svg
index f9842d0e4..46f7a8c8d 100644
--- a/public/emoji/1f64d-1f3fd.svg
+++ b/public/emoji/1f64d-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f64d-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5e2e2fb7a
--- /dev/null
+++ b/public/emoji/1f64d-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f64d-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2fb851f37
--- /dev/null
+++ b/public/emoji/1f64d-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3fe.png b/public/emoji/1f64d-1f3fe.png
deleted file mode 100644
index 5a37c7410..000000000
Binary files a/public/emoji/1f64d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f64d-1f3fe.svg b/public/emoji/1f64d-1f3fe.svg
index 57de38b91..5e2e2fb7a 100644
--- a/public/emoji/1f64d-1f3fe.svg
+++ b/public/emoji/1f64d-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f64d-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e6acfa6f6
--- /dev/null
+++ b/public/emoji/1f64d-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f64d-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3a24ff123
--- /dev/null
+++ b/public/emoji/1f64d-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-1f3ff.png b/public/emoji/1f64d-1f3ff.png
deleted file mode 100644
index e08141f3e..000000000
Binary files a/public/emoji/1f64d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f64d-1f3ff.svg b/public/emoji/1f64d-1f3ff.svg
index 64af62a9b..e6acfa6f6 100644
--- a/public/emoji/1f64d-1f3ff.svg
+++ b/public/emoji/1f64d-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64d-200d-2640-fe0f.svg b/public/emoji/1f64d-200d-2640-fe0f.svg
new file mode 100644
index 000000000..293e6e48c
--- /dev/null
+++ b/public/emoji/1f64d-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d-200d-2642-fe0f.svg b/public/emoji/1f64d-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2ae727a4a
--- /dev/null
+++ b/public/emoji/1f64d-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64d.png b/public/emoji/1f64d.png
deleted file mode 100644
index 579324959..000000000
Binary files a/public/emoji/1f64d.png and /dev/null differ
diff --git a/public/emoji/1f64d.svg b/public/emoji/1f64d.svg
index 6309a6321..293e6e48c 100644
--- a/public/emoji/1f64d.svg
+++ b/public/emoji/1f64d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f64e-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..08dd179a0
--- /dev/null
+++ b/public/emoji/1f64e-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f64e-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..262ae3afe
--- /dev/null
+++ b/public/emoji/1f64e-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fb.png b/public/emoji/1f64e-1f3fb.png
deleted file mode 100644
index 57e826b75..000000000
Binary files a/public/emoji/1f64e-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f64e-1f3fb.svg b/public/emoji/1f64e-1f3fb.svg
index 8d869fd6e..08dd179a0 100644
--- a/public/emoji/1f64e-1f3fb.svg
+++ b/public/emoji/1f64e-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f64e-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..497b5f03b
--- /dev/null
+++ b/public/emoji/1f64e-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f64e-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b6acfce32
--- /dev/null
+++ b/public/emoji/1f64e-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fc.png b/public/emoji/1f64e-1f3fc.png
deleted file mode 100644
index 3f317c0c2..000000000
Binary files a/public/emoji/1f64e-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f64e-1f3fc.svg b/public/emoji/1f64e-1f3fc.svg
index 2dfd81c70..497b5f03b 100644
--- a/public/emoji/1f64e-1f3fc.svg
+++ b/public/emoji/1f64e-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f64e-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d034260af
--- /dev/null
+++ b/public/emoji/1f64e-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f64e-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..206cae502
--- /dev/null
+++ b/public/emoji/1f64e-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fd.png b/public/emoji/1f64e-1f3fd.png
deleted file mode 100644
index d2fbb6c20..000000000
Binary files a/public/emoji/1f64e-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f64e-1f3fd.svg b/public/emoji/1f64e-1f3fd.svg
index 7cf16e681..d034260af 100644
--- a/public/emoji/1f64e-1f3fd.svg
+++ b/public/emoji/1f64e-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f64e-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..88f0cbf52
--- /dev/null
+++ b/public/emoji/1f64e-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f64e-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f66526e39
--- /dev/null
+++ b/public/emoji/1f64e-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3fe.png b/public/emoji/1f64e-1f3fe.png
deleted file mode 100644
index 643ceb4a5..000000000
Binary files a/public/emoji/1f64e-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f64e-1f3fe.svg b/public/emoji/1f64e-1f3fe.svg
index 84d91ba6a..88f0cbf52 100644
--- a/public/emoji/1f64e-1f3fe.svg
+++ b/public/emoji/1f64e-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f64e-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..2adddb911
--- /dev/null
+++ b/public/emoji/1f64e-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f64e-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8bc4352d5
--- /dev/null
+++ b/public/emoji/1f64e-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-1f3ff.png b/public/emoji/1f64e-1f3ff.png
deleted file mode 100644
index b2eb6859c..000000000
Binary files a/public/emoji/1f64e-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f64e-1f3ff.svg b/public/emoji/1f64e-1f3ff.svg
index 00882dd2f..2adddb911 100644
--- a/public/emoji/1f64e-1f3ff.svg
+++ b/public/emoji/1f64e-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64e-200d-2640-fe0f.svg b/public/emoji/1f64e-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f63e4da85
--- /dev/null
+++ b/public/emoji/1f64e-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e-200d-2642-fe0f.svg b/public/emoji/1f64e-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5f5c1e1d9
--- /dev/null
+++ b/public/emoji/1f64e-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f64e.png b/public/emoji/1f64e.png
deleted file mode 100644
index 10eb05710..000000000
Binary files a/public/emoji/1f64e.png and /dev/null differ
diff --git a/public/emoji/1f64e.svg b/public/emoji/1f64e.svg
index b23b54491..f63e4da85 100644
--- a/public/emoji/1f64e.svg
+++ b/public/emoji/1f64e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f-1f3fb.png b/public/emoji/1f64f-1f3fb.png
deleted file mode 100644
index 060ef2571..000000000
Binary files a/public/emoji/1f64f-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f64f-1f3fb.svg b/public/emoji/1f64f-1f3fb.svg
index eddfe82f0..15e30c292 100644
--- a/public/emoji/1f64f-1f3fb.svg
+++ b/public/emoji/1f64f-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f-1f3fc.png b/public/emoji/1f64f-1f3fc.png
deleted file mode 100644
index 56dc607c0..000000000
Binary files a/public/emoji/1f64f-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f64f-1f3fc.svg b/public/emoji/1f64f-1f3fc.svg
index 05011796d..24fc1b494 100644
--- a/public/emoji/1f64f-1f3fc.svg
+++ b/public/emoji/1f64f-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f-1f3fd.png b/public/emoji/1f64f-1f3fd.png
deleted file mode 100644
index 0f33b8620..000000000
Binary files a/public/emoji/1f64f-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f64f-1f3fd.svg b/public/emoji/1f64f-1f3fd.svg
index 40c74cf90..00a919804 100644
--- a/public/emoji/1f64f-1f3fd.svg
+++ b/public/emoji/1f64f-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f-1f3fe.png b/public/emoji/1f64f-1f3fe.png
deleted file mode 100644
index 2ea8dc116..000000000
Binary files a/public/emoji/1f64f-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f64f-1f3fe.svg b/public/emoji/1f64f-1f3fe.svg
index 1e8149f52..f18b44e14 100644
--- a/public/emoji/1f64f-1f3fe.svg
+++ b/public/emoji/1f64f-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f-1f3ff.png b/public/emoji/1f64f-1f3ff.png
deleted file mode 100644
index 2128a6c47..000000000
Binary files a/public/emoji/1f64f-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f64f-1f3ff.svg b/public/emoji/1f64f-1f3ff.svg
index 3c7a1b6cb..f92564f7f 100644
--- a/public/emoji/1f64f-1f3ff.svg
+++ b/public/emoji/1f64f-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f64f.png b/public/emoji/1f64f.png
deleted file mode 100644
index 8347f2435..000000000
Binary files a/public/emoji/1f64f.png and /dev/null differ
diff --git a/public/emoji/1f64f.svg b/public/emoji/1f64f.svg
index a6b0bca04..085c2c972 100644
--- a/public/emoji/1f64f.svg
+++ b/public/emoji/1f64f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f680.png b/public/emoji/1f680.png
deleted file mode 100644
index 0d8da089a..000000000
Binary files a/public/emoji/1f680.png and /dev/null differ
diff --git a/public/emoji/1f680.svg b/public/emoji/1f680.svg
index 4ba418a05..b26ded5cc 100644
--- a/public/emoji/1f680.svg
+++ b/public/emoji/1f680.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f681.png b/public/emoji/1f681.png
deleted file mode 100644
index 7ec5f39a5..000000000
Binary files a/public/emoji/1f681.png and /dev/null differ
diff --git a/public/emoji/1f681.svg b/public/emoji/1f681.svg
index fa2ce38e4..cf0480df5 100644
--- a/public/emoji/1f681.svg
+++ b/public/emoji/1f681.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f682.png b/public/emoji/1f682.png
deleted file mode 100644
index 9ac0d999c..000000000
Binary files a/public/emoji/1f682.png and /dev/null differ
diff --git a/public/emoji/1f682.svg b/public/emoji/1f682.svg
index 829f6e2aa..2ea090c6f 100644
--- a/public/emoji/1f682.svg
+++ b/public/emoji/1f682.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f683.png b/public/emoji/1f683.png
deleted file mode 100644
index a9acbf130..000000000
Binary files a/public/emoji/1f683.png and /dev/null differ
diff --git a/public/emoji/1f683.svg b/public/emoji/1f683.svg
index 804288265..30f3c027b 100644
--- a/public/emoji/1f683.svg
+++ b/public/emoji/1f683.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f684.png b/public/emoji/1f684.png
deleted file mode 100644
index ed61c67bf..000000000
Binary files a/public/emoji/1f684.png and /dev/null differ
diff --git a/public/emoji/1f684.svg b/public/emoji/1f684.svg
index 291c00a18..e2c14f916 100644
--- a/public/emoji/1f684.svg
+++ b/public/emoji/1f684.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f685.png b/public/emoji/1f685.png
deleted file mode 100644
index 4f698e056..000000000
Binary files a/public/emoji/1f685.png and /dev/null differ
diff --git a/public/emoji/1f685.svg b/public/emoji/1f685.svg
index e6e4a7a6a..cc80bc4aa 100644
--- a/public/emoji/1f685.svg
+++ b/public/emoji/1f685.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f686.png b/public/emoji/1f686.png
deleted file mode 100644
index 367c7bc5d..000000000
Binary files a/public/emoji/1f686.png and /dev/null differ
diff --git a/public/emoji/1f686.svg b/public/emoji/1f686.svg
index 15d5e1ebb..647ab0815 100644
--- a/public/emoji/1f686.svg
+++ b/public/emoji/1f686.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f687.png b/public/emoji/1f687.png
deleted file mode 100644
index 1de8f0551..000000000
Binary files a/public/emoji/1f687.png and /dev/null differ
diff --git a/public/emoji/1f687.svg b/public/emoji/1f687.svg
index 5f075abda..60c3d8268 100644
--- a/public/emoji/1f687.svg
+++ b/public/emoji/1f687.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f688.png b/public/emoji/1f688.png
deleted file mode 100644
index a64829f50..000000000
Binary files a/public/emoji/1f688.png and /dev/null differ
diff --git a/public/emoji/1f688.svg b/public/emoji/1f688.svg
index f5fc3b02b..cb6e6d42b 100644
--- a/public/emoji/1f688.svg
+++ b/public/emoji/1f688.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f689.png b/public/emoji/1f689.png
deleted file mode 100644
index 5c26fee52..000000000
Binary files a/public/emoji/1f689.png and /dev/null differ
diff --git a/public/emoji/1f689.svg b/public/emoji/1f689.svg
index 6c3953aa3..1c5c465c0 100644
--- a/public/emoji/1f689.svg
+++ b/public/emoji/1f689.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68a.png b/public/emoji/1f68a.png
deleted file mode 100644
index b6f0e6903..000000000
Binary files a/public/emoji/1f68a.png and /dev/null differ
diff --git a/public/emoji/1f68a.svg b/public/emoji/1f68a.svg
index e98a079b0..829df7f8d 100644
--- a/public/emoji/1f68a.svg
+++ b/public/emoji/1f68a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68b.png b/public/emoji/1f68b.png
deleted file mode 100644
index 3c80321f7..000000000
Binary files a/public/emoji/1f68b.png and /dev/null differ
diff --git a/public/emoji/1f68b.svg b/public/emoji/1f68b.svg
index 8c64b5111..5cb3696fd 100644
--- a/public/emoji/1f68b.svg
+++ b/public/emoji/1f68b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68c.png b/public/emoji/1f68c.png
deleted file mode 100644
index 641ddc56c..000000000
Binary files a/public/emoji/1f68c.png and /dev/null differ
diff --git a/public/emoji/1f68c.svg b/public/emoji/1f68c.svg
index 99862d511..8b5db4e4b 100644
--- a/public/emoji/1f68c.svg
+++ b/public/emoji/1f68c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68d.png b/public/emoji/1f68d.png
deleted file mode 100644
index ad91e256c..000000000
Binary files a/public/emoji/1f68d.png and /dev/null differ
diff --git a/public/emoji/1f68d.svg b/public/emoji/1f68d.svg
index d2d2f59c7..7bde4113e 100644
--- a/public/emoji/1f68d.svg
+++ b/public/emoji/1f68d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68e.png b/public/emoji/1f68e.png
deleted file mode 100644
index 139a9931b..000000000
Binary files a/public/emoji/1f68e.png and /dev/null differ
diff --git a/public/emoji/1f68e.svg b/public/emoji/1f68e.svg
index ec3e927f8..bac04094a 100644
--- a/public/emoji/1f68e.svg
+++ b/public/emoji/1f68e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f68f.png b/public/emoji/1f68f.png
deleted file mode 100644
index b2b62208b..000000000
Binary files a/public/emoji/1f68f.png and /dev/null differ
diff --git a/public/emoji/1f68f.svg b/public/emoji/1f68f.svg
index 3e9cb1d11..e224dbc7e 100644
--- a/public/emoji/1f68f.svg
+++ b/public/emoji/1f68f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f690.png b/public/emoji/1f690.png
deleted file mode 100644
index c60dd8f47..000000000
Binary files a/public/emoji/1f690.png and /dev/null differ
diff --git a/public/emoji/1f690.svg b/public/emoji/1f690.svg
index 5357258cc..b2a3b1cc1 100644
--- a/public/emoji/1f690.svg
+++ b/public/emoji/1f690.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f691.png b/public/emoji/1f691.png
deleted file mode 100644
index 6fb8076d7..000000000
Binary files a/public/emoji/1f691.png and /dev/null differ
diff --git a/public/emoji/1f691.svg b/public/emoji/1f691.svg
index 2bcbcffa6..7c969bef8 100644
--- a/public/emoji/1f691.svg
+++ b/public/emoji/1f691.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f692.png b/public/emoji/1f692.png
deleted file mode 100644
index 2cd45b7cf..000000000
Binary files a/public/emoji/1f692.png and /dev/null differ
diff --git a/public/emoji/1f692.svg b/public/emoji/1f692.svg
index d82b25483..a7672c43d 100644
--- a/public/emoji/1f692.svg
+++ b/public/emoji/1f692.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f693.png b/public/emoji/1f693.png
deleted file mode 100644
index 3da4253de..000000000
Binary files a/public/emoji/1f693.png and /dev/null differ
diff --git a/public/emoji/1f693.svg b/public/emoji/1f693.svg
index 7964668df..3241874c6 100644
--- a/public/emoji/1f693.svg
+++ b/public/emoji/1f693.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f694.png b/public/emoji/1f694.png
deleted file mode 100644
index c9109c85b..000000000
Binary files a/public/emoji/1f694.png and /dev/null differ
diff --git a/public/emoji/1f694.svg b/public/emoji/1f694.svg
index 680a09759..91e5aea9c 100644
--- a/public/emoji/1f694.svg
+++ b/public/emoji/1f694.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f695.png b/public/emoji/1f695.png
deleted file mode 100644
index 55f4cc847..000000000
Binary files a/public/emoji/1f695.png and /dev/null differ
diff --git a/public/emoji/1f695.svg b/public/emoji/1f695.svg
index c6bdad8ba..0d7a21a7c 100644
--- a/public/emoji/1f695.svg
+++ b/public/emoji/1f695.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f696.png b/public/emoji/1f696.png
deleted file mode 100644
index fea14e458..000000000
Binary files a/public/emoji/1f696.png and /dev/null differ
diff --git a/public/emoji/1f696.svg b/public/emoji/1f696.svg
index 6a02e812f..da0c6c583 100644
--- a/public/emoji/1f696.svg
+++ b/public/emoji/1f696.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f697.png b/public/emoji/1f697.png
deleted file mode 100644
index b3e6a774d..000000000
Binary files a/public/emoji/1f697.png and /dev/null differ
diff --git a/public/emoji/1f697.svg b/public/emoji/1f697.svg
index da85c344d..03e094c25 100644
--- a/public/emoji/1f697.svg
+++ b/public/emoji/1f697.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f698.png b/public/emoji/1f698.png
deleted file mode 100644
index 3c7e1d52e..000000000
Binary files a/public/emoji/1f698.png and /dev/null differ
diff --git a/public/emoji/1f698.svg b/public/emoji/1f698.svg
index cd0a8881a..9adc06efb 100644
--- a/public/emoji/1f698.svg
+++ b/public/emoji/1f698.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f699.png b/public/emoji/1f699.png
deleted file mode 100644
index e8ba817d3..000000000
Binary files a/public/emoji/1f699.png and /dev/null differ
diff --git a/public/emoji/1f699.svg b/public/emoji/1f699.svg
index 12d1b6d10..18d132b01 100644
--- a/public/emoji/1f699.svg
+++ b/public/emoji/1f699.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69a.png b/public/emoji/1f69a.png
deleted file mode 100644
index 130de047f..000000000
Binary files a/public/emoji/1f69a.png and /dev/null differ
diff --git a/public/emoji/1f69a.svg b/public/emoji/1f69a.svg
index c543e9862..8a0d04a4a 100644
--- a/public/emoji/1f69a.svg
+++ b/public/emoji/1f69a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69b.png b/public/emoji/1f69b.png
deleted file mode 100644
index c82173171..000000000
Binary files a/public/emoji/1f69b.png and /dev/null differ
diff --git a/public/emoji/1f69b.svg b/public/emoji/1f69b.svg
index 5f0fbc1ca..b5b3522a3 100644
--- a/public/emoji/1f69b.svg
+++ b/public/emoji/1f69b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69c.png b/public/emoji/1f69c.png
deleted file mode 100644
index c1bf8cae4..000000000
Binary files a/public/emoji/1f69c.png and /dev/null differ
diff --git a/public/emoji/1f69c.svg b/public/emoji/1f69c.svg
index 794c2d369..3c2d4ff5b 100644
--- a/public/emoji/1f69c.svg
+++ b/public/emoji/1f69c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69d.png b/public/emoji/1f69d.png
deleted file mode 100644
index 11eb1f574..000000000
Binary files a/public/emoji/1f69d.png and /dev/null differ
diff --git a/public/emoji/1f69d.svg b/public/emoji/1f69d.svg
index 4244515a2..f7cd69eea 100644
--- a/public/emoji/1f69d.svg
+++ b/public/emoji/1f69d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69e.png b/public/emoji/1f69e.png
deleted file mode 100644
index ade2218e4..000000000
Binary files a/public/emoji/1f69e.png and /dev/null differ
diff --git a/public/emoji/1f69e.svg b/public/emoji/1f69e.svg
index 2bbbd3a02..edab9bc15 100644
--- a/public/emoji/1f69e.svg
+++ b/public/emoji/1f69e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f69f.png b/public/emoji/1f69f.png
deleted file mode 100644
index a59d5f48c..000000000
Binary files a/public/emoji/1f69f.png and /dev/null differ
diff --git a/public/emoji/1f69f.svg b/public/emoji/1f69f.svg
index 9f1974860..f98920fd2 100644
--- a/public/emoji/1f69f.svg
+++ b/public/emoji/1f69f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a0.png b/public/emoji/1f6a0.png
deleted file mode 100644
index 1dea73ca5..000000000
Binary files a/public/emoji/1f6a0.png and /dev/null differ
diff --git a/public/emoji/1f6a0.svg b/public/emoji/1f6a0.svg
index e8eb10897..58ce005cd 100644
--- a/public/emoji/1f6a0.svg
+++ b/public/emoji/1f6a0.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a1.png b/public/emoji/1f6a1.png
deleted file mode 100644
index 3eb4b61bf..000000000
Binary files a/public/emoji/1f6a1.png and /dev/null differ
diff --git a/public/emoji/1f6a1.svg b/public/emoji/1f6a1.svg
index 84de8fddf..c06e2d34a 100644
--- a/public/emoji/1f6a1.svg
+++ b/public/emoji/1f6a1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a2.png b/public/emoji/1f6a2.png
deleted file mode 100644
index 62d54f7d6..000000000
Binary files a/public/emoji/1f6a2.png and /dev/null differ
diff --git a/public/emoji/1f6a2.svg b/public/emoji/1f6a2.svg
index 032a22c98..015a830cb 100644
--- a/public/emoji/1f6a2.svg
+++ b/public/emoji/1f6a2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..dc8b2470e
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..373293e11
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fb.png b/public/emoji/1f6a3-1f3fb.png
deleted file mode 100644
index 5e5d18548..000000000
Binary files a/public/emoji/1f6a3-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f6a3-1f3fb.svg b/public/emoji/1f6a3-1f3fb.svg
index a97ed61b2..373293e11 100644
--- a/public/emoji/1f6a3-1f3fb.svg
+++ b/public/emoji/1f6a3-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..cbf408854
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..afcfc9d11
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fc.png b/public/emoji/1f6a3-1f3fc.png
deleted file mode 100644
index 9b123ef88..000000000
Binary files a/public/emoji/1f6a3-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f6a3-1f3fc.svg b/public/emoji/1f6a3-1f3fc.svg
index 4579d7f99..afcfc9d11 100644
--- a/public/emoji/1f6a3-1f3fc.svg
+++ b/public/emoji/1f6a3-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..dfb4cc90c
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a68a29735
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fd.png b/public/emoji/1f6a3-1f3fd.png
deleted file mode 100644
index 8ebd89a55..000000000
Binary files a/public/emoji/1f6a3-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f6a3-1f3fd.svg b/public/emoji/1f6a3-1f3fd.svg
index 30f40ace8..a68a29735 100644
--- a/public/emoji/1f6a3-1f3fd.svg
+++ b/public/emoji/1f6a3-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b8125596f
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4a0bdc0fd
--- /dev/null
+++ b/public/emoji/1f6a3-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3fe.png b/public/emoji/1f6a3-1f3fe.png
deleted file mode 100644
index 2b0d04f87..000000000
Binary files a/public/emoji/1f6a3-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f6a3-1f3fe.svg b/public/emoji/1f6a3-1f3fe.svg
index 3b6499280..4a0bdc0fd 100644
--- a/public/emoji/1f6a3-1f3fe.svg
+++ b/public/emoji/1f6a3-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ef0025a7f
--- /dev/null
+++ b/public/emoji/1f6a3-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..11b8650dd
--- /dev/null
+++ b/public/emoji/1f6a3-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-1f3ff.png b/public/emoji/1f6a3-1f3ff.png
deleted file mode 100644
index b346f2dfc..000000000
Binary files a/public/emoji/1f6a3-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f6a3-1f3ff.svg b/public/emoji/1f6a3-1f3ff.svg
index 57bd8c0fe..11b8650dd 100644
--- a/public/emoji/1f6a3-1f3ff.svg
+++ b/public/emoji/1f6a3-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a3-200d-2640-fe0f.svg b/public/emoji/1f6a3-200d-2640-fe0f.svg
new file mode 100644
index 000000000..923ed2b07
--- /dev/null
+++ b/public/emoji/1f6a3-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3-200d-2642-fe0f.svg b/public/emoji/1f6a3-200d-2642-fe0f.svg
new file mode 100644
index 000000000..fb16b9148
--- /dev/null
+++ b/public/emoji/1f6a3-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6a3.png b/public/emoji/1f6a3.png
deleted file mode 100644
index dd4dfc095..000000000
Binary files a/public/emoji/1f6a3.png and /dev/null differ
diff --git a/public/emoji/1f6a3.svg b/public/emoji/1f6a3.svg
index 89eb387dc..fb16b9148 100644
--- a/public/emoji/1f6a3.svg
+++ b/public/emoji/1f6a3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a4.png b/public/emoji/1f6a4.png
deleted file mode 100644
index 74059d12d..000000000
Binary files a/public/emoji/1f6a4.png and /dev/null differ
diff --git a/public/emoji/1f6a4.svg b/public/emoji/1f6a4.svg
index 70aa1adc2..796817aa3 100644
--- a/public/emoji/1f6a4.svg
+++ b/public/emoji/1f6a4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a5.png b/public/emoji/1f6a5.png
deleted file mode 100644
index 6b312285b..000000000
Binary files a/public/emoji/1f6a5.png and /dev/null differ
diff --git a/public/emoji/1f6a5.svg b/public/emoji/1f6a5.svg
index 30aa0d092..d720e0043 100644
--- a/public/emoji/1f6a5.svg
+++ b/public/emoji/1f6a5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a6.png b/public/emoji/1f6a6.png
deleted file mode 100644
index 8085973ee..000000000
Binary files a/public/emoji/1f6a6.png and /dev/null differ
diff --git a/public/emoji/1f6a6.svg b/public/emoji/1f6a6.svg
index 7f6e697b4..9949ca927 100644
--- a/public/emoji/1f6a6.svg
+++ b/public/emoji/1f6a6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a7.png b/public/emoji/1f6a7.png
deleted file mode 100644
index ef8db5f47..000000000
Binary files a/public/emoji/1f6a7.png and /dev/null differ
diff --git a/public/emoji/1f6a7.svg b/public/emoji/1f6a7.svg
index c48a759c1..39dbfd5af 100644
--- a/public/emoji/1f6a7.svg
+++ b/public/emoji/1f6a7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a8.png b/public/emoji/1f6a8.png
deleted file mode 100644
index cad66b0af..000000000
Binary files a/public/emoji/1f6a8.png and /dev/null differ
diff --git a/public/emoji/1f6a8.svg b/public/emoji/1f6a8.svg
index 2a0051911..dce1260ba 100644
--- a/public/emoji/1f6a8.svg
+++ b/public/emoji/1f6a8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6a9.png b/public/emoji/1f6a9.png
deleted file mode 100644
index c12d8b068..000000000
Binary files a/public/emoji/1f6a9.png and /dev/null differ
diff --git a/public/emoji/1f6a9.svg b/public/emoji/1f6a9.svg
index d07347b59..44a68cf20 100644
--- a/public/emoji/1f6a9.svg
+++ b/public/emoji/1f6a9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6aa.png b/public/emoji/1f6aa.png
deleted file mode 100644
index 36ae3e274..000000000
Binary files a/public/emoji/1f6aa.png and /dev/null differ
diff --git a/public/emoji/1f6aa.svg b/public/emoji/1f6aa.svg
index ac7fa2f07..6743f42f6 100644
--- a/public/emoji/1f6aa.svg
+++ b/public/emoji/1f6aa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ab.png b/public/emoji/1f6ab.png
deleted file mode 100644
index d2efd65e7..000000000
Binary files a/public/emoji/1f6ab.png and /dev/null differ
diff --git a/public/emoji/1f6ab.svg b/public/emoji/1f6ab.svg
index 1877e1d63..deecfc9d5 100644
--- a/public/emoji/1f6ab.svg
+++ b/public/emoji/1f6ab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ac.png b/public/emoji/1f6ac.png
deleted file mode 100644
index 910f648c8..000000000
Binary files a/public/emoji/1f6ac.png and /dev/null differ
diff --git a/public/emoji/1f6ac.svg b/public/emoji/1f6ac.svg
index 2f44e929d..19d8f162d 100644
--- a/public/emoji/1f6ac.svg
+++ b/public/emoji/1f6ac.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ad.png b/public/emoji/1f6ad.png
deleted file mode 100644
index 586b8d29d..000000000
Binary files a/public/emoji/1f6ad.png and /dev/null differ
diff --git a/public/emoji/1f6ad.svg b/public/emoji/1f6ad.svg
index f02dd41b3..504d2aaf3 100644
--- a/public/emoji/1f6ad.svg
+++ b/public/emoji/1f6ad.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ae.png b/public/emoji/1f6ae.png
deleted file mode 100644
index 82a84f9a3..000000000
Binary files a/public/emoji/1f6ae.png and /dev/null differ
diff --git a/public/emoji/1f6ae.svg b/public/emoji/1f6ae.svg
index 54cbd381e..1a5d6ae55 100644
--- a/public/emoji/1f6ae.svg
+++ b/public/emoji/1f6ae.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6af.png b/public/emoji/1f6af.png
deleted file mode 100644
index 341d2575f..000000000
Binary files a/public/emoji/1f6af.png and /dev/null differ
diff --git a/public/emoji/1f6af.svg b/public/emoji/1f6af.svg
index bfc991b07..1e311893a 100644
--- a/public/emoji/1f6af.svg
+++ b/public/emoji/1f6af.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b0.png b/public/emoji/1f6b0.png
deleted file mode 100644
index 2c6100494..000000000
Binary files a/public/emoji/1f6b0.png and /dev/null differ
diff --git a/public/emoji/1f6b0.svg b/public/emoji/1f6b0.svg
index 504d3cec0..19c4240e9 100644
--- a/public/emoji/1f6b0.svg
+++ b/public/emoji/1f6b0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b1.png b/public/emoji/1f6b1.png
deleted file mode 100644
index 827d4193f..000000000
Binary files a/public/emoji/1f6b1.png and /dev/null differ
diff --git a/public/emoji/1f6b1.svg b/public/emoji/1f6b1.svg
index 0eec893e1..de985691e 100644
--- a/public/emoji/1f6b1.svg
+++ b/public/emoji/1f6b1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b2.png b/public/emoji/1f6b2.png
deleted file mode 100644
index 556ed70f1..000000000
Binary files a/public/emoji/1f6b2.png and /dev/null differ
diff --git a/public/emoji/1f6b2.svg b/public/emoji/1f6b2.svg
index 0a4447d6c..e5638ad79 100644
--- a/public/emoji/1f6b2.svg
+++ b/public/emoji/1f6b2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b3.png b/public/emoji/1f6b3.png
deleted file mode 100644
index 19c85421c..000000000
Binary files a/public/emoji/1f6b3.png and /dev/null differ
diff --git a/public/emoji/1f6b3.svg b/public/emoji/1f6b3.svg
index 320cc2371..0b1eee970 100644
--- a/public/emoji/1f6b3.svg
+++ b/public/emoji/1f6b3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c949abec1
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4a6d96ff9
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fb.png b/public/emoji/1f6b4-1f3fb.png
deleted file mode 100644
index decc2f728..000000000
Binary files a/public/emoji/1f6b4-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f6b4-1f3fb.svg b/public/emoji/1f6b4-1f3fb.svg
index 23c64dcb0..4a6d96ff9 100644
--- a/public/emoji/1f6b4-1f3fb.svg
+++ b/public/emoji/1f6b4-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..10144b26f
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..0916f96a4
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fc.png b/public/emoji/1f6b4-1f3fc.png
deleted file mode 100644
index 0067717b8..000000000
Binary files a/public/emoji/1f6b4-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f6b4-1f3fc.svg b/public/emoji/1f6b4-1f3fc.svg
index 3451fe9ba..0916f96a4 100644
--- a/public/emoji/1f6b4-1f3fc.svg
+++ b/public/emoji/1f6b4-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a14652605
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..488a0859f
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fd.png b/public/emoji/1f6b4-1f3fd.png
deleted file mode 100644
index a4f7b5e27..000000000
Binary files a/public/emoji/1f6b4-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f6b4-1f3fd.svg b/public/emoji/1f6b4-1f3fd.svg
index a5b959866..488a0859f 100644
--- a/public/emoji/1f6b4-1f3fd.svg
+++ b/public/emoji/1f6b4-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f667db53e
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e3989ddb8
--- /dev/null
+++ b/public/emoji/1f6b4-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3fe.png b/public/emoji/1f6b4-1f3fe.png
deleted file mode 100644
index a3c8a797d..000000000
Binary files a/public/emoji/1f6b4-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f6b4-1f3fe.svg b/public/emoji/1f6b4-1f3fe.svg
index 1dcaae862..e3989ddb8 100644
--- a/public/emoji/1f6b4-1f3fe.svg
+++ b/public/emoji/1f6b4-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d0be70885
--- /dev/null
+++ b/public/emoji/1f6b4-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1c37cb110
--- /dev/null
+++ b/public/emoji/1f6b4-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-1f3ff.png b/public/emoji/1f6b4-1f3ff.png
deleted file mode 100644
index 1606a8740..000000000
Binary files a/public/emoji/1f6b4-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f6b4-1f3ff.svg b/public/emoji/1f6b4-1f3ff.svg
index 44fc622fe..1c37cb110 100644
--- a/public/emoji/1f6b4-1f3ff.svg
+++ b/public/emoji/1f6b4-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b4-200d-2640-fe0f.svg b/public/emoji/1f6b4-200d-2640-fe0f.svg
new file mode 100644
index 000000000..69480c831
--- /dev/null
+++ b/public/emoji/1f6b4-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4-200d-2642-fe0f.svg b/public/emoji/1f6b4-200d-2642-fe0f.svg
new file mode 100644
index 000000000..68ec2c479
--- /dev/null
+++ b/public/emoji/1f6b4-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b4.png b/public/emoji/1f6b4.png
deleted file mode 100644
index 9274da110..000000000
Binary files a/public/emoji/1f6b4.png and /dev/null differ
diff --git a/public/emoji/1f6b4.svg b/public/emoji/1f6b4.svg
index d66ad5c6c..68ec2c479 100644
--- a/public/emoji/1f6b4.svg
+++ b/public/emoji/1f6b4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..86185f850
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f65d701a4
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fb.png b/public/emoji/1f6b5-1f3fb.png
deleted file mode 100644
index e9f1daf5e..000000000
Binary files a/public/emoji/1f6b5-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f6b5-1f3fb.svg b/public/emoji/1f6b5-1f3fb.svg
index 5ce96f5b2..f65d701a4 100644
--- a/public/emoji/1f6b5-1f3fb.svg
+++ b/public/emoji/1f6b5-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f876528ea
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..82785c12e
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fc.png b/public/emoji/1f6b5-1f3fc.png
deleted file mode 100644
index 555b9e29d..000000000
Binary files a/public/emoji/1f6b5-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f6b5-1f3fc.svg b/public/emoji/1f6b5-1f3fc.svg
index 9b088b9f7..82785c12e 100644
--- a/public/emoji/1f6b5-1f3fc.svg
+++ b/public/emoji/1f6b5-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..29711f85f
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..19f190291
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fd.png b/public/emoji/1f6b5-1f3fd.png
deleted file mode 100644
index 7df5508ec..000000000
Binary files a/public/emoji/1f6b5-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f6b5-1f3fd.svg b/public/emoji/1f6b5-1f3fd.svg
index 561ba2d1c..19f190291 100644
--- a/public/emoji/1f6b5-1f3fd.svg
+++ b/public/emoji/1f6b5-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..89b33acec
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c57df8b11
--- /dev/null
+++ b/public/emoji/1f6b5-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3fe.png b/public/emoji/1f6b5-1f3fe.png
deleted file mode 100644
index f94b34506..000000000
Binary files a/public/emoji/1f6b5-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f6b5-1f3fe.svg b/public/emoji/1f6b5-1f3fe.svg
index a1153c343..c57df8b11 100644
--- a/public/emoji/1f6b5-1f3fe.svg
+++ b/public/emoji/1f6b5-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..46b9a6206
--- /dev/null
+++ b/public/emoji/1f6b5-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..86402bd90
--- /dev/null
+++ b/public/emoji/1f6b5-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-1f3ff.png b/public/emoji/1f6b5-1f3ff.png
deleted file mode 100644
index 16a45861e..000000000
Binary files a/public/emoji/1f6b5-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f6b5-1f3ff.svg b/public/emoji/1f6b5-1f3ff.svg
index ca9993afc..86402bd90 100644
--- a/public/emoji/1f6b5-1f3ff.svg
+++ b/public/emoji/1f6b5-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b5-200d-2640-fe0f.svg b/public/emoji/1f6b5-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fa1a7a398
--- /dev/null
+++ b/public/emoji/1f6b5-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5-200d-2642-fe0f.svg b/public/emoji/1f6b5-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ec9d2b0e1
--- /dev/null
+++ b/public/emoji/1f6b5-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b5.png b/public/emoji/1f6b5.png
deleted file mode 100644
index 41d3dc3ac..000000000
Binary files a/public/emoji/1f6b5.png and /dev/null differ
diff --git a/public/emoji/1f6b5.svg b/public/emoji/1f6b5.svg
index 0d5eb712d..ec9d2b0e1 100644
--- a/public/emoji/1f6b5.svg
+++ b/public/emoji/1f6b5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6680792c3
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b1ba45891
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fb.png b/public/emoji/1f6b6-1f3fb.png
deleted file mode 100644
index 4e391b45a..000000000
Binary files a/public/emoji/1f6b6-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f6b6-1f3fb.svg b/public/emoji/1f6b6-1f3fb.svg
index b4d3ddee2..b1ba45891 100644
--- a/public/emoji/1f6b6-1f3fb.svg
+++ b/public/emoji/1f6b6-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a6d74f765
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5376c0717
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fc.png b/public/emoji/1f6b6-1f3fc.png
deleted file mode 100644
index 31f94a1bc..000000000
Binary files a/public/emoji/1f6b6-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f6b6-1f3fc.svg b/public/emoji/1f6b6-1f3fc.svg
index 8c15b9be7..5376c0717 100644
--- a/public/emoji/1f6b6-1f3fc.svg
+++ b/public/emoji/1f6b6-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..cab4ccb79
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..0bb556b98
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fd.png b/public/emoji/1f6b6-1f3fd.png
deleted file mode 100644
index f7ed8e39c..000000000
Binary files a/public/emoji/1f6b6-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f6b6-1f3fd.svg b/public/emoji/1f6b6-1f3fd.svg
index 69ef31ca4..0bb556b98 100644
--- a/public/emoji/1f6b6-1f3fd.svg
+++ b/public/emoji/1f6b6-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3930cfc73
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a1cc9c822
--- /dev/null
+++ b/public/emoji/1f6b6-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3fe.png b/public/emoji/1f6b6-1f3fe.png
deleted file mode 100644
index e58dc04c7..000000000
Binary files a/public/emoji/1f6b6-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f6b6-1f3fe.svg b/public/emoji/1f6b6-1f3fe.svg
index 82b4e8334..a1cc9c822 100644
--- a/public/emoji/1f6b6-1f3fe.svg
+++ b/public/emoji/1f6b6-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..dcc4ea187
--- /dev/null
+++ b/public/emoji/1f6b6-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a1b476a85
--- /dev/null
+++ b/public/emoji/1f6b6-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-1f3ff.png b/public/emoji/1f6b6-1f3ff.png
deleted file mode 100644
index ba4e1b58f..000000000
Binary files a/public/emoji/1f6b6-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f6b6-1f3ff.svg b/public/emoji/1f6b6-1f3ff.svg
index 454b2a99d..a1b476a85 100644
--- a/public/emoji/1f6b6-1f3ff.svg
+++ b/public/emoji/1f6b6-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b6-200d-2640-fe0f.svg b/public/emoji/1f6b6-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8299d1af0
--- /dev/null
+++ b/public/emoji/1f6b6-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6-200d-2642-fe0f.svg b/public/emoji/1f6b6-200d-2642-fe0f.svg
new file mode 100644
index 000000000..db08fa81e
--- /dev/null
+++ b/public/emoji/1f6b6-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6b6.png b/public/emoji/1f6b6.png
deleted file mode 100644
index 06dc169a3..000000000
Binary files a/public/emoji/1f6b6.png and /dev/null differ
diff --git a/public/emoji/1f6b6.svg b/public/emoji/1f6b6.svg
index 8ba1d2855..db08fa81e 100644
--- a/public/emoji/1f6b6.svg
+++ b/public/emoji/1f6b6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b7.png b/public/emoji/1f6b7.png
deleted file mode 100644
index 286aa577a..000000000
Binary files a/public/emoji/1f6b7.png and /dev/null differ
diff --git a/public/emoji/1f6b7.svg b/public/emoji/1f6b7.svg
index ff92a91ca..c857019e4 100644
--- a/public/emoji/1f6b7.svg
+++ b/public/emoji/1f6b7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b8.png b/public/emoji/1f6b8.png
deleted file mode 100644
index fa4c091c7..000000000
Binary files a/public/emoji/1f6b8.png and /dev/null differ
diff --git a/public/emoji/1f6b8.svg b/public/emoji/1f6b8.svg
index 8b9b11839..0c007f613 100644
--- a/public/emoji/1f6b8.svg
+++ b/public/emoji/1f6b8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6b9.png b/public/emoji/1f6b9.png
deleted file mode 100644
index f5a1e1ba0..000000000
Binary files a/public/emoji/1f6b9.png and /dev/null differ
diff --git a/public/emoji/1f6b9.svg b/public/emoji/1f6b9.svg
index 962b09400..2cea4e4ed 100644
--- a/public/emoji/1f6b9.svg
+++ b/public/emoji/1f6b9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ba.png b/public/emoji/1f6ba.png
deleted file mode 100644
index d4ecc22e7..000000000
Binary files a/public/emoji/1f6ba.png and /dev/null differ
diff --git a/public/emoji/1f6ba.svg b/public/emoji/1f6ba.svg
index b98439e38..354a204c4 100644
--- a/public/emoji/1f6ba.svg
+++ b/public/emoji/1f6ba.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6bb.png b/public/emoji/1f6bb.png
deleted file mode 100644
index 9588e0f0e..000000000
Binary files a/public/emoji/1f6bb.png and /dev/null differ
diff --git a/public/emoji/1f6bb.svg b/public/emoji/1f6bb.svg
index 8ece75fe5..851ec0cf0 100644
--- a/public/emoji/1f6bb.svg
+++ b/public/emoji/1f6bb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6bc.png b/public/emoji/1f6bc.png
deleted file mode 100644
index 64a10b717..000000000
Binary files a/public/emoji/1f6bc.png and /dev/null differ
diff --git a/public/emoji/1f6bc.svg b/public/emoji/1f6bc.svg
index 474111741..8c6a12e03 100644
--- a/public/emoji/1f6bc.svg
+++ b/public/emoji/1f6bc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6bd.png b/public/emoji/1f6bd.png
deleted file mode 100644
index 1392f7618..000000000
Binary files a/public/emoji/1f6bd.png and /dev/null differ
diff --git a/public/emoji/1f6bd.svg b/public/emoji/1f6bd.svg
index 5a108e201..7caf81207 100644
--- a/public/emoji/1f6bd.svg
+++ b/public/emoji/1f6bd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6be.png b/public/emoji/1f6be.png
deleted file mode 100644
index aa433e84b..000000000
Binary files a/public/emoji/1f6be.png and /dev/null differ
diff --git a/public/emoji/1f6be.svg b/public/emoji/1f6be.svg
index 71390fb19..791c10122 100644
--- a/public/emoji/1f6be.svg
+++ b/public/emoji/1f6be.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6bf.png b/public/emoji/1f6bf.png
deleted file mode 100644
index 156776a2e..000000000
Binary files a/public/emoji/1f6bf.png and /dev/null differ
diff --git a/public/emoji/1f6bf.svg b/public/emoji/1f6bf.svg
index dd21474eb..e4bf5e223 100644
--- a/public/emoji/1f6bf.svg
+++ b/public/emoji/1f6bf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0-1f3fb.png b/public/emoji/1f6c0-1f3fb.png
deleted file mode 100644
index 2152eabf2..000000000
Binary files a/public/emoji/1f6c0-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f6c0-1f3fb.svg b/public/emoji/1f6c0-1f3fb.svg
index fa9921fc4..8f47a3cfa 100644
--- a/public/emoji/1f6c0-1f3fb.svg
+++ b/public/emoji/1f6c0-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0-1f3fc.png b/public/emoji/1f6c0-1f3fc.png
deleted file mode 100644
index 2102e6133..000000000
Binary files a/public/emoji/1f6c0-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f6c0-1f3fc.svg b/public/emoji/1f6c0-1f3fc.svg
index 62648e559..958169f37 100644
--- a/public/emoji/1f6c0-1f3fc.svg
+++ b/public/emoji/1f6c0-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0-1f3fd.png b/public/emoji/1f6c0-1f3fd.png
deleted file mode 100644
index fae66181e..000000000
Binary files a/public/emoji/1f6c0-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f6c0-1f3fd.svg b/public/emoji/1f6c0-1f3fd.svg
index 4c4957f24..2975ade60 100644
--- a/public/emoji/1f6c0-1f3fd.svg
+++ b/public/emoji/1f6c0-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0-1f3fe.png b/public/emoji/1f6c0-1f3fe.png
deleted file mode 100644
index 1f8959d0d..000000000
Binary files a/public/emoji/1f6c0-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f6c0-1f3fe.svg b/public/emoji/1f6c0-1f3fe.svg
index 43c665f09..30a4a8cd3 100644
--- a/public/emoji/1f6c0-1f3fe.svg
+++ b/public/emoji/1f6c0-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0-1f3ff.png b/public/emoji/1f6c0-1f3ff.png
deleted file mode 100644
index c8a08e84f..000000000
Binary files a/public/emoji/1f6c0-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f6c0-1f3ff.svg b/public/emoji/1f6c0-1f3ff.svg
index c03631844..15ae1a6e4 100644
--- a/public/emoji/1f6c0-1f3ff.svg
+++ b/public/emoji/1f6c0-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c0.png b/public/emoji/1f6c0.png
deleted file mode 100644
index 43fba5c8a..000000000
Binary files a/public/emoji/1f6c0.png and /dev/null differ
diff --git a/public/emoji/1f6c0.svg b/public/emoji/1f6c0.svg
index 6985f1fee..be47a8dda 100644
--- a/public/emoji/1f6c0.svg
+++ b/public/emoji/1f6c0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c1.png b/public/emoji/1f6c1.png
deleted file mode 100644
index 9a5f09361..000000000
Binary files a/public/emoji/1f6c1.png and /dev/null differ
diff --git a/public/emoji/1f6c1.svg b/public/emoji/1f6c1.svg
index cef7b67c3..baa62d48e 100644
--- a/public/emoji/1f6c1.svg
+++ b/public/emoji/1f6c1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c2.png b/public/emoji/1f6c2.png
deleted file mode 100644
index 079e34ee4..000000000
Binary files a/public/emoji/1f6c2.png and /dev/null differ
diff --git a/public/emoji/1f6c2.svg b/public/emoji/1f6c2.svg
index f29b9c724..cb55bd488 100644
--- a/public/emoji/1f6c2.svg
+++ b/public/emoji/1f6c2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c3.png b/public/emoji/1f6c3.png
deleted file mode 100644
index 21b7ce2c6..000000000
Binary files a/public/emoji/1f6c3.png and /dev/null differ
diff --git a/public/emoji/1f6c3.svg b/public/emoji/1f6c3.svg
index 618ee799a..95062ee87 100644
--- a/public/emoji/1f6c3.svg
+++ b/public/emoji/1f6c3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c4.png b/public/emoji/1f6c4.png
deleted file mode 100644
index 409b593e7..000000000
Binary files a/public/emoji/1f6c4.png and /dev/null differ
diff --git a/public/emoji/1f6c4.svg b/public/emoji/1f6c4.svg
index b7c8c1cb5..9a0ce13dd 100644
--- a/public/emoji/1f6c4.svg
+++ b/public/emoji/1f6c4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6c5.png b/public/emoji/1f6c5.png
deleted file mode 100644
index 887b23f3f..000000000
Binary files a/public/emoji/1f6c5.png and /dev/null differ
diff --git a/public/emoji/1f6c5.svg b/public/emoji/1f6c5.svg
index dea741655..c8396313c 100644
--- a/public/emoji/1f6c5.svg
+++ b/public/emoji/1f6c5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6cb.png b/public/emoji/1f6cb.png
deleted file mode 100644
index 27b19b13b..000000000
Binary files a/public/emoji/1f6cb.png and /dev/null differ
diff --git a/public/emoji/1f6cb.svg b/public/emoji/1f6cb.svg
index a33ada16b..c452194bc 100644
--- a/public/emoji/1f6cb.svg
+++ b/public/emoji/1f6cb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6cc-1f3fb.svg b/public/emoji/1f6cc-1f3fb.svg
new file mode 100644
index 000000000..f1b164169
--- /dev/null
+++ b/public/emoji/1f6cc-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6cc-1f3fc.svg b/public/emoji/1f6cc-1f3fc.svg
new file mode 100644
index 000000000..cdae6beb8
--- /dev/null
+++ b/public/emoji/1f6cc-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6cc-1f3fd.svg b/public/emoji/1f6cc-1f3fd.svg
new file mode 100644
index 000000000..c13dd711f
--- /dev/null
+++ b/public/emoji/1f6cc-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6cc-1f3fe.svg b/public/emoji/1f6cc-1f3fe.svg
new file mode 100644
index 000000000..0bde531d0
--- /dev/null
+++ b/public/emoji/1f6cc-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6cc-1f3ff.svg b/public/emoji/1f6cc-1f3ff.svg
new file mode 100644
index 000000000..cddf398ac
--- /dev/null
+++ b/public/emoji/1f6cc-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6cc.png b/public/emoji/1f6cc.png
deleted file mode 100644
index c739e7fb6..000000000
Binary files a/public/emoji/1f6cc.png and /dev/null differ
diff --git a/public/emoji/1f6cc.svg b/public/emoji/1f6cc.svg
index 8446d6d7c..cf6a9fac9 100644
--- a/public/emoji/1f6cc.svg
+++ b/public/emoji/1f6cc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6cd.png b/public/emoji/1f6cd.png
deleted file mode 100644
index 99f2a2b13..000000000
Binary files a/public/emoji/1f6cd.png and /dev/null differ
diff --git a/public/emoji/1f6cd.svg b/public/emoji/1f6cd.svg
index 1daf857d8..0ca3ece26 100644
--- a/public/emoji/1f6cd.svg
+++ b/public/emoji/1f6cd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ce.png b/public/emoji/1f6ce.png
deleted file mode 100644
index 6b3297cea..000000000
Binary files a/public/emoji/1f6ce.png and /dev/null differ
diff --git a/public/emoji/1f6ce.svg b/public/emoji/1f6ce.svg
index 96f9fef0b..dab1704ee 100644
--- a/public/emoji/1f6ce.svg
+++ b/public/emoji/1f6ce.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6cf.png b/public/emoji/1f6cf.png
deleted file mode 100644
index 86f964e24..000000000
Binary files a/public/emoji/1f6cf.png and /dev/null differ
diff --git a/public/emoji/1f6cf.svg b/public/emoji/1f6cf.svg
index f2fb4aad6..59bc17175 100644
--- a/public/emoji/1f6cf.svg
+++ b/public/emoji/1f6cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6d0.png b/public/emoji/1f6d0.png
deleted file mode 100644
index 207d59cce..000000000
Binary files a/public/emoji/1f6d0.png and /dev/null differ
diff --git a/public/emoji/1f6d0.svg b/public/emoji/1f6d0.svg
index 65314e5f6..0ec8b1a12 100644
--- a/public/emoji/1f6d0.svg
+++ b/public/emoji/1f6d0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6d1.png b/public/emoji/1f6d1.png
deleted file mode 100644
index 5ed610040..000000000
Binary files a/public/emoji/1f6d1.png and /dev/null differ
diff --git a/public/emoji/1f6d1.svg b/public/emoji/1f6d1.svg
index 4107a857f..96da3bba8 100644
--- a/public/emoji/1f6d1.svg
+++ b/public/emoji/1f6d1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6d2.png b/public/emoji/1f6d2.png
deleted file mode 100644
index 1086fe6e4..000000000
Binary files a/public/emoji/1f6d2.png and /dev/null differ
diff --git a/public/emoji/1f6d2.svg b/public/emoji/1f6d2.svg
index b820572d7..fa7ec4adf 100644
--- a/public/emoji/1f6d2.svg
+++ b/public/emoji/1f6d2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e0.png b/public/emoji/1f6e0.png
deleted file mode 100644
index 3c6049273..000000000
Binary files a/public/emoji/1f6e0.png and /dev/null differ
diff --git a/public/emoji/1f6e0.svg b/public/emoji/1f6e0.svg
index af26bdb17..f7ac133b5 100644
--- a/public/emoji/1f6e0.svg
+++ b/public/emoji/1f6e0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e1.png b/public/emoji/1f6e1.png
deleted file mode 100644
index 610bf033c..000000000
Binary files a/public/emoji/1f6e1.png and /dev/null differ
diff --git a/public/emoji/1f6e1.svg b/public/emoji/1f6e1.svg
index e9a41aa3a..1f0c881fb 100644
--- a/public/emoji/1f6e1.svg
+++ b/public/emoji/1f6e1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e2.png b/public/emoji/1f6e2.png
deleted file mode 100644
index c4c4d42da..000000000
Binary files a/public/emoji/1f6e2.png and /dev/null differ
diff --git a/public/emoji/1f6e2.svg b/public/emoji/1f6e2.svg
index c5a60a82c..9405fe36d 100644
--- a/public/emoji/1f6e2.svg
+++ b/public/emoji/1f6e2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e3.png b/public/emoji/1f6e3.png
deleted file mode 100644
index 8c3d3d03e..000000000
Binary files a/public/emoji/1f6e3.png and /dev/null differ
diff --git a/public/emoji/1f6e3.svg b/public/emoji/1f6e3.svg
index 2ccec72c4..69e58f850 100644
--- a/public/emoji/1f6e3.svg
+++ b/public/emoji/1f6e3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e4.png b/public/emoji/1f6e4.png
deleted file mode 100644
index e1a7a0d14..000000000
Binary files a/public/emoji/1f6e4.png and /dev/null differ
diff --git a/public/emoji/1f6e4.svg b/public/emoji/1f6e4.svg
index 4828d4248..f6a4a6b31 100644
--- a/public/emoji/1f6e4.svg
+++ b/public/emoji/1f6e4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e5.png b/public/emoji/1f6e5.png
deleted file mode 100644
index 0506db1a4..000000000
Binary files a/public/emoji/1f6e5.png and /dev/null differ
diff --git a/public/emoji/1f6e5.svg b/public/emoji/1f6e5.svg
index db896dbc9..50e7c3d36 100644
--- a/public/emoji/1f6e5.svg
+++ b/public/emoji/1f6e5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6e9.png b/public/emoji/1f6e9.png
deleted file mode 100644
index b731b15e3..000000000
Binary files a/public/emoji/1f6e9.png and /dev/null differ
diff --git a/public/emoji/1f6e9.svg b/public/emoji/1f6e9.svg
index 191a11409..2f42c60bf 100644
--- a/public/emoji/1f6e9.svg
+++ b/public/emoji/1f6e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6eb.png b/public/emoji/1f6eb.png
deleted file mode 100644
index a5766f9f4..000000000
Binary files a/public/emoji/1f6eb.png and /dev/null differ
diff --git a/public/emoji/1f6eb.svg b/public/emoji/1f6eb.svg
index 5220fb3a7..5a76b58c2 100644
--- a/public/emoji/1f6eb.svg
+++ b/public/emoji/1f6eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6ec.png b/public/emoji/1f6ec.png
deleted file mode 100644
index d66841962..000000000
Binary files a/public/emoji/1f6ec.png and /dev/null differ
diff --git a/public/emoji/1f6ec.svg b/public/emoji/1f6ec.svg
index c170f90af..0493a97eb 100644
--- a/public/emoji/1f6ec.svg
+++ b/public/emoji/1f6ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f0.png b/public/emoji/1f6f0.png
deleted file mode 100644
index 4ba55d6e2..000000000
Binary files a/public/emoji/1f6f0.png and /dev/null differ
diff --git a/public/emoji/1f6f0.svg b/public/emoji/1f6f0.svg
index 1d11f7aa7..d3b7ec6d4 100644
--- a/public/emoji/1f6f0.svg
+++ b/public/emoji/1f6f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f3.png b/public/emoji/1f6f3.png
deleted file mode 100644
index 19d4acbe4..000000000
Binary files a/public/emoji/1f6f3.png and /dev/null differ
diff --git a/public/emoji/1f6f3.svg b/public/emoji/1f6f3.svg
index 81b10ac49..cede9fbc3 100644
--- a/public/emoji/1f6f3.svg
+++ b/public/emoji/1f6f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f4.png b/public/emoji/1f6f4.png
deleted file mode 100644
index 4ab7ef59c..000000000
Binary files a/public/emoji/1f6f4.png and /dev/null differ
diff --git a/public/emoji/1f6f4.svg b/public/emoji/1f6f4.svg
index a0f4a49ab..d23b8a077 100644
--- a/public/emoji/1f6f4.svg
+++ b/public/emoji/1f6f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f5.png b/public/emoji/1f6f5.png
deleted file mode 100644
index c5afa72d8..000000000
Binary files a/public/emoji/1f6f5.png and /dev/null differ
diff --git a/public/emoji/1f6f5.svg b/public/emoji/1f6f5.svg
index 7d7f7383b..d7b49c603 100644
--- a/public/emoji/1f6f5.svg
+++ b/public/emoji/1f6f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f6.png b/public/emoji/1f6f6.png
deleted file mode 100644
index e26cdb9da..000000000
Binary files a/public/emoji/1f6f6.png and /dev/null differ
diff --git a/public/emoji/1f6f6.svg b/public/emoji/1f6f6.svg
index 3d8616453..9ec5a06c6 100644
--- a/public/emoji/1f6f6.svg
+++ b/public/emoji/1f6f6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f6f7.svg b/public/emoji/1f6f7.svg
new file mode 100644
index 000000000..91f565373
--- /dev/null
+++ b/public/emoji/1f6f7.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f6f8.svg b/public/emoji/1f6f8.svg
new file mode 100644
index 000000000..5cc00c6a0
--- /dev/null
+++ b/public/emoji/1f6f8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f910.png b/public/emoji/1f910.png
deleted file mode 100644
index f8ced2502..000000000
Binary files a/public/emoji/1f910.png and /dev/null differ
diff --git a/public/emoji/1f910.svg b/public/emoji/1f910.svg
index 51851ff01..0c238b55f 100644
--- a/public/emoji/1f910.svg
+++ b/public/emoji/1f910.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f911.png b/public/emoji/1f911.png
deleted file mode 100644
index 75fd1e90c..000000000
Binary files a/public/emoji/1f911.png and /dev/null differ
diff --git a/public/emoji/1f911.svg b/public/emoji/1f911.svg
index 19404ab8e..c3c3f6b6f 100644
--- a/public/emoji/1f911.svg
+++ b/public/emoji/1f911.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f912.png b/public/emoji/1f912.png
deleted file mode 100644
index 8fc573875..000000000
Binary files a/public/emoji/1f912.png and /dev/null differ
diff --git a/public/emoji/1f912.svg b/public/emoji/1f912.svg
index 2b9d9b0be..37e1ee294 100644
--- a/public/emoji/1f912.svg
+++ b/public/emoji/1f912.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f913.png b/public/emoji/1f913.png
deleted file mode 100644
index 7820bd581..000000000
Binary files a/public/emoji/1f913.png and /dev/null differ
diff --git a/public/emoji/1f913.svg b/public/emoji/1f913.svg
index 1dc83d764..50cbdd2ba 100644
--- a/public/emoji/1f913.svg
+++ b/public/emoji/1f913.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f914.png b/public/emoji/1f914.png
deleted file mode 100644
index c18f6fd14..000000000
Binary files a/public/emoji/1f914.png and /dev/null differ
diff --git a/public/emoji/1f914.svg b/public/emoji/1f914.svg
index 3b5fe136f..a7a571aa6 100644
--- a/public/emoji/1f914.svg
+++ b/public/emoji/1f914.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f915.png b/public/emoji/1f915.png
deleted file mode 100644
index 0be723085..000000000
Binary files a/public/emoji/1f915.png and /dev/null differ
diff --git a/public/emoji/1f915.svg b/public/emoji/1f915.svg
index 26dfd8cf4..16bec115f 100644
--- a/public/emoji/1f915.svg
+++ b/public/emoji/1f915.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f916.png b/public/emoji/1f916.png
deleted file mode 100644
index 7cc62612c..000000000
Binary files a/public/emoji/1f916.png and /dev/null differ
diff --git a/public/emoji/1f916.svg b/public/emoji/1f916.svg
index 047eae18f..9a9cf4b3e 100644
--- a/public/emoji/1f916.svg
+++ b/public/emoji/1f916.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f917.png b/public/emoji/1f917.png
deleted file mode 100644
index 5bba6dc6d..000000000
Binary files a/public/emoji/1f917.png and /dev/null differ
diff --git a/public/emoji/1f917.svg b/public/emoji/1f917.svg
index 238b5a782..cc3524873 100644
--- a/public/emoji/1f917.svg
+++ b/public/emoji/1f917.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918-1f3fb.png b/public/emoji/1f918-1f3fb.png
deleted file mode 100644
index c080d2add..000000000
Binary files a/public/emoji/1f918-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f918-1f3fb.svg b/public/emoji/1f918-1f3fb.svg
index 2ac3beae0..bcc91553a 100644
--- a/public/emoji/1f918-1f3fb.svg
+++ b/public/emoji/1f918-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918-1f3fc.png b/public/emoji/1f918-1f3fc.png
deleted file mode 100644
index 12313529b..000000000
Binary files a/public/emoji/1f918-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f918-1f3fc.svg b/public/emoji/1f918-1f3fc.svg
index edbd0b208..25497767f 100644
--- a/public/emoji/1f918-1f3fc.svg
+++ b/public/emoji/1f918-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918-1f3fd.png b/public/emoji/1f918-1f3fd.png
deleted file mode 100644
index ca9be6ae6..000000000
Binary files a/public/emoji/1f918-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f918-1f3fd.svg b/public/emoji/1f918-1f3fd.svg
index 39f8819a5..4dbb31ef3 100644
--- a/public/emoji/1f918-1f3fd.svg
+++ b/public/emoji/1f918-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918-1f3fe.png b/public/emoji/1f918-1f3fe.png
deleted file mode 100644
index abe28cbf8..000000000
Binary files a/public/emoji/1f918-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f918-1f3fe.svg b/public/emoji/1f918-1f3fe.svg
index b8b1f4500..e74fe3256 100644
--- a/public/emoji/1f918-1f3fe.svg
+++ b/public/emoji/1f918-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918-1f3ff.png b/public/emoji/1f918-1f3ff.png
deleted file mode 100644
index 0c6b5dd34..000000000
Binary files a/public/emoji/1f918-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f918-1f3ff.svg b/public/emoji/1f918-1f3ff.svg
index 1dfaceff8..8727eccb9 100644
--- a/public/emoji/1f918-1f3ff.svg
+++ b/public/emoji/1f918-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f918.png b/public/emoji/1f918.png
deleted file mode 100644
index 4aa6e7e0a..000000000
Binary files a/public/emoji/1f918.png and /dev/null differ
diff --git a/public/emoji/1f918.svg b/public/emoji/1f918.svg
index 125c33854..ba3822b96 100644
--- a/public/emoji/1f918.svg
+++ b/public/emoji/1f918.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919-1f3fb.png b/public/emoji/1f919-1f3fb.png
deleted file mode 100644
index 2c9320118..000000000
Binary files a/public/emoji/1f919-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f919-1f3fb.svg b/public/emoji/1f919-1f3fb.svg
index 6798a545f..231703d30 100644
--- a/public/emoji/1f919-1f3fb.svg
+++ b/public/emoji/1f919-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919-1f3fc.png b/public/emoji/1f919-1f3fc.png
deleted file mode 100644
index c39f45a41..000000000
Binary files a/public/emoji/1f919-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f919-1f3fc.svg b/public/emoji/1f919-1f3fc.svg
index 1c604faa3..1e096efd4 100644
--- a/public/emoji/1f919-1f3fc.svg
+++ b/public/emoji/1f919-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919-1f3fd.png b/public/emoji/1f919-1f3fd.png
deleted file mode 100644
index 83a57f63c..000000000
Binary files a/public/emoji/1f919-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f919-1f3fd.svg b/public/emoji/1f919-1f3fd.svg
index 727063804..ee2567aa0 100644
--- a/public/emoji/1f919-1f3fd.svg
+++ b/public/emoji/1f919-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919-1f3fe.png b/public/emoji/1f919-1f3fe.png
deleted file mode 100644
index 65b3468fe..000000000
Binary files a/public/emoji/1f919-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f919-1f3fe.svg b/public/emoji/1f919-1f3fe.svg
index c7d9afa18..b6301bf75 100644
--- a/public/emoji/1f919-1f3fe.svg
+++ b/public/emoji/1f919-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919-1f3ff.png b/public/emoji/1f919-1f3ff.png
deleted file mode 100644
index 94ef68ff3..000000000
Binary files a/public/emoji/1f919-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f919-1f3ff.svg b/public/emoji/1f919-1f3ff.svg
index 7f9581986..a4126d45e 100644
--- a/public/emoji/1f919-1f3ff.svg
+++ b/public/emoji/1f919-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f919.png b/public/emoji/1f919.png
deleted file mode 100644
index a10c59ba7..000000000
Binary files a/public/emoji/1f919.png and /dev/null differ
diff --git a/public/emoji/1f919.svg b/public/emoji/1f919.svg
index 84df19cce..05c6e76d3 100644
--- a/public/emoji/1f919.svg
+++ b/public/emoji/1f919.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a-1f3fb.png b/public/emoji/1f91a-1f3fb.png
deleted file mode 100644
index 813d28499..000000000
Binary files a/public/emoji/1f91a-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f91a-1f3fb.svg b/public/emoji/1f91a-1f3fb.svg
index 7a7baa854..d7767b7b5 100644
--- a/public/emoji/1f91a-1f3fb.svg
+++ b/public/emoji/1f91a-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a-1f3fc.png b/public/emoji/1f91a-1f3fc.png
deleted file mode 100644
index 192ff795e..000000000
Binary files a/public/emoji/1f91a-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f91a-1f3fc.svg b/public/emoji/1f91a-1f3fc.svg
index 7343906b1..beb8fc5d7 100644
--- a/public/emoji/1f91a-1f3fc.svg
+++ b/public/emoji/1f91a-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a-1f3fd.png b/public/emoji/1f91a-1f3fd.png
deleted file mode 100644
index 61a727abe..000000000
Binary files a/public/emoji/1f91a-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f91a-1f3fd.svg b/public/emoji/1f91a-1f3fd.svg
index 55f936d15..1c62d98f5 100644
--- a/public/emoji/1f91a-1f3fd.svg
+++ b/public/emoji/1f91a-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a-1f3fe.png b/public/emoji/1f91a-1f3fe.png
deleted file mode 100644
index 2e83da511..000000000
Binary files a/public/emoji/1f91a-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f91a-1f3fe.svg b/public/emoji/1f91a-1f3fe.svg
index 6dc3b2210..1026fca8d 100644
--- a/public/emoji/1f91a-1f3fe.svg
+++ b/public/emoji/1f91a-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a-1f3ff.png b/public/emoji/1f91a-1f3ff.png
deleted file mode 100644
index d7a5b95a0..000000000
Binary files a/public/emoji/1f91a-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f91a-1f3ff.svg b/public/emoji/1f91a-1f3ff.svg
index d27a387c6..0a6024a20 100644
--- a/public/emoji/1f91a-1f3ff.svg
+++ b/public/emoji/1f91a-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91a.png b/public/emoji/1f91a.png
deleted file mode 100644
index 479234294..000000000
Binary files a/public/emoji/1f91a.png and /dev/null differ
diff --git a/public/emoji/1f91a.svg b/public/emoji/1f91a.svg
index 74d0015f6..8579efff7 100644
--- a/public/emoji/1f91a.svg
+++ b/public/emoji/1f91a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b-1f3fb.png b/public/emoji/1f91b-1f3fb.png
deleted file mode 100644
index 1262a6b4b..000000000
Binary files a/public/emoji/1f91b-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f91b-1f3fb.svg b/public/emoji/1f91b-1f3fb.svg
index 00f854072..2eb0c149a 100644
--- a/public/emoji/1f91b-1f3fb.svg
+++ b/public/emoji/1f91b-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b-1f3fc.png b/public/emoji/1f91b-1f3fc.png
deleted file mode 100644
index 40bf70b82..000000000
Binary files a/public/emoji/1f91b-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f91b-1f3fc.svg b/public/emoji/1f91b-1f3fc.svg
index 92dd89993..10dd4d02a 100644
--- a/public/emoji/1f91b-1f3fc.svg
+++ b/public/emoji/1f91b-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b-1f3fd.png b/public/emoji/1f91b-1f3fd.png
deleted file mode 100644
index 93f581451..000000000
Binary files a/public/emoji/1f91b-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f91b-1f3fd.svg b/public/emoji/1f91b-1f3fd.svg
index 6254ca9ae..3b4cd2153 100644
--- a/public/emoji/1f91b-1f3fd.svg
+++ b/public/emoji/1f91b-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b-1f3fe.png b/public/emoji/1f91b-1f3fe.png
deleted file mode 100644
index d82b5ec91..000000000
Binary files a/public/emoji/1f91b-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f91b-1f3fe.svg b/public/emoji/1f91b-1f3fe.svg
index 074eca348..66bccaef2 100644
--- a/public/emoji/1f91b-1f3fe.svg
+++ b/public/emoji/1f91b-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b-1f3ff.png b/public/emoji/1f91b-1f3ff.png
deleted file mode 100644
index 09ae4cd49..000000000
Binary files a/public/emoji/1f91b-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f91b-1f3ff.svg b/public/emoji/1f91b-1f3ff.svg
index 163866bba..2324d4aee 100644
--- a/public/emoji/1f91b-1f3ff.svg
+++ b/public/emoji/1f91b-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91b.png b/public/emoji/1f91b.png
deleted file mode 100644
index a9d9fd8d5..000000000
Binary files a/public/emoji/1f91b.png and /dev/null differ
diff --git a/public/emoji/1f91b.svg b/public/emoji/1f91b.svg
index ea97a80a0..c554fffc5 100644
--- a/public/emoji/1f91b.svg
+++ b/public/emoji/1f91b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c-1f3fb.png b/public/emoji/1f91c-1f3fb.png
deleted file mode 100644
index 33ded2f61..000000000
Binary files a/public/emoji/1f91c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f91c-1f3fb.svg b/public/emoji/1f91c-1f3fb.svg
index d3c0de370..3207b4b58 100644
--- a/public/emoji/1f91c-1f3fb.svg
+++ b/public/emoji/1f91c-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c-1f3fc.png b/public/emoji/1f91c-1f3fc.png
deleted file mode 100644
index 88054e335..000000000
Binary files a/public/emoji/1f91c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f91c-1f3fc.svg b/public/emoji/1f91c-1f3fc.svg
index 945997400..678d3db73 100644
--- a/public/emoji/1f91c-1f3fc.svg
+++ b/public/emoji/1f91c-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c-1f3fd.png b/public/emoji/1f91c-1f3fd.png
deleted file mode 100644
index 84b9f5da7..000000000
Binary files a/public/emoji/1f91c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f91c-1f3fd.svg b/public/emoji/1f91c-1f3fd.svg
index c540bb048..c619612bd 100644
--- a/public/emoji/1f91c-1f3fd.svg
+++ b/public/emoji/1f91c-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c-1f3fe.png b/public/emoji/1f91c-1f3fe.png
deleted file mode 100644
index e741cfea6..000000000
Binary files a/public/emoji/1f91c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f91c-1f3fe.svg b/public/emoji/1f91c-1f3fe.svg
index c3a410c28..e1dc9efa9 100644
--- a/public/emoji/1f91c-1f3fe.svg
+++ b/public/emoji/1f91c-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c-1f3ff.png b/public/emoji/1f91c-1f3ff.png
deleted file mode 100644
index cf66d760c..000000000
Binary files a/public/emoji/1f91c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f91c-1f3ff.svg b/public/emoji/1f91c-1f3ff.svg
index 1ff1b64f3..a7b1723c0 100644
--- a/public/emoji/1f91c-1f3ff.svg
+++ b/public/emoji/1f91c-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91c.png b/public/emoji/1f91c.png
deleted file mode 100644
index 754ed066d..000000000
Binary files a/public/emoji/1f91c.png and /dev/null differ
diff --git a/public/emoji/1f91c.svg b/public/emoji/1f91c.svg
index 80a75c9cd..a320968b2 100644
--- a/public/emoji/1f91c.svg
+++ b/public/emoji/1f91c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91d-1f3fb.png b/public/emoji/1f91d-1f3fb.png
deleted file mode 100644
index 8f8fbb9bd..000000000
Binary files a/public/emoji/1f91d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f91d-1f3fb.svg b/public/emoji/1f91d-1f3fb.svg
deleted file mode 100644
index bc7cf60e8..000000000
--- a/public/emoji/1f91d-1f3fb.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f91d-1f3fc.png b/public/emoji/1f91d-1f3fc.png
deleted file mode 100644
index 336a77a6d..000000000
Binary files a/public/emoji/1f91d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f91d-1f3fc.svg b/public/emoji/1f91d-1f3fc.svg
deleted file mode 100644
index c13f18ba6..000000000
--- a/public/emoji/1f91d-1f3fc.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f91d-1f3fd.png b/public/emoji/1f91d-1f3fd.png
deleted file mode 100644
index 95f62d4fe..000000000
Binary files a/public/emoji/1f91d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f91d-1f3fd.svg b/public/emoji/1f91d-1f3fd.svg
deleted file mode 100644
index 76871fcba..000000000
--- a/public/emoji/1f91d-1f3fd.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f91d-1f3fe.png b/public/emoji/1f91d-1f3fe.png
deleted file mode 100644
index 2b0a64338..000000000
Binary files a/public/emoji/1f91d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f91d-1f3fe.svg b/public/emoji/1f91d-1f3fe.svg
deleted file mode 100644
index 45a6c8204..000000000
--- a/public/emoji/1f91d-1f3fe.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f91d-1f3ff.png b/public/emoji/1f91d-1f3ff.png
deleted file mode 100644
index 40189ee68..000000000
Binary files a/public/emoji/1f91d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f91d-1f3ff.svg b/public/emoji/1f91d-1f3ff.svg
deleted file mode 100644
index 444442670..000000000
--- a/public/emoji/1f91d-1f3ff.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f91d.png b/public/emoji/1f91d.png
deleted file mode 100644
index c5d35fd81..000000000
Binary files a/public/emoji/1f91d.png and /dev/null differ
diff --git a/public/emoji/1f91d.svg b/public/emoji/1f91d.svg
index 185bf3bc7..d6b87a93f 100644
--- a/public/emoji/1f91d.svg
+++ b/public/emoji/1f91d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e-1f3fb.png b/public/emoji/1f91e-1f3fb.png
deleted file mode 100644
index dd2384a6c..000000000
Binary files a/public/emoji/1f91e-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f91e-1f3fb.svg b/public/emoji/1f91e-1f3fb.svg
index aa4cd73ac..571240a9f 100644
--- a/public/emoji/1f91e-1f3fb.svg
+++ b/public/emoji/1f91e-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e-1f3fc.png b/public/emoji/1f91e-1f3fc.png
deleted file mode 100644
index 6228401be..000000000
Binary files a/public/emoji/1f91e-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f91e-1f3fc.svg b/public/emoji/1f91e-1f3fc.svg
index bf4eff677..b38874554 100644
--- a/public/emoji/1f91e-1f3fc.svg
+++ b/public/emoji/1f91e-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e-1f3fd.png b/public/emoji/1f91e-1f3fd.png
deleted file mode 100644
index b1074da15..000000000
Binary files a/public/emoji/1f91e-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f91e-1f3fd.svg b/public/emoji/1f91e-1f3fd.svg
index 5562818e4..6afd877e7 100644
--- a/public/emoji/1f91e-1f3fd.svg
+++ b/public/emoji/1f91e-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e-1f3fe.png b/public/emoji/1f91e-1f3fe.png
deleted file mode 100644
index 75e05e4d3..000000000
Binary files a/public/emoji/1f91e-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f91e-1f3fe.svg b/public/emoji/1f91e-1f3fe.svg
index 5067aaeba..62816622d 100644
--- a/public/emoji/1f91e-1f3fe.svg
+++ b/public/emoji/1f91e-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e-1f3ff.png b/public/emoji/1f91e-1f3ff.png
deleted file mode 100644
index 761aebdc3..000000000
Binary files a/public/emoji/1f91e-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f91e-1f3ff.svg b/public/emoji/1f91e-1f3ff.svg
index 741dc6640..00b44e88d 100644
--- a/public/emoji/1f91e-1f3ff.svg
+++ b/public/emoji/1f91e-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91e.png b/public/emoji/1f91e.png
deleted file mode 100644
index 4cd18514e..000000000
Binary files a/public/emoji/1f91e.png and /dev/null differ
diff --git a/public/emoji/1f91e.svg b/public/emoji/1f91e.svg
index 574dcc17f..ee5f2430d 100644
--- a/public/emoji/1f91e.svg
+++ b/public/emoji/1f91e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f91f-1f3fb.svg b/public/emoji/1f91f-1f3fb.svg
new file mode 100644
index 000000000..24b951fc1
--- /dev/null
+++ b/public/emoji/1f91f-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f91f-1f3fc.svg b/public/emoji/1f91f-1f3fc.svg
new file mode 100644
index 000000000..0dff66ba4
--- /dev/null
+++ b/public/emoji/1f91f-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f91f-1f3fd.svg b/public/emoji/1f91f-1f3fd.svg
new file mode 100644
index 000000000..014013455
--- /dev/null
+++ b/public/emoji/1f91f-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f91f-1f3fe.svg b/public/emoji/1f91f-1f3fe.svg
new file mode 100644
index 000000000..74b318c0c
--- /dev/null
+++ b/public/emoji/1f91f-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f91f-1f3ff.svg b/public/emoji/1f91f-1f3ff.svg
new file mode 100644
index 000000000..c059eb6e5
--- /dev/null
+++ b/public/emoji/1f91f-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f91f.svg b/public/emoji/1f91f.svg
new file mode 100644
index 000000000..8f9351865
--- /dev/null
+++ b/public/emoji/1f91f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f920.png b/public/emoji/1f920.png
deleted file mode 100644
index 70dd5d0d9..000000000
Binary files a/public/emoji/1f920.png and /dev/null differ
diff --git a/public/emoji/1f920.svg b/public/emoji/1f920.svg
index 11437ce6d..a240ae0b5 100644
--- a/public/emoji/1f920.svg
+++ b/public/emoji/1f920.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f921.png b/public/emoji/1f921.png
deleted file mode 100644
index 02b7ff700..000000000
Binary files a/public/emoji/1f921.png and /dev/null differ
diff --git a/public/emoji/1f921.svg b/public/emoji/1f921.svg
index 63812e731..f07866132 100644
--- a/public/emoji/1f921.svg
+++ b/public/emoji/1f921.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f922.png b/public/emoji/1f922.png
deleted file mode 100644
index a566c109c..000000000
Binary files a/public/emoji/1f922.png and /dev/null differ
diff --git a/public/emoji/1f922.svg b/public/emoji/1f922.svg
index 893e564de..1815d4965 100644
--- a/public/emoji/1f922.svg
+++ b/public/emoji/1f922.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f923.png b/public/emoji/1f923.png
deleted file mode 100644
index b1736fedf..000000000
Binary files a/public/emoji/1f923.png and /dev/null differ
diff --git a/public/emoji/1f923.svg b/public/emoji/1f923.svg
index e02925701..1ca89f33a 100644
--- a/public/emoji/1f923.svg
+++ b/public/emoji/1f923.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f924.png b/public/emoji/1f924.png
deleted file mode 100644
index a54605325..000000000
Binary files a/public/emoji/1f924.png and /dev/null differ
diff --git a/public/emoji/1f924.svg b/public/emoji/1f924.svg
index 4e30304df..c81e62d6c 100644
--- a/public/emoji/1f924.svg
+++ b/public/emoji/1f924.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f925.png b/public/emoji/1f925.png
deleted file mode 100644
index 02827e262..000000000
Binary files a/public/emoji/1f925.png and /dev/null differ
diff --git a/public/emoji/1f925.svg b/public/emoji/1f925.svg
index 7446d3f45..a78baff89 100644
--- a/public/emoji/1f925.svg
+++ b/public/emoji/1f925.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f926-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..61cab88be
--- /dev/null
+++ b/public/emoji/1f926-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f926-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..45a0c293d
--- /dev/null
+++ b/public/emoji/1f926-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fb.png b/public/emoji/1f926-1f3fb.png
deleted file mode 100644
index 2f4b010bb..000000000
Binary files a/public/emoji/1f926-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f926-1f3fb.svg b/public/emoji/1f926-1f3fb.svg
index 60e2089a4..61cab88be 100644
--- a/public/emoji/1f926-1f3fb.svg
+++ b/public/emoji/1f926-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f926-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9d28aecc9
--- /dev/null
+++ b/public/emoji/1f926-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f926-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..55f32a525
--- /dev/null
+++ b/public/emoji/1f926-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fc.png b/public/emoji/1f926-1f3fc.png
deleted file mode 100644
index 97fb68316..000000000
Binary files a/public/emoji/1f926-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f926-1f3fc.svg b/public/emoji/1f926-1f3fc.svg
index a5fc0ae04..9d28aecc9 100644
--- a/public/emoji/1f926-1f3fc.svg
+++ b/public/emoji/1f926-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f926-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..a23fe91cc
--- /dev/null
+++ b/public/emoji/1f926-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f926-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..0c349e099
--- /dev/null
+++ b/public/emoji/1f926-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fd.png b/public/emoji/1f926-1f3fd.png
deleted file mode 100644
index b5b5c1e53..000000000
Binary files a/public/emoji/1f926-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f926-1f3fd.svg b/public/emoji/1f926-1f3fd.svg
index ea86bb8cb..a23fe91cc 100644
--- a/public/emoji/1f926-1f3fd.svg
+++ b/public/emoji/1f926-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f926-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6ec0c9edb
--- /dev/null
+++ b/public/emoji/1f926-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f926-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..af75656a5
--- /dev/null
+++ b/public/emoji/1f926-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3fe.png b/public/emoji/1f926-1f3fe.png
deleted file mode 100644
index 2840b1134..000000000
Binary files a/public/emoji/1f926-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f926-1f3fe.svg b/public/emoji/1f926-1f3fe.svg
index 27bb43a42..6ec0c9edb 100644
--- a/public/emoji/1f926-1f3fe.svg
+++ b/public/emoji/1f926-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f926-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e4ba1179b
--- /dev/null
+++ b/public/emoji/1f926-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f926-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..cc2122284
--- /dev/null
+++ b/public/emoji/1f926-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-1f3ff.png b/public/emoji/1f926-1f3ff.png
deleted file mode 100644
index 6f070db98..000000000
Binary files a/public/emoji/1f926-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f926-1f3ff.svg b/public/emoji/1f926-1f3ff.svg
index 2f7044375..e4ba1179b 100644
--- a/public/emoji/1f926-1f3ff.svg
+++ b/public/emoji/1f926-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f926-200d-2640-fe0f.svg b/public/emoji/1f926-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9e134f05d
--- /dev/null
+++ b/public/emoji/1f926-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926-200d-2642-fe0f.svg b/public/emoji/1f926-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1e51ec045
--- /dev/null
+++ b/public/emoji/1f926-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f926.png b/public/emoji/1f926.png
deleted file mode 100644
index defc796cf..000000000
Binary files a/public/emoji/1f926.png and /dev/null differ
diff --git a/public/emoji/1f926.svg b/public/emoji/1f926.svg
index bff8effe6..9e134f05d 100644
--- a/public/emoji/1f926.svg
+++ b/public/emoji/1f926.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f927.png b/public/emoji/1f927.png
deleted file mode 100644
index ccf07d4b6..000000000
Binary files a/public/emoji/1f927.png and /dev/null differ
diff --git a/public/emoji/1f927.svg b/public/emoji/1f927.svg
index 1c513dd28..ad0eb94a5 100644
--- a/public/emoji/1f927.svg
+++ b/public/emoji/1f927.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f928.svg b/public/emoji/1f928.svg
new file mode 100644
index 000000000..5b7fda886
--- /dev/null
+++ b/public/emoji/1f928.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f929.svg b/public/emoji/1f929.svg
new file mode 100644
index 000000000..cd16d001e
--- /dev/null
+++ b/public/emoji/1f929.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92a.svg b/public/emoji/1f92a.svg
new file mode 100644
index 000000000..579fb1c9d
--- /dev/null
+++ b/public/emoji/1f92a.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92b.svg b/public/emoji/1f92b.svg
new file mode 100644
index 000000000..819a7c792
--- /dev/null
+++ b/public/emoji/1f92b.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92c.svg b/public/emoji/1f92c.svg
new file mode 100644
index 000000000..e19b92f45
--- /dev/null
+++ b/public/emoji/1f92c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92d.svg b/public/emoji/1f92d.svg
new file mode 100644
index 000000000..ee9649f89
--- /dev/null
+++ b/public/emoji/1f92d.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92e.svg b/public/emoji/1f92e.svg
new file mode 100644
index 000000000..dbf0ad3ff
--- /dev/null
+++ b/public/emoji/1f92e.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f92f.svg b/public/emoji/1f92f.svg
new file mode 100644
index 000000000..03198605d
--- /dev/null
+++ b/public/emoji/1f92f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f930-1f3fb.png b/public/emoji/1f930-1f3fb.png
deleted file mode 100644
index a78703b33..000000000
Binary files a/public/emoji/1f930-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f930-1f3fb.svg b/public/emoji/1f930-1f3fb.svg
index 4b1d23ff2..324864905 100644
--- a/public/emoji/1f930-1f3fb.svg
+++ b/public/emoji/1f930-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f930-1f3fc.png b/public/emoji/1f930-1f3fc.png
deleted file mode 100644
index 0068c6c4a..000000000
Binary files a/public/emoji/1f930-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f930-1f3fc.svg b/public/emoji/1f930-1f3fc.svg
index b16835892..f7771ab08 100644
--- a/public/emoji/1f930-1f3fc.svg
+++ b/public/emoji/1f930-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f930-1f3fd.png b/public/emoji/1f930-1f3fd.png
deleted file mode 100644
index 3206296b6..000000000
Binary files a/public/emoji/1f930-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f930-1f3fd.svg b/public/emoji/1f930-1f3fd.svg
index dbb32eac3..34000f5a2 100644
--- a/public/emoji/1f930-1f3fd.svg
+++ b/public/emoji/1f930-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f930-1f3fe.png b/public/emoji/1f930-1f3fe.png
deleted file mode 100644
index 120fda5cd..000000000
Binary files a/public/emoji/1f930-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f930-1f3fe.svg b/public/emoji/1f930-1f3fe.svg
index a3bab2cba..3a6ac0c1f 100644
--- a/public/emoji/1f930-1f3fe.svg
+++ b/public/emoji/1f930-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f930-1f3ff.png b/public/emoji/1f930-1f3ff.png
deleted file mode 100644
index 569bfdf05..000000000
Binary files a/public/emoji/1f930-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f930-1f3ff.svg b/public/emoji/1f930-1f3ff.svg
index ad37b4b16..5ca9e492f 100644
--- a/public/emoji/1f930-1f3ff.svg
+++ b/public/emoji/1f930-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f930.png b/public/emoji/1f930.png
deleted file mode 100644
index 084e83a41..000000000
Binary files a/public/emoji/1f930.png and /dev/null differ
diff --git a/public/emoji/1f930.svg b/public/emoji/1f930.svg
index 768b902b8..b5820f4f3 100644
--- a/public/emoji/1f930.svg
+++ b/public/emoji/1f930.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f931-1f3fb.svg b/public/emoji/1f931-1f3fb.svg
new file mode 100644
index 000000000..988b5d57d
--- /dev/null
+++ b/public/emoji/1f931-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f931-1f3fc.svg b/public/emoji/1f931-1f3fc.svg
new file mode 100644
index 000000000..2883d9ef5
--- /dev/null
+++ b/public/emoji/1f931-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f931-1f3fd.svg b/public/emoji/1f931-1f3fd.svg
new file mode 100644
index 000000000..b42dc9fb5
--- /dev/null
+++ b/public/emoji/1f931-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f931-1f3fe.svg b/public/emoji/1f931-1f3fe.svg
new file mode 100644
index 000000000..41c6f1c75
--- /dev/null
+++ b/public/emoji/1f931-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f931-1f3ff.svg b/public/emoji/1f931-1f3ff.svg
new file mode 100644
index 000000000..428a21dcb
--- /dev/null
+++ b/public/emoji/1f931-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f931.svg b/public/emoji/1f931.svg
new file mode 100644
index 000000000..6533abf71
--- /dev/null
+++ b/public/emoji/1f931.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932-1f3fb.svg b/public/emoji/1f932-1f3fb.svg
new file mode 100644
index 000000000..8d826d975
--- /dev/null
+++ b/public/emoji/1f932-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932-1f3fc.svg b/public/emoji/1f932-1f3fc.svg
new file mode 100644
index 000000000..5ab9964ff
--- /dev/null
+++ b/public/emoji/1f932-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932-1f3fd.svg b/public/emoji/1f932-1f3fd.svg
new file mode 100644
index 000000000..e64b1fba4
--- /dev/null
+++ b/public/emoji/1f932-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932-1f3fe.svg b/public/emoji/1f932-1f3fe.svg
new file mode 100644
index 000000000..34728c5ab
--- /dev/null
+++ b/public/emoji/1f932-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932-1f3ff.svg b/public/emoji/1f932-1f3ff.svg
new file mode 100644
index 000000000..dff0c8e43
--- /dev/null
+++ b/public/emoji/1f932-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f932.svg b/public/emoji/1f932.svg
new file mode 100644
index 000000000..457e04c2c
--- /dev/null
+++ b/public/emoji/1f932.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f933-1f3fb.png b/public/emoji/1f933-1f3fb.png
deleted file mode 100644
index 290e075b5..000000000
Binary files a/public/emoji/1f933-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f933-1f3fb.svg b/public/emoji/1f933-1f3fb.svg
index 891ddd132..1f0bbf5b4 100644
--- a/public/emoji/1f933-1f3fb.svg
+++ b/public/emoji/1f933-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f933-1f3fc.png b/public/emoji/1f933-1f3fc.png
deleted file mode 100644
index fcd9595b6..000000000
Binary files a/public/emoji/1f933-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f933-1f3fc.svg b/public/emoji/1f933-1f3fc.svg
index 8e9e65444..db84bbe08 100644
--- a/public/emoji/1f933-1f3fc.svg
+++ b/public/emoji/1f933-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f933-1f3fd.png b/public/emoji/1f933-1f3fd.png
deleted file mode 100644
index f3a22fdf4..000000000
Binary files a/public/emoji/1f933-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f933-1f3fd.svg b/public/emoji/1f933-1f3fd.svg
index d40f5f75d..34d5842fe 100644
--- a/public/emoji/1f933-1f3fd.svg
+++ b/public/emoji/1f933-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f933-1f3fe.png b/public/emoji/1f933-1f3fe.png
deleted file mode 100644
index cdecf6d9f..000000000
Binary files a/public/emoji/1f933-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f933-1f3fe.svg b/public/emoji/1f933-1f3fe.svg
index d19b5ea81..1d313cf18 100644
--- a/public/emoji/1f933-1f3fe.svg
+++ b/public/emoji/1f933-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f933-1f3ff.png b/public/emoji/1f933-1f3ff.png
deleted file mode 100644
index 86acbb6c2..000000000
Binary files a/public/emoji/1f933-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f933-1f3ff.svg b/public/emoji/1f933-1f3ff.svg
index 3be274394..8badf905f 100644
--- a/public/emoji/1f933-1f3ff.svg
+++ b/public/emoji/1f933-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f933.png b/public/emoji/1f933.png
deleted file mode 100644
index 6a1ba75c7..000000000
Binary files a/public/emoji/1f933.png and /dev/null differ
diff --git a/public/emoji/1f933.svg b/public/emoji/1f933.svg
index 009221c6a..c031fc001 100644
--- a/public/emoji/1f933.svg
+++ b/public/emoji/1f933.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934-1f3fb.png b/public/emoji/1f934-1f3fb.png
deleted file mode 100644
index 849930c88..000000000
Binary files a/public/emoji/1f934-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f934-1f3fb.svg b/public/emoji/1f934-1f3fb.svg
index 9688cead9..841a50ec3 100644
--- a/public/emoji/1f934-1f3fb.svg
+++ b/public/emoji/1f934-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934-1f3fc.png b/public/emoji/1f934-1f3fc.png
deleted file mode 100644
index 23d8b3b12..000000000
Binary files a/public/emoji/1f934-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f934-1f3fc.svg b/public/emoji/1f934-1f3fc.svg
index cc27b532d..7624b4dae 100644
--- a/public/emoji/1f934-1f3fc.svg
+++ b/public/emoji/1f934-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934-1f3fd.png b/public/emoji/1f934-1f3fd.png
deleted file mode 100644
index db6dfff06..000000000
Binary files a/public/emoji/1f934-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f934-1f3fd.svg b/public/emoji/1f934-1f3fd.svg
index 44a0524d4..43ee1573e 100644
--- a/public/emoji/1f934-1f3fd.svg
+++ b/public/emoji/1f934-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934-1f3fe.png b/public/emoji/1f934-1f3fe.png
deleted file mode 100644
index 8e10f8be6..000000000
Binary files a/public/emoji/1f934-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f934-1f3fe.svg b/public/emoji/1f934-1f3fe.svg
index 71c66cb95..d2d890f82 100644
--- a/public/emoji/1f934-1f3fe.svg
+++ b/public/emoji/1f934-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934-1f3ff.png b/public/emoji/1f934-1f3ff.png
deleted file mode 100644
index 138d4ea70..000000000
Binary files a/public/emoji/1f934-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f934-1f3ff.svg b/public/emoji/1f934-1f3ff.svg
index d45a0f05a..845726b1b 100644
--- a/public/emoji/1f934-1f3ff.svg
+++ b/public/emoji/1f934-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f934.png b/public/emoji/1f934.png
deleted file mode 100644
index 38d69344c..000000000
Binary files a/public/emoji/1f934.png and /dev/null differ
diff --git a/public/emoji/1f934.svg b/public/emoji/1f934.svg
index a075a6b44..700e4dd8e 100644
--- a/public/emoji/1f934.svg
+++ b/public/emoji/1f934.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935-1f3fb.png b/public/emoji/1f935-1f3fb.png
deleted file mode 100644
index 7b6b3acd9..000000000
Binary files a/public/emoji/1f935-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f935-1f3fb.svg b/public/emoji/1f935-1f3fb.svg
index b5259d659..76431d58f 100644
--- a/public/emoji/1f935-1f3fb.svg
+++ b/public/emoji/1f935-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935-1f3fc.png b/public/emoji/1f935-1f3fc.png
deleted file mode 100644
index 7975191b3..000000000
Binary files a/public/emoji/1f935-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f935-1f3fc.svg b/public/emoji/1f935-1f3fc.svg
index d57750ac5..af8c199d5 100644
--- a/public/emoji/1f935-1f3fc.svg
+++ b/public/emoji/1f935-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935-1f3fd.png b/public/emoji/1f935-1f3fd.png
deleted file mode 100644
index a2816f600..000000000
Binary files a/public/emoji/1f935-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f935-1f3fd.svg b/public/emoji/1f935-1f3fd.svg
index 9c816e303..3d796d873 100644
--- a/public/emoji/1f935-1f3fd.svg
+++ b/public/emoji/1f935-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935-1f3fe.png b/public/emoji/1f935-1f3fe.png
deleted file mode 100644
index ea8291760..000000000
Binary files a/public/emoji/1f935-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f935-1f3fe.svg b/public/emoji/1f935-1f3fe.svg
index e15d17657..bdfbf85df 100644
--- a/public/emoji/1f935-1f3fe.svg
+++ b/public/emoji/1f935-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935-1f3ff.png b/public/emoji/1f935-1f3ff.png
deleted file mode 100644
index c743e05fc..000000000
Binary files a/public/emoji/1f935-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f935-1f3ff.svg b/public/emoji/1f935-1f3ff.svg
index f8655dbe7..da7f013d0 100644
--- a/public/emoji/1f935-1f3ff.svg
+++ b/public/emoji/1f935-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f935.png b/public/emoji/1f935.png
deleted file mode 100644
index 5f7e9303f..000000000
Binary files a/public/emoji/1f935.png and /dev/null differ
diff --git a/public/emoji/1f935.svg b/public/emoji/1f935.svg
index 228b84a0a..14d2a46ae 100644
--- a/public/emoji/1f935.svg
+++ b/public/emoji/1f935.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936-1f3fb.png b/public/emoji/1f936-1f3fb.png
deleted file mode 100644
index d8a695d70..000000000
Binary files a/public/emoji/1f936-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f936-1f3fb.svg b/public/emoji/1f936-1f3fb.svg
index 42ba4e633..de4f37f67 100644
--- a/public/emoji/1f936-1f3fb.svg
+++ b/public/emoji/1f936-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936-1f3fc.png b/public/emoji/1f936-1f3fc.png
deleted file mode 100644
index 0e17e8c51..000000000
Binary files a/public/emoji/1f936-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f936-1f3fc.svg b/public/emoji/1f936-1f3fc.svg
index 039a57661..b1a535d2f 100644
--- a/public/emoji/1f936-1f3fc.svg
+++ b/public/emoji/1f936-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936-1f3fd.png b/public/emoji/1f936-1f3fd.png
deleted file mode 100644
index c3ee4d1df..000000000
Binary files a/public/emoji/1f936-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f936-1f3fd.svg b/public/emoji/1f936-1f3fd.svg
index a28a074bb..f99d06457 100644
--- a/public/emoji/1f936-1f3fd.svg
+++ b/public/emoji/1f936-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936-1f3fe.png b/public/emoji/1f936-1f3fe.png
deleted file mode 100644
index 68a556da2..000000000
Binary files a/public/emoji/1f936-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f936-1f3fe.svg b/public/emoji/1f936-1f3fe.svg
index bac1e4678..44bbb6b57 100644
--- a/public/emoji/1f936-1f3fe.svg
+++ b/public/emoji/1f936-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936-1f3ff.png b/public/emoji/1f936-1f3ff.png
deleted file mode 100644
index ccab3c40f..000000000
Binary files a/public/emoji/1f936-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f936-1f3ff.svg b/public/emoji/1f936-1f3ff.svg
index bd8eb1bab..b972cf0b2 100644
--- a/public/emoji/1f936-1f3ff.svg
+++ b/public/emoji/1f936-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f936.png b/public/emoji/1f936.png
deleted file mode 100644
index 9cf2458df..000000000
Binary files a/public/emoji/1f936.png and /dev/null differ
diff --git a/public/emoji/1f936.svg b/public/emoji/1f936.svg
index c2c0e9862..aad36267b 100644
--- a/public/emoji/1f936.svg
+++ b/public/emoji/1f936.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f937-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3fb8aa608
--- /dev/null
+++ b/public/emoji/1f937-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f937-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6fa8b4860
--- /dev/null
+++ b/public/emoji/1f937-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fb.png b/public/emoji/1f937-1f3fb.png
deleted file mode 100644
index 1c895e644..000000000
Binary files a/public/emoji/1f937-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f937-1f3fb.svg b/public/emoji/1f937-1f3fb.svg
index e654bcd6a..3fb8aa608 100644
--- a/public/emoji/1f937-1f3fb.svg
+++ b/public/emoji/1f937-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f937-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..df88b238b
--- /dev/null
+++ b/public/emoji/1f937-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f937-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9690008e3
--- /dev/null
+++ b/public/emoji/1f937-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fc.png b/public/emoji/1f937-1f3fc.png
deleted file mode 100644
index 4e3ca8f8b..000000000
Binary files a/public/emoji/1f937-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f937-1f3fc.svg b/public/emoji/1f937-1f3fc.svg
index 8686bdf2b..df88b238b 100644
--- a/public/emoji/1f937-1f3fc.svg
+++ b/public/emoji/1f937-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f937-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..38047209f
--- /dev/null
+++ b/public/emoji/1f937-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f937-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7a7807e03
--- /dev/null
+++ b/public/emoji/1f937-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fd.png b/public/emoji/1f937-1f3fd.png
deleted file mode 100644
index d1b16a19b..000000000
Binary files a/public/emoji/1f937-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f937-1f3fd.svg b/public/emoji/1f937-1f3fd.svg
index ee50fbbd7..38047209f 100644
--- a/public/emoji/1f937-1f3fd.svg
+++ b/public/emoji/1f937-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f937-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d7c4702e3
--- /dev/null
+++ b/public/emoji/1f937-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f937-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8f2eb7f48
--- /dev/null
+++ b/public/emoji/1f937-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3fe.png b/public/emoji/1f937-1f3fe.png
deleted file mode 100644
index 5fbef3f22..000000000
Binary files a/public/emoji/1f937-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f937-1f3fe.svg b/public/emoji/1f937-1f3fe.svg
index 4a7bc965e..d7c4702e3 100644
--- a/public/emoji/1f937-1f3fe.svg
+++ b/public/emoji/1f937-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f937-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..769929c56
--- /dev/null
+++ b/public/emoji/1f937-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f937-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7384bbb32
--- /dev/null
+++ b/public/emoji/1f937-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-1f3ff.png b/public/emoji/1f937-1f3ff.png
deleted file mode 100644
index 4af2e28bc..000000000
Binary files a/public/emoji/1f937-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f937-1f3ff.svg b/public/emoji/1f937-1f3ff.svg
index 25bfd9ef7..769929c56 100644
--- a/public/emoji/1f937-1f3ff.svg
+++ b/public/emoji/1f937-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f937-200d-2640-fe0f.svg b/public/emoji/1f937-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4277e9ddb
--- /dev/null
+++ b/public/emoji/1f937-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937-200d-2642-fe0f.svg b/public/emoji/1f937-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d20202728
--- /dev/null
+++ b/public/emoji/1f937-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f937.png b/public/emoji/1f937.png
deleted file mode 100644
index 76e63bfac..000000000
Binary files a/public/emoji/1f937.png and /dev/null differ
diff --git a/public/emoji/1f937.svg b/public/emoji/1f937.svg
index c2ab59fe0..4277e9ddb 100644
--- a/public/emoji/1f937.svg
+++ b/public/emoji/1f937.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f938-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..11c961dfd
--- /dev/null
+++ b/public/emoji/1f938-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f938-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..beb1698b0
--- /dev/null
+++ b/public/emoji/1f938-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fb.png b/public/emoji/1f938-1f3fb.png
deleted file mode 100644
index db6d65895..000000000
Binary files a/public/emoji/1f938-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f938-1f3fb.svg b/public/emoji/1f938-1f3fb.svg
index 41bb16886..11c961dfd 100644
--- a/public/emoji/1f938-1f3fb.svg
+++ b/public/emoji/1f938-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f938-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5e568ea25
--- /dev/null
+++ b/public/emoji/1f938-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f938-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..136338d4a
--- /dev/null
+++ b/public/emoji/1f938-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fc.png b/public/emoji/1f938-1f3fc.png
deleted file mode 100644
index e00ffbc27..000000000
Binary files a/public/emoji/1f938-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f938-1f3fc.svg b/public/emoji/1f938-1f3fc.svg
index 17ccde4bb..5e568ea25 100644
--- a/public/emoji/1f938-1f3fc.svg
+++ b/public/emoji/1f938-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f938-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..86abb59e3
--- /dev/null
+++ b/public/emoji/1f938-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f938-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e580c1f44
--- /dev/null
+++ b/public/emoji/1f938-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fd.png b/public/emoji/1f938-1f3fd.png
deleted file mode 100644
index 49321be39..000000000
Binary files a/public/emoji/1f938-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f938-1f3fd.svg b/public/emoji/1f938-1f3fd.svg
index e76db7a6e..86abb59e3 100644
--- a/public/emoji/1f938-1f3fd.svg
+++ b/public/emoji/1f938-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f938-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..06c5f27ce
--- /dev/null
+++ b/public/emoji/1f938-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f938-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ee81b8e94
--- /dev/null
+++ b/public/emoji/1f938-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3fe.png b/public/emoji/1f938-1f3fe.png
deleted file mode 100644
index d4562b5e3..000000000
Binary files a/public/emoji/1f938-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f938-1f3fe.svg b/public/emoji/1f938-1f3fe.svg
index 83a3dd3bd..06c5f27ce 100644
--- a/public/emoji/1f938-1f3fe.svg
+++ b/public/emoji/1f938-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f938-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..492866a6d
--- /dev/null
+++ b/public/emoji/1f938-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f938-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3846f7e81
--- /dev/null
+++ b/public/emoji/1f938-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-1f3ff.png b/public/emoji/1f938-1f3ff.png
deleted file mode 100644
index 6e09a8707..000000000
Binary files a/public/emoji/1f938-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f938-1f3ff.svg b/public/emoji/1f938-1f3ff.svg
index 347df3bc0..492866a6d 100644
--- a/public/emoji/1f938-1f3ff.svg
+++ b/public/emoji/1f938-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f938-200d-2640-fe0f.svg b/public/emoji/1f938-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d4108d706
--- /dev/null
+++ b/public/emoji/1f938-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938-200d-2642-fe0f.svg b/public/emoji/1f938-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1335d4f0a
--- /dev/null
+++ b/public/emoji/1f938-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f938.png b/public/emoji/1f938.png
deleted file mode 100644
index cbcaa5782..000000000
Binary files a/public/emoji/1f938.png and /dev/null differ
diff --git a/public/emoji/1f938.svg b/public/emoji/1f938.svg
index d3c2a1ad8..d4108d706 100644
--- a/public/emoji/1f938.svg
+++ b/public/emoji/1f938.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f939-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ecbe04f58
--- /dev/null
+++ b/public/emoji/1f939-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f939-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..cc2e8f3dc
--- /dev/null
+++ b/public/emoji/1f939-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fb.png b/public/emoji/1f939-1f3fb.png
deleted file mode 100644
index c18eda400..000000000
Binary files a/public/emoji/1f939-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f939-1f3fb.svg b/public/emoji/1f939-1f3fb.svg
index db37b39a0..cc2e8f3dc 100644
--- a/public/emoji/1f939-1f3fb.svg
+++ b/public/emoji/1f939-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f939-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..54b97ed10
--- /dev/null
+++ b/public/emoji/1f939-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f939-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..883eb1cde
--- /dev/null
+++ b/public/emoji/1f939-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fc.png b/public/emoji/1f939-1f3fc.png
deleted file mode 100644
index de3b7a555..000000000
Binary files a/public/emoji/1f939-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f939-1f3fc.svg b/public/emoji/1f939-1f3fc.svg
index bb834f73f..883eb1cde 100644
--- a/public/emoji/1f939-1f3fc.svg
+++ b/public/emoji/1f939-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f939-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b49b5d176
--- /dev/null
+++ b/public/emoji/1f939-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f939-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1675762c8
--- /dev/null
+++ b/public/emoji/1f939-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fd.png b/public/emoji/1f939-1f3fd.png
deleted file mode 100644
index 74ab6d854..000000000
Binary files a/public/emoji/1f939-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f939-1f3fd.svg b/public/emoji/1f939-1f3fd.svg
index 8c2b703d8..1675762c8 100644
--- a/public/emoji/1f939-1f3fd.svg
+++ b/public/emoji/1f939-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f939-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9fa47f6ed
--- /dev/null
+++ b/public/emoji/1f939-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f939-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..fa0ea0155
--- /dev/null
+++ b/public/emoji/1f939-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3fe.png b/public/emoji/1f939-1f3fe.png
deleted file mode 100644
index 1c5782320..000000000
Binary files a/public/emoji/1f939-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f939-1f3fe.svg b/public/emoji/1f939-1f3fe.svg
index fcf099208..fa0ea0155 100644
--- a/public/emoji/1f939-1f3fe.svg
+++ b/public/emoji/1f939-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f939-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e2128cc2e
--- /dev/null
+++ b/public/emoji/1f939-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f939-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ec0982810
--- /dev/null
+++ b/public/emoji/1f939-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-1f3ff.png b/public/emoji/1f939-1f3ff.png
deleted file mode 100644
index c343d6ee9..000000000
Binary files a/public/emoji/1f939-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f939-1f3ff.svg b/public/emoji/1f939-1f3ff.svg
index b1d6168a0..ec0982810 100644
--- a/public/emoji/1f939-1f3ff.svg
+++ b/public/emoji/1f939-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f939-200d-2640-fe0f.svg b/public/emoji/1f939-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c2f071c5b
--- /dev/null
+++ b/public/emoji/1f939-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939-200d-2642-fe0f.svg b/public/emoji/1f939-200d-2642-fe0f.svg
new file mode 100644
index 000000000..532cd15cf
--- /dev/null
+++ b/public/emoji/1f939-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f939.png b/public/emoji/1f939.png
deleted file mode 100644
index a37f6224a..000000000
Binary files a/public/emoji/1f939.png and /dev/null differ
diff --git a/public/emoji/1f939.svg b/public/emoji/1f939.svg
index 3859ff275..532cd15cf 100644
--- a/public/emoji/1f939.svg
+++ b/public/emoji/1f939.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93a.png b/public/emoji/1f93a.png
deleted file mode 100644
index 5288c920e..000000000
Binary files a/public/emoji/1f93a.png and /dev/null differ
diff --git a/public/emoji/1f93a.svg b/public/emoji/1f93a.svg
index f566e0605..663bae152 100644
--- a/public/emoji/1f93a.svg
+++ b/public/emoji/1f93a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93c-1f3fb.png b/public/emoji/1f93c-1f3fb.png
deleted file mode 100644
index 379070fd0..000000000
Binary files a/public/emoji/1f93c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f93c-1f3fb.svg b/public/emoji/1f93c-1f3fb.svg
deleted file mode 100644
index 107ff2667..000000000
--- a/public/emoji/1f93c-1f3fb.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f93c-1f3fc.png b/public/emoji/1f93c-1f3fc.png
deleted file mode 100644
index 6863ea920..000000000
Binary files a/public/emoji/1f93c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f93c-1f3fc.svg b/public/emoji/1f93c-1f3fc.svg
deleted file mode 100644
index e417df2d8..000000000
--- a/public/emoji/1f93c-1f3fc.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f93c-1f3fd.png b/public/emoji/1f93c-1f3fd.png
deleted file mode 100644
index b7e629101..000000000
Binary files a/public/emoji/1f93c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f93c-1f3fd.svg b/public/emoji/1f93c-1f3fd.svg
deleted file mode 100644
index 5b897f9db..000000000
--- a/public/emoji/1f93c-1f3fd.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f93c-1f3fe.png b/public/emoji/1f93c-1f3fe.png
deleted file mode 100644
index 750f95892..000000000
Binary files a/public/emoji/1f93c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f93c-1f3fe.svg b/public/emoji/1f93c-1f3fe.svg
deleted file mode 100644
index 7f3425021..000000000
--- a/public/emoji/1f93c-1f3fe.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f93c-1f3ff.png b/public/emoji/1f93c-1f3ff.png
deleted file mode 100644
index 36ab9bb3f..000000000
Binary files a/public/emoji/1f93c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f93c-1f3ff.svg b/public/emoji/1f93c-1f3ff.svg
deleted file mode 100644
index a4e5ecc50..000000000
--- a/public/emoji/1f93c-1f3ff.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/emoji/1f93c-200d-2640-fe0f.svg b/public/emoji/1f93c-200d-2640-fe0f.svg
new file mode 100644
index 000000000..2380abf71
--- /dev/null
+++ b/public/emoji/1f93c-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93c-200d-2642-fe0f.svg b/public/emoji/1f93c-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d568b453c
--- /dev/null
+++ b/public/emoji/1f93c-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93c.png b/public/emoji/1f93c.png
deleted file mode 100644
index 71e67cfad..000000000
Binary files a/public/emoji/1f93c.png and /dev/null differ
diff --git a/public/emoji/1f93c.svg b/public/emoji/1f93c.svg
index 694ce7662..d568b453c 100644
--- a/public/emoji/1f93c.svg
+++ b/public/emoji/1f93c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f93d-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c725abbce
--- /dev/null
+++ b/public/emoji/1f93d-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f93d-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a7515d5db
--- /dev/null
+++ b/public/emoji/1f93d-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fb.png b/public/emoji/1f93d-1f3fb.png
deleted file mode 100644
index bed1a908d..000000000
Binary files a/public/emoji/1f93d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f93d-1f3fb.svg b/public/emoji/1f93d-1f3fb.svg
index ab8d140df..a7515d5db 100644
--- a/public/emoji/1f93d-1f3fb.svg
+++ b/public/emoji/1f93d-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f93d-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..80bc3501b
--- /dev/null
+++ b/public/emoji/1f93d-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f93d-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b30427791
--- /dev/null
+++ b/public/emoji/1f93d-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fc.png b/public/emoji/1f93d-1f3fc.png
deleted file mode 100644
index ec5a43b4d..000000000
Binary files a/public/emoji/1f93d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f93d-1f3fc.svg b/public/emoji/1f93d-1f3fc.svg
index 85395e007..b30427791 100644
--- a/public/emoji/1f93d-1f3fc.svg
+++ b/public/emoji/1f93d-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f93d-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..cf169c961
--- /dev/null
+++ b/public/emoji/1f93d-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f93d-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2e55ad570
--- /dev/null
+++ b/public/emoji/1f93d-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fd.png b/public/emoji/1f93d-1f3fd.png
deleted file mode 100644
index b081a4a5a..000000000
Binary files a/public/emoji/1f93d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f93d-1f3fd.svg b/public/emoji/1f93d-1f3fd.svg
index 3977b7377..2e55ad570 100644
--- a/public/emoji/1f93d-1f3fd.svg
+++ b/public/emoji/1f93d-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f93d-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..605d328d9
--- /dev/null
+++ b/public/emoji/1f93d-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f93d-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5459f0f98
--- /dev/null
+++ b/public/emoji/1f93d-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3fe.png b/public/emoji/1f93d-1f3fe.png
deleted file mode 100644
index 82cfbc3b0..000000000
Binary files a/public/emoji/1f93d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f93d-1f3fe.svg b/public/emoji/1f93d-1f3fe.svg
index d25f2bfb0..5459f0f98 100644
--- a/public/emoji/1f93d-1f3fe.svg
+++ b/public/emoji/1f93d-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f93d-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c01fa423b
--- /dev/null
+++ b/public/emoji/1f93d-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f93d-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c84f230dc
--- /dev/null
+++ b/public/emoji/1f93d-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-1f3ff.png b/public/emoji/1f93d-1f3ff.png
deleted file mode 100644
index bd3366eb0..000000000
Binary files a/public/emoji/1f93d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f93d-1f3ff.svg b/public/emoji/1f93d-1f3ff.svg
index 16cd1bbe4..c84f230dc 100644
--- a/public/emoji/1f93d-1f3ff.svg
+++ b/public/emoji/1f93d-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93d-200d-2640-fe0f.svg b/public/emoji/1f93d-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4f22a638f
--- /dev/null
+++ b/public/emoji/1f93d-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d-200d-2642-fe0f.svg b/public/emoji/1f93d-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1cbe1e8e3
--- /dev/null
+++ b/public/emoji/1f93d-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93d.png b/public/emoji/1f93d.png
deleted file mode 100644
index cb4457678..000000000
Binary files a/public/emoji/1f93d.png and /dev/null differ
diff --git a/public/emoji/1f93d.svg b/public/emoji/1f93d.svg
index 1ba0ab89e..1cbe1e8e3 100644
--- a/public/emoji/1f93d.svg
+++ b/public/emoji/1f93d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f93e-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..cc9a5e837
--- /dev/null
+++ b/public/emoji/1f93e-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f93e-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..b7f07e45f
--- /dev/null
+++ b/public/emoji/1f93e-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fb.png b/public/emoji/1f93e-1f3fb.png
deleted file mode 100644
index c26cac2df..000000000
Binary files a/public/emoji/1f93e-1f3fb.png and /dev/null differ
diff --git a/public/emoji/1f93e-1f3fb.svg b/public/emoji/1f93e-1f3fb.svg
index 58ad79fad..cc9a5e837 100644
--- a/public/emoji/1f93e-1f3fb.svg
+++ b/public/emoji/1f93e-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f93e-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8c0d7576f
--- /dev/null
+++ b/public/emoji/1f93e-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f93e-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2d25b7a5b
--- /dev/null
+++ b/public/emoji/1f93e-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fc.png b/public/emoji/1f93e-1f3fc.png
deleted file mode 100644
index 7baaf95a9..000000000
Binary files a/public/emoji/1f93e-1f3fc.png and /dev/null differ
diff --git a/public/emoji/1f93e-1f3fc.svg b/public/emoji/1f93e-1f3fc.svg
index fb609bac7..8c0d7576f 100644
--- a/public/emoji/1f93e-1f3fc.svg
+++ b/public/emoji/1f93e-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f93e-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1aa9f7d2d
--- /dev/null
+++ b/public/emoji/1f93e-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f93e-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e270a92f9
--- /dev/null
+++ b/public/emoji/1f93e-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fd.png b/public/emoji/1f93e-1f3fd.png
deleted file mode 100644
index 0e3a37c3d..000000000
Binary files a/public/emoji/1f93e-1f3fd.png and /dev/null differ
diff --git a/public/emoji/1f93e-1f3fd.svg b/public/emoji/1f93e-1f3fd.svg
index facf15d77..1aa9f7d2d 100644
--- a/public/emoji/1f93e-1f3fd.svg
+++ b/public/emoji/1f93e-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f93e-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0d46f8906
--- /dev/null
+++ b/public/emoji/1f93e-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f93e-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5e0c97140
--- /dev/null
+++ b/public/emoji/1f93e-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3fe.png b/public/emoji/1f93e-1f3fe.png
deleted file mode 100644
index e1233f382..000000000
Binary files a/public/emoji/1f93e-1f3fe.png and /dev/null differ
diff --git a/public/emoji/1f93e-1f3fe.svg b/public/emoji/1f93e-1f3fe.svg
index 2b3023fce..0d46f8906 100644
--- a/public/emoji/1f93e-1f3fe.svg
+++ b/public/emoji/1f93e-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f93e-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..34be64b01
--- /dev/null
+++ b/public/emoji/1f93e-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f93e-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a868dcc31
--- /dev/null
+++ b/public/emoji/1f93e-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-1f3ff.png b/public/emoji/1f93e-1f3ff.png
deleted file mode 100644
index 6b1eb9b64..000000000
Binary files a/public/emoji/1f93e-1f3ff.png and /dev/null differ
diff --git a/public/emoji/1f93e-1f3ff.svg b/public/emoji/1f93e-1f3ff.svg
index 65220a539..34be64b01 100644
--- a/public/emoji/1f93e-1f3ff.svg
+++ b/public/emoji/1f93e-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f93e-200d-2640-fe0f.svg b/public/emoji/1f93e-200d-2640-fe0f.svg
new file mode 100644
index 000000000..817bb49f5
--- /dev/null
+++ b/public/emoji/1f93e-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e-200d-2642-fe0f.svg b/public/emoji/1f93e-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4dfcc5376
--- /dev/null
+++ b/public/emoji/1f93e-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f93e.png b/public/emoji/1f93e.png
deleted file mode 100644
index 1152f1344..000000000
Binary files a/public/emoji/1f93e.png and /dev/null differ
diff --git a/public/emoji/1f93e.svg b/public/emoji/1f93e.svg
index d3a20ac8a..817bb49f5 100644
--- a/public/emoji/1f93e.svg
+++ b/public/emoji/1f93e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f940.png b/public/emoji/1f940.png
deleted file mode 100644
index 62412b143..000000000
Binary files a/public/emoji/1f940.png and /dev/null differ
diff --git a/public/emoji/1f940.svg b/public/emoji/1f940.svg
index dda76b81b..08d5986de 100644
--- a/public/emoji/1f940.svg
+++ b/public/emoji/1f940.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f941.png b/public/emoji/1f941.png
deleted file mode 100644
index b038727cc..000000000
Binary files a/public/emoji/1f941.png and /dev/null differ
diff --git a/public/emoji/1f941.svg b/public/emoji/1f941.svg
index 3a07224db..7a7027b7e 100644
--- a/public/emoji/1f941.svg
+++ b/public/emoji/1f941.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f942.png b/public/emoji/1f942.png
deleted file mode 100644
index 31937ae93..000000000
Binary files a/public/emoji/1f942.png and /dev/null differ
diff --git a/public/emoji/1f942.svg b/public/emoji/1f942.svg
index 41384a1ac..1540a6b85 100644
--- a/public/emoji/1f942.svg
+++ b/public/emoji/1f942.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f943.png b/public/emoji/1f943.png
deleted file mode 100644
index 7bf092298..000000000
Binary files a/public/emoji/1f943.png and /dev/null differ
diff --git a/public/emoji/1f943.svg b/public/emoji/1f943.svg
index 025cd0b8a..dc49c4872 100644
--- a/public/emoji/1f943.svg
+++ b/public/emoji/1f943.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f944.png b/public/emoji/1f944.png
deleted file mode 100644
index 3c4da766a..000000000
Binary files a/public/emoji/1f944.png and /dev/null differ
diff --git a/public/emoji/1f944.svg b/public/emoji/1f944.svg
index f69528ca7..d17ec31ca 100644
--- a/public/emoji/1f944.svg
+++ b/public/emoji/1f944.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f945.png b/public/emoji/1f945.png
deleted file mode 100644
index df3a53da0..000000000
Binary files a/public/emoji/1f945.png and /dev/null differ
diff --git a/public/emoji/1f945.svg b/public/emoji/1f945.svg
index 181c85224..6e1648f30 100644
--- a/public/emoji/1f945.svg
+++ b/public/emoji/1f945.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f947.png b/public/emoji/1f947.png
deleted file mode 100644
index 15612b664..000000000
Binary files a/public/emoji/1f947.png and /dev/null differ
diff --git a/public/emoji/1f947.svg b/public/emoji/1f947.svg
index abb7620a0..6403a3471 100644
--- a/public/emoji/1f947.svg
+++ b/public/emoji/1f947.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f948.png b/public/emoji/1f948.png
deleted file mode 100644
index 17b011268..000000000
Binary files a/public/emoji/1f948.png and /dev/null differ
diff --git a/public/emoji/1f948.svg b/public/emoji/1f948.svg
index 2da21e138..75283797e 100644
--- a/public/emoji/1f948.svg
+++ b/public/emoji/1f948.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f949.png b/public/emoji/1f949.png
deleted file mode 100644
index 636e04a59..000000000
Binary files a/public/emoji/1f949.png and /dev/null differ
diff --git a/public/emoji/1f949.svg b/public/emoji/1f949.svg
index 1322b555f..d3f5f03f8 100644
--- a/public/emoji/1f949.svg
+++ b/public/emoji/1f949.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f94a.png b/public/emoji/1f94a.png
deleted file mode 100644
index 9838f24e5..000000000
Binary files a/public/emoji/1f94a.png and /dev/null differ
diff --git a/public/emoji/1f94a.svg b/public/emoji/1f94a.svg
index 752af12e3..9821f08b9 100644
--- a/public/emoji/1f94a.svg
+++ b/public/emoji/1f94a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f94b.png b/public/emoji/1f94b.png
deleted file mode 100644
index 8d6114761..000000000
Binary files a/public/emoji/1f94b.png and /dev/null differ
diff --git a/public/emoji/1f94b.svg b/public/emoji/1f94b.svg
index 44fc92b84..f4c48eaf7 100644
--- a/public/emoji/1f94b.svg
+++ b/public/emoji/1f94b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f94c.svg b/public/emoji/1f94c.svg
new file mode 100644
index 000000000..1d4067c6a
--- /dev/null
+++ b/public/emoji/1f94c.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f950.png b/public/emoji/1f950.png
deleted file mode 100644
index fb33feb1a..000000000
Binary files a/public/emoji/1f950.png and /dev/null differ
diff --git a/public/emoji/1f950.svg b/public/emoji/1f950.svg
index 184e56c46..4c325029a 100644
--- a/public/emoji/1f950.svg
+++ b/public/emoji/1f950.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f951.png b/public/emoji/1f951.png
deleted file mode 100644
index 06f0d124a..000000000
Binary files a/public/emoji/1f951.png and /dev/null differ
diff --git a/public/emoji/1f951.svg b/public/emoji/1f951.svg
index b8c26d2a4..093bf6984 100644
--- a/public/emoji/1f951.svg
+++ b/public/emoji/1f951.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f952.png b/public/emoji/1f952.png
deleted file mode 100644
index 500807059..000000000
Binary files a/public/emoji/1f952.png and /dev/null differ
diff --git a/public/emoji/1f952.svg b/public/emoji/1f952.svg
index d72b1ceba..72e66de08 100644
--- a/public/emoji/1f952.svg
+++ b/public/emoji/1f952.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f953.png b/public/emoji/1f953.png
deleted file mode 100644
index f38a485fb..000000000
Binary files a/public/emoji/1f953.png and /dev/null differ
diff --git a/public/emoji/1f953.svg b/public/emoji/1f953.svg
index d702dc50c..9617ade96 100644
--- a/public/emoji/1f953.svg
+++ b/public/emoji/1f953.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f954.png b/public/emoji/1f954.png
deleted file mode 100644
index 70350ca2c..000000000
Binary files a/public/emoji/1f954.png and /dev/null differ
diff --git a/public/emoji/1f954.svg b/public/emoji/1f954.svg
index 15d99ff47..4f3744519 100644
--- a/public/emoji/1f954.svg
+++ b/public/emoji/1f954.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f955.png b/public/emoji/1f955.png
deleted file mode 100644
index c68829b58..000000000
Binary files a/public/emoji/1f955.png and /dev/null differ
diff --git a/public/emoji/1f955.svg b/public/emoji/1f955.svg
index 468c7a216..cf125d4f1 100644
--- a/public/emoji/1f955.svg
+++ b/public/emoji/1f955.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f956.png b/public/emoji/1f956.png
deleted file mode 100644
index 4c2c56398..000000000
Binary files a/public/emoji/1f956.png and /dev/null differ
diff --git a/public/emoji/1f956.svg b/public/emoji/1f956.svg
index dc1e86fc3..4e00b5746 100644
--- a/public/emoji/1f956.svg
+++ b/public/emoji/1f956.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f957.png b/public/emoji/1f957.png
deleted file mode 100644
index c89f93411..000000000
Binary files a/public/emoji/1f957.png and /dev/null differ
diff --git a/public/emoji/1f957.svg b/public/emoji/1f957.svg
index e0a2a01ed..6368a14b4 100644
--- a/public/emoji/1f957.svg
+++ b/public/emoji/1f957.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f958.png b/public/emoji/1f958.png
deleted file mode 100644
index 663a1006a..000000000
Binary files a/public/emoji/1f958.png and /dev/null differ
diff --git a/public/emoji/1f958.svg b/public/emoji/1f958.svg
index 2062eae7f..a90551e1c 100644
--- a/public/emoji/1f958.svg
+++ b/public/emoji/1f958.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f959.png b/public/emoji/1f959.png
deleted file mode 100644
index a2e10df40..000000000
Binary files a/public/emoji/1f959.png and /dev/null differ
diff --git a/public/emoji/1f959.svg b/public/emoji/1f959.svg
index 8be63ab15..dcf10698f 100644
--- a/public/emoji/1f959.svg
+++ b/public/emoji/1f959.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95a.png b/public/emoji/1f95a.png
deleted file mode 100644
index c171974d9..000000000
Binary files a/public/emoji/1f95a.png and /dev/null differ
diff --git a/public/emoji/1f95a.svg b/public/emoji/1f95a.svg
index 005e3e6af..292ed7e8e 100644
--- a/public/emoji/1f95a.svg
+++ b/public/emoji/1f95a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95b.png b/public/emoji/1f95b.png
deleted file mode 100644
index e4fcf2e64..000000000
Binary files a/public/emoji/1f95b.png and /dev/null differ
diff --git a/public/emoji/1f95b.svg b/public/emoji/1f95b.svg
index 877c0521c..7157c078b 100644
--- a/public/emoji/1f95b.svg
+++ b/public/emoji/1f95b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95c.png b/public/emoji/1f95c.png
deleted file mode 100644
index b64fadad0..000000000
Binary files a/public/emoji/1f95c.png and /dev/null differ
diff --git a/public/emoji/1f95c.svg b/public/emoji/1f95c.svg
index 3866204ec..3f8f0244f 100644
--- a/public/emoji/1f95c.svg
+++ b/public/emoji/1f95c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95d.png b/public/emoji/1f95d.png
deleted file mode 100644
index dfbd82580..000000000
Binary files a/public/emoji/1f95d.png and /dev/null differ
diff --git a/public/emoji/1f95d.svg b/public/emoji/1f95d.svg
index d60d50f87..f25a06289 100644
--- a/public/emoji/1f95d.svg
+++ b/public/emoji/1f95d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95e.png b/public/emoji/1f95e.png
deleted file mode 100644
index 6223d1a28..000000000
Binary files a/public/emoji/1f95e.png and /dev/null differ
diff --git a/public/emoji/1f95e.svg b/public/emoji/1f95e.svg
index 603a3470d..1a1769b0c 100644
--- a/public/emoji/1f95e.svg
+++ b/public/emoji/1f95e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f95f.svg b/public/emoji/1f95f.svg
new file mode 100644
index 000000000..9044b3998
--- /dev/null
+++ b/public/emoji/1f95f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f960.svg b/public/emoji/1f960.svg
new file mode 100644
index 000000000..bc2052056
--- /dev/null
+++ b/public/emoji/1f960.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f961.svg b/public/emoji/1f961.svg
new file mode 100644
index 000000000..81fbe98f5
--- /dev/null
+++ b/public/emoji/1f961.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f962.svg b/public/emoji/1f962.svg
new file mode 100644
index 000000000..fc0317548
--- /dev/null
+++ b/public/emoji/1f962.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f963.svg b/public/emoji/1f963.svg
new file mode 100644
index 000000000..c5d61ee6c
--- /dev/null
+++ b/public/emoji/1f963.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f964.svg b/public/emoji/1f964.svg
new file mode 100644
index 000000000..a229dbbcd
--- /dev/null
+++ b/public/emoji/1f964.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f965.svg b/public/emoji/1f965.svg
new file mode 100644
index 000000000..d80d0d9f4
--- /dev/null
+++ b/public/emoji/1f965.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f966.svg b/public/emoji/1f966.svg
new file mode 100644
index 000000000..e0ae9476d
--- /dev/null
+++ b/public/emoji/1f966.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f967.svg b/public/emoji/1f967.svg
new file mode 100644
index 000000000..e4c0fc39a
--- /dev/null
+++ b/public/emoji/1f967.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f968.svg b/public/emoji/1f968.svg
new file mode 100644
index 000000000..7aaef3251
--- /dev/null
+++ b/public/emoji/1f968.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f969.svg b/public/emoji/1f969.svg
new file mode 100644
index 000000000..3b9d7741d
--- /dev/null
+++ b/public/emoji/1f969.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f96a.svg b/public/emoji/1f96a.svg
new file mode 100644
index 000000000..c708089af
--- /dev/null
+++ b/public/emoji/1f96a.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f96b.svg b/public/emoji/1f96b.svg
new file mode 100644
index 000000000..bef3815b1
--- /dev/null
+++ b/public/emoji/1f96b.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f980.png b/public/emoji/1f980.png
deleted file mode 100644
index 19f3047ab..000000000
Binary files a/public/emoji/1f980.png and /dev/null differ
diff --git a/public/emoji/1f980.svg b/public/emoji/1f980.svg
index 1f7936f4a..5c98af4a5 100644
--- a/public/emoji/1f980.svg
+++ b/public/emoji/1f980.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f981.png b/public/emoji/1f981.png
deleted file mode 100644
index 5062ab47e..000000000
Binary files a/public/emoji/1f981.png and /dev/null differ
diff --git a/public/emoji/1f981.svg b/public/emoji/1f981.svg
index 965e4ef21..51707e184 100644
--- a/public/emoji/1f981.svg
+++ b/public/emoji/1f981.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f982.png b/public/emoji/1f982.png
deleted file mode 100644
index 449a6b281..000000000
Binary files a/public/emoji/1f982.png and /dev/null differ
diff --git a/public/emoji/1f982.svg b/public/emoji/1f982.svg
index a1afc315c..c6c3fe93f 100644
--- a/public/emoji/1f982.svg
+++ b/public/emoji/1f982.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f983.png b/public/emoji/1f983.png
deleted file mode 100644
index 344af94c9..000000000
Binary files a/public/emoji/1f983.png and /dev/null differ
diff --git a/public/emoji/1f983.svg b/public/emoji/1f983.svg
index 59cc30fe3..c35118cc4 100644
--- a/public/emoji/1f983.svg
+++ b/public/emoji/1f983.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f984.png b/public/emoji/1f984.png
deleted file mode 100644
index 05a97969f..000000000
Binary files a/public/emoji/1f984.png and /dev/null differ
diff --git a/public/emoji/1f984.svg b/public/emoji/1f984.svg
index 507937d7a..a996b3861 100644
--- a/public/emoji/1f984.svg
+++ b/public/emoji/1f984.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f985.png b/public/emoji/1f985.png
deleted file mode 100644
index 4f277debe..000000000
Binary files a/public/emoji/1f985.png and /dev/null differ
diff --git a/public/emoji/1f985.svg b/public/emoji/1f985.svg
index afba6f983..c96b06e7a 100644
--- a/public/emoji/1f985.svg
+++ b/public/emoji/1f985.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f986.png b/public/emoji/1f986.png
deleted file mode 100644
index 74330b77c..000000000
Binary files a/public/emoji/1f986.png and /dev/null differ
diff --git a/public/emoji/1f986.svg b/public/emoji/1f986.svg
index ee80f71d8..d047b47cb 100644
--- a/public/emoji/1f986.svg
+++ b/public/emoji/1f986.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f987.png b/public/emoji/1f987.png
deleted file mode 100644
index 3152c047e..000000000
Binary files a/public/emoji/1f987.png and /dev/null differ
diff --git a/public/emoji/1f987.svg b/public/emoji/1f987.svg
index 77c26c984..2a7304792 100644
--- a/public/emoji/1f987.svg
+++ b/public/emoji/1f987.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f988.png b/public/emoji/1f988.png
deleted file mode 100644
index c75076d57..000000000
Binary files a/public/emoji/1f988.png and /dev/null differ
diff --git a/public/emoji/1f988.svg b/public/emoji/1f988.svg
index c1fffcd29..81409bbc4 100644
--- a/public/emoji/1f988.svg
+++ b/public/emoji/1f988.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f989.png b/public/emoji/1f989.png
deleted file mode 100644
index fa6815480..000000000
Binary files a/public/emoji/1f989.png and /dev/null differ
diff --git a/public/emoji/1f989.svg b/public/emoji/1f989.svg
index bde42fe1c..10a2cbaa2 100644
--- a/public/emoji/1f989.svg
+++ b/public/emoji/1f989.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98a.png b/public/emoji/1f98a.png
deleted file mode 100644
index 1ab339bf0..000000000
Binary files a/public/emoji/1f98a.png and /dev/null differ
diff --git a/public/emoji/1f98a.svg b/public/emoji/1f98a.svg
index 28f9072f5..8603d9180 100644
--- a/public/emoji/1f98a.svg
+++ b/public/emoji/1f98a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98b.png b/public/emoji/1f98b.png
deleted file mode 100644
index 5631fe992..000000000
Binary files a/public/emoji/1f98b.png and /dev/null differ
diff --git a/public/emoji/1f98b.svg b/public/emoji/1f98b.svg
index 794e94d39..457b722a5 100644
--- a/public/emoji/1f98b.svg
+++ b/public/emoji/1f98b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98c.png b/public/emoji/1f98c.png
deleted file mode 100644
index d8698195f..000000000
Binary files a/public/emoji/1f98c.png and /dev/null differ
diff --git a/public/emoji/1f98c.svg b/public/emoji/1f98c.svg
index a70a64169..5a753e0d1 100644
--- a/public/emoji/1f98c.svg
+++ b/public/emoji/1f98c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98d.png b/public/emoji/1f98d.png
deleted file mode 100644
index acc51e136..000000000
Binary files a/public/emoji/1f98d.png and /dev/null differ
diff --git a/public/emoji/1f98d.svg b/public/emoji/1f98d.svg
index 2c27214fd..8cf5a02bb 100644
--- a/public/emoji/1f98d.svg
+++ b/public/emoji/1f98d.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98e.png b/public/emoji/1f98e.png
deleted file mode 100644
index 836387605..000000000
Binary files a/public/emoji/1f98e.png and /dev/null differ
diff --git a/public/emoji/1f98e.svg b/public/emoji/1f98e.svg
index 4f15955db..21f1b5d27 100644
--- a/public/emoji/1f98e.svg
+++ b/public/emoji/1f98e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f98f.png b/public/emoji/1f98f.png
deleted file mode 100644
index 12f4e0d9d..000000000
Binary files a/public/emoji/1f98f.png and /dev/null differ
diff --git a/public/emoji/1f98f.svg b/public/emoji/1f98f.svg
index 7329b384e..cda2c04d0 100644
--- a/public/emoji/1f98f.svg
+++ b/public/emoji/1f98f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f990.png b/public/emoji/1f990.png
deleted file mode 100644
index 49eff28a7..000000000
Binary files a/public/emoji/1f990.png and /dev/null differ
diff --git a/public/emoji/1f990.svg b/public/emoji/1f990.svg
index 7cf07ad10..741d889d7 100644
--- a/public/emoji/1f990.svg
+++ b/public/emoji/1f990.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f991.png b/public/emoji/1f991.png
deleted file mode 100644
index d2af223f0..000000000
Binary files a/public/emoji/1f991.png and /dev/null differ
diff --git a/public/emoji/1f991.svg b/public/emoji/1f991.svg
index c7e876402..8ef80f8ff 100644
--- a/public/emoji/1f991.svg
+++ b/public/emoji/1f991.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f992.svg b/public/emoji/1f992.svg
new file mode 100644
index 000000000..5e43bb4a8
--- /dev/null
+++ b/public/emoji/1f992.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f993.svg b/public/emoji/1f993.svg
new file mode 100644
index 000000000..afec3170d
--- /dev/null
+++ b/public/emoji/1f993.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f994.svg b/public/emoji/1f994.svg
new file mode 100644
index 000000000..52361720c
--- /dev/null
+++ b/public/emoji/1f994.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f995.svg b/public/emoji/1f995.svg
new file mode 100644
index 000000000..c424c6a2e
--- /dev/null
+++ b/public/emoji/1f995.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f996.svg b/public/emoji/1f996.svg
new file mode 100644
index 000000000..71bb2c5f9
--- /dev/null
+++ b/public/emoji/1f996.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f997.svg b/public/emoji/1f997.svg
new file mode 100644
index 000000000..91ab418c9
--- /dev/null
+++ b/public/emoji/1f997.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9c0.png b/public/emoji/1f9c0.png
deleted file mode 100644
index 00e997622..000000000
Binary files a/public/emoji/1f9c0.png and /dev/null differ
diff --git a/public/emoji/1f9c0.svg b/public/emoji/1f9c0.svg
index 3cbd80968..a9ebf6ccc 100644
--- a/public/emoji/1f9c0.svg
+++ b/public/emoji/1f9c0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/1f9d0.svg b/public/emoji/1f9d0.svg
new file mode 100644
index 000000000..e07680481
--- /dev/null
+++ b/public/emoji/1f9d0.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1-1f3fb.svg b/public/emoji/1f9d1-1f3fb.svg
new file mode 100644
index 000000000..915e14171
--- /dev/null
+++ b/public/emoji/1f9d1-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1-1f3fc.svg b/public/emoji/1f9d1-1f3fc.svg
new file mode 100644
index 000000000..9872b9b89
--- /dev/null
+++ b/public/emoji/1f9d1-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1-1f3fd.svg b/public/emoji/1f9d1-1f3fd.svg
new file mode 100644
index 000000000..87ad5b532
--- /dev/null
+++ b/public/emoji/1f9d1-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1-1f3fe.svg b/public/emoji/1f9d1-1f3fe.svg
new file mode 100644
index 000000000..f63bc5a2a
--- /dev/null
+++ b/public/emoji/1f9d1-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1-1f3ff.svg b/public/emoji/1f9d1-1f3ff.svg
new file mode 100644
index 000000000..199a8bf44
--- /dev/null
+++ b/public/emoji/1f9d1-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d1.svg b/public/emoji/1f9d1.svg
new file mode 100644
index 000000000..18aae372f
--- /dev/null
+++ b/public/emoji/1f9d1.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2-1f3fb.svg b/public/emoji/1f9d2-1f3fb.svg
new file mode 100644
index 000000000..ee17b4cbe
--- /dev/null
+++ b/public/emoji/1f9d2-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2-1f3fc.svg b/public/emoji/1f9d2-1f3fc.svg
new file mode 100644
index 000000000..eb8dc7832
--- /dev/null
+++ b/public/emoji/1f9d2-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2-1f3fd.svg b/public/emoji/1f9d2-1f3fd.svg
new file mode 100644
index 000000000..6a202d60e
--- /dev/null
+++ b/public/emoji/1f9d2-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2-1f3fe.svg b/public/emoji/1f9d2-1f3fe.svg
new file mode 100644
index 000000000..b4cd560c4
--- /dev/null
+++ b/public/emoji/1f9d2-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2-1f3ff.svg b/public/emoji/1f9d2-1f3ff.svg
new file mode 100644
index 000000000..b805d80a9
--- /dev/null
+++ b/public/emoji/1f9d2-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d2.svg b/public/emoji/1f9d2.svg
new file mode 100644
index 000000000..f352b41dd
--- /dev/null
+++ b/public/emoji/1f9d2.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3-1f3fb.svg b/public/emoji/1f9d3-1f3fb.svg
new file mode 100644
index 000000000..6721beb4a
--- /dev/null
+++ b/public/emoji/1f9d3-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3-1f3fc.svg b/public/emoji/1f9d3-1f3fc.svg
new file mode 100644
index 000000000..ba61f7f16
--- /dev/null
+++ b/public/emoji/1f9d3-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3-1f3fd.svg b/public/emoji/1f9d3-1f3fd.svg
new file mode 100644
index 000000000..78868e3e0
--- /dev/null
+++ b/public/emoji/1f9d3-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3-1f3fe.svg b/public/emoji/1f9d3-1f3fe.svg
new file mode 100644
index 000000000..472ee9c7b
--- /dev/null
+++ b/public/emoji/1f9d3-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3-1f3ff.svg b/public/emoji/1f9d3-1f3ff.svg
new file mode 100644
index 000000000..efaff91a8
--- /dev/null
+++ b/public/emoji/1f9d3-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d3.svg b/public/emoji/1f9d3.svg
new file mode 100644
index 000000000..357601039
--- /dev/null
+++ b/public/emoji/1f9d3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4-1f3fb.svg b/public/emoji/1f9d4-1f3fb.svg
new file mode 100644
index 000000000..f4583cc92
--- /dev/null
+++ b/public/emoji/1f9d4-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4-1f3fc.svg b/public/emoji/1f9d4-1f3fc.svg
new file mode 100644
index 000000000..0b6de72fd
--- /dev/null
+++ b/public/emoji/1f9d4-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4-1f3fd.svg b/public/emoji/1f9d4-1f3fd.svg
new file mode 100644
index 000000000..413b79b82
--- /dev/null
+++ b/public/emoji/1f9d4-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4-1f3fe.svg b/public/emoji/1f9d4-1f3fe.svg
new file mode 100644
index 000000000..9f6dbcad7
--- /dev/null
+++ b/public/emoji/1f9d4-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4-1f3ff.svg b/public/emoji/1f9d4-1f3ff.svg
new file mode 100644
index 000000000..7da827765
--- /dev/null
+++ b/public/emoji/1f9d4-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d4.svg b/public/emoji/1f9d4.svg
new file mode 100644
index 000000000..8dc173356
--- /dev/null
+++ b/public/emoji/1f9d4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5-1f3fb.svg b/public/emoji/1f9d5-1f3fb.svg
new file mode 100644
index 000000000..c41266b7c
--- /dev/null
+++ b/public/emoji/1f9d5-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5-1f3fc.svg b/public/emoji/1f9d5-1f3fc.svg
new file mode 100644
index 000000000..0ee84dfcf
--- /dev/null
+++ b/public/emoji/1f9d5-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5-1f3fd.svg b/public/emoji/1f9d5-1f3fd.svg
new file mode 100644
index 000000000..bc4cac0dc
--- /dev/null
+++ b/public/emoji/1f9d5-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5-1f3fe.svg b/public/emoji/1f9d5-1f3fe.svg
new file mode 100644
index 000000000..aa5081bae
--- /dev/null
+++ b/public/emoji/1f9d5-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5-1f3ff.svg b/public/emoji/1f9d5-1f3ff.svg
new file mode 100644
index 000000000..827bfaf9d
--- /dev/null
+++ b/public/emoji/1f9d5-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d5.svg b/public/emoji/1f9d5.svg
new file mode 100644
index 000000000..6ddfb5a49
--- /dev/null
+++ b/public/emoji/1f9d5.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9a65636b3
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..5a623944a
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fb.svg b/public/emoji/1f9d6-1f3fb.svg
new file mode 100644
index 000000000..9a65636b3
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..435e88fe9
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d6f1beb07
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fc.svg b/public/emoji/1f9d6-1f3fc.svg
new file mode 100644
index 000000000..435e88fe9
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b7392561a
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..515cb688d
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fd.svg b/public/emoji/1f9d6-1f3fd.svg
new file mode 100644
index 000000000..b7392561a
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6d101a569
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e43dde27a
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3fe.svg b/public/emoji/1f9d6-1f3fe.svg
new file mode 100644
index 000000000..6d101a569
--- /dev/null
+++ b/public/emoji/1f9d6-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..205eb5747
--- /dev/null
+++ b/public/emoji/1f9d6-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f271c855f
--- /dev/null
+++ b/public/emoji/1f9d6-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-1f3ff.svg b/public/emoji/1f9d6-1f3ff.svg
new file mode 100644
index 000000000..205eb5747
--- /dev/null
+++ b/public/emoji/1f9d6-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-200d-2640-fe0f.svg b/public/emoji/1f9d6-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fea6a9391
--- /dev/null
+++ b/public/emoji/1f9d6-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6-200d-2642-fe0f.svg b/public/emoji/1f9d6-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d9c9c1534
--- /dev/null
+++ b/public/emoji/1f9d6-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d6.svg b/public/emoji/1f9d6.svg
new file mode 100644
index 000000000..fea6a9391
--- /dev/null
+++ b/public/emoji/1f9d6.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fca1a442a
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..144d2f4f5
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fb.svg b/public/emoji/1f9d7-1f3fb.svg
new file mode 100644
index 000000000..144d2f4f5
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..570da6962
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..fd28bf2f4
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fc.svg b/public/emoji/1f9d7-1f3fc.svg
new file mode 100644
index 000000000..fd28bf2f4
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8da25887c
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c4a08dab1
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fd.svg b/public/emoji/1f9d7-1f3fd.svg
new file mode 100644
index 000000000..c4a08dab1
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e0b694853
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..470762e1f
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3fe.svg b/public/emoji/1f9d7-1f3fe.svg
new file mode 100644
index 000000000..470762e1f
--- /dev/null
+++ b/public/emoji/1f9d7-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8856dc16e
--- /dev/null
+++ b/public/emoji/1f9d7-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..4bff51071
--- /dev/null
+++ b/public/emoji/1f9d7-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-1f3ff.svg b/public/emoji/1f9d7-1f3ff.svg
new file mode 100644
index 000000000..4bff51071
--- /dev/null
+++ b/public/emoji/1f9d7-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-200d-2640-fe0f.svg b/public/emoji/1f9d7-200d-2640-fe0f.svg
new file mode 100644
index 000000000..36f14c8cc
--- /dev/null
+++ b/public/emoji/1f9d7-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7-200d-2642-fe0f.svg b/public/emoji/1f9d7-200d-2642-fe0f.svg
new file mode 100644
index 000000000..95db1647f
--- /dev/null
+++ b/public/emoji/1f9d7-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d7.svg b/public/emoji/1f9d7.svg
new file mode 100644
index 000000000..95db1647f
--- /dev/null
+++ b/public/emoji/1f9d7.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8bd6178dc
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6a65728f4
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fb.svg b/public/emoji/1f9d8-1f3fb.svg
new file mode 100644
index 000000000..8bd6178dc
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..25eb489e3
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..426c5de95
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fc.svg b/public/emoji/1f9d8-1f3fc.svg
new file mode 100644
index 000000000..25eb489e3
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0f015f02d
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..8a15c2545
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fd.svg b/public/emoji/1f9d8-1f3fd.svg
new file mode 100644
index 000000000..0f015f02d
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..71f6a958d
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..ea2cd80cf
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3fe.svg b/public/emoji/1f9d8-1f3fe.svg
new file mode 100644
index 000000000..71f6a958d
--- /dev/null
+++ b/public/emoji/1f9d8-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0fcf4b16b
--- /dev/null
+++ b/public/emoji/1f9d8-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..bfbf1da80
--- /dev/null
+++ b/public/emoji/1f9d8-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-1f3ff.svg b/public/emoji/1f9d8-1f3ff.svg
new file mode 100644
index 000000000..0fcf4b16b
--- /dev/null
+++ b/public/emoji/1f9d8-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-200d-2640-fe0f.svg b/public/emoji/1f9d8-200d-2640-fe0f.svg
new file mode 100644
index 000000000..344e7ce05
--- /dev/null
+++ b/public/emoji/1f9d8-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8-200d-2642-fe0f.svg b/public/emoji/1f9d8-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6e6ffdd62
--- /dev/null
+++ b/public/emoji/1f9d8-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d8.svg b/public/emoji/1f9d8.svg
new file mode 100644
index 000000000..344e7ce05
--- /dev/null
+++ b/public/emoji/1f9d8.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b0960fa6e
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..471099511
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fb.svg b/public/emoji/1f9d9-1f3fb.svg
new file mode 100644
index 000000000..471099511
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..111b4d80f
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..d82ff1c2d
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fc.svg b/public/emoji/1f9d9-1f3fc.svg
new file mode 100644
index 000000000..d82ff1c2d
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..0899b523c
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..05564a9bf
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fd.svg b/public/emoji/1f9d9-1f3fd.svg
new file mode 100644
index 000000000..05564a9bf
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..6bfe7c68f
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9db533994
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3fe.svg b/public/emoji/1f9d9-1f3fe.svg
new file mode 100644
index 000000000..9db533994
--- /dev/null
+++ b/public/emoji/1f9d9-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4c4a326d0
--- /dev/null
+++ b/public/emoji/1f9d9-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2967e532f
--- /dev/null
+++ b/public/emoji/1f9d9-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-1f3ff.svg b/public/emoji/1f9d9-1f3ff.svg
new file mode 100644
index 000000000..2967e532f
--- /dev/null
+++ b/public/emoji/1f9d9-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-200d-2640-fe0f.svg b/public/emoji/1f9d9-200d-2640-fe0f.svg
new file mode 100644
index 000000000..95b8b5f7b
--- /dev/null
+++ b/public/emoji/1f9d9-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9-200d-2642-fe0f.svg b/public/emoji/1f9d9-200d-2642-fe0f.svg
new file mode 100644
index 000000000..814783e13
--- /dev/null
+++ b/public/emoji/1f9d9-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9d9.svg b/public/emoji/1f9d9.svg
new file mode 100644
index 000000000..814783e13
--- /dev/null
+++ b/public/emoji/1f9d9.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9da-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ca2a9a021
--- /dev/null
+++ b/public/emoji/1f9da-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9da-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..a2a8c0ec3
--- /dev/null
+++ b/public/emoji/1f9da-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fb.svg b/public/emoji/1f9da-1f3fb.svg
new file mode 100644
index 000000000..ca2a9a021
--- /dev/null
+++ b/public/emoji/1f9da-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9da-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e7a265717
--- /dev/null
+++ b/public/emoji/1f9da-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9da-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f832ccb7a
--- /dev/null
+++ b/public/emoji/1f9da-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fc.svg b/public/emoji/1f9da-1f3fc.svg
new file mode 100644
index 000000000..e7a265717
--- /dev/null
+++ b/public/emoji/1f9da-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9da-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..1cf49450f
--- /dev/null
+++ b/public/emoji/1f9da-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9da-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..11393bdf7
--- /dev/null
+++ b/public/emoji/1f9da-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fd.svg b/public/emoji/1f9da-1f3fd.svg
new file mode 100644
index 000000000..1cf49450f
--- /dev/null
+++ b/public/emoji/1f9da-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9da-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..c79b2ff9c
--- /dev/null
+++ b/public/emoji/1f9da-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9da-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7393eedaa
--- /dev/null
+++ b/public/emoji/1f9da-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3fe.svg b/public/emoji/1f9da-1f3fe.svg
new file mode 100644
index 000000000..c79b2ff9c
--- /dev/null
+++ b/public/emoji/1f9da-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9da-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fa73e9e79
--- /dev/null
+++ b/public/emoji/1f9da-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9da-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..7b23d046a
--- /dev/null
+++ b/public/emoji/1f9da-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-1f3ff.svg b/public/emoji/1f9da-1f3ff.svg
new file mode 100644
index 000000000..fa73e9e79
--- /dev/null
+++ b/public/emoji/1f9da-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-200d-2640-fe0f.svg b/public/emoji/1f9da-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9a0b3b4c5
--- /dev/null
+++ b/public/emoji/1f9da-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da-200d-2642-fe0f.svg b/public/emoji/1f9da-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3634760fc
--- /dev/null
+++ b/public/emoji/1f9da-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9da.svg b/public/emoji/1f9da.svg
new file mode 100644
index 000000000..9a0b3b4c5
--- /dev/null
+++ b/public/emoji/1f9da.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9db-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..b32bfd5ba
--- /dev/null
+++ b/public/emoji/1f9db-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9db-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6a2e57e6c
--- /dev/null
+++ b/public/emoji/1f9db-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fb.svg b/public/emoji/1f9db-1f3fb.svg
new file mode 100644
index 000000000..6a2e57e6c
--- /dev/null
+++ b/public/emoji/1f9db-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9db-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5b45c6a5d
--- /dev/null
+++ b/public/emoji/1f9db-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9db-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..977d04020
--- /dev/null
+++ b/public/emoji/1f9db-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fc.svg b/public/emoji/1f9db-1f3fc.svg
new file mode 100644
index 000000000..977d04020
--- /dev/null
+++ b/public/emoji/1f9db-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9db-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..f4b3aea67
--- /dev/null
+++ b/public/emoji/1f9db-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9db-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..97a93aac0
--- /dev/null
+++ b/public/emoji/1f9db-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fd.svg b/public/emoji/1f9db-1f3fd.svg
new file mode 100644
index 000000000..97a93aac0
--- /dev/null
+++ b/public/emoji/1f9db-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9db-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..70aa844e9
--- /dev/null
+++ b/public/emoji/1f9db-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9db-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..6afba45ce
--- /dev/null
+++ b/public/emoji/1f9db-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3fe.svg b/public/emoji/1f9db-1f3fe.svg
new file mode 100644
index 000000000..6afba45ce
--- /dev/null
+++ b/public/emoji/1f9db-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9db-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..532b32ce1
--- /dev/null
+++ b/public/emoji/1f9db-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9db-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..30adcd864
--- /dev/null
+++ b/public/emoji/1f9db-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-1f3ff.svg b/public/emoji/1f9db-1f3ff.svg
new file mode 100644
index 000000000..30adcd864
--- /dev/null
+++ b/public/emoji/1f9db-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-200d-2640-fe0f.svg b/public/emoji/1f9db-200d-2640-fe0f.svg
new file mode 100644
index 000000000..d0aa04d0d
--- /dev/null
+++ b/public/emoji/1f9db-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db-200d-2642-fe0f.svg b/public/emoji/1f9db-200d-2642-fe0f.svg
new file mode 100644
index 000000000..9719a1de4
--- /dev/null
+++ b/public/emoji/1f9db-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9db.svg b/public/emoji/1f9db.svg
new file mode 100644
index 000000000..9719a1de4
--- /dev/null
+++ b/public/emoji/1f9db.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..e237ae292
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c6d8341d5
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fb.svg b/public/emoji/1f9dc-1f3fb.svg
new file mode 100644
index 000000000..e237ae292
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..319816882
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..fd1d1b6dd
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fc.svg b/public/emoji/1f9dc-1f3fc.svg
new file mode 100644
index 000000000..319816882
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..29ae6e9a2
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c71ebcaf0
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fd.svg b/public/emoji/1f9dc-1f3fd.svg
new file mode 100644
index 000000000..29ae6e9a2
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..4d74cce5c
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..33a722853
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3fe.svg b/public/emoji/1f9dc-1f3fe.svg
new file mode 100644
index 000000000..4d74cce5c
--- /dev/null
+++ b/public/emoji/1f9dc-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..abdd82796
--- /dev/null
+++ b/public/emoji/1f9dc-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..51b1d082e
--- /dev/null
+++ b/public/emoji/1f9dc-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-1f3ff.svg b/public/emoji/1f9dc-1f3ff.svg
new file mode 100644
index 000000000..abdd82796
--- /dev/null
+++ b/public/emoji/1f9dc-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-200d-2640-fe0f.svg b/public/emoji/1f9dc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..ce3976137
--- /dev/null
+++ b/public/emoji/1f9dc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc-200d-2642-fe0f.svg b/public/emoji/1f9dc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..2fc5df524
--- /dev/null
+++ b/public/emoji/1f9dc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dc.svg b/public/emoji/1f9dc.svg
new file mode 100644
index 000000000..ce3976137
--- /dev/null
+++ b/public/emoji/1f9dc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg b/public/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5214ac009
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg b/public/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..84d9dd8f5
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fb.svg b/public/emoji/1f9dd-1f3fb.svg
new file mode 100644
index 000000000..84d9dd8f5
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg b/public/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fe418bcac
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg b/public/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..3399fdde4
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fc.svg b/public/emoji/1f9dd-1f3fc.svg
new file mode 100644
index 000000000..3399fdde4
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg b/public/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..fc11d24c6
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg b/public/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..181feba5a
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fd.svg b/public/emoji/1f9dd-1f3fd.svg
new file mode 100644
index 000000000..181feba5a
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg b/public/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..5c0123f83
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg b/public/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..f7b2c321e
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3fe.svg b/public/emoji/1f9dd-1f3fe.svg
new file mode 100644
index 000000000..f7b2c321e
--- /dev/null
+++ b/public/emoji/1f9dd-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg b/public/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..9b6f37fb0
--- /dev/null
+++ b/public/emoji/1f9dd-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg b/public/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c05267d4b
--- /dev/null
+++ b/public/emoji/1f9dd-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-1f3ff.svg b/public/emoji/1f9dd-1f3ff.svg
new file mode 100644
index 000000000..c05267d4b
--- /dev/null
+++ b/public/emoji/1f9dd-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-200d-2640-fe0f.svg b/public/emoji/1f9dd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..49c6a4ba9
--- /dev/null
+++ b/public/emoji/1f9dd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd-200d-2642-fe0f.svg b/public/emoji/1f9dd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..c9714d2a9
--- /dev/null
+++ b/public/emoji/1f9dd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9dd.svg b/public/emoji/1f9dd.svg
new file mode 100644
index 000000000..c9714d2a9
--- /dev/null
+++ b/public/emoji/1f9dd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9de-200d-2640-fe0f.svg b/public/emoji/1f9de-200d-2640-fe0f.svg
new file mode 100644
index 000000000..dfcd6d61c
--- /dev/null
+++ b/public/emoji/1f9de-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9de-200d-2642-fe0f.svg b/public/emoji/1f9de-200d-2642-fe0f.svg
new file mode 100644
index 000000000..030152363
--- /dev/null
+++ b/public/emoji/1f9de-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9de.svg b/public/emoji/1f9de.svg
new file mode 100644
index 000000000..030152363
--- /dev/null
+++ b/public/emoji/1f9de.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9df-200d-2640-fe0f.svg b/public/emoji/1f9df-200d-2640-fe0f.svg
new file mode 100644
index 000000000..deb582f56
--- /dev/null
+++ b/public/emoji/1f9df-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9df-200d-2642-fe0f.svg b/public/emoji/1f9df-200d-2642-fe0f.svg
new file mode 100644
index 000000000..60e086314
--- /dev/null
+++ b/public/emoji/1f9df-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9df.svg b/public/emoji/1f9df.svg
new file mode 100644
index 000000000..60e086314
--- /dev/null
+++ b/public/emoji/1f9df.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e0.svg b/public/emoji/1f9e0.svg
new file mode 100644
index 000000000..df291e740
--- /dev/null
+++ b/public/emoji/1f9e0.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e1.svg b/public/emoji/1f9e1.svg
new file mode 100644
index 000000000..2a35e7788
--- /dev/null
+++ b/public/emoji/1f9e1.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e2.svg b/public/emoji/1f9e2.svg
new file mode 100644
index 000000000..68e9079ff
--- /dev/null
+++ b/public/emoji/1f9e2.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e3.svg b/public/emoji/1f9e3.svg
new file mode 100644
index 000000000..09643e41a
--- /dev/null
+++ b/public/emoji/1f9e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e4.svg b/public/emoji/1f9e4.svg
new file mode 100644
index 000000000..4f34ac565
--- /dev/null
+++ b/public/emoji/1f9e4.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e5.svg b/public/emoji/1f9e5.svg
new file mode 100644
index 000000000..778d9dc87
--- /dev/null
+++ b/public/emoji/1f9e5.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/1f9e6.svg b/public/emoji/1f9e6.svg
new file mode 100644
index 000000000..a9ccf1e84
--- /dev/null
+++ b/public/emoji/1f9e6.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/203c.png b/public/emoji/203c.png
deleted file mode 100644
index 58a9c528f..000000000
Binary files a/public/emoji/203c.png and /dev/null differ
diff --git a/public/emoji/203c.svg b/public/emoji/203c.svg
index 7d2d0dfd1..955e9dc6a 100644
--- a/public/emoji/203c.svg
+++ b/public/emoji/203c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2049.png b/public/emoji/2049.png
deleted file mode 100644
index 509813e9b..000000000
Binary files a/public/emoji/2049.png and /dev/null differ
diff --git a/public/emoji/2049.svg b/public/emoji/2049.svg
index b39038bb0..457aab8ea 100644
--- a/public/emoji/2049.svg
+++ b/public/emoji/2049.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2122.png b/public/emoji/2122.png
deleted file mode 100644
index 7a0c44a2c..000000000
Binary files a/public/emoji/2122.png and /dev/null differ
diff --git a/public/emoji/2122.svg b/public/emoji/2122.svg
index 321c2026e..554777689 100644
--- a/public/emoji/2122.svg
+++ b/public/emoji/2122.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2139.png b/public/emoji/2139.png
deleted file mode 100644
index 871f2db93..000000000
Binary files a/public/emoji/2139.png and /dev/null differ
diff --git a/public/emoji/2139.svg b/public/emoji/2139.svg
index 93e13a8aa..cc2df8c69 100644
--- a/public/emoji/2139.svg
+++ b/public/emoji/2139.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2194.png b/public/emoji/2194.png
deleted file mode 100644
index 7937f24f2..000000000
Binary files a/public/emoji/2194.png and /dev/null differ
diff --git a/public/emoji/2194.svg b/public/emoji/2194.svg
index 8ffc7d1db..7f97d90c9 100644
--- a/public/emoji/2194.svg
+++ b/public/emoji/2194.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2195.png b/public/emoji/2195.png
deleted file mode 100644
index dfa32b971..000000000
Binary files a/public/emoji/2195.png and /dev/null differ
diff --git a/public/emoji/2195.svg b/public/emoji/2195.svg
index 803b79d38..afe63739c 100644
--- a/public/emoji/2195.svg
+++ b/public/emoji/2195.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2196.png b/public/emoji/2196.png
deleted file mode 100644
index f38718fbe..000000000
Binary files a/public/emoji/2196.png and /dev/null differ
diff --git a/public/emoji/2196.svg b/public/emoji/2196.svg
index 7049c485f..9c3ce342c 100644
--- a/public/emoji/2196.svg
+++ b/public/emoji/2196.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2197.png b/public/emoji/2197.png
deleted file mode 100644
index c43e12d0f..000000000
Binary files a/public/emoji/2197.png and /dev/null differ
diff --git a/public/emoji/2197.svg b/public/emoji/2197.svg
index 73cc6a7e5..4982e3790 100644
--- a/public/emoji/2197.svg
+++ b/public/emoji/2197.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2198.png b/public/emoji/2198.png
deleted file mode 100644
index 7e807da73..000000000
Binary files a/public/emoji/2198.png and /dev/null differ
diff --git a/public/emoji/2198.svg b/public/emoji/2198.svg
index 7a5e9677f..92a863884 100644
--- a/public/emoji/2198.svg
+++ b/public/emoji/2198.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2199.png b/public/emoji/2199.png
deleted file mode 100644
index 88b377160..000000000
Binary files a/public/emoji/2199.png and /dev/null differ
diff --git a/public/emoji/2199.svg b/public/emoji/2199.svg
index 29c946425..a0753f6be 100644
--- a/public/emoji/2199.svg
+++ b/public/emoji/2199.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/21a9.png b/public/emoji/21a9.png
deleted file mode 100644
index ba45c2ad9..000000000
Binary files a/public/emoji/21a9.png and /dev/null differ
diff --git a/public/emoji/21a9.svg b/public/emoji/21a9.svg
index 03a61def7..b9a5f5991 100644
--- a/public/emoji/21a9.svg
+++ b/public/emoji/21a9.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/21aa.png b/public/emoji/21aa.png
deleted file mode 100644
index e7258ad32..000000000
Binary files a/public/emoji/21aa.png and /dev/null differ
diff --git a/public/emoji/21aa.svg b/public/emoji/21aa.svg
index fd4773fd2..d7ecd3656 100644
--- a/public/emoji/21aa.svg
+++ b/public/emoji/21aa.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23-20e3.svg b/public/emoji/23-20e3.svg
new file mode 100644
index 000000000..6ec375024
--- /dev/null
+++ b/public/emoji/23-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/231a.png b/public/emoji/231a.png
deleted file mode 100644
index 64819bc6e..000000000
Binary files a/public/emoji/231a.png and /dev/null differ
diff --git a/public/emoji/231a.svg b/public/emoji/231a.svg
index 31cbd09c9..218360901 100644
--- a/public/emoji/231a.svg
+++ b/public/emoji/231a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/231b.png b/public/emoji/231b.png
deleted file mode 100644
index a5db2d1d3..000000000
Binary files a/public/emoji/231b.png and /dev/null differ
diff --git a/public/emoji/231b.svg b/public/emoji/231b.svg
index 18acf0a3e..4c001222d 100644
--- a/public/emoji/231b.svg
+++ b/public/emoji/231b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2328.png b/public/emoji/2328.png
deleted file mode 100644
index 75027cb9a..000000000
Binary files a/public/emoji/2328.png and /dev/null differ
diff --git a/public/emoji/2328.svg b/public/emoji/2328.svg
index c282cf73f..1004347b0 100644
--- a/public/emoji/2328.svg
+++ b/public/emoji/2328.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23cf.png b/public/emoji/23cf.png
deleted file mode 100644
index ec5cfc489..000000000
Binary files a/public/emoji/23cf.png and /dev/null differ
diff --git a/public/emoji/23cf.svg b/public/emoji/23cf.svg
index 2229e4437..c85f114fa 100644
--- a/public/emoji/23cf.svg
+++ b/public/emoji/23cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23e9.png b/public/emoji/23e9.png
deleted file mode 100644
index c406fedfd..000000000
Binary files a/public/emoji/23e9.png and /dev/null differ
diff --git a/public/emoji/23e9.svg b/public/emoji/23e9.svg
index 60d4f822a..9bbfc6fcb 100644
--- a/public/emoji/23e9.svg
+++ b/public/emoji/23e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23ea.png b/public/emoji/23ea.png
deleted file mode 100644
index e22e2bd3d..000000000
Binary files a/public/emoji/23ea.png and /dev/null differ
diff --git a/public/emoji/23ea.svg b/public/emoji/23ea.svg
index 2530af199..65c35a904 100644
--- a/public/emoji/23ea.svg
+++ b/public/emoji/23ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23eb.png b/public/emoji/23eb.png
deleted file mode 100644
index 13543d5ee..000000000
Binary files a/public/emoji/23eb.png and /dev/null differ
diff --git a/public/emoji/23eb.svg b/public/emoji/23eb.svg
index fcc82a94e..b045d9035 100644
--- a/public/emoji/23eb.svg
+++ b/public/emoji/23eb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23ec.png b/public/emoji/23ec.png
deleted file mode 100644
index 90193bfcb..000000000
Binary files a/public/emoji/23ec.png and /dev/null differ
diff --git a/public/emoji/23ec.svg b/public/emoji/23ec.svg
index 17d697dfe..8c258ce46 100644
--- a/public/emoji/23ec.svg
+++ b/public/emoji/23ec.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23ed.png b/public/emoji/23ed.png
deleted file mode 100644
index f8880d33b..000000000
Binary files a/public/emoji/23ed.png and /dev/null differ
diff --git a/public/emoji/23ed.svg b/public/emoji/23ed.svg
index 4202a012d..179100aa3 100644
--- a/public/emoji/23ed.svg
+++ b/public/emoji/23ed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23ee.png b/public/emoji/23ee.png
deleted file mode 100644
index 1ffd0566c..000000000
Binary files a/public/emoji/23ee.png and /dev/null differ
diff --git a/public/emoji/23ee.svg b/public/emoji/23ee.svg
index e8d3c4ffe..7c69b690b 100644
--- a/public/emoji/23ee.svg
+++ b/public/emoji/23ee.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23ef.png b/public/emoji/23ef.png
deleted file mode 100644
index a9f857139..000000000
Binary files a/public/emoji/23ef.png and /dev/null differ
diff --git a/public/emoji/23ef.svg b/public/emoji/23ef.svg
index 2fc2c46d0..bdf3a2f04 100644
--- a/public/emoji/23ef.svg
+++ b/public/emoji/23ef.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f0.png b/public/emoji/23f0.png
deleted file mode 100644
index cdbc2fbb9..000000000
Binary files a/public/emoji/23f0.png and /dev/null differ
diff --git a/public/emoji/23f0.svg b/public/emoji/23f0.svg
index fe9861220..5c9c6c9f7 100644
--- a/public/emoji/23f0.svg
+++ b/public/emoji/23f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f1.png b/public/emoji/23f1.png
deleted file mode 100644
index 8fae1c9a8..000000000
Binary files a/public/emoji/23f1.png and /dev/null differ
diff --git a/public/emoji/23f1.svg b/public/emoji/23f1.svg
index 051d3d549..f7bab6c11 100644
--- a/public/emoji/23f1.svg
+++ b/public/emoji/23f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f2.png b/public/emoji/23f2.png
deleted file mode 100644
index 8a3be574c..000000000
Binary files a/public/emoji/23f2.png and /dev/null differ
diff --git a/public/emoji/23f2.svg b/public/emoji/23f2.svg
index c8f4446e0..d5fd91b47 100644
--- a/public/emoji/23f2.svg
+++ b/public/emoji/23f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f3.png b/public/emoji/23f3.png
deleted file mode 100644
index b93b15ed6..000000000
Binary files a/public/emoji/23f3.png and /dev/null differ
diff --git a/public/emoji/23f3.svg b/public/emoji/23f3.svg
index 803f93230..cab22a1f1 100644
--- a/public/emoji/23f3.svg
+++ b/public/emoji/23f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f8.png b/public/emoji/23f8.png
deleted file mode 100644
index 4f07e7ebf..000000000
Binary files a/public/emoji/23f8.png and /dev/null differ
diff --git a/public/emoji/23f8.svg b/public/emoji/23f8.svg
index 3247d55a8..9e8995e4c 100644
--- a/public/emoji/23f8.svg
+++ b/public/emoji/23f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23f9.png b/public/emoji/23f9.png
deleted file mode 100644
index cfa99988a..000000000
Binary files a/public/emoji/23f9.png and /dev/null differ
diff --git a/public/emoji/23f9.svg b/public/emoji/23f9.svg
index 874ad6dbc..608fd561f 100644
--- a/public/emoji/23f9.svg
+++ b/public/emoji/23f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/23fa.png b/public/emoji/23fa.png
deleted file mode 100644
index ada52830f..000000000
Binary files a/public/emoji/23fa.png and /dev/null differ
diff --git a/public/emoji/23fa.svg b/public/emoji/23fa.svg
index 668d68289..4583b10da 100644
--- a/public/emoji/23fa.svg
+++ b/public/emoji/23fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/24c2.png b/public/emoji/24c2.png
deleted file mode 100644
index 8a3506fc1..000000000
Binary files a/public/emoji/24c2.png and /dev/null differ
diff --git a/public/emoji/24c2.svg b/public/emoji/24c2.svg
index fbbf6f8ee..bd4ca96a7 100644
--- a/public/emoji/24c2.svg
+++ b/public/emoji/24c2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25aa.png b/public/emoji/25aa.png
deleted file mode 100644
index 48595d3e1..000000000
Binary files a/public/emoji/25aa.png and /dev/null differ
diff --git a/public/emoji/25aa.svg b/public/emoji/25aa.svg
index 2d0fa0a39..9d8c004aa 100644
--- a/public/emoji/25aa.svg
+++ b/public/emoji/25aa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25ab.png b/public/emoji/25ab.png
deleted file mode 100644
index d7ebdb0c0..000000000
Binary files a/public/emoji/25ab.png and /dev/null differ
diff --git a/public/emoji/25ab.svg b/public/emoji/25ab.svg
index ab1ec4d2e..2da27bef3 100644
--- a/public/emoji/25ab.svg
+++ b/public/emoji/25ab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25b6.png b/public/emoji/25b6.png
deleted file mode 100644
index 4e2b68285..000000000
Binary files a/public/emoji/25b6.png and /dev/null differ
diff --git a/public/emoji/25b6.svg b/public/emoji/25b6.svg
index f7ac18377..a208b0ec8 100644
--- a/public/emoji/25b6.svg
+++ b/public/emoji/25b6.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25c0.png b/public/emoji/25c0.png
deleted file mode 100644
index ee38e3b03..000000000
Binary files a/public/emoji/25c0.png and /dev/null differ
diff --git a/public/emoji/25c0.svg b/public/emoji/25c0.svg
index d67bffccf..99baa87e3 100644
--- a/public/emoji/25c0.svg
+++ b/public/emoji/25c0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25fb.png b/public/emoji/25fb.png
deleted file mode 100644
index 8daacf570..000000000
Binary files a/public/emoji/25fb.png and /dev/null differ
diff --git a/public/emoji/25fb.svg b/public/emoji/25fb.svg
index c3dd9d3f2..44c97a58f 100644
--- a/public/emoji/25fb.svg
+++ b/public/emoji/25fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25fc.png b/public/emoji/25fc.png
deleted file mode 100644
index 05a30a6aa..000000000
Binary files a/public/emoji/25fc.png and /dev/null differ
diff --git a/public/emoji/25fc.svg b/public/emoji/25fc.svg
index bf2f03016..b3cbc0ab3 100644
--- a/public/emoji/25fc.svg
+++ b/public/emoji/25fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25fd.png b/public/emoji/25fd.png
deleted file mode 100644
index ae8741267..000000000
Binary files a/public/emoji/25fd.png and /dev/null differ
diff --git a/public/emoji/25fd.svg b/public/emoji/25fd.svg
index 5f5ab3f58..0d86db171 100644
--- a/public/emoji/25fd.svg
+++ b/public/emoji/25fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/25fe.png b/public/emoji/25fe.png
deleted file mode 100644
index 39765bba6..000000000
Binary files a/public/emoji/25fe.png and /dev/null differ
diff --git a/public/emoji/25fe.svg b/public/emoji/25fe.svg
index b2a4c8150..0224ef0ae 100644
--- a/public/emoji/25fe.svg
+++ b/public/emoji/25fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2600.png b/public/emoji/2600.png
deleted file mode 100644
index fd521ae31..000000000
Binary files a/public/emoji/2600.png and /dev/null differ
diff --git a/public/emoji/2600.svg b/public/emoji/2600.svg
index aec6212d7..734d6d234 100644
--- a/public/emoji/2600.svg
+++ b/public/emoji/2600.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2601.png b/public/emoji/2601.png
deleted file mode 100644
index 5b4f57f77..000000000
Binary files a/public/emoji/2601.png and /dev/null differ
diff --git a/public/emoji/2601.svg b/public/emoji/2601.svg
index 3df7fa6e3..76dd8ef5b 100644
--- a/public/emoji/2601.svg
+++ b/public/emoji/2601.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2602.png b/public/emoji/2602.png
deleted file mode 100644
index 97fe859e7..000000000
Binary files a/public/emoji/2602.png and /dev/null differ
diff --git a/public/emoji/2602.svg b/public/emoji/2602.svg
index 2105cf10a..671213347 100644
--- a/public/emoji/2602.svg
+++ b/public/emoji/2602.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2603.png b/public/emoji/2603.png
deleted file mode 100644
index 896f28502..000000000
Binary files a/public/emoji/2603.png and /dev/null differ
diff --git a/public/emoji/2603.svg b/public/emoji/2603.svg
index 8bfcae8fe..0e3ce2260 100644
--- a/public/emoji/2603.svg
+++ b/public/emoji/2603.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2604.png b/public/emoji/2604.png
deleted file mode 100644
index a99751f79..000000000
Binary files a/public/emoji/2604.png and /dev/null differ
diff --git a/public/emoji/2604.svg b/public/emoji/2604.svg
index 7ad1c661d..3d525c4c5 100644
--- a/public/emoji/2604.svg
+++ b/public/emoji/2604.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/260e.png b/public/emoji/260e.png
deleted file mode 100644
index a1e69f566..000000000
Binary files a/public/emoji/260e.png and /dev/null differ
diff --git a/public/emoji/260e.svg b/public/emoji/260e.svg
index 2be32eb0a..f71c5595d 100644
--- a/public/emoji/260e.svg
+++ b/public/emoji/260e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2611.png b/public/emoji/2611.png
deleted file mode 100644
index 284d95738..000000000
Binary files a/public/emoji/2611.png and /dev/null differ
diff --git a/public/emoji/2611.svg b/public/emoji/2611.svg
index 42ff8d455..719f46c10 100644
--- a/public/emoji/2611.svg
+++ b/public/emoji/2611.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2614.png b/public/emoji/2614.png
deleted file mode 100644
index 5b35b7ff6..000000000
Binary files a/public/emoji/2614.png and /dev/null differ
diff --git a/public/emoji/2614.svg b/public/emoji/2614.svg
index 01ad0ed43..bdeb12e64 100644
--- a/public/emoji/2614.svg
+++ b/public/emoji/2614.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2615.png b/public/emoji/2615.png
deleted file mode 100644
index 553061471..000000000
Binary files a/public/emoji/2615.png and /dev/null differ
diff --git a/public/emoji/2615.svg b/public/emoji/2615.svg
index cd98ff4a2..974261208 100644
--- a/public/emoji/2615.svg
+++ b/public/emoji/2615.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2618.png b/public/emoji/2618.png
deleted file mode 100644
index f202aecfe..000000000
Binary files a/public/emoji/2618.png and /dev/null differ
diff --git a/public/emoji/2618.svg b/public/emoji/2618.svg
index d9a9acd47..f4b39ae44 100644
--- a/public/emoji/2618.svg
+++ b/public/emoji/2618.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d-1f3fb.png b/public/emoji/261d-1f3fb.png
deleted file mode 100644
index 6a9db21d6..000000000
Binary files a/public/emoji/261d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/261d-1f3fb.svg b/public/emoji/261d-1f3fb.svg
index 6a8b95a10..52bf74379 100644
--- a/public/emoji/261d-1f3fb.svg
+++ b/public/emoji/261d-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d-1f3fc.png b/public/emoji/261d-1f3fc.png
deleted file mode 100644
index 15aa9ea0e..000000000
Binary files a/public/emoji/261d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/261d-1f3fc.svg b/public/emoji/261d-1f3fc.svg
index d43f1a7b3..1c188d0e3 100644
--- a/public/emoji/261d-1f3fc.svg
+++ b/public/emoji/261d-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d-1f3fd.png b/public/emoji/261d-1f3fd.png
deleted file mode 100644
index 652b73a9c..000000000
Binary files a/public/emoji/261d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/261d-1f3fd.svg b/public/emoji/261d-1f3fd.svg
index c548d5dbb..b377f9f81 100644
--- a/public/emoji/261d-1f3fd.svg
+++ b/public/emoji/261d-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d-1f3fe.png b/public/emoji/261d-1f3fe.png
deleted file mode 100644
index 692bad926..000000000
Binary files a/public/emoji/261d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/261d-1f3fe.svg b/public/emoji/261d-1f3fe.svg
index 4b63a6b24..324f88f9c 100644
--- a/public/emoji/261d-1f3fe.svg
+++ b/public/emoji/261d-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d-1f3ff.png b/public/emoji/261d-1f3ff.png
deleted file mode 100644
index 1e1b10fb7..000000000
Binary files a/public/emoji/261d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/261d-1f3ff.svg b/public/emoji/261d-1f3ff.svg
index e422854ac..152227415 100644
--- a/public/emoji/261d-1f3ff.svg
+++ b/public/emoji/261d-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/261d.png b/public/emoji/261d.png
deleted file mode 100644
index f4978ff0f..000000000
Binary files a/public/emoji/261d.png and /dev/null differ
diff --git a/public/emoji/261d.svg b/public/emoji/261d.svg
index 2d47296e5..8d0720ac9 100644
--- a/public/emoji/261d.svg
+++ b/public/emoji/261d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2620.png b/public/emoji/2620.png
deleted file mode 100644
index b459df922..000000000
Binary files a/public/emoji/2620.png and /dev/null differ
diff --git a/public/emoji/2620.svg b/public/emoji/2620.svg
index c8858de6e..6275f091d 100644
--- a/public/emoji/2620.svg
+++ b/public/emoji/2620.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2622.png b/public/emoji/2622.png
deleted file mode 100644
index 3b46199fe..000000000
Binary files a/public/emoji/2622.png and /dev/null differ
diff --git a/public/emoji/2622.svg b/public/emoji/2622.svg
index b2068336e..22fe96a7b 100644
--- a/public/emoji/2622.svg
+++ b/public/emoji/2622.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2623.png b/public/emoji/2623.png
deleted file mode 100644
index 007b4fc2d..000000000
Binary files a/public/emoji/2623.png and /dev/null differ
diff --git a/public/emoji/2623.svg b/public/emoji/2623.svg
index 60a22e51b..2240cd6d9 100644
--- a/public/emoji/2623.svg
+++ b/public/emoji/2623.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2626.png b/public/emoji/2626.png
deleted file mode 100644
index 0530e33a4..000000000
Binary files a/public/emoji/2626.png and /dev/null differ
diff --git a/public/emoji/2626.svg b/public/emoji/2626.svg
index cc62ecdb0..a1fccfed4 100644
--- a/public/emoji/2626.svg
+++ b/public/emoji/2626.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/262a.png b/public/emoji/262a.png
deleted file mode 100644
index e18263645..000000000
Binary files a/public/emoji/262a.png and /dev/null differ
diff --git a/public/emoji/262a.svg b/public/emoji/262a.svg
index 87fd9c704..478d46894 100644
--- a/public/emoji/262a.svg
+++ b/public/emoji/262a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/262e.png b/public/emoji/262e.png
deleted file mode 100644
index 86033faf4..000000000
Binary files a/public/emoji/262e.png and /dev/null differ
diff --git a/public/emoji/262e.svg b/public/emoji/262e.svg
index 01a035a55..7ff833d39 100644
--- a/public/emoji/262e.svg
+++ b/public/emoji/262e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/262f.png b/public/emoji/262f.png
deleted file mode 100644
index f2900f633..000000000
Binary files a/public/emoji/262f.png and /dev/null differ
diff --git a/public/emoji/262f.svg b/public/emoji/262f.svg
index e232b6692..48aec61ae 100644
--- a/public/emoji/262f.svg
+++ b/public/emoji/262f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2638.png b/public/emoji/2638.png
deleted file mode 100644
index 3666db001..000000000
Binary files a/public/emoji/2638.png and /dev/null differ
diff --git a/public/emoji/2638.svg b/public/emoji/2638.svg
index 8c09aa21a..c65083aad 100644
--- a/public/emoji/2638.svg
+++ b/public/emoji/2638.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2639.png b/public/emoji/2639.png
deleted file mode 100644
index 6ae71f233..000000000
Binary files a/public/emoji/2639.png and /dev/null differ
diff --git a/public/emoji/2639.svg b/public/emoji/2639.svg
index ead0eb5b3..b6f0b04a2 100644
--- a/public/emoji/2639.svg
+++ b/public/emoji/2639.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/263a.png b/public/emoji/263a.png
deleted file mode 100644
index e9e53c03d..000000000
Binary files a/public/emoji/263a.png and /dev/null differ
diff --git a/public/emoji/263a.svg b/public/emoji/263a.svg
index f8a5cb762..2b358e7dc 100644
--- a/public/emoji/263a.svg
+++ b/public/emoji/263a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2640.svg b/public/emoji/2640.svg
new file mode 100644
index 000000000..9605f8023
--- /dev/null
+++ b/public/emoji/2640.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/2642.svg b/public/emoji/2642.svg
new file mode 100644
index 000000000..2eb7e7fc0
--- /dev/null
+++ b/public/emoji/2642.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/2648.png b/public/emoji/2648.png
deleted file mode 100644
index 21a189d0e..000000000
Binary files a/public/emoji/2648.png and /dev/null differ
diff --git a/public/emoji/2648.svg b/public/emoji/2648.svg
index f85279e57..bc556d9f4 100644
--- a/public/emoji/2648.svg
+++ b/public/emoji/2648.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2649.png b/public/emoji/2649.png
deleted file mode 100644
index b2a370df4..000000000
Binary files a/public/emoji/2649.png and /dev/null differ
diff --git a/public/emoji/2649.svg b/public/emoji/2649.svg
index a569cb32b..eca8d4a54 100644
--- a/public/emoji/2649.svg
+++ b/public/emoji/2649.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264a.png b/public/emoji/264a.png
deleted file mode 100644
index 1a09698cf..000000000
Binary files a/public/emoji/264a.png and /dev/null differ
diff --git a/public/emoji/264a.svg b/public/emoji/264a.svg
index f87603f68..954e211dc 100644
--- a/public/emoji/264a.svg
+++ b/public/emoji/264a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264b.png b/public/emoji/264b.png
deleted file mode 100644
index a64af07cb..000000000
Binary files a/public/emoji/264b.png and /dev/null differ
diff --git a/public/emoji/264b.svg b/public/emoji/264b.svg
index 703fda7ff..f8f82b780 100644
--- a/public/emoji/264b.svg
+++ b/public/emoji/264b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264c.png b/public/emoji/264c.png
deleted file mode 100644
index 30158d34d..000000000
Binary files a/public/emoji/264c.png and /dev/null differ
diff --git a/public/emoji/264c.svg b/public/emoji/264c.svg
index e5a2ad1c4..8529aac4e 100644
--- a/public/emoji/264c.svg
+++ b/public/emoji/264c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264d.png b/public/emoji/264d.png
deleted file mode 100644
index a6b56c2cb..000000000
Binary files a/public/emoji/264d.png and /dev/null differ
diff --git a/public/emoji/264d.svg b/public/emoji/264d.svg
index 24f569cc7..74919add4 100644
--- a/public/emoji/264d.svg
+++ b/public/emoji/264d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264e.png b/public/emoji/264e.png
deleted file mode 100644
index 8fd133a35..000000000
Binary files a/public/emoji/264e.png and /dev/null differ
diff --git a/public/emoji/264e.svg b/public/emoji/264e.svg
index a7c8e0a71..3879b8a68 100644
--- a/public/emoji/264e.svg
+++ b/public/emoji/264e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/264f.png b/public/emoji/264f.png
deleted file mode 100644
index c31a99204..000000000
Binary files a/public/emoji/264f.png and /dev/null differ
diff --git a/public/emoji/264f.svg b/public/emoji/264f.svg
index 78de283a6..b8a7bf8d6 100644
--- a/public/emoji/264f.svg
+++ b/public/emoji/264f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2650.png b/public/emoji/2650.png
deleted file mode 100644
index f8d94ff29..000000000
Binary files a/public/emoji/2650.png and /dev/null differ
diff --git a/public/emoji/2650.svg b/public/emoji/2650.svg
index 0e7fcde6e..a4d391290 100644
--- a/public/emoji/2650.svg
+++ b/public/emoji/2650.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2651.png b/public/emoji/2651.png
deleted file mode 100644
index 6293d31d4..000000000
Binary files a/public/emoji/2651.png and /dev/null differ
diff --git a/public/emoji/2651.svg b/public/emoji/2651.svg
index d63209655..7eabb46aa 100644
--- a/public/emoji/2651.svg
+++ b/public/emoji/2651.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2652.png b/public/emoji/2652.png
deleted file mode 100644
index 641a4f688..000000000
Binary files a/public/emoji/2652.png and /dev/null differ
diff --git a/public/emoji/2652.svg b/public/emoji/2652.svg
index 7b262f869..8644b787e 100644
--- a/public/emoji/2652.svg
+++ b/public/emoji/2652.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2653.png b/public/emoji/2653.png
deleted file mode 100644
index 7f6f646a9..000000000
Binary files a/public/emoji/2653.png and /dev/null differ
diff --git a/public/emoji/2653.svg b/public/emoji/2653.svg
index d50acfc89..c529897f8 100644
--- a/public/emoji/2653.svg
+++ b/public/emoji/2653.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2660.png b/public/emoji/2660.png
deleted file mode 100644
index f822f184c..000000000
Binary files a/public/emoji/2660.png and /dev/null differ
diff --git a/public/emoji/2660.svg b/public/emoji/2660.svg
index 0d9699bd5..687a3c150 100644
--- a/public/emoji/2660.svg
+++ b/public/emoji/2660.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2663.png b/public/emoji/2663.png
deleted file mode 100644
index 4f2abf791..000000000
Binary files a/public/emoji/2663.png and /dev/null differ
diff --git a/public/emoji/2663.svg b/public/emoji/2663.svg
index 2ee52dd62..d1afd90e1 100644
--- a/public/emoji/2663.svg
+++ b/public/emoji/2663.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2665.png b/public/emoji/2665.png
deleted file mode 100644
index 393c3ed52..000000000
Binary files a/public/emoji/2665.png and /dev/null differ
diff --git a/public/emoji/2665.svg b/public/emoji/2665.svg
index 6659eb13c..a4d85a512 100644
--- a/public/emoji/2665.svg
+++ b/public/emoji/2665.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2666.png b/public/emoji/2666.png
deleted file mode 100644
index 1f25f51f9..000000000
Binary files a/public/emoji/2666.png and /dev/null differ
diff --git a/public/emoji/2666.svg b/public/emoji/2666.svg
index 654b2f4b6..561a85b2f 100644
--- a/public/emoji/2666.svg
+++ b/public/emoji/2666.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2668.png b/public/emoji/2668.png
deleted file mode 100644
index 3d9df2d94..000000000
Binary files a/public/emoji/2668.png and /dev/null differ
diff --git a/public/emoji/2668.svg b/public/emoji/2668.svg
index e65cbcb1a..8aa2f4b6b 100644
--- a/public/emoji/2668.svg
+++ b/public/emoji/2668.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/267b.png b/public/emoji/267b.png
deleted file mode 100644
index 9221f095c..000000000
Binary files a/public/emoji/267b.png and /dev/null differ
diff --git a/public/emoji/267b.svg b/public/emoji/267b.svg
index 7d80b6fe7..118b9a7b9 100644
--- a/public/emoji/267b.svg
+++ b/public/emoji/267b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/267f.png b/public/emoji/267f.png
deleted file mode 100644
index 4e5b2698e..000000000
Binary files a/public/emoji/267f.png and /dev/null differ
diff --git a/public/emoji/267f.svg b/public/emoji/267f.svg
index 3ee86eb6c..a082dbd57 100644
--- a/public/emoji/267f.svg
+++ b/public/emoji/267f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2692.png b/public/emoji/2692.png
deleted file mode 100644
index 3bee30ec5..000000000
Binary files a/public/emoji/2692.png and /dev/null differ
diff --git a/public/emoji/2692.svg b/public/emoji/2692.svg
index 10516b7bf..0bb18a1ab 100644
--- a/public/emoji/2692.svg
+++ b/public/emoji/2692.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2693.png b/public/emoji/2693.png
deleted file mode 100644
index b036f70a0..000000000
Binary files a/public/emoji/2693.png and /dev/null differ
diff --git a/public/emoji/2693.svg b/public/emoji/2693.svg
index b5f5418d1..752c9d242 100644
--- a/public/emoji/2693.svg
+++ b/public/emoji/2693.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2694.png b/public/emoji/2694.png
deleted file mode 100644
index 907e96071..000000000
Binary files a/public/emoji/2694.png and /dev/null differ
diff --git a/public/emoji/2694.svg b/public/emoji/2694.svg
index 368fdc054..3fe031fe8 100644
--- a/public/emoji/2694.svg
+++ b/public/emoji/2694.svg
@@ -1,3 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2695.svg b/public/emoji/2695.svg
new file mode 100644
index 000000000..636f7ed26
--- /dev/null
+++ b/public/emoji/2695.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/2696.png b/public/emoji/2696.png
deleted file mode 100644
index 0757eda16..000000000
Binary files a/public/emoji/2696.png and /dev/null differ
diff --git a/public/emoji/2696.svg b/public/emoji/2696.svg
index c8042bbcb..77d5349ab 100644
--- a/public/emoji/2696.svg
+++ b/public/emoji/2696.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2697.png b/public/emoji/2697.png
deleted file mode 100644
index 307a73242..000000000
Binary files a/public/emoji/2697.png and /dev/null differ
diff --git a/public/emoji/2697.svg b/public/emoji/2697.svg
index 6e63dacb8..3e8b73d51 100644
--- a/public/emoji/2697.svg
+++ b/public/emoji/2697.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2699.png b/public/emoji/2699.png
deleted file mode 100644
index 2a1cc2c0f..000000000
Binary files a/public/emoji/2699.png and /dev/null differ
diff --git a/public/emoji/2699.svg b/public/emoji/2699.svg
index 9230ed01a..616e7960f 100644
--- a/public/emoji/2699.svg
+++ b/public/emoji/2699.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/269b.png b/public/emoji/269b.png
deleted file mode 100644
index 5f4567aa0..000000000
Binary files a/public/emoji/269b.png and /dev/null differ
diff --git a/public/emoji/269b.svg b/public/emoji/269b.svg
index 0b02d3cd4..67f33674f 100644
--- a/public/emoji/269b.svg
+++ b/public/emoji/269b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/269c.png b/public/emoji/269c.png
deleted file mode 100644
index c9250d27f..000000000
Binary files a/public/emoji/269c.png and /dev/null differ
diff --git a/public/emoji/269c.svg b/public/emoji/269c.svg
index ce5bad951..da380fdb0 100644
--- a/public/emoji/269c.svg
+++ b/public/emoji/269c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26a0.png b/public/emoji/26a0.png
deleted file mode 100644
index 35691c2ed..000000000
Binary files a/public/emoji/26a0.png and /dev/null differ
diff --git a/public/emoji/26a0.svg b/public/emoji/26a0.svg
index e6b14203c..81952f7d5 100644
--- a/public/emoji/26a0.svg
+++ b/public/emoji/26a0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26a1.png b/public/emoji/26a1.png
deleted file mode 100644
index 47e68e48e..000000000
Binary files a/public/emoji/26a1.png and /dev/null differ
diff --git a/public/emoji/26a1.svg b/public/emoji/26a1.svg
index ac811c568..2e816f437 100644
--- a/public/emoji/26a1.svg
+++ b/public/emoji/26a1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26aa.png b/public/emoji/26aa.png
deleted file mode 100644
index c19e15684..000000000
Binary files a/public/emoji/26aa.png and /dev/null differ
diff --git a/public/emoji/26aa.svg b/public/emoji/26aa.svg
index fb39d3ebb..edf7f0979 100644
--- a/public/emoji/26aa.svg
+++ b/public/emoji/26aa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26ab.png b/public/emoji/26ab.png
deleted file mode 100644
index b62b87170..000000000
Binary files a/public/emoji/26ab.png and /dev/null differ
diff --git a/public/emoji/26ab.svg b/public/emoji/26ab.svg
index 137a56b1f..c7f93882c 100644
--- a/public/emoji/26ab.svg
+++ b/public/emoji/26ab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26b0.png b/public/emoji/26b0.png
deleted file mode 100644
index fb2932aa5..000000000
Binary files a/public/emoji/26b0.png and /dev/null differ
diff --git a/public/emoji/26b0.svg b/public/emoji/26b0.svg
index 8fb8eb117..fb6a25276 100644
--- a/public/emoji/26b0.svg
+++ b/public/emoji/26b0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26b1.png b/public/emoji/26b1.png
deleted file mode 100644
index 6b5b35034..000000000
Binary files a/public/emoji/26b1.png and /dev/null differ
diff --git a/public/emoji/26b1.svg b/public/emoji/26b1.svg
index a752a3183..2bbe1e997 100644
--- a/public/emoji/26b1.svg
+++ b/public/emoji/26b1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26bd.png b/public/emoji/26bd.png
deleted file mode 100644
index 28cfa218d..000000000
Binary files a/public/emoji/26bd.png and /dev/null differ
diff --git a/public/emoji/26bd.svg b/public/emoji/26bd.svg
index dc2380edd..5aad1297f 100644
--- a/public/emoji/26bd.svg
+++ b/public/emoji/26bd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26be.png b/public/emoji/26be.png
deleted file mode 100644
index f8463f153..000000000
Binary files a/public/emoji/26be.png and /dev/null differ
diff --git a/public/emoji/26be.svg b/public/emoji/26be.svg
index efe314bc6..6e7f41028 100644
--- a/public/emoji/26be.svg
+++ b/public/emoji/26be.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26c4.png b/public/emoji/26c4.png
deleted file mode 100644
index 20c177c2a..000000000
Binary files a/public/emoji/26c4.png and /dev/null differ
diff --git a/public/emoji/26c4.svg b/public/emoji/26c4.svg
index 3d083f6ce..f202eaea4 100644
--- a/public/emoji/26c4.svg
+++ b/public/emoji/26c4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26c5.png b/public/emoji/26c5.png
deleted file mode 100644
index a55e59c34..000000000
Binary files a/public/emoji/26c5.png and /dev/null differ
diff --git a/public/emoji/26c5.svg b/public/emoji/26c5.svg
index ea9730cc1..d8d053b71 100644
--- a/public/emoji/26c5.svg
+++ b/public/emoji/26c5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26c8.png b/public/emoji/26c8.png
deleted file mode 100644
index 31a26a1b6..000000000
Binary files a/public/emoji/26c8.png and /dev/null differ
diff --git a/public/emoji/26c8.svg b/public/emoji/26c8.svg
index 03409bb69..86e3c01ca 100644
--- a/public/emoji/26c8.svg
+++ b/public/emoji/26c8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26ce.png b/public/emoji/26ce.png
deleted file mode 100644
index 0a780a700..000000000
Binary files a/public/emoji/26ce.png and /dev/null differ
diff --git a/public/emoji/26ce.svg b/public/emoji/26ce.svg
index bacb7e3e8..9fc2d99ce 100644
--- a/public/emoji/26ce.svg
+++ b/public/emoji/26ce.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26cf.png b/public/emoji/26cf.png
deleted file mode 100644
index 6370fe6d7..000000000
Binary files a/public/emoji/26cf.png and /dev/null differ
diff --git a/public/emoji/26cf.svg b/public/emoji/26cf.svg
index 3c30f7f3c..5e434df61 100644
--- a/public/emoji/26cf.svg
+++ b/public/emoji/26cf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26d1.png b/public/emoji/26d1.png
deleted file mode 100644
index 7140a6760..000000000
Binary files a/public/emoji/26d1.png and /dev/null differ
diff --git a/public/emoji/26d1.svg b/public/emoji/26d1.svg
index bcdd92d68..3ab886e57 100644
--- a/public/emoji/26d1.svg
+++ b/public/emoji/26d1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26d3.png b/public/emoji/26d3.png
deleted file mode 100644
index 57f46139a..000000000
Binary files a/public/emoji/26d3.png and /dev/null differ
diff --git a/public/emoji/26d3.svg b/public/emoji/26d3.svg
index a34973b8c..636fc4edc 100644
--- a/public/emoji/26d3.svg
+++ b/public/emoji/26d3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26d4.png b/public/emoji/26d4.png
deleted file mode 100644
index 476800fc5..000000000
Binary files a/public/emoji/26d4.png and /dev/null differ
diff --git a/public/emoji/26d4.svg b/public/emoji/26d4.svg
index 61545291b..433994c94 100644
--- a/public/emoji/26d4.svg
+++ b/public/emoji/26d4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26e9.png b/public/emoji/26e9.png
deleted file mode 100644
index 5a344975b..000000000
Binary files a/public/emoji/26e9.png and /dev/null differ
diff --git a/public/emoji/26e9.svg b/public/emoji/26e9.svg
index 570b46d89..28a4e20e4 100644
--- a/public/emoji/26e9.svg
+++ b/public/emoji/26e9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26ea.png b/public/emoji/26ea.png
deleted file mode 100644
index 8242fd272..000000000
Binary files a/public/emoji/26ea.png and /dev/null differ
diff --git a/public/emoji/26ea.svg b/public/emoji/26ea.svg
index 6d8236c25..66daae973 100644
--- a/public/emoji/26ea.svg
+++ b/public/emoji/26ea.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f0.png b/public/emoji/26f0.png
deleted file mode 100644
index 6722ebdd2..000000000
Binary files a/public/emoji/26f0.png and /dev/null differ
diff --git a/public/emoji/26f0.svg b/public/emoji/26f0.svg
index ae954cfb0..25a3d7608 100644
--- a/public/emoji/26f0.svg
+++ b/public/emoji/26f0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f1.png b/public/emoji/26f1.png
deleted file mode 100644
index 220a74f81..000000000
Binary files a/public/emoji/26f1.png and /dev/null differ
diff --git a/public/emoji/26f1.svg b/public/emoji/26f1.svg
index 641b4551d..582dceb0d 100644
--- a/public/emoji/26f1.svg
+++ b/public/emoji/26f1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f2.png b/public/emoji/26f2.png
deleted file mode 100644
index 293f5d91c..000000000
Binary files a/public/emoji/26f2.png and /dev/null differ
diff --git a/public/emoji/26f2.svg b/public/emoji/26f2.svg
index 377ecf842..b12362cbf 100644
--- a/public/emoji/26f2.svg
+++ b/public/emoji/26f2.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f3.png b/public/emoji/26f3.png
deleted file mode 100644
index f65a21d8a..000000000
Binary files a/public/emoji/26f3.png and /dev/null differ
diff --git a/public/emoji/26f3.svg b/public/emoji/26f3.svg
index cd35a12de..380db9ad1 100644
--- a/public/emoji/26f3.svg
+++ b/public/emoji/26f3.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f4.png b/public/emoji/26f4.png
deleted file mode 100644
index 41816b3ae..000000000
Binary files a/public/emoji/26f4.png and /dev/null differ
diff --git a/public/emoji/26f4.svg b/public/emoji/26f4.svg
index 306970ebc..ecdfb117e 100644
--- a/public/emoji/26f4.svg
+++ b/public/emoji/26f4.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f5.png b/public/emoji/26f5.png
deleted file mode 100644
index 772ef11da..000000000
Binary files a/public/emoji/26f5.png and /dev/null differ
diff --git a/public/emoji/26f5.svg b/public/emoji/26f5.svg
index e69f924b9..7cc9620fd 100644
--- a/public/emoji/26f5.svg
+++ b/public/emoji/26f5.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f7-1f3fb.svg b/public/emoji/26f7-1f3fb.svg
new file mode 100644
index 000000000..fb061e614
--- /dev/null
+++ b/public/emoji/26f7-1f3fb.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f7-1f3fc.svg b/public/emoji/26f7-1f3fc.svg
new file mode 100644
index 000000000..2dd9d8b6a
--- /dev/null
+++ b/public/emoji/26f7-1f3fc.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f7-1f3fd.svg b/public/emoji/26f7-1f3fd.svg
new file mode 100644
index 000000000..74313649b
--- /dev/null
+++ b/public/emoji/26f7-1f3fd.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f7-1f3fe.svg b/public/emoji/26f7-1f3fe.svg
new file mode 100644
index 000000000..665d80d24
--- /dev/null
+++ b/public/emoji/26f7-1f3fe.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f7-1f3ff.svg b/public/emoji/26f7-1f3ff.svg
new file mode 100644
index 000000000..125156eca
--- /dev/null
+++ b/public/emoji/26f7-1f3ff.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f7.png b/public/emoji/26f7.png
deleted file mode 100644
index 2eb3bdce2..000000000
Binary files a/public/emoji/26f7.png and /dev/null differ
diff --git a/public/emoji/26f7.svg b/public/emoji/26f7.svg
index a9fb9b84d..24a5ee2d7 100644
--- a/public/emoji/26f7.svg
+++ b/public/emoji/26f7.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f8.png b/public/emoji/26f8.png
deleted file mode 100644
index 8c449b0c0..000000000
Binary files a/public/emoji/26f8.png and /dev/null differ
diff --git a/public/emoji/26f8.svg b/public/emoji/26f8.svg
index 60adcaf3c..081c91946 100644
--- a/public/emoji/26f8.svg
+++ b/public/emoji/26f8.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fb-200d-2640-fe0f.svg b/public/emoji/26f9-1f3fb-200d-2640-fe0f.svg
new file mode 100644
index 000000000..aaa5e9b8d
--- /dev/null
+++ b/public/emoji/26f9-1f3fb-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fb-200d-2642-fe0f.svg b/public/emoji/26f9-1f3fb-200d-2642-fe0f.svg
new file mode 100644
index 000000000..e54effa50
--- /dev/null
+++ b/public/emoji/26f9-1f3fb-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fb.png b/public/emoji/26f9-1f3fb.png
deleted file mode 100644
index cd12c7ab9..000000000
Binary files a/public/emoji/26f9-1f3fb.png and /dev/null differ
diff --git a/public/emoji/26f9-1f3fb.svg b/public/emoji/26f9-1f3fb.svg
index 480994ca9..e54effa50 100644
--- a/public/emoji/26f9-1f3fb.svg
+++ b/public/emoji/26f9-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fc-200d-2640-fe0f.svg b/public/emoji/26f9-1f3fc-200d-2640-fe0f.svg
new file mode 100644
index 000000000..dcfff64d7
--- /dev/null
+++ b/public/emoji/26f9-1f3fc-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fc-200d-2642-fe0f.svg b/public/emoji/26f9-1f3fc-200d-2642-fe0f.svg
new file mode 100644
index 000000000..41e49a818
--- /dev/null
+++ b/public/emoji/26f9-1f3fc-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fc.png b/public/emoji/26f9-1f3fc.png
deleted file mode 100644
index f892fd596..000000000
Binary files a/public/emoji/26f9-1f3fc.png and /dev/null differ
diff --git a/public/emoji/26f9-1f3fc.svg b/public/emoji/26f9-1f3fc.svg
index dd18a65d3..41e49a818 100644
--- a/public/emoji/26f9-1f3fc.svg
+++ b/public/emoji/26f9-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fd-200d-2640-fe0f.svg b/public/emoji/26f9-1f3fd-200d-2640-fe0f.svg
new file mode 100644
index 000000000..3c67cdb51
--- /dev/null
+++ b/public/emoji/26f9-1f3fd-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fd-200d-2642-fe0f.svg b/public/emoji/26f9-1f3fd-200d-2642-fe0f.svg
new file mode 100644
index 000000000..25e93c8b5
--- /dev/null
+++ b/public/emoji/26f9-1f3fd-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fd.png b/public/emoji/26f9-1f3fd.png
deleted file mode 100644
index e109997a9..000000000
Binary files a/public/emoji/26f9-1f3fd.png and /dev/null differ
diff --git a/public/emoji/26f9-1f3fd.svg b/public/emoji/26f9-1f3fd.svg
index 0af260864..25e93c8b5 100644
--- a/public/emoji/26f9-1f3fd.svg
+++ b/public/emoji/26f9-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fe-200d-2640-fe0f.svg b/public/emoji/26f9-1f3fe-200d-2640-fe0f.svg
new file mode 100644
index 000000000..79ebd4eba
--- /dev/null
+++ b/public/emoji/26f9-1f3fe-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fe-200d-2642-fe0f.svg b/public/emoji/26f9-1f3fe-200d-2642-fe0f.svg
new file mode 100644
index 000000000..07ff37447
--- /dev/null
+++ b/public/emoji/26f9-1f3fe-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3fe.png b/public/emoji/26f9-1f3fe.png
deleted file mode 100644
index 3b90b946a..000000000
Binary files a/public/emoji/26f9-1f3fe.png and /dev/null differ
diff --git a/public/emoji/26f9-1f3fe.svg b/public/emoji/26f9-1f3fe.svg
index b0b9d3642..07ff37447 100644
--- a/public/emoji/26f9-1f3fe.svg
+++ b/public/emoji/26f9-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-1f3ff-200d-2640-fe0f.svg b/public/emoji/26f9-1f3ff-200d-2640-fe0f.svg
new file mode 100644
index 000000000..8976d8fd8
--- /dev/null
+++ b/public/emoji/26f9-1f3ff-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3ff-200d-2642-fe0f.svg b/public/emoji/26f9-1f3ff-200d-2642-fe0f.svg
new file mode 100644
index 000000000..1e4c96717
--- /dev/null
+++ b/public/emoji/26f9-1f3ff-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-1f3ff.png b/public/emoji/26f9-1f3ff.png
deleted file mode 100644
index bafed7828..000000000
Binary files a/public/emoji/26f9-1f3ff.png and /dev/null differ
diff --git a/public/emoji/26f9-1f3ff.svg b/public/emoji/26f9-1f3ff.svg
index f7ee9300d..1e4c96717 100644
--- a/public/emoji/26f9-1f3ff.svg
+++ b/public/emoji/26f9-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26f9-fe0f-200d-2640-fe0f.svg b/public/emoji/26f9-fe0f-200d-2640-fe0f.svg
new file mode 100644
index 000000000..72d0a9b23
--- /dev/null
+++ b/public/emoji/26f9-fe0f-200d-2640-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9-fe0f-200d-2642-fe0f.svg b/public/emoji/26f9-fe0f-200d-2642-fe0f.svg
new file mode 100644
index 000000000..28bef1b8d
--- /dev/null
+++ b/public/emoji/26f9-fe0f-200d-2642-fe0f.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/26f9.png b/public/emoji/26f9.png
deleted file mode 100644
index 8ce90c5ca..000000000
Binary files a/public/emoji/26f9.png and /dev/null differ
diff --git a/public/emoji/26f9.svg b/public/emoji/26f9.svg
index ad4502b14..28bef1b8d 100644
--- a/public/emoji/26f9.svg
+++ b/public/emoji/26f9.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26fa.png b/public/emoji/26fa.png
deleted file mode 100644
index 3fddcfc56..000000000
Binary files a/public/emoji/26fa.png and /dev/null differ
diff --git a/public/emoji/26fa.svg b/public/emoji/26fa.svg
index 73bb5136f..3fd15c467 100644
--- a/public/emoji/26fa.svg
+++ b/public/emoji/26fa.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/26fd.png b/public/emoji/26fd.png
deleted file mode 100644
index 05b187944..000000000
Binary files a/public/emoji/26fd.png and /dev/null differ
diff --git a/public/emoji/26fd.svg b/public/emoji/26fd.svg
index cfc136ba8..d234f20df 100644
--- a/public/emoji/26fd.svg
+++ b/public/emoji/26fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2702.png b/public/emoji/2702.png
deleted file mode 100644
index 270571c8c..000000000
Binary files a/public/emoji/2702.png and /dev/null differ
diff --git a/public/emoji/2702.svg b/public/emoji/2702.svg
index a5e934da6..eb14f2d34 100644
--- a/public/emoji/2702.svg
+++ b/public/emoji/2702.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2705.png b/public/emoji/2705.png
deleted file mode 100644
index e55f087e5..000000000
Binary files a/public/emoji/2705.png and /dev/null differ
diff --git a/public/emoji/2705.svg b/public/emoji/2705.svg
index 4f0474ade..2aba51916 100644
--- a/public/emoji/2705.svg
+++ b/public/emoji/2705.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2708.png b/public/emoji/2708.png
deleted file mode 100644
index 268d2ac3c..000000000
Binary files a/public/emoji/2708.png and /dev/null differ
diff --git a/public/emoji/2708.svg b/public/emoji/2708.svg
index 92d5f7319..12fb9b5c3 100644
--- a/public/emoji/2708.svg
+++ b/public/emoji/2708.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2709.png b/public/emoji/2709.png
deleted file mode 100644
index ec77ac375..000000000
Binary files a/public/emoji/2709.png and /dev/null differ
diff --git a/public/emoji/2709.svg b/public/emoji/2709.svg
index 4337c482e..0c37fcb8b 100644
--- a/public/emoji/2709.svg
+++ b/public/emoji/2709.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a-1f3fb.png b/public/emoji/270a-1f3fb.png
deleted file mode 100644
index 02809e2dd..000000000
Binary files a/public/emoji/270a-1f3fb.png and /dev/null differ
diff --git a/public/emoji/270a-1f3fb.svg b/public/emoji/270a-1f3fb.svg
index 425a77095..d15ffb843 100644
--- a/public/emoji/270a-1f3fb.svg
+++ b/public/emoji/270a-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a-1f3fc.png b/public/emoji/270a-1f3fc.png
deleted file mode 100644
index 5de348103..000000000
Binary files a/public/emoji/270a-1f3fc.png and /dev/null differ
diff --git a/public/emoji/270a-1f3fc.svg b/public/emoji/270a-1f3fc.svg
index 64c091bda..d3ef80295 100644
--- a/public/emoji/270a-1f3fc.svg
+++ b/public/emoji/270a-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a-1f3fd.png b/public/emoji/270a-1f3fd.png
deleted file mode 100644
index 0d5240129..000000000
Binary files a/public/emoji/270a-1f3fd.png and /dev/null differ
diff --git a/public/emoji/270a-1f3fd.svg b/public/emoji/270a-1f3fd.svg
index ac29bb90c..658e9d48a 100644
--- a/public/emoji/270a-1f3fd.svg
+++ b/public/emoji/270a-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a-1f3fe.png b/public/emoji/270a-1f3fe.png
deleted file mode 100644
index a95c0dd63..000000000
Binary files a/public/emoji/270a-1f3fe.png and /dev/null differ
diff --git a/public/emoji/270a-1f3fe.svg b/public/emoji/270a-1f3fe.svg
index 6b2ae91c6..dec8e82fe 100644
--- a/public/emoji/270a-1f3fe.svg
+++ b/public/emoji/270a-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a-1f3ff.png b/public/emoji/270a-1f3ff.png
deleted file mode 100644
index a2f092fd8..000000000
Binary files a/public/emoji/270a-1f3ff.png and /dev/null differ
diff --git a/public/emoji/270a-1f3ff.svg b/public/emoji/270a-1f3ff.svg
index ab9f9952e..5be8afe57 100644
--- a/public/emoji/270a-1f3ff.svg
+++ b/public/emoji/270a-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270a.png b/public/emoji/270a.png
deleted file mode 100644
index de33592bf..000000000
Binary files a/public/emoji/270a.png and /dev/null differ
diff --git a/public/emoji/270a.svg b/public/emoji/270a.svg
index 7f6e6cee7..de1946265 100644
--- a/public/emoji/270a.svg
+++ b/public/emoji/270a.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b-1f3fb.png b/public/emoji/270b-1f3fb.png
deleted file mode 100644
index 3b752902c..000000000
Binary files a/public/emoji/270b-1f3fb.png and /dev/null differ
diff --git a/public/emoji/270b-1f3fb.svg b/public/emoji/270b-1f3fb.svg
index 5345aea13..0641793ea 100644
--- a/public/emoji/270b-1f3fb.svg
+++ b/public/emoji/270b-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b-1f3fc.png b/public/emoji/270b-1f3fc.png
deleted file mode 100644
index 44e2a514c..000000000
Binary files a/public/emoji/270b-1f3fc.png and /dev/null differ
diff --git a/public/emoji/270b-1f3fc.svg b/public/emoji/270b-1f3fc.svg
index 99d1359be..f0352b8da 100644
--- a/public/emoji/270b-1f3fc.svg
+++ b/public/emoji/270b-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b-1f3fd.png b/public/emoji/270b-1f3fd.png
deleted file mode 100644
index 5bb62a752..000000000
Binary files a/public/emoji/270b-1f3fd.png and /dev/null differ
diff --git a/public/emoji/270b-1f3fd.svg b/public/emoji/270b-1f3fd.svg
index 258c678f9..77154d070 100644
--- a/public/emoji/270b-1f3fd.svg
+++ b/public/emoji/270b-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b-1f3fe.png b/public/emoji/270b-1f3fe.png
deleted file mode 100644
index c7f8c9ec2..000000000
Binary files a/public/emoji/270b-1f3fe.png and /dev/null differ
diff --git a/public/emoji/270b-1f3fe.svg b/public/emoji/270b-1f3fe.svg
index 3b7b55ff5..6d44c9b38 100644
--- a/public/emoji/270b-1f3fe.svg
+++ b/public/emoji/270b-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b-1f3ff.png b/public/emoji/270b-1f3ff.png
deleted file mode 100644
index c601b58a7..000000000
Binary files a/public/emoji/270b-1f3ff.png and /dev/null differ
diff --git a/public/emoji/270b-1f3ff.svg b/public/emoji/270b-1f3ff.svg
index b1e851268..35e7bb3ec 100644
--- a/public/emoji/270b-1f3ff.svg
+++ b/public/emoji/270b-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270b.png b/public/emoji/270b.png
deleted file mode 100644
index 6b2954315..000000000
Binary files a/public/emoji/270b.png and /dev/null differ
diff --git a/public/emoji/270b.svg b/public/emoji/270b.svg
index 8aca81b82..828724637 100644
--- a/public/emoji/270b.svg
+++ b/public/emoji/270b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c-1f3fb.png b/public/emoji/270c-1f3fb.png
deleted file mode 100644
index 6ac54a745..000000000
Binary files a/public/emoji/270c-1f3fb.png and /dev/null differ
diff --git a/public/emoji/270c-1f3fb.svg b/public/emoji/270c-1f3fb.svg
index 2053e46dc..447137caa 100644
--- a/public/emoji/270c-1f3fb.svg
+++ b/public/emoji/270c-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c-1f3fc.png b/public/emoji/270c-1f3fc.png
deleted file mode 100644
index 6dd966986..000000000
Binary files a/public/emoji/270c-1f3fc.png and /dev/null differ
diff --git a/public/emoji/270c-1f3fc.svg b/public/emoji/270c-1f3fc.svg
index 7be61714c..908add91c 100644
--- a/public/emoji/270c-1f3fc.svg
+++ b/public/emoji/270c-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c-1f3fd.png b/public/emoji/270c-1f3fd.png
deleted file mode 100644
index a615e53f0..000000000
Binary files a/public/emoji/270c-1f3fd.png and /dev/null differ
diff --git a/public/emoji/270c-1f3fd.svg b/public/emoji/270c-1f3fd.svg
index fb5387e10..1a814abd8 100644
--- a/public/emoji/270c-1f3fd.svg
+++ b/public/emoji/270c-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c-1f3fe.png b/public/emoji/270c-1f3fe.png
deleted file mode 100644
index 33a34bd5a..000000000
Binary files a/public/emoji/270c-1f3fe.png and /dev/null differ
diff --git a/public/emoji/270c-1f3fe.svg b/public/emoji/270c-1f3fe.svg
index 2b8a95d8e..a8ee7f0ed 100644
--- a/public/emoji/270c-1f3fe.svg
+++ b/public/emoji/270c-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c-1f3ff.png b/public/emoji/270c-1f3ff.png
deleted file mode 100644
index 45ad14b6c..000000000
Binary files a/public/emoji/270c-1f3ff.png and /dev/null differ
diff --git a/public/emoji/270c-1f3ff.svg b/public/emoji/270c-1f3ff.svg
index 8d41bbcdc..bcff574ad 100644
--- a/public/emoji/270c-1f3ff.svg
+++ b/public/emoji/270c-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270c.png b/public/emoji/270c.png
deleted file mode 100644
index 70c5516ff..000000000
Binary files a/public/emoji/270c.png and /dev/null differ
diff --git a/public/emoji/270c.svg b/public/emoji/270c.svg
index 78682b572..0fbd3b5ff 100644
--- a/public/emoji/270c.svg
+++ b/public/emoji/270c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d-1f3fb.png b/public/emoji/270d-1f3fb.png
deleted file mode 100644
index 7923d8ebb..000000000
Binary files a/public/emoji/270d-1f3fb.png and /dev/null differ
diff --git a/public/emoji/270d-1f3fb.svg b/public/emoji/270d-1f3fb.svg
index 438ab1a8a..4dc08a519 100644
--- a/public/emoji/270d-1f3fb.svg
+++ b/public/emoji/270d-1f3fb.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d-1f3fc.png b/public/emoji/270d-1f3fc.png
deleted file mode 100644
index bcb304e15..000000000
Binary files a/public/emoji/270d-1f3fc.png and /dev/null differ
diff --git a/public/emoji/270d-1f3fc.svg b/public/emoji/270d-1f3fc.svg
index 3ff16a807..fdd4d48c6 100644
--- a/public/emoji/270d-1f3fc.svg
+++ b/public/emoji/270d-1f3fc.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d-1f3fd.png b/public/emoji/270d-1f3fd.png
deleted file mode 100644
index fd885fd2d..000000000
Binary files a/public/emoji/270d-1f3fd.png and /dev/null differ
diff --git a/public/emoji/270d-1f3fd.svg b/public/emoji/270d-1f3fd.svg
index 57884c07e..d47a6f868 100644
--- a/public/emoji/270d-1f3fd.svg
+++ b/public/emoji/270d-1f3fd.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d-1f3fe.png b/public/emoji/270d-1f3fe.png
deleted file mode 100644
index d065b8c64..000000000
Binary files a/public/emoji/270d-1f3fe.png and /dev/null differ
diff --git a/public/emoji/270d-1f3fe.svg b/public/emoji/270d-1f3fe.svg
index 089e890d5..dd8efc41e 100644
--- a/public/emoji/270d-1f3fe.svg
+++ b/public/emoji/270d-1f3fe.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d-1f3ff.png b/public/emoji/270d-1f3ff.png
deleted file mode 100644
index a44b3dd75..000000000
Binary files a/public/emoji/270d-1f3ff.png and /dev/null differ
diff --git a/public/emoji/270d-1f3ff.svg b/public/emoji/270d-1f3ff.svg
index 863dbaae5..f92699de1 100644
--- a/public/emoji/270d-1f3ff.svg
+++ b/public/emoji/270d-1f3ff.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270d.png b/public/emoji/270d.png
deleted file mode 100644
index 85639f8ac..000000000
Binary files a/public/emoji/270d.png and /dev/null differ
diff --git a/public/emoji/270d.svg b/public/emoji/270d.svg
index 9370c8c39..b452ab986 100644
--- a/public/emoji/270d.svg
+++ b/public/emoji/270d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/270f.png b/public/emoji/270f.png
deleted file mode 100644
index 3833d590f..000000000
Binary files a/public/emoji/270f.png and /dev/null differ
diff --git a/public/emoji/270f.svg b/public/emoji/270f.svg
index 55eec7728..417e2d1f9 100644
--- a/public/emoji/270f.svg
+++ b/public/emoji/270f.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2712.png b/public/emoji/2712.png
deleted file mode 100644
index 872d0ae15..000000000
Binary files a/public/emoji/2712.png and /dev/null differ
diff --git a/public/emoji/2712.svg b/public/emoji/2712.svg
index 28a3968a7..91b747d93 100644
--- a/public/emoji/2712.svg
+++ b/public/emoji/2712.svg
@@ -1,2 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2714.png b/public/emoji/2714.png
deleted file mode 100644
index 03bd69537..000000000
Binary files a/public/emoji/2714.png and /dev/null differ
diff --git a/public/emoji/2714.svg b/public/emoji/2714.svg
index 20a082618..6208932b4 100644
--- a/public/emoji/2714.svg
+++ b/public/emoji/2714.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2716.png b/public/emoji/2716.png
deleted file mode 100644
index e47cc1b68..000000000
Binary files a/public/emoji/2716.png and /dev/null differ
diff --git a/public/emoji/2716.svg b/public/emoji/2716.svg
index 1117a7595..be81d594f 100644
--- a/public/emoji/2716.svg
+++ b/public/emoji/2716.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/271d.png b/public/emoji/271d.png
deleted file mode 100644
index 42b10e822..000000000
Binary files a/public/emoji/271d.png and /dev/null differ
diff --git a/public/emoji/271d.svg b/public/emoji/271d.svg
index 850e14440..dd13a3b99 100644
--- a/public/emoji/271d.svg
+++ b/public/emoji/271d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2721.png b/public/emoji/2721.png
deleted file mode 100644
index fc59d0dde..000000000
Binary files a/public/emoji/2721.png and /dev/null differ
diff --git a/public/emoji/2721.svg b/public/emoji/2721.svg
index 073f60429..6d83966e9 100644
--- a/public/emoji/2721.svg
+++ b/public/emoji/2721.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2728.png b/public/emoji/2728.png
deleted file mode 100644
index 169bc10b0..000000000
Binary files a/public/emoji/2728.png and /dev/null differ
diff --git a/public/emoji/2728.svg b/public/emoji/2728.svg
index 37c088090..3e5591e04 100644
--- a/public/emoji/2728.svg
+++ b/public/emoji/2728.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2733.png b/public/emoji/2733.png
deleted file mode 100644
index 3307ffa62..000000000
Binary files a/public/emoji/2733.png and /dev/null differ
diff --git a/public/emoji/2733.svg b/public/emoji/2733.svg
index fc0a0d5cc..2b133c2b5 100644
--- a/public/emoji/2733.svg
+++ b/public/emoji/2733.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2734.png b/public/emoji/2734.png
deleted file mode 100644
index 820179bda..000000000
Binary files a/public/emoji/2734.png and /dev/null differ
diff --git a/public/emoji/2734.svg b/public/emoji/2734.svg
index c8f50edc7..9f1cefd96 100644
--- a/public/emoji/2734.svg
+++ b/public/emoji/2734.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2744.png b/public/emoji/2744.png
deleted file mode 100644
index db319a77e..000000000
Binary files a/public/emoji/2744.png and /dev/null differ
diff --git a/public/emoji/2744.svg b/public/emoji/2744.svg
index 145818394..26d6d72ad 100644
--- a/public/emoji/2744.svg
+++ b/public/emoji/2744.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2747.png b/public/emoji/2747.png
deleted file mode 100644
index 6aa7b6ec9..000000000
Binary files a/public/emoji/2747.png and /dev/null differ
diff --git a/public/emoji/2747.svg b/public/emoji/2747.svg
index 9c179d6ea..812425abc 100644
--- a/public/emoji/2747.svg
+++ b/public/emoji/2747.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/274c.png b/public/emoji/274c.png
deleted file mode 100644
index 9f9ed0f7a..000000000
Binary files a/public/emoji/274c.png and /dev/null differ
diff --git a/public/emoji/274c.svg b/public/emoji/274c.svg
index 5f60701d2..5aa21e8fd 100644
--- a/public/emoji/274c.svg
+++ b/public/emoji/274c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/274e.png b/public/emoji/274e.png
deleted file mode 100644
index dae487f1f..000000000
Binary files a/public/emoji/274e.png and /dev/null differ
diff --git a/public/emoji/274e.svg b/public/emoji/274e.svg
index b65d3ec9e..c74d9f134 100644
--- a/public/emoji/274e.svg
+++ b/public/emoji/274e.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2753.png b/public/emoji/2753.png
deleted file mode 100644
index 5a58f3458..000000000
Binary files a/public/emoji/2753.png and /dev/null differ
diff --git a/public/emoji/2753.svg b/public/emoji/2753.svg
index d4b28c81c..9d78e0a43 100644
--- a/public/emoji/2753.svg
+++ b/public/emoji/2753.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2754.png b/public/emoji/2754.png
deleted file mode 100644
index 6e7824c75..000000000
Binary files a/public/emoji/2754.png and /dev/null differ
diff --git a/public/emoji/2754.svg b/public/emoji/2754.svg
index d04a83c31..14f5a8430 100644
--- a/public/emoji/2754.svg
+++ b/public/emoji/2754.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2755.png b/public/emoji/2755.png
deleted file mode 100644
index 9b64da8bf..000000000
Binary files a/public/emoji/2755.png and /dev/null differ
diff --git a/public/emoji/2755.svg b/public/emoji/2755.svg
index 714e2103f..9cb804adc 100644
--- a/public/emoji/2755.svg
+++ b/public/emoji/2755.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2757.png b/public/emoji/2757.png
deleted file mode 100644
index 2c1440642..000000000
Binary files a/public/emoji/2757.png and /dev/null differ
diff --git a/public/emoji/2757.svg b/public/emoji/2757.svg
index d064e7e12..963356add 100644
--- a/public/emoji/2757.svg
+++ b/public/emoji/2757.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2763.png b/public/emoji/2763.png
deleted file mode 100644
index 91b520be4..000000000
Binary files a/public/emoji/2763.png and /dev/null differ
diff --git a/public/emoji/2763.svg b/public/emoji/2763.svg
index df6ebedfb..e22110bb0 100644
--- a/public/emoji/2763.svg
+++ b/public/emoji/2763.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2764.png b/public/emoji/2764.png
deleted file mode 100644
index 638cb72dc..000000000
Binary files a/public/emoji/2764.png and /dev/null differ
diff --git a/public/emoji/2764.svg b/public/emoji/2764.svg
index 12c6742e2..6dc97e26c 100644
--- a/public/emoji/2764.svg
+++ b/public/emoji/2764.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2795.png b/public/emoji/2795.png
deleted file mode 100644
index 40799798a..000000000
Binary files a/public/emoji/2795.png and /dev/null differ
diff --git a/public/emoji/2795.svg b/public/emoji/2795.svg
index c572fec5c..cc6c54268 100644
--- a/public/emoji/2795.svg
+++ b/public/emoji/2795.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2796.png b/public/emoji/2796.png
deleted file mode 100644
index 054211caf..000000000
Binary files a/public/emoji/2796.png and /dev/null differ
diff --git a/public/emoji/2796.svg b/public/emoji/2796.svg
index 844614dd6..fb069dfe1 100644
--- a/public/emoji/2796.svg
+++ b/public/emoji/2796.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2797.png b/public/emoji/2797.png
deleted file mode 100644
index df32ab21b..000000000
Binary files a/public/emoji/2797.png and /dev/null differ
diff --git a/public/emoji/2797.svg b/public/emoji/2797.svg
index 8b3945c9c..0bf64b507 100644
--- a/public/emoji/2797.svg
+++ b/public/emoji/2797.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/27a1.png b/public/emoji/27a1.png
deleted file mode 100644
index 4755670b5..000000000
Binary files a/public/emoji/27a1.png and /dev/null differ
diff --git a/public/emoji/27a1.svg b/public/emoji/27a1.svg
index 125d7d47f..6eca57454 100644
--- a/public/emoji/27a1.svg
+++ b/public/emoji/27a1.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/27b0.png b/public/emoji/27b0.png
deleted file mode 100644
index 440aa56d5..000000000
Binary files a/public/emoji/27b0.png and /dev/null differ
diff --git a/public/emoji/27b0.svg b/public/emoji/27b0.svg
index 5bf1eac01..f1c056454 100644
--- a/public/emoji/27b0.svg
+++ b/public/emoji/27b0.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/27bf.png b/public/emoji/27bf.png
deleted file mode 100644
index 0b82c8fe3..000000000
Binary files a/public/emoji/27bf.png and /dev/null differ
diff --git a/public/emoji/27bf.svg b/public/emoji/27bf.svg
index 83d211d28..351493bb8 100644
--- a/public/emoji/27bf.svg
+++ b/public/emoji/27bf.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2934.png b/public/emoji/2934.png
deleted file mode 100644
index f29bfcfc0..000000000
Binary files a/public/emoji/2934.png and /dev/null differ
diff --git a/public/emoji/2934.svg b/public/emoji/2934.svg
index 2d7a211d1..d40c27252 100644
--- a/public/emoji/2934.svg
+++ b/public/emoji/2934.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2935.png b/public/emoji/2935.png
deleted file mode 100644
index 2d9d24bca..000000000
Binary files a/public/emoji/2935.png and /dev/null differ
diff --git a/public/emoji/2935.svg b/public/emoji/2935.svg
index 00a8a92ab..1db0a9cb2 100644
--- a/public/emoji/2935.svg
+++ b/public/emoji/2935.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2a-20e3.svg b/public/emoji/2a-20e3.svg
new file mode 100644
index 000000000..e3ace7202
--- /dev/null
+++ b/public/emoji/2a-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/2b05.png b/public/emoji/2b05.png
deleted file mode 100644
index 8c685e0a8..000000000
Binary files a/public/emoji/2b05.png and /dev/null differ
diff --git a/public/emoji/2b05.svg b/public/emoji/2b05.svg
index 9583aec7f..b56d8fd84 100644
--- a/public/emoji/2b05.svg
+++ b/public/emoji/2b05.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b06.png b/public/emoji/2b06.png
deleted file mode 100644
index af8218a87..000000000
Binary files a/public/emoji/2b06.png and /dev/null differ
diff --git a/public/emoji/2b06.svg b/public/emoji/2b06.svg
index efa332284..f54dcb999 100644
--- a/public/emoji/2b06.svg
+++ b/public/emoji/2b06.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b07.png b/public/emoji/2b07.png
deleted file mode 100644
index b8eefd0b1..000000000
Binary files a/public/emoji/2b07.png and /dev/null differ
diff --git a/public/emoji/2b07.svg b/public/emoji/2b07.svg
index bbd2213f8..623ea5074 100644
--- a/public/emoji/2b07.svg
+++ b/public/emoji/2b07.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b1b.png b/public/emoji/2b1b.png
deleted file mode 100644
index 162f2bb42..000000000
Binary files a/public/emoji/2b1b.png and /dev/null differ
diff --git a/public/emoji/2b1b.svg b/public/emoji/2b1b.svg
index b908105f3..75820ed0e 100644
--- a/public/emoji/2b1b.svg
+++ b/public/emoji/2b1b.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b1c.png b/public/emoji/2b1c.png
deleted file mode 100644
index 6f06c1c79..000000000
Binary files a/public/emoji/2b1c.png and /dev/null differ
diff --git a/public/emoji/2b1c.svg b/public/emoji/2b1c.svg
index a58c77bd0..e9ce9710b 100644
--- a/public/emoji/2b1c.svg
+++ b/public/emoji/2b1c.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b50.png b/public/emoji/2b50.png
deleted file mode 100644
index c93094707..000000000
Binary files a/public/emoji/2b50.png and /dev/null differ
diff --git a/public/emoji/2b50.svg b/public/emoji/2b50.svg
index 487bf321c..d2bc202e9 100644
--- a/public/emoji/2b50.svg
+++ b/public/emoji/2b50.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/2b55.png b/public/emoji/2b55.png
deleted file mode 100644
index 3fe75ce46..000000000
Binary files a/public/emoji/2b55.png and /dev/null differ
diff --git a/public/emoji/2b55.svg b/public/emoji/2b55.svg
index 46265062f..056ad641a 100644
--- a/public/emoji/2b55.svg
+++ b/public/emoji/2b55.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/30-20e3.svg b/public/emoji/30-20e3.svg
new file mode 100644
index 000000000..6b9454e66
--- /dev/null
+++ b/public/emoji/30-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/3030.png b/public/emoji/3030.png
deleted file mode 100644
index 001c8d6e4..000000000
Binary files a/public/emoji/3030.png and /dev/null differ
diff --git a/public/emoji/3030.svg b/public/emoji/3030.svg
index ce6c00599..85addce18 100644
--- a/public/emoji/3030.svg
+++ b/public/emoji/3030.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/303d.png b/public/emoji/303d.png
deleted file mode 100644
index 70453d415..000000000
Binary files a/public/emoji/303d.png and /dev/null differ
diff --git a/public/emoji/303d.svg b/public/emoji/303d.svg
index 3b7e1508a..8a8b08c0e 100644
--- a/public/emoji/303d.svg
+++ b/public/emoji/303d.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/31-20e3.svg b/public/emoji/31-20e3.svg
new file mode 100644
index 000000000..d56800d4a
--- /dev/null
+++ b/public/emoji/31-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/32-20e3.svg b/public/emoji/32-20e3.svg
new file mode 100644
index 000000000..546488da1
--- /dev/null
+++ b/public/emoji/32-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/3297.png b/public/emoji/3297.png
deleted file mode 100644
index ba8c89d95..000000000
Binary files a/public/emoji/3297.png and /dev/null differ
diff --git a/public/emoji/3297.svg b/public/emoji/3297.svg
index c57b1ab8a..b525207fb 100644
--- a/public/emoji/3297.svg
+++ b/public/emoji/3297.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/3299.png b/public/emoji/3299.png
deleted file mode 100644
index 5fd72608e..000000000
Binary files a/public/emoji/3299.png and /dev/null differ
diff --git a/public/emoji/3299.svg b/public/emoji/3299.svg
index 3e750322e..ffe9e7757 100644
--- a/public/emoji/3299.svg
+++ b/public/emoji/3299.svg
@@ -1 +1 @@
-
\ No newline at end of file
+image/svg+xml
diff --git a/public/emoji/33-20e3.svg b/public/emoji/33-20e3.svg
new file mode 100644
index 000000000..9d70003df
--- /dev/null
+++ b/public/emoji/33-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/34-20e3.svg b/public/emoji/34-20e3.svg
new file mode 100644
index 000000000..5fdef5829
--- /dev/null
+++ b/public/emoji/34-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/35-20e3.svg b/public/emoji/35-20e3.svg
new file mode 100644
index 000000000..2afa988d6
--- /dev/null
+++ b/public/emoji/35-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/36-20e3.svg b/public/emoji/36-20e3.svg
new file mode 100644
index 000000000..153c581d6
--- /dev/null
+++ b/public/emoji/36-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/37-20e3.svg b/public/emoji/37-20e3.svg
new file mode 100644
index 000000000..abbb8d654
--- /dev/null
+++ b/public/emoji/37-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/38-20e3.svg b/public/emoji/38-20e3.svg
new file mode 100644
index 000000000..11e717650
--- /dev/null
+++ b/public/emoji/38-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/39-20e3.svg b/public/emoji/39-20e3.svg
new file mode 100644
index 000000000..c82bb1a1b
--- /dev/null
+++ b/public/emoji/39-20e3.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/a9.svg b/public/emoji/a9.svg
new file mode 100644
index 000000000..a56a39695
--- /dev/null
+++ b/public/emoji/a9.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/ae.svg b/public/emoji/ae.svg
new file mode 100644
index 000000000..012e11635
--- /dev/null
+++ b/public/emoji/ae.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/e50a.svg b/public/emoji/e50a.svg
new file mode 100644
index 000000000..7c28b8f06
--- /dev/null
+++ b/public/emoji/e50a.svg
@@ -0,0 +1 @@
+image/svg+xml
diff --git a/public/emoji/sheet.png b/public/emoji/sheet.png
new file mode 100644
index 000000000..e9a3f23f8
Binary files /dev/null and b/public/emoji/sheet.png differ
diff --git a/spec/javascript/components/emojify.test.js b/spec/javascript/components/emojify.test.js
index e165b4519..9451a7920 100644
--- a/spec/javascript/components/emojify.test.js
+++ b/spec/javascript/components/emojify.test.js
@@ -32,13 +32,13 @@ describe('emojify', () => {
it('does multiple unicode', () => {
expect(emojify('\u2757 #\uFE0F\u20E3')).to.equal(
- ' ');
+ ' ');
expect(emojify('\u2757#\uFE0F\u20E3')).to.equal(
- ' ');
+ ' ');
expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).to.equal(
- ' ');
+ ' ');
expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).to.equal(
- 'foo bar');
+ 'foo bar');
});
it('ignores unicode inside of tags', () => {
diff --git a/yarn.lock b/yarn.lock
index 1abf6a326..7b8328805 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2065,6 +2065,12 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
+emoji-mart@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-1.0.1.tgz#0ef2fd2bf4b6762aab7486c26c574387f034e392"
+ dependencies:
+ measure-scrollbar "^0.1.0"
+
emoji-regex@^6.1.0:
version "6.4.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.4.3.tgz#6ac2ac58d4b78def5e39b33fcbf395688af3076c"
@@ -3857,6 +3863,10 @@ mathjs@^3.11.5:
tiny-emitter "2.0.0"
typed-function "0.10.5"
+measure-scrollbar@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/measure-scrollbar/-/measure-scrollbar-0.1.0.tgz#2bbfac6773bcbb98d814e6890554c0b92846fe6f"
+
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
--
cgit
From 66126f302167d21e4bf247e660f595ff0beaaf20 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 23 Sep 2017 05:40:28 +0200
Subject: Add custom emojis to the emoji picker (#5052)
---
app/javascript/mastodon/emoji.js | 40 ++++++++++++++++++++++
.../features/compose/components/compose_form.js | 2 +-
.../compose/components/emoji_picker_dropdown.js | 16 ++++++++-
.../containers/emoji_picker_dropdown_container.js | 8 +++++
app/javascript/mastodon/reducers/custom_emojis.js | 13 +++++++
app/javascript/mastodon/reducers/index.js | 2 ++
app/javascript/styles/components.scss | 6 ++++
app/serializers/initial_state_serializer.rb | 6 ++++
8 files changed, 91 insertions(+), 2 deletions(-)
create mode 100644 app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js
create mode 100644 app/javascript/mastodon/reducers/custom_emojis.js
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/emoji.js b/app/javascript/mastodon/emoji.js
index 407b21b4b..39123768a 100644
--- a/app/javascript/mastodon/emoji.js
+++ b/app/javascript/mastodon/emoji.js
@@ -47,3 +47,43 @@ const emojify = (str, customEmojis = {}) => {
};
export default emojify;
+
+export const toCodePoint = (unicodeSurrogates, sep = '-') => {
+ let r = [], c = 0, p = 0, i = 0;
+
+ while (i < unicodeSurrogates.length) {
+ c = unicodeSurrogates.charCodeAt(i++);
+
+ if (p) {
+ r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16));
+ p = 0;
+ } else if (0xD800 <= c && c <= 0xDBFF) {
+ p = c;
+ } else {
+ r.push(c.toString(16));
+ }
+ }
+
+ return r.join(sep);
+};
+
+export const buildCustomEmojis = customEmojis => {
+ const emojis = [];
+
+ customEmojis.forEach(emoji => {
+ const shortcode = emoji.get('shortcode');
+ const url = emoji.get('url');
+ const name = shortcode.replace(':', '');
+
+ emojis.push({
+ name,
+ short_names: [name],
+ text: '',
+ emoticons: [],
+ keywords: [name],
+ imageUrl: url,
+ });
+ });
+
+ return emojis;
+};
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
index bb747b611..d31041061 100644
--- a/app/javascript/mastodon/features/compose/components/compose_form.js
+++ b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -12,7 +12,7 @@ import Collapsable from '../../../components/collapsable';
import SpoilerButtonContainer from '../containers/spoiler_button_container';
import PrivacyDropdownContainer from '../containers/privacy_dropdown_container';
import SensitiveButtonContainer from '../containers/sensitive_button_container';
-import EmojiPickerDropdown from './emoji_picker_dropdown';
+import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
import UploadFormContainer from '../containers/upload_form_container';
import WarningContainer from '../containers/warning_container';
import { isMobile } from '../../../is_mobile';
diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
index 43e175be5..f55d59e03 100644
--- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
+++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
@@ -4,6 +4,8 @@ import { defineMessages, injectIntl } from 'react-intl';
import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
import { Overlay } from 'react-overlays';
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { buildCustomEmojis } from '../../../emoji';
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
@@ -130,6 +132,7 @@ class ModifierPicker extends React.PureComponent {
class EmojiPickerMenu extends React.PureComponent {
static propTypes = {
+ custom_emojis: ImmutablePropTypes.list,
loading: PropTypes.bool,
onClose: PropTypes.func.isRequired,
onPick: PropTypes.func.isRequired,
@@ -194,6 +197,10 @@ class EmojiPickerMenu extends React.PureComponent {
}
handleClick = emoji => {
+ if (!emoji.native) {
+ emoji.native = emoji.colons;
+ }
+
this.props.onClose();
this.props.onPick(emoji);
}
@@ -225,6 +232,7 @@ class EmojiPickerMenu extends React.PureComponent {
return (
-
+
);
diff --git a/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js b/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js
new file mode 100644
index 000000000..7a8026bbc
--- /dev/null
+++ b/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js
@@ -0,0 +1,8 @@
+import { connect } from 'react-redux';
+import EmojiPickerDropdown from '../components/emoji_picker_dropdown';
+
+const mapStateToProps = state => ({
+ custom_emojis: state.get('custom_emojis'),
+});
+
+export default connect(mapStateToProps)(EmojiPickerDropdown);
diff --git a/app/javascript/mastodon/reducers/custom_emojis.js b/app/javascript/mastodon/reducers/custom_emojis.js
new file mode 100644
index 000000000..15bba7bcc
--- /dev/null
+++ b/app/javascript/mastodon/reducers/custom_emojis.js
@@ -0,0 +1,13 @@
+import { List as ImmutableList } from 'immutable';
+import { STORE_HYDRATE } from '../actions/store';
+
+const initialState = ImmutableList();
+
+export default function statuses(state = initialState, action) {
+ switch(action.type) {
+ case STORE_HYDRATE:
+ return action.state.get('custom_emojis');
+ default:
+ return state;
+ }
+};
diff --git a/app/javascript/mastodon/reducers/index.js b/app/javascript/mastodon/reducers/index.js
index 0a8c3ce6c..e65144871 100644
--- a/app/javascript/mastodon/reducers/index.js
+++ b/app/javascript/mastodon/reducers/index.js
@@ -20,6 +20,7 @@ import search from './search';
import media_attachments from './media_attachments';
import notifications from './notifications';
import height_cache from './height_cache';
+import custom_emojis from './custom_emojis';
const reducers = {
timelines,
@@ -43,6 +44,7 @@ const reducers = {
media_attachments,
notifications,
height_cache,
+ custom_emojis,
};
export default combineReducers(reducers);
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index abf5cfd5b..595ab3658 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -2629,6 +2629,12 @@ button.icon-button.active i.fa-retweet {
}
}
+.emoji-mart-emoji {
+ span {
+ background-repeat: no-repeat;
+ }
+}
+
.upload-area {
align-items: center;
background: rgba($base-overlay-background, 0.8);
diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb
index 88bbc0dff..e2f15a601 100644
--- a/app/serializers/initial_state_serializer.rb
+++ b/app/serializers/initial_state_serializer.rb
@@ -4,6 +4,12 @@ class InitialStateSerializer < ActiveModel::Serializer
attributes :meta, :compose, :accounts,
:media_attachments, :settings, :push_subscription
+ has_many :custom_emojis, serializer: REST::CustomEmojiSerializer
+
+ def custom_emojis
+ CustomEmoji.local
+ end
+
def meta
store = {
streaming_api_base_url: Rails.configuration.x.streaming_api_base_url,
--
cgit
From 1e02ba111ae38ab758135b5b2b46f34c672ca02e Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sat, 23 Sep 2017 14:47:32 +0200
Subject: Add emoji autosuggest (#5053)
* Add emoji autosuggest
Some credit goes to glitch-soc/mastodon#149
* Remove server-side shortcode->unicode conversion
* Insert shortcode when suggestion is custom emoji
* Remove remnant of server-side emojis
* Update style of autosuggestions
* Fix wrong emoji filenames generated in autosuggest item
* Do not lazy load emoji picker, as that no longer works
* Fix custom emoji autosuggest
* Fix multiple "Custom" categories getting added to emoji index, only add once
---
app/helpers/emoji_helper.rb | 24 ------------
app/javascript/mastodon/actions/compose.js | 35 ++++++++++++++---
.../mastodon/components/autosuggest_emoji.js | 37 ++++++++++++++++++
.../mastodon/components/autosuggest_textarea.js | 43 +++++++++++++--------
app/javascript/mastodon/emoji.js | 21 +---------
.../compose/components/emoji_picker_dropdown.js | 37 +++---------------
.../mastodon/features/ui/util/async-components.js | 4 --
app/javascript/mastodon/reducers/accounts.js | 2 +-
.../mastodon/reducers/accounts_counters.js | 2 +-
app/javascript/mastodon/reducers/compose.js | 2 +-
app/javascript/mastodon/reducers/custom_emojis.js | 5 ++-
app/javascript/styles/components.scss | 45 ++++++++++++----------
app/lib/emoji.rb | 40 -------------------
app/models/account.rb | 4 --
app/models/status.rb | 4 --
app/views/layouts/application.html.haml | 1 -
lib/assets/emoji.json | 1 -
spec/helpers/emoji_helper_spec.rb | 20 ----------
spec/lib/emoji_spec.rb | 15 --------
19 files changed, 133 insertions(+), 209 deletions(-)
delete mode 100644 app/helpers/emoji_helper.rb
create mode 100644 app/javascript/mastodon/components/autosuggest_emoji.js
delete mode 100644 app/lib/emoji.rb
delete mode 100644 lib/assets/emoji.json
delete mode 100644 spec/helpers/emoji_helper_spec.rb
delete mode 100644 spec/lib/emoji_spec.rb
(limited to 'app/javascript')
diff --git a/app/helpers/emoji_helper.rb b/app/helpers/emoji_helper.rb
deleted file mode 100644
index 848c03fce..000000000
--- a/app/helpers/emoji_helper.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-# frozen_string_literal: true
-
-module EmojiHelper
- def emojify(text)
- return text if text.blank?
-
- text.gsub(emoji_pattern) do |match|
- emoji = Emoji.instance.unicode($1) # rubocop:disable Style/PerlBackrefs
-
- if emoji
- emoji
- else
- match
- end
- end
- end
-
- def emoji_pattern
- @emoji_pattern ||=
- /(?<=[^[:alnum:]:]|\n|^)
- (#{Emoji.instance.names.map { |name| Regexp.escape(name) }.join('|')})
- (?=[^[:alnum:]:]|$)/x
- end
-end
diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js
index 1f26907f2..9f10a8c15 100644
--- a/app/javascript/mastodon/actions/compose.js
+++ b/app/javascript/mastodon/actions/compose.js
@@ -1,4 +1,5 @@
import api from '../api';
+import { emojiIndex } from 'emoji-mart';
import {
updateTimeline,
@@ -210,19 +211,33 @@ export function clearComposeSuggestions() {
export function fetchComposeSuggestions(token) {
return (dispatch, getState) => {
+ if (token[0] === ':') {
+ const results = emojiIndex.search(token.replace(':', ''), { maxResults: 3 });
+ dispatch(readyComposeSuggestionsEmojis(token, results));
+ return;
+ }
+
api(getState).get('/api/v1/accounts/search', {
params: {
- q: token,
+ q: token.slice(1),
resolve: false,
limit: 4,
},
}).then(response => {
- dispatch(readyComposeSuggestions(token, response.data));
+ dispatch(readyComposeSuggestionsAccounts(token, response.data));
});
};
};
-export function readyComposeSuggestions(token, accounts) {
+export function readyComposeSuggestionsEmojis(token, emojis) {
+ return {
+ type: COMPOSE_SUGGESTIONS_READY,
+ token,
+ emojis,
+ };
+};
+
+export function readyComposeSuggestionsAccounts(token, accounts) {
return {
type: COMPOSE_SUGGESTIONS_READY,
token,
@@ -230,13 +245,21 @@ export function readyComposeSuggestions(token, accounts) {
};
};
-export function selectComposeSuggestion(position, token, accountId) {
+export function selectComposeSuggestion(position, token, suggestion) {
return (dispatch, getState) => {
- const completion = getState().getIn(['accounts', accountId, 'acct']);
+ let completion, startPosition;
+
+ if (typeof suggestion === 'object' && suggestion.id) {
+ completion = suggestion.native || suggestion.colons;
+ startPosition = position - 1;
+ } else {
+ completion = getState().getIn(['accounts', suggestion, 'acct']);
+ startPosition = position;
+ }
dispatch({
type: COMPOSE_SUGGESTION_SELECT,
- position,
+ position: startPosition,
token,
completion,
});
diff --git a/app/javascript/mastodon/components/autosuggest_emoji.js b/app/javascript/mastodon/components/autosuggest_emoji.js
new file mode 100644
index 000000000..e2866e8e4
--- /dev/null
+++ b/app/javascript/mastodon/components/autosuggest_emoji.js
@@ -0,0 +1,37 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { unicodeMapping } from '../emojione_light';
+
+const assetHost = process.env.CDN_HOST || '';
+
+export default class AutosuggestEmoji extends React.PureComponent {
+
+ static propTypes = {
+ emoji: PropTypes.object.isRequired,
+ };
+
+ render () {
+ const { emoji } = this.props;
+ let url;
+
+ if (emoji.custom) {
+ url = emoji.imageUrl;
+ } else {
+ const [ filename ] = unicodeMapping[emoji.native];
+ url = `${assetHost}/emoji/${filename}.svg`;
+ }
+
+ return (
+
+
+
+ {emoji.colons}
+
+ );
+ }
+
+}
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js
index 30e3049df..daeb6fd53 100644
--- a/app/javascript/mastodon/components/autosuggest_textarea.js
+++ b/app/javascript/mastodon/components/autosuggest_textarea.js
@@ -1,10 +1,12 @@
import React from 'react';
import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';
+import AutosuggestEmoji from './autosuggest_emoji';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
import { isRtl } from '../rtl';
import ImmutablePureComponent from 'react-immutable-pure-component';
import Textarea from 'react-textarea-autosize';
+import classNames from 'classnames';
const textAtCursorMatchesToken = (str, caretPosition) => {
let word;
@@ -18,11 +20,11 @@ const textAtCursorMatchesToken = (str, caretPosition) => {
word = str.slice(left, right + caretPosition);
}
- if (!word || word.trim().length < 2 || word[0] !== '@') {
+ if (!word || word.trim().length < 2 || ['@', ':'].indexOf(word[0]) === -1) {
return [null, null];
}
- word = word.trim().toLowerCase().slice(1);
+ word = word.trim().toLowerCase();
if (word.length > 0) {
return [left + 1, word];
@@ -128,7 +130,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
onSuggestionClick = (e) => {
- const suggestion = e.currentTarget.getAttribute('data-index');
+ const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));
e.preventDefault();
this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);
this.textarea.focus();
@@ -151,9 +153,28 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
}
+ renderSuggestion = (suggestion, i) => {
+ const { selectedSuggestion } = this.state;
+ let inner, key;
+
+ if (typeof suggestion === 'object') {
+ inner = ;
+ key = suggestion.id;
+ } else {
+ inner = ;
+ key = suggestion;
+ }
+
+ return (
+
+ {inner}
+
+ );
+ }
+
render () {
const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props;
- const { suggestionsHidden, selectedSuggestion } = this.state;
+ const { suggestionsHidden } = this.state;
const style = { direction: 'ltr' };
if (isRtl(value)) {
@@ -164,6 +185,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
);
diff --git a/app/javascript/mastodon/emoji.js b/app/javascript/mastodon/emoji.js
index 39123768a..d75f6f598 100644
--- a/app/javascript/mastodon/emoji.js
+++ b/app/javascript/mastodon/emoji.js
@@ -48,25 +48,6 @@ const emojify = (str, customEmojis = {}) => {
export default emojify;
-export const toCodePoint = (unicodeSurrogates, sep = '-') => {
- let r = [], c = 0, p = 0, i = 0;
-
- while (i < unicodeSurrogates.length) {
- c = unicodeSurrogates.charCodeAt(i++);
-
- if (p) {
- r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16));
- p = 0;
- } else if (0xD800 <= c && c <= 0xDBFF) {
- p = c;
- } else {
- r.push(c.toString(16));
- }
- }
-
- return r.join(sep);
-};
-
export const buildCustomEmojis = customEmojis => {
const emojis = [];
@@ -76,12 +57,14 @@ export const buildCustomEmojis = customEmojis => {
const name = shortcode.replace(':', '');
emojis.push({
+ id: name,
name,
short_names: [name],
text: '',
emoticons: [],
keywords: [name],
imageUrl: url,
+ custom: true,
});
});
diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
index f55d59e03..3cac9b7a6 100644
--- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
+++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
@@ -1,11 +1,10 @@
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
-import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
+import { Picker, Emoji } from 'emoji-mart';
import { Overlay } from 'react-overlays';
import classNames from 'classnames';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import { buildCustomEmojis } from '../../../emoji';
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
@@ -26,8 +25,6 @@ const messages = defineMessages({
const assetHost = process.env.CDN_HOST || '';
-let EmojiPicker, Emoji; // load asynchronously
-
const backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;
class ModifierPickerMenu extends React.PureComponent {
@@ -133,7 +130,6 @@ class EmojiPickerMenu extends React.PureComponent {
static propTypes = {
custom_emojis: ImmutablePropTypes.list,
- loading: PropTypes.bool,
onClose: PropTypes.func.isRequired,
onPick: PropTypes.func.isRequired,
style: PropTypes.object,
@@ -145,7 +141,6 @@ class EmojiPickerMenu extends React.PureComponent {
static defaultProps = {
style: {},
- loading: true,
placement: 'bottom',
};
@@ -220,19 +215,13 @@ class EmojiPickerMenu extends React.PureComponent {
}
render () {
- const { loading, style, intl } = this.props;
-
- if (loading) {
- return
;
- }
-
+ const { style, intl } = this.props;
const title = intl.formatMessage(messages.emoji);
const { modifierOpen, modifier } = this.state;
return (
-
{
@@ -279,18 +267,6 @@ export default class EmojiPickerDropdown extends React.PureComponent {
onShowDropdown = () => {
this.setState({ active: true });
-
- if (!EmojiPicker) {
- this.setState({ loading: true });
-
- EmojiPickerAsync().then(EmojiMart => {
- EmojiPicker = EmojiMart.Picker;
- Emoji = EmojiMart.Emoji;
- this.setState({ loading: false });
- }).catch(() => {
- this.setState({ loading: false });
- });
- }
}
onHideDropdown = () => {
@@ -298,7 +274,7 @@ export default class EmojiPickerDropdown extends React.PureComponent {
}
onToggle = (e) => {
- if (!this.state.loading && (!e.key || e.key === 'Enter')) {
+ if (!e.key || e.key === 'Enter') {
if (this.state.active) {
this.onHideDropdown();
} else {
@@ -324,13 +300,13 @@ export default class EmojiPickerDropdown extends React.PureComponent {
render () {
const { intl, onPickEmoji } = this.props;
const title = intl.formatMessage(messages.emoji);
- const { active, loading } = this.state;
+ const { active } = this.state;
return (
@@ -339,7 +315,6 @@ export default class EmojiPickerDropdown extends React.PureComponent {
diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js
index bd2fca337..b8c5e885a 100644
--- a/app/javascript/mastodon/features/ui/util/async-components.js
+++ b/app/javascript/mastodon/features/ui/util/async-components.js
@@ -1,7 +1,3 @@
-export function EmojiPicker () {
- return import(/* webpackChunkName: "emoji_picker" */'emoji-mart');
-}
-
export function Compose () {
return import(/* webpackChunkName: "features/compose" */'../../compose');
}
diff --git a/app/javascript/mastodon/reducers/accounts.js b/app/javascript/mastodon/reducers/accounts.js
index 6442d13be..5391a93ae 100644
--- a/app/javascript/mastodon/reducers/accounts.js
+++ b/app/javascript/mastodon/reducers/accounts.js
@@ -110,7 +110,7 @@ export default function accounts(state = initialState, action) {
case BLOCKS_EXPAND_SUCCESS:
case MUTES_FETCH_SUCCESS:
case MUTES_EXPAND_SUCCESS:
- return normalizeAccounts(state, action.accounts);
+ return action.accounts ? normalizeAccounts(state, action.accounts) : state;
case NOTIFICATIONS_REFRESH_SUCCESS:
case NOTIFICATIONS_EXPAND_SUCCESS:
case SEARCH_FETCH_SUCCESS:
diff --git a/app/javascript/mastodon/reducers/accounts_counters.js b/app/javascript/mastodon/reducers/accounts_counters.js
index 4423e1b50..1ed0fe3e3 100644
--- a/app/javascript/mastodon/reducers/accounts_counters.js
+++ b/app/javascript/mastodon/reducers/accounts_counters.js
@@ -106,7 +106,7 @@ export default function accountsCounters(state = initialState, action) {
case BLOCKS_EXPAND_SUCCESS:
case MUTES_FETCH_SUCCESS:
case MUTES_EXPAND_SUCCESS:
- return normalizeAccounts(state, action.accounts);
+ return action.accounts ? normalizeAccounts(state, action.accounts) : state;
case NOTIFICATIONS_REFRESH_SUCCESS:
case NOTIFICATIONS_EXPAND_SUCCESS:
case SEARCH_FETCH_SUCCESS:
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index 526dbd0c5..9d39584fc 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -245,7 +245,7 @@ export default function compose(state = initialState, action) {
case COMPOSE_SUGGESTIONS_CLEAR:
return state.update('suggestions', ImmutableList(), list => list.clear()).set('suggestion_token', null);
case COMPOSE_SUGGESTIONS_READY:
- return state.set('suggestions', ImmutableList(action.accounts.map(item => item.id))).set('suggestion_token', action.token);
+ return state.set('suggestions', ImmutableList(action.accounts ? action.accounts.map(item => item.id) : action.emojis)).set('suggestion_token', action.token);
case COMPOSE_SUGGESTION_SELECT:
return insertSuggestion(state, action.position, action.token, action.completion);
case TIMELINE_DELETE:
diff --git a/app/javascript/mastodon/reducers/custom_emojis.js b/app/javascript/mastodon/reducers/custom_emojis.js
index 15bba7bcc..d80c0d156 100644
--- a/app/javascript/mastodon/reducers/custom_emojis.js
+++ b/app/javascript/mastodon/reducers/custom_emojis.js
@@ -1,11 +1,14 @@
import { List as ImmutableList } from 'immutable';
import { STORE_HYDRATE } from '../actions/store';
+import { emojiIndex } from 'emoji-mart';
+import { buildCustomEmojis } from '../emoji';
const initialState = ImmutableList();
-export default function statuses(state = initialState, action) {
+export default function custom_emojis(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
+ emojiIndex.search('', { custom: buildCustomEmojis(action.state.get('custom_emojis', [])) });
return action.state.get('custom_emojis');
default:
return state;
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 595ab3658..755c9eb35 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -1880,15 +1880,18 @@
}
.autosuggest-textarea__suggestions {
+ box-sizing: border-box;
display: none;
position: absolute;
top: 100%;
width: 100%;
z-index: 99;
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.4);
+ box-shadow: 4px 4px 6px rgba($base-shadow-color, 0.4);
background: $ui-secondary-color;
+ border-radius: 0 0 4px 4px;
color: $ui-base-color;
font-size: 14px;
+ padding: 6px;
&.autosuggest-textarea__suggestions--visible {
display: block;
@@ -1898,34 +1901,36 @@
.autosuggest-textarea__suggestions__item {
padding: 10px;
cursor: pointer;
+ border-radius: 4px;
- &:hover {
- background: darken($ui-secondary-color, 10%);
- }
-
+ &:hover,
+ &:focus,
+ &:active,
&.selected {
- background: $ui-highlight-color;
- color: $base-border-color;
+ background: darken($ui-secondary-color, 10%);
}
}
-.autosuggest-account {
- overflow: hidden;
+.autosuggest-account,
+.autosuggest-emoji {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
+ line-height: 18px;
+ font-size: 14px;
}
-.autosuggest-account-icon {
- float: left;
- margin-right: 5px;
+.autosuggest-account-icon,
+.autosuggest-emoji img {
+ display: block;
+ margin-right: 8px;
+ width: 16px;
+ height: 16px;
}
-.autosuggest-status {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-
- strong {
- font-weight: 500;
- }
+.autosuggest-account .display-name__account {
+ color: lighten($ui-base-color, 36%);
}
.character-counter__wrapper {
diff --git a/app/lib/emoji.rb b/app/lib/emoji.rb
deleted file mode 100644
index 45b7f53de..000000000
--- a/app/lib/emoji.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-
-require 'singleton'
-
-class Emoji
- include Singleton
-
- def initialize
- data = Oj.load(File.open(Rails.root.join('lib', 'assets', 'emoji.json')))
-
- @map = {}
-
- data.each do |_, emoji|
- keys = [emoji['shortname']] + emoji['aliases']
- unicode = codepoint_to_unicode(emoji['unicode'])
-
- keys.each do |key|
- @map[key] = unicode
- end
- end
- end
-
- def unicode(shortcode)
- @map[shortcode]
- end
-
- def names
- @map.keys
- end
-
- private
-
- def codepoint_to_unicode(codepoint)
- if codepoint.include?('-')
- codepoint.split('-').map(&:hex).pack('U*')
- else
- [codepoint.hex].pack('U')
- end
- end
-end
diff --git a/app/models/account.rb b/app/models/account.rb
index f175c7081..0b025d1be 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -52,7 +52,6 @@ class Account < ApplicationRecord
include AccountInteractions
include Attachmentable
include Remotable
- include EmojiHelper
enum protocol: [:ostatus, :activitypub]
@@ -269,9 +268,6 @@ class Account < ApplicationRecord
def prepare_contents
display_name&.strip!
note&.strip!
-
- self.display_name = emojify(display_name)
- self.note = emojify(note)
end
def generate_keys
diff --git a/app/models/status.rb b/app/models/status.rb
index f11064cbd..ea4c097bf 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -30,7 +30,6 @@ class Status < ApplicationRecord
include Streamable
include Cacheable
include StatusThreadingConcern
- include EmojiHelper
enum visibility: [:public, :unlisted, :private, :direct], _suffix: :visibility
@@ -267,9 +266,6 @@ class Status < ApplicationRecord
def prepare_contents
text&.strip!
spoiler_text&.strip!
-
- self.text = emojify(text)
- self.spoiler_text = emojify(spoiler_text)
end
def set_reblog
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index bd846552b..8c6fc27df 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -28,7 +28,6 @@
%link{ href: asset_pack_path('features/notifications.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
%link{ href: asset_pack_path('features/community_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
%link{ href: asset_pack_path('features/public_timeline.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
- %link{ href: asset_pack_path('emoji_picker.js'), crossorigin: 'anonymous', rel: 'preload', as: 'script' }/
= javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
= csrf_meta_tags
diff --git a/lib/assets/emoji.json b/lib/assets/emoji.json
deleted file mode 100644
index b12b76024..000000000
--- a/lib/assets/emoji.json
+++ /dev/null
@@ -1 +0,0 @@
-{"grinning":{"unicode":"1f600","unicode_alt":"","code_decimal":"😀","name":"grinning face","shortname":":grinning:","category":"people","emoji_order":"1","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley","emotion"]},"grin":{"unicode":"1f601","unicode_alt":"","code_decimal":"😁","name":"grinning face with smiling eyes","shortname":":grin:","category":"people","emoji_order":"2","aliases":[],"aliases_ascii":[],"keywords":["happy","silly","smiley","emotion","good","selfie"]},"joy":{"unicode":"1f602","unicode_alt":"","code_decimal":"😂","name":"face with tears of joy","shortname":":joy:","category":"people","emoji_order":"3","aliases":[],"aliases_ascii":[":')",":'-)"],"keywords":["happy","silly","smiley","cry","laugh","emotion","sarcastic"]},"rofl":{"unicode":"1f923","unicode_alt":"","code_decimal":"🤣","name":"rolling on the floor laughing","shortname":":rofl:","category":"people","emoji_order":"4","aliases":[":rolling_on_the_floor_laughing:"],"aliases_ascii":[],"keywords":[]},"smiley":{"unicode":"1f603","unicode_alt":"","code_decimal":"😃","name":"smiling face with open mouth","shortname":":smiley:","category":"people","emoji_order":"5","aliases":[],"aliases_ascii":[":D",":-D","=D"],"keywords":["happy","smiley","emotion","good"]},"smile":{"unicode":"1f604","unicode_alt":"","code_decimal":"😄","name":"smiling face with open mouth and smiling eyes","shortname":":smile:","category":"people","emoji_order":"6","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley","emotion"]},"sweat_smile":{"unicode":"1f605","unicode_alt":"","code_decimal":"😅","name":"smiling face with open mouth and cold sweat","shortname":":sweat_smile:","category":"people","emoji_order":"7","aliases":[],"aliases_ascii":["':)","':-)","'=)","':D","':-D","'=D"],"keywords":["smiley","workout","sweat","emotion"]},"laughing":{"unicode":"1f606","unicode_alt":"","code_decimal":"😆","name":"smiling face with open mouth and tightly-closed eyes","shortname":":laughing:","category":"people","emoji_order":"8","aliases":[":satisfied:"],"aliases_ascii":[">:)",">;)",">:-)",">=)"],"keywords":["happy","smiley","laugh","emotion"]},"wink":{"unicode":"1f609","unicode_alt":"","code_decimal":"😉","name":"winking face","shortname":":wink:","category":"people","emoji_order":"9","aliases":[],"aliases_ascii":[";)",";-)","*-)","*)",";-]",";]",";D",";^)"],"keywords":["silly","smiley","emotion"]},"blush":{"unicode":"1f60a","unicode_alt":"","code_decimal":"😊","name":"smiling face with smiling eyes","shortname":":blush:","category":"people","emoji_order":"10","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley","emotion","good","beautiful"]},"yum":{"unicode":"1f60b","unicode_alt":"","code_decimal":"😋","name":"face savouring delicious food","shortname":":yum:","category":"people","emoji_order":"11","aliases":[],"aliases_ascii":[],"keywords":["happy","silly","smiley","emotion","sarcastic","good"]},"sunglasses":{"unicode":"1f60e","unicode_alt":"","code_decimal":"😎","name":"smiling face with sunglasses","shortname":":sunglasses:","category":"people","emoji_order":"12","aliases":[],"aliases_ascii":["B-)","B)","8)","8-)","B-D","8-D"],"keywords":["silly","smiley","emojione","glasses","boys night"]},"heart_eyes":{"unicode":"1f60d","unicode_alt":"","code_decimal":"😍","name":"smiling face with heart-shaped eyes","shortname":":heart_eyes:","category":"people","emoji_order":"13","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley","love","sex","heart eyes","emotion","beautiful"]},"kissing_heart":{"unicode":"1f618","unicode_alt":"","code_decimal":"😘","name":"face throwing a kiss","shortname":":kissing_heart:","category":"people","emoji_order":"14","aliases":[],"aliases_ascii":[":*",":-*","=*",":^*"],"keywords":["smiley","love","sexy"]},"kissing":{"unicode":"1f617","unicode_alt":"","code_decimal":"😗","name":"kissing face","shortname":":kissing:","category":"people","emoji_order":"15","aliases":[],"aliases_ascii":[],"keywords":["smiley","sexy"]},"kissing_smiling_eyes":{"unicode":"1f619","unicode_alt":"","code_decimal":"😙","name":"kissing face with smiling eyes","shortname":":kissing_smiling_eyes:","category":"people","emoji_order":"16","aliases":[],"aliases_ascii":[],"keywords":["smiley","sexy"]},"kissing_closed_eyes":{"unicode":"1f61a","unicode_alt":"","code_decimal":"😚","name":"kissing face with closed eyes","shortname":":kissing_closed_eyes:","category":"people","emoji_order":"17","aliases":[],"aliases_ascii":[],"keywords":["smiley","sexy"]},"relaxed":{"unicode":"263a","unicode_alt":"263a-fe0f","code_decimal":"☺","name":"white smiling face","shortname":":relaxed:","category":"people","emoji_order":"18","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley"]},"slight_smile":{"unicode":"1f642","unicode_alt":"","code_decimal":"🙂","name":"slightly smiling face","shortname":":slight_smile:","category":"people","emoji_order":"19","aliases":[":slightly_smiling_face:"],"aliases_ascii":[":)",":-)","=]","=)",":]"],"keywords":["happy","smiley"]},"hugging":{"unicode":"1f917","unicode_alt":"","code_decimal":"🤗","name":"hugging face","shortname":":hugging:","category":"people","emoji_order":"20","aliases":[":hugging_face:"],"aliases_ascii":[],"keywords":["smiley","hug","thank you"]},"thinking":{"unicode":"1f914","unicode_alt":"","code_decimal":"🤔","name":"thinking face","shortname":":thinking:","category":"people","emoji_order":"21","aliases":[":thinking_face:"],"aliases_ascii":[],"keywords":["smiley","thinking","boys night"]},"neutral_face":{"unicode":"1f610","unicode_alt":"","code_decimal":"😐","name":"neutral face","shortname":":neutral_face:","category":"people","emoji_order":"22","aliases":[],"aliases_ascii":[],"keywords":["mad","smiley","shrug","neutral","emotion"]},"expressionless":{"unicode":"1f611","unicode_alt":"","code_decimal":"😑","name":"expressionless face","shortname":":expressionless:","category":"people","emoji_order":"23","aliases":[],"aliases_ascii":["-_-","-__-","-___-"],"keywords":["mad","smiley","neutral","emotion"]},"no_mouth":{"unicode":"1f636","unicode_alt":"","code_decimal":"😶","name":"face without mouth","shortname":":no_mouth:","category":"people","emoji_order":"24","aliases":[],"aliases_ascii":[":-X",":X",":-#",":#","=X","=x",":x",":-x","=#"],"keywords":["mad","smiley","neutral","emotion"]},"rolling_eyes":{"unicode":"1f644","unicode_alt":"","code_decimal":"🙄","name":"face with rolling eyes","shortname":":rolling_eyes:","category":"people","emoji_order":"25","aliases":[":face_with_rolling_eyes:"],"aliases_ascii":[],"keywords":["mad","smiley","rolling eyes","emotion","sarcastic"]},"smirk":{"unicode":"1f60f","unicode_alt":"","code_decimal":"😏","name":"smirking face","shortname":":smirk:","category":"people","emoji_order":"26","aliases":[],"aliases_ascii":[],"keywords":["silly","smiley","sexy","sarcastic"]},"persevere":{"unicode":"1f623","unicode_alt":"","code_decimal":"😣","name":"persevering face","shortname":":persevere:","category":"people","emoji_order":"27","aliases":[],"aliases_ascii":[">.<"],"keywords":["sad","smiley","angry","emotion"]},"disappointed_relieved":{"unicode":"1f625","unicode_alt":"","code_decimal":"😥","name":"disappointed but relieved face","shortname":":disappointed_relieved:","category":"people","emoji_order":"28","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","stressed","sweat","cry","emotion"]},"open_mouth":{"unicode":"1f62e","unicode_alt":"","code_decimal":"😮","name":"face with open mouth","shortname":":open_mouth:","category":"people","emoji_order":"29","aliases":[],"aliases_ascii":[":-O",":O",":-o",":o","O_O",">:O"],"keywords":["smiley","surprised","wow","emotion"]},"zipper_mouth":{"unicode":"1f910","unicode_alt":"","code_decimal":"🤐","name":"zipper-mouth face","shortname":":zipper_mouth:","category":"people","emoji_order":"30","aliases":[":zipper_mouth_face:"],"aliases_ascii":[],"keywords":["mad","smiley"]},"hushed":{"unicode":"1f62f","unicode_alt":"","code_decimal":"😯","name":"hushed face","shortname":":hushed:","category":"people","emoji_order":"31","aliases":[],"aliases_ascii":[],"keywords":["smiley","surprised","wow"]},"sleepy":{"unicode":"1f62a","unicode_alt":"","code_decimal":"😪","name":"sleepy face","shortname":":sleepy:","category":"people","emoji_order":"32","aliases":[],"aliases_ascii":[],"keywords":["smiley","sick","emotion"]},"tired_face":{"unicode":"1f62b","unicode_alt":"","code_decimal":"😫","name":"tired face","shortname":":tired_face:","category":"people","emoji_order":"33","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","tired","emotion"]},"sleeping":{"unicode":"1f634","unicode_alt":"","code_decimal":"😴","name":"sleeping face","shortname":":sleeping:","category":"people","emoji_order":"34","aliases":[],"aliases_ascii":[],"keywords":["smiley","tired","emotion","goodnight"]},"relieved":{"unicode":"1f60c","unicode_alt":"","code_decimal":"😌","name":"relieved face","shortname":":relieved:","category":"people","emoji_order":"35","aliases":[],"aliases_ascii":[],"keywords":["smiley","emotion"]},"nerd":{"unicode":"1f913","unicode_alt":"","code_decimal":"🤓","name":"nerd face","shortname":":nerd:","category":"people","emoji_order":"36","aliases":[":nerd_face:"],"aliases_ascii":[],"keywords":["smiley","glasses"]},"stuck_out_tongue":{"unicode":"1f61b","unicode_alt":"","code_decimal":"😛","name":"face with stuck-out tongue","shortname":":stuck_out_tongue:","category":"people","emoji_order":"37","aliases":[],"aliases_ascii":[":P",":-P","=P",":-p",":p","=p",":-\u00de",":\u00de",":\u00fe",":-\u00fe",":-b",":b","d:"],"keywords":["smiley","sex","emotion"]},"stuck_out_tongue_winking_eye":{"unicode":"1f61c","unicode_alt":"","code_decimal":"😜","name":"face with stuck-out tongue and winking eye","shortname":":stuck_out_tongue_winking_eye:","category":"people","emoji_order":"38","aliases":[],"aliases_ascii":[">:P","X-P","x-p"],"keywords":["happy","smiley","emotion","parties"]},"stuck_out_tongue_closed_eyes":{"unicode":"1f61d","unicode_alt":"","code_decimal":"😝","name":"face with stuck-out tongue and tightly-closed eyes","shortname":":stuck_out_tongue_closed_eyes:","category":"people","emoji_order":"39","aliases":[],"aliases_ascii":[],"keywords":["happy","smiley","emotion"]},"drooling_face":{"unicode":"1f924","unicode_alt":"","code_decimal":"🤤","name":"drooling face","shortname":":drooling_face:","category":"people","emoji_order":"40","aliases":[":drool:"],"aliases_ascii":[],"keywords":[]},"unamused":{"unicode":"1f612","unicode_alt":"","code_decimal":"😒","name":"unamused face","shortname":":unamused:","category":"people","emoji_order":"41","aliases":[],"aliases_ascii":[],"keywords":["sad","mad","smiley","tired","emotion"]},"sweat":{"unicode":"1f613","unicode_alt":"","code_decimal":"😓","name":"face with cold sweat","shortname":":sweat:","category":"people","emoji_order":"42","aliases":[],"aliases_ascii":["':(","':-(","'=("],"keywords":["sad","smiley","stressed","sweat","emotion"]},"pensive":{"unicode":"1f614","unicode_alt":"","code_decimal":"😔","name":"pensive face","shortname":":pensive:","category":"people","emoji_order":"43","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","emotion","rip"]},"confused":{"unicode":"1f615","unicode_alt":"","code_decimal":"😕","name":"confused face","shortname":":confused:","category":"people","emoji_order":"44","aliases":[],"aliases_ascii":[">:\\",">:\/",":-\/",":-.",":\/",":\\","=\/","=\\",":L","=L"],"keywords":["smiley","surprised","emotion"]},"upside_down":{"unicode":"1f643","unicode_alt":"","code_decimal":"🙃","name":"upside-down face","shortname":":upside_down:","category":"people","emoji_order":"45","aliases":[":upside_down_face:"],"aliases_ascii":[],"keywords":["silly","smiley","sarcastic"]},"money_mouth":{"unicode":"1f911","unicode_alt":"","code_decimal":"🤑","name":"money-mouth face","shortname":":money_mouth:","category":"people","emoji_order":"46","aliases":[":money_mouth_face:"],"aliases_ascii":[],"keywords":["smiley","win","money","emotion","boys night"]},"astonished":{"unicode":"1f632","unicode_alt":"","code_decimal":"😲","name":"astonished face","shortname":":astonished:","category":"people","emoji_order":"47","aliases":[],"aliases_ascii":[],"keywords":["smiley","surprised","wow","emotion","omg"]},"frowning2":{"unicode":"2639","unicode_alt":"2639-fe0f","code_decimal":"☹","name":"white frowning face","shortname":":frowning2:","category":"people","emoji_order":"48","aliases":[":white_frowning_face:"],"aliases_ascii":[],"keywords":["sad","smiley","emotion"]},"slight_frown":{"unicode":"1f641","unicode_alt":"","code_decimal":"🙁","name":"slightly frowning face","shortname":":slight_frown:","category":"people","emoji_order":"49","aliases":[":slightly_frowning_face:"],"aliases_ascii":[],"keywords":["sad","smiley","emotion"]},"confounded":{"unicode":"1f616","unicode_alt":"","code_decimal":"😖","name":"confounded face","shortname":":confounded:","category":"people","emoji_order":"50","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","angry","emotion"]},"disappointed":{"unicode":"1f61e","unicode_alt":"","code_decimal":"😞","name":"disappointed face","shortname":":disappointed:","category":"people","emoji_order":"51","aliases":[],"aliases_ascii":[">:[",":-(",":(",":-[",":[","=("],"keywords":["sad","smiley","tired","emotion"]},"worried":{"unicode":"1f61f","unicode_alt":"","code_decimal":"😟","name":"worried face","shortname":":worried:","category":"people","emoji_order":"52","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","emotion"]},"triumph":{"unicode":"1f624","unicode_alt":"","code_decimal":"😤","name":"face with look of triumph","shortname":":triumph:","category":"people","emoji_order":"53","aliases":[],"aliases_ascii":[],"keywords":["mad","smiley","angry","emotion","steam"]},"cry":{"unicode":"1f622","unicode_alt":"","code_decimal":"😢","name":"crying face","shortname":":cry:","category":"people","emoji_order":"54","aliases":[],"aliases_ascii":[":'(",":'-(",";(",";-("],"keywords":["sad","smiley","cry","emotion","rip","heartbreak"]},"sob":{"unicode":"1f62d","unicode_alt":"","code_decimal":"😭","name":"loudly crying face","shortname":":sob:","category":"people","emoji_order":"55","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","cry","emotion","heartbreak"]},"frowning":{"unicode":"1f626","unicode_alt":"","code_decimal":"😦","name":"frowning face with open mouth","shortname":":frowning:","category":"people","emoji_order":"56","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","surprised","emotion"]},"anguished":{"unicode":"1f627","unicode_alt":"","code_decimal":"😧","name":"anguished face","shortname":":anguished:","category":"people","emoji_order":"57","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","surprised","emotion"]},"fearful":{"unicode":"1f628","unicode_alt":"","code_decimal":"😨","name":"fearful face","shortname":":fearful:","category":"people","emoji_order":"58","aliases":[],"aliases_ascii":["D:"],"keywords":["smiley","surprised","emotion"]},"weary":{"unicode":"1f629","unicode_alt":"","code_decimal":"😩","name":"weary face","shortname":":weary:","category":"people","emoji_order":"59","aliases":[],"aliases_ascii":[],"keywords":["sad","smiley","tired","stressed","emotion"]},"grimacing":{"unicode":"1f62c","unicode_alt":"","code_decimal":"😬","name":"grimacing face","shortname":":grimacing:","category":"people","emoji_order":"60","aliases":[],"aliases_ascii":[],"keywords":["silly","smiley","emotion","selfie"]},"cold_sweat":{"unicode":"1f630","unicode_alt":"","code_decimal":"😰","name":"face with open mouth and cold sweat","shortname":":cold_sweat:","category":"people","emoji_order":"61","aliases":[],"aliases_ascii":[],"keywords":["smiley","sweat","emotion"]},"scream":{"unicode":"1f631","unicode_alt":"","code_decimal":"😱","name":"face screaming in fear","shortname":":scream:","category":"people","emoji_order":"62","aliases":[],"aliases_ascii":[],"keywords":["smiley","surprised","wow","emotion","omg"]},"flushed":{"unicode":"1f633","unicode_alt":"","code_decimal":"😳","name":"flushed face","shortname":":flushed:","category":"people","emoji_order":"63","aliases":[],"aliases_ascii":[":$","=$"],"keywords":["smiley","emotion","omg"]},"dizzy_face":{"unicode":"1f635","unicode_alt":"","code_decimal":"😵","name":"dizzy face","shortname":":dizzy_face:","category":"people","emoji_order":"64","aliases":[],"aliases_ascii":["#-)","#)","%-)","%)","X)","X-)"],"keywords":["smiley","surprised","dead","wow","emotion","omg"]},"rage":{"unicode":"1f621","unicode_alt":"","code_decimal":"😡","name":"pouting face","shortname":":rage:","category":"people","emoji_order":"65","aliases":[],"aliases_ascii":[],"keywords":["mad","smiley","angry","emotion"]},"angry":{"unicode":"1f620","unicode_alt":"","code_decimal":"😠","name":"angry face","shortname":":angry:","category":"people","emoji_order":"66","aliases":[],"aliases_ascii":[">:(",">:-(",":@"],"keywords":["mad","smiley","emotion"]},"innocent":{"unicode":"1f607","unicode_alt":"","code_decimal":"😇","name":"smiling face with halo","shortname":":innocent:","category":"people","emoji_order":"67","aliases":[],"aliases_ascii":["O:-)","0:-3","0:3","0:-)","0:)","0;^)","O:)","O;-)","O=)","0;-)","O:-3","O:3"],"keywords":["smiley","emotion"]},"cowboy":{"unicode":"1f920","unicode_alt":"","code_decimal":"🤠","name":"face with cowboy hat","shortname":":cowboy:","category":"people","emoji_order":"68","aliases":[":face_with_cowboy_hat:"],"aliases_ascii":[],"keywords":[]},"clown":{"unicode":"1f921","unicode_alt":"","code_decimal":"🤡","name":"clown face","shortname":":clown:","category":"people","emoji_order":"69","aliases":[":clown_face:"],"aliases_ascii":[],"keywords":[]},"lying_face":{"unicode":"1f925","unicode_alt":"","code_decimal":"🤥","name":"lying face","shortname":":lying_face:","category":"people","emoji_order":"70","aliases":[":liar:"],"aliases_ascii":[],"keywords":[]},"mask":{"unicode":"1f637","unicode_alt":"","code_decimal":"😷","name":"face with medical mask","shortname":":mask:","category":"people","emoji_order":"71","aliases":[],"aliases_ascii":[],"keywords":["smiley","dead","health","sick"]},"thermometer_face":{"unicode":"1f912","unicode_alt":"","code_decimal":"🤒","name":"face with thermometer","shortname":":thermometer_face:","category":"people","emoji_order":"72","aliases":[":face_with_thermometer:"],"aliases_ascii":[],"keywords":["smiley","health","sick","emotion"]},"head_bandage":{"unicode":"1f915","unicode_alt":"","code_decimal":"🤕","name":"face with head-bandage","shortname":":head_bandage:","category":"people","emoji_order":"73","aliases":[":face_with_head_bandage:"],"aliases_ascii":[],"keywords":["smiley","health","sick","emotion"]},"nauseated_face":{"unicode":"1f922","unicode_alt":"","code_decimal":"🤢","name":"nauseated face","shortname":":nauseated_face:","category":"people","emoji_order":"74","aliases":[":sick:"],"aliases_ascii":[],"keywords":[]},"sneezing_face":{"unicode":"1f927","unicode_alt":"","code_decimal":"🤧","name":"sneezing face","shortname":":sneezing_face:","category":"people","emoji_order":"75","aliases":[":sneeze:"],"aliases_ascii":[],"keywords":[]},"smiling_imp":{"unicode":"1f608","unicode_alt":"","code_decimal":"😈","name":"smiling face with horns","shortname":":smiling_imp:","category":"people","emoji_order":"76","aliases":[],"aliases_ascii":[],"keywords":["silly","smiley","angry","monster","devil","boys night"]},"imp":{"unicode":"1f47f","unicode_alt":"","code_decimal":"👿","name":"imp","shortname":":imp:","category":"people","emoji_order":"77","aliases":[],"aliases_ascii":[],"keywords":["smiley","monster","devil","wth"]},"japanese_ogre":{"unicode":"1f479","unicode_alt":"","code_decimal":"👹","name":"japanese ogre","shortname":":japanese_ogre:","category":"people","emoji_order":"78","aliases":[],"aliases_ascii":[],"keywords":["monster"]},"japanese_goblin":{"unicode":"1f47a","unicode_alt":"","code_decimal":"👺","name":"japanese goblin","shortname":":japanese_goblin:","category":"people","emoji_order":"79","aliases":[],"aliases_ascii":[],"keywords":["angry","monster"]},"skull":{"unicode":"1f480","unicode_alt":"","code_decimal":"💀","name":"skull","shortname":":skull:","category":"people","emoji_order":"80","aliases":[":skeleton:"],"aliases_ascii":[],"keywords":["dead","halloween","skull"]},"skull_crossbones":{"unicode":"2620","unicode_alt":"2620-fe0f","code_decimal":"☠","name":"skull and crossbones","shortname":":skull_crossbones:","category":"objects","emoji_order":"81","aliases":[":skull_and_crossbones:"],"aliases_ascii":[],"keywords":["symbol","dead","skull"]},"ghost":{"unicode":"1f47b","unicode_alt":"","code_decimal":"👻","name":"ghost","shortname":":ghost:","category":"people","emoji_order":"82","aliases":[],"aliases_ascii":[],"keywords":["holidays","halloween","monster"]},"alien":{"unicode":"1f47d","unicode_alt":"","code_decimal":"👽","name":"extraterrestrial alien","shortname":":alien:","category":"people","emoji_order":"83","aliases":[],"aliases_ascii":[],"keywords":["space","monster","alien","scientology"]},"space_invader":{"unicode":"1f47e","unicode_alt":"","code_decimal":"👾","name":"alien monster","shortname":":space_invader:","category":"activity","emoji_order":"84","aliases":[],"aliases_ascii":[],"keywords":["monster","alien"]},"robot":{"unicode":"1f916","unicode_alt":"","code_decimal":"🤖","name":"robot face","shortname":":robot:","category":"people","emoji_order":"85","aliases":[":robot_face:"],"aliases_ascii":[],"keywords":["monster","robot"]},"poop":{"unicode":"1f4a9","unicode_alt":"","code_decimal":"💩","name":"pile of poo","shortname":":poop:","category":"people","emoji_order":"86","aliases":[":shit:",":hankey:",":poo:"],"aliases_ascii":[],"keywords":["bathroom","shit","sol","diarrhea"]},"smiley_cat":{"unicode":"1f63a","unicode_alt":"","code_decimal":"😺","name":"smiling cat face with open mouth","shortname":":smiley_cat:","category":"people","emoji_order":"87","aliases":[],"aliases_ascii":[],"keywords":["happy","cat","animal"]},"smile_cat":{"unicode":"1f638","unicode_alt":"","code_decimal":"😸","name":"grinning cat face with smiling eyes","shortname":":smile_cat:","category":"people","emoji_order":"88","aliases":[],"aliases_ascii":[],"keywords":["happy","cat","animal"]},"joy_cat":{"unicode":"1f639","unicode_alt":"","code_decimal":"😹","name":"cat face with tears of joy","shortname":":joy_cat:","category":"people","emoji_order":"89","aliases":[],"aliases_ascii":[],"keywords":["happy","silly","cry","laugh","cat","animal","sarcastic"]},"heart_eyes_cat":{"unicode":"1f63b","unicode_alt":"","code_decimal":"😻","name":"smiling cat face with heart-shaped eyes","shortname":":heart_eyes_cat:","category":"people","emoji_order":"90","aliases":[],"aliases_ascii":[],"keywords":["heart eyes","cat","animal","beautiful"]},"smirk_cat":{"unicode":"1f63c","unicode_alt":"","code_decimal":"😼","name":"cat face with wry smile","shortname":":smirk_cat:","category":"people","emoji_order":"91","aliases":[],"aliases_ascii":[],"keywords":["cat","animal"]},"kissing_cat":{"unicode":"1f63d","unicode_alt":"","code_decimal":"😽","name":"kissing cat face with closed eyes","shortname":":kissing_cat:","category":"people","emoji_order":"92","aliases":[],"aliases_ascii":[],"keywords":["cat","animal"]},"scream_cat":{"unicode":"1f640","unicode_alt":"","code_decimal":"🙀","name":"weary cat face","shortname":":scream_cat:","category":"people","emoji_order":"93","aliases":[],"aliases_ascii":[],"keywords":["cat","animal"]},"crying_cat_face":{"unicode":"1f63f","unicode_alt":"","code_decimal":"😿","name":"crying cat face","shortname":":crying_cat_face:","category":"people","emoji_order":"94","aliases":[],"aliases_ascii":[],"keywords":["cry","cat","animal"]},"pouting_cat":{"unicode":"1f63e","unicode_alt":"","code_decimal":"😾","name":"pouting cat face","shortname":":pouting_cat:","category":"people","emoji_order":"95","aliases":[],"aliases_ascii":[],"keywords":["cat","animal"]},"see_no_evil":{"unicode":"1f648","unicode_alt":"","code_decimal":"🙈","name":"see-no-evil monkey","shortname":":see_no_evil:","category":"nature","emoji_order":"96","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"hear_no_evil":{"unicode":"1f649","unicode_alt":"","code_decimal":"🙉","name":"hear-no-evil monkey","shortname":":hear_no_evil:","category":"nature","emoji_order":"97","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"speak_no_evil":{"unicode":"1f64a","unicode_alt":"","code_decimal":"🙊","name":"speak-no-evil monkey","shortname":":speak_no_evil:","category":"nature","emoji_order":"98","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"boy":{"unicode":"1f466","unicode_alt":"","code_decimal":"👦","name":"boy","shortname":":boy:","category":"people","emoji_order":"99","aliases":[],"aliases_ascii":[],"keywords":["people","baby","diversity"]},"boy_tone1":{"unicode":"1f466-1f3fb","unicode_alt":"","code_decimal":"👦🏻","name":"boy tone 1","shortname":":boy_tone1:","category":"people","emoji_order":"100","aliases":[],"aliases_ascii":[],"keywords":[]},"boy_tone2":{"unicode":"1f466-1f3fc","unicode_alt":"","code_decimal":"👦🏼","name":"boy tone 2","shortname":":boy_tone2:","category":"people","emoji_order":"101","aliases":[],"aliases_ascii":[],"keywords":[]},"boy_tone3":{"unicode":"1f466-1f3fd","unicode_alt":"","code_decimal":"👦🏽","name":"boy tone 3","shortname":":boy_tone3:","category":"people","emoji_order":"102","aliases":[],"aliases_ascii":[],"keywords":[]},"boy_tone4":{"unicode":"1f466-1f3fe","unicode_alt":"","code_decimal":"👦🏾","name":"boy tone 4","shortname":":boy_tone4:","category":"people","emoji_order":"103","aliases":[],"aliases_ascii":[],"keywords":[]},"boy_tone5":{"unicode":"1f466-1f3ff","unicode_alt":"","code_decimal":"👦🏿","name":"boy tone 5","shortname":":boy_tone5:","category":"people","emoji_order":"104","aliases":[],"aliases_ascii":[],"keywords":[]},"girl":{"unicode":"1f467","unicode_alt":"","code_decimal":"👧","name":"girl","shortname":":girl:","category":"people","emoji_order":"105","aliases":[],"aliases_ascii":[],"keywords":["people","women","baby","diversity"]},"girl_tone1":{"unicode":"1f467-1f3fb","unicode_alt":"","code_decimal":"👧🏻","name":"girl tone 1","shortname":":girl_tone1:","category":"people","emoji_order":"106","aliases":[],"aliases_ascii":[],"keywords":[]},"girl_tone2":{"unicode":"1f467-1f3fc","unicode_alt":"","code_decimal":"👧🏼","name":"girl tone 2","shortname":":girl_tone2:","category":"people","emoji_order":"107","aliases":[],"aliases_ascii":[],"keywords":[]},"girl_tone3":{"unicode":"1f467-1f3fd","unicode_alt":"","code_decimal":"👧🏽","name":"girl tone 3","shortname":":girl_tone3:","category":"people","emoji_order":"108","aliases":[],"aliases_ascii":[],"keywords":[]},"girl_tone4":{"unicode":"1f467-1f3fe","unicode_alt":"","code_decimal":"👧🏾","name":"girl tone 4","shortname":":girl_tone4:","category":"people","emoji_order":"109","aliases":[],"aliases_ascii":[],"keywords":[]},"girl_tone5":{"unicode":"1f467-1f3ff","unicode_alt":"","code_decimal":"👧🏿","name":"girl tone 5","shortname":":girl_tone5:","category":"people","emoji_order":"110","aliases":[],"aliases_ascii":[],"keywords":[]},"man":{"unicode":"1f468","unicode_alt":"","code_decimal":"👨","name":"man","shortname":":man:","category":"people","emoji_order":"111","aliases":[],"aliases_ascii":[],"keywords":["people","men","sex","diversity","selfie","boys night"]},"man_tone1":{"unicode":"1f468-1f3fb","unicode_alt":"","code_decimal":"👨🏻","name":"man tone 1","shortname":":man_tone1:","category":"people","emoji_order":"112","aliases":[],"aliases_ascii":[],"keywords":[]},"man_tone2":{"unicode":"1f468-1f3fc","unicode_alt":"","code_decimal":"👨🏼","name":"man tone 2","shortname":":man_tone2:","category":"people","emoji_order":"113","aliases":[],"aliases_ascii":[],"keywords":[]},"man_tone3":{"unicode":"1f468-1f3fd","unicode_alt":"","code_decimal":"👨🏽","name":"man tone 3","shortname":":man_tone3:","category":"people","emoji_order":"114","aliases":[],"aliases_ascii":[],"keywords":[]},"man_tone4":{"unicode":"1f468-1f3fe","unicode_alt":"","code_decimal":"👨🏾","name":"man tone 4","shortname":":man_tone4:","category":"people","emoji_order":"115","aliases":[],"aliases_ascii":[],"keywords":[]},"man_tone5":{"unicode":"1f468-1f3ff","unicode_alt":"","code_decimal":"👨🏿","name":"man tone 5","shortname":":man_tone5:","category":"people","emoji_order":"116","aliases":[],"aliases_ascii":[],"keywords":[]},"woman":{"unicode":"1f469","unicode_alt":"","code_decimal":"👩","name":"woman","shortname":":woman:","category":"people","emoji_order":"117","aliases":[],"aliases_ascii":[],"keywords":["people","women","sex","diversity","feminist","selfie","girls night"]},"woman_tone1":{"unicode":"1f469-1f3fb","unicode_alt":"","code_decimal":"👩🏻","name":"woman tone 1","shortname":":woman_tone1:","category":"people","emoji_order":"118","aliases":[],"aliases_ascii":[],"keywords":[]},"woman_tone2":{"unicode":"1f469-1f3fc","unicode_alt":"","code_decimal":"👩🏼","name":"woman tone 2","shortname":":woman_tone2:","category":"people","emoji_order":"119","aliases":[],"aliases_ascii":[],"keywords":[]},"woman_tone3":{"unicode":"1f469-1f3fd","unicode_alt":"","code_decimal":"👩🏽","name":"woman tone 3","shortname":":woman_tone3:","category":"people","emoji_order":"120","aliases":[],"aliases_ascii":[],"keywords":[]},"woman_tone4":{"unicode":"1f469-1f3fe","unicode_alt":"","code_decimal":"👩🏾","name":"woman tone 4","shortname":":woman_tone4:","category":"people","emoji_order":"121","aliases":[],"aliases_ascii":[],"keywords":[]},"woman_tone5":{"unicode":"1f469-1f3ff","unicode_alt":"","code_decimal":"👩🏿","name":"woman tone 5","shortname":":woman_tone5:","category":"people","emoji_order":"122","aliases":[],"aliases_ascii":[],"keywords":[]},"older_man":{"unicode":"1f474","unicode_alt":"","code_decimal":"👴","name":"older man","shortname":":older_man:","category":"people","emoji_order":"123","aliases":[],"aliases_ascii":[],"keywords":["people","men","old people","diversity"]},"older_man_tone1":{"unicode":"1f474-1f3fb","unicode_alt":"","code_decimal":"👴🏻","name":"older man tone 1","shortname":":older_man_tone1:","category":"people","emoji_order":"124","aliases":[],"aliases_ascii":[],"keywords":[]},"older_man_tone2":{"unicode":"1f474-1f3fc","unicode_alt":"","code_decimal":"👴🏼","name":"older man tone 2","shortname":":older_man_tone2:","category":"people","emoji_order":"125","aliases":[],"aliases_ascii":[],"keywords":[]},"older_man_tone3":{"unicode":"1f474-1f3fd","unicode_alt":"","code_decimal":"👴🏽","name":"older man tone 3","shortname":":older_man_tone3:","category":"people","emoji_order":"126","aliases":[],"aliases_ascii":[],"keywords":[]},"older_man_tone4":{"unicode":"1f474-1f3fe","unicode_alt":"","code_decimal":"👴🏾","name":"older man tone 4","shortname":":older_man_tone4:","category":"people","emoji_order":"127","aliases":[],"aliases_ascii":[],"keywords":[]},"older_man_tone5":{"unicode":"1f474-1f3ff","unicode_alt":"","code_decimal":"👴🏿","name":"older man tone 5","shortname":":older_man_tone5:","category":"people","emoji_order":"128","aliases":[],"aliases_ascii":[],"keywords":[]},"older_woman":{"unicode":"1f475","unicode_alt":"","code_decimal":"👵","name":"older woman","shortname":":older_woman:","category":"people","emoji_order":"129","aliases":[":grandma:"],"aliases_ascii":[],"keywords":["people","old people","diversity"]},"older_woman_tone1":{"unicode":"1f475-1f3fb","unicode_alt":"","code_decimal":"👵🏻","name":"older woman tone 1","shortname":":older_woman_tone1:","category":"people","emoji_order":"130","aliases":[":grandma_tone1:"],"aliases_ascii":[],"keywords":[]},"older_woman_tone2":{"unicode":"1f475-1f3fc","unicode_alt":"","code_decimal":"👵🏼","name":"older woman tone 2","shortname":":older_woman_tone2:","category":"people","emoji_order":"131","aliases":[":grandma_tone2:"],"aliases_ascii":[],"keywords":[]},"older_woman_tone3":{"unicode":"1f475-1f3fd","unicode_alt":"","code_decimal":"👵🏽","name":"older woman tone 3","shortname":":older_woman_tone3:","category":"people","emoji_order":"132","aliases":[":grandma_tone3:"],"aliases_ascii":[],"keywords":[]},"older_woman_tone4":{"unicode":"1f475-1f3fe","unicode_alt":"","code_decimal":"👵🏾","name":"older woman tone 4","shortname":":older_woman_tone4:","category":"people","emoji_order":"133","aliases":[":grandma_tone4:"],"aliases_ascii":[],"keywords":[]},"older_woman_tone5":{"unicode":"1f475-1f3ff","unicode_alt":"","code_decimal":"👵🏿","name":"older woman tone 5","shortname":":older_woman_tone5:","category":"people","emoji_order":"134","aliases":[":grandma_tone5:"],"aliases_ascii":[],"keywords":[]},"baby":{"unicode":"1f476","unicode_alt":"","code_decimal":"👶","name":"baby","shortname":":baby:","category":"people","emoji_order":"135","aliases":[],"aliases_ascii":[],"keywords":["people","baby","diversity"]},"baby_tone1":{"unicode":"1f476-1f3fb","unicode_alt":"","code_decimal":"👶🏻","name":"baby tone 1","shortname":":baby_tone1:","category":"people","emoji_order":"136","aliases":[],"aliases_ascii":[],"keywords":[]},"baby_tone2":{"unicode":"1f476-1f3fc","unicode_alt":"","code_decimal":"👶🏼","name":"baby tone 2","shortname":":baby_tone2:","category":"people","emoji_order":"137","aliases":[],"aliases_ascii":[],"keywords":[]},"baby_tone3":{"unicode":"1f476-1f3fd","unicode_alt":"","code_decimal":"👶🏽","name":"baby tone 3","shortname":":baby_tone3:","category":"people","emoji_order":"138","aliases":[],"aliases_ascii":[],"keywords":[]},"baby_tone4":{"unicode":"1f476-1f3fe","unicode_alt":"","code_decimal":"👶🏾","name":"baby tone 4","shortname":":baby_tone4:","category":"people","emoji_order":"139","aliases":[],"aliases_ascii":[],"keywords":[]},"baby_tone5":{"unicode":"1f476-1f3ff","unicode_alt":"","code_decimal":"👶🏿","name":"baby tone 5","shortname":":baby_tone5:","category":"people","emoji_order":"140","aliases":[],"aliases_ascii":[],"keywords":[]},"angel":{"unicode":"1f47c","unicode_alt":"","code_decimal":"👼","name":"baby angel","shortname":":angel:","category":"people","emoji_order":"141","aliases":[],"aliases_ascii":[],"keywords":["people","diversity","omg"]},"angel_tone1":{"unicode":"1f47c-1f3fb","unicode_alt":"","code_decimal":"👼🏻","name":"baby angel tone 1","shortname":":angel_tone1:","category":"people","emoji_order":"142","aliases":[],"aliases_ascii":[],"keywords":[]},"angel_tone2":{"unicode":"1f47c-1f3fc","unicode_alt":"","code_decimal":"👼🏼","name":"baby angel tone 2","shortname":":angel_tone2:","category":"people","emoji_order":"143","aliases":[],"aliases_ascii":[],"keywords":[]},"angel_tone3":{"unicode":"1f47c-1f3fd","unicode_alt":"","code_decimal":"👼🏽","name":"baby angel tone 3","shortname":":angel_tone3:","category":"people","emoji_order":"144","aliases":[],"aliases_ascii":[],"keywords":[]},"angel_tone4":{"unicode":"1f47c-1f3fe","unicode_alt":"","code_decimal":"👼🏾","name":"baby angel tone 4","shortname":":angel_tone4:","category":"people","emoji_order":"145","aliases":[],"aliases_ascii":[],"keywords":[]},"angel_tone5":{"unicode":"1f47c-1f3ff","unicode_alt":"","code_decimal":"👼🏿","name":"baby angel tone 5","shortname":":angel_tone5:","category":"people","emoji_order":"146","aliases":[],"aliases_ascii":[],"keywords":[]},"cop":{"unicode":"1f46e","unicode_alt":"","code_decimal":"👮","name":"police officer","shortname":":cop:","category":"people","emoji_order":"339","aliases":[],"aliases_ascii":[],"keywords":["people","hat","men","diversity","job","police","911"]},"cop_tone1":{"unicode":"1f46e-1f3fb","unicode_alt":"","code_decimal":"👮🏻","name":"police officer tone 1","shortname":":cop_tone1:","category":"people","emoji_order":"340","aliases":[],"aliases_ascii":[],"keywords":[]},"cop_tone2":{"unicode":"1f46e-1f3fc","unicode_alt":"","code_decimal":"👮🏼","name":"police officer tone 2","shortname":":cop_tone2:","category":"people","emoji_order":"341","aliases":[],"aliases_ascii":[],"keywords":[]},"cop_tone3":{"unicode":"1f46e-1f3fd","unicode_alt":"","code_decimal":"👮🏽","name":"police officer tone 3","shortname":":cop_tone3:","category":"people","emoji_order":"342","aliases":[],"aliases_ascii":[],"keywords":[]},"cop_tone4":{"unicode":"1f46e-1f3fe","unicode_alt":"","code_decimal":"👮🏾","name":"police officer tone 4","shortname":":cop_tone4:","category":"people","emoji_order":"343","aliases":[],"aliases_ascii":[],"keywords":[]},"cop_tone5":{"unicode":"1f46e-1f3ff","unicode_alt":"","code_decimal":"👮🏿","name":"police officer tone 5","shortname":":cop_tone5:","category":"people","emoji_order":"344","aliases":[],"aliases_ascii":[],"keywords":[]},"spy":{"unicode":"1f575","unicode_alt":"1f575-fe0f","code_decimal":"🕵","name":"sleuth or spy","shortname":":spy:","category":"people","emoji_order":"357","aliases":[":sleuth_or_spy:"],"aliases_ascii":[],"keywords":["people","hat","men","glasses","diversity","job"]},"spy_tone1":{"unicode":"1f575-1f3fb","unicode_alt":"","code_decimal":"🕵🏻","name":"sleuth or spy tone 1","shortname":":spy_tone1:","category":"people","emoji_order":"358","aliases":[":sleuth_or_spy_tone1:"],"aliases_ascii":[],"keywords":[]},"spy_tone2":{"unicode":"1f575-1f3fc","unicode_alt":"","code_decimal":"🕵🏼","name":"sleuth or spy tone 2","shortname":":spy_tone2:","category":"people","emoji_order":"359","aliases":[":sleuth_or_spy_tone2:"],"aliases_ascii":[],"keywords":[]},"spy_tone3":{"unicode":"1f575-1f3fd","unicode_alt":"","code_decimal":"🕵🏽","name":"sleuth or spy tone 3","shortname":":spy_tone3:","category":"people","emoji_order":"360","aliases":[":sleuth_or_spy_tone3:"],"aliases_ascii":[],"keywords":[]},"spy_tone4":{"unicode":"1f575-1f3fe","unicode_alt":"","code_decimal":"🕵🏾","name":"sleuth or spy tone 4","shortname":":spy_tone4:","category":"people","emoji_order":"361","aliases":[":sleuth_or_spy_tone4:"],"aliases_ascii":[],"keywords":[]},"spy_tone5":{"unicode":"1f575-1f3ff","unicode_alt":"","code_decimal":"🕵🏿","name":"sleuth or spy tone 5","shortname":":spy_tone5:","category":"people","emoji_order":"362","aliases":[":sleuth_or_spy_tone5:"],"aliases_ascii":[],"keywords":[]},"guardsman":{"unicode":"1f482","unicode_alt":"","code_decimal":"💂","name":"guardsman","shortname":":guardsman:","category":"people","emoji_order":"375","aliases":[],"aliases_ascii":[],"keywords":["people","hat","men","diversity","job"]},"guardsman_tone1":{"unicode":"1f482-1f3fb","unicode_alt":"","code_decimal":"💂🏻","name":"guardsman tone 1","shortname":":guardsman_tone1:","category":"people","emoji_order":"376","aliases":[],"aliases_ascii":[],"keywords":[]},"guardsman_tone2":{"unicode":"1f482-1f3fc","unicode_alt":"","code_decimal":"💂🏼","name":"guardsman tone 2","shortname":":guardsman_tone2:","category":"people","emoji_order":"377","aliases":[],"aliases_ascii":[],"keywords":[]},"guardsman_tone3":{"unicode":"1f482-1f3fd","unicode_alt":"","code_decimal":"💂🏽","name":"guardsman tone 3","shortname":":guardsman_tone3:","category":"people","emoji_order":"378","aliases":[],"aliases_ascii":[],"keywords":[]},"guardsman_tone4":{"unicode":"1f482-1f3fe","unicode_alt":"","code_decimal":"💂🏾","name":"guardsman tone 4","shortname":":guardsman_tone4:","category":"people","emoji_order":"379","aliases":[],"aliases_ascii":[],"keywords":[]},"guardsman_tone5":{"unicode":"1f482-1f3ff","unicode_alt":"","code_decimal":"💂🏿","name":"guardsman tone 5","shortname":":guardsman_tone5:","category":"people","emoji_order":"380","aliases":[],"aliases_ascii":[],"keywords":[]},"construction_worker":{"unicode":"1f477","unicode_alt":"","code_decimal":"👷","name":"construction worker","shortname":":construction_worker:","category":"people","emoji_order":"393","aliases":[],"aliases_ascii":[],"keywords":["people","hat","men","diversity","job"]},"construction_worker_tone1":{"unicode":"1f477-1f3fb","unicode_alt":"","code_decimal":"👷🏻","name":"construction worker tone 1","shortname":":construction_worker_tone1:","category":"people","emoji_order":"394","aliases":[],"aliases_ascii":[],"keywords":[]},"construction_worker_tone2":{"unicode":"1f477-1f3fc","unicode_alt":"","code_decimal":"👷🏼","name":"construction worker tone 2","shortname":":construction_worker_tone2:","category":"people","emoji_order":"395","aliases":[],"aliases_ascii":[],"keywords":[]},"construction_worker_tone3":{"unicode":"1f477-1f3fd","unicode_alt":"","code_decimal":"👷🏽","name":"construction worker tone 3","shortname":":construction_worker_tone3:","category":"people","emoji_order":"396","aliases":[],"aliases_ascii":[],"keywords":[]},"construction_worker_tone4":{"unicode":"1f477-1f3fe","unicode_alt":"","code_decimal":"👷🏾","name":"construction worker tone 4","shortname":":construction_worker_tone4:","category":"people","emoji_order":"397","aliases":[],"aliases_ascii":[],"keywords":[]},"construction_worker_tone5":{"unicode":"1f477-1f3ff","unicode_alt":"","code_decimal":"👷🏿","name":"construction worker tone 5","shortname":":construction_worker_tone5:","category":"people","emoji_order":"398","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_turban":{"unicode":"1f473","unicode_alt":"","code_decimal":"👳","name":"man with turban","shortname":":man_with_turban:","category":"people","emoji_order":"411","aliases":[],"aliases_ascii":[],"keywords":["people","hat","diversity"]},"man_with_turban_tone1":{"unicode":"1f473-1f3fb","unicode_alt":"","code_decimal":"👳🏻","name":"man with turban tone 1","shortname":":man_with_turban_tone1:","category":"people","emoji_order":"412","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_turban_tone2":{"unicode":"1f473-1f3fc","unicode_alt":"","code_decimal":"👳🏼","name":"man with turban tone 2","shortname":":man_with_turban_tone2:","category":"people","emoji_order":"413","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_turban_tone3":{"unicode":"1f473-1f3fd","unicode_alt":"","code_decimal":"👳🏽","name":"man with turban tone 3","shortname":":man_with_turban_tone3:","category":"people","emoji_order":"414","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_turban_tone4":{"unicode":"1f473-1f3fe","unicode_alt":"","code_decimal":"👳🏾","name":"man with turban tone 4","shortname":":man_with_turban_tone4:","category":"people","emoji_order":"415","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_turban_tone5":{"unicode":"1f473-1f3ff","unicode_alt":"","code_decimal":"👳🏿","name":"man with turban tone 5","shortname":":man_with_turban_tone5:","category":"people","emoji_order":"416","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_blond_hair":{"unicode":"1f471","unicode_alt":"","code_decimal":"👱","name":"person with blond hair","shortname":":person_with_blond_hair:","category":"people","emoji_order":"429","aliases":[],"aliases_ascii":[],"keywords":["people","men","diversity"]},"person_with_blond_hair_tone1":{"unicode":"1f471-1f3fb","unicode_alt":"","code_decimal":"👱🏻","name":"person with blond hair tone 1","shortname":":person_with_blond_hair_tone1:","category":"people","emoji_order":"430","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_blond_hair_tone2":{"unicode":"1f471-1f3fc","unicode_alt":"","code_decimal":"👱🏼","name":"person with blond hair tone 2","shortname":":person_with_blond_hair_tone2:","category":"people","emoji_order":"431","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_blond_hair_tone3":{"unicode":"1f471-1f3fd","unicode_alt":"","code_decimal":"👱🏽","name":"person with blond hair tone 3","shortname":":person_with_blond_hair_tone3:","category":"people","emoji_order":"432","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_blond_hair_tone4":{"unicode":"1f471-1f3fe","unicode_alt":"","code_decimal":"👱🏾","name":"person with blond hair tone 4","shortname":":person_with_blond_hair_tone4:","category":"people","emoji_order":"433","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_blond_hair_tone5":{"unicode":"1f471-1f3ff","unicode_alt":"","code_decimal":"👱🏿","name":"person with blond hair tone 5","shortname":":person_with_blond_hair_tone5:","category":"people","emoji_order":"434","aliases":[],"aliases_ascii":[],"keywords":[]},"santa":{"unicode":"1f385","unicode_alt":"","code_decimal":"🎅","name":"father christmas","shortname":":santa:","category":"people","emoji_order":"447","aliases":[],"aliases_ascii":[],"keywords":["people","hat","winter","holidays","christmas","diversity","santa"]},"santa_tone1":{"unicode":"1f385-1f3fb","unicode_alt":"","code_decimal":"🎅🏻","name":"father christmas tone 1","shortname":":santa_tone1:","category":"people","emoji_order":"448","aliases":[],"aliases_ascii":[],"keywords":[]},"santa_tone2":{"unicode":"1f385-1f3fc","unicode_alt":"","code_decimal":"🎅🏼","name":"father christmas tone 2","shortname":":santa_tone2:","category":"people","emoji_order":"449","aliases":[],"aliases_ascii":[],"keywords":[]},"santa_tone3":{"unicode":"1f385-1f3fd","unicode_alt":"","code_decimal":"🎅🏽","name":"father christmas tone 3","shortname":":santa_tone3:","category":"people","emoji_order":"450","aliases":[],"aliases_ascii":[],"keywords":[]},"santa_tone4":{"unicode":"1f385-1f3fe","unicode_alt":"","code_decimal":"🎅🏾","name":"father christmas tone 4","shortname":":santa_tone4:","category":"people","emoji_order":"451","aliases":[],"aliases_ascii":[],"keywords":[]},"santa_tone5":{"unicode":"1f385-1f3ff","unicode_alt":"","code_decimal":"🎅🏿","name":"father christmas tone 5","shortname":":santa_tone5:","category":"people","emoji_order":"452","aliases":[],"aliases_ascii":[],"keywords":[]},"mrs_claus":{"unicode":"1f936","unicode_alt":"","code_decimal":"🤶","name":"mother christmas","shortname":":mrs_claus:","category":"people","emoji_order":"453","aliases":[":mother_christmas:"],"aliases_ascii":[],"keywords":[]},"mrs_claus_tone1":{"unicode":"1f936-1f3fb","unicode_alt":"","code_decimal":"🤶🏻","name":"mother christmas tone 1","shortname":":mrs_claus_tone1:","category":"people","emoji_order":"454","aliases":[":mother_christmas_tone1:"],"aliases_ascii":[],"keywords":[]},"mrs_claus_tone2":{"unicode":"1f936-1f3fc","unicode_alt":"","code_decimal":"🤶🏼","name":"mother christmas tone 2","shortname":":mrs_claus_tone2:","category":"people","emoji_order":"455","aliases":[":mother_christmas_tone2:"],"aliases_ascii":[],"keywords":[]},"mrs_claus_tone3":{"unicode":"1f936-1f3fd","unicode_alt":"","code_decimal":"🤶🏽","name":"mother christmas tone 3","shortname":":mrs_claus_tone3:","category":"people","emoji_order":"456","aliases":[":mother_christmas_tone3:"],"aliases_ascii":[],"keywords":[]},"mrs_claus_tone4":{"unicode":"1f936-1f3fe","unicode_alt":"","code_decimal":"🤶🏾","name":"mother christmas tone 4","shortname":":mrs_claus_tone4:","category":"people","emoji_order":"457","aliases":[":mother_christmas_tone4:"],"aliases_ascii":[],"keywords":[]},"mrs_claus_tone5":{"unicode":"1f936-1f3ff","unicode_alt":"","code_decimal":"🤶🏿","name":"mother christmas tone 5","shortname":":mrs_claus_tone5:","category":"people","emoji_order":"458","aliases":[":mother_christmas_tone5:"],"aliases_ascii":[],"keywords":[]},"princess":{"unicode":"1f478","unicode_alt":"","code_decimal":"👸","name":"princess","shortname":":princess:","category":"people","emoji_order":"459","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity","beautiful","girls night"]},"princess_tone1":{"unicode":"1f478-1f3fb","unicode_alt":"","code_decimal":"👸🏻","name":"princess tone 1","shortname":":princess_tone1:","category":"people","emoji_order":"460","aliases":[],"aliases_ascii":[],"keywords":[]},"princess_tone2":{"unicode":"1f478-1f3fc","unicode_alt":"","code_decimal":"👸🏼","name":"princess tone 2","shortname":":princess_tone2:","category":"people","emoji_order":"461","aliases":[],"aliases_ascii":[],"keywords":[]},"princess_tone3":{"unicode":"1f478-1f3fd","unicode_alt":"","code_decimal":"👸🏽","name":"princess tone 3","shortname":":princess_tone3:","category":"people","emoji_order":"462","aliases":[],"aliases_ascii":[],"keywords":[]},"princess_tone4":{"unicode":"1f478-1f3fe","unicode_alt":"","code_decimal":"👸🏾","name":"princess tone 4","shortname":":princess_tone4:","category":"people","emoji_order":"463","aliases":[],"aliases_ascii":[],"keywords":[]},"princess_tone5":{"unicode":"1f478-1f3ff","unicode_alt":"","code_decimal":"👸🏿","name":"princess tone 5","shortname":":princess_tone5:","category":"people","emoji_order":"464","aliases":[],"aliases_ascii":[],"keywords":[]},"prince":{"unicode":"1f934","unicode_alt":"","code_decimal":"🤴","name":"prince","shortname":":prince:","category":"people","emoji_order":"465","aliases":[],"aliases_ascii":[],"keywords":[]},"prince_tone1":{"unicode":"1f934-1f3fb","unicode_alt":"","code_decimal":"🤴🏻","name":"prince tone 1","shortname":":prince_tone1:","category":"people","emoji_order":"466","aliases":[],"aliases_ascii":[],"keywords":[]},"prince_tone2":{"unicode":"1f934-1f3fc","unicode_alt":"","code_decimal":"🤴🏼","name":"prince tone 2","shortname":":prince_tone2:","category":"people","emoji_order":"467","aliases":[],"aliases_ascii":[],"keywords":[]},"prince_tone3":{"unicode":"1f934-1f3fd","unicode_alt":"","code_decimal":"🤴🏽","name":"prince tone 3","shortname":":prince_tone3:","category":"people","emoji_order":"468","aliases":[],"aliases_ascii":[],"keywords":[]},"prince_tone4":{"unicode":"1f934-1f3fe","unicode_alt":"","code_decimal":"🤴🏾","name":"prince tone 4","shortname":":prince_tone4:","category":"people","emoji_order":"469","aliases":[],"aliases_ascii":[],"keywords":[]},"prince_tone5":{"unicode":"1f934-1f3ff","unicode_alt":"","code_decimal":"🤴🏿","name":"prince tone 5","shortname":":prince_tone5:","category":"people","emoji_order":"470","aliases":[],"aliases_ascii":[],"keywords":[]},"bride_with_veil":{"unicode":"1f470","unicode_alt":"","code_decimal":"👰","name":"bride with veil","shortname":":bride_with_veil:","category":"people","emoji_order":"471","aliases":[],"aliases_ascii":[],"keywords":["people","wedding","women","diversity"]},"bride_with_veil_tone1":{"unicode":"1f470-1f3fb","unicode_alt":"","code_decimal":"👰🏻","name":"bride with veil tone 1","shortname":":bride_with_veil_tone1:","category":"people","emoji_order":"472","aliases":[],"aliases_ascii":[],"keywords":[]},"bride_with_veil_tone2":{"unicode":"1f470-1f3fc","unicode_alt":"","code_decimal":"👰🏼","name":"bride with veil tone 2","shortname":":bride_with_veil_tone2:","category":"people","emoji_order":"473","aliases":[],"aliases_ascii":[],"keywords":[]},"bride_with_veil_tone3":{"unicode":"1f470-1f3fd","unicode_alt":"","code_decimal":"👰🏽","name":"bride with veil tone 3","shortname":":bride_with_veil_tone3:","category":"people","emoji_order":"474","aliases":[],"aliases_ascii":[],"keywords":[]},"bride_with_veil_tone4":{"unicode":"1f470-1f3fe","unicode_alt":"","code_decimal":"👰🏾","name":"bride with veil tone 4","shortname":":bride_with_veil_tone4:","category":"people","emoji_order":"475","aliases":[],"aliases_ascii":[],"keywords":[]},"bride_with_veil_tone5":{"unicode":"1f470-1f3ff","unicode_alt":"","code_decimal":"👰🏿","name":"bride with veil tone 5","shortname":":bride_with_veil_tone5:","category":"people","emoji_order":"476","aliases":[],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo":{"unicode":"1f935","unicode_alt":"","code_decimal":"🤵","name":"man in tuxedo","shortname":":man_in_tuxedo:","category":"people","emoji_order":"477","aliases":[],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo_tone1":{"unicode":"1f935-1f3fb","unicode_alt":"","code_decimal":"🤵🏻","name":"man in tuxedo tone 1","shortname":":man_in_tuxedo_tone1:","category":"people","emoji_order":"478","aliases":[":tuxedo_tone1:"],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo_tone2":{"unicode":"1f935-1f3fc","unicode_alt":"","code_decimal":"🤵🏼","name":"man in tuxedo tone 2","shortname":":man_in_tuxedo_tone2:","category":"people","emoji_order":"479","aliases":[":tuxedo_tone2:"],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo_tone3":{"unicode":"1f935-1f3fd","unicode_alt":"","code_decimal":"🤵🏽","name":"man in tuxedo tone 3","shortname":":man_in_tuxedo_tone3:","category":"people","emoji_order":"480","aliases":[":tuxedo_tone3:"],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo_tone4":{"unicode":"1f935-1f3fe","unicode_alt":"","code_decimal":"🤵🏾","name":"man in tuxedo tone 4","shortname":":man_in_tuxedo_tone4:","category":"people","emoji_order":"481","aliases":[":tuxedo_tone4:"],"aliases_ascii":[],"keywords":[]},"man_in_tuxedo_tone5":{"unicode":"1f935-1f3ff","unicode_alt":"","code_decimal":"🤵🏿","name":"man in tuxedo tone 5","shortname":":man_in_tuxedo_tone5:","category":"people","emoji_order":"482","aliases":[":tuxedo_tone5:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman":{"unicode":"1f930","unicode_alt":"","code_decimal":"🤰","name":"pregnant woman","shortname":":pregnant_woman:","category":"people","emoji_order":"483","aliases":[":expecting_woman:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman_tone1":{"unicode":"1f930-1f3fb","unicode_alt":"","code_decimal":"🤰🏻","name":"pregnant woman tone 1","shortname":":pregnant_woman_tone1:","category":"people","emoji_order":"484","aliases":[":expecting_woman_tone1:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman_tone2":{"unicode":"1f930-1f3fc","unicode_alt":"","code_decimal":"🤰🏼","name":"pregnant woman tone 2","shortname":":pregnant_woman_tone2:","category":"people","emoji_order":"485","aliases":[":expecting_woman_tone2:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman_tone3":{"unicode":"1f930-1f3fd","unicode_alt":"","code_decimal":"🤰🏽","name":"pregnant woman tone 3","shortname":":pregnant_woman_tone3:","category":"people","emoji_order":"486","aliases":[":expecting_woman_tone3:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman_tone4":{"unicode":"1f930-1f3fe","unicode_alt":"","code_decimal":"🤰🏾","name":"pregnant woman tone 4","shortname":":pregnant_woman_tone4:","category":"people","emoji_order":"487","aliases":[":expecting_woman_tone4:"],"aliases_ascii":[],"keywords":[]},"pregnant_woman_tone5":{"unicode":"1f930-1f3ff","unicode_alt":"","code_decimal":"🤰🏿","name":"pregnant woman tone 5","shortname":":pregnant_woman_tone5:","category":"people","emoji_order":"488","aliases":[":expecting_woman_tone5:"],"aliases_ascii":[],"keywords":[]},"man_with_gua_pi_mao":{"unicode":"1f472","unicode_alt":"","code_decimal":"👲","name":"man with gua pi mao","shortname":":man_with_gua_pi_mao:","category":"people","emoji_order":"489","aliases":[],"aliases_ascii":[],"keywords":["people","hat","men","diversity"]},"man_with_gua_pi_mao_tone1":{"unicode":"1f472-1f3fb","unicode_alt":"","code_decimal":"👲🏻","name":"man with gua pi mao tone 1","shortname":":man_with_gua_pi_mao_tone1:","category":"people","emoji_order":"490","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_gua_pi_mao_tone2":{"unicode":"1f472-1f3fc","unicode_alt":"","code_decimal":"👲🏼","name":"man with gua pi mao tone 2","shortname":":man_with_gua_pi_mao_tone2:","category":"people","emoji_order":"491","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_gua_pi_mao_tone3":{"unicode":"1f472-1f3fd","unicode_alt":"","code_decimal":"👲🏽","name":"man with gua pi mao tone 3","shortname":":man_with_gua_pi_mao_tone3:","category":"people","emoji_order":"492","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_gua_pi_mao_tone4":{"unicode":"1f472-1f3fe","unicode_alt":"","code_decimal":"👲🏾","name":"man with gua pi mao tone 4","shortname":":man_with_gua_pi_mao_tone4:","category":"people","emoji_order":"493","aliases":[],"aliases_ascii":[],"keywords":[]},"man_with_gua_pi_mao_tone5":{"unicode":"1f472-1f3ff","unicode_alt":"","code_decimal":"👲🏿","name":"man with gua pi mao tone 5","shortname":":man_with_gua_pi_mao_tone5:","category":"people","emoji_order":"494","aliases":[],"aliases_ascii":[],"keywords":[]},"person_frowning":{"unicode":"1f64d","unicode_alt":"","code_decimal":"🙍","name":"person frowning","shortname":":person_frowning:","category":"people","emoji_order":"495","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"person_frowning_tone1":{"unicode":"1f64d-1f3fb","unicode_alt":"","code_decimal":"🙍🏻","name":"person frowning tone 1","shortname":":person_frowning_tone1:","category":"people","emoji_order":"496","aliases":[],"aliases_ascii":[],"keywords":[]},"person_frowning_tone2":{"unicode":"1f64d-1f3fc","unicode_alt":"","code_decimal":"🙍🏼","name":"person frowning tone 2","shortname":":person_frowning_tone2:","category":"people","emoji_order":"497","aliases":[],"aliases_ascii":[],"keywords":[]},"person_frowning_tone3":{"unicode":"1f64d-1f3fd","unicode_alt":"","code_decimal":"🙍🏽","name":"person frowning tone 3","shortname":":person_frowning_tone3:","category":"people","emoji_order":"498","aliases":[],"aliases_ascii":[],"keywords":[]},"person_frowning_tone4":{"unicode":"1f64d-1f3fe","unicode_alt":"","code_decimal":"🙍🏾","name":"person frowning tone 4","shortname":":person_frowning_tone4:","category":"people","emoji_order":"499","aliases":[],"aliases_ascii":[],"keywords":[]},"person_frowning_tone5":{"unicode":"1f64d-1f3ff","unicode_alt":"","code_decimal":"🙍🏿","name":"person frowning tone 5","shortname":":person_frowning_tone5:","category":"people","emoji_order":"500","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_pouting_face":{"unicode":"1f64e","unicode_alt":"","code_decimal":"🙎","name":"person with pouting face","shortname":":person_with_pouting_face:","category":"people","emoji_order":"513","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"person_with_pouting_face_tone1":{"unicode":"1f64e-1f3fb","unicode_alt":"","code_decimal":"🙎🏻","name":"person with pouting face tone1","shortname":":person_with_pouting_face_tone1:","category":"people","emoji_order":"514","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_pouting_face_tone2":{"unicode":"1f64e-1f3fc","unicode_alt":"","code_decimal":"🙎🏼","name":"person with pouting face tone2","shortname":":person_with_pouting_face_tone2:","category":"people","emoji_order":"515","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_pouting_face_tone3":{"unicode":"1f64e-1f3fd","unicode_alt":"","code_decimal":"🙎🏽","name":"person with pouting face tone3","shortname":":person_with_pouting_face_tone3:","category":"people","emoji_order":"516","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_pouting_face_tone4":{"unicode":"1f64e-1f3fe","unicode_alt":"","code_decimal":"🙎🏾","name":"person with pouting face tone4","shortname":":person_with_pouting_face_tone4:","category":"people","emoji_order":"517","aliases":[],"aliases_ascii":[],"keywords":[]},"person_with_pouting_face_tone5":{"unicode":"1f64e-1f3ff","unicode_alt":"","code_decimal":"🙎🏿","name":"person with pouting face tone5","shortname":":person_with_pouting_face_tone5:","category":"people","emoji_order":"518","aliases":[],"aliases_ascii":[],"keywords":[]},"no_good":{"unicode":"1f645","unicode_alt":"","code_decimal":"🙅","name":"face with no good gesture","shortname":":no_good:","category":"people","emoji_order":"531","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity","girls night"]},"no_good_tone1":{"unicode":"1f645-1f3fb","unicode_alt":"","code_decimal":"🙅🏻","name":"face with no good gesture tone 1","shortname":":no_good_tone1:","category":"people","emoji_order":"532","aliases":[],"aliases_ascii":[],"keywords":[]},"no_good_tone2":{"unicode":"1f645-1f3fc","unicode_alt":"","code_decimal":"🙅🏼","name":"face with no good gesture tone 2","shortname":":no_good_tone2:","category":"people","emoji_order":"533","aliases":[],"aliases_ascii":[],"keywords":[]},"no_good_tone3":{"unicode":"1f645-1f3fd","unicode_alt":"","code_decimal":"🙅🏽","name":"face with no good gesture tone 3","shortname":":no_good_tone3:","category":"people","emoji_order":"534","aliases":[],"aliases_ascii":[],"keywords":[]},"no_good_tone4":{"unicode":"1f645-1f3fe","unicode_alt":"","code_decimal":"🙅🏾","name":"face with no good gesture tone 4","shortname":":no_good_tone4:","category":"people","emoji_order":"535","aliases":[],"aliases_ascii":[],"keywords":[]},"no_good_tone5":{"unicode":"1f645-1f3ff","unicode_alt":"","code_decimal":"🙅🏿","name":"face with no good gesture tone 5","shortname":":no_good_tone5:","category":"people","emoji_order":"536","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_woman":{"unicode":"1f646","unicode_alt":"","code_decimal":"🙆","name":"face with ok gesture","shortname":":ok_woman:","category":"people","emoji_order":"549","aliases":[],"aliases_ascii":["*\\0\/*","\\0\/","*\\O\/*","\\O\/"],"keywords":["people","women","diversity"]},"ok_woman_tone1":{"unicode":"1f646-1f3fb","unicode_alt":"","code_decimal":"🙆🏻","name":"face with ok gesture tone1","shortname":":ok_woman_tone1:","category":"people","emoji_order":"550","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_woman_tone2":{"unicode":"1f646-1f3fc","unicode_alt":"","code_decimal":"🙆🏼","name":"face with ok gesture tone2","shortname":":ok_woman_tone2:","category":"people","emoji_order":"551","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_woman_tone3":{"unicode":"1f646-1f3fd","unicode_alt":"","code_decimal":"🙆🏽","name":"face with ok gesture tone3","shortname":":ok_woman_tone3:","category":"people","emoji_order":"552","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_woman_tone4":{"unicode":"1f646-1f3fe","unicode_alt":"","code_decimal":"🙆🏾","name":"face with ok gesture tone4","shortname":":ok_woman_tone4:","category":"people","emoji_order":"553","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_woman_tone5":{"unicode":"1f646-1f3ff","unicode_alt":"","code_decimal":"🙆🏿","name":"face with ok gesture tone5","shortname":":ok_woman_tone5:","category":"people","emoji_order":"554","aliases":[],"aliases_ascii":[],"keywords":[]},"information_desk_person":{"unicode":"1f481","unicode_alt":"","code_decimal":"💁","name":"information desk person","shortname":":information_desk_person:","category":"people","emoji_order":"567","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"information_desk_person_tone1":{"unicode":"1f481-1f3fb","unicode_alt":"","code_decimal":"💁🏻","name":"information desk person tone 1","shortname":":information_desk_person_tone1:","category":"people","emoji_order":"568","aliases":[],"aliases_ascii":[],"keywords":[]},"information_desk_person_tone2":{"unicode":"1f481-1f3fc","unicode_alt":"","code_decimal":"💁🏼","name":"information desk person tone 2","shortname":":information_desk_person_tone2:","category":"people","emoji_order":"569","aliases":[],"aliases_ascii":[],"keywords":[]},"information_desk_person_tone3":{"unicode":"1f481-1f3fd","unicode_alt":"","code_decimal":"💁🏽","name":"information desk person tone 3","shortname":":information_desk_person_tone3:","category":"people","emoji_order":"570","aliases":[],"aliases_ascii":[],"keywords":[]},"information_desk_person_tone4":{"unicode":"1f481-1f3fe","unicode_alt":"","code_decimal":"💁🏾","name":"information desk person tone 4","shortname":":information_desk_person_tone4:","category":"people","emoji_order":"571","aliases":[],"aliases_ascii":[],"keywords":[]},"information_desk_person_tone5":{"unicode":"1f481-1f3ff","unicode_alt":"","code_decimal":"💁🏿","name":"information desk person tone 5","shortname":":information_desk_person_tone5:","category":"people","emoji_order":"572","aliases":[],"aliases_ascii":[],"keywords":[]},"raising_hand":{"unicode":"1f64b","unicode_alt":"","code_decimal":"🙋","name":"happy person raising one hand","shortname":":raising_hand:","category":"people","emoji_order":"585","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"raising_hand_tone1":{"unicode":"1f64b-1f3fb","unicode_alt":"","code_decimal":"🙋🏻","name":"happy person raising one hand tone1","shortname":":raising_hand_tone1:","category":"people","emoji_order":"586","aliases":[],"aliases_ascii":[],"keywords":[]},"raising_hand_tone2":{"unicode":"1f64b-1f3fc","unicode_alt":"","code_decimal":"🙋🏼","name":"happy person raising one hand tone2","shortname":":raising_hand_tone2:","category":"people","emoji_order":"587","aliases":[],"aliases_ascii":[],"keywords":[]},"raising_hand_tone3":{"unicode":"1f64b-1f3fd","unicode_alt":"","code_decimal":"🙋🏽","name":"happy person raising one hand tone3","shortname":":raising_hand_tone3:","category":"people","emoji_order":"588","aliases":[],"aliases_ascii":[],"keywords":[]},"raising_hand_tone4":{"unicode":"1f64b-1f3fe","unicode_alt":"","code_decimal":"🙋🏾","name":"happy person raising one hand tone4","shortname":":raising_hand_tone4:","category":"people","emoji_order":"589","aliases":[],"aliases_ascii":[],"keywords":[]},"raising_hand_tone5":{"unicode":"1f64b-1f3ff","unicode_alt":"","code_decimal":"🙋🏿","name":"happy person raising one hand tone5","shortname":":raising_hand_tone5:","category":"people","emoji_order":"590","aliases":[],"aliases_ascii":[],"keywords":[]},"bow":{"unicode":"1f647","unicode_alt":"","code_decimal":"🙇","name":"person bowing deeply","shortname":":bow:","category":"people","emoji_order":"603","aliases":[],"aliases_ascii":[],"keywords":["people","pray","diversity"]},"bow_tone1":{"unicode":"1f647-1f3fb","unicode_alt":"","code_decimal":"🙇🏻","name":"person bowing deeply tone 1","shortname":":bow_tone1:","category":"people","emoji_order":"604","aliases":[],"aliases_ascii":[],"keywords":[]},"bow_tone2":{"unicode":"1f647-1f3fc","unicode_alt":"","code_decimal":"🙇🏼","name":"person bowing deeply tone 2","shortname":":bow_tone2:","category":"people","emoji_order":"605","aliases":[],"aliases_ascii":[],"keywords":[]},"bow_tone3":{"unicode":"1f647-1f3fd","unicode_alt":"","code_decimal":"🙇🏽","name":"person bowing deeply tone 3","shortname":":bow_tone3:","category":"people","emoji_order":"606","aliases":[],"aliases_ascii":[],"keywords":[]},"bow_tone4":{"unicode":"1f647-1f3fe","unicode_alt":"","code_decimal":"🙇🏾","name":"person bowing deeply tone 4","shortname":":bow_tone4:","category":"people","emoji_order":"607","aliases":[],"aliases_ascii":[],"keywords":[]},"bow_tone5":{"unicode":"1f647-1f3ff","unicode_alt":"","code_decimal":"🙇🏿","name":"person bowing deeply tone 5","shortname":":bow_tone5:","category":"people","emoji_order":"608","aliases":[],"aliases_ascii":[],"keywords":[]},"face_palm":{"unicode":"1f926","unicode_alt":"","code_decimal":"🤦","name":"face palm","shortname":":face_palm:","category":"people","emoji_order":"621","aliases":[":facepalm:"],"aliases_ascii":[],"keywords":[]},"face_palm_tone1":{"unicode":"1f926-1f3fb","unicode_alt":"","code_decimal":"🤦🏻","name":"face palm tone 1","shortname":":face_palm_tone1:","category":"people","emoji_order":"622","aliases":[":facepalm_tone1:"],"aliases_ascii":[],"keywords":[]},"face_palm_tone2":{"unicode":"1f926-1f3fc","unicode_alt":"","code_decimal":"🤦🏼","name":"face palm tone 2","shortname":":face_palm_tone2:","category":"people","emoji_order":"623","aliases":[":facepalm_tone2:"],"aliases_ascii":[],"keywords":[]},"face_palm_tone3":{"unicode":"1f926-1f3fd","unicode_alt":"","code_decimal":"🤦🏽","name":"face palm tone 3","shortname":":face_palm_tone3:","category":"people","emoji_order":"624","aliases":[":facepalm_tone3:"],"aliases_ascii":[],"keywords":[]},"face_palm_tone4":{"unicode":"1f926-1f3fe","unicode_alt":"","code_decimal":"🤦🏾","name":"face palm tone 4","shortname":":face_palm_tone4:","category":"people","emoji_order":"625","aliases":[":facepalm_tone4:"],"aliases_ascii":[],"keywords":[]},"face_palm_tone5":{"unicode":"1f926-1f3ff","unicode_alt":"","code_decimal":"🤦🏿","name":"face palm tone 5","shortname":":face_palm_tone5:","category":"people","emoji_order":"626","aliases":[":facepalm_tone5:"],"aliases_ascii":[],"keywords":[]},"shrug":{"unicode":"1f937","unicode_alt":"","code_decimal":"🤷","name":"shrug","shortname":":shrug:","category":"people","emoji_order":"639","aliases":[],"aliases_ascii":[],"keywords":[]},"shrug_tone1":{"unicode":"1f937-1f3fb","unicode_alt":"","code_decimal":"🤷🏻","name":"shrug tone 1","shortname":":shrug_tone1:","category":"people","emoji_order":"640","aliases":[],"aliases_ascii":[],"keywords":[]},"shrug_tone2":{"unicode":"1f937-1f3fc","unicode_alt":"","code_decimal":"🤷🏼","name":"shrug tone 2","shortname":":shrug_tone2:","category":"people","emoji_order":"641","aliases":[],"aliases_ascii":[],"keywords":[]},"shrug_tone3":{"unicode":"1f937-1f3fd","unicode_alt":"","code_decimal":"🤷🏽","name":"shrug tone 3","shortname":":shrug_tone3:","category":"people","emoji_order":"642","aliases":[],"aliases_ascii":[],"keywords":[]},"shrug_tone4":{"unicode":"1f937-1f3fe","unicode_alt":"","code_decimal":"🤷🏾","name":"shrug tone 4","shortname":":shrug_tone4:","category":"people","emoji_order":"643","aliases":[],"aliases_ascii":[],"keywords":[]},"shrug_tone5":{"unicode":"1f937-1f3ff","unicode_alt":"","code_decimal":"🤷🏿","name":"shrug tone 5","shortname":":shrug_tone5:","category":"people","emoji_order":"644","aliases":[],"aliases_ascii":[],"keywords":[]},"massage":{"unicode":"1f486","unicode_alt":"","code_decimal":"💆","name":"face massage","shortname":":massage:","category":"people","emoji_order":"657","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"massage_tone1":{"unicode":"1f486-1f3fb","unicode_alt":"","code_decimal":"💆🏻","name":"face massage tone 1","shortname":":massage_tone1:","category":"people","emoji_order":"658","aliases":[],"aliases_ascii":[],"keywords":[]},"massage_tone2":{"unicode":"1f486-1f3fc","unicode_alt":"","code_decimal":"💆🏼","name":"face massage tone 2","shortname":":massage_tone2:","category":"people","emoji_order":"659","aliases":[],"aliases_ascii":[],"keywords":[]},"massage_tone3":{"unicode":"1f486-1f3fd","unicode_alt":"","code_decimal":"💆🏽","name":"face massage tone 3","shortname":":massage_tone3:","category":"people","emoji_order":"660","aliases":[],"aliases_ascii":[],"keywords":[]},"massage_tone4":{"unicode":"1f486-1f3fe","unicode_alt":"","code_decimal":"💆🏾","name":"face massage tone 4","shortname":":massage_tone4:","category":"people","emoji_order":"661","aliases":[],"aliases_ascii":[],"keywords":[]},"massage_tone5":{"unicode":"1f486-1f3ff","unicode_alt":"","code_decimal":"💆🏿","name":"face massage tone 5","shortname":":massage_tone5:","category":"people","emoji_order":"662","aliases":[],"aliases_ascii":[],"keywords":[]},"haircut":{"unicode":"1f487","unicode_alt":"","code_decimal":"💇","name":"haircut","shortname":":haircut:","category":"people","emoji_order":"675","aliases":[],"aliases_ascii":[],"keywords":["people","women","diversity"]},"haircut_tone1":{"unicode":"1f487-1f3fb","unicode_alt":"","code_decimal":"💇🏻","name":"haircut tone 1","shortname":":haircut_tone1:","category":"people","emoji_order":"676","aliases":[],"aliases_ascii":[],"keywords":[]},"haircut_tone2":{"unicode":"1f487-1f3fc","unicode_alt":"","code_decimal":"💇🏼","name":"haircut tone 2","shortname":":haircut_tone2:","category":"people","emoji_order":"677","aliases":[],"aliases_ascii":[],"keywords":[]},"haircut_tone3":{"unicode":"1f487-1f3fd","unicode_alt":"","code_decimal":"💇🏽","name":"haircut tone 3","shortname":":haircut_tone3:","category":"people","emoji_order":"678","aliases":[],"aliases_ascii":[],"keywords":[]},"haircut_tone4":{"unicode":"1f487-1f3fe","unicode_alt":"","code_decimal":"💇🏾","name":"haircut tone 4","shortname":":haircut_tone4:","category":"people","emoji_order":"679","aliases":[],"aliases_ascii":[],"keywords":[]},"haircut_tone5":{"unicode":"1f487-1f3ff","unicode_alt":"","code_decimal":"💇🏿","name":"haircut tone 5","shortname":":haircut_tone5:","category":"people","emoji_order":"680","aliases":[],"aliases_ascii":[],"keywords":[]},"walking":{"unicode":"1f6b6","unicode_alt":"","code_decimal":"🚶","name":"pedestrian","shortname":":walking:","category":"people","emoji_order":"693","aliases":[],"aliases_ascii":[],"keywords":["people","men","diversity"]},"walking_tone1":{"unicode":"1f6b6-1f3fb","unicode_alt":"","code_decimal":"🚶🏻","name":"pedestrian tone 1","shortname":":walking_tone1:","category":"people","emoji_order":"694","aliases":[],"aliases_ascii":[],"keywords":[]},"walking_tone2":{"unicode":"1f6b6-1f3fc","unicode_alt":"","code_decimal":"🚶🏼","name":"pedestrian tone 2","shortname":":walking_tone2:","category":"people","emoji_order":"695","aliases":[],"aliases_ascii":[],"keywords":[]},"walking_tone3":{"unicode":"1f6b6-1f3fd","unicode_alt":"","code_decimal":"🚶🏽","name":"pedestrian tone 3","shortname":":walking_tone3:","category":"people","emoji_order":"696","aliases":[],"aliases_ascii":[],"keywords":[]},"walking_tone4":{"unicode":"1f6b6-1f3fe","unicode_alt":"","code_decimal":"🚶🏾","name":"pedestrian tone 4","shortname":":walking_tone4:","category":"people","emoji_order":"697","aliases":[],"aliases_ascii":[],"keywords":[]},"walking_tone5":{"unicode":"1f6b6-1f3ff","unicode_alt":"","code_decimal":"🚶🏿","name":"pedestrian tone 5","shortname":":walking_tone5:","category":"people","emoji_order":"698","aliases":[],"aliases_ascii":[],"keywords":[]},"runner":{"unicode":"1f3c3","unicode_alt":"","code_decimal":"🏃","name":"runner","shortname":":runner:","category":"people","emoji_order":"711","aliases":[],"aliases_ascii":[],"keywords":["people","men","diversity","boys night","run"]},"runner_tone1":{"unicode":"1f3c3-1f3fb","unicode_alt":"","code_decimal":"🏃🏻","name":"runner tone 1","shortname":":runner_tone1:","category":"people","emoji_order":"712","aliases":[],"aliases_ascii":[],"keywords":[]},"runner_tone2":{"unicode":"1f3c3-1f3fc","unicode_alt":"","code_decimal":"🏃🏼","name":"runner tone 2","shortname":":runner_tone2:","category":"people","emoji_order":"713","aliases":[],"aliases_ascii":[],"keywords":[]},"runner_tone3":{"unicode":"1f3c3-1f3fd","unicode_alt":"","code_decimal":"🏃🏽","name":"runner tone 3","shortname":":runner_tone3:","category":"people","emoji_order":"714","aliases":[],"aliases_ascii":[],"keywords":[]},"runner_tone4":{"unicode":"1f3c3-1f3fe","unicode_alt":"","code_decimal":"🏃🏾","name":"runner tone 4","shortname":":runner_tone4:","category":"people","emoji_order":"715","aliases":[],"aliases_ascii":[],"keywords":[]},"runner_tone5":{"unicode":"1f3c3-1f3ff","unicode_alt":"","code_decimal":"🏃🏿","name":"runner tone 5","shortname":":runner_tone5:","category":"people","emoji_order":"716","aliases":[],"aliases_ascii":[],"keywords":[]},"dancer":{"unicode":"1f483","unicode_alt":"","code_decimal":"💃","name":"dancer","shortname":":dancer:","category":"people","emoji_order":"729","aliases":[],"aliases_ascii":[],"keywords":["people","women","sexy","diversity","girls night","dance"]},"dancer_tone1":{"unicode":"1f483-1f3fb","unicode_alt":"","code_decimal":"💃🏻","name":"dancer tone 1","shortname":":dancer_tone1:","category":"people","emoji_order":"730","aliases":[],"aliases_ascii":[],"keywords":[]},"dancer_tone2":{"unicode":"1f483-1f3fc","unicode_alt":"","code_decimal":"💃🏼","name":"dancer tone 2","shortname":":dancer_tone2:","category":"people","emoji_order":"731","aliases":[],"aliases_ascii":[],"keywords":[]},"dancer_tone3":{"unicode":"1f483-1f3fd","unicode_alt":"","code_decimal":"💃🏽","name":"dancer tone 3","shortname":":dancer_tone3:","category":"people","emoji_order":"732","aliases":[],"aliases_ascii":[],"keywords":[]},"dancer_tone4":{"unicode":"1f483-1f3fe","unicode_alt":"","code_decimal":"💃🏾","name":"dancer tone 4","shortname":":dancer_tone4:","category":"people","emoji_order":"733","aliases":[],"aliases_ascii":[],"keywords":[]},"dancer_tone5":{"unicode":"1f483-1f3ff","unicode_alt":"","code_decimal":"💃🏿","name":"dancer tone 5","shortname":":dancer_tone5:","category":"people","emoji_order":"734","aliases":[],"aliases_ascii":[],"keywords":[]},"man_dancing":{"unicode":"1f57a","unicode_alt":"","code_decimal":"🕺","name":"man dancing","shortname":":man_dancing:","category":"people","emoji_order":"735","aliases":[":male_dancer:"],"aliases_ascii":[],"keywords":[]},"man_dancing_tone1":{"unicode":"1f57a-1f3fb","unicode_alt":"","code_decimal":"🕺🏻","name":"man dancing tone 1","shortname":":man_dancing_tone1:","category":"people","emoji_order":"736","aliases":[":male_dancer_tone1:"],"aliases_ascii":[],"keywords":[]},"man_dancing_tone2":{"unicode":"1f57a-1f3fc","unicode_alt":"","code_decimal":"🕺🏼","name":"man dancing tone 2","shortname":":man_dancing_tone2:","category":"people","emoji_order":"737","aliases":[":male_dancer_tone2:"],"aliases_ascii":[],"keywords":[]},"man_dancing_tone3":{"unicode":"1f57a-1f3fd","unicode_alt":"","code_decimal":"🕺🏽","name":"man dancing tone 3","shortname":":man_dancing_tone3:","category":"people","emoji_order":"738","aliases":[":male_dancer_tone3:"],"aliases_ascii":[],"keywords":[]},"man_dancing_tone4":{"unicode":"1f57a-1f3fe","unicode_alt":"","code_decimal":"🕺🏾","name":"man dancing tone 4","shortname":":man_dancing_tone4:","category":"people","emoji_order":"739","aliases":[":male_dancer_tone4:"],"aliases_ascii":[],"keywords":[]},"man_dancing_tone5":{"unicode":"1f57a-1f3ff","unicode_alt":"","code_decimal":"🕺🏿","name":"man dancing tone 5","shortname":":man_dancing_tone5:","category":"people","emoji_order":"740","aliases":[":male_dancer_tone5:"],"aliases_ascii":[],"keywords":[]},"dancers":{"unicode":"1f46f","unicode_alt":"","code_decimal":"👯","name":"woman with bunny ears","shortname":":dancers:","category":"people","emoji_order":"741","aliases":[],"aliases_ascii":[],"keywords":["people","women","sexy","girls night","boys night","parties","dance"]},"levitate":{"unicode":"1f574","unicode_alt":"1f574-fe0f","code_decimal":"🕴","name":"man in business suit levitating","shortname":":levitate:","category":"activity","emoji_order":"759","aliases":[":man_in_business_suit_levitating:"],"aliases_ascii":[],"keywords":["men","job"]},"speaking_head":{"unicode":"1f5e3","unicode_alt":"1f5e3-fe0f","code_decimal":"🗣","name":"speaking head in silhouette","shortname":":speaking_head:","category":"people","emoji_order":"765","aliases":[":speaking_head_in_silhouette:"],"aliases_ascii":[],"keywords":["people","talk"]},"bust_in_silhouette":{"unicode":"1f464","unicode_alt":"","code_decimal":"👤","name":"bust in silhouette","shortname":":bust_in_silhouette:","category":"people","emoji_order":"766","aliases":[],"aliases_ascii":[],"keywords":["people"]},"busts_in_silhouette":{"unicode":"1f465","unicode_alt":"","code_decimal":"👥","name":"busts in silhouette","shortname":":busts_in_silhouette:","category":"people","emoji_order":"767","aliases":[],"aliases_ascii":[],"keywords":["people"]},"fencer":{"unicode":"1f93a","unicode_alt":"","code_decimal":"🤺","name":"fencer","shortname":":fencer:","category":"activity","emoji_order":"768","aliases":[":fencing:"],"aliases_ascii":[],"keywords":[]},"horse_racing":{"unicode":"1f3c7","unicode_alt":"","code_decimal":"🏇","name":"horse racing","shortname":":horse_racing:","category":"activity","emoji_order":"769","aliases":[],"aliases_ascii":[],"keywords":["men","sport","horse racing"]},"horse_racing_tone1":{"unicode":"1f3c7-1f3fb","unicode_alt":"","code_decimal":"🏇🏻","name":"horse racing tone 1","shortname":":horse_racing_tone1:","category":"activity","emoji_order":"770","aliases":[],"aliases_ascii":[],"keywords":[]},"horse_racing_tone2":{"unicode":"1f3c7-1f3fc","unicode_alt":"","code_decimal":"🏇🏼","name":"horse racing tone 2","shortname":":horse_racing_tone2:","category":"activity","emoji_order":"771","aliases":[],"aliases_ascii":[],"keywords":[]},"horse_racing_tone3":{"unicode":"1f3c7-1f3fd","unicode_alt":"","code_decimal":"🏇🏽","name":"horse racing tone 3","shortname":":horse_racing_tone3:","category":"activity","emoji_order":"772","aliases":[],"aliases_ascii":[],"keywords":[]},"horse_racing_tone4":{"unicode":"1f3c7-1f3fe","unicode_alt":"","code_decimal":"🏇🏾","name":"horse racing tone 4","shortname":":horse_racing_tone4:","category":"activity","emoji_order":"773","aliases":[],"aliases_ascii":[],"keywords":[]},"horse_racing_tone5":{"unicode":"1f3c7-1f3ff","unicode_alt":"","code_decimal":"🏇🏿","name":"horse racing tone 5","shortname":":horse_racing_tone5:","category":"activity","emoji_order":"774","aliases":[],"aliases_ascii":[],"keywords":[]},"skier":{"unicode":"26f7","unicode_alt":"26f7-fe0f","code_decimal":"⛷","name":"skier","shortname":":skier:","category":"activity","emoji_order":"775","aliases":[],"aliases_ascii":[],"keywords":["hat","vacation","cold","sport","skiing"]},"snowboarder":{"unicode":"1f3c2","unicode_alt":"","code_decimal":"🏂","name":"snowboarder","shortname":":snowboarder:","category":"activity","emoji_order":"776","aliases":[],"aliases_ascii":[],"keywords":["hat","vacation","cold","sport","snowboarding"]},"golfer":{"unicode":"1f3cc","unicode_alt":"1f3cc-fe0f","code_decimal":"🏌","name":"golfer","shortname":":golfer:","category":"activity","emoji_order":"782","aliases":[],"aliases_ascii":[],"keywords":["men","game","ball","vacation","sport","golf"]},"surfer":{"unicode":"1f3c4","unicode_alt":"","code_decimal":"🏄","name":"surfer","shortname":":surfer:","category":"activity","emoji_order":"800","aliases":[],"aliases_ascii":[],"keywords":["men","vacation","tropical","sport","diversity"]},"surfer_tone1":{"unicode":"1f3c4-1f3fb","unicode_alt":"","code_decimal":"🏄🏻","name":"surfer tone 1","shortname":":surfer_tone1:","category":"activity","emoji_order":"801","aliases":[],"aliases_ascii":[],"keywords":[]},"surfer_tone2":{"unicode":"1f3c4-1f3fc","unicode_alt":"","code_decimal":"🏄🏼","name":"surfer tone 2","shortname":":surfer_tone2:","category":"activity","emoji_order":"802","aliases":[],"aliases_ascii":[],"keywords":[]},"surfer_tone3":{"unicode":"1f3c4-1f3fd","unicode_alt":"","code_decimal":"🏄🏽","name":"surfer tone 3","shortname":":surfer_tone3:","category":"activity","emoji_order":"803","aliases":[],"aliases_ascii":[],"keywords":[]},"surfer_tone4":{"unicode":"1f3c4-1f3fe","unicode_alt":"","code_decimal":"🏄🏾","name":"surfer tone 4","shortname":":surfer_tone4:","category":"activity","emoji_order":"804","aliases":[],"aliases_ascii":[],"keywords":[]},"surfer_tone5":{"unicode":"1f3c4-1f3ff","unicode_alt":"","code_decimal":"🏄🏿","name":"surfer tone 5","shortname":":surfer_tone5:","category":"activity","emoji_order":"805","aliases":[],"aliases_ascii":[],"keywords":[]},"rowboat":{"unicode":"1f6a3","unicode_alt":"","code_decimal":"🚣","name":"rowboat","shortname":":rowboat:","category":"activity","emoji_order":"818","aliases":[],"aliases_ascii":[],"keywords":["men","workout","sport","rowing","diversity"]},"rowboat_tone1":{"unicode":"1f6a3-1f3fb","unicode_alt":"","code_decimal":"🚣🏻","name":"rowboat tone 1","shortname":":rowboat_tone1:","category":"activity","emoji_order":"819","aliases":[],"aliases_ascii":[],"keywords":[]},"rowboat_tone2":{"unicode":"1f6a3-1f3fc","unicode_alt":"","code_decimal":"🚣🏼","name":"rowboat tone 2","shortname":":rowboat_tone2:","category":"activity","emoji_order":"820","aliases":[],"aliases_ascii":[],"keywords":[]},"rowboat_tone3":{"unicode":"1f6a3-1f3fd","unicode_alt":"","code_decimal":"🚣🏽","name":"rowboat tone 3","shortname":":rowboat_tone3:","category":"activity","emoji_order":"821","aliases":[],"aliases_ascii":[],"keywords":[]},"rowboat_tone4":{"unicode":"1f6a3-1f3fe","unicode_alt":"","code_decimal":"🚣🏾","name":"rowboat tone 4","shortname":":rowboat_tone4:","category":"activity","emoji_order":"822","aliases":[],"aliases_ascii":[],"keywords":[]},"rowboat_tone5":{"unicode":"1f6a3-1f3ff","unicode_alt":"","code_decimal":"🚣🏿","name":"rowboat tone 5","shortname":":rowboat_tone5:","category":"activity","emoji_order":"823","aliases":[],"aliases_ascii":[],"keywords":[]},"swimmer":{"unicode":"1f3ca","unicode_alt":"","code_decimal":"🏊","name":"swimmer","shortname":":swimmer:","category":"activity","emoji_order":"836","aliases":[],"aliases_ascii":[],"keywords":["workout","sport","swim","diversity"]},"swimmer_tone1":{"unicode":"1f3ca-1f3fb","unicode_alt":"","code_decimal":"🏊🏻","name":"swimmer tone 1","shortname":":swimmer_tone1:","category":"activity","emoji_order":"837","aliases":[],"aliases_ascii":[],"keywords":[]},"swimmer_tone2":{"unicode":"1f3ca-1f3fc","unicode_alt":"","code_decimal":"🏊🏼","name":"swimmer tone 2","shortname":":swimmer_tone2:","category":"activity","emoji_order":"838","aliases":[],"aliases_ascii":[],"keywords":[]},"swimmer_tone3":{"unicode":"1f3ca-1f3fd","unicode_alt":"","code_decimal":"🏊🏽","name":"swimmer tone 3","shortname":":swimmer_tone3:","category":"activity","emoji_order":"839","aliases":[],"aliases_ascii":[],"keywords":[]},"swimmer_tone4":{"unicode":"1f3ca-1f3fe","unicode_alt":"","code_decimal":"🏊🏾","name":"swimmer tone 4","shortname":":swimmer_tone4:","category":"activity","emoji_order":"840","aliases":[],"aliases_ascii":[],"keywords":[]},"swimmer_tone5":{"unicode":"1f3ca-1f3ff","unicode_alt":"","code_decimal":"🏊🏿","name":"swimmer tone 5","shortname":":swimmer_tone5:","category":"activity","emoji_order":"841","aliases":[],"aliases_ascii":[],"keywords":[]},"basketball_player":{"unicode":"26f9","unicode_alt":"26f9-fe0f","code_decimal":"⛹","name":"person with ball","shortname":":basketball_player:","category":"activity","emoji_order":"854","aliases":[":person_with_ball:"],"aliases_ascii":[],"keywords":["men","game","ball","sport","basketball","diversity"]},"basketball_player_tone1":{"unicode":"26f9-1f3fb","unicode_alt":"","code_decimal":"⛹🏻","name":"person with ball tone 1","shortname":":basketball_player_tone1:","category":"activity","emoji_order":"855","aliases":[":person_with_ball_tone1:"],"aliases_ascii":[],"keywords":[]},"basketball_player_tone2":{"unicode":"26f9-1f3fc","unicode_alt":"","code_decimal":"⛹🏼","name":"person with ball tone 2","shortname":":basketball_player_tone2:","category":"activity","emoji_order":"856","aliases":[":person_with_ball_tone2:"],"aliases_ascii":[],"keywords":[]},"basketball_player_tone3":{"unicode":"26f9-1f3fd","unicode_alt":"","code_decimal":"⛹🏽","name":"person with ball tone 3","shortname":":basketball_player_tone3:","category":"activity","emoji_order":"857","aliases":[":person_with_ball_tone3:"],"aliases_ascii":[],"keywords":[]},"basketball_player_tone4":{"unicode":"26f9-1f3fe","unicode_alt":"","code_decimal":"⛹🏾","name":"person with ball tone 4","shortname":":basketball_player_tone4:","category":"activity","emoji_order":"858","aliases":[":person_with_ball_tone4:"],"aliases_ascii":[],"keywords":[]},"basketball_player_tone5":{"unicode":"26f9-1f3ff","unicode_alt":"","code_decimal":"⛹🏿","name":"person with ball tone 5","shortname":":basketball_player_tone5:","category":"activity","emoji_order":"859","aliases":[":person_with_ball_tone5:"],"aliases_ascii":[],"keywords":[]},"lifter":{"unicode":"1f3cb","unicode_alt":"1f3cb-fe0f","code_decimal":"🏋","name":"weight lifter","shortname":":lifter:","category":"activity","emoji_order":"872","aliases":[":weight_lifter:"],"aliases_ascii":[],"keywords":["men","workout","flex","sport","weight lifting","win","diversity"]},"lifter_tone1":{"unicode":"1f3cb-1f3fb","unicode_alt":"","code_decimal":"🏋🏻","name":"weight lifter tone 1","shortname":":lifter_tone1:","category":"activity","emoji_order":"873","aliases":[":weight_lifter_tone1:"],"aliases_ascii":[],"keywords":[]},"lifter_tone2":{"unicode":"1f3cb-1f3fc","unicode_alt":"","code_decimal":"🏋🏼","name":"weight lifter tone 2","shortname":":lifter_tone2:","category":"activity","emoji_order":"874","aliases":[":weight_lifter_tone2:"],"aliases_ascii":[],"keywords":[]},"lifter_tone3":{"unicode":"1f3cb-1f3fd","unicode_alt":"","code_decimal":"🏋🏽","name":"weight lifter tone 3","shortname":":lifter_tone3:","category":"activity","emoji_order":"875","aliases":[":weight_lifter_tone3:"],"aliases_ascii":[],"keywords":[]},"lifter_tone4":{"unicode":"1f3cb-1f3fe","unicode_alt":"","code_decimal":"🏋🏾","name":"weight lifter tone 4","shortname":":lifter_tone4:","category":"activity","emoji_order":"876","aliases":[":weight_lifter_tone4:"],"aliases_ascii":[],"keywords":[]},"lifter_tone5":{"unicode":"1f3cb-1f3ff","unicode_alt":"","code_decimal":"🏋🏿","name":"weight lifter tone 5","shortname":":lifter_tone5:","category":"activity","emoji_order":"877","aliases":[":weight_lifter_tone5:"],"aliases_ascii":[],"keywords":[]},"bicyclist":{"unicode":"1f6b4","unicode_alt":"","code_decimal":"🚴","name":"bicyclist","shortname":":bicyclist:","category":"activity","emoji_order":"890","aliases":[],"aliases_ascii":[],"keywords":["men","workout","sport","bike","diversity"]},"bicyclist_tone1":{"unicode":"1f6b4-1f3fb","unicode_alt":"","code_decimal":"🚴🏻","name":"bicyclist tone 1","shortname":":bicyclist_tone1:","category":"activity","emoji_order":"891","aliases":[],"aliases_ascii":[],"keywords":[]},"bicyclist_tone2":{"unicode":"1f6b4-1f3fc","unicode_alt":"","code_decimal":"🚴🏼","name":"bicyclist tone 2","shortname":":bicyclist_tone2:","category":"activity","emoji_order":"892","aliases":[],"aliases_ascii":[],"keywords":[]},"bicyclist_tone3":{"unicode":"1f6b4-1f3fd","unicode_alt":"","code_decimal":"🚴🏽","name":"bicyclist tone 3","shortname":":bicyclist_tone3:","category":"activity","emoji_order":"893","aliases":[],"aliases_ascii":[],"keywords":[]},"bicyclist_tone4":{"unicode":"1f6b4-1f3fe","unicode_alt":"","code_decimal":"🚴🏾","name":"bicyclist tone 4","shortname":":bicyclist_tone4:","category":"activity","emoji_order":"894","aliases":[],"aliases_ascii":[],"keywords":[]},"bicyclist_tone5":{"unicode":"1f6b4-1f3ff","unicode_alt":"","code_decimal":"🚴🏿","name":"bicyclist tone 5","shortname":":bicyclist_tone5:","category":"activity","emoji_order":"895","aliases":[],"aliases_ascii":[],"keywords":[]},"mountain_bicyclist":{"unicode":"1f6b5","unicode_alt":"","code_decimal":"🚵","name":"mountain bicyclist","shortname":":mountain_bicyclist:","category":"activity","emoji_order":"908","aliases":[],"aliases_ascii":[],"keywords":["men","sport","bike","diversity"]},"mountain_bicyclist_tone1":{"unicode":"1f6b5-1f3fb","unicode_alt":"","code_decimal":"🚵🏻","name":"mountain bicyclist tone 1","shortname":":mountain_bicyclist_tone1:","category":"activity","emoji_order":"909","aliases":[],"aliases_ascii":[],"keywords":[]},"mountain_bicyclist_tone2":{"unicode":"1f6b5-1f3fc","unicode_alt":"","code_decimal":"🚵🏼","name":"mountain bicyclist tone 2","shortname":":mountain_bicyclist_tone2:","category":"activity","emoji_order":"910","aliases":[],"aliases_ascii":[],"keywords":[]},"mountain_bicyclist_tone3":{"unicode":"1f6b5-1f3fd","unicode_alt":"","code_decimal":"🚵🏽","name":"mountain bicyclist tone 3","shortname":":mountain_bicyclist_tone3:","category":"activity","emoji_order":"911","aliases":[],"aliases_ascii":[],"keywords":[]},"mountain_bicyclist_tone4":{"unicode":"1f6b5-1f3fe","unicode_alt":"","code_decimal":"🚵🏾","name":"mountain bicyclist tone 4","shortname":":mountain_bicyclist_tone4:","category":"activity","emoji_order":"912","aliases":[],"aliases_ascii":[],"keywords":[]},"mountain_bicyclist_tone5":{"unicode":"1f6b5-1f3ff","unicode_alt":"","code_decimal":"🚵🏿","name":"mountain bicyclist tone 5","shortname":":mountain_bicyclist_tone5:","category":"activity","emoji_order":"913","aliases":[],"aliases_ascii":[],"keywords":[]},"race_car":{"unicode":"1f3ce","unicode_alt":"1f3ce-fe0f","code_decimal":"🏎","name":"racing car","shortname":":race_car:","category":"travel","emoji_order":"926","aliases":[":racing_car:"],"aliases_ascii":[],"keywords":["transportation","car"]},"motorcycle":{"unicode":"1f3cd","unicode_alt":"1f3cd-fe0f","code_decimal":"🏍","name":"racing motorcycle","shortname":":motorcycle:","category":"travel","emoji_order":"927","aliases":[":racing_motorcycle:"],"aliases_ascii":[],"keywords":["transportation","travel","bike"]},"cartwheel":{"unicode":"1f938","unicode_alt":"","code_decimal":"🤸","name":"person doing cartwheel","shortname":":cartwheel:","category":"activity","emoji_order":"928","aliases":[":person_doing_cartwheel:"],"aliases_ascii":[],"keywords":[]},"cartwheel_tone1":{"unicode":"1f938-1f3fb","unicode_alt":"","code_decimal":"🤸🏻","name":"person doing cartwheel tone 1","shortname":":cartwheel_tone1:","category":"activity","emoji_order":"929","aliases":[":person_doing_cartwheel_tone1:"],"aliases_ascii":[],"keywords":[]},"cartwheel_tone2":{"unicode":"1f938-1f3fc","unicode_alt":"","code_decimal":"🤸🏼","name":"person doing cartwheel tone 2","shortname":":cartwheel_tone2:","category":"activity","emoji_order":"930","aliases":[":person_doing_cartwheel_tone2:"],"aliases_ascii":[],"keywords":[]},"cartwheel_tone3":{"unicode":"1f938-1f3fd","unicode_alt":"","code_decimal":"🤸🏽","name":"person doing cartwheel tone 3","shortname":":cartwheel_tone3:","category":"activity","emoji_order":"931","aliases":[":person_doing_cartwheel_tone3:"],"aliases_ascii":[],"keywords":[]},"cartwheel_tone4":{"unicode":"1f938-1f3fe","unicode_alt":"","code_decimal":"🤸🏾","name":"person doing cartwheel tone 4","shortname":":cartwheel_tone4:","category":"activity","emoji_order":"932","aliases":[":person_doing_cartwheel_tone4:"],"aliases_ascii":[],"keywords":[]},"cartwheel_tone5":{"unicode":"1f938-1f3ff","unicode_alt":"","code_decimal":"🤸🏿","name":"person doing cartwheel tone 5","shortname":":cartwheel_tone5:","category":"activity","emoji_order":"933","aliases":[":person_doing_cartwheel_tone5:"],"aliases_ascii":[],"keywords":[]},"wrestlers":{"unicode":"1f93c","unicode_alt":"","code_decimal":"🤼","name":"wrestlers","shortname":":wrestlers:","category":"activity","emoji_order":"946","aliases":[":wrestling:"],"aliases_ascii":[],"keywords":[]},"wrestlers_tone1":{"unicode":"1f93c-1f3fb","unicode_alt":"","code_decimal":"🤼🏻","name":"wrestlers tone 1","shortname":":wrestlers_tone1:","category":"activity","emoji_order":"947","aliases":[":wrestling_tone1:"],"aliases_ascii":[],"keywords":[]},"wrestlers_tone2":{"unicode":"1f93c-1f3fc","unicode_alt":"","code_decimal":"🤼🏼","name":"wrestlers tone 2","shortname":":wrestlers_tone2:","category":"activity","emoji_order":"948","aliases":[":wrestling_tone2:"],"aliases_ascii":[],"keywords":[]},"wrestlers_tone3":{"unicode":"1f93c-1f3fd","unicode_alt":"","code_decimal":"🤼🏽","name":"wrestlers tone 3","shortname":":wrestlers_tone3:","category":"activity","emoji_order":"949","aliases":[":wrestling_tone3:"],"aliases_ascii":[],"keywords":[]},"wrestlers_tone4":{"unicode":"1f93c-1f3fe","unicode_alt":"","code_decimal":"🤼🏾","name":"wrestlers tone 4","shortname":":wrestlers_tone4:","category":"activity","emoji_order":"950","aliases":[":wrestling_tone4:"],"aliases_ascii":[],"keywords":[]},"wrestlers_tone5":{"unicode":"1f93c-1f3ff","unicode_alt":"","code_decimal":"🤼🏿","name":"wrestlers tone 5","shortname":":wrestlers_tone5:","category":"activity","emoji_order":"951","aliases":[":wrestling_tone5:"],"aliases_ascii":[],"keywords":[]},"water_polo":{"unicode":"1f93d","unicode_alt":"","code_decimal":"🤽","name":"water polo","shortname":":water_polo:","category":"activity","emoji_order":"964","aliases":[],"aliases_ascii":[],"keywords":[]},"water_polo_tone1":{"unicode":"1f93d-1f3fb","unicode_alt":"","code_decimal":"🤽🏻","name":"water polo tone 1","shortname":":water_polo_tone1:","category":"activity","emoji_order":"965","aliases":[],"aliases_ascii":[],"keywords":[]},"water_polo_tone2":{"unicode":"1f93d-1f3fc","unicode_alt":"","code_decimal":"🤽🏼","name":"water polo tone 2","shortname":":water_polo_tone2:","category":"activity","emoji_order":"966","aliases":[],"aliases_ascii":[],"keywords":[]},"water_polo_tone3":{"unicode":"1f93d-1f3fd","unicode_alt":"","code_decimal":"🤽🏽","name":"water polo tone 3","shortname":":water_polo_tone3:","category":"activity","emoji_order":"967","aliases":[],"aliases_ascii":[],"keywords":[]},"water_polo_tone4":{"unicode":"1f93d-1f3fe","unicode_alt":"","code_decimal":"🤽🏾","name":"water polo tone 4","shortname":":water_polo_tone4:","category":"activity","emoji_order":"968","aliases":[],"aliases_ascii":[],"keywords":[]},"water_polo_tone5":{"unicode":"1f93d-1f3ff","unicode_alt":"","code_decimal":"🤽🏿","name":"water polo tone 5","shortname":":water_polo_tone5:","category":"activity","emoji_order":"969","aliases":[],"aliases_ascii":[],"keywords":[]},"handball":{"unicode":"1f93e","unicode_alt":"","code_decimal":"🤾","name":"handball","shortname":":handball:","category":"activity","emoji_order":"982","aliases":[],"aliases_ascii":[],"keywords":[]},"handball_tone1":{"unicode":"1f93e-1f3fb","unicode_alt":"","code_decimal":"🤾🏻","name":"handball tone 1","shortname":":handball_tone1:","category":"activity","emoji_order":"983","aliases":[],"aliases_ascii":[],"keywords":[]},"handball_tone2":{"unicode":"1f93e-1f3fc","unicode_alt":"","code_decimal":"🤾🏼","name":"handball tone 2","shortname":":handball_tone2:","category":"activity","emoji_order":"984","aliases":[],"aliases_ascii":[],"keywords":[]},"handball_tone3":{"unicode":"1f93e-1f3fd","unicode_alt":"","code_decimal":"🤾🏽","name":"handball tone 3","shortname":":handball_tone3:","category":"activity","emoji_order":"985","aliases":[],"aliases_ascii":[],"keywords":[]},"handball_tone4":{"unicode":"1f93e-1f3fe","unicode_alt":"","code_decimal":"🤾🏾","name":"handball tone 4","shortname":":handball_tone4:","category":"activity","emoji_order":"986","aliases":[],"aliases_ascii":[],"keywords":[]},"handball_tone5":{"unicode":"1f93e-1f3ff","unicode_alt":"","code_decimal":"🤾🏿","name":"handball tone 5","shortname":":handball_tone5:","category":"activity","emoji_order":"987","aliases":[],"aliases_ascii":[],"keywords":[]},"juggling":{"unicode":"1f939","unicode_alt":"","code_decimal":"🤹","name":"juggling","shortname":":juggling:","category":"activity","emoji_order":"1000","aliases":[":juggler:"],"aliases_ascii":[],"keywords":[]},"juggling_tone1":{"unicode":"1f939-1f3fb","unicode_alt":"","code_decimal":"🤹🏻","name":"juggling tone 1","shortname":":juggling_tone1:","category":"activity","emoji_order":"1001","aliases":[":juggler_tone1:"],"aliases_ascii":[],"keywords":[]},"juggling_tone2":{"unicode":"1f939-1f3fc","unicode_alt":"","code_decimal":"🤹🏼","name":"juggling tone 2","shortname":":juggling_tone2:","category":"activity","emoji_order":"1002","aliases":[":juggler_tone2:"],"aliases_ascii":[],"keywords":[]},"juggling_tone3":{"unicode":"1f939-1f3fd","unicode_alt":"","code_decimal":"🤹🏽","name":"juggling tone 3","shortname":":juggling_tone3:","category":"activity","emoji_order":"1003","aliases":[":juggler_tone3:"],"aliases_ascii":[],"keywords":[]},"juggling_tone4":{"unicode":"1f939-1f3fe","unicode_alt":"","code_decimal":"🤹🏾","name":"juggling tone 4","shortname":":juggling_tone4:","category":"activity","emoji_order":"1004","aliases":[":juggler_tone4:"],"aliases_ascii":[],"keywords":[]},"juggling_tone5":{"unicode":"1f939-1f3ff","unicode_alt":"","code_decimal":"🤹🏿","name":"juggling tone 5","shortname":":juggling_tone5:","category":"activity","emoji_order":"1005","aliases":[":juggler_tone5:"],"aliases_ascii":[],"keywords":[]},"couple":{"unicode":"1f46b","unicode_alt":"","code_decimal":"👫","name":"man and woman holding hands","shortname":":couple:","category":"people","emoji_order":"1018","aliases":[],"aliases_ascii":[],"keywords":["people","sex","creationism"]},"two_men_holding_hands":{"unicode":"1f46c","unicode_alt":"","code_decimal":"👬","name":"two men holding hands","shortname":":two_men_holding_hands:","category":"people","emoji_order":"1024","aliases":[],"aliases_ascii":[],"keywords":["people","gay","men","sex","lgbt"]},"two_women_holding_hands":{"unicode":"1f46d","unicode_alt":"","code_decimal":"👭","name":"two women holding hands","shortname":":two_women_holding_hands:","category":"people","emoji_order":"1030","aliases":[],"aliases_ascii":[],"keywords":["people","women","sex","lgbt","lesbian","girls night"]},"couplekiss":{"unicode":"1f48f","unicode_alt":"","code_decimal":"💏","name":"kiss","shortname":":couplekiss:","category":"people","emoji_order":"1036","aliases":[],"aliases_ascii":[],"keywords":["people","love","sex"]},"kiss_mm":{"unicode":"1f468-2764-1f48b-1f468","unicode_alt":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","code_decimal":"👨❤💋👨","name":"kiss (man,man)","shortname":":kiss_mm:","category":"people","emoji_order":"1038","aliases":[":couplekiss_mm:"],"aliases_ascii":[],"keywords":["people","gay","men","love","sex","lgbt"]},"kiss_ww":{"unicode":"1f469-2764-1f48b-1f469","unicode_alt":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469","code_decimal":"👩❤💋👩","name":"kiss (woman,woman)","shortname":":kiss_ww:","category":"people","emoji_order":"1039","aliases":[":couplekiss_ww:"],"aliases_ascii":[],"keywords":["people","women","love","sex","lgbt","lesbian"]},"couple_with_heart":{"unicode":"1f491","unicode_alt":"","code_decimal":"💑","name":"couple with heart","shortname":":couple_with_heart:","category":"people","emoji_order":"1040","aliases":[],"aliases_ascii":[],"keywords":["people","love","sex"]},"couple_mm":{"unicode":"1f468-2764-1f468","unicode_alt":"1f468-200d-2764-fe0f-200d-1f468","code_decimal":"👨❤👨","name":"couple (man,man)","shortname":":couple_mm:","category":"people","emoji_order":"1042","aliases":[":couple_with_heart_mm:"],"aliases_ascii":[],"keywords":["people","gay","men","love","sex","lgbt"]},"couple_ww":{"unicode":"1f469-2764-1f469","unicode_alt":"1f469-200d-2764-fe0f-200d-1f469","code_decimal":"👩❤👩","name":"couple (woman,woman)","shortname":":couple_ww:","category":"people","emoji_order":"1043","aliases":[":couple_with_heart_ww:"],"aliases_ascii":[],"keywords":["people","women","love","sex","lgbt"]},"family":{"unicode":"1f46a","unicode_alt":"","code_decimal":"👪","name":"family","shortname":":family:","category":"people","emoji_order":"1044","aliases":[],"aliases_ascii":[],"keywords":["people","family","baby"]},"family_mwg":{"unicode":"1f468-1f469-1f467","unicode_alt":"1f468-200d-1f469-200d-1f467","code_decimal":"👨👩👧","name":"family (man,woman,girl)","shortname":":family_mwg:","category":"people","emoji_order":"1051","aliases":[],"aliases_ascii":[],"keywords":["people","family","baby"]},"family_mwgb":{"unicode":"1f468-1f469-1f467-1f466","unicode_alt":"1f468-200d-1f469-200d-1f467-200d-1f466","code_decimal":"👨👩👧👦","name":"family (man,woman,girl,boy)","shortname":":family_mwgb:","category":"people","emoji_order":"1052","aliases":[],"aliases_ascii":[],"keywords":["people","family","baby"]},"family_mwbb":{"unicode":"1f468-1f469-1f466-1f466","unicode_alt":"1f468-200d-1f469-200d-1f466-200d-1f466","code_decimal":"👨👩👦👦","name":"family (man,woman,boy,boy)","shortname":":family_mwbb:","category":"people","emoji_order":"1053","aliases":[],"aliases_ascii":[],"keywords":["people","family","baby"]},"family_mwgg":{"unicode":"1f468-1f469-1f467-1f467","unicode_alt":"1f468-200d-1f469-200d-1f467-200d-1f467","code_decimal":"👨👩👧👧","name":"family (man,woman,girl,girl)","shortname":":family_mwgg:","category":"people","emoji_order":"1054","aliases":[],"aliases_ascii":[],"keywords":["people","family","baby"]},"family_mmb":{"unicode":"1f468-1f468-1f466","unicode_alt":"1f468-200d-1f468-200d-1f466","code_decimal":"👨👨👦","name":"family (man,man,boy)","shortname":":family_mmb:","category":"people","emoji_order":"1055","aliases":[],"aliases_ascii":[],"keywords":["people","gay","family","men","baby","lgbt"]},"family_mmg":{"unicode":"1f468-1f468-1f467","unicode_alt":"1f468-200d-1f468-200d-1f467","code_decimal":"👨👨👧","name":"family (man,man,girl)","shortname":":family_mmg:","category":"people","emoji_order":"1056","aliases":[],"aliases_ascii":[],"keywords":["people","gay","family","men","baby","lgbt"]},"family_mmgb":{"unicode":"1f468-1f468-1f467-1f466","unicode_alt":"1f468-200d-1f468-200d-1f467-200d-1f466","code_decimal":"👨👨👧👦","name":"family (man,man,girl,boy)","shortname":":family_mmgb:","category":"people","emoji_order":"1057","aliases":[],"aliases_ascii":[],"keywords":["people","gay","family","men","baby","lgbt"]},"family_mmbb":{"unicode":"1f468-1f468-1f466-1f466","unicode_alt":"1f468-200d-1f468-200d-1f466-200d-1f466","code_decimal":"👨👨👦👦","name":"family (man,man,boy,boy)","shortname":":family_mmbb:","category":"people","emoji_order":"1058","aliases":[],"aliases_ascii":[],"keywords":["people","gay","family","men","baby","lgbt"]},"family_mmgg":{"unicode":"1f468-1f468-1f467-1f467","unicode_alt":"1f468-200d-1f468-200d-1f467-200d-1f467","code_decimal":"👨👨👧👧","name":"family (man,man,girl,girl)","shortname":":family_mmgg:","category":"people","emoji_order":"1059","aliases":[],"aliases_ascii":[],"keywords":["people","gay","family","men","baby","lgbt"]},"family_wwb":{"unicode":"1f469-1f469-1f466","unicode_alt":"1f469-200d-1f469-200d-1f466","code_decimal":"👩👩👦","name":"family (woman,woman,boy)","shortname":":family_wwb:","category":"people","emoji_order":"1060","aliases":[],"aliases_ascii":[],"keywords":["people","family","women","baby","lgbt","lesbian"]},"family_wwg":{"unicode":"1f469-1f469-1f467","unicode_alt":"1f469-200d-1f469-200d-1f467","code_decimal":"👩👩👧","name":"family (woman,woman,girl)","shortname":":family_wwg:","category":"people","emoji_order":"1061","aliases":[],"aliases_ascii":[],"keywords":["people","family","women","baby","lgbt","lesbian"]},"family_wwgb":{"unicode":"1f469-1f469-1f467-1f466","unicode_alt":"1f469-200d-1f469-200d-1f467-200d-1f466","code_decimal":"👩👩👧👦","name":"family (woman,woman,girl,boy)","shortname":":family_wwgb:","category":"people","emoji_order":"1062","aliases":[],"aliases_ascii":[],"keywords":["people","family","women","baby","lgbt","lesbian"]},"family_wwbb":{"unicode":"1f469-1f469-1f466-1f466","unicode_alt":"1f469-200d-1f469-200d-1f466-200d-1f466","code_decimal":"👩👩👦👦","name":"family (woman,woman,boy,boy)","shortname":":family_wwbb:","category":"people","emoji_order":"1063","aliases":[],"aliases_ascii":[],"keywords":["people","family","women","baby","lgbt","lesbian"]},"family_wwgg":{"unicode":"1f469-1f469-1f467-1f467","unicode_alt":"1f469-200d-1f469-200d-1f467-200d-1f467","code_decimal":"👩👩👧👧","name":"family (woman,woman,girl,girl)","shortname":":family_wwgg:","category":"people","emoji_order":"1064","aliases":[],"aliases_ascii":[],"keywords":["people","family","women","baby","lgbt","lesbian"]},"tone1":{"unicode":"1f3fb","unicode_alt":"","code_decimal":"🏻","name":"emoji modifier Fitzpatrick type-1-2","shortname":":tone1:","category":"modifier","emoji_order":"1075","aliases":[],"aliases_ascii":[],"keywords":[]},"tone2":{"unicode":"1f3fc","unicode_alt":"","code_decimal":"🏼","name":"emoji modifier Fitzpatrick type-3","shortname":":tone2:","category":"modifier","emoji_order":"1076","aliases":[],"aliases_ascii":[],"keywords":[]},"tone3":{"unicode":"1f3fd","unicode_alt":"","code_decimal":"🏽","name":"emoji modifier Fitzpatrick type-4","shortname":":tone3:","category":"modifier","emoji_order":"1077","aliases":[],"aliases_ascii":[],"keywords":[]},"tone4":{"unicode":"1f3fe","unicode_alt":"","code_decimal":"🏾","name":"emoji modifier Fitzpatrick type-5","shortname":":tone4:","category":"modifier","emoji_order":"1078","aliases":[],"aliases_ascii":[],"keywords":[]},"tone5":{"unicode":"1f3ff","unicode_alt":"","code_decimal":"🏿","name":"emoji modifier Fitzpatrick type-6","shortname":":tone5:","category":"modifier","emoji_order":"1079","aliases":[],"aliases_ascii":[],"keywords":[]},"muscle":{"unicode":"1f4aa","unicode_alt":"","code_decimal":"💪","name":"flexed biceps","shortname":":muscle:","category":"people","emoji_order":"1080","aliases":[],"aliases_ascii":[],"keywords":["body","hands","workout","flex","win","diversity","feminist","boys night"]},"muscle_tone1":{"unicode":"1f4aa-1f3fb","unicode_alt":"","code_decimal":"💪🏻","name":"flexed biceps tone 1","shortname":":muscle_tone1:","category":"people","emoji_order":"1081","aliases":[],"aliases_ascii":[],"keywords":[]},"muscle_tone2":{"unicode":"1f4aa-1f3fc","unicode_alt":"","code_decimal":"💪🏼","name":"flexed biceps tone 2","shortname":":muscle_tone2:","category":"people","emoji_order":"1082","aliases":[],"aliases_ascii":[],"keywords":[]},"muscle_tone3":{"unicode":"1f4aa-1f3fd","unicode_alt":"","code_decimal":"💪🏽","name":"flexed biceps tone 3","shortname":":muscle_tone3:","category":"people","emoji_order":"1083","aliases":[],"aliases_ascii":[],"keywords":[]},"muscle_tone4":{"unicode":"1f4aa-1f3fe","unicode_alt":"","code_decimal":"💪🏾","name":"flexed biceps tone 4","shortname":":muscle_tone4:","category":"people","emoji_order":"1084","aliases":[],"aliases_ascii":[],"keywords":[]},"muscle_tone5":{"unicode":"1f4aa-1f3ff","unicode_alt":"","code_decimal":"💪🏿","name":"flexed biceps tone 5","shortname":":muscle_tone5:","category":"people","emoji_order":"1085","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie":{"unicode":"1f933","unicode_alt":"","code_decimal":"🤳","name":"selfie","shortname":":selfie:","category":"people","emoji_order":"1086","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie_tone1":{"unicode":"1f933-1f3fb","unicode_alt":"","code_decimal":"🤳🏻","name":"selfie tone 1","shortname":":selfie_tone1:","category":"people","emoji_order":"1087","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie_tone2":{"unicode":"1f933-1f3fc","unicode_alt":"","code_decimal":"🤳🏼","name":"selfie tone 2","shortname":":selfie_tone2:","category":"people","emoji_order":"1088","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie_tone3":{"unicode":"1f933-1f3fd","unicode_alt":"","code_decimal":"🤳🏽","name":"selfie tone 3","shortname":":selfie_tone3:","category":"people","emoji_order":"1089","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie_tone4":{"unicode":"1f933-1f3fe","unicode_alt":"","code_decimal":"🤳🏾","name":"selfie tone 4","shortname":":selfie_tone4:","category":"people","emoji_order":"1090","aliases":[],"aliases_ascii":[],"keywords":[]},"selfie_tone5":{"unicode":"1f933-1f3ff","unicode_alt":"","code_decimal":"🤳🏿","name":"selfie tone 5","shortname":":selfie_tone5:","category":"people","emoji_order":"1091","aliases":[],"aliases_ascii":[],"keywords":[]},"point_left":{"unicode":"1f448","unicode_alt":"","code_decimal":"👈","name":"white left pointing backhand index","shortname":":point_left:","category":"people","emoji_order":"1092","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","diversity"]},"point_left_tone1":{"unicode":"1f448-1f3fb","unicode_alt":"","code_decimal":"👈🏻","name":"white left pointing backhand index tone 1","shortname":":point_left_tone1:","category":"people","emoji_order":"1093","aliases":[],"aliases_ascii":[],"keywords":[]},"point_left_tone2":{"unicode":"1f448-1f3fc","unicode_alt":"","code_decimal":"👈🏼","name":"white left pointing backhand index tone 2","shortname":":point_left_tone2:","category":"people","emoji_order":"1094","aliases":[],"aliases_ascii":[],"keywords":[]},"point_left_tone3":{"unicode":"1f448-1f3fd","unicode_alt":"","code_decimal":"👈🏽","name":"white left pointing backhand index tone 3","shortname":":point_left_tone3:","category":"people","emoji_order":"1095","aliases":[],"aliases_ascii":[],"keywords":[]},"point_left_tone4":{"unicode":"1f448-1f3fe","unicode_alt":"","code_decimal":"👈🏾","name":"white left pointing backhand index tone 4","shortname":":point_left_tone4:","category":"people","emoji_order":"1096","aliases":[],"aliases_ascii":[],"keywords":[]},"point_left_tone5":{"unicode":"1f448-1f3ff","unicode_alt":"","code_decimal":"👈🏿","name":"white left pointing backhand index tone 5","shortname":":point_left_tone5:","category":"people","emoji_order":"1097","aliases":[],"aliases_ascii":[],"keywords":[]},"point_right":{"unicode":"1f449","unicode_alt":"","code_decimal":"👉","name":"white right pointing backhand index","shortname":":point_right:","category":"people","emoji_order":"1098","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","diversity"]},"point_right_tone1":{"unicode":"1f449-1f3fb","unicode_alt":"","code_decimal":"👉🏻","name":"white right pointing backhand index tone 1","shortname":":point_right_tone1:","category":"people","emoji_order":"1099","aliases":[],"aliases_ascii":[],"keywords":[]},"point_right_tone2":{"unicode":"1f449-1f3fc","unicode_alt":"","code_decimal":"👉🏼","name":"white right pointing backhand index tone 2","shortname":":point_right_tone2:","category":"people","emoji_order":"1100","aliases":[],"aliases_ascii":[],"keywords":[]},"point_right_tone3":{"unicode":"1f449-1f3fd","unicode_alt":"","code_decimal":"👉🏽","name":"white right pointing backhand index tone 3","shortname":":point_right_tone3:","category":"people","emoji_order":"1101","aliases":[],"aliases_ascii":[],"keywords":[]},"point_right_tone4":{"unicode":"1f449-1f3fe","unicode_alt":"","code_decimal":"👉🏾","name":"white right pointing backhand index tone 4","shortname":":point_right_tone4:","category":"people","emoji_order":"1102","aliases":[],"aliases_ascii":[],"keywords":[]},"point_right_tone5":{"unicode":"1f449-1f3ff","unicode_alt":"","code_decimal":"👉🏿","name":"white right pointing backhand index tone 5","shortname":":point_right_tone5:","category":"people","emoji_order":"1103","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up":{"unicode":"261d","unicode_alt":"261d-fe0f","code_decimal":"☝","name":"white up pointing index","shortname":":point_up:","category":"people","emoji_order":"1104","aliases":[],"aliases_ascii":[],"keywords":["body","hands","emojione","diversity"]},"point_up_tone1":{"unicode":"261d-1f3fb","unicode_alt":"","code_decimal":"☝🏻","name":"white up pointing index tone 1","shortname":":point_up_tone1:","category":"people","emoji_order":"1105","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_tone2":{"unicode":"261d-1f3fc","unicode_alt":"","code_decimal":"☝🏼","name":"white up pointing index tone 2","shortname":":point_up_tone2:","category":"people","emoji_order":"1106","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_tone3":{"unicode":"261d-1f3fd","unicode_alt":"","code_decimal":"☝🏽","name":"white up pointing index tone 3","shortname":":point_up_tone3:","category":"people","emoji_order":"1107","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_tone4":{"unicode":"261d-1f3fe","unicode_alt":"","code_decimal":"☝🏾","name":"white up pointing index tone 4","shortname":":point_up_tone4:","category":"people","emoji_order":"1108","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_tone5":{"unicode":"261d-1f3ff","unicode_alt":"","code_decimal":"☝🏿","name":"white up pointing index tone 5","shortname":":point_up_tone5:","category":"people","emoji_order":"1109","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_2":{"unicode":"1f446","unicode_alt":"","code_decimal":"👆","name":"white up pointing backhand index","shortname":":point_up_2:","category":"people","emoji_order":"1110","aliases":[],"aliases_ascii":[],"keywords":["body","hands","diversity"]},"point_up_2_tone1":{"unicode":"1f446-1f3fb","unicode_alt":"","code_decimal":"👆🏻","name":"white up pointing backhand index tone 1","shortname":":point_up_2_tone1:","category":"people","emoji_order":"1111","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_2_tone2":{"unicode":"1f446-1f3fc","unicode_alt":"","code_decimal":"👆🏼","name":"white up pointing backhand index tone 2","shortname":":point_up_2_tone2:","category":"people","emoji_order":"1112","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_2_tone3":{"unicode":"1f446-1f3fd","unicode_alt":"","code_decimal":"👆🏽","name":"white up pointing backhand index tone 3","shortname":":point_up_2_tone3:","category":"people","emoji_order":"1113","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_2_tone4":{"unicode":"1f446-1f3fe","unicode_alt":"","code_decimal":"👆🏾","name":"white up pointing backhand index tone 4","shortname":":point_up_2_tone4:","category":"people","emoji_order":"1114","aliases":[],"aliases_ascii":[],"keywords":[]},"point_up_2_tone5":{"unicode":"1f446-1f3ff","unicode_alt":"","code_decimal":"👆🏿","name":"white up pointing backhand index tone 5","shortname":":point_up_2_tone5:","category":"people","emoji_order":"1115","aliases":[],"aliases_ascii":[],"keywords":[]},"middle_finger":{"unicode":"1f595","unicode_alt":"","code_decimal":"🖕","name":"reversed hand with middle finger extended","shortname":":middle_finger:","category":"people","emoji_order":"1116","aliases":[":reversed_hand_with_middle_finger_extended:"],"aliases_ascii":[],"keywords":["body","hands","middle finger","diversity"]},"middle_finger_tone1":{"unicode":"1f595-1f3fb","unicode_alt":"","code_decimal":"🖕🏻","name":"reversed hand with middle finger extended tone 1","shortname":":middle_finger_tone1:","category":"people","emoji_order":"1117","aliases":[":reversed_hand_with_middle_finger_extended_tone1:"],"aliases_ascii":[],"keywords":[]},"middle_finger_tone2":{"unicode":"1f595-1f3fc","unicode_alt":"","code_decimal":"🖕🏼","name":"reversed hand with middle finger extended tone 2","shortname":":middle_finger_tone2:","category":"people","emoji_order":"1118","aliases":[":reversed_hand_with_middle_finger_extended_tone2:"],"aliases_ascii":[],"keywords":[]},"middle_finger_tone3":{"unicode":"1f595-1f3fd","unicode_alt":"","code_decimal":"🖕🏽","name":"reversed hand with middle finger extended tone 3","shortname":":middle_finger_tone3:","category":"people","emoji_order":"1119","aliases":[":reversed_hand_with_middle_finger_extended_tone3:"],"aliases_ascii":[],"keywords":[]},"middle_finger_tone4":{"unicode":"1f595-1f3fe","unicode_alt":"","code_decimal":"🖕🏾","name":"reversed hand with middle finger extended tone 4","shortname":":middle_finger_tone4:","category":"people","emoji_order":"1120","aliases":[":reversed_hand_with_middle_finger_extended_tone4:"],"aliases_ascii":[],"keywords":[]},"middle_finger_tone5":{"unicode":"1f595-1f3ff","unicode_alt":"","code_decimal":"🖕🏿","name":"reversed hand with middle finger extended tone 5","shortname":":middle_finger_tone5:","category":"people","emoji_order":"1121","aliases":[":reversed_hand_with_middle_finger_extended_tone5:"],"aliases_ascii":[],"keywords":[]},"point_down":{"unicode":"1f447","unicode_alt":"","code_decimal":"👇","name":"white down pointing backhand index","shortname":":point_down:","category":"people","emoji_order":"1122","aliases":[],"aliases_ascii":[],"keywords":["body","hands","diversity"]},"point_down_tone1":{"unicode":"1f447-1f3fb","unicode_alt":"","code_decimal":"👇🏻","name":"white down pointing backhand index tone 1","shortname":":point_down_tone1:","category":"people","emoji_order":"1123","aliases":[],"aliases_ascii":[],"keywords":[]},"point_down_tone2":{"unicode":"1f447-1f3fc","unicode_alt":"","code_decimal":"👇🏼","name":"white down pointing backhand index tone 2","shortname":":point_down_tone2:","category":"people","emoji_order":"1124","aliases":[],"aliases_ascii":[],"keywords":[]},"point_down_tone3":{"unicode":"1f447-1f3fd","unicode_alt":"","code_decimal":"👇🏽","name":"white down pointing backhand index tone 3","shortname":":point_down_tone3:","category":"people","emoji_order":"1125","aliases":[],"aliases_ascii":[],"keywords":[]},"point_down_tone4":{"unicode":"1f447-1f3fe","unicode_alt":"","code_decimal":"👇🏾","name":"white down pointing backhand index tone 4","shortname":":point_down_tone4:","category":"people","emoji_order":"1126","aliases":[],"aliases_ascii":[],"keywords":[]},"point_down_tone5":{"unicode":"1f447-1f3ff","unicode_alt":"","code_decimal":"👇🏿","name":"white down pointing backhand index tone 5","shortname":":point_down_tone5:","category":"people","emoji_order":"1127","aliases":[],"aliases_ascii":[],"keywords":[]},"v":{"unicode":"270c","unicode_alt":"270c-fe0f","code_decimal":"✌","name":"victory hand","shortname":":v:","category":"people","emoji_order":"1128","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","thank you","peace","diversity","girls night"]},"v_tone1":{"unicode":"270c-1f3fb","unicode_alt":"","code_decimal":"✌🏻","name":"victory hand tone 1","shortname":":v_tone1:","category":"people","emoji_order":"1129","aliases":[],"aliases_ascii":[],"keywords":[]},"v_tone2":{"unicode":"270c-1f3fc","unicode_alt":"","code_decimal":"✌🏼","name":"victory hand tone 2","shortname":":v_tone2:","category":"people","emoji_order":"1130","aliases":[],"aliases_ascii":[],"keywords":[]},"v_tone3":{"unicode":"270c-1f3fd","unicode_alt":"","code_decimal":"✌🏽","name":"victory hand tone 3","shortname":":v_tone3:","category":"people","emoji_order":"1131","aliases":[],"aliases_ascii":[],"keywords":[]},"v_tone4":{"unicode":"270c-1f3fe","unicode_alt":"","code_decimal":"✌🏾","name":"victory hand tone 4","shortname":":v_tone4:","category":"people","emoji_order":"1132","aliases":[],"aliases_ascii":[],"keywords":[]},"v_tone5":{"unicode":"270c-1f3ff","unicode_alt":"","code_decimal":"✌🏿","name":"victory hand tone 5","shortname":":v_tone5:","category":"people","emoji_order":"1133","aliases":[],"aliases_ascii":[],"keywords":[]},"fingers_crossed":{"unicode":"1f91e","unicode_alt":"","code_decimal":"🤞","name":"hand with first and index finger crossed","shortname":":fingers_crossed:","category":"people","emoji_order":"1134","aliases":[":hand_with_index_and_middle_finger_crossed:"],"aliases_ascii":[],"keywords":[]},"fingers_crossed_tone1":{"unicode":"1f91e-1f3fb","unicode_alt":"","code_decimal":"🤞🏻","name":"hand with index and middle fingers crossed tone 1","shortname":":fingers_crossed_tone1:","category":"people","emoji_order":"1135","aliases":[":hand_with_index_and_middle_fingers_crossed_tone1:"],"aliases_ascii":[],"keywords":[]},"fingers_crossed_tone2":{"unicode":"1f91e-1f3fc","unicode_alt":"","code_decimal":"🤞🏼","name":"hand with index and middle fingers crossed tone 2","shortname":":fingers_crossed_tone2:","category":"people","emoji_order":"1136","aliases":[":hand_with_index_and_middle_fingers_crossed_tone2:"],"aliases_ascii":[],"keywords":[]},"fingers_crossed_tone3":{"unicode":"1f91e-1f3fd","unicode_alt":"","code_decimal":"🤞🏽","name":"hand with index and middle fingers crossed tone 3","shortname":":fingers_crossed_tone3:","category":"people","emoji_order":"1137","aliases":[":hand_with_index_and_middle_fingers_crossed_tone3:"],"aliases_ascii":[],"keywords":[]},"fingers_crossed_tone4":{"unicode":"1f91e-1f3fe","unicode_alt":"","code_decimal":"🤞🏾","name":"hand with index and middle fingers crossed tone 4","shortname":":fingers_crossed_tone4:","category":"people","emoji_order":"1138","aliases":[":hand_with_index_and_middle_fingers_crossed_tone4:"],"aliases_ascii":[],"keywords":[]},"fingers_crossed_tone5":{"unicode":"1f91e-1f3ff","unicode_alt":"","code_decimal":"🤞🏿","name":"hand with index and middle fingers crossed tone 5","shortname":":fingers_crossed_tone5:","category":"people","emoji_order":"1139","aliases":[":hand_with_index_and_middle_fingers_crossed_tone5:"],"aliases_ascii":[],"keywords":[]},"vulcan":{"unicode":"1f596","unicode_alt":"","code_decimal":"🖖","name":"raised hand with part between middle and ring fingers","shortname":":vulcan:","category":"people","emoji_order":"1140","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers:"],"aliases_ascii":[],"keywords":["body","hands","hi","diversity"]},"vulcan_tone1":{"unicode":"1f596-1f3fb","unicode_alt":"","code_decimal":"🖖🏻","name":"raised hand with part between middle and ring fingers tone 1","shortname":":vulcan_tone1:","category":"people","emoji_order":"1141","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers_tone1:"],"aliases_ascii":[],"keywords":[]},"vulcan_tone2":{"unicode":"1f596-1f3fc","unicode_alt":"","code_decimal":"🖖🏼","name":"raised hand with part between middle and ring fingers tone 2","shortname":":vulcan_tone2:","category":"people","emoji_order":"1142","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers_tone2:"],"aliases_ascii":[],"keywords":[]},"vulcan_tone3":{"unicode":"1f596-1f3fd","unicode_alt":"","code_decimal":"🖖🏽","name":"raised hand with part between middle and ring fingers tone 3","shortname":":vulcan_tone3:","category":"people","emoji_order":"1143","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers_tone3:"],"aliases_ascii":[],"keywords":[]},"vulcan_tone4":{"unicode":"1f596-1f3fe","unicode_alt":"","code_decimal":"🖖🏾","name":"raised hand with part between middle and ring fingers tone 4","shortname":":vulcan_tone4:","category":"people","emoji_order":"1144","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers_tone4:"],"aliases_ascii":[],"keywords":[]},"vulcan_tone5":{"unicode":"1f596-1f3ff","unicode_alt":"","code_decimal":"🖖🏿","name":"raised hand with part between middle and ring fingers tone 5","shortname":":vulcan_tone5:","category":"people","emoji_order":"1145","aliases":[":raised_hand_with_part_between_middle_and_ring_fingers_tone5:"],"aliases_ascii":[],"keywords":[]},"metal":{"unicode":"1f918","unicode_alt":"","code_decimal":"🤘","name":"sign of the horns","shortname":":metal:","category":"people","emoji_order":"1146","aliases":[":sign_of_the_horns:"],"aliases_ascii":[],"keywords":["body","hands","hi","diversity","boys night","parties"]},"metal_tone1":{"unicode":"1f918-1f3fb","unicode_alt":"","code_decimal":"🤘🏻","name":"sign of the horns tone 1","shortname":":metal_tone1:","category":"people","emoji_order":"1147","aliases":[":sign_of_the_horns_tone1:"],"aliases_ascii":[],"keywords":[]},"metal_tone2":{"unicode":"1f918-1f3fc","unicode_alt":"","code_decimal":"🤘🏼","name":"sign of the horns tone 2","shortname":":metal_tone2:","category":"people","emoji_order":"1148","aliases":[":sign_of_the_horns_tone2:"],"aliases_ascii":[],"keywords":[]},"metal_tone3":{"unicode":"1f918-1f3fd","unicode_alt":"","code_decimal":"🤘🏽","name":"sign of the horns tone 3","shortname":":metal_tone3:","category":"people","emoji_order":"1149","aliases":[":sign_of_the_horns_tone3:"],"aliases_ascii":[],"keywords":[]},"metal_tone4":{"unicode":"1f918-1f3fe","unicode_alt":"","code_decimal":"🤘🏾","name":"sign of the horns tone 4","shortname":":metal_tone4:","category":"people","emoji_order":"1150","aliases":[":sign_of_the_horns_tone4:"],"aliases_ascii":[],"keywords":[]},"metal_tone5":{"unicode":"1f918-1f3ff","unicode_alt":"","code_decimal":"🤘🏿","name":"sign of the horns tone 5","shortname":":metal_tone5:","category":"people","emoji_order":"1151","aliases":[":sign_of_the_horns_tone5:"],"aliases_ascii":[],"keywords":[]},"call_me":{"unicode":"1f919","unicode_alt":"","code_decimal":"🤙","name":"call me hand","shortname":":call_me:","category":"people","emoji_order":"1152","aliases":[":call_me_hand:"],"aliases_ascii":[],"keywords":[]},"call_me_tone1":{"unicode":"1f919-1f3fb","unicode_alt":"","code_decimal":"🤙🏻","name":"call me hand tone 1","shortname":":call_me_tone1:","category":"people","emoji_order":"1153","aliases":[":call_me_hand_tone1:"],"aliases_ascii":[],"keywords":[]},"call_me_tone2":{"unicode":"1f919-1f3fc","unicode_alt":"","code_decimal":"🤙🏼","name":"call me hand tone 2","shortname":":call_me_tone2:","category":"people","emoji_order":"1154","aliases":[":call_me_hand_tone2:"],"aliases_ascii":[],"keywords":[]},"call_me_tone3":{"unicode":"1f919-1f3fd","unicode_alt":"","code_decimal":"🤙🏽","name":"call me hand tone 3","shortname":":call_me_tone3:","category":"people","emoji_order":"1155","aliases":[":call_me_hand_tone3:"],"aliases_ascii":[],"keywords":[]},"call_me_tone4":{"unicode":"1f919-1f3fe","unicode_alt":"","code_decimal":"🤙🏾","name":"call me hand tone 4","shortname":":call_me_tone4:","category":"people","emoji_order":"1156","aliases":[":call_me_hand_tone4:"],"aliases_ascii":[],"keywords":[]},"call_me_tone5":{"unicode":"1f919-1f3ff","unicode_alt":"","code_decimal":"🤙🏿","name":"call me hand tone 5","shortname":":call_me_tone5:","category":"people","emoji_order":"1157","aliases":[":call_me_hand_tone5:"],"aliases_ascii":[],"keywords":[]},"hand_splayed":{"unicode":"1f590","unicode_alt":"1f590-fe0f","code_decimal":"🖐","name":"raised hand with fingers splayed","shortname":":hand_splayed:","category":"people","emoji_order":"1158","aliases":[":raised_hand_with_fingers_splayed:"],"aliases_ascii":[],"keywords":["body","hands","hi","diversity"]},"hand_splayed_tone1":{"unicode":"1f590-1f3fb","unicode_alt":"","code_decimal":"🖐🏻","name":"raised hand with fingers splayed tone 1","shortname":":hand_splayed_tone1:","category":"people","emoji_order":"1159","aliases":[":raised_hand_with_fingers_splayed_tone1:"],"aliases_ascii":[],"keywords":[]},"hand_splayed_tone2":{"unicode":"1f590-1f3fc","unicode_alt":"","code_decimal":"🖐🏼","name":"raised hand with fingers splayed tone 2","shortname":":hand_splayed_tone2:","category":"people","emoji_order":"1160","aliases":[":raised_hand_with_fingers_splayed_tone2:"],"aliases_ascii":[],"keywords":[]},"hand_splayed_tone3":{"unicode":"1f590-1f3fd","unicode_alt":"","code_decimal":"🖐🏽","name":"raised hand with fingers splayed tone 3","shortname":":hand_splayed_tone3:","category":"people","emoji_order":"1161","aliases":[":raised_hand_with_fingers_splayed_tone3:"],"aliases_ascii":[],"keywords":[]},"hand_splayed_tone4":{"unicode":"1f590-1f3fe","unicode_alt":"","code_decimal":"🖐🏾","name":"raised hand with fingers splayed tone 4","shortname":":hand_splayed_tone4:","category":"people","emoji_order":"1162","aliases":[":raised_hand_with_fingers_splayed_tone4:"],"aliases_ascii":[],"keywords":[]},"hand_splayed_tone5":{"unicode":"1f590-1f3ff","unicode_alt":"","code_decimal":"🖐🏿","name":"raised hand with fingers splayed tone 5","shortname":":hand_splayed_tone5:","category":"people","emoji_order":"1163","aliases":[":raised_hand_with_fingers_splayed_tone5:"],"aliases_ascii":[],"keywords":[]},"raised_hand":{"unicode":"270b","unicode_alt":"","code_decimal":"✋","name":"raised hand","shortname":":raised_hand:","category":"people","emoji_order":"1164","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","diversity","girls night"]},"raised_hand_tone1":{"unicode":"270b-1f3fb","unicode_alt":"","code_decimal":"✋🏻","name":"raised hand tone 1","shortname":":raised_hand_tone1:","category":"people","emoji_order":"1165","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hand_tone2":{"unicode":"270b-1f3fc","unicode_alt":"","code_decimal":"✋🏼","name":"raised hand tone 2","shortname":":raised_hand_tone2:","category":"people","emoji_order":"1166","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hand_tone3":{"unicode":"270b-1f3fd","unicode_alt":"","code_decimal":"✋🏽","name":"raised hand tone 3","shortname":":raised_hand_tone3:","category":"people","emoji_order":"1167","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hand_tone4":{"unicode":"270b-1f3fe","unicode_alt":"","code_decimal":"✋🏾","name":"raised hand tone 4","shortname":":raised_hand_tone4:","category":"people","emoji_order":"1168","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hand_tone5":{"unicode":"270b-1f3ff","unicode_alt":"","code_decimal":"✋🏿","name":"raised hand tone 5","shortname":":raised_hand_tone5:","category":"people","emoji_order":"1169","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_hand":{"unicode":"1f44c","unicode_alt":"","code_decimal":"👌","name":"ok hand sign","shortname":":ok_hand:","category":"people","emoji_order":"1170","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","diversity","perfect","good","beautiful"]},"ok_hand_tone1":{"unicode":"1f44c-1f3fb","unicode_alt":"","code_decimal":"👌🏻","name":"ok hand sign tone 1","shortname":":ok_hand_tone1:","category":"people","emoji_order":"1171","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_hand_tone2":{"unicode":"1f44c-1f3fc","unicode_alt":"","code_decimal":"👌🏼","name":"ok hand sign tone 2","shortname":":ok_hand_tone2:","category":"people","emoji_order":"1172","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_hand_tone3":{"unicode":"1f44c-1f3fd","unicode_alt":"","code_decimal":"👌🏽","name":"ok hand sign tone 3","shortname":":ok_hand_tone3:","category":"people","emoji_order":"1173","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_hand_tone4":{"unicode":"1f44c-1f3fe","unicode_alt":"","code_decimal":"👌🏾","name":"ok hand sign tone 4","shortname":":ok_hand_tone4:","category":"people","emoji_order":"1174","aliases":[],"aliases_ascii":[],"keywords":[]},"ok_hand_tone5":{"unicode":"1f44c-1f3ff","unicode_alt":"","code_decimal":"👌🏿","name":"ok hand sign tone 5","shortname":":ok_hand_tone5:","category":"people","emoji_order":"1175","aliases":[],"aliases_ascii":[],"keywords":[]},"thumbsup":{"unicode":"1f44d","unicode_alt":"","code_decimal":"👍","name":"thumbs up sign","shortname":":thumbsup:","category":"people","emoji_order":"1176","aliases":[":+1:",":thumbup:"],"aliases_ascii":[],"keywords":["body","hands","hi","luck","thank you","diversity","perfect","good","beautiful"]},"thumbsup_tone1":{"unicode":"1f44d-1f3fb","unicode_alt":"","code_decimal":"👍🏻","name":"thumbs up sign tone 1","shortname":":thumbsup_tone1:","category":"people","emoji_order":"1177","aliases":[":+1_tone1:",":thumbup_tone1:"],"aliases_ascii":[],"keywords":[]},"thumbsup_tone2":{"unicode":"1f44d-1f3fc","unicode_alt":"","code_decimal":"👍🏼","name":"thumbs up sign tone 2","shortname":":thumbsup_tone2:","category":"people","emoji_order":"1178","aliases":[":+1_tone2:",":thumbup_tone2:"],"aliases_ascii":[],"keywords":[]},"thumbsup_tone3":{"unicode":"1f44d-1f3fd","unicode_alt":"","code_decimal":"👍🏽","name":"thumbs up sign tone 3","shortname":":thumbsup_tone3:","category":"people","emoji_order":"1179","aliases":[":+1_tone3:",":thumbup_tone3:"],"aliases_ascii":[],"keywords":[]},"thumbsup_tone4":{"unicode":"1f44d-1f3fe","unicode_alt":"","code_decimal":"👍🏾","name":"thumbs up sign tone 4","shortname":":thumbsup_tone4:","category":"people","emoji_order":"1180","aliases":[":+1_tone4:",":thumbup_tone4:"],"aliases_ascii":[],"keywords":[]},"thumbsup_tone5":{"unicode":"1f44d-1f3ff","unicode_alt":"","code_decimal":"👍🏿","name":"thumbs up sign tone 5","shortname":":thumbsup_tone5:","category":"people","emoji_order":"1181","aliases":[":+1_tone5:",":thumbup_tone5:"],"aliases_ascii":[],"keywords":[]},"thumbsdown":{"unicode":"1f44e","unicode_alt":"","code_decimal":"👎","name":"thumbs down sign","shortname":":thumbsdown:","category":"people","emoji_order":"1182","aliases":[":-1:",":thumbdown:"],"aliases_ascii":[],"keywords":["body","hands","diversity"]},"thumbsdown_tone1":{"unicode":"1f44e-1f3fb","unicode_alt":"","code_decimal":"👎🏻","name":"thumbs down sign tone 1","shortname":":thumbsdown_tone1:","category":"people","emoji_order":"1183","aliases":[":-1_tone1:",":thumbdown_tone1:"],"aliases_ascii":[],"keywords":[]},"thumbsdown_tone2":{"unicode":"1f44e-1f3fc","unicode_alt":"","code_decimal":"👎🏼","name":"thumbs down sign tone 2","shortname":":thumbsdown_tone2:","category":"people","emoji_order":"1184","aliases":[":-1_tone2:",":thumbdown_tone2:"],"aliases_ascii":[],"keywords":[]},"thumbsdown_tone3":{"unicode":"1f44e-1f3fd","unicode_alt":"","code_decimal":"👎🏽","name":"thumbs down sign tone 3","shortname":":thumbsdown_tone3:","category":"people","emoji_order":"1185","aliases":[":-1_tone3:",":thumbdown_tone3:"],"aliases_ascii":[],"keywords":[]},"thumbsdown_tone4":{"unicode":"1f44e-1f3fe","unicode_alt":"","code_decimal":"👎🏾","name":"thumbs down sign tone 4","shortname":":thumbsdown_tone4:","category":"people","emoji_order":"1186","aliases":[":-1_tone4:",":thumbdown_tone4:"],"aliases_ascii":[],"keywords":[]},"thumbsdown_tone5":{"unicode":"1f44e-1f3ff","unicode_alt":"","code_decimal":"👎🏿","name":"thumbs down sign tone 5","shortname":":thumbsdown_tone5:","category":"people","emoji_order":"1187","aliases":[":-1_tone5:",":thumbdown_tone5:"],"aliases_ascii":[],"keywords":[]},"fist":{"unicode":"270a","unicode_alt":"","code_decimal":"✊","name":"raised fist","shortname":":fist:","category":"people","emoji_order":"1188","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","fist bump","diversity","condolence"]},"fist_tone1":{"unicode":"270a-1f3fb","unicode_alt":"","code_decimal":"✊🏻","name":"raised fist tone 1","shortname":":fist_tone1:","category":"people","emoji_order":"1189","aliases":[],"aliases_ascii":[],"keywords":[]},"fist_tone2":{"unicode":"270a-1f3fc","unicode_alt":"","code_decimal":"✊🏼","name":"raised fist tone 2","shortname":":fist_tone2:","category":"people","emoji_order":"1190","aliases":[],"aliases_ascii":[],"keywords":[]},"fist_tone3":{"unicode":"270a-1f3fd","unicode_alt":"","code_decimal":"✊🏽","name":"raised fist tone 3","shortname":":fist_tone3:","category":"people","emoji_order":"1191","aliases":[],"aliases_ascii":[],"keywords":[]},"fist_tone4":{"unicode":"270a-1f3fe","unicode_alt":"","code_decimal":"✊🏾","name":"raised fist tone 4","shortname":":fist_tone4:","category":"people","emoji_order":"1192","aliases":[],"aliases_ascii":[],"keywords":[]},"fist_tone5":{"unicode":"270a-1f3ff","unicode_alt":"","code_decimal":"✊🏿","name":"raised fist tone 5","shortname":":fist_tone5:","category":"people","emoji_order":"1193","aliases":[],"aliases_ascii":[],"keywords":[]},"punch":{"unicode":"1f44a","unicode_alt":"","code_decimal":"👊","name":"fisted hand sign","shortname":":punch:","category":"people","emoji_order":"1194","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","fist bump","diversity","boys night"]},"punch_tone1":{"unicode":"1f44a-1f3fb","unicode_alt":"","code_decimal":"👊🏻","name":"fisted hand sign tone 1","shortname":":punch_tone1:","category":"people","emoji_order":"1195","aliases":[],"aliases_ascii":[],"keywords":[]},"punch_tone2":{"unicode":"1f44a-1f3fc","unicode_alt":"","code_decimal":"👊🏼","name":"fisted hand sign tone 2","shortname":":punch_tone2:","category":"people","emoji_order":"1196","aliases":[],"aliases_ascii":[],"keywords":[]},"punch_tone3":{"unicode":"1f44a-1f3fd","unicode_alt":"","code_decimal":"👊🏽","name":"fisted hand sign tone 3","shortname":":punch_tone3:","category":"people","emoji_order":"1197","aliases":[],"aliases_ascii":[],"keywords":[]},"punch_tone4":{"unicode":"1f44a-1f3fe","unicode_alt":"","code_decimal":"👊🏾","name":"fisted hand sign tone 4","shortname":":punch_tone4:","category":"people","emoji_order":"1198","aliases":[],"aliases_ascii":[],"keywords":[]},"punch_tone5":{"unicode":"1f44a-1f3ff","unicode_alt":"","code_decimal":"👊🏿","name":"fisted hand sign tone 5","shortname":":punch_tone5:","category":"people","emoji_order":"1199","aliases":[],"aliases_ascii":[],"keywords":[]},"left_facing_fist":{"unicode":"1f91b","unicode_alt":"","code_decimal":"🤛","name":"left-facing fist","shortname":":left_facing_fist:","category":"people","emoji_order":"1200","aliases":[":left_fist:"],"aliases_ascii":[],"keywords":[]},"left_facing_fist_tone1":{"unicode":"1f91b-1f3fb","unicode_alt":"","code_decimal":"🤛🏻","name":"left facing fist tone 1","shortname":":left_facing_fist_tone1:","category":"people","emoji_order":"1201","aliases":[":left_fist_tone1:"],"aliases_ascii":[],"keywords":[]},"left_facing_fist_tone2":{"unicode":"1f91b-1f3fc","unicode_alt":"","code_decimal":"🤛🏼","name":"left facing fist tone 2","shortname":":left_facing_fist_tone2:","category":"people","emoji_order":"1202","aliases":[":left_fist_tone2:"],"aliases_ascii":[],"keywords":[]},"left_facing_fist_tone3":{"unicode":"1f91b-1f3fd","unicode_alt":"","code_decimal":"🤛🏽","name":"left facing fist tone 3","shortname":":left_facing_fist_tone3:","category":"people","emoji_order":"1203","aliases":[":left_fist_tone3:"],"aliases_ascii":[],"keywords":[]},"left_facing_fist_tone4":{"unicode":"1f91b-1f3fe","unicode_alt":"","code_decimal":"🤛🏾","name":"left facing fist tone 4","shortname":":left_facing_fist_tone4:","category":"people","emoji_order":"1204","aliases":[":left_fist_tone4:"],"aliases_ascii":[],"keywords":[]},"left_facing_fist_tone5":{"unicode":"1f91b-1f3ff","unicode_alt":"","code_decimal":"🤛🏿","name":"left facing fist tone 5","shortname":":left_facing_fist_tone5:","category":"people","emoji_order":"1205","aliases":[":left_fist_tone5:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist":{"unicode":"1f91c","unicode_alt":"","code_decimal":"🤜","name":"right-facing fist","shortname":":right_facing_fist:","category":"people","emoji_order":"1206","aliases":[":right_fist:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist_tone1":{"unicode":"1f91c-1f3fb","unicode_alt":"","code_decimal":"🤜🏻","name":"right facing fist tone 1","shortname":":right_facing_fist_tone1:","category":"people","emoji_order":"1207","aliases":[":right_fist_tone1:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist_tone2":{"unicode":"1f91c-1f3fc","unicode_alt":"","code_decimal":"🤜🏼","name":"right facing fist tone 2","shortname":":right_facing_fist_tone2:","category":"people","emoji_order":"1208","aliases":[":right_fist_tone2:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist_tone3":{"unicode":"1f91c-1f3fd","unicode_alt":"","code_decimal":"🤜🏽","name":"right facing fist tone 3","shortname":":right_facing_fist_tone3:","category":"people","emoji_order":"1209","aliases":[":right_fist_tone3:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist_tone4":{"unicode":"1f91c-1f3fe","unicode_alt":"","code_decimal":"🤜🏾","name":"right facing fist tone 4","shortname":":right_facing_fist_tone4:","category":"people","emoji_order":"1210","aliases":[":right_fist_tone4:"],"aliases_ascii":[],"keywords":[]},"right_facing_fist_tone5":{"unicode":"1f91c-1f3ff","unicode_alt":"","code_decimal":"🤜🏿","name":"right facing fist tone 5","shortname":":right_facing_fist_tone5:","category":"people","emoji_order":"1211","aliases":[":right_fist_tone5:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand":{"unicode":"1f91a","unicode_alt":"","code_decimal":"🤚","name":"raised back of hand","shortname":":raised_back_of_hand:","category":"people","emoji_order":"1212","aliases":[":back_of_hand:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand_tone1":{"unicode":"1f91a-1f3fb","unicode_alt":"","code_decimal":"🤚🏻","name":"raised back of hand tone 1","shortname":":raised_back_of_hand_tone1:","category":"people","emoji_order":"1213","aliases":[":back_of_hand_tone1:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand_tone2":{"unicode":"1f91a-1f3fc","unicode_alt":"","code_decimal":"🤚🏼","name":"raised back of hand tone 2","shortname":":raised_back_of_hand_tone2:","category":"people","emoji_order":"1214","aliases":[":back_of_hand_tone2:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand_tone3":{"unicode":"1f91a-1f3fd","unicode_alt":"","code_decimal":"🤚🏽","name":"raised back of hand tone 3","shortname":":raised_back_of_hand_tone3:","category":"people","emoji_order":"1215","aliases":[":back_of_hand_tone3:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand_tone4":{"unicode":"1f91a-1f3fe","unicode_alt":"","code_decimal":"🤚🏾","name":"raised back of hand tone 4","shortname":":raised_back_of_hand_tone4:","category":"people","emoji_order":"1216","aliases":[":back_of_hand_tone4:"],"aliases_ascii":[],"keywords":[]},"raised_back_of_hand_tone5":{"unicode":"1f91a-1f3ff","unicode_alt":"","code_decimal":"🤚🏿","name":"raised back of hand tone 5","shortname":":raised_back_of_hand_tone5:","category":"people","emoji_order":"1217","aliases":[":back_of_hand_tone5:"],"aliases_ascii":[],"keywords":[]},"wave":{"unicode":"1f44b","unicode_alt":"","code_decimal":"👋","name":"waving hand sign","shortname":":wave:","category":"people","emoji_order":"1218","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","diversity"]},"wave_tone1":{"unicode":"1f44b-1f3fb","unicode_alt":"","code_decimal":"👋🏻","name":"waving hand sign tone 1","shortname":":wave_tone1:","category":"people","emoji_order":"1219","aliases":[],"aliases_ascii":[],"keywords":[]},"wave_tone2":{"unicode":"1f44b-1f3fc","unicode_alt":"","code_decimal":"👋🏼","name":"waving hand sign tone 2","shortname":":wave_tone2:","category":"people","emoji_order":"1220","aliases":[],"aliases_ascii":[],"keywords":[]},"wave_tone3":{"unicode":"1f44b-1f3fd","unicode_alt":"","code_decimal":"👋🏽","name":"waving hand sign tone 3","shortname":":wave_tone3:","category":"people","emoji_order":"1221","aliases":[],"aliases_ascii":[],"keywords":[]},"wave_tone4":{"unicode":"1f44b-1f3fe","unicode_alt":"","code_decimal":"👋🏾","name":"waving hand sign tone 4","shortname":":wave_tone4:","category":"people","emoji_order":"1222","aliases":[],"aliases_ascii":[],"keywords":[]},"wave_tone5":{"unicode":"1f44b-1f3ff","unicode_alt":"","code_decimal":"👋🏿","name":"waving hand sign tone 5","shortname":":wave_tone5:","category":"people","emoji_order":"1223","aliases":[],"aliases_ascii":[],"keywords":[]},"clap":{"unicode":"1f44f","unicode_alt":"","code_decimal":"👏","name":"clapping hands sign","shortname":":clap:","category":"people","emoji_order":"1224","aliases":[],"aliases_ascii":[],"keywords":["body","hands","win","diversity","good","beautiful"]},"clap_tone1":{"unicode":"1f44f-1f3fb","unicode_alt":"","code_decimal":"👏🏻","name":"clapping hands sign tone 1","shortname":":clap_tone1:","category":"people","emoji_order":"1225","aliases":[],"aliases_ascii":[],"keywords":[]},"clap_tone2":{"unicode":"1f44f-1f3fc","unicode_alt":"","code_decimal":"👏🏼","name":"clapping hands sign tone 2","shortname":":clap_tone2:","category":"people","emoji_order":"1226","aliases":[],"aliases_ascii":[],"keywords":[]},"clap_tone3":{"unicode":"1f44f-1f3fd","unicode_alt":"","code_decimal":"👏🏽","name":"clapping hands sign tone 3","shortname":":clap_tone3:","category":"people","emoji_order":"1227","aliases":[],"aliases_ascii":[],"keywords":[]},"clap_tone4":{"unicode":"1f44f-1f3fe","unicode_alt":"","code_decimal":"👏🏾","name":"clapping hands sign tone 4","shortname":":clap_tone4:","category":"people","emoji_order":"1228","aliases":[],"aliases_ascii":[],"keywords":[]},"clap_tone5":{"unicode":"1f44f-1f3ff","unicode_alt":"","code_decimal":"👏🏿","name":"clapping hands sign tone 5","shortname":":clap_tone5:","category":"people","emoji_order":"1229","aliases":[],"aliases_ascii":[],"keywords":[]},"writing_hand":{"unicode":"270d","unicode_alt":"270d-fe0f","code_decimal":"✍","name":"writing hand","shortname":":writing_hand:","category":"people","emoji_order":"1230","aliases":[],"aliases_ascii":[],"keywords":["body","hands","write","diversity"]},"writing_hand_tone1":{"unicode":"270d-1f3fb","unicode_alt":"","code_decimal":"✍🏻","name":"writing hand tone 1","shortname":":writing_hand_tone1:","category":"people","emoji_order":"1231","aliases":[],"aliases_ascii":[],"keywords":[]},"writing_hand_tone2":{"unicode":"270d-1f3fc","unicode_alt":"","code_decimal":"✍🏼","name":"writing hand tone 2","shortname":":writing_hand_tone2:","category":"people","emoji_order":"1232","aliases":[],"aliases_ascii":[],"keywords":[]},"writing_hand_tone3":{"unicode":"270d-1f3fd","unicode_alt":"","code_decimal":"✍🏽","name":"writing hand tone 3","shortname":":writing_hand_tone3:","category":"people","emoji_order":"1233","aliases":[],"aliases_ascii":[],"keywords":[]},"writing_hand_tone4":{"unicode":"270d-1f3fe","unicode_alt":"","code_decimal":"✍🏾","name":"writing hand tone 4","shortname":":writing_hand_tone4:","category":"people","emoji_order":"1234","aliases":[],"aliases_ascii":[],"keywords":[]},"writing_hand_tone5":{"unicode":"270d-1f3ff","unicode_alt":"","code_decimal":"✍🏿","name":"writing hand tone 5","shortname":":writing_hand_tone5:","category":"people","emoji_order":"1235","aliases":[],"aliases_ascii":[],"keywords":[]},"open_hands":{"unicode":"1f450","unicode_alt":"","code_decimal":"👐","name":"open hands sign","shortname":":open_hands:","category":"people","emoji_order":"1236","aliases":[],"aliases_ascii":[],"keywords":["body","hands","diversity","condolence"]},"open_hands_tone1":{"unicode":"1f450-1f3fb","unicode_alt":"","code_decimal":"👐🏻","name":"open hands sign tone 1","shortname":":open_hands_tone1:","category":"people","emoji_order":"1237","aliases":[],"aliases_ascii":[],"keywords":[]},"open_hands_tone2":{"unicode":"1f450-1f3fc","unicode_alt":"","code_decimal":"👐🏼","name":"open hands sign tone 2","shortname":":open_hands_tone2:","category":"people","emoji_order":"1238","aliases":[],"aliases_ascii":[],"keywords":[]},"open_hands_tone3":{"unicode":"1f450-1f3fd","unicode_alt":"","code_decimal":"👐🏽","name":"open hands sign tone 3","shortname":":open_hands_tone3:","category":"people","emoji_order":"1239","aliases":[],"aliases_ascii":[],"keywords":[]},"open_hands_tone4":{"unicode":"1f450-1f3fe","unicode_alt":"","code_decimal":"👐🏾","name":"open hands sign tone 4","shortname":":open_hands_tone4:","category":"people","emoji_order":"1240","aliases":[],"aliases_ascii":[],"keywords":[]},"open_hands_tone5":{"unicode":"1f450-1f3ff","unicode_alt":"","code_decimal":"👐🏿","name":"open hands sign tone 5","shortname":":open_hands_tone5:","category":"people","emoji_order":"1241","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hands":{"unicode":"1f64c","unicode_alt":"","code_decimal":"🙌","name":"person raising both hands in celebration","shortname":":raised_hands:","category":"people","emoji_order":"1242","aliases":[],"aliases_ascii":[],"keywords":["body","hands","diversity","perfect","good","parties"]},"raised_hands_tone1":{"unicode":"1f64c-1f3fb","unicode_alt":"","code_decimal":"🙌🏻","name":"person raising both hands in celebration tone 1","shortname":":raised_hands_tone1:","category":"people","emoji_order":"1243","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hands_tone2":{"unicode":"1f64c-1f3fc","unicode_alt":"","code_decimal":"🙌🏼","name":"person raising both hands in celebration tone 2","shortname":":raised_hands_tone2:","category":"people","emoji_order":"1244","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hands_tone3":{"unicode":"1f64c-1f3fd","unicode_alt":"","code_decimal":"🙌🏽","name":"person raising both hands in celebration tone 3","shortname":":raised_hands_tone3:","category":"people","emoji_order":"1245","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hands_tone4":{"unicode":"1f64c-1f3fe","unicode_alt":"","code_decimal":"🙌🏾","name":"person raising both hands in celebration tone 4","shortname":":raised_hands_tone4:","category":"people","emoji_order":"1246","aliases":[],"aliases_ascii":[],"keywords":[]},"raised_hands_tone5":{"unicode":"1f64c-1f3ff","unicode_alt":"","code_decimal":"🙌🏿","name":"person raising both hands in celebration tone 5","shortname":":raised_hands_tone5:","category":"people","emoji_order":"1247","aliases":[],"aliases_ascii":[],"keywords":[]},"pray":{"unicode":"1f64f","unicode_alt":"","code_decimal":"🙏","name":"person with folded hands","shortname":":pray:","category":"people","emoji_order":"1248","aliases":[],"aliases_ascii":[],"keywords":["body","hands","hi","luck","thank you","pray","diversity","scientology"]},"pray_tone1":{"unicode":"1f64f-1f3fb","unicode_alt":"","code_decimal":"🙏🏻","name":"person with folded hands tone 1","shortname":":pray_tone1:","category":"people","emoji_order":"1249","aliases":[],"aliases_ascii":[],"keywords":[]},"pray_tone2":{"unicode":"1f64f-1f3fc","unicode_alt":"","code_decimal":"🙏🏼","name":"person with folded hands tone 2","shortname":":pray_tone2:","category":"people","emoji_order":"1250","aliases":[],"aliases_ascii":[],"keywords":[]},"pray_tone3":{"unicode":"1f64f-1f3fd","unicode_alt":"","code_decimal":"🙏🏽","name":"person with folded hands tone 3","shortname":":pray_tone3:","category":"people","emoji_order":"1251","aliases":[],"aliases_ascii":[],"keywords":[]},"pray_tone4":{"unicode":"1f64f-1f3fe","unicode_alt":"","code_decimal":"🙏🏾","name":"person with folded hands tone 4","shortname":":pray_tone4:","category":"people","emoji_order":"1252","aliases":[],"aliases_ascii":[],"keywords":[]},"pray_tone5":{"unicode":"1f64f-1f3ff","unicode_alt":"","code_decimal":"🙏🏿","name":"person with folded hands tone 5","shortname":":pray_tone5:","category":"people","emoji_order":"1253","aliases":[],"aliases_ascii":[],"keywords":[]},"handshake":{"unicode":"1f91d","unicode_alt":"","code_decimal":"🤝","name":"handshake","shortname":":handshake:","category":"people","emoji_order":"1254","aliases":[":shaking_hands:"],"aliases_ascii":[],"keywords":[]},"handshake_tone1":{"unicode":"1f91d-1f3fb","unicode_alt":"","code_decimal":"🤝🏻","name":"handshake tone 1","shortname":":handshake_tone1:","category":"people","emoji_order":"1255","aliases":[":shaking_hands_tone1:"],"aliases_ascii":[],"keywords":[]},"handshake_tone2":{"unicode":"1f91d-1f3fc","unicode_alt":"","code_decimal":"🤝🏼","name":"handshake tone 2","shortname":":handshake_tone2:","category":"people","emoji_order":"1256","aliases":[":shaking_hands_tone2:"],"aliases_ascii":[],"keywords":[]},"handshake_tone3":{"unicode":"1f91d-1f3fd","unicode_alt":"","code_decimal":"🤝🏽","name":"handshake tone 3","shortname":":handshake_tone3:","category":"people","emoji_order":"1257","aliases":[":shaking_hands_tone3:"],"aliases_ascii":[],"keywords":[]},"handshake_tone4":{"unicode":"1f91d-1f3fe","unicode_alt":"","code_decimal":"🤝🏾","name":"handshake tone 4","shortname":":handshake_tone4:","category":"people","emoji_order":"1258","aliases":[":shaking_hands_tone4:"],"aliases_ascii":[],"keywords":[]},"handshake_tone5":{"unicode":"1f91d-1f3ff","unicode_alt":"","code_decimal":"🤝🏿","name":"handshake tone 5","shortname":":handshake_tone5:","category":"people","emoji_order":"1259","aliases":[":shaking_hands_tone5:"],"aliases_ascii":[],"keywords":[]},"nail_care":{"unicode":"1f485","unicode_alt":"","code_decimal":"💅","name":"nail polish","shortname":":nail_care:","category":"people","emoji_order":"1260","aliases":[],"aliases_ascii":[],"keywords":["women","body","hands","nailpolish","diversity","girls night"]},"nail_care_tone1":{"unicode":"1f485-1f3fb","unicode_alt":"","code_decimal":"💅🏻","name":"nail polish tone 1","shortname":":nail_care_tone1:","category":"people","emoji_order":"1261","aliases":[],"aliases_ascii":[],"keywords":[]},"nail_care_tone2":{"unicode":"1f485-1f3fc","unicode_alt":"","code_decimal":"💅🏼","name":"nail polish tone 2","shortname":":nail_care_tone2:","category":"people","emoji_order":"1262","aliases":[],"aliases_ascii":[],"keywords":[]},"nail_care_tone3":{"unicode":"1f485-1f3fd","unicode_alt":"","code_decimal":"💅🏽","name":"nail polish tone 3","shortname":":nail_care_tone3:","category":"people","emoji_order":"1263","aliases":[],"aliases_ascii":[],"keywords":[]},"nail_care_tone4":{"unicode":"1f485-1f3fe","unicode_alt":"","code_decimal":"💅🏾","name":"nail polish tone 4","shortname":":nail_care_tone4:","category":"people","emoji_order":"1264","aliases":[],"aliases_ascii":[],"keywords":[]},"nail_care_tone5":{"unicode":"1f485-1f3ff","unicode_alt":"","code_decimal":"💅🏿","name":"nail polish tone 5","shortname":":nail_care_tone5:","category":"people","emoji_order":"1265","aliases":[],"aliases_ascii":[],"keywords":[]},"ear":{"unicode":"1f442","unicode_alt":"","code_decimal":"👂","name":"ear","shortname":":ear:","category":"people","emoji_order":"1266","aliases":[],"aliases_ascii":[],"keywords":["body","diversity"]},"ear_tone1":{"unicode":"1f442-1f3fb","unicode_alt":"","code_decimal":"👂🏻","name":"ear tone 1","shortname":":ear_tone1:","category":"people","emoji_order":"1267","aliases":[],"aliases_ascii":[],"keywords":[]},"ear_tone2":{"unicode":"1f442-1f3fc","unicode_alt":"","code_decimal":"👂🏼","name":"ear tone 2","shortname":":ear_tone2:","category":"people","emoji_order":"1268","aliases":[],"aliases_ascii":[],"keywords":[]},"ear_tone3":{"unicode":"1f442-1f3fd","unicode_alt":"","code_decimal":"👂🏽","name":"ear tone 3","shortname":":ear_tone3:","category":"people","emoji_order":"1269","aliases":[],"aliases_ascii":[],"keywords":[]},"ear_tone4":{"unicode":"1f442-1f3fe","unicode_alt":"","code_decimal":"👂🏾","name":"ear tone 4","shortname":":ear_tone4:","category":"people","emoji_order":"1270","aliases":[],"aliases_ascii":[],"keywords":[]},"ear_tone5":{"unicode":"1f442-1f3ff","unicode_alt":"","code_decimal":"👂🏿","name":"ear tone 5","shortname":":ear_tone5:","category":"people","emoji_order":"1271","aliases":[],"aliases_ascii":[],"keywords":[]},"nose":{"unicode":"1f443","unicode_alt":"","code_decimal":"👃","name":"nose","shortname":":nose:","category":"people","emoji_order":"1272","aliases":[],"aliases_ascii":[],"keywords":["body","diversity"]},"nose_tone1":{"unicode":"1f443-1f3fb","unicode_alt":"","code_decimal":"👃🏻","name":"nose tone 1","shortname":":nose_tone1:","category":"people","emoji_order":"1273","aliases":[],"aliases_ascii":[],"keywords":[]},"nose_tone2":{"unicode":"1f443-1f3fc","unicode_alt":"","code_decimal":"👃🏼","name":"nose tone 2","shortname":":nose_tone2:","category":"people","emoji_order":"1274","aliases":[],"aliases_ascii":[],"keywords":[]},"nose_tone3":{"unicode":"1f443-1f3fd","unicode_alt":"","code_decimal":"👃🏽","name":"nose tone 3","shortname":":nose_tone3:","category":"people","emoji_order":"1275","aliases":[],"aliases_ascii":[],"keywords":[]},"nose_tone4":{"unicode":"1f443-1f3fe","unicode_alt":"","code_decimal":"👃🏾","name":"nose tone 4","shortname":":nose_tone4:","category":"people","emoji_order":"1276","aliases":[],"aliases_ascii":[],"keywords":[]},"nose_tone5":{"unicode":"1f443-1f3ff","unicode_alt":"","code_decimal":"👃🏿","name":"nose tone 5","shortname":":nose_tone5:","category":"people","emoji_order":"1277","aliases":[],"aliases_ascii":[],"keywords":[]},"footprints":{"unicode":"1f463","unicode_alt":"","code_decimal":"👣","name":"footprints","shortname":":footprints:","category":"people","emoji_order":"1278","aliases":[],"aliases_ascii":[],"keywords":[]},"eyes":{"unicode":"1f440","unicode_alt":"","code_decimal":"👀","name":"eyes","shortname":":eyes:","category":"people","emoji_order":"1279","aliases":[],"aliases_ascii":[],"keywords":["body","eyes"]},"eye":{"unicode":"1f441","unicode_alt":"1f441-fe0f","code_decimal":"👁","name":"eye","shortname":":eye:","category":"people","emoji_order":"1280","aliases":[],"aliases_ascii":[],"keywords":["body","eyes"]},"eye_in_speech_bubble":{"unicode":"1f441-1f5e8","unicode_alt":"1f441-200d-1f5e8","code_decimal":"👁🗨","name":"eye in speech bubble","shortname":":eye_in_speech_bubble:","category":"symbols","emoji_order":"1281","aliases":[],"aliases_ascii":[],"keywords":["object","symbol","eyes","talk"]},"tongue":{"unicode":"1f445","unicode_alt":"","code_decimal":"👅","name":"tongue","shortname":":tongue:","category":"people","emoji_order":"1282","aliases":[],"aliases_ascii":[],"keywords":["body","sexy","lip"]},"lips":{"unicode":"1f444","unicode_alt":"","code_decimal":"👄","name":"mouth","shortname":":lips:","category":"people","emoji_order":"1283","aliases":[],"aliases_ascii":[],"keywords":["women","body","sexy","lip"]},"kiss":{"unicode":"1f48b","unicode_alt":"","code_decimal":"💋","name":"kiss mark","shortname":":kiss:","category":"people","emoji_order":"1284","aliases":[],"aliases_ascii":[],"keywords":["women","love","sexy","lip","beautiful","girls night"]},"cupid":{"unicode":"1f498","unicode_alt":"","code_decimal":"💘","name":"heart with arrow","shortname":":cupid:","category":"symbols","emoji_order":"1285","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"heart":{"unicode":"2764","unicode_alt":"2764-fe0f","code_decimal":"❤","name":"heavy black heart","shortname":":heart:","category":"symbols","emoji_order":"1286","aliases":[],"aliases_ascii":["<3"],"keywords":["love","symbol","parties"]},"heartbeat":{"unicode":"1f493","unicode_alt":"","code_decimal":"💓","name":"beating heart","shortname":":heartbeat:","category":"symbols","emoji_order":"1287","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"broken_heart":{"unicode":"1f494","unicode_alt":"","code_decimal":"💔","name":"broken heart","shortname":":broken_heart:","category":"symbols","emoji_order":"1288","aliases":[],"aliases_ascii":["<\/3"],"keywords":["love","symbol","heartbreak"]},"two_hearts":{"unicode":"1f495","unicode_alt":"","code_decimal":"💕","name":"two hearts","shortname":":two_hearts:","category":"symbols","emoji_order":"1289","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"sparkling_heart":{"unicode":"1f496","unicode_alt":"","code_decimal":"💖","name":"sparkling heart","shortname":":sparkling_heart:","category":"symbols","emoji_order":"1290","aliases":[],"aliases_ascii":[],"keywords":["love","symbol","girls night"]},"heartpulse":{"unicode":"1f497","unicode_alt":"","code_decimal":"💗","name":"growing heart","shortname":":heartpulse:","category":"symbols","emoji_order":"1291","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"blue_heart":{"unicode":"1f499","unicode_alt":"","code_decimal":"💙","name":"blue heart","shortname":":blue_heart:","category":"symbols","emoji_order":"1292","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"green_heart":{"unicode":"1f49a","unicode_alt":"","code_decimal":"💚","name":"green heart","shortname":":green_heart:","category":"symbols","emoji_order":"1293","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"yellow_heart":{"unicode":"1f49b","unicode_alt":"","code_decimal":"💛","name":"yellow heart","shortname":":yellow_heart:","category":"symbols","emoji_order":"1294","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"purple_heart":{"unicode":"1f49c","unicode_alt":"","code_decimal":"💜","name":"purple heart","shortname":":purple_heart:","category":"symbols","emoji_order":"1295","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"black_heart":{"unicode":"1f5a4","unicode_alt":"","code_decimal":"🖤","name":"black heart","shortname":":black_heart:","category":"symbols","emoji_order":"1296","aliases":[],"aliases_ascii":[],"keywords":[]},"gift_heart":{"unicode":"1f49d","unicode_alt":"","code_decimal":"💝","name":"heart with ribbon","shortname":":gift_heart:","category":"symbols","emoji_order":"1297","aliases":[],"aliases_ascii":[],"keywords":["love","symbol","condolence"]},"revolving_hearts":{"unicode":"1f49e","unicode_alt":"","code_decimal":"💞","name":"revolving hearts","shortname":":revolving_hearts:","category":"symbols","emoji_order":"1298","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"heart_decoration":{"unicode":"1f49f","unicode_alt":"","code_decimal":"💟","name":"heart decoration","shortname":":heart_decoration:","category":"symbols","emoji_order":"1299","aliases":[],"aliases_ascii":[],"keywords":["love","symbol"]},"heart_exclamation":{"unicode":"2763","unicode_alt":"2763-fe0f","code_decimal":"❣","name":"heavy heart exclamation mark ornament","shortname":":heart_exclamation:","category":"symbols","emoji_order":"1300","aliases":[":heavy_heart_exclamation_mark_ornament:"],"aliases_ascii":[],"keywords":["love","symbol"]},"love_letter":{"unicode":"1f48c","unicode_alt":"","code_decimal":"💌","name":"love letter","shortname":":love_letter:","category":"objects","emoji_order":"1301","aliases":[],"aliases_ascii":[],"keywords":["object"]},"zzz":{"unicode":"1f4a4","unicode_alt":"","code_decimal":"💤","name":"sleeping symbol","shortname":":zzz:","category":"people","emoji_order":"1302","aliases":[],"aliases_ascii":[],"keywords":["tired","goodnight"]},"anger":{"unicode":"1f4a2","unicode_alt":"","code_decimal":"💢","name":"anger symbol","shortname":":anger:","category":"symbols","emoji_order":"1303","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"bomb":{"unicode":"1f4a3","unicode_alt":"","code_decimal":"💣","name":"bomb","shortname":":bomb:","category":"objects","emoji_order":"1304","aliases":[],"aliases_ascii":[],"keywords":["object","weapon","dead","blast"]},"boom":{"unicode":"1f4a5","unicode_alt":"","code_decimal":"💥","name":"collision symbol","shortname":":boom:","category":"symbols","emoji_order":"1305","aliases":[],"aliases_ascii":[],"keywords":["symbol","blast"]},"sweat_drops":{"unicode":"1f4a6","unicode_alt":"","code_decimal":"💦","name":"splashing sweat symbol","shortname":":sweat_drops:","category":"nature","emoji_order":"1306","aliases":[],"aliases_ascii":[],"keywords":["rain","stressed","sweat"]},"dash":{"unicode":"1f4a8","unicode_alt":"","code_decimal":"💨","name":"dash symbol","shortname":":dash:","category":"nature","emoji_order":"1307","aliases":[],"aliases_ascii":[],"keywords":["cloud","cold","smoking"]},"dizzy":{"unicode":"1f4ab","unicode_alt":"","code_decimal":"💫","name":"dizzy symbol","shortname":":dizzy:","category":"symbols","emoji_order":"1308","aliases":[],"aliases_ascii":[],"keywords":["star","symbol"]},"speech_balloon":{"unicode":"1f4ac","unicode_alt":"","code_decimal":"💬","name":"speech balloon","shortname":":speech_balloon:","category":"symbols","emoji_order":"1309","aliases":[],"aliases_ascii":[],"keywords":["symbol","free speech"]},"speech_left":{"unicode":"1f5e8","unicode_alt":"1f5e8-fe0f","code_decimal":"🗨","name":"left speech bubble","shortname":":speech_left:","category":"symbols","emoji_order":"1310","aliases":[":left_speech_bubble:"],"aliases_ascii":[],"keywords":[]},"anger_right":{"unicode":"1f5ef","unicode_alt":"1f5ef-fe0f","code_decimal":"🗯","name":"right anger bubble","shortname":":anger_right:","category":"symbols","emoji_order":"1311","aliases":[":right_anger_bubble:"],"aliases_ascii":[],"keywords":["symbol"]},"thought_balloon":{"unicode":"1f4ad","unicode_alt":"","code_decimal":"💭","name":"thought balloon","shortname":":thought_balloon:","category":"symbols","emoji_order":"1312","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"hole":{"unicode":"1f573","unicode_alt":"1f573-fe0f","code_decimal":"🕳","name":"hole","shortname":":hole:","category":"objects","emoji_order":"1313","aliases":[],"aliases_ascii":[],"keywords":["object"]},"eyeglasses":{"unicode":"1f453","unicode_alt":"","code_decimal":"👓","name":"eyeglasses","shortname":":eyeglasses:","category":"people","emoji_order":"1314","aliases":[],"aliases_ascii":[],"keywords":["fashion","glasses","accessories"]},"dark_sunglasses":{"unicode":"1f576","unicode_alt":"1f576-fe0f","code_decimal":"🕶","name":"dark sunglasses","shortname":":dark_sunglasses:","category":"people","emoji_order":"1315","aliases":[],"aliases_ascii":[],"keywords":["fashion","glasses","accessories"]},"necktie":{"unicode":"1f454","unicode_alt":"","code_decimal":"👔","name":"necktie","shortname":":necktie:","category":"people","emoji_order":"1316","aliases":[],"aliases_ascii":[],"keywords":["fashion"]},"shirt":{"unicode":"1f455","unicode_alt":"","code_decimal":"👕","name":"t-shirt","shortname":":shirt:","category":"people","emoji_order":"1317","aliases":[],"aliases_ascii":[],"keywords":["fashion"]},"jeans":{"unicode":"1f456","unicode_alt":"","code_decimal":"👖","name":"jeans","shortname":":jeans:","category":"people","emoji_order":"1318","aliases":[],"aliases_ascii":[],"keywords":["fashion"]},"dress":{"unicode":"1f457","unicode_alt":"","code_decimal":"👗","name":"dress","shortname":":dress:","category":"people","emoji_order":"1319","aliases":[],"aliases_ascii":[],"keywords":["women","fashion","sexy","girls night"]},"kimono":{"unicode":"1f458","unicode_alt":"","code_decimal":"👘","name":"kimono","shortname":":kimono:","category":"people","emoji_order":"1320","aliases":[],"aliases_ascii":[],"keywords":["fashion"]},"bikini":{"unicode":"1f459","unicode_alt":"","code_decimal":"👙","name":"bikini","shortname":":bikini:","category":"people","emoji_order":"1321","aliases":[],"aliases_ascii":[],"keywords":["women","fashion","sexy","vacation","tropical","swim"]},"womans_clothes":{"unicode":"1f45a","unicode_alt":"","code_decimal":"👚","name":"womans clothes","shortname":":womans_clothes:","category":"people","emoji_order":"1322","aliases":[],"aliases_ascii":[],"keywords":["women","fashion"]},"purse":{"unicode":"1f45b","unicode_alt":"","code_decimal":"👛","name":"purse","shortname":":purse:","category":"people","emoji_order":"1323","aliases":[],"aliases_ascii":[],"keywords":["bag","women","fashion","accessories","money"]},"handbag":{"unicode":"1f45c","unicode_alt":"","code_decimal":"👜","name":"handbag","shortname":":handbag:","category":"people","emoji_order":"1324","aliases":[],"aliases_ascii":[],"keywords":["bag","women","fashion","vacation","accessories"]},"pouch":{"unicode":"1f45d","unicode_alt":"","code_decimal":"👝","name":"pouch","shortname":":pouch:","category":"people","emoji_order":"1325","aliases":[],"aliases_ascii":[],"keywords":["bag","women","fashion","accessories"]},"shopping_bags":{"unicode":"1f6cd","unicode_alt":"1f6cd-fe0f","code_decimal":"🛍","name":"shopping bags","shortname":":shopping_bags:","category":"objects","emoji_order":"1326","aliases":[],"aliases_ascii":[],"keywords":["object","birthday","parties"]},"school_satchel":{"unicode":"1f392","unicode_alt":"","code_decimal":"🎒","name":"school satchel","shortname":":school_satchel:","category":"people","emoji_order":"1327","aliases":[],"aliases_ascii":[],"keywords":["bag","fashion","office","vacation","accessories"]},"mans_shoe":{"unicode":"1f45e","unicode_alt":"","code_decimal":"👞","name":"mans shoe","shortname":":mans_shoe:","category":"people","emoji_order":"1328","aliases":[],"aliases_ascii":[],"keywords":["fashion","shoe","accessories"]},"athletic_shoe":{"unicode":"1f45f","unicode_alt":"","code_decimal":"👟","name":"athletic shoe","shortname":":athletic_shoe:","category":"people","emoji_order":"1329","aliases":[],"aliases_ascii":[],"keywords":["fashion","shoe","accessories","boys night"]},"high_heel":{"unicode":"1f460","unicode_alt":"","code_decimal":"👠","name":"high-heeled shoe","shortname":":high_heel:","category":"people","emoji_order":"1330","aliases":[],"aliases_ascii":[],"keywords":["women","fashion","shoe","sexy","accessories","girls night"]},"sandal":{"unicode":"1f461","unicode_alt":"","code_decimal":"👡","name":"womans sandal","shortname":":sandal:","category":"people","emoji_order":"1331","aliases":[],"aliases_ascii":[],"keywords":["fashion","shoe","accessories"]},"boot":{"unicode":"1f462","unicode_alt":"","code_decimal":"👢","name":"womans boots","shortname":":boot:","category":"people","emoji_order":"1332","aliases":[],"aliases_ascii":[],"keywords":["women","fashion","shoe","sexy","accessories"]},"crown":{"unicode":"1f451","unicode_alt":"","code_decimal":"👑","name":"crown","shortname":":crown:","category":"people","emoji_order":"1333","aliases":[],"aliases_ascii":[],"keywords":["object","gem","accessories"]},"womans_hat":{"unicode":"1f452","unicode_alt":"","code_decimal":"👒","name":"womans hat","shortname":":womans_hat:","category":"people","emoji_order":"1334","aliases":[],"aliases_ascii":[],"keywords":["women","fashion","accessories"]},"tophat":{"unicode":"1f3a9","unicode_alt":"","code_decimal":"🎩","name":"top hat","shortname":":tophat:","category":"people","emoji_order":"1335","aliases":[],"aliases_ascii":[],"keywords":["hat","fashion","accessories"]},"mortar_board":{"unicode":"1f393","unicode_alt":"","code_decimal":"🎓","name":"graduation cap","shortname":":mortar_board:","category":"people","emoji_order":"1336","aliases":[],"aliases_ascii":[],"keywords":["hat","office","accessories"]},"helmet_with_cross":{"unicode":"26d1","unicode_alt":"26d1-fe0f","code_decimal":"⛑","name":"helmet with white cross","shortname":":helmet_with_cross:","category":"people","emoji_order":"1337","aliases":[":helmet_with_white_cross:"],"aliases_ascii":[],"keywords":["object","hat","accessories","job"]},"prayer_beads":{"unicode":"1f4ff","unicode_alt":"","code_decimal":"📿","name":"prayer beads","shortname":":prayer_beads:","category":"objects","emoji_order":"1338","aliases":[],"aliases_ascii":[],"keywords":["object","rosary"]},"lipstick":{"unicode":"1f484","unicode_alt":"","code_decimal":"💄","name":"lipstick","shortname":":lipstick:","category":"people","emoji_order":"1339","aliases":[],"aliases_ascii":[],"keywords":["object","women","fashion","sexy","lip"]},"ring":{"unicode":"1f48d","unicode_alt":"","code_decimal":"💍","name":"ring","shortname":":ring:","category":"people","emoji_order":"1340","aliases":[],"aliases_ascii":[],"keywords":["wedding","object","fashion","gem","accessories"]},"gem":{"unicode":"1f48e","unicode_alt":"","code_decimal":"💎","name":"gem stone","shortname":":gem:","category":"objects","emoji_order":"1341","aliases":[],"aliases_ascii":[],"keywords":["object","gem"]},"monkey_face":{"unicode":"1f435","unicode_alt":"","code_decimal":"🐵","name":"monkey face","shortname":":monkey_face:","category":"nature","emoji_order":"1342","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"monkey":{"unicode":"1f412","unicode_alt":"","code_decimal":"🐒","name":"monkey","shortname":":monkey:","category":"nature","emoji_order":"1343","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"gorilla":{"unicode":"1f98d","unicode_alt":"","code_decimal":"🦍","name":"gorilla","shortname":":gorilla:","category":"nature","emoji_order":"1344","aliases":[],"aliases_ascii":[],"keywords":[]},"dog":{"unicode":"1f436","unicode_alt":"","code_decimal":"🐶","name":"dog face","shortname":":dog:","category":"nature","emoji_order":"1345","aliases":[],"aliases_ascii":[],"keywords":["dog","pug","animal"]},"dog2":{"unicode":"1f415","unicode_alt":"","code_decimal":"🐕","name":"dog","shortname":":dog2:","category":"nature","emoji_order":"1346","aliases":[],"aliases_ascii":[],"keywords":["dog","pug","animal"]},"poodle":{"unicode":"1f429","unicode_alt":"","code_decimal":"🐩","name":"poodle","shortname":":poodle:","category":"nature","emoji_order":"1347","aliases":[],"aliases_ascii":[],"keywords":["dog","animal"]},"wolf":{"unicode":"1f43a","unicode_alt":"","code_decimal":"🐺","name":"wolf face","shortname":":wolf:","category":"nature","emoji_order":"1348","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","animal"]},"fox":{"unicode":"1f98a","unicode_alt":"","code_decimal":"🦊","name":"fox face","shortname":":fox:","category":"nature","emoji_order":"1349","aliases":[":fox_face:"],"aliases_ascii":[],"keywords":[]},"cat":{"unicode":"1f431","unicode_alt":"","code_decimal":"🐱","name":"cat face","shortname":":cat:","category":"nature","emoji_order":"1350","aliases":[],"aliases_ascii":[],"keywords":["halloween","vagina","cat","animal"]},"cat2":{"unicode":"1f408","unicode_alt":"","code_decimal":"🐈","name":"cat","shortname":":cat2:","category":"nature","emoji_order":"1351","aliases":[],"aliases_ascii":[],"keywords":["halloween","cat","animal"]},"lion_face":{"unicode":"1f981","unicode_alt":"","code_decimal":"🦁","name":"lion face","shortname":":lion_face:","category":"nature","emoji_order":"1352","aliases":[":lion:"],"aliases_ascii":[],"keywords":["wildlife","roar","cat","animal"]},"tiger":{"unicode":"1f42f","unicode_alt":"","code_decimal":"🐯","name":"tiger face","shortname":":tiger:","category":"nature","emoji_order":"1353","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","cat","animal"]},"tiger2":{"unicode":"1f405","unicode_alt":"","code_decimal":"🐅","name":"tiger","shortname":":tiger2:","category":"nature","emoji_order":"1354","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","animal"]},"leopard":{"unicode":"1f406","unicode_alt":"","code_decimal":"🐆","name":"leopard","shortname":":leopard:","category":"nature","emoji_order":"1355","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","animal"]},"horse":{"unicode":"1f434","unicode_alt":"","code_decimal":"🐴","name":"horse face","shortname":":horse:","category":"nature","emoji_order":"1356","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"racehorse":{"unicode":"1f40e","unicode_alt":"","code_decimal":"🐎","name":"horse","shortname":":racehorse:","category":"nature","emoji_order":"1357","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"deer":{"unicode":"1f98c","unicode_alt":"","code_decimal":"🦌","name":"deer","shortname":":deer:","category":"nature","emoji_order":"1358","aliases":[],"aliases_ascii":[],"keywords":[]},"unicorn":{"unicode":"1f984","unicode_alt":"","code_decimal":"🦄","name":"unicorn face","shortname":":unicorn:","category":"nature","emoji_order":"1359","aliases":[":unicorn_face:"],"aliases_ascii":[],"keywords":["animal"]},"cow":{"unicode":"1f42e","unicode_alt":"","code_decimal":"🐮","name":"cow face","shortname":":cow:","category":"nature","emoji_order":"1360","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"ox":{"unicode":"1f402","unicode_alt":"","code_decimal":"🐂","name":"ox","shortname":":ox:","category":"nature","emoji_order":"1361","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"water_buffalo":{"unicode":"1f403","unicode_alt":"","code_decimal":"🐃","name":"water buffalo","shortname":":water_buffalo:","category":"nature","emoji_order":"1362","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"cow2":{"unicode":"1f404","unicode_alt":"","code_decimal":"🐄","name":"cow","shortname":":cow2:","category":"nature","emoji_order":"1363","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"pig":{"unicode":"1f437","unicode_alt":"","code_decimal":"🐷","name":"pig face","shortname":":pig:","category":"nature","emoji_order":"1364","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"pig2":{"unicode":"1f416","unicode_alt":"","code_decimal":"🐖","name":"pig","shortname":":pig2:","category":"nature","emoji_order":"1365","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"boar":{"unicode":"1f417","unicode_alt":"","code_decimal":"🐗","name":"boar","shortname":":boar:","category":"nature","emoji_order":"1366","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"pig_nose":{"unicode":"1f43d","unicode_alt":"","code_decimal":"🐽","name":"pig nose","shortname":":pig_nose:","category":"nature","emoji_order":"1367","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"ram":{"unicode":"1f40f","unicode_alt":"","code_decimal":"🐏","name":"ram","shortname":":ram:","category":"nature","emoji_order":"1368","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"sheep":{"unicode":"1f411","unicode_alt":"","code_decimal":"🐑","name":"sheep","shortname":":sheep:","category":"nature","emoji_order":"1369","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"goat":{"unicode":"1f410","unicode_alt":"","code_decimal":"🐐","name":"goat","shortname":":goat:","category":"nature","emoji_order":"1370","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"dromedary_camel":{"unicode":"1f42a","unicode_alt":"","code_decimal":"🐪","name":"dromedary camel","shortname":":dromedary_camel:","category":"nature","emoji_order":"1371","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"camel":{"unicode":"1f42b","unicode_alt":"","code_decimal":"🐫","name":"bactrian camel","shortname":":camel:","category":"nature","emoji_order":"1372","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal","hump day"]},"elephant":{"unicode":"1f418","unicode_alt":"","code_decimal":"🐘","name":"elephant","shortname":":elephant:","category":"nature","emoji_order":"1373","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"rhino":{"unicode":"1f98f","unicode_alt":"","code_decimal":"🦏","name":"rhinoceros","shortname":":rhino:","category":"nature","emoji_order":"1374","aliases":[":rhinoceros:"],"aliases_ascii":[],"keywords":[]},"mouse":{"unicode":"1f42d","unicode_alt":"","code_decimal":"🐭","name":"mouse face","shortname":":mouse:","category":"nature","emoji_order":"1375","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"mouse2":{"unicode":"1f401","unicode_alt":"","code_decimal":"🐁","name":"mouse","shortname":":mouse2:","category":"nature","emoji_order":"1376","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"rat":{"unicode":"1f400","unicode_alt":"","code_decimal":"🐀","name":"rat","shortname":":rat:","category":"nature","emoji_order":"1377","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"hamster":{"unicode":"1f439","unicode_alt":"","code_decimal":"🐹","name":"hamster face","shortname":":hamster:","category":"nature","emoji_order":"1378","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"rabbit":{"unicode":"1f430","unicode_alt":"","code_decimal":"🐰","name":"rabbit face","shortname":":rabbit:","category":"nature","emoji_order":"1379","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"rabbit2":{"unicode":"1f407","unicode_alt":"","code_decimal":"🐇","name":"rabbit","shortname":":rabbit2:","category":"nature","emoji_order":"1380","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"chipmunk":{"unicode":"1f43f","unicode_alt":"1f43f-fe0f","code_decimal":"🐿","name":"chipmunk","shortname":":chipmunk:","category":"nature","emoji_order":"1381","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"bat":{"unicode":"1f987","unicode_alt":"","code_decimal":"🦇","name":"bat","shortname":":bat:","category":"nature","emoji_order":"1382","aliases":[],"aliases_ascii":[],"keywords":[]},"bear":{"unicode":"1f43b","unicode_alt":"","code_decimal":"🐻","name":"bear face","shortname":":bear:","category":"nature","emoji_order":"1383","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","animal"]},"koala":{"unicode":"1f428","unicode_alt":"","code_decimal":"🐨","name":"koala","shortname":":koala:","category":"nature","emoji_order":"1384","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"panda_face":{"unicode":"1f43c","unicode_alt":"","code_decimal":"🐼","name":"panda face","shortname":":panda_face:","category":"nature","emoji_order":"1385","aliases":[],"aliases_ascii":[],"keywords":["wildlife","roar","animal"]},"feet":{"unicode":"1f43e","unicode_alt":"","code_decimal":"🐾","name":"paw prints","shortname":":feet:","category":"nature","emoji_order":"1386","aliases":[":paw_prints:"],"aliases_ascii":[],"keywords":["animal"]},"turkey":{"unicode":"1f983","unicode_alt":"","code_decimal":"🦃","name":"turkey","shortname":":turkey:","category":"nature","emoji_order":"1387","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"chicken":{"unicode":"1f414","unicode_alt":"","code_decimal":"🐔","name":"chicken","shortname":":chicken:","category":"nature","emoji_order":"1388","aliases":[],"aliases_ascii":[],"keywords":["animal","chicken"]},"rooster":{"unicode":"1f413","unicode_alt":"","code_decimal":"🐓","name":"rooster","shortname":":rooster:","category":"nature","emoji_order":"1389","aliases":[],"aliases_ascii":[],"keywords":["animal"]},"hatching_chick":{"unicode":"1f423","unicode_alt":"","code_decimal":"🐣","name":"hatching chick","shortname":":hatching_chick:","category":"nature","emoji_order":"1390","aliases":[],"aliases_ascii":[],"keywords":["animal","chicken"]},"baby_chick":{"unicode":"1f424","unicode_alt":"","code_decimal":"🐤","name":"baby chick","shortname":":baby_chick:","category":"nature","emoji_order":"1391","aliases":[],"aliases_ascii":[],"keywords":["animal","chicken"]},"hatched_chick":{"unicode":"1f425","unicode_alt":"","code_decimal":"🐥","name":"front-facing baby chick","shortname":":hatched_chick:","category":"nature","emoji_order":"1392","aliases":[],"aliases_ascii":[],"keywords":["animal","chicken"]},"bird":{"unicode":"1f426","unicode_alt":"","code_decimal":"🐦","name":"bird","shortname":":bird:","category":"nature","emoji_order":"1393","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"penguin":{"unicode":"1f427","unicode_alt":"","code_decimal":"🐧","name":"penguin","shortname":":penguin:","category":"nature","emoji_order":"1394","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"dove":{"unicode":"1f54a","unicode_alt":"1f54a-fe0f","code_decimal":"🕊","name":"dove of peace","shortname":":dove:","category":"nature","emoji_order":"1395","aliases":[":dove_of_peace:"],"aliases_ascii":[],"keywords":["animal"]},"eagle":{"unicode":"1f985","unicode_alt":"","code_decimal":"🦅","name":"eagle","shortname":":eagle:","category":"nature","emoji_order":"1396","aliases":[],"aliases_ascii":[],"keywords":[]},"duck":{"unicode":"1f986","unicode_alt":"","code_decimal":"🦆","name":"duck","shortname":":duck:","category":"nature","emoji_order":"1397","aliases":[],"aliases_ascii":[],"keywords":[]},"owl":{"unicode":"1f989","unicode_alt":"","code_decimal":"🦉","name":"owl","shortname":":owl:","category":"nature","emoji_order":"1398","aliases":[],"aliases_ascii":[],"keywords":[]},"frog":{"unicode":"1f438","unicode_alt":"","code_decimal":"🐸","name":"frog face","shortname":":frog:","category":"nature","emoji_order":"1399","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"crocodile":{"unicode":"1f40a","unicode_alt":"","code_decimal":"🐊","name":"crocodile","shortname":":crocodile:","category":"nature","emoji_order":"1400","aliases":[],"aliases_ascii":[],"keywords":["wildlife","reptile","animal"]},"turtle":{"unicode":"1f422","unicode_alt":"","code_decimal":"🐢","name":"turtle","shortname":":turtle:","category":"nature","emoji_order":"1401","aliases":[],"aliases_ascii":[],"keywords":["wildlife","reptile","animal"]},"lizard":{"unicode":"1f98e","unicode_alt":"","code_decimal":"🦎","name":"lizard","shortname":":lizard:","category":"nature","emoji_order":"1402","aliases":[],"aliases_ascii":[],"keywords":[]},"snake":{"unicode":"1f40d","unicode_alt":"","code_decimal":"🐍","name":"snake","shortname":":snake:","category":"nature","emoji_order":"1403","aliases":[],"aliases_ascii":[],"keywords":["wildlife","reptile","animal","creationism"]},"dragon_face":{"unicode":"1f432","unicode_alt":"","code_decimal":"🐲","name":"dragon face","shortname":":dragon_face:","category":"nature","emoji_order":"1404","aliases":[],"aliases_ascii":[],"keywords":["roar","monster","reptile","animal"]},"dragon":{"unicode":"1f409","unicode_alt":"","code_decimal":"🐉","name":"dragon","shortname":":dragon:","category":"nature","emoji_order":"1405","aliases":[],"aliases_ascii":[],"keywords":["roar","reptile","animal"]},"whale":{"unicode":"1f433","unicode_alt":"","code_decimal":"🐳","name":"spouting whale","shortname":":whale:","category":"nature","emoji_order":"1406","aliases":[],"aliases_ascii":[],"keywords":["wildlife","tropical","whales","animal"]},"whale2":{"unicode":"1f40b","unicode_alt":"","code_decimal":"🐋","name":"whale","shortname":":whale2:","category":"nature","emoji_order":"1407","aliases":[],"aliases_ascii":[],"keywords":["wildlife","tropical","whales","animal"]},"dolphin":{"unicode":"1f42c","unicode_alt":"","code_decimal":"🐬","name":"dolphin","shortname":":dolphin:","category":"nature","emoji_order":"1408","aliases":[],"aliases_ascii":[],"keywords":["wildlife","tropical","animal"]},"fish":{"unicode":"1f41f","unicode_alt":"","code_decimal":"🐟","name":"fish","shortname":":fish:","category":"nature","emoji_order":"1409","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"tropical_fish":{"unicode":"1f420","unicode_alt":"","code_decimal":"🐠","name":"tropical fish","shortname":":tropical_fish:","category":"nature","emoji_order":"1410","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"blowfish":{"unicode":"1f421","unicode_alt":"","code_decimal":"🐡","name":"blowfish","shortname":":blowfish:","category":"nature","emoji_order":"1411","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"shark":{"unicode":"1f988","unicode_alt":"","code_decimal":"🦈","name":"shark","shortname":":shark:","category":"nature","emoji_order":"1412","aliases":[],"aliases_ascii":[],"keywords":[]},"octopus":{"unicode":"1f419","unicode_alt":"","code_decimal":"🐙","name":"octopus","shortname":":octopus:","category":"nature","emoji_order":"1413","aliases":[],"aliases_ascii":[],"keywords":["wildlife","animal"]},"shell":{"unicode":"1f41a","unicode_alt":"","code_decimal":"🐚","name":"spiral shell","shortname":":shell:","category":"nature","emoji_order":"1414","aliases":[],"aliases_ascii":[],"keywords":[]},"crab":{"unicode":"1f980","unicode_alt":"","code_decimal":"🦀","name":"crab","shortname":":crab:","category":"nature","emoji_order":"1415","aliases":[],"aliases_ascii":[],"keywords":["tropical","animal"]},"shrimp":{"unicode":"1f990","unicode_alt":"","code_decimal":"🦐","name":"shrimp","shortname":":shrimp:","category":"nature","emoji_order":"1416","aliases":[],"aliases_ascii":[],"keywords":[]},"squid":{"unicode":"1f991","unicode_alt":"","code_decimal":"🦑","name":"squid","shortname":":squid:","category":"nature","emoji_order":"1417","aliases":[],"aliases_ascii":[],"keywords":[]},"butterfly":{"unicode":"1f98b","unicode_alt":"","code_decimal":"🦋","name":"butterfly","shortname":":butterfly:","category":"nature","emoji_order":"1418","aliases":[],"aliases_ascii":[],"keywords":[]},"snail":{"unicode":"1f40c","unicode_alt":"","code_decimal":"🐌","name":"snail","shortname":":snail:","category":"nature","emoji_order":"1419","aliases":[],"aliases_ascii":[],"keywords":["insects","animal"]},"bug":{"unicode":"1f41b","unicode_alt":"","code_decimal":"🐛","name":"bug","shortname":":bug:","category":"nature","emoji_order":"1420","aliases":[],"aliases_ascii":[],"keywords":["insects","animal"]},"ant":{"unicode":"1f41c","unicode_alt":"","code_decimal":"🐜","name":"ant","shortname":":ant:","category":"nature","emoji_order":"1421","aliases":[],"aliases_ascii":[],"keywords":["insects","animal"]},"bee":{"unicode":"1f41d","unicode_alt":"","code_decimal":"🐝","name":"honeybee","shortname":":bee:","category":"nature","emoji_order":"1422","aliases":[],"aliases_ascii":[],"keywords":["insects","animal"]},"beetle":{"unicode":"1f41e","unicode_alt":"","code_decimal":"🐞","name":"lady beetle","shortname":":beetle:","category":"nature","emoji_order":"1423","aliases":[],"aliases_ascii":[],"keywords":["insects","animal"]},"spider":{"unicode":"1f577","unicode_alt":"1f577-fe0f","code_decimal":"🕷","name":"spider","shortname":":spider:","category":"nature","emoji_order":"1424","aliases":[],"aliases_ascii":[],"keywords":["insects","halloween","animal"]},"spider_web":{"unicode":"1f578","unicode_alt":"1f578-fe0f","code_decimal":"🕸","name":"spider web","shortname":":spider_web:","category":"nature","emoji_order":"1425","aliases":[],"aliases_ascii":[],"keywords":["halloween"]},"scorpion":{"unicode":"1f982","unicode_alt":"","code_decimal":"🦂","name":"scorpion","shortname":":scorpion:","category":"nature","emoji_order":"1426","aliases":[],"aliases_ascii":[],"keywords":["insects","reptile","animal"]},"bouquet":{"unicode":"1f490","unicode_alt":"","code_decimal":"💐","name":"bouquet","shortname":":bouquet:","category":"nature","emoji_order":"1427","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant","rip","condolence"]},"cherry_blossom":{"unicode":"1f338","unicode_alt":"","code_decimal":"🌸","name":"cherry blossom","shortname":":cherry_blossom:","category":"nature","emoji_order":"1428","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant","tropical"]},"white_flower":{"unicode":"1f4ae","unicode_alt":"","code_decimal":"💮","name":"white flower","shortname":":white_flower:","category":"symbols","emoji_order":"1429","aliases":[],"aliases_ascii":[],"keywords":["flower","symbol"]},"rosette":{"unicode":"1f3f5","unicode_alt":"1f3f5-fe0f","code_decimal":"🏵","name":"rosette","shortname":":rosette:","category":"nature","emoji_order":"1430","aliases":[],"aliases_ascii":[],"keywords":["tropical"]},"rose":{"unicode":"1f339","unicode_alt":"","code_decimal":"🌹","name":"rose","shortname":":rose:","category":"nature","emoji_order":"1431","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant","rip","condolence","beautiful"]},"wilted_rose":{"unicode":"1f940","unicode_alt":"","code_decimal":"🥀","name":"wilted flower","shortname":":wilted_rose:","category":"nature","emoji_order":"1432","aliases":[":wilted_flower:"],"aliases_ascii":[],"keywords":[]},"hibiscus":{"unicode":"1f33a","unicode_alt":"","code_decimal":"🌺","name":"hibiscus","shortname":":hibiscus:","category":"nature","emoji_order":"1433","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant","tropical"]},"sunflower":{"unicode":"1f33b","unicode_alt":"","code_decimal":"🌻","name":"sunflower","shortname":":sunflower:","category":"nature","emoji_order":"1434","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant"]},"blossom":{"unicode":"1f33c","unicode_alt":"","code_decimal":"🌼","name":"blossom","shortname":":blossom:","category":"nature","emoji_order":"1435","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant"]},"tulip":{"unicode":"1f337","unicode_alt":"","code_decimal":"🌷","name":"tulip","shortname":":tulip:","category":"nature","emoji_order":"1436","aliases":[],"aliases_ascii":[],"keywords":["nature","flower","plant","vagina","girls night"]},"seedling":{"unicode":"1f331","unicode_alt":"","code_decimal":"🌱","name":"seedling","shortname":":seedling:","category":"nature","emoji_order":"1437","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"evergreen_tree":{"unicode":"1f332","unicode_alt":"","code_decimal":"🌲","name":"evergreen tree","shortname":":evergreen_tree:","category":"nature","emoji_order":"1438","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","holidays","christmas","camp","trees"]},"deciduous_tree":{"unicode":"1f333","unicode_alt":"","code_decimal":"🌳","name":"deciduous tree","shortname":":deciduous_tree:","category":"nature","emoji_order":"1439","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","camp","trees"]},"palm_tree":{"unicode":"1f334","unicode_alt":"","code_decimal":"🌴","name":"palm tree","shortname":":palm_tree:","category":"nature","emoji_order":"1440","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","tropical","trees"]},"cactus":{"unicode":"1f335","unicode_alt":"","code_decimal":"🌵","name":"cactus","shortname":":cactus:","category":"nature","emoji_order":"1441","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","trees"]},"ear_of_rice":{"unicode":"1f33e","unicode_alt":"","code_decimal":"🌾","name":"ear of rice","shortname":":ear_of_rice:","category":"nature","emoji_order":"1442","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"herb":{"unicode":"1f33f","unicode_alt":"","code_decimal":"🌿","name":"herb","shortname":":herb:","category":"nature","emoji_order":"1443","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"shamrock":{"unicode":"2618","unicode_alt":"2618-fe0f","code_decimal":"☘","name":"shamrock","shortname":":shamrock:","category":"nature","emoji_order":"1444","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","luck","leaf"]},"four_leaf_clover":{"unicode":"1f340","unicode_alt":"","code_decimal":"🍀","name":"four leaf clover","shortname":":four_leaf_clover:","category":"nature","emoji_order":"1445","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","luck","leaf","sol"]},"maple_leaf":{"unicode":"1f341","unicode_alt":"","code_decimal":"🍁","name":"maple leaf","shortname":":maple_leaf:","category":"nature","emoji_order":"1446","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"fallen_leaf":{"unicode":"1f342","unicode_alt":"","code_decimal":"🍂","name":"fallen leaf","shortname":":fallen_leaf:","category":"nature","emoji_order":"1447","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"leaves":{"unicode":"1f343","unicode_alt":"","code_decimal":"🍃","name":"leaf fluttering in wind","shortname":":leaves:","category":"nature","emoji_order":"1448","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","leaf"]},"grapes":{"unicode":"1f347","unicode_alt":"","code_decimal":"🍇","name":"grapes","shortname":":grapes:","category":"food","emoji_order":"1449","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"melon":{"unicode":"1f348","unicode_alt":"","code_decimal":"🍈","name":"melon","shortname":":melon:","category":"food","emoji_order":"1450","aliases":[],"aliases_ascii":[],"keywords":["fruit","boobs","food"]},"watermelon":{"unicode":"1f349","unicode_alt":"","code_decimal":"🍉","name":"watermelon","shortname":":watermelon:","category":"food","emoji_order":"1451","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"tangerine":{"unicode":"1f34a","unicode_alt":"","code_decimal":"🍊","name":"tangerine","shortname":":tangerine:","category":"food","emoji_order":"1452","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"lemon":{"unicode":"1f34b","unicode_alt":"","code_decimal":"🍋","name":"lemon","shortname":":lemon:","category":"food","emoji_order":"1453","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"banana":{"unicode":"1f34c","unicode_alt":"","code_decimal":"🍌","name":"banana","shortname":":banana:","category":"food","emoji_order":"1454","aliases":[],"aliases_ascii":[],"keywords":["fruit","penis","food"]},"pineapple":{"unicode":"1f34d","unicode_alt":"","code_decimal":"🍍","name":"pineapple","shortname":":pineapple:","category":"food","emoji_order":"1455","aliases":[],"aliases_ascii":[],"keywords":["fruit","food","tropical"]},"apple":{"unicode":"1f34e","unicode_alt":"","code_decimal":"🍎","name":"red apple","shortname":":apple:","category":"food","emoji_order":"1456","aliases":[],"aliases_ascii":[],"keywords":["fruit","food","creationism"]},"green_apple":{"unicode":"1f34f","unicode_alt":"","code_decimal":"🍏","name":"green apple","shortname":":green_apple:","category":"food","emoji_order":"1457","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"pear":{"unicode":"1f350","unicode_alt":"","code_decimal":"🍐","name":"pear","shortname":":pear:","category":"food","emoji_order":"1458","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"peach":{"unicode":"1f351","unicode_alt":"","code_decimal":"🍑","name":"peach","shortname":":peach:","category":"food","emoji_order":"1459","aliases":[],"aliases_ascii":[],"keywords":["fruit","butt","food"]},"cherries":{"unicode":"1f352","unicode_alt":"","code_decimal":"🍒","name":"cherries","shortname":":cherries:","category":"food","emoji_order":"1460","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"strawberry":{"unicode":"1f353","unicode_alt":"","code_decimal":"🍓","name":"strawberry","shortname":":strawberry:","category":"food","emoji_order":"1461","aliases":[],"aliases_ascii":[],"keywords":["fruit","food"]},"kiwi":{"unicode":"1f95d","unicode_alt":"","code_decimal":"🥝","name":"kiwifruit","shortname":":kiwi:","category":"food","emoji_order":"1462","aliases":[":kiwifruit:"],"aliases_ascii":[],"keywords":[]},"tomato":{"unicode":"1f345","unicode_alt":"","code_decimal":"🍅","name":"tomato","shortname":":tomato:","category":"food","emoji_order":"1463","aliases":[],"aliases_ascii":[],"keywords":["fruit","vegetables","food"]},"avocado":{"unicode":"1f951","unicode_alt":"","code_decimal":"🥑","name":"avocado","shortname":":avocado:","category":"food","emoji_order":"1464","aliases":[],"aliases_ascii":[],"keywords":[]},"eggplant":{"unicode":"1f346","unicode_alt":"","code_decimal":"🍆","name":"aubergine","shortname":":eggplant:","category":"food","emoji_order":"1465","aliases":[],"aliases_ascii":[],"keywords":["vegetables","penis","food"]},"potato":{"unicode":"1f954","unicode_alt":"","code_decimal":"🥔","name":"potato","shortname":":potato:","category":"food","emoji_order":"1466","aliases":[],"aliases_ascii":[],"keywords":[]},"carrot":{"unicode":"1f955","unicode_alt":"","code_decimal":"🥕","name":"carrot","shortname":":carrot:","category":"food","emoji_order":"1467","aliases":[],"aliases_ascii":[],"keywords":[]},"corn":{"unicode":"1f33d","unicode_alt":"","code_decimal":"🌽","name":"ear of maize","shortname":":corn:","category":"food","emoji_order":"1468","aliases":[],"aliases_ascii":[],"keywords":["vegetables","food"]},"hot_pepper":{"unicode":"1f336","unicode_alt":"1f336-fe0f","code_decimal":"🌶","name":"hot pepper","shortname":":hot_pepper:","category":"food","emoji_order":"1469","aliases":[],"aliases_ascii":[],"keywords":["vegetables","food"]},"cucumber":{"unicode":"1f952","unicode_alt":"","code_decimal":"🥒","name":"cucumber","shortname":":cucumber:","category":"food","emoji_order":"1470","aliases":[],"aliases_ascii":[],"keywords":[]},"mushroom":{"unicode":"1f344","unicode_alt":"","code_decimal":"🍄","name":"mushroom","shortname":":mushroom:","category":"nature","emoji_order":"1471","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","drugs"]},"peanuts":{"unicode":"1f95c","unicode_alt":"","code_decimal":"🥜","name":"peanuts","shortname":":peanuts:","category":"food","emoji_order":"1472","aliases":[":shelled_peanut:"],"aliases_ascii":[],"keywords":[]},"chestnut":{"unicode":"1f330","unicode_alt":"","code_decimal":"🌰","name":"chestnut","shortname":":chestnut:","category":"nature","emoji_order":"1473","aliases":[],"aliases_ascii":[],"keywords":["nature","plant"]},"bread":{"unicode":"1f35e","unicode_alt":"","code_decimal":"🍞","name":"bread","shortname":":bread:","category":"food","emoji_order":"1474","aliases":[],"aliases_ascii":[],"keywords":["food"]},"croissant":{"unicode":"1f950","unicode_alt":"","code_decimal":"🥐","name":"croissant","shortname":":croissant:","category":"food","emoji_order":"1475","aliases":[],"aliases_ascii":[],"keywords":[]},"french_bread":{"unicode":"1f956","unicode_alt":"","code_decimal":"🥖","name":"baguette bread","shortname":":french_bread:","category":"food","emoji_order":"1476","aliases":[":baguette_bread:"],"aliases_ascii":[],"keywords":[]},"pancakes":{"unicode":"1f95e","unicode_alt":"","code_decimal":"🥞","name":"pancakes","shortname":":pancakes:","category":"food","emoji_order":"1477","aliases":[],"aliases_ascii":[],"keywords":[]},"cheese":{"unicode":"1f9c0","unicode_alt":"","code_decimal":"🧀","name":"cheese wedge","shortname":":cheese:","category":"food","emoji_order":"1478","aliases":[":cheese_wedge:"],"aliases_ascii":[],"keywords":["food"]},"meat_on_bone":{"unicode":"1f356","unicode_alt":"","code_decimal":"🍖","name":"meat on bone","shortname":":meat_on_bone:","category":"food","emoji_order":"1479","aliases":[],"aliases_ascii":[],"keywords":["food"]},"poultry_leg":{"unicode":"1f357","unicode_alt":"","code_decimal":"🍗","name":"poultry leg","shortname":":poultry_leg:","category":"food","emoji_order":"1480","aliases":[],"aliases_ascii":[],"keywords":["food","holidays"]},"bacon":{"unicode":"1f953","unicode_alt":"","code_decimal":"🥓","name":"bacon","shortname":":bacon:","category":"food","emoji_order":"1481","aliases":[],"aliases_ascii":[],"keywords":["pig"]},"hamburger":{"unicode":"1f354","unicode_alt":"","code_decimal":"🍔","name":"hamburger","shortname":":hamburger:","category":"food","emoji_order":"1482","aliases":[],"aliases_ascii":[],"keywords":["america","food"]},"fries":{"unicode":"1f35f","unicode_alt":"","code_decimal":"🍟","name":"french fries","shortname":":fries:","category":"food","emoji_order":"1483","aliases":[],"aliases_ascii":[],"keywords":["america","food"]},"pizza":{"unicode":"1f355","unicode_alt":"","code_decimal":"🍕","name":"slice of pizza","shortname":":pizza:","category":"food","emoji_order":"1484","aliases":[],"aliases_ascii":[],"keywords":["italian","food","boys night"]},"hotdog":{"unicode":"1f32d","unicode_alt":"","code_decimal":"🌭","name":"hot dog","shortname":":hotdog:","category":"food","emoji_order":"1485","aliases":[":hot_dog:"],"aliases_ascii":[],"keywords":["america","food"]},"taco":{"unicode":"1f32e","unicode_alt":"","code_decimal":"🌮","name":"taco","shortname":":taco:","category":"food","emoji_order":"1486","aliases":[],"aliases_ascii":[],"keywords":["food","mexican","vagina"]},"burrito":{"unicode":"1f32f","unicode_alt":"","code_decimal":"🌯","name":"burrito","shortname":":burrito:","category":"food","emoji_order":"1487","aliases":[],"aliases_ascii":[],"keywords":["food","mexican"]},"stuffed_flatbread":{"unicode":"1f959","unicode_alt":"","code_decimal":"🥙","name":"stuffed flatbread","shortname":":stuffed_flatbread:","category":"food","emoji_order":"1488","aliases":[":stuffed_pita:"],"aliases_ascii":[],"keywords":[]},"egg":{"unicode":"1f95a","unicode_alt":"","code_decimal":"🥚","name":"egg","shortname":":egg:","category":"food","emoji_order":"1489","aliases":[],"aliases_ascii":[],"keywords":[]},"cooking":{"unicode":"1f373","unicode_alt":"","code_decimal":"🍳","name":"cooking","shortname":":cooking:","category":"food","emoji_order":"1490","aliases":[],"aliases_ascii":[],"keywords":["food"]},"shallow_pan_of_food":{"unicode":"1f958","unicode_alt":"","code_decimal":"🥘","name":"shallow pan of food","shortname":":shallow_pan_of_food:","category":"food","emoji_order":"1491","aliases":[":paella:"],"aliases_ascii":[],"keywords":["pan of food"]},"stew":{"unicode":"1f372","unicode_alt":"","code_decimal":"🍲","name":"pot of food","shortname":":stew:","category":"food","emoji_order":"1492","aliases":[],"aliases_ascii":[],"keywords":["food","steam"]},"salad":{"unicode":"1f957","unicode_alt":"","code_decimal":"🥗","name":"green salad","shortname":":salad:","category":"food","emoji_order":"1493","aliases":[":green_salad:"],"aliases_ascii":[],"keywords":[]},"popcorn":{"unicode":"1f37f","unicode_alt":"","code_decimal":"🍿","name":"popcorn","shortname":":popcorn:","category":"food","emoji_order":"1494","aliases":[],"aliases_ascii":[],"keywords":["food","parties"]},"bento":{"unicode":"1f371","unicode_alt":"","code_decimal":"🍱","name":"bento box","shortname":":bento:","category":"food","emoji_order":"1495","aliases":[],"aliases_ascii":[],"keywords":["object","sushi","japan","food"]},"rice_cracker":{"unicode":"1f358","unicode_alt":"","code_decimal":"🍘","name":"rice cracker","shortname":":rice_cracker:","category":"food","emoji_order":"1496","aliases":[],"aliases_ascii":[],"keywords":["sushi","food"]},"rice_ball":{"unicode":"1f359","unicode_alt":"","code_decimal":"🍙","name":"rice ball","shortname":":rice_ball:","category":"food","emoji_order":"1497","aliases":[],"aliases_ascii":[],"keywords":["sushi","japan","food"]},"rice":{"unicode":"1f35a","unicode_alt":"","code_decimal":"🍚","name":"cooked rice","shortname":":rice:","category":"food","emoji_order":"1498","aliases":[],"aliases_ascii":[],"keywords":["sushi","japan","food"]},"curry":{"unicode":"1f35b","unicode_alt":"","code_decimal":"🍛","name":"curry and rice","shortname":":curry:","category":"food","emoji_order":"1499","aliases":[],"aliases_ascii":[],"keywords":["food"]},"ramen":{"unicode":"1f35c","unicode_alt":"","code_decimal":"🍜","name":"steaming bowl","shortname":":ramen:","category":"food","emoji_order":"1500","aliases":[],"aliases_ascii":[],"keywords":["noodles","ramen","japan","food"]},"spaghetti":{"unicode":"1f35d","unicode_alt":"","code_decimal":"🍝","name":"spaghetti","shortname":":spaghetti:","category":"food","emoji_order":"1501","aliases":[],"aliases_ascii":[],"keywords":["noodles","pasta","italian","food"]},"sweet_potato":{"unicode":"1f360","unicode_alt":"","code_decimal":"🍠","name":"roasted sweet potato","shortname":":sweet_potato:","category":"food","emoji_order":"1502","aliases":[],"aliases_ascii":[],"keywords":["vegetables","food"]},"oden":{"unicode":"1f362","unicode_alt":"","code_decimal":"🍢","name":"oden","shortname":":oden:","category":"food","emoji_order":"1503","aliases":[],"aliases_ascii":[],"keywords":["food"]},"sushi":{"unicode":"1f363","unicode_alt":"","code_decimal":"🍣","name":"sushi","shortname":":sushi:","category":"food","emoji_order":"1504","aliases":[],"aliases_ascii":[],"keywords":["sushi","japan","food"]},"fried_shrimp":{"unicode":"1f364","unicode_alt":"","code_decimal":"🍤","name":"fried shrimp","shortname":":fried_shrimp:","category":"food","emoji_order":"1505","aliases":[],"aliases_ascii":[],"keywords":["food"]},"fish_cake":{"unicode":"1f365","unicode_alt":"","code_decimal":"🍥","name":"fish cake with swirl design","shortname":":fish_cake:","category":"food","emoji_order":"1506","aliases":[],"aliases_ascii":[],"keywords":["sushi","food"]},"dango":{"unicode":"1f361","unicode_alt":"","code_decimal":"🍡","name":"dango","shortname":":dango:","category":"food","emoji_order":"1507","aliases":[],"aliases_ascii":[],"keywords":["food"]},"icecream":{"unicode":"1f366","unicode_alt":"","code_decimal":"🍦","name":"soft ice cream","shortname":":icecream:","category":"food","emoji_order":"1508","aliases":[],"aliases_ascii":[],"keywords":["food"]},"shaved_ice":{"unicode":"1f367","unicode_alt":"","code_decimal":"🍧","name":"shaved ice","shortname":":shaved_ice:","category":"food","emoji_order":"1509","aliases":[],"aliases_ascii":[],"keywords":["food"]},"ice_cream":{"unicode":"1f368","unicode_alt":"","code_decimal":"🍨","name":"ice cream","shortname":":ice_cream:","category":"food","emoji_order":"1510","aliases":[],"aliases_ascii":[],"keywords":["food"]},"doughnut":{"unicode":"1f369","unicode_alt":"","code_decimal":"🍩","name":"doughnut","shortname":":doughnut:","category":"food","emoji_order":"1511","aliases":[],"aliases_ascii":[],"keywords":["food"]},"cookie":{"unicode":"1f36a","unicode_alt":"","code_decimal":"🍪","name":"cookie","shortname":":cookie:","category":"food","emoji_order":"1512","aliases":[],"aliases_ascii":[],"keywords":["food","vagina"]},"birthday":{"unicode":"1f382","unicode_alt":"","code_decimal":"🎂","name":"birthday cake","shortname":":birthday:","category":"food","emoji_order":"1513","aliases":[],"aliases_ascii":[],"keywords":["birthday","food","parties"]},"cake":{"unicode":"1f370","unicode_alt":"","code_decimal":"🍰","name":"shortcake","shortname":":cake:","category":"food","emoji_order":"1514","aliases":[],"aliases_ascii":[],"keywords":["food"]},"chocolate_bar":{"unicode":"1f36b","unicode_alt":"","code_decimal":"🍫","name":"chocolate bar","shortname":":chocolate_bar:","category":"food","emoji_order":"1515","aliases":[],"aliases_ascii":[],"keywords":["food","halloween"]},"candy":{"unicode":"1f36c","unicode_alt":"","code_decimal":"🍬","name":"candy","shortname":":candy:","category":"food","emoji_order":"1516","aliases":[],"aliases_ascii":[],"keywords":["food","halloween"]},"lollipop":{"unicode":"1f36d","unicode_alt":"","code_decimal":"🍭","name":"lollipop","shortname":":lollipop:","category":"food","emoji_order":"1517","aliases":[],"aliases_ascii":[],"keywords":["food","halloween"]},"custard":{"unicode":"1f36e","unicode_alt":"","code_decimal":"🍮","name":"custard","shortname":":custard:","category":"food","emoji_order":"1518","aliases":[":pudding:",":flan:"],"aliases_ascii":[],"keywords":["food"]},"honey_pot":{"unicode":"1f36f","unicode_alt":"","code_decimal":"🍯","name":"honey pot","shortname":":honey_pot:","category":"food","emoji_order":"1519","aliases":[],"aliases_ascii":[],"keywords":["food","vagina"]},"baby_bottle":{"unicode":"1f37c","unicode_alt":"","code_decimal":"🍼","name":"baby bottle","shortname":":baby_bottle:","category":"food","emoji_order":"1520","aliases":[],"aliases_ascii":[],"keywords":["drink","object","food","baby"]},"milk":{"unicode":"1f95b","unicode_alt":"","code_decimal":"🥛","name":"glass of milk","shortname":":milk:","category":"food","emoji_order":"1521","aliases":[":glass_of_milk:"],"aliases_ascii":[],"keywords":[]},"coffee":{"unicode":"2615","unicode_alt":"2615-fe0f","code_decimal":"☕","name":"hot beverage","shortname":":coffee:","category":"food","emoji_order":"1522","aliases":[],"aliases_ascii":[],"keywords":["drink","caffeine","steam","morning"]},"tea":{"unicode":"1f375","unicode_alt":"","code_decimal":"🍵","name":"teacup without handle","shortname":":tea:","category":"food","emoji_order":"1523","aliases":[],"aliases_ascii":[],"keywords":["drink","japan","caffeine","steam","morning"]},"sake":{"unicode":"1f376","unicode_alt":"","code_decimal":"🍶","name":"sake bottle and cup","shortname":":sake:","category":"food","emoji_order":"1524","aliases":[],"aliases_ascii":[],"keywords":["drink","japan","sake","alcohol","girls night"]},"champagne":{"unicode":"1f37e","unicode_alt":"","code_decimal":"🍾","name":"bottle with popping cork","shortname":":champagne:","category":"food","emoji_order":"1525","aliases":[":bottle_with_popping_cork:"],"aliases_ascii":[],"keywords":["drink","cheers","alcohol","parties"]},"wine_glass":{"unicode":"1f377","unicode_alt":"","code_decimal":"🍷","name":"wine glass","shortname":":wine_glass:","category":"food","emoji_order":"1526","aliases":[],"aliases_ascii":[],"keywords":["drink","italian","alcohol","girls night","parties"]},"cocktail":{"unicode":"1f378","unicode_alt":"","code_decimal":"🍸","name":"cocktail glass","shortname":":cocktail:","category":"food","emoji_order":"1527","aliases":[],"aliases_ascii":[],"keywords":["drink","cocktail","alcohol","girls night","parties"]},"tropical_drink":{"unicode":"1f379","unicode_alt":"","code_decimal":"🍹","name":"tropical drink","shortname":":tropical_drink:","category":"food","emoji_order":"1528","aliases":[],"aliases_ascii":[],"keywords":["drink","cocktail","tropical","alcohol"]},"beer":{"unicode":"1f37a","unicode_alt":"","code_decimal":"🍺","name":"beer mug","shortname":":beer:","category":"food","emoji_order":"1529","aliases":[],"aliases_ascii":[],"keywords":["drink","beer","alcohol","parties"]},"beers":{"unicode":"1f37b","unicode_alt":"","code_decimal":"🍻","name":"clinking beer mugs","shortname":":beers:","category":"food","emoji_order":"1530","aliases":[],"aliases_ascii":[],"keywords":["drink","cheers","beer","alcohol","thank you","boys night","parties"]},"champagne_glass":{"unicode":"1f942","unicode_alt":"","code_decimal":"🥂","name":"clinking glasses","shortname":":champagne_glass:","category":"food","emoji_order":"1531","aliases":[":clinking_glass:"],"aliases_ascii":[],"keywords":[]},"tumbler_glass":{"unicode":"1f943","unicode_alt":"","code_decimal":"🥃","name":"tumbler glass","shortname":":tumbler_glass:","category":"food","emoji_order":"1532","aliases":[":whisky:"],"aliases_ascii":[],"keywords":["booze"]},"fork_knife_plate":{"unicode":"1f37d","unicode_alt":"1f37d-fe0f","code_decimal":"🍽","name":"fork and knife with plate","shortname":":fork_knife_plate:","category":"food","emoji_order":"1533","aliases":[":fork_and_knife_with_plate:"],"aliases_ascii":[],"keywords":["object","food"]},"fork_and_knife":{"unicode":"1f374","unicode_alt":"","code_decimal":"🍴","name":"fork and knife","shortname":":fork_and_knife:","category":"food","emoji_order":"1534","aliases":[],"aliases_ascii":[],"keywords":["object","weapon","food"]},"spoon":{"unicode":"1f944","unicode_alt":"","code_decimal":"🥄","name":"spoon","shortname":":spoon:","category":"food","emoji_order":"1535","aliases":[],"aliases_ascii":[],"keywords":[]},"knife":{"unicode":"1f52a","unicode_alt":"","code_decimal":"🔪","name":"hocho","shortname":":knife:","category":"objects","emoji_order":"1536","aliases":[],"aliases_ascii":[],"keywords":["object","weapon"]},"amphora":{"unicode":"1f3fa","unicode_alt":"","code_decimal":"🏺","name":"amphora","shortname":":amphora:","category":"objects","emoji_order":"1537","aliases":[],"aliases_ascii":[],"keywords":["object"]},"earth_africa":{"unicode":"1f30d","unicode_alt":"","code_decimal":"🌍","name":"earth globe europe-africa","shortname":":earth_africa:","category":"nature","emoji_order":"1538","aliases":[],"aliases_ascii":[],"keywords":["map","vacation","globe"]},"earth_americas":{"unicode":"1f30e","unicode_alt":"","code_decimal":"🌎","name":"earth globe americas","shortname":":earth_americas:","category":"nature","emoji_order":"1539","aliases":[],"aliases_ascii":[],"keywords":["map","vacation","globe"]},"earth_asia":{"unicode":"1f30f","unicode_alt":"","code_decimal":"🌏","name":"earth globe asia-australia","shortname":":earth_asia:","category":"nature","emoji_order":"1540","aliases":[],"aliases_ascii":[],"keywords":["map","vacation","globe"]},"globe_with_meridians":{"unicode":"1f310","unicode_alt":"","code_decimal":"🌐","name":"globe with meridians","shortname":":globe_with_meridians:","category":"symbols","emoji_order":"1541","aliases":[],"aliases_ascii":[],"keywords":["symbol","globe"]},"map":{"unicode":"1f5fa","unicode_alt":"1f5fa-fe0f","code_decimal":"🗺","name":"world map","shortname":":map:","category":"objects","emoji_order":"1542","aliases":[":world_map:"],"aliases_ascii":[],"keywords":["travel","map","vacation"]},"japan":{"unicode":"1f5fe","unicode_alt":"","code_decimal":"🗾","name":"silhouette of japan","shortname":":japan:","category":"travel","emoji_order":"1543","aliases":[],"aliases_ascii":[],"keywords":["places","travel","map","vacation","tropical"]},"mountain_snow":{"unicode":"1f3d4","unicode_alt":"1f3d4-fe0f","code_decimal":"🏔","name":"snow capped mountain","shortname":":mountain_snow:","category":"travel","emoji_order":"1544","aliases":[":snow_capped_mountain:"],"aliases_ascii":[],"keywords":["places","travel","vacation","cold","camp"]},"mountain":{"unicode":"26f0","unicode_alt":"26f0-fe0f","code_decimal":"⛰","name":"mountain","shortname":":mountain:","category":"travel","emoji_order":"1545","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","camp"]},"volcano":{"unicode":"1f30b","unicode_alt":"","code_decimal":"🌋","name":"volcano","shortname":":volcano:","category":"travel","emoji_order":"1546","aliases":[],"aliases_ascii":[],"keywords":["places","tropical"]},"mount_fuji":{"unicode":"1f5fb","unicode_alt":"","code_decimal":"🗻","name":"mount fuji","shortname":":mount_fuji:","category":"travel","emoji_order":"1547","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","cold","camp"]},"camping":{"unicode":"1f3d5","unicode_alt":"1f3d5-fe0f","code_decimal":"🏕","name":"camping","shortname":":camping:","category":"travel","emoji_order":"1548","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","camp"]},"beach":{"unicode":"1f3d6","unicode_alt":"1f3d6-fe0f","code_decimal":"🏖","name":"beach with umbrella","shortname":":beach:","category":"travel","emoji_order":"1549","aliases":[":beach_with_umbrella:"],"aliases_ascii":[],"keywords":["places","travel","vacation","tropical","beach","swim"]},"desert":{"unicode":"1f3dc","unicode_alt":"1f3dc-fe0f","code_decimal":"🏜","name":"desert","shortname":":desert:","category":"travel","emoji_order":"1550","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","hot"]},"island":{"unicode":"1f3dd","unicode_alt":"1f3dd-fe0f","code_decimal":"🏝","name":"desert island","shortname":":island:","category":"travel","emoji_order":"1551","aliases":[":desert_island:"],"aliases_ascii":[],"keywords":["places","travel","vacation","tropical","beach","swim"]},"park":{"unicode":"1f3de","unicode_alt":"1f3de-fe0f","code_decimal":"🏞","name":"national park","shortname":":park:","category":"travel","emoji_order":"1552","aliases":[":national_park:"],"aliases_ascii":[],"keywords":["travel","vacation","park","camp"]},"stadium":{"unicode":"1f3df","unicode_alt":"1f3df-fe0f","code_decimal":"🏟","name":"stadium","shortname":":stadium:","category":"travel","emoji_order":"1553","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","vacation","boys night"]},"classical_building":{"unicode":"1f3db","unicode_alt":"1f3db-fe0f","code_decimal":"🏛","name":"classical building","shortname":":classical_building:","category":"travel","emoji_order":"1554","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","vacation"]},"construction_site":{"unicode":"1f3d7","unicode_alt":"1f3d7-fe0f","code_decimal":"🏗","name":"building construction","shortname":":construction_site:","category":"travel","emoji_order":"1555","aliases":[":building_construction:"],"aliases_ascii":[],"keywords":["building","crane"]},"homes":{"unicode":"1f3d8","unicode_alt":"1f3d8-fe0f","code_decimal":"🏘","name":"house buildings","shortname":":homes:","category":"travel","emoji_order":"1556","aliases":[":house_buildings:"],"aliases_ascii":[],"keywords":["places","building","house"]},"cityscape":{"unicode":"1f3d9","unicode_alt":"1f3d9-fe0f","code_decimal":"🏙","name":"cityscape","shortname":":cityscape:","category":"travel","emoji_order":"1557","aliases":[],"aliases_ascii":[],"keywords":["places","building","vacation"]},"house_abandoned":{"unicode":"1f3da","unicode_alt":"1f3da-fe0f","code_decimal":"🏚","name":"derelict house building","shortname":":house_abandoned:","category":"travel","emoji_order":"1558","aliases":[":derelict_house_building:"],"aliases_ascii":[],"keywords":["places","building","house"]},"house":{"unicode":"1f3e0","unicode_alt":"","code_decimal":"🏠","name":"house building","shortname":":house:","category":"travel","emoji_order":"1559","aliases":[],"aliases_ascii":[],"keywords":["places","building","house"]},"house_with_garden":{"unicode":"1f3e1","unicode_alt":"","code_decimal":"🏡","name":"house with garden","shortname":":house_with_garden:","category":"travel","emoji_order":"1560","aliases":[],"aliases_ascii":[],"keywords":["places","building","house"]},"office":{"unicode":"1f3e2","unicode_alt":"","code_decimal":"🏢","name":"office building","shortname":":office:","category":"travel","emoji_order":"1561","aliases":[],"aliases_ascii":[],"keywords":["places","building","work"]},"post_office":{"unicode":"1f3e3","unicode_alt":"","code_decimal":"🏣","name":"japanese post office","shortname":":post_office:","category":"travel","emoji_order":"1562","aliases":[],"aliases_ascii":[],"keywords":["places","building","post office"]},"european_post_office":{"unicode":"1f3e4","unicode_alt":"","code_decimal":"🏤","name":"european post office","shortname":":european_post_office:","category":"travel","emoji_order":"1563","aliases":[],"aliases_ascii":[],"keywords":["places","building","post office"]},"hospital":{"unicode":"1f3e5","unicode_alt":"","code_decimal":"🏥","name":"hospital","shortname":":hospital:","category":"travel","emoji_order":"1564","aliases":[],"aliases_ascii":[],"keywords":["places","building","health","911"]},"bank":{"unicode":"1f3e6","unicode_alt":"","code_decimal":"🏦","name":"bank","shortname":":bank:","category":"travel","emoji_order":"1565","aliases":[],"aliases_ascii":[],"keywords":["places","building"]},"hotel":{"unicode":"1f3e8","unicode_alt":"","code_decimal":"🏨","name":"hotel","shortname":":hotel:","category":"travel","emoji_order":"1566","aliases":[],"aliases_ascii":[],"keywords":["places","building","vacation"]},"love_hotel":{"unicode":"1f3e9","unicode_alt":"","code_decimal":"🏩","name":"love hotel","shortname":":love_hotel:","category":"travel","emoji_order":"1567","aliases":[],"aliases_ascii":[],"keywords":["places","building","love"]},"convenience_store":{"unicode":"1f3ea","unicode_alt":"","code_decimal":"🏪","name":"convenience store","shortname":":convenience_store:","category":"travel","emoji_order":"1568","aliases":[],"aliases_ascii":[],"keywords":["places","building"]},"school":{"unicode":"1f3eb","unicode_alt":"","code_decimal":"🏫","name":"school","shortname":":school:","category":"travel","emoji_order":"1569","aliases":[],"aliases_ascii":[],"keywords":["places","building"]},"department_store":{"unicode":"1f3ec","unicode_alt":"","code_decimal":"🏬","name":"department store","shortname":":department_store:","category":"travel","emoji_order":"1570","aliases":[],"aliases_ascii":[],"keywords":["places","building"]},"factory":{"unicode":"1f3ed","unicode_alt":"","code_decimal":"🏭","name":"factory","shortname":":factory:","category":"travel","emoji_order":"1571","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","steam"]},"japanese_castle":{"unicode":"1f3ef","unicode_alt":"","code_decimal":"🏯","name":"japanese castle","shortname":":japanese_castle:","category":"travel","emoji_order":"1572","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","vacation"]},"european_castle":{"unicode":"1f3f0","unicode_alt":"","code_decimal":"🏰","name":"european castle","shortname":":european_castle:","category":"travel","emoji_order":"1573","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","vacation"]},"wedding":{"unicode":"1f492","unicode_alt":"","code_decimal":"💒","name":"wedding","shortname":":wedding:","category":"travel","emoji_order":"1574","aliases":[],"aliases_ascii":[],"keywords":["places","wedding","building","love","parties"]},"tokyo_tower":{"unicode":"1f5fc","unicode_alt":"","code_decimal":"🗼","name":"tokyo tower","shortname":":tokyo_tower:","category":"travel","emoji_order":"1575","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","eiffel tower"]},"statue_of_liberty":{"unicode":"1f5fd","unicode_alt":"","code_decimal":"🗽","name":"statue of liberty","shortname":":statue_of_liberty:","category":"travel","emoji_order":"1576","aliases":[],"aliases_ascii":[],"keywords":["places","america","travel","vacation","statue of liberty","free speech"]},"church":{"unicode":"26ea","unicode_alt":"26ea-fe0f","code_decimal":"⛪","name":"church","shortname":":church:","category":"travel","emoji_order":"1577","aliases":[],"aliases_ascii":[],"keywords":["places","wedding","religion","building","condolence"]},"mosque":{"unicode":"1f54c","unicode_alt":"","code_decimal":"🕌","name":"mosque","shortname":":mosque:","category":"travel","emoji_order":"1578","aliases":[],"aliases_ascii":[],"keywords":["places","religion","building","vacation","condolence"]},"synagogue":{"unicode":"1f54d","unicode_alt":"","code_decimal":"🕍","name":"synagogue","shortname":":synagogue:","category":"travel","emoji_order":"1579","aliases":[],"aliases_ascii":[],"keywords":["places","religion","building","travel","vacation","condolence"]},"shinto_shrine":{"unicode":"26e9","unicode_alt":"26e9-fe0f","code_decimal":"⛩","name":"shinto shrine","shortname":":shinto_shrine:","category":"travel","emoji_order":"1580","aliases":[],"aliases_ascii":[],"keywords":["places","building","travel","vacation"]},"kaaba":{"unicode":"1f54b","unicode_alt":"","code_decimal":"🕋","name":"kaaba","shortname":":kaaba:","category":"travel","emoji_order":"1581","aliases":[],"aliases_ascii":[],"keywords":["places","religion","building","condolence"]},"fountain":{"unicode":"26f2","unicode_alt":"26f2-fe0f","code_decimal":"⛲","name":"fountain","shortname":":fountain:","category":"travel","emoji_order":"1582","aliases":[],"aliases_ascii":[],"keywords":["travel","vacation"]},"tent":{"unicode":"26fa","unicode_alt":"26fa-fe0f","code_decimal":"⛺","name":"tent","shortname":":tent:","category":"travel","emoji_order":"1583","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","camp"]},"foggy":{"unicode":"1f301","unicode_alt":"","code_decimal":"🌁","name":"foggy","shortname":":foggy:","category":"travel","emoji_order":"1584","aliases":[],"aliases_ascii":[],"keywords":["places","building","sky","travel","vacation"]},"night_with_stars":{"unicode":"1f303","unicode_alt":"","code_decimal":"🌃","name":"night with stars","shortname":":night_with_stars:","category":"travel","emoji_order":"1585","aliases":[],"aliases_ascii":[],"keywords":["places","building","sky","vacation","goodnight"]},"sunrise_over_mountains":{"unicode":"1f304","unicode_alt":"","code_decimal":"🌄","name":"sunrise over mountains","shortname":":sunrise_over_mountains:","category":"travel","emoji_order":"1586","aliases":[],"aliases_ascii":[],"keywords":["places","sky","travel","vacation","day","sun","camp","morning"]},"sunrise":{"unicode":"1f305","unicode_alt":"","code_decimal":"🌅","name":"sunrise","shortname":":sunrise:","category":"travel","emoji_order":"1587","aliases":[],"aliases_ascii":[],"keywords":["places","sky","travel","vacation","tropical","day","sun","hump day","morning"]},"city_dusk":{"unicode":"1f306","unicode_alt":"","code_decimal":"🌆","name":"cityscape at dusk","shortname":":city_dusk:","category":"travel","emoji_order":"1588","aliases":[],"aliases_ascii":[],"keywords":["places","building"]},"city_sunset":{"unicode":"1f307","unicode_alt":"","code_decimal":"🌇","name":"sunset over buildings","shortname":":city_sunset:","category":"travel","emoji_order":"1589","aliases":[":city_sunrise:"],"aliases_ascii":[],"keywords":["places","building","sky","vacation"]},"bridge_at_night":{"unicode":"1f309","unicode_alt":"","code_decimal":"🌉","name":"bridge at night","shortname":":bridge_at_night:","category":"travel","emoji_order":"1590","aliases":[],"aliases_ascii":[],"keywords":["places","travel","vacation","goodnight"]},"hotsprings":{"unicode":"2668","unicode_alt":"2668-fe0f","code_decimal":"♨","name":"hot springs","shortname":":hotsprings:","category":"symbols","emoji_order":"1591","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"milky_way":{"unicode":"1f30c","unicode_alt":"","code_decimal":"🌌","name":"milky way","shortname":":milky_way:","category":"travel","emoji_order":"1592","aliases":[],"aliases_ascii":[],"keywords":["places","space","sky","travel","vacation"]},"carousel_horse":{"unicode":"1f3a0","unicode_alt":"","code_decimal":"🎠","name":"carousel horse","shortname":":carousel_horse:","category":"travel","emoji_order":"1593","aliases":[],"aliases_ascii":[],"keywords":["places","object","vacation","roller coaster","carousel"]},"ferris_wheel":{"unicode":"1f3a1","unicode_alt":"","code_decimal":"🎡","name":"ferris wheel","shortname":":ferris_wheel:","category":"travel","emoji_order":"1594","aliases":[],"aliases_ascii":[],"keywords":["places","vacation","ferris wheel"]},"roller_coaster":{"unicode":"1f3a2","unicode_alt":"","code_decimal":"🎢","name":"roller coaster","shortname":":roller_coaster:","category":"travel","emoji_order":"1595","aliases":[],"aliases_ascii":[],"keywords":["places","vacation","roller coaster"]},"barber":{"unicode":"1f488","unicode_alt":"","code_decimal":"💈","name":"barber pole","shortname":":barber:","category":"objects","emoji_order":"1596","aliases":[],"aliases_ascii":[],"keywords":["object"]},"circus_tent":{"unicode":"1f3aa","unicode_alt":"","code_decimal":"🎪","name":"circus tent","shortname":":circus_tent:","category":"activity","emoji_order":"1597","aliases":[],"aliases_ascii":[],"keywords":["circus tent"]},"performing_arts":{"unicode":"1f3ad","unicode_alt":"","code_decimal":"🎭","name":"performing arts","shortname":":performing_arts:","category":"activity","emoji_order":"1598","aliases":[],"aliases_ascii":[],"keywords":["theatre","movie"]},"frame_photo":{"unicode":"1f5bc","unicode_alt":"1f5bc-fe0f","code_decimal":"🖼","name":"frame with picture","shortname":":frame_photo:","category":"objects","emoji_order":"1599","aliases":[":frame_with_picture:"],"aliases_ascii":[],"keywords":["travel","vacation"]},"art":{"unicode":"1f3a8","unicode_alt":"","code_decimal":"🎨","name":"artist palette","shortname":":art:","category":"activity","emoji_order":"1600","aliases":[],"aliases_ascii":[],"keywords":[]},"slot_machine":{"unicode":"1f3b0","unicode_alt":"","code_decimal":"🎰","name":"slot machine","shortname":":slot_machine:","category":"activity","emoji_order":"1601","aliases":[],"aliases_ascii":[],"keywords":["game","boys night"]},"steam_locomotive":{"unicode":"1f682","unicode_alt":"","code_decimal":"🚂","name":"steam locomotive","shortname":":steam_locomotive:","category":"travel","emoji_order":"1602","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train","steam"]},"railway_car":{"unicode":"1f683","unicode_alt":"","code_decimal":"🚃","name":"railway car","shortname":":railway_car:","category":"travel","emoji_order":"1603","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"bullettrain_side":{"unicode":"1f684","unicode_alt":"","code_decimal":"🚄","name":"high-speed train","shortname":":bullettrain_side:","category":"travel","emoji_order":"1604","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"bullettrain_front":{"unicode":"1f685","unicode_alt":"","code_decimal":"🚅","name":"high-speed train with bullet nose","shortname":":bullettrain_front:","category":"travel","emoji_order":"1605","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"train2":{"unicode":"1f686","unicode_alt":"","code_decimal":"🚆","name":"train","shortname":":train2:","category":"travel","emoji_order":"1606","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"metro":{"unicode":"1f687","unicode_alt":"","code_decimal":"🚇","name":"metro","shortname":":metro:","category":"travel","emoji_order":"1607","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"light_rail":{"unicode":"1f688","unicode_alt":"","code_decimal":"🚈","name":"light rail","shortname":":light_rail:","category":"travel","emoji_order":"1608","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"station":{"unicode":"1f689","unicode_alt":"","code_decimal":"🚉","name":"station","shortname":":station:","category":"travel","emoji_order":"1609","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"tram":{"unicode":"1f68a","unicode_alt":"","code_decimal":"🚊","name":"tram","shortname":":tram:","category":"travel","emoji_order":"1610","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"monorail":{"unicode":"1f69d","unicode_alt":"","code_decimal":"🚝","name":"monorail","shortname":":monorail:","category":"travel","emoji_order":"1611","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train","vacation"]},"mountain_railway":{"unicode":"1f69e","unicode_alt":"","code_decimal":"🚞","name":"mountain railway","shortname":":mountain_railway:","category":"travel","emoji_order":"1612","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"train":{"unicode":"1f68b","unicode_alt":"","code_decimal":"🚋","name":"tram car","shortname":":train:","category":"travel","emoji_order":"1613","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"bus":{"unicode":"1f68c","unicode_alt":"","code_decimal":"🚌","name":"bus","shortname":":bus:","category":"travel","emoji_order":"1614","aliases":[],"aliases_ascii":[],"keywords":["transportation","bus","office"]},"oncoming_bus":{"unicode":"1f68d","unicode_alt":"","code_decimal":"🚍","name":"oncoming bus","shortname":":oncoming_bus:","category":"travel","emoji_order":"1615","aliases":[],"aliases_ascii":[],"keywords":["transportation","bus","travel"]},"trolleybus":{"unicode":"1f68e","unicode_alt":"","code_decimal":"🚎","name":"trolleybus","shortname":":trolleybus:","category":"travel","emoji_order":"1616","aliases":[],"aliases_ascii":[],"keywords":["transportation","bus","travel"]},"minibus":{"unicode":"1f690","unicode_alt":"","code_decimal":"🚐","name":"minibus","shortname":":minibus:","category":"travel","emoji_order":"1617","aliases":[],"aliases_ascii":[],"keywords":["transportation","bus"]},"ambulance":{"unicode":"1f691","unicode_alt":"","code_decimal":"🚑","name":"ambulance","shortname":":ambulance:","category":"travel","emoji_order":"1618","aliases":[],"aliases_ascii":[],"keywords":["transportation","911"]},"fire_engine":{"unicode":"1f692","unicode_alt":"","code_decimal":"🚒","name":"fire engine","shortname":":fire_engine:","category":"travel","emoji_order":"1619","aliases":[],"aliases_ascii":[],"keywords":["transportation","truck","911"]},"police_car":{"unicode":"1f693","unicode_alt":"","code_decimal":"🚓","name":"police car","shortname":":police_car:","category":"travel","emoji_order":"1620","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","police","911"]},"oncoming_police_car":{"unicode":"1f694","unicode_alt":"","code_decimal":"🚔","name":"oncoming police car","shortname":":oncoming_police_car:","category":"travel","emoji_order":"1621","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","police","911"]},"taxi":{"unicode":"1f695","unicode_alt":"","code_decimal":"🚕","name":"taxi","shortname":":taxi:","category":"travel","emoji_order":"1622","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","travel"]},"oncoming_taxi":{"unicode":"1f696","unicode_alt":"","code_decimal":"🚖","name":"oncoming taxi","shortname":":oncoming_taxi:","category":"travel","emoji_order":"1623","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","travel"]},"red_car":{"unicode":"1f697","unicode_alt":"","code_decimal":"🚗","name":"automobile","shortname":":red_car:","category":"travel","emoji_order":"1624","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","travel"]},"oncoming_automobile":{"unicode":"1f698","unicode_alt":"","code_decimal":"🚘","name":"oncoming automobile","shortname":":oncoming_automobile:","category":"travel","emoji_order":"1625","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","travel"]},"blue_car":{"unicode":"1f699","unicode_alt":"","code_decimal":"🚙","name":"recreational vehicle","shortname":":blue_car:","category":"travel","emoji_order":"1626","aliases":[],"aliases_ascii":[],"keywords":["transportation","car","travel"]},"truck":{"unicode":"1f69a","unicode_alt":"","code_decimal":"🚚","name":"delivery truck","shortname":":truck:","category":"travel","emoji_order":"1627","aliases":[],"aliases_ascii":[],"keywords":["transportation","truck"]},"articulated_lorry":{"unicode":"1f69b","unicode_alt":"","code_decimal":"🚛","name":"articulated lorry","shortname":":articulated_lorry:","category":"travel","emoji_order":"1628","aliases":[],"aliases_ascii":[],"keywords":["transportation","truck"]},"tractor":{"unicode":"1f69c","unicode_alt":"","code_decimal":"🚜","name":"tractor","shortname":":tractor:","category":"travel","emoji_order":"1629","aliases":[],"aliases_ascii":[],"keywords":["transportation"]},"bike":{"unicode":"1f6b2","unicode_alt":"","code_decimal":"🚲","name":"bicycle","shortname":":bike:","category":"travel","emoji_order":"1630","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","bike"]},"scooter":{"unicode":"1f6f4","unicode_alt":"","code_decimal":"🛴","name":"scooter","shortname":":scooter:","category":"travel","emoji_order":"1631","aliases":[],"aliases_ascii":[],"keywords":[]},"motor_scooter":{"unicode":"1f6f5","unicode_alt":"","code_decimal":"🛵","name":"motor scooter","shortname":":motor_scooter:","category":"travel","emoji_order":"1632","aliases":[":motorbike:"],"aliases_ascii":[],"keywords":["moped"]},"busstop":{"unicode":"1f68f","unicode_alt":"","code_decimal":"🚏","name":"bus stop","shortname":":busstop:","category":"travel","emoji_order":"1633","aliases":[],"aliases_ascii":[],"keywords":["object"]},"motorway":{"unicode":"1f6e3","unicode_alt":"1f6e3-fe0f","code_decimal":"🛣","name":"motorway","shortname":":motorway:","category":"travel","emoji_order":"1634","aliases":[],"aliases_ascii":[],"keywords":["travel","vacation","camp"]},"railway_track":{"unicode":"1f6e4","unicode_alt":"1f6e4-fe0f","code_decimal":"🛤","name":"railway track","shortname":":railway_track:","category":"travel","emoji_order":"1635","aliases":[":railroad_track:"],"aliases_ascii":[],"keywords":["travel","train","vacation"]},"fuelpump":{"unicode":"26fd","unicode_alt":"26fd-fe0f","code_decimal":"⛽","name":"fuel pump","shortname":":fuelpump:","category":"travel","emoji_order":"1636","aliases":[],"aliases_ascii":[],"keywords":["object","gas pump"]},"rotating_light":{"unicode":"1f6a8","unicode_alt":"","code_decimal":"🚨","name":"police cars revolving light","shortname":":rotating_light:","category":"travel","emoji_order":"1637","aliases":[],"aliases_ascii":[],"keywords":["transportation","object","police","911"]},"traffic_light":{"unicode":"1f6a5","unicode_alt":"","code_decimal":"🚥","name":"horizontal traffic light","shortname":":traffic_light:","category":"travel","emoji_order":"1638","aliases":[],"aliases_ascii":[],"keywords":["object","stop light"]},"vertical_traffic_light":{"unicode":"1f6a6","unicode_alt":"","code_decimal":"🚦","name":"vertical traffic light","shortname":":vertical_traffic_light:","category":"travel","emoji_order":"1639","aliases":[],"aliases_ascii":[],"keywords":["object","stop light"]},"construction":{"unicode":"1f6a7","unicode_alt":"","code_decimal":"🚧","name":"construction sign","shortname":":construction:","category":"travel","emoji_order":"1640","aliases":[],"aliases_ascii":[],"keywords":["object"]},"octagonal_sign":{"unicode":"1f6d1","unicode_alt":"","code_decimal":"🛑","name":"octagonal sign","shortname":":octagonal_sign:","category":"symbols","emoji_order":"1641","aliases":[":stop_sign:"],"aliases_ascii":[],"keywords":[]},"anchor":{"unicode":"2693","unicode_alt":"2693-fe0f","code_decimal":"⚓","name":"anchor","shortname":":anchor:","category":"travel","emoji_order":"1642","aliases":[],"aliases_ascii":[],"keywords":["object","travel","boat","vacation"]},"sailboat":{"unicode":"26f5","unicode_alt":"26f5-fe0f","code_decimal":"⛵","name":"sailboat","shortname":":sailboat:","category":"travel","emoji_order":"1643","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","boat","vacation"]},"canoe":{"unicode":"1f6f6","unicode_alt":"","code_decimal":"🛶","name":"canoe","shortname":":canoe:","category":"travel","emoji_order":"1644","aliases":[":kayak:"],"aliases_ascii":[],"keywords":[]},"speedboat":{"unicode":"1f6a4","unicode_alt":"","code_decimal":"🚤","name":"speedboat","shortname":":speedboat:","category":"travel","emoji_order":"1645","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","boat","vacation","tropical"]},"cruise_ship":{"unicode":"1f6f3","unicode_alt":"1f6f3-fe0f","code_decimal":"🛳","name":"passenger ship","shortname":":cruise_ship:","category":"travel","emoji_order":"1646","aliases":[":passenger_ship:"],"aliases_ascii":[],"keywords":["transportation","travel","boat","vacation"]},"ferry":{"unicode":"26f4","unicode_alt":"26f4-fe0f","code_decimal":"⛴","name":"ferry","shortname":":ferry:","category":"travel","emoji_order":"1647","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","boat","vacation"]},"motorboat":{"unicode":"1f6e5","unicode_alt":"1f6e5-fe0f","code_decimal":"🛥","name":"motorboat","shortname":":motorboat:","category":"travel","emoji_order":"1648","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","boat"]},"ship":{"unicode":"1f6a2","unicode_alt":"","code_decimal":"🚢","name":"ship","shortname":":ship:","category":"travel","emoji_order":"1649","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","boat","vacation"]},"airplane":{"unicode":"2708","unicode_alt":"2708-fe0f","code_decimal":"✈","name":"airplane","shortname":":airplane:","category":"travel","emoji_order":"1650","aliases":[],"aliases_ascii":[],"keywords":["transportation","plane","travel","vacation","fly"]},"airplane_small":{"unicode":"1f6e9","unicode_alt":"1f6e9-fe0f","code_decimal":"🛩","name":"small airplane","shortname":":airplane_small:","category":"travel","emoji_order":"1651","aliases":[":small_airplane:"],"aliases_ascii":[],"keywords":["transportation","plane","travel","vacation","fly"]},"airplane_departure":{"unicode":"1f6eb","unicode_alt":"","code_decimal":"🛫","name":"airplane departure","shortname":":airplane_departure:","category":"travel","emoji_order":"1652","aliases":[],"aliases_ascii":[],"keywords":["transportation","plane","travel","vacation","fly"]},"airplane_arriving":{"unicode":"1f6ec","unicode_alt":"","code_decimal":"🛬","name":"airplane arriving","shortname":":airplane_arriving:","category":"travel","emoji_order":"1653","aliases":[],"aliases_ascii":[],"keywords":["transportation","plane","travel","vacation","fly"]},"seat":{"unicode":"1f4ba","unicode_alt":"","code_decimal":"💺","name":"seat","shortname":":seat:","category":"travel","emoji_order":"1654","aliases":[],"aliases_ascii":[],"keywords":["transportation","object","travel","vacation"]},"helicopter":{"unicode":"1f681","unicode_alt":"","code_decimal":"🚁","name":"helicopter","shortname":":helicopter:","category":"travel","emoji_order":"1655","aliases":[],"aliases_ascii":[],"keywords":["transportation","plane","travel","fly"]},"suspension_railway":{"unicode":"1f69f","unicode_alt":"","code_decimal":"🚟","name":"suspension railway","shortname":":suspension_railway:","category":"travel","emoji_order":"1656","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"mountain_cableway":{"unicode":"1f6a0","unicode_alt":"","code_decimal":"🚠","name":"mountain cableway","shortname":":mountain_cableway:","category":"travel","emoji_order":"1657","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"aerial_tramway":{"unicode":"1f6a1","unicode_alt":"","code_decimal":"🚡","name":"aerial tramway","shortname":":aerial_tramway:","category":"travel","emoji_order":"1658","aliases":[],"aliases_ascii":[],"keywords":["transportation","travel","train"]},"rocket":{"unicode":"1f680","unicode_alt":"","code_decimal":"🚀","name":"rocket","shortname":":rocket:","category":"travel","emoji_order":"1659","aliases":[],"aliases_ascii":[],"keywords":["transportation","object","space","fly","blast"]},"satellite_orbital":{"unicode":"1f6f0","unicode_alt":"1f6f0-fe0f","code_decimal":"🛰","name":"satellite","shortname":":satellite_orbital:","category":"travel","emoji_order":"1660","aliases":[],"aliases_ascii":[],"keywords":["object"]},"bellhop":{"unicode":"1f6ce","unicode_alt":"1f6ce-fe0f","code_decimal":"🛎","name":"bellhop bell","shortname":":bellhop:","category":"objects","emoji_order":"1661","aliases":[":bellhop_bell:"],"aliases_ascii":[],"keywords":["object"]},"door":{"unicode":"1f6aa","unicode_alt":"","code_decimal":"🚪","name":"door","shortname":":door:","category":"objects","emoji_order":"1662","aliases":[],"aliases_ascii":[],"keywords":["object"]},"sleeping_accommodation":{"unicode":"1f6cc","unicode_alt":"","code_decimal":"🛌","name":"sleeping accommodation","shortname":":sleeping_accommodation:","category":"objects","emoji_order":"1663","aliases":[],"aliases_ascii":[],"keywords":["tired"]},"bed":{"unicode":"1f6cf","unicode_alt":"1f6cf-fe0f","code_decimal":"🛏","name":"bed","shortname":":bed:","category":"objects","emoji_order":"1669","aliases":[],"aliases_ascii":[],"keywords":["object","tired"]},"couch":{"unicode":"1f6cb","unicode_alt":"1f6cb-fe0f","code_decimal":"🛋","name":"couch and lamp","shortname":":couch:","category":"objects","emoji_order":"1670","aliases":[":couch_and_lamp:"],"aliases_ascii":[],"keywords":["object"]},"toilet":{"unicode":"1f6bd","unicode_alt":"","code_decimal":"🚽","name":"toilet","shortname":":toilet:","category":"objects","emoji_order":"1671","aliases":[],"aliases_ascii":[],"keywords":["object","bathroom"]},"shower":{"unicode":"1f6bf","unicode_alt":"","code_decimal":"🚿","name":"shower","shortname":":shower:","category":"objects","emoji_order":"1672","aliases":[],"aliases_ascii":[],"keywords":["object","bathroom"]},"bath":{"unicode":"1f6c0","unicode_alt":"","code_decimal":"🛀","name":"bath","shortname":":bath:","category":"activity","emoji_order":"1673","aliases":[],"aliases_ascii":[],"keywords":["bathroom","tired","diversity","steam"]},"bath_tone1":{"unicode":"1f6c0-1f3fb","unicode_alt":"","code_decimal":"🛀🏻","name":"bath tone 1","shortname":":bath_tone1:","category":"activity","emoji_order":"1674","aliases":[],"aliases_ascii":[],"keywords":[]},"bath_tone2":{"unicode":"1f6c0-1f3fc","unicode_alt":"","code_decimal":"🛀🏼","name":"bath tone 2","shortname":":bath_tone2:","category":"activity","emoji_order":"1675","aliases":[],"aliases_ascii":[],"keywords":[]},"bath_tone3":{"unicode":"1f6c0-1f3fd","unicode_alt":"","code_decimal":"🛀🏽","name":"bath tone 3","shortname":":bath_tone3:","category":"activity","emoji_order":"1676","aliases":[],"aliases_ascii":[],"keywords":[]},"bath_tone4":{"unicode":"1f6c0-1f3fe","unicode_alt":"","code_decimal":"🛀🏾","name":"bath tone 4","shortname":":bath_tone4:","category":"activity","emoji_order":"1677","aliases":[],"aliases_ascii":[],"keywords":[]},"bath_tone5":{"unicode":"1f6c0-1f3ff","unicode_alt":"","code_decimal":"🛀🏿","name":"bath tone 5","shortname":":bath_tone5:","category":"activity","emoji_order":"1678","aliases":[],"aliases_ascii":[],"keywords":[]},"bathtub":{"unicode":"1f6c1","unicode_alt":"","code_decimal":"🛁","name":"bathtub","shortname":":bathtub:","category":"objects","emoji_order":"1679","aliases":[],"aliases_ascii":[],"keywords":["object","bathroom","tired","steam"]},"hourglass":{"unicode":"231b","unicode_alt":"231b-fe0f","code_decimal":"⌛","name":"hourglass","shortname":":hourglass:","category":"objects","emoji_order":"1680","aliases":[],"aliases_ascii":[],"keywords":["object","time"]},"hourglass_flowing_sand":{"unicode":"23f3","unicode_alt":"","code_decimal":"⏳","name":"hourglass with flowing sand","shortname":":hourglass_flowing_sand:","category":"objects","emoji_order":"1681","aliases":[],"aliases_ascii":[],"keywords":["object","time"]},"watch":{"unicode":"231a","unicode_alt":"231a-fe0f","code_decimal":"⌚","name":"watch","shortname":":watch:","category":"objects","emoji_order":"1682","aliases":[],"aliases_ascii":[],"keywords":["electronics","time"]},"alarm_clock":{"unicode":"23f0","unicode_alt":"","code_decimal":"⏰","name":"alarm clock","shortname":":alarm_clock:","category":"objects","emoji_order":"1683","aliases":[],"aliases_ascii":[],"keywords":["object","time"]},"stopwatch":{"unicode":"23f1","unicode_alt":"23f1-fe0f","code_decimal":"⏱","name":"stopwatch","shortname":":stopwatch:","category":"objects","emoji_order":"1684","aliases":[],"aliases_ascii":[],"keywords":["electronics","time"]},"timer":{"unicode":"23f2","unicode_alt":"23f2-fe0f","code_decimal":"⏲","name":"timer clock","shortname":":timer:","category":"objects","emoji_order":"1685","aliases":[":timer_clock:"],"aliases_ascii":[],"keywords":["object","time"]},"clock":{"unicode":"1f570","unicode_alt":"1f570-fe0f","code_decimal":"🕰","name":"mantlepiece clock","shortname":":clock:","category":"objects","emoji_order":"1686","aliases":[":mantlepiece_clock:"],"aliases_ascii":[],"keywords":["object","time"]},"clock12":{"unicode":"1f55b","unicode_alt":"","code_decimal":"🕛","name":"clock face twelve oclock","shortname":":clock12:","category":"symbols","emoji_order":"1687","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock1230":{"unicode":"1f567","unicode_alt":"","code_decimal":"🕧","name":"clock face twelve-thirty","shortname":":clock1230:","category":"symbols","emoji_order":"1688","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock1":{"unicode":"1f550","unicode_alt":"","code_decimal":"🕐","name":"clock face one oclock","shortname":":clock1:","category":"symbols","emoji_order":"1689","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock130":{"unicode":"1f55c","unicode_alt":"","code_decimal":"🕜","name":"clock face one-thirty","shortname":":clock130:","category":"symbols","emoji_order":"1690","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock2":{"unicode":"1f551","unicode_alt":"","code_decimal":"🕑","name":"clock face two oclock","shortname":":clock2:","category":"symbols","emoji_order":"1691","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock230":{"unicode":"1f55d","unicode_alt":"","code_decimal":"🕝","name":"clock face two-thirty","shortname":":clock230:","category":"symbols","emoji_order":"1692","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock3":{"unicode":"1f552","unicode_alt":"","code_decimal":"🕒","name":"clock face three oclock","shortname":":clock3:","category":"symbols","emoji_order":"1693","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock330":{"unicode":"1f55e","unicode_alt":"","code_decimal":"🕞","name":"clock face three-thirty","shortname":":clock330:","category":"symbols","emoji_order":"1694","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock4":{"unicode":"1f553","unicode_alt":"","code_decimal":"🕓","name":"clock face four oclock","shortname":":clock4:","category":"symbols","emoji_order":"1695","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock430":{"unicode":"1f55f","unicode_alt":"","code_decimal":"🕟","name":"clock face four-thirty","shortname":":clock430:","category":"symbols","emoji_order":"1696","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock5":{"unicode":"1f554","unicode_alt":"","code_decimal":"🕔","name":"clock face five oclock","shortname":":clock5:","category":"symbols","emoji_order":"1697","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock530":{"unicode":"1f560","unicode_alt":"","code_decimal":"🕠","name":"clock face five-thirty","shortname":":clock530:","category":"symbols","emoji_order":"1698","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock6":{"unicode":"1f555","unicode_alt":"","code_decimal":"🕕","name":"clock face six oclock","shortname":":clock6:","category":"symbols","emoji_order":"1699","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock630":{"unicode":"1f561","unicode_alt":"","code_decimal":"🕡","name":"clock face six-thirty","shortname":":clock630:","category":"symbols","emoji_order":"1700","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock7":{"unicode":"1f556","unicode_alt":"","code_decimal":"🕖","name":"clock face seven oclock","shortname":":clock7:","category":"symbols","emoji_order":"1701","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock730":{"unicode":"1f562","unicode_alt":"","code_decimal":"🕢","name":"clock face seven-thirty","shortname":":clock730:","category":"symbols","emoji_order":"1702","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock8":{"unicode":"1f557","unicode_alt":"","code_decimal":"🕗","name":"clock face eight oclock","shortname":":clock8:","category":"symbols","emoji_order":"1703","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock830":{"unicode":"1f563","unicode_alt":"","code_decimal":"🕣","name":"clock face eight-thirty","shortname":":clock830:","category":"symbols","emoji_order":"1704","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock9":{"unicode":"1f558","unicode_alt":"","code_decimal":"🕘","name":"clock face nine oclock","shortname":":clock9:","category":"symbols","emoji_order":"1705","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock930":{"unicode":"1f564","unicode_alt":"","code_decimal":"🕤","name":"clock face nine-thirty","shortname":":clock930:","category":"symbols","emoji_order":"1706","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock10":{"unicode":"1f559","unicode_alt":"","code_decimal":"🕙","name":"clock face ten oclock","shortname":":clock10:","category":"symbols","emoji_order":"1707","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock1030":{"unicode":"1f565","unicode_alt":"","code_decimal":"🕥","name":"clock face ten-thirty","shortname":":clock1030:","category":"symbols","emoji_order":"1708","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock11":{"unicode":"1f55a","unicode_alt":"","code_decimal":"🕚","name":"clock face eleven oclock","shortname":":clock11:","category":"symbols","emoji_order":"1709","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"clock1130":{"unicode":"1f566","unicode_alt":"","code_decimal":"🕦","name":"clock face eleven-thirty","shortname":":clock1130:","category":"symbols","emoji_order":"1710","aliases":[],"aliases_ascii":[],"keywords":["symbol","time"]},"new_moon":{"unicode":"1f311","unicode_alt":"","code_decimal":"🌑","name":"new moon symbol","shortname":":new_moon:","category":"nature","emoji_order":"1711","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"waxing_crescent_moon":{"unicode":"1f312","unicode_alt":"","code_decimal":"🌒","name":"waxing crescent moon symbol","shortname":":waxing_crescent_moon:","category":"nature","emoji_order":"1712","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"first_quarter_moon":{"unicode":"1f313","unicode_alt":"","code_decimal":"🌓","name":"first quarter moon symbol","shortname":":first_quarter_moon:","category":"nature","emoji_order":"1713","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"waxing_gibbous_moon":{"unicode":"1f314","unicode_alt":"","code_decimal":"🌔","name":"waxing gibbous moon symbol","shortname":":waxing_gibbous_moon:","category":"nature","emoji_order":"1714","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"full_moon":{"unicode":"1f315","unicode_alt":"","code_decimal":"🌕","name":"full moon symbol","shortname":":full_moon:","category":"nature","emoji_order":"1715","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"waning_gibbous_moon":{"unicode":"1f316","unicode_alt":"","code_decimal":"🌖","name":"waning gibbous moon symbol","shortname":":waning_gibbous_moon:","category":"nature","emoji_order":"1716","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"last_quarter_moon":{"unicode":"1f317","unicode_alt":"","code_decimal":"🌗","name":"last quarter moon symbol","shortname":":last_quarter_moon:","category":"nature","emoji_order":"1717","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"waning_crescent_moon":{"unicode":"1f318","unicode_alt":"","code_decimal":"🌘","name":"waning crescent moon symbol","shortname":":waning_crescent_moon:","category":"nature","emoji_order":"1718","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"crescent_moon":{"unicode":"1f319","unicode_alt":"","code_decimal":"🌙","name":"crescent moon","shortname":":crescent_moon:","category":"nature","emoji_order":"1719","aliases":[],"aliases_ascii":[],"keywords":["space","sky","goodnight","moon"]},"new_moon_with_face":{"unicode":"1f31a","unicode_alt":"","code_decimal":"🌚","name":"new moon with face","shortname":":new_moon_with_face:","category":"nature","emoji_order":"1720","aliases":[],"aliases_ascii":[],"keywords":["space","sky","goodnight","moon"]},"first_quarter_moon_with_face":{"unicode":"1f31b","unicode_alt":"","code_decimal":"🌛","name":"first quarter moon with face","shortname":":first_quarter_moon_with_face:","category":"nature","emoji_order":"1721","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"last_quarter_moon_with_face":{"unicode":"1f31c","unicode_alt":"","code_decimal":"🌜","name":"last quarter moon with face","shortname":":last_quarter_moon_with_face:","category":"nature","emoji_order":"1722","aliases":[],"aliases_ascii":[],"keywords":["space","sky","moon"]},"thermometer":{"unicode":"1f321","unicode_alt":"1f321-fe0f","code_decimal":"🌡","name":"thermometer","shortname":":thermometer:","category":"objects","emoji_order":"1723","aliases":[],"aliases_ascii":[],"keywords":["object","science","health","hot"]},"sunny":{"unicode":"2600","unicode_alt":"2600-fe0f","code_decimal":"☀","name":"black sun with rays","shortname":":sunny:","category":"nature","emoji_order":"1724","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","day","sun","hot","morning"]},"full_moon_with_face":{"unicode":"1f31d","unicode_alt":"","code_decimal":"🌝","name":"full moon with face","shortname":":full_moon_with_face:","category":"nature","emoji_order":"1725","aliases":[],"aliases_ascii":[],"keywords":["space","sky","goodnight","moon"]},"sun_with_face":{"unicode":"1f31e","unicode_alt":"","code_decimal":"🌞","name":"sun with face","shortname":":sun_with_face:","category":"nature","emoji_order":"1726","aliases":[],"aliases_ascii":[],"keywords":["sky","day","sun","hump day","morning"]},"star":{"unicode":"2b50","unicode_alt":"2b50-fe0f","code_decimal":"⭐","name":"white medium star","shortname":":star:","category":"nature","emoji_order":"1727","aliases":[],"aliases_ascii":[],"keywords":["space","sky","star"]},"star2":{"unicode":"1f31f","unicode_alt":"","code_decimal":"🌟","name":"glowing star","shortname":":star2:","category":"nature","emoji_order":"1728","aliases":[],"aliases_ascii":[],"keywords":["space","sky","star"]},"stars":{"unicode":"1f320","unicode_alt":"","code_decimal":"🌠","name":"shooting star","shortname":":stars:","category":"travel","emoji_order":"1729","aliases":[],"aliases_ascii":[],"keywords":["space"]},"cloud":{"unicode":"2601","unicode_alt":"2601-fe0f","code_decimal":"☁","name":"cloud","shortname":":cloud:","category":"nature","emoji_order":"1730","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","cloud","cold","rain"]},"partly_sunny":{"unicode":"26c5","unicode_alt":"26c5-fe0f","code_decimal":"⛅","name":"sun behind cloud","shortname":":partly_sunny:","category":"nature","emoji_order":"1731","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","cloud","sun"]},"thunder_cloud_rain":{"unicode":"26c8","unicode_alt":"26c8-fe0f","code_decimal":"⛈","name":"thunder cloud and rain","shortname":":thunder_cloud_rain:","category":"nature","emoji_order":"1732","aliases":[":thunder_cloud_and_rain:"],"aliases_ascii":[],"keywords":["weather","sky","cloud","cold","rain"]},"white_sun_small_cloud":{"unicode":"1f324","unicode_alt":"1f324-fe0f","code_decimal":"🌤","name":"white sun with small cloud","shortname":":white_sun_small_cloud:","category":"nature","emoji_order":"1733","aliases":[":white_sun_with_small_cloud:"],"aliases_ascii":[],"keywords":["weather","sky","cloud","sun"]},"white_sun_cloud":{"unicode":"1f325","unicode_alt":"1f325-fe0f","code_decimal":"🌥","name":"white sun behind cloud","shortname":":white_sun_cloud:","category":"nature","emoji_order":"1734","aliases":[":white_sun_behind_cloud:"],"aliases_ascii":[],"keywords":["weather","sky","cloud","cold","sun"]},"white_sun_rain_cloud":{"unicode":"1f326","unicode_alt":"1f326-fe0f","code_decimal":"🌦","name":"white sun behind cloud with rain","shortname":":white_sun_rain_cloud:","category":"nature","emoji_order":"1735","aliases":[":white_sun_behind_cloud_with_rain:"],"aliases_ascii":[],"keywords":["weather","sky","cloud","cold","rain","sun"]},"cloud_rain":{"unicode":"1f327","unicode_alt":"1f327-fe0f","code_decimal":"🌧","name":"cloud with rain","shortname":":cloud_rain:","category":"nature","emoji_order":"1736","aliases":[":cloud_with_rain:"],"aliases_ascii":[],"keywords":["weather","winter","sky","cloud","cold","rain"]},"cloud_snow":{"unicode":"1f328","unicode_alt":"1f328-fe0f","code_decimal":"🌨","name":"cloud with snow","shortname":":cloud_snow:","category":"nature","emoji_order":"1737","aliases":[":cloud_with_snow:"],"aliases_ascii":[],"keywords":["weather","winter","sky","cloud","cold","snow"]},"cloud_lightning":{"unicode":"1f329","unicode_alt":"1f329-fe0f","code_decimal":"🌩","name":"cloud with lightning","shortname":":cloud_lightning:","category":"nature","emoji_order":"1738","aliases":[":cloud_with_lightning:"],"aliases_ascii":[],"keywords":["weather","sky","cloud","cold","rain"]},"cloud_tornado":{"unicode":"1f32a","unicode_alt":"1f32a-fe0f","code_decimal":"🌪","name":"cloud with tornado","shortname":":cloud_tornado:","category":"nature","emoji_order":"1739","aliases":[":cloud_with_tornado:"],"aliases_ascii":[],"keywords":["weather","sky","cold"]},"fog":{"unicode":"1f32b","unicode_alt":"1f32b-fe0f","code_decimal":"🌫","name":"fog","shortname":":fog:","category":"nature","emoji_order":"1740","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","cold"]},"wind_blowing_face":{"unicode":"1f32c","unicode_alt":"1f32c-fe0f","code_decimal":"🌬","name":"wind blowing face","shortname":":wind_blowing_face:","category":"nature","emoji_order":"1741","aliases":[],"aliases_ascii":[],"keywords":["weather","cold"]},"cyclone":{"unicode":"1f300","unicode_alt":"","code_decimal":"🌀","name":"cyclone","shortname":":cyclone:","category":"symbols","emoji_order":"1742","aliases":[],"aliases_ascii":[],"keywords":["symbol","drugs"]},"rainbow":{"unicode":"1f308","unicode_alt":"","code_decimal":"🌈","name":"rainbow","shortname":":rainbow:","category":"travel","emoji_order":"1743","aliases":[],"aliases_ascii":[],"keywords":["weather","gay","sky","rain"]},"closed_umbrella":{"unicode":"1f302","unicode_alt":"","code_decimal":"🌂","name":"closed umbrella","shortname":":closed_umbrella:","category":"people","emoji_order":"1744","aliases":[],"aliases_ascii":[],"keywords":["object","sky","rain","accessories"]},"umbrella2":{"unicode":"2602","unicode_alt":"2602-fe0f","code_decimal":"☂","name":"umbrella","shortname":":umbrella2:","category":"nature","emoji_order":"1745","aliases":[],"aliases_ascii":[],"keywords":["weather","object","sky","cold"]},"umbrella":{"unicode":"2614","unicode_alt":"2614-fe0f","code_decimal":"☔","name":"umbrella with rain drops","shortname":":umbrella:","category":"nature","emoji_order":"1746","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","cold","rain"]},"beach_umbrella":{"unicode":"26f1","unicode_alt":"26f1-fe0f","code_decimal":"⛱","name":"umbrella on ground","shortname":":beach_umbrella:","category":"objects","emoji_order":"1747","aliases":[":umbrella_on_ground:"],"aliases_ascii":[],"keywords":["travel","vacation","tropical"]},"zap":{"unicode":"26a1","unicode_alt":"26a1-fe0f","code_decimal":"⚡","name":"high voltage sign","shortname":":zap:","category":"nature","emoji_order":"1748","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","diarrhea"]},"snowflake":{"unicode":"2744","unicode_alt":"2744-fe0f","code_decimal":"❄","name":"snowflake","shortname":":snowflake:","category":"nature","emoji_order":"1749","aliases":[],"aliases_ascii":[],"keywords":["weather","winter","sky","holidays","cold","snow"]},"snowman2":{"unicode":"2603","unicode_alt":"2603-fe0f","code_decimal":"☃","name":"snowman","shortname":":snowman2:","category":"nature","emoji_order":"1750","aliases":[],"aliases_ascii":[],"keywords":["weather","winter","holidays","christmas","cold","snow"]},"snowman":{"unicode":"26c4","unicode_alt":"26c4-fe0f","code_decimal":"⛄","name":"snowman without snow","shortname":":snowman:","category":"nature","emoji_order":"1751","aliases":[],"aliases_ascii":[],"keywords":["weather","winter","holidays","cold","snow"]},"comet":{"unicode":"2604","unicode_alt":"2604-fe0f","code_decimal":"☄","name":"comet","shortname":":comet:","category":"nature","emoji_order":"1752","aliases":[],"aliases_ascii":[],"keywords":["space","sky"]},"fire":{"unicode":"1f525","unicode_alt":"","code_decimal":"🔥","name":"fire","shortname":":fire:","category":"nature","emoji_order":"1753","aliases":[":flame:"],"aliases_ascii":[],"keywords":["wth","hot"]},"droplet":{"unicode":"1f4a7","unicode_alt":"","code_decimal":"💧","name":"droplet","shortname":":droplet:","category":"nature","emoji_order":"1754","aliases":[],"aliases_ascii":[],"keywords":["weather","sky","rain"]},"ocean":{"unicode":"1f30a","unicode_alt":"","code_decimal":"🌊","name":"water wave","shortname":":ocean:","category":"nature","emoji_order":"1755","aliases":[],"aliases_ascii":[],"keywords":["weather","boat","tropical","swim"]},"jack_o_lantern":{"unicode":"1f383","unicode_alt":"","code_decimal":"🎃","name":"jack-o-lantern","shortname":":jack_o_lantern:","category":"nature","emoji_order":"1756","aliases":[],"aliases_ascii":[],"keywords":["holidays","halloween"]},"christmas_tree":{"unicode":"1f384","unicode_alt":"","code_decimal":"🎄","name":"christmas tree","shortname":":christmas_tree:","category":"nature","emoji_order":"1757","aliases":[],"aliases_ascii":[],"keywords":["plant","holidays","christmas","trees"]},"fireworks":{"unicode":"1f386","unicode_alt":"","code_decimal":"🎆","name":"fireworks","shortname":":fireworks:","category":"travel","emoji_order":"1758","aliases":[],"aliases_ascii":[],"keywords":["parties"]},"sparkler":{"unicode":"1f387","unicode_alt":"","code_decimal":"🎇","name":"firework sparkler","shortname":":sparkler:","category":"travel","emoji_order":"1759","aliases":[],"aliases_ascii":[],"keywords":["parties"]},"sparkles":{"unicode":"2728","unicode_alt":"","code_decimal":"✨","name":"sparkles","shortname":":sparkles:","category":"nature","emoji_order":"1760","aliases":[],"aliases_ascii":[],"keywords":["star","girls night"]},"balloon":{"unicode":"1f388","unicode_alt":"","code_decimal":"🎈","name":"balloon","shortname":":balloon:","category":"objects","emoji_order":"1761","aliases":[],"aliases_ascii":[],"keywords":["object","birthday","good","parties"]},"tada":{"unicode":"1f389","unicode_alt":"","code_decimal":"🎉","name":"party popper","shortname":":tada:","category":"objects","emoji_order":"1762","aliases":[],"aliases_ascii":[],"keywords":["object","birthday","holidays","cheers","good","girls night","boys night","parties"]},"confetti_ball":{"unicode":"1f38a","unicode_alt":"","code_decimal":"🎊","name":"confetti ball","shortname":":confetti_ball:","category":"objects","emoji_order":"1763","aliases":[],"aliases_ascii":[],"keywords":["object","birthday","holidays","cheers","girls night","boys night","parties"]},"tanabata_tree":{"unicode":"1f38b","unicode_alt":"","code_decimal":"🎋","name":"tanabata tree","shortname":":tanabata_tree:","category":"nature","emoji_order":"1764","aliases":[],"aliases_ascii":[],"keywords":["nature","plant","trees"]},"bamboo":{"unicode":"1f38d","unicode_alt":"","code_decimal":"🎍","name":"pine decoration","shortname":":bamboo:","category":"nature","emoji_order":"1765","aliases":[],"aliases_ascii":[],"keywords":["nature","plant"]},"dolls":{"unicode":"1f38e","unicode_alt":"","code_decimal":"🎎","name":"japanese dolls","shortname":":dolls:","category":"objects","emoji_order":"1766","aliases":[],"aliases_ascii":[],"keywords":["people","japan"]},"flags":{"unicode":"1f38f","unicode_alt":"","code_decimal":"🎏","name":"carp streamer","shortname":":flags:","category":"objects","emoji_order":"1767","aliases":[],"aliases_ascii":[],"keywords":["object","japan"]},"wind_chime":{"unicode":"1f390","unicode_alt":"","code_decimal":"🎐","name":"wind chime","shortname":":wind_chime:","category":"objects","emoji_order":"1768","aliases":[],"aliases_ascii":[],"keywords":["object","japan"]},"rice_scene":{"unicode":"1f391","unicode_alt":"","code_decimal":"🎑","name":"moon viewing ceremony","shortname":":rice_scene:","category":"travel","emoji_order":"1769","aliases":[],"aliases_ascii":[],"keywords":["places","space","sky","travel"]},"ribbon":{"unicode":"1f380","unicode_alt":"","code_decimal":"🎀","name":"ribbon","shortname":":ribbon:","category":"objects","emoji_order":"1770","aliases":[],"aliases_ascii":[],"keywords":["object","gift","birthday"]},"gift":{"unicode":"1f381","unicode_alt":"","code_decimal":"🎁","name":"wrapped present","shortname":":gift:","category":"objects","emoji_order":"1771","aliases":[],"aliases_ascii":[],"keywords":["object","gift","birthday","holidays","christmas","parties"]},"reminder_ribbon":{"unicode":"1f397","unicode_alt":"1f397-fe0f","code_decimal":"🎗","name":"reminder ribbon","shortname":":reminder_ribbon:","category":"activity","emoji_order":"1772","aliases":[],"aliases_ascii":[],"keywords":["award"]},"tickets":{"unicode":"1f39f","unicode_alt":"1f39f-fe0f","code_decimal":"🎟","name":"admission tickets","shortname":":tickets:","category":"activity","emoji_order":"1773","aliases":[":admission_tickets:"],"aliases_ascii":[],"keywords":["theatre","movie","parties"]},"ticket":{"unicode":"1f3ab","unicode_alt":"","code_decimal":"🎫","name":"ticket","shortname":":ticket:","category":"activity","emoji_order":"1774","aliases":[],"aliases_ascii":[],"keywords":["theatre","movie","parties"]},"military_medal":{"unicode":"1f396","unicode_alt":"1f396-fe0f","code_decimal":"🎖","name":"military medal","shortname":":military_medal:","category":"activity","emoji_order":"1775","aliases":[],"aliases_ascii":[],"keywords":["object","award","win"]},"trophy":{"unicode":"1f3c6","unicode_alt":"","code_decimal":"🏆","name":"trophy","shortname":":trophy:","category":"activity","emoji_order":"1776","aliases":[],"aliases_ascii":[],"keywords":["object","game","award","win","perfect","parties"]},"medal":{"unicode":"1f3c5","unicode_alt":"","code_decimal":"🏅","name":"sports medal","shortname":":medal:","category":"activity","emoji_order":"1777","aliases":[":sports_medal:"],"aliases_ascii":[],"keywords":["object","award","sport","win","perfect"]},"first_place":{"unicode":"1f947","unicode_alt":"","code_decimal":"🥇","name":"first place medal","shortname":":first_place:","category":"activity","emoji_order":"1778","aliases":[":first_place_medal:"],"aliases_ascii":[],"keywords":[]},"second_place":{"unicode":"1f948","unicode_alt":"","code_decimal":"🥈","name":"second place medal","shortname":":second_place:","category":"activity","emoji_order":"1779","aliases":[":second_place_medal:"],"aliases_ascii":[],"keywords":[]},"third_place":{"unicode":"1f949","unicode_alt":"","code_decimal":"🥉","name":"third place medal","shortname":":third_place:","category":"activity","emoji_order":"1780","aliases":[":third_place_medal:"],"aliases_ascii":[],"keywords":[]},"soccer":{"unicode":"26bd","unicode_alt":"26bd-fe0f","code_decimal":"⚽","name":"soccer ball","shortname":":soccer:","category":"activity","emoji_order":"1781","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","soccer","football"]},"baseball":{"unicode":"26be","unicode_alt":"26be-fe0f","code_decimal":"⚾","name":"baseball","shortname":":baseball:","category":"activity","emoji_order":"1782","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","baseball"]},"basketball":{"unicode":"1f3c0","unicode_alt":"","code_decimal":"🏀","name":"basketball and hoop","shortname":":basketball:","category":"activity","emoji_order":"1783","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","basketball"]},"volleyball":{"unicode":"1f3d0","unicode_alt":"","code_decimal":"🏐","name":"volleyball","shortname":":volleyball:","category":"activity","emoji_order":"1784","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","volleyball"]},"football":{"unicode":"1f3c8","unicode_alt":"","code_decimal":"🏈","name":"american football","shortname":":football:","category":"activity","emoji_order":"1785","aliases":[],"aliases_ascii":[],"keywords":["america","game","ball","sport","football"]},"rugby_football":{"unicode":"1f3c9","unicode_alt":"","code_decimal":"🏉","name":"rugby football","shortname":":rugby_football:","category":"activity","emoji_order":"1786","aliases":[],"aliases_ascii":[],"keywords":["game","sport","football"]},"tennis":{"unicode":"1f3be","unicode_alt":"","code_decimal":"🎾","name":"tennis racquet and ball","shortname":":tennis:","category":"activity","emoji_order":"1787","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","tennis"]},"8ball":{"unicode":"1f3b1","unicode_alt":"","code_decimal":"🎱","name":"billiards","shortname":":8ball:","category":"activity","emoji_order":"1788","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","billiards","luck","boys night"]},"bowling":{"unicode":"1f3b3","unicode_alt":"","code_decimal":"🎳","name":"bowling","shortname":":bowling:","category":"activity","emoji_order":"1789","aliases":[],"aliases_ascii":[],"keywords":["game","ball","sport","boys night"]},"cricket":{"unicode":"1f3cf","unicode_alt":"","code_decimal":"🏏","name":"cricket bat and ball","shortname":":cricket:","category":"activity","emoji_order":"1790","aliases":[":cricket_bat_ball:"],"aliases_ascii":[],"keywords":["ball","sport","cricket"]},"field_hockey":{"unicode":"1f3d1","unicode_alt":"","code_decimal":"🏑","name":"field hockey stick and ball","shortname":":field_hockey:","category":"activity","emoji_order":"1791","aliases":[],"aliases_ascii":[],"keywords":["ball","sport","hockey"]},"hockey":{"unicode":"1f3d2","unicode_alt":"","code_decimal":"🏒","name":"ice hockey stick and puck","shortname":":hockey:","category":"activity","emoji_order":"1792","aliases":[],"aliases_ascii":[],"keywords":["game","sport","hockey"]},"ping_pong":{"unicode":"1f3d3","unicode_alt":"","code_decimal":"🏓","name":"table tennis paddle and ball","shortname":":ping_pong:","category":"activity","emoji_order":"1793","aliases":[":table_tennis:"],"aliases_ascii":[],"keywords":["game","ball","sport","ping pong"]},"badminton":{"unicode":"1f3f8","unicode_alt":"","code_decimal":"🏸","name":"badminton racquet","shortname":":badminton:","category":"activity","emoji_order":"1794","aliases":[],"aliases_ascii":[],"keywords":["game","sport","badminton"]},"boxing_glove":{"unicode":"1f94a","unicode_alt":"","code_decimal":"🥊","name":"boxing glove","shortname":":boxing_glove:","category":"activity","emoji_order":"1795","aliases":[":boxing_gloves:"],"aliases_ascii":[],"keywords":[]},"martial_arts_uniform":{"unicode":"1f94b","unicode_alt":"","code_decimal":"🥋","name":"martial arts uniform","shortname":":martial_arts_uniform:","category":"activity","emoji_order":"1796","aliases":[":karate_uniform:"],"aliases_ascii":[],"keywords":[]},"goal":{"unicode":"1f945","unicode_alt":"","code_decimal":"🥅","name":"goal net","shortname":":goal:","category":"activity","emoji_order":"1797","aliases":[":goal_net:"],"aliases_ascii":[],"keywords":[]},"dart":{"unicode":"1f3af","unicode_alt":"","code_decimal":"🎯","name":"direct hit","shortname":":dart:","category":"activity","emoji_order":"1798","aliases":[],"aliases_ascii":[],"keywords":["game","sport","boys night"]},"golf":{"unicode":"26f3","unicode_alt":"26f3-fe0f","code_decimal":"⛳","name":"flag in hole","shortname":":golf:","category":"activity","emoji_order":"1799","aliases":[],"aliases_ascii":[],"keywords":["game","ball","vacation","sport","golf"]},"ice_skate":{"unicode":"26f8","unicode_alt":"26f8-fe0f","code_decimal":"⛸","name":"ice skate","shortname":":ice_skate:","category":"activity","emoji_order":"1800","aliases":[],"aliases_ascii":[],"keywords":["cold","sport","ice skating"]},"fishing_pole_and_fish":{"unicode":"1f3a3","unicode_alt":"","code_decimal":"🎣","name":"fishing pole and fish","shortname":":fishing_pole_and_fish:","category":"activity","emoji_order":"1801","aliases":[],"aliases_ascii":[],"keywords":["vacation","sport","fishing"]},"running_shirt_with_sash":{"unicode":"1f3bd","unicode_alt":"","code_decimal":"🎽","name":"running shirt with sash","shortname":":running_shirt_with_sash:","category":"activity","emoji_order":"1802","aliases":[],"aliases_ascii":[],"keywords":["award"]},"ski":{"unicode":"1f3bf","unicode_alt":"","code_decimal":"🎿","name":"ski and ski boot","shortname":":ski:","category":"activity","emoji_order":"1803","aliases":[],"aliases_ascii":[],"keywords":["cold","sport","skiing"]},"video_game":{"unicode":"1f3ae","unicode_alt":"","code_decimal":"🎮","name":"video game","shortname":":video_game:","category":"activity","emoji_order":"1804","aliases":[],"aliases_ascii":[],"keywords":["electronics","game","boys night"]},"joystick":{"unicode":"1f579","unicode_alt":"1f579-fe0f","code_decimal":"🕹","name":"joystick","shortname":":joystick:","category":"objects","emoji_order":"1805","aliases":[],"aliases_ascii":[],"keywords":["electronics","game","boys night"]},"game_die":{"unicode":"1f3b2","unicode_alt":"","code_decimal":"🎲","name":"game die","shortname":":game_die:","category":"activity","emoji_order":"1806","aliases":[],"aliases_ascii":[],"keywords":["object","game","boys night"]},"spades":{"unicode":"2660","unicode_alt":"2660-fe0f","code_decimal":"♠","name":"black spade suit","shortname":":spades:","category":"symbols","emoji_order":"1807","aliases":[],"aliases_ascii":[],"keywords":["symbol","game"]},"hearts":{"unicode":"2665","unicode_alt":"2665-fe0f","code_decimal":"♥","name":"black heart suit","shortname":":hearts:","category":"symbols","emoji_order":"1808","aliases":[],"aliases_ascii":[],"keywords":["love","symbol","game"]},"diamonds":{"unicode":"2666","unicode_alt":"2666-fe0f","code_decimal":"♦","name":"black diamond suit","shortname":":diamonds:","category":"symbols","emoji_order":"1809","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","game"]},"clubs":{"unicode":"2663","unicode_alt":"2663-fe0f","code_decimal":"♣","name":"black club suit","shortname":":clubs:","category":"symbols","emoji_order":"1810","aliases":[],"aliases_ascii":[],"keywords":["symbol","game"]},"black_joker":{"unicode":"1f0cf","unicode_alt":"","code_decimal":"🃏","name":"playing card black joker","shortname":":black_joker:","category":"symbols","emoji_order":"1811","aliases":[],"aliases_ascii":[],"keywords":["object","symbol","game"]},"mahjong":{"unicode":"1f004","unicode_alt":"1f004-fe0f","code_decimal":"🀄","name":"mahjong tile red dragon","shortname":":mahjong:","category":"symbols","emoji_order":"1812","aliases":[],"aliases_ascii":[],"keywords":["object","symbol","game"]},"flower_playing_cards":{"unicode":"1f3b4","unicode_alt":"","code_decimal":"🎴","name":"flower playing cards","shortname":":flower_playing_cards:","category":"symbols","emoji_order":"1813","aliases":[],"aliases_ascii":[],"keywords":["object","symbol"]},"mute":{"unicode":"1f507","unicode_alt":"","code_decimal":"🔇","name":"speaker with cancellation stroke","shortname":":mute:","category":"symbols","emoji_order":"1814","aliases":[],"aliases_ascii":[],"keywords":["alarm","symbol"]},"speaker":{"unicode":"1f508","unicode_alt":"","code_decimal":"🔈","name":"speaker","shortname":":speaker:","category":"symbols","emoji_order":"1815","aliases":[],"aliases_ascii":[],"keywords":["alarm","symbol"]},"sound":{"unicode":"1f509","unicode_alt":"","code_decimal":"🔉","name":"speaker with one sound wave","shortname":":sound:","category":"symbols","emoji_order":"1816","aliases":[],"aliases_ascii":[],"keywords":["alarm","symbol"]},"loud_sound":{"unicode":"1f50a","unicode_alt":"","code_decimal":"🔊","name":"speaker with three sound waves","shortname":":loud_sound:","category":"symbols","emoji_order":"1817","aliases":[],"aliases_ascii":[],"keywords":["alarm","symbol"]},"loudspeaker":{"unicode":"1f4e2","unicode_alt":"","code_decimal":"📢","name":"public address loudspeaker","shortname":":loudspeaker:","category":"symbols","emoji_order":"1818","aliases":[],"aliases_ascii":[],"keywords":["object","alarm","symbol"]},"mega":{"unicode":"1f4e3","unicode_alt":"","code_decimal":"📣","name":"cheering megaphone","shortname":":mega:","category":"symbols","emoji_order":"1819","aliases":[],"aliases_ascii":[],"keywords":["object","sport"]},"postal_horn":{"unicode":"1f4ef","unicode_alt":"","code_decimal":"📯","name":"postal horn","shortname":":postal_horn:","category":"objects","emoji_order":"1820","aliases":[],"aliases_ascii":[],"keywords":["object"]},"bell":{"unicode":"1f514","unicode_alt":"","code_decimal":"🔔","name":"bell","shortname":":bell:","category":"symbols","emoji_order":"1821","aliases":[],"aliases_ascii":[],"keywords":["object","alarm","symbol"]},"no_bell":{"unicode":"1f515","unicode_alt":"","code_decimal":"🔕","name":"bell with cancellation stroke","shortname":":no_bell:","category":"symbols","emoji_order":"1822","aliases":[],"aliases_ascii":[],"keywords":["alarm","symbol"]},"musical_score":{"unicode":"1f3bc","unicode_alt":"","code_decimal":"🎼","name":"musical score","shortname":":musical_score:","category":"activity","emoji_order":"1823","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"musical_note":{"unicode":"1f3b5","unicode_alt":"","code_decimal":"🎵","name":"musical note","shortname":":musical_note:","category":"symbols","emoji_order":"1824","aliases":[],"aliases_ascii":[],"keywords":["instruments","symbol"]},"notes":{"unicode":"1f3b6","unicode_alt":"","code_decimal":"🎶","name":"multiple musical notes","shortname":":notes:","category":"symbols","emoji_order":"1825","aliases":[],"aliases_ascii":[],"keywords":["instruments","symbol"]},"microphone2":{"unicode":"1f399","unicode_alt":"1f399-fe0f","code_decimal":"🎙","name":"studio microphone","shortname":":microphone2:","category":"objects","emoji_order":"1826","aliases":[":studio_microphone:"],"aliases_ascii":[],"keywords":["electronics","object"]},"level_slider":{"unicode":"1f39a","unicode_alt":"1f39a-fe0f","code_decimal":"🎚","name":"level slider","shortname":":level_slider:","category":"objects","emoji_order":"1827","aliases":[],"aliases_ascii":[],"keywords":[]},"control_knobs":{"unicode":"1f39b","unicode_alt":"1f39b-fe0f","code_decimal":"🎛","name":"control knobs","shortname":":control_knobs:","category":"objects","emoji_order":"1828","aliases":[],"aliases_ascii":[],"keywords":["time"]},"microphone":{"unicode":"1f3a4","unicode_alt":"","code_decimal":"🎤","name":"microphone","shortname":":microphone:","category":"activity","emoji_order":"1829","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"headphones":{"unicode":"1f3a7","unicode_alt":"","code_decimal":"🎧","name":"headphone","shortname":":headphones:","category":"activity","emoji_order":"1830","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"radio":{"unicode":"1f4fb","unicode_alt":"","code_decimal":"📻","name":"radio","shortname":":radio:","category":"objects","emoji_order":"1831","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"saxophone":{"unicode":"1f3b7","unicode_alt":"","code_decimal":"🎷","name":"saxophone","shortname":":saxophone:","category":"activity","emoji_order":"1832","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"guitar":{"unicode":"1f3b8","unicode_alt":"","code_decimal":"🎸","name":"guitar","shortname":":guitar:","category":"activity","emoji_order":"1833","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"musical_keyboard":{"unicode":"1f3b9","unicode_alt":"","code_decimal":"🎹","name":"musical keyboard","shortname":":musical_keyboard:","category":"activity","emoji_order":"1834","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"trumpet":{"unicode":"1f3ba","unicode_alt":"","code_decimal":"🎺","name":"trumpet","shortname":":trumpet:","category":"activity","emoji_order":"1835","aliases":[],"aliases_ascii":[],"keywords":["instruments"]},"violin":{"unicode":"1f3bb","unicode_alt":"","code_decimal":"🎻","name":"violin","shortname":":violin:","category":"activity","emoji_order":"1836","aliases":[],"aliases_ascii":[],"keywords":["instruments","sarcastic"]},"drum":{"unicode":"1f941","unicode_alt":"","code_decimal":"🥁","name":"drum with drumsticks","shortname":":drum:","category":"activity","emoji_order":"1837","aliases":[":drum_with_drumsticks:"],"aliases_ascii":[],"keywords":[]},"iphone":{"unicode":"1f4f1","unicode_alt":"","code_decimal":"📱","name":"mobile phone","shortname":":iphone:","category":"objects","emoji_order":"1838","aliases":[],"aliases_ascii":[],"keywords":["electronics","phone","selfie"]},"calling":{"unicode":"1f4f2","unicode_alt":"","code_decimal":"📲","name":"mobile phone with rightwards arrow at left","shortname":":calling:","category":"objects","emoji_order":"1839","aliases":[],"aliases_ascii":[],"keywords":["electronics","phone","selfie"]},"telephone":{"unicode":"260e","unicode_alt":"260e-fe0f","code_decimal":"☎","name":"black telephone","shortname":":telephone:","category":"objects","emoji_order":"1840","aliases":[],"aliases_ascii":[],"keywords":["electronics","phone"]},"telephone_receiver":{"unicode":"1f4de","unicode_alt":"","code_decimal":"📞","name":"telephone receiver","shortname":":telephone_receiver:","category":"objects","emoji_order":"1841","aliases":[],"aliases_ascii":[],"keywords":["electronics","phone"]},"pager":{"unicode":"1f4df","unicode_alt":"","code_decimal":"📟","name":"pager","shortname":":pager:","category":"objects","emoji_order":"1842","aliases":[],"aliases_ascii":[],"keywords":["electronics","work"]},"fax":{"unicode":"1f4e0","unicode_alt":"","code_decimal":"📠","name":"fax machine","shortname":":fax:","category":"objects","emoji_order":"1843","aliases":[],"aliases_ascii":[],"keywords":["electronics","work","office"]},"battery":{"unicode":"1f50b","unicode_alt":"","code_decimal":"🔋","name":"battery","shortname":":battery:","category":"objects","emoji_order":"1844","aliases":[],"aliases_ascii":[],"keywords":["object"]},"electric_plug":{"unicode":"1f50c","unicode_alt":"","code_decimal":"🔌","name":"electric plug","shortname":":electric_plug:","category":"objects","emoji_order":"1845","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"computer":{"unicode":"1f4bb","unicode_alt":"","code_decimal":"💻","name":"personal computer","shortname":":computer:","category":"objects","emoji_order":"1846","aliases":[],"aliases_ascii":[],"keywords":["electronics","work","office"]},"desktop":{"unicode":"1f5a5","unicode_alt":"1f5a5-fe0f","code_decimal":"🖥","name":"desktop computer","shortname":":desktop:","category":"objects","emoji_order":"1847","aliases":[":desktop_computer:"],"aliases_ascii":[],"keywords":["electronics","work"]},"printer":{"unicode":"1f5a8","unicode_alt":"1f5a8-fe0f","code_decimal":"🖨","name":"printer","shortname":":printer:","category":"objects","emoji_order":"1848","aliases":[],"aliases_ascii":[],"keywords":["electronics","work","office"]},"keyboard":{"unicode":"2328","unicode_alt":"2328-fe0f","code_decimal":"⌨","name":"keyboard","shortname":":keyboard:","category":"objects","emoji_order":"1849","aliases":[],"aliases_ascii":[],"keywords":["electronics","work","office"]},"mouse_three_button":{"unicode":"1f5b1","unicode_alt":"1f5b1-fe0f","code_decimal":"🖱","name":"three button mouse","shortname":":mouse_three_button:","category":"objects","emoji_order":"1850","aliases":[":three_button_mouse:"],"aliases_ascii":[],"keywords":["electronics","work","game","office"]},"trackball":{"unicode":"1f5b2","unicode_alt":"1f5b2-fe0f","code_decimal":"🖲","name":"trackball","shortname":":trackball:","category":"objects","emoji_order":"1851","aliases":[],"aliases_ascii":[],"keywords":["electronics","work","game","office"]},"minidisc":{"unicode":"1f4bd","unicode_alt":"","code_decimal":"💽","name":"minidisc","shortname":":minidisc:","category":"objects","emoji_order":"1852","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"floppy_disk":{"unicode":"1f4be","unicode_alt":"","code_decimal":"💾","name":"floppy disk","shortname":":floppy_disk:","category":"objects","emoji_order":"1853","aliases":[],"aliases_ascii":[],"keywords":["electronics","office"]},"cd":{"unicode":"1f4bf","unicode_alt":"","code_decimal":"💿","name":"optical disc","shortname":":cd:","category":"objects","emoji_order":"1854","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"dvd":{"unicode":"1f4c0","unicode_alt":"","code_decimal":"📀","name":"dvd","shortname":":dvd:","category":"objects","emoji_order":"1855","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"movie_camera":{"unicode":"1f3a5","unicode_alt":"","code_decimal":"🎥","name":"movie camera","shortname":":movie_camera:","category":"objects","emoji_order":"1856","aliases":[],"aliases_ascii":[],"keywords":["object","camera","movie"]},"film_frames":{"unicode":"1f39e","unicode_alt":"1f39e-fe0f","code_decimal":"🎞","name":"film frames","shortname":":film_frames:","category":"objects","emoji_order":"1857","aliases":[],"aliases_ascii":[],"keywords":["object","camera","movie"]},"projector":{"unicode":"1f4fd","unicode_alt":"1f4fd-fe0f","code_decimal":"📽","name":"film projector","shortname":":projector:","category":"objects","emoji_order":"1858","aliases":[":film_projector:"],"aliases_ascii":[],"keywords":["object","camera","movie"]},"clapper":{"unicode":"1f3ac","unicode_alt":"","code_decimal":"🎬","name":"clapper board","shortname":":clapper:","category":"activity","emoji_order":"1859","aliases":[],"aliases_ascii":[],"keywords":["movie"]},"tv":{"unicode":"1f4fa","unicode_alt":"","code_decimal":"📺","name":"television","shortname":":tv:","category":"objects","emoji_order":"1860","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"camera":{"unicode":"1f4f7","unicode_alt":"","code_decimal":"📷","name":"camera","shortname":":camera:","category":"objects","emoji_order":"1861","aliases":[],"aliases_ascii":[],"keywords":["electronics","camera","selfie"]},"camera_with_flash":{"unicode":"1f4f8","unicode_alt":"","code_decimal":"📸","name":"camera with flash","shortname":":camera_with_flash:","category":"objects","emoji_order":"1862","aliases":[],"aliases_ascii":[],"keywords":["electronics","camera"]},"video_camera":{"unicode":"1f4f9","unicode_alt":"","code_decimal":"📹","name":"video camera","shortname":":video_camera:","category":"objects","emoji_order":"1863","aliases":[],"aliases_ascii":[],"keywords":["electronics","camera","movie"]},"vhs":{"unicode":"1f4fc","unicode_alt":"","code_decimal":"📼","name":"videocassette","shortname":":vhs:","category":"objects","emoji_order":"1864","aliases":[],"aliases_ascii":[],"keywords":["electronics"]},"mag":{"unicode":"1f50d","unicode_alt":"","code_decimal":"🔍","name":"left-pointing magnifying glass","shortname":":mag:","category":"objects","emoji_order":"1865","aliases":[],"aliases_ascii":[],"keywords":["object"]},"mag_right":{"unicode":"1f50e","unicode_alt":"","code_decimal":"🔎","name":"right-pointing magnifying glass","shortname":":mag_right:","category":"objects","emoji_order":"1866","aliases":[],"aliases_ascii":[],"keywords":["object"]},"microscope":{"unicode":"1f52c","unicode_alt":"","code_decimal":"🔬","name":"microscope","shortname":":microscope:","category":"objects","emoji_order":"1867","aliases":[],"aliases_ascii":[],"keywords":["object","science"]},"telescope":{"unicode":"1f52d","unicode_alt":"","code_decimal":"🔭","name":"telescope","shortname":":telescope:","category":"objects","emoji_order":"1868","aliases":[],"aliases_ascii":[],"keywords":["object","space","science"]},"satellite":{"unicode":"1f4e1","unicode_alt":"","code_decimal":"📡","name":"satellite antenna","shortname":":satellite:","category":"objects","emoji_order":"1869","aliases":[],"aliases_ascii":[],"keywords":["object"]},"candle":{"unicode":"1f56f","unicode_alt":"1f56f-fe0f","code_decimal":"🕯","name":"candle","shortname":":candle:","category":"objects","emoji_order":"1870","aliases":[],"aliases_ascii":[],"keywords":["object"]},"bulb":{"unicode":"1f4a1","unicode_alt":"","code_decimal":"💡","name":"electric light bulb","shortname":":bulb:","category":"objects","emoji_order":"1871","aliases":[],"aliases_ascii":[],"keywords":["object","science"]},"flashlight":{"unicode":"1f526","unicode_alt":"","code_decimal":"🔦","name":"electric torch","shortname":":flashlight:","category":"objects","emoji_order":"1872","aliases":[],"aliases_ascii":[],"keywords":["electronics","object"]},"izakaya_lantern":{"unicode":"1f3ee","unicode_alt":"","code_decimal":"🏮","name":"izakaya lantern","shortname":":izakaya_lantern:","category":"objects","emoji_order":"1873","aliases":[],"aliases_ascii":[],"keywords":["object","japan"]},"notebook_with_decorative_cover":{"unicode":"1f4d4","unicode_alt":"","code_decimal":"📔","name":"notebook with decorative cover","shortname":":notebook_with_decorative_cover:","category":"objects","emoji_order":"1874","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"closed_book":{"unicode":"1f4d5","unicode_alt":"","code_decimal":"📕","name":"closed book","shortname":":closed_book:","category":"objects","emoji_order":"1875","aliases":[],"aliases_ascii":[],"keywords":["object","office","write","book"]},"book":{"unicode":"1f4d6","unicode_alt":"","code_decimal":"📖","name":"open book","shortname":":book:","category":"objects","emoji_order":"1876","aliases":[],"aliases_ascii":[],"keywords":["object","office","write","book"]},"green_book":{"unicode":"1f4d7","unicode_alt":"","code_decimal":"📗","name":"green book","shortname":":green_book:","category":"objects","emoji_order":"1877","aliases":[],"aliases_ascii":[],"keywords":["object","office","book"]},"blue_book":{"unicode":"1f4d8","unicode_alt":"","code_decimal":"📘","name":"blue book","shortname":":blue_book:","category":"objects","emoji_order":"1878","aliases":[],"aliases_ascii":[],"keywords":["object","office","write","book"]},"orange_book":{"unicode":"1f4d9","unicode_alt":"","code_decimal":"📙","name":"orange book","shortname":":orange_book:","category":"objects","emoji_order":"1879","aliases":[],"aliases_ascii":[],"keywords":["object","office","write","book"]},"books":{"unicode":"1f4da","unicode_alt":"","code_decimal":"📚","name":"books","shortname":":books:","category":"objects","emoji_order":"1880","aliases":[],"aliases_ascii":[],"keywords":["object","office","write","book"]},"notebook":{"unicode":"1f4d3","unicode_alt":"","code_decimal":"📓","name":"notebook","shortname":":notebook:","category":"objects","emoji_order":"1881","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"ledger":{"unicode":"1f4d2","unicode_alt":"","code_decimal":"📒","name":"ledger","shortname":":ledger:","category":"objects","emoji_order":"1882","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"page_with_curl":{"unicode":"1f4c3","unicode_alt":"","code_decimal":"📃","name":"page with curl","shortname":":page_with_curl:","category":"objects","emoji_order":"1883","aliases":[],"aliases_ascii":[],"keywords":["office","write"]},"scroll":{"unicode":"1f4dc","unicode_alt":"","code_decimal":"📜","name":"scroll","shortname":":scroll:","category":"objects","emoji_order":"1884","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"page_facing_up":{"unicode":"1f4c4","unicode_alt":"","code_decimal":"📄","name":"page facing up","shortname":":page_facing_up:","category":"objects","emoji_order":"1885","aliases":[],"aliases_ascii":[],"keywords":["work","office","write"]},"newspaper":{"unicode":"1f4f0","unicode_alt":"","code_decimal":"📰","name":"newspaper","shortname":":newspaper:","category":"objects","emoji_order":"1886","aliases":[],"aliases_ascii":[],"keywords":["office","write"]},"newspaper2":{"unicode":"1f5de","unicode_alt":"1f5de-fe0f","code_decimal":"🗞","name":"rolled-up newspaper","shortname":":newspaper2:","category":"objects","emoji_order":"1887","aliases":[":rolled_up_newspaper:"],"aliases_ascii":[],"keywords":["office","write"]},"bookmark_tabs":{"unicode":"1f4d1","unicode_alt":"","code_decimal":"📑","name":"bookmark tabs","shortname":":bookmark_tabs:","category":"objects","emoji_order":"1888","aliases":[],"aliases_ascii":[],"keywords":["office","write"]},"bookmark":{"unicode":"1f516","unicode_alt":"","code_decimal":"🔖","name":"bookmark","shortname":":bookmark:","category":"objects","emoji_order":"1889","aliases":[],"aliases_ascii":[],"keywords":["object","book"]},"label":{"unicode":"1f3f7","unicode_alt":"1f3f7-fe0f","code_decimal":"🏷","name":"label","shortname":":label:","category":"objects","emoji_order":"1890","aliases":[],"aliases_ascii":[],"keywords":["object"]},"moneybag":{"unicode":"1f4b0","unicode_alt":"","code_decimal":"💰","name":"money bag","shortname":":moneybag:","category":"objects","emoji_order":"1891","aliases":[],"aliases_ascii":[],"keywords":["bag","award","money"]},"yen":{"unicode":"1f4b4","unicode_alt":"","code_decimal":"💴","name":"banknote with yen sign","shortname":":yen:","category":"objects","emoji_order":"1892","aliases":[],"aliases_ascii":[],"keywords":["money"]},"dollar":{"unicode":"1f4b5","unicode_alt":"","code_decimal":"💵","name":"banknote with dollar sign","shortname":":dollar:","category":"objects","emoji_order":"1893","aliases":[],"aliases_ascii":[],"keywords":["money"]},"euro":{"unicode":"1f4b6","unicode_alt":"","code_decimal":"💶","name":"banknote with euro sign","shortname":":euro:","category":"objects","emoji_order":"1894","aliases":[],"aliases_ascii":[],"keywords":["money"]},"pound":{"unicode":"1f4b7","unicode_alt":"","code_decimal":"💷","name":"banknote with pound sign","shortname":":pound:","category":"objects","emoji_order":"1895","aliases":[],"aliases_ascii":[],"keywords":["money"]},"money_with_wings":{"unicode":"1f4b8","unicode_alt":"","code_decimal":"💸","name":"money with wings","shortname":":money_with_wings:","category":"objects","emoji_order":"1896","aliases":[],"aliases_ascii":[],"keywords":["money","boys night"]},"credit_card":{"unicode":"1f4b3","unicode_alt":"","code_decimal":"💳","name":"credit card","shortname":":credit_card:","category":"objects","emoji_order":"1897","aliases":[],"aliases_ascii":[],"keywords":["object","money","boys night"]},"chart":{"unicode":"1f4b9","unicode_alt":"","code_decimal":"💹","name":"chart with upwards trend and yen sign","shortname":":chart:","category":"symbols","emoji_order":"1898","aliases":[],"aliases_ascii":[],"keywords":["symbol","money"]},"currency_exchange":{"unicode":"1f4b1","unicode_alt":"","code_decimal":"💱","name":"currency exchange","shortname":":currency_exchange:","category":"symbols","emoji_order":"1899","aliases":[],"aliases_ascii":[],"keywords":["symbol","money"]},"heavy_dollar_sign":{"unicode":"1f4b2","unicode_alt":"","code_decimal":"💲","name":"heavy dollar sign","shortname":":heavy_dollar_sign:","category":"symbols","emoji_order":"1900","aliases":[],"aliases_ascii":[],"keywords":["math","symbol","money"]},"envelope":{"unicode":"2709","unicode_alt":"2709-fe0f","code_decimal":"✉","name":"envelope","shortname":":envelope:","category":"objects","emoji_order":"1901","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"e-mail":{"unicode":"1f4e7","unicode_alt":"","code_decimal":"📧","name":"e-mail symbol","shortname":":e-mail:","category":"objects","emoji_order":"1902","aliases":[":email:"],"aliases_ascii":[],"keywords":["office"]},"incoming_envelope":{"unicode":"1f4e8","unicode_alt":"","code_decimal":"📨","name":"incoming envelope","shortname":":incoming_envelope:","category":"objects","emoji_order":"1903","aliases":[],"aliases_ascii":[],"keywords":["object"]},"envelope_with_arrow":{"unicode":"1f4e9","unicode_alt":"","code_decimal":"📩","name":"envelope with downwards arrow above","shortname":":envelope_with_arrow:","category":"objects","emoji_order":"1904","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"outbox_tray":{"unicode":"1f4e4","unicode_alt":"","code_decimal":"📤","name":"outbox tray","shortname":":outbox_tray:","category":"objects","emoji_order":"1905","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"inbox_tray":{"unicode":"1f4e5","unicode_alt":"","code_decimal":"📥","name":"inbox tray","shortname":":inbox_tray:","category":"objects","emoji_order":"1906","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"package":{"unicode":"1f4e6","unicode_alt":"","code_decimal":"📦","name":"package","shortname":":package:","category":"objects","emoji_order":"1907","aliases":[],"aliases_ascii":[],"keywords":["object","gift","office"]},"mailbox":{"unicode":"1f4eb","unicode_alt":"","code_decimal":"📫","name":"closed mailbox with raised flag","shortname":":mailbox:","category":"objects","emoji_order":"1908","aliases":[],"aliases_ascii":[],"keywords":["object"]},"mailbox_closed":{"unicode":"1f4ea","unicode_alt":"","code_decimal":"📪","name":"closed mailbox with lowered flag","shortname":":mailbox_closed:","category":"objects","emoji_order":"1909","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"mailbox_with_mail":{"unicode":"1f4ec","unicode_alt":"","code_decimal":"📬","name":"open mailbox with raised flag","shortname":":mailbox_with_mail:","category":"objects","emoji_order":"1910","aliases":[],"aliases_ascii":[],"keywords":["object"]},"mailbox_with_no_mail":{"unicode":"1f4ed","unicode_alt":"","code_decimal":"📭","name":"open mailbox with lowered flag","shortname":":mailbox_with_no_mail:","category":"objects","emoji_order":"1911","aliases":[],"aliases_ascii":[],"keywords":["object"]},"postbox":{"unicode":"1f4ee","unicode_alt":"","code_decimal":"📮","name":"postbox","shortname":":postbox:","category":"objects","emoji_order":"1912","aliases":[],"aliases_ascii":[],"keywords":["object"]},"ballot_box":{"unicode":"1f5f3","unicode_alt":"1f5f3-fe0f","code_decimal":"🗳","name":"ballot box with ballot","shortname":":ballot_box:","category":"objects","emoji_order":"1913","aliases":[":ballot_box_with_ballot:"],"aliases_ascii":[],"keywords":["object","office"]},"pencil2":{"unicode":"270f","unicode_alt":"270f-fe0f","code_decimal":"✏","name":"pencil","shortname":":pencil2:","category":"objects","emoji_order":"1914","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"black_nib":{"unicode":"2712","unicode_alt":"2712-fe0f","code_decimal":"✒","name":"black nib","shortname":":black_nib:","category":"objects","emoji_order":"1915","aliases":[],"aliases_ascii":[],"keywords":["object","office","write"]},"pen_fountain":{"unicode":"1f58b","unicode_alt":"1f58b-fe0f","code_decimal":"🖋","name":"lower left fountain pen","shortname":":pen_fountain:","category":"objects","emoji_order":"1916","aliases":[":lower_left_fountain_pen:"],"aliases_ascii":[],"keywords":["object","office","write"]},"pen_ballpoint":{"unicode":"1f58a","unicode_alt":"1f58a-fe0f","code_decimal":"🖊","name":"lower left ballpoint pen","shortname":":pen_ballpoint:","category":"objects","emoji_order":"1917","aliases":[":lower_left_ballpoint_pen:"],"aliases_ascii":[],"keywords":["object","office","write"]},"paintbrush":{"unicode":"1f58c","unicode_alt":"1f58c-fe0f","code_decimal":"🖌","name":"lower left paintbrush","shortname":":paintbrush:","category":"objects","emoji_order":"1918","aliases":[":lower_left_paintbrush:"],"aliases_ascii":[],"keywords":["object","office","write"]},"crayon":{"unicode":"1f58d","unicode_alt":"1f58d-fe0f","code_decimal":"🖍","name":"lower left crayon","shortname":":crayon:","category":"objects","emoji_order":"1919","aliases":[":lower_left_crayon:"],"aliases_ascii":[],"keywords":["object","office","write"]},"pencil":{"unicode":"1f4dd","unicode_alt":"","code_decimal":"📝","name":"memo","shortname":":pencil:","category":"objects","emoji_order":"1920","aliases":[],"aliases_ascii":[],"keywords":["work","office","write"]},"briefcase":{"unicode":"1f4bc","unicode_alt":"","code_decimal":"💼","name":"briefcase","shortname":":briefcase:","category":"people","emoji_order":"1921","aliases":[],"aliases_ascii":[],"keywords":["bag","work","accessories","nutcase","job"]},"file_folder":{"unicode":"1f4c1","unicode_alt":"","code_decimal":"📁","name":"file folder","shortname":":file_folder:","category":"objects","emoji_order":"1922","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"open_file_folder":{"unicode":"1f4c2","unicode_alt":"","code_decimal":"📂","name":"open file folder","shortname":":open_file_folder:","category":"objects","emoji_order":"1923","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"dividers":{"unicode":"1f5c2","unicode_alt":"1f5c2-fe0f","code_decimal":"🗂","name":"card index dividers","shortname":":dividers:","category":"objects","emoji_order":"1924","aliases":[":card_index_dividers:"],"aliases_ascii":[],"keywords":["work","office"]},"date":{"unicode":"1f4c5","unicode_alt":"","code_decimal":"📅","name":"calendar","shortname":":date:","category":"objects","emoji_order":"1925","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"calendar":{"unicode":"1f4c6","unicode_alt":"","code_decimal":"📆","name":"tear-off calendar","shortname":":calendar:","category":"objects","emoji_order":"1926","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"notepad_spiral":{"unicode":"1f5d2","unicode_alt":"1f5d2-fe0f","code_decimal":"🗒","name":"spiral note pad","shortname":":notepad_spiral:","category":"objects","emoji_order":"1927","aliases":[":spiral_note_pad:"],"aliases_ascii":[],"keywords":["work","office","write"]},"calendar_spiral":{"unicode":"1f5d3","unicode_alt":"1f5d3-fe0f","code_decimal":"🗓","name":"spiral calendar pad","shortname":":calendar_spiral:","category":"objects","emoji_order":"1928","aliases":[":spiral_calendar_pad:"],"aliases_ascii":[],"keywords":["object","office"]},"card_index":{"unicode":"1f4c7","unicode_alt":"","code_decimal":"📇","name":"card index","shortname":":card_index:","category":"objects","emoji_order":"1929","aliases":[],"aliases_ascii":[],"keywords":["object","work","office"]},"chart_with_upwards_trend":{"unicode":"1f4c8","unicode_alt":"","code_decimal":"📈","name":"chart with upwards trend","shortname":":chart_with_upwards_trend:","category":"objects","emoji_order":"1930","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"chart_with_downwards_trend":{"unicode":"1f4c9","unicode_alt":"","code_decimal":"📉","name":"chart with downwards trend","shortname":":chart_with_downwards_trend:","category":"objects","emoji_order":"1931","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"bar_chart":{"unicode":"1f4ca","unicode_alt":"","code_decimal":"📊","name":"bar chart","shortname":":bar_chart:","category":"objects","emoji_order":"1932","aliases":[],"aliases_ascii":[],"keywords":["work","office"]},"clipboard":{"unicode":"1f4cb","unicode_alt":"","code_decimal":"📋","name":"clipboard","shortname":":clipboard:","category":"objects","emoji_order":"1933","aliases":[],"aliases_ascii":[],"keywords":["object","work","office","write"]},"pushpin":{"unicode":"1f4cc","unicode_alt":"","code_decimal":"📌","name":"pushpin","shortname":":pushpin:","category":"objects","emoji_order":"1934","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"round_pushpin":{"unicode":"1f4cd","unicode_alt":"","code_decimal":"📍","name":"round pushpin","shortname":":round_pushpin:","category":"objects","emoji_order":"1935","aliases":[],"aliases_ascii":[],"keywords":["object","office"]},"paperclip":{"unicode":"1f4ce","unicode_alt":"","code_decimal":"📎","name":"paperclip","shortname":":paperclip:","category":"objects","emoji_order":"1936","aliases":[],"aliases_ascii":[],"keywords":["object","work","office"]},"paperclips":{"unicode":"1f587","unicode_alt":"1f587-fe0f","code_decimal":"🖇","name":"linked paperclips","shortname":":paperclips:","category":"objects","emoji_order":"1937","aliases":[":linked_paperclips:"],"aliases_ascii":[],"keywords":["object","work","office"]},"straight_ruler":{"unicode":"1f4cf","unicode_alt":"","code_decimal":"📏","name":"straight ruler","shortname":":straight_ruler:","category":"objects","emoji_order":"1938","aliases":[],"aliases_ascii":[],"keywords":["object","tool","office"]},"triangular_ruler":{"unicode":"1f4d0","unicode_alt":"","code_decimal":"📐","name":"triangular ruler","shortname":":triangular_ruler:","category":"objects","emoji_order":"1939","aliases":[],"aliases_ascii":[],"keywords":["object","tool","office"]},"scissors":{"unicode":"2702","unicode_alt":"2702-fe0f","code_decimal":"✂","name":"black scissors","shortname":":scissors:","category":"objects","emoji_order":"1940","aliases":[],"aliases_ascii":[],"keywords":["object","tool","weapon","office"]},"card_box":{"unicode":"1f5c3","unicode_alt":"1f5c3-fe0f","code_decimal":"🗃","name":"card file box","shortname":":card_box:","category":"objects","emoji_order":"1941","aliases":[":card_file_box:"],"aliases_ascii":[],"keywords":["object","work","office"]},"file_cabinet":{"unicode":"1f5c4","unicode_alt":"1f5c4-fe0f","code_decimal":"🗄","name":"file cabinet","shortname":":file_cabinet:","category":"objects","emoji_order":"1942","aliases":[],"aliases_ascii":[],"keywords":["object","work","office"]},"wastebasket":{"unicode":"1f5d1","unicode_alt":"1f5d1-fe0f","code_decimal":"🗑","name":"wastebasket","shortname":":wastebasket:","category":"objects","emoji_order":"1943","aliases":[],"aliases_ascii":[],"keywords":["object","work"]},"lock":{"unicode":"1f512","unicode_alt":"","code_decimal":"🔒","name":"lock","shortname":":lock:","category":"objects","emoji_order":"1944","aliases":[],"aliases_ascii":[],"keywords":["object","lock"]},"unlock":{"unicode":"1f513","unicode_alt":"","code_decimal":"🔓","name":"open lock","shortname":":unlock:","category":"objects","emoji_order":"1945","aliases":[],"aliases_ascii":[],"keywords":["object","lock"]},"lock_with_ink_pen":{"unicode":"1f50f","unicode_alt":"","code_decimal":"🔏","name":"lock with ink pen","shortname":":lock_with_ink_pen:","category":"objects","emoji_order":"1946","aliases":[],"aliases_ascii":[],"keywords":["object","lock"]},"closed_lock_with_key":{"unicode":"1f510","unicode_alt":"","code_decimal":"🔐","name":"closed lock with key","shortname":":closed_lock_with_key:","category":"objects","emoji_order":"1947","aliases":[],"aliases_ascii":[],"keywords":["object","lock"]},"key":{"unicode":"1f511","unicode_alt":"","code_decimal":"🔑","name":"key","shortname":":key:","category":"objects","emoji_order":"1948","aliases":[],"aliases_ascii":[],"keywords":["object","lock"]},"key2":{"unicode":"1f5dd","unicode_alt":"1f5dd-fe0f","code_decimal":"🗝","name":"old key","shortname":":key2:","category":"objects","emoji_order":"1949","aliases":[":old_key:"],"aliases_ascii":[],"keywords":["object","lock"]},"hammer":{"unicode":"1f528","unicode_alt":"","code_decimal":"🔨","name":"hammer","shortname":":hammer:","category":"objects","emoji_order":"1950","aliases":[],"aliases_ascii":[],"keywords":["object","tool","weapon"]},"pick":{"unicode":"26cf","unicode_alt":"26cf-fe0f","code_decimal":"⛏","name":"pick","shortname":":pick:","category":"objects","emoji_order":"1951","aliases":[],"aliases_ascii":[],"keywords":["object","tool","weapon"]},"hammer_pick":{"unicode":"2692","unicode_alt":"2692-fe0f","code_decimal":"⚒","name":"hammer and pick","shortname":":hammer_pick:","category":"objects","emoji_order":"1952","aliases":[":hammer_and_pick:"],"aliases_ascii":[],"keywords":["object","tool","weapon"]},"tools":{"unicode":"1f6e0","unicode_alt":"1f6e0-fe0f","code_decimal":"🛠","name":"hammer and wrench","shortname":":tools:","category":"objects","emoji_order":"1953","aliases":[":hammer_and_wrench:"],"aliases_ascii":[],"keywords":["object","tool"]},"dagger":{"unicode":"1f5e1","unicode_alt":"1f5e1-fe0f","code_decimal":"🗡","name":"dagger knife","shortname":":dagger:","category":"objects","emoji_order":"1954","aliases":[":dagger_knife:"],"aliases_ascii":[],"keywords":["object","weapon"]},"crossed_swords":{"unicode":"2694","unicode_alt":"2694-fe0f","code_decimal":"⚔","name":"crossed swords","shortname":":crossed_swords:","category":"objects","emoji_order":"1955","aliases":[],"aliases_ascii":[],"keywords":["object","weapon"]},"gun":{"unicode":"1f52b","unicode_alt":"","code_decimal":"🔫","name":"pistol","shortname":":gun:","category":"objects","emoji_order":"1956","aliases":[],"aliases_ascii":[],"keywords":["object","weapon","dead","gun","sarcastic"]},"bow_and_arrow":{"unicode":"1f3f9","unicode_alt":"","code_decimal":"🏹","name":"bow and arrow","shortname":":bow_and_arrow:","category":"activity","emoji_order":"1957","aliases":[":archery:"],"aliases_ascii":[],"keywords":["weapon","sport"]},"shield":{"unicode":"1f6e1","unicode_alt":"1f6e1-fe0f","code_decimal":"🛡","name":"shield","shortname":":shield:","category":"objects","emoji_order":"1958","aliases":[],"aliases_ascii":[],"keywords":["object"]},"wrench":{"unicode":"1f527","unicode_alt":"","code_decimal":"🔧","name":"wrench","shortname":":wrench:","category":"objects","emoji_order":"1959","aliases":[],"aliases_ascii":[],"keywords":["object","tool"]},"nut_and_bolt":{"unicode":"1f529","unicode_alt":"","code_decimal":"🔩","name":"nut and bolt","shortname":":nut_and_bolt:","category":"objects","emoji_order":"1960","aliases":[],"aliases_ascii":[],"keywords":["object","tool","nutcase"]},"gear":{"unicode":"2699","unicode_alt":"2699-fe0f","code_decimal":"⚙","name":"gear","shortname":":gear:","category":"objects","emoji_order":"1961","aliases":[],"aliases_ascii":[],"keywords":["object","tool"]},"compression":{"unicode":"1f5dc","unicode_alt":"1f5dc-fe0f","code_decimal":"🗜","name":"compression","shortname":":compression:","category":"objects","emoji_order":"1962","aliases":[],"aliases_ascii":[],"keywords":[]},"alembic":{"unicode":"2697","unicode_alt":"2697-fe0f","code_decimal":"⚗","name":"alembic","shortname":":alembic:","category":"objects","emoji_order":"1963","aliases":[],"aliases_ascii":[],"keywords":["object","science"]},"scales":{"unicode":"2696","unicode_alt":"2696-fe0f","code_decimal":"⚖","name":"scales","shortname":":scales:","category":"objects","emoji_order":"1964","aliases":[],"aliases_ascii":[],"keywords":["object"]},"link":{"unicode":"1f517","unicode_alt":"","code_decimal":"🔗","name":"link symbol","shortname":":link:","category":"objects","emoji_order":"1965","aliases":[],"aliases_ascii":[],"keywords":["symbol","office"]},"chains":{"unicode":"26d3","unicode_alt":"26d3-fe0f","code_decimal":"⛓","name":"chains","shortname":":chains:","category":"objects","emoji_order":"1966","aliases":[],"aliases_ascii":[],"keywords":["object","tool"]},"syringe":{"unicode":"1f489","unicode_alt":"","code_decimal":"💉","name":"syringe","shortname":":syringe:","category":"objects","emoji_order":"1967","aliases":[],"aliases_ascii":[],"keywords":["object","weapon","health","drugs"]},"pill":{"unicode":"1f48a","unicode_alt":"","code_decimal":"💊","name":"pill","shortname":":pill:","category":"objects","emoji_order":"1968","aliases":[],"aliases_ascii":[],"keywords":["object","health","drugs"]},"smoking":{"unicode":"1f6ac","unicode_alt":"","code_decimal":"🚬","name":"smoking symbol","shortname":":smoking:","category":"objects","emoji_order":"1969","aliases":[],"aliases_ascii":[],"keywords":["symbol","drugs","smoking"]},"coffin":{"unicode":"26b0","unicode_alt":"26b0-fe0f","code_decimal":"⚰","name":"coffin","shortname":":coffin:","category":"objects","emoji_order":"1970","aliases":[],"aliases_ascii":[],"keywords":["object","dead","rip"]},"urn":{"unicode":"26b1","unicode_alt":"26b1-fe0f","code_decimal":"⚱","name":"funeral urn","shortname":":urn:","category":"objects","emoji_order":"1971","aliases":[":funeral_urn:"],"aliases_ascii":[],"keywords":["object","dead","rip"]},"moyai":{"unicode":"1f5ff","unicode_alt":"","code_decimal":"🗿","name":"moyai","shortname":":moyai:","category":"objects","emoji_order":"1972","aliases":[],"aliases_ascii":[],"keywords":["travel","vacation"]},"oil":{"unicode":"1f6e2","unicode_alt":"1f6e2-fe0f","code_decimal":"🛢","name":"oil drum","shortname":":oil:","category":"objects","emoji_order":"1973","aliases":[":oil_drum:"],"aliases_ascii":[],"keywords":["object"]},"crystal_ball":{"unicode":"1f52e","unicode_alt":"","code_decimal":"🔮","name":"crystal ball","shortname":":crystal_ball:","category":"objects","emoji_order":"1974","aliases":[],"aliases_ascii":[],"keywords":["object","ball"]},"shopping_cart":{"unicode":"1f6d2","unicode_alt":"","code_decimal":"🛒","name":"shopping trolley","shortname":":shopping_cart:","category":"objects","emoji_order":"1975","aliases":[":shopping_trolley:"],"aliases_ascii":[],"keywords":[]},"atm":{"unicode":"1f3e7","unicode_alt":"","code_decimal":"🏧","name":"automated teller machine","shortname":":atm:","category":"symbols","emoji_order":"1976","aliases":[],"aliases_ascii":[],"keywords":["electronics","symbol","money"]},"put_litter_in_its_place":{"unicode":"1f6ae","unicode_alt":"","code_decimal":"🚮","name":"put litter in its place symbol","shortname":":put_litter_in_its_place:","category":"symbols","emoji_order":"1977","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"potable_water":{"unicode":"1f6b0","unicode_alt":"","code_decimal":"🚰","name":"potable water symbol","shortname":":potable_water:","category":"symbols","emoji_order":"1978","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"wheelchair":{"unicode":"267f","unicode_alt":"267f-fe0f","code_decimal":"♿","name":"wheelchair symbol","shortname":":wheelchair:","category":"symbols","emoji_order":"1979","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"mens":{"unicode":"1f6b9","unicode_alt":"","code_decimal":"🚹","name":"mens symbol","shortname":":mens:","category":"symbols","emoji_order":"1980","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"womens":{"unicode":"1f6ba","unicode_alt":"","code_decimal":"🚺","name":"womens symbol","shortname":":womens:","category":"symbols","emoji_order":"1981","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"restroom":{"unicode":"1f6bb","unicode_alt":"","code_decimal":"🚻","name":"restroom","shortname":":restroom:","category":"symbols","emoji_order":"1982","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"baby_symbol":{"unicode":"1f6bc","unicode_alt":"","code_decimal":"🚼","name":"baby symbol","shortname":":baby_symbol:","category":"symbols","emoji_order":"1983","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"wc":{"unicode":"1f6be","unicode_alt":"","code_decimal":"🚾","name":"water closet","shortname":":wc:","category":"symbols","emoji_order":"1984","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"passport_control":{"unicode":"1f6c2","unicode_alt":"","code_decimal":"🛂","name":"passport control","shortname":":passport_control:","category":"symbols","emoji_order":"1985","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"customs":{"unicode":"1f6c3","unicode_alt":"","code_decimal":"🛃","name":"customs","shortname":":customs:","category":"symbols","emoji_order":"1986","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"baggage_claim":{"unicode":"1f6c4","unicode_alt":"","code_decimal":"🛄","name":"baggage claim","shortname":":baggage_claim:","category":"symbols","emoji_order":"1987","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"left_luggage":{"unicode":"1f6c5","unicode_alt":"","code_decimal":"🛅","name":"left luggage","shortname":":left_luggage:","category":"symbols","emoji_order":"1988","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"warning":{"unicode":"26a0","unicode_alt":"26a0-fe0f","code_decimal":"⚠","name":"warning sign","shortname":":warning:","category":"symbols","emoji_order":"1989","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"children_crossing":{"unicode":"1f6b8","unicode_alt":"","code_decimal":"🚸","name":"children crossing","shortname":":children_crossing:","category":"symbols","emoji_order":"1990","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"no_entry":{"unicode":"26d4","unicode_alt":"26d4-fe0f","code_decimal":"⛔","name":"no entry","shortname":":no_entry:","category":"symbols","emoji_order":"1991","aliases":[],"aliases_ascii":[],"keywords":["symbol","circle"]},"no_entry_sign":{"unicode":"1f6ab","unicode_alt":"","code_decimal":"🚫","name":"no entry sign","shortname":":no_entry_sign:","category":"symbols","emoji_order":"1992","aliases":[],"aliases_ascii":[],"keywords":["symbol","circle"]},"no_bicycles":{"unicode":"1f6b3","unicode_alt":"","code_decimal":"🚳","name":"no bicycles","shortname":":no_bicycles:","category":"symbols","emoji_order":"1993","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"no_smoking":{"unicode":"1f6ad","unicode_alt":"","code_decimal":"🚭","name":"no smoking symbol","shortname":":no_smoking:","category":"symbols","emoji_order":"1994","aliases":[],"aliases_ascii":[],"keywords":["symbol","smoking"]},"do_not_litter":{"unicode":"1f6af","unicode_alt":"","code_decimal":"🚯","name":"do not litter symbol","shortname":":do_not_litter:","category":"symbols","emoji_order":"1995","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"non-potable_water":{"unicode":"1f6b1","unicode_alt":"","code_decimal":"🚱","name":"non-potable water symbol","shortname":":non-potable_water:","category":"symbols","emoji_order":"1996","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"no_pedestrians":{"unicode":"1f6b7","unicode_alt":"","code_decimal":"🚷","name":"no pedestrians","shortname":":no_pedestrians:","category":"symbols","emoji_order":"1997","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"no_mobile_phones":{"unicode":"1f4f5","unicode_alt":"","code_decimal":"📵","name":"no mobile phones","shortname":":no_mobile_phones:","category":"symbols","emoji_order":"1998","aliases":[],"aliases_ascii":[],"keywords":["symbol","phone"]},"underage":{"unicode":"1f51e","unicode_alt":"","code_decimal":"🔞","name":"no one under eighteen symbol","shortname":":underage:","category":"symbols","emoji_order":"1999","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"radioactive":{"unicode":"2622","unicode_alt":"2622-fe0f","code_decimal":"☢","name":"radioactive sign","shortname":":radioactive:","category":"symbols","emoji_order":"2000","aliases":[":radioactive_sign:"],"aliases_ascii":[],"keywords":["symbol","science"]},"biohazard":{"unicode":"2623","unicode_alt":"2623-fe0f","code_decimal":"☣","name":"biohazard sign","shortname":":biohazard:","category":"symbols","emoji_order":"2001","aliases":[":biohazard_sign:"],"aliases_ascii":[],"keywords":["symbol","science"]},"arrow_up":{"unicode":"2b06","unicode_alt":"2b06-fe0f","code_decimal":"⬆","name":"upwards black arrow","shortname":":arrow_up:","category":"symbols","emoji_order":"2002","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_upper_right":{"unicode":"2197","unicode_alt":"2197-fe0f","code_decimal":"↗","name":"north east arrow","shortname":":arrow_upper_right:","category":"symbols","emoji_order":"2003","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_right":{"unicode":"27a1","unicode_alt":"27a1-fe0f","code_decimal":"➡","name":"black rightwards arrow","shortname":":arrow_right:","category":"symbols","emoji_order":"2004","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_lower_right":{"unicode":"2198","unicode_alt":"2198-fe0f","code_decimal":"↘","name":"south east arrow","shortname":":arrow_lower_right:","category":"symbols","emoji_order":"2005","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_down":{"unicode":"2b07","unicode_alt":"2b07-fe0f","code_decimal":"⬇","name":"downwards black arrow","shortname":":arrow_down:","category":"symbols","emoji_order":"2006","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_lower_left":{"unicode":"2199","unicode_alt":"2199-fe0f","code_decimal":"↙","name":"south west arrow","shortname":":arrow_lower_left:","category":"symbols","emoji_order":"2007","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_left":{"unicode":"2b05","unicode_alt":"2b05-fe0f","code_decimal":"⬅","name":"leftwards black arrow","shortname":":arrow_left:","category":"symbols","emoji_order":"2008","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_upper_left":{"unicode":"2196","unicode_alt":"2196-fe0f","code_decimal":"↖","name":"north west arrow","shortname":":arrow_upper_left:","category":"symbols","emoji_order":"2009","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_up_down":{"unicode":"2195","unicode_alt":"2195-fe0f","code_decimal":"↕","name":"up down arrow","shortname":":arrow_up_down:","category":"symbols","emoji_order":"2010","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"left_right_arrow":{"unicode":"2194","unicode_alt":"2194-fe0f","code_decimal":"↔","name":"left right arrow","shortname":":left_right_arrow:","category":"symbols","emoji_order":"2011","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"leftwards_arrow_with_hook":{"unicode":"21a9","unicode_alt":"21a9-fe0f","code_decimal":"↩","name":"leftwards arrow with hook","shortname":":leftwards_arrow_with_hook:","category":"symbols","emoji_order":"2012","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_right_hook":{"unicode":"21aa","unicode_alt":"21aa-fe0f","code_decimal":"↪","name":"rightwards arrow with hook","shortname":":arrow_right_hook:","category":"symbols","emoji_order":"2013","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_heading_up":{"unicode":"2934","unicode_alt":"2934-fe0f","code_decimal":"⤴","name":"arrow pointing rightwards then curving upwards","shortname":":arrow_heading_up:","category":"symbols","emoji_order":"2014","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_heading_down":{"unicode":"2935","unicode_alt":"2935-fe0f","code_decimal":"⤵","name":"arrow pointing rightwards then curving downwards","shortname":":arrow_heading_down:","category":"symbols","emoji_order":"2015","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrows_clockwise":{"unicode":"1f503","unicode_alt":"","code_decimal":"🔃","name":"clockwise downwards and upwards open circle arrows","shortname":":arrows_clockwise:","category":"symbols","emoji_order":"2016","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrows_counterclockwise":{"unicode":"1f504","unicode_alt":"","code_decimal":"🔄","name":"anticlockwise downwards and upwards open circle arrows","shortname":":arrows_counterclockwise:","category":"symbols","emoji_order":"2017","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"back":{"unicode":"1f519","unicode_alt":"","code_decimal":"🔙","name":"back with leftwards arrow above","shortname":":back:","category":"symbols","emoji_order":"2018","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"end":{"unicode":"1f51a","unicode_alt":"","code_decimal":"🔚","name":"end with leftwards arrow above","shortname":":end:","category":"symbols","emoji_order":"2019","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"on":{"unicode":"1f51b","unicode_alt":"","code_decimal":"🔛","name":"on with exclamation mark with left right arrow abo","shortname":":on:","category":"symbols","emoji_order":"2020","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"soon":{"unicode":"1f51c","unicode_alt":"","code_decimal":"🔜","name":"soon with rightwards arrow above","shortname":":soon:","category":"symbols","emoji_order":"2021","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"top":{"unicode":"1f51d","unicode_alt":"","code_decimal":"🔝","name":"top with upwards arrow above","shortname":":top:","category":"symbols","emoji_order":"2022","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"place_of_worship":{"unicode":"1f6d0","unicode_alt":"","code_decimal":"🛐","name":"place of worship","shortname":":place_of_worship:","category":"symbols","emoji_order":"2023","aliases":[":worship_symbol:"],"aliases_ascii":[],"keywords":["religion","symbol","pray"]},"atom":{"unicode":"269b","unicode_alt":"269b-fe0f","code_decimal":"⚛","name":"atom symbol","shortname":":atom:","category":"symbols","emoji_order":"2024","aliases":[":atom_symbol:"],"aliases_ascii":[],"keywords":["symbol","science"]},"om_symbol":{"unicode":"1f549","unicode_alt":"1f549-fe0f","code_decimal":"🕉","name":"om symbol","shortname":":om_symbol:","category":"symbols","emoji_order":"2025","aliases":[],"aliases_ascii":[],"keywords":["religion","symbol"]},"star_of_david":{"unicode":"2721","unicode_alt":"2721-fe0f","code_decimal":"✡","name":"star of david","shortname":":star_of_david:","category":"symbols","emoji_order":"2026","aliases":[],"aliases_ascii":[],"keywords":["religion","jew","star","symbol"]},"wheel_of_dharma":{"unicode":"2638","unicode_alt":"2638-fe0f","code_decimal":"☸","name":"wheel of dharma","shortname":":wheel_of_dharma:","category":"symbols","emoji_order":"2027","aliases":[],"aliases_ascii":[],"keywords":["religion","symbol"]},"yin_yang":{"unicode":"262f","unicode_alt":"262f-fe0f","code_decimal":"☯","name":"yin yang","shortname":":yin_yang:","category":"symbols","emoji_order":"2028","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"cross":{"unicode":"271d","unicode_alt":"271d-fe0f","code_decimal":"✝","name":"latin cross","shortname":":cross:","category":"symbols","emoji_order":"2029","aliases":[":latin_cross:"],"aliases_ascii":[],"keywords":["religion","symbol"]},"orthodox_cross":{"unicode":"2626","unicode_alt":"2626-fe0f","code_decimal":"☦","name":"orthodox cross","shortname":":orthodox_cross:","category":"symbols","emoji_order":"2030","aliases":[],"aliases_ascii":[],"keywords":["religion","symbol"]},"star_and_crescent":{"unicode":"262a","unicode_alt":"262a-fe0f","code_decimal":"☪","name":"star and crescent","shortname":":star_and_crescent:","category":"symbols","emoji_order":"2031","aliases":[],"aliases_ascii":[],"keywords":["religion","symbol"]},"peace":{"unicode":"262e","unicode_alt":"262e-fe0f","code_decimal":"☮","name":"peace symbol","shortname":":peace:","category":"symbols","emoji_order":"2032","aliases":[":peace_symbol:"],"aliases_ascii":[],"keywords":["symbol","peace","drugs"]},"menorah":{"unicode":"1f54e","unicode_alt":"","code_decimal":"🕎","name":"menorah with nine branches","shortname":":menorah:","category":"symbols","emoji_order":"2033","aliases":[],"aliases_ascii":[],"keywords":["religion","object","jew","symbol","holidays"]},"six_pointed_star":{"unicode":"1f52f","unicode_alt":"","code_decimal":"🔯","name":"six pointed star with middle dot","shortname":":six_pointed_star:","category":"symbols","emoji_order":"2034","aliases":[],"aliases_ascii":[],"keywords":["religion","jew","star","symbol"]},"aries":{"unicode":"2648","unicode_alt":"2648-fe0f","code_decimal":"♈","name":"aries","shortname":":aries:","category":"symbols","emoji_order":"2035","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"taurus":{"unicode":"2649","unicode_alt":"2649-fe0f","code_decimal":"♉","name":"taurus","shortname":":taurus:","category":"symbols","emoji_order":"2036","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"gemini":{"unicode":"264a","unicode_alt":"264a-fe0f","code_decimal":"♊","name":"gemini","shortname":":gemini:","category":"symbols","emoji_order":"2037","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"cancer":{"unicode":"264b","unicode_alt":"264b-fe0f","code_decimal":"♋","name":"cancer","shortname":":cancer:","category":"symbols","emoji_order":"2038","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"leo":{"unicode":"264c","unicode_alt":"264c-fe0f","code_decimal":"♌","name":"leo","shortname":":leo:","category":"symbols","emoji_order":"2039","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"virgo":{"unicode":"264d","unicode_alt":"264d-fe0f","code_decimal":"♍","name":"virgo","shortname":":virgo:","category":"symbols","emoji_order":"2040","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"libra":{"unicode":"264e","unicode_alt":"264e-fe0f","code_decimal":"♎","name":"libra","shortname":":libra:","category":"symbols","emoji_order":"2041","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"scorpius":{"unicode":"264f","unicode_alt":"264f-fe0f","code_decimal":"♏","name":"scorpius","shortname":":scorpius:","category":"symbols","emoji_order":"2042","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"sagittarius":{"unicode":"2650","unicode_alt":"2650-fe0f","code_decimal":"♐","name":"sagittarius","shortname":":sagittarius:","category":"symbols","emoji_order":"2043","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"capricorn":{"unicode":"2651","unicode_alt":"2651-fe0f","code_decimal":"♑","name":"capricorn","shortname":":capricorn:","category":"symbols","emoji_order":"2044","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"aquarius":{"unicode":"2652","unicode_alt":"2652-fe0f","code_decimal":"♒","name":"aquarius","shortname":":aquarius:","category":"symbols","emoji_order":"2045","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"pisces":{"unicode":"2653","unicode_alt":"2653-fe0f","code_decimal":"♓","name":"pisces","shortname":":pisces:","category":"symbols","emoji_order":"2046","aliases":[],"aliases_ascii":[],"keywords":["zodiac","symbol"]},"ophiuchus":{"unicode":"26ce","unicode_alt":"","code_decimal":"⛎","name":"ophiuchus","shortname":":ophiuchus:","category":"symbols","emoji_order":"2047","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"twisted_rightwards_arrows":{"unicode":"1f500","unicode_alt":"","code_decimal":"🔀","name":"twisted rightwards arrows","shortname":":twisted_rightwards_arrows:","category":"symbols","emoji_order":"2048","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"repeat":{"unicode":"1f501","unicode_alt":"","code_decimal":"🔁","name":"clockwise rightwards and leftwards open circle arrows","shortname":":repeat:","category":"symbols","emoji_order":"2049","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"repeat_one":{"unicode":"1f502","unicode_alt":"","code_decimal":"🔂","name":"clockwise rightwards and leftwards open circle arrows with circled one overlay","shortname":":repeat_one:","category":"symbols","emoji_order":"2050","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_forward":{"unicode":"25b6","unicode_alt":"25b6-fe0f","code_decimal":"▶","name":"black right-pointing triangle","shortname":":arrow_forward:","category":"symbols","emoji_order":"2051","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol","triangle"]},"fast_forward":{"unicode":"23e9","unicode_alt":"","code_decimal":"⏩","name":"black right-pointing double triangle","shortname":":fast_forward:","category":"symbols","emoji_order":"2052","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"track_next":{"unicode":"23ed","unicode_alt":"23ed-fe0f","code_decimal":"⏭","name":"black right-pointing double triangle with vertical bar","shortname":":track_next:","category":"symbols","emoji_order":"2053","aliases":[":next_track:"],"aliases_ascii":[],"keywords":["arrow","symbol"]},"play_pause":{"unicode":"23ef","unicode_alt":"23ef-fe0f","code_decimal":"⏯","name":"black right-pointing double triangle with double vertical bar","shortname":":play_pause:","category":"symbols","emoji_order":"2054","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_backward":{"unicode":"25c0","unicode_alt":"25c0-fe0f","code_decimal":"◀","name":"black left-pointing triangle","shortname":":arrow_backward:","category":"symbols","emoji_order":"2055","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol","triangle"]},"rewind":{"unicode":"23ea","unicode_alt":"","code_decimal":"⏪","name":"black left-pointing double triangle","shortname":":rewind:","category":"symbols","emoji_order":"2056","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"track_previous":{"unicode":"23ee","unicode_alt":"23ee-fe0f","code_decimal":"⏮","name":"black left-pointing double triangle with vertical bar","shortname":":track_previous:","category":"symbols","emoji_order":"2057","aliases":[":previous_track:"],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_up_small":{"unicode":"1f53c","unicode_alt":"","code_decimal":"🔼","name":"up-pointing small red triangle","shortname":":arrow_up_small:","category":"symbols","emoji_order":"2058","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol","triangle"]},"arrow_double_up":{"unicode":"23eb","unicode_alt":"","code_decimal":"⏫","name":"black up-pointing double triangle","shortname":":arrow_double_up:","category":"symbols","emoji_order":"2059","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"arrow_down_small":{"unicode":"1f53d","unicode_alt":"","code_decimal":"🔽","name":"down-pointing small red triangle","shortname":":arrow_down_small:","category":"symbols","emoji_order":"2060","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol","triangle"]},"arrow_double_down":{"unicode":"23ec","unicode_alt":"","code_decimal":"⏬","name":"black down-pointing double triangle","shortname":":arrow_double_down:","category":"symbols","emoji_order":"2061","aliases":[],"aliases_ascii":[],"keywords":["arrow","symbol"]},"pause_button":{"unicode":"23f8","unicode_alt":"23f8-fe0f","code_decimal":"⏸","name":"double vertical bar","shortname":":pause_button:","category":"symbols","emoji_order":"2062","aliases":[":double_vertical_bar:"],"aliases_ascii":[],"keywords":["symbol"]},"stop_button":{"unicode":"23f9","unicode_alt":"23f9-fe0f","code_decimal":"⏹","name":"black square for stop","shortname":":stop_button:","category":"symbols","emoji_order":"2063","aliases":[],"aliases_ascii":[],"keywords":["symbol","square"]},"record_button":{"unicode":"23fa","unicode_alt":"23fa-fe0f","code_decimal":"⏺","name":"black circle for record","shortname":":record_button:","category":"symbols","emoji_order":"2064","aliases":[],"aliases_ascii":[],"keywords":["symbol","circle"]},"eject":{"unicode":"23cf","unicode_alt":"23cf-fe0f","code_decimal":"⏏","name":"eject symbol","shortname":":eject:","category":"symbols","emoji_order":"2065","aliases":[":eject_symbol:"],"aliases_ascii":[],"keywords":[]},"cinema":{"unicode":"1f3a6","unicode_alt":"","code_decimal":"🎦","name":"cinema","shortname":":cinema:","category":"symbols","emoji_order":"2066","aliases":[],"aliases_ascii":[],"keywords":["symbol","camera","movie"]},"low_brightness":{"unicode":"1f505","unicode_alt":"","code_decimal":"🔅","name":"low brightness symbol","shortname":":low_brightness:","category":"symbols","emoji_order":"2067","aliases":[],"aliases_ascii":[],"keywords":["symbol","sun"]},"high_brightness":{"unicode":"1f506","unicode_alt":"","code_decimal":"🔆","name":"high brightness symbol","shortname":":high_brightness:","category":"symbols","emoji_order":"2068","aliases":[],"aliases_ascii":[],"keywords":["symbol","sun"]},"signal_strength":{"unicode":"1f4f6","unicode_alt":"","code_decimal":"📶","name":"antenna with bars","shortname":":signal_strength:","category":"symbols","emoji_order":"2069","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"vibration_mode":{"unicode":"1f4f3","unicode_alt":"","code_decimal":"📳","name":"vibration mode","shortname":":vibration_mode:","category":"symbols","emoji_order":"2070","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"mobile_phone_off":{"unicode":"1f4f4","unicode_alt":"","code_decimal":"📴","name":"mobile phone off","shortname":":mobile_phone_off:","category":"symbols","emoji_order":"2071","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"recycle":{"unicode":"267b","unicode_alt":"267b-fe0f","code_decimal":"♻","name":"black universal recycling symbol","shortname":":recycle:","category":"symbols","emoji_order":"2072","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"name_badge":{"unicode":"1f4db","unicode_alt":"","code_decimal":"📛","name":"name badge","shortname":":name_badge:","category":"symbols","emoji_order":"2073","aliases":[],"aliases_ascii":[],"keywords":["work"]},"fleur-de-lis":{"unicode":"269c","unicode_alt":"269c-fe0f","code_decimal":"⚜","name":"fleur-de-lis","shortname":":fleur-de-lis:","category":"symbols","emoji_order":"2074","aliases":[],"aliases_ascii":[],"keywords":["object","symbol"]},"beginner":{"unicode":"1f530","unicode_alt":"","code_decimal":"🔰","name":"japanese symbol for beginner","shortname":":beginner:","category":"symbols","emoji_order":"2075","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"trident":{"unicode":"1f531","unicode_alt":"","code_decimal":"🔱","name":"trident emblem","shortname":":trident:","category":"symbols","emoji_order":"2076","aliases":[],"aliases_ascii":[],"keywords":["object","symbol"]},"o":{"unicode":"2b55","unicode_alt":"2b55-fe0f","code_decimal":"⭕","name":"heavy large circle","shortname":":o:","category":"symbols","emoji_order":"2077","aliases":[],"aliases_ascii":[],"keywords":["symbol","circle"]},"white_check_mark":{"unicode":"2705","unicode_alt":"","code_decimal":"✅","name":"white heavy check mark","shortname":":white_check_mark:","category":"symbols","emoji_order":"2078","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"ballot_box_with_check":{"unicode":"2611","unicode_alt":"2611-fe0f","code_decimal":"☑","name":"ballot box with check","shortname":":ballot_box_with_check:","category":"symbols","emoji_order":"2079","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"heavy_check_mark":{"unicode":"2714","unicode_alt":"2714-fe0f","code_decimal":"✔","name":"heavy check mark","shortname":":heavy_check_mark:","category":"symbols","emoji_order":"2080","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"heavy_multiplication_x":{"unicode":"2716","unicode_alt":"2716-fe0f","code_decimal":"✖","name":"heavy multiplication x","shortname":":heavy_multiplication_x:","category":"symbols","emoji_order":"2081","aliases":[],"aliases_ascii":[],"keywords":["math","symbol"]},"x":{"unicode":"274c","unicode_alt":"","code_decimal":"❌","name":"cross mark","shortname":":x:","category":"symbols","emoji_order":"2082","aliases":[],"aliases_ascii":[],"keywords":["symbol","sol"]},"negative_squared_cross_mark":{"unicode":"274e","unicode_alt":"","code_decimal":"❎","name":"negative squared cross mark","shortname":":negative_squared_cross_mark:","category":"symbols","emoji_order":"2083","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"heavy_plus_sign":{"unicode":"2795","unicode_alt":"","code_decimal":"➕","name":"heavy plus sign","shortname":":heavy_plus_sign:","category":"symbols","emoji_order":"2084","aliases":[],"aliases_ascii":[],"keywords":["math","symbol"]},"heavy_minus_sign":{"unicode":"2796","unicode_alt":"","code_decimal":"➖","name":"heavy minus sign","shortname":":heavy_minus_sign:","category":"symbols","emoji_order":"2088","aliases":[],"aliases_ascii":[],"keywords":["math","symbol"]},"heavy_division_sign":{"unicode":"2797","unicode_alt":"","code_decimal":"➗","name":"heavy division sign","shortname":":heavy_division_sign:","category":"symbols","emoji_order":"2089","aliases":[],"aliases_ascii":[],"keywords":["math","symbol"]},"curly_loop":{"unicode":"27b0","unicode_alt":"","code_decimal":"➰","name":"curly loop","shortname":":curly_loop:","category":"symbols","emoji_order":"2090","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"loop":{"unicode":"27bf","unicode_alt":"","code_decimal":"➿","name":"double curly loop","shortname":":loop:","category":"symbols","emoji_order":"2091","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"part_alternation_mark":{"unicode":"303d","unicode_alt":"303d-fe0f","code_decimal":"〽","name":"part alternation mark","shortname":":part_alternation_mark:","category":"symbols","emoji_order":"2092","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"eight_spoked_asterisk":{"unicode":"2733","unicode_alt":"2733-fe0f","code_decimal":"✳","name":"eight spoked asterisk","shortname":":eight_spoked_asterisk:","category":"symbols","emoji_order":"2093","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"eight_pointed_black_star":{"unicode":"2734","unicode_alt":"2734-fe0f","code_decimal":"✴","name":"eight pointed black star","shortname":":eight_pointed_black_star:","category":"symbols","emoji_order":"2094","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"sparkle":{"unicode":"2747","unicode_alt":"2747-fe0f","code_decimal":"❇","name":"sparkle","shortname":":sparkle:","category":"symbols","emoji_order":"2095","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"bangbang":{"unicode":"203c","unicode_alt":"203c-fe0f","code_decimal":"‼","name":"double exclamation mark","shortname":":bangbang:","category":"symbols","emoji_order":"2096","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"interrobang":{"unicode":"2049","unicode_alt":"2049-fe0f","code_decimal":"⁉","name":"exclamation question mark","shortname":":interrobang:","category":"symbols","emoji_order":"2097","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"question":{"unicode":"2753","unicode_alt":"","code_decimal":"❓","name":"black question mark ornament","shortname":":question:","category":"symbols","emoji_order":"2098","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation","wth"]},"grey_question":{"unicode":"2754","unicode_alt":"","code_decimal":"❔","name":"white question mark ornament","shortname":":grey_question:","category":"symbols","emoji_order":"2099","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"grey_exclamation":{"unicode":"2755","unicode_alt":"","code_decimal":"❕","name":"white exclamation mark ornament","shortname":":grey_exclamation:","category":"symbols","emoji_order":"2100","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"exclamation":{"unicode":"2757","unicode_alt":"2757-fe0f","code_decimal":"❗","name":"heavy exclamation mark symbol","shortname":":exclamation:","category":"symbols","emoji_order":"2101","aliases":[],"aliases_ascii":[],"keywords":["symbol","punctuation"]},"wavy_dash":{"unicode":"3030","unicode_alt":"3030-fe0f","code_decimal":"〰","name":"wavy dash","shortname":":wavy_dash:","category":"symbols","emoji_order":"2102","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"copyright":{"unicode":"00a9","unicode_alt":"00a9-fe0f","code_decimal":"©","name":"copyright sign","shortname":":copyright:","category":"symbols","emoji_order":"2103","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"registered":{"unicode":"00ae","unicode_alt":"00ae-fe0f","code_decimal":"®","name":"registered sign","shortname":":registered:","category":"symbols","emoji_order":"2104","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"tm":{"unicode":"2122","unicode_alt":"2122-fe0f","code_decimal":"™","name":"trade mark sign","shortname":":tm:","category":"symbols","emoji_order":"2105","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"hash":{"unicode":"0023-20e3","unicode_alt":"0023-fe0f-20e3","code_decimal":"#⃣","name":"keycap number sign","shortname":":hash:","category":"symbols","emoji_order":"2106","aliases":[],"aliases_ascii":[],"keywords":["number","symbol"]},"asterisk":{"unicode":"002a-20e3","unicode_alt":"002a-fe0f-20e3","code_decimal":"*⃣","name":"keycap asterisk","shortname":":asterisk:","category":"symbols","emoji_order":"2107","aliases":[":keycap_asterisk:"],"aliases_ascii":[],"keywords":["symbol"]},"zero":{"unicode":"0030-20e3","unicode_alt":"0030-fe0f-20e3","code_decimal":"0⃣","name":"keycap digit zero","shortname":":zero:","category":"symbols","emoji_order":"2108","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"one":{"unicode":"0031-20e3","unicode_alt":"0031-fe0f-20e3","code_decimal":"1⃣","name":"keycap digit one","shortname":":one:","category":"symbols","emoji_order":"2109","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"two":{"unicode":"0032-20e3","unicode_alt":"0032-fe0f-20e3","code_decimal":"2⃣","name":"keycap digit two","shortname":":two:","category":"symbols","emoji_order":"2110","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"three":{"unicode":"0033-20e3","unicode_alt":"0033-fe0f-20e3","code_decimal":"3⃣","name":"keycap digit three","shortname":":three:","category":"symbols","emoji_order":"2111","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"four":{"unicode":"0034-20e3","unicode_alt":"0034-fe0f-20e3","code_decimal":"4⃣","name":"keycap digit four","shortname":":four:","category":"symbols","emoji_order":"2112","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"five":{"unicode":"0035-20e3","unicode_alt":"0035-fe0f-20e3","code_decimal":"5⃣","name":"keycap digit five","shortname":":five:","category":"symbols","emoji_order":"2113","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"six":{"unicode":"0036-20e3","unicode_alt":"0036-fe0f-20e3","code_decimal":"6⃣","name":"keycap digit six","shortname":":six:","category":"symbols","emoji_order":"2114","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"seven":{"unicode":"0037-20e3","unicode_alt":"0037-fe0f-20e3","code_decimal":"7⃣","name":"keycap digit seven","shortname":":seven:","category":"symbols","emoji_order":"2115","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"eight":{"unicode":"0038-20e3","unicode_alt":"0038-fe0f-20e3","code_decimal":"8⃣","name":"keycap digit eight","shortname":":eight:","category":"symbols","emoji_order":"2116","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"nine":{"unicode":"0039-20e3","unicode_alt":"0039-fe0f-20e3","code_decimal":"9⃣","name":"keycap digit nine","shortname":":nine:","category":"symbols","emoji_order":"2117","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"keycap_ten":{"unicode":"1f51f","unicode_alt":"","code_decimal":"🔟","name":"keycap ten","shortname":":keycap_ten:","category":"symbols","emoji_order":"2118","aliases":[],"aliases_ascii":[],"keywords":["number","math","symbol"]},"100":{"unicode":"1f4af","unicode_alt":"","code_decimal":"💯","name":"hundred points symbol","shortname":":100:","category":"symbols","emoji_order":"2119","aliases":[],"aliases_ascii":[],"keywords":["symbol","wow","win","perfect","parties"]},"capital_abcd":{"unicode":"1f520","unicode_alt":"","code_decimal":"🔠","name":"input symbol for latin capital letters","shortname":":capital_abcd:","category":"symbols","emoji_order":"2120","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"abcd":{"unicode":"1f521","unicode_alt":"","code_decimal":"🔡","name":"input symbol for latin small letters","shortname":":abcd:","category":"symbols","emoji_order":"2121","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"1234":{"unicode":"1f522","unicode_alt":"","code_decimal":"🔢","name":"input symbol for numbers","shortname":":1234:","category":"symbols","emoji_order":"2122","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"symbols":{"unicode":"1f523","unicode_alt":"","code_decimal":"🔣","name":"input symbol for symbols","shortname":":symbols:","category":"symbols","emoji_order":"2123","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"abc":{"unicode":"1f524","unicode_alt":"","code_decimal":"🔤","name":"input symbol for latin letters","shortname":":abc:","category":"symbols","emoji_order":"2124","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"a":{"unicode":"1f170","unicode_alt":"","code_decimal":"🅰","name":"negative squared latin capital letter a","shortname":":a:","category":"symbols","emoji_order":"2125","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"ab":{"unicode":"1f18e","unicode_alt":"","code_decimal":"🆎","name":"negative squared ab","shortname":":ab:","category":"symbols","emoji_order":"2126","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"b":{"unicode":"1f171","unicode_alt":"","code_decimal":"🅱","name":"negative squared latin capital letter b","shortname":":b:","category":"symbols","emoji_order":"2127","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"cl":{"unicode":"1f191","unicode_alt":"","code_decimal":"🆑","name":"squared cl","shortname":":cl:","category":"symbols","emoji_order":"2128","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"cool":{"unicode":"1f192","unicode_alt":"","code_decimal":"🆒","name":"squared cool","shortname":":cool:","category":"symbols","emoji_order":"2129","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"free":{"unicode":"1f193","unicode_alt":"","code_decimal":"🆓","name":"squared free","shortname":":free:","category":"symbols","emoji_order":"2130","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"information_source":{"unicode":"2139","unicode_alt":"2139-fe0f","code_decimal":"ℹ","name":"information source","shortname":":information_source:","category":"symbols","emoji_order":"2131","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"id":{"unicode":"1f194","unicode_alt":"","code_decimal":"🆔","name":"squared id","shortname":":id:","category":"symbols","emoji_order":"2132","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"m":{"unicode":"24c2","unicode_alt":"24c2-fe0f","code_decimal":"Ⓜ","name":"circled latin capital letter m","shortname":":m:","category":"symbols","emoji_order":"2133","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"new":{"unicode":"1f195","unicode_alt":"","code_decimal":"🆕","name":"squared new","shortname":":new:","category":"symbols","emoji_order":"2134","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"ng":{"unicode":"1f196","unicode_alt":"","code_decimal":"🆖","name":"squared ng","shortname":":ng:","category":"symbols","emoji_order":"2135","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"o2":{"unicode":"1f17e","unicode_alt":"","code_decimal":"🅾","name":"negative squared latin capital letter o","shortname":":o2:","category":"symbols","emoji_order":"2136","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"ok":{"unicode":"1f197","unicode_alt":"","code_decimal":"🆗","name":"squared ok","shortname":":ok:","category":"symbols","emoji_order":"2137","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"parking":{"unicode":"1f17f","unicode_alt":"1f17f-fe0f","code_decimal":"🅿","name":"negative squared latin capital letter p","shortname":":parking:","category":"symbols","emoji_order":"2138","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"sos":{"unicode":"1f198","unicode_alt":"","code_decimal":"🆘","name":"squared sos","shortname":":sos:","category":"symbols","emoji_order":"2139","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"up":{"unicode":"1f199","unicode_alt":"","code_decimal":"🆙","name":"squared up with exclamation mark","shortname":":up:","category":"symbols","emoji_order":"2140","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"vs":{"unicode":"1f19a","unicode_alt":"","code_decimal":"🆚","name":"squared vs","shortname":":vs:","category":"symbols","emoji_order":"2141","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"koko":{"unicode":"1f201","unicode_alt":"","code_decimal":"🈁","name":"squared katakana koko","shortname":":koko:","category":"symbols","emoji_order":"2142","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"sa":{"unicode":"1f202","unicode_alt":"1f202-fe0f","code_decimal":"🈂","name":"squared katakana sa","shortname":":sa:","category":"symbols","emoji_order":"2143","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u6708":{"unicode":"1f237","unicode_alt":"1f237-fe0f","code_decimal":"🈷","name":"squared cjk unified ideograph-6708","shortname":":u6708:","category":"symbols","emoji_order":"2144","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u6709":{"unicode":"1f236","unicode_alt":"","code_decimal":"🈶","name":"squared cjk unified ideograph-6709","shortname":":u6709:","category":"symbols","emoji_order":"2145","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u6307":{"unicode":"1f22f","unicode_alt":"1f22f-fe0f","code_decimal":"🈯","name":"squared cjk unified ideograph-6307","shortname":":u6307:","category":"symbols","emoji_order":"2146","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"ideograph_advantage":{"unicode":"1f250","unicode_alt":"","code_decimal":"🉐","name":"circled ideograph advantage","shortname":":ideograph_advantage:","category":"symbols","emoji_order":"2147","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"u5272":{"unicode":"1f239","unicode_alt":"","code_decimal":"🈹","name":"squared cjk unified ideograph-5272","shortname":":u5272:","category":"symbols","emoji_order":"2148","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u7121":{"unicode":"1f21a","unicode_alt":"1f21a-fe0f","code_decimal":"🈚","name":"squared cjk unified ideograph-7121","shortname":":u7121:","category":"symbols","emoji_order":"2149","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u7981":{"unicode":"1f232","unicode_alt":"","code_decimal":"🈲","name":"squared cjk unified ideograph-7981","shortname":":u7981:","category":"symbols","emoji_order":"2150","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"accept":{"unicode":"1f251","unicode_alt":"","code_decimal":"🉑","name":"circled ideograph accept","shortname":":accept:","category":"symbols","emoji_order":"2151","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u7533":{"unicode":"1f238","unicode_alt":"","code_decimal":"🈸","name":"squared cjk unified ideograph-7533","shortname":":u7533:","category":"symbols","emoji_order":"2152","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u5408":{"unicode":"1f234","unicode_alt":"","code_decimal":"🈴","name":"squared cjk unified ideograph-5408","shortname":":u5408:","category":"symbols","emoji_order":"2153","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"u7a7a":{"unicode":"1f233","unicode_alt":"","code_decimal":"🈳","name":"squared cjk unified ideograph-7a7a","shortname":":u7a7a:","category":"symbols","emoji_order":"2154","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"congratulations":{"unicode":"3297","unicode_alt":"3297-fe0f","code_decimal":"㊗","name":"circled ideograph congratulation","shortname":":congratulations:","category":"symbols","emoji_order":"2155","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"secret":{"unicode":"3299","unicode_alt":"3299-fe0f","code_decimal":"㊙","name":"circled ideograph secret","shortname":":secret:","category":"symbols","emoji_order":"2156","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"u55b6":{"unicode":"1f23a","unicode_alt":"","code_decimal":"🈺","name":"squared cjk unified ideograph-55b6","shortname":":u55b6:","category":"symbols","emoji_order":"2157","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"u6e80":{"unicode":"1f235","unicode_alt":"","code_decimal":"🈵","name":"squared cjk unified ideograph-6e80","shortname":":u6e80:","category":"symbols","emoji_order":"2158","aliases":[],"aliases_ascii":[],"keywords":["japan","symbol"]},"black_small_square":{"unicode":"25aa","unicode_alt":"25aa-fe0f","code_decimal":"▪","name":"black small square","shortname":":black_small_square:","category":"symbols","emoji_order":"2159","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_small_square":{"unicode":"25ab","unicode_alt":"25ab-fe0f","code_decimal":"▫","name":"white small square","shortname":":white_small_square:","category":"symbols","emoji_order":"2160","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_medium_square":{"unicode":"25fb","unicode_alt":"25fb-fe0f","code_decimal":"◻","name":"white medium square","shortname":":white_medium_square:","category":"symbols","emoji_order":"2161","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"black_medium_square":{"unicode":"25fc","unicode_alt":"25fc-fe0f","code_decimal":"◼","name":"black medium square","shortname":":black_medium_square:","category":"symbols","emoji_order":"2162","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_medium_small_square":{"unicode":"25fd","unicode_alt":"25fd-fe0f","code_decimal":"◽","name":"white medium small square","shortname":":white_medium_small_square:","category":"symbols","emoji_order":"2163","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"black_medium_small_square":{"unicode":"25fe","unicode_alt":"25fe-fe0f","code_decimal":"◾","name":"black medium small square","shortname":":black_medium_small_square:","category":"symbols","emoji_order":"2164","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"black_large_square":{"unicode":"2b1b","unicode_alt":"2b1b-fe0f","code_decimal":"⬛","name":"black large square","shortname":":black_large_square:","category":"symbols","emoji_order":"2165","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_large_square":{"unicode":"2b1c","unicode_alt":"2b1c-fe0f","code_decimal":"⬜","name":"white large square","shortname":":white_large_square:","category":"symbols","emoji_order":"2166","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"large_orange_diamond":{"unicode":"1f536","unicode_alt":"","code_decimal":"🔶","name":"large orange diamond","shortname":":large_orange_diamond:","category":"symbols","emoji_order":"2167","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol"]},"large_blue_diamond":{"unicode":"1f537","unicode_alt":"","code_decimal":"🔷","name":"large blue diamond","shortname":":large_blue_diamond:","category":"symbols","emoji_order":"2168","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol"]},"small_orange_diamond":{"unicode":"1f538","unicode_alt":"","code_decimal":"🔸","name":"small orange diamond","shortname":":small_orange_diamond:","category":"symbols","emoji_order":"2169","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol"]},"small_blue_diamond":{"unicode":"1f539","unicode_alt":"","code_decimal":"🔹","name":"small blue diamond","shortname":":small_blue_diamond:","category":"symbols","emoji_order":"2170","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol"]},"small_red_triangle":{"unicode":"1f53a","unicode_alt":"","code_decimal":"🔺","name":"up-pointing red triangle","shortname":":small_red_triangle:","category":"symbols","emoji_order":"2171","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","triangle"]},"small_red_triangle_down":{"unicode":"1f53b","unicode_alt":"","code_decimal":"🔻","name":"down-pointing red triangle","shortname":":small_red_triangle_down:","category":"symbols","emoji_order":"2172","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","triangle"]},"diamond_shape_with_a_dot_inside":{"unicode":"1f4a0","unicode_alt":"","code_decimal":"💠","name":"diamond shape with a dot inside","shortname":":diamond_shape_with_a_dot_inside:","category":"symbols","emoji_order":"2173","aliases":[],"aliases_ascii":[],"keywords":["symbol"]},"radio_button":{"unicode":"1f518","unicode_alt":"","code_decimal":"🔘","name":"radio button","shortname":":radio_button:","category":"symbols","emoji_order":"2174","aliases":[],"aliases_ascii":[],"keywords":["symbol","circle"]},"black_square_button":{"unicode":"1f532","unicode_alt":"","code_decimal":"🔲","name":"black square button","shortname":":black_square_button:","category":"symbols","emoji_order":"2175","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_square_button":{"unicode":"1f533","unicode_alt":"","code_decimal":"🔳","name":"white square button","shortname":":white_square_button:","category":"symbols","emoji_order":"2176","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","square"]},"white_circle":{"unicode":"26aa","unicode_alt":"26aa-fe0f","code_decimal":"⚪","name":"white circle","shortname":":white_circle:","category":"symbols","emoji_order":"2177","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","circle"]},"black_circle":{"unicode":"26ab","unicode_alt":"26ab-fe0f","code_decimal":"⚫","name":"black circle","shortname":":black_circle:","category":"symbols","emoji_order":"2178","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","circle"]},"red_circle":{"unicode":"1f534","unicode_alt":"","code_decimal":"🔴","name":"red circle","shortname":":red_circle:","category":"symbols","emoji_order":"2179","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","circle"]},"blue_circle":{"unicode":"1f535","unicode_alt":"","code_decimal":"🔵","name":"blue circle","shortname":":blue_circle:","category":"symbols","emoji_order":"2180","aliases":[],"aliases_ascii":[],"keywords":["shapes","symbol","circle"]},"checkered_flag":{"unicode":"1f3c1","unicode_alt":"","code_decimal":"🏁","name":"chequered flag","shortname":":checkered_flag:","category":"travel","emoji_order":"2181","aliases":[],"aliases_ascii":[],"keywords":["object"]},"triangular_flag_on_post":{"unicode":"1f6a9","unicode_alt":"","code_decimal":"🚩","name":"triangular flag on post","shortname":":triangular_flag_on_post:","category":"objects","emoji_order":"2182","aliases":[],"aliases_ascii":[],"keywords":["object"]},"crossed_flags":{"unicode":"1f38c","unicode_alt":"","code_decimal":"🎌","name":"crossed flags","shortname":":crossed_flags:","category":"objects","emoji_order":"2183","aliases":[],"aliases_ascii":[],"keywords":["object","japan"]},"flag_black":{"unicode":"1f3f4","unicode_alt":"","code_decimal":"🏴","name":"waving black flag","shortname":":flag_black:","category":"objects","emoji_order":"2184","aliases":[":waving_black_flag:"],"aliases_ascii":[],"keywords":["object"]},"flag_white":{"unicode":"1f3f3","unicode_alt":"1f3f3-fe0f","code_decimal":"🏳","name":"waving white flag","shortname":":flag_white:","category":"objects","emoji_order":"2185","aliases":[":waving_white_flag:"],"aliases_ascii":[],"keywords":["object"]},"rainbow_flag":{"unicode":"1f3f3-1f308","unicode_alt":"","code_decimal":"🏳🌈","name":"rainbow_flag","shortname":":rainbow_flag:","category":"objects","emoji_order":"2186","aliases":[":gay_pride_flag:"],"aliases_ascii":[],"keywords":[]},"flag_ac":{"unicode":"1f1e6-1f1e8","unicode_alt":"","code_decimal":"🇦🇨","name":"ascension","shortname":":flag_ac:","category":"flags","emoji_order":"2187","aliases":[":ac:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ad":{"unicode":"1f1e6-1f1e9","unicode_alt":"","code_decimal":"🇦🇩","name":"andorra","shortname":":flag_ad:","category":"flags","emoji_order":"2188","aliases":[":ad:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ae":{"unicode":"1f1e6-1f1ea","unicode_alt":"","code_decimal":"🇦🇪","name":"the united arab emirates","shortname":":flag_ae:","category":"flags","emoji_order":"2189","aliases":[":ae:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_af":{"unicode":"1f1e6-1f1eb","unicode_alt":"","code_decimal":"🇦🇫","name":"afghanistan","shortname":":flag_af:","category":"flags","emoji_order":"2190","aliases":[":af:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ag":{"unicode":"1f1e6-1f1ec","unicode_alt":"","code_decimal":"🇦🇬","name":"antigua and barbuda","shortname":":flag_ag:","category":"flags","emoji_order":"2191","aliases":[":ag:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ai":{"unicode":"1f1e6-1f1ee","unicode_alt":"","code_decimal":"🇦🇮","name":"anguilla","shortname":":flag_ai:","category":"flags","emoji_order":"2192","aliases":[":ai:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_al":{"unicode":"1f1e6-1f1f1","unicode_alt":"","code_decimal":"🇦🇱","name":"albania","shortname":":flag_al:","category":"flags","emoji_order":"2193","aliases":[":al:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_am":{"unicode":"1f1e6-1f1f2","unicode_alt":"","code_decimal":"🇦🇲","name":"armenia","shortname":":flag_am:","category":"flags","emoji_order":"2194","aliases":[":am:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ao":{"unicode":"1f1e6-1f1f4","unicode_alt":"","code_decimal":"🇦🇴","name":"angola","shortname":":flag_ao:","category":"flags","emoji_order":"2195","aliases":[":ao:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_aq":{"unicode":"1f1e6-1f1f6","unicode_alt":"","code_decimal":"🇦🇶","name":"antarctica","shortname":":flag_aq:","category":"flags","emoji_order":"2196","aliases":[":aq:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ar":{"unicode":"1f1e6-1f1f7","unicode_alt":"","code_decimal":"🇦🇷","name":"argentina","shortname":":flag_ar:","category":"flags","emoji_order":"2197","aliases":[":ar:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_as":{"unicode":"1f1e6-1f1f8","unicode_alt":"","code_decimal":"🇦🇸","name":"american samoa","shortname":":flag_as:","category":"flags","emoji_order":"2198","aliases":[":as:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_at":{"unicode":"1f1e6-1f1f9","unicode_alt":"","code_decimal":"🇦🇹","name":"austria","shortname":":flag_at:","category":"flags","emoji_order":"2199","aliases":[":at:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_au":{"unicode":"1f1e6-1f1fa","unicode_alt":"","code_decimal":"🇦🇺","name":"australia","shortname":":flag_au:","category":"flags","emoji_order":"2200","aliases":[":au:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_aw":{"unicode":"1f1e6-1f1fc","unicode_alt":"","code_decimal":"🇦🇼","name":"aruba","shortname":":flag_aw:","category":"flags","emoji_order":"2201","aliases":[":aw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ax":{"unicode":"1f1e6-1f1fd","unicode_alt":"","code_decimal":"🇦🇽","name":"\u00e5land islands","shortname":":flag_ax:","category":"flags","emoji_order":"2202","aliases":[":ax:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_az":{"unicode":"1f1e6-1f1ff","unicode_alt":"","code_decimal":"🇦🇿","name":"azerbaijan","shortname":":flag_az:","category":"flags","emoji_order":"2203","aliases":[":az:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ba":{"unicode":"1f1e7-1f1e6","unicode_alt":"","code_decimal":"🇧🇦","name":"bosnia and herzegovina","shortname":":flag_ba:","category":"flags","emoji_order":"2204","aliases":[":ba:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bb":{"unicode":"1f1e7-1f1e7","unicode_alt":"","code_decimal":"🇧🇧","name":"barbados","shortname":":flag_bb:","category":"flags","emoji_order":"2205","aliases":[":bb:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bd":{"unicode":"1f1e7-1f1e9","unicode_alt":"","code_decimal":"🇧🇩","name":"bangladesh","shortname":":flag_bd:","category":"flags","emoji_order":"2206","aliases":[":bd:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_be":{"unicode":"1f1e7-1f1ea","unicode_alt":"","code_decimal":"🇧🇪","name":"belgium","shortname":":flag_be:","category":"flags","emoji_order":"2207","aliases":[":be:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bf":{"unicode":"1f1e7-1f1eb","unicode_alt":"","code_decimal":"🇧🇫","name":"burkina faso","shortname":":flag_bf:","category":"flags","emoji_order":"2208","aliases":[":bf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bg":{"unicode":"1f1e7-1f1ec","unicode_alt":"","code_decimal":"🇧🇬","name":"bulgaria","shortname":":flag_bg:","category":"flags","emoji_order":"2209","aliases":[":bg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bh":{"unicode":"1f1e7-1f1ed","unicode_alt":"","code_decimal":"🇧🇭","name":"bahrain","shortname":":flag_bh:","category":"flags","emoji_order":"2210","aliases":[":bh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bi":{"unicode":"1f1e7-1f1ee","unicode_alt":"","code_decimal":"🇧🇮","name":"burundi","shortname":":flag_bi:","category":"flags","emoji_order":"2211","aliases":[":bi:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bj":{"unicode":"1f1e7-1f1ef","unicode_alt":"","code_decimal":"🇧🇯","name":"benin","shortname":":flag_bj:","category":"flags","emoji_order":"2212","aliases":[":bj:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bl":{"unicode":"1f1e7-1f1f1","unicode_alt":"","code_decimal":"🇧🇱","name":"saint barth\u00e9lemy","shortname":":flag_bl:","category":"flags","emoji_order":"2213","aliases":[":bl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bm":{"unicode":"1f1e7-1f1f2","unicode_alt":"","code_decimal":"🇧🇲","name":"bermuda","shortname":":flag_bm:","category":"flags","emoji_order":"2214","aliases":[":bm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bn":{"unicode":"1f1e7-1f1f3","unicode_alt":"","code_decimal":"🇧🇳","name":"brunei","shortname":":flag_bn:","category":"flags","emoji_order":"2215","aliases":[":bn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bo":{"unicode":"1f1e7-1f1f4","unicode_alt":"","code_decimal":"🇧🇴","name":"bolivia","shortname":":flag_bo:","category":"flags","emoji_order":"2216","aliases":[":bo:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bq":{"unicode":"1f1e7-1f1f6","unicode_alt":"","code_decimal":"🇧🇶","name":"caribbean netherlands","shortname":":flag_bq:","category":"flags","emoji_order":"2217","aliases":[":bq:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_br":{"unicode":"1f1e7-1f1f7","unicode_alt":"","code_decimal":"🇧🇷","name":"brazil","shortname":":flag_br:","category":"flags","emoji_order":"2218","aliases":[":br:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bs":{"unicode":"1f1e7-1f1f8","unicode_alt":"","code_decimal":"🇧🇸","name":"the bahamas","shortname":":flag_bs:","category":"flags","emoji_order":"2219","aliases":[":bs:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bt":{"unicode":"1f1e7-1f1f9","unicode_alt":"","code_decimal":"🇧🇹","name":"bhutan","shortname":":flag_bt:","category":"flags","emoji_order":"2220","aliases":[":bt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bv":{"unicode":"1f1e7-1f1fb","unicode_alt":"","code_decimal":"🇧🇻","name":"bouvet island","shortname":":flag_bv:","category":"flags","emoji_order":"2221","aliases":[":bv:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bw":{"unicode":"1f1e7-1f1fc","unicode_alt":"","code_decimal":"🇧🇼","name":"botswana","shortname":":flag_bw:","category":"flags","emoji_order":"2222","aliases":[":bw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_by":{"unicode":"1f1e7-1f1fe","unicode_alt":"","code_decimal":"🇧🇾","name":"belarus","shortname":":flag_by:","category":"flags","emoji_order":"2223","aliases":[":by:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_bz":{"unicode":"1f1e7-1f1ff","unicode_alt":"","code_decimal":"🇧🇿","name":"belize","shortname":":flag_bz:","category":"flags","emoji_order":"2224","aliases":[":bz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ca":{"unicode":"1f1e8-1f1e6","unicode_alt":"","code_decimal":"🇨🇦","name":"canada","shortname":":flag_ca:","category":"flags","emoji_order":"2225","aliases":[":ca:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cc":{"unicode":"1f1e8-1f1e8","unicode_alt":"","code_decimal":"🇨🇨","name":"cocos (keeling) islands","shortname":":flag_cc:","category":"flags","emoji_order":"2226","aliases":[":cc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cd":{"unicode":"1f1e8-1f1e9","unicode_alt":"","code_decimal":"🇨🇩","name":"the democratic republic of the congo","shortname":":flag_cd:","category":"flags","emoji_order":"2227","aliases":[":congo:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cf":{"unicode":"1f1e8-1f1eb","unicode_alt":"","code_decimal":"🇨🇫","name":"central african republic","shortname":":flag_cf:","category":"flags","emoji_order":"2228","aliases":[":cf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cg":{"unicode":"1f1e8-1f1ec","unicode_alt":"","code_decimal":"🇨🇬","name":"the republic of the congo","shortname":":flag_cg:","category":"flags","emoji_order":"2229","aliases":[":cg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ch":{"unicode":"1f1e8-1f1ed","unicode_alt":"","code_decimal":"🇨🇭","name":"switzerland","shortname":":flag_ch:","category":"flags","emoji_order":"2230","aliases":[":ch:"],"aliases_ascii":[],"keywords":["country","neutral","flag"]},"flag_ci":{"unicode":"1f1e8-1f1ee","unicode_alt":"","code_decimal":"🇨🇮","name":"c\u00f4te d\u2019ivoire","shortname":":flag_ci:","category":"flags","emoji_order":"2231","aliases":[":ci:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ck":{"unicode":"1f1e8-1f1f0","unicode_alt":"","code_decimal":"🇨🇰","name":"cook islands","shortname":":flag_ck:","category":"flags","emoji_order":"2232","aliases":[":ck:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cl":{"unicode":"1f1e8-1f1f1","unicode_alt":"","code_decimal":"🇨🇱","name":"chile","shortname":":flag_cl:","category":"flags","emoji_order":"2233","aliases":[":chile:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cm":{"unicode":"1f1e8-1f1f2","unicode_alt":"","code_decimal":"🇨🇲","name":"cameroon","shortname":":flag_cm:","category":"flags","emoji_order":"2234","aliases":[":cm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cn":{"unicode":"1f1e8-1f1f3","unicode_alt":"","code_decimal":"🇨🇳","name":"china","shortname":":flag_cn:","category":"flags","emoji_order":"2235","aliases":[":cn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_co":{"unicode":"1f1e8-1f1f4","unicode_alt":"","code_decimal":"🇨🇴","name":"colombia","shortname":":flag_co:","category":"flags","emoji_order":"2236","aliases":[":co:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cp":{"unicode":"1f1e8-1f1f5","unicode_alt":"","code_decimal":"🇨🇵","name":"clipperton island","shortname":":flag_cp:","category":"flags","emoji_order":"2237","aliases":[":cp:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cr":{"unicode":"1f1e8-1f1f7","unicode_alt":"","code_decimal":"🇨🇷","name":"costa rica","shortname":":flag_cr:","category":"flags","emoji_order":"2238","aliases":[":cr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cu":{"unicode":"1f1e8-1f1fa","unicode_alt":"","code_decimal":"🇨🇺","name":"cuba","shortname":":flag_cu:","category":"flags","emoji_order":"2239","aliases":[":cu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cv":{"unicode":"1f1e8-1f1fb","unicode_alt":"","code_decimal":"🇨🇻","name":"cape verde","shortname":":flag_cv:","category":"flags","emoji_order":"2240","aliases":[":cv:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cw":{"unicode":"1f1e8-1f1fc","unicode_alt":"","code_decimal":"🇨🇼","name":"cura\u00e7ao","shortname":":flag_cw:","category":"flags","emoji_order":"2241","aliases":[":cw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cx":{"unicode":"1f1e8-1f1fd","unicode_alt":"","code_decimal":"🇨🇽","name":"christmas island","shortname":":flag_cx:","category":"flags","emoji_order":"2242","aliases":[":cx:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cy":{"unicode":"1f1e8-1f1fe","unicode_alt":"","code_decimal":"🇨🇾","name":"cyprus","shortname":":flag_cy:","category":"flags","emoji_order":"2243","aliases":[":cy:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_cz":{"unicode":"1f1e8-1f1ff","unicode_alt":"","code_decimal":"🇨🇿","name":"the czech republic","shortname":":flag_cz:","category":"flags","emoji_order":"2244","aliases":[":cz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_de":{"unicode":"1f1e9-1f1ea","unicode_alt":"","code_decimal":"🇩🇪","name":"germany","shortname":":flag_de:","category":"flags","emoji_order":"2245","aliases":[":de:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_dg":{"unicode":"1f1e9-1f1ec","unicode_alt":"","code_decimal":"🇩🇬","name":"diego garcia","shortname":":flag_dg:","category":"flags","emoji_order":"2246","aliases":[":dg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_dj":{"unicode":"1f1e9-1f1ef","unicode_alt":"","code_decimal":"🇩🇯","name":"djibouti","shortname":":flag_dj:","category":"flags","emoji_order":"2247","aliases":[":dj:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_dk":{"unicode":"1f1e9-1f1f0","unicode_alt":"","code_decimal":"🇩🇰","name":"denmark","shortname":":flag_dk:","category":"flags","emoji_order":"2248","aliases":[":dk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_dm":{"unicode":"1f1e9-1f1f2","unicode_alt":"","code_decimal":"🇩🇲","name":"dominica","shortname":":flag_dm:","category":"flags","emoji_order":"2249","aliases":[":dm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_do":{"unicode":"1f1e9-1f1f4","unicode_alt":"","code_decimal":"🇩🇴","name":"the dominican republic","shortname":":flag_do:","category":"flags","emoji_order":"2250","aliases":[":do:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_dz":{"unicode":"1f1e9-1f1ff","unicode_alt":"","code_decimal":"🇩🇿","name":"algeria","shortname":":flag_dz:","category":"flags","emoji_order":"2251","aliases":[":dz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ea":{"unicode":"1f1ea-1f1e6","unicode_alt":"","code_decimal":"🇪🇦","name":"ceuta, melilla","shortname":":flag_ea:","category":"flags","emoji_order":"2252","aliases":[":ea:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ec":{"unicode":"1f1ea-1f1e8","unicode_alt":"","code_decimal":"🇪🇨","name":"ecuador","shortname":":flag_ec:","category":"flags","emoji_order":"2253","aliases":[":ec:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ee":{"unicode":"1f1ea-1f1ea","unicode_alt":"","code_decimal":"🇪🇪","name":"estonia","shortname":":flag_ee:","category":"flags","emoji_order":"2254","aliases":[":ee:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_eg":{"unicode":"1f1ea-1f1ec","unicode_alt":"","code_decimal":"🇪🇬","name":"egypt","shortname":":flag_eg:","category":"flags","emoji_order":"2255","aliases":[":eg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_eh":{"unicode":"1f1ea-1f1ed","unicode_alt":"","code_decimal":"🇪🇭","name":"western sahara","shortname":":flag_eh:","category":"flags","emoji_order":"2256","aliases":[":eh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_er":{"unicode":"1f1ea-1f1f7","unicode_alt":"","code_decimal":"🇪🇷","name":"eritrea","shortname":":flag_er:","category":"flags","emoji_order":"2257","aliases":[":er:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_es":{"unicode":"1f1ea-1f1f8","unicode_alt":"","code_decimal":"🇪🇸","name":"spain","shortname":":flag_es:","category":"flags","emoji_order":"2258","aliases":[":es:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_et":{"unicode":"1f1ea-1f1f9","unicode_alt":"","code_decimal":"🇪🇹","name":"ethiopia","shortname":":flag_et:","category":"flags","emoji_order":"2259","aliases":[":et:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_eu":{"unicode":"1f1ea-1f1fa","unicode_alt":"","code_decimal":"🇪🇺","name":"european union","shortname":":flag_eu:","category":"flags","emoji_order":"2260","aliases":[":eu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fi":{"unicode":"1f1eb-1f1ee","unicode_alt":"","code_decimal":"🇫🇮","name":"finland","shortname":":flag_fi:","category":"flags","emoji_order":"2261","aliases":[":fi:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fj":{"unicode":"1f1eb-1f1ef","unicode_alt":"","code_decimal":"🇫🇯","name":"fiji","shortname":":flag_fj:","category":"flags","emoji_order":"2262","aliases":[":fj:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fk":{"unicode":"1f1eb-1f1f0","unicode_alt":"","code_decimal":"🇫🇰","name":"falkland islands","shortname":":flag_fk:","category":"flags","emoji_order":"2263","aliases":[":fk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fm":{"unicode":"1f1eb-1f1f2","unicode_alt":"","code_decimal":"🇫🇲","name":"micronesia","shortname":":flag_fm:","category":"flags","emoji_order":"2264","aliases":[":fm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fo":{"unicode":"1f1eb-1f1f4","unicode_alt":"","code_decimal":"🇫🇴","name":"faroe islands","shortname":":flag_fo:","category":"flags","emoji_order":"2265","aliases":[":fo:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_fr":{"unicode":"1f1eb-1f1f7","unicode_alt":"","code_decimal":"🇫🇷","name":"france","shortname":":flag_fr:","category":"flags","emoji_order":"2266","aliases":[":fr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ga":{"unicode":"1f1ec-1f1e6","unicode_alt":"","code_decimal":"🇬🇦","name":"gabon","shortname":":flag_ga:","category":"flags","emoji_order":"2267","aliases":[":ga:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gb":{"unicode":"1f1ec-1f1e7","unicode_alt":"","code_decimal":"🇬🇧","name":"great britain","shortname":":flag_gb:","category":"flags","emoji_order":"2268","aliases":[":gb:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gd":{"unicode":"1f1ec-1f1e9","unicode_alt":"","code_decimal":"🇬🇩","name":"grenada","shortname":":flag_gd:","category":"flags","emoji_order":"2269","aliases":[":gd:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ge":{"unicode":"1f1ec-1f1ea","unicode_alt":"","code_decimal":"🇬🇪","name":"georgia","shortname":":flag_ge:","category":"flags","emoji_order":"2270","aliases":[":ge:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gf":{"unicode":"1f1ec-1f1eb","unicode_alt":"","code_decimal":"🇬🇫","name":"french guiana","shortname":":flag_gf:","category":"flags","emoji_order":"2271","aliases":[":gf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gg":{"unicode":"1f1ec-1f1ec","unicode_alt":"","code_decimal":"🇬🇬","name":"guernsey","shortname":":flag_gg:","category":"flags","emoji_order":"2272","aliases":[":gg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gh":{"unicode":"1f1ec-1f1ed","unicode_alt":"","code_decimal":"🇬🇭","name":"ghana","shortname":":flag_gh:","category":"flags","emoji_order":"2273","aliases":[":gh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gi":{"unicode":"1f1ec-1f1ee","unicode_alt":"","code_decimal":"🇬🇮","name":"gibraltar","shortname":":flag_gi:","category":"flags","emoji_order":"2274","aliases":[":gi:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gl":{"unicode":"1f1ec-1f1f1","unicode_alt":"","code_decimal":"🇬🇱","name":"greenland","shortname":":flag_gl:","category":"flags","emoji_order":"2275","aliases":[":gl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gm":{"unicode":"1f1ec-1f1f2","unicode_alt":"","code_decimal":"🇬🇲","name":"the gambia","shortname":":flag_gm:","category":"flags","emoji_order":"2276","aliases":[":gm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gn":{"unicode":"1f1ec-1f1f3","unicode_alt":"","code_decimal":"🇬🇳","name":"guinea","shortname":":flag_gn:","category":"flags","emoji_order":"2277","aliases":[":gn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gp":{"unicode":"1f1ec-1f1f5","unicode_alt":"","code_decimal":"🇬🇵","name":"guadeloupe","shortname":":flag_gp:","category":"flags","emoji_order":"2278","aliases":[":gp:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gq":{"unicode":"1f1ec-1f1f6","unicode_alt":"","code_decimal":"🇬🇶","name":"equatorial guinea","shortname":":flag_gq:","category":"flags","emoji_order":"2279","aliases":[":gq:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gr":{"unicode":"1f1ec-1f1f7","unicode_alt":"","code_decimal":"🇬🇷","name":"greece","shortname":":flag_gr:","category":"flags","emoji_order":"2280","aliases":[":gr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gs":{"unicode":"1f1ec-1f1f8","unicode_alt":"","code_decimal":"🇬🇸","name":"south georgia","shortname":":flag_gs:","category":"flags","emoji_order":"2281","aliases":[":gs:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gt":{"unicode":"1f1ec-1f1f9","unicode_alt":"","code_decimal":"🇬🇹","name":"guatemala","shortname":":flag_gt:","category":"flags","emoji_order":"2282","aliases":[":gt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gu":{"unicode":"1f1ec-1f1fa","unicode_alt":"","code_decimal":"🇬🇺","name":"guam","shortname":":flag_gu:","category":"flags","emoji_order":"2283","aliases":[":gu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gw":{"unicode":"1f1ec-1f1fc","unicode_alt":"","code_decimal":"🇬🇼","name":"guinea-bissau","shortname":":flag_gw:","category":"flags","emoji_order":"2284","aliases":[":gw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_gy":{"unicode":"1f1ec-1f1fe","unicode_alt":"","code_decimal":"🇬🇾","name":"guyana","shortname":":flag_gy:","category":"flags","emoji_order":"2285","aliases":[":gy:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_hk":{"unicode":"1f1ed-1f1f0","unicode_alt":"","code_decimal":"🇭🇰","name":"hong kong","shortname":":flag_hk:","category":"flags","emoji_order":"2286","aliases":[":hk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_hm":{"unicode":"1f1ed-1f1f2","unicode_alt":"","code_decimal":"🇭🇲","name":"heard island and mcdonald islands","shortname":":flag_hm:","category":"flags","emoji_order":"2287","aliases":[":hm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_hn":{"unicode":"1f1ed-1f1f3","unicode_alt":"","code_decimal":"🇭🇳","name":"honduras","shortname":":flag_hn:","category":"flags","emoji_order":"2288","aliases":[":hn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_hr":{"unicode":"1f1ed-1f1f7","unicode_alt":"","code_decimal":"🇭🇷","name":"croatia","shortname":":flag_hr:","category":"flags","emoji_order":"2289","aliases":[":hr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ht":{"unicode":"1f1ed-1f1f9","unicode_alt":"","code_decimal":"🇭🇹","name":"haiti","shortname":":flag_ht:","category":"flags","emoji_order":"2290","aliases":[":ht:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_hu":{"unicode":"1f1ed-1f1fa","unicode_alt":"","code_decimal":"🇭🇺","name":"hungary","shortname":":flag_hu:","category":"flags","emoji_order":"2291","aliases":[":hu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ic":{"unicode":"1f1ee-1f1e8","unicode_alt":"","code_decimal":"🇮🇨","name":"canary islands","shortname":":flag_ic:","category":"flags","emoji_order":"2292","aliases":[":ic:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_id":{"unicode":"1f1ee-1f1e9","unicode_alt":"","code_decimal":"🇮🇩","name":"indonesia","shortname":":flag_id:","category":"flags","emoji_order":"2293","aliases":[":indonesia:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ie":{"unicode":"1f1ee-1f1ea","unicode_alt":"","code_decimal":"🇮🇪","name":"ireland","shortname":":flag_ie:","category":"flags","emoji_order":"2294","aliases":[":ie:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_il":{"unicode":"1f1ee-1f1f1","unicode_alt":"","code_decimal":"🇮🇱","name":"israel","shortname":":flag_il:","category":"flags","emoji_order":"2295","aliases":[":il:"],"aliases_ascii":[],"keywords":["jew","country","flag"]},"flag_im":{"unicode":"1f1ee-1f1f2","unicode_alt":"","code_decimal":"🇮🇲","name":"isle of man","shortname":":flag_im:","category":"flags","emoji_order":"2296","aliases":[":im:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_in":{"unicode":"1f1ee-1f1f3","unicode_alt":"","code_decimal":"🇮🇳","name":"india","shortname":":flag_in:","category":"flags","emoji_order":"2297","aliases":[":in:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_io":{"unicode":"1f1ee-1f1f4","unicode_alt":"","code_decimal":"🇮🇴","name":"british indian ocean territory","shortname":":flag_io:","category":"flags","emoji_order":"2298","aliases":[":io:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_iq":{"unicode":"1f1ee-1f1f6","unicode_alt":"","code_decimal":"🇮🇶","name":"iraq","shortname":":flag_iq:","category":"flags","emoji_order":"2299","aliases":[":iq:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ir":{"unicode":"1f1ee-1f1f7","unicode_alt":"","code_decimal":"🇮🇷","name":"iran","shortname":":flag_ir:","category":"flags","emoji_order":"2300","aliases":[":ir:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_is":{"unicode":"1f1ee-1f1f8","unicode_alt":"","code_decimal":"🇮🇸","name":"iceland","shortname":":flag_is:","category":"flags","emoji_order":"2301","aliases":[":is:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_it":{"unicode":"1f1ee-1f1f9","unicode_alt":"","code_decimal":"🇮🇹","name":"italy","shortname":":flag_it:","category":"flags","emoji_order":"2302","aliases":[":it:"],"aliases_ascii":[],"keywords":["italian","country","flag"]},"flag_je":{"unicode":"1f1ef-1f1ea","unicode_alt":"","code_decimal":"🇯🇪","name":"jersey","shortname":":flag_je:","category":"flags","emoji_order":"2303","aliases":[":je:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_jm":{"unicode":"1f1ef-1f1f2","unicode_alt":"","code_decimal":"🇯🇲","name":"jamaica","shortname":":flag_jm:","category":"flags","emoji_order":"2304","aliases":[":jm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_jo":{"unicode":"1f1ef-1f1f4","unicode_alt":"","code_decimal":"🇯🇴","name":"jordan","shortname":":flag_jo:","category":"flags","emoji_order":"2305","aliases":[":jo:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_jp":{"unicode":"1f1ef-1f1f5","unicode_alt":"","code_decimal":"🇯🇵","name":"japan","shortname":":flag_jp:","category":"flags","emoji_order":"2306","aliases":[":jp:"],"aliases_ascii":[],"keywords":["japan","country","flag"]},"flag_ke":{"unicode":"1f1f0-1f1ea","unicode_alt":"","code_decimal":"🇰🇪","name":"kenya","shortname":":flag_ke:","category":"flags","emoji_order":"2307","aliases":[":ke:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kg":{"unicode":"1f1f0-1f1ec","unicode_alt":"","code_decimal":"🇰🇬","name":"kyrgyzstan","shortname":":flag_kg:","category":"flags","emoji_order":"2308","aliases":[":kg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kh":{"unicode":"1f1f0-1f1ed","unicode_alt":"","code_decimal":"🇰🇭","name":"cambodia","shortname":":flag_kh:","category":"flags","emoji_order":"2309","aliases":[":kh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ki":{"unicode":"1f1f0-1f1ee","unicode_alt":"","code_decimal":"🇰🇮","name":"kiribati","shortname":":flag_ki:","category":"flags","emoji_order":"2310","aliases":[":ki:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_km":{"unicode":"1f1f0-1f1f2","unicode_alt":"","code_decimal":"🇰🇲","name":"the comoros","shortname":":flag_km:","category":"flags","emoji_order":"2311","aliases":[":km:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kn":{"unicode":"1f1f0-1f1f3","unicode_alt":"","code_decimal":"🇰🇳","name":"saint kitts and nevis","shortname":":flag_kn:","category":"flags","emoji_order":"2312","aliases":[":kn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kp":{"unicode":"1f1f0-1f1f5","unicode_alt":"","code_decimal":"🇰🇵","name":"north korea","shortname":":flag_kp:","category":"flags","emoji_order":"2313","aliases":[":kp:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kr":{"unicode":"1f1f0-1f1f7","unicode_alt":"","code_decimal":"🇰🇷","name":"korea","shortname":":flag_kr:","category":"flags","emoji_order":"2314","aliases":[":kr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kw":{"unicode":"1f1f0-1f1fc","unicode_alt":"","code_decimal":"🇰🇼","name":"kuwait","shortname":":flag_kw:","category":"flags","emoji_order":"2315","aliases":[":kw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ky":{"unicode":"1f1f0-1f1fe","unicode_alt":"","code_decimal":"🇰🇾","name":"cayman islands","shortname":":flag_ky:","category":"flags","emoji_order":"2316","aliases":[":ky:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_kz":{"unicode":"1f1f0-1f1ff","unicode_alt":"","code_decimal":"🇰🇿","name":"kazakhstan","shortname":":flag_kz:","category":"flags","emoji_order":"2317","aliases":[":kz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_la":{"unicode":"1f1f1-1f1e6","unicode_alt":"","code_decimal":"🇱🇦","name":"laos","shortname":":flag_la:","category":"flags","emoji_order":"2318","aliases":[":la:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lb":{"unicode":"1f1f1-1f1e7","unicode_alt":"","code_decimal":"🇱🇧","name":"lebanon","shortname":":flag_lb:","category":"flags","emoji_order":"2319","aliases":[":lb:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lc":{"unicode":"1f1f1-1f1e8","unicode_alt":"","code_decimal":"🇱🇨","name":"saint lucia","shortname":":flag_lc:","category":"flags","emoji_order":"2320","aliases":[":lc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_li":{"unicode":"1f1f1-1f1ee","unicode_alt":"","code_decimal":"🇱🇮","name":"liechtenstein","shortname":":flag_li:","category":"flags","emoji_order":"2321","aliases":[":li:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lk":{"unicode":"1f1f1-1f1f0","unicode_alt":"","code_decimal":"🇱🇰","name":"sri lanka","shortname":":flag_lk:","category":"flags","emoji_order":"2322","aliases":[":lk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lr":{"unicode":"1f1f1-1f1f7","unicode_alt":"","code_decimal":"🇱🇷","name":"liberia","shortname":":flag_lr:","category":"flags","emoji_order":"2323","aliases":[":lr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ls":{"unicode":"1f1f1-1f1f8","unicode_alt":"","code_decimal":"🇱🇸","name":"lesotho","shortname":":flag_ls:","category":"flags","emoji_order":"2324","aliases":[":ls:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lt":{"unicode":"1f1f1-1f1f9","unicode_alt":"","code_decimal":"🇱🇹","name":"lithuania","shortname":":flag_lt:","category":"flags","emoji_order":"2325","aliases":[":lt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lu":{"unicode":"1f1f1-1f1fa","unicode_alt":"","code_decimal":"🇱🇺","name":"luxembourg","shortname":":flag_lu:","category":"flags","emoji_order":"2326","aliases":[":lu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_lv":{"unicode":"1f1f1-1f1fb","unicode_alt":"","code_decimal":"🇱🇻","name":"latvia","shortname":":flag_lv:","category":"flags","emoji_order":"2327","aliases":[":lv:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ly":{"unicode":"1f1f1-1f1fe","unicode_alt":"","code_decimal":"🇱🇾","name":"libya","shortname":":flag_ly:","category":"flags","emoji_order":"2328","aliases":[":ly:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ma":{"unicode":"1f1f2-1f1e6","unicode_alt":"","code_decimal":"🇲🇦","name":"morocco","shortname":":flag_ma:","category":"flags","emoji_order":"2329","aliases":[":ma:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mc":{"unicode":"1f1f2-1f1e8","unicode_alt":"","code_decimal":"🇲🇨","name":"monaco","shortname":":flag_mc:","category":"flags","emoji_order":"2330","aliases":[":mc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_md":{"unicode":"1f1f2-1f1e9","unicode_alt":"","code_decimal":"🇲🇩","name":"moldova","shortname":":flag_md:","category":"flags","emoji_order":"2331","aliases":[":md:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_me":{"unicode":"1f1f2-1f1ea","unicode_alt":"","code_decimal":"🇲🇪","name":"montenegro","shortname":":flag_me:","category":"flags","emoji_order":"2332","aliases":[":me:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mf":{"unicode":"1f1f2-1f1eb","unicode_alt":"","code_decimal":"🇲🇫","name":"saint martin","shortname":":flag_mf:","category":"flags","emoji_order":"2333","aliases":[":mf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mg":{"unicode":"1f1f2-1f1ec","unicode_alt":"","code_decimal":"🇲🇬","name":"madagascar","shortname":":flag_mg:","category":"flags","emoji_order":"2334","aliases":[":mg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mh":{"unicode":"1f1f2-1f1ed","unicode_alt":"","code_decimal":"🇲🇭","name":"the marshall islands","shortname":":flag_mh:","category":"flags","emoji_order":"2335","aliases":[":mh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mk":{"unicode":"1f1f2-1f1f0","unicode_alt":"","code_decimal":"🇲🇰","name":"macedonia","shortname":":flag_mk:","category":"flags","emoji_order":"2336","aliases":[":mk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ml":{"unicode":"1f1f2-1f1f1","unicode_alt":"","code_decimal":"🇲🇱","name":"mali","shortname":":flag_ml:","category":"flags","emoji_order":"2337","aliases":[":ml:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mm":{"unicode":"1f1f2-1f1f2","unicode_alt":"","code_decimal":"🇲🇲","name":"myanmar","shortname":":flag_mm:","category":"flags","emoji_order":"2338","aliases":[":mm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mn":{"unicode":"1f1f2-1f1f3","unicode_alt":"","code_decimal":"🇲🇳","name":"mongolia","shortname":":flag_mn:","category":"flags","emoji_order":"2339","aliases":[":mn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mo":{"unicode":"1f1f2-1f1f4","unicode_alt":"","code_decimal":"🇲🇴","name":"macau","shortname":":flag_mo:","category":"flags","emoji_order":"2340","aliases":[":mo:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mp":{"unicode":"1f1f2-1f1f5","unicode_alt":"","code_decimal":"🇲🇵","name":"northern mariana islands","shortname":":flag_mp:","category":"flags","emoji_order":"2341","aliases":[":mp:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mq":{"unicode":"1f1f2-1f1f6","unicode_alt":"","code_decimal":"🇲🇶","name":"martinique","shortname":":flag_mq:","category":"flags","emoji_order":"2342","aliases":[":mq:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mr":{"unicode":"1f1f2-1f1f7","unicode_alt":"","code_decimal":"🇲🇷","name":"mauritania","shortname":":flag_mr:","category":"flags","emoji_order":"2343","aliases":[":mr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ms":{"unicode":"1f1f2-1f1f8","unicode_alt":"","code_decimal":"🇲🇸","name":"montserrat","shortname":":flag_ms:","category":"flags","emoji_order":"2344","aliases":[":ms:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mt":{"unicode":"1f1f2-1f1f9","unicode_alt":"","code_decimal":"🇲🇹","name":"malta","shortname":":flag_mt:","category":"flags","emoji_order":"2345","aliases":[":mt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mu":{"unicode":"1f1f2-1f1fa","unicode_alt":"","code_decimal":"🇲🇺","name":"mauritius","shortname":":flag_mu:","category":"flags","emoji_order":"2346","aliases":[":mu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mv":{"unicode":"1f1f2-1f1fb","unicode_alt":"","code_decimal":"🇲🇻","name":"maldives","shortname":":flag_mv:","category":"flags","emoji_order":"2347","aliases":[":mv:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mw":{"unicode":"1f1f2-1f1fc","unicode_alt":"","code_decimal":"🇲🇼","name":"malawi","shortname":":flag_mw:","category":"flags","emoji_order":"2348","aliases":[":mw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mx":{"unicode":"1f1f2-1f1fd","unicode_alt":"","code_decimal":"🇲🇽","name":"mexico","shortname":":flag_mx:","category":"flags","emoji_order":"2349","aliases":[":mx:"],"aliases_ascii":[],"keywords":["country","mexican","flag"]},"flag_my":{"unicode":"1f1f2-1f1fe","unicode_alt":"","code_decimal":"🇲🇾","name":"malaysia","shortname":":flag_my:","category":"flags","emoji_order":"2350","aliases":[":my:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_mz":{"unicode":"1f1f2-1f1ff","unicode_alt":"","code_decimal":"🇲🇿","name":"mozambique","shortname":":flag_mz:","category":"flags","emoji_order":"2351","aliases":[":mz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_na":{"unicode":"1f1f3-1f1e6","unicode_alt":"","code_decimal":"🇳🇦","name":"namibia","shortname":":flag_na:","category":"flags","emoji_order":"2352","aliases":[":na:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nc":{"unicode":"1f1f3-1f1e8","unicode_alt":"","code_decimal":"🇳🇨","name":"new caledonia","shortname":":flag_nc:","category":"flags","emoji_order":"2353","aliases":[":nc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ne":{"unicode":"1f1f3-1f1ea","unicode_alt":"","code_decimal":"🇳🇪","name":"niger","shortname":":flag_ne:","category":"flags","emoji_order":"2354","aliases":[":ne:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nf":{"unicode":"1f1f3-1f1eb","unicode_alt":"","code_decimal":"🇳🇫","name":"norfolk island","shortname":":flag_nf:","category":"flags","emoji_order":"2355","aliases":[":nf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ng":{"unicode":"1f1f3-1f1ec","unicode_alt":"","code_decimal":"🇳🇬","name":"nigeria","shortname":":flag_ng:","category":"flags","emoji_order":"2356","aliases":[":nigeria:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ni":{"unicode":"1f1f3-1f1ee","unicode_alt":"","code_decimal":"🇳🇮","name":"nicaragua","shortname":":flag_ni:","category":"flags","emoji_order":"2357","aliases":[":ni:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nl":{"unicode":"1f1f3-1f1f1","unicode_alt":"","code_decimal":"🇳🇱","name":"the netherlands","shortname":":flag_nl:","category":"flags","emoji_order":"2358","aliases":[":nl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_no":{"unicode":"1f1f3-1f1f4","unicode_alt":"","code_decimal":"🇳🇴","name":"norway","shortname":":flag_no:","category":"flags","emoji_order":"2359","aliases":[":no:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_np":{"unicode":"1f1f3-1f1f5","unicode_alt":"","code_decimal":"🇳🇵","name":"nepal","shortname":":flag_np:","category":"flags","emoji_order":"2360","aliases":[":np:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nr":{"unicode":"1f1f3-1f1f7","unicode_alt":"","code_decimal":"🇳🇷","name":"nauru","shortname":":flag_nr:","category":"flags","emoji_order":"2361","aliases":[":nr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nu":{"unicode":"1f1f3-1f1fa","unicode_alt":"","code_decimal":"🇳🇺","name":"niue","shortname":":flag_nu:","category":"flags","emoji_order":"2362","aliases":[":nu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_nz":{"unicode":"1f1f3-1f1ff","unicode_alt":"","code_decimal":"🇳🇿","name":"new zealand","shortname":":flag_nz:","category":"flags","emoji_order":"2363","aliases":[":nz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_om":{"unicode":"1f1f4-1f1f2","unicode_alt":"","code_decimal":"🇴🇲","name":"oman","shortname":":flag_om:","category":"flags","emoji_order":"2364","aliases":[":om:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pa":{"unicode":"1f1f5-1f1e6","unicode_alt":"","code_decimal":"🇵🇦","name":"panama","shortname":":flag_pa:","category":"flags","emoji_order":"2365","aliases":[":pa:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pe":{"unicode":"1f1f5-1f1ea","unicode_alt":"","code_decimal":"🇵🇪","name":"peru","shortname":":flag_pe:","category":"flags","emoji_order":"2366","aliases":[":pe:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pf":{"unicode":"1f1f5-1f1eb","unicode_alt":"","code_decimal":"🇵🇫","name":"french polynesia","shortname":":flag_pf:","category":"flags","emoji_order":"2367","aliases":[":pf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pg":{"unicode":"1f1f5-1f1ec","unicode_alt":"","code_decimal":"🇵🇬","name":"papua new guinea","shortname":":flag_pg:","category":"flags","emoji_order":"2368","aliases":[":pg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ph":{"unicode":"1f1f5-1f1ed","unicode_alt":"","code_decimal":"🇵🇭","name":"the philippines","shortname":":flag_ph:","category":"flags","emoji_order":"2369","aliases":[":ph:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pk":{"unicode":"1f1f5-1f1f0","unicode_alt":"","code_decimal":"🇵🇰","name":"pakistan","shortname":":flag_pk:","category":"flags","emoji_order":"2370","aliases":[":pk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pl":{"unicode":"1f1f5-1f1f1","unicode_alt":"","code_decimal":"🇵🇱","name":"poland","shortname":":flag_pl:","category":"flags","emoji_order":"2371","aliases":[":pl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pm":{"unicode":"1f1f5-1f1f2","unicode_alt":"","code_decimal":"🇵🇲","name":"saint pierre and miquelon","shortname":":flag_pm:","category":"flags","emoji_order":"2372","aliases":[":pm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pn":{"unicode":"1f1f5-1f1f3","unicode_alt":"","code_decimal":"🇵🇳","name":"pitcairn","shortname":":flag_pn:","category":"flags","emoji_order":"2373","aliases":[":pn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pr":{"unicode":"1f1f5-1f1f7","unicode_alt":"","code_decimal":"🇵🇷","name":"puerto rico","shortname":":flag_pr:","category":"flags","emoji_order":"2374","aliases":[":pr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ps":{"unicode":"1f1f5-1f1f8","unicode_alt":"","code_decimal":"🇵🇸","name":"palestinian authority","shortname":":flag_ps:","category":"flags","emoji_order":"2375","aliases":[":ps:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pt":{"unicode":"1f1f5-1f1f9","unicode_alt":"","code_decimal":"🇵🇹","name":"portugal","shortname":":flag_pt:","category":"flags","emoji_order":"2376","aliases":[":pt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_pw":{"unicode":"1f1f5-1f1fc","unicode_alt":"","code_decimal":"🇵🇼","name":"palau","shortname":":flag_pw:","category":"flags","emoji_order":"2377","aliases":[":pw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_py":{"unicode":"1f1f5-1f1fe","unicode_alt":"","code_decimal":"🇵🇾","name":"paraguay","shortname":":flag_py:","category":"flags","emoji_order":"2378","aliases":[":py:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_qa":{"unicode":"1f1f6-1f1e6","unicode_alt":"","code_decimal":"🇶🇦","name":"qatar","shortname":":flag_qa:","category":"flags","emoji_order":"2379","aliases":[":qa:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_re":{"unicode":"1f1f7-1f1ea","unicode_alt":"","code_decimal":"🇷🇪","name":"r\u00e9union","shortname":":flag_re:","category":"flags","emoji_order":"2380","aliases":[":re:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ro":{"unicode":"1f1f7-1f1f4","unicode_alt":"","code_decimal":"🇷🇴","name":"romania","shortname":":flag_ro:","category":"flags","emoji_order":"2381","aliases":[":ro:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_rs":{"unicode":"1f1f7-1f1f8","unicode_alt":"","code_decimal":"🇷🇸","name":"serbia","shortname":":flag_rs:","category":"flags","emoji_order":"2382","aliases":[":rs:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ru":{"unicode":"1f1f7-1f1fa","unicode_alt":"","code_decimal":"🇷🇺","name":"russia","shortname":":flag_ru:","category":"flags","emoji_order":"2383","aliases":[":ru:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_rw":{"unicode":"1f1f7-1f1fc","unicode_alt":"","code_decimal":"🇷🇼","name":"rwanda","shortname":":flag_rw:","category":"flags","emoji_order":"2384","aliases":[":rw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sa":{"unicode":"1f1f8-1f1e6","unicode_alt":"","code_decimal":"🇸🇦","name":"saudi arabia","shortname":":flag_sa:","category":"flags","emoji_order":"2385","aliases":[":saudiarabia:",":saudi:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sb":{"unicode":"1f1f8-1f1e7","unicode_alt":"","code_decimal":"🇸🇧","name":"the solomon islands","shortname":":flag_sb:","category":"flags","emoji_order":"2386","aliases":[":sb:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sc":{"unicode":"1f1f8-1f1e8","unicode_alt":"","code_decimal":"🇸🇨","name":"the seychelles","shortname":":flag_sc:","category":"flags","emoji_order":"2387","aliases":[":sc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sd":{"unicode":"1f1f8-1f1e9","unicode_alt":"","code_decimal":"🇸🇩","name":"sudan","shortname":":flag_sd:","category":"flags","emoji_order":"2388","aliases":[":sd:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_se":{"unicode":"1f1f8-1f1ea","unicode_alt":"","code_decimal":"🇸🇪","name":"sweden","shortname":":flag_se:","category":"flags","emoji_order":"2389","aliases":[":se:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sg":{"unicode":"1f1f8-1f1ec","unicode_alt":"","code_decimal":"🇸🇬","name":"singapore","shortname":":flag_sg:","category":"flags","emoji_order":"2390","aliases":[":sg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sh":{"unicode":"1f1f8-1f1ed","unicode_alt":"","code_decimal":"🇸🇭","name":"saint helena","shortname":":flag_sh:","category":"flags","emoji_order":"2391","aliases":[":sh:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_si":{"unicode":"1f1f8-1f1ee","unicode_alt":"","code_decimal":"🇸🇮","name":"slovenia","shortname":":flag_si:","category":"flags","emoji_order":"2392","aliases":[":si:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sj":{"unicode":"1f1f8-1f1ef","unicode_alt":"","code_decimal":"🇸🇯","name":"svalbard and jan mayen","shortname":":flag_sj:","category":"flags","emoji_order":"2393","aliases":[":sj:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sk":{"unicode":"1f1f8-1f1f0","unicode_alt":"","code_decimal":"🇸🇰","name":"slovakia","shortname":":flag_sk:","category":"flags","emoji_order":"2394","aliases":[":sk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sl":{"unicode":"1f1f8-1f1f1","unicode_alt":"","code_decimal":"🇸🇱","name":"sierra leone","shortname":":flag_sl:","category":"flags","emoji_order":"2395","aliases":[":sl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sm":{"unicode":"1f1f8-1f1f2","unicode_alt":"","code_decimal":"🇸🇲","name":"san marino","shortname":":flag_sm:","category":"flags","emoji_order":"2396","aliases":[":sm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sn":{"unicode":"1f1f8-1f1f3","unicode_alt":"","code_decimal":"🇸🇳","name":"senegal","shortname":":flag_sn:","category":"flags","emoji_order":"2397","aliases":[":sn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_so":{"unicode":"1f1f8-1f1f4","unicode_alt":"","code_decimal":"🇸🇴","name":"somalia","shortname":":flag_so:","category":"flags","emoji_order":"2398","aliases":[":so:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sr":{"unicode":"1f1f8-1f1f7","unicode_alt":"","code_decimal":"🇸🇷","name":"suriname","shortname":":flag_sr:","category":"flags","emoji_order":"2399","aliases":[":sr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ss":{"unicode":"1f1f8-1f1f8","unicode_alt":"","code_decimal":"🇸🇸","name":"south sudan","shortname":":flag_ss:","category":"flags","emoji_order":"2400","aliases":[":ss:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_st":{"unicode":"1f1f8-1f1f9","unicode_alt":"","code_decimal":"🇸🇹","name":"s\u00e3o tom\u00e9 and pr\u00edncipe","shortname":":flag_st:","category":"flags","emoji_order":"2401","aliases":[":st:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sv":{"unicode":"1f1f8-1f1fb","unicode_alt":"","code_decimal":"🇸🇻","name":"el salvador","shortname":":flag_sv:","category":"flags","emoji_order":"2402","aliases":[":sv:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sx":{"unicode":"1f1f8-1f1fd","unicode_alt":"","code_decimal":"🇸🇽","name":"sint maarten","shortname":":flag_sx:","category":"flags","emoji_order":"2403","aliases":[":sx:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sy":{"unicode":"1f1f8-1f1fe","unicode_alt":"","code_decimal":"🇸🇾","name":"syria","shortname":":flag_sy:","category":"flags","emoji_order":"2404","aliases":[":sy:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_sz":{"unicode":"1f1f8-1f1ff","unicode_alt":"","code_decimal":"🇸🇿","name":"swaziland","shortname":":flag_sz:","category":"flags","emoji_order":"2405","aliases":[":sz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ta":{"unicode":"1f1f9-1f1e6","unicode_alt":"","code_decimal":"🇹🇦","name":"tristan da cunha","shortname":":flag_ta:","category":"flags","emoji_order":"2406","aliases":[":ta:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tc":{"unicode":"1f1f9-1f1e8","unicode_alt":"","code_decimal":"🇹🇨","name":"turks and caicos islands","shortname":":flag_tc:","category":"flags","emoji_order":"2407","aliases":[":tc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_td":{"unicode":"1f1f9-1f1e9","unicode_alt":"","code_decimal":"🇹🇩","name":"chad","shortname":":flag_td:","category":"flags","emoji_order":"2408","aliases":[":td:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tf":{"unicode":"1f1f9-1f1eb","unicode_alt":"","code_decimal":"🇹🇫","name":"french southern territories","shortname":":flag_tf:","category":"flags","emoji_order":"2409","aliases":[":tf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tg":{"unicode":"1f1f9-1f1ec","unicode_alt":"","code_decimal":"🇹🇬","name":"togo","shortname":":flag_tg:","category":"flags","emoji_order":"2410","aliases":[":tg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_th":{"unicode":"1f1f9-1f1ed","unicode_alt":"","code_decimal":"🇹🇭","name":"thailand","shortname":":flag_th:","category":"flags","emoji_order":"2411","aliases":[":th:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tj":{"unicode":"1f1f9-1f1ef","unicode_alt":"","code_decimal":"🇹🇯","name":"tajikistan","shortname":":flag_tj:","category":"flags","emoji_order":"2412","aliases":[":tj:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tk":{"unicode":"1f1f9-1f1f0","unicode_alt":"","code_decimal":"🇹🇰","name":"tokelau","shortname":":flag_tk:","category":"flags","emoji_order":"2413","aliases":[":tk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tl":{"unicode":"1f1f9-1f1f1","unicode_alt":"","code_decimal":"🇹🇱","name":"timor-leste","shortname":":flag_tl:","category":"flags","emoji_order":"2414","aliases":[":tl:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tm":{"unicode":"1f1f9-1f1f2","unicode_alt":"","code_decimal":"🇹🇲","name":"turkmenistan","shortname":":flag_tm:","category":"flags","emoji_order":"2415","aliases":[":turkmenistan:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tn":{"unicode":"1f1f9-1f1f3","unicode_alt":"","code_decimal":"🇹🇳","name":"tunisia","shortname":":flag_tn:","category":"flags","emoji_order":"2416","aliases":[":tn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_to":{"unicode":"1f1f9-1f1f4","unicode_alt":"","code_decimal":"🇹🇴","name":"tonga","shortname":":flag_to:","category":"flags","emoji_order":"2417","aliases":[":to:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tr":{"unicode":"1f1f9-1f1f7","unicode_alt":"","code_decimal":"🇹🇷","name":"turkey","shortname":":flag_tr:","category":"flags","emoji_order":"2418","aliases":[":tr:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tt":{"unicode":"1f1f9-1f1f9","unicode_alt":"","code_decimal":"🇹🇹","name":"trinidad and tobago","shortname":":flag_tt:","category":"flags","emoji_order":"2419","aliases":[":tt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tv":{"unicode":"1f1f9-1f1fb","unicode_alt":"","code_decimal":"🇹🇻","name":"tuvalu","shortname":":flag_tv:","category":"flags","emoji_order":"2420","aliases":[":tuvalu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tw":{"unicode":"1f1f9-1f1fc","unicode_alt":"","code_decimal":"🇹🇼","name":"the republic of china","shortname":":flag_tw:","category":"flags","emoji_order":"2421","aliases":[":tw:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_tz":{"unicode":"1f1f9-1f1ff","unicode_alt":"","code_decimal":"🇹🇿","name":"tanzania","shortname":":flag_tz:","category":"flags","emoji_order":"2422","aliases":[":tz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ua":{"unicode":"1f1fa-1f1e6","unicode_alt":"","code_decimal":"🇺🇦","name":"ukraine","shortname":":flag_ua:","category":"flags","emoji_order":"2423","aliases":[":ua:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ug":{"unicode":"1f1fa-1f1ec","unicode_alt":"","code_decimal":"🇺🇬","name":"uganda","shortname":":flag_ug:","category":"flags","emoji_order":"2424","aliases":[":ug:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_um":{"unicode":"1f1fa-1f1f2","unicode_alt":"","code_decimal":"🇺🇲","name":"united states minor outlying islands","shortname":":flag_um:","category":"flags","emoji_order":"2425","aliases":[":um:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_us":{"unicode":"1f1fa-1f1f8","unicode_alt":"","code_decimal":"🇺🇸","name":"united states","shortname":":flag_us:","category":"flags","emoji_order":"2427","aliases":[":us:"],"aliases_ascii":[],"keywords":["america","country","flag"]},"flag_uy":{"unicode":"1f1fa-1f1fe","unicode_alt":"","code_decimal":"🇺🇾","name":"uruguay","shortname":":flag_uy:","category":"flags","emoji_order":"2428","aliases":[":uy:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_uz":{"unicode":"1f1fa-1f1ff","unicode_alt":"","code_decimal":"🇺🇿","name":"uzbekistan","shortname":":flag_uz:","category":"flags","emoji_order":"2429","aliases":[":uz:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_va":{"unicode":"1f1fb-1f1e6","unicode_alt":"","code_decimal":"🇻🇦","name":"the vatican city","shortname":":flag_va:","category":"flags","emoji_order":"2430","aliases":[":va:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_vc":{"unicode":"1f1fb-1f1e8","unicode_alt":"","code_decimal":"🇻🇨","name":"saint vincent and the grenadines","shortname":":flag_vc:","category":"flags","emoji_order":"2431","aliases":[":vc:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ve":{"unicode":"1f1fb-1f1ea","unicode_alt":"","code_decimal":"🇻🇪","name":"venezuela","shortname":":flag_ve:","category":"flags","emoji_order":"2432","aliases":[":ve:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_vg":{"unicode":"1f1fb-1f1ec","unicode_alt":"","code_decimal":"🇻🇬","name":"british virgin islands","shortname":":flag_vg:","category":"flags","emoji_order":"2433","aliases":[":vg:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_vi":{"unicode":"1f1fb-1f1ee","unicode_alt":"","code_decimal":"🇻🇮","name":"u.s. virgin islands","shortname":":flag_vi:","category":"flags","emoji_order":"2434","aliases":[":vi:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_vn":{"unicode":"1f1fb-1f1f3","unicode_alt":"","code_decimal":"🇻🇳","name":"vietnam","shortname":":flag_vn:","category":"flags","emoji_order":"2435","aliases":[":vn:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_vu":{"unicode":"1f1fb-1f1fa","unicode_alt":"","code_decimal":"🇻🇺","name":"vanuatu","shortname":":flag_vu:","category":"flags","emoji_order":"2436","aliases":[":vu:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_wf":{"unicode":"1f1fc-1f1eb","unicode_alt":"","code_decimal":"🇼🇫","name":"wallis and futuna","shortname":":flag_wf:","category":"flags","emoji_order":"2437","aliases":[":wf:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ws":{"unicode":"1f1fc-1f1f8","unicode_alt":"","code_decimal":"🇼🇸","name":"samoa","shortname":":flag_ws:","category":"flags","emoji_order":"2438","aliases":[":ws:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_xk":{"unicode":"1f1fd-1f1f0","unicode_alt":"","code_decimal":"🇽🇰","name":"kosovo","shortname":":flag_xk:","category":"flags","emoji_order":"2439","aliases":[":xk:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_ye":{"unicode":"1f1fe-1f1ea","unicode_alt":"","code_decimal":"🇾🇪","name":"yemen","shortname":":flag_ye:","category":"flags","emoji_order":"2440","aliases":[":ye:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_yt":{"unicode":"1f1fe-1f1f9","unicode_alt":"","code_decimal":"🇾🇹","name":"mayotte","shortname":":flag_yt:","category":"flags","emoji_order":"2441","aliases":[":yt:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_za":{"unicode":"1f1ff-1f1e6","unicode_alt":"","code_decimal":"🇿🇦","name":"south africa","shortname":":flag_za:","category":"flags","emoji_order":"2442","aliases":[":za:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_zm":{"unicode":"1f1ff-1f1f2","unicode_alt":"","code_decimal":"🇿🇲","name":"zambia","shortname":":flag_zm:","category":"flags","emoji_order":"2443","aliases":[":zm:"],"aliases_ascii":[],"keywords":["country","flag"]},"flag_zw":{"unicode":"1f1ff-1f1fc","unicode_alt":"","code_decimal":"🇿🇼","name":"zimbabwe","shortname":":flag_zw:","category":"flags","emoji_order":"2444","aliases":[":zw:"],"aliases_ascii":[],"keywords":["country","flag"]},"regional_indicator_z":{"unicode":"1f1ff","unicode_alt":"","code_decimal":"🇿","name":"regional indicator symbol letter z","shortname":":regional_indicator_z:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_y":{"unicode":"1f1fe","unicode_alt":"","code_decimal":"🇾","name":"regional indicator symbol letter y","shortname":":regional_indicator_y:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_x":{"unicode":"1f1fd","unicode_alt":"","code_decimal":"🇽","name":"regional indicator symbol letter x","shortname":":regional_indicator_x:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_w":{"unicode":"1f1fc","unicode_alt":"","code_decimal":"🇼","name":"regional indicator symbol letter w","shortname":":regional_indicator_w:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_v":{"unicode":"1f1fb","unicode_alt":"","code_decimal":"🇻","name":"regional indicator symbol letter v","shortname":":regional_indicator_v:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_u":{"unicode":"1f1fa","unicode_alt":"","code_decimal":"🇺","name":"regional indicator symbol letter u","shortname":":regional_indicator_u:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_t":{"unicode":"1f1f9","unicode_alt":"","code_decimal":"🇹","name":"regional indicator symbol letter t","shortname":":regional_indicator_t:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_s":{"unicode":"1f1f8","unicode_alt":"","code_decimal":"🇸","name":"regional indicator symbol letter s","shortname":":regional_indicator_s:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_r":{"unicode":"1f1f7","unicode_alt":"","code_decimal":"🇷","name":"regional indicator symbol letter r","shortname":":regional_indicator_r:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_q":{"unicode":"1f1f6","unicode_alt":"","code_decimal":"🇶","name":"regional indicator symbol letter q","shortname":":regional_indicator_q:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_p":{"unicode":"1f1f5","unicode_alt":"","code_decimal":"🇵","name":"regional indicator symbol letter p","shortname":":regional_indicator_p:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_o":{"unicode":"1f1f4","unicode_alt":"","code_decimal":"🇴","name":"regional indicator symbol letter o","shortname":":regional_indicator_o:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_n":{"unicode":"1f1f3","unicode_alt":"","code_decimal":"🇳","name":"regional indicator symbol letter n","shortname":":regional_indicator_n:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_m":{"unicode":"1f1f2","unicode_alt":"","code_decimal":"🇲","name":"regional indicator symbol letter m","shortname":":regional_indicator_m:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_l":{"unicode":"1f1f1","unicode_alt":"","code_decimal":"🇱","name":"regional indicator symbol letter l","shortname":":regional_indicator_l:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_k":{"unicode":"1f1f0","unicode_alt":"","code_decimal":"🇰","name":"regional indicator symbol letter k","shortname":":regional_indicator_k:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_j":{"unicode":"1f1ef","unicode_alt":"","code_decimal":"🇯","name":"regional indicator symbol letter j","shortname":":regional_indicator_j:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_i":{"unicode":"1f1ee","unicode_alt":"","code_decimal":"🇮","name":"regional indicator symbol letter i","shortname":":regional_indicator_i:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_h":{"unicode":"1f1ed","unicode_alt":"","code_decimal":"🇭","name":"regional indicator symbol letter h","shortname":":regional_indicator_h:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_g":{"unicode":"1f1ec","unicode_alt":"","code_decimal":"🇬","name":"regional indicator symbol letter g","shortname":":regional_indicator_g:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_f":{"unicode":"1f1eb","unicode_alt":"","code_decimal":"🇫","name":"regional indicator symbol letter f","shortname":":regional_indicator_f:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_e":{"unicode":"1f1ea","unicode_alt":"","code_decimal":"🇪","name":"regional indicator symbol letter e","shortname":":regional_indicator_e:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_d":{"unicode":"1f1e9","unicode_alt":"","code_decimal":"🇩","name":"regional indicator symbol letter d","shortname":":regional_indicator_d:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_c":{"unicode":"1f1e8","unicode_alt":"","code_decimal":"🇨","name":"regional indicator symbol letter c","shortname":":regional_indicator_c:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_b":{"unicode":"1f1e7","unicode_alt":"","code_decimal":"🇧","name":"regional indicator symbol letter b","shortname":":regional_indicator_b:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]},"regional_indicator_a":{"unicode":"1f1e6","unicode_alt":"","code_decimal":"🇦","name":"regional indicator symbol letter a","shortname":":regional_indicator_a:","category":"regional","emoji_order":"12345","aliases":[],"aliases_ascii":[],"keywords":[]}}
\ No newline at end of file
diff --git a/spec/helpers/emoji_helper_spec.rb b/spec/helpers/emoji_helper_spec.rb
deleted file mode 100644
index 6edf7672f..000000000
--- a/spec/helpers/emoji_helper_spec.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-require 'rails_helper'
-
-RSpec.describe EmojiHelper, type: :helper do
- describe '#emojify' do
- it 'converts shortcodes to unicode' do
- text = ':book: Book'
- expect(emojify(text)).to eq '📖 Book'
- end
-
- it 'converts composite emoji shortcodes to unicode' do
- text = ':couple_ww:'
- expect(emojify(text)).to eq '👩❤👩'
- end
-
- it 'does not convert shortcodes that are part of a string into unicode' do
- text = ':see_no_evil::hear_no_evil::speak_no_evil:'
- expect(emojify(text)).to eq text
- end
- end
-end
diff --git a/spec/lib/emoji_spec.rb b/spec/lib/emoji_spec.rb
deleted file mode 100644
index 04931ccfb..000000000
--- a/spec/lib/emoji_spec.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-require 'rails_helper'
-
-RSpec.describe Emoji do
- describe '#unicode' do
- it 'returns a unicode for a shortcode' do
- expect(Emoji.instance.unicode(':joy:')).to eq '😂'
- end
- end
-
- describe '#names' do
- it 'returns an array' do
- expect(Emoji.instance.names).to be_an Array
- end
- end
-end
--
cgit
From 838f255fc27249196dec0bdaa63660ab51f33567 Mon Sep 17 00:00:00 2001
From: Lynx Kotoura
Date: Sun, 24 Sep 2017 04:06:16 +0900
Subject: Fix overflowing tabs in account__action-bar (#5056)
* Fix numbers in accounts columns
* Support edge compact-header
---
app/javascript/styles/compact_header.scss | 2 +-
app/javascript/styles/components.scss | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/styles/compact_header.scss b/app/javascript/styles/compact_header.scss
index cf12fcfec..90d98cc8c 100644
--- a/app/javascript/styles/compact_header.scss
+++ b/app/javascript/styles/compact_header.scss
@@ -6,7 +6,7 @@
font-weight: 500;
margin-bottom: 20px;
padding: 0 10px;
- overflow-wrap: break-word;
+ word-wrap: break-word;
@media screen and (max-width: 740px) {
text-align: center;
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 755c9eb35..965d10618 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -920,7 +920,7 @@
}
.account__action-bar-dropdown {
- flex: 1 1 auto;
+ flex: 0 1 calc(50% - 140px);
padding: 10px;
.dropdown--active {
@@ -947,7 +947,7 @@
.account__action-bar__tab {
text-decoration: none;
overflow: hidden;
- width: 80px;
+ flex: 0 1 80px;
border-left: 1px solid lighten($ui-base-color, 8%);
padding: 10px 5px;
--
cgit
From 427beb417773497ee3aa3174f85a3deb0f8d19a0 Mon Sep 17 00:00:00 2001
From: m4sk1n
Date: Sat, 23 Sep 2017 22:14:39 +0200
Subject: i18n: Update Polish translation (#5058)
---
app/javascript/mastodon/locales/pl.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index a35668b6b..74e19da96 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -67,17 +67,17 @@
"embed.instructions": "Osadź ten status na swojej stronie wklejając poniższy kod.",
"embed.preview": "Tak będzie to wyglądać:",
"emoji_button.activity": "Aktywność",
- "emoji_button.custom": "Custom",
+ "emoji_button.custom": "Niestandardowe",
"emoji_button.flags": "Flagi",
"emoji_button.food": "Żywność i napoje",
"emoji_button.label": "Wstaw emoji",
"emoji_button.nature": "Natura",
- "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.not_found": "Brak emoji!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objekty",
"emoji_button.people": "Ludzie",
- "emoji_button.recent": "Frequently used",
+ "emoji_button.recent": "Najczęściej używane",
"emoji_button.search": "Szukaj…",
- "emoji_button.search_results": "Search results",
+ "emoji_button.search_results": "Wyniki wyszukiwania",
"emoji_button.symbols": "Symbole",
"emoji_button.travel": "Podróże i miejsca",
"empty_column.community": "Lokalna oś czasu jest pusta. Napisz coś publicznie, aby zagaić!",
--
cgit
From 6dfeb64326336dafb3e4f1a8fc38ba670be2eba3 Mon Sep 17 00:00:00 2001
From: Mingye Wang
Date: Sat, 23 Sep 2017 16:47:15 -0400
Subject: jsx/zh-*: Fix "pin column" for Chinese (#5060)
---
app/javascript/mastodon/locales/zh-CN.json | 10 +++++-----
app/javascript/mastodon/locales/zh-HK.json | 6 +++---
app/javascript/mastodon/locales/zh-TW.json | 4 ++--
3 files changed, 10 insertions(+), 10 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 70589adfb..6a2e26445 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -33,15 +33,15 @@
"column.home": "主页",
"column.mutes": "被静音的用户",
"column.notifications": "通知",
- "column.pins": "Pinned toot",
+ "column.pins": "置顶嘟文",
"column.public": "跨站公共时间轴",
"column_back_button.label": "返回",
"column_header.hide_settings": "隐藏设置",
"column_header.moveLeft_settings": "将栏左移",
"column_header.moveRight_settings": "将栏右移",
- "column_header.pin": "置顶",
+ "column_header.pin": "固定",
"column_header.show_settings": "显示设置",
- "column_header.unpin": "撤顶",
+ "column_header.unpin": "取下",
"column_subheading.navigation": "导航",
"column_subheading.settings": "设置",
"compose_form.lock_disclaimer": "你的帐户没 {locked}. 任何人可以通过关注你来查看只有关注者可见的嘟文.",
@@ -200,9 +200,9 @@
"upload_form.undo": "还原",
"upload_progress.label": "上传中……",
"video.close": "关闭影片",
- "video.exit_fullscreen": "退出全荧幕",
+ "video.exit_fullscreen": "退出全屏",
"video.expand": "展开影片",
- "video.fullscreen": "全荧幕",
+ "video.fullscreen": "全屏",
"video.hide": "隐藏影片",
"video.mute": "静音",
"video.pause": "暂停",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index e702a385e..cfac7de98 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -33,15 +33,15 @@
"column.home": "主頁",
"column.mutes": "靜音名單",
"column.notifications": "通知",
- "column.pins": "Pinned toot",
+ "column.pins": "置頂文章",
"column.public": "跨站時間軸",
"column_back_button.label": "返回",
"column_header.hide_settings": "隱藏設定",
"column_header.moveLeft_settings": "將欄左移",
"column_header.moveRight_settings": "將欄右移",
- "column_header.pin": "置頂",
+ "column_header.pin": "固定",
"column_header.show_settings": "顯示設定",
- "column_header.unpin": "撤頂",
+ "column_header.unpin": "取下",
"column_subheading.navigation": "瀏覽",
"column_subheading.settings": "設定",
"compose_form.lock_disclaimer": "你的用戶狀態為「{locked}」,任何人都能立即關注你,然後看到「只有關注者能看」的文章。",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index 964ce15c0..b2b1299a1 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -39,9 +39,9 @@
"column_header.hide_settings": "隱藏設定",
"column_header.moveLeft_settings": "將欄左移",
"column_header.moveRight_settings": "將欄右移",
- "column_header.pin": "置頂",
+ "column_header.pin": "固定",
"column_header.show_settings": "顯示設定",
- "column_header.unpin": "撤頂",
+ "column_header.unpin": "取下",
"column_subheading.navigation": "瀏覽",
"column_subheading.settings": "設定",
"compose_form.lock_disclaimer": "你的帳號沒有{locked}。任何人都可以關注你,看到發給關注者的貼文。",
--
cgit
From 9c8aad612e09dbd45ea3d0df8a349cd4ce03b5e9 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 24 Sep 2017 00:33:17 +0200
Subject: Require at least 2 characters before showing autosuggestions (#5065)
---
app/javascript/mastodon/components/autosuggest_textarea.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js
index daeb6fd53..6f725885d 100644
--- a/app/javascript/mastodon/components/autosuggest_textarea.js
+++ b/app/javascript/mastodon/components/autosuggest_textarea.js
@@ -20,7 +20,7 @@ const textAtCursorMatchesToken = (str, caretPosition) => {
word = str.slice(left, right + caretPosition);
}
- if (!word || word.trim().length < 2 || ['@', ':'].indexOf(word[0]) === -1) {
+ if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {
return [null, null];
}
--
cgit
From 233258c61b23785adbd46cba4ed33ee955ecc7a2 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 24 Sep 2017 00:33:26 +0200
Subject: Fix media gallery CSS (#5064)
---
app/javascript/styles/components.scss | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 965d10618..371c94831 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -3942,12 +3942,14 @@ button.icon-button.active i.fa-retweet {
.account-gallery__container {
margin: -2px;
padding: 4px;
+ display: flex;
+ flex-wrap: wrap;
}
.account-gallery__item {
- float: left;
- width: 96px;
- height: 96px;
+ flex: 1 1 auto;
+ width: calc(100% / 3 - 4px);
+ height: 95px;
margin: 2px;
a {
@@ -3958,6 +3960,14 @@ button.icon-button.active i.fa-retweet {
background-size: cover;
background-position: center;
position: relative;
+ color: inherit;
+ text-decoration: none;
+
+ &:hover,
+ &:active,
+ &:focus {
+ outline: 0;
+ }
}
}
--
cgit
From 5b8d0ad71b137724660455b41f5e19db438aa201 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 24 Sep 2017 00:40:10 +0200
Subject: Dropdown triangles a bit nicer, smoother scrolling on touch (#5062)
---
app/javascript/mastodon/components/dropdown_menu.js | 7 +++++--
.../features/compose/components/emoji_picker_dropdown.js | 11 ++++++-----
app/javascript/styles/components.scss | 4 ++--
app/javascript/styles/emoji_picker.scss | 2 ++
4 files changed, 15 insertions(+), 9 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js
index 1cfa7b5a2..c0fbcab6d 100644
--- a/app/javascript/mastodon/components/dropdown_menu.js
+++ b/app/javascript/mastodon/components/dropdown_menu.js
@@ -4,6 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import IconButton from './icon_button';
import { Overlay } from 'react-overlays';
import { Motion, spring } from 'react-motion';
+import detectPassiveEvents from 'detect-passive-events';
+
+const listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;
class DropdownMenu extends React.PureComponent {
@@ -33,12 +36,12 @@ class DropdownMenu extends React.PureComponent {
componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false);
- document.addEventListener('touchend', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
componentWillUnmount () {
document.removeEventListener('click', this.handleDocumentClick, false);
- document.removeEventListener('touchend', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
setRef = c => {
diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
index 3cac9b7a6..621cc21ce 100644
--- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
+++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js
@@ -5,6 +5,7 @@ import { Picker, Emoji } from 'emoji-mart';
import { Overlay } from 'react-overlays';
import classNames from 'classnames';
import ImmutablePropTypes from 'react-immutable-proptypes';
+import detectPassiveEvents from 'detect-passive-events';
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
@@ -24,8 +25,8 @@ const messages = defineMessages({
});
const assetHost = process.env.CDN_HOST || '';
-
const backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;
+const listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;
class ModifierPickerMenu extends React.PureComponent {
@@ -60,12 +61,12 @@ class ModifierPickerMenu extends React.PureComponent {
attachListeners () {
document.addEventListener('click', this.handleDocumentClick, false);
- document.addEventListener('touchend', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
removeListeners () {
document.removeEventListener('click', this.handleDocumentClick, false);
- document.removeEventListener('touchend', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
setRef = c => {
@@ -157,12 +158,12 @@ class EmojiPickerMenu extends React.PureComponent {
componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false);
- document.addEventListener('touchend', this.handleDocumentClick, false);
+ document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
componentWillUnmount () {
document.removeEventListener('click', this.handleDocumentClick, false);
- document.removeEventListener('touchend', this.handleDocumentClick, false);
+ document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);
}
setRef = c => {
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 371c94831..62c9b0066 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -1265,14 +1265,14 @@
&.top {
bottom: -5px;
margin-left: -13px;
- border-width: 5px 5px 0;
+ border-width: 5px 7px 0;
border-top-color: $ui-secondary-color;
}
&.bottom {
top: -5px;
margin-left: -13px;
- border-width: 0 5px 5px;
+ border-width: 0 7px 5px;
border-bottom-color: $ui-secondary-color;
}
diff --git a/app/javascript/styles/emoji_picker.scss b/app/javascript/styles/emoji_picker.scss
index dbd9dbd97..2b46d30fc 100644
--- a/app/javascript/styles/emoji_picker.scss
+++ b/app/javascript/styles/emoji_picker.scss
@@ -91,8 +91,10 @@
.emoji-mart-scroll {
overflow-y: scroll;
height: 270px;
+ max-height: 35vh;
padding: 0 6px 6px;
background: $simple-background-color;
+ will-change: transform;
}
.emoji-mart-search {
--
cgit
From dae0af1fd2499a2eca2becbbec13356a27c4e81c Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 24 Sep 2017 01:25:07 +0200
Subject: Change mobile layout breakpoint from 1024px to 630px (#5063)
630px = Drawer + 1 Column
---
app/javascript/mastodon/is_mobile.js | 2 +-
app/javascript/styles/components.scss | 12 ++++++------
app/javascript/styles/rtl.scss | 2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/is_mobile.js b/app/javascript/mastodon/is_mobile.js
index dbdb30081..f96df1ebb 100644
--- a/app/javascript/mastodon/is_mobile.js
+++ b/app/javascript/mastodon/is_mobile.js
@@ -1,6 +1,6 @@
import detectPassiveEvents from 'detect-passive-events';
-const LAYOUT_BREAKPOINT = 1024;
+const LAYOUT_BREAKPOINT = 630;
export function isMobile(width) {
return width <= LAYOUT_BREAKPOINT;
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index 62c9b0066..b6cf920b4 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -222,7 +222,7 @@
}
.dropdown--active::after {
- @media screen and (min-width: 1025px) {
+ @media screen and (min-width: 631px) {
content: "";
display: block;
position: absolute;
@@ -1474,7 +1474,7 @@
}
}
-@media screen and (max-width: 1024px) {
+@media screen and (max-width: 630px) {
.column,
.drawer {
width: 100%;
@@ -1491,7 +1491,7 @@
}
}
-@media screen and (min-width: 1025px) {
+@media screen and (min-width: 631px) {
.columns-area {
padding: 0;
}
@@ -1605,7 +1605,7 @@
&:hover,
&:focus,
&:active {
- @media screen and (min-width: 1025px) {
+ @media screen and (min-width: 631px) {
background: lighten($ui-base-color, 14%);
transition: all 100ms linear;
}
@@ -1625,7 +1625,7 @@
}
}
-@media screen and (min-width: 1025px) {
+@media screen and (min-width: 631px) {
.tabs-bar {
display: none;
}
@@ -4037,7 +4037,7 @@ noscript {
100% { opacity: 1; }
}
-@media screen and (max-width: 1024px) and (max-height: 400px) {
+@media screen and (max-width: 630px) and (max-height: 400px) {
$duration: 400ms;
$delay: 100ms;
diff --git a/app/javascript/styles/rtl.scss b/app/javascript/styles/rtl.scss
index 6c003d69a..0fdeccd9c 100644
--- a/app/javascript/styles/rtl.scss
+++ b/app/javascript/styles/rtl.scss
@@ -245,7 +245,7 @@ body.rtl {
margin-left: 30px;
}
- @media screen and (min-width: 1025px) {
+ @media screen and (min-width: 631px) {
.column,
.drawer {
padding-left: 5px;
--
cgit
From 2f079573ed6aed9f27ece623c56a61c8e036574e Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Sun, 24 Sep 2017 05:58:30 +0200
Subject: In detail status view, display attachment uncropped if there's only
one (#5054)
* In detail status view, display attachment uncropped if there's only one
* Make media spoiler the size of the media it hides, enable on static
---
.../mastodon/components/media_gallery.js | 42 +++++++++++++++++-----
.../features/status/components/detailed_status.js | 11 +++++-
app/javascript/styles/components.scss | 7 ++++
.../stream_entries/_detailed_status.html.haml | 2 +-
package.json | 1 +
yarn.lock | 18 ++++++++++
6 files changed, 71 insertions(+), 10 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js
index 78a2f5dc4..d84e4229c 100644
--- a/app/javascript/mastodon/components/media_gallery.js
+++ b/app/javascript/mastodon/components/media_gallery.js
@@ -4,6 +4,8 @@ import PropTypes from 'prop-types';
import IconButton from './icon_button';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { isIOS } from '../is_mobile';
+import classNames from 'classnames';
+import sizeMe from 'react-sizeme';
const messages = defineMessages({
toggle_visible: { id: 'media_gallery.toggle_visible', defaultMessage: 'Toggle visibility' },
@@ -17,6 +19,7 @@ class Item extends React.PureComponent {
static propTypes = {
attachment: ImmutablePropTypes.map.isRequired,
+ standalone: PropTypes.bool,
index: PropTypes.number.isRequired,
size: PropTypes.number.isRequired,
onClick: PropTypes.func.isRequired,
@@ -25,6 +28,9 @@ class Item extends React.PureComponent {
static defaultProps = {
autoPlayGif: false,
+ standalone: false,
+ index: 0,
+ size: 1,
};
handleMouseEnter = (e) => {
@@ -57,7 +63,7 @@ class Item extends React.PureComponent {
}
render () {
- const { attachment, index, size } = this.props;
+ const { attachment, index, size, standalone } = this.props;
let width = 50;
let height = 100;
@@ -136,7 +142,7 @@ class Item extends React.PureComponent {
const autoPlay = !isIOS() && this.props.autoPlayGif;
thumbnail = (
-
+
+
{thumbnail}
);
@@ -164,11 +172,14 @@ class Item extends React.PureComponent {
}
@injectIntl
+@sizeMe({})
export default class MediaGallery extends React.PureComponent {
static propTypes = {
sensitive: PropTypes.bool,
+ standalone: PropTypes.bool,
media: ImmutablePropTypes.list.isRequired,
+ size: PropTypes.object,
height: PropTypes.number.isRequired,
onOpenMedia: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
@@ -177,6 +188,7 @@ export default class MediaGallery extends React.PureComponent {
static defaultProps = {
autoPlayGif: false,
+ standalone: false,
};
state = {
@@ -198,10 +210,19 @@ export default class MediaGallery extends React.PureComponent {
}
render () {
- const { media, intl, sensitive } = this.props;
+ const { media, intl, sensitive, height, standalone, size } = this.props;
let children;
+ const standaloneEligible = standalone && size.width && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);
+ const style = {};
+
+ if (standaloneEligible) {
+ style.height = size.width / media.getIn([0, 'meta', 'small', 'aspect']);
+ } else {
+ style.height = height;
+ }
+
if (!this.state.visible) {
let warning;
@@ -212,19 +233,24 @@ export default class MediaGallery extends React.PureComponent {
}
children = (
-
+
{warning}
);
} else {
const size = media.take(4).size;
- children = media.take(4).map((attachment, i) => );
+
+ if (standaloneEligible) {
+ children = ;
+ } else {
+ children = media.take(4).map((attachment, i) => );
+ }
}
return (
-
-
+
+
diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js
index b11b41780..87fe01897 100644
--- a/app/javascript/mastodon/features/status/components/detailed_status.js
+++ b/app/javascript/mastodon/features/status/components/detailed_status.js
@@ -61,7 +61,16 @@ export default class DetailedStatus extends ImmutablePureComponent {
/>
);
} else {
- media =
;
+ media = (
+
+ );
}
} else if (status.get('spoiler_text').length === 0) {
media =
;
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index b6cf920b4..da479347b 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -3645,6 +3645,12 @@ button.icon-button.active i.fa-retweet {
display: block;
float: left;
position: relative;
+
+ &.standalone {
+ .media-gallery__item-gifv-thumbnail {
+ transform: none;
+ }
+ }
}
.media-gallery__item-thumbnail {
@@ -3652,6 +3658,7 @@ button.icon-button.active i.fa-retweet {
display: block;
text-decoration: none;
height: 100%;
+ line-height: 0;
&,
img {
diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml
index 26e41a10d..fa9ccd1f0 100644
--- a/app/views/stream_entries/_detailed_status.html.haml
+++ b/app/views/stream_entries/_detailed_status.html.haml
@@ -24,7 +24,7 @@
- video = status.media_attachments.first
%div{ data: { component: 'Video', props: Oj.dump(src: video.file.url(:original), preview: video.file.url(:small), sensitive: status.sensitive?, width: 670, height: 380) }}
- else
- %div{ data: { component: 'MediaGallery', props: Oj.dump(height: 380, sensitive: status.sensitive?, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }) }}
+ %div{ data: { component: 'MediaGallery', props: Oj.dump(height: 380, sensitive: status.sensitive?, standalone: true, 'autoPlayGif': current_account&.user&.setting_auto_play_gif, media: status.media_attachments.map { |a| ActiveModelSerializers::SerializableResource.new(a, serializer: REST::MediaAttachmentSerializer).as_json }) }}
- elsif status.preview_cards.first
%div{ data: { component: 'Card', props: Oj.dump('maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_cards.first, serializer: REST::PreviewCardSerializer).as_json) }}
diff --git a/package.json b/package.json
index be9b90875..7835a0440 100644
--- a/package.json
+++ b/package.json
@@ -95,6 +95,7 @@
"react-router-dom": "^4.1.1",
"react-router-scroll": "ytase/react-router-scroll#build",
"react-simple-dropdown": "^3.0.0",
+ "react-sizeme": "^2.3.5",
"react-swipeable-views": "^0.12.3",
"react-textarea-autosize": "^5.0.7",
"react-toggle": "^4.0.1",
diff --git a/yarn.lock b/yarn.lock
index 7b8328805..640d06a10 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -982,6 +982,10 @@ base64-js@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
+batch-processor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/batch-processor/-/batch-processor-1.0.0.tgz#75c95c32b748e0850d10c2b168f6bdbe9891ace8"
+
batch@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
@@ -2053,6 +2057,12 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.14:
version "1.3.15"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369"
+element-resize-detector@^1.1.12:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.1.12.tgz#8b3fd6eedda17f9c00b360a0ea2df9927ae80ba2"
+ dependencies:
+ batch-processor "^1.0.0"
+
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
@@ -5413,6 +5423,14 @@ react-simple-dropdown@^3.0.0:
classnames "^2.1.2"
prop-types "^15.5.8"
+react-sizeme@^2.3.5:
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.3.5.tgz#f14c0a15f9b24d7b8b6f196871b0af19aa01a422"
+ dependencies:
+ element-resize-detector "^1.1.12"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
react-swipeable-views-core@^0.11.1:
version "0.11.1"
resolved "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.11.1.tgz#61d046799f90725bbf91a0eb3abcab805c774cac"
--
cgit
From e756c4f5ec4719b0fe41df77abea56dda317b491 Mon Sep 17 00:00:00 2001
From: abcang
Date: Sun, 24 Sep 2017 18:15:11 +0900
Subject: Fix media spoiler of DetailedStatus (#5071)
---
app/javascript/mastodon/components/media_gallery.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js
index d84e4229c..52b34971b 100644
--- a/app/javascript/mastodon/components/media_gallery.js
+++ b/app/javascript/mastodon/components/media_gallery.js
@@ -1,6 +1,7 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+import { is } from 'immutable';
import IconButton from './icon_button';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { isIOS } from '../is_mobile';
@@ -196,7 +197,7 @@ export default class MediaGallery extends React.PureComponent {
};
componentWillReceiveProps (nextProps) {
- if (nextProps.sensitive !== this.props.sensitive) {
+ if (!is(nextProps.media, this.props.media)) {
this.setState({ visible: !nextProps.sensitive });
}
}
--
cgit
From 3f3de3807552794b2b509d75c522a1713d80c3be Mon Sep 17 00:00:00 2001
From: JeanGauthier <32121978+JeanGauthier@users.noreply.github.com>
Date: Sun, 24 Sep 2017 12:17:47 +0200
Subject: OC update: different emoji picker (#5046) (#5077)
---
app/javascript/mastodon/locales/oc.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 81babfb2b..046dad265 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -67,17 +67,17 @@
"embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.",
"embed.preview": "Semblarà aquò : ",
"emoji_button.activity": "Activitats",
- "emoji_button.custom": "Custom",
+ "emoji_button.custom": "Personalizats",
"emoji_button.flags": "Drapèus",
"emoji_button.food": "Beure e manjar",
"emoji_button.label": "Inserir un emoji",
"emoji_button.nature": "Natura",
- "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
+ "emoji_button.not_found": "Cap emoji ! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objèctes",
"emoji_button.people": "Gents",
- "emoji_button.recent": "Frequently used",
+ "emoji_button.recent": "Sovent utilizats",
"emoji_button.search": "Cercar…",
- "emoji_button.search_results": "Search results",
+ "emoji_button.search_results": "Resultat de recèrca",
"emoji_button.symbols": "Simbòls",
"emoji_button.travel": "Viatges & lòcs",
"empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !",
--
cgit
From 2c8e3fbbfbe26fb78418324ef14caf13ab207623 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 25 Sep 2017 04:04:04 +0200
Subject: Generate 500.html with assets:precompile, remove loading from Google
Fonts (#5067)
---
.gitignore | 1 +
app/javascript/styles/basics.scss | 21 +++++++++++++++++++
app/views/errors/500.html.haml | 5 +++++
app/views/layouts/error.html.haml | 28 +++----------------------
config/i18n-tasks.yml | 1 +
config/locales/en.yml | 1 +
lib/tasks/assets.rake | 8 ++++++++
public/500.html | 43 ---------------------------------------
8 files changed, 40 insertions(+), 68 deletions(-)
create mode 100644 app/views/errors/500.html.haml
create mode 100644 lib/tasks/assets.rake
delete mode 100644 public/500.html
(limited to 'app/javascript')
diff --git a/.gitignore b/.gitignore
index 38ebc934f..2f5f1e71a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,6 +21,7 @@ public/system
public/assets
public/packs
public/packs-test
+public/500.html
.env
.env.production
node_modules/
diff --git a/app/javascript/styles/basics.scss b/app/javascript/styles/basics.scss
index c5f98750c..48652a035 100644
--- a/app/javascript/styles/basics.scss
+++ b/app/javascript/styles/basics.scss
@@ -62,6 +62,27 @@ body {
height: 100%;
padding: 0;
}
+
+ &.error {
+ text-align: center;
+ color: $ui-primary-color;
+ padding: 20px;
+
+ .dialog img {
+ display: block;
+ margin: 20px auto;
+ margin-top: 50px;
+ max-width: 600px;
+ width: 100%;
+ height: auto;
+ }
+
+ .dialog h1 {
+ font-size: 20px;
+ line-height: 28px;
+ font-weight: 400;
+ }
+ }
}
button {
diff --git a/app/views/errors/500.html.haml b/app/views/errors/500.html.haml
new file mode 100644
index 000000000..e124be551
--- /dev/null
+++ b/app/views/errors/500.html.haml
@@ -0,0 +1,5 @@
+- content_for :page_title do
+ = t('errors.500')
+
+- content_for :content do
+ = t('errors.500')
diff --git a/app/views/layouts/error.html.haml b/app/views/layouts/error.html.haml
index 08b94af54..0b5f908ae 100644
--- a/app/views/layouts/error.html.haml
+++ b/app/views/layouts/error.html.haml
@@ -5,31 +5,9 @@
%meta{ charset: 'utf-8' }/
%title= yield :page_title
%meta{ content: 'width=device-width,initial-scale=1', name: 'viewport' }/
- %link{ href: 'https://fonts.googleapis.com/css?family=Roboto:400', rel: 'stylesheet' }/
- :css
- body {
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
- background: #282c37;
- color: #9baec8;
- text-align: center;
- margin: 0;
- padding: 20px;
- }
-
- .dialog img {
- display: block;
- margin: 20px auto;
- margin-top: 50px;
- max-width: 600px;
- width: 100%;
- height: auto;
- }
-
- .dialog h1 {
- font: 20px/28px -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
- font-weight: 400;
- }
- %body
+ = stylesheet_pack_tag 'common', media: 'all'
+ = stylesheet_pack_tag Setting.default_settings['theme'], media: 'all'
+ %body.error
.dialog
%img{ alt: 'Mastodon', src: '/oops.png' }/
%div
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml
index b51cf46df..b35e5c09a 100644
--- a/config/i18n-tasks.yml
+++ b/config/i18n-tasks.yml
@@ -45,6 +45,7 @@ ignore_missing:
- 'sessions.{browsers,platforms}.*'
- 'terms.body_html'
- 'application_mailer.salutation'
+ - 'errors.500'
ignore_unused:
- 'activemodel.errors.*'
- 'activerecord.attributes.*'
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 13280303c..cc440e1b0 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -310,6 +310,7 @@ en:
content: Security verification failed. Are you blocking cookies?
title: Security verification failed
'429': Throttled
+ '500': We're sorry, but something went wrong.
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
exports:
blocks: You block
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake
new file mode 100644
index 000000000..cd0a3bd2b
--- /dev/null
+++ b/lib/tasks/assets.rake
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+if Rake::Task.task_defined?('assets:precompile')
+ Rake::Task['assets:precompile'].enhance do
+ html = ApplicationController.render('errors/500', layout: 'error')
+ File.write(Rails.root.join('public', '500.html'), html)
+ end
+end
diff --git a/public/500.html b/public/500.html
deleted file mode 100644
index d085d490b..000000000
--- a/public/500.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- We're sorry, but something went wrong
-
-
-
-
-
-
-
-
-
-
-
We're sorry, but something went wrong.
-
-
-
-
--
cgit
From 510df0ac556377f6dcd2f7e3e6237ef6035f06d6 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 25 Sep 2017 18:36:33 +0200
Subject: Fix emojify() by generating a mapping to existing Twemoji files
(#5080)
A new rake task emojis:generate downloads a full list of valid
unicode sequences from unicode.org and checks it against existing
Twemoji files, finally generating a map from each sequence to the
existing file (e.g. when there's multiple ways an emoji can be
expressed). The map is dumped into app/javascript/mastodon/emoji_map.json
That file is loaded by emojione_light.js (now a misnomer) which
decorates it further with shortcodes taken from emoji-mart's index.
---
app/javascript/mastodon/emoji_map.json | 1 +
app/javascript/mastodon/emojione_light.js | 43 ++++++++++++++++++-----
lib/tasks/emojis.rake | 56 ++++++++++++++++++++++++++++++
spec/javascript/components/emojify.test.js | 8 ++---
4 files changed, 95 insertions(+), 13 deletions(-)
create mode 100644 app/javascript/mastodon/emoji_map.json
create mode 100644 lib/tasks/emojis.rake
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/emoji_map.json b/app/javascript/mastodon/emoji_map.json
new file mode 100644
index 000000000..13753ba84
--- /dev/null
+++ b/app/javascript/mastodon/emoji_map.json
@@ -0,0 +1 @@
+{"😀":"1f600","😁":"1f601","😂":"1f602","🤣":"1f923","😃":"1f603","😄":"1f604","😅":"1f605","😆":"1f606","😉":"1f609","😊":"1f60a","😋":"1f60b","😎":"1f60e","😍":"1f60d","😘":"1f618","😗":"1f617","😙":"1f619","😚":"1f61a","☺":"263a","🙂":"1f642","🤗":"1f917","🤩":"1f929","🤔":"1f914","🤨":"1f928","😐":"1f610","😑":"1f611","😶":"1f636","🙄":"1f644","😏":"1f60f","😣":"1f623","😥":"1f625","😮":"1f62e","🤐":"1f910","😯":"1f62f","😪":"1f62a","😫":"1f62b","😴":"1f634","😌":"1f60c","😛":"1f61b","😜":"1f61c","😝":"1f61d","🤤":"1f924","😒":"1f612","😓":"1f613","😔":"1f614","😕":"1f615","🙃":"1f643","🤑":"1f911","😲":"1f632","☹":"2639","🙁":"1f641","😖":"1f616","😞":"1f61e","😟":"1f61f","😤":"1f624","😢":"1f622","😭":"1f62d","😦":"1f626","😧":"1f627","😨":"1f628","😩":"1f629","🤯":"1f92f","😬":"1f62c","😰":"1f630","😱":"1f631","😳":"1f633","🤪":"1f92a","😵":"1f635","😡":"1f621","😠":"1f620","🤬":"1f92c","😷":"1f637","🤒":"1f912","🤕":"1f915","🤢":"1f922","🤮":"1f92e","🤧":"1f927","😇":"1f607","🤠":"1f920","🤡":"1f921","🤥":"1f925","🤫":"1f92b","🤭":"1f92d","🧐":"1f9d0","🤓":"1f913","😈":"1f608","👿":"1f47f","👹":"1f479","👺":"1f47a","💀":"1f480","☠":"2620","👻":"1f47b","👽":"1f47d","👾":"1f47e","🤖":"1f916","💩":"1f4a9","😺":"1f63a","😸":"1f638","😹":"1f639","😻":"1f63b","😼":"1f63c","😽":"1f63d","🙀":"1f640","😿":"1f63f","😾":"1f63e","🙈":"1f648","🙉":"1f649","🙊":"1f64a","👶":"1f476","🧒":"1f9d2","👦":"1f466","👧":"1f467","🧑":"1f9d1","👨":"1f468","👩":"1f469","🧓":"1f9d3","👴":"1f474","👵":"1f475","👮":"1f46e","🕵":"1f575","💂":"1f482","👷":"1f477","🤴":"1f934","👸":"1f478","👳":"1f473","👲":"1f472","🧕":"1f9d5","🧔":"1f9d4","👱":"1f471","🤵":"1f935","👰":"1f470","🤰":"1f930","🤱":"1f931","👼":"1f47c","🎅":"1f385","🤶":"1f936","🧙":"1f9d9","🧚":"1f9da","🧛":"1f9db","🧜":"1f9dc","🧝":"1f9dd","🧞":"1f9de","🧟":"1f9df","🙍":"1f64d","🙎":"1f64e","🙅":"1f645","🙆":"1f646","💁":"1f481","🙋":"1f64b","🙇":"1f647","🤦":"1f926","🤷":"1f937","💆":"1f486","💇":"1f487","🚶":"1f6b6","🏃":"1f3c3","💃":"1f483","🕺":"1f57a","👯":"1f46f","🧖":"1f9d6","🧗":"1f9d7","🧘":"1f9d8","🛀":"1f6c0","🛌":"1f6cc","🕴":"1f574","🗣":"1f5e3","👤":"1f464","👥":"1f465","🤺":"1f93a","🏇":"1f3c7","⛷":"26f7","🏂":"1f3c2","🏌":"1f3cc","🏄":"1f3c4","🚣":"1f6a3","🏊":"1f3ca","⛹":"26f9","🏋":"1f3cb","🚴":"1f6b4","🚵":"1f6b5","🏎":"1f3ce","🏍":"1f3cd","🤸":"1f938","🤼":"1f93c","🤽":"1f93d","🤾":"1f93e","🤹":"1f939","👫":"1f46b","👬":"1f46c","👭":"1f46d","💏":"1f48f","💑":"1f491","👪":"1f46a","🤳":"1f933","💪":"1f4aa","👈":"1f448","👉":"1f449","☝":"261d","👆":"1f446","🖕":"1f595","👇":"1f447","✌":"270c","🤞":"1f91e","🖖":"1f596","🤘":"1f918","🤙":"1f919","🖐":"1f590","✋":"270b","👌":"1f44c","👍":"1f44d","👎":"1f44e","✊":"270a","👊":"1f44a","🤛":"1f91b","🤜":"1f91c","🤚":"1f91a","👋":"1f44b","🤟":"1f91f","✍":"270d","👏":"1f44f","👐":"1f450","🙌":"1f64c","🤲":"1f932","🙏":"1f64f","🤝":"1f91d","💅":"1f485","👂":"1f442","👃":"1f443","👣":"1f463","👀":"1f440","👁":"1f441","🧠":"1f9e0","👅":"1f445","👄":"1f444","💋":"1f48b","💘":"1f498","❤":"2764","💓":"1f493","💔":"1f494","💕":"1f495","💖":"1f496","💗":"1f497","💙":"1f499","💚":"1f49a","💛":"1f49b","🧡":"1f9e1","💜":"1f49c","🖤":"1f5a4","💝":"1f49d","💞":"1f49e","💟":"1f49f","❣":"2763","💌":"1f48c","💤":"1f4a4","💢":"1f4a2","💣":"1f4a3","💥":"1f4a5","💦":"1f4a6","💨":"1f4a8","💫":"1f4ab","💬":"1f4ac","🗨":"1f5e8","🗯":"1f5ef","💭":"1f4ad","🕳":"1f573","👓":"1f453","🕶":"1f576","👔":"1f454","👕":"1f455","👖":"1f456","🧣":"1f9e3","🧤":"1f9e4","🧥":"1f9e5","🧦":"1f9e6","👗":"1f457","👘":"1f458","👙":"1f459","👚":"1f45a","👛":"1f45b","👜":"1f45c","👝":"1f45d","🛍":"1f6cd","🎒":"1f392","👞":"1f45e","👟":"1f45f","👠":"1f460","👡":"1f461","👢":"1f462","👑":"1f451","👒":"1f452","🎩":"1f3a9","🎓":"1f393","🧢":"1f9e2","⛑":"26d1","📿":"1f4ff","💄":"1f484","💍":"1f48d","💎":"1f48e","🐵":"1f435","🐒":"1f412","🦍":"1f98d","🐶":"1f436","🐕":"1f415","🐩":"1f429","🐺":"1f43a","🦊":"1f98a","🐱":"1f431","🐈":"1f408","🦁":"1f981","🐯":"1f42f","🐅":"1f405","🐆":"1f406","🐴":"1f434","🐎":"1f40e","🦄":"1f984","🦓":"1f993","🦌":"1f98c","🐮":"1f42e","🐂":"1f402","🐃":"1f403","🐄":"1f404","🐷":"1f437","🐖":"1f416","🐗":"1f417","🐽":"1f43d","🐏":"1f40f","🐑":"1f411","🐐":"1f410","🐪":"1f42a","🐫":"1f42b","🦒":"1f992","🐘":"1f418","🦏":"1f98f","🐭":"1f42d","🐁":"1f401","🐀":"1f400","🐹":"1f439","🐰":"1f430","🐇":"1f407","🐿":"1f43f","🦔":"1f994","🦇":"1f987","🐻":"1f43b","🐨":"1f428","🐼":"1f43c","🐾":"1f43e","🦃":"1f983","🐔":"1f414","🐓":"1f413","🐣":"1f423","🐤":"1f424","🐥":"1f425","🐦":"1f426","🐧":"1f427","🕊":"1f54a","🦅":"1f985","🦆":"1f986","🦉":"1f989","🐸":"1f438","🐊":"1f40a","🐢":"1f422","🦎":"1f98e","🐍":"1f40d","🐲":"1f432","🐉":"1f409","🦕":"1f995","🦖":"1f996","🐳":"1f433","🐋":"1f40b","🐬":"1f42c","🐟":"1f41f","🐠":"1f420","🐡":"1f421","🦈":"1f988","🐙":"1f419","🐚":"1f41a","🦀":"1f980","🦐":"1f990","🦑":"1f991","🐌":"1f40c","🦋":"1f98b","🐛":"1f41b","🐜":"1f41c","🐝":"1f41d","🐞":"1f41e","🦗":"1f997","🕷":"1f577","🕸":"1f578","🦂":"1f982","💐":"1f490","🌸":"1f338","💮":"1f4ae","🏵":"1f3f5","🌹":"1f339","🥀":"1f940","🌺":"1f33a","🌻":"1f33b","🌼":"1f33c","🌷":"1f337","🌱":"1f331","🌲":"1f332","🌳":"1f333","🌴":"1f334","🌵":"1f335","🌾":"1f33e","🌿":"1f33f","☘":"2618","🍀":"1f340","🍁":"1f341","🍂":"1f342","🍃":"1f343","🍇":"1f347","🍈":"1f348","🍉":"1f349","🍊":"1f34a","🍋":"1f34b","🍌":"1f34c","🍍":"1f34d","🍎":"1f34e","🍏":"1f34f","🍐":"1f350","🍑":"1f351","🍒":"1f352","🍓":"1f353","🥝":"1f95d","🍅":"1f345","🥥":"1f965","🥑":"1f951","🍆":"1f346","🥔":"1f954","🥕":"1f955","🌽":"1f33d","🌶":"1f336","🥒":"1f952","🥦":"1f966","🍄":"1f344","🥜":"1f95c","🌰":"1f330","🍞":"1f35e","🥐":"1f950","🥖":"1f956","🥨":"1f968","🥞":"1f95e","🧀":"1f9c0","🍖":"1f356","🍗":"1f357","🥩":"1f969","🥓":"1f953","🍔":"1f354","🍟":"1f35f","🍕":"1f355","🌭":"1f32d","🥪":"1f96a","🌮":"1f32e","🌯":"1f32f","🥙":"1f959","🥚":"1f95a","🍳":"1f373","🥘":"1f958","🍲":"1f372","🥣":"1f963","🥗":"1f957","🍿":"1f37f","🥫":"1f96b","🍱":"1f371","🍘":"1f358","🍙":"1f359","🍚":"1f35a","🍛":"1f35b","🍜":"1f35c","🍝":"1f35d","🍠":"1f360","🍢":"1f362","🍣":"1f363","🍤":"1f364","🍥":"1f365","🍡":"1f361","🥟":"1f95f","🥠":"1f960","🥡":"1f961","🍦":"1f366","🍧":"1f367","🍨":"1f368","🍩":"1f369","🍪":"1f36a","🎂":"1f382","🍰":"1f370","🥧":"1f967","🍫":"1f36b","🍬":"1f36c","🍭":"1f36d","🍮":"1f36e","🍯":"1f36f","🍼":"1f37c","🥛":"1f95b","☕":"2615","🍵":"1f375","🍶":"1f376","🍾":"1f37e","🍷":"1f377","🍸":"1f378","🍹":"1f379","🍺":"1f37a","🍻":"1f37b","🥂":"1f942","🥃":"1f943","🥤":"1f964","🥢":"1f962","🍽":"1f37d","🍴":"1f374","🥄":"1f944","🔪":"1f52a","🏺":"1f3fa","🌍":"1f30d","🌎":"1f30e","🌏":"1f30f","🌐":"1f310","🗺":"1f5fa","🗾":"1f5fe","🏔":"1f3d4","⛰":"26f0","🌋":"1f30b","🗻":"1f5fb","🏕":"1f3d5","🏖":"1f3d6","🏜":"1f3dc","🏝":"1f3dd","🏞":"1f3de","🏟":"1f3df","🏛":"1f3db","🏗":"1f3d7","🏘":"1f3d8","🏙":"1f3d9","🏚":"1f3da","🏠":"1f3e0","🏡":"1f3e1","🏢":"1f3e2","🏣":"1f3e3","🏤":"1f3e4","🏥":"1f3e5","🏦":"1f3e6","🏨":"1f3e8","🏩":"1f3e9","🏪":"1f3ea","🏫":"1f3eb","🏬":"1f3ec","🏭":"1f3ed","🏯":"1f3ef","🏰":"1f3f0","💒":"1f492","🗼":"1f5fc","🗽":"1f5fd","⛪":"26ea","🕌":"1f54c","🕍":"1f54d","⛩":"26e9","🕋":"1f54b","⛲":"26f2","⛺":"26fa","🌁":"1f301","🌃":"1f303","🌄":"1f304","🌅":"1f305","🌆":"1f306","🌇":"1f307","🌉":"1f309","♨":"2668","🌌":"1f30c","🎠":"1f3a0","🎡":"1f3a1","🎢":"1f3a2","💈":"1f488","🎪":"1f3aa","🎭":"1f3ad","🖼":"1f5bc","🎨":"1f3a8","🎰":"1f3b0","🚂":"1f682","🚃":"1f683","🚄":"1f684","🚅":"1f685","🚆":"1f686","🚇":"1f687","🚈":"1f688","🚉":"1f689","🚊":"1f68a","🚝":"1f69d","🚞":"1f69e","🚋":"1f68b","🚌":"1f68c","🚍":"1f68d","🚎":"1f68e","🚐":"1f690","🚑":"1f691","🚒":"1f692","🚓":"1f693","🚔":"1f694","🚕":"1f695","🚖":"1f696","🚗":"1f697","🚘":"1f698","🚙":"1f699","🚚":"1f69a","🚛":"1f69b","🚜":"1f69c","🚲":"1f6b2","🛴":"1f6f4","🛵":"1f6f5","🚏":"1f68f","🛣":"1f6e3","🛤":"1f6e4","⛽":"26fd","🚨":"1f6a8","🚥":"1f6a5","🚦":"1f6a6","🚧":"1f6a7","🛑":"1f6d1","⚓":"2693","⛵":"26f5","🛶":"1f6f6","🚤":"1f6a4","🛳":"1f6f3","⛴":"26f4","🛥":"1f6e5","🚢":"1f6a2","✈":"2708","🛩":"1f6e9","🛫":"1f6eb","🛬":"1f6ec","💺":"1f4ba","🚁":"1f681","🚟":"1f69f","🚠":"1f6a0","🚡":"1f6a1","🛰":"1f6f0","🚀":"1f680","🛸":"1f6f8","🛎":"1f6ce","🚪":"1f6aa","🛏":"1f6cf","🛋":"1f6cb","🚽":"1f6bd","🚿":"1f6bf","🛁":"1f6c1","⌛":"231b","⏳":"23f3","⌚":"231a","⏰":"23f0","⏱":"23f1","⏲":"23f2","🕰":"1f570","🕛":"1f55b","🕧":"1f567","🕐":"1f550","🕜":"1f55c","🕑":"1f551","🕝":"1f55d","🕒":"1f552","🕞":"1f55e","🕓":"1f553","🕟":"1f55f","🕔":"1f554","🕠":"1f560","🕕":"1f555","🕡":"1f561","🕖":"1f556","🕢":"1f562","🕗":"1f557","🕣":"1f563","🕘":"1f558","🕤":"1f564","🕙":"1f559","🕥":"1f565","🕚":"1f55a","🕦":"1f566","🌑":"1f311","🌒":"1f312","🌓":"1f313","🌔":"1f314","🌕":"1f315","🌖":"1f316","🌗":"1f317","🌘":"1f318","🌙":"1f319","🌚":"1f31a","🌛":"1f31b","🌜":"1f31c","🌡":"1f321","☀":"2600","🌝":"1f31d","🌞":"1f31e","⭐":"2b50","🌟":"1f31f","🌠":"1f320","☁":"2601","⛅":"26c5","⛈":"26c8","🌤":"1f324","🌥":"1f325","🌦":"1f326","🌧":"1f327","🌨":"1f328","🌩":"1f329","🌪":"1f32a","🌫":"1f32b","🌬":"1f32c","🌀":"1f300","🌈":"1f308","🌂":"1f302","☂":"2602","☔":"2614","⛱":"26f1","⚡":"26a1","❄":"2744","☃":"2603","⛄":"26c4","☄":"2604","🔥":"1f525","💧":"1f4a7","🌊":"1f30a","🎃":"1f383","🎄":"1f384","🎆":"1f386","🎇":"1f387","✨":"2728","🎈":"1f388","🎉":"1f389","🎊":"1f38a","🎋":"1f38b","🎍":"1f38d","🎎":"1f38e","🎏":"1f38f","🎐":"1f390","🎑":"1f391","🎀":"1f380","🎁":"1f381","🎗":"1f397","🎟":"1f39f","🎫":"1f3ab","🎖":"1f396","🏆":"1f3c6","🏅":"1f3c5","🥇":"1f947","🥈":"1f948","🥉":"1f949","⚽":"26bd","⚾":"26be","🏀":"1f3c0","🏐":"1f3d0","🏈":"1f3c8","🏉":"1f3c9","🎾":"1f3be","🎱":"1f3b1","🎳":"1f3b3","🏏":"1f3cf","🏑":"1f3d1","🏒":"1f3d2","🏓":"1f3d3","🏸":"1f3f8","🥊":"1f94a","🥋":"1f94b","🥅":"1f945","🎯":"1f3af","⛳":"26f3","⛸":"26f8","🎣":"1f3a3","🎽":"1f3bd","🎿":"1f3bf","🛷":"1f6f7","🥌":"1f94c","🎮":"1f3ae","🕹":"1f579","🎲":"1f3b2","♠":"2660","♥":"2665","♦":"2666","♣":"2663","🃏":"1f0cf","🀄":"1f004","🎴":"1f3b4","🔇":"1f507","🔈":"1f508","🔉":"1f509","🔊":"1f50a","📢":"1f4e2","📣":"1f4e3","📯":"1f4ef","🔔":"1f514","🔕":"1f515","🎼":"1f3bc","🎵":"1f3b5","🎶":"1f3b6","🎙":"1f399","🎚":"1f39a","🎛":"1f39b","🎤":"1f3a4","🎧":"1f3a7","📻":"1f4fb","🎷":"1f3b7","🎸":"1f3b8","🎹":"1f3b9","🎺":"1f3ba","🎻":"1f3bb","🥁":"1f941","📱":"1f4f1","📲":"1f4f2","☎":"260e","📞":"1f4de","📟":"1f4df","📠":"1f4e0","🔋":"1f50b","🔌":"1f50c","💻":"1f4bb","🖥":"1f5a5","🖨":"1f5a8","⌨":"2328","🖱":"1f5b1","🖲":"1f5b2","💽":"1f4bd","💾":"1f4be","💿":"1f4bf","📀":"1f4c0","🎥":"1f3a5","🎞":"1f39e","📽":"1f4fd","🎬":"1f3ac","📺":"1f4fa","📷":"1f4f7","📸":"1f4f8","📹":"1f4f9","📼":"1f4fc","🔍":"1f50d","🔎":"1f50e","🔬":"1f52c","🔭":"1f52d","📡":"1f4e1","🕯":"1f56f","💡":"1f4a1","🔦":"1f526","🏮":"1f3ee","📔":"1f4d4","📕":"1f4d5","📖":"1f4d6","📗":"1f4d7","📘":"1f4d8","📙":"1f4d9","📚":"1f4da","📓":"1f4d3","📒":"1f4d2","📃":"1f4c3","📜":"1f4dc","📄":"1f4c4","📰":"1f4f0","🗞":"1f5de","📑":"1f4d1","🔖":"1f516","🏷":"1f3f7","💰":"1f4b0","💴":"1f4b4","💵":"1f4b5","💶":"1f4b6","💷":"1f4b7","💸":"1f4b8","💳":"1f4b3","💹":"1f4b9","💱":"1f4b1","💲":"1f4b2","✉":"2709","📧":"1f4e7","📨":"1f4e8","📩":"1f4e9","📤":"1f4e4","📥":"1f4e5","📦":"1f4e6","📫":"1f4eb","📪":"1f4ea","📬":"1f4ec","📭":"1f4ed","📮":"1f4ee","🗳":"1f5f3","✏":"270f","✒":"2712","🖋":"1f58b","🖊":"1f58a","🖌":"1f58c","🖍":"1f58d","📝":"1f4dd","💼":"1f4bc","📁":"1f4c1","📂":"1f4c2","🗂":"1f5c2","📅":"1f4c5","📆":"1f4c6","🗒":"1f5d2","🗓":"1f5d3","📇":"1f4c7","📈":"1f4c8","📉":"1f4c9","📊":"1f4ca","📋":"1f4cb","📌":"1f4cc","📍":"1f4cd","📎":"1f4ce","🖇":"1f587","📏":"1f4cf","📐":"1f4d0","✂":"2702","🗃":"1f5c3","🗄":"1f5c4","🗑":"1f5d1","🔒":"1f512","🔓":"1f513","🔏":"1f50f","🔐":"1f510","🔑":"1f511","🗝":"1f5dd","🔨":"1f528","⛏":"26cf","⚒":"2692","🛠":"1f6e0","🗡":"1f5e1","⚔":"2694","🔫":"1f52b","🏹":"1f3f9","🛡":"1f6e1","🔧":"1f527","🔩":"1f529","⚙":"2699","🗜":"1f5dc","⚗":"2697","⚖":"2696","🔗":"1f517","⛓":"26d3","💉":"1f489","💊":"1f48a","🚬":"1f6ac","⚰":"26b0","⚱":"26b1","🗿":"1f5ff","🛢":"1f6e2","🔮":"1f52e","🛒":"1f6d2","🏧":"1f3e7","🚮":"1f6ae","🚰":"1f6b0","♿":"267f","🚹":"1f6b9","🚺":"1f6ba","🚻":"1f6bb","🚼":"1f6bc","🚾":"1f6be","🛂":"1f6c2","🛃":"1f6c3","🛄":"1f6c4","🛅":"1f6c5","⚠":"26a0","🚸":"1f6b8","⛔":"26d4","🚫":"1f6ab","🚳":"1f6b3","🚭":"1f6ad","🚯":"1f6af","🚱":"1f6b1","🚷":"1f6b7","📵":"1f4f5","🔞":"1f51e","☢":"2622","☣":"2623","⬆":"2b06","↗":"2197","➡":"27a1","↘":"2198","⬇":"2b07","↙":"2199","⬅":"2b05","↖":"2196","↕":"2195","↔":"2194","↩":"21a9","↪":"21aa","⤴":"2934","⤵":"2935","🔃":"1f503","🔄":"1f504","🔙":"1f519","🔚":"1f51a","🔛":"1f51b","🔜":"1f51c","🔝":"1f51d","🛐":"1f6d0","⚛":"269b","🕉":"1f549","✡":"2721","☸":"2638","☯":"262f","✝":"271d","☦":"2626","☪":"262a","☮":"262e","🕎":"1f54e","🔯":"1f52f","♈":"2648","♉":"2649","♊":"264a","♋":"264b","♌":"264c","♍":"264d","♎":"264e","♏":"264f","♐":"2650","♑":"2651","♒":"2652","♓":"2653","⛎":"26ce","🔀":"1f500","🔁":"1f501","🔂":"1f502","▶":"25b6","⏩":"23e9","⏭":"23ed","⏯":"23ef","◀":"25c0","⏪":"23ea","⏮":"23ee","🔼":"1f53c","⏫":"23eb","🔽":"1f53d","⏬":"23ec","⏸":"23f8","⏹":"23f9","⏺":"23fa","⏏":"23cf","🎦":"1f3a6","🔅":"1f505","🔆":"1f506","📶":"1f4f6","📳":"1f4f3","📴":"1f4f4","♀":"2640","♂":"2642","⚕":"2695","♻":"267b","⚜":"269c","🔱":"1f531","📛":"1f4db","🔰":"1f530","⭕":"2b55","✅":"2705","☑":"2611","✔":"2714","✖":"2716","❌":"274c","❎":"274e","➕":"2795","➖":"2796","➗":"2797","➰":"27b0","➿":"27bf","〽":"303d","✳":"2733","✴":"2734","❇":"2747","‼":"203c","⁉":"2049","❓":"2753","❔":"2754","❕":"2755","❗":"2757","〰":"3030","©":"a9","®":"ae","™":"2122","🔟":"1f51f","💯":"1f4af","🔠":"1f520","🔡":"1f521","🔢":"1f522","🔣":"1f523","🔤":"1f524","🅰":"1f170","🆎":"1f18e","🅱":"1f171","🆑":"1f191","🆒":"1f192","🆓":"1f193","ℹ":"2139","🆔":"1f194","Ⓜ":"24c2","🆕":"1f195","🆖":"1f196","🅾":"1f17e","🆗":"1f197","🅿":"1f17f","🆘":"1f198","🆙":"1f199","🆚":"1f19a","🈁":"1f201","🈂":"1f202","🈷":"1f237","🈶":"1f236","🈯":"1f22f","🉐":"1f250","🈹":"1f239","🈚":"1f21a","🈲":"1f232","🉑":"1f251","🈸":"1f238","🈴":"1f234","🈳":"1f233","㊗":"3297","㊙":"3299","🈺":"1f23a","🈵":"1f235","▪":"25aa","▫":"25ab","◻":"25fb","◼":"25fc","◽":"25fd","◾":"25fe","⬛":"2b1b","⬜":"2b1c","🔶":"1f536","🔷":"1f537","🔸":"1f538","🔹":"1f539","🔺":"1f53a","🔻":"1f53b","💠":"1f4a0","🔘":"1f518","🔲":"1f532","🔳":"1f533","⚪":"26aa","⚫":"26ab","🔴":"1f534","🔵":"1f535","🏁":"1f3c1","🚩":"1f6a9","🎌":"1f38c","🏴":"1f3f4","🏳":"1f3f3","☺️":"263a","☹️":"2639","☠️":"2620","👶🏻":"1f476-1f3fb","👶🏼":"1f476-1f3fc","👶🏽":"1f476-1f3fd","👶🏾":"1f476-1f3fe","👶🏿":"1f476-1f3ff","🧒🏻":"1f9d2-1f3fb","🧒🏼":"1f9d2-1f3fc","🧒🏽":"1f9d2-1f3fd","🧒🏾":"1f9d2-1f3fe","🧒🏿":"1f9d2-1f3ff","👦🏻":"1f466-1f3fb","👦🏼":"1f466-1f3fc","👦🏽":"1f466-1f3fd","👦🏾":"1f466-1f3fe","👦🏿":"1f466-1f3ff","👧🏻":"1f467-1f3fb","👧🏼":"1f467-1f3fc","👧🏽":"1f467-1f3fd","👧🏾":"1f467-1f3fe","👧🏿":"1f467-1f3ff","🧑🏻":"1f9d1-1f3fb","🧑🏼":"1f9d1-1f3fc","🧑🏽":"1f9d1-1f3fd","🧑🏾":"1f9d1-1f3fe","🧑🏿":"1f9d1-1f3ff","👨🏻":"1f468-1f3fb","👨🏼":"1f468-1f3fc","👨🏽":"1f468-1f3fd","👨🏾":"1f468-1f3fe","👨🏿":"1f468-1f3ff","👩🏻":"1f469-1f3fb","👩🏼":"1f469-1f3fc","👩🏽":"1f469-1f3fd","👩🏾":"1f469-1f3fe","👩🏿":"1f469-1f3ff","🧓🏻":"1f9d3-1f3fb","🧓🏼":"1f9d3-1f3fc","🧓🏽":"1f9d3-1f3fd","🧓🏾":"1f9d3-1f3fe","🧓🏿":"1f9d3-1f3ff","👴🏻":"1f474-1f3fb","👴🏼":"1f474-1f3fc","👴🏽":"1f474-1f3fd","👴🏾":"1f474-1f3fe","👴🏿":"1f474-1f3ff","👵🏻":"1f475-1f3fb","👵🏼":"1f475-1f3fc","👵🏽":"1f475-1f3fd","👵🏾":"1f475-1f3fe","👵🏿":"1f475-1f3ff","👮🏻":"1f46e-1f3fb","👮🏼":"1f46e-1f3fc","👮🏽":"1f46e-1f3fd","👮🏾":"1f46e-1f3fe","👮🏿":"1f46e-1f3ff","🕵️":"1f575","🕵🏻":"1f575-1f3fb","🕵🏼":"1f575-1f3fc","🕵🏽":"1f575-1f3fd","🕵🏾":"1f575-1f3fe","🕵🏿":"1f575-1f3ff","💂🏻":"1f482-1f3fb","💂🏼":"1f482-1f3fc","💂🏽":"1f482-1f3fd","💂🏾":"1f482-1f3fe","💂🏿":"1f482-1f3ff","👷🏻":"1f477-1f3fb","👷🏼":"1f477-1f3fc","👷🏽":"1f477-1f3fd","👷🏾":"1f477-1f3fe","👷🏿":"1f477-1f3ff","🤴🏻":"1f934-1f3fb","🤴🏼":"1f934-1f3fc","🤴🏽":"1f934-1f3fd","🤴🏾":"1f934-1f3fe","🤴🏿":"1f934-1f3ff","👸🏻":"1f478-1f3fb","👸🏼":"1f478-1f3fc","👸🏽":"1f478-1f3fd","👸🏾":"1f478-1f3fe","👸🏿":"1f478-1f3ff","👳🏻":"1f473-1f3fb","👳🏼":"1f473-1f3fc","👳🏽":"1f473-1f3fd","👳🏾":"1f473-1f3fe","👳🏿":"1f473-1f3ff","👲🏻":"1f472-1f3fb","👲🏼":"1f472-1f3fc","👲🏽":"1f472-1f3fd","👲🏾":"1f472-1f3fe","👲🏿":"1f472-1f3ff","🧕🏻":"1f9d5-1f3fb","🧕🏼":"1f9d5-1f3fc","🧕🏽":"1f9d5-1f3fd","🧕🏾":"1f9d5-1f3fe","🧕🏿":"1f9d5-1f3ff","🧔🏻":"1f9d4-1f3fb","🧔🏼":"1f9d4-1f3fc","🧔🏽":"1f9d4-1f3fd","🧔🏾":"1f9d4-1f3fe","🧔🏿":"1f9d4-1f3ff","👱🏻":"1f471-1f3fb","👱🏼":"1f471-1f3fc","👱🏽":"1f471-1f3fd","👱🏾":"1f471-1f3fe","👱🏿":"1f471-1f3ff","🤵🏻":"1f935-1f3fb","🤵🏼":"1f935-1f3fc","🤵🏽":"1f935-1f3fd","🤵🏾":"1f935-1f3fe","🤵🏿":"1f935-1f3ff","👰🏻":"1f470-1f3fb","👰🏼":"1f470-1f3fc","👰🏽":"1f470-1f3fd","👰🏾":"1f470-1f3fe","👰🏿":"1f470-1f3ff","🤰🏻":"1f930-1f3fb","🤰🏼":"1f930-1f3fc","🤰🏽":"1f930-1f3fd","🤰🏾":"1f930-1f3fe","🤰🏿":"1f930-1f3ff","🤱🏻":"1f931-1f3fb","🤱🏼":"1f931-1f3fc","🤱🏽":"1f931-1f3fd","🤱🏾":"1f931-1f3fe","🤱🏿":"1f931-1f3ff","👼🏻":"1f47c-1f3fb","👼🏼":"1f47c-1f3fc","👼🏽":"1f47c-1f3fd","👼🏾":"1f47c-1f3fe","👼🏿":"1f47c-1f3ff","🎅🏻":"1f385-1f3fb","🎅🏼":"1f385-1f3fc","🎅🏽":"1f385-1f3fd","🎅🏾":"1f385-1f3fe","🎅🏿":"1f385-1f3ff","🤶🏻":"1f936-1f3fb","🤶🏼":"1f936-1f3fc","🤶🏽":"1f936-1f3fd","🤶🏾":"1f936-1f3fe","🤶🏿":"1f936-1f3ff","🧙🏻":"1f9d9-1f3fb","🧙🏼":"1f9d9-1f3fc","🧙🏽":"1f9d9-1f3fd","🧙🏾":"1f9d9-1f3fe","🧙🏿":"1f9d9-1f3ff","🧚🏻":"1f9da-1f3fb","🧚🏼":"1f9da-1f3fc","🧚🏽":"1f9da-1f3fd","🧚🏾":"1f9da-1f3fe","🧚🏿":"1f9da-1f3ff","🧛🏻":"1f9db-1f3fb","🧛🏼":"1f9db-1f3fc","🧛🏽":"1f9db-1f3fd","🧛🏾":"1f9db-1f3fe","🧛🏿":"1f9db-1f3ff","🧜🏻":"1f9dc-1f3fb","🧜🏼":"1f9dc-1f3fc","🧜🏽":"1f9dc-1f3fd","🧜🏾":"1f9dc-1f3fe","🧜🏿":"1f9dc-1f3ff","🧝🏻":"1f9dd-1f3fb","🧝🏼":"1f9dd-1f3fc","🧝🏽":"1f9dd-1f3fd","🧝🏾":"1f9dd-1f3fe","🧝🏿":"1f9dd-1f3ff","🙍🏻":"1f64d-1f3fb","🙍🏼":"1f64d-1f3fc","🙍🏽":"1f64d-1f3fd","🙍🏾":"1f64d-1f3fe","🙍🏿":"1f64d-1f3ff","🙎🏻":"1f64e-1f3fb","🙎🏼":"1f64e-1f3fc","🙎🏽":"1f64e-1f3fd","🙎🏾":"1f64e-1f3fe","🙎🏿":"1f64e-1f3ff","🙅🏻":"1f645-1f3fb","🙅🏼":"1f645-1f3fc","🙅🏽":"1f645-1f3fd","🙅🏾":"1f645-1f3fe","🙅🏿":"1f645-1f3ff","🙆🏻":"1f646-1f3fb","🙆🏼":"1f646-1f3fc","🙆🏽":"1f646-1f3fd","🙆🏾":"1f646-1f3fe","🙆🏿":"1f646-1f3ff","💁🏻":"1f481-1f3fb","💁🏼":"1f481-1f3fc","💁🏽":"1f481-1f3fd","💁🏾":"1f481-1f3fe","💁🏿":"1f481-1f3ff","🙋🏻":"1f64b-1f3fb","🙋🏼":"1f64b-1f3fc","🙋🏽":"1f64b-1f3fd","🙋🏾":"1f64b-1f3fe","🙋🏿":"1f64b-1f3ff","🙇🏻":"1f647-1f3fb","🙇🏼":"1f647-1f3fc","🙇🏽":"1f647-1f3fd","🙇🏾":"1f647-1f3fe","🙇🏿":"1f647-1f3ff","🤦🏻":"1f926-1f3fb","🤦🏼":"1f926-1f3fc","🤦🏽":"1f926-1f3fd","🤦🏾":"1f926-1f3fe","🤦🏿":"1f926-1f3ff","🤷🏻":"1f937-1f3fb","🤷🏼":"1f937-1f3fc","🤷🏽":"1f937-1f3fd","🤷🏾":"1f937-1f3fe","🤷🏿":"1f937-1f3ff","💆🏻":"1f486-1f3fb","💆🏼":"1f486-1f3fc","💆🏽":"1f486-1f3fd","💆🏾":"1f486-1f3fe","💆🏿":"1f486-1f3ff","💇🏻":"1f487-1f3fb","💇🏼":"1f487-1f3fc","💇🏽":"1f487-1f3fd","💇🏾":"1f487-1f3fe","💇🏿":"1f487-1f3ff","🚶🏻":"1f6b6-1f3fb","🚶🏼":"1f6b6-1f3fc","🚶🏽":"1f6b6-1f3fd","🚶🏾":"1f6b6-1f3fe","🚶🏿":"1f6b6-1f3ff","🏃🏻":"1f3c3-1f3fb","🏃🏼":"1f3c3-1f3fc","🏃🏽":"1f3c3-1f3fd","🏃🏾":"1f3c3-1f3fe","🏃🏿":"1f3c3-1f3ff","💃🏻":"1f483-1f3fb","💃🏼":"1f483-1f3fc","💃🏽":"1f483-1f3fd","💃🏾":"1f483-1f3fe","💃🏿":"1f483-1f3ff","🕺🏻":"1f57a-1f3fb","🕺🏼":"1f57a-1f3fc","🕺🏽":"1f57a-1f3fd","🕺🏾":"1f57a-1f3fe","🕺🏿":"1f57a-1f3ff","🧖🏻":"1f9d6-1f3fb","🧖🏼":"1f9d6-1f3fc","🧖🏽":"1f9d6-1f3fd","🧖🏾":"1f9d6-1f3fe","🧖🏿":"1f9d6-1f3ff","🧗🏻":"1f9d7-1f3fb","🧗🏼":"1f9d7-1f3fc","🧗🏽":"1f9d7-1f3fd","🧗🏾":"1f9d7-1f3fe","🧗🏿":"1f9d7-1f3ff","🧘🏻":"1f9d8-1f3fb","🧘🏼":"1f9d8-1f3fc","🧘🏽":"1f9d8-1f3fd","🧘🏾":"1f9d8-1f3fe","🧘🏿":"1f9d8-1f3ff","🛀🏻":"1f6c0-1f3fb","🛀🏼":"1f6c0-1f3fc","🛀🏽":"1f6c0-1f3fd","🛀🏾":"1f6c0-1f3fe","🛀🏿":"1f6c0-1f3ff","🛌🏻":"1f6cc-1f3fb","🛌🏼":"1f6cc-1f3fc","🛌🏽":"1f6cc-1f3fd","🛌🏾":"1f6cc-1f3fe","🛌🏿":"1f6cc-1f3ff","🕴️":"1f574","🕴🏻":"1f574-1f3fb","🕴🏼":"1f574-1f3fc","🕴🏽":"1f574-1f3fd","🕴🏾":"1f574-1f3fe","🕴🏿":"1f574-1f3ff","🗣️":"1f5e3","🏇🏻":"1f3c7-1f3fb","🏇🏼":"1f3c7-1f3fc","🏇🏽":"1f3c7-1f3fd","🏇🏾":"1f3c7-1f3fe","🏇🏿":"1f3c7-1f3ff","⛷️":"26f7","🏂🏻":"1f3c2-1f3fb","🏂🏼":"1f3c2-1f3fc","🏂🏽":"1f3c2-1f3fd","🏂🏾":"1f3c2-1f3fe","🏂🏿":"1f3c2-1f3ff","🏌️":"1f3cc","🏌🏻":"1f3cc-1f3fb","🏌🏼":"1f3cc-1f3fc","🏌🏽":"1f3cc-1f3fd","🏌🏾":"1f3cc-1f3fe","🏌🏿":"1f3cc-1f3ff","🏄🏻":"1f3c4-1f3fb","🏄🏼":"1f3c4-1f3fc","🏄🏽":"1f3c4-1f3fd","🏄🏾":"1f3c4-1f3fe","🏄🏿":"1f3c4-1f3ff","🚣🏻":"1f6a3-1f3fb","🚣🏼":"1f6a3-1f3fc","🚣🏽":"1f6a3-1f3fd","🚣🏾":"1f6a3-1f3fe","🚣🏿":"1f6a3-1f3ff","🏊🏻":"1f3ca-1f3fb","🏊🏼":"1f3ca-1f3fc","🏊🏽":"1f3ca-1f3fd","🏊🏾":"1f3ca-1f3fe","🏊🏿":"1f3ca-1f3ff","⛹️":"26f9","⛹🏻":"26f9-1f3fb","⛹🏼":"26f9-1f3fc","⛹🏽":"26f9-1f3fd","⛹🏾":"26f9-1f3fe","⛹🏿":"26f9-1f3ff","🏋️":"1f3cb","🏋🏻":"1f3cb-1f3fb","🏋🏼":"1f3cb-1f3fc","🏋🏽":"1f3cb-1f3fd","🏋🏾":"1f3cb-1f3fe","🏋🏿":"1f3cb-1f3ff","🚴🏻":"1f6b4-1f3fb","🚴🏼":"1f6b4-1f3fc","🚴🏽":"1f6b4-1f3fd","🚴🏾":"1f6b4-1f3fe","🚴🏿":"1f6b4-1f3ff","🚵🏻":"1f6b5-1f3fb","🚵🏼":"1f6b5-1f3fc","🚵🏽":"1f6b5-1f3fd","🚵🏾":"1f6b5-1f3fe","🚵🏿":"1f6b5-1f3ff","🏎️":"1f3ce","🏍️":"1f3cd","🤸🏻":"1f938-1f3fb","🤸🏼":"1f938-1f3fc","🤸🏽":"1f938-1f3fd","🤸🏾":"1f938-1f3fe","🤸🏿":"1f938-1f3ff","🤽🏻":"1f93d-1f3fb","🤽🏼":"1f93d-1f3fc","🤽🏽":"1f93d-1f3fd","🤽🏾":"1f93d-1f3fe","🤽🏿":"1f93d-1f3ff","🤾🏻":"1f93e-1f3fb","🤾🏼":"1f93e-1f3fc","🤾🏽":"1f93e-1f3fd","🤾🏾":"1f93e-1f3fe","🤾🏿":"1f93e-1f3ff","🤹🏻":"1f939-1f3fb","🤹🏼":"1f939-1f3fc","🤹🏽":"1f939-1f3fd","🤹🏾":"1f939-1f3fe","🤹🏿":"1f939-1f3ff","🤳🏻":"1f933-1f3fb","🤳🏼":"1f933-1f3fc","🤳🏽":"1f933-1f3fd","🤳🏾":"1f933-1f3fe","🤳🏿":"1f933-1f3ff","💪🏻":"1f4aa-1f3fb","💪🏼":"1f4aa-1f3fc","💪🏽":"1f4aa-1f3fd","💪🏾":"1f4aa-1f3fe","💪🏿":"1f4aa-1f3ff","👈🏻":"1f448-1f3fb","👈🏼":"1f448-1f3fc","👈🏽":"1f448-1f3fd","👈🏾":"1f448-1f3fe","👈🏿":"1f448-1f3ff","👉🏻":"1f449-1f3fb","👉🏼":"1f449-1f3fc","👉🏽":"1f449-1f3fd","👉🏾":"1f449-1f3fe","👉🏿":"1f449-1f3ff","☝️":"261d","☝🏻":"261d-1f3fb","☝🏼":"261d-1f3fc","☝🏽":"261d-1f3fd","☝🏾":"261d-1f3fe","☝🏿":"261d-1f3ff","👆🏻":"1f446-1f3fb","👆🏼":"1f446-1f3fc","👆🏽":"1f446-1f3fd","👆🏾":"1f446-1f3fe","👆🏿":"1f446-1f3ff","🖕🏻":"1f595-1f3fb","🖕🏼":"1f595-1f3fc","🖕🏽":"1f595-1f3fd","🖕🏾":"1f595-1f3fe","🖕🏿":"1f595-1f3ff","👇🏻":"1f447-1f3fb","👇🏼":"1f447-1f3fc","👇🏽":"1f447-1f3fd","👇🏾":"1f447-1f3fe","👇🏿":"1f447-1f3ff","✌️":"270c","✌🏻":"270c-1f3fb","✌🏼":"270c-1f3fc","✌🏽":"270c-1f3fd","✌🏾":"270c-1f3fe","✌🏿":"270c-1f3ff","🤞🏻":"1f91e-1f3fb","🤞🏼":"1f91e-1f3fc","🤞🏽":"1f91e-1f3fd","🤞🏾":"1f91e-1f3fe","🤞🏿":"1f91e-1f3ff","🖖🏻":"1f596-1f3fb","🖖🏼":"1f596-1f3fc","🖖🏽":"1f596-1f3fd","🖖🏾":"1f596-1f3fe","🖖🏿":"1f596-1f3ff","🤘🏻":"1f918-1f3fb","🤘🏼":"1f918-1f3fc","🤘🏽":"1f918-1f3fd","🤘🏾":"1f918-1f3fe","🤘🏿":"1f918-1f3ff","🤙🏻":"1f919-1f3fb","🤙🏼":"1f919-1f3fc","🤙🏽":"1f919-1f3fd","🤙🏾":"1f919-1f3fe","🤙🏿":"1f919-1f3ff","🖐️":"1f590","🖐🏻":"1f590-1f3fb","🖐🏼":"1f590-1f3fc","🖐🏽":"1f590-1f3fd","🖐🏾":"1f590-1f3fe","🖐🏿":"1f590-1f3ff","✋🏻":"270b-1f3fb","✋🏼":"270b-1f3fc","✋🏽":"270b-1f3fd","✋🏾":"270b-1f3fe","✋🏿":"270b-1f3ff","👌🏻":"1f44c-1f3fb","👌🏼":"1f44c-1f3fc","👌🏽":"1f44c-1f3fd","👌🏾":"1f44c-1f3fe","👌🏿":"1f44c-1f3ff","👍🏻":"1f44d-1f3fb","👍🏼":"1f44d-1f3fc","👍🏽":"1f44d-1f3fd","👍🏾":"1f44d-1f3fe","👍🏿":"1f44d-1f3ff","👎🏻":"1f44e-1f3fb","👎🏼":"1f44e-1f3fc","👎🏽":"1f44e-1f3fd","👎🏾":"1f44e-1f3fe","👎🏿":"1f44e-1f3ff","✊🏻":"270a-1f3fb","✊🏼":"270a-1f3fc","✊🏽":"270a-1f3fd","✊🏾":"270a-1f3fe","✊🏿":"270a-1f3ff","👊🏻":"1f44a-1f3fb","👊🏼":"1f44a-1f3fc","👊🏽":"1f44a-1f3fd","👊🏾":"1f44a-1f3fe","👊🏿":"1f44a-1f3ff","🤛🏻":"1f91b-1f3fb","🤛🏼":"1f91b-1f3fc","🤛🏽":"1f91b-1f3fd","🤛🏾":"1f91b-1f3fe","🤛🏿":"1f91b-1f3ff","🤜🏻":"1f91c-1f3fb","🤜🏼":"1f91c-1f3fc","🤜🏽":"1f91c-1f3fd","🤜🏾":"1f91c-1f3fe","🤜🏿":"1f91c-1f3ff","🤚🏻":"1f91a-1f3fb","🤚🏼":"1f91a-1f3fc","🤚🏽":"1f91a-1f3fd","🤚🏾":"1f91a-1f3fe","🤚🏿":"1f91a-1f3ff","👋🏻":"1f44b-1f3fb","👋🏼":"1f44b-1f3fc","👋🏽":"1f44b-1f3fd","👋🏾":"1f44b-1f3fe","👋🏿":"1f44b-1f3ff","🤟🏻":"1f91f-1f3fb","🤟🏼":"1f91f-1f3fc","🤟🏽":"1f91f-1f3fd","🤟🏾":"1f91f-1f3fe","🤟🏿":"1f91f-1f3ff","✍️":"270d","✍🏻":"270d-1f3fb","✍🏼":"270d-1f3fc","✍🏽":"270d-1f3fd","✍🏾":"270d-1f3fe","✍🏿":"270d-1f3ff","👏🏻":"1f44f-1f3fb","👏🏼":"1f44f-1f3fc","👏🏽":"1f44f-1f3fd","👏🏾":"1f44f-1f3fe","👏🏿":"1f44f-1f3ff","👐🏻":"1f450-1f3fb","👐🏼":"1f450-1f3fc","👐🏽":"1f450-1f3fd","👐🏾":"1f450-1f3fe","👐🏿":"1f450-1f3ff","🙌🏻":"1f64c-1f3fb","🙌🏼":"1f64c-1f3fc","🙌🏽":"1f64c-1f3fd","🙌🏾":"1f64c-1f3fe","🙌🏿":"1f64c-1f3ff","🤲🏻":"1f932-1f3fb","🤲🏼":"1f932-1f3fc","🤲🏽":"1f932-1f3fd","🤲🏾":"1f932-1f3fe","🤲🏿":"1f932-1f3ff","🙏🏻":"1f64f-1f3fb","🙏🏼":"1f64f-1f3fc","🙏🏽":"1f64f-1f3fd","🙏🏾":"1f64f-1f3fe","🙏🏿":"1f64f-1f3ff","💅🏻":"1f485-1f3fb","💅🏼":"1f485-1f3fc","💅🏽":"1f485-1f3fd","💅🏾":"1f485-1f3fe","💅🏿":"1f485-1f3ff","👂🏻":"1f442-1f3fb","👂🏼":"1f442-1f3fc","👂🏽":"1f442-1f3fd","👂🏾":"1f442-1f3fe","👂🏿":"1f442-1f3ff","👃🏻":"1f443-1f3fb","👃🏼":"1f443-1f3fc","👃🏽":"1f443-1f3fd","👃🏾":"1f443-1f3fe","👃🏿":"1f443-1f3ff","👁️":"1f441","❤️":"2764","❣️":"2763","🗨️":"1f5e8","🗯️":"1f5ef","🕳️":"1f573","🕶️":"1f576","🛍️":"1f6cd","⛑️":"26d1","🐿️":"1f43f","🕊️":"1f54a","🕷️":"1f577","🕸️":"1f578","🏵️":"1f3f5","☘️":"2618","🌶️":"1f336","🍽️":"1f37d","🗺️":"1f5fa","🏔️":"1f3d4","⛰️":"26f0","🏕️":"1f3d5","🏖️":"1f3d6","🏜️":"1f3dc","🏝️":"1f3dd","🏞️":"1f3de","🏟️":"1f3df","🏛️":"1f3db","🏗️":"1f3d7","🏘️":"1f3d8","🏙️":"1f3d9","🏚️":"1f3da","⛩️":"26e9","♨️":"2668","🖼️":"1f5bc","🛣️":"1f6e3","🛤️":"1f6e4","🛳️":"1f6f3","⛴️":"26f4","🛥️":"1f6e5","✈️":"2708","🛩️":"1f6e9","🛰️":"1f6f0","🛎️":"1f6ce","🛏️":"1f6cf","🛋️":"1f6cb","⏱️":"23f1","⏲️":"23f2","🕰️":"1f570","🌡️":"1f321","☀️":"2600","☁️":"2601","⛈️":"26c8","🌤️":"1f324","🌥️":"1f325","🌦️":"1f326","🌧️":"1f327","🌨️":"1f328","🌩️":"1f329","🌪️":"1f32a","🌫️":"1f32b","🌬️":"1f32c","☂️":"2602","⛱️":"26f1","❄️":"2744","☃️":"2603","☄️":"2604","🎗️":"1f397","🎟️":"1f39f","🎖️":"1f396","⛸️":"26f8","🕹️":"1f579","♠️":"2660","♥️":"2665","♦️":"2666","♣️":"2663","🎙️":"1f399","🎚️":"1f39a","🎛️":"1f39b","☎️":"260e","🖥️":"1f5a5","🖨️":"1f5a8","⌨️":"2328","🖱️":"1f5b1","🖲️":"1f5b2","🎞️":"1f39e","📽️":"1f4fd","🕯️":"1f56f","🗞️":"1f5de","🏷️":"1f3f7","✉️":"2709","🗳️":"1f5f3","✏️":"270f","✒️":"2712","🖋️":"1f58b","🖊️":"1f58a","🖌️":"1f58c","🖍️":"1f58d","🗂️":"1f5c2","🗒️":"1f5d2","🗓️":"1f5d3","🖇️":"1f587","✂️":"2702","🗃️":"1f5c3","🗄️":"1f5c4","🗑️":"1f5d1","🗝️":"1f5dd","⛏️":"26cf","⚒️":"2692","🛠️":"1f6e0","🗡️":"1f5e1","⚔️":"2694","🛡️":"1f6e1","⚙️":"2699","🗜️":"1f5dc","⚗️":"2697","⚖️":"2696","⛓️":"26d3","⚰️":"26b0","⚱️":"26b1","🛢️":"1f6e2","⚠️":"26a0","☢️":"2622","☣️":"2623","⬆️":"2b06","↗️":"2197","➡️":"27a1","↘️":"2198","⬇️":"2b07","↙️":"2199","⬅️":"2b05","↖️":"2196","↕️":"2195","↔️":"2194","↩️":"21a9","↪️":"21aa","⤴️":"2934","⤵️":"2935","⚛️":"269b","🕉️":"1f549","✡️":"2721","☸️":"2638","☯️":"262f","✝️":"271d","☦️":"2626","☪️":"262a","☮️":"262e","▶️":"25b6","⏭️":"23ed","⏯️":"23ef","◀️":"25c0","⏮️":"23ee","⏸️":"23f8","⏹️":"23f9","⏺️":"23fa","⏏️":"23cf","♀️":"2640","♂️":"2642","⚕️":"2695","♻️":"267b","⚜️":"269c","☑️":"2611","✔️":"2714","✖️":"2716","〽️":"303d","✳️":"2733","✴️":"2734","❇️":"2747","‼️":"203c","⁉️":"2049","〰️":"3030","©️":"a9","®️":"ae","™️":"2122","#⃣":"23-20e3","*⃣":"2a-20e3","0⃣":"30-20e3","1⃣":"31-20e3","2⃣":"32-20e3","3⃣":"33-20e3","4⃣":"34-20e3","5⃣":"35-20e3","6⃣":"36-20e3","7⃣":"37-20e3","8⃣":"38-20e3","9⃣":"39-20e3","🅰️":"1f170","🅱️":"1f171","ℹ️":"2139","Ⓜ️":"24c2","🅾️":"1f17e","🅿️":"1f17f","🈂️":"1f202","🈷️":"1f237","㊗️":"3297","㊙️":"3299","▪️":"25aa","▫️":"25ab","◻️":"25fb","◼️":"25fc","🏳️":"1f3f3","🇦🇨":"1f1e6-1f1e8","🇦🇩":"1f1e6-1f1e9","🇦🇪":"1f1e6-1f1ea","🇦🇫":"1f1e6-1f1eb","🇦🇬":"1f1e6-1f1ec","🇦🇮":"1f1e6-1f1ee","🇦🇱":"1f1e6-1f1f1","🇦🇲":"1f1e6-1f1f2","🇦🇴":"1f1e6-1f1f4","🇦🇶":"1f1e6-1f1f6","🇦🇷":"1f1e6-1f1f7","🇦🇸":"1f1e6-1f1f8","🇦🇹":"1f1e6-1f1f9","🇦🇺":"1f1e6-1f1fa","🇦🇼":"1f1e6-1f1fc","🇦🇽":"1f1e6-1f1fd","🇦🇿":"1f1e6-1f1ff","🇧🇦":"1f1e7-1f1e6","🇧🇧":"1f1e7-1f1e7","🇧🇩":"1f1e7-1f1e9","🇧🇪":"1f1e7-1f1ea","🇧🇫":"1f1e7-1f1eb","🇧🇬":"1f1e7-1f1ec","🇧🇭":"1f1e7-1f1ed","🇧🇮":"1f1e7-1f1ee","🇧🇯":"1f1e7-1f1ef","🇧🇱":"1f1e7-1f1f1","🇧🇲":"1f1e7-1f1f2","🇧🇳":"1f1e7-1f1f3","🇧🇴":"1f1e7-1f1f4","🇧🇶":"1f1e7-1f1f6","🇧🇷":"1f1e7-1f1f7","🇧🇸":"1f1e7-1f1f8","🇧🇹":"1f1e7-1f1f9","🇧🇻":"1f1e7-1f1fb","🇧🇼":"1f1e7-1f1fc","🇧🇾":"1f1e7-1f1fe","🇧🇿":"1f1e7-1f1ff","🇨🇦":"1f1e8-1f1e6","🇨🇨":"1f1e8-1f1e8","🇨🇩":"1f1e8-1f1e9","🇨🇫":"1f1e8-1f1eb","🇨🇬":"1f1e8-1f1ec","🇨🇭":"1f1e8-1f1ed","🇨🇮":"1f1e8-1f1ee","🇨🇰":"1f1e8-1f1f0","🇨🇱":"1f1e8-1f1f1","🇨🇲":"1f1e8-1f1f2","🇨🇳":"1f1e8-1f1f3","🇨🇴":"1f1e8-1f1f4","🇨🇵":"1f1e8-1f1f5","🇨🇷":"1f1e8-1f1f7","🇨🇺":"1f1e8-1f1fa","🇨🇻":"1f1e8-1f1fb","🇨🇼":"1f1e8-1f1fc","🇨🇽":"1f1e8-1f1fd","🇨🇾":"1f1e8-1f1fe","🇨🇿":"1f1e8-1f1ff","🇩🇪":"1f1e9-1f1ea","🇩🇬":"1f1e9-1f1ec","🇩🇯":"1f1e9-1f1ef","🇩🇰":"1f1e9-1f1f0","🇩🇲":"1f1e9-1f1f2","🇩🇴":"1f1e9-1f1f4","🇩🇿":"1f1e9-1f1ff","🇪🇦":"1f1ea-1f1e6","🇪🇨":"1f1ea-1f1e8","🇪🇪":"1f1ea-1f1ea","🇪🇬":"1f1ea-1f1ec","🇪🇭":"1f1ea-1f1ed","🇪🇷":"1f1ea-1f1f7","🇪🇸":"1f1ea-1f1f8","🇪🇹":"1f1ea-1f1f9","🇪🇺":"1f1ea-1f1fa","🇫🇮":"1f1eb-1f1ee","🇫🇯":"1f1eb-1f1ef","🇫🇰":"1f1eb-1f1f0","🇫🇲":"1f1eb-1f1f2","🇫🇴":"1f1eb-1f1f4","🇫🇷":"1f1eb-1f1f7","🇬🇦":"1f1ec-1f1e6","🇬🇧":"1f1ec-1f1e7","🇬🇩":"1f1ec-1f1e9","🇬🇪":"1f1ec-1f1ea","🇬🇫":"1f1ec-1f1eb","🇬🇬":"1f1ec-1f1ec","🇬🇭":"1f1ec-1f1ed","🇬🇮":"1f1ec-1f1ee","🇬🇱":"1f1ec-1f1f1","🇬🇲":"1f1ec-1f1f2","🇬🇳":"1f1ec-1f1f3","🇬🇵":"1f1ec-1f1f5","🇬🇶":"1f1ec-1f1f6","🇬🇷":"1f1ec-1f1f7","🇬🇸":"1f1ec-1f1f8","🇬🇹":"1f1ec-1f1f9","🇬🇺":"1f1ec-1f1fa","🇬🇼":"1f1ec-1f1fc","🇬🇾":"1f1ec-1f1fe","🇭🇰":"1f1ed-1f1f0","🇭🇲":"1f1ed-1f1f2","🇭🇳":"1f1ed-1f1f3","🇭🇷":"1f1ed-1f1f7","🇭🇹":"1f1ed-1f1f9","🇭🇺":"1f1ed-1f1fa","🇮🇨":"1f1ee-1f1e8","🇮🇩":"1f1ee-1f1e9","🇮🇪":"1f1ee-1f1ea","🇮🇱":"1f1ee-1f1f1","🇮🇲":"1f1ee-1f1f2","🇮🇳":"1f1ee-1f1f3","🇮🇴":"1f1ee-1f1f4","🇮🇶":"1f1ee-1f1f6","🇮🇷":"1f1ee-1f1f7","🇮🇸":"1f1ee-1f1f8","🇮🇹":"1f1ee-1f1f9","🇯🇪":"1f1ef-1f1ea","🇯🇲":"1f1ef-1f1f2","🇯🇴":"1f1ef-1f1f4","🇯🇵":"1f1ef-1f1f5","🇰🇪":"1f1f0-1f1ea","🇰🇬":"1f1f0-1f1ec","🇰🇭":"1f1f0-1f1ed","🇰🇮":"1f1f0-1f1ee","🇰🇲":"1f1f0-1f1f2","🇰🇳":"1f1f0-1f1f3","🇰🇵":"1f1f0-1f1f5","🇰🇷":"1f1f0-1f1f7","🇰🇼":"1f1f0-1f1fc","🇰🇾":"1f1f0-1f1fe","🇰🇿":"1f1f0-1f1ff","🇱🇦":"1f1f1-1f1e6","🇱🇧":"1f1f1-1f1e7","🇱🇨":"1f1f1-1f1e8","🇱🇮":"1f1f1-1f1ee","🇱🇰":"1f1f1-1f1f0","🇱🇷":"1f1f1-1f1f7","🇱🇸":"1f1f1-1f1f8","🇱🇹":"1f1f1-1f1f9","🇱🇺":"1f1f1-1f1fa","🇱🇻":"1f1f1-1f1fb","🇱🇾":"1f1f1-1f1fe","🇲🇦":"1f1f2-1f1e6","🇲🇨":"1f1f2-1f1e8","🇲🇩":"1f1f2-1f1e9","🇲🇪":"1f1f2-1f1ea","🇲🇫":"1f1f2-1f1eb","🇲🇬":"1f1f2-1f1ec","🇲🇭":"1f1f2-1f1ed","🇲🇰":"1f1f2-1f1f0","🇲🇱":"1f1f2-1f1f1","🇲🇲":"1f1f2-1f1f2","🇲🇳":"1f1f2-1f1f3","🇲🇴":"1f1f2-1f1f4","🇲🇵":"1f1f2-1f1f5","🇲🇶":"1f1f2-1f1f6","🇲🇷":"1f1f2-1f1f7","🇲🇸":"1f1f2-1f1f8","🇲🇹":"1f1f2-1f1f9","🇲🇺":"1f1f2-1f1fa","🇲🇻":"1f1f2-1f1fb","🇲🇼":"1f1f2-1f1fc","🇲🇽":"1f1f2-1f1fd","🇲🇾":"1f1f2-1f1fe","🇲🇿":"1f1f2-1f1ff","🇳🇦":"1f1f3-1f1e6","🇳🇨":"1f1f3-1f1e8","🇳🇪":"1f1f3-1f1ea","🇳🇫":"1f1f3-1f1eb","🇳🇬":"1f1f3-1f1ec","🇳🇮":"1f1f3-1f1ee","🇳🇱":"1f1f3-1f1f1","🇳🇴":"1f1f3-1f1f4","🇳🇵":"1f1f3-1f1f5","🇳🇷":"1f1f3-1f1f7","🇳🇺":"1f1f3-1f1fa","🇳🇿":"1f1f3-1f1ff","🇴🇲":"1f1f4-1f1f2","🇵🇦":"1f1f5-1f1e6","🇵🇪":"1f1f5-1f1ea","🇵🇫":"1f1f5-1f1eb","🇵🇬":"1f1f5-1f1ec","🇵🇭":"1f1f5-1f1ed","🇵🇰":"1f1f5-1f1f0","🇵🇱":"1f1f5-1f1f1","🇵🇲":"1f1f5-1f1f2","🇵🇳":"1f1f5-1f1f3","🇵🇷":"1f1f5-1f1f7","🇵🇸":"1f1f5-1f1f8","🇵🇹":"1f1f5-1f1f9","🇵🇼":"1f1f5-1f1fc","🇵🇾":"1f1f5-1f1fe","🇶🇦":"1f1f6-1f1e6","🇷🇪":"1f1f7-1f1ea","🇷🇴":"1f1f7-1f1f4","🇷🇸":"1f1f7-1f1f8","🇷🇺":"1f1f7-1f1fa","🇷🇼":"1f1f7-1f1fc","🇸🇦":"1f1f8-1f1e6","🇸🇧":"1f1f8-1f1e7","🇸🇨":"1f1f8-1f1e8","🇸🇩":"1f1f8-1f1e9","🇸🇪":"1f1f8-1f1ea","🇸🇬":"1f1f8-1f1ec","🇸🇭":"1f1f8-1f1ed","🇸🇮":"1f1f8-1f1ee","🇸🇯":"1f1f8-1f1ef","🇸🇰":"1f1f8-1f1f0","🇸🇱":"1f1f8-1f1f1","🇸🇲":"1f1f8-1f1f2","🇸🇳":"1f1f8-1f1f3","🇸🇴":"1f1f8-1f1f4","🇸🇷":"1f1f8-1f1f7","🇸🇸":"1f1f8-1f1f8","🇸🇹":"1f1f8-1f1f9","🇸🇻":"1f1f8-1f1fb","🇸🇽":"1f1f8-1f1fd","🇸🇾":"1f1f8-1f1fe","🇸🇿":"1f1f8-1f1ff","🇹🇦":"1f1f9-1f1e6","🇹🇨":"1f1f9-1f1e8","🇹🇩":"1f1f9-1f1e9","🇹🇫":"1f1f9-1f1eb","🇹🇬":"1f1f9-1f1ec","🇹🇭":"1f1f9-1f1ed","🇹🇯":"1f1f9-1f1ef","🇹🇰":"1f1f9-1f1f0","🇹🇱":"1f1f9-1f1f1","🇹🇲":"1f1f9-1f1f2","🇹🇳":"1f1f9-1f1f3","🇹🇴":"1f1f9-1f1f4","🇹🇷":"1f1f9-1f1f7","🇹🇹":"1f1f9-1f1f9","🇹🇻":"1f1f9-1f1fb","🇹🇼":"1f1f9-1f1fc","🇹🇿":"1f1f9-1f1ff","🇺🇦":"1f1fa-1f1e6","🇺🇬":"1f1fa-1f1ec","🇺🇲":"1f1fa-1f1f2","🇺🇳":"1f1fa-1f1f3","🇺🇸":"1f1fa-1f1f8","🇺🇾":"1f1fa-1f1fe","🇺🇿":"1f1fa-1f1ff","🇻🇦":"1f1fb-1f1e6","🇻🇨":"1f1fb-1f1e8","🇻🇪":"1f1fb-1f1ea","🇻🇬":"1f1fb-1f1ec","🇻🇮":"1f1fb-1f1ee","🇻🇳":"1f1fb-1f1f3","🇻🇺":"1f1fb-1f1fa","🇼🇫":"1f1fc-1f1eb","🇼🇸":"1f1fc-1f1f8","🇽🇰":"1f1fd-1f1f0","🇾🇪":"1f1fe-1f1ea","🇾🇹":"1f1fe-1f1f9","🇿🇦":"1f1ff-1f1e6","🇿🇲":"1f1ff-1f1f2","🇿🇼":"1f1ff-1f1fc","👨⚕":"1f468-200d-2695-fe0f","👩⚕":"1f469-200d-2695-fe0f","👨🎓":"1f468-200d-1f393","👩🎓":"1f469-200d-1f393","👨🏫":"1f468-200d-1f3eb","👩🏫":"1f469-200d-1f3eb","👨⚖":"1f468-200d-2696-fe0f","👩⚖":"1f469-200d-2696-fe0f","👨🌾":"1f468-200d-1f33e","👩🌾":"1f469-200d-1f33e","👨🍳":"1f468-200d-1f373","👩🍳":"1f469-200d-1f373","👨🔧":"1f468-200d-1f527","👩🔧":"1f469-200d-1f527","👨🏭":"1f468-200d-1f3ed","👩🏭":"1f469-200d-1f3ed","👨💼":"1f468-200d-1f4bc","👩💼":"1f469-200d-1f4bc","👨🔬":"1f468-200d-1f52c","👩🔬":"1f469-200d-1f52c","👨💻":"1f468-200d-1f4bb","👩💻":"1f469-200d-1f4bb","👨🎤":"1f468-200d-1f3a4","👩🎤":"1f469-200d-1f3a4","👨🎨":"1f468-200d-1f3a8","👩🎨":"1f469-200d-1f3a8","👨✈":"1f468-200d-2708-fe0f","👩✈":"1f469-200d-2708-fe0f","👨🚀":"1f468-200d-1f680","👩🚀":"1f469-200d-1f680","👨🚒":"1f468-200d-1f692","👩🚒":"1f469-200d-1f692","👮♂":"1f46e-200d-2642-fe0f","👮♀":"1f46e-200d-2640-fe0f","🕵♂":"1f575-fe0f-200d-2642-fe0f","🕵♀":"1f575-fe0f-200d-2640-fe0f","💂♂":"1f482-200d-2642-fe0f","💂♀":"1f482-200d-2640-fe0f","👷♂":"1f477-200d-2642-fe0f","👷♀":"1f477-200d-2640-fe0f","👳♂":"1f473-200d-2642-fe0f","👳♀":"1f473-200d-2640-fe0f","👱♂":"1f471-200d-2642-fe0f","👱♀":"1f471-200d-2640-fe0f","🧙♀":"1f9d9-200d-2640-fe0f","🧙♂":"1f9d9-200d-2642-fe0f","🧚♀":"1f9da-200d-2640-fe0f","🧚♂":"1f9da-200d-2642-fe0f","🧛♀":"1f9db-200d-2640-fe0f","🧛♂":"1f9db-200d-2642-fe0f","🧜♀":"1f9dc-200d-2640-fe0f","🧜♂":"1f9dc-200d-2642-fe0f","🧝♀":"1f9dd-200d-2640-fe0f","🧝♂":"1f9dd-200d-2642-fe0f","🧞♀":"1f9de-200d-2640-fe0f","🧞♂":"1f9de-200d-2642-fe0f","🧟♀":"1f9df-200d-2640-fe0f","🧟♂":"1f9df-200d-2642-fe0f","🙍♂":"1f64d-200d-2642-fe0f","🙍♀":"1f64d-200d-2640-fe0f","🙎♂":"1f64e-200d-2642-fe0f","🙎♀":"1f64e-200d-2640-fe0f","🙅♂":"1f645-200d-2642-fe0f","🙅♀":"1f645-200d-2640-fe0f","🙆♂":"1f646-200d-2642-fe0f","🙆♀":"1f646-200d-2640-fe0f","💁♂":"1f481-200d-2642-fe0f","💁♀":"1f481-200d-2640-fe0f","🙋♂":"1f64b-200d-2642-fe0f","🙋♀":"1f64b-200d-2640-fe0f","🙇♂":"1f647-200d-2642-fe0f","🙇♀":"1f647-200d-2640-fe0f","🤦♂":"1f926-200d-2642-fe0f","🤦♀":"1f926-200d-2640-fe0f","🤷♂":"1f937-200d-2642-fe0f","🤷♀":"1f937-200d-2640-fe0f","💆♂":"1f486-200d-2642-fe0f","💆♀":"1f486-200d-2640-fe0f","💇♂":"1f487-200d-2642-fe0f","💇♀":"1f487-200d-2640-fe0f","🚶♂":"1f6b6-200d-2642-fe0f","🚶♀":"1f6b6-200d-2640-fe0f","🏃♂":"1f3c3-200d-2642-fe0f","🏃♀":"1f3c3-200d-2640-fe0f","👯♂":"1f46f-200d-2642-fe0f","👯♀":"1f46f-200d-2640-fe0f","🧖♀":"1f9d6-200d-2640-fe0f","🧖♂":"1f9d6-200d-2642-fe0f","🧗♀":"1f9d7-200d-2640-fe0f","🧗♂":"1f9d7-200d-2642-fe0f","🧘♀":"1f9d8-200d-2640-fe0f","🧘♂":"1f9d8-200d-2642-fe0f","🏌♂":"1f3cc-fe0f-200d-2642-fe0f","🏌♀":"1f3cc-fe0f-200d-2640-fe0f","🏄♂":"1f3c4-200d-2642-fe0f","🏄♀":"1f3c4-200d-2640-fe0f","🚣♂":"1f6a3-200d-2642-fe0f","🚣♀":"1f6a3-200d-2640-fe0f","🏊♂":"1f3ca-200d-2642-fe0f","🏊♀":"1f3ca-200d-2640-fe0f","⛹♂":"26f9-fe0f-200d-2642-fe0f","⛹♀":"26f9-fe0f-200d-2640-fe0f","🏋♂":"1f3cb-fe0f-200d-2642-fe0f","🏋♀":"1f3cb-fe0f-200d-2640-fe0f","🚴♂":"1f6b4-200d-2642-fe0f","🚴♀":"1f6b4-200d-2640-fe0f","🚵♂":"1f6b5-200d-2642-fe0f","🚵♀":"1f6b5-200d-2640-fe0f","🤸♂":"1f938-200d-2642-fe0f","🤸♀":"1f938-200d-2640-fe0f","🤼♂":"1f93c-200d-2642-fe0f","🤼♀":"1f93c-200d-2640-fe0f","🤽♂":"1f93d-200d-2642-fe0f","🤽♀":"1f93d-200d-2640-fe0f","🤾♂":"1f93e-200d-2642-fe0f","🤾♀":"1f93e-200d-2640-fe0f","🤹♂":"1f939-200d-2642-fe0f","🤹♀":"1f939-200d-2640-fe0f","👨👦":"1f468-200d-1f466","👨👧":"1f468-200d-1f467","👩👦":"1f469-200d-1f466","👩👧":"1f469-200d-1f467","👁🗨":"1f441-200d-1f5e8","#️⃣":"23-20e3","*️⃣":"2a-20e3","0️⃣":"30-20e3","1️⃣":"31-20e3","2️⃣":"32-20e3","3️⃣":"33-20e3","4️⃣":"34-20e3","5️⃣":"35-20e3","6️⃣":"36-20e3","7️⃣":"37-20e3","8️⃣":"38-20e3","9️⃣":"39-20e3","🏳🌈":"1f3f3-fe0f-200d-1f308","👨⚕️":"1f468-200d-2695-fe0f","👨🏻⚕":"1f468-1f3fb-200d-2695-fe0f","👨🏼⚕":"1f468-1f3fc-200d-2695-fe0f","👨🏽⚕":"1f468-1f3fd-200d-2695-fe0f","👨🏾⚕":"1f468-1f3fe-200d-2695-fe0f","👨🏿⚕":"1f468-1f3ff-200d-2695-fe0f","👩⚕️":"1f469-200d-2695-fe0f","👩🏻⚕":"1f469-1f3fb-200d-2695-fe0f","👩🏼⚕":"1f469-1f3fc-200d-2695-fe0f","👩🏽⚕":"1f469-1f3fd-200d-2695-fe0f","👩🏾⚕":"1f469-1f3fe-200d-2695-fe0f","👩🏿⚕":"1f469-1f3ff-200d-2695-fe0f","👨🏻🎓":"1f468-1f3fb-200d-1f393","👨🏼🎓":"1f468-1f3fc-200d-1f393","👨🏽🎓":"1f468-1f3fd-200d-1f393","👨🏾🎓":"1f468-1f3fe-200d-1f393","👨🏿🎓":"1f468-1f3ff-200d-1f393","👩🏻🎓":"1f469-1f3fb-200d-1f393","👩🏼🎓":"1f469-1f3fc-200d-1f393","👩🏽🎓":"1f469-1f3fd-200d-1f393","👩🏾🎓":"1f469-1f3fe-200d-1f393","👩🏿🎓":"1f469-1f3ff-200d-1f393","👨🏻🏫":"1f468-1f3fb-200d-1f3eb","👨🏼🏫":"1f468-1f3fc-200d-1f3eb","👨🏽🏫":"1f468-1f3fd-200d-1f3eb","👨🏾🏫":"1f468-1f3fe-200d-1f3eb","👨🏿🏫":"1f468-1f3ff-200d-1f3eb","👩🏻🏫":"1f469-1f3fb-200d-1f3eb","👩🏼🏫":"1f469-1f3fc-200d-1f3eb","👩🏽🏫":"1f469-1f3fd-200d-1f3eb","👩🏾🏫":"1f469-1f3fe-200d-1f3eb","👩🏿🏫":"1f469-1f3ff-200d-1f3eb","👨⚖️":"1f468-200d-2696-fe0f","👨🏻⚖":"1f468-1f3fb-200d-2696-fe0f","👨🏼⚖":"1f468-1f3fc-200d-2696-fe0f","👨🏽⚖":"1f468-1f3fd-200d-2696-fe0f","👨🏾⚖":"1f468-1f3fe-200d-2696-fe0f","👨🏿⚖":"1f468-1f3ff-200d-2696-fe0f","👩⚖️":"1f469-200d-2696-fe0f","👩🏻⚖":"1f469-1f3fb-200d-2696-fe0f","👩🏼⚖":"1f469-1f3fc-200d-2696-fe0f","👩🏽⚖":"1f469-1f3fd-200d-2696-fe0f","👩🏾⚖":"1f469-1f3fe-200d-2696-fe0f","👩🏿⚖":"1f469-1f3ff-200d-2696-fe0f","👨🏻🌾":"1f468-1f3fb-200d-1f33e","👨🏼🌾":"1f468-1f3fc-200d-1f33e","👨🏽🌾":"1f468-1f3fd-200d-1f33e","👨🏾🌾":"1f468-1f3fe-200d-1f33e","👨🏿🌾":"1f468-1f3ff-200d-1f33e","👩🏻🌾":"1f469-1f3fb-200d-1f33e","👩🏼🌾":"1f469-1f3fc-200d-1f33e","👩🏽🌾":"1f469-1f3fd-200d-1f33e","👩🏾🌾":"1f469-1f3fe-200d-1f33e","👩🏿🌾":"1f469-1f3ff-200d-1f33e","👨🏻🍳":"1f468-1f3fb-200d-1f373","👨🏼🍳":"1f468-1f3fc-200d-1f373","👨🏽🍳":"1f468-1f3fd-200d-1f373","👨🏾🍳":"1f468-1f3fe-200d-1f373","👨🏿🍳":"1f468-1f3ff-200d-1f373","👩🏻🍳":"1f469-1f3fb-200d-1f373","👩🏼🍳":"1f469-1f3fc-200d-1f373","👩🏽🍳":"1f469-1f3fd-200d-1f373","👩🏾🍳":"1f469-1f3fe-200d-1f373","👩🏿🍳":"1f469-1f3ff-200d-1f373","👨🏻🔧":"1f468-1f3fb-200d-1f527","👨🏼🔧":"1f468-1f3fc-200d-1f527","👨🏽🔧":"1f468-1f3fd-200d-1f527","👨🏾🔧":"1f468-1f3fe-200d-1f527","👨🏿🔧":"1f468-1f3ff-200d-1f527","👩🏻🔧":"1f469-1f3fb-200d-1f527","👩🏼🔧":"1f469-1f3fc-200d-1f527","👩🏽🔧":"1f469-1f3fd-200d-1f527","👩🏾🔧":"1f469-1f3fe-200d-1f527","👩🏿🔧":"1f469-1f3ff-200d-1f527","👨🏻🏭":"1f468-1f3fb-200d-1f3ed","👨🏼🏭":"1f468-1f3fc-200d-1f3ed","👨🏽🏭":"1f468-1f3fd-200d-1f3ed","👨🏾🏭":"1f468-1f3fe-200d-1f3ed","👨🏿🏭":"1f468-1f3ff-200d-1f3ed","👩🏻🏭":"1f469-1f3fb-200d-1f3ed","👩🏼🏭":"1f469-1f3fc-200d-1f3ed","👩🏽🏭":"1f469-1f3fd-200d-1f3ed","👩🏾🏭":"1f469-1f3fe-200d-1f3ed","👩🏿🏭":"1f469-1f3ff-200d-1f3ed","👨🏻💼":"1f468-1f3fb-200d-1f4bc","👨🏼💼":"1f468-1f3fc-200d-1f4bc","👨🏽💼":"1f468-1f3fd-200d-1f4bc","👨🏾💼":"1f468-1f3fe-200d-1f4bc","👨🏿💼":"1f468-1f3ff-200d-1f4bc","👩🏻💼":"1f469-1f3fb-200d-1f4bc","👩🏼💼":"1f469-1f3fc-200d-1f4bc","👩🏽💼":"1f469-1f3fd-200d-1f4bc","👩🏾💼":"1f469-1f3fe-200d-1f4bc","👩🏿💼":"1f469-1f3ff-200d-1f4bc","👨🏻🔬":"1f468-1f3fb-200d-1f52c","👨🏼🔬":"1f468-1f3fc-200d-1f52c","👨🏽🔬":"1f468-1f3fd-200d-1f52c","👨🏾🔬":"1f468-1f3fe-200d-1f52c","👨🏿🔬":"1f468-1f3ff-200d-1f52c","👩🏻🔬":"1f469-1f3fb-200d-1f52c","👩🏼🔬":"1f469-1f3fc-200d-1f52c","👩🏽🔬":"1f469-1f3fd-200d-1f52c","👩🏾🔬":"1f469-1f3fe-200d-1f52c","👩🏿🔬":"1f469-1f3ff-200d-1f52c","👨🏻💻":"1f468-1f3fb-200d-1f4bb","👨🏼💻":"1f468-1f3fc-200d-1f4bb","👨🏽💻":"1f468-1f3fd-200d-1f4bb","👨🏾💻":"1f468-1f3fe-200d-1f4bb","👨🏿💻":"1f468-1f3ff-200d-1f4bb","👩🏻💻":"1f469-1f3fb-200d-1f4bb","👩🏼💻":"1f469-1f3fc-200d-1f4bb","👩🏽💻":"1f469-1f3fd-200d-1f4bb","👩🏾💻":"1f469-1f3fe-200d-1f4bb","👩🏿💻":"1f469-1f3ff-200d-1f4bb","👨🏻🎤":"1f468-1f3fb-200d-1f3a4","👨🏼🎤":"1f468-1f3fc-200d-1f3a4","👨🏽🎤":"1f468-1f3fd-200d-1f3a4","👨🏾🎤":"1f468-1f3fe-200d-1f3a4","👨🏿🎤":"1f468-1f3ff-200d-1f3a4","👩🏻🎤":"1f469-1f3fb-200d-1f3a4","👩🏼🎤":"1f469-1f3fc-200d-1f3a4","👩🏽🎤":"1f469-1f3fd-200d-1f3a4","👩🏾🎤":"1f469-1f3fe-200d-1f3a4","👩🏿🎤":"1f469-1f3ff-200d-1f3a4","👨🏻🎨":"1f468-1f3fb-200d-1f3a8","👨🏼🎨":"1f468-1f3fc-200d-1f3a8","👨🏽🎨":"1f468-1f3fd-200d-1f3a8","👨🏾🎨":"1f468-1f3fe-200d-1f3a8","👨🏿🎨":"1f468-1f3ff-200d-1f3a8","👩🏻🎨":"1f469-1f3fb-200d-1f3a8","👩🏼🎨":"1f469-1f3fc-200d-1f3a8","👩🏽🎨":"1f469-1f3fd-200d-1f3a8","👩🏾🎨":"1f469-1f3fe-200d-1f3a8","👩🏿🎨":"1f469-1f3ff-200d-1f3a8","👨✈️":"1f468-200d-2708-fe0f","👨🏻✈":"1f468-1f3fb-200d-2708-fe0f","👨🏼✈":"1f468-1f3fc-200d-2708-fe0f","👨🏽✈":"1f468-1f3fd-200d-2708-fe0f","👨🏾✈":"1f468-1f3fe-200d-2708-fe0f","👨🏿✈":"1f468-1f3ff-200d-2708-fe0f","👩✈️":"1f469-200d-2708-fe0f","👩🏻✈":"1f469-1f3fb-200d-2708-fe0f","👩🏼✈":"1f469-1f3fc-200d-2708-fe0f","👩🏽✈":"1f469-1f3fd-200d-2708-fe0f","👩🏾✈":"1f469-1f3fe-200d-2708-fe0f","👩🏿✈":"1f469-1f3ff-200d-2708-fe0f","👨🏻🚀":"1f468-1f3fb-200d-1f680","👨🏼🚀":"1f468-1f3fc-200d-1f680","👨🏽🚀":"1f468-1f3fd-200d-1f680","👨🏾🚀":"1f468-1f3fe-200d-1f680","👨🏿🚀":"1f468-1f3ff-200d-1f680","👩🏻🚀":"1f469-1f3fb-200d-1f680","👩🏼🚀":"1f469-1f3fc-200d-1f680","👩🏽🚀":"1f469-1f3fd-200d-1f680","👩🏾🚀":"1f469-1f3fe-200d-1f680","👩🏿🚀":"1f469-1f3ff-200d-1f680","👨🏻🚒":"1f468-1f3fb-200d-1f692","👨🏼🚒":"1f468-1f3fc-200d-1f692","👨🏽🚒":"1f468-1f3fd-200d-1f692","👨🏾🚒":"1f468-1f3fe-200d-1f692","👨🏿🚒":"1f468-1f3ff-200d-1f692","👩🏻🚒":"1f469-1f3fb-200d-1f692","👩🏼🚒":"1f469-1f3fc-200d-1f692","👩🏽🚒":"1f469-1f3fd-200d-1f692","👩🏾🚒":"1f469-1f3fe-200d-1f692","👩🏿🚒":"1f469-1f3ff-200d-1f692","👮♂️":"1f46e-200d-2642-fe0f","👮🏻♂":"1f46e-1f3fb-200d-2642-fe0f","👮🏼♂":"1f46e-1f3fc-200d-2642-fe0f","👮🏽♂":"1f46e-1f3fd-200d-2642-fe0f","👮🏾♂":"1f46e-1f3fe-200d-2642-fe0f","👮🏿♂":"1f46e-1f3ff-200d-2642-fe0f","👮♀️":"1f46e-200d-2640-fe0f","👮🏻♀":"1f46e-1f3fb-200d-2640-fe0f","👮🏼♀":"1f46e-1f3fc-200d-2640-fe0f","👮🏽♀":"1f46e-1f3fd-200d-2640-fe0f","👮🏾♀":"1f46e-1f3fe-200d-2640-fe0f","👮🏿♀":"1f46e-1f3ff-200d-2640-fe0f","🕵♂️":"1f575-fe0f-200d-2642-fe0f","🕵️♂":"1f575-fe0f-200d-2642-fe0f","🕵🏻♂":"1f575-1f3fb-200d-2642-fe0f","🕵🏼♂":"1f575-1f3fc-200d-2642-fe0f","🕵🏽♂":"1f575-1f3fd-200d-2642-fe0f","🕵🏾♂":"1f575-1f3fe-200d-2642-fe0f","🕵🏿♂":"1f575-1f3ff-200d-2642-fe0f","🕵♀️":"1f575-fe0f-200d-2640-fe0f","🕵️♀":"1f575-fe0f-200d-2640-fe0f","🕵🏻♀":"1f575-1f3fb-200d-2640-fe0f","🕵🏼♀":"1f575-1f3fc-200d-2640-fe0f","🕵🏽♀":"1f575-1f3fd-200d-2640-fe0f","🕵🏾♀":"1f575-1f3fe-200d-2640-fe0f","🕵🏿♀":"1f575-1f3ff-200d-2640-fe0f","💂♂️":"1f482-200d-2642-fe0f","💂🏻♂":"1f482-1f3fb-200d-2642-fe0f","💂🏼♂":"1f482-1f3fc-200d-2642-fe0f","💂🏽♂":"1f482-1f3fd-200d-2642-fe0f","💂🏾♂":"1f482-1f3fe-200d-2642-fe0f","💂🏿♂":"1f482-1f3ff-200d-2642-fe0f","💂♀️":"1f482-200d-2640-fe0f","💂🏻♀":"1f482-1f3fb-200d-2640-fe0f","💂🏼♀":"1f482-1f3fc-200d-2640-fe0f","💂🏽♀":"1f482-1f3fd-200d-2640-fe0f","💂🏾♀":"1f482-1f3fe-200d-2640-fe0f","💂🏿♀":"1f482-1f3ff-200d-2640-fe0f","👷♂️":"1f477-200d-2642-fe0f","👷🏻♂":"1f477-1f3fb-200d-2642-fe0f","👷🏼♂":"1f477-1f3fc-200d-2642-fe0f","👷🏽♂":"1f477-1f3fd-200d-2642-fe0f","👷🏾♂":"1f477-1f3fe-200d-2642-fe0f","👷🏿♂":"1f477-1f3ff-200d-2642-fe0f","👷♀️":"1f477-200d-2640-fe0f","👷🏻♀":"1f477-1f3fb-200d-2640-fe0f","👷🏼♀":"1f477-1f3fc-200d-2640-fe0f","👷🏽♀":"1f477-1f3fd-200d-2640-fe0f","👷🏾♀":"1f477-1f3fe-200d-2640-fe0f","👷🏿♀":"1f477-1f3ff-200d-2640-fe0f","👳♂️":"1f473-200d-2642-fe0f","👳🏻♂":"1f473-1f3fb-200d-2642-fe0f","👳🏼♂":"1f473-1f3fc-200d-2642-fe0f","👳🏽♂":"1f473-1f3fd-200d-2642-fe0f","👳🏾♂":"1f473-1f3fe-200d-2642-fe0f","👳🏿♂":"1f473-1f3ff-200d-2642-fe0f","👳♀️":"1f473-200d-2640-fe0f","👳🏻♀":"1f473-1f3fb-200d-2640-fe0f","👳🏼♀":"1f473-1f3fc-200d-2640-fe0f","👳🏽♀":"1f473-1f3fd-200d-2640-fe0f","👳🏾♀":"1f473-1f3fe-200d-2640-fe0f","👳🏿♀":"1f473-1f3ff-200d-2640-fe0f","👱♂️":"1f471-200d-2642-fe0f","👱🏻♂":"1f471-1f3fb-200d-2642-fe0f","👱🏼♂":"1f471-1f3fc-200d-2642-fe0f","👱🏽♂":"1f471-1f3fd-200d-2642-fe0f","👱🏾♂":"1f471-1f3fe-200d-2642-fe0f","👱🏿♂":"1f471-1f3ff-200d-2642-fe0f","👱♀️":"1f471-200d-2640-fe0f","👱🏻♀":"1f471-1f3fb-200d-2640-fe0f","👱🏼♀":"1f471-1f3fc-200d-2640-fe0f","👱🏽♀":"1f471-1f3fd-200d-2640-fe0f","👱🏾♀":"1f471-1f3fe-200d-2640-fe0f","👱🏿♀":"1f471-1f3ff-200d-2640-fe0f","🧙♀️":"1f9d9-200d-2640-fe0f","🧙🏻♀":"1f9d9-1f3fb-200d-2640-fe0f","🧙🏼♀":"1f9d9-1f3fc-200d-2640-fe0f","🧙🏽♀":"1f9d9-1f3fd-200d-2640-fe0f","🧙🏾♀":"1f9d9-1f3fe-200d-2640-fe0f","🧙🏿♀":"1f9d9-1f3ff-200d-2640-fe0f","🧙♂️":"1f9d9-200d-2642-fe0f","🧙🏻♂":"1f9d9-1f3fb-200d-2642-fe0f","🧙🏼♂":"1f9d9-1f3fc-200d-2642-fe0f","🧙🏽♂":"1f9d9-1f3fd-200d-2642-fe0f","🧙🏾♂":"1f9d9-1f3fe-200d-2642-fe0f","🧙🏿♂":"1f9d9-1f3ff-200d-2642-fe0f","🧚♀️":"1f9da-200d-2640-fe0f","🧚🏻♀":"1f9da-1f3fb-200d-2640-fe0f","🧚🏼♀":"1f9da-1f3fc-200d-2640-fe0f","🧚🏽♀":"1f9da-1f3fd-200d-2640-fe0f","🧚🏾♀":"1f9da-1f3fe-200d-2640-fe0f","🧚🏿♀":"1f9da-1f3ff-200d-2640-fe0f","🧚♂️":"1f9da-200d-2642-fe0f","🧚🏻♂":"1f9da-1f3fb-200d-2642-fe0f","🧚🏼♂":"1f9da-1f3fc-200d-2642-fe0f","🧚🏽♂":"1f9da-1f3fd-200d-2642-fe0f","🧚🏾♂":"1f9da-1f3fe-200d-2642-fe0f","🧚🏿♂":"1f9da-1f3ff-200d-2642-fe0f","🧛♀️":"1f9db-200d-2640-fe0f","🧛🏻♀":"1f9db-1f3fb-200d-2640-fe0f","🧛🏼♀":"1f9db-1f3fc-200d-2640-fe0f","🧛🏽♀":"1f9db-1f3fd-200d-2640-fe0f","🧛🏾♀":"1f9db-1f3fe-200d-2640-fe0f","🧛🏿♀":"1f9db-1f3ff-200d-2640-fe0f","🧛♂️":"1f9db-200d-2642-fe0f","🧛🏻♂":"1f9db-1f3fb-200d-2642-fe0f","🧛🏼♂":"1f9db-1f3fc-200d-2642-fe0f","🧛🏽♂":"1f9db-1f3fd-200d-2642-fe0f","🧛🏾♂":"1f9db-1f3fe-200d-2642-fe0f","🧛🏿♂":"1f9db-1f3ff-200d-2642-fe0f","🧜♀️":"1f9dc-200d-2640-fe0f","🧜🏻♀":"1f9dc-1f3fb-200d-2640-fe0f","🧜🏼♀":"1f9dc-1f3fc-200d-2640-fe0f","🧜🏽♀":"1f9dc-1f3fd-200d-2640-fe0f","🧜🏾♀":"1f9dc-1f3fe-200d-2640-fe0f","🧜🏿♀":"1f9dc-1f3ff-200d-2640-fe0f","🧜♂️":"1f9dc-200d-2642-fe0f","🧜🏻♂":"1f9dc-1f3fb-200d-2642-fe0f","🧜🏼♂":"1f9dc-1f3fc-200d-2642-fe0f","🧜🏽♂":"1f9dc-1f3fd-200d-2642-fe0f","🧜🏾♂":"1f9dc-1f3fe-200d-2642-fe0f","🧜🏿♂":"1f9dc-1f3ff-200d-2642-fe0f","🧝♀️":"1f9dd-200d-2640-fe0f","🧝🏻♀":"1f9dd-1f3fb-200d-2640-fe0f","🧝🏼♀":"1f9dd-1f3fc-200d-2640-fe0f","🧝🏽♀":"1f9dd-1f3fd-200d-2640-fe0f","🧝🏾♀":"1f9dd-1f3fe-200d-2640-fe0f","🧝🏿♀":"1f9dd-1f3ff-200d-2640-fe0f","🧝♂️":"1f9dd-200d-2642-fe0f","🧝🏻♂":"1f9dd-1f3fb-200d-2642-fe0f","🧝🏼♂":"1f9dd-1f3fc-200d-2642-fe0f","🧝🏽♂":"1f9dd-1f3fd-200d-2642-fe0f","🧝🏾♂":"1f9dd-1f3fe-200d-2642-fe0f","🧝🏿♂":"1f9dd-1f3ff-200d-2642-fe0f","🧞♀️":"1f9de-200d-2640-fe0f","🧞♂️":"1f9de-200d-2642-fe0f","🧟♀️":"1f9df-200d-2640-fe0f","🧟♂️":"1f9df-200d-2642-fe0f","🙍♂️":"1f64d-200d-2642-fe0f","🙍🏻♂":"1f64d-1f3fb-200d-2642-fe0f","🙍🏼♂":"1f64d-1f3fc-200d-2642-fe0f","🙍🏽♂":"1f64d-1f3fd-200d-2642-fe0f","🙍🏾♂":"1f64d-1f3fe-200d-2642-fe0f","🙍🏿♂":"1f64d-1f3ff-200d-2642-fe0f","🙍♀️":"1f64d-200d-2640-fe0f","🙍🏻♀":"1f64d-1f3fb-200d-2640-fe0f","🙍🏼♀":"1f64d-1f3fc-200d-2640-fe0f","🙍🏽♀":"1f64d-1f3fd-200d-2640-fe0f","🙍🏾♀":"1f64d-1f3fe-200d-2640-fe0f","🙍🏿♀":"1f64d-1f3ff-200d-2640-fe0f","🙎♂️":"1f64e-200d-2642-fe0f","🙎🏻♂":"1f64e-1f3fb-200d-2642-fe0f","🙎🏼♂":"1f64e-1f3fc-200d-2642-fe0f","🙎🏽♂":"1f64e-1f3fd-200d-2642-fe0f","🙎🏾♂":"1f64e-1f3fe-200d-2642-fe0f","🙎🏿♂":"1f64e-1f3ff-200d-2642-fe0f","🙎♀️":"1f64e-200d-2640-fe0f","🙎🏻♀":"1f64e-1f3fb-200d-2640-fe0f","🙎🏼♀":"1f64e-1f3fc-200d-2640-fe0f","🙎🏽♀":"1f64e-1f3fd-200d-2640-fe0f","🙎🏾♀":"1f64e-1f3fe-200d-2640-fe0f","🙎🏿♀":"1f64e-1f3ff-200d-2640-fe0f","🙅♂️":"1f645-200d-2642-fe0f","🙅🏻♂":"1f645-1f3fb-200d-2642-fe0f","🙅🏼♂":"1f645-1f3fc-200d-2642-fe0f","🙅🏽♂":"1f645-1f3fd-200d-2642-fe0f","🙅🏾♂":"1f645-1f3fe-200d-2642-fe0f","🙅🏿♂":"1f645-1f3ff-200d-2642-fe0f","🙅♀️":"1f645-200d-2640-fe0f","🙅🏻♀":"1f645-1f3fb-200d-2640-fe0f","🙅🏼♀":"1f645-1f3fc-200d-2640-fe0f","🙅🏽♀":"1f645-1f3fd-200d-2640-fe0f","🙅🏾♀":"1f645-1f3fe-200d-2640-fe0f","🙅🏿♀":"1f645-1f3ff-200d-2640-fe0f","🙆♂️":"1f646-200d-2642-fe0f","🙆🏻♂":"1f646-1f3fb-200d-2642-fe0f","🙆🏼♂":"1f646-1f3fc-200d-2642-fe0f","🙆🏽♂":"1f646-1f3fd-200d-2642-fe0f","🙆🏾♂":"1f646-1f3fe-200d-2642-fe0f","🙆🏿♂":"1f646-1f3ff-200d-2642-fe0f","🙆♀️":"1f646-200d-2640-fe0f","🙆🏻♀":"1f646-1f3fb-200d-2640-fe0f","🙆🏼♀":"1f646-1f3fc-200d-2640-fe0f","🙆🏽♀":"1f646-1f3fd-200d-2640-fe0f","🙆🏾♀":"1f646-1f3fe-200d-2640-fe0f","🙆🏿♀":"1f646-1f3ff-200d-2640-fe0f","💁♂️":"1f481-200d-2642-fe0f","💁🏻♂":"1f481-1f3fb-200d-2642-fe0f","💁🏼♂":"1f481-1f3fc-200d-2642-fe0f","💁🏽♂":"1f481-1f3fd-200d-2642-fe0f","💁🏾♂":"1f481-1f3fe-200d-2642-fe0f","💁🏿♂":"1f481-1f3ff-200d-2642-fe0f","💁♀️":"1f481-200d-2640-fe0f","💁🏻♀":"1f481-1f3fb-200d-2640-fe0f","💁🏼♀":"1f481-1f3fc-200d-2640-fe0f","💁🏽♀":"1f481-1f3fd-200d-2640-fe0f","💁🏾♀":"1f481-1f3fe-200d-2640-fe0f","💁🏿♀":"1f481-1f3ff-200d-2640-fe0f","🙋♂️":"1f64b-200d-2642-fe0f","🙋🏻♂":"1f64b-1f3fb-200d-2642-fe0f","🙋🏼♂":"1f64b-1f3fc-200d-2642-fe0f","🙋🏽♂":"1f64b-1f3fd-200d-2642-fe0f","🙋🏾♂":"1f64b-1f3fe-200d-2642-fe0f","🙋🏿♂":"1f64b-1f3ff-200d-2642-fe0f","🙋♀️":"1f64b-200d-2640-fe0f","🙋🏻♀":"1f64b-1f3fb-200d-2640-fe0f","🙋🏼♀":"1f64b-1f3fc-200d-2640-fe0f","🙋🏽♀":"1f64b-1f3fd-200d-2640-fe0f","🙋🏾♀":"1f64b-1f3fe-200d-2640-fe0f","🙋🏿♀":"1f64b-1f3ff-200d-2640-fe0f","🙇♂️":"1f647-200d-2642-fe0f","🙇🏻♂":"1f647-1f3fb-200d-2642-fe0f","🙇🏼♂":"1f647-1f3fc-200d-2642-fe0f","🙇🏽♂":"1f647-1f3fd-200d-2642-fe0f","🙇🏾♂":"1f647-1f3fe-200d-2642-fe0f","🙇🏿♂":"1f647-1f3ff-200d-2642-fe0f","🙇♀️":"1f647-200d-2640-fe0f","🙇🏻♀":"1f647-1f3fb-200d-2640-fe0f","🙇🏼♀":"1f647-1f3fc-200d-2640-fe0f","🙇🏽♀":"1f647-1f3fd-200d-2640-fe0f","🙇🏾♀":"1f647-1f3fe-200d-2640-fe0f","🙇🏿♀":"1f647-1f3ff-200d-2640-fe0f","🤦♂️":"1f926-200d-2642-fe0f","🤦🏻♂":"1f926-1f3fb-200d-2642-fe0f","🤦🏼♂":"1f926-1f3fc-200d-2642-fe0f","🤦🏽♂":"1f926-1f3fd-200d-2642-fe0f","🤦🏾♂":"1f926-1f3fe-200d-2642-fe0f","🤦🏿♂":"1f926-1f3ff-200d-2642-fe0f","🤦♀️":"1f926-200d-2640-fe0f","🤦🏻♀":"1f926-1f3fb-200d-2640-fe0f","🤦🏼♀":"1f926-1f3fc-200d-2640-fe0f","🤦🏽♀":"1f926-1f3fd-200d-2640-fe0f","🤦🏾♀":"1f926-1f3fe-200d-2640-fe0f","🤦🏿♀":"1f926-1f3ff-200d-2640-fe0f","🤷♂️":"1f937-200d-2642-fe0f","🤷🏻♂":"1f937-1f3fb-200d-2642-fe0f","🤷🏼♂":"1f937-1f3fc-200d-2642-fe0f","🤷🏽♂":"1f937-1f3fd-200d-2642-fe0f","🤷🏾♂":"1f937-1f3fe-200d-2642-fe0f","🤷🏿♂":"1f937-1f3ff-200d-2642-fe0f","🤷♀️":"1f937-200d-2640-fe0f","🤷🏻♀":"1f937-1f3fb-200d-2640-fe0f","🤷🏼♀":"1f937-1f3fc-200d-2640-fe0f","🤷🏽♀":"1f937-1f3fd-200d-2640-fe0f","🤷🏾♀":"1f937-1f3fe-200d-2640-fe0f","🤷🏿♀":"1f937-1f3ff-200d-2640-fe0f","💆♂️":"1f486-200d-2642-fe0f","💆🏻♂":"1f486-1f3fb-200d-2642-fe0f","💆🏼♂":"1f486-1f3fc-200d-2642-fe0f","💆🏽♂":"1f486-1f3fd-200d-2642-fe0f","💆🏾♂":"1f486-1f3fe-200d-2642-fe0f","💆🏿♂":"1f486-1f3ff-200d-2642-fe0f","💆♀️":"1f486-200d-2640-fe0f","💆🏻♀":"1f486-1f3fb-200d-2640-fe0f","💆🏼♀":"1f486-1f3fc-200d-2640-fe0f","💆🏽♀":"1f486-1f3fd-200d-2640-fe0f","💆🏾♀":"1f486-1f3fe-200d-2640-fe0f","💆🏿♀":"1f486-1f3ff-200d-2640-fe0f","💇♂️":"1f487-200d-2642-fe0f","💇🏻♂":"1f487-1f3fb-200d-2642-fe0f","💇🏼♂":"1f487-1f3fc-200d-2642-fe0f","💇🏽♂":"1f487-1f3fd-200d-2642-fe0f","💇🏾♂":"1f487-1f3fe-200d-2642-fe0f","💇🏿♂":"1f487-1f3ff-200d-2642-fe0f","💇♀️":"1f487-200d-2640-fe0f","💇🏻♀":"1f487-1f3fb-200d-2640-fe0f","💇🏼♀":"1f487-1f3fc-200d-2640-fe0f","💇🏽♀":"1f487-1f3fd-200d-2640-fe0f","💇🏾♀":"1f487-1f3fe-200d-2640-fe0f","💇🏿♀":"1f487-1f3ff-200d-2640-fe0f","🚶♂️":"1f6b6-200d-2642-fe0f","🚶🏻♂":"1f6b6-1f3fb-200d-2642-fe0f","🚶🏼♂":"1f6b6-1f3fc-200d-2642-fe0f","🚶🏽♂":"1f6b6-1f3fd-200d-2642-fe0f","🚶🏾♂":"1f6b6-1f3fe-200d-2642-fe0f","🚶🏿♂":"1f6b6-1f3ff-200d-2642-fe0f","🚶♀️":"1f6b6-200d-2640-fe0f","🚶🏻♀":"1f6b6-1f3fb-200d-2640-fe0f","🚶🏼♀":"1f6b6-1f3fc-200d-2640-fe0f","🚶🏽♀":"1f6b6-1f3fd-200d-2640-fe0f","🚶🏾♀":"1f6b6-1f3fe-200d-2640-fe0f","🚶🏿♀":"1f6b6-1f3ff-200d-2640-fe0f","🏃♂️":"1f3c3-200d-2642-fe0f","🏃🏻♂":"1f3c3-1f3fb-200d-2642-fe0f","🏃🏼♂":"1f3c3-1f3fc-200d-2642-fe0f","🏃🏽♂":"1f3c3-1f3fd-200d-2642-fe0f","🏃🏾♂":"1f3c3-1f3fe-200d-2642-fe0f","🏃🏿♂":"1f3c3-1f3ff-200d-2642-fe0f","🏃♀️":"1f3c3-200d-2640-fe0f","🏃🏻♀":"1f3c3-1f3fb-200d-2640-fe0f","🏃🏼♀":"1f3c3-1f3fc-200d-2640-fe0f","🏃🏽♀":"1f3c3-1f3fd-200d-2640-fe0f","🏃🏾♀":"1f3c3-1f3fe-200d-2640-fe0f","🏃🏿♀":"1f3c3-1f3ff-200d-2640-fe0f","👯♂️":"1f46f-200d-2642-fe0f","👯♀️":"1f46f-200d-2640-fe0f","🧖♀️":"1f9d6-200d-2640-fe0f","🧖🏻♀":"1f9d6-1f3fb-200d-2640-fe0f","🧖🏼♀":"1f9d6-1f3fc-200d-2640-fe0f","🧖🏽♀":"1f9d6-1f3fd-200d-2640-fe0f","🧖🏾♀":"1f9d6-1f3fe-200d-2640-fe0f","🧖🏿♀":"1f9d6-1f3ff-200d-2640-fe0f","🧖♂️":"1f9d6-200d-2642-fe0f","🧖🏻♂":"1f9d6-1f3fb-200d-2642-fe0f","🧖🏼♂":"1f9d6-1f3fc-200d-2642-fe0f","🧖🏽♂":"1f9d6-1f3fd-200d-2642-fe0f","🧖🏾♂":"1f9d6-1f3fe-200d-2642-fe0f","🧖🏿♂":"1f9d6-1f3ff-200d-2642-fe0f","🧗♀️":"1f9d7-200d-2640-fe0f","🧗🏻♀":"1f9d7-1f3fb-200d-2640-fe0f","🧗🏼♀":"1f9d7-1f3fc-200d-2640-fe0f","🧗🏽♀":"1f9d7-1f3fd-200d-2640-fe0f","🧗🏾♀":"1f9d7-1f3fe-200d-2640-fe0f","🧗🏿♀":"1f9d7-1f3ff-200d-2640-fe0f","🧗♂️":"1f9d7-200d-2642-fe0f","🧗🏻♂":"1f9d7-1f3fb-200d-2642-fe0f","🧗🏼♂":"1f9d7-1f3fc-200d-2642-fe0f","🧗🏽♂":"1f9d7-1f3fd-200d-2642-fe0f","🧗🏾♂":"1f9d7-1f3fe-200d-2642-fe0f","🧗🏿♂":"1f9d7-1f3ff-200d-2642-fe0f","🧘♀️":"1f9d8-200d-2640-fe0f","🧘🏻♀":"1f9d8-1f3fb-200d-2640-fe0f","🧘🏼♀":"1f9d8-1f3fc-200d-2640-fe0f","🧘🏽♀":"1f9d8-1f3fd-200d-2640-fe0f","🧘🏾♀":"1f9d8-1f3fe-200d-2640-fe0f","🧘🏿♀":"1f9d8-1f3ff-200d-2640-fe0f","🧘♂️":"1f9d8-200d-2642-fe0f","🧘🏻♂":"1f9d8-1f3fb-200d-2642-fe0f","🧘🏼♂":"1f9d8-1f3fc-200d-2642-fe0f","🧘🏽♂":"1f9d8-1f3fd-200d-2642-fe0f","🧘🏾♂":"1f9d8-1f3fe-200d-2642-fe0f","🧘🏿♂":"1f9d8-1f3ff-200d-2642-fe0f","🏌♂️":"1f3cc-fe0f-200d-2642-fe0f","🏌️♂":"1f3cc-fe0f-200d-2642-fe0f","🏌🏻♂":"1f3cc-1f3fb-200d-2642-fe0f","🏌🏼♂":"1f3cc-1f3fc-200d-2642-fe0f","🏌🏽♂":"1f3cc-1f3fd-200d-2642-fe0f","🏌🏾♂":"1f3cc-1f3fe-200d-2642-fe0f","🏌🏿♂":"1f3cc-1f3ff-200d-2642-fe0f","🏌♀️":"1f3cc-fe0f-200d-2640-fe0f","🏌️♀":"1f3cc-fe0f-200d-2640-fe0f","🏌🏻♀":"1f3cc-1f3fb-200d-2640-fe0f","🏌🏼♀":"1f3cc-1f3fc-200d-2640-fe0f","🏌🏽♀":"1f3cc-1f3fd-200d-2640-fe0f","🏌🏾♀":"1f3cc-1f3fe-200d-2640-fe0f","🏌🏿♀":"1f3cc-1f3ff-200d-2640-fe0f","🏄♂️":"1f3c4-200d-2642-fe0f","🏄🏻♂":"1f3c4-1f3fb-200d-2642-fe0f","🏄🏼♂":"1f3c4-1f3fc-200d-2642-fe0f","🏄🏽♂":"1f3c4-1f3fd-200d-2642-fe0f","🏄🏾♂":"1f3c4-1f3fe-200d-2642-fe0f","🏄🏿♂":"1f3c4-1f3ff-200d-2642-fe0f","🏄♀️":"1f3c4-200d-2640-fe0f","🏄🏻♀":"1f3c4-1f3fb-200d-2640-fe0f","🏄🏼♀":"1f3c4-1f3fc-200d-2640-fe0f","🏄🏽♀":"1f3c4-1f3fd-200d-2640-fe0f","🏄🏾♀":"1f3c4-1f3fe-200d-2640-fe0f","🏄🏿♀":"1f3c4-1f3ff-200d-2640-fe0f","🚣♂️":"1f6a3-200d-2642-fe0f","🚣🏻♂":"1f6a3-1f3fb-200d-2642-fe0f","🚣🏼♂":"1f6a3-1f3fc-200d-2642-fe0f","🚣🏽♂":"1f6a3-1f3fd-200d-2642-fe0f","🚣🏾♂":"1f6a3-1f3fe-200d-2642-fe0f","🚣🏿♂":"1f6a3-1f3ff-200d-2642-fe0f","🚣♀️":"1f6a3-200d-2640-fe0f","🚣🏻♀":"1f6a3-1f3fb-200d-2640-fe0f","🚣🏼♀":"1f6a3-1f3fc-200d-2640-fe0f","🚣🏽♀":"1f6a3-1f3fd-200d-2640-fe0f","🚣🏾♀":"1f6a3-1f3fe-200d-2640-fe0f","🚣🏿♀":"1f6a3-1f3ff-200d-2640-fe0f","🏊♂️":"1f3ca-200d-2642-fe0f","🏊🏻♂":"1f3ca-1f3fb-200d-2642-fe0f","🏊🏼♂":"1f3ca-1f3fc-200d-2642-fe0f","🏊🏽♂":"1f3ca-1f3fd-200d-2642-fe0f","🏊🏾♂":"1f3ca-1f3fe-200d-2642-fe0f","🏊🏿♂":"1f3ca-1f3ff-200d-2642-fe0f","🏊♀️":"1f3ca-200d-2640-fe0f","🏊🏻♀":"1f3ca-1f3fb-200d-2640-fe0f","🏊🏼♀":"1f3ca-1f3fc-200d-2640-fe0f","🏊🏽♀":"1f3ca-1f3fd-200d-2640-fe0f","🏊🏾♀":"1f3ca-1f3fe-200d-2640-fe0f","🏊🏿♀":"1f3ca-1f3ff-200d-2640-fe0f","⛹♂️":"26f9-fe0f-200d-2642-fe0f","⛹️♂":"26f9-fe0f-200d-2642-fe0f","⛹🏻♂":"26f9-1f3fb-200d-2642-fe0f","⛹🏼♂":"26f9-1f3fc-200d-2642-fe0f","⛹🏽♂":"26f9-1f3fd-200d-2642-fe0f","⛹🏾♂":"26f9-1f3fe-200d-2642-fe0f","⛹🏿♂":"26f9-1f3ff-200d-2642-fe0f","⛹♀️":"26f9-fe0f-200d-2640-fe0f","⛹️♀":"26f9-fe0f-200d-2640-fe0f","⛹🏻♀":"26f9-1f3fb-200d-2640-fe0f","⛹🏼♀":"26f9-1f3fc-200d-2640-fe0f","⛹🏽♀":"26f9-1f3fd-200d-2640-fe0f","⛹🏾♀":"26f9-1f3fe-200d-2640-fe0f","⛹🏿♀":"26f9-1f3ff-200d-2640-fe0f","🏋♂️":"1f3cb-fe0f-200d-2642-fe0f","🏋️♂":"1f3cb-fe0f-200d-2642-fe0f","🏋🏻♂":"1f3cb-1f3fb-200d-2642-fe0f","🏋🏼♂":"1f3cb-1f3fc-200d-2642-fe0f","🏋🏽♂":"1f3cb-1f3fd-200d-2642-fe0f","🏋🏾♂":"1f3cb-1f3fe-200d-2642-fe0f","🏋🏿♂":"1f3cb-1f3ff-200d-2642-fe0f","🏋♀️":"1f3cb-fe0f-200d-2640-fe0f","🏋️♀":"1f3cb-fe0f-200d-2640-fe0f","🏋🏻♀":"1f3cb-1f3fb-200d-2640-fe0f","🏋🏼♀":"1f3cb-1f3fc-200d-2640-fe0f","🏋🏽♀":"1f3cb-1f3fd-200d-2640-fe0f","🏋🏾♀":"1f3cb-1f3fe-200d-2640-fe0f","🏋🏿♀":"1f3cb-1f3ff-200d-2640-fe0f","🚴♂️":"1f6b4-200d-2642-fe0f","🚴🏻♂":"1f6b4-1f3fb-200d-2642-fe0f","🚴🏼♂":"1f6b4-1f3fc-200d-2642-fe0f","🚴🏽♂":"1f6b4-1f3fd-200d-2642-fe0f","🚴🏾♂":"1f6b4-1f3fe-200d-2642-fe0f","🚴🏿♂":"1f6b4-1f3ff-200d-2642-fe0f","🚴♀️":"1f6b4-200d-2640-fe0f","🚴🏻♀":"1f6b4-1f3fb-200d-2640-fe0f","🚴🏼♀":"1f6b4-1f3fc-200d-2640-fe0f","🚴🏽♀":"1f6b4-1f3fd-200d-2640-fe0f","🚴🏾♀":"1f6b4-1f3fe-200d-2640-fe0f","🚴🏿♀":"1f6b4-1f3ff-200d-2640-fe0f","🚵♂️":"1f6b5-200d-2642-fe0f","🚵🏻♂":"1f6b5-1f3fb-200d-2642-fe0f","🚵🏼♂":"1f6b5-1f3fc-200d-2642-fe0f","🚵🏽♂":"1f6b5-1f3fd-200d-2642-fe0f","🚵🏾♂":"1f6b5-1f3fe-200d-2642-fe0f","🚵🏿♂":"1f6b5-1f3ff-200d-2642-fe0f","🚵♀️":"1f6b5-200d-2640-fe0f","🚵🏻♀":"1f6b5-1f3fb-200d-2640-fe0f","🚵🏼♀":"1f6b5-1f3fc-200d-2640-fe0f","🚵🏽♀":"1f6b5-1f3fd-200d-2640-fe0f","🚵🏾♀":"1f6b5-1f3fe-200d-2640-fe0f","🚵🏿♀":"1f6b5-1f3ff-200d-2640-fe0f","🤸♂️":"1f938-200d-2642-fe0f","🤸🏻♂":"1f938-1f3fb-200d-2642-fe0f","🤸🏼♂":"1f938-1f3fc-200d-2642-fe0f","🤸🏽♂":"1f938-1f3fd-200d-2642-fe0f","🤸🏾♂":"1f938-1f3fe-200d-2642-fe0f","🤸🏿♂":"1f938-1f3ff-200d-2642-fe0f","🤸♀️":"1f938-200d-2640-fe0f","🤸🏻♀":"1f938-1f3fb-200d-2640-fe0f","🤸🏼♀":"1f938-1f3fc-200d-2640-fe0f","🤸🏽♀":"1f938-1f3fd-200d-2640-fe0f","🤸🏾♀":"1f938-1f3fe-200d-2640-fe0f","🤸🏿♀":"1f938-1f3ff-200d-2640-fe0f","🤼♂️":"1f93c-200d-2642-fe0f","🤼♀️":"1f93c-200d-2640-fe0f","🤽♂️":"1f93d-200d-2642-fe0f","🤽🏻♂":"1f93d-1f3fb-200d-2642-fe0f","🤽🏼♂":"1f93d-1f3fc-200d-2642-fe0f","🤽🏽♂":"1f93d-1f3fd-200d-2642-fe0f","🤽🏾♂":"1f93d-1f3fe-200d-2642-fe0f","🤽🏿♂":"1f93d-1f3ff-200d-2642-fe0f","🤽♀️":"1f93d-200d-2640-fe0f","🤽🏻♀":"1f93d-1f3fb-200d-2640-fe0f","🤽🏼♀":"1f93d-1f3fc-200d-2640-fe0f","🤽🏽♀":"1f93d-1f3fd-200d-2640-fe0f","🤽🏾♀":"1f93d-1f3fe-200d-2640-fe0f","🤽🏿♀":"1f93d-1f3ff-200d-2640-fe0f","🤾♂️":"1f93e-200d-2642-fe0f","🤾🏻♂":"1f93e-1f3fb-200d-2642-fe0f","🤾🏼♂":"1f93e-1f3fc-200d-2642-fe0f","🤾🏽♂":"1f93e-1f3fd-200d-2642-fe0f","🤾🏾♂":"1f93e-1f3fe-200d-2642-fe0f","🤾🏿♂":"1f93e-1f3ff-200d-2642-fe0f","🤾♀️":"1f93e-200d-2640-fe0f","🤾🏻♀":"1f93e-1f3fb-200d-2640-fe0f","🤾🏼♀":"1f93e-1f3fc-200d-2640-fe0f","🤾🏽♀":"1f93e-1f3fd-200d-2640-fe0f","🤾🏾♀":"1f93e-1f3fe-200d-2640-fe0f","🤾🏿♀":"1f93e-1f3ff-200d-2640-fe0f","🤹♂️":"1f939-200d-2642-fe0f","🤹🏻♂":"1f939-1f3fb-200d-2642-fe0f","🤹🏼♂":"1f939-1f3fc-200d-2642-fe0f","🤹🏽♂":"1f939-1f3fd-200d-2642-fe0f","🤹🏾♂":"1f939-1f3fe-200d-2642-fe0f","🤹🏿♂":"1f939-1f3ff-200d-2642-fe0f","🤹♀️":"1f939-200d-2640-fe0f","🤹🏻♀":"1f939-1f3fb-200d-2640-fe0f","🤹🏼♀":"1f939-1f3fc-200d-2640-fe0f","🤹🏽♀":"1f939-1f3fd-200d-2640-fe0f","🤹🏾♀":"1f939-1f3fe-200d-2640-fe0f","🤹🏿♀":"1f939-1f3ff-200d-2640-fe0f","👁🗨️":"1f441-200d-1f5e8","👁️🗨":"1f441-200d-1f5e8","🏳️🌈":"1f3f3-fe0f-200d-1f308","👨🏻⚕️":"1f468-1f3fb-200d-2695-fe0f","👨🏼⚕️":"1f468-1f3fc-200d-2695-fe0f","👨🏽⚕️":"1f468-1f3fd-200d-2695-fe0f","👨🏾⚕️":"1f468-1f3fe-200d-2695-fe0f","👨🏿⚕️":"1f468-1f3ff-200d-2695-fe0f","👩🏻⚕️":"1f469-1f3fb-200d-2695-fe0f","👩🏼⚕️":"1f469-1f3fc-200d-2695-fe0f","👩🏽⚕️":"1f469-1f3fd-200d-2695-fe0f","👩🏾⚕️":"1f469-1f3fe-200d-2695-fe0f","👩🏿⚕️":"1f469-1f3ff-200d-2695-fe0f","👨🏻⚖️":"1f468-1f3fb-200d-2696-fe0f","👨🏼⚖️":"1f468-1f3fc-200d-2696-fe0f","👨🏽⚖️":"1f468-1f3fd-200d-2696-fe0f","👨🏾⚖️":"1f468-1f3fe-200d-2696-fe0f","👨🏿⚖️":"1f468-1f3ff-200d-2696-fe0f","👩🏻⚖️":"1f469-1f3fb-200d-2696-fe0f","👩🏼⚖️":"1f469-1f3fc-200d-2696-fe0f","👩🏽⚖️":"1f469-1f3fd-200d-2696-fe0f","👩🏾⚖️":"1f469-1f3fe-200d-2696-fe0f","👩🏿⚖️":"1f469-1f3ff-200d-2696-fe0f","👨🏻✈️":"1f468-1f3fb-200d-2708-fe0f","👨🏼✈️":"1f468-1f3fc-200d-2708-fe0f","👨🏽✈️":"1f468-1f3fd-200d-2708-fe0f","👨🏾✈️":"1f468-1f3fe-200d-2708-fe0f","👨🏿✈️":"1f468-1f3ff-200d-2708-fe0f","👩🏻✈️":"1f469-1f3fb-200d-2708-fe0f","👩🏼✈️":"1f469-1f3fc-200d-2708-fe0f","👩🏽✈️":"1f469-1f3fd-200d-2708-fe0f","👩🏾✈️":"1f469-1f3fe-200d-2708-fe0f","👩🏿✈️":"1f469-1f3ff-200d-2708-fe0f","👮🏻♂️":"1f46e-1f3fb-200d-2642-fe0f","👮🏼♂️":"1f46e-1f3fc-200d-2642-fe0f","👮🏽♂️":"1f46e-1f3fd-200d-2642-fe0f","👮🏾♂️":"1f46e-1f3fe-200d-2642-fe0f","👮🏿♂️":"1f46e-1f3ff-200d-2642-fe0f","👮🏻♀️":"1f46e-1f3fb-200d-2640-fe0f","👮🏼♀️":"1f46e-1f3fc-200d-2640-fe0f","👮🏽♀️":"1f46e-1f3fd-200d-2640-fe0f","👮🏾♀️":"1f46e-1f3fe-200d-2640-fe0f","👮🏿♀️":"1f46e-1f3ff-200d-2640-fe0f","🕵️♂️":"1f575-fe0f-200d-2642-fe0f","🕵🏻♂️":"1f575-1f3fb-200d-2642-fe0f","🕵🏼♂️":"1f575-1f3fc-200d-2642-fe0f","🕵🏽♂️":"1f575-1f3fd-200d-2642-fe0f","🕵🏾♂️":"1f575-1f3fe-200d-2642-fe0f","🕵🏿♂️":"1f575-1f3ff-200d-2642-fe0f","🕵️♀️":"1f575-fe0f-200d-2640-fe0f","🕵🏻♀️":"1f575-1f3fb-200d-2640-fe0f","🕵🏼♀️":"1f575-1f3fc-200d-2640-fe0f","🕵🏽♀️":"1f575-1f3fd-200d-2640-fe0f","🕵🏾♀️":"1f575-1f3fe-200d-2640-fe0f","🕵🏿♀️":"1f575-1f3ff-200d-2640-fe0f","💂🏻♂️":"1f482-1f3fb-200d-2642-fe0f","💂🏼♂️":"1f482-1f3fc-200d-2642-fe0f","💂🏽♂️":"1f482-1f3fd-200d-2642-fe0f","💂🏾♂️":"1f482-1f3fe-200d-2642-fe0f","💂🏿♂️":"1f482-1f3ff-200d-2642-fe0f","💂🏻♀️":"1f482-1f3fb-200d-2640-fe0f","💂🏼♀️":"1f482-1f3fc-200d-2640-fe0f","💂🏽♀️":"1f482-1f3fd-200d-2640-fe0f","💂🏾♀️":"1f482-1f3fe-200d-2640-fe0f","💂🏿♀️":"1f482-1f3ff-200d-2640-fe0f","👷🏻♂️":"1f477-1f3fb-200d-2642-fe0f","👷🏼♂️":"1f477-1f3fc-200d-2642-fe0f","👷🏽♂️":"1f477-1f3fd-200d-2642-fe0f","👷🏾♂️":"1f477-1f3fe-200d-2642-fe0f","👷🏿♂️":"1f477-1f3ff-200d-2642-fe0f","👷🏻♀️":"1f477-1f3fb-200d-2640-fe0f","👷🏼♀️":"1f477-1f3fc-200d-2640-fe0f","👷🏽♀️":"1f477-1f3fd-200d-2640-fe0f","👷🏾♀️":"1f477-1f3fe-200d-2640-fe0f","👷🏿♀️":"1f477-1f3ff-200d-2640-fe0f","👳🏻♂️":"1f473-1f3fb-200d-2642-fe0f","👳🏼♂️":"1f473-1f3fc-200d-2642-fe0f","👳🏽♂️":"1f473-1f3fd-200d-2642-fe0f","👳🏾♂️":"1f473-1f3fe-200d-2642-fe0f","👳🏿♂️":"1f473-1f3ff-200d-2642-fe0f","👳🏻♀️":"1f473-1f3fb-200d-2640-fe0f","👳🏼♀️":"1f473-1f3fc-200d-2640-fe0f","👳🏽♀️":"1f473-1f3fd-200d-2640-fe0f","👳🏾♀️":"1f473-1f3fe-200d-2640-fe0f","👳🏿♀️":"1f473-1f3ff-200d-2640-fe0f","👱🏻♂️":"1f471-1f3fb-200d-2642-fe0f","👱🏼♂️":"1f471-1f3fc-200d-2642-fe0f","👱🏽♂️":"1f471-1f3fd-200d-2642-fe0f","👱🏾♂️":"1f471-1f3fe-200d-2642-fe0f","👱🏿♂️":"1f471-1f3ff-200d-2642-fe0f","👱🏻♀️":"1f471-1f3fb-200d-2640-fe0f","👱🏼♀️":"1f471-1f3fc-200d-2640-fe0f","👱🏽♀️":"1f471-1f3fd-200d-2640-fe0f","👱🏾♀️":"1f471-1f3fe-200d-2640-fe0f","👱🏿♀️":"1f471-1f3ff-200d-2640-fe0f","🧙🏻♀️":"1f9d9-1f3fb-200d-2640-fe0f","🧙🏼♀️":"1f9d9-1f3fc-200d-2640-fe0f","🧙🏽♀️":"1f9d9-1f3fd-200d-2640-fe0f","🧙🏾♀️":"1f9d9-1f3fe-200d-2640-fe0f","🧙🏿♀️":"1f9d9-1f3ff-200d-2640-fe0f","🧙🏻♂️":"1f9d9-1f3fb-200d-2642-fe0f","🧙🏼♂️":"1f9d9-1f3fc-200d-2642-fe0f","🧙🏽♂️":"1f9d9-1f3fd-200d-2642-fe0f","🧙🏾♂️":"1f9d9-1f3fe-200d-2642-fe0f","🧙🏿♂️":"1f9d9-1f3ff-200d-2642-fe0f","🧚🏻♀️":"1f9da-1f3fb-200d-2640-fe0f","🧚🏼♀️":"1f9da-1f3fc-200d-2640-fe0f","🧚🏽♀️":"1f9da-1f3fd-200d-2640-fe0f","🧚🏾♀️":"1f9da-1f3fe-200d-2640-fe0f","🧚🏿♀️":"1f9da-1f3ff-200d-2640-fe0f","🧚🏻♂️":"1f9da-1f3fb-200d-2642-fe0f","🧚🏼♂️":"1f9da-1f3fc-200d-2642-fe0f","🧚🏽♂️":"1f9da-1f3fd-200d-2642-fe0f","🧚🏾♂️":"1f9da-1f3fe-200d-2642-fe0f","🧚🏿♂️":"1f9da-1f3ff-200d-2642-fe0f","🧛🏻♀️":"1f9db-1f3fb-200d-2640-fe0f","🧛🏼♀️":"1f9db-1f3fc-200d-2640-fe0f","🧛🏽♀️":"1f9db-1f3fd-200d-2640-fe0f","🧛🏾♀️":"1f9db-1f3fe-200d-2640-fe0f","🧛🏿♀️":"1f9db-1f3ff-200d-2640-fe0f","🧛🏻♂️":"1f9db-1f3fb-200d-2642-fe0f","🧛🏼♂️":"1f9db-1f3fc-200d-2642-fe0f","🧛🏽♂️":"1f9db-1f3fd-200d-2642-fe0f","🧛🏾♂️":"1f9db-1f3fe-200d-2642-fe0f","🧛🏿♂️":"1f9db-1f3ff-200d-2642-fe0f","🧜🏻♀️":"1f9dc-1f3fb-200d-2640-fe0f","🧜🏼♀️":"1f9dc-1f3fc-200d-2640-fe0f","🧜🏽♀️":"1f9dc-1f3fd-200d-2640-fe0f","🧜🏾♀️":"1f9dc-1f3fe-200d-2640-fe0f","🧜🏿♀️":"1f9dc-1f3ff-200d-2640-fe0f","🧜🏻♂️":"1f9dc-1f3fb-200d-2642-fe0f","🧜🏼♂️":"1f9dc-1f3fc-200d-2642-fe0f","🧜🏽♂️":"1f9dc-1f3fd-200d-2642-fe0f","🧜🏾♂️":"1f9dc-1f3fe-200d-2642-fe0f","🧜🏿♂️":"1f9dc-1f3ff-200d-2642-fe0f","🧝🏻♀️":"1f9dd-1f3fb-200d-2640-fe0f","🧝🏼♀️":"1f9dd-1f3fc-200d-2640-fe0f","🧝🏽♀️":"1f9dd-1f3fd-200d-2640-fe0f","🧝🏾♀️":"1f9dd-1f3fe-200d-2640-fe0f","🧝🏿♀️":"1f9dd-1f3ff-200d-2640-fe0f","🧝🏻♂️":"1f9dd-1f3fb-200d-2642-fe0f","🧝🏼♂️":"1f9dd-1f3fc-200d-2642-fe0f","🧝🏽♂️":"1f9dd-1f3fd-200d-2642-fe0f","🧝🏾♂️":"1f9dd-1f3fe-200d-2642-fe0f","🧝🏿♂️":"1f9dd-1f3ff-200d-2642-fe0f","🙍🏻♂️":"1f64d-1f3fb-200d-2642-fe0f","🙍🏼♂️":"1f64d-1f3fc-200d-2642-fe0f","🙍🏽♂️":"1f64d-1f3fd-200d-2642-fe0f","🙍🏾♂️":"1f64d-1f3fe-200d-2642-fe0f","🙍🏿♂️":"1f64d-1f3ff-200d-2642-fe0f","🙍🏻♀️":"1f64d-1f3fb-200d-2640-fe0f","🙍🏼♀️":"1f64d-1f3fc-200d-2640-fe0f","🙍🏽♀️":"1f64d-1f3fd-200d-2640-fe0f","🙍🏾♀️":"1f64d-1f3fe-200d-2640-fe0f","🙍🏿♀️":"1f64d-1f3ff-200d-2640-fe0f","🙎🏻♂️":"1f64e-1f3fb-200d-2642-fe0f","🙎🏼♂️":"1f64e-1f3fc-200d-2642-fe0f","🙎🏽♂️":"1f64e-1f3fd-200d-2642-fe0f","🙎🏾♂️":"1f64e-1f3fe-200d-2642-fe0f","🙎🏿♂️":"1f64e-1f3ff-200d-2642-fe0f","🙎🏻♀️":"1f64e-1f3fb-200d-2640-fe0f","🙎🏼♀️":"1f64e-1f3fc-200d-2640-fe0f","🙎🏽♀️":"1f64e-1f3fd-200d-2640-fe0f","🙎🏾♀️":"1f64e-1f3fe-200d-2640-fe0f","🙎🏿♀️":"1f64e-1f3ff-200d-2640-fe0f","🙅🏻♂️":"1f645-1f3fb-200d-2642-fe0f","🙅🏼♂️":"1f645-1f3fc-200d-2642-fe0f","🙅🏽♂️":"1f645-1f3fd-200d-2642-fe0f","🙅🏾♂️":"1f645-1f3fe-200d-2642-fe0f","🙅🏿♂️":"1f645-1f3ff-200d-2642-fe0f","🙅🏻♀️":"1f645-1f3fb-200d-2640-fe0f","🙅🏼♀️":"1f645-1f3fc-200d-2640-fe0f","🙅🏽♀️":"1f645-1f3fd-200d-2640-fe0f","🙅🏾♀️":"1f645-1f3fe-200d-2640-fe0f","🙅🏿♀️":"1f645-1f3ff-200d-2640-fe0f","🙆🏻♂️":"1f646-1f3fb-200d-2642-fe0f","🙆🏼♂️":"1f646-1f3fc-200d-2642-fe0f","🙆🏽♂️":"1f646-1f3fd-200d-2642-fe0f","🙆🏾♂️":"1f646-1f3fe-200d-2642-fe0f","🙆🏿♂️":"1f646-1f3ff-200d-2642-fe0f","🙆🏻♀️":"1f646-1f3fb-200d-2640-fe0f","🙆🏼♀️":"1f646-1f3fc-200d-2640-fe0f","🙆🏽♀️":"1f646-1f3fd-200d-2640-fe0f","🙆🏾♀️":"1f646-1f3fe-200d-2640-fe0f","🙆🏿♀️":"1f646-1f3ff-200d-2640-fe0f","💁🏻♂️":"1f481-1f3fb-200d-2642-fe0f","💁🏼♂️":"1f481-1f3fc-200d-2642-fe0f","💁🏽♂️":"1f481-1f3fd-200d-2642-fe0f","💁🏾♂️":"1f481-1f3fe-200d-2642-fe0f","💁🏿♂️":"1f481-1f3ff-200d-2642-fe0f","💁🏻♀️":"1f481-1f3fb-200d-2640-fe0f","💁🏼♀️":"1f481-1f3fc-200d-2640-fe0f","💁🏽♀️":"1f481-1f3fd-200d-2640-fe0f","💁🏾♀️":"1f481-1f3fe-200d-2640-fe0f","💁🏿♀️":"1f481-1f3ff-200d-2640-fe0f","🙋🏻♂️":"1f64b-1f3fb-200d-2642-fe0f","🙋🏼♂️":"1f64b-1f3fc-200d-2642-fe0f","🙋🏽♂️":"1f64b-1f3fd-200d-2642-fe0f","🙋🏾♂️":"1f64b-1f3fe-200d-2642-fe0f","🙋🏿♂️":"1f64b-1f3ff-200d-2642-fe0f","🙋🏻♀️":"1f64b-1f3fb-200d-2640-fe0f","🙋🏼♀️":"1f64b-1f3fc-200d-2640-fe0f","🙋🏽♀️":"1f64b-1f3fd-200d-2640-fe0f","🙋🏾♀️":"1f64b-1f3fe-200d-2640-fe0f","🙋🏿♀️":"1f64b-1f3ff-200d-2640-fe0f","🙇🏻♂️":"1f647-1f3fb-200d-2642-fe0f","🙇🏼♂️":"1f647-1f3fc-200d-2642-fe0f","🙇🏽♂️":"1f647-1f3fd-200d-2642-fe0f","🙇🏾♂️":"1f647-1f3fe-200d-2642-fe0f","🙇🏿♂️":"1f647-1f3ff-200d-2642-fe0f","🙇🏻♀️":"1f647-1f3fb-200d-2640-fe0f","🙇🏼♀️":"1f647-1f3fc-200d-2640-fe0f","🙇🏽♀️":"1f647-1f3fd-200d-2640-fe0f","🙇🏾♀️":"1f647-1f3fe-200d-2640-fe0f","🙇🏿♀️":"1f647-1f3ff-200d-2640-fe0f","🤦🏻♂️":"1f926-1f3fb-200d-2642-fe0f","🤦🏼♂️":"1f926-1f3fc-200d-2642-fe0f","🤦🏽♂️":"1f926-1f3fd-200d-2642-fe0f","🤦🏾♂️":"1f926-1f3fe-200d-2642-fe0f","🤦🏿♂️":"1f926-1f3ff-200d-2642-fe0f","🤦🏻♀️":"1f926-1f3fb-200d-2640-fe0f","🤦🏼♀️":"1f926-1f3fc-200d-2640-fe0f","🤦🏽♀️":"1f926-1f3fd-200d-2640-fe0f","🤦🏾♀️":"1f926-1f3fe-200d-2640-fe0f","🤦🏿♀️":"1f926-1f3ff-200d-2640-fe0f","🤷🏻♂️":"1f937-1f3fb-200d-2642-fe0f","🤷🏼♂️":"1f937-1f3fc-200d-2642-fe0f","🤷🏽♂️":"1f937-1f3fd-200d-2642-fe0f","🤷🏾♂️":"1f937-1f3fe-200d-2642-fe0f","🤷🏿♂️":"1f937-1f3ff-200d-2642-fe0f","🤷🏻♀️":"1f937-1f3fb-200d-2640-fe0f","🤷🏼♀️":"1f937-1f3fc-200d-2640-fe0f","🤷🏽♀️":"1f937-1f3fd-200d-2640-fe0f","🤷🏾♀️":"1f937-1f3fe-200d-2640-fe0f","🤷🏿♀️":"1f937-1f3ff-200d-2640-fe0f","💆🏻♂️":"1f486-1f3fb-200d-2642-fe0f","💆🏼♂️":"1f486-1f3fc-200d-2642-fe0f","💆🏽♂️":"1f486-1f3fd-200d-2642-fe0f","💆🏾♂️":"1f486-1f3fe-200d-2642-fe0f","💆🏿♂️":"1f486-1f3ff-200d-2642-fe0f","💆🏻♀️":"1f486-1f3fb-200d-2640-fe0f","💆🏼♀️":"1f486-1f3fc-200d-2640-fe0f","💆🏽♀️":"1f486-1f3fd-200d-2640-fe0f","💆🏾♀️":"1f486-1f3fe-200d-2640-fe0f","💆🏿♀️":"1f486-1f3ff-200d-2640-fe0f","💇🏻♂️":"1f487-1f3fb-200d-2642-fe0f","💇🏼♂️":"1f487-1f3fc-200d-2642-fe0f","💇🏽♂️":"1f487-1f3fd-200d-2642-fe0f","💇🏾♂️":"1f487-1f3fe-200d-2642-fe0f","💇🏿♂️":"1f487-1f3ff-200d-2642-fe0f","💇🏻♀️":"1f487-1f3fb-200d-2640-fe0f","💇🏼♀️":"1f487-1f3fc-200d-2640-fe0f","💇🏽♀️":"1f487-1f3fd-200d-2640-fe0f","💇🏾♀️":"1f487-1f3fe-200d-2640-fe0f","💇🏿♀️":"1f487-1f3ff-200d-2640-fe0f","🚶🏻♂️":"1f6b6-1f3fb-200d-2642-fe0f","🚶🏼♂️":"1f6b6-1f3fc-200d-2642-fe0f","🚶🏽♂️":"1f6b6-1f3fd-200d-2642-fe0f","🚶🏾♂️":"1f6b6-1f3fe-200d-2642-fe0f","🚶🏿♂️":"1f6b6-1f3ff-200d-2642-fe0f","🚶🏻♀️":"1f6b6-1f3fb-200d-2640-fe0f","🚶🏼♀️":"1f6b6-1f3fc-200d-2640-fe0f","🚶🏽♀️":"1f6b6-1f3fd-200d-2640-fe0f","🚶🏾♀️":"1f6b6-1f3fe-200d-2640-fe0f","🚶🏿♀️":"1f6b6-1f3ff-200d-2640-fe0f","🏃🏻♂️":"1f3c3-1f3fb-200d-2642-fe0f","🏃🏼♂️":"1f3c3-1f3fc-200d-2642-fe0f","🏃🏽♂️":"1f3c3-1f3fd-200d-2642-fe0f","🏃🏾♂️":"1f3c3-1f3fe-200d-2642-fe0f","🏃🏿♂️":"1f3c3-1f3ff-200d-2642-fe0f","🏃🏻♀️":"1f3c3-1f3fb-200d-2640-fe0f","🏃🏼♀️":"1f3c3-1f3fc-200d-2640-fe0f","🏃🏽♀️":"1f3c3-1f3fd-200d-2640-fe0f","🏃🏾♀️":"1f3c3-1f3fe-200d-2640-fe0f","🏃🏿♀️":"1f3c3-1f3ff-200d-2640-fe0f","🧖🏻♀️":"1f9d6-1f3fb-200d-2640-fe0f","🧖🏼♀️":"1f9d6-1f3fc-200d-2640-fe0f","🧖🏽♀️":"1f9d6-1f3fd-200d-2640-fe0f","🧖🏾♀️":"1f9d6-1f3fe-200d-2640-fe0f","🧖🏿♀️":"1f9d6-1f3ff-200d-2640-fe0f","🧖🏻♂️":"1f9d6-1f3fb-200d-2642-fe0f","🧖🏼♂️":"1f9d6-1f3fc-200d-2642-fe0f","🧖🏽♂️":"1f9d6-1f3fd-200d-2642-fe0f","🧖🏾♂️":"1f9d6-1f3fe-200d-2642-fe0f","🧖🏿♂️":"1f9d6-1f3ff-200d-2642-fe0f","🧗🏻♀️":"1f9d7-1f3fb-200d-2640-fe0f","🧗🏼♀️":"1f9d7-1f3fc-200d-2640-fe0f","🧗🏽♀️":"1f9d7-1f3fd-200d-2640-fe0f","🧗🏾♀️":"1f9d7-1f3fe-200d-2640-fe0f","🧗🏿♀️":"1f9d7-1f3ff-200d-2640-fe0f","🧗🏻♂️":"1f9d7-1f3fb-200d-2642-fe0f","🧗🏼♂️":"1f9d7-1f3fc-200d-2642-fe0f","🧗🏽♂️":"1f9d7-1f3fd-200d-2642-fe0f","🧗🏾♂️":"1f9d7-1f3fe-200d-2642-fe0f","🧗🏿♂️":"1f9d7-1f3ff-200d-2642-fe0f","🧘🏻♀️":"1f9d8-1f3fb-200d-2640-fe0f","🧘🏼♀️":"1f9d8-1f3fc-200d-2640-fe0f","🧘🏽♀️":"1f9d8-1f3fd-200d-2640-fe0f","🧘🏾♀️":"1f9d8-1f3fe-200d-2640-fe0f","🧘🏿♀️":"1f9d8-1f3ff-200d-2640-fe0f","🧘🏻♂️":"1f9d8-1f3fb-200d-2642-fe0f","🧘🏼♂️":"1f9d8-1f3fc-200d-2642-fe0f","🧘🏽♂️":"1f9d8-1f3fd-200d-2642-fe0f","🧘🏾♂️":"1f9d8-1f3fe-200d-2642-fe0f","🧘🏿♂️":"1f9d8-1f3ff-200d-2642-fe0f","🏌️♂️":"1f3cc-fe0f-200d-2642-fe0f","🏌🏻♂️":"1f3cc-1f3fb-200d-2642-fe0f","🏌🏼♂️":"1f3cc-1f3fc-200d-2642-fe0f","🏌🏽♂️":"1f3cc-1f3fd-200d-2642-fe0f","🏌🏾♂️":"1f3cc-1f3fe-200d-2642-fe0f","🏌🏿♂️":"1f3cc-1f3ff-200d-2642-fe0f","🏌️♀️":"1f3cc-fe0f-200d-2640-fe0f","🏌🏻♀️":"1f3cc-1f3fb-200d-2640-fe0f","🏌🏼♀️":"1f3cc-1f3fc-200d-2640-fe0f","🏌🏽♀️":"1f3cc-1f3fd-200d-2640-fe0f","🏌🏾♀️":"1f3cc-1f3fe-200d-2640-fe0f","🏌🏿♀️":"1f3cc-1f3ff-200d-2640-fe0f","🏄🏻♂️":"1f3c4-1f3fb-200d-2642-fe0f","🏄🏼♂️":"1f3c4-1f3fc-200d-2642-fe0f","🏄🏽♂️":"1f3c4-1f3fd-200d-2642-fe0f","🏄🏾♂️":"1f3c4-1f3fe-200d-2642-fe0f","🏄🏿♂️":"1f3c4-1f3ff-200d-2642-fe0f","🏄🏻♀️":"1f3c4-1f3fb-200d-2640-fe0f","🏄🏼♀️":"1f3c4-1f3fc-200d-2640-fe0f","🏄🏽♀️":"1f3c4-1f3fd-200d-2640-fe0f","🏄🏾♀️":"1f3c4-1f3fe-200d-2640-fe0f","🏄🏿♀️":"1f3c4-1f3ff-200d-2640-fe0f","🚣🏻♂️":"1f6a3-1f3fb-200d-2642-fe0f","🚣🏼♂️":"1f6a3-1f3fc-200d-2642-fe0f","🚣🏽♂️":"1f6a3-1f3fd-200d-2642-fe0f","🚣🏾♂️":"1f6a3-1f3fe-200d-2642-fe0f","🚣🏿♂️":"1f6a3-1f3ff-200d-2642-fe0f","🚣🏻♀️":"1f6a3-1f3fb-200d-2640-fe0f","🚣🏼♀️":"1f6a3-1f3fc-200d-2640-fe0f","🚣🏽♀️":"1f6a3-1f3fd-200d-2640-fe0f","🚣🏾♀️":"1f6a3-1f3fe-200d-2640-fe0f","🚣🏿♀️":"1f6a3-1f3ff-200d-2640-fe0f","🏊🏻♂️":"1f3ca-1f3fb-200d-2642-fe0f","🏊🏼♂️":"1f3ca-1f3fc-200d-2642-fe0f","🏊🏽♂️":"1f3ca-1f3fd-200d-2642-fe0f","🏊🏾♂️":"1f3ca-1f3fe-200d-2642-fe0f","🏊🏿♂️":"1f3ca-1f3ff-200d-2642-fe0f","🏊🏻♀️":"1f3ca-1f3fb-200d-2640-fe0f","🏊🏼♀️":"1f3ca-1f3fc-200d-2640-fe0f","🏊🏽♀️":"1f3ca-1f3fd-200d-2640-fe0f","🏊🏾♀️":"1f3ca-1f3fe-200d-2640-fe0f","🏊🏿♀️":"1f3ca-1f3ff-200d-2640-fe0f","⛹️♂️":"26f9-fe0f-200d-2642-fe0f","⛹🏻♂️":"26f9-1f3fb-200d-2642-fe0f","⛹🏼♂️":"26f9-1f3fc-200d-2642-fe0f","⛹🏽♂️":"26f9-1f3fd-200d-2642-fe0f","⛹🏾♂️":"26f9-1f3fe-200d-2642-fe0f","⛹🏿♂️":"26f9-1f3ff-200d-2642-fe0f","⛹️♀️":"26f9-fe0f-200d-2640-fe0f","⛹🏻♀️":"26f9-1f3fb-200d-2640-fe0f","⛹🏼♀️":"26f9-1f3fc-200d-2640-fe0f","⛹🏽♀️":"26f9-1f3fd-200d-2640-fe0f","⛹🏾♀️":"26f9-1f3fe-200d-2640-fe0f","⛹🏿♀️":"26f9-1f3ff-200d-2640-fe0f","🏋️♂️":"1f3cb-fe0f-200d-2642-fe0f","🏋🏻♂️":"1f3cb-1f3fb-200d-2642-fe0f","🏋🏼♂️":"1f3cb-1f3fc-200d-2642-fe0f","🏋🏽♂️":"1f3cb-1f3fd-200d-2642-fe0f","🏋🏾♂️":"1f3cb-1f3fe-200d-2642-fe0f","🏋🏿♂️":"1f3cb-1f3ff-200d-2642-fe0f","🏋️♀️":"1f3cb-fe0f-200d-2640-fe0f","🏋🏻♀️":"1f3cb-1f3fb-200d-2640-fe0f","🏋🏼♀️":"1f3cb-1f3fc-200d-2640-fe0f","🏋🏽♀️":"1f3cb-1f3fd-200d-2640-fe0f","🏋🏾♀️":"1f3cb-1f3fe-200d-2640-fe0f","🏋🏿♀️":"1f3cb-1f3ff-200d-2640-fe0f","🚴🏻♂️":"1f6b4-1f3fb-200d-2642-fe0f","🚴🏼♂️":"1f6b4-1f3fc-200d-2642-fe0f","🚴🏽♂️":"1f6b4-1f3fd-200d-2642-fe0f","🚴🏾♂️":"1f6b4-1f3fe-200d-2642-fe0f","🚴🏿♂️":"1f6b4-1f3ff-200d-2642-fe0f","🚴🏻♀️":"1f6b4-1f3fb-200d-2640-fe0f","🚴🏼♀️":"1f6b4-1f3fc-200d-2640-fe0f","🚴🏽♀️":"1f6b4-1f3fd-200d-2640-fe0f","🚴🏾♀️":"1f6b4-1f3fe-200d-2640-fe0f","🚴🏿♀️":"1f6b4-1f3ff-200d-2640-fe0f","🚵🏻♂️":"1f6b5-1f3fb-200d-2642-fe0f","🚵🏼♂️":"1f6b5-1f3fc-200d-2642-fe0f","🚵🏽♂️":"1f6b5-1f3fd-200d-2642-fe0f","🚵🏾♂️":"1f6b5-1f3fe-200d-2642-fe0f","🚵🏿♂️":"1f6b5-1f3ff-200d-2642-fe0f","🚵🏻♀️":"1f6b5-1f3fb-200d-2640-fe0f","🚵🏼♀️":"1f6b5-1f3fc-200d-2640-fe0f","🚵🏽♀️":"1f6b5-1f3fd-200d-2640-fe0f","🚵🏾♀️":"1f6b5-1f3fe-200d-2640-fe0f","🚵🏿♀️":"1f6b5-1f3ff-200d-2640-fe0f","🤸🏻♂️":"1f938-1f3fb-200d-2642-fe0f","🤸🏼♂️":"1f938-1f3fc-200d-2642-fe0f","🤸🏽♂️":"1f938-1f3fd-200d-2642-fe0f","🤸🏾♂️":"1f938-1f3fe-200d-2642-fe0f","🤸🏿♂️":"1f938-1f3ff-200d-2642-fe0f","🤸🏻♀️":"1f938-1f3fb-200d-2640-fe0f","🤸🏼♀️":"1f938-1f3fc-200d-2640-fe0f","🤸🏽♀️":"1f938-1f3fd-200d-2640-fe0f","🤸🏾♀️":"1f938-1f3fe-200d-2640-fe0f","🤸🏿♀️":"1f938-1f3ff-200d-2640-fe0f","🤽🏻♂️":"1f93d-1f3fb-200d-2642-fe0f","🤽🏼♂️":"1f93d-1f3fc-200d-2642-fe0f","🤽🏽♂️":"1f93d-1f3fd-200d-2642-fe0f","🤽🏾♂️":"1f93d-1f3fe-200d-2642-fe0f","🤽🏿♂️":"1f93d-1f3ff-200d-2642-fe0f","🤽🏻♀️":"1f93d-1f3fb-200d-2640-fe0f","🤽🏼♀️":"1f93d-1f3fc-200d-2640-fe0f","🤽🏽♀️":"1f93d-1f3fd-200d-2640-fe0f","🤽🏾♀️":"1f93d-1f3fe-200d-2640-fe0f","🤽🏿♀️":"1f93d-1f3ff-200d-2640-fe0f","🤾🏻♂️":"1f93e-1f3fb-200d-2642-fe0f","🤾🏼♂️":"1f93e-1f3fc-200d-2642-fe0f","🤾🏽♂️":"1f93e-1f3fd-200d-2642-fe0f","🤾🏾♂️":"1f93e-1f3fe-200d-2642-fe0f","🤾🏿♂️":"1f93e-1f3ff-200d-2642-fe0f","🤾🏻♀️":"1f93e-1f3fb-200d-2640-fe0f","🤾🏼♀️":"1f93e-1f3fc-200d-2640-fe0f","🤾🏽♀️":"1f93e-1f3fd-200d-2640-fe0f","🤾🏾♀️":"1f93e-1f3fe-200d-2640-fe0f","🤾🏿♀️":"1f93e-1f3ff-200d-2640-fe0f","🤹🏻♂️":"1f939-1f3fb-200d-2642-fe0f","🤹🏼♂️":"1f939-1f3fc-200d-2642-fe0f","🤹🏽♂️":"1f939-1f3fd-200d-2642-fe0f","🤹🏾♂️":"1f939-1f3fe-200d-2642-fe0f","🤹🏿♂️":"1f939-1f3ff-200d-2642-fe0f","🤹🏻♀️":"1f939-1f3fb-200d-2640-fe0f","🤹🏼♀️":"1f939-1f3fc-200d-2640-fe0f","🤹🏽♀️":"1f939-1f3fd-200d-2640-fe0f","🤹🏾♀️":"1f939-1f3fe-200d-2640-fe0f","🤹🏿♀️":"1f939-1f3ff-200d-2640-fe0f","👩❤👨":"1f469-200d-2764-fe0f-200d-1f468","👨❤👨":"1f468-200d-2764-fe0f-200d-1f468","👩❤👩":"1f469-200d-2764-fe0f-200d-1f469","👨👩👦":"1f468-200d-1f469-200d-1f466","👨👩👧":"1f468-200d-1f469-200d-1f467","👨👨👦":"1f468-200d-1f468-200d-1f466","👨👨👧":"1f468-200d-1f468-200d-1f467","👩👩👦":"1f469-200d-1f469-200d-1f466","👩👩👧":"1f469-200d-1f469-200d-1f467","👨👦👦":"1f468-200d-1f466-200d-1f466","👨👧👦":"1f468-200d-1f467-200d-1f466","👨👧👧":"1f468-200d-1f467-200d-1f467","👩👦👦":"1f469-200d-1f466-200d-1f466","👩👧👦":"1f469-200d-1f467-200d-1f466","👩👧👧":"1f469-200d-1f467-200d-1f467","👁️🗨️":"1f441-200d-1f5e8","👩❤️👨":"1f469-200d-2764-fe0f-200d-1f468","👨❤️👨":"1f468-200d-2764-fe0f-200d-1f468","👩❤️👩":"1f469-200d-2764-fe0f-200d-1f469","👩❤💋👨":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468","👨❤💋👨":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","👩❤💋👩":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469","👨👩👧👦":"1f468-200d-1f469-200d-1f467-200d-1f466","👨👩👦👦":"1f468-200d-1f469-200d-1f466-200d-1f466","👨👩👧👧":"1f468-200d-1f469-200d-1f467-200d-1f467","👨👨👧👦":"1f468-200d-1f468-200d-1f467-200d-1f466","👨👨👦👦":"1f468-200d-1f468-200d-1f466-200d-1f466","👨👨👧👧":"1f468-200d-1f468-200d-1f467-200d-1f467","👩👩👧👦":"1f469-200d-1f469-200d-1f467-200d-1f466","👩👩👦👦":"1f469-200d-1f469-200d-1f466-200d-1f466","👩👩👧👧":"1f469-200d-1f469-200d-1f467-200d-1f467","🏴":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f","🏴":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f","🏴":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f","👩❤️💋👨":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468","👨❤️💋👨":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468","👩❤️💋👩":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469"}
\ No newline at end of file
diff --git a/app/javascript/mastodon/emojione_light.js b/app/javascript/mastodon/emojione_light.js
index ecba35d03..2296497b0 100644
--- a/app/javascript/mastodon/emojione_light.js
+++ b/app/javascript/mastodon/emojione_light.js
@@ -1,13 +1,38 @@
// @preval
-// Force tree shaking on emojione by exposing just a subset of its functionality
+// http://www.unicode.org/Public/emoji/5.0/emoji-test.txt
-const emojione = require('emojione');
+const emojis = require('./emoji_map.json');
+const { emojiIndex } = require('emoji-mart');
+const excluded = ['®', '©', '™'];
+const skins = ['🏻', '🏼', '🏽', '🏾', '🏿'];
+const shortcodeMap = {};
-const mappedUnicode = emojione.mapUnicodeToShort();
-const excluded = ['®', '©', '™'];
+Object.keys(emojiIndex.emojis).forEach(key => {
+ shortcodeMap[emojiIndex.emojis[key].native] = emojiIndex.emojis[key].id;
+});
-module.exports.unicodeMapping = Object.keys(emojione.jsEscapeMap)
- .filter(c => !excluded.includes(c))
- .map(unicodeStr => [unicodeStr, mappedUnicode[emojione.jsEscapeMap[unicodeStr]]])
- .map(([unicodeStr, shortCode]) => ({ [unicodeStr]: [emojione.emojioneList[shortCode].fname.replace(/^0+/g, ''), shortCode.slice(1, shortCode.length - 1)] }))
- .reduce((x, y) => Object.assign(x, y), { });
+const stripModifiers = unicode => {
+ skins.forEach(tone => {
+ unicode = unicode.replace(tone, '');
+ });
+
+ return unicode;
+};
+
+Object.keys(emojis).forEach(key => {
+ if (excluded.includes(key)) {
+ delete emojis[key];
+ return;
+ }
+
+ const normalizedKey = stripModifiers(key);
+ let shortcode = shortcodeMap[normalizedKey];
+
+ if (!shortcode) {
+ shortcode = shortcodeMap[normalizedKey + '\uFE0F'];
+ }
+
+ emojis[key] = [emojis[key], shortcode];
+});
+
+module.exports.unicodeMapping = emojis;
diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake
new file mode 100644
index 000000000..cd5e30e96
--- /dev/null
+++ b/lib/tasks/emojis.rake
@@ -0,0 +1,56 @@
+# frozen_string_literal: true
+
+def codepoints_to_filename(codepoints)
+ codepoints.downcase.gsub(/\A[0]+/, '').tr(' ', '-')
+end
+
+def codepoints_to_unicode(codepoints)
+ if codepoints.include?(' ')
+ codepoints.split(' ').map(&:hex).pack('U*')
+ else
+ [codepoints.hex].pack('U')
+ end
+end
+
+namespace :emojis do
+ desc 'Generate a unicode to filename mapping'
+ task :generate do
+ source = 'http://www.unicode.org/Public/emoji/5.0/emoji-test.txt'
+ codes = []
+ dest = Rails.root.join('app', 'javascript', 'mastodon', 'emoji_map.json')
+
+ puts "Downloading emojos from source... (#{source})"
+
+ HTTP.get(source).to_s.split("\n").each do |line|
+ next if line.start_with? '#'
+ parts = line.split(';').map(&:strip)
+ next if parts.size < 2
+ codes << [parts[0], parts[1].start_with?('fully-qualified')]
+ end
+
+ grouped_codes = codes.reduce([]) do |agg, current|
+ if current[1]
+ agg << [current[0]]
+ else
+ agg.last << current[0]
+ agg
+ end
+ end
+
+ existence_maps = grouped_codes.map { |c| c.map { |cc| [cc, File.exist?(Rails.root.join('public', 'emoji', codepoints_to_filename(cc) + '.svg'))] }.to_h }
+ map = {}
+
+ existence_maps.each do |group|
+ existing_one = group.key(true)
+
+ group.each_key do |key|
+ map[codepoints_to_unicode(key)] = codepoints_to_filename(existing_one)
+ end
+ end
+
+ map = map.sort { |a, b| a[0].size <=> b[0].size }.to_h
+
+ File.write(dest, Oj.dump(map))
+ puts "Wrote emojo to destination! (#{dest})"
+ end
+end
diff --git a/spec/javascript/components/emojify.test.js b/spec/javascript/components/emojify.test.js
index 9451a7920..6e73c9251 100644
--- a/spec/javascript/components/emojify.test.js
+++ b/spec/javascript/components/emojify.test.js
@@ -22,10 +22,10 @@ describe('emojify', () => {
it('does unicode', () => {
expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).to.equal(
- ' ');
- expect(emojify('\uD83D\uDC68\uD83D\uDC69\uD83D\uDC67\uD83D\uDC67')).to.equal(
- ' ');
- expect(emojify('\uD83D\uDC69\uD83D\uDC69\uD83D\uDC66')).to.equal(' ');
+ ' ');
+ expect(emojify('👨👩👧👧')).to.equal(
+ ' ');
+ expect(emojify('👩👩👦')).to.equal(' ');
expect(emojify('\u2757')).to.equal(
' ');
});
--
cgit
From 259181c41a5b6d4654e4e956490a3e4120bc9920 Mon Sep 17 00:00:00 2001
From: Lynx Kotoura
Date: Tue, 26 Sep 2017 03:26:50 +0900
Subject: Fix size of single media in media-gallery (#5098)
---
app/javascript/mastodon/components/media_gallery.js | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js
index 52b34971b..a81409871 100644
--- a/app/javascript/mastodon/components/media_gallery.js
+++ b/app/javascript/mastodon/components/media_gallery.js
@@ -161,10 +161,8 @@ class Item extends React.PureComponent {
);
}
- const style = standalone ? {} : { left, top, right, bottom, width: `${width}%`, height: `${height}%` };
-
return (
-
+
{thumbnail}
);
--
cgit
From 3b60832214fdd9d8b5fd01e9a177a6dde5259907 Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Mon, 25 Sep 2017 23:05:54 +0200
Subject: New error page graphic. Other error page improvements (#5099)
- 500.html generated with admin-set default locale if set
- Error page `` includes Mastodon site title
- 500 title changed to "This page is not
correct" (ref: )
- 500 content appended with "on our end" to make clear it's
not user's fault
---
app/javascript/styles/basics.scss | 5 ++---
app/views/errors/500.html.haml | 4 ++--
app/views/layouts/error.html.haml | 4 ++--
config/locales/en.yml | 4 +++-
lib/tasks/assets.rake | 7 ++++---
public/oops.gif | Bin 0 -> 95633 bytes
public/oops.png | Bin 120305 -> 0 bytes
7 files changed, 13 insertions(+), 11 deletions(-)
create mode 100644 public/oops.gif
delete mode 100644 public/oops.png
(limited to 'app/javascript')
diff --git a/app/javascript/styles/basics.scss b/app/javascript/styles/basics.scss
index 48652a035..96f0023c3 100644
--- a/app/javascript/styles/basics.scss
+++ b/app/javascript/styles/basics.scss
@@ -70,9 +70,8 @@ body {
.dialog img {
display: block;
- margin: 20px auto;
- margin-top: 50px;
- max-width: 600px;
+ margin: 0 auto;
+ max-width: 470px;
width: 100%;
height: auto;
}
diff --git a/app/views/errors/500.html.haml b/app/views/errors/500.html.haml
index e124be551..6244ff209 100644
--- a/app/views/errors/500.html.haml
+++ b/app/views/errors/500.html.haml
@@ -1,5 +1,5 @@
- content_for :page_title do
- = t('errors.500')
+ = t('errors.500.title')
- content_for :content do
- = t('errors.500')
+ = t('errors.500.content')
diff --git a/app/views/layouts/error.html.haml b/app/views/layouts/error.html.haml
index 0b5f908ae..31f322096 100644
--- a/app/views/layouts/error.html.haml
+++ b/app/views/layouts/error.html.haml
@@ -3,12 +3,12 @@
%head
%meta{ content: 'text/html; charset=UTF-8', 'http-equiv' => 'Content-Type' }/
%meta{ charset: 'utf-8' }/
- %title= yield :page_title
+ %title= safe_join([yield(:page_title), title], ' - ')
%meta{ content: 'width=device-width,initial-scale=1', name: 'viewport' }/
= stylesheet_pack_tag 'common', media: 'all'
= stylesheet_pack_tag Setting.default_settings['theme'], media: 'all'
%body.error
.dialog
- %img{ alt: 'Mastodon', src: '/oops.png' }/
+ %img{ alt: title, src: '/oops.gif' }/
%div
%h1= yield :content
diff --git a/config/locales/en.yml b/config/locales/en.yml
index cc440e1b0..f87d8532c 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -310,7 +310,9 @@ en:
content: Security verification failed. Are you blocking cookies?
title: Security verification failed
'429': Throttled
- '500': We're sorry, but something went wrong.
+ '500':
+ content: We're sorry, but something went wrong on our end.
+ title: This page is not correct
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform.
exports:
blocks: You block
diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake
index ad7c6ba90..2ef72fdef 100644
--- a/lib/tasks/assets.rake
+++ b/lib/tasks/assets.rake
@@ -3,15 +3,16 @@
namespace :assets do
desc 'Generate 500.html'
task :generate_500 do
- html = ApplicationController.render('errors/500', layout: 'error')
- File.write(Rails.root.join('public', '500.html'), html)
+ I18n.with_locale(ENV['DEFAULT_LOCALE'] || I18n.default_locale) do
+ html = ApplicationController.render('errors/500', layout: 'error')
+ File.write(Rails.root.join('public', '500.html'), html)
+ end
end
end
if Rake::Task.task_defined?('assets:precompile')
Rake::Task['assets:precompile'].enhance do
Webpacker::Manifest.load
-
Rake::Task['assets:generate_500'].invoke
end
end
diff --git a/public/oops.gif b/public/oops.gif
new file mode 100644
index 000000000..ad19c4e10
Binary files /dev/null and b/public/oops.gif differ
diff --git a/public/oops.png b/public/oops.png
deleted file mode 100644
index 0abddad3e..000000000
Binary files a/public/oops.png and /dev/null differ
--
cgit
From 86e617a839bd4eb45ace52ab226a4e93bb184ff0 Mon Sep 17 00:00:00 2001
From: kibigo!
Date: Mon, 25 Sep 2017 19:24:32 -0700
Subject: Better themeing support!!
---
app/controllers/application_controller.rb | 6 ++++
app/controllers/settings/preferences_controller.rb | 1 +
.../local_settings/navigation/item/style.scss | 2 +-
.../local_settings/navigation/style.scss | 2 +-
.../components/local_settings/page/item/style.scss | 2 +-
.../components/local_settings/page/style.scss | 2 +-
.../glitch/components/local_settings/style.scss | 2 +-
app/javascript/packs/application.js | 2 +-
app/javascript/packs/frontends/mastodon.js | 16 ----------
app/javascript/styles/custom.scss | 1 -
app/javascript/themes/default/theme.yml | 9 ++++++
app/javascript/themes/spin/pack.js | 2 ++
app/javascript/themes/spin/style.scss | 14 ++++++++
app/javascript/themes/spin/theme.yml | 2 ++
app/lib/themes.rb | 23 ++++++++++++++
app/lib/user_settings_decorator.rb | 5 +++
app/models/user.rb | 4 +++
app/views/home/index.html.haml | 4 +--
app/views/settings/preferences/show.html.haml | 2 ++
config/initializers/frontends.rb | 7 ----
config/locales/simple_form.en.yml | 2 ++
config/settings.yml | 1 +
config/webpack/configuration.js | 17 +++++++++-
config/webpack/loaders/sass.js | 2 +-
config/webpack/shared.js | 37 ++++++++++++----------
25 files changed, 117 insertions(+), 50 deletions(-)
delete mode 100644 app/javascript/packs/frontends/mastodon.js
delete mode 100644 app/javascript/styles/custom.scss
create mode 100644 app/javascript/themes/default/theme.yml
create mode 100644 app/javascript/themes/spin/pack.js
create mode 100644 app/javascript/themes/spin/style.scss
create mode 100644 app/javascript/themes/spin/theme.yml
create mode 100644 app/lib/themes.rb
delete mode 100644 config/initializers/frontends.rb
(limited to 'app/javascript')
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 0b40fb05b..d5eca6ffb 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -12,6 +12,7 @@ class ApplicationController < ActionController::Base
helper_method :current_account
helper_method :current_session
+ helper_method :current_theme
helper_method :single_user_mode?
rescue_from ActionController::RoutingError, with: :not_found
@@ -77,6 +78,11 @@ class ApplicationController < ActionController::Base
@current_session ||= SessionActivation.find_by(session_id: cookies.signed['_session_id'])
end
+ def current_theme
+ return Setting.default_settings['theme'] unless Themes.instance.names.include? current_user&.setting_theme
+ current_user.setting_theme
+ end
+
def cache_collection(raw, klass)
return raw unless klass.respond_to?(:with_includes)
diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb
index f107f2b16..207c7b324 100644
--- a/app/controllers/settings/preferences_controller.rb
+++ b/app/controllers/settings/preferences_controller.rb
@@ -41,6 +41,7 @@ class Settings::PreferencesController < ApplicationController
:setting_auto_play_gif,
:setting_system_font_ui,
:setting_noindex,
+ :setting_theme,
notification_emails: %i(follow follow_request reblog favourite mention digest),
interactions: %i(must_be_follower must_be_following)
)
diff --git a/app/javascript/glitch/components/local_settings/navigation/item/style.scss b/app/javascript/glitch/components/local_settings/navigation/item/style.scss
index 505c86912..33d7d3744 100644
--- a/app/javascript/glitch/components/local_settings/navigation/item/style.scss
+++ b/app/javascript/glitch/components/local_settings/navigation/item/style.scss
@@ -1,4 +1,4 @@
-@import 'variables';
+@import 'styles/variables';
.glitch.local-settings__navigation__item {
display: block;
diff --git a/app/javascript/glitch/components/local_settings/navigation/style.scss b/app/javascript/glitch/components/local_settings/navigation/style.scss
index 1cc39e3e9..a610a1212 100644
--- a/app/javascript/glitch/components/local_settings/navigation/style.scss
+++ b/app/javascript/glitch/components/local_settings/navigation/style.scss
@@ -1,4 +1,4 @@
-@import 'variables';
+@import 'styles/variables';
.glitch.local-settings__navigation {
background: $primary-text-color;
diff --git a/app/javascript/glitch/components/local_settings/page/item/style.scss b/app/javascript/glitch/components/local_settings/page/item/style.scss
index e614030c0..da1941b99 100644
--- a/app/javascript/glitch/components/local_settings/page/item/style.scss
+++ b/app/javascript/glitch/components/local_settings/page/item/style.scss
@@ -1,4 +1,4 @@
-@import 'variables';
+@import 'styles/variables';
.glitch.local-settings__page__item {
select {
diff --git a/app/javascript/glitch/components/local_settings/page/style.scss b/app/javascript/glitch/components/local_settings/page/style.scss
index 7269056c3..53c95ea40 100644
--- a/app/javascript/glitch/components/local_settings/page/style.scss
+++ b/app/javascript/glitch/components/local_settings/page/style.scss
@@ -1,4 +1,4 @@
-@import 'variables';
+@import 'styles/variables';
.glitch.local-settings__page {
display: block;
diff --git a/app/javascript/glitch/components/local_settings/style.scss b/app/javascript/glitch/components/local_settings/style.scss
index 6f7fcbaa4..54fec47bd 100644
--- a/app/javascript/glitch/components/local_settings/style.scss
+++ b/app/javascript/glitch/components/local_settings/style.scss
@@ -1,4 +1,4 @@
-@import 'variables';
+@import 'styles/variables';
.glitch.local-settings {
position: relative;
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index c06714dc1..aa94006c6 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -2,7 +2,7 @@ import loadPolyfills from '../mastodon/load_polyfills';
// import default stylesheet with variables
require('font-awesome/css/font-awesome.css');
-require('mastodon-application-style');
+import 'styles/application';
require.context('../images/', true);
diff --git a/app/javascript/packs/frontends/mastodon.js b/app/javascript/packs/frontends/mastodon.js
deleted file mode 100644
index a983de36f..000000000
--- a/app/javascript/packs/frontends/mastodon.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file replaces `app/javascript/packs/application.js` for use
-// with multiple frontends.
-
-import loadPolyfills from '../../mastodon/load_polyfills';
-
-// import default stylesheet with variables
-require('font-awesome/css/font-awesome.css');
-require('mastodon-application-style');
-
-require.context('../../images/', true);
-
-loadPolyfills().then(() => {
- require('../../mastodon/main').default();
-}).catch(e => {
- console.error(e);
-});
diff --git a/app/javascript/styles/custom.scss b/app/javascript/styles/custom.scss
deleted file mode 100644
index 97a981243..000000000
--- a/app/javascript/styles/custom.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import 'application';
diff --git a/app/javascript/themes/default/theme.yml b/app/javascript/themes/default/theme.yml
new file mode 100644
index 000000000..6a7a872b4
--- /dev/null
+++ b/app/javascript/themes/default/theme.yml
@@ -0,0 +1,9 @@
+# (REQUIRED) Name must be unique across all installed themes.
+name: default
+
+# (REQUIRED) The location of the pack file inside `pack_directory`.
+pack: application.js
+
+# (OPTIONAL) The directory which contains the pack file.
+# Defaults to the theme directory (`app/javascript/themes/[theme]`).
+pack_directory: app/javascript/packs
diff --git a/app/javascript/themes/spin/pack.js b/app/javascript/themes/spin/pack.js
new file mode 100644
index 000000000..dab0e93a4
--- /dev/null
+++ b/app/javascript/themes/spin/pack.js
@@ -0,0 +1,2 @@
+import 'packs/application';
+import 'themes/spin/style';
diff --git a/app/javascript/themes/spin/style.scss b/app/javascript/themes/spin/style.scss
new file mode 100644
index 000000000..1a9381fd0
--- /dev/null
+++ b/app/javascript/themes/spin/style.scss
@@ -0,0 +1,14 @@
+:root:root:root {
+ .button, .icon-button, .emoji-button, .account__avatar, .account__avatar-overlay {
+ animation: spin 4s linear infinite;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
diff --git a/app/javascript/themes/spin/theme.yml b/app/javascript/themes/spin/theme.yml
new file mode 100644
index 000000000..a684997dc
--- /dev/null
+++ b/app/javascript/themes/spin/theme.yml
@@ -0,0 +1,2 @@
+name: spin
+pack: pack.js
\ No newline at end of file
diff --git a/app/lib/themes.rb b/app/lib/themes.rb
new file mode 100644
index 000000000..2dd188297
--- /dev/null
+++ b/app/lib/themes.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'singleton'
+require 'yaml'
+
+class Themes
+ include Singleton
+
+ def initialize
+ result = Hash.new
+ Dir.glob(Rails.root.join('app', 'javascript', 'themes', '*', 'theme.yml')) do |path|
+ data = YAML.load_file(path)
+ if data['pack'] && data['name']
+ result[data['name']] = data
+ end
+ end
+ @conf = result
+ end
+
+ def names
+ @conf.keys
+ end
+end
diff --git a/app/lib/user_settings_decorator.rb b/app/lib/user_settings_decorator.rb
index 62046ed72..3b156b98c 100644
--- a/app/lib/user_settings_decorator.rb
+++ b/app/lib/user_settings_decorator.rb
@@ -25,6 +25,7 @@ class UserSettingsDecorator
user.settings['auto_play_gif'] = auto_play_gif_preference
user.settings['system_font_ui'] = system_font_ui_preference
user.settings['noindex'] = noindex_preference
+ user.settings['theme'] = theme_preference
end
def merged_notification_emails
@@ -67,6 +68,10 @@ class UserSettingsDecorator
boolean_cast_setting 'setting_noindex'
end
+ def theme_preference
+ settings['setting_theme']
+ end
+
def boolean_cast_setting(key)
settings[key] == '1'
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 5e548c1ef..3bf069a31 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -110,6 +110,10 @@ class User < ApplicationRecord
settings.noindex
end
+ def setting_theme
+ settings.theme
+ end
+
def token_for_app(a)
return nil if a.nil? || a.owner != self
Doorkeeper::AccessToken
diff --git a/app/views/home/index.html.haml b/app/views/home/index.html.haml
index a13d0702b..3b4219c56 100644
--- a/app/views/home/index.html.haml
+++ b/app/views/home/index.html.haml
@@ -2,8 +2,8 @@
%meta{name: 'applicationServerKey', content: Rails.configuration.x.vapid_public_key}
%script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json)
- = javascript_pack_tag "frontends/#{@frontend}", integrity: true, crossorigin: 'anonymous'
- = stylesheet_pack_tag "frontends/#{@frontend}", integrity: true, media: 'all'
+ = javascript_pack_tag "themes/#{current_theme}", integrity: true, crossorigin: 'anonymous'
+ = stylesheet_pack_tag "themes/#{current_theme}", integrity: true, media: 'all'
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
%noscript
diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml
index f42f92508..5efd538e4 100644
--- a/app/views/settings/preferences/show.html.haml
+++ b/app/views/settings/preferences/show.html.haml
@@ -5,6 +5,8 @@
= render 'shared/error_messages', object: current_user
.fields-group
+ = f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| safe_join([I18n.t("themes.#{theme}", default: theme)])}, wrapper: :with_label, include_blank: false
+
= f.input :locale,
collection: I18n.available_locales,
wrapper: :with_label,
diff --git a/config/initializers/frontends.rb b/config/initializers/frontends.rb
deleted file mode 100644
index 2cb68cc61..000000000
--- a/config/initializers/frontends.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-Rails.application.configure do
- frontends = []
- Rails.root.join('app', 'javascript', 'packs', 'frontends').each_child(false) { |f| frontends.push f.to_s }
- config.x.available_frontends = frontends
-end
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index fb8524a24..f9d4e2e52 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -13,6 +13,7 @@ en:
one: 1 character left
other: %{count} characters left
setting_noindex: Affects your public profile and status pages
+ setting_theme: Affects how Mastodon looks when you're logged in from any device.
imports:
data: CSV file exported from another Mastodon instance
sessions:
@@ -44,6 +45,7 @@ en:
setting_noindex: Opt-out of search engine indexing
setting_system_font_ui: Use system's default font
setting_unfollow_modal: Show confirmation dialog before unfollowing someone
+ setting_theme: Site theme
severity: Severity
type: Import type
username: Username
diff --git a/config/settings.yml b/config/settings.yml
index 39dfb8f55..3cd3307f4 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -24,6 +24,7 @@ defaults: &defaults
auto_play_gif: false
system_font_ui: false
noindex: false
+ theme: 'default'
notification_emails:
follow: false
reblog: false
diff --git a/config/webpack/configuration.js b/config/webpack/configuration.js
index 6ef484c3a..606eb97f1 100644
--- a/config/webpack/configuration.js
+++ b/config/webpack/configuration.js
@@ -1,13 +1,27 @@
// Common configuration for webpacker loaded from config/webpacker.yml
-const { join, resolve } = require('path');
+const { dirname, join, resolve } = require('path');
const { env } = require('process');
const { safeLoad } = require('js-yaml');
const { readFileSync } = require('fs');
+const glob = require('glob');
const configPath = resolve('config', 'webpacker.yml');
const loadersDir = join(__dirname, 'loaders');
const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV];
+const themeFiles = glob.sync('app/javascript/themes/*/theme.yml');
+const themes = {};
+
+for (let i = 0; i < themeFiles.length; i++) {
+ const themeFile = themeFiles[i];
+ const data = safeLoad(readFileSync(themeFile), 'utf8');
+ if (!data.pack_directory) {
+ data.pack_directory = dirname(themeFile);
+ }
+ if (data.name && data.pack) {
+ themes[data.name] = data;
+ }
+}
function removeOuterSlashes(string) {
return string.replace(/^\/*/, '').replace(/\/*$/, '');
@@ -29,6 +43,7 @@ const output = {
module.exports = {
settings,
+ themes,
env,
loadersDir,
output,
diff --git a/config/webpack/loaders/sass.js b/config/webpack/loaders/sass.js
index 40e81b43b..96ad7abe8 100644
--- a/config/webpack/loaders/sass.js
+++ b/config/webpack/loaders/sass.js
@@ -9,7 +9,7 @@ module.exports = {
{ loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } },
{ loader: 'postcss-loader', options: { sourceMap: true } },
'resolve-url-loader',
- { loader: 'sass-loader', options: { includePaths: ['app/javascript/styles'] } },
+ { loader: 'sass-loader', options: { includePaths: ['app/javascript'] } },
],
}),
};
diff --git a/config/webpack/shared.js b/config/webpack/shared.js
index be1b49421..ab925b020 100644
--- a/config/webpack/shared.js
+++ b/config/webpack/shared.js
@@ -1,13 +1,12 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
-const { existsSync } = require('fs');
const webpack = require('webpack');
const { basename, dirname, join, relative, resolve } = require('path');
const { sync } = require('glob');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const ManifestPlugin = require('webpack-manifest-plugin');
const extname = require('path-complete-extname');
-const { env, settings, output, loadersDir } = require('./configuration.js');
+const { env, settings, themes, output, loadersDir } = require('./configuration.js');
const localePackPaths = require('./generateLocalePacks');
const extensionGlob = `**/*{${settings.extensions.join(',')}}*`;
@@ -18,17 +17,27 @@ const entryPacks = [...packPaths, ...localePackPaths].filter(path => path !== jo
const customApplicationStyle = resolve(join(settings.source_path, 'styles/custom.scss'));
const originalApplicationStyle = resolve(join(settings.source_path, 'styles/application.scss'));
+const themePaths = Object.keys(themes).reduce(
+ (themePaths, name) => {
+ themeData = themes[name];
+ themePaths[`themes/${name}`] = resolve(themeData.pack_directory, themeData.pack);
+ return themePaths;
+ }, {}
+);
+
module.exports = {
- entry: entryPacks.reduce(
- (map, entry) => {
- const localMap = map;
- let namespace = relative(join(entryPath), dirname(entry));
- if (namespace === join('..', '..', '..', 'tmp', 'packs')) {
- namespace = ''; // generated by generateLocalePacks.js
- }
- localMap[join(namespace, basename(entry, extname(entry)))] = resolve(entry);
- return localMap;
- }, {}
+ entry: Object.assign(
+ entryPacks.reduce(
+ (map, entry) => {
+ const localMap = map;
+ let namespace = relative(join(entryPath), dirname(entry));
+ if (namespace === join('..', '..', '..', 'tmp', 'packs')) {
+ namespace = ''; // generated by generateLocalePacks.js
+ }
+ localMap[join(namespace, basename(entry, extname(entry)))] = resolve(entry);
+ return localMap;
+ }, {}
+ ), themePaths
),
output: {
@@ -59,10 +68,6 @@ module.exports = {
],
resolve: {
- alias: {
- 'mastodon-application-style': existsSync(customApplicationStyle) ?
- customApplicationStyle : originalApplicationStyle,
- },
extensions: settings.extensions,
modules: [
resolve(settings.source_path),
--
cgit
From e648ef0bfbb9c57b508fa918398066ceb14856ea Mon Sep 17 00:00:00 2001
From: Eugen Rochko
Date: Thu, 28 Sep 2017 00:26:33 +0200
Subject: Remove web UI warnings about OStatus privacy (#5102)
* Remove web UI warnings about OStatus privacy
* yarn run manage:translations
---
.../compose/containers/warning_container.js | 34 ++--------------------
app/javascript/mastodon/locales/ar.json | 1 -
app/javascript/mastodon/locales/bg.json | 1 -
app/javascript/mastodon/locales/ca.json | 1 -
app/javascript/mastodon/locales/de.json | 1 -
.../mastodon/locales/defaultMessages.json | 4 ---
app/javascript/mastodon/locales/en.json | 1 -
app/javascript/mastodon/locales/eo.json | 1 -
app/javascript/mastodon/locales/es.json | 1 -
app/javascript/mastodon/locales/fa.json | 1 -
app/javascript/mastodon/locales/fi.json | 1 -
app/javascript/mastodon/locales/fr.json | 1 -
app/javascript/mastodon/locales/he.json | 1 -
app/javascript/mastodon/locales/hr.json | 1 -
app/javascript/mastodon/locales/hu.json | 1 -
app/javascript/mastodon/locales/id.json | 1 -
app/javascript/mastodon/locales/io.json | 1 -
app/javascript/mastodon/locales/it.json | 1 -
app/javascript/mastodon/locales/ja.json | 1 -
app/javascript/mastodon/locales/ko.json | 1 -
app/javascript/mastodon/locales/nl.json | 1 -
app/javascript/mastodon/locales/no.json | 1 -
app/javascript/mastodon/locales/oc.json | 1 -
app/javascript/mastodon/locales/pl.json | 1 -
app/javascript/mastodon/locales/pt-BR.json | 1 -
app/javascript/mastodon/locales/pt.json | 1 -
app/javascript/mastodon/locales/ru.json | 1 -
app/javascript/mastodon/locales/th.json | 1 -
app/javascript/mastodon/locales/tr.json | 1 -
app/javascript/mastodon/locales/uk.json | 1 -
app/javascript/mastodon/locales/zh-CN.json | 1 -
app/javascript/mastodon/locales/zh-HK.json | 1 -
app/javascript/mastodon/locales/zh-TW.json | 1 -
33 files changed, 3 insertions(+), 66 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/features/compose/containers/warning_container.js b/app/javascript/mastodon/features/compose/containers/warning_container.js
index 6e7d11c63..35eab5976 100644
--- a/app/javascript/mastodon/features/compose/containers/warning_container.js
+++ b/app/javascript/mastodon/features/compose/containers/warning_container.js
@@ -1,51 +1,23 @@
import React from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
import Warning from '../components/warning';
-import { createSelector } from 'reselect';
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
-import { OrderedSet } from 'immutable';
-const getMentionedUsernames = createSelector(state => state.getIn(['compose', 'text']), text => text.match(/(?:^|[^\/\w])@([a-z0-9_]+@[a-z0-9\.\-]+)/ig));
-
-const getMentionedDomains = createSelector(getMentionedUsernames, mentionedUsernamesWithDomains => {
- return OrderedSet(mentionedUsernamesWithDomains !== null ? mentionedUsernamesWithDomains.map(item => item.split('@')[2]) : []);
+const mapStateToProps = state => ({
+ needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', state.getIn(['meta', 'me']), 'locked']),
});
-const mapStateToProps = state => {
- const mentionedUsernames = getMentionedUsernames(state);
- const mentionedUsernamesWithDomains = getMentionedDomains(state);
-
- return {
- needsLeakWarning: (state.getIn(['compose', 'privacy']) === 'private' || state.getIn(['compose', 'privacy']) === 'direct') && mentionedUsernames !== null,
- mentionedDomains: mentionedUsernamesWithDomains,
- needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', state.getIn(['meta', 'me']), 'locked']),
- };
-};
-
-const WarningWrapper = ({ needsLeakWarning, needsLockWarning, mentionedDomains }) => {
+const WarningWrapper = ({ needsLockWarning }) => {
if (needsLockWarning) {
return }} />} />;
- } else if (needsLeakWarning) {
- return (
- {mentionedDomains.join(', ')}, domainsCount: mentionedDomains.size }}
- />}
- />
- );
}
return null;
};
WarningWrapper.propTypes = {
- needsLeakWarning: PropTypes.bool,
needsLockWarning: PropTypes.bool,
- mentionedDomains: ImmutablePropTypes.orderedSet.isRequired,
};
export default connect(mapStateToProps)(WarningWrapper);
diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json
index e27c19f4e..bd09f1970 100644
--- a/app/javascript/mastodon/locales/ar.json
+++ b/app/javascript/mastodon/locales/ar.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "حسابك ليس {locked}. يمكن لأي شخص متابعتك و عرض المنشورات.",
"compose_form.lock_disclaimer.lock": "مقفل",
"compose_form.placeholder": "فيمَ تفكّر؟",
- "compose_form.privacy_disclaimer": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "بوّق",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "ضع علامة على الوسيط باعتباره حسّاس",
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 85ede7dfd..d391a57ba 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Какво си мислиш?",
- "compose_form.privacy_disclaimer": "Поверителни публикации ще бъдат изпратени до споменатите потребители на {domains}. Доверяваш ли се на {domainsCount, plural, one {that server} other {those servers}}, че няма да издаде твоята публикация?",
"compose_form.publish": "Раздумай",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Отбележи съдържанието като деликатно",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 901241322..286da3ac6 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.",
"compose_form.lock_disclaimer.lock": "bloquejat",
"compose_form.placeholder": "En què estàs pensant?",
- "compose_form.privacy_disclaimer": "El teu missatge serà lliurat als usuaris esmentats en els dominis {domains}. Confies en {domainsCount, plural, one {that server} other {those servers}}? Els missatges privats només funcionen en instàncies Mastodon. Si {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, res indicarà que el teu missatge no es públic i pot ser impulsat (boosted) o ser visible per destinataris no desitjats.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marcar multimèdia com a sensible",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index c5fbc3a4c..461e7e304 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Jeder kann dir jederzeit folgen, um deine privaten Beiträge einzusehen.",
"compose_form.lock_disclaimer.lock": "gesperrt",
"compose_form.placeholder": "Worüber möchtest du schreiben?",
- "compose_form.privacy_disclaimer": "Dein privater Status wird an die genannten Profile auf den Domains {domains} zugestellt. Vertraust du {domainsCount, plural, one {diesem Server} other {diesen Servern}}? Private Beiträge funktionieren nur auf Mastodon-Instanzen. Wenn {domains} {domainsCount, plural, one {keine Mastodon-Instanz ist} other {keine Mastodon-Instanzen sind}}, wird es dort kein Anzeichen geben, dass dein Beitrag privat ist und er könnte geteilt oder anderweitig für unerwünschte Empfänger sichtbar gemacht werden.",
"compose_form.publish": "Tröt",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Medien als heikel markieren",
diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json
index b9a951a7f..86e1efaaf 100644
--- a/app/javascript/mastodon/locales/defaultMessages.json
+++ b/app/javascript/mastodon/locales/defaultMessages.json
@@ -698,10 +698,6 @@
{
"defaultMessage": "locked",
"id": "compose_form.lock_disclaimer.lock"
- },
- {
- "defaultMessage": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
- "id": "compose_form.privacy_disclaimer"
}
],
"path": "app/javascript/mastodon/features/compose/containers/warning_container.json"
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 7ce57c4fe..fc6aa4280 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What is on your mind?",
- "compose_form.privacy_disclaimer": "Your post will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is not a public post, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Mark media as sensitive",
diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json
index 8dfb05bc3..21b92ed3a 100644
--- a/app/javascript/mastodon/locales/eo.json
+++ b/app/javascript/mastodon/locales/eo.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Pri kio vi pensas?",
- "compose_form.privacy_disclaimer": "Via privata mesaĝo estos sendita nur al menciitaj uzantoj en {domains}. Ĉu vi fidas {domainsCount, plural, one {tiun servilon} other {tiujn servilojn}}? Mesaĝa privateco funkcias nur en aperaĵoj de Mastodon. Se {domains} {domainsCount, plural, one {ne estas aperaĵo de Mastodon} other {ne estas aperaĵoj de Mastodon}}, estos neniu indiko ke via mesaĝo estas privata, kaj ĝi povus esti diskonigita aŭ videbligita al necelitaj ricevantoj.",
"compose_form.publish": "Hup",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marki ke la enhavo estas tikla",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index 0489da64d..59c7dc5a7 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado",
"compose_form.placeholder": "¿En qué estás pensando?",
- "compose_form.privacy_disclaimer": "Tu toot privado será enviado a usuario/s mencionados de {domains}. ¿Confías en {domainsCount, plural, one {ese servidor} other {esos servidores}}? La privacidad del toot funcionará solamente en instancias de Mastodon. Si {domains} {domainsCount, plural, one {no es una instancia de Mastodon} other {no son instancias de Mastodon}}, no habrá indicación de que tu toot es privado, y puede hacerse visible a remitentes inesperados.",
"compose_form.publish": "Tootear",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marcar contenido como sensible",
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index 64a9172cf..6e4771392 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "حساب شما {locked} نیست. هر کسی میتواند پیگیر شما شود و نوشتههای ویژهٔ پیگیران شما را ببیند.",
"compose_form.lock_disclaimer.lock": "قفل",
"compose_form.placeholder": "تازه چه خبر؟",
- "compose_form.privacy_disclaimer": "نوشتهٔ خصوصی شما به کاربران نامبردهشده در {domains} فرستاده میشود. آیا به {domainsCount, plural, one {آن سرور} other {آن سرورها}} اعتماد دارید؟ تنظیمات حریم خصوصی نوشتهها تنها در سرورهای ماستدون کار میکند. اگر {domains} {domainsCount, plural, one {یک سرور ماستدون نباشد} other {سرورهای ماستدون نباشند}}، اشارهای به خصوصیبودن نوشتهٔ شما نخواهد شد و شاید نوشتهٔ شما همرسان شود یا برای کاربرانی که نمیخواهید نمایش یابد.",
"compose_form.publish": "بوق",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "تصاویر حساس هستند",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index ea8433107..ccdf19dd6 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Mitä sinulla on mielessä?",
- "compose_form.privacy_disclaimer": "Sinun yksityinen status toimitetaan mainitsemallesi käyttäjille domaineissa {domains}. Luotatko {domainsCount, plural, one {tähän palvelimeen} other {näihin palvelimiin}}? Postauksen yksityisyys toimii van Mastodon palvelimilla. Jos {domains} {domainsCount, plural, one {ei ole Mastodon palvelin} other {eivät ole Mastodon palvelin}}, viestiin ei tule Yksityinen-merkintää, ja sitä voidaan boostata tai muuten tehdä näkyväksi muille vastaanottajille.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Merkitse media herkäksi",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index a4ecc6c17..417c1062a 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
"compose_form.lock_disclaimer.lock": "verrouillé",
"compose_form.placeholder": "Qu’avez-vous en tête ?",
- "compose_form.privacy_disclaimer": "Votre statut privé va être transmis aux personnes mentionnées sur {domains}. Avez-vous confiance en {domainsCount, plural, one {ce serveur} other {ces serveurs}} pour ne pas divulguer votre statut ? Les statuts privés ne fonctionnent que sur les instances de Mastodon. Si {domains} {domainsCount, plural, one {n’est pas une instance de Mastodon} other {ne sont pas des instances de Mastodon}}, il n’y aura aucune indication que votre statut est privé, et il pourrait être partagé ou rendu visible d’une autre manière à d’autres personnes imprévues.",
"compose_form.publish": "Pouet ",
"compose_form.publish_loud": "{publish} !",
"compose_form.sensitive": "Marquer le média comme sensible",
diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json
index dbba9d3bc..f78c31a46 100644
--- a/app/javascript/mastodon/locales/he.json
+++ b/app/javascript/mastodon/locales/he.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.",
"compose_form.lock_disclaimer.lock": "נעול",
"compose_form.placeholder": "מה עובר לך בראש?",
- "compose_form.privacy_disclaimer": "הודעתך הפרטית תשלח למשתמשים על {domains}. האם ניתן לסמוך על {domainsCount, plural, one {שרת זה} other {שרתים אלו}}? פרטיות ההודעה קיימת רק על שרתי מסטודון. אם {domains} {domainsCount, plural, one {הוא לא שרת מסטודון} other {הם לא שרתי מסטודון}}, לא יהיה שום סימן שההודעה פרטית, והוא עשוי להיות מקודם או להחשף למשתמשים שלא ברשימת היעד.",
"compose_form.publish": "ללחוש",
"compose_form.publish_loud": "לחצרץ!",
"compose_form.sensitive": "סימון תוכן כרגיש",
diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json
index 4c877d95b..43fe95eb8 100644
--- a/app/javascript/mastodon/locales/hr.json
+++ b/app/javascript/mastodon/locales/hr.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Tvoj račun nije {locked}. Svatko te može slijediti kako bi vidio postove namijenjene samo tvojim sljedbenicima.",
"compose_form.lock_disclaimer.lock": "zaključan",
"compose_form.placeholder": "Što ti je na umu?",
- "compose_form.privacy_disclaimer": "Tvoj privatni status će biti dostavljen spomenutim korisnicima na {domains}. Vjeruješ li {domainsCount, plural, one {that server} drugim {those servers}}? Privatnost postova radi samo na Mastodon instancama. Ako {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, neće biti indikacije da je tvoj post privatan, i mogao bi biti podignut ili biti učinjen vidljivim na drugi način neželjenim primateljima.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Označi media sadržaj kao osjetljiv",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 699fc265d..f73295dca 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Mire gondolsz?",
- "compose_form.privacy_disclaimer": "Your private status will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is private, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Tülk!",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Tartalom érzékenynek jelölése",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index cbacc68ff..4d5f0a5d8 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Akun anda tidak {locked}. Semua orang dapat mengikuti anda untuk melihat postingan khusus untuk pengikut anda.",
"compose_form.lock_disclaimer.lock": "dikunci",
"compose_form.placeholder": "Apa yang ada di pikiran anda?",
- "compose_form.privacy_disclaimer": "Status pribadi anda akan dikirim ke pengguna yang disebut dalam {domains}. Apa anda mempercayai {domainsCount, plural, one {server tersebut} other {server tersebut}}? Privasi postingan hanya bekerja dalam server Mastodon. Jika {domains} {domainsCount, plural, one {bukan server Mastodon} other {bukan server Mastodon}}, akan ada indikasi bahwa postingan anda adalah postingan pribadi, dan dapat di-boost atau dapat dilihat oleh orang lain.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Tandai media sensitif",
diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json
index 9b2cc27d3..d2c1ee73d 100644
--- a/app/javascript/mastodon/locales/io.json
+++ b/app/javascript/mastodon/locales/io.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Quo esas en tua spirito?",
- "compose_form.privacy_disclaimer": "Tua privata mesajo livresos a mencionata uzeri en {domains}. Ka tu fidas {domainsCount, plural, one {ta servero} other {ta serveri}}? Privateso di mesaji funcionas nur en instaluri di Mastodon. Se {domains} {domainsCount, plural, one {ne esas instaluro di Mastodon} other {ne esas instaluri di Mastodon}}, esos nula indiko, ke tua mesajo esas privata, ed ol povos repetesar od altre divenar videbla da nedezirinda recevanti.",
"compose_form.publish": "Siflar",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Markizar kontenajo kom trubliva",
diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json
index 2106e59c7..33f0e7fdc 100644
--- a/app/javascript/mastodon/locales/it.json
+++ b/app/javascript/mastodon/locales/it.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "A cosa stai pensando?",
- "compose_form.privacy_disclaimer": "Il tuo status privato verrà condiviso con gli utenti menzionati su {domains}. Ti fidi di {domainsCount, plural, one {quel server} other {quei server}}? Le impostazioni sulla privacy valgono solo su server Mastodon. Se {domains} {domainsCount, plural, one {non è un server Mastodon} other {non sono server Mastodon}}, non ci saranno indicazioni sulla privacy del tuo status, e potrebbe essere condiviso o reso visibile a destinatari indesiderati.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Segnala file come sensibile",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 013cd6ef1..c3d96baf3 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "あなたのアカウントは{locked}になっていません。誰でもあなたをフォローすることができ、フォロワー限定の投稿を見ることができます。",
"compose_form.lock_disclaimer.lock": "非公開",
"compose_form.placeholder": "今なにしてる?",
- "compose_form.privacy_disclaimer": "あなたの非公開トゥートは返信先ユーザーが所属する{domains}に送信されます。{domainsCount, plural, one {このサーバー} other {これらのサーバー}}は信頼できますか? 投稿のプライバシー保護はMastodonサーバー内でのみ有効です。{domains}がMastodonインスタンスでない場合、あなたの投稿がプライベートなものとして扱われず、ブーストされたり予期しないユーザーに見られる可能性があります。",
"compose_form.publish": "トゥート",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "メディアを閲覧注意としてマークする",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 57d74ea6f..c50bb2f34 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.",
"compose_form.lock_disclaimer.lock": "비공개",
"compose_form.placeholder": "지금 무엇을 하고 있나요?",
- "compose_form.privacy_disclaimer": "이 계정의 비공개 포스트는 멘션된 사용자가 소속된 {domains}으로 전송됩니다. {domainsCount, plural, one {이 서버를} other {이 서버들을}} 신뢰할 수 있습니까? 포스팅의 프라이버시 보호는 Mastodon 서버에서만 유효합니다. {domains}가 Mastodon 인스턴스가 아닐 경우, 이 투고가 사적인 것으로 취급되지 않은 채 부스트 되거나 원하지 않는 사용자에게 보여질 가능성이 있습니다.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "이 미디어를 민감한 미디어로 취급",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index c9f837b20..c333bec70 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en toots zien die je alleen aan volgers hebt gericht.",
"compose_form.lock_disclaimer.lock": "besloten",
"compose_form.placeholder": "Wat wil je kwijt?",
- "compose_form.privacy_disclaimer": "Jouw privétoot wordt afgeleverd aan de vermelde gebruikers op {domains}. Vertrouw jij {domainsCount, plural, one {die server} other {die servers}}? Het privé plaatsen van toots werkt alleen op Mastodon-servers. Wanneer {domains} {domainsCount, plural, one {geen Mastodon-server is} other {geen Mastodon-servers zijn}}, dan wordt er niet aangegeven dat de toot privé is, waardoor het kan worden geboost of op een andere manier zichtbaar wordt gemaakt voor mensen waarvoor het niet was bedoeld.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Media als gevoelig markeren (nsfw)",
diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json
index a34ee51f4..d28190faf 100644
--- a/app/javascript/mastodon/locales/no.json
+++ b/app/javascript/mastodon/locales/no.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Hvem som helst kan følge deg og se dine private poster.",
"compose_form.lock_disclaimer.lock": "låst",
"compose_form.placeholder": "Hva har du på hjertet?",
- "compose_form.privacy_disclaimer": "Din private status vil leveres til nevnte brukere på {domains}. Stoler du på {domainsCount, plural, one {den serveren} other {de serverne}}? Synlighet fungerer kun på Mastodon-instanser. Hvis {domains} {domainsCount, plural, one {ikke er en Mastodon-instans} other {ikke er Mastodon-instanser}}, vil det ikke indikeres at posten din er privat, og den kan kanskje bli fremhevd eller på annen måte bli synlig for uventede mottakere.",
"compose_form.publish": "Tut",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Merk media som følsomt",
diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json
index 046dad265..8e9d06642 100644
--- a/app/javascript/mastodon/locales/oc.json
+++ b/app/javascript/mastodon/locales/oc.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Vòstre compte es pas {locked}. Tot lo mond pòt vos sègre e veire los estatuts reservats als seguidors.",
"compose_form.lock_disclaimer.lock": "clavat",
"compose_form.placeholder": "A de qué pensatz ?",
- "compose_form.privacy_disclaimer": "Vòstre estatut privat serà enviat a las personas mencionadas sus {domains}. Vos fisatz d’aqueste {domainsCount, plural, one { servidor} other {s servidors}} per divulgar pas vòstre estatut ? Los estatuts privats foncionan pas que sus las instàncias de Mastodon. Se {domains} {domainsCount, plural, one {es pas una instància a Mastodon} other {son pas d'instàncias a Mastodon}}, i aurà pas d’indicacion disent que vòstre estatut es privat e poirà èsser partejat o èsser visible a de mond pas prevists",
"compose_form.publish": "Tut",
"compose_form.publish_loud": "{publish} !",
"compose_form.sensitive": "Marcar lo mèdia coma sensible",
diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json
index 74e19da96..35b1a3101 100644
--- a/app/javascript/mastodon/locales/pl.json
+++ b/app/javascript/mastodon/locales/pl.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Twoje konto nie jest {locked}. Każdy, kto Cię śledzi, może wyświetlać Twoje wpisy przeznaczone tylko dla śledzących.",
"compose_form.lock_disclaimer.lock": "zablokowane",
"compose_form.placeholder": "Co Ci chodzi po głowie?",
- "compose_form.privacy_disclaimer": "Twój wpis zostanie dostarczony do użytkowników z {domains}. Czy ufasz {domainsCount, plural, one {temu serwerowi} other {tym serwerom}}? Prywatność wpisów obowiązuje tylko na instancjach Mastodona. Jeżeli {domains} {domainsCount, plural, one {nie jest instancją Mastodona} other {nie są instancjami Mastodona}}, wpis może być widoczny dla niewłaściwych osób.",
"compose_form.publish": "Wyślij",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Oznacz treści jako wrażliwe",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 7ef7a9bc5..187343e83 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "A sua conta não está {locked}. Qualquer pessoa pode te seguir e visualizar postagens direcionadas a apenas seguidores.",
"compose_form.lock_disclaimer.lock": "trancado",
"compose_form.placeholder": "No que você está pensando?",
- "compose_form.privacy_disclaimer": "O seu conteúdo privado será compartilhado com os usuários de {domains}. Você confia {domainsCount, plural, one {neste servidor} other {nestes servidores}}? As configurações de privacidade só funcionam em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não há como garantir a privacidade de suas postagens, e elas podem ser compartilhadas com destinatários indesejados.",
"compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marcar mídia como conteúdo sensível",
diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json
index 7f9681fff..782aaf114 100644
--- a/app/javascript/mastodon/locales/pt.json
+++ b/app/javascript/mastodon/locales/pt.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "Em que estás a pensar?",
- "compose_form.privacy_disclaimer": "O teu conteúdo privado vai ser partilhado com os utilizadores do {domains}. Confias {domainsCount, plural, one {neste servidor} other {nestes servidores}}? A privacidade só funciona em instâncias do Mastodon. Se {domains} {domainsCount, plural, one {não é uma instância} other {não são instâncias}}, não existem indicadores da privacidade da tua partilha, e podem ser partilhados com outros.",
"compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marcar media como conteúdo sensível",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index f6094d630..6f39d098c 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.",
"compose_form.lock_disclaimer.lock": "закрыт",
"compose_form.placeholder": "О чем Вы думаете?",
- "compose_form.privacy_disclaimer": "Ваш приватный статус будет доставлен упомянутым пользователям на доменах {domains}. Доверяете ли вы {domainsCount, plural, one {этому серверу} other {этим серверам}}? Приватность постов работает только на узлах Mastodon. Если {domains} {domainsCount, plural, one {не является узлом Mastodon} other {не являются узлами Mastodon}}, приватность поста не будет указана, и он может оказаться продвинут или иным образом показан не обозначенным Вами пользователям.",
"compose_form.publish": "Трубить",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Отметить как чувствительный контент",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index c1b6b74e4..ecc7a00db 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What is on your mind?",
- "compose_form.privacy_disclaimer": "Your post will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is not a public post, and it may be boosted or otherwise made visible to unintended recipients.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Mark media as sensitive",
diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json
index b9b249bc0..b7ecd2cdb 100644
--- a/app/javascript/mastodon/locales/tr.json
+++ b/app/javascript/mastodon/locales/tr.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Hesabınız {locked} değil. Sadece takipçilerle paylaştığınız gönderileri görebilmek için sizi herhangi bir kullanıcı takip edebilir.",
"compose_form.lock_disclaimer.lock": "kilitli",
"compose_form.placeholder": "Ne düşünüyorsun?",
- "compose_form.privacy_disclaimer": "Gönderiniz {domains}’teki bahsettiğiniz kullanıcılara iletilecektir.{domainsCount, plural, one {bu sunucuya} other {bu sunuculara}} güveniyor musunuz? Gönderi gizliliği sadece Mastodon sunucularında çalışır. Eğer {domains} {domainsCount, plural, one {bir Mastodon sunucusu değilse} other {Mastodon sunucuları değilse}}, gönderinizin herkese açık bir gönderi olmadığına ilişkin bir gösterge bulunmayacaktır. Bu yüzden gönderiniz boost edilebilir veya istenmeyen alıcılara görünebilir.",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Görseli hassas olarak işaretle",
diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json
index 9d3e7ec7c..45b2c2ee0 100644
--- a/app/javascript/mastodon/locales/uk.json
+++ b/app/javascript/mastodon/locales/uk.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "Ваш акаунт не {locked}. Кожен може підписатися на Вас та бачити Ваші приватні пости.",
"compose_form.lock_disclaimer.lock": "приватний",
"compose_form.placeholder": "Що у Вас на думці?",
- "compose_form.privacy_disclaimer": "Ваш приватний допис буде доставлено до згаданих користувачів на доменах {domains}. Ви довіряєте {domainsCount, plural, one {цьому серверу} other {цим серверам}}? Приватність постів працює тільки на інстанціях Mastodon. Якщо {domains} {domainsCount, plural, one {не є інстанцією Mastodon} other {не є інстанціями Mastodon}}, приватність поста не буде активована, та він може бути передмухнутий або іншим чином показаний не позначеним Вами користувачам.",
"compose_form.publish": "Дмухнути",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Відмітити як непристойний зміст",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index 6a2e26445..58e3d6780 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "你的帐户没 {locked}. 任何人可以通过关注你来查看只有关注者可见的嘟文.",
"compose_form.lock_disclaimer.lock": "被保护",
"compose_form.placeholder": "在想啥?",
- "compose_form.privacy_disclaimer": "你的私人嘟文,将被发送至你所提及的 {domains} 用户。你是否信任{domainsCount, plural, one {这个网站} other {这些网站}}?请留意,嘟文隐私设置只适用于各 Mastodon 服务器实例,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服务器实例} other {之中有些不是 Mastodon 服务器实例}},对方将无法收到这篇嘟文的隐私设置,然后可能被转嘟给不能预知的用户阅读。",
"compose_form.publish": "嘟嘟",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "将媒体文件标示为“敏感内容”",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index cfac7de98..610aa6daf 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "你的用戶狀態為「{locked}」,任何人都能立即關注你,然後看到「只有關注者能看」的文章。",
"compose_form.lock_disclaimer.lock": "公共",
"compose_form.placeholder": "你在想甚麼?",
- "compose_form.privacy_disclaimer": "你的私人文章,將被遞送至 {domains}。你是否信任{domainsCount, plural, one {這個網站} other {這些網站}}?請留意,文章私隱設定只適用於 Mastodon 服務站,如果 {domains} {domainsCount, plural, one {不是 Mastodon 服務站} other {之中有些不是 Mastodon 服務站}},對方將可無視文章的私隱設定,轉推文章給其他用戶閱讀。",
"compose_form.publish": "發文",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "將媒體檔案標示為「敏感內容」",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index b2b1299a1..ad2f1a05a 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -47,7 +47,6 @@
"compose_form.lock_disclaimer": "你的帳號沒有{locked}。任何人都可以關注你,看到發給關注者的貼文。",
"compose_form.lock_disclaimer.lock": "上鎖",
"compose_form.placeholder": "在想些什麼?",
- "compose_form.privacy_disclaimer": "你的貼文會被傳到 {domains} 上被提到的使用者。你信任 {domainsCount, plural, one {這個伺服器} other {這些伺服器}}嗎?貼文的隱私設定只會在 Mastodon 副本上生效。如果 {domains} {domainsCount, plural, one {不是一個 Mastodon 副本} other {都不是 Mastodon 副本}},就不會被標記為非公開貼文,而且可能會被轉推或是讓不預期的人看見。",
"compose_form.publish": "貼掉",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "將此媒體標為敏感",
--
cgit
From 8a24ad58286b2bd83a7d0e5b362ae78943ef1c46 Mon Sep 17 00:00:00 2001
From: Ondřej Hruška
Date: Thu, 28 Sep 2017 08:55:53 +0200
Subject: Revert "Merge pull request #149 from glitch-soc/mojon-suggest"
This reverts commit fa3587645da228e93767b245eeadbd668bc6cd38, reversing
changes made to 15c9c2fd7e5603d48b5eeb966963138b454cfe2a.
---
app/javascript/mastodon/actions/compose.js | 74 ++++------------------
.../mastodon/components/autosuggest_textarea.js | 29 ++-------
.../compose/components/autosuggest_shortcode.js | 38 -----------
.../features/compose/components/compose_form.js | 5 --
app/javascript/mastodon/reducers/compose.js | 4 --
app/javascript/styles/components.scss | 2 -
6 files changed, 17 insertions(+), 135 deletions(-)
delete mode 100644 app/javascript/mastodon/features/compose/components/autosuggest_shortcode.js
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js
index c86184046..5f265a750 100644
--- a/app/javascript/mastodon/actions/compose.js
+++ b/app/javascript/mastodon/actions/compose.js
@@ -1,5 +1,4 @@
import api from '../api';
-import emojione from 'emojione';
import {
updateTimeline,
@@ -23,7 +22,6 @@ export const COMPOSE_UPLOAD_UNDO = 'COMPOSE_UPLOAD_UNDO';
export const COMPOSE_SUGGESTIONS_CLEAR = 'COMPOSE_SUGGESTIONS_CLEAR';
export const COMPOSE_SUGGESTIONS_READY = 'COMPOSE_SUGGESTIONS_READY';
-export const COMPOSE_SUGGESTIONS_READY_TXT = 'COMPOSE_SUGGESTIONS_READY_TXT';
export const COMPOSE_SUGGESTION_SELECT = 'COMPOSE_SUGGESTION_SELECT';
export const COMPOSE_MOUNT = 'COMPOSE_MOUNT';
@@ -213,56 +211,18 @@ export function clearComposeSuggestions() {
};
};
-let allShortcodes = null; // cached list of all shortcodes for suggestions
-
export function fetchComposeSuggestions(token) {
- let leading = token[0];
-
- if (leading === '@') {
- // handle search
- return (dispatch, getState) => {
- api(getState).get('/api/v1/accounts/search', {
- params: {
- q: token.slice(1), // remove the '@'
- resolve: false,
- limit: 4,
- },
- }).then(response => {
- dispatch(readyComposeSuggestions(token, response.data));
- });
- };
- } else if (leading === ':') {
- // shortcode
- if (!allShortcodes) {
- allShortcodes = Object.keys(emojione.emojioneList);
- // TODO when we have custom emojons merged, add them to this shortcode list
- }
- return (dispatch) => {
- const innertxt = token.slice(1);
- if (innertxt.length > 1) { // prevent searching single letter, causes lag
- dispatch(readyComposeSuggestionsTxt(token, allShortcodes.filter((sc) => {
- return sc.indexOf(innertxt) !== -1;
- }).sort((a, b) => {
- if (a.indexOf(token) === 0 && b.indexOf(token) === 0) return a.localeCompare(b);
- if (a.indexOf(token) === 0) return -1;
- if (b.indexOf(token) === 0) return 1;
- return a.localeCompare(b);
- })));
- }
- };
- } else {
- // hashtag
- return (dispatch, getState) => {
- api(getState).get('/api/v1/search', {
- params: {
- q: token,
- resolve: true,
- },
- }).then(response => {
- dispatch(readyComposeSuggestionsTxt(token, response.data.hashtags.map((ht) => `#${ht}`)));
- });
- };
- }
+ return (dispatch, getState) => {
+ api(getState).get('/api/v1/accounts/search', {
+ params: {
+ q: token,
+ resolve: false,
+ limit: 4,
+ },
+ }).then(response => {
+ dispatch(readyComposeSuggestions(token, response.data));
+ });
+ };
};
export function readyComposeSuggestions(token, accounts) {
@@ -273,19 +233,9 @@ export function readyComposeSuggestions(token, accounts) {
};
};
-export function readyComposeSuggestionsTxt(token, items) {
- return {
- type: COMPOSE_SUGGESTIONS_READY_TXT,
- token,
- items,
- };
-};
-
export function selectComposeSuggestion(position, token, accountId) {
return (dispatch, getState) => {
- const completion = (typeof accountId === 'string') ?
- accountId.slice(1) : // text suggestion: discard the leading : or # - the replacing code replaces only what follows
- getState().getIn(['accounts', accountId, 'acct']);
+ const completion = getState().getIn(['accounts', accountId, 'acct']);
dispatch({
type: COMPOSE_SUGGESTION_SELECT,
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js
index 1c7ffe196..82a10687f 100644
--- a/app/javascript/mastodon/components/autosuggest_textarea.js
+++ b/app/javascript/mastodon/components/autosuggest_textarea.js
@@ -1,6 +1,5 @@
import React from 'react';
import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';
-import AutosuggestShortcode from '../features/compose/components/autosuggest_shortcode';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
import { isRtl } from '../rtl';
@@ -19,12 +18,11 @@ const textAtCursorMatchesToken = (str, caretPosition) => {
word = str.slice(left, right + caretPosition);
}
- if (!word || word.trim().length < 2 || ['@', ':', '#'].indexOf(word[0]) === -1) {
+ if (!word || word.trim().length < 2 || word[0] !== '@') {
return [null, null];
}
- word = word.trim().toLowerCase();
- // was: .slice(1); - we leave the leading char there, handler can decide what to do based on it
+ word = word.trim().toLowerCase().slice(1);
if (word.length > 0) {
return [left + 1, word];
@@ -43,7 +41,6 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
onSuggestionSelected: PropTypes.func.isRequired,
onSuggestionsClearRequested: PropTypes.func.isRequired,
onSuggestionsFetchRequested: PropTypes.func.isRequired,
- onLocalSuggestionsFetchRequested: PropTypes.func.isRequired,
onChange: PropTypes.func.isRequired,
onKeyUp: PropTypes.func,
onKeyDown: PropTypes.func,
@@ -67,13 +64,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
if (token !== null && this.state.lastToken !== token) {
this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart });
- if (token[0] === ':') {
- // faster debounce for shortcodes.
- // hashtags have long debounce because they're fetched from server.
- this.props.onLocalSuggestionsFetchRequested(token);
- } else {
- this.props.onSuggestionsFetchRequested(token);
- }
+ this.props.onSuggestionsFetchRequested(token);
} else if (token === null) {
this.setState({ lastToken: null });
this.props.onSuggestionsClearRequested();
@@ -137,9 +128,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
onSuggestionClick = (e) => {
- // leave suggestion string unchanged if it's a hash / shortcode suggestion. convert account number to int.
- const suggestionStr = e.currentTarget.getAttribute('data-index');
- const suggestion = [':', '#'].indexOf(suggestionStr[0]) !== -1 ? suggestionStr : Number(suggestionStr);
+ const suggestion = Number(e.currentTarget.getAttribute('data-index'));
e.preventDefault();
this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);
this.textarea.focus();
@@ -180,14 +169,6 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
style.direction = 'rtl';
}
- let makeItem = (suggestion) => {
- if (suggestion[0] === ':') return ;
- if (suggestion[0] === '#') return suggestion; // hashtag
-
- // else - accounts are always returned as IDs with no prefix
- return ;
- };
-
return (
@@ -219,7 +200,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
className={`autosuggest-textarea__suggestions__item ${i === selectedSuggestion ? 'selected' : ''}`}
onMouseDown={this.onSuggestionClick}
>
- {makeItem(suggestion)}
+
))}
diff --git a/app/javascript/mastodon/features/compose/components/autosuggest_shortcode.js b/app/javascript/mastodon/features/compose/components/autosuggest_shortcode.js
deleted file mode 100644
index 4a0ef96b3..000000000
--- a/app/javascript/mastodon/features/compose/components/autosuggest_shortcode.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import React from 'react';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import PropTypes from 'prop-types';
-import emojione from 'emojione';
-
-// This is bad, but I don't know how to make it work without importing the entirety of emojione.
-// taken from some old version of mastodon before they gutted emojione to "emojione_light"
-const shortnameToImage = str => str.replace(emojione.regShortNames, shortname => {
- if (typeof shortname === 'undefined' || shortname === '' || !(shortname in emojione.emojioneList)) {
- return shortname;
- }
-
- const unicode = emojione.emojioneList[shortname].unicode[emojione.emojioneList[shortname].unicode.length - 1];
- const alt = emojione.convert(unicode.toUpperCase());
-
- return ` `;
-});
-
-export default class AutosuggestShortcode extends ImmutablePureComponent {
-
- static propTypes = {
- shortcode: PropTypes.string.isRequired,
- };
-
- render () {
- const { shortcode } = this.props;
-
- let emoji = shortnameToImage(shortcode);
-
- return (
-
- );
- }
-
-}
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
index 5befd0337..8fbcf6a3d 100644
--- a/app/javascript/mastodon/features/compose/components/compose_form.js
+++ b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -98,10 +98,6 @@ export default class ComposeForm extends ImmutablePureComponent {
this.props.onFetchSuggestions(token);
}, 500, { trailing: true })
- onLocalSuggestionsFetchRequested = debounce((token) => {
- this.props.onFetchSuggestions(token);
- }, 100, { trailing: true })
-
onSuggestionSelected = (tokenStart, token, value) => {
this._restoreCaret = null;
this.props.onSuggestionSelected(tokenStart, token, value);
@@ -238,7 +234,6 @@ export default class ComposeForm extends ImmutablePureComponent {
suggestions={this.props.suggestions}
onKeyDown={this.handleKeyDown}
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
- onLocalSuggestionsFetchRequested={this.onLocalSuggestionsFetchRequested}
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
onSuggestionSelected={this.onSuggestionSelected}
onPaste={onPaste}
diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js
index d2b29721f..e7a3567b4 100644
--- a/app/javascript/mastodon/reducers/compose.js
+++ b/app/javascript/mastodon/reducers/compose.js
@@ -15,7 +15,6 @@ import {
COMPOSE_UPLOAD_PROGRESS,
COMPOSE_SUGGESTIONS_CLEAR,
COMPOSE_SUGGESTIONS_READY,
- COMPOSE_SUGGESTIONS_READY_TXT,
COMPOSE_SUGGESTION_SELECT,
COMPOSE_ADVANCED_OPTIONS_CHANGE,
COMPOSE_SENSITIVITY_CHANGE,
@@ -264,9 +263,6 @@ export default function compose(state = initialState, action) {
return state.update('suggestions', ImmutableList(), list => list.clear()).set('suggestion_token', null);
case COMPOSE_SUGGESTIONS_READY:
return state.set('suggestions', ImmutableList(action.accounts.map(item => item.id))).set('suggestion_token', action.token);
- case COMPOSE_SUGGESTIONS_READY_TXT:
- // suggestion received that is not an account - hashtag or emojo
- return state.set('suggestions', ImmutableList(action.items.map(item => item))).set('suggestion_token', action.token);
case COMPOSE_SUGGESTION_SELECT:
return insertSuggestion(state, action.position, action.token, action.completion);
case TIMELINE_DELETE:
diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss
index af85b6b50..3cbfb7d3a 100644
--- a/app/javascript/styles/components.scss
+++ b/app/javascript/styles/components.scss
@@ -2040,8 +2040,6 @@
.autosuggest-textarea__suggestions {
display: none;
position: absolute;
- max-height: 300px;
- overflow-y: auto;
top: 100%;
width: 100%;
z-index: 99;
--
cgit
From 06e299cef591b63bd96f320eadc873b047cd2664 Mon Sep 17 00:00:00 2001
From: Ondřej Hruška
Date: Thu, 28 Sep 2017 08:56:32 +0200
Subject: Revert "autoscroll emoji suggestions box"
This reverts commit c89cce0219646502b4d338213d112a528373bdc4.
---
app/javascript/mastodon/components/autosuggest_textarea.js | 10 ----------
1 file changed, 10 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/components/autosuggest_textarea.js b/app/javascript/mastodon/components/autosuggest_textarea.js
index 82a10687f..35b37600f 100644
--- a/app/javascript/mastodon/components/autosuggest_textarea.js
+++ b/app/javascript/mastodon/components/autosuggest_textarea.js
@@ -151,15 +151,6 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
}
- componentDidUpdate () {
- if (this.refs.selected) {
- if (this.refs.selected.scrollIntoViewIfNeeded)
- this.refs.selected.scrollIntoViewIfNeeded();
- else
- this.refs.selected.scrollIntoView({ behavior: 'auto', block: 'nearest' });
- }
- }
-
render () {
const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus } = this.props;
const { suggestionsHidden, selectedSuggestion } = this.state;
@@ -192,7 +183,6 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
{suggestions.map((suggestion, i) => (
Date: Thu, 28 Sep 2017 10:04:20 +0200
Subject: fix some js errors due to number->string change of status ID
---
app/javascript/glitch/components/notification/follow.js | 2 +-
app/javascript/glitch/components/status/action_bar.js | 2 +-
app/javascript/glitch/components/status/index.js | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/glitch/components/notification/follow.js b/app/javascript/glitch/components/notification/follow.js
index f471307b9..99a5c6219 100644
--- a/app/javascript/glitch/components/notification/follow.js
+++ b/app/javascript/glitch/components/notification/follow.js
@@ -30,7 +30,7 @@ import NotificationOverlayContainer from '../notification/overlay/container';
export default class NotificationFollow extends ImmutablePureComponent {
static propTypes = {
- id : PropTypes.number.isRequired,
+ id : PropTypes.string.isRequired,
account : ImmutablePropTypes.map.isRequired,
notification : ImmutablePropTypes.map.isRequired,
};
diff --git a/app/javascript/glitch/components/status/action_bar.js b/app/javascript/glitch/components/status/action_bar.js
index d4d26c62c..f4450d31b 100644
--- a/app/javascript/glitch/components/status/action_bar.js
+++ b/app/javascript/glitch/components/status/action_bar.js
@@ -50,7 +50,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
onEmbed: PropTypes.func,
onMuteConversation: PropTypes.func,
onPin: PropTypes.func,
- me: PropTypes.number,
+ me: PropTypes.string,
withDismiss: PropTypes.bool,
intl: PropTypes.object.isRequired,
};
diff --git a/app/javascript/glitch/components/status/index.js b/app/javascript/glitch/components/status/index.js
index 4a2a0e1d4..9e758793c 100644
--- a/app/javascript/glitch/components/status/index.js
+++ b/app/javascript/glitch/components/status/index.js
@@ -155,12 +155,12 @@ export default class Status extends ImmutablePureComponent {
};
static propTypes = {
- id : PropTypes.number,
+ id : PropTypes.string,
status : ImmutablePropTypes.map,
account : ImmutablePropTypes.map,
settings : ImmutablePropTypes.map,
notification : ImmutablePropTypes.map,
- me : PropTypes.number,
+ me : PropTypes.string,
onFavourite : PropTypes.func,
onReblog : PropTypes.func,
onModalReblog : PropTypes.func,
--
cgit
From 74e4fc8f8aea01159e7d24b978322545afb70e94 Mon Sep 17 00:00:00 2001
From: Ondřej Hruška
Date: Thu, 28 Sep 2017 10:13:16 +0200
Subject: fix custom emoji not shown in statuses
---
app/javascript/glitch/components/status/content.js | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/glitch/components/status/content.js b/app/javascript/glitch/components/status/content.js
index 2aad55070..9dd34fcb2 100644
--- a/app/javascript/glitch/components/status/content.js
+++ b/app/javascript/glitch/components/status/content.js
@@ -131,11 +131,9 @@ export default class StatusContent extends React.PureComponent {
this.state.hidden
);
- const content = { __html: emojify(status.get('content')) };
+ const content = { __html: status.get('contentHtml') };
const spoilerContent = {
- __html: emojify(escapeTextContentForBrowser(
- status.get('spoiler_text', '')
- )),
+ __html: status.get('spoilerHtml'),
};
const directionStyle = { direction: 'ltr' };
const classNames = classnames('status__content', {
--
cgit
From cf24ce7e0300b8280631efddd58ce576e5cccabf Mon Sep 17 00:00:00 2001
From: Ondřej Hruška
Date: Thu, 28 Sep 2017 11:03:23 +0200
Subject: remove wrong emojify usage in old glitch components
---
app/javascript/glitch/components/account/header.js | 14 ++++----------
app/javascript/glitch/components/notification/follow.js | 7 ++-----
app/javascript/glitch/components/status/content.js | 8 ++------
app/javascript/glitch/components/status/prepend.js | 8 +-------
4 files changed, 9 insertions(+), 28 deletions(-)
(limited to 'app/javascript')
diff --git a/app/javascript/glitch/components/account/header.js b/app/javascript/glitch/components/account/header.js
index a1197c4be..bc2ce30f6 100644
--- a/app/javascript/glitch/components/account/header.js
+++ b/app/javascript/glitch/components/account/header.js
@@ -44,7 +44,6 @@ Imports:
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import escapeTextContentForBrowser from 'escape-html';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
@@ -89,7 +88,7 @@ export default class AccountHeader extends ImmutablePureComponent {
static propTypes = {
account : ImmutablePropTypes.map,
- me : PropTypes.number.isRequired,
+ me : PropTypes.string.isRequired,
onFollow : PropTypes.func.isRequired,
intl : PropTypes.object.isRequired,
};
@@ -117,7 +116,7 @@ then we set the `displayName` to just be the `username` of the account.
return null;
}
- let displayName = account.get('display_name');
+ let displayName = account.get('display_name_html');
let info = '';
let actionBtn = '';
let following = false;
@@ -167,16 +166,11 @@ appropriate icon.
}
/*
-
-`displayNameHTML` processes the `displayName` and prepares it for
-insertion into the document. Meanwhile, we extract the `text` and
+ we extract the `text` and
`metadata` from our account's `note` using `processBio()`.
*/
- const displayNameHTML = {
- __html : emojify(escapeTextContentForBrowser(displayName)),
- };
const { text, metadata } = processBio(account.get('note'));
/*
@@ -198,7 +192,7 @@ Here, we render our component using all the things we've defined above.
diff --git a/app/javascript/glitch/components/notification/follow.js b/app/javascript/glitch/components/notification/follow.js
index 99a5c6219..e2c21bf35 100644
--- a/app/javascript/glitch/components/notification/follow.js
+++ b/app/javascript/glitch/components/notification/follow.js
@@ -11,11 +11,9 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
-import escapeTextContentForBrowser from 'escape-html';
import ImmutablePureComponent from 'react-immutable-pure-component';
// Mastodon imports.
-import emojify from '../../../mastodon/emoji';
import Permalink from '../../../mastodon/components/permalink';
import AccountContainer from '../../../mastodon/containers/account_container';
@@ -39,15 +37,14 @@ export default class NotificationFollow extends ImmutablePureComponent {
const { account, notification } = this.props;
// Links to the display name.
- const displayName = account.get('display_name') || account.get('username');
- const displayNameHTML = { __html: emojify(escapeTextContentForBrowser(displayName)) };
+ const displayName = account.get('display_name_html') || account.get('username');
const link = (
);
diff --git a/app/javascript/glitch/components/status/content.js b/app/javascript/glitch/components/status/content.js
index 9dd34fcb2..06015619b 100644
--- a/app/javascript/glitch/components/status/content.js
+++ b/app/javascript/glitch/components/status/content.js
@@ -1,13 +1,11 @@
// Package imports //
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import escapeTextContentForBrowser from 'escape-html';
import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl';
import classnames from 'classnames';
// Mastodon imports //
-import emojify from '../../../mastodon/emoji';
import { isRtl } from '../../../mastodon/rtl';
import Permalink from '../../../mastodon/components/permalink';
@@ -32,7 +30,7 @@ export default class StatusContent extends React.PureComponent {
const node = this.node;
const links = node.querySelectorAll('a');
- for (var i = 0; i < links.length; ++i) {
+ for (let i = 0; i < links.length; ++i) {
let link = links[i];
let mention = this.props.status.get('mentions').find(item => link.href === item.get('url'));
@@ -132,9 +130,7 @@ export default class StatusContent extends React.PureComponent {
);
const content = { __html: status.get('contentHtml') };
- const spoilerContent = {
- __html: status.get('spoilerHtml'),
- };
+ const spoilerContent = { __html: status.get('spoilerHtml') };
const directionStyle = { direction: 'ltr' };
const classNames = classnames('status__content', {
'status__content--with-action': parseClick && !disabled,
diff --git a/app/javascript/glitch/components/status/prepend.js b/app/javascript/glitch/components/status/prepend.js
index 6213e4c8d..8c0aed0f4 100644
--- a/app/javascript/glitch/components/status/prepend.js
+++ b/app/javascript/glitch/components/status/prepend.js
@@ -22,12 +22,8 @@ Imports:
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import escapeTextContentForBrowser from 'escape-html';
import { FormattedMessage } from 'react-intl';
-// Mastodon imports //
-import emojify from '../../../mastodon/emoji';
-
/* * * * */
/*
@@ -99,9 +95,7 @@ generate the message.
>
--
cgit
From e9f9e3cc89365ec75759f91f66931e4015448c75 Mon Sep 17 00:00:00 2001
From: Ondřej Hruška
Date: Thu, 28 Sep 2017 11:13:37 +0200
Subject: unbreak onboarding modal
---
app/javascript/mastodon/features/ui/components/onboarding_modal.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
(limited to 'app/javascript')
diff --git a/app/javascript/mastodon/features/ui/components/onboarding_modal.js b/app/javascript/mastodon/features/ui/components/onboarding_modal.js
index 2facf9c44..daf6b485c 100644
--- a/app/javascript/mastodon/features/ui/components/onboarding_modal.js
+++ b/app/javascript/mastodon/features/ui/components/onboarding_modal.js
@@ -10,7 +10,10 @@ import ComposeForm from '../../compose/components/compose_form';
import Search from '../../compose/components/search';
import NavigationBar from '../../compose/components/navigation_bar';
import ColumnHeader from './column_header';
-import { List as ImmutableList } from 'immutable';
+import {
+ List as ImmutableList,
+ Map as ImmutableMap,
+} from 'immutable';
const noop = () => { };
@@ -59,7 +62,9 @@ const PageTwo = ({ me }) => (
onClearSuggestions={noop}
onFetchSuggestions={noop}
onSuggestionSelected={noop}
+ onPrivacyChange={noop}
showSearch
+ settings={ImmutableMap.of('side_arm', 'none')}
/>
--
cgit