summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/help/Sign-in.md6
-rw-r--r--web/react/.eslintrc2
-rw-r--r--web/react/components/center_panel.jsx23
-rw-r--r--web/react/components/command_list.jsx99
-rw-r--r--web/react/components/create_comment.jsx2
-rw-r--r--web/react/components/edit_post_modal.jsx1
-rw-r--r--web/react/components/mention.jsx61
-rw-r--r--web/react/components/mention_list.jsx276
-rw-r--r--web/react/components/post_body.jsx7
-rw-r--r--web/react/components/post_focus_view.jsx2
-rw-r--r--web/react/components/rhs_root_post.jsx8
-rw-r--r--web/react/components/rhs_thread.jsx1
-rw-r--r--web/react/components/search_autocomplete.jsx341
-rw-r--r--web/react/components/search_bar.jsx49
-rw-r--r--web/react/components/suggestion/at_mention_provider.jsx100
-rw-r--r--web/react/components/suggestion/command_provider.jsx47
-rw-r--r--web/react/components/suggestion/search_channel_provider.jsx69
-rw-r--r--web/react/components/suggestion/search_suggestion_list.jsx86
-rw-r--r--web/react/components/suggestion/search_user_provider.jsx62
-rw-r--r--web/react/components/suggestion/suggestion_box.jsx189
-rw-r--r--web/react/components/suggestion/suggestion_list.jsx125
-rw-r--r--web/react/components/team_general_tab.jsx1
-rw-r--r--web/react/components/textbox.jsx205
-rw-r--r--web/react/components/user_settings/user_settings_notifications.jsx49
-rw-r--r--web/react/dispatcher/event_helpers.jsx30
-rw-r--r--web/react/pages/channel.jsx16
-rw-r--r--web/react/stores/search_store.jsx36
-rw-r--r--web/react/stores/suggestion_store.jsx267
-rw-r--r--web/react/utils/async_client.jsx24
-rw-r--r--web/react/utils/constants.jsx9
-rw-r--r--web/react/utils/emoticons.jsx9
-rw-r--r--web/react/utils/utils.jsx28
-rw-r--r--web/sass-files/sass/partials/_content.scss16
-rw-r--r--web/sass-files/sass/partials/_mentions.scss19
-rw-r--r--web/sass-files/sass/partials/_modal.scss8
-rw-r--r--web/sass-files/sass/partials/_popover.scss2
-rw-r--r--web/sass-files/sass/partials/_responsive.scss50
-rw-r--r--web/sass-files/sass/partials/_settings.scss3
-rw-r--r--web/sass-files/sass/partials/_sidebar--right.scss4
-rw-r--r--web/sass-files/sass/partials/_suggestion_list.scss (renamed from web/sass-files/sass/partials/_command-box.scss)38
-rw-r--r--web/sass-files/sass/partials/_tutorial.scss2
-rw-r--r--web/sass-files/sass/styles.scss2
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/+1.pngbin5075 -> 1714 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/-1.pngbin5070 -> 1604 bytes
-rw-r--r--web/static/images/emoji/0023-20e3.pngbin0 -> 1250 bytes
-rw-r--r--web/static/images/emoji/0030-20e3.pngbin0 -> 1169 bytes
-rw-r--r--web/static/images/emoji/0031-20e3.pngbin0 -> 648 bytes
-rw-r--r--web/static/images/emoji/0032-20e3.pngbin0 -> 1105 bytes
-rw-r--r--web/static/images/emoji/0033-20e3.pngbin0 -> 1274 bytes
-rw-r--r--web/static/images/emoji/0034-20e3.pngbin0 -> 891 bytes
-rw-r--r--web/static/images/emoji/0035-20e3.pngbin0 -> 1208 bytes
-rw-r--r--web/static/images/emoji/0036-20e3.pngbin0 -> 1325 bytes
-rw-r--r--web/static/images/emoji/0037-20e3.pngbin0 -> 873 bytes
-rw-r--r--web/static/images/emoji/0038-20e3.pngbin0 -> 1266 bytes
-rw-r--r--web/static/images/emoji/0039-20e3.pngbin0 -> 1267 bytes
-rw-r--r--web/static/images/emoji/00a9.pngbin0 -> 1702 bytes
-rw-r--r--web/static/images/emoji/00ae.pngbin0 -> 1573 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/100.pngbin3251 -> 2196 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/1234.pngbin4751 -> 1360 bytes
-rw-r--r--web/static/images/emoji/1f004.pngbin0 -> 1211 bytes
-rw-r--r--web/static/images/emoji/1f0cf.pngbin0 -> 1806 bytes
-rw-r--r--web/static/images/emoji/1f170.pngbin0 -> 1202 bytes
-rw-r--r--web/static/images/emoji/1f171.pngbin0 -> 1019 bytes
-rw-r--r--web/static/images/emoji/1f17e.pngbin0 -> 1345 bytes
-rw-r--r--web/static/images/emoji/1f17f.pngbin0 -> 869 bytes
-rw-r--r--web/static/images/emoji/1f18e.pngbin0 -> 1419 bytes
-rw-r--r--web/static/images/emoji/1f191.pngbin0 -> 1304 bytes
-rw-r--r--web/static/images/emoji/1f192.pngbin0 -> 1443 bytes
-rw-r--r--web/static/images/emoji/1f193.pngbin0 -> 1078 bytes
-rw-r--r--web/static/images/emoji/1f194.pngbin0 -> 1167 bytes
-rw-r--r--web/static/images/emoji/1f195.pngbin0 -> 1431 bytes
-rw-r--r--web/static/images/emoji/1f196.pngbin0 -> 1462 bytes
-rw-r--r--web/static/images/emoji/1f197.pngbin0 -> 1609 bytes
-rw-r--r--web/static/images/emoji/1f198.pngbin0 -> 1637 bytes
-rw-r--r--web/static/images/emoji/1f199.pngbin0 -> 1292 bytes
-rw-r--r--web/static/images/emoji/1f19a.pngbin0 -> 1560 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1e8.pngbin0 -> 2279 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1e9.pngbin0 -> 1341 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1ea.pngbin0 -> 442 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1eb.pngbin0 -> 1486 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1ec.pngbin0 -> 1449 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1ee.pngbin0 -> 1901 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1f1.pngbin0 -> 1505 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1f2.pngbin0 -> 399 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1f4.pngbin0 -> 1375 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1f7.pngbin0 -> 863 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1f9.pngbin0 -> 294 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1fa.pngbin0 -> 1730 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1fc.pngbin0 -> 597 bytes
-rw-r--r--web/static/images/emoji/1f1e6-1f1ff.pngbin0 -> 777 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1e6.pngbin0 -> 1530 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1e7.pngbin0 -> 728 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1e9.pngbin0 -> 708 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ea.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1eb.pngbin0 -> 782 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ec.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ed.pngbin0 -> 792 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ee.pngbin0 -> 1979 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ef.pngbin0 -> 531 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f2.pngbin0 -> 2186 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f3.pngbin0 -> 2422 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f4.pngbin0 -> 950 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f7.pngbin0 -> 1649 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f8.pngbin0 -> 802 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1f9.pngbin0 -> 2702 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1fc.pngbin0 -> 303 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1fe.pngbin0 -> 1709 bytes
-rw-r--r--web/static/images/emoji/1f1e7-1f1ff.pngbin0 -> 2138 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1e6.pngbin0 -> 747 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1e9.pngbin0 -> 1915 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1eb.pngbin0 -> 611 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1ec.pngbin0 -> 1149 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1ed.pngbin0 -> 468 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1ee.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1f1.pngbin0 -> 691 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1f2.pngbin0 -> 619 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1f3.pngbin0 -> 697 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1f4.pngbin0 -> 405 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1f7.pngbin0 -> 298 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1fa.pngbin0 -> 1074 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1fb.pngbin0 -> 959 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1fe.pngbin0 -> 1183 bytes
-rw-r--r--web/static/images/emoji/1f1e8-1f1ff.pngbin0 -> 889 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1ea.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1ef.pngbin0 -> 1155 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1f0.pngbin0 -> 310 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1f2.pngbin0 -> 1481 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1f4.pngbin0 -> 927 bytes
-rw-r--r--web/static/images/emoji/1f1e9-1f1ff.pngbin0 -> 1052 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1e8.pngbin0 -> 1587 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1ea.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1ec.pngbin0 -> 843 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1ed.pngbin0 -> 1068 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1f7.pngbin0 -> 1973 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1f8.pngbin0 -> 1197 bytes
-rw-r--r--web/static/images/emoji/1f1ea-1f1f9.pngbin0 -> 1280 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1ee.pngbin0 -> 312 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1ef.pngbin0 -> 2293 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1f0.pngbin0 -> 2245 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1f2.pngbin0 -> 744 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1f4.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/1f1eb-1f1f7.pngbin0 -> 432 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1e6.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1e7.pngbin0 -> 2050 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1e9.pngbin0 -> 1441 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1ea.pngbin0 -> 876 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1ed.pngbin0 -> 639 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1ee.pngbin0 -> 2223 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f1.pngbin0 -> 818 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f2.pngbin0 -> 419 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f3.pngbin0 -> 363 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f6.pngbin0 -> 1239 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f7.pngbin0 -> 363 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1f9.pngbin0 -> 1365 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1fa.pngbin0 -> 1531 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1fc.pngbin0 -> 719 bytes
-rw-r--r--web/static/images/emoji/1f1ec-1f1fe.pngbin0 -> 1323 bytes
-rw-r--r--web/static/images/emoji/1f1ed-1f1f0.pngbin0 -> 1191 bytes
-rw-r--r--web/static/images/emoji/1f1ed-1f1f3.pngbin0 -> 699 bytes
-rw-r--r--web/static/images/emoji/1f1ed-1f1f7.pngbin0 -> 1615 bytes
-rw-r--r--web/static/images/emoji/1f1ed-1f1f9.pngbin0 -> 1721 bytes
-rw-r--r--web/static/images/emoji/1f1ed-1f1fa.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1e9.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1ea.pngbin0 -> 359 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f1.pngbin0 -> 714 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f3.pngbin0 -> 954 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f6.pngbin0 -> 993 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f7.pngbin0 -> 874 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f8.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/1f1ee-1f1f9.pngbin0 -> 367 bytes
-rw-r--r--web/static/images/emoji/1f1ef-1f1ea.pngbin0 -> 1983 bytes
-rw-r--r--web/static/images/emoji/1f1ef-1f1f2.pngbin0 -> 1727 bytes
-rw-r--r--web/static/images/emoji/1f1ef-1f1f4.pngbin0 -> 1156 bytes
-rw-r--r--web/static/images/emoji/1f1ef-1f1f5.pngbin0 -> 598 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1ea.pngbin0 -> 1520 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1ec.pngbin0 -> 1345 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1ed.pngbin0 -> 1240 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1ee.pngbin0 -> 2452 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1f2.pngbin0 -> 1416 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1f3.pngbin0 -> 2065 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1f5.pngbin0 -> 856 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1f7.pngbin0 -> 1235 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1fc.pngbin0 -> 755 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1fe.pngbin0 -> 2335 bytes
-rw-r--r--web/static/images/emoji/1f1f0-1f1ff.pngbin0 -> 1738 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1e6.pngbin0 -> 601 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1e7.pngbin0 -> 847 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1e8.pngbin0 -> 961 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1ee.pngbin0 -> 1054 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1f0.pngbin0 -> 1702 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1f7.pngbin0 -> 825 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1f8.pngbin0 -> 869 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1f9.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1fa.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1fb.pngbin0 -> 295 bytes
-rw-r--r--web/static/images/emoji/1f1f1-1f1fe.pngbin0 -> 836 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1e6.pngbin0 -> 895 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1e8.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1e9.pngbin0 -> 1324 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1ea.pngbin0 -> 1903 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1ec.pngbin0 -> 465 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1ed.pngbin0 -> 2043 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f0.pngbin0 -> 1987 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f1.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f2.pngbin0 -> 1027 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f3.pngbin0 -> 817 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f4.pngbin0 -> 1314 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f7.pngbin0 -> 881 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f8.pngbin0 -> 1901 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1f9.pngbin0 -> 840 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1fa.pngbin0 -> 408 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1fb.pngbin0 -> 630 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1fc.pngbin0 -> 907 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1fd.pngbin0 -> 1282 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1fe.pngbin0 -> 924 bytes
-rw-r--r--web/static/images/emoji/1f1f2-1f1ff.pngbin0 -> 1518 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1e6.pngbin0 -> 2190 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1e8.pngbin0 -> 1313 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1ea.pngbin0 -> 707 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1ec.pngbin0 -> 304 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1ee.pngbin0 -> 838 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1f1.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1f4.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1f5.pngbin0 -> 1507 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1f7.pngbin0 -> 607 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1fa.pngbin0 -> 1539 bytes
-rw-r--r--web/static/images/emoji/1f1f3-1f1ff.pngbin0 -> 1568 bytes
-rw-r--r--web/static/images/emoji/1f1f4-1f1f2.pngbin0 -> 871 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1e6.pngbin0 -> 835 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1ea.pngbin0 -> 304 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1eb.pngbin0 -> 970 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1ec.pngbin0 -> 1710 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1ed.pngbin0 -> 1355 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1f0.pngbin0 -> 952 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1f1.pngbin0 -> 399 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1f7.pngbin0 -> 1087 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1f8.pngbin0 -> 864 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1f9.pngbin0 -> 1570 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1fc.pngbin0 -> 639 bytes
-rw-r--r--web/static/images/emoji/1f1f5-1f1fe.pngbin0 -> 1081 bytes
-rw-r--r--web/static/images/emoji/1f1f6-1f1e6.pngbin0 -> 818 bytes
-rw-r--r--web/static/images/emoji/1f1f7-1f1f4.pngbin0 -> 364 bytes
-rw-r--r--web/static/images/emoji/1f1f7-1f1f8.pngbin0 -> 1647 bytes
-rw-r--r--web/static/images/emoji/1f1f7-1f1fa.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f1f7-1f1fc.pngbin0 -> 1038 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1e6.pngbin0 -> 1910 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1e7.pngbin0 -> 1731 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1e8.pngbin0 -> 1639 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1e9.pngbin0 -> 875 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1ea.pngbin0 -> 310 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1ec.pngbin0 -> 926 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1ed.pngbin0 -> 2179 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1ee.pngbin0 -> 930 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f0.pngbin0 -> 1111 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f1.pngbin0 -> 387 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f2.pngbin0 -> 2475 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f3.pngbin0 -> 654 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f4.pngbin0 -> 752 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f7.pngbin0 -> 575 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1f9.pngbin0 -> 1118 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1fb.pngbin0 -> 977 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1fe.pngbin0 -> 811 bytes
-rw-r--r--web/static/images/emoji/1f1f8-1f1ff.pngbin0 -> 1094 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1e9.pngbin0 -> 356 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1ec.pngbin0 -> 733 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1ed.pngbin0 -> 298 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1ef.pngbin0 -> 775 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f1.pngbin0 -> 1488 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f2.pngbin0 -> 2713 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f3.pngbin0 -> 1086 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f4.pngbin0 -> 427 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f7.pngbin0 -> 849 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1f9.pngbin0 -> 1721 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1fb.pngbin0 -> 1705 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1fc.pngbin0 -> 848 bytes
-rw-r--r--web/static/images/emoji/1f1f9-1f1ff.pngbin0 -> 1800 bytes
-rw-r--r--web/static/images/emoji/1f1fa-1f1e6.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/1f1fa-1f1ec.pngbin0 -> 910 bytes
-rw-r--r--web/static/images/emoji/1f1fa-1f1f8.pngbin0 -> 1324 bytes
-rw-r--r--web/static/images/emoji/1f1fa-1f1fe.pngbin0 -> 1136 bytes
-rw-r--r--web/static/images/emoji/1f1fa-1f1ff.pngbin0 -> 918 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1e6.pngbin0 -> 1366 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1e8.pngbin0 -> 889 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1ea.pngbin0 -> 913 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1ee.pngbin0 -> 2547 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1f3.pngbin0 -> 707 bytes
-rw-r--r--web/static/images/emoji/1f1fb-1f1fa.pngbin0 -> 1642 bytes
-rw-r--r--web/static/images/emoji/1f1fc-1f1eb.pngbin0 -> 347 bytes
-rw-r--r--web/static/images/emoji/1f1fc-1f1f8.pngbin0 -> 738 bytes
-rw-r--r--web/static/images/emoji/1f1fd-1f1f0.pngbin0 -> 1196 bytes
-rw-r--r--web/static/images/emoji/1f1fe-1f1ea.pngbin0 -> 406 bytes
-rw-r--r--web/static/images/emoji/1f1ff-1f1e6.pngbin0 -> 1651 bytes
-rw-r--r--web/static/images/emoji/1f1ff-1f1f2.pngbin0 -> 827 bytes
-rw-r--r--web/static/images/emoji/1f1ff-1f1fc.pngbin0 -> 1567 bytes
-rw-r--r--web/static/images/emoji/1f201.pngbin0 -> 579 bytes
-rw-r--r--web/static/images/emoji/1f202.pngbin0 -> 912 bytes
-rw-r--r--web/static/images/emoji/1f21a.pngbin0 -> 1313 bytes
-rw-r--r--web/static/images/emoji/1f22f.pngbin0 -> 1393 bytes
-rw-r--r--web/static/images/emoji/1f232.pngbin0 -> 1681 bytes
-rw-r--r--web/static/images/emoji/1f233.pngbin0 -> 1097 bytes
-rw-r--r--web/static/images/emoji/1f234.pngbin0 -> 1176 bytes
-rw-r--r--web/static/images/emoji/1f235.pngbin0 -> 1467 bytes
-rw-r--r--web/static/images/emoji/1f236.pngbin0 -> 1015 bytes
-rw-r--r--web/static/images/emoji/1f237.pngbin0 -> 920 bytes
-rw-r--r--web/static/images/emoji/1f238.pngbin0 -> 542 bytes
-rw-r--r--web/static/images/emoji/1f239.pngbin0 -> 931 bytes
-rw-r--r--web/static/images/emoji/1f23a.pngbin0 -> 994 bytes
-rw-r--r--web/static/images/emoji/1f250.pngbin0 -> 2036 bytes
-rw-r--r--web/static/images/emoji/1f251.pngbin0 -> 1301 bytes
-rw-r--r--web/static/images/emoji/1f300.pngbin0 -> 1579 bytes
-rw-r--r--web/static/images/emoji/1f301.pngbin0 -> 2847 bytes
-rw-r--r--web/static/images/emoji/1f302.pngbin0 -> 1594 bytes
-rw-r--r--web/static/images/emoji/1f303.pngbin0 -> 1875 bytes
-rw-r--r--web/static/images/emoji/1f304.pngbin0 -> 2567 bytes
-rw-r--r--web/static/images/emoji/1f305.pngbin0 -> 3151 bytes
-rw-r--r--web/static/images/emoji/1f306.pngbin0 -> 2691 bytes
-rw-r--r--web/static/images/emoji/1f307.pngbin0 -> 2120 bytes
-rw-r--r--web/static/images/emoji/1f308.pngbin0 -> 3007 bytes
-rw-r--r--web/static/images/emoji/1f309.pngbin0 -> 2941 bytes
-rw-r--r--web/static/images/emoji/1f30a.pngbin0 -> 2317 bytes
-rw-r--r--web/static/images/emoji/1f30b.pngbin0 -> 3024 bytes
-rw-r--r--web/static/images/emoji/1f30c.pngbin0 -> 3185 bytes
-rw-r--r--web/static/images/emoji/1f30d.pngbin0 -> 2318 bytes
-rw-r--r--web/static/images/emoji/1f30e.pngbin0 -> 2427 bytes
-rw-r--r--web/static/images/emoji/1f30f.pngbin0 -> 2509 bytes
-rw-r--r--web/static/images/emoji/1f310.pngbin0 -> 2519 bytes
-rw-r--r--web/static/images/emoji/1f311.pngbin0 -> 918 bytes
-rw-r--r--web/static/images/emoji/1f312.pngbin0 -> 1951 bytes
-rw-r--r--web/static/images/emoji/1f313.pngbin0 -> 1820 bytes
-rw-r--r--web/static/images/emoji/1f314.pngbin0 -> 1974 bytes
-rw-r--r--web/static/images/emoji/1f315.pngbin0 -> 1371 bytes
-rw-r--r--web/static/images/emoji/1f316.pngbin0 -> 2036 bytes
-rw-r--r--web/static/images/emoji/1f317.pngbin0 -> 1829 bytes
-rw-r--r--web/static/images/emoji/1f318.pngbin0 -> 1939 bytes
-rw-r--r--web/static/images/emoji/1f319.pngbin0 -> 1233 bytes
-rw-r--r--web/static/images/emoji/1f31a.pngbin0 -> 2518 bytes
-rw-r--r--web/static/images/emoji/1f31b.pngbin0 -> 1481 bytes
-rw-r--r--web/static/images/emoji/1f31c.pngbin0 -> 1684 bytes
-rw-r--r--web/static/images/emoji/1f31d.pngbin0 -> 2622 bytes
-rw-r--r--web/static/images/emoji/1f31e.pngbin0 -> 2002 bytes
-rw-r--r--web/static/images/emoji/1f31f.pngbin0 -> 2067 bytes
-rw-r--r--web/static/images/emoji/1f320.pngbin0 -> 2550 bytes
-rw-r--r--web/static/images/emoji/1f321.pngbin0 -> 834 bytes
-rw-r--r--web/static/images/emoji/1f327.pngbin0 -> 1663 bytes
-rw-r--r--web/static/images/emoji/1f328.pngbin0 -> 2930 bytes
-rw-r--r--web/static/images/emoji/1f329.pngbin0 -> 1056 bytes
-rw-r--r--web/static/images/emoji/1f32a.pngbin0 -> 2131 bytes
-rw-r--r--web/static/images/emoji/1f32b.pngbin0 -> 2799 bytes
-rw-r--r--web/static/images/emoji/1f32c.pngbin0 -> 3192 bytes
-rw-r--r--web/static/images/emoji/1f330.pngbin0 -> 2789 bytes
-rw-r--r--web/static/images/emoji/1f331.pngbin0 -> 1633 bytes
-rw-r--r--web/static/images/emoji/1f332.pngbin0 -> 1028 bytes
-rw-r--r--web/static/images/emoji/1f333.pngbin0 -> 3621 bytes
-rw-r--r--web/static/images/emoji/1f334.pngbin0 -> 2928 bytes
-rw-r--r--web/static/images/emoji/1f335.pngbin0 -> 2236 bytes
-rw-r--r--web/static/images/emoji/1f336.pngbin0 -> 2828 bytes
-rw-r--r--web/static/images/emoji/1f337.pngbin0 -> 1813 bytes
-rw-r--r--web/static/images/emoji/1f338.pngbin0 -> 3398 bytes
-rw-r--r--web/static/images/emoji/1f339.pngbin0 -> 1782 bytes
-rw-r--r--web/static/images/emoji/1f33a.pngbin0 -> 2466 bytes
-rw-r--r--web/static/images/emoji/1f33b.pngbin0 -> 3259 bytes
-rw-r--r--web/static/images/emoji/1f33c.pngbin0 -> 2061 bytes
-rw-r--r--web/static/images/emoji/1f33d.pngbin0 -> 2872 bytes
-rw-r--r--web/static/images/emoji/1f33e.pngbin0 -> 2154 bytes
-rw-r--r--web/static/images/emoji/1f33f.pngbin0 -> 2437 bytes
-rw-r--r--web/static/images/emoji/1f340.pngbin0 -> 1649 bytes
-rw-r--r--web/static/images/emoji/1f341.pngbin0 -> 2400 bytes
-rw-r--r--web/static/images/emoji/1f342.pngbin0 -> 2499 bytes
-rw-r--r--web/static/images/emoji/1f343.pngbin0 -> 2842 bytes
-rw-r--r--web/static/images/emoji/1f344.pngbin0 -> 1903 bytes
-rw-r--r--web/static/images/emoji/1f345.pngbin0 -> 1872 bytes
-rw-r--r--web/static/images/emoji/1f346.pngbin0 -> 1740 bytes
-rw-r--r--web/static/images/emoji/1f347.pngbin0 -> 1860 bytes
-rw-r--r--web/static/images/emoji/1f348.pngbin0 -> 2931 bytes
-rw-r--r--web/static/images/emoji/1f349.pngbin0 -> 2545 bytes
-rw-r--r--web/static/images/emoji/1f34a.pngbin0 -> 1823 bytes
-rw-r--r--web/static/images/emoji/1f34b.pngbin0 -> 1776 bytes
-rw-r--r--web/static/images/emoji/1f34c.pngbin0 -> 2206 bytes
-rw-r--r--web/static/images/emoji/1f34d.pngbin0 -> 3199 bytes
-rw-r--r--web/static/images/emoji/1f34e.pngbin0 -> 1554 bytes
-rw-r--r--web/static/images/emoji/1f34f.pngbin0 -> 1436 bytes
-rw-r--r--web/static/images/emoji/1f350.pngbin0 -> 1450 bytes
-rw-r--r--web/static/images/emoji/1f351.pngbin0 -> 1129 bytes
-rw-r--r--web/static/images/emoji/1f352.pngbin0 -> 2412 bytes
-rw-r--r--web/static/images/emoji/1f353.pngbin0 -> 2836 bytes
-rw-r--r--web/static/images/emoji/1f354.pngbin0 -> 2608 bytes
-rw-r--r--web/static/images/emoji/1f355.pngbin0 -> 3322 bytes
-rw-r--r--web/static/images/emoji/1f356.pngbin0 -> 1969 bytes
-rw-r--r--web/static/images/emoji/1f357.pngbin0 -> 1371 bytes
-rw-r--r--web/static/images/emoji/1f358.pngbin0 -> 2096 bytes
-rw-r--r--web/static/images/emoji/1f359.pngbin0 -> 3244 bytes
-rw-r--r--web/static/images/emoji/1f35a.pngbin0 -> 1855 bytes
-rw-r--r--web/static/images/emoji/1f35b.pngbin0 -> 2805 bytes
-rw-r--r--web/static/images/emoji/1f35c.pngbin0 -> 3894 bytes
-rw-r--r--web/static/images/emoji/1f35d.pngbin0 -> 3191 bytes
-rw-r--r--web/static/images/emoji/1f35e.pngbin0 -> 1687 bytes
-rw-r--r--web/static/images/emoji/1f35f.pngbin0 -> 3028 bytes
-rw-r--r--web/static/images/emoji/1f360.pngbin0 -> 1814 bytes
-rw-r--r--web/static/images/emoji/1f361.pngbin0 -> 2448 bytes
-rw-r--r--web/static/images/emoji/1f362.pngbin0 -> 2142 bytes
-rw-r--r--web/static/images/emoji/1f363.pngbin0 -> 2939 bytes
-rw-r--r--web/static/images/emoji/1f364.pngbin0 -> 2111 bytes
-rw-r--r--web/static/images/emoji/1f365.pngbin0 -> 2701 bytes
-rw-r--r--web/static/images/emoji/1f366.pngbin0 -> 2862 bytes
-rw-r--r--web/static/images/emoji/1f367.pngbin0 -> 2470 bytes
-rw-r--r--web/static/images/emoji/1f368.pngbin0 -> 1117 bytes
-rw-r--r--web/static/images/emoji/1f369.pngbin0 -> 2267 bytes
-rw-r--r--web/static/images/emoji/1f36a.pngbin0 -> 2178 bytes
-rw-r--r--web/static/images/emoji/1f36b.pngbin0 -> 2073 bytes
-rw-r--r--web/static/images/emoji/1f36c.pngbin0 -> 2075 bytes
-rw-r--r--web/static/images/emoji/1f36d.pngbin0 -> 2409 bytes
-rw-r--r--web/static/images/emoji/1f36e.pngbin0 -> 2601 bytes
-rw-r--r--web/static/images/emoji/1f36f.pngbin0 -> 2425 bytes
-rw-r--r--web/static/images/emoji/1f370.pngbin0 -> 3323 bytes
-rw-r--r--web/static/images/emoji/1f371.pngbin0 -> 3436 bytes
-rw-r--r--web/static/images/emoji/1f372.pngbin0 -> 3337 bytes
-rw-r--r--web/static/images/emoji/1f373.pngbin0 -> 2272 bytes
-rw-r--r--web/static/images/emoji/1f374.pngbin0 -> 1055 bytes
-rw-r--r--web/static/images/emoji/1f375.pngbin0 -> 3072 bytes
-rw-r--r--web/static/images/emoji/1f376.pngbin0 -> 2181 bytes
-rw-r--r--web/static/images/emoji/1f377.pngbin0 -> 1707 bytes
-rw-r--r--web/static/images/emoji/1f378.pngbin0 -> 1863 bytes
-rw-r--r--web/static/images/emoji/1f379.pngbin0 -> 2228 bytes
-rw-r--r--web/static/images/emoji/1f37a.pngbin0 -> 2213 bytes
-rw-r--r--web/static/images/emoji/1f37b.pngbin0 -> 3398 bytes
-rw-r--r--web/static/images/emoji/1f37c.pngbin0 -> 2485 bytes
-rw-r--r--web/static/images/emoji/1f37d.pngbin0 -> 2552 bytes
-rw-r--r--web/static/images/emoji/1f380.pngbin0 -> 1583 bytes
-rw-r--r--web/static/images/emoji/1f381.pngbin0 -> 2876 bytes
-rw-r--r--web/static/images/emoji/1f382.pngbin0 -> 3583 bytes
-rw-r--r--web/static/images/emoji/1f383.pngbin0 -> 2263 bytes
-rw-r--r--web/static/images/emoji/1f384.pngbin0 -> 1803 bytes
-rw-r--r--web/static/images/emoji/1f385.pngbin0 -> 3413 bytes
-rw-r--r--web/static/images/emoji/1f386.pngbin0 -> 3635 bytes
-rw-r--r--web/static/images/emoji/1f387.pngbin0 -> 2420 bytes
-rw-r--r--web/static/images/emoji/1f388.pngbin0 -> 1422 bytes
-rw-r--r--web/static/images/emoji/1f389.pngbin0 -> 3788 bytes
-rw-r--r--web/static/images/emoji/1f38a.pngbin0 -> 3925 bytes
-rw-r--r--web/static/images/emoji/1f38b.pngbin0 -> 1995 bytes
-rw-r--r--web/static/images/emoji/1f38c.pngbin0 -> 2047 bytes
-rw-r--r--web/static/images/emoji/1f38d.pngbin0 -> 1306 bytes
-rw-r--r--web/static/images/emoji/1f38e.pngbin0 -> 3118 bytes
-rw-r--r--web/static/images/emoji/1f38f.pngbin0 -> 1769 bytes
-rw-r--r--web/static/images/emoji/1f390.pngbin0 -> 1581 bytes
-rw-r--r--web/static/images/emoji/1f391.pngbin0 -> 2537 bytes
-rw-r--r--web/static/images/emoji/1f392.pngbin0 -> 918 bytes
-rw-r--r--web/static/images/emoji/1f393.pngbin0 -> 2038 bytes
-rw-r--r--web/static/images/emoji/1f394.pngbin0 -> 1318 bytes
-rw-r--r--web/static/images/emoji/1f395.pngbin0 -> 3171 bytes
-rw-r--r--web/static/images/emoji/1f396.pngbin0 -> 1125 bytes
-rw-r--r--web/static/images/emoji/1f397.pngbin0 -> 1510 bytes
-rw-r--r--web/static/images/emoji/1f398.pngbin0 -> 1625 bytes
-rw-r--r--web/static/images/emoji/1f399.pngbin0 -> 2054 bytes
-rw-r--r--web/static/images/emoji/1f39a.pngbin0 -> 793 bytes
-rw-r--r--web/static/images/emoji/1f39b.pngbin0 -> 2691 bytes
-rw-r--r--web/static/images/emoji/1f39c.pngbin0 -> 1305 bytes
-rw-r--r--web/static/images/emoji/1f39d.pngbin0 -> 1277 bytes
-rw-r--r--web/static/images/emoji/1f39e.pngbin0 -> 3307 bytes
-rw-r--r--web/static/images/emoji/1f39f.pngbin0 -> 3790 bytes
-rw-r--r--web/static/images/emoji/1f3a0.pngbin0 -> 2479 bytes
-rw-r--r--web/static/images/emoji/1f3a1.pngbin0 -> 2474 bytes
-rw-r--r--web/static/images/emoji/1f3a2.pngbin0 -> 2869 bytes
-rw-r--r--web/static/images/emoji/1f3a3.pngbin0 -> 2078 bytes
-rw-r--r--web/static/images/emoji/1f3a4.pngbin0 -> 2823 bytes
-rw-r--r--web/static/images/emoji/1f3a5.pngbin0 -> 1491 bytes
-rw-r--r--web/static/images/emoji/1f3a6.pngbin0 -> 1269 bytes
-rw-r--r--web/static/images/emoji/1f3a7.pngbin0 -> 1693 bytes
-rw-r--r--web/static/images/emoji/1f3a8.pngbin0 -> 2139 bytes
-rw-r--r--web/static/images/emoji/1f3a9.pngbin0 -> 1974 bytes
-rw-r--r--web/static/images/emoji/1f3aa.pngbin0 -> 2473 bytes
-rw-r--r--web/static/images/emoji/1f3ab.pngbin0 -> 771 bytes
-rw-r--r--web/static/images/emoji/1f3ac.pngbin0 -> 1703 bytes
-rw-r--r--web/static/images/emoji/1f3ad.pngbin0 -> 2773 bytes
-rw-r--r--web/static/images/emoji/1f3ae.pngbin0 -> 2065 bytes
-rw-r--r--web/static/images/emoji/1f3af.pngbin0 -> 3044 bytes
-rw-r--r--web/static/images/emoji/1f3b0.pngbin0 -> 1502 bytes
-rw-r--r--web/static/images/emoji/1f3b1.pngbin0 -> 2177 bytes
-rw-r--r--web/static/images/emoji/1f3b2.pngbin0 -> 2043 bytes
-rw-r--r--web/static/images/emoji/1f3b3.pngbin0 -> 2308 bytes
-rw-r--r--web/static/images/emoji/1f3b4.pngbin0 -> 1055 bytes
-rw-r--r--web/static/images/emoji/1f3b5.pngbin0 -> 1255 bytes
-rw-r--r--web/static/images/emoji/1f3b6.pngbin0 -> 1737 bytes
-rw-r--r--web/static/images/emoji/1f3b7.pngbin0 -> 2419 bytes
-rw-r--r--web/static/images/emoji/1f3b8.pngbin0 -> 2052 bytes
-rw-r--r--web/static/images/emoji/1f3b9.pngbin0 -> 998 bytes
-rw-r--r--web/static/images/emoji/1f3ba.pngbin0 -> 2813 bytes
-rw-r--r--web/static/images/emoji/1f3bb.pngbin0 -> 2418 bytes
-rw-r--r--web/static/images/emoji/1f3bc.pngbin0 -> 946 bytes
-rw-r--r--web/static/images/emoji/1f3bd.pngbin0 -> 1945 bytes
-rw-r--r--web/static/images/emoji/1f3be.pngbin0 -> 1894 bytes
-rw-r--r--web/static/images/emoji/1f3bf.pngbin0 -> 2259 bytes
-rw-r--r--web/static/images/emoji/1f3c0.pngbin0 -> 2673 bytes
-rw-r--r--web/static/images/emoji/1f3c1.pngbin0 -> 2277 bytes
-rw-r--r--web/static/images/emoji/1f3c2.pngbin0 -> 3121 bytes
-rw-r--r--web/static/images/emoji/1f3c3.pngbin0 -> 1219 bytes
-rw-r--r--web/static/images/emoji/1f3c4.pngbin0 -> 1973 bytes
-rw-r--r--web/static/images/emoji/1f3c5.pngbin0 -> 2656 bytes
-rw-r--r--web/static/images/emoji/1f3c6.pngbin0 -> 2662 bytes
-rw-r--r--web/static/images/emoji/1f3c7.pngbin0 -> 1739 bytes
-rw-r--r--web/static/images/emoji/1f3c8.pngbin0 -> 2786 bytes
-rw-r--r--web/static/images/emoji/1f3c9.pngbin0 -> 2012 bytes
-rw-r--r--web/static/images/emoji/1f3ca.pngbin0 -> 1866 bytes
-rw-r--r--web/static/images/emoji/1f3cb.pngbin0 -> 1415 bytes
-rw-r--r--web/static/images/emoji/1f3cc.pngbin0 -> 2075 bytes
-rw-r--r--web/static/images/emoji/1f3cd.pngbin0 -> 3611 bytes
-rw-r--r--web/static/images/emoji/1f3ce.pngbin0 -> 3134 bytes
-rw-r--r--web/static/images/emoji/1f3d4.pngbin0 -> 2628 bytes
-rw-r--r--web/static/images/emoji/1f3d5.pngbin0 -> 2369 bytes
-rw-r--r--web/static/images/emoji/1f3d6.pngbin0 -> 2711 bytes
-rw-r--r--web/static/images/emoji/1f3d7.pngbin0 -> 2545 bytes
-rw-r--r--web/static/images/emoji/1f3d8.pngbin0 -> 2627 bytes
-rw-r--r--web/static/images/emoji/1f3d9.pngbin0 -> 2310 bytes
-rw-r--r--web/static/images/emoji/1f3da.pngbin0 -> 3253 bytes
-rw-r--r--web/static/images/emoji/1f3db.pngbin0 -> 1871 bytes
-rw-r--r--web/static/images/emoji/1f3dc.pngbin0 -> 2260 bytes
-rw-r--r--web/static/images/emoji/1f3dd.pngbin0 -> 2974 bytes
-rw-r--r--web/static/images/emoji/1f3de.pngbin0 -> 1722 bytes
-rw-r--r--web/static/images/emoji/1f3df.pngbin0 -> 4111 bytes
-rw-r--r--web/static/images/emoji/1f3e0.pngbin0 -> 1914 bytes
-rw-r--r--web/static/images/emoji/1f3e1.pngbin0 -> 3251 bytes
-rw-r--r--web/static/images/emoji/1f3e2.pngbin0 -> 771 bytes
-rw-r--r--web/static/images/emoji/1f3e3.pngbin0 -> 975 bytes
-rw-r--r--web/static/images/emoji/1f3e4.pngbin0 -> 1018 bytes
-rw-r--r--web/static/images/emoji/1f3e5.pngbin0 -> 918 bytes
-rw-r--r--web/static/images/emoji/1f3e6.pngbin0 -> 1185 bytes
-rw-r--r--web/static/images/emoji/1f3e7.pngbin0 -> 1852 bytes
-rw-r--r--web/static/images/emoji/1f3e8.pngbin0 -> 841 bytes
-rw-r--r--web/static/images/emoji/1f3e9.pngbin0 -> 1232 bytes
-rw-r--r--web/static/images/emoji/1f3ea.pngbin0 -> 1284 bytes
-rw-r--r--web/static/images/emoji/1f3eb.pngbin0 -> 1434 bytes
-rw-r--r--web/static/images/emoji/1f3ec.pngbin0 -> 1241 bytes
-rw-r--r--web/static/images/emoji/1f3ed.pngbin0 -> 1205 bytes
-rw-r--r--web/static/images/emoji/1f3ee.pngbin0 -> 1042 bytes
-rw-r--r--web/static/images/emoji/1f3ef.pngbin0 -> 755 bytes
-rw-r--r--web/static/images/emoji/1f3f0.pngbin0 -> 853 bytes
-rw-r--r--web/static/images/emoji/1f3f1.pngbin0 -> 2163 bytes
-rw-r--r--web/static/images/emoji/1f3f2.pngbin0 -> 2033 bytes
-rw-r--r--web/static/images/emoji/1f3f3.pngbin0 -> 2233 bytes
-rw-r--r--web/static/images/emoji/1f3f4.pngbin0 -> 2164 bytes
-rw-r--r--web/static/images/emoji/1f3f5.pngbin0 -> 2083 bytes
-rw-r--r--web/static/images/emoji/1f3f6.pngbin0 -> 2031 bytes
-rw-r--r--web/static/images/emoji/1f3f7.pngbin0 -> 2895 bytes
-rw-r--r--web/static/images/emoji/1f400.pngbin0 -> 1714 bytes
-rw-r--r--web/static/images/emoji/1f401.pngbin0 -> 1854 bytes
-rw-r--r--web/static/images/emoji/1f402.pngbin0 -> 2815 bytes
-rw-r--r--web/static/images/emoji/1f403.pngbin0 -> 2940 bytes
-rw-r--r--web/static/images/emoji/1f404.pngbin0 -> 1729 bytes
-rw-r--r--web/static/images/emoji/1f405.pngbin0 -> 4135 bytes
-rw-r--r--web/static/images/emoji/1f406.pngbin0 -> 3543 bytes
-rw-r--r--web/static/images/emoji/1f407.pngbin0 -> 1994 bytes
-rw-r--r--web/static/images/emoji/1f408.pngbin0 -> 3085 bytes
-rw-r--r--web/static/images/emoji/1f409.pngbin0 -> 2618 bytes
-rw-r--r--web/static/images/emoji/1f40a.pngbin0 -> 1649 bytes
-rw-r--r--web/static/images/emoji/1f40b.pngbin0 -> 2399 bytes
-rw-r--r--web/static/images/emoji/1f40c.pngbin0 -> 2699 bytes
-rw-r--r--web/static/images/emoji/1f40d.pngbin0 -> 2461 bytes
-rw-r--r--web/static/images/emoji/1f40e.pngbin0 -> 2255 bytes
-rw-r--r--web/static/images/emoji/1f40f.pngbin0 -> 2292 bytes
-rw-r--r--web/static/images/emoji/1f410.pngbin0 -> 1928 bytes
-rw-r--r--web/static/images/emoji/1f411.pngbin0 -> 1828 bytes
-rw-r--r--web/static/images/emoji/1f412.pngbin0 -> 2415 bytes
-rw-r--r--web/static/images/emoji/1f413.pngbin0 -> 2508 bytes
-rw-r--r--web/static/images/emoji/1f414.pngbin0 -> 2564 bytes
-rw-r--r--web/static/images/emoji/1f415.pngbin0 -> 2293 bytes
-rw-r--r--web/static/images/emoji/1f416.pngbin0 -> 2473 bytes
-rw-r--r--web/static/images/emoji/1f417.pngbin0 -> 3695 bytes
-rw-r--r--web/static/images/emoji/1f418.pngbin0 -> 1973 bytes
-rw-r--r--web/static/images/emoji/1f419.pngbin0 -> 2820 bytes
-rw-r--r--web/static/images/emoji/1f41a.pngbin0 -> 1478 bytes
-rw-r--r--web/static/images/emoji/1f41b.pngbin0 -> 2515 bytes
-rw-r--r--web/static/images/emoji/1f41c.pngbin0 -> 2110 bytes
-rw-r--r--web/static/images/emoji/1f41d.pngbin0 -> 2243 bytes
-rw-r--r--web/static/images/emoji/1f41e.pngbin0 -> 3039 bytes
-rw-r--r--web/static/images/emoji/1f41f.pngbin0 -> 2403 bytes
-rw-r--r--web/static/images/emoji/1f420.pngbin0 -> 2610 bytes
-rw-r--r--web/static/images/emoji/1f421.pngbin0 -> 3132 bytes
-rw-r--r--web/static/images/emoji/1f422.pngbin0 -> 2441 bytes
-rw-r--r--web/static/images/emoji/1f423.pngbin0 -> 2372 bytes
-rw-r--r--web/static/images/emoji/1f424.pngbin0 -> 2094 bytes
-rw-r--r--web/static/images/emoji/1f425.pngbin0 -> 1936 bytes
-rw-r--r--web/static/images/emoji/1f426.pngbin0 -> 2041 bytes
-rw-r--r--web/static/images/emoji/1f427.pngbin0 -> 2412 bytes
-rw-r--r--web/static/images/emoji/1f428.pngbin0 -> 2454 bytes
-rw-r--r--web/static/images/emoji/1f429.pngbin0 -> 2342 bytes
-rw-r--r--web/static/images/emoji/1f42a.pngbin0 -> 2022 bytes
-rw-r--r--web/static/images/emoji/1f42b.pngbin0 -> 2025 bytes
-rw-r--r--web/static/images/emoji/1f42c.pngbin0 -> 1980 bytes
-rw-r--r--web/static/images/emoji/1f42d.pngbin0 -> 2384 bytes
-rw-r--r--web/static/images/emoji/1f42e.pngbin0 -> 2464 bytes
-rw-r--r--web/static/images/emoji/1f42f.pngbin0 -> 4005 bytes
-rw-r--r--web/static/images/emoji/1f430.pngbin0 -> 2296 bytes
-rw-r--r--web/static/images/emoji/1f431.pngbin0 -> 3912 bytes
-rw-r--r--web/static/images/emoji/1f432.pngbin0 -> 2518 bytes
-rw-r--r--web/static/images/emoji/1f433.pngbin0 -> 2469 bytes
-rw-r--r--web/static/images/emoji/1f434.pngbin0 -> 2460 bytes
-rw-r--r--web/static/images/emoji/1f435.pngbin0 -> 2837 bytes
-rw-r--r--web/static/images/emoji/1f436.pngbin0 -> 2609 bytes
-rw-r--r--web/static/images/emoji/1f437.pngbin0 -> 3318 bytes
-rw-r--r--web/static/images/emoji/1f438.pngbin0 -> 2385 bytes
-rw-r--r--web/static/images/emoji/1f439.pngbin0 -> 3265 bytes
-rw-r--r--web/static/images/emoji/1f43a.pngbin0 -> 3589 bytes
-rw-r--r--web/static/images/emoji/1f43b.pngbin0 -> 2747 bytes
-rw-r--r--web/static/images/emoji/1f43c.pngbin0 -> 2580 bytes
-rw-r--r--web/static/images/emoji/1f43d.pngbin0 -> 1546 bytes
-rw-r--r--web/static/images/emoji/1f43e.pngbin0 -> 1451 bytes
-rw-r--r--web/static/images/emoji/1f43f.pngbin0 -> 3872 bytes
-rw-r--r--web/static/images/emoji/1f440.pngbin0 -> 2037 bytes
-rw-r--r--web/static/images/emoji/1f441.pngbin0 -> 2701 bytes
-rw-r--r--web/static/images/emoji/1f442.pngbin0 -> 1496 bytes
-rw-r--r--web/static/images/emoji/1f443.pngbin0 -> 1243 bytes
-rw-r--r--web/static/images/emoji/1f444.pngbin0 -> 1556 bytes
-rw-r--r--web/static/images/emoji/1f445.pngbin0 -> 1157 bytes
-rw-r--r--web/static/images/emoji/1f446.pngbin0 -> 1267 bytes
-rw-r--r--web/static/images/emoji/1f447.pngbin0 -> 1304 bytes
-rw-r--r--web/static/images/emoji/1f448.pngbin0 -> 615 bytes
-rw-r--r--web/static/images/emoji/1f449.pngbin0 -> 1294 bytes
-rw-r--r--web/static/images/emoji/1f44a.pngbin0 -> 1892 bytes
-rw-r--r--web/static/images/emoji/1f44b.pngbin0 -> 2210 bytes
-rw-r--r--web/static/images/emoji/1f44c.pngbin0 -> 1893 bytes
-rw-r--r--web/static/images/emoji/1f44d.pngbin0 -> 1714 bytes
-rw-r--r--web/static/images/emoji/1f44e.pngbin0 -> 1604 bytes
-rw-r--r--web/static/images/emoji/1f44f.pngbin0 -> 2203 bytes
-rw-r--r--web/static/images/emoji/1f450.pngbin0 -> 2210 bytes
-rw-r--r--web/static/images/emoji/1f451.pngbin0 -> 2520 bytes
-rw-r--r--web/static/images/emoji/1f452.pngbin0 -> 2769 bytes
-rw-r--r--web/static/images/emoji/1f453.pngbin0 -> 1784 bytes
-rw-r--r--web/static/images/emoji/1f454.pngbin0 -> 2115 bytes
-rw-r--r--web/static/images/emoji/1f455.pngbin0 -> 2017 bytes
-rw-r--r--web/static/images/emoji/1f456.pngbin0 -> 1298 bytes
-rw-r--r--web/static/images/emoji/1f457.pngbin0 -> 2033 bytes
-rw-r--r--web/static/images/emoji/1f458.pngbin0 -> 2913 bytes
-rw-r--r--web/static/images/emoji/1f459.pngbin0 -> 1885 bytes
-rw-r--r--web/static/images/emoji/1f45a.pngbin0 -> 1775 bytes
-rw-r--r--web/static/images/emoji/1f45b.pngbin0 -> 1678 bytes
-rw-r--r--web/static/images/emoji/1f45c.pngbin0 -> 1982 bytes
-rw-r--r--web/static/images/emoji/1f45d.pngbin0 -> 1593 bytes
-rw-r--r--web/static/images/emoji/1f45e.pngbin0 -> 1529 bytes
-rw-r--r--web/static/images/emoji/1f45f.pngbin0 -> 1369 bytes
-rw-r--r--web/static/images/emoji/1f460.pngbin0 -> 1804 bytes
-rw-r--r--web/static/images/emoji/1f461.pngbin0 -> 1683 bytes
-rw-r--r--web/static/images/emoji/1f462.pngbin0 -> 1411 bytes
-rw-r--r--web/static/images/emoji/1f463.pngbin0 -> 1766 bytes
-rw-r--r--web/static/images/emoji/1f464.pngbin0 -> 993 bytes
-rw-r--r--web/static/images/emoji/1f465.pngbin0 -> 1232 bytes
-rw-r--r--web/static/images/emoji/1f466.pngbin0 -> 1992 bytes
-rw-r--r--web/static/images/emoji/1f467.pngbin0 -> 1514 bytes
-rw-r--r--web/static/images/emoji/1f468-1f468-1f466-1f466.pngbin0 -> 3839 bytes
-rw-r--r--web/static/images/emoji/1f468-1f468-1f466.pngbin0 -> 3440 bytes
-rw-r--r--web/static/images/emoji/1f468-1f468-1f467-1f466.pngbin0 -> 4239 bytes
-rw-r--r--web/static/images/emoji/1f468-1f468-1f467-1f467.pngbin0 -> 4454 bytes
-rw-r--r--web/static/images/emoji/1f468-1f468-1f467.pngbin0 -> 3794 bytes
-rw-r--r--web/static/images/emoji/1f468-1f469-1f466-1f466.pngbin0 -> 4432 bytes
-rw-r--r--web/static/images/emoji/1f468-1f469-1f467-1f466.pngbin0 -> 4831 bytes
-rw-r--r--web/static/images/emoji/1f468-1f469-1f467-1f467.pngbin0 -> 5158 bytes
-rw-r--r--web/static/images/emoji/1f468-1f469-1f467.pngbin0 -> 4424 bytes
-rw-r--r--web/static/images/emoji/1f468-2764-1f468.pngbin0 -> 1773 bytes
-rw-r--r--web/static/images/emoji/1f468-2764-1f48b-1f468.pngbin0 -> 1604 bytes
-rw-r--r--web/static/images/emoji/1f468.pngbin0 -> 1303 bytes
-rw-r--r--web/static/images/emoji/1f469-1f469-1f466-1f466.pngbin0 -> 4760 bytes
-rw-r--r--web/static/images/emoji/1f469-1f469-1f466.pngbin0 -> 4524 bytes
-rw-r--r--web/static/images/emoji/1f469-1f469-1f467-1f466.pngbin0 -> 5200 bytes
-rw-r--r--web/static/images/emoji/1f469-1f469-1f467-1f467.pngbin0 -> 5472 bytes
-rw-r--r--web/static/images/emoji/1f469-1f469-1f467.pngbin0 -> 4932 bytes
-rw-r--r--web/static/images/emoji/1f469-2764-1f469.pngbin0 -> 4267 bytes
-rw-r--r--web/static/images/emoji/1f469-2764-1f48b-1f469.pngbin0 -> 2534 bytes
-rw-r--r--web/static/images/emoji/1f469.pngbin0 -> 1862 bytes
-rw-r--r--web/static/images/emoji/1f46a.pngbin0 -> 4120 bytes
-rw-r--r--web/static/images/emoji/1f46b.pngbin0 -> 2209 bytes
-rw-r--r--web/static/images/emoji/1f46c.pngbin0 -> 1670 bytes
-rw-r--r--web/static/images/emoji/1f46d.pngbin0 -> 2395 bytes
-rw-r--r--web/static/images/emoji/1f46e.pngbin0 -> 3057 bytes
-rw-r--r--web/static/images/emoji/1f46f.pngbin0 -> 2855 bytes
-rw-r--r--web/static/images/emoji/1f470.pngbin0 -> 3448 bytes
-rw-r--r--web/static/images/emoji/1f471.pngbin0 -> 1501 bytes
-rw-r--r--web/static/images/emoji/1f472.pngbin0 -> 1722 bytes
-rw-r--r--web/static/images/emoji/1f473.pngbin0 -> 2482 bytes
-rw-r--r--web/static/images/emoji/1f474.pngbin0 -> 1434 bytes
-rw-r--r--web/static/images/emoji/1f475.pngbin0 -> 1642 bytes
-rw-r--r--web/static/images/emoji/1f476.pngbin0 -> 2436 bytes
-rw-r--r--web/static/images/emoji/1f477.pngbin0 -> 2401 bytes
-rw-r--r--web/static/images/emoji/1f478.pngbin0 -> 3119 bytes
-rw-r--r--web/static/images/emoji/1f479.pngbin0 -> 4549 bytes
-rw-r--r--web/static/images/emoji/1f47a.pngbin0 -> 2789 bytes
-rw-r--r--web/static/images/emoji/1f47b.pngbin0 -> 1827 bytes
-rw-r--r--web/static/images/emoji/1f47c.pngbin0 -> 1826 bytes
-rw-r--r--web/static/images/emoji/1f47d.pngbin0 -> 2500 bytes
-rw-r--r--web/static/images/emoji/1f47e.pngbin0 -> 660 bytes
-rw-r--r--web/static/images/emoji/1f47f.pngbin0 -> 2467 bytes
-rw-r--r--web/static/images/emoji/1f480.pngbin0 -> 1689 bytes
-rw-r--r--web/static/images/emoji/1f481.pngbin0 -> 3314 bytes
-rw-r--r--web/static/images/emoji/1f482.pngbin0 -> 1491 bytes
-rw-r--r--web/static/images/emoji/1f483.pngbin0 -> 1554 bytes
-rw-r--r--web/static/images/emoji/1f484.pngbin0 -> 832 bytes
-rw-r--r--web/static/images/emoji/1f485.pngbin0 -> 2297 bytes
-rw-r--r--web/static/images/emoji/1f486.pngbin0 -> 3318 bytes
-rw-r--r--web/static/images/emoji/1f487.pngbin0 -> 3985 bytes
-rw-r--r--web/static/images/emoji/1f488.pngbin0 -> 1771 bytes
-rw-r--r--web/static/images/emoji/1f489.pngbin0 -> 1286 bytes
-rw-r--r--web/static/images/emoji/1f48a.pngbin0 -> 1010 bytes
-rw-r--r--web/static/images/emoji/1f48b.pngbin0 -> 1692 bytes
-rw-r--r--web/static/images/emoji/1f48c.pngbin0 -> 1878 bytes
-rw-r--r--web/static/images/emoji/1f48d.pngbin0 -> 2902 bytes
-rw-r--r--web/static/images/emoji/1f48e.pngbin0 -> 1769 bytes
-rw-r--r--web/static/images/emoji/1f48f.pngbin0 -> 3350 bytes
-rw-r--r--web/static/images/emoji/1f490.pngbin0 -> 3694 bytes
-rw-r--r--web/static/images/emoji/1f491.pngbin0 -> 3737 bytes
-rw-r--r--web/static/images/emoji/1f492.pngbin0 -> 2594 bytes
-rw-r--r--web/static/images/emoji/1f493.pngbin0 -> 1720 bytes
-rw-r--r--web/static/images/emoji/1f494.pngbin0 -> 1703 bytes
-rw-r--r--web/static/images/emoji/1f495.pngbin0 -> 1485 bytes
-rw-r--r--web/static/images/emoji/1f496.pngbin0 -> 1979 bytes
-rw-r--r--web/static/images/emoji/1f497.pngbin0 -> 2240 bytes
-rw-r--r--web/static/images/emoji/1f498.pngbin0 -> 2004 bytes
-rw-r--r--web/static/images/emoji/1f499.pngbin0 -> 1226 bytes
-rw-r--r--web/static/images/emoji/1f49a.pngbin0 -> 1207 bytes
-rw-r--r--web/static/images/emoji/1f49b.pngbin0 -> 1218 bytes
-rw-r--r--web/static/images/emoji/1f49c.pngbin0 -> 1217 bytes
-rw-r--r--web/static/images/emoji/1f49d.pngbin0 -> 2059 bytes
-rw-r--r--web/static/images/emoji/1f49e.pngbin0 -> 2193 bytes
-rw-r--r--web/static/images/emoji/1f49f.pngbin0 -> 1072 bytes
-rw-r--r--web/static/images/emoji/1f4a0.pngbin0 -> 1680 bytes
-rw-r--r--web/static/images/emoji/1f4a1.pngbin0 -> 2472 bytes
-rw-r--r--web/static/images/emoji/1f4a2.pngbin0 -> 1434 bytes
-rw-r--r--web/static/images/emoji/1f4a3.pngbin0 -> 2226 bytes
-rw-r--r--web/static/images/emoji/1f4a4.pngbin0 -> 1214 bytes
-rw-r--r--web/static/images/emoji/1f4a5.pngbin0 -> 2389 bytes
-rw-r--r--web/static/images/emoji/1f4a6.pngbin0 -> 1215 bytes
-rw-r--r--web/static/images/emoji/1f4a7.pngbin0 -> 1090 bytes
-rw-r--r--web/static/images/emoji/1f4a8.pngbin0 -> 1829 bytes
-rw-r--r--web/static/images/emoji/1f4a9.pngbin0 -> 3991 bytes
-rw-r--r--web/static/images/emoji/1f4aa.pngbin0 -> 1731 bytes
-rw-r--r--web/static/images/emoji/1f4ab.pngbin0 -> 1701 bytes
-rw-r--r--web/static/images/emoji/1f4ac.pngbin0 -> 1289 bytes
-rw-r--r--web/static/images/emoji/1f4ad.pngbin0 -> 1040 bytes
-rw-r--r--web/static/images/emoji/1f4ae.pngbin0 -> 2428 bytes
-rw-r--r--web/static/images/emoji/1f4af.pngbin0 -> 2196 bytes
-rw-r--r--web/static/images/emoji/1f4b0.pngbin0 -> 1953 bytes
-rw-r--r--web/static/images/emoji/1f4b1.pngbin0 -> 1625 bytes
-rw-r--r--web/static/images/emoji/1f4b2.pngbin0 -> 1134 bytes
-rw-r--r--web/static/images/emoji/1f4b3.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/1f4b4.pngbin0 -> 1365 bytes
-rw-r--r--web/static/images/emoji/1f4b5.pngbin0 -> 1579 bytes
-rw-r--r--web/static/images/emoji/1f4b6.pngbin0 -> 1578 bytes
-rw-r--r--web/static/images/emoji/1f4b7.pngbin0 -> 1464 bytes
-rw-r--r--web/static/images/emoji/1f4b8.pngbin0 -> 2699 bytes
-rw-r--r--web/static/images/emoji/1f4b9.pngbin0 -> 1448 bytes
-rw-r--r--web/static/images/emoji/1f4ba.pngbin0 -> 2569 bytes
-rw-r--r--web/static/images/emoji/1f4bb.pngbin0 -> 1436 bytes
-rw-r--r--web/static/images/emoji/1f4bc.pngbin0 -> 1042 bytes
-rw-r--r--web/static/images/emoji/1f4bd.pngbin0 -> 1449 bytes
-rw-r--r--web/static/images/emoji/1f4be.pngbin0 -> 523 bytes
-rw-r--r--web/static/images/emoji/1f4bf.pngbin0 -> 1809 bytes
-rw-r--r--web/static/images/emoji/1f4c0.pngbin0 -> 1951 bytes
-rw-r--r--web/static/images/emoji/1f4c1.pngbin0 -> 1746 bytes
-rw-r--r--web/static/images/emoji/1f4c2.pngbin0 -> 1870 bytes
-rw-r--r--web/static/images/emoji/1f4c3.pngbin0 -> 1117 bytes
-rw-r--r--web/static/images/emoji/1f4c4.pngbin0 -> 840 bytes
-rw-r--r--web/static/images/emoji/1f4c5.pngbin0 -> 1365 bytes
-rw-r--r--web/static/images/emoji/1f4c6.pngbin0 -> 1241 bytes
-rw-r--r--web/static/images/emoji/1f4c7.pngbin0 -> 1350 bytes
-rw-r--r--web/static/images/emoji/1f4c8.pngbin0 -> 2165 bytes
-rw-r--r--web/static/images/emoji/1f4c9.pngbin0 -> 2131 bytes
-rw-r--r--web/static/images/emoji/1f4ca.pngbin0 -> 1671 bytes
-rw-r--r--web/static/images/emoji/1f4cb.pngbin0 -> 1031 bytes
-rw-r--r--web/static/images/emoji/1f4cc.pngbin0 -> 1868 bytes
-rw-r--r--web/static/images/emoji/1f4cd.pngbin0 -> 1675 bytes
-rw-r--r--web/static/images/emoji/1f4ce.pngbin0 -> 1802 bytes
-rw-r--r--web/static/images/emoji/1f4cf.pngbin0 -> 1905 bytes
-rw-r--r--web/static/images/emoji/1f4d0.pngbin0 -> 542 bytes
-rw-r--r--web/static/images/emoji/1f4d1.pngbin0 -> 1425 bytes
-rw-r--r--web/static/images/emoji/1f4d2.pngbin0 -> 2565 bytes
-rw-r--r--web/static/images/emoji/1f4d3.pngbin0 -> 1440 bytes
-rw-r--r--web/static/images/emoji/1f4d4.pngbin0 -> 1571 bytes
-rw-r--r--web/static/images/emoji/1f4d5.pngbin0 -> 1578 bytes
-rw-r--r--web/static/images/emoji/1f4d6.pngbin0 -> 1152 bytes
-rw-r--r--web/static/images/emoji/1f4d7.pngbin0 -> 1638 bytes
-rw-r--r--web/static/images/emoji/1f4d8.pngbin0 -> 1603 bytes
-rw-r--r--web/static/images/emoji/1f4d9.pngbin0 -> 1602 bytes
-rw-r--r--web/static/images/emoji/1f4da.pngbin0 -> 2505 bytes
-rw-r--r--web/static/images/emoji/1f4db.pngbin0 -> 1662 bytes
-rw-r--r--web/static/images/emoji/1f4dc.pngbin0 -> 1297 bytes
-rw-r--r--web/static/images/emoji/1f4dd.pngbin0 -> 2127 bytes
-rw-r--r--web/static/images/emoji/1f4de.pngbin0 -> 1774 bytes
-rw-r--r--web/static/images/emoji/1f4df.pngbin0 -> 1013 bytes
-rw-r--r--web/static/images/emoji/1f4e0.pngbin0 -> 987 bytes
-rw-r--r--web/static/images/emoji/1f4e1.pngbin0 -> 2662 bytes
-rw-r--r--web/static/images/emoji/1f4e2.pngbin0 -> 2119 bytes
-rw-r--r--web/static/images/emoji/1f4e3.pngbin0 -> 1134 bytes
-rw-r--r--web/static/images/emoji/1f4e4.pngbin0 -> 796 bytes
-rw-r--r--web/static/images/emoji/1f4e5.pngbin0 -> 774 bytes
-rw-r--r--web/static/images/emoji/1f4e6.pngbin0 -> 2021 bytes
-rw-r--r--web/static/images/emoji/1f4e7.pngbin0 -> 1703 bytes
-rw-r--r--web/static/images/emoji/1f4e8.pngbin0 -> 1548 bytes
-rw-r--r--web/static/images/emoji/1f4e9.pngbin0 -> 2151 bytes
-rw-r--r--web/static/images/emoji/1f4ea.pngbin0 -> 823 bytes
-rw-r--r--web/static/images/emoji/1f4eb.pngbin0 -> 836 bytes
-rw-r--r--web/static/images/emoji/1f4ec.pngbin0 -> 868 bytes
-rw-r--r--web/static/images/emoji/1f4ed.pngbin0 -> 809 bytes
-rw-r--r--web/static/images/emoji/1f4ee.pngbin0 -> 942 bytes
-rw-r--r--web/static/images/emoji/1f4ef.pngbin0 -> 1867 bytes
-rw-r--r--web/static/images/emoji/1f4f0.pngbin0 -> 2741 bytes
-rw-r--r--web/static/images/emoji/1f4f1.pngbin0 -> 874 bytes
-rw-r--r--web/static/images/emoji/1f4f2.pngbin0 -> 1242 bytes
-rw-r--r--web/static/images/emoji/1f4f3.pngbin0 -> 1408 bytes
-rw-r--r--web/static/images/emoji/1f4f4.pngbin0 -> 1223 bytes
-rw-r--r--web/static/images/emoji/1f4f5.pngbin0 -> 1923 bytes
-rw-r--r--web/static/images/emoji/1f4f6.pngbin0 -> 975 bytes
-rw-r--r--web/static/images/emoji/1f4f7.pngbin0 -> 1607 bytes
-rw-r--r--web/static/images/emoji/1f4f8.pngbin0 -> 2184 bytes
-rw-r--r--web/static/images/emoji/1f4f9.pngbin0 -> 906 bytes
-rw-r--r--web/static/images/emoji/1f4fa.pngbin0 -> 1661 bytes
-rw-r--r--web/static/images/emoji/1f4fb.pngbin0 -> 1628 bytes
-rw-r--r--web/static/images/emoji/1f4fc.pngbin0 -> 1165 bytes
-rw-r--r--web/static/images/emoji/1f4fd.pngbin0 -> 3118 bytes
-rw-r--r--web/static/images/emoji/1f4fe.pngbin0 -> 2571 bytes
-rw-r--r--web/static/images/emoji/1f500.pngbin0 -> 1548 bytes
-rw-r--r--web/static/images/emoji/1f501.pngbin0 -> 1459 bytes
-rw-r--r--web/static/images/emoji/1f502.pngbin0 -> 1578 bytes
-rw-r--r--web/static/images/emoji/1f503.pngbin0 -> 1353 bytes
-rw-r--r--web/static/images/emoji/1f504.pngbin0 -> 1482 bytes
-rw-r--r--web/static/images/emoji/1f505.pngbin0 -> 1407 bytes
-rw-r--r--web/static/images/emoji/1f506.pngbin0 -> 1607 bytes
-rw-r--r--web/static/images/emoji/1f507.pngbin0 -> 2662 bytes
-rw-r--r--web/static/images/emoji/1f508.pngbin0 -> 2119 bytes
-rw-r--r--web/static/images/emoji/1f509.pngbin0 -> 1878 bytes
-rw-r--r--web/static/images/emoji/1f50a.pngbin0 -> 2331 bytes
-rw-r--r--web/static/images/emoji/1f50b.pngbin0 -> 946 bytes
-rw-r--r--web/static/images/emoji/1f50c.pngbin0 -> 1480 bytes
-rw-r--r--web/static/images/emoji/1f50d.pngbin0 -> 2385 bytes
-rw-r--r--web/static/images/emoji/1f50e.pngbin0 -> 2407 bytes
-rw-r--r--web/static/images/emoji/1f50f.pngbin0 -> 1592 bytes
-rw-r--r--web/static/images/emoji/1f510.pngbin0 -> 1563 bytes
-rw-r--r--web/static/images/emoji/1f511.pngbin0 -> 1260 bytes
-rw-r--r--web/static/images/emoji/1f512.pngbin0 -> 780 bytes
-rw-r--r--web/static/images/emoji/1f513.pngbin0 -> 653 bytes
-rw-r--r--web/static/images/emoji/1f514.pngbin0 -> 1844 bytes
-rw-r--r--web/static/images/emoji/1f515.pngbin0 -> 2414 bytes
-rw-r--r--web/static/images/emoji/1f516.pngbin0 -> 1924 bytes
-rw-r--r--web/static/images/emoji/1f517.pngbin0 -> 1634 bytes
-rw-r--r--web/static/images/emoji/1f518.pngbin0 -> 1423 bytes
-rw-r--r--web/static/images/emoji/1f519.pngbin0 -> 1268 bytes
-rw-r--r--web/static/images/emoji/1f51a.pngbin0 -> 1452 bytes
-rw-r--r--web/static/images/emoji/1f51b.pngbin0 -> 1811 bytes
-rw-r--r--web/static/images/emoji/1f51c.pngbin0 -> 1715 bytes
-rw-r--r--web/static/images/emoji/1f51d.pngbin0 -> 564 bytes
-rw-r--r--web/static/images/emoji/1f51e.pngbin0 -> 2569 bytes
-rw-r--r--web/static/images/emoji/1f51f.pngbin0 -> 1372 bytes
-rw-r--r--web/static/images/emoji/1f520.pngbin0 -> 1760 bytes
-rw-r--r--web/static/images/emoji/1f521.pngbin0 -> 1718 bytes
-rw-r--r--web/static/images/emoji/1f522.pngbin0 -> 1360 bytes
-rw-r--r--web/static/images/emoji/1f523.pngbin0 -> 1763 bytes
-rw-r--r--web/static/images/emoji/1f524.pngbin0 -> 1502 bytes
-rw-r--r--web/static/images/emoji/1f525.pngbin0 -> 1906 bytes
-rw-r--r--web/static/images/emoji/1f526.pngbin0 -> 1373 bytes
-rw-r--r--web/static/images/emoji/1f527.pngbin0 -> 1546 bytes
-rw-r--r--web/static/images/emoji/1f528.pngbin0 -> 1612 bytes
-rw-r--r--web/static/images/emoji/1f529.pngbin0 -> 1162 bytes
-rw-r--r--web/static/images/emoji/1f52a.pngbin0 -> 1426 bytes
-rw-r--r--web/static/images/emoji/1f52b.pngbin0 -> 1661 bytes
-rw-r--r--web/static/images/emoji/1f52c.pngbin0 -> 1945 bytes
-rw-r--r--web/static/images/emoji/1f52d.pngbin0 -> 2246 bytes
-rw-r--r--web/static/images/emoji/1f52e.pngbin0 -> 2148 bytes
-rw-r--r--web/static/images/emoji/1f52f.pngbin0 -> 1714 bytes
-rw-r--r--web/static/images/emoji/1f530.pngbin0 -> 1307 bytes
-rw-r--r--web/static/images/emoji/1f531.pngbin0 -> 2153 bytes
-rw-r--r--web/static/images/emoji/1f532.pngbin0 -> 576 bytes
-rw-r--r--web/static/images/emoji/1f533.pngbin0 -> 526 bytes
-rw-r--r--web/static/images/emoji/1f534.pngbin0 -> 976 bytes
-rw-r--r--web/static/images/emoji/1f535.pngbin0 -> 985 bytes
-rw-r--r--web/static/images/emoji/1f536.pngbin0 -> 259 bytes
-rw-r--r--web/static/images/emoji/1f537.pngbin0 -> 251 bytes
-rw-r--r--web/static/images/emoji/1f538.pngbin0 -> 799 bytes
-rw-r--r--web/static/images/emoji/1f539.pngbin0 -> 775 bytes
-rw-r--r--web/static/images/emoji/1f53a.pngbin0 -> 870 bytes
-rw-r--r--web/static/images/emoji/1f53b.pngbin0 -> 837 bytes
-rw-r--r--web/static/images/emoji/1f53c.pngbin0 -> 825 bytes
-rw-r--r--web/static/images/emoji/1f53d.pngbin0 -> 778 bytes
-rw-r--r--web/static/images/emoji/1f546.pngbin0 -> 1117 bytes
-rw-r--r--web/static/images/emoji/1f547.pngbin0 -> 1169 bytes
-rw-r--r--web/static/images/emoji/1f548.pngbin0 -> 955 bytes
-rw-r--r--web/static/images/emoji/1f549.pngbin0 -> 2831 bytes
-rw-r--r--web/static/images/emoji/1f54a.pngbin0 -> 2134 bytes
-rw-r--r--web/static/images/emoji/1f550.pngbin0 -> 1853 bytes
-rw-r--r--web/static/images/emoji/1f551.pngbin0 -> 1866 bytes
-rw-r--r--web/static/images/emoji/1f552.pngbin0 -> 1759 bytes
-rw-r--r--web/static/images/emoji/1f553.pngbin0 -> 1914 bytes
-rw-r--r--web/static/images/emoji/1f554.pngbin0 -> 2017 bytes
-rw-r--r--web/static/images/emoji/1f555.pngbin0 -> 1676 bytes
-rw-r--r--web/static/images/emoji/1f556.pngbin0 -> 1853 bytes
-rw-r--r--web/static/images/emoji/1f557.pngbin0 -> 1897 bytes
-rw-r--r--web/static/images/emoji/1f558.pngbin0 -> 1741 bytes
-rw-r--r--web/static/images/emoji/1f559.pngbin0 -> 1877 bytes
-rw-r--r--web/static/images/emoji/1f55a.pngbin0 -> 1863 bytes
-rw-r--r--web/static/images/emoji/1f55b.pngbin0 -> 1890 bytes
-rw-r--r--web/static/images/emoji/1f55c.pngbin0 -> 1864 bytes
-rw-r--r--web/static/images/emoji/1f55d.pngbin0 -> 1733 bytes
-rw-r--r--web/static/images/emoji/1f55e.pngbin0 -> 1834 bytes
-rw-r--r--web/static/images/emoji/1f55f.pngbin0 -> 1920 bytes
-rw-r--r--web/static/images/emoji/1f560.pngbin0 -> 1867 bytes
-rw-r--r--web/static/images/emoji/1f561.pngbin0 -> 1731 bytes
-rw-r--r--web/static/images/emoji/1f562.pngbin0 -> 1874 bytes
-rw-r--r--web/static/images/emoji/1f563.pngbin0 -> 1811 bytes
-rw-r--r--web/static/images/emoji/1f564.pngbin0 -> 1733 bytes
-rw-r--r--web/static/images/emoji/1f565.pngbin0 -> 1988 bytes
-rw-r--r--web/static/images/emoji/1f566.pngbin0 -> 1833 bytes
-rw-r--r--web/static/images/emoji/1f567.pngbin0 -> 1789 bytes
-rw-r--r--web/static/images/emoji/1f568.pngbin0 -> 2071 bytes
-rw-r--r--web/static/images/emoji/1f569.pngbin0 -> 2414 bytes
-rw-r--r--web/static/images/emoji/1f56a.pngbin0 -> 2375 bytes
-rw-r--r--web/static/images/emoji/1f56b.pngbin0 -> 2224 bytes
-rw-r--r--web/static/images/emoji/1f56c.pngbin0 -> 2490 bytes
-rw-r--r--web/static/images/emoji/1f56d.pngbin0 -> 2765 bytes
-rw-r--r--web/static/images/emoji/1f56e.pngbin0 -> 4107 bytes
-rw-r--r--web/static/images/emoji/1f56f.pngbin0 -> 1870 bytes
-rw-r--r--web/static/images/emoji/1f570.pngbin0 -> 1856 bytes
-rw-r--r--web/static/images/emoji/1f571.pngbin0 -> 1996 bytes
-rw-r--r--web/static/images/emoji/1f572.pngbin0 -> 3051 bytes
-rw-r--r--web/static/images/emoji/1f573.pngbin0 -> 435 bytes
-rw-r--r--web/static/images/emoji/1f574.pngbin0 -> 1761 bytes
-rw-r--r--web/static/images/emoji/1f575.pngbin0 -> 2330 bytes
-rw-r--r--web/static/images/emoji/1f576.pngbin0 -> 1548 bytes
-rw-r--r--web/static/images/emoji/1f577.pngbin0 -> 2184 bytes
-rw-r--r--web/static/images/emoji/1f578.pngbin0 -> 2773 bytes
-rw-r--r--web/static/images/emoji/1f579.pngbin0 -> 1919 bytes
-rw-r--r--web/static/images/emoji/1f57b.pngbin0 -> 1227 bytes
-rw-r--r--web/static/images/emoji/1f57e.pngbin0 -> 1424 bytes
-rw-r--r--web/static/images/emoji/1f57f.pngbin0 -> 1811 bytes
-rw-r--r--web/static/images/emoji/1f581.pngbin0 -> 1640 bytes
-rw-r--r--web/static/images/emoji/1f582.pngbin0 -> 1516 bytes
-rw-r--r--web/static/images/emoji/1f583.pngbin0 -> 504 bytes
-rw-r--r--web/static/images/emoji/1f585.pngbin0 -> 829 bytes
-rw-r--r--web/static/images/emoji/1f586.pngbin0 -> 1559 bytes
-rw-r--r--web/static/images/emoji/1f587.pngbin0 -> 3222 bytes
-rw-r--r--web/static/images/emoji/1f588.pngbin0 -> 1761 bytes
-rw-r--r--web/static/images/emoji/1f589.pngbin0 -> 1772 bytes
-rw-r--r--web/static/images/emoji/1f58a.pngbin0 -> 1628 bytes
-rw-r--r--web/static/images/emoji/1f58b.pngbin0 -> 1666 bytes
-rw-r--r--web/static/images/emoji/1f58c.pngbin0 -> 1080 bytes
-rw-r--r--web/static/images/emoji/1f58d.pngbin0 -> 1398 bytes
-rw-r--r--web/static/images/emoji/1f58e.pngbin0 -> 2433 bytes
-rw-r--r--web/static/images/emoji/1f58f.pngbin0 -> 1508 bytes
-rw-r--r--web/static/images/emoji/1f590.pngbin0 -> 1539 bytes
-rw-r--r--web/static/images/emoji/1f591.pngbin0 -> 1487 bytes
-rw-r--r--web/static/images/emoji/1f592.pngbin0 -> 1222 bytes
-rw-r--r--web/static/images/emoji/1f593.pngbin0 -> 1253 bytes
-rw-r--r--web/static/images/emoji/1f594.pngbin0 -> 1254 bytes
-rw-r--r--web/static/images/emoji/1f595.pngbin0 -> 1673 bytes
-rw-r--r--web/static/images/emoji/1f596.pngbin0 -> 1757 bytes
-rw-r--r--web/static/images/emoji/1f597.pngbin0 -> 1495 bytes
-rw-r--r--web/static/images/emoji/1f598.pngbin0 -> 1122 bytes
-rw-r--r--web/static/images/emoji/1f599.pngbin0 -> 1118 bytes
-rw-r--r--web/static/images/emoji/1f59e.pngbin0 -> 1264 bytes
-rw-r--r--web/static/images/emoji/1f59f.pngbin0 -> 1250 bytes
-rw-r--r--web/static/images/emoji/1f5a5.pngbin0 -> 779 bytes
-rw-r--r--web/static/images/emoji/1f5a6.pngbin0 -> 2068 bytes
-rw-r--r--web/static/images/emoji/1f5a7.pngbin0 -> 1834 bytes
-rw-r--r--web/static/images/emoji/1f5a8.pngbin0 -> 1203 bytes
-rw-r--r--web/static/images/emoji/1f5a9.pngbin0 -> 637 bytes
-rw-r--r--web/static/images/emoji/1f5aa.pngbin0 -> 640 bytes
-rw-r--r--web/static/images/emoji/1f5ab.pngbin0 -> 522 bytes
-rw-r--r--web/static/images/emoji/1f5ad.pngbin0 -> 1536 bytes
-rw-r--r--web/static/images/emoji/1f5ae.pngbin0 -> 1422 bytes
-rw-r--r--web/static/images/emoji/1f5af.pngbin0 -> 1093 bytes
-rw-r--r--web/static/images/emoji/1f5b2.pngbin0 -> 2125 bytes
-rw-r--r--web/static/images/emoji/1f5b3.pngbin0 -> 1253 bytes
-rw-r--r--web/static/images/emoji/1f5b4.pngbin0 -> 3293 bytes
-rw-r--r--web/static/images/emoji/1f5b8.pngbin0 -> 1378 bytes
-rw-r--r--web/static/images/emoji/1f5b9.pngbin0 -> 810 bytes
-rw-r--r--web/static/images/emoji/1f5bc.pngbin0 -> 1989 bytes
-rw-r--r--web/static/images/emoji/1f5bd.pngbin0 -> 1478 bytes
-rw-r--r--web/static/images/emoji/1f5be.pngbin0 -> 1504 bytes
-rw-r--r--web/static/images/emoji/1f5c0.pngbin0 -> 330 bytes
-rw-r--r--web/static/images/emoji/1f5c1.pngbin0 -> 675 bytes
-rw-r--r--web/static/images/emoji/1f5c2.pngbin0 -> 565 bytes
-rw-r--r--web/static/images/emoji/1f5c3.pngbin0 -> 1905 bytes
-rw-r--r--web/static/images/emoji/1f5c4.pngbin0 -> 572 bytes
-rw-r--r--web/static/images/emoji/1f5c6.pngbin0 -> 1199 bytes
-rw-r--r--web/static/images/emoji/1f5c7.pngbin0 -> 2201 bytes
-rw-r--r--web/static/images/emoji/1f5c9.pngbin0 -> 2317 bytes
-rw-r--r--web/static/images/emoji/1f5ca.pngbin0 -> 3120 bytes
-rw-r--r--web/static/images/emoji/1f5ce.pngbin0 -> 1034 bytes
-rw-r--r--web/static/images/emoji/1f5cf.pngbin0 -> 828 bytes
-rw-r--r--web/static/images/emoji/1f5d0.pngbin0 -> 1494 bytes
-rw-r--r--web/static/images/emoji/1f5d1.pngbin0 -> 2983 bytes
-rw-r--r--web/static/images/emoji/1f5d2.pngbin0 -> 1159 bytes
-rw-r--r--web/static/images/emoji/1f5d3.pngbin0 -> 1131 bytes
-rw-r--r--web/static/images/emoji/1f5d4.pngbin0 -> 878 bytes
-rw-r--r--web/static/images/emoji/1f5d8.pngbin0 -> 1575 bytes
-rw-r--r--web/static/images/emoji/1f5d9.pngbin0 -> 777 bytes
-rw-r--r--web/static/images/emoji/1f5dc.pngbin0 -> 1979 bytes
-rw-r--r--web/static/images/emoji/1f5dd.pngbin0 -> 1252 bytes
-rw-r--r--web/static/images/emoji/1f5de.pngbin0 -> 2746 bytes
-rw-r--r--web/static/images/emoji/1f5e0.pngbin0 -> 1748 bytes
-rw-r--r--web/static/images/emoji/1f5e1.pngbin0 -> 1602 bytes
-rw-r--r--web/static/images/emoji/1f5e2.pngbin0 -> 1214 bytes
-rw-r--r--web/static/images/emoji/1f5e3.pngbin0 -> 1305 bytes
-rw-r--r--web/static/images/emoji/1f5e8.pngbin0 -> 697 bytes
-rw-r--r--web/static/images/emoji/1f5e9.pngbin0 -> 945 bytes
-rw-r--r--web/static/images/emoji/1f5ea.pngbin0 -> 1205 bytes
-rw-r--r--web/static/images/emoji/1f5eb.pngbin0 -> 1360 bytes
-rw-r--r--web/static/images/emoji/1f5ec.pngbin0 -> 1003 bytes
-rw-r--r--web/static/images/emoji/1f5ed.pngbin0 -> 998 bytes
-rw-r--r--web/static/images/emoji/1f5ee.pngbin0 -> 1236 bytes
-rw-r--r--web/static/images/emoji/1f5ef.pngbin0 -> 1220 bytes
-rw-r--r--web/static/images/emoji/1f5f0.pngbin0 -> 987 bytes
-rw-r--r--web/static/images/emoji/1f5f1.pngbin0 -> 1543 bytes
-rw-r--r--web/static/images/emoji/1f5f2.pngbin0 -> 984 bytes
-rw-r--r--web/static/images/emoji/1f5f3.pngbin0 -> 2371 bytes
-rw-r--r--web/static/images/emoji/1f5f4.pngbin0 -> 1526 bytes
-rw-r--r--web/static/images/emoji/1f5f5.pngbin0 -> 1739 bytes
-rw-r--r--web/static/images/emoji/1f5f8.pngbin0 -> 1047 bytes
-rw-r--r--web/static/images/emoji/1f5f9.pngbin0 -> 1336 bytes
-rw-r--r--web/static/images/emoji/1f5fa.pngbin0 -> 2473 bytes
-rw-r--r--web/static/images/emoji/1f5fb.pngbin0 -> 1484 bytes
-rw-r--r--web/static/images/emoji/1f5fc.pngbin0 -> 1288 bytes
-rw-r--r--web/static/images/emoji/1f5fd.pngbin0 -> 1370 bytes
-rw-r--r--web/static/images/emoji/1f5fe.pngbin0 -> 1468 bytes
-rw-r--r--web/static/images/emoji/1f5ff.pngbin0 -> 1909 bytes
-rw-r--r--web/static/images/emoji/1f600.pngbin0 -> 2255 bytes
-rw-r--r--web/static/images/emoji/1f601.pngbin0 -> 2001 bytes
-rw-r--r--web/static/images/emoji/1f602.pngbin0 -> 2673 bytes
-rw-r--r--web/static/images/emoji/1f603.pngbin0 -> 2473 bytes
-rw-r--r--web/static/images/emoji/1f604.pngbin0 -> 1997 bytes
-rw-r--r--web/static/images/emoji/1f605.pngbin0 -> 2188 bytes
-rw-r--r--web/static/images/emoji/1f606.pngbin0 -> 2047 bytes
-rw-r--r--web/static/images/emoji/1f607.pngbin0 -> 2466 bytes
-rw-r--r--web/static/images/emoji/1f608.pngbin0 -> 2408 bytes
-rw-r--r--web/static/images/emoji/1f609.pngbin0 -> 2184 bytes
-rw-r--r--web/static/images/emoji/1f60a.pngbin0 -> 2066 bytes
-rw-r--r--web/static/images/emoji/1f60b.pngbin0 -> 2111 bytes
-rw-r--r--web/static/images/emoji/1f60c.pngbin0 -> 1732 bytes
-rw-r--r--web/static/images/emoji/1f60d.pngbin0 -> 2295 bytes
-rw-r--r--web/static/images/emoji/1f60e.pngbin0 -> 2472 bytes
-rw-r--r--web/static/images/emoji/1f60f.pngbin0 -> 2071 bytes
-rw-r--r--web/static/images/emoji/1f610.pngbin0 -> 1763 bytes
-rw-r--r--web/static/images/emoji/1f611.pngbin0 -> 1291 bytes
-rw-r--r--web/static/images/emoji/1f612.pngbin0 -> 2061 bytes
-rw-r--r--web/static/images/emoji/1f613.pngbin0 -> 1830 bytes
-rw-r--r--web/static/images/emoji/1f614.pngbin0 -> 1809 bytes
-rw-r--r--web/static/images/emoji/1f615.pngbin0 -> 2073 bytes
-rw-r--r--web/static/images/emoji/1f616.pngbin0 -> 2350 bytes
-rw-r--r--web/static/images/emoji/1f617.pngbin0 -> 2064 bytes
-rw-r--r--web/static/images/emoji/1f618.pngbin0 -> 2511 bytes
-rw-r--r--web/static/images/emoji/1f619.pngbin0 -> 1677 bytes
-rw-r--r--web/static/images/emoji/1f61a.pngbin0 -> 2249 bytes
-rw-r--r--web/static/images/emoji/1f61b.pngbin0 -> 2398 bytes
-rw-r--r--web/static/images/emoji/1f61c.pngbin0 -> 2367 bytes
-rw-r--r--web/static/images/emoji/1f61d.pngbin0 -> 2480 bytes
-rw-r--r--web/static/images/emoji/1f61e.pngbin0 -> 1518 bytes
-rw-r--r--web/static/images/emoji/1f61f.pngbin0 -> 2535 bytes
-rw-r--r--web/static/images/emoji/1f620.pngbin0 -> 2315 bytes
-rw-r--r--web/static/images/emoji/1f621.pngbin0 -> 2361 bytes
-rw-r--r--web/static/images/emoji/1f622.pngbin0 -> 2920 bytes
-rw-r--r--web/static/images/emoji/1f623.pngbin0 -> 2073 bytes
-rw-r--r--web/static/images/emoji/1f624.pngbin0 -> 2819 bytes
-rw-r--r--web/static/images/emoji/1f625.pngbin0 -> 2688 bytes
-rw-r--r--web/static/images/emoji/1f626.pngbin0 -> 1931 bytes
-rw-r--r--web/static/images/emoji/1f627.pngbin0 -> 2554 bytes
-rw-r--r--web/static/images/emoji/1f628.pngbin0 -> 2313 bytes
-rw-r--r--web/static/images/emoji/1f629.pngbin0 -> 2251 bytes
-rw-r--r--web/static/images/emoji/1f62a.pngbin0 -> 2430 bytes
-rw-r--r--web/static/images/emoji/1f62b.pngbin0 -> 2406 bytes
-rw-r--r--web/static/images/emoji/1f62c.pngbin0 -> 2264 bytes
-rw-r--r--web/static/images/emoji/1f62d.pngbin0 -> 2850 bytes
-rw-r--r--web/static/images/emoji/1f62e.pngbin0 -> 1952 bytes
-rw-r--r--web/static/images/emoji/1f62f.pngbin0 -> 2503 bytes
-rw-r--r--web/static/images/emoji/1f630.pngbin0 -> 2366 bytes
-rw-r--r--web/static/images/emoji/1f631.pngbin0 -> 2777 bytes
-rw-r--r--web/static/images/emoji/1f632.pngbin0 -> 2206 bytes
-rw-r--r--web/static/images/emoji/1f633.pngbin0 -> 2712 bytes
-rw-r--r--web/static/images/emoji/1f634.pngbin0 -> 2326 bytes
-rw-r--r--web/static/images/emoji/1f635.pngbin0 -> 1946 bytes
-rw-r--r--web/static/images/emoji/1f636.pngbin0 -> 1713 bytes
-rw-r--r--web/static/images/emoji/1f637.pngbin0 -> 2188 bytes
-rw-r--r--web/static/images/emoji/1f638.pngbin0 -> 3141 bytes
-rw-r--r--web/static/images/emoji/1f639.pngbin0 -> 3538 bytes
-rw-r--r--web/static/images/emoji/1f63a.pngbin0 -> 3557 bytes
-rw-r--r--web/static/images/emoji/1f63b.pngbin0 -> 3430 bytes
-rw-r--r--web/static/images/emoji/1f63c.pngbin0 -> 3727 bytes
-rw-r--r--web/static/images/emoji/1f63d.pngbin0 -> 3165 bytes
-rw-r--r--web/static/images/emoji/1f63e.pngbin0 -> 3013 bytes
-rw-r--r--web/static/images/emoji/1f63f.pngbin0 -> 3727 bytes
-rw-r--r--web/static/images/emoji/1f640.pngbin0 -> 4005 bytes
-rw-r--r--web/static/images/emoji/1f641.pngbin0 -> 1926 bytes
-rw-r--r--web/static/images/emoji/1f642.pngbin0 -> 2002 bytes
-rw-r--r--web/static/images/emoji/1f645.pngbin0 -> 3133 bytes
-rw-r--r--web/static/images/emoji/1f646.pngbin0 -> 3833 bytes
-rw-r--r--web/static/images/emoji/1f647.pngbin0 -> 2416 bytes
-rw-r--r--web/static/images/emoji/1f648.pngbin0 -> 2829 bytes
-rw-r--r--web/static/images/emoji/1f649.pngbin0 -> 3411 bytes
-rw-r--r--web/static/images/emoji/1f64a.pngbin0 -> 3218 bytes
-rw-r--r--web/static/images/emoji/1f64b.pngbin0 -> 3497 bytes
-rw-r--r--web/static/images/emoji/1f64c.pngbin0 -> 2568 bytes
-rw-r--r--web/static/images/emoji/1f64d.pngbin0 -> 2884 bytes
-rw-r--r--web/static/images/emoji/1f64e.pngbin0 -> 2826 bytes
-rw-r--r--web/static/images/emoji/1f64f.pngbin0 -> 1502 bytes
-rw-r--r--web/static/images/emoji/1f680.pngbin0 -> 2656 bytes
-rw-r--r--web/static/images/emoji/1f681.pngbin0 -> 1653 bytes
-rw-r--r--web/static/images/emoji/1f682.pngbin0 -> 1978 bytes
-rw-r--r--web/static/images/emoji/1f683.pngbin0 -> 1636 bytes
-rw-r--r--web/static/images/emoji/1f684.pngbin0 -> 1699 bytes
-rw-r--r--web/static/images/emoji/1f685.pngbin0 -> 1626 bytes
-rw-r--r--web/static/images/emoji/1f686.pngbin0 -> 2622 bytes
-rw-r--r--web/static/images/emoji/1f687.pngbin0 -> 1877 bytes
-rw-r--r--web/static/images/emoji/1f688.pngbin0 -> 1091 bytes
-rw-r--r--web/static/images/emoji/1f689.pngbin0 -> 2338 bytes
-rw-r--r--web/static/images/emoji/1f68a.pngbin0 -> 2343 bytes
-rw-r--r--web/static/images/emoji/1f68b.pngbin0 -> 1220 bytes
-rw-r--r--web/static/images/emoji/1f68c.pngbin0 -> 2660 bytes
-rw-r--r--web/static/images/emoji/1f68d.pngbin0 -> 1268 bytes
-rw-r--r--web/static/images/emoji/1f68e.pngbin0 -> 2032 bytes
-rw-r--r--web/static/images/emoji/1f68f.pngbin0 -> 1566 bytes
-rw-r--r--web/static/images/emoji/1f690.pngbin0 -> 2543 bytes
-rw-r--r--web/static/images/emoji/1f691.pngbin0 -> 2293 bytes
-rw-r--r--web/static/images/emoji/1f692.pngbin0 -> 1695 bytes
-rw-r--r--web/static/images/emoji/1f693.pngbin0 -> 2249 bytes
-rw-r--r--web/static/images/emoji/1f694.pngbin0 -> 1886 bytes
-rw-r--r--web/static/images/emoji/1f695.pngbin0 -> 2469 bytes
-rw-r--r--web/static/images/emoji/1f696.pngbin0 -> 1978 bytes
-rw-r--r--web/static/images/emoji/1f697.pngbin0 -> 2216 bytes
-rw-r--r--web/static/images/emoji/1f698.pngbin0 -> 1986 bytes
-rw-r--r--web/static/images/emoji/1f699.pngbin0 -> 2239 bytes
-rw-r--r--web/static/images/emoji/1f69a.pngbin0 -> 2227 bytes
-rw-r--r--web/static/images/emoji/1f69b.pngbin0 -> 2279 bytes
-rw-r--r--web/static/images/emoji/1f69c.pngbin0 -> 3051 bytes
-rw-r--r--web/static/images/emoji/1f69d.pngbin0 -> 998 bytes
-rw-r--r--web/static/images/emoji/1f69e.pngbin0 -> 1802 bytes
-rw-r--r--web/static/images/emoji/1f69f.pngbin0 -> 1056 bytes
-rw-r--r--web/static/images/emoji/1f6a0.pngbin0 -> 1520 bytes
-rw-r--r--web/static/images/emoji/1f6a1.pngbin0 -> 993 bytes
-rw-r--r--web/static/images/emoji/1f6a2.pngbin0 -> 765 bytes
-rw-r--r--web/static/images/emoji/1f6a3.pngbin0 -> 1396 bytes
-rw-r--r--web/static/images/emoji/1f6a4.pngbin0 -> 1248 bytes
-rw-r--r--web/static/images/emoji/1f6a5.pngbin0 -> 1755 bytes
-rw-r--r--web/static/images/emoji/1f6a6.pngbin0 -> 1856 bytes
-rw-r--r--web/static/images/emoji/1f6a7.pngbin0 -> 1545 bytes
-rw-r--r--web/static/images/emoji/1f6a8.pngbin0 -> 3086 bytes
-rw-r--r--web/static/images/emoji/1f6a9.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/1f6aa.pngbin0 -> 765 bytes
-rw-r--r--web/static/images/emoji/1f6ab.pngbin0 -> 2126 bytes
-rw-r--r--web/static/images/emoji/1f6ac.pngbin0 -> 1183 bytes
-rw-r--r--web/static/images/emoji/1f6ad.pngbin0 -> 1394 bytes
-rw-r--r--web/static/images/emoji/1f6ae.pngbin0 -> 1196 bytes
-rw-r--r--web/static/images/emoji/1f6af.pngbin0 -> 2115 bytes
-rw-r--r--web/static/images/emoji/1f6b0.pngbin0 -> 1431 bytes
-rw-r--r--web/static/images/emoji/1f6b1.pngbin0 -> 2254 bytes
-rw-r--r--web/static/images/emoji/1f6b2.pngbin0 -> 2300 bytes
-rw-r--r--web/static/images/emoji/1f6b3.pngbin0 -> 2663 bytes
-rw-r--r--web/static/images/emoji/1f6b4.pngbin0 -> 1714 bytes
-rw-r--r--web/static/images/emoji/1f6b5.pngbin0 -> 2015 bytes
-rw-r--r--web/static/images/emoji/1f6b6.pngbin0 -> 1132 bytes
-rw-r--r--web/static/images/emoji/1f6b7.pngbin0 -> 2290 bytes
-rw-r--r--web/static/images/emoji/1f6b8.pngbin0 -> 761 bytes
-rw-r--r--web/static/images/emoji/1f6b9.pngbin0 -> 943 bytes
-rw-r--r--web/static/images/emoji/1f6ba.pngbin0 -> 1077 bytes
-rw-r--r--web/static/images/emoji/1f6bb.pngbin0 -> 1580 bytes
-rw-r--r--web/static/images/emoji/1f6bc.pngbin0 -> 1162 bytes
-rw-r--r--web/static/images/emoji/1f6bd.pngbin0 -> 1355 bytes
-rw-r--r--web/static/images/emoji/1f6be.pngbin0 -> 1639 bytes
-rw-r--r--web/static/images/emoji/1f6bf.pngbin0 -> 2117 bytes
-rw-r--r--web/static/images/emoji/1f6c0.pngbin0 -> 2289 bytes
-rw-r--r--web/static/images/emoji/1f6c1.pngbin0 -> 1632 bytes
-rw-r--r--web/static/images/emoji/1f6c2.pngbin0 -> 1617 bytes
-rw-r--r--web/static/images/emoji/1f6c3.pngbin0 -> 1596 bytes
-rw-r--r--web/static/images/emoji/1f6c4.pngbin0 -> 751 bytes
-rw-r--r--web/static/images/emoji/1f6c5.pngbin0 -> 952 bytes
-rw-r--r--web/static/images/emoji/1f6c6.pngbin0 -> 1202 bytes
-rw-r--r--web/static/images/emoji/1f6c7.pngbin0 -> 1502 bytes
-rw-r--r--web/static/images/emoji/1f6c8.pngbin0 -> 1655 bytes
-rw-r--r--web/static/images/emoji/1f6c9.pngbin0 -> 1118 bytes
-rw-r--r--web/static/images/emoji/1f6ca.pngbin0 -> 1172 bytes
-rw-r--r--web/static/images/emoji/1f6cb.pngbin0 -> 2888 bytes
-rw-r--r--web/static/images/emoji/1f6cc.pngbin0 -> 710 bytes
-rw-r--r--web/static/images/emoji/1f6cd.pngbin0 -> 4175 bytes
-rw-r--r--web/static/images/emoji/1f6ce.pngbin0 -> 2598 bytes
-rw-r--r--web/static/images/emoji/1f6cf.pngbin0 -> 2764 bytes
-rw-r--r--web/static/images/emoji/1f6e0.pngbin0 -> 2844 bytes
-rw-r--r--web/static/images/emoji/1f6e1.pngbin0 -> 523 bytes
-rw-r--r--web/static/images/emoji/1f6e2.pngbin0 -> 1982 bytes
-rw-r--r--web/static/images/emoji/1f6e3.pngbin0 -> 1470 bytes
-rw-r--r--web/static/images/emoji/1f6e4.pngbin0 -> 2714 bytes
-rw-r--r--web/static/images/emoji/1f6e5.pngbin0 -> 866 bytes
-rw-r--r--web/static/images/emoji/1f6e6.pngbin0 -> 2017 bytes
-rw-r--r--web/static/images/emoji/1f6e7.pngbin0 -> 2031 bytes
-rw-r--r--web/static/images/emoji/1f6e8.pngbin0 -> 1898 bytes
-rw-r--r--web/static/images/emoji/1f6e9.pngbin0 -> 1910 bytes
-rw-r--r--web/static/images/emoji/1f6ea.pngbin0 -> 2135 bytes
-rw-r--r--web/static/images/emoji/1f6eb.pngbin0 -> 2127 bytes
-rw-r--r--web/static/images/emoji/1f6ec.pngbin0 -> 2355 bytes
-rw-r--r--web/static/images/emoji/1f6f0.pngbin0 -> 3871 bytes
-rw-r--r--web/static/images/emoji/1f6f1.pngbin0 -> 1984 bytes
-rw-r--r--web/static/images/emoji/1f6f2.pngbin0 -> 1953 bytes
-rw-r--r--web/static/images/emoji/1f6f3.pngbin0 -> 2283 bytes
-rw-r--r--web/static/images/emoji/203c.pngbin0 -> 1229 bytes
-rw-r--r--web/static/images/emoji/2049.pngbin0 -> 1682 bytes
-rw-r--r--web/static/images/emoji/2122.pngbin0 -> 1013 bytes
-rw-r--r--web/static/images/emoji/2139.pngbin0 -> 704 bytes
-rw-r--r--web/static/images/emoji/2194.pngbin0 -> 977 bytes
-rw-r--r--web/static/images/emoji/2195.pngbin0 -> 1005 bytes
-rw-r--r--web/static/images/emoji/2196.pngbin0 -> 990 bytes
-rw-r--r--web/static/images/emoji/2197.pngbin0 -> 957 bytes
-rw-r--r--web/static/images/emoji/2198.pngbin0 -> 932 bytes
-rw-r--r--web/static/images/emoji/2199.pngbin0 -> 955 bytes
-rw-r--r--web/static/images/emoji/21a9.pngbin0 -> 1079 bytes
-rw-r--r--web/static/images/emoji/21aa.pngbin0 -> 1153 bytes
-rw-r--r--web/static/images/emoji/231a.pngbin0 -> 1540 bytes
-rw-r--r--web/static/images/emoji/231b.pngbin0 -> 1684 bytes
-rw-r--r--web/static/images/emoji/23e9.pngbin0 -> 944 bytes
-rw-r--r--web/static/images/emoji/23ea.pngbin0 -> 966 bytes
-rw-r--r--web/static/images/emoji/23eb.pngbin0 -> 955 bytes
-rw-r--r--web/static/images/emoji/23ec.pngbin0 -> 994 bytes
-rw-r--r--web/static/images/emoji/23f0.pngbin0 -> 2412 bytes
-rw-r--r--web/static/images/emoji/23f3.pngbin0 -> 1612 bytes
-rw-r--r--web/static/images/emoji/24c2.pngbin0 -> 2025 bytes
-rw-r--r--web/static/images/emoji/25aa.pngbin0 -> 234 bytes
-rw-r--r--web/static/images/emoji/25ab.pngbin0 -> 225 bytes
-rw-r--r--web/static/images/emoji/25b6.pngbin0 -> 755 bytes
-rw-r--r--web/static/images/emoji/25c0.pngbin0 -> 814 bytes
-rw-r--r--web/static/images/emoji/25fb.pngbin0 -> 315 bytes
-rw-r--r--web/static/images/emoji/25fc.pngbin0 -> 335 bytes
-rw-r--r--web/static/images/emoji/25fd.pngbin0 -> 274 bytes
-rw-r--r--web/static/images/emoji/25fe.pngbin0 -> 220 bytes
-rw-r--r--web/static/images/emoji/2600.pngbin0 -> 1733 bytes
-rw-r--r--web/static/images/emoji/2601.pngbin0 -> 1055 bytes
-rw-r--r--web/static/images/emoji/260e.pngbin0 -> 2335 bytes
-rw-r--r--web/static/images/emoji/2611.pngbin0 -> 1017 bytes
-rw-r--r--web/static/images/emoji/2614.pngbin0 -> 2019 bytes
-rw-r--r--web/static/images/emoji/2615.pngbin0 -> 3002 bytes
-rw-r--r--web/static/images/emoji/261d.pngbin0 -> 1581 bytes
-rw-r--r--web/static/images/emoji/263a.pngbin0 -> 2350 bytes
-rw-r--r--web/static/images/emoji/2648.pngbin0 -> 1911 bytes
-rw-r--r--web/static/images/emoji/2649.pngbin0 -> 1932 bytes
-rw-r--r--web/static/images/emoji/264a.pngbin0 -> 1520 bytes
-rw-r--r--web/static/images/emoji/264b.pngbin0 -> 2441 bytes
-rw-r--r--web/static/images/emoji/264c.pngbin0 -> 1879 bytes
-rw-r--r--web/static/images/emoji/264d.pngbin0 -> 2093 bytes
-rw-r--r--web/static/images/emoji/264e.pngbin0 -> 1701 bytes
-rw-r--r--web/static/images/emoji/264f.pngbin0 -> 1359 bytes
-rw-r--r--web/static/images/emoji/2650.pngbin0 -> 906 bytes
-rw-r--r--web/static/images/emoji/2651.pngbin0 -> 1410 bytes
-rw-r--r--web/static/images/emoji/2652.pngbin0 -> 1598 bytes
-rw-r--r--web/static/images/emoji/2653.pngbin0 -> 1405 bytes
-rw-r--r--web/static/images/emoji/2660.pngbin0 -> 1071 bytes
-rw-r--r--web/static/images/emoji/2663.pngbin0 -> 1151 bytes
-rw-r--r--web/static/images/emoji/2665.pngbin0 -> 1067 bytes
-rw-r--r--web/static/images/emoji/2666.pngbin0 -> 719 bytes
-rw-r--r--web/static/images/emoji/2668.pngbin0 -> 2577 bytes
-rw-r--r--web/static/images/emoji/267b.pngbin0 -> 2009 bytes
-rw-r--r--web/static/images/emoji/267f.pngbin0 -> 1377 bytes
-rw-r--r--web/static/images/emoji/2693.pngbin0 -> 2074 bytes
-rw-r--r--web/static/images/emoji/26a0.pngbin0 -> 1360 bytes
-rw-r--r--web/static/images/emoji/26a1.pngbin0 -> 706 bytes
-rw-r--r--web/static/images/emoji/26aa.pngbin0 -> 839 bytes
-rw-r--r--web/static/images/emoji/26ab.pngbin0 -> 976 bytes
-rw-r--r--web/static/images/emoji/26bd.pngbin0 -> 1991 bytes
-rw-r--r--web/static/images/emoji/26be.pngbin0 -> 2723 bytes
-rw-r--r--web/static/images/emoji/26c4.pngbin0 -> 2380 bytes
-rw-r--r--web/static/images/emoji/26c5.pngbin0 -> 1407 bytes
-rw-r--r--web/static/images/emoji/26ce.pngbin0 -> 1262 bytes
-rw-r--r--web/static/images/emoji/26d4.pngbin0 -> 1496 bytes
-rw-r--r--web/static/images/emoji/26ea.pngbin0 -> 1931 bytes
-rw-r--r--web/static/images/emoji/26f2.pngbin0 -> 1706 bytes
-rw-r--r--web/static/images/emoji/26f3.pngbin0 -> 1809 bytes
-rw-r--r--web/static/images/emoji/26f5.pngbin0 -> 2353 bytes
-rw-r--r--web/static/images/emoji/26fa.pngbin0 -> 2461 bytes
-rw-r--r--web/static/images/emoji/26fd.pngbin0 -> 2054 bytes
-rw-r--r--web/static/images/emoji/2702.pngbin0 -> 2598 bytes
-rw-r--r--web/static/images/emoji/2705.pngbin0 -> 984 bytes
-rw-r--r--web/static/images/emoji/2708.pngbin0 -> 2874 bytes
-rw-r--r--web/static/images/emoji/2709.pngbin0 -> 1628 bytes
-rw-r--r--web/static/images/emoji/270a.pngbin0 -> 1984 bytes
-rw-r--r--web/static/images/emoji/270b.pngbin0 -> 756 bytes
-rw-r--r--web/static/images/emoji/270c.pngbin0 -> 1702 bytes
-rw-r--r--web/static/images/emoji/270f.pngbin0 -> 1830 bytes
-rw-r--r--web/static/images/emoji/2712.pngbin0 -> 1682 bytes
-rw-r--r--web/static/images/emoji/2714.pngbin0 -> 1066 bytes
-rw-r--r--web/static/images/emoji/2716.pngbin0 -> 940 bytes
-rw-r--r--web/static/images/emoji/2728.pngbin0 -> 1627 bytes
-rw-r--r--web/static/images/emoji/2733.pngbin0 -> 1663 bytes
-rw-r--r--web/static/images/emoji/2734.pngbin0 -> 1404 bytes
-rw-r--r--web/static/images/emoji/2744.pngbin0 -> 2545 bytes
-rw-r--r--web/static/images/emoji/2747.pngbin0 -> 2226 bytes
-rw-r--r--web/static/images/emoji/274c.pngbin0 -> 448 bytes
-rw-r--r--web/static/images/emoji/274e.pngbin0 -> 950 bytes
-rw-r--r--web/static/images/emoji/2753.pngbin0 -> 1126 bytes
-rw-r--r--web/static/images/emoji/2754.pngbin0 -> 1002 bytes
-rw-r--r--web/static/images/emoji/2755.pngbin0 -> 666 bytes
-rw-r--r--web/static/images/emoji/2757.pngbin0 -> 737 bytes
-rw-r--r--web/static/images/emoji/2764.pngbin0 -> 1236 bytes
-rw-r--r--web/static/images/emoji/2795.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/2796.pngbin0 -> 324 bytes
-rw-r--r--web/static/images/emoji/2797.pngbin0 -> 704 bytes
-rw-r--r--web/static/images/emoji/27a1.pngbin0 -> 946 bytes
-rw-r--r--web/static/images/emoji/27b0.pngbin0 -> 1360 bytes
-rw-r--r--web/static/images/emoji/27bf.pngbin0 -> 1394 bytes
-rw-r--r--web/static/images/emoji/2934.pngbin0 -> 940 bytes
-rw-r--r--web/static/images/emoji/2935.pngbin0 -> 1019 bytes
-rw-r--r--web/static/images/emoji/2b05.pngbin0 -> 937 bytes
-rw-r--r--web/static/images/emoji/2b06.pngbin0 -> 973 bytes
-rw-r--r--web/static/images/emoji/2b07.pngbin0 -> 947 bytes
-rw-r--r--web/static/images/emoji/2b1b.pngbin0 -> 311 bytes
-rw-r--r--web/static/images/emoji/2b1c.pngbin0 -> 318 bytes
-rw-r--r--web/static/images/emoji/2b50.pngbin0 -> 1637 bytes
-rw-r--r--web/static/images/emoji/2b55.pngbin0 -> 2049 bytes
-rw-r--r--web/static/images/emoji/3030.pngbin0 -> 404 bytes
-rw-r--r--web/static/images/emoji/303d.pngbin0 -> 1165 bytes
-rw-r--r--web/static/images/emoji/3297.pngbin0 -> 2110 bytes
-rw-r--r--web/static/images/emoji/3299.pngbin0 -> 2603 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/8ball.pngbin4141 -> 2177 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/a.pngbin3154 -> 1202 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ab.pngbin3859 -> 1419 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/abc.pngbin4247 -> 1502 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/abcd.pngbin4471 -> 1718 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/accept.pngbin4729 -> 1301 bytes
-rw-r--r--web/static/images/emoji/admission_tickets.pngbin0 -> 3790 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/aerial_tramway.pngbin3489 -> 993 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/airplane.pngbin4740 -> 2874 bytes
-rw-r--r--web/static/images/emoji/airplane_arriving.pngbin0 -> 2355 bytes
-rw-r--r--web/static/images/emoji/airplane_departure.pngbin0 -> 2127 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/alarm_clock.pngbin7062 -> 2412 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/alien.pngbin5457 -> 2500 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ambulance.pngbin3708 -> 2293 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/anchor.pngbin4479 -> 2074 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/angel.pngbin6672 -> 1826 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/anger.pngbin3079 -> 1434 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/angry.pngbin5037 -> 2315 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/anguished.pngbin5091 -> 2554 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ant.pngbin2851 -> 2110 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/apple.pngbin5630 -> 1554 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/aquarius.pngbin5096 -> 1598 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/aries.pngbin4343 -> 1911 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_backward.pngbin3180 -> 814 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_double_down.pngbin3179 -> 994 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_double_up.pngbin3611 -> 955 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_down.pngbin3006 -> 947 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_down_small.pngbin2889 -> 778 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_forward.pngbin3201 -> 755 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_heading_down.pngbin3521 -> 1019 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_heading_up.pngbin3520 -> 940 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_left.pngbin3041 -> 937 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_lower_left.pngbin3342 -> 955 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_lower_right.pngbin3334 -> 932 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_right.pngbin3022 -> 946 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_right_hook.pngbin3712 -> 1153 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_up.pngbin3073 -> 973 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_up_down.pngbin3542 -> 1005 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_up_small.pngbin3185 -> 825 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_upper_left.pngbin3227 -> 990 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrow_upper_right.pngbin3235 -> 957 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrows_clockwise.pngbin1399 -> 1353 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/arrows_counterclockwise.pngbin4816 -> 1482 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/art.pngbin6744 -> 2139 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/articulated_lorry.pngbin2938 -> 2279 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/astonished.pngbin6043 -> 2206 bytes
-rw-r--r--web/static/images/emoji/athletic_shoe.pngbin0 -> 1369 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/atm.pngbin4072 -> 1852 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/b.pngbin3025 -> 1019 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baby.pngbin5921 -> 2436 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baby_bottle.pngbin4461 -> 2485 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baby_chick.pngbin3961 -> 2094 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baby_symbol.pngbin2967 -> 1162 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/back.pngbin5434 -> 1268 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baggage_claim.pngbin3502 -> 751 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/balloon.pngbin2300 -> 1422 bytes
-rw-r--r--web/static/images/emoji/ballot_box_with_ballot.pngbin0 -> 2371 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ballot_box_with_check.pngbin1829 -> 1017 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bamboo.pngbin4672 -> 1306 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/banana.pngbin3915 -> 2206 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bangbang.pngbin1387 -> 1229 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bank.pngbin5583 -> 1185 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bar_chart.pngbin2449 -> 1671 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/barber.pngbin4252 -> 1771 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/baseball.pngbin6032 -> 2723 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/basketball.pngbin6386 -> 2673 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bath.pngbin3210 -> 2289 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bathtub.pngbin2784 -> 1632 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/battery.pngbin3812 -> 946 bytes
-rw-r--r--web/static/images/emoji/beach_with_umbrella.pngbin0 -> 2711 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bear.pngbin5561 -> 2747 bytes
-rw-r--r--web/static/images/emoji/bed.pngbin0 -> 2764 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bee.pngbin5851 -> 2243 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/beer.pngbin6097 -> 2213 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/beers.pngbin6591 -> 3398 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/beetle.pngbin5255 -> 3039 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/beginner.pngbin2761 -> 1307 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bell.pngbin4859 -> 1844 bytes
-rw-r--r--web/static/images/emoji/bellhop_bell.pngbin0 -> 2598 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bento.pngbin5730 -> 3436 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bicyclist.pngbin6472 -> 1714 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bike.pngbin4722 -> 2300 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bikini.pngbin3890 -> 1885 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bird.pngbin4878 -> 2041 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/birthday.pngbin5404 -> 3583 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_circle.pngbin2369 -> 976 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_joker.pngbin3877 -> 1806 bytes
-rw-r--r--web/static/images/emoji/black_large_square.pngbin0 -> 311 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_medium_small_square.pngbin3495 -> 220 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_medium_square.pngbin4035 -> 335 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_nib.pngbin2352 -> 1682 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_small_square.pngbin3061 -> 234 bytes
-rwxr-xr-xweb/static/images/emoji/black_square.pngbin1332 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/black_square_button.pngbin1337 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blossom.pngbin4232 -> 2061 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blowfish.pngbin3737 -> 3132 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blue_book.pngbin5092 -> 1603 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blue_car.pngbin4081 -> 2239 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blue_heart.pngbin4094 -> 1226 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/blush.pngbin5188 -> 2066 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/boar.pngbin4840 -> 3695 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/boat.pngbin3833 -> 2353 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bomb.pngbin5208 -> 2226 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/book.pngbin6050 -> 1152 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bookmark.pngbin4649 -> 1924 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bookmark_tabs.pngbin3150 -> 1425 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/books.pngbin6539 -> 2505 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/boom.pngbin3772 -> 2389 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/boot.pngbin3327 -> 1411 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bouquet.pngbin6915 -> 3694 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bow.pngbin5143 -> 2416 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bowling.pngbin4184 -> 2308 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bowtie.pngbin6478 -> 6478 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/boy.pngbin5946 -> 1992 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bread.pngbin6214 -> 1687 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bride_with_veil.pngbin8515 -> 3448 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bridge_at_night.pngbin5137 -> 2941 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/briefcase.pngbin2698 -> 1042 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/broken_heart.pngbin4118 -> 1703 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bug.pngbin5945 -> 2515 bytes
-rw-r--r--web/static/images/emoji/building_construction.pngbin0 -> 2545 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bulb.pngbin4490 -> 2472 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bullettrain_front.pngbin4992 -> 1626 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bullettrain_side.pngbin3842 -> 1699 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bus.pngbin4065 -> 2660 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/busstop.pngbin1676 -> 1566 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/bust_in_silhouette.pngbin2005 -> 993 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/busts_in_silhouette.pngbin3021 -> 1232 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cactus.pngbin4509 -> 2236 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cake.pngbin6129 -> 3323 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/calendar.pngbin2920 -> 1241 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/calling.pngbin4037 -> 1242 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/camel.pngbin4485 -> 2025 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/camera.pngbin4661 -> 1607 bytes
-rw-r--r--web/static/images/emoji/camera_with_flash.pngbin0 -> 2184 bytes
-rw-r--r--web/static/images/emoji/camping.pngbin0 -> 2369 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cancer.pngbin5384 -> 2441 bytes
-rw-r--r--web/static/images/emoji/candle.pngbin0 -> 1870 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/candy.pngbin4502 -> 2075 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/capital_abcd.pngbin5136 -> 1760 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/capricorn.pngbin4670 -> 1410 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/car.pngbin4278 -> 2216 bytes
-rw-r--r--web/static/images/emoji/card_file_box.pngbin0 -> 1905 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/card_index.pngbin3749 -> 1350 bytes
-rw-r--r--web/static/images/emoji/card_index_dividers.pngbin0 -> 565 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/carousel_horse.pngbin5893 -> 2479 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cat.pngbin5987 -> 3912 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cat2.pngbin5644 -> 3085 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cd.pngbin6718 -> 1809 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chart.pngbin4331 -> 1448 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chart_with_downwards_trend.pngbin2897 -> 2131 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chart_with_upwards_trend.pngbin2930 -> 2165 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/checkered_flag.pngbin1675 -> 2277 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cherries.pngbin5604 -> 2412 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cherry_blossom.pngbin7174 -> 3398 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chestnut.pngbin5875 -> 2789 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chicken.pngbin3988 -> 2564 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/children_crossing.pngbin3460 -> 761 bytes
-rw-r--r--web/static/images/emoji/chipmunk.pngbin0 -> 3872 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/chocolate_bar.pngbin5249 -> 2073 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/christmas_tree.pngbin4721 -> 1803 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/church.pngbin4653 -> 1931 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cinema.pngbin3573 -> 1269 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/circus_tent.pngbin4683 -> 2473 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/city_sunrise.pngbin4312 -> 2120 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/city_sunset.pngbin3841 -> 2691 bytes
-rw-r--r--web/static/images/emoji/cityscape.pngbin0 -> 2310 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cl.pngbin3493 -> 1304 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clap.pngbin7110 -> 2203 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clapper.pngbin4192 -> 1703 bytes
-rw-r--r--web/static/images/emoji/classical_building.pngbin0 -> 1871 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clipboard.pngbin4663 -> 1031 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock1.pngbin2590 -> 1853 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock10.pngbin2590 -> 1877 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock1030.pngbin2817 -> 1988 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock11.pngbin2587 -> 1863 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock1130.pngbin2854 -> 1833 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock12.pngbin2504 -> 1890 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock1230.pngbin2797 -> 1789 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock130.pngbin2837 -> 1864 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock2.pngbin2595 -> 1866 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock230.pngbin2853 -> 1733 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock3.pngbin2492 -> 1759 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock330.pngbin2739 -> 1834 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock4.pngbin2619 -> 1914 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock430.pngbin2803 -> 1920 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock5.pngbin2624 -> 2017 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock530.pngbin2832 -> 1867 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock6.pngbin2577 -> 1676 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock630.pngbin2730 -> 1731 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock7.pngbin2615 -> 1853 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock730.pngbin2794 -> 1874 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock8.pngbin2603 -> 1897 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock830.pngbin2792 -> 1811 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock9.pngbin2486 -> 1741 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clock930.pngbin2746 -> 1733 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/closed_book.pngbin4847 -> 1578 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/closed_lock_with_key.pngbin5701 -> 1563 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/closed_umbrella.pngbin3868 -> 1594 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cloud.pngbin3860 -> 1055 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/clubs.pngbin1685 -> 1151 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cn.pngbin3634 -> 697 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cocktail.pngbin2949 -> 1863 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/coffee.pngbin4306 -> 3002 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cold_sweat.pngbin5972 -> 2366 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/collision.pngbin3772 -> 2389 bytes
-rw-r--r--web/static/images/emoji/compression.pngbin0 -> 1979 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/computer.pngbin1705 -> 1436 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/confetti_ball.pngbin5521 -> 3925 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/confounded.pngbin5857 -> 2350 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/confused.pngbin4633 -> 2073 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/congratulations.pngbin4881 -> 2110 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/construction.pngbin3700 -> 1545 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/construction_worker.pngbin6193 -> 2401 bytes
-rw-r--r--web/static/images/emoji/control_knobs.pngbin0 -> 2691 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/convenience_store.pngbin4073 -> 1284 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cookie.pngbin8149 -> 2178 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cool.pngbin4182 -> 1443 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cop.pngbin7141 -> 3057 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/copyright.pngbin1579 -> 1702 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/corn.pngbin6694 -> 2872 bytes
-rw-r--r--web/static/images/emoji/couch_and_lamp.pngbin0 -> 2888 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/couple.pngbin7615 -> 2209 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/couple_with_heart.pngbin7370 -> 3737 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/couplekiss.pngbin7219 -> 3350 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cow.pngbin5745 -> 2464 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cow2.pngbin5303 -> 1729 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/credit_card.pngbin2648 -> 400 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crescent_moon.pngbin3541 -> 1233 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crocodile.pngbin6125 -> 1649 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crossed_flags.pngbin4015 -> 2047 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crown.pngbin5655 -> 2520 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cry.pngbin5699 -> 2920 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crying_cat_face.pngbin6682 -> 3727 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/crystal_ball.pngbin6236 -> 2148 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cupid.pngbin5413 -> 2004 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/curly_loop.pngbin1129 -> 1360 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/currency_exchange.pngbin1959 -> 1625 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/curry.pngbin5336 -> 2805 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/custard.pngbin5810 -> 2601 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/customs.pngbin3899 -> 1596 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/cyclone.pngbin4890 -> 1579 bytes
-rw-r--r--web/static/images/emoji/dagger_knife.pngbin0 -> 1602 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dancer.pngbin3726 -> 1554 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dancers.pngbin7918 -> 2855 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dango.pngbin4449 -> 2448 bytes
-rw-r--r--web/static/images/emoji/dark_sunglasses.pngbin0 -> 1548 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dart.pngbin5437 -> 3044 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dash.pngbin5448 -> 1829 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/date.pngbin2977 -> 1365 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/de.pngbin2640 -> 407 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/deciduous_tree.pngbin7263 -> 3621 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/department_store.pngbin5159 -> 1241 bytes
-rw-r--r--web/static/images/emoji/derelict_house_building.pngbin0 -> 3253 bytes
-rw-r--r--web/static/images/emoji/desert.pngbin0 -> 2260 bytes
-rw-r--r--web/static/images/emoji/desert_island.pngbin0 -> 2974 bytes
-rw-r--r--web/static/images/emoji/desktop_computer.pngbin0 -> 779 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/diamond_shape_with_a_dot_inside.pngbin5698 -> 1680 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/diamonds.pngbin2785 -> 719 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/disappointed.pngbin4764 -> 1518 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/disappointed_relieved.pngbin5648 -> 2688 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dizzy.pngbin2990 -> 1701 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dizzy_face.pngbin6278 -> 1946 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/do_not_litter.pngbin5277 -> 2115 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dog.pngbin5945 -> 2609 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dog2.pngbin5931 -> 2293 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dollar.pngbin4622 -> 1579 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dolls.pngbin7138 -> 3118 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dolphin.pngbin4343 -> 1980 bytes
-rwxr-xr-xweb/static/images/emoji/donut.pngbin5209 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/door.pngbin3310 -> 765 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/doughnut.pngbin5209 -> 2267 bytes
-rw-r--r--web/static/images/emoji/dove_of_peace.pngbin0 -> 2134 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dragon.pngbin7749 -> 2618 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dragon_face.pngbin6737 -> 2518 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dress.pngbin3631 -> 2033 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dromedary_camel.pngbin5139 -> 2022 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/droplet.pngbin3139 -> 1090 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/dvd.pngbin6993 -> 1951 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/e-mail.pngbin2128 -> 1703 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ear.pngbin4335 -> 1496 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ear_of_rice.pngbin4758 -> 2154 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/earth_africa.pngbin7164 -> 2318 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/earth_americas.pngbin7039 -> 2427 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/earth_asia.pngbin7303 -> 2509 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/egg.pngbin5211 -> 2272 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eggplant.pngbin4672 -> 1740 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eight.pngbin3844 -> 1266 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eight_pointed_black_star.pngbin3271 -> 1404 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eight_spoked_asterisk.pngbin4012 -> 1663 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/electric_plug.pngbin2758 -> 1480 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/elephant.pngbin5086 -> 1973 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/email.pngbin2697 -> 1628 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/end.pngbin1134 -> 1452 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/envelope.pngbin1655 -> 1628 bytes
-rw-r--r--web/static/images/emoji/envelope_with_arrow.pngbin0 -> 2151 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/es.pngbin4302 -> 1197 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/euro.pngbin3942 -> 1578 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/european_castle.pngbin5427 -> 853 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/european_post_office.pngbin4816 -> 1018 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/evergreen_tree.pngbin4924 -> 1028 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/exclamation.pngbin1175 -> 737 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/expressionless.pngbin4022 -> 1291 bytes
-rw-r--r--web/static/images/emoji/eye.pngbin0 -> 2701 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eyeglasses.pngbin4929 -> 1784 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/eyes.pngbin4367 -> 2037 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/facepunch.pngbin4833 -> 1892 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/factory.pngbin5558 -> 1205 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fallen_leaf.pngbin4890 -> 2499 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/family.pngbin7211 -> 4120 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fast_forward.pngbin3105 -> 944 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fax.pngbin4650 -> 987 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fearful.pngbin5600 -> 2313 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/feelsgood.pngbin1150 -> 1150 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/feet.pngbin1529 -> 1451 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ferris_wheel.pngbin6213 -> 2474 bytes
-rw-r--r--web/static/images/emoji/file_cabinet.pngbin0 -> 572 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/file_folder.pngbin4013 -> 1746 bytes
-rw-r--r--web/static/images/emoji/film_frames.pngbin0 -> 3307 bytes
-rw-r--r--web/static/images/emoji/film_projector.pngbin0 -> 3118 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/finnadie.pngbin1186 -> 1186 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fire.pngbin3886 -> 1906 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fire_engine.pngbin4862 -> 1695 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fireworks.pngbin6269 -> 3635 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/first_quarter_moon.pngbin5967 -> 1820 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/first_quarter_moon_with_face.pngbin4280 -> 1481 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fish.pngbin4721 -> 2403 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fish_cake.pngbin5818 -> 2701 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fishing_pole_and_fish.pngbin4470 -> 2078 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fist.pngbin5880 -> 1984 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/five.pngbin3593 -> 1208 bytes
-rw-r--r--web/static/images/emoji/flag-ac.pngbin0 -> 2279 bytes
-rw-r--r--web/static/images/emoji/flag-ad.pngbin0 -> 1341 bytes
-rw-r--r--web/static/images/emoji/flag-ae.pngbin0 -> 442 bytes
-rw-r--r--web/static/images/emoji/flag-af.pngbin0 -> 1486 bytes
-rw-r--r--web/static/images/emoji/flag-ag.pngbin0 -> 1449 bytes
-rw-r--r--web/static/images/emoji/flag-ai.pngbin0 -> 1901 bytes
-rw-r--r--web/static/images/emoji/flag-al.pngbin0 -> 1505 bytes
-rw-r--r--web/static/images/emoji/flag-am.pngbin0 -> 399 bytes
-rw-r--r--web/static/images/emoji/flag-ao.pngbin0 -> 1375 bytes
-rw-r--r--web/static/images/emoji/flag-ar.pngbin0 -> 863 bytes
-rw-r--r--web/static/images/emoji/flag-at.pngbin0 -> 294 bytes
-rw-r--r--web/static/images/emoji/flag-au.pngbin0 -> 1730 bytes
-rw-r--r--web/static/images/emoji/flag-aw.pngbin0 -> 597 bytes
-rw-r--r--web/static/images/emoji/flag-az.pngbin0 -> 777 bytes
-rw-r--r--web/static/images/emoji/flag-ba.pngbin0 -> 1530 bytes
-rw-r--r--web/static/images/emoji/flag-bb.pngbin0 -> 728 bytes
-rw-r--r--web/static/images/emoji/flag-bd.pngbin0 -> 708 bytes
-rw-r--r--web/static/images/emoji/flag-be.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/flag-bf.pngbin0 -> 782 bytes
-rw-r--r--web/static/images/emoji/flag-bg.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-bh.pngbin0 -> 792 bytes
-rw-r--r--web/static/images/emoji/flag-bi.pngbin0 -> 1979 bytes
-rw-r--r--web/static/images/emoji/flag-bj.pngbin0 -> 531 bytes
-rw-r--r--web/static/images/emoji/flag-bm.pngbin0 -> 2186 bytes
-rw-r--r--web/static/images/emoji/flag-bn.pngbin0 -> 2422 bytes
-rw-r--r--web/static/images/emoji/flag-bo.pngbin0 -> 950 bytes
-rw-r--r--web/static/images/emoji/flag-br.pngbin0 -> 1649 bytes
-rw-r--r--web/static/images/emoji/flag-bs.pngbin0 -> 802 bytes
-rw-r--r--web/static/images/emoji/flag-bt.pngbin0 -> 2702 bytes
-rw-r--r--web/static/images/emoji/flag-bw.pngbin0 -> 303 bytes
-rw-r--r--web/static/images/emoji/flag-by.pngbin0 -> 1709 bytes
-rw-r--r--web/static/images/emoji/flag-bz.pngbin0 -> 2138 bytes
-rw-r--r--web/static/images/emoji/flag-ca.pngbin0 -> 747 bytes
-rw-r--r--web/static/images/emoji/flag-cd.pngbin0 -> 1915 bytes
-rw-r--r--web/static/images/emoji/flag-cf.pngbin0 -> 611 bytes
-rw-r--r--web/static/images/emoji/flag-cg.pngbin0 -> 1149 bytes
-rw-r--r--web/static/images/emoji/flag-ch.pngbin0 -> 468 bytes
-rw-r--r--web/static/images/emoji/flag-ci.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/flag-cl.pngbin0 -> 691 bytes
-rw-r--r--web/static/images/emoji/flag-cm.pngbin0 -> 619 bytes
-rw-r--r--web/static/images/emoji/flag-cn.pngbin0 -> 697 bytes
-rw-r--r--web/static/images/emoji/flag-co.pngbin0 -> 405 bytes
-rw-r--r--web/static/images/emoji/flag-cr.pngbin0 -> 298 bytes
-rw-r--r--web/static/images/emoji/flag-cu.pngbin0 -> 1074 bytes
-rw-r--r--web/static/images/emoji/flag-cv.pngbin0 -> 959 bytes
-rw-r--r--web/static/images/emoji/flag-cy.pngbin0 -> 1183 bytes
-rw-r--r--web/static/images/emoji/flag-cz.pngbin0 -> 889 bytes
-rw-r--r--web/static/images/emoji/flag-de.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-dj.pngbin0 -> 1155 bytes
-rw-r--r--web/static/images/emoji/flag-dk.pngbin0 -> 310 bytes
-rw-r--r--web/static/images/emoji/flag-dm.pngbin0 -> 1481 bytes
-rw-r--r--web/static/images/emoji/flag-do.pngbin0 -> 927 bytes
-rw-r--r--web/static/images/emoji/flag-dz.pngbin0 -> 1052 bytes
-rw-r--r--web/static/images/emoji/flag-ec.pngbin0 -> 1587 bytes
-rw-r--r--web/static/images/emoji/flag-ee.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-eg.pngbin0 -> 843 bytes
-rw-r--r--web/static/images/emoji/flag-eh.pngbin0 -> 1068 bytes
-rw-r--r--web/static/images/emoji/flag-er.pngbin0 -> 1973 bytes
-rw-r--r--web/static/images/emoji/flag-es.pngbin0 -> 1197 bytes
-rw-r--r--web/static/images/emoji/flag-et.pngbin0 -> 1280 bytes
-rw-r--r--web/static/images/emoji/flag-fi.pngbin0 -> 312 bytes
-rw-r--r--web/static/images/emoji/flag-fj.pngbin0 -> 2293 bytes
-rw-r--r--web/static/images/emoji/flag-fk.pngbin0 -> 2245 bytes
-rw-r--r--web/static/images/emoji/flag-fm.pngbin0 -> 744 bytes
-rw-r--r--web/static/images/emoji/flag-fo.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/flag-fr.pngbin0 -> 432 bytes
-rw-r--r--web/static/images/emoji/flag-ga.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-gb.pngbin0 -> 2050 bytes
-rw-r--r--web/static/images/emoji/flag-gd.pngbin0 -> 1441 bytes
-rw-r--r--web/static/images/emoji/flag-ge.pngbin0 -> 876 bytes
-rw-r--r--web/static/images/emoji/flag-gh.pngbin0 -> 639 bytes
-rw-r--r--web/static/images/emoji/flag-gi.pngbin0 -> 2223 bytes
-rw-r--r--web/static/images/emoji/flag-gl.pngbin0 -> 818 bytes
-rw-r--r--web/static/images/emoji/flag-gm.pngbin0 -> 419 bytes
-rw-r--r--web/static/images/emoji/flag-gn.pngbin0 -> 363 bytes
-rw-r--r--web/static/images/emoji/flag-gq.pngbin0 -> 1239 bytes
-rw-r--r--web/static/images/emoji/flag-gr.pngbin0 -> 363 bytes
-rw-r--r--web/static/images/emoji/flag-gt.pngbin0 -> 1365 bytes
-rw-r--r--web/static/images/emoji/flag-gu.pngbin0 -> 1531 bytes
-rw-r--r--web/static/images/emoji/flag-gw.pngbin0 -> 719 bytes
-rw-r--r--web/static/images/emoji/flag-gy.pngbin0 -> 1323 bytes
-rw-r--r--web/static/images/emoji/flag-hk.pngbin0 -> 1191 bytes
-rw-r--r--web/static/images/emoji/flag-hn.pngbin0 -> 699 bytes
-rw-r--r--web/static/images/emoji/flag-hr.pngbin0 -> 1615 bytes
-rw-r--r--web/static/images/emoji/flag-ht.pngbin0 -> 1721 bytes
-rw-r--r--web/static/images/emoji/flag-hu.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-id.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/flag-ie.pngbin0 -> 359 bytes
-rw-r--r--web/static/images/emoji/flag-il.pngbin0 -> 714 bytes
-rw-r--r--web/static/images/emoji/flag-in.pngbin0 -> 954 bytes
-rw-r--r--web/static/images/emoji/flag-iq.pngbin0 -> 993 bytes
-rw-r--r--web/static/images/emoji/flag-ir.pngbin0 -> 874 bytes
-rw-r--r--web/static/images/emoji/flag-is.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/flag-it.pngbin0 -> 367 bytes
-rw-r--r--web/static/images/emoji/flag-je.pngbin0 -> 1983 bytes
-rw-r--r--web/static/images/emoji/flag-jm.pngbin0 -> 1727 bytes
-rw-r--r--web/static/images/emoji/flag-jo.pngbin0 -> 1156 bytes
-rw-r--r--web/static/images/emoji/flag-jp.pngbin0 -> 598 bytes
-rw-r--r--web/static/images/emoji/flag-ke.pngbin0 -> 1520 bytes
-rw-r--r--web/static/images/emoji/flag-kg.pngbin0 -> 1345 bytes
-rw-r--r--web/static/images/emoji/flag-kh.pngbin0 -> 1240 bytes
-rw-r--r--web/static/images/emoji/flag-ki.pngbin0 -> 2452 bytes
-rw-r--r--web/static/images/emoji/flag-km.pngbin0 -> 1416 bytes
-rw-r--r--web/static/images/emoji/flag-kn.pngbin0 -> 2065 bytes
-rw-r--r--web/static/images/emoji/flag-kp.pngbin0 -> 856 bytes
-rw-r--r--web/static/images/emoji/flag-kr.pngbin0 -> 1235 bytes
-rw-r--r--web/static/images/emoji/flag-kw.pngbin0 -> 755 bytes
-rw-r--r--web/static/images/emoji/flag-ky.pngbin0 -> 2335 bytes
-rw-r--r--web/static/images/emoji/flag-kz.pngbin0 -> 1738 bytes
-rw-r--r--web/static/images/emoji/flag-la.pngbin0 -> 601 bytes
-rw-r--r--web/static/images/emoji/flag-lb.pngbin0 -> 847 bytes
-rw-r--r--web/static/images/emoji/flag-lc.pngbin0 -> 961 bytes
-rw-r--r--web/static/images/emoji/flag-li.pngbin0 -> 1054 bytes
-rw-r--r--web/static/images/emoji/flag-lk.pngbin0 -> 1702 bytes
-rw-r--r--web/static/images/emoji/flag-lr.pngbin0 -> 825 bytes
-rw-r--r--web/static/images/emoji/flag-ls.pngbin0 -> 869 bytes
-rw-r--r--web/static/images/emoji/flag-lt.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-lu.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-lv.pngbin0 -> 295 bytes
-rw-r--r--web/static/images/emoji/flag-ly.pngbin0 -> 836 bytes
-rw-r--r--web/static/images/emoji/flag-ma.pngbin0 -> 895 bytes
-rw-r--r--web/static/images/emoji/flag-mc.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/flag-md.pngbin0 -> 1324 bytes
-rw-r--r--web/static/images/emoji/flag-me.pngbin0 -> 1903 bytes
-rw-r--r--web/static/images/emoji/flag-mg.pngbin0 -> 465 bytes
-rw-r--r--web/static/images/emoji/flag-mh.pngbin0 -> 2043 bytes
-rw-r--r--web/static/images/emoji/flag-mk.pngbin0 -> 1987 bytes
-rw-r--r--web/static/images/emoji/flag-ml.pngbin0 -> 361 bytes
-rw-r--r--web/static/images/emoji/flag-mm.pngbin0 -> 1027 bytes
-rw-r--r--web/static/images/emoji/flag-mn.pngbin0 -> 817 bytes
-rw-r--r--web/static/images/emoji/flag-mo.pngbin0 -> 1314 bytes
-rw-r--r--web/static/images/emoji/flag-mr.pngbin0 -> 881 bytes
-rw-r--r--web/static/images/emoji/flag-ms.pngbin0 -> 1901 bytes
-rw-r--r--web/static/images/emoji/flag-mt.pngbin0 -> 840 bytes
-rw-r--r--web/static/images/emoji/flag-mu.pngbin0 -> 408 bytes
-rw-r--r--web/static/images/emoji/flag-mv.pngbin0 -> 630 bytes
-rw-r--r--web/static/images/emoji/flag-mw.pngbin0 -> 907 bytes
-rw-r--r--web/static/images/emoji/flag-mx.pngbin0 -> 1282 bytes
-rw-r--r--web/static/images/emoji/flag-my.pngbin0 -> 924 bytes
-rw-r--r--web/static/images/emoji/flag-mz.pngbin0 -> 1518 bytes
-rw-r--r--web/static/images/emoji/flag-na.pngbin0 -> 2190 bytes
-rw-r--r--web/static/images/emoji/flag-nc.pngbin0 -> 1313 bytes
-rw-r--r--web/static/images/emoji/flag-ne.pngbin0 -> 707 bytes
-rw-r--r--web/static/images/emoji/flag-ng.pngbin0 -> 304 bytes
-rw-r--r--web/static/images/emoji/flag-ni.pngbin0 -> 838 bytes
-rw-r--r--web/static/images/emoji/flag-nl.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-no.pngbin0 -> 328 bytes
-rw-r--r--web/static/images/emoji/flag-np.pngbin0 -> 1507 bytes
-rw-r--r--web/static/images/emoji/flag-nr.pngbin0 -> 607 bytes
-rw-r--r--web/static/images/emoji/flag-nu.pngbin0 -> 1539 bytes
-rw-r--r--web/static/images/emoji/flag-nz.pngbin0 -> 1568 bytes
-rw-r--r--web/static/images/emoji/flag-om.pngbin0 -> 871 bytes
-rw-r--r--web/static/images/emoji/flag-pa.pngbin0 -> 835 bytes
-rw-r--r--web/static/images/emoji/flag-pe.pngbin0 -> 304 bytes
-rw-r--r--web/static/images/emoji/flag-pf.pngbin0 -> 970 bytes
-rw-r--r--web/static/images/emoji/flag-pg.pngbin0 -> 1710 bytes
-rw-r--r--web/static/images/emoji/flag-ph.pngbin0 -> 1355 bytes
-rw-r--r--web/static/images/emoji/flag-pk.pngbin0 -> 952 bytes
-rw-r--r--web/static/images/emoji/flag-pl.pngbin0 -> 399 bytes
-rw-r--r--web/static/images/emoji/flag-pr.pngbin0 -> 1087 bytes
-rw-r--r--web/static/images/emoji/flag-ps.pngbin0 -> 864 bytes
-rw-r--r--web/static/images/emoji/flag-pt.pngbin0 -> 1570 bytes
-rw-r--r--web/static/images/emoji/flag-pw.pngbin0 -> 639 bytes
-rw-r--r--web/static/images/emoji/flag-py.pngbin0 -> 1081 bytes
-rw-r--r--web/static/images/emoji/flag-qa.pngbin0 -> 818 bytes
-rw-r--r--web/static/images/emoji/flag-ro.pngbin0 -> 364 bytes
-rw-r--r--web/static/images/emoji/flag-rs.pngbin0 -> 1647 bytes
-rw-r--r--web/static/images/emoji/flag-ru.pngbin0 -> 407 bytes
-rw-r--r--web/static/images/emoji/flag-rw.pngbin0 -> 1038 bytes
-rw-r--r--web/static/images/emoji/flag-sa.pngbin0 -> 1910 bytes
-rw-r--r--web/static/images/emoji/flag-sb.pngbin0 -> 1731 bytes
-rw-r--r--web/static/images/emoji/flag-sc.pngbin0 -> 1639 bytes
-rw-r--r--web/static/images/emoji/flag-sd.pngbin0 -> 875 bytes
-rw-r--r--web/static/images/emoji/flag-se.pngbin0 -> 310 bytes
-rw-r--r--web/static/images/emoji/flag-sg.pngbin0 -> 926 bytes
-rw-r--r--web/static/images/emoji/flag-sh.pngbin0 -> 2179 bytes
-rw-r--r--web/static/images/emoji/flag-si.pngbin0 -> 930 bytes
-rw-r--r--web/static/images/emoji/flag-sk.pngbin0 -> 1111 bytes
-rw-r--r--web/static/images/emoji/flag-sl.pngbin0 -> 387 bytes
-rw-r--r--web/static/images/emoji/flag-sm.pngbin0 -> 2475 bytes
-rw-r--r--web/static/images/emoji/flag-sn.pngbin0 -> 654 bytes
-rw-r--r--web/static/images/emoji/flag-so.pngbin0 -> 752 bytes
-rw-r--r--web/static/images/emoji/flag-sr.pngbin0 -> 575 bytes
-rw-r--r--web/static/images/emoji/flag-st.pngbin0 -> 1118 bytes
-rw-r--r--web/static/images/emoji/flag-sv.pngbin0 -> 977 bytes
-rw-r--r--web/static/images/emoji/flag-sy.pngbin0 -> 811 bytes
-rw-r--r--web/static/images/emoji/flag-sz.pngbin0 -> 1094 bytes
-rw-r--r--web/static/images/emoji/flag-td.pngbin0 -> 356 bytes
-rw-r--r--web/static/images/emoji/flag-tg.pngbin0 -> 733 bytes
-rw-r--r--web/static/images/emoji/flag-th.pngbin0 -> 298 bytes
-rw-r--r--web/static/images/emoji/flag-tj.pngbin0 -> 775 bytes
-rw-r--r--web/static/images/emoji/flag-tl.pngbin0 -> 1488 bytes
-rw-r--r--web/static/images/emoji/flag-tm.pngbin0 -> 2713 bytes
-rw-r--r--web/static/images/emoji/flag-tn.pngbin0 -> 1086 bytes
-rw-r--r--web/static/images/emoji/flag-to.pngbin0 -> 427 bytes
-rw-r--r--web/static/images/emoji/flag-tr.pngbin0 -> 849 bytes
-rw-r--r--web/static/images/emoji/flag-tt.pngbin0 -> 1721 bytes
-rw-r--r--web/static/images/emoji/flag-tv.pngbin0 -> 1705 bytes
-rw-r--r--web/static/images/emoji/flag-tw.pngbin0 -> 848 bytes
-rw-r--r--web/static/images/emoji/flag-tz.pngbin0 -> 1800 bytes
-rw-r--r--web/static/images/emoji/flag-ua.pngbin0 -> 400 bytes
-rw-r--r--web/static/images/emoji/flag-ug.pngbin0 -> 910 bytes
-rw-r--r--web/static/images/emoji/flag-us.pngbin0 -> 1324 bytes
-rw-r--r--web/static/images/emoji/flag-uy.pngbin0 -> 1136 bytes
-rw-r--r--web/static/images/emoji/flag-uz.pngbin0 -> 918 bytes
-rw-r--r--web/static/images/emoji/flag-va.pngbin0 -> 1366 bytes
-rw-r--r--web/static/images/emoji/flag-vc.pngbin0 -> 889 bytes
-rw-r--r--web/static/images/emoji/flag-ve.pngbin0 -> 913 bytes
-rw-r--r--web/static/images/emoji/flag-vi.pngbin0 -> 2547 bytes
-rw-r--r--web/static/images/emoji/flag-vn.pngbin0 -> 707 bytes
-rw-r--r--web/static/images/emoji/flag-vu.pngbin0 -> 1642 bytes
-rw-r--r--web/static/images/emoji/flag-wf.pngbin0 -> 347 bytes
-rw-r--r--web/static/images/emoji/flag-ws.pngbin0 -> 738 bytes
-rw-r--r--web/static/images/emoji/flag-xk.pngbin0 -> 1196 bytes
-rw-r--r--web/static/images/emoji/flag-ye.pngbin0 -> 406 bytes
-rw-r--r--web/static/images/emoji/flag-za.pngbin0 -> 1651 bytes
-rw-r--r--web/static/images/emoji/flag-zm.pngbin0 -> 827 bytes
-rw-r--r--web/static/images/emoji/flag-zw.pngbin0 -> 1567 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/flags.pngbin6124 -> 1769 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/flashlight.pngbin5024 -> 1373 bytes
-rw-r--r--web/static/images/emoji/flipper.pngbin0 -> 1980 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/floppy_disk.pngbin3215 -> 523 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/flower_playing_cards.pngbin3434 -> 1055 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/flushed.pngbin5845 -> 2712 bytes
-rw-r--r--web/static/images/emoji/fog.pngbin0 -> 2799 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/foggy.pngbin4623 -> 2847 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/football.pngbin6712 -> 2786 bytes
-rw-r--r--web/static/images/emoji/footprints.pngbin0 -> 1766 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fork_and_knife.pngbin3608 -> 1055 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fountain.pngbin5087 -> 1706 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/four.pngbin3176 -> 891 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/four_leaf_clover.pngbin5995 -> 1649 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fr.pngbin3398 -> 432 bytes
-rw-r--r--web/static/images/emoji/frame_with_picture.pngbin0 -> 1989 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/free.pngbin3605 -> 1078 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fried_shrimp.pngbin7550 -> 2111 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fries.pngbin6405 -> 3028 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/frog.pngbin4823 -> 2385 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/frowning.pngbin4733 -> 1931 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fu.pngbin4687 -> 4687 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/fuelpump.pngbin4296 -> 2054 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/full_moon.pngbin6458 -> 1371 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/full_moon_with_face.pngbin7165 -> 2622 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/game_die.pngbin2956 -> 2043 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gb.pngbin5894 -> 2050 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gem.pngbin4855 -> 1769 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gemini.pngbin4296 -> 1520 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ghost.pngbin4513 -> 1827 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gift.pngbin6712 -> 2876 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gift_heart.pngbin6013 -> 2059 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/girl.pngbin6314 -> 1514 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/globe_with_meridians.pngbin5837 -> 2519 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/goat.pngbin4889 -> 1928 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/goberserk.pngbin1334 -> 1334 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/godmode.pngbin1042 -> 1042 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/golf.pngbin3548 -> 1809 bytes
-rw-r--r--web/static/images/emoji/golfer.pngbin0 -> 2075 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grapes.pngbin5423 -> 1860 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/green_apple.pngbin6205 -> 1436 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/green_book.pngbin5090 -> 1638 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/green_heart.pngbin4432 -> 1207 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grey_exclamation.pngbin790 -> 666 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grey_question.pngbin1057 -> 1002 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grimacing.pngbin5327 -> 2264 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grin.pngbin5721 -> 2001 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/grinning.pngbin5550 -> 2255 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/guardsman.pngbin3587 -> 1491 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/guitar.pngbin4382 -> 2052 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/gun.pngbin3161 -> 1661 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/haircut.pngbin7100 -> 3985 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hamburger.pngbin5706 -> 2608 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hammer.pngbin3670 -> 1612 bytes
-rw-r--r--web/static/images/emoji/hammer_and_wrench.pngbin0 -> 2844 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hamster.pngbin7221 -> 3265 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hand.pngbin4161 -> 756 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/handbag.pngbin5449 -> 1982 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hankey.pngbin4754 -> 3991 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hash.pngbin3742 -> 1250 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hatched_chick.pngbin5646 -> 1936 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hatching_chick.pngbin5928 -> 2372 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/headphones.pngbin1910 -> 1693 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hear_no_evil.pngbin6550 -> 3411 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heart.pngbin3302 -> 1236 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heart_decoration.pngbin3507 -> 1072 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heart_eyes.pngbin5758 -> 2295 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heart_eyes_cat.pngbin6176 -> 3430 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heartbeat.pngbin4052 -> 1720 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heartpulse.pngbin6269 -> 2240 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hearts.pngbin2925 -> 1067 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_check_mark.pngbin924 -> 1066 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_division_sign.pngbin264 -> 704 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_dollar_sign.pngbin1150 -> 1134 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_exclamation_mark.pngbin1315 -> 737 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_minus_sign.pngbin176 -> 324 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_multiplication_x.pngbin591 -> 940 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/heavy_plus_sign.pngbin264 -> 400 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/helicopter.pngbin4100 -> 1653 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/herb.pngbin5889 -> 2437 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hibiscus.pngbin8322 -> 2466 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/high_brightness.pngbin4060 -> 1607 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/high_heel.pngbin4557 -> 1804 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hocho.pngbin2455 -> 1426 bytes
-rw-r--r--web/static/images/emoji/hole.pngbin0 -> 435 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/honey_pot.pngbin5830 -> 2425 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/honeybee.pngbin5851 -> 2243 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/horse.pngbin4582 -> 2460 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/horse_racing.pngbin5905 -> 1739 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hospital.pngbin4887 -> 918 bytes
-rw-r--r--web/static/images/emoji/hot_pepper.pngbin0 -> 2828 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hotel.pngbin5123 -> 841 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hotsprings.pngbin3538 -> 2577 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hourglass.pngbin4492 -> 1684 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hourglass_flowing_sand.pngbin4291 -> 1612 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/house.pngbin3510 -> 1914 bytes
-rw-r--r--web/static/images/emoji/house_buildings.pngbin0 -> 2627 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/house_with_garden.pngbin6089 -> 3251 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hurtrealbad.pngbin1456 -> 1456 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/hushed.pngbin4941 -> 2503 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ice_cream.pngbin5469 -> 1117 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/icecream.pngbin4603 -> 2862 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/id.pngbin3905 -> 1167 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ideograph_advantage.pngbin3088 -> 2036 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/imp.pngbin6621 -> 2467 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/inbox_tray.pngbin3700 -> 774 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/incoming_envelope.pngbin2206 -> 1548 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/information_desk_person.pngbin6605 -> 3314 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/information_source.pngbin3670 -> 704 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/innocent.pngbin7000 -> 2466 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/interrobang.pngbin2875 -> 1682 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/iphone.pngbin3499 -> 874 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/it.pngbin3495 -> 367 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/izakaya_lantern.pngbin4064 -> 1042 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/jack_o_lantern.pngbin5633 -> 2263 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/japan.pngbin4085 -> 1468 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/japanese_castle.pngbin4939 -> 755 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/japanese_goblin.pngbin5159 -> 2789 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/japanese_ogre.pngbin7147 -> 4549 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/jeans.pngbin3470 -> 1298 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/joy.pngbin6339 -> 2673 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/joy_cat.pngbin7190 -> 3538 bytes
-rw-r--r--web/static/images/emoji/joystick.pngbin0 -> 1919 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/jp.pngbin2827 -> 598 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/key.pngbin3452 -> 1260 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/keycap_ten.pngbin4095 -> 1372 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kimono.pngbin4938 -> 2913 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kiss.pngbin6276 -> 1692 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kissing.pngbin4790 -> 2064 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kissing_cat.pngbin6801 -> 3165 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kissing_closed_eyes.pngbin5563 -> 2249 bytes
-rwxr-xr-xweb/static/images/emoji/kissing_face.pngbin5563 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kissing_heart.pngbin5767 -> 2511 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kissing_smiling_eyes.pngbin4999 -> 1677 bytes
-rw-r--r--web/static/images/emoji/knife.pngbin0 -> 1426 bytes
-rw-r--r--web/static/images/emoji/knife_fork_plate.pngbin0 -> 2552 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/koala.pngbin5687 -> 2454 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/koko.pngbin2854 -> 579 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/kr.pngbin5105 -> 1235 bytes
-rw-r--r--web/static/images/emoji/label.pngbin0 -> 2895 bytes
-rw-r--r--web/static/images/emoji/lantern.pngbin0 -> 1042 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/large_blue_circle.pngbin4637 -> 985 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/large_blue_diamond.pngbin3790 -> 251 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/large_orange_diamond.pngbin3849 -> 259 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/last_quarter_moon.pngbin6149 -> 1829 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/last_quarter_moon_with_face.pngbin4328 -> 1684 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/laughing.pngbin6347 -> 2047 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/leaves.pngbin5571 -> 2842 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ledger.pngbin5921 -> 2565 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/left_luggage.pngbin4025 -> 952 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/left_right_arrow.pngbin3413 -> 977 bytes
-rw-r--r--web/static/images/emoji/left_speech_bubble.pngbin0 -> 697 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/leftwards_arrow_with_hook.pngbin3775 -> 1079 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lemon.pngbin6055 -> 1776 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/leo.pngbin4913 -> 1879 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/leopard.pngbin5348 -> 3543 bytes
-rw-r--r--web/static/images/emoji/level_slider.pngbin0 -> 793 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/libra.pngbin4218 -> 1701 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/light_rail.pngbin3792 -> 1091 bytes
-rw-r--r--web/static/images/emoji/lightning.pngbin0 -> 1056 bytes
-rw-r--r--web/static/images/emoji/lightning_cloud.pngbin0 -> 1056 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/link.pngbin2619 -> 1634 bytes
-rw-r--r--web/static/images/emoji/linked_paperclips.pngbin0 -> 3222 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lips.pngbin3738 -> 1556 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lipstick.pngbin3384 -> 832 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lock.pngbin3676 -> 780 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lock_with_ink_pen.pngbin4967 -> 1592 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/lollipop.pngbin5771 -> 2409 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/loop.pngbin3417 -> 1394 bytes
-rw-r--r--web/static/images/emoji/loud_sound.pngbin0 -> 2331 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/loudspeaker.pngbin6001 -> 2119 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/love_hotel.pngbin5941 -> 1232 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/love_letter.pngbin2467 -> 1878 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/low_brightness.pngbin2498 -> 1407 bytes
-rw-r--r--web/static/images/emoji/lower_left_ballpoint_pen.pngbin0 -> 1628 bytes
-rw-r--r--web/static/images/emoji/lower_left_crayon.pngbin0 -> 1398 bytes
-rw-r--r--web/static/images/emoji/lower_left_fountain_pen.pngbin0 -> 1666 bytes
-rw-r--r--web/static/images/emoji/lower_left_paintbrush.pngbin0 -> 1080 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/m.pngbin4734 -> 2025 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mag.pngbin3040 -> 2385 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mag_right.pngbin3629 -> 2407 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mahjong.pngbin3309 -> 1211 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mailbox.pngbin4196 -> 836 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mailbox_closed.pngbin4360 -> 823 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mailbox_with_mail.pngbin4581 -> 868 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mailbox_with_no_mail.pngbin3101 -> 809 bytes
-rw-r--r--web/static/images/emoji/man-woman-boy.pngbin0 -> 4120 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/man.pngbin6023 -> 1303 bytes
-rw-r--r--web/static/images/emoji/man_and_woman_holding_hands.pngbin0 -> 2209 bytes
-rw-r--r--web/static/images/emoji/man_in_business_suit_levitating.pngbin0 -> 1761 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/man_with_gua_pi_mao.pngbin5324 -> 1722 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/man_with_turban.pngbin6528 -> 2482 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mans_shoe.pngbin4749 -> 1529 bytes
-rw-r--r--web/static/images/emoji/mantelpiece_clock.pngbin0 -> 1856 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/maple_leaf.pngbin4450 -> 2400 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mask.pngbin5235 -> 2188 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/massage.pngbin6036 -> 3318 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/meat_on_bone.pngbin5425 -> 1969 bytes
-rw-r--r--web/static/images/emoji/medal.pngbin0 -> 1125 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mega.pngbin4680 -> 1134 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/melon.pngbin8233 -> 2931 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/memo.pngbin4945 -> 2127 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mens.pngbin3368 -> 943 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/metal.pngbin3098 -> 3098 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/metro.pngbin3402 -> 1877 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/microphone.pngbin3680 -> 2823 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/microscope.pngbin4130 -> 1945 bytes
-rw-r--r--web/static/images/emoji/middle_finger.pngbin0 -> 1673 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/milky_way.pngbin5878 -> 3185 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/minibus.pngbin3113 -> 2543 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/minidisc.pngbin5594 -> 1449 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mobile_phone_off.pngbin3521 -> 1223 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/money_with_wings.pngbin7584 -> 2699 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/moneybag.pngbin5500 -> 1953 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/monkey.pngbin4973 -> 2415 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/monkey_face.pngbin5348 -> 2837 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/monorail.pngbin4311 -> 998 bytes
-rw-r--r--web/static/images/emoji/moon.pngbin0 -> 1974 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mortar_board.pngbin4164 -> 2038 bytes
-rw-r--r--web/static/images/emoji/motor_boat.pngbin0 -> 866 bytes
-rw-r--r--web/static/images/emoji/motorway.pngbin0 -> 1470 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mount_fuji.pngbin5004 -> 1484 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mountain_bicyclist.pngbin9511 -> 2015 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mountain_cableway.pngbin4405 -> 1520 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mountain_railway.pngbin7448 -> 1802 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mouse.pngbin6625 -> 2384 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mouse2.pngbin4087 -> 1854 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/movie_camera.pngbin4081 -> 1491 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/moyai.pngbin2166 -> 1909 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/muscle.pngbin4672 -> 1731 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mushroom.pngbin4887 -> 1903 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/musical_keyboard.pngbin1944 -> 998 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/musical_note.pngbin3188 -> 1255 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/musical_score.pngbin1497 -> 946 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/mute.pngbin6635 -> 2662 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/nail_care.pngbin5814 -> 2297 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/name_badge.pngbin3985 -> 1662 bytes
-rw-r--r--web/static/images/emoji/national_park.pngbin0 -> 1722 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/neckbeard.pngbin6247 -> 6247 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/necktie.pngbin6116 -> 2115 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/negative_squared_cross_mark.pngbin3853 -> 950 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/neutral_face.pngbin4843 -> 1763 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/new.pngbin3927 -> 1431 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/new_moon.pngbin5276 -> 918 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/new_moon_with_face.pngbin6708 -> 2518 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/newspaper.pngbin5180 -> 2741 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ng.pngbin4201 -> 1462 bytes
-rw-r--r--web/static/images/emoji/night_with_stars.pngbin0 -> 1875 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/nine.pngbin3776 -> 1267 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_bell.pngbin5944 -> 2414 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_bicycles.pngbin5661 -> 2663 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_entry.pngbin3514 -> 1496 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_entry_sign.pngbin3287 -> 2126 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_good.pngbin7034 -> 3133 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_mobile_phones.pngbin5083 -> 1923 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_mouth.pngbin4632 -> 1713 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_pedestrians.pngbin5485 -> 2290 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/no_smoking.pngbin4212 -> 1394 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/non-potable_water.pngbin5202 -> 2254 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/nose.pngbin3703 -> 1243 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/notebook.pngbin6001 -> 1440 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/notebook_with_decorative_cover.pngbin5329 -> 1571 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/notes.pngbin1536 -> 1737 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/nut_and_bolt.pngbin2169 -> 1162 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/o.pngbin2538 -> 2049 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/o2.pngbin3498 -> 1345 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ocean.pngbin5777 -> 2317 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/octocat.pngbin3738 -> 3738 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/octopus.pngbin5779 -> 2820 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/oden.pngbin5543 -> 2142 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/office.pngbin5156 -> 771 bytes
-rw-r--r--web/static/images/emoji/oil_drum.pngbin0 -> 1982 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ok.pngbin4158 -> 1609 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ok_hand.pngbin4598 -> 1893 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ok_woman.pngbin7527 -> 3833 bytes
-rw-r--r--web/static/images/emoji/old_key.pngbin0 -> 1252 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/older_man.pngbin6733 -> 1434 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/older_woman.pngbin5977 -> 1642 bytes
-rw-r--r--web/static/images/emoji/om_symbol.pngbin0 -> 2831 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/on.pngbin1472 -> 1811 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/oncoming_automobile.pngbin7469 -> 1986 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/oncoming_bus.pngbin5305 -> 1268 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/oncoming_police_car.pngbin5683 -> 1886 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/oncoming_taxi.pngbin6287 -> 1978 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/one.pngbin2825 -> 648 bytes
-rw-r--r--web/static/images/emoji/open_book.pngbin0 -> 1152 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/open_file_folder.pngbin4292 -> 1870 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/open_hands.pngbin4950 -> 2210 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/open_mouth.pngbin4519 -> 1952 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ophiuchus.pngbin4434 -> 1262 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/orange_book.pngbin5085 -> 1602 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/outbox_tray.pngbin3683 -> 796 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ox.pngbin5935 -> 2815 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/package.pngbin8449 -> 2021 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/page_facing_up.pngbin2178 -> 840 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/page_with_curl.pngbin3715 -> 1117 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pager.pngbin4022 -> 1013 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/palm_tree.pngbin3663 -> 2928 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/panda_face.pngbin4814 -> 2580 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/paperclip.pngbin2478 -> 1802 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/parking.pngbin3083 -> 869 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/part_alternation_mark.pngbin2681 -> 1165 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/partly_sunny.pngbin5169 -> 1407 bytes
-rw-r--r--web/static/images/emoji/passenger_ship.pngbin0 -> 2283 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/passport_control.pngbin4018 -> 1617 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/paw_prints.pngbin2471 -> 1451 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/peach.pngbin5920 -> 1129 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pear.pngbin6936 -> 1450 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pencil.pngbin4945 -> 2127 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pencil2.pngbin4348 -> 1830 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/penguin.pngbin4746 -> 2412 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pensive.pngbin5062 -> 1809 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/performing_arts.pngbin6287 -> 2773 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/persevere.pngbin5519 -> 2073 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/person_frowning.pngbin4826 -> 2884 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/person_with_blond_hair.pngbin6622 -> 1501 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/person_with_pouting_face.pngbin5428 -> 2826 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/phone.pngbin5495 -> 2335 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pig.pngbin5996 -> 3318 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pig2.pngbin4797 -> 2473 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pig_nose.pngbin4761 -> 1546 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pill.pngbin5022 -> 1010 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pineapple.pngbin5634 -> 3199 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pisces.pngbin4441 -> 1405 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pizza.pngbin5273 -> 3322 bytes
-rwxr-xr-xweb/static/images/emoji/plus1.pngbin5075 -> 0 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/point_down.pngbin3225 -> 1304 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/point_left.pngbin3085 -> 615 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/point_right.pngbin3079 -> 1294 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/point_up.pngbin3431 -> 1581 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/point_up_2.pngbin3181 -> 1267 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/police_car.pngbin3349 -> 2249 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/poodle.pngbin6852 -> 2342 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/poop.pngbin4754 -> 3991 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/post_office.pngbin5136 -> 975 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/postal_horn.pngbin4735 -> 1867 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/postbox.pngbin3388 -> 942 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/potable_water.pngbin3934 -> 1431 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pouch.pngbin4642 -> 1593 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/poultry_leg.pngbin4200 -> 1371 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pound.pngbin4235 -> 1464 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pouting_cat.pngbin4918 -> 3013 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pray.pngbin6203 -> 1502 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/princess.pngbin7920 -> 3119 bytes
-rw-r--r--web/static/images/emoji/printer.pngbin0 -> 1203 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/punch.pngbin4833 -> 1892 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/purple_heart.pngbin4295 -> 1217 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/purse.pngbin5033 -> 1678 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/pushpin.pngbin3793 -> 1868 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/put_litter_in_its_place.pngbin4091 -> 1196 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/question.pngbin1711 -> 1126 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rabbit.pngbin5677 -> 2296 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rabbit2.pngbin4425 -> 1994 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/racehorse.pngbin4735 -> 2255 bytes
-rw-r--r--web/static/images/emoji/racing_car.pngbin0 -> 3134 bytes
-rw-r--r--web/static/images/emoji/racing_motorcycle.pngbin0 -> 3611 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/radio.pngbin6150 -> 1628 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/radio_button.pngbin2198 -> 1423 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rage.pngbin5410 -> 2361 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rage1.pngbin1086 -> 1086 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rage2.pngbin1098 -> 1098 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rage3.pngbin1119 -> 1119 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rage4.pngbin1270 -> 1270 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/railway_car.pngbin3648 -> 1636 bytes
-rw-r--r--web/static/images/emoji/railway_track.pngbin0 -> 2714 bytes
-rw-r--r--web/static/images/emoji/rain_cloud.pngbin0 -> 1663 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rainbow.pngbin5314 -> 3007 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/raised_hand.pngbin4161 -> 756 bytes
-rw-r--r--web/static/images/emoji/raised_hand_with_fingers_splayed.pngbin0 -> 1539 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/raised_hands.pngbin5375 -> 2568 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/raising_hand.pngbin6177 -> 3497 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ram.pngbin6531 -> 2292 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ramen.pngbin6574 -> 3894 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rat.pngbin5434 -> 1714 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/recycle.pngbin3704 -> 2009 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/red_car.pngbin4278 -> 2216 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/red_circle.pngbin3946 -> 976 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/registered.pngbin1613 -> 1573 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/relaxed.pngbin5455 -> 2350 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/relieved.pngbin5364 -> 1732 bytes
-rw-r--r--web/static/images/emoji/reminder_ribbon.pngbin0 -> 1510 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/repeat.pngbin4009 -> 1459 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/repeat_one.pngbin4287 -> 1578 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/restroom.pngbin4142 -> 1580 bytes
-rw-r--r--web/static/images/emoji/reversed_hand_with_middle_finger_extended.pngbin0 -> 1673 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/revolving_hearts.pngbin5472 -> 2193 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rewind.pngbin3056 -> 966 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ribbon.pngbin5581 -> 1583 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rice.pngbin4645 -> 1855 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rice_ball.pngbin5371 -> 3244 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rice_cracker.pngbin7787 -> 2096 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rice_scene.pngbin6261 -> 2537 bytes
-rw-r--r--web/static/images/emoji/right_anger_bubble.pngbin0 -> 1220 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ring.pngbin5232 -> 2902 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rocket.pngbin5388 -> 2656 bytes
-rw-r--r--web/static/images/emoji/rolled_up_newspaper.pngbin0 -> 2746 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/roller_coaster.pngbin5148 -> 2869 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rooster.pngbin6168 -> 2508 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rose.pngbin4202 -> 1782 bytes
-rw-r--r--web/static/images/emoji/rosette.pngbin0 -> 2083 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rotating_light.pngbin6620 -> 3086 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/round_pushpin.pngbin1936 -> 1675 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rowboat.pngbin5357 -> 1396 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ru.pngbin3920 -> 407 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/rugby_football.pngbin7781 -> 2012 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/runner.pngbin3137 -> 1219 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/running.pngbin3137 -> 1219 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/running_shirt_with_sash.pngbin5701 -> 1945 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sa.pngbin3556 -> 912 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sagittarius.pngbin4505 -> 906 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sailboat.pngbin3833 -> 2353 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sake.pngbin5073 -> 2181 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sandal.pngbin3974 -> 1683 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/santa.pngbin6271 -> 3413 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/satellite.pngbin4867 -> 2662 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/satisfied.pngbin6347 -> 2047 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/saxophone.pngbin4252 -> 2419 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/school.pngbin5446 -> 1434 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/school_satchel.pngbin5741 -> 918 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/scissors.pngbin3837 -> 2598 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/scorpius.pngbin4566 -> 1359 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/scream.pngbin6482 -> 2777 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/scream_cat.pngbin6844 -> 4005 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/scroll.pngbin6749 -> 1297 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/seat.pngbin6059 -> 2569 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/secret.pngbin5364 -> 2603 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/see_no_evil.pngbin6828 -> 2829 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/seedling.pngbin2190 -> 1633 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/seven.pngbin3055 -> 873 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shaved_ice.pngbin5908 -> 2470 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sheep.pngbin4732 -> 1828 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shell.pngbin5115 -> 1478 bytes
-rw-r--r--web/static/images/emoji/shield.pngbin0 -> 523 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ship.pngbin4233 -> 765 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shipit.pngbin9351 -> 9351 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shirt.pngbin4676 -> 2017 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shit.pngbin4754 -> 3991 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shoe.pngbin4799 -> 1529 bytes
-rw-r--r--web/static/images/emoji/shopping_bags.pngbin0 -> 4175 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/shower.pngbin7520 -> 2117 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/signal_strength.pngbin3231 -> 975 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/six.pngbin3791 -> 1325 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/six_pointed_star.pngbin4854 -> 1714 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ski.pngbin4167 -> 2259 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/skull.pngbin2428 -> 1689 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sleeping.pngbin5409 -> 2326 bytes
-rw-r--r--web/static/images/emoji/sleeping_accommodation.pngbin0 -> 710 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sleepy.pngbin5837 -> 2430 bytes
-rw-r--r--web/static/images/emoji/sleuth_or_spy.pngbin0 -> 2330 bytes
-rw-r--r--web/static/images/emoji/slightly_frowning_face.pngbin0 -> 1926 bytes
-rw-r--r--web/static/images/emoji/slightly_smiling_face.pngbin0 -> 2002 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/slot_machine.pngbin4605 -> 1502 bytes
-rw-r--r--web/static/images/emoji/small_airplane.pngbin0 -> 1910 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/small_blue_diamond.pngbin1817 -> 775 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/small_orange_diamond.pngbin1944 -> 799 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/small_red_triangle.pngbin2054 -> 870 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/small_red_triangle_down.pngbin2157 -> 837 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smile.pngbin5890 -> 1997 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smile_cat.pngbin6117 -> 3141 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smiley.pngbin5794 -> 2473 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smiley_cat.pngbin6083 -> 3557 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smiling_imp.pngbin7189 -> 2408 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smirk.pngbin5307 -> 2071 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smirk_cat.pngbin6062 -> 3727 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/smoking.pngbin2875 -> 1183 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/snail.pngbin6657 -> 2699 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/snake.pngbin4069 -> 2461 bytes
-rw-r--r--web/static/images/emoji/snow_capped_mountain.pngbin0 -> 2628 bytes
-rw-r--r--web/static/images/emoji/snow_cloud.pngbin0 -> 2930 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/snowboarder.pngbin5356 -> 3121 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/snowflake.pngbin5637 -> 2545 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/snowman.pngbin4658 -> 2380 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sob.pngbin5709 -> 2850 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/soccer.pngbin4878 -> 1991 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/soon.pngbin1551 -> 1715 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sos.pngbin4262 -> 1637 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sound.pngbin5024 -> 1878 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/space_invader.pngbin4353 -> 660 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/spades.pngbin1719 -> 1071 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/spaghetti.pngbin6955 -> 3191 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sparkle.pngbin8904 -> 2226 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sparkler.pngbin5696 -> 2420 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sparkles.pngbin2209 -> 1627 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sparkling_heart.pngbin5357 -> 1979 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/speak_no_evil.pngbin5977 -> 3218 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/speaker.pngbin5173 -> 2119 bytes
-rw-r--r--web/static/images/emoji/speaking_head_in_silhouette.pngbin0 -> 1305 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/speech_balloon.pngbin2130 -> 1289 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/speedboat.pngbin3512 -> 1248 bytes
-rw-r--r--web/static/images/emoji/spider.pngbin0 -> 2184 bytes
-rw-r--r--web/static/images/emoji/spider_web.pngbin0 -> 2773 bytes
-rw-r--r--web/static/images/emoji/spiral_calendar_pad.pngbin0 -> 1131 bytes
-rw-r--r--web/static/images/emoji/spiral_note_pad.pngbin0 -> 1159 bytes
-rw-r--r--web/static/images/emoji/spock-hand.pngbin0 -> 1757 bytes
-rw-r--r--web/static/images/emoji/sports_medal.pngbin0 -> 2656 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/squirrel.pngbin9351 -> 9351 bytes
-rw-r--r--web/static/images/emoji/stadium.pngbin0 -> 4111 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/star.pngbin3628 -> 1637 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/star2.pngbin4068 -> 2067 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/stars.pngbin4366 -> 2550 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/station.pngbin4836 -> 2338 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/statue_of_liberty.pngbin6075 -> 1370 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/steam_locomotive.pngbin5159 -> 1978 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/stew.pngbin5365 -> 3337 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/straight_ruler.pngbin3797 -> 1905 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/strawberry.pngbin5477 -> 2836 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/stuck_out_tongue.pngbin5215 -> 2398 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/stuck_out_tongue_closed_eyes.pngbin5785 -> 2480 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/stuck_out_tongue_winking_eye.pngbin6007 -> 2367 bytes
-rw-r--r--web/static/images/emoji/studio_microphone.pngbin0 -> 2054 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sun_with_face.pngbin7958 -> 2002 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sunflower.pngbin6567 -> 3259 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sunglasses.pngbin5730 -> 2472 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sunny.pngbin3802 -> 1733 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sunrise.pngbin3914 -> 3151 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sunrise_over_mountains.pngbin6594 -> 2567 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/surfer.pngbin6259 -> 1973 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sushi.pngbin5257 -> 2939 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/suspect.pngbin1016 -> 1016 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/suspension_railway.pngbin3937 -> 1056 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sweat.pngbin5576 -> 1830 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sweat_drops.pngbin4782 -> 1215 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sweat_smile.pngbin6519 -> 2188 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/sweet_potato.pngbin5551 -> 1814 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/swimmer.pngbin4378 -> 1866 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/symbols.pngbin5434 -> 1763 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/syringe.pngbin3027 -> 1286 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tada.pngbin5945 -> 3788 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tanabata_tree.pngbin4296 -> 1995 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tangerine.pngbin6645 -> 1823 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/taurus.pngbin4733 -> 1932 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/taxi.pngbin3744 -> 2469 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tea.pngbin5954 -> 3072 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/telephone.pngbin5495 -> 2335 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/telephone_receiver.pngbin2001 -> 1774 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/telescope.pngbin3252 -> 2246 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tennis.pngbin5976 -> 1894 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tent.pngbin4482 -> 2461 bytes
-rw-r--r--web/static/images/emoji/thermometer.pngbin0 -> 834 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/thought_balloon.pngbin2521 -> 1040 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/three.pngbin3758 -> 1274 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/thumbsdown.pngbin5070 -> 1604 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/thumbsup.pngbin5075 -> 1714 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/ticket.pngbin3091 -> 771 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tiger.pngbin6051 -> 4005 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tiger2.pngbin5744 -> 4135 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tired_face.pngbin6174 -> 2406 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tm.pngbin842 -> 1013 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/toilet.pngbin1733 -> 1355 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tokyo_tower.pngbin4802 -> 1288 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tomato.pngbin5748 -> 1872 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tongue.pngbin3662 -> 1157 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/top.pngbin3785 -> 564 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tophat.pngbin3009 -> 1974 bytes
-rw-r--r--web/static/images/emoji/tornado.pngbin0 -> 2131 bytes
-rw-r--r--web/static/images/emoji/tornado_cloud.pngbin0 -> 2131 bytes
-rw-r--r--web/static/images/emoji/trackball.pngbin0 -> 2125 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tractor.pngbin5671 -> 3051 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/traffic_light.pngbin3535 -> 1755 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/train.pngbin3905 -> 1220 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/train2.pngbin4817 -> 2622 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tram.pngbin4869 -> 2343 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/triangular_flag_on_post.pngbin1399 -> 407 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/triangular_ruler.pngbin2706 -> 542 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/trident.pngbin4833 -> 2153 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/triumph.pngbin6164 -> 2819 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/trolleybus.pngbin4431 -> 2032 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/trollface.pngbin4901 -> 4901 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/trophy.pngbin5520 -> 2662 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tropical_drink.pngbin4189 -> 2228 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tropical_fish.pngbin5846 -> 2610 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/truck.pngbin3721 -> 2227 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/trumpet.pngbin4373 -> 2813 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tshirt.pngbin4676 -> 2017 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tulip.pngbin6065 -> 1813 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/turtle.pngbin5336 -> 2441 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/tv.pngbin5242 -> 1661 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/twisted_rightwards_arrows.pngbin4313 -> 1548 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/two.pngbin3518 -> 1105 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/two_hearts.pngbin3565 -> 1485 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/two_men_holding_hands.pngbin6994 -> 1670 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/two_women_holding_hands.pngbin7633 -> 2395 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u5272.pngbin4533 -> 931 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u5408.pngbin3890 -> 1176 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u55b6.pngbin3411 -> 994 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u6307.pngbin4103 -> 1393 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u6708.pngbin3011 -> 920 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u6709.pngbin3198 -> 1015 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u6e80.pngbin4419 -> 1467 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u7121.pngbin3942 -> 1313 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u7533.pngbin3048 -> 542 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u7981.pngbin5175 -> 1681 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/u7a7a.pngbin4180 -> 1097 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/uk.pngbin5894 -> 2050 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/umbrella.pngbin4745 -> 2019 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/unamused.pngbin5315 -> 2061 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/underage.pngbin5722 -> 2569 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/unlock.pngbin3551 -> 653 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/up.pngbin3721 -> 1292 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/us.pngbin6285 -> 1324 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/v.pngbin4669 -> 1702 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/vertical_traffic_light.pngbin3422 -> 1856 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/vhs.pngbin3145 -> 1165 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/vibration_mode.pngbin3906 -> 1408 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/video_camera.pngbin5090 -> 906 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/video_game.pngbin4947 -> 2065 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/violin.pngbin4915 -> 2418 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/virgo.pngbin4869 -> 2093 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/volcano.pngbin6167 -> 3024 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/vs.pngbin3424 -> 1560 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/walking.pngbin2468 -> 1132 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/waning_crescent_moon.pngbin5885 -> 1939 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/waning_gibbous_moon.pngbin6443 -> 2036 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/warning.pngbin3173 -> 1360 bytes
-rw-r--r--web/static/images/emoji/wastebasket.pngbin0 -> 2983 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/watch.pngbin5189 -> 1540 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/water_buffalo.pngbin4774 -> 2940 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/watermelon.pngbin5501 -> 2545 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wave.pngbin5046 -> 2210 bytes
-rw-r--r--web/static/images/emoji/waving_black_flag.pngbin0 -> 2164 bytes
-rw-r--r--web/static/images/emoji/waving_white_flag.pngbin0 -> 2233 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wavy_dash.pngbin696 -> 404 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/waxing_crescent_moon.pngbin6198 -> 1951 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/waxing_gibbous_moon.pngbin6357 -> 1974 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wc.pngbin4088 -> 1639 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/weary.pngbin6279 -> 2251 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wedding.pngbin5847 -> 2594 bytes
-rw-r--r--web/static/images/emoji/weight_lifter.pngbin0 -> 1415 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/whale.pngbin4940 -> 2469 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/whale2.pngbin5944 -> 2399 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wheelchair.pngbin4224 -> 1377 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_check_mark.pngbin3445 -> 984 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_circle.pngbin2477 -> 839 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_flower.pngbin4391 -> 2428 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_large_square.pngbin1411 -> 318 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_medium_small_square.pngbin3598 -> 274 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_medium_square.pngbin4192 -> 315 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_small_square.pngbin3068 -> 225 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/white_square_button.pngbin1725 -> 526 bytes
-rw-r--r--web/static/images/emoji/wind_blowing_face.pngbin0 -> 3192 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wind_chime.pngbin3487 -> 1581 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wine_glass.pngbin3151 -> 1707 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wink.pngbin5253 -> 2184 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wolf.pngbin4845 -> 3589 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/woman.pngbin6895 -> 1862 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/womans_clothes.pngbin4075 -> 1775 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/womans_hat.pngbin8101 -> 2769 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/womens.pngbin3892 -> 1077 bytes
-rw-r--r--web/static/images/emoji/world_map.pngbin0 -> 2473 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/worried.pngbin5152 -> 2535 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/wrench.pngbin2775 -> 1546 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/x.pngbin2044 -> 448 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/yellow_heart.pngbin4414 -> 1218 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/yen.pngbin4989 -> 1365 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/yum.pngbin5886 -> 2111 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/zap.pngbin2233 -> 706 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/zero.pngbin3590 -> 1169 bytes
-rw-r--r--[-rwxr-xr-x]web/static/images/emoji/zzz.pngbin2027 -> 1214 bytes
-rw-r--r--web/templates/channel.html10
2516 files changed, 1229 insertions, 1155 deletions
diff --git a/doc/help/Sign-in.md b/doc/help/Sign-in.md
index 728a7d42c..f8e353cce 100644
--- a/doc/help/Sign-in.md
+++ b/doc/help/Sign-in.md
@@ -12,8 +12,12 @@ If you have forgotten your password, you should be able to reset it from the "I
#### GitLab Single-Sign-On (SSO) option
-If available, you can sign in using your GitLab account using a one-click sign-in option. GitLab SSO lets you create teams, create accounts on teams, and sign-in to teams using one username, email address and password that works across everything on the server.
+If available, you can sign in using your GitLab account using a one-click sign-in option. GitLab SSO lets you create teams, create accounts on teams, and sign-in to teams using one username, email address, and password that works across everything on the server.
#### Switching Teams
You can switch among teams you've recently signed into using the main menu in any team site on the server. By default, devices remember which teams you have signed into for 30 days, and this duration is configurable by the System Administrator.
+
+#### Logging Out
+
+You can log out from the main menu, which is accessed by clicking the three dots in the top header on the left side of the screen. Clicking "Logout" logs you out of all the teams you are signed into on the site.
diff --git a/web/react/.eslintrc b/web/react/.eslintrc
index 935bb638a..baaf7eaa5 100644
--- a/web/react/.eslintrc
+++ b/web/react/.eslintrc
@@ -47,7 +47,7 @@
"no-irregular-whitespace": 2,
"no-unexpected-multiline": 2,
"no-unreachable": 2,
- "no-magic-numbers": [1, { "enforceConst": true, "detectObjects": true } ],
+ "no-magic-numbers": [1, { "ignore": [-1, 0, 1, 2], "enforceConst": true, "detectObjects": true } ],
"valid-typeof": 2,
"block-scoped-var": 2,
diff --git a/web/react/components/center_panel.jsx b/web/react/components/center_panel.jsx
index 3c6a36ad4..848e8952e 100644
--- a/web/react/components/center_panel.jsx
+++ b/web/react/components/center_panel.jsx
@@ -13,6 +13,8 @@ import PreferenceStore from '../stores/preference_store.jsx';
import ChannelStore from '../stores/channel_store.jsx';
import UserStore from '../stores/user_store.jsx';
+import * as Utils from '../utils/utils.jsx';
+
import Constants from '../utils/constants.jsx';
const TutorialSteps = Constants.TutorialSteps;
const Preferences = Constants.Preferences;
@@ -46,6 +48,8 @@ export default class CenterPanel extends React.Component {
this.setState({showPostFocus: ChannelStore.getPostMode() === ChannelStore.POST_MODE_FOCUS});
}
render() {
+ const channel = ChannelStore.getCurrent();
+ var handleClick = null;
let postsContainer;
let createPost;
if (this.state.showTutorialScreens) {
@@ -53,7 +57,24 @@ export default class CenterPanel extends React.Component {
createPost = null;
} else if (this.state.showPostFocus) {
postsContainer = <PostFocusView />;
- createPost = null;
+
+ handleClick = function clickHandler(e) {
+ e.preventDefault();
+ Utils.switchChannel(channel);
+ };
+
+ createPost = (
+ <div
+ id='archive-link-home'
+ >
+ <a
+ href=''
+ onClick={handleClick}
+ >
+ {'You are viewing the Archives. Click here to jump to recent messages.'}
+ </a>
+ </div>
+ );
} else {
postsContainer = <PostsViewContainer />;
createPost = (
diff --git a/web/react/components/command_list.jsx b/web/react/components/command_list.jsx
deleted file mode 100644
index 7fc0f79cf..000000000
--- a/web/react/components/command_list.jsx
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import * as client from '../utils/client.jsx';
-
-export default class CommandList extends React.Component {
- constructor(props) {
- super(props);
-
- this.handleClick = this.handleClick.bind(this);
- this.addFirstCommand = this.addFirstCommand.bind(this);
- this.isEmpty = this.isEmpty.bind(this);
- this.getSuggestedCommands = this.getSuggestedCommands.bind(this);
-
- this.state = {
- suggestions: [],
- cmd: ''
- };
- }
-
- handleClick(i) {
- this.props.addCommand(this.state.suggestions[i].suggestion);
- this.setState({suggestions: [], cmd: ''});
- }
-
- addFirstCommand() {
- if (this.state.suggestions.length === 0) {
- return;
- }
- this.handleClick(0);
- }
-
- isEmpty() {
- return this.state.suggestions.length === 0;
- }
-
- getSuggestedCommands(cmd) {
- if (!cmd || cmd.charAt(0) !== '/') {
- this.setState({suggestions: [], cmd: ''});
- return;
- }
-
- client.executeCommand(
- this.props.channelId,
- cmd,
- true,
- function success(data) {
- if (data.suggestions.length === 1 && data.suggestions[0].suggestion === cmd) {
- data.suggestions = [];
- }
- this.setState({suggestions: data.suggestions, cmd: cmd});
- }.bind(this),
- function fail() {
- }
- );
- }
-
- render() {
- if (this.state.suggestions.length === 0) {
- return (<div/>);
- }
-
- var suggestions = [];
-
- for (var i = 0; i < this.state.suggestions.length; i++) {
- if (this.state.suggestions[i].suggestion !== this.state.cmd) {
- suggestions.push(
- <div
- key={i}
- className='command-name'
- onClick={this.handleClick.bind(this, i)}
- >
- <div className='command__title'><strong>{this.state.suggestions[i].suggestion}</strong></div>
- <div className='command__desc'>{this.state.suggestions[i].description}</div>
- </div>
- );
- }
- }
-
- return (
- <div
- ref='mentionlist'
- className='command-box'
- style={{height: (suggestions.length * 56) + 2}}
- >
- {suggestions}
- </div>
- );
- }
-}
-
-CommandList.defaultProps = {
- channelId: null
-};
-
-CommandList.propTypes = {
- addCommand: React.PropTypes.func,
- channelId: React.PropTypes.string
-};
diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx
index 8ceda1cf7..fac40e895 100644
--- a/web/react/components/create_comment.jsx
+++ b/web/react/components/create_comment.jsx
@@ -34,7 +34,6 @@ export default class CreateComment extends React.Component {
this.handleUploadError = this.handleUploadError.bind(this);
this.handleTextDrop = this.handleTextDrop.bind(this);
this.removePreview = this.removePreview.bind(this);
- this.handleSubmit = this.handleSubmit.bind(this);
this.getFileCount = this.getFileCount.bind(this);
this.handleResize = this.handleResize.bind(this);
this.onPreferenceChange = this.onPreferenceChange.bind(this);
@@ -335,6 +334,7 @@ export default class CreateComment extends React.Component {
messageText={this.state.messageText}
createMessage='Add a comment...'
initialText=''
+ supportsCommands={false}
id='reply_textbox'
ref='textbox'
/>
diff --git a/web/react/components/edit_post_modal.jsx b/web/react/components/edit_post_modal.jsx
index eb58fe721..be57fe7c3 100644
--- a/web/react/components/edit_post_modal.jsx
+++ b/web/react/components/edit_post_modal.jsx
@@ -160,6 +160,7 @@ export default class EditPostModal extends React.Component {
onKeyDown={this.handleKeyDown}
messageText={this.state.editText}
createMessage='Edit the post...'
+ supportsCommands={false}
id='edit_textbox'
ref='editbox'
/>
diff --git a/web/react/components/mention.jsx b/web/react/components/mention.jsx
deleted file mode 100644
index 44f6210e4..000000000
--- a/web/react/components/mention.jsx
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-import UserStore from '../stores/user_store.jsx';
-import * as Utils from '../utils/utils.jsx';
-
-export default class Mention extends React.Component {
- constructor(props) {
- super(props);
-
- this.handleClick = this.handleClick.bind(this);
-
- this.state = null;
- }
- handleClick() {
- this.props.handleClick(this.props.username);
- }
- render() {
- var icon;
- var timestamp = UserStore.getCurrentUser().update_at;
- if (this.props.id === 'allmention' || this.props.id === 'channelmention') {
- icon = <span><i className='mention-img fa fa-users fa-2x'></i></span>;
- } else if (this.props.id == null) {
- icon = <span><i className='mention-img fa fa-users fa-2x'></i></span>;
- } else {
- icon = (
- <span>
- <img
- className='mention-img'
- src={'/api/v1/users/' + this.props.id + '/image?time=' + timestamp + '&' + Utils.getSessionIndex()}
- />
- </span>
- );
- }
- return (
- <div
- className={'mentions-name ' + this.props.isFocused}
- id={this.props.id + '_mentions'}
- onClick={this.handleClick}
- onMouseEnter={this.props.handleMouseEnter}
- >
- <div className='pull-left'>{icon}</div>
- <div className='pull-left mention-align'><span>@{this.props.username}</span><span className='mention-fullname'>{this.props.secondary_text}</span></div>
- </div>
- );
- }
-}
-
-Mention.defaultProps = {
- username: '',
- id: '',
- isFocused: '',
- secondary_text: ''
-};
-Mention.propTypes = {
- handleClick: React.PropTypes.func.isRequired,
- handleMouseEnter: React.PropTypes.func.isRequired,
- username: React.PropTypes.string,
- id: React.PropTypes.string,
- isFocused: React.PropTypes.string,
- secondary_text: React.PropTypes.string
-};
diff --git a/web/react/components/mention_list.jsx b/web/react/components/mention_list.jsx
deleted file mode 100644
index 297d5c719..000000000
--- a/web/react/components/mention_list.jsx
+++ /dev/null
@@ -1,276 +0,0 @@
-// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import UserStore from '../stores/user_store.jsx';
-import SearchStore from '../stores/search_store.jsx';
-import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
-import Mention from './mention.jsx';
-
-import Constants from '../utils/constants.jsx';
-import * as Utils from '../utils/utils.jsx';
-var ActionTypes = Constants.ActionTypes;
-
-var MAX_HEIGHT_LIST = 292;
-var MAX_ITEMS_IN_LIST = 25;
-var ITEM_HEIGHT = 36;
-
-export default class MentionList extends React.Component {
- constructor(props) {
- super(props);
-
- this.onListenerChange = this.onListenerChange.bind(this);
- this.handleClick = this.handleClick.bind(this);
- this.handleMouseEnter = this.handleMouseEnter.bind(this);
- this.getSelection = this.getSelection.bind(this);
- this.addCurrentMention = this.addCurrentMention.bind(this);
- this.addFirstMention = this.addFirstMention.bind(this);
- this.isEmpty = this.isEmpty.bind(this);
- this.scrollToMention = this.scrollToMention.bind(this);
- this.onScroll = this.onScroll.bind(this);
- this.onMentionListKey = this.onMentionListKey.bind(this);
- this.onClick = this.onClick.bind(this);
-
- this.state = {excludeUsers: [], mentionText: '-1', selectedMention: 0, selectedUsername: ''};
- }
- onScroll() {
- if ($('.mentions--top').length) {
- $('#reply_mention_tab .mentions--top').css({bottom: $(window).height() - $('.post-right__scroll #reply_textbox').offset().top});
- }
- }
- onMentionListKey(e) {
- if (!this.isEmpty() && this.state.mentionText !== '-1' && (e.which === 13 || e.which === 9)) {
- e.stopPropagation();
- e.preventDefault();
- this.addCurrentMention();
- } else if (!this.isEmpty() && this.state.mentionText !== '-1' && (e.which === 38 || e.which === 40)) {
- e.stopPropagation();
- e.preventDefault();
-
- if (e.which === 38) {
- if (this.getSelection(this.state.selectedMention - 1)) {
- this.setState({selectedMention: this.state.selectedMention - 1, selectedUsername: this.refs['mention' + (this.state.selectedMention - 1)].props.username});
- }
- } else if (e.which === 40) {
- if (this.getSelection(this.state.selectedMention + 1)) {
- this.setState({selectedMention: this.state.selectedMention + 1, selectedUsername: this.refs['mention' + (this.state.selectedMention + 1)].props.username});
- }
- }
-
- this.scrollToMention(e.which);
- }
- }
- onClick(e) {
- if (!($('#' + this.props.id).is(e.target) || $('#' + this.props.id).has(e.target).length ||
- ('mentionlist' in this.refs && $(ReactDOM.findDOMNode(this.refs.mentionlist)).has(e.target).length))) {
- this.setState({mentionText: '-1'});
- }
- }
- componentDidMount() {
- SearchStore.addMentionDataChangeListener(this.onListenerChange);
-
- $('.post-right__scroll').scroll(this.onScroll);
-
- $('body').on('keydown.mentionlist', '#' + this.props.id, this.onMentionListKey);
- $(document).click(this.onClick);
- }
- componentWillUnmount() {
- SearchStore.removeMentionDataChangeListener(this.onListenerChange);
- $('body').off('keydown.mentionlist', '#' + this.props.id);
- }
-
- /*
- * This component is poorly designed, nessesitating some state modification
- * in the componentDidUpdate function. This is generally discouraged as it
- * is a performance issue and breaks with good react design. This component
- * should be redesigned.
- */
- componentDidUpdate() {
- if (this.state.mentionText !== '-1') {
- if (this.state.selectedUsername !== '' && (!this.getSelection(this.state.selectedMention) || this.state.selectedUsername !== this.refs['mention' + this.state.selectedMention].props.username)) {
- var tempSelectedMention = -1;
- var foundMatch = false;
- while (tempSelectedMention < this.state.selectedMention && this.getSelection(++tempSelectedMention)) {
- if (this.state.selectedUsername === this.refs['mention' + tempSelectedMention].props.username) {
- this.setState({selectedMention: tempSelectedMention}); //eslint-disable-line react/no-did-update-set-state
- foundMatch = true;
- break;
- }
- }
- if (this.getSelection(0) && !foundMatch) {
- this.setState({selectedMention: 0, selectedUsername: this.refs.mention0.props.username}); //eslint-disable-line react/no-did-update-set-state
- }
- }
- } else if (this.state.selectedMention !== 0) {
- this.setState({selectedMention: 0, selectedUsername: ''}); //eslint-disable-line react/no-did-update-set-state
- }
- }
- onListenerChange(id, mentionText) {
- if (id !== this.props.id) {
- return;
- }
-
- var newState = this.state;
- if (mentionText != null) {
- newState.mentionText = mentionText;
- }
-
- this.setState(newState);
- }
- handleClick(name) {
- AppDispatcher.handleViewAction({
- type: ActionTypes.RECIEVED_ADD_MENTION,
- id: this.props.id,
- username: name
- });
-
- this.setState({mentionText: '-1'});
- }
- handleMouseEnter(listId) {
- this.setState({selectedMention: listId, selectedUsername: this.refs['mention' + listId].props.username});
- }
- getSelection(listId) {
- if (!this.refs['mention' + listId]) {
- return false;
- }
- return true;
- }
- addCurrentMention() {
- if (this.getSelection(this.state.selectedMention)) {
- this.refs['mention' + this.state.selectedMention].handleClick();
- } else {
- this.addFirstMention();
- }
- }
- addFirstMention() {
- if (!this.refs.mention0) {
- return;
- }
- this.refs.mention0.handleClick();
- }
- isEmpty() {
- return (!this.refs.mention0);
- }
- scrollToMention(keyPressed) {
- var direction;
- if (keyPressed === 38) {
- direction = 'up';
- } else {
- direction = 'down';
- }
- var scrollAmount = 0;
-
- if (direction === 'up') {
- scrollAmount = '-=' + ($('#' + this.refs['mention' + this.state.selectedMention].props.id + '_mentions').innerHeight() - 5);
- } else if (direction === 'down') {
- scrollAmount = '+=' + ($('#' + this.refs['mention' + this.state.selectedMention].props.id + '_mentions').innerHeight() - 5);
- }
-
- $('#mentionsbox').animate({
- scrollTop: scrollAmount
- }, 75);
- }
- render() {
- var mentionText = this.state.mentionText;
- if (mentionText === '-1') {
- return null;
- }
-
- var profiles = UserStore.getActiveOnlyProfiles();
- var users = [];
- for (let id in profiles) {
- if (profiles[id]) {
- users.push(profiles[id]);
- }
- }
-
- // var all = {};
- // all.username = 'all';
- // all.nickname = '';
- // all.secondary_text = 'Notifies everyone in the team';
- // all.id = 'allmention';
- // users.push(all);
-
- var channel = {};
- channel.username = 'channel';
- channel.nickname = '';
- channel.secondary_text = 'Notifies everyone in the channel';
- channel.id = 'channelmention';
- users.push(channel);
-
- users.sort(function sortByUsername(a, b) {
- if (a.username < b.username) {
- return -1;
- }
- if (a.username > b.username) {
- return 1;
- }
- return 0;
- });
- var mentions = [];
- var index = 0;
-
- for (var i = 0; i < users.length && index < MAX_ITEMS_IN_LIST; i++) {
- if ((users[i].first_name && users[i].first_name.lastIndexOf(mentionText, 0) === 0) ||
- (users[i].last_name && users[i].last_name.lastIndexOf(mentionText, 0) === 0) ||
- users[i].username.lastIndexOf(mentionText, 0) === 0) {
- let isFocused = '';
- if (this.state.selectedMention === index) {
- isFocused = 'mentions-focus';
- }
-
- if (!users[i].secondary_text) {
- users[i].secondary_text = Utils.getFullName(users[i]);
- }
-
- mentions[index] = (
- <Mention
- key={'mention_key_' + index}
- ref={'mention' + index}
- username={users[i].username}
- secondary_text={users[i].secondary_text}
- id={users[i].id}
- listId={index}
- isFocused={isFocused}
- handleMouseEnter={this.handleMouseEnter.bind(this, index)}
- handleClick={this.handleClick}
- />
- );
- index++;
- }
- }
-
- var numMentions = mentions.length;
-
- if (numMentions < 1) {
- return null;
- }
-
- var $mentionTab = $('#' + this.props.id);
- var maxHeight = Math.min(MAX_HEIGHT_LIST, $mentionTab.offset().top - 10);
- var style = {
- height: Math.min(maxHeight, (numMentions * ITEM_HEIGHT) + 4),
- width: $mentionTab.parent().width(),
- bottom: $(window).height() - $mentionTab.offset().top,
- left: $mentionTab.offset().left
- };
-
- return (
- <div
- className='mentions--top'
- style={style}
- >
- <div
- ref='mentionlist'
- className='mentions-box'
- id='mentionsbox'
- >
- {mentions}
- </div>
- </div>
- );
- }
-}
-
-MentionList.propTypes = {
- id: React.PropTypes.string
-};
diff --git a/web/react/components/post_body.jsx b/web/react/components/post_body.jsx
index de8195f91..27f7ad2de 100644
--- a/web/react/components/post_body.jsx
+++ b/web/react/components/post_body.jsx
@@ -4,6 +4,7 @@
import FileAttachmentList from './file_attachment_list.jsx';
import UserStore from '../stores/user_store.jsx';
import * as Utils from '../utils/utils.jsx';
+import * as Emoji from '../utils/emoticons.jsx';
import Constants from '../utils/constants.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx';
import twemoji from 'twemoji';
@@ -52,7 +53,11 @@ export default class PostBody extends React.Component {
}
parseEmojis() {
- twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE});
+ twemoji.parse(ReactDOM.findDOMNode(this), {
+ className: 'emoji twemoji',
+ base: '',
+ folder: Emoji.getImagePathForEmoticon()
+ });
}
componentWillMount() {
diff --git a/web/react/components/post_focus_view.jsx b/web/react/components/post_focus_view.jsx
index 5c6ad6c28..adcd78839 100644
--- a/web/react/components/post_focus_view.jsx
+++ b/web/react/components/post_focus_view.jsx
@@ -73,7 +73,7 @@ export default class PostFocusView extends React.Component {
getIntroMessage() {
return (
<div className='channel-intro'>
- <h4 className='channel-intro__title'>{'Beginning of Channel'}</h4>
+ <h4 className='channel-intro__title'>{'Beginning of Channel Archives'}</h4>
</div>
);
}
diff --git a/web/react/components/rhs_root_post.jsx b/web/react/components/rhs_root_post.jsx
index 3d3d9e13f..0dd969ad0 100644
--- a/web/react/components/rhs_root_post.jsx
+++ b/web/react/components/rhs_root_post.jsx
@@ -6,9 +6,9 @@ import UserProfile from './user_profile.jsx';
import UserStore from '../stores/user_store.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx';
import * as utils from '../utils/utils.jsx';
+import * as Emoji from '../utils/emoticons.jsx';
import FileAttachmentList from './file_attachment_list.jsx';
import twemoji from 'twemoji';
-import Constants from '../utils/constants.jsx';
import PostBodyAdditionalContent from './post_body_additional_content.jsx';
import * as EventHelpers from '../dispatcher/event_helpers.jsx';
@@ -21,7 +21,11 @@ export default class RhsRootPost extends React.Component {
this.state = {};
}
parseEmojis() {
- twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE});
+ twemoji.parse(ReactDOM.findDOMNode(this), {
+ className: 'emoji twemoji',
+ base: '',
+ folder: Emoji.getImagePathForEmoticon()
+ });
}
componentDidMount() {
this.parseEmojis();
diff --git a/web/react/components/rhs_thread.jsx b/web/react/components/rhs_thread.jsx
index 61f138539..d111094e7 100644
--- a/web/react/components/rhs_thread.jsx
+++ b/web/react/components/rhs_thread.jsx
@@ -101,7 +101,6 @@ export default class RhsThread extends React.Component {
}
if (currentPosts.posts[currentPosts.order[0]].channel_id === currentSelected.posts[currentSelected.order[0]].channel_id) {
- currentSelected.posts = {};
for (var postId in currentPosts.posts) {
if (currentPosts.posts.hasOwnProperty(postId)) {
currentSelected.posts[postId] = currentPosts.posts[postId];
diff --git a/web/react/components/search_autocomplete.jsx b/web/react/components/search_autocomplete.jsx
deleted file mode 100644
index 4c0aa0166..000000000
--- a/web/react/components/search_autocomplete.jsx
+++ /dev/null
@@ -1,341 +0,0 @@
-// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import ChannelStore from '../stores/channel_store.jsx';
-import Constants from '../utils/constants.jsx';
-const KeyCodes = Constants.KeyCodes;
-const Popover = ReactBootstrap.Popover;
-import UserStore from '../stores/user_store.jsx';
-import * as Utils from '../utils/utils.jsx';
-
-const patterns = new Map([
- ['channels', /\b(?:in|channel):\s*(\S*)$/i],
- ['users', /\bfrom:\s*(\S*)$/i]
-]);
-
-export default class SearchAutocomplete extends React.Component {
- constructor(props) {
- super(props);
-
- this.handleClick = this.handleClick.bind(this);
- this.handleDocumentClick = this.handleDocumentClick.bind(this);
- this.handleInputChange = this.handleInputChange.bind(this);
- this.handleKeyDown = this.handleKeyDown.bind(this);
-
- this.completeWord = this.completeWord.bind(this);
- this.getSelection = this.getSelection.bind(this);
- this.scrollToItem = this.scrollToItem.bind(this);
- this.updateSuggestions = this.updateSuggestions.bind(this);
-
- this.renderChannelSuggestion = this.renderChannelSuggestion.bind(this);
- this.renderUserSuggestion = this.renderUserSuggestion.bind(this);
-
- this.state = {
- show: false,
- mode: '',
- filter: '',
- selection: 0,
- suggestions: new Map()
- };
- }
-
- componentDidMount() {
- $(document).on('click', this.handleDocumentClick);
- }
-
- componentDidUpdate(prevProps, prevState) {
- const content = $(ReactDOM.findDOMNode(this.refs.searchPopover)).find('.popover-content');
-
- if (this.state.show && this.state.suggestions.length > 0) {
- if (!prevState.show) {
- content.perfectScrollbar();
- content.css('max-height', $(window).height() - 200);
- }
-
- // keep the keyboard selection visible when scrolling
- this.scrollToItem(this.getSelection());
- }
- }
-
- componentWillUnmount() {
- $(document).off('click', this.handleDocumentClick);
- }
-
- handleClick(value) {
- this.completeWord(value);
- }
-
- handleDocumentClick(e) {
- const container = $(ReactDOM.findDOMNode(this.refs.searchPopover));
-
- if (!(container.is(e.target) || container.has(e.target).length > 0)) {
- this.setState({
- show: false
- });
- }
- }
-
- handleInputChange(textbox, text) {
- const caret = Utils.getCaretPosition(textbox);
- const preText = text.substring(0, caret);
-
- let mode = '';
- let filter = '';
- for (const [modeForPattern, pattern] of patterns) {
- const result = pattern.exec(preText);
-
- if (result) {
- mode = modeForPattern;
- filter = result[1];
- break;
- }
- }
-
- if (mode !== this.state.mode || filter !== this.state.filter) {
- this.updateSuggestions(mode, filter);
- }
-
- this.setState({
- mode,
- filter,
- show: mode || filter
- });
- }
-
- handleKeyDown(e) {
- if (!this.state.show || this.state.suggestions.length === 0) {
- return;
- }
-
- if (e.which === KeyCodes.UP || e.which === KeyCodes.DOWN) {
- e.preventDefault();
-
- let selection = this.state.selection;
-
- if (e.which === KeyCodes.UP) {
- selection -= 1;
- } else {
- selection += 1;
- }
-
- if (selection >= 0 && selection < this.state.suggestions.length) {
- this.setState({
- selection
- });
- }
- } else if (e.which === KeyCodes.ENTER || e.which === KeyCodes.SPACE) {
- e.preventDefault();
-
- this.completeWord(this.getSelection());
- }
- }
-
- completeWord(value) {
- // add a space so that anything else typed doesn't interfere with the search flag
- this.props.completeWord(this.state.filter, value + ' ');
-
- this.setState({
- show: false,
- mode: '',
- filter: '',
- selection: 0
- });
- }
-
- getSelection() {
- if (this.state.suggestions.length > 0) {
- if (this.state.mode === 'channels') {
- return this.state.suggestions[this.state.selection].name;
- } else if (this.state.mode === 'users') {
- return this.state.suggestions[this.state.selection].username;
- }
- }
-
- return '';
- }
-
- scrollToItem(itemName) {
- const content = $(ReactDOM.findDOMNode(this.refs.searchPopover)).find('.popover-content');
- const visibleContentHeight = content[0].clientHeight;
- const actualContentHeight = content[0].scrollHeight;
-
- if (this.state.suggestions.length > 0 && visibleContentHeight < actualContentHeight) {
- const contentTop = content.scrollTop();
- const contentTopPadding = parseInt(content.css('padding-top'), 10);
- const contentBottomPadding = parseInt(content.css('padding-top'), 10);
-
- const item = $(this.refs[itemName]);
- const itemTop = item[0].offsetTop - parseInt(item.css('margin-top'), 10);
- const itemBottom = item[0].offsetTop + item.height() + parseInt(item.css('margin-bottom'), 10);
-
- if (itemTop - contentTopPadding < contentTop) {
- // the item is off the top of the visible space
- content.scrollTop(itemTop - contentTopPadding);
- } else if (itemBottom + contentTopPadding + contentBottomPadding > contentTop + visibleContentHeight) {
- // the item has gone off the bottom of the visible space
- content.scrollTop(itemBottom - visibleContentHeight + contentTopPadding + contentBottomPadding);
- }
- }
- }
-
- updateSuggestions(mode, filter) {
- let suggestions = [];
-
- if (mode === 'channels') {
- let channels = ChannelStore.getAll();
-
- if (filter) {
- channels = channels.filter((channel) => channel.name.startsWith(filter) && channel.type !== 'D');
- } else {
- // don't show direct channels
- channels = channels.filter((channel) => channel.type !== 'D');
- }
-
- channels.sort((a, b) => {
- // put public channels first and then sort alphabebetically
- if (a.type === b.type) {
- return a.name.localeCompare(b.name);
- } else if (a.type === Constants.OPEN_CHANNEL) {
- return -1;
- }
-
- return 1;
- });
-
- suggestions = channels;
- } else if (mode === 'users') {
- let users = UserStore.getActiveOnlyProfileList();
-
- if (filter) {
- users = users.filter((user) => user.username.startsWith(filter));
- }
-
- users.sort((a, b) => a.username.localeCompare(b.username));
-
- suggestions = users;
- }
-
- let selection = this.state.selection;
-
- // keep the same user/channel selected if it's still visible as a suggestion
- if (selection > 0 && this.state.suggestions.length > 0) {
- // we can't just use indexOf to find if the selection is still in the list since they are different javascript objects
- const currentSelectionId = this.state.suggestions[selection].id;
- let found = false;
-
- for (let i = 0; i < suggestions.length; i++) {
- if (suggestions[i].id === currentSelectionId) {
- selection = i;
- found = true;
-
- break;
- }
- }
-
- if (!found) {
- selection = 0;
- }
- } else {
- selection = 0;
- }
-
- this.setState({
- suggestions,
- selection
- });
- }
-
- renderChannelSuggestion(channel) {
- let className = 'search-autocomplete__item';
- if (channel.name === this.getSelection()) {
- className += ' selected';
- }
-
- return (
- <div
- key={channel.name}
- ref={channel.name}
- onClick={this.handleClick.bind(this, channel.name)}
- className={className}
- >
- {channel.name}
- </div>
- );
- }
-
- renderUserSuggestion(user) {
- let className = 'search-autocomplete__item';
- if (user.username === this.getSelection()) {
- className += ' selected';
- }
-
- return (
- <div
- key={user.username}
- ref={user.username}
- onClick={this.handleClick.bind(this, user.username)}
- className={className}
- >
- <img
- className='profile-img rounded'
- src={'/api/v1/users/' + user.id + '/image?time=' + user.update_at}
- />
- {user.username}
- </div>
- );
- }
-
- render() {
- if (!this.state.show || this.state.suggestions.length === 0) {
- return null;
- }
-
- let suggestions = [];
-
- if (this.state.mode === 'channels') {
- const publicChannels = this.state.suggestions.filter((channel) => channel.type === Constants.OPEN_CHANNEL);
- if (publicChannels.length > 0) {
- suggestions.push(
- <div
- key='public-channel-divider'
- className='search-autocomplete__divider'
- >
- <span>{'Public ' + Utils.getChannelTerm(Constants.OPEN_CHANNEL) + 's'}</span>
- </div>
- );
- suggestions = suggestions.concat(publicChannels.map(this.renderChannelSuggestion));
- }
-
- const privateChannels = this.state.suggestions.filter((channel) => channel.type === Constants.PRIVATE_CHANNEL);
- if (privateChannels.length > 0) {
- suggestions.push(
- <div
- key='private-channel-divider'
- className='search-autocomplete__divider'
- >
- <span>{'Private ' + Utils.getChannelTerm(Constants.PRIVATE_CHANNEL) + 's'}</span>
- </div>
- );
- suggestions = suggestions.concat(privateChannels.map(this.renderChannelSuggestion));
- }
- } else if (this.state.mode === 'users') {
- suggestions = this.state.suggestions.map(this.renderUserSuggestion);
- }
-
- return (
- <Popover
- ref='searchPopover'
- onShow={this.componentDidMount}
- id='search-autocomplete__popover'
- className='search-help-popover autocomplete visible'
- placement='bottom'
- >
- {suggestions}
- </Popover>
- );
- }
-}
-
-SearchAutocomplete.propTypes = {
- completeWord: React.PropTypes.func.isRequired
-};
diff --git a/web/react/components/search_bar.jsx b/web/react/components/search_bar.jsx
index 32f0f93bf..77c9e39b9 100644
--- a/web/react/components/search_bar.jsx
+++ b/web/react/components/search_bar.jsx
@@ -5,11 +5,14 @@ import * as client from '../utils/client.jsx';
import * as AsyncClient from '../utils/async_client.jsx';
import SearchStore from '../stores/search_store.jsx';
import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
+import SuggestionBox from './suggestion/suggestion_box.jsx';
+import SearchChannelProvider from './suggestion/search_channel_provider.jsx';
+import SearchSuggestionList from './suggestion/search_suggestion_list.jsx';
+import SearchUserProvider from './suggestion/search_user_provider.jsx';
import * as utils from '../utils/utils.jsx';
import Constants from '../utils/constants.jsx';
var ActionTypes = Constants.ActionTypes;
var Popover = ReactBootstrap.Popover;
-import SearchAutocomplete from './search_autocomplete.jsx';
export default class SearchBar extends React.Component {
constructor() {
@@ -17,17 +20,17 @@ export default class SearchBar extends React.Component {
this.mounted = false;
this.onListenerChange = this.onListenerChange.bind(this);
- this.handleKeyDown = this.handleKeyDown.bind(this);
this.handleUserInput = this.handleUserInput.bind(this);
this.handleUserFocus = this.handleUserFocus.bind(this);
this.handleUserBlur = this.handleUserBlur.bind(this);
this.performSearch = this.performSearch.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
- this.completeWord = this.completeWord.bind(this);
const state = this.getSearchTermStateFromStores();
state.focused = false;
this.state = state;
+
+ this.suggestionProviders = [new SearchChannelProvider(), new SearchUserProvider()];
}
getSearchTermStateFromStores() {
var term = SearchStore.getSearchTerm() || '';
@@ -77,18 +80,11 @@ export default class SearchBar extends React.Component {
results: null
});
}
- handleKeyDown(e) {
- if (this.refs.autocomplete) {
- this.refs.autocomplete.handleKeyDown(e);
- }
- }
- handleUserInput(e) {
- var term = e.target.value;
+ handleUserInput(text) {
+ var term = text;
SearchStore.storeSearchTerm(term);
SearchStore.emitSearchTermChange(false);
this.setState({searchTerm: term});
-
- this.refs.autocomplete.handleInputChange(e.target, term);
}
handleUserBlur() {
this.setState({focused: false});
@@ -128,23 +124,6 @@ export default class SearchBar extends React.Component {
this.performSearch(this.state.searchTerm.trim());
}
- completeWord(partialWord, word) {
- const textbox = ReactDOM.findDOMNode(this.refs.search);
- let text = textbox.value;
-
- const caret = utils.getCaretPosition(textbox);
- const preText = text.substring(0, caret - partialWord.length);
- const postText = text.substring(caret);
- text = preText + word + postText;
-
- textbox.value = text;
- utils.setCaretPosition(textbox, preText.length + word.length);
-
- SearchStore.storeSearchTerm(text);
- SearchStore.emitSearchTermChange(false);
- this.setState({searchTerm: text});
- }
-
render() {
var isSearching = null;
if (this.state.isSearching) {
@@ -178,22 +157,18 @@ export default class SearchBar extends React.Component {
autoComplete='off'
>
<span className='glyphicon glyphicon-search sidebar__search-icon' />
- <input
- type='text'
+ <SuggestionBox
ref='search'
className='form-control search-bar'
placeholder='Search'
value={this.state.searchTerm}
onFocus={this.handleUserFocus}
onBlur={this.handleUserBlur}
- onChange={this.handleUserInput}
- onKeyDown={this.handleKeyDown}
+ onUserInput={this.handleUserInput}
+ listComponent={SearchSuggestionList}
+ providers={this.suggestionProviders}
/>
{isSearching}
- <SearchAutocomplete
- ref='autocomplete'
- completeWord={this.completeWord}
- />
<Popover
id='searchbar-help-popup'
placement='bottom'
diff --git a/web/react/components/suggestion/at_mention_provider.jsx b/web/react/components/suggestion/at_mention_provider.jsx
new file mode 100644
index 000000000..8c2893448
--- /dev/null
+++ b/web/react/components/suggestion/at_mention_provider.jsx
@@ -0,0 +1,100 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+import UserStore from '../../stores/user_store.jsx';
+import * as Utils from '../../utils/utils.jsx';
+
+class AtMentionSuggestion extends React.Component {
+ render() {
+ const {item, isSelection, onClick} = this.props;
+
+ let username;
+ let description;
+ let icon;
+ if (item.username === 'all') {
+ username = 'all';
+ description = 'Notifies everyone in the team';
+ icon = <i className='mention-img fa fa-users fa-2x' />;
+ } else if (item.username === 'channel') {
+ username = 'channel';
+ description = 'Notifies everyone in the channel';
+ icon = <i className='mention-img fa fa-users fa-2x' />;
+ } else {
+ username = item.username;
+ description = Utils.getFullName(item);
+ icon = (
+ <img
+ className='mention-img'
+ src={'/api/v1/users/' + item.id + '/image?time=' + item.update_at + '&' + Utils.getSessionIndex()}
+ />
+ );
+ }
+
+ let className = 'mentions-name';
+ if (isSelection) {
+ className += ' suggestion--selected';
+ }
+
+ return (
+ <div
+ className={className}
+ onClick={onClick}
+ >
+ <div className='pull-left'>
+ {icon}
+ </div>
+ <div className='pull-left mention-align'>
+ <span>
+ {'@' + username}
+ </span>
+ <span className='mention-fullname'>
+ {description}
+ </span>
+ </div>
+ </div>
+ );
+ }
+}
+
+AtMentionSuggestion.propTypes = {
+ item: React.PropTypes.object.isRequired,
+ isSelection: React.PropTypes.bool,
+ onClick: React.PropTypes.func
+};
+
+export default class AtMentionProvider {
+ handlePretextChanged(suggestionId, pretext) {
+ const captured = (/@([a-z0-9\-\._]*)$/i).exec(pretext);
+ if (captured) {
+ const usernamePrefix = captured[1];
+
+ const users = UserStore.getProfiles();
+ let filtered = [];
+
+ for (const id of Object.keys(users)) {
+ const user = users[id];
+
+ if (user.username.startsWith(usernamePrefix)) {
+ filtered.push(user);
+ }
+ }
+
+ // add dummy users to represent the @all and @channel special mentions
+ if ('all'.startsWith(usernamePrefix)) {
+ filtered.push({username: 'all'});
+ }
+
+ if ('channel'.startsWith(usernamePrefix)) {
+ filtered.push({username: 'channel'});
+ }
+
+ filtered = filtered.sort((a, b) => a.username.localeCompare(b.username));
+
+ const mentions = filtered.map((user) => '@' + user.username);
+
+ SuggestionStore.setMatchedPretext(suggestionId, captured[0]);
+ SuggestionStore.addSuggestions(suggestionId, mentions, filtered, AtMentionSuggestion);
+ }
+ }
+}
diff --git a/web/react/components/suggestion/command_provider.jsx b/web/react/components/suggestion/command_provider.jsx
new file mode 100644
index 000000000..a2a446de2
--- /dev/null
+++ b/web/react/components/suggestion/command_provider.jsx
@@ -0,0 +1,47 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import * as AsyncClient from '../../utils/async_client.jsx';
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+
+class CommandSuggestion extends React.Component {
+ render() {
+ const {item, isSelection, onClick} = this.props;
+
+ let className = 'command-name';
+ if (isSelection) {
+ className += ' suggestion--selected';
+ }
+
+ return (
+ <div
+ className={className}
+ onClick={onClick}
+ >
+ <div className='command__title'>
+ <string>{item.suggestion}</string>
+ </div>
+ <div className='command__desc'>
+ {item.description}
+ </div>
+ </div>
+ );
+ }
+}
+
+CommandSuggestion.propTypes = {
+ item: React.PropTypes.object.isRequired,
+ isSelection: React.PropTypes.bool,
+ onClick: React.PropTypes.func
+};
+
+export default class CommandProvider {
+ handlePretextChanged(suggestionId, pretext) {
+ if (pretext.startsWith('/')) {
+ SuggestionStore.setMatchedPretext(suggestionId, pretext);
+ SuggestionStore.setCompleteOnSpace(suggestionId, false);
+
+ AsyncClient.getSuggestedCommands(pretext, suggestionId, CommandSuggestion);
+ }
+ }
+}
diff --git a/web/react/components/suggestion/search_channel_provider.jsx b/web/react/components/suggestion/search_channel_provider.jsx
new file mode 100644
index 000000000..7547a9341
--- /dev/null
+++ b/web/react/components/suggestion/search_channel_provider.jsx
@@ -0,0 +1,69 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import ChannelStore from '../../stores/channel_store.jsx';
+import Constants from '../../utils/constants.jsx';
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+
+class SearchChannelSuggestion extends React.Component {
+ render() {
+ const {item, isSelection, onClick} = this.props;
+
+ let className = 'search-autocomplete__item';
+ if (isSelection) {
+ className += ' selected';
+ }
+
+ return (
+ <div
+ onClick={onClick}
+ className={className}
+ >
+ {item.name}
+ </div>
+ );
+ }
+}
+
+SearchChannelSuggestion.propTypes = {
+ item: React.PropTypes.object.isRequired,
+ isSelection: React.PropTypes.bool,
+ onClick: React.PropTypes.func
+};
+
+export default class SearchChannelProvider {
+ handlePretextChanged(suggestionId, pretext) {
+ const captured = (/\b(?:in|channel):\s*(\S*)$/i).exec(pretext);
+ if (captured) {
+ const channelPrefix = captured[1];
+
+ const channels = ChannelStore.getAll();
+ const publicChannels = [];
+ const privateChannels = [];
+
+ for (const id of Object.keys(channels)) {
+ const channel = channels[id];
+
+ // don't show direct channels
+ if (channel.type !== Constants.DM_CHANNEL && channel.name.startsWith(channelPrefix)) {
+ if (channel.type === Constants.OPEN_CHANNEL) {
+ publicChannels.push(channel);
+ } else {
+ privateChannels.push(channel);
+ }
+ }
+ }
+
+ publicChannels.sort((a, b) => a.name.localeCompare(b.name));
+ const publicChannelNames = publicChannels.map((channel) => channel.name);
+
+ privateChannels.sort((a, b) => a.name.localeCompare(b.name));
+ const privateChannelNames = privateChannels.map((channel) => channel.name);
+
+ SuggestionStore.setMatchedPretext(suggestionId, channelPrefix);
+
+ SuggestionStore.addSuggestions(suggestionId, publicChannelNames, publicChannels, SearchChannelSuggestion);
+ SuggestionStore.addSuggestions(suggestionId, privateChannelNames, privateChannels, SearchChannelSuggestion);
+ }
+ }
+}
diff --git a/web/react/components/suggestion/search_suggestion_list.jsx b/web/react/components/suggestion/search_suggestion_list.jsx
new file mode 100644
index 000000000..542d28ddd
--- /dev/null
+++ b/web/react/components/suggestion/search_suggestion_list.jsx
@@ -0,0 +1,86 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import Constants from '../../utils/constants.jsx';
+import SuggestionList from './suggestion_list.jsx';
+import * as Utils from '../../utils/utils.jsx';
+
+export default class SearchSuggestionList extends SuggestionList {
+ componentDidUpdate(prevProps, prevState) {
+ if (this.state.items.length > 0 && prevState.items.length === 0) {
+ this.getContent().perfectScrollbar();
+ }
+ }
+
+ getContent() {
+ return $(ReactDOM.findDOMNode(this.refs.popover)).find('.popover-content');
+ }
+
+ renderChannelDivider(type) {
+ let text;
+ if (type === Constants.OPEN_CHANNEL) {
+ text = 'Public ' + Utils.getChannelTerm(type) + 's';
+ } else {
+ text = 'Private ' + Utils.getChannelTerm(type) + 's';
+ }
+
+ return (
+ <div
+ key={type + '-divider'}
+ className='search-autocomplete__divider'
+ >
+ <span>{text}</span>
+ </div>
+ );
+ }
+
+ render() {
+ if (this.state.items.length === 0 || !this.props.show) {
+ return null;
+ }
+
+ const items = [];
+ for (let i = 0; i < this.state.items.length; i++) {
+ const item = this.state.items[i];
+ const term = this.state.terms[i];
+ const isSelection = term === this.state.selection;
+
+ // ReactComponent names need to be upper case when used in JSX
+ const Component = this.state.components[i];
+
+ // temporary hack to add dividers between public and private channels in the search suggestion list
+ if (i === 0 || item.type !== this.state.items[i - 1].type) {
+ if (item.type === Constants.OPEN_CHANNEL) {
+ items.push(this.renderChannelDivider(Constants.OPEN_CHANNEL));
+ } else if (item.type === Constants.PRIVATE_CHANNEL) {
+ items.push(this.renderChannelDivider(Constants.PRIVATE_CHANNEL));
+ }
+ }
+
+ items.push(
+ <Component
+ key={term}
+ ref={term}
+ item={item}
+ isSelection={isSelection}
+ onClick={this.handleItemClick.bind(this, term)}
+ />
+ );
+ }
+
+ return (
+ <ReactBootstrap.Popover
+ ref='popover'
+ id='search-autocomplete__popover'
+ className='search-help-popover autocomplete visible'
+ placement='bottom'
+ >
+ {items}
+ </ReactBootstrap.Popover>
+ );
+ }
+}
+
+SearchSuggestionList.propTypes = {
+ ...SuggestionList.propTypes
+};
diff --git a/web/react/components/suggestion/search_user_provider.jsx b/web/react/components/suggestion/search_user_provider.jsx
new file mode 100644
index 000000000..cf2953937
--- /dev/null
+++ b/web/react/components/suggestion/search_user_provider.jsx
@@ -0,0 +1,62 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+import UserStore from '../../stores/user_store.jsx';
+
+class SearchUserSuggestion extends React.Component {
+ render() {
+ const {item, isSelection, onClick} = this.props;
+
+ let className = 'search-autocomplete__item';
+ if (isSelection) {
+ className += ' selected';
+ }
+
+ return (
+ <div
+ className={className}
+ onClick={onClick}
+ >
+ <img
+ className='profile-img rounded'
+ src={'/api/v1/users/' + item.id + '/image?time=' + item.update_at}
+ />
+ {item.username}
+ </div>
+ );
+ }
+}
+
+SearchUserSuggestion.propTypes = {
+ item: React.PropTypes.object.isRequired,
+ isSelection: React.PropTypes.bool,
+ onClick: React.PropTypes.func
+};
+
+export default class SearchUserProvider {
+ handlePretextChanged(suggestionId, pretext) {
+ const captured = (/\bfrom:\s*(\S*)$/i).exec(pretext);
+ if (captured) {
+ const usernamePrefix = captured[1];
+
+ const users = UserStore.getProfiles();
+ let filtered = [];
+
+ for (const id of Object.keys(users)) {
+ const user = users[id];
+
+ if (user.username.startsWith(usernamePrefix)) {
+ filtered.push(user);
+ }
+ }
+
+ filtered = filtered.sort((a, b) => a.username.localeCompare(b.username));
+
+ const usernames = filtered.map((user) => user.username);
+
+ SuggestionStore.setMatchedPretext(suggestionId, usernamePrefix);
+ SuggestionStore.addSuggestions(suggestionId, usernames, filtered, SearchUserSuggestion);
+ }
+ }
+}
diff --git a/web/react/components/suggestion/suggestion_box.jsx b/web/react/components/suggestion/suggestion_box.jsx
new file mode 100644
index 000000000..4ca461e82
--- /dev/null
+++ b/web/react/components/suggestion/suggestion_box.jsx
@@ -0,0 +1,189 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import Constants from '../../utils/constants.jsx';
+import * as EventHelpers from '../../dispatcher/event_helpers.jsx';
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+import * as Utils from '../../utils/utils.jsx';
+
+const KeyCodes = Constants.KeyCodes;
+
+export default class SuggestionBox extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.handleDocumentClick = this.handleDocumentClick.bind(this);
+ this.handleFocus = this.handleFocus.bind(this);
+
+ this.handleChange = this.handleChange.bind(this);
+ this.handleCompleteWord = this.handleCompleteWord.bind(this);
+ this.handleKeyDown = this.handleKeyDown.bind(this);
+ this.handlePretextChanged = this.handlePretextChanged.bind(this);
+
+ this.suggestionId = Utils.generateId();
+
+ this.state = {
+ focused: false
+ };
+ }
+
+ componentDidMount() {
+ SuggestionStore.registerSuggestionBox(this.suggestionId);
+ $(document).on('click', this.handleDocumentClick);
+
+ SuggestionStore.addCompleteWordListener(this.suggestionId, this.handleCompleteWord);
+ SuggestionStore.addPretextChangedListener(this.suggestionId, this.handlePretextChanged);
+ }
+
+ componentWillUnmount() {
+ SuggestionStore.removeCompleteWordListener(this.suggestionId, this.handleCompleteWord);
+ SuggestionStore.removePretextChangedListener(this.suggestionId, this.handlePretextChanged);
+
+ SuggestionStore.unregisterSuggestionBox(this.suggestionId);
+ $(document).off('click', this.handleDocumentClick);
+ }
+
+ getTextbox() {
+ // this is to support old code that looks at the input/textarea DOM nodes
+ return ReactDOM.findDOMNode(this.refs.textbox);
+ }
+
+ handleDocumentClick(e) {
+ if (!this.state.focused) {
+ return;
+ }
+
+ const container = $(ReactDOM.findDOMNode(this));
+ if (!(container.is(e.target) || container.has(e.target).length > 0)) {
+ // we can't just use blur for this because it fires and hides the children before
+ // their click handlers can be called
+ this.setState({
+ focused: false
+ });
+ }
+ }
+
+ handleFocus() {
+ this.setState({
+ focused: true
+ });
+
+ if (this.props.onFocus) {
+ this.props.onFocus();
+ }
+ }
+
+ handleChange(e) {
+ const textbox = ReactDOM.findDOMNode(this.refs.textbox);
+ const caret = Utils.getCaretPosition(textbox);
+ const pretext = textbox.value.substring(0, caret);
+
+ EventHelpers.emitSuggestionPretextChanged(this.suggestionId, pretext);
+
+ if (this.props.onUserInput) {
+ this.props.onUserInput(textbox.value);
+ }
+
+ if (this.props.onChange) {
+ this.props.onChange(e);
+ }
+ }
+
+ handleCompleteWord(term) {
+ const textbox = ReactDOM.findDOMNode(this.refs.textbox);
+ const caret = Utils.getCaretPosition(textbox);
+
+ const text = this.props.value;
+ const prefix = text.substring(0, caret - SuggestionStore.getMatchedPretext(this.suggestionId).length);
+ const suffix = text.substring(caret);
+
+ if (this.props.onUserInput) {
+ this.props.onUserInput(prefix + term + ' ' + suffix);
+ }
+
+ // set the caret position after the next rendering
+ window.requestAnimationFrame(() => {
+ Utils.setCaretPosition(textbox, prefix.length + term.length + 1);
+ });
+ }
+
+ handleKeyDown(e) {
+ if (SuggestionStore.hasSuggestions(this.suggestionId)) {
+ if (e.which === KeyCodes.UP) {
+ EventHelpers.emitSelectPreviousSuggestion(this.suggestionId);
+ e.preventDefault();
+ } else if (e.which === KeyCodes.DOWN) {
+ EventHelpers.emitSelectNextSuggestion(this.suggestionId);
+ e.preventDefault();
+ } else if (e.which === KeyCodes.ENTER || (e.which === KeyCodes.SPACE && SuggestionStore.shouldCompleteOnSpace(this.suggestionId))) {
+ EventHelpers.emitCompleteWordSuggestion(this.suggestionId);
+ e.preventDefault();
+ } else if (this.props.onKeyDown) {
+ this.props.onKeyDown(e);
+ }
+ } else if (this.props.onKeyDown) {
+ this.props.onKeyDown(e);
+ }
+ }
+
+ handlePretextChanged(pretext) {
+ for (const provider of this.props.providers) {
+ provider.handlePretextChanged(this.suggestionId, pretext);
+ }
+ }
+
+ render() {
+ const newProps = Object.assign({}, this.props, {
+ onFocus: this.handleFocus,
+ onChange: this.handleChange,
+ onKeyDown: this.handleKeyDown
+ });
+
+ let textbox = null;
+ if (this.props.type === 'input') {
+ textbox = (
+ <input
+ ref='textbox'
+ type='text'
+ {...newProps}
+ />
+ );
+ } else if (this.props.type === 'textarea') {
+ textbox = (
+ <textarea
+ ref='textbox'
+ {...newProps}
+ />
+ );
+ }
+
+ const SuggestionListComponent = this.props.listComponent;
+
+ return (
+ <div>
+ {textbox}
+ <SuggestionListComponent
+ suggestionId={this.suggestionId}
+ show={this.state.focused}
+ />
+ </div>
+ );
+ }
+}
+
+SuggestionBox.defaultProps = {
+ type: 'input'
+};
+
+SuggestionBox.propTypes = {
+ listComponent: React.PropTypes.func.isRequired,
+ type: React.PropTypes.oneOf(['input', 'textarea']).isRequired,
+ value: React.PropTypes.string.isRequired,
+ onUserInput: React.PropTypes.func,
+ providers: React.PropTypes.arrayOf(React.PropTypes.object),
+
+ // explicitly name any input event handlers we override and need to manually call
+ onChange: React.PropTypes.func,
+ onKeyDown: React.PropTypes.func,
+ onFocus: React.PropTypes.func
+};
diff --git a/web/react/components/suggestion/suggestion_list.jsx b/web/react/components/suggestion/suggestion_list.jsx
new file mode 100644
index 000000000..45843f4c8
--- /dev/null
+++ b/web/react/components/suggestion/suggestion_list.jsx
@@ -0,0 +1,125 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import * as EventHelpers from '../../dispatcher/event_helpers.jsx';
+import SuggestionStore from '../../stores/suggestion_store.jsx';
+
+export default class SuggestionList extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.getContent = this.getContent.bind(this);
+
+ this.handleItemClick = this.handleItemClick.bind(this);
+ this.handleSuggestionsChanged = this.handleSuggestionsChanged.bind(this);
+
+ this.scrollToItem = this.scrollToItem.bind(this);
+
+ this.state = {
+ items: [],
+ terms: [],
+ components: [],
+ selection: ''
+ };
+ }
+
+ componentDidMount() {
+ SuggestionStore.addSuggestionsChangedListener(this.props.suggestionId, this.handleSuggestionsChanged);
+ }
+
+ componentWillUnmount() {
+ SuggestionStore.removeSuggestionsChangedListener(this.props.suggestionId, this.handleSuggestionsChanged);
+ }
+
+ getContent() {
+ return $(ReactDOM.findDOMNode(this.refs.content));
+ }
+
+ handleItemClick(term, e) {
+ EventHelpers.emitCompleteWordSuggestion(this.props.suggestionId, term);
+
+ e.preventDefault();
+ }
+
+ handleSuggestionsChanged() {
+ const selection = SuggestionStore.getSelection(this.props.suggestionId);
+
+ this.setState({
+ items: SuggestionStore.getItems(this.props.suggestionId),
+ terms: SuggestionStore.getTerms(this.props.suggestionId),
+ components: SuggestionStore.getComponents(this.props.suggestionId),
+ selection
+ });
+
+ if (selection) {
+ window.requestAnimationFrame(() => this.scrollToItem(this.state.selection));
+ }
+ }
+
+ scrollToItem(term) {
+ const content = this.getContent();
+ const visibleContentHeight = content[0].clientHeight;
+ const actualContentHeight = content[0].scrollHeight;
+
+ if (visibleContentHeight < actualContentHeight) {
+ const contentTop = content.scrollTop();
+ const contentTopPadding = parseInt(content.css('padding-top'), 10);
+ const contentBottomPadding = parseInt(content.css('padding-top'), 10);
+
+ const item = $(ReactDOM.findDOMNode(this.refs[term]));
+ const itemTop = item[0].offsetTop - parseInt(item.css('margin-top'), 10);
+ const itemBottomMargin = parseInt(item.css('margin-bottom'), 10) + parseInt(item.css('padding-bottom'), 10);
+ const itemBottom = item[0].offsetTop + item.height() + itemBottomMargin;
+
+ if (itemTop - contentTopPadding < contentTop) {
+ // the item is off the top of the visible space
+ content.scrollTop(itemTop - contentTopPadding);
+ } else if (itemBottom + contentTopPadding + contentBottomPadding > contentTop + visibleContentHeight) {
+ // the item has gone off the bottom of the visible space
+ content.scrollTop(itemBottom - visibleContentHeight + contentTopPadding + contentBottomPadding);
+ }
+ }
+ }
+
+ render() {
+ if (this.state.items.length === 0 || !this.props.show) {
+ return null;
+ }
+
+ const items = [];
+ for (let i = 0; i < this.state.items.length; i++) {
+ const item = this.state.items[i];
+ const term = this.state.terms[i];
+ const isSelection = term === this.state.selection;
+
+ // ReactComponent names need to be upper case when used in JSX
+ const Component = this.state.components[i];
+
+ items.push(
+ <Component
+ key={term}
+ ref={term}
+ item={item}
+ isSelection={isSelection}
+ onClick={this.handleItemClick.bind(this, term)}
+ />
+ );
+ }
+
+ return (
+ <div className='suggestion-list suggestion-list--top'>
+ <div
+ ref='content'
+ className='suggestion-content suggestion-content--top'
+ >
+ {items}
+ </div>
+ </div>
+ );
+ }
+}
+
+SuggestionList.propTypes = {
+ suggestionId: React.PropTypes.string.isRequired,
+ show: React.PropTypes.bool.isRequired
+};
diff --git a/web/react/components/team_general_tab.jsx b/web/react/components/team_general_tab.jsx
index 795fad671..03715d585 100644
--- a/web/react/components/team_general_tab.jsx
+++ b/web/react/components/team_general_tab.jsx
@@ -437,6 +437,7 @@ export default class GeneralTab extends React.Component {
<input
className='form-control'
type='text'
+ maxLength='22'
onChange={this.updateName}
value={this.state.name}
/>
diff --git a/web/react/components/textbox.jsx b/web/react/components/textbox.jsx
index 10b3c0069..107e65f57 100644
--- a/web/react/components/textbox.jsx
+++ b/web/react/components/textbox.jsx
@@ -1,16 +1,15 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
-import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
-import SearchStore from '../stores/search_store.jsx';
-import CommandList from './command_list.jsx';
+import AtMentionProvider from './suggestion/at_mention_provider.jsx';
+import CommandProvider from './suggestion/command_provider.jsx';
+import SuggestionList from './suggestion/suggestion_list.jsx';
+import SuggestionBox from './suggestion/suggestion_box.jsx';
import ErrorStore from '../stores/error_store.jsx';
import * as TextFormatting from '../utils/text_formatting.jsx';
import * as Utils from '../utils/utils.jsx';
import Constants from '../utils/constants.jsx';
-const ActionTypes = Constants.ActionTypes;
-const KeyCodes = Constants.KeyCodes;
const PreReleaseFeatures = Constants.PRE_RELEASE_FEATURES;
export default class Textbox extends React.Component {
@@ -18,32 +17,22 @@ export default class Textbox extends React.Component {
super(props);
this.getStateFromStores = this.getStateFromStores.bind(this);
- this.onListenerChange = this.onListenerChange.bind(this);
this.onRecievedError = this.onRecievedError.bind(this);
- this.updateMentionTab = this.updateMentionTab.bind(this);
- this.handleChange = this.handleChange.bind(this);
this.handleKeyPress = this.handleKeyPress.bind(this);
this.handleKeyDown = this.handleKeyDown.bind(this);
- this.handleBackspace = this.handleBackspace.bind(this);
- this.checkForNewMention = this.checkForNewMention.bind(this);
- this.addMention = this.addMention.bind(this);
- this.addCommand = this.addCommand.bind(this);
this.resize = this.resize.bind(this);
this.handleFocus = this.handleFocus.bind(this);
this.handleBlur = this.handleBlur.bind(this);
- this.handlePaste = this.handlePaste.bind(this);
this.showPreview = this.showPreview.bind(this);
this.state = {
- mentionText: '-1',
- mentions: [],
connection: ''
};
- this.caret = -1;
- this.addedMention = false;
- this.doProcessMentions = false;
- this.mentions = [];
+ this.suggestionProviders = [new AtMentionProvider()];
+ if (props.supportsCommands) {
+ this.suggestionProviders.push(new CommandProvider());
+ }
}
getStateFromStores() {
@@ -57,24 +46,15 @@ export default class Textbox extends React.Component {
}
componentDidMount() {
- SearchStore.addAddMentionListener(this.onListenerChange);
ErrorStore.addChangeListener(this.onRecievedError);
this.resize();
- this.updateMentionTab(null);
}
componentWillUnmount() {
- SearchStore.removeAddMentionListener(this.onListenerChange);
ErrorStore.removeChangeListener(this.onRecievedError);
}
- onListenerChange(id, username) {
- if (id === this.props.id) {
- this.addMention(username);
- }
- }
-
onRecievedError() {
const errorState = ErrorStore.getLastError();
@@ -86,158 +66,21 @@ export default class Textbox extends React.Component {
}
componentDidUpdate() {
- if (this.caret >= 0) {
- Utils.setCaretPosition(ReactDOM.findDOMNode(this.refs.message), this.caret);
- this.caret = -1;
- }
- if (this.doProcessMentions) {
- this.updateMentionTab(null);
- this.doProcessMentions = false;
- }
this.resize();
}
- componentWillReceiveProps(nextProps) {
- if (!this.addedMention) {
- this.checkForNewMention(nextProps.messageText);
- }
- const text = ReactDOM.findDOMNode(this.refs.message).value;
- if (nextProps.channelId !== this.props.channelId || nextProps.messageText !== text) {
- this.doProcessMentions = true;
- }
- this.addedMention = false;
- this.refs.commands.getSuggestedCommands(nextProps.messageText);
- }
-
- updateMentionTab(mentionText) {
- // using setTimeout so dispatch isn't called during an in progress dispatch
- setTimeout(() => {
- AppDispatcher.handleViewAction({
- type: ActionTypes.RECIEVED_MENTION_DATA,
- id: this.props.id,
- mention_text: mentionText
- });
- }, 1);
- }
-
- handleChange() {
- const text = ReactDOM.findDOMNode(this.refs.message).value;
- this.props.onUserInput(text);
- }
-
handleKeyPress(e) {
- const text = ReactDOM.findDOMNode(this.refs.message).value;
-
- if (!this.refs.commands.isEmpty() && text.indexOf('/') === 0 && e.which === 13) {
- this.refs.commands.addFirstCommand();
- e.preventDefault();
- return;
- }
-
- if (!this.doProcessMentions) {
- const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
- const preText = text.substring(0, caret);
- const lastSpace = preText.lastIndexOf(' ');
- const lastAt = preText.lastIndexOf('@');
-
- if (caret > lastAt && lastSpace < lastAt) {
- this.doProcessMentions = true;
- }
- }
-
this.props.onKeyPress(e);
}
handleKeyDown(e) {
- if (Utils.getSelectedText(ReactDOM.findDOMNode(this.refs.message)) !== '') {
- this.doProcessMentions = true;
- }
-
- if (e.keyCode === KeyCodes.BACKSPACE) {
- this.handleBackspace(e);
- } else if (this.props.onKeyDown) {
+ if (this.props.onKeyDown) {
this.props.onKeyDown(e);
}
}
- handleBackspace() {
- const text = ReactDOM.findDOMNode(this.refs.message).value;
- if (text.indexOf('/') === 0) {
- this.refs.commands.getSuggestedCommands(text.substring(0, text.length - 1));
- }
-
- if (this.doProcessMentions) {
- return;
- }
-
- const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
- const preText = text.substring(0, caret);
- const lastSpace = preText.lastIndexOf(' ');
- const lastAt = preText.lastIndexOf('@');
-
- if (caret > lastAt && (lastSpace > lastAt || lastSpace === -1)) {
- this.doProcessMentions = true;
- }
- }
-
- checkForNewMention(text) {
- const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
-
- const preText = text.substring(0, caret);
-
- const atIndex = preText.lastIndexOf('@');
-
- // The @ character not typed, so nothing to do.
- if (atIndex === -1) {
- this.updateMentionTab('-1');
- return;
- }
-
- const lastCharSpace = preText.lastIndexOf(String.fromCharCode(160));
- const lastSpace = preText.lastIndexOf(' ');
-
- // If there is a space after the last @, nothing to do.
- if (lastSpace > atIndex || lastCharSpace > atIndex) {
- this.updateMentionTab('-1');
- return;
- }
-
- // Get the name typed so far.
- const name = preText.substring(atIndex + 1, preText.length).toLowerCase();
- this.updateMentionTab(name);
- }
-
- addMention(name) {
- const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
-
- const text = this.props.messageText;
-
- const preText = text.substring(0, caret);
-
- const atIndex = preText.lastIndexOf('@');
-
- // The @ character not typed, so nothing to do.
- if (atIndex === -1) {
- return;
- }
-
- const prefix = text.substring(0, atIndex);
- const suffix = text.substring(caret, text.length);
- this.caret = prefix.length + name.length + 2;
- this.addedMention = true;
- this.doProcessMentions = true;
-
- this.props.onUserInput(`${prefix}@${name} ${suffix}`);
- }
-
- addCommand(cmd) {
- const elm = ReactDOM.findDOMNode(this.refs.message);
- elm.value = cmd;
- this.handleChange();
- }
-
resize() {
- const e = ReactDOM.findDOMNode(this.refs.message);
+ const e = this.refs.message.getTextbox();
const w = ReactDOM.findDOMNode(this.refs.wrapper);
const prevHeight = $(e).height();
@@ -272,23 +115,19 @@ export default class Textbox extends React.Component {
}
handleFocus() {
- const elm = ReactDOM.findDOMNode(this.refs.message);
+ const elm = this.refs.message.getTextbox();
if (elm.title === elm.value) {
elm.value = '';
}
}
handleBlur() {
- const elm = ReactDOM.findDOMNode(this.refs.message);
+ const elm = this.refs.message.getTextbox();
if (elm.value === '') {
elm.value = elm.title;
}
}
- handlePaste() {
- this.doProcessMentions = true;
- }
-
showPreview(e) {
e.preventDefault();
e.target.blur();
@@ -323,15 +162,11 @@ export default class Textbox extends React.Component {
ref='wrapper'
className='textarea-wrapper'
>
- <CommandList
- ref='commands'
- addCommand={this.addCommand}
- channelId={this.props.channelId}
- />
- <textarea
+ <SuggestionBox
id={this.props.id}
ref='message'
className={`form-control custom-textarea ${this.state.connection}`}
+ type='textarea'
spellCheck='true'
autoComplete='off'
autoCorrect='off'
@@ -339,14 +174,15 @@ export default class Textbox extends React.Component {
maxLength={Constants.MAX_POST_LEN}
placeholder={this.props.createMessage}
value={this.props.messageText}
- onInput={this.handleChange}
- onChange={this.handleChange}
+ onUserInput={this.props.onUserInput}
onKeyPress={this.handleKeyPress}
onKeyDown={this.handleKeyDown}
onFocus={this.handleFocus}
onBlur={this.handleBlur}
onPaste={this.handlePaste}
style={{visibility: this.state.preview ? 'hidden' : 'visible'}}
+ listComponent={SuggestionList}
+ providers={this.suggestionProviders}
/>
<div
ref='preview'
@@ -367,6 +203,10 @@ export default class Textbox extends React.Component {
}
}
+Textbox.defaultProps = {
+ supportsCommands: true
+};
+
Textbox.propTypes = {
id: React.PropTypes.string.isRequired,
channelId: React.PropTypes.string,
@@ -375,5 +215,6 @@ Textbox.propTypes = {
onKeyPress: React.PropTypes.func.isRequired,
onHeightChange: React.PropTypes.func,
createMessage: React.PropTypes.string.isRequired,
- onKeyDown: React.PropTypes.func
+ onKeyDown: React.PropTypes.func,
+ supportsCommands: React.PropTypes.bool.isRequired
};
diff --git a/web/react/components/user_settings/user_settings_notifications.jsx b/web/react/components/user_settings/user_settings_notifications.jsx
index e025bf670..f762405af 100644
--- a/web/react/components/user_settings/user_settings_notifications.jsx
+++ b/web/react/components/user_settings/user_settings_notifications.jsx
@@ -78,7 +78,9 @@ export default class NotificationsTab extends React.Component {
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
+ this.handleCancel = this.handleCancel.bind(this);
this.updateSection = this.updateSection.bind(this);
+ this.updateState = this.updateState.bind(this);
this.onListenerChange = this.onListenerChange.bind(this);
this.handleNotifyRadio = this.handleNotifyRadio.bind(this);
this.handleEmailRadio = this.handleEmailRadio.bind(this);
@@ -128,10 +130,21 @@ export default class NotificationsTab extends React.Component {
}.bind(this)
);
}
+ handleCancel(e) {
+ this.updateState();
+ this.props.updateSection('');
+ e.preventDefault();
+ }
updateSection(section) {
- this.setState(getNotificationsStateFromStores());
+ this.updateState();
this.props.updateSection(section);
}
+ updateState() {
+ const newState = getNotificationsStateFromStores();
+ if (!Utils.areObjectsEqual(newState, this.state)) {
+ this.setState(newState);
+ }
+ }
componentDidMount() {
UserStore.addChangeListener(this.onListenerChange);
}
@@ -139,10 +152,7 @@ export default class NotificationsTab extends React.Component {
UserStore.removeChangeListener(this.onListenerChange);
}
onListenerChange() {
- var newState = getNotificationsStateFromStores();
- if (!Utils.areObjectsEqual(newState, this.state)) {
- this.setState(newState);
- }
+ this.updateState();
}
handleNotifyRadio(notifyLevel) {
this.setState({notifyLevel: notifyLevel});
@@ -245,11 +255,6 @@ export default class NotificationsTab extends React.Component {
</div>
);
- handleUpdateDesktopSection = function updateDesktopSection(e) {
- this.props.updateSection('');
- e.preventDefault();
- }.bind(this);
-
const extraInfo = <span>{'Desktop notifications are available on Firefox, Safari, and Chrome.'}</span>;
desktopSection = (
@@ -259,7 +264,7 @@ export default class NotificationsTab extends React.Component {
inputs={inputs}
submit={this.handleSubmit}
server_error={serverError}
- updateSection={handleUpdateDesktopSection}
+ updateSection={this.handleCancel}
/>
);
} else {
@@ -324,11 +329,6 @@ export default class NotificationsTab extends React.Component {
</div>
);
- handleUpdateSoundSection = function updateSoundSection(e) {
- this.props.updateSection('');
- e.preventDefault();
- }.bind(this);
-
const extraInfo = <span>{'Desktop notification sounds are available on Firefox, Safari, Chrome, Internet Explorer, and Edge.'}</span>;
soundSection = (
@@ -338,7 +338,7 @@ export default class NotificationsTab extends React.Component {
inputs={inputs}
submit={this.handleSubmit}
server_error={serverError}
- updateSection={handleUpdateSoundSection}
+ updateSection={this.handleCancel}
/>
);
} else {
@@ -405,18 +405,13 @@ export default class NotificationsTab extends React.Component {
</div>
);
- handleUpdateEmailSection = function updateEmailSection(e) {
- this.props.updateSection('');
- e.preventDefault();
- }.bind(this);
-
emailSection = (
<SettingItemMax
title='Email notifications'
inputs={inputs}
submit={this.handleSubmit}
server_error={serverError}
- updateSection={handleUpdateEmailSection}
+ updateSection={this.handleCancel}
/>
);
} else {
@@ -566,17 +561,13 @@ export default class NotificationsTab extends React.Component {
</div>
);
- handleUpdateKeysSection = function updateKeysSection(e) {
- this.props.updateSection('');
- e.preventDefault();
- }.bind(this);
keysSection = (
<SettingItemMax
title='Words that trigger mentions'
inputs={inputs}
submit={this.handleSubmit}
server_error={serverError}
- updateSection={handleUpdateKeysSection}
+ updateSection={this.handleCancel}
/>
);
} else {
@@ -653,7 +644,7 @@ export default class NotificationsTab extends React.Component {
ref='wrapper'
className='user-settings'
>
- <h3 className='tab-header'>Notifications</h3>
+ <h3 className='tab-header'>{'Notifications'}</h3>
<div className='divider-dark first'/>
{desktopSection}
<div className='divider-light'/>
diff --git a/web/react/dispatcher/event_helpers.jsx b/web/react/dispatcher/event_helpers.jsx
index 57b4eaa11..f792c610f 100644
--- a/web/react/dispatcher/event_helpers.jsx
+++ b/web/react/dispatcher/event_helpers.jsx
@@ -111,3 +111,33 @@ export function showRegisterAppModal() {
value: true
});
}
+
+export function emitSuggestionPretextChanged(suggestionId, pretext) {
+ AppDispatcher.handleViewAction({
+ type: ActionTypes.SUGGESTION_PRETEXT_CHANGED,
+ id: suggestionId,
+ pretext
+ });
+}
+
+export function emitSelectNextSuggestion(suggestionId) {
+ AppDispatcher.handleViewAction({
+ type: ActionTypes.SUGGESTION_SELECT_NEXT,
+ id: suggestionId
+ });
+}
+
+export function emitSelectPreviousSuggestion(suggestionId) {
+ AppDispatcher.handleViewAction({
+ type: ActionTypes.SUGGESTION_SELECT_PREVIOUS,
+ id: suggestionId
+ });
+}
+
+export function emitCompleteWordSuggestion(suggestionId, term = '') {
+ AppDispatcher.handleViewAction({
+ type: Constants.ActionTypes.SUGGESTION_COMPLETE_WORD,
+ id: suggestionId,
+ term
+ });
+}
diff --git a/web/react/pages/channel.jsx b/web/react/pages/channel.jsx
index b73dfdafe..49f0935a9 100644
--- a/web/react/pages/channel.jsx
+++ b/web/react/pages/channel.jsx
@@ -6,7 +6,6 @@ import ChannelLoader from '../components/channel_loader.jsx';
import ErrorBar from '../components/error_bar.jsx';
import ErrorStore from '../stores/error_store.jsx';
-import MentionList from '../components/mention_list.jsx';
import GetTeamInviteLinkModal from '../components/get_team_invite_link_modal.jsx';
import RenameChannelModal from '../components/rename_channel_modal.jsx';
import EditPostModal from '../components/edit_post_modal.jsx';
@@ -47,21 +46,6 @@ function setupChannelPage(props, team, channel) {
document.getElementById('channel_view')
);
- ReactDOM.render(
- <MentionList id='post_textbox' />,
- document.getElementById('post_mention_tab')
- );
-
- ReactDOM.render(
- <MentionList id='reply_textbox' />,
- document.getElementById('reply_mention_tab')
- );
-
- ReactDOM.render(
- <MentionList id='edit_textbox' />,
- document.getElementById('edit_mention_tab')
- );
-
//
// Modals
//
diff --git a/web/react/stores/search_store.jsx b/web/react/stores/search_store.jsx
index e8ab6a2ae..f932c379a 100644
--- a/web/react/stores/search_store.jsx
+++ b/web/react/stores/search_store.jsx
@@ -12,8 +12,6 @@ var ActionTypes = Constants.ActionTypes;
var CHANGE_EVENT = 'change';
var SEARCH_CHANGE_EVENT = 'search_change';
var SEARCH_TERM_CHANGE_EVENT = 'search_term_change';
-var MENTION_DATA_CHANGE_EVENT = 'mention_data_change';
-var ADD_MENTION_EVENT = 'add_mention';
var SHOW_SEARCH_EVENT = 'show_search';
class SearchStoreClass extends EventEmitter {
@@ -32,10 +30,6 @@ class SearchStoreClass extends EventEmitter {
this.addSearchTermChangeListener = this.addSearchTermChangeListener.bind(this);
this.removeSearchTermChangeListener = this.removeSearchTermChangeListener.bind(this);
- this.emitMentionDataChange = this.emitMentionDataChange.bind(this);
- this.addMentionDataChangeListener = this.addMentionDataChangeListener.bind(this);
- this.removeMentionDataChangeListener = this.removeMentionDataChangeListener.bind(this);
-
this.emitShowSearch = this.emitShowSearch.bind(this);
this.addShowSearchListener = this.addShowSearchListener.bind(this);
this.removeShowSearchListener = this.removeShowSearchListener.bind(this);
@@ -113,30 +107,6 @@ class SearchStoreClass extends EventEmitter {
return BrowserStore.getItem('search_term');
}
- emitMentionDataChange(id, mentionText) {
- this.emit(MENTION_DATA_CHANGE_EVENT, id, mentionText);
- }
-
- addMentionDataChangeListener(callback) {
- this.on(MENTION_DATA_CHANGE_EVENT, callback);
- }
-
- removeMentionDataChangeListener(callback) {
- this.removeListener(MENTION_DATA_CHANGE_EVENT, callback);
- }
-
- emitAddMention(id, username) {
- this.emit(ADD_MENTION_EVENT, id, username);
- }
-
- addAddMentionListener(callback) {
- this.on(ADD_MENTION_EVENT, callback);
- }
-
- removeAddMentionListener(callback) {
- this.removeListener(ADD_MENTION_EVENT, callback);
- }
-
storeSearchResults(results, isMentionSearch) {
BrowserStore.setItem('search_results', results);
BrowserStore.setItem('is_mention_search', Boolean(isMentionSearch));
@@ -157,12 +127,6 @@ SearchStore.dispatchToken = AppDispatcher.register((payload) => {
SearchStore.storeSearchTerm(action.term);
SearchStore.emitSearchTermChange(action.do_search, action.is_mention_search);
break;
- case ActionTypes.RECIEVED_MENTION_DATA:
- SearchStore.emitMentionDataChange(action.id, action.mention_text);
- break;
- case ActionTypes.RECIEVED_ADD_MENTION:
- SearchStore.emitAddMention(action.id, action.username);
- break;
case ActionTypes.SHOW_SEARCH:
SearchStore.emitShowSearch();
break;
diff --git a/web/react/stores/suggestion_store.jsx b/web/react/stores/suggestion_store.jsx
new file mode 100644
index 000000000..182f5810f
--- /dev/null
+++ b/web/react/stores/suggestion_store.jsx
@@ -0,0 +1,267 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
+import Constants from '../utils/constants.jsx';
+import EventEmitter from 'events';
+
+const ActionTypes = Constants.ActionTypes;
+
+const COMPLETE_WORD_EVENT = 'complete_word';
+const PRETEXT_CHANGED_EVENT = 'pretext_changed';
+const SUGGESTIONS_CHANGED_EVENT = 'suggestions_changed';
+
+class SuggestionStore extends EventEmitter {
+ constructor() {
+ super();
+
+ this.addSuggestionsChangedListener = this.addSuggestionsChangedListener.bind(this);
+ this.removeSuggestionsChangedListener = this.removeSuggestionsChangedListener.bind(this);
+ this.emitSuggestionsChanged = this.emitSuggestionsChanged.bind(this);
+
+ this.addPretextChangedListener = this.addPretextChangedListener.bind(this);
+ this.removePretextChangedListener = this.removePretextChangedListener.bind(this);
+ this.emitPretextChanged = this.emitPretextChanged.bind(this);
+
+ this.addCompleteWordListener = this.addCompleteWordListener.bind(this);
+ this.removeCompleteWordListener = this.removeCompleteWordListener.bind(this);
+ this.emitCompleteWord = this.emitCompleteWord.bind(this);
+
+ this.handleEventPayload = this.handleEventPayload.bind(this);
+ this.dispatchToken = AppDispatcher.register(this.handleEventPayload);
+
+ // this.suggestions stores the state of all SuggestionBoxes by mapping their unique identifier to an
+ // object with the following fields:
+ // pretext: the text before the cursor
+ // matchedPretext: the text before the cursor that will be replaced if an autocomplete term is selected
+ // terms: a list of strings which the previously typed text may be replaced by
+ // items: a list of objects backing the terms which may be used in rendering
+ // components: a list of react components that can be used to render their corresponding item
+ // selection: the term currently selected by the keyboard
+ // completeOnSpace: whether or not space will trigger the term to be autocompleted
+ this.suggestions = new Map();
+ }
+
+ addSuggestionsChangedListener(id, callback) {
+ this.on(SUGGESTIONS_CHANGED_EVENT + id, callback);
+ }
+ removeSuggestionsChangedListener(id, callback) {
+ this.removeListener(SUGGESTIONS_CHANGED_EVENT + id, callback);
+ }
+ emitSuggestionsChanged(id) {
+ this.emit(SUGGESTIONS_CHANGED_EVENT + id);
+ }
+
+ addPretextChangedListener(id, callback) {
+ this.on(PRETEXT_CHANGED_EVENT + id, callback);
+ }
+ removePretextChangedListener(id, callback) {
+ this.removeListener(PRETEXT_CHANGED_EVENT + id, callback);
+ }
+ emitPretextChanged(id, pretext) {
+ this.emit(PRETEXT_CHANGED_EVENT + id, pretext);
+ }
+
+ addCompleteWordListener(id, callback) {
+ this.on(COMPLETE_WORD_EVENT + id, callback);
+ }
+ removeCompleteWordListener(id, callback) {
+ this.removeListener(COMPLETE_WORD_EVENT + id, callback);
+ }
+ emitCompleteWord(id, term) {
+ this.emit(COMPLETE_WORD_EVENT + id, term);
+ }
+
+ registerSuggestionBox(id) {
+ this.suggestions.set(id, {
+ pretext: '',
+ matchedPretext: '',
+ terms: [],
+ items: [],
+ components: [],
+ selection: '',
+ completeOnSpace: true
+ });
+ }
+
+ unregisterSuggestionBox(id) {
+ this.suggestions.delete(id);
+ }
+
+ clearSuggestions(id) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.matchedPretext = '';
+ suggestion.terms = [];
+ suggestion.items = [];
+ suggestion.components = [];
+ suggestion.completeOnSpace = true;
+ }
+
+ clearSelection(id) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.selection = '';
+ }
+
+ hasSuggestions(id) {
+ return this.suggestions.get(id).terms.length > 0;
+ }
+
+ setPretext(id, pretext) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.pretext = pretext;
+ }
+
+ setMatchedPretext(id, matchedPretext) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.matchedPretext = matchedPretext;
+ }
+
+ setCompleteOnSpace(id, completeOnSpace) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.completeOnSpace = completeOnSpace;
+ }
+
+ addSuggestion(id, term, item, component) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.terms.push(term);
+ suggestion.items.push(item);
+ suggestion.components.push(component);
+ }
+
+ addSuggestions(id, terms, items, component) {
+ const suggestion = this.suggestions.get(id);
+
+ suggestion.terms.push(...terms);
+ suggestion.items.push(...items);
+
+ for (let i = 0; i < terms.length; i++) {
+ suggestion.components.push(component);
+ }
+ }
+
+ // make sure that if suggestions exist, then one of them is selected. return true if the selection changes.
+ ensureSelectionExists(id) {
+ const suggestion = this.suggestions.get(id);
+
+ if (suggestion.terms.length > 0) {
+ // if the current selection is no longer in the map, select the first term in the list
+ if (!suggestion.selection || suggestion.terms.indexOf(suggestion.selection) === -1) {
+ suggestion.selection = suggestion.terms[0];
+
+ return true;
+ }
+ } else if (suggestion.selection) {
+ suggestion.selection = '';
+
+ return true;
+ }
+
+ return false;
+ }
+
+ getPretext(id) {
+ return this.suggestions.get(id).pretext;
+ }
+
+ getMatchedPretext(id) {
+ return this.suggestions.get(id).matchedPretext;
+ }
+
+ getItems(id) {
+ return this.suggestions.get(id).items;
+ }
+
+ getTerms(id) {
+ return this.suggestions.get(id).terms;
+ }
+
+ getComponents(id) {
+ return this.suggestions.get(id).components;
+ }
+
+ getSelection(id) {
+ return this.suggestions.get(id).selection;
+ }
+
+ shouldCompleteOnSpace(id) {
+ return this.suggestions.get(id).completeOnSpace;
+ }
+
+ selectNext(id) {
+ this.setSelectionByDelta(id, 1);
+ }
+
+ selectPrevious(id) {
+ this.setSelectionByDelta(id, -1);
+ }
+
+ setSelectionByDelta(id, delta) {
+ const suggestion = this.suggestions.get(id);
+
+ let selectionIndex = suggestion.terms.indexOf(suggestion.selection);
+
+ if (selectionIndex === -1) {
+ // this should never happen since selection should always be in terms
+ throw new Error('selection is not in terms');
+ }
+
+ selectionIndex += delta;
+
+ if (selectionIndex < 0) {
+ selectionIndex = 0;
+ } else if (selectionIndex > suggestion.terms.length - 1) {
+ selectionIndex = suggestion.terms.length - 1;
+ }
+
+ suggestion.selection = suggestion.terms[selectionIndex];
+ }
+
+ handleEventPayload(payload) {
+ const {type, id, ...other} = payload.action; // eslint-disable-line no-redeclare
+
+ switch (type) {
+ case ActionTypes.SUGGESTION_PRETEXT_CHANGED:
+ this.clearSuggestions(id);
+
+ this.setPretext(id, other.pretext);
+ this.emitPretextChanged(id, other.pretext);
+
+ this.ensureSelectionExists(id);
+ this.emitSuggestionsChanged(id);
+ break;
+ case ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS:
+ if (other.matchedPretext === this.getMatchedPretext(id)) {
+ // ensure the matched pretext hasn't changed so that we don't receive suggestions for outdated pretext
+ this.addSuggestions(id, other.terms, other.items, other.component);
+
+ this.ensureSelectionExists(id);
+ this.emitSuggestionsChanged(id);
+ }
+ break;
+ case ActionTypes.SUGGESTION_SELECT_NEXT:
+ this.selectNext(id);
+ this.emitSuggestionsChanged(id);
+ break;
+ case ActionTypes.SUGGESTION_SELECT_PREVIOUS:
+ this.selectPrevious(id);
+ this.emitSuggestionsChanged(id);
+ break;
+ case ActionTypes.SUGGESTION_COMPLETE_WORD:
+ this.emitCompleteWord(id, other.term || this.getSelection(id), this.getMatchedPretext(id));
+
+ this.setPretext(id, '');
+ this.clearSuggestions(id);
+ this.clearSelection(id);
+ this.emitSuggestionsChanged(id);
+ break;
+ }
+ }
+}
+
+export default new SuggestionStore();
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx
index 5df43b548..d97c7c3cb 100644
--- a/web/react/utils/async_client.jsx
+++ b/web/react/utils/async_client.jsx
@@ -741,3 +741,27 @@ export function savePreferences(preferences, success, error) {
}
);
}
+
+export function getSuggestedCommands(command, suggestionId, component) {
+ client.executeCommand(
+ '',
+ command,
+ true,
+ (data) => {
+ // pull out the suggested commands from the returned data
+ const terms = data.suggestions.map((suggestion) => suggestion.suggestion);
+
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.SUGGESTION_RECEIVED_SUGGESTIONS,
+ id: suggestionId,
+ matchedPretext: command,
+ terms,
+ items: data.suggestions,
+ component
+ });
+ },
+ (err) => {
+ dispatchError(err, 'getCommandSuggestions');
+ }
+ );
+}
diff --git a/web/react/utils/constants.jsx b/web/react/utils/constants.jsx
index 0180d6dc5..8164095b9 100644
--- a/web/react/utils/constants.jsx
+++ b/web/react/utils/constants.jsx
@@ -24,6 +24,7 @@ export default {
RECIEVED_POST: null,
RECIEVED_EDIT_POST: null,
RECIEVED_SEARCH: null,
+ RECIEVED_SEARCH_TERM: null,
RECIEVED_POST_SELECTED: null,
RECIEVED_MENTION_DATA: null,
RECIEVED_ADD_MENTION: null,
@@ -50,7 +51,13 @@ export default {
TOGGLE_INVITE_MEMBER_MODAL: null,
TOGGLE_DELETE_POST_MODAL: null,
TOGGLE_GET_TEAM_INVITE_LINK_MODAL: null,
- TOGGLE_REGISTER_APP_MODAL: null
+ TOGGLE_REGISTER_APP_MODAL: null,
+
+ SUGGESTION_PRETEXT_CHANGED: null,
+ SUGGESTION_RECEIVED_SUGGESTIONS: null,
+ SUGGESTION_COMPLETE_WORD: null,
+ SUGGESTION_SELECT_NEXT: null,
+ SUGGESTION_SELECT_PREVIOUS: null
}),
PayloadSources: keyMirror({
diff --git a/web/react/utils/emoticons.jsx b/web/react/utils/emoticons.jsx
index bb948b6dc..8943e9544 100644
--- a/web/react/utils/emoticons.jsx
+++ b/web/react/utils/emoticons.jsx
@@ -154,6 +154,9 @@ export function handleEmoticons(text, tokens) {
return output;
}
-function getImagePathForEmoticon(name) {
- return `/static/images/emoji/${name}.png`;
-}
+export function getImagePathForEmoticon(name) {
+ if (name) {
+ return `/static/images/emoji/${name}.png`;
+ }
+ return `/static/images/emoji`;
+} \ No newline at end of file
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index d2dd6cf38..788d8a45c 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -539,11 +539,11 @@ export function applyTheme(theme) {
if (theme.sidebarText) {
changeCss('.sidebar--left .nav-pills__container li>a, .sidebar--right, .settings-modal .nav-pills>li a, .sidebar--menu', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
- changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1);
+ changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1);
changeCss('.sidebar--left .nav-pills__container li>h4, .sidebar--left .add-channel-btn', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
changeCss('.sidebar--left .add-channel-btn:hover, .sidebar--left .add-channel-btn:focus', 'color:' + theme.sidebarText, 1);
changeCss('.sidebar--left .status path', 'fill:' + changeOpacity(theme.sidebarText, 0.5), 1);
- changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2);
+ changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2);
}
if (theme.sidebarUnreadText) {
@@ -552,7 +552,7 @@ export function applyTheme(theme) {
if (theme.sidebarTextHoverBg) {
changeCss('.sidebar--left .nav-pills__container li>a:hover, .sidebar--left .nav-pills__container li>a:focus, .settings-modal .nav-pills>li:hover a, .settings-modal .nav-pills>li:focus a', 'background:' + theme.sidebarTextHoverBg, 1);
- changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
+ changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
}
if (theme.sidebarTextActiveBorder) {
@@ -568,7 +568,7 @@ export function applyTheme(theme) {
changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1);
changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1);
changeCss('#navbar .navbar-default', 'background:' + theme.sidebarHeaderBg, 1);
- changeCss('@media(max-width: 960px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1);
+ changeCss('@media(max-width: 768px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1);
changeCss('.attachment .attachment__container', 'border-left-color:' + theme.sidebarHeaderBg, 1);
}
@@ -579,7 +579,7 @@ export function applyTheme(theme) {
changeCss('.modal .modal-header .modal-title, .modal .modal-header .modal-title .name, .modal .modal-header button.close', 'color:' + theme.sidebarHeaderTextColor, 1);
changeCss('#navbar .navbar-default .navbar-brand .heading', 'color:' + theme.sidebarHeaderTextColor, 1);
changeCss('#navbar .navbar-default .navbar-toggle .icon-bar, ', 'background:' + theme.sidebarHeaderTextColor, 1);
- changeCss('@media(max-width: 960px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2);
+ changeCss('@media(max-width: 768px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2);
}
if (theme.onlineIndicator) {
@@ -597,7 +597,7 @@ export function applyTheme(theme) {
}
if (theme.centerChannelBg) {
- changeCss('.app__content, .markdown__table, .markdown__table tbody tr, .command-box, .modal .modal-content, .mentions-name, .mentions--top .mentions-box', 'background:' + theme.centerChannelBg, 1);
+ changeCss('.app__content, .markdown__table, .markdown__table tbody tr, .suggestion-content, .modal .modal-content', 'background:' + theme.centerChannelBg, 1);
changeCss('#post-list .post-list-holder-by-time', 'background:' + theme.centerChannelBg, 1);
changeCss('#post-create', 'background:' + theme.centerChannelBg, 1);
changeCss('.date-separator .separator__text, .new-separator .separator__text', 'background:' + theme.centerChannelBg, 1);
@@ -607,7 +607,7 @@ export function applyTheme(theme) {
changeCss('.popover.right>.arrow:after, .tip-overlay.tip-overlay--sidebar .arrow, .tip-overlay.tip-overlay--header .arrow', 'border-right-color:' + theme.centerChannelBg, 1);
changeCss('.popover.left>.arrow:after', 'border-left-color:' + theme.centerChannelBg, 1);
changeCss('.popover.top>.arrow:after, .tip-overlay.tip-overlay--chat .arrow', 'border-top-color:' + theme.centerChannelBg, 1);
- changeCss('@media(min-width: 960px){.search-bar__container .search__form .search-bar, .form-control', 'background:' + theme.centerChannelBg, 1);
+ changeCss('@media(min-width: 768px){.search-bar__container .search__form .search-bar, .form-control', 'background:' + theme.centerChannelBg, 1);
changeCss('.attachment__content', 'background:' + theme.centerChannelBg, 1);
}
@@ -615,9 +615,9 @@ export function applyTheme(theme) {
changeCss('.sidebar--left, .sidebar--right .sidebar--right__header', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
changeCss('.app__content, .post-create__container .post-create-body .btn-file, .post-create__container .post-create-footer .msg-typing, .command-name, .modal .modal-content, .dropdown-menu, .popover, .mentions-name, .tip-overlay', 'color:' + theme.centerChannelColor, 1);
changeCss('#post-create', 'color:' + theme.centerChannelColor, 2);
- changeCss('.mentions--top, .command-box', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3);
- changeCss('.mentions--top, .command-box', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2);
- changeCss('.mentions--top, .command-box', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1);
+ changeCss('.mentions--top, .suggestion-list', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3);
+ changeCss('.mentions--top, .suggestion-list', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2);
+ changeCss('.mentions--top, .suggestion-list', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1);
changeCss('.dropdown-menu, .popover ', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 3);
changeCss('.dropdown-menu, .popover ', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 2);
changeCss('.dropdown-menu, .popover ', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 1);
@@ -626,7 +626,7 @@ export function applyTheme(theme) {
changeCss('.markdown__table tbody tr:nth-child(2n)', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
changeCss('.channel-header__info>div.dropdown .header-dropdown__icon', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
changeCss('.channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
- changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .command-box, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover, .mentions--top .mentions-box', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
+ changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .suggestion-content, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
changeCss('.popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
changeCss('.search-help-popover .search-autocomplete__divider span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1);
changeCss('.popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
@@ -638,7 +638,7 @@ export function applyTheme(theme) {
changeCss('.post-image__column', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 2);
changeCss('.post-image__column .post-image__details', 'color:' + theme.centerChannelColor, 2);
changeCss('.post-image__column a, .post-image__column a:hover, .post-image__column a:focus', 'color:' + theme.centerChannelColor, 1);
- changeCss('@media(min-width: 960px){.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2);
+ changeCss('@media(min-width: 768px){.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2);
changeCss('.input-group-addon, .search-bar__container .search__form, .form-control', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
changeCss('.form-control:focus', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
changeCss('.attachment .attachment__content', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
@@ -652,7 +652,7 @@ export function applyTheme(theme) {
changeCss('@media(max-width: 1800px){.inner__wrap.move--left .post.post--comment.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2);
changeCss('.post:hover, .modal .more-table tbody>tr:hover td, .settings-modal .settings-table .settings-content .section-min:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
changeCss('.date-separator.hovered--before:after, .date-separator.hovered--after:before, .new-separator.hovered--after:before, .new-separator.hovered--before:after', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
- changeCss('.command-name:hover, .mentions-name:hover, .mentions-focus, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
+ changeCss('.command-name:hover, .mentions-name:hover, .suggestion--selected, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
changeCss('code', 'background:' + changeOpacity(theme.centerChannelColor, 0.1), 1);
changeCss('@media(min-width: 960px){.post.current--user:hover .post__body ', 'background: none;', 1);
changeCss('.sidebar--right', 'color:' + theme.centerChannelColor, 2);
@@ -1238,4 +1238,4 @@ export function getPostTerm(post) {
export function isFeatureEnabled(feature) {
return PreferenceStore.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, Constants.FeatureTogglePrefix + feature.label, {value: 'false'}).value === 'true';
-}
+} \ No newline at end of file
diff --git a/web/sass-files/sass/partials/_content.scss b/web/sass-files/sass/partials/_content.scss
index 44a959a9b..817817854 100644
--- a/web/sass-files/sass/partials/_content.scss
+++ b/web/sass-files/sass/partials/_content.scss
@@ -1,5 +1,5 @@
.inner__wrap {
- @include single-transition(transform, 0.5s, ease);
+ @include single-transition(all, 0.5s, ease);
&.move--left {
margin-right: 400px;
.search-bar__container {
@@ -30,6 +30,20 @@
width: 100%;
z-index: 3;
}
+
+#archive-link-home {
+ @include flex(0 0 auto);
+ background: #fff;
+ width: 100%;
+ min-height: 50px;
+ z-index: 3;
+ background-color: beige;
+ text-align: center;
+ vertical-align: middle;
+ padding-top: 10px;
+ cursor: pointer;
+}
+
.post-list {
.new-messages-hr {
margin-top: 5px;
diff --git a/web/sass-files/sass/partials/_mentions.scss b/web/sass-files/sass/partials/_mentions.scss
index f59cefbc6..ee5b7f6d0 100644
--- a/web/sass-files/sass/partials/_mentions.scss
+++ b/web/sass-files/sass/partials/_mentions.scss
@@ -7,26 +7,9 @@
@include border-radius(3px);
}
-.mentions--top {
- position: absolute;
- z-index: 1060;
- @extend %popover-box-shadow;
- .mentions-box {
- width: 100%;
- height: 100%;
- position: absolute;
- background-color: #fff;
- border: $border-gray;
- overflow-x: hidden;
- overflow-y: scroll;
- bottom: 0;
- }
-}
-
.mentions-name {
position:relative;
width:100%;
- background-color:#fff;
height:36px;
padding:2px;
z-index:101;
@@ -57,4 +40,4 @@
.mention-highlight {
background-color:#fff2bb;
-} \ No newline at end of file
+}
diff --git a/web/sass-files/sass/partials/_modal.scss b/web/sass-files/sass/partials/_modal.scss
index 4a56bc6c7..01c9e136c 100644
--- a/web/sass-files/sass/partials/_modal.scss
+++ b/web/sass-files/sass/partials/_modal.scss
@@ -405,3 +405,11 @@
@include opacity(0.7);
}
}
+
+.modal-body.edit-modal-body {
+ overflow: visible;
+
+ .suggestion-content {
+ max-height: 150px;
+ }
+}
diff --git a/web/sass-files/sass/partials/_popover.scss b/web/sass-files/sass/partials/_popover.scss
index 7d98935d5..a48bfb22d 100644
--- a/web/sass-files/sass/partials/_popover.scss
+++ b/web/sass-files/sass/partials/_popover.scss
@@ -94,6 +94,8 @@
}
.popover-content {
+ max-height: 500px;
+ overflow: auto;
padding: 3px 13px;
}
diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss
index a56c4bb17..9b316d48e 100644
--- a/web/sass-files/sass/partials/_responsive.scss
+++ b/web/sass-files/sass/partials/_responsive.scss
@@ -51,23 +51,27 @@
@media screen and (max-width: 960px) {
- .signup-team__container {
- font-size: 1em;
- }
+ .sidebar--right {
+ width: 400px;
+ z-index: 5;
+ right: 0;
+ @include translateX(100%);
- .post {
+ &.move--left {
+ @include translateX(0);
+ }
- &.same--root {
+ }
- &.same--user {
+ .inner__wrap {
- .post__time {
- display: none;
- }
+ &.move--left {
+ margin-right: 0;
+ }
- }
+ }
- }
+ .post {
.post-list__content & {
@@ -106,6 +110,30 @@
}
+ }
+
+}
+
+@media screen and (max-width: 768px) {
+
+ .signup-team__container {
+ font-size: 1em;
+ }
+
+ .post {
+
+ &.same--root {
+
+ &.same--user {
+
+ .post__time {
+ display: none;
+ }
+
+ }
+
+ }
+
.post__img {
width: 40px;
diff --git a/web/sass-files/sass/partials/_settings.scss b/web/sass-files/sass/partials/_settings.scss
index 0d75a42df..a924e7700 100644
--- a/web/sass-files/sass/partials/_settings.scss
+++ b/web/sass-files/sass/partials/_settings.scss
@@ -37,7 +37,8 @@
label {
font-weight: 600;
}
- .no-padding--left {
+
+ .no-padding--left {
padding-left: 0;
}
.padding-top {
diff --git a/web/sass-files/sass/partials/_sidebar--right.scss b/web/sass-files/sass/partials/_sidebar--right.scss
index 43162831d..735b2a99e 100644
--- a/web/sass-files/sass/partials/_sidebar--right.scss
+++ b/web/sass-files/sass/partials/_sidebar--right.scss
@@ -93,6 +93,10 @@
padding-bottom: 10px;
}
}
+
+ .suggestion-content {
+ max-height: 120px;
+ }
}
.sidebar-right-container {
diff --git a/web/sass-files/sass/partials/_command-box.scss b/web/sass-files/sass/partials/_suggestion_list.scss
index 184fb55eb..c3df88964 100644
--- a/web/sass-files/sass/partials/_command-box.scss
+++ b/web/sass-files/sass/partials/_suggestion_list.scss
@@ -1,15 +1,29 @@
-.command-box {
+.suggestion-list {
+ width: 100%;
+ z-index: 100;
+ @extend %popover-box-shadow;
+}
+
+.suggestion-list--top {
position: absolute;
- background-color: #fff;
+}
+
+.suggestion-content {
width: 100%;
+ max-height: 292px;
+ background-color: #fff;
border: $border-gray;
- bottom: 38px;
- overflow: auto;
- z-index: 100;
- @extend %popover-box-shadow;
- .sidebar--right & {
- bottom: 100px;
- }
+ overflow-x: hidden;
+ overflow-y: scroll;
+}
+
+.suggestion-content--top {
+ position: absolute;
+ bottom: 0;
+}
+
+.suggestion--selected {
+ // set by theme code
}
.command-name {
@@ -20,9 +34,7 @@
z-index: 101;
font-size: 0.95em;
border-bottom: 1px solid #ddd;
- &:hover {
- background-color: #e8eaed;
- }
+
.command__desc {
margin-left: 5px;
@include opacity(0.5);
@@ -32,4 +44,4 @@
.command-desc {
color: #a7a8ab;
-} \ No newline at end of file
+}
diff --git a/web/sass-files/sass/partials/_tutorial.scss b/web/sass-files/sass/partials/_tutorial.scss
index cfbc3454a..8ab29ab10 100644
--- a/web/sass-files/sass/partials/_tutorial.scss
+++ b/web/sass-files/sass/partials/_tutorial.scss
@@ -81,7 +81,7 @@
color: #fff;
@include border-radius(3px);
border: none;
- margin-bottom: 10px;
+ margin: 10px 0;
&:hover, &:active, &:focus {
color: #fff;
diff --git a/web/sass-files/sass/styles.scss b/web/sass-files/sass/styles.scss
index 01f654eec..e7fd7c976 100644
--- a/web/sass-files/sass/styles.scss
+++ b/web/sass-files/sass/styles.scss
@@ -32,7 +32,6 @@
@import "partials/modal";
@import "partials/forms";
@import "partials/mentions";
-@import "partials/command-box";
@import "partials/error";
@import "partials/error-bar";
@import "partials/loading";
@@ -40,6 +39,7 @@
@import "partials/markdown";
@import "partials/tutorial";
@import "partials/statistics";
+@import "partials/suggestion_list";
// Elements
@import "partials/tooltips";
diff --git a/web/static/images/emoji/+1.png b/web/static/images/emoji/+1.png
index 81786c1d8..26949329f 100755..100644
--- a/web/static/images/emoji/+1.png
+++ b/web/static/images/emoji/+1.png
Binary files differ
diff --git a/web/static/images/emoji/-1.png b/web/static/images/emoji/-1.png
index 41c6b825d..9b6d251b5 100755..100644
--- a/web/static/images/emoji/-1.png
+++ b/web/static/images/emoji/-1.png
Binary files differ
diff --git a/web/static/images/emoji/0023-20e3.png b/web/static/images/emoji/0023-20e3.png
new file mode 100644
index 000000000..9e4cda640
--- /dev/null
+++ b/web/static/images/emoji/0023-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0030-20e3.png b/web/static/images/emoji/0030-20e3.png
new file mode 100644
index 000000000..56e4e0672
--- /dev/null
+++ b/web/static/images/emoji/0030-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0031-20e3.png b/web/static/images/emoji/0031-20e3.png
new file mode 100644
index 000000000..b10ef8c0c
--- /dev/null
+++ b/web/static/images/emoji/0031-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0032-20e3.png b/web/static/images/emoji/0032-20e3.png
new file mode 100644
index 000000000..a062ea93a
--- /dev/null
+++ b/web/static/images/emoji/0032-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0033-20e3.png b/web/static/images/emoji/0033-20e3.png
new file mode 100644
index 000000000..96ac84050
--- /dev/null
+++ b/web/static/images/emoji/0033-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0034-20e3.png b/web/static/images/emoji/0034-20e3.png
new file mode 100644
index 000000000..a8b4dc052
--- /dev/null
+++ b/web/static/images/emoji/0034-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0035-20e3.png b/web/static/images/emoji/0035-20e3.png
new file mode 100644
index 000000000..9b527aeb7
--- /dev/null
+++ b/web/static/images/emoji/0035-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0036-20e3.png b/web/static/images/emoji/0036-20e3.png
new file mode 100644
index 000000000..cd0b30fd2
--- /dev/null
+++ b/web/static/images/emoji/0036-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0037-20e3.png b/web/static/images/emoji/0037-20e3.png
new file mode 100644
index 000000000..33151fdba
--- /dev/null
+++ b/web/static/images/emoji/0037-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0038-20e3.png b/web/static/images/emoji/0038-20e3.png
new file mode 100644
index 000000000..48c5ca813
--- /dev/null
+++ b/web/static/images/emoji/0038-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/0039-20e3.png b/web/static/images/emoji/0039-20e3.png
new file mode 100644
index 000000000..e6b38a109
--- /dev/null
+++ b/web/static/images/emoji/0039-20e3.png
Binary files differ
diff --git a/web/static/images/emoji/00a9.png b/web/static/images/emoji/00a9.png
new file mode 100644
index 000000000..9872c5b7e
--- /dev/null
+++ b/web/static/images/emoji/00a9.png
Binary files differ
diff --git a/web/static/images/emoji/00ae.png b/web/static/images/emoji/00ae.png
new file mode 100644
index 000000000..68d445daf
--- /dev/null
+++ b/web/static/images/emoji/00ae.png
Binary files differ
diff --git a/web/static/images/emoji/100.png b/web/static/images/emoji/100.png
index ca3bb9bcf..cd308ad66 100755..100644
--- a/web/static/images/emoji/100.png
+++ b/web/static/images/emoji/100.png
Binary files differ
diff --git a/web/static/images/emoji/1234.png b/web/static/images/emoji/1234.png
index c47c2e1f9..17ec5f12a 100755..100644
--- a/web/static/images/emoji/1234.png
+++ b/web/static/images/emoji/1234.png
Binary files differ
diff --git a/web/static/images/emoji/1f004.png b/web/static/images/emoji/1f004.png
new file mode 100644
index 000000000..16a59d954
--- /dev/null
+++ b/web/static/images/emoji/1f004.png
Binary files differ
diff --git a/web/static/images/emoji/1f0cf.png b/web/static/images/emoji/1f0cf.png
new file mode 100644
index 000000000..1cbc43e84
--- /dev/null
+++ b/web/static/images/emoji/1f0cf.png
Binary files differ
diff --git a/web/static/images/emoji/1f170.png b/web/static/images/emoji/1f170.png
new file mode 100644
index 000000000..7b1f9663c
--- /dev/null
+++ b/web/static/images/emoji/1f170.png
Binary files differ
diff --git a/web/static/images/emoji/1f171.png b/web/static/images/emoji/1f171.png
new file mode 100644
index 000000000..cf87ad1fc
--- /dev/null
+++ b/web/static/images/emoji/1f171.png
Binary files differ
diff --git a/web/static/images/emoji/1f17e.png b/web/static/images/emoji/1f17e.png
new file mode 100644
index 000000000..b39215725
--- /dev/null
+++ b/web/static/images/emoji/1f17e.png
Binary files differ
diff --git a/web/static/images/emoji/1f17f.png b/web/static/images/emoji/1f17f.png
new file mode 100644
index 000000000..340033226
--- /dev/null
+++ b/web/static/images/emoji/1f17f.png
Binary files differ
diff --git a/web/static/images/emoji/1f18e.png b/web/static/images/emoji/1f18e.png
new file mode 100644
index 000000000..386ec09fe
--- /dev/null
+++ b/web/static/images/emoji/1f18e.png
Binary files differ
diff --git a/web/static/images/emoji/1f191.png b/web/static/images/emoji/1f191.png
new file mode 100644
index 000000000..ccd6494e6
--- /dev/null
+++ b/web/static/images/emoji/1f191.png
Binary files differ
diff --git a/web/static/images/emoji/1f192.png b/web/static/images/emoji/1f192.png
new file mode 100644
index 000000000..07c22b8c5
--- /dev/null
+++ b/web/static/images/emoji/1f192.png
Binary files differ
diff --git a/web/static/images/emoji/1f193.png b/web/static/images/emoji/1f193.png
new file mode 100644
index 000000000..0da6a1112
--- /dev/null
+++ b/web/static/images/emoji/1f193.png
Binary files differ
diff --git a/web/static/images/emoji/1f194.png b/web/static/images/emoji/1f194.png
new file mode 100644
index 000000000..3ae8bc2b9
--- /dev/null
+++ b/web/static/images/emoji/1f194.png
Binary files differ
diff --git a/web/static/images/emoji/1f195.png b/web/static/images/emoji/1f195.png
new file mode 100644
index 000000000..9d9f89101
--- /dev/null
+++ b/web/static/images/emoji/1f195.png
Binary files differ
diff --git a/web/static/images/emoji/1f196.png b/web/static/images/emoji/1f196.png
new file mode 100644
index 000000000..cc45e9df2
--- /dev/null
+++ b/web/static/images/emoji/1f196.png
Binary files differ
diff --git a/web/static/images/emoji/1f197.png b/web/static/images/emoji/1f197.png
new file mode 100644
index 000000000..ffa868d43
--- /dev/null
+++ b/web/static/images/emoji/1f197.png
Binary files differ
diff --git a/web/static/images/emoji/1f198.png b/web/static/images/emoji/1f198.png
new file mode 100644
index 000000000..4af944919
--- /dev/null
+++ b/web/static/images/emoji/1f198.png
Binary files differ
diff --git a/web/static/images/emoji/1f199.png b/web/static/images/emoji/1f199.png
new file mode 100644
index 000000000..aa7974ec1
--- /dev/null
+++ b/web/static/images/emoji/1f199.png
Binary files differ
diff --git a/web/static/images/emoji/1f19a.png b/web/static/images/emoji/1f19a.png
new file mode 100644
index 000000000..327337277
--- /dev/null
+++ b/web/static/images/emoji/1f19a.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1e8.png b/web/static/images/emoji/1f1e6-1f1e8.png
new file mode 100644
index 000000000..56115ba78
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1e9.png b/web/static/images/emoji/1f1e6-1f1e9.png
new file mode 100644
index 000000000..d3fabc4b0
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1ea.png b/web/static/images/emoji/1f1e6-1f1ea.png
new file mode 100644
index 000000000..57cade93b
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1eb.png b/web/static/images/emoji/1f1e6-1f1eb.png
new file mode 100644
index 000000000..af7e886df
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1ec.png b/web/static/images/emoji/1f1e6-1f1ec.png
new file mode 100644
index 000000000..9e2dc805e
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1ee.png b/web/static/images/emoji/1f1e6-1f1ee.png
new file mode 100644
index 000000000..2046a5a83
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1f1.png b/web/static/images/emoji/1f1e6-1f1f1.png
new file mode 100644
index 000000000..0c76f4af4
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1f2.png b/web/static/images/emoji/1f1e6-1f1f2.png
new file mode 100644
index 000000000..1e39fe1fe
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1f4.png b/web/static/images/emoji/1f1e6-1f1f4.png
new file mode 100644
index 000000000..01a469e9e
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1f7.png b/web/static/images/emoji/1f1e6-1f1f7.png
new file mode 100644
index 000000000..603697bad
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1f9.png b/web/static/images/emoji/1f1e6-1f1f9.png
new file mode 100644
index 000000000..38988f737
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1fa.png b/web/static/images/emoji/1f1e6-1f1fa.png
new file mode 100644
index 000000000..fdc448c91
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1fc.png b/web/static/images/emoji/1f1e6-1f1fc.png
new file mode 100644
index 000000000..fda4d0b19
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e6-1f1ff.png b/web/static/images/emoji/1f1e6-1f1ff.png
new file mode 100644
index 000000000..3efb55bfc
--- /dev/null
+++ b/web/static/images/emoji/1f1e6-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1e6.png b/web/static/images/emoji/1f1e7-1f1e6.png
new file mode 100644
index 000000000..47028b1f2
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1e7.png b/web/static/images/emoji/1f1e7-1f1e7.png
new file mode 100644
index 000000000..8bfb6fcb0
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1e9.png b/web/static/images/emoji/1f1e7-1f1e9.png
new file mode 100644
index 000000000..a4b7928c8
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ea.png b/web/static/images/emoji/1f1e7-1f1ea.png
new file mode 100644
index 000000000..f996f6fc0
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1eb.png b/web/static/images/emoji/1f1e7-1f1eb.png
new file mode 100644
index 000000000..185eb5a92
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ec.png b/web/static/images/emoji/1f1e7-1f1ec.png
new file mode 100644
index 000000000..849c68a22
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ed.png b/web/static/images/emoji/1f1e7-1f1ed.png
new file mode 100644
index 000000000..b0cabb344
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ee.png b/web/static/images/emoji/1f1e7-1f1ee.png
new file mode 100644
index 000000000..b2de6ba9d
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ef.png b/web/static/images/emoji/1f1e7-1f1ef.png
new file mode 100644
index 000000000..6023c7286
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f2.png b/web/static/images/emoji/1f1e7-1f1f2.png
new file mode 100644
index 000000000..cce7665e5
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f3.png b/web/static/images/emoji/1f1e7-1f1f3.png
new file mode 100644
index 000000000..37ffaaf4a
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f4.png b/web/static/images/emoji/1f1e7-1f1f4.png
new file mode 100644
index 000000000..9e7b9bd6d
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f7.png b/web/static/images/emoji/1f1e7-1f1f7.png
new file mode 100644
index 000000000..1218801ec
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f8.png b/web/static/images/emoji/1f1e7-1f1f8.png
new file mode 100644
index 000000000..56304afc5
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1f9.png b/web/static/images/emoji/1f1e7-1f1f9.png
new file mode 100644
index 000000000..5419aeeb3
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1fc.png b/web/static/images/emoji/1f1e7-1f1fc.png
new file mode 100644
index 000000000..b82b4e244
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1fe.png b/web/static/images/emoji/1f1e7-1f1fe.png
new file mode 100644
index 000000000..fbf36a528
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e7-1f1ff.png b/web/static/images/emoji/1f1e7-1f1ff.png
new file mode 100644
index 000000000..4e300a7a9
--- /dev/null
+++ b/web/static/images/emoji/1f1e7-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1e6.png b/web/static/images/emoji/1f1e8-1f1e6.png
new file mode 100644
index 000000000..2838b5e82
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1e9.png b/web/static/images/emoji/1f1e8-1f1e9.png
new file mode 100644
index 000000000..b7620b487
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1eb.png b/web/static/images/emoji/1f1e8-1f1eb.png
new file mode 100644
index 000000000..32accc631
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1ec.png b/web/static/images/emoji/1f1e8-1f1ec.png
new file mode 100644
index 000000000..51d0cb55b
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1ed.png b/web/static/images/emoji/1f1e8-1f1ed.png
new file mode 100644
index 000000000..53f7c0496
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1ee.png b/web/static/images/emoji/1f1e8-1f1ee.png
new file mode 100644
index 000000000..3a1fb1946
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1f1.png b/web/static/images/emoji/1f1e8-1f1f1.png
new file mode 100644
index 000000000..ebbf710d2
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1f2.png b/web/static/images/emoji/1f1e8-1f1f2.png
new file mode 100644
index 000000000..71024ac1c
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1f3.png b/web/static/images/emoji/1f1e8-1f1f3.png
new file mode 100644
index 000000000..0151923f3
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1f4.png b/web/static/images/emoji/1f1e8-1f1f4.png
new file mode 100644
index 000000000..b64536ac3
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1f7.png b/web/static/images/emoji/1f1e8-1f1f7.png
new file mode 100644
index 000000000..74612a90e
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1fa.png b/web/static/images/emoji/1f1e8-1f1fa.png
new file mode 100644
index 000000000..37a9cc10b
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1fb.png b/web/static/images/emoji/1f1e8-1f1fb.png
new file mode 100644
index 000000000..7a6a41e90
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1fe.png b/web/static/images/emoji/1f1e8-1f1fe.png
new file mode 100644
index 000000000..4f593449a
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e8-1f1ff.png b/web/static/images/emoji/1f1e8-1f1ff.png
new file mode 100644
index 000000000..aa9a40c74
--- /dev/null
+++ b/web/static/images/emoji/1f1e8-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1ea.png b/web/static/images/emoji/1f1e9-1f1ea.png
new file mode 100644
index 000000000..168ab43c3
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1ef.png b/web/static/images/emoji/1f1e9-1f1ef.png
new file mode 100644
index 000000000..ba0833714
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1f0.png b/web/static/images/emoji/1f1e9-1f1f0.png
new file mode 100644
index 000000000..2e6b7a624
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1f2.png b/web/static/images/emoji/1f1e9-1f1f2.png
new file mode 100644
index 000000000..1b90463e5
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1f4.png b/web/static/images/emoji/1f1e9-1f1f4.png
new file mode 100644
index 000000000..d5c1ac5ba
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1e9-1f1ff.png b/web/static/images/emoji/1f1e9-1f1ff.png
new file mode 100644
index 000000000..a778a7995
--- /dev/null
+++ b/web/static/images/emoji/1f1e9-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1e8.png b/web/static/images/emoji/1f1ea-1f1e8.png
new file mode 100644
index 000000000..7f40f138d
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1ea.png b/web/static/images/emoji/1f1ea-1f1ea.png
new file mode 100644
index 000000000..1aa45dc2a
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1ec.png b/web/static/images/emoji/1f1ea-1f1ec.png
new file mode 100644
index 000000000..5904bfac9
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1ed.png b/web/static/images/emoji/1f1ea-1f1ed.png
new file mode 100644
index 000000000..5c1bf6134
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1f7.png b/web/static/images/emoji/1f1ea-1f1f7.png
new file mode 100644
index 000000000..fa4f25eed
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1f8.png b/web/static/images/emoji/1f1ea-1f1f8.png
new file mode 100644
index 000000000..16a772cd1
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ea-1f1f9.png b/web/static/images/emoji/1f1ea-1f1f9.png
new file mode 100644
index 000000000..4833e8431
--- /dev/null
+++ b/web/static/images/emoji/1f1ea-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1ee.png b/web/static/images/emoji/1f1eb-1f1ee.png
new file mode 100644
index 000000000..b2a5c3d24
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1ef.png b/web/static/images/emoji/1f1eb-1f1ef.png
new file mode 100644
index 000000000..a7a731e6f
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1f0.png b/web/static/images/emoji/1f1eb-1f1f0.png
new file mode 100644
index 000000000..c4562eaa6
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1f2.png b/web/static/images/emoji/1f1eb-1f1f2.png
new file mode 100644
index 000000000..42fe76312
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1f4.png b/web/static/images/emoji/1f1eb-1f1f4.png
new file mode 100644
index 000000000..e9d8e4cf4
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1eb-1f1f7.png b/web/static/images/emoji/1f1eb-1f1f7.png
new file mode 100644
index 000000000..14271f059
--- /dev/null
+++ b/web/static/images/emoji/1f1eb-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1e6.png b/web/static/images/emoji/1f1ec-1f1e6.png
new file mode 100644
index 000000000..4a3b5ccf9
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1e7.png b/web/static/images/emoji/1f1ec-1f1e7.png
new file mode 100644
index 000000000..61c03f759
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1e9.png b/web/static/images/emoji/1f1ec-1f1e9.png
new file mode 100644
index 000000000..4f9dc82d7
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1ea.png b/web/static/images/emoji/1f1ec-1f1ea.png
new file mode 100644
index 000000000..1fe16f968
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1ed.png b/web/static/images/emoji/1f1ec-1f1ed.png
new file mode 100644
index 000000000..0aadf4db2
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1ee.png b/web/static/images/emoji/1f1ec-1f1ee.png
new file mode 100644
index 000000000..e95abe51f
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f1.png b/web/static/images/emoji/1f1ec-1f1f1.png
new file mode 100644
index 000000000..76708a55f
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f2.png b/web/static/images/emoji/1f1ec-1f1f2.png
new file mode 100644
index 000000000..c5a72895f
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f3.png b/web/static/images/emoji/1f1ec-1f1f3.png
new file mode 100644
index 000000000..fdd5c2d14
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f6.png b/web/static/images/emoji/1f1ec-1f1f6.png
new file mode 100644
index 000000000..7fc7c86c8
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f7.png b/web/static/images/emoji/1f1ec-1f1f7.png
new file mode 100644
index 000000000..091f1ab07
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1f9.png b/web/static/images/emoji/1f1ec-1f1f9.png
new file mode 100644
index 000000000..66437d0de
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1fa.png b/web/static/images/emoji/1f1ec-1f1fa.png
new file mode 100644
index 000000000..a4d2024b1
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1fc.png b/web/static/images/emoji/1f1ec-1f1fc.png
new file mode 100644
index 000000000..a70abe908
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ec-1f1fe.png b/web/static/images/emoji/1f1ec-1f1fe.png
new file mode 100644
index 000000000..2cc8ecaab
--- /dev/null
+++ b/web/static/images/emoji/1f1ec-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ed-1f1f0.png b/web/static/images/emoji/1f1ed-1f1f0.png
new file mode 100644
index 000000000..cff8e25fd
--- /dev/null
+++ b/web/static/images/emoji/1f1ed-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ed-1f1f3.png b/web/static/images/emoji/1f1ed-1f1f3.png
new file mode 100644
index 000000000..e4eeee2d8
--- /dev/null
+++ b/web/static/images/emoji/1f1ed-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ed-1f1f7.png b/web/static/images/emoji/1f1ed-1f1f7.png
new file mode 100644
index 000000000..be0823c21
--- /dev/null
+++ b/web/static/images/emoji/1f1ed-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ed-1f1f9.png b/web/static/images/emoji/1f1ed-1f1f9.png
new file mode 100644
index 000000000..76d3d94ad
--- /dev/null
+++ b/web/static/images/emoji/1f1ed-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ed-1f1fa.png b/web/static/images/emoji/1f1ed-1f1fa.png
new file mode 100644
index 000000000..028f853dd
--- /dev/null
+++ b/web/static/images/emoji/1f1ed-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1e9.png b/web/static/images/emoji/1f1ee-1f1e9.png
new file mode 100644
index 000000000..90042acf5
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1ea.png b/web/static/images/emoji/1f1ee-1f1ea.png
new file mode 100644
index 000000000..63ae4af61
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f1.png b/web/static/images/emoji/1f1ee-1f1f1.png
new file mode 100644
index 000000000..8361d8ee3
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f3.png b/web/static/images/emoji/1f1ee-1f1f3.png
new file mode 100644
index 000000000..6d6f944c4
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f6.png b/web/static/images/emoji/1f1ee-1f1f6.png
new file mode 100644
index 000000000..5fb5d4e3b
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f7.png b/web/static/images/emoji/1f1ee-1f1f7.png
new file mode 100644
index 000000000..23f916063
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f8.png b/web/static/images/emoji/1f1ee-1f1f8.png
new file mode 100644
index 000000000..7f2b34832
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ee-1f1f9.png b/web/static/images/emoji/1f1ee-1f1f9.png
new file mode 100644
index 000000000..bce062350
--- /dev/null
+++ b/web/static/images/emoji/1f1ee-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ef-1f1ea.png b/web/static/images/emoji/1f1ef-1f1ea.png
new file mode 100644
index 000000000..822b4340d
--- /dev/null
+++ b/web/static/images/emoji/1f1ef-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ef-1f1f2.png b/web/static/images/emoji/1f1ef-1f1f2.png
new file mode 100644
index 000000000..f179b1404
--- /dev/null
+++ b/web/static/images/emoji/1f1ef-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ef-1f1f4.png b/web/static/images/emoji/1f1ef-1f1f4.png
new file mode 100644
index 000000000..15be546e8
--- /dev/null
+++ b/web/static/images/emoji/1f1ef-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ef-1f1f5.png b/web/static/images/emoji/1f1ef-1f1f5.png
new file mode 100644
index 000000000..56390ce22
--- /dev/null
+++ b/web/static/images/emoji/1f1ef-1f1f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1ea.png b/web/static/images/emoji/1f1f0-1f1ea.png
new file mode 100644
index 000000000..301bf6eec
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1ec.png b/web/static/images/emoji/1f1f0-1f1ec.png
new file mode 100644
index 000000000..6845412e8
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1ed.png b/web/static/images/emoji/1f1f0-1f1ed.png
new file mode 100644
index 000000000..15ccea7a4
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1ee.png b/web/static/images/emoji/1f1f0-1f1ee.png
new file mode 100644
index 000000000..79331c5de
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1f2.png b/web/static/images/emoji/1f1f0-1f1f2.png
new file mode 100644
index 000000000..9a16139aa
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1f3.png b/web/static/images/emoji/1f1f0-1f1f3.png
new file mode 100644
index 000000000..913f6dfb7
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1f5.png b/web/static/images/emoji/1f1f0-1f1f5.png
new file mode 100644
index 000000000..cb50e9380
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1f7.png b/web/static/images/emoji/1f1f0-1f1f7.png
new file mode 100644
index 000000000..6687991f3
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1fc.png b/web/static/images/emoji/1f1f0-1f1fc.png
new file mode 100644
index 000000000..72ef3415f
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1fe.png b/web/static/images/emoji/1f1f0-1f1fe.png
new file mode 100644
index 000000000..d716ddcd5
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f0-1f1ff.png b/web/static/images/emoji/1f1f0-1f1ff.png
new file mode 100644
index 000000000..49813e5d5
--- /dev/null
+++ b/web/static/images/emoji/1f1f0-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1e6.png b/web/static/images/emoji/1f1f1-1f1e6.png
new file mode 100644
index 000000000..6f0dd90f3
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1e7.png b/web/static/images/emoji/1f1f1-1f1e7.png
new file mode 100644
index 000000000..8fe041f46
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1e8.png b/web/static/images/emoji/1f1f1-1f1e8.png
new file mode 100644
index 000000000..70a34cb11
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1ee.png b/web/static/images/emoji/1f1f1-1f1ee.png
new file mode 100644
index 000000000..ad667c3c4
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1f0.png b/web/static/images/emoji/1f1f1-1f1f0.png
new file mode 100644
index 000000000..9a205d9cf
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1f7.png b/web/static/images/emoji/1f1f1-1f1f7.png
new file mode 100644
index 000000000..2916a1ff4
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1f8.png b/web/static/images/emoji/1f1f1-1f1f8.png
new file mode 100644
index 000000000..a47e7e067
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1f9.png b/web/static/images/emoji/1f1f1-1f1f9.png
new file mode 100644
index 000000000..ea08d9b23
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1fa.png b/web/static/images/emoji/1f1f1-1f1fa.png
new file mode 100644
index 000000000..dbd428878
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1fb.png b/web/static/images/emoji/1f1f1-1f1fb.png
new file mode 100644
index 000000000..a8eef9ff6
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f1-1f1fe.png b/web/static/images/emoji/1f1f1-1f1fe.png
new file mode 100644
index 000000000..04632748f
--- /dev/null
+++ b/web/static/images/emoji/1f1f1-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1e6.png b/web/static/images/emoji/1f1f2-1f1e6.png
new file mode 100644
index 000000000..1bf4401f6
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1e8.png b/web/static/images/emoji/1f1f2-1f1e8.png
new file mode 100644
index 000000000..039174d3a
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1e9.png b/web/static/images/emoji/1f1f2-1f1e9.png
new file mode 100644
index 000000000..78b5ba7e2
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1ea.png b/web/static/images/emoji/1f1f2-1f1ea.png
new file mode 100644
index 000000000..01245d958
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1ec.png b/web/static/images/emoji/1f1f2-1f1ec.png
new file mode 100644
index 000000000..cb55e9fc3
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1ed.png b/web/static/images/emoji/1f1f2-1f1ed.png
new file mode 100644
index 000000000..ff5038b6d
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f0.png b/web/static/images/emoji/1f1f2-1f1f0.png
new file mode 100644
index 000000000..8dadf0110
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f1.png b/web/static/images/emoji/1f1f2-1f1f1.png
new file mode 100644
index 000000000..53be7c81e
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f2.png b/web/static/images/emoji/1f1f2-1f1f2.png
new file mode 100644
index 000000000..c1cfee7a5
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f3.png b/web/static/images/emoji/1f1f2-1f1f3.png
new file mode 100644
index 000000000..1beac5568
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f4.png b/web/static/images/emoji/1f1f2-1f1f4.png
new file mode 100644
index 000000000..6a8fcb9a0
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f7.png b/web/static/images/emoji/1f1f2-1f1f7.png
new file mode 100644
index 000000000..854690cfb
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f8.png b/web/static/images/emoji/1f1f2-1f1f8.png
new file mode 100644
index 000000000..61b2de721
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1f9.png b/web/static/images/emoji/1f1f2-1f1f9.png
new file mode 100644
index 000000000..2f07f4709
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1fa.png b/web/static/images/emoji/1f1f2-1f1fa.png
new file mode 100644
index 000000000..9d28c0812
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1fb.png b/web/static/images/emoji/1f1f2-1f1fb.png
new file mode 100644
index 000000000..4ea56e841
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1fc.png b/web/static/images/emoji/1f1f2-1f1fc.png
new file mode 100644
index 000000000..361aa65ec
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1fd.png b/web/static/images/emoji/1f1f2-1f1fd.png
new file mode 100644
index 000000000..c44c24df1
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1fd.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1fe.png b/web/static/images/emoji/1f1f2-1f1fe.png
new file mode 100644
index 000000000..166fd5ba7
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f2-1f1ff.png b/web/static/images/emoji/1f1f2-1f1ff.png
new file mode 100644
index 000000000..209db39ee
--- /dev/null
+++ b/web/static/images/emoji/1f1f2-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1e6.png b/web/static/images/emoji/1f1f3-1f1e6.png
new file mode 100644
index 000000000..84fab946d
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1e8.png b/web/static/images/emoji/1f1f3-1f1e8.png
new file mode 100644
index 000000000..6372d93c7
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1ea.png b/web/static/images/emoji/1f1f3-1f1ea.png
new file mode 100644
index 000000000..3fd0d99ab
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1ec.png b/web/static/images/emoji/1f1f3-1f1ec.png
new file mode 100644
index 000000000..2c98fcdff
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1ee.png b/web/static/images/emoji/1f1f3-1f1ee.png
new file mode 100644
index 000000000..88055d5a0
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1f1.png b/web/static/images/emoji/1f1f3-1f1f1.png
new file mode 100644
index 000000000..d5de058a4
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1f4.png b/web/static/images/emoji/1f1f3-1f1f4.png
new file mode 100644
index 000000000..1199fae93
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1f5.png b/web/static/images/emoji/1f1f3-1f1f5.png
new file mode 100644
index 000000000..3e17c5204
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1f7.png b/web/static/images/emoji/1f1f3-1f1f7.png
new file mode 100644
index 000000000..80c3d8357
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1fa.png b/web/static/images/emoji/1f1f3-1f1fa.png
new file mode 100644
index 000000000..628aee1e3
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f3-1f1ff.png b/web/static/images/emoji/1f1f3-1f1ff.png
new file mode 100644
index 000000000..d64f6ec22
--- /dev/null
+++ b/web/static/images/emoji/1f1f3-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f4-1f1f2.png b/web/static/images/emoji/1f1f4-1f1f2.png
new file mode 100644
index 000000000..68dd406fb
--- /dev/null
+++ b/web/static/images/emoji/1f1f4-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1e6.png b/web/static/images/emoji/1f1f5-1f1e6.png
new file mode 100644
index 000000000..0fa73faf3
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1ea.png b/web/static/images/emoji/1f1f5-1f1ea.png
new file mode 100644
index 000000000..cf7098d8d
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1eb.png b/web/static/images/emoji/1f1f5-1f1eb.png
new file mode 100644
index 000000000..5780519fd
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1ec.png b/web/static/images/emoji/1f1f5-1f1ec.png
new file mode 100644
index 000000000..0a4ce4c3c
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1ed.png b/web/static/images/emoji/1f1f5-1f1ed.png
new file mode 100644
index 000000000..00a9eaa6d
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1f0.png b/web/static/images/emoji/1f1f5-1f1f0.png
new file mode 100644
index 000000000..b1ab1a7a8
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1f1.png b/web/static/images/emoji/1f1f5-1f1f1.png
new file mode 100644
index 000000000..e07223bf7
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1f7.png b/web/static/images/emoji/1f1f5-1f1f7.png
new file mode 100644
index 000000000..754bb5429
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1f8.png b/web/static/images/emoji/1f1f5-1f1f8.png
new file mode 100644
index 000000000..e2076eda0
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1f9.png b/web/static/images/emoji/1f1f5-1f1f9.png
new file mode 100644
index 000000000..4f585e18b
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1fc.png b/web/static/images/emoji/1f1f5-1f1fc.png
new file mode 100644
index 000000000..e15437591
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f5-1f1fe.png b/web/static/images/emoji/1f1f5-1f1fe.png
new file mode 100644
index 000000000..335d55f93
--- /dev/null
+++ b/web/static/images/emoji/1f1f5-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f6-1f1e6.png b/web/static/images/emoji/1f1f6-1f1e6.png
new file mode 100644
index 000000000..6f99df4ff
--- /dev/null
+++ b/web/static/images/emoji/1f1f6-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f7-1f1f4.png b/web/static/images/emoji/1f1f7-1f1f4.png
new file mode 100644
index 000000000..1f7db7ab1
--- /dev/null
+++ b/web/static/images/emoji/1f1f7-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f7-1f1f8.png b/web/static/images/emoji/1f1f7-1f1f8.png
new file mode 100644
index 000000000..7552aba40
--- /dev/null
+++ b/web/static/images/emoji/1f1f7-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f7-1f1fa.png b/web/static/images/emoji/1f1f7-1f1fa.png
new file mode 100644
index 000000000..4a65f219f
--- /dev/null
+++ b/web/static/images/emoji/1f1f7-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f7-1f1fc.png b/web/static/images/emoji/1f1f7-1f1fc.png
new file mode 100644
index 000000000..ddea66d07
--- /dev/null
+++ b/web/static/images/emoji/1f1f7-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1e6.png b/web/static/images/emoji/1f1f8-1f1e6.png
new file mode 100644
index 000000000..4f82c1a3e
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1e7.png b/web/static/images/emoji/1f1f8-1f1e7.png
new file mode 100644
index 000000000..5bf32a743
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1e8.png b/web/static/images/emoji/1f1f8-1f1e8.png
new file mode 100644
index 000000000..7ec76a1ec
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1e9.png b/web/static/images/emoji/1f1f8-1f1e9.png
new file mode 100644
index 000000000..fad14bde5
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1ea.png b/web/static/images/emoji/1f1f8-1f1ea.png
new file mode 100644
index 000000000..067857a9e
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1ec.png b/web/static/images/emoji/1f1f8-1f1ec.png
new file mode 100644
index 000000000..8d1127005
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1ed.png b/web/static/images/emoji/1f1f8-1f1ed.png
new file mode 100644
index 000000000..75977bea6
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1ee.png b/web/static/images/emoji/1f1f8-1f1ee.png
new file mode 100644
index 000000000..d7c3a7477
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f0.png b/web/static/images/emoji/1f1f8-1f1f0.png
new file mode 100644
index 000000000..6f60bfab3
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f1.png b/web/static/images/emoji/1f1f8-1f1f1.png
new file mode 100644
index 000000000..5f88e8673
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f2.png b/web/static/images/emoji/1f1f8-1f1f2.png
new file mode 100644
index 000000000..431e28ea6
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f3.png b/web/static/images/emoji/1f1f8-1f1f3.png
new file mode 100644
index 000000000..dcc3f9770
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f4.png b/web/static/images/emoji/1f1f8-1f1f4.png
new file mode 100644
index 000000000..2e20974e9
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f7.png b/web/static/images/emoji/1f1f8-1f1f7.png
new file mode 100644
index 000000000..bde51f536
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1f9.png b/web/static/images/emoji/1f1f8-1f1f9.png
new file mode 100644
index 000000000..e387f43b9
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1fb.png b/web/static/images/emoji/1f1f8-1f1fb.png
new file mode 100644
index 000000000..f4a1153db
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1fe.png b/web/static/images/emoji/1f1f8-1f1fe.png
new file mode 100644
index 000000000..f8900079a
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f8-1f1ff.png b/web/static/images/emoji/1f1f8-1f1ff.png
new file mode 100644
index 000000000..f80d7579d
--- /dev/null
+++ b/web/static/images/emoji/1f1f8-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1e9.png b/web/static/images/emoji/1f1f9-1f1e9.png
new file mode 100644
index 000000000..de564e86e
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1ec.png b/web/static/images/emoji/1f1f9-1f1ec.png
new file mode 100644
index 000000000..e41a68ea8
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1ed.png b/web/static/images/emoji/1f1f9-1f1ed.png
new file mode 100644
index 000000000..362fb1a29
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1ef.png b/web/static/images/emoji/1f1f9-1f1ef.png
new file mode 100644
index 000000000..5f2072253
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f1.png b/web/static/images/emoji/1f1f9-1f1f1.png
new file mode 100644
index 000000000..da94c4289
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f2.png b/web/static/images/emoji/1f1f9-1f1f2.png
new file mode 100644
index 000000000..f0ab3b7d5
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f3.png b/web/static/images/emoji/1f1f9-1f1f3.png
new file mode 100644
index 000000000..e1f27ed7d
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f4.png b/web/static/images/emoji/1f1f9-1f1f4.png
new file mode 100644
index 000000000..06c2a6f41
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f7.png b/web/static/images/emoji/1f1f9-1f1f7.png
new file mode 100644
index 000000000..720d4de2f
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1f9.png b/web/static/images/emoji/1f1f9-1f1f9.png
new file mode 100644
index 000000000..2d89e31b0
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1fb.png b/web/static/images/emoji/1f1f9-1f1fb.png
new file mode 100644
index 000000000..765087702
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1fc.png b/web/static/images/emoji/1f1f9-1f1fc.png
new file mode 100644
index 000000000..6499e47ee
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f1f9-1f1ff.png b/web/static/images/emoji/1f1f9-1f1ff.png
new file mode 100644
index 000000000..9e04fcf9d
--- /dev/null
+++ b/web/static/images/emoji/1f1f9-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fa-1f1e6.png b/web/static/images/emoji/1f1fa-1f1e6.png
new file mode 100644
index 000000000..aa9745259
--- /dev/null
+++ b/web/static/images/emoji/1f1fa-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fa-1f1ec.png b/web/static/images/emoji/1f1fa-1f1ec.png
new file mode 100644
index 000000000..f78274fcb
--- /dev/null
+++ b/web/static/images/emoji/1f1fa-1f1ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fa-1f1f8.png b/web/static/images/emoji/1f1fa-1f1f8.png
new file mode 100644
index 000000000..6c98de9be
--- /dev/null
+++ b/web/static/images/emoji/1f1fa-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fa-1f1fe.png b/web/static/images/emoji/1f1fa-1f1fe.png
new file mode 100644
index 000000000..f8caee786
--- /dev/null
+++ b/web/static/images/emoji/1f1fa-1f1fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fa-1f1ff.png b/web/static/images/emoji/1f1fa-1f1ff.png
new file mode 100644
index 000000000..34f0c8627
--- /dev/null
+++ b/web/static/images/emoji/1f1fa-1f1ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1e6.png b/web/static/images/emoji/1f1fb-1f1e6.png
new file mode 100644
index 000000000..175fcaa0e
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1e8.png b/web/static/images/emoji/1f1fb-1f1e8.png
new file mode 100644
index 000000000..4e4efb366
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1ea.png b/web/static/images/emoji/1f1fb-1f1ea.png
new file mode 100644
index 000000000..6ab199a56
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1ee.png b/web/static/images/emoji/1f1fb-1f1ee.png
new file mode 100644
index 000000000..da1d092bb
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1f3.png b/web/static/images/emoji/1f1fb-1f1f3.png
new file mode 100644
index 000000000..ec1ca0b8f
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fb-1f1fa.png b/web/static/images/emoji/1f1fb-1f1fa.png
new file mode 100644
index 000000000..e9345643b
--- /dev/null
+++ b/web/static/images/emoji/1f1fb-1f1fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fc-1f1eb.png b/web/static/images/emoji/1f1fc-1f1eb.png
new file mode 100644
index 000000000..367175512
--- /dev/null
+++ b/web/static/images/emoji/1f1fc-1f1eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fc-1f1f8.png b/web/static/images/emoji/1f1fc-1f1f8.png
new file mode 100644
index 000000000..c4d6349f7
--- /dev/null
+++ b/web/static/images/emoji/1f1fc-1f1f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fd-1f1f0.png b/web/static/images/emoji/1f1fd-1f1f0.png
new file mode 100644
index 000000000..f9953b7e2
--- /dev/null
+++ b/web/static/images/emoji/1f1fd-1f1f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f1fe-1f1ea.png b/web/static/images/emoji/1f1fe-1f1ea.png
new file mode 100644
index 000000000..e62c22683
--- /dev/null
+++ b/web/static/images/emoji/1f1fe-1f1ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ff-1f1e6.png b/web/static/images/emoji/1f1ff-1f1e6.png
new file mode 100644
index 000000000..b5f8197ca
--- /dev/null
+++ b/web/static/images/emoji/1f1ff-1f1e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ff-1f1f2.png b/web/static/images/emoji/1f1ff-1f1f2.png
new file mode 100644
index 000000000..aac8aaa96
--- /dev/null
+++ b/web/static/images/emoji/1f1ff-1f1f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f1ff-1f1fc.png b/web/static/images/emoji/1f1ff-1f1fc.png
new file mode 100644
index 000000000..bf3d7162d
--- /dev/null
+++ b/web/static/images/emoji/1f1ff-1f1fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f201.png b/web/static/images/emoji/1f201.png
new file mode 100644
index 000000000..9f056070e
--- /dev/null
+++ b/web/static/images/emoji/1f201.png
Binary files differ
diff --git a/web/static/images/emoji/1f202.png b/web/static/images/emoji/1f202.png
new file mode 100644
index 000000000..c6dafece9
--- /dev/null
+++ b/web/static/images/emoji/1f202.png
Binary files differ
diff --git a/web/static/images/emoji/1f21a.png b/web/static/images/emoji/1f21a.png
new file mode 100644
index 000000000..5f2982163
--- /dev/null
+++ b/web/static/images/emoji/1f21a.png
Binary files differ
diff --git a/web/static/images/emoji/1f22f.png b/web/static/images/emoji/1f22f.png
new file mode 100644
index 000000000..307d17ad7
--- /dev/null
+++ b/web/static/images/emoji/1f22f.png
Binary files differ
diff --git a/web/static/images/emoji/1f232.png b/web/static/images/emoji/1f232.png
new file mode 100644
index 000000000..cc617fed3
--- /dev/null
+++ b/web/static/images/emoji/1f232.png
Binary files differ
diff --git a/web/static/images/emoji/1f233.png b/web/static/images/emoji/1f233.png
new file mode 100644
index 000000000..3d0922dba
--- /dev/null
+++ b/web/static/images/emoji/1f233.png
Binary files differ
diff --git a/web/static/images/emoji/1f234.png b/web/static/images/emoji/1f234.png
new file mode 100644
index 000000000..02ff557d0
--- /dev/null
+++ b/web/static/images/emoji/1f234.png
Binary files differ
diff --git a/web/static/images/emoji/1f235.png b/web/static/images/emoji/1f235.png
new file mode 100644
index 000000000..4d03236ff
--- /dev/null
+++ b/web/static/images/emoji/1f235.png
Binary files differ
diff --git a/web/static/images/emoji/1f236.png b/web/static/images/emoji/1f236.png
new file mode 100644
index 000000000..b592c12ee
--- /dev/null
+++ b/web/static/images/emoji/1f236.png
Binary files differ
diff --git a/web/static/images/emoji/1f237.png b/web/static/images/emoji/1f237.png
new file mode 100644
index 000000000..cf85c803b
--- /dev/null
+++ b/web/static/images/emoji/1f237.png
Binary files differ
diff --git a/web/static/images/emoji/1f238.png b/web/static/images/emoji/1f238.png
new file mode 100644
index 000000000..e2c566183
--- /dev/null
+++ b/web/static/images/emoji/1f238.png
Binary files differ
diff --git a/web/static/images/emoji/1f239.png b/web/static/images/emoji/1f239.png
new file mode 100644
index 000000000..90ed437d9
--- /dev/null
+++ b/web/static/images/emoji/1f239.png
Binary files differ
diff --git a/web/static/images/emoji/1f23a.png b/web/static/images/emoji/1f23a.png
new file mode 100644
index 000000000..091841a03
--- /dev/null
+++ b/web/static/images/emoji/1f23a.png
Binary files differ
diff --git a/web/static/images/emoji/1f250.png b/web/static/images/emoji/1f250.png
new file mode 100644
index 000000000..2be0c3a78
--- /dev/null
+++ b/web/static/images/emoji/1f250.png
Binary files differ
diff --git a/web/static/images/emoji/1f251.png b/web/static/images/emoji/1f251.png
new file mode 100644
index 000000000..10cf9e29a
--- /dev/null
+++ b/web/static/images/emoji/1f251.png
Binary files differ
diff --git a/web/static/images/emoji/1f300.png b/web/static/images/emoji/1f300.png
new file mode 100644
index 000000000..bd243229a
--- /dev/null
+++ b/web/static/images/emoji/1f300.png
Binary files differ
diff --git a/web/static/images/emoji/1f301.png b/web/static/images/emoji/1f301.png
new file mode 100644
index 000000000..740943ab0
--- /dev/null
+++ b/web/static/images/emoji/1f301.png
Binary files differ
diff --git a/web/static/images/emoji/1f302.png b/web/static/images/emoji/1f302.png
new file mode 100644
index 000000000..00afbfb40
--- /dev/null
+++ b/web/static/images/emoji/1f302.png
Binary files differ
diff --git a/web/static/images/emoji/1f303.png b/web/static/images/emoji/1f303.png
new file mode 100644
index 000000000..b6b629204
--- /dev/null
+++ b/web/static/images/emoji/1f303.png
Binary files differ
diff --git a/web/static/images/emoji/1f304.png b/web/static/images/emoji/1f304.png
new file mode 100644
index 000000000..f8527646e
--- /dev/null
+++ b/web/static/images/emoji/1f304.png
Binary files differ
diff --git a/web/static/images/emoji/1f305.png b/web/static/images/emoji/1f305.png
new file mode 100644
index 000000000..4bcc4a8ac
--- /dev/null
+++ b/web/static/images/emoji/1f305.png
Binary files differ
diff --git a/web/static/images/emoji/1f306.png b/web/static/images/emoji/1f306.png
new file mode 100644
index 000000000..f64483fb6
--- /dev/null
+++ b/web/static/images/emoji/1f306.png
Binary files differ
diff --git a/web/static/images/emoji/1f307.png b/web/static/images/emoji/1f307.png
new file mode 100644
index 000000000..a65691bb0
--- /dev/null
+++ b/web/static/images/emoji/1f307.png
Binary files differ
diff --git a/web/static/images/emoji/1f308.png b/web/static/images/emoji/1f308.png
new file mode 100644
index 000000000..1d92301f9
--- /dev/null
+++ b/web/static/images/emoji/1f308.png
Binary files differ
diff --git a/web/static/images/emoji/1f309.png b/web/static/images/emoji/1f309.png
new file mode 100644
index 000000000..44cf8852e
--- /dev/null
+++ b/web/static/images/emoji/1f309.png
Binary files differ
diff --git a/web/static/images/emoji/1f30a.png b/web/static/images/emoji/1f30a.png
new file mode 100644
index 000000000..172dfffdf
--- /dev/null
+++ b/web/static/images/emoji/1f30a.png
Binary files differ
diff --git a/web/static/images/emoji/1f30b.png b/web/static/images/emoji/1f30b.png
new file mode 100644
index 000000000..5f2c292f0
--- /dev/null
+++ b/web/static/images/emoji/1f30b.png
Binary files differ
diff --git a/web/static/images/emoji/1f30c.png b/web/static/images/emoji/1f30c.png
new file mode 100644
index 000000000..4ee1090f4
--- /dev/null
+++ b/web/static/images/emoji/1f30c.png
Binary files differ
diff --git a/web/static/images/emoji/1f30d.png b/web/static/images/emoji/1f30d.png
new file mode 100644
index 000000000..a4bbace54
--- /dev/null
+++ b/web/static/images/emoji/1f30d.png
Binary files differ
diff --git a/web/static/images/emoji/1f30e.png b/web/static/images/emoji/1f30e.png
new file mode 100644
index 000000000..13a307f3c
--- /dev/null
+++ b/web/static/images/emoji/1f30e.png
Binary files differ
diff --git a/web/static/images/emoji/1f30f.png b/web/static/images/emoji/1f30f.png
new file mode 100644
index 000000000..908e483fa
--- /dev/null
+++ b/web/static/images/emoji/1f30f.png
Binary files differ
diff --git a/web/static/images/emoji/1f310.png b/web/static/images/emoji/1f310.png
new file mode 100644
index 000000000..a7af2cb1c
--- /dev/null
+++ b/web/static/images/emoji/1f310.png
Binary files differ
diff --git a/web/static/images/emoji/1f311.png b/web/static/images/emoji/1f311.png
new file mode 100644
index 000000000..06e5e67f2
--- /dev/null
+++ b/web/static/images/emoji/1f311.png
Binary files differ
diff --git a/web/static/images/emoji/1f312.png b/web/static/images/emoji/1f312.png
new file mode 100644
index 000000000..7d4b5a056
--- /dev/null
+++ b/web/static/images/emoji/1f312.png
Binary files differ
diff --git a/web/static/images/emoji/1f313.png b/web/static/images/emoji/1f313.png
new file mode 100644
index 000000000..14734a42c
--- /dev/null
+++ b/web/static/images/emoji/1f313.png
Binary files differ
diff --git a/web/static/images/emoji/1f314.png b/web/static/images/emoji/1f314.png
new file mode 100644
index 000000000..b53fd4288
--- /dev/null
+++ b/web/static/images/emoji/1f314.png
Binary files differ
diff --git a/web/static/images/emoji/1f315.png b/web/static/images/emoji/1f315.png
new file mode 100644
index 000000000..b936c916d
--- /dev/null
+++ b/web/static/images/emoji/1f315.png
Binary files differ
diff --git a/web/static/images/emoji/1f316.png b/web/static/images/emoji/1f316.png
new file mode 100644
index 000000000..3b9240298
--- /dev/null
+++ b/web/static/images/emoji/1f316.png
Binary files differ
diff --git a/web/static/images/emoji/1f317.png b/web/static/images/emoji/1f317.png
new file mode 100644
index 000000000..85e0df65a
--- /dev/null
+++ b/web/static/images/emoji/1f317.png
Binary files differ
diff --git a/web/static/images/emoji/1f318.png b/web/static/images/emoji/1f318.png
new file mode 100644
index 000000000..f9ab41111
--- /dev/null
+++ b/web/static/images/emoji/1f318.png
Binary files differ
diff --git a/web/static/images/emoji/1f319.png b/web/static/images/emoji/1f319.png
new file mode 100644
index 000000000..2a0b9f39b
--- /dev/null
+++ b/web/static/images/emoji/1f319.png
Binary files differ
diff --git a/web/static/images/emoji/1f31a.png b/web/static/images/emoji/1f31a.png
new file mode 100644
index 000000000..c7b2e8011
--- /dev/null
+++ b/web/static/images/emoji/1f31a.png
Binary files differ
diff --git a/web/static/images/emoji/1f31b.png b/web/static/images/emoji/1f31b.png
new file mode 100644
index 000000000..8f10b3cfe
--- /dev/null
+++ b/web/static/images/emoji/1f31b.png
Binary files differ
diff --git a/web/static/images/emoji/1f31c.png b/web/static/images/emoji/1f31c.png
new file mode 100644
index 000000000..37ecabbc7
--- /dev/null
+++ b/web/static/images/emoji/1f31c.png
Binary files differ
diff --git a/web/static/images/emoji/1f31d.png b/web/static/images/emoji/1f31d.png
new file mode 100644
index 000000000..adb3479d9
--- /dev/null
+++ b/web/static/images/emoji/1f31d.png
Binary files differ
diff --git a/web/static/images/emoji/1f31e.png b/web/static/images/emoji/1f31e.png
new file mode 100644
index 000000000..7ee45e4dd
--- /dev/null
+++ b/web/static/images/emoji/1f31e.png
Binary files differ
diff --git a/web/static/images/emoji/1f31f.png b/web/static/images/emoji/1f31f.png
new file mode 100644
index 000000000..6399b9335
--- /dev/null
+++ b/web/static/images/emoji/1f31f.png
Binary files differ
diff --git a/web/static/images/emoji/1f320.png b/web/static/images/emoji/1f320.png
new file mode 100644
index 000000000..115748007
--- /dev/null
+++ b/web/static/images/emoji/1f320.png
Binary files differ
diff --git a/web/static/images/emoji/1f321.png b/web/static/images/emoji/1f321.png
new file mode 100644
index 000000000..5afccacd5
--- /dev/null
+++ b/web/static/images/emoji/1f321.png
Binary files differ
diff --git a/web/static/images/emoji/1f327.png b/web/static/images/emoji/1f327.png
new file mode 100644
index 000000000..507e1df08
--- /dev/null
+++ b/web/static/images/emoji/1f327.png
Binary files differ
diff --git a/web/static/images/emoji/1f328.png b/web/static/images/emoji/1f328.png
new file mode 100644
index 000000000..96baf5b54
--- /dev/null
+++ b/web/static/images/emoji/1f328.png
Binary files differ
diff --git a/web/static/images/emoji/1f329.png b/web/static/images/emoji/1f329.png
new file mode 100644
index 000000000..05a085e43
--- /dev/null
+++ b/web/static/images/emoji/1f329.png
Binary files differ
diff --git a/web/static/images/emoji/1f32a.png b/web/static/images/emoji/1f32a.png
new file mode 100644
index 000000000..a0ce6d55a
--- /dev/null
+++ b/web/static/images/emoji/1f32a.png
Binary files differ
diff --git a/web/static/images/emoji/1f32b.png b/web/static/images/emoji/1f32b.png
new file mode 100644
index 000000000..babf8a114
--- /dev/null
+++ b/web/static/images/emoji/1f32b.png
Binary files differ
diff --git a/web/static/images/emoji/1f32c.png b/web/static/images/emoji/1f32c.png
new file mode 100644
index 000000000..1586cb2cd
--- /dev/null
+++ b/web/static/images/emoji/1f32c.png
Binary files differ
diff --git a/web/static/images/emoji/1f330.png b/web/static/images/emoji/1f330.png
new file mode 100644
index 000000000..f983cb132
--- /dev/null
+++ b/web/static/images/emoji/1f330.png
Binary files differ
diff --git a/web/static/images/emoji/1f331.png b/web/static/images/emoji/1f331.png
new file mode 100644
index 000000000..eae79d274
--- /dev/null
+++ b/web/static/images/emoji/1f331.png
Binary files differ
diff --git a/web/static/images/emoji/1f332.png b/web/static/images/emoji/1f332.png
new file mode 100644
index 000000000..dd88a6934
--- /dev/null
+++ b/web/static/images/emoji/1f332.png
Binary files differ
diff --git a/web/static/images/emoji/1f333.png b/web/static/images/emoji/1f333.png
new file mode 100644
index 000000000..1a54ec34b
--- /dev/null
+++ b/web/static/images/emoji/1f333.png
Binary files differ
diff --git a/web/static/images/emoji/1f334.png b/web/static/images/emoji/1f334.png
new file mode 100644
index 000000000..b18cffc94
--- /dev/null
+++ b/web/static/images/emoji/1f334.png
Binary files differ
diff --git a/web/static/images/emoji/1f335.png b/web/static/images/emoji/1f335.png
new file mode 100644
index 000000000..0204fd343
--- /dev/null
+++ b/web/static/images/emoji/1f335.png
Binary files differ
diff --git a/web/static/images/emoji/1f336.png b/web/static/images/emoji/1f336.png
new file mode 100644
index 000000000..a6db2ca09
--- /dev/null
+++ b/web/static/images/emoji/1f336.png
Binary files differ
diff --git a/web/static/images/emoji/1f337.png b/web/static/images/emoji/1f337.png
new file mode 100644
index 000000000..a05a51edf
--- /dev/null
+++ b/web/static/images/emoji/1f337.png
Binary files differ
diff --git a/web/static/images/emoji/1f338.png b/web/static/images/emoji/1f338.png
new file mode 100644
index 000000000..7cd8a22e7
--- /dev/null
+++ b/web/static/images/emoji/1f338.png
Binary files differ
diff --git a/web/static/images/emoji/1f339.png b/web/static/images/emoji/1f339.png
new file mode 100644
index 000000000..2a9d77598
--- /dev/null
+++ b/web/static/images/emoji/1f339.png
Binary files differ
diff --git a/web/static/images/emoji/1f33a.png b/web/static/images/emoji/1f33a.png
new file mode 100644
index 000000000..e0fd12c95
--- /dev/null
+++ b/web/static/images/emoji/1f33a.png
Binary files differ
diff --git a/web/static/images/emoji/1f33b.png b/web/static/images/emoji/1f33b.png
new file mode 100644
index 000000000..b7cfbf82b
--- /dev/null
+++ b/web/static/images/emoji/1f33b.png
Binary files differ
diff --git a/web/static/images/emoji/1f33c.png b/web/static/images/emoji/1f33c.png
new file mode 100644
index 000000000..ffc25f252
--- /dev/null
+++ b/web/static/images/emoji/1f33c.png
Binary files differ
diff --git a/web/static/images/emoji/1f33d.png b/web/static/images/emoji/1f33d.png
new file mode 100644
index 000000000..e5f2304bd
--- /dev/null
+++ b/web/static/images/emoji/1f33d.png
Binary files differ
diff --git a/web/static/images/emoji/1f33e.png b/web/static/images/emoji/1f33e.png
new file mode 100644
index 000000000..9d3f454f8
--- /dev/null
+++ b/web/static/images/emoji/1f33e.png
Binary files differ
diff --git a/web/static/images/emoji/1f33f.png b/web/static/images/emoji/1f33f.png
new file mode 100644
index 000000000..cb5f8f735
--- /dev/null
+++ b/web/static/images/emoji/1f33f.png
Binary files differ
diff --git a/web/static/images/emoji/1f340.png b/web/static/images/emoji/1f340.png
new file mode 100644
index 000000000..fb11bb638
--- /dev/null
+++ b/web/static/images/emoji/1f340.png
Binary files differ
diff --git a/web/static/images/emoji/1f341.png b/web/static/images/emoji/1f341.png
new file mode 100644
index 000000000..2756537f1
--- /dev/null
+++ b/web/static/images/emoji/1f341.png
Binary files differ
diff --git a/web/static/images/emoji/1f342.png b/web/static/images/emoji/1f342.png
new file mode 100644
index 000000000..430ac0297
--- /dev/null
+++ b/web/static/images/emoji/1f342.png
Binary files differ
diff --git a/web/static/images/emoji/1f343.png b/web/static/images/emoji/1f343.png
new file mode 100644
index 000000000..569a66fac
--- /dev/null
+++ b/web/static/images/emoji/1f343.png
Binary files differ
diff --git a/web/static/images/emoji/1f344.png b/web/static/images/emoji/1f344.png
new file mode 100644
index 000000000..ca7a039cb
--- /dev/null
+++ b/web/static/images/emoji/1f344.png
Binary files differ
diff --git a/web/static/images/emoji/1f345.png b/web/static/images/emoji/1f345.png
new file mode 100644
index 000000000..4114c35ff
--- /dev/null
+++ b/web/static/images/emoji/1f345.png
Binary files differ
diff --git a/web/static/images/emoji/1f346.png b/web/static/images/emoji/1f346.png
new file mode 100644
index 000000000..75c902569
--- /dev/null
+++ b/web/static/images/emoji/1f346.png
Binary files differ
diff --git a/web/static/images/emoji/1f347.png b/web/static/images/emoji/1f347.png
new file mode 100644
index 000000000..20b097131
--- /dev/null
+++ b/web/static/images/emoji/1f347.png
Binary files differ
diff --git a/web/static/images/emoji/1f348.png b/web/static/images/emoji/1f348.png
new file mode 100644
index 000000000..b27f00d25
--- /dev/null
+++ b/web/static/images/emoji/1f348.png
Binary files differ
diff --git a/web/static/images/emoji/1f349.png b/web/static/images/emoji/1f349.png
new file mode 100644
index 000000000..5125aea3e
--- /dev/null
+++ b/web/static/images/emoji/1f349.png
Binary files differ
diff --git a/web/static/images/emoji/1f34a.png b/web/static/images/emoji/1f34a.png
new file mode 100644
index 000000000..7cb15fcf7
--- /dev/null
+++ b/web/static/images/emoji/1f34a.png
Binary files differ
diff --git a/web/static/images/emoji/1f34b.png b/web/static/images/emoji/1f34b.png
new file mode 100644
index 000000000..fa5e87b03
--- /dev/null
+++ b/web/static/images/emoji/1f34b.png
Binary files differ
diff --git a/web/static/images/emoji/1f34c.png b/web/static/images/emoji/1f34c.png
new file mode 100644
index 000000000..5e68af770
--- /dev/null
+++ b/web/static/images/emoji/1f34c.png
Binary files differ
diff --git a/web/static/images/emoji/1f34d.png b/web/static/images/emoji/1f34d.png
new file mode 100644
index 000000000..b9b9f8827
--- /dev/null
+++ b/web/static/images/emoji/1f34d.png
Binary files differ
diff --git a/web/static/images/emoji/1f34e.png b/web/static/images/emoji/1f34e.png
new file mode 100644
index 000000000..bcc5c94aa
--- /dev/null
+++ b/web/static/images/emoji/1f34e.png
Binary files differ
diff --git a/web/static/images/emoji/1f34f.png b/web/static/images/emoji/1f34f.png
new file mode 100644
index 000000000..e37514773
--- /dev/null
+++ b/web/static/images/emoji/1f34f.png
Binary files differ
diff --git a/web/static/images/emoji/1f350.png b/web/static/images/emoji/1f350.png
new file mode 100644
index 000000000..20b63b461
--- /dev/null
+++ b/web/static/images/emoji/1f350.png
Binary files differ
diff --git a/web/static/images/emoji/1f351.png b/web/static/images/emoji/1f351.png
new file mode 100644
index 000000000..24409997d
--- /dev/null
+++ b/web/static/images/emoji/1f351.png
Binary files differ
diff --git a/web/static/images/emoji/1f352.png b/web/static/images/emoji/1f352.png
new file mode 100644
index 000000000..982292e95
--- /dev/null
+++ b/web/static/images/emoji/1f352.png
Binary files differ
diff --git a/web/static/images/emoji/1f353.png b/web/static/images/emoji/1f353.png
new file mode 100644
index 000000000..b28837732
--- /dev/null
+++ b/web/static/images/emoji/1f353.png
Binary files differ
diff --git a/web/static/images/emoji/1f354.png b/web/static/images/emoji/1f354.png
new file mode 100644
index 000000000..b18121930
--- /dev/null
+++ b/web/static/images/emoji/1f354.png
Binary files differ
diff --git a/web/static/images/emoji/1f355.png b/web/static/images/emoji/1f355.png
new file mode 100644
index 000000000..ae1ef6266
--- /dev/null
+++ b/web/static/images/emoji/1f355.png
Binary files differ
diff --git a/web/static/images/emoji/1f356.png b/web/static/images/emoji/1f356.png
new file mode 100644
index 000000000..e9697fef1
--- /dev/null
+++ b/web/static/images/emoji/1f356.png
Binary files differ
diff --git a/web/static/images/emoji/1f357.png b/web/static/images/emoji/1f357.png
new file mode 100644
index 000000000..eafba9a3e
--- /dev/null
+++ b/web/static/images/emoji/1f357.png
Binary files differ
diff --git a/web/static/images/emoji/1f358.png b/web/static/images/emoji/1f358.png
new file mode 100644
index 000000000..83382b6cb
--- /dev/null
+++ b/web/static/images/emoji/1f358.png
Binary files differ
diff --git a/web/static/images/emoji/1f359.png b/web/static/images/emoji/1f359.png
new file mode 100644
index 000000000..4a24a91e2
--- /dev/null
+++ b/web/static/images/emoji/1f359.png
Binary files differ
diff --git a/web/static/images/emoji/1f35a.png b/web/static/images/emoji/1f35a.png
new file mode 100644
index 000000000..8a9076f8a
--- /dev/null
+++ b/web/static/images/emoji/1f35a.png
Binary files differ
diff --git a/web/static/images/emoji/1f35b.png b/web/static/images/emoji/1f35b.png
new file mode 100644
index 000000000..0afd63ca1
--- /dev/null
+++ b/web/static/images/emoji/1f35b.png
Binary files differ
diff --git a/web/static/images/emoji/1f35c.png b/web/static/images/emoji/1f35c.png
new file mode 100644
index 000000000..787827566
--- /dev/null
+++ b/web/static/images/emoji/1f35c.png
Binary files differ
diff --git a/web/static/images/emoji/1f35d.png b/web/static/images/emoji/1f35d.png
new file mode 100644
index 000000000..ff15e877a
--- /dev/null
+++ b/web/static/images/emoji/1f35d.png
Binary files differ
diff --git a/web/static/images/emoji/1f35e.png b/web/static/images/emoji/1f35e.png
new file mode 100644
index 000000000..3ca73ebc7
--- /dev/null
+++ b/web/static/images/emoji/1f35e.png
Binary files differ
diff --git a/web/static/images/emoji/1f35f.png b/web/static/images/emoji/1f35f.png
new file mode 100644
index 000000000..bed7a0153
--- /dev/null
+++ b/web/static/images/emoji/1f35f.png
Binary files differ
diff --git a/web/static/images/emoji/1f360.png b/web/static/images/emoji/1f360.png
new file mode 100644
index 000000000..7c60e76cb
--- /dev/null
+++ b/web/static/images/emoji/1f360.png
Binary files differ
diff --git a/web/static/images/emoji/1f361.png b/web/static/images/emoji/1f361.png
new file mode 100644
index 000000000..d679ebc02
--- /dev/null
+++ b/web/static/images/emoji/1f361.png
Binary files differ
diff --git a/web/static/images/emoji/1f362.png b/web/static/images/emoji/1f362.png
new file mode 100644
index 000000000..8ac803517
--- /dev/null
+++ b/web/static/images/emoji/1f362.png
Binary files differ
diff --git a/web/static/images/emoji/1f363.png b/web/static/images/emoji/1f363.png
new file mode 100644
index 000000000..8c2f6826e
--- /dev/null
+++ b/web/static/images/emoji/1f363.png
Binary files differ
diff --git a/web/static/images/emoji/1f364.png b/web/static/images/emoji/1f364.png
new file mode 100644
index 000000000..30c165438
--- /dev/null
+++ b/web/static/images/emoji/1f364.png
Binary files differ
diff --git a/web/static/images/emoji/1f365.png b/web/static/images/emoji/1f365.png
new file mode 100644
index 000000000..6ff94bc36
--- /dev/null
+++ b/web/static/images/emoji/1f365.png
Binary files differ
diff --git a/web/static/images/emoji/1f366.png b/web/static/images/emoji/1f366.png
new file mode 100644
index 000000000..39c2e6a8f
--- /dev/null
+++ b/web/static/images/emoji/1f366.png
Binary files differ
diff --git a/web/static/images/emoji/1f367.png b/web/static/images/emoji/1f367.png
new file mode 100644
index 000000000..a14f0f4ec
--- /dev/null
+++ b/web/static/images/emoji/1f367.png
Binary files differ
diff --git a/web/static/images/emoji/1f368.png b/web/static/images/emoji/1f368.png
new file mode 100644
index 000000000..5dc67b4cc
--- /dev/null
+++ b/web/static/images/emoji/1f368.png
Binary files differ
diff --git a/web/static/images/emoji/1f369.png b/web/static/images/emoji/1f369.png
new file mode 100644
index 000000000..b415c96bc
--- /dev/null
+++ b/web/static/images/emoji/1f369.png
Binary files differ
diff --git a/web/static/images/emoji/1f36a.png b/web/static/images/emoji/1f36a.png
new file mode 100644
index 000000000..8eb640e8d
--- /dev/null
+++ b/web/static/images/emoji/1f36a.png
Binary files differ
diff --git a/web/static/images/emoji/1f36b.png b/web/static/images/emoji/1f36b.png
new file mode 100644
index 000000000..f76d0902e
--- /dev/null
+++ b/web/static/images/emoji/1f36b.png
Binary files differ
diff --git a/web/static/images/emoji/1f36c.png b/web/static/images/emoji/1f36c.png
new file mode 100644
index 000000000..c067807c1
--- /dev/null
+++ b/web/static/images/emoji/1f36c.png
Binary files differ
diff --git a/web/static/images/emoji/1f36d.png b/web/static/images/emoji/1f36d.png
new file mode 100644
index 000000000..2c6a0ed4c
--- /dev/null
+++ b/web/static/images/emoji/1f36d.png
Binary files differ
diff --git a/web/static/images/emoji/1f36e.png b/web/static/images/emoji/1f36e.png
new file mode 100644
index 000000000..44af92a57
--- /dev/null
+++ b/web/static/images/emoji/1f36e.png
Binary files differ
diff --git a/web/static/images/emoji/1f36f.png b/web/static/images/emoji/1f36f.png
new file mode 100644
index 000000000..a563f59c7
--- /dev/null
+++ b/web/static/images/emoji/1f36f.png
Binary files differ
diff --git a/web/static/images/emoji/1f370.png b/web/static/images/emoji/1f370.png
new file mode 100644
index 000000000..0be915e5b
--- /dev/null
+++ b/web/static/images/emoji/1f370.png
Binary files differ
diff --git a/web/static/images/emoji/1f371.png b/web/static/images/emoji/1f371.png
new file mode 100644
index 000000000..58af834fd
--- /dev/null
+++ b/web/static/images/emoji/1f371.png
Binary files differ
diff --git a/web/static/images/emoji/1f372.png b/web/static/images/emoji/1f372.png
new file mode 100644
index 000000000..6f8305338
--- /dev/null
+++ b/web/static/images/emoji/1f372.png
Binary files differ
diff --git a/web/static/images/emoji/1f373.png b/web/static/images/emoji/1f373.png
new file mode 100644
index 000000000..b5c090a17
--- /dev/null
+++ b/web/static/images/emoji/1f373.png
Binary files differ
diff --git a/web/static/images/emoji/1f374.png b/web/static/images/emoji/1f374.png
new file mode 100644
index 000000000..ea13776ee
--- /dev/null
+++ b/web/static/images/emoji/1f374.png
Binary files differ
diff --git a/web/static/images/emoji/1f375.png b/web/static/images/emoji/1f375.png
new file mode 100644
index 000000000..b8d25a962
--- /dev/null
+++ b/web/static/images/emoji/1f375.png
Binary files differ
diff --git a/web/static/images/emoji/1f376.png b/web/static/images/emoji/1f376.png
new file mode 100644
index 000000000..40a158bfe
--- /dev/null
+++ b/web/static/images/emoji/1f376.png
Binary files differ
diff --git a/web/static/images/emoji/1f377.png b/web/static/images/emoji/1f377.png
new file mode 100644
index 000000000..7aea60cc8
--- /dev/null
+++ b/web/static/images/emoji/1f377.png
Binary files differ
diff --git a/web/static/images/emoji/1f378.png b/web/static/images/emoji/1f378.png
new file mode 100644
index 000000000..abff15aa8
--- /dev/null
+++ b/web/static/images/emoji/1f378.png
Binary files differ
diff --git a/web/static/images/emoji/1f379.png b/web/static/images/emoji/1f379.png
new file mode 100644
index 000000000..34a5a385c
--- /dev/null
+++ b/web/static/images/emoji/1f379.png
Binary files differ
diff --git a/web/static/images/emoji/1f37a.png b/web/static/images/emoji/1f37a.png
new file mode 100644
index 000000000..de0c3ddd9
--- /dev/null
+++ b/web/static/images/emoji/1f37a.png
Binary files differ
diff --git a/web/static/images/emoji/1f37b.png b/web/static/images/emoji/1f37b.png
new file mode 100644
index 000000000..04ba4d9f4
--- /dev/null
+++ b/web/static/images/emoji/1f37b.png
Binary files differ
diff --git a/web/static/images/emoji/1f37c.png b/web/static/images/emoji/1f37c.png
new file mode 100644
index 000000000..64e9edee3
--- /dev/null
+++ b/web/static/images/emoji/1f37c.png
Binary files differ
diff --git a/web/static/images/emoji/1f37d.png b/web/static/images/emoji/1f37d.png
new file mode 100644
index 000000000..d2ebb8435
--- /dev/null
+++ b/web/static/images/emoji/1f37d.png
Binary files differ
diff --git a/web/static/images/emoji/1f380.png b/web/static/images/emoji/1f380.png
new file mode 100644
index 000000000..ea7ae1d76
--- /dev/null
+++ b/web/static/images/emoji/1f380.png
Binary files differ
diff --git a/web/static/images/emoji/1f381.png b/web/static/images/emoji/1f381.png
new file mode 100644
index 000000000..bde801b55
--- /dev/null
+++ b/web/static/images/emoji/1f381.png
Binary files differ
diff --git a/web/static/images/emoji/1f382.png b/web/static/images/emoji/1f382.png
new file mode 100644
index 000000000..c5253b099
--- /dev/null
+++ b/web/static/images/emoji/1f382.png
Binary files differ
diff --git a/web/static/images/emoji/1f383.png b/web/static/images/emoji/1f383.png
new file mode 100644
index 000000000..0ea29490d
--- /dev/null
+++ b/web/static/images/emoji/1f383.png
Binary files differ
diff --git a/web/static/images/emoji/1f384.png b/web/static/images/emoji/1f384.png
new file mode 100644
index 000000000..7674eb441
--- /dev/null
+++ b/web/static/images/emoji/1f384.png
Binary files differ
diff --git a/web/static/images/emoji/1f385.png b/web/static/images/emoji/1f385.png
new file mode 100644
index 000000000..29d63fd91
--- /dev/null
+++ b/web/static/images/emoji/1f385.png
Binary files differ
diff --git a/web/static/images/emoji/1f386.png b/web/static/images/emoji/1f386.png
new file mode 100644
index 000000000..8e081a718
--- /dev/null
+++ b/web/static/images/emoji/1f386.png
Binary files differ
diff --git a/web/static/images/emoji/1f387.png b/web/static/images/emoji/1f387.png
new file mode 100644
index 000000000..968a7172b
--- /dev/null
+++ b/web/static/images/emoji/1f387.png
Binary files differ
diff --git a/web/static/images/emoji/1f388.png b/web/static/images/emoji/1f388.png
new file mode 100644
index 000000000..3cea35eba
--- /dev/null
+++ b/web/static/images/emoji/1f388.png
Binary files differ
diff --git a/web/static/images/emoji/1f389.png b/web/static/images/emoji/1f389.png
new file mode 100644
index 000000000..003a66996
--- /dev/null
+++ b/web/static/images/emoji/1f389.png
Binary files differ
diff --git a/web/static/images/emoji/1f38a.png b/web/static/images/emoji/1f38a.png
new file mode 100644
index 000000000..74c61e434
--- /dev/null
+++ b/web/static/images/emoji/1f38a.png
Binary files differ
diff --git a/web/static/images/emoji/1f38b.png b/web/static/images/emoji/1f38b.png
new file mode 100644
index 000000000..ec7d8cc22
--- /dev/null
+++ b/web/static/images/emoji/1f38b.png
Binary files differ
diff --git a/web/static/images/emoji/1f38c.png b/web/static/images/emoji/1f38c.png
new file mode 100644
index 000000000..5d88b0ad0
--- /dev/null
+++ b/web/static/images/emoji/1f38c.png
Binary files differ
diff --git a/web/static/images/emoji/1f38d.png b/web/static/images/emoji/1f38d.png
new file mode 100644
index 000000000..4e27cc4c5
--- /dev/null
+++ b/web/static/images/emoji/1f38d.png
Binary files differ
diff --git a/web/static/images/emoji/1f38e.png b/web/static/images/emoji/1f38e.png
new file mode 100644
index 000000000..dcd7b9385
--- /dev/null
+++ b/web/static/images/emoji/1f38e.png
Binary files differ
diff --git a/web/static/images/emoji/1f38f.png b/web/static/images/emoji/1f38f.png
new file mode 100644
index 000000000..a6bbd0ea3
--- /dev/null
+++ b/web/static/images/emoji/1f38f.png
Binary files differ
diff --git a/web/static/images/emoji/1f390.png b/web/static/images/emoji/1f390.png
new file mode 100644
index 000000000..8aee0e8bd
--- /dev/null
+++ b/web/static/images/emoji/1f390.png
Binary files differ
diff --git a/web/static/images/emoji/1f391.png b/web/static/images/emoji/1f391.png
new file mode 100644
index 000000000..8ce954451
--- /dev/null
+++ b/web/static/images/emoji/1f391.png
Binary files differ
diff --git a/web/static/images/emoji/1f392.png b/web/static/images/emoji/1f392.png
new file mode 100644
index 000000000..f9bb6c1aa
--- /dev/null
+++ b/web/static/images/emoji/1f392.png
Binary files differ
diff --git a/web/static/images/emoji/1f393.png b/web/static/images/emoji/1f393.png
new file mode 100644
index 000000000..4d5744f60
--- /dev/null
+++ b/web/static/images/emoji/1f393.png
Binary files differ
diff --git a/web/static/images/emoji/1f394.png b/web/static/images/emoji/1f394.png
new file mode 100644
index 000000000..62db66cd5
--- /dev/null
+++ b/web/static/images/emoji/1f394.png
Binary files differ
diff --git a/web/static/images/emoji/1f395.png b/web/static/images/emoji/1f395.png
new file mode 100644
index 000000000..8b28b3fe7
--- /dev/null
+++ b/web/static/images/emoji/1f395.png
Binary files differ
diff --git a/web/static/images/emoji/1f396.png b/web/static/images/emoji/1f396.png
new file mode 100644
index 000000000..6558c71fc
--- /dev/null
+++ b/web/static/images/emoji/1f396.png
Binary files differ
diff --git a/web/static/images/emoji/1f397.png b/web/static/images/emoji/1f397.png
new file mode 100644
index 000000000..8104604b6
--- /dev/null
+++ b/web/static/images/emoji/1f397.png
Binary files differ
diff --git a/web/static/images/emoji/1f398.png b/web/static/images/emoji/1f398.png
new file mode 100644
index 000000000..862d237a8
--- /dev/null
+++ b/web/static/images/emoji/1f398.png
Binary files differ
diff --git a/web/static/images/emoji/1f399.png b/web/static/images/emoji/1f399.png
new file mode 100644
index 000000000..7e186826e
--- /dev/null
+++ b/web/static/images/emoji/1f399.png
Binary files differ
diff --git a/web/static/images/emoji/1f39a.png b/web/static/images/emoji/1f39a.png
new file mode 100644
index 000000000..389784aba
--- /dev/null
+++ b/web/static/images/emoji/1f39a.png
Binary files differ
diff --git a/web/static/images/emoji/1f39b.png b/web/static/images/emoji/1f39b.png
new file mode 100644
index 000000000..ab4045342
--- /dev/null
+++ b/web/static/images/emoji/1f39b.png
Binary files differ
diff --git a/web/static/images/emoji/1f39c.png b/web/static/images/emoji/1f39c.png
new file mode 100644
index 000000000..187291ffc
--- /dev/null
+++ b/web/static/images/emoji/1f39c.png
Binary files differ
diff --git a/web/static/images/emoji/1f39d.png b/web/static/images/emoji/1f39d.png
new file mode 100644
index 000000000..829ca50ce
--- /dev/null
+++ b/web/static/images/emoji/1f39d.png
Binary files differ
diff --git a/web/static/images/emoji/1f39e.png b/web/static/images/emoji/1f39e.png
new file mode 100644
index 000000000..d2b9082bc
--- /dev/null
+++ b/web/static/images/emoji/1f39e.png
Binary files differ
diff --git a/web/static/images/emoji/1f39f.png b/web/static/images/emoji/1f39f.png
new file mode 100644
index 000000000..e12819269
--- /dev/null
+++ b/web/static/images/emoji/1f39f.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a0.png b/web/static/images/emoji/1f3a0.png
new file mode 100644
index 000000000..33f159f06
--- /dev/null
+++ b/web/static/images/emoji/1f3a0.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a1.png b/web/static/images/emoji/1f3a1.png
new file mode 100644
index 000000000..56bfd87fb
--- /dev/null
+++ b/web/static/images/emoji/1f3a1.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a2.png b/web/static/images/emoji/1f3a2.png
new file mode 100644
index 000000000..0c506765e
--- /dev/null
+++ b/web/static/images/emoji/1f3a2.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a3.png b/web/static/images/emoji/1f3a3.png
new file mode 100644
index 000000000..270a011dd
--- /dev/null
+++ b/web/static/images/emoji/1f3a3.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a4.png b/web/static/images/emoji/1f3a4.png
new file mode 100644
index 000000000..346b8967c
--- /dev/null
+++ b/web/static/images/emoji/1f3a4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a5.png b/web/static/images/emoji/1f3a5.png
new file mode 100644
index 000000000..077458b67
--- /dev/null
+++ b/web/static/images/emoji/1f3a5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a6.png b/web/static/images/emoji/1f3a6.png
new file mode 100644
index 000000000..972b57df7
--- /dev/null
+++ b/web/static/images/emoji/1f3a6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a7.png b/web/static/images/emoji/1f3a7.png
new file mode 100644
index 000000000..3335d4060
--- /dev/null
+++ b/web/static/images/emoji/1f3a7.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a8.png b/web/static/images/emoji/1f3a8.png
new file mode 100644
index 000000000..05116974d
--- /dev/null
+++ b/web/static/images/emoji/1f3a8.png
Binary files differ
diff --git a/web/static/images/emoji/1f3a9.png b/web/static/images/emoji/1f3a9.png
new file mode 100644
index 000000000..a945ccb8b
--- /dev/null
+++ b/web/static/images/emoji/1f3a9.png
Binary files differ
diff --git a/web/static/images/emoji/1f3aa.png b/web/static/images/emoji/1f3aa.png
new file mode 100644
index 000000000..713b4f085
--- /dev/null
+++ b/web/static/images/emoji/1f3aa.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ab.png b/web/static/images/emoji/1f3ab.png
new file mode 100644
index 000000000..1e697cab6
--- /dev/null
+++ b/web/static/images/emoji/1f3ab.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ac.png b/web/static/images/emoji/1f3ac.png
new file mode 100644
index 000000000..54bbba809
--- /dev/null
+++ b/web/static/images/emoji/1f3ac.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ad.png b/web/static/images/emoji/1f3ad.png
new file mode 100644
index 000000000..97a5bb7fe
--- /dev/null
+++ b/web/static/images/emoji/1f3ad.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ae.png b/web/static/images/emoji/1f3ae.png
new file mode 100644
index 000000000..702832e99
--- /dev/null
+++ b/web/static/images/emoji/1f3ae.png
Binary files differ
diff --git a/web/static/images/emoji/1f3af.png b/web/static/images/emoji/1f3af.png
new file mode 100644
index 000000000..527b6a94e
--- /dev/null
+++ b/web/static/images/emoji/1f3af.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b0.png b/web/static/images/emoji/1f3b0.png
new file mode 100644
index 000000000..81db7b1c0
--- /dev/null
+++ b/web/static/images/emoji/1f3b0.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b1.png b/web/static/images/emoji/1f3b1.png
new file mode 100644
index 000000000..7bf80b6d7
--- /dev/null
+++ b/web/static/images/emoji/1f3b1.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b2.png b/web/static/images/emoji/1f3b2.png
new file mode 100644
index 000000000..7723d290b
--- /dev/null
+++ b/web/static/images/emoji/1f3b2.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b3.png b/web/static/images/emoji/1f3b3.png
new file mode 100644
index 000000000..e41edfbdb
--- /dev/null
+++ b/web/static/images/emoji/1f3b3.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b4.png b/web/static/images/emoji/1f3b4.png
new file mode 100644
index 000000000..b5dff4687
--- /dev/null
+++ b/web/static/images/emoji/1f3b4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b5.png b/web/static/images/emoji/1f3b5.png
new file mode 100644
index 000000000..f9bc86e4e
--- /dev/null
+++ b/web/static/images/emoji/1f3b5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b6.png b/web/static/images/emoji/1f3b6.png
new file mode 100644
index 000000000..df2810aa4
--- /dev/null
+++ b/web/static/images/emoji/1f3b6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b7.png b/web/static/images/emoji/1f3b7.png
new file mode 100644
index 000000000..63446652f
--- /dev/null
+++ b/web/static/images/emoji/1f3b7.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b8.png b/web/static/images/emoji/1f3b8.png
new file mode 100644
index 000000000..ab62a7fbb
--- /dev/null
+++ b/web/static/images/emoji/1f3b8.png
Binary files differ
diff --git a/web/static/images/emoji/1f3b9.png b/web/static/images/emoji/1f3b9.png
new file mode 100644
index 000000000..c6c029920
--- /dev/null
+++ b/web/static/images/emoji/1f3b9.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ba.png b/web/static/images/emoji/1f3ba.png
new file mode 100644
index 000000000..c2270ccbf
--- /dev/null
+++ b/web/static/images/emoji/1f3ba.png
Binary files differ
diff --git a/web/static/images/emoji/1f3bb.png b/web/static/images/emoji/1f3bb.png
new file mode 100644
index 000000000..0bb8e0a10
--- /dev/null
+++ b/web/static/images/emoji/1f3bb.png
Binary files differ
diff --git a/web/static/images/emoji/1f3bc.png b/web/static/images/emoji/1f3bc.png
new file mode 100644
index 000000000..ae50ab288
--- /dev/null
+++ b/web/static/images/emoji/1f3bc.png
Binary files differ
diff --git a/web/static/images/emoji/1f3bd.png b/web/static/images/emoji/1f3bd.png
new file mode 100644
index 000000000..e49632dad
--- /dev/null
+++ b/web/static/images/emoji/1f3bd.png
Binary files differ
diff --git a/web/static/images/emoji/1f3be.png b/web/static/images/emoji/1f3be.png
new file mode 100644
index 000000000..cade3a566
--- /dev/null
+++ b/web/static/images/emoji/1f3be.png
Binary files differ
diff --git a/web/static/images/emoji/1f3bf.png b/web/static/images/emoji/1f3bf.png
new file mode 100644
index 000000000..ac8151619
--- /dev/null
+++ b/web/static/images/emoji/1f3bf.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c0.png b/web/static/images/emoji/1f3c0.png
new file mode 100644
index 000000000..e9b1c735a
--- /dev/null
+++ b/web/static/images/emoji/1f3c0.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c1.png b/web/static/images/emoji/1f3c1.png
new file mode 100644
index 000000000..9f1d564f6
--- /dev/null
+++ b/web/static/images/emoji/1f3c1.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c2.png b/web/static/images/emoji/1f3c2.png
new file mode 100644
index 000000000..076c48889
--- /dev/null
+++ b/web/static/images/emoji/1f3c2.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c3.png b/web/static/images/emoji/1f3c3.png
new file mode 100644
index 000000000..8dcc38400
--- /dev/null
+++ b/web/static/images/emoji/1f3c3.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c4.png b/web/static/images/emoji/1f3c4.png
new file mode 100644
index 000000000..74b216a67
--- /dev/null
+++ b/web/static/images/emoji/1f3c4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c5.png b/web/static/images/emoji/1f3c5.png
new file mode 100644
index 000000000..1bf04b7c4
--- /dev/null
+++ b/web/static/images/emoji/1f3c5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c6.png b/web/static/images/emoji/1f3c6.png
new file mode 100644
index 000000000..38429fe19
--- /dev/null
+++ b/web/static/images/emoji/1f3c6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c7.png b/web/static/images/emoji/1f3c7.png
new file mode 100644
index 000000000..a7abb355f
--- /dev/null
+++ b/web/static/images/emoji/1f3c7.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c8.png b/web/static/images/emoji/1f3c8.png
new file mode 100644
index 000000000..24b5673b0
--- /dev/null
+++ b/web/static/images/emoji/1f3c8.png
Binary files differ
diff --git a/web/static/images/emoji/1f3c9.png b/web/static/images/emoji/1f3c9.png
new file mode 100644
index 000000000..3f72e529a
--- /dev/null
+++ b/web/static/images/emoji/1f3c9.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ca.png b/web/static/images/emoji/1f3ca.png
new file mode 100644
index 000000000..9f3e63702
--- /dev/null
+++ b/web/static/images/emoji/1f3ca.png
Binary files differ
diff --git a/web/static/images/emoji/1f3cb.png b/web/static/images/emoji/1f3cb.png
new file mode 100644
index 000000000..db6bb3d51
--- /dev/null
+++ b/web/static/images/emoji/1f3cb.png
Binary files differ
diff --git a/web/static/images/emoji/1f3cc.png b/web/static/images/emoji/1f3cc.png
new file mode 100644
index 000000000..9aa2f036f
--- /dev/null
+++ b/web/static/images/emoji/1f3cc.png
Binary files differ
diff --git a/web/static/images/emoji/1f3cd.png b/web/static/images/emoji/1f3cd.png
new file mode 100644
index 000000000..8dcffc8f9
--- /dev/null
+++ b/web/static/images/emoji/1f3cd.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ce.png b/web/static/images/emoji/1f3ce.png
new file mode 100644
index 000000000..0f76828f6
--- /dev/null
+++ b/web/static/images/emoji/1f3ce.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d4.png b/web/static/images/emoji/1f3d4.png
new file mode 100644
index 000000000..f9071adec
--- /dev/null
+++ b/web/static/images/emoji/1f3d4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d5.png b/web/static/images/emoji/1f3d5.png
new file mode 100644
index 000000000..d45a07fcf
--- /dev/null
+++ b/web/static/images/emoji/1f3d5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d6.png b/web/static/images/emoji/1f3d6.png
new file mode 100644
index 000000000..0e244c164
--- /dev/null
+++ b/web/static/images/emoji/1f3d6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d7.png b/web/static/images/emoji/1f3d7.png
new file mode 100644
index 000000000..05a287fee
--- /dev/null
+++ b/web/static/images/emoji/1f3d7.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d8.png b/web/static/images/emoji/1f3d8.png
new file mode 100644
index 000000000..b3dde7347
--- /dev/null
+++ b/web/static/images/emoji/1f3d8.png
Binary files differ
diff --git a/web/static/images/emoji/1f3d9.png b/web/static/images/emoji/1f3d9.png
new file mode 100644
index 000000000..4d331db74
--- /dev/null
+++ b/web/static/images/emoji/1f3d9.png
Binary files differ
diff --git a/web/static/images/emoji/1f3da.png b/web/static/images/emoji/1f3da.png
new file mode 100644
index 000000000..316e082d1
--- /dev/null
+++ b/web/static/images/emoji/1f3da.png
Binary files differ
diff --git a/web/static/images/emoji/1f3db.png b/web/static/images/emoji/1f3db.png
new file mode 100644
index 000000000..71150c7c5
--- /dev/null
+++ b/web/static/images/emoji/1f3db.png
Binary files differ
diff --git a/web/static/images/emoji/1f3dc.png b/web/static/images/emoji/1f3dc.png
new file mode 100644
index 000000000..b627c829b
--- /dev/null
+++ b/web/static/images/emoji/1f3dc.png
Binary files differ
diff --git a/web/static/images/emoji/1f3dd.png b/web/static/images/emoji/1f3dd.png
new file mode 100644
index 000000000..946ef26a5
--- /dev/null
+++ b/web/static/images/emoji/1f3dd.png
Binary files differ
diff --git a/web/static/images/emoji/1f3de.png b/web/static/images/emoji/1f3de.png
new file mode 100644
index 000000000..ff6fc0754
--- /dev/null
+++ b/web/static/images/emoji/1f3de.png
Binary files differ
diff --git a/web/static/images/emoji/1f3df.png b/web/static/images/emoji/1f3df.png
new file mode 100644
index 000000000..d1c925d35
--- /dev/null
+++ b/web/static/images/emoji/1f3df.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e0.png b/web/static/images/emoji/1f3e0.png
new file mode 100644
index 000000000..90551d823
--- /dev/null
+++ b/web/static/images/emoji/1f3e0.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e1.png b/web/static/images/emoji/1f3e1.png
new file mode 100644
index 000000000..b00186c46
--- /dev/null
+++ b/web/static/images/emoji/1f3e1.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e2.png b/web/static/images/emoji/1f3e2.png
new file mode 100644
index 000000000..52a6bb4a4
--- /dev/null
+++ b/web/static/images/emoji/1f3e2.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e3.png b/web/static/images/emoji/1f3e3.png
new file mode 100644
index 000000000..f819dac89
--- /dev/null
+++ b/web/static/images/emoji/1f3e3.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e4.png b/web/static/images/emoji/1f3e4.png
new file mode 100644
index 000000000..b1cc0ddb8
--- /dev/null
+++ b/web/static/images/emoji/1f3e4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e5.png b/web/static/images/emoji/1f3e5.png
new file mode 100644
index 000000000..9a53371c1
--- /dev/null
+++ b/web/static/images/emoji/1f3e5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e6.png b/web/static/images/emoji/1f3e6.png
new file mode 100644
index 000000000..5cde6caa9
--- /dev/null
+++ b/web/static/images/emoji/1f3e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e7.png b/web/static/images/emoji/1f3e7.png
new file mode 100644
index 000000000..0769e688b
--- /dev/null
+++ b/web/static/images/emoji/1f3e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e8.png b/web/static/images/emoji/1f3e8.png
new file mode 100644
index 000000000..7a22e341f
--- /dev/null
+++ b/web/static/images/emoji/1f3e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f3e9.png b/web/static/images/emoji/1f3e9.png
new file mode 100644
index 000000000..e3b893388
--- /dev/null
+++ b/web/static/images/emoji/1f3e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ea.png b/web/static/images/emoji/1f3ea.png
new file mode 100644
index 000000000..fbfc257ee
--- /dev/null
+++ b/web/static/images/emoji/1f3ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f3eb.png b/web/static/images/emoji/1f3eb.png
new file mode 100644
index 000000000..f8e0814e0
--- /dev/null
+++ b/web/static/images/emoji/1f3eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ec.png b/web/static/images/emoji/1f3ec.png
new file mode 100644
index 000000000..bc83c16f6
--- /dev/null
+++ b/web/static/images/emoji/1f3ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ed.png b/web/static/images/emoji/1f3ed.png
new file mode 100644
index 000000000..e2d70133b
--- /dev/null
+++ b/web/static/images/emoji/1f3ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ee.png b/web/static/images/emoji/1f3ee.png
new file mode 100644
index 000000000..02345bc3e
--- /dev/null
+++ b/web/static/images/emoji/1f3ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f3ef.png b/web/static/images/emoji/1f3ef.png
new file mode 100644
index 000000000..ebdeecf6a
--- /dev/null
+++ b/web/static/images/emoji/1f3ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f0.png b/web/static/images/emoji/1f3f0.png
new file mode 100644
index 000000000..35cdcf722
--- /dev/null
+++ b/web/static/images/emoji/1f3f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f1.png b/web/static/images/emoji/1f3f1.png
new file mode 100644
index 000000000..dc2f36cd3
--- /dev/null
+++ b/web/static/images/emoji/1f3f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f2.png b/web/static/images/emoji/1f3f2.png
new file mode 100644
index 000000000..26f5a503e
--- /dev/null
+++ b/web/static/images/emoji/1f3f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f3.png b/web/static/images/emoji/1f3f3.png
new file mode 100644
index 000000000..bf6124fab
--- /dev/null
+++ b/web/static/images/emoji/1f3f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f4.png b/web/static/images/emoji/1f3f4.png
new file mode 100644
index 000000000..d48e98fe0
--- /dev/null
+++ b/web/static/images/emoji/1f3f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f5.png b/web/static/images/emoji/1f3f5.png
new file mode 100644
index 000000000..8312eb177
--- /dev/null
+++ b/web/static/images/emoji/1f3f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f6.png b/web/static/images/emoji/1f3f6.png
new file mode 100644
index 000000000..d16b265aa
--- /dev/null
+++ b/web/static/images/emoji/1f3f6.png
Binary files differ
diff --git a/web/static/images/emoji/1f3f7.png b/web/static/images/emoji/1f3f7.png
new file mode 100644
index 000000000..411124e2c
--- /dev/null
+++ b/web/static/images/emoji/1f3f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f400.png b/web/static/images/emoji/1f400.png
new file mode 100644
index 000000000..58c2d79d8
--- /dev/null
+++ b/web/static/images/emoji/1f400.png
Binary files differ
diff --git a/web/static/images/emoji/1f401.png b/web/static/images/emoji/1f401.png
new file mode 100644
index 000000000..5b1b1137f
--- /dev/null
+++ b/web/static/images/emoji/1f401.png
Binary files differ
diff --git a/web/static/images/emoji/1f402.png b/web/static/images/emoji/1f402.png
new file mode 100644
index 000000000..e1688630c
--- /dev/null
+++ b/web/static/images/emoji/1f402.png
Binary files differ
diff --git a/web/static/images/emoji/1f403.png b/web/static/images/emoji/1f403.png
new file mode 100644
index 000000000..2c8fa68e8
--- /dev/null
+++ b/web/static/images/emoji/1f403.png
Binary files differ
diff --git a/web/static/images/emoji/1f404.png b/web/static/images/emoji/1f404.png
new file mode 100644
index 000000000..b3767f6c5
--- /dev/null
+++ b/web/static/images/emoji/1f404.png
Binary files differ
diff --git a/web/static/images/emoji/1f405.png b/web/static/images/emoji/1f405.png
new file mode 100644
index 000000000..c7910315e
--- /dev/null
+++ b/web/static/images/emoji/1f405.png
Binary files differ
diff --git a/web/static/images/emoji/1f406.png b/web/static/images/emoji/1f406.png
new file mode 100644
index 000000000..eb16aa9c6
--- /dev/null
+++ b/web/static/images/emoji/1f406.png
Binary files differ
diff --git a/web/static/images/emoji/1f407.png b/web/static/images/emoji/1f407.png
new file mode 100644
index 000000000..ab2fae0fc
--- /dev/null
+++ b/web/static/images/emoji/1f407.png
Binary files differ
diff --git a/web/static/images/emoji/1f408.png b/web/static/images/emoji/1f408.png
new file mode 100644
index 000000000..79f06af48
--- /dev/null
+++ b/web/static/images/emoji/1f408.png
Binary files differ
diff --git a/web/static/images/emoji/1f409.png b/web/static/images/emoji/1f409.png
new file mode 100644
index 000000000..b5b635770
--- /dev/null
+++ b/web/static/images/emoji/1f409.png
Binary files differ
diff --git a/web/static/images/emoji/1f40a.png b/web/static/images/emoji/1f40a.png
new file mode 100644
index 000000000..3b53cacf8
--- /dev/null
+++ b/web/static/images/emoji/1f40a.png
Binary files differ
diff --git a/web/static/images/emoji/1f40b.png b/web/static/images/emoji/1f40b.png
new file mode 100644
index 000000000..181860530
--- /dev/null
+++ b/web/static/images/emoji/1f40b.png
Binary files differ
diff --git a/web/static/images/emoji/1f40c.png b/web/static/images/emoji/1f40c.png
new file mode 100644
index 000000000..97f67fb2d
--- /dev/null
+++ b/web/static/images/emoji/1f40c.png
Binary files differ
diff --git a/web/static/images/emoji/1f40d.png b/web/static/images/emoji/1f40d.png
new file mode 100644
index 000000000..dae731e22
--- /dev/null
+++ b/web/static/images/emoji/1f40d.png
Binary files differ
diff --git a/web/static/images/emoji/1f40e.png b/web/static/images/emoji/1f40e.png
new file mode 100644
index 000000000..fadf8f2bf
--- /dev/null
+++ b/web/static/images/emoji/1f40e.png
Binary files differ
diff --git a/web/static/images/emoji/1f40f.png b/web/static/images/emoji/1f40f.png
new file mode 100644
index 000000000..17af1b9a5
--- /dev/null
+++ b/web/static/images/emoji/1f40f.png
Binary files differ
diff --git a/web/static/images/emoji/1f410.png b/web/static/images/emoji/1f410.png
new file mode 100644
index 000000000..41210e5fa
--- /dev/null
+++ b/web/static/images/emoji/1f410.png
Binary files differ
diff --git a/web/static/images/emoji/1f411.png b/web/static/images/emoji/1f411.png
new file mode 100644
index 000000000..e47d6eda8
--- /dev/null
+++ b/web/static/images/emoji/1f411.png
Binary files differ
diff --git a/web/static/images/emoji/1f412.png b/web/static/images/emoji/1f412.png
new file mode 100644
index 000000000..33e542ba6
--- /dev/null
+++ b/web/static/images/emoji/1f412.png
Binary files differ
diff --git a/web/static/images/emoji/1f413.png b/web/static/images/emoji/1f413.png
new file mode 100644
index 000000000..798542a0e
--- /dev/null
+++ b/web/static/images/emoji/1f413.png
Binary files differ
diff --git a/web/static/images/emoji/1f414.png b/web/static/images/emoji/1f414.png
new file mode 100644
index 000000000..182ffb343
--- /dev/null
+++ b/web/static/images/emoji/1f414.png
Binary files differ
diff --git a/web/static/images/emoji/1f415.png b/web/static/images/emoji/1f415.png
new file mode 100644
index 000000000..7057ffe66
--- /dev/null
+++ b/web/static/images/emoji/1f415.png
Binary files differ
diff --git a/web/static/images/emoji/1f416.png b/web/static/images/emoji/1f416.png
new file mode 100644
index 000000000..de1147954
--- /dev/null
+++ b/web/static/images/emoji/1f416.png
Binary files differ
diff --git a/web/static/images/emoji/1f417.png b/web/static/images/emoji/1f417.png
new file mode 100644
index 000000000..2ccb92fd1
--- /dev/null
+++ b/web/static/images/emoji/1f417.png
Binary files differ
diff --git a/web/static/images/emoji/1f418.png b/web/static/images/emoji/1f418.png
new file mode 100644
index 000000000..af079ec4d
--- /dev/null
+++ b/web/static/images/emoji/1f418.png
Binary files differ
diff --git a/web/static/images/emoji/1f419.png b/web/static/images/emoji/1f419.png
new file mode 100644
index 000000000..8add7143e
--- /dev/null
+++ b/web/static/images/emoji/1f419.png
Binary files differ
diff --git a/web/static/images/emoji/1f41a.png b/web/static/images/emoji/1f41a.png
new file mode 100644
index 000000000..01bc086fa
--- /dev/null
+++ b/web/static/images/emoji/1f41a.png
Binary files differ
diff --git a/web/static/images/emoji/1f41b.png b/web/static/images/emoji/1f41b.png
new file mode 100644
index 000000000..06b35cf5a
--- /dev/null
+++ b/web/static/images/emoji/1f41b.png
Binary files differ
diff --git a/web/static/images/emoji/1f41c.png b/web/static/images/emoji/1f41c.png
new file mode 100644
index 000000000..1b6ba80c0
--- /dev/null
+++ b/web/static/images/emoji/1f41c.png
Binary files differ
diff --git a/web/static/images/emoji/1f41d.png b/web/static/images/emoji/1f41d.png
new file mode 100644
index 000000000..e67b7703b
--- /dev/null
+++ b/web/static/images/emoji/1f41d.png
Binary files differ
diff --git a/web/static/images/emoji/1f41e.png b/web/static/images/emoji/1f41e.png
new file mode 100644
index 000000000..c35380926
--- /dev/null
+++ b/web/static/images/emoji/1f41e.png
Binary files differ
diff --git a/web/static/images/emoji/1f41f.png b/web/static/images/emoji/1f41f.png
new file mode 100644
index 000000000..cb7b896d6
--- /dev/null
+++ b/web/static/images/emoji/1f41f.png
Binary files differ
diff --git a/web/static/images/emoji/1f420.png b/web/static/images/emoji/1f420.png
new file mode 100644
index 000000000..1904f61be
--- /dev/null
+++ b/web/static/images/emoji/1f420.png
Binary files differ
diff --git a/web/static/images/emoji/1f421.png b/web/static/images/emoji/1f421.png
new file mode 100644
index 000000000..7529feff7
--- /dev/null
+++ b/web/static/images/emoji/1f421.png
Binary files differ
diff --git a/web/static/images/emoji/1f422.png b/web/static/images/emoji/1f422.png
new file mode 100644
index 000000000..c3a628c0a
--- /dev/null
+++ b/web/static/images/emoji/1f422.png
Binary files differ
diff --git a/web/static/images/emoji/1f423.png b/web/static/images/emoji/1f423.png
new file mode 100644
index 000000000..1e688c228
--- /dev/null
+++ b/web/static/images/emoji/1f423.png
Binary files differ
diff --git a/web/static/images/emoji/1f424.png b/web/static/images/emoji/1f424.png
new file mode 100644
index 000000000..66785c880
--- /dev/null
+++ b/web/static/images/emoji/1f424.png
Binary files differ
diff --git a/web/static/images/emoji/1f425.png b/web/static/images/emoji/1f425.png
new file mode 100644
index 000000000..de82199dc
--- /dev/null
+++ b/web/static/images/emoji/1f425.png
Binary files differ
diff --git a/web/static/images/emoji/1f426.png b/web/static/images/emoji/1f426.png
new file mode 100644
index 000000000..077178a42
--- /dev/null
+++ b/web/static/images/emoji/1f426.png
Binary files differ
diff --git a/web/static/images/emoji/1f427.png b/web/static/images/emoji/1f427.png
new file mode 100644
index 000000000..1789bf222
--- /dev/null
+++ b/web/static/images/emoji/1f427.png
Binary files differ
diff --git a/web/static/images/emoji/1f428.png b/web/static/images/emoji/1f428.png
new file mode 100644
index 000000000..928143905
--- /dev/null
+++ b/web/static/images/emoji/1f428.png
Binary files differ
diff --git a/web/static/images/emoji/1f429.png b/web/static/images/emoji/1f429.png
new file mode 100644
index 000000000..a69f6388d
--- /dev/null
+++ b/web/static/images/emoji/1f429.png
Binary files differ
diff --git a/web/static/images/emoji/1f42a.png b/web/static/images/emoji/1f42a.png
new file mode 100644
index 000000000..e881a8b5f
--- /dev/null
+++ b/web/static/images/emoji/1f42a.png
Binary files differ
diff --git a/web/static/images/emoji/1f42b.png b/web/static/images/emoji/1f42b.png
new file mode 100644
index 000000000..f332bf333
--- /dev/null
+++ b/web/static/images/emoji/1f42b.png
Binary files differ
diff --git a/web/static/images/emoji/1f42c.png b/web/static/images/emoji/1f42c.png
new file mode 100644
index 000000000..4dde4cc13
--- /dev/null
+++ b/web/static/images/emoji/1f42c.png
Binary files differ
diff --git a/web/static/images/emoji/1f42d.png b/web/static/images/emoji/1f42d.png
new file mode 100644
index 000000000..a8e5eb73f
--- /dev/null
+++ b/web/static/images/emoji/1f42d.png
Binary files differ
diff --git a/web/static/images/emoji/1f42e.png b/web/static/images/emoji/1f42e.png
new file mode 100644
index 000000000..15196a069
--- /dev/null
+++ b/web/static/images/emoji/1f42e.png
Binary files differ
diff --git a/web/static/images/emoji/1f42f.png b/web/static/images/emoji/1f42f.png
new file mode 100644
index 000000000..64a19cd61
--- /dev/null
+++ b/web/static/images/emoji/1f42f.png
Binary files differ
diff --git a/web/static/images/emoji/1f430.png b/web/static/images/emoji/1f430.png
new file mode 100644
index 000000000..e6203c052
--- /dev/null
+++ b/web/static/images/emoji/1f430.png
Binary files differ
diff --git a/web/static/images/emoji/1f431.png b/web/static/images/emoji/1f431.png
new file mode 100644
index 000000000..126d2ef79
--- /dev/null
+++ b/web/static/images/emoji/1f431.png
Binary files differ
diff --git a/web/static/images/emoji/1f432.png b/web/static/images/emoji/1f432.png
new file mode 100644
index 000000000..aba3bd471
--- /dev/null
+++ b/web/static/images/emoji/1f432.png
Binary files differ
diff --git a/web/static/images/emoji/1f433.png b/web/static/images/emoji/1f433.png
new file mode 100644
index 000000000..cf1ecee86
--- /dev/null
+++ b/web/static/images/emoji/1f433.png
Binary files differ
diff --git a/web/static/images/emoji/1f434.png b/web/static/images/emoji/1f434.png
new file mode 100644
index 000000000..90b955506
--- /dev/null
+++ b/web/static/images/emoji/1f434.png
Binary files differ
diff --git a/web/static/images/emoji/1f435.png b/web/static/images/emoji/1f435.png
new file mode 100644
index 000000000..a753bae1c
--- /dev/null
+++ b/web/static/images/emoji/1f435.png
Binary files differ
diff --git a/web/static/images/emoji/1f436.png b/web/static/images/emoji/1f436.png
new file mode 100644
index 000000000..3c107deb4
--- /dev/null
+++ b/web/static/images/emoji/1f436.png
Binary files differ
diff --git a/web/static/images/emoji/1f437.png b/web/static/images/emoji/1f437.png
new file mode 100644
index 000000000..e2ef71cc0
--- /dev/null
+++ b/web/static/images/emoji/1f437.png
Binary files differ
diff --git a/web/static/images/emoji/1f438.png b/web/static/images/emoji/1f438.png
new file mode 100644
index 000000000..726d0280b
--- /dev/null
+++ b/web/static/images/emoji/1f438.png
Binary files differ
diff --git a/web/static/images/emoji/1f439.png b/web/static/images/emoji/1f439.png
new file mode 100644
index 000000000..b19be3738
--- /dev/null
+++ b/web/static/images/emoji/1f439.png
Binary files differ
diff --git a/web/static/images/emoji/1f43a.png b/web/static/images/emoji/1f43a.png
new file mode 100644
index 000000000..46f054c62
--- /dev/null
+++ b/web/static/images/emoji/1f43a.png
Binary files differ
diff --git a/web/static/images/emoji/1f43b.png b/web/static/images/emoji/1f43b.png
new file mode 100644
index 000000000..32387186f
--- /dev/null
+++ b/web/static/images/emoji/1f43b.png
Binary files differ
diff --git a/web/static/images/emoji/1f43c.png b/web/static/images/emoji/1f43c.png
new file mode 100644
index 000000000..a1ded2a6c
--- /dev/null
+++ b/web/static/images/emoji/1f43c.png
Binary files differ
diff --git a/web/static/images/emoji/1f43d.png b/web/static/images/emoji/1f43d.png
new file mode 100644
index 000000000..a704c5a41
--- /dev/null
+++ b/web/static/images/emoji/1f43d.png
Binary files differ
diff --git a/web/static/images/emoji/1f43e.png b/web/static/images/emoji/1f43e.png
new file mode 100644
index 000000000..b36eba864
--- /dev/null
+++ b/web/static/images/emoji/1f43e.png
Binary files differ
diff --git a/web/static/images/emoji/1f43f.png b/web/static/images/emoji/1f43f.png
new file mode 100644
index 000000000..2881d09be
--- /dev/null
+++ b/web/static/images/emoji/1f43f.png
Binary files differ
diff --git a/web/static/images/emoji/1f440.png b/web/static/images/emoji/1f440.png
new file mode 100644
index 000000000..d9a6163f4
--- /dev/null
+++ b/web/static/images/emoji/1f440.png
Binary files differ
diff --git a/web/static/images/emoji/1f441.png b/web/static/images/emoji/1f441.png
new file mode 100644
index 000000000..66182c9f1
--- /dev/null
+++ b/web/static/images/emoji/1f441.png
Binary files differ
diff --git a/web/static/images/emoji/1f442.png b/web/static/images/emoji/1f442.png
new file mode 100644
index 000000000..a29807228
--- /dev/null
+++ b/web/static/images/emoji/1f442.png
Binary files differ
diff --git a/web/static/images/emoji/1f443.png b/web/static/images/emoji/1f443.png
new file mode 100644
index 000000000..f3d289014
--- /dev/null
+++ b/web/static/images/emoji/1f443.png
Binary files differ
diff --git a/web/static/images/emoji/1f444.png b/web/static/images/emoji/1f444.png
new file mode 100644
index 000000000..9b2e494bd
--- /dev/null
+++ b/web/static/images/emoji/1f444.png
Binary files differ
diff --git a/web/static/images/emoji/1f445.png b/web/static/images/emoji/1f445.png
new file mode 100644
index 000000000..67ea886c6
--- /dev/null
+++ b/web/static/images/emoji/1f445.png
Binary files differ
diff --git a/web/static/images/emoji/1f446.png b/web/static/images/emoji/1f446.png
new file mode 100644
index 000000000..85b802a99
--- /dev/null
+++ b/web/static/images/emoji/1f446.png
Binary files differ
diff --git a/web/static/images/emoji/1f447.png b/web/static/images/emoji/1f447.png
new file mode 100644
index 000000000..7eeae2d5d
--- /dev/null
+++ b/web/static/images/emoji/1f447.png
Binary files differ
diff --git a/web/static/images/emoji/1f448.png b/web/static/images/emoji/1f448.png
new file mode 100644
index 000000000..4a8f90556
--- /dev/null
+++ b/web/static/images/emoji/1f448.png
Binary files differ
diff --git a/web/static/images/emoji/1f449.png b/web/static/images/emoji/1f449.png
new file mode 100644
index 000000000..b2e387878
--- /dev/null
+++ b/web/static/images/emoji/1f449.png
Binary files differ
diff --git a/web/static/images/emoji/1f44a.png b/web/static/images/emoji/1f44a.png
new file mode 100644
index 000000000..7d10b3eda
--- /dev/null
+++ b/web/static/images/emoji/1f44a.png
Binary files differ
diff --git a/web/static/images/emoji/1f44b.png b/web/static/images/emoji/1f44b.png
new file mode 100644
index 000000000..8a7086bd0
--- /dev/null
+++ b/web/static/images/emoji/1f44b.png
Binary files differ
diff --git a/web/static/images/emoji/1f44c.png b/web/static/images/emoji/1f44c.png
new file mode 100644
index 000000000..bf84e0df4
--- /dev/null
+++ b/web/static/images/emoji/1f44c.png
Binary files differ
diff --git a/web/static/images/emoji/1f44d.png b/web/static/images/emoji/1f44d.png
new file mode 100644
index 000000000..26949329f
--- /dev/null
+++ b/web/static/images/emoji/1f44d.png
Binary files differ
diff --git a/web/static/images/emoji/1f44e.png b/web/static/images/emoji/1f44e.png
new file mode 100644
index 000000000..9b6d251b5
--- /dev/null
+++ b/web/static/images/emoji/1f44e.png
Binary files differ
diff --git a/web/static/images/emoji/1f44f.png b/web/static/images/emoji/1f44f.png
new file mode 100644
index 000000000..ccb725e96
--- /dev/null
+++ b/web/static/images/emoji/1f44f.png
Binary files differ
diff --git a/web/static/images/emoji/1f450.png b/web/static/images/emoji/1f450.png
new file mode 100644
index 000000000..c8eb0bab5
--- /dev/null
+++ b/web/static/images/emoji/1f450.png
Binary files differ
diff --git a/web/static/images/emoji/1f451.png b/web/static/images/emoji/1f451.png
new file mode 100644
index 000000000..54ca7998c
--- /dev/null
+++ b/web/static/images/emoji/1f451.png
Binary files differ
diff --git a/web/static/images/emoji/1f452.png b/web/static/images/emoji/1f452.png
new file mode 100644
index 000000000..33af561b3
--- /dev/null
+++ b/web/static/images/emoji/1f452.png
Binary files differ
diff --git a/web/static/images/emoji/1f453.png b/web/static/images/emoji/1f453.png
new file mode 100644
index 000000000..f1f4612ba
--- /dev/null
+++ b/web/static/images/emoji/1f453.png
Binary files differ
diff --git a/web/static/images/emoji/1f454.png b/web/static/images/emoji/1f454.png
new file mode 100644
index 000000000..3ed0339bf
--- /dev/null
+++ b/web/static/images/emoji/1f454.png
Binary files differ
diff --git a/web/static/images/emoji/1f455.png b/web/static/images/emoji/1f455.png
new file mode 100644
index 000000000..556efde26
--- /dev/null
+++ b/web/static/images/emoji/1f455.png
Binary files differ
diff --git a/web/static/images/emoji/1f456.png b/web/static/images/emoji/1f456.png
new file mode 100644
index 000000000..f1a83c4d2
--- /dev/null
+++ b/web/static/images/emoji/1f456.png
Binary files differ
diff --git a/web/static/images/emoji/1f457.png b/web/static/images/emoji/1f457.png
new file mode 100644
index 000000000..512fe8bfe
--- /dev/null
+++ b/web/static/images/emoji/1f457.png
Binary files differ
diff --git a/web/static/images/emoji/1f458.png b/web/static/images/emoji/1f458.png
new file mode 100644
index 000000000..1cbdea0b1
--- /dev/null
+++ b/web/static/images/emoji/1f458.png
Binary files differ
diff --git a/web/static/images/emoji/1f459.png b/web/static/images/emoji/1f459.png
new file mode 100644
index 000000000..62d142f31
--- /dev/null
+++ b/web/static/images/emoji/1f459.png
Binary files differ
diff --git a/web/static/images/emoji/1f45a.png b/web/static/images/emoji/1f45a.png
new file mode 100644
index 000000000..1a5494267
--- /dev/null
+++ b/web/static/images/emoji/1f45a.png
Binary files differ
diff --git a/web/static/images/emoji/1f45b.png b/web/static/images/emoji/1f45b.png
new file mode 100644
index 000000000..da09a41a3
--- /dev/null
+++ b/web/static/images/emoji/1f45b.png
Binary files differ
diff --git a/web/static/images/emoji/1f45c.png b/web/static/images/emoji/1f45c.png
new file mode 100644
index 000000000..556688787
--- /dev/null
+++ b/web/static/images/emoji/1f45c.png
Binary files differ
diff --git a/web/static/images/emoji/1f45d.png b/web/static/images/emoji/1f45d.png
new file mode 100644
index 000000000..d8e54dd7c
--- /dev/null
+++ b/web/static/images/emoji/1f45d.png
Binary files differ
diff --git a/web/static/images/emoji/1f45e.png b/web/static/images/emoji/1f45e.png
new file mode 100644
index 000000000..8d8a9feeb
--- /dev/null
+++ b/web/static/images/emoji/1f45e.png
Binary files differ
diff --git a/web/static/images/emoji/1f45f.png b/web/static/images/emoji/1f45f.png
new file mode 100644
index 000000000..e2cd2d3d4
--- /dev/null
+++ b/web/static/images/emoji/1f45f.png
Binary files differ
diff --git a/web/static/images/emoji/1f460.png b/web/static/images/emoji/1f460.png
new file mode 100644
index 000000000..36bdb7484
--- /dev/null
+++ b/web/static/images/emoji/1f460.png
Binary files differ
diff --git a/web/static/images/emoji/1f461.png b/web/static/images/emoji/1f461.png
new file mode 100644
index 000000000..1db7005bb
--- /dev/null
+++ b/web/static/images/emoji/1f461.png
Binary files differ
diff --git a/web/static/images/emoji/1f462.png b/web/static/images/emoji/1f462.png
new file mode 100644
index 000000000..856256d5b
--- /dev/null
+++ b/web/static/images/emoji/1f462.png
Binary files differ
diff --git a/web/static/images/emoji/1f463.png b/web/static/images/emoji/1f463.png
new file mode 100644
index 000000000..95c26fc9d
--- /dev/null
+++ b/web/static/images/emoji/1f463.png
Binary files differ
diff --git a/web/static/images/emoji/1f464.png b/web/static/images/emoji/1f464.png
new file mode 100644
index 000000000..db3a468fc
--- /dev/null
+++ b/web/static/images/emoji/1f464.png
Binary files differ
diff --git a/web/static/images/emoji/1f465.png b/web/static/images/emoji/1f465.png
new file mode 100644
index 000000000..f6018ac0e
--- /dev/null
+++ b/web/static/images/emoji/1f465.png
Binary files differ
diff --git a/web/static/images/emoji/1f466.png b/web/static/images/emoji/1f466.png
new file mode 100644
index 000000000..ddcf29ca6
--- /dev/null
+++ b/web/static/images/emoji/1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f467.png b/web/static/images/emoji/1f467.png
new file mode 100644
index 000000000..9f91cef4c
--- /dev/null
+++ b/web/static/images/emoji/1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f468-1f466-1f466.png b/web/static/images/emoji/1f468-1f468-1f466-1f466.png
new file mode 100644
index 000000000..a9121ff1b
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f468-1f466-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f468-1f466.png b/web/static/images/emoji/1f468-1f468-1f466.png
new file mode 100644
index 000000000..9856feb47
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f468-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f468-1f467-1f466.png b/web/static/images/emoji/1f468-1f468-1f467-1f466.png
new file mode 100644
index 000000000..f836007e2
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f468-1f467-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f468-1f467-1f467.png b/web/static/images/emoji/1f468-1f468-1f467-1f467.png
new file mode 100644
index 000000000..a62651445
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f468-1f467-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f468-1f467.png b/web/static/images/emoji/1f468-1f468-1f467.png
new file mode 100644
index 000000000..1af8f4e12
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f468-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f469-1f466-1f466.png b/web/static/images/emoji/1f468-1f469-1f466-1f466.png
new file mode 100644
index 000000000..1fc8a8d25
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f469-1f466-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f469-1f467-1f466.png b/web/static/images/emoji/1f468-1f469-1f467-1f466.png
new file mode 100644
index 000000000..be122e039
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f469-1f467-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f469-1f467-1f467.png b/web/static/images/emoji/1f468-1f469-1f467-1f467.png
new file mode 100644
index 000000000..4c9f3f0ef
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f469-1f467-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-1f469-1f467.png b/web/static/images/emoji/1f468-1f469-1f467.png
new file mode 100644
index 000000000..8df6f0456
--- /dev/null
+++ b/web/static/images/emoji/1f468-1f469-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-2764-1f468.png b/web/static/images/emoji/1f468-2764-1f468.png
new file mode 100644
index 000000000..8975118f7
--- /dev/null
+++ b/web/static/images/emoji/1f468-2764-1f468.png
Binary files differ
diff --git a/web/static/images/emoji/1f468-2764-1f48b-1f468.png b/web/static/images/emoji/1f468-2764-1f48b-1f468.png
new file mode 100644
index 000000000..1afc5e2c1
--- /dev/null
+++ b/web/static/images/emoji/1f468-2764-1f48b-1f468.png
Binary files differ
diff --git a/web/static/images/emoji/1f468.png b/web/static/images/emoji/1f468.png
new file mode 100644
index 000000000..8efb7f43b
--- /dev/null
+++ b/web/static/images/emoji/1f468.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-1f469-1f466-1f466.png b/web/static/images/emoji/1f469-1f469-1f466-1f466.png
new file mode 100644
index 000000000..3b7515300
--- /dev/null
+++ b/web/static/images/emoji/1f469-1f469-1f466-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-1f469-1f466.png b/web/static/images/emoji/1f469-1f469-1f466.png
new file mode 100644
index 000000000..c2b883efb
--- /dev/null
+++ b/web/static/images/emoji/1f469-1f469-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-1f469-1f467-1f466.png b/web/static/images/emoji/1f469-1f469-1f467-1f466.png
new file mode 100644
index 000000000..65f48dae5
--- /dev/null
+++ b/web/static/images/emoji/1f469-1f469-1f467-1f466.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-1f469-1f467-1f467.png b/web/static/images/emoji/1f469-1f469-1f467-1f467.png
new file mode 100644
index 000000000..1a6e89c65
--- /dev/null
+++ b/web/static/images/emoji/1f469-1f469-1f467-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-1f469-1f467.png b/web/static/images/emoji/1f469-1f469-1f467.png
new file mode 100644
index 000000000..b6e8aad2d
--- /dev/null
+++ b/web/static/images/emoji/1f469-1f469-1f467.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-2764-1f469.png b/web/static/images/emoji/1f469-2764-1f469.png
new file mode 100644
index 000000000..a58f61b54
--- /dev/null
+++ b/web/static/images/emoji/1f469-2764-1f469.png
Binary files differ
diff --git a/web/static/images/emoji/1f469-2764-1f48b-1f469.png b/web/static/images/emoji/1f469-2764-1f48b-1f469.png
new file mode 100644
index 000000000..4c6a10699
--- /dev/null
+++ b/web/static/images/emoji/1f469-2764-1f48b-1f469.png
Binary files differ
diff --git a/web/static/images/emoji/1f469.png b/web/static/images/emoji/1f469.png
new file mode 100644
index 000000000..72f7d61e2
--- /dev/null
+++ b/web/static/images/emoji/1f469.png
Binary files differ
diff --git a/web/static/images/emoji/1f46a.png b/web/static/images/emoji/1f46a.png
new file mode 100644
index 000000000..e0d81ddb7
--- /dev/null
+++ b/web/static/images/emoji/1f46a.png
Binary files differ
diff --git a/web/static/images/emoji/1f46b.png b/web/static/images/emoji/1f46b.png
new file mode 100644
index 000000000..616f8520b
--- /dev/null
+++ b/web/static/images/emoji/1f46b.png
Binary files differ
diff --git a/web/static/images/emoji/1f46c.png b/web/static/images/emoji/1f46c.png
new file mode 100644
index 000000000..6d223a144
--- /dev/null
+++ b/web/static/images/emoji/1f46c.png
Binary files differ
diff --git a/web/static/images/emoji/1f46d.png b/web/static/images/emoji/1f46d.png
new file mode 100644
index 000000000..313e73c7d
--- /dev/null
+++ b/web/static/images/emoji/1f46d.png
Binary files differ
diff --git a/web/static/images/emoji/1f46e.png b/web/static/images/emoji/1f46e.png
new file mode 100644
index 000000000..818cab806
--- /dev/null
+++ b/web/static/images/emoji/1f46e.png
Binary files differ
diff --git a/web/static/images/emoji/1f46f.png b/web/static/images/emoji/1f46f.png
new file mode 100644
index 000000000..8829c0e87
--- /dev/null
+++ b/web/static/images/emoji/1f46f.png
Binary files differ
diff --git a/web/static/images/emoji/1f470.png b/web/static/images/emoji/1f470.png
new file mode 100644
index 000000000..a19e3389e
--- /dev/null
+++ b/web/static/images/emoji/1f470.png
Binary files differ
diff --git a/web/static/images/emoji/1f471.png b/web/static/images/emoji/1f471.png
new file mode 100644
index 000000000..7cd2e8766
--- /dev/null
+++ b/web/static/images/emoji/1f471.png
Binary files differ
diff --git a/web/static/images/emoji/1f472.png b/web/static/images/emoji/1f472.png
new file mode 100644
index 000000000..bd01585c4
--- /dev/null
+++ b/web/static/images/emoji/1f472.png
Binary files differ
diff --git a/web/static/images/emoji/1f473.png b/web/static/images/emoji/1f473.png
new file mode 100644
index 000000000..e968c78fe
--- /dev/null
+++ b/web/static/images/emoji/1f473.png
Binary files differ
diff --git a/web/static/images/emoji/1f474.png b/web/static/images/emoji/1f474.png
new file mode 100644
index 000000000..18fbbdde8
--- /dev/null
+++ b/web/static/images/emoji/1f474.png
Binary files differ
diff --git a/web/static/images/emoji/1f475.png b/web/static/images/emoji/1f475.png
new file mode 100644
index 000000000..0848ebe92
--- /dev/null
+++ b/web/static/images/emoji/1f475.png
Binary files differ
diff --git a/web/static/images/emoji/1f476.png b/web/static/images/emoji/1f476.png
new file mode 100644
index 000000000..7bfa3d4b5
--- /dev/null
+++ b/web/static/images/emoji/1f476.png
Binary files differ
diff --git a/web/static/images/emoji/1f477.png b/web/static/images/emoji/1f477.png
new file mode 100644
index 000000000..862e51f40
--- /dev/null
+++ b/web/static/images/emoji/1f477.png
Binary files differ
diff --git a/web/static/images/emoji/1f478.png b/web/static/images/emoji/1f478.png
new file mode 100644
index 000000000..a8b0ff903
--- /dev/null
+++ b/web/static/images/emoji/1f478.png
Binary files differ
diff --git a/web/static/images/emoji/1f479.png b/web/static/images/emoji/1f479.png
new file mode 100644
index 000000000..fd1cab65f
--- /dev/null
+++ b/web/static/images/emoji/1f479.png
Binary files differ
diff --git a/web/static/images/emoji/1f47a.png b/web/static/images/emoji/1f47a.png
new file mode 100644
index 000000000..20e1b4eb5
--- /dev/null
+++ b/web/static/images/emoji/1f47a.png
Binary files differ
diff --git a/web/static/images/emoji/1f47b.png b/web/static/images/emoji/1f47b.png
new file mode 100644
index 000000000..3138f36fd
--- /dev/null
+++ b/web/static/images/emoji/1f47b.png
Binary files differ
diff --git a/web/static/images/emoji/1f47c.png b/web/static/images/emoji/1f47c.png
new file mode 100644
index 000000000..46546001f
--- /dev/null
+++ b/web/static/images/emoji/1f47c.png
Binary files differ
diff --git a/web/static/images/emoji/1f47d.png b/web/static/images/emoji/1f47d.png
new file mode 100644
index 000000000..6d0fc8399
--- /dev/null
+++ b/web/static/images/emoji/1f47d.png
Binary files differ
diff --git a/web/static/images/emoji/1f47e.png b/web/static/images/emoji/1f47e.png
new file mode 100644
index 000000000..042bc2ad0
--- /dev/null
+++ b/web/static/images/emoji/1f47e.png
Binary files differ
diff --git a/web/static/images/emoji/1f47f.png b/web/static/images/emoji/1f47f.png
new file mode 100644
index 000000000..bb31a6212
--- /dev/null
+++ b/web/static/images/emoji/1f47f.png
Binary files differ
diff --git a/web/static/images/emoji/1f480.png b/web/static/images/emoji/1f480.png
new file mode 100644
index 000000000..ee66d7147
--- /dev/null
+++ b/web/static/images/emoji/1f480.png
Binary files differ
diff --git a/web/static/images/emoji/1f481.png b/web/static/images/emoji/1f481.png
new file mode 100644
index 000000000..ffe0ab71f
--- /dev/null
+++ b/web/static/images/emoji/1f481.png
Binary files differ
diff --git a/web/static/images/emoji/1f482.png b/web/static/images/emoji/1f482.png
new file mode 100644
index 000000000..f7f0464cd
--- /dev/null
+++ b/web/static/images/emoji/1f482.png
Binary files differ
diff --git a/web/static/images/emoji/1f483.png b/web/static/images/emoji/1f483.png
new file mode 100644
index 000000000..8e3c67dd2
--- /dev/null
+++ b/web/static/images/emoji/1f483.png
Binary files differ
diff --git a/web/static/images/emoji/1f484.png b/web/static/images/emoji/1f484.png
new file mode 100644
index 000000000..79421767b
--- /dev/null
+++ b/web/static/images/emoji/1f484.png
Binary files differ
diff --git a/web/static/images/emoji/1f485.png b/web/static/images/emoji/1f485.png
new file mode 100644
index 000000000..279881c26
--- /dev/null
+++ b/web/static/images/emoji/1f485.png
Binary files differ
diff --git a/web/static/images/emoji/1f486.png b/web/static/images/emoji/1f486.png
new file mode 100644
index 000000000..4890c3395
--- /dev/null
+++ b/web/static/images/emoji/1f486.png
Binary files differ
diff --git a/web/static/images/emoji/1f487.png b/web/static/images/emoji/1f487.png
new file mode 100644
index 000000000..40fbd31c4
--- /dev/null
+++ b/web/static/images/emoji/1f487.png
Binary files differ
diff --git a/web/static/images/emoji/1f488.png b/web/static/images/emoji/1f488.png
new file mode 100644
index 000000000..e2267ff8f
--- /dev/null
+++ b/web/static/images/emoji/1f488.png
Binary files differ
diff --git a/web/static/images/emoji/1f489.png b/web/static/images/emoji/1f489.png
new file mode 100644
index 000000000..1e7f23ebf
--- /dev/null
+++ b/web/static/images/emoji/1f489.png
Binary files differ
diff --git a/web/static/images/emoji/1f48a.png b/web/static/images/emoji/1f48a.png
new file mode 100644
index 000000000..260e44588
--- /dev/null
+++ b/web/static/images/emoji/1f48a.png
Binary files differ
diff --git a/web/static/images/emoji/1f48b.png b/web/static/images/emoji/1f48b.png
new file mode 100644
index 000000000..bc4c8f73a
--- /dev/null
+++ b/web/static/images/emoji/1f48b.png
Binary files differ
diff --git a/web/static/images/emoji/1f48c.png b/web/static/images/emoji/1f48c.png
new file mode 100644
index 000000000..853204d48
--- /dev/null
+++ b/web/static/images/emoji/1f48c.png
Binary files differ
diff --git a/web/static/images/emoji/1f48d.png b/web/static/images/emoji/1f48d.png
new file mode 100644
index 000000000..f033d7941
--- /dev/null
+++ b/web/static/images/emoji/1f48d.png
Binary files differ
diff --git a/web/static/images/emoji/1f48e.png b/web/static/images/emoji/1f48e.png
new file mode 100644
index 000000000..a24a082a7
--- /dev/null
+++ b/web/static/images/emoji/1f48e.png
Binary files differ
diff --git a/web/static/images/emoji/1f48f.png b/web/static/images/emoji/1f48f.png
new file mode 100644
index 000000000..0280fba18
--- /dev/null
+++ b/web/static/images/emoji/1f48f.png
Binary files differ
diff --git a/web/static/images/emoji/1f490.png b/web/static/images/emoji/1f490.png
new file mode 100644
index 000000000..e42118f7f
--- /dev/null
+++ b/web/static/images/emoji/1f490.png
Binary files differ
diff --git a/web/static/images/emoji/1f491.png b/web/static/images/emoji/1f491.png
new file mode 100644
index 000000000..44d4e18bd
--- /dev/null
+++ b/web/static/images/emoji/1f491.png
Binary files differ
diff --git a/web/static/images/emoji/1f492.png b/web/static/images/emoji/1f492.png
new file mode 100644
index 000000000..dda4a140f
--- /dev/null
+++ b/web/static/images/emoji/1f492.png
Binary files differ
diff --git a/web/static/images/emoji/1f493.png b/web/static/images/emoji/1f493.png
new file mode 100644
index 000000000..43a365e95
--- /dev/null
+++ b/web/static/images/emoji/1f493.png
Binary files differ
diff --git a/web/static/images/emoji/1f494.png b/web/static/images/emoji/1f494.png
new file mode 100644
index 000000000..b7ee9b4e5
--- /dev/null
+++ b/web/static/images/emoji/1f494.png
Binary files differ
diff --git a/web/static/images/emoji/1f495.png b/web/static/images/emoji/1f495.png
new file mode 100644
index 000000000..48f8d88d2
--- /dev/null
+++ b/web/static/images/emoji/1f495.png
Binary files differ
diff --git a/web/static/images/emoji/1f496.png b/web/static/images/emoji/1f496.png
new file mode 100644
index 000000000..0bfffc4ca
--- /dev/null
+++ b/web/static/images/emoji/1f496.png
Binary files differ
diff --git a/web/static/images/emoji/1f497.png b/web/static/images/emoji/1f497.png
new file mode 100644
index 000000000..b3d5da2e3
--- /dev/null
+++ b/web/static/images/emoji/1f497.png
Binary files differ
diff --git a/web/static/images/emoji/1f498.png b/web/static/images/emoji/1f498.png
new file mode 100644
index 000000000..49260219c
--- /dev/null
+++ b/web/static/images/emoji/1f498.png
Binary files differ
diff --git a/web/static/images/emoji/1f499.png b/web/static/images/emoji/1f499.png
new file mode 100644
index 000000000..494ab723e
--- /dev/null
+++ b/web/static/images/emoji/1f499.png
Binary files differ
diff --git a/web/static/images/emoji/1f49a.png b/web/static/images/emoji/1f49a.png
new file mode 100644
index 000000000..87b1d21c3
--- /dev/null
+++ b/web/static/images/emoji/1f49a.png
Binary files differ
diff --git a/web/static/images/emoji/1f49b.png b/web/static/images/emoji/1f49b.png
new file mode 100644
index 000000000..2deb5e6ce
--- /dev/null
+++ b/web/static/images/emoji/1f49b.png
Binary files differ
diff --git a/web/static/images/emoji/1f49c.png b/web/static/images/emoji/1f49c.png
new file mode 100644
index 000000000..97bb564a1
--- /dev/null
+++ b/web/static/images/emoji/1f49c.png
Binary files differ
diff --git a/web/static/images/emoji/1f49d.png b/web/static/images/emoji/1f49d.png
new file mode 100644
index 000000000..eb0292da0
--- /dev/null
+++ b/web/static/images/emoji/1f49d.png
Binary files differ
diff --git a/web/static/images/emoji/1f49e.png b/web/static/images/emoji/1f49e.png
new file mode 100644
index 000000000..0602d03c1
--- /dev/null
+++ b/web/static/images/emoji/1f49e.png
Binary files differ
diff --git a/web/static/images/emoji/1f49f.png b/web/static/images/emoji/1f49f.png
new file mode 100644
index 000000000..da8a1339b
--- /dev/null
+++ b/web/static/images/emoji/1f49f.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a0.png b/web/static/images/emoji/1f4a0.png
new file mode 100644
index 000000000..6aec6cb19
--- /dev/null
+++ b/web/static/images/emoji/1f4a0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a1.png b/web/static/images/emoji/1f4a1.png
new file mode 100644
index 000000000..7596c82a7
--- /dev/null
+++ b/web/static/images/emoji/1f4a1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a2.png b/web/static/images/emoji/1f4a2.png
new file mode 100644
index 000000000..f69aa08d4
--- /dev/null
+++ b/web/static/images/emoji/1f4a2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a3.png b/web/static/images/emoji/1f4a3.png
new file mode 100644
index 000000000..774c5c91e
--- /dev/null
+++ b/web/static/images/emoji/1f4a3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a4.png b/web/static/images/emoji/1f4a4.png
new file mode 100644
index 000000000..05e245f20
--- /dev/null
+++ b/web/static/images/emoji/1f4a4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a5.png b/web/static/images/emoji/1f4a5.png
new file mode 100644
index 000000000..98a69a628
--- /dev/null
+++ b/web/static/images/emoji/1f4a5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a6.png b/web/static/images/emoji/1f4a6.png
new file mode 100644
index 000000000..81205fb52
--- /dev/null
+++ b/web/static/images/emoji/1f4a6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a7.png b/web/static/images/emoji/1f4a7.png
new file mode 100644
index 000000000..074982362
--- /dev/null
+++ b/web/static/images/emoji/1f4a7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a8.png b/web/static/images/emoji/1f4a8.png
new file mode 100644
index 000000000..d58c22281
--- /dev/null
+++ b/web/static/images/emoji/1f4a8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4a9.png b/web/static/images/emoji/1f4a9.png
new file mode 100644
index 000000000..0c237a788
--- /dev/null
+++ b/web/static/images/emoji/1f4a9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4aa.png b/web/static/images/emoji/1f4aa.png
new file mode 100644
index 000000000..9300534fa
--- /dev/null
+++ b/web/static/images/emoji/1f4aa.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ab.png b/web/static/images/emoji/1f4ab.png
new file mode 100644
index 000000000..b6972196c
--- /dev/null
+++ b/web/static/images/emoji/1f4ab.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ac.png b/web/static/images/emoji/1f4ac.png
new file mode 100644
index 000000000..4f6449572
--- /dev/null
+++ b/web/static/images/emoji/1f4ac.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ad.png b/web/static/images/emoji/1f4ad.png
new file mode 100644
index 000000000..0ccbc2e30
--- /dev/null
+++ b/web/static/images/emoji/1f4ad.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ae.png b/web/static/images/emoji/1f4ae.png
new file mode 100644
index 000000000..6d1c47e91
--- /dev/null
+++ b/web/static/images/emoji/1f4ae.png
Binary files differ
diff --git a/web/static/images/emoji/1f4af.png b/web/static/images/emoji/1f4af.png
new file mode 100644
index 000000000..cd308ad66
--- /dev/null
+++ b/web/static/images/emoji/1f4af.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b0.png b/web/static/images/emoji/1f4b0.png
new file mode 100644
index 000000000..a44896ab0
--- /dev/null
+++ b/web/static/images/emoji/1f4b0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b1.png b/web/static/images/emoji/1f4b1.png
new file mode 100644
index 000000000..7cdbde70c
--- /dev/null
+++ b/web/static/images/emoji/1f4b1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b2.png b/web/static/images/emoji/1f4b2.png
new file mode 100644
index 000000000..10a5a4d8a
--- /dev/null
+++ b/web/static/images/emoji/1f4b2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b3.png b/web/static/images/emoji/1f4b3.png
new file mode 100644
index 000000000..e41515bb7
--- /dev/null
+++ b/web/static/images/emoji/1f4b3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b4.png b/web/static/images/emoji/1f4b4.png
new file mode 100644
index 000000000..c0545520f
--- /dev/null
+++ b/web/static/images/emoji/1f4b4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b5.png b/web/static/images/emoji/1f4b5.png
new file mode 100644
index 000000000..73843bf91
--- /dev/null
+++ b/web/static/images/emoji/1f4b5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b6.png b/web/static/images/emoji/1f4b6.png
new file mode 100644
index 000000000..4efcecc3c
--- /dev/null
+++ b/web/static/images/emoji/1f4b6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b7.png b/web/static/images/emoji/1f4b7.png
new file mode 100644
index 000000000..555e0823f
--- /dev/null
+++ b/web/static/images/emoji/1f4b7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b8.png b/web/static/images/emoji/1f4b8.png
new file mode 100644
index 000000000..46591e443
--- /dev/null
+++ b/web/static/images/emoji/1f4b8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4b9.png b/web/static/images/emoji/1f4b9.png
new file mode 100644
index 000000000..6b7fb1cdd
--- /dev/null
+++ b/web/static/images/emoji/1f4b9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ba.png b/web/static/images/emoji/1f4ba.png
new file mode 100644
index 000000000..1ec8166b6
--- /dev/null
+++ b/web/static/images/emoji/1f4ba.png
Binary files differ
diff --git a/web/static/images/emoji/1f4bb.png b/web/static/images/emoji/1f4bb.png
new file mode 100644
index 000000000..e23340a04
--- /dev/null
+++ b/web/static/images/emoji/1f4bb.png
Binary files differ
diff --git a/web/static/images/emoji/1f4bc.png b/web/static/images/emoji/1f4bc.png
new file mode 100644
index 000000000..49293eb0a
--- /dev/null
+++ b/web/static/images/emoji/1f4bc.png
Binary files differ
diff --git a/web/static/images/emoji/1f4bd.png b/web/static/images/emoji/1f4bd.png
new file mode 100644
index 000000000..49d651f9e
--- /dev/null
+++ b/web/static/images/emoji/1f4bd.png
Binary files differ
diff --git a/web/static/images/emoji/1f4be.png b/web/static/images/emoji/1f4be.png
new file mode 100644
index 000000000..f4e52bf1b
--- /dev/null
+++ b/web/static/images/emoji/1f4be.png
Binary files differ
diff --git a/web/static/images/emoji/1f4bf.png b/web/static/images/emoji/1f4bf.png
new file mode 100644
index 000000000..10d5db668
--- /dev/null
+++ b/web/static/images/emoji/1f4bf.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c0.png b/web/static/images/emoji/1f4c0.png
new file mode 100644
index 000000000..6f7b85774
--- /dev/null
+++ b/web/static/images/emoji/1f4c0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c1.png b/web/static/images/emoji/1f4c1.png
new file mode 100644
index 000000000..17adcfd26
--- /dev/null
+++ b/web/static/images/emoji/1f4c1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c2.png b/web/static/images/emoji/1f4c2.png
new file mode 100644
index 000000000..2d48340bf
--- /dev/null
+++ b/web/static/images/emoji/1f4c2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c3.png b/web/static/images/emoji/1f4c3.png
new file mode 100644
index 000000000..306b7e4d7
--- /dev/null
+++ b/web/static/images/emoji/1f4c3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c4.png b/web/static/images/emoji/1f4c4.png
new file mode 100644
index 000000000..f3023ba74
--- /dev/null
+++ b/web/static/images/emoji/1f4c4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c5.png b/web/static/images/emoji/1f4c5.png
new file mode 100644
index 000000000..61308e816
--- /dev/null
+++ b/web/static/images/emoji/1f4c5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c6.png b/web/static/images/emoji/1f4c6.png
new file mode 100644
index 000000000..7b1845ab2
--- /dev/null
+++ b/web/static/images/emoji/1f4c6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c7.png b/web/static/images/emoji/1f4c7.png
new file mode 100644
index 000000000..84407de9e
--- /dev/null
+++ b/web/static/images/emoji/1f4c7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c8.png b/web/static/images/emoji/1f4c8.png
new file mode 100644
index 000000000..74a525be1
--- /dev/null
+++ b/web/static/images/emoji/1f4c8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4c9.png b/web/static/images/emoji/1f4c9.png
new file mode 100644
index 000000000..63ab4f0b4
--- /dev/null
+++ b/web/static/images/emoji/1f4c9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ca.png b/web/static/images/emoji/1f4ca.png
new file mode 100644
index 000000000..9b5a73c72
--- /dev/null
+++ b/web/static/images/emoji/1f4ca.png
Binary files differ
diff --git a/web/static/images/emoji/1f4cb.png b/web/static/images/emoji/1f4cb.png
new file mode 100644
index 000000000..7f50dfff7
--- /dev/null
+++ b/web/static/images/emoji/1f4cb.png
Binary files differ
diff --git a/web/static/images/emoji/1f4cc.png b/web/static/images/emoji/1f4cc.png
new file mode 100644
index 000000000..557ac45f0
--- /dev/null
+++ b/web/static/images/emoji/1f4cc.png
Binary files differ
diff --git a/web/static/images/emoji/1f4cd.png b/web/static/images/emoji/1f4cd.png
new file mode 100644
index 000000000..b16e5c41a
--- /dev/null
+++ b/web/static/images/emoji/1f4cd.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ce.png b/web/static/images/emoji/1f4ce.png
new file mode 100644
index 000000000..e241e1189
--- /dev/null
+++ b/web/static/images/emoji/1f4ce.png
Binary files differ
diff --git a/web/static/images/emoji/1f4cf.png b/web/static/images/emoji/1f4cf.png
new file mode 100644
index 000000000..42e7ac39c
--- /dev/null
+++ b/web/static/images/emoji/1f4cf.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d0.png b/web/static/images/emoji/1f4d0.png
new file mode 100644
index 000000000..b554c0625
--- /dev/null
+++ b/web/static/images/emoji/1f4d0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d1.png b/web/static/images/emoji/1f4d1.png
new file mode 100644
index 000000000..9cec88387
--- /dev/null
+++ b/web/static/images/emoji/1f4d1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d2.png b/web/static/images/emoji/1f4d2.png
new file mode 100644
index 000000000..b9a5484e4
--- /dev/null
+++ b/web/static/images/emoji/1f4d2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d3.png b/web/static/images/emoji/1f4d3.png
new file mode 100644
index 000000000..5ed4f4112
--- /dev/null
+++ b/web/static/images/emoji/1f4d3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d4.png b/web/static/images/emoji/1f4d4.png
new file mode 100644
index 000000000..839ee3e78
--- /dev/null
+++ b/web/static/images/emoji/1f4d4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d5.png b/web/static/images/emoji/1f4d5.png
new file mode 100644
index 000000000..e26390e0a
--- /dev/null
+++ b/web/static/images/emoji/1f4d5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d6.png b/web/static/images/emoji/1f4d6.png
new file mode 100644
index 000000000..01c836a7e
--- /dev/null
+++ b/web/static/images/emoji/1f4d6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d7.png b/web/static/images/emoji/1f4d7.png
new file mode 100644
index 000000000..8fa81b9ac
--- /dev/null
+++ b/web/static/images/emoji/1f4d7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d8.png b/web/static/images/emoji/1f4d8.png
new file mode 100644
index 000000000..673bf2bdb
--- /dev/null
+++ b/web/static/images/emoji/1f4d8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4d9.png b/web/static/images/emoji/1f4d9.png
new file mode 100644
index 000000000..8ecfd9c10
--- /dev/null
+++ b/web/static/images/emoji/1f4d9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4da.png b/web/static/images/emoji/1f4da.png
new file mode 100644
index 000000000..65abc1651
--- /dev/null
+++ b/web/static/images/emoji/1f4da.png
Binary files differ
diff --git a/web/static/images/emoji/1f4db.png b/web/static/images/emoji/1f4db.png
new file mode 100644
index 000000000..a1ffb38b3
--- /dev/null
+++ b/web/static/images/emoji/1f4db.png
Binary files differ
diff --git a/web/static/images/emoji/1f4dc.png b/web/static/images/emoji/1f4dc.png
new file mode 100644
index 000000000..c8ee30803
--- /dev/null
+++ b/web/static/images/emoji/1f4dc.png
Binary files differ
diff --git a/web/static/images/emoji/1f4dd.png b/web/static/images/emoji/1f4dd.png
new file mode 100644
index 000000000..61e5a08e6
--- /dev/null
+++ b/web/static/images/emoji/1f4dd.png
Binary files differ
diff --git a/web/static/images/emoji/1f4de.png b/web/static/images/emoji/1f4de.png
new file mode 100644
index 000000000..6a8259cb7
--- /dev/null
+++ b/web/static/images/emoji/1f4de.png
Binary files differ
diff --git a/web/static/images/emoji/1f4df.png b/web/static/images/emoji/1f4df.png
new file mode 100644
index 000000000..acfd131a0
--- /dev/null
+++ b/web/static/images/emoji/1f4df.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e0.png b/web/static/images/emoji/1f4e0.png
new file mode 100644
index 000000000..10f81dad1
--- /dev/null
+++ b/web/static/images/emoji/1f4e0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e1.png b/web/static/images/emoji/1f4e1.png
new file mode 100644
index 000000000..7411b9235
--- /dev/null
+++ b/web/static/images/emoji/1f4e1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e2.png b/web/static/images/emoji/1f4e2.png
new file mode 100644
index 000000000..aaf588cd7
--- /dev/null
+++ b/web/static/images/emoji/1f4e2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e3.png b/web/static/images/emoji/1f4e3.png
new file mode 100644
index 000000000..51bc09152
--- /dev/null
+++ b/web/static/images/emoji/1f4e3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e4.png b/web/static/images/emoji/1f4e4.png
new file mode 100644
index 000000000..7afec2610
--- /dev/null
+++ b/web/static/images/emoji/1f4e4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e5.png b/web/static/images/emoji/1f4e5.png
new file mode 100644
index 000000000..266947ee9
--- /dev/null
+++ b/web/static/images/emoji/1f4e5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e6.png b/web/static/images/emoji/1f4e6.png
new file mode 100644
index 000000000..424c4fd19
--- /dev/null
+++ b/web/static/images/emoji/1f4e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e7.png b/web/static/images/emoji/1f4e7.png
new file mode 100644
index 000000000..838ee67ed
--- /dev/null
+++ b/web/static/images/emoji/1f4e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e8.png b/web/static/images/emoji/1f4e8.png
new file mode 100644
index 000000000..b16ed051f
--- /dev/null
+++ b/web/static/images/emoji/1f4e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4e9.png b/web/static/images/emoji/1f4e9.png
new file mode 100644
index 000000000..373cd8f0f
--- /dev/null
+++ b/web/static/images/emoji/1f4e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ea.png b/web/static/images/emoji/1f4ea.png
new file mode 100644
index 000000000..7a9f1e301
--- /dev/null
+++ b/web/static/images/emoji/1f4ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f4eb.png b/web/static/images/emoji/1f4eb.png
new file mode 100644
index 000000000..5e3aa1019
--- /dev/null
+++ b/web/static/images/emoji/1f4eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ec.png b/web/static/images/emoji/1f4ec.png
new file mode 100644
index 000000000..f8c7362a8
--- /dev/null
+++ b/web/static/images/emoji/1f4ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ed.png b/web/static/images/emoji/1f4ed.png
new file mode 100644
index 000000000..a4b4797ee
--- /dev/null
+++ b/web/static/images/emoji/1f4ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ee.png b/web/static/images/emoji/1f4ee.png
new file mode 100644
index 000000000..1633e892c
--- /dev/null
+++ b/web/static/images/emoji/1f4ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f4ef.png b/web/static/images/emoji/1f4ef.png
new file mode 100644
index 000000000..2313eeb45
--- /dev/null
+++ b/web/static/images/emoji/1f4ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f0.png b/web/static/images/emoji/1f4f0.png
new file mode 100644
index 000000000..ae5e31494
--- /dev/null
+++ b/web/static/images/emoji/1f4f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f1.png b/web/static/images/emoji/1f4f1.png
new file mode 100644
index 000000000..eea83475b
--- /dev/null
+++ b/web/static/images/emoji/1f4f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f2.png b/web/static/images/emoji/1f4f2.png
new file mode 100644
index 000000000..e10f74a6a
--- /dev/null
+++ b/web/static/images/emoji/1f4f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f3.png b/web/static/images/emoji/1f4f3.png
new file mode 100644
index 000000000..6da565442
--- /dev/null
+++ b/web/static/images/emoji/1f4f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f4.png b/web/static/images/emoji/1f4f4.png
new file mode 100644
index 000000000..63d1deeaa
--- /dev/null
+++ b/web/static/images/emoji/1f4f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f5.png b/web/static/images/emoji/1f4f5.png
new file mode 100644
index 000000000..8324e4361
--- /dev/null
+++ b/web/static/images/emoji/1f4f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f6.png b/web/static/images/emoji/1f4f6.png
new file mode 100644
index 000000000..21956bb51
--- /dev/null
+++ b/web/static/images/emoji/1f4f6.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f7.png b/web/static/images/emoji/1f4f7.png
new file mode 100644
index 000000000..0b4463e8b
--- /dev/null
+++ b/web/static/images/emoji/1f4f7.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f8.png b/web/static/images/emoji/1f4f8.png
new file mode 100644
index 000000000..66f223b17
--- /dev/null
+++ b/web/static/images/emoji/1f4f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f4f9.png b/web/static/images/emoji/1f4f9.png
new file mode 100644
index 000000000..1b3514f8a
--- /dev/null
+++ b/web/static/images/emoji/1f4f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f4fa.png b/web/static/images/emoji/1f4fa.png
new file mode 100644
index 000000000..5318e2dc8
--- /dev/null
+++ b/web/static/images/emoji/1f4fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f4fb.png b/web/static/images/emoji/1f4fb.png
new file mode 100644
index 000000000..e75747faa
--- /dev/null
+++ b/web/static/images/emoji/1f4fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f4fc.png b/web/static/images/emoji/1f4fc.png
new file mode 100644
index 000000000..134e3a2c4
--- /dev/null
+++ b/web/static/images/emoji/1f4fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f4fd.png b/web/static/images/emoji/1f4fd.png
new file mode 100644
index 000000000..46800d29d
--- /dev/null
+++ b/web/static/images/emoji/1f4fd.png
Binary files differ
diff --git a/web/static/images/emoji/1f4fe.png b/web/static/images/emoji/1f4fe.png
new file mode 100644
index 000000000..f301928e3
--- /dev/null
+++ b/web/static/images/emoji/1f4fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f500.png b/web/static/images/emoji/1f500.png
new file mode 100644
index 000000000..96e03e168
--- /dev/null
+++ b/web/static/images/emoji/1f500.png
Binary files differ
diff --git a/web/static/images/emoji/1f501.png b/web/static/images/emoji/1f501.png
new file mode 100644
index 000000000..8420b4f5d
--- /dev/null
+++ b/web/static/images/emoji/1f501.png
Binary files differ
diff --git a/web/static/images/emoji/1f502.png b/web/static/images/emoji/1f502.png
new file mode 100644
index 000000000..2dacec71a
--- /dev/null
+++ b/web/static/images/emoji/1f502.png
Binary files differ
diff --git a/web/static/images/emoji/1f503.png b/web/static/images/emoji/1f503.png
new file mode 100644
index 000000000..fe7d5bafd
--- /dev/null
+++ b/web/static/images/emoji/1f503.png
Binary files differ
diff --git a/web/static/images/emoji/1f504.png b/web/static/images/emoji/1f504.png
new file mode 100644
index 000000000..7bd4e4d75
--- /dev/null
+++ b/web/static/images/emoji/1f504.png
Binary files differ
diff --git a/web/static/images/emoji/1f505.png b/web/static/images/emoji/1f505.png
new file mode 100644
index 000000000..aecba4603
--- /dev/null
+++ b/web/static/images/emoji/1f505.png
Binary files differ
diff --git a/web/static/images/emoji/1f506.png b/web/static/images/emoji/1f506.png
new file mode 100644
index 000000000..e5f548443
--- /dev/null
+++ b/web/static/images/emoji/1f506.png
Binary files differ
diff --git a/web/static/images/emoji/1f507.png b/web/static/images/emoji/1f507.png
new file mode 100644
index 000000000..04d987046
--- /dev/null
+++ b/web/static/images/emoji/1f507.png
Binary files differ
diff --git a/web/static/images/emoji/1f508.png b/web/static/images/emoji/1f508.png
new file mode 100644
index 000000000..38d5ee391
--- /dev/null
+++ b/web/static/images/emoji/1f508.png
Binary files differ
diff --git a/web/static/images/emoji/1f509.png b/web/static/images/emoji/1f509.png
new file mode 100644
index 000000000..0d7011bcb
--- /dev/null
+++ b/web/static/images/emoji/1f509.png
Binary files differ
diff --git a/web/static/images/emoji/1f50a.png b/web/static/images/emoji/1f50a.png
new file mode 100644
index 000000000..e84702e56
--- /dev/null
+++ b/web/static/images/emoji/1f50a.png
Binary files differ
diff --git a/web/static/images/emoji/1f50b.png b/web/static/images/emoji/1f50b.png
new file mode 100644
index 000000000..9de506348
--- /dev/null
+++ b/web/static/images/emoji/1f50b.png
Binary files differ
diff --git a/web/static/images/emoji/1f50c.png b/web/static/images/emoji/1f50c.png
new file mode 100644
index 000000000..e15d4d5ad
--- /dev/null
+++ b/web/static/images/emoji/1f50c.png
Binary files differ
diff --git a/web/static/images/emoji/1f50d.png b/web/static/images/emoji/1f50d.png
new file mode 100644
index 000000000..99982fbec
--- /dev/null
+++ b/web/static/images/emoji/1f50d.png
Binary files differ
diff --git a/web/static/images/emoji/1f50e.png b/web/static/images/emoji/1f50e.png
new file mode 100644
index 000000000..95d12da0e
--- /dev/null
+++ b/web/static/images/emoji/1f50e.png
Binary files differ
diff --git a/web/static/images/emoji/1f50f.png b/web/static/images/emoji/1f50f.png
new file mode 100644
index 000000000..274d6f888
--- /dev/null
+++ b/web/static/images/emoji/1f50f.png
Binary files differ
diff --git a/web/static/images/emoji/1f510.png b/web/static/images/emoji/1f510.png
new file mode 100644
index 000000000..d2bddb1eb
--- /dev/null
+++ b/web/static/images/emoji/1f510.png
Binary files differ
diff --git a/web/static/images/emoji/1f511.png b/web/static/images/emoji/1f511.png
new file mode 100644
index 000000000..2739df6db
--- /dev/null
+++ b/web/static/images/emoji/1f511.png
Binary files differ
diff --git a/web/static/images/emoji/1f512.png b/web/static/images/emoji/1f512.png
new file mode 100644
index 000000000..f1dc55a1a
--- /dev/null
+++ b/web/static/images/emoji/1f512.png
Binary files differ
diff --git a/web/static/images/emoji/1f513.png b/web/static/images/emoji/1f513.png
new file mode 100644
index 000000000..db05d1b73
--- /dev/null
+++ b/web/static/images/emoji/1f513.png
Binary files differ
diff --git a/web/static/images/emoji/1f514.png b/web/static/images/emoji/1f514.png
new file mode 100644
index 000000000..d1473557e
--- /dev/null
+++ b/web/static/images/emoji/1f514.png
Binary files differ
diff --git a/web/static/images/emoji/1f515.png b/web/static/images/emoji/1f515.png
new file mode 100644
index 000000000..30e8858aa
--- /dev/null
+++ b/web/static/images/emoji/1f515.png
Binary files differ
diff --git a/web/static/images/emoji/1f516.png b/web/static/images/emoji/1f516.png
new file mode 100644
index 000000000..05a3325c8
--- /dev/null
+++ b/web/static/images/emoji/1f516.png
Binary files differ
diff --git a/web/static/images/emoji/1f517.png b/web/static/images/emoji/1f517.png
new file mode 100644
index 000000000..0954f494a
--- /dev/null
+++ b/web/static/images/emoji/1f517.png
Binary files differ
diff --git a/web/static/images/emoji/1f518.png b/web/static/images/emoji/1f518.png
new file mode 100644
index 000000000..bbc36031e
--- /dev/null
+++ b/web/static/images/emoji/1f518.png
Binary files differ
diff --git a/web/static/images/emoji/1f519.png b/web/static/images/emoji/1f519.png
new file mode 100644
index 000000000..13983d277
--- /dev/null
+++ b/web/static/images/emoji/1f519.png
Binary files differ
diff --git a/web/static/images/emoji/1f51a.png b/web/static/images/emoji/1f51a.png
new file mode 100644
index 000000000..03bfb2869
--- /dev/null
+++ b/web/static/images/emoji/1f51a.png
Binary files differ
diff --git a/web/static/images/emoji/1f51b.png b/web/static/images/emoji/1f51b.png
new file mode 100644
index 000000000..3c369cb1d
--- /dev/null
+++ b/web/static/images/emoji/1f51b.png
Binary files differ
diff --git a/web/static/images/emoji/1f51c.png b/web/static/images/emoji/1f51c.png
new file mode 100644
index 000000000..c795ce03f
--- /dev/null
+++ b/web/static/images/emoji/1f51c.png
Binary files differ
diff --git a/web/static/images/emoji/1f51d.png b/web/static/images/emoji/1f51d.png
new file mode 100644
index 000000000..5c6eb3c52
--- /dev/null
+++ b/web/static/images/emoji/1f51d.png
Binary files differ
diff --git a/web/static/images/emoji/1f51e.png b/web/static/images/emoji/1f51e.png
new file mode 100644
index 000000000..603ce57ea
--- /dev/null
+++ b/web/static/images/emoji/1f51e.png
Binary files differ
diff --git a/web/static/images/emoji/1f51f.png b/web/static/images/emoji/1f51f.png
new file mode 100644
index 000000000..5f817b8d6
--- /dev/null
+++ b/web/static/images/emoji/1f51f.png
Binary files differ
diff --git a/web/static/images/emoji/1f520.png b/web/static/images/emoji/1f520.png
new file mode 100644
index 000000000..044554f6f
--- /dev/null
+++ b/web/static/images/emoji/1f520.png
Binary files differ
diff --git a/web/static/images/emoji/1f521.png b/web/static/images/emoji/1f521.png
new file mode 100644
index 000000000..a79d4311d
--- /dev/null
+++ b/web/static/images/emoji/1f521.png
Binary files differ
diff --git a/web/static/images/emoji/1f522.png b/web/static/images/emoji/1f522.png
new file mode 100644
index 000000000..17ec5f12a
--- /dev/null
+++ b/web/static/images/emoji/1f522.png
Binary files differ
diff --git a/web/static/images/emoji/1f523.png b/web/static/images/emoji/1f523.png
new file mode 100644
index 000000000..f1cdcb734
--- /dev/null
+++ b/web/static/images/emoji/1f523.png
Binary files differ
diff --git a/web/static/images/emoji/1f524.png b/web/static/images/emoji/1f524.png
new file mode 100644
index 000000000..51dc1bf76
--- /dev/null
+++ b/web/static/images/emoji/1f524.png
Binary files differ
diff --git a/web/static/images/emoji/1f525.png b/web/static/images/emoji/1f525.png
new file mode 100644
index 000000000..3149ed675
--- /dev/null
+++ b/web/static/images/emoji/1f525.png
Binary files differ
diff --git a/web/static/images/emoji/1f526.png b/web/static/images/emoji/1f526.png
new file mode 100644
index 000000000..3e64a0d0b
--- /dev/null
+++ b/web/static/images/emoji/1f526.png
Binary files differ
diff --git a/web/static/images/emoji/1f527.png b/web/static/images/emoji/1f527.png
new file mode 100644
index 000000000..64a0d6a76
--- /dev/null
+++ b/web/static/images/emoji/1f527.png
Binary files differ
diff --git a/web/static/images/emoji/1f528.png b/web/static/images/emoji/1f528.png
new file mode 100644
index 000000000..6d91d1320
--- /dev/null
+++ b/web/static/images/emoji/1f528.png
Binary files differ
diff --git a/web/static/images/emoji/1f529.png b/web/static/images/emoji/1f529.png
new file mode 100644
index 000000000..fee747a01
--- /dev/null
+++ b/web/static/images/emoji/1f529.png
Binary files differ
diff --git a/web/static/images/emoji/1f52a.png b/web/static/images/emoji/1f52a.png
new file mode 100644
index 000000000..43249ba94
--- /dev/null
+++ b/web/static/images/emoji/1f52a.png
Binary files differ
diff --git a/web/static/images/emoji/1f52b.png b/web/static/images/emoji/1f52b.png
new file mode 100644
index 000000000..f0e6b8fab
--- /dev/null
+++ b/web/static/images/emoji/1f52b.png
Binary files differ
diff --git a/web/static/images/emoji/1f52c.png b/web/static/images/emoji/1f52c.png
new file mode 100644
index 000000000..944293d1e
--- /dev/null
+++ b/web/static/images/emoji/1f52c.png
Binary files differ
diff --git a/web/static/images/emoji/1f52d.png b/web/static/images/emoji/1f52d.png
new file mode 100644
index 000000000..8fc07d50f
--- /dev/null
+++ b/web/static/images/emoji/1f52d.png
Binary files differ
diff --git a/web/static/images/emoji/1f52e.png b/web/static/images/emoji/1f52e.png
new file mode 100644
index 000000000..d9ee3b4f3
--- /dev/null
+++ b/web/static/images/emoji/1f52e.png
Binary files differ
diff --git a/web/static/images/emoji/1f52f.png b/web/static/images/emoji/1f52f.png
new file mode 100644
index 000000000..3b590a628
--- /dev/null
+++ b/web/static/images/emoji/1f52f.png
Binary files differ
diff --git a/web/static/images/emoji/1f530.png b/web/static/images/emoji/1f530.png
new file mode 100644
index 000000000..5f429bf63
--- /dev/null
+++ b/web/static/images/emoji/1f530.png
Binary files differ
diff --git a/web/static/images/emoji/1f531.png b/web/static/images/emoji/1f531.png
new file mode 100644
index 000000000..ae1e0bc88
--- /dev/null
+++ b/web/static/images/emoji/1f531.png
Binary files differ
diff --git a/web/static/images/emoji/1f532.png b/web/static/images/emoji/1f532.png
new file mode 100644
index 000000000..06c68f23e
--- /dev/null
+++ b/web/static/images/emoji/1f532.png
Binary files differ
diff --git a/web/static/images/emoji/1f533.png b/web/static/images/emoji/1f533.png
new file mode 100644
index 000000000..df974d948
--- /dev/null
+++ b/web/static/images/emoji/1f533.png
Binary files differ
diff --git a/web/static/images/emoji/1f534.png b/web/static/images/emoji/1f534.png
new file mode 100644
index 000000000..bd50ae446
--- /dev/null
+++ b/web/static/images/emoji/1f534.png
Binary files differ
diff --git a/web/static/images/emoji/1f535.png b/web/static/images/emoji/1f535.png
new file mode 100644
index 000000000..ddc4e7e59
--- /dev/null
+++ b/web/static/images/emoji/1f535.png
Binary files differ
diff --git a/web/static/images/emoji/1f536.png b/web/static/images/emoji/1f536.png
new file mode 100644
index 000000000..f8c060fd2
--- /dev/null
+++ b/web/static/images/emoji/1f536.png
Binary files differ
diff --git a/web/static/images/emoji/1f537.png b/web/static/images/emoji/1f537.png
new file mode 100644
index 000000000..fbe133557
--- /dev/null
+++ b/web/static/images/emoji/1f537.png
Binary files differ
diff --git a/web/static/images/emoji/1f538.png b/web/static/images/emoji/1f538.png
new file mode 100644
index 000000000..64a03b216
--- /dev/null
+++ b/web/static/images/emoji/1f538.png
Binary files differ
diff --git a/web/static/images/emoji/1f539.png b/web/static/images/emoji/1f539.png
new file mode 100644
index 000000000..9b8ded84a
--- /dev/null
+++ b/web/static/images/emoji/1f539.png
Binary files differ
diff --git a/web/static/images/emoji/1f53a.png b/web/static/images/emoji/1f53a.png
new file mode 100644
index 000000000..b321f2a49
--- /dev/null
+++ b/web/static/images/emoji/1f53a.png
Binary files differ
diff --git a/web/static/images/emoji/1f53b.png b/web/static/images/emoji/1f53b.png
new file mode 100644
index 000000000..4c9586d24
--- /dev/null
+++ b/web/static/images/emoji/1f53b.png
Binary files differ
diff --git a/web/static/images/emoji/1f53c.png b/web/static/images/emoji/1f53c.png
new file mode 100644
index 000000000..7752177fd
--- /dev/null
+++ b/web/static/images/emoji/1f53c.png
Binary files differ
diff --git a/web/static/images/emoji/1f53d.png b/web/static/images/emoji/1f53d.png
new file mode 100644
index 000000000..6694271c4
--- /dev/null
+++ b/web/static/images/emoji/1f53d.png
Binary files differ
diff --git a/web/static/images/emoji/1f546.png b/web/static/images/emoji/1f546.png
new file mode 100644
index 000000000..031328aa2
--- /dev/null
+++ b/web/static/images/emoji/1f546.png
Binary files differ
diff --git a/web/static/images/emoji/1f547.png b/web/static/images/emoji/1f547.png
new file mode 100644
index 000000000..983217302
--- /dev/null
+++ b/web/static/images/emoji/1f547.png
Binary files differ
diff --git a/web/static/images/emoji/1f548.png b/web/static/images/emoji/1f548.png
new file mode 100644
index 000000000..5ceabd8f7
--- /dev/null
+++ b/web/static/images/emoji/1f548.png
Binary files differ
diff --git a/web/static/images/emoji/1f549.png b/web/static/images/emoji/1f549.png
new file mode 100644
index 000000000..52cc9f00e
--- /dev/null
+++ b/web/static/images/emoji/1f549.png
Binary files differ
diff --git a/web/static/images/emoji/1f54a.png b/web/static/images/emoji/1f54a.png
new file mode 100644
index 000000000..e54bfc2b1
--- /dev/null
+++ b/web/static/images/emoji/1f54a.png
Binary files differ
diff --git a/web/static/images/emoji/1f550.png b/web/static/images/emoji/1f550.png
new file mode 100644
index 000000000..980085a07
--- /dev/null
+++ b/web/static/images/emoji/1f550.png
Binary files differ
diff --git a/web/static/images/emoji/1f551.png b/web/static/images/emoji/1f551.png
new file mode 100644
index 000000000..ba411f8f0
--- /dev/null
+++ b/web/static/images/emoji/1f551.png
Binary files differ
diff --git a/web/static/images/emoji/1f552.png b/web/static/images/emoji/1f552.png
new file mode 100644
index 000000000..7978c4251
--- /dev/null
+++ b/web/static/images/emoji/1f552.png
Binary files differ
diff --git a/web/static/images/emoji/1f553.png b/web/static/images/emoji/1f553.png
new file mode 100644
index 000000000..4cfceb291
--- /dev/null
+++ b/web/static/images/emoji/1f553.png
Binary files differ
diff --git a/web/static/images/emoji/1f554.png b/web/static/images/emoji/1f554.png
new file mode 100644
index 000000000..403b99fb2
--- /dev/null
+++ b/web/static/images/emoji/1f554.png
Binary files differ
diff --git a/web/static/images/emoji/1f555.png b/web/static/images/emoji/1f555.png
new file mode 100644
index 000000000..008ac2b9e
--- /dev/null
+++ b/web/static/images/emoji/1f555.png
Binary files differ
diff --git a/web/static/images/emoji/1f556.png b/web/static/images/emoji/1f556.png
new file mode 100644
index 000000000..067d11165
--- /dev/null
+++ b/web/static/images/emoji/1f556.png
Binary files differ
diff --git a/web/static/images/emoji/1f557.png b/web/static/images/emoji/1f557.png
new file mode 100644
index 000000000..c4bdc4080
--- /dev/null
+++ b/web/static/images/emoji/1f557.png
Binary files differ
diff --git a/web/static/images/emoji/1f558.png b/web/static/images/emoji/1f558.png
new file mode 100644
index 000000000..467de0ba5
--- /dev/null
+++ b/web/static/images/emoji/1f558.png
Binary files differ
diff --git a/web/static/images/emoji/1f559.png b/web/static/images/emoji/1f559.png
new file mode 100644
index 000000000..90f1576d2
--- /dev/null
+++ b/web/static/images/emoji/1f559.png
Binary files differ
diff --git a/web/static/images/emoji/1f55a.png b/web/static/images/emoji/1f55a.png
new file mode 100644
index 000000000..918ba245f
--- /dev/null
+++ b/web/static/images/emoji/1f55a.png
Binary files differ
diff --git a/web/static/images/emoji/1f55b.png b/web/static/images/emoji/1f55b.png
new file mode 100644
index 000000000..d5848e629
--- /dev/null
+++ b/web/static/images/emoji/1f55b.png
Binary files differ
diff --git a/web/static/images/emoji/1f55c.png b/web/static/images/emoji/1f55c.png
new file mode 100644
index 000000000..c4675548d
--- /dev/null
+++ b/web/static/images/emoji/1f55c.png
Binary files differ
diff --git a/web/static/images/emoji/1f55d.png b/web/static/images/emoji/1f55d.png
new file mode 100644
index 000000000..5482453d1
--- /dev/null
+++ b/web/static/images/emoji/1f55d.png
Binary files differ
diff --git a/web/static/images/emoji/1f55e.png b/web/static/images/emoji/1f55e.png
new file mode 100644
index 000000000..f66421993
--- /dev/null
+++ b/web/static/images/emoji/1f55e.png
Binary files differ
diff --git a/web/static/images/emoji/1f55f.png b/web/static/images/emoji/1f55f.png
new file mode 100644
index 000000000..b93f01e67
--- /dev/null
+++ b/web/static/images/emoji/1f55f.png
Binary files differ
diff --git a/web/static/images/emoji/1f560.png b/web/static/images/emoji/1f560.png
new file mode 100644
index 000000000..b2ad07307
--- /dev/null
+++ b/web/static/images/emoji/1f560.png
Binary files differ
diff --git a/web/static/images/emoji/1f561.png b/web/static/images/emoji/1f561.png
new file mode 100644
index 000000000..dbabd4eb9
--- /dev/null
+++ b/web/static/images/emoji/1f561.png
Binary files differ
diff --git a/web/static/images/emoji/1f562.png b/web/static/images/emoji/1f562.png
new file mode 100644
index 000000000..415894eda
--- /dev/null
+++ b/web/static/images/emoji/1f562.png
Binary files differ
diff --git a/web/static/images/emoji/1f563.png b/web/static/images/emoji/1f563.png
new file mode 100644
index 000000000..8e899ad48
--- /dev/null
+++ b/web/static/images/emoji/1f563.png
Binary files differ
diff --git a/web/static/images/emoji/1f564.png b/web/static/images/emoji/1f564.png
new file mode 100644
index 000000000..d9c91203c
--- /dev/null
+++ b/web/static/images/emoji/1f564.png
Binary files differ
diff --git a/web/static/images/emoji/1f565.png b/web/static/images/emoji/1f565.png
new file mode 100644
index 000000000..c530b7db4
--- /dev/null
+++ b/web/static/images/emoji/1f565.png
Binary files differ
diff --git a/web/static/images/emoji/1f566.png b/web/static/images/emoji/1f566.png
new file mode 100644
index 000000000..e39bbbbb1
--- /dev/null
+++ b/web/static/images/emoji/1f566.png
Binary files differ
diff --git a/web/static/images/emoji/1f567.png b/web/static/images/emoji/1f567.png
new file mode 100644
index 000000000..f67ed85f3
--- /dev/null
+++ b/web/static/images/emoji/1f567.png
Binary files differ
diff --git a/web/static/images/emoji/1f568.png b/web/static/images/emoji/1f568.png
new file mode 100644
index 000000000..2d90e65b3
--- /dev/null
+++ b/web/static/images/emoji/1f568.png
Binary files differ
diff --git a/web/static/images/emoji/1f569.png b/web/static/images/emoji/1f569.png
new file mode 100644
index 000000000..32b23d789
--- /dev/null
+++ b/web/static/images/emoji/1f569.png
Binary files differ
diff --git a/web/static/images/emoji/1f56a.png b/web/static/images/emoji/1f56a.png
new file mode 100644
index 000000000..80fda89dd
--- /dev/null
+++ b/web/static/images/emoji/1f56a.png
Binary files differ
diff --git a/web/static/images/emoji/1f56b.png b/web/static/images/emoji/1f56b.png
new file mode 100644
index 000000000..0101d8785
--- /dev/null
+++ b/web/static/images/emoji/1f56b.png
Binary files differ
diff --git a/web/static/images/emoji/1f56c.png b/web/static/images/emoji/1f56c.png
new file mode 100644
index 000000000..9cb585d4a
--- /dev/null
+++ b/web/static/images/emoji/1f56c.png
Binary files differ
diff --git a/web/static/images/emoji/1f56d.png b/web/static/images/emoji/1f56d.png
new file mode 100644
index 000000000..da703c458
--- /dev/null
+++ b/web/static/images/emoji/1f56d.png
Binary files differ
diff --git a/web/static/images/emoji/1f56e.png b/web/static/images/emoji/1f56e.png
new file mode 100644
index 000000000..2f69b084b
--- /dev/null
+++ b/web/static/images/emoji/1f56e.png
Binary files differ
diff --git a/web/static/images/emoji/1f56f.png b/web/static/images/emoji/1f56f.png
new file mode 100644
index 000000000..d3395073a
--- /dev/null
+++ b/web/static/images/emoji/1f56f.png
Binary files differ
diff --git a/web/static/images/emoji/1f570.png b/web/static/images/emoji/1f570.png
new file mode 100644
index 000000000..f944ec0c6
--- /dev/null
+++ b/web/static/images/emoji/1f570.png
Binary files differ
diff --git a/web/static/images/emoji/1f571.png b/web/static/images/emoji/1f571.png
new file mode 100644
index 000000000..e7df45a04
--- /dev/null
+++ b/web/static/images/emoji/1f571.png
Binary files differ
diff --git a/web/static/images/emoji/1f572.png b/web/static/images/emoji/1f572.png
new file mode 100644
index 000000000..f2b6fd31e
--- /dev/null
+++ b/web/static/images/emoji/1f572.png
Binary files differ
diff --git a/web/static/images/emoji/1f573.png b/web/static/images/emoji/1f573.png
new file mode 100644
index 000000000..ca20daa89
--- /dev/null
+++ b/web/static/images/emoji/1f573.png
Binary files differ
diff --git a/web/static/images/emoji/1f574.png b/web/static/images/emoji/1f574.png
new file mode 100644
index 000000000..1c526acbe
--- /dev/null
+++ b/web/static/images/emoji/1f574.png
Binary files differ
diff --git a/web/static/images/emoji/1f575.png b/web/static/images/emoji/1f575.png
new file mode 100644
index 000000000..9ee45b37b
--- /dev/null
+++ b/web/static/images/emoji/1f575.png
Binary files differ
diff --git a/web/static/images/emoji/1f576.png b/web/static/images/emoji/1f576.png
new file mode 100644
index 000000000..6ed2172a0
--- /dev/null
+++ b/web/static/images/emoji/1f576.png
Binary files differ
diff --git a/web/static/images/emoji/1f577.png b/web/static/images/emoji/1f577.png
new file mode 100644
index 000000000..9e1fe5441
--- /dev/null
+++ b/web/static/images/emoji/1f577.png
Binary files differ
diff --git a/web/static/images/emoji/1f578.png b/web/static/images/emoji/1f578.png
new file mode 100644
index 000000000..edad19093
--- /dev/null
+++ b/web/static/images/emoji/1f578.png
Binary files differ
diff --git a/web/static/images/emoji/1f579.png b/web/static/images/emoji/1f579.png
new file mode 100644
index 000000000..6808f30fb
--- /dev/null
+++ b/web/static/images/emoji/1f579.png
Binary files differ
diff --git a/web/static/images/emoji/1f57b.png b/web/static/images/emoji/1f57b.png
new file mode 100644
index 000000000..172c5fcd3
--- /dev/null
+++ b/web/static/images/emoji/1f57b.png
Binary files differ
diff --git a/web/static/images/emoji/1f57e.png b/web/static/images/emoji/1f57e.png
new file mode 100644
index 000000000..9f66689a1
--- /dev/null
+++ b/web/static/images/emoji/1f57e.png
Binary files differ
diff --git a/web/static/images/emoji/1f57f.png b/web/static/images/emoji/1f57f.png
new file mode 100644
index 000000000..0e3b2c3da
--- /dev/null
+++ b/web/static/images/emoji/1f57f.png
Binary files differ
diff --git a/web/static/images/emoji/1f581.png b/web/static/images/emoji/1f581.png
new file mode 100644
index 000000000..1b6d000b2
--- /dev/null
+++ b/web/static/images/emoji/1f581.png
Binary files differ
diff --git a/web/static/images/emoji/1f582.png b/web/static/images/emoji/1f582.png
new file mode 100644
index 000000000..ebc29b0a1
--- /dev/null
+++ b/web/static/images/emoji/1f582.png
Binary files differ
diff --git a/web/static/images/emoji/1f583.png b/web/static/images/emoji/1f583.png
new file mode 100644
index 000000000..77ad89fa7
--- /dev/null
+++ b/web/static/images/emoji/1f583.png
Binary files differ
diff --git a/web/static/images/emoji/1f585.png b/web/static/images/emoji/1f585.png
new file mode 100644
index 000000000..777f35a89
--- /dev/null
+++ b/web/static/images/emoji/1f585.png
Binary files differ
diff --git a/web/static/images/emoji/1f586.png b/web/static/images/emoji/1f586.png
new file mode 100644
index 000000000..dde00d62f
--- /dev/null
+++ b/web/static/images/emoji/1f586.png
Binary files differ
diff --git a/web/static/images/emoji/1f587.png b/web/static/images/emoji/1f587.png
new file mode 100644
index 000000000..e449161de
--- /dev/null
+++ b/web/static/images/emoji/1f587.png
Binary files differ
diff --git a/web/static/images/emoji/1f588.png b/web/static/images/emoji/1f588.png
new file mode 100644
index 000000000..8036d6cbe
--- /dev/null
+++ b/web/static/images/emoji/1f588.png
Binary files differ
diff --git a/web/static/images/emoji/1f589.png b/web/static/images/emoji/1f589.png
new file mode 100644
index 000000000..d11de2bf0
--- /dev/null
+++ b/web/static/images/emoji/1f589.png
Binary files differ
diff --git a/web/static/images/emoji/1f58a.png b/web/static/images/emoji/1f58a.png
new file mode 100644
index 000000000..b363fd8bd
--- /dev/null
+++ b/web/static/images/emoji/1f58a.png
Binary files differ
diff --git a/web/static/images/emoji/1f58b.png b/web/static/images/emoji/1f58b.png
new file mode 100644
index 000000000..0b4301c18
--- /dev/null
+++ b/web/static/images/emoji/1f58b.png
Binary files differ
diff --git a/web/static/images/emoji/1f58c.png b/web/static/images/emoji/1f58c.png
new file mode 100644
index 000000000..49eab81fa
--- /dev/null
+++ b/web/static/images/emoji/1f58c.png
Binary files differ
diff --git a/web/static/images/emoji/1f58d.png b/web/static/images/emoji/1f58d.png
new file mode 100644
index 000000000..3d8392f9b
--- /dev/null
+++ b/web/static/images/emoji/1f58d.png
Binary files differ
diff --git a/web/static/images/emoji/1f58e.png b/web/static/images/emoji/1f58e.png
new file mode 100644
index 000000000..629bd17a2
--- /dev/null
+++ b/web/static/images/emoji/1f58e.png
Binary files differ
diff --git a/web/static/images/emoji/1f58f.png b/web/static/images/emoji/1f58f.png
new file mode 100644
index 000000000..1e20ede48
--- /dev/null
+++ b/web/static/images/emoji/1f58f.png
Binary files differ
diff --git a/web/static/images/emoji/1f590.png b/web/static/images/emoji/1f590.png
new file mode 100644
index 000000000..09046e201
--- /dev/null
+++ b/web/static/images/emoji/1f590.png
Binary files differ
diff --git a/web/static/images/emoji/1f591.png b/web/static/images/emoji/1f591.png
new file mode 100644
index 000000000..e7d29d8fe
--- /dev/null
+++ b/web/static/images/emoji/1f591.png
Binary files differ
diff --git a/web/static/images/emoji/1f592.png b/web/static/images/emoji/1f592.png
new file mode 100644
index 000000000..c39f3300e
--- /dev/null
+++ b/web/static/images/emoji/1f592.png
Binary files differ
diff --git a/web/static/images/emoji/1f593.png b/web/static/images/emoji/1f593.png
new file mode 100644
index 000000000..ebcdca18a
--- /dev/null
+++ b/web/static/images/emoji/1f593.png
Binary files differ
diff --git a/web/static/images/emoji/1f594.png b/web/static/images/emoji/1f594.png
new file mode 100644
index 000000000..a5dadf257
--- /dev/null
+++ b/web/static/images/emoji/1f594.png
Binary files differ
diff --git a/web/static/images/emoji/1f595.png b/web/static/images/emoji/1f595.png
new file mode 100644
index 000000000..c4e5d4a91
--- /dev/null
+++ b/web/static/images/emoji/1f595.png
Binary files differ
diff --git a/web/static/images/emoji/1f596.png b/web/static/images/emoji/1f596.png
new file mode 100644
index 000000000..88e8765e0
--- /dev/null
+++ b/web/static/images/emoji/1f596.png
Binary files differ
diff --git a/web/static/images/emoji/1f597.png b/web/static/images/emoji/1f597.png
new file mode 100644
index 000000000..18468bc88
--- /dev/null
+++ b/web/static/images/emoji/1f597.png
Binary files differ
diff --git a/web/static/images/emoji/1f598.png b/web/static/images/emoji/1f598.png
new file mode 100644
index 000000000..1abfbc5f6
--- /dev/null
+++ b/web/static/images/emoji/1f598.png
Binary files differ
diff --git a/web/static/images/emoji/1f599.png b/web/static/images/emoji/1f599.png
new file mode 100644
index 000000000..5ea3694d6
--- /dev/null
+++ b/web/static/images/emoji/1f599.png
Binary files differ
diff --git a/web/static/images/emoji/1f59e.png b/web/static/images/emoji/1f59e.png
new file mode 100644
index 000000000..ef514b6fc
--- /dev/null
+++ b/web/static/images/emoji/1f59e.png
Binary files differ
diff --git a/web/static/images/emoji/1f59f.png b/web/static/images/emoji/1f59f.png
new file mode 100644
index 000000000..8a1a419ab
--- /dev/null
+++ b/web/static/images/emoji/1f59f.png
Binary files differ
diff --git a/web/static/images/emoji/1f5a5.png b/web/static/images/emoji/1f5a5.png
new file mode 100644
index 000000000..59fc83484
--- /dev/null
+++ b/web/static/images/emoji/1f5a5.png
Binary files differ
diff --git a/web/static/images/emoji/1f5a6.png b/web/static/images/emoji/1f5a6.png
new file mode 100644
index 000000000..ed5be833c
--- /dev/null
+++ b/web/static/images/emoji/1f5a6.png
Binary files differ
diff --git a/web/static/images/emoji/1f5a7.png b/web/static/images/emoji/1f5a7.png
new file mode 100644
index 000000000..c4bf3dc41
--- /dev/null
+++ b/web/static/images/emoji/1f5a7.png
Binary files differ
diff --git a/web/static/images/emoji/1f5a8.png b/web/static/images/emoji/1f5a8.png
new file mode 100644
index 000000000..8d6002d7b
--- /dev/null
+++ b/web/static/images/emoji/1f5a8.png
Binary files differ
diff --git a/web/static/images/emoji/1f5a9.png b/web/static/images/emoji/1f5a9.png
new file mode 100644
index 000000000..2de66973b
--- /dev/null
+++ b/web/static/images/emoji/1f5a9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5aa.png b/web/static/images/emoji/1f5aa.png
new file mode 100644
index 000000000..248d29edd
--- /dev/null
+++ b/web/static/images/emoji/1f5aa.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ab.png b/web/static/images/emoji/1f5ab.png
new file mode 100644
index 000000000..1bc1a86aa
--- /dev/null
+++ b/web/static/images/emoji/1f5ab.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ad.png b/web/static/images/emoji/1f5ad.png
new file mode 100644
index 000000000..7d58690b1
--- /dev/null
+++ b/web/static/images/emoji/1f5ad.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ae.png b/web/static/images/emoji/1f5ae.png
new file mode 100644
index 000000000..a603a417b
--- /dev/null
+++ b/web/static/images/emoji/1f5ae.png
Binary files differ
diff --git a/web/static/images/emoji/1f5af.png b/web/static/images/emoji/1f5af.png
new file mode 100644
index 000000000..2594e627b
--- /dev/null
+++ b/web/static/images/emoji/1f5af.png
Binary files differ
diff --git a/web/static/images/emoji/1f5b2.png b/web/static/images/emoji/1f5b2.png
new file mode 100644
index 000000000..3ecf9b87b
--- /dev/null
+++ b/web/static/images/emoji/1f5b2.png
Binary files differ
diff --git a/web/static/images/emoji/1f5b3.png b/web/static/images/emoji/1f5b3.png
new file mode 100644
index 000000000..548314b95
--- /dev/null
+++ b/web/static/images/emoji/1f5b3.png
Binary files differ
diff --git a/web/static/images/emoji/1f5b4.png b/web/static/images/emoji/1f5b4.png
new file mode 100644
index 000000000..c7b052aa3
--- /dev/null
+++ b/web/static/images/emoji/1f5b4.png
Binary files differ
diff --git a/web/static/images/emoji/1f5b8.png b/web/static/images/emoji/1f5b8.png
new file mode 100644
index 000000000..471074beb
--- /dev/null
+++ b/web/static/images/emoji/1f5b8.png
Binary files differ
diff --git a/web/static/images/emoji/1f5b9.png b/web/static/images/emoji/1f5b9.png
new file mode 100644
index 000000000..3da781788
--- /dev/null
+++ b/web/static/images/emoji/1f5b9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5bc.png b/web/static/images/emoji/1f5bc.png
new file mode 100644
index 000000000..d2950ba9b
--- /dev/null
+++ b/web/static/images/emoji/1f5bc.png
Binary files differ
diff --git a/web/static/images/emoji/1f5bd.png b/web/static/images/emoji/1f5bd.png
new file mode 100644
index 000000000..d88582cd4
--- /dev/null
+++ b/web/static/images/emoji/1f5bd.png
Binary files differ
diff --git a/web/static/images/emoji/1f5be.png b/web/static/images/emoji/1f5be.png
new file mode 100644
index 000000000..a768f6c67
--- /dev/null
+++ b/web/static/images/emoji/1f5be.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c0.png b/web/static/images/emoji/1f5c0.png
new file mode 100644
index 000000000..e0178906c
--- /dev/null
+++ b/web/static/images/emoji/1f5c0.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c1.png b/web/static/images/emoji/1f5c1.png
new file mode 100644
index 000000000..bbdadc9b4
--- /dev/null
+++ b/web/static/images/emoji/1f5c1.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c2.png b/web/static/images/emoji/1f5c2.png
new file mode 100644
index 000000000..b22199edd
--- /dev/null
+++ b/web/static/images/emoji/1f5c2.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c3.png b/web/static/images/emoji/1f5c3.png
new file mode 100644
index 000000000..c9278f336
--- /dev/null
+++ b/web/static/images/emoji/1f5c3.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c4.png b/web/static/images/emoji/1f5c4.png
new file mode 100644
index 000000000..e45c65729
--- /dev/null
+++ b/web/static/images/emoji/1f5c4.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c6.png b/web/static/images/emoji/1f5c6.png
new file mode 100644
index 000000000..8b62bb697
--- /dev/null
+++ b/web/static/images/emoji/1f5c6.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c7.png b/web/static/images/emoji/1f5c7.png
new file mode 100644
index 000000000..1dc65dea6
--- /dev/null
+++ b/web/static/images/emoji/1f5c7.png
Binary files differ
diff --git a/web/static/images/emoji/1f5c9.png b/web/static/images/emoji/1f5c9.png
new file mode 100644
index 000000000..b435ba36c
--- /dev/null
+++ b/web/static/images/emoji/1f5c9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ca.png b/web/static/images/emoji/1f5ca.png
new file mode 100644
index 000000000..868d40990
--- /dev/null
+++ b/web/static/images/emoji/1f5ca.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ce.png b/web/static/images/emoji/1f5ce.png
new file mode 100644
index 000000000..1ef3ab963
--- /dev/null
+++ b/web/static/images/emoji/1f5ce.png
Binary files differ
diff --git a/web/static/images/emoji/1f5cf.png b/web/static/images/emoji/1f5cf.png
new file mode 100644
index 000000000..5c7c06403
--- /dev/null
+++ b/web/static/images/emoji/1f5cf.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d0.png b/web/static/images/emoji/1f5d0.png
new file mode 100644
index 000000000..7d59ccd2d
--- /dev/null
+++ b/web/static/images/emoji/1f5d0.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d1.png b/web/static/images/emoji/1f5d1.png
new file mode 100644
index 000000000..3baef5973
--- /dev/null
+++ b/web/static/images/emoji/1f5d1.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d2.png b/web/static/images/emoji/1f5d2.png
new file mode 100644
index 000000000..28bc54348
--- /dev/null
+++ b/web/static/images/emoji/1f5d2.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d3.png b/web/static/images/emoji/1f5d3.png
new file mode 100644
index 000000000..ce73aecfa
--- /dev/null
+++ b/web/static/images/emoji/1f5d3.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d4.png b/web/static/images/emoji/1f5d4.png
new file mode 100644
index 000000000..237192814
--- /dev/null
+++ b/web/static/images/emoji/1f5d4.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d8.png b/web/static/images/emoji/1f5d8.png
new file mode 100644
index 000000000..65b6a0ad9
--- /dev/null
+++ b/web/static/images/emoji/1f5d8.png
Binary files differ
diff --git a/web/static/images/emoji/1f5d9.png b/web/static/images/emoji/1f5d9.png
new file mode 100644
index 000000000..75c08401d
--- /dev/null
+++ b/web/static/images/emoji/1f5d9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5dc.png b/web/static/images/emoji/1f5dc.png
new file mode 100644
index 000000000..08c06264e
--- /dev/null
+++ b/web/static/images/emoji/1f5dc.png
Binary files differ
diff --git a/web/static/images/emoji/1f5dd.png b/web/static/images/emoji/1f5dd.png
new file mode 100644
index 000000000..d153b6888
--- /dev/null
+++ b/web/static/images/emoji/1f5dd.png
Binary files differ
diff --git a/web/static/images/emoji/1f5de.png b/web/static/images/emoji/1f5de.png
new file mode 100644
index 000000000..4254eb5f2
--- /dev/null
+++ b/web/static/images/emoji/1f5de.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e0.png b/web/static/images/emoji/1f5e0.png
new file mode 100644
index 000000000..d60c9803e
--- /dev/null
+++ b/web/static/images/emoji/1f5e0.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e1.png b/web/static/images/emoji/1f5e1.png
new file mode 100644
index 000000000..8bfeac95d
--- /dev/null
+++ b/web/static/images/emoji/1f5e1.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e2.png b/web/static/images/emoji/1f5e2.png
new file mode 100644
index 000000000..50f2cac22
--- /dev/null
+++ b/web/static/images/emoji/1f5e2.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e3.png b/web/static/images/emoji/1f5e3.png
new file mode 100644
index 000000000..137a3c4c5
--- /dev/null
+++ b/web/static/images/emoji/1f5e3.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e8.png b/web/static/images/emoji/1f5e8.png
new file mode 100644
index 000000000..81313baae
--- /dev/null
+++ b/web/static/images/emoji/1f5e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f5e9.png b/web/static/images/emoji/1f5e9.png
new file mode 100644
index 000000000..4644940a0
--- /dev/null
+++ b/web/static/images/emoji/1f5e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ea.png b/web/static/images/emoji/1f5ea.png
new file mode 100644
index 000000000..41b490e79
--- /dev/null
+++ b/web/static/images/emoji/1f5ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f5eb.png b/web/static/images/emoji/1f5eb.png
new file mode 100644
index 000000000..5b054548e
--- /dev/null
+++ b/web/static/images/emoji/1f5eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ec.png b/web/static/images/emoji/1f5ec.png
new file mode 100644
index 000000000..6d905ed80
--- /dev/null
+++ b/web/static/images/emoji/1f5ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ed.png b/web/static/images/emoji/1f5ed.png
new file mode 100644
index 000000000..3ea461a24
--- /dev/null
+++ b/web/static/images/emoji/1f5ed.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ee.png b/web/static/images/emoji/1f5ee.png
new file mode 100644
index 000000000..c4a4a073c
--- /dev/null
+++ b/web/static/images/emoji/1f5ee.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ef.png b/web/static/images/emoji/1f5ef.png
new file mode 100644
index 000000000..8e25fa6b4
--- /dev/null
+++ b/web/static/images/emoji/1f5ef.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f0.png b/web/static/images/emoji/1f5f0.png
new file mode 100644
index 000000000..f99be5272
--- /dev/null
+++ b/web/static/images/emoji/1f5f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f1.png b/web/static/images/emoji/1f5f1.png
new file mode 100644
index 000000000..6bdf533f1
--- /dev/null
+++ b/web/static/images/emoji/1f5f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f2.png b/web/static/images/emoji/1f5f2.png
new file mode 100644
index 000000000..67dfb3633
--- /dev/null
+++ b/web/static/images/emoji/1f5f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f3.png b/web/static/images/emoji/1f5f3.png
new file mode 100644
index 000000000..e97e4727e
--- /dev/null
+++ b/web/static/images/emoji/1f5f3.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f4.png b/web/static/images/emoji/1f5f4.png
new file mode 100644
index 000000000..431df8e24
--- /dev/null
+++ b/web/static/images/emoji/1f5f4.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f5.png b/web/static/images/emoji/1f5f5.png
new file mode 100644
index 000000000..260410821
--- /dev/null
+++ b/web/static/images/emoji/1f5f5.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f8.png b/web/static/images/emoji/1f5f8.png
new file mode 100644
index 000000000..350aaaa3e
--- /dev/null
+++ b/web/static/images/emoji/1f5f8.png
Binary files differ
diff --git a/web/static/images/emoji/1f5f9.png b/web/static/images/emoji/1f5f9.png
new file mode 100644
index 000000000..ecbc97fa4
--- /dev/null
+++ b/web/static/images/emoji/1f5f9.png
Binary files differ
diff --git a/web/static/images/emoji/1f5fa.png b/web/static/images/emoji/1f5fa.png
new file mode 100644
index 000000000..799747f8f
--- /dev/null
+++ b/web/static/images/emoji/1f5fa.png
Binary files differ
diff --git a/web/static/images/emoji/1f5fb.png b/web/static/images/emoji/1f5fb.png
new file mode 100644
index 000000000..51d1aeab1
--- /dev/null
+++ b/web/static/images/emoji/1f5fb.png
Binary files differ
diff --git a/web/static/images/emoji/1f5fc.png b/web/static/images/emoji/1f5fc.png
new file mode 100644
index 000000000..8833f08a5
--- /dev/null
+++ b/web/static/images/emoji/1f5fc.png
Binary files differ
diff --git a/web/static/images/emoji/1f5fd.png b/web/static/images/emoji/1f5fd.png
new file mode 100644
index 000000000..709fd6bff
--- /dev/null
+++ b/web/static/images/emoji/1f5fd.png
Binary files differ
diff --git a/web/static/images/emoji/1f5fe.png b/web/static/images/emoji/1f5fe.png
new file mode 100644
index 000000000..79bb896f9
--- /dev/null
+++ b/web/static/images/emoji/1f5fe.png
Binary files differ
diff --git a/web/static/images/emoji/1f5ff.png b/web/static/images/emoji/1f5ff.png
new file mode 100644
index 000000000..247d34e25
--- /dev/null
+++ b/web/static/images/emoji/1f5ff.png
Binary files differ
diff --git a/web/static/images/emoji/1f600.png b/web/static/images/emoji/1f600.png
new file mode 100644
index 000000000..1a5edc7be
--- /dev/null
+++ b/web/static/images/emoji/1f600.png
Binary files differ
diff --git a/web/static/images/emoji/1f601.png b/web/static/images/emoji/1f601.png
new file mode 100644
index 000000000..bf4d098b9
--- /dev/null
+++ b/web/static/images/emoji/1f601.png
Binary files differ
diff --git a/web/static/images/emoji/1f602.png b/web/static/images/emoji/1f602.png
new file mode 100644
index 000000000..bc1abb7a4
--- /dev/null
+++ b/web/static/images/emoji/1f602.png
Binary files differ
diff --git a/web/static/images/emoji/1f603.png b/web/static/images/emoji/1f603.png
new file mode 100644
index 000000000..eb281633c
--- /dev/null
+++ b/web/static/images/emoji/1f603.png
Binary files differ
diff --git a/web/static/images/emoji/1f604.png b/web/static/images/emoji/1f604.png
new file mode 100644
index 000000000..63beffb17
--- /dev/null
+++ b/web/static/images/emoji/1f604.png
Binary files differ
diff --git a/web/static/images/emoji/1f605.png b/web/static/images/emoji/1f605.png
new file mode 100644
index 000000000..691ffa771
--- /dev/null
+++ b/web/static/images/emoji/1f605.png
Binary files differ
diff --git a/web/static/images/emoji/1f606.png b/web/static/images/emoji/1f606.png
new file mode 100644
index 000000000..d7e70b1a4
--- /dev/null
+++ b/web/static/images/emoji/1f606.png
Binary files differ
diff --git a/web/static/images/emoji/1f607.png b/web/static/images/emoji/1f607.png
new file mode 100644
index 000000000..1c449201d
--- /dev/null
+++ b/web/static/images/emoji/1f607.png
Binary files differ
diff --git a/web/static/images/emoji/1f608.png b/web/static/images/emoji/1f608.png
new file mode 100644
index 000000000..6e36a04e7
--- /dev/null
+++ b/web/static/images/emoji/1f608.png
Binary files differ
diff --git a/web/static/images/emoji/1f609.png b/web/static/images/emoji/1f609.png
new file mode 100644
index 000000000..d2ae627f7
--- /dev/null
+++ b/web/static/images/emoji/1f609.png
Binary files differ
diff --git a/web/static/images/emoji/1f60a.png b/web/static/images/emoji/1f60a.png
new file mode 100644
index 000000000..1733df545
--- /dev/null
+++ b/web/static/images/emoji/1f60a.png
Binary files differ
diff --git a/web/static/images/emoji/1f60b.png b/web/static/images/emoji/1f60b.png
new file mode 100644
index 000000000..7a353a7e8
--- /dev/null
+++ b/web/static/images/emoji/1f60b.png
Binary files differ
diff --git a/web/static/images/emoji/1f60c.png b/web/static/images/emoji/1f60c.png
new file mode 100644
index 000000000..3cb7aeced
--- /dev/null
+++ b/web/static/images/emoji/1f60c.png
Binary files differ
diff --git a/web/static/images/emoji/1f60d.png b/web/static/images/emoji/1f60d.png
new file mode 100644
index 000000000..c48431cb8
--- /dev/null
+++ b/web/static/images/emoji/1f60d.png
Binary files differ
diff --git a/web/static/images/emoji/1f60e.png b/web/static/images/emoji/1f60e.png
new file mode 100644
index 000000000..6d97948de
--- /dev/null
+++ b/web/static/images/emoji/1f60e.png
Binary files differ
diff --git a/web/static/images/emoji/1f60f.png b/web/static/images/emoji/1f60f.png
new file mode 100644
index 000000000..c7b1ac127
--- /dev/null
+++ b/web/static/images/emoji/1f60f.png
Binary files differ
diff --git a/web/static/images/emoji/1f610.png b/web/static/images/emoji/1f610.png
new file mode 100644
index 000000000..6cabdf2f4
--- /dev/null
+++ b/web/static/images/emoji/1f610.png
Binary files differ
diff --git a/web/static/images/emoji/1f611.png b/web/static/images/emoji/1f611.png
new file mode 100644
index 000000000..404129c98
--- /dev/null
+++ b/web/static/images/emoji/1f611.png
Binary files differ
diff --git a/web/static/images/emoji/1f612.png b/web/static/images/emoji/1f612.png
new file mode 100644
index 000000000..9d406ca65
--- /dev/null
+++ b/web/static/images/emoji/1f612.png
Binary files differ
diff --git a/web/static/images/emoji/1f613.png b/web/static/images/emoji/1f613.png
new file mode 100644
index 000000000..1c590918c
--- /dev/null
+++ b/web/static/images/emoji/1f613.png
Binary files differ
diff --git a/web/static/images/emoji/1f614.png b/web/static/images/emoji/1f614.png
new file mode 100644
index 000000000..ac55cb0f6
--- /dev/null
+++ b/web/static/images/emoji/1f614.png
Binary files differ
diff --git a/web/static/images/emoji/1f615.png b/web/static/images/emoji/1f615.png
new file mode 100644
index 000000000..6bb66752f
--- /dev/null
+++ b/web/static/images/emoji/1f615.png
Binary files differ
diff --git a/web/static/images/emoji/1f616.png b/web/static/images/emoji/1f616.png
new file mode 100644
index 000000000..da0e1cad0
--- /dev/null
+++ b/web/static/images/emoji/1f616.png
Binary files differ
diff --git a/web/static/images/emoji/1f617.png b/web/static/images/emoji/1f617.png
new file mode 100644
index 000000000..b00212407
--- /dev/null
+++ b/web/static/images/emoji/1f617.png
Binary files differ
diff --git a/web/static/images/emoji/1f618.png b/web/static/images/emoji/1f618.png
new file mode 100644
index 000000000..834ee8ec9
--- /dev/null
+++ b/web/static/images/emoji/1f618.png
Binary files differ
diff --git a/web/static/images/emoji/1f619.png b/web/static/images/emoji/1f619.png
new file mode 100644
index 000000000..7cbac1bf0
--- /dev/null
+++ b/web/static/images/emoji/1f619.png
Binary files differ
diff --git a/web/static/images/emoji/1f61a.png b/web/static/images/emoji/1f61a.png
new file mode 100644
index 000000000..523ef0453
--- /dev/null
+++ b/web/static/images/emoji/1f61a.png
Binary files differ
diff --git a/web/static/images/emoji/1f61b.png b/web/static/images/emoji/1f61b.png
new file mode 100644
index 000000000..3fa455255
--- /dev/null
+++ b/web/static/images/emoji/1f61b.png
Binary files differ
diff --git a/web/static/images/emoji/1f61c.png b/web/static/images/emoji/1f61c.png
new file mode 100644
index 000000000..a93847556
--- /dev/null
+++ b/web/static/images/emoji/1f61c.png
Binary files differ
diff --git a/web/static/images/emoji/1f61d.png b/web/static/images/emoji/1f61d.png
new file mode 100644
index 000000000..b599a5f57
--- /dev/null
+++ b/web/static/images/emoji/1f61d.png
Binary files differ
diff --git a/web/static/images/emoji/1f61e.png b/web/static/images/emoji/1f61e.png
new file mode 100644
index 000000000..9643415e6
--- /dev/null
+++ b/web/static/images/emoji/1f61e.png
Binary files differ
diff --git a/web/static/images/emoji/1f61f.png b/web/static/images/emoji/1f61f.png
new file mode 100644
index 000000000..c26a5f5a4
--- /dev/null
+++ b/web/static/images/emoji/1f61f.png
Binary files differ
diff --git a/web/static/images/emoji/1f620.png b/web/static/images/emoji/1f620.png
new file mode 100644
index 000000000..103961ee4
--- /dev/null
+++ b/web/static/images/emoji/1f620.png
Binary files differ
diff --git a/web/static/images/emoji/1f621.png b/web/static/images/emoji/1f621.png
new file mode 100644
index 000000000..c7f2df28c
--- /dev/null
+++ b/web/static/images/emoji/1f621.png
Binary files differ
diff --git a/web/static/images/emoji/1f622.png b/web/static/images/emoji/1f622.png
new file mode 100644
index 000000000..dd17cbcca
--- /dev/null
+++ b/web/static/images/emoji/1f622.png
Binary files differ
diff --git a/web/static/images/emoji/1f623.png b/web/static/images/emoji/1f623.png
new file mode 100644
index 000000000..ba1550418
--- /dev/null
+++ b/web/static/images/emoji/1f623.png
Binary files differ
diff --git a/web/static/images/emoji/1f624.png b/web/static/images/emoji/1f624.png
new file mode 100644
index 000000000..5d0f2bf16
--- /dev/null
+++ b/web/static/images/emoji/1f624.png
Binary files differ
diff --git a/web/static/images/emoji/1f625.png b/web/static/images/emoji/1f625.png
new file mode 100644
index 000000000..bcea87523
--- /dev/null
+++ b/web/static/images/emoji/1f625.png
Binary files differ
diff --git a/web/static/images/emoji/1f626.png b/web/static/images/emoji/1f626.png
new file mode 100644
index 000000000..0593fe678
--- /dev/null
+++ b/web/static/images/emoji/1f626.png
Binary files differ
diff --git a/web/static/images/emoji/1f627.png b/web/static/images/emoji/1f627.png
new file mode 100644
index 000000000..31b14f781
--- /dev/null
+++ b/web/static/images/emoji/1f627.png
Binary files differ
diff --git a/web/static/images/emoji/1f628.png b/web/static/images/emoji/1f628.png
new file mode 100644
index 000000000..4ac78c208
--- /dev/null
+++ b/web/static/images/emoji/1f628.png
Binary files differ
diff --git a/web/static/images/emoji/1f629.png b/web/static/images/emoji/1f629.png
new file mode 100644
index 000000000..1c18789e8
--- /dev/null
+++ b/web/static/images/emoji/1f629.png
Binary files differ
diff --git a/web/static/images/emoji/1f62a.png b/web/static/images/emoji/1f62a.png
new file mode 100644
index 000000000..5269b493c
--- /dev/null
+++ b/web/static/images/emoji/1f62a.png
Binary files differ
diff --git a/web/static/images/emoji/1f62b.png b/web/static/images/emoji/1f62b.png
new file mode 100644
index 000000000..adf5fa0fc
--- /dev/null
+++ b/web/static/images/emoji/1f62b.png
Binary files differ
diff --git a/web/static/images/emoji/1f62c.png b/web/static/images/emoji/1f62c.png
new file mode 100644
index 000000000..ea4458d8f
--- /dev/null
+++ b/web/static/images/emoji/1f62c.png
Binary files differ
diff --git a/web/static/images/emoji/1f62d.png b/web/static/images/emoji/1f62d.png
new file mode 100644
index 000000000..1339cc6ec
--- /dev/null
+++ b/web/static/images/emoji/1f62d.png
Binary files differ
diff --git a/web/static/images/emoji/1f62e.png b/web/static/images/emoji/1f62e.png
new file mode 100644
index 000000000..3f9cc3fff
--- /dev/null
+++ b/web/static/images/emoji/1f62e.png
Binary files differ
diff --git a/web/static/images/emoji/1f62f.png b/web/static/images/emoji/1f62f.png
new file mode 100644
index 000000000..443ed5811
--- /dev/null
+++ b/web/static/images/emoji/1f62f.png
Binary files differ
diff --git a/web/static/images/emoji/1f630.png b/web/static/images/emoji/1f630.png
new file mode 100644
index 000000000..f488a3ec3
--- /dev/null
+++ b/web/static/images/emoji/1f630.png
Binary files differ
diff --git a/web/static/images/emoji/1f631.png b/web/static/images/emoji/1f631.png
new file mode 100644
index 000000000..ea77d3e6b
--- /dev/null
+++ b/web/static/images/emoji/1f631.png
Binary files differ
diff --git a/web/static/images/emoji/1f632.png b/web/static/images/emoji/1f632.png
new file mode 100644
index 000000000..7be652cab
--- /dev/null
+++ b/web/static/images/emoji/1f632.png
Binary files differ
diff --git a/web/static/images/emoji/1f633.png b/web/static/images/emoji/1f633.png
new file mode 100644
index 000000000..44bd60154
--- /dev/null
+++ b/web/static/images/emoji/1f633.png
Binary files differ
diff --git a/web/static/images/emoji/1f634.png b/web/static/images/emoji/1f634.png
new file mode 100644
index 000000000..04ed2ea52
--- /dev/null
+++ b/web/static/images/emoji/1f634.png
Binary files differ
diff --git a/web/static/images/emoji/1f635.png b/web/static/images/emoji/1f635.png
new file mode 100644
index 000000000..a23dc7e31
--- /dev/null
+++ b/web/static/images/emoji/1f635.png
Binary files differ
diff --git a/web/static/images/emoji/1f636.png b/web/static/images/emoji/1f636.png
new file mode 100644
index 000000000..549fff988
--- /dev/null
+++ b/web/static/images/emoji/1f636.png
Binary files differ
diff --git a/web/static/images/emoji/1f637.png b/web/static/images/emoji/1f637.png
new file mode 100644
index 000000000..7110927b8
--- /dev/null
+++ b/web/static/images/emoji/1f637.png
Binary files differ
diff --git a/web/static/images/emoji/1f638.png b/web/static/images/emoji/1f638.png
new file mode 100644
index 000000000..c54e14b53
--- /dev/null
+++ b/web/static/images/emoji/1f638.png
Binary files differ
diff --git a/web/static/images/emoji/1f639.png b/web/static/images/emoji/1f639.png
new file mode 100644
index 000000000..15a2aa0e3
--- /dev/null
+++ b/web/static/images/emoji/1f639.png
Binary files differ
diff --git a/web/static/images/emoji/1f63a.png b/web/static/images/emoji/1f63a.png
new file mode 100644
index 000000000..93872133e
--- /dev/null
+++ b/web/static/images/emoji/1f63a.png
Binary files differ
diff --git a/web/static/images/emoji/1f63b.png b/web/static/images/emoji/1f63b.png
new file mode 100644
index 000000000..7ef231efd
--- /dev/null
+++ b/web/static/images/emoji/1f63b.png
Binary files differ
diff --git a/web/static/images/emoji/1f63c.png b/web/static/images/emoji/1f63c.png
new file mode 100644
index 000000000..6cb9d069d
--- /dev/null
+++ b/web/static/images/emoji/1f63c.png
Binary files differ
diff --git a/web/static/images/emoji/1f63d.png b/web/static/images/emoji/1f63d.png
new file mode 100644
index 000000000..e62592137
--- /dev/null
+++ b/web/static/images/emoji/1f63d.png
Binary files differ
diff --git a/web/static/images/emoji/1f63e.png b/web/static/images/emoji/1f63e.png
new file mode 100644
index 000000000..a001bcfa7
--- /dev/null
+++ b/web/static/images/emoji/1f63e.png
Binary files differ
diff --git a/web/static/images/emoji/1f63f.png b/web/static/images/emoji/1f63f.png
new file mode 100644
index 000000000..c467c2198
--- /dev/null
+++ b/web/static/images/emoji/1f63f.png
Binary files differ
diff --git a/web/static/images/emoji/1f640.png b/web/static/images/emoji/1f640.png
new file mode 100644
index 000000000..a4e67e97d
--- /dev/null
+++ b/web/static/images/emoji/1f640.png
Binary files differ
diff --git a/web/static/images/emoji/1f641.png b/web/static/images/emoji/1f641.png
new file mode 100644
index 000000000..55e16c1cf
--- /dev/null
+++ b/web/static/images/emoji/1f641.png
Binary files differ
diff --git a/web/static/images/emoji/1f642.png b/web/static/images/emoji/1f642.png
new file mode 100644
index 000000000..1bb673b36
--- /dev/null
+++ b/web/static/images/emoji/1f642.png
Binary files differ
diff --git a/web/static/images/emoji/1f645.png b/web/static/images/emoji/1f645.png
new file mode 100644
index 000000000..d7eead9de
--- /dev/null
+++ b/web/static/images/emoji/1f645.png
Binary files differ
diff --git a/web/static/images/emoji/1f646.png b/web/static/images/emoji/1f646.png
new file mode 100644
index 000000000..fcafef225
--- /dev/null
+++ b/web/static/images/emoji/1f646.png
Binary files differ
diff --git a/web/static/images/emoji/1f647.png b/web/static/images/emoji/1f647.png
new file mode 100644
index 000000000..f763bdfe9
--- /dev/null
+++ b/web/static/images/emoji/1f647.png
Binary files differ
diff --git a/web/static/images/emoji/1f648.png b/web/static/images/emoji/1f648.png
new file mode 100644
index 000000000..df1fb6607
--- /dev/null
+++ b/web/static/images/emoji/1f648.png
Binary files differ
diff --git a/web/static/images/emoji/1f649.png b/web/static/images/emoji/1f649.png
new file mode 100644
index 000000000..e909ebf24
--- /dev/null
+++ b/web/static/images/emoji/1f649.png
Binary files differ
diff --git a/web/static/images/emoji/1f64a.png b/web/static/images/emoji/1f64a.png
new file mode 100644
index 000000000..c6f76937f
--- /dev/null
+++ b/web/static/images/emoji/1f64a.png
Binary files differ
diff --git a/web/static/images/emoji/1f64b.png b/web/static/images/emoji/1f64b.png
new file mode 100644
index 000000000..e9d54836a
--- /dev/null
+++ b/web/static/images/emoji/1f64b.png
Binary files differ
diff --git a/web/static/images/emoji/1f64c.png b/web/static/images/emoji/1f64c.png
new file mode 100644
index 000000000..8dbc25f83
--- /dev/null
+++ b/web/static/images/emoji/1f64c.png
Binary files differ
diff --git a/web/static/images/emoji/1f64d.png b/web/static/images/emoji/1f64d.png
new file mode 100644
index 000000000..81dbb96cd
--- /dev/null
+++ b/web/static/images/emoji/1f64d.png
Binary files differ
diff --git a/web/static/images/emoji/1f64e.png b/web/static/images/emoji/1f64e.png
new file mode 100644
index 000000000..466177621
--- /dev/null
+++ b/web/static/images/emoji/1f64e.png
Binary files differ
diff --git a/web/static/images/emoji/1f64f.png b/web/static/images/emoji/1f64f.png
new file mode 100644
index 000000000..47a5f03b2
--- /dev/null
+++ b/web/static/images/emoji/1f64f.png
Binary files differ
diff --git a/web/static/images/emoji/1f680.png b/web/static/images/emoji/1f680.png
new file mode 100644
index 000000000..0ca6d5fed
--- /dev/null
+++ b/web/static/images/emoji/1f680.png
Binary files differ
diff --git a/web/static/images/emoji/1f681.png b/web/static/images/emoji/1f681.png
new file mode 100644
index 000000000..838acddc7
--- /dev/null
+++ b/web/static/images/emoji/1f681.png
Binary files differ
diff --git a/web/static/images/emoji/1f682.png b/web/static/images/emoji/1f682.png
new file mode 100644
index 000000000..f7c52db71
--- /dev/null
+++ b/web/static/images/emoji/1f682.png
Binary files differ
diff --git a/web/static/images/emoji/1f683.png b/web/static/images/emoji/1f683.png
new file mode 100644
index 000000000..82d808866
--- /dev/null
+++ b/web/static/images/emoji/1f683.png
Binary files differ
diff --git a/web/static/images/emoji/1f684.png b/web/static/images/emoji/1f684.png
new file mode 100644
index 000000000..37daa558f
--- /dev/null
+++ b/web/static/images/emoji/1f684.png
Binary files differ
diff --git a/web/static/images/emoji/1f685.png b/web/static/images/emoji/1f685.png
new file mode 100644
index 000000000..14ab9c409
--- /dev/null
+++ b/web/static/images/emoji/1f685.png
Binary files differ
diff --git a/web/static/images/emoji/1f686.png b/web/static/images/emoji/1f686.png
new file mode 100644
index 000000000..22d843302
--- /dev/null
+++ b/web/static/images/emoji/1f686.png
Binary files differ
diff --git a/web/static/images/emoji/1f687.png b/web/static/images/emoji/1f687.png
new file mode 100644
index 000000000..747ab8ad1
--- /dev/null
+++ b/web/static/images/emoji/1f687.png
Binary files differ
diff --git a/web/static/images/emoji/1f688.png b/web/static/images/emoji/1f688.png
new file mode 100644
index 000000000..91cff3edb
--- /dev/null
+++ b/web/static/images/emoji/1f688.png
Binary files differ
diff --git a/web/static/images/emoji/1f689.png b/web/static/images/emoji/1f689.png
new file mode 100644
index 000000000..970d2799d
--- /dev/null
+++ b/web/static/images/emoji/1f689.png
Binary files differ
diff --git a/web/static/images/emoji/1f68a.png b/web/static/images/emoji/1f68a.png
new file mode 100644
index 000000000..851cf1827
--- /dev/null
+++ b/web/static/images/emoji/1f68a.png
Binary files differ
diff --git a/web/static/images/emoji/1f68b.png b/web/static/images/emoji/1f68b.png
new file mode 100644
index 000000000..93d810920
--- /dev/null
+++ b/web/static/images/emoji/1f68b.png
Binary files differ
diff --git a/web/static/images/emoji/1f68c.png b/web/static/images/emoji/1f68c.png
new file mode 100644
index 000000000..b4f9c0c1f
--- /dev/null
+++ b/web/static/images/emoji/1f68c.png
Binary files differ
diff --git a/web/static/images/emoji/1f68d.png b/web/static/images/emoji/1f68d.png
new file mode 100644
index 000000000..bac2d85e3
--- /dev/null
+++ b/web/static/images/emoji/1f68d.png
Binary files differ
diff --git a/web/static/images/emoji/1f68e.png b/web/static/images/emoji/1f68e.png
new file mode 100644
index 000000000..5207d82da
--- /dev/null
+++ b/web/static/images/emoji/1f68e.png
Binary files differ
diff --git a/web/static/images/emoji/1f68f.png b/web/static/images/emoji/1f68f.png
new file mode 100644
index 000000000..3e14a30b6
--- /dev/null
+++ b/web/static/images/emoji/1f68f.png
Binary files differ
diff --git a/web/static/images/emoji/1f690.png b/web/static/images/emoji/1f690.png
new file mode 100644
index 000000000..462d0a348
--- /dev/null
+++ b/web/static/images/emoji/1f690.png
Binary files differ
diff --git a/web/static/images/emoji/1f691.png b/web/static/images/emoji/1f691.png
new file mode 100644
index 000000000..9df138d9c
--- /dev/null
+++ b/web/static/images/emoji/1f691.png
Binary files differ
diff --git a/web/static/images/emoji/1f692.png b/web/static/images/emoji/1f692.png
new file mode 100644
index 000000000..0336bfdf5
--- /dev/null
+++ b/web/static/images/emoji/1f692.png
Binary files differ
diff --git a/web/static/images/emoji/1f693.png b/web/static/images/emoji/1f693.png
new file mode 100644
index 000000000..4281ed3bb
--- /dev/null
+++ b/web/static/images/emoji/1f693.png
Binary files differ
diff --git a/web/static/images/emoji/1f694.png b/web/static/images/emoji/1f694.png
new file mode 100644
index 000000000..2ab9c3302
--- /dev/null
+++ b/web/static/images/emoji/1f694.png
Binary files differ
diff --git a/web/static/images/emoji/1f695.png b/web/static/images/emoji/1f695.png
new file mode 100644
index 000000000..1b9af967a
--- /dev/null
+++ b/web/static/images/emoji/1f695.png
Binary files differ
diff --git a/web/static/images/emoji/1f696.png b/web/static/images/emoji/1f696.png
new file mode 100644
index 000000000..108d49693
--- /dev/null
+++ b/web/static/images/emoji/1f696.png
Binary files differ
diff --git a/web/static/images/emoji/1f697.png b/web/static/images/emoji/1f697.png
new file mode 100644
index 000000000..e266bd21e
--- /dev/null
+++ b/web/static/images/emoji/1f697.png
Binary files differ
diff --git a/web/static/images/emoji/1f698.png b/web/static/images/emoji/1f698.png
new file mode 100644
index 000000000..b9b0dafbf
--- /dev/null
+++ b/web/static/images/emoji/1f698.png
Binary files differ
diff --git a/web/static/images/emoji/1f699.png b/web/static/images/emoji/1f699.png
new file mode 100644
index 000000000..0c2e833ff
--- /dev/null
+++ b/web/static/images/emoji/1f699.png
Binary files differ
diff --git a/web/static/images/emoji/1f69a.png b/web/static/images/emoji/1f69a.png
new file mode 100644
index 000000000..ef99f12fb
--- /dev/null
+++ b/web/static/images/emoji/1f69a.png
Binary files differ
diff --git a/web/static/images/emoji/1f69b.png b/web/static/images/emoji/1f69b.png
new file mode 100644
index 000000000..4447dcfb5
--- /dev/null
+++ b/web/static/images/emoji/1f69b.png
Binary files differ
diff --git a/web/static/images/emoji/1f69c.png b/web/static/images/emoji/1f69c.png
new file mode 100644
index 000000000..fcd4000c5
--- /dev/null
+++ b/web/static/images/emoji/1f69c.png
Binary files differ
diff --git a/web/static/images/emoji/1f69d.png b/web/static/images/emoji/1f69d.png
new file mode 100644
index 000000000..83ba5af45
--- /dev/null
+++ b/web/static/images/emoji/1f69d.png
Binary files differ
diff --git a/web/static/images/emoji/1f69e.png b/web/static/images/emoji/1f69e.png
new file mode 100644
index 000000000..c69df1f8f
--- /dev/null
+++ b/web/static/images/emoji/1f69e.png
Binary files differ
diff --git a/web/static/images/emoji/1f69f.png b/web/static/images/emoji/1f69f.png
new file mode 100644
index 000000000..595e9b160
--- /dev/null
+++ b/web/static/images/emoji/1f69f.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a0.png b/web/static/images/emoji/1f6a0.png
new file mode 100644
index 000000000..6dbd7307e
--- /dev/null
+++ b/web/static/images/emoji/1f6a0.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a1.png b/web/static/images/emoji/1f6a1.png
new file mode 100644
index 000000000..32d56bec7
--- /dev/null
+++ b/web/static/images/emoji/1f6a1.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a2.png b/web/static/images/emoji/1f6a2.png
new file mode 100644
index 000000000..08465890d
--- /dev/null
+++ b/web/static/images/emoji/1f6a2.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a3.png b/web/static/images/emoji/1f6a3.png
new file mode 100644
index 000000000..3a16b632b
--- /dev/null
+++ b/web/static/images/emoji/1f6a3.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a4.png b/web/static/images/emoji/1f6a4.png
new file mode 100644
index 000000000..a6b11a72e
--- /dev/null
+++ b/web/static/images/emoji/1f6a4.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a5.png b/web/static/images/emoji/1f6a5.png
new file mode 100644
index 000000000..0a7704a26
--- /dev/null
+++ b/web/static/images/emoji/1f6a5.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a6.png b/web/static/images/emoji/1f6a6.png
new file mode 100644
index 000000000..e533edda0
--- /dev/null
+++ b/web/static/images/emoji/1f6a6.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a7.png b/web/static/images/emoji/1f6a7.png
new file mode 100644
index 000000000..d29f47b02
--- /dev/null
+++ b/web/static/images/emoji/1f6a7.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a8.png b/web/static/images/emoji/1f6a8.png
new file mode 100644
index 000000000..72095645c
--- /dev/null
+++ b/web/static/images/emoji/1f6a8.png
Binary files differ
diff --git a/web/static/images/emoji/1f6a9.png b/web/static/images/emoji/1f6a9.png
new file mode 100644
index 000000000..89a1429a3
--- /dev/null
+++ b/web/static/images/emoji/1f6a9.png
Binary files differ
diff --git a/web/static/images/emoji/1f6aa.png b/web/static/images/emoji/1f6aa.png
new file mode 100644
index 000000000..4c8695fee
--- /dev/null
+++ b/web/static/images/emoji/1f6aa.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ab.png b/web/static/images/emoji/1f6ab.png
new file mode 100644
index 000000000..6577a1058
--- /dev/null
+++ b/web/static/images/emoji/1f6ab.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ac.png b/web/static/images/emoji/1f6ac.png
new file mode 100644
index 000000000..e8b49b893
--- /dev/null
+++ b/web/static/images/emoji/1f6ac.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ad.png b/web/static/images/emoji/1f6ad.png
new file mode 100644
index 000000000..939a81ae8
--- /dev/null
+++ b/web/static/images/emoji/1f6ad.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ae.png b/web/static/images/emoji/1f6ae.png
new file mode 100644
index 000000000..e1c1deb24
--- /dev/null
+++ b/web/static/images/emoji/1f6ae.png
Binary files differ
diff --git a/web/static/images/emoji/1f6af.png b/web/static/images/emoji/1f6af.png
new file mode 100644
index 000000000..c29f7edf6
--- /dev/null
+++ b/web/static/images/emoji/1f6af.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b0.png b/web/static/images/emoji/1f6b0.png
new file mode 100644
index 000000000..9fd0e87e9
--- /dev/null
+++ b/web/static/images/emoji/1f6b0.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b1.png b/web/static/images/emoji/1f6b1.png
new file mode 100644
index 000000000..34de27d65
--- /dev/null
+++ b/web/static/images/emoji/1f6b1.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b2.png b/web/static/images/emoji/1f6b2.png
new file mode 100644
index 000000000..a37d60207
--- /dev/null
+++ b/web/static/images/emoji/1f6b2.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b3.png b/web/static/images/emoji/1f6b3.png
new file mode 100644
index 000000000..278f1424e
--- /dev/null
+++ b/web/static/images/emoji/1f6b3.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b4.png b/web/static/images/emoji/1f6b4.png
new file mode 100644
index 000000000..15b4c9666
--- /dev/null
+++ b/web/static/images/emoji/1f6b4.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b5.png b/web/static/images/emoji/1f6b5.png
new file mode 100644
index 000000000..d2aa6f821
--- /dev/null
+++ b/web/static/images/emoji/1f6b5.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b6.png b/web/static/images/emoji/1f6b6.png
new file mode 100644
index 000000000..174c4d0e2
--- /dev/null
+++ b/web/static/images/emoji/1f6b6.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b7.png b/web/static/images/emoji/1f6b7.png
new file mode 100644
index 000000000..b015b4eaf
--- /dev/null
+++ b/web/static/images/emoji/1f6b7.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b8.png b/web/static/images/emoji/1f6b8.png
new file mode 100644
index 000000000..56ad0fb15
--- /dev/null
+++ b/web/static/images/emoji/1f6b8.png
Binary files differ
diff --git a/web/static/images/emoji/1f6b9.png b/web/static/images/emoji/1f6b9.png
new file mode 100644
index 000000000..db526a641
--- /dev/null
+++ b/web/static/images/emoji/1f6b9.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ba.png b/web/static/images/emoji/1f6ba.png
new file mode 100644
index 000000000..57a510e34
--- /dev/null
+++ b/web/static/images/emoji/1f6ba.png
Binary files differ
diff --git a/web/static/images/emoji/1f6bb.png b/web/static/images/emoji/1f6bb.png
new file mode 100644
index 000000000..76b3c2833
--- /dev/null
+++ b/web/static/images/emoji/1f6bb.png
Binary files differ
diff --git a/web/static/images/emoji/1f6bc.png b/web/static/images/emoji/1f6bc.png
new file mode 100644
index 000000000..c289fc5e5
--- /dev/null
+++ b/web/static/images/emoji/1f6bc.png
Binary files differ
diff --git a/web/static/images/emoji/1f6bd.png b/web/static/images/emoji/1f6bd.png
new file mode 100644
index 000000000..6cf5255d5
--- /dev/null
+++ b/web/static/images/emoji/1f6bd.png
Binary files differ
diff --git a/web/static/images/emoji/1f6be.png b/web/static/images/emoji/1f6be.png
new file mode 100644
index 000000000..b153f2c2a
--- /dev/null
+++ b/web/static/images/emoji/1f6be.png
Binary files differ
diff --git a/web/static/images/emoji/1f6bf.png b/web/static/images/emoji/1f6bf.png
new file mode 100644
index 000000000..860c4da66
--- /dev/null
+++ b/web/static/images/emoji/1f6bf.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c0.png b/web/static/images/emoji/1f6c0.png
new file mode 100644
index 000000000..faca8ba79
--- /dev/null
+++ b/web/static/images/emoji/1f6c0.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c1.png b/web/static/images/emoji/1f6c1.png
new file mode 100644
index 000000000..86b2a2629
--- /dev/null
+++ b/web/static/images/emoji/1f6c1.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c2.png b/web/static/images/emoji/1f6c2.png
new file mode 100644
index 000000000..51359c754
--- /dev/null
+++ b/web/static/images/emoji/1f6c2.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c3.png b/web/static/images/emoji/1f6c3.png
new file mode 100644
index 000000000..8c6811ce7
--- /dev/null
+++ b/web/static/images/emoji/1f6c3.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c4.png b/web/static/images/emoji/1f6c4.png
new file mode 100644
index 000000000..3c6c63aff
--- /dev/null
+++ b/web/static/images/emoji/1f6c4.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c5.png b/web/static/images/emoji/1f6c5.png
new file mode 100644
index 000000000..b39b9075f
--- /dev/null
+++ b/web/static/images/emoji/1f6c5.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c6.png b/web/static/images/emoji/1f6c6.png
new file mode 100644
index 000000000..4f3048f3b
--- /dev/null
+++ b/web/static/images/emoji/1f6c6.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c7.png b/web/static/images/emoji/1f6c7.png
new file mode 100644
index 000000000..ab45c0d19
--- /dev/null
+++ b/web/static/images/emoji/1f6c7.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c8.png b/web/static/images/emoji/1f6c8.png
new file mode 100644
index 000000000..1adec5678
--- /dev/null
+++ b/web/static/images/emoji/1f6c8.png
Binary files differ
diff --git a/web/static/images/emoji/1f6c9.png b/web/static/images/emoji/1f6c9.png
new file mode 100644
index 000000000..ce9578948
--- /dev/null
+++ b/web/static/images/emoji/1f6c9.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ca.png b/web/static/images/emoji/1f6ca.png
new file mode 100644
index 000000000..b8836a8ad
--- /dev/null
+++ b/web/static/images/emoji/1f6ca.png
Binary files differ
diff --git a/web/static/images/emoji/1f6cb.png b/web/static/images/emoji/1f6cb.png
new file mode 100644
index 000000000..fe7473eef
--- /dev/null
+++ b/web/static/images/emoji/1f6cb.png
Binary files differ
diff --git a/web/static/images/emoji/1f6cc.png b/web/static/images/emoji/1f6cc.png
new file mode 100644
index 000000000..4d232c9bb
--- /dev/null
+++ b/web/static/images/emoji/1f6cc.png
Binary files differ
diff --git a/web/static/images/emoji/1f6cd.png b/web/static/images/emoji/1f6cd.png
new file mode 100644
index 000000000..c4aa0049c
--- /dev/null
+++ b/web/static/images/emoji/1f6cd.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ce.png b/web/static/images/emoji/1f6ce.png
new file mode 100644
index 000000000..5eb060df1
--- /dev/null
+++ b/web/static/images/emoji/1f6ce.png
Binary files differ
diff --git a/web/static/images/emoji/1f6cf.png b/web/static/images/emoji/1f6cf.png
new file mode 100644
index 000000000..2b23803bc
--- /dev/null
+++ b/web/static/images/emoji/1f6cf.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e0.png b/web/static/images/emoji/1f6e0.png
new file mode 100644
index 000000000..eeea685b4
--- /dev/null
+++ b/web/static/images/emoji/1f6e0.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e1.png b/web/static/images/emoji/1f6e1.png
new file mode 100644
index 000000000..30a63a8bf
--- /dev/null
+++ b/web/static/images/emoji/1f6e1.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e2.png b/web/static/images/emoji/1f6e2.png
new file mode 100644
index 000000000..e7e597a98
--- /dev/null
+++ b/web/static/images/emoji/1f6e2.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e3.png b/web/static/images/emoji/1f6e3.png
new file mode 100644
index 000000000..c7f7a5d48
--- /dev/null
+++ b/web/static/images/emoji/1f6e3.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e4.png b/web/static/images/emoji/1f6e4.png
new file mode 100644
index 000000000..322831040
--- /dev/null
+++ b/web/static/images/emoji/1f6e4.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e5.png b/web/static/images/emoji/1f6e5.png
new file mode 100644
index 000000000..1e720f431
--- /dev/null
+++ b/web/static/images/emoji/1f6e5.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e6.png b/web/static/images/emoji/1f6e6.png
new file mode 100644
index 000000000..8b91ccced
--- /dev/null
+++ b/web/static/images/emoji/1f6e6.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e7.png b/web/static/images/emoji/1f6e7.png
new file mode 100644
index 000000000..a5f67a8a4
--- /dev/null
+++ b/web/static/images/emoji/1f6e7.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e8.png b/web/static/images/emoji/1f6e8.png
new file mode 100644
index 000000000..85afe1f2a
--- /dev/null
+++ b/web/static/images/emoji/1f6e8.png
Binary files differ
diff --git a/web/static/images/emoji/1f6e9.png b/web/static/images/emoji/1f6e9.png
new file mode 100644
index 000000000..bd369a205
--- /dev/null
+++ b/web/static/images/emoji/1f6e9.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ea.png b/web/static/images/emoji/1f6ea.png
new file mode 100644
index 000000000..93456c816
--- /dev/null
+++ b/web/static/images/emoji/1f6ea.png
Binary files differ
diff --git a/web/static/images/emoji/1f6eb.png b/web/static/images/emoji/1f6eb.png
new file mode 100644
index 000000000..9b0f017be
--- /dev/null
+++ b/web/static/images/emoji/1f6eb.png
Binary files differ
diff --git a/web/static/images/emoji/1f6ec.png b/web/static/images/emoji/1f6ec.png
new file mode 100644
index 000000000..4d754bf59
--- /dev/null
+++ b/web/static/images/emoji/1f6ec.png
Binary files differ
diff --git a/web/static/images/emoji/1f6f0.png b/web/static/images/emoji/1f6f0.png
new file mode 100644
index 000000000..52eec7627
--- /dev/null
+++ b/web/static/images/emoji/1f6f0.png
Binary files differ
diff --git a/web/static/images/emoji/1f6f1.png b/web/static/images/emoji/1f6f1.png
new file mode 100644
index 000000000..39cb17c82
--- /dev/null
+++ b/web/static/images/emoji/1f6f1.png
Binary files differ
diff --git a/web/static/images/emoji/1f6f2.png b/web/static/images/emoji/1f6f2.png
new file mode 100644
index 000000000..97066ea6e
--- /dev/null
+++ b/web/static/images/emoji/1f6f2.png
Binary files differ
diff --git a/web/static/images/emoji/1f6f3.png b/web/static/images/emoji/1f6f3.png
new file mode 100644
index 000000000..512cb1200
--- /dev/null
+++ b/web/static/images/emoji/1f6f3.png
Binary files differ
diff --git a/web/static/images/emoji/203c.png b/web/static/images/emoji/203c.png
new file mode 100644
index 000000000..ab85c1d06
--- /dev/null
+++ b/web/static/images/emoji/203c.png
Binary files differ
diff --git a/web/static/images/emoji/2049.png b/web/static/images/emoji/2049.png
new file mode 100644
index 000000000..a8e1ec2a9
--- /dev/null
+++ b/web/static/images/emoji/2049.png
Binary files differ
diff --git a/web/static/images/emoji/2122.png b/web/static/images/emoji/2122.png
new file mode 100644
index 000000000..0ddad3d83
--- /dev/null
+++ b/web/static/images/emoji/2122.png
Binary files differ
diff --git a/web/static/images/emoji/2139.png b/web/static/images/emoji/2139.png
new file mode 100644
index 000000000..68059c871
--- /dev/null
+++ b/web/static/images/emoji/2139.png
Binary files differ
diff --git a/web/static/images/emoji/2194.png b/web/static/images/emoji/2194.png
new file mode 100644
index 000000000..9e5e99c58
--- /dev/null
+++ b/web/static/images/emoji/2194.png
Binary files differ
diff --git a/web/static/images/emoji/2195.png b/web/static/images/emoji/2195.png
new file mode 100644
index 000000000..bb668b036
--- /dev/null
+++ b/web/static/images/emoji/2195.png
Binary files differ
diff --git a/web/static/images/emoji/2196.png b/web/static/images/emoji/2196.png
new file mode 100644
index 000000000..5a75e42ba
--- /dev/null
+++ b/web/static/images/emoji/2196.png
Binary files differ
diff --git a/web/static/images/emoji/2197.png b/web/static/images/emoji/2197.png
new file mode 100644
index 000000000..267322593
--- /dev/null
+++ b/web/static/images/emoji/2197.png
Binary files differ
diff --git a/web/static/images/emoji/2198.png b/web/static/images/emoji/2198.png
new file mode 100644
index 000000000..4e7757c23
--- /dev/null
+++ b/web/static/images/emoji/2198.png
Binary files differ
diff --git a/web/static/images/emoji/2199.png b/web/static/images/emoji/2199.png
new file mode 100644
index 000000000..c5b1a2f7a
--- /dev/null
+++ b/web/static/images/emoji/2199.png
Binary files differ
diff --git a/web/static/images/emoji/21a9.png b/web/static/images/emoji/21a9.png
new file mode 100644
index 000000000..a9358a56e
--- /dev/null
+++ b/web/static/images/emoji/21a9.png
Binary files differ
diff --git a/web/static/images/emoji/21aa.png b/web/static/images/emoji/21aa.png
new file mode 100644
index 000000000..0512301c9
--- /dev/null
+++ b/web/static/images/emoji/21aa.png
Binary files differ
diff --git a/web/static/images/emoji/231a.png b/web/static/images/emoji/231a.png
new file mode 100644
index 000000000..50f16588a
--- /dev/null
+++ b/web/static/images/emoji/231a.png
Binary files differ
diff --git a/web/static/images/emoji/231b.png b/web/static/images/emoji/231b.png
new file mode 100644
index 000000000..06799f8c5
--- /dev/null
+++ b/web/static/images/emoji/231b.png
Binary files differ
diff --git a/web/static/images/emoji/23e9.png b/web/static/images/emoji/23e9.png
new file mode 100644
index 000000000..dda9bec2a
--- /dev/null
+++ b/web/static/images/emoji/23e9.png
Binary files differ
diff --git a/web/static/images/emoji/23ea.png b/web/static/images/emoji/23ea.png
new file mode 100644
index 000000000..cd693f938
--- /dev/null
+++ b/web/static/images/emoji/23ea.png
Binary files differ
diff --git a/web/static/images/emoji/23eb.png b/web/static/images/emoji/23eb.png
new file mode 100644
index 000000000..0878d9436
--- /dev/null
+++ b/web/static/images/emoji/23eb.png
Binary files differ
diff --git a/web/static/images/emoji/23ec.png b/web/static/images/emoji/23ec.png
new file mode 100644
index 000000000..698156f8d
--- /dev/null
+++ b/web/static/images/emoji/23ec.png
Binary files differ
diff --git a/web/static/images/emoji/23f0.png b/web/static/images/emoji/23f0.png
new file mode 100644
index 000000000..3f466f3a7
--- /dev/null
+++ b/web/static/images/emoji/23f0.png
Binary files differ
diff --git a/web/static/images/emoji/23f3.png b/web/static/images/emoji/23f3.png
new file mode 100644
index 000000000..bb0bbd8f7
--- /dev/null
+++ b/web/static/images/emoji/23f3.png
Binary files differ
diff --git a/web/static/images/emoji/24c2.png b/web/static/images/emoji/24c2.png
new file mode 100644
index 000000000..7de289795
--- /dev/null
+++ b/web/static/images/emoji/24c2.png
Binary files differ
diff --git a/web/static/images/emoji/25aa.png b/web/static/images/emoji/25aa.png
new file mode 100644
index 000000000..5a5559241
--- /dev/null
+++ b/web/static/images/emoji/25aa.png
Binary files differ
diff --git a/web/static/images/emoji/25ab.png b/web/static/images/emoji/25ab.png
new file mode 100644
index 000000000..5b115d325
--- /dev/null
+++ b/web/static/images/emoji/25ab.png
Binary files differ
diff --git a/web/static/images/emoji/25b6.png b/web/static/images/emoji/25b6.png
new file mode 100644
index 000000000..cbc672c1e
--- /dev/null
+++ b/web/static/images/emoji/25b6.png
Binary files differ
diff --git a/web/static/images/emoji/25c0.png b/web/static/images/emoji/25c0.png
new file mode 100644
index 000000000..66b208dd9
--- /dev/null
+++ b/web/static/images/emoji/25c0.png
Binary files differ
diff --git a/web/static/images/emoji/25fb.png b/web/static/images/emoji/25fb.png
new file mode 100644
index 000000000..f3c39550f
--- /dev/null
+++ b/web/static/images/emoji/25fb.png
Binary files differ
diff --git a/web/static/images/emoji/25fc.png b/web/static/images/emoji/25fc.png
new file mode 100644
index 000000000..0250c07f4
--- /dev/null
+++ b/web/static/images/emoji/25fc.png
Binary files differ
diff --git a/web/static/images/emoji/25fd.png b/web/static/images/emoji/25fd.png
new file mode 100644
index 000000000..7a34786e8
--- /dev/null
+++ b/web/static/images/emoji/25fd.png
Binary files differ
diff --git a/web/static/images/emoji/25fe.png b/web/static/images/emoji/25fe.png
new file mode 100644
index 000000000..6dd0df1c9
--- /dev/null
+++ b/web/static/images/emoji/25fe.png
Binary files differ
diff --git a/web/static/images/emoji/2600.png b/web/static/images/emoji/2600.png
new file mode 100644
index 000000000..d4f88fb8b
--- /dev/null
+++ b/web/static/images/emoji/2600.png
Binary files differ
diff --git a/web/static/images/emoji/2601.png b/web/static/images/emoji/2601.png
new file mode 100644
index 000000000..559c52f76
--- /dev/null
+++ b/web/static/images/emoji/2601.png
Binary files differ
diff --git a/web/static/images/emoji/260e.png b/web/static/images/emoji/260e.png
new file mode 100644
index 000000000..6a14f1bfe
--- /dev/null
+++ b/web/static/images/emoji/260e.png
Binary files differ
diff --git a/web/static/images/emoji/2611.png b/web/static/images/emoji/2611.png
new file mode 100644
index 000000000..e9826b1db
--- /dev/null
+++ b/web/static/images/emoji/2611.png
Binary files differ
diff --git a/web/static/images/emoji/2614.png b/web/static/images/emoji/2614.png
new file mode 100644
index 000000000..83672dd6c
--- /dev/null
+++ b/web/static/images/emoji/2614.png
Binary files differ
diff --git a/web/static/images/emoji/2615.png b/web/static/images/emoji/2615.png
new file mode 100644
index 000000000..109505f51
--- /dev/null
+++ b/web/static/images/emoji/2615.png
Binary files differ
diff --git a/web/static/images/emoji/261d.png b/web/static/images/emoji/261d.png
new file mode 100644
index 000000000..387fe59e2
--- /dev/null
+++ b/web/static/images/emoji/261d.png
Binary files differ
diff --git a/web/static/images/emoji/263a.png b/web/static/images/emoji/263a.png
new file mode 100644
index 000000000..ea6e93a65
--- /dev/null
+++ b/web/static/images/emoji/263a.png
Binary files differ
diff --git a/web/static/images/emoji/2648.png b/web/static/images/emoji/2648.png
new file mode 100644
index 000000000..8c26a2400
--- /dev/null
+++ b/web/static/images/emoji/2648.png
Binary files differ
diff --git a/web/static/images/emoji/2649.png b/web/static/images/emoji/2649.png
new file mode 100644
index 000000000..3d3434ccf
--- /dev/null
+++ b/web/static/images/emoji/2649.png
Binary files differ
diff --git a/web/static/images/emoji/264a.png b/web/static/images/emoji/264a.png
new file mode 100644
index 000000000..3d34ba7ca
--- /dev/null
+++ b/web/static/images/emoji/264a.png
Binary files differ
diff --git a/web/static/images/emoji/264b.png b/web/static/images/emoji/264b.png
new file mode 100644
index 000000000..6375eabb5
--- /dev/null
+++ b/web/static/images/emoji/264b.png
Binary files differ
diff --git a/web/static/images/emoji/264c.png b/web/static/images/emoji/264c.png
new file mode 100644
index 000000000..2290f822a
--- /dev/null
+++ b/web/static/images/emoji/264c.png
Binary files differ
diff --git a/web/static/images/emoji/264d.png b/web/static/images/emoji/264d.png
new file mode 100644
index 000000000..238424313
--- /dev/null
+++ b/web/static/images/emoji/264d.png
Binary files differ
diff --git a/web/static/images/emoji/264e.png b/web/static/images/emoji/264e.png
new file mode 100644
index 000000000..3f3c33443
--- /dev/null
+++ b/web/static/images/emoji/264e.png
Binary files differ
diff --git a/web/static/images/emoji/264f.png b/web/static/images/emoji/264f.png
new file mode 100644
index 000000000..f903e7665
--- /dev/null
+++ b/web/static/images/emoji/264f.png
Binary files differ
diff --git a/web/static/images/emoji/2650.png b/web/static/images/emoji/2650.png
new file mode 100644
index 000000000..b5d55c10f
--- /dev/null
+++ b/web/static/images/emoji/2650.png
Binary files differ
diff --git a/web/static/images/emoji/2651.png b/web/static/images/emoji/2651.png
new file mode 100644
index 000000000..255ac3183
--- /dev/null
+++ b/web/static/images/emoji/2651.png
Binary files differ
diff --git a/web/static/images/emoji/2652.png b/web/static/images/emoji/2652.png
new file mode 100644
index 000000000..2e645c9e3
--- /dev/null
+++ b/web/static/images/emoji/2652.png
Binary files differ
diff --git a/web/static/images/emoji/2653.png b/web/static/images/emoji/2653.png
new file mode 100644
index 000000000..939b88e60
--- /dev/null
+++ b/web/static/images/emoji/2653.png
Binary files differ
diff --git a/web/static/images/emoji/2660.png b/web/static/images/emoji/2660.png
new file mode 100644
index 000000000..1cb4bea46
--- /dev/null
+++ b/web/static/images/emoji/2660.png
Binary files differ
diff --git a/web/static/images/emoji/2663.png b/web/static/images/emoji/2663.png
new file mode 100644
index 000000000..307231d98
--- /dev/null
+++ b/web/static/images/emoji/2663.png
Binary files differ
diff --git a/web/static/images/emoji/2665.png b/web/static/images/emoji/2665.png
new file mode 100644
index 000000000..994a062cc
--- /dev/null
+++ b/web/static/images/emoji/2665.png
Binary files differ
diff --git a/web/static/images/emoji/2666.png b/web/static/images/emoji/2666.png
new file mode 100644
index 000000000..3e153dbe8
--- /dev/null
+++ b/web/static/images/emoji/2666.png
Binary files differ
diff --git a/web/static/images/emoji/2668.png b/web/static/images/emoji/2668.png
new file mode 100644
index 000000000..dbe158292
--- /dev/null
+++ b/web/static/images/emoji/2668.png
Binary files differ
diff --git a/web/static/images/emoji/267b.png b/web/static/images/emoji/267b.png
new file mode 100644
index 000000000..181391e86
--- /dev/null
+++ b/web/static/images/emoji/267b.png
Binary files differ
diff --git a/web/static/images/emoji/267f.png b/web/static/images/emoji/267f.png
new file mode 100644
index 000000000..638696ca9
--- /dev/null
+++ b/web/static/images/emoji/267f.png
Binary files differ
diff --git a/web/static/images/emoji/2693.png b/web/static/images/emoji/2693.png
new file mode 100644
index 000000000..f2a8200f0
--- /dev/null
+++ b/web/static/images/emoji/2693.png
Binary files differ
diff --git a/web/static/images/emoji/26a0.png b/web/static/images/emoji/26a0.png
new file mode 100644
index 000000000..8a5dd577a
--- /dev/null
+++ b/web/static/images/emoji/26a0.png
Binary files differ
diff --git a/web/static/images/emoji/26a1.png b/web/static/images/emoji/26a1.png
new file mode 100644
index 000000000..96ec4dccb
--- /dev/null
+++ b/web/static/images/emoji/26a1.png
Binary files differ
diff --git a/web/static/images/emoji/26aa.png b/web/static/images/emoji/26aa.png
new file mode 100644
index 000000000..84e8a43a2
--- /dev/null
+++ b/web/static/images/emoji/26aa.png
Binary files differ
diff --git a/web/static/images/emoji/26ab.png b/web/static/images/emoji/26ab.png
new file mode 100644
index 000000000..a9f021517
--- /dev/null
+++ b/web/static/images/emoji/26ab.png
Binary files differ
diff --git a/web/static/images/emoji/26bd.png b/web/static/images/emoji/26bd.png
new file mode 100644
index 000000000..a5b188cef
--- /dev/null
+++ b/web/static/images/emoji/26bd.png
Binary files differ
diff --git a/web/static/images/emoji/26be.png b/web/static/images/emoji/26be.png
new file mode 100644
index 000000000..4ba7a75a6
--- /dev/null
+++ b/web/static/images/emoji/26be.png
Binary files differ
diff --git a/web/static/images/emoji/26c4.png b/web/static/images/emoji/26c4.png
new file mode 100644
index 000000000..5cfd23ec0
--- /dev/null
+++ b/web/static/images/emoji/26c4.png
Binary files differ
diff --git a/web/static/images/emoji/26c5.png b/web/static/images/emoji/26c5.png
new file mode 100644
index 000000000..a5c8d31b8
--- /dev/null
+++ b/web/static/images/emoji/26c5.png
Binary files differ
diff --git a/web/static/images/emoji/26ce.png b/web/static/images/emoji/26ce.png
new file mode 100644
index 000000000..600ad3a3c
--- /dev/null
+++ b/web/static/images/emoji/26ce.png
Binary files differ
diff --git a/web/static/images/emoji/26d4.png b/web/static/images/emoji/26d4.png
new file mode 100644
index 000000000..aca2edaa7
--- /dev/null
+++ b/web/static/images/emoji/26d4.png
Binary files differ
diff --git a/web/static/images/emoji/26ea.png b/web/static/images/emoji/26ea.png
new file mode 100644
index 000000000..e1f25e25a
--- /dev/null
+++ b/web/static/images/emoji/26ea.png
Binary files differ
diff --git a/web/static/images/emoji/26f2.png b/web/static/images/emoji/26f2.png
new file mode 100644
index 000000000..465d2a127
--- /dev/null
+++ b/web/static/images/emoji/26f2.png
Binary files differ
diff --git a/web/static/images/emoji/26f3.png b/web/static/images/emoji/26f3.png
new file mode 100644
index 000000000..c03f80917
--- /dev/null
+++ b/web/static/images/emoji/26f3.png
Binary files differ
diff --git a/web/static/images/emoji/26f5.png b/web/static/images/emoji/26f5.png
new file mode 100644
index 000000000..9e862f831
--- /dev/null
+++ b/web/static/images/emoji/26f5.png
Binary files differ
diff --git a/web/static/images/emoji/26fa.png b/web/static/images/emoji/26fa.png
new file mode 100644
index 000000000..db3101b4a
--- /dev/null
+++ b/web/static/images/emoji/26fa.png
Binary files differ
diff --git a/web/static/images/emoji/26fd.png b/web/static/images/emoji/26fd.png
new file mode 100644
index 000000000..db5b15c89
--- /dev/null
+++ b/web/static/images/emoji/26fd.png
Binary files differ
diff --git a/web/static/images/emoji/2702.png b/web/static/images/emoji/2702.png
new file mode 100644
index 000000000..0a2d1b07f
--- /dev/null
+++ b/web/static/images/emoji/2702.png
Binary files differ
diff --git a/web/static/images/emoji/2705.png b/web/static/images/emoji/2705.png
new file mode 100644
index 000000000..241a4f6f9
--- /dev/null
+++ b/web/static/images/emoji/2705.png
Binary files differ
diff --git a/web/static/images/emoji/2708.png b/web/static/images/emoji/2708.png
new file mode 100644
index 000000000..bf1786717
--- /dev/null
+++ b/web/static/images/emoji/2708.png
Binary files differ
diff --git a/web/static/images/emoji/2709.png b/web/static/images/emoji/2709.png
new file mode 100644
index 000000000..c0bb4ebfd
--- /dev/null
+++ b/web/static/images/emoji/2709.png
Binary files differ
diff --git a/web/static/images/emoji/270a.png b/web/static/images/emoji/270a.png
new file mode 100644
index 000000000..97e5b0639
--- /dev/null
+++ b/web/static/images/emoji/270a.png
Binary files differ
diff --git a/web/static/images/emoji/270b.png b/web/static/images/emoji/270b.png
new file mode 100644
index 000000000..89de966a3
--- /dev/null
+++ b/web/static/images/emoji/270b.png
Binary files differ
diff --git a/web/static/images/emoji/270c.png b/web/static/images/emoji/270c.png
new file mode 100644
index 000000000..0b7aa52d1
--- /dev/null
+++ b/web/static/images/emoji/270c.png
Binary files differ
diff --git a/web/static/images/emoji/270f.png b/web/static/images/emoji/270f.png
new file mode 100644
index 000000000..693ee8429
--- /dev/null
+++ b/web/static/images/emoji/270f.png
Binary files differ
diff --git a/web/static/images/emoji/2712.png b/web/static/images/emoji/2712.png
new file mode 100644
index 000000000..6f1a76cde
--- /dev/null
+++ b/web/static/images/emoji/2712.png
Binary files differ
diff --git a/web/static/images/emoji/2714.png b/web/static/images/emoji/2714.png
new file mode 100644
index 000000000..239ea09ee
--- /dev/null
+++ b/web/static/images/emoji/2714.png
Binary files differ
diff --git a/web/static/images/emoji/2716.png b/web/static/images/emoji/2716.png
new file mode 100644
index 000000000..a75fd57e0
--- /dev/null
+++ b/web/static/images/emoji/2716.png
Binary files differ
diff --git a/web/static/images/emoji/2728.png b/web/static/images/emoji/2728.png
new file mode 100644
index 000000000..f7faa7270
--- /dev/null
+++ b/web/static/images/emoji/2728.png
Binary files differ
diff --git a/web/static/images/emoji/2733.png b/web/static/images/emoji/2733.png
new file mode 100644
index 000000000..aaa681d4f
--- /dev/null
+++ b/web/static/images/emoji/2733.png
Binary files differ
diff --git a/web/static/images/emoji/2734.png b/web/static/images/emoji/2734.png
new file mode 100644
index 000000000..ea1ba7edb
--- /dev/null
+++ b/web/static/images/emoji/2734.png
Binary files differ
diff --git a/web/static/images/emoji/2744.png b/web/static/images/emoji/2744.png
new file mode 100644
index 000000000..743b9fd98
--- /dev/null
+++ b/web/static/images/emoji/2744.png
Binary files differ
diff --git a/web/static/images/emoji/2747.png b/web/static/images/emoji/2747.png
new file mode 100644
index 000000000..cb37090c7
--- /dev/null
+++ b/web/static/images/emoji/2747.png
Binary files differ
diff --git a/web/static/images/emoji/274c.png b/web/static/images/emoji/274c.png
new file mode 100644
index 000000000..18de93090
--- /dev/null
+++ b/web/static/images/emoji/274c.png
Binary files differ
diff --git a/web/static/images/emoji/274e.png b/web/static/images/emoji/274e.png
new file mode 100644
index 000000000..90ca18394
--- /dev/null
+++ b/web/static/images/emoji/274e.png
Binary files differ
diff --git a/web/static/images/emoji/2753.png b/web/static/images/emoji/2753.png
new file mode 100644
index 000000000..9e84758ee
--- /dev/null
+++ b/web/static/images/emoji/2753.png
Binary files differ
diff --git a/web/static/images/emoji/2754.png b/web/static/images/emoji/2754.png
new file mode 100644
index 000000000..7808b13e3
--- /dev/null
+++ b/web/static/images/emoji/2754.png
Binary files differ
diff --git a/web/static/images/emoji/2755.png b/web/static/images/emoji/2755.png
new file mode 100644
index 000000000..759d6e7f7
--- /dev/null
+++ b/web/static/images/emoji/2755.png
Binary files differ
diff --git a/web/static/images/emoji/2757.png b/web/static/images/emoji/2757.png
new file mode 100644
index 000000000..b8fca78bc
--- /dev/null
+++ b/web/static/images/emoji/2757.png
Binary files differ
diff --git a/web/static/images/emoji/2764.png b/web/static/images/emoji/2764.png
new file mode 100644
index 000000000..af35e2223
--- /dev/null
+++ b/web/static/images/emoji/2764.png
Binary files differ
diff --git a/web/static/images/emoji/2795.png b/web/static/images/emoji/2795.png
new file mode 100644
index 000000000..198cde00e
--- /dev/null
+++ b/web/static/images/emoji/2795.png
Binary files differ
diff --git a/web/static/images/emoji/2796.png b/web/static/images/emoji/2796.png
new file mode 100644
index 000000000..60195e0d4
--- /dev/null
+++ b/web/static/images/emoji/2796.png
Binary files differ
diff --git a/web/static/images/emoji/2797.png b/web/static/images/emoji/2797.png
new file mode 100644
index 000000000..b883d27f5
--- /dev/null
+++ b/web/static/images/emoji/2797.png
Binary files differ
diff --git a/web/static/images/emoji/27a1.png b/web/static/images/emoji/27a1.png
new file mode 100644
index 000000000..67ab92488
--- /dev/null
+++ b/web/static/images/emoji/27a1.png
Binary files differ
diff --git a/web/static/images/emoji/27b0.png b/web/static/images/emoji/27b0.png
new file mode 100644
index 000000000..1c7b496c5
--- /dev/null
+++ b/web/static/images/emoji/27b0.png
Binary files differ
diff --git a/web/static/images/emoji/27bf.png b/web/static/images/emoji/27bf.png
new file mode 100644
index 000000000..a9b9248ba
--- /dev/null
+++ b/web/static/images/emoji/27bf.png
Binary files differ
diff --git a/web/static/images/emoji/2934.png b/web/static/images/emoji/2934.png
new file mode 100644
index 000000000..b6c5b0610
--- /dev/null
+++ b/web/static/images/emoji/2934.png
Binary files differ
diff --git a/web/static/images/emoji/2935.png b/web/static/images/emoji/2935.png
new file mode 100644
index 000000000..79234629f
--- /dev/null
+++ b/web/static/images/emoji/2935.png
Binary files differ
diff --git a/web/static/images/emoji/2b05.png b/web/static/images/emoji/2b05.png
new file mode 100644
index 000000000..58a76a59c
--- /dev/null
+++ b/web/static/images/emoji/2b05.png
Binary files differ
diff --git a/web/static/images/emoji/2b06.png b/web/static/images/emoji/2b06.png
new file mode 100644
index 000000000..d50437a6a
--- /dev/null
+++ b/web/static/images/emoji/2b06.png
Binary files differ
diff --git a/web/static/images/emoji/2b07.png b/web/static/images/emoji/2b07.png
new file mode 100644
index 000000000..cf9664792
--- /dev/null
+++ b/web/static/images/emoji/2b07.png
Binary files differ
diff --git a/web/static/images/emoji/2b1b.png b/web/static/images/emoji/2b1b.png
new file mode 100644
index 000000000..a8ca8cb81
--- /dev/null
+++ b/web/static/images/emoji/2b1b.png
Binary files differ
diff --git a/web/static/images/emoji/2b1c.png b/web/static/images/emoji/2b1c.png
new file mode 100644
index 000000000..2f6071f06
--- /dev/null
+++ b/web/static/images/emoji/2b1c.png
Binary files differ
diff --git a/web/static/images/emoji/2b50.png b/web/static/images/emoji/2b50.png
new file mode 100644
index 000000000..00f6758a2
--- /dev/null
+++ b/web/static/images/emoji/2b50.png
Binary files differ
diff --git a/web/static/images/emoji/2b55.png b/web/static/images/emoji/2b55.png
new file mode 100644
index 000000000..f141dc452
--- /dev/null
+++ b/web/static/images/emoji/2b55.png
Binary files differ
diff --git a/web/static/images/emoji/3030.png b/web/static/images/emoji/3030.png
new file mode 100644
index 000000000..3b346827b
--- /dev/null
+++ b/web/static/images/emoji/3030.png
Binary files differ
diff --git a/web/static/images/emoji/303d.png b/web/static/images/emoji/303d.png
new file mode 100644
index 000000000..d39063ed9
--- /dev/null
+++ b/web/static/images/emoji/303d.png
Binary files differ
diff --git a/web/static/images/emoji/3297.png b/web/static/images/emoji/3297.png
new file mode 100644
index 000000000..b3ffe6fe4
--- /dev/null
+++ b/web/static/images/emoji/3297.png
Binary files differ
diff --git a/web/static/images/emoji/3299.png b/web/static/images/emoji/3299.png
new file mode 100644
index 000000000..5ff746bec
--- /dev/null
+++ b/web/static/images/emoji/3299.png
Binary files differ
diff --git a/web/static/images/emoji/8ball.png b/web/static/images/emoji/8ball.png
index c2c710d45..7bf80b6d7 100755..100644
--- a/web/static/images/emoji/8ball.png
+++ b/web/static/images/emoji/8ball.png
Binary files differ
diff --git a/web/static/images/emoji/a.png b/web/static/images/emoji/a.png
index 09ff6d6f1..7b1f9663c 100755..100644
--- a/web/static/images/emoji/a.png
+++ b/web/static/images/emoji/a.png
Binary files differ
diff --git a/web/static/images/emoji/ab.png b/web/static/images/emoji/ab.png
index 2a5222047..386ec09fe 100755..100644
--- a/web/static/images/emoji/ab.png
+++ b/web/static/images/emoji/ab.png
Binary files differ
diff --git a/web/static/images/emoji/abc.png b/web/static/images/emoji/abc.png
index 505d40a15..51dc1bf76 100755..100644
--- a/web/static/images/emoji/abc.png
+++ b/web/static/images/emoji/abc.png
Binary files differ
diff --git a/web/static/images/emoji/abcd.png b/web/static/images/emoji/abcd.png
index 5218470b6..a79d4311d 100755..100644
--- a/web/static/images/emoji/abcd.png
+++ b/web/static/images/emoji/abcd.png
Binary files differ
diff --git a/web/static/images/emoji/accept.png b/web/static/images/emoji/accept.png
index 2d2009031..10cf9e29a 100755..100644
--- a/web/static/images/emoji/accept.png
+++ b/web/static/images/emoji/accept.png
Binary files differ
diff --git a/web/static/images/emoji/admission_tickets.png b/web/static/images/emoji/admission_tickets.png
new file mode 100644
index 000000000..e12819269
--- /dev/null
+++ b/web/static/images/emoji/admission_tickets.png
Binary files differ
diff --git a/web/static/images/emoji/aerial_tramway.png b/web/static/images/emoji/aerial_tramway.png
index 38f6dfe23..32d56bec7 100755..100644
--- a/web/static/images/emoji/aerial_tramway.png
+++ b/web/static/images/emoji/aerial_tramway.png
Binary files differ
diff --git a/web/static/images/emoji/airplane.png b/web/static/images/emoji/airplane.png
index 8407cb675..bf1786717 100755..100644
--- a/web/static/images/emoji/airplane.png
+++ b/web/static/images/emoji/airplane.png
Binary files differ
diff --git a/web/static/images/emoji/airplane_arriving.png b/web/static/images/emoji/airplane_arriving.png
new file mode 100644
index 000000000..4d754bf59
--- /dev/null
+++ b/web/static/images/emoji/airplane_arriving.png
Binary files differ
diff --git a/web/static/images/emoji/airplane_departure.png b/web/static/images/emoji/airplane_departure.png
new file mode 100644
index 000000000..9b0f017be
--- /dev/null
+++ b/web/static/images/emoji/airplane_departure.png
Binary files differ
diff --git a/web/static/images/emoji/alarm_clock.png b/web/static/images/emoji/alarm_clock.png
index 86ca8c8ed..3f466f3a7 100755..100644
--- a/web/static/images/emoji/alarm_clock.png
+++ b/web/static/images/emoji/alarm_clock.png
Binary files differ
diff --git a/web/static/images/emoji/alien.png b/web/static/images/emoji/alien.png
index 416de47be..6d0fc8399 100755..100644
--- a/web/static/images/emoji/alien.png
+++ b/web/static/images/emoji/alien.png
Binary files differ
diff --git a/web/static/images/emoji/ambulance.png b/web/static/images/emoji/ambulance.png
index b740f45db..9df138d9c 100755..100644
--- a/web/static/images/emoji/ambulance.png
+++ b/web/static/images/emoji/ambulance.png
Binary files differ
diff --git a/web/static/images/emoji/anchor.png b/web/static/images/emoji/anchor.png
index 0c5192e64..f2a8200f0 100755..100644
--- a/web/static/images/emoji/anchor.png
+++ b/web/static/images/emoji/anchor.png
Binary files differ
diff --git a/web/static/images/emoji/angel.png b/web/static/images/emoji/angel.png
index da52c310c..46546001f 100755..100644
--- a/web/static/images/emoji/angel.png
+++ b/web/static/images/emoji/angel.png
Binary files differ
diff --git a/web/static/images/emoji/anger.png b/web/static/images/emoji/anger.png
index 6fb4dca18..f69aa08d4 100755..100644
--- a/web/static/images/emoji/anger.png
+++ b/web/static/images/emoji/anger.png
Binary files differ
diff --git a/web/static/images/emoji/angry.png b/web/static/images/emoji/angry.png
index f95bfa897..103961ee4 100755..100644
--- a/web/static/images/emoji/angry.png
+++ b/web/static/images/emoji/angry.png
Binary files differ
diff --git a/web/static/images/emoji/anguished.png b/web/static/images/emoji/anguished.png
index c62594726..31b14f781 100755..100644
--- a/web/static/images/emoji/anguished.png
+++ b/web/static/images/emoji/anguished.png
Binary files differ
diff --git a/web/static/images/emoji/ant.png b/web/static/images/emoji/ant.png
index b92d1cc14..1b6ba80c0 100755..100644
--- a/web/static/images/emoji/ant.png
+++ b/web/static/images/emoji/ant.png
Binary files differ
diff --git a/web/static/images/emoji/apple.png b/web/static/images/emoji/apple.png
index 08aa17b95..bcc5c94aa 100755..100644
--- a/web/static/images/emoji/apple.png
+++ b/web/static/images/emoji/apple.png
Binary files differ
diff --git a/web/static/images/emoji/aquarius.png b/web/static/images/emoji/aquarius.png
index cbff66edc..2e645c9e3 100755..100644
--- a/web/static/images/emoji/aquarius.png
+++ b/web/static/images/emoji/aquarius.png
Binary files differ
diff --git a/web/static/images/emoji/aries.png b/web/static/images/emoji/aries.png
index aab5e8809..8c26a2400 100755..100644
--- a/web/static/images/emoji/aries.png
+++ b/web/static/images/emoji/aries.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_backward.png b/web/static/images/emoji/arrow_backward.png
index 088621834..66b208dd9 100755..100644
--- a/web/static/images/emoji/arrow_backward.png
+++ b/web/static/images/emoji/arrow_backward.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_double_down.png b/web/static/images/emoji/arrow_double_down.png
index 2ecbebcda..698156f8d 100755..100644
--- a/web/static/images/emoji/arrow_double_down.png
+++ b/web/static/images/emoji/arrow_double_down.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_double_up.png b/web/static/images/emoji/arrow_double_up.png
index 2bd6659b1..0878d9436 100755..100644
--- a/web/static/images/emoji/arrow_double_up.png
+++ b/web/static/images/emoji/arrow_double_up.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_down.png b/web/static/images/emoji/arrow_down.png
index e6702f02b..cf9664792 100755..100644
--- a/web/static/images/emoji/arrow_down.png
+++ b/web/static/images/emoji/arrow_down.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_down_small.png b/web/static/images/emoji/arrow_down_small.png
index 22d383a92..6694271c4 100755..100644
--- a/web/static/images/emoji/arrow_down_small.png
+++ b/web/static/images/emoji/arrow_down_small.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_forward.png b/web/static/images/emoji/arrow_forward.png
index fbfe711b6..cbc672c1e 100755..100644
--- a/web/static/images/emoji/arrow_forward.png
+++ b/web/static/images/emoji/arrow_forward.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_heading_down.png b/web/static/images/emoji/arrow_heading_down.png
index 56dd3b9d3..79234629f 100755..100644
--- a/web/static/images/emoji/arrow_heading_down.png
+++ b/web/static/images/emoji/arrow_heading_down.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_heading_up.png b/web/static/images/emoji/arrow_heading_up.png
index c8f670a1e..b6c5b0610 100755..100644
--- a/web/static/images/emoji/arrow_heading_up.png
+++ b/web/static/images/emoji/arrow_heading_up.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_left.png b/web/static/images/emoji/arrow_left.png
index d64ac619c..58a76a59c 100755..100644
--- a/web/static/images/emoji/arrow_left.png
+++ b/web/static/images/emoji/arrow_left.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_lower_left.png b/web/static/images/emoji/arrow_lower_left.png
index 55fb03c41..c5b1a2f7a 100755..100644
--- a/web/static/images/emoji/arrow_lower_left.png
+++ b/web/static/images/emoji/arrow_lower_left.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_lower_right.png b/web/static/images/emoji/arrow_lower_right.png
index da8fb8294..4e7757c23 100755..100644
--- a/web/static/images/emoji/arrow_lower_right.png
+++ b/web/static/images/emoji/arrow_lower_right.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_right.png b/web/static/images/emoji/arrow_right.png
index 6d483b514..67ab92488 100755..100644
--- a/web/static/images/emoji/arrow_right.png
+++ b/web/static/images/emoji/arrow_right.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_right_hook.png b/web/static/images/emoji/arrow_right_hook.png
index 8b4ea6e17..0512301c9 100755..100644
--- a/web/static/images/emoji/arrow_right_hook.png
+++ b/web/static/images/emoji/arrow_right_hook.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_up.png b/web/static/images/emoji/arrow_up.png
index b5b0688d3..d50437a6a 100755..100644
--- a/web/static/images/emoji/arrow_up.png
+++ b/web/static/images/emoji/arrow_up.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_up_down.png b/web/static/images/emoji/arrow_up_down.png
index be423de78..bb668b036 100755..100644
--- a/web/static/images/emoji/arrow_up_down.png
+++ b/web/static/images/emoji/arrow_up_down.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_up_small.png b/web/static/images/emoji/arrow_up_small.png
index 3f40bfb89..7752177fd 100755..100644
--- a/web/static/images/emoji/arrow_up_small.png
+++ b/web/static/images/emoji/arrow_up_small.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_upper_left.png b/web/static/images/emoji/arrow_upper_left.png
index 2950ae2f9..5a75e42ba 100755..100644
--- a/web/static/images/emoji/arrow_upper_left.png
+++ b/web/static/images/emoji/arrow_upper_left.png
Binary files differ
diff --git a/web/static/images/emoji/arrow_upper_right.png b/web/static/images/emoji/arrow_upper_right.png
index e23790ba1..267322593 100755..100644
--- a/web/static/images/emoji/arrow_upper_right.png
+++ b/web/static/images/emoji/arrow_upper_right.png
Binary files differ
diff --git a/web/static/images/emoji/arrows_clockwise.png b/web/static/images/emoji/arrows_clockwise.png
index 5f84d7e72..fe7d5bafd 100755..100644
--- a/web/static/images/emoji/arrows_clockwise.png
+++ b/web/static/images/emoji/arrows_clockwise.png
Binary files differ
diff --git a/web/static/images/emoji/arrows_counterclockwise.png b/web/static/images/emoji/arrows_counterclockwise.png
index 3e06f5b3c..7bd4e4d75 100755..100644
--- a/web/static/images/emoji/arrows_counterclockwise.png
+++ b/web/static/images/emoji/arrows_counterclockwise.png
Binary files differ
diff --git a/web/static/images/emoji/art.png b/web/static/images/emoji/art.png
index d45212b03..05116974d 100755..100644
--- a/web/static/images/emoji/art.png
+++ b/web/static/images/emoji/art.png
Binary files differ
diff --git a/web/static/images/emoji/articulated_lorry.png b/web/static/images/emoji/articulated_lorry.png
index 81ec1f917..4447dcfb5 100755..100644
--- a/web/static/images/emoji/articulated_lorry.png
+++ b/web/static/images/emoji/articulated_lorry.png
Binary files differ
diff --git a/web/static/images/emoji/astonished.png b/web/static/images/emoji/astonished.png
index 858a83484..7be652cab 100755..100644
--- a/web/static/images/emoji/astonished.png
+++ b/web/static/images/emoji/astonished.png
Binary files differ
diff --git a/web/static/images/emoji/athletic_shoe.png b/web/static/images/emoji/athletic_shoe.png
new file mode 100644
index 000000000..e2cd2d3d4
--- /dev/null
+++ b/web/static/images/emoji/athletic_shoe.png
Binary files differ
diff --git a/web/static/images/emoji/atm.png b/web/static/images/emoji/atm.png
index c2846e792..0769e688b 100755..100644
--- a/web/static/images/emoji/atm.png
+++ b/web/static/images/emoji/atm.png
Binary files differ
diff --git a/web/static/images/emoji/b.png b/web/static/images/emoji/b.png
index 8742b3d2e..cf87ad1fc 100755..100644
--- a/web/static/images/emoji/b.png
+++ b/web/static/images/emoji/b.png
Binary files differ
diff --git a/web/static/images/emoji/baby.png b/web/static/images/emoji/baby.png
index 3b29da40b..7bfa3d4b5 100755..100644
--- a/web/static/images/emoji/baby.png
+++ b/web/static/images/emoji/baby.png
Binary files differ
diff --git a/web/static/images/emoji/baby_bottle.png b/web/static/images/emoji/baby_bottle.png
index 1b2cfe5e3..64e9edee3 100755..100644
--- a/web/static/images/emoji/baby_bottle.png
+++ b/web/static/images/emoji/baby_bottle.png
Binary files differ
diff --git a/web/static/images/emoji/baby_chick.png b/web/static/images/emoji/baby_chick.png
index 9be8d2930..66785c880 100755..100644
--- a/web/static/images/emoji/baby_chick.png
+++ b/web/static/images/emoji/baby_chick.png
Binary files differ
diff --git a/web/static/images/emoji/baby_symbol.png b/web/static/images/emoji/baby_symbol.png
index 2e58725cf..c289fc5e5 100755..100644
--- a/web/static/images/emoji/baby_symbol.png
+++ b/web/static/images/emoji/baby_symbol.png
Binary files differ
diff --git a/web/static/images/emoji/back.png b/web/static/images/emoji/back.png
index 0cde62876..13983d277 100755..100644
--- a/web/static/images/emoji/back.png
+++ b/web/static/images/emoji/back.png
Binary files differ
diff --git a/web/static/images/emoji/baggage_claim.png b/web/static/images/emoji/baggage_claim.png
index 59ae044a4..3c6c63aff 100755..100644
--- a/web/static/images/emoji/baggage_claim.png
+++ b/web/static/images/emoji/baggage_claim.png
Binary files differ
diff --git a/web/static/images/emoji/balloon.png b/web/static/images/emoji/balloon.png
index 034489702..3cea35eba 100755..100644
--- a/web/static/images/emoji/balloon.png
+++ b/web/static/images/emoji/balloon.png
Binary files differ
diff --git a/web/static/images/emoji/ballot_box_with_ballot.png b/web/static/images/emoji/ballot_box_with_ballot.png
new file mode 100644
index 000000000..e97e4727e
--- /dev/null
+++ b/web/static/images/emoji/ballot_box_with_ballot.png
Binary files differ
diff --git a/web/static/images/emoji/ballot_box_with_check.png b/web/static/images/emoji/ballot_box_with_check.png
index f07a466c7..e9826b1db 100755..100644
--- a/web/static/images/emoji/ballot_box_with_check.png
+++ b/web/static/images/emoji/ballot_box_with_check.png
Binary files differ
diff --git a/web/static/images/emoji/bamboo.png b/web/static/images/emoji/bamboo.png
index fc858d0fc..4e27cc4c5 100755..100644
--- a/web/static/images/emoji/bamboo.png
+++ b/web/static/images/emoji/bamboo.png
Binary files differ
diff --git a/web/static/images/emoji/banana.png b/web/static/images/emoji/banana.png
index a0563afb9..5e68af770 100755..100644
--- a/web/static/images/emoji/banana.png
+++ b/web/static/images/emoji/banana.png
Binary files differ
diff --git a/web/static/images/emoji/bangbang.png b/web/static/images/emoji/bangbang.png
index 7270f0afe..ab85c1d06 100755..100644
--- a/web/static/images/emoji/bangbang.png
+++ b/web/static/images/emoji/bangbang.png
Binary files differ
diff --git a/web/static/images/emoji/bank.png b/web/static/images/emoji/bank.png
index 1faa8777e..5cde6caa9 100755..100644
--- a/web/static/images/emoji/bank.png
+++ b/web/static/images/emoji/bank.png
Binary files differ
diff --git a/web/static/images/emoji/bar_chart.png b/web/static/images/emoji/bar_chart.png
index 09d7301c4..9b5a73c72 100755..100644
--- a/web/static/images/emoji/bar_chart.png
+++ b/web/static/images/emoji/bar_chart.png
Binary files differ
diff --git a/web/static/images/emoji/barber.png b/web/static/images/emoji/barber.png
index a10cb2322..e2267ff8f 100755..100644
--- a/web/static/images/emoji/barber.png
+++ b/web/static/images/emoji/barber.png
Binary files differ
diff --git a/web/static/images/emoji/baseball.png b/web/static/images/emoji/baseball.png
index da004e2ea..4ba7a75a6 100755..100644
--- a/web/static/images/emoji/baseball.png
+++ b/web/static/images/emoji/baseball.png
Binary files differ
diff --git a/web/static/images/emoji/basketball.png b/web/static/images/emoji/basketball.png
index ef694bec4..e9b1c735a 100755..100644
--- a/web/static/images/emoji/basketball.png
+++ b/web/static/images/emoji/basketball.png
Binary files differ
diff --git a/web/static/images/emoji/bath.png b/web/static/images/emoji/bath.png
index 8f75d1d24..faca8ba79 100755..100644
--- a/web/static/images/emoji/bath.png
+++ b/web/static/images/emoji/bath.png
Binary files differ
diff --git a/web/static/images/emoji/bathtub.png b/web/static/images/emoji/bathtub.png
index 1c3f844ab..86b2a2629 100755..100644
--- a/web/static/images/emoji/bathtub.png
+++ b/web/static/images/emoji/bathtub.png
Binary files differ
diff --git a/web/static/images/emoji/battery.png b/web/static/images/emoji/battery.png
index aa7eedce4..9de506348 100755..100644
--- a/web/static/images/emoji/battery.png
+++ b/web/static/images/emoji/battery.png
Binary files differ
diff --git a/web/static/images/emoji/beach_with_umbrella.png b/web/static/images/emoji/beach_with_umbrella.png
new file mode 100644
index 000000000..0e244c164
--- /dev/null
+++ b/web/static/images/emoji/beach_with_umbrella.png
Binary files differ
diff --git a/web/static/images/emoji/bear.png b/web/static/images/emoji/bear.png
index f5afe920e..32387186f 100755..100644
--- a/web/static/images/emoji/bear.png
+++ b/web/static/images/emoji/bear.png
Binary files differ
diff --git a/web/static/images/emoji/bed.png b/web/static/images/emoji/bed.png
new file mode 100644
index 000000000..2b23803bc
--- /dev/null
+++ b/web/static/images/emoji/bed.png
Binary files differ
diff --git a/web/static/images/emoji/bee.png b/web/static/images/emoji/bee.png
index f53733953..e67b7703b 100755..100644
--- a/web/static/images/emoji/bee.png
+++ b/web/static/images/emoji/bee.png
Binary files differ
diff --git a/web/static/images/emoji/beer.png b/web/static/images/emoji/beer.png
index cd78bed74..de0c3ddd9 100755..100644
--- a/web/static/images/emoji/beer.png
+++ b/web/static/images/emoji/beer.png
Binary files differ
diff --git a/web/static/images/emoji/beers.png b/web/static/images/emoji/beers.png
index cc5e4ab5a..04ba4d9f4 100755..100644
--- a/web/static/images/emoji/beers.png
+++ b/web/static/images/emoji/beers.png
Binary files differ
diff --git a/web/static/images/emoji/beetle.png b/web/static/images/emoji/beetle.png
index 222577ca7..c35380926 100755..100644
--- a/web/static/images/emoji/beetle.png
+++ b/web/static/images/emoji/beetle.png
Binary files differ
diff --git a/web/static/images/emoji/beginner.png b/web/static/images/emoji/beginner.png
index 1f022d175..5f429bf63 100755..100644
--- a/web/static/images/emoji/beginner.png
+++ b/web/static/images/emoji/beginner.png
Binary files differ
diff --git a/web/static/images/emoji/bell.png b/web/static/images/emoji/bell.png
index 69acceb28..d1473557e 100755..100644
--- a/web/static/images/emoji/bell.png
+++ b/web/static/images/emoji/bell.png
Binary files differ
diff --git a/web/static/images/emoji/bellhop_bell.png b/web/static/images/emoji/bellhop_bell.png
new file mode 100644
index 000000000..5eb060df1
--- /dev/null
+++ b/web/static/images/emoji/bellhop_bell.png
Binary files differ
diff --git a/web/static/images/emoji/bento.png b/web/static/images/emoji/bento.png
index d6801124a..58af834fd 100755..100644
--- a/web/static/images/emoji/bento.png
+++ b/web/static/images/emoji/bento.png
Binary files differ
diff --git a/web/static/images/emoji/bicyclist.png b/web/static/images/emoji/bicyclist.png
index cbbd7c386..15b4c9666 100755..100644
--- a/web/static/images/emoji/bicyclist.png
+++ b/web/static/images/emoji/bicyclist.png
Binary files differ
diff --git a/web/static/images/emoji/bike.png b/web/static/images/emoji/bike.png
index 657386027..a37d60207 100755..100644
--- a/web/static/images/emoji/bike.png
+++ b/web/static/images/emoji/bike.png
Binary files differ
diff --git a/web/static/images/emoji/bikini.png b/web/static/images/emoji/bikini.png
index 4ff63b40f..62d142f31 100755..100644
--- a/web/static/images/emoji/bikini.png
+++ b/web/static/images/emoji/bikini.png
Binary files differ
diff --git a/web/static/images/emoji/bird.png b/web/static/images/emoji/bird.png
index e6be8c027..077178a42 100755..100644
--- a/web/static/images/emoji/bird.png
+++ b/web/static/images/emoji/bird.png
Binary files differ
diff --git a/web/static/images/emoji/birthday.png b/web/static/images/emoji/birthday.png
index 36e8edcbe..c5253b099 100755..100644
--- a/web/static/images/emoji/birthday.png
+++ b/web/static/images/emoji/birthday.png
Binary files differ
diff --git a/web/static/images/emoji/black_circle.png b/web/static/images/emoji/black_circle.png
index e46f9df61..a9f021517 100755..100644
--- a/web/static/images/emoji/black_circle.png
+++ b/web/static/images/emoji/black_circle.png
Binary files differ
diff --git a/web/static/images/emoji/black_joker.png b/web/static/images/emoji/black_joker.png
index 4c78f3614..1cbc43e84 100755..100644
--- a/web/static/images/emoji/black_joker.png
+++ b/web/static/images/emoji/black_joker.png
Binary files differ
diff --git a/web/static/images/emoji/black_large_square.png b/web/static/images/emoji/black_large_square.png
new file mode 100644
index 000000000..a8ca8cb81
--- /dev/null
+++ b/web/static/images/emoji/black_large_square.png
Binary files differ
diff --git a/web/static/images/emoji/black_medium_small_square.png b/web/static/images/emoji/black_medium_small_square.png
index 25bfe9c45..6dd0df1c9 100755..100644
--- a/web/static/images/emoji/black_medium_small_square.png
+++ b/web/static/images/emoji/black_medium_small_square.png
Binary files differ
diff --git a/web/static/images/emoji/black_medium_square.png b/web/static/images/emoji/black_medium_square.png
index 204cce12c..0250c07f4 100755..100644
--- a/web/static/images/emoji/black_medium_square.png
+++ b/web/static/images/emoji/black_medium_square.png
Binary files differ
diff --git a/web/static/images/emoji/black_nib.png b/web/static/images/emoji/black_nib.png
index 29f6994c1..6f1a76cde 100755..100644
--- a/web/static/images/emoji/black_nib.png
+++ b/web/static/images/emoji/black_nib.png
Binary files differ
diff --git a/web/static/images/emoji/black_small_square.png b/web/static/images/emoji/black_small_square.png
index a247751ec..5a5559241 100755..100644
--- a/web/static/images/emoji/black_small_square.png
+++ b/web/static/images/emoji/black_small_square.png
Binary files differ
diff --git a/web/static/images/emoji/black_square.png b/web/static/images/emoji/black_square.png
deleted file mode 100755
index 71da10de8..000000000
--- a/web/static/images/emoji/black_square.png
+++ /dev/null
Binary files differ
diff --git a/web/static/images/emoji/black_square_button.png b/web/static/images/emoji/black_square_button.png
index f2597e956..06c68f23e 100755..100644
--- a/web/static/images/emoji/black_square_button.png
+++ b/web/static/images/emoji/black_square_button.png
Binary files differ
diff --git a/web/static/images/emoji/blossom.png b/web/static/images/emoji/blossom.png
index 55a97353b..ffc25f252 100755..100644
--- a/web/static/images/emoji/blossom.png
+++ b/web/static/images/emoji/blossom.png
Binary files differ
diff --git a/web/static/images/emoji/blowfish.png b/web/static/images/emoji/blowfish.png
index d3ad46585..7529feff7 100755..100644
--- a/web/static/images/emoji/blowfish.png
+++ b/web/static/images/emoji/blowfish.png
Binary files differ
diff --git a/web/static/images/emoji/blue_book.png b/web/static/images/emoji/blue_book.png
index e2b9e8c79..673bf2bdb 100755..100644
--- a/web/static/images/emoji/blue_book.png
+++ b/web/static/images/emoji/blue_book.png
Binary files differ
diff --git a/web/static/images/emoji/blue_car.png b/web/static/images/emoji/blue_car.png
index 978291e08..0c2e833ff 100755..100644
--- a/web/static/images/emoji/blue_car.png
+++ b/web/static/images/emoji/blue_car.png
Binary files differ
diff --git a/web/static/images/emoji/blue_heart.png b/web/static/images/emoji/blue_heart.png
index baa29b31b..494ab723e 100755..100644
--- a/web/static/images/emoji/blue_heart.png
+++ b/web/static/images/emoji/blue_heart.png
Binary files differ
diff --git a/web/static/images/emoji/blush.png b/web/static/images/emoji/blush.png
index 3a95eb61a..1733df545 100755..100644
--- a/web/static/images/emoji/blush.png
+++ b/web/static/images/emoji/blush.png
Binary files differ
diff --git a/web/static/images/emoji/boar.png b/web/static/images/emoji/boar.png
index 8196ad4a1..2ccb92fd1 100755..100644
--- a/web/static/images/emoji/boar.png
+++ b/web/static/images/emoji/boar.png
Binary files differ
diff --git a/web/static/images/emoji/boat.png b/web/static/images/emoji/boat.png
index ff656dc62..9e862f831 100755..100644
--- a/web/static/images/emoji/boat.png
+++ b/web/static/images/emoji/boat.png
Binary files differ
diff --git a/web/static/images/emoji/bomb.png b/web/static/images/emoji/bomb.png
index 3289787dc..774c5c91e 100755..100644
--- a/web/static/images/emoji/bomb.png
+++ b/web/static/images/emoji/bomb.png
Binary files differ
diff --git a/web/static/images/emoji/book.png b/web/static/images/emoji/book.png
index 8b698415c..01c836a7e 100755..100644
--- a/web/static/images/emoji/book.png
+++ b/web/static/images/emoji/book.png
Binary files differ
diff --git a/web/static/images/emoji/bookmark.png b/web/static/images/emoji/bookmark.png
index 6fc4ed902..05a3325c8 100755..100644
--- a/web/static/images/emoji/bookmark.png
+++ b/web/static/images/emoji/bookmark.png
Binary files differ
diff --git a/web/static/images/emoji/bookmark_tabs.png b/web/static/images/emoji/bookmark_tabs.png
index 83782ff0c..9cec88387 100755..100644
--- a/web/static/images/emoji/bookmark_tabs.png
+++ b/web/static/images/emoji/bookmark_tabs.png
Binary files differ
diff --git a/web/static/images/emoji/books.png b/web/static/images/emoji/books.png
index dca06a1ad..65abc1651 100755..100644
--- a/web/static/images/emoji/books.png
+++ b/web/static/images/emoji/books.png
Binary files differ
diff --git a/web/static/images/emoji/boom.png b/web/static/images/emoji/boom.png
index 9d5bd0401..98a69a628 100755..100644
--- a/web/static/images/emoji/boom.png
+++ b/web/static/images/emoji/boom.png
Binary files differ
diff --git a/web/static/images/emoji/boot.png b/web/static/images/emoji/boot.png
index 58d0fdbcd..856256d5b 100755..100644
--- a/web/static/images/emoji/boot.png
+++ b/web/static/images/emoji/boot.png
Binary files differ
diff --git a/web/static/images/emoji/bouquet.png b/web/static/images/emoji/bouquet.png
index ce637832e..e42118f7f 100755..100644
--- a/web/static/images/emoji/bouquet.png
+++ b/web/static/images/emoji/bouquet.png
Binary files differ
diff --git a/web/static/images/emoji/bow.png b/web/static/images/emoji/bow.png
index 024cb6104..f763bdfe9 100755..100644
--- a/web/static/images/emoji/bow.png
+++ b/web/static/images/emoji/bow.png
Binary files differ
diff --git a/web/static/images/emoji/bowling.png b/web/static/images/emoji/bowling.png
index 13d8ece2e..e41edfbdb 100755..100644
--- a/web/static/images/emoji/bowling.png
+++ b/web/static/images/emoji/bowling.png
Binary files differ
diff --git a/web/static/images/emoji/bowtie.png b/web/static/images/emoji/bowtie.png
index 28ff0c787..28ff0c787 100755..100644
--- a/web/static/images/emoji/bowtie.png
+++ b/web/static/images/emoji/bowtie.png
Binary files differ
diff --git a/web/static/images/emoji/boy.png b/web/static/images/emoji/boy.png
index f79f1f298..ddcf29ca6 100755..100644
--- a/web/static/images/emoji/boy.png
+++ b/web/static/images/emoji/boy.png
Binary files differ
diff --git a/web/static/images/emoji/bread.png b/web/static/images/emoji/bread.png
index 7e7c63753..3ca73ebc7 100755..100644
--- a/web/static/images/emoji/bread.png
+++ b/web/static/images/emoji/bread.png
Binary files differ
diff --git a/web/static/images/emoji/bride_with_veil.png b/web/static/images/emoji/bride_with_veil.png
index dd0b0cfda..a19e3389e 100755..100644
--- a/web/static/images/emoji/bride_with_veil.png
+++ b/web/static/images/emoji/bride_with_veil.png
Binary files differ
diff --git a/web/static/images/emoji/bridge_at_night.png b/web/static/images/emoji/bridge_at_night.png
index 495b06c3d..44cf8852e 100755..100644
--- a/web/static/images/emoji/bridge_at_night.png
+++ b/web/static/images/emoji/bridge_at_night.png
Binary files differ
diff --git a/web/static/images/emoji/briefcase.png b/web/static/images/emoji/briefcase.png
index 46e82b001..49293eb0a 100755..100644
--- a/web/static/images/emoji/briefcase.png
+++ b/web/static/images/emoji/briefcase.png
Binary files differ
diff --git a/web/static/images/emoji/broken_heart.png b/web/static/images/emoji/broken_heart.png
index a1bc850ec..b7ee9b4e5 100755..100644
--- a/web/static/images/emoji/broken_heart.png
+++ b/web/static/images/emoji/broken_heart.png
Binary files differ
diff --git a/web/static/images/emoji/bug.png b/web/static/images/emoji/bug.png
index c2eaf7a70..06b35cf5a 100755..100644
--- a/web/static/images/emoji/bug.png
+++ b/web/static/images/emoji/bug.png
Binary files differ
diff --git a/web/static/images/emoji/building_construction.png b/web/static/images/emoji/building_construction.png
new file mode 100644
index 000000000..05a287fee
--- /dev/null
+++ b/web/static/images/emoji/building_construction.png
Binary files differ
diff --git a/web/static/images/emoji/bulb.png b/web/static/images/emoji/bulb.png
index 23afca1c7..7596c82a7 100755..100644
--- a/web/static/images/emoji/bulb.png
+++ b/web/static/images/emoji/bulb.png
Binary files differ
diff --git a/web/static/images/emoji/bullettrain_front.png b/web/static/images/emoji/bullettrain_front.png
index 16651acff..14ab9c409 100755..100644
--- a/web/static/images/emoji/bullettrain_front.png
+++ b/web/static/images/emoji/bullettrain_front.png
Binary files differ
diff --git a/web/static/images/emoji/bullettrain_side.png b/web/static/images/emoji/bullettrain_side.png
index 8eca36845..37daa558f 100755..100644
--- a/web/static/images/emoji/bullettrain_side.png
+++ b/web/static/images/emoji/bullettrain_side.png
Binary files differ
diff --git a/web/static/images/emoji/bus.png b/web/static/images/emoji/bus.png
index 823aa39e4..b4f9c0c1f 100755..100644
--- a/web/static/images/emoji/bus.png
+++ b/web/static/images/emoji/bus.png
Binary files differ
diff --git a/web/static/images/emoji/busstop.png b/web/static/images/emoji/busstop.png
index 94894847b..3e14a30b6 100755..100644
--- a/web/static/images/emoji/busstop.png
+++ b/web/static/images/emoji/busstop.png
Binary files differ
diff --git a/web/static/images/emoji/bust_in_silhouette.png b/web/static/images/emoji/bust_in_silhouette.png
index dd7defe28..db3a468fc 100755..100644
--- a/web/static/images/emoji/bust_in_silhouette.png
+++ b/web/static/images/emoji/bust_in_silhouette.png
Binary files differ
diff --git a/web/static/images/emoji/busts_in_silhouette.png b/web/static/images/emoji/busts_in_silhouette.png
index 1f3aabcff..f6018ac0e 100755..100644
--- a/web/static/images/emoji/busts_in_silhouette.png
+++ b/web/static/images/emoji/busts_in_silhouette.png
Binary files differ
diff --git a/web/static/images/emoji/cactus.png b/web/static/images/emoji/cactus.png
index 5a2c3cc72..0204fd343 100755..100644
--- a/web/static/images/emoji/cactus.png
+++ b/web/static/images/emoji/cactus.png
Binary files differ
diff --git a/web/static/images/emoji/cake.png b/web/static/images/emoji/cake.png
index efeb9b4b2..0be915e5b 100755..100644
--- a/web/static/images/emoji/cake.png
+++ b/web/static/images/emoji/cake.png
Binary files differ
diff --git a/web/static/images/emoji/calendar.png b/web/static/images/emoji/calendar.png
index 900b868bb..7b1845ab2 100755..100644
--- a/web/static/images/emoji/calendar.png
+++ b/web/static/images/emoji/calendar.png
Binary files differ
diff --git a/web/static/images/emoji/calling.png b/web/static/images/emoji/calling.png
index 837897f26..e10f74a6a 100755..100644
--- a/web/static/images/emoji/calling.png
+++ b/web/static/images/emoji/calling.png
Binary files differ
diff --git a/web/static/images/emoji/camel.png b/web/static/images/emoji/camel.png
index 496c186ae..f332bf333 100755..100644
--- a/web/static/images/emoji/camel.png
+++ b/web/static/images/emoji/camel.png
Binary files differ
diff --git a/web/static/images/emoji/camera.png b/web/static/images/emoji/camera.png
index 397d03b39..0b4463e8b 100755..100644
--- a/web/static/images/emoji/camera.png
+++ b/web/static/images/emoji/camera.png
Binary files differ
diff --git a/web/static/images/emoji/camera_with_flash.png b/web/static/images/emoji/camera_with_flash.png
new file mode 100644
index 000000000..66f223b17
--- /dev/null
+++ b/web/static/images/emoji/camera_with_flash.png
Binary files differ
diff --git a/web/static/images/emoji/camping.png b/web/static/images/emoji/camping.png
new file mode 100644
index 000000000..d45a07fcf
--- /dev/null
+++ b/web/static/images/emoji/camping.png
Binary files differ
diff --git a/web/static/images/emoji/cancer.png b/web/static/images/emoji/cancer.png
index ea43a4a2a..6375eabb5 100755..100644
--- a/web/static/images/emoji/cancer.png
+++ b/web/static/images/emoji/cancer.png
Binary files differ
diff --git a/web/static/images/emoji/candle.png b/web/static/images/emoji/candle.png
new file mode 100644
index 000000000..d3395073a
--- /dev/null
+++ b/web/static/images/emoji/candle.png
Binary files differ
diff --git a/web/static/images/emoji/candy.png b/web/static/images/emoji/candy.png
index 33722f236..c067807c1 100755..100644
--- a/web/static/images/emoji/candy.png
+++ b/web/static/images/emoji/candy.png
Binary files differ
diff --git a/web/static/images/emoji/capital_abcd.png b/web/static/images/emoji/capital_abcd.png
index ffc0cba4b..044554f6f 100755..100644
--- a/web/static/images/emoji/capital_abcd.png
+++ b/web/static/images/emoji/capital_abcd.png
Binary files differ
diff --git a/web/static/images/emoji/capricorn.png b/web/static/images/emoji/capricorn.png
index f2044e789..255ac3183 100755..100644
--- a/web/static/images/emoji/capricorn.png
+++ b/web/static/images/emoji/capricorn.png
Binary files differ
diff --git a/web/static/images/emoji/car.png b/web/static/images/emoji/car.png
index d70a2f062..e266bd21e 100755..100644
--- a/web/static/images/emoji/car.png
+++ b/web/static/images/emoji/car.png
Binary files differ
diff --git a/web/static/images/emoji/card_file_box.png b/web/static/images/emoji/card_file_box.png
new file mode 100644
index 000000000..c9278f336
--- /dev/null
+++ b/web/static/images/emoji/card_file_box.png
Binary files differ
diff --git a/web/static/images/emoji/card_index.png b/web/static/images/emoji/card_index.png
index 374e94e9e..84407de9e 100755..100644
--- a/web/static/images/emoji/card_index.png
+++ b/web/static/images/emoji/card_index.png
Binary files differ
diff --git a/web/static/images/emoji/card_index_dividers.png b/web/static/images/emoji/card_index_dividers.png
new file mode 100644
index 000000000..b22199edd
--- /dev/null
+++ b/web/static/images/emoji/card_index_dividers.png
Binary files differ
diff --git a/web/static/images/emoji/carousel_horse.png b/web/static/images/emoji/carousel_horse.png
index 765d2c0a8..33f159f06 100755..100644
--- a/web/static/images/emoji/carousel_horse.png
+++ b/web/static/images/emoji/carousel_horse.png
Binary files differ
diff --git a/web/static/images/emoji/cat.png b/web/static/images/emoji/cat.png
index 09b9ef79a..126d2ef79 100755..100644
--- a/web/static/images/emoji/cat.png
+++ b/web/static/images/emoji/cat.png
Binary files differ
diff --git a/web/static/images/emoji/cat2.png b/web/static/images/emoji/cat2.png
index 6dbc4c71e..79f06af48 100755..100644
--- a/web/static/images/emoji/cat2.png
+++ b/web/static/images/emoji/cat2.png
Binary files differ
diff --git a/web/static/images/emoji/cd.png b/web/static/images/emoji/cd.png
index baff835c4..10d5db668 100755..100644
--- a/web/static/images/emoji/cd.png
+++ b/web/static/images/emoji/cd.png
Binary files differ
diff --git a/web/static/images/emoji/chart.png b/web/static/images/emoji/chart.png
index ac2c4bb09..6b7fb1cdd 100755..100644
--- a/web/static/images/emoji/chart.png
+++ b/web/static/images/emoji/chart.png
Binary files differ
diff --git a/web/static/images/emoji/chart_with_downwards_trend.png b/web/static/images/emoji/chart_with_downwards_trend.png
index cb0d2a113..63ab4f0b4 100755..100644
--- a/web/static/images/emoji/chart_with_downwards_trend.png
+++ b/web/static/images/emoji/chart_with_downwards_trend.png
Binary files differ
diff --git a/web/static/images/emoji/chart_with_upwards_trend.png b/web/static/images/emoji/chart_with_upwards_trend.png
index 7c66745c9..74a525be1 100755..100644
--- a/web/static/images/emoji/chart_with_upwards_trend.png
+++ b/web/static/images/emoji/chart_with_upwards_trend.png
Binary files differ
diff --git a/web/static/images/emoji/checkered_flag.png b/web/static/images/emoji/checkered_flag.png
index ead4a68dd..9f1d564f6 100755..100644
--- a/web/static/images/emoji/checkered_flag.png
+++ b/web/static/images/emoji/checkered_flag.png
Binary files differ
diff --git a/web/static/images/emoji/cherries.png b/web/static/images/emoji/cherries.png
index 8d3e044f2..982292e95 100755..100644
--- a/web/static/images/emoji/cherries.png
+++ b/web/static/images/emoji/cherries.png
Binary files differ
diff --git a/web/static/images/emoji/cherry_blossom.png b/web/static/images/emoji/cherry_blossom.png
index e03155499..7cd8a22e7 100755..100644
--- a/web/static/images/emoji/cherry_blossom.png
+++ b/web/static/images/emoji/cherry_blossom.png
Binary files differ
diff --git a/web/static/images/emoji/chestnut.png b/web/static/images/emoji/chestnut.png
index 066fb6bf6..f983cb132 100755..100644
--- a/web/static/images/emoji/chestnut.png
+++ b/web/static/images/emoji/chestnut.png
Binary files differ
diff --git a/web/static/images/emoji/chicken.png b/web/static/images/emoji/chicken.png
index 6d25c0ef4..182ffb343 100755..100644
--- a/web/static/images/emoji/chicken.png
+++ b/web/static/images/emoji/chicken.png
Binary files differ
diff --git a/web/static/images/emoji/children_crossing.png b/web/static/images/emoji/children_crossing.png
index b0302ae62..56ad0fb15 100755..100644
--- a/web/static/images/emoji/children_crossing.png
+++ b/web/static/images/emoji/children_crossing.png
Binary files differ
diff --git a/web/static/images/emoji/chipmunk.png b/web/static/images/emoji/chipmunk.png
new file mode 100644
index 000000000..2881d09be
--- /dev/null
+++ b/web/static/images/emoji/chipmunk.png
Binary files differ
diff --git a/web/static/images/emoji/chocolate_bar.png b/web/static/images/emoji/chocolate_bar.png
index c7ec19d07..f76d0902e 100755..100644
--- a/web/static/images/emoji/chocolate_bar.png
+++ b/web/static/images/emoji/chocolate_bar.png
Binary files differ
diff --git a/web/static/images/emoji/christmas_tree.png b/web/static/images/emoji/christmas_tree.png
index d813b9593..7674eb441 100755..100644
--- a/web/static/images/emoji/christmas_tree.png
+++ b/web/static/images/emoji/christmas_tree.png
Binary files differ
diff --git a/web/static/images/emoji/church.png b/web/static/images/emoji/church.png
index 4c07c6b9e..e1f25e25a 100755..100644
--- a/web/static/images/emoji/church.png
+++ b/web/static/images/emoji/church.png
Binary files differ
diff --git a/web/static/images/emoji/cinema.png b/web/static/images/emoji/cinema.png
index a990ccf99..972b57df7 100755..100644
--- a/web/static/images/emoji/cinema.png
+++ b/web/static/images/emoji/cinema.png
Binary files differ
diff --git a/web/static/images/emoji/circus_tent.png b/web/static/images/emoji/circus_tent.png
index 4af8719aa..713b4f085 100755..100644
--- a/web/static/images/emoji/circus_tent.png
+++ b/web/static/images/emoji/circus_tent.png
Binary files differ
diff --git a/web/static/images/emoji/city_sunrise.png b/web/static/images/emoji/city_sunrise.png
index 91ca2a40b..a65691bb0 100755..100644
--- a/web/static/images/emoji/city_sunrise.png
+++ b/web/static/images/emoji/city_sunrise.png
Binary files differ
diff --git a/web/static/images/emoji/city_sunset.png b/web/static/images/emoji/city_sunset.png
index 7cb178a2c..f64483fb6 100755..100644
--- a/web/static/images/emoji/city_sunset.png
+++ b/web/static/images/emoji/city_sunset.png
Binary files differ
diff --git a/web/static/images/emoji/cityscape.png b/web/static/images/emoji/cityscape.png
new file mode 100644
index 000000000..4d331db74
--- /dev/null
+++ b/web/static/images/emoji/cityscape.png
Binary files differ
diff --git a/web/static/images/emoji/cl.png b/web/static/images/emoji/cl.png
index 15ac67525..ccd6494e6 100755..100644
--- a/web/static/images/emoji/cl.png
+++ b/web/static/images/emoji/cl.png
Binary files differ
diff --git a/web/static/images/emoji/clap.png b/web/static/images/emoji/clap.png
index d01c982a7..ccb725e96 100755..100644
--- a/web/static/images/emoji/clap.png
+++ b/web/static/images/emoji/clap.png
Binary files differ
diff --git a/web/static/images/emoji/clapper.png b/web/static/images/emoji/clapper.png
index 4e1dc111d..54bbba809 100755..100644
--- a/web/static/images/emoji/clapper.png
+++ b/web/static/images/emoji/clapper.png
Binary files differ
diff --git a/web/static/images/emoji/classical_building.png b/web/static/images/emoji/classical_building.png
new file mode 100644
index 000000000..71150c7c5
--- /dev/null
+++ b/web/static/images/emoji/classical_building.png
Binary files differ
diff --git a/web/static/images/emoji/clipboard.png b/web/static/images/emoji/clipboard.png
index e2c74e6df..7f50dfff7 100755..100644
--- a/web/static/images/emoji/clipboard.png
+++ b/web/static/images/emoji/clipboard.png
Binary files differ
diff --git a/web/static/images/emoji/clock1.png b/web/static/images/emoji/clock1.png
index 9174d4e0b..980085a07 100755..100644
--- a/web/static/images/emoji/clock1.png
+++ b/web/static/images/emoji/clock1.png
Binary files differ
diff --git a/web/static/images/emoji/clock10.png b/web/static/images/emoji/clock10.png
index 39f590d69..90f1576d2 100755..100644
--- a/web/static/images/emoji/clock10.png
+++ b/web/static/images/emoji/clock10.png
Binary files differ
diff --git a/web/static/images/emoji/clock1030.png b/web/static/images/emoji/clock1030.png
index 0483b3059..c530b7db4 100755..100644
--- a/web/static/images/emoji/clock1030.png
+++ b/web/static/images/emoji/clock1030.png
Binary files differ
diff --git a/web/static/images/emoji/clock11.png b/web/static/images/emoji/clock11.png
index ddb53fada..918ba245f 100755..100644
--- a/web/static/images/emoji/clock11.png
+++ b/web/static/images/emoji/clock11.png
Binary files differ
diff --git a/web/static/images/emoji/clock1130.png b/web/static/images/emoji/clock1130.png
index 415999ec8..e39bbbbb1 100755..100644
--- a/web/static/images/emoji/clock1130.png
+++ b/web/static/images/emoji/clock1130.png
Binary files differ
diff --git a/web/static/images/emoji/clock12.png b/web/static/images/emoji/clock12.png
index 87b132878..d5848e629 100755..100644
--- a/web/static/images/emoji/clock12.png
+++ b/web/static/images/emoji/clock12.png
Binary files differ
diff --git a/web/static/images/emoji/clock1230.png b/web/static/images/emoji/clock1230.png
index a6527154d..f67ed85f3 100755..100644
--- a/web/static/images/emoji/clock1230.png
+++ b/web/static/images/emoji/clock1230.png
Binary files differ
diff --git a/web/static/images/emoji/clock130.png b/web/static/images/emoji/clock130.png
index 90ea5b914..c4675548d 100755..100644
--- a/web/static/images/emoji/clock130.png
+++ b/web/static/images/emoji/clock130.png
Binary files differ
diff --git a/web/static/images/emoji/clock2.png b/web/static/images/emoji/clock2.png
index 65b3b3af0..ba411f8f0 100755..100644
--- a/web/static/images/emoji/clock2.png
+++ b/web/static/images/emoji/clock2.png
Binary files differ
diff --git a/web/static/images/emoji/clock230.png b/web/static/images/emoji/clock230.png
index f12c6912a..5482453d1 100755..100644
--- a/web/static/images/emoji/clock230.png
+++ b/web/static/images/emoji/clock230.png
Binary files differ
diff --git a/web/static/images/emoji/clock3.png b/web/static/images/emoji/clock3.png
index 3e44d64e2..7978c4251 100755..100644
--- a/web/static/images/emoji/clock3.png
+++ b/web/static/images/emoji/clock3.png
Binary files differ
diff --git a/web/static/images/emoji/clock330.png b/web/static/images/emoji/clock330.png
index 1dc9628ea..f66421993 100755..100644
--- a/web/static/images/emoji/clock330.png
+++ b/web/static/images/emoji/clock330.png
Binary files differ
diff --git a/web/static/images/emoji/clock4.png b/web/static/images/emoji/clock4.png
index 948ed1a38..4cfceb291 100755..100644
--- a/web/static/images/emoji/clock4.png
+++ b/web/static/images/emoji/clock4.png
Binary files differ
diff --git a/web/static/images/emoji/clock430.png b/web/static/images/emoji/clock430.png
index 5d6b16a2d..b93f01e67 100755..100644
--- a/web/static/images/emoji/clock430.png
+++ b/web/static/images/emoji/clock430.png
Binary files differ
diff --git a/web/static/images/emoji/clock5.png b/web/static/images/emoji/clock5.png
index b010b4f8a..403b99fb2 100755..100644
--- a/web/static/images/emoji/clock5.png
+++ b/web/static/images/emoji/clock5.png
Binary files differ
diff --git a/web/static/images/emoji/clock530.png b/web/static/images/emoji/clock530.png
index e08d4ad2b..b2ad07307 100755..100644
--- a/web/static/images/emoji/clock530.png
+++ b/web/static/images/emoji/clock530.png
Binary files differ
diff --git a/web/static/images/emoji/clock6.png b/web/static/images/emoji/clock6.png
index 76bf8cf18..008ac2b9e 100755..100644
--- a/web/static/images/emoji/clock6.png
+++ b/web/static/images/emoji/clock6.png
Binary files differ
diff --git a/web/static/images/emoji/clock630.png b/web/static/images/emoji/clock630.png
index 46f0681f1..dbabd4eb9 100755..100644
--- a/web/static/images/emoji/clock630.png
+++ b/web/static/images/emoji/clock630.png
Binary files differ
diff --git a/web/static/images/emoji/clock7.png b/web/static/images/emoji/clock7.png
index d48f645d8..067d11165 100755..100644
--- a/web/static/images/emoji/clock7.png
+++ b/web/static/images/emoji/clock7.png
Binary files differ
diff --git a/web/static/images/emoji/clock730.png b/web/static/images/emoji/clock730.png
index f2807de2f..415894eda 100755..100644
--- a/web/static/images/emoji/clock730.png
+++ b/web/static/images/emoji/clock730.png
Binary files differ
diff --git a/web/static/images/emoji/clock8.png b/web/static/images/emoji/clock8.png
index 74c770d89..c4bdc4080 100755..100644
--- a/web/static/images/emoji/clock8.png
+++ b/web/static/images/emoji/clock8.png
Binary files differ
diff --git a/web/static/images/emoji/clock830.png b/web/static/images/emoji/clock830.png
index f58f3dadd..8e899ad48 100755..100644
--- a/web/static/images/emoji/clock830.png
+++ b/web/static/images/emoji/clock830.png
Binary files differ
diff --git a/web/static/images/emoji/clock9.png b/web/static/images/emoji/clock9.png
index f009d14ac..467de0ba5 100755..100644
--- a/web/static/images/emoji/clock9.png
+++ b/web/static/images/emoji/clock9.png
Binary files differ
diff --git a/web/static/images/emoji/clock930.png b/web/static/images/emoji/clock930.png
index fd3522142..d9c91203c 100755..100644
--- a/web/static/images/emoji/clock930.png
+++ b/web/static/images/emoji/clock930.png
Binary files differ
diff --git a/web/static/images/emoji/closed_book.png b/web/static/images/emoji/closed_book.png
index 484029c5e..e26390e0a 100755..100644
--- a/web/static/images/emoji/closed_book.png
+++ b/web/static/images/emoji/closed_book.png
Binary files differ
diff --git a/web/static/images/emoji/closed_lock_with_key.png b/web/static/images/emoji/closed_lock_with_key.png
index e6fdf6cb2..d2bddb1eb 100755..100644
--- a/web/static/images/emoji/closed_lock_with_key.png
+++ b/web/static/images/emoji/closed_lock_with_key.png
Binary files differ
diff --git a/web/static/images/emoji/closed_umbrella.png b/web/static/images/emoji/closed_umbrella.png
index 0b719f086..00afbfb40 100755..100644
--- a/web/static/images/emoji/closed_umbrella.png
+++ b/web/static/images/emoji/closed_umbrella.png
Binary files differ
diff --git a/web/static/images/emoji/cloud.png b/web/static/images/emoji/cloud.png
index b31c08c0b..559c52f76 100755..100644
--- a/web/static/images/emoji/cloud.png
+++ b/web/static/images/emoji/cloud.png
Binary files differ
diff --git a/web/static/images/emoji/clubs.png b/web/static/images/emoji/clubs.png
index bfab53656..307231d98 100755..100644
--- a/web/static/images/emoji/clubs.png
+++ b/web/static/images/emoji/clubs.png
Binary files differ
diff --git a/web/static/images/emoji/cn.png b/web/static/images/emoji/cn.png
index b30dcc53d..0151923f3 100755..100644
--- a/web/static/images/emoji/cn.png
+++ b/web/static/images/emoji/cn.png
Binary files differ
diff --git a/web/static/images/emoji/cocktail.png b/web/static/images/emoji/cocktail.png
index 28b45ea51..abff15aa8 100755..100644
--- a/web/static/images/emoji/cocktail.png
+++ b/web/static/images/emoji/cocktail.png
Binary files differ
diff --git a/web/static/images/emoji/coffee.png b/web/static/images/emoji/coffee.png
index 57e1adcb0..109505f51 100755..100644
--- a/web/static/images/emoji/coffee.png
+++ b/web/static/images/emoji/coffee.png
Binary files differ
diff --git a/web/static/images/emoji/cold_sweat.png b/web/static/images/emoji/cold_sweat.png
index b9e39bc60..f488a3ec3 100755..100644
--- a/web/static/images/emoji/cold_sweat.png
+++ b/web/static/images/emoji/cold_sweat.png
Binary files differ
diff --git a/web/static/images/emoji/collision.png b/web/static/images/emoji/collision.png
index 9d5bd0401..98a69a628 100755..100644
--- a/web/static/images/emoji/collision.png
+++ b/web/static/images/emoji/collision.png
Binary files differ
diff --git a/web/static/images/emoji/compression.png b/web/static/images/emoji/compression.png
new file mode 100644
index 000000000..08c06264e
--- /dev/null
+++ b/web/static/images/emoji/compression.png
Binary files differ
diff --git a/web/static/images/emoji/computer.png b/web/static/images/emoji/computer.png
index d4d268762..e23340a04 100755..100644
--- a/web/static/images/emoji/computer.png
+++ b/web/static/images/emoji/computer.png
Binary files differ
diff --git a/web/static/images/emoji/confetti_ball.png b/web/static/images/emoji/confetti_ball.png
index bd293e3d8..74c61e434 100755..100644
--- a/web/static/images/emoji/confetti_ball.png
+++ b/web/static/images/emoji/confetti_ball.png
Binary files differ
diff --git a/web/static/images/emoji/confounded.png b/web/static/images/emoji/confounded.png
index 762c3766a..da0e1cad0 100755..100644
--- a/web/static/images/emoji/confounded.png
+++ b/web/static/images/emoji/confounded.png
Binary files differ
diff --git a/web/static/images/emoji/confused.png b/web/static/images/emoji/confused.png
index 8dc494db0..6bb66752f 100755..100644
--- a/web/static/images/emoji/confused.png
+++ b/web/static/images/emoji/confused.png
Binary files differ
diff --git a/web/static/images/emoji/congratulations.png b/web/static/images/emoji/congratulations.png
index 85814e33c..b3ffe6fe4 100755..100644
--- a/web/static/images/emoji/congratulations.png
+++ b/web/static/images/emoji/congratulations.png
Binary files differ
diff --git a/web/static/images/emoji/construction.png b/web/static/images/emoji/construction.png
index 523e9f10b..d29f47b02 100755..100644
--- a/web/static/images/emoji/construction.png
+++ b/web/static/images/emoji/construction.png
Binary files differ
diff --git a/web/static/images/emoji/construction_worker.png b/web/static/images/emoji/construction_worker.png
index 4d6486047..862e51f40 100755..100644
--- a/web/static/images/emoji/construction_worker.png
+++ b/web/static/images/emoji/construction_worker.png
Binary files differ
diff --git a/web/static/images/emoji/control_knobs.png b/web/static/images/emoji/control_knobs.png
new file mode 100644
index 000000000..ab4045342
--- /dev/null
+++ b/web/static/images/emoji/control_knobs.png
Binary files differ
diff --git a/web/static/images/emoji/convenience_store.png b/web/static/images/emoji/convenience_store.png
index 671696c2d..fbfc257ee 100755..100644
--- a/web/static/images/emoji/convenience_store.png
+++ b/web/static/images/emoji/convenience_store.png
Binary files differ
diff --git a/web/static/images/emoji/cookie.png b/web/static/images/emoji/cookie.png
index 653edb258..8eb640e8d 100755..100644
--- a/web/static/images/emoji/cookie.png
+++ b/web/static/images/emoji/cookie.png
Binary files differ
diff --git a/web/static/images/emoji/cool.png b/web/static/images/emoji/cool.png
index 937dcd792..07c22b8c5 100755..100644
--- a/web/static/images/emoji/cool.png
+++ b/web/static/images/emoji/cool.png
Binary files differ
diff --git a/web/static/images/emoji/cop.png b/web/static/images/emoji/cop.png
index 43a5a84f8..818cab806 100755..100644
--- a/web/static/images/emoji/cop.png
+++ b/web/static/images/emoji/cop.png
Binary files differ
diff --git a/web/static/images/emoji/copyright.png b/web/static/images/emoji/copyright.png
index 38493c33f..9872c5b7e 100755..100644
--- a/web/static/images/emoji/copyright.png
+++ b/web/static/images/emoji/copyright.png
Binary files differ
diff --git a/web/static/images/emoji/corn.png b/web/static/images/emoji/corn.png
index fe5d8b128..e5f2304bd 100755..100644
--- a/web/static/images/emoji/corn.png
+++ b/web/static/images/emoji/corn.png
Binary files differ
diff --git a/web/static/images/emoji/couch_and_lamp.png b/web/static/images/emoji/couch_and_lamp.png
new file mode 100644
index 000000000..fe7473eef
--- /dev/null
+++ b/web/static/images/emoji/couch_and_lamp.png
Binary files differ
diff --git a/web/static/images/emoji/couple.png b/web/static/images/emoji/couple.png
index 9e51f40e1..616f8520b 100755..100644
--- a/web/static/images/emoji/couple.png
+++ b/web/static/images/emoji/couple.png
Binary files differ
diff --git a/web/static/images/emoji/couple_with_heart.png b/web/static/images/emoji/couple_with_heart.png
index c503f40a9..44d4e18bd 100755..100644
--- a/web/static/images/emoji/couple_with_heart.png
+++ b/web/static/images/emoji/couple_with_heart.png
Binary files differ
diff --git a/web/static/images/emoji/couplekiss.png b/web/static/images/emoji/couplekiss.png
index d02790822..0280fba18 100755..100644
--- a/web/static/images/emoji/couplekiss.png
+++ b/web/static/images/emoji/couplekiss.png
Binary files differ
diff --git a/web/static/images/emoji/cow.png b/web/static/images/emoji/cow.png
index 12e1ab6c0..15196a069 100755..100644
--- a/web/static/images/emoji/cow.png
+++ b/web/static/images/emoji/cow.png
Binary files differ
diff --git a/web/static/images/emoji/cow2.png b/web/static/images/emoji/cow2.png
index 594c92155..b3767f6c5 100755..100644
--- a/web/static/images/emoji/cow2.png
+++ b/web/static/images/emoji/cow2.png
Binary files differ
diff --git a/web/static/images/emoji/credit_card.png b/web/static/images/emoji/credit_card.png
index be1c1dd30..e41515bb7 100755..100644
--- a/web/static/images/emoji/credit_card.png
+++ b/web/static/images/emoji/credit_card.png
Binary files differ
diff --git a/web/static/images/emoji/crescent_moon.png b/web/static/images/emoji/crescent_moon.png
index afdb450d1..2a0b9f39b 100755..100644
--- a/web/static/images/emoji/crescent_moon.png
+++ b/web/static/images/emoji/crescent_moon.png
Binary files differ
diff --git a/web/static/images/emoji/crocodile.png b/web/static/images/emoji/crocodile.png
index 7435d5ab3..3b53cacf8 100755..100644
--- a/web/static/images/emoji/crocodile.png
+++ b/web/static/images/emoji/crocodile.png
Binary files differ
diff --git a/web/static/images/emoji/crossed_flags.png b/web/static/images/emoji/crossed_flags.png
index 2397bcd0f..5d88b0ad0 100755..100644
--- a/web/static/images/emoji/crossed_flags.png
+++ b/web/static/images/emoji/crossed_flags.png
Binary files differ
diff --git a/web/static/images/emoji/crown.png b/web/static/images/emoji/crown.png
index 39da1d528..54ca7998c 100755..100644
--- a/web/static/images/emoji/crown.png
+++ b/web/static/images/emoji/crown.png
Binary files differ
diff --git a/web/static/images/emoji/cry.png b/web/static/images/emoji/cry.png
index 6d0d9afd2..dd17cbcca 100755..100644
--- a/web/static/images/emoji/cry.png
+++ b/web/static/images/emoji/cry.png
Binary files differ
diff --git a/web/static/images/emoji/crying_cat_face.png b/web/static/images/emoji/crying_cat_face.png
index 42d4c27ca..c467c2198 100755..100644
--- a/web/static/images/emoji/crying_cat_face.png
+++ b/web/static/images/emoji/crying_cat_face.png
Binary files differ
diff --git a/web/static/images/emoji/crystal_ball.png b/web/static/images/emoji/crystal_ball.png
index 6d2c6c42d..d9ee3b4f3 100755..100644
--- a/web/static/images/emoji/crystal_ball.png
+++ b/web/static/images/emoji/crystal_ball.png
Binary files differ
diff --git a/web/static/images/emoji/cupid.png b/web/static/images/emoji/cupid.png
index 498728476..49260219c 100755..100644
--- a/web/static/images/emoji/cupid.png
+++ b/web/static/images/emoji/cupid.png
Binary files differ
diff --git a/web/static/images/emoji/curly_loop.png b/web/static/images/emoji/curly_loop.png
index 7dd841d00..1c7b496c5 100755..100644
--- a/web/static/images/emoji/curly_loop.png
+++ b/web/static/images/emoji/curly_loop.png
Binary files differ
diff --git a/web/static/images/emoji/currency_exchange.png b/web/static/images/emoji/currency_exchange.png
index 6ebebe70a..7cdbde70c 100755..100644
--- a/web/static/images/emoji/currency_exchange.png
+++ b/web/static/images/emoji/currency_exchange.png
Binary files differ
diff --git a/web/static/images/emoji/curry.png b/web/static/images/emoji/curry.png
index 7983c706a..0afd63ca1 100755..100644
--- a/web/static/images/emoji/curry.png
+++ b/web/static/images/emoji/curry.png
Binary files differ
diff --git a/web/static/images/emoji/custard.png b/web/static/images/emoji/custard.png
index 9f843b4c1..44af92a57 100755..100644
--- a/web/static/images/emoji/custard.png
+++ b/web/static/images/emoji/custard.png
Binary files differ
diff --git a/web/static/images/emoji/customs.png b/web/static/images/emoji/customs.png
index 92691e311..8c6811ce7 100755..100644
--- a/web/static/images/emoji/customs.png
+++ b/web/static/images/emoji/customs.png
Binary files differ
diff --git a/web/static/images/emoji/cyclone.png b/web/static/images/emoji/cyclone.png
index 5fd2e4512..bd243229a 100755..100644
--- a/web/static/images/emoji/cyclone.png
+++ b/web/static/images/emoji/cyclone.png
Binary files differ
diff --git a/web/static/images/emoji/dagger_knife.png b/web/static/images/emoji/dagger_knife.png
new file mode 100644
index 000000000..8bfeac95d
--- /dev/null
+++ b/web/static/images/emoji/dagger_knife.png
Binary files differ
diff --git a/web/static/images/emoji/dancer.png b/web/static/images/emoji/dancer.png
index 7a7bf59f1..8e3c67dd2 100755..100644
--- a/web/static/images/emoji/dancer.png
+++ b/web/static/images/emoji/dancer.png
Binary files differ
diff --git a/web/static/images/emoji/dancers.png b/web/static/images/emoji/dancers.png
index 2dfb451a7..8829c0e87 100755..100644
--- a/web/static/images/emoji/dancers.png
+++ b/web/static/images/emoji/dancers.png
Binary files differ
diff --git a/web/static/images/emoji/dango.png b/web/static/images/emoji/dango.png
index 2d042aebe..d679ebc02 100755..100644
--- a/web/static/images/emoji/dango.png
+++ b/web/static/images/emoji/dango.png
Binary files differ
diff --git a/web/static/images/emoji/dark_sunglasses.png b/web/static/images/emoji/dark_sunglasses.png
new file mode 100644
index 000000000..6ed2172a0
--- /dev/null
+++ b/web/static/images/emoji/dark_sunglasses.png
Binary files differ
diff --git a/web/static/images/emoji/dart.png b/web/static/images/emoji/dart.png
index 5f16864cb..527b6a94e 100755..100644
--- a/web/static/images/emoji/dart.png
+++ b/web/static/images/emoji/dart.png
Binary files differ
diff --git a/web/static/images/emoji/dash.png b/web/static/images/emoji/dash.png
index dc2c0a8f4..d58c22281 100755..100644
--- a/web/static/images/emoji/dash.png
+++ b/web/static/images/emoji/dash.png
Binary files differ
diff --git a/web/static/images/emoji/date.png b/web/static/images/emoji/date.png
index 6ad2efa5f..61308e816 100755..100644
--- a/web/static/images/emoji/date.png
+++ b/web/static/images/emoji/date.png
Binary files differ
diff --git a/web/static/images/emoji/de.png b/web/static/images/emoji/de.png
index 16a28548c..168ab43c3 100755..100644
--- a/web/static/images/emoji/de.png
+++ b/web/static/images/emoji/de.png
Binary files differ
diff --git a/web/static/images/emoji/deciduous_tree.png b/web/static/images/emoji/deciduous_tree.png
index 3fdf8c007..1a54ec34b 100755..100644
--- a/web/static/images/emoji/deciduous_tree.png
+++ b/web/static/images/emoji/deciduous_tree.png
Binary files differ
diff --git a/web/static/images/emoji/department_store.png b/web/static/images/emoji/department_store.png
index 68d959c50..bc83c16f6 100755..100644
--- a/web/static/images/emoji/department_store.png
+++ b/web/static/images/emoji/department_store.png
Binary files differ
diff --git a/web/static/images/emoji/derelict_house_building.png b/web/static/images/emoji/derelict_house_building.png
new file mode 100644
index 000000000..316e082d1
--- /dev/null
+++ b/web/static/images/emoji/derelict_house_building.png
Binary files differ
diff --git a/web/static/images/emoji/desert.png b/web/static/images/emoji/desert.png
new file mode 100644
index 000000000..b627c829b
--- /dev/null
+++ b/web/static/images/emoji/desert.png
Binary files differ
diff --git a/web/static/images/emoji/desert_island.png b/web/static/images/emoji/desert_island.png
new file mode 100644
index 000000000..946ef26a5
--- /dev/null
+++ b/web/static/images/emoji/desert_island.png
Binary files differ
diff --git a/web/static/images/emoji/desktop_computer.png b/web/static/images/emoji/desktop_computer.png
new file mode 100644
index 000000000..59fc83484
--- /dev/null
+++ b/web/static/images/emoji/desktop_computer.png
Binary files differ
diff --git a/web/static/images/emoji/diamond_shape_with_a_dot_inside.png b/web/static/images/emoji/diamond_shape_with_a_dot_inside.png
index dfd1098b3..6aec6cb19 100755..100644
--- a/web/static/images/emoji/diamond_shape_with_a_dot_inside.png
+++ b/web/static/images/emoji/diamond_shape_with_a_dot_inside.png
Binary files differ
diff --git a/web/static/images/emoji/diamonds.png b/web/static/images/emoji/diamonds.png
index fe0827758..3e153dbe8 100755..100644
--- a/web/static/images/emoji/diamonds.png
+++ b/web/static/images/emoji/diamonds.png
Binary files differ
diff --git a/web/static/images/emoji/disappointed.png b/web/static/images/emoji/disappointed.png
index 825520087..9643415e6 100755..100644
--- a/web/static/images/emoji/disappointed.png
+++ b/web/static/images/emoji/disappointed.png
Binary files differ
diff --git a/web/static/images/emoji/disappointed_relieved.png b/web/static/images/emoji/disappointed_relieved.png
index fa5f9e7f9..bcea87523 100755..100644
--- a/web/static/images/emoji/disappointed_relieved.png
+++ b/web/static/images/emoji/disappointed_relieved.png
Binary files differ
diff --git a/web/static/images/emoji/dizzy.png b/web/static/images/emoji/dizzy.png
index 3702b6131..b6972196c 100755..100644
--- a/web/static/images/emoji/dizzy.png
+++ b/web/static/images/emoji/dizzy.png
Binary files differ
diff --git a/web/static/images/emoji/dizzy_face.png b/web/static/images/emoji/dizzy_face.png
index 8001d6ff8..a23dc7e31 100755..100644
--- a/web/static/images/emoji/dizzy_face.png
+++ b/web/static/images/emoji/dizzy_face.png
Binary files differ
diff --git a/web/static/images/emoji/do_not_litter.png b/web/static/images/emoji/do_not_litter.png
index 38c7ae7af..c29f7edf6 100755..100644
--- a/web/static/images/emoji/do_not_litter.png
+++ b/web/static/images/emoji/do_not_litter.png
Binary files differ
diff --git a/web/static/images/emoji/dog.png b/web/static/images/emoji/dog.png
index 389a02bf2..3c107deb4 100755..100644
--- a/web/static/images/emoji/dog.png
+++ b/web/static/images/emoji/dog.png
Binary files differ
diff --git a/web/static/images/emoji/dog2.png b/web/static/images/emoji/dog2.png
index c7f6a24ac..7057ffe66 100755..100644
--- a/web/static/images/emoji/dog2.png
+++ b/web/static/images/emoji/dog2.png
Binary files differ
diff --git a/web/static/images/emoji/dollar.png b/web/static/images/emoji/dollar.png
index 63de88495..73843bf91 100755..100644
--- a/web/static/images/emoji/dollar.png
+++ b/web/static/images/emoji/dollar.png
Binary files differ
diff --git a/web/static/images/emoji/dolls.png b/web/static/images/emoji/dolls.png
index 47ce33900..dcd7b9385 100755..100644
--- a/web/static/images/emoji/dolls.png
+++ b/web/static/images/emoji/dolls.png
Binary files differ
diff --git a/web/static/images/emoji/dolphin.png b/web/static/images/emoji/dolphin.png
index 9326077a9..4dde4cc13 100755..100644
--- a/web/static/images/emoji/dolphin.png
+++ b/web/static/images/emoji/dolphin.png
Binary files differ
diff --git a/web/static/images/emoji/donut.png b/web/static/images/emoji/donut.png
deleted file mode 100755
index ccf869129..000000000
--- a/web/static/images/emoji/donut.png
+++ /dev/null
Binary files differ
diff --git a/web/static/images/emoji/door.png b/web/static/images/emoji/door.png
index 83c819ae4..4c8695fee 100755..100644
--- a/web/static/images/emoji/door.png
+++ b/web/static/images/emoji/door.png
Binary files differ
diff --git a/web/static/images/emoji/doughnut.png b/web/static/images/emoji/doughnut.png
index ccf869129..b415c96bc 100755..100644
--- a/web/static/images/emoji/doughnut.png
+++ b/web/static/images/emoji/doughnut.png
Binary files differ
diff --git a/web/static/images/emoji/dove_of_peace.png b/web/static/images/emoji/dove_of_peace.png
new file mode 100644
index 000000000..e54bfc2b1
--- /dev/null
+++ b/web/static/images/emoji/dove_of_peace.png
Binary files differ
diff --git a/web/static/images/emoji/dragon.png b/web/static/images/emoji/dragon.png
index 88d4784b8..b5b635770 100755..100644
--- a/web/static/images/emoji/dragon.png
+++ b/web/static/images/emoji/dragon.png
Binary files differ
diff --git a/web/static/images/emoji/dragon_face.png b/web/static/images/emoji/dragon_face.png
index e5e556bd1..aba3bd471 100755..100644
--- a/web/static/images/emoji/dragon_face.png
+++ b/web/static/images/emoji/dragon_face.png
Binary files differ
diff --git a/web/static/images/emoji/dress.png b/web/static/images/emoji/dress.png
index 6434e2e2f..512fe8bfe 100755..100644
--- a/web/static/images/emoji/dress.png
+++ b/web/static/images/emoji/dress.png
Binary files differ
diff --git a/web/static/images/emoji/dromedary_camel.png b/web/static/images/emoji/dromedary_camel.png
index c8c7b9ffa..e881a8b5f 100755..100644
--- a/web/static/images/emoji/dromedary_camel.png
+++ b/web/static/images/emoji/dromedary_camel.png
Binary files differ
diff --git a/web/static/images/emoji/droplet.png b/web/static/images/emoji/droplet.png
index cae7f4951..074982362 100755..100644
--- a/web/static/images/emoji/droplet.png
+++ b/web/static/images/emoji/droplet.png
Binary files differ
diff --git a/web/static/images/emoji/dvd.png b/web/static/images/emoji/dvd.png
index 363c83d01..6f7b85774 100755..100644
--- a/web/static/images/emoji/dvd.png
+++ b/web/static/images/emoji/dvd.png
Binary files differ
diff --git a/web/static/images/emoji/e-mail.png b/web/static/images/emoji/e-mail.png
index 176a8e1e8..838ee67ed 100755..100644
--- a/web/static/images/emoji/e-mail.png
+++ b/web/static/images/emoji/e-mail.png
Binary files differ
diff --git a/web/static/images/emoji/ear.png b/web/static/images/emoji/ear.png
index 2bbbf10c9..a29807228 100755..100644
--- a/web/static/images/emoji/ear.png
+++ b/web/static/images/emoji/ear.png
Binary files differ
diff --git a/web/static/images/emoji/ear_of_rice.png b/web/static/images/emoji/ear_of_rice.png
index a9bba5c2c..9d3f454f8 100755..100644
--- a/web/static/images/emoji/ear_of_rice.png
+++ b/web/static/images/emoji/ear_of_rice.png
Binary files differ
diff --git a/web/static/images/emoji/earth_africa.png b/web/static/images/emoji/earth_africa.png
index 44ce5ecb6..a4bbace54 100755..100644
--- a/web/static/images/emoji/earth_africa.png
+++ b/web/static/images/emoji/earth_africa.png
Binary files differ
diff --git a/web/static/images/emoji/earth_americas.png b/web/static/images/emoji/earth_americas.png
index 97d717671..13a307f3c 100755..100644
--- a/web/static/images/emoji/earth_americas.png
+++ b/web/static/images/emoji/earth_americas.png
Binary files differ
diff --git a/web/static/images/emoji/earth_asia.png b/web/static/images/emoji/earth_asia.png
index 95ec357ca..908e483fa 100755..100644
--- a/web/static/images/emoji/earth_asia.png
+++ b/web/static/images/emoji/earth_asia.png
Binary files differ
diff --git a/web/static/images/emoji/egg.png b/web/static/images/emoji/egg.png
index c3de6ae4e..b5c090a17 100755..100644
--- a/web/static/images/emoji/egg.png
+++ b/web/static/images/emoji/egg.png
Binary files differ
diff --git a/web/static/images/emoji/eggplant.png b/web/static/images/emoji/eggplant.png
index 66f25fce4..75c902569 100755..100644
--- a/web/static/images/emoji/eggplant.png
+++ b/web/static/images/emoji/eggplant.png
Binary files differ
diff --git a/web/static/images/emoji/eight.png b/web/static/images/emoji/eight.png
index 7bdb42232..48c5ca813 100755..100644
--- a/web/static/images/emoji/eight.png
+++ b/web/static/images/emoji/eight.png
Binary files differ
diff --git a/web/static/images/emoji/eight_pointed_black_star.png b/web/static/images/emoji/eight_pointed_black_star.png
index 2420a7768..ea1ba7edb 100755..100644
--- a/web/static/images/emoji/eight_pointed_black_star.png
+++ b/web/static/images/emoji/eight_pointed_black_star.png
Binary files differ
diff --git a/web/static/images/emoji/eight_spoked_asterisk.png b/web/static/images/emoji/eight_spoked_asterisk.png
index 946a20333..aaa681d4f 100755..100644
--- a/web/static/images/emoji/eight_spoked_asterisk.png
+++ b/web/static/images/emoji/eight_spoked_asterisk.png
Binary files differ
diff --git a/web/static/images/emoji/electric_plug.png b/web/static/images/emoji/electric_plug.png
index 2837bab4f..e15d4d5ad 100755..100644
--- a/web/static/images/emoji/electric_plug.png
+++ b/web/static/images/emoji/electric_plug.png
Binary files differ
diff --git a/web/static/images/emoji/elephant.png b/web/static/images/emoji/elephant.png
index 5ca04570e..af079ec4d 100755..100644
--- a/web/static/images/emoji/elephant.png
+++ b/web/static/images/emoji/elephant.png
Binary files differ
diff --git a/web/static/images/emoji/email.png b/web/static/images/emoji/email.png
index 0e01fd5f0..c0bb4ebfd 100755..100644
--- a/web/static/images/emoji/email.png
+++ b/web/static/images/emoji/email.png
Binary files differ
diff --git a/web/static/images/emoji/end.png b/web/static/images/emoji/end.png
index 61a4399ad..03bfb2869 100755..100644
--- a/web/static/images/emoji/end.png
+++ b/web/static/images/emoji/end.png
Binary files differ
diff --git a/web/static/images/emoji/envelope.png b/web/static/images/emoji/envelope.png
index 3631861bb..c0bb4ebfd 100755..100644
--- a/web/static/images/emoji/envelope.png
+++ b/web/static/images/emoji/envelope.png
Binary files differ
diff --git a/web/static/images/emoji/envelope_with_arrow.png b/web/static/images/emoji/envelope_with_arrow.png
new file mode 100644
index 000000000..373cd8f0f
--- /dev/null
+++ b/web/static/images/emoji/envelope_with_arrow.png
Binary files differ
diff --git a/web/static/images/emoji/es.png b/web/static/images/emoji/es.png
index 71b30bff3..16a772cd1 100755..100644
--- a/web/static/images/emoji/es.png
+++ b/web/static/images/emoji/es.png
Binary files differ
diff --git a/web/static/images/emoji/euro.png b/web/static/images/emoji/euro.png
index 1c5904b71..4efcecc3c 100755..100644
--- a/web/static/images/emoji/euro.png
+++ b/web/static/images/emoji/euro.png
Binary files differ
diff --git a/web/static/images/emoji/european_castle.png b/web/static/images/emoji/european_castle.png
index 8229b8a8a..35cdcf722 100755..100644
--- a/web/static/images/emoji/european_castle.png
+++ b/web/static/images/emoji/european_castle.png
Binary files differ
diff --git a/web/static/images/emoji/european_post_office.png b/web/static/images/emoji/european_post_office.png
index 0f65b1453..b1cc0ddb8 100755..100644
--- a/web/static/images/emoji/european_post_office.png
+++ b/web/static/images/emoji/european_post_office.png
Binary files differ
diff --git a/web/static/images/emoji/evergreen_tree.png b/web/static/images/emoji/evergreen_tree.png
index ae8ad1037..dd88a6934 100755..100644
--- a/web/static/images/emoji/evergreen_tree.png
+++ b/web/static/images/emoji/evergreen_tree.png
Binary files differ
diff --git a/web/static/images/emoji/exclamation.png b/web/static/images/emoji/exclamation.png
index 77bbdeabc..b8fca78bc 100755..100644
--- a/web/static/images/emoji/exclamation.png
+++ b/web/static/images/emoji/exclamation.png
Binary files differ
diff --git a/web/static/images/emoji/expressionless.png b/web/static/images/emoji/expressionless.png
index 913ff4e2f..404129c98 100755..100644
--- a/web/static/images/emoji/expressionless.png
+++ b/web/static/images/emoji/expressionless.png
Binary files differ
diff --git a/web/static/images/emoji/eye.png b/web/static/images/emoji/eye.png
new file mode 100644
index 000000000..66182c9f1
--- /dev/null
+++ b/web/static/images/emoji/eye.png
Binary files differ
diff --git a/web/static/images/emoji/eyeglasses.png b/web/static/images/emoji/eyeglasses.png
index a3cf75a27..f1f4612ba 100755..100644
--- a/web/static/images/emoji/eyeglasses.png
+++ b/web/static/images/emoji/eyeglasses.png
Binary files differ
diff --git a/web/static/images/emoji/eyes.png b/web/static/images/emoji/eyes.png
index 1ac24a615..d9a6163f4 100755..100644
--- a/web/static/images/emoji/eyes.png
+++ b/web/static/images/emoji/eyes.png
Binary files differ
diff --git a/web/static/images/emoji/facepunch.png b/web/static/images/emoji/facepunch.png
index 277047b7c..7d10b3eda 100755..100644
--- a/web/static/images/emoji/facepunch.png
+++ b/web/static/images/emoji/facepunch.png
Binary files differ
diff --git a/web/static/images/emoji/factory.png b/web/static/images/emoji/factory.png
index 640463479..e2d70133b 100755..100644
--- a/web/static/images/emoji/factory.png
+++ b/web/static/images/emoji/factory.png
Binary files differ
diff --git a/web/static/images/emoji/fallen_leaf.png b/web/static/images/emoji/fallen_leaf.png
index d49f9c175..430ac0297 100755..100644
--- a/web/static/images/emoji/fallen_leaf.png
+++ b/web/static/images/emoji/fallen_leaf.png
Binary files differ
diff --git a/web/static/images/emoji/family.png b/web/static/images/emoji/family.png
index b4b365f3a..e0d81ddb7 100755..100644
--- a/web/static/images/emoji/family.png
+++ b/web/static/images/emoji/family.png
Binary files differ
diff --git a/web/static/images/emoji/fast_forward.png b/web/static/images/emoji/fast_forward.png
index 8830e146e..dda9bec2a 100755..100644
--- a/web/static/images/emoji/fast_forward.png
+++ b/web/static/images/emoji/fast_forward.png
Binary files differ
diff --git a/web/static/images/emoji/fax.png b/web/static/images/emoji/fax.png
index 62be2c958..10f81dad1 100755..100644
--- a/web/static/images/emoji/fax.png
+++ b/web/static/images/emoji/fax.png
Binary files differ
diff --git a/web/static/images/emoji/fearful.png b/web/static/images/emoji/fearful.png
index 513fce47b..4ac78c208 100755..100644
--- a/web/static/images/emoji/fearful.png
+++ b/web/static/images/emoji/fearful.png
Binary files differ
diff --git a/web/static/images/emoji/feelsgood.png b/web/static/images/emoji/feelsgood.png
index 361f969bc..361f969bc 100755..100644
--- a/web/static/images/emoji/feelsgood.png
+++ b/web/static/images/emoji/feelsgood.png
Binary files differ
diff --git a/web/static/images/emoji/feet.png b/web/static/images/emoji/feet.png
index 1b0147b1d..b36eba864 100755..100644
--- a/web/static/images/emoji/feet.png
+++ b/web/static/images/emoji/feet.png
Binary files differ
diff --git a/web/static/images/emoji/ferris_wheel.png b/web/static/images/emoji/ferris_wheel.png
index 54a1dcfa1..56bfd87fb 100755..100644
--- a/web/static/images/emoji/ferris_wheel.png
+++ b/web/static/images/emoji/ferris_wheel.png
Binary files differ
diff --git a/web/static/images/emoji/file_cabinet.png b/web/static/images/emoji/file_cabinet.png
new file mode 100644
index 000000000..e45c65729
--- /dev/null
+++ b/web/static/images/emoji/file_cabinet.png
Binary files differ
diff --git a/web/static/images/emoji/file_folder.png b/web/static/images/emoji/file_folder.png
index 4d8bebf8a..17adcfd26 100755..100644
--- a/web/static/images/emoji/file_folder.png
+++ b/web/static/images/emoji/file_folder.png
Binary files differ
diff --git a/web/static/images/emoji/film_frames.png b/web/static/images/emoji/film_frames.png
new file mode 100644
index 000000000..d2b9082bc
--- /dev/null
+++ b/web/static/images/emoji/film_frames.png
Binary files differ
diff --git a/web/static/images/emoji/film_projector.png b/web/static/images/emoji/film_projector.png
new file mode 100644
index 000000000..46800d29d
--- /dev/null
+++ b/web/static/images/emoji/film_projector.png
Binary files differ
diff --git a/web/static/images/emoji/finnadie.png b/web/static/images/emoji/finnadie.png
index bfc5a0d93..bfc5a0d93 100755..100644
--- a/web/static/images/emoji/finnadie.png
+++ b/web/static/images/emoji/finnadie.png
Binary files differ
diff --git a/web/static/images/emoji/fire.png b/web/static/images/emoji/fire.png
index f2a3149bb..3149ed675 100755..100644
--- a/web/static/images/emoji/fire.png
+++ b/web/static/images/emoji/fire.png
Binary files differ
diff --git a/web/static/images/emoji/fire_engine.png b/web/static/images/emoji/fire_engine.png
index 9e6c59c99..0336bfdf5 100755..100644
--- a/web/static/images/emoji/fire_engine.png
+++ b/web/static/images/emoji/fire_engine.png
Binary files differ
diff --git a/web/static/images/emoji/fireworks.png b/web/static/images/emoji/fireworks.png
index b4eccd577..8e081a718 100755..100644
--- a/web/static/images/emoji/fireworks.png
+++ b/web/static/images/emoji/fireworks.png
Binary files differ
diff --git a/web/static/images/emoji/first_quarter_moon.png b/web/static/images/emoji/first_quarter_moon.png
index f38c23693..14734a42c 100755..100644
--- a/web/static/images/emoji/first_quarter_moon.png
+++ b/web/static/images/emoji/first_quarter_moon.png
Binary files differ
diff --git a/web/static/images/emoji/first_quarter_moon_with_face.png b/web/static/images/emoji/first_quarter_moon_with_face.png
index 85ae2ce72..8f10b3cfe 100755..100644
--- a/web/static/images/emoji/first_quarter_moon_with_face.png
+++ b/web/static/images/emoji/first_quarter_moon_with_face.png
Binary files differ
diff --git a/web/static/images/emoji/fish.png b/web/static/images/emoji/fish.png
index 90bdda2c9..cb7b896d6 100755..100644
--- a/web/static/images/emoji/fish.png
+++ b/web/static/images/emoji/fish.png
Binary files differ
diff --git a/web/static/images/emoji/fish_cake.png b/web/static/images/emoji/fish_cake.png
index a8f22614d..6ff94bc36 100755..100644
--- a/web/static/images/emoji/fish_cake.png
+++ b/web/static/images/emoji/fish_cake.png
Binary files differ
diff --git a/web/static/images/emoji/fishing_pole_and_fish.png b/web/static/images/emoji/fishing_pole_and_fish.png
index d84609c3b..270a011dd 100755..100644
--- a/web/static/images/emoji/fishing_pole_and_fish.png
+++ b/web/static/images/emoji/fishing_pole_and_fish.png
Binary files differ
diff --git a/web/static/images/emoji/fist.png b/web/static/images/emoji/fist.png
index ecc8874c2..97e5b0639 100755..100644
--- a/web/static/images/emoji/fist.png
+++ b/web/static/images/emoji/fist.png
Binary files differ
diff --git a/web/static/images/emoji/five.png b/web/static/images/emoji/five.png
index 794321aa2..9b527aeb7 100755..100644
--- a/web/static/images/emoji/five.png
+++ b/web/static/images/emoji/five.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ac.png b/web/static/images/emoji/flag-ac.png
new file mode 100644
index 000000000..56115ba78
--- /dev/null
+++ b/web/static/images/emoji/flag-ac.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ad.png b/web/static/images/emoji/flag-ad.png
new file mode 100644
index 000000000..d3fabc4b0
--- /dev/null
+++ b/web/static/images/emoji/flag-ad.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ae.png b/web/static/images/emoji/flag-ae.png
new file mode 100644
index 000000000..57cade93b
--- /dev/null
+++ b/web/static/images/emoji/flag-ae.png
Binary files differ
diff --git a/web/static/images/emoji/flag-af.png b/web/static/images/emoji/flag-af.png
new file mode 100644
index 000000000..af7e886df
--- /dev/null
+++ b/web/static/images/emoji/flag-af.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ag.png b/web/static/images/emoji/flag-ag.png
new file mode 100644
index 000000000..9e2dc805e
--- /dev/null
+++ b/web/static/images/emoji/flag-ag.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ai.png b/web/static/images/emoji/flag-ai.png
new file mode 100644
index 000000000..2046a5a83
--- /dev/null
+++ b/web/static/images/emoji/flag-ai.png
Binary files differ
diff --git a/web/static/images/emoji/flag-al.png b/web/static/images/emoji/flag-al.png
new file mode 100644
index 000000000..0c76f4af4
--- /dev/null
+++ b/web/static/images/emoji/flag-al.png
Binary files differ
diff --git a/web/static/images/emoji/flag-am.png b/web/static/images/emoji/flag-am.png
new file mode 100644
index 000000000..1e39fe1fe
--- /dev/null
+++ b/web/static/images/emoji/flag-am.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ao.png b/web/static/images/emoji/flag-ao.png
new file mode 100644
index 000000000..01a469e9e
--- /dev/null
+++ b/web/static/images/emoji/flag-ao.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ar.png b/web/static/images/emoji/flag-ar.png
new file mode 100644
index 000000000..603697bad
--- /dev/null
+++ b/web/static/images/emoji/flag-ar.png
Binary files differ
diff --git a/web/static/images/emoji/flag-at.png b/web/static/images/emoji/flag-at.png
new file mode 100644
index 000000000..38988f737
--- /dev/null
+++ b/web/static/images/emoji/flag-at.png
Binary files differ
diff --git a/web/static/images/emoji/flag-au.png b/web/static/images/emoji/flag-au.png
new file mode 100644
index 000000000..fdc448c91
--- /dev/null
+++ b/web/static/images/emoji/flag-au.png
Binary files differ
diff --git a/web/static/images/emoji/flag-aw.png b/web/static/images/emoji/flag-aw.png
new file mode 100644
index 000000000..fda4d0b19
--- /dev/null
+++ b/web/static/images/emoji/flag-aw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-az.png b/web/static/images/emoji/flag-az.png
new file mode 100644
index 000000000..3efb55bfc
--- /dev/null
+++ b/web/static/images/emoji/flag-az.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ba.png b/web/static/images/emoji/flag-ba.png
new file mode 100644
index 000000000..47028b1f2
--- /dev/null
+++ b/web/static/images/emoji/flag-ba.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bb.png b/web/static/images/emoji/flag-bb.png
new file mode 100644
index 000000000..8bfb6fcb0
--- /dev/null
+++ b/web/static/images/emoji/flag-bb.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bd.png b/web/static/images/emoji/flag-bd.png
new file mode 100644
index 000000000..a4b7928c8
--- /dev/null
+++ b/web/static/images/emoji/flag-bd.png
Binary files differ
diff --git a/web/static/images/emoji/flag-be.png b/web/static/images/emoji/flag-be.png
new file mode 100644
index 000000000..f996f6fc0
--- /dev/null
+++ b/web/static/images/emoji/flag-be.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bf.png b/web/static/images/emoji/flag-bf.png
new file mode 100644
index 000000000..185eb5a92
--- /dev/null
+++ b/web/static/images/emoji/flag-bf.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bg.png b/web/static/images/emoji/flag-bg.png
new file mode 100644
index 000000000..849c68a22
--- /dev/null
+++ b/web/static/images/emoji/flag-bg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bh.png b/web/static/images/emoji/flag-bh.png
new file mode 100644
index 000000000..b0cabb344
--- /dev/null
+++ b/web/static/images/emoji/flag-bh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bi.png b/web/static/images/emoji/flag-bi.png
new file mode 100644
index 000000000..b2de6ba9d
--- /dev/null
+++ b/web/static/images/emoji/flag-bi.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bj.png b/web/static/images/emoji/flag-bj.png
new file mode 100644
index 000000000..6023c7286
--- /dev/null
+++ b/web/static/images/emoji/flag-bj.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bm.png b/web/static/images/emoji/flag-bm.png
new file mode 100644
index 000000000..cce7665e5
--- /dev/null
+++ b/web/static/images/emoji/flag-bm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bn.png b/web/static/images/emoji/flag-bn.png
new file mode 100644
index 000000000..37ffaaf4a
--- /dev/null
+++ b/web/static/images/emoji/flag-bn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bo.png b/web/static/images/emoji/flag-bo.png
new file mode 100644
index 000000000..9e7b9bd6d
--- /dev/null
+++ b/web/static/images/emoji/flag-bo.png
Binary files differ
diff --git a/web/static/images/emoji/flag-br.png b/web/static/images/emoji/flag-br.png
new file mode 100644
index 000000000..1218801ec
--- /dev/null
+++ b/web/static/images/emoji/flag-br.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bs.png b/web/static/images/emoji/flag-bs.png
new file mode 100644
index 000000000..56304afc5
--- /dev/null
+++ b/web/static/images/emoji/flag-bs.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bt.png b/web/static/images/emoji/flag-bt.png
new file mode 100644
index 000000000..5419aeeb3
--- /dev/null
+++ b/web/static/images/emoji/flag-bt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bw.png b/web/static/images/emoji/flag-bw.png
new file mode 100644
index 000000000..b82b4e244
--- /dev/null
+++ b/web/static/images/emoji/flag-bw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-by.png b/web/static/images/emoji/flag-by.png
new file mode 100644
index 000000000..fbf36a528
--- /dev/null
+++ b/web/static/images/emoji/flag-by.png
Binary files differ
diff --git a/web/static/images/emoji/flag-bz.png b/web/static/images/emoji/flag-bz.png
new file mode 100644
index 000000000..4e300a7a9
--- /dev/null
+++ b/web/static/images/emoji/flag-bz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ca.png b/web/static/images/emoji/flag-ca.png
new file mode 100644
index 000000000..2838b5e82
--- /dev/null
+++ b/web/static/images/emoji/flag-ca.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cd.png b/web/static/images/emoji/flag-cd.png
new file mode 100644
index 000000000..b7620b487
--- /dev/null
+++ b/web/static/images/emoji/flag-cd.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cf.png b/web/static/images/emoji/flag-cf.png
new file mode 100644
index 000000000..32accc631
--- /dev/null
+++ b/web/static/images/emoji/flag-cf.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cg.png b/web/static/images/emoji/flag-cg.png
new file mode 100644
index 000000000..51d0cb55b
--- /dev/null
+++ b/web/static/images/emoji/flag-cg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ch.png b/web/static/images/emoji/flag-ch.png
new file mode 100644
index 000000000..53f7c0496
--- /dev/null
+++ b/web/static/images/emoji/flag-ch.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ci.png b/web/static/images/emoji/flag-ci.png
new file mode 100644
index 000000000..3a1fb1946
--- /dev/null
+++ b/web/static/images/emoji/flag-ci.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cl.png b/web/static/images/emoji/flag-cl.png
new file mode 100644
index 000000000..ebbf710d2
--- /dev/null
+++ b/web/static/images/emoji/flag-cl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cm.png b/web/static/images/emoji/flag-cm.png
new file mode 100644
index 000000000..71024ac1c
--- /dev/null
+++ b/web/static/images/emoji/flag-cm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cn.png b/web/static/images/emoji/flag-cn.png
new file mode 100644
index 000000000..0151923f3
--- /dev/null
+++ b/web/static/images/emoji/flag-cn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-co.png b/web/static/images/emoji/flag-co.png
new file mode 100644
index 000000000..b64536ac3
--- /dev/null
+++ b/web/static/images/emoji/flag-co.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cr.png b/web/static/images/emoji/flag-cr.png
new file mode 100644
index 000000000..74612a90e
--- /dev/null
+++ b/web/static/images/emoji/flag-cr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cu.png b/web/static/images/emoji/flag-cu.png
new file mode 100644
index 000000000..37a9cc10b
--- /dev/null
+++ b/web/static/images/emoji/flag-cu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cv.png b/web/static/images/emoji/flag-cv.png
new file mode 100644
index 000000000..7a6a41e90
--- /dev/null
+++ b/web/static/images/emoji/flag-cv.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cy.png b/web/static/images/emoji/flag-cy.png
new file mode 100644
index 000000000..4f593449a
--- /dev/null
+++ b/web/static/images/emoji/flag-cy.png
Binary files differ
diff --git a/web/static/images/emoji/flag-cz.png b/web/static/images/emoji/flag-cz.png
new file mode 100644
index 000000000..aa9a40c74
--- /dev/null
+++ b/web/static/images/emoji/flag-cz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-de.png b/web/static/images/emoji/flag-de.png
new file mode 100644
index 000000000..168ab43c3
--- /dev/null
+++ b/web/static/images/emoji/flag-de.png
Binary files differ
diff --git a/web/static/images/emoji/flag-dj.png b/web/static/images/emoji/flag-dj.png
new file mode 100644
index 000000000..ba0833714
--- /dev/null
+++ b/web/static/images/emoji/flag-dj.png
Binary files differ
diff --git a/web/static/images/emoji/flag-dk.png b/web/static/images/emoji/flag-dk.png
new file mode 100644
index 000000000..2e6b7a624
--- /dev/null
+++ b/web/static/images/emoji/flag-dk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-dm.png b/web/static/images/emoji/flag-dm.png
new file mode 100644
index 000000000..1b90463e5
--- /dev/null
+++ b/web/static/images/emoji/flag-dm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-do.png b/web/static/images/emoji/flag-do.png
new file mode 100644
index 000000000..d5c1ac5ba
--- /dev/null
+++ b/web/static/images/emoji/flag-do.png
Binary files differ
diff --git a/web/static/images/emoji/flag-dz.png b/web/static/images/emoji/flag-dz.png
new file mode 100644
index 000000000..a778a7995
--- /dev/null
+++ b/web/static/images/emoji/flag-dz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ec.png b/web/static/images/emoji/flag-ec.png
new file mode 100644
index 000000000..7f40f138d
--- /dev/null
+++ b/web/static/images/emoji/flag-ec.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ee.png b/web/static/images/emoji/flag-ee.png
new file mode 100644
index 000000000..1aa45dc2a
--- /dev/null
+++ b/web/static/images/emoji/flag-ee.png
Binary files differ
diff --git a/web/static/images/emoji/flag-eg.png b/web/static/images/emoji/flag-eg.png
new file mode 100644
index 000000000..5904bfac9
--- /dev/null
+++ b/web/static/images/emoji/flag-eg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-eh.png b/web/static/images/emoji/flag-eh.png
new file mode 100644
index 000000000..5c1bf6134
--- /dev/null
+++ b/web/static/images/emoji/flag-eh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-er.png b/web/static/images/emoji/flag-er.png
new file mode 100644
index 000000000..fa4f25eed
--- /dev/null
+++ b/web/static/images/emoji/flag-er.png
Binary files differ
diff --git a/web/static/images/emoji/flag-es.png b/web/static/images/emoji/flag-es.png
new file mode 100644
index 000000000..16a772cd1
--- /dev/null
+++ b/web/static/images/emoji/flag-es.png
Binary files differ
diff --git a/web/static/images/emoji/flag-et.png b/web/static/images/emoji/flag-et.png
new file mode 100644
index 000000000..4833e8431
--- /dev/null
+++ b/web/static/images/emoji/flag-et.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fi.png b/web/static/images/emoji/flag-fi.png
new file mode 100644
index 000000000..b2a5c3d24
--- /dev/null
+++ b/web/static/images/emoji/flag-fi.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fj.png b/web/static/images/emoji/flag-fj.png
new file mode 100644
index 000000000..a7a731e6f
--- /dev/null
+++ b/web/static/images/emoji/flag-fj.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fk.png b/web/static/images/emoji/flag-fk.png
new file mode 100644
index 000000000..c4562eaa6
--- /dev/null
+++ b/web/static/images/emoji/flag-fk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fm.png b/web/static/images/emoji/flag-fm.png
new file mode 100644
index 000000000..42fe76312
--- /dev/null
+++ b/web/static/images/emoji/flag-fm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fo.png b/web/static/images/emoji/flag-fo.png
new file mode 100644
index 000000000..e9d8e4cf4
--- /dev/null
+++ b/web/static/images/emoji/flag-fo.png
Binary files differ
diff --git a/web/static/images/emoji/flag-fr.png b/web/static/images/emoji/flag-fr.png
new file mode 100644
index 000000000..14271f059
--- /dev/null
+++ b/web/static/images/emoji/flag-fr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ga.png b/web/static/images/emoji/flag-ga.png
new file mode 100644
index 000000000..4a3b5ccf9
--- /dev/null
+++ b/web/static/images/emoji/flag-ga.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gb.png b/web/static/images/emoji/flag-gb.png
new file mode 100644
index 000000000..61c03f759
--- /dev/null
+++ b/web/static/images/emoji/flag-gb.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gd.png b/web/static/images/emoji/flag-gd.png
new file mode 100644
index 000000000..4f9dc82d7
--- /dev/null
+++ b/web/static/images/emoji/flag-gd.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ge.png b/web/static/images/emoji/flag-ge.png
new file mode 100644
index 000000000..1fe16f968
--- /dev/null
+++ b/web/static/images/emoji/flag-ge.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gh.png b/web/static/images/emoji/flag-gh.png
new file mode 100644
index 000000000..0aadf4db2
--- /dev/null
+++ b/web/static/images/emoji/flag-gh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gi.png b/web/static/images/emoji/flag-gi.png
new file mode 100644
index 000000000..e95abe51f
--- /dev/null
+++ b/web/static/images/emoji/flag-gi.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gl.png b/web/static/images/emoji/flag-gl.png
new file mode 100644
index 000000000..76708a55f
--- /dev/null
+++ b/web/static/images/emoji/flag-gl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gm.png b/web/static/images/emoji/flag-gm.png
new file mode 100644
index 000000000..c5a72895f
--- /dev/null
+++ b/web/static/images/emoji/flag-gm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gn.png b/web/static/images/emoji/flag-gn.png
new file mode 100644
index 000000000..fdd5c2d14
--- /dev/null
+++ b/web/static/images/emoji/flag-gn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gq.png b/web/static/images/emoji/flag-gq.png
new file mode 100644
index 000000000..7fc7c86c8
--- /dev/null
+++ b/web/static/images/emoji/flag-gq.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gr.png b/web/static/images/emoji/flag-gr.png
new file mode 100644
index 000000000..091f1ab07
--- /dev/null
+++ b/web/static/images/emoji/flag-gr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gt.png b/web/static/images/emoji/flag-gt.png
new file mode 100644
index 000000000..66437d0de
--- /dev/null
+++ b/web/static/images/emoji/flag-gt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gu.png b/web/static/images/emoji/flag-gu.png
new file mode 100644
index 000000000..a4d2024b1
--- /dev/null
+++ b/web/static/images/emoji/flag-gu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gw.png b/web/static/images/emoji/flag-gw.png
new file mode 100644
index 000000000..a70abe908
--- /dev/null
+++ b/web/static/images/emoji/flag-gw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-gy.png b/web/static/images/emoji/flag-gy.png
new file mode 100644
index 000000000..2cc8ecaab
--- /dev/null
+++ b/web/static/images/emoji/flag-gy.png
Binary files differ
diff --git a/web/static/images/emoji/flag-hk.png b/web/static/images/emoji/flag-hk.png
new file mode 100644
index 000000000..cff8e25fd
--- /dev/null
+++ b/web/static/images/emoji/flag-hk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-hn.png b/web/static/images/emoji/flag-hn.png
new file mode 100644
index 000000000..e4eeee2d8
--- /dev/null
+++ b/web/static/images/emoji/flag-hn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-hr.png b/web/static/images/emoji/flag-hr.png
new file mode 100644
index 000000000..be0823c21
--- /dev/null
+++ b/web/static/images/emoji/flag-hr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ht.png b/web/static/images/emoji/flag-ht.png
new file mode 100644
index 000000000..76d3d94ad
--- /dev/null
+++ b/web/static/images/emoji/flag-ht.png
Binary files differ
diff --git a/web/static/images/emoji/flag-hu.png b/web/static/images/emoji/flag-hu.png
new file mode 100644
index 000000000..028f853dd
--- /dev/null
+++ b/web/static/images/emoji/flag-hu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-id.png b/web/static/images/emoji/flag-id.png
new file mode 100644
index 000000000..90042acf5
--- /dev/null
+++ b/web/static/images/emoji/flag-id.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ie.png b/web/static/images/emoji/flag-ie.png
new file mode 100644
index 000000000..63ae4af61
--- /dev/null
+++ b/web/static/images/emoji/flag-ie.png
Binary files differ
diff --git a/web/static/images/emoji/flag-il.png b/web/static/images/emoji/flag-il.png
new file mode 100644
index 000000000..8361d8ee3
--- /dev/null
+++ b/web/static/images/emoji/flag-il.png
Binary files differ
diff --git a/web/static/images/emoji/flag-in.png b/web/static/images/emoji/flag-in.png
new file mode 100644
index 000000000..6d6f944c4
--- /dev/null
+++ b/web/static/images/emoji/flag-in.png
Binary files differ
diff --git a/web/static/images/emoji/flag-iq.png b/web/static/images/emoji/flag-iq.png
new file mode 100644
index 000000000..5fb5d4e3b
--- /dev/null
+++ b/web/static/images/emoji/flag-iq.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ir.png b/web/static/images/emoji/flag-ir.png
new file mode 100644
index 000000000..23f916063
--- /dev/null
+++ b/web/static/images/emoji/flag-ir.png
Binary files differ
diff --git a/web/static/images/emoji/flag-is.png b/web/static/images/emoji/flag-is.png
new file mode 100644
index 000000000..7f2b34832
--- /dev/null
+++ b/web/static/images/emoji/flag-is.png
Binary files differ
diff --git a/web/static/images/emoji/flag-it.png b/web/static/images/emoji/flag-it.png
new file mode 100644
index 000000000..bce062350
--- /dev/null
+++ b/web/static/images/emoji/flag-it.png
Binary files differ
diff --git a/web/static/images/emoji/flag-je.png b/web/static/images/emoji/flag-je.png
new file mode 100644
index 000000000..822b4340d
--- /dev/null
+++ b/web/static/images/emoji/flag-je.png
Binary files differ
diff --git a/web/static/images/emoji/flag-jm.png b/web/static/images/emoji/flag-jm.png
new file mode 100644
index 000000000..f179b1404
--- /dev/null
+++ b/web/static/images/emoji/flag-jm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-jo.png b/web/static/images/emoji/flag-jo.png
new file mode 100644
index 000000000..15be546e8
--- /dev/null
+++ b/web/static/images/emoji/flag-jo.png
Binary files differ
diff --git a/web/static/images/emoji/flag-jp.png b/web/static/images/emoji/flag-jp.png
new file mode 100644
index 000000000..56390ce22
--- /dev/null
+++ b/web/static/images/emoji/flag-jp.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ke.png b/web/static/images/emoji/flag-ke.png
new file mode 100644
index 000000000..301bf6eec
--- /dev/null
+++ b/web/static/images/emoji/flag-ke.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kg.png b/web/static/images/emoji/flag-kg.png
new file mode 100644
index 000000000..6845412e8
--- /dev/null
+++ b/web/static/images/emoji/flag-kg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kh.png b/web/static/images/emoji/flag-kh.png
new file mode 100644
index 000000000..15ccea7a4
--- /dev/null
+++ b/web/static/images/emoji/flag-kh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ki.png b/web/static/images/emoji/flag-ki.png
new file mode 100644
index 000000000..79331c5de
--- /dev/null
+++ b/web/static/images/emoji/flag-ki.png
Binary files differ
diff --git a/web/static/images/emoji/flag-km.png b/web/static/images/emoji/flag-km.png
new file mode 100644
index 000000000..9a16139aa
--- /dev/null
+++ b/web/static/images/emoji/flag-km.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kn.png b/web/static/images/emoji/flag-kn.png
new file mode 100644
index 000000000..913f6dfb7
--- /dev/null
+++ b/web/static/images/emoji/flag-kn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kp.png b/web/static/images/emoji/flag-kp.png
new file mode 100644
index 000000000..cb50e9380
--- /dev/null
+++ b/web/static/images/emoji/flag-kp.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kr.png b/web/static/images/emoji/flag-kr.png
new file mode 100644
index 000000000..6687991f3
--- /dev/null
+++ b/web/static/images/emoji/flag-kr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kw.png b/web/static/images/emoji/flag-kw.png
new file mode 100644
index 000000000..72ef3415f
--- /dev/null
+++ b/web/static/images/emoji/flag-kw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ky.png b/web/static/images/emoji/flag-ky.png
new file mode 100644
index 000000000..d716ddcd5
--- /dev/null
+++ b/web/static/images/emoji/flag-ky.png
Binary files differ
diff --git a/web/static/images/emoji/flag-kz.png b/web/static/images/emoji/flag-kz.png
new file mode 100644
index 000000000..49813e5d5
--- /dev/null
+++ b/web/static/images/emoji/flag-kz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-la.png b/web/static/images/emoji/flag-la.png
new file mode 100644
index 000000000..6f0dd90f3
--- /dev/null
+++ b/web/static/images/emoji/flag-la.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lb.png b/web/static/images/emoji/flag-lb.png
new file mode 100644
index 000000000..8fe041f46
--- /dev/null
+++ b/web/static/images/emoji/flag-lb.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lc.png b/web/static/images/emoji/flag-lc.png
new file mode 100644
index 000000000..70a34cb11
--- /dev/null
+++ b/web/static/images/emoji/flag-lc.png
Binary files differ
diff --git a/web/static/images/emoji/flag-li.png b/web/static/images/emoji/flag-li.png
new file mode 100644
index 000000000..ad667c3c4
--- /dev/null
+++ b/web/static/images/emoji/flag-li.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lk.png b/web/static/images/emoji/flag-lk.png
new file mode 100644
index 000000000..9a205d9cf
--- /dev/null
+++ b/web/static/images/emoji/flag-lk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lr.png b/web/static/images/emoji/flag-lr.png
new file mode 100644
index 000000000..2916a1ff4
--- /dev/null
+++ b/web/static/images/emoji/flag-lr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ls.png b/web/static/images/emoji/flag-ls.png
new file mode 100644
index 000000000..a47e7e067
--- /dev/null
+++ b/web/static/images/emoji/flag-ls.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lt.png b/web/static/images/emoji/flag-lt.png
new file mode 100644
index 000000000..ea08d9b23
--- /dev/null
+++ b/web/static/images/emoji/flag-lt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lu.png b/web/static/images/emoji/flag-lu.png
new file mode 100644
index 000000000..dbd428878
--- /dev/null
+++ b/web/static/images/emoji/flag-lu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-lv.png b/web/static/images/emoji/flag-lv.png
new file mode 100644
index 000000000..a8eef9ff6
--- /dev/null
+++ b/web/static/images/emoji/flag-lv.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ly.png b/web/static/images/emoji/flag-ly.png
new file mode 100644
index 000000000..04632748f
--- /dev/null
+++ b/web/static/images/emoji/flag-ly.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ma.png b/web/static/images/emoji/flag-ma.png
new file mode 100644
index 000000000..1bf4401f6
--- /dev/null
+++ b/web/static/images/emoji/flag-ma.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mc.png b/web/static/images/emoji/flag-mc.png
new file mode 100644
index 000000000..039174d3a
--- /dev/null
+++ b/web/static/images/emoji/flag-mc.png
Binary files differ
diff --git a/web/static/images/emoji/flag-md.png b/web/static/images/emoji/flag-md.png
new file mode 100644
index 000000000..78b5ba7e2
--- /dev/null
+++ b/web/static/images/emoji/flag-md.png
Binary files differ
diff --git a/web/static/images/emoji/flag-me.png b/web/static/images/emoji/flag-me.png
new file mode 100644
index 000000000..01245d958
--- /dev/null
+++ b/web/static/images/emoji/flag-me.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mg.png b/web/static/images/emoji/flag-mg.png
new file mode 100644
index 000000000..cb55e9fc3
--- /dev/null
+++ b/web/static/images/emoji/flag-mg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mh.png b/web/static/images/emoji/flag-mh.png
new file mode 100644
index 000000000..ff5038b6d
--- /dev/null
+++ b/web/static/images/emoji/flag-mh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mk.png b/web/static/images/emoji/flag-mk.png
new file mode 100644
index 000000000..8dadf0110
--- /dev/null
+++ b/web/static/images/emoji/flag-mk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ml.png b/web/static/images/emoji/flag-ml.png
new file mode 100644
index 000000000..53be7c81e
--- /dev/null
+++ b/web/static/images/emoji/flag-ml.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mm.png b/web/static/images/emoji/flag-mm.png
new file mode 100644
index 000000000..c1cfee7a5
--- /dev/null
+++ b/web/static/images/emoji/flag-mm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mn.png b/web/static/images/emoji/flag-mn.png
new file mode 100644
index 000000000..1beac5568
--- /dev/null
+++ b/web/static/images/emoji/flag-mn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mo.png b/web/static/images/emoji/flag-mo.png
new file mode 100644
index 000000000..6a8fcb9a0
--- /dev/null
+++ b/web/static/images/emoji/flag-mo.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mr.png b/web/static/images/emoji/flag-mr.png
new file mode 100644
index 000000000..854690cfb
--- /dev/null
+++ b/web/static/images/emoji/flag-mr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ms.png b/web/static/images/emoji/flag-ms.png
new file mode 100644
index 000000000..61b2de721
--- /dev/null
+++ b/web/static/images/emoji/flag-ms.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mt.png b/web/static/images/emoji/flag-mt.png
new file mode 100644
index 000000000..2f07f4709
--- /dev/null
+++ b/web/static/images/emoji/flag-mt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mu.png b/web/static/images/emoji/flag-mu.png
new file mode 100644
index 000000000..9d28c0812
--- /dev/null
+++ b/web/static/images/emoji/flag-mu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mv.png b/web/static/images/emoji/flag-mv.png
new file mode 100644
index 000000000..4ea56e841
--- /dev/null
+++ b/web/static/images/emoji/flag-mv.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mw.png b/web/static/images/emoji/flag-mw.png
new file mode 100644
index 000000000..361aa65ec
--- /dev/null
+++ b/web/static/images/emoji/flag-mw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mx.png b/web/static/images/emoji/flag-mx.png
new file mode 100644
index 000000000..c44c24df1
--- /dev/null
+++ b/web/static/images/emoji/flag-mx.png
Binary files differ
diff --git a/web/static/images/emoji/flag-my.png b/web/static/images/emoji/flag-my.png
new file mode 100644
index 000000000..166fd5ba7
--- /dev/null
+++ b/web/static/images/emoji/flag-my.png
Binary files differ
diff --git a/web/static/images/emoji/flag-mz.png b/web/static/images/emoji/flag-mz.png
new file mode 100644
index 000000000..209db39ee
--- /dev/null
+++ b/web/static/images/emoji/flag-mz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-na.png b/web/static/images/emoji/flag-na.png
new file mode 100644
index 000000000..84fab946d
--- /dev/null
+++ b/web/static/images/emoji/flag-na.png
Binary files differ
diff --git a/web/static/images/emoji/flag-nc.png b/web/static/images/emoji/flag-nc.png
new file mode 100644
index 000000000..6372d93c7
--- /dev/null
+++ b/web/static/images/emoji/flag-nc.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ne.png b/web/static/images/emoji/flag-ne.png
new file mode 100644
index 000000000..3fd0d99ab
--- /dev/null
+++ b/web/static/images/emoji/flag-ne.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ng.png b/web/static/images/emoji/flag-ng.png
new file mode 100644
index 000000000..2c98fcdff
--- /dev/null
+++ b/web/static/images/emoji/flag-ng.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ni.png b/web/static/images/emoji/flag-ni.png
new file mode 100644
index 000000000..88055d5a0
--- /dev/null
+++ b/web/static/images/emoji/flag-ni.png
Binary files differ
diff --git a/web/static/images/emoji/flag-nl.png b/web/static/images/emoji/flag-nl.png
new file mode 100644
index 000000000..d5de058a4
--- /dev/null
+++ b/web/static/images/emoji/flag-nl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-no.png b/web/static/images/emoji/flag-no.png
new file mode 100644
index 000000000..1199fae93
--- /dev/null
+++ b/web/static/images/emoji/flag-no.png
Binary files differ
diff --git a/web/static/images/emoji/flag-np.png b/web/static/images/emoji/flag-np.png
new file mode 100644
index 000000000..3e17c5204
--- /dev/null
+++ b/web/static/images/emoji/flag-np.png
Binary files differ
diff --git a/web/static/images/emoji/flag-nr.png b/web/static/images/emoji/flag-nr.png
new file mode 100644
index 000000000..80c3d8357
--- /dev/null
+++ b/web/static/images/emoji/flag-nr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-nu.png b/web/static/images/emoji/flag-nu.png
new file mode 100644
index 000000000..628aee1e3
--- /dev/null
+++ b/web/static/images/emoji/flag-nu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-nz.png b/web/static/images/emoji/flag-nz.png
new file mode 100644
index 000000000..d64f6ec22
--- /dev/null
+++ b/web/static/images/emoji/flag-nz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-om.png b/web/static/images/emoji/flag-om.png
new file mode 100644
index 000000000..68dd406fb
--- /dev/null
+++ b/web/static/images/emoji/flag-om.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pa.png b/web/static/images/emoji/flag-pa.png
new file mode 100644
index 000000000..0fa73faf3
--- /dev/null
+++ b/web/static/images/emoji/flag-pa.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pe.png b/web/static/images/emoji/flag-pe.png
new file mode 100644
index 000000000..cf7098d8d
--- /dev/null
+++ b/web/static/images/emoji/flag-pe.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pf.png b/web/static/images/emoji/flag-pf.png
new file mode 100644
index 000000000..5780519fd
--- /dev/null
+++ b/web/static/images/emoji/flag-pf.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pg.png b/web/static/images/emoji/flag-pg.png
new file mode 100644
index 000000000..0a4ce4c3c
--- /dev/null
+++ b/web/static/images/emoji/flag-pg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ph.png b/web/static/images/emoji/flag-ph.png
new file mode 100644
index 000000000..00a9eaa6d
--- /dev/null
+++ b/web/static/images/emoji/flag-ph.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pk.png b/web/static/images/emoji/flag-pk.png
new file mode 100644
index 000000000..b1ab1a7a8
--- /dev/null
+++ b/web/static/images/emoji/flag-pk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pl.png b/web/static/images/emoji/flag-pl.png
new file mode 100644
index 000000000..e07223bf7
--- /dev/null
+++ b/web/static/images/emoji/flag-pl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pr.png b/web/static/images/emoji/flag-pr.png
new file mode 100644
index 000000000..754bb5429
--- /dev/null
+++ b/web/static/images/emoji/flag-pr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ps.png b/web/static/images/emoji/flag-ps.png
new file mode 100644
index 000000000..e2076eda0
--- /dev/null
+++ b/web/static/images/emoji/flag-ps.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pt.png b/web/static/images/emoji/flag-pt.png
new file mode 100644
index 000000000..4f585e18b
--- /dev/null
+++ b/web/static/images/emoji/flag-pt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-pw.png b/web/static/images/emoji/flag-pw.png
new file mode 100644
index 000000000..e15437591
--- /dev/null
+++ b/web/static/images/emoji/flag-pw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-py.png b/web/static/images/emoji/flag-py.png
new file mode 100644
index 000000000..335d55f93
--- /dev/null
+++ b/web/static/images/emoji/flag-py.png
Binary files differ
diff --git a/web/static/images/emoji/flag-qa.png b/web/static/images/emoji/flag-qa.png
new file mode 100644
index 000000000..6f99df4ff
--- /dev/null
+++ b/web/static/images/emoji/flag-qa.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ro.png b/web/static/images/emoji/flag-ro.png
new file mode 100644
index 000000000..1f7db7ab1
--- /dev/null
+++ b/web/static/images/emoji/flag-ro.png
Binary files differ
diff --git a/web/static/images/emoji/flag-rs.png b/web/static/images/emoji/flag-rs.png
new file mode 100644
index 000000000..7552aba40
--- /dev/null
+++ b/web/static/images/emoji/flag-rs.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ru.png b/web/static/images/emoji/flag-ru.png
new file mode 100644
index 000000000..4a65f219f
--- /dev/null
+++ b/web/static/images/emoji/flag-ru.png
Binary files differ
diff --git a/web/static/images/emoji/flag-rw.png b/web/static/images/emoji/flag-rw.png
new file mode 100644
index 000000000..ddea66d07
--- /dev/null
+++ b/web/static/images/emoji/flag-rw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sa.png b/web/static/images/emoji/flag-sa.png
new file mode 100644
index 000000000..4f82c1a3e
--- /dev/null
+++ b/web/static/images/emoji/flag-sa.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sb.png b/web/static/images/emoji/flag-sb.png
new file mode 100644
index 000000000..5bf32a743
--- /dev/null
+++ b/web/static/images/emoji/flag-sb.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sc.png b/web/static/images/emoji/flag-sc.png
new file mode 100644
index 000000000..7ec76a1ec
--- /dev/null
+++ b/web/static/images/emoji/flag-sc.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sd.png b/web/static/images/emoji/flag-sd.png
new file mode 100644
index 000000000..fad14bde5
--- /dev/null
+++ b/web/static/images/emoji/flag-sd.png
Binary files differ
diff --git a/web/static/images/emoji/flag-se.png b/web/static/images/emoji/flag-se.png
new file mode 100644
index 000000000..067857a9e
--- /dev/null
+++ b/web/static/images/emoji/flag-se.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sg.png b/web/static/images/emoji/flag-sg.png
new file mode 100644
index 000000000..8d1127005
--- /dev/null
+++ b/web/static/images/emoji/flag-sg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sh.png b/web/static/images/emoji/flag-sh.png
new file mode 100644
index 000000000..75977bea6
--- /dev/null
+++ b/web/static/images/emoji/flag-sh.png
Binary files differ
diff --git a/web/static/images/emoji/flag-si.png b/web/static/images/emoji/flag-si.png
new file mode 100644
index 000000000..d7c3a7477
--- /dev/null
+++ b/web/static/images/emoji/flag-si.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sk.png b/web/static/images/emoji/flag-sk.png
new file mode 100644
index 000000000..6f60bfab3
--- /dev/null
+++ b/web/static/images/emoji/flag-sk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sl.png b/web/static/images/emoji/flag-sl.png
new file mode 100644
index 000000000..5f88e8673
--- /dev/null
+++ b/web/static/images/emoji/flag-sl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sm.png b/web/static/images/emoji/flag-sm.png
new file mode 100644
index 000000000..431e28ea6
--- /dev/null
+++ b/web/static/images/emoji/flag-sm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sn.png b/web/static/images/emoji/flag-sn.png
new file mode 100644
index 000000000..dcc3f9770
--- /dev/null
+++ b/web/static/images/emoji/flag-sn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-so.png b/web/static/images/emoji/flag-so.png
new file mode 100644
index 000000000..2e20974e9
--- /dev/null
+++ b/web/static/images/emoji/flag-so.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sr.png b/web/static/images/emoji/flag-sr.png
new file mode 100644
index 000000000..bde51f536
--- /dev/null
+++ b/web/static/images/emoji/flag-sr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-st.png b/web/static/images/emoji/flag-st.png
new file mode 100644
index 000000000..e387f43b9
--- /dev/null
+++ b/web/static/images/emoji/flag-st.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sv.png b/web/static/images/emoji/flag-sv.png
new file mode 100644
index 000000000..f4a1153db
--- /dev/null
+++ b/web/static/images/emoji/flag-sv.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sy.png b/web/static/images/emoji/flag-sy.png
new file mode 100644
index 000000000..f8900079a
--- /dev/null
+++ b/web/static/images/emoji/flag-sy.png
Binary files differ
diff --git a/web/static/images/emoji/flag-sz.png b/web/static/images/emoji/flag-sz.png
new file mode 100644
index 000000000..f80d7579d
--- /dev/null
+++ b/web/static/images/emoji/flag-sz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-td.png b/web/static/images/emoji/flag-td.png
new file mode 100644
index 000000000..de564e86e
--- /dev/null
+++ b/web/static/images/emoji/flag-td.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tg.png b/web/static/images/emoji/flag-tg.png
new file mode 100644
index 000000000..e41a68ea8
--- /dev/null
+++ b/web/static/images/emoji/flag-tg.png
Binary files differ
diff --git a/web/static/images/emoji/flag-th.png b/web/static/images/emoji/flag-th.png
new file mode 100644
index 000000000..362fb1a29
--- /dev/null
+++ b/web/static/images/emoji/flag-th.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tj.png b/web/static/images/emoji/flag-tj.png
new file mode 100644
index 000000000..5f2072253
--- /dev/null
+++ b/web/static/images/emoji/flag-tj.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tl.png b/web/static/images/emoji/flag-tl.png
new file mode 100644
index 000000000..da94c4289
--- /dev/null
+++ b/web/static/images/emoji/flag-tl.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tm.png b/web/static/images/emoji/flag-tm.png
new file mode 100644
index 000000000..f0ab3b7d5
--- /dev/null
+++ b/web/static/images/emoji/flag-tm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tn.png b/web/static/images/emoji/flag-tn.png
new file mode 100644
index 000000000..e1f27ed7d
--- /dev/null
+++ b/web/static/images/emoji/flag-tn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-to.png b/web/static/images/emoji/flag-to.png
new file mode 100644
index 000000000..06c2a6f41
--- /dev/null
+++ b/web/static/images/emoji/flag-to.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tr.png b/web/static/images/emoji/flag-tr.png
new file mode 100644
index 000000000..720d4de2f
--- /dev/null
+++ b/web/static/images/emoji/flag-tr.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tt.png b/web/static/images/emoji/flag-tt.png
new file mode 100644
index 000000000..2d89e31b0
--- /dev/null
+++ b/web/static/images/emoji/flag-tt.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tv.png b/web/static/images/emoji/flag-tv.png
new file mode 100644
index 000000000..765087702
--- /dev/null
+++ b/web/static/images/emoji/flag-tv.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tw.png b/web/static/images/emoji/flag-tw.png
new file mode 100644
index 000000000..6499e47ee
--- /dev/null
+++ b/web/static/images/emoji/flag-tw.png
Binary files differ
diff --git a/web/static/images/emoji/flag-tz.png b/web/static/images/emoji/flag-tz.png
new file mode 100644
index 000000000..9e04fcf9d
--- /dev/null
+++ b/web/static/images/emoji/flag-tz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ua.png b/web/static/images/emoji/flag-ua.png
new file mode 100644
index 000000000..aa9745259
--- /dev/null
+++ b/web/static/images/emoji/flag-ua.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ug.png b/web/static/images/emoji/flag-ug.png
new file mode 100644
index 000000000..f78274fcb
--- /dev/null
+++ b/web/static/images/emoji/flag-ug.png
Binary files differ
diff --git a/web/static/images/emoji/flag-us.png b/web/static/images/emoji/flag-us.png
new file mode 100644
index 000000000..6c98de9be
--- /dev/null
+++ b/web/static/images/emoji/flag-us.png
Binary files differ
diff --git a/web/static/images/emoji/flag-uy.png b/web/static/images/emoji/flag-uy.png
new file mode 100644
index 000000000..f8caee786
--- /dev/null
+++ b/web/static/images/emoji/flag-uy.png
Binary files differ
diff --git a/web/static/images/emoji/flag-uz.png b/web/static/images/emoji/flag-uz.png
new file mode 100644
index 000000000..34f0c8627
--- /dev/null
+++ b/web/static/images/emoji/flag-uz.png
Binary files differ
diff --git a/web/static/images/emoji/flag-va.png b/web/static/images/emoji/flag-va.png
new file mode 100644
index 000000000..175fcaa0e
--- /dev/null
+++ b/web/static/images/emoji/flag-va.png
Binary files differ
diff --git a/web/static/images/emoji/flag-vc.png b/web/static/images/emoji/flag-vc.png
new file mode 100644
index 000000000..4e4efb366
--- /dev/null
+++ b/web/static/images/emoji/flag-vc.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ve.png b/web/static/images/emoji/flag-ve.png
new file mode 100644
index 000000000..6ab199a56
--- /dev/null
+++ b/web/static/images/emoji/flag-ve.png
Binary files differ
diff --git a/web/static/images/emoji/flag-vi.png b/web/static/images/emoji/flag-vi.png
new file mode 100644
index 000000000..da1d092bb
--- /dev/null
+++ b/web/static/images/emoji/flag-vi.png
Binary files differ
diff --git a/web/static/images/emoji/flag-vn.png b/web/static/images/emoji/flag-vn.png
new file mode 100644
index 000000000..ec1ca0b8f
--- /dev/null
+++ b/web/static/images/emoji/flag-vn.png
Binary files differ
diff --git a/web/static/images/emoji/flag-vu.png b/web/static/images/emoji/flag-vu.png
new file mode 100644
index 000000000..e9345643b
--- /dev/null
+++ b/web/static/images/emoji/flag-vu.png
Binary files differ
diff --git a/web/static/images/emoji/flag-wf.png b/web/static/images/emoji/flag-wf.png
new file mode 100644
index 000000000..367175512
--- /dev/null
+++ b/web/static/images/emoji/flag-wf.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ws.png b/web/static/images/emoji/flag-ws.png
new file mode 100644
index 000000000..c4d6349f7
--- /dev/null
+++ b/web/static/images/emoji/flag-ws.png
Binary files differ
diff --git a/web/static/images/emoji/flag-xk.png b/web/static/images/emoji/flag-xk.png
new file mode 100644
index 000000000..f9953b7e2
--- /dev/null
+++ b/web/static/images/emoji/flag-xk.png
Binary files differ
diff --git a/web/static/images/emoji/flag-ye.png b/web/static/images/emoji/flag-ye.png
new file mode 100644
index 000000000..e62c22683
--- /dev/null
+++ b/web/static/images/emoji/flag-ye.png
Binary files differ
diff --git a/web/static/images/emoji/flag-za.png b/web/static/images/emoji/flag-za.png
new file mode 100644
index 000000000..b5f8197ca
--- /dev/null
+++ b/web/static/images/emoji/flag-za.png
Binary files differ
diff --git a/web/static/images/emoji/flag-zm.png b/web/static/images/emoji/flag-zm.png
new file mode 100644
index 000000000..aac8aaa96
--- /dev/null
+++ b/web/static/images/emoji/flag-zm.png
Binary files differ
diff --git a/web/static/images/emoji/flag-zw.png b/web/static/images/emoji/flag-zw.png
new file mode 100644
index 000000000..bf3d7162d
--- /dev/null
+++ b/web/static/images/emoji/flag-zw.png
Binary files differ
diff --git a/web/static/images/emoji/flags.png b/web/static/images/emoji/flags.png
index 540164e84..a6bbd0ea3 100755..100644
--- a/web/static/images/emoji/flags.png
+++ b/web/static/images/emoji/flags.png
Binary files differ
diff --git a/web/static/images/emoji/flashlight.png b/web/static/images/emoji/flashlight.png
index 215940aa8..3e64a0d0b 100755..100644
--- a/web/static/images/emoji/flashlight.png
+++ b/web/static/images/emoji/flashlight.png
Binary files differ
diff --git a/web/static/images/emoji/flipper.png b/web/static/images/emoji/flipper.png
new file mode 100644
index 000000000..4dde4cc13
--- /dev/null
+++ b/web/static/images/emoji/flipper.png
Binary files differ
diff --git a/web/static/images/emoji/floppy_disk.png b/web/static/images/emoji/floppy_disk.png
index 4ad56315a..f4e52bf1b 100755..100644
--- a/web/static/images/emoji/floppy_disk.png
+++ b/web/static/images/emoji/floppy_disk.png
Binary files differ
diff --git a/web/static/images/emoji/flower_playing_cards.png b/web/static/images/emoji/flower_playing_cards.png
index cc46a6a1f..b5dff4687 100755..100644
--- a/web/static/images/emoji/flower_playing_cards.png
+++ b/web/static/images/emoji/flower_playing_cards.png
Binary files differ
diff --git a/web/static/images/emoji/flushed.png b/web/static/images/emoji/flushed.png
index 74b78c9c0..44bd60154 100755..100644
--- a/web/static/images/emoji/flushed.png
+++ b/web/static/images/emoji/flushed.png
Binary files differ
diff --git a/web/static/images/emoji/fog.png b/web/static/images/emoji/fog.png
new file mode 100644
index 000000000..babf8a114
--- /dev/null
+++ b/web/static/images/emoji/fog.png
Binary files differ
diff --git a/web/static/images/emoji/foggy.png b/web/static/images/emoji/foggy.png
index 3c7b8b04b..740943ab0 100755..100644
--- a/web/static/images/emoji/foggy.png
+++ b/web/static/images/emoji/foggy.png
Binary files differ
diff --git a/web/static/images/emoji/football.png b/web/static/images/emoji/football.png
index 0e4e168fa..24b5673b0 100755..100644
--- a/web/static/images/emoji/football.png
+++ b/web/static/images/emoji/football.png
Binary files differ
diff --git a/web/static/images/emoji/footprints.png b/web/static/images/emoji/footprints.png
new file mode 100644
index 000000000..95c26fc9d
--- /dev/null
+++ b/web/static/images/emoji/footprints.png
Binary files differ
diff --git a/web/static/images/emoji/fork_and_knife.png b/web/static/images/emoji/fork_and_knife.png
index 8ba4bc653..ea13776ee 100755..100644
--- a/web/static/images/emoji/fork_and_knife.png
+++ b/web/static/images/emoji/fork_and_knife.png
Binary files differ
diff --git a/web/static/images/emoji/fountain.png b/web/static/images/emoji/fountain.png
index da126e648..465d2a127 100755..100644
--- a/web/static/images/emoji/fountain.png
+++ b/web/static/images/emoji/fountain.png
Binary files differ
diff --git a/web/static/images/emoji/four.png b/web/static/images/emoji/four.png
index 14782ba23..a8b4dc052 100755..100644
--- a/web/static/images/emoji/four.png
+++ b/web/static/images/emoji/four.png
Binary files differ
diff --git a/web/static/images/emoji/four_leaf_clover.png b/web/static/images/emoji/four_leaf_clover.png
index f2014bea4..fb11bb638 100755..100644
--- a/web/static/images/emoji/four_leaf_clover.png
+++ b/web/static/images/emoji/four_leaf_clover.png
Binary files differ
diff --git a/web/static/images/emoji/fr.png b/web/static/images/emoji/fr.png
index 6311c9115..14271f059 100755..100644
--- a/web/static/images/emoji/fr.png
+++ b/web/static/images/emoji/fr.png
Binary files differ
diff --git a/web/static/images/emoji/frame_with_picture.png b/web/static/images/emoji/frame_with_picture.png
new file mode 100644
index 000000000..d2950ba9b
--- /dev/null
+++ b/web/static/images/emoji/frame_with_picture.png
Binary files differ
diff --git a/web/static/images/emoji/free.png b/web/static/images/emoji/free.png
index c886cf249..0da6a1112 100755..100644
--- a/web/static/images/emoji/free.png
+++ b/web/static/images/emoji/free.png
Binary files differ
diff --git a/web/static/images/emoji/fried_shrimp.png b/web/static/images/emoji/fried_shrimp.png
index c8c284bf1..30c165438 100755..100644
--- a/web/static/images/emoji/fried_shrimp.png
+++ b/web/static/images/emoji/fried_shrimp.png
Binary files differ
diff --git a/web/static/images/emoji/fries.png b/web/static/images/emoji/fries.png
index cfef66966..bed7a0153 100755..100644
--- a/web/static/images/emoji/fries.png
+++ b/web/static/images/emoji/fries.png
Binary files differ
diff --git a/web/static/images/emoji/frog.png b/web/static/images/emoji/frog.png
index cfe11b18f..726d0280b 100755..100644
--- a/web/static/images/emoji/frog.png
+++ b/web/static/images/emoji/frog.png
Binary files differ
diff --git a/web/static/images/emoji/frowning.png b/web/static/images/emoji/frowning.png
index 487b77016..0593fe678 100755..100644
--- a/web/static/images/emoji/frowning.png
+++ b/web/static/images/emoji/frowning.png
Binary files differ
diff --git a/web/static/images/emoji/fu.png b/web/static/images/emoji/fu.png
index 61a3fee8d..61a3fee8d 100755..100644
--- a/web/static/images/emoji/fu.png
+++ b/web/static/images/emoji/fu.png
Binary files differ
diff --git a/web/static/images/emoji/fuelpump.png b/web/static/images/emoji/fuelpump.png
index 54c29aeb1..db5b15c89 100755..100644
--- a/web/static/images/emoji/fuelpump.png
+++ b/web/static/images/emoji/fuelpump.png
Binary files differ
diff --git a/web/static/images/emoji/full_moon.png b/web/static/images/emoji/full_moon.png
index 8ff657a25..b936c916d 100755..100644
--- a/web/static/images/emoji/full_moon.png
+++ b/web/static/images/emoji/full_moon.png
Binary files differ
diff --git a/web/static/images/emoji/full_moon_with_face.png b/web/static/images/emoji/full_moon_with_face.png
index d42b3f0fb..adb3479d9 100755..100644
--- a/web/static/images/emoji/full_moon_with_face.png
+++ b/web/static/images/emoji/full_moon_with_face.png
Binary files differ
diff --git a/web/static/images/emoji/game_die.png b/web/static/images/emoji/game_die.png
index cff2bd8b7..7723d290b 100755..100644
--- a/web/static/images/emoji/game_die.png
+++ b/web/static/images/emoji/game_die.png
Binary files differ
diff --git a/web/static/images/emoji/gb.png b/web/static/images/emoji/gb.png
index 2a62c7a08..61c03f759 100755..100644
--- a/web/static/images/emoji/gb.png
+++ b/web/static/images/emoji/gb.png
Binary files differ
diff --git a/web/static/images/emoji/gem.png b/web/static/images/emoji/gem.png
index 8a5d8dad5..a24a082a7 100755..100644
--- a/web/static/images/emoji/gem.png
+++ b/web/static/images/emoji/gem.png
Binary files differ
diff --git a/web/static/images/emoji/gemini.png b/web/static/images/emoji/gemini.png
index d926f6e88..3d34ba7ca 100755..100644
--- a/web/static/images/emoji/gemini.png
+++ b/web/static/images/emoji/gemini.png
Binary files differ
diff --git a/web/static/images/emoji/ghost.png b/web/static/images/emoji/ghost.png
index 671dd0c9e..3138f36fd 100755..100644
--- a/web/static/images/emoji/ghost.png
+++ b/web/static/images/emoji/ghost.png
Binary files differ
diff --git a/web/static/images/emoji/gift.png b/web/static/images/emoji/gift.png
index 552cfdc2b..bde801b55 100755..100644
--- a/web/static/images/emoji/gift.png
+++ b/web/static/images/emoji/gift.png
Binary files differ
diff --git a/web/static/images/emoji/gift_heart.png b/web/static/images/emoji/gift_heart.png
index f31c26a3f..eb0292da0 100755..100644
--- a/web/static/images/emoji/gift_heart.png
+++ b/web/static/images/emoji/gift_heart.png
Binary files differ
diff --git a/web/static/images/emoji/girl.png b/web/static/images/emoji/girl.png
index ea4126941..9f91cef4c 100755..100644
--- a/web/static/images/emoji/girl.png
+++ b/web/static/images/emoji/girl.png
Binary files differ
diff --git a/web/static/images/emoji/globe_with_meridians.png b/web/static/images/emoji/globe_with_meridians.png
index b19864667..a7af2cb1c 100755..100644
--- a/web/static/images/emoji/globe_with_meridians.png
+++ b/web/static/images/emoji/globe_with_meridians.png
Binary files differ
diff --git a/web/static/images/emoji/goat.png b/web/static/images/emoji/goat.png
index 4be9cf304..41210e5fa 100755..100644
--- a/web/static/images/emoji/goat.png
+++ b/web/static/images/emoji/goat.png
Binary files differ
diff --git a/web/static/images/emoji/goberserk.png b/web/static/images/emoji/goberserk.png
index 59a742aaa..59a742aaa 100755..100644
--- a/web/static/images/emoji/goberserk.png
+++ b/web/static/images/emoji/goberserk.png
Binary files differ
diff --git a/web/static/images/emoji/godmode.png b/web/static/images/emoji/godmode.png
index 7e75ab208..7e75ab208 100755..100644
--- a/web/static/images/emoji/godmode.png
+++ b/web/static/images/emoji/godmode.png
Binary files differ
diff --git a/web/static/images/emoji/golf.png b/web/static/images/emoji/golf.png
index cba2116a7..c03f80917 100755..100644
--- a/web/static/images/emoji/golf.png
+++ b/web/static/images/emoji/golf.png
Binary files differ
diff --git a/web/static/images/emoji/golfer.png b/web/static/images/emoji/golfer.png
new file mode 100644
index 000000000..9aa2f036f
--- /dev/null
+++ b/web/static/images/emoji/golfer.png
Binary files differ
diff --git a/web/static/images/emoji/grapes.png b/web/static/images/emoji/grapes.png
index 0f9f007a1..20b097131 100755..100644
--- a/web/static/images/emoji/grapes.png
+++ b/web/static/images/emoji/grapes.png
Binary files differ
diff --git a/web/static/images/emoji/green_apple.png b/web/static/images/emoji/green_apple.png
index 337205cd1..e37514773 100755..100644
--- a/web/static/images/emoji/green_apple.png
+++ b/web/static/images/emoji/green_apple.png
Binary files differ
diff --git a/web/static/images/emoji/green_book.png b/web/static/images/emoji/green_book.png
index e86651e5c..8fa81b9ac 100755..100644
--- a/web/static/images/emoji/green_book.png
+++ b/web/static/images/emoji/green_book.png
Binary files differ
diff --git a/web/static/images/emoji/green_heart.png b/web/static/images/emoji/green_heart.png
index 7289cb814..87b1d21c3 100755..100644
--- a/web/static/images/emoji/green_heart.png
+++ b/web/static/images/emoji/green_heart.png
Binary files differ
diff --git a/web/static/images/emoji/grey_exclamation.png b/web/static/images/emoji/grey_exclamation.png
index cf027dda5..759d6e7f7 100755..100644
--- a/web/static/images/emoji/grey_exclamation.png
+++ b/web/static/images/emoji/grey_exclamation.png
Binary files differ
diff --git a/web/static/images/emoji/grey_question.png b/web/static/images/emoji/grey_question.png
index fb97ba752..7808b13e3 100755..100644
--- a/web/static/images/emoji/grey_question.png
+++ b/web/static/images/emoji/grey_question.png
Binary files differ
diff --git a/web/static/images/emoji/grimacing.png b/web/static/images/emoji/grimacing.png
index 1219ba7d3..ea4458d8f 100755..100644
--- a/web/static/images/emoji/grimacing.png
+++ b/web/static/images/emoji/grimacing.png
Binary files differ
diff --git a/web/static/images/emoji/grin.png b/web/static/images/emoji/grin.png
index 591cfcef8..bf4d098b9 100755..100644
--- a/web/static/images/emoji/grin.png
+++ b/web/static/images/emoji/grin.png
Binary files differ
diff --git a/web/static/images/emoji/grinning.png b/web/static/images/emoji/grinning.png
index 7e812b7ed..1a5edc7be 100755..100644
--- a/web/static/images/emoji/grinning.png
+++ b/web/static/images/emoji/grinning.png
Binary files differ
diff --git a/web/static/images/emoji/guardsman.png b/web/static/images/emoji/guardsman.png
index b67b335d6..f7f0464cd 100755..100644
--- a/web/static/images/emoji/guardsman.png
+++ b/web/static/images/emoji/guardsman.png
Binary files differ
diff --git a/web/static/images/emoji/guitar.png b/web/static/images/emoji/guitar.png
index 2b7fa43c9..ab62a7fbb 100755..100644
--- a/web/static/images/emoji/guitar.png
+++ b/web/static/images/emoji/guitar.png
Binary files differ
diff --git a/web/static/images/emoji/gun.png b/web/static/images/emoji/gun.png
index c49dc52c6..f0e6b8fab 100755..100644
--- a/web/static/images/emoji/gun.png
+++ b/web/static/images/emoji/gun.png
Binary files differ
diff --git a/web/static/images/emoji/haircut.png b/web/static/images/emoji/haircut.png
index 902d273f6..40fbd31c4 100755..100644
--- a/web/static/images/emoji/haircut.png
+++ b/web/static/images/emoji/haircut.png
Binary files differ
diff --git a/web/static/images/emoji/hamburger.png b/web/static/images/emoji/hamburger.png
index 9f1a3fdff..b18121930 100755..100644
--- a/web/static/images/emoji/hamburger.png
+++ b/web/static/images/emoji/hamburger.png
Binary files differ
diff --git a/web/static/images/emoji/hammer.png b/web/static/images/emoji/hammer.png
index 482b1c747..6d91d1320 100755..100644
--- a/web/static/images/emoji/hammer.png
+++ b/web/static/images/emoji/hammer.png
Binary files differ
diff --git a/web/static/images/emoji/hammer_and_wrench.png b/web/static/images/emoji/hammer_and_wrench.png
new file mode 100644
index 000000000..eeea685b4
--- /dev/null
+++ b/web/static/images/emoji/hammer_and_wrench.png
Binary files differ
diff --git a/web/static/images/emoji/hamster.png b/web/static/images/emoji/hamster.png
index addfd2e6b..b19be3738 100755..100644
--- a/web/static/images/emoji/hamster.png
+++ b/web/static/images/emoji/hamster.png
Binary files differ
diff --git a/web/static/images/emoji/hand.png b/web/static/images/emoji/hand.png
index 5e45c25a5..89de966a3 100755..100644
--- a/web/static/images/emoji/hand.png
+++ b/web/static/images/emoji/hand.png
Binary files differ
diff --git a/web/static/images/emoji/handbag.png b/web/static/images/emoji/handbag.png
index d7adf04dd..556688787 100755..100644
--- a/web/static/images/emoji/handbag.png
+++ b/web/static/images/emoji/handbag.png
Binary files differ
diff --git a/web/static/images/emoji/hankey.png b/web/static/images/emoji/hankey.png
index 73a4dc840..0c237a788 100755..100644
--- a/web/static/images/emoji/hankey.png
+++ b/web/static/images/emoji/hankey.png
Binary files differ
diff --git a/web/static/images/emoji/hash.png b/web/static/images/emoji/hash.png
index 6765d7d3c..9e4cda640 100755..100644
--- a/web/static/images/emoji/hash.png
+++ b/web/static/images/emoji/hash.png
Binary files differ
diff --git a/web/static/images/emoji/hatched_chick.png b/web/static/images/emoji/hatched_chick.png
index 39c25bc7c..de82199dc 100755..100644
--- a/web/static/images/emoji/hatched_chick.png
+++ b/web/static/images/emoji/hatched_chick.png
Binary files differ
diff --git a/web/static/images/emoji/hatching_chick.png b/web/static/images/emoji/hatching_chick.png
index 005a55519..1e688c228 100755..100644
--- a/web/static/images/emoji/hatching_chick.png
+++ b/web/static/images/emoji/hatching_chick.png
Binary files differ
diff --git a/web/static/images/emoji/headphones.png b/web/static/images/emoji/headphones.png
index ad83000e6..3335d4060 100755..100644
--- a/web/static/images/emoji/headphones.png
+++ b/web/static/images/emoji/headphones.png
Binary files differ
diff --git a/web/static/images/emoji/hear_no_evil.png b/web/static/images/emoji/hear_no_evil.png
index f97a1f9a0..e909ebf24 100755..100644
--- a/web/static/images/emoji/hear_no_evil.png
+++ b/web/static/images/emoji/hear_no_evil.png
Binary files differ
diff --git a/web/static/images/emoji/heart.png b/web/static/images/emoji/heart.png
index 7d7790ce4..af35e2223 100755..100644
--- a/web/static/images/emoji/heart.png
+++ b/web/static/images/emoji/heart.png
Binary files differ
diff --git a/web/static/images/emoji/heart_decoration.png b/web/static/images/emoji/heart_decoration.png
index b8be44db3..da8a1339b 100755..100644
--- a/web/static/images/emoji/heart_decoration.png
+++ b/web/static/images/emoji/heart_decoration.png
Binary files differ
diff --git a/web/static/images/emoji/heart_eyes.png b/web/static/images/emoji/heart_eyes.png
index 0e5794270..c48431cb8 100755..100644
--- a/web/static/images/emoji/heart_eyes.png
+++ b/web/static/images/emoji/heart_eyes.png
Binary files differ
diff --git a/web/static/images/emoji/heart_eyes_cat.png b/web/static/images/emoji/heart_eyes_cat.png
index eeba240e5..7ef231efd 100755..100644
--- a/web/static/images/emoji/heart_eyes_cat.png
+++ b/web/static/images/emoji/heart_eyes_cat.png
Binary files differ
diff --git a/web/static/images/emoji/heartbeat.png b/web/static/images/emoji/heartbeat.png
index b6628f6fa..43a365e95 100755..100644
--- a/web/static/images/emoji/heartbeat.png
+++ b/web/static/images/emoji/heartbeat.png
Binary files differ
diff --git a/web/static/images/emoji/heartpulse.png b/web/static/images/emoji/heartpulse.png
index a7491cbea..b3d5da2e3 100755..100644
--- a/web/static/images/emoji/heartpulse.png
+++ b/web/static/images/emoji/heartpulse.png
Binary files differ
diff --git a/web/static/images/emoji/hearts.png b/web/static/images/emoji/hearts.png
index e89471538..994a062cc 100755..100644
--- a/web/static/images/emoji/hearts.png
+++ b/web/static/images/emoji/hearts.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_check_mark.png b/web/static/images/emoji/heavy_check_mark.png
index d0f010b4a..239ea09ee 100755..100644
--- a/web/static/images/emoji/heavy_check_mark.png
+++ b/web/static/images/emoji/heavy_check_mark.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_division_sign.png b/web/static/images/emoji/heavy_division_sign.png
index e193fd252..b883d27f5 100755..100644
--- a/web/static/images/emoji/heavy_division_sign.png
+++ b/web/static/images/emoji/heavy_division_sign.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_dollar_sign.png b/web/static/images/emoji/heavy_dollar_sign.png
index 5eddfc52b..10a5a4d8a 100755..100644
--- a/web/static/images/emoji/heavy_dollar_sign.png
+++ b/web/static/images/emoji/heavy_dollar_sign.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_exclamation_mark.png b/web/static/images/emoji/heavy_exclamation_mark.png
index 4c560f5e3..b8fca78bc 100755..100644
--- a/web/static/images/emoji/heavy_exclamation_mark.png
+++ b/web/static/images/emoji/heavy_exclamation_mark.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_minus_sign.png b/web/static/images/emoji/heavy_minus_sign.png
index 4a33f905a..60195e0d4 100755..100644
--- a/web/static/images/emoji/heavy_minus_sign.png
+++ b/web/static/images/emoji/heavy_minus_sign.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_multiplication_x.png b/web/static/images/emoji/heavy_multiplication_x.png
index 13d666078..a75fd57e0 100755..100644
--- a/web/static/images/emoji/heavy_multiplication_x.png
+++ b/web/static/images/emoji/heavy_multiplication_x.png
Binary files differ
diff --git a/web/static/images/emoji/heavy_plus_sign.png b/web/static/images/emoji/heavy_plus_sign.png
index ade3c3a85..198cde00e 100755..100644
--- a/web/static/images/emoji/heavy_plus_sign.png
+++ b/web/static/images/emoji/heavy_plus_sign.png
Binary files differ
diff --git a/web/static/images/emoji/helicopter.png b/web/static/images/emoji/helicopter.png
index 8e82a0d58..838acddc7 100755..100644
--- a/web/static/images/emoji/helicopter.png
+++ b/web/static/images/emoji/helicopter.png
Binary files differ
diff --git a/web/static/images/emoji/herb.png b/web/static/images/emoji/herb.png
index de1ff1b73..cb5f8f735 100755..100644
--- a/web/static/images/emoji/herb.png
+++ b/web/static/images/emoji/herb.png
Binary files differ
diff --git a/web/static/images/emoji/hibiscus.png b/web/static/images/emoji/hibiscus.png
index 9365ae216..e0fd12c95 100755..100644
--- a/web/static/images/emoji/hibiscus.png
+++ b/web/static/images/emoji/hibiscus.png
Binary files differ
diff --git a/web/static/images/emoji/high_brightness.png b/web/static/images/emoji/high_brightness.png
index ba9de7d40..e5f548443 100755..100644
--- a/web/static/images/emoji/high_brightness.png
+++ b/web/static/images/emoji/high_brightness.png
Binary files differ
diff --git a/web/static/images/emoji/high_heel.png b/web/static/images/emoji/high_heel.png
index 525b6a0dd..36bdb7484 100755..100644
--- a/web/static/images/emoji/high_heel.png
+++ b/web/static/images/emoji/high_heel.png
Binary files differ
diff --git a/web/static/images/emoji/hocho.png b/web/static/images/emoji/hocho.png
index 3f05193c7..43249ba94 100755..100644
--- a/web/static/images/emoji/hocho.png
+++ b/web/static/images/emoji/hocho.png
Binary files differ
diff --git a/web/static/images/emoji/hole.png b/web/static/images/emoji/hole.png
new file mode 100644
index 000000000..ca20daa89
--- /dev/null
+++ b/web/static/images/emoji/hole.png
Binary files differ
diff --git a/web/static/images/emoji/honey_pot.png b/web/static/images/emoji/honey_pot.png
index 73278898a..a563f59c7 100755..100644
--- a/web/static/images/emoji/honey_pot.png
+++ b/web/static/images/emoji/honey_pot.png
Binary files differ
diff --git a/web/static/images/emoji/honeybee.png b/web/static/images/emoji/honeybee.png
index f53733953..e67b7703b 100755..100644
--- a/web/static/images/emoji/honeybee.png
+++ b/web/static/images/emoji/honeybee.png
Binary files differ
diff --git a/web/static/images/emoji/horse.png b/web/static/images/emoji/horse.png
index 78d580ad3..90b955506 100755..100644
--- a/web/static/images/emoji/horse.png
+++ b/web/static/images/emoji/horse.png
Binary files differ
diff --git a/web/static/images/emoji/horse_racing.png b/web/static/images/emoji/horse_racing.png
index e3bbaec1d..a7abb355f 100755..100644
--- a/web/static/images/emoji/horse_racing.png
+++ b/web/static/images/emoji/horse_racing.png
Binary files differ
diff --git a/web/static/images/emoji/hospital.png b/web/static/images/emoji/hospital.png
index c05c49377..9a53371c1 100755..100644
--- a/web/static/images/emoji/hospital.png
+++ b/web/static/images/emoji/hospital.png
Binary files differ
diff --git a/web/static/images/emoji/hot_pepper.png b/web/static/images/emoji/hot_pepper.png
new file mode 100644
index 000000000..a6db2ca09
--- /dev/null
+++ b/web/static/images/emoji/hot_pepper.png
Binary files differ
diff --git a/web/static/images/emoji/hotel.png b/web/static/images/emoji/hotel.png
index d29f276a1..7a22e341f 100755..100644
--- a/web/static/images/emoji/hotel.png
+++ b/web/static/images/emoji/hotel.png
Binary files differ
diff --git a/web/static/images/emoji/hotsprings.png b/web/static/images/emoji/hotsprings.png
index a0bc9d75f..dbe158292 100755..100644
--- a/web/static/images/emoji/hotsprings.png
+++ b/web/static/images/emoji/hotsprings.png
Binary files differ
diff --git a/web/static/images/emoji/hourglass.png b/web/static/images/emoji/hourglass.png
index 405aab41b..06799f8c5 100755..100644
--- a/web/static/images/emoji/hourglass.png
+++ b/web/static/images/emoji/hourglass.png
Binary files differ
diff --git a/web/static/images/emoji/hourglass_flowing_sand.png b/web/static/images/emoji/hourglass_flowing_sand.png
index b68eb6957..bb0bbd8f7 100755..100644
--- a/web/static/images/emoji/hourglass_flowing_sand.png
+++ b/web/static/images/emoji/hourglass_flowing_sand.png
Binary files differ
diff --git a/web/static/images/emoji/house.png b/web/static/images/emoji/house.png
index 95b9ee094..90551d823 100755..100644
--- a/web/static/images/emoji/house.png
+++ b/web/static/images/emoji/house.png
Binary files differ
diff --git a/web/static/images/emoji/house_buildings.png b/web/static/images/emoji/house_buildings.png
new file mode 100644
index 000000000..b3dde7347
--- /dev/null
+++ b/web/static/images/emoji/house_buildings.png
Binary files differ
diff --git a/web/static/images/emoji/house_with_garden.png b/web/static/images/emoji/house_with_garden.png
index 3338fb717..b00186c46 100755..100644
--- a/web/static/images/emoji/house_with_garden.png
+++ b/web/static/images/emoji/house_with_garden.png
Binary files differ
diff --git a/web/static/images/emoji/hurtrealbad.png b/web/static/images/emoji/hurtrealbad.png
index 146ef1a6a..146ef1a6a 100755..100644
--- a/web/static/images/emoji/hurtrealbad.png
+++ b/web/static/images/emoji/hurtrealbad.png
Binary files differ
diff --git a/web/static/images/emoji/hushed.png b/web/static/images/emoji/hushed.png
index bbd2cd4bc..443ed5811 100755..100644
--- a/web/static/images/emoji/hushed.png
+++ b/web/static/images/emoji/hushed.png
Binary files differ
diff --git a/web/static/images/emoji/ice_cream.png b/web/static/images/emoji/ice_cream.png
index 190be0165..5dc67b4cc 100755..100644
--- a/web/static/images/emoji/ice_cream.png
+++ b/web/static/images/emoji/ice_cream.png
Binary files differ
diff --git a/web/static/images/emoji/icecream.png b/web/static/images/emoji/icecream.png
index 871ce0976..39c2e6a8f 100755..100644
--- a/web/static/images/emoji/icecream.png
+++ b/web/static/images/emoji/icecream.png
Binary files differ
diff --git a/web/static/images/emoji/id.png b/web/static/images/emoji/id.png
index 47437a76d..3ae8bc2b9 100755..100644
--- a/web/static/images/emoji/id.png
+++ b/web/static/images/emoji/id.png
Binary files differ
diff --git a/web/static/images/emoji/ideograph_advantage.png b/web/static/images/emoji/ideograph_advantage.png
index 3c1334d16..2be0c3a78 100755..100644
--- a/web/static/images/emoji/ideograph_advantage.png
+++ b/web/static/images/emoji/ideograph_advantage.png
Binary files differ
diff --git a/web/static/images/emoji/imp.png b/web/static/images/emoji/imp.png
index fa7d9dc10..bb31a6212 100755..100644
--- a/web/static/images/emoji/imp.png
+++ b/web/static/images/emoji/imp.png
Binary files differ
diff --git a/web/static/images/emoji/inbox_tray.png b/web/static/images/emoji/inbox_tray.png
index e2df0f897..266947ee9 100755..100644
--- a/web/static/images/emoji/inbox_tray.png
+++ b/web/static/images/emoji/inbox_tray.png
Binary files differ
diff --git a/web/static/images/emoji/incoming_envelope.png b/web/static/images/emoji/incoming_envelope.png
index afc827125..b16ed051f 100755..100644
--- a/web/static/images/emoji/incoming_envelope.png
+++ b/web/static/images/emoji/incoming_envelope.png
Binary files differ
diff --git a/web/static/images/emoji/information_desk_person.png b/web/static/images/emoji/information_desk_person.png
index 52c0a50a3..ffe0ab71f 100755..100644
--- a/web/static/images/emoji/information_desk_person.png
+++ b/web/static/images/emoji/information_desk_person.png
Binary files differ
diff --git a/web/static/images/emoji/information_source.png b/web/static/images/emoji/information_source.png
index 9cb8b09b2..68059c871 100755..100644
--- a/web/static/images/emoji/information_source.png
+++ b/web/static/images/emoji/information_source.png
Binary files differ
diff --git a/web/static/images/emoji/innocent.png b/web/static/images/emoji/innocent.png
index 503b614f8..1c449201d 100755..100644
--- a/web/static/images/emoji/innocent.png
+++ b/web/static/images/emoji/innocent.png
Binary files differ
diff --git a/web/static/images/emoji/interrobang.png b/web/static/images/emoji/interrobang.png
index 64304b9f5..a8e1ec2a9 100755..100644
--- a/web/static/images/emoji/interrobang.png
+++ b/web/static/images/emoji/interrobang.png
Binary files differ
diff --git a/web/static/images/emoji/iphone.png b/web/static/images/emoji/iphone.png
index df007103b..eea83475b 100755..100644
--- a/web/static/images/emoji/iphone.png
+++ b/web/static/images/emoji/iphone.png
Binary files differ
diff --git a/web/static/images/emoji/it.png b/web/static/images/emoji/it.png
index 70bc9f324..bce062350 100755..100644
--- a/web/static/images/emoji/it.png
+++ b/web/static/images/emoji/it.png
Binary files differ
diff --git a/web/static/images/emoji/izakaya_lantern.png b/web/static/images/emoji/izakaya_lantern.png
index 18730ad55..02345bc3e 100755..100644
--- a/web/static/images/emoji/izakaya_lantern.png
+++ b/web/static/images/emoji/izakaya_lantern.png
Binary files differ
diff --git a/web/static/images/emoji/jack_o_lantern.png b/web/static/images/emoji/jack_o_lantern.png
index 1f7667ea4..0ea29490d 100755..100644
--- a/web/static/images/emoji/jack_o_lantern.png
+++ b/web/static/images/emoji/jack_o_lantern.png
Binary files differ
diff --git a/web/static/images/emoji/japan.png b/web/static/images/emoji/japan.png
index 459328035..79bb896f9 100755..100644
--- a/web/static/images/emoji/japan.png
+++ b/web/static/images/emoji/japan.png
Binary files differ
diff --git a/web/static/images/emoji/japanese_castle.png b/web/static/images/emoji/japanese_castle.png
index f225ab217..ebdeecf6a 100755..100644
--- a/web/static/images/emoji/japanese_castle.png
+++ b/web/static/images/emoji/japanese_castle.png
Binary files differ
diff --git a/web/static/images/emoji/japanese_goblin.png b/web/static/images/emoji/japanese_goblin.png
index bd21b1875..20e1b4eb5 100755..100644
--- a/web/static/images/emoji/japanese_goblin.png
+++ b/web/static/images/emoji/japanese_goblin.png
Binary files differ
diff --git a/web/static/images/emoji/japanese_ogre.png b/web/static/images/emoji/japanese_ogre.png
index e9f5471c9..fd1cab65f 100755..100644
--- a/web/static/images/emoji/japanese_ogre.png
+++ b/web/static/images/emoji/japanese_ogre.png
Binary files differ
diff --git a/web/static/images/emoji/jeans.png b/web/static/images/emoji/jeans.png
index d721cea54..f1a83c4d2 100755..100644
--- a/web/static/images/emoji/jeans.png
+++ b/web/static/images/emoji/jeans.png
Binary files differ
diff --git a/web/static/images/emoji/joy.png b/web/static/images/emoji/joy.png
index 47df693d4..bc1abb7a4 100755..100644
--- a/web/static/images/emoji/joy.png
+++ b/web/static/images/emoji/joy.png
Binary files differ
diff --git a/web/static/images/emoji/joy_cat.png b/web/static/images/emoji/joy_cat.png
index 6c60cb0ef..15a2aa0e3 100755..100644
--- a/web/static/images/emoji/joy_cat.png
+++ b/web/static/images/emoji/joy_cat.png
Binary files differ
diff --git a/web/static/images/emoji/joystick.png b/web/static/images/emoji/joystick.png
new file mode 100644
index 000000000..6808f30fb
--- /dev/null
+++ b/web/static/images/emoji/joystick.png
Binary files differ
diff --git a/web/static/images/emoji/jp.png b/web/static/images/emoji/jp.png
index b786efbbd..56390ce22 100755..100644
--- a/web/static/images/emoji/jp.png
+++ b/web/static/images/emoji/jp.png
Binary files differ
diff --git a/web/static/images/emoji/key.png b/web/static/images/emoji/key.png
index 34673213f..2739df6db 100755..100644
--- a/web/static/images/emoji/key.png
+++ b/web/static/images/emoji/key.png
Binary files differ
diff --git a/web/static/images/emoji/keycap_ten.png b/web/static/images/emoji/keycap_ten.png
index 71dac1c1c..5f817b8d6 100755..100644
--- a/web/static/images/emoji/keycap_ten.png
+++ b/web/static/images/emoji/keycap_ten.png
Binary files differ
diff --git a/web/static/images/emoji/kimono.png b/web/static/images/emoji/kimono.png
index 34ffe137d..1cbdea0b1 100755..100644
--- a/web/static/images/emoji/kimono.png
+++ b/web/static/images/emoji/kimono.png
Binary files differ
diff --git a/web/static/images/emoji/kiss.png b/web/static/images/emoji/kiss.png
index 14fd9918d..bc4c8f73a 100755..100644
--- a/web/static/images/emoji/kiss.png
+++ b/web/static/images/emoji/kiss.png
Binary files differ
diff --git a/web/static/images/emoji/kissing.png b/web/static/images/emoji/kissing.png
index f3c8dcd78..b00212407 100755..100644
--- a/web/static/images/emoji/kissing.png
+++ b/web/static/images/emoji/kissing.png
Binary files differ
diff --git a/web/static/images/emoji/kissing_cat.png b/web/static/images/emoji/kissing_cat.png
index adc62fbe3..e62592137 100755..100644
--- a/web/static/images/emoji/kissing_cat.png
+++ b/web/static/images/emoji/kissing_cat.png
Binary files differ
diff --git a/web/static/images/emoji/kissing_closed_eyes.png b/web/static/images/emoji/kissing_closed_eyes.png
index 449de1970..523ef0453 100755..100644
--- a/web/static/images/emoji/kissing_closed_eyes.png
+++ b/web/static/images/emoji/kissing_closed_eyes.png
Binary files differ
diff --git a/web/static/images/emoji/kissing_face.png b/web/static/images/emoji/kissing_face.png
deleted file mode 100755
index 449de1970..000000000
--- a/web/static/images/emoji/kissing_face.png
+++ /dev/null
Binary files differ
diff --git a/web/static/images/emoji/kissing_heart.png b/web/static/images/emoji/kissing_heart.png
index af9a80b7f..834ee8ec9 100755..100644
--- a/web/static/images/emoji/kissing_heart.png
+++ b/web/static/images/emoji/kissing_heart.png
Binary files differ
diff --git a/web/static/images/emoji/kissing_smiling_eyes.png b/web/static/images/emoji/kissing_smiling_eyes.png
index 57f7b4935..7cbac1bf0 100755..100644
--- a/web/static/images/emoji/kissing_smiling_eyes.png
+++ b/web/static/images/emoji/kissing_smiling_eyes.png
Binary files differ
diff --git a/web/static/images/emoji/knife.png b/web/static/images/emoji/knife.png
new file mode 100644
index 000000000..43249ba94
--- /dev/null
+++ b/web/static/images/emoji/knife.png
Binary files differ
diff --git a/web/static/images/emoji/knife_fork_plate.png b/web/static/images/emoji/knife_fork_plate.png
new file mode 100644
index 000000000..d2ebb8435
--- /dev/null
+++ b/web/static/images/emoji/knife_fork_plate.png
Binary files differ
diff --git a/web/static/images/emoji/koala.png b/web/static/images/emoji/koala.png
index e17bd3cf5..928143905 100755..100644
--- a/web/static/images/emoji/koala.png
+++ b/web/static/images/emoji/koala.png
Binary files differ
diff --git a/web/static/images/emoji/koko.png b/web/static/images/emoji/koko.png
index 3bef28c9f..9f056070e 100755..100644
--- a/web/static/images/emoji/koko.png
+++ b/web/static/images/emoji/koko.png
Binary files differ
diff --git a/web/static/images/emoji/kr.png b/web/static/images/emoji/kr.png
index b4c0c1b67..6687991f3 100755..100644
--- a/web/static/images/emoji/kr.png
+++ b/web/static/images/emoji/kr.png
Binary files differ
diff --git a/web/static/images/emoji/label.png b/web/static/images/emoji/label.png
new file mode 100644
index 000000000..411124e2c
--- /dev/null
+++ b/web/static/images/emoji/label.png
Binary files differ
diff --git a/web/static/images/emoji/lantern.png b/web/static/images/emoji/lantern.png
new file mode 100644
index 000000000..02345bc3e
--- /dev/null
+++ b/web/static/images/emoji/lantern.png
Binary files differ
diff --git a/web/static/images/emoji/large_blue_circle.png b/web/static/images/emoji/large_blue_circle.png
index a5b4ad4aa..ddc4e7e59 100755..100644
--- a/web/static/images/emoji/large_blue_circle.png
+++ b/web/static/images/emoji/large_blue_circle.png
Binary files differ
diff --git a/web/static/images/emoji/large_blue_diamond.png b/web/static/images/emoji/large_blue_diamond.png
index f4598ec0f..fbe133557 100755..100644
--- a/web/static/images/emoji/large_blue_diamond.png
+++ b/web/static/images/emoji/large_blue_diamond.png
Binary files differ
diff --git a/web/static/images/emoji/large_orange_diamond.png b/web/static/images/emoji/large_orange_diamond.png
index 803725aad..f8c060fd2 100755..100644
--- a/web/static/images/emoji/large_orange_diamond.png
+++ b/web/static/images/emoji/large_orange_diamond.png
Binary files differ
diff --git a/web/static/images/emoji/last_quarter_moon.png b/web/static/images/emoji/last_quarter_moon.png
index 6ae30d6c2..85e0df65a 100755..100644
--- a/web/static/images/emoji/last_quarter_moon.png
+++ b/web/static/images/emoji/last_quarter_moon.png
Binary files differ
diff --git a/web/static/images/emoji/last_quarter_moon_with_face.png b/web/static/images/emoji/last_quarter_moon_with_face.png
index 9ece82dfe..37ecabbc7 100755..100644
--- a/web/static/images/emoji/last_quarter_moon_with_face.png
+++ b/web/static/images/emoji/last_quarter_moon_with_face.png
Binary files differ
diff --git a/web/static/images/emoji/laughing.png b/web/static/images/emoji/laughing.png
index 11c91eb22..d7e70b1a4 100755..100644
--- a/web/static/images/emoji/laughing.png
+++ b/web/static/images/emoji/laughing.png
Binary files differ
diff --git a/web/static/images/emoji/leaves.png b/web/static/images/emoji/leaves.png
index 5229e06bd..569a66fac 100755..100644
--- a/web/static/images/emoji/leaves.png
+++ b/web/static/images/emoji/leaves.png
Binary files differ
diff --git a/web/static/images/emoji/ledger.png b/web/static/images/emoji/ledger.png
index e4f72acea..b9a5484e4 100755..100644
--- a/web/static/images/emoji/ledger.png
+++ b/web/static/images/emoji/ledger.png
Binary files differ
diff --git a/web/static/images/emoji/left_luggage.png b/web/static/images/emoji/left_luggage.png
index 1c08b464d..b39b9075f 100755..100644
--- a/web/static/images/emoji/left_luggage.png
+++ b/web/static/images/emoji/left_luggage.png
Binary files differ
diff --git a/web/static/images/emoji/left_right_arrow.png b/web/static/images/emoji/left_right_arrow.png
index b9fd11c51..9e5e99c58 100755..100644
--- a/web/static/images/emoji/left_right_arrow.png
+++ b/web/static/images/emoji/left_right_arrow.png
Binary files differ
diff --git a/web/static/images/emoji/left_speech_bubble.png b/web/static/images/emoji/left_speech_bubble.png
new file mode 100644
index 000000000..81313baae
--- /dev/null
+++ b/web/static/images/emoji/left_speech_bubble.png
Binary files differ
diff --git a/web/static/images/emoji/leftwards_arrow_with_hook.png b/web/static/images/emoji/leftwards_arrow_with_hook.png
index bc45dfefd..a9358a56e 100755..100644
--- a/web/static/images/emoji/leftwards_arrow_with_hook.png
+++ b/web/static/images/emoji/leftwards_arrow_with_hook.png
Binary files differ
diff --git a/web/static/images/emoji/lemon.png b/web/static/images/emoji/lemon.png
index 9814dc959..fa5e87b03 100755..100644
--- a/web/static/images/emoji/lemon.png
+++ b/web/static/images/emoji/lemon.png
Binary files differ
diff --git a/web/static/images/emoji/leo.png b/web/static/images/emoji/leo.png
index e025933b2..2290f822a 100755..100644
--- a/web/static/images/emoji/leo.png
+++ b/web/static/images/emoji/leo.png
Binary files differ
diff --git a/web/static/images/emoji/leopard.png b/web/static/images/emoji/leopard.png
index 3e738d2d3..eb16aa9c6 100755..100644
--- a/web/static/images/emoji/leopard.png
+++ b/web/static/images/emoji/leopard.png
Binary files differ
diff --git a/web/static/images/emoji/level_slider.png b/web/static/images/emoji/level_slider.png
new file mode 100644
index 000000000..389784aba
--- /dev/null
+++ b/web/static/images/emoji/level_slider.png
Binary files differ
diff --git a/web/static/images/emoji/libra.png b/web/static/images/emoji/libra.png
index 6f4a927cd..3f3c33443 100755..100644
--- a/web/static/images/emoji/libra.png
+++ b/web/static/images/emoji/libra.png
Binary files differ
diff --git a/web/static/images/emoji/light_rail.png b/web/static/images/emoji/light_rail.png
index bcfe801ee..91cff3edb 100755..100644
--- a/web/static/images/emoji/light_rail.png
+++ b/web/static/images/emoji/light_rail.png
Binary files differ
diff --git a/web/static/images/emoji/lightning.png b/web/static/images/emoji/lightning.png
new file mode 100644
index 000000000..05a085e43
--- /dev/null
+++ b/web/static/images/emoji/lightning.png
Binary files differ
diff --git a/web/static/images/emoji/lightning_cloud.png b/web/static/images/emoji/lightning_cloud.png
new file mode 100644
index 000000000..05a085e43
--- /dev/null
+++ b/web/static/images/emoji/lightning_cloud.png
Binary files differ
diff --git a/web/static/images/emoji/link.png b/web/static/images/emoji/link.png
index 0239e48e4..0954f494a 100755..100644
--- a/web/static/images/emoji/link.png
+++ b/web/static/images/emoji/link.png
Binary files differ
diff --git a/web/static/images/emoji/linked_paperclips.png b/web/static/images/emoji/linked_paperclips.png
new file mode 100644
index 000000000..e449161de
--- /dev/null
+++ b/web/static/images/emoji/linked_paperclips.png
Binary files differ
diff --git a/web/static/images/emoji/lips.png b/web/static/images/emoji/lips.png
index 826ed1102..9b2e494bd 100755..100644
--- a/web/static/images/emoji/lips.png
+++ b/web/static/images/emoji/lips.png
Binary files differ
diff --git a/web/static/images/emoji/lipstick.png b/web/static/images/emoji/lipstick.png
index 82f990c56..79421767b 100755..100644
--- a/web/static/images/emoji/lipstick.png
+++ b/web/static/images/emoji/lipstick.png
Binary files differ
diff --git a/web/static/images/emoji/lock.png b/web/static/images/emoji/lock.png
index 4892b0235..f1dc55a1a 100755..100644
--- a/web/static/images/emoji/lock.png
+++ b/web/static/images/emoji/lock.png
Binary files differ
diff --git a/web/static/images/emoji/lock_with_ink_pen.png b/web/static/images/emoji/lock_with_ink_pen.png
index 375e67e82..274d6f888 100755..100644
--- a/web/static/images/emoji/lock_with_ink_pen.png
+++ b/web/static/images/emoji/lock_with_ink_pen.png
Binary files differ
diff --git a/web/static/images/emoji/lollipop.png b/web/static/images/emoji/lollipop.png
index ba55e7093..2c6a0ed4c 100755..100644
--- a/web/static/images/emoji/lollipop.png
+++ b/web/static/images/emoji/lollipop.png
Binary files differ
diff --git a/web/static/images/emoji/loop.png b/web/static/images/emoji/loop.png
index ef34df3a4..a9b9248ba 100755..100644
--- a/web/static/images/emoji/loop.png
+++ b/web/static/images/emoji/loop.png
Binary files differ
diff --git a/web/static/images/emoji/loud_sound.png b/web/static/images/emoji/loud_sound.png
new file mode 100644
index 000000000..e84702e56
--- /dev/null
+++ b/web/static/images/emoji/loud_sound.png
Binary files differ
diff --git a/web/static/images/emoji/loudspeaker.png b/web/static/images/emoji/loudspeaker.png
index 752385e52..aaf588cd7 100755..100644
--- a/web/static/images/emoji/loudspeaker.png
+++ b/web/static/images/emoji/loudspeaker.png
Binary files differ
diff --git a/web/static/images/emoji/love_hotel.png b/web/static/images/emoji/love_hotel.png
index 44d7db828..e3b893388 100755..100644
--- a/web/static/images/emoji/love_hotel.png
+++ b/web/static/images/emoji/love_hotel.png
Binary files differ
diff --git a/web/static/images/emoji/love_letter.png b/web/static/images/emoji/love_letter.png
index e29981f44..853204d48 100755..100644
--- a/web/static/images/emoji/love_letter.png
+++ b/web/static/images/emoji/love_letter.png
Binary files differ
diff --git a/web/static/images/emoji/low_brightness.png b/web/static/images/emoji/low_brightness.png
index ea15bde4f..aecba4603 100755..100644
--- a/web/static/images/emoji/low_brightness.png
+++ b/web/static/images/emoji/low_brightness.png
Binary files differ
diff --git a/web/static/images/emoji/lower_left_ballpoint_pen.png b/web/static/images/emoji/lower_left_ballpoint_pen.png
new file mode 100644
index 000000000..b363fd8bd
--- /dev/null
+++ b/web/static/images/emoji/lower_left_ballpoint_pen.png
Binary files differ
diff --git a/web/static/images/emoji/lower_left_crayon.png b/web/static/images/emoji/lower_left_crayon.png
new file mode 100644
index 000000000..3d8392f9b
--- /dev/null
+++ b/web/static/images/emoji/lower_left_crayon.png
Binary files differ
diff --git a/web/static/images/emoji/lower_left_fountain_pen.png b/web/static/images/emoji/lower_left_fountain_pen.png
new file mode 100644
index 000000000..0b4301c18
--- /dev/null
+++ b/web/static/images/emoji/lower_left_fountain_pen.png
Binary files differ
diff --git a/web/static/images/emoji/lower_left_paintbrush.png b/web/static/images/emoji/lower_left_paintbrush.png
new file mode 100644
index 000000000..49eab81fa
--- /dev/null
+++ b/web/static/images/emoji/lower_left_paintbrush.png
Binary files differ
diff --git a/web/static/images/emoji/m.png b/web/static/images/emoji/m.png
index 7e3a3bffb..7de289795 100755..100644
--- a/web/static/images/emoji/m.png
+++ b/web/static/images/emoji/m.png
Binary files differ
diff --git a/web/static/images/emoji/mag.png b/web/static/images/emoji/mag.png
index aa5b1d7c4..99982fbec 100755..100644
--- a/web/static/images/emoji/mag.png
+++ b/web/static/images/emoji/mag.png
Binary files differ
diff --git a/web/static/images/emoji/mag_right.png b/web/static/images/emoji/mag_right.png
index 6e6cf11e6..95d12da0e 100755..100644
--- a/web/static/images/emoji/mag_right.png
+++ b/web/static/images/emoji/mag_right.png
Binary files differ
diff --git a/web/static/images/emoji/mahjong.png b/web/static/images/emoji/mahjong.png
index f51ce65fd..16a59d954 100755..100644
--- a/web/static/images/emoji/mahjong.png
+++ b/web/static/images/emoji/mahjong.png
Binary files differ
diff --git a/web/static/images/emoji/mailbox.png b/web/static/images/emoji/mailbox.png
index 8351e7076..5e3aa1019 100755..100644
--- a/web/static/images/emoji/mailbox.png
+++ b/web/static/images/emoji/mailbox.png
Binary files differ
diff --git a/web/static/images/emoji/mailbox_closed.png b/web/static/images/emoji/mailbox_closed.png
index a5982b69b..7a9f1e301 100755..100644
--- a/web/static/images/emoji/mailbox_closed.png
+++ b/web/static/images/emoji/mailbox_closed.png
Binary files differ
diff --git a/web/static/images/emoji/mailbox_with_mail.png b/web/static/images/emoji/mailbox_with_mail.png
index dae345943..f8c7362a8 100755..100644
--- a/web/static/images/emoji/mailbox_with_mail.png
+++ b/web/static/images/emoji/mailbox_with_mail.png
Binary files differ
diff --git a/web/static/images/emoji/mailbox_with_no_mail.png b/web/static/images/emoji/mailbox_with_no_mail.png
index 59f15c5d7..a4b4797ee 100755..100644
--- a/web/static/images/emoji/mailbox_with_no_mail.png
+++ b/web/static/images/emoji/mailbox_with_no_mail.png
Binary files differ
diff --git a/web/static/images/emoji/man-woman-boy.png b/web/static/images/emoji/man-woman-boy.png
new file mode 100644
index 000000000..e0d81ddb7
--- /dev/null
+++ b/web/static/images/emoji/man-woman-boy.png
Binary files differ
diff --git a/web/static/images/emoji/man.png b/web/static/images/emoji/man.png
index d9bfa26a6..8efb7f43b 100755..100644
--- a/web/static/images/emoji/man.png
+++ b/web/static/images/emoji/man.png
Binary files differ
diff --git a/web/static/images/emoji/man_and_woman_holding_hands.png b/web/static/images/emoji/man_and_woman_holding_hands.png
new file mode 100644
index 000000000..616f8520b
--- /dev/null
+++ b/web/static/images/emoji/man_and_woman_holding_hands.png
Binary files differ
diff --git a/web/static/images/emoji/man_in_business_suit_levitating.png b/web/static/images/emoji/man_in_business_suit_levitating.png
new file mode 100644
index 000000000..1c526acbe
--- /dev/null
+++ b/web/static/images/emoji/man_in_business_suit_levitating.png
Binary files differ
diff --git a/web/static/images/emoji/man_with_gua_pi_mao.png b/web/static/images/emoji/man_with_gua_pi_mao.png
index 7aad74b55..bd01585c4 100755..100644
--- a/web/static/images/emoji/man_with_gua_pi_mao.png
+++ b/web/static/images/emoji/man_with_gua_pi_mao.png
Binary files differ
diff --git a/web/static/images/emoji/man_with_turban.png b/web/static/images/emoji/man_with_turban.png
index 036604caf..e968c78fe 100755..100644
--- a/web/static/images/emoji/man_with_turban.png
+++ b/web/static/images/emoji/man_with_turban.png
Binary files differ
diff --git a/web/static/images/emoji/mans_shoe.png b/web/static/images/emoji/mans_shoe.png
index ecba9ba7d..8d8a9feeb 100755..100644
--- a/web/static/images/emoji/mans_shoe.png
+++ b/web/static/images/emoji/mans_shoe.png
Binary files differ
diff --git a/web/static/images/emoji/mantelpiece_clock.png b/web/static/images/emoji/mantelpiece_clock.png
new file mode 100644
index 000000000..f944ec0c6
--- /dev/null
+++ b/web/static/images/emoji/mantelpiece_clock.png
Binary files differ
diff --git a/web/static/images/emoji/maple_leaf.png b/web/static/images/emoji/maple_leaf.png
index 4e9b47207..2756537f1 100755..100644
--- a/web/static/images/emoji/maple_leaf.png
+++ b/web/static/images/emoji/maple_leaf.png
Binary files differ
diff --git a/web/static/images/emoji/mask.png b/web/static/images/emoji/mask.png
index 05887e99c..7110927b8 100755..100644
--- a/web/static/images/emoji/mask.png
+++ b/web/static/images/emoji/mask.png
Binary files differ
diff --git a/web/static/images/emoji/massage.png b/web/static/images/emoji/massage.png
index dd30d1597..4890c3395 100755..100644
--- a/web/static/images/emoji/massage.png
+++ b/web/static/images/emoji/massage.png
Binary files differ
diff --git a/web/static/images/emoji/meat_on_bone.png b/web/static/images/emoji/meat_on_bone.png
index 5b79a660c..e9697fef1 100755..100644
--- a/web/static/images/emoji/meat_on_bone.png
+++ b/web/static/images/emoji/meat_on_bone.png
Binary files differ
diff --git a/web/static/images/emoji/medal.png b/web/static/images/emoji/medal.png
new file mode 100644
index 000000000..6558c71fc
--- /dev/null
+++ b/web/static/images/emoji/medal.png
Binary files differ
diff --git a/web/static/images/emoji/mega.png b/web/static/images/emoji/mega.png
index 022df2f8d..51bc09152 100755..100644
--- a/web/static/images/emoji/mega.png
+++ b/web/static/images/emoji/mega.png
Binary files differ
diff --git a/web/static/images/emoji/melon.png b/web/static/images/emoji/melon.png
index 11c13cbbd..b27f00d25 100755..100644
--- a/web/static/images/emoji/melon.png
+++ b/web/static/images/emoji/melon.png
Binary files differ
diff --git a/web/static/images/emoji/memo.png b/web/static/images/emoji/memo.png
index fc97ddbc9..61e5a08e6 100755..100644
--- a/web/static/images/emoji/memo.png
+++ b/web/static/images/emoji/memo.png
Binary files differ
diff --git a/web/static/images/emoji/mens.png b/web/static/images/emoji/mens.png
index abccfc9f2..db526a641 100755..100644
--- a/web/static/images/emoji/mens.png
+++ b/web/static/images/emoji/mens.png
Binary files differ
diff --git a/web/static/images/emoji/metal.png b/web/static/images/emoji/metal.png
index 94f1fda22..94f1fda22 100755..100644
--- a/web/static/images/emoji/metal.png
+++ b/web/static/images/emoji/metal.png
Binary files differ
diff --git a/web/static/images/emoji/metro.png b/web/static/images/emoji/metro.png
index 4acf5ab3e..747ab8ad1 100755..100644
--- a/web/static/images/emoji/metro.png
+++ b/web/static/images/emoji/metro.png
Binary files differ
diff --git a/web/static/images/emoji/microphone.png b/web/static/images/emoji/microphone.png
index 68c74adad..346b8967c 100755..100644
--- a/web/static/images/emoji/microphone.png
+++ b/web/static/images/emoji/microphone.png
Binary files differ
diff --git a/web/static/images/emoji/microscope.png b/web/static/images/emoji/microscope.png
index 8b7a5e4e6..944293d1e 100755..100644
--- a/web/static/images/emoji/microscope.png
+++ b/web/static/images/emoji/microscope.png
Binary files differ
diff --git a/web/static/images/emoji/middle_finger.png b/web/static/images/emoji/middle_finger.png
new file mode 100644
index 000000000..c4e5d4a91
--- /dev/null
+++ b/web/static/images/emoji/middle_finger.png
Binary files differ
diff --git a/web/static/images/emoji/milky_way.png b/web/static/images/emoji/milky_way.png
index 901090a12..4ee1090f4 100755..100644
--- a/web/static/images/emoji/milky_way.png
+++ b/web/static/images/emoji/milky_way.png
Binary files differ
diff --git a/web/static/images/emoji/minibus.png b/web/static/images/emoji/minibus.png
index c52cef234..462d0a348 100755..100644
--- a/web/static/images/emoji/minibus.png
+++ b/web/static/images/emoji/minibus.png
Binary files differ
diff --git a/web/static/images/emoji/minidisc.png b/web/static/images/emoji/minidisc.png
index e19cc5d01..49d651f9e 100755..100644
--- a/web/static/images/emoji/minidisc.png
+++ b/web/static/images/emoji/minidisc.png
Binary files differ
diff --git a/web/static/images/emoji/mobile_phone_off.png b/web/static/images/emoji/mobile_phone_off.png
index fa16c763c..63d1deeaa 100755..100644
--- a/web/static/images/emoji/mobile_phone_off.png
+++ b/web/static/images/emoji/mobile_phone_off.png
Binary files differ
diff --git a/web/static/images/emoji/money_with_wings.png b/web/static/images/emoji/money_with_wings.png
index 581a82449..46591e443 100755..100644
--- a/web/static/images/emoji/money_with_wings.png
+++ b/web/static/images/emoji/money_with_wings.png
Binary files differ
diff --git a/web/static/images/emoji/moneybag.png b/web/static/images/emoji/moneybag.png
index 5546c04ba..a44896ab0 100755..100644
--- a/web/static/images/emoji/moneybag.png
+++ b/web/static/images/emoji/moneybag.png
Binary files differ
diff --git a/web/static/images/emoji/monkey.png b/web/static/images/emoji/monkey.png
index 640703597..33e542ba6 100755..100644
--- a/web/static/images/emoji/monkey.png
+++ b/web/static/images/emoji/monkey.png
Binary files differ
diff --git a/web/static/images/emoji/monkey_face.png b/web/static/images/emoji/monkey_face.png
index 6964cf4d5..a753bae1c 100755..100644
--- a/web/static/images/emoji/monkey_face.png
+++ b/web/static/images/emoji/monkey_face.png
Binary files differ
diff --git a/web/static/images/emoji/monorail.png b/web/static/images/emoji/monorail.png
index 913d30024..83ba5af45 100755..100644
--- a/web/static/images/emoji/monorail.png
+++ b/web/static/images/emoji/monorail.png
Binary files differ
diff --git a/web/static/images/emoji/moon.png b/web/static/images/emoji/moon.png
new file mode 100644
index 000000000..b53fd4288
--- /dev/null
+++ b/web/static/images/emoji/moon.png
Binary files differ
diff --git a/web/static/images/emoji/mortar_board.png b/web/static/images/emoji/mortar_board.png
index 84513f6ba..4d5744f60 100755..100644
--- a/web/static/images/emoji/mortar_board.png
+++ b/web/static/images/emoji/mortar_board.png
Binary files differ
diff --git a/web/static/images/emoji/motor_boat.png b/web/static/images/emoji/motor_boat.png
new file mode 100644
index 000000000..1e720f431
--- /dev/null
+++ b/web/static/images/emoji/motor_boat.png
Binary files differ
diff --git a/web/static/images/emoji/motorway.png b/web/static/images/emoji/motorway.png
new file mode 100644
index 000000000..c7f7a5d48
--- /dev/null
+++ b/web/static/images/emoji/motorway.png
Binary files differ
diff --git a/web/static/images/emoji/mount_fuji.png b/web/static/images/emoji/mount_fuji.png
index 4c313e583..51d1aeab1 100755..100644
--- a/web/static/images/emoji/mount_fuji.png
+++ b/web/static/images/emoji/mount_fuji.png
Binary files differ
diff --git a/web/static/images/emoji/mountain_bicyclist.png b/web/static/images/emoji/mountain_bicyclist.png
index b69889756..d2aa6f821 100755..100644
--- a/web/static/images/emoji/mountain_bicyclist.png
+++ b/web/static/images/emoji/mountain_bicyclist.png
Binary files differ
diff --git a/web/static/images/emoji/mountain_cableway.png b/web/static/images/emoji/mountain_cableway.png
index 5688bb239..6dbd7307e 100755..100644
--- a/web/static/images/emoji/mountain_cableway.png
+++ b/web/static/images/emoji/mountain_cableway.png
Binary files differ
diff --git a/web/static/images/emoji/mountain_railway.png b/web/static/images/emoji/mountain_railway.png
index 1f3d1aab5..c69df1f8f 100755..100644
--- a/web/static/images/emoji/mountain_railway.png
+++ b/web/static/images/emoji/mountain_railway.png
Binary files differ
diff --git a/web/static/images/emoji/mouse.png b/web/static/images/emoji/mouse.png
index 8ff162e2d..a8e5eb73f 100755..100644
--- a/web/static/images/emoji/mouse.png
+++ b/web/static/images/emoji/mouse.png
Binary files differ
diff --git a/web/static/images/emoji/mouse2.png b/web/static/images/emoji/mouse2.png
index 2d777e5e1..5b1b1137f 100755..100644
--- a/web/static/images/emoji/mouse2.png
+++ b/web/static/images/emoji/mouse2.png
Binary files differ
diff --git a/web/static/images/emoji/movie_camera.png b/web/static/images/emoji/movie_camera.png
index 9c1438409..077458b67 100755..100644
--- a/web/static/images/emoji/movie_camera.png
+++ b/web/static/images/emoji/movie_camera.png
Binary files differ
diff --git a/web/static/images/emoji/moyai.png b/web/static/images/emoji/moyai.png
index 61a1a9c21..247d34e25 100755..100644
--- a/web/static/images/emoji/moyai.png
+++ b/web/static/images/emoji/moyai.png
Binary files differ
diff --git a/web/static/images/emoji/muscle.png b/web/static/images/emoji/muscle.png
index 19f92efb6..9300534fa 100755..100644
--- a/web/static/images/emoji/muscle.png
+++ b/web/static/images/emoji/muscle.png
Binary files differ
diff --git a/web/static/images/emoji/mushroom.png b/web/static/images/emoji/mushroom.png
index 5eeed8e79..ca7a039cb 100755..100644
--- a/web/static/images/emoji/mushroom.png
+++ b/web/static/images/emoji/mushroom.png
Binary files differ
diff --git a/web/static/images/emoji/musical_keyboard.png b/web/static/images/emoji/musical_keyboard.png
index 93647a4a3..c6c029920 100755..100644
--- a/web/static/images/emoji/musical_keyboard.png
+++ b/web/static/images/emoji/musical_keyboard.png
Binary files differ
diff --git a/web/static/images/emoji/musical_note.png b/web/static/images/emoji/musical_note.png
index 68b261bcb..f9bc86e4e 100755..100644
--- a/web/static/images/emoji/musical_note.png
+++ b/web/static/images/emoji/musical_note.png
Binary files differ
diff --git a/web/static/images/emoji/musical_score.png b/web/static/images/emoji/musical_score.png
index c99e3381f..ae50ab288 100755..100644
--- a/web/static/images/emoji/musical_score.png
+++ b/web/static/images/emoji/musical_score.png
Binary files differ
diff --git a/web/static/images/emoji/mute.png b/web/static/images/emoji/mute.png
index 4cf67c367..04d987046 100755..100644
--- a/web/static/images/emoji/mute.png
+++ b/web/static/images/emoji/mute.png
Binary files differ
diff --git a/web/static/images/emoji/nail_care.png b/web/static/images/emoji/nail_care.png
index 6a66e63d2..279881c26 100755..100644
--- a/web/static/images/emoji/nail_care.png
+++ b/web/static/images/emoji/nail_care.png
Binary files differ
diff --git a/web/static/images/emoji/name_badge.png b/web/static/images/emoji/name_badge.png
index 2b712dcd5..a1ffb38b3 100755..100644
--- a/web/static/images/emoji/name_badge.png
+++ b/web/static/images/emoji/name_badge.png
Binary files differ
diff --git a/web/static/images/emoji/national_park.png b/web/static/images/emoji/national_park.png
new file mode 100644
index 000000000..ff6fc0754
--- /dev/null
+++ b/web/static/images/emoji/national_park.png
Binary files differ
diff --git a/web/static/images/emoji/neckbeard.png b/web/static/images/emoji/neckbeard.png
index 6e31d1652..6e31d1652 100755..100644
--- a/web/static/images/emoji/neckbeard.png
+++ b/web/static/images/emoji/neckbeard.png
Binary files differ
diff --git a/web/static/images/emoji/necktie.png b/web/static/images/emoji/necktie.png
index 80461c66f..3ed0339bf 100755..100644
--- a/web/static/images/emoji/necktie.png
+++ b/web/static/images/emoji/necktie.png
Binary files differ
diff --git a/web/static/images/emoji/negative_squared_cross_mark.png b/web/static/images/emoji/negative_squared_cross_mark.png
index b47a0cece..90ca18394 100755..100644
--- a/web/static/images/emoji/negative_squared_cross_mark.png
+++ b/web/static/images/emoji/negative_squared_cross_mark.png
Binary files differ
diff --git a/web/static/images/emoji/neutral_face.png b/web/static/images/emoji/neutral_face.png
index 682a1ba06..6cabdf2f4 100755..100644
--- a/web/static/images/emoji/neutral_face.png
+++ b/web/static/images/emoji/neutral_face.png
Binary files differ
diff --git a/web/static/images/emoji/new.png b/web/static/images/emoji/new.png
index 28d1570e0..9d9f89101 100755..100644
--- a/web/static/images/emoji/new.png
+++ b/web/static/images/emoji/new.png
Binary files differ
diff --git a/web/static/images/emoji/new_moon.png b/web/static/images/emoji/new_moon.png
index 72492cb90..06e5e67f2 100755..100644
--- a/web/static/images/emoji/new_moon.png
+++ b/web/static/images/emoji/new_moon.png
Binary files differ
diff --git a/web/static/images/emoji/new_moon_with_face.png b/web/static/images/emoji/new_moon_with_face.png
index 21a696eb9..c7b2e8011 100755..100644
--- a/web/static/images/emoji/new_moon_with_face.png
+++ b/web/static/images/emoji/new_moon_with_face.png
Binary files differ
diff --git a/web/static/images/emoji/newspaper.png b/web/static/images/emoji/newspaper.png
index 60c3394dc..ae5e31494 100755..100644
--- a/web/static/images/emoji/newspaper.png
+++ b/web/static/images/emoji/newspaper.png
Binary files differ
diff --git a/web/static/images/emoji/ng.png b/web/static/images/emoji/ng.png
index 2ca180ae3..cc45e9df2 100755..100644
--- a/web/static/images/emoji/ng.png
+++ b/web/static/images/emoji/ng.png
Binary files differ
diff --git a/web/static/images/emoji/night_with_stars.png b/web/static/images/emoji/night_with_stars.png
new file mode 100644
index 000000000..b6b629204
--- /dev/null
+++ b/web/static/images/emoji/night_with_stars.png
Binary files differ
diff --git a/web/static/images/emoji/nine.png b/web/static/images/emoji/nine.png
index 8006cc909..e6b38a109 100755..100644
--- a/web/static/images/emoji/nine.png
+++ b/web/static/images/emoji/nine.png
Binary files differ
diff --git a/web/static/images/emoji/no_bell.png b/web/static/images/emoji/no_bell.png
index 613b81cd2..30e8858aa 100755..100644
--- a/web/static/images/emoji/no_bell.png
+++ b/web/static/images/emoji/no_bell.png
Binary files differ
diff --git a/web/static/images/emoji/no_bicycles.png b/web/static/images/emoji/no_bicycles.png
index 4b2621664..278f1424e 100755..100644
--- a/web/static/images/emoji/no_bicycles.png
+++ b/web/static/images/emoji/no_bicycles.png
Binary files differ
diff --git a/web/static/images/emoji/no_entry.png b/web/static/images/emoji/no_entry.png
index cf2086a8e..aca2edaa7 100755..100644
--- a/web/static/images/emoji/no_entry.png
+++ b/web/static/images/emoji/no_entry.png
Binary files differ
diff --git a/web/static/images/emoji/no_entry_sign.png b/web/static/images/emoji/no_entry_sign.png
index b3231f66d..6577a1058 100755..100644
--- a/web/static/images/emoji/no_entry_sign.png
+++ b/web/static/images/emoji/no_entry_sign.png
Binary files differ
diff --git a/web/static/images/emoji/no_good.png b/web/static/images/emoji/no_good.png
index d459a35bc..d7eead9de 100755..100644
--- a/web/static/images/emoji/no_good.png
+++ b/web/static/images/emoji/no_good.png
Binary files differ
diff --git a/web/static/images/emoji/no_mobile_phones.png b/web/static/images/emoji/no_mobile_phones.png
index 41df57cf8..8324e4361 100755..100644
--- a/web/static/images/emoji/no_mobile_phones.png
+++ b/web/static/images/emoji/no_mobile_phones.png
Binary files differ
diff --git a/web/static/images/emoji/no_mouth.png b/web/static/images/emoji/no_mouth.png
index e67802046..549fff988 100755..100644
--- a/web/static/images/emoji/no_mouth.png
+++ b/web/static/images/emoji/no_mouth.png
Binary files differ
diff --git a/web/static/images/emoji/no_pedestrians.png b/web/static/images/emoji/no_pedestrians.png
index 53ee0f927..b015b4eaf 100755..100644
--- a/web/static/images/emoji/no_pedestrians.png
+++ b/web/static/images/emoji/no_pedestrians.png
Binary files differ
diff --git a/web/static/images/emoji/no_smoking.png b/web/static/images/emoji/no_smoking.png
index 5880ddfd1..939a81ae8 100755..100644
--- a/web/static/images/emoji/no_smoking.png
+++ b/web/static/images/emoji/no_smoking.png
Binary files differ
diff --git a/web/static/images/emoji/non-potable_water.png b/web/static/images/emoji/non-potable_water.png
index 1b29d35b9..34de27d65 100755..100644
--- a/web/static/images/emoji/non-potable_water.png
+++ b/web/static/images/emoji/non-potable_water.png
Binary files differ
diff --git a/web/static/images/emoji/nose.png b/web/static/images/emoji/nose.png
index ad17c16c2..f3d289014 100755..100644
--- a/web/static/images/emoji/nose.png
+++ b/web/static/images/emoji/nose.png
Binary files differ
diff --git a/web/static/images/emoji/notebook.png b/web/static/images/emoji/notebook.png
index 5f0a5f6a2..5ed4f4112 100755..100644
--- a/web/static/images/emoji/notebook.png
+++ b/web/static/images/emoji/notebook.png
Binary files differ
diff --git a/web/static/images/emoji/notebook_with_decorative_cover.png b/web/static/images/emoji/notebook_with_decorative_cover.png
index 4f3b14c85..839ee3e78 100755..100644
--- a/web/static/images/emoji/notebook_with_decorative_cover.png
+++ b/web/static/images/emoji/notebook_with_decorative_cover.png
Binary files differ
diff --git a/web/static/images/emoji/notes.png b/web/static/images/emoji/notes.png
index 0956d6ab2..df2810aa4 100755..100644
--- a/web/static/images/emoji/notes.png
+++ b/web/static/images/emoji/notes.png
Binary files differ
diff --git a/web/static/images/emoji/nut_and_bolt.png b/web/static/images/emoji/nut_and_bolt.png
index bddfa72a7..fee747a01 100755..100644
--- a/web/static/images/emoji/nut_and_bolt.png
+++ b/web/static/images/emoji/nut_and_bolt.png
Binary files differ
diff --git a/web/static/images/emoji/o.png b/web/static/images/emoji/o.png
index 1ff846c19..f141dc452 100755..100644
--- a/web/static/images/emoji/o.png
+++ b/web/static/images/emoji/o.png
Binary files differ
diff --git a/web/static/images/emoji/o2.png b/web/static/images/emoji/o2.png
index d85f9fb98..b39215725 100755..100644
--- a/web/static/images/emoji/o2.png
+++ b/web/static/images/emoji/o2.png
Binary files differ
diff --git a/web/static/images/emoji/ocean.png b/web/static/images/emoji/ocean.png
index f8d520cd4..172dfffdf 100755..100644
--- a/web/static/images/emoji/ocean.png
+++ b/web/static/images/emoji/ocean.png
Binary files differ
diff --git a/web/static/images/emoji/octocat.png b/web/static/images/emoji/octocat.png
index d296f25fe..d296f25fe 100755..100644
--- a/web/static/images/emoji/octocat.png
+++ b/web/static/images/emoji/octocat.png
Binary files differ
diff --git a/web/static/images/emoji/octopus.png b/web/static/images/emoji/octopus.png
index 52ce64b46..8add7143e 100755..100644
--- a/web/static/images/emoji/octopus.png
+++ b/web/static/images/emoji/octopus.png
Binary files differ
diff --git a/web/static/images/emoji/oden.png b/web/static/images/emoji/oden.png
index 73add1c73..8ac803517 100755..100644
--- a/web/static/images/emoji/oden.png
+++ b/web/static/images/emoji/oden.png
Binary files differ
diff --git a/web/static/images/emoji/office.png b/web/static/images/emoji/office.png
index 53c3ef8d1..52a6bb4a4 100755..100644
--- a/web/static/images/emoji/office.png
+++ b/web/static/images/emoji/office.png
Binary files differ
diff --git a/web/static/images/emoji/oil_drum.png b/web/static/images/emoji/oil_drum.png
new file mode 100644
index 000000000..e7e597a98
--- /dev/null
+++ b/web/static/images/emoji/oil_drum.png
Binary files differ
diff --git a/web/static/images/emoji/ok.png b/web/static/images/emoji/ok.png
index 6433d1a90..ffa868d43 100755..100644
--- a/web/static/images/emoji/ok.png
+++ b/web/static/images/emoji/ok.png
Binary files differ
diff --git a/web/static/images/emoji/ok_hand.png b/web/static/images/emoji/ok_hand.png
index 80c5aebb6..bf84e0df4 100755..100644
--- a/web/static/images/emoji/ok_hand.png
+++ b/web/static/images/emoji/ok_hand.png
Binary files differ
diff --git a/web/static/images/emoji/ok_woman.png b/web/static/images/emoji/ok_woman.png
index e8b98194e..fcafef225 100755..100644
--- a/web/static/images/emoji/ok_woman.png
+++ b/web/static/images/emoji/ok_woman.png
Binary files differ
diff --git a/web/static/images/emoji/old_key.png b/web/static/images/emoji/old_key.png
new file mode 100644
index 000000000..d153b6888
--- /dev/null
+++ b/web/static/images/emoji/old_key.png
Binary files differ
diff --git a/web/static/images/emoji/older_man.png b/web/static/images/emoji/older_man.png
index 149f0cfb8..18fbbdde8 100755..100644
--- a/web/static/images/emoji/older_man.png
+++ b/web/static/images/emoji/older_man.png
Binary files differ
diff --git a/web/static/images/emoji/older_woman.png b/web/static/images/emoji/older_woman.png
index f839565f4..0848ebe92 100755..100644
--- a/web/static/images/emoji/older_woman.png
+++ b/web/static/images/emoji/older_woman.png
Binary files differ
diff --git a/web/static/images/emoji/om_symbol.png b/web/static/images/emoji/om_symbol.png
new file mode 100644
index 000000000..52cc9f00e
--- /dev/null
+++ b/web/static/images/emoji/om_symbol.png
Binary files differ
diff --git a/web/static/images/emoji/on.png b/web/static/images/emoji/on.png
index 4cd69a15d..3c369cb1d 100755..100644
--- a/web/static/images/emoji/on.png
+++ b/web/static/images/emoji/on.png
Binary files differ
diff --git a/web/static/images/emoji/oncoming_automobile.png b/web/static/images/emoji/oncoming_automobile.png
index cb46de22c..b9b0dafbf 100755..100644
--- a/web/static/images/emoji/oncoming_automobile.png
+++ b/web/static/images/emoji/oncoming_automobile.png
Binary files differ
diff --git a/web/static/images/emoji/oncoming_bus.png b/web/static/images/emoji/oncoming_bus.png
index 3695f7623..bac2d85e3 100755..100644
--- a/web/static/images/emoji/oncoming_bus.png
+++ b/web/static/images/emoji/oncoming_bus.png
Binary files differ
diff --git a/web/static/images/emoji/oncoming_police_car.png b/web/static/images/emoji/oncoming_police_car.png
index af20e7eff..2ab9c3302 100755..100644
--- a/web/static/images/emoji/oncoming_police_car.png
+++ b/web/static/images/emoji/oncoming_police_car.png
Binary files differ
diff --git a/web/static/images/emoji/oncoming_taxi.png b/web/static/images/emoji/oncoming_taxi.png
index f78cf3103..108d49693 100755..100644
--- a/web/static/images/emoji/oncoming_taxi.png
+++ b/web/static/images/emoji/oncoming_taxi.png
Binary files differ
diff --git a/web/static/images/emoji/one.png b/web/static/images/emoji/one.png
index 2d1f9f8c4..b10ef8c0c 100755..100644
--- a/web/static/images/emoji/one.png
+++ b/web/static/images/emoji/one.png
Binary files differ
diff --git a/web/static/images/emoji/open_book.png b/web/static/images/emoji/open_book.png
new file mode 100644
index 000000000..01c836a7e
--- /dev/null
+++ b/web/static/images/emoji/open_book.png
Binary files differ
diff --git a/web/static/images/emoji/open_file_folder.png b/web/static/images/emoji/open_file_folder.png
index 2bbbbf5e7..2d48340bf 100755..100644
--- a/web/static/images/emoji/open_file_folder.png
+++ b/web/static/images/emoji/open_file_folder.png
Binary files differ
diff --git a/web/static/images/emoji/open_hands.png b/web/static/images/emoji/open_hands.png
index cef9f428b..c8eb0bab5 100755..100644
--- a/web/static/images/emoji/open_hands.png
+++ b/web/static/images/emoji/open_hands.png
Binary files differ
diff --git a/web/static/images/emoji/open_mouth.png b/web/static/images/emoji/open_mouth.png
index daf914274..3f9cc3fff 100755..100644
--- a/web/static/images/emoji/open_mouth.png
+++ b/web/static/images/emoji/open_mouth.png
Binary files differ
diff --git a/web/static/images/emoji/ophiuchus.png b/web/static/images/emoji/ophiuchus.png
index 4eef715bc..600ad3a3c 100755..100644
--- a/web/static/images/emoji/ophiuchus.png
+++ b/web/static/images/emoji/ophiuchus.png
Binary files differ
diff --git a/web/static/images/emoji/orange_book.png b/web/static/images/emoji/orange_book.png
index 49650d59e..8ecfd9c10 100755..100644
--- a/web/static/images/emoji/orange_book.png
+++ b/web/static/images/emoji/orange_book.png
Binary files differ
diff --git a/web/static/images/emoji/outbox_tray.png b/web/static/images/emoji/outbox_tray.png
index 7ad15e649..7afec2610 100755..100644
--- a/web/static/images/emoji/outbox_tray.png
+++ b/web/static/images/emoji/outbox_tray.png
Binary files differ
diff --git a/web/static/images/emoji/ox.png b/web/static/images/emoji/ox.png
index 8d9819462..e1688630c 100755..100644
--- a/web/static/images/emoji/ox.png
+++ b/web/static/images/emoji/ox.png
Binary files differ
diff --git a/web/static/images/emoji/package.png b/web/static/images/emoji/package.png
index 26602af9d..424c4fd19 100755..100644
--- a/web/static/images/emoji/package.png
+++ b/web/static/images/emoji/package.png
Binary files differ
diff --git a/web/static/images/emoji/page_facing_up.png b/web/static/images/emoji/page_facing_up.png
index 804c0d739..f3023ba74 100755..100644
--- a/web/static/images/emoji/page_facing_up.png
+++ b/web/static/images/emoji/page_facing_up.png
Binary files differ
diff --git a/web/static/images/emoji/page_with_curl.png b/web/static/images/emoji/page_with_curl.png
index 37cb4de50..306b7e4d7 100755..100644
--- a/web/static/images/emoji/page_with_curl.png
+++ b/web/static/images/emoji/page_with_curl.png
Binary files differ
diff --git a/web/static/images/emoji/pager.png b/web/static/images/emoji/pager.png
index e3e1fc44e..acfd131a0 100755..100644
--- a/web/static/images/emoji/pager.png
+++ b/web/static/images/emoji/pager.png
Binary files differ
diff --git a/web/static/images/emoji/palm_tree.png b/web/static/images/emoji/palm_tree.png
index d13b7c620..b18cffc94 100755..100644
--- a/web/static/images/emoji/palm_tree.png
+++ b/web/static/images/emoji/palm_tree.png
Binary files differ
diff --git a/web/static/images/emoji/panda_face.png b/web/static/images/emoji/panda_face.png
index a794fb17f..a1ded2a6c 100755..100644
--- a/web/static/images/emoji/panda_face.png
+++ b/web/static/images/emoji/panda_face.png
Binary files differ
diff --git a/web/static/images/emoji/paperclip.png b/web/static/images/emoji/paperclip.png
index 677669a83..e241e1189 100755..100644
--- a/web/static/images/emoji/paperclip.png
+++ b/web/static/images/emoji/paperclip.png
Binary files differ
diff --git a/web/static/images/emoji/parking.png b/web/static/images/emoji/parking.png
index c24af81cc..340033226 100755..100644
--- a/web/static/images/emoji/parking.png
+++ b/web/static/images/emoji/parking.png
Binary files differ
diff --git a/web/static/images/emoji/part_alternation_mark.png b/web/static/images/emoji/part_alternation_mark.png
index 1e5855f8d..d39063ed9 100755..100644
--- a/web/static/images/emoji/part_alternation_mark.png
+++ b/web/static/images/emoji/part_alternation_mark.png
Binary files differ
diff --git a/web/static/images/emoji/partly_sunny.png b/web/static/images/emoji/partly_sunny.png
index b3f5bcfdd..a5c8d31b8 100755..100644
--- a/web/static/images/emoji/partly_sunny.png
+++ b/web/static/images/emoji/partly_sunny.png
Binary files differ
diff --git a/web/static/images/emoji/passenger_ship.png b/web/static/images/emoji/passenger_ship.png
new file mode 100644
index 000000000..512cb1200
--- /dev/null
+++ b/web/static/images/emoji/passenger_ship.png
Binary files differ
diff --git a/web/static/images/emoji/passport_control.png b/web/static/images/emoji/passport_control.png
index 675b76d37..51359c754 100755..100644
--- a/web/static/images/emoji/passport_control.png
+++ b/web/static/images/emoji/passport_control.png
Binary files differ
diff --git a/web/static/images/emoji/paw_prints.png b/web/static/images/emoji/paw_prints.png
index 89b9fec9e..b36eba864 100755..100644
--- a/web/static/images/emoji/paw_prints.png
+++ b/web/static/images/emoji/paw_prints.png
Binary files differ
diff --git a/web/static/images/emoji/peach.png b/web/static/images/emoji/peach.png
index ee2139ecb..24409997d 100755..100644
--- a/web/static/images/emoji/peach.png
+++ b/web/static/images/emoji/peach.png
Binary files differ
diff --git a/web/static/images/emoji/pear.png b/web/static/images/emoji/pear.png
index f24aca8c0..20b63b461 100755..100644
--- a/web/static/images/emoji/pear.png
+++ b/web/static/images/emoji/pear.png
Binary files differ
diff --git a/web/static/images/emoji/pencil.png b/web/static/images/emoji/pencil.png
index fc97ddbc9..61e5a08e6 100755..100644
--- a/web/static/images/emoji/pencil.png
+++ b/web/static/images/emoji/pencil.png
Binary files differ
diff --git a/web/static/images/emoji/pencil2.png b/web/static/images/emoji/pencil2.png
index 64c2d9b79..693ee8429 100755..100644
--- a/web/static/images/emoji/pencil2.png
+++ b/web/static/images/emoji/pencil2.png
Binary files differ
diff --git a/web/static/images/emoji/penguin.png b/web/static/images/emoji/penguin.png
index d8edbcb8f..1789bf222 100755..100644
--- a/web/static/images/emoji/penguin.png
+++ b/web/static/images/emoji/penguin.png
Binary files differ
diff --git a/web/static/images/emoji/pensive.png b/web/static/images/emoji/pensive.png
index 4159f3c42..ac55cb0f6 100755..100644
--- a/web/static/images/emoji/pensive.png
+++ b/web/static/images/emoji/pensive.png
Binary files differ
diff --git a/web/static/images/emoji/performing_arts.png b/web/static/images/emoji/performing_arts.png
index 899fbe5a7..97a5bb7fe 100755..100644
--- a/web/static/images/emoji/performing_arts.png
+++ b/web/static/images/emoji/performing_arts.png
Binary files differ
diff --git a/web/static/images/emoji/persevere.png b/web/static/images/emoji/persevere.png
index f99f6da47..ba1550418 100755..100644
--- a/web/static/images/emoji/persevere.png
+++ b/web/static/images/emoji/persevere.png
Binary files differ
diff --git a/web/static/images/emoji/person_frowning.png b/web/static/images/emoji/person_frowning.png
index 6f34d5e15..81dbb96cd 100755..100644
--- a/web/static/images/emoji/person_frowning.png
+++ b/web/static/images/emoji/person_frowning.png
Binary files differ
diff --git a/web/static/images/emoji/person_with_blond_hair.png b/web/static/images/emoji/person_with_blond_hair.png
index c144301cb..7cd2e8766 100755..100644
--- a/web/static/images/emoji/person_with_blond_hair.png
+++ b/web/static/images/emoji/person_with_blond_hair.png
Binary files differ
diff --git a/web/static/images/emoji/person_with_pouting_face.png b/web/static/images/emoji/person_with_pouting_face.png
index c4a95c3b2..466177621 100755..100644
--- a/web/static/images/emoji/person_with_pouting_face.png
+++ b/web/static/images/emoji/person_with_pouting_face.png
Binary files differ
diff --git a/web/static/images/emoji/phone.png b/web/static/images/emoji/phone.png
index 87d2559b5..6a14f1bfe 100755..100644
--- a/web/static/images/emoji/phone.png
+++ b/web/static/images/emoji/phone.png
Binary files differ
diff --git a/web/static/images/emoji/pig.png b/web/static/images/emoji/pig.png
index f7f273c73..e2ef71cc0 100755..100644
--- a/web/static/images/emoji/pig.png
+++ b/web/static/images/emoji/pig.png
Binary files differ
diff --git a/web/static/images/emoji/pig2.png b/web/static/images/emoji/pig2.png
index fec3374d7..de1147954 100755..100644
--- a/web/static/images/emoji/pig2.png
+++ b/web/static/images/emoji/pig2.png
Binary files differ
diff --git a/web/static/images/emoji/pig_nose.png b/web/static/images/emoji/pig_nose.png
index 38d612446..a704c5a41 100755..100644
--- a/web/static/images/emoji/pig_nose.png
+++ b/web/static/images/emoji/pig_nose.png
Binary files differ
diff --git a/web/static/images/emoji/pill.png b/web/static/images/emoji/pill.png
index cd84a78ff..260e44588 100755..100644
--- a/web/static/images/emoji/pill.png
+++ b/web/static/images/emoji/pill.png
Binary files differ
diff --git a/web/static/images/emoji/pineapple.png b/web/static/images/emoji/pineapple.png
index d6f8e2876..b9b9f8827 100755..100644
--- a/web/static/images/emoji/pineapple.png
+++ b/web/static/images/emoji/pineapple.png
Binary files differ
diff --git a/web/static/images/emoji/pisces.png b/web/static/images/emoji/pisces.png
index 6db2c3d50..939b88e60 100755..100644
--- a/web/static/images/emoji/pisces.png
+++ b/web/static/images/emoji/pisces.png
Binary files differ
diff --git a/web/static/images/emoji/pizza.png b/web/static/images/emoji/pizza.png
index 460367d02..ae1ef6266 100755..100644
--- a/web/static/images/emoji/pizza.png
+++ b/web/static/images/emoji/pizza.png
Binary files differ
diff --git a/web/static/images/emoji/plus1.png b/web/static/images/emoji/plus1.png
deleted file mode 100755
index 81786c1d8..000000000
--- a/web/static/images/emoji/plus1.png
+++ /dev/null
Binary files differ
diff --git a/web/static/images/emoji/point_down.png b/web/static/images/emoji/point_down.png
index 658c6d918..7eeae2d5d 100755..100644
--- a/web/static/images/emoji/point_down.png
+++ b/web/static/images/emoji/point_down.png
Binary files differ
diff --git a/web/static/images/emoji/point_left.png b/web/static/images/emoji/point_left.png
index 38a99b43f..4a8f90556 100755..100644
--- a/web/static/images/emoji/point_left.png
+++ b/web/static/images/emoji/point_left.png
Binary files differ
diff --git a/web/static/images/emoji/point_right.png b/web/static/images/emoji/point_right.png
index 6f9f029a4..b2e387878 100755..100644
--- a/web/static/images/emoji/point_right.png
+++ b/web/static/images/emoji/point_right.png
Binary files differ
diff --git a/web/static/images/emoji/point_up.png b/web/static/images/emoji/point_up.png
index 01896e214..387fe59e2 100755..100644
--- a/web/static/images/emoji/point_up.png
+++ b/web/static/images/emoji/point_up.png
Binary files differ
diff --git a/web/static/images/emoji/point_up_2.png b/web/static/images/emoji/point_up_2.png
index 1cfe73672..85b802a99 100755..100644
--- a/web/static/images/emoji/point_up_2.png
+++ b/web/static/images/emoji/point_up_2.png
Binary files differ
diff --git a/web/static/images/emoji/police_car.png b/web/static/images/emoji/police_car.png
index b8f17275e..4281ed3bb 100755..100644
--- a/web/static/images/emoji/police_car.png
+++ b/web/static/images/emoji/police_car.png
Binary files differ
diff --git a/web/static/images/emoji/poodle.png b/web/static/images/emoji/poodle.png
index adac80bd9..a69f6388d 100755..100644
--- a/web/static/images/emoji/poodle.png
+++ b/web/static/images/emoji/poodle.png
Binary files differ
diff --git a/web/static/images/emoji/poop.png b/web/static/images/emoji/poop.png
index 73a4dc840..0c237a788 100755..100644
--- a/web/static/images/emoji/poop.png
+++ b/web/static/images/emoji/poop.png
Binary files differ
diff --git a/web/static/images/emoji/post_office.png b/web/static/images/emoji/post_office.png
index 43b59e30e..f819dac89 100755..100644
--- a/web/static/images/emoji/post_office.png
+++ b/web/static/images/emoji/post_office.png
Binary files differ
diff --git a/web/static/images/emoji/postal_horn.png b/web/static/images/emoji/postal_horn.png
index 13a151418..2313eeb45 100755..100644
--- a/web/static/images/emoji/postal_horn.png
+++ b/web/static/images/emoji/postal_horn.png
Binary files differ
diff --git a/web/static/images/emoji/postbox.png b/web/static/images/emoji/postbox.png
index ce04b7008..1633e892c 100755..100644
--- a/web/static/images/emoji/postbox.png
+++ b/web/static/images/emoji/postbox.png
Binary files differ
diff --git a/web/static/images/emoji/potable_water.png b/web/static/images/emoji/potable_water.png
index e9fd56079..9fd0e87e9 100755..100644
--- a/web/static/images/emoji/potable_water.png
+++ b/web/static/images/emoji/potable_water.png
Binary files differ
diff --git a/web/static/images/emoji/pouch.png b/web/static/images/emoji/pouch.png
index dc35ae8e5..d8e54dd7c 100755..100644
--- a/web/static/images/emoji/pouch.png
+++ b/web/static/images/emoji/pouch.png
Binary files differ
diff --git a/web/static/images/emoji/poultry_leg.png b/web/static/images/emoji/poultry_leg.png
index 43ad85965..eafba9a3e 100755..100644
--- a/web/static/images/emoji/poultry_leg.png
+++ b/web/static/images/emoji/poultry_leg.png
Binary files differ
diff --git a/web/static/images/emoji/pound.png b/web/static/images/emoji/pound.png
index f8be91d7a..555e0823f 100755..100644
--- a/web/static/images/emoji/pound.png
+++ b/web/static/images/emoji/pound.png
Binary files differ
diff --git a/web/static/images/emoji/pouting_cat.png b/web/static/images/emoji/pouting_cat.png
index 4325fd48d..a001bcfa7 100755..100644
--- a/web/static/images/emoji/pouting_cat.png
+++ b/web/static/images/emoji/pouting_cat.png
Binary files differ
diff --git a/web/static/images/emoji/pray.png b/web/static/images/emoji/pray.png
index f86c992d5..47a5f03b2 100755..100644
--- a/web/static/images/emoji/pray.png
+++ b/web/static/images/emoji/pray.png
Binary files differ
diff --git a/web/static/images/emoji/princess.png b/web/static/images/emoji/princess.png
index 1ebb2ce9b..a8b0ff903 100755..100644
--- a/web/static/images/emoji/princess.png
+++ b/web/static/images/emoji/princess.png
Binary files differ
diff --git a/web/static/images/emoji/printer.png b/web/static/images/emoji/printer.png
new file mode 100644
index 000000000..8d6002d7b
--- /dev/null
+++ b/web/static/images/emoji/printer.png
Binary files differ
diff --git a/web/static/images/emoji/punch.png b/web/static/images/emoji/punch.png
index 277047b7c..7d10b3eda 100755..100644
--- a/web/static/images/emoji/punch.png
+++ b/web/static/images/emoji/punch.png
Binary files differ
diff --git a/web/static/images/emoji/purple_heart.png b/web/static/images/emoji/purple_heart.png
index d5f875043..97bb564a1 100755..100644
--- a/web/static/images/emoji/purple_heart.png
+++ b/web/static/images/emoji/purple_heart.png
Binary files differ
diff --git a/web/static/images/emoji/purse.png b/web/static/images/emoji/purse.png
index 8f06a2b93..da09a41a3 100755..100644
--- a/web/static/images/emoji/purse.png
+++ b/web/static/images/emoji/purse.png
Binary files differ
diff --git a/web/static/images/emoji/pushpin.png b/web/static/images/emoji/pushpin.png
index 540c4ecb8..557ac45f0 100755..100644
--- a/web/static/images/emoji/pushpin.png
+++ b/web/static/images/emoji/pushpin.png
Binary files differ
diff --git a/web/static/images/emoji/put_litter_in_its_place.png b/web/static/images/emoji/put_litter_in_its_place.png
index c2e350c2d..e1c1deb24 100755..100644
--- a/web/static/images/emoji/put_litter_in_its_place.png
+++ b/web/static/images/emoji/put_litter_in_its_place.png
Binary files differ
diff --git a/web/static/images/emoji/question.png b/web/static/images/emoji/question.png
index 38cedf560..9e84758ee 100755..100644
--- a/web/static/images/emoji/question.png
+++ b/web/static/images/emoji/question.png
Binary files differ
diff --git a/web/static/images/emoji/rabbit.png b/web/static/images/emoji/rabbit.png
index 5cb3ef6f0..e6203c052 100755..100644
--- a/web/static/images/emoji/rabbit.png
+++ b/web/static/images/emoji/rabbit.png
Binary files differ
diff --git a/web/static/images/emoji/rabbit2.png b/web/static/images/emoji/rabbit2.png
index a9fd24dc1..ab2fae0fc 100755..100644
--- a/web/static/images/emoji/rabbit2.png
+++ b/web/static/images/emoji/rabbit2.png
Binary files differ
diff --git a/web/static/images/emoji/racehorse.png b/web/static/images/emoji/racehorse.png
index 4d09c64de..fadf8f2bf 100755..100644
--- a/web/static/images/emoji/racehorse.png
+++ b/web/static/images/emoji/racehorse.png
Binary files differ
diff --git a/web/static/images/emoji/racing_car.png b/web/static/images/emoji/racing_car.png
new file mode 100644
index 000000000..0f76828f6
--- /dev/null
+++ b/web/static/images/emoji/racing_car.png
Binary files differ
diff --git a/web/static/images/emoji/racing_motorcycle.png b/web/static/images/emoji/racing_motorcycle.png
new file mode 100644
index 000000000..8dcffc8f9
--- /dev/null
+++ b/web/static/images/emoji/racing_motorcycle.png
Binary files differ
diff --git a/web/static/images/emoji/radio.png b/web/static/images/emoji/radio.png
index ea589efe3..e75747faa 100755..100644
--- a/web/static/images/emoji/radio.png
+++ b/web/static/images/emoji/radio.png
Binary files differ
diff --git a/web/static/images/emoji/radio_button.png b/web/static/images/emoji/radio_button.png
index 63755eec2..bbc36031e 100755..100644
--- a/web/static/images/emoji/radio_button.png
+++ b/web/static/images/emoji/radio_button.png
Binary files differ
diff --git a/web/static/images/emoji/rage.png b/web/static/images/emoji/rage.png
index c65ddff55..c7f2df28c 100755..100644
--- a/web/static/images/emoji/rage.png
+++ b/web/static/images/emoji/rage.png
Binary files differ
diff --git a/web/static/images/emoji/rage1.png b/web/static/images/emoji/rage1.png
index 1506ba403..1506ba403 100755..100644
--- a/web/static/images/emoji/rage1.png
+++ b/web/static/images/emoji/rage1.png
Binary files differ
diff --git a/web/static/images/emoji/rage2.png b/web/static/images/emoji/rage2.png
index f792e063b..f792e063b 100755..100644
--- a/web/static/images/emoji/rage2.png
+++ b/web/static/images/emoji/rage2.png
Binary files differ
diff --git a/web/static/images/emoji/rage3.png b/web/static/images/emoji/rage3.png
index 58764cbcb..58764cbcb 100755..100644
--- a/web/static/images/emoji/rage3.png
+++ b/web/static/images/emoji/rage3.png
Binary files differ
diff --git a/web/static/images/emoji/rage4.png b/web/static/images/emoji/rage4.png
index c726c94a2..c726c94a2 100755..100644
--- a/web/static/images/emoji/rage4.png
+++ b/web/static/images/emoji/rage4.png
Binary files differ
diff --git a/web/static/images/emoji/railway_car.png b/web/static/images/emoji/railway_car.png
index 22361158f..82d808866 100755..100644
--- a/web/static/images/emoji/railway_car.png
+++ b/web/static/images/emoji/railway_car.png
Binary files differ
diff --git a/web/static/images/emoji/railway_track.png b/web/static/images/emoji/railway_track.png
new file mode 100644
index 000000000..322831040
--- /dev/null
+++ b/web/static/images/emoji/railway_track.png
Binary files differ
diff --git a/web/static/images/emoji/rain_cloud.png b/web/static/images/emoji/rain_cloud.png
new file mode 100644
index 000000000..507e1df08
--- /dev/null
+++ b/web/static/images/emoji/rain_cloud.png
Binary files differ
diff --git a/web/static/images/emoji/rainbow.png b/web/static/images/emoji/rainbow.png
index 6b1faa037..1d92301f9 100755..100644
--- a/web/static/images/emoji/rainbow.png
+++ b/web/static/images/emoji/rainbow.png
Binary files differ
diff --git a/web/static/images/emoji/raised_hand.png b/web/static/images/emoji/raised_hand.png
index 5e45c25a5..89de966a3 100755..100644
--- a/web/static/images/emoji/raised_hand.png
+++ b/web/static/images/emoji/raised_hand.png
Binary files differ
diff --git a/web/static/images/emoji/raised_hand_with_fingers_splayed.png b/web/static/images/emoji/raised_hand_with_fingers_splayed.png
new file mode 100644
index 000000000..09046e201
--- /dev/null
+++ b/web/static/images/emoji/raised_hand_with_fingers_splayed.png
Binary files differ
diff --git a/web/static/images/emoji/raised_hands.png b/web/static/images/emoji/raised_hands.png
index e03142bdc..8dbc25f83 100755..100644
--- a/web/static/images/emoji/raised_hands.png
+++ b/web/static/images/emoji/raised_hands.png
Binary files differ
diff --git a/web/static/images/emoji/raising_hand.png b/web/static/images/emoji/raising_hand.png
index e1741a40e..e9d54836a 100755..100644
--- a/web/static/images/emoji/raising_hand.png
+++ b/web/static/images/emoji/raising_hand.png
Binary files differ
diff --git a/web/static/images/emoji/ram.png b/web/static/images/emoji/ram.png
index 5ea7bfbc0..17af1b9a5 100755..100644
--- a/web/static/images/emoji/ram.png
+++ b/web/static/images/emoji/ram.png
Binary files differ
diff --git a/web/static/images/emoji/ramen.png b/web/static/images/emoji/ramen.png
index 78dc7d537..787827566 100755..100644
--- a/web/static/images/emoji/ramen.png
+++ b/web/static/images/emoji/ramen.png
Binary files differ
diff --git a/web/static/images/emoji/rat.png b/web/static/images/emoji/rat.png
index fa7dd401c..58c2d79d8 100755..100644
--- a/web/static/images/emoji/rat.png
+++ b/web/static/images/emoji/rat.png
Binary files differ
diff --git a/web/static/images/emoji/recycle.png b/web/static/images/emoji/recycle.png
index 99104c0e9..181391e86 100755..100644
--- a/web/static/images/emoji/recycle.png
+++ b/web/static/images/emoji/recycle.png
Binary files differ
diff --git a/web/static/images/emoji/red_car.png b/web/static/images/emoji/red_car.png
index d70a2f062..e266bd21e 100755..100644
--- a/web/static/images/emoji/red_car.png
+++ b/web/static/images/emoji/red_car.png
Binary files differ
diff --git a/web/static/images/emoji/red_circle.png b/web/static/images/emoji/red_circle.png
index b391289b2..bd50ae446 100755..100644
--- a/web/static/images/emoji/red_circle.png
+++ b/web/static/images/emoji/red_circle.png
Binary files differ
diff --git a/web/static/images/emoji/registered.png b/web/static/images/emoji/registered.png
index 31c68a80b..68d445daf 100755..100644
--- a/web/static/images/emoji/registered.png
+++ b/web/static/images/emoji/registered.png
Binary files differ
diff --git a/web/static/images/emoji/relaxed.png b/web/static/images/emoji/relaxed.png
index bbab82d3b..ea6e93a65 100755..100644
--- a/web/static/images/emoji/relaxed.png
+++ b/web/static/images/emoji/relaxed.png
Binary files differ
diff --git a/web/static/images/emoji/relieved.png b/web/static/images/emoji/relieved.png
index fe5629f43..3cb7aeced 100755..100644
--- a/web/static/images/emoji/relieved.png
+++ b/web/static/images/emoji/relieved.png
Binary files differ
diff --git a/web/static/images/emoji/reminder_ribbon.png b/web/static/images/emoji/reminder_ribbon.png
new file mode 100644
index 000000000..8104604b6
--- /dev/null
+++ b/web/static/images/emoji/reminder_ribbon.png
Binary files differ
diff --git a/web/static/images/emoji/repeat.png b/web/static/images/emoji/repeat.png
index 80113b692..8420b4f5d 100755..100644
--- a/web/static/images/emoji/repeat.png
+++ b/web/static/images/emoji/repeat.png
Binary files differ
diff --git a/web/static/images/emoji/repeat_one.png b/web/static/images/emoji/repeat_one.png
index 3c47bcc1f..2dacec71a 100755..100644
--- a/web/static/images/emoji/repeat_one.png
+++ b/web/static/images/emoji/repeat_one.png
Binary files differ
diff --git a/web/static/images/emoji/restroom.png b/web/static/images/emoji/restroom.png
index d6c111b29..76b3c2833 100755..100644
--- a/web/static/images/emoji/restroom.png
+++ b/web/static/images/emoji/restroom.png
Binary files differ
diff --git a/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png b/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png
new file mode 100644
index 000000000..c4e5d4a91
--- /dev/null
+++ b/web/static/images/emoji/reversed_hand_with_middle_finger_extended.png
Binary files differ
diff --git a/web/static/images/emoji/revolving_hearts.png b/web/static/images/emoji/revolving_hearts.png
index ea3317c47..0602d03c1 100755..100644
--- a/web/static/images/emoji/revolving_hearts.png
+++ b/web/static/images/emoji/revolving_hearts.png
Binary files differ
diff --git a/web/static/images/emoji/rewind.png b/web/static/images/emoji/rewind.png
index 26289dc3d..cd693f938 100755..100644
--- a/web/static/images/emoji/rewind.png
+++ b/web/static/images/emoji/rewind.png
Binary files differ
diff --git a/web/static/images/emoji/ribbon.png b/web/static/images/emoji/ribbon.png
index 63ee5ba5a..ea7ae1d76 100755..100644
--- a/web/static/images/emoji/ribbon.png
+++ b/web/static/images/emoji/ribbon.png
Binary files differ
diff --git a/web/static/images/emoji/rice.png b/web/static/images/emoji/rice.png
index 1fd22027b..8a9076f8a 100755..100644
--- a/web/static/images/emoji/rice.png
+++ b/web/static/images/emoji/rice.png
Binary files differ
diff --git a/web/static/images/emoji/rice_ball.png b/web/static/images/emoji/rice_ball.png
index ade7c45d3..4a24a91e2 100755..100644
--- a/web/static/images/emoji/rice_ball.png
+++ b/web/static/images/emoji/rice_ball.png
Binary files differ
diff --git a/web/static/images/emoji/rice_cracker.png b/web/static/images/emoji/rice_cracker.png
index 954c901e9..83382b6cb 100755..100644
--- a/web/static/images/emoji/rice_cracker.png
+++ b/web/static/images/emoji/rice_cracker.png
Binary files differ
diff --git a/web/static/images/emoji/rice_scene.png b/web/static/images/emoji/rice_scene.png
index 14361988d..8ce954451 100755..100644
--- a/web/static/images/emoji/rice_scene.png
+++ b/web/static/images/emoji/rice_scene.png
Binary files differ
diff --git a/web/static/images/emoji/right_anger_bubble.png b/web/static/images/emoji/right_anger_bubble.png
new file mode 100644
index 000000000..8e25fa6b4
--- /dev/null
+++ b/web/static/images/emoji/right_anger_bubble.png
Binary files differ
diff --git a/web/static/images/emoji/ring.png b/web/static/images/emoji/ring.png
index 8a57fd68b..f033d7941 100755..100644
--- a/web/static/images/emoji/ring.png
+++ b/web/static/images/emoji/ring.png
Binary files differ
diff --git a/web/static/images/emoji/rocket.png b/web/static/images/emoji/rocket.png
index 783078d37..0ca6d5fed 100755..100644
--- a/web/static/images/emoji/rocket.png
+++ b/web/static/images/emoji/rocket.png
Binary files differ
diff --git a/web/static/images/emoji/rolled_up_newspaper.png b/web/static/images/emoji/rolled_up_newspaper.png
new file mode 100644
index 000000000..4254eb5f2
--- /dev/null
+++ b/web/static/images/emoji/rolled_up_newspaper.png
Binary files differ
diff --git a/web/static/images/emoji/roller_coaster.png b/web/static/images/emoji/roller_coaster.png
index 9180b9861..0c506765e 100755..100644
--- a/web/static/images/emoji/roller_coaster.png
+++ b/web/static/images/emoji/roller_coaster.png
Binary files differ
diff --git a/web/static/images/emoji/rooster.png b/web/static/images/emoji/rooster.png
index fab23ad36..798542a0e 100755..100644
--- a/web/static/images/emoji/rooster.png
+++ b/web/static/images/emoji/rooster.png
Binary files differ
diff --git a/web/static/images/emoji/rose.png b/web/static/images/emoji/rose.png
index 3479fbcbb..2a9d77598 100755..100644
--- a/web/static/images/emoji/rose.png
+++ b/web/static/images/emoji/rose.png
Binary files differ
diff --git a/web/static/images/emoji/rosette.png b/web/static/images/emoji/rosette.png
new file mode 100644
index 000000000..8312eb177
--- /dev/null
+++ b/web/static/images/emoji/rosette.png
Binary files differ
diff --git a/web/static/images/emoji/rotating_light.png b/web/static/images/emoji/rotating_light.png
index 6cf4a775e..72095645c 100755..100644
--- a/web/static/images/emoji/rotating_light.png
+++ b/web/static/images/emoji/rotating_light.png
Binary files differ
diff --git a/web/static/images/emoji/round_pushpin.png b/web/static/images/emoji/round_pushpin.png
index e498e92cf..b16e5c41a 100755..100644
--- a/web/static/images/emoji/round_pushpin.png
+++ b/web/static/images/emoji/round_pushpin.png
Binary files differ
diff --git a/web/static/images/emoji/rowboat.png b/web/static/images/emoji/rowboat.png
index e370d0fb1..3a16b632b 100755..100644
--- a/web/static/images/emoji/rowboat.png
+++ b/web/static/images/emoji/rowboat.png
Binary files differ
diff --git a/web/static/images/emoji/ru.png b/web/static/images/emoji/ru.png
index 55fcf3549..4a65f219f 100755..100644
--- a/web/static/images/emoji/ru.png
+++ b/web/static/images/emoji/ru.png
Binary files differ
diff --git a/web/static/images/emoji/rugby_football.png b/web/static/images/emoji/rugby_football.png
index f8db67d70..3f72e529a 100755..100644
--- a/web/static/images/emoji/rugby_football.png
+++ b/web/static/images/emoji/rugby_football.png
Binary files differ
diff --git a/web/static/images/emoji/runner.png b/web/static/images/emoji/runner.png
index cb0042962..8dcc38400 100755..100644
--- a/web/static/images/emoji/runner.png
+++ b/web/static/images/emoji/runner.png
Binary files differ
diff --git a/web/static/images/emoji/running.png b/web/static/images/emoji/running.png
index cb0042962..8dcc38400 100755..100644
--- a/web/static/images/emoji/running.png
+++ b/web/static/images/emoji/running.png
Binary files differ
diff --git a/web/static/images/emoji/running_shirt_with_sash.png b/web/static/images/emoji/running_shirt_with_sash.png
index 0d68bba09..e49632dad 100755..100644
--- a/web/static/images/emoji/running_shirt_with_sash.png
+++ b/web/static/images/emoji/running_shirt_with_sash.png
Binary files differ
diff --git a/web/static/images/emoji/sa.png b/web/static/images/emoji/sa.png
index 387f098b9..c6dafece9 100755..100644
--- a/web/static/images/emoji/sa.png
+++ b/web/static/images/emoji/sa.png
Binary files differ
diff --git a/web/static/images/emoji/sagittarius.png b/web/static/images/emoji/sagittarius.png
index 8b5435baa..b5d55c10f 100755..100644
--- a/web/static/images/emoji/sagittarius.png
+++ b/web/static/images/emoji/sagittarius.png
Binary files differ
diff --git a/web/static/images/emoji/sailboat.png b/web/static/images/emoji/sailboat.png
index ff656dc62..9e862f831 100755..100644
--- a/web/static/images/emoji/sailboat.png
+++ b/web/static/images/emoji/sailboat.png
Binary files differ
diff --git a/web/static/images/emoji/sake.png b/web/static/images/emoji/sake.png
index 1f69907e5..40a158bfe 100755..100644
--- a/web/static/images/emoji/sake.png
+++ b/web/static/images/emoji/sake.png
Binary files differ
diff --git a/web/static/images/emoji/sandal.png b/web/static/images/emoji/sandal.png
index 0bb3f663f..1db7005bb 100755..100644
--- a/web/static/images/emoji/sandal.png
+++ b/web/static/images/emoji/sandal.png
Binary files differ
diff --git a/web/static/images/emoji/santa.png b/web/static/images/emoji/santa.png
index a2240c07e..29d63fd91 100755..100644
--- a/web/static/images/emoji/santa.png
+++ b/web/static/images/emoji/santa.png
Binary files differ
diff --git a/web/static/images/emoji/satellite.png b/web/static/images/emoji/satellite.png
index 3481cc2ef..7411b9235 100755..100644
--- a/web/static/images/emoji/satellite.png
+++ b/web/static/images/emoji/satellite.png
Binary files differ
diff --git a/web/static/images/emoji/satisfied.png b/web/static/images/emoji/satisfied.png
index 11c91eb22..d7e70b1a4 100755..100644
--- a/web/static/images/emoji/satisfied.png
+++ b/web/static/images/emoji/satisfied.png
Binary files differ
diff --git a/web/static/images/emoji/saxophone.png b/web/static/images/emoji/saxophone.png
index 011559a76..63446652f 100755..100644
--- a/web/static/images/emoji/saxophone.png
+++ b/web/static/images/emoji/saxophone.png
Binary files differ
diff --git a/web/static/images/emoji/school.png b/web/static/images/emoji/school.png
index afd922bf1..f8e0814e0 100755..100644
--- a/web/static/images/emoji/school.png
+++ b/web/static/images/emoji/school.png
Binary files differ
diff --git a/web/static/images/emoji/school_satchel.png b/web/static/images/emoji/school_satchel.png
index edfb19aec..f9bb6c1aa 100755..100644
--- a/web/static/images/emoji/school_satchel.png
+++ b/web/static/images/emoji/school_satchel.png
Binary files differ
diff --git a/web/static/images/emoji/scissors.png b/web/static/images/emoji/scissors.png
index d99b8aea0..0a2d1b07f 100755..100644
--- a/web/static/images/emoji/scissors.png
+++ b/web/static/images/emoji/scissors.png
Binary files differ
diff --git a/web/static/images/emoji/scorpius.png b/web/static/images/emoji/scorpius.png
index 67fcea165..f903e7665 100755..100644
--- a/web/static/images/emoji/scorpius.png
+++ b/web/static/images/emoji/scorpius.png
Binary files differ
diff --git a/web/static/images/emoji/scream.png b/web/static/images/emoji/scream.png
index 9e93c885d..ea77d3e6b 100755..100644
--- a/web/static/images/emoji/scream.png
+++ b/web/static/images/emoji/scream.png
Binary files differ
diff --git a/web/static/images/emoji/scream_cat.png b/web/static/images/emoji/scream_cat.png
index d94cd34ff..a4e67e97d 100755..100644
--- a/web/static/images/emoji/scream_cat.png
+++ b/web/static/images/emoji/scream_cat.png
Binary files differ
diff --git a/web/static/images/emoji/scroll.png b/web/static/images/emoji/scroll.png
index c5a10e6b8..c8ee30803 100755..100644
--- a/web/static/images/emoji/scroll.png
+++ b/web/static/images/emoji/scroll.png
Binary files differ
diff --git a/web/static/images/emoji/seat.png b/web/static/images/emoji/seat.png
index d1cb864b4..1ec8166b6 100755..100644
--- a/web/static/images/emoji/seat.png
+++ b/web/static/images/emoji/seat.png
Binary files differ
diff --git a/web/static/images/emoji/secret.png b/web/static/images/emoji/secret.png
index 82e383a60..5ff746bec 100755..100644
--- a/web/static/images/emoji/secret.png
+++ b/web/static/images/emoji/secret.png
Binary files differ
diff --git a/web/static/images/emoji/see_no_evil.png b/web/static/images/emoji/see_no_evil.png
index 0890a6222..df1fb6607 100755..100644
--- a/web/static/images/emoji/see_no_evil.png
+++ b/web/static/images/emoji/see_no_evil.png
Binary files differ
diff --git a/web/static/images/emoji/seedling.png b/web/static/images/emoji/seedling.png
index 2ab079310..eae79d274 100755..100644
--- a/web/static/images/emoji/seedling.png
+++ b/web/static/images/emoji/seedling.png
Binary files differ
diff --git a/web/static/images/emoji/seven.png b/web/static/images/emoji/seven.png
index 354e89ae7..33151fdba 100755..100644
--- a/web/static/images/emoji/seven.png
+++ b/web/static/images/emoji/seven.png
Binary files differ
diff --git a/web/static/images/emoji/shaved_ice.png b/web/static/images/emoji/shaved_ice.png
index 0d0b382c2..a14f0f4ec 100755..100644
--- a/web/static/images/emoji/shaved_ice.png
+++ b/web/static/images/emoji/shaved_ice.png
Binary files differ
diff --git a/web/static/images/emoji/sheep.png b/web/static/images/emoji/sheep.png
index c7277d289..e47d6eda8 100755..100644
--- a/web/static/images/emoji/sheep.png
+++ b/web/static/images/emoji/sheep.png
Binary files differ
diff --git a/web/static/images/emoji/shell.png b/web/static/images/emoji/shell.png
index 3145b5649..01bc086fa 100755..100644
--- a/web/static/images/emoji/shell.png
+++ b/web/static/images/emoji/shell.png
Binary files differ
diff --git a/web/static/images/emoji/shield.png b/web/static/images/emoji/shield.png
new file mode 100644
index 000000000..30a63a8bf
--- /dev/null
+++ b/web/static/images/emoji/shield.png
Binary files differ
diff --git a/web/static/images/emoji/ship.png b/web/static/images/emoji/ship.png
index 5d2d8b602..08465890d 100755..100644
--- a/web/static/images/emoji/ship.png
+++ b/web/static/images/emoji/ship.png
Binary files differ
diff --git a/web/static/images/emoji/shipit.png b/web/static/images/emoji/shipit.png
index a58a47f62..a58a47f62 100755..100644
--- a/web/static/images/emoji/shipit.png
+++ b/web/static/images/emoji/shipit.png
Binary files differ
diff --git a/web/static/images/emoji/shirt.png b/web/static/images/emoji/shirt.png
index 297a6d63e..556efde26 100755..100644
--- a/web/static/images/emoji/shirt.png
+++ b/web/static/images/emoji/shirt.png
Binary files differ
diff --git a/web/static/images/emoji/shit.png b/web/static/images/emoji/shit.png
index 73a4dc840..0c237a788 100755..100644
--- a/web/static/images/emoji/shit.png
+++ b/web/static/images/emoji/shit.png
Binary files differ
diff --git a/web/static/images/emoji/shoe.png b/web/static/images/emoji/shoe.png
index 45b82e61c..8d8a9feeb 100755..100644
--- a/web/static/images/emoji/shoe.png
+++ b/web/static/images/emoji/shoe.png
Binary files differ
diff --git a/web/static/images/emoji/shopping_bags.png b/web/static/images/emoji/shopping_bags.png
new file mode 100644
index 000000000..c4aa0049c
--- /dev/null
+++ b/web/static/images/emoji/shopping_bags.png
Binary files differ
diff --git a/web/static/images/emoji/shower.png b/web/static/images/emoji/shower.png
index 0d72ab86b..860c4da66 100755..100644
--- a/web/static/images/emoji/shower.png
+++ b/web/static/images/emoji/shower.png
Binary files differ
diff --git a/web/static/images/emoji/signal_strength.png b/web/static/images/emoji/signal_strength.png
index a4bd23ebf..21956bb51 100755..100644
--- a/web/static/images/emoji/signal_strength.png
+++ b/web/static/images/emoji/signal_strength.png
Binary files differ
diff --git a/web/static/images/emoji/six.png b/web/static/images/emoji/six.png
index 568805565..cd0b30fd2 100755..100644
--- a/web/static/images/emoji/six.png
+++ b/web/static/images/emoji/six.png
Binary files differ
diff --git a/web/static/images/emoji/six_pointed_star.png b/web/static/images/emoji/six_pointed_star.png
index c11af14c8..3b590a628 100755..100644
--- a/web/static/images/emoji/six_pointed_star.png
+++ b/web/static/images/emoji/six_pointed_star.png
Binary files differ
diff --git a/web/static/images/emoji/ski.png b/web/static/images/emoji/ski.png
index 98f5cb0f4..ac8151619 100755..100644
--- a/web/static/images/emoji/ski.png
+++ b/web/static/images/emoji/ski.png
Binary files differ
diff --git a/web/static/images/emoji/skull.png b/web/static/images/emoji/skull.png
index bd4ee3829..ee66d7147 100755..100644
--- a/web/static/images/emoji/skull.png
+++ b/web/static/images/emoji/skull.png
Binary files differ
diff --git a/web/static/images/emoji/sleeping.png b/web/static/images/emoji/sleeping.png
index 093b85236..04ed2ea52 100755..100644
--- a/web/static/images/emoji/sleeping.png
+++ b/web/static/images/emoji/sleeping.png
Binary files differ
diff --git a/web/static/images/emoji/sleeping_accommodation.png b/web/static/images/emoji/sleeping_accommodation.png
new file mode 100644
index 000000000..4d232c9bb
--- /dev/null
+++ b/web/static/images/emoji/sleeping_accommodation.png
Binary files differ
diff --git a/web/static/images/emoji/sleepy.png b/web/static/images/emoji/sleepy.png
index df4f55efd..5269b493c 100755..100644
--- a/web/static/images/emoji/sleepy.png
+++ b/web/static/images/emoji/sleepy.png
Binary files differ
diff --git a/web/static/images/emoji/sleuth_or_spy.png b/web/static/images/emoji/sleuth_or_spy.png
new file mode 100644
index 000000000..9ee45b37b
--- /dev/null
+++ b/web/static/images/emoji/sleuth_or_spy.png
Binary files differ
diff --git a/web/static/images/emoji/slightly_frowning_face.png b/web/static/images/emoji/slightly_frowning_face.png
new file mode 100644
index 000000000..55e16c1cf
--- /dev/null
+++ b/web/static/images/emoji/slightly_frowning_face.png
Binary files differ
diff --git a/web/static/images/emoji/slightly_smiling_face.png b/web/static/images/emoji/slightly_smiling_face.png
new file mode 100644
index 000000000..1bb673b36
--- /dev/null
+++ b/web/static/images/emoji/slightly_smiling_face.png
Binary files differ
diff --git a/web/static/images/emoji/slot_machine.png b/web/static/images/emoji/slot_machine.png
index 26f114830..81db7b1c0 100755..100644
--- a/web/static/images/emoji/slot_machine.png
+++ b/web/static/images/emoji/slot_machine.png
Binary files differ
diff --git a/web/static/images/emoji/small_airplane.png b/web/static/images/emoji/small_airplane.png
new file mode 100644
index 000000000..bd369a205
--- /dev/null
+++ b/web/static/images/emoji/small_airplane.png
Binary files differ
diff --git a/web/static/images/emoji/small_blue_diamond.png b/web/static/images/emoji/small_blue_diamond.png
index 8cd49205f..9b8ded84a 100755..100644
--- a/web/static/images/emoji/small_blue_diamond.png
+++ b/web/static/images/emoji/small_blue_diamond.png
Binary files differ
diff --git a/web/static/images/emoji/small_orange_diamond.png b/web/static/images/emoji/small_orange_diamond.png
index 04941d37b..64a03b216 100755..100644
--- a/web/static/images/emoji/small_orange_diamond.png
+++ b/web/static/images/emoji/small_orange_diamond.png
Binary files differ
diff --git a/web/static/images/emoji/small_red_triangle.png b/web/static/images/emoji/small_red_triangle.png
index 8c4428da8..b321f2a49 100755..100644
--- a/web/static/images/emoji/small_red_triangle.png
+++ b/web/static/images/emoji/small_red_triangle.png
Binary files differ
diff --git a/web/static/images/emoji/small_red_triangle_down.png b/web/static/images/emoji/small_red_triangle_down.png
index 94832f060..4c9586d24 100755..100644
--- a/web/static/images/emoji/small_red_triangle_down.png
+++ b/web/static/images/emoji/small_red_triangle_down.png
Binary files differ
diff --git a/web/static/images/emoji/smile.png b/web/static/images/emoji/smile.png
index 81a839689..63beffb17 100755..100644
--- a/web/static/images/emoji/smile.png
+++ b/web/static/images/emoji/smile.png
Binary files differ
diff --git a/web/static/images/emoji/smile_cat.png b/web/static/images/emoji/smile_cat.png
index ad333ba3b..c54e14b53 100755..100644
--- a/web/static/images/emoji/smile_cat.png
+++ b/web/static/images/emoji/smile_cat.png
Binary files differ
diff --git a/web/static/images/emoji/smiley.png b/web/static/images/emoji/smiley.png
index 77b581d68..eb281633c 100755..100644
--- a/web/static/images/emoji/smiley.png
+++ b/web/static/images/emoji/smiley.png
Binary files differ
diff --git a/web/static/images/emoji/smiley_cat.png b/web/static/images/emoji/smiley_cat.png
index dbf1b0276..93872133e 100755..100644
--- a/web/static/images/emoji/smiley_cat.png
+++ b/web/static/images/emoji/smiley_cat.png
Binary files differ
diff --git a/web/static/images/emoji/smiling_imp.png b/web/static/images/emoji/smiling_imp.png
index d90404930..6e36a04e7 100755..100644
--- a/web/static/images/emoji/smiling_imp.png
+++ b/web/static/images/emoji/smiling_imp.png
Binary files differ
diff --git a/web/static/images/emoji/smirk.png b/web/static/images/emoji/smirk.png
index bc6e5082c..c7b1ac127 100755..100644
--- a/web/static/images/emoji/smirk.png
+++ b/web/static/images/emoji/smirk.png
Binary files differ
diff --git a/web/static/images/emoji/smirk_cat.png b/web/static/images/emoji/smirk_cat.png
index 351565e24..6cb9d069d 100755..100644
--- a/web/static/images/emoji/smirk_cat.png
+++ b/web/static/images/emoji/smirk_cat.png
Binary files differ
diff --git a/web/static/images/emoji/smoking.png b/web/static/images/emoji/smoking.png
index 4aad6cbd7..e8b49b893 100755..100644
--- a/web/static/images/emoji/smoking.png
+++ b/web/static/images/emoji/smoking.png
Binary files differ
diff --git a/web/static/images/emoji/snail.png b/web/static/images/emoji/snail.png
index e75e69a84..97f67fb2d 100755..100644
--- a/web/static/images/emoji/snail.png
+++ b/web/static/images/emoji/snail.png
Binary files differ
diff --git a/web/static/images/emoji/snake.png b/web/static/images/emoji/snake.png
index ef58933e2..dae731e22 100755..100644
--- a/web/static/images/emoji/snake.png
+++ b/web/static/images/emoji/snake.png
Binary files differ
diff --git a/web/static/images/emoji/snow_capped_mountain.png b/web/static/images/emoji/snow_capped_mountain.png
new file mode 100644
index 000000000..f9071adec
--- /dev/null
+++ b/web/static/images/emoji/snow_capped_mountain.png
Binary files differ
diff --git a/web/static/images/emoji/snow_cloud.png b/web/static/images/emoji/snow_cloud.png
new file mode 100644
index 000000000..96baf5b54
--- /dev/null
+++ b/web/static/images/emoji/snow_cloud.png
Binary files differ
diff --git a/web/static/images/emoji/snowboarder.png b/web/static/images/emoji/snowboarder.png
index aeda5c8d8..076c48889 100755..100644
--- a/web/static/images/emoji/snowboarder.png
+++ b/web/static/images/emoji/snowboarder.png
Binary files differ
diff --git a/web/static/images/emoji/snowflake.png b/web/static/images/emoji/snowflake.png
index 54b68ff4f..743b9fd98 100755..100644
--- a/web/static/images/emoji/snowflake.png
+++ b/web/static/images/emoji/snowflake.png
Binary files differ
diff --git a/web/static/images/emoji/snowman.png b/web/static/images/emoji/snowman.png
index a97902e53..5cfd23ec0 100755..100644
--- a/web/static/images/emoji/snowman.png
+++ b/web/static/images/emoji/snowman.png
Binary files differ
diff --git a/web/static/images/emoji/sob.png b/web/static/images/emoji/sob.png
index 1561df92e..1339cc6ec 100755..100644
--- a/web/static/images/emoji/sob.png
+++ b/web/static/images/emoji/sob.png
Binary files differ
diff --git a/web/static/images/emoji/soccer.png b/web/static/images/emoji/soccer.png
index 1e118b5b1..a5b188cef 100755..100644
--- a/web/static/images/emoji/soccer.png
+++ b/web/static/images/emoji/soccer.png
Binary files differ
diff --git a/web/static/images/emoji/soon.png b/web/static/images/emoji/soon.png
index 2cf46df25..c795ce03f 100755..100644
--- a/web/static/images/emoji/soon.png
+++ b/web/static/images/emoji/soon.png
Binary files differ
diff --git a/web/static/images/emoji/sos.png b/web/static/images/emoji/sos.png
index e3e16ef73..4af944919 100755..100644
--- a/web/static/images/emoji/sos.png
+++ b/web/static/images/emoji/sos.png
Binary files differ
diff --git a/web/static/images/emoji/sound.png b/web/static/images/emoji/sound.png
index 6aa4dbff4..0d7011bcb 100755..100644
--- a/web/static/images/emoji/sound.png
+++ b/web/static/images/emoji/sound.png
Binary files differ
diff --git a/web/static/images/emoji/space_invader.png b/web/static/images/emoji/space_invader.png
index 384049167..042bc2ad0 100755..100644
--- a/web/static/images/emoji/space_invader.png
+++ b/web/static/images/emoji/space_invader.png
Binary files differ
diff --git a/web/static/images/emoji/spades.png b/web/static/images/emoji/spades.png
index 133a1aba8..1cb4bea46 100755..100644
--- a/web/static/images/emoji/spades.png
+++ b/web/static/images/emoji/spades.png
Binary files differ
diff --git a/web/static/images/emoji/spaghetti.png b/web/static/images/emoji/spaghetti.png
index 08de243f5..ff15e877a 100755..100644
--- a/web/static/images/emoji/spaghetti.png
+++ b/web/static/images/emoji/spaghetti.png
Binary files differ
diff --git a/web/static/images/emoji/sparkle.png b/web/static/images/emoji/sparkle.png
index 23a68ceb2..cb37090c7 100755..100644
--- a/web/static/images/emoji/sparkle.png
+++ b/web/static/images/emoji/sparkle.png
Binary files differ
diff --git a/web/static/images/emoji/sparkler.png b/web/static/images/emoji/sparkler.png
index 4aabd7e0e..968a7172b 100755..100644
--- a/web/static/images/emoji/sparkler.png
+++ b/web/static/images/emoji/sparkler.png
Binary files differ
diff --git a/web/static/images/emoji/sparkles.png b/web/static/images/emoji/sparkles.png
index 51307bcfc..f7faa7270 100755..100644
--- a/web/static/images/emoji/sparkles.png
+++ b/web/static/images/emoji/sparkles.png
Binary files differ
diff --git a/web/static/images/emoji/sparkling_heart.png b/web/static/images/emoji/sparkling_heart.png
index 64ac06663..0bfffc4ca 100755..100644
--- a/web/static/images/emoji/sparkling_heart.png
+++ b/web/static/images/emoji/sparkling_heart.png
Binary files differ
diff --git a/web/static/images/emoji/speak_no_evil.png b/web/static/images/emoji/speak_no_evil.png
index 87944c4de..c6f76937f 100755..100644
--- a/web/static/images/emoji/speak_no_evil.png
+++ b/web/static/images/emoji/speak_no_evil.png
Binary files differ
diff --git a/web/static/images/emoji/speaker.png b/web/static/images/emoji/speaker.png
index 470476e18..38d5ee391 100755..100644
--- a/web/static/images/emoji/speaker.png
+++ b/web/static/images/emoji/speaker.png
Binary files differ
diff --git a/web/static/images/emoji/speaking_head_in_silhouette.png b/web/static/images/emoji/speaking_head_in_silhouette.png
new file mode 100644
index 000000000..137a3c4c5
--- /dev/null
+++ b/web/static/images/emoji/speaking_head_in_silhouette.png
Binary files differ
diff --git a/web/static/images/emoji/speech_balloon.png b/web/static/images/emoji/speech_balloon.png
index 2896c2788..4f6449572 100755..100644
--- a/web/static/images/emoji/speech_balloon.png
+++ b/web/static/images/emoji/speech_balloon.png
Binary files differ
diff --git a/web/static/images/emoji/speedboat.png b/web/static/images/emoji/speedboat.png
index da6689b3b..a6b11a72e 100755..100644
--- a/web/static/images/emoji/speedboat.png
+++ b/web/static/images/emoji/speedboat.png
Binary files differ
diff --git a/web/static/images/emoji/spider.png b/web/static/images/emoji/spider.png
new file mode 100644
index 000000000..9e1fe5441
--- /dev/null
+++ b/web/static/images/emoji/spider.png
Binary files differ
diff --git a/web/static/images/emoji/spider_web.png b/web/static/images/emoji/spider_web.png
new file mode 100644
index 000000000..edad19093
--- /dev/null
+++ b/web/static/images/emoji/spider_web.png
Binary files differ
diff --git a/web/static/images/emoji/spiral_calendar_pad.png b/web/static/images/emoji/spiral_calendar_pad.png
new file mode 100644
index 000000000..ce73aecfa
--- /dev/null
+++ b/web/static/images/emoji/spiral_calendar_pad.png
Binary files differ
diff --git a/web/static/images/emoji/spiral_note_pad.png b/web/static/images/emoji/spiral_note_pad.png
new file mode 100644
index 000000000..28bc54348
--- /dev/null
+++ b/web/static/images/emoji/spiral_note_pad.png
Binary files differ
diff --git a/web/static/images/emoji/spock-hand.png b/web/static/images/emoji/spock-hand.png
new file mode 100644
index 000000000..88e8765e0
--- /dev/null
+++ b/web/static/images/emoji/spock-hand.png
Binary files differ
diff --git a/web/static/images/emoji/sports_medal.png b/web/static/images/emoji/sports_medal.png
new file mode 100644
index 000000000..1bf04b7c4
--- /dev/null
+++ b/web/static/images/emoji/sports_medal.png
Binary files differ
diff --git a/web/static/images/emoji/squirrel.png b/web/static/images/emoji/squirrel.png
index a58a47f62..a58a47f62 100755..100644
--- a/web/static/images/emoji/squirrel.png
+++ b/web/static/images/emoji/squirrel.png
Binary files differ
diff --git a/web/static/images/emoji/stadium.png b/web/static/images/emoji/stadium.png
new file mode 100644
index 000000000..d1c925d35
--- /dev/null
+++ b/web/static/images/emoji/stadium.png
Binary files differ
diff --git a/web/static/images/emoji/star.png b/web/static/images/emoji/star.png
index 1bfddc862..00f6758a2 100755..100644
--- a/web/static/images/emoji/star.png
+++ b/web/static/images/emoji/star.png
Binary files differ
diff --git a/web/static/images/emoji/star2.png b/web/static/images/emoji/star2.png
index 8b40ff4c8..6399b9335 100755..100644
--- a/web/static/images/emoji/star2.png
+++ b/web/static/images/emoji/star2.png
Binary files differ
diff --git a/web/static/images/emoji/stars.png b/web/static/images/emoji/stars.png
index 097a84241..115748007 100755..100644
--- a/web/static/images/emoji/stars.png
+++ b/web/static/images/emoji/stars.png
Binary files differ
diff --git a/web/static/images/emoji/station.png b/web/static/images/emoji/station.png
index e77daa8a7..970d2799d 100755..100644
--- a/web/static/images/emoji/station.png
+++ b/web/static/images/emoji/station.png
Binary files differ
diff --git a/web/static/images/emoji/statue_of_liberty.png b/web/static/images/emoji/statue_of_liberty.png
index 9ad902806..709fd6bff 100755..100644
--- a/web/static/images/emoji/statue_of_liberty.png
+++ b/web/static/images/emoji/statue_of_liberty.png
Binary files differ
diff --git a/web/static/images/emoji/steam_locomotive.png b/web/static/images/emoji/steam_locomotive.png
index 549507766..f7c52db71 100755..100644
--- a/web/static/images/emoji/steam_locomotive.png
+++ b/web/static/images/emoji/steam_locomotive.png
Binary files differ
diff --git a/web/static/images/emoji/stew.png b/web/static/images/emoji/stew.png
index e9687f9ec..6f8305338 100755..100644
--- a/web/static/images/emoji/stew.png
+++ b/web/static/images/emoji/stew.png
Binary files differ
diff --git a/web/static/images/emoji/straight_ruler.png b/web/static/images/emoji/straight_ruler.png
index d96658ea1..42e7ac39c 100755..100644
--- a/web/static/images/emoji/straight_ruler.png
+++ b/web/static/images/emoji/straight_ruler.png
Binary files differ
diff --git a/web/static/images/emoji/strawberry.png b/web/static/images/emoji/strawberry.png
index 13eb827ab..b28837732 100755..100644
--- a/web/static/images/emoji/strawberry.png
+++ b/web/static/images/emoji/strawberry.png
Binary files differ
diff --git a/web/static/images/emoji/stuck_out_tongue.png b/web/static/images/emoji/stuck_out_tongue.png
index fa7b58e23..3fa455255 100755..100644
--- a/web/static/images/emoji/stuck_out_tongue.png
+++ b/web/static/images/emoji/stuck_out_tongue.png
Binary files differ
diff --git a/web/static/images/emoji/stuck_out_tongue_closed_eyes.png b/web/static/images/emoji/stuck_out_tongue_closed_eyes.png
index 333716ee1..b599a5f57 100755..100644
--- a/web/static/images/emoji/stuck_out_tongue_closed_eyes.png
+++ b/web/static/images/emoji/stuck_out_tongue_closed_eyes.png
Binary files differ
diff --git a/web/static/images/emoji/stuck_out_tongue_winking_eye.png b/web/static/images/emoji/stuck_out_tongue_winking_eye.png
index 6ae9d497d..a93847556 100755..100644
--- a/web/static/images/emoji/stuck_out_tongue_winking_eye.png
+++ b/web/static/images/emoji/stuck_out_tongue_winking_eye.png
Binary files differ
diff --git a/web/static/images/emoji/studio_microphone.png b/web/static/images/emoji/studio_microphone.png
new file mode 100644
index 000000000..7e186826e
--- /dev/null
+++ b/web/static/images/emoji/studio_microphone.png
Binary files differ
diff --git a/web/static/images/emoji/sun_with_face.png b/web/static/images/emoji/sun_with_face.png
index ee276636f..7ee45e4dd 100755..100644
--- a/web/static/images/emoji/sun_with_face.png
+++ b/web/static/images/emoji/sun_with_face.png
Binary files differ
diff --git a/web/static/images/emoji/sunflower.png b/web/static/images/emoji/sunflower.png
index d9bad194a..b7cfbf82b 100755..100644
--- a/web/static/images/emoji/sunflower.png
+++ b/web/static/images/emoji/sunflower.png
Binary files differ
diff --git a/web/static/images/emoji/sunglasses.png b/web/static/images/emoji/sunglasses.png
index f2e524787..6d97948de 100755..100644
--- a/web/static/images/emoji/sunglasses.png
+++ b/web/static/images/emoji/sunglasses.png
Binary files differ
diff --git a/web/static/images/emoji/sunny.png b/web/static/images/emoji/sunny.png
index d23c095e0..d4f88fb8b 100755..100644
--- a/web/static/images/emoji/sunny.png
+++ b/web/static/images/emoji/sunny.png
Binary files differ
diff --git a/web/static/images/emoji/sunrise.png b/web/static/images/emoji/sunrise.png
index ec58dcc94..4bcc4a8ac 100755..100644
--- a/web/static/images/emoji/sunrise.png
+++ b/web/static/images/emoji/sunrise.png
Binary files differ
diff --git a/web/static/images/emoji/sunrise_over_mountains.png b/web/static/images/emoji/sunrise_over_mountains.png
index ebc3db146..f8527646e 100755..100644
--- a/web/static/images/emoji/sunrise_over_mountains.png
+++ b/web/static/images/emoji/sunrise_over_mountains.png
Binary files differ
diff --git a/web/static/images/emoji/surfer.png b/web/static/images/emoji/surfer.png
index b067e8cb3..74b216a67 100755..100644
--- a/web/static/images/emoji/surfer.png
+++ b/web/static/images/emoji/surfer.png
Binary files differ
diff --git a/web/static/images/emoji/sushi.png b/web/static/images/emoji/sushi.png
index 0d179bd97..8c2f6826e 100755..100644
--- a/web/static/images/emoji/sushi.png
+++ b/web/static/images/emoji/sushi.png
Binary files differ
diff --git a/web/static/images/emoji/suspect.png b/web/static/images/emoji/suspect.png
index 58e8921c0..58e8921c0 100755..100644
--- a/web/static/images/emoji/suspect.png
+++ b/web/static/images/emoji/suspect.png
Binary files differ
diff --git a/web/static/images/emoji/suspension_railway.png b/web/static/images/emoji/suspension_railway.png
index aaa45f61f..595e9b160 100755..100644
--- a/web/static/images/emoji/suspension_railway.png
+++ b/web/static/images/emoji/suspension_railway.png
Binary files differ
diff --git a/web/static/images/emoji/sweat.png b/web/static/images/emoji/sweat.png
index e894b7699..1c590918c 100755..100644
--- a/web/static/images/emoji/sweat.png
+++ b/web/static/images/emoji/sweat.png
Binary files differ
diff --git a/web/static/images/emoji/sweat_drops.png b/web/static/images/emoji/sweat_drops.png
index a83b3e960..81205fb52 100755..100644
--- a/web/static/images/emoji/sweat_drops.png
+++ b/web/static/images/emoji/sweat_drops.png
Binary files differ
diff --git a/web/static/images/emoji/sweat_smile.png b/web/static/images/emoji/sweat_smile.png
index 3903f717f..691ffa771 100755..100644
--- a/web/static/images/emoji/sweat_smile.png
+++ b/web/static/images/emoji/sweat_smile.png
Binary files differ
diff --git a/web/static/images/emoji/sweet_potato.png b/web/static/images/emoji/sweet_potato.png
index cde7880a1..7c60e76cb 100755..100644
--- a/web/static/images/emoji/sweet_potato.png
+++ b/web/static/images/emoji/sweet_potato.png
Binary files differ
diff --git a/web/static/images/emoji/swimmer.png b/web/static/images/emoji/swimmer.png
index d3878a065..9f3e63702 100755..100644
--- a/web/static/images/emoji/swimmer.png
+++ b/web/static/images/emoji/swimmer.png
Binary files differ
diff --git a/web/static/images/emoji/symbols.png b/web/static/images/emoji/symbols.png
index 16bc1da92..f1cdcb734 100755..100644
--- a/web/static/images/emoji/symbols.png
+++ b/web/static/images/emoji/symbols.png
Binary files differ
diff --git a/web/static/images/emoji/syringe.png b/web/static/images/emoji/syringe.png
index 36aa8fed5..1e7f23ebf 100755..100644
--- a/web/static/images/emoji/syringe.png
+++ b/web/static/images/emoji/syringe.png
Binary files differ
diff --git a/web/static/images/emoji/tada.png b/web/static/images/emoji/tada.png
index 7411b5266..003a66996 100755..100644
--- a/web/static/images/emoji/tada.png
+++ b/web/static/images/emoji/tada.png
Binary files differ
diff --git a/web/static/images/emoji/tanabata_tree.png b/web/static/images/emoji/tanabata_tree.png
index 6dea4b2d4..ec7d8cc22 100755..100644
--- a/web/static/images/emoji/tanabata_tree.png
+++ b/web/static/images/emoji/tanabata_tree.png
Binary files differ
diff --git a/web/static/images/emoji/tangerine.png b/web/static/images/emoji/tangerine.png
index fc9d4f82a..7cb15fcf7 100755..100644
--- a/web/static/images/emoji/tangerine.png
+++ b/web/static/images/emoji/tangerine.png
Binary files differ
diff --git a/web/static/images/emoji/taurus.png b/web/static/images/emoji/taurus.png
index 6af582f69..3d3434ccf 100755..100644
--- a/web/static/images/emoji/taurus.png
+++ b/web/static/images/emoji/taurus.png
Binary files differ
diff --git a/web/static/images/emoji/taxi.png b/web/static/images/emoji/taxi.png
index 60a50d365..1b9af967a 100755..100644
--- a/web/static/images/emoji/taxi.png
+++ b/web/static/images/emoji/taxi.png
Binary files differ
diff --git a/web/static/images/emoji/tea.png b/web/static/images/emoji/tea.png
index 3ece0b708..b8d25a962 100755..100644
--- a/web/static/images/emoji/tea.png
+++ b/web/static/images/emoji/tea.png
Binary files differ
diff --git a/web/static/images/emoji/telephone.png b/web/static/images/emoji/telephone.png
index 87d2559b5..6a14f1bfe 100755..100644
--- a/web/static/images/emoji/telephone.png
+++ b/web/static/images/emoji/telephone.png
Binary files differ
diff --git a/web/static/images/emoji/telephone_receiver.png b/web/static/images/emoji/telephone_receiver.png
index 36e21e012..6a8259cb7 100755..100644
--- a/web/static/images/emoji/telephone_receiver.png
+++ b/web/static/images/emoji/telephone_receiver.png
Binary files differ
diff --git a/web/static/images/emoji/telescope.png b/web/static/images/emoji/telescope.png
index 98e57558a..8fc07d50f 100755..100644
--- a/web/static/images/emoji/telescope.png
+++ b/web/static/images/emoji/telescope.png
Binary files differ
diff --git a/web/static/images/emoji/tennis.png b/web/static/images/emoji/tennis.png
index 278d904ee..cade3a566 100755..100644
--- a/web/static/images/emoji/tennis.png
+++ b/web/static/images/emoji/tennis.png
Binary files differ
diff --git a/web/static/images/emoji/tent.png b/web/static/images/emoji/tent.png
index 5c0d20e48..db3101b4a 100755..100644
--- a/web/static/images/emoji/tent.png
+++ b/web/static/images/emoji/tent.png
Binary files differ
diff --git a/web/static/images/emoji/thermometer.png b/web/static/images/emoji/thermometer.png
new file mode 100644
index 000000000..5afccacd5
--- /dev/null
+++ b/web/static/images/emoji/thermometer.png
Binary files differ
diff --git a/web/static/images/emoji/thought_balloon.png b/web/static/images/emoji/thought_balloon.png
index febe30d05..0ccbc2e30 100755..100644
--- a/web/static/images/emoji/thought_balloon.png
+++ b/web/static/images/emoji/thought_balloon.png
Binary files differ
diff --git a/web/static/images/emoji/three.png b/web/static/images/emoji/three.png
index 55644c990..96ac84050 100755..100644
--- a/web/static/images/emoji/three.png
+++ b/web/static/images/emoji/three.png
Binary files differ
diff --git a/web/static/images/emoji/thumbsdown.png b/web/static/images/emoji/thumbsdown.png
index 41c6b825d..9b6d251b5 100755..100644
--- a/web/static/images/emoji/thumbsdown.png
+++ b/web/static/images/emoji/thumbsdown.png
Binary files differ
diff --git a/web/static/images/emoji/thumbsup.png b/web/static/images/emoji/thumbsup.png
index 81786c1d8..26949329f 100755..100644
--- a/web/static/images/emoji/thumbsup.png
+++ b/web/static/images/emoji/thumbsup.png
Binary files differ
diff --git a/web/static/images/emoji/ticket.png b/web/static/images/emoji/ticket.png
index cdacf1a70..1e697cab6 100755..100644
--- a/web/static/images/emoji/ticket.png
+++ b/web/static/images/emoji/ticket.png
Binary files differ
diff --git a/web/static/images/emoji/tiger.png b/web/static/images/emoji/tiger.png
index d6cc84a3b..64a19cd61 100755..100644
--- a/web/static/images/emoji/tiger.png
+++ b/web/static/images/emoji/tiger.png
Binary files differ
diff --git a/web/static/images/emoji/tiger2.png b/web/static/images/emoji/tiger2.png
index b0c7d8dc3..c7910315e 100755..100644
--- a/web/static/images/emoji/tiger2.png
+++ b/web/static/images/emoji/tiger2.png
Binary files differ
diff --git a/web/static/images/emoji/tired_face.png b/web/static/images/emoji/tired_face.png
index 77b783453..adf5fa0fc 100755..100644
--- a/web/static/images/emoji/tired_face.png
+++ b/web/static/images/emoji/tired_face.png
Binary files differ
diff --git a/web/static/images/emoji/tm.png b/web/static/images/emoji/tm.png
index c7dec75a3..0ddad3d83 100755..100644
--- a/web/static/images/emoji/tm.png
+++ b/web/static/images/emoji/tm.png
Binary files differ
diff --git a/web/static/images/emoji/toilet.png b/web/static/images/emoji/toilet.png
index e5cc4119a..6cf5255d5 100755..100644
--- a/web/static/images/emoji/toilet.png
+++ b/web/static/images/emoji/toilet.png
Binary files differ
diff --git a/web/static/images/emoji/tokyo_tower.png b/web/static/images/emoji/tokyo_tower.png
index e1cbd7a3c..8833f08a5 100755..100644
--- a/web/static/images/emoji/tokyo_tower.png
+++ b/web/static/images/emoji/tokyo_tower.png
Binary files differ
diff --git a/web/static/images/emoji/tomato.png b/web/static/images/emoji/tomato.png
index a129700bb..4114c35ff 100755..100644
--- a/web/static/images/emoji/tomato.png
+++ b/web/static/images/emoji/tomato.png
Binary files differ
diff --git a/web/static/images/emoji/tongue.png b/web/static/images/emoji/tongue.png
index b0bab1207..67ea886c6 100755..100644
--- a/web/static/images/emoji/tongue.png
+++ b/web/static/images/emoji/tongue.png
Binary files differ
diff --git a/web/static/images/emoji/top.png b/web/static/images/emoji/top.png
index 5aa4dd442..5c6eb3c52 100755..100644
--- a/web/static/images/emoji/top.png
+++ b/web/static/images/emoji/top.png
Binary files differ
diff --git a/web/static/images/emoji/tophat.png b/web/static/images/emoji/tophat.png
index 7d27134d6..a945ccb8b 100755..100644
--- a/web/static/images/emoji/tophat.png
+++ b/web/static/images/emoji/tophat.png
Binary files differ
diff --git a/web/static/images/emoji/tornado.png b/web/static/images/emoji/tornado.png
new file mode 100644
index 000000000..a0ce6d55a
--- /dev/null
+++ b/web/static/images/emoji/tornado.png
Binary files differ
diff --git a/web/static/images/emoji/tornado_cloud.png b/web/static/images/emoji/tornado_cloud.png
new file mode 100644
index 000000000..a0ce6d55a
--- /dev/null
+++ b/web/static/images/emoji/tornado_cloud.png
Binary files differ
diff --git a/web/static/images/emoji/trackball.png b/web/static/images/emoji/trackball.png
new file mode 100644
index 000000000..3ecf9b87b
--- /dev/null
+++ b/web/static/images/emoji/trackball.png
Binary files differ
diff --git a/web/static/images/emoji/tractor.png b/web/static/images/emoji/tractor.png
index 058fd3eda..fcd4000c5 100755..100644
--- a/web/static/images/emoji/tractor.png
+++ b/web/static/images/emoji/tractor.png
Binary files differ
diff --git a/web/static/images/emoji/traffic_light.png b/web/static/images/emoji/traffic_light.png
index 1facb276c..0a7704a26 100755..100644
--- a/web/static/images/emoji/traffic_light.png
+++ b/web/static/images/emoji/traffic_light.png
Binary files differ
diff --git a/web/static/images/emoji/train.png b/web/static/images/emoji/train.png
index 3202d80ea..93d810920 100755..100644
--- a/web/static/images/emoji/train.png
+++ b/web/static/images/emoji/train.png
Binary files differ
diff --git a/web/static/images/emoji/train2.png b/web/static/images/emoji/train2.png
index 9c0d3ab64..22d843302 100755..100644
--- a/web/static/images/emoji/train2.png
+++ b/web/static/images/emoji/train2.png
Binary files differ
diff --git a/web/static/images/emoji/tram.png b/web/static/images/emoji/tram.png
index 5eb29fb71..851cf1827 100755..100644
--- a/web/static/images/emoji/tram.png
+++ b/web/static/images/emoji/tram.png
Binary files differ
diff --git a/web/static/images/emoji/triangular_flag_on_post.png b/web/static/images/emoji/triangular_flag_on_post.png
index f9a3f32d7..89a1429a3 100755..100644
--- a/web/static/images/emoji/triangular_flag_on_post.png
+++ b/web/static/images/emoji/triangular_flag_on_post.png
Binary files differ
diff --git a/web/static/images/emoji/triangular_ruler.png b/web/static/images/emoji/triangular_ruler.png
index 383677cb7..b554c0625 100755..100644
--- a/web/static/images/emoji/triangular_ruler.png
+++ b/web/static/images/emoji/triangular_ruler.png
Binary files differ
diff --git a/web/static/images/emoji/trident.png b/web/static/images/emoji/trident.png
index d79a7b4cc..ae1e0bc88 100755..100644
--- a/web/static/images/emoji/trident.png
+++ b/web/static/images/emoji/trident.png
Binary files differ
diff --git a/web/static/images/emoji/triumph.png b/web/static/images/emoji/triumph.png
index 92f93bd10..5d0f2bf16 100755..100644
--- a/web/static/images/emoji/triumph.png
+++ b/web/static/images/emoji/triumph.png
Binary files differ
diff --git a/web/static/images/emoji/trolleybus.png b/web/static/images/emoji/trolleybus.png
index b9740a53f..5207d82da 100755..100644
--- a/web/static/images/emoji/trolleybus.png
+++ b/web/static/images/emoji/trolleybus.png
Binary files differ
diff --git a/web/static/images/emoji/trollface.png b/web/static/images/emoji/trollface.png
index 119d77e73..119d77e73 100755..100644
--- a/web/static/images/emoji/trollface.png
+++ b/web/static/images/emoji/trollface.png
Binary files differ
diff --git a/web/static/images/emoji/trophy.png b/web/static/images/emoji/trophy.png
index 95d3b63f5..38429fe19 100755..100644
--- a/web/static/images/emoji/trophy.png
+++ b/web/static/images/emoji/trophy.png
Binary files differ
diff --git a/web/static/images/emoji/tropical_drink.png b/web/static/images/emoji/tropical_drink.png
index 55ca9eeda..34a5a385c 100755..100644
--- a/web/static/images/emoji/tropical_drink.png
+++ b/web/static/images/emoji/tropical_drink.png
Binary files differ
diff --git a/web/static/images/emoji/tropical_fish.png b/web/static/images/emoji/tropical_fish.png
index a6d734987..1904f61be 100755..100644
--- a/web/static/images/emoji/tropical_fish.png
+++ b/web/static/images/emoji/tropical_fish.png
Binary files differ
diff --git a/web/static/images/emoji/truck.png b/web/static/images/emoji/truck.png
index 3f25ba1f9..ef99f12fb 100755..100644
--- a/web/static/images/emoji/truck.png
+++ b/web/static/images/emoji/truck.png
Binary files differ
diff --git a/web/static/images/emoji/trumpet.png b/web/static/images/emoji/trumpet.png
index c84cfb13e..c2270ccbf 100755..100644
--- a/web/static/images/emoji/trumpet.png
+++ b/web/static/images/emoji/trumpet.png
Binary files differ
diff --git a/web/static/images/emoji/tshirt.png b/web/static/images/emoji/tshirt.png
index 297a6d63e..556efde26 100755..100644
--- a/web/static/images/emoji/tshirt.png
+++ b/web/static/images/emoji/tshirt.png
Binary files differ
diff --git a/web/static/images/emoji/tulip.png b/web/static/images/emoji/tulip.png
index b3ee1102a..a05a51edf 100755..100644
--- a/web/static/images/emoji/tulip.png
+++ b/web/static/images/emoji/tulip.png
Binary files differ
diff --git a/web/static/images/emoji/turtle.png b/web/static/images/emoji/turtle.png
index 04d1d9684..c3a628c0a 100755..100644
--- a/web/static/images/emoji/turtle.png
+++ b/web/static/images/emoji/turtle.png
Binary files differ
diff --git a/web/static/images/emoji/tv.png b/web/static/images/emoji/tv.png
index 803dc3d41..5318e2dc8 100755..100644
--- a/web/static/images/emoji/tv.png
+++ b/web/static/images/emoji/tv.png
Binary files differ
diff --git a/web/static/images/emoji/twisted_rightwards_arrows.png b/web/static/images/emoji/twisted_rightwards_arrows.png
index 25cde18b2..96e03e168 100755..100644
--- a/web/static/images/emoji/twisted_rightwards_arrows.png
+++ b/web/static/images/emoji/twisted_rightwards_arrows.png
Binary files differ
diff --git a/web/static/images/emoji/two.png b/web/static/images/emoji/two.png
index c191f8a32..a062ea93a 100755..100644
--- a/web/static/images/emoji/two.png
+++ b/web/static/images/emoji/two.png
Binary files differ
diff --git a/web/static/images/emoji/two_hearts.png b/web/static/images/emoji/two_hearts.png
index b189e9aea..48f8d88d2 100755..100644
--- a/web/static/images/emoji/two_hearts.png
+++ b/web/static/images/emoji/two_hearts.png
Binary files differ
diff --git a/web/static/images/emoji/two_men_holding_hands.png b/web/static/images/emoji/two_men_holding_hands.png
index d1099f21f..6d223a144 100755..100644
--- a/web/static/images/emoji/two_men_holding_hands.png
+++ b/web/static/images/emoji/two_men_holding_hands.png
Binary files differ
diff --git a/web/static/images/emoji/two_women_holding_hands.png b/web/static/images/emoji/two_women_holding_hands.png
index 619646c4e..313e73c7d 100755..100644
--- a/web/static/images/emoji/two_women_holding_hands.png
+++ b/web/static/images/emoji/two_women_holding_hands.png
Binary files differ
diff --git a/web/static/images/emoji/u5272.png b/web/static/images/emoji/u5272.png
index 2148253fc..90ed437d9 100755..100644
--- a/web/static/images/emoji/u5272.png
+++ b/web/static/images/emoji/u5272.png
Binary files differ
diff --git a/web/static/images/emoji/u5408.png b/web/static/images/emoji/u5408.png
index 03ab0d874..02ff557d0 100755..100644
--- a/web/static/images/emoji/u5408.png
+++ b/web/static/images/emoji/u5408.png
Binary files differ
diff --git a/web/static/images/emoji/u55b6.png b/web/static/images/emoji/u55b6.png
index ba946d3f3..091841a03 100755..100644
--- a/web/static/images/emoji/u55b6.png
+++ b/web/static/images/emoji/u55b6.png
Binary files differ
diff --git a/web/static/images/emoji/u6307.png b/web/static/images/emoji/u6307.png
index 6557f5672..307d17ad7 100755..100644
--- a/web/static/images/emoji/u6307.png
+++ b/web/static/images/emoji/u6307.png
Binary files differ
diff --git a/web/static/images/emoji/u6708.png b/web/static/images/emoji/u6708.png
index e4dfe5aa7..cf85c803b 100755..100644
--- a/web/static/images/emoji/u6708.png
+++ b/web/static/images/emoji/u6708.png
Binary files differ
diff --git a/web/static/images/emoji/u6709.png b/web/static/images/emoji/u6709.png
index cd8fb3f62..b592c12ee 100755..100644
--- a/web/static/images/emoji/u6709.png
+++ b/web/static/images/emoji/u6709.png
Binary files differ
diff --git a/web/static/images/emoji/u6e80.png b/web/static/images/emoji/u6e80.png
index 5df1cb878..4d03236ff 100755..100644
--- a/web/static/images/emoji/u6e80.png
+++ b/web/static/images/emoji/u6e80.png
Binary files differ
diff --git a/web/static/images/emoji/u7121.png b/web/static/images/emoji/u7121.png
index 25f694ed3..5f2982163 100755..100644
--- a/web/static/images/emoji/u7121.png
+++ b/web/static/images/emoji/u7121.png
Binary files differ
diff --git a/web/static/images/emoji/u7533.png b/web/static/images/emoji/u7533.png
index fc4a9901b..e2c566183 100755..100644
--- a/web/static/images/emoji/u7533.png
+++ b/web/static/images/emoji/u7533.png
Binary files differ
diff --git a/web/static/images/emoji/u7981.png b/web/static/images/emoji/u7981.png
index f550a573d..cc617fed3 100755..100644
--- a/web/static/images/emoji/u7981.png
+++ b/web/static/images/emoji/u7981.png
Binary files differ
diff --git a/web/static/images/emoji/u7a7a.png b/web/static/images/emoji/u7a7a.png
index c05f5cff7..3d0922dba 100755..100644
--- a/web/static/images/emoji/u7a7a.png
+++ b/web/static/images/emoji/u7a7a.png
Binary files differ
diff --git a/web/static/images/emoji/uk.png b/web/static/images/emoji/uk.png
index 2a62c7a08..61c03f759 100755..100644
--- a/web/static/images/emoji/uk.png
+++ b/web/static/images/emoji/uk.png
Binary files differ
diff --git a/web/static/images/emoji/umbrella.png b/web/static/images/emoji/umbrella.png
index 1db722fa6..83672dd6c 100755..100644
--- a/web/static/images/emoji/umbrella.png
+++ b/web/static/images/emoji/umbrella.png
Binary files differ
diff --git a/web/static/images/emoji/unamused.png b/web/static/images/emoji/unamused.png
index 3722e6f57..9d406ca65 100755..100644
--- a/web/static/images/emoji/unamused.png
+++ b/web/static/images/emoji/unamused.png
Binary files differ
diff --git a/web/static/images/emoji/underage.png b/web/static/images/emoji/underage.png
index a789b3c62..603ce57ea 100755..100644
--- a/web/static/images/emoji/underage.png
+++ b/web/static/images/emoji/underage.png
Binary files differ
diff --git a/web/static/images/emoji/unlock.png b/web/static/images/emoji/unlock.png
index 22b429cd0..db05d1b73 100755..100644
--- a/web/static/images/emoji/unlock.png
+++ b/web/static/images/emoji/unlock.png
Binary files differ
diff --git a/web/static/images/emoji/up.png b/web/static/images/emoji/up.png
index 829219a86..aa7974ec1 100755..100644
--- a/web/static/images/emoji/up.png
+++ b/web/static/images/emoji/up.png
Binary files differ
diff --git a/web/static/images/emoji/us.png b/web/static/images/emoji/us.png
index 38137669a..6c98de9be 100755..100644
--- a/web/static/images/emoji/us.png
+++ b/web/static/images/emoji/us.png
Binary files differ
diff --git a/web/static/images/emoji/v.png b/web/static/images/emoji/v.png
index f61267c28..0b7aa52d1 100755..100644
--- a/web/static/images/emoji/v.png
+++ b/web/static/images/emoji/v.png
Binary files differ
diff --git a/web/static/images/emoji/vertical_traffic_light.png b/web/static/images/emoji/vertical_traffic_light.png
index 7a5ba35f0..e533edda0 100755..100644
--- a/web/static/images/emoji/vertical_traffic_light.png
+++ b/web/static/images/emoji/vertical_traffic_light.png
Binary files differ
diff --git a/web/static/images/emoji/vhs.png b/web/static/images/emoji/vhs.png
index 881081c17..134e3a2c4 100755..100644
--- a/web/static/images/emoji/vhs.png
+++ b/web/static/images/emoji/vhs.png
Binary files differ
diff --git a/web/static/images/emoji/vibration_mode.png b/web/static/images/emoji/vibration_mode.png
index a716e96c6..6da565442 100755..100644
--- a/web/static/images/emoji/vibration_mode.png
+++ b/web/static/images/emoji/vibration_mode.png
Binary files differ
diff --git a/web/static/images/emoji/video_camera.png b/web/static/images/emoji/video_camera.png
index 274cecdd6..1b3514f8a 100755..100644
--- a/web/static/images/emoji/video_camera.png
+++ b/web/static/images/emoji/video_camera.png
Binary files differ
diff --git a/web/static/images/emoji/video_game.png b/web/static/images/emoji/video_game.png
index e265a3bd8..702832e99 100755..100644
--- a/web/static/images/emoji/video_game.png
+++ b/web/static/images/emoji/video_game.png
Binary files differ
diff --git a/web/static/images/emoji/violin.png b/web/static/images/emoji/violin.png
index 69347b545..0bb8e0a10 100755..100644
--- a/web/static/images/emoji/violin.png
+++ b/web/static/images/emoji/violin.png
Binary files differ
diff --git a/web/static/images/emoji/virgo.png b/web/static/images/emoji/virgo.png
index 72e1763f5..238424313 100755..100644
--- a/web/static/images/emoji/virgo.png
+++ b/web/static/images/emoji/virgo.png
Binary files differ
diff --git a/web/static/images/emoji/volcano.png b/web/static/images/emoji/volcano.png
index 9b434539b..5f2c292f0 100755..100644
--- a/web/static/images/emoji/volcano.png
+++ b/web/static/images/emoji/volcano.png
Binary files differ
diff --git a/web/static/images/emoji/vs.png b/web/static/images/emoji/vs.png
index 863638850..327337277 100755..100644
--- a/web/static/images/emoji/vs.png
+++ b/web/static/images/emoji/vs.png
Binary files differ
diff --git a/web/static/images/emoji/walking.png b/web/static/images/emoji/walking.png
index 52bc0381c..174c4d0e2 100755..100644
--- a/web/static/images/emoji/walking.png
+++ b/web/static/images/emoji/walking.png
Binary files differ
diff --git a/web/static/images/emoji/waning_crescent_moon.png b/web/static/images/emoji/waning_crescent_moon.png
index 30387780f..f9ab41111 100755..100644
--- a/web/static/images/emoji/waning_crescent_moon.png
+++ b/web/static/images/emoji/waning_crescent_moon.png
Binary files differ
diff --git a/web/static/images/emoji/waning_gibbous_moon.png b/web/static/images/emoji/waning_gibbous_moon.png
index 510099070..3b9240298 100755..100644
--- a/web/static/images/emoji/waning_gibbous_moon.png
+++ b/web/static/images/emoji/waning_gibbous_moon.png
Binary files differ
diff --git a/web/static/images/emoji/warning.png b/web/static/images/emoji/warning.png
index db6f96f02..8a5dd577a 100755..100644
--- a/web/static/images/emoji/warning.png
+++ b/web/static/images/emoji/warning.png
Binary files differ
diff --git a/web/static/images/emoji/wastebasket.png b/web/static/images/emoji/wastebasket.png
new file mode 100644
index 000000000..3baef5973
--- /dev/null
+++ b/web/static/images/emoji/wastebasket.png
Binary files differ
diff --git a/web/static/images/emoji/watch.png b/web/static/images/emoji/watch.png
index d503bb87c..50f16588a 100755..100644
--- a/web/static/images/emoji/watch.png
+++ b/web/static/images/emoji/watch.png
Binary files differ
diff --git a/web/static/images/emoji/water_buffalo.png b/web/static/images/emoji/water_buffalo.png
index 3bcde3edd..2c8fa68e8 100755..100644
--- a/web/static/images/emoji/water_buffalo.png
+++ b/web/static/images/emoji/water_buffalo.png
Binary files differ
diff --git a/web/static/images/emoji/watermelon.png b/web/static/images/emoji/watermelon.png
index fc212be78..5125aea3e 100755..100644
--- a/web/static/images/emoji/watermelon.png
+++ b/web/static/images/emoji/watermelon.png
Binary files differ
diff --git a/web/static/images/emoji/wave.png b/web/static/images/emoji/wave.png
index 56e6e822b..8a7086bd0 100755..100644
--- a/web/static/images/emoji/wave.png
+++ b/web/static/images/emoji/wave.png
Binary files differ
diff --git a/web/static/images/emoji/waving_black_flag.png b/web/static/images/emoji/waving_black_flag.png
new file mode 100644
index 000000000..d48e98fe0
--- /dev/null
+++ b/web/static/images/emoji/waving_black_flag.png
Binary files differ
diff --git a/web/static/images/emoji/waving_white_flag.png b/web/static/images/emoji/waving_white_flag.png
new file mode 100644
index 000000000..bf6124fab
--- /dev/null
+++ b/web/static/images/emoji/waving_white_flag.png
Binary files differ
diff --git a/web/static/images/emoji/wavy_dash.png b/web/static/images/emoji/wavy_dash.png
index 5a74e5c7a..3b346827b 100755..100644
--- a/web/static/images/emoji/wavy_dash.png
+++ b/web/static/images/emoji/wavy_dash.png
Binary files differ
diff --git a/web/static/images/emoji/waxing_crescent_moon.png b/web/static/images/emoji/waxing_crescent_moon.png
index c8f13dd31..7d4b5a056 100755..100644
--- a/web/static/images/emoji/waxing_crescent_moon.png
+++ b/web/static/images/emoji/waxing_crescent_moon.png
Binary files differ
diff --git a/web/static/images/emoji/waxing_gibbous_moon.png b/web/static/images/emoji/waxing_gibbous_moon.png
index 54e7ec671..b53fd4288 100755..100644
--- a/web/static/images/emoji/waxing_gibbous_moon.png
+++ b/web/static/images/emoji/waxing_gibbous_moon.png
Binary files differ
diff --git a/web/static/images/emoji/wc.png b/web/static/images/emoji/wc.png
index dfe84d2a7..b153f2c2a 100755..100644
--- a/web/static/images/emoji/wc.png
+++ b/web/static/images/emoji/wc.png
Binary files differ
diff --git a/web/static/images/emoji/weary.png b/web/static/images/emoji/weary.png
index 0c5475411..1c18789e8 100755..100644
--- a/web/static/images/emoji/weary.png
+++ b/web/static/images/emoji/weary.png
Binary files differ
diff --git a/web/static/images/emoji/wedding.png b/web/static/images/emoji/wedding.png
index ead19d52c..dda4a140f 100755..100644
--- a/web/static/images/emoji/wedding.png
+++ b/web/static/images/emoji/wedding.png
Binary files differ
diff --git a/web/static/images/emoji/weight_lifter.png b/web/static/images/emoji/weight_lifter.png
new file mode 100644
index 000000000..db6bb3d51
--- /dev/null
+++ b/web/static/images/emoji/weight_lifter.png
Binary files differ
diff --git a/web/static/images/emoji/whale.png b/web/static/images/emoji/whale.png
index 5bb113e42..cf1ecee86 100755..100644
--- a/web/static/images/emoji/whale.png
+++ b/web/static/images/emoji/whale.png
Binary files differ
diff --git a/web/static/images/emoji/whale2.png b/web/static/images/emoji/whale2.png
index 0ef4ea94f..181860530 100755..100644
--- a/web/static/images/emoji/whale2.png
+++ b/web/static/images/emoji/whale2.png
Binary files differ
diff --git a/web/static/images/emoji/wheelchair.png b/web/static/images/emoji/wheelchair.png
index eddcdd797..638696ca9 100755..100644
--- a/web/static/images/emoji/wheelchair.png
+++ b/web/static/images/emoji/wheelchair.png
Binary files differ
diff --git a/web/static/images/emoji/white_check_mark.png b/web/static/images/emoji/white_check_mark.png
index 61dc0583c..241a4f6f9 100755..100644
--- a/web/static/images/emoji/white_check_mark.png
+++ b/web/static/images/emoji/white_check_mark.png
Binary files differ
diff --git a/web/static/images/emoji/white_circle.png b/web/static/images/emoji/white_circle.png
index 3f648d1bd..84e8a43a2 100755..100644
--- a/web/static/images/emoji/white_circle.png
+++ b/web/static/images/emoji/white_circle.png
Binary files differ
diff --git a/web/static/images/emoji/white_flower.png b/web/static/images/emoji/white_flower.png
index c0929d0dd..6d1c47e91 100755..100644
--- a/web/static/images/emoji/white_flower.png
+++ b/web/static/images/emoji/white_flower.png
Binary files differ
diff --git a/web/static/images/emoji/white_large_square.png b/web/static/images/emoji/white_large_square.png
index 60cb19a13..2f6071f06 100755..100644
--- a/web/static/images/emoji/white_large_square.png
+++ b/web/static/images/emoji/white_large_square.png
Binary files differ
diff --git a/web/static/images/emoji/white_medium_small_square.png b/web/static/images/emoji/white_medium_small_square.png
index a115cdc49..7a34786e8 100755..100644
--- a/web/static/images/emoji/white_medium_small_square.png
+++ b/web/static/images/emoji/white_medium_small_square.png
Binary files differ
diff --git a/web/static/images/emoji/white_medium_square.png b/web/static/images/emoji/white_medium_square.png
index 199808bcf..f3c39550f 100755..100644
--- a/web/static/images/emoji/white_medium_square.png
+++ b/web/static/images/emoji/white_medium_square.png
Binary files differ
diff --git a/web/static/images/emoji/white_small_square.png b/web/static/images/emoji/white_small_square.png
index 24ba879f4..5b115d325 100755..100644
--- a/web/static/images/emoji/white_small_square.png
+++ b/web/static/images/emoji/white_small_square.png
Binary files differ
diff --git a/web/static/images/emoji/white_square_button.png b/web/static/images/emoji/white_square_button.png
index ad54d55c0..df974d948 100755..100644
--- a/web/static/images/emoji/white_square_button.png
+++ b/web/static/images/emoji/white_square_button.png
Binary files differ
diff --git a/web/static/images/emoji/wind_blowing_face.png b/web/static/images/emoji/wind_blowing_face.png
new file mode 100644
index 000000000..1586cb2cd
--- /dev/null
+++ b/web/static/images/emoji/wind_blowing_face.png
Binary files differ
diff --git a/web/static/images/emoji/wind_chime.png b/web/static/images/emoji/wind_chime.png
index efacf5dd4..8aee0e8bd 100755..100644
--- a/web/static/images/emoji/wind_chime.png
+++ b/web/static/images/emoji/wind_chime.png
Binary files differ
diff --git a/web/static/images/emoji/wine_glass.png b/web/static/images/emoji/wine_glass.png
index 82b0f0005..7aea60cc8 100755..100644
--- a/web/static/images/emoji/wine_glass.png
+++ b/web/static/images/emoji/wine_glass.png
Binary files differ
diff --git a/web/static/images/emoji/wink.png b/web/static/images/emoji/wink.png
index 756766dd3..d2ae627f7 100755..100644
--- a/web/static/images/emoji/wink.png
+++ b/web/static/images/emoji/wink.png
Binary files differ
diff --git a/web/static/images/emoji/wolf.png b/web/static/images/emoji/wolf.png
index c60c96895..46f054c62 100755..100644
--- a/web/static/images/emoji/wolf.png
+++ b/web/static/images/emoji/wolf.png
Binary files differ
diff --git a/web/static/images/emoji/woman.png b/web/static/images/emoji/woman.png
index 6bf0d2b12..72f7d61e2 100755..100644
--- a/web/static/images/emoji/woman.png
+++ b/web/static/images/emoji/woman.png
Binary files differ
diff --git a/web/static/images/emoji/womans_clothes.png b/web/static/images/emoji/womans_clothes.png
index aa297c7b6..1a5494267 100755..100644
--- a/web/static/images/emoji/womans_clothes.png
+++ b/web/static/images/emoji/womans_clothes.png
Binary files differ
diff --git a/web/static/images/emoji/womans_hat.png b/web/static/images/emoji/womans_hat.png
index 4cb2e6a69..33af561b3 100755..100644
--- a/web/static/images/emoji/womans_hat.png
+++ b/web/static/images/emoji/womans_hat.png
Binary files differ
diff --git a/web/static/images/emoji/womens.png b/web/static/images/emoji/womens.png
index 2fab29660..57a510e34 100755..100644
--- a/web/static/images/emoji/womens.png
+++ b/web/static/images/emoji/womens.png
Binary files differ
diff --git a/web/static/images/emoji/world_map.png b/web/static/images/emoji/world_map.png
new file mode 100644
index 000000000..799747f8f
--- /dev/null
+++ b/web/static/images/emoji/world_map.png
Binary files differ
diff --git a/web/static/images/emoji/worried.png b/web/static/images/emoji/worried.png
index bfa1856c0..c26a5f5a4 100755..100644
--- a/web/static/images/emoji/worried.png
+++ b/web/static/images/emoji/worried.png
Binary files differ
diff --git a/web/static/images/emoji/wrench.png b/web/static/images/emoji/wrench.png
index a87072ad1..64a0d6a76 100755..100644
--- a/web/static/images/emoji/wrench.png
+++ b/web/static/images/emoji/wrench.png
Binary files differ
diff --git a/web/static/images/emoji/x.png b/web/static/images/emoji/x.png
index dff9efa8b..18de93090 100755..100644
--- a/web/static/images/emoji/x.png
+++ b/web/static/images/emoji/x.png
Binary files differ
diff --git a/web/static/images/emoji/yellow_heart.png b/web/static/images/emoji/yellow_heart.png
index fa41ce78a..2deb5e6ce 100755..100644
--- a/web/static/images/emoji/yellow_heart.png
+++ b/web/static/images/emoji/yellow_heart.png
Binary files differ
diff --git a/web/static/images/emoji/yen.png b/web/static/images/emoji/yen.png
index 139bc936e..c0545520f 100755..100644
--- a/web/static/images/emoji/yen.png
+++ b/web/static/images/emoji/yen.png
Binary files differ
diff --git a/web/static/images/emoji/yum.png b/web/static/images/emoji/yum.png
index fc39637ec..7a353a7e8 100755..100644
--- a/web/static/images/emoji/yum.png
+++ b/web/static/images/emoji/yum.png
Binary files differ
diff --git a/web/static/images/emoji/zap.png b/web/static/images/emoji/zap.png
index 260c531b9..96ec4dccb 100755..100644
--- a/web/static/images/emoji/zap.png
+++ b/web/static/images/emoji/zap.png
Binary files differ
diff --git a/web/static/images/emoji/zero.png b/web/static/images/emoji/zero.png
index 6e57b3343..56e4e0672 100755..100644
--- a/web/static/images/emoji/zero.png
+++ b/web/static/images/emoji/zero.png
Binary files differ
diff --git a/web/static/images/emoji/zzz.png b/web/static/images/emoji/zzz.png
index 30be04655..05e245f20 100755..100644
--- a/web/static/images/emoji/zzz.png
+++ b/web/static/images/emoji/zzz.png
Binary files differ
diff --git a/web/templates/channel.html b/web/templates/channel.html
index 7b8f6a243..8abbe36df 100644
--- a/web/templates/channel.html
+++ b/web/templates/channel.html
@@ -26,13 +26,13 @@
<script>
window.setup_channel_page({{ .Props }}, {{ .Team }}, {{ .Channel }}, {{ .User }});
$('body').tooltip( {selector: '[data-toggle=tooltip]'} );
+ var modals = $('.modal-body').not('.edit-modal-body');
if($(window).height() > 1200){
- $('.modal-body').css('max-height', 1000);
+ modals.css('max-height', 1000);
+ } else {
+ modals.css('max-height', $(window).height() - 200);
}
- else {
- $('.modal-body').css('max-height', $(window).height() - 200);
- }
- $('.modal-body').perfectScrollbar();
+ modals.perfectScrollbar();
</script>
</body>
</html>